A community of language design enthusiasts interested in bringing new languages to the Ethereum platform.
Current status:
Apart from general discussions in the Gitter room, some people in this community are in the process of conducting an experiment in which different approaches to contract implementation will be evaluated with respect to a set of metrics. New participants and opinions are extremely welcome! We are currently in the process of defining the framework of the experiment, help and feedback is encouraged.
Topics of interest:
- Entity Component Systems
- Linear Logic and types
- Haskell-inspired language for the EVM
- Lisp-inspired language for the EVM
- Dependent Types and Formal Verification
- Asynchrony
Please join us on the evm-lang-design gitter channel for all things PLT+ETH:
Please read the Contributing License Agreement. Communication on Gitter and other public channels are also subject to this agreement.
- 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.
- Jack Pettersson 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!