This is the mail archive of the guile@cygnus.com mailing list for the guile project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
> Why wouldn't this take the form of a foreign function interface? You're glossing over a lot of interesting issues with that phrase. For example: if I write an Emacs Lisp function that returns a list structure, and I call that function from Scheme, do I make a copy of that list structure? It seems rather a pity to make Emacs Lisp/Scheme calling so expensive because of such small areas of conflict. A pair in Lisp world should be a pair in Scheme world. A Lisp list should be a Scheme list. The same should go for vectors, symbols, and numbers. Characters are more difficult. It's impossible to do the equivalences above without introducing some oddities (in eq and eq? in particular). However, you can choose where the oddities occur, and put them in rarely used corners of the semantics. And most importantly, you can make sure they arise only when you mix languages, so Scheme and Emacs Lisp will be correct when used in exclusion. I had this all written down somewhere...