Hi Lindsay, > https://picolisp.com/wiki/?Documentation#yajson
Thanks! One minor point: In the 'case' calls, the CARs of clauses with multiple keys are quoted, like ('(" " "^I" "^J" "^M") .. Strictly speaking this is not correct or at least not needed, as 'case' does not evaluate the CARs. It works correctly though, because it expands to ((quote " " "^I" "^J" "^M") .. so the symbol 'quote' is simply also checked for. If OK, I'd also propose a simplification of (de jsonSkipWhiteSpace (Lst) (let (C NIL NotDone T) (while (and NotDone Lst (setq C (car Lst))) (if (sect (list C) '(" " "^I" "^J" "^M")) (++ Lst) (setq NotDone NIL) ) ) Lst ) ) Couldn't it be just the following? (de jsonSkipWhiteSpace (Lst) (while (member (car Lst) '(" " "^I" "^J" "^M")) (++ Lst) ) Lst ) But anyway, it could be just (seek '(((C)) (not (sp? C))) Lst) or, if we remove also white spac at the end (clip Lst) ☺/ A!ex -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe