- class Program a where
- showCore :: forall a. Program a => a -> String
- showCoreWithSize :: forall a. Program a => a -> String
- printCore :: Program a => a -> IO ()
- printCoreWithSize :: Program a => a -> IO ()
- runGraph :: Reify a -> Info -> (a, ([Node], Info))
- buildSubFun :: forall a b. (Typeable a, Typeable b) => (a :-> b) -> Reify Interface
- startInfo :: Info

# Documentation

Types that represent core language programs

Converts a program to a Graph

Computable a => Program a | |

(Computable a, Computable b, Computable c, Computable d, Computable e) => Program (a -> b -> c -> d -> e) | |

(Computable a, Computable b, Computable c, Computable d) => Program (a -> b -> c -> d) | |

(Computable a, Computable b, Computable c) => Program (a -> b -> c) | |

(Computable a, Computable b) => Program (a -> b) | |

(Computable a, Computable b) => Program (a, b) | |

(Computable a, Computable b, Computable c) => Program (a, b, c) | |

(Computable a, Computable b, Computable c, Computable d) => Program (a, b, c, d) |

showCoreWithSize :: forall a. Program a => a -> StringSource

Shows the core code with size information as comments.

printCoreWithSize :: Program a => a -> IO ()Source

printCoreWithSize = putStrLn . showCoreWithSize