Quinn's SmallTalk System

Created on 2022-09-14T21:42:27-05:00

Return to the Index

This card can also be read via Gemini.

Handles

Objects are formally identified by opaque handles.

These may be pointers in some systems, ID numbers exposed over a network, or a path to the objects (as in CORBA, HTTP.)

Selectors

A selector identifies the method to be called.

Selectors formally use kebab case (as in Lisp.) That means words are separated with a dash. If the environment does not allow that then they may be informally referenced with underscores (snake case.) Camel Case should be avoided as it presents readability issues.

In SmallTalk fashion parameter names are sandwiched in to the name of a selector. Parameters are noted with a colon and multiple parameters are sandwiched. Unary selectors have no colon.

bonk
show:
send-to-player:message:

When written out a selector starts with a hash sign. So you would refer to the bonk selector as #bonk.

Capabilities

Capabilities are a special set of identifiers that control how requests are processed. An example of capabilities is using them to control version tags or special dialects. A capability of "misskey-v1" might suggest a reciever should interpret #shitpost: in some way that is different from "misskey-v2".