Hoogle Search
Within LTS Haskell 24.40 (ghc-9.10.3)
Note that Stackage only displays results for the latest LTS and Nightly snapshot. Learn more.
mapValues :: (Expr -> Expr) -> Expr -> Exprcode-conjure Conjure.Expr O(n*m). Applies a function to all terminal values in an expression. (cf. //-) Given that:
> let zero = val (0 :: Int) > let one = val (1 :: Int) > let two = val (2 :: Int) > let three = val (3 :: Int) > let xx -+- yy = value "+" ((+) :: Int->Int->Int) :$ xx :$ yy > let intToZero e = if typ e == typ zero then zero else e
Then:> one -+- (two -+- three) 1 + (2 + 3) :: Int
> mapValues intToZero $ one -+- (two -+- three) 0 + (0 + 0) :: Integer
Given that the argument function is O(m), this function is O(n*m).mapVars :: (Expr -> Expr) -> Expr -> Exprcode-conjure Conjure.Expr O(n*m). Applies a function to all variables in an expression. Given that:
> let primeify e = if isVar e | then case e of (Value n d) -> Value (n ++ "'") d | else e > let xx = var "x" (undefined :: Int) > let yy = var "y" (undefined :: Int) > let xx -+- yy = value "+" ((+) :: Int->Int->Int) :$ xx :$ yy
Then:> xx -+- yy x + y :: Int
> primeify xx x' :: Int
> mapVars primeify $ xx -+- yy x' + y' :: Int
> mapVars (primeify . primeify) $ xx -+- yy x'' + y'' :: Int
Given that the argument function is O(m), this function is O(n*m).mappArgs :: (Expr -> Expr) -> Expr -> Exprcode-conjure Conjure.Expr No documentation available.
mappFun :: (Expr -> Expr) -> Expr -> Exprcode-conjure Conjure.Expr No documentation available.
mapHead :: (a -> a) -> [a] -> [a]code-conjure Conjure.Utils Applies a function to the head of a list.
-
comfort-graph Data.Graph.Comfort \(TestGraph gr) -> Graph.mapEdge id gr == gr
mapEdgeKeys :: (Edge e1, Ord n) => (e0 n -> e1 n) -> Graph e0 n el nl -> Graph e1 n el nlcomfort-graph Data.Graph.Comfort Same restrictions as in mapMaybeEdgeKeys.
mapEdgeWithKey :: (e n -> el0 -> el1) -> Graph e n el0 nl -> Graph e n el1 nlcomfort-graph Data.Graph.Comfort No documentation available.
-
comfort-graph Data.Graph.Comfort The index map must be an injection, that is, nodes must not collaps. Also the node and edge index maps must be consistent, i.e.
from (edgeMap e) == nodeMap (from e) to (edgeMap e) == nodeMap (to e)
Strictly spoken, we would need the node map only for isolated nodes, but we use it for all nodes for simplicity. -
comfort-graph Data.Graph.Comfort You may only use this for filtering edges and use more specialised types as a result. You must not alter source and target nodes of edges.