@@ -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