unique-logic-0.4: Solve simple simultaneous equations

UniqueLogic.ST.Rule

Contents

Synopsis

# Custom rules

generic2 :: C w => (b -> a) -> (a -> b) -> Variable w s a -> Variable w s b -> T w s () Source #

generic3 :: C w => (b -> c -> a) -> (c -> a -> b) -> (a -> b -> c) -> Variable w s a -> Variable w s b -> Variable w s c -> T w s () Source #

# Common rules

equ :: C w => Variable w s a -> Variable w s a -> T w s () Source #

pair :: C w => Variable w s a -> Variable w s b -> Variable w s (a, b) -> T w s () Source #

You might be tempted to use the pair rule to collect parameters for rules with more than three arguments. This is generally not a good idea since this way you lose granularity. For building rules with more than three arguments, please build according assignments with arg and runApply and bundle these assignments to rules. This is the way, generic2 and generic3 work.

max :: (Ord a, C w) => Variable w s a -> Variable w s a -> Variable w s a -> T w s () Source #

add :: (Num a, C w) => Variable w s a -> Variable w s a -> Variable w s a -> T w s () Source #

mul :: (Fractional a, C w) => Variable w s a -> Variable w s a -> Variable w s a -> T w s () Source #

square :: (Floating a, C w) => Variable w s a -> Variable w s a -> T w s () Source #

pow :: (Floating a, C w) => Variable w s a -> Variable w s a -> Variable w s a -> T w s () Source #