147 lines
23 KiB
Plaintext
147 lines
23 KiB
Plaintext
[38;2;255;187;0m[4mAwesome Functional Programming [0m[38;5;14m[1m[4m![0m[38;2;255;187;0m[4mAwesome[0m[38;5;14m[1m[4m (https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)[0m[38;2;255;187;0m[4m (https://github.com/sindresorhus/awesome)[0m
|
||
|
||
[38;5;12mBased on the [39m[38;5;14m[1mAwesome[0m[38;5;12m (https://github.com/sindresorhus/awesome/) project[39m
|
||
|
||
[38;2;255;187;0m[4mWhat is this about?[0m
|
||
|
||
[38;5;12mOn the last decade, functional programming has gained a new found power due to its[39m
|
||
[38;5;12mdeclarative characteristics which, some would say, are very effective for parallel computing[39m
|
||
[38;5;12mand for the whole usage of [39m[38;5;14m[1mMoores Law[0m[38;5;12m (https://en.wikipedia.org/wiki/Moore%27s_law).[39m
|
||
|
||
[38;5;12mThis repo gathers some material on Functional Programming such as blog posts, papers, videos,[39m
|
||
[38;5;12mtools, etc. and also aims to clarify some of the theoretical subjects behind it.[39m
|
||
|
||
[38;5;12mWant to contribute? Please refer to [39m[38;5;14m[1mthis[0m[38;5;12m (https://github.com/lucasviola/awesome-functional-programming/blob/master/contributing.md) first.[39m
|
||
|
||
[38;2;255;187;0m[4mTable of Contents[0m
|
||
[38;5;12m- [39m[38;5;14m[1mBlog Posts[0m[38;5;12m (#blog-posts)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mPapers[0m[38;5;12m (#papers)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mWikis[0m[38;5;12m (#wikis)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mBooks[0m[38;5;12m (#books)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mCommunities[0m[38;5;12m (#communities)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mDiscussions[0m[38;5;12m (#discussions-quora-stack-overflow-reddit-etc)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mVideos[0m[38;5;12m (#videos)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mLectures[0m[38;5;12m (#lectures)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mTools[0m[38;5;12m (#tools)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mRepos[0m[38;5;12m (#repos)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mPeople[0m[38;5;12m (#people)[39m
|
||
|
||
[38;2;255;187;0m[4mBlog posts[0m
|
||
[38;5;12m- [39m[38;5;14m[1mPersonal thoughts on the current functional programming bandwagon[0m[38;5;12m (http://www.akitaonrails.com/2015/10/28/personal-thoughts-on-the-current-functional-programming-bandwagon) [39m
|
||
[38;5;12mDespite[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mname,[39m[38;5;12m [39m[38;5;12mthis[39m[38;5;12m [39m[38;5;12mpost[39m[38;5;12m [39m[38;5;12mactually[39m[38;5;12m [39m[38;5;12mclarifies[39m[38;5;12m [39m[38;5;12msome[39m[38;5;12m [39m[38;5;12mbaisc[39m[38;5;12m [39m[38;5;12mconcepts[39m[38;5;12m [39m[38;5;12mon[39m[38;5;12m [39m[38;5;12mFunctional[39m[38;5;12m [39m[38;5;12mProgramming,[39m[38;5;12m [39m[38;5;12mexplains[39m[38;5;12m [39m[38;5;12msome[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mHistory[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mFP[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mimplementation[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mFPs[39m[38;5;12m [39m[38;5;12mfeatures[39m[38;5;12m [39m[38;5;12mon[39m[38;5;12m [39m[38;5;12mimperative[39m[38;5;12m [39m[38;5;12mlanguages[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mtalks[39m[38;5;12m [39m[38;5;12mabout[39m[38;5;12m [39m[38;5;12mall[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mfuss[39m[38;5;12m [39m[38;5;12mon[39m[38;5;12m [39m[38;5;12mdeclarative[39m[38;5;12m [39m
|
||
[38;5;12mprogramming[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mwhy[39m[38;5;12m [39m[38;5;12mit[39m[38;5;12m [39m[38;5;12mhas[39m[38;5;12m [39m[38;5;12mbecome[39m[38;5;12m [39m[38;5;12mso[39m[38;5;12m [39m[38;5;12mpopular[39m[38;5;12m [39m[38;5;12min[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mlast[39m[38;5;12m [39m[38;5;12mfew[39m[38;5;12m [39m[38;5;12myears.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mA Monad in Practicality - Controlling Time[0m[38;5;12m (http://robotlolita.me/2014/03/20/a-monad-in-practicality-controlling-time.html)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mA Monad in Practicality - First Class Failures[0m[38;5;12m (http://robotlolita.me/2013/12/08/a-monad-in-practicality-first-class-failures.html)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mHow to desugar Haskell Code[0m[38;5;12m (http://www.haskellforall.com/2014/10/how-to-desugar-haskell-code.html)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mFunctors, Applicatives, And Monads In Pictures[0m[38;5;12m (http://adit.io/posts/2013-04-17-functors,_applicatives,_and_monads_in_pictures.html)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mMonads Made Difficult[0m[38;5;12m (http://www.stephendiehl.com/posts/monads.html)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mYour easy guide to Monads, Applicatives, & Functors[0m[38;5;12m (https://medium.com/@lettier/your-easy-guide-to-monads-applicatives-functors-862048d61610)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mAsync Streams in C#[0m[38;5;12m (https://freecontent.manning.com/async-streams-in-c/)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mHow to leverage functional programming in Kotlin to write better, cleaner code[0m[38;5;12m (https://doordash.engineering/2022/03/22/how-to-leverage-functional-programming-in-kotlin-to-write-better-cleaner-code/)[39m
|
||
|
||
[38;2;255;187;0m[4mPapers[0m
|
||
[38;5;12m- [39m[38;5;14m[1mTradeoffs between Unique Types and Monads[0m[38;5;12m (http://lambda-the-ultimate.org/node/1180) [39m
|
||
[38;5;12m- [39m[38;5;14m[1mThe implementation of Functional Programming Languages[0m[38;5;12m (http://research.microsoft.com/en-us/um/people/simonpj/papers/slpj-book-1987/start.htm) - A paper by Simon Peyton Jones[39m
|
||
[38;5;12m- [39m[38;5;14m[1mSound and Decidable Type Inference for Functional Dependencies[0m[38;5;12m (http://research.microsoft.com/en-us/um/people/simonpj/papers/fd-chr/esop04.pdf) - Another very famous paper on Type Inference by the main creator of Haskell and GHC[39m
|
||
[38;5;12m- [39m[38;5;14m[1mTemplate Meta-Programming for Haskell[0m[38;5;12m (http://research.microsoft.com/en-us/um/people/simonpj/papers/meta-haskell/meta-haskell.pdf) - Paper about generating code at compile-time in Haskell[39m
|
||
[38;5;12m- [39m[38;5;14m[1mWhy Functional Programming Matters[0m[38;5;12m (http://www.cs.kent.ac.uk/people/staff/dat/miranda/whyfp90.pdf)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mFrom Higher-Order Logic to Haskell: There and Back Again[0m[38;5;12m (http://isabelle.in.tum.de/~haftmann/pdf/from_hol_to_haskell_haftmann.pdf)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mTranslating Haskell to Isabelle[0m[38;5;12m (http://es.cs.uni-kl.de/events/TPHOLs-2007/proceedings/B-178.pdf)[39m
|
||
|
||
[38;2;255;187;0m[4mWikis[0m
|
||
[38;5;12m- [39m[38;5;14m[1mnLab[0m[38;5;12m (http://ncatlab.org/nlab/show/HomePage) - A wiki-lab with articles, discussion and tools from the point of view of category theory, which is the main math behind FP.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mHaskell/Category Theory[0m[38;5;12m (https://en.wikibooks.org/wiki/Haskell/Category_theory) - A good overview on Category Theory applied to Haskell from Wikibooks.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mHaskell Wiki[0m[38;5;12m (https://wiki.haskell.org/Haskell)[39m
|
||
|
||
[38;2;255;187;0m[4mBooks[0m
|
||
[38;5;12m- [39m[38;5;14m[1mLearn you a Haskell[0m[38;5;12m (http://learnyouahaskell.com/) - Book, but you can read it online for free as well. Very beginner friendly.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mThe Little Prover[0m[38;5;12m (https://books.google.com.br/books?id=I9E_CgAAQBAJ&pg=PR13#v=onepage&q&f=false) - Talks about[39m
|
||
[38;5;12ma theorem prover called JBob for writing proofs in LISP.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mIsabelle/HOL - A Proof Assistant for Higher-Order Logic[0m[38;5;12m (http://isabelle.in.tum.de/doc/tutorial.pdf) - A Book on implementing logical formalisms in Isabelle/HOL.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mThe Little MLer[0m[38;5;12m (http://www.ccs.neu.edu/home/matthias/BTML/) - A book focused on teaching types, recursive thinking and other important subjects in Standard ML. [39m
|
||
[38;5;12m- [39m[38;5;14m[1mIntroduction to Programming using SML[0m[38;5;12m (http://catalogue.pearsoned.co.uk/educator/product/Introduction-to-Programming-using-SML/9780201398205.page) - Introduces you to programming design in a very mathematical way. [39m
|
||
[38;5;12m- [39m[38;5;14m[1mHow to Design Programs[0m[38;5;12m (http://www.htdp.org/) / [39m[38;5;14m[1mSecond Edition[0m[38;5;12m (http://www.ccs.neu.edu/home/matthias/HtDP2e/)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mIntroduction to Functional Programming[0m[38;5;12m (http://www.amazon.com/Introduction-Functional-Programming-International-Computing/dp/0134841891)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mHaskell in Depth[0m[38;5;12m (https://www.manning.com/books/haskell-in-depth) - the perfect second book on Haskell which dives into examples and application scenarios designed to teach how Haskell works and how to apply it correctly. [39m
|
||
[38;5;12m- [39m[38;5;14m[1mGrokking Simplicity: Taming complex software with functional thinking[0m[38;5;12m (https://www.manning.com/books/grokking-simplicity) - Teaches functional programming from first principles using real-world scenarios.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mFunctional Programming in Scala, Second Edition[0m[38;5;12m (https://www.manning.com/books/functional-programming-in-scala-second-edition) - International bestseller revised with new exercises, annotations, and full coverage of Scala 3.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mFunctional Programming in C#, Second Edition[0m[38;5;12m (https://www.manning.com/books/functional-programming-in-c-sharp-second-edition) - Real world examples and practical techniques for functional programming in C#.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mGrokking Functional Programming[0m[38;5;12m (https://www.manning.com/books/grokking-functional-programming) - Introduction to functional programming.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mFunctional Programming in Kotlin[0m[38;5;12m (https://www.manning.com/books/functional-programming-in-kotlin) - Master techniques and concepts of functional programming to deliver safer, simpler, and more effective Kotlin code.[39m
|
||
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mFunctional[0m[38;5;14m[1m [0m[38;5;14m[1mDesign[0m[38;5;14m[1m [0m[38;5;14m[1mand[0m[38;5;14m[1m [0m[38;5;14m[1mArchitecture[0m[38;5;12m [39m[38;5;12m(https://www.manning.com/books/functional-design-and-architecture)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mDesign[39m[38;5;12m [39m[38;5;12mpatterns[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12marchitectures[39m[38;5;12m [39m[38;5;12mfor[39m[38;5;12m [39m[38;5;12mbuilding[39m[38;5;12m [39m[38;5;12mproduction[39m[38;5;12m [39m[38;5;12mquality[39m[38;5;12m [39m[38;5;12mapplications[39m[38;5;12m [39m[38;5;12musing[39m[38;5;12m [39m[38;5;12mfunctional[39m[38;5;12m [39m[38;5;12mprogramming,[39m[38;5;12m [39m[38;5;12mwith[39m[38;5;12m [39m[38;5;12mexamples[39m[38;5;12m [39m[38;5;12min[39m[38;5;12m [39m[38;5;12mHaskell[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m
|
||
[38;5;12mother[39m[38;5;12m [39m[38;5;12mFP[39m[38;5;12m [39m[38;5;12mlanguages.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mHaskell Bookcamp[0m[38;5;12m (https://www.manning.com/books/haskell-bookcamp) - In this book, you’ll get practical experience writing Haskell code and applying functional programming to actual development challenges.[39m
|
||
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mMastering[0m[38;5;14m[1m [0m[38;5;14m[1mFunctional[0m[38;5;14m[1m [0m[38;5;14m[1mProgramming[0m[38;5;12m [39m[38;5;12m(https://www.perlego.com/book/800653/mastering-functional-programming-functional-techniques-for-sequential-and-parallel-programming-with-scala-pdf)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mIf[39m[38;5;12m [39m[38;5;12myou[39m[38;5;12m [39m[38;5;12mare[39m[38;5;12m [39m[38;5;12mfrom[39m[38;5;12m [39m[38;5;12man[39m[38;5;12m [39m[38;5;12mimperative[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mOOP[39m[38;5;12m [39m[38;5;12mbackground,[39m[38;5;12m [39m[38;5;12mthis[39m[38;5;12m [39m[38;5;12mbook[39m[38;5;12m [39m
|
||
[38;5;12mwill[39m[38;5;12m [39m[38;5;12mguide[39m[38;5;12m [39m[38;5;12myou[39m[38;5;12m [39m[38;5;12mthrough[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mworld[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mfunctional[39m[38;5;12m [39m[38;5;12mprogramming,[39m[38;5;12m [39m[38;5;12mirrespective[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mwhich[39m[38;5;12m [39m[38;5;12mprogramming[39m[38;5;12m [39m[38;5;12mlanguage[39m[38;5;12m [39m[38;5;12myou[39m[38;5;12m [39m[38;5;12muse.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mJax in Action[0m[38;5;12m (https://www.manning.com/books/jax-in-action) - A book about The JAX numerical computing library.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mLearn PowerShell Scritping in a Month of Lunches[0m[38;5;12m (https://www.manning.com/books/learn-powershell-scripting-in-a-month-of-lunches-second-edition) - Automate complex tasks and processes with PowerShell scripts.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mF# in Action[0m[38;5;12m (https://www.manning.com/books/f-sharp-in-action) - Book about practical F# development skills needed to create professional applications.[39m
|
||
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mElixir[0m[38;5;14m[1m [0m[38;5;14m[1min[0m[38;5;14m[1m [0m[38;5;14m[1mAction,[0m[38;5;14m[1m [0m[38;5;14m[1mThird[0m[38;5;14m[1m [0m[38;5;14m[1mEdition[0m[38;5;12m [39m[38;5;12m(https://www.manning.com/books/elixir-in-action-third-edition)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mFully[39m[38;5;12m [39m[38;5;12mupdated[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mElixir[39m[38;5;12m [39m[38;5;12m1.14,[39m[38;5;12m [39m[38;5;12mthis[39m[38;5;12m [39m[38;5;12mauthoritative[39m[38;5;12m [39m[38;5;12mbestseller[39m[38;5;12m [39m[38;5;12mreveals[39m[38;5;12m [39m[38;5;12mhow[39m[38;5;12m [39m[38;5;12mElixir[39m[38;5;12m [39m[38;5;12mtackles[39m[38;5;12m [39m[38;5;12mproblems[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mscalability,[39m[38;5;12m [39m[38;5;12mfault[39m[38;5;12m [39m[38;5;12mtolerance,[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mhigh[39m[38;5;12m [39m
|
||
[38;5;12mavailability.[39m
|
||
|
||
[38;2;255;187;0m[4mCommunities[0m
|
||
[38;5;12m- [39m[38;5;14m[1mLambda the Ultimate[0m[38;5;12m (http://lambda-the-ultimate.org/) - Community focused on discussing researches, papers[39m
|
||
[38;5;12mand hot topic on academia. Very high tech discussion level.[39m
|
||
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mFP[0m[38;5;14m[1m [0m[38;5;14m[1mComplete[0m[38;5;12m [39m[38;5;12m(https://www.fpcomplete.com/)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mCommunity[39m[38;5;12m [39m[38;5;12mfocused[39m[38;5;12m [39m[38;5;12mon[39m[38;5;12m [39m[38;5;12mhelping[39m[38;5;12m [39m[38;5;12mcompanies[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mstudents[39m[38;5;12m [39m[38;5;12mon[39m[38;5;12m [39m[38;5;12mlearning[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mimplementing[39m[38;5;12m [39m[38;5;12mFunctional[39m[38;5;12m [39m[38;5;12mProgramming[39m[38;5;12m [39m[38;5;12min[39m[38;5;12m [39m[38;5;12mHaskell.[39m[38;5;12m [39m[38;5;12mHosters[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mone[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mmost[39m[38;5;12m [39m[38;5;12mfamous[39m[38;5;12m [39m[38;5;12mHaskell[39m[38;5;12m [39m[38;5;12mlearning[39m[38;5;12m [39m[38;5;12mcenters:[39m[38;5;12m [39m[38;5;14m[1mSchool[0m[38;5;14m[1m [0m[38;5;14m[1mof[0m[38;5;14m[1m [0m[38;5;14m[1mHaskell[0m[38;5;12m [39m
|
||
[38;5;12m(https://www.schoolofhaskell.com/school)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mHaskellers[0m[38;5;12m (http://www.haskellers.com/) - The meeting point for Haskell Programmers[39m
|
||
[38;5;12m- [39m[38;5;14m[1mElixirLangMoscow[0m[38;5;12m (http://elixir-lang.moscow/) - Russian Elixir community[39m
|
||
|
||
[38;2;255;187;0m[4mDiscussions (Quora, Stack Overflow, Reddit, etc)[0m
|
||
[38;5;12m- [39m[38;5;14m[1mWhy dont more programmers use Haskell[0m[38;5;12m (https://www.quora.com/Why-dont-more-programmers-use-Haskell)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mHidden complexities of tail-call/tail-recursion optimization[0m[38;5;12m (http://lambda-the-ultimate.org/classic/message1532.html)[39m
|
||
|
||
[38;2;255;187;0m[4mVideos[0m
|
||
[38;5;12m- [39m[38;5;14m[1mDont fear the Monad[0m[38;5;12m (https://www.youtube.com/watch?v=ZhuHCtR3xq8) - Explanation on[39m
|
||
[38;5;12mone of the most obscure topics of Functional Programming by Microsoft researcher Brian Beckman.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mHaskell is useless[0m[38;5;12m (https://www.youtube.com/watch?v=iSmkqocn0oQ) - Simon Peyton Jones being[39m
|
||
[38;5;12mjust too humble about his creation.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mBrian Beckman: The Zen of Stateless State[0m[38;5;12m (https://www.youtube.com/watch?v=XxzzJiXHOJs)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mErik Meijer: Functional Programming[0m[38;5;12m (https://www.youtube.com/watch?v=z0N1aZ6SnBk)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mScala Monads: Declutter Your Code With Monadic Design[0m[38;5;12m (https://www.youtube.com/watch?v=Mw_Jnn_Y5iA)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mPhilip Wadler and Erik Meijer: On Programming Language Theory and Practice[0m[38;5;12m (https://www.youtube.com/watch?v=9SBR_SnrEiI)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mKotlin for Android & Java Developers[0m[38;5;12m (https://www.manning.com/livevideo/kotlin-for-android-and-java-developers) - LiveVideo course about Kotlin: functional programming, object orientation and building an Android app in Kotlin.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mDo we really need OOD and FDD?[0m[38;5;12m (https://www.youtube.com/watch?v=KW9U6HMKEgk) - Functional Declarative Design (FDD) opposed to Object-Oriented Design (OOD[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mFunctional Programming with TypeScript[0m
|
||
[38;5;12m (https://www.youtube.com/playlist?list=PLuPevXgCPUIMbCxBEnc1dNwboH6e2ImQo) - Discover functional programming with Typescript and create a library like fp-ts alongside Sahand Javid in this beginner-friendly YouTube playlist.[39m
|
||
|
||
[38;2;255;187;0m[4mLectures[0m
|
||
[38;5;12m- [39m[38;5;14m[1mC9 Lectures: Dr. Erik Meijer - Functional Programming Fundamentals[0m[38;5;12m (https://www.youtube.com/playlist?list=PLTA0Ta9Qyspa5Nayx0VCHj5AHQJqp1clD) - Series of Lectures from one of the creators of Haskell[39m
|
||
[38;5;12m- [39m[38;5;14m[1mAdventure with types in Haskell - Simon Peyton Jones[0m[38;5;12m (https://www.youtube.com/watch?v=6COvD8oynmI&list=RD6COvD8oynmI#t=0) - Lectures about Haskells strong Type System by Simon Peyton Jones.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mThe Algebra of Algebraic Data Types[0m[38;5;12m (https://www.youtube.com/watch?v=YScIPA8RbVE) - Very good explanation[39m
|
||
[38;5;12mon the relationship between math and Algebraic Data Types, which is the Type System of some very common FP Languages such as Haskell and ML.[39m
|
||
|
||
[38;2;255;187;0m[4mPlatforms[0m
|
||
|
||
[38;5;12m- [39m[38;5;14m[1mPaqmind.com[0m[38;5;12m – Guides and challenges to learn and improve in programming. All content is CS and FP oriented.[39m
|
||
|
||
[38;2;255;187;0m[4mTools[0m
|
||
[38;5;12m- [39m[38;5;14m[1mIsabelle/HOL[0m[38;5;12m (https://www.cl.cam.ac.uk/research/hvg/Isabelle/) - Generic proof assistant based on Higher Order Logic [39m
|
||
|
||
[38;2;255;187;0m[4mRepos[0m
|
||
[38;5;12m- [39m[38;5;14m[1mIdris Koans[0m[38;5;12m (https://github.com/idris-hackers/idris-koans) - Project for teaching Idris. A General Purpose Functional Programming with Dependent Types[39m
|
||
[38;5;12m- [39m[38;5;14m[1mFunctional Javascript Workshop[0m[38;5;12m (https://github.com/timoxley/functional-javascript-workshop) - A functional Javascript workshop.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mJ-Bob[0m[38;5;12m (https://github.com/the-little-prover/j-bob) - The proof assistant from the book [39m[48;5;235m[38;5;249mThe Little Prover[49m[39m
|
||
[38;5;12m- [39m[38;5;14m[1mHaskell Must Watch[0m[38;5;12m (https://github.com/olehkuchuk/haskell-must-watch) - A list of videos, talks and courses on Haskell.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mIntro SML[0m[38;5;12m (http://www.it.dtu.dk/introSML/) - Code, corrections and info on the book: [39m[48;5;235m[38;5;249mIntroduction to Programming using SML[49m[39m
|
||
[38;5;12m- [39m[38;5;14m[1mFunctional Programming In JavaScript[0m[38;5;12m (https://github.com/busypeoples/functional-programming-javascript) - List of functional programming resources in JavaScript.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mFunctional Programming Jargon[0m[38;5;12m (https://github.com/hemanth/functional-programming-jargon) - Project for providing a glossary for FP, and make learning FP easier.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mBow[0m[38;5;12m (https://github.com/bow-swift/bow) - Companion library for Typed Functional Programming in Swift.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mParsing With Haskell Parser Combinators[0m[38;5;12m (https://github.com/lettier/parsing-with-haskell-parser-combinators) - A step-by-step guide to parsing using Haskell parser combinators.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mFunctional Programming Learning Path[0m[38;5;12m (https://github.com/imteekay/functional-programming-learning-path.git) - A Learning Path for Functional Programming[39m
|
||
[38;2;255;187;0m[4mPeople[0m
|
||
|
||
[38;5;12m- [39m[38;5;14m[1mSimon Peyton Jones[0m[38;5;12m (http://research.microsoft.com/en-us/people/simonpj/) - One of the creators of the Haskell Language and the Glasgow Haskell Compiler. Microsoft Researcher.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mPhilip Wadler[0m[38;5;12m (http://homepages.inf.ed.ac.uk/wadler/) - Professor of Theoretical Computer Science at the University of Edinburgh, author of the famous paper Propositions as Types. One of the main people behind Java Generics Types.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mMatthias Felleisen[0m[38;5;12m (http://www.ccs.neu.edu/home/matthias/) - Author of many books such as How to Design Programs, and The Little Schemer.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mErik Meijer[0m[38;5;12m (https://www.linkedin.com/pub/erik-meijer/0/5ba/924) - Former software architect for Microsoft, Functional Programming researcher, gives lectures on FP, Software Design and Reactive programming.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mBrian Beckman[0m[38;5;12m (https://www.linkedin.com/in/brianbeckman) - Former Microsoft Researcher, actual Software Engineer at Amazon. Contributed to implementing FP features to inumerous Microsoft technologies such as C#, LINQ and F#[39m
|
||
|
||
[38;2;255;187;0m[4mLicense[0m
|
||
|
||
[38;5;14m[1m![0m[38;5;12mCC0[39m[38;5;14m[1m (https://i.creativecommons.org/p/zero/1.0/88x31.png)[0m[38;5;12m (https://creativecommons.org/publicdomain/zero/1.0/)[39m
|
||
|
||
[38;5;12mTo the extent possible under law, [39m[38;5;14m[1mLucas Viola[0m[38;5;12m (http://lucasviola.github.io) has waived all copyright and related or neighboring rights to this work.[39m
|
||
|
||
[38;5;12mfunctionalprogramming Github: https://github.com/lucasviola/awesome-functional-programming[39m
|