Opentextbooks
Deep Into Pharo
Alexandre Bergel, Damien Cassou, Stéphane Ducasse, Jannik Laval
Computers & Technology
Deep Into Pharo
Free
The publisher has enabled DRM protection, which means that you need to use the BookFusion iOS, Android or Web app to read this eBook. This eBook cannot be used outside of the BookFusion platform.
Description
Contents
Reviews

"Pharo is a clean, innovative, open-source, live-programming environment. Deep into Pharo is the second volume of a series of books covering Pharo. Whereas the first volume is intended for newcomers, this second volume covers deeper topics. You will learn about Pharo frameworks and libraries such as Glamour, PetitParser, Roassal, FileSystem, Regex, and Socket. You will explore the language with chapters on exceptions, blocks, small integers, and floats. You will discover tools such as profilers, Metacello and Gofer."--Open Textbook Library.

Language
English
ISBN
978-3-9523341-6-4
Preface
Libraries
Zero Configuration Scripts and Command-Line Handlers
Getting the VM and the Image
Getting the VM only
Handling command line options
Anatomy of a handler
Using ZeroConf script with Jenkins
Chapter summary
Files with FileSystem
Getting started
Navigating a file system
Opening read and write Streams
Renaming, copying and deleting files and directories
The main entry point: FileReference
Looking at FileSystem internals
Chapter summary
Sockets
Basic Concepts
TCP Client
TCP Server
SocketStream
Tips for Networking Experiments
Chapter summary
The Settings Framework
Settings architecture
The Settings Browser
Declaring a setting
Organizing your settings
Providing more precise value domain
Launching a script
Start-up actions management
Extending the Settings Browser
Chapter summary
Regular Expressions in Pharo
Tutorial example—generating a site map
Regex syntax
Regex API
Implementation notes by Vassili Bykov
Chapter summary
Source Management
Versioning Your Code with Monticello
Basic usage
Exploring Monticello repositories
Advanced topics
Getting a change set from two versions
Kinds of repositories
The .mcz file format
Chapter summary
Gofer: Scripting Package Loading
Preamble: Package management system
What is Gofer?
Using Gofer
Gofer actions
Some useful scripts
Chapter summary
Managing Projects with Metacello
Introduction
One tool for each job
Metacello features
A simple case study
Loading a Metacello Configuration
Managing dependencies between packages
Baselines
Groups
Dependencies between projects
About dependency granularity
Executing code before and after installation
Platform specific package
Milestoning development: symbolic versions
Load types
Conditional loading
Project version attributes
Chapter summary
Frameworks
Glamour
Installation and first browser
Presentation, Transmission and Ports
Composing and Interaction
Chapter summary
Agile Visualization with Roassal
Installation and first visualization
Roassal core model
Detailing shapes
Edges: linking elements
Layouts
Events and Callbacks
The interaction hierarchy
Understanding a View's Camera
Beyond Pharo
Chapter summary
Scripting Visualizations with Mondrian
Installation and first visualization
Starting with Mondrian
Visualizing the Collection framework
Reshaping nodes
Multiple edges
Colored shapes
More on colors
Popup view
Subviews
Forwarding events
Events
Interaction
Chapter summary
Language
Handling Exceptions
Introduction
Ensuring execution
Handling non-local returns
Exception handlers
Error codes — don't do this!
Specifying which exceptions will be handled
Signaling an exception
Finding handlers
Handling exceptions
Comparing outer with pass
Exceptions and [mathescape=false,backgroundcolor=white,basicstyle=]ensure:/ifCurtailed: interaction
Example: Deprecation
Example: Halt implementation
Specific exceptions
When not to use exceptions
Exceptions implementation
Ensure:'s implementation
Chapter summary
Blocks: a Detailed Analysis
Basics
Variables and blocks
Variables can outlive their defining method
Returning from inside a block
Contexts: representing method execution
Message execution
Chapter conclusion
Exploring Little Numbers
Power of 2 and Numbers
Bit shifting is multiplying by 2 powers
Bit manipulation and access
Ten's complement of a number
Negative numbers
Two's complement of a number
SmallIntegers in Pharo
Hexadecimal
Chapter summary
Fun with Floats
Never test equality on floats
Dissecting a Float
With floats, printing is inexact
Float rounding is also inexact
Fun with inexact representations
Chapter summary
Tools
Profiling Applications
What does profiling mean?
A simple example
Code profiling in Pharo
Read and interpret the results
Illustrative analysis
Counting messages
Memorized Fibonacci
SpaceTally for memory consumption per Class
Few advices
How MessageTally is implemented?
Chapter summary
PetitParser: Building Modular Parsers
Writing parsers with PetitParser
Composite grammars with PetitParser
Testing a grammar
Case Study: A JSON Parser
PetitParser Browser
Packrat Parsers
Chapter summary
Biographies
The book hasn't received reviews yet.
You May Also Like
EnterprisePharo
Free
Damien Cassou, Stéphane Ducasse, Luc Fabresse, Johan Fabry, Sven van Caekenberghe
EnterprisePharo
Object-Oriented Reengineering Patterns
Free
Serge Demeyer, Stéphane Ducasse, Oscar Nierstrasz
Object-Oriented Reengineering Patterns
Pharo by Example 5
Free
Stéphane Ducasse, Dimitris Chloupis, Nicolai Hess, Dmitri Zagidulin
Pharo by Example 5
Opportunities in Aviation
Free
Gordon Lamont, Arthur Sweetser
Opportunities in Aviation
Official Views Of The World's Columbian Exposition
Free
H. D. Higinbotham, C. D. (Charles Dudley) Arnold
Official Views Of The World's Columbian Exposition
Opening Ceremonies of the New York and Brooklyn Bridge, May 24, 1883
Free
William C. Kingsley, Seth Low, Franklin Edson
Opening Ceremonies of the New York and Brooklyn Bridge, May 24, 1883