Newsgroups: comp.lang.lisp,comp.lang.scheme
Path: cantaloupe.srv.cs.cmu.edu!bb3.andrew.cmu.edu!nntp.sei.cmu.edu!news.cis.ohio-state.edu!news.maxwell.syr.edu!news.apfel.de!fu-berlin.de!cs.tu-berlin.de!news.uni-hamburg.de!news.Hanse.DE!wavehh.hanse.de!cracauer
From: cracauer@wavehh.hanse.de (Martin Cracauer)
Subject: Re: Foreign Functions (was Re: Why lisp failed in the marketplace)
Message-ID: <1997Feb27.172251.497@wavehh.hanse.de>
Reply-To: cracauer@wavehh.hanse.de
Organization: '(a (cons tructive organization))
References: <5eg0oj$tbb@Masala.CC.UH.EDU> <5eg59n$33h@fido.asd.sgi.com> 	<BITMEADC.97Feb21101625@Alcatel.com.au> 	<1997Feb24.110601.16097@wavehh.hanse.de> 	<SCHAUER.97Feb25111408@hamlet.zeus.gmd.de> <3065895394194764@naggum.no> <BITMEADC.97Feb27093154@Alcatel.com.au>
Distribution: inet
Date: Thu, 27 Feb 97 17:22:51 GMT
Lines: 22
Xref: glinda.oz.cs.cmu.edu comp.lang.lisp:25780 comp.lang.scheme:18968

Chris.Bitmead@Alcatel.com.au (Chris Bitmead) writes:

>Also, C seems to be a common denominator for most languages. If you
>can talk to C, most likely you can talk to anything via C.

This is a common misunderstanding.

In pratice, you usually cannot mix two languages that both interface
to C, because of incompatible behaviour of runtimes (GC, threads,
stack-handling in general), object creation policy and such.

You talk to C and to C only, *not* to other languages that interface
to C also. The only exceptions are languages that use runtimes written
in normal C without messing with the stack, Objective-C for
example. No GC, no threads.

Martin
-- 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Martin_Cracauer@wavehh.hanse.de http://cracauer.cons.org  Fax.: +4940 5228536
"As far as I'm concerned,  if something is so complicated that you can't ex-
 plain it in 10 seconds, then it's probably not worth knowing anyway"- Calvin
