Conversation
5fbbe33 to
460cbf1
Compare
|
Tracking comment for progress towards implementing the FR (I may split this out into a new pr):
Notes for reviewers: |
a822e8b to
c6582b5
Compare
93d9334 to
d1b6d42
Compare
1f01f65 to
c825e81
Compare
|
Note that we should update the comment about checking all modules in See #367 (comment). |
69338cc to
7fa6b30
Compare
00408ed to
2e774fc
Compare
8aa5dcf to
69b7753
Compare
39cf2ca to
496a7ea
Compare
53cddae to
e2324fe
Compare
dc6bd83 to
f19282a
Compare
This is in preperation for adding module names, which will require some renaming of primitives. We will export some identifiers for these names instead of writing them as literal strings, to make any future renames easier.
This is in preperation for adding module names, which will require some renaming of primitives.
This is not yet needed, as currently primitive types are always in scope -- the '...WithPrims' just adds primitive terms. But this will change shortly.
83602e5 to
ec61235
Compare
Instead of using 'defaultTypeDefs', define and use 'builtinModule' and 'primitiveModule'. This is in preparation for adding module names and taking modules more seriously. There is one theoretical drawback: in Tests.EvalFull we lose the ability to generate definitions for global variables. However, we never actually used this ability, so there is no loss in practice. (However, we may want to re-instate this ability in the future so we can generate an arbitrary context in these tests.)
2d190c7 to
d3bc436
Compare
|
After rebasing this onto main, I am seeing sporadic CI failures in https://buildkite.com/hackworthltd/primer/builds/514#d236758d-3a20-4f3a-815b-d38e61c81420 |
This is a large commit, but most of it is pretty mechanical. NB: we remove the test 'unit_rename_def_capture'. It tested that we could not rename a definition in such a way that a reference would be captured by a local binding. However, now that global variables have module-qualified names, this is no longer possible: a local binding is not considered to shadow any globals. BREAKING CHANGE: this change requires a database migration, as it changes the representation of `Prog`. However, since this is just serialised to json and stored as a blob in the DB, it requires no schema changes. Since we have no programs we need to preserve, we decided not to bother with a migration. This means that DBs created before this commit will not load with a primer containing this commit.
This is indeed a pre-existing bug. I'll track this in #407. Let's merge this PR -- I retried CI and it now passes (the failing test is a hedgehog test which only sporadically fails) |
No description provided.