{
"Natural/build" => Dhall::Forall.of_arguments(
Dhall::Forall.new(
var: "natural",
type: Dhall::Variable["Type"],
body: Dhall::Forall.new(
var: "succ",
type: Dhall::Forall.of_arguments(
Dhall::Variable["natural"],
body: Dhall::Variable["natural"]
),
body: Dhall::Forall.new(
var: "zero",
type: Dhall::Variable["natural"],
body: Dhall::Variable["natural"]
)
)
),
body: Dhall::Variable["Natural"]
),
"Natural/fold" => Dhall::Forall.of_arguments(
Dhall::Variable["Natural"],
body: Dhall::Forall.new(
var: "natural",
type: Dhall::Variable["Type"],
body: Dhall::Forall.new(
var: "succ",
type: Dhall::Forall.of_arguments(
Dhall::Variable["natural"],
body: Dhall::Variable["natural"]
),
body: Dhall::Forall.new(
var: "zero",
type: Dhall::Variable["natural"],
body: Dhall::Variable["natural"]
)
)
)
),
"Natural/isZero" => Dhall::Forall.of_arguments(
Dhall::Variable["Natural"],
body: Dhall::Variable["Bool"]
),
"Natural/even" => Dhall::Forall.of_arguments(
Dhall::Variable["Natural"],
body: Dhall::Variable["Bool"]
),
"Natural/odd" => Dhall::Forall.of_arguments(
Dhall::Variable["Natural"],
body: Dhall::Variable["Bool"]
),
"Natural/toInteger" => Dhall::Forall.of_arguments(
Dhall::Variable["Natural"],
body: Dhall::Variable["Integer"]
),
"Natural/show" => Dhall::Forall.of_arguments(
Dhall::Variable["Natural"],
body: Dhall::Variable["Text"]
),
"Text/show" => Dhall::Forall.of_arguments(
Dhall::Variable["Text"],
body: Dhall::Variable["Text"]
),
"List/build" => Dhall::Forall.new(
var: "a",
type: Dhall::Variable["Type"],
body: Dhall::Forall.of_arguments(
Dhall::Forall.new(
var: "list",
type: Dhall::Variable["Type"],
body: Dhall::Forall.new(
var: "cons",
type: Dhall::Forall.of_arguments(
Dhall::Variable["a"],
Dhall::Variable["list"],
body: Dhall::Variable["list"]
),
body: Dhall::Forall.new(
var: "nil",
type: Dhall::Variable["list"],
body: Dhall::Variable["list"]
)
)
),
body: Dhall::Application.new(
function: Dhall::Variable["List"],
argument: Dhall::Variable["a"]
)
)
),
"List/fold" => Dhall::Forall.new(
var: "a",
type: Dhall::Variable["Type"],
body: Dhall::Forall.of_arguments(
Dhall::Application.new(
function: Dhall::Variable["List"],
argument: Dhall::Variable["a"]
),
body: Dhall::Forall.new(
var: "list",
type: Dhall::Variable["Type"],
body: Dhall::Forall.new(
var: "cons",
type: Dhall::Forall.of_arguments(
Dhall::Variable["a"],
Dhall::Variable["list"],
body: Dhall::Variable["list"]
),
body: Dhall::Forall.new(
var: "nil",
type: Dhall::Variable["list"],
body: Dhall::Variable["list"]
)
)
)
)
),
"List/length" => Dhall::Forall.new(
var: "a",
type: Dhall::Variable["Type"],
body: Dhall::Forall.of_arguments(
Dhall::Application.new(
function: Dhall::Variable["List"],
argument: Dhall::Variable["a"]
),
body: Dhall::Variable["Natural"]
)
),
"List/head" => Dhall::Forall.new(
var: "a",
type: Dhall::Variable["Type"],
body: Dhall::Forall.of_arguments(
Dhall::Application.new(
function: Dhall::Variable["List"],
argument: Dhall::Variable["a"]
),
body: Dhall::Application.new(
function: Dhall::Variable["Optional"],
argument: Dhall::Variable["a"]
)
)
),
"List/last" => Dhall::Forall.new(
var: "a",
type: Dhall::Variable["Type"],
body: Dhall::Forall.of_arguments(
Dhall::Application.new(
function: Dhall::Variable["List"],
argument: Dhall::Variable["a"]
),
body: Dhall::Application.new(
function: Dhall::Variable["Optional"],
argument: Dhall::Variable["a"]
)
)
),
"List/indexed" => Dhall::Forall.new(
var: "a",
type: Dhall::Variable["Type"],
body: Dhall::Forall.of_arguments(
Dhall::Application.new(
function: Dhall::Variable["List"],
argument: Dhall::Variable["a"]
),
body: Dhall::Application.new(
function: Dhall::Variable["List"],
argument: Dhall::RecordType.new(
record: {
"index" => Dhall::Variable["Natural"],
"value" => Dhall::Variable["a"]
}
)
)
)
),
"List/reverse" => Dhall::Forall.new(
var: "a",
type: Dhall::Variable["Type"],
body: Dhall::Forall.of_arguments(
Dhall::Application.new(
function: Dhall::Variable["List"],
argument: Dhall::Variable["a"]
),
body: Dhall::Application.new(
function: Dhall::Variable["List"],
argument: Dhall::Variable["a"]
)
)
),
"Optional/fold" => Dhall::Forall.new(
var: "a",
type: Dhall::Variable["Type"],
body: Dhall::Forall.of_arguments(
Dhall::Application.new(
function: Dhall::Variable["Optional"],
argument: Dhall::Variable["a"]
),
body: Dhall::Forall.new(
var: "optional",
type: Dhall::Variable["Type"],
body: Dhall::Forall.new(
var: "just",
type: Dhall::Forall.of_arguments(
Dhall::Variable["a"],
body: Dhall::Variable["optional"]
),
body: Dhall::Forall.new(
var: "nothing",
type: Dhall::Variable["optional"],
body: Dhall::Variable["optional"]
)
)
)
)
),
"Optional/build" => Dhall::Forall.new(
var: "a",
type: Dhall::Variable["Type"],
body: Dhall::Forall.of_arguments(
Dhall::Forall.new(
var: "optional",
type: Dhall::Variable["Type"],
body: Dhall::Forall.new(
var: "just",
type: Dhall::Forall.of_arguments(
Dhall::Variable["a"],
body: Dhall::Variable["optional"]
),
body: Dhall::Forall.new(
var: "nothing",
type: Dhall::Variable["optional"],
body: Dhall::Variable["optional"]
)
)
),
body: Dhall::Application.new(
function: Dhall::Variable["Optional"],
argument: Dhall::Variable["a"]
)
)
),
"Integer/show" => Dhall::Forall.of_arguments(
Dhall::Variable["Integer"],
body: Dhall::Variable["Text"]
),
"Integer/toDouble" => Dhall::Forall.of_arguments(
Dhall::Variable["Integer"],
body: Dhall::Variable["Double"]
),
"Double/show" => Dhall::Forall.of_arguments(
Dhall::Variable["Double"],
body: Dhall::Variable["Text"]
)
}.freeze