brownplt / pyret-lang

The Pyret language.
Other
1.07k stars 110 forks source link

provide checked only on use, not definition #1673

Open shriram opened 1 year ago

shriram commented 1 year ago

Saving, running, and publishing a file with provide does not seem to check that the provided names are actually present. These seem to be checked only at import-time. Thus, if a provider accidentally renames functions and forgets to change the provide, this can affect clients (and produce quite confusing errors — if imported names are used a lot, this leads to a long cascade of errors).