Application extension programming languages (AEPLs) are programming languages designed to allow user input and/or describe work flows and to easily extend available application logic.
Unlike ordinary programming languages, application extension programming languages are not design to just enable. AEPL scripts and programs are not executed by interpreters dedicated to the task, but by applications that have security concerns and busy agendas before getting to execute user supplied programs. Thus the execution of a program has got to be safe with respect to such concerns as memory allocation, length of execution, environment pollution.
And unlike programming languages designed for writing applications and not for extending them, application extension programming languages do not necessarily have to be complex nor should they require very fast interpreters.
Application extension programming languages are only as useful as their interpreters are. An AEPL interpreter needs to allow the application to translate its possibly complex state to the executed programs and to execute the latter in possibly complex fashion.
|• AEPL Design:||Choices the AEPL design has to make|
|• Interpreters And This Library:||How pieces fall into place|
|• Application Side Library Reference:||Types interfacing the application|
|• Of Functions And Operators:||Expressiveness to speed tradeoff|
|• aime Today:||Shortcomings and pitfalls|
|• Definition Examples:||Data type definitions examples|