Package: wnpp Severity: wishlist * Package Name : felix Version : 1.1.0 Upstream Author: john skaller<[EMAIL PROTECTED]> * URL : http://felix.sourceforge.net * License : BSD * Description : high performance statically typed scripting language
Felix is a new high performance language with support for functional programming, ultra-lightweight high performance user space threads, garbage collection, and C/C++ interoperability. Felix provides a scripting harness with auto-compilation in the style of systems such as Python. Underneath, however, the translator generates C++ which is compiled into binary executable code, by default a shared library which is run by a driver. There is a strong functional subsystem which provides first class lexically scoped functions, pattern matching, variants, and other common features of ML family languages, with a syntax adapted to be slightly more familiar to the target audience, C and C++ programmers. Felix also provides ultra high performance user space threading (cooperative multi-tasking). The system translates blocking message reads into event driven callbacks to achieve this. This is basically a procedural continuation passing model, more precisely it uses the method of resumptions. The original inspiration for this work was a system for managing telephone calls in an embedded environment requiring sub-second response times, call creation rate of around 600 threads/second, and supporting several hundred thousand concurrent threads --- a continuously running system also requiring live upgrades. Other special features include builtin linear regular expression matching in the style of lex tools, and a builtin GLR (generalised LR) parsing engine based on Elkhound, which is capable of parsing any context free language. The system also features a rich syntax for binding to a C/C++ code, and, by both adopting the C/C++ object model and supporting source level interleaving, assures a smooth migration to Felix in a manner similar to the path from C to C++. -- John Skaller, skaller at users.sf.net PO Box 401 Glebe, NSW 2037, Australia Ph:61-2-96600850 Download Felix here: http://felix.sf.net -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]