[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:
toto
"
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?
Thanks,
--
Juan Vuletich
www.cuis-smalltalk.org
https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev
https://github.com/jvuletich
https://www.linkedin.com/in/juan-vuletich-75611b3
@JuanVuletich
More information about the Cuis-dev
mailing list