+: readchar ( -- char-atom )
+ inc-parse-idx
+ inc-parse-idx
+
+ S" newline" str-equiv? if 7 parse-idx +! '\n' character-type exit then
+ S" space" str-equiv? if 5 parse-idx +! bl character-type exit then
+ S" tab" str-equiv? if 3 parse-idx +! 9 character-type exit then
+
+ nextchar character-type
+
+ inc-parse-idx
+;
+
+: readnil ( -- nil-atom )
+ inc-parse-idx
+ eatspaces
+ inc-parse-idx
+
+ nil-type
+;
+
+\ Parse a scheme expression