julia language



Hello, one of the creators of Julia here. Just want to clear a few things up.

First of all, maxima is a great system. I'm familiar with some of you guys' work
in the lisp world and I am a big fan.

Yes, it is femtolisp not femlisp. This is a small lisp dialect I wrote for fun,
and used to write the parser and initial lowering pass for julia. From there
further optimizations are implemented in julia itself, and eventually LLVM code
is generated.

We have no illusions about being a computer algebra system; trying to recreate
the work that's gone into maxima would be insane. We could of course benefit
from calling maxima, but it would probably have to be through some interface
that wouldn't feel entirely natural.

People's rejection of lisp syntax is not rational but we seem to be stuck with
it. However Julia is not *just* a skin on lisp. It is based on generic functions
as the primary abstraction mechanism. As in CLOS, but it is used for everything
from the ground up. We feel our design combines several forms of polymorphism
into one seamless experience, plus is well-integrated with dynamic type
inference. Julia is designed to push more functionality into libraries, so the
details of arithmetic for example are not entirely embedded in the compiler. It
is pretty easy to integrate new numeric types, and there are user-defined "bits
types" which have the same representation and performance as our default numeric
types, but type-wise are totally distinct (though they may share abstract
supertypes).

regards,

-Jeff