有谁知道 Haskell 中是否有这样的功能:
"Int" -> Int
"String" -> String
"Bool" -> Bool
IE。它采用类型构造函数名称的字符串表示,并将其转换为实际的类型构造函数,无论是在表达式中还是在模式中。
编辑:我的总体目标是简化以下内容:
transExp (Add exp1 exp2) vars
= transExp exp1 vars ++ transExp exp2 vars ++ [IAdd]
transExp (Sub exp1 exp2) vars
= transExp exp1 vars ++ transExp exp2 vars ++ [ISub]
变成单个模式匹配,所以基本上将 Add 或 Sub 转换为字符串,在前面添加“I”,然后将其转换回类型。