一つの型変数 = なんかの型
を考えたときに、「左辺の型変数」が右辺に含まれていないかどうか、を判定する CVar 1 == (CInt -> (CVar 1 -> CBool))
一つの型変数 == なんかの型
という等式を考えている CVar 1
は型変数 CVar 1
は存在しない 左辺 -> 右辺 -> 結果
hsoccur :: Int -> Type -> TI Bool
Int
になっているのは TVar
のidを Int
にしているから TVar ここ