Plan 9 from Bell Labs’s /usr/web/sources/contrib/fernan/nhc98/src/prelude/Array/Replace.hs

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


module Array where

import Ix
import DArray
import LowVector
import _E
import NHC.Internal (unsafePerformIO)

infixl 9  //

(//)                  :: (Ix a) => Array a b -> [(a,b)] -> Array a b
(MkArray b v) // us   =	unsafePerformIO (do
			  v' <- primCopyVectorC v
			  mapM_ (\(ix,elt)-> primUpdateVectorC (index b ix)
                                                               (_E elt)
                                                               v')
                                us
			  return (MkArray b v')
			)

Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to [email protected].