diff --git a/accelerate-arithmetic.cabal b/accelerate-arithmetic.cabal
--- a/accelerate-arithmetic.cabal
+++ b/accelerate-arithmetic.cabal
@@ -1,5 +1,5 @@
 Name:             accelerate-arithmetic
-Version:          0.1
+Version:          1.0.0.1
 License:          BSD3
 License-File:     LICENSE
 Author:           Henning Thielemann <haskell@henning-thielemann.de>
@@ -13,11 +13,11 @@
   but it does not contain processor optimizations
   or optimizations for CUDA.
 Tested-With:      GHC==7.8.2
-Cabal-Version:    >=1.14
+Cabal-Version:    1.14
 Build-Type:       Simple
 
 Source-Repository this
-  Tag:         0.1
+  Tag:         1.0.0.1
   Type:        darcs
   Location:    http://hub.darcs.net/thielema/accelerate-arithmetic/
 
@@ -27,11 +27,11 @@
 
 Library
   Build-Depends:
-    accelerate-utility >=0.1 && <0.2,
-    accelerate >=0.15 && <0.16,
+    accelerate-utility >=1.0 && <1.1,
+    accelerate >=1.0 && <1.2,
     utility-ht >=0.0.8 && <0.1,
     QuickCheck >=2.4 && <3,
-    base >=4.5 && <4.10
+    base >=4.5 && <5
 
   GHC-Options:      -Wall -fwarn-missing-import-lists
   Hs-Source-Dirs:   src, private
diff --git a/private/Data/Array/Accelerate/LinearAlgebra/Private.hs b/private/Data/Array/Accelerate/LinearAlgebra/Private.hs
--- a/private/Data/Array/Accelerate/LinearAlgebra/Private.hs
+++ b/private/Data/Array/Accelerate/LinearAlgebra/Private.hs
@@ -63,7 +63,7 @@
 
 
 outer ::
-   (A.Shape ix, A.Slice ix, A.IsNum a, A.Elt a) =>
+   (A.Shape ix, A.Slice ix, A.Num a) =>
    Vector ix a -> Vector ix a -> Matrix ix a
 outer x y =
    A.zipWith (*)
@@ -71,7 +71,7 @@
       (A.replicate (A.lift $ Any :. numElems x :. All) y)
 
 multiplyMatrixVector ::
-   (A.Shape ix, A.Slice ix, A.IsNum a, A.Elt a) =>
+   (A.Shape ix, A.Slice ix, A.Num a) =>
    Matrix ix a ->
    Vector ix a ->
    Vector ix a
@@ -83,7 +83,7 @@
             (A.replicate (A.lift $ Any :. rows :. All) v)
 
 multiplyMatrixMatrix ::
-   (A.Shape ix, A.Slice ix, A.IsNum a, A.Elt a) =>
+   (A.Shape ix, A.Slice ix, A.Num a) =>
    Matrix ix a ->
    Matrix ix a ->
    Matrix ix a
@@ -96,7 +96,7 @@
             (A.replicate (A.lift $ Any :. rows :. All :. All) y)
 
 newtonInverseStep ::
-   (A.Shape ix, A.Slice ix, A.IsNum a, A.Elt a) =>
+   (A.Shape ix, A.Slice ix, A.Num a) =>
    Matrix ix a ->
    Matrix ix a ->
    Matrix ix a
@@ -105,15 +105,15 @@
    multiplyMatrixMatrix x $ multiplyMatrixMatrix a x
 
 identity ::
-   (A.Shape ix, A.Slice ix, A.IsNum a, A.Elt a) =>
+   (A.Shape ix, A.Slice ix, A.Elt a, A.FromIntegral Int a) =>
    Exp (ix :. Int :. Int) -> Matrix ix a
 identity sh =
    A.generate sh
       (withMatrixIndex $
-       \(_ :. r :. c) -> A.fromIntegral $ A.boolToInt (r A.==* c))
+       \(_ :. r :. c) -> A.fromIntegral $ A.boolToInt (r A.== c))
 
 newtonInverse ::
-   (A.Shape ix, A.Slice ix, A.IsNum a, A.Elt a) =>
+   (A.Shape ix, A.Slice ix, A.Num a) =>
    Exp Int ->
    Matrix ix a ->
    Matrix ix a ->
@@ -124,7 +124,7 @@
 
 
 scaleRows ::
-   (A.Slice ix, A.Shape ix, A.Elt a, A.IsNum a) =>
+   (A.Slice ix, A.Shape ix, A.Num a) =>
    Vector ix a -> Matrix ix a -> Matrix ix a
 scaleRows s x =
    zipScalarVectorWith (*) s x
diff --git a/src/Data/Array/Accelerate/Arithmetic/Interpolation.hs b/src/Data/Array/Accelerate/Arithmetic/Interpolation.hs
--- a/src/Data/Array/Accelerate/Arithmetic/Interpolation.hs
+++ b/src/Data/Array/Accelerate/Arithmetic/Interpolation.hs
@@ -19,7 +19,7 @@
 
 
 bisect ::
-   (A.Slice ix, A.Shape ix, A.IsScalar a, A.Elt a) =>
+   (A.Slice ix, A.Shape ix, A.Ord a, A.Elt a) =>
    Vector ix a ->
    Scalar ix a ->
    Scalar ix (Int, Int) ->
@@ -35,11 +35,11 @@
                  (Exp.mapSnd (const center) interval)
                  (Exp.mapFst (const center) interval))
           centers bounds $
-       A.zipWith (A.<*) xs $
+       A.zipWith (A.<) xs $
        Arrange.gather (Arrange.mapWithIndex Exp.indexCons centers) nodes
 
 lookupInterval ::
-   (A.Slice ix, A.Shape ix, A.IsScalar a, A.Elt a) =>
+   (A.Slice ix, A.Shape ix, A.Ord a, A.Elt a) =>
    Vector ix a ->
    Scalar ix a ->
    Scalar ix Int
@@ -66,7 +66,7 @@
 type Interpolator13 a = (a,a) -> (a,a) -> (a,a) -> (a,a) -> a -> a
 
 sampleBasisFunctions13 ::
-   (A.Slice ix, A.Shape ix, A.Elt a, A.IsFloating a, Num a) =>
+   (A.Slice ix, A.Shape ix, A.Ord a, Num a) =>
    Interpolator13 (Exp a) ->
    Vector Z a -> Vector ix a -> Sparse.Rows ix a
 sampleBasisFunctions13 interpolate nodes zs =
@@ -83,8 +83,8 @@
               case (Exp.unliftQuadruple x, Exp.unliftQuadruple y) of
                  ((xm1,x0,x1,x2), (ym1,y0,y1,y2)) ->
                     (ln+k :: Exp Int,
-                     A.cond (n A.<* minIx) y0 $
-                     A.cond (n A.>* maxIx) y1 $
+                     A.cond (n A.< minIx) y0 $
+                     A.cond (n A.> maxIx) y1 $
                      interpolate (xm1,ym1) (x0,y0) (x1,y1) (x2,y2) z))
           (A.zip4 indices limitIndices zs
              (A.zip4
diff --git a/src/Data/Array/Accelerate/LinearAlgebra/Matrix/Banded.hs b/src/Data/Array/Accelerate/LinearAlgebra/Matrix/Banded.hs
--- a/src/Data/Array/Accelerate/LinearAlgebra/Matrix/Banded.hs
+++ b/src/Data/Array/Accelerate/LinearAlgebra/Matrix/Banded.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE FlexibleContexts #-}
 module Data.Array.Accelerate.LinearAlgebra.Matrix.Banded (
    Symmetric(..),
    flattenSymmetric,
@@ -8,13 +9,13 @@
 import qualified Data.Array.Accelerate.Utility.Lift.Exp as Exp
 import qualified Data.Array.Accelerate as A
 import Data.Array.Accelerate.Utility.Lift.Exp (expr)
-import Data.Array.Accelerate ((:.)((:.)), (>*), (!), (?))
+import Data.Array.Accelerate ((:.)((:.)), (!), (?))
 
 
 newtype Symmetric ix a = Symmetric (Matrix ix a)
 
 flattenSymmetric ::
-   (A.Slice ix, A.Shape ix, A.Elt a, A.IsNum a) =>
+   (A.Slice ix, A.Shape ix, A.Num a) =>
    Symmetric ix a -> Matrix ix a
 flattenSymmetric (Symmetric m) =
    case matrixShape m of
@@ -23,4 +24,4 @@
          Exp.modify (expr:.expr:.expr) $ \(ix:.k0:.j0) ->
             let k = min k0 j0
                 j = max k0 j0 - k
-            in  width >* j ? (m ! A.lift(ix:.k:.j), 0)
+            in  width A.> j ? (m ! A.lift(ix:.k:.j), 0)
diff --git a/src/Data/Array/Accelerate/LinearAlgebra/Matrix/Sparse.hs b/src/Data/Array/Accelerate/LinearAlgebra/Matrix/Sparse.hs
--- a/src/Data/Array/Accelerate/LinearAlgebra/Matrix/Sparse.hs
+++ b/src/Data/Array/Accelerate/LinearAlgebra/Matrix/Sparse.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE TypeOperators #-}
+{-# LANGUAGE FlexibleContexts #-}
 module Data.Array.Accelerate.LinearAlgebra.Matrix.Sparse (
    Columns(..),
    multiplyColumnsVector,
@@ -18,10 +19,8 @@
 import qualified Data.Array.Accelerate as A
 import Data.Array.Accelerate.Utility.Lift.Exp (expr, )
 
-import Data.Array.Accelerate.LinearAlgebra
-          (Matrix, Vector, matrixShape, )
-import Data.Array.Accelerate
-          (Exp, Any(Any), All(All), (:.)((:.)), (>*), (?), )
+import Data.Array.Accelerate.LinearAlgebra (Matrix, Vector, matrixShape, )
+import Data.Array.Accelerate (Exp, Any(Any), All(All), (:.)((:.)), (?), )
 
 
 {- |
@@ -40,7 +39,7 @@
       (A.map A.fst m)
 
 multiplyColumnsVector ::
-   (A.Shape ix, A.Slice ix, A.IsNum a, A.Elt a) =>
+   (A.Shape ix, A.Slice ix, A.Num a) =>
    Columns ix a ->
    Vector ix a ->
    Vector ix a
@@ -54,7 +53,7 @@
       (A.replicate (A.lift $ Any :. LinAlg.numRows m :. All) v)
 
 transposeColumns ::
-   (A.Shape ix, A.Slice ix, A.IsNum a, A.Elt a) =>
+   (A.Shape ix, A.Slice ix, A.Num a) =>
    Columns ix a ->
    Rows ix a
 transposeColumns (Columns n x) =
@@ -68,7 +67,7 @@
         Rows {numCols :: Exp Int, rowMatrix :: Matrix ix (Int, a)}
 
 multiplyRowsVector ::
-   (A.Shape ix, A.Slice ix, A.IsNum a, A.Elt a) =>
+   (A.Shape ix, A.Slice ix, A.Num a) =>
    Rows ix a ->
    Vector ix a ->
    Vector ix a
@@ -78,14 +77,14 @@
    Arrange.gather (realIndex m) v
 
 transposeRows ::
-   (A.Shape ix, A.Slice ix, A.IsNum a, A.Elt a) =>
+   (A.Shape ix, A.Slice ix, A.Num a) =>
    Rows ix a ->
    Columns ix a
 transposeRows (Rows n x) =
    (Columns n $ LinAlg.transpose x)
 
 multiplyColumnsRows ::
-   (A.Shape ix, A.Slice ix, A.IsNum a, A.Elt a) =>
+   (A.Shape ix, A.Slice ix, A.Num a) =>
    Columns ix a ->
    Rows ix a ->
    Matrix ix a
@@ -108,7 +107,7 @@
 So far, only correct for real matrices.
 -}
 realBandedGramian ::
-   (A.Shape ix, A.Slice ix, A.IsNum a, A.Elt a) =>
+   (A.Shape ix, A.Slice ix, A.Num a) =>
    Exp Int ->
    Rows ix a ->
    BandMatrix.Symmetric ix a
@@ -119,13 +118,13 @@
        Arrange.scatter (+)
           (Arrange.mapWithIndex
              (Exp.modify2 expr (expr,expr) $ \mix (k,j) ->
-                k>*j ? (A.ignore, A.lift $ global mix :. k :. j-k)) $
+                k A.> j ? (A.ignore, A.lift $ global mix :. k :. j-k)) $
            ixs)
           (A.fill (A.lift $ global (A.shape prods) :. cols :. width) 0)
           prods
 
 matchMatrices ::
-   (A.Shape ix, A.Slice ix, A.IsNum a, A.Elt a) =>
+   (A.Shape ix, A.Slice ix, A.Num a) =>
    Matrix ix (Int, a) ->
    Matrix ix (Int, a) ->
    Matrix (ix :. Int) ((Int, Int), a)
@@ -141,7 +140,7 @@
 
 
 scaleRowRows ::
-   (A.Slice ix, A.Shape ix, A.Elt a, A.IsNum a) =>
+   (A.Slice ix, A.Shape ix, A.Num a) =>
    Vector ix a -> Rows ix a -> Rows ix a
 scaleRowRows s (Rows n x) =
    Rows n $
