Pharo-dev
By thread
pharo-dev@lists.pharo.org
By month
Messages by month
- ----- 2026 -----
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- 144612 messages
Re: [ANN] success story: ApptiveGrid
by Noury Bouraqadi
That's one cool success story. Kudos!
Noury
On Dec 12 2023, at 1:02 pm, Norbert Hartl <norbert(a)hartl.name> wrote:
> I wanted to write this for a very long time nowâ¦so finallyâ¦Iâm very proud to announce a new success story: ApptiveGrid
>
> ApptiveGrid is a SaaS tool to digitalize and automatize business processes.
> On the one hand ApptiveGrid is visual database that enables you to model your database via web frontend. At the same time this model is available via REST API.
>
>
> On top of the data model a form creator turns your model into a form that you can send e.g. via email to inquire data from other peopleâ¦
>
>
> On the other hand ApptiveGrid is a workflow system where you can define your work flow in the web frontend and connect to events. These events are either internal (resulting from a change in your data model) or external where you can use web hooks to kick of work flows.
>
>
> With the combination of both parts ApptiveGrid is able to solve many of modern digital workflows. It enables to make it for low cost and in almost no time which are two pretty good reasons to use it. If you want to use it just visit: http://www.apptivegrid.de. ApptiveGrid provides a start plan at no cost where most of the functionalities are available. If you have additional needs just write me. For the people in the pharo community Iâm sure we can provide a bit more on top.
> About the tech stack:
> - The business backend of ApptiveGrid is 100% pharo
> - It uses https://github.com/svenvc/zinc components for the HTTP frontend
> - and https://github.com/ApptiveGrid/Soil as the persistence solution.
> - Each user has its own database (an empty soil database is 24kb on disk, could be made even approx. 5kb). There are over 3100 databases in the system right now
> - one pharo image holds multiple soil databases open and provides memory caching for the objects
> - routing of requests is done with haproxy connection persistence
> - the web frontend is made with Vue.js and a pharo library that we transpile to JS with PharoJS
>
> If you are interested you can also watch my ESUG videos at https://www.youtube.com/@esugboard. All talks in the last 2 years were about ApptiveGrid
> If you have question, donât hesitate to ask, Iâm happy to answer!
> Norbert
Dec. 14, 2023
[ANN] success story: ApptiveGrid
by Norbert Hartl
I wanted to write this for a very long time nowâ¦so finallyâ¦Iâm very proud to announce a new success story: ApptiveGrid
ApptiveGrid is a SaaS tool to digitalize and automatize business processes.
On the one hand ApptiveGrid is visual database that enables you to model your database via web frontend. At the same time this model is available via REST API.
On top of the data model a form creator turns your model into a form that you can send e.g. via email to inquire data from other peopleâ¦
On the other hand ApptiveGrid is a workflow system where you can define your work flow in the web frontend and connect to events. These events are either internal (resulting from a change in your data model) or external where you can use web hooks to kick of work flows.
With the combination of both parts ApptiveGrid is able to solve many of modern digital workflows. It enables to make it for low cost and in almost no time which are two pretty good reasons to use it. If you want to use it just visit: http://www.apptivegrid.de. ApptiveGrid provides a start plan at no cost where most of the functionalities are available. If you have additional needs just write me. For the people in the pharo community Iâm sure we can provide a bit more on top.
About the tech stack:
- The business backend of ApptiveGrid is 100% pharo
- It uses https://github.com/svenvc/zinc components for the HTTP frontend
- and https://github.com/ApptiveGrid/Soil as the persistence solution.
- Each user has its own database (an empty soil database is 24kb on disk, could be made even approx. 5kb). There are over 3100 databases in the system right now
- one pharo image holds multiple soil databases open and provides memory caching for the objects
- routing of requests is done with haproxy connection persistence
- the web frontend is made with Vue.js and a pharo library that we transpile to JS with PharoJS
If you are interested you can also watch my ESUG videos at https://www.youtube.com/@esugboard. All talks in the last 2 years were about ApptiveGrid
If you have question, donât hesitate to ask, Iâm happy to answer!
Norbert
Dec. 12, 2023
This week (49/2023) on the Pharo Issue Tracker
by Marcus Denker
# Features
- Add class comment as tooltip in Calypso. #15660
https://github.com/pharo-project/pharo/pull/15660
- Add file out for Epicea entries #15644
https://github.com/pharo-project/pharo/pull/15644
- Debugger: Integrating assertion rewriting (2nd attempt) #626
https://github.com/pharo-spec/NewTools/pull/626
# Fixes
- Prevent font chooser open error listing #638
https://github.com/pharo-spec/NewTools/pull/638
- Preventing "Run to" debugger command from raising update events, in order to prevent unnecessary (and broken) updates #642
https://github.com/pharo-spec/NewTools/pull/642
- Traits: Fix wrong source pointer (v2) #15741
https://github.com/pharo-project/pharo/pull/15741
- Fix: Syntax highlight of inst vars in inspector eval pane #15723
https://github.com/pharo-project/pharo/pull/15723
- Calypso: Do not crash if a baseline is wrongly defined #15711
https://github.com/pharo-project/pharo/pull/15711
- Fix ephemeron support in Fuel #15670
https://github.com/pharo-project/pharo/pull/15670
- Change to size_t for ffi calls that currently use ulong for pointers. #15696
https://github.com/pharo-project/pharo/pull/15696
- Fix a ZeroDivide exception when scroll target is 0 calculating scroll deltas #15702
https://github.com/pharo-project/pharo/pull/15702
- Fix/baseline repo #15629
https://github.com/pharo-project/pharo/pull/15629
# Rendering / Graphics
- Rework #nonCachingFullDrawOn: on HandMorph to use a matching ScalingCanvas for the shadow form #15736
https://github.com/pharo-project/pharo/pull/15736
- Add #drawFormSet:at: and #translucentFormSet:at: to AthensCanvasWrapper #15735
https://github.com/pharo-project/pharo/pull/15735
- Add ScalingCanvas and #canvasScaleFactor for OSWorldRenderer #15647
https://github.com/pharo-project/pharo/pull/15647
- Add initialization of ScalingCanvas to BaselineOfMorphic #15672
https://github.com/pharo-project/pharo/pull/15672
- Fix #checkForNewScreenSize on OSWorldRenderer to also check the #actualScreenSize #15673
https://github.com/pharo-project/pharo/pull/15673
- Make MorphTreeNodeMorph and IndentingListItemMorph use a FormSet for the expand/collapse toggle #15676
https://github.com/pharo-project/pharo/pull/15676
- Refactor IconicButtonMorph to support use of a FormSet #15680
https://github.com/pharo-project/pharo/pull/15680
# Refactoring Engine
- Tests and enhancements for RenameInstanceVariableDriver #15703
https://github.com/pharo-project/pharo/pull/15703
- Refactor: extract method third pass #15693
https://github.com/pharo-project/pharo/pull/15693
- New Refactoring Driver to rename variables #15617
https://github.com/pharo-project/pharo/pull/15617
- Cleanup/extract method first pass #15674
https://github.com/pharo-project/pharo/pull/15674
- Test: removal of non-empty class with subclasses #15671
https://github.com/pharo-project/pharo/pull/15671
- Refactor: extract method transformation cleanup #15675
https://github.com/pharo-project/pharo/pull/15675
- Enhance driver #15679
https://github.com/pharo-project/pharo/pull/15679
# Variables
- 15665-Not-possible-to-edit-slots-when-using-new-definition-format--RBLiteralValueNode-DNU-name #15667
https://github.com/pharo-project/pharo/pull/15667
- Do not use #classVarNamed: / #classVarNamed:put: #15685
https://github.com/pharo-project/pharo/pull/15685
- refactor more #classPool users #15710
https://github.com/pharo-project/pharo/pull/15710
- rewrite #anyUserOfClassVarNamed: using the Variable API #15717
https://github.com/pharo-project/pharo/pull/15717
- Cleanup: move extension methods Slot package to where the classes are #15742
https://github.com/pharo-project/pharo/pull/15742
# Compiler / Compilation / CompiledMethods
- 15697-Playground-need-to-color-not-yet-created-bindings-red #15698
https://github.com/pharo-project/pharo/pull/15698
- move error handling from CompiledMethod to CompiledCode and rename #15651
https://github.com/pharo-project/pharo/pull/15651
- 15640-Objectclone-has-code-for-CompiledCode #15648
https://github.com/pharo-project/pharo/pull/15648
- 15126-IRSequencenotEmpty-should-be-isNotEmpty #15714
https://github.com/pharo-project/pharo/pull/15714
- deprecate #noPattern and noPattern: #15715
https://github.com/pharo-project/pharo/pull/15715
- 6470-Improve-the-class-comment-of-RBScanner #15716
https://github.com/pharo-project/pharo/pull/15716
- 15596-Cleanup-respondsTo-check-for-doItReceiver #15712
https://github.com/pharo-project/pharo/pull/15712
- cleanup #doitReceiver check #1485
https://github.com/pharo-spec/Spec/pull/1485
# Class Builder / Class Installer
- Merge package Shift-Changes into the main Shift-ClassBuilder package #15663
https://github.com/pharo-project/pharo/pull/15663
- check if we can have WeakLayout as a subclass of VariableLayout #15658
https://github.com/pharo-project/pharo/pull/15658
- reduce the senders of #asSlotCollection #15659
https://github.com/pharo-project/pharo/pull/15659
- do not use #slotsFromString: / sharedVariablesFromString: #15654
https://github.com/pharo-project/pharo/pull/15654
- Small cleanup ClassInstaller #15686
https://github.com/pharo-project/pharo/pull/15686
- ClassBuilder: remove Ficus from Shift baseline #15690
https://github.com/pharo-project/pharo/pull/15690
- Classbuilder: rewrite users of #sharedPools: with string arguments #15695
https://github.com/pharo-project/pharo/pull/15695
- use sharedPoolsFromString: in old style class defs and Hermes #15706
https://github.com/pharo-project/pharo/pull/15706
- Deprecate old API for traits #15713
https://github.com/pharo-project/pharo/pull/15713
- simplify and comment #sharedVariablesFromString #15692
https://github.com/pharo-project/pharo/pull/15692
- move ClassInstaller into the Builder package #15727
https://github.com/pharo-project/pharo/pull/15727
- ClassInstaller: use the oldClass of the builder #15739
https://github.com/pharo-project/pharo/pull/15739
# Bootstrap / Full Image Load
- Introduce Kernel-CodeModel package #15583
https://github.com/pharo-project/pharo/pull/15583
- Update BaselineOfPharoBootstrapProcess.class.st #15691
https://github.com/pharo-project/pharo/pull/15691
- Extract ClassDefinitionPrinters from the Kernel #15656
https://github.com/pharo-project/pharo/pull/15656
# CI/Tests
- No rule check for non-existing super implementor (Second PR) #15705
https://github.com/pharo-project/pharo/pull/15705
- Better name for testNoSentButNotImplementedSelectors #15720
https://github.com/pharo-project/pharo/pull/15720
- ReSuperSendsNewRule has a typo in description (#initiailize -> #initi⦠#15725
https://github.com/pharo-project/pharo/pull/15725
# Cleanup
- Remove ChangeSorter from loading #634
https://github.com/pharo-spec/NewTools/pull/634
- Harvested and improved some changes proposed in a PR that was also re⦠#15745
https://github.com/pharo-project/pharo/pull/15745
- Startup preferences shoud not be in morphic baseline #15731
https://github.com/pharo-project/pharo/pull/15731
- Fix a deprecated send in testComparisonToSimilarQueryButWithDifferentTag #15661
https://github.com/pharo-project/pharo/pull/15661
- Merge package ParametrizedTests into SUnit #15662
https://github.com/pharo-project/pharo/pull/15662
Dec. 11, 2023
This week (48/2023) on the Pharo Issue Tracker
by Marcus Denker
# Pharo 11
- Update spec to 1.2.5 #15575
https://github.com/pharo-project/pharo/pull/15575
# Features
- 10612-Add-visitPragmasNodes-as-we-have-visitTemporaryNodes #15610
https://github.com/pharo-project/pharo/pull/15610
- Optimized ephemeron support for Fuel #15563
https://github.com/pharo-project/pharo/pull/15563
# Fixes
- ExternalAddress: Avoid temporary instance of ByteArray #15404
https://github.com/pharo-project/pharo/pull/15404
- Change #OSWindowMorphicEventHandler>>visitMouseWheelEvent: to manage ⦠#15639
https://github.com/pharo-project/pharo/pull/15639
- Fix inconsistent behavior after BlockCannotReturn exception; fixes issue #15433 #15443
https://github.com/pharo-project/pharo/pull/15443
- Browser-keep-new-class-selected #15619
https://github.com/pharo-project/pharo/pull/15619
- remove CommandLineArguments default #15573
https://github.com/pharo-project/pharo/pull/15573
- 15437-Could-browsing-a-mistyped-class-not-show-a-debugger #15612
https://github.com/pharo-project/pharo/pull/15612
- Little fix/enhancement on BenchTFFI* #15615
https://github.com/pharo-project/pharo/pull/15615
# Graphics, Rendering, Icons
- Fix ârecolorâ halo icon #15554
https://github.com/pharo-project/pharo/pull/15554
- Fix âdragâ halo icon in #customHaloSpecifications #15556
https://github.com/pharo-project/pharo/pull/15556
- Refactor ImageFillStyle to replace âformâ by âformSetâ #15561
https://github.com/pharo-project/pharo/pull/15561
- Fix infinite loop in ThemeIcons when icon #blank is missing #15570
https://github.com/pharo-project/pharo/pull/15570
# Refactoring Engine
- Fixes #15467 [RB] Refactoring: Double announce of comment change #15589
https://github.com/pharo-project/pharo/pull/15589
- introduce a hook so that we can access changes from the tests. #15569
https://github.com/pharo-project/pharo/pull/15569
- Remove Class Variable refactoring since we have removeSharedVariableR⦠#15557
https://github.com/pharo-project/pharo/pull/15557
- Refactor: remove method driver #15558
https://github.com/pharo-project/pharo/pull/15558
- Removing all the RemoveClass strategy now that we have a driver. #15555
https://github.com/pharo-project/pharo/pull/15555
- Feat: deprecate class driver #15560
https://github.com/pharo-project/pharo/pull/15560
- Fixes 15590: [RB] option shouldUseExistingMethod: should always be true #15594
https://github.com/pharo-project/pharo/pull/15594
- Try testing drivers2 #15598
https://github.com/pharo-project/pharo/pull/15598
- Fix refactoring AddMethodComment #15622
https://github.com/pharo-project/pharo/pull/15622
- fix #15606 remove left over of the use existing method refactoring co⦠#15616
https://github.com/pharo-project/pharo/pull/15616
- Ensure real superclass setting in RBInsertNewClassRefactoring #15641
https://github.com/pharo-project/pharo/pull/15641
# Variables / ClassBuilder, ClassParser
- Cleanup: move the methods for temps to the compiler package #15649
https://github.com/pharo-project/pharo/pull/15649
- 15345-Classes-with-shared-pools-cannot-be-created #15607
https://github.com/pharo-project/pharo/pull/15607
- 15592-MNU-when-looking-for-the-writers-of-a-shared-pool-variable #15603
https://github.com/pharo-project/pharo/pull/15603
- #ShiftClassBuilder>>fillFor: should not use #sharedVariablesFromString: #15623
https://github.com/pharo-project/pharo/pull/15623
- add UndefinedClassVariable #15630
https://github.com/pharo-project/pharo/pull/15630
- ClassParser: add support for #unrestrictedVariableDefinitions setting for Shared Variables #15638
https://github.com/pharo-project/pharo/pull/15638
# Tests and Test Runner
- Improve #denyEmpty: #15580
https://github.com/pharo-project/pharo/pull/15580
- Clean up the Undeclared in ClassFactoryForTestCase when we clean up #15611
https://github.com/pharo-project/pharo/pull/15611
- Fix #15386 DrTests keeps filter when minimizing - maximizing #15549
https://github.com/pharo-project/pharo/pull/15549
# Bootstrap
- Bootstrap: Extract Jobs from Hermes loading #15655
https://github.com/pharo-project/pharo/pull/15655
- Bootstrap: Extract Colors from KernelGroup to Display #15636
https://github.com/pharo-project/pharo/pull/15636
- Bootstrap:â¯Load System-Hashing and Random-Core later in the bootstrap #15613
https://github.com/pharo-project/pharo/pull/15613
- Bootstrap: Remove Network-UUID from KernelGroup #15605
https://github.com/pharo-project/pharo/pull/15605
- Bootstrap: Improve logging architecture #15505
https://github.com/pharo-project/pharo/pull/15505
- Move continuation out of the Kernel #15585
https://github.com/pharo-project/pharo/pull/15585
# Iceberg/Git
- Fixing Calypso Extension on Iceberg #15587
https://github.com/pharo-project/pharo/pull/15587
- Fixing the code as the return of informDuring: now works #1774
https://github.com/pharo-vcs/iceberg/pull/1774
- fixing-adding-existing-repo #1773
https://github.com/pharo-vcs/iceberg/pull/1773
- Adding application in model temporarly #1772
https://github.com/pharo-vcs/iceberg/pull/1772
# Spec
- Commit deprecations transforms #1481
https://github.com/pharo-spec/Spec/pull/1481
- use valueWithReceiver: #1479
https://github.com/pharo-spec/Spec/pull/1479
- fix deprecated send #noPattern: #1480
https://github.com/pharo-spec/Spec/pull/1480
# NewTools
- Integration of object-centric halt once on call breakpoint to tools #627
https://github.com/pharo-spec/NewTools/pull/627
- Simpler stack items #632
https://github.com/pharo-spec/NewTools/pull/632
- Debugger dynamic layouts #630
https://github.com/pharo-spec/NewTools/pull/630
- use valueWithReceiver: #631
https://github.com/pharo-spec/NewTools/pull/631
# Website
- add newcomers page to community #56
https://github.com/pharo-project/pharo-website/pull/56
- Added section about Advanced OOD Mooc #58
https://github.com/pharo-project/pharo-website/pull/58
# Cleanup
- Packages: Unify way to name tags #15588
https://github.com/pharo-project/pharo/pull/15588
- Support removing old change sorter #15645
https://github.com/pharo-project/pharo/pull/15645
- use allButFirst and simplify expression #15634
https://github.com/pharo-project/pharo/pull/15634
- Remove dead code in Debugging-Core #15624
https://github.com/pharo-project/pharo/pull/15624
- add CompiledCode #basicNew:header: #15626
https://github.com/pharo-project/pharo/pull/15626
- Ring-deprecateClassVarNamed #15621
https://github.com/pharo-project/pharo/pull/15621
- Move IR decompilation from Opal to Flashback #15595
https://github.com/pharo-project/pharo/pull/15595
- Remove empty methods from OSPlatform #15579
https://github.com/pharo-project/pharo/pull/15579
- Clean perform message command line handler #15582
https://github.com/pharo-project/pharo/pull/15582
- instead of valueWithReceiver:arguments: #(), use valueWithReceiver: #15618
https://github.com/pharo-project/pharo/pull/15618
- use #valueWithReceiver: when possible #15650
https://github.com/pharo-project/pharo/pull/15650
Dec. 4, 2023
Re: Compiling Pharo VM used for P8
by Jan Vraný
Hi,
I'm still wondering if anyone managed to compile P8 VM on
her/his Linux machine?
Thanks! Jan
On Mon, 2023-09-04 at 11:12 +0100, Jan Vrany wrote:
> Hi,
>
> freshly downloaded zeroconf VM for P8 shows in `pharo -version`:
>
> Date: Wed Feb 12 11:43:20 2020 CommitHash: 52202d8.
>
> so I tried this exact commit from https://github.com/pharo-project/pharo-vm.git :
>
> commit 52202d80a407f05e9eb4bbd1001d21d913c4fc5b (tag: dev-7-20200212-2, origin/cog/dev-7)
> Author: Pablo Tesone <tesonep(a)gmail.com>
> Date: Wed Feb 12 11:43:20 2020 +0100
>
> Adding B3D plugin dependencies
>
> Just now also tried v8.6.1 as you suggested (from the same repo):
>
> commit e829a1dabcea88556103ebe61f69e2a8fb1111ea (HEAD, tag: v8.6.1)
> Author: Pablo Tesone <tesonep(a)gmail.com>
> Date: Tue Oct 13 15:43:09 2020 +0200
>
> Changing version to 8.6.1
>
> using cmake:
>
> git clone ... pharo-vm
> cd pharo-vm
> mkdir build
> cd build
> cmake ..
> make
>
> but got a bunch of errors too (though very different) - see below.
>
> Jan
>
> ...
> NewUndeclaredWarning: BalloonEnginePlugin>>primitiveAddRect (GEFWrongFill is Undeclared)
> NewUndeclaredWarning: BalloonEnginePlugin>>primitiveAddRect (GEFEngineStopped is Undeclared)
> NewUndeclaredWarning: BalloonEnginePlugin>>primitiveAddRect (GEFWorkTooBig is Undeclared)
> NewUndeclaredWarning: BalloonEnginePlugin>>primitiveAddRect (GEFBadPoint is Undeclared)
> NewUndeclaredWarning: BalloonEnginePlugin>>primitiveAddRect (GEFEntityLoadFailed is Undeclared)
> MetacelloNotification: Loaded -> VMMaker-tonel.1 --- tonel:///home/jv/Projects/Pharo/pharo-vm/smalltalksrc --- cache
> MetacelloNotification: Loading -> VMMakerCompatibilityForPharo6-tonel.1 --- tonel:///home/jv/Projects/Pharo/pharo-vm/smalltalksrc --- cache
> Warning: This package depends on the following classes:
> EncoderForV3
> You must resolve these dependencies before you will be able to load these definitions:
> EncoderForV3>>#extensionsAt:in:into:
>
> MCPackageLoader(Object)>>notify:
> MCPackageLoader>>warnAboutDependencies
> MCPackageLoader>>validate
> MCPackageLoader>>loadWithNameLike:
> MCVersionLoader>>basicLoadWithNameLike:
> [
>
> ...
>
> adBlock goferLoad answers resolvedReference ...etc...
> [:bar |
> bar value: 1.
> aBlock value.
> bar value: 2 ] in IceMetacelloPharoPlatform(MetacelloPharoCommonPlatform)>>do:displaying: in Block: [:bar |...
>
> *** Warning: Warning: This package depends on the following classes:
> EncoderForV3
> You must resolve these dependencies before you will be able to load these definitions:
> EncoderForV3>>#extensionsAt:in:into:
>
> NewUndeclaredWarning: OCAbstractScope>>childrenDo:after:suchThat: (children is Undeclared)
> NewUndeclaredWarning: OCAbstractScope>>childrenDo:after:suchThat: (children is Undeclared)
> NewUndeclaredWarning: OCAbstractScope>>childrenDo:suchThat: (children is Undeclared)
> NewUndeclaredWarning: OCAbstractScope>>childrenDo:suchThat: (children is Undeclared)
> NewUndeclaredWarning: DisplayText class>>text: (DefaultTextStyle is Undeclared)
>
> ...
>
> MetacelloNotification: Loading -> FileAttributesPlugin-tonel.1 --- tonel:///home/jv/Projects/Pharo/pharo-vm/smalltalksrc --- cache
> MetacelloNotification: Loaded -> FileAttributesPlugin-tonel.1 --- tonel:///home/jv/Projects/Pharo/pharo-vm/smalltalksrc --- cache
> MetacelloNotification: ...finished baseline
> [ 13%] Generating VM files for flavour: CoInterpreterWithQueueFFI
> Generating #CoInterpreterWithQueueFFI in '/home/jv/Projects/Pharo/pharo-vm/build'...
> NewUndeclaredWarning: VMMaker class>>forceNewFileNamed: (MultiByteFileStream is Undeclared)
> NewUndeclaredWarning: VMMaker class>>forceNewFileNamed: (MultiByteFileStream is Undeclared)
> #MultiByteFileStream is missing, and does not understand #forceNewFileNamed:
> UndefinedObject>>doesNotUnderstand: #forceNewFileNamed:
> VMMaker class>>forceNewFileNamed:
> CCodeGeneratorGlobalStructure(CCodeGenerator)>>storeHeaderOnFile:contents:
>
> ...
>
> FullBlockClosure(BlockClosure)>>on:do:
> PharoCommandLineHandler(BasicCommandLineHandler)>>activateSubCommand:
> PharoCommandLineHandler(BasicCommandLineHandler)>>handleSubcommand
> PharoCommandLineHandler(BasicCommandLineHandler)>>handleArgument:
> Syntax Error on line 1: 'Variable or expression expected'
> =========================================================
> 1: er frameCallerSP: (interpreter frameCallerFP: interpreter framePointer).
> _^_
> 2: aContext := interpreter ensureFrameIsMarried: framePointerToMarry SP: stackPointerToMarry.
> 3: interpreter externalDivorceFrame: framePointerToMarry andContext: aContext.
> 4: expectedDivorcedContext := interpreter frameCallerContext: interpreter stackPage baseFP.
> 5:
> 6: self assert: expectedDivorcedContext equals: aContext.
> make[2]: *** [CMakeFiles/PharoVMCore.dir/build.make:74: generated/vm/src/cogit.c] Error 1
> make[1]: *** [CMakeFiles/Makefile2:291: CMakeFiles/PharoVMCore.dir/all] Error 2
> make: *** [Makefile:156: all] Error 2
>
>
>
>
>
>
>
> On Mon, 2023-09-04 at 10:47 +0200, Guillermo Polito wrote:
> > Hi Jan,
> >
> > could you share a link to the repo/commit youâre building?
> >
> > Have you tried with this tag?
> >
> > https://github.com/pharo-project/pharo-vm/tree/v8.6.1
> >
> > G
> >
> > > El 1 sep. 2023, a las 14:32, Jan Vraný <Jan.Vrany(a)labware.com> escribió:
> > >
> > > Hi,
> > >
> > > I'm trying (and failing) to (re)compile Pharo VM used for P8, more specifically
> > > this one (from `pharo -version): Date: Wed Feb 12 11:43:20 2020 CommitHash: 52202d8.
> > > I'm targeting linux on x86_64.
> > >
> > > Whether I use mvm (seems that it was used by Jenkins by then) or cmake I always end
> > > up having following errors (just a few, there're loads of them):
> > >
> > > /usr/bin/ld: vm/vm.a(cogit.o):/redacted/pharo-vm/spur64src/vm/cointerp.h:377: multiple definition of `debugCallbackInvokes'; vm/vm.a(gcc3x-
> > > cointerp.o):/redacted/pharo-vm/spur64src/vm/cointerp.h:377: first defined here
> > > /usr/bin/ld: vm/vm.a(cogit.o):/redacted/pharo-vm/spur64src/vm/cointerp.h:376: multiple definition of `checkForLeaks'; vm/vm.a(gcc3x-
> > > cointerp.o):/redacted/pharo-vm/spur64src/vm/cointerp.h:376: first defined here
> > > /usr/bin/ld: vm/vm.a(cogit.o):/redacted/pharo-vm/spur64src/vm/cointerp.h:375: multiple definition of `checkedPluginName'; vm/vm.a(gcc3x-
> > > cointerp.o):/redacted/pharo-vm/spur64src/vm/cointerp.h:375: first defined here
> > > /usr/bin/ld: vm/vm.a(cogit.o):/redacted/pharo-vm/spur64src/vm/cointerp.h:374: multiple definition of `checkAllocFiller'; vm/vm.a(gcc3x-
> > > cointerp.o):/redacted/pharo-vm/spur64src/vm/cointerp.h:374: first defined here
> > > /usr/bin/ld: vm/vm.a(cogit.o):/redacted/pharo-vm/spur64src/vm/cointerp.h:371: multiple definition of `breakLookupClassTag'; vm/vm.a(gcc3x-
> > > cointerp.o):/redacted/pharo-vm/spur64src/vm/cointerp.h:371: first defined here
> > >
> > > Does anyone have an idea? Is there a more detailed description of build
> > > environment to use?
> > >
> > > Thanks! Jan
> > >
> > >
> > >
> > >
> > >
>
Nov. 28, 2023
This week (47/2023) on the Pharo Issue Tracker
by Marcus Denker
Lots of PRs merged last weekâ¦.
# Pharo 11
- fixes: SpStringTableColumn displayAlignment is not applied (for Pharo11) #1476
https://github.com/pharo-spec/Spec/pull/1476
# Website / github Readme
- Update README.md with Discord and GH Activity #15516
https://github.com/pharo-project/pharo/pull/15516
# Features
- Halt once on call #15543
https://github.com/pharo-project/pharo/pull/15543
- Add String>>#findClosing:startingAt: generalizing #findCloseParenthesisFor: #15526
https://github.com/pharo-project/pharo/pull/15526
# Fixes
- Fix Icerberg extension detection bug #15414
https://github.com/pharo-project/pharo/pull/15414
- Fix #14367: The same image started for the second time hangs on Windows #15434
Fix #14367: The same image started for the second time hangs on Windows #15434
- Fix method definitions saved in class pane #15503
https://github.com/pharo-project/pharo/pull/15503
- Not possible to ask if a file or folder (via reference) is hidden #15501
https://github.com/pharo-project/pharo/pull/15501
- Integrate new release of pharo-ai / graph-algorithms v1.2.6 #15521
https://github.com/pharo-project/pharo/pull/15521
- Disable automated transform for deprecation of Object>>asOrderedCollection #15540
https://github.com/pharo-project/pharo/pull/15540
- DrTest shortcut was not working #15539
https://github.com/pharo-project/pharo/pull/15539
- 15334-Browser-Accepting-a-class-definition-with-no-change-does-not-refresh #15538
https://github.com/pharo-project/pharo/pull/15538
- fixed #13982 Cleanup: FileSystem packages do not follow package naming #15546
https://github.com/pharo-project/pharo/pull/15546
- Fix #14957 by removing the special case for empty string #15544
https://github.com/pharo-project/pharo/pull/15544
- OSSDL2Driver loop: Avoid creating a new Delay every 5ms #15405
https://github.com/pharo-project/pharo/pull/15405
# Icons and Rendering
- Refactor ThemeIcons to have methods that answer a FormSet instead of a Form #15421
https://github.com/pharo-project/pharo/pull/15421
- fix another old icon name #15409
https://github.com/pharo-project/pharo/pull/15409
- Fix more icon names, trivial cleanups #15411
https://github.com/pharo-project/pharo/pull/15411
# Spec
- 1477-Doing-an-informduring-in-SpApplication-call-twice-the-during-block #1478
https://github.com/pharo-spec/Spec/pull/1478
- Introduce inform during #1473
https://github.com/pharo-spec/Spec/pull/1473
- Fix column alignment #1475
https://github.com/pharo-spec/Spec/pull/1475
# NewTools
- NewTools-FileBrowser should not use StInspector but switch to #617
https://github.com/pharo-spec/NewTools/pull/617
- Pharo issue #15545: Restore author and time stamp to method versions #628
https://github.com/pharo-spec/NewTools/pull/628
- StFBDirectoryFilterTest fails #622
https://github.com/pharo-spec/NewTools/pull/622
- also collect class side methods #623
https://github.com/pharo-spec/NewTools/pull/623
- fix project's url #625
https://github.com/pharo-spec/NewTools/pull/625
- Simplify StFBVisibleFilter implementation #620
https://github.com/pharo-spec/NewTools/pull/620
# Iceberg (GIT Support)
- Fix CI and remove Ring2 dependency #1765
https://github.com/pharo-vcs/iceberg/pull/1765
- Fix iceberg metacello integration #1771
https://github.com/pharo-vcs/iceberg/pull/1771
- Avoid useless garbage collects #1767
https://github.com/pharo-vcs/iceberg/pull/1767
- Small cleanups #1756
https://github.com/pharo-vcs/iceberg/pull/1756
- Clean packages usage #1759
https://github.com/pharo-vcs/iceberg/pull/1759
- Avoid RPackage extension #1758
https://github.com/pharo-vcs/iceberg/pull/1758
- Fixes #1746
https://github.com/pharo-vcs/iceberg/pull/1746
- iceberg was still using keyword, not selector, for Pragmas #1749
https://github.com/pharo-vcs/iceberg/pull/1749
- Use #isNotEmpty instead of #notEmpty in Iceberg #1752
https://github.com/pharo-vcs/iceberg/pull/1752
- Updating libgit2 to v3.0.9 #1764
https://github.com/pharo-vcs/iceberg/pull/1764
- Migrate to Tonel V3 #1766
https://github.com/pharo-vcs/iceberg/pull/1766
# Package Model
- Packages: Clean tests (naming and reorganization) #15412
https://github.com/pharo-project/pharo/pull/15412
- Fix class template when a tag is selected #15415
https://github.com/pharo-project/pharo/pull/15415
- Packages: Rename package tags and conflict error #15435
https://github.com/pharo-project/pharo/pull/15435
- Packages: Manage edge case of empty tag name #15513
https://github.com/pharo-project/pharo/pull/15513
- Rename RPackage into Package #15377
https://github.com/pharo-project/pharo/pull/15377
- Remove last references to RPackage #15359
https://github.com/pharo-project/pharo/pull/15359
- Integrate Packages to kernel #15518
https://github.com/pharo-project/pharo/pull/15518
# System Announcer
- Add tests on method announcements and fix a bug in traits announcements #15424
https://github.com/pharo-project/pharo/pull/15424
- Introduce #codeSupportAnnouncer #15418
https://github.com/pharo-project/pharo/pull/15418
- Push the bahevior of SystemAnnouncer into Announcer #15436
https://github.com/pharo-project/pharo/pull/15436
- Announcer: Reduce usage of global SystemAnnouncer #15468
https://github.com/pharo-project/pharo/pull/15468
- Deprecate SnapshotDone announcement #15514
https://github.com/pharo-project/pharo/pull/15514
# Monticello
- Monticello: Remove unused announcer #15466
https://github.com/pharo-project/pharo/pull/15466
- Simplify MCWorkingCopy announcement listening #15403
https://github.com/pharo-project/pharo/pull/15403
- Monticello: Simplify class announcement listening #15419
https://github.com/pharo-project/pharo/pull/15419
- Start to deprecate Gofer #15422
https://github.com/pharo-project/pharo/pull/15422
# Ring
- Ring: Improve Ring model to use it for Iceberg tests #15500
https://github.com/pharo-project/pharo/pull/15500
- Ring: Some fixes with Traits V2 #15460
https://github.com/pharo-project/pharo/pull/15460
- Ring: Fix RGPackage>>#asMCSnapshot #15488
https://github.com/pharo-project/pharo/pull/15488
# Refactoring Engine
- Removing more unsued method in transformation now in PushDownVariable #15535
https://github.com/pharo-project/pharo/pull/15535
- fix 15529 - Remove unused preconditinos and RBCondition methods #15531
https://github.com/pharo-project/pharo/pull/15531
- 15395 - Removes refactoring precondition that checks for classes referenced by their name #15479
https://github.com/pharo-project/pharo/pull/15479
- Refact/remove class model factory #15445
https://github.com/pharo-project/pharo/pull/15445
- Remove unused RBEnvironmentVisitor and RBEnvironmentsPresenter. Fix #⦠#15441
https://github.com/pharo-project/pharo/pull/15441
- 15523 refactoring rename refactoring is not working anymore #15525
https://github.com/pharo-project/pharo/pull/15525
# Compiler and Compilation
- 15288-OCStaticASTCompilerPlugin-has-two-priority-mecanism #15548
https://github.com/pharo-project/pharo/pull/15548
- CompileMethod: Introduce the concept of properties to persist #15293
https://github.com/pharo-project/pharo/pull/15293
- CompiledMethod: Preserve protocol after removal #15364
https://github.com/pharo-project/pharo/pull/15364
- Simplify recompilation #15413
https://github.com/pharo-project/pharo/pull/15413
- Fix bug in recompilation of trait methods #15423
https://github.com/pharo-project/pharo/pull/15423
# Variables
- implement #removeClassVarNamed: in terms of #removeClassVariable: #15473
https://github.com/pharo-project/pharo/pull/15473
- 15470-Remove-Pool-fileOut-support #15472
https://github.com/pharo-project/pharo/pull/15472
- reduce user of #classPool #15496
https://github.com/pharo-project/pharo/pull/15496
- Deprecate asClass #15478
https://github.com/pharo-project/pharo/pull/15478
- add a log to UndeclaredVariable class>>#possiblyRegisteredWithName:
https://github.com/pharo-project/pharo/pull/15517
- 15261-cleanup-bindingsDo #15537
https://github.com/pharo-project/pharo/pull/15537
- Cleanup: reduce users of #classPool #15541
https://github.com/pharo-project/pharo/pull/15541
# Tests
- Improving performance of some Refactoring Transformation tests #15486
https://github.com/pharo-project/pharo/pull/15486
- Faster TaskIt test run #15498
https://github.com/pharo-project/pharo/pull/15498
- Fix flacky testSubClassWithTraitsAfterModificationOfParentSharedPools #15417
https://github.com/pharo-project/pharo/pull/15417
- Provide a OpenToolTest>>#testImplementorsOfAt #15477
https://github.com/pharo-project/pharo/pull/15477
# Full Image Build
- Clean Epicea Baseline #15416
https://github.com/pharo-project/pharo/pull/15416
- Small improvements to the primary baselines #15494
https://github.com/pharo-project/pharo/pull/15494
# Bootrap
- Bootstrap: Remove dead code #15461
https://github.com/pharo-project/pharo/pull/15461
- Bootstrap: Remove hack for defined methods #15420
https://github.com/pharo-project/pharo/pull/15420
- Bootstrap: Remove pre Spur code #15397
https://github.com/pharo-project/pharo/pull/15397
- Bootstrap:â¯Do not rely on symlink to locate the bootstrap files #15462
https://github.com/pharo-project/pharo/pull/15462
- Bootstrap: Update localisation of SourceFileArray #15533
https://github.com/pharo-project/pharo/pull/15533
- Rename Pharo30Bootstrap into PharoBootstrap #15459
https://github.com/pharo-project/pharo/pull/15459
- Add logs on PharoBootstrapInitialization #15532
https://github.com/pharo-project/pharo/pull/15532
- Fix date printer during the bootstrap #15551
https://github.com/pharo-project/pharo/pull/15551
# Cleanups: Interaction
- Deprecate #removeClassVarNamed:interactive: #15463
https://github.com/pharo-project/pharo/pull/15463
- fix #15407 and remove a spurious UIManager crappy pops up #15432
https://github.com/pharo-project/pharo/pull/15432
- 15400-Remove-spurious-UIManager-default-in-domain-object #15410
https://github.com/pharo-project/pharo/pull/15410
# Cleanup
- Cleanup ClassParser: remove tokens #15547
https://github.com/pharo-project/pharo/pull/15547
- Extract Halt from kernel #15530
https://github.com/pharo-project/pharo/pull/15530
- transform timeout: into timeLimit: #15528
https://github.com/pharo-project/pharo/pull/15528
- 15446 clipboard class should be packaged outside of morphic core #15511
https://github.com/pharo-project/pharo/pull/15511
- Cleanup: Tag 3 uncategorized rules #15481
https://github.com/pharo-project/pharo/pull/15481
- Cleanup: Fix notNil -> isNotNil in all collections #15492
https://github.com/pharo-project/pharo/pull/15492
- Cleanup: fix lint issue in TComparable>>#min: and TIsEmpty>>#isNotEmpty by banning #15485
https://github.com/pharo-project/pharo/pull/15485
- Cleanup: Fix notNil -> isNotNil in FileSystem, Text-Diff, Color and R⦠#15475
https://github.com/pharo-project/pharo/pull/15475
- Cleanup: Fix notNil -> isNotNil in all Refactoring-* packages #15490
https://github.com/pharo-project/pharo/pull/15490
- Cleanup notNil in FFI/UFFI #15510
https://github.com/pharo-project/pharo/pull/15510
Nov. 27, 2023
Re: [rmod] Pharo needs you! Call to save the Pharo UI
by stephane ducasse
Thanks hernan.
I do not think that there is a fileList in newTools.
I will check your file dialog.
S
> On 23 Nov 2023, at 20:43, Hernán Morales <hernan-federico.morales(a)inria.fr> wrote:
>
> Hi Stef,
>
> De: "Stephane Ducasse" <stephane.ducasse(a)inria.fr <mailto:stephane.ducasse@inria.fr>>
> Para: "rmod" <rmod(a)inria.fr <mailto:rmod@inria.fr>>, pharo-dev(a)lists.pharo.org <mailto:pharo-dev@lists.pharo.org>, pharo-users(a)lists.pharo.org <mailto:pharo-users@lists.pharo.org>
> Enviados: Jueves, 23 de Noviembre 2023 11:28:15
> Asunto: [rmod] Pharo needs you! Call to save the Pharo UI
> Hello people
> If you want that Pharo just do not endlessly stay with such a crappy UI we all know,
> please consider joining the effort.
>
> We should make sure that as a general principle, a model MUST not refer to a UI.
> So that we can change the UI. We are working on it. But we need help.
>
> We should
> (1) Migrate last cool Morphic-based tools such as Finder, Settings to Spec2, FileList to Spec
>
> (2) Remove dependencies from Domain objects to Morphic (obviously)
> - remove to UIManager first from code outside Morphic.
>
> As a general principle please watch
> http://rmod-pharo-mooc.lille.inria.fr/AdvancedDesignMooc/Videos/M03_S5.mp4
> http://rmod-pharo-mooc.lille.inria.fr/AdvancedDesignMooc/Videos/M09_S4.mp4
> It looks basic but it is so true.
>
>
> Current status
> (1)
> Hernan started to work on the Setting Browser
> I know someone started to work on Finder but I think the effort was stalled.
> We need help there.
> As a reference so that anyone can check the new Settings current status, this is the repository I'm working on: https://github.com/hernanmd/new-settings-browser
>
> Regarding the FileList, I'm afraid we duplicate efforts unnecessarily: I worked some time ago on https://github.com/hernanmd/file-dialog and then I saw that https://github.com/pharo-spec/NewTools appeared, it's a pity to have such a bad communication.
>
> The issue to close is the following: https://github.com/pharo-project/pharo/issues/15455
>
>
> Cheers,
>
> Hernán
>
> (2)
> We started to clean the refactorings and we are making progress but this is slow.
> I started to remove references to UIManager because it should go away.
>
> In Spec we introduced dialog, check the examples in subclasses of SpDialogPresenter
> In addition, an application is able to create some default dialog
> check ui - dialogs in SpApplication
> I introduced a simple notification center that should play a kind of growl.
> The inform: calls should be redirected to notify: because inform: was in P11 not blocking and now in P12 there are.
>
> I created special issues about the references to UIManager
> I opened issues with a special tag
> https://github.com/pharo-project/pharo/issues?q=is%3Aissue+is%3Aopen+label%…
>
> The analysis is here
>
> https://github.com/pharo-project/pharo/issues/14174
>
> Here are some scripts.
>
> # Here we see the dependencies from Spec to UIManager
> | allSpec results |
> results := Dictionary new.
> allSpec := SpPresenter withAllSubclasses.
>
> UIManager selectors do:
> [ :sel |
> | size |
> size := ((SystemNavigation default allCallsOn: sel )
> select: [ :mth | allSpec includes: mth methodClass ]) size.
> size isZero ifFalse: [
> results at: sel put: size]].
> String streamContents: [ :s |
> results keys sorted do: [ :k |
> s nextPutAll: k , ' -> ', (results at: k) asString. s cr. ]]
> # The following script shows the callers that are not in Spec nor in Morphic
> | allSpec results allMorphs |
> results := Dictionary new.
> allSpec := SpPresenter withAllSubclasses.
> allMorphs := Morph withAllSubclasses.
> allClasses := Smalltalk allClasses.
> allClasses := allClasses reject: [ :c | allSpec includes: c ].
> allClasses := allClasses reject: [ :c | allMorphs includes: c ].
>
> UIManager selectors sorted do:
> [ :sel |
> | size |
> size := ((SystemNavigation default allCallsOn: sel )
> select: [ :mth | allClasses includes: mth methodClass ]) size.
> size isZero ifFalse: [
> results at: sel put: size]].
> String streamContents: [ :s |
> results keys sorted do: [ :k |
> s nextPutAll: k , ' -> ', (results at: k) asString. s cr. ]]
>
> abort: -> 1
> abort:title: -> 5
> activate -> 15
> alert: -> 4
> alert:title: -> 4
> alert:title:configure: -> 2
> beDefault -> 2
> chooseDirectory -> 1
> chooseDirectory: -> 1
> chooseDirectory:from: -> 2
> chooseDirectoryFrom: -> 1
> chooseFrom: -> 2
> chooseFrom:lines: -> 2
> chooseFrom:lines:message: -> 1
> chooseFrom:lines:message:title: -> 2
> chooseFrom:lines:title: -> 8
> chooseFrom:title: -> 5
> chooseFrom:values: -> 5
> chooseFrom:values:lines: -> 1
> chooseFrom:values:lines:message: -> 1
> chooseFrom:values:lines:message:title: -> 3
> chooseFrom:values:lines:title: -> 4
> chooseFrom:values:message:title: -> 4
> chooseFrom:values:title: -> 8
> chooseFullFileNameMatching: -> 1
> chooseFullFileNameMatching:label: -> 1
> chooseOrRequestFrom:values:lines:title: -> 3
> confirm: -> 47
> confirm:label: -> 5
> confirm:label:trueChoice:falseChoice:cancelChoice:default: -> 1
> confirm:orCancel: -> 1
> confirm:trueChoice:falseChoice: -> 2
> confirm:trueChoice:falseChoice:cancelChoice:default: -> 6
> deactivate -> 5
> debugProcess:context:label:fullView:notification: -> 1
> defer: -> 24
> deny: -> 2565
> deny:title: -> 2
> displayProgress:from:to:during: -> 4
> edit:label: -> 4
> edit:label:accept: -> 3
> fileExistsDefaultAction: -> 1
> handleDebugRequest:fromDebuggerSystem: -> 1
> handleError: -> 2
> handleError:log: -> 2
> handleWarningDebugRequest:fromDebuggerSystem: -> 1
> inform: -> 98
> inform:actionOnClick: -> 1
> informUser:during: -> 13
> informUserDuring: -> 5
> logError: -> 2
> lowSpaceWatcherDefaultAction: -> 1
> merge:informing: -> 2
> multiLineRequest:initialAnswer:answerHeight: -> 5
> newDisplayDepthNoRestore: -> 1
> newMenuIn:for: -> 15
> onPrimitiveError: -> 1
> proceed:title: -> 2
> question:title: -> 2
> questionWithoutCancel: -> 1
> questionWithoutCancel:title: -> 2
> request: -> 13
> request:initialAnswer: -> 19
> request:initialAnswer:entryCompletion: -> 1
> request:initialAnswer:title: -> 13
> request:initialAnswer:title:entryCompletion: -> 6
> requestDebuggerOpeningFor: -> 1
> requestDebuggerOpeningForProcess:named:inContext: -> 1
> requestDebuggerOpeningForWarning: -> 1
> requestDebuggerOpeningNamed:inContext: -> 1
> requestPassword: -> 3
> restoreDisplay -> 3
> restoreDisplayAfter: -> 1
> spawnNewProcess -> 4
> systemNotificationDefaultAction: -> 1
> terminateUIProcess -> 1
> textEntry: -> 2
> textEntry:title: -> 2
> textEntry:title:entryText: -> 2
> unhandledErrorDefaultAction: -> 3
> warningDefaultAction: -> 1
>
>
>
> --------------------------------------------
> Stéphane Ducasse
> http://stephane.ducasse.free.fr / http://www.pharo.org
> 03 59 35 87 52
> Assistant: Aurore Dalle
> FAX 03 59 57 78 50
> TEL 03 59 35 86 16
> S. Ducasse - Inria
> 40, avenue Halley,
> Parc Scientifique de la Haute Borne, Bât.A, Park Plaza
> Villeneuve d'Ascq 59650
> France
--------------------------------------------
Stéphane Ducasse
http://stephane.ducasse.free.fr / http://www.pharo.org
03 59 35 87 52
Assistant: Aurore Dalle
FAX 03 59 57 78 50
TEL 03 59 35 86 16
S. Ducasse - Inria
40, avenue Halley,
Parc Scientifique de la Haute Borne, Bât.A, Park Plaza
Villeneuve d'Ascq 59650
France
Nov. 23, 2023
Re: [rmod] Pharo needs you! Call to save the Pharo UI
by Hernán Morales
Hi Stef,
> De: "Stephane Ducasse" <stephane.ducasse(a)inria.fr>
> Para: "rmod" <rmod(a)inria.fr>, pharo-dev(a)lists.pharo.org,
> pharo-users(a)lists.pharo.org
> Enviados: Jueves, 23 de Noviembre 2023 11:28:15
> Asunto: [rmod] Pharo needs you! Call to save the Pharo UI
> Hello people
> If you want that Pharo just do not endlessly stay with such a crappy UI we all
> know,
> please consider joining the effort.
> We should make sure that as a general principle, a model MUST not refer to a UI.
> So that we can change the UI. We are working on it. But we need help.
> We should
> (1) Migrate last cool Morphic-based tools such as Finder, Settings to Spec2,
> FileList to Spec
> (2) Remove dependencies from Domain objects to Morphic (obviously)
> - remove to UIManager first from code outside Morphic.
> As a general principle please watch
> [ http://rmod-pharo-mooc.lille.inria.fr/AdvancedDesignMooc/Videos/M03_S5.mp4 |
> http://rmod-pharo-mooc.lille.inria.fr/AdvancedDesignMooc/Videos/M03_S5.mp4 ]
> [ http://rmod-pharo-mooc.lille.inria.fr/AdvancedDesignMooc/Videos/M09_S4.mp4 |
> http://rmod-pharo-mooc.lille.inria.fr/AdvancedDesignMooc/Videos/M09_S4.mp4 ]
> It looks basic but it is so true.
> Current status
> (1)
> Hernan started to work on the Setting Browser
> I know someone started to work on Finder but I think the effort was stalled.
> We need help there.
As a reference so that anyone can check the new Settings current status, this is the repository I'm working on: https://github.com/hernanmd/new-settings-browser
Regarding the FileList, I'm afraid we duplicate efforts unnecessarily: I worked some time ago on https://github.com/hernanmd/file-dialog and then I saw that https://github.com/pharo-spec/NewTools appeared, it's a pity to have such a bad communication.
The issue to close is the following: https://github.com/pharo-project/pharo/issues/15455
Cheers,
Hernán
> (2)
> We started to clean the refactorings and we are making progress but this is
> slow.
> I started to remove references to UIManager because it should go away.
> In Spec we introduced dialog, check the examples in subclasses of
> SpDialogPresenter
> In addition, an application is able to create some default dialog
> check ui - dialogs in SpApplication
> I introduced a simple notification center that should play a kind of growl.
> The inform: calls should be redirected to notify: because inform: was in P11 not
> blocking and now in P12 there are.
> I created special issues about the references to UIManager
> I opened issues with a special tag
> [
> https://github.com/pharo-project/pharo/issues?q=is%3Aissue+is%3Aopen+label%…
> |
> https://github.com/pharo-project/pharo/issues?q=is%3Aissue+is%3Aopen+label%…
> ]
> The analysis is here
> [ https://github.com/pharo-project/pharo/issues/14174 |
> https://github.com/pharo-project/pharo/issues/14174 ]
> Here are some scripts.
> # Here we see the dependencies from Spec to UIManager
> | allSpec results |
> results := Dictionary new.
> allSpec := SpPresenter withAllSubclasses.
> UIManager selectors do:
> [ :sel |
> | size |
> size := ((SystemNavigation default allCallsOn: sel )
> select: [ :mth | allSpec includes: mth methodClass ]) size.
> size isZero ifFalse: [
> results at: sel put: size]].
> String streamContents: [ :s |
> results keys sorted do: [ :k |
> s nextPutAll: k , ' -> ', (results at: k) asString. s cr. ]]
> # The following script shows the callers that are not in Spec nor in Morphic
> | allSpec results allMorphs |
> results := Dictionary new.
> allSpec := SpPresenter withAllSubclasses.
> allMorphs := Morph withAllSubclasses.
> allClasses := Smalltalk allClasses.
> allClasses := allClasses reject: [ :c | allSpec includes: c ].
> allClasses := allClasses reject: [ :c | allMorphs includes: c ].
> UIManager selectors sorted do:
> [ :sel |
> | size |
> size := ((SystemNavigation default allCallsOn: sel )
> select: [ :mth | allClasses includes: mth methodClass ]) size.
> size isZero ifFalse: [
> results at: sel put: size]].
> String streamContents: [ :s |
> results keys sorted do: [ :k |
> s nextPutAll: k , ' -> ', (results at: k) asString. s cr. ]]
> abort: -> 1
> abort:title: -> 5
> activate -> 15
> alert: -> 4
> alert:title: -> 4
> alert:title:configure: -> 2
> beDefault -> 2
> chooseDirectory -> 1
> chooseDirectory: -> 1
> chooseDirectory:from: -> 2
> chooseDirectoryFrom: -> 1
> chooseFrom: -> 2
> chooseFrom:lines: -> 2
> chooseFrom:lines:message: -> 1
> chooseFrom:lines:message:title: -> 2
> chooseFrom:lines:title: -> 8
> chooseFrom:title: -> 5
> chooseFrom:values: -> 5
> chooseFrom:values:lines: -> 1
> chooseFrom:values:lines:message: -> 1
> chooseFrom:values:lines:message:title: -> 3
> chooseFrom:values:lines:title: -> 4
> chooseFrom:values:message:title: -> 4
> chooseFrom:values:title: -> 8
> chooseFullFileNameMatching: -> 1
> chooseFullFileNameMatching:label: -> 1
> chooseOrRequestFrom:values:lines:title: -> 3
> confirm: -> 47
> confirm:label: -> 5
> confirm:label:trueChoice:falseChoice:cancelChoice:default: -> 1
> confirm:orCancel: -> 1
> confirm:trueChoice:falseChoice: -> 2
> confirm:trueChoice:falseChoice:cancelChoice:default: -> 6
> deactivate -> 5
> debugProcess:context:label:fullView:notification: -> 1
> defer: -> 24
> deny: -> 2565
> deny:title: -> 2
> displayProgress:from:to:during: -> 4
> edit:label: -> 4
> edit:label:accept: -> 3
> fileExistsDefaultAction: -> 1
> handleDebugRequest:fromDebuggerSystem: -> 1
> handleError: -> 2
> handleError:log: -> 2
> handleWarningDebugRequest:fromDebuggerSystem: -> 1
> inform: -> 98
> inform:actionOnClick: -> 1
> informUser:during: -> 13
> informUserDuring: -> 5
> logError: -> 2
> lowSpaceWatcherDefaultAction: -> 1
> merge:informing: -> 2
> multiLineRequest:initialAnswer:answerHeight: -> 5
> newDisplayDepthNoRestore: -> 1
> newMenuIn:for: -> 15
> onPrimitiveError: -> 1
> proceed:title: -> 2
> question:title: -> 2
> questionWithoutCancel: -> 1
> questionWithoutCancel:title: -> 2
> request: -> 13
> request:initialAnswer: -> 19
> request:initialAnswer:entryCompletion: -> 1
> request:initialAnswer:title: -> 13
> request:initialAnswer:title:entryCompletion: -> 6
> requestDebuggerOpeningFor: -> 1
> requestDebuggerOpeningForProcess:named:inContext: -> 1
> requestDebuggerOpeningForWarning: -> 1
> requestDebuggerOpeningNamed:inContext: -> 1
> requestPassword: -> 3
> restoreDisplay -> 3
> restoreDisplayAfter: -> 1
> spawnNewProcess -> 4
> systemNotificationDefaultAction: -> 1
> terminateUIProcess -> 1
> textEntry: -> 2
> textEntry:title: -> 2
> textEntry:title:entryText: -> 2
> unhandledErrorDefaultAction: -> 3
> warningDefaultAction: -> 1
> --------------------------------------------
> Stéphane Ducasse
> http://stephane.ducasse.free.fr / http://www.pharo.org
> 03 59 35 87 52
> Assistant: Aurore Dalle
> FAX 03 59 57 78 50
> TEL 03 59 35 86 16
> S. Ducasse - Inria
> 40, avenue Halley,
> Parc Scientifique de la Haute Borne, Bât.A, Park Plaza
> Villeneuve d'Ascq 59650
> France
Nov. 23, 2023
Pharo needs you! Call to save the Pharo UI
by stephane ducasse
Hello people
If you want that Pharo just do not endlessly stay with such a crappy UI we all know,
please consider joining the effort.
We should make sure that as a general principle, a model MUST not refer to a UI.
So that we can change the UI. We are working on it. But we need help.
We should
(1) Migrate last cool Morphic-based tools such as Finder, Settings to Spec2, FileList to Spec
(2) Remove dependencies from Domain objects to Morphic (obviously)
- remove to UIManager first from code outside Morphic.
As a general principle please watch
http://rmod-pharo-mooc.lille.inria.fr/AdvancedDesignMooc/Videos/M03_S5.mp4
http://rmod-pharo-mooc.lille.inria.fr/AdvancedDesignMooc/Videos/M09_S4.mp4
It looks basic but it is so true.
Current status
(1)
Hernan started to work on the Setting Browser
I know someone started to work on Finder but I think the effort was stalled.
We need help there.
(2)
We started to clean the refactorings and we are making progress but this is slow.
I started to remove references to UIManager because it should go away.
In Spec we introduced dialog, check the examples in subclasses of SpDialogPresenter
In addition, an application is able to create some default dialog
check ui - dialogs in SpApplication
I introduced a simple notification center that should play a kind of growl.
The inform: calls should be redirected to notify: because inform: was in P11 not blocking and now in P12 there are.
I created special issues about the references to UIManager
I opened issues with a special tag
https://github.com/pharo-project/pharo/issues?q=is%3Aissue+is%3Aopen+label%…
The analysis is here
https://github.com/pharo-project/pharo/issues/14174 <https://github.com/pharo-project/pharo/issues/14174>
Here are some scripts.
# Here we see the dependencies from Spec to UIManager
| allSpec results |
results := Dictionary new.
allSpec := SpPresenter withAllSubclasses.
UIManager selectors do:
[ :sel |
| size |
size := ((SystemNavigation default allCallsOn: sel )
select: [ :mth | allSpec includes: mth methodClass ]) size.
size isZero ifFalse: [
results at: sel put: size]].
String streamContents: [ :s |
results keys sorted do: [ :k |
s nextPutAll: k , ' -> ', (results at: k) asString. s cr. ]]
# The following script shows the callers that are not in Spec nor in Morphic
| allSpec results allMorphs |
results := Dictionary new.
allSpec := SpPresenter withAllSubclasses.
allMorphs := Morph withAllSubclasses.
allClasses := Smalltalk allClasses.
allClasses := allClasses reject: [ :c | allSpec includes: c ].
allClasses := allClasses reject: [ :c | allMorphs includes: c ].
UIManager selectors sorted do:
[ :sel |
| size |
size := ((SystemNavigation default allCallsOn: sel )
select: [ :mth | allClasses includes: mth methodClass ]) size.
size isZero ifFalse: [
results at: sel put: size]].
String streamContents: [ :s |
results keys sorted do: [ :k |
s nextPutAll: k , ' -> ', (results at: k) asString. s cr. ]]
abort: -> 1
abort:title: -> 5
activate -> 15
alert: -> 4
alert:title: -> 4
alert:title:configure: -> 2
beDefault -> 2
chooseDirectory -> 1
chooseDirectory: -> 1
chooseDirectory:from: -> 2
chooseDirectoryFrom: -> 1
chooseFrom: -> 2
chooseFrom:lines: -> 2
chooseFrom:lines:message: -> 1
chooseFrom:lines:message:title: -> 2
chooseFrom:lines:title: -> 8
chooseFrom:title: -> 5
chooseFrom:values: -> 5
chooseFrom:values:lines: -> 1
chooseFrom:values:lines:message: -> 1
chooseFrom:values:lines:message:title: -> 3
chooseFrom:values:lines:title: -> 4
chooseFrom:values:message:title: -> 4
chooseFrom:values:title: -> 8
chooseFullFileNameMatching: -> 1
chooseFullFileNameMatching:label: -> 1
chooseOrRequestFrom:values:lines:title: -> 3
confirm: -> 47
confirm:label: -> 5
confirm:label:trueChoice:falseChoice:cancelChoice:default: -> 1
confirm:orCancel: -> 1
confirm:trueChoice:falseChoice: -> 2
confirm:trueChoice:falseChoice:cancelChoice:default: -> 6
deactivate -> 5
debugProcess:context:label:fullView:notification: -> 1
defer: -> 24
deny: -> 2565
deny:title: -> 2
displayProgress:from:to:during: -> 4
edit:label: -> 4
edit:label:accept: -> 3
fileExistsDefaultAction: -> 1
handleDebugRequest:fromDebuggerSystem: -> 1
handleError: -> 2
handleError:log: -> 2
handleWarningDebugRequest:fromDebuggerSystem: -> 1
inform: -> 98
inform:actionOnClick: -> 1
informUser:during: -> 13
informUserDuring: -> 5
logError: -> 2
lowSpaceWatcherDefaultAction: -> 1
merge:informing: -> 2
multiLineRequest:initialAnswer:answerHeight: -> 5
newDisplayDepthNoRestore: -> 1
newMenuIn:for: -> 15
onPrimitiveError: -> 1
proceed:title: -> 2
question:title: -> 2
questionWithoutCancel: -> 1
questionWithoutCancel:title: -> 2
request: -> 13
request:initialAnswer: -> 19
request:initialAnswer:entryCompletion: -> 1
request:initialAnswer:title: -> 13
request:initialAnswer:title:entryCompletion: -> 6
requestDebuggerOpeningFor: -> 1
requestDebuggerOpeningForProcess:named:inContext: -> 1
requestDebuggerOpeningForWarning: -> 1
requestDebuggerOpeningNamed:inContext: -> 1
requestPassword: -> 3
restoreDisplay -> 3
restoreDisplayAfter: -> 1
spawnNewProcess -> 4
systemNotificationDefaultAction: -> 1
terminateUIProcess -> 1
textEntry: -> 2
textEntry:title: -> 2
textEntry:title:entryText: -> 2
unhandledErrorDefaultAction: -> 3
warningDefaultAction: -> 1
--------------------------------------------
Stéphane Ducasse
http://stephane.ducasse.free.fr / http://www.pharo.org
03 59 35 87 52
Assistant: Aurore Dalle
FAX 03 59 57 78 50
TEL 03 59 35 86 16
S. Ducasse - Inria
40, avenue Halley,
Parc Scientifique de la Haute Borne, Bât.A, Park Plaza
Villeneuve d'Ascq 59650
France
Nov. 23, 2023
Open Call: Object-Centric Breakpoints experiment
by Steven Costiou
Dear Community,
We would like to invite you to participate to our experimental study on
Object-Centric Breakpoints.
This study aims to evaluate and to understand how Object-Centric
Breakpoints impacts the debugging activity.
This experiment takes place in **Pharo 9**.
In this experiment, we ask you to solve 2 debugging tasks, one with
standard Pharo tools and one other with Object-Centric Breakpoints.
Between the two tasks, you will have to follow a tutorialand warmup
tasks to learn how to use the tool.
**How to Participate:**
All instructions are here, please read them carefully:
https://github.com/Pharo-XP-Tools/XPImageGeneration/tree/exp-ocd
**About the Experiment:**
The experiment last between 40 minutes and 2 hours.
Participants should have experience with Pharo development and
debugging.
We recommend having more than 6 months experience in Pharo and debugging
in general.
You will gain insights into the Object-Centric Breakpoints approach and
contribute to advancements in debugging research.
Help us to build better debugging tools that help you debug! :)
**Some constraints:**
- You are not allowed to load external tools and baselines, but you can
use anything that is in the base image
- Please do the experiment in one shot if possible without interruptions
- The experiment sends anonymous data to our inria server, please make
sure that you have a valid internet connection
- Please try to use the object-centric breakpoints when the experimental
framework asks you to
**Notes:**
Participation is voluntary, and everything is anonymous.
You can abandon the experiment at any point (and your data will be
discarded).
For any question, you can contact us: steven.costiou(a)inria.fr and
valentin.bourcier(a)inria.fr
Thank you for considering participating in our study.
Your contribution will be valuable in advancing the field of debugging
and helping us understand what tools we need to build for Pharo.
Sincerely,
Steven and Valentin,
EVREF team, Inria
Nov. 21, 2023