4 ms·
Swift's environment is also very similar to Elm's time travel debugger: http://debug.elm-lang.org/ http://debug.elm-lang.org/ Direct link to Elm's demo similar
by DanielRibeiro 12y ago
Swift's environment is also very similar to Elm's time travel debugger: http://debug.elm-lang.org/ http://debug.elm-lang.org/
Direct link to Elm's demo similar to Bret Victor's:
http://debug.elm-lang.org/edit/Mario.elm http://debug.elm-lang.org/edit/Mario.elm (video: https://www.youtube.com/watch?v=RUeLd7T7Xi4 https://www.youtube.com/watch?v=RUeLd7T7Xi4)
- AlexanderDhoore 12y agoI immediately thought about that as well. I wonder how they pull it off? Swift is not a functional language, so they just save every single variable, or what?
- seanmcdirmid 12y agoTime travel debugging has existed for a long time, and it's not limited to functional languages; the most obvious way they could do this is through checkpointing.
- cwp 12y agoCheckpointing is a natural fit with the Cocoa API, which uses an event loop. Just save the state of the application after each event is handled.
- gtrak 12y agoJust a hunch, LLVM uses Static-Single-Assignment, which is just that, saving every single variable change.