Dear all It is that time of the year again. Google SoC has come to an end and a flurry of students announce their results to the corresponding community. Yesterday Jun Mukai reported on the status of HaskellNet and now it is the turn of the GHCi debugger project.
The contributions of this project are mainly two: - Intermediate value viewer: The new ':print' and ':sprint' in GHCi allow to explore semievaluated values without forcing them, accessing the internals and recovering the types. - Dynamic breakpoints: The new ':breakpoint' command integrates seamlessly in GHCi and allows to set breakpoints in your code Which add to previously existing work polished as part of this project too: - The breakpoint and breakpointCond functions in GHC.Base allow to manually install (conditional) breakpoints in your code, which will be activated when you run your program in GHCi DETAILS Though it needs an update, you can check the wiki dump page at: http://haskell.org/haskellwiki/GHC/GHCiDebugger In it you will find a lot of outdated stuff, but also some interesting things: * some examples of the closure viewer * how to get the patches and build it * A link to the Users Guide documentation page for GHCi that now includes a section for the debugger (I know it does not render well in all the browsers out there, but this is just a snapshot) * A video! Watch me debug a Haskell Universal Machine (I know I know, it's not so impressing, and sorry for the poor audio. Macbooks don't seem to like cheap mics so I had to use a phone bluetooth hands-free) FUTURE WORK Overall, this version is a basic, "the simplest thing that could possibly work" implementation. Call stack traces have unhappily not made it into this version, but there are some proposals already and the GHC people seem very interested in getting themselves a feature complete debugger, so you should not lose hope. Future work should include exploring more advanced realizations of dynamic breakpoints. ACKNOWLEDGEMENTS Big thanks to Google for making this project possible. Big thanks to my mentors too, David Himmelstrup and Simon Marlow, for accepting this role. I know how busy they are and I hope I have not been too big of a burden during these months. As a colofon to the project, odds are that the GHC people will include my patches in the 6.6 Release Candidate at the end of the week. Needless to say, I will be most interested in hearing from any issues you may find, especially if you try it before the Release Candidate date. Please let me know of any additional feature requests you have too, or better add them to the wiki where other people will see them too. So please, if you feel like doing it, give it a go before the Release Candidate and let me know if you found any issue! pepe _______________________________________________ Haskell mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell
