11 ms·
In functional programming: [0] The Structure and Interpretation of Computer Programs [1] The_Little_Schemer [2] Programming in Haskell - Graham Hutton [3] T
by allenleein 8y ago
In functional programming:
[0] The Structure and Interpretation of Computer Programs
[1] The_Little_Schemer
[2] Programming in Haskell - Graham Hutton
[3] Types and Programming Languages-Benjamin C. Pierce
--- PDFS
[0](https://github.com/allenleein/brains/blob/master/Zen-of-Functional-Programming/(883)The%20Structure%20and%20Interpretation%20of%20Computer%20Programs.pdf https://github.com/allenleein/brains/blob/master/Zen-of-Func...)
[1](https://github.com/allenleein/brains/blob/master/Zen-of-Functional-Programming/The_Little_Schemer_4th.pdf https://github.com/allenleein/brains/blob/master/Zen-of-Func...)
[2](https://github.com/allenleein/brains/blob/master/Zen-of-Functional-Programming/Programming%20in%20Haskell%20-%20Graham%20Hutton.epub https://github.com/allenleein/brains/blob/master/Zen-of-Func...)
[3](https://github.com/allenleein/brains/blob/master/Zen-of-Functional-Programming/Types%20and%20Programming%20Languages-Benjamin%20C.%20Pierce.pdf https://github.com/allenleein/brains/blob/master/Zen-of-Func...)
- acidictadpole 8y agoFrom someone interested in learning more functional programming, could you provide a bit more detail about what each book provides?
- ekr 8y agoI would also add "ML for the working programmer", which is, perhaps surprisingly, more about functional programming than the particularities of ML. In any case, it is a great book.
- eatonphil 8y agoIt is one of the only accessible texts on Standard ML, I'll give it that... But it goes neither deep nor wide in content. I did not find it very useful.
- hackermailman 8y agoSome other texts w/SML: The Little MLer: http://www.ccs.neu.edu/home/matthias/BTML/ http://www.ccs.neu.edu/home/matthias/BTML/ which you can read with the revised Programming in SML http://www.cs.cmu.edu/~rwh/isml/book.pdf http://www.cs.cmu.edu/~rwh/isml/book.pdf Discrete Math & Functional Programming: https://cs.wheaton.edu/~tvandrun/dmfp/ https://cs.wheaton.edu/~tvandrun/dmfp/ Parallel & Sequential Algorithms uses SPARC which is similar to SML for examples in the book http://www.parallel-algorithms-book.com/ http://www.parallel-algorithms-book.com/
- jahan 8y agoOn top Scala programming books see: http://www.aioptify.com/top-scala-books.php http://www.aioptify.com/top-scala-books.php On Erlang programming books see the following list: http://www.aioptify.com/top-erlang-programming-books.php http://www.aioptify.com/top-erlang-programming-books.php
- charlysl 8y agoI am not an expert, but maybe because of that I believe that I can offer valuable advice to those who are totally new to functional programming (or feel that they are missing something), and want to get the core basics down cold without getting drowned in accidental complexity, do yourself a favor and start with edx's free moocs "How To Code" [1] [2], which are based on "How To Design Programs" [3]. After that, you will cruise through the recommended classics above. If interested in why if you are an FP newbie said material is superior to SICP , read the pdf paper "The Structure and Interpretation of the Computer Science Curriculum" [4] [1] https://www.edx.org/course/how-code-simple-data-ubcx-htc1x https://www.edx.org/course/how-code-simple-data-ubcx-htc1x [2] https://www.edx.org/course/how-code-complex-data-ubcx-htc2x https://www.edx.org/course/how-code-complex-data-ubcx-htc2x [3] https://htdp.org/ https://htdp.org/ [4] https://www2.ccs.neu.edu/racket/pubs/jfp2004-fffk.pdf https://www2.ccs.neu.edu/racket/pubs/jfp2004-fffk.pdf
- Serow225 8y agoThank you so much, that sounds like exactly what I need to make a (successful this time) deep dive into FP. Cheers!
- newacctjhro 8y agoI would add Concepts, Techniques, and Models of Computer Programming. It's about programming paradigms in general, and helps in contextualizing functional programming in a broader context https://www.info.ucl.ac.be/~pvr/book.html https://www.info.ucl.ac.be/~pvr/book.html
- charlysl 8y agoThis book is indeed mind blowing, and after reading it I find all those FP vs OO arguments sterile. As you say, this book makes you understand that it's all a trade-off. In fact what this book does is advocate multiparadigm languages (actually the author dislikes the term paradigm, multiple programming models would be more acurate), and explains in great detail how to decide which to use when, and how to mix different paradigms (ehem, models) with the very powerful technique of impedance matching.
- smittywerben 8y agoThanks for this. I do not see enough context in school.
- spatulon 8y agoI just finished re-reading SICP. If you're going to read it on a screen, I recommend this version: http://sarabander.github.io/sicp/ http://sarabander.github.io/sicp/ I'm 1/3 of the way through The Little Schemer. So far, it's not taught me anything I didn't already grok from SICP. I hope it picks up!
- rbonvall 8y agoI cruised through most of it. But the last three chapters really twisted my brain (continuations, the Y combinator, and the metacircular interpreter). I was familiar with the concepts, but figuring out the programs by myself was a tough exercise (I haven't read SICP though).
- btschaegg 8y ago> If you're going to read it on a screen, I recommend this version: http://sarabander.github.io/sicp/ http://sarabander.github.io/sicp/ Thank you very much for the link! :) Opening it on my phone, this paragraph on the available ebook formats very much made my day: > A 386 can, in theory, run Linux, Emacs, and a Scheme interpreter simultaneously, but most 386s probably can’t also run both Netscape and the necessary X Window System without prematurely introducing budding young underfunded hackers to the concept of thrashing.
- senderista 8y agoTrust me, it will :) The last few chapters on CPS and the Y combinator are roughly a vertical segment on an otherwise nearly horizontal learning curve.