Draft:Cuis Smalltalk

Cuis is an open source, multiplatform, Smalltalk-80 system.

Introduction
Cuis Smalltalk implements a full IDE with many tools for live, reflective Metaprogramming, code refactoring, unit testing, test-driven development, and performance profiling, with syntax highlighting and command-line completion.

Cuis adheres closely to Dan Ingalls' Design Principles Behind Smalltalk. . For example, Personal Mastery states that “If a system is to serve the creative spirit, it must be entirely comprehensible to a single individual”. Thus, Cuis began as a project to reduce the size of the Squeak 3.7 development image, by removing non-essential dependencies, simplifying its design, and improving the Morphic Direct manipulation interface.

Notable Features
The Cuis learning strategy is to have a small kernel of code for a user to master and then to be able to learn and understand each added feature by using tools to look at the code differences each feature implements. Maintaining a small core is aided by a composition strategy of packaged features which specify their requirements. These requirements are checked transitively when packages are loaded and any missing but required packages are automatically loaded in the proper order .

Cuis graphic rendering is unusual in that it does not rely on external libraries like Cairo or FreeType but instead implements its own antialiased rendering engine written in Smalltalk which uses a sampling algorithm based on Digital Signal Processing

The Morphic graphical user interface has been reengineered to render antialiased scalable vector graphics with zoomable graphic elements .

TrueType fonts are supported, also implemented and rendered in Smalltalk.

Unicode is used for all text strings and symbols , again without reliance on external libraries.

The continual pruning of any unneeded code in the base development image, even as new features were added, has led over time to a significant divergence from siblings Squeak and Pharo, a measure of which is the number of classes in the base development image. A comparison of Smalltalk implementations sharing the OpenSmalltalk virtual machine : Cuis 7.0 (675 Classes), Squeak 6.0 (2832 Classes), Pharo 11.0 (9986 Classes).

Usage

 * Interactive Geometry: GNU Dr. Geo has been reimplemented in Cuis.


 * Computer Algebra


 * Music composition, processing, performance, and analysis


 * Rich Text Editing with Styles


 * Ray Tracing


 * Arithmetic with measures and units

Education

 * Cuis University is an environment created especially for teaching software design, object oriented programming, and software engineering based on Cuis Smalltalk. Cuis University adds packaged tools for Code Refactoring, including automatic refactorings , Live Typing and Test Driven Development
 * Dr Geo is also used in the classroom.

Extensions

 * Haver On Cuis: A Cuis based Smalltalk with Namespaces and Modules