Newsgroups: comp.lang.dylan
Path: cantaloupe.srv.cs.cmu.edu!rochester!udel!news.mathworks.com!news.duke.edu!godot.cc.duq.edu!newsfeed.pitt.edu!uunet!in1.uu.net!sytex!smcl
From: smcl@sytex.com (Scott McLoughlin)
Subject: Re: Dylan Competitive Analysis: Dylan vs. SmalltalkAgents?
Message-ID: <PXgq2c2w165w@sytex.com>
Sender: bbs@sytex.com
Organization: Sytex Access Ltd.
References: <3jmfdq$1n3@gap.cco.caltech.edu>
Date: Fri, 10 Mar 1995 05:54:36 GMT
Lines: 42

sethml@sloth.ugcs.caltech.edu (Seth LaForge) writes:

[ stuff on requiring infix -> prefix in Dylan  deleted ]

> 
>   (1) It adds to the complexity of the language, perhaps making it
>       harder to implement.  I think it's justified, though, especially
>       since converting to prefix is pretty much the same as parsing
>       the infix anyway.
>   (2) Perhaps there are problems with constructs that can't
>       easily be converted from the prefix to the infix notation.
>       Since I don't know the language well...  Can anyone think of any
>       problems here?
> 
> Seth

Howdy,

First, if it add's alot to the complexity of the language, leave
it out. The complexity of implementing dynamic languages 
well in a cost effective manner is IMHO a big bummer that keeps
them out of the mainstream.

Second, how much complexity would it add? The parser for infix
Dylan produces a parse tree made up of Dylan objects which is
then sent through a macro expansion pass and then off to the
compiler. Using sexprs for the initial parse tree would not
add a whole lot to compiler's complexity, and yes, Lisp
macros are very very cool.

Third, yes I could imagine complexities defining new
syntax as easily as defining macros is in prefix Lisp.
I don't know the issues/answer either, but in the above
scheme, it's just got to get the defined construct into
sexpr form from infix; the macro itself could perhaps
assume the lion's share of expansion, But would this
help solve the problem ???

=============================================
Scott McLoughlin
Conscious Computing
=============================================
