Matthew Butterick
Matthew Butterick
For instance. The reason, say, Scribble can be faster on large documents is that all the component source files are pulled into one master source — this one source is...
The other issue with one-to-many page generation is that I have never wanted this once for my own work. For me, the value of Pollen is exactly that it **is**...
> I am curious why the default tag function behavior does not apply. (or what the loss would be in changing it to apply) The source of a `pollen/markdown` file...
> if files like pollen.rkt have a side-effect (say, mutate a global variable), then the side-effect would persist across rendering multiple files. What would be a test case that demonstrates...
I think I would call this a case of nondeterministic compilation, in which case Pollen’s guarantees needn’t be any stronger than Racket’s. For instance, if we convert these files to...
> One easy way is to fix this problem is to create a tag named reset that (set! x 0) and put reset at the beginning of every Pollen file...
I’m not averse to something like `#%root-begin` — I just try to avoid macro solutions where possible. I’ll think about how it could be done (unless you want to prototype...
Why not try moving `root` to a position where it can be either a function or a macro. That was your first suggestion. That seems more flexible than the thunking...
Right — you’ll need to manage the state for each page explicitly, rather than relying on that behavior as a side effect of fresh namespaces. In general, using `here-path` to...
The fresh namespace is only **necessary** in the project-server context, because that’s the only way to make sure that all updated source files (incl `"pollen.rkt"`) are properly incorporated in a...