remove zero-argument functions / applications in generated code

This commit is contained in:
2024-09-07 11:41:16 -07:00
parent 796d93d7d9
commit 06f7ba0984
3 changed files with 7 additions and 1 deletions

View File

@@ -187,6 +187,7 @@ mkArgs Z acc = acc
mkArgs (S k) acc = mkArgs k ("h\{show k}" :: acc)
dcon : String -> Nat -> Doc
dcon nm Z = stmtToDoc $ JConst nm $ LitObject [("tag", LitString nm)]
dcon nm arity =
let args := mkArgs arity []
obj := ("tag", LitString nm) :: map (\x => (x, Var x)) args