packages feed

cybus-0.1.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' @212

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)
-}