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

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