9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: Jorden M <jrm8005@gmail.com>
To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net>
Subject: Re: [9fans] xml
Date: Thu,  1 Jul 2010 15:34:35 -0400	[thread overview]
Message-ID: <AANLkTimKN1rVGPoTzygk49LM59RTwMAPufsW4xN6KRf4@mail.gmail.com> (raw)
In-Reply-To: <AANLkTil_FUvD6SHVjFegHUVR4_D0fWatyTd26w4fT3ff@mail.gmail.com>

On Thu, Jul 1, 2010 at 2:49 PM, Rob Pike <robpike@gmail.com> wrote:
>> `Interfaces', the way they are invariably implemented, don't cut it --
>> too limiting and imposing.
>
> I do not claim that Go's interfaces can match the type system of
> Haskell but this sentence tells me you aren't very familiar with them.
>  They are not implemented, invariably or otherwise, like any other
> things called interfaces that I know.  They also don't work very much
> like the same-named things in other languages.
>
> As for limiting? Maybe. Imposing? Not at all. If anything, I'd call
> them liberating.
>
> As Russ said, there's more new in Go than many observers seem to
> realize.  The language looks much more traditional than it really is.
>
> -rob
>
>

I wasn't making a particular statement about Go, as I am not that
familiar with it. Syntactically, it's eerily similar to Algol, but
obviously there's more to a language than syntax. We all know how
sweeping generalizations are.

Go's interfaces definitely cut down on coupling compared with, let's
say Java and C++, since they're fun to beat on. I am left to wonder if
the implicitness of Go interfaces causes problems until I explore the
language more. Lack of polymorphism in the interfaces seems to limit
the extent to which they can be compared to Haskell type classes, but
it seems safe to say that they are definitely a subset.  Being a bit
more general than Go is with the kinds of function types a
class/interface can specify seems incredibly useful, so, limiting,
yes. Imposing... perhaps not. But I wasn't interested in starting a
`my typesystem can beat up yours' non-discussion, just pointing out
something that seems to have a lot of functionality while still being
incredibly elegant compared to alternatives. Haskell manages to think
farther outside the box than just about everyone, and we'll need a lot
of that as the multicore roll-out continues.

In any event, these kinds of square-peg-round-hole comparisons are
always subject to the Turing-completeness reductio ad absurdum so I
guess it's best not to look too deeply.



  parent reply	other threads:[~2010-07-01 19:34 UTC|newest]

Thread overview: 77+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-06-28 16:19 hugo rivera
2010-06-28 16:55 ` Russ Cox
2010-06-28 17:06 ` Ethan Grammatikidis
2010-06-28 18:26   ` Rob Pike
2010-06-28 18:31     ` David Leimbach
2010-06-28 18:40       ` Rob Pike
2010-06-28 19:06         ` erik quanstrom
2010-06-28 19:14           ` Corey Thomasson
2010-06-30 14:47             ` hugo rivera
2010-06-30 18:25               ` David Leimbach
2010-06-30 18:43                 ` ron minnich
2010-06-30 19:54                   ` Pietro Gagliardi
2010-06-30 20:04                     ` Corey Thomasson
2010-06-30 20:21                       ` erik quanstrom
2010-06-30 20:53                         ` Wes Kussmaul
2010-07-01 15:06                           ` Ethan Grammatikidis
2010-07-01 17:12                             ` Russ Cox
2010-07-01 17:43                               ` Bakul Shah
2010-07-01 18:37                                 ` Jorden M
2010-07-01 18:49                                   ` Rob Pike
2010-07-01 19:33                                     ` Bakul Shah
2010-07-01 19:34                                     ` Jorden M [this message]
2010-07-02 10:45                                       ` roger peppe
2010-06-30 20:07                     ` LiteStar numnums
2010-06-30 18:59                 ` LiteStar numnums
  -- strict thread matches above, loose matches on Subject: below --
2010-07-03 15:51 Dean Bittner
2007-05-21 16:57 [9fans] XML ron minnich
2007-05-21 17:08 ` W B Hacker
2007-05-21 17:11 ` Roman Shaposhnik
2007-05-21 17:27   ` W B Hacker
2007-05-21 17:37     ` Francisco J Ballesteros
2007-05-22 10:47       ` Charles Forsyth
2007-05-22 11:31         ` erik quanstrom
2007-05-25 15:03         ` David Leimbach
2007-05-25 15:08           ` erik quanstrom
2007-05-25 17:02           ` Charles Forsyth
2007-05-25 17:32             ` Francisco J Ballesteros
2007-05-25 18:15               ` ron minnich
2007-05-25 19:58                 ` Uriel
2007-05-25 22:11                 ` erik quanstrom
2007-05-25 19:35               ` Steve Simon
2007-05-25 20:36                 ` Francisco J Ballesteros
2007-05-25 18:30         ` ozan s. yigit
2007-05-25 20:23           ` Charles Forsyth
2007-05-21 17:33   ` ron minnich
2007-05-21 20:18     ` David Leimbach
2007-05-21 20:25       ` erik quanstrom
2007-05-22  4:13         ` lucio
2007-05-21 18:17   ` erik quanstrom
2007-05-21 18:29     ` Uriel
2007-05-21 18:21   ` Uriel
2007-05-22  1:25     ` LiteStar numnums
2007-05-21 18:26   ` Skip Tavakkolian
2007-05-21 18:39     ` Jack Johnson
2007-05-21 18:48       ` Uriel
2007-05-21 19:26       ` Skip Tavakkolian
2007-05-21 20:17   ` David Leimbach
2007-05-21 22:34   ` Steve Simon
2007-05-21 17:32 ` Bakul Shah
2007-05-21 18:23 ` matt
2007-05-21 18:34 ` Geoffrey Avila
2007-05-21 18:41   ` Uriel
2007-05-21 19:27     ` Geoffrey Avila
2007-05-22 22:24       ` Roman Shaposhnik
2007-05-22  4:08     ` lucio
2007-05-21 23:29   ` W B Hacker
2007-05-21 23:34     ` erik quanstrom
2007-05-22 14:02       ` Wes Kussmaul
2007-05-22 14:03         ` erik quanstrom
2007-05-22 14:55           ` Bruce Ellis
2007-05-22 15:05             ` Jack Johnson
2007-05-23  7:12             ` Lluís Batlle
2007-05-23  8:11               ` Lluís Batlle
2007-05-23  8:29                 ` lucio
2007-05-22 15:22           ` Wes Kussmaul
2007-05-22 14:53         ` Jack Johnson
2007-05-22  9:53   ` Charles Forsyth

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=AANLkTimKN1rVGPoTzygk49LM59RTwMAPufsW4xN6KRf4@mail.gmail.com \
    --to=jrm8005@gmail.com \
    --cc=9fans@9fans.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).