Category:Fexl: Difference between revisions

no edit summary
No edit summary
No edit summary
Line 1:
{{language}}
[http://fexl.com Fexl] is a [[functional programming]] language designed to be compact, efficient, and customizable in embedded environments. It has no keywords, so whenever you see a symbol in a Fexl program, that symbol always refers to a function. If theThe symbol ismay notbe defined insidewithin the Fexl program, thenor its definition mustmay be suppliedleft fromentirely outsideopen. the program,The definitions of all open symbols are supplied usingby a ''context''. A context is a function which supplies definitions for symbols,. and theA context function itself is written in Fexl.
 
A Fexl program may be resolved inside an arbitrary context. This makes it easy to wrap a Fexl program in an enhanced or restricted context. For example, in a web context you probably don't want "delete_file" to be defined at all, at least not in its normal sense. So you would you would resolve the program in a highly restricted context which only provides a handful of highly safe functions, omitting all the dangerous ones.
 
Ultimately the core functions of Fexl are written in the [[C]] programming language. To write a new core function named "X" within Fexl, you simply create an appropriate C routine named "fexl_X". It automatically becomes available as a built-in Fexl function.
Anonymous user