• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
    • Debugging
    • Std
    • Proof-automation
    • Macro-libraries
      • B*
      • Defunc
      • Fty
      • Apt
      • Std/util
      • Defdata
      • Defrstobj
      • Seq
      • Match-tree
      • Defrstobj
      • With-supporters
      • Def-partial-measure
      • Template-subst
      • Soft
      • Defthm-domain
      • Event-macros
        • Evmac-input-hints-p
        • Evmac-input-print-p
        • Function-definedness
        • Event-macro-input-processing
        • Event-macro-screen-printing
        • Make-event-terse
        • Event-macro-applicability-conditions
        • Event-macro-results
        • Template-generators
        • Event-macro-event-generators
        • Event-macro-proof-preparation
        • Try-event
        • Restore-output?
        • Restore-output
        • Fail-event
        • Cw-event
        • Event-macro-xdoc-constructors
        • Event-macro-intro-macros
      • Def-universal-equiv
      • Def-saved-obligs
      • With-supporters-after
      • Definec
      • Sig
      • Outer-local
      • Data-structures
    • ACL2
    • Interfacing-tools
    • Hardware-verification
    • Software-verification
    • Math
    • Testing-utilities
  • Macro-libraries
  • Kestrel-books

Event-macros

A library of concepts and utilities for event macros.

Event macros are macros at the event level. ACL2 provides several such macros (e.g. defun, defthm, defun-sk), and many more such macros are provided by the community books (e.g. std::deflist, fty::defprod, apt::tailrec). Event macros often generate events (via other event macros), and sometimes generate files (e.g. java::atj, c::atc).

Amid the wide variety of these event macros, there are certain commonalities. The code and documentation in this directory provide utilities and concepts useful to develop and document event macros more quickly and consistently, based on those commonalities.

Subtopics

Evmac-input-hints-p
Recognize processed hints inputs of event macros.
Evmac-input-print-p
Recognize a valid :print input of an event macro.
Function-definedness
Notion of definedness of functions, for some event macros.
Event-macro-input-processing
Input processing in event macros.
Event-macro-screen-printing
Screen printing performed by event macros.
Make-event-terse
A variant of make-event with terser screen output.
Event-macro-applicability-conditions
Applicability conditions of event macros.
Event-macro-results
Results of event macros.
Template-generators
Generators of template ACL2 events.
Event-macro-event-generators
Utilities to generate events in event macros.
Event-macro-proof-preparation
Proof preparation for event macros.
Try-event
Try to submit an event, generating a customized error if the submission fails.
Restore-output?
Conditionally wrap an event form to have it produce screen output according to previously saved screen output settings.
Restore-output
Wrap an event form to have it produce screen output according to previously saved screen output settings.
Fail-event
An event that always fails with a specified error context, flag, value, and message.
Cw-event
Event form of cw.
Event-macro-xdoc-constructors
Utilities to construct XDOC strings to document event macros and their implementations.
Event-macro-intro-macros
Utilities to determine the (names of) macros to use to introduce certain events.