• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
    • Debugging
    • Std
    • Proof-automation
    • Macro-libraries
    • ACL2
    • Interfacing-tools
      • Io
      • Defttag
      • Sys-call
      • Save-exec
      • Quicklisp
      • Std/io
      • Oslib
      • Bridge
      • Clex
      • Tshell
      • Unsound-eval
      • Hacker
      • ACL2s-interface
      • Startup-banner
      • Command-line
        • Save-exec
        • Argv
        • Getopt
          • Demo-p
            • Parse-demo
            • Demo
            • Make-demo
            • Change-demo
              • Honsed-demo
              • Make-honsed-demo
              • *demo-usage*
              • Demo->version
              • Demo->verbose
              • Demo->username
              • Demo->port
              • Demo->help
              • Demo->extra-stuff2
              • Demo->extra-stuff
              • Demo->dirs
            • Defoptions
            • Demo2
            • Parsers
            • Sanity-check-formals
            • Formal->parser
            • Formal->argname
            • Formal->longname
            • Formal->alias
            • Formal->usage
            • Formal->merge
            • Formal->hiddenp
      • Hardware-verification
      • Software-verification
      • Math
      • Testing-utilities
    • Demo-p

    Change-demo

    A copying macro that lets you create new demo-p structures, based on existing structures.

    Syntax:

    (change-demo x 
                 [:help <help>] 
                 [:verbose <verbose>] 
                 [:version <version>] 
                 [:username <username>] 
                 [:port <port>] 
                 [:dirs <dirs>] 
                 [:extra-stuff <extra-stuff>] 
                 [:extra-stuff2 <extra-stuff2>]) 
    

    This is a sometimes useful alternative to make-demo. It constructs a new demo-p structure that is a copy of x, except that you can explicitly change some particular fields. Any fields you don't mention just keep their values from x.

    Definition

    This is an ordinary change- macro introduced by std::defaggregate.

    Macro: change-demo

    (defmacro change-demo (x &rest args)
      (std::change-aggregate 'demo
                             x args
                             '((:help . demo->help)
                               (:verbose . demo->verbose)
                               (:version . demo->version)
                               (:username . demo->username)
                               (:port . demo->port)
                               (:dirs . demo->dirs)
                               (:extra-stuff . demo->extra-stuff)
                               (:extra-stuff2 . demo->extra-stuff2))
                             'change-demo
                             'nil))