diff options
Diffstat (limited to 'testsuite/tests/array/should_run/arr002.hs')
-rw-r--r-- | testsuite/tests/array/should_run/arr002.hs | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/testsuite/tests/array/should_run/arr002.hs b/testsuite/tests/array/should_run/arr002.hs new file mode 100644 index 0000000000..a26a60281c --- /dev/null +++ b/testsuite/tests/array/should_run/arr002.hs @@ -0,0 +1,23 @@ +-- !!! Array creation, (index,value) list with duplicates. +-- +-- Haskell library report 1.3 (and earlier) specifies +-- that `array' values created with lists containing dups, +-- are undefined ( _|_ ). +-- +-- GHC-2.02 (and earlier) does not flag this as such, the +-- last (index,value) is instead used. +-- +-- The report also specifies `array' is spine strict in +-- the (index,value) list argument and to check the +-- validity of the index values upon creation, it also +-- strict for the indices. To test this, we do (a!1) +-- twice, expecting to see the same value.. +-- +import Data.Array + +main = + let a1 = array (1,3) (zip (1:[1..3]) ['a'..'d']) in + print (a1!1) >> + print a1 >> + print (a1!1) + |