Support YAML syntax for outer parsing
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
- Issue type
- Feature
- Clarity
- Needs clarification
- Activity status
- Stale
- Tech stack
- yaml
- Domain
- compilers
Research direction
Start by locating the current XML outer parser and reviewing how configuration schemas and cell contents are handled. Compare that path with the YAML-like information display in Simbolik, then define the parser, schema-validation, and compatibility work needed for YAML rule syntax before implementation.
Written by the indexing model from the issue text.
Description
Currently we use XML, which we consistently get negative feedback at conferences about because it feels legacy and can be hard to read. XML is good because it has very clear open/close brackets for each cell.
YAML also has the nice property of being easily outer-parsed, but does not feel legacy and is much less verbose than XML. Indentation of YAML allows you to write arbitrary code directly into each YAML block. We can use an off-the-shelf YAML parser for doing configuration parsing, then check that the schema is allowed by the declared configuration after the fact and then just parse the contents of the cells themselves directly.
This would also line up better with how we display information to the user in Simbolik, because essentially a YAML like display is produced there for them to inspect, and then we have to explain how that maps to the XML like syntax anyway.
Overall, offering YAML as a way to write rule syntax I think could make parsing much faster (inner parsing only needs to be done on individual cells, not entire configurations), and would make definitions more compact and readable, nad be less scary to users.
- Dominant language
- Python
- Stars
- 591
- Forks
- 163
- PR merge metrics
- No merged PRs in 30d
Contributor guide
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.
More from runtimeverification/k
-
runtimeverification/k#4939 · 1 assignee ·
-
Concolic Explorer Open
Difficulty 5/5 Over a week Newbie friendliness 32/100
runtimeverification/k#4937 ·
-
Difficulty 5/5 Over a week Newbie friendliness 30/100
runtimeverification/k#4936 ·
-
type:epic
runtimeverification/k#4934 · 4 comments · 1 assignee ·
-
runtimeverification/k#4924 · 1 assignee ·
All issues in runtimeverification/k
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
bancolombia/sentinel#23 ·
-
test md OpenCI
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
-
integration:quickjs org:external priority:backlog topic:code-interpreter topic:middleware type:feature
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
langchain-ai/deepagents#6450 ·
-
bug client
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100