Category:Fexl: Difference between revisions

no edit summary
No edit summary
No edit summary
 
(17 intermediate revisions by 3 users not shown)
Line 1:
{{language}}
|site=http://fexl.com}}
[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. The symbol may be defined within the Fexl program, or its definition may be left entirely open. The definitions of all open symbols are supplied by a ''context''. A context is a function which supplies definitions for symbols. A context function itself is written in Fexl.
[http://fexl.com Fexl] is a [[functional programming]] language designed to be compact, efficient, and customizable in embedded environments. Its implementation aims to be the thinnest possible functional programming layer built on top of [[C]].
 
Fexl has no keywords, so whenever you see a symbol in a Fexl program, that symbol always refers to a function.
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.
 
[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. TheA symbol may be defined within thea Fexl program, or its definition may be left entirely open. The definitions of all open symbols are supplied by a ''context''. A context is a function which supplies definitions for symbols. A context function itself is itself written in Fexl.
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.
 
A Fexl program may therefore be resolved inside an arbitrary context, giving whatever meanings you like to all its open symbols. 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.
Anonymous user