28 lines
410 B
Haskell
28 lines
410 B
Haskell
{-# LANGUAGE BlockArguments #-}
|
|
module Main
|
|
(main)
|
|
where
|
|
|
|
import Data.Text (Text)
|
|
import Effectful
|
|
import Gyehoek.QBE
|
|
import Data.List (List)
|
|
|
|
|
|
type Name = Text
|
|
|
|
data Expr
|
|
= Var Name
|
|
| App Expr (List Expr)
|
|
| Lam Name Expr
|
|
| Progn (List Expr)
|
|
| UsePrim Prim
|
|
deriving (Show)
|
|
|
|
data Prim = PrimAdd | PrimSub | PrimMul | PrimDiv
|
|
deriving (Show)
|
|
|
|
main :: IO ()
|
|
main = putStrLn "Hello, Haskell!"
|
|
|