Matthew Butterick

Results 190 comments of 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...