<div><div dir="auto">Hi,</div><div dir="auto">Congratulations!</div><div dir="auto"><br></div><div dir="auto">It would be great to have a simple way to make releases (bundles of customized Cuis images with virtual machines for each platform). I’d like to make releases of my Cuis projects so people (not necessarily Smalltalkers) can download and try my projects.</div><div dir="auto"><br></div><div dir="auto">It would be great also to have some way to compile plugins for all platforms without the hassle of setting up compile environments for each platform, perhaps we should make a compile server for this? Or is there one already?</div></div><div><div dir="auto"><br></div><div dir="auto">Have you tried making Cuis packages for the namespaces or other parts of your project?</div><div dir="auto"><br></div><div dir="auto">Cheers,</div><div dir="auto">Luciano</div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, 30 Apr 2021 at 10:33 PM Gerald Klix via Cuis-dev <<a href="mailto:cuis-dev@lists.cuis.st" target="_blank">cuis-dev@lists.cuis.st</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)">Hi Juan,<br>
<br>
On 2021-04-30 16:00, Juan Vuletich via Cuis-dev wrote:<br>
> Hi Gerald,<br>
> <br>
> This is great! It is nice to know that you have kept developing this <br>
> project. You have put a lot of work in this, and it is really impressive.<br>
<br>
Thank you very much!<br>
<br>
> <br>
> On 4/28/2021 5:26 PM, Gerald Klix wrote:<br>
>> Hi all, Hi Juan,<br>
>><br>
>> I am proud to announce the first alpha-release<br>
>> of Haver, a Cuis based Smalltalk with extensive<br>
>> support for Modules, including Browsers<br>
>> for module-management.<br>
>><br>
>> No more name clashes!<br>
>><br>
>><br>
>> Haver is a complete distribution of Cuis<br>
>> with all packages from the various<br>
>> Cuis Smalltalk Repos at<br>
>> <a href="https://github.com/Cuis-Smalltalk" rel="noreferrer" target="_blank">https://github.com/Cuis-Smalltalk</a>.<br>
>><br>
>> Virtual Machines for Linux X86, Windows and<br>
>> Raspberry OS are also included.<br>
>> Of course the virtual machines include<br>
>> Juan's awesome VectorEnginePlugin.<br>
>> Even if you think you don't need Modules,<br>
>> it still provides you with<br>
>> a turn-key Cuis-distribution.<br>
>><br>
>><br>
>> You can find more about Haver at:<br>
>><br>
>> <a href="http://haver.klix.ch" rel="noreferrer" target="_blank">http://haver.klix.ch</a><br>
>><br>
>><br>
>> Many thanks to Juan Vuletich for providing<br>
>> a simple and understandable Smalltalk<br>
>> implementation.<br>
>><br>
>> Please note: Haver is not a fork of Cuis,<br>
>> it is an extension.<br>
>><br>
>><br>
>> Have fun and Best Regards,<br>
>><br>
>> Gerald<br>
>><br>
> <br>
> I just read the documentation, and started playing a bit with the system.<br>
> <br>
> I wanted to get a feel of how would it be do use it for real. So, I <br>
> created 2 modules, each with a class. Then I tried to reference a class <br>
> in M2 from a class in M1. I could do it with an explicit reference:<br>
> toto<br>
> "<br>
> M1Class new toto<br>
> "<br>
>      ^(Modules >> #M2 >> #M2Class) new<br>
> <br>
> This is reasonable. Then I tried to "import" M2 into M1, so M1 can use <br>
> all the stuff in M2, without an explicit access path. I think this is <br>
> the preferred way to reference to external stuff. But I couldn't make <br>
> this work. I'm not sure if the Modules tool and the Module Browser allow <br>
> some way I could not find, or if this use case is not yet supported.<br>
Oh yes I added that tutorial to the documentation:<br>
<a href="http://haver.klix.ch/tutorials.html#exporting-and-importing-a-class" rel="noreferrer" target="_blank">http://haver.klix.ch/tutorials.html#exporting-and-importing-a-class</a><br>
<br>
And there a  SimpleEnvironments implementation.<br>
that is -- among other uses -- used as a indirect super-class for Modules.<br>
<br>
If you only want explicit imports, you<br>
can create environments like:<br>
<br>
SimpleEnvironments environment" #MyFunnyEnv<br>
<br>
Of course no tooling, no default module support<br>
<br>
> <br>
> So, my suggestions are:<br>
> - Support my preferred style if not already supported<br>
This should work with every environment<br>
implementation, but it needs to be documented:<br>
Ars longa, vita brevis ....<br>
<br>
> - Make tools "more obvious" (i.e., what is API / SPI?)<br>
> - HowTo docs, using the tools, following a few simple and real-life-like <br>
> examples, and helping the user understand how to navigate the system.<br>
As I tools you I consider implementing a simple module browser.<br>
<br>
I filed an issue:<br>
<a href="https://todo.sr.ht/~cy-de-fect/HaverOnCuis/9" rel="noreferrer" target="_blank">https://todo.sr.ht/~cy-de-fect/HaverOnCuis/9</a><br>
> <br>
> An additional idea: I think Modules and Packages should be tightly <br>
> integrated, at least in the mind of the user. Making them completely <br>
> orthogonal forces the user to consider many probably useless <br>
> combinations. Especially when dependencies are included!<br>
I will consider it. But the orthogonality has to<br>
stay, I am making use of it.<br>
<br>
Anyway, I filed an issue:<br>
<a href="https://todo.sr.ht/~cy-de-fect/HaverOnCuis/8" rel="noreferrer" target="_blank">https://todo.sr.ht/~cy-de-fect/HaverOnCuis/8</a><br>
<br>
I hope I described your wish correctly.<br>
> <br>
> BTW, you built VMs for various platforms with the VectorEnginePlugin!!! <br>
> This is also wonderful. Thank you. I'll test them. May I have your <br>
> permission to exctract those VMs and make them available to others for <br>
> use with Cuis, until the VectorGraphics plugin gets integrated into the <br>
> official OpenSmalltalk VMs?<br>
Of course, you are welcome.<br>
<br>
May I make a suggestion:<br>
Haver contains a package named 'Distributor'.<br>
With some refactoring, e.g. adding some abstract<br>
super classes it can be used to create a Cuis<br>
distribution in a zip-file.<br>
The distributor, included in that package,<br>
packs the running VM.<br>
In a nutshell: With 3 hours of work, you will<br>
have the means to create Cuis-distribution packages like breading <br>
rabbits (or cuises).<br>
<br>
I considered doing this myself but as  i said:<br>
Art is long, life is short ...<br>
<br>
There is also cheap and dirty way.<br>
Try to use the distributor package to<br>
create a Haver distribution and write a shell<br>
script, that strips the Haver parts, e.g.<br>
packages/haver and the two images in Images.<br>
<br>
<br>
HTH and Best Regards<br>
<br>
Gerald<br>
-- <br>
Cuis-dev mailing list<br>
<a href="mailto:Cuis-dev@lists.cuis.st" target="_blank">Cuis-dev@lists.cuis.st</a><br>
<a href="https://lists.cuis.st/mailman/listinfo/cuis-dev" rel="noreferrer" target="_blank">https://lists.cuis.st/mailman/listinfo/cuis-dev</a><br>
</blockquote></div></div>
</div>