[parenscript-devel] Inconsistent compilation of the empty list?
Vladimir Sedach
vsedach at gmail.com
Fri Jul 27 21:44:45 UTC 2012
Hi Dan,
> PS> (ps '(1 []))
> "[1, '[]'];"
That is indeed weird. I fixed it by treading [] as a special case
(like a single-quoted nil). The patch is in the repository.
> PS> (ps '(1 ()))
> "[1, null];"
Now this is not weird, because the base case here is '(()) aka '(nil).
This is the unfortunate side effect of CL treating () and nil
equivalently and Parenscript treating () and [] equivalently. There's
no way to tell from the context which is the "right" way to compile
'(()). I think it is more consistent to have '(()) compile to [null]
rather than [[]], but I am open to hearing other options.
Vladimir
More information about the parenscript-devel
mailing list