Note that there are some explanatory texts on larger screens.

plurals
  1. UScircular-ruin
    primarykey
    data
    text
    plurals
    1. COWow! That would be very kind, although it's really not necessary---I can try to roll my own, although doubtless my efforts would not be as good as those of a Master such as yourself :-). If you are thinking of doing an implementation, it strikes me that ideally one could solve the problem for more than just strings; depending on the implementation route, you probably ought to be able to `Atomize' any type with Eq and Cmp or with Eq and a hash function.
      singulars
    2. CO@PiotrDobrogost for the UTF8 decoding thing, you're right. It makes more sense to think about it the way you say (error if you see any bytes above `\x7f` unless you've seen the BOM, o'wise decode), but on the other hand I think that what I said (first decode, then error if you get any decode errors or if the result contains unicode chars above `\u7f`) is equivalent, and was as it happens the way I was thinking of things. BTW, would you like to see my Python code for this? (It's actually not 100% faithful to the algo above in that my code does recognize UTF16 BOMs, unlike python's interpreter).
      singulars
    3. CO@PiotrDobrogost: "Unless you have seen the UTF-8 BOM, generate an error message if you see any non-ASCII characters". I think this is correct as written. The rule is: if you (a) see a non-ASCII character and (b) you have not seen a UTF-8 BOM, then you should generate an error. (If you see a non ASCII character but did see a UTF-8 BOM, then you don't make an error message; and obviously if all the characters are ASCII you don't make an error message.) Hope this clarifies things. Please ask more questions if I'm still being unclear and/or it looks like I am really mistaken here.
      singulars
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload