Haxe has a common API used by all the platforms and specific API to flash, js and Neko. With the conditional compilation, you can write one class file that works on all platforms !
For Flash developpers, Haxe generates bytecode for Flash and Flash 9, and when using Haxe instead of AS2, you benefit of a lot of AS3 new stuff ( as "package", several classes in the same file ...)
It's an ambitious project written by the famous MTASC creator, Nicolas Cannasse and still in progress but quite stable for now.
You can learn more about Haxe on its dedicated site http://haxe.org, read news on the http://blog.haxe.org, and see archives or join the Haxe Mailing List.
Comming soon, a book about Haxe and Neko :
SWHX is an opensource fork of Screenweaver, a flash projector, that enables you to create complex desktop applications, using Flash for the interactive part and Neko for accessing system layer. Take a look here for more informations about it.