This commit is contained in:
2026-07-05 15:14:17 -06:00
parent 817b7530c1
commit a2c93938ca
5 changed files with 355 additions and 6 deletions
+25
View File
@@ -0,0 +1,25 @@
{-# LANGUAGE OverloadedLists #-}
module Gyehoek.CPS.Lower
( lower
) where
import Gyehoek.CPS.Syntax
import Gyehoek.Scheme.Syntax qualified as Scm
import Gyehoek.GenSym
import Data.List.NonEmpty (NonEmpty((:|)))
import Effectful
import Control.Monad.Cont qualified as Cont
import Effectful.Writer.Static.Local
import Data.Text (Text)
import Data.Vector.Strict (Vector)
import Control.Lens
import Data.Foldable
type Emit = Writer (Vector Text)
runEmit :: Eff (Emit : es) a -> Eff es (a, Text)
runEmit = (mapped . _2 %~ fold) . runWriter
lower :: Exp -> Eff _ _
lower = _