You can edit almost every page by Creating an account. Otherwise, see the FAQ.

Cuis Smalltalk

From EverybodyWiki Bios & Wiki

Script error: No such module "Draft topics". Script error: No such module "AfC topic".

Cuis Smalltalk
Cuis Smalltalk IDE
ParadigmObject-oriented, Class-based, reflective
DeveloperCuis Community, project lead: Juan Vuletich
First appeared2004; 20 years ago (2004)
Stable release
7.0 / May 31, 2024; 5 months ago (2024-05-31)
Preview release
Typing disciplineDuck, dynamic, strong typing
Implementation languageSmalltalk
PlatformMultiplatform
OSWindows, Linux, MacOS, others
LicenseMIT license
Websitecuis.st
Influenced by
Smalltalk (Squeak Pharo)
Influenced
Squeak Pharo "Haver".

Search Cuis Smalltalk on Amazon.

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

Introduction[edit]

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.[1]. 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[2].

Notable Features[edit]

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 [3][4].

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 [5]

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

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

Unicode is used for all text strings and symbols [8], 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[9]: Cuis 7.0 (675 Classes), Squeak 6.0 (2832 Classes), Pharo 11.0 (9986 Classes).

Usage[edit]

  • Computer Algebra [11]
  • Music composition, processing, performance, and analysis [12]
  • Rich Text Editing with Styles [13]
  • Arithmetic with measures and units [15]

Education[edit]

Extensions[edit]

  • Haver On Cuis: A Cuis based Smalltalk with Namespaces and Modules [21]

History[edit]

Version Release date Major features
Cuis 0 September, 2004 Etoys code removed from Morphic UI
Cuis 1.0 April 26, 2007 High Quality Fonts (later adapted by Squeak & Pharo)
Cuis 2.0 Jan 4, 2010 BlockClosures
Cuis 3.0 January 14, 2011 Modern Themes; Simplified UI Layout Algorithm
Cuis 4.0 April 21, 2012 Name Completion; Syntax Highlighting; Named Features as Code Packages autoload with requirements checking
Cuis 5.0 November 11, 2016 Support original and new 32 bit and 64 bit object image formats
Cuis 6.0 December 31, 2021 TrueType Fonts, Zoomeable Morphic UI, SVG Morphs, VectorGraphics Engine, All text now Unicode (UTF-8)
Cuis 7.0 May 31, 2024 New release process. Stable Releases. Dynamic Compiled Libraries, Bootstrap of minimal images. Immediate Unicode Characters

See also[edit]

External links[edit]

References[edit]

  1. Ingalls, Dan (August 1981). "Design Principles Behind Smalltalk".
  2. Vuletich, Juan. "A Short History of Cuis". GitHub.
  3. Fernandes, Hilaire; Dickey, Ken; Vuletich, Juan (February 16, 2023). "The Cuis Book".
  4. "The Cuis Book" (PDF). GitHub.
  5. Vuletich, Juan. "Prefiltering Antialiasing for General Vector Graphics".
  6. Vuletich, Juan. "Vector Graphics In Cuis Smalltalk" (PDF). GitHub.
  7. Vuletich, Juan. "The Smalltalk With Zoomable Vector Graphics" (PDF). GitHub.
  8. Vuletich, Juan. "Unicode support in Cuis Smalltalk".
  9. Miranda, Eliot; Béra, Clément; Gonzalez Boix, Elisa; Ingalls, Dan (2018). "Two decades of smalltalk VM development: live VM development through simulation tools" (PDF). Proceedings of the 10th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate Languages (PDF). ACM Digital Library. pp. 57–66. doi:10.1145/3281287.3281295. ISBN 9781450360715. Archived from the original on 2022-10-09. Retrieved 2020-11-09. Unknown parameter |url-status= ignored (help); Unknown parameter |s2cid= ignored (help) Search this book on
  10. Fernandes, Hilaire. "Workshop: Develop end user GUI application with Cuis".
  11. Notarfrancesco, Luciano. "Arrows: a Computer Algebra System in Smalltalk".
  12. Pope, Stephen. "Siren music framework". GitHub.
  13. Pieber, Bernhard. "StyledTextEditor - Rich Text Editing with Style". GitHub.
  14. Notarfrancesco, Luciano. "Ray Tracer". GitHub.
  15. Wilkinson, Hernán; Prieto, Máximo; Rome, Luciano (2005). "Arithmetic with measurements on dynamically-typed object-oriented languages". Companion to the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications. pp. 292–300. doi:10.1145/1094855.1094964. ISBN 1-59593-193-7. Unknown parameter |s2cid= ignored (help) Search this book on
  16. "Cuis University". GitHub.
  17. Garbezza (2020), Nahuel. "Mejorando el ambiente de programación Cuis Smalltalk con refactorings esenciales" (PDF).
  18. Balboa, Fernando. "Implementación de refactorings automáticos en lenguajes con LiveTyping" (PDF).
  19. Wilkinson, Hernan (April 2019). VM support for live typing: automatic type annotation for dynamically typed languages. pp. 1–3. doi:10.1145/3328433.3328443. ISBN 978-1-4503-6257-3. Unknown parameter |s2cid= ignored (help) Search this book on
  20. Fuentes, Gerardo. "Análisis de la evolución del aprendizaje y uso de TDD" (PDF).
  21. "Haver: Cuis with namespaces and modules".


This article "Cuis Smalltalk" is from Wikipedia. The list of its authors can be seen in its historical and/or the page Edithistory:Cuis Smalltalk. Articles copied from Draft Namespace on Wikipedia could be seen on the Draft Namespace of Wikipedia and not main one.