Qi is a functional, flow-oriented language that's simple, expressive and easy to embed anywhere in Racket programs. And now, it's also blazing fast!
> On functional computations involving standard higher order functions like map, filter, and foldl/foldr, Qi achieves something like a 3x speedup over equivalent code written in plain Racket! It does this by employing the stream fusion / deforestation optimization (the same one used in Haskell's GHC) which traverses input collections just once, and avoids constructing intermediate representations on the way to the final result.
1 comment
[ 3.3 ms ] story [ 15.6 ms ] thread> On functional computations involving standard higher order functions like map, filter, and foldl/foldr, Qi achieves something like a 3x speedup over equivalent code written in plain Racket! It does this by employing the stream fusion / deforestation optimization (the same one used in Haskell's GHC) which traverses input collections just once, and avoids constructing intermediate representations on the way to the final result.