I believe, that running Scribble on a single document runs the 4 passes once. But if there are mutual references between documents, then Scribble needs to run again.
The “running” round is the first three passes. It skips the “render” pass on the grounds that it’s likely to be wasted work, which is certainly true for an initial raco setup
.
Both “running” and “rendering” accumulate cross-reference information. After “rendering”, raco setup
checks whether any information has changed that could affect the way a document renders, and then it re-renders.
So, it would work to always go straight to “rendering” and “re-rendering”, but for multiple documents with references between them, it’s common to need multiple passes to reach a fixpoint.
Whether “running” actually saves any time is worth checking. When raco setup
needs to render a single document, it almost certainly makes sense to skip “running”. (I forget whether there’s any catch, where “running” does a bit of one-time work that can’t be skipped, but I think that could be adjusted if so.)
It’s also worth noting that if raco scribbble
renders multiple documents at a time, it can interleave their phases so that a fixpoint is reached right away. But there are too many documents in a distribution to render them all at once.
In case it’s not obvious why multiple passes may be needed to reach a fixpoint: consider the case that document A has a section title that includes a reference to something in document B that affects the title content, while document B has a link back to that section of document A (where the link has the section’s title). I believe that kind of thing does happen.
(answered in other thread)
I see, thanks!
Oh, interesting. The default download at https://download.racket-lang.org/ seems to work fine on Apple M1 now. I guess the Rosetta 2 fix was released (I don’t recall when was the last time I updated the OS)
I think it was fixed pretty quickly
Why is it that an inexact complex number with an imaginary part of 0.0
is not real, according to real?
?
Is there a good (and recent) library for 3d graphics in racket? I saw there was a library that had autogenerated opengl bindings, but it was last updated in 2017 and there was the sgl
package, but it says it only supports opengl 1.5