Skip to content

Latest commit

 

History

History
107 lines (70 loc) · 2.22 KB

TODO.org

File metadata and controls

107 lines (70 loc) · 2.22 KB

Problems [0/2]

Environment Variable Source and Option Names

Environment variables cannot have arbitrary names. In particular, the “?” and “-” characters are not allowed. How can we name an option/schema item with such a name in an environment variable?

Environment Variables and Information Separator

Some shells (only fish?) treat list-valued environment variables unusually:

set -x FOO bar baz

results in an environment entry FOO=bar\x1ebaz where the \x1e character is apparent the “information separator”.

Design [0/3]

Escapes in name syntax

Should we use foo\.bar or "foo.bar"?

option-class and option-cell-class

  1. Think through
  2. Document
  3. Implement

Evaluate using trie data structure in option containers

Features [1/4]

Syntax [2/6]

Better parse error reports

Maybe use text.source-location for all error reports?

Sexp Syntax

Something like

("foo"
 (("bar" "baz") 1)
 ("fez"         t))

Lisp Syntax

(if (string= (machine-type) "x86_64")
    (value  "foo.bar.dir" "foo/x86_64")
    (values "foo.baz.dir" "foo"))

YAML Syntax

- foo:
  - bar:
    - baz: 1
  - fez: true

INI Syntax

[foo.bar]
baz = 1
[foo]
fez = true

XML Syntax

<configuration>
  <option name="foo.bar.baz">1</option>
  <option name="foo.fez">true</option>
</configuration>

Making options not have a value

Do we have something along the lines of makunbound? If not, add it.

Special-case empty configuration/schema in describe

Print something like <empty> to avoid confusing empty output.

Enforce non-wild option names in configuration container

Refactoring [0/2]

Unify vocabulary

  • options vs. configurations in RSB scopes

Separate type and inheritance behavior for values