[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Whither Dylan?



as far as dylan macros go i'd say that the current dylan macros could 
be improved dramatically by adding template calls as discussed in 
appendix b of keith playford and my paper on dylan macros:

    http://www.ai.mit.edu/~jrb/Projects/dexprs.pdf

i think this would go a long way towards making dylan macros easier to 
use.

we also discussed a scheme for procedural macros.  the main missing 
piece was a macro plugin and module system.  this turned out to be 
easier in java because they already have an api for dynamic loading of 
code.  we just used the CLASSPATH to load macros into the compiler.  
there was some reason to believe that a separate CLASSPATH would be 
nice for macros.  the mapping of macros to classes made procedural 
macros pretty straightforward in java.

i'm not sure i have any real answers on how to do it better in Dylan 
though.  one would definitely need a strong dynamic code loading api.

i would say that the system described in the dexprs paper still seems 
like a good design (modulo the macro loading and module issues).  the 
main question is whether that added complexity is really needed 
especially when you've got template calls.

jonathan

On Friday, April 18, 2003, at 03:06 PM, Bob Cassels wrote:

> andreas@andreas.org wrote:
>
>> Jonathan Bachrach <jrb@ai.mit.edu> writes:
>>
>>
>>> goo is a stripped down rethought dylan which is simpler and more
>>> dynamic.  it's meant to be implementable in on the order of 10k lines
>>> of code.  i did it originally as a teaching and research vehicle
>>> finding it easier to teach and play with ideas in the much smaller
>>> code base.  it's not a competitor.
>>>
>>
>> Imagine that work would be underway to refurbish the Dylan standard,
>> working title "Dylan 2.0".  What would you suggest to change in Dylan,
>> especially given the experience with goo?
>>
> A simple one is to adopt (as GOO did) the C3 class linearization, 
> described in 
> <http://www.webcom.com/haahr/dylan/linearization-oopsla96.html>.  We 
> (the Apple Dylan group) would have done it ourselves, but we ran out 
> of time.
>
> Harder is to do a better job with macros.  I don't actually know what 
> state they are in, but I know that the last time I looked they were 
> "unfinished".  Of course GOO's sexp syntax means it doesn't have to 
> deal with some of the harder issues.  Jonathan -- did your work on 
> Java macros give you any ideas about how to do them better in Dylan?
>
> Bob
>
>
>