-
Notifications
You must be signed in to change notification settings - Fork 12
Description
The open ... command expands to a Racket (require ...), relative to the importing file's location.
The (require ...) form takes a module path. The string variant of this must always be Unix-formatted. Thus, attempting to import a spec that isn't in the same folder will result in an error in Windows.
(require (file ...) removes this issue. However, now the require must appear at the top level for its identifiers to be available.
Fast solution that increases tech debt: manually convert the windows path to a unix-style one. (I couldn't find a helper that did exactly what I needed.)
Harder (?) solution: why are the requires not at the top level of the expanded module? Because of the way parsing and expanding works. NT-AlloyModule produces a (begin ...) at the moment, which is the issue. It could produce a list, but need to get this right to correctly splice that in.