(index ("define-structure" 0) ("define-public-structure" 0) ("define-private-structure" 0) ("make-" 396) ("make-keywords-" 396) ("name" 656) ("name" 768) ("name" 851) ("set-" 851) ("name" 1091) ("setp-" 1091) ("local-set-" 1337) ("local-setp-" 1337) ("name" 1562) ("update-" 1562) ("name" 1562) ("updatep-" 1562) ("set-" 1909) ("setp-" 1909) ("update-" 1909) ("updatep-" 1909) ("alist->" 2261) ("name" 2261) ("old-vector->" 2407))
(def (sig (syntax "(define-structure name . fields)" (id define-structure)) (syntax "(define-public-structure name . fields)" (id define-public-structure)) (syntax "(define-private-structure name . fields)" (id define-private-structure))) (p "Creates a new structure. By default all structures are public, generate an export form, making define-structure an alias for define-public-structure."))
(def (sig (procedure "(make-{name} {field0-value} {field1-value} ...)" (id make-)) (procedure "(make-keywords-{name} {field-name}: {field-value} ...)" (id make-keywords-))) (p "Any fields not defined in " (i "make-keywords-{name}") " will be uninitialized."))
(def (sig (procedure "({name}? obj)" (id name))) (p "Tests if " (i "obj") " is of a " (i "{name}") " record."))
(def (sig (procedure "({name}-{field} obj)" (id name))) (p "Accesses the field."))
(def (sig (procedure "({name}-{field}-set! obj val)" (id name)) (procedure "(set-{name}-{field}! obj val)" (id set-))) (p "The former is created by chicken's " (i "define-record") ", the latter is added for compatbility with QobiScheme."))
(def (sig (procedure "({name}-{field}-setp! obj proc)" (id name)) (procedure "(setp-{name}-{field}! obj proc)" (id setp-))) (p "Like " (i "set-") " but calls " (i "proc") " witht he current value and updates it to what " (i "proc") " returns."))
(def (sig (procedure "(local-set-{name}-{field}! obj val)" (id local-set-)) (procedure "(local-setp-{name}-{field}! obj proc)" (id local-setp-))) (p "This set! will be undone when backtracking with the nondeterminism egg."))
(def (sig (procedure "({name}-{field}-update obj val)" (id name)) (procedure "(update-{name}-{field} obj val)" (id update-)) (procedure "({name}-{field}-updatep obj proc)" (id name)) (procedure "(updatep-{name}-{field} obj proc)" (id updatep-))) (p "like the " (i "set") " and " (i "setp") " versions but these return a new copy of the object."))
(def (sig (procedure "(set-{name}! obj {field-key}: {field-value} ...)" (id set-)) (procedure "(setp-{name}! obj {field-key}: {field-value} ...)" (id setp-)) (procedure "(update-{name} obj {field-key}: {field-value} ...)" (id update-)) (procedure "(updatep-{name} obj {field-key}: {field-value} ...)" (id updatep-))) (p "As above but with keywords."))
(def (sig (procedure "(alist->{name} alist)" (id alist->)) (procedure "({name}->alist obj)" (id name))) (p "Convert to and back from an alist."))
(def (sig (procedure "(old-vector->{name} vector)" (id old-vector->))) (p "Reads in a vector of the form " (i "#({case-insensitive-name} {field0} ...)") ". This is only provided for compatibility with " (i "Scheme->C") ". Not yet implemented."))
