To be fair, loeb was already a generalization of fix. If `f` is the identity functor, then `loeb` has type `(a -> a) -> a`, and the `fmap` used in its definition resolves to `id`.
It's a shame there aren't any other example applications of moeb. The author mentions using `traverse` and `foldMap`, but those are also based fundamentally on `fmap` in some sense, and I wouldn't be too surprised if they also ended up being literally `fmap` for some specific choice of functor.
This stuff is really cool; I’ve literally written an article about it myself. However, unless you address the possibility of entering an infinite loop, it’s not really that useful.
very useful when writing toy assemblers in Haskell as loeb let's you easily resolve labels to addresses once you've output the other instructions. Also a good use of the tardis monad which does the same thing as loeb but with a bit more panache
> This shows how moeb is a generalization of fix.
To be fair, loeb was already a generalization of fix. If `f` is the identity functor, then `loeb` has type `(a -> a) -> a`, and the `fmap` used in its definition resolves to `id`.
It's a shame there aren't any other example applications of moeb. The author mentions using `traverse` and `foldMap`, but those are also based fundamentally on `fmap` in some sense, and I wouldn't be too surprised if they also ended up being literally `fmap` for some specific choice of functor.
(2013) Popular in:
2021 (153 points, 60 comments) https://news.ycombinator.com/item?id=34578411
2018 (86 points, 10 comments) https://news.ycombinator.com/item?id=18159087
This stuff is really cool; I’ve literally written an article about it myself. However, unless you address the possibility of entering an infinite loop, it’s not really that useful.
Reminds me of this classic doing the same: http://blog.sigfpe.com/2006/11/from-l-theorem-to-spreadsheet...
Uuh i miss the strange loop conference. It was simply the best and most fun programming related conference ever.
very useful when writing toy assemblers in Haskell as loeb let's you easily resolve labels to addresses once you've output the other instructions. Also a good use of the tardis monad which does the same thing as loeb but with a bit more panache