14

この場合、なぜ: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番目のケースではそうではないという事実と関係がありますか? 内部で何が起こっているのか知りたいです。

4

1 に答える 1