6 ms·
The Evolution of a Haskell Programmer (2001)
- deleted 3y ago[deleted]
- VMG 3y agohttps://archive.is/CbAXN https://archive.is/CbAXN for those that get a cert error
- tromp 3y agoChurch Numeral oriented Haskell Programmer: three = \f x -> f (f (f x)) fac = \n f -> n (\f n -> n (f (\f x -> n f (f x)))) (\x -> f) (\x -> x) main = print $ fac three (+ 1) 0
- tankfeeder 3y agoEvolution of Picolisp coder. [https://git.envs.net/mpech/tankf33der/raw/branch/master/version.l https://git.envs.net/mpech/tankf33der/raw/branch/master/vers...]
- 7thaccount 3y agoHow often do you code in pico lisp? I think it's a neat project, but haven't really found a use yet.
- Vosporos 3y ago"fac n = product [1..n]" is still something I use at times. It's a beautiful line of code.
- quchen 3y agoPlus it fuses the list creation and consumption, there is no list in the compiled program.
- Tabular-Iceberg 3y agoThe invalid certificate and the oddball text encoding is illustrative of the Haskell programmer's inability to cope with practical computing problems.
- lukan 3y agoIt is from 2001. And maybe not maintained anymore. Probably also a possible explanation.
- Tabular-Iceberg 3y agoThe meme that Haskellers never accomplish anything practical is probably even older, maybe as old as the language itself.
- lynx23 3y agoThe meme likely comes from a time when monads (and therefore IO) were not invented yet.
- bazoom42 3y agoYeah, after monads were invented Haskell have conquered the world through its reputation as a practical “get things done” language.
- Symmetry 3y agoAs "A Brief, Incomplete, and Mostly Wrong History of Programming Languages" put it: 1990 - A committee formed by Simon Peyton-Jones, Paul Hudak, Philip Wadler, Ashton Kutcher, and People for the Ethical Treatment of Animals creates Haskell, a pure, non-strict, functional language. Haskell gets some resistance due to the complexity of using monads to control side effects. Wadler tries to appease critics by explaining that "a monad is a monoid in the category of endofunctors, what's the problem?" https://james-iry.blogspot.com/2009/05/brief-incomplete-and-mostly-wrong.html https://james-iry.blogspot.com/2009/05/brief-incomplete-and-...
- deleted 3y ago[deleted]
- osclarto 3y agoI'm glad I don't work with any post-doc Haskell programmers
- vrnvu 3y agoThey don't _work_ either :P
- fuzztester 3y agoThey do work. They post docs.
- ykonstant 3y agoI have a similar list of FizzBuzzes in Lean from when I started programming in that language: https://drive.google.com/file/d/1lPnQiik5cAx0X2E3GNbw_Oaug87FNIOi/view?usp=sharing https://drive.google.com/file/d/1lPnQiik5cAx0X2E3GNbw_Oaug87... I wrote more, but it got too silly.
- quickthrower2 3y agoThere is a Y Combinator in there!
- deleted 3y ago[deleted]
- GuB-42 3y agoAs a C programmer, I think it is missing something like -- works for all 32-bit integers fac n = [1,1,2,6,24,120,720,5040,40320,362880,3628800,39916800,479001600]!!n
- tromp 3y agoIt does have the non-truncated equivalent "Memoizing Haskell programmer"'s fac n = (scanl (*) 1 [1..]) !! n
- jayceedenton 3y agoMy first thought was, "Needs more monads". Sure enough, in the commentary: > Monads are woefully un-represented here; I would be grateful if someone could contribute a few (progressive) examples in the spirit of the development above.
- jayceedenton 3y ago> fac n = product [1..n] This is a beautiful line of code. In all seriousness, I'd probably prefer to find the Junior or "Another junior" version if I was browsing a project.