From mboxrd@z Thu Jan 1 00:00:00 1970 MIME-Version: 1.0 In-Reply-To: <20100701174329.D776A5B67@mail.bitblocks.com> References: <4C1F05E7-B327-480A-91F3-055076377C99@fastmail.fm> <3633bacf2efc9da1b911893b4029531b@coraid.com> <4C2BAED2.5010104@authentrus.com> <7B526717-D990-4029-8221-A0AA5C78B224@fastmail.fm> <20100701174329.D776A5B67@mail.bitblocks.com> From: Jorden M Date: Thu, 1 Jul 2010 14:37:32 -0400 Message-ID: To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Subject: Re: [9fans] xml Topicbox-Message-UUID: 3c283e60-ead6-11e9-9d60-3106f5b1d025 On Thu, Jul 1, 2010 at 1:43 PM, Bakul Shah wrot= e: > On Thu, 01 Jul 2010 10:12:00 PDT Russ Cox =A0wrote: >> > 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. =A0If 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. > =A0 =A0http://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?! > >