Path: utzoo!utgpu!news-server.csri.toronto.edu!bonnie.concordia.ca!uunet!elroy.jpl.nasa.gov!sdd.hp.com!think.com!paperboy!macrakis From: macrakis@osf.org (Stavros Macrakis) Newsgroups: comp.lang.misc Subject: Re: scheme [Re: What does an anti-perl look like] Message-ID: Date: 28 Jun 91 03:19:36 GMT References: <4601@optima.cs.arizona.edu> <1991Jun26.223026.13792@watserv1.waterloo.edu> <603@smds.UUCP> Sender: news@OSF.ORG Organization: OSF Research Institute Lines: 43 In-reply-to: sw@smds.UUCP's message of 27 Jun 91 20:01:38 GMT In article <603@smds.UUCP> sw@smds.UUCP (Stephen E. Witham) suggests adding more conventional syntax on top of a Scheme-like semantic base. Algol-like syntax has gone with Lisp-like languages in several different projects: -- Lisp 2.0 was a pretty standard Lisp inside, with Algol syntax outside. -- ECL (or EL/1) had an Algol-like syntax, a Lisp-like approach to the language environment (interpreter with compatible compiler, program represented as linked-list data structures available to other programs, dynamic scoping, ...) and an original approach to dynamic data typing (types as data, etc.). -- The Macsyma user language was fairly Algol-like on the outside, very Lisp-like on the inside. (Macsyma is a large symbolic algebra system.) Of course, all of this depends on what you call `Algol-like' and what you call `Lisp-like'. If you're not careful, you end up calling every expression-oriented language with a tree-like internal form Lisp-like, and every language with begin-end blocks Algol-like. Perhaps Scheme ought to be called Algol-like for that matter, since Algol had static scoping since the beginning, and Algol 68 even introduced first-class closures.... And oh, yes, I agree with Witham that there's more to Lisp's syntax than S-expressions: you've got to count all the special forms as part of the syntax to be fair.... One of the advantages of Scheme is that it reduces the number of these. -s ** I don't have bibliographies, but here are some pointers: For Lisp 2.0: see Jean Sammet's Programming Languages: History and Fundamentals For ECL: Ben Wegbreit's papers in CACM around 1970-75. For Macsyma: Macsyma Users' Manual (I don't think the language was described in any detail in the published papers).