{-#LANGUAGE TypeOperators, MultiParamTypeClasses, FlexibleInstances, FlexibleContexts, OverlappingInstances, ScopedTypeVariables #-}

-----------------------------------------------------------------------------
--
-- Module      :  Main
-- Copyright   :
-- License     :  AllRightsReserved
--
-- Maintainer  :
-- Stability   :
-- Portability :
--
-- |
--
-----------------------------------------------------------------------------

module Main where

import Base.Expr
import Base.Eval
import Base.Inject
import Base.Mult

x :: Expr (Val :+: Add :+: Mult)
x = (val 2000 `mult` val 399) `plus` (val 3)

main = print (eval x)



