Repolode
pharo-project

pharo-project/pharo

Pharo is a pure object-oriented, Smalltalk-inspired programming language and live development environment with an IDE and OS-like tooling.

Stars
1,510
Forks
434
Open issues
1,534
Last commit
13 hours ago

What is it?

Pharo is a pure object-oriented programming language inspired by Smalltalk, paired with an integrated environment that combines an IDE and a runtime in one system. Its focus is simplicity and immediate feedback: code can be edited and executed live inside a running image rather than through a conventional compile-and-restart cycle.

This repository holds the sources of the Pharo image itself, exported in Tonel format, where packages are directories and each class lives in its own file. The image can be bootstrapped from source using a provided script, which can also be run inside Docker. Official builds are published as full graphical images and as a minimal image without the GUI, which suits server-side deployment.

The virtual machine that runs Pharo images is maintained in a separate repository. Contributions to the language and environment are handled through the project's contributing guide.

Key features

  • 01Pure object-oriented language in the Smalltalk tradition with reflection.
  • 02Live programming inside a running image with immediate feedback.
  • 03Integrated IDE and runtime in a single environment.
  • 04Bootstrap builds of the image from source, including via Docker.
  • 05Minimal image without GUI for server-side applications.

Use cases

  • Learning object-oriented programming through a live, reflective environment.
  • Building desktop or interactive tools that benefit from live editing.
  • Deploying server-side Smalltalk applications using the minimal image.

Quick start

  1. 1

    Download the stable Pharo version for your platform from pharo.org

  2. 2

    Or build a new image from sources with the bootstrap script

    ./bootstrap/scripts/bootstrap.sh

Things to know

  • The license could not be automatically identified (NOASSERTION), so check the repository's license files before use.
  • This repository contains only the image sources; the virtual machine is in a separate repository.
  • Bootstrapping from sources requires an existing stable Pharo image.

In collections

Topics

#smalltalk#programming-language#live-programming#object-oriented-programming#reflection#ide#bootstrap#language#mit#pharo

FAQ

What is pharo?
Pharo is a pure object-oriented, Smalltalk-inspired programming language and live development environment with an IDE and OS-like tooling. Pharo is a pure object-oriented programming language inspired by Smalltalk, paired with an integrated environment that combines an IDE and a runtime in one system. Its focus is simplicity and immediate feedback: code can be edited and executed live inside a running image rather than through a conventional compile-and-restart cycle.
Is pharo free to use? What license does it have?
pharo is open source under the Other license. Check the license terms before using it in commercial products.
Is pharo still maintained?
Actively maintained. The last commit to pharo was on Nov 7, 2026.
What can I use pharo for?
Learning object-oriented programming through a live, reflective environment. Building desktop or interactive tools that benefit from live editing. Deploying server-side Smalltalk applications using the minimal image.
How do I install pharo?
Download the stable Pharo version for your platform from pharo.org Or build a new image from sources with the bootstrap script: ./bootstrap/scripts/bootstrap.sh
Where can I get pharo?
The source code and installation instructions are on GitHub: https://github.com/pharo-project/pharo

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects