Implement `switch` expression in expression language, not YAML
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 35
- Forks
- 14
- Avg merge
- 5d 17h
- Merged PRs (30d)
- 1
Description
Computed fields are currently an embedded expression language within a YAML file. switch expressions (to work with unions and optional types) are not expressed in this language, but rather as YAML nodes:
optionalNamedArrayLength: # YAML
!switch optionalNamedArray: # YAML
NamedNDArray arr: size(arr) # YAML-type-expression hybrid
null: 0 # YAML-type-expression hybrid
This does not allow switch expressions to be used as part of larger expressions (type conversions, a function call argument, etc).
Instead, we should consider making switch part of the expression language. The example above might then look like:
optionalNamedArrayLength: |
switch(optionalNamedArray) {
NamedNDArray arr: size(arr)
null: 0
}
On the other hand, this syntax introduces curly braces within a YAML document, where indentation is usually favoured.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The issue names no files, tests, or entry points. Begin by locating the computed-field expression implementation and the YAML !switch handling, then compare how each is represented. Done requires an agreed syntax and switch expressions usable inside larger expressions, with tests covering the example.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- yaml
- Domain
- compilers
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100