e0 :: Expression v => v Int
e0 = lit 2 -. lit 8
-e1 :: (Expression v, Tuple' v) => v (Tuple Char Int)
+e1 :: (Expression v, TupleDSL v) => v (Tuple Char Int)
e1 = tuple (lit 'c') (lit 42)
-e1' :: (Expression v, Tuple' v) => v Char
+e1' :: (Expression v, TupleDSL v) => v Char
e1' = tuplef0' e1
-e1'' :: (Expression v, Tuple' v) => v Int
+e1'' :: (Expression v, TupleDSL v) => v Int
e1'' = tuplef1' e1
-e2 :: (Expression v, TupleR' v) => v (TupleR Char Bool)
+e2 :: (Expression v, TupleRDSL v) => v (TupleR Char Bool)
e2 = tupler (lit 'c') (lit True)
-e3 :: (Expression v, Tuple' v, TupleR' v) => v (TupleR Char (Tuple Int Bool))
+e3 :: (Expression v, TupleDSL v, TupleRDSL v) => v (TupleR Char (Tuple Int Bool))
e3 = tupler (lit 'c') (tuple (lit 42) (lit True))
f0 :: (Expression v, Function () v) => Main (v Int)
:- Main {unmain=sub (lit 2, lit 8)}
)
-f3 :: (Expression v, Tuple' v, Function (v Int) v) => Main (v (Tuple Int Int))
+f3 :: (Expression v, TupleDSL v, Function (v Int) v) => Main (v (Tuple Int Int))
f3
= fun ( \idfun->(\x->x)
:- Main {unmain=tuple (idfun (lit 42)) (idfun (lit 4)) }
:- Main {unmain=fac (lit 10)}
)
-f5 :: (List' v, Expression v, Function (v (List Int)) v) => Main (v Int)
+f5 :: (ListDSL v, Expression v, Function (v (List Int)) v) => Main (v Int)
f5
= fun ( \sumf->(\l->[dsl|case l of
Nil -> 0
:- Main {unmain=[dsl|sumf (1 `cons` (2 `cons` (3 `cons` nil)))|]}
)
-f6 :: (TupleR' v, Expression v, Function (v (TupleR Int Char)) v) => Main (v Int)
+f6 :: (TupleRDSL v, Expression v, Function (v (TupleR Int Char)) v) => Main (v Int)
f6
= fun ( \firstfun->(\l->[dsl|case l of
TupleR {first=f} -> f
:- Main {unmain=ffac (lit 10)}
)
-f7' :: (DSL v, List' v, Function (v (List Int)) v) => Main (v Int)
+f7' :: (DSL v, ListDSL v, Function (v (List Int)) v) => Main (v Int)
f7'
= fun ( \fromto->(
\(from, to)->[dsl|if from > to then nil else from `cons` fromto (from + 1, to)|]