脚本编程语言-Felix
2013-01-21 21:22:39 阿炯

Felix 号称是地球上最快的脚本编程语言。


Felix is designed to address all these issues. It is a C++ code generator and thereby can provide compatibility with existing C and C++ code bases. We let the native C++ compiler do the hard work of low level optimisation whilst Felix does high level optimisations. The resulting code is very fast, sometimes "faster than the speed of light (C)", but can be platform independent and is simply to deploy: just distribute the source files and run them, like a scripting language.

However Felix has its own type system based on a combination of Ocaml and Haskell. Like Ocaml it provides strong support for functional programming, whilst also supporting imperative programming. The type system is strict.

First order polymorphism is core, not a bolt-on as in Java and C++. Felix also provides open overloading like C++, but only allows exact matches. It also provides Haskell style type classes as an alternative way to obtain genericity.

To overcome syntactic impedence mismatching with the wide number of application domains, the Felix grammar is defined in user space. It can be extended by the end user to provide a suitable Domain Specific Sub-Language. The parser is GLR and the user actions are written in R5RS Scheme.

A rich set of shortcuts makes programming a breeze. Built-in regular expression support and other features provide string handling on par with Perl. Web programming is enabled by built-in asynchronous socket I/O combined with cooperatively multi-tasked fibres that would support millions of http clients if only the server could supply enough sockets. Context switching is achieved by a pointer swap, and state is maintained by a spaghetti stack.

目标
高性能
快速原型化和脚本语言发布模型
安全、无错
稳定
可伸缩性
适应性
平台无关

Felix 可无缝的绑定 C/C++ 代码,最大程度的利用现有库。
功能
垃圾收集
静态类型
参数化多态
重载
正则表达式匹配
其它

最新版本:


官方主页:http://felix-lang.org/