Re: [q-lang-users] Questions about Pure vs. Q language
Brought to you by:
agraef
From: Albert G. <Dr....@t-...> - 2008-04-30 00:08:46
|
Dear Sarino, (I'm cc'ing the mailing list since these questions have been asked a lot the past few days.) > I am a big fan of the Q language. I am most impressed with the spread sheet demonstration, and because of it, I have spent some time learning the language and the many libraries that come with it. Yeah, I really need to port the Qt3 interface and QCalc over to Pure asap. > how is it different from Q? Short answer: Execution speed, better C interface, and some useful new language features. Pure JIT-compiles to native code, and so programs run *much* (typically 20-30 times) faster than equivalent Q programs. Pure also has a direct C interface, so you can just call C functions from Pure, and soon it will also be possible to export Pure modules so that you can link them directly into other programs written in any language that can call C functions. Pure also uses term rewriting as its computational model, so it offers the same kind of flexibility and unrestricted polymorphism. But it also has local functions and lexical closures, which is something that Q users often asked for. I also took the opportunity to straighten out the syntax and get rid of the lexical distinction between function and variable symbols, and as a result the language is much prettier now (IMHO of course). The Pure interpreter was implemented from scratch in C++, so it's hopefully better designed and easier to maintain. It should also be ready for 64 bit systems, although I haven't tested that yet. Moreover, the interactive interpreter environment is much nicer, try it and see. The only thing that is still missing there is a symbolic debugger, but the necessary hooks are already there, so that should be easy to add. OTOH, Pure still lacks some of Q's features, most notably special forms, Wadler views, and the extensive system, graphics and multimedia library. So it's currently a bit experimental and not ready to replace Q just yet. But I'm working on that. ;-) > And what will happen to Q in the meantime? Well, the current Q codebase is fairly mature and isn't going anywhere. I'm still fixing bugs and keeping it up-to-date, and will continue to do so for the time being (or until someone else takes over). Pure might become the next Q, but it still has to prove itself. Everybody has been asking for a "compiled Q", and Pure attempts to be just that, only that the language got an (admittedly substantial) facelift, too. So let's see how the further development goes, and "give Pure a chance", ok? Cheers, Albert -- Dr. Albert Gr"af Dept. of Music-Informatics, University of Mainz, Germany Email: Dr....@t-..., ag...@mu... WWW: http://www.musikinformatik.uni-mainz.de/ag |