yes. On Fri, Aug 12, 2011 at 11:02 AM, Anton Kholomiov <[email protected] > wrote:
> Do you mean that x and y in > > x = a + 1 > y = a + 1 > > are different from data-reify point of view? > > > 2011/8/12 Conal Elliott <[email protected]> > >> Note that data-reify will only find *some* common/equal sub-expressions, >> namely the pointer-equal ones. In all of my code-generating ("deep") DSLs, >> it's been very important for efficiency to also pull out >> equal-but-pointer-unequal expressions. >> >> - Conal >> >> >> On Thu, Aug 11, 2011 at 4:41 AM, Vo Minh Thu <[email protected]> wrote: >> >>> I guess you refer to data-reify: >>> http://hackage.haskell.org/package/data-reify >>> >>> 2011/8/11 Stephen Tetley <[email protected]>: >>> > Strafunski and its successors (Uniplate, SYB, KURE) are really for >>> > working on trees. If you want to work on graphs you would probably be >>> > better of with something else. >>> > >>> > I think I overlooked that you want common sub-expression >>> > _elimination_, rather than expression simplification. There are >>> > libraries for observable sharing (Andy Gill's recent one is the >>> > state-of-the-art, its on Hackage but I've forgotten its name) - that >>> > are pertinent where you have built the expressions as an embedded DSL >>> > in Haskell and you want sharing in code you generate from the Haskell >>> > DSL. >>> > >>> > >>> > >>> > On 11 August 2011 08:57, Anton Kholomiov <[email protected]> >>> wrote: >>> >> Thank you for the reference to Strafunski libraries, I read >>> >> HaskellWiki, but I don't have a permission to visit their site. >>> >> All links are forbidden. >>> >> >>> >> Can it be a function: >>> >> >>> >> fun :: Eq a => Tree a -> [(Int, (a, [Int]))] >>> >> >>> >> where tuple codes nodes, and Int's code edges. >>> >> >>> >> 2011/8/11 Stephen Tetley <[email protected]> >>> >>> >>> >>> Wouldn't this be dependent upon your AST and thus not readily >>> >>> "package-able" as a library? >>> >>> >>> >>> Expression simplification has been a prime example for Strafunski >>> >>> style traversal libraries. You might be able to find examples that >>> you >>> >>> can adapt to your own AST written with Uniplate or similar library. >>> >>> >>> >>> On 11 August 2011 05:00, Anton Kholomiov <[email protected]> >>> >>> wrote: >>> >>> > Is there a library on common sub-expression elimination? >>> >>> > >>> >>> >>> >>> _______________________________________________ >>> >>> Haskell-Cafe mailing list >>> >>> [email protected] >>> >>> http://www.haskell.org/mailman/listinfo/haskell-cafe >>> >> >>> >> >>> >> _______________________________________________ >>> >> Haskell-Cafe mailing list >>> >> [email protected] >>> >> http://www.haskell.org/mailman/listinfo/haskell-cafe >>> >> >>> >> >>> > >>> > _______________________________________________ >>> > Haskell-Cafe mailing list >>> > [email protected] >>> > http://www.haskell.org/mailman/listinfo/haskell-cafe >>> > >>> >>> _______________________________________________ >>> Haskell-Cafe mailing list >>> [email protected] >>> http://www.haskell.org/mailman/listinfo/haskell-cafe >>> >> >> >> _______________________________________________ >> Haskell-Cafe mailing list >> [email protected] >> http://www.haskell.org/mailman/listinfo/haskell-cafe >> >> > > _______________________________________________ > Haskell-Cafe mailing list > [email protected] > http://www.haskell.org/mailman/listinfo/haskell-cafe > >
_______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
