Macros whose expansion is guaranteed not to cause the capture of identifiers
This article may be too technical for most readers to understand. Please help improve it to make it understandable to non-experts, without removing the technical details.(November 2016) (Learn how and when to remove this message)
In computer science, hygienic macros are macros whose expansion is guaranteed not to cause the accidental capture of identifiers. They are a feature of programming languages such as Scheme,[1] Dylan,[2] Rust, Nim, and Julia. The general problem of accidental capture was well known in the Lisp community before the introduction of hygienic macros. Macro writers would use language features that would generate unique identifiers (e.g., gensym) or use obfuscated identifiers to avoid the problem. Hygienic macros are a programmatic solution to the capture problem that is integrated into the macro expander. The term "hygiene" was coined in Kohlbecker et al.'s 1986 paper that introduced hygienic macro expansion, inspired by terminology used in mathematics.[3]
^Cite error: The named reference r5rs was invoked but never defined (see the help page).
^Feinberg, N.; Keene, S. E.; Matthews, R. O.; Withington, P. T. (1997), Dylan programming: an object-oriented and dynamic language, Addison Wesley Longman Publishing Co., Inc.
^Kohlbecker, E.; Friedman, D. P.; Felleisen, M.; Duba, B. (1986). "Hygienic Macro Expansion" (PDF). ACM conference on LISP and functional programming.
In computer science, hygienicmacros are macros whose expansion is guaranteed not to cause the accidental capture of identifiers. They are a feature of...
strategy for a hygienicmacro system. The term pertains to the Scheme programming language. When a syntactic closure is used the arguments to a macro call are...
abstraction movement by the late 1980s (perhaps due to the advent of hygienicmacros), by being granted the pseudonym syntactic abstractions. In the modern...
result in variable capture, leading to mistakes and undesired behavior. Hygienicmacros avoid this problem by checking for and replacing shadowed variables...
code than would be possible in languages such as C. For example, its hygienicmacro system allows adding domain specific syntax-elements without modifying...
piece of text that expands into a longer one (not to be confused with hygienicmacros), possibly with parameter substitution. They are often used to preprocess...
an R5RS Scheme implementation, which includes a full number tower, hygienicmacros, proper tail recursion, and first class continuations. SISC is short...
compilation extensibility with a syntax description language (see hygienicmacros) pattern matching backtracking by the use of closures on a stack and...
This type of macro system is sometimes called "hygienic", in particular by its proponents (who regard macro systems which do not automatically solve this...
sanitary pads in India since it was rejected by developed countries, Cloth is hygienic in contrast to sanitary pads. The defense of Malavika on the decision of...
engineering and the Oriental form. Pomanders were worn due to the poor hygienic conditions in the cities. The musk-perfume inside the pomander had a disinfectant...
famous for their public baths, called thermae, which were used for both hygienic and social purposes. Many Roman houses had flush toilets and indoor plumbing...
better nutrition but also access to clean water, improved sanitation (hygienic toilets) and hand washing at critical times (summarised as "WASH"). Without...
damage Kenya's agricultural economy, cause famine and result in even worse hygienic conditions. Kenya is classified as a water limited country. According to...
per National Building Code 2005. These include provision of clean and hygienic accommodation, toilet facilities, purified drinking water, general store...
France, and northern Africa.[citation needed] The public baths served hygienic, social and cultural functions. Bathing was the focus of daily socializing...
human groups. Among these orders, Baechler counts the demographic, the hygienic, the economic, the technical, the political, the pedagogical, the ludic...
individual lives (Micro), in our communities (Meso), and at the level of Ummah (Macro)." Fiqh (religious law) has developed several traditional concepts having...