[K-Improvement] <Support Default Values for Configuration Variables>

Open
#4,352 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
45/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Stale
Domain
cli

Research direction

Start by tracing how krun parses configuration assignments supplied with -c, then compare that path with the configuration syntax shown in the issue. Verify that running the two example commands produces the same result when TYPE has its declared default, while explicitly supplied values still override defaults.

Written by the indexing model from the issue text.

Description

Currently, K Framework's configuration supports user input via the krun -c<VariableName>=<Value> command, offering flexibility in specifying configuration options. However, when dealing with a large number of parameters, manually specifying each value becomes cumbersome. To enhance user experience, it would be beneficial to introduce a mechanism for specifying default values for configuration variables. This would allow users to omit specifying values for variables that have predefined defaults.

It would be great to run the program krun program -cSEED=953 and getting the same result as krun program -cSEED=953 -cTYPE=C5 with configuration below

   configuration <T>
                     <seed> $SEED=0 </seed>
                     <type> $TYPE="C5" </type>
                 </T>
Dominant language
Python
Stars
591
Forks
163
PR merge metrics
No merged PRs in 30d

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from runtimeverification/k

All issues in runtimeverification/k

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.