Newsgroups: comp.lang.functional,comp.lang.scheme
Path: cantaloupe.srv.cs.cmu.edu!bb3.andrew.cmu.edu!nntp.sei.cmu.edu!news.psc.edu!wink.radian.com!gatech!csulb.edu!hammer.uoregon.edu!newsgate.cuhk.edu.hk!news.hk.net!howland.erols.net!usenet.kornet.nm.kr!usenet.etri.re.kr!newsfeed.kreonet.re.kr!news.imnet.ad.jp!wnoc-tyo-news!news.nc.u-tokyo.ac.jp!train.ad.jp!news!yacc.or.jp!hallab-news!sunshine!abe
From: abe@hallab.co.jp (Abe Seika)
Subject: Scheme in Haskell - a toy interpreter
X-Nntp-Posting-Host: suntory.hallab.co.jp
Message-ID: <ABE.97Mar7182417@suntory.hallab.co.jp>
Followup-To: comp.lang.functional
Sender: usenet@hallab.co.jp
Organization: HAL Laboratory, Inc. Tokyo, Japan
Date: Fri, 7 Mar 1997 09:24:17 GMT
Lines: 25
Xref: glinda.oz.cs.cmu.edu comp.lang.functional:8513 comp.lang.scheme:19044


I am planning to write Scheme interpreter/compiler in Haskell.
As the first step, I have written a toy interpreter based on the
denotational semantics described in R4RS.  It was easy and
interesting.  The definition is translated very straightforwardly
into Haskell and it worked extremely well.

How nice R4RS and Haskell are!

If you want the toy interpreter, please mail me.  It consists of
about 900 lines of Haskell(1.3) programs in total.  It works
with hugs as well.

     +--------------------------------------------------------------------+
     |The main problem I am facing is how to catch keyboard interrupt in  |
     |Haskell. In interactive system, it seems very important to interrupt|
     |running programs.	 But I have no good idea right now...		  |
     +--------------------------------------------------------------------+

Any comments are welcome.

Thank you,

--
Abe Seika <abe@hallab.co.jp>
