Imagine that you want to find a specific expression and that you want to find it in the complete system. How many classes would you have to look for? How can you be sure that you did not miss any class and being sure that you won’t be frustrated because of the number of issuesContinue reading “What is RBParseTreeSearcher ?”
Category Archives: data structures
Using styles in Spec applications
In this post we will see how to use custom styles in Spec applications. We will start to present styles and then build a little editor as the one displayed hereafter. We will show that an application in Spec manages styles and let you adapt the look of a presenter. How do styles work? StylesContinue reading “Using styles in Spec applications”
Binding an external library into Pharo
In this post I am going to show you how to call external functions from a Pharo image. Here, we are going to use the LAPACK (Linear Algebra Package) library that is written in Fortran. Why do we need this library? In the Pharo AI project (https://github.com/pharo-ai), we are working on an implementation of linearContinue reading “Binding an external library into Pharo”
Debugging the JIT compiler Hotspot detection for ARM64
The other day we were working on the compiler detection of hotspots, originally implemented by Clément Béra during his PhD thesis. In Sista, hotspot detection is implemented as a countdown that looks like the following: the counter is loaded in a register, decremented and then a jump if carry detects if the substraction underflowed. WeContinue reading “Debugging the JIT compiler Hotspot detection for ARM64”
Installing Pharo in Linux using the System Package Manager
One of the improvements that we are including in Pharo 9 is the update of the build process in OpenBuildService. This service allows us to produce packages for different distributions of Linux. These pacakges are built using the versions loaded in the distribution and they can be installed and updated using the tools present inContinue reading “Installing Pharo in Linux using the System Package Manager”
A Taste of Ephemerons
For a couple of years now, Pharo includes support for Ephemerons, originally introduced with the Spur memory manager written by Eliot Miranda. For the upcoming Pharo 9.0 release, we have stressed the implementation (with several hundred thousands Ephemerons), make it compatible with latest changes done in the old space compaction algorithm, and made it aContinue reading “A Taste of Ephemerons”
Debugger Extensions in Pharo 9.0
Did you ever want to get the value of an expression each time you navigate the debugger stack? This is what we will show in this tutorial: you’ll learn how to implement a new extension for the StDebugger in Pharo9.0: the ‘Expression Evaluator StDebugger Extension’ (or simply EvaluatorDebugger for short) – that allows the evaluationContinue reading “Debugger Extensions in Pharo 9.0”
First Apple M1 Pharo Version
This post is now out-dated. The current version is available in Pharo Zero-Conf, and in the future in the Pharo Launcher. Check https://get.pharo.org/ After receiving the new Apple Mini with the M1 processor, we are producing the first version of the Pharo VM. This version, is a base version that lacks JIT optimizations and requiresContinue reading “First Apple M1 Pharo Version”
Debugging CMake project on Windows ARM64 with Visual Studio
If you have a Windows ARM64 machine such as the Surface Pro X, chances are you may want to debug native ARM64 applications with it. However, as of today 2/12/2020, Windows does not support local debugging of ARM64 applications, but only remote debugging. Moreover, CMake projects cannot be configured to use remote debugging, or IContinue reading “Debugging CMake project on Windows ARM64 with Visual Studio”
A VM bug?… No, an image one
Today, some Pharo users asked why we have lost a nice feature in Mac OS X. In this operating system, it is possible to Cmd-Click on the title of a window, if the window represents an open document, a nice menu showing all the path to it appears. Also, the user can select to openContinue reading “A VM bug?… No, an image one”