From: Kasper Osterbye
Subject: Re: Threaded interpreters for Lisp or Scheme?
Date: 
Message-ID: <1990Jun21.094828.29673@iesd.auc.dk>
In article <······@sun.Eng.Sun.COM> ········@prosper (Vladimir G. Ivanovic) writes:
>In v25 #2 of SIGPLAN Notices (February 1990), David J. Nordstrom of DePaul
>University contributed an article called "Threading Lisp."  From the
>introduction: 
>
>  This article describes a simple method of implementing a threaded
>  interpreter (TI) for Lisp.  TIs are fast, space-efficient, flexible, readily
>  extensible, and easy to implement since much (or most) of the interpreter can
>  be written in the language implemented by the interpreter.
>
>Can anyone point me to an implementation of a TI for Lisp or Scheme?  The ideal
>would be a version in C for SPARCstations running SunOS 4.0.3c (but that's
>asking for a lot!) Any help would be greatly appreciated.
>
>Vladimir G. Ivanovic			········@sun.com
>M/S MTV12-33				·········@sun.com
>Sun Microsystems, Inc.			
>2550 Garcia Ave.
>Mountain View, CA 94043-1100		(415) 336-2315

While TI are nice, and the referenced paper explains that it can be
done, it is not apparent that the author discusses how to have the 
TI do garbage collection, which is a integrated part of Lisp. I am
therefore not sure that the TI implementation is as easy as it is 
presented in that SIGPLAN issue.

-- Kasper



-- 
Kasper Osterbye                     Internet: ······@iesd.auc.dk
Institute for electronic systems    UUCP: ...!mcvax!iesd!kasper
Strandvejen 19, 9000 Aalborg
DENMARK. (W) +45 98 13 87 88-285  (H) +45 98 37 30 65
From: Andrew Ginter
Subject: Re: Threaded interpreters for Lisp or Scheme?
Date: 
Message-ID: <1990Jun22.154925.15967@calgary.uucp>
> While TI are nice, and the referenced paper explains that it can be
> done, it is not apparent that the author discusses how to have the 
> TI do garbage collection, which is a integrated part of Lisp. I am
> therefore not sure that the TI implementation is as easy as it is 
> presented in that SIGPLAN issue.

Compiling lisp to a threaded interpreter is a little tricky if the
interpreter is to be integrated to any degree with the original lisp.
If the threaded interpreter is treated as just a "machine language" to
which the compiler is targeted though, compiling to the interpreter is
every bit as simple as compiling to any other machine (I've tried it).
Garbage collection is every bit as simple in the threaded interpreter
as it is in any other machine language.

Andrew Ginter, 403-282-2984, ·······@CPSC.UCALGARY.CA, ······@UNCAMULT.BITNET