4 ms·
Haskell is this kind of language which makes hard things easy when you are smart and easy things hard for everyone else.
by jhoechtl 6y ago
Haskell is this kind of language which makes hard things easy when you are smart and easy things hard for everyone else.
- yakshaving_jgt 6y agoWhich 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