Download Cuis 2.0
    (with BlockClosures)
    updated Jan 4 2010
    lastUpdate: #0393

 Download Cuis 1.0
    (for older VMs)
    updated Nov 28 2009
    lastUpdate: #0337


For users of other previous Cuis releases or other Squeak variants...

  Download changesets 

  ChangeSet categories

  ChangeSet details

 

January 2010

The Cuis Project

Cuis is a free Smalltalk-80 environment derived from Squeak (www.squeak.org). Main project web is at www.jvuletich.org/Cuis/Index.html

Our passion is about finding the essence of ideas. In this regard we feel close to Alan Kay's "Fundamentals of new Computing" ideas. But this Cuis is not a research project. We want a working system now, and we are distilling the essence of Smalltalk-80 in Squeak drop by drop.

The main objective of Cuis is to avoid unneeded complexity. Why? Because 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. Dan Ingalls says all this in "Design Principles Behind Smalltalk". If you want to understand what is Smalltalk all about, read it: http://www.soe.ucsc.edu/classes/cmps112/Spring03/readings/Ingalls81.html .

Some of the main ideas and objectives for Cuis are:

  • Close to the ideas in Smalltalk-80 and "Design Principles Behind Smalltalk".

  • Include only kernel functionality.

  • Included stuff should be in very good shape.

  • Include a greatly simplified version of Morphic as the main UI.

  • Easy to fix and extend.

  • Cuis is yours to extend it to suit your needs.

  • Stable. Smalltalk kernel should not change much.

  • Compatible to a reasonable degree with packages intended for other Squeak distributions.

  • Lead by Juan Vuletich (jmv) after these principles.


What is the audience? Cuis should be the Smalltalk of choice to:

  • Smalltalkers who want a simpler system.

  • Teachers teaching Smalltalk.

  • People learning Smalltalk.

  • Developers working for devices with little memory or CPU power.

  • People wanting to experiment with new directions in language design, UI frameworks, etc.

  • People wanting a reasonable kernel on which to build optional packages.

  • People wanting a nice looking, portable ide.


What Cuis does includes and what it does not.

Cuis includes a basic Smalltalk-80 system, updated for the capabilities of contemporary hardware. The User Interface is a derivative of the Morphic framework in Squeak, with a strong enphasis on simplification and performance.

Cuis does not include features that are:

a) Optional in nature (i.e. application specific)

b) Too complex (i.e. their complexity outweighs their usefulness)

c) Not stable

For instance, Cuis does not include a package manager.  The usual way of managing code in Cuis is with the ChangeSorter and ChangeSets. This is because the standard package manager in the Squeak world, Monticello falls in b (too complex) and c (not stable).

Cuis also doesn't include Unicode support. The handling of Unicode characters and strings in Squeak falls in b (too complex), as the whole system is affected and c (not stable), as bugs are still arising, even after being used for many years. Besides, as the basic Character and String were not modified, but new classes for WideCharacter and WideString were introduced, we can also consider it falls under a (optional in nature).


Optional packages and Modularity

Cuis is meant to be consistent, well designed and understandable.

As dependences and complexity grow exponentially with the size of a system, Cuis needs to be small. Being small and easy to understand means you can do more with it.

There is a lot to do with a Smalltalk system, as Squeak and the packages available for it show us. Too much to be understood by a single person. Therefore, it is better not to try to control all of it. Optional packages for Cuis will form an ecosystem not driven as a whole by anybody. This is the way we believe that Alan's Biology metaphor applies to modularity in Smalltalk.

There will be optional packages available for Cuis, if people start building or using them. We don't want to control that process.


Compatibility

We believe that back compatibility goes against progress. We choose progress. We also believe that compatibility requires extra complexity, of the non-essential kind. We choose simplicity. This means that there are no guarantees of compatibility between Cuis and anything else, including the various releases and derivatives of Squeak, or even other releases of Cuis itself.

If you do a significant amount of work on some Cuis release, and later you want to update, you can use the separate changesets provided for every Cuis release. You need to check carefully each one as you load them, and learn how it affects your own code.


Community

We want to share fixes, enhancements, packages, and discussion with Squeak and other Squeak distributions. We are part of the Squeak community. We believe that the Squeak community is the natural place for people using the various Squeak distributions and derivatives.


License

Cuis is distributed subject to the MIT License, as in http://www.opensource.org/licenses/mit-license.php . Any contribution submitted for incorporation into or for distribution with Cuis shall be presumed subject to the same license.

Portions of Cuis are:
Copyright (c) Xerox Corp. 1981, 1982
Copyright (c) Apple Computer, Inc. 1985-1996
Copyright (c) Contributors to Squeak and Cuis projects. 1997-2009


 
 
  © 2006-2010 Juan M. Vuletich