Fwd: Dylan stuff
Bruce Mitchener <[email protected]>
| Newsgroups | gmane.comp.lang.dylan.gwydion.devel |
|---|---|
| Message-ID | <CA+esKjOJcHdBkyFz-cP_06=6AL5uEqH4kpdsgg+Vup=mfxim0A@mail.gmail.com> |
Hello all,
Below, I'm forwarding a couple of emails from Mikel Evins. He and I have
been communicating via email this month.
Mikel used to work at Apple on Dylan about 2 decades ago. He's been
working recently on his own programming language, Bard:
https://github.com/mikelevins/bard
He'd made a comment recently about wishing that Dylan still had a prefix /
s-expression syntax and I invited him to try adding that himself (with our
support).
I recently pushed a branch with a couple of commits to add some support for
a language header in files and to rename the current parser in some places:
https://github.com/waywardmonkeys/opendylan/tree/prefix-dylan
I think he's got some great questions below and I'll respond shortly with
my own comments, but hopefully other people that are interested can chime
in. I think it would be interesting to see this project make some progress.
He's got a successful build / bootstrap of the compiler (for the first time
in 19 years) ... so hopefully we can all make the best of this. :)
Welcome aboard, Mikel!
- Bruce
---------- Forwarded message ----------
From: mikel evins <[email protected]>
Date: Fri, Jan 11, 2013 at 2:30 PM
Subject: Re: Dylan stuff
To: Bruce Mitchener <[email protected]>
Cc: mikel evins <[email protected]>
On Jan 10, 2013, at 1:29 AM, Bruce Mitchener wrote:
> I thought about dropping you a note this week, but figured I'd give you a
bit more time. :)
>
> Looking forward to hearing more soon. :)
My machine is in the midst of the 3-stage-bootstrap at the moment,
currently building the coff-builder. If it finishes happily, then I'm good
to go on the basic build.
I've read through the grammar; I didn't immediately notice any great
mysteries.
The first question on my mind is: how do we decide exactly what the current
grammar of an s-expression-based Dylan should be? I don't think I can just
recapitulate the circa-1992 Dylan I used; for one thing, it lacked certain
features the OpenDylan now has--for example, the s-expression Dylan had
macros, but they were defmacro-style macros written in Common Lisp, using
Leibniz, the modified MCL on which the Apple Dylan compier was implemented.
For another thing, the language has obviously evolved further since then,
and I have to assume that I'll find features in the current OpenDylan that
were not in Apple Dylan, and that therefore had no corresponding syntax.
So the question is, what should I use as a standard for the S-expression
syntax? I'm guessing the process is something like: start by looking for a
syntax in Andrew's 1992 reference manual that corresponds to the current
infix syntax; if I find one, and it suitably matches the current semantics
without problems, use that. If there are new features to take into account,
or if there's a mismatch for some other reason, attempt to find a
minimally-disruptive modification to the syntax that reconciles with the
current language; if that fails, ask you and the other maintainers and
users of the language what seems to you to be the right solution.
If we're lucky, an obvious or at least uncontroversial s-expression version
of the current syntax will be clear. Failing that, we can hope that a lot
of the corner cases can be easily resolved by a little discussion.
That leaves places where we'll have to do actual design work for the
S-expression syntax. I don't mind doing that work, but I don't want to
unilaterally impose any of my idiosyncracies on the language without
running them by the current users.
So if you or others have input about how to decide what the revived
s-expression syntax looks like, either now or later, I'd be very interested
to hear it.
---------- Forwarded message ----------
From: mikel evins <[email protected]>
Date: Fri, Jan 11, 2013 at 2:35 PM
Subject: Re: Dylan stuff
To: Bruce Mitchener <[email protected]>
Cc: mikel evins <[email protected]>
On Jan 11, 2013, at 1:30 AM, mikel evins wrote:
> So if you or others have input about how to decide what the revived
s-expression syntax looks like, either now or later, I'd be very interested
to hear it.
Oh, and lest I forget, another obvious question is: do I make a Lisp-style
reader that supports reader macros, or do I implement the s-expression
syntax using a grammar file like the one used for the infix syntax?
My own preference would be to write a Lisp-style reader that uses
readtables and reader macros. The Lisp reader is not something I would give
up without some regret; it's just too darn handy.
On the other hand, if the existing Dylan community is dead-set on having
both syntaxes defined in the same way, I will comply.
_______________________________________________
hackers mailing list
[email protected]
https://lists.opendylan.org/mailman/listinfo/hackers