
Hi, I am sorry for using the wrong terminology here. Let me ask again: Does it sound reasonable to extend the compiler with a pragma that specifies that a certain function should be compiled to a loop? And if the compiler can not do it, it helps with some error message. Regards! Georg On Tuesday 31 July 2007 16:20, Simon Peyton-Jones wrote:
| However my point was more on a semantic point of view: If I write a | function in a recursive way, but actually do nothing else than a loop, I | would like a) that the compiler unrolls it to a loop and | b) that I can specify such a requirement, while violating it emits an | error.
What does it mean to say "the compiler unrolls it to a loop". If GHC sees a tail recursive function, it certainly compiles it to a loop! (But that's not called "unrolling".)
Simon
-- ---- Georg Martius, Tel: +49 177 6413311 ----- ------- http://www.flexman.homeip.net ----------