8.18
9 SLOT
| (require pmsf/slot) | package: pmsf-slot | 
9.1 SLOT special elements
procedure
(slot-name-string? v) → boolean?
v : any 
Example:
> (slot-name-string? "1.2.3") #t
9.2 SLOT struct
| (require pmsf/slot/struct) | package: pmsf-slot | 
struct
(struct pslot (supername subname) #:extra-constructor-name make-pslot #:transparent) supername : slot-name-string? subname : (or/c #false slot-name-string?) 
Example:
> (pslot "1.2.3" "4") (pslot "1.2.3" "4")
9.3 SLOT conversion
| (require pmsf/slot/convert) | package: pmsf-slot | 
procedure
(pslot->string input-pslot) → string?
input-pslot : pslot? 
Examples:
> (pslot->string (pslot "1.2.3" #false)) "1.2.3"
> (pslot->string (pslot "1.2.3" "4")) "1.2.3/4"
procedure
(port->pslot input-port) → pslot?
input-port : input-port? 
procedure
(string->pslot input-string) → pslot?
input-string : string? 
Examples:
> (string->pslot "1.2.3") (pslot "1.2.3" #f)
> (string->pslot "1.2.3/4") (pslot "1.2.3" "4")