higher-order macro

higher-order macro

A means of expressing certain higher-order functions in a first order language. Proposed by Phil Wadler. Higher-order macros cannot be recursive at the top level but they may contain recursive definitions. E.g.

map f l = m l where m [] = [] m (x:xs) = f x : m xs

Expanding a call to this macro is equivalent to specialising a call to map in its first argument.

See partial evaluation.
This article is provided by FOLDOC - Free Online Dictionary of Computing (foldoc.org)
Copyright © 2003-2025 Farlex, Inc Disclaimer
All content on this website, including dictionary, thesaurus, literature, geography, and other reference data is for informational purposes only. This information should not be considered complete, up to date, and is not intended to be used in place of a visit, consultation, or advice of a legal, medical, or any other professional.