Category:Fexl: Difference between revisions

From Rosetta Code
Content added Content deleted
No edit summary
No edit summary
Line 1: Line 1:
{{language}}
{{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 the symbol is not defined inside the program, then its definition must be supplied from outside the program, using a ''context''. A context is a function which supplies definitions for symbols, and the context itself is written in Fexl.
[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.

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.
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.

Revision as of 15:12, 20 April 2012

Language
Fexl
This programming language may be used to instruct a computer to perform a task.
See Also:


Listed below are all of the tasks on Rosetta Code which have been solved using Fexl.

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.

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.

Pages in category "Fexl"

The following 6 pages are in this category, out of 6 total.