• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
    • Debugging
    • Std
    • Proof-automation
    • Macro-libraries
    • ACL2
      • Theories
      • Rule-classes
      • Proof-builder
      • Recursion-and-induction
      • Hons-and-memoization
      • Events
      • Parallelism
      • History
      • Programming
      • Operational-semantics
      • Real
      • Start-here
      • Debugging
      • Miscellaneous
      • Output-controls
      • Macros
      • 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
      • 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

      Demo

      Raw constructor for demo-p structures.

      Syntax:

      (demo help verbose version username
            port dirs extra-stuff extra-stuff2)

      This is the lowest-level constructor for demo-p structures. It simply conses together a structure with the specified fields.

      Note: It's generally better to use macros like make-demo or change-demo instead. These macros lead to more readable and robust code, because you don't have to remember the order of the fields.

      The demo-p structures we create here are just constructed with ordinary cons. If you want to create honsed structures, see honsed-demo instead.

      Definition

      This is an ordinary constructor function introduced by std::defaggregate.

      Function: demo

      (defun demo (help verbose version username
                        port dirs extra-stuff extra-stuff2)
       (declare (xargs :guard (and (booleanp help)
                                   (booleanp verbose)
                                   (booleanp version)
                                   (stringp username)
                                   (natp port)
                                   (string-listp dirs)
                                   (stringp extra-stuff2))))
       (cons
        :demo
        (cons
         (cons 'help help)
         (cons
          (cons 'verbose verbose)
          (cons
           (cons 'version version)
           (cons (cons 'username username)
                 (cons (cons 'port port)
                       (cons (cons 'dirs dirs)
                             (cons (cons 'extra-stuff extra-stuff)
                                   (cons (cons 'extra-stuff2 extra-stuff2)
                                         nil))))))))))