TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Professor Frisby's Mostly Adequate Guide to Functional Programming (2015)

529 pointsby AdrianRossouwabout 7 years ago

23 comments

jwarrenabout 7 years ago
Great book. I&#x27;d also recommend his free video course on Egghead. It&#x27;s rather quirky, which is something that I very much enjoyed: <a href="https:&#x2F;&#x2F;egghead.io&#x2F;courses&#x2F;professor-frisby-introduces-composable-functional-javascript" rel="nofollow">https:&#x2F;&#x2F;egghead.io&#x2F;courses&#x2F;professor-frisby-introduces-compo...</a>
评论 #17075591 未加载
评论 #17077470 未加载
评论 #17090565 未加载
vga805about 7 years ago
Dr. Booleans guide is excellent. Another nice intro to functional programming using JavaScript is Kyle Simpsons functional lite:<a href="https:&#x2F;&#x2F;github.com&#x2F;getify&#x2F;Functional-Light-JS&#x2F;blob&#x2F;master&#x2F;README.md" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;getify&#x2F;Functional-Light-JS&#x2F;blob&#x2F;master&#x2F;RE...</a><p>Kyle wrote the You Don&#x27;t Know JS series. This book is just as good.
christophilusabout 7 years ago
Good read. He annotates his function with Hindley-Milner type signatures (specified in comments). I really prefer this to, say, jsdoc. Anyone know if there&#x27;s a jsdoc-like tool that understands these comments? That&#x27;d be pretty swank.
评论 #17075204 未加载
评论 #17078454 未加载
dakomabout 7 years ago
The Fantasy Land spec and related libraries like Sanctuary and Fluture deserve a mention here, even if only as a next step after reading this guide.<p>It helps bridge the gap between looking at all of this from the more math&#x2F;Haskell perspective and how it&#x27;s implemented in javascript, without sacrificing definitions (as much as possible).
blindwatchmakerabout 7 years ago
Really enjoyed this book. Once you get currying, and using curried functions to pipe&#x2F;compose, everything clicks into place. I found the examples of using Nothing&#x2F;Maybe monads for error handling pretty neat as well - is that a common pattern, because I don&#x27;t remember native support for those types when I briefly dabbled in elixir.<p>Also is his explanation of monads as &#x27;functors that can flatten&#x27; a simplification for the purposes of teaching, or is that more or less what they are?
评论 #17075128 未加载
评论 #17074001 未加载
评论 #17075107 未加载
评论 #17075384 未加载
评论 #17074666 未加载
评论 #17074297 未加载
gcantiabout 7 years ago
For my fellow italians, I wrote a free &quot;Introduction to functional programming&quot; PDF, check out <a href="https:&#x2F;&#x2F;github.com&#x2F;gcanti&#x2F;functional-programming" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;gcanti&#x2F;functional-programming</a>
评论 #17073284 未加载
tomduncalfabout 7 years ago
Great book for an intro to FP if you’re a JS developer. I have a talk about it a few years ago aimed at complete newcomers to FP: <a href="http:&#x2F;&#x2F;blog.tomduncalf.com&#x2F;posts&#x2F;functional-programming-fundamentals-talk&#x2F;" rel="nofollow">http:&#x2F;&#x2F;blog.tomduncalf.com&#x2F;posts&#x2F;functional-programming-fund...</a>
tw1010about 7 years ago
This is excellent. But man, I don&#x27;t think I can ever go back to not feeling like there&#x27;s a huge pedagogical gap between the local maxima the functional programming explanations engineers are typically exposed to, and the much higher (though probably still not a global maxima) point that pure mathematicians have been adapted into. I just wish we&#x27;d embrace the geometric (topological, differential geometrical) threads that a lot of these concepts (like lifts etc) are connected to, instead of being arbitrarily tied to a pedagogy textured by the sociological context that coding originated from (i.e. heavily influenced by logicians etc).
评论 #17074619 未加载
评论 #17077449 未加载
projectileboyabout 7 years ago
Fogus wrote a whole book on functional programming in Javascript, which I recommend if you liked this.
laingaabout 7 years ago
This may be a character flaw, but I found this book&#x27;s style of teaching by mocking random snippets found in the wild really, really entertaining.
评论 #17075531 未加载
hackermailmanabout 7 years ago
Robert Harper&#x27;s &#x27;Programming in Standard ML&#x27; free pdf off his CMU page is the best intro I&#x27;ve found to really understand FP, goes into details and reasons, like the pattern matching material. Very concisely written and SML is like Scheme, easy to learn syntax perfect for teaching.
csixty4about 7 years ago
When I started looking into Functional Programming, Professor Frisby&#x27;s book was instrumental in my learning the concepts and applying them to a language I already know &amp; code in.
allenleeinabout 7 years ago
Great book, really enjoyed. For people who wanna learn more about Functional Programming (Haskell,Purescript) from 101 to building product, I recommend this resources:<p>FP Resources:<a href="https:&#x2F;&#x2F;github.com&#x2F;functionalflow&#x2F;brains&#x2F;projects&#x2F;9" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;functionalflow&#x2F;brains&#x2F;projects&#x2F;9</a>
ericyang321about 7 years ago
Excellent read for a beginner like me who wanted to learn functional programming with an already familiar language.
wodenokotoabout 7 years ago
Why does he factor out the zero valued flock of birds variable?<p>That seems extremely dishonest. The reason why we name variables, is so that they can hold different values. There is no guarantee that every run of the script will have the same initial variables. If it was, you might as well just type in the result.
tomrodabout 7 years ago
I wish I knew enough compsci to know why functional programming is useful. I read about half the book, and while interesting from a learning perspective I don&#x27;t know where I can apply it.<p>Context: self-taught programmer in the data science&#x2F;statistical modeling world.
评论 #17079907 未加载
评论 #17078925 未加载
dagurpabout 7 years ago
Excellent book. Although it says 2015 in the title it&#x27;s still actively being worked on.
0xdeadbeefbabeabout 7 years ago
Since the FP crowd is here, why is loading a program into memory, writing a register, or calling a function not seen as a side effect, but writing to disk is seen as a side effect? Or have I got it wrong?
评论 #17075603 未加载
评论 #17076495 未加载
评论 #17077401 未加载
评论 #17075507 未加载
halisabout 7 years ago
This book is very good. If you like Javascript and want to further your understanding of functional programming, then I would highly recommend it.
ponitozhekoniabout 7 years ago
Thanks.
mkirklionsabout 7 years ago
I spent about 30 minutes reading, but I didnt understand why this has 140 points and is the top thread.<p>Can anyone explain?
评论 #17073765 未加载
akuji1993about 7 years ago
Actually the course on Egghead is terrible. The voice that is used to comment on the video is very badly recorded and I have no idea why they chose that voice for a serious video for adults.<p>Edit: Also fine to not have my opinion on this, but a lot of people shared my opinion, check the Egghead comment section. I would&#x27;ve loved to watch that video, with a more professional voice and walkthrough.
评论 #17074931 未加载
评论 #17073117 未加载
评论 #17073540 未加载
评论 #17073083 未加载
评论 #17073013 未加载
评论 #17073859 未加载
评论 #17074494 未加载
tuukkahabout 7 years ago
&gt; <i>We have all the features we need to mimic a language like Scala or Haskell with the help of a tiny library or two.</i><p>Seems misleading at best, as you mimic only some parts of functional programming. For example, for-loops are not used but neither are recursion and tail calls mentioned.<p>&gt; <i>[T]yped functional languages will, without a doubt, be the best place to code in the style presented by this book. JavaScript will be our means of learning a paradigm, where you apply it is up to you.</i><p>Surprising how they teach the typed functional programming paradigm in a language which does not support you in it. Going from JavaScript to Haskell, wouldn&#x27;t PureScript be a better stepping stone than this? Consider tail call elimination or all the support that type checking gives you to get the type nestings right, especially when you are a beginner and may have issues even with String being [Char] (unlike JavaScript) let alone Monads etc.<p><i>(EDIT: In case you didn&#x27;t check the contents of the book: Yes, this is a book that teaches Monads, type classes, pointfree style, Hindley-Milner(!) etc., not a form of FP that would be natural in JS.)</i>
评论 #17074620 未加载
评论 #17079248 未加载