potassco / potassco/constraint-handler

Naming Consistency of Set Values/References.

Open
#173 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
3
Forks
0
Avg merge
1d 19h
Merged PRs (30d)
20

Description

While digging deeper into the problem #172 , I realized that the naming of values of sets themselves varies between engines and the number of representations increased in the same commit that introduced one of the problems specified in the other issue.

Given the following:

set_declare(issue, my_set).
set_assign(issue, my_set, val(int, (1;2;3))).

We get these values for different engines in the respective commits.

Commit (old): 17b9e5411c7b2633badff9eab1c47fc430459dd0

engine value
compile value(my_set,val(set,ref(variable(my_set))))
ground value(my_set,val(set,set((val(int,2),(val(int,3),(val(int,1),()))))))
propagator value(my_set,val(set,ref(variable(my_set))))

Commit (new): 5388619010540bf26ed0e72eb467327e259f753b

engine value
compile value(my_set,ref(set,variable(my_set)))
ground value(my_set,val(set,set((val(int,1),(val(int,2),(val(int,3),()))))))
propagator value(my_set,val(set,ref(variable(my_set))))

So we went from two different ways set references are represented to three different ways, because the output of the propagator was not adapted.

In general, I think all user-facing outputs should probably be as close to the same as possible regardless of the engine.

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.

Research direction

Compare the compile, ground, and propagator representations produced for the set_declare/set_assign example, using the old and new commits as reference points. Align the user-facing set value and reference naming across engines, with the three engine outputs agreeing on the intended representation.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.