here is a slide show for describing shortly each project. http://pharo.googlecode.com/issues/attachment?aid=7944307948365408594&name=PharoProjects.pdf&token=a1d615339d3466000751b27a9a67b456
The following projects should be a bit documented based on the slideshow.
Comments all the way down
- We should have class comments, methods comments
- We should tag some tests with pragma
<public>
and they should appear in the help - We should probably generate an HTML version of the classes for the web (and the hudson server should generate the doc).
- We should have package level description may be using SmallUML
- Monthly action to get one set of classes up to the level.
OPAL
- First compiler should compile and decompile everything
- First version with compatible interface
- Refactored API with compilation context
- Parametrized by environments to support cross compilation - environments to look for classes but also nil, true....
- Should be able to bootstrap OPAL with OPAL
Cleaning (polling) events
- There is a lot of code relying on the polling event semantics
- Windows VM should have the semaphore to support events and not polling
New event hierarchy (iSqueak?)
- in iSqueak I guess mike designed a new event hierarchy that support
- We should get that hierarchy as a basis for a new infrastructure
- we should extend it to multitouch events and also works on multiple platform
Weak Structure and Finalizers
- Sync with Squeak and get weak structure working well
Collections
- Set with Nil
- Hashed Collection final look
Sockets
- Check recent Squeak fixes
Integration of Zinc
- Zinc is new http server and we should use it.
Integration RB infrastructure
- The idea is to have the RBEnvironment API in the superclass of SystemDictionary so that we can load RBEnvironment leaves and that we have a composite in which SystemDictionary is a leave.
This way we can have an extensive query mechanism but not duplicated like now in RB
Ring Metamodel
- We should avoid to multiply incompatible code models: Smalltalk, pseudoclass, RB, MC
- Tools should be able to work on living or out-of-image entity declarations
ROME (openVG) API
- We should introduce a ROME like API for graphics
- Have a cairo and opensvg back-end as well as a fallback when cairo and the rest is not available.
- We should rewrite the core and others to use the API
Environment parametrized tools
- All the tools should work on environment and not directly accessing Smalltalk globals
- this will enable remote/cross compilation, bootstrap, atomic loading, ...
UIBuilder
SimpleMorphic
- We should either port polymoprh to simpleMorph
- Or check the improvements and backport them to Morphic
changed/updates
- Do we use announcements? instead of on:send:... actionMap
- We should at least remove slowly change updates
Announcements
- We are building SystemAnnouncer that raise announcements
- The goal is to replace/nuke SystemChangeNotifier
RPackage
- We wrote a new class for package: it is not based on convention.
- Now we are hooking it using announcement
- We should make sure that MC star-notation is converted at load and save time
- We should check between some logic is in MC and not in PackageInfo
Source code manager
- We should clean Changeset and changes format.... code is ugly.
- this implies changing what is stored in changes.
- in a second step or in parallel, all the versions of all the code should be stored in a database and queriable
FileSystem
- We should get it in.
- Now colin rewrote a fileStream and saw Xstream. But It would be good to avoid to have Xtreams in the core.
- I would like to have a new filestream API compatible with the existing one for the core so that FS can be based on it.
Coral
- we have a scripting syntax for pharo and we should get more.
Nuts
- we use nuts names for several kernel for bootstrapping the system
- pinekernel is the port of microSqueak to pharo
- after we have haselnuts, walnuts and coconuts. We are working on coconuts