Skip to Main content Skip to Navigation

Characterizing Pharo Code: A Technical Report

Oleksandr Zaitsev 1, 2 Stéphane Ducasse 1 Nicolas Anquetil 1
1 RMOD - Analyses and Languages Constructs for Object-Oriented Application Evolution
Inria Lille - Nord Europe, CRIStAL - Centre de Recherche en Informatique, Signal et Automatique de Lille - UMR 9189
Abstract : Pharo ( is a modern dynamically-typed reflective pure object-oriented language. It is inspired from Smalltalk. Its unconventional syntax mimics natural language: arguments are not grouped around parentheses at the end but within the message, making expressions looks like sentences. In addition, all control flow operations are expressed as messages and the programmer can freely define new ones and as such define Domain Specific Languages for his task. In this technical report we discuss the statistical properties of source code that people write using Pharo programming language. We present the methodology and tooling for analysing source code selected from the projects of Pharo ecosystem. By analysing 50 projects, consisting of 824 packages, 13,935 classes, and 151,717 methods, we answer questions such as "what is a typical method length?" or "what percent of source code are literals?".
Document type :
Complete list of metadata

Cited literature [30 references]  Display  Hide  Download
Contributor : Oleksandr Zaitsev Connect in order to contact the contributor
Submitted on : Tuesday, January 14, 2020 - 10:27:14 PM
Last modification on : Monday, November 29, 2021 - 4:12:03 PM
Long-term archiving on: : Wednesday, April 15, 2020 - 8:18:22 PM


Files produced by the author(s)


  • HAL Id : hal-02440055, version 1



Oleksandr Zaitsev, Stéphane Ducasse, Nicolas Anquetil. Characterizing Pharo Code: A Technical Report. [Technical Report] Inria Lille Nord Europe - Laboratoire CRIStAL - Université de Lille; Arolla. 2020. ⟨hal-02440055⟩



Record views


Files downloads