<p><br>
On Jun 23, 2011 6:17 PM, "Robby Findler" <<a href="mailto:robby@eecs.northwestern.edu">robby@eecs.northwestern.edu</a>> wrote:<br>
><br>
> Is the with-handlers that typed/racket exports the same identifier as<br>
> the one exported by racket, or is it a different binding?</p>
<p>'with-handlers' in 'typed/racket' is a different binding. Basically, it just adds some annotations to help the type checker.</p>
<p>><br>
> Robby<br>
><br>
> On Fri, Jun 24, 2011 at 2:46 AM, Sam Tobin-Hochstadt <<a href="mailto:samth@ccs.neu.edu">samth@ccs.neu.edu</a>> wrote:<br>
> > On Wed, Jun 22, 2011 at 6:53 PM, Robby Findler<br>
> > <<a href="mailto:robby@eecs.northwestern.edu">robby@eecs.northwestern.edu</a>> wrote:<br>
> >> To really know what is going on, one has to trace thru the re-provides<br>
> >> for each of these identifiers and match them up to the<br>
> >> declare-exporting declarations.<br>
> >><br>
> >> In the declaration below, you're essentially saying "any identifiers<br>
> >> documented in this module should appear to come from the<br>
> >> typed/scheme/base, typed/scheme, and typed-scheme modules, but they<br>
> >> are really actually exported from one of the modules listed in the<br>
> >> #:use-sources keyword" which means, to the documentation system that<br>
> >> any module that re-exports an identifier from, say,<br>
> >> typed-scheme/base-env/base-types-extra, will have its documentation<br>
> >> attached to the docs in the file with the declare-exporting below and<br>
> >> the docs system will then point userse to typed/scheme/base.<br>
> >><br>
> >> I don't think that this is what you want, since you probably want to<br>
> >> to point people to typed/racket.<br>
> ><br>
> > That's not what's going on here, although you couldn't tell that from<br>
> > my email. That `declare-exporting' is in a subsection which only<br>
> > documents `typed/scheme' etc, and not any of the actual forms in Typed<br>
> > Racket.<br>
> ><br>
> >> To know what the right answer is for the declare-exporting below, I'd<br>
> >> have to know how typed/racket fits into the picture. In particular, is<br>
> >> it re-exporting things from typed/scheme? Or from those helper modules<br>
> >> you have listed? Or from some other place?<br>
> ><br>
> > It's probably easier to just consider `typed/racket/base' and<br>
> > `typed/scheme/base' here. Both of them export identifiers from the<br>
> > modules listed in the `declare-exporting' declaration. For example,<br>
> > `with-handlers' is defined in `typed-scheme/base-env/prims'.<br>
> ><br>
> > Here's what the documentation for `typed/racket/base' looks like:<br>
> ><br>
> > @(defmodulelang* (typed/racket/base typed/racket)<br>
> > #:use-sources<br>
> > (typed-scheme/typed-scheme<br>
> > typed-scheme/base-env/prims<br>
> > typed-scheme/base-env/extra-procs<br>
> > typed-scheme/base-env/base-types<br>
> > typed-scheme/base-env/base-types-extra))<br>
> ><br>
> > Also, I don't think this is a problem with the general setup of<br>
> > documentation for Typed Racket. In particular, the identifier<br>
> > `define-type' is defined in the same module as `with-handlers', and it<br>
> > gets handled properly by Scribble, by DrRacket, and by `check-docs'.<br>
> > You can see this by searching for `define-type' in the documentation,<br>
> > or for `U', which is defined in the same module as `->'.<br>
> ><br>
> > Instead, I think the problem is that `with-handlers' and `->' are both<br>
> > identifiers exported from `racket', and this is causing some sort of<br>
> > confusion in the Scribble doc system, but I don't know exactly what,<br>
> > and I'm therefore confused about how to try to fix it. Of course, it<br>
> > might be something totally different, also -- the vagaries of Scribble<br>
> > linking are still opaque to me.<br>
> ><br>
> ><br>
> >><br>
> >> Robby<br>
> >><br>
> >> On Thu, Jun 23, 2011 at 3:16 AM, Sam Tobin-Hochstadt <<a href="mailto:samth@ccs.neu.edu">samth@ccs.neu.edu</a>> wrote:<br>
> >>> Currently, the documentation completeness checker (a wonderful tool;<br>
> >>> thanks, Robby!) for Typed Racket complains that `->' and<br>
> >>> `with-handlers' are not documented when provided from `typed/scheme',<br>
> >>> `typed/scheme/base', and `typed-scheme'. However, these identifiers<br>
> >>> are fine when provided from `typed/racket', and are both defined in<br>
> >>> modules where `check-docs' finds the documentation for other things<br>
> >>> just fine, such as `define:' and `All'. The documentation looks like<br>
> >>> this:<br>
> >>><br>
> >>> (declare-exporting typed/scheme/base typed/scheme typed-scheme<br>
> >>> #:use-sources<br>
> >>> (typed-scheme/typed-scheme<br>
> >>> typed-scheme/base-env/prims<br>
> >>> typed-scheme/base-env/extra-procs<br>
> >>> typed-scheme/base-env/base-types<br>
> >>> typed-scheme/base-env/base-types-extra))<br>
> >>><br>
> >>> where `->' is defined in `typed-scheme/base-env/base-types-extra' and<br>
> >>> `with-handlers' is defined in `typed-scheme/base-env/prims'.<br>
> >>><br>
> >>> Is there something else I should be doing here? Is there a bug in<br>
> >>> `check-docs'?<br>
> >>> --<br>
> >>> sam th<br>
> >>> <a href="mailto:samth@ccs.neu.edu">samth@ccs.neu.edu</a><br>
> >>> _________________________________________________<br>
> >>> For list-related administrative tasks:<br>
> >>> <a href="http://lists.racket-lang.org/listinfo/dev">http://lists.racket-lang.org/listinfo/dev</a><br>
> >>><br>
> >><br>
> ><br>
> ><br>
> ><br>
> > --<br>
> > sam th<br>
> > <a href="mailto:samth@ccs.neu.edu">samth@ccs.neu.edu</a><br>
> ><br>
</p>