Hi Kashyap, > I made a tiny change to support floating point (to be used with scaling > that is). I wanted to get it reviewed to confirm if I am not missing > something. > > I added a condition to json-parse-unicode in json.l > <https://github.com/aw/picolisp-json/blob/master/json.l>
If you mean this line > [*(and (= "." (car Value))) (pop 'Value) (link R '. (pop > 'Value)) ]* I think it is fine, though I have not studied the whole JSon library. A minor improvement could be to replace all calls like (pop 'Value) with (++ Value) which is a tiny little bit smaller and faster, but that's only cosmetics. But what REALLY nags me is that this code is still around: (local MODULE_INFO *Msg err-throw) (local json-parse-file json-parse-string json-parse-unicode json-count-brackets) ... This is WRONG!! It is a pity that this is still public and being propagated as an example! Please don't use it! The correct syntax is: (local) (MODULE_INFO *Msg err-throw) (local) (json-parse-file json-parse-string json-parse-unicode json-count-brackets) ... 'local' takes NO arguments. It must read the symbols from the input stream. Otherwise the symbols ARE already read when 'local' runs and will possibly be found in the wrong namespace. ☺/ A!ex -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe