[Haskell-beginners] Strange behavior

Luca Ciciriello luca_ciciriello at hotmail.com
Thu Aug 25 19:06:08 CEST 2011


I found a strange behavior in my code 
 
Here a (very) simplified version of my code:

{-# LANGUAGE PArr #-}
{-# OPTIONS -fdph-seq #-}

module Main where

import Control.Parallel
import GHC.PArr

parArr :: [:String:]
parArr = [: "1", "2", "3", "4" :]

isElement :: String -> Bool
isElement x = x `elemP` parArr

main :: IO ()
main = do
          putStrLn $ (show . isElement) "5"

The aspected result is "False" ("5" isn't a member of parArr), but the result I get is "True".

I've compiled this code with the command:
ghc --make -Odph -threaded Test.hs -rtsopts -o test

and launched with:
test +RTS -N2

My system is MacOS X 10.7.1 with Xcode 4.1 and GHC 7.0.4 (I've found the same behavior on Windows).

Its obvious I'm missing something. Could someone help me?

Thanks.

Luca.


More information about the Beginners mailing list