Have you heard of Alchemy?

Well Alchemy is a web-application tool, that enables developers to reuse hundreds of millions of lines of existing open source C and C++ client or server-side code on the Flash Platform. This was demoed in the MAX general session last week. They initially showed a few libraries (such as OpenSSL) compiled to run on the Flash Player, then they showed image manipulation and audio playback (Ogg Vorbis) running in the Flash Player. Finally they showed Quake(!) and a 6502 console emulator running Super Mario…

I think this is a breakthrough for the Flash Platform because it brings a large amount of pre-existing software to the Flash Platform. I have also heard that the compiled code runs asynchronously and that means that the long-processing C/C++ code can run independently as flash player updates its UI or renders objects.

How does Alchemy work?

Alchemy works by converting LLVM bytecode to ActionScript 3.0 (AS3) source through an Adobe-authored LLVM back-end. This AS3 source is then compiled using a special version of the ActionScript Compiler to ActionScript bytecode (ABC). This ABC output is then bundled into either a SWF or a SWC depending on your compile options. The resulting SWFs can be executed using Flash Player or bundled into an AIR app. The resulting SWCs can be built into a larger Flash, Flex or AIR application just like any other SWC.

For more Alchemy FAQs: http://labs.adobe.com/wiki/index.php/Alchemy:FAQ

The post at Automatastudious: http://www.automatastudios.com/2008/11/21/understanding-adobe-alchemy/