Claus Reinke wrote:
   f x y z | x<y       = z
       | otherwise = z*y

---------------------
$ /cygdrive/d/fptools/ghc/ghc/stage2-inplace/ghc.exe --interactive Debug.hs -ignore-dot-ghci
GHCi, version 6.11.20081122: http://www.haskell.org/ghc/  :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer ... linking ... done.
Loading package base ... linking ... done.
Loading package ffi-1.0 ... linking ... done.
[1 of 1] Compiling Main             ( Debug.hs, interpreted )
Ok, modules loaded: Main.
*Main> :break f
Breakpoint 0 activated at Debug.hs:(1,0)-(2,24)
*Main> f 3 2 1
Stopped at Debug.hs:(1,0)-(2,24)
_result :: a = _
[Debug.hs:(1,0)-(2,24)] *Main> :list
  vv
1  f x y z | x<y       = z
2          | otherwise = z*y
                           ^^
3
[Debug.hs:(1,0)-(2,24)] *Main> :step
Stopped at Debug.hs:1:10-12
_result :: a = _
[Debug.hs:1:10-12] *Main> :list
1  f x y z | x<y       = z
            ^^^
2          | otherwise = z*y
[Debug.hs:1:10-12] *Main>

Looks like a bug to me, At this location the x a y should be
 observable and cought in trace history.
It actually looks very similar to bug I reported here:
http://hackage.haskell.org/trac/ghc/ticket/2740

Notice that if you write your function like this (as I mostly do):

f x y z =
  if x<y then z else z*y

then x and y are observable when "if x<y then z else z*y" is selected
 but not when "x<z" is selected!


I see that you use windows, I did in past to but switches to linus
 since there were too much problems on windows with ghc, expecially
 libraries. Anyway here are some tips you might like:
* you can avoid /cygdrive prefix in cygwin if you set cygdrive-prefix
 to /; see man mount and search for -c option
* you can get nicer selection of expression if you set TERM=linux and
  launch ghci as ansicon ghc --interarctive
* you can get ansicon from
    http://www.geocities.com/jadoxa/ansicon/index.html
  and a patch for it here:
    http://www.hck.sk/users/peter/pub/

Peter.

_______________________________________________
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

Reply via email to