Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Yes. I did come across:

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...

See also: 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



> 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.


I 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.


Pry 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.


This 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.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: