On Thu, Jul 1, 2010 at 1:43 PM, Bakul Shah <bakul+pl...@bitblocks.com> wrote:
> On Thu, 01 Jul 2010 10:12:00 PDT Russ Cox <r...@swtch.com>  wrote:
>> > I do wonder if this is what the Go authors are trying to do in a
>> > different area to xml; reintroduce good practice under new terminology.
>>
>> I'd like to know which good practices Go is merely reintroducing.
>> The concurrency model, sure, but I believe the approaches to
>> interfaces and name visibility are new, as is having a garbage
>> collected language that lets you take the address of fields
>> in the middle of objects.  If you know of earlier work that already
>> did these, I'd be interested to hear about it.
>
> I haven't played with go much but aren't go's interfaces much
> like Haskell's type classes? The latter do seem much nicer to me.
>    http://www.haskell.org/tutorial/classes.html

Of the many languages that try to do type parameterization with type
classes as restrictions, they all seem to be very clunky compared to
Haskell.

`Interfaces', the way they are invariably implemented, don't cut it --
too limiting and imposing. `Templates' and `Concepts' together are
close to the Haskell way in spirit, but the execution seemed to suffer
from being bolted onto C++ and fighting with its flavor of OO. Duck
Typing isn't a solution, it's ignoration just asking for trouble.

In any case, getting a type system to be sane and please more than 90%
of the users is hard (insoluble?). Haskell is getting bigger, and you
can see some of the expansion is related to corner-cases in dealing
with the type system (multi-param type classes & fundeps, existential
types, GADTs, etc.)

>
> Apple's Obj C is now GCed so I think it will allow you to
> take address of a field in the middle of an object. You can
> use Bohm-Demers-Weiser conservative GC with C too!
>
> Perhaps not the same as in go but in the same neighbourhood, no?!
>
>

Reply via email to