Skip to content
Pharo
EntityQ369096· pop 11· linked from 58 articles

Pharo is a cross-platform implementation of the classic Smalltalk-80 programming language and runtime system. It is based on the OpenSmalltalk virtual machine (VM) named Cog, which evaluates a dynamic, reflective, and object-oriented programming language with a syntax closely resembling Smalltalk-80. It is free and open-source software, released under a mix of MIT, and Apache 2 licenses.

Key facts

Programming language.name
Pharo
Programming language.logo
Pharo Logo v3.0.svg
Programming language.logo_size
200px
Programming language.logo caption
Pharo logo with lighthouse
Programming language.screenshot
Pharo 6.0.jpg
Programming language.screenshot_size
250px
Programming language.paradigm
object-oriented
Programming language.family
Smalltalk: Squeak
Programming language.developer
Pharo community
Programming language.typing
dynamic
Programming language.programming language
Smalltalk
Programming language.operating system
Windows, Linux, macOS, others
Programming language.platform
ARM, IA-32, x86-64
Programming language.license
MIT, partly Apache 2.0
Programming language.influenced by
Smalltalk (Squeak)

via Wikipedia infobox

Source code

This repository contains sources of the Pharo language. Pharo is a pure object-oriented programming language and a powerful environment, focused on simplicity and immediate feedback (think IDE and OS rolled into one). Visit us on or Pharo Discord Server This repository contains only sources of the Pharo image. The virtual machine source code is managed in a separate repository: Automated Builds The minimal image contains the basic Pharo packages without the graphical user interface. It is useful as a base for server-side applications deployment. Minimal image latest build - 64bit Minimal image latest build - 32bit To bootstrap a new Pharo image you need the latest stable version of Pharo. For more information about bootstrapping, refer to guillep/PharoBootstrap. You can set the BUILD NUMBER environment variable to a unique integer (this is typically used only for the official builds and will default to 0 if not specified). You can set the BOOTSTRAP ARCH environment variable to either 64 (the default) or 32 . You can set the BOOTSTRAP REPOSITORY and BOOTSTRAP CACHE environment variables to do the bootstrap outside of the source repository. You can set the BOOTSTRAP VMTARGET environment variable to make the bootstrap use a virtual machine already present in your system (otherwise it will download it). If you are on a branch that doesn't follow the expected naming convention (' PharoX.Y '), then the script will pick an appropriate default (such as Pharo12.0 ). To build Pharo12.0 from a custom branch, you need to set BRANCH NAME=Pharo12 before the bootstrap script is run. You can also use Docker if you prefer to control the bootstrapping environment completely. The following Dockerfile provides a Docker image with a fresh build. You can repeat the command git pull && ./bootstrap/scripts/bootstrap.sh in a container at any time: Alternatively, in the root directory of this project (after a git clone ), you can set up a Docker volume pointing to the project directory and build from within the Docker container (nice for Windows environments!): This source code repository is exported in Tonel format. In this format, packages are represented as directories and each class is inside a single file. Pharo is an open source project very friendly to contributions of the users. See the document CONTRIBUTING how you can help to improve Pharo.

Excerpt from the source-code README · 5,452 chars · not written by Vinony

Wikidata facts

Official website
pharo.org
Image
Pharo 6.0.jpg
Show 4 more facts
Commons category
Pharo
inception
2008-00-00
software version identifier
13.1.0
source code repository URL
github.com/pharo-project/pharo
Sources (3)

via Wikidata · CC0

~7 min read

Article

14 sections
Contents
  • Overview
  • Key features
  • Virtual machine
  • Built-in software
  • Language features
  • Relation to Smalltalk
  • Language syntax
  • History
  • Use of Pharo
  • Companies and consultants
  • Performance and virtual machine (VM)
  • See also
  • References
  • External links

Pharo is a cross-platform implementation of the classic Smalltalk-80 programming language and runtime system. It is based on the OpenSmalltalk virtual machine (VM) named Cog, which evaluates a dynamic, reflective, and object-oriented programming language with a syntax closely resembling Smalltalk-80. It is free and open-source software, released under a mix of MIT, and Apache 2 licenses.

Pharo is shipped with source code compiled into a system image that contains all software needed to run Pharo. Like the original Smalltalk-80, Pharo provides several live programming features such as immediate object manipulation, live updates, and just-in-time compilation (JIT). The system image includes an integrated development environment (IDE) to modify its components.

Gallery (2)

Available in 10 languages

via Wikidata sitelinks · CC0

Connections

Categories