I've been reconstructing an old programming language.
It originally had a very simple but awkward macro
facility:  if an identifier was declared as a macro,
whenever it was called, it could inspect/consume as
much of the remaining tokens as it wished and could
splice other tokens in.  On top of this a very nice
"declarative" macro system was built, which I loved
when I used it.  Since my implementation is not yet
self-hosting, I've been using higher-order functions
instead, and the more I do this the less I want macros.

You could think of the rewrite rules in VisualWorks
as something resembling macros.  Come to think of it,
Lukas Renggli, Helvetia, ... found it!

http://scg.unibe.ch/archive/phd/renggli-phd.pdf



On 12 June 2018 at 12:10, Michael Forster <m...@forsterfamily.ca> wrote:

> On Fri, May 25, 2018 at 10:12 AM, Ben Coman <b...@openinworld.com> wrote:
> >
> >
> > On 25 May 2018 at 21:22, Debiller 777 <ozovozovozo...@gmail.com> wrote:
> >>
> >> Well, I've already asked about adding new literals to pharo or Smalltalk
> >> in general, however this time I have a better idea:
> >> macros. Can they be added? Because if I understand correctly they may be
> >> the only way to do that.
> >
> >
> > Can you provide an example how how you would use a macro?
> >
> > cheers -ben
>
>
>
> Late to the party, but I thought some might find it interesting to
> look through the "macros vs. blocks" thread on the old Lightweight
> Languages mailing list. Posts from Guy Steele Jr., Avi Bryant, Trevor
> Blackwell (rewrote Graham's Yahoo Store in Smalltalk), and others:
>
> https://people.csail.mit.edu/gregs/ll1-discuss-archive-html/msg02060.html
>
>
> Cheers,
>
> Mike
>
>

Reply via email to