X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=gen.icl;h=819da198aa1e3a7c7708dc178870eb88178399ce;hb=2e6ed5e7922ece250543a2d0a0a0adec1c3d4942;hp=269ef14232a08d344bf70f5f22082cd6ef37d4fd;hpb=c922c4eb59493bbc73add331a348230978d0d036;p=cc1516.git diff --git a/gen.icl b/gen.icl index 269ef14..819da19 100644 --- a/gen.icl +++ b/gen.icl @@ -45,10 +45,10 @@ FALSE :== 0 labelStream :: [Label] labelStream = ["lbl_" +++ toString i\\i<-[1..]] -gen :: AST -> String +gen :: AST -> Either String String gen (AST fds) = case evalRWST prog "" ('Map'.newMap, labelStream) of - Left (Error e) = e - Right (_, p) = toString p + Left (Error e) = Left e + Right (_, p) = Right $ toString p where prog = tell [Instr "bra" [L "main"] ""] >>| mapM_ g fds //gen _ = prog