Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What's a good beginning text on functional programming? [closed]

I like to study languages outside my comfort zone, but I've had a hard time finding a place to start for functional languages. I heard a lot of good things about Structure and Interpretations of Computer Programs, but when I tried to read through it a couple of years ago it just seemed to whiz over my head. I do way better with books than web sites, but when I visit the local book store the books on LISP look kind of scary.

So what's a good starting point? My goal is to be able to use a functional programming language to solve simple problems in 6 months or so, and the ability to move to more advanced topics, recognize when a functional language is the right tool for the job, and use the language to solve more problems over the course of 2-3 years. I like books that are heavy on examples but also include challenges to work through. Does such a thing exist for functional languages?

like image 210
OwenP Avatar asked Aug 22 '08 18:08

OwenP


People also ask

What is functional programming in simple words?

Functional programming languages are specially designed to handle symbolic computation and list processing applications. Functional programming is based on mathematical functions. Some of the popular functional programming languages include: Lisp, Python, Erlang, Haskell, Clojure, etc.

What is true functional programming?

Functional programs do not have assignment statements, that is, the value of a variable in a functional program never changes once defined. This eliminates any chances of side effects because any variable can be replaced with its actual value at any point of execution.


2 Answers

The Little Schemer teaches recursion really well, and it's fun and simple to read.

I also liked The Scheme Programming Language for a broader introduction into the language.

like image 64
mk. Avatar answered Oct 19 '22 02:10

mk.


Try Real World Haskell. It's free online.

like image 21
jfs Avatar answered Oct 19 '22 04:10

jfs