packages feed

rest-rewrite-0.2.0: test/Group.hs

{-# LANGUAGE OverloadedStrings #-}

module Group where

import DSL
import Language.REST.Internal.Rewrite (Rewrite)
import Language.REST.Op
import Language.REST.MetaTerm

import qualified Data.HashSet as S

neg :: MetaTerm -> MetaTerm
neg x1 = RWApp (Op "neg") [x1]

evalRWs :: S.HashSet Rewrite
evalRWs = S.empty

userRWs :: S.HashSet Rewrite
userRWs =
    S.fromList
      [
          x #+ zero'    ~> x
        , zero'    #+ x ~> x
        , (neg x) #+ x  ~> zero'
        , (x #+ y) #+ v ~> x #+ (y #+ v)
      ]