-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathalpha137b.txt
29 lines (25 loc) · 1013 Bytes
/
alpha137b.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Alpha 137b release notes
=========================
Change
=======
As suggested by Rubén, if filter is passed to vu-narrow, filtered variant narrowing
is used rather than variant narrowing for the final unification with the goal, rather
than just the narrowing steps. For example:
mod NARROWING-VENDING-MACHINE is
sorts Coin Item Marking Money State .
subsort Coin < Money .
op empty : -> Money .
op __ : Money Money -> Money [assoc comm id: empty] .
subsort Money Item < Marking .
op __ : Marking Marking -> Marking [assoc comm id: empty] .
op <_> : Marking -> State .
ops $ q : -> Coin .
ops a c : -> Item .
var M : Marking .
rl [buy-c] : < M $ > => < M c > [narrowing] .
rl [buy-a] : < M $ > => < M a q > [narrowing] .
eq [change] : q q q q M = $ M [variant] .
endm
vu-narrow {filter,delay} < X:Money > =>1 S:State .
now only produces two solutions, with what used to be the third solution being
subsumed by the second solution due to filtering the variant unifiers.