CS Cabal

Toronto-based reading group that meets weekly to read computer science books and papers.

Currently reading: The Little Typer

GuildMeetup listings

Mastodon Social Hub

Mailing list Communication nexus

Code of Conduct Must read

Message Passing Object Systems

January 26, 2015

By Scott

Hey Team!

Last week’s topic of “Open, exendible object systems” garnered a lot of interesting discussion! At first inspection the topic bears resemblance to many concepts near to our hearts and text editors, but the paper contains many subtleties, that may take some time to fully digest, possibly more time than we can pack into one Friday after work session.

This week, Ben will be moderating the discussion of Chris Strachey’s beautiful paper, “Fundamental Concepts in Programming Languages”, (http://www.itu.dk/courses/BPRD/E2009/fundamental-1967.pdf), through to section 3.7. We will meet at the usual time and place, Bento Miso at 6:30pm on Friday Jan 30.

Following up on the discussion from last week’s paper (http://piumarta.com/software/cola/objmodel2.pdf), Leo brought up some interesting videos: Guy Steele on how to grow a language, http://youtu.be/_ahvzDzKdB0, and Gerald Sussman on human computational abilities http://www.infoq.com/presentations/We-Really-Dont-Know-How-To-Compute .

In general, it felt like we only scratched the surface of really understanding the thought process behind the paper, but some attendees (we won’t out you publicly :) were excited to try using the code provided for a couple of projects, so we know at least 1 mysterious “end-user” mentioned in the paper. I’m not sure how much we agreed on many of the aspects discussed, however Dann provided a nice summary of the elegant approach they take in the paper with their message passing object model:

“My big takeaway was that we can factor a message-passing object oriented system down to 8 primitives, and from those build up any kind of inheritance or dispatching we might like. We might not always want to use that exact model, but knowing that it exists – much like knowing that all of Lisp can be built up from 9 primitives – provides a known point in the design space which we can use as a guide on our hill-climbing.”

Thanks Dann! And hope to see you all again Friday, Scott?