
Hi everbody! I'm currently trying to optimize some code, in particular trying to make some functions as strict as possible. To do this, I quite often look for strictness annotations either in the interface files or the the simplifier output. Doing this, something odd occured to me: inserting a '$!' into a function call, trying to enforce eager evaluation, the simplifier output changed. Ok, I should expect this, but I don't understand the change. The function name got '$s' as a prefix and the strictness annotation ('Str: DmdType SSL') vanished. So my question is what all those different prefixes mean. I've stumbled across at least '$s' and '$w' (worker wrapper?). Why did the strictness annotation disappear? Is there any documentation that can enlighten me? Regards, Jens
participants (1)
-
Jens Fisseler