[comp.lang.scheme] Scheme to Commonlisp

krulwich@ils.nwu.edu (Bruce Krulwich) (11/11/89)

In article <8911080749.aa12548@mintaka.lcs.mit.edu>, S.Ross@CS (Simon Ross)
writes:
>Does anyone have any advice or experience with converting a
>program in Scheme to CommonLisp (in this case Texas Instruments
>Scheme and Vax Commonlisp)? If there is some nifty program out
>there that could do the job?

Over this past summer I wrote a program to translate T to CommonLISP
(unfortunately I had to make the switch).  It was not complete, but had a
framework for defining translation methods that can be used to handle the
parts of T that I didn't need to do.  

If anyone is interested I can look into making this package available via
anonymous FTP.


Bruce Krulwich
Institute for the Learning Sciences
krulwich@ils.nwu.edu

 

alms@cambridge.apple.com (Andrew L. M. Shalit) (11/11/89)

   In article <8911080749.aa12548@mintaka.lcs.mit.edu>, S.Ross@CS (Simon Ross)
   writes:
   >Does anyone have any advice or experience with converting a
   >program in Scheme to CommonLisp (in this case Texas Instruments
   >Scheme and Vax Commonlisp)? If there is some nifty program out
   >there that could do the job?

You may want to look at Pseudoscheme by Jonathon Reese.  It compiles
Scheme to Common Lisp, with the exception of upward continuations.
Unfortunately, I don't have an FTP address.

   -andrew

jar@ZURICH.AI.MIT.EDU (Jonathan Rees) (11/14/89)

   Date: Wed, 08 Nov 89 12:38:51 +0000
   From: Simon Ross <S.Ross@cs.ucl.ac.uk>

   Does anyone have any advice or experience with converting a
   program in Scheme to CommonLisp (in this case Texas Instruments
   Scheme and Vax Commonlisp)? If there is some nifty program out
   there that could do the job?

An old version of Pseudoscheme comes with the official VAX LISP
distribution from DEC; see the LISP$EXAMPLES directory.  It lets you
run Scheme code in Common Lisp, but doesn't include a file translator.
You can get a newer version of Pseudoscheme that does include a file
translator by anonymous ftp from
zurich.ai.mit.edu:/pub/pseudo/pseudo-2-7.tar.  Documentation is in
file README.  Upward continuations and true tail recursion aren't
supported, but it does turn appropriately written Scheme loops into
Common Lisp PROG forms.

If you want true tail recursion or upward continuations, your task is
much more difficult.