Assuming there’s a user is sometimes a bad idea

Frank Shearar wrote “Squeak has a very strong (historic) assumption that there’s a(n interactive) user interface. I stumbled across another occurrence of this assumption the other day. Let’s take a look at the problem, and how to fix it.”

Breaking inter-package dependencies through Squeak’s pragma preferences

Frank Shearar wrote “The Preferences class provides a common place for all parts of a Squeak Smalltalk image to register their switches: Which update stream do we want to follow? What colour do we want our Browsers? Do we allow assignments to block parameters? Do we allow underscores in selector names? Preferences range from low level things that…”

Resumable exceptions for separating packages

Frank Shearar wrote “Resumable exceptions form a key component of the Smalltalk infrastructure. They are one of the standard means of communicating along the call stack, much like Common Lisp’s condition system. They can, however, add a “cross layer” dependency.”

One thing and one thing only

Frank Shearar wrote “Package dependencies appear in many ways, some more surprising than others. Let’s see what we’ve recently dug up in the trenches.”

A Double Fugue in Traits

Frank Shearar wrote “Traits provide a means of composing an object’s functionality out of smaller, simpler parts. Verbs being limited in number, especially good ones, sometimes you want to compose two traits that share names. Today we’re going to look at how to resolve the dispute.”

Non-blocking parsing

Frank Shearar wrote “Last month we saw one way how to produce decent error messages while parsing. I’ve also mentioned that parsing with derivatives is a non-blocking parsing technique. What’s that actually mean?”

Reporting parser errors

Frank Shearar wrote “We like parsers. One of the things that really kills the vibe with parsers is a rubbish error message. Given the technical interestingness of parsing with derivatives, can we get useful error messages out of them?”

Just In Time Development

Frank Shearar wrote “Since the dark ages of yesteryear Squeak has had a very interesting button in its Debugger – “create”. Today we’re going to teach it a new trick.”

Squeak 4.4 released

Frank Shearar wrote “Squeak 4.4 Ulam Spiral is finally ready to be born. I semi-volunteered to be its release manager, and I’d like to look back over the last six months and talk a bit about what’s happened.”

Compacting cyclic parsers

Frank Shearar wrote “When I wrote my Smalltalk deriving-with-parsers library, I ran into an issue with compaction: cycles in the parser. Self-referencing parsers (corresponding to left- and right-recursive rules) occur naturally, so I couldn’t hide from the problem. I investigated two ways to introduce circularity as well as how to compact these graphs: delegates, and “sutures”.”