Re: Fwd: Dylan stuff

Bruce Hoult <[email protected]>
Newsgroups gmane.comp.lang.dylan.gwydion.devel
Message-ID <CAMU+EkyJ4d7vGkePatUqcB1jqN6SMxfQ_weYyhfDX9WoO6P3Qg@mail.gmail.com>
I like the infix syntax that Dylan has and find it very comfortable to
use, but I'm not allergic to prefix. And most of the things that annoy
me about elisp and scheme syntax were fixed in the original Dylan
prefix syntax anyway.[1]

The infix syntax was an attempt to appeal to Pascal and C programmers
and it didn't work. The success of JavaScript suggests that the main
problem was it was still too different looking to C. Well, and it
never had a killer app.

I would say, go for a traditional LISPish reader.


[1] my biggest pain point is binding multiple local variables with
things with side-effects happening between them. e.g. printf()s. I
write an awful lot of code as

(let* ((a (begin w x a-expr)) ((b (begin y z b-expr)))

 or the equivalent with progn, when in more normal languages its:

w; x; let a = a-expr; y; z; let b = b-expr;

On Fri, Jan 11, 2013 at 9:09 PM, Bruce Mitchener
<[email protected]> wrote:
> 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
>
_______________________________________________
hackers mailing list
[email protected]
https://lists.opendylan.org/mailman/listinfo/hackers
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.