Skip to content

Commit cd67cce

Browse files
committed
Update CHANGES.md with doc for submodules and changed cryptol_load behavior.
1 parent af613c1 commit cd67cce

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

CHANGES.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,8 +84,40 @@ This release supports [version
8484
Accordingly, the second and third `String` arguments to
8585
`write_coq_cryptol_primitives_for_sawcore` have been removed.
8686

87+
* The behavior of `cryptol_load` has changed, previously when we had
88+
this
89+
90+
A <- cryptol_load "A1.cry" -- A1::** are added to {{A::**}}
91+
A <- cryptol_load "A2.cry" -- A2::** are added to {{A::**}}
92+
93+
the `A` in 2nd line would shadow the first `A`, and for each
94+
symbol `s` from "A2.cry", that symbol may shadow any duplicate
95+
symbol `s` from "A1.cry" and this would also leave symbols from
96+
"A1.cry" in the Cryptol environment.
97+
98+
The new behavior is that the same two commands now work
99+
identically to the following
100+
101+
import "A.cry" as A
102+
import "A2.cry" as A
103+
104+
and as a result
105+
- no shadowing occurs
106+
- importing ambiguous symbols is allowed
107+
- referring to ambiguous (qualified) symbols is an error.
108+
87109
## New Features
88110

111+
* When one does `import ...` and `cryptol_load` at the SAWScript CLI,
112+
you can now access submodules in the loaded modules. Both these
113+
will "import" submodules recursively and make no distinction between
114+
normal and `private` variables. As a result, SAWScript code can
115+
refer to *every* definition in the loaded module.
116+
117+
You can reference public and private definitions in sub-modules via
118+
`::` qualifiers, just as is done in Cryptol code.
119+
120+
89121
* The Cryptol import syntax has been extended.
90122
- You can now import Cryptol module names, including qualified module
91123
names (which are resolved via the Cryptol load path) as well as

0 commit comments

Comments
 (0)