It seems to still be caching, even with your code snippet, or even if explicitly disabling the cache in each individual racket file. Also, browser cache is off.
*./pollen.rkt ->* (module setup racket/base (provide (all-defined-out)) (define poly-targets '(html)) (define compile-cache-active #f) (define render-cache-active #f)) *./body/pollen.rkt ->* (module setup racket/base (require (submod "../pollen.rkt" setup)) (provide (all-from-out (submod "../pollen.rkt" setup)))) *./body/hexagrams/pollen.rkt ->* (module setup racket/base (require (submod "../pollen.rkt" setup)) (provide (all-from-out (submod "../pollen.rkt" setup)))) This is the current state of my code ^, but as I mentioned, even if I explicitly add (define compile-cache-active #f) (define render-cache-active #f) to *each* setup function individual, I still encounter cached variables, and the only way to invalidate the cache is to remove it entirely and restart the server. Thanks! Brendan On Friday, March 22, 2019 at 3:21:24 PM UTC-5, Matthew Butterick wrote: > > > On Mar 22, 2019, at 11:03 AM, Brendan Stromberger <brendanst...@gmail.com > <javascript:>> 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 pollenpub+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.