[Scheme-reports] EVAL Andre van Tonder (23 Apr 2011 23:47 UTC)
[Scheme-reports] What happened to (UNQUOTE <expression> ...) Andre van Tonder (24 Apr 2011 00:04 UTC)
[Scheme-reports] Are generated toplevel definitions secret? Andre van Tonder (24 Apr 2011 00:15 UTC)
[Scheme-reports] COND, CASE, AND, ... macros are buggy Andre van Tonder (24 Apr 2011 00:24 UTC)
[Scheme-reports] Buggy definition of BEGIN Andre van Tonder (24 Apr 2011 00:33 UTC)
Re: [Scheme-reports] Buggy definition of BEGIN Jussi Piitulainen (24 Apr 2011 06:55 UTC)
[Scheme-reports] Restrictions on internal BEGIN? Andre van Tonder (24 Apr 2011 01:45 UTC)
Re: [Scheme-reports] Restrictions on internal BEGIN? Jussi Piitulainen (24 Apr 2011 07:20 UTC)
[Scheme-reports] Toplevel import scoping Andre van Tonder (24 Apr 2011 02:02 UTC)
Re: [Scheme-reports] Toplevel import scoping Alex Shinn (24 Apr 2011 02:44 UTC)
Re: [Scheme-reports] Toplevel import scoping Aaron W. Hsu (29 Apr 2011 17:11 UTC)
Re: [Scheme-reports] Toplevel import scoping Aaron W. Hsu (29 Apr 2011 17:10 UTC)
Re: [Scheme-reports] Are generated toplevel definitions secret? Andre van Tonder (24 Apr 2011 15:53 UTC)
(missing)
(missing)
(missing)
Re: Are generated toplevel definitions secret? Aaron W. Hsu (24 May 2011 18:51 UTC)
Re: [Scheme-reports] Are generated toplevel definitions secret? Sztefan Edwards (25 May 2011 14:32 UTC)
Re: Are generated toplevel definitions secret? Aaron W. Hsu (25 May 2011 20:03 UTC)
Re: [Scheme-reports] Are generated toplevel definitions secret? Perry E. Metzger (07 Nov 2011 18:40 UTC)
Re: [Scheme-reports] Are generated toplevel definitions secret? Perry E. Metzger (07 Nov 2011 18:45 UTC)
Re: [Scheme-reports] What happened to (UNQUOTE <expression> ...) Andre van Tonder (24 Apr 2011 03:10 UTC)
Re: [Scheme-reports] EVAL Alex Shinn (24 Apr 2011 02:10 UTC)
Re: [Scheme-reports] EVAL John Cowan (24 Apr 2011 06:56 UTC)

Re: [Scheme-reports] Are generated toplevel definitions secret? Sztefan Edwards 25 May 2011 14:30 UTC

On Tue, May 24, 2011 at 11:15 PM, Aaron W. Hsu <arcfide@sacrideo.us> wrote:
> On Tue, 24 May 2011 17:10:50 -0400, Andy Wingo <wingo@pobox.com> wrote:
>
>> Well why not have the name of "t" be "t" plus some string which depends
>> only on the incoming form -- like its hash value.  (Or the outgoing
>> form; the considerations are different but similar.)
>
>> That way you do preserve the "compatible recompilation" aspect, trading
>> off true secrecy, but hey.  Oh well.
>
> I am interested to see if you come up with something that preserves this
> capability while preserving hygiene. A straight hash of the input form
> will not be enough, because the form could be evaluated multiple times,
> and each time it would have to have a different identifier internally.
>

One thing I was playing around with in my Scheme dialect was an
extension to syntax rules (as well as quasi-syntax) that had a
unquote-uniq; so for the example Andy Wingo gave earlier:

  (define-syntax define-const
    (syntax-rules ((t ,$t))
      ((_ name val)
       (define t val)
       (define-syntax name (syntax-rules () ((_) t))))))

,$ was usually bound to gensym, but it could be bound to UUID-5 or the
like. I haven't used it much, nor studied the implications thereof,
but would something like this satisfy the problem?

>        Aaron W. Hsu

 -- Sz.

--
====
Q. How many Prolog programmers does it take to change a lightbulb?
A. No.

_______________________________________________
Scheme-reports mailing list
Scheme-reports@scheme-reports.org
http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports