From c7611977ffb52dfc3faabfb1d1e381e065c8e633 Mon Sep 17 00:00:00 2001 From: "simonpj@microsoft.com" <unknown> Date: Fri, 12 Nov 2010 22:39:13 +0000 Subject: [PATCH] Add LANGUAGE BangPatterns To do this we need to define (!) prefix, thus (!) arr i = .... rather than infix --- Data/Array/Base.hs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Data/Array/Base.hs b/Data/Array/Base.hs index 310b2531..02707cf8 100644 --- a/Data/Array/Base.hs +++ b/Data/Array/Base.hs @@ -1,4 +1,4 @@ -{-# OPTIONS_GHC -XNoBangPatterns -fno-warn-unused-imports #-} +{-# OPTIONS_GHC -XBangPatterns -fno-warn-unused-imports #-} {-# OPTIONS_HADDOCK hide #-} -- XXX With a GHC 6.9 we get a spurious -- Data/Array/Base.hs:26:0: @@ -295,7 +295,7 @@ type ListUArray e = forall i . Ix i => (i,i) -> [e] -> UArray i e {-# INLINE (!) #-} -- | Returns the element of an immutable array at the specified index. (!) :: (IArray a e, Ix i) => a i e -> i -> e -arr ! i = case bounds arr of +(!) arr i = case bounds arr of (l,u) -> unsafeAt arr $ safeIndex (l,u) (numElements arr) i {-# INLINE indices #-} -- GitLab