Since every version of Smalltalk has a different GUI framework, it is hard to build completely portable applications. But we could at least make it easy to build portable applications if all they do is read and write from files! Smalltalk would be much better suited for scripting if there were a standard way to access files, standard input and output, and parameters from the command line.
This group will define a standard and implement for as many versions of Smalltalk as they can.
Organizer: James Robertson jarober@mail.com
I ( jarober@mail.com) have a proposed protocol for this project. I have it available as VW 3.0 fileouts. Please go to the download page to get the code.
StandardHeadless.st
This represents the standard protocol for headless images. Some clases may be used as is, while others must be fleshed out on an implementation specific basis. This could be done either by subclassing or completion. In my VW example, I have subclasses where necessary.
StandardHeadlessStdio.st
This represents the standard protocol for accssing stdin, stdout, and stderr. Implementations must provide the actual access.
What we will need
- Ability to read the command line in each environment
- standard classes/protocols for headless operation
- standard way to load code at startup
- standard way to save an image back in 'headfull' mode
Any others ?
Members:
Me too. Caveat: I'd want to spend a good bit of time over with the ANSI group too. paulm@4thEstate.com
I'll help too, subject to Paul's caveat. Donald MacQueen
John O'Keefe
Count me in (though I'll also want to work on the Web Application server). Coming from the Unix/Linux side of things, scripting and CLI aspects sound especially interesting.
A few thoughts/questions/concerns:
- What support is necessary from the VM? Can we get the equivalent of your average C program's argc/argv from every ST flavor?
- Perhaps a command-line simulator would be helpful. CLI-based apps will be developed in a full (headed) ST environment, and it'd be nice to test in ST without packaging, dropping to the command line, and running it. That sounds too much like compile/test/repeat to me.
- This may tie in with the Binary standard for object interchange project, since we'll need a way of storing/transmitting/loading scripts.
Thoughts? -- Ken Treis
Count me in too! Bob Hartwig
FWIW - what's the chance of an extensible ST shell to go along with Korn, Bourne, and csh? Joseph Pelrine
I have a basic version of this working for VW. if stdin/stdout/stderr are easily accessible, it's not too hard. James A. Robertson
The Messenger project is some code written at Gemstone that provides a portable replacement for interacting with the Transcript. In a headless image, it should go to a file or stdout. Perhaps the group should consider adding it, since Gemstone wrote it to solve common problems in headless programs.
Is this project dead? --Davide Varvello