
On 01 June 2005 13:54, Jens Fisseler wrote:
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?
$s means "specialised" I believe (Simon PJ is away until next week, so you'll have to wait until then for a definitive answer). Cheers, Simon