`KVariable` class should store sort directly, strip attributes
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 35/100
Research direction
Start by locating the KInner and KVariable implementations and review the attribute-stripping changes referenced in runtimeverification/pyk#167. Trace where Sort and the listed compile-pipeline attributes are consumed, then verify that Sort is stored directly and the attributes are removed at the appropriate stage; decide how Location and Source should be represented for KInner.
Written by the indexing model from the issue text.
Description
We are trying to strip attributes out of the KInner class. Currently, the KVariable uses the KAtt class to store sort information about variables. But this is unfortunate, because at least in pyk, we don't have a global ordering on KAtt, so comparing terms that contain these becomes harder. Here (https://github.com/runtimeverification/pyk/pull/167), we remedy this in pyk, but find that there are several attributes carried by KVariable that need to be just stripped out to remove attributes from the KVariable:
Sortattribute should be stored directly as an optional parameter.- This list: https://github.com/runtimeverification/pyk/pull/167/files#diff-6115386226cc25efd80222fd438a0249818a186cb15d9eee976bd9b4bebec815R249 of attributes are manually stripped:
LocationSourceanonymouscellSortwithConfigprettyPrintWithSortAnnotationfreshProductionSort
If these attributes are compile-pipeline internal, then they should be stripped after the stage that makes use of them, rather than passed on to other tools further down (like pyk library).
Slack discussion: https://runtimeverification.slack.com/archives/C7E701MFG/p1674584350855989
Another part of the discussion was about what to do with Location/Source attributes. These could be optional attributes of the KInner class.
- 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