cps
This commit is contained in:
@@ -5,6 +5,7 @@ module Gyehoek.CPS.Convert
|
|||||||
import Gyehoek.CPS.Syntax
|
import Gyehoek.CPS.Syntax
|
||||||
import Gyehoek.Scheme.Syntax qualified as Scm
|
import Gyehoek.Scheme.Syntax qualified as Scm
|
||||||
import Gyehoek.GenSym
|
import Gyehoek.GenSym
|
||||||
|
import Data.List.NonEmpty (NonEmpty((:|)))
|
||||||
import Effectful
|
import Effectful
|
||||||
import Control.Monad.Cont qualified as Cont
|
import Control.Monad.Cont qualified as Cont
|
||||||
|
|
||||||
@@ -28,4 +29,9 @@ convert (Scm.ExpPrim p) k =
|
|||||||
r <- gensym' "r"
|
r <- gensym' "r"
|
||||||
ExpPrim p' [r] . pure <$> k (ValVar r)
|
ExpPrim p' [r] . pure <$> k (ValVar r)
|
||||||
|
|
||||||
convert _ _ = _
|
convert (Scm.ExpApply f xs) k =
|
||||||
|
telescope (convert @es) (f:|xs) \(f':|xs') -> do
|
||||||
|
_
|
||||||
|
_
|
||||||
|
|
||||||
|
convert _ k = _
|
||||||
|
|||||||
Reference in New Issue
Block a user