diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/Main.hs | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/test/Main.hs b/test/Main.hs new file mode 100644 index 0000000..156e0a5 --- /dev/null +++ b/test/Main.hs @@ -0,0 +1,21 @@ +{-# LANGUAGE DataKinds #-} +{-# LANGUAGE GADTs #-} +{-# LANGUAGE TypeApplications #-} +module Main where + +import Data.Array.Nested + + +arr :: Ranked N2 (Shaped [N2, N3] (Double, Int)) +arr = rgenerate (3 ::: 4 ::: IZR) $ \(i ::: j ::: IZR) -> + sgenerate @[N2, N3] (2 ::$ 3 ::$ IZS) $ \(k ::$ l ::$ IZS) -> + let s = i + j + k + l + in (fromIntegral s, s) + +foo :: (Double, Int) +foo = arr `rindex` (2 ::: 1 ::: IZR) `sindex` (1 ::$ 1 ::$ IZS) + +main :: IO () +main = do + print arr + print foo |