GHCiで型を定義できないのはなぜですか?
Prelude> data MyBool = T | F
<interactive>:1:0: parse error on input `data'
GHCi は非常に単純な REPL であり、式を読み込んで結果を (通常は) 出力し、インタラクティブdo
な式と考えることができます。一般的な Haskell コンストラクトを許可する際の問題は、(a) それらを既にロードされているプログラムにマージする方法、(b) リロードまたは REPL の状態をリセットするその他のアクションでそれらをどうするかです。さらに、定義が既に定義されているものと競合する場合にどうするかについての質問があります。そして、現在の実装は単なる式評価器であるという単純な事実がありますが、新しいコードのコンパイルはかなり複雑です。