• Top
    • Documentation
    • Books
    • Recursion-and-induction
    • Boolean-reasoning
    • Projects
    • Debugging
    • Std
    • Proof-automation
    • Macro-libraries
    • ACL2
    • Interfacing-tools
      • Io
        • Fmt
        • Msg
        • Cw
        • Set-evisc-tuple
        • Set-iprint
        • Print-control
        • Read-file-into-string
        • Msgp
        • Std/io
        • Printing-to-strings
        • Evisc-tuple
        • Output-controls
        • Observation
        • *standard-co*
        • Pp-special-syms
        • Standard-oi
        • Standard-co
        • Without-evisc
        • Serialize
        • Output-to-file
        • Fmt-to-comment-window
        • Character-encoding
        • Princ$
        • Open-output-channel!
        • Cw-print-base-radix
        • Set-print-case
        • Set-print-base
        • Print-object$
        • Fmx-cw
        • Print-object$+
        • Set-print-radix
        • Extend-pathname
        • Set-fmt-hard-right-margin
        • Proofs-co
        • File-write-date$
        • Set-print-base-radix
        • Print-base-p
        • *standard-oi*
        • Wof
        • File-length$
        • Fms!-lst
          • *standard-ci*
          • Write-list
          • Fmt!
          • Fms
          • Delete-file$
          • Cw!
          • Fmt-to-comment-window!
          • Fms!
          • Eviscerate-hide-terms
          • Fmt1!
          • Fmt-to-comment-window!+
          • Read-file-into-byte-array-stobj
          • Fmt1
          • Fmt-to-comment-window+
          • Cw-print-base-radix!
          • Read-file-into-character-array-stobj
          • Cw!+
          • Newline
          • Fmx
          • Cw+
          • Read-object-from-file
          • Set-fmt-soft-right-margin
          • Read-objects-from-file
          • Read-file-into-byte-list
          • Read-file-into-character-list
        • Defttag
        • Sys-call
        • Save-exec
        • Quicklisp
        • Oslib
        • Std/io
        • Bridge
        • Clex
        • Tshell
        • Unsound-eval
        • Hacker
        • Startup-banner
        • Command-line
      • Hardware-verification
      • Software-verification
      • Testing-utilities
      • Math
    • Kestrel-utilities
    • Io

    Fms!-lst

    Write each object in a list to a character output channel.

    General Form:
    
    (fms!-lst list channel state)

    where list is an arbitrary list that is null-terminated — that is, satisfies true-listp — channel is an open character output channel (see io), and state is the ACL2 state. This function simply prints each form in the given list, in order, without evisceration (see evisc-tuple), where each is printed with fms! as shown below.

    Function: fms!-lst

    (defun
        fms!-lst (lst chan state)
        (declare
             (xargs :stobjs state
                    :guard (and (open-output-channel-p chan
                                                       :character state)
                                (true-listp lst))))
        (cond ((endp lst) state)
              (t (pprogn (fms! "~X01"
                               (list (cons #\0 (car lst))
                                     (cons #\1 nil))
                               chan state nil)
                         (fms!-lst (cdr lst) chan state)))))