Rechercher une page de manuel
felix
Langue: en
Version: 312345 (ubuntu - 07/07/09)
Section: 1 (Commandes utilisateur)
NAME
Felix languageSYNOPSIS
Felix is a modern statically typed, modular programming language which targets shared libraries rather than programs. It features automatic generation of event driven, cooperatively multitasked programs written in algorithmic style. It is hybrid functional, procedural and object oriented system
TECHNOLOGY
Felix generates C++ which is then built into a shared library and dynamically loaded by a client written architectural framework, which is also responsible for feeding an appropriate Felix coroutine messages.Felix provides no primitive types. Instead, it provides powerful type combinators, and a facility for binding C++ types to Felix ones. A set of basic primitive types are provided in the standard library.
C++ bindings
Here is an example of a C++ binding.type int = "int";
incomplete type int = "int";
ctypes int, long;
incomplete ctypes astruct, bstruct;
fun add: int * int -> int = "$1+$2";
proc print: int = 'printf("%d",$1);';
Exporting symbols
Symbols are exported by the export statement. Function, procedures, and types can be exported. Note that types must be enclosed in brackets, because unfortunately 'as' is a keyword used in recursive type expressions.export fun add of (int * int) as "add_int";
export proc print of (int * int) as "add_int";
export type (int) as "flx_int";
FILES
*.flx are Felix input files*.cpp generated C++ implementation files *.hpp generated C++ header files
std.flx is the standard library.
VERSION
1.1.3_rc4SEE ALSO
felix(1) for a language introduction and man page indexflx(1) for a list of the tools.
flxcc(1) for a description of the wrapper generator tool.
flx_lit(1) for a description of literals
flx_op(1) for a list of operators
flx_cop(1) for a list of C operator precedence names
flx_key(1) for a list of keywords
flx_grammar(1) for a grammar summary
flx_lib_typ(1) for a list of library types
flx_dir(1) for a list of directives
flx_exec(1) for a list of executable statements
flx_decl(1) for a list of declarative statements
flx_bind(1) for a list of binding statements
WEB SITE
See http://felix.sourceforge.netAUTHOR
John Maxwell Skaller, mailto:skaller@users.sourceforge.netContenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre