The class I'm TAing has been using menu-based teaching languages. I hope to have background expansion, blue boxes, the binding arrows and the Errortrace arrows available by default, so I wonder if #lang-based teaching languages are ready. In the class, we use ISL+, ASL, and occasionally Stepper and Check Syntax.
Are #lang htdp/*sl stable? Are there significant differences? I notice two changes:
Test Engine no longer shows testing results in a separate window.
Coverage is not enabled by default (unless I change "Debugging" to "Syntactic test suite coverage" in Language > Choose Language > Show Details).
Point 1 is not an issue except that when there are test failures, the highlighting and the hyperlinks are not as distinguishable as the menu-based languages. While the test submodule now has to be enabled for the tests to run, enabling it is the default so this is also not an issue.
Point 2 seems like an improvement to me. Code coverage highlighting are confusing, and it often interferes with the highlighting of runtime errors.
We encouraged switching a few releases ago. I stopped using the menu based languages when they were unstable and told students about them as a back up seven years ago. (Back then, this mostly worked.) -- I would not use ASL anymore.
Pedagogically speaking, I be to differ from your evaluation of the two differences. Coverage is essential to instill a 'tests are critical' culture. Without it, students don't get how bad tests are and an instructor can't say "your program is good because the color didn't change." -- The separate window always disturbed me and I am happy Mike's change suppresses it.
Great to hear this! Thanks for the confirmation. I could not find any announcement or explanation in release notes. The latest info I found was that Stepper was added to #lang-based teaching languages in mid 2021.
I agree that having a separate window is inconvenient, especially because the users enter the full screen mode a lot. My problem with coverage is that it interferes with both the shading of parenthesis groupings and runtime error highlighting, sometimes making the code unreadable. So this is more of an issue with its user interface.