(* Like from before... *)
con allInts =
fold (fn r :: {Type} => {Type})
(fn tname :: NameOpt => fn name :: FieldName =>
fn t :: Type =>
fn tail :: {Type} =>
fn acc :: {Type} =>
[[name : integer]] ++ acc)
(Empty(Type))
(* Generate the application *)
val metaform = fn fields :: {Type} =>
let
val rec main = fn () =>
Integer Inventory
Integer inventory
Please enter a value for each of the firm's mission-critical integers.
)
[fields]}
and handler = fn inputs : $(allInts fields) =>
Integer Inventory results
Integer inventory results
{fold con (fn r :: {Type} => ($(allInts r) -> bodyTags))
(fn tname :: NameOpt => fn name :: FieldName =>
fn t :: Type =>
fn tail :: {Type} =>
fn acc : ($(allInts tail) -> bodyTags) =>
fn r : $([[name : integer]] ++ allInts tail) =>
{acc r}
)
(fn r : $(Empty(Type)) => )
[fields] inputs}
Try again?
in
main
end