[Pharo-project] Using Pharo from the command-line

Stéphane Ducasse stephane.ducasse at inria.fr
Wed Sep 2 03:23:05 EDT 2009


>>
> The full path requirement should be considered a bug from my
> perspective.

mine too and I thought that john fixed that.
So did you try without?

> However as a thank you and for my own records, a small tutorial for
> your google code wiki:

GREAT!

> =Command-line Scripts with a Headless Pharo=
>
> For some tasks like benchmarking and automated testing, an integration
> with other tools comes in handy.
> For such use cases, Pharo can be used headless, i.e., without its
> graphical
> user interface.
>
> This brief tutorial will demonstrate how to use the Debian Language
> Shootout
> benchmarks with a fresh Pharo image.
>
> ==Step 1: Setup Pharo and a Fresh Image==
>
>   * download a Pharo image, the sources file, and a VM from the
>     [http://www.pharo-project.org/pharo-download download page]
>   * extract all archives in the same folder
>   * start Pharo, from the commandline, on a MacOSX it should look
> like this:
>     {{{
>        "Squeak 4.2.1beta1U.app/Contents/MacOS/Squeak VM Opt" \
>           pharo1.0-10418-BETAdev09.08.3.image
>     }}}
>
> ==Step 2: Load OSProcess==
>
> For output on the shell, we need an extra package from the  
> SqueakSource
> repository.
>
> It can be loaded by simply executing the following code in a workspace
> window:
>
> {{{
> ScriptLoader loadLatestPackage: 'OSProcess' from:
> 'http://www.squeaksource.com/OSProcess'
> }}}
>
> To execute this code snippet, select it and press cmd+d or use the "do
> it"
> item in the context menu.
>
> ==Step 3: Load Common Benchmark Code==
>
> Now we can load the common parts of all shootout benchmarks into our
> image.
>
>   * On way to do this is to grab the code shown [http://shootout.alioth.debian.org/gp4/benchmark.php?test=all&lang=squeak&lang2=squeak 
>  here
> ]
> and save it to a file called `common.st`.
>   * Open the file browser from the Menu -> Tools -> File Browser.
>   * Select `common.st` and press `filein` to load the code.
>
> Now you can close all windows in your image and save and quit it.
>
> ==Step 4: Run a Benchmark==
>
>   * Grab the code of a benchmark like [http://shootout.alioth.debian.org/gp4/benchmark.php?test=fannkuch&lang=squeak&id=1 
>  Fannkuch
> ]
>   * Save it to a file named like `fannkuch.st`
>   * Add a run script to the end of the code in `fannkuch.st`, like
> this:
> {{{
>     Tests fannkuch.
>     SmalltalkImage current snapshot: false andQuit: true.
> }}}
>   * Run it with a headless Pharo:
> {{{
>     "Squeak 4.2.1beta1U.app/Contents/MacOS/Squeak VM Opt" \
>         -headless pharo1.0-10418-BETAdev09.08.3.image \
>         $PWD/fannkuch.st 6
> }}}
>
>
> Best regards
> Stefan
>
>
>
>>
>>
>> -- 
>> Damien Cassou
>> http://damiencassou.seasidehosting.st
>>
>> "Lambdas are relegated to relative obscurity until Java makes them
>> popular by not having them." James Iry
>>
>> _______________________________________________
>> Pharo-project mailing list
>> Pharo-project at lists.gforge.inria.fr
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
> -- 
> Stefan Marr
> Software Languages Lab
> Former Programming Technology Lab
> Vrije Universiteit Brussel
> Pleinlaan 2 / B-1050 Brussels / Belgium
> http://prog.vub.ac.be/~smarr
> Phone: +32 2 629 3956
> Fax:   +32 2 629 3525
>
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project at lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project





More information about the Pharo-dev mailing list