{-# LANGUAGE ScopedTypeVariables #-}
module PlutusCore.StdLib.Everything
( stdLib
) where
import PlutusCore.Default
import PlutusCore.FsTree
import PlutusCore.StdLib.Data.Bool
import PlutusCore.StdLib.Data.ChurchNat
import PlutusCore.StdLib.Data.Data
import PlutusCore.StdLib.Data.Function as Function
import PlutusCore.StdLib.Data.Integer
import PlutusCore.StdLib.Data.List as Builtin
import PlutusCore.StdLib.Data.Nat as Nat
import PlutusCore.StdLib.Data.Pair as Builtin
import PlutusCore.StdLib.Data.ScottList as Scott
import PlutusCore.StdLib.Data.Sum as Sum
import PlutusCore.StdLib.Data.Unit
import PlutusCore.StdLib.Meta.Data.Tuple
import PlutusCore.StdLib.Type
stdLib :: PlcFolderContents DefaultUni DefaultFun
stdLib :: PlcFolderContents DefaultUni DefaultFun
stdLib =
[FsTree (PlcEntity DefaultUni DefaultFun)]
-> PlcFolderContents DefaultUni DefaultFun
forall a. [FsTree a] -> FolderContents a
FolderContents
[ String
-> [FsTree (PlcEntity DefaultUni DefaultFun)]
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall a. String -> [FsTree a] -> FsTree a
treeFolderContents String
"StdLib"
[ String
-> [FsTree (PlcEntity DefaultUni DefaultFun)]
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall a. String -> [FsTree a] -> FsTree a
treeFolderContents String
"Data"
[ String
-> [FsTree (PlcEntity DefaultUni DefaultFun)]
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall a. String -> [FsTree a] -> FsTree a
treeFolderContents String
"Bool"
[ String
-> Type TyName DefaultUni ()
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall (uni :: * -> *) fun.
String -> Type TyName uni () -> PlcFsTree uni fun
plcTypeFile String
"Bool" Type TyName DefaultUni ()
forall (uni :: * -> *) tyname.
HasTypeLevel uni Bool =>
Type tyname uni ()
bool
, String
-> Term TyName Name DefaultUni DefaultFun ()
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall (uni :: * -> *) fun.
String -> Term TyName Name uni fun () -> PlcFsTree uni fun
plcTermFile String
"True" Term TyName Name DefaultUni DefaultFun ()
forall (term :: * -> *) tyname name (uni :: * -> *) fun.
(TermLike term tyname name uni fun, HasTermLevel uni Bool) =>
term ()
true
, String
-> Term TyName Name DefaultUni DefaultFun ()
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall (uni :: * -> *) fun.
String -> Term TyName Name uni fun () -> PlcFsTree uni fun
plcTermFile String
"False" Term TyName Name DefaultUni DefaultFun ()
forall (term :: * -> *) tyname name (uni :: * -> *) fun.
(TermLike term tyname name uni fun, HasTermLevel uni Bool) =>
term ()
false
, String
-> Term TyName Name DefaultUni DefaultFun ()
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall (uni :: * -> *) fun.
String -> Term TyName Name uni fun () -> PlcFsTree uni fun
plcTermFile String
"IfThenElse" Term TyName Name DefaultUni DefaultFun ()
forall (term :: * -> *) (uni :: * -> *).
(TermLike term TyName Name uni DefaultFun,
HasTypeAndTermLevel uni Bool, HasTypeAndTermLevel uni ()) =>
term ()
ifThenElse
]
, String
-> [FsTree (PlcEntity DefaultUni DefaultFun)]
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall a. String -> [FsTree a] -> FsTree a
treeFolderContents String
"ChurchNat"
[ String
-> Type TyName DefaultUni ()
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall (uni :: * -> *) fun.
String -> Type TyName uni () -> PlcFsTree uni fun
plcTypeFile String
"ChurchNat" Type TyName DefaultUni ()
forall (uni :: * -> *). Type TyName uni ()
churchNat
, String
-> Term TyName Name DefaultUni DefaultFun ()
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall (uni :: * -> *) fun.
String -> Term TyName Name uni fun () -> PlcFsTree uni fun
plcTermFile String
"ChurchZero" Term TyName Name DefaultUni DefaultFun ()
forall (term :: * -> *) (uni :: * -> *) fun.
TermLike term TyName Name uni fun =>
term ()
churchZero
, String
-> Term TyName Name DefaultUni DefaultFun ()
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall (uni :: * -> *) fun.
String -> Term TyName Name uni fun () -> PlcFsTree uni fun
plcTermFile String
"ChurchSucc" Term TyName Name DefaultUni DefaultFun ()
forall (term :: * -> *) (uni :: * -> *) fun.
TermLike term TyName Name uni fun =>
term ()
churchSucc
]
, String
-> [FsTree (PlcEntity DefaultUni DefaultFun)]
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall a. String -> [FsTree a] -> FsTree a
treeFolderContents String
"Function"
[ String
-> Term TyName Name DefaultUni DefaultFun ()
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall (uni :: * -> *) fun.
String -> Term TyName Name uni fun () -> PlcFsTree uni fun
plcTermFile String
"Const" Term TyName Name DefaultUni DefaultFun ()
forall (term :: * -> *) (uni :: * -> *) fun.
TermLike term TyName Name uni fun =>
term ()
Function.const
, String
-> Term TyName Name DefaultUni DefaultFun ()
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall (uni :: * -> *) fun.
String -> Term TyName Name uni fun () -> PlcFsTree uni fun
plcTermFile String
"Apply" Term TyName Name DefaultUni DefaultFun ()
forall (term :: * -> *) (uni :: * -> *) fun.
TermLike term TyName Name uni fun =>
term ()
applyFun
, String
-> Type TyName DefaultUni ()
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall (uni :: * -> *) fun.
String -> Type TyName uni () -> PlcFsTree uni fun
plcTypeFile String
"Self" (Type TyName DefaultUni ()
-> FsTree (PlcEntity DefaultUni DefaultFun))
-> Type TyName DefaultUni ()
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall a b. (a -> b) -> a -> b
$ RecursiveType DefaultUni Any () -> Type TyName DefaultUni ()
forall (uni :: * -> *) fun ann.
RecursiveType uni fun ann -> Type TyName uni ann
_recursiveType RecursiveType DefaultUni Any ()
forall (uni :: * -> *) fun. RecursiveType uni fun ()
selfData
, String
-> Term TyName Name DefaultUni DefaultFun ()
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall (uni :: * -> *) fun.
String -> Term TyName Name uni fun () -> PlcFsTree uni fun
plcTermFile String
"Unroll" Term TyName Name DefaultUni DefaultFun ()
forall (term :: * -> *) (uni :: * -> *) fun.
TermLike term TyName Name uni fun =>
term ()
unroll
, String
-> Term TyName Name DefaultUni DefaultFun ()
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall (uni :: * -> *) fun.
String -> Term TyName Name uni fun () -> PlcFsTree uni fun
plcTermFile String
"Fix" Term TyName Name DefaultUni DefaultFun ()
forall (term :: * -> *) (uni :: * -> *) fun.
TermLike term TyName Name uni fun =>
term ()
fix
, String
-> Term TyName Name DefaultUni DefaultFun ()
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall (uni :: * -> *) fun.
String -> Term TyName Name uni fun () -> PlcFsTree uni fun
plcTermFile String
"Fix2" (Term TyName Name DefaultUni DefaultFun ()
-> FsTree (PlcEntity DefaultUni DefaultFun))
-> Term TyName Name DefaultUni DefaultFun ()
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall a b. (a -> b) -> a -> b
$ Integer
-> Term TyName Name DefaultUni DefaultFun ()
-> Term TyName Name DefaultUni DefaultFun ()
forall (term :: * -> *) (uni :: * -> *) fun.
TermLike term TyName Name uni fun =>
Integer -> term () -> term ()
fixN Integer
2 Term TyName Name DefaultUni DefaultFun ()
forall (term :: * -> *) (uni :: * -> *) fun.
TermLike term TyName Name uni fun =>
term ()
fixBy
]
, String
-> [FsTree (PlcEntity DefaultUni DefaultFun)]
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall a. String -> [FsTree a] -> FsTree a
treeFolderContents String
"Integer"
[ String
-> Type TyName DefaultUni ()
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall (uni :: * -> *) fun.
String -> Type TyName uni () -> PlcFsTree uni fun
plcTypeFile String
"integer" Type TyName DefaultUni ()
forall (uni :: * -> *) tyname.
HasTypeLevel uni Integer =>
Type tyname uni ()
integer
, String
-> Term TyName Name DefaultUni DefaultFun ()
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall (uni :: * -> *) fun.
String -> Term TyName Name uni fun () -> PlcFsTree uni fun
plcTermFile String
"SuccInteger" Term TyName Name DefaultUni DefaultFun ()
forall (term :: * -> *) tyname (uni :: * -> *).
(TermLike term tyname Name uni DefaultFun,
HasTypeAndTermLevel uni Integer) =>
term ()
succInteger
]
, String
-> [FsTree (PlcEntity DefaultUni DefaultFun)]
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall a. String -> [FsTree a] -> FsTree a
treeFolderContents String
"Pair"
[ String
-> Type TyName DefaultUni ()
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall (uni :: * -> *) fun.
String -> Type TyName uni () -> PlcFsTree uni fun
plcTypeFile String
"Pair" Type TyName DefaultUni ()
forall (uni :: * -> *) tyname.
HasTypeLevel uni (,) =>
Type tyname uni ()
pair
, String
-> Term TyName Name DefaultUni DefaultFun ()
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall (uni :: * -> *) fun.
String -> Term TyName Name uni fun () -> PlcFsTree uni fun
plcTermFile String
"Fst" Term TyName Name DefaultUni DefaultFun ()
forall (term :: * -> *) tyname name.
TermLike term tyname name DefaultUni DefaultFun =>
term ()
Builtin.fstPair
, String
-> Term TyName Name DefaultUni DefaultFun ()
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall (uni :: * -> *) fun.
String -> Term TyName Name uni fun () -> PlcFsTree uni fun
plcTermFile String
"Snd" Term TyName Name DefaultUni DefaultFun ()
forall (term :: * -> *) tyname name.
TermLike term tyname name DefaultUni DefaultFun =>
term ()
Builtin.sndPair
, String
-> Term TyName Name DefaultUni DefaultFun ()
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall (uni :: * -> *) fun.
String -> Term TyName Name uni fun () -> PlcFsTree uni fun
plcTermFile String
"Uncurry" Term TyName Name DefaultUni DefaultFun ()
forall (term :: * -> *).
TermLike term TyName Name DefaultUni DefaultFun =>
term ()
Builtin.uncurry
]
, String
-> [FsTree (PlcEntity DefaultUni DefaultFun)]
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall a. String -> [FsTree a] -> FsTree a
treeFolderContents String
"List"
[ String
-> Type TyName DefaultUni ()
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall (uni :: * -> *) fun.
String -> Type TyName uni () -> PlcFsTree uni fun
plcTypeFile String
"List" Type TyName DefaultUni ()
forall (uni :: * -> *) tyname.
HasTypeLevel uni [] =>
Type tyname uni ()
list
, String
-> Term TyName Name DefaultUni DefaultFun ()
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall (uni :: * -> *) fun.
String -> Term TyName Name uni fun () -> PlcFsTree uni fun
plcTermFile String
"MatchList" (Term TyName Name DefaultUni DefaultFun ()
-> FsTree (PlcEntity DefaultUni DefaultFun))
-> Term TyName Name DefaultUni DefaultFun ()
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall a b. (a -> b) -> a -> b
$ MatchOption -> Term TyName Name DefaultUni DefaultFun ()
forall (term :: * -> *).
TermLike term TyName Name DefaultUni DefaultFun =>
MatchOption -> term ()
Builtin.matchList MatchOption
UseCase
, String
-> Term TyName Name DefaultUni DefaultFun ()
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall (uni :: * -> *) fun.
String -> Term TyName Name uni fun () -> PlcFsTree uni fun
plcTermFile String
"FoldrList" (Term TyName Name DefaultUni DefaultFun ()
-> FsTree (PlcEntity DefaultUni DefaultFun))
-> Term TyName Name DefaultUni DefaultFun ()
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall a b. (a -> b) -> a -> b
$ MatchOption -> Term TyName Name DefaultUni DefaultFun ()
forall (term :: * -> *).
TermLike term TyName Name DefaultUni DefaultFun =>
MatchOption -> term ()
Builtin.foldrList MatchOption
UseCase
, String
-> Term TyName Name DefaultUni DefaultFun ()
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall (uni :: * -> *) fun.
String -> Term TyName Name uni fun () -> PlcFsTree uni fun
plcTermFile String
"FoldList" (Term TyName Name DefaultUni DefaultFun ()
-> FsTree (PlcEntity DefaultUni DefaultFun))
-> Term TyName Name DefaultUni DefaultFun ()
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall a b. (a -> b) -> a -> b
$ MatchOption -> Term TyName Name DefaultUni DefaultFun ()
forall (term :: * -> *).
TermLike term TyName Name DefaultUni DefaultFun =>
MatchOption -> term ()
Builtin.foldList MatchOption
UseCase
, String
-> Term TyName Name DefaultUni DefaultFun ()
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall (uni :: * -> *) fun.
String -> Term TyName Name uni fun () -> PlcFsTree uni fun
plcTermFile String
"MatchListViaChoose" (Term TyName Name DefaultUni DefaultFun ()
-> FsTree (PlcEntity DefaultUni DefaultFun))
-> Term TyName Name DefaultUni DefaultFun ()
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall a b. (a -> b) -> a -> b
$ MatchOption -> Term TyName Name DefaultUni DefaultFun ()
forall (term :: * -> *).
TermLike term TyName Name DefaultUni DefaultFun =>
MatchOption -> term ()
Builtin.matchList MatchOption
UseChoose
, String
-> Term TyName Name DefaultUni DefaultFun ()
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall (uni :: * -> *) fun.
String -> Term TyName Name uni fun () -> PlcFsTree uni fun
plcTermFile String
"FoldrListViaChoose" (Term TyName Name DefaultUni DefaultFun ()
-> FsTree (PlcEntity DefaultUni DefaultFun))
-> Term TyName Name DefaultUni DefaultFun ()
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall a b. (a -> b) -> a -> b
$ MatchOption -> Term TyName Name DefaultUni DefaultFun ()
forall (term :: * -> *).
TermLike term TyName Name DefaultUni DefaultFun =>
MatchOption -> term ()
Builtin.foldrList MatchOption
UseChoose
, String
-> Term TyName Name DefaultUni DefaultFun ()
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall (uni :: * -> *) fun.
String -> Term TyName Name uni fun () -> PlcFsTree uni fun
plcTermFile String
"FoldListViaChoose" (Term TyName Name DefaultUni DefaultFun ()
-> FsTree (PlcEntity DefaultUni DefaultFun))
-> Term TyName Name DefaultUni DefaultFun ()
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall a b. (a -> b) -> a -> b
$ MatchOption -> Term TyName Name DefaultUni DefaultFun ()
forall (term :: * -> *).
TermLike term TyName Name DefaultUni DefaultFun =>
MatchOption -> term ()
Builtin.foldList MatchOption
UseChoose
]
, String
-> [FsTree (PlcEntity DefaultUni DefaultFun)]
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall a. String -> [FsTree a] -> FsTree a
treeFolderContents String
"Data"
[ String
-> Type TyName DefaultUni ()
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall (uni :: * -> *) fun.
String -> Type TyName uni () -> PlcFsTree uni fun
plcTypeFile String
"Data" Type TyName DefaultUni ()
forall (uni :: * -> *) tyname.
HasTypeLevel uni Data =>
Type tyname uni ()
dataTy
, String
-> Term TyName Name DefaultUni DefaultFun ()
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall (uni :: * -> *) fun.
String -> Term TyName Name uni fun () -> PlcFsTree uni fun
plcTermFile String
"matchData" (Term TyName Name DefaultUni DefaultFun ()
-> FsTree (PlcEntity DefaultUni DefaultFun))
-> Term TyName Name DefaultUni DefaultFun ()
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall a b. (a -> b) -> a -> b
$ MatchOption -> Term TyName Name DefaultUni DefaultFun ()
forall (term :: * -> *).
TermLike term TyName Name DefaultUni DefaultFun =>
MatchOption -> term ()
matchData MatchOption
UseCase
, String
-> Term TyName Name DefaultUni DefaultFun ()
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall (uni :: * -> *) fun.
String -> Term TyName Name uni fun () -> PlcFsTree uni fun
plcTermFile String
"matchDataViaChoose" (Term TyName Name DefaultUni DefaultFun ()
-> FsTree (PlcEntity DefaultUni DefaultFun))
-> Term TyName Name DefaultUni DefaultFun ()
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall a b. (a -> b) -> a -> b
$ MatchOption -> Term TyName Name DefaultUni DefaultFun ()
forall (term :: * -> *).
TermLike term TyName Name DefaultUni DefaultFun =>
MatchOption -> term ()
matchData MatchOption
UseChoose
]
, String
-> [FsTree (PlcEntity DefaultUni DefaultFun)]
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall a. String -> [FsTree a] -> FsTree a
treeFolderContents String
"ScottList"
[ String
-> Type TyName DefaultUni ()
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall (uni :: * -> *) fun.
String -> Type TyName uni () -> PlcFsTree uni fun
plcTypeFile String
"List" Type TyName DefaultUni ()
forall (uni :: * -> *). Type TyName uni ()
listTy
, String
-> Term TyName Name DefaultUni DefaultFun ()
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall (uni :: * -> *) fun.
String -> Term TyName Name uni fun () -> PlcFsTree uni fun
plcTermFile String
"Nil" Term TyName Name DefaultUni DefaultFun ()
forall (term :: * -> *) (uni :: * -> *) fun.
TermLike term TyName Name uni fun =>
term ()
nil
, String
-> Term TyName Name DefaultUni DefaultFun ()
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall (uni :: * -> *) fun.
String -> Term TyName Name uni fun () -> PlcFsTree uni fun
plcTermFile String
"Cons" Term TyName Name DefaultUni DefaultFun ()
forall (term :: * -> *) (uni :: * -> *) fun.
TermLike term TyName Name uni fun =>
term ()
cons
, String
-> Term TyName Name DefaultUni DefaultFun ()
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall (uni :: * -> *) fun.
String -> Term TyName Name uni fun () -> PlcFsTree uni fun
plcTermFile String
"FoldrList" Term TyName Name DefaultUni DefaultFun ()
forall (term :: * -> *) (uni :: * -> *) fun.
TermLike term TyName Name uni fun =>
term ()
Scott.foldrList
, String
-> Term TyName Name DefaultUni DefaultFun ()
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall (uni :: * -> *) fun.
String -> Term TyName Name uni fun () -> PlcFsTree uni fun
plcTermFile String
"FoldList" Term TyName Name DefaultUni DefaultFun ()
forall (term :: * -> *) (uni :: * -> *) fun.
TermLike term TyName Name uni fun =>
term ()
Scott.foldList
, String
-> Term TyName Name DefaultUni DefaultFun ()
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall (uni :: * -> *) fun.
String -> Term TyName Name uni fun () -> PlcFsTree uni fun
plcTermFile String
"Reverse" Term TyName Name DefaultUni DefaultFun ()
forall (term :: * -> *) (uni :: * -> *) fun.
TermLike term TyName Name uni fun =>
term ()
Scott.reverse
, String
-> Term TyName Name DefaultUni DefaultFun ()
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall (uni :: * -> *) fun.
String -> Term TyName Name uni fun () -> PlcFsTree uni fun
plcTermFile String
"EnumFromTo" Term TyName Name DefaultUni DefaultFun ()
forall (term :: * -> *) (uni :: * -> *).
(TermLike term TyName Name uni DefaultFun,
HasTypeAndTermLevel uni Integer, HasTypeAndTermLevel uni (),
HasTypeAndTermLevel uni Bool) =>
term ()
Scott.enumFromTo
, String
-> Term TyName Name DefaultUni DefaultFun ()
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall (uni :: * -> *) fun.
String -> Term TyName Name uni fun () -> PlcFsTree uni fun
plcTermFile String
"Sum" Term TyName Name DefaultUni DefaultFun ()
forall (term :: * -> *) (uni :: * -> *).
(TermLike term TyName Name uni DefaultFun,
HasTypeAndTermLevel uni Integer) =>
term ()
Scott.sum
, String
-> Term TyName Name DefaultUni DefaultFun ()
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall (uni :: * -> *) fun.
String -> Term TyName Name uni fun () -> PlcFsTree uni fun
plcTermFile String
"Product" Term TyName Name DefaultUni DefaultFun ()
forall (term :: * -> *) (uni :: * -> *).
(TermLike term TyName Name uni DefaultFun,
HasTypeAndTermLevel uni Integer) =>
term ()
Scott.product
]
, String
-> [FsTree (PlcEntity DefaultUni DefaultFun)]
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall a. String -> [FsTree a] -> FsTree a
treeFolderContents String
"Nat"
[ String
-> Type TyName DefaultUni ()
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall (uni :: * -> *) fun.
String -> Type TyName uni () -> PlcFsTree uni fun
plcTypeFile String
"Nat" Type TyName DefaultUni ()
forall (uni :: * -> *). Type TyName uni ()
natTy
, String
-> Term TyName Name DefaultUni DefaultFun ()
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall (uni :: * -> *) fun.
String -> Term TyName Name uni fun () -> PlcFsTree uni fun
plcTermFile String
"Zero" Term TyName Name DefaultUni DefaultFun ()
forall (term :: * -> *) (uni :: * -> *) fun.
TermLike term TyName Name uni fun =>
term ()
zero
, String
-> Term TyName Name DefaultUni DefaultFun ()
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall (uni :: * -> *) fun.
String -> Term TyName Name uni fun () -> PlcFsTree uni fun
plcTermFile String
"Succ" Term TyName Name DefaultUni DefaultFun ()
forall (term :: * -> *) (uni :: * -> *) fun.
TermLike term TyName Name uni fun =>
term ()
Nat.succ
, String
-> Term TyName Name DefaultUni DefaultFun ()
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall (uni :: * -> *) fun.
String -> Term TyName Name uni fun () -> PlcFsTree uni fun
plcTermFile String
"FoldrNat" Term TyName Name DefaultUni DefaultFun ()
forall (term :: * -> *) (uni :: * -> *) fun.
TermLike term TyName Name uni fun =>
term ()
foldrNat
, String
-> Term TyName Name DefaultUni DefaultFun ()
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall (uni :: * -> *) fun.
String -> Term TyName Name uni fun () -> PlcFsTree uni fun
plcTermFile String
"FoldNat" Term TyName Name DefaultUni DefaultFun ()
forall (term :: * -> *) (uni :: * -> *) fun.
TermLike term TyName Name uni fun =>
term ()
foldNat
, String
-> Term TyName Name DefaultUni DefaultFun ()
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall (uni :: * -> *) fun.
String -> Term TyName Name uni fun () -> PlcFsTree uni fun
plcTermFile String
"NatToInteger" Term TyName Name DefaultUni DefaultFun ()
forall (term :: * -> *) (uni :: * -> *).
(TermLike term TyName Name uni DefaultFun,
HasTypeAndTermLevel uni Integer) =>
term ()
natToInteger
]
, String
-> [FsTree (PlcEntity DefaultUni DefaultFun)]
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall a. String -> [FsTree a] -> FsTree a
treeFolderContents String
"Sum"
[ String
-> Type TyName DefaultUni ()
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall (uni :: * -> *) fun.
String -> Type TyName uni () -> PlcFsTree uni fun
plcTypeFile String
"Sum" Type TyName DefaultUni ()
forall (uni :: * -> *). Type TyName uni ()
Sum.sum
, String
-> Term TyName Name DefaultUni DefaultFun ()
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall (uni :: * -> *) fun.
String -> Term TyName Name uni fun () -> PlcFsTree uni fun
plcTermFile String
"Left" Term TyName Name DefaultUni DefaultFun ()
forall (term :: * -> *) (uni :: * -> *) fun.
TermLike term TyName Name uni fun =>
term ()
left
, String
-> Term TyName Name DefaultUni DefaultFun ()
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall (uni :: * -> *) fun.
String -> Term TyName Name uni fun () -> PlcFsTree uni fun
plcTermFile String
"Right" Term TyName Name DefaultUni DefaultFun ()
forall (term :: * -> *) (uni :: * -> *) fun.
TermLike term TyName Name uni fun =>
term ()
right
]
, String
-> [FsTree (PlcEntity DefaultUni DefaultFun)]
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall a. String -> [FsTree a] -> FsTree a
treeFolderContents String
"Unit"
[ String
-> Type TyName DefaultUni ()
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall (uni :: * -> *) fun.
String -> Type TyName uni () -> PlcFsTree uni fun
plcTypeFile String
"Unit" Type TyName DefaultUni ()
forall (uni :: * -> *) tyname.
HasTypeLevel uni () =>
Type tyname uni ()
unit
, String
-> Term TyName Name DefaultUni DefaultFun ()
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall (uni :: * -> *) fun.
String -> Term TyName Name uni fun () -> PlcFsTree uni fun
plcTermFile String
"Unitval" Term TyName Name DefaultUni DefaultFun ()
forall (term :: * -> *) tyname name (uni :: * -> *) fun.
(TermLike term tyname name uni fun, HasTermLevel uni ()) =>
term ()
unitval
]
]
, String
-> [FsTree (PlcEntity DefaultUni DefaultFun)]
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall a. String -> [FsTree a] -> FsTree a
treeFolderContents String
"Meta"
[ String
-> [FsTree (PlcEntity DefaultUni DefaultFun)]
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall a. String -> [FsTree a] -> FsTree a
treeFolderContents String
"Data"
[ String
-> [FsTree (PlcEntity DefaultUni DefaultFun)]
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall a. String -> [FsTree a] -> FsTree a
treeFolderContents String
"Tuple"
[ String
-> Type TyName DefaultUni ()
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall (uni :: * -> *) fun.
String -> Type TyName uni () -> PlcFsTree uni fun
plcTypeFile String
"ProdN2" (Type TyName DefaultUni ()
-> FsTree (PlcEntity DefaultUni DefaultFun))
-> Type TyName DefaultUni ()
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall a b. (a -> b) -> a -> b
$ Int -> Type TyName DefaultUni ()
forall (uni :: * -> *). Int -> Type TyName uni ()
prodN Int
2
, String
-> Term TyName Name DefaultUni DefaultFun ()
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall (uni :: * -> *) fun.
String -> Term TyName Name uni fun () -> PlcFsTree uni fun
plcTermFile String
"ProdN2_0" (Term TyName Name DefaultUni DefaultFun ()
-> FsTree (PlcEntity DefaultUni DefaultFun))
-> Term TyName Name DefaultUni DefaultFun ()
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall a b. (a -> b) -> a -> b
$ Int -> Int -> Term TyName Name DefaultUni DefaultFun ()
forall (term :: * -> *) (uni :: * -> *) fun.
TermLike term TyName Name uni fun =>
Int -> Int -> term ()
prodNAccessor Int
2 Int
0
, String
-> Term TyName Name DefaultUni DefaultFun ()
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall (uni :: * -> *) fun.
String -> Term TyName Name uni fun () -> PlcFsTree uni fun
plcTermFile String
"ProdN2_1" (Term TyName Name DefaultUni DefaultFun ()
-> FsTree (PlcEntity DefaultUni DefaultFun))
-> Term TyName Name DefaultUni DefaultFun ()
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall a b. (a -> b) -> a -> b
$ Int -> Int -> Term TyName Name DefaultUni DefaultFun ()
forall (term :: * -> *) (uni :: * -> *) fun.
TermLike term TyName Name uni fun =>
Int -> Int -> term ()
prodNAccessor Int
2 Int
1
, String
-> Term TyName Name DefaultUni DefaultFun ()
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall (uni :: * -> *) fun.
String -> Term TyName Name uni fun () -> PlcFsTree uni fun
plcTermFile String
"MkProdN2" (Term TyName Name DefaultUni DefaultFun ()
-> FsTree (PlcEntity DefaultUni DefaultFun))
-> Term TyName Name DefaultUni DefaultFun ()
-> FsTree (PlcEntity DefaultUni DefaultFun)
forall a b. (a -> b) -> a -> b
$ Int -> Term TyName Name DefaultUni DefaultFun ()
forall (term :: * -> *) (uni :: * -> *) fun.
TermLike term TyName Name uni fun =>
Int -> term ()
prodNConstructor Int
2
]
]
]
]
]