Closed takenobu-hs closed 8 years ago
There is no pointer tagging right now, no. Some rules of thumb:
This is only the current state. If we can somehow extend this program incorporating those things without making the basic STG evaluation much more complicated, I think many things would make great additions. I just haven't spent much time thinking about that so far.
When people learn STG behavior, they are a little confused by the pointer-tagging.
Reading your question again, I think I should explain the choice to not consider pointer tagging and other advanced features:
The STGi is only partially for understanding the STG itself; it just happens that many interesting things happen at the STG level. The main goal was to be able to see Haskell being executed, not to teach the details of how GHC chooses to compile Haskell. The ExamplePrograms
is the showcase of what the STGi is meant for I would say.
Again, I'm not opposed to having those advanced features eventually :-)
Thank you for your kind explanation. I understood that your project is based on the 1992 paper. I feel that the 1992 paper is valuable, too. I like it.
And, you focus on the STG-language rather than the STG-machine's implementation in first step. It's good choice. People can understand the STG more quickly.
Your project is very valuable for us to learn the STG. Thank you :-)
You're welcome, thanks for the feedback :-) I assume the question was answered, can we close the ticket?
Yes, sure. I close this. Thanks :)
Amazing work! I'm impressed. Thank you for community.
Do you implement the pointer-tagging? (or it's CMM layer matter?)
When people learn STG behavior, they are a little confused by the pointer-tagging.
one more, Do you also implement the indirect closure? (or it's also CMM layer matter?)
It's important for lock-free updating.
Thank you for perseverance!