-
Notifications
You must be signed in to change notification settings - Fork 4
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
What is "keyable"? #43
Comments
Hi!
These are all good questions! |
Hi sorry, 1 booleans are supposed to be keyable (but not equivalent to any integer). I'll add that in.
|
Part 1 looks like an easy fix in the spec -- thanks. Parts 2 and 3 look like implementation bugs, correct? Would you like me to file separate issues for those? Follow-up: the CE spec says "Integer values CAN be positive or negative". As zero is neither, it's not technically a valid integer in CE. :-) |
2 and 3 are bugs, yes. "Integer" is a problematic word because it has one meaning in the mathematical sense (without 0) and another in the programming language sense (with 0). I think I put a minor treatise on it somewhere in the spec... Or maybe that was the Dogma spec? I'll have to look and see about clearing it up. |
The spec defines keyable types, but the spec is not consistent with the reference implementation, and not even internally consistent.
-0
is not allowed (though -0 is defined as a floating-point value, so this rule seems redundant), but enctool allows it, e.g.,{0=1 -0=2}
.{2001-01-01=1 "2001-01-01"=2}
or{00:00:00=1 "00:00:00"=2}
are errors but{1=1 "1"=2 @"1"=3}
is valid. Is this a bug, or is it intended that temporal types (only) can't live next to strings?The text was updated successfully, but these errors were encountered: