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 <[email protected]> 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

