[Cuis-dev] Siren progress and questions (Packages)

Stephen Travis Pope stephen at heaveneverywhere.com
Thu Dec 1 22:41:35 PST 2022


Thanks for this clarification, Luciano!

I have to say, though (sorry), that it’s unacceptable, since the system is supposed to be “easily discoverable,” and forcing classes to have a load of unnecessary method categories (AKA protocols) (like the current system’s “CampSmalltalk” protocols) makes it harder for newbies to learn it.  Should a popular system class (e.g., OrderedCollection) now have 5 “XXX-printing” protocols for the different packages that the user has installed?  Is there another option?  Should we build a package manager that allows one to browse the system and drag’n’drop categories, classes and methods into a package?

Sorry to be critical, but I was one of the first people (1987-94) to teach Smalltalk on a larger scale to paying customers, so simplicity is important…

stp

--------

Stephen Travis Pope    Ojai, California, USA
    
     http://HeavenEverywhere.com
     http://FASTLabInc.com
     https://vimeo.com/user19434036/videos
     http://heaveneverywhere.com/Reflections



> On Dec 1, 2022, at 9:47 PM, Luciano Notarfrancesco via Cuis-dev <cuis-dev at lists.cuis.st> wrote:
> 
> Hi Stephen,
> A package can overwrite a method in a system class or in a class from other package it depends on. For example if you package name is ‘Siren’ you have to put the new method in a message category starting with ‘*siren’, such as ‘*siren-printing’, etc (or ‘*Siren-printing’, case doesn’t matter).
> 
> On Fri, 2 Dec 2022 at 10:30 Stephen Travis Pope via Cuis-dev <cuis-dev at lists.cuis.st <mailto:cuis-dev at lists.cuis.st>> wrote:
>> 
>> Oh, I forgot one other question: Is there a way to merge packages, or are they bound to system class categories? 
>> 
>> Siren has many categories, and the Package tool implies that merge/delete is an option.  It’d be great if one could select multiple packages and merge them. 
>> 
>> I did figure out that I can make one package that has the all other categories in its group as prerequisites.
>> 
>> How does one add random system class changes to a package?
>> 
>> Is it possible to make a package with a class that’s in a system category (i.e., one with other classes in it that aren’t in the package)?
>> 
>> …any replies appreciated…
>> 
>> stp
>> 
>> --------
>> 
>> Stephen Travis Pope    Ojai, California, USA
>>     <pastedGraphic.tiff>
>>      http://HeavenEverywhere.com <http://heaveneverywhere.com/>
>>      http://FASTLabInc.com <http://fastlabinc.com/>
>>      https://vimeo.com/user19434036/videos
>>      http://heaveneverywhere.com/Reflections
>> 
>> 
>> 
>>> On Dec 1, 2022, at 7:17 PM, Stephen Travis Pope via Cuis-dev <cuis-dev at lists.cuis.st <mailto:cuis-dev at lists.cuis.st>> wrote:
>>> 
>>> 
>>> Hello all,
>>> 
>>> 1. I have to say that I’m *loving* Cuis development (except that my dislike of Morphic now borders on…).
>>> 
>>> 
>>> 2. Is there a central place for documentation of the language changes in Cuis, such as,
>>> 
>>> 	{ … }
>>> 	` … `
>>> 	::
>>> 
>>> (Part of the reason I was so shocked by Pharo is that I played a bit in the browser and thought, “I wonder what language this is…”)
>>> 
>>> (The only language extension I was ever motivated to make to Smalltalk was to use “{ }" as nesting comment characters.)
>>> 
>>> The main usage I find of the { … } form in Cuis is in menu creation, where one sees,
>>> 
>>> 	{#label -> 'find class... (f)'. #selector -> #findClass} asDictionary.
>>>  
>>> which could more easily be written in “standard” Smalltalk-80 as,
>>> 
>>> 	(#label -> 'find class... (f)’) , (#selector -> #findClass)
>>> 
>>> using the shorthand that,
>>> 	(association, association) -> dictionary 
>>> and,
>>> 	(dictionary, association) adds association to the dictionary.
>>> 
>>> 
>>> 3. I’d really love to hear from anyone who can get the FFI or Socket back-end to work on an ARM-based Mac.  I’m having no luck at all, and have checked that the app resources contain binary bundles with the right external code tokens in the name list.  Could it be the loader?
>>> 
>>> 
>>> Thanks to the team!!!
>>> 
>>> Latest image of the display list stuff is below, still no interaction with the items, though the menu works…
>>> 
>>> stp
>>> 
>>> ——
>>> 
>>> Screen shot - DisplayListView with random lines, rectangles, strings and polylines; images work too. (Clipping obviously problematic…)  I make tests with thousands of items like this to test display speed, required if it’s music notation we’re displaying.
>>> 
>>> <dlv2.jpg>
>>> 
>>> --------
>>> 
>>> Stephen Travis Pope    Ojai, California, USA
>>>     <pastedGraphic.tiff>
>>>      http://HeavenEverywhere.com <http://heaveneverywhere.com/>
>>>      http://FASTLabInc.com <http://fastlabinc.com/>
>>>      https://vimeo.com/user19434036/videos
>>>      http://heaveneverywhere.com/Reflections
>>> 
>>> 
>>> 
>>>> On Nov 30, 2022, at 5:44 AM, Juan Vuletich via Cuis-dev <cuis-dev at lists.cuis.st <mailto:cuis-dev at lists.cuis.st>> wrote:
>>>> 
>>>> Hi Stephen,
>>>> 
>>>> On 11/29/2022 11:36 PM, Stephen Travis Pope via Cuis-dev wrote:
>>>>> 
>>>>> 
>>>>> Hello Colleagues,
>>>>> 
>>>>> The good news is that I have a basic display list view that can display and scroll my brand of display items (see screen shot below).
>>>>> I don’t use morphs for the low-level display items; my display item classes can simply draw themselves on a morphic (or other) canvas.
>>>>> The view scrolls in 2D; I don’t really need zooming for now.
>>>> 
>>>> This is great to know. I'm glad that the Cuis drawing machinery suits your needs! It is great that you are making real progress with Siren on Cuis!
>>>> 
>>>>> My question lies elsewhere: I can’t seem to get the FFI test to work; I get error 16 or 1 for anything I try, even the simplest printf call example.
>>>>> Is there a special rule or method to set this up?  
>>>>> Does the VM have to be in the same directory as the VI? 
>>>> 
>>>> Not at all.
>>>> 
>>>>> Are there known issues with the Mac port?
>>>>> I’m running on a Mac with a 64-bit ARM V8 processor running MacOS Ventura 13.01.
>>>>> I’m using the latest squeak.cog.spur_macos64ARMv8 VM from https://github.com/OpenSmalltalk.
>>>> 
>>>> Others and me have used FFI quite a bit on Mac (For OpenCL, TensorFlow and possibly others). But it was on Intel based Macs. I'd need to borrow an M1 Mac and do some testing.
>>>> 
>>>>> Since the VM supports FFI but not the socket interfaces by default, I was going to write both the MIDI and OSC interfaces using FFI for now.
>>>> 
>>>> But the VM does support sockets. Doing `Feature require: 'Network-Kernel'` will bring the traditional Socket code from Squeak. Would this work for you?
>>>> 
>>>>> 
>>>>> Another Q: What’s the interrupt key?
>>>> 
>>>> On Macs it is Option-. You may need to press it a couple of times, as it will do nothing is the process to interrupt is the background process. You can keep a Transcript open to see notices about this.
>>>> 
>>>>> 
>>>>> …any replies most appreciated...
>>>> 
>>>> Cheers,
>>>> 
>>>>> 
>>>>> stp
>>>>> 
>>>>> ——
>>>>> 
>>>>> Attached screen shot - display list with random rectangles, lines and strings
>>>>> 
>>>>> <Mail Attachment.jpeg>
>>>>> 
>>>>> --------
>>>>> 
>>>>> Stephen Travis Pope    Ojai, California, USA
>>>>>     <pastedGraphic.tiff> 
>>>>>      http://HeavenEverywhere.com <http://heaveneverywhere.com/>
>>>>>      http://FASTLabInc.com <http://fastlabinc.com/>
>>>>>      https://vimeo.com/user19434036/videos
>>>>>      http://heaveneverywhere.com/Reflections
>>>>> 
>>>>> 
>>>>> 
>>>> 
>>>> 
>>>> -- 
>>>> Juan Vuletich
>>>> cuis.st <http://cuis.st/>
>>>> github.com/jvuletich <http://github.com/jvuletich>
>>>> researchgate.net/profile/Juan-Vuletich <http://researchgate.net/profile/Juan-Vuletich>
>>>> independent.academia.edu/JuanVuletich <http://independent.academia.edu/JuanVuletich>
>>>> patents.justia.com/inventor/juan-manuel-vuletich <http://patents.justia.com/inventor/juan-manuel-vuletich>
>>>> linkedin.com/in/juan-vuletich-75611b3 <http://linkedin.com/in/juan-vuletich-75611b3>
>>>> twitter.com/JuanVuletich <http://twitter.com/JuanVuletich>-- 
>>>> Cuis-dev mailing list
>>>> Cuis-dev at lists.cuis.st <mailto:Cuis-dev at lists.cuis.st>
>>>> https://lists.cuis.st/mailman/listinfo/cuis-dev
>>> 
>> 
>>> -- 
>>> Cuis-dev mailing list
>>> Cuis-dev at lists.cuis.st <mailto:Cuis-dev at lists.cuis.st>
>>> https://lists.cuis.st/mailman/listinfo/cuis-dev
>> 
>> -- 
>> Cuis-dev mailing list
>> Cuis-dev at lists.cuis.st <mailto:Cuis-dev at lists.cuis.st>
>> https://lists.cuis.st/mailman/listinfo/cuis-dev
> -- 
> Cuis-dev mailing list
> Cuis-dev at lists.cuis.st
> https://lists.cuis.st/mailman/listinfo/cuis-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cuis.st/mailman/archives/cuis-dev/attachments/20221201/fc61bb0d/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pastedGraphic.tiff
Type: image/tiff
Size: 2442 bytes
Desc: not available
URL: <http://lists.cuis.st/mailman/archives/cuis-dev/attachments/20221201/fc61bb0d/attachment-0001.tiff>


More information about the Cuis-dev mailing list