4 ms·
When I bring up Smalltalk, I get an all-in-one environment from the image I load. Its live and any code I add goes into that image. Now I can use code control
by protomyth 8y ago
When I bring up Smalltalk, I get an all-in-one environment from the image I load. Its live and any code I add goes into that image. Now I can use code control and build specific images, but it pretty much is a one image at a time world.
What I'm talking about is loading up multiple images into the same IDE and run them like fully separate images with maybe some plumbing for communication and code loading between them. You can sorta pull that stunt by, as stcredzero mentioned, running Smalltalk in Smalltalk, ut I want separate images.
- igouy 8y ago> …loading up multiple images into the same IDE… At the same time? Why? What will that let you do?
- protomyth 8y agoIt would let me run a network of VMs with different code that could model my whole solution at once, locally.
- igouy 8y ago> locally Meaning on a single machine. Not across networks. > run a network of VMs with different code What do you think prevents that being done with "fully separate images" (VMs in their own OS process) ?
- protomyth 8y agoThe last time I played with a Smalltalk, all the code was one big image. There was no way to run multiple VMs.
- igouy 8y ago> There was no way to run multiple VMs. In this example on Ubuntu "visual" is the name of the VM file, and there are 2 different image files with different code in them "visualnc64.im" and "quad.im". $ /opt/src/vw8.3pul/bin/visual /opt/src/vw8.3pul/image/visualnc64.im & [1] 8689 $ /opt/src/vw8.3pul/bin/visual /opt/src/vw8.3pul/image/quad.im & [2] 8690 That's created 2 separate OS processes, each OS process is running an instance of the Smalltalk VM, and each Smalltalk VM opened a different Smalltalk image containing different code. Do you see?
- protomyth 8y agoI’m not sure if we are talking past each other or you are ignoring the whole IDE thing. Yes, I can run multiple VMs on the same machine, but you are missing that I want to spin up these VMs in my Smalltalk IDE and not via some terminal launch script. I want my environment there for me to edit and debug code. I’m pretty sure you cannot do that in VisualWorks.
- igouy 8y ago> I want my environment there for me to edit and debug code Both of those instances of the Smalltalk VM, the one in OS process 8689 and the one in OS process 8690, are headfull — they both include the full Smalltalk IDE, they are both fully capable of editing and debugging code. (There's a very visible difference between the 2 Smalltalk IDEs that opened on my desktop: visualnc64.im is as-supplied by the vendor; quad.im has an additional binding for the X FreeType interface library, so the text looks quite different). (iirc Back-in-the-day when I had opened multiple Smalltalk images I'd set the UI Look&Feel of one to MS Windows, of another to Mac, of another to Unix: so I could see which windows belonged to which image.)
- protomyth 8y agoYeah, but they are 2 IDEs not a single IDE. You are running two copies not one copy with two instances. I then need to jump between programs to edit code.
- igouy 8y agoSo when I asked "What will that let you do?", the only "benefit" you-can-think-of is the possibility of switching from editing code in visualnc64.im to editing code in quad.im without a mouse-click ?
- protomyth 8y agoSo when I asked "What will that let you do?", the only "benefit" you-can-think-of is the possibility of switching from editing code in visualnc64.im to editing code in quad.im without a mouse-click? No, that would not be enough to make anything work. What I can think of is an IDE that had access to all the VMs running and some plumbing for the VMs to communicate. I would love to be able to spin-up Smalltalk VMs so I can simulate a full system on my desk. Having separate IDEs running means I don't have any integration so I have to debug in multiple different IDEs when tracing communications. I can imagine some of the debugging and code inspection that could be extended to look at code running simultaneously in multiple VMs.
- scroot 8y agoCheck out Telepharo: https://github.com/pharo-ide/TelePharo https://github.com/pharo-ide/TelePharo
- protomyth 8y agoCool, but that looks like a remoting tool not a lot of VMs on my desktop.