This commit is contained in:
2026-04-29 20:05:53 -06:00
parent 0ab53a25a7
commit 7495957f1b
6 changed files with 262 additions and 67 deletions

View File

@@ -1,17 +1,12 @@
{-# LANGUAGE RequiredTypeArguments #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE BlockArguments #-}
module Main
(main)
where
import Language.QBE
import Data.Text qualified as T
import Data.Text (Text)
import Effectful.State.Static.Local
import Effectful
import Gyehoek.QBE
import Data.List (List)
import Data.Proxy (Proxy (Proxy))
import GHC.TypeLits
type Name = Text
@@ -27,24 +22,6 @@ data Expr
data Prim = PrimAdd | PrimSub | PrimMul | PrimDiv
deriving (Show)
type Unique = State Int
type family SigilChar (s :: Sigil) :: Char where
SigilChar AggregateTy = ':'
SigilChar Global = '$'
SigilChar Temporary = '%'
SigilChar Label = '@'
hmm :: forall (s :: Sigil). Proxy s -> Proxy (SigilChar s)
hmm Proxy = Proxy
sigilChar :: forall (s :: Sigil). Proxy s -> Char
-- sigilChar x = charVal (hmm x)
sigilChar x = _
unique :: forall s es. (Unique :> es) => Eff es (Ident s)
unique = _
main :: IO ()
main = putStrLn "Hello, Haskell!"