unique-logic-tf-0.4.0.1: Solve simple simultaneous equations

Safe HaskellNone

UniqueLogic.ST.TF.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