├── README.md └── contributing.md /README.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | # Awesome Funcional Programming Studies 4 | 5 | Estudos de programação funcional maneiros. 6 | 7 | [Contributing.md](/contributing.md) 8 | 9 | ## Summary 10 | 11 | - [Functional Paradigm](#paradigm) 12 | - [Lambda Calculus - Combinators](#lambda-calculus-combinators) 13 | - [Theory](#theory) 14 | - [Javascript](#javascript) 15 | - [Haskell](#haskell) 16 | - [Scala](#scala) 17 | - [SML](#sml) 18 | - [OCaml](#ocaml) 19 | - [Elixir](#elixir) 20 | - [Ruby](#ruby) 21 | - [Elm](#elm) 22 | - [Scheme](#scheme) 23 | - [Common Lisp](#common-lisp) 24 | - [Clojure](#clojure) 25 | - [Idris](#idris) 26 | - [ReasonML](#reasonml) 27 | 28 | ## Paradigm 29 | 30 | - [Functional programming study plan](https://ericdouglas.github.io/2016/12/04/functional-programming-study-plan/) 31 | - [awesome functional programming](https://github.com/xgrommx/awesome-functional-programming) 32 | - [functional-programming-javascript](https://github.com/busypeoples/functional-programming-javascript) 33 | - [Hidden complexities of tail-call/tail-recursion optimization](http://lambda-the-ultimate.org/classic/message1532.html#1533) 34 | - [Erik Meijer: Functional Programming](https://www.youtube.com/watch?v=z0N1aZ6SnBk) 35 | - [Philip Wadler and Erik Meijer: On Programming Language Theory and Practice](https://youtu.be/9SBR_SnrEiI) 36 | - [How to Design Programs](http://www.htdp.org/) 37 | - [Introduction to Functional Programming (Prentice Hall International Series in Computing Science) ](https://www.amazon.com/Introduction-Functional-Programming-International-Computing/dp/0134841891) 38 | - [A Proof Assistant for Higher-Order Logic](http://isabelle.in.tum.de/doc/tutorial.pdf) 39 | - [The Implementation of Functional Programming Languages](https://www.microsoft.com/en-us/research/publication/the-implementation-of-functional-programming-languages/?from=http%3A%2F%2Fresearch.microsoft.com%2Fen-us%2Fum%2Fpeople%2Fsimonpj%2Fpapers%2Fslpj-book-1987%2Fstart.htm) 40 | - [C9 Lectures: Dr. Erik Meijer - Functional Programming Fundamentals](https://www.youtube.com/playlist?list=PLTA0Ta9Qyspa5Nayx0VCHj5AHQJqp1clD) 41 | 42 | 43 | #### Courses 44 | 45 | - [Programming Languages](https://pt.coursera.org/learn/programming-languages) ***** 46 | - Curso em SML, Ruby e Scheme com uma abordagem a programação funcional muito interessante. 47 | - [fp-course](https://github.com/data61/fp-course) 48 | - [SICP](https://mitpress.mit.edu/sites/default/files/6515.pdf) 49 | - Livro com teoria e exercicios em Scheme que era usado para ensinar introdução a computação do MIT. 50 | - [MIT 6.001 Structure and Interpretation, 1986](https://www.youtube.com/playlist?list=PLE18841CABEA24090) 51 | - Playlist com as aulas da matéria Introdução à Computação, do MIT, baseada no SICP. 52 | - [How to Code - Simple Data](https://www.edx.org/course/how-to-code-simple-data) ***** 53 | - Curso em Inglês baseado no livro How to Design Programs citado na seção "Paradigm" 54 | - [How to Code - Complex Data](https://www.edx.org/course/how-to-code-complex-data) 55 | - Continuação do curso acima. 56 | 57 | #### Papers 58 | 59 | - [Why Functional Programming Matters](https://www.cs.kent.ac.uk/people/staff/dat/miranda/whyfp90.pdf) 60 | - [Functional Programming should be your #1 priority for 2015](https://medium.com/@jugoncalves/functional-programming-should-be-your-1-priority-for-2015-47dd4641d6b9) 61 | 62 | #### Books 63 | - [Programação Funcional Para Desenvolvedores Java](https://www.amazon.com.br/Programa%C3%A7%C3%A3o-Funcional-Para-Desenvolvedores-Java/dp/857522316X) 64 | - Ótimo livro pra quem tá acostumado com POO e quer começar a entender o paradigma funcional. Não precisa saber Java. 65 | - [Purely Functional Data Structures](https://www.cs.cmu.edu/~rwh/theses/okasaki.pdf) 66 | 67 | - [Algoritmos Funcionais](https://altabooks.com.br/produto/algoritmos-funcionais/) ***** 68 | - Ótimo livro pra quem está querendo ver lógica de programação funcional, utilizando Haskell e Hope. Não precisa saber essas linguagens. 69 | 70 | #### Videos 71 | - [Coding Tech - Functional Programming](https://www.youtube.com/playlist?list=PLFjq8z-aGyQ4gTpuAhnPEQBOz7Xz7wn_m) 72 | - Playlist com diferentes vídeos sobre programação funcional, incluindo Type Systems, Reactive Programming, Introduções com JS, etc 73 | 74 | ## Lambda Calculus-Combinators 75 | 76 | - [A Taste of the λ Calculus](http://www.flyingmachinestudios.com/programming/a-taste-of-the-lambda-calculus/) 77 | - [A Graphical Notation for the Lambda Calculus with Animated Reduction](http://dkeenan.com/Lambda/) 78 | - [Combinator Birds](http://www.angelfire.com/tx4/cus/combinator/birds.html) 79 | - Summary of all combinators named by the book 80 | - [The SKI Combinator Calculus - a universal formal system](http://people.cs.uchicago.edu/~odonnell/Teacher/Lectures/Formal_Organization_of_Knowledge/Examples/combinator_calculus/) 81 | - [BCKW Combinators (Wikipedia)](https://en.wikipedia.org/wiki/B,_C,_K,_W_system) 82 | - [Ski Combinators (Wikipedia)](https://en.wikipedia.org/wiki/SKI_combinator_calculus) 83 | - [Mockingbirds and Simple Recursive Combinators in Ruby](https://github.com/raganwald-deprecated/homoiconic/blob/master/2011/11/mockingbirds.md) 84 | 85 | #### Talks 86 | - [Programming With Nothing](http://rubymanor.org/3/videos/programming_with_nothing/) 87 | 88 | #### Books 89 | - [Lambda-Calculus and Combinators: An Introduction](https://www.amazon.com/Lambda-Calculus-Combinators-Introduction-Roger-Hindley/dp/0521898854) 90 | - [To Mock a Mocking Bird](https://www.amazon.com/Mock-Mockingbird-Other-Logic-Puzzles/dp/0192801422) 91 | - [To Mock a Mockingbird and Other Logic Puzzles](https://www.amazon.com/exec/obidos/tg/detail/-/0394534913/104-1615637-3868724) 92 | - [An Introduction to Functional Programming Through Lambda Calculus](https://www.amazon.com.br/gp/product/0486478831/ref=ppx_yo_dt_b_asin_title_o05_s00?ie=UTF8&psc=1) 93 | 94 | #### Games 95 | 96 | - [AlligatorEggs - Game](http://worrydream.com/AlligatorEggs/) 97 | - [AlligatorEggs Combinator](http://metatoys.org/alligator/) 98 | - [Cube Composer - Game](https://david-peter.de/cube-composer/) 99 | 100 | 101 | ## Theory 102 | 103 | #### Livros 104 | - [Category Theory for Programmers by Bartosz Milewski](https://bartoszmilewski.com/2014/10/28/category-theory-for-programmers-the-preface/) ***** 105 | - Livro online da introdução a teoria das cateogorias para programadores do Bartosz Milewski. 106 | - [Type Theory & Functional Programming](https://www.cs.kent.ac.uk/people/staff/sjt/TTFP/ttfp.pdf) 107 | - [The Algebra of Algebraic Data Types](http://chris-taylor.github.io/blog/2013/02/10/the-algebra-of-algebraic-data-types/) 108 | - [Functors, Applicatives, And Monads In Pictures](http://adit.io/posts/2013-04-17-functors,_applicatives,_and_monads_in_pictures.html) 109 | - [Types and Programming Languages](https://www.cis.upenn.edu/~bcpierce/tapl/) 110 | - [Fundamentos da Programação Lógica e Funcional](https://www.amazon.com.br/Fundamentos-Programa%C3%A7%C3%A3o-Funcional-Princ%C3%ADpio-Resolu%C3%A7%C3%A3o/dp/8523011412) 111 | 112 | #### Courses 113 | - [Video-series - Category theory for programmers by Bartosz Milewski](https://www.youtube.com/playlist?list=PLbgaMIhjbmEnaH_LTkxLI7FMa2HsnawM_) ***** 114 | - Video series das aulas do Bartosz Milewski de teoria das cateorias. 115 | - [Type Theory Foundations](https://www.youtube.com/playlist?list=PLGCr8P_YncjXRzdGq2SjKv5F2J8HUFeqN) 116 | - Série de vídeos das aulas do Robert Harper (Carnegie Mellon U) sobre type theory. 117 | - [Proof Theory Foundations](https://www.youtube.com/playlist?list=PL_zaeQ6Mf5FAYNk3GsK9tdj_Ce-eIfH_b) 118 | - Sério de vídeos das aulas do Frank Pfenning (Carnegie Mellon U) sobre proof theory. 119 | 120 | #### Videos 121 | 122 | - [Don't fear the monad - Brian Beckman](https://www.youtube.com/watch?v=ZhuHCtR3xq8) 123 | - [Brian Beckman: The Zen of Stateless State - The State Monad](https://www.youtube.com/watch?v=XxzzJiXHOJs) 124 | 125 | #### Blog posts / Papers 126 | 127 | - [Generators, iterators, control and continuations](http://gallium.inria.fr/blog/generators-iterators-control-and-continuations/) :star: :star: :star: :star: 128 | + Artigo do Gagallium/Inria (em OCaml) sobre estruturas de dados, travessia destas e inversão de controle. 129 | - [Implementing, and Understanding Type Classes](http://www.okmij.org/ftp/Computation/typeclass.html) :star: :star: :star: :star: :star: 130 | + O artigo explica o mecanismo de type classes de Haskell com paralelos encodings em OCaml 131 | 132 | ## Javascript 133 | 134 | - [A Gentle Introduction to Functional JavaScript](https://github.com/ChetHarrison/A-Gentle-Introduction-to-Functional-JavaScript) 135 | - [Functional programming patterns for the non-mathematician](https://www.youtube.com/watch?v=AvgwKjTPMmM) 136 | - [functional-programming-javascript](https://github.com/busypeoples/functional-programming-javascript) 137 | 138 | #### Combinators 139 | - [Common combinators in JavaScript](https://gist.github.com/Avaq/1f0636ec5c8d6aed2e45) 140 | - [Combinators-js](https://github.com/benji6/combinators-js) 141 | - [Fantasy Combinators](https://github.com/fantasyland/fantasy-combinators) 142 | - [Fantasy Birds](https://github.com/fantasyland/fantasy-birds) 143 | 144 | #### Libs 145 | 146 | - [Fantasy Land](https://github.com/fantasyland/fantasy-land) 147 | - [Crocks](https://github.com/evilsoft/crocks) 148 | - [Union Types](https://github.com/paldepind/union-type) 149 | - [Ramda](ramdajs.com) 150 | - [Church Encoding in JS](https://github.com/benji6/church) 151 | - [Folktale](https://github.com/origamitower/folktale) 152 | 153 | #### Talks 154 | 155 | - [David Nolen: Immutability: Putting The Dream Machine To Work ](https://www.youtube.com/watch?v=SiFwRtCnxv4) 156 | - [Anjana Vakil: Learning Functional Programming with JavaScript - JSUnconf 2016](https://www.youtube.com/watch?v=e-5obm1G_FY) 157 | - [Anjana Vakil: Immutable data structures for functional JS | JSConf EU 2017](https://www.youtube.com/watch?v=Wo0qiGPSV-s) 158 | - [Pure JavaScript - Christian Johansen](https://vimeo.com/49384334) 159 | - [James Coglan: Practical functional programming: pick two | JSConf EU 2014](https://youtu.be/XcS-LdEBUkE) 160 | 161 | #### Blog posts / Papers 162 | 163 | - [Functional Programming In JavaScript — With Practical Examples](https://medium.freecodecamp.org/functional-programming-in-js-with-practical-examples-part-1-87c2b0dbc276) 164 | - [Thinking in Ramda Series](http://randycoulman.com/blog/2016/07/19/thinking-in-ramda-wrap-up/) 165 | - [Erick Elliot - Composing Software Series](https://medium.com/javascript-scene/composing-software-an-introduction-27b72500d6ea) 166 | - [An Intro to Functional Programming Concepts in JavaScript](https://medium.com/@collardeau/intro-to-functional-programming-concepts-in-javascript-b0650773139c) 167 | - [Why Curry Helps](https://hughfdjackson.com/javascript/why-curry-helps/) 168 | - [JavaScript and Type Thinking](https://medium.com/@yelouafi/javascript-and-type-thinking-735edddc388d) 169 | - [Lazy, composable, and modular JavaScript](https://codewords.recurse.com/issues/four/lazy-composable-and-modular-javascript) 170 | [Monads in JavaScript](https://curiosity-driven.org/monads-in-javascript) 171 | - [A Monad in Practicality: First-Class Failures](http://robotlolita.me/2013/12/08/a-monad-in-practicality-first-class-failures.html) 172 | - [Master the JavaScript Interview: What is Functional Programming?](https://medium.com/javascript-scene/master-the-javascript-interview-what-is-functional-programming-7f218c68b3a0) 173 | 174 | #### Books 175 | - [Mostly adequate guide to FP (in javascript)](https://github.com/MostlyAdequate/mostly-adequate-guide) 176 | - [Functional Light Programming](https://github.com/getify/functional-light-js) 177 | - [Functional Programming Jargon](https://github.com/hemanth/functional-programming-jargon) 178 | - [JavaScript Allongé, the "Six" Edition](https://leanpub.com/javascriptallongesix) 179 | - [Manning Functional Programming in JavaScript](https://www.manning.com/Livros/functional-programming-in-javascript) 180 | - [Functional Javascript O'relly](http://shop.oreilly.com/product/0636920028857.do) 181 | 182 | #### Courses 183 | - [fp-begginer - ramda](http://paqmind.com/courses/fp-beginner/) 184 | 185 | #### Videos 186 | - [Functional Programming in Javascript - funfunfunction](https://www.youtube.com/playlist?list=PL0zVEGEvSaeEd9hlmCXrk5yUyqUag-n84) 187 | 188 | ## Haskell 189 | 190 | - [Functional Programming in Haskell](https://github.com/caiorss/Functional-Programming/blob/master/haskell/README.org) 191 | - [Category Theory](https://en.wikiLivros.org/wiki/Haskell/Category_theory) 192 | - [Adventure with Types in Haskell - Simon Peyton Jones (Lecture 1)](https://youtu.be/6COvD8oynmI?list=RD6COvD8oynmI) 193 | 194 | #### Videos 195 | - [A Totally Non-Terrifying, Practical Introduction to Type-Level Programming](https://www.youtube.com/watch?v=6FRJfEhlqyg) 196 | 197 | #### Courses 198 | 199 | - [School Of Haskell](https://www.schoolofhaskell.com/) 200 | - [Haskell Course - NPTEL](http://nptel.ac.in/courses/106106137/) 201 | - [Haskell Fast Hard](https://www.schoolofhaskell.com/school/to-infinity-and-beyond/pick-of-the-week/haskell-fast-hard) 202 | - [FUNCTIONAL PROGRAMMING - University of Edinburgh](https://www.inf.ed.ac.uk/teaching/courses/inf1/fp/) 203 | - [Parallel and Concurrent Haskel](https://www.youtube.com/playlist?list=PLbgaMIhjbmEm_51-HWv9BQUXcmHYtl4sw) 204 | - [Haskell for Imperative Programmers](https://www.youtube.com/playlist?list=PLe7Ei6viL6jGp1Rfu0dil1JH1SHk9bgDV) 205 | - [Grupo de Estudos de Haskell (UFABC)](http://pesquisa.ufabc.edu.br/haskell/basico.html) 206 | - [Haskell Course - Glasgow University](https://www.futurelearn.com/courses/functional-programming-haskell) 207 | 208 | #### Books 209 | 210 | - [Learn You A Haskell For Great Good(Free)](http://learnyouahaskell.com/) 211 | - [Real World Haskell](http://book.realworldhaskell.org/) 212 | - [Write Yourself a Scheme in 48 Hours](https://upload.wikimedia.org/wikipedia/commons/a/aa/Write_Yourself_a_Scheme_in_48_Hours.pdf) 213 | - An Introduction to Haskell through Example 214 | - [HaskellBook](http://haskellbook.com/) 215 | - [Write you a Haskell](http://dev.stephendiehl.com/fun/) 216 | - Building a modern functional compiler from first principles. 217 | - [What I Wish I Knew When Learning Haskell](http://dev.stephendiehl.com/hask/) 218 | 219 | ## Scala 220 | 221 | #### Videos 222 | - [Scala Monads: Declutter Your Code With Monadic Design](https://youtu.be/Mw_Jnn_Y5iA) 223 | - [Recursion Schemes Categorically](https://www.youtube.com/watch?v=PlFR6xBGphY) 224 | - Apresentação da Oli junto com o Bartosz Milewski, no ScalaUA 2020 225 | - [Scaladores](https://www.youtube.com/c/scaladores/videos) 226 | - Canal no youtube do grupo brasileiro sobre Scala 227 | 228 | #### Courses 229 | - [Coursera - Functional Programming Principles in Scala](https://www.coursera.org/learn/progfun1) 230 | - Serie de cursos do coursera sobre Scala e programação funcional com o criado da linguagem. 231 | - [Scala With Cats](https://www.youtube.com/playlist?list=PLk2QkBPrDTjjf0oeODg-3wj-npZw_nA8P) 232 | - Introdução à biblioteca Cats 233 | - [Introduction to Programming with Dependent Types](https://stepik.org/course/49181/promo) 234 | - Curso mais avançado sobre programação com tipos dependentes. 235 | 236 | #### Books 237 | - [Functional Programming in Scala](https://www.manning.com/books/functional-programming-in-scala) 238 | - [Scala With Cats](https://underscore.io/books/scala-with-cats/) 239 | 240 | #### Comunidade 241 | - [Scaladores](http://scaladores.herokuapp.com/) 242 | 243 | ## SML 244 | 245 | #### Courses 246 | - [The Little MLer](http://www.ccs.neu.edu/home/matthias/BTML/) **** 247 | Aquele curso do cousera 248 | - [Programming Languages](https://pt.coursera.org/learn/programming-languages) ***** 249 | - Curso em SML, Ruby e Scheme com uma abordagem a programação funcional muito interessante. 250 | 251 | #### Books 252 | - [Introduction to Programming using SML](http://catalogue.pearsoned.co.uk/educator/product/Introduction-to-Programming-using-SML/9780201398205.page) 253 | 254 | ## OCaml 255 | 256 | - [Telegram group - Reason & OCaml Brasil](https://t.me/reasonmlbrasil) 257 | 258 | #### OCaml docs 259 | - [OCaml Tutorials](http://ocaml.org/learn/tutorials/) ***** 260 | - [Solution of 99 Problems](http://ocaml.org/learn/tutorials/99problems.html) ***** 261 | - [Learn OCaml](http://ocaml.org/learn/) ***** 262 | 263 | #### Books 264 | - [Real World OCaml](https://v1.realworldocaml.org/v1/en/html/index.html) 265 | - [OCaml for the Skeptical](https://www2.lib.uchicago.edu/keith/ocaml-class/functions.html) 266 | 267 | - [Try OCaml](https://try.ocamlpro.com/) 268 | - [Introduction to OCaml](https://blog.baturin.org/introduction-to-ocaml.html) 269 | - [Beginners guide to OCaml beginners guides](http://blog.nullspace.io/beginners-guide-to-ocaml-beginners-guides.html) 270 | - [Ocaml Structure of Ocaml](https://ocaml.org/learn/tutorials/structure_of_ocaml_programs.html) 271 | - [First steps in OCaml](https://caml.inria.fr/pub/docs/u3-ocaml/ocaml-steps.html) 272 | - [Functional Programming by Example - Ocaml](https://gitlab.com/cyberglot/Functional-Programming/tree/master/ocaml) 273 | 274 | 275 | ## Erlang 276 | 277 | #### Books 278 | * [Learn you some Erlang for great good!](http://learnyousomeerlang.com/) 279 | * [Erlang in Anger](http://www.erlang-in-anger.com/) 280 | * [The Beam Book](https://happi.github.io/theBeamBook/) 281 | * The Erlang Runtime System 282 | 283 | ## Elixir 284 | 285 | #### Community 286 | - [ElixirBR telegram](https://t.me/elixirbr) 287 | - [Meetup ELUG](https://www.meetup.com/elug_sp/) 288 | - [Elixir Weekly](https://elixirweekly.net/) 289 | 290 | #### Videos 291 | - [Zero to Hero](https://www.youtube.com/playlist?list=PLaY7qWIrmqtFoZLvOvYRZG5hl367UybRp) 292 | - [Elixir: A Mini-Documentary](https://www.youtube.com/watch?v=lxYFOM3UJzo) 293 | 294 | #### Talks 295 | - [Phoenix a Web Framework for the New Web - José Valim](https://www.youtube.com/watch?v=bk3icU8iIto) 296 | - [The Elixir of Life - Fabio Akita](https://www.youtube.com/watch?v=8Ng6TfAj7Sk) 297 | 298 | #### Cast 299 | - [ElixirCasts](https://elixircasts.io/) 300 | 301 | #### Books 302 | - [Elixir In Action](https://www.manning.com/books/elixir-in-action) 303 | - [Erlang in Anger(Free)](http://www.erlang-in-anger.com/) 304 | - [Programming Elixir 1.6](https://pragprog.com/book/elixir16/programming-elixir-1-6) 305 | - [Programming Phoenix](https://pragprog.com/book/phoenix/programming-phoenix) 306 | - [Adopting Elixir](https://pragprog.com/book/tvmelixir/adopting-elixir) 307 | - [Metaprogramming Elixir](https://pragprog.com/book/cmelixir/metaprogramming-elixir) 308 | 309 | #### Courses 310 | - [Getting started](https://elixir-lang.org/getting-started/introduction.html) 311 | - [Try Elixir - CodeSchool](https://www.codeschool.com/courses/try-elixir) 312 | - [Elixir School](https://elixirschool.com/) 313 | - [30 Days Of Elixir](https://github.com/seven1m/30-days-of-elixir) 314 | - [Discover Elixir Phoenix](https://www.ludu.co/course/discover-elixir-phoenix/) 315 | - [Elixir FP](https://github.com/kblake/functional-programming) 316 | - [Koans Exercices](http://elixirkoans.io/) 317 | - [Joy Of Elixir](https://joyofelixir.com/toc.html) 318 | - [CheatSheet](https://media.pragprog.com/titles/elixir/ElixirCheat.pdf) 319 | - [Elixir Style Guide](https://github.com/christopheradams/elixir_style_guide) 320 | - [Elixir and Erlang packages and resources](https://elixir.libhunt.com/) 321 | - [Learn x in y](https://learnxinyminutes.com/docs/elixir/) 322 | - [Elixir 4noobs](https://github.com/aleDsz/elixir4noobs) 323 | 324 | ## Ruby 325 | - [Mockingbirds and Simple Recursive Combinators in Ruby](https://github.com/raganwald-deprecated/homoiconic/blob/master/2011/11/mockingbirds.md) 326 | 327 | 328 | ## Elm 329 | 330 | #### Learn By Example 331 | - [Try-elm](http://try-elm/examples) 332 | - [Elm-lang - Examples](http://elm-lang.org/examples) 333 | - [Elm-lang - Time travel Debug](http://debug.elm-lang.org/edit/Mario.elm) 334 | - [Learn You a Elm](http://learnyouanelm.github.io/) 335 | 336 | #### Stuff 337 | - [React Elm Components](https://github.com/evancz/react-elm-components) 338 | - Interop de React com Elm(Colocar componentes ELM no React) 339 | 340 | #### Courses 341 | - [Start Building Web Apps using Elmlang today](http://courses.knowthen.com/courses/enrolled/86520) 342 | 343 | #### Community 344 | - [Telegram Elm Brasil](https://t.me/elmbrasil) 345 | - Grupo do tele brasileiro de Elm 346 | - [Elm Lang Slack](https://elmlang.slack.com) 347 | - Slack de ELM 348 | - [Elm Weekly Newsletter](https://elmweekly.nl) 349 | 350 | #### Books 351 | - [Beginning Elm](https://elmprogramming.com) 352 | - Livro online de Elm explicando diversos conceitos da linguagem com exemplos de código e diagramas 353 | - [Practical Elm](https://korban.net/elm/book/) 354 | - Livro de Elm do Alex Korban 355 | - [Elm in Action](https://www.manning.com/books/elm-in-action) 356 | - Livro de Elm do Richard Feldman 357 | 358 | ## Scheme 359 | - [Functional Programming by Example - Scheme](https://github.com/caiorss/Functional-Programming/blob/master/scheme/README.org) 360 | - [SICP](https://mitpress.mit.edu/sites/default/files/6515.pdf) 361 | - Livro com teoria e exercicios em Scheme que era usado para ensinar introdução a computação do MIT. 362 | - [SICP Distilled](http://www.sicpdistilled.com/) 363 | 364 | ## Common Lisp 365 | 366 | - [Telegram Group - CommonLispBrasil](https://t.me/commonlispbr) 367 | 368 | #### Books 369 | - [Practical Common Lisp](http://www.gigamonkeys.com/book/) ***** 370 | - [On Lisp](http://www.paulgraham.com/onlisp.html) ***** 371 | - [Lisp In Small Pieces](https://www.amazon.com/Lisp-Small-Pieces-Christian-Queinnec/dp/0521545668) **** 372 | - [Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp] (https://github.com/norvig/paip-lisp) **** 373 | 374 | ## Clojure 375 | #### Books 376 | 1. Básico: [Clojure for the brave and true](https://www.braveclojure.com/clojure-for-the-brave-and-true/) 377 | 1. Básico: [Programming Clojure 2ed](https://pragprog.com/book/shcloj2/programming-clojure) 378 | 1. Intermediário Básico: [The Joy of Clojure](https://www.manning.com/books/the-joy-of-clojure-second-edition) 379 | 1. Intermediário Avançado\*: [Clojure Applied: From Practice to Practitioner](https://pragprog.com/book/vmclojeco/clojure-applied) 380 | 1. Avançado: [Mastering Clojure Macros](https://pragprog.com/book/cjclojure/mastering-clojure-macros) 381 | - [The Ultimate Guide to Clojure Concurrency](https://www.amazon.com.br/Ultimate-Guide-Clojure-Concurrency-comprehensive-ebook/dp/B0751GD147) 382 | - Livro do Eric Normand, responsável pelo site [LispCast](https://lispcast.com/) 383 | 384 | #### Comunidade 385 | - [clj-br](https://github.com/clj-br) 386 | - [clojurians](http://clojurians.net/) 387 | - [Clojure Brasil (Telegram)](https://web.telegram.org/#/im?p=@clojurebrasil) 388 | 389 | ##### ClojureBridge SP 390 | 391 | @ClojureBridgeSP no Twitter 392 | - [Material dos workshops](https://github.com/ClojureBridgeSP) 393 | - [Curriculum](http://clojurebridgesp.github.io/curriculum) 394 | 395 | #### Courses 396 | - [exercism.io](http://exercism.io/languages/clojure/about) 397 | - [Clojure Academy](https://clojurecademy.com/) 398 | - [Hacker Rank - Functional Programming Path](https://www.hackerrank.com/domains/fp/intro) 399 | - [Clojure Koans](http://clojurekoans.com/) 400 | - [Clojure Katas](http://clojurekatas.org/) 401 | - [Wonderland Clojure Katas](https://github.com/gigasquid/wonderland-clojure-katas) 402 | - [4Clojure](http://www.4clojure.com/) 403 | 404 | #### Sites 405 | - [Lambda Calculus: The Y combinator in clojure](http://blog.klipse.tech/lambda/2016/08/07/pure-y-combinator-clojure.html) 406 | - [Clojure ToolBox](https://www.clojure-toolbox.com/) 407 | - Guia de libraries e tools em Clojure 408 | - [Clojure Styleguide](https://github.com/bbatsov/clojure-style-guide) 409 | - Guia de estilo e organização de codigo em Clojure 410 | - [Clojure By Example](https://kimh.github.io/clojure-by-example/) 411 | - Guia de Clojure por meio de exemplos 412 | - [Clojure CheatSheet](https://clojure.org/api/cheatsheet) 413 | - CheatSheet de funções em clojure 414 | - [Clojure Design Patterns](http://mishadoff.com/blog/clojure-design-patterns/) 415 | 416 | ## ClojureScript 417 | 418 | #### Books 419 | * [ClojureScript: Up And Running](http://shop.oreilly.com/product/0636920025139.do) 420 | * [Clojure Cookbook](http://clojure-cookbook.com/) 421 | * [Learning ClojureScript](https://www.packtpub.com/web-development/learning-clojurescript) 422 | 423 | #### Courses 424 | - [Modern ClojureScript](https://github.com/magomimmo/modern-cljs) 425 | - [ClojureScript Workshop](https://www.niwi.nz/cljs-workshop/) 426 | 427 | ## Idris 428 | 429 | ### Books 430 | - [Type-Driven Development with Idris](https://www.manning.com/books/type-driven-development-with-idris) 431 | - [Software Foundations](https://idris-hackers.github.io/software-foundations/pdf/sf-idris-2018.pdf) 432 | - [Gentle Introduction to Dependent Types with Idris](https://leanpub.com/gidti) 433 | 434 | ### Sites 435 | - [The Idris tutorial](http://docs.idris-lang.org/en/latest/tutorial/index.html) 436 | 437 | ### Talks 438 | - [Type-Driven Development in Idris — Edwin Brady](https://www.youtube.com/watch?v=X36ye-1x_HQ) 439 | - [Idris: Practical Dependent Types with Practical Examples — Brian McKenna](https://www.youtube.com/watch?v=4i7KrG1Afbk) 440 | - [Type-driven Development of Communicating Systems in Idris — Edwin Brady](https://www.youtube.com/watch?v=IQO9N0Y8tcM) 441 | 442 | ### Blog posts 443 | - [10 things Idris improved over Haskell](https://deque.blog/2017/06/14/10-things-idris-improved-over-haskell/) 444 | - [Tests vs. Types](http://kevinmahoney.co.uk/articles/tests-vs-types/) 445 | 446 | ### Papers 447 | - [Programming and Reasoning w/ Side-Effects in Idris](https://eb.host.cs.st-andrews.ac.uk/drafts/eff-tutorial.pdf) 448 | - [Programming and Reasoning w/ Algebraic Effects and Dependent Types](https://eb.host.cs.st-andrews.ac.uk/drafts/effects.pdf) 449 | 450 | 451 | ## ReasonML 452 | 453 | - [Discord group - ReasonBR](https://discord.gg/mb7VXG) 454 | 455 | ### Talks 456 | - [ReasonML e ReScript: O ECMAScript de 2077! (Meetanços)](https://youtu.be/Hoed0aZGbJY) 457 | - [Lambda/IO - Workshop A Trindade ReasonML, React e GraphQL na Hash](https://youtu.be/I_wZ_nsWld8) 458 | - [ECMAScript 2077 (ReasonML) - Gabriel Rubens](https://www.youtube.com/watch?v=q1gPfQHpVjo) 459 | -------------------------------------------------------------------------------- /contributing.md: -------------------------------------------------------------------------------- 1 | 2 | ## Contributing 3 | 4 | Formato do conteúdo: 5 | Deve conter link, nota p/ o conteúdo e uma descrição. 6 | 7 | - [Github](github.com) ***** 8 | - Site para hospedagem de código-fonte com controle de versão git. --------------------------------------------------------------------------------