Skip to content

[WIP] syntax-only support for 'multiset' - #344

Merged
Smattr merged 21 commits into
mainfrom
smattr/github-331
Aug 23, 2026
Merged

[WIP] syntax-only support for 'multiset'#344
Smattr merged 21 commits into
mainfrom
smattr/github-331

Conversation

@Smattr

@Smattr Smattr commented Aug 17, 2026

Copy link
Copy Markdown
Owner

No description provided.

@Smattr Smattr changed the title syntax-only support for 'multiset' [WIP] syntax-only support for 'multiset' Aug 17, 2026
Smattr added a commit that referenced this pull request Aug 17, 2026
@Smattr
Smattr force-pushed the smattr/github-331 branch from 42cf63b to e2a0850 Compare August 17, 2026 22:04
Smattr added a commit that referenced this pull request Aug 18, 2026
@Smattr
Smattr force-pushed the smattr/github-331 branch 4 times, most recently from 3a66163 to 07c377a Compare August 19, 2026 22:11
Smattr added a commit that referenced this pull request Aug 20, 2026
@Smattr
Smattr force-pushed the smattr/github-331 branch 3 times, most recently from 91ea125 to ac56086 Compare August 21, 2026 07:03
Smattr added a commit that referenced this pull request Aug 21, 2026
Smattr added 6 commits August 21, 2026 17:48
Github: #331 “MultiSet support within scope?”
Reported-by: Markus Alexander Kuppe
Github: #331 “MultiSet support within scope?”
Reported-by: Markus Alexander Kuppe
Github: #331 “MultiSet support within scope?”
Reported-by: Markus Alexander Kuppe
One might think this could just be implemented as a built-in name for a
procedure. But this needs to have a generic type (type constraint of its
first parameter depends on its second parameter) that we cannot describe
in the usual type system.

Github: #331 “MultiSet support within scope?”
Reported-by: Markus Alexander Kuppe
Github: #331 “MultiSet support within scope?”
Reported-by: Markus Alexander Kuppe
Github: #331 “MultiSet support within scope?”
Reported-by: Markus Alexander Kuppe
@Smattr
Smattr force-pushed the smattr/github-331 branch 4 times, most recently from 518e0d1 to 1cb2d56 Compare August 22, 2026 22:11
Smattr added 7 commits August 23, 2026 09:37
Despite being phrased like a function call, this actually acts more like
a quantified expression.

Github: #331 “MultiSet support within scope?”
Reported-by: Markus Alexander Kuppe
Github: #331 “MultiSet support within scope?”
Reported-by: Markus Alexander Kuppe
Github: #331 “MultiSet support within scope?”
Reported-by: Markus Alexander Kuppe
Github: #331 “MultiSet support within scope?”
Reported-by: Markus Alexander Kuppe
Github: #331 “MultiSet support within scope?”
Reported-by: Markus Alexander Kuppe
Github: #331 “MultiSet support within scope?”
Reported-by: Markus Alexander Kuppe
Github: #331 “MultiSet support within scope?”
Reported-by: Markus Alexander Kuppe
Smattr added 8 commits August 23, 2026 09:37
Github: #331 “MultiSet support within scope?”
Reported-by: Markus Alexander Kuppe
Github: #331 “MultiSet support within scope?”
Reported-by: Markus Alexander Kuppe
Github: #331 “MultiSet support within scope?”
Reported-by: Markus Alexander Kuppe
Github: #331 “MultiSet support within scope?”
Reported-by: Markus Alexander Kuppe
Github: #331 “MultiSet support within scope?”
Reported-by: Markus Alexander Kuppe
Github: #331 “MultiSet support within scope?”
Reported-by: Markus Alexander Kuppe
CMurphi supports `undefined` in two situations:
  1. assignment, `foo := undefined;`
  2. function calls, `foo(…, undefined, …)`

This change adds support for (1).

Github: #331 “MultiSet support within scope?”
This completes (2) described in the previous commit. This looks pretty
hacky – supporting `undefined` exactly within function calls and not
elsewhere – but this appears to match CMurphi behaviour.

Github: #331 “MultiSet support within scope?”
@Smattr
Smattr force-pushed the smattr/github-331 branch from 1cb2d56 to dd3bc59 Compare August 22, 2026 23:40
@Smattr
Smattr merged commit 816179f into main Aug 23, 2026
23 checks passed
@Smattr
Smattr deleted the smattr/github-331 branch August 23, 2026 00:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant