Hello Guilemacsers! :-)
Not sure about the fine technical points, but I think the general
philosophy should consider these points:
- There’s currently no Scheme code that interacts with Elisp. Thus,
code that will be written specifically to interact with Elisp code
can adjust to do the right thing, e.g., make explicit calls to
‘canonicalize-boolean’, etc., as Mark suggested.
- Scheme’s #f/() are more expressive that elisp’s nil. They can be
easily mapped to nil, whereas it seems hard to automatically choose
whether to map nil to #f or to (). This also supports the idea of
requiring Scheme code to make explicit conversions.
- Elisp should be considered “legacy”. Whenever something can’t be
made transparent, I’d consider Scheme first-class and Elisp
second-class.
Thanks,
Ludo’.