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