[Pharo-project] Helvetia... in Squeak

Lukas Renggli renggli at gmail.com
Thu May 12 09:12:53 CEST 2011

Hi Frank,

See my answers below inbetween your mail:

> I've been playing around trying to get Helvetia working in Squeak. It's...
> not going well. So I thought I'd try get it working in Pharo, so I could
> play around with Helvetia - the point of the exercise - rather than futzing
> with porting issues.

I suggest that you download the one-click distribution from


or the image from my build server (they should be identical).

Loading the code manually doesn't work at the moment, because RB, OB,
eCompletion and the other dependencies evolved in the meantime and are
not compatible with Pharo 1.1.1 anymore.

> Now I've tried loading Helvetia into a Pharo 1.1.1 image (old, I know, but
> Helvetia says that it wants a 1.1 image), but things don't work too well - I
> have issues like OBPluggableShoutTextMorph not understanding #setText:,
> leaving me unable to open an omnibrowser. "Browser open" still works, but of
> course senders-of and implementors-of are all smashed for the
> afore-mentioned reason.

Helvetia only works in Pharo 1.1.1 images with the dependencies that
were available at that time.

> Now I see you have Hudson build scripts for Helvetia, so clearly you've not
> abandoned the project, so how do you do things? What base image do you use?
> A Pharo 1.3?

The builds are not running anymore. Helvetia is based on Pharo 1.1.1.
I don't have the time to maintain the codebase.

> If/when I get it working, would you be open to the idea of me working to
> separate Helvetia's dependencies on things like Polymorph, OB, etc. so I can
> use Helvetia in Squeak?

Helvetia is all about integrating with tools, which means not only the
compiler but also the editors, syntax highlighting, code completion,
refactorings, etc. Moving Helvetia from Pharo 0.9 to Pharo 1.1 was a
lot of work, because the loader needs to replace the compiler and
introduce all kinds of subtle hooks into the running system.

I doubt it is possible to get a working version of Helvetia in Squeak
without a significant amount of work. After all, only outdated or
forked versions of RB, OB, eCompletion, Shout, ... work in Squeak.
Also --- and that would be probably the fist and most important step
--- you would need to make PetitParser, RB, AST-Compiler, and
QuasiQuote work in Squeak. These are the base compilation-related
packages required by Helvetia.


Lukas Renggli

More information about the Pharo-project mailing list