[comp.lang.functional] Calling LISP from C

bill@polygen.uucp (Bill Poitras) (05/16/91)

How do I call compiled common lisp from C?  I have a large chunk of LISP
which I need to call from C and get data back into C.  How is this
usually done?  Any help would greatly be appreciated.  E-Mail is
preferable, but posting is OK.

+-----------------+---------------------------+-----------------------------+
| Bill Poitras    | Polygen Corporation       | {princeton mit-eddie        |
|     (bill)      | Waltham, MA USA           |  bu sunne}!polygen!bill     |
|                 | FAX (617)890-8694         | bill@polygen.com            |
+-----------------+---------------------------+-----------------------------+

bill@polygen.uucp (Bill Poitras) (05/20/91)

Someone wrote me back about this saying:
>if you give any information about what lisp, what machine, what
>operating system and what c you are using, then somebody might be able
>to help.
>
>if you add in a little information about what you are trying to do,
>then even more people can help.

So I will.  

I am trying to take some common LISP code which has some very complex
algorithms and interface them to C.  The specifics:

LISP: compiled common LISP
OS: IRIX Unix System V, AIX 3.1.x , Sun OS 4.1
Machine: Silicon Graphics Personal Iris, IBM RS/6000, Sun 4, Sun 3
C compiler: C compiler which comes with the system.  ANSI C for RS/6000,
K&R for Sun and IRIS.

The type of calls that I would make:

main()
{
	Molecule x;
	int i;

	i = LISP_Molecular_weight_of(x);
}


All of the computation would be in LISP, the User Interface for the
program would be in C.  Hopefully this is enough.  If not, let me know.

+-----------------+---------------------------+-----------------------------+
| Bill Poitras    | Polygen Corporation       | {princeton mit-eddie        |
|     (bill)      | Waltham, MA USA           |  bu sunne}!polygen!bill     |
|                 | FAX (617)890-8694         | bill@polygen.com            |
+-----------------+---------------------------+-----------------------------+