
#9601: Make the rewrite rule system more powerful -------------------------------------+------------------------------------- Reporter: spacekitteh | Owner: Type: feature request | Status: new Priority: normal | Milestone: Component: Compiler | Version: 7.8.2 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: Runtime | Unknown/Multiple performance bug | Test Case: Blocked By: | Blocking: Related Tickets: #9137, #10804 | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by nomeata): The syntax might look like these are types, but morally, they are would simply be boolean predicates: {{{ IsLiteral :: a -> Bool }}} These predicates could be normal, user defined functions (which the compiler would then try to symbolically evaluate), built-in “magic” predicates like this one, or functions without “normal” implementation, but with further rewrite rules that determine the predicate. Isabelle’s simplifier supports all that, and even more, if you are looking for inspiration. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/9601#comment:9 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler