Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pagarme/lambda
š® Estudos obscuros de programaĆ§Ć£o funcional
https://github.com/pagarme/lambda
functional-programming javascript lambda-calculus php ramda ramdajs
Last synced: 3 months ago
JSON representation
š® Estudos obscuros de programaĆ§Ć£o funcional
- Host: GitHub
- URL: https://github.com/pagarme/lambda
- Owner: pagarme
- Created: 2017-05-22T20:24:11.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2023-01-19T14:22:54.000Z (about 2 years ago)
- Last Synced: 2024-08-01T16:38:40.658Z (6 months ago)
- Topics: functional-programming, javascript, lambda-calculus, php, ramda, ramdajs
- Language: JavaScript
- Homepage:
- Size: 48.8 KB
- Stars: 317
- Watchers: 125
- Forks: 39
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Pagar.me Lambda
Um grupo de estudos sobre programaĆ§Ć£o funcional
## Ćndice
- [Intro](#intro)
- [Conceitos](#conceitos)
- [Links](#links)
- [Libs](#libs)
- [RecomendaƧƵes de leitura](#recomendaƧƵes-de-leitura)
- [Talks](#talks)## Intro
O propĆ³sito desse repo Ć© centralizar tudo que discutirmos na guilda de programaĆ§Ć£o funcional, desde material de estudos atĆ© discussƵes e datas de reuniƵes.
## Conceitos
- Imutabilidade
- IdempotĆŖncia
- Efeitos Colaterais
- Expressividade## Links
- [Cube Composer](http://david-peter.de/cube-composer/) - Puzzle que ensina *composiĆ§Ć£o* e operaƧƵes em lista como *map* e *filter*
- [la-ramda.js](https://gist.github.com/mrosata/0d54c552f297cf638bd719f7558478ac) - Um GIST implementando um subset de Ramda utilizando apenas arrow functions
- [YouTube - funfunfunction - Functional programming in JavaScript](https://www.youtube.com/playlist?list=PL0zVEGEvSaeEd9hlmCXrk5yUyqUag-n84) - Playlist criada pelo @mpj, autor do canal do Youtube *funfunfunction*, sobre programaĆ§Ć£o funcional com JavaScript. _Spoiler: ele Ć© super maluco._## Libs
Algumas linguagens mais populares como JS, PHP e C# tem bastante suporte Ć programaĆ§Ć£o funcional. libs dessa lista tem como objetivo entregar ferramentas para vocĆŖ extrair ao mĆ”ximo os benefĆcios de funcional escondidos nelas.
### Multi-linguagem
* [ReactiveX](http://reactivex.io/) - An API for asynchronous programming with observable streams.
### JS
* [Ramda](http://ramdajs.com/) - A practical functional library for JavaScript programmers.
### PHP
* [Garp Functional](https://github.com/grrr-amsterdam/garp-functional) - PHP utility library embracing functional programming paradigms. Supports PHP 5.3+.
* [Iter](https://github.com/nikic/iter) - Iteration primitives using generators.
* [Prelude](https://github.com/sergiors/prelude) - Functional library for PHP. Just PHP 7+.## RecomendaƧƵes de leitura
### Escrito por nĆ³s:
* [Sobre Javascript com funcional em mente](javascript.js)
* [Sobre Ramda](ramda.md)### GrƔtis
* [**The Rise and Fall and Rise of Functional Programming (Composing Software)**](https://medium.com/javascript-scene/the-rise-and-fall-and-rise-of-functional-programming-composable-software-c2d91b424c8c)
`
This is part 1 of the āComposing Softwareā series on learning functional programming and compositional software techniques in JavaScript ES6+ from the ground up.
`* [**Real world functional programming in JS**](https://github.com/haskellcamargo/js-real-world-functional-programming)
`
Tips and guidelines for scalable and easily maintainable code bases!
`* [**Mostly adequate guide to FP (in javascript)**](https://github.com/MostlyAdequate/mostly-adequate-guide)
`
This is a book on the functional paradigm in general. We'll use the world's most popular functional programming language: JavaScript.
`* [**Functional Workaholism**](https://codepen.io/brekk/post/functional-workaholism)
`
Over the last year or so I've been learning functional programming (FP) and trying to fold it into my basic approach to software. I'd like to frame it here the way I'd teach it to someone who knows JS but doesn't know FP.
`* [**Function composition with Handrails and Monads**](https://codepen.io/brekk/post/visual-function-composition)
`
In this article we're gonna talk about ways of visualizing functional composition and we're gonna introduce a simple Monad (don't worry, it's harmless!) that will make our composed functions safer in an easy-to-extend way.
`* [**Learn you a Haskell**](http://learnyouahaskell.com/)
`
Hey yo! This is Learn You a Haskell, the funkiest way to learn Haskell, which is the best functional programming language around. You may have heard of it. This guide is meant for people who have programmed already, but have yet to try functional programming.
`* [**Clojure for the Brave and True**](http://braveclojure.com/)
`One of the best books on Clojure ot there. It teaches you the basics of the language syntax and functions, but, more importantly, it teaches you how to think in a Clojure way.
`* [**Why Functional Programming Matters**](https://www.cs.kent.ac.uk/people/staff/dat/miranda/whyfp90.pdf)
`
Well-structured software is easy to write and to debug, and provides a collection of modules that can be reused to reduce future programming costs. In this paper we show that two features of functional languages in particular, higher-order functions and lazy evaluation, can contribute significantly to modularity.
`* [**Purely Functional Data Structures**](https://www.cs.cmu.edu/~rwh/theses/okasaki.pdf)
`
This book describes data structures from the point of view of functional languages, with examples, and presents design techniques that allow programmers to develop their own functional data structures. The author includes both classical data structures, such as red-black trees and binomial queues, and a host of new data structures developed exclusively for functional languages.
`
### Pago* [**Haskell Book**](http://haskellbook.com)
`
Welcome to a new way to learn Haskell. It is our goal to make Haskell as clear, painless, and practical as we can.
`## Talks
### Funcional em geral
* [**Functional Programming Design Patterns**](https://vimeo.com/113588389)
`
In object-oriented development, we are all familiar with design patterns such as the Strategy pattern and Decorator pattern, and design principles such as SOLID.
The functional programming community has design patterns and principles as well.
This talk will provide an overview of some of these, and present some demonstrations of FP design in practice.
`