I find it quite elegant! The fact that you can define the IO
monad in Haskell was quite a revelation. And it's especially nice
when paired with a demonstration of C FFI (where you might *need*
to sequence side effects such as freeing a value after it has been
read).
newtype IO a = IO (State# RealWorld -> (# State# RealWorld, a #))
In a few weeks I'm giving a talk to a bunch of genomics folk at the Sanger Institute<https://www.sanger.ac.uk/> about Haskell. They do lots of programming, but they aren't computer scientists. I can tell them plenty about Haskell, but I'm ill-equipped to answer the main question in their minds: why should I even care about Haskell? I'm too much of a biased witness.I don't much like the monad solution for side-effects, but if those guys might have some knowledge of the horror of concurrent programming with locks, the STM system would be a good candidate. Stefan _______________________________________________ Haskell-Cafe mailing list To (un)subscribe, modify options or view archives go to: http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe Only members subscribed via the mailman list are allowed to post.