On Tue, Nov 20, 2018 at 4:38 AM komuW <komu...@gmail.com> wrote:
>>
>> A contract can also be written in terms of a struct:
>>
>> contract linkedListNode {
>>   X struct {
>>     next *X
>>   }
>> }
>
>
> In this example taken from the linked document; what is X?

X is the name of the struct type. This struct satisfies that contract:

type node struct {
   next *node
}

This does not:

type node struct {
   next *int
}

>
>
> On Tuesday, 20 November 2018 05:38:31 UTC+3, Burak Serdar wrote:
>>
>> Hi,
>>
>> A while ago I sent an email to this list proposing an alternative way
>> to specify contracts using existing types, with a "like" keyword to
>> represent contracts on primitives. The idea stirred up some
>> discussion, I got some useful feedback, and eventually, it died down.
>> The idea stuck with me though, because it wasn't complete when I
>> proposed it, it had inconsistencies and unresolved problems. It turned
>> into this puzzle that I kept working on on the side, I started writing
>> a contracts/generics simulator, which I never finished, but it allowed
>> me to figure out a way to solve the problems the original idea had. So
>> the latest version of that proposal is now here:
>>
>> https://gist.github.com/bserdar/8f583d6e8df2bbec145912b66a8874b3
>
> --
> You received this message because you are subscribed to the Google Groups 
> "golang-nuts" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to golang-nuts+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to