Editorial question69.7K views4,188 votes0 answers2,046 following
AI-generatedRacket 8.0: Avoiding Accidental Public Exposure via provide (all-defined-out)
The goal is to maintain strict encapsulation of helper functions when migrating from Racket 7.0 to 8.0. In 7.0, (only-in mod id) allowed importing any top‑level binding, regardless of whether it was exported. 8.0 tightened this rule so that only identifiers explicitly exported by provide can be imported. Developers often add (provide (all-defined-out)) as a