Haskell-awk (Hawk) is a text processing tool that treats input streams as sequences of records similar to awk, but uses the Haskell programming language instead of Awk's programming language. It allows defining programs as Haskell expressions that can be lazily evaluated and composed using functions. Hawk aims to be fast by caching the compiled Haskell context and only recompiling when needed. It uses the haskell-src-exts and hint libraries to parse, interpret, and run Haskell programs on input streams.