Search-engine friendly clone of the
ACL2 documentation
.
Top
Documentation
Books
Boolean-reasoning
Debugging
Projects
Std
Proof-automation
Macro-libraries
ACL2
Theories
Rule-classes
Proof-builder
Hons-and-memoization
Events
History
Parallelism
Programming
Real
ACL2-tutorial
Debugging
Miscellaneous
Output-controls
Built-in-theorems
Macros
Make-event
Defmacro
Untranslate-patterns
Macro-aliases-table
Macro-args
Defabbrev
User-defined-functions-table
Untranslate-for-execution
Trans
Add-macro-fn
Check-vars-not-free
Safe-mode
Macro-libraries
Defmacro-untouchable
Trans1
Set-duplicate-keys-action
Add-macro-alias
Magic-macroexpand
Defmacroq
Remove-macro-fn
Remove-macro-alias
Add-binop
Untrans-table
Trans!
Remove-binop
Interfacing-tools
About-ACL2
Interfacing-tools
Hardware-verification
Software-verification
Testing-utilities
Math
ACL2
Macros
Macros allow you to extend the syntax of ACL2.
Subtopics
Make-event
Evaluate (expand) a given form and then evaluate the result
Defmacro
Define a macro
Untranslate-patterns
A database used to extend
untranslate
, ACL2's function for displaying terms during proofs, with pattern-based rules.
Macro-aliases-table
A
table
used to associate function names with macro names
Macro-args
The formals list of a macro definition
Defabbrev
A convenient form of macro definition for simple expansions
User-defined-functions-table
An advanced
table
used to replace certain system functions
Untranslate-for-execution
Attempt to do a kind of untranslation of a
ute-term-p
in order to restore any
mv-let
and
mv
forms, ideally so that the term can be executed.
Trans
Print the macroexpansion of a form
Add-macro-fn
Associate a function name with a macro name
Check-vars-not-free
Avoid variable capture in macro calls
Safe-mode
A mode that avoids
guard
violations on
primitive
s
Macro-libraries
Generally useful macros for writing more concise code, and frameworks for quickly introducing concepts like typed structures, typed lists, defining functions with type signatures, and automating other common tasks.
Defmacro-untouchable
Define an ``untouchable'' macro
Trans1
Print the one-step macroexpansion of a form
Set-duplicate-keys-action
Control action for macro calls with duplicate keyword arguments
Add-macro-alias
Associate a function name with a macro name
Magic-macroexpand
A macroexpansion utility for
logic
-mode code
Defmacroq
Define a macro that quotes arguments not wrapped in
:eval
Remove-macro-fn
Remove the association of a function name with a macro name
Remove-macro-alias
Remove the association of a function name with a macro name
Add-binop
Associate a function name with a macro name
Untrans-table
Associates a function symbol with a macro for printing user-level terms
Trans!
Print the macroexpansion of a form without single-threadedness concerns
Remove-binop
Remove the association of a function name with a macro name