For another, more technical FAQ see


What is Pharo?

Pharo is an open-source Smalltalk environment. It is a derivative of Squeak and is MIT licensed with some original Apple parts remaining under the Apache 2.0 license.

What does Pharo stand for?

Pharo is a combination of Faro, which is the portugese and spanish name for lighthouse, and Phare, which is the french term for lighthouse. (You know, the light that helps boats to find their way when the wind is blowing and night has fallen.)

What is the license?

See the license page.

How do I run Pharo?

If you are not familiar with Smalltalk application internals try one of our one-click deployments if available. This hides the application structure into a single-executable for your platform.

If a one-click is not available, or you want to run a development build, read on. Smalltalk applications are usually distributed as an 'image' and a virtual machine (VM) for your platform. The image contains the application in a platform independent format and the VM executes it. Drag and drop the image onto the VM and it should run.

Whilst Pharo is in active development, you will see new images published frequently. You can download these to track changes. The VM should only change for major features or bug fixes.

Where do I report Pharo bugs?
How can I find out what needs to be done?

Great question. Check out the open issues in the bug tracker and ask on the mailing list. Your help is welcome!

How can I contribute to Pharo?

Check out the wiki page HowToContribute for a detailed description of how to submit code. There is also a screencast demonstrating the process.

Is there an online API reference?

See for an online reference. Note, the same information can also be obtained by browsing the code in the image. Searching for senders in the image, one can additionally find concrete examples of a given method.

How to interface with relational DBMS like PostgreSQL, MySQL, Oracle?

Check out SqueakDBX, a project that uses the open-source C library OpenDBX to interact with major relational database systems. There are also interfaces to NoSQL DBs, like Cassandra and CouchDB. You may also want to check out the Smalltalk object DB Magma. The GemStone solution GLASS, on the other hand, provides a whole stack including Seaside.

Pharo on Windows is terribly slow. What's wrong?

If you have an antivirus program like nod-32 running, exclude the directory where you have your Pharo image. With Seaside/Aida, another known problem (unrelated to Pharo) is that Firefox on Windows can be very slow if using IPv6. Use instead of localhost. For details see this mailing list discussion.

How can I make Pharo run on my Linux 64bits?

Pharo does not yet natively run on a 64bits Linux. Just install the ia32/i386 runtime libraries and you should be fine. On Ubuntu and other debian-based systems, these libraries are named 'ia32-libs'.

When I type certain characters a '?' is displayed. Why?

The standard font in Pharo covers the Latin-15 character set. Which means it should be able to display áíé, with a Unicode conversion
table. However, all input outside ASCII range is in Unicode, so to display those you need to change the fonts used to the one you know support those characters. To change fonts: System > Preferences > System fonts

Where do I ask questions about other Smalltalk projects like Seaside?

Nabble mirrors mailing lists of various Smalltalk projects, such as Gnu Smalltalk, Squeak, AIDA/Web, Seaside, Magritte/Pier, and Moose.

How can I put Pharo in demo mode with large fonts?

In Pharo 1.0 evaluate Preferences setDemoFonts

In Pharo 1.1 evaluate DemoSettingStyle new load
Or: in the setting browser click the style button (top button bar) then load item then choose demo mode.

How can I turn on halos?

Halos are hidden from the GUI and only available when you really need them. Option+shift+click displays the halos.

Something important missing?

Please ask your question and suggest new FAQ entries on the mailing list.