/fpg/ Functional Programming General

Functional programming

Resources:
>Erlang
learnyousomeerlang.com/content
>>Elixir
chimera.labs.oreilly.com/books/1234000001642/index.html
elixir-lang.org/learning.html
>F#
fsharp.org/learn
>Haskell
en.wikibooks.org/wiki/Haskell
0x0.st/pbp.pdf
>Lisps
>>Common Lisp
gigamonkeys.com/book
cs.cmu.edu/~dst/LispBook/book.pdf
Paul Graham's ANSI Common Lisp
On Lisp
Common Lisp Recipes
Land of Lisp
>>Clojure
braveclojure.com/foreword/
The joy of Clojure
>>Scheme
Little Schemer
The Seasoned Schemer
The Scheme Programming Language by Kent Dybvig
Realm of Racket
Lisp in Small Pieces
>OCaml
realworldocaml.org/
ocaml.org/learn/tutorials/
>Scala
Functional Programming in Scala (Chiusano and Bjarnason)
Atomic Scala (Eckel and Marsh)
Programming Scala (Wampler and Payne)
Programming in Scala (Odersky, Spoon and Venners)
>Web languages
>>Elm
guide.elm-lang.org/
>>PureScript
purescript.org/learn/

>Theory
SICP
Essentials of Programming Languages
Practical Foundations for Programming Languages: cs.cmu.edu/~rwh/pfpl.html
How to Design Programs: ccs.neu.edu/home/matthias/HtDP2e/
Art of the Propagator
An Introduction to Functional Programming Through Lambda Calculus

Other urls found in this thread:

yannesposito.com/Scratch/en/blog/Haskell-the-Hard-Way/
youtube.com/watch?v=RqFgtYrw4J8#t=11m40s
neilvandyke.org/sicp-texi/
twitter.com/NSFWRedditGif

first

post a haskell crash course for me. I only know normal programming

>protip you cant

yannesposito.com/Scratch/en/blog/Haskell-the-Hard-Way/

it's fp thread, not general

kys yourself

it was always /fpt/ from the first days

op here my bad

are you going to fix it?

>tfw no decent scheme or racket WM

it's just gonna 404 anyway whatever

Is JavaScript functional programming?

If you program it properly literally everything is encapsulated by an anonymouse function

youtube.com/watch?v=RqFgtYrw4J8#t=11m40s

Is a closure just a function that returns a lambda?

>SICP
Fun fact: This exists in info format: neilvandyke.org/sicp-texi/

Almost. A closure is when the function that gets returned can reference things inside of the function that created it.

Ah I see. So the returned function has its own sort of embedded scope.

Yep! It's a way of having a function own some bit of data it can use before actually calling it.

It's mixed paradigm. But you can't program in it in a super-functional way if you want to be reasonably efficient.

A good idea is to make the small-scale functional, and the large scale OO. Particularly with ES6.

Going full imperative OO means you have a nightmarish number of moving parts, and functional everything is very hard to organize and slow because JavaScript doesn't yet have things to deal with that. (Though, I like to think it might happen eventually)

>info

Ebooks in Emacs.
Nobody likes them, but they are kind of nice sometimes.

I also have one for the Common Lisp Hyperspec that lets me jump to definitions for functions and macros under my cursor in source files.

functional programming is gay