Part II – The Return Journey Welcome to the next step in the compiler journey. As a simple recap, we were compiling baz := 42 in a method bar, except that baz is not declared. We are currently in OCSemanticWarning>>#defaultAction, the default action of an uncaught Notification, that is ready to open a graphical menuContinue reading “Undeclared Variable Reparation, An Epic Journey In a Compiler – Part II”
Category Archives: tools
Undeclared Variable Reparation, An Epic Journey In a Compiler – Part I
In this series of posts, I present how the current implementation of Pharo handles compilation errors on undeclared variables and the interactive reparation to fix them. Targeted readers are people interested in compilers or object-oriented programming. Non-Pharo developers are welcome since knowledge of the language or the developing environment is not required. Some parts ofContinue reading “Undeclared Variable Reparation, An Epic Journey In a Compiler – Part I”
Resurrecting Dead Images
With the abstractions provided by Polyphemus, it took us less than an hour to fix this image and recover days of work.
Dynamic layouts with Spec2
As you may already know, Spec2 is the new version of the UI framework: Spec. Spec2 is not just a new version but a complete rewrite and redesign of Spec1. Contrary to Spec1, in Spec2 all the layouts are dynamic. It means that you can change on the fly the elements displayed. It is aContinue reading “Dynamic layouts with Spec2”
Advanced stepping and custom debugging actions in the new Pharo debugger
In this article, we describe the new advanced stepping menu available in the debugger. These advanced steps provide convenient and automated debugging actions to help you debug your programs. We will see how to build and add new advanced steps, and how to extend the debugger toolbar with your own customized debugging menus. Advanced stepsContinue reading “Advanced stepping and custom debugging actions in the new Pharo debugger”
Running Pharo 9 in Docker
Docker is an excellent tool to manage containers, and execute applications on them. This is not a discovery!! The idea of this post is to show how easy and simple is to have a Pharo 9 Seaside application running in Docker. Initial Considerations This post is based in the excellent Docker image written by theContinue reading “Running Pharo 9 in Docker”
Download musics from Google Play Music
Introduction Google Play Music (GPM) is a service proposed by Google to listen musics online (like Spotify, Deezer, …). Having a premium subscription, I can listen a lot of music by using the online service, but when I have no internet connection… I cannot 😦 . So I wanted to download the music ^^. ApproachContinue reading “Download musics from Google Play Music”
Object-centric breakpoints: a tutorial
The new Pharo debugger is shipped with object-centric breakpoints. An object-centric breakpoint is a breakpoint that applies to one specific object, instead of being active for all instances of that object’s class. We have two kinds of object-centric breakpoints: The haltOnCall breakpoint: give it a method selector and a target object, and the system willContinue reading “Object-centric breakpoints: a tutorial”
Testing UFFI Binding with Travis
Part of software system development is to write tests. More than writing tests, developers want to set up a CI that will automatically (each commit, day, …) check the status of the project tests. While it is easy to use Travis as a CI system thanks to the work of smalltalkCI, setting up Travis toContinue reading “Testing UFFI Binding with Travis”
Ed: your new Emergency Debugger
“What is the nature of your debugging emergency?” —Ed. In this post, we’ll speak about debugging emergencies due to system error handling failures. We’ll cover the current tools available to revert code changes provoking such failures and introduce Ed, the new emergency debugger with improved revert capabilities. What is a debugging emergency? Sometimes when youContinue reading “Ed: your new Emergency Debugger”