DrRacket: In addition to the open defining file feature that Matthias
mentioned, you might like the File | Open Require Path command.

racket-mode: M-. aka racket-visit-definition and C-c C-x C-f aka
racket-open-require-path are the respective equivalents. [Also C-M-.
aka racket-visit-module when you have point on a relative or absolute
path inside a `require` form. (Although this doesn't yet know how to
handle `multi-in` forms.)]

For general spelunking I've found the interactive search from "open
require path" to be pretty great.


On Tue, Apr 16, 2019 at 8:44 AM Matthias Felleisen
<matth...@felleisen.org> wrote:
>
>
>
> On Apr 16, 2019, at 8:31 AM, zeRusski <vladilen.ko...@gmail.com> wrote:
>
> I suspect I'm not the first to ask, but my search-fu has failed me here. 
> Apologies if the question has already been answered on that list.
>
> When I read Racket docs I sometimes wonder how a particular feature is 
> implemented. Looking at the source sometimes shed light or simply teaches you 
> things. However I find myself grepping Racket source and very often failing. 
> Is there a better way? Latest such encounter was s-exp meta language. I 
> assume its implemented somewhere, but grep mostly just shows scribblings or 
> its use sites. What "algo" should I employ to find relevant source of a 
> thing? Would be grand to have links from docs,  but its probably quite 
> involved.
>
>
>
> Open DrRacket.
> Use the feature in a syntactically correct way.
> Click (depending on your OS) on the identifier to open defining file.
>
> Like so.
>
> #lang racktet/base
> (provide)
>
> Right-click on provide.
> See
>
> (module reqprov '#%kernel
>   (#%require "define.rkt"
>              (for-syntax '#%kernel
>                          "stx.rkt" "stxcase-scheme.rkt" "small-scheme.rkt"
>                          "stxloc.rkt" "qqstx.rkt" "more-scheme.rkt"
>                          "member.rkt"
>                          "../require-transform.rkt"
>                          "../provide-transform.rkt"
>                          "struct-info.rkt"))
>
>   (#%provide lib file planet submod
>              for-syntax for-template for-label for-meta
>              require
>              only-in rename-in prefix-in except-in combine-in only-meta-in
>              relative-in
>              provide
>              all-defined-out all-from-out
>              rename-out except-out prefix-out struct-out combine-out
>              protect-out
>              local-require)
>   .. .. ..
>
> --
> You received this message because you are subscribed to the Google Groups 
> "Racket Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to racket-users+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to