The Evolution of a Haskell Programmer (2001)
pages.cpsc.ucalgary.ca
pages.cpsc.ucalgary.ca
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 -- works for all 32-bit integers
fac n = [1,1,2,6,24,120,720,5040,40320,362880,3628800,39916800,479001600]!!nfac n = (scanl (*) 1 [1..]) !! n
https://drive.google.com/file/d/1lPnQiik5cAx0X2E3GNbw_Oaug87...
I wrote more, but it got too silly.
They post docs.
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.
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.
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-...
We shouldn't mistake memes for actual insight.
Wait until you want debug output in a deeply nested function that isn't already in the IO monad.
https://hackage.haskell.org/package/base-4.19.1.0/docs/Debug...
This is why Haskell tutorials tend to have 100 pages of dense type-theory before getting to “hello world”, while other languages have that on the first page.
https://wiki.haskell.org/Haskell_in_5_steps#Write_your_first...
or this one
https://riptutorial.com/haskell/example/898/hello--world-
Can you link to the one that has 100 pages before getting to “hello world”?
No Haskell tutorials that I know of take long to reach "hello world", which is in fact a shorter program in Haskell than in some mainstream programming languages.
Also the practical joke is largely independant from haskell. It's pretty much an example of shuhari principles applied.
(Further context: in the discussion Haskell is described as starting out useless and carefully approaching useful. Other languages start with the footguns and then retrofit useful limitations from the other end!)
Why would one assume the invalid certificate is caused by that particular professor instead of the IT department's staff at the University of Calgary?
Yeah, academics are only interested in producing silly papers to justify expensive trips to exotic conference locations.
Meanwhile, industry produces important and useful stuff like Scrum™ Poker-planning estimates and Jira®-powered burndown charts to track completion of their Confluence© fully-documented user-stories.
> The Authority on Professional LEGO Serious Play.