Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

For me learning Haskell has been a great way to expose myself to things that were previously "unknown unknowns". I do a mix of coding, for intuition, and reading papers, for theoretical context. The papers written by SPJ et al in the 1990-2000s give a remarkably clear history of how certain functional programming concepts jumped the gap from CS theory to practical implementation in Haskell.

Just as assembly gives as close to a "bare metal" view of hardware as many of us will ever come, languages like Haskell and Lisp give a "bare metal" view of CS theory.



Seeing SPJ refreshed very fond memories for me :-).

I accidentally stumbled onto Haskell in my masters course. On the first day at university I attended a trial class of functional programming[1] course and instantly liked the way professor taught. However, I didn't take the course then and forgot all about it. The next semester I took compilers course and approached that professor for my masters thesis. During a meeting he gave me couple of options one of which was in functional programming domain. This time I took the plunge and went all in. Took the FP course and the professor who taught FP became my thesis advisor. The next two years were the most intense and intellectually satisfying years of my life. Not only did I learn Haskell but also built a compiler for it. I still get goosebumps remembering the rollercoaster ride I had in those two years.

During all that, the book by SPJ [2] became my constant companion. The book was actually out of print but my advisor had a book that was signed by SPJ himself :-). And I promptly photocopied it so I have it with me even to this day.

Suffice to say Haskell, lambda calculus along with SPJ and my advisor have had a lasting (and continue to) influence my life.

[1] https://www.cse.iitb.ac.in/~as/fpcourse/fpcourse.html

[2] https://www.microsoft.com/en-us/research/wp-content/uploads/...


Thanks! this looks really good. The fact that you did your programming class in IIT Bombay further motivates to work hard for my "dreams".




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: