Re: Proposing Solang Solidity Compiler


Bob Summerwill [ETC Cooperative] <bob@...>
 

Just to give some broader context, Solang is one of two major "Solidity compiler using LLVM projects" which are coming towards feature complete status.

The other is SOLL, from Second State, which is a C++ codebase with an eWASM backend and optional EVM backend in the form of evm_llvm being developed by ETC Labs.

https://github.com/second-state/soll
https://github.com/etclabscore/evm_llvm

https://medium.com/etclabscore/the-evm-llvm-is-coming-to-ethereum-classic-what-you-need-to-know-c13962f25571
https://www.businesswire.com/news/home/20200213005712/en/Ethereum-Classic-Labs-Announces-EVM-LLVM-Alpha-Release
http://llvm.etccore.io/

I have been working to coordinate all the different parties interested in LLVM based Ethereum compiler tooling over the past several months, but it is still early days.   I have been advocating for both SOLL and EVM_LLVM to be contributed to Hyperledger Labs too, so we can all work together within the Labs.   That may or may not make sense for the legal entities involved in the short term, but what we certainly can do is coordinate activities.   One obvious "quick win" would be to agree a common LLVM IR schema so that SOLL and Solang could be mixed-and-matched.

Many of us met IRL at ETHDenver this weekend, and there is now a Telegram group which we are using to coordinate:  https://t.me/ethereumllvm

My understanding of the current "frenemy" status between the various Ethereum smart contract language alternatives for Solidity and Vyper ...

Front-ends:


Solidity - SOLC (to Yul), SOLL (to LLVM IR), Solang (to LLVM IR)

Vyper - Rust Vyper (to Yul), Vyper (to LLL - needs rebuilding)


Back-ends:


EVM - LLVM-EVM, SOLC, Vyper-Rust, Vyper

WASM - Solang

eWASM - SOLL (via Yul or LLVM IR), Solang (via LLVM IR)


Join toc@lists.hyperledger.org to automatically receive all group messages.