This programming language may be used to instruct a computer to perform a task.
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 symbol may be defined within a 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 is itself written in Fexl.
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 resolve the program in a highly restricted context which only provides a handful of safe functions, omitting all the dangerous ones.