Wafl is a strongly typed functional programming language, with implicit type inference. It was initially designed as an experimental application of FP languages in Web development. However, few years later, Wafl became a simple and very fast scripting language, with a simple and efficient interface to databases.
Functional programming language - Wafl is an eager functional programming language. Most of the language constructs are pure, except for some operations with databases and files.
Script language - Wafl is a script language, with a short development cycle. There is no build process, just write the code and run it.
Automatic type inference - Data types are automatically inferred. There is no need to explicitly write the types of arguments, results, or variables.
Simple and efficient database usage - It has very simple and efficient database interface.
Relatively fast - Compared to other script languages, Wafl is relatively fast.
Automatic and manual parallelization - Wafl programs can run in parallel implicitly, without any special preparation. However, for better performance tuning, it is possible to mark the program elements that should run in parallel.
C++ library development API - Wafl can use libraries written in C++. The included Wafl Core library API is simple and efficient.
JIT compilation - Just-In-Time (JIT) compilation feature allows for the automatic translation of parts of Wafl program into C++ and building and linking of corresponding JIT dynamic libraries. JIT performance is in many cases comparable to native C++ code. [This feature is still experimental.]
Safe deep recursion - Wafl uses a special Extendable Stack technique to provide safe and unlimited recursion.
Open source in vision - Wafl is not yet open source, but it is gradually being refactored and prepared to become open.
To download and install Wafl, visit Downloads.
To learn more about Wafl, study Wafl Tutorial. Wafl Tutorial introduces the language constructions, command line interpreter usage, elements of the core library and a lot of examples.
Welcome to Wafl!