parse-field-of := λ(: type-name String). (: ( (let tt (parse-type type-name)) (let field-name '_s) (let field-name-s SNil) (while (!=( (head-string type-name) 0_u8 )) ( (if (==( (head-string type-name) 58_u8 )) ( (set field-name (clone-rope field-name-s)) (set tt (parse-type(tail-string type-name))) (set type-name '_s) ) ( (set field-name-s (SCons( (close field-name-s) (close(SAtom(clone-rope(head-string type-name)))) ))) (set type-name (tail-string type-name)) )) )) (Tuple( field-name tt )) ) Tuple);