On Fri, Jul 17, 2009 at 10:11 AM, Darrin Thompson<[email protected]> wrote: > I got a lot more work done in factor when I quit worrying about > generators and just used combinators to do the same work. I think in > many cases the compiler manages to optimize out intermediate lists, > etc.
The compiler does not optimize out intermediate data structures; there's no deforestation optimization or anything like that. Immutable tuples can get unboxed in some cases but that's about it. > Maybe "Stream Fusion" ideas from Haskell would be a better fit in Factor > anyway? Yes, fusion would be a great optimization since it would speed up code like this, [ .. ] map [ ... ] map [ ... ] filter [ ... ] reduce I'm not sure how this could be implemented in the current compiler, though. At the very least it would need analysis to determine that the loop bodies are side effect free. Perhaps an easier approach would be to write some kind of DSL using macros that performs loop fusion for you, sort of like Common Lisp 'series', instead of trying to infer intent from general-purpose iterative code? Anyone want to give this a shot? Slava ------------------------------------------------------------------------------ Enter the BlackBerry Developer Challenge This is your chance to win up to $100,000 in prizes! For a limited time, vendors submitting new applications to BlackBerry App World(TM) will have the opportunity to enter the BlackBerry Developer Challenge. See full prize details at: http://p.sf.net/sfu/Challenge _______________________________________________ Factor-talk mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/factor-talk
