
Hello! [a somewhat older mail] On Mon, Nov 27, 2000 at 08:53:05PM +0100, Michal Gajda wrote:
[...]
I often use Haskell in imperative style(for example writting a toy [...]
I also do. Perhaps not super-often, but more than once. - A program to interface to BSD's /dev/tun* and/or /dev/bpf* to simulate network links with losses/delays (configurable). ~150 lines of C + ~ 1700 lines of Haskell with some GHC extensions. One efficiency optimization was that I used network buffers constructed out of MutableByteArray#s together with some administrative information (an offset into the MBA to designate the real packet start - necessary to leave room for in-place header prefixing / removal, the real packet length, the buffer length ...). Written single threaded with manual select calls (no conc Haskell). - HTTP testers (two of them with slightly different tasks). - file generators/translators (diverse, e.g. a generator for test scripts for one of the above-named HTTP tester) Of course, the latter often are something like foo <- readFile bar let baz = process_somehow foo writeFile blurb baz Kind regards, Hannah.