+6
-4
@@ -10,6 +10,7 @@
|
||||
{-# LANGUAGE OverloadedLists #-}
|
||||
{-# LANGUAGE ImpredicativeTypes #-}
|
||||
{-# LANGUAGE DerivingVia #-}
|
||||
{-# LANGUAGE TemplateHaskellQuotes #-}
|
||||
module Gyehoek.Wasm
|
||||
(
|
||||
-- * syntax
|
||||
@@ -20,8 +21,6 @@ module Gyehoek.Wasm
|
||||
, expr
|
||||
, Gyehoek.Sexp.sx
|
||||
, Gyehoek.Sexp.sxs
|
||||
, Gyehoek.Sexp.sx'
|
||||
, Gyehoek.Sexp.sxs'
|
||||
-- * GenMod effect
|
||||
, GenMod
|
||||
, runGenMod
|
||||
@@ -176,10 +175,13 @@ instance SexpIso Idx where
|
||||
instance SexpIso Instr where
|
||||
sexpIso = with id
|
||||
|
||||
instance Gyehoek.Sexp.SpliceSexp Expr where
|
||||
spliceSexp = toListOf $ #inner . each . #inner
|
||||
|
||||
|
||||
-- quasiquoters
|
||||
|
||||
expr :: QuasiQuoter
|
||||
expr = Gyehoek.Sexp.makeSxs
|
||||
(MkExpr . V.fromList . (each . #inner %~ Gyehoek.Sexp.stripLocation))
|
||||
(sexpIso @Instr)
|
||||
[||MkExpr . V.fromList . (each . #inner %~ Gyehoek.Sexp.stripLocation)
|
||||
. fmap (Gyehoek.Sexp.fromSexp @Instr) ||]
|
||||
|
||||
Reference in New Issue
Block a user