This is a repository for learning the topics of Functional Programming and Related Topics (Lambda Calculus, Abstract Algebra, Category Theory, etc.) It contains Resource List, Lecture Note (Text File) and Code by Functional Programming Languages (Haskell, Clojure, Elixir, F#, Javascript / Typescript, Racket, etc.).
- [TH: Text] แนะนำ LAMBDA CALCULUS และ FUNCTIONAL LANGUAGES (kitty.in.th)
- [TH: Text] Lambda Calculus ~ พื้นฐานสู่ Functional Programming (tamemo.com)
- [EN: Text] A curated list of combinators (Github: @loophp)
- [EN: Text] Combinator Birds (angelfire.com)
- [EN: Text] To Dissect a Mockingbird: A Graphical Notation for the Lambda Calculus with Animated Reduction (dkeenan.com)
- [EN: Text] A Tutorial Introduction to the Lambda Calculus (Raúl Rojas)
- [EN: Text] Lambda Calculus (Alex Aiken)
- [EN: Text] Computational Lambda-Calculus and Monads (Eugenio Moggi - University of Edinburgh)
- [EN: Text] Lambda Calculus in Javascript (Michele Riva)
- [EN: Text] Implementing Recursion with the Y-Combinator in any Language (Michele Riva)
- [EN: Text] Fixed Points (Oscar Nierstrasz)
- [EN: Video Playlist] Lambda Calculus (David Franz)
- [EN: Video Playlist] Lambda Calculus (Robert Joseph Panganiban)
- [EN: Video Playlist] Lambda Calculus (NiceMeTube)
- [EN: Video] Lambda Calculus - Fundamentals of Lambda Calculus & Functional Programming in JavaScript (Fullstack Academy)
- [EN: Video] Why function are turing complete (Lambda Calculas) (A Byte of Code)
- [EN: Video] A Flock of Functions: Combinators, Lambda Calculus, & Church Encodings in JS - Part II (Gabriel Lebec)
- [EN: Video] Lambda Calculus (Computerphile)
- [EN: Video] What is Lambda Calculus? (ft. Church Encodings) (Alex Lugo)
- [EN: Video] Lambda Calculus (Truttle1)
- [EN: Video] Lambda Calculus: The foundation of functional programming, and the simplest programming language (Tony Zhang)
- [EN: Video] What is Lambda Calculus and why? (Yana the Contrarian)
- [EN: Video] Lambda Calculus vs. Turing Machine (Theory of Computation) (Advait Shinde)
- [TH: Text] พีชคณิตนามธรรม (Abstract Algebra) (สาขาิชาคณิตศาสตร์ คณะครุศาสตร์ มหาวิทยาลัยราชภัฏสวนสุนันทา)
- [TH: Video Playlist] พีชคณิตนามธรรม (Sarawut Suwannaut)
- [TH: Video] Algebraic structure :: the power of mathematical abstraction by Natechawin Suthison (Creatorsgarten)
- [EN: Text] Introduction to Abstract Algebra - Math 113 (Alexander Paulin, University of California Berkeley)
- [EN: Video Playlist] Abstract Algebra (Socratica)
- [EN: Video Playlist] Abstract Algebra 1 (Learnifyable)
- [EN: Video Playlist] Abstract Algebra (Michael Penn)
- [EN: Video Playlist] Abstract Algebra (MathMajor)
- [EN: Video Playlist] Abstract Algebra (Wrath of Math)
- [EN: Video Playlist] Essence of Group Theory (Mathemaniac)
- [TH: Text] Category Theory (for Programmer!): บทนำ~จากคณิตศาสตร์สู่ภาษาโปรแกรม (tamemo.com)
- [TH: Text] Category Theory (for Programmer!) 2: Functor~คืออะไร (tamemo.com)
- [TH: Text] Category และ Product | Category Theory for Programming Part 1 (muitsfriday.dev)
- [TH: Text] Co-Product ในการเขียนโปรแกรม | Category Theory for Programming Part 2 (muitsfriday.dev)
- [TH: Video] Tortilla endofunctors, and more jokes about monads by Chayapatr Archiwaranguprok (Creatorsgarten)
- [EN: Text] Category Theory for Programmers (Bartosz Milewski)
- [EN: Text] Category Theory (nLab)
- [EN: Text] Category (nLab)
- [EN: Text] A Gentle Introduction to Category Theory (Maarten M. Fokkinga)
- [EN: Text] Category Theory (Notes by David Mehrle - University of Cambridge)
- [EN: Text] Introduction Category Theory Notes (Daniel Epelbaum, Ashwin Trisal)
- [EN: Text] Abstract and Concrete Categories - The Joy of Cats (Jiří Adámek, Horst Herrlich, George E. Strecker)
- [EN: Text] From design patterns to category theory (blog.ploeh.dk)
- [EN: Video Playlist] Category Theory (Bartosz Milewski)
- [EN: Video Playlist] What is...category theory? (VisualMath)
- [EN: Video Playlist] Category theory (Alex Simpson)
- [EN: Video Playlist] Category Theory For Beginners (Richard Southwell)
- [EN: Video Playlist] Category Theory (Undergraduate Mathematics)
- [EN: Video Playlist] Category theory foundations - Steve Awodey (Mathématiques et programmation)
- [EN: Video Playlist] Chris Brav. An Introduction to the Theory of Categories and Homological Algebra (Mathematics at HSE)
- [EN: Video Playlist] Enriched Category Theory (Marius Furter)
- [EN: Video] A monad is a monoid in the category of endofunctors. Whats the problem? (A Byte of Code)
- [EN: Video] A Sensible Introduction to Category Theory (Oliver Lugg)
- [EN: Video] 27 Unhelpful Facts About Category Theory (Oliver Lugg)
- [EN: Video] What is category theory? (Topos Institute)
- [EN: Video] Category Theory: An Introduction to Abstract Nonsense (Feynman's Chicken)
- [EN: Video] Intro to Category Theory (Warwick Mathematics Exchange)
- [EN: Video] What is Category Theory in mathematics? Johns Hopkins' Dr. Emily Riehl explains (Johns Hopkins University)
- [EN: Video] The Mathematician's Weapon | Category Theory and Why We Care 1.0 (Eyesomorphic)
- [EN: Video] The Language of Categories | Category Theory and Why We Care 1.1 (Eyesomorphic)
- [EN: Video] ∞-Category Theory for Undergraduates (Emily Riehl)
- [EN: Video] The First Real Application of Category Theory #SoME3 (GeometricSquirtle)
- [EN: Video] A Crash Course in Category Theory - Bartosz Milewski (ScalaIO FR)
- [EN: Video] Lambda World 2019 - Fun With Categories - Marco Perone (Lambda World)
- [EN: Video] Category Theory in Life - Eugenia Cheng (Lambda World)
- [EN: Video] Category Theory for the Working Hacker by Philip Wadler (Lambda World)
- [EN: Text] Type Theory (nLab)
- [EN: Text] learn-tt (jozefg - Github)
- [EN: Text] Type Theory & Functional Programming (Simon Thompson, Computing Laboratory, University of Kent)
- [EN: Text] A Brief Introduction to Type Theory and The Univalence Axiom (Jackson Macor)
- [EN: Text] Propositions as Types (Philip Wadler, University of Edinburgh)
- [EN: Text] Type Theory and Its applications to Computer Science (César Muñoz, National Institute of Aerospace)
- [EN: Text] Lectures on the Curry-Howard Isomorphism (Morten Heine B.Sorensen - University of Copenhagen, Pawel Urzyczyn - University of Warsaw)
- [EN: Text] Curry-Howard Correspondence (Wikipedia)
- [EN: Text] Curry-Howard Correspondence (Giselle Reis - Carnegie Mellon University)
- [EN: Text] The Curry-Howard Isomorphism (Dan Grossman - University of Washington)
- [EN: Video Playlist] Functional Programming - Type Theory (Hans Schenker)
- [EN: Video] Why should you learn Type Theory? (Dapper Mink)
- [EN: Video] Computer Science ∩ Mathematics (Type Theory) (Computerphile)
- [EN: Video] The Hardest Problem in Type Theory (Computerphile)
- [EN: Video] Notes on Type Theory for beginners (Jfokus)
- [EN: Video] Type Theory: It's the New Set Theory (Zoom for Thought 02/09/21) (Food for Thought)
- [EN: Video] Propositions as Types (Computerphile)
- [EN: Video] My First Type Theory (Guerrilla-Lectures)
- [EN: Video] Type Theory for the Working Rustacean - Dan Pittman (Rust Belt Rust Conference)
- [EN: Video] A Type System From Scratch - Robert Widmann (Functional Swift)
- [EN: Text] Homotopy Type Theory (nLab)
- [EN: Video Playlist] Intro to Homotopy Type Theory (jacobneu)
- [EN: Video Playlist] Robert Harper - Homotopy Type Theory (HoTT Lectures)
- [EN: Video Playlist] 2019 - HoTT Introduction to homotopy type theory (Andrej Bauer)
- [EN: Video] What is...homotopy type theory? (VisualMath)
- [EN: Video] Homotopy Type Theory Discussed (Computerphile)
- [EN: Video] Homotopy Type Theory - An Introduction to Topology, Formal Logic, and HoTT #SoME3 (Erik Hill)
- [TH: Text] FP(00) – บทนำ, ก้าวแรกสู่โลกแห่ง Functional Programming (tamemo.com)
- [TH: Text] FP(01) – Pure, First-Class, High-Order: พื้นฐานแห่ง Functional Programming (tamemo.com)
- [TH: Text] FP(02): Lambda Function and Closure ฟังก์ชันทันใจและพื้นที่ปิดล้อม! (tamemo.com)
- [TH: Text] FP(03): Map Filter Reduce และเพื่อนๆ พระเอกแห่งโลก Functional (tamemo.com)
- [TH: Text] FP(04): โครสร้างแบบ Pair, Either และ List Comprehension การสร้างลิสต์ฉบับฟังก์ชันนอล (tamemo.com)
- [TH: Text] FP(05): Lazy Evaluation ขี้เกียจไว้ก่อนแล้วดีเอง?! (tamemo.com)
- [TH: Text] FP(06): Recursive Function ฟังก์ชันเวียนเกิด, เขียนลูปไม่ได้ทำยังไง? มาเขียนฟังก์ชันเรียกตัวเองแทนกันเถอะ! (tamemo.com)
- [TH: Text] มารู้จักกับ Functional Programming สิ่งที่คุณต้องรู้ในตอนนี้กันเถอะ (tamemo.com)
- [TH: Text] Function ทำงานยังไง?, ในมุมมองของโปรแกรมเมอร์สาย Imperative (tamemo.com)
- [TH: Video Playlist] Functional Programming Meetup #1 (Creatorsgarten)
- [TH: Video] Functional Programming กับพี่รูฟ ODDS (Datarockie)
- [TH: Video] Practical guide to functional problem solving and design by Chakrit Riddghani (Creatorsgarten)
- [EN: Text] Functional Programming resources I’ve found useful (I'Boss Potiwarakorn)
- [EN: Text] Monads for Functional Programming (Philip Wadler - University of Glasgow)
- [EN: Text] SOLID: the next step is Functional (blog.ploeh.dk)
- [EN: Video] What is a Monad? (Computerphile)
- [EN: Video] Okay but WTF is a MONAD?????? #SoME2 (TheSTEMGamer)
- [EN: Video] What the Heck Are Monads?! (ArjanCodes)
- [EN: Video] The Monad Problem (Antoine Leblanc)
- [EN: Video] What is a Monad? (Andy Balaam)
- [EN: Video] Understand Monads in 5 Minutes (Intuitive Devs)
- [EN: Video] What is a Monad? - The Last Monad Intro You'll Ever Need (JamesKool)
- [EN: Video] Dear Functional Bros (CodeAesthetic)
- [EN: Video] How Monoids are useful in Programming (Tsoding)
- [EN: Video] Ditch your Favorite Programming Paradigm (Code Persist)
- [TH: Text] Functional Programming ด้วย Haskell , Part 1 : Intro (Mutinan Phaohing)
- [TH: Text] Functional Programming ด้วย Haskell , Part 2 : Guards, Local Definition (Mutinan Phaohing)
- [TH: Text] Functional Programming ด้วย Haskell ; Part 3 : Pattern Matching และ Recursion (Mutinan Phaohing)
- [TH: Video Playlist] ปูพื้นฐาน Haskell เพื่อทำความเข้าใจ Plutus และ Marlowe | Haskell for Plutus & Marlowe (Codanar โคดาน่าร์ - คาร์ดาโน่)
- [TH: Video] ภาษา Haskell เบื้องต้น (Kittipong Bass)
- [EN: Text] Haskell Tutorial (Tutorialspoint)
- [EN: Text] Learning Haskell - Resources (wiki.haskell.org)
- [EN: Text] awesome-learning-haskell (tweag)
- [EN: Text] Haskell Notes for Professionals (books.goalkicker.com)
- [EN: Text] 15 Resources to Help you learn Haskell in 2023 (serokell.io)
- [EN: Text] School of Haskell (schoolofhaskell.com)
- [EN: Text] Learn You a Haskell for Great Good! (learnyouahaskell.com)
- [EN: Text] Learn Haskell (markkarpov.com)
- [EN: Video Playlist] [CS] Lang: Haskell (Lebranc Convas)
- [EN: Video Playlist] Functional Programming in Haskell (Graham Hutton)
- [EN: Video Playlist] Haskell for Imperative Programmers (Philipp Hagenlocher)
- [EN: Video Playlist] Haskell for Beginners (Beaufort Tek)
- [EN: Video Playlist] Functional Thinking (peppidesu)
- [EN: Video Playlist] Haskell (Stephen Edwards)
- [EN: Video Playlist] Intro to Functional Programming with Haskell Course (LigerLearn)
- [EN: Video Playlist] Logic & Foundations with Haskell (Marius Furter)
- [EN: Video] Haskell Tutorial (Derek Banas)
- [EN: Video] Haskell in 100 Seconds (Fireship)
- [EN: Video] Functional Programming & Haskell (Computerphile)
- [TH: Text] Clojure for Curious People(1): introduction, Clojure compilation and anatomy of Clojure’s syntax (W.S.Kiang)
- [EN: Text] Clojure Tutorial (Tutorialspoint)
- [EN: Text] An opinionated list of excellent Clojure learning materials (ssrihari, Github)
- [EN: Text] Brave Clojure (braveclojure.com)
- [EN: Text] Clojure from the ground up (aphyr.com)
- [EN: Video Playlist] [CS] Lang: Clojure (Lebranc Convas)
- [EN: Video Playlist] Clojure talks from Strange Loop (Strange Loop Conference)
- [EN: Text] Scala Tutorial (Tutorialspoint)
- [EN: Text] Introduction to Category Theory in Scala (hseeberger.wordpress.com)
- [EN: Video Playlist] Scala at Light Speed (Rock the JVM)
- [EN: Video Playlist] Scala Tutorial (ProgrammingKnowledge)
- [EN: Video Playlist] Scala Tutorial (Learning Journal)
- [EN: Video Playlist] Scala talks from Strange Loop (Strange Loop Conference)
- [EN: Video] Scala Tutorial Full Course (Telusko)
- [EN: Video] Scala Tutorial (Derek Banas)
- [EN: Video] Scala Tutorial for Beginners (ProgrammingKnowledge)
- [EN: Text] F# Tutorial (Tutorialspoint)
- [EN: Text] F# for Fun and Profit (fsharpforfunandprofit.com)
- [EN: Video Playlist] F# for Beginners (dotnet)
- [EN: Text] Elixir Tutorial (Tutorialspoint)
- [EN: Text] Elixir Learning Resource (elixir-lang.org)
- [EN: Text] Elixir School (elixirschool.com)
- [EN: Text] Joy of Elixir (joyofelixir.com)
- [EN: Video Playlist] [CS] Lang: Elixir (Lebranc Convas)
- [EN: Video Playlist] Intro to Elixir (Tensor Programming)
- [EN: Video Playlist] Elixir Basics (Elixir Mentor)
- [EN: Video Playlist] Functional Programming With Elixir (Octallium)
- [EN: Video] Functional Programming with Elixir - Full Course (freeCodeCamp)
- [EN: Video] Elixir Programming Introduction - Complete Tutorial! (Caleb Curry)
- [EN: Video] Elixir in 100 Seconds (Fireship)
- [EN: Video] Elixir & Phoenix Fundamentals Full Course For Beginners (Elixirprogrammer)
- [EN: Text] Racket Documentation (racket-lang.org)
- [EN: Text] Excellent Free Tutorials to Learn Racket (LinuxLinks)
- [EN: Text] Teach Yourself Racket (cs.waterloo.ca)
- [EN: Text] Learn Racket in Y Minutes (Learn X in Y minutes)
- [EN: Text] Quick: An Introduction to Racket with Pictures (web.mit.edu)
- [EN: Video Playlist] Functional Programming (Racket) (SoftwareEngenius)
- [EN: Video Playlist] Racket in CS60 (colleen lewis)
- [EN: Video Playlist] Racket Tutorial (Knowledge Explorer)
- [EN: Video] An Introduction to the Racket Programming Language (Gavin Freeborn)
- [EN: Video] Racket: A Programming-Language Programming Language • Robby Findler • YOW! 2015 (GOTO Conferences)
- [EN: Video] Racket: Why I Think It’s a Great Language, and Why I’m Not Using It Anymore (Leandro Facchinetti)
- [EN: Video] Eric Clack - Why learn Racket? (Racketfest)
- [EN: Video] Lambda World 2019 - Language-Oriented Programming with Racket - Matthias Felleisen (Lambda World)
- [EN: Text] Learn OCaml (ocaml.org)
- [EN: Text] OCaml Programming: Correct + Efficient + Beautiful (cs3110)
- [EN: Text] Learn OCaml in Y Minutes (Learn X in Y Minutes)
- [EN: Video Playlist] OCaml Programming: Correct + Efficient + Beautiful (Michael Ryan Clarkson)
- [EN: Video Playlist] OCAML Tutorial (Noureddin Sadawi)
- [EN: Video Playlist] An Introduction to OCaml (Alexander Feldstein)
- [EN: Video Playlist] OCaml Game Engine (teej_dv daily)
- [EN: Video] OCaml First Thoughts (ThePrimeTime)
- [EN: Video] Learning OCAML Part 1 (TheVimegen)
- [EN: Video] Intro to OCaml + Functional Programming (Gabbie)
- [EN: Video] OCaml Tutorial - Learn how to use the OCaml Programming Language (Fullstack Academy)
- [EN: Video] Why OCaml (Jane Street)
- [EN: Video] [Programming Languages] Episode 8 - First Impression - ocaml (Mike Shah)
- [EN: Video] Elegance in OCaml with TJ DeVries | Backend Banter 001 (Backend Banter)
- [EN: Video] [OCaML'23] State of the OCaml Platform 2023 (ACM SIGPLAN)
- [EN: Text] Typescript Handbook (typescriptlang.org)
- [EN: Text] Javascript Notes for Professionals (books.goalkicker.com)
- [EN: Text] Typescript Notes for Professionals (books.goalkicker.com)
- [EN: Course] Professor Frisby Introduces Composable Functional JavaScript (egghead.io)
- [EN: Video Playlist] Functional Programming with Typescript (Web Village Voyage)
- [EN: Video Playlist] fp-ts Tutorial (Functional Programming in TypeScript) (MrFunctor)
- [EN: Video Playlist] Functional Programming with Typescript (theJavaScriptCoder)
- [EN: Video] Object Oriented vs Functional Programming with TypeScript (Fireship)
- [EN: Video] Learn Functional Programming With Javascript | FREE COURSE