Article View: comp.lang.misc
Article #4220Re: scheme [Re: What does an anti-perl look like]
From: Stephen E. Witham
Date: Thu, 27 Jun 1991 20:01
Date: Thu, 27 Jun 1991 20:01
39 lines
2228 bytes
2228 bytes
In article <1991Jun26.223026.13792@watserv1.waterloo.edu>, mhcoffin@tolstoy.waterloo.edu (Michael Coffin) writes:
> There's at least one advantage to the lisp syntax, and that advantage
> is important to lispers, although others may not find it important.
> Lisp programs have a simple, logical representation as data within
> lisp: a program is a list of lists, i.e., a tree.
Lisp has two features: an internal form for programs, and a (over:-) simple
syntax. I think with an "infix Scheme," having a well-defined internal
form would give you most of the power. You'd need a "code-constant" or
"internal-form-of-this-quoted-code-fragment" construct, e.g.,
x = quote {
function ( a, b ) {
return a+b;
}
};
(That's not a lambda expression, it's a quoted lambda expression.)
> In most programming
> languages, source-to-source transformations are a pain because to do
> anything general you have to parse the language into some idiosyncratic
> form, manipulate it, and then translate back into the source language.
If the compiler (or a library routine) can do the parsing,
and there's a standard (not idiosyncratic) internal form,
and a library routine can print programs,
(or else, you don't go to ASCII, but stay in internal form),
then the situation would be pretty much the same as with Lisp.
Lisp has to be parsed and printed, too, if you're working with ASCII.
> It's also why lisp has general-purpose syntax extension
> that integrates neatly with the rest of the language (e.g.,
> extend-syntax) while C has a crude, tacked-on macro processor
> pre-pass.
I've always wanted "semantic macros" instead of text macros, for C.
--Steve
Technical Details
Message-ID:
<603@smds.UUCP>Path:
arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!qt.cs.utexas.edu!yale.edu!think.com!samsung!transfer!lectroid!jjmhome!smds!swReferences:
<4601@optima.cs.arizona.edu> <1991Jun26.223026.13792@watserv1.waterloo.edu>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!qt.cs.utexas.edu!yale.edu!think.com!samsung!transfer!lectroid!jjmhome!smds!sw From: sw@smds.UUCP (Stephen E. Witham) Newsgroups: comp.lang.misc Subject: Re: scheme [Re: What does an anti-perl look like] Summary: Programs as data in "infix Scheme" Message-ID: <603@smds.UUCP> Date: 27 Jun 91 20:01:38 GMT References: <4601@optima.cs.arizona.edu> <1991Jun26.223026.13792@watserv1.waterloo.edu> Organization: SMDS Inc., Concord, MA Lines: 39