[mercury-users] Tail call optimisation in hlc grades
Michael Day
mikeday at yeslogic.com
Mon Aug 20 18:33:08 AEST 2007
Hi Julien,
> I don't think so, you still don't get tail recursion for insert_items/4
> even if you make the modes `in' and `out'. I think it's more likely
> the type that may be causing the problem here (in fact if you change the
> arguments to make what was the array, polymorphic you do get tail
> recursion.) I'll keep looking into this one.
It would be good to figure out what's going on, as it seems like it
would affect any seemingly tail recursive predicate using arrays.
I eventually made an impure predicate that only passed the array in and
destructively modified it, rather than threading the array argument
through. This variant was correctly compiled with the tail call
optimised into a loop.
Cheers,
Michael
--
Print XML with Prince!
http://www.princexml.com
--------------------------------------------------------------------------
mercury-users mailing list
Post messages to: mercury-users at csse.unimelb.edu.au
Administrative Queries: owner-mercury-users at csse.unimelb.edu.au
Subscriptions: mercury-users-request at csse.unimelb.edu.au
--------------------------------------------------------------------------
More information about the users
mailing list