This thread, while interesting at times, is getting difficult to follow, mainly 
due to it getting sidetracked like this.  A simple observation: being smart is 
attractive (not just in a sexual way), while being smart and making sure 
everyone knows it is not nearly so.  I'm not a computer scientist and most of 
my programming-related time is spent strongly swayed by pragmatic 
considerations.  That said, I get the value of a good grasp on language theory, 
as it can open one's mind to new ideas and possibilities.  So I'd love to hear 
more about Scala from that perspective, but I'd love to hear much much less 
about who thought of higher kinded types first and who got kicked out of an IRC 
channel when.  Thanks, gents.  Carry on.

Alexey



--- On Tue, 12/23/08, Tony Morris <[email protected]> wrote:

> From: Tony Morris <[email protected]>
> Subject: [The Java Posse] Re: Scala for the enterprise?
> To: "The Java Posse" <[email protected]>
> Date: Tuesday, December 23, 2008, 10:07 PM
> On Dec 24, 12:13 pm, Reinier Zwitserloot
> <[email protected]> wrote:
> > Ah, Tony Morris. Still getting kicked out of ##java
> within 10 minutes
> > of opening your mouth? I do want functional
> programming to become more
> > of an influence, so some friendly advice: You
> don't want him as your
> > evangelist.
> 
> I don't want me as an evangelist either. In fact, the
> very idea is
> grotesque. No I don't frequent ##java.
> 
> >
> > Please look at the PDF I linked to, written by amongst
> others, Martin
> > Odersky. Here's a link,
> again:http://www.cs.kuleuven.be/~adriaan/files/higher.pdf
> 
> I've read that paper. Indeed I reviewed some of the
> ideas in it with
> Adriaan Moors. In fact, I wrote the only existing library
> that
> implements the ideas in that paper (and other papers mind
> you
> including the one I mention below). Would you like to play
> with it? I
> comes with code samples and everything!
> 
> >
> > it contains evidence that you're talking complete
> and utter crud.
> > Please stop talking hogwash.
> 
> Then you'll gladly point it out or not, as usual.
> 
> >
> > Did I mention the paper is co-authored by Odersky? If
> his
> > understanding of the concept 'higher kinded
> type' is entirely
> > different from your own, I suggest you get your terms
> straight.
> 
> Higher-kinds were discussed by type theorists well before
> Odersky's
> paper. But yes, he has the term correct and I assume you
> have misread
> the paper. Appealing to Odersky as an authority to support
> your
> position is pretty darn silly - but you probably aren't
> aware of just
> how silly it is so I'll just smile :)
> 
> >
> > The paper:
> >
> > A) It says that map() is a method in Scala's
> Iterable trait. Right
> > there, on page 2. It even lists a handy snippet of
> Iterable!
> 
> Nobody suggested it wasn't. Your comprehension skills
> are lacking
> quite considerably. Another display of your inadvertent
> confirmation
> bias perhaps.
> 
> >
> > B) It says that early scala type system could not
> handle this Iterable
> > thing (a.k.a. Mappable) properly because back then it
> didn't support
> > type constructors while constructing type
> constructors. Which it then
> > equates to the term 'higher kinded types'.
> 
> "Mappable" is not iterable. It's called a
> covariant functor. It has
> particular properties; namely satisfying the identity and
> composition
> law (unenforced by the type system). "Iteration"
> is best describe by
> an Applicative Functor and what is commonly called
> Traversable. You'll
> find it in a paper called "The Essence of the Iterator
> Pattern". I'll
> briefly describe it for you if you're willing to accept
> that you're
> way out of your depth (otherwise what's the point? to
> listen to your
> pseudo-intellectual bullshit?).
> 
> I'm glad to have educated you and corrected this
> specific error for
> you - no thanks are necessary - I enjoy it. Now, are you
> ready to stop
> beating your chest and start learning more? I can even give
> you some
> cool words for you to spout on other forums so that you
> look clever!
> OK, that was a bit mean - I really do enjoy teaching - even
> idiots (no
> really!).
> 
> >
> > C) The paper concludes with a solution that is 100%
> analogous to my
> > java example (and incidentally, your trait Functor).
> 
> You mean your pretend-Java example right? Since Java cannot
> express a
> general covariant functor - it's incompetent in this
> regard.
> 
> >
> > Contrast this to your claims that:
> >
> > A) map() isn't part of Scala's iterable,
> 
> Again, your comprehension skills require revision.
> 
> >
> > B) My mappable example has nothing to do with higher
> kinded types, and
> 
> Which it doesn't. Do you even know what this term means
> yet? I suggest
> not using the Odersky/Moors paper to obtain this
> fundamental knowledge
> - for quite complicated reasons that I dare not challenge
> you with.
> Would you like a reference?
> 
> >
> > C) my solution isn't what scala does / aggrevates
> you to no end and is
> > apparently vastly inferior, which I infer from your
> condescending
> > tone. Then again, your tone is always condescending so
> its kinda hard
> > to tell.
> 
> I am aggravated? You're always harping on about
> "condescending tones"
> and quite frankly, making stuff up. Sure, you haven't a
> friggin clue
> what you're talking about. Don't be alarmed -
> it's common. Less common
> is that you're invariably and catastrophically wrong
> about the topics
> you claim authority on. This isn't anywhere near as
> condescending as
> it is an observation. What "tone" anyway? Is this
> an appeal to
> mystical misnomer to support your assertions of
> condescension? Are you
> going to say anything *concrete* supported by *evidence* or
> keep
> talking nonsense in an elaborate attempt to appear
> intellectually
> endowed while also displaying your gross ineptitude to
> comprehend
> general discourse? These are serious questions - not
> "condescending".
> Oh poor little you, a little bit of heat then you're
> crying and
> evading the topic? *sob sob* he's being mean to me and
> said I don't
> have a clue *sob sob*. Go down to your local hardware
> store, purchase
> a 40kg bag of concrete, mix with water, stir thoroughly
> then harden
> the fuck up. And stay on topic.
> 
> >
> > Please stop insulting me, review the PDF, and go away.
> 
> Perhaps you've latched onto this particular paper as
> your newfound
> knowledge? Trust me, there is more to the world that your
> misinterpretation of this paper.
> 
> >
> > On Dec 23, 11:55 pm, Tony Morris
> <[email protected]> wrote:
> >
> > > > An interface that declares that a certain
> container type is capable of running the map function. This
> is Iterable in scala...
> >
> > > Bzzt wrong, perhaps you don't know as much
> about Scala as you think.
> > > And even if it was Iterable, this has nada to do
> with higher kinds -
> > > you know, abstracting on *type constructors* as
> James has already
> > > mentioned - perhaps you don't know as much
> about type system as you
> > > think.
> >
> > > This is what a "mappable" declaration
> looks like in Scala using higher
> > > kinds:
> >
> > > trait Functor[F[_]] {
> > >   def fmap[A, B](fa: F[A], f: A => B): F[B]
> >
> > > }
> >
> > > Note its complete lack of resemblance to
> Iterable.
> >
> > > And in Haskell:
> >
> > > class Functor f where
> > >   fmap :: f a -> (a -> b) -> f a
> >
> > > And in Java:
> > > Oh wait, you can't; you're screwed - the
> type system is completely
> > > inept.
> >
> > > You're out of depth again Zwitserloot.
> You're stuck in Java Nanny land.
> 

      

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "The 
Java Posse" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/javaposse?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to