summaryrefslogtreecommitdiff
path: root/src/Example.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Example.hs')
-rw-r--r--src/Example.hs15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/Example.hs b/src/Example.hs
index 572d67e..86264e1 100644
--- a/src/Example.hs
+++ b/src/Example.hs
@@ -107,3 +107,18 @@ ex5 =
(bin (OMul STF32) (EVar ext (STScal STF32) IZ)
(bin (OAdd STF32) (EVar ext (STScal STF32) (IS IZ))
(EConst ext STF32 1.0)))
+
+senv6 :: SList STy [TScal TI64, TScal TF32]
+senv6 = STScal STI64 `SCons` STScal STF32 `SCons` SNil
+
+descr6 :: Descr [TScal TI64, TScal TF32] ["merge", "merge"]
+descr6 = DTop `DPush` (STScal STF32, SMerge) `DPush` (STScal STI64, SMerge)
+
+ex6 :: Ex [TScal TI64, TScal TF32] (TScal TF32)
+ex6 =
+ ELet ext (EUnit ext (EVar ext (STScal STF32) (IS IZ))) $
+ ELet ext (EBuild1 ext (EVar ext tIx (IS IZ)) $
+ ELet ext (EIdx0 ext (EVar ext (STArr SZ (STScal STF32)) (IS IZ))) $
+ bin (OMul STF32) (EVar ext (STScal STF32) IZ)
+ (EVar ext (STScal STF32) IZ)) $
+ (EIdx0 ext (EIdx1 ext (EVar ext (STArr (SS SZ) (STScal STF32)) IZ) (EConst ext STI64 3)))