Jon, do you want to give it a try? And perhaps Sam and you can then figure out how to get the types out.
On Jul 21, 2010, at 7:26 AM, Robby Findler wrote: > One, non-optimal way to get the contracts is to evaluate the module > and use object-contract on the exports (non-optimal because dependent > contracts will have ...s in them, etc). > > Robby > > On Wed, Jul 21, 2010 at 4:26 AM, Matthias Felleisen > <matth...@ccs.neu.edu> wrote: >> >> Thou shall ask and receive. Thanks! >> >> Can I get the contracts if it comes via provide/contract and/or the types if >> it comes from Typed Racket (this might be the difficult one, because types >> are gone after expansion). >> >> And I think we should somehow combine provide-document with provide/contract >> and show the docs, too. And while I am at it, the tool should gather the >> check-xyz's and turn them into examples so hat people can easily use the >> function/class/method :-) >> >> My preference would be to include this into the module browser. That's where >> it belongs >> >> -- Matthias >> >> >> >> On Jul 21, 2010, at 2:15 AM, Jon Rafkind wrote: >> >>> I wrote a simple tool (attached) that displays all the exports from a >>> module; their name as well as their phase. I'll probably make it show >>> imports too when I get a chance. >>> >>> I'd like this sort of information in DrRacket as well, either I can make a >>> plugin or maybe check syntax can do it. >>> >>> $ racket ~/tmp/check.rkt match.rkt >>> Phase 0 (runtime) >>> Variables >>> exn:misc:match? from /home/jon/svn/plt/collects/racket/match/match.rkt >>> match-equality-test from /home/jon/svn/plt/collects/racket/match/match.rkt >>> Syntaxes >>> define-match-expander >>> match from /home/jon/svn/plt/collects/racket/match/match.rkt >>> match* from /home/jon/svn/plt/collects/racket/match/match.rkt >>> match*/derived from /home/jon/svn/plt/collects/racket/match/match.rkt >>> match-define from /home/jon/svn/plt/collects/racket/match/match.rkt >>> match-lambda from /home/jon/svn/plt/collects/racket/match/match.rkt >>> match-lambda* from /home/jon/svn/plt/collects/racket/match/match.rkt >>> match-lambda** from /home/jon/svn/plt/collects/racket/match/match.rkt >>> match-let from /home/jon/svn/plt/collects/racket/match/match.rkt >>> match-let* from /home/jon/svn/plt/collects/racket/match/match.rkt >>> match-letrec from /home/jon/svn/plt/collects/racket/match/match.rkt >>> match/derived from /home/jon/svn/plt/collects/racket/match/match.rkt >>> struct* from /home/jon/svn/plt/collects/racket/match/match.rkt >>> Phase 1 (syntax) >>> Variables >>> match-...-nesting from /home/jon/svn/plt/collects/racket/match/match.rkt >>> as match-...-nesting >>> Syntaxes >>> >>> $ racket ~/tmp/check.rkt -h >>> checker [ <option> ... ] <file> >>> where <option> is one of >>> --phase <phase> : Only show identifiers at this phase >>> <check.rkt>_________________________________________________ >>> For list-related administrative tasks: >>> http://lists.racket-lang.org/listinfo/users >> >> _________________________________________________ >> For list-related administrative tasks: >> http://lists.racket-lang.org/listinfo/users >> _________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/users