Path: utzoo!attcan!uunet!mcsun!unido!tub!net From: net@tub.UUCP (Oliver Laumann) Newsgroups: comp.lang.scheme Subject: Scheme implementation strategies (was: Free Macintosh Scheme) Message-ID: <1436@tub.UUCP> Date: 15 Jul 90 13:04:46 GMT References: <601@argosy.UUCP> <5598@hplabsz.HPL.HP.COM> Reply-To: net@tub.UUCP (Oliver Laumann) Organization: Technical University of Berlin, Germany Lines: 34 I can't answer the original question, but I would like to bring up a general observation about Scheme implementations: In article <5598@hplabsz.HPL.HP.COM> mayer@hplabs.hp.com (Niels Mayer) writes: > > Is it [Free MacIntosh Scheme] byte compiled?? > > Does it require any assembly language coding?? I think the latter follows from the former (or rather from the opposite). In a Scheme implementation (written in C or a similar language) that does NOT compile the source code to some form of "virtual machine" code and then run a virtual machine to execute it, it is impossible to implement call/cc without assembly language coding. As far as I know, Elk is the only Scheme implementation with this property, i.e. it directly interprets the source code AND supports call/cc (this is due to the fact that it was written to be used as a general extension language); thus Elk needs assembly language coding (a few lines actually). So generally speaking a programming language L may or may not have the property ``A Scheme interpreter written in L that does not follow the "virtual-machine approach" can support call/cc''. Assembly and (obviously) Scheme have this property (I don't know any other that falls in this category); C, C++, PASCAL, and Lisp do not have it. Is that saying something? I don't know... -- Oliver Laumann net@TUB.BITNET net@tub.cs.tu-berlin.de net@tub.UUCP