Subject: Re: Why no standard foreign language interface?
From: Erik Naggum <erik@naggum.no>
Date: 2000/02/15
Newsgroups: comp.lang.lisp
Message-ID: <3159635132109700@naggum.no>
* "Harley Davis" <nospam_hdavis@nospam.museprime.com>
| Erik, could you say a few more words about when you've seen C++ programmer
| inappropriately pass pointers to structs and classes? I can't recall having
| seen much of this to disapprove of, so I'm curious what your experience has
| been.
it is not "inappropriate" for C++ programmers to pass pointers around --
they have no other mechanisms to use for non-trivial argument passing of
any kind. what I consider inappropriate is trying to map such C++-style
pointer-passing directly into Common Lisp at the FFI level when we have
powerful lamba lists and multiple values, and therefore I favor writing
wrapper code in C/C++ that makes use of far simpler argument-passing
techniques that can be called with far more ease from Common Lisp. and
since this is drudgery at best, it should be handled by automated tools.
(and before we have another stupid confusion, I'm _not_ saying (and never
have said) that writing such tools is trivial -- I'm saying that the
output of such automated tools will of necessity be trivial to make fit
_any_ form of FFI glue code that people invent in solitude, and that we
should re-focus on the tools, not on standardizing FFIs, which will be a
lot of meaningless work to tie vendors and developers into using an FFI
with a standard form that won't be able to handle all that interfacing to
C++ requires, anyway, simply because of the magnitude of the braindamage
in that language and what people do to survive it.)
#:Erik