Re: strictness of interpreted haskell implementations

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Re: strictness of interpreted haskell implementations

Geraint Jones
Given a declaration

        data S = S { a :: Int, b :: ! Int }

I expect

        a (S { a = 0, b = undefined })

to force the undefined in the b field of the S (and ghci agrees with me).
However:-

  __   __ __  __  ____   ___      _________________________________________
  ||   || ||  || ||  || ||__      Hugs 98: Based on the Haskell 98 standard
  ||___|| ||__|| ||__||  __||     Copyright (c) 1994-2005
  ||---||         ___||           World Wide Web: http://haskell.org/hugs
  ||   ||                         Bugs: http://hackage.haskell.org/trac/hugs
  ||   || Version: September 2006 _________________________________________
 
  Haskell 98 mode: Restart with command line option -98 to enable extensions
 
  Type :? for help
  Main> a (S { a = 0, b = 1 })
  0
  Main> a (S { a = 0, b = undefined })
  0
  Main>

Is this a known feature?
_______________________________________________
Hugs-Bugs mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/hugs-bugs