この場合、なぜ:sprint
報告するのか疑問に思っています。xs = _
Prelude> xs = map (+1) [1..10]
Prelude> length xs
10
Prelude> :sprint xs
xs = _
しかし、この場合ではありません:
Prelude> xs = map (+1) [1..10] :: [Int]
Prelude> length xs
10
Prelude> :sprint xs
xs = [_,_,_,_,_,_,_,_,_,_]
注: で実行ghci
してい-XNoMonomorphismRestriction
ます。xs
の型が最初のケースでは多形的であるが、2番目のケースではそうではないという事実と関係がありますか? 内部で何が起こっているのか知りたいです。