From 5f86130930c19277fbf0ef3433cc43ab93aacf3f Mon Sep 17 00:00:00 2001 From: tomsmeding Date: Tue, 26 Nov 2019 13:46:29 +0100 Subject: declare defines for top-level mutual recursion --- AST.hs | 2 ++ 1 file changed, 2 insertions(+) (limited to 'AST.hs') diff --git a/AST.hs b/AST.hs index 5fd2518..2953227 100644 --- a/AST.hs +++ b/AST.hs @@ -13,6 +13,7 @@ data Value | VString String | VName Name | VQuoted Value + | VDeclare Name | VDefine Name Value | VLambda [Name] Value | VLambdaRec Name [Name] Value @@ -31,6 +32,7 @@ instance Show Value where show (VString s) = show s show (VName n) = n show (VQuoted e) = '\'' : show e + show (VDeclare n) = "(declare " ++ n ++ ")" show (VDefine n v) = "(define " ++ n ++ " " ++ show v ++ ")" show (VLambda as v) = "(lambda (" ++ intercalate " " as ++ ") " ++ show v ++ ")" show (VLambdaRec rn as v) = "(lambdarec " ++ rn ++ " (" ++ intercalate " " as ++ ") " ++ show v ++ ")" -- cgit v1.2.3-70-g09d2