From: Mark Tarver on 19 Jan 2010 15:30 After extended cross-Atlantic exchange, I and Carl Shapiro at Google have joined together to enable Qi to run directly on a virtual machine. Our current target is the Dalvik Virtual Machine (see http://en.wikipedia.org/wiki/Dalvik_virtual_machine) which is a close variant of the Java Virtual Machine designed for mobile devices. The initiative here came from Carl who wrote to me out of the blue in India on 28/11/09 in reply to a casual mail in April (it got lost in his queue). Here he suggested implementing Qi for the mobile device market because of its compact size, and this I found sufficiently exciting to abandon the mountain and return to CS. But because of my inaccessibility and a bout of flu, we didn't get to really thrash it out until 2010. Part of our intent is to develop a mini-language called K Lambda, which will be a very compact Lisp with extensive type annotations designed to run quickly. Carl will be designing the compiler from K Lambda into the virtual machine target. K Lambda will be the object code of Qi. Qi will be completely self-compiling and capable of running on mobile devices. Since K Lambda is not limited to virtual machines and can be mapped to existing FPLs such as Clojure and Python, we intend to publish open standards allowing K Lambda to be mapped to CL, Clojure and also to Python, thus unifying 'the tongues of Lisp' as described in my talk http://www.lambdassociates.org/blog/nextlisp(1).htm. To facilitate this work, For the first time Qi is to be issued for all under a license which allows you to freely use the new distribution of Qi for the production of commercial closed source. Effectively the current commercial license that comes with the book will be extended to all users in this next release. You can read the development plan here. http://www.lambdassociates.org/blog/klambda.htm Mark
From: Paul Rubin on 19 Jan 2010 16:32 Mark Tarver <dr.mtarver(a)ukonline.co.uk> writes: > Part of our intent is to develop a mini-language called K Lambda, > which will be a very compact Lisp with extensive type annotations > designed to run quickly. Carl will be designing the compiler from K > Lambda into the virtual machine target. K Lambda will be the object > code of Qi. Qi will be completely self-compiling and capable of > running on mobile devices. That sounds cool, but are you basically re-implementing the IL phases of a Haskell compiler like GHC or even JHC?
From: Kaz Kylheku on 19 Jan 2010 20:37 On 2010-01-19, Mark Tarver <dr.mtarver(a)ukonline.co.uk> wrote: > After extended cross-Atlantic exchange, I and Carl Shapiro at Google > have joined together to enable Qi to run directly on a virtual > machine. From the Qi FAQ's: 3. If I choose Qi II, do I have to give up Lisp? Absolutely not. In fact you can mix Qi II and Lisp functions into one file and load them together. You can use Lisp functions within Qi II code with no problems. You can even add to the type discipline of Qi II to tell it about the types of functions that you have written in Lisp and it will accept your information. 4. What advantages does writing in Qi II have over writing in ML or Haskell? Qi II runs on top of Lisp, which means that Qi II inherits all the features of Lisp that ML and Haskell do not have; (think macros, EVAL, hash-tables, property-lists, metaprogramming ....) So now it looks as if advantages 3 and 4 will actually be advantages of a Qi dialect that targets Lisp, and not the portable ``common Qi''.
From: Mark Tarver on 20 Jan 2010 08:23 On 20 Jan, 01:37, Kaz Kylheku <kkylh...(a)gmail.com> wrote: > On 2010-01-19, Mark Tarver <dr.mtar...(a)ukonline.co.uk> wrote: > > > After extended cross-Atlantic exchange, I and Carl Shapiro at Google > > have joined together to enable Qi to run directly on a virtual > > machine. > > From the Qi FAQ's: > > 3. If I choose Qi II, do I have to give up Lisp? > > Absolutely not. In fact you can mix Qi II and Lisp functions into one > file and load them together. You can use Lisp functions within Qi II > code with no problems. You can even add to the type discipline of Qi II > to tell it about the types of functions that you have written in Lisp > and it will accept your information. > > 4. What advantages does writing in Qi II have over writing in ML or > Haskell? > > Qi II runs on top of Lisp, which means that Qi II inherits all the > features of Lisp that ML and Haskell do not have; (think macros, EVAL, > hash-tables, property-lists, metaprogramming ....) > > So now it looks as if advantages 3 and 4 will actually be advantages of a Qi > dialect that targets Lisp, and not the portable ``common Qi''. If you prefer to use Qi III under CL none of those things are lost to you. Mark
From: Raffael Cavallaro on 20 Jan 2010 11:11
On 2010-01-20 08:47:39 -0500, Mark Tarver <dr.mtarver(a)ukonline.co.uk> said: > Concurrency is a complex topic since there are different applications > of this idea; for example to the creation of threads and also for the > parallelisation of computation and for the latter there are different > models - implicit and explicit. It belongs to the later stages of the > project, which are much more long term. With respect, Hans Boenm would beg to differ: <http://www.hpl.hp.com/techreports/2004/HPL-2004-209.pdf> IOW, if you don't design your kernel with concurrency in mind to begin with, when you try to add it later as a library it most likely will not work properly. -- Raffael Cavallaro |