chicken-users
[Top][All Lists]
Advanced

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

Re: [Chicken-users] Some syntax help?


From: Peter Bex
Subject: Re: [Chicken-users] Some syntax help?
Date: Sun, 3 May 2015 13:29:32 +0200
User-agent: Mutt/1.5.21 (2010-09-15)

On Sat, May 02, 2015 at 07:13:55PM -0700, Dan Leslie wrote:
> First off, thank-you for the aid!

You're welcome!

> Peter Bex <address@hidden> writes:
> > I'm sorry to say it, but this egg contains a lot of strange mistakes and
> > weird things; for example, the setup-file tries to emit a module named
> > "funky", which does not exist.  Also, the renaming procedure from
> > explicit renaming macro transformers is referred to as "inject", which
> > is extremely misleading: that's the _opposite_ of what it does!
> 
> Heh, the `funky` was a copy-paste mistake; oops. ;)

It's also a bit of a problem that csc doesn't give an error when trying
to emit an import file that doesn't exist.  I've created a ticket so
we don't forget: https://bugs.call-cc.org/ticket/1188

> The opposite of inject would be extract; can you explain this a little
> more? I'll admit, I'm quite confused by Chicken's syntax extensions.

The opposite of "inject" in macros is "rename".  Injection causes the
specified identifier to be used as-is, unhygienically.  Renaming causes
the identifier to be renamed so it won't shadow (or be shadowed by) any
locally available identifiers at the macro expansion site.

There are a few tutorials about how this works, see
http://wiki.call-cc.org/tutorials

> I liked the separation between compilation scope for the 'core'
> and the ecosystem of methods that build upon it. I agree, it's somewhat
> confusing at first glance, but it made catching the problems faster when
> I had yet to write any tests. ;)

Yeah, it may just work.

> Thank-you again! This egg was my first real foray into playing with
> Chicken's lower level syntax extensions; and I must say it's been rather
> confusing, which seems to have been due to gross misunderstandings on my part.

No problem.  If you have further questions, just ask :)

Cheers,
Peter

Attachment: signature.asc
Description: Digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]