开发者

A Smalltalk implementation with the perfect feature set

开发者 https://www.devze.com 2023-03-24 23:46 出处:网络
I prefer interfacing with programming languages through a standard bash terminal. While Squeak and Pharo are well documented, they don\'t seem to have a CLI, just a VM GUI.

I prefer interfacing with programming languages through a standard bash terminal. While Squeak and Pharo are well documented, they don't seem to have a CLI, just a VM GUI.

GNU Smalltalk and Slate have a normal CLI but no installers for Linux, Mac, or Windows--and they require a complicated MSYS configuration on Windows.

开发者_开发百科

There seems to be no Smalltalk implementation that has both a CLI and multiplatform installers. I'd love to pick up this language, but I can't seem to find a Smalltalk that suits me.

Do Squeak and Pharo have secret CLI modes? Does anyone know where GST or Slate installers are posted? Are there other free, open source Smalltalks that have these two features?


Yes, Pharo has a "secret" CLI mode. It is called Coral.


Extending on Lukas' answer, here's a script to load Coral into Squeak:

Installer ss
    project: 'OSProcess';
    install: 'OSProcess-dtl.63'.
Installer ss
    project: 'rb';
    install: 'AST-Core-lr.88'.
Installer lukas
    project: 'petit';
    install: 'PetitParser-lr.218';
    install: 'PetitTests-lr.34';
    install: 'PetitSmalltalk-lr.47'.
Installer ss
    project: 'fs';
    install: 'FS-Core-StephaneDucasse.4';
    install: 'FS-AnsiStreams-cwp.1';
    install: 'FS-FileStream-cwp.1';
    install: 'FS-Disk-cwp.1'.
Installer ss
    project: 'CoralSqueak';
    install: 'Coralsqueak-fbs.2';
    install: 'Coral-fbs.55'.

It's based on a near-to-head version of Coral (Damien's just started on a redesign of parts of Coral), and adds a few methods to Squeak that Coral expects.

Once installed, follow the standard instructions:

SmalltalkImage current saveAs: 'coral.image'.
CoralInstaller generateCoralScript.
CoralInstaller generateCoralDebugScript.
"Optionally: CoralInstaller generateAllExamples."

And then from your command line:

$ chmod +x coral.sh coralDebug.sh
$ ./coral.sh scriptCarpet.cst
0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号