<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=us-ascii" http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 11.00.10570.1001"></HEAD>
<BODY>
<DIV dir=ltr align=left><SPAN class=776561701-27012018><FONT color=#000080
face=Calibri>Probably you are aware of Cardano (<A
href="https://www.cardanohub.org/en/home/">https://www.cardanohub.org/en/home/</A>),
a new generation blockchain platform which uses languages inspired from Haskell.
>From the whitepaper at <A
href="https://whycardano.com/">https://whycardano.com/</A>:</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=776561701-27012018><FONT color=#000080
face=Calibri></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=776561701-27012018><FONT color=#000080
face=Calibri>"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.
<P
style='BOX-SIZING: border-box; FONT-SIZE: 13px; FONT-FAMILY: "Open Sans", sans-serif; WHITE-SPACE: normal; WORD-SPACING: 0px; TEXT-TRANSFORM: none; FONT-WEIGHT: 400; COLOR: rgb(85,85,85); FONT-STYLE: normal; ORPHANS: 2; WIDOWS: 2; MARGIN: 0px 0px 10px; LETTER-SPACING: normal; BACKGROUND-COLOR: rgb(250,251,252); TEXT-INDENT: 0px; font-variant-ligatures: normal; font-variant-caps: normal; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial'>Therefore,
we have chosen to design a new language called Simon<SUP
style="BOX-SIZING: border-box; FONT-SIZE: 10px; VERTICAL-ALIGN: baseline; POSITION: relative; LINE-HEIGHT: 0; TOP: -0.5em"><A
style="BOX-SIZING: border-box; TEXT-DECORATION: none; COLOR: rgb(31,107,206); OUTLINE-WIDTH: 0px !important; OUTLINE-STYLE: none !important; OUTLINE-COLOR: invert !important"
href="https://whycardano.com/#footnote6">6</A></SUP><SPAN> </SPAN>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<SPAN> </SPAN><EM style="BOX-SIZING: border-box"><A
style="BOX-SIZING: border-box; TEXT-DECORATION: none; COLOR: rgb(31,107,206); OUTLINE-WIDTH: 0px !important; OUTLINE-STYLE: none !important; OUTLINE-COLOR: invert !important"
href="https://www.lexifi.com/files/resources/MLFiPaper.pdf">Composing contracts:
an adventure in financial engineering</A></EM>.</P>
<P
style='BOX-SIZING: border-box; FONT-SIZE: 13px; FONT-FAMILY: "Open Sans", sans-serif; WHITE-SPACE: normal; WORD-SPACING: 0px; TEXT-TRANSFORM: none; FONT-WEIGHT: 400; COLOR: rgb(85,85,85); FONT-STYLE: normal; ORPHANS: 2; WIDOWS: 2; MARGIN: 0px 0px 10px; LETTER-SPACING: normal; BACKGROUND-COLOR: rgb(250,251,252); TEXT-INDENT: 0px; font-variant-ligatures: normal; font-variant-caps: normal; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial'>The
principal idea is that financial transactions are generally composed from a
collection of foundational elements<SUP
style="BOX-SIZING: border-box; FONT-SIZE: 10px; VERTICAL-ALIGN: baseline; POSITION: relative; LINE-HEIGHT: 0; TOP: -0.5em"><A
style="BOX-SIZING: border-box; TEXT-DECORATION: none; COLOR: rgb(31,107,206); OUTLINE-WIDTH: 0px !important; OUTLINE-STYLE: none !important; OUTLINE-COLOR: invert !important"
href="https://whycardano.com/#footnote7">7</A></SUP>. 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.</P>
<P
style='BOX-SIZING: border-box; FONT-SIZE: 13px; FONT-FAMILY: "Open Sans", sans-serif; WHITE-SPACE: normal; WORD-SPACING: 0px; TEXT-TRANSFORM: none; FONT-WEIGHT: 400; COLOR: rgb(85,85,85); FONT-STYLE: normal; ORPHANS: 2; WIDOWS: 2; MARGIN: 0px 0px 10px; LETTER-SPACING: normal; BACKGROUND-COLOR: rgb(250,251,252); TEXT-INDENT: 0px; font-variant-ligatures: normal; font-variant-caps: normal; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial'>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<SPAN> </SPAN><A
style="BOX-SIZING: border-box; TEXT-DECORATION: none; COLOR: rgb(31,107,206); OUTLINE-WIDTH: 0px !important; OUTLINE-STYLE: none !important; OUTLINE-COLOR: invert !important"
href="https://en.bitcoin.it/wiki/Value_overflow_incident">new money out of thin
air</A><SPAN> </SPAN>or<SPAN> </SPAN><A
style="BOX-SIZING: border-box; TEXT-DECORATION: none; COLOR: rgb(31,107,206); OUTLINE-WIDTH: 0px !important; OUTLINE-STYLE: none !important; OUTLINE-COLOR: invert !important"
href="https://en.bitcoin.it/wiki/Transaction_Malleability">transaction
malleability</A>. Second, one can leave in extensions to add more elements by
way of soft forks if new functionality is required.</P>
<P
style='BOX-SIZING: border-box; FONT-SIZE: 13px; FONT-FAMILY: "Open Sans", sans-serif; WHITE-SPACE: normal; WORD-SPACING: 0px; TEXT-TRANSFORM: none; FONT-WEIGHT: 400; COLOR: rgb(85,85,85); FONT-STYLE: normal; ORPHANS: 2; WIDOWS: 2; MARGIN: 0px 0px 10px; LETTER-SPACING: normal; BACKGROUND-COLOR: rgb(250,251,252); TEXT-INDENT: 0px; font-variant-ligatures: normal; font-variant-caps: normal; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial'>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<SPAN> </SPAN><A
style="BOX-SIZING: border-box; TEXT-DECORATION: none; COLOR: rgb(31,107,206); OUTLINE-WIDTH: 0px !important; OUTLINE-STYLE: none !important; OUTLINE-COLOR: invert !important"
href="https://github.com/input-output-hk/plutus-prototype">Plutus</A><SPAN> </SPAN>as
both a general purpose smart contract language and also a special purpose DSL
for interoperability.</P>
<P
style='BOX-SIZING: border-box; FONT-SIZE: 13px; FONT-FAMILY: "Open Sans", sans-serif; WHITE-SPACE: normal; WORD-SPACING: 0px; TEXT-TRANSFORM: none; FONT-WEIGHT: 400; COLOR: rgb(85,85,85); FONT-STYLE: normal; ORPHANS: 2; WIDOWS: 2; MARGIN: 0px 0px 10px; LETTER-SPACING: normal; BACKGROUND-COLOR: rgb(250,251,252); TEXT-INDENT: 0px; font-variant-ligatures: normal; font-variant-caps: normal; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial'>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.<SPAN
class=776561701-27012018>"</SPAN></P></FONT></SPAN></DIV><BR>
<DIV lang=en-us class=OutlookMessageHeader dir=ltr align=left>
<HR tabIndex=-1>
<FONT size=2 face=Tahoma><B>From:</B> Haskell-Cafe
[mailto:haskell-cafe-bounces@haskell.org] <B>On Behalf Of </B>Takenobu
Tani<BR><B>Sent:</B> Friday, January 26, 2018 8:05 PM<BR><B>To:</B> Patrick
Mylund Nielsen<BR><B>Cc:</B> haskell-cafe<BR><B>Subject:</B> Re: [Haskell-cafe]
Haskell to Ethereum VM ?<BR></FONT><BR></DIV>
<DIV></DIV>
<DIV dir=ltr>Hi Carter, Patrick,<BR><BR>Thank you for reply.<BR>Quorum is
interesting!<BR>It would be very nice to be able to describe Ethereum's contract
with Haskell DSL.<BR>The characteristics about immutable and type will fit
DApps.<BR><BR>Thank you very much,<BR>Takenobu<BR><BR><BR></DIV>
<DIV class=gmail_extra><BR>
<DIV class=gmail_quote>2018-01-27 2:55 GMT+09:00 Patrick Mylund Nielsen <SPAN
dir=ltr><<A href="mailto:haskell@patrickmn.com"
target=_blank>haskell@patrickmn.com</A>></SPAN>:<BR>
<BLOCKQUOTE class=gmail_quote
style="PADDING-LEFT: 1ex; BORDER-LEFT: #ccc 1px solid; MARGIN: 0px 0px 0px 0.8ex">The
Quorum[1] team has been dreaming about such a<BR>Haskell-beginner-friendly
bytecode-generating DSL for a very long time.<BR>The user experience of
writing applications in a language where pitfalls<BR>are so non-obvious is one
of the biggest pain points of Ethereum in general.<BR><BR>We would warmly
welcome something like this, and would definitely look<BR>to use it in Quorum.
(Our EVM is the same as public Ethereum.)<BR><BR>[1]: A permissioned/non-PoW
version of Ethereum with high throughput and<BR>privacy - <A
href="https://github.com/jpmorganchase/quorum/" rel=noreferrer
target=_blank>https://github.com/<WBR>jpmorganchase/quorum/</A><BR><SPAN
class="im HOEnZb"><BR>On 1/26/2018 11:43 AM, Carter Schonwald wrote:<BR>>
Hello Takenobu, <BR>> while theres definitely a lot of haskell code
out there that deals with<BR>> ethereum (or implementing it!), i'm not
aware of anything targeting the<BR>> evm isa from haskell or any other
mature functional programming language<BR>><BR>> On Fri, Jan 26, 2018 at
8:09 AM, Takenobu Tani <<A
href="mailto:takenobu.hs@gmail.com">takenobu.hs@gmail.com</A><BR></SPAN>
<DIV class=HOEnZb>
<DIV class=h5>> <mailto:<A
href="mailto:takenobu.hs@gmail.com">takenobu.hs@gmail.com</A>><WBR>>
wrote:<BR>><BR>> Hi cafe,<BR>><BR>>
Does anyone know about the code generator from Haskell's syntax
to<BR>> Ethereum VM language (bytecode)?<BR>>
That is, what corresponds to Solidity in
Haskell.<BR>><BR>> Although Solidity is interesting,
it's difficult for me to achieve<BR>> quality and
safety.<BR>> Does such a project already
exist?<BR>><BR>> Regards,<BR>>
Takenobu<BR>><BR>><BR>><BR>>
______________________________<WBR>_________________<BR>>
Haskell-Cafe mailing list<BR>> To
(un)subscribe, modify options or view archives go to:<BR>>
<A href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe"
rel=noreferrer
target=_blank>http://mail.haskell.org/cgi-<WBR>bin/mailman/listinfo/haskell-<WBR>cafe</A><BR>>
<<A
href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe"
rel=noreferrer
target=_blank>http://mail.haskell.org/cgi-<WBR>bin/mailman/listinfo/haskell-<WBR>cafe</A>><BR>>
Only members subscribed via the mailman list are allowed to
post.<BR>><BR>><BR>><BR>><BR>>
______________________________<WBR>_________________<BR>> Haskell-Cafe
mailing list<BR>> To (un)subscribe, modify options or view archives go
to:<BR>> <A
href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe"
rel=noreferrer
target=_blank>http://mail.haskell.org/cgi-<WBR>bin/mailman/listinfo/haskell-<WBR>cafe</A><BR>>
Only members subscribed via the mailman list are allowed to
post.<BR>><BR></DIV></DIV></BLOCKQUOTE></DIV><BR></DIV></BODY></HTML>