Paul Hudak, co-creator of Haskell, has died(messages.yale.edu) |
Paul Hudak, co-creator of Haskell, has died(messages.yale.edu) |
RIP. What a great mind =/
Also, I motion for a black bar.
http://web.archive.org/web/20111006185350/http://news.ycombi...
[1] orange unless you've got enough karma to set it to some other value
[2] significant to computing is not the right phrase here, sorry for clumsiness.
For those who don't know, a black bar is for people that die that HN honors by changing the `topcolor` color to black. You can do it yourself in your profile.
Fun history trivia: A few years ago the black bar used to be on top of the topbar. [0,1] Now it looks like this [2]
[edit] I can't find any very recent deaths that confirm the change so I may be wrong. Whoops.
[0] Steve Jobs, http://web.archive.org/web/20111006185350/http://news.ycombi...
[1] Dennis Ritchie, http://web.archive.org/web/20111013063604/http://news.ycombi...
[2] Tampermonkey Script https://gist.github.com/ultimapanzer/68f601ef9ab7f599d3ce
[0] http://www.caringbridge.org/visit/hudak/journal/view/id/5538...
Independent to his contributions to the industry that I now love; I knew him as an extremely friendly and energetic person. He was well liked by all who came in contact with him and his absence will be wide felt.
He will be missed!
My guide for learning Haskell is here: https://github.com/bitemyapp/learnhaskell
You can get help in the IRC channel if you'd like as well. I don't recommend using LearnYouAHaskell.
I feel a bit bad as Hudak's books were the only ones I hadn't checked out before starting on my book. Rectifying that soon.
Very sad news indeed.
Here are some links which might help:
http://www.haskellforall.com/2014/10/how-to-desugar-haskell-...
https://github.com/kqr/gists/blob/master/articles/simple-syn...
Sad news.
Be thou the rainbow in the storms of life.
The evening beam that smiles the clouds away,
and tints tomorrow with prophetic ray. No man is an island entire of itself; every man
is a piece of the continent, a part of the main;
if a clod be washed away by the sea, Europe
is the less, as well as if a promontory were, as
well as any manner of thy friends or of thine
own were; any man's death diminishes me,
because I am involved in mankind.
And therefore never send to know for whom
the bell tolls; it tolls for thee.
–John Donne
https://web.cs.dal.ca/~johnston/poetry/island.htmlI was reading this a couple days ago: http://www.macstories.net/stories/life-after-cancer-how-the-...
It makes me wonder if in the very near future wearables will help give people enough added feedback, etc so they might get a few extra years. I'm sure someone with Paul's abilities had a lot more to contribute.
I'll never forget the feeling of awe I had in one of his classes when he showed us that the function `fix`, defined as `fix f = f (fix f)`, could in fact be used to compute things!
:-(
If you're interested in functional programming, I highly recommend it. It explains many of the things that you've heard about FP, and it very well written.
http://yaledailynews.com/blog/2015/04/30/hudak-spirited-sayb...
I particularly remember a short application I had to write down on paper on the exam; I did it well enough and I thought what I wrote was so beautiful and simple... I think Haskell developers will know what I'm talking about. The best applications almost look like magic.
If Haskell was a traditional writen language, I think it would have been pretty well known and studied, like hieroglyphs or some other language carving out its own niche. Sometimes I feel like this whole programming world has so many interesting, exciting, and thought provoking things going on within it that the rest of the world will never come to know. Haskell was one of those things to me and I think it's unfortunate that it's such a closed world.
I believe I am better off because of Paul and I am sure many more feel the same way.
P.S. I want to study algorithms too but I'm just a beginner and the priority is mathematics (as it's one of the few subjects I seem to be able to concentrate on). I found a secondhand copy of Professor Sedgewick's book for ten euros, it's the manual for one of his MOOCs , should I go with it?
That said, I don't know that I'd recommend it to someone who has just started programming. I think that it'd be harder to appreciate it, since a lot of the rules that Haskell breaks / puts in place aren't things you've run into too often.
I'd recommend becoming at least relatively familiar with normal programming paradigms and then giving Haskell a go. It certainly deserves your time, but without proper appreciation of what exactly it does, I think its unforgiving nature could become discouraging.
edit: Of course, if you find normal paradigms boring / uninteresting, Haskell may be just the place for you. It's also really, really good for mathematic applications.
If you are more interested in linear algebra or numerics, I would suggest to get to know numpy better.
I've been teaching a bit, and what worked was to start with Racket on How to Design Programs (http://www.ccs.neu.edu/home/matthias/HtDP2e/part_prologue.ht...) for a while and then switch over to Haskell material, like Learn You a Haskell.
Racket is a great language too in itself, and has terrific material for beginners.
That alone justifies going out of your way to learn it.
Definitely, do all the exercises in any programming book you are trying to learn from. In some sense, the exercises are the meat of any such book, and the rest is just supporting material.
Some people even start a new chapter with a look at the end-of-chapter exercises, try their hands at them for a few minutes. They'll most likely fail, but one gets a better perspective of what to watch out for in the chapter.
Based on my experience the recommendations are good, but when working on material like this on your own it is a slog because both of these courses are designed to be taught live. So beware. However they are probably the best courses available online. It seems someone (maybe me someday!) needs to do an equivalent of "RailsCasts" for Haskell to make this more accessible.
The NICTA course contains hard exercises building various functors, including transformers. It's a mind bender and oddly I had code that worked because the types matched up but I had no intuition as to why it actually worked! But it does raise your game to a new level.
Definitely, this is why we're working on a book. We acknowledge cis194 and NICTA course are difficult and designed to be done as part of a class. That's also why we suggest Thompson's book as a fallback.
There isn't a book designed for an independent reader that we're happy with at present.
>The NICTA course contains hard exercises building various functors, including transformers
These things must be covered if you want to use Haskell in anger. One thing I would change in NICTA course if given the option is to make the transformers tutorial have a smoother ramp. State/StateT could be built up to via Writer/Reader and the transformer versions thereof.
That the NICTA course confronts these (Functor, Applicative, Monad, Monad transformers) and is rigorous in covering the basics along with those topics is what makes it so valuable. Most other materials either don't cover them or don't provide proper exercises.
"Show & Tell" is not good enough for getting people comfortable with these tools and sadly that's the mistake a lot of resources for Haskell make. You have to make exercises that make learners manipulate and see the structure of how these things work.
We'll have it available for early access by the time LambdaConf happens if nothing goes badly.
I think the difficulty is a rite of passage to become a functional programmer, however smoother ramps would help, and I am sure your book will be a great help and is much needed.
Oh sure, I didn't figure you were. I just wanted (other) people to understand that, yes, we're aware of the friction and difficulties and that we're working on it.
>I think the difficulty is a rite of passage to become a functional programmer
Hum. There's some place and purpose for this, such as with professional fields like law and medicine. I'm not sure add'l difficulty beyond what is essential to understanding the material is valuable except as a historic social "glue" for embattled/relatively small programming language communities like Haskell and ML.
>I am sure your book will be a great help and is much needed.
We hope so and believe it'll be an improvement. We've been testing the material pretty aggressively with people completely new to programming. We're going to start testing with people that already code but don't know FP soon.
If the book sells well enough, we've got follow-up books in mind (4+ in the queue).