3 ms·
Which easy thing do you think is hard to do in Haskell?
by yakshaving_jgt 6y ago
Which easy thing do you think is hard to do in Haskell?
- lupire 6y agoPrinting is the classic answer. Mutable arrays, for the clever people who know how or print. Also, looking at the article, the cryptic "fix" operator for making a cyclic structure. Elegant, beautiful, efficient, but mysterious.
- yakshaving_jgt 6y agoPerhaps I’m missing something, but printing stuff in Haskell seems pretty simple. print “hello world” As for mutable arrays, is there something wrong with Data.Array.MArray from the array[0] library? [0]: https://hackage.haskell.org/package/array-0.5.4.0 https://hackage.haskell.org/package/array-0.5.4.0
- tome 6y agoHere's a cyclic structure. Seems very easy to me. No cryptic operator required! let one_zeros = 1 : zero_ones zero_ones = 0 : one_zeros
- Y_Y 6y agoMonadic anamorphisms
- yakshaving_jgt 6y agoAre you suggesting monadic anamorphisms are easy in other languages but hard in Haskell? Could you give an example for comparison?
- Y_Y 6y agoI was being facetious, you can certainly do stuff like anamorphisms easily in other languages, but the hard work of pulling out and expressing the abstraction is definitely a job for Haskell. Anyway here's one from Data.Functor.Foldable.Exotic just for fun: anaM :: (Corecursive t, Traversable (Base t), Monad m) => (a -> m (Base t a)) -> (a -> m t) anaM psi = a where a = (fmap embed . traverse a) <=< psi