google / codeworld

Educational computer programming environment using Haskell
http://code.world
Apache License 2.0
1.25k stars 195 forks source link

Better documented and clean debugger API and UI for CodeWorld programs #695

Open cdsmith opened 6 years ago

cdsmith commented 6 years ago

We currently have a haphazard collection of debugging features in CodeWorld. These fall into two basic categories: the inspect window, and the on-screen controls. Both of these are powerful, but they follow completely different design choices, and have two different UI and API systems. This adds too much complexity, both for the user, and in the code.

Ideally, the entire debugging UI would be implemented in one place -- most likely, in JavaScript and DOM since it's a more powerful UI system. There would be a single API based on message passing that's implemented in a generic way and documented so that it's easy to develop against.

(@kammitama5: Don't worry, this is a long-term goal. The current system is fine for now, and you should keep developing with it for Summer of Code.)

kammitama5 commented 6 years ago

Thanks. I'd like to keep working on getting better at Haskell (and reasoning with code written in Haskell) and keep contributing to CodeWorld in any way I can in a long-term capacity.