You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hello, I've just published another implementation of KDL (impl / PR). Generally I like the language, so wanted to make it best in class configuration language for Rust (and maybe good for non-config usage too). Major focus was for convenience and great error reporting.
Here I want to share some minor issues during the implementation, and also some proposals (in no particular order):
Some types are defined a bit differently in grammar and verbal specification. Would be nice to clarify. Namely:
In Number section it states "may be separted by _", but in grammar it's [0-9] [0-9_]* which is a bit different
In Identifier section, definition might actually match to grammar but I'm struggling to find out if it does. And also it would be nice to show some weird identifiers like - and --1.
Was it intentional that node { other_node } doesn't work without semicolon (inside braces)? It doesn't look very straightforward since omission is allowed at the end of file.
Why there are no plain str and bool type names?
I think it should be safe to add i128 and u128 types?
My observation is that base64 isn't a type name in the same sense that all other type names that are in the list. Type name here is kinda "byte buffer" or similar. And "base64" is kinda encoding. It's the only such thing in builtin type name list. I don't think I'm proposing to add another category "encoding", but it bothers me a bit. Or am I misunderstanding KDL types?
Here "date" should be type name and "published" should be node name, no? The second line is very much the same (although, more controversial). Or is it only for me?
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Hello, I've just published another implementation of KDL (impl / PR). Generally I like the language, so wanted to make it best in class configuration language for Rust (and maybe good for non-config usage too). Major focus was for convenience and great error reporting.
Here I want to share some minor issues during the implementation, and also some proposals (in no particular order):
_
", but in grammar it's[0-9] [0-9_]*
which is a bit different-
and--1
.node { other_node }
doesn't work without semicolon (inside braces)? It doesn't look very straightforward since omission is allowed at the end of file.str
andbool
type names?i128
andu128
types?base64
isn't a type name in the same sense that all other type names that are in the list. Type name here is kinda "byte buffer" or similar. And "base64" is kinda encoding. It's the only such thing in builtin type name list. I don't think I'm proposing to add another category "encoding", but it bothers me a bit. Or am I misunderstanding KDL types?Beta Was this translation helpful? Give feedback.
All reactions