From ffa91484573a2c2be3f6ae2190c768e7a77e8b5c Mon Sep 17 00:00:00 2001 From: Tom Smeding Date: Wed, 3 Apr 2024 15:06:52 +0200 Subject: Simple usage example --- test/Main.hs | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 test/Main.hs (limited to 'test/Main.hs') 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 -- cgit v1.2.3-70-g09d2