Re: [Pharo-project] In Smalltalk you can't loose code... hum
Hi eliot
our vision is that we would like to have - all the code of all the squeak and pharo version in a queryable service available from the web. for that we want a source code metamodel a la ginsu or famix Use this metamodel to aggregate several meta models: pseudo class/rb make sure that when possible this model as a compative API with the one of classes and friends => tools reuse Veronica is working on that. Hernan will probably join. May be Colin should join. We could have a nice momentum.
- for the changes we would like to have something else than a chunk format because invoking the parser to know if we are manipulating a class definition is bad (with token at: 2 do that and token at: 3 do that).
xml works for VisualWorks; it's the obvious choice. The great thing is that if you look at the VisualWorks schema you can learn from their mistakes. IIRC the schema for methods is broken because the selector is not a property (? I don't know xml terminology) of a method, e.g. in VW you see
<method>this: hic is: hic a: hic selector: hic ^self tooMuchBeer</method>
but this would be much mire useful:
<method selector="this:is:a:selector:">this: hic is: hic a: hic selector: hic ^self tooMuchBeer</method>
I know I told you that a while ago when you were still at cincom (probably around 2002 or 2003 when doru started his phd :) In the way vw does it defeats the purpose of having a markup language. Now XML is good when we do not have a language syntax that can mimic a declarative language. I was always amazed that tweak could use xml to represent CField instead of using plain CField new name: #nameOfVariable; ... So instead of xml (which requires to have an XML parser at end. We could have MethodDefinition selector: #on: ; class: #Bar; body: 'on: aStream aStream nextPutAll: 'jlkjlkj'. ^ self'. this way no need for a bad parser.
Its not a lot of work. ALso VW has a simple scheme for supporting both old chunk format and "new" xml format.
Probably the problem is that I would love to have 3 days in a row to code and be concentrated. And we cannot change eveyrthing at the same time.
BTW, now we have Igor's method trailers we can start playing with more than two source files, e.g. /not/ appending a Monticello package's source to the changes file, but merely adding it to a special directory, e.g. sources.
I have to digest that :)
Stef _______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
participants (1)
-
Stéphane Ducasse