Squeak
  links to this page:    
View this PageEdit this PageUploads to this PageHistory of this PageTop of the SwikiRecent ChangesSearch the SwikiHelp Guide
Latest code for Modules
Last updated at 5:15 pm UTC on 16 January 2006
This is a page to upload your latest code. All code that is not yet out in the public updates should be stored here. Please put your code here so that everyone working on the issue is up to date.

Module Age Browser

A browser for the age of modules (what else). The browser is intended to allow working in some "current module" tracking all the changes and dependencies as they are introduced. The browser assumes STRONG modules everywhere in order to be able to track the dependencies accordingly. This is still experimental stuff so you have been warned.

Latest version: MABrowser.cs

Using the MABrowser

Version Numbering and Version History

This change set includes two classes, VersionNumber and VersionHistory. VersionNumber implements a version numbering system that uses an algorithm to generate predecessor and successor versions for any given version. It accommodates branching. See the class comments for more details.

VersionHistory implements a collection of VersionNumbers with rules enforcing how versions are added and removed. See the class comments for more details.

Latest Version: VersionNumber.cs

Module AddOn used by Module Age Browser

Lastest version: ModuleAddOn.cs

Various small additions to the modules API


A few collected utility methods I found useful.

A simple way to move classes:
Celeste moveTo: aModule.

A simple, useful sanity test -
aModule valid.

rounding out the iteration protocols:
aModule deepClasses
aModule deepGlobalReferencesDo: [:a :b :c | block]
ModuleAdditions.cs

ModuleLoadUrl

Adds:
1. A menu item to quickly access any url's you find in text
panes.
2. A simple, way to load a module, using a new url format. Load the
changeset, and then-

loadmodule:/People/dvf/GraphAlgorithms

Which should load a simple but working module into your image. It's possible the load might fail - just choose abandon when the debugger comes, and url-it again. I think it's related to clean images not having the dvf module, but I'm not sure. Anyway, not related to the enh at hand.
ModuleLoadUrl.cs.gz

ModuleAddOn.cs
VersionNumber.cs
VersionNumber.cs

SimpleTestModule

The purpose of these tests is multiple. It contains :
- method testings (such as testLocalUnresolvedRefsWithScheme or testMoveNameToModule)
- scenario describing some useful process (such as testDeltaModules)
- possible bugs (such as testExportsNameBUG)
I think it is a good start for learning modules at a less theorical level. Tests are some very accurate vector for explaining and describing some concept. Please, use it and improve it.

For people who do not know the sunit Framework. Doit 'TestRunner open' in a workspace, and then search SimpleTestModule, and then press run.

The changeset define some new methods for the class Module such as (importName: , importNameForModule: , importName:interactive:) and what could be fix (personnaly I do not like the notice when I try to create a class with a name already existing).

Free to add new tests ! Last update 9July02 : SimpleTestModule.cs

ModuleTool

I have completely remade ModuleTool with focusing about dependencies between module. It do not have the shape I want to give to it, but I still want to share it in order to debat on it.
I didn't work about loading/saving, so some functions may not work.

A short demo :

It is clearly not finished, but I want it to produce some discution
Last update 9July02 : ModuleTool.cs