- Jan 2024
-
cuis-smalltalk.github.io cuis-smalltalk.github.io
-
Cuis-Smalltalk is a pure object oriented programming (OOP) language. All the entities in the language: integers, floats, rational numbers, strings, collections, blocks of code and so forth – every instance usable as a noun in Smalltalk – is an object.
ProtoObject new
enters an infinite loop in Cuis University 5981. Fixed in Cuis.
-
- Dec 2023
-
cuis-smalltalk.github.io cuis-smalltalk.github.io
-
For Cuis-Smalltalk, we built Morphic 3, the third design iteration of these ideas, after Self’s Morphic 1 and Squeak’s Morphic 2. If you already know Morphic in Self or Squeak, most concepts are similar, although with some improvements: Morphic 3 coordinates are not limited to being integer numbers, the apparent size (zoom level) of elements is not tied to pixel density, and all drawing is done with high quality (subpixel) anti aliasing. These enhancements are enabled by the huge advance in hardware resources since Self and Squeak were designed (in the late 80’s and late 90’s respectively). Additionally, careful design of the framework relieves Morph programmers from much the complexity that was required, especially with regards to geometry.
Vector Graphics is actually what got the Cuis project started. In 2003, ten years before the Retina display, I (Juan Vuletich) decided that making Morphic zoomeable and independent of pixel resolution would require completely abandoning back compatibility with the existing Morphic in Squeak. I took Squeak 3.7 and started working on what would later be named Cuis Smalltalk.
—Juan Vuletich, Vector Graphics and Morphic 3
-
-
cuis-smalltalk.github.io cuis-smalltalk.github.io
-
Include a note about specific Cuis idioms, explain why they exist, and link to discussion and documentation: * backticks for compound literals * double colon as an alternative to parentheses * #[aFloat] for Float64Array * #[anInteger] for ByteArray
See the thread Language Constructs initiated by Erik Stel in the Cuis-dev mailing list in 2020-05; especially the answers by Juan Vuletich.
Backtick compound literals
... In some cases it can improve performance or reduce memory usage. But the deeper reason is to put all classes in equal footing with those privileged ones that are known by the Compiler.
More here
-
-
cuis-smalltalk.github.io cuis-smalltalk.github.io
-
You have noticed that text typed into the Workspace is colored and highlighted based on what you type. We will discuss this below when we talk about the Smalltalk language, but the idea is to be helpful. If you start to type a word the Cuis Workspace knows about, you can press the tab key and get a set of choices for completion of the word. Try typing Float epsi and pressing tab. You can then press enter and should see Float epsilon. Click elsewhere on the Workspace to make this menu go away.
Autocompletion is vastly improved by LiveTyping readly available in Cuis University.
-
- Sep 2023
-
cuis-smalltalk.github.io cuis-smalltalk.github.io
-
The code examples in the online version can be directly copied and pasted into Cuis-Smalltalk. This is why the assignment character “←” you see in the developer Cuis-Smalltalk window is printed as “:=” in the online version of the book. The same applies with the return character “↑” printed as “^” in the online version.
Cuis University differs from Cuis in that it disables the original left arrow assignment ← and return ↑ glyphs by default, preferring the ANSI Smalltalk syntax, namely
:=
and^
. In order to revert and display the arrow glyphs evaluateSmalltalk Preferences name: #showAssignmentAsLeftArrow category: #programming value: true
The two keystrokes:=
will be shown as ←. Note that typing the underscore character will still show a ← regardless of the setting.
-