chicken-janitors
[Top][All Lists]
Advanced

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

Re: #1832: Exported syntaxes are not fully hygienic


From: Chicken Trac
Subject: Re: #1832: Exported syntaxes are not fully hygienic
Date: Wed, 03 Apr 2024 07:53:14 -0000

#1832: Exported syntaxes are not fully hygienic
-------------------------------------+-------------------------------------
            Reporter:  Dominik Joe   |      Owner:  (none)
  Pantůček                           |
                Type:  defect        |     Status:  new
            Priority:  major         |  Milestone:  someday
           Component:  compiler      |    Version:  5.3.0
          Resolution:                |   Keywords:  syntax hygiene modules
Estimated difficulty:  hard          |
-------------------------------------+-------------------------------------

Comment (by sjamaan):

 The problem is clearly strip-syntax - that should not be used. It's used
 because we don't want to emit gensymed names, as those won't be resolvable
 when loading the import library (that's a different compilation pass,
 which doesn't have the same aliases database).

 A potential solution might involve something akin to `canonicalize-
 expression` on the syntax form, leaving any unresolved symbols as is (so
 keeping the gensymed aliases in place). There'd still be a risk of capture
 since those names won't be gensymed anymore, but it'd be less likely since
 they'd still be obfuscated.

 I think if this works, we won't need the eval for the `module-import-
 forms` anymore either, as everything will be fully resolved.

 Finally, I think we'd do well to simplify this example a bit.  The code is
 quite hard to follow.

-- 
Ticket URL: <https://bugs.call-cc.org/ticket/1832#comment:1>
CHICKEN Scheme <https://www.call-cc.org/>
CHICKEN Scheme is a compiler for the Scheme programming language.

reply via email to

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