Haskellに次のような関数があるかどうか誰かが知っていますか?
"Int" -> Int
"String" -> String
"Bool" -> Bool
すなわち。型コンストラクター名の文字列表現を受け取り、式とパターンの両方で実際の型コンストラクターに変換します。
編集:私の全体的な目標は、次のようなものを単純化することです。
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」を追加してから、タイプに変換し直します。