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`_. .. _opensmalltalkvm: https://github.com/OpenSmalltalk/opensmalltalk-vm .. _Python's modules: https://docs.python.org/3/reference/import.html .. _Scheme's module semantics: http://www.r6rs.org/final/html/r6rs/r6rs-Z-H-10.html#node_chap_7 .. 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)': .. epigraph:: | 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: .. code:: st SystemWindow subclass: #SystemWindow instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: 'SystemMorphs' inModule: #SystemMorphs This class can be accessed like this: .. code:: st Modules>>#SystemMorphs>>#SystemWindow Environments can be created with this message send: .. code:: st Modules environment: #MyNewModule If one uses `>>` like: .. code:: st 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: - `Haver-unix-linux-gnu-x86_64-64bit-4.2-alpha-5213.zip`_ for 64-bit Intel x86 Linux system - `Haver-unix-linux-gnu-aarch64-64bit-4.2-alpha-5213.zip`_ for PinePhones and other 64bit ARM Linux Systems. May run on a Raspberry Pi. - `Haver-unix-linux-gnueabihf-armv7l-32bit-4.2-alpha-5213.zip`_ for Raspberry Pis with old 32-bit userspace and kernel and maybe other 32bit ARM Linux Systems. - `Haver-Win32-10.0-X64-64bit-4.2-alpha-5213.zip`_ for Intel/AMD 64-bit Windows (10). - `Haver-Win32-10.0-IX86-32bit-4.2-alpha-5213.zip`_ for Intel/AMD 32-bit Windows (10) Currently there is no MacOS version available [#]_. However you can provide your own and use the images. Starting the Image ------------------ The file should be unzipped like [#]_ .. code:: shell unzip Haver-unix-linux-gnu-x86_64-64bit-4-alpha-5116.zip .. code:: shell cuis Will start the original |Cuis| image, with *no* updates installed. .. code:: shell haver Will start the original |Haver| image, with all updates installed [#]_. *Please note that image will be generated from source code, when started after unpacking. This will take some time, but saves space in the ZIP-file distributed.* .. _Haver-unix-linux-gnu-x86_64-64bit-4.2-alpha-5213.zip: https://www.klix.ch/haver/releases/Haver-unix-linux-gnu-x86_64-64bit-4.2-alpha-5213.zip .. _Haver-unix-linux-gnu-aarch64-64bit-4.2-alpha-5213.zip: https://www.klix.ch/haver/releases/Haver-unix-linux-gnu-aarch64-64bit-4.2-alpha-5213.zip .. _Haver-unix-linux-gnueabihf-armv7l-32bit-4.2-alpha-5213.zip: https://www.klix.ch/haver/releases/Haver-unix-linux-gnueabihf-armv7l-32bit-4.2-alpha-5213.zip .. _Haver-Win32-10.0-X64-64bit-4.2-alpha-5213.zip: https://www.klix.ch/haver/releases/Haver-Win32-10.0-X64-64bit-4.2-alpha-5213.zip .. _Haver-Win32-10.0-IX86-32bit-4.2-alpha-5213.zip: https://www.klix.ch/haver/releases/Haver-Win32-10.0-IX86-32bit-4.2-alpha-5213.zip 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`_: Repository (`Mercurial`_) https://sr.ht/~cy-de-fect/HaverOnCuis/ Issue Tracker https://todo.sr.ht/~cy-de-fect/HaverOnCuis Linux Virtual Machine https://github.com/CyDefect/opensmalltalk-vm/tree/HVR_MVP_ALPHA4_WINKEY_2022-04-21 Help can be obtained at: `Mastodon`_ @Haver@troet.cafe (https://troet.cafe/@Haver) .. _sourcehut: https://sr.ht/ .. _Mercurial: https://www.mercurial-scm.org/ .. _SqueakJS: https://squeak.js.org/ .. _Mastodon: https://joinmastodon.org/ Releases -------- You will find information about releases and release-planning in the :ref:`Releases and Planning` section. .. [#] This probably will not work on Windows. .. [#] Needless to say, that only the updates available up to the zip-file creation time are included. .. [#] Due to COVID-19-induced financial restrictions this will be the case for the foreseeable future.