jaeswift-website/api/data/awesomelist/lucasviola--awesome-functional-programming.json

1 line
No EOL
16 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{"slug": "lucasviola--awesome-functional-programming", "title": "Awesome Functional Programming", "description": ":alien: A curated list of functional programming resources such as blog posts, communities, discussion topics, wikis and more.", "github_url": "https://github.com/lucasviola/awesome-functional-programming", "stars": "929", "tag": "Computer Science", "entry_count": 84, "subcategory_count": 14, "subcategories": [{"name": "Table of Contents", "parent": "", "entries": [{"name": "Blog Posts", "url": "#blog-posts", "description": ""}, {"name": "Papers", "url": "#papers", "description": ""}, {"name": "Wikis", "url": "#wikis", "description": ""}, {"name": "Books", "url": "#books", "description": ""}, {"name": "Communities", "url": "#communities", "description": ""}, {"name": "Discussions", "url": "#discussions-quora-stack-overflow-reddit-etc", "description": ""}, {"name": "Videos", "url": "#videos", "description": ""}, {"name": "Lectures", "url": "#lectures", "description": ""}, {"name": "Tools", "url": "#tools", "description": ""}, {"name": "Repos", "url": "#repos", "description": ""}, {"name": "People", "url": "#people", "description": ""}]}, {"name": "Blog posts", "parent": "Table of Contents", "entries": [{"name": "Personal thoughts on the current functional programming bandwagon", "url": "http://www.akitaonrails.com/2015/10/28/personal-thoughts-on-the-current-functional-programming-bandwagon", "description": ""}, {"name": "A Monad in Practicality - Controlling Time", "url": "http://robotlolita.me/2014/03/20/a-monad-in-practicality-controlling-time.html", "description": ""}, {"name": "A Monad in Practicality - First Class Failures", "url": "http://robotlolita.me/2013/12/08/a-monad-in-practicality-first-class-failures.html", "description": ""}, {"name": "How to desugar Haskell Code", "url": "http://www.haskellforall.com/2014/10/how-to-desugar-haskell-code.html", "description": ""}, {"name": "Functors, Applicatives, And Monads In Pictures", "url": "http://adit.io/posts/2013-04-17-functors,_applicatives,_and_monads_in_pictures.html", "description": ""}, {"name": "Monads Made Difficult", "url": "http://www.stephendiehl.com/posts/monads.html", "description": ""}, {"name": "Your easy guide to Monads, Applicatives, & Functors", "url": "https://medium.com/@lettier/your-easy-guide-to-monads-applicatives-functors-862048d61610", "description": ""}, {"name": "Async Streams in C#", "url": "https://freecontent.manning.com/async-streams-in-c/", "description": ""}, {"name": "How to leverage functional programming in Kotlin to write better, cleaner code", "url": "https://doordash.engineering/2022/03/22/how-to-leverage-functional-programming-in-kotlin-to-write-better-cleaner-code/", "description": ""}]}, {"name": "Papers", "parent": "Table of Contents", "entries": [{"name": "Tradeoffs between Unique Types and Monads", "url": "http://lambda-the-ultimate.org/node/1180", "description": ""}, {"name": "The implementation of Functional Programming Languages", "url": "http://research.microsoft.com/en-us/um/people/simonpj/papers/slpj-book-1987/start.htm", "description": "A paper by Simon Peyton Jones"}, {"name": "Sound and Decidable Type Inference for Functional Dependencies", "url": "http://research.microsoft.com/en-us/um/people/simonpj/papers/fd-chr/esop04.pdf", "description": "Another very famous paper on Type Inference by the main creator of Haskell and GHC"}, {"name": "Template Meta-Programming for Haskell", "url": "http://research.microsoft.com/en-us/um/people/simonpj/papers/meta-haskell/meta-haskell.pdf", "description": "Paper about generating code at compile-time in Haskell"}, {"name": "Why Functional Programming Matters", "url": "http://www.cs.kent.ac.uk/people/staff/dat/miranda/whyfp90.pdf", "description": ""}, {"name": "From Higher-Order Logic to Haskell: There and Back Again", "url": "http://isabelle.in.tum.de/~haftmann/pdf/from_hol_to_haskell_haftmann.pdf", "description": ""}, {"name": "Translating Haskell to Isabelle", "url": "http://es.cs.uni-kl.de/events/TPHOLs-2007/proceedings/B-178.pdf", "description": ""}]}, {"name": "Wikis", "parent": "Table of Contents", "entries": [{"name": "nLab", "url": "http://ncatlab.org/nlab/show/HomePage", "description": "A wiki-lab with articles, discussion and tools from the point of view of category theory, which is the main math behind FP."}, {"name": "Haskell/Category Theory", "url": "https://en.wikibooks.org/wiki/Haskell/Category_theory", "description": "A good overview on Category Theory applied to Haskell from Wikibooks."}, {"name": "Haskell Wiki", "url": "https://wiki.haskell.org/Haskell", "description": ""}]}, {"name": "Books", "parent": "Table of Contents", "entries": [{"name": "Learn you a Haskell", "url": "http://learnyouahaskell.com/", "description": "Book, but you can read it online for free as well. Very beginner friendly."}, {"name": "The Little Prover", "url": "https://books.google.com.br/books?id=I9E_CgAAQBAJ\\&pg=PR13#v=onepage\\&q\\&f=false", "description": "Talks about"}, {"name": "Isabelle/HOL - A Proof Assistant for Higher-Order Logic", "url": "http://isabelle.in.tum.de/doc/tutorial.pdf", "description": "A Book on implementing logical formalisms in Isabelle/HOL."}, {"name": "The Little MLer", "url": "http://www.ccs.neu.edu/home/matthias/BTML/", "description": "A book focused on teaching types, recursive thinking and other important subjects in Standard ML."}, {"name": "Introduction to Programming using SML", "url": "http://catalogue.pearsoned.co.uk/educator/product/Introduction-to-Programming-using-SML/9780201398205.page", "description": "Introduces you to programming design in a very mathematical way."}, {"name": "How to Design Programs", "url": "http://www.htdp.org/", "description": ""}, {"name": "Introduction to Functional Programming", "url": "http://www.amazon.com/Introduction-Functional-Programming-International-Computing/dp/0134841891", "description": ""}, {"name": "Haskell in Depth", "url": "https://www.manning.com/books/haskell-in-depth", "description": "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."}, {"name": "Grokking Simplicity: Taming complex software with functional thinking", "url": "https://www.manning.com/books/grokking-simplicity", "description": "Teaches functional programming from first principles using real-world scenarios."}, {"name": "Functional Programming in Scala, Second Edition", "url": "https://www.manning.com/books/functional-programming-in-scala-second-edition", "description": "International bestseller revised with new exercises, annotations, and full coverage of Scala 3."}, {"name": "Functional Programming in C#, Second Edition", "url": "https://www.manning.com/books/functional-programming-in-c-sharp-second-edition", "description": "Real world examples and practical techniques for functional programming in C#."}, {"name": "Grokking Functional Programming", "url": "https://www.manning.com/books/grokking-functional-programming", "description": "Introduction to functional programming."}, {"name": "Functional Programming in Kotlin", "url": "https://www.manning.com/books/functional-programming-in-kotlin", "description": "Master techniques and concepts of functional programming to deliver safer, simpler, and more effective Kotlin code."}, {"name": "Functional Design and Architecture", "url": "https://www.manning.com/books/functional-design-and-architecture", "description": "Design patterns and architectures for building production quality applications using functional programming, with examples in Haskell and other FP languages."}, {"name": "Haskell Bookcamp", "url": "https://www.manning.com/books/haskell-bookcamp", "description": "In this book, youll get practical experience writing Haskell code and applying functional programming to actual development challenges."}, {"name": "Mastering Functional Programming", "url": "https://www.perlego.com/book/800653/mastering-functional-programming-functional-techniques-for-sequential-and-parallel-programming-with-scala-pdf", "description": "If you are from an imperative and OOP background, this book will guide you through the world of functional programming, irrespective of which programming language you use."}, {"name": "Jax in Action", "url": "https://www.manning.com/books/jax-in-action", "description": "A book about The JAX numerical computing library."}, {"name": "Learn PowerShell Scritping in a Month of Lunches", "url": "https://www.manning.com/books/learn-powershell-scripting-in-a-month-of-lunches-second-edition", "description": "Automate complex tasks and processes with PowerShell scripts."}, {"name": "F# in Action", "url": "https://www.manning.com/books/f-sharp-in-action", "description": "Book about practical F# development skills needed to create professional applications."}, {"name": "Elixir in Action, Third Edition", "url": "https://www.manning.com/books/elixir-in-action-third-edition", "description": "Fully updated to Elixir 1.14, this authoritative bestseller reveals how Elixir tackles problems of scalability, fault tolerance, and high availability."}]}, {"name": "Communities", "parent": "Table of Contents", "entries": [{"name": "Lambda the Ultimate", "url": "http://lambda-the-ultimate.org/", "description": "Community focused on discussing researches, papers"}, {"name": "FP Complete", "url": "https://www.fpcomplete.com/", "description": "Community focused on helping companies and students on learning and implementing Functional Programming in Haskell. Hosters of one of the most famous Haskell learning centers: [School of Haskell](https://www.schoolofhaskell.com/school)"}, {"name": "Haskellers", "url": "http://www.haskellers.com/", "description": "The meeting point for Haskell Programmers"}, {"name": "ElixirLangMoscow", "url": "http://elixir-lang.moscow/", "description": "Russian Elixir community"}]}, {"name": "Discussions (Quora, Stack Overflow, Reddit, etc)", "parent": "Table of Contents", "entries": [{"name": "Why dont more programmers use Haskell", "url": "https://www.quora.com/Why-dont-more-programmers-use-Haskell", "description": ""}, {"name": "Hidden complexities of tail-call/tail-recursion optimization", "url": "http://lambda-the-ultimate.org/classic/message1532.html", "description": ""}]}, {"name": "Videos", "parent": "Table of Contents", "entries": [{"name": "Dont fear the Monad", "url": "https://www.youtube.com/watch?v=ZhuHCtR3xq8", "description": "Explanation on"}, {"name": "Haskell is useless", "url": "https://www.youtube.com/watch?v=iSmkqocn0oQ", "description": "Simon Peyton Jones being"}, {"name": "Brian Beckman: The Zen of Stateless State", "url": "https://www.youtube.com/watch?v=XxzzJiXHOJs", "description": ""}, {"name": "Erik Meijer: Functional Programming", "url": "https://www.youtube.com/watch?v=z0N1aZ6SnBk", "description": ""}, {"name": "Scala Monads: Declutter Your Code With Monadic Design", "url": "https://www.youtube.com/watch?v=Mw_Jnn_Y5iA", "description": ""}, {"name": "Philip Wadler and Erik Meijer: On Programming Language Theory and Practice", "url": "https://www.youtube.com/watch?v=9SBR_SnrEiI", "description": ""}, {"name": "Kotlin for Android & Java Developers", "url": "https://www.manning.com/livevideo/kotlin-for-android-and-java-developers", "description": "LiveVideo course about Kotlin: functional programming, object orientation and building an Android app in Kotlin."}, {"name": "Do we really need OOD and FDD?", "url": "https://www.youtube.com/watch?v=KW9U6HMKEgk", "description": "Functional Declarative Design (FDD) opposed to Object-Oriented Design (OOD"}, {"name": "Functional Programming with TypeScript", "url": "https://www.youtube.com/playlist?list=PLuPevXgCPUIMbCxBEnc1dNwboH6e2ImQo", "description": "Discover functional programming with Typescript and create a library like fp-ts alongside Sahand Javid in this beginner-friendly YouTube playlist."}]}, {"name": "Lectures", "parent": "Table of Contents", "entries": [{"name": "C9 Lectures: Dr. Erik Meijer - Functional Programming Fundamentals", "url": "https://www.youtube.com/playlist?list=PLTA0Ta9Qyspa5Nayx0VCHj5AHQJqp1clD", "description": "Series of Lectures from one of the creators of Haskell"}, {"name": "Adventure with types in Haskell - Simon Peyton Jones", "url": "https://www.youtube.com/watch?v=6COvD8oynmI\\&list=RD6COvD8oynmI#t=0", "description": "Lectures about Haskells strong Type System by Simon Peyton Jones."}, {"name": "The Algebra of Algebraic Data Types", "url": "https://www.youtube.com/watch?v=YScIPA8RbVE", "description": "Very good explanation"}]}, {"name": "Platforms", "parent": "Table of Contents", "entries": []}, {"name": "Tools", "parent": "Table of Contents", "entries": [{"name": "Isabelle/HOL", "url": "https://www.cl.cam.ac.uk/research/hvg/Isabelle/", "description": "Generic proof assistant based on Higher Order Logic"}]}, {"name": "Repos", "parent": "Table of Contents", "entries": [{"name": "Idris Koans", "url": "https://github.com/idris-hackers/idris-koans", "description": "Project for teaching Idris. A General Purpose Functional Programming with Dependent Types", "stars": "176"}, {"name": "Functional Javascript Workshop", "url": "https://github.com/timoxley/functional-javascript-workshop", "description": "A functional Javascript workshop.", "stars": "2k"}, {"name": "J-Bob", "url": "https://github.com/the-little-prover/j-bob", "description": "The proof assistant from the book `The Little Prover`", "stars": "414"}, {"name": "Haskell Must Watch", "url": "https://github.com/olehkuchuk/haskell-must-watch", "description": "A list of videos, talks and courses on Haskell.", "stars": "1.1k"}, {"name": "Intro SML", "url": "http://www.it.dtu.dk/introSML/", "description": "Code, corrections and info on the book: `Introduction to Programming using SML`"}, {"name": "Functional Programming In JavaScript", "url": "https://github.com/busypeoples/functional-programming-javascript", "description": "List of functional programming resources in JavaScript.", "stars": "305"}, {"name": "Functional Programming Jargon", "url": "https://github.com/hemanth/functional-programming-jargon", "description": "Project for providing a glossary for FP, and make learning FP easier.", "stars": "19k"}, {"name": "Bow", "url": "https://github.com/bow-swift/bow", "description": "Companion library for Typed Functional Programming in Swift.", "stars": "642"}, {"name": "Parsing With Haskell Parser Combinators", "url": "https://github.com/lettier/parsing-with-haskell-parser-combinators", "description": "A step-by-step guide to parsing using Haskell parser combinators.", "stars": "90"}, {"name": "Functional Programming Learning Path", "url": "https://github.com/imteekay/functional-programming-learning-path.git", "description": "A Learning Path for Functional Programming"}]}, {"name": "People", "parent": "Table of Contents", "entries": [{"name": "Simon Peyton Jones", "url": "http://research.microsoft.com/en-us/people/simonpj/", "description": "One of the creators of the Haskell Language and the Glasgow Haskell Compiler. Microsoft Researcher."}, {"name": "Philip Wadler", "url": "http://homepages.inf.ed.ac.uk/wadler/", "description": "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."}, {"name": "Matthias Felleisen", "url": "http://www.ccs.neu.edu/home/matthias/", "description": "Author of many books such as How to Design Programs, and The Little Schemer."}, {"name": "Erik Meijer", "url": "https://www.linkedin.com/pub/erik-meijer/0/5ba/924", "description": "Former software architect for Microsoft, Functional Programming researcher, gives lectures on\tFP, Software Design and Reactive programming."}, {"name": "Brian Beckman", "url": "https://www.linkedin.com/in/brianbeckman", "description": "Former Microsoft Researcher, actual Software Engineer at Amazon. Contributed to implementing FP features to inumerous Microsoft technologies such as C#, LINQ and F#"}]}, {"name": "License", "parent": "Table of Contents", "entries": []}]}