-
Notifications
You must be signed in to change notification settings - Fork 124
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support Unicode Strings #863
Comments
I can think of a few possible designs for this.
I think choice 3 would be really easy to implement, because we basically implement it that way already (except that we add an extra type constraint of
|
To support variant 3: We have done specs that use both 6- and 7-bit ascii, and the conversions were a bit cumbersome. |
This makes it possible to use wider character types to represent Unicode code points beyond the first 256. See #863.
I made a draft PR (#864) so that people can try out polymorphic character literals, and let us know what you think. It was indeed very easy to implement. The change breaks a few tests in our regression test suite: I had to add type constraints to string literals in six different tests in order to make them work. (The failures were things like |
An alternative solution could be some kind of printing function or command, such as an enhanced |
Many crypto puzzles, such as substitution ciphers, use unusual characters in their alphabets. (For example, Edgar Allen Poe's Gold-Bug cipher.) It would be useful, for demos and recreational crypto at least, to allow such characters to be used as data in Cryptol.
Currently, Cryptol supports Unicode for symbol names, but not Strings.
It's possible that variable-length encodings would be challenging given Cryptol's type system, but UTF-32 might make sense.
The text was updated successfully, but these errors were encountered: