Re: [sibilant] Why are some macros defined in core.lisp and others in macros.lisp?
- From:
- Evan R. Murphy
- Date:
- 2010-12-15 @ 21:28
Great, thanks for the super-clear explanation!
On Wed, Dec 15, 2010 at 3:20 PM, Jacob Rothstein
<jacob.rothstein@gmail.com>wrote:
> Sibilant bootstraps from the macros defined in core.lisp. Probably
> some of the macros in core.lisp can be moved into macros.lisp and
> should be, but I think the core that can't be are defmacro, lambda,
> and anything that those macros need. Everything else can and should
> be moved to macros.lisp. Similarly, the order of macros in
> macros.lisp is important, because many of the macros towards the
> bottom are defined in terms of the macros above.
>
> I added an issue on github:
> https://github.com/jbr/sibilant/issues/issue/29. If you feel like it,
> I'd love a patch that applies cleanly. If not, I'll get to it soon,
> as I agree there should be as few macros in core.lisp as possible.
>
> –Jacob
>
> On Wed, Dec 15, 2010 at 10:54 AM, Evan R. Murphy <evanrmurphy@gmail.com>
> wrote:
> > Is there a consistent rule of thumb for deciding whether a macro should
> be
> > defined in core.lisp or in macros.lisp? I get the sense that only the
> most
> > fundamental operators are defined in the core and all others elsewhere,
> but
> > is there a clear place to draw the line? Could some definitions be moved
> > between core.lisp and macros.lisp without breaking it?
> > Still trying to understand how Sibilant ticks. :)
> >
> > Evan
>