
Probably you are aware of Cardano (https://www.cardanohub.org/en/home/), a
new generation blockchain platform which uses languages inspired from
Haskell. From the whitepaper at https://whycardano.com/:
"Systems such as Bitcoin provide an extremely inflexible and draconian
scripting language that is difficult to program bespoke transactions in, and
to read and understand. Yet the general programmability of languages such as
Solidity introduce an extraordinary amount of complexity into the system and
are useful to only a much smaller set of actors.
Therefore, we have chosen to design a new language called Simon6
https://whycardano.com/#footnote6 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:
https://www.lexifi.com/files/resources/MLFiPaper.pdf an adventure in
financial engineering.
The principal idea is that financial transactions are generally composed
from a collection of foundational elements7
https://whycardano.com/#footnote7 . 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
https://en.bitcoin.it/wiki/Value_overflow_incident air or transaction
https://en.bitcoin.it/wiki/Transaction_Malleability 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 https://github.com/input-output-hk/plutus-prototype 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."
_____
From: Haskell-Cafe [mailto:haskell-cafe-bounces@haskell.org] On Behalf Of
Takenobu Tani
Sent: Friday, January 26, 2018 8:05 PM
To: Patrick Mylund Nielsen
Cc: haskell-cafe
Subject: Re: [Haskell-cafe] Haskell to Ethereum VM ?
Hi Carter, Patrick,
Thank you for reply.
Quorum is interesting!
It would be very nice to be able to describe Ethereum's contract with
Haskell DSL.
The characteristics about immutable and type will fit DApps.
Thank you very much,
Takenobu
2018-01-27 2:55 GMT+09:00 Patrick Mylund Nielsen
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
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- http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe bin/mailman/listinfo/haskell-cafe <http://mail.haskell.org/cgi- http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe 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- http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe bin/mailman/listinfo/haskell-cafe Only members subscribed via the mailman list are allowed to post.