blob: a26a60281c644086b29da7b0fa7ff461fc36bab3 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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)
|