Category:Order: Difference between revisions

From Rosetta Code
Content added Content deleted
(Created page with "{{language |exec=interpreted |gc=yes |safety=unsafe |checking=dynamic |parampass=value}} '''Order''' is a high-level, functional programming language implemented entirely using ...")
 
m (Linkify, not on HOPL)
Line 4: Line 4:
|safety=unsafe
|safety=unsafe
|checking=dynamic
|checking=dynamic
|parampass=value}}
|parampass=value
|hopl=no}}


'''Order''' is a high-level, functional programming language implemented entirely using the C preprocessor. It provides a full programming language for metaprogramming in C (or any other environment where the C preprocessor can be used). A debugging environment and line-by-line evaluator are also included. Rather than building a library of macros to solve specific metaprogramming problems individually, Order-PP implements a continuation-based virtual machine which then interprets the high-level Order language.
'''Order''' is a high-level, functional programming language implemented entirely using the [[C]] preprocessor. It provides a full programming language for [[metaprogramming]] in C (or any other environment where the C preprocessor can be used). A debugging environment and line-by-line evaluator are also included. Rather than building a library of macros to solve specific metaprogramming problems individually, Order-PP implements a continuation-based virtual machine which then interprets the high-level Order language.


Order is based primarily on the lambda calculus, and is vaguely similar in semantics to languages such as ML or Scheme, offering first-class functions with partial application, lexical scope, first-class continuations, arbitrary-precision arithmetic, and built-in operators for compound types.
Order is based primarily on lambda calculus, and is vaguely similar in semantics to languages such as ML or [[Scheme]], offering first-class functions with partial application, lexical scope, first-class continuations, arbitrary-precision arithmetic, and built-in operators for compound types.


Order requires some components from its sister project, Chaos (included in the download), to also be installed, although it is not primarily based on it. Order also requires a standard-conforming C99 preprocessor, and has absolutely no workarounds for non-conformance - currently, only GCC is confirmed to work with all examples.
Order requires some components from its sister project, Chaos (included in the download), to also be installed, although it is not primarily based on it. Order also requires a standard-conforming [[C99]] preprocessor, and has absolutely no workarounds for non-conformance - currently, only [[GCC]] is confirmed to work with all examples.


==See Also==
==See Also==

Revision as of 20:25, 10 November 2011

Language
Order
This programming language may be used to instruct a computer to perform a task.
Execution method: Interpreted
Garbage collected: Yes
Parameter passing methods: By value
Type safety: Unsafe
Type checking: Dynamic


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

Order is a high-level, functional programming language implemented entirely using the C preprocessor. It provides a full programming language for metaprogramming in C (or any other environment where the C preprocessor can be used). A debugging environment and line-by-line evaluator are also included. Rather than building a library of macros to solve specific metaprogramming problems individually, Order-PP implements a continuation-based virtual machine which then interprets the high-level Order language.

Order is based primarily on lambda calculus, and is vaguely similar in semantics to languages such as ML or Scheme, offering first-class functions with partial application, lexical scope, first-class continuations, arbitrary-precision arithmetic, and built-in operators for compound types.

Order requires some components from its sister project, Chaos (included in the download), to also be installed, although it is not primarily based on it. Order also requires a standard-conforming C99 preprocessor, and has absolutely no workarounds for non-conformance - currently, only GCC is confirmed to work with all examples.

See Also