Lids and Jars 
Author Message
 Lids and Jars


 >Doesn't this mean that Dylan will come out on top?

Don't we wish.

I am glad to see a Dylan related post on this group for a while though.
I'll have a couple of implementation specific problems to post soon. In the
meanwhile I have an inquiry that may spark a lengthy thread.

The more I learn Scheme to complement my Dylan knowlege, the more (much to
my surprize) I am begining to see why many people wanted the language to
retain the prefix syntax at least as an alternative.

My question is this: would the Dylan macro system have been easier to
implement if the prefix syntax had been retained? At least for the macro
system? I realize that some of Scheme's macro implementations suffer from
the same lexical scoping problems, but isn't it easier to do rewrite rules
in prefix notation?


Los Angeles, CA   illustration & design |      {*filter*}dog mail system"
    http://www.*-*-*.com/ ~athene    | eti kai nun Hellada phileo

IBM 350 MHz PowerPC 604e unveiled: world's fastest microcomputer cpu



Tue, 18 Apr 2000 03:00:00 GMT  
 Lids and Jars



Quote:
>My question is this: would the Dylan macro system have been easier to
>implement if the prefix syntax had been retained? At least for the macro
>system? I realize that some of Scheme's macro implementations suffer from
>the same lexical scoping problems, but isn't it easier to do rewrite rules
>in prefix notation?

Yes, definitely.  But...

1) The Dylan macro system gets lots of inspiration from Kent Dybvig's
   macro system for Scheme (syntax-case).  Kent has always pushed the
   idea that we should divorce the notions of syntax and lists.  In
   other words, you work with "syntax objects," not lists.  It's this
   kind of separation/abstraction that enabled the same sort of macro
   system for Dylan to exist.  I think it's nice to see these ideas
   vindicated in an algebraic-syntax language.

2) I have written a sort of Dylan-in-Scheme consisting of a bunch of
   very hairy syntax-case macros (in Scheme).  It was interesting to
   discover that there were places where syntax-case wasn't powerful
   enough to do what I wanted in a clean way.  So it turns out that
   Dylan actually allows more flexible syntax extension than any Lisp
   or Scheme that I have seen.  (More precisely, it allows programmers
   to modify/extend that grammar in more ways.)  I don't we ever would
   have noticed the weaknesses in Scheme's syntactic extension
   mechanisms without having an algebraic Dylan.

On the other hand, Dylan still doesn't have some of the features in
syntax-case, such as local syntactic extension (let-syntax and
letrec-syntax).  It seems to be the case that the combination of a
module system and Dylan's "auxillary rule sets" eliminates a lot of
the need for local macros, but I'd like like to have them around.  I'd
also like full-fledged procedural macros, not just the
pattern=>template ones.

- Jonathan
--
                                        Jonathan



Tue, 18 Apr 2000 03:00:00 GMT  
 
 [ 3 post ] 

 Relevant Pages 

1. Boeing's LIDS program--Any Info??

2. Smalltalk and 'jar'

3. Jar file equivalent

4. Macintosh & cosmoplayer.jar

5. 'cosmoplayer.jar' file needed

6. JAR file in url field of script

7. Chisel Optimiser & *.JAR

8. packages (jar-alike)

9. Using jarred classes in script nodes

10. JARS Judges!

11. JARS Judges

12. vrml97.jar createVrmlFromString returns null or exception

 

 
Powered by phpBB® Forum Software