On Mon, 2007-01-22 at 16:16 +0100, Thomas Kuther wrote: > Yes, I (and maybe others) would be interested. I never heard of it > before and am just starting to see what it is good for. In my 7 years of experience using Buzz, I noticed that often there was a big hassle involved with sharing (often quite exotic) dsp plugins. Downloading a song for Buzz is usually not enough, you also require the machines associated with it, and until you get everything running, time passes. Lunar was designed to solve that problem by shipping sources and precompiled LLVM bytecode per plugin in each song, for all plugins required. Another user, regardless of platform and operating system, would then be able to open that song without having to acquire any additional dependencies. This way, songs saved as ccm modules could be shared back and forth without any additional dependencies, allowing quick collaboration. Even if plugins get updated, old songs would still carry all information neccessary to get them working. Legacy code would always be connected to the data that needs it. LLVM serves as a JIT-compiler, loading and translating the LLVM bytecode on runtime. LLVM-GCC is used to translate C++ code to LLVM bytecode. LLVM is currently being used by Apple to optimize their OpenGL pipeline, and considered a possible new default backend for the GNU compiler suite. > > Currently all i know about it is that it tends to cause massive > headaches for packagers and others trying to compile it :) LLVM is top notch bleeding edge stuff, and this is the first application that requires it. I could, alternatively, resort to shipping sources in songs only, and use GCC locally to compile on demand. However that approach would bring up issues related to sandboxing the code, and only languages supported by GCC could be used (where with LLVM, the compiler frontend does not matter). > > -- Leonard Ritter -- Freelance Art & Logic -- http://www.leonard-ritter.com