Re: [Chicken-users] for those who have interest in procedure objects decoration

2019-05-22 Thread John Cowan
On Wed, May 22, 2019 at 9:28 AM Peter Bex  wrote:


> So it makes sense they don't have a separate entry.  It's like having =>
> as a separate entry; it doesn't exist either except in cond and case
> forms.
>

Nevertheless, it's a good idea to bind unquote, unquote-splicing, and =>
to macros that throw an error,
so that you can safely rebind them as ordinary variables if you want to.

  
John Cowan  http://vrici.lojban.org/~cowanco...@ccil.org
Humpty Dump Dublin squeaks through his norse
Humpty Dump Dublin hath a horrible vorse
But for all his kinks English / And his irismanx brogues
Humpty Dump Dublin's grandada of all rogues.  --Cousin James
___
Chicken-users mailing list
Chicken-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-users


Re: [Chicken-users] for those who have interest in procedure objects decoration

2019-05-22 Thread Marco Maggi
Peter Bex wrote:

> Hm, that's interesting.  Unquote and unquote-splicing are not actually
> bound to anything; they're only available inside quasiquote, so they can't
> be imported or renamed or anything:

>   (module foo () (import (only scheme quasiquote +)) `(foo ,(+ 1 2)))

> So it makes sense they don't have a separate entry.  It's like having =>
> as a separate entry; it doesn't exist either except in cond and case
> forms.

But people will search for them.
-- 
Marco Maggi

___
Chicken-users mailing list
Chicken-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-users


Re: [Chicken-users] for those who have interest in procedure objects decoration

2019-05-22 Thread Peter Bex
On Wed, May 22, 2019 at 03:05:44PM +0200, Marco Maggi wrote:
> Peter Bex wrote:
> > This looks pretty cool!  One request though: could you please add some
> > blatant warnings that this stuff is not meant to be relied upon in user
> > code?  These are internals instead of an official API for a reason; we
> > can change them at will (this has happened in the past, and will happen
> > in the future).
> 
> Yes.  I will add it in the document overview.

Thanks!

> > So it's acceptable to use these, but only if there's no alternative, and
> > you may end up having to use cond-expand for various different versions.
> 
> Speaking of which!  "chicken-doc" does not know about COND-EXPAND! I get
> a blank page when I try it (the same with UNQUOTE and UNQUOTE-SPLICING).

Hm, that's interesting.  Unquote and unquote-splicing are not actually
bound to anything; they're only available inside quasiquote, so they can't
be imported or renamed or anything:

  (module foo () (import (only scheme quasiquote +)) `(foo ,(+ 1 2)))

So it makes sense they don't have a separate entry.  It's like having =>
as a separate entry; it doesn't exist either except in cond and case
forms.

For cond-expand, that's another story we should find out where to
document it.  It's available inside empty modules too, because it needs
to be available before even importing anything.  It's not from any
module, that's probably why we dropped it.  Perhaps under "Extensions to
the standard"?

Cheers,
Peter


signature.asc
Description: PGP signature
___
Chicken-users mailing list
Chicken-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-users


Re: [Chicken-users] for those who have interest in procedure objects decoration

2019-05-22 Thread Marco Maggi
Peter Bex wrote:

> On Wed, May 22, 2019 at 10:59:17AM +0200, Marco Maggi wrote:
>> Ciao,

>>   I'm composing unofficial documentation  for CHICKEN internals that are
>> usable from client code.   As part of this I have  added a section about
>> decorating procedure objects:

>> 

> Hi Marco,

> This looks pretty cool!  One request though: could you please add some
> blatant warnings that this stuff is not meant to be relied upon in user
> code?  These are internals instead of an official API for a reason; we
> can change them at will (this has happened in the past, and will happen
> in the future).

Yes.  I will add it in the document overview.

> So it's acceptable to use these, but only if there's no alternative, and
> you may end up having to use cond-expand for various different versions.

Speaking of which!  "chicken-doc" does not know about COND-EXPAND! I get
a blank page when I try it (the same with UNQUOTE and UNQUOTE-SPLICING).
-- 
Marco Maggi

___
Chicken-users mailing list
Chicken-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-users


Re: [Chicken-users] for those who have interest in procedure objects decoration

2019-05-22 Thread Peter Bex
On Wed, May 22, 2019 at 10:59:17AM +0200, Marco Maggi wrote:
> Ciao,
> 
>   I'm composing unofficial documentation  for CHICKEN internals that are
> usable from client code.   As part of this I have  added a section about
> decorating procedure objects:
> 
> 

Hi Marco,

This looks pretty cool!  One request though: could you please add some
blatant warnings that this stuff is not meant to be relied upon in user
code?  These are internals instead of an official API for a reason; we
can change them at will (this has happened in the past, and will happen
in the future).

So it's acceptable to use these, but only if there's no alternative, and
you may end up having to use cond-expand for various different versions.

Cheers,
Peter


signature.asc
Description: PGP signature
___
Chicken-users mailing list
Chicken-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-users


[Chicken-users] for those who have interest in procedure objects decoration

2019-05-22 Thread Marco Maggi
Ciao,

  I'm composing unofficial documentation  for CHICKEN internals that are
usable from client code.   As part of this I have  added a section about
decorating procedure objects:



I'm  not sure  I've  got everything  right.  I  accept  issues and  pull
requests at the project's site:

   

-- 
Marco Maggi

___
Chicken-users mailing list
Chicken-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-users