samth at ccs.neu.edu
Mon Jan 14 15:18:48 PST 2013
On Mon, Jan 14, 2013 at 6:05 PM, Mark S. Miller <erights at google.com> wrote:
> A fair point. By "contracts" in that first word, we refer to
> real-world contracts. For software "contracts", we initially had a
> footnote trying to explain the relationship between the "smart
> contracts" we're talking about and the type-like "contracts" that this
> literature refers to. Perhaps unwisely, I removed it because I thought
> it created more confusion than it cleared up. By introducing "the
> exchange of rights" in that same first sentence I hope we make it
> clear that we're talking about a different kind of contract, one
> closer to the real world notion.
I disagree, in two senses. First, behavioral software contracts in
the sense of Meyer have a close analogy to real-world contracts, in
particular contracts for the exchange of goods. For example, a spot
contract is just an agreement to exchange some good meeting some
specified description for another (usually one is money). Second, I
believe that your escrow contracts are closely related to software
contracts, in the sense that we could formulate them as software
contracts in a sufficiently-expressive contract system, where the
contract/runtime system itself plays the role of trusted host.
> I'll see if I can find the footnote I deleted, at least for the record
> here on es-discuss ;).
> On Mon, Jan 14, 2013 at 2:57 PM, Sam Tobin-Hochstadt <samth at ccs.neu.edu> wrote:
>> On Mon, Jan 14, 2013 at 5:46 PM, Mark S. Miller <erights at google.com> wrote:
>>> At http://code.google.com/p/es-lab/downloads/detail?name=distr-erights-in-js.pdf
>>> Paper for invited talk at ESOP2013 http://www.etaps.org/2013/esop13
>>> Final already submitted, but comments of course appreciated anyway.
>> Given that the first word of your abstract is "Contracts", it's
>> surprising to me that you don't reference any of the quite extensive
>> literature on software contracts, starting with Bertrand Meyer in the
>> 80s, and continuing with Findler and Felleisen's work on higher-order
>> contracts over the past 10+ years, which has even been implemented for
>> JS by Tim Disney using proxies .
>>  http://disnetdev.com/contracts.coffee/
More information about the es-discuss