4 ms·
Yes. I did come across: https://github.com/topazproject/topaz https://github.com/topazproject/topaz From: "When a Mouse Eats a Python: Smalltalk-style Develop
by e12e 5y ago
Yes. I did come across:
https://github.com/topazproject/topaz https://github.com/topazproject/topaz
From: "When a Mouse Eats a Python: Smalltalk-style Development for Python and Ruby"
https://2017.programming-conference.org/details/MoreVMs-2017-papers/9/When-a-Mouse-Eats-a-Python-Smalltalk-style-Development-for-Python-and-Ruby https://2017.programming-conference.org/details/MoreVMs-2017...
See also:
http://www.hpi.uni-potsdam.de/hirschfeld/publications/index.html http://www.hpi.uni-potsdam.de/hirschfeld/publications/index....
But it seems abandoned?
I guess maybe maglev ruby on the gemstone platform does move the needle a bit closer:
http://maglev.github.io/docs/persistent_code.html http://maglev.github.io/docs/persistent_code.html
- vidarh 5y ago> I guess maybe maglev ruby on the gemstone platform does move the needle a bit closer: For Ruby, "pry" gets you at least some of the way there with MRI. It's nowhere near the "full experience", but it has taken a lot of inspiration from Smalltalk, and it's just an entirely different world compared to IRB.
- e12e 5y agoI should clarify; I specifically meant being able to do stuff like write a high level sketch of a module, then simply run it, and implement missing methods and classes as you go. Similar to writing a red/failing test - then filling in functionality. I suspect a image-like (as in lisp/smalltalk image) view of the code is needed for this to work well (hence the link to "persistent code" for maglev/gemstone). That said, I do use pry/byebug a lot - but I there might very well be features I'm not aware of.
- pjmlp 5y agoThis is why many IDEs have the workspace concept, as it allows to create a metadata database with the information that would otherwise be part of the image.
- vidarh 5y agoPry does allow that with some caution. You can dip into files from the pry prompt ("edit <methodname>" opens the right file at the start of the method definition) to add methods and reload a class ("reload-code" or "reload-method"), and if you want to you can relatively easily rig things up so you're thrown into a pry prompt on method missing, implement the missing method, and reload the relevant file and retry the call. Though I'll usually have a "boot" file that loads all pre-requisites and just call functionality from a pry prompt and edit/reload as needed rather than try to continue from a method missing or exception.