I have implemented a new implementation of the StartUpList and
ShutDownList protocol. This is the type of sacred code that will be the most difficult to change and maintain between forks. I have always thought it could be simplified. My implementation is just an idea, to show the following concept. This code is packaged, as three files containing all the knowledge needed to adopt it into your fork. 1. The implementation, (generated by PackagingCuis>>pkgSystemStartUpShutDown: 1) 2. The ChangeSet for integration into Cuis2.0 3. A ChangeSet for removal of the old cruft from Cuis2.0. This should allow all forks to load file 1. without it effecting their code base, for testing and review. Then by inspecting the change list in file 2, they see how Cuis2.0 integrated it, picking the appropriate methods, and finally, they will need their own version of 3, until this protocol makes it into the mainstream of that fork. File 3, is only applied once, File 2, you maintain your own local version, and File 1, you can then track the maintained version, in case there are any updates or fixes. This is currently available in the "unstable" build of the InstallStream process for Cuis. cheers Keith ==== to get started - join https://launchpad.net/~rodents mkdir trunk; cd trunk bzr checkout --lightweight lp:~rodents/cuis/Cuis2.0vm.app bzr checkout --lightweight lp:~rodents/cuis/base bzr branch lp:~rodents/cuis/release bzr branch lp:~rodents/cuis/stable bzr branch lp:~rodents/cuis/unstable ./unstable/build.sh |
Hi Keith -
That sounds great. Any chance you can provide URLs for these files so that we can actually download and look at it? Cheers, - Andreas keith wrote: > I have implemented a new implementation of the StartUpList and > ShutDownList protocol. This is the type of sacred code that will be the > most difficult to change and maintain between forks. I have always > thought it could be simplified. My implementation is just an idea, to > show the following concept. > > This code is packaged, as three files containing all the knowledge > needed to adopt it into your fork. > > 1. The implementation, (generated by > PackagingCuis>>pkgSystemStartUpShutDown: 1) > 2. The ChangeSet for integration into Cuis2.0 > 3. A ChangeSet for removal of the old cruft from Cuis2.0. > > This should allow all forks to load file 1. without it effecting their > code base, for testing and review. Then by inspecting the change list in > file 2, they see how Cuis2.0 integrated it, picking the appropriate > methods, and finally, they will need their own version of 3, until this > protocol makes it into the mainstream of that fork. > > File 3, is only applied once, File 2, you maintain your own local > version, and File 1, you can then track the maintained version, in case > there are any updates or fixes. > > This is currently available in the "unstable" build of the InstallStream > process for Cuis. > > cheers > > Keith > ==== > to get started - join https://launchpad.net/~rodents > > mkdir trunk; cd trunk > bzr checkout --lightweight lp:~rodents/cuis/Cuis2.0vm.app > bzr checkout --lightweight lp:~rodents/cuis/base > bzr branch lp:~rodents/cuis/release > bzr branch lp:~rodents/cuis/stable > bzr branch lp:~rodents/cuis/unstable > ./unstable/build.sh > > > |
Sorry it helps if I push them to the server...
http://bazaar.launchpad.net/~rodents/cuis/unstable/files/head%3A/ Keith >> to get started - join https://launchpad.net/~rodents >> mkdir trunk; cd trunk >> bzr checkout --lightweight lp:~rodents/cuis/Cuis2.0vm.app >> bzr checkout --lightweight lp:~rodents/cuis/base >> bzr branch lp:~rodents/cuis/release >> bzr branch lp:~rodents/cuis/stable >> bzr branch lp:~rodents/cuis/unstable >> ./unstable/build.sh > > |
Hi everyone,
What would you name the class which controls the "System", in terms of startUp/shutDown and saving the image, if you pulled that functionality out of Smalltalk? (Don't tell me, SmalltalkImage?) I called it System, for now, SystemControl ? Do we prefer a class side or instance side implementation? System current startUpList or System startUpList. Keith |
On Wednesday 03 February 2010 04:03:50 pm keith wrote:
> What would you name the class which controls the "System", in terms of > startUp/shutDown and saving the image, if you pulled that > functionality out of Smalltalk? (Don't tell me, SmalltalkImage?) I like the Newspeak plainspeak ;-) for it - Platform. Subbu |
In reply to this post by keith1y
keith wrote:
> What would you name the class which controls the "System", in terms of > startUp/shutDown and saving the image, if you pulled that functionality > out of Smalltalk? (Don't tell me, SmalltalkImage?) StartupMananger. Class comment: I am responsible for managing a registry of classes that are notified on system startup and shutdown. Classes register themself by providing a priority denoteing how early they should be started. Known priorities are: xxx - Used by Delay. Should be the first class to start since otherwise none of the timeing functions will work. (... more to come ...) Cheers, - Andreas |
Free forum by Nabble | Edit this page |