Diff for MrGwen

Sun, 12/12/2010 - 15:34 by Gwenael CasaccioSun, 12/12/2010 - 17:27 by Gwenael Casaccio
Changes to Body
Line 5 Line 5
bugs: bugs:
----- -----
- NamespaceSource [ DONE ] + NamespaceSource [ Wip (link to namespace) ]
Refactoring => Move Namespace fileout to a fileout class Refactoring => Move Namespace fileout to a fileout class

Revision of Sun, 12/12/2010 - 17:27:

MrGwen

== My Task List: ==

- VisualGST:

bugs:
-----
NamespaceSource [ Wip (link to namespace) ]
Refactoring => Move Namespace fileout to a fileout class

- UnicodeCharacter speed up:
git://github.com/MrGwen/GNU-Smalltalk.git on the uchar branch

the vm has been updated need to be review.

- Method Pragma:
to do

- Namespace current
ProcessEnvironment at: #currentNamespace

- Shape:
git://github.com/MrGwen/GNU-Smalltalk.git on the shape branch

1) use singletons. Creating instances all the time is not acceptable. [ Done ]
2) no empty classes. [ Done ]
3) no empty methods returning self. Leave those unimplemented or use #subclassResponsibility. [ Done ]
4) methods such as wrongClassIfFloatShape: and wrongClassIfCharacterShape: make no sense. Just override checkArgumentClass: instead. [ Done ]
5) #shape: not implemented yet using shapes, as a result #resolveShape: is unused. [ WIP ]
6) no class-method-only classes. Move those to Shape. [ Done ]

- PackageLoader fileOutPackage:

git@github.com:MrGwen/gst-smalltalk.git package

Disclaimer: !!! Nothing has changed on the package format !!!

How It Works:
========

- PackageLoader fileOutPackanglais et le clergé étaient assassins. Ses critiques de la chrétienté et de la sauvagerie de l’inquisition étaient assassins. Alors, résumer le philosophe à une de ses «citations», et surtout à celle-là, c’est aussi de l’assassinat, car elle contredit le sens de son texte sur la tolérance. Pour éclairer le spectateur, il fallait au moins nuancer (après avoir donné la réponse, par exemple — c’est à ça que servent les jeux culturels, non ?) en disant que Voltaire ne parlait pas des Juifs en tant qu’êtres humains contemporains, mais bien exclusivement en tant que peuple décrit dans la Bible. Pour vous en convaincre, je vous propose de lire quelques paragraphes de ce chapitre «Tolérance» du «Dictionnaire philosophique». age: 'Iliad' to: '/aPath'

right now It will save the package namespace,

/aPath/namespace/Cat1/SubCat1/.../Class.st

PackageSource

- VModule:

- bootstrap the kernel (reuse my old bootstrap code)
- scheduler in user mode (use delay)
- reuse my old multi threaded vm (merge only the threaded side)

- Multi Threaded VM:

Learn from previous approach:
Multiple image/Multiple Thread design mistake also
the vm design is not so good on that side, all the classes
could be inside a struct each vm will have its own struct.
Instead of something like that why not the classical struct and image loaded like any normal ObjectSpace.

The pro less VM changes ^^
The cons slower, are all the primitives usuable (ie changeClassTo chekc if the new class inherit from Behavior or something like that)

An image is just a simple normal thread with a userland scheduler

Scheduler1 ... SchedulerN
Th1 .... Thn Th1 .... Thn

As a first step no multiple ObjectMemory
The GC will block the other VMs til it is running
Idem for some primitives and memory operation ?allInstances/become/stackAllocation?

User login