├── .gitignore ├── README.html ├── README.md ├── docs ├── func-idioms-c++.pdf ├── func-idioms-c++.tex ├── func-idioms-c++.toc ├── pp-fp-1.pdf ├── pp-fp-1.tex ├── pp-fp-2.pdf └── pp-fp-2.tex ├── html ├── cmsy10-c-46.png ├── cmsy10-c-4c.png ├── cmsy10-c-5a.png ├── func-idioms-c++.css ├── func-idioms-c++.html ├── func-idioms-c++0x.png ├── func-idioms-c++10x.png ├── func-idioms-c++11x.png ├── func-idioms-c++12x.png ├── func-idioms-c++13x.png ├── func-idioms-c++14x.png ├── func-idioms-c++15x.png ├── func-idioms-c++16x.png ├── func-idioms-c++1x.png ├── func-idioms-c++2x.png ├── func-idioms-c++3x.png ├── func-idioms-c++4x.png ├── func-idioms-c++5x.png ├── func-idioms-c++6x.png ├── func-idioms-c++7x.png ├── func-idioms-c++8x.png └── func-idioms-c++9x.png └── src ├── applicative_functor.cpp ├── applicative_functor.hpp ├── bind.cpp ├── bracket.cpp ├── bracket.hpp ├── bracket_helper.hpp ├── curry.cpp ├── curry.hpp ├── curry_helper.hpp ├── either.cpp ├── either.hpp ├── either_monad.cpp ├── either_monad.hpp ├── fold.hpp ├── forward_zip_list.hpp ├── functor.cpp ├── functor.hpp ├── future_value.cpp ├── future_value.hpp ├── future_value_monad.cpp ├── future_value_monad.hpp ├── lambda.cpp ├── list_of_ptr.hpp ├── main.cpp ├── makefile ├── map.cpp ├── map.hpp ├── maybe.cpp ├── maybe.hpp ├── maybe_monad.cpp ├── maybe_monad.hpp ├── monad.cpp ├── monad.hpp ├── mpc.cpp ├── mpc.hpp ├── proto.hpp ├── raw_pointer.hpp ├── rpl ├── show.hpp ├── snippets.txt ├── state.cpp ├── state.hpp ├── state_monad.cpp ├── state_monad.hpp ├── thunk.cpp ├── thunk.hpp ├── trans.cpp ├── unary_op.hpp ├── value_pack.hpp ├── w.cpp ├── w.hpp ├── zip.hpp └── zip_list.hpp /.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | *# 3 | .#* 4 | *.o 5 | *.abcl 6 | *.lx64fsl 7 | *.fasl 8 | .DS_Store 9 | build/ 10 | obj/ 11 | bin/ 12 | *.aux 13 | *.log 14 | *.gz 15 | *dvi 16 | *idv 17 | *4ct 18 | *aux 19 | *log 20 | *tc 21 | *xref 22 | *lg 23 | *tmp 24 | -------------------------------------------------------------------------------- /README.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | 6 |This repository contains my attempt to explore basic functional programming in C.
199 | 200 |