[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] Things that make you go Hmmmm!

Subject: Re: [xsl] Things that make you go Hmmmm!
From: Ihe Onwuka <ihe.onwuka@xxxxxxxxx>
Date: Sat, 29 Mar 2014 04:00:40 +0000

On Fri, Mar 28, 2014 at 9:58 PM, Michael Kay <mike@xxxxxxxxxxxx> wrote:
>> I think the orthogonality principle is a natural default for a
>> functional programming language and I can't think of a good reason to
>> depart from that.
> It's an excellent guideline, but it doesn't always work in practice.
> For example, we're designing arrays at the moment, and there's a real tension between making them behave as much as possible like sequences, and making them behave like we would want sequences to behave if we were starting from scratch.

That wouldn't surprise me in the least. I got first hand exposure to
this when my prof tasked me with implementing vectors for the variant
of Scheme he was designing.

Arrays forced Java and C#  to implement run time kludges to prevent
certain subtyping scenarios from breaking the soundness of their
static type systems. If you've ever had an ArrayStoreException in
these languages you've run into one.

Now  if you are a person that chooses to read narrow and deep into one
programming language (or genre of programming language) you wouldn't
know there was a different (and some would say better) way that would
have circumvented the need for such kludges. It is instructive to note
that these were languages whose early incantations did not support
functional programming (I  guess they didn't foresee the use case).
The functional programming languages got this right from the get go
with parametric polymorphism and so they didn't have to deal with
issues arising from having to elastoplast generics over their

I'm just thankful that I got the education I had at a time in my life
when I was able to appreciate it. It means that when a fellow comes on
a mailing list and starts telling me what and how to read I can smile
and not pay him any attention.

Current Thread