Therefore, we have chosen to design a new language called Simon6 in honor of its creator Simon Thompson and the creator of the concepts that inspired it, Simon Peyton Jones. Simon is a domain-specific language that is based upon Composing contracts: an adventure in financial engineering.
The principal idea is that financial transactions are generally composed from a collection of foundational elements7. If one assembles a financial periodic table of elements, then one can provide support for an arbitrarily large set of compound transactions that will cover most, if not all, common transaction types without requiring general programmability.
The primary advantage is that security and execution can be extremely well understood. Proofs can be written to show correctness of templates and exhaust the execution space of problematic transaction events, such as the creation of new money out of thin air or transaction malleability. Second, one can leave in extensions to add more elements by way of soft forks if new functionality is required.
That said, there will always be a need to connect CSL to overlay protocols, legacy financial systems, and special purpose servers. Thus we have developed Plutus as both a general purpose smart contract language and also a special purpose DSL for interoperability.
Plutus is a typed functional language based on concepts from Haskell, which can be used to write custom transaction scripts. For CSL, it will be used for complex transactions required to add support for other layers we need to connect, such as our sidechains scheme."
The Quorum[1] team has been dreaming about such a
Haskell-beginner-friendly bytecode-generating DSL for a very long time.
The user experience of writing applications in a language where pitfalls
are so non-obvious is one of the biggest pain points of Ethereum in general.
We would warmly welcome something like this, and would definitely look
to use it in Quorum. (Our EVM is the same as public Ethereum.)
[1]: A permissioned/non-PoW version of Ethereum with high throughput and
privacy - https://github.com/jpmorganchase/quorum/
On 1/26/2018 11:43 AM, Carter Schonwald wrote:
> Hello Takenobu,
> while theres definitely a lot of haskell code out there that deals with
> ethereum (or implementing it!), i'm not aware of anything targeting the
> evm isa from haskell or any other mature functional programming language
>
> On Fri, Jan 26, 2018 at 8:09 AM, Takenobu Tani <takenobu.hs@gmail.com
> <mailto:takenobu.hs@gmail.com>> wrote:
>
> Hi cafe,
>
> Does anyone know about the code generator from Haskell's syntax to
> Ethereum VM language (bytecode)?
> That is, what corresponds to Solidity in Haskell.
>
> Although Solidity is interesting, it's difficult for me to achieve
> quality and safety.
> Does such a project already exist?
>
> Regards,
> Takenobu
>
>
>
> _______________________________________________
> Haskell-Cafe mailing list
> To (un)subscribe, modify options or view archives go to:
> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell- cafe
> <http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell- >cafe
> Only members subscribed via the mailman list are allowed to post.
>
>
>
>
> _______________________________________________
> Haskell-Cafe mailing list
> To (un)subscribe, modify options or view archives go to:
> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell- cafe
> Only members subscribed via the mailman list are allowed to post.
>