MacroML
   HOME

TheInfoList



OR:

MacroML is an experimental
programming language A programming language is a system of notation for writing computer programs. Programming languages are described in terms of their Syntax (programming languages), syntax (form) and semantics (computer science), semantics (meaning), usually def ...
based on the ML family, seeking to reconcile ML's
static typing In computer programming, a type system is a logical system comprising a set of rules that assigns a property called a ''type'' (for example, integer, floating point, string) to every '' term'' (a word, phrase, or other set of symbols). Usu ...
and the types of macro systems commonly found in
dynamically typed In computer programming, a type system is a logical system comprising a set of rules that assigns a property called a ''type'' (for example, integer, floating point, string) to every '' term'' (a word, phrase, or other set of symbols). Usua ...
languages like Scheme; this reconciliation is difficult since
Turing-complete In computability theory, a system of data-manipulation rules (such as a model of computation, a computer's instruction set, a programming language, or a cellular automaton) is said to be Turing-complete or computationally universal if it can be ...
macro transformations can break
type safety In computer science, type safety and type soundness are the extent to which a programming language discourages or prevents type errors. Type safety is sometimes alternatively considered to be a property of facilities of a computer language; that ...
guarantees that static typing is supposed to provide.


External links

Some papers related to MacroML include:
"Macros as Multi-Stage Computations: Type-Safe, Generative, Binding Macros in MacroML"
(
citeseer CiteSeerX (formerly called CiteSeer) is a public search engine and digital library for scientific and academic papers, primarily in the fields of computer and information science. CiteSeer's goal is to improve the dissemination and access of a ...
)
Staged Notational Definitions
(citeseer) Experimental programming languages ML programming language family Metaprogramming {{Prog-lang-stub