Skip to content

Commit 0af2db6

Browse files
committed
wip
1 parent 2f376f2 commit 0af2db6

26 files changed

+554
-193
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
({cpu: 216462
2+
| mem: 1032})
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
(con (list integer) [0,1,2,3,4,5,6,7,8,9,10])
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
\(xs : list integer) -> mkCons {integer} 0 xs
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
(program 1.1.0 (\xs -> force mkCons 0 xs))

plutus-tx-plugin/test/BuiltinList/Budget/9.6/index.pir.golden

+2-2
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ letrec
2424
!x : Unit = trace {Unit} "PT22" Unit
2525
in
2626
error {Unit -> integer})
27-
(\(x : integer) (xs : list integer) (ds : Unit) (eta : Unit) ->
27+
(\(x : integer) (xs : list integer) (ds : Unit) (ds : Unit) ->
2828
Bool_match
2929
(ifThenElse {Bool} (equalsInteger 0 i) True False)
3030
{all dead. integer}
@@ -35,4 +35,4 @@ letrec
3535
Unit
3636
Unit
3737
in
38-
\(v : list integer) -> go v 5
38+
\(xs : list integer) -> go xs 5

plutus-tx-plugin/test/BuiltinList/Budget/9.6/index.uplc.golden

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
(program
22
1.1.0
3-
((\go v -> go v 5)
3+
((\go xs -> go xs 5)
44
((\s -> s s)
55
(\s xs i ->
66
force
@@ -9,7 +9,7 @@
99
(delay
1010
(\ds -> (\x -> error) (force trace "PT22" (constr 0 []))))
1111
(delay
12-
((\x xs ds eta ->
12+
((\x xs ds ds ->
1313
force
1414
(force ifThenElse
1515
(equalsInteger 0 i)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
An error has occurred:
2+
The machine terminated because of an error, either from a built-in function or from an explicit use of 'error'.
3+
Final budget: ({cpu: 59598
4+
| mem: 132})
5+
Logs: PT21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
An error has occurred:
2+
The machine terminated because of an error, either from a built-in function or from an explicit use of 'error'.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
let
2+
data Bool | Bool_match where
3+
True : Bool
4+
False : Bool
5+
data Unit | Unit_match where
6+
Unit : Unit
7+
!traceError : all a. string -> a
8+
= /\a ->
9+
\(str : string) -> let !x : Unit = trace {Unit} str Unit in error {a}
10+
in
11+
letrec
12+
!go : list integer -> integer -> integer
13+
= \(xs : list integer) (i : integer) ->
14+
(let
15+
r = Unit -> Unit -> integer
16+
in
17+
\(z : r) (f : integer -> list integer -> r) (xs : list integer) ->
18+
chooseList
19+
{integer}
20+
{all dead. r}
21+
xs
22+
(/\dead -> z)
23+
(/\dead -> f (headList {integer} xs) (tailList {integer} xs))
24+
{r})
25+
(\(ds : Unit) -> traceError {Unit -> integer} "PT22")
26+
(\(x : integer) (xs : list integer) (ds : Unit) (ds : Unit) ->
27+
Bool_match
28+
(ifThenElse {Bool} (equalsInteger 0 i) True False)
29+
{all dead. integer}
30+
(/\dead -> x)
31+
(/\dead -> go xs (subtractInteger i 1))
32+
{all dead. dead})
33+
xs
34+
Unit
35+
Unit
36+
in
37+
\(xs : list integer) -> traceError {integer} "PT21"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
(program
2+
1.1.0
3+
((\traceError ->
4+
(\go xs -> traceError "PT21")
5+
((\s -> s s)
6+
(\s xs i ->
7+
force
8+
(force (force chooseList)
9+
xs
10+
(delay (\ds -> traceError "PT22"))
11+
(delay
12+
((\x xs ds ds ->
13+
force
14+
(force ifThenElse
15+
(equalsInteger 0 i)
16+
(delay x)
17+
(delay (s s xs (subtractInteger i 1)))))
18+
(force headList xs)
19+
(force tailList xs))))
20+
(constr 0 [])
21+
(constr 0 []))))
22+
(\str -> (\x -> error) (force trace str (constr 0 [])))))
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
An error has occurred:
2+
The machine terminated because of an error, either from a built-in function or from an explicit use of 'error'.
3+
Final budget: ({cpu: 11866562
4+
| mem: 41164})
5+
Logs: PT22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
An error has occurred:
2+
The machine terminated because of an error, either from a built-in function or from an explicit use of 'error'.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
let
2+
data Bool | Bool_match where
3+
True : Bool
4+
False : Bool
5+
data Unit | Unit_match where
6+
Unit : Unit
7+
in
8+
letrec
9+
!go : list integer -> integer -> integer
10+
= \(xs : list integer) (i : integer) ->
11+
(let
12+
r = Unit -> Unit -> integer
13+
in
14+
\(z : r) (f : integer -> list integer -> r) (xs : list integer) ->
15+
chooseList
16+
{integer}
17+
{all dead. r}
18+
xs
19+
(/\dead -> z)
20+
(/\dead -> f (headList {integer} xs) (tailList {integer} xs))
21+
{r})
22+
(\(ds : Unit) ->
23+
let
24+
!x : Unit = trace {Unit} "PT22" Unit
25+
in
26+
error {Unit -> integer})
27+
(\(x : integer) (xs : list integer) (ds : Unit) (ds : Unit) ->
28+
Bool_match
29+
(ifThenElse {Bool} (equalsInteger 0 i) True False)
30+
{all dead. integer}
31+
(/\dead -> x)
32+
(/\dead -> go xs (subtractInteger i 1))
33+
{all dead. dead})
34+
xs
35+
Unit
36+
Unit
37+
in
38+
\(xs : list integer) -> go xs 10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
(program
2+
1.1.0
3+
((\go xs -> go xs 10)
4+
((\s -> s s)
5+
(\s xs i ->
6+
force
7+
(force (force chooseList)
8+
xs
9+
(delay
10+
(\ds -> (\x -> error) (force trace "PT22" (constr 0 []))))
11+
(delay
12+
((\x xs ds ds ->
13+
force
14+
(force ifThenElse
15+
(equalsInteger 0 i)
16+
(delay x)
17+
(delay (s s xs (subtractInteger i 1)))))
18+
(force headList xs)
19+
(force tailList xs))))
20+
(constr 0 [])
21+
(constr 0 [])))))

plutus-tx-plugin/test/BuiltinList/Budget/9.6/map.pir.golden

+2-2
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ letrec
1212
(/\dead -> f (headList {integer} xs) (tailList {integer} xs))
1313
{r})
1414
[]
15-
(\(x : integer) (x : list integer) ->
16-
mkCons {integer} (addInteger 1 x) (go x))
15+
(\(x : integer) (xs : list integer) ->
16+
mkCons {integer} (addInteger 1 x) (go xs))
1717
in
1818
go
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,18 @@
11
(program
22
1.1.0
3-
((\s -> s s)
4-
(\s xs ->
5-
force
6-
(force (force chooseList)
7-
xs
8-
(delay [])
9-
(delay
10-
((\x ->
11-
force mkCons (addInteger 1 (force headList xs)) (s s x))
12-
(force tailList xs)))))))
3+
(force
4+
((\s -> s s)
5+
(\s arg ->
6+
delay
7+
(\xs ->
8+
force
9+
(force (force chooseList)
10+
xs
11+
(delay [])
12+
(delay
13+
((\xs ->
14+
force mkCons
15+
(addInteger 1 (force headList xs))
16+
(force (s s (delay (\x -> x))) xs))
17+
(force tailList xs))))))
18+
(delay (\x -> x)))))
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
({cpu: 665907
2+
| mem: 2496})
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
(constr 0 (constr 0 (con integer 1) (con (list integer) [2,3,4,5,6,7,8,9,10])))
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
let
2+
data (Tuple2 :: * -> * -> *) a b | Tuple2_match where
3+
Tuple2 : a -> b -> Tuple2 a b
4+
data (Maybe :: * -> *) a | Maybe_match where
5+
Just : a -> Maybe a
6+
Nothing : Maybe a
7+
in
8+
\(xs : list integer) ->
9+
(let
10+
r = Maybe (Tuple2 integer (list integer))
11+
in
12+
\(z : r) (f : integer -> list integer -> r) (xs : list integer) ->
13+
chooseList
14+
{integer}
15+
{all dead. r}
16+
xs
17+
(/\dead -> z)
18+
(/\dead -> f (headList {integer} xs) (tailList {integer} xs))
19+
{r})
20+
(Nothing {Tuple2 integer (list integer)})
21+
(\(h : integer) (t : list integer) ->
22+
Just
23+
{Tuple2 integer (list integer)}
24+
(Tuple2 {integer} {list integer} h t))
25+
xs
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
(program
2+
1.1.0
3+
(\xs ->
4+
force
5+
(force (force chooseList)
6+
xs
7+
(delay (constr 1 []))
8+
(delay
9+
(constr 0
10+
[(constr 0 [(force headList xs), (force tailList xs)])])))))
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
({cpu: 357094
2+
| mem: 1532})
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
(constr 1)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
let
2+
data (Tuple2 :: * -> * -> *) a b | Tuple2_match where
3+
Tuple2 : a -> b -> Tuple2 a b
4+
data (Maybe :: * -> *) a | Maybe_match where
5+
Just : a -> Maybe a
6+
Nothing : Maybe a
7+
in
8+
\(ds : list integer) ->
9+
(let
10+
r = Maybe (Tuple2 integer (list integer))
11+
in
12+
\(z : r) (f : integer -> list integer -> r) (xs : list integer) ->
13+
chooseList
14+
{integer}
15+
{all dead. r}
16+
xs
17+
(/\dead -> z)
18+
(/\dead -> f (headList {integer} xs) (tailList {integer} xs))
19+
{r})
20+
(Nothing {Tuple2 integer (list integer)})
21+
(\(h : integer) (t : list integer) ->
22+
Just
23+
{Tuple2 integer (list integer)}
24+
(Tuple2 {integer} {list integer} h t))
25+
[]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
(program
2+
1.1.0
3+
(\ds ->
4+
force
5+
(force (force chooseList)
6+
[]
7+
(delay (constr 1 []))
8+
(delay
9+
(constr 0
10+
[(constr 0 [(force headList []), (force tailList [])])])))))

0 commit comments

Comments
 (0)