I do not think that to have the package "Kernel" as the smallest system subset is the good way to go. The minimal system should be a set of well-structured packages so it still makes sense to have packages like Collections-* where some of them are supposed to be mandatory and others optional.
So: 1) not in that form 2) Kernel package deserves better modularization but in that case names will be like Kernel-* But of course we should discuss the best approach. Cheers, -- Pavel 2017-01-23 15:36 GMT+01:00 Clément Bera <[email protected]>: > Hi everyone, > > As I am working on an optimising JIT compiler for the Cog VM written in > Smalltalk and partly running in the Smalltalk runtime, I am very careful > about dependencies. I would like to limit the dependencies of the optimiser > to the Kernel. > > The main problem I have is that there are no collections in the Pharo > Kernel except MethodDictionary and DependentsArray. The optimiser depends > on Array, ByteArray, OrderedCollection, Set and Dictionary which are not > part of the Kernel. > > The second problem is that there are lots of things in the Kernel that the > optimiser do not depend on even though everything is in the Kernel package, > for example, the optimiser does not depend on anything related to > Time/Chronology, on Numbers other than SmallIntegers or Protocol logic. > > This leads to questions. I know that with the bootstrap incoming, some > people have answers to these questions, but I would like to the > conversation happening on the mailing list so everyone can contribute. > > Question 1) Is there any plan to make a 'Kernel-Collection' package, which > includes Array, ByteArray, OrderedCollection, Set and Dictionary, but not > the rest of the collections ? > > Question 2) Is there any plan to split the Kernel (or maybe the Kernel and > all its dependencies ?) into smaller pieces, for example 'KernelCore', > which includes the existing Kernel *but* other Numbers than SmallIntegers, > Protocol logic and Time Chronology, which could be moved to > 'KernelExtended' or something like that ? > > I understand that those problems are not easy, but I would like to know if > there is a generic plan so I can correctly decide on what dependencies I > can have or not. > > Thanks, cheers, >
