[Cuis-dev] Haver a Cuis based Smalltalk with Modules

Juan Vuletich juan at jvuletich.org
Fri Apr 30 07:00:57 PDT 2021

Hi Gerald,

This is great! It is nice to know that you have kept developing this 
project. You have put a lot of work in this, and it is really impressive.

On 4/28/2021 5:26 PM, Gerald Klix wrote:
> Hi all, Hi Juan,
> I am proud to announce the first alpha-release
> of Haver, a Cuis based Smalltalk with extensive
> support for Modules, including Browsers
> for module-management.
> No more name clashes!
> Haver is a complete distribution of Cuis
> with all packages from the various
> Cuis Smalltalk Repos at
> https://github.com/Cuis-Smalltalk.
> Virtual Machines for Linux X86, Windows and
> Raspberry OS are also included.
> Of course the virtual machines include
> Juan's awesome VectorEnginePlugin.
> Even if you think you don't need Modules,
> it still provides you with
> a turn-key Cuis-distribution.
> You can find more about Haver at:
> http://haver.klix.ch
> Many thanks to Juan Vuletich for providing
> a simple and understandable Smalltalk
> implementation.
> Please note: Haver is not a fork of Cuis,
> it is an extension.
> Have fun and Best Regards,
> Gerald

I just read the documentation, and started playing a bit with the system.

I wanted to get a feel of how would it be do use it for real. So, I 
created 2 modules, each with a class. Then I tried to reference a class 
in M2 from a class in M1. I could do it with an explicit reference:
M1Class new toto
     ^(Modules >> #M2 >> #M2Class) new

This is reasonable. Then I tried to "import" M2 into M1, so M1 can use 
all the stuff in M2, without an explicit access path. I think this is 
the preferred way to reference to external stuff. But I couldn't make 
this work. I'm not sure if the Modules tool and the Module Browser allow 
some way I could not find, or if this use case is not yet supported.

So, my suggestions are:
- Support my preferred style if not already supported
- Make tools "more obvious" (i.e., what is API / SPI?)
- HowTo docs, using the tools, following a few simple and real-life-like 
examples, and helping the user understand how to navigate the system.

An additional idea: I think Modules and Packages should be tightly 
integrated, at least in the mind of the user. Making them completely 
orthogonal forces the user to consider many probably useless 
combinations. Especially when dependencies are included!

BTW, you built VMs for various platforms with the VectorEnginePlugin!!! 
This is also wonderful. Thank you. I'll test them. May I have your 
permission to exctract those VMs and make them available to others for 
use with Cuis, until the VectorGraphics plugin gets integrated into the 
official OpenSmalltalk VMs?


Juan Vuletich

More information about the Cuis-dev mailing list