packages feed

cybus-0.2.0.0: app/Main.hs

{-# LANGUAGE DataKinds #-}
{-# LANGUAGE TypeOperators #-}
{-# LANGUAGE TypeApplications #-}

module Main where
--import Data.List.NonEmpty (NonEmpty(..))
--import qualified Data.List.NonEmpty as N
import Cybus

main :: IO ()
main = putStr $ show $ mm @(NN 234)

tst1 :: Mat '[4,5,3] Int
tst1 = gen id

tst2 :: Mat '[4] (Mat '[5,3] Int)
tst2 = toVec (gen @'[4,5,3] id)

tst3 :: Mat (n ': n1 ': ns) a -> Mat '[n] (Mat (n1 ': ns) a)
tst3 = toVec

tst4 :: Mat2 4 7 Int
tst4 = mat2 @4 @3 [1..] `multMat` mat2 @3 @7 [1..]
{-
>tst3 (mm @234)
Mat@[2]
[Mat@[3,4]
  [
     [1,2,3,4],
     [5,6,7,8],
     [9,10,11,12]
  ]
,Mat@[3,4]
  [
     [13,14,15,16],
     [17,18,19,20],
     [21,22,23,24]
  ]
]

it :: Mat '[2] (Mat '[3,4] Int)
-}