4 ms·
Cuis-Smalltalk
- andsoitis 3y agoFeatures: https://cuis.st/features https://cuis.st/features Giving it a whirl in your web browser: https://github.com/nmingotti/The-Cuis-CookBook/wiki/Run-Cuis-in-the-Web-Browser.-%28SqueakJS%29 https://github.com/nmingotti/The-Cuis-CookBook/wiki/Run-Cuis...
- lovelyviking 3y agoIs there a 32 bit version? how hard to adapt/compile one without previous experience ? I tried to do it with squeak and I realised that I should go in depth of cmake and c for configuration of generated vm and it’s kind of ruins the purpose because this is exactly what I’ve been trying to avoid (by all means) in the first place. I went through all of the trouble of generating vm just to face reality in which instead of smalltalk I had to deal with depths of c in all of it’s beautiful cmake complications because vm has failed to compile and even when it did it didn’t work on the target hardware because of some problem with sound. I didn’t need sound at all but I found it too time consuming to turn sound module if I recall it correctly. I was looking for absolutely minimalistic system like bare minimum to study it and I found it hard to achieve. I am curious how cuis different or the same in that regard? Where to get help in compiling one for a new hardware? Any insights/advices about this?
- e12e 3y agoThe web version uses squeakjs and a 32bit image. There's also: https://github.com/nmingotti/The-Cuis-CookBook/wiki/Run-Cuis-in-a-ARM-platform%2C-RPi%2C-BeagleBone-and-similar.-%28Linux%29 https://github.com/nmingotti/The-Cuis-CookBook/wiki/Run-Cuis... And: https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev/blob/master/Documentation/GettingStarted.md https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev/blob/ma... Which points to 64 and 32 bit VMs: https://github.com/OpenSmalltalk/opensmalltalk-vm/releases https://github.com/OpenSmalltalk/opensmalltalk-vm/releases The cuis smalltalk images are in the repo, eg: https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev/blob/master/Cuis6.3-6156-32.image https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev/blob/ma... https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev/blob/master/Cuis6.3-6156-32.changes https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev/blob/ma...
- e12e 3y agoThis (and squeak, Pharo) seem to run fantastic in squeakjs on an Android phone. But the resolution/zoom level is unusable - and three button mouse is tricky on touch. Any efforts to make a) usable dev images to run on iphone/android via squeakjs, and b) tooling to develop single purpose apps that could run on phones, tablets and desktop via squeakjs/the browser?
- haolez 3y agoI've tried to play with Smalltalk on my vacation and I've had some troubles with Squeak and Pharo. Surprisingly, everything worked out of the box with Cuis and its vector graphics rendering makes the experience much more pleasant. I'm impressed! For the record, on my Linux box, Squeak would have troubles with my keyboard input (I can't type a caret!) and Pharo had DPI scaling issues where everything becomes blurry, as well as some crashes here and there.
- lovelyviking 3y agodid you have to compile it for your box or you used a ready image? My experience with squeak was similar:(see below) https://news.ycombinator.com/item?id=38820927 https://news.ycombinator.com/item?id=38820927
- haolez 3y agoI've used a ready image. And Cuis seems derived from Squeak, so supposedly the build process is the same and it might not be trivial. I haven't tried to build any of them yet.
- nerdponx 3y agoWhat's the story for creating and distributing standalone executables?
- blihp 3y agoThere isn't one. Smalltalk implementations, including Cuis/Squeak/Pharo, are image-based. So applications in their world get packaged more like a word processor/spreadsheet document than a traditional executable from other languages/environments. You distribute the .image file (and usually a .changes file as well... but that is more or less optional via changes you can make to the .image) which is loaded and run by the VM, which is the actual executable. The license allows you to distribute your applications either as standalone .image files or bundled along with copies (modified or not) of the VM, but they are still discrete files.
- lovelyviking 3y ago>There isn't one. Smalltalk implementations, including Cuis/Squeak/Pharo, are image-based… well that is true, except one case when vm doesn’t run on the desired hardware/software combination. So in my case I had quite a story of trying to port vm. (unsuccessfully so far, see details : https://news.ycombinator.com/item?id=38820927 https://news.ycombinator.com/item?id=38820927 ) Any advice about how to move forward with it? How hard it is to extract the bare minimum of the language from the image? All I need is basic set with repl , nothing more. As I understand it should be possible but requires deep knowledge of the image which one does not possess in the beginning. I really wish to play with language and study it and with current limitations it is only possible on a hardware where the vm doesn’t run out of the box.
- blihp 3y ago> well that is true, except one case when vm doesn’t run on the desired hardware/software combination. So in my case I had quite a story of trying to port vm unsuccessfully so far . ( see details : https://news.ycombinator.com/item?id=38820927 https://news.ycombinator.com/item?id=38820927 ) The available pre-built VM's should support most 32-bit and 64-bit x86 and ARM Linux systems. For 32-bit you might have to go back to a slightly older release (I'm not sure if 32-bit has been deprecated yet or not) but you'll still get 99.9% of the experience. I think Windows is fully supported but not sure about OS X since the move to ARM as I've heard some grumbling about issues on that platform. If you're on a non-x86/ARM system, you would have to build from source but won't be able to use the 'fast' VM (i.e. cog/spur) and would have to fall back to the interpreter VM. I managed to get it running on a couple/few ARM-based systems back before there was official support for ARM as a platform and it wasn't too difficult. IIRC, it took a couple/few #define's to shut the compiler up and things mostly worked on Linux. (the remaining issues were long ago fixed due to bug reports and the JIT side of things once ARM became a supported platform) > Any advice about how to move forward with it? How hard it is to extract the bare minimum of the language from the image? All I need is basic set with repl , nothing more. As I understand it should be possible but requires deep knowledge of the image which one does not possess in the beginning. I really wish to play with language and study it and with current limitations it is only possible on a hardware where the vm doesn’t run out of the box. You're not likely to get very far with just a repl on a Squeak-derived (i.e. Cuis/Squeak/Pharo) Smalltalk. GNU Smalltalk is going to work better with that approach but you'll lose most of why people love Smalltalk, IMO. I'd be surprised if based on what I said above you can't get a pre-built image running on a computer you have access to. If that's the case, let me know what you're trying to run it on and I'll see if I can give you a pointer to something that would work.
- 7373737373 3y agoIf there was a talk that explained and visualized the runtime state/how Smalltalk processes things (like this one for Javascript: "What the heck is the event loop anyway?" https://youtube.com/watch?v=8aGhZQkoFbQ https://youtube.com/watch?v=8aGhZQkoFbQ), that would greatly help in understanding and coming to terms with it
- nyankosensei 3y agoThe developers have written a terrific open source book that walks the reader through creating a Spacewar! game in Cuis Smalltalk (just updated yesterday): https://github.com/Cuis-Smalltalk/TheCuisBook https://github.com/Cuis-Smalltalk/TheCuisBook
- haolez 3y agoSince there are a few Smalltalk experts around, let me ask: what's the deal with Monticello? Is it legacy cruft and we should just migrate to Git, or is there something more to it?
- dbrans 3y agoMonticello lets you export/import code between your image and text files which can then be managed by a vcs like git. Created by Avi Bryant.
- igouy 3y ago"Cuis-Smalltalk uses GitHub to host, version, diff its core development and to manage a set of external packages (i.e. code that is maintained independently and outside Cuis-Smalltalk but closely related to it). Package files are simple text files, encoded for latin alphabet (ISO 8859-15) and handled without problems by GitHub. Cuis-Smalltalk uses the LF (ascii code 10) newline convention, as preferred in GitHub. This allows Git/GitHub to diff versions, and merge branches." 9.5 Daily Workflow https://cuis-smalltalk.github.io/TheCuisBook/Daily-Workflow.html https://cuis-smalltalk.github.io/TheCuisBook/Daily-Workflow....