Rich Hickey wrote:
> A critical enhancement, and one that is difficult to retrofit, is a
> point you skipped over in your comparison - the extension of the
> sequence library to an abstraction of first/rest, freeing it from its
> traditional binding to concrete cons cells. This goes directly to the
> deeper integration I spoke of. For instance, here's one way to pull
> all of the System properties keys whose names match some regular
> expression:
> 
> (filter #(re-find #"java" %) (map key (System.getProperties)))
> 
> -> ("java.runtime.name" "java.vm.version" "java.vm.vendor" ...)

I'm very supportive of this kind of abstraction, and I've been
playing with these issues for more years than I care to admit ...

Kawa has some attempts in this direction, though not as
completely or consistently as I'd like.  I.e. the 'map'
function implements the Scheme map function over Scheme-type lists,
rather than a general map over java.util.List.

I actually don't think this enhancement would be difficult to retrofit
to Kawa.  I've already "planned" (i.e. it's on my wish-list) making
<pair> an abstract class.  (One benefit is it would make it easier
to write hygienic macros.)  And as mentioned <pair> already implements
java.util.List.

> Clojure is a functional language. Its data structures are immutable
> and persistent. It extends the core Lisp data types to (immutable,
> persistent) vectors, hashed and sorted maps and sets, all with deep
> code-as-data support. The sequence library, in addition to being
> abstraction based, is lazy and obviates add-on stream libraries.

You might find the gnu/lists package of Kawa interesting.

> It has a software transactional memory and agent system, metadata,
> pervasive destructuring binding, list comprehensions, regexes etc.

These all sound like nice features - the kind I'd like to have
in Kawa.

> I'm happy to let the rest of this 'competition' play out in the
> marketplace of users.

Perhaps a friendly merger might be possible?
-- 
        --Per Bothner
[EMAIL PROTECTED]   http://per.bothner.com/

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "JVM 
Languages" 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/jvm-languages?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to