Advanced Functional Programming - Fall 2006
These pages are a record of the in-class discussions for the graduate class "Advanced Functional Programming" given at Harvard University in the Fall of 2006.Table of Contents | Learn You Some Erlang for Great Good!
Submitted by korfuri
This is the beginning of Learn You Some Erlang for Great Good! Reading this tutorial should be one of your first steps in learning Erlang.
Follow the links and be prepared to have your mind moderately blown.Jack Cough on Software: Teaching Functional Programming To Kids
http://www.lilyapp.org/about/Functional Programming for Everyday .NET Development
Comparison of the LISP and HASKELL (functional) languages
Interesting read on some programming languages I hadn't heard of until today, they are still very useful apparentlyHow I finally understood the Y Combinator (and blew my damn mind) « noeit
I never expected to see this. When I started my career, Object-Oriented Programming (OOP) was going mainstream. For many problems, it was and still is a natural way to modularize an application. It grew to (mostly) rule the world. Now it seems that the supremacy of objects may be coming to an end, of sorts.
talking about object oriented programming and functional programming...leads you to believe the best designs leverage both.
Hybrid languages = OOP FP. CouchDB Map-Reduce Concurrency
In the comments: "On the computer science front, pure OO, based on late-binding and message sends has always built on functional ideas and encourages a declarative programming style. Lisp and Smalltalk have much in common. The best way to look at it is that a function can be an object too. So I see no or very little conflict between OO and functional programming. The real issue is that pure OO has been viewed (rightly so) as a disruptive technology. The incumbent technology base, built on C and Unix have found ways to neutralise the potential disruptive effect and hold on to their market. As a consequence we have spent the last 20 years using curly bracket languages that are ‘OO’ in name only. [...] Pure OO is still in obscurity. Languages like Ruby and Python show what is possible with Pure OO ideas and late-binding, but they do not extend these ideas or take them even as far as Smalltalk did."
The fact is, for a lot of these applications, it’s just data. The ceremony of object wrappers doesn’t carry its weight. Just put the data in a hash map (or a list if you don’t need the bits “labeled”) and then process the collection with your iterate, map, and reduce functions. This may sound heretical, but how much Java code could you delete today if you replaced it with a stored procedure?wu.js
map reduce, iterator, range and more functional language feature