A community of language design enthusiasts interested in bringing functional and other paradigms to the Ethereum platform.
Topics of interest:
- Entity Component Systems
- Linear Logic
- Haskell-inspired language for the EVM
- Lisp-inspired language for the EVM
- Dependent Types and Formal Verification
Please join us on the fp-ethereum gitter channel for all things FP+ETH:
- Typed, functional Solidity alternative
- Formal Verification of Ethereum Contracts (Yoichi's attempts)
- Sample Idris Ethereum smart contracts
- Idris to Serpent back end
- Bhargavan et al. Formal Verification of Smart Contracts.
- Pettersson, Jack and Robert Edström. Safer smart contracts through type-driven development. Using dependent and polymorphic types for safer development of smart contracts. (2016)
- DevCon1: Towards safer languages for smart contracts (video) - Jack Pettersson, Robert Edström, DevCon1, (2015)
- Notes on the DAO re-entrancy bug and behavioral types - Jack Pettersson, Lucius Gregory Meredith
- Total Functioal Programming (audio)
- A Lem formalization of EVM and some Isabelle/HOL proofs (gitter)
- https://github.com/jamshidh/ethereum-client-haskell
- https://github.com/jamshidh/ethereumH
- https://github.com/bkirwi/ethereum-haskell
- https://github.com/blockapps
- https://hackage.haskell.org/package/web3
- Haskell might be relevant to recent happenings in the ethereum world (July, 2016)
- Why Haskellers should be interested in ‘Smart Contracts’
- Barely Functional #1: Writing a Real Program in Haskell
- https://en.wikipedia.org/wiki/Entity%E2%80%93component%E2%80%93system
- http://entity-systems.wikidot.com/
- http://www.chris-granger.com/2012/12/11/anatomy-of-a-knockout/
- https://github.com/junkdog/artemis-odb/wiki/Introduction-to-Entity-Systems
- https://www.youtube.com/watch?v=V1Eu9vZaDYw
- Bahr et al. Certified Symbolic Management of Financial Multi-party Contracts (paper)
- https://github.com/nexusdev/evm-lang-brainstorm
- StackExchange: Is functional programming possible on the EVM?
- https://www.reddit.com/r/haskell/comments/2ur1gg/haskell_and_ethereum/
- https://www.reddit.com/r/ethereum/comments/4opjov/the_bug_which_the_dao_hacker_exploited_was_not/
- https://www.reddit.com/r/ethereum/comments/46s1q0/if_you_want_eth_to_be_serious_you_seriously_need/
We hope you feel welcomed to this community and that it is easy for you to join in the conversation regardless of your skill level!
Several members of the community have volunteered to answer questions or help you get acquainted with what is going on. Feel free to reach out and say hello!