On 01/08/2012 02:05 AM, Gerry Weaver wrote:
Hello All,
Thank you for all of your responses. They are really helping me get a better picture of Pharo, the environment, and the community.
I really like the idea of a REPL type interface. If I understand correctly, all of the functionality that deals with class/method definition is already there. It seems like it would be a matter of writing a little server type application that would communicate via stdin/stdout. I assume one could then send messages to the code that evaluates methods/function definitions and provide result feedback via stdout. Maybe it could also understand some commands like doit and accept. It could be interesting to have a TCP based interface as well. How difficult would it be to do something like this? I may start looking into this. It seems like a good project to jump into the deep end, start paddling, and drinking a little water (hopefully not too much). Is the code that handles this kind of thing readily accessible? I've started looking around a bit.
The answer is that it is basically trivial to do and many people have already done it in various forms - I even did a TCP server for Joe Armstrong (one of the creators of Erlang) that does similar things: http://www.squeaksource.com/JoesServer.html ...BUT... when it comes to Joe he wanted to use Squeak from Erlang in order to dynamically create UIs etc. So he had a reasonable use case. ;) ...if you just happe to "like REPLs" then you should really try to use and learn the Squeak/Pharo IDE. Think of it as a full blown live graphic REPL with tons of cool tools. Every text area in Pharo/Squeak is a "REPL" anyway. regards, Göran