Diff for MrGwen

Sun, 12/12/2010 - 13:01 by Gwenael CasaccioSun, 12/12/2010 - 15:34 by Gwenael Casaccio
Changes to Body
Line 15 Line 15
- Method Pragma: - Method Pragma:
to do to do
 +
 + - Namespace current
 + ProcessEnvironment at: #currentNamespace
- Shape: - Shape:
Line 21 Line 24
1) use singletons. Creating instances all the time is not acceptable. [ Done ] 1) use singletons. Creating instances all the time is not acceptable. [ Done ]
2) no empty classes. [ Done ] 2) no empty classes. [ Done ]
- 3) no empty methods returning self. Leave those unimplemented or use #subclassResponsibility. + 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 ] 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 ] 5) #shape: not implemented yet using shapes, as a result #resolveShape: is unused. [ WIP ]
Line 35 Line 38
======== ========
- - PackageLoader fileOutPackage: 'Iliad' to: '/aPath' + - 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, right now It will save the package namespace,

Revision of Sun, 12/12/2010 - 15:34:

MrGwen

== My Task List: ==

- VisualGST:

bugs:
-----
NamespaceSource [ DONE ]
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