View Problem Report: 11778
Audit Trail:
From: Sam Tobin-Hochstadt <samth at ccs.neu.edu>
To: matthias at ccs.neu.edu, bugs at racket-lang.org
Cc: nobody at racket-lang.org, bug-notification at racket-lang.org
Subject: Re: [racket-bug] all/11778: check syntax does not work with path-up
Date: Mon, 28 Feb 2011 19:39:19 -0500
This is a long-standing problem with all `require' macros.
On Mon, Feb 28, 2011 at 6:24 PM, <matthias at ccs.neu.edu> wrote:
> A new problem report is waiting at
> http://bugs.racket-lang.org/query/?cmd=view&pr=11778
>
> Reported by matthias for release: 5.1.0.2--2011-02-22(83b00c0/g)
>
> *** Description:
> If "foo.rkt" exports x and the following module is located
> 'below' foo.rkt, then check-syntax on this module does not
> connect foo.rkt and x (though it does seem to know that things
> are imported from some module.)
>
> #lang racket
> (require racket/require) (require (path-up "foo.rkt"))
> x
>
> *** How to repeat:
>
>
> *** Environment:
> macosx "Darwin africa.local 10.6.0 Darwin Kernel Version 10.6.0: Wed Nov 10 18:13:17 PST 2010; root:xnu-1504.9.26~3/RELEASE_I386 i386" (i386-macosx/3m) (get-display-depth) = 32
> Human Language: english
> (current-memory-use) 213833252
>
> Collections:
> ("/Users/matthias/0Unison/collects/"
> ("._.DS_Store" ".DS_Store" "compiled" "date" "finance" "info-domain" "info.ss" "pdf.ss~" "session" "short" "testing" "tll-collects" "utils" "web"))
> ("/Users/matthias/Library/Racket/5.1.0.2/collects"
> (non-existent-path))
> ("/Users/matthias/plt/collects"
> (".gitignore" "2htdp" "afm" "algol60" "at-exp" "browser" "combinator-parser" "compiler" "config" "data" "datalog" "defaults" "deinprogramm" "drracket" "drscheme" "dynext" "embedded-gui" "eopl" "errortrace" "ffi" "file" "framework" "frtime" "games" "graphics" "gui-debugger" "guibuilder" "handin-client" "handin-server" "help" "hierlist" "honu" "htdp" "html" "icons" "info-domain" "lang" "launcher" "lazy" "macro-debugger" "make" "meta" "mred" "mrlib" "mysterx" "mz" "mzcom" "mzlib" "mzscheme" "net" "openssl" "parser-tools" "picturing-programs" "plai" "planet" "plot" "preprocessor" "profile" "r5rs" "r6rs" "racket" "racklog" "rackunit" "raclog" "raco" "racunit" "reader" "readline" "redex" "repo-time-stamp" "repos-time-stamp" "rnrs" "s-exp" "schelog" "scheme" "schemeunit" "scribble" "scribblings" "scriblib" "setup" "sgl" "sirmail" "slatex" "slideshow" "srfi" "srpersist" "stepper" "string-constants" "swindle" "syntax" "syntax-color" "teachpack" "test-box-recovery" "test-engine" "tes!
> ts" "tex2page" "texpict" "tool" "trace" "typed" "typed-scheme" "unstable" "version" "waterworld" "web-server" "wxme" "xml"))
>
> Computer Language: (("Determine language from source") (#(#t print mixed-fraction-e #f #t debug) (default) #() "#lang racket\n" #t #t))
>
>
--
sam th
samth at ccs.neu.edu
From: Robby Findler <robby at eecs.northwestern.edu>
To: Sam Tobin-Hochstadt <samth at ccs.neu.edu>
Cc: matthias at ccs.neu.edu, bugs at racket-lang.org, nobody at racket-lang.org,
bug-notification at racket-lang.org
Subject: Re: [racket-bug] all/11778: check syntax does not work with path-up
Date: Mon, 28 Feb 2011 18:40:49 -0600
Can you say more? DO you know if it is a check syntax bug specifically
or if it is something that check syntax needs more help at the
low-level for?
Is there another PR?
Thanks,
Robby
On Mon, Feb 28, 2011 at 6:39 PM, Sam Tobin-Hochstadt <samth at ccs.neu.edu> wrote:
> This is a long-standing problem with all `require' macros.
>
> On Mon, Feb 28, 2011 at 6:24 PM, <matthias at ccs.neu.edu> wrote:
>> A new problem report is waiting at
>> http://bugs.racket-lang.org/query/?cmd=view&pr=11778
>>
>> Reported by matthias for release: 5.1.0.2--2011-02-22(83b00c0/g)
>>
>> *** Description:
>> If "foo.rkt" exports x and the following module is located
>> 'below' foo.rkt, then check-syntax on this module does not
>> connect foo.rkt and x (though it does seem to know that things
>> are imported from some module.)
>>
>> #lang racket
>> (require racket/require) (require (path-up "foo.rkt"))
>> x
>>
>> *** How to repeat:
>>
>>
>> *** Environment:
>> macosx "Darwin africa.local 10.6.0 Darwin Kernel Version 10.6.0: Wed Nov 10 18:13:17 PST 2010; root:xnu-1504.9.26~3/RELEASE_I386 i386" (i386-macosx/3m) (get-display-depth) = 32
>> Human Language: english
>> (current-memory-use) 213833252
>>
>> Collections:
>> ("/Users/matthias/0Unison/collects/"
>> ("._.DS_Store" ".DS_Store" "compiled" "date" "finance" "info-domain" "info.ss" "pdf.ss~" "session" "short" "testing" "tll-collects" "utils" "web"))
>> ("/Users/matthias/Library/Racket/5.1.0.2/collects"
>> (non-existent-path))
>> ("/Users/matthias/plt/collects"
>> (".gitignore" "2htdp" "afm" "algol60" "at-exp" "browser" "combinator-parser" "compiler" "config" "data" "datalog" "defaults" "deinprogramm" "drracket" "drscheme" "dynext" "embedded-gui" "eopl" "errortrace" "ffi" "file" "framework" "frtime" "games" "graphics" "gui-debugger" "guibuilder" "handin-client" "handin-server" "help" "hierlist" "honu" "htdp" "html" "icons" "info-domain" "lang" "launcher" "lazy" "macro-debugger" "make" "meta" "mred" "mrlib" "mysterx" "mz" "mzcom" "mzlib" "mzscheme" "net" "openssl" "parser-tools" "picturing-programs" "plai" "planet" "plot" "preprocessor" "profile" "r5rs" "r6rs" "racket" "racklog" "rackunit" "raclog" "raco" "racunit" "reader" "readline" "redex" "repo-time-stamp" "repos-time-stamp" "rnrs" "s-exp" "schelog" "scheme" "schemeunit" "scribble" "scribblings" "scriblib" "setup" "sgl" "sirmail" "slatex" "slideshow" "srfi" "srpersist" "stepper" "string-constants" "swindle" "syntax" "syntax-color" "teachpack" "test-box-recovery" "test-engine" "tes!
>> ts" "tex2page" "texpict" "tool" "trace" "typed" "typed-scheme" "unstable" "version" "waterworld" "web-server" "wxme" "xml"))
>>
>> Computer Language: (("Determine language from source") (#(#t print mixed-fraction-e #f #t debug) (default) #() "#lang racket\n" #t #t))
>>
>>
>
>
>
> --
> sam th
> samth at ccs.neu.edu
>
From: Sam Tobin-Hochstadt <samth at ccs.neu.edu>
To: Robby Findler <robby at eecs.northwestern.edu>,
Eli Barzilay <eli at barzilay.org>
Cc: matthias at ccs.neu.edu, bugs at racket-lang.org, nobody at racket-lang.org,
bug-notification at racket-lang.org
Subject: Re: [racket-bug] all/11778: check syntax does not work with path-up
Date: Mon, 28 Feb 2011 20:35:24 -0500
On Mon, Feb 28, 2011 at 7:40 PM, Robby Findler
<robby at eecs.northwestern.edu> wrote:
> Can you say more? DO you know if it is a check syntax bug specifically
> or if it is something that check syntax needs more help at the
> low-level for?
I don't know the answer to this, but I think Eli (the author of many
of the require macros) looked into this, and can maybe say more.
> Is there another PR?
10455 and maybe others.
>
> Thanks,
> Robby
>
> On Mon, Feb 28, 2011 at 6:39 PM, Sam Tobin-Hochstadt <samth at ccs.neu.edu> wrote:
>> This is a long-standing problem with all `require' macros.
>>
>> On Mon, Feb 28, 2011 at 6:24 PM, <matthias at ccs.neu.edu> wrote:
>>> A new problem report is waiting at
>>> http://bugs.racket-lang.org/query/?cmd=view&pr=11778
>>>
>>> Reported by matthias for release: 5.1.0.2--2011-02-22(83b00c0/g)
>>>
>>> *** Description:
>>> If "foo.rkt" exports x and the following module is located
>>> 'below' foo.rkt, then check-syntax on this module does not
>>> connect foo.rkt and x (though it does seem to know that things
>>> are imported from some module.)
>>>
>>> #lang racket
>>> (require racket/require) (require (path-up "foo.rkt"))
>>> x
>>>
>>> *** How to repeat:
>>>
>>>
>>> *** Environment:
>>> macosx "Darwin africa.local 10.6.0 Darwin Kernel Version 10.6.0: Wed Nov 10 18:13:17 PST 2010; root:xnu-1504.9.26~3/RELEASE_I386 i386" (i386-macosx/3m) (get-display-depth) = 32
>>> Human Language: english
>>> (current-memory-use) 213833252
>>>
>>> Collections:
>>> ("/Users/matthias/0Unison/collects/"
>>> ("._.DS_Store" ".DS_Store" "compiled" "date" "finance" "info-domain" "info.ss" "pdf.ss~" "session" "short" "testing" "tll-collects" "utils" "web"))
>>> ("/Users/matthias/Library/Racket/5.1.0.2/collects"
>>> (non-existent-path))
>>> ("/Users/matthias/plt/collects"
>>> (".gitignore" "2htdp" "afm" "algol60" "at-exp" "browser" "combinator-parser" "compiler" "config" "data" "datalog" "defaults" "deinprogramm" "drracket" "drscheme" "dynext" "embedded-gui" "eopl" "errortrace" "ffi" "file" "framework" "frtime" "games" "graphics" "gui-debugger" "guibuilder" "handin-client" "handin-server" "help" "hierlist" "honu" "htdp" "html" "icons" "info-domain" "lang" "launcher" "lazy" "macro-debugger" "make" "meta" "mred" "mrlib" "mysterx" "mz" "mzcom" "mzlib" "mzscheme" "net" "openssl" "parser-tools" "picturing-programs" "plai" "planet" "plot" "preprocessor" "profile" "r5rs" "r6rs" "racket" "racklog" "rackunit" "raclog" "raco" "racunit" "reader" "readline" "redex" "repo-time-stamp" "repos-time-stamp" "rnrs" "s-exp" "schelog" "scheme" "schemeunit" "scribble" "scribblings" "scriblib" "setup" "sgl" "sirmail" "slatex" "slideshow" "srfi" "srpersist" "stepper" "string-constants" "swindle" "syntax" "syntax-color" "teachpack" "test-box-recovery" "test-engine" "tes!
>>> ts" "tex2page" "texpict" "tool" "trace" "typed" "typed-scheme" "unstable" "version" "waterworld" "web-server" "wxme" "xml"))
>>>
>>> Computer Language: (("Determine language from source") (#(#t print mixed-fraction-e #f #t debug) (default) #() "#lang racket\n" #t #t))
>>>
>>>
>>
>>
>>
>> --
>> sam th
>> samth at ccs.neu.edu
>>
>
--
sam th
samth at ccs.neu.edu
From: Eli Barzilay <eli at barzilay.org>
To: Sam Tobin-Hochstadt <samth at ccs.neu.edu>
Cc: Robby Findler <robby at eecs.northwestern.edu>, matthias at ccs.neu.edu,
bugs at racket-lang.org, nobody at racket-lang.org,
bug-notification at racket-lang.org
Subject: Re: [racket-bug] all/11778: check syntax does not work with path-up
Date: Mon, 28 Feb 2011 20:39:26 -0500
Four minutes ago, Sam Tobin-Hochstadt wrote:
> On Mon, Feb 28, 2011 at 7:40 PM, Robby Findler
> <robby at eecs.northwestern.edu> wrote:
> > Can you say more? DO you know if it is a check syntax bug
> > specifically or if it is something that check syntax needs more
> > help at the low-level for?
>
> I don't know the answer to this, but I think Eli (the author of many
> of the require macros) looked into this, and can maybe say more.
I don't think that I looked into it. (I didn't even remember that
there was a problem.)
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life!
From: Matthias Felleisen <matthias at ccs.neu.edu>
To: Eli Barzilay <eli at barzilay.org>
Cc: Sam Tobin-Hochstadt <samth at ccs.neu.edu>,
Robby Findler <robby at eecs.northwestern.edu>, bugs at racket-lang.org,
nobody at racket-lang.org, bug-notification at racket-lang.org
Subject: Re: [racket-bug] all/11778: check syntax does not work with path-up
Date: Mon, 28 Feb 2011 21:20:48 -0500
Then perhaps it's time to assign yourself the bug report. Thanks.
On Feb 28, 2011, at 8:39 PM, Eli Barzilay wrote:
> Four minutes ago, Sam Tobin-Hochstadt wrote:
>> On Mon, Feb 28, 2011 at 7:40 PM, Robby Findler
>> <robby at eecs.northwestern.edu> wrote:
>>> Can you say more? DO you know if it is a check syntax bug
>>> specifically or if it is something that check syntax needs more
>>> help at the low-level for?
>>
>> I don't know the answer to this, but I think Eli (the author of many
>> of the require macros) looked into this, and can maybe say more.
>
> I don't think that I looked into it. (I didn't even remember that
> there was a problem.)
>
> --
> ((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
> http://barzilay.org/ Maze is Life!
From: Eli Barzilay <eli at barzilay.org>
To: Matthias Felleisen <matthias at ccs.neu.edu>
Cc: Sam Tobin-Hochstadt <samth at ccs.neu.edu>,
Robby Findler <robby at eecs.northwestern.edu>, bugs at racket-lang.org,
nobody at racket-lang.org, bug-notification at racket-lang.org
Subject: Re: [racket-bug] all/11778: check syntax does not work with path-up
Date: Mon, 28 Feb 2011 21:25:06 -0500
Three minutes ago, Matthias Felleisen wrote:
>
> Then perhaps it's time to assign yourself the bug report. Thanks.
I have never done anything related to check syntax.
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life!
From: Robby Findler <robby at eecs.northwestern.edu>
To: Eli Barzilay <eli at barzilay.org>
Cc: Matthias Felleisen <matthias at ccs.neu.edu>,
Sam Tobin-Hochstadt <samth at ccs.neu.edu>, bugs at racket-lang.org,
nobody at racket-lang.org, bug-notification at racket-lang.org
Subject: Re: [racket-bug] all/11778: check syntax does not work with path-up
Date: Mon, 28 Feb 2011 20:38:07 -0600
It's definitely my bug; I just thought that maybe the detective work
that I was contemplating had already been done.
Robby
On Mon, Feb 28, 2011 at 8:25 PM, Eli Barzilay <eli at barzilay.org> wrote:
> Three minutes ago, Matthias Felleisen wrote:
>>
>> Then perhaps it's time to assign yourself the bug report. Thanks.
>
> I have never done anything related to check syntax.
>
> --
> ((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
> http://barzilay.org/ Maze is Life!
>
From: Eli Barzilay <eli at barzilay.org>
To: Robby Findler <robby at eecs.northwestern.edu>
Cc: Matthias Felleisen <matthias at ccs.neu.edu>,
Sam Tobin-Hochstadt <samth at ccs.neu.edu>, bugs at racket-lang.org,
nobody at racket-lang.org, bug-notification at racket-lang.org
Subject: Re: [racket-bug] all/11778: check syntax does not work with path-up
Date: Mon, 28 Feb 2011 21:41:52 -0500
Three minutes ago, Robby Findler wrote:
> It's definitely my bug; I just thought that maybe the detective work
> that I was contemplating had already been done.
[I'd offer to help chasing down whatever the problem in my macro can
be, but given Ryan's PR for the more primitive ones it looks like
something more general.]
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life!
From: Robby Findler <robby at eecs.northwestern.edu>
To: Eli Barzilay <eli at barzilay.org>
Cc: Matthias Felleisen <matthias at ccs.neu.edu>,
Sam Tobin-Hochstadt <samth at ccs.neu.edu>, bugs at racket-lang.org,
nobody at racket-lang.org, bug-notification at racket-lang.org
Subject: Re: [racket-bug] all/11778: check syntax does not work with path-up
Date: Mon, 28 Feb 2011 20:47:35 -0600
If you have the energy to make a simple version of your macro with the
same issues, that would be helpful.
Robby
On Mon, Feb 28, 2011 at 8:41 PM, Eli Barzilay <eli at barzilay.org> wrote:
> Three minutes ago, Robby Findler wrote:
>> It's definitely my bug; I just thought that maybe the detective work
>> that I was contemplating had already been done.
>
> [I'd offer to help chasing down whatever the problem in my macro can
> be, but given Ryan's PR for the more primitive ones it looks like
> something more general.]
>
> --
> ((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
> http://barzilay.org/ Maze is Life!
>
From: Robby Findler <robby at eecs.northwestern.edu>
To: Eli Barzilay <eli at barzilay.org>
Cc: Matthias Felleisen <matthias at ccs.neu.edu>,
Sam Tobin-Hochstadt <samth at ccs.neu.edu>, bugs at racket-lang.org,
nobody at racket-lang.org, bug-notification at racket-lang.org
Subject: Re: [racket-bug] all/11778: check syntax does not work with path-up
Date: Mon, 28 Feb 2011 20:48:21 -0600
The PR from Ryan could be something different; some of that is check
syntax not dealing with all the primitive prefixing and whatnot that
#%require can do -- this could be a different issue. Maybe.
Robby
On Mon, Feb 28, 2011 at 8:47 PM, Robby Findler
<robby at eecs.northwestern.edu> wrote:
> If you have the energy to make a simple version of your macro with the
> same issues, that would be helpful.
>
> Robby
>
> On Mon, Feb 28, 2011 at 8:41 PM, Eli Barzilay <eli at barzilay.org> wrote:
>> Three minutes ago, Robby Findler wrote:
>>> It's definitely my bug; I just thought that maybe the detective work
>>> that I was contemplating had already been done.
>>
>> [I'd offer to help chasing down whatever the problem in my macro can
>> be, but given Ryan's PR for the more primitive ones it looks like
>> something more general.]
>>
>> --
>> ((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
>> http://barzilay.org/ Maze is Life!
>>
>
From: Eli Barzilay <eli at barzilay.org>
To: Robby Findler <robby at eecs.northwestern.edu>
Cc: Matthias Felleisen <matthias at ccs.neu.edu>,
Sam Tobin-Hochstadt <samth at ccs.neu.edu>, bugs at racket-lang.org,
nobody at racket-lang.org, bug-notification at racket-lang.org
Subject: Re: [racket-bug] all/11778: check syntax does not work with path-up
Date: Mon, 28 Feb 2011 22:05:20 -0500
10 minutes ago, Robby Findler wrote:
> The PR from Ryan could be something different; some of that is check
> syntax not dealing with all the primitive prefixing and whatnot that
> #%require can do -- this could be a different issue. Maybe.
Looks like there are two issue. The first is new, and looks like some
technical gui level problem:
* I use this text:
#lang racket/base
(require racket/base racket/list)
take
car
* Click check syntax, no arrows appear
* Right click `take' or `car', and choose the tack/untack arrow --
the arrows appear.
This seems to be a new problem -- I don't see it in 5.0.2.
The other problem, which `path-up' exhibits, is most likely related to
Ryan's PR, since it expands to `combine-in' and Ryan mentioned that.
Seeing this problem now is difficult due to the above, but I just
used:
#lang racket/base
(require (combine-in racket/list))
take
and used the tack/untack menu entry, and no arrow appears.
(It looks like there's something else broken in the right-clicking
thing, I sometimes don't get that menu entry, and sometimes I get the
identifier highlighted with some light yellowish background.)
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life!
From: Robby Findler <robby at eecs.northwestern.edu>
To: Eli Barzilay <eli at barzilay.org>
Cc: Matthias Felleisen <matthias at ccs.neu.edu>,
Sam Tobin-Hochstadt <samth at ccs.neu.edu>, bugs at racket-lang.org,
nobody at racket-lang.org, bug-notification at racket-lang.org
Subject: Re: [racket-bug] all/11778: check syntax does not work with path-up
Date: Mon, 28 Feb 2011 21:22:29 -0600
Thanks.
(The light yellowish background means that there are docs; right click
to get to them.)
On Mon, Feb 28, 2011 at 9:05 PM, Eli Barzilay <eli at barzilay.org> wrote:
> 10 minutes ago, Robby Findler wrote:
>> The PR from Ryan could be something different; some of that is check
>> syntax not dealing with all the primitive prefixing and whatnot that
>> #%require can do -- this could be a different issue. Maybe.
>
> Looks like there are two issue. The first is new, and looks like some
> technical gui level problem:
>
> * I use this text:
>
> #lang racket/base
> (require racket/base racket/list)
> take
> car
>
> * Click check syntax, no arrows appear
>
> * Right click `take' or `car', and choose the tack/untack arrow --
> the arrows appear.
>
> This seems to be a new problem -- I don't see it in 5.0.2.
>
>
> The other problem, which `path-up' exhibits, is most likely related to
> Ryan's PR, since it expands to `combine-in' and Ryan mentioned that.
> Seeing this problem now is difficult due to the above, but I just
> used:
>
> #lang racket/base
> (require (combine-in racket/list))
> take
>
> and used the tack/untack menu entry, and no arrow appears.
>
> (It looks like there's something else broken in the right-clicking
> thing, I sometimes don't get that menu entry, and sometimes I get the
> identifier highlighted with some light yellowish background.)
>
> --
> ((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
> http://barzilay.org/ Maze is Life!
>
From: Eli Barzilay <eli at barzilay.org>
To: Robby Findler <robby at eecs.northwestern.edu>,
Matthias Felleisen <matthias at ccs.neu.edu>,
Sam Tobin-Hochstadt <samth at ccs.neu.edu>, bugs at racket-lang.org,
nobody at racket-lang.org, bug-notification at racket-lang.org
Cc:
Subject: Re: [racket-bug] all/11778: check syntax does not work with path-up
Date: Mon, 28 Feb 2011 22:29:49 -0500
10 minutes ago, Eli Barzilay wrote:
> 10 minutes ago, Robby Findler wrote:
> > The PR from Ryan could be something different; some of that is check
> > syntax not dealing with all the primitive prefixing and whatnot that
> > #%require can do -- this could be a different issue. Maybe.
>
> Looks like there are two issue. The first is new, and looks like some
> technical gui level problem:
>
> * I use this text:
>
> #lang racket/base
> (require racket/base racket/list)
> take
> car
>
> * Click check syntax, no arrows appear
>
> * Right click `take' or `car', and choose the tack/untack arrow --
> the arrows appear.
>
> This seems to be a new problem -- I don't see it in 5.0.2.
After more experiments -- this is some redraw problem. If I hover
over an identifier and then switch my workspace back and forth (to
force a redraw) I do see the arrow.
> (It looks like there's something else broken in the right-clicking
> thing, I sometimes don't get that menu entry, and sometimes I get the
> identifier highlighted with some light yellowish background.)
(And this is probably related to the above, since that background
appears when I force a refresh as above.)
> The other problem, which `path-up' exhibits, is most likely related
> to Ryan's PR, since it expands to `combine-in' and Ryan mentioned
> that. Seeing this problem now is difficult due to the above, but I
> just used:
>
> #lang racket/base
> (require (combine-in racket/list))
> take
>
> and used the tack/untack menu entry, and no arrow appears.
Here's a simple version, uses `make-require-transformer' and a trivial
transformer.
#lang racket/base
(require (for-syntax racket/base racket/require-transform))
(define-syntax my-in
(make-require-transformer
(lambda (stx) (syntax-case stx () [(_ in) (expand-import #'in)]))))
(require (my-in racket/list))
take
I thought that there might be some issue with `expand-import', so I
expanded and simplified the code, which gets the below -- but that
doesn't look like a helpful direction, so I'll stop here.
#lang racket/base
(require (for-syntax racket/base racket/require-transform))
(define-syntax my-in
(make-require-transformer
(lambda (stx)
(syntax-case stx ()
[(_ in)
(let* ([in #'in]
[mod-path (syntax->datum in)]
[namess (syntax-local-module-exports in)])
(values
(apply
append
(map (lambda (names)
(let ([mode (car names)])
(map (lambda (name)
(make-import (datum->syntax in name in)
name mod-path mode 0 mode in))
(cdr names))))
namess))
(list (make-import-source in 0))))]))))
(require (my-in racket/list))
take
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life!
From: Sam Tobin-Hochstadt <samth at ccs.neu.edu>
To: Eli Barzilay <eli at barzilay.org>
Cc: Robby Findler <robby at eecs.northwestern.edu>,
Matthias Felleisen <matthias at ccs.neu.edu>, bugs at racket-lang.org,
nobody at racket-lang.org, bug-notification at racket-lang.org
Subject: Re: [racket-bug] all/11778: check syntax does not work with path-up
Date: Wed, 17 Aug 2011 16:22:13 -0400
On Mon, Feb 28, 2011 at 10:29 PM, Eli Barzilay <eli at barzilay.org> wrote:
> 10 minutes ago, Eli Barzilay wrote:
>> The other problem, which `path-up' exhibits, is most likely related
>> to Ryan's PR, since it expands to `combine-in' and Ryan mentioned
>> that. Seeing this problem now is difficult due to the above, but I
>> just used:
>>
>> #lang racket/base
>> (require (combine-in racket/list))
>> take
>>
>> and used the tack/untack menu entry, and no arrow appears.
>
> Here's a simple version, uses `make-require-transformer' and a trivial
> transformer.
>
> #lang racket/base
> (require (for-syntax racket/base racket/require-transform))
> (define-syntax my-in
> (make-require-transformer
> (lambda (stx) (syntax-case stx () [(_ in) (expand-import #'in)]))))
> (require (my-in racket/list))
> take
Now that we're all running Check Syntax all the time, I'm bothered a
lot more by this bug, so I hope we can fix it. The below program
seems simpler, and demonstrates the same problem (I think).
#lang racket/base
(require (for-syntax racket/base))
(define-syntax (m stx)
#`(#%require (just-meta 0 (rename racket/list
#,(syntax-local-introduce #'take) take))))
(m)
take
If I change `m' to:
(define-syntax (m stx)
#`(#%require (just-meta 0 #,(syntax-local-introduce #`(rename
racket/list take take)))))
Then the arrows work as desired.
--
sam th
samth at ccs.neu.edu