_|->_ and SetItem (and likely others) maybe should be constructors

Open
#2,683 7 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
25/100
Issue type
Refactor
Clarity
Needs clarification
Activity status
Stale
Domain
compilers

Research direction

Start with the linked pull request discussion and inspect where _|->_ and SetItem are declared and marked function, functional. Determine whether those declarations should be constructors and check the other similar cases mentioned by the issue; done means the affected declarations consistently provide totality and injectivity.

Written by the indexing model from the issue text.

Description

Here: https://github.com/runtimeverification/k/pull/2659/files#r907667239

I've noticed that we are marking things like _|->_ and SetItem as function, functional, which doesn't make any sense. These shoudl be constructors. Nice thing about making them constructors is that we get (for free) that (i) they are total, and (ii) they are injective.

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.