
4 Jan
2010
4 Jan
'10
1:25 p.m.
Emil Axelsson
For me, a real smart compiler is one that would take in e.g. (sum $ take n $ cycle $ [1..m]) and spill out a straight up math formula, inside a few ifs maybe (just an aside).
(Also an aside, I couldn't resist...)
Then I'm sure you'd say that Feldspar [1] has a smart compiler :)
but it didn't produce f n m = if n < m then n*(n+1)/2 else let (q,r)=quotRem n m in q*(m*(m+1)/2) + r*(r+1)/2 :)
The above expression written in Feldspar and the resulting C code can be found here:
http://hpaste.org/fastcgi/hpaste.fcgi/view?id=15592#a15593
/ Emil