#Smalltalk ==                     "start of -*- Smalltalk -*- comment
exec gst "$0" -aQ $@              # end  of     Smalltalk     comment"!

"The stuff above needs some explanations.

 The first line is nothing more than a comment to bash, and the child shell's
 execution stops after it executes GNU Smalltalk; so everything bash sees is
 the second line, up to the hash sign: an `exec' command which starts gst.
 
 Instead, what Smalltalk sees after you delete the Smalltalk comments, is
 `#Smalltalk == $0!': a valid expression which is executed but produces no
 visible results.
 
 Also, note that you can put the -*- MODE -*- signature used by Emacs on the
 first line.

 This technique should be used with script that you expect to take at least a
 few seconds to run, since Smalltalk's startup is not exactly lightning fast."

stdout
    nl;
    nextPutAll: 'the arguments were ';
    print: Smalltalk arguments;
    nl; nl!

