Overview
What Cuis is, and what sets it apart from other Smalltalks.
Cuis is an Open Source, multiplatform Smalltalk-80 system.
Above all, it is
- Small
- Clean
- Appropriable
Like any Smalltalk system, it is also
- A complete development environment written in itself
- A pure, dynamic Object Oriented language
Cuis assumes very little on the underlying platform, and this lets it run out-of-the-box on Windows, macOS, Linux, ChromeOS and web browsers. Cuis shares the OpenSmalltalk Virtual Machine with Squeak, Pharo and Newspeak.
Highlights
Package
Code management in Cuis is done with its package system and your preferred VCS. Cuis development is done on GitHub.
read more
Refactoring tools
The Cuis source code browser comes equipped with a set of refactoring features.
read more
Morphic 3 / Vector Graphics
The Morphic framework in Cuis has been redesigned to make building zoomable, vector graphics based GUIs easier than ever. Morphs are drawn by its high quality Vector Graphics back-end. It's entirely written with Cuis and accelerated with a plug-in.
read more
Small & Simple
Smalltalk is a small and consistent language. Cuis is a very compact implementation of Smalltalk. The user's ability to understand the system is one of the major concerns of the Cuis community.
Philosophy
What sets Cuis apart from other Smalltalk systems is the focus on the original values of the Smalltalk project at Xerox PARC, and an active attitude towards system complexity:
Unbound complexity growth, together with development strategies focused only in the short term, are the worst long term enemies of all software systems. As systems grow older, they usually become more complex. New features are added as layers on top of whatever is below, sometimes without really understanding it, and almost always without modifying it. Complexity and size grow without control. Evolution slows down. Understanding the system becomes harder every day. Bugs are harder to fix. Codebases become huge for no clear reason. At some point, the system can’t evolve anymore and becomes “legacy code”.
Complexity puts a limit to the level of understanding of the system a person might reach, and therefore limits the things that can be done with it. Dan Ingalls says all this in “Design Principles Behind Smalltalk”. Even if you have already done so, please go and read it again!
This presentation by Rich Hickey, “Simple Made Easy”, is also an excellent reflection on these values.
We follow a set of ideas that started with Jean Piaget’s Constructivism, and were further developed in Seymour Papert’s Mathland. These led to Alan Kay’s Learning Research Group’s Personal Computer for Children of All Ages, Personal Dynamic Media, i.e. the Dynabook, and to Smalltalk-80. To us, a Smalltalk system is a Dynabook. A place to experiment and learn, and a medium to express and register the knowledge we acquire. We understand software development as the activity of learning and documenting knowledge, for us and others to use, and also to be run on a computer. The fact that the computer run is useful is a consequence of the knowledge being sound and relevant. (Just making it work is not the important part!)
Cuis Smalltalk is our attempt at this challenge. Furthermore, we believe we are doing something else that no other Smalltalk, commercial or open source, does. We attempt to give a true Smalltalk-80 experience, and keep Smalltalk-80 not just as legacy software of historic significance, but as a live, evolving system. We feel we are the keepers of this Smalltalk heritage, and enablers of the Dynabook experience.
As Cuis evolves, we keep on these values. Every update, be it a bug fix or a feature enhancement, is reviewed carefully to avoid adding unneeded complexity to the system. Every opportunity to remove unneeded complexity is followed. As we go, features are enhanced, and any reported bugs fixed. We also engage in discussion and share code and knowledge with the wider Smalltalk community.
About the name
Cuis is the common name of a small animal that lives in Argentina’s countryside. Cuis Smalltalk was originally forked from Squeak Smalltalk, so picking the onomatopoeia of the voice of a mouse for the name makes sense. As the project was started in Buenos Aires, ‘Cuis’ (essentially ‘Squeak’ in Rioplatense Spanish) was the obvious choice.
License
Cuis is distributed subject to the MIT License. Any contribution must also be under the MIT License.
Portions of Cuis are:
Copyright (c) Xerox Corp. 1981, 1982
Copyright (c) Apple Computer, Inc. 1985-1996
Copyright (c) Contributors to Squeak Project. 1997-2026
Copyright (c) Contributors to Cuis Smalltalk Project. 2009-2026