Return-Path: Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id 931D5F79 for ; Sun, 14 Jan 2018 22:42:03 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from mail.bluematt.me (mail.bluematt.me [192.241.179.72]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id DB76B12E for ; Sun, 14 Jan 2018 22:42:02 +0000 (UTC) Received: from [28.54.42.19] (99-203-11-31.pools.spcsdns.net [99.203.11.31]) by mail.bluematt.me (Postfix) with ESMTPSA id 1DAF41A03C4; Sun, 14 Jan 2018 22:42:00 +0000 (UTC) Date: Sun, 14 Jan 2018 22:41:55 +0000 In-Reply-To: References: MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----MEGZA5R1AZITXDTAMS29W7HO7X1LQN" Content-Transfer-Encoding: 7bit To: Daniel Robinson , Bitcoin Protocol Discussion , Daniel Robinson via bitcoin-dev From: Matt Corallo Message-ID: <1CCF3C59-64DB-462F-AC62-AEA77FA01571@mattcorallo.com> X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,HTML_MESSAGE autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on smtp1.linux-foundation.org Subject: Re: [bitcoin-dev] Ivy: a higher-level language targeting Bitcoin Script X-BeenThere: bitcoin-dev@lists.linuxfoundation.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: Bitcoin Protocol Discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Jan 2018 22:42:03 -0000 ------MEGZA5R1AZITXDTAMS29W7HO7X1LQN Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable I'm curious if you've considered adding some form of compiler-time enforcem= ent to prevent witness malleability? With that, Ivy could help to resolve f= or it's users one of the things that can make Bitcoin scripts more complica= ted to write, instead of simply type-checking and providing a high-level la= nguage mapped 1-to-1 with Bitcoin script=2E On December 18, 2017 8:32:17 PM UTC, Daniel Robinson via bitcoin-dev wrote: >Today, we=E2=80=99re releasing Ivy, a prototype higher-level language and >development environment for creating custom Bitcoin Script programs=2E >You >can see the full announcement here >, >or check out the docs and source >code >=2E > >Ivy is a simple smart contract language that can compile to Bitcoin >Script=2E >It aims to improve on the useability of Bitcoin Script by adding >affordances like named variables and clauses, static (and >domain-specific) >types, and familiar syntax for function calls=2E > >To try out Ivy, you can use the Ivy Playground for Bitcoin >, which allows you to create and test >simulated contracts in a sandboxed environment=2E > >This is prototype software intended for educational and research >purposes >only=2E Please don't try to use Ivy to control real or testnet Bitcoins= =2E ------MEGZA5R1AZITXDTAMS29W7HO7X1LQN Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable I'm curious if you've considered adding so= me form of compiler-time enforcement to prevent witness malleability? With = that, Ivy could help to resolve for it's users one of the things that c= an make Bitcoin scripts more complicated to write, instead of simply type-c= hecking and providing a high-level language mapped 1-to-1 with Bitcoin scri= pt=2E

On December 18, 2017 8:32:17 PM UTC= , Daniel Robinson via bitcoin-dev <bitcoin-dev@lists=2Elinuxfoundation= =2Eorg> wrote:
Today, we=E2=80=99re releasing Ivy, a p= rototype higher-level language and development environment for creating cus= tom Bitcoin Script programs=2E You can see the full announcement here, or che= ck out the docs and source code=2E

Ivy is a simple smart contract language that can compil= e to Bitcoin Script=2E It aims to improve on the useability of Bitcoin Scri= pt by adding affordances like named variables and clauses, static (and doma= in-specific) types, and familiar syntax for function calls=2E

To try out Ivy, you can use the Ivy Playground for= Bitcoin, which allows you to create and test simulated contracts in a = sandboxed environment=2E

This is prototype software intended for educational and research purposes = only=2E Please don't try to use Ivy to control real or testnet Bitcoins=2E<= /div>

------MEGZA5R1AZITXDTAMS29W7HO7X1LQN--