My favorites | Sign in
Project Home Downloads Wiki Issues Source
Search
for
Projects  
a list of current projects to improve the infrastructure of Pharo
Updated Dec 5, 2010 by stephane...@gmail.com

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

Sign in to add a comment
Powered by Google Project Hosting