mirror of
https://github.com/GaloisInc/cryptol.git
synced 2024-12-14 17:51:43 +03:00
8ea7ba0b75
Previously we were just using Prelude's `readFile`, which uses the system default locale. This meant that people writing Cryptol in other locales might produce source files that work fine for them but not others. Now the interpreter sets the default locale to utf8 at startup. Additionally, the code to catch exceptions from loading modules was too lazy, allowing exceptions to bring down the whole process when the module contents were forced outside of the `try`. We also assumed that any IO exception was from files not being found; there's now an "Other IO exception" possiblity. Incorrect locales will trigger this alternative because the actual IOException raised isn't specific to locale errors.
7 lines
210 B
Plaintext
7 lines
210 B
Plaintext
Loading module Cryptol
|
||
|
||
[error] IO error while loading file: ./check31.iso8859.cry:
|
||
./check31.iso8859.cry: hGetContents: invalid argument (invalid byte sequence)
|
||
Loading module Cryptol
|
||
Loading module Fοο
|