Concrete string input stream ACL2::stobj.
In the implementation, we take care to ensure that all indices
satisfy
Function:
(defun sin-str-p (x) (declare (xargs :guard t)) (let ((__function__ 'sin-str-p)) (declare (ignorable __function__)) (and (stringp x) (< (len (coerce x 'list)) (expt 2 60)))))
Definition:
(defstobj sin$c (sin$c-str :type (satisfies sin-str-p) :initially "") (sin$c-pos :type (unsigned-byte 60) :initially 0) (sin$c-line :type (unsigned-byte 60) :initially 0) (sin$c-col :type (unsigned-byte 60) :initially 0) (sin$c-file :type string :initially "") :inline t)