@@ -361,11 +361,12 @@ translateCase :: String -> String -> SAlt -> String
361translateCase modname _ (SDefaultCase e) =
361translateCase modname _ (SDefaultCase e) =
362 createIfBlock "true" (translateExpression modname e)
362 createIfBlock "true" (translateExpression modname e)
364−translateCase modname var (SConstCase ChType e) =
364+translateCase modname var (SConstCase ty e)
365− translateTypeMatch modname var "Char" e
365+ | ChType <- ty = translateTypeMatch modname var "Char" e
367−translateCase modname var (SConstCase StrType e) =
368− translateTypeMatch modname var "String" e
366+ | StrType <- ty = translateTypeMatch modname var "String" e
367+ | IType <- ty = translateTypeMatch modname var "Int" e
369+ matchHelper tyName = translateTypeMatch modname var tyName e
370translateCase modname var (SConstCase cst e) =
371translateCase modname var (SConstCase cst e) =
371 let cond = var ++ " == " ++ translateConstant cst in
372 let cond = var ++ " == " ++ translateConstant cst in