In order for the OC button to only be shown in typed languages, their `lang/reader.rkt' files [1] need to specify which buttons should be shown by DrRacket, which requires `dynamic-require'ing OC.
If there's a better way to do it, I'd be happy to change that code. Vincent [1] e.g. pkgs/typed-racket-pkgs/typed-racket-lib/typed/racket/lang/reader.rkt At Tue, 26 Nov 2013 07:36:23 -0600, Robby Findler wrote: > > [1 <text/plain; UTF-8 (7bit)>] > Why does TR have to do something special for DrRacket? Can't it just depend > on the (small) package drracket-plugin-lib? There should then be no need > for dynamic-requires. > > Robby > > > On Tue, Nov 26, 2013 at 7:12 AM, Vincent St-Amour <stamo...@ccs.neu.edu>wrote: > > > You could guard the `dynamic-require' with a dynamic check for the > > existence of what it's requiring. In the specific case of xrepl, the > > dynamic check should probably guard command registration so that, e.g. > > the macro stepper commands are not available if the macro stepper is not > > installed. > > > > That's what Typed Racket does to decide whether to register the > > Optimization Coach button in DrRacket. > > > > Vincent > > > > > > > > At Tue, 26 Nov 2013 01:55:08 -0500, > > Asumu Takikawa wrote: > > > > > > Hi all, > > > > > > Should dynamically required libraries induce a package dependency? > > > > > > Take for example the "xrepl-lib" package. It currently depends on five > > > other packages, but I think two of them can be dropped and `raco setup` > > > won't complain. > > > > > > On the other hand, XREPL may `dynamic-require` the macro stepper (one of > > > the dependencies that can be dropped). The same is true for DrRacket > > > (not listed as a dependency), but it doesn't make much sense to make the > > > XREPL package depend on DrRacket. > > > > > > Is there a best practice for these kinds of cases yet? > > > > > > Cheers, > > > Asumu > > > _________________________ > > > Racket Developers list: > > > http://lists.racket-lang.org/dev > > _________________________ > > Racket Developers list: > > http://lists.racket-lang.org/dev > > > [2 <text/html; UTF-8 (quoted-printable)>] > _________________________ Racket Developers list: http://lists.racket-lang.org/dev