The Heart of Pollen

I’m trying to use Pollen as the basis for some website projects that don’t quite conform to the “book” style that Pollen was developed for. For example, I’d like to be able to put things like templates and the code that would normally go into pollen.rkt in different locations than the content for the site. Eventually I might also want to have my own dependency management.

To do this I would like to decouple “Pollen the language” from “Pollen the system”. I’m wondering if there’s some way to call the “functional core” of Pollen? Is there a function, or set of functions, that I can call that take explicit inputs like the source and template and produce an output, without relying on things like the cache or other files that are not explicitly provided?

Many of the internal Pollen ingredients are documented in the Pollen module reference. I’m not averse to making small adjustments so it’s easier to extend Pollen for “off-label” purposes. But that would have to be based on a concrete request, not an abstract wish. (“If Pollen did this, then I might do that …”) See also Beeswax, which perhaps meets your needs.