The VikiD Truth

Knowledge base / Computing / Smalltalk, Forth & others

Read This! | | Quick Links | Algorithms | AssemblyLanguage | BASH | C-Programmming | CommonLisp | Computer Security | CuisSmalltalk | Databases | Emacs | Exploitation | Functional Programming | Firewalls | Git | GNUSmalltalk | Haskell | Javascript | Julia | Linux | Machine Learning | Metasploit |Machine Learning | Networking | Operating Systems |Open Data Science | Odin | Picolisp | Pharo Smalltalk | Purescript | Python | Racket | Scheme | Social Engineering | Unity | vim | V | Web Development | Windows WSL | Zig

Terse Guide

Cuis Smalltalk

Here is the truth about Cuis: it is Smalltalk stripped back to something one person can understand completely – a personal computing environment that still fits in a single mind. If Pharo is a bustling city, Cuis is a well-kept village with excellent roads.

What it is, in plain words

Cuis Smalltalk (often just Cuis) is a free Smalltalk-80 descendant maintained by Juan Vuletich and contributors, focused on:

You live inside the image: browser, workspace, transcript, debugger – the classic Smalltalk tools. Packages extend it without turning the core into a jungle.

Why it matters

Most modern environments bury you under abstractions you can’t finish reading. Cuis is a bet that a comprehensible personal system still matters – the same bet I recognise in PicoLisp and Void. Studying Cuis teaches OOP as message passing, not as a keyword museum, and it is pleasant.

An everyday analogy: a hand-built bicycle

Pharo is an e-bike with a app store. Cuis is a steel-frame road bike you can strip and rebuild on the kitchen table. Slower to acquire gadgets; faster to understand every click.

A hands-on example

Download the image and VM from the Cuis site, start it, and in a Workspace evaluate:

3 + 4 * 2.                         "14 – left to right"
(1 to: 10) sum.                    "55"
Morph new openInWorld.             "a rectangle you can drag"

Object subclass: #Counter
  instanceVariableNames: 'count'
  classVariableNames: ''
  poolDictionaries: ''
  category: 'Demo'.

Counter compile: 'initialize
  count := 0'.
Counter compile: 'inc
  count := count + 1'.
Counter compile: 'count
  ^ count'.

c := Counter new inc inc.
c count.                           "2"

Browse the class with the Browser, set a breakpoint, and enjoy a debugger that is the environment. Compare with GNU Smalltalk (file-oriented) and Pharo (larger ecosystem).

Common misconceptions

Living in the image

Save often. Use commits of the image or FileOut packages when you experiment. The debugger is not a failure state – it is the normal way to understand a running object. If you come from file-oriented languages, schedule a week to unlearn “edit-compile-restart” and learn “change-the-object-while-it-runs”. That week is the whole point of Smalltalk.

Connections

Terse Guide

Videos

Historical

Last edited · 5 revisions

Tags: #Computing