Path: utzoo!utgpu!news-server.csri.toronto.edu!clyde.concordia.ca!uunet!decwrl!ucbvax!bloom-beacon!eru!luth!sunic!tut!tut!pk From: pk@tut.fi (Kellom{ki Pertti) Newsgroups: comp.lang.scheme Subject: Scheme as an extension language and call/cc Message-ID: Date: 21 Aug 90 09:45:28 GMT Sender: news@funet.fi (#News ) Distribution: comp Organization: Tampere Univ. of Technology, Finland. Lines: 26 There has been at times quite heated discussion about small Scheme (or schemish lisp) implementations. One point that that was raised by Niels Mayer was that Scheme as well as other small lisps would be a good choice for an extension language, because of the existing literature, support etc. that an already existing language has. Although I like the idea of continuations, it seems that for an extension language a'la Emacs Lisp they are a bit of overkill, because of the extra implementation and runtime difficulties involved. For most applications, "almost first class" continuations would be quite sufficient. What I'm thinking of is some kind of catch-throw like mechanism that could be expressed in terms of call/cc but implemented more efficiently. This kind of subset would be enough for typical (all?) uses of an extension language, while being compatible with Scheme in the sense that all programs written using the subset could be run using a "real" Scheme. Before resorting to the "Scheme without call/cc is not Scheme" argument (with which I quite agree), remember that an embedded extension language is not used as a general purpose programming language, so the ability to be able to run all the call/cc puzzles is not of prime importance. -- Pertti Kellom\"aki (TeX format) # These opinions are mine, Tampere Univ. of TeXnology # ALL MINE ! Software Systems Lab # (but go ahead and use them, if you like)