On Nov 2, 2006, at 9:53 AM, Thomas Shackell wrote:
Can anyone tell me what the Finfo flags field means and is used for?
The C runtime defines this enum, which I assume is related:
enum FInfoFlags { FFL_NONE = 0x00, FFL_INVIS = 0x01, FFL_LAMBDA =
0x02,
FFL_PRIM_APPLY = 0x04 };
They were added in about May, and seem to relate to Hat, based on
patch
comments.
Sorry Rob,
Took me a while to spot this email. It's entirely Hat related,
FFL_INVIS
means treat this function as though it didn't exist
from a tracing point of view.
When would you use this flag? Is this for combinators introduced,
eg, during lambda lifting?
FFL_LAMBDA
means this is a lambda function so don't try to
trace it's name or anything.
So this is particularly for anonymous functions, right?
FFL_PRIM_APPLY
means this is the special inbuilt apply function that is so
special
you can't even write it in Haskell. So please trace it specially.
Is this also used for the STRING function? Does it have other uses?
So then, if no flags are set the default is a named, non-primitive
function that Hat should trace?
Also, what happens if you get the flags wrong (like, set them all to
0 regardless of what they should be). Is Hat the only think
affected? Will Hat crash if they're wrong?
Thanks
Tom
Thanks
Rob Dockins
Speak softly and drive a Sherman tank.
Laugh hard; it's a long way to the bank.
-- TMBG
_______________________________________________
Yhc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/yhc