> On Mar 22, 2019, at 11:03 AM, Brendan Stromberger > <[email protected]> wrote: > > It is unclear to me if I need to repeat this declaration in each subsequent > pollen.rkt in each subdirectory. Whether I do or not, seems to have no effect > on this problem, or anything else.
Yes, if you have multiple "pollen.rkt" files in your project, you need to take care to connect them in whatever way is sensible. By default, Pollen searches up the directory tree for the first "pollen.rkt" it can find, and then applies that to the file. The effect is that the "pollen.rkt" in a certain directory automatically applies to the files to every subdirectory. However, once another "pollen.rkt" is put in a subdirectory, it supersedes the one in the parent directory. Of course, if you want to reuse the bindings of the parent "pollen.rkt", that's easy to do with `require` and `provide`: #lang racket/base (require "../pollen.rkt") ;; parent pollen.rkt (provide (all-from-out "../pollen.rkt")) ;; or some subset of bindings (module setup racket/base (require (submod "../pollen.rkt" setup)) (provide (all-from-out (submod "../pollen.rkt" setup)))) Notice that the bindings from the `setup` submodule are propagated via another `setup` submodule. Here's code that won't trigger an error, but it won't work as expected: #lang racket/base (require "../pollen.rkt") ;; parent pollen.rkt (provide (all-from-out "../pollen.rkt")) ;; or some subset of bindings (require (submod "../pollen.rkt" setup)) (provide (all-from-out (submod "../pollen.rkt" setup))) In this case, the `setup` bindings are moved into the main body of "pollen.rkt". Pollen doesn't look for them there, and hence won't find them. > The problem is, when I may *any* changes to these functions, I have to halt > my Pollen server, reset the cache, and restart the server for any changes to > appear. I experience frequent caching problems across the board (despite > disabling Pollen cache), but they are heisenbug-esque. This is the only case > that is reproducible for me on a consistent basis. Keep in mind that you also need to disable browser caching (Pollen has no control over this). If you don't, then you may still see cached results (because the browser isn't making a new request of the project server). For instance in Chrome, the developer menu has a "Disable cache" button: -- You received this message because you are subscribed to the Google Groups "Pollen" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
