Overview

HaverOnCuis – for short Haver – provides an opensmalltalkvm based Smalltalk with modules. Haver’s module semantics are inspired by Python’s modules and, to a greater extent, by Scheme’s module semantics.

Important

Please note that Haver is an extension of Cuis and not a fork. For any conceivable future it will remain an extension!

Haver’s name was inspired by the Proclaimers’ song ‘I’m Gonna Be (500 Miles)’:

And if I haver, hey I know I’m gonna be
I’m gonna be the man who’s havering to you

Simple Example

Classes with the same name as global classes can be placed in a module like this:

SystemWindow subclass: #SystemWindow
      instanceVariableNames: ''
      classVariableNames: ''
      poolDictionaries: ''
      category: 'SystemMorphs'
      inModule: #SystemMorphs

This class can be accessed like this:

Modules>>#SystemMorphs>>#SystemWindow

Environments can be created with this message send:

Modules environment: #MyNewModule

If one uses >> like:

Modules>>#MyOldModule.

the module is not created, if it does not exist.

Installation

In the future Haver can be downloaded from https://www.klix.ch/haver/releases:

Currently there is no MacOS version available 1. However you can provide your own and use the images.

Starting the Image

The file should be unzipped like 2

unzip Haver-linux-gnu-x86_64-64bit.zip
cuis

Will start the original Cuis image, with no updates installed.

haver

Will start the original Haver image, with all updates installed 3.

Internet Presence

The whole documentation is available at in the following formats:

HTML

http://haver.klix.ch/ (Also serves as Haver’s homepage)

Online Demo

https://www.klix.ch/haver/SqueakJS/haver/haver.html

This demo uses Vanessa Freudenberg’s SqueakJS.

PDF

http://haver.klix.ch/pdf/HaverOnCuis.pdf

Development takes place on sourcehut:

Development

https://sr.ht/~cy-de-fect/HaverOnCuis/

Repository (Mercurial)

https://sr.ht/~cy-de-fect/HaverOnCuis/

Issue Tracker

https://todo.sr.ht/~cy-de-fect/HaverOnCuis

IRC

irc://freenet.net/#Haver

IRC channel called #Haver at Libera (irc://irc.libera.chat/#Haver). My nickname is CyDefect, usually I am available there.

Releases

You will find information about releases and release-planning in the Releases and Planning section.

1

This probably will not work on windows.

2

Needless to say, that only the updates available up to the zip-file creation time are included.

3

Due to COVID-19-induced financial restrictions this will be the case for the foreseeable future.