[racket] Ceylon language borrows Typed Racket features?

From: Luke Vilnis (lvilnis at gmail.com)
Date: Mon Nov 14 23:18:20 EST 2011

Has anyone taken a look at the upcoming language
Ceylon<http://in.relation.to/Tutorials/IntroductionToCeylon>?
It feels to me like a pretty aggressively blub-y Java clone, but it has two
features that seem like they're ripped straight out of Typed Racket.

It looks like the language includes a basically verbatim copy of TR's
dotted type parameters, which it calls "sequenced type
parameters<http://in.relation.to/Bloggers/IntroductionToCeylonPart8#H-RepresentingTheTypeOfAFunction>".
For example, the supertype of all tuples is written
Tuple<T,P...><http://in.relation.to/Bloggers/TuplesOrNot>
.

It also has untagged union
types<http://in.relation.to/Bloggers/IntroductionToCeylonPart5>(written
like
Int|Bool) which can be deconstructed with switch-case statements, sort of
like a watered down version of occurence typing:

switch (foo)
case (is Bool) {
    // this type checks
    local isTrue = foo || true;
    ...
}
case (is Int) {
    // so does this!
    local x = foo + 1;
    ...
}

Anyhow, I just thought it was interesting that a language positioning
itself as the successor to Java has as its main point of difference two
features that are almost identical to those in Typed Racket - type-safe
untagged unions and non-uniform variable-arity polymorphism. Even though
the actual language is pretty unappealing to me (and I suspect it might be
to most people who frequent this mailing list) I thought this was a neat
confirmation of the broad appeal of TR's ideas.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20111114/1a2aaf11/attachment.html>

Posted on the users mailing list.