nie jestem w stanie wyjaśnić następujące zachowanie:Expression Ocena W Haskell: Mocowanie typu sub-wyrażenia powoduje wyrażenie rodzic być oceniane w różnym stopniu
Prelude> let x = 1 + 2
Prelude> let y = (x,x)
Prelude> :sprint y
Prelude> y = _
Teraz kiedy określić typ dla X :
Prelude> let x = 1 + 2 ::Int
Prelude> let y = (x,x)
Prelude> :sprint y
Prelude> y = (_,_)
Dlaczego specyfikacja typu x wymusza na swoim numerze weak head normal form (WHNF)?
Przypadkowo odkryłem to zachowanie podczas czytania Simon Marlow's Parallel and Concurrent Programming In Haskell.
Zobacz także [sprint dla wartości polimorficznych] (http://stackoverflow.com/q/21518584/791604), choć uważam, że zastanawiające jest to, że konstruktor 'y' jest widoczny tutaj nawet w przypadku monomorficznym, więc może to nie jest duplikat. –