adp-multi-monadiccp-0.1: src/ADP/Multi/Constraint/Combinators.hs
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE FlexibleInstances #-}
{-# OPTIONS_GHC -fno-warn-orphans #-}
{- |
Use this set of combinators instead of ADP.Multi.Rewriting.Combinators to
use a constraint solver for constructing the subword ranges.
Note: This is experimental and slow.
-}
module ADP.Multi.Constraint.Combinators where
import ADP.Multi.Combinators
import ADP.Multi.Rewriting.YieldSize
import ADP.Multi.Rewriting.Model
import ADP.Multi.Constraint.ConstraintSolver
instance Rewritable Dim1 a b where
(>>>) (infos,p) f =
(determineYieldSize1 f infos, rewrite constructSubwords1 (infos,p) f)
instance Rewritable Dim2 a b where
(>>>) (infos,p) f =
(determineYieldSize2 f infos, rewrite constructSubwords2 (infos,p) f)