Hi,
I have a small problem related to file line endings and storing the token information of PetitParser.
Sometimes, we parse the sources on Windows and then manipulate the model on Linux or Mac. In this context, if I store the token positions in a string, I encounter problems because CR and LF are considered characters, but the line endings can vary.
('abc', Character cr asString , 'd') findString: 'd'.
==> 5
('abc', Character cr asString , Character lf asString, 'd') findString: 'd'.
==> 6
How would you approach this problem?
Cheers,
Doru
--
www.tudorgirba.com
"Every thing has its own flow."
Hi,
I am trying to use RoelTyper, but I encountered subscript out of bounds and empty collection errors. It looks like this problem can be reproduced on 29 classes from Pharo 1.2.1. You can test it using:
classes := Dictionary new.
Object withAllSubclassesDo: [:each |
[(TypeCollector typeInstvarsOfClass: each )] on: Error do: [:error | classes at: each put: error ]].
classes inspect
I am not knowledgeable enough to dive into this. Can anyone help?
Cheers,
Doru
--
www.tudorgirba.com
"Value is always contextual."
I sent this msg to Fame-dev but it seems that the list is no more active.
---------- Forwarded message ----------
From: Usman Bhatti <me(a)gmail.com>
Date: Tue, Apr 26, 2011 at 6:22 PM
Subject: Fame C# implementation
To: fame-dev(a)iam.unibe.ch
<https://mail.google.com/>Hi all,
I am working on extracting C# information and import that into Moose. I am
looking to automate the creation of Famix 3.0 entities in C# code to fill in
the information and export those entities into MSE file. I've seen that
there is a C# solution for Fame similar to Java on the fame
page<http://scg.unibe.ch/wiki/projects/fame/>.
However, C# solution does not include code for the generation of Famix 3.0
entities in code as the code does. My question is: does the C# solution for
fame support the import of FAMIX 3.0 entities thru automated code generation
as it does for java?
thanx a lot,
Usman
On Mon, Apr 25, 2011 at 6:37 PM, Dale Henrichs <dhenrich(a)vmware.com> wrote:
> On 04/25/2011 09:12 AM, Mariano Martinez Peck wrote:
>
>> Hi Dale. I guess you are already aware of...but ... SUPPOSE that Glamour
>> is enough for your needs. Glamour can result in plain Morphic but also
>> in seaside. So would be able to have both flavors: image based in
>> Glamour for those who want everything image based, and a web alternative
>> (for example for Gemstone).
>> But...I have no idea how stable/complete the GlamourWeb is, nor if it
>> contains what you need.
>>
>> And finally, did you consider SeasideXUL ? But I guess it may happens
>> what you don't want: spend more time in the framework than in your job :(
>>
>
> I don't have Glamour ported to GemStone (has it been ported to Squeak?) and
> I don't know if I gain in the end ... Can one build a wizard in Glamour ?
> ... I've spent a lot of time trying to bend OmniBrowser to my will, but
> there are some things that are just not easy to do in OmniBrowser ... I
> don't know myself if Glamour can do what i have in mind or how much bending
> to my will it will take:)
>
>
I don't know that neither.
> If someone built a wizard in Glamour for creating a complex configuration
> (like Seaside or Moose) then it might be enough to motivate my to attempt
> the port:)
>
> But if is up to me, I am going to go with something I already know (I just
> don't have enough time to do what I know, let alone what I don't know)
>
> I already pretty much know what I would have to do to do a wizard for a web
> browser ...
>
> I appreciate the suggestions to use framework x, y, or z to solve the
> problem, but I am not an expert in any of the frameworks, and if a framework
> isn't ported to GemStone is it worth porting the framework to GemStone only
> to find that it doesn't fill the bill? Conversely if I build the wizard in
> technology z and then find out that it is very difficult to port to
> GemStone, where am I?
>
>
If fact, what I was thinking is that from Glamour you can generate the
Seaside output, so for Gemstone you don't need to port anything, just use
the seaside components generated from Glamour (be careful, this is how I
think Glamour-seaside works but maybe I am wrong and you need glamour
anyway)
> Using a web framework I am very confident that I could get a model/ui built
> that does the job and is portable to all three platforms ... I can't say
> that (with confidence) for any other approach...
>
>
Sure. But it is realy really bad to see we don't have a single way of
creating portable browsers/wizzard or whatever they are called between 3
dialects.
--
Mariano
http://marianopeck.wordpress.com
Hello Nick,
So then the cut-point is at the level of message sends between the GUI and the model?
How are events handled (messages from the model to the GUI) ... this is the spot where I think that OmniBrowser (in the GLASS implementation) started to falter ... there a large number of event messages that end up with more network round trips than one would like ...
It seems that there is a need for some sort of "message concentrator" that cuts down on network round trips, but this is wandering into "early optimization" territory:)
I think it would definitely be interesting to give this a try with GemStone as it has the potential to provide much more flexibility in terms of which GUI components can be used ....
Dale
On Apr 27, 2011, at 1:27 AM, Nick Papoylias wrote:
Hallo Dale,
In terms of remote tools, we are working with rST which is still kind of unstable but still
useful in many cases. Hopefully in your case too.
http://www.squeaksource.com/@69jY6Xu1NHtRD19j/lOHxDstw
So if your scenario is this:
You already have or you are creating a tool with Model-View architecture
that plays well when tested locally on a client and you want to go remote.
Then with rST (hopefully) you just wrap your model in a network proxy and everything plays out of the box remotely.
At least this is our goal.. we are currently working with remote reflection (in a more theoretical sense) but
we should and will find time to make rST more robust for the community.
I hope this helped, a bit.
Nick
On Wed, Apr 27, 2011 at 3:23 AM, Dale Henrichs <dhenrich(a)vmware.com<mailto:dhenrich@vmware.com>> wrote:
On Apr 26, 2011, at 5:27 PM, Tudor Girba wrote:
> Hi Dale,
>
> On 27 Apr 2011, at 02:22, Dale Henrichs wrote:
>
>> On 04/26/2011 05:01 PM, Tudor Girba wrote:
>>> Hi Dale,
>>>
>>> Glamour is independent from the rendering, just like Omnibrowser is. Here is a short description:
>>> http://www.themoosebook.org/book/internals/glamour/rendering
>>>
>>> We already have a working Seaside rendering code for the basic widgets of Glamour. For an example, take the following steps:
>>>
>>> 1. download
>>> http://hudson.moosetechnology.org/job/moose-with-glamour-seaside/lastSucces…
>>>
>>> 2. run:
>>> WAKom startOn: 8081
>>>
>>> 3. go to:
>>> http://localhost:8081/moose/metaBrowser
>>>
>>> Cheers,
>>> Doru
>>
>> I'll hold off exploring the scope of the Glamour port until I see if Glamour can be used to construct the configuration wizard:)
>>
>> I'm not skeptical as much as I am very busy...
>>
>> Did I provide you with enough info for the use case?
>
> Not really :).
okay?
Hi,
This is the default way to load the latest version:
Gofer new
squeaksource: 'Glamour';
package: 'ConfigurationOfGlamourSeaside';
load.
(Smalltalk at: #ConfigurationOfGlamourSeaside) loadDefault.
Cheers,
Doru
On 27 Apr 2011, at 10:17, Tobias Pape wrote:
>
> Am 2011-04-27 um 09:33 schrieb Tudor Girba:
>
>>> […]
>>> Is it usable in Squeak4.2?
>>
>> I never tried but you are welcome to. If you do, please let us know what happened :)
>>
>> Cheers,
>> Doru
>>
>
> Can you give me some starting points?
>
> So Long,
> -Tobias
>
--
www.tudorgirba.com
"It's not how it is, it is how we see it."
Hi Cyrille,
The DropListPartTest>>testSelectedIndex test is failing due to the initialization in DropListPart>>selectionIndex.
The test assumes that the selection index is 1, but I saw that you recently changed it in the initialization to be 0. So, I do not know if the error is in the test or in the initialization :). Could you please take a look?
Cheers,
Doru
--
www.tudorgirba.com
"Problem solving efficiency grows with the abstractness level of problem understanding."
Status: New
Owner: ----
Labels: Type-Defect Priority-Medium
New issue 599 by alexandr...(a)gmail.com: Color highlight for methods not
necessary
http://code.google.com/p/moose-technology/issues/detail?id=599
Just move the mouse above a methods and you will see the problem.
Thanks Laurent & Patrick
The visualization is titled Documentation blueprint. Big box = class; edge = inheritance link; small box = method; small box height = number of lines of code; small box width = number of collaborating classes; red border = non commented; green border = test
http://bergel.eu/DocumentationBlueprint-Mondrian.png
This visualization is obtained from Mondrian. Yeah, Mondrian is pretty poorly documented. I will work on it.
Feedback wanted
Cheers,
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Hi,
The Moose build broke because the 'default' version was removed from ConfigurationOfRPackage.
I fixed it now by using #stable, but that is not the issue.
I understand the need for cleaning, but we should be aware that removing versions from configurations can have far reaching ripple effects.
Cheers,
Doru
--
www.tudorgirba.com
"From an abstract enough point of view, any two things are similar."
Hi!
I worked on a small prototype to help me write code documentation.
As an example, here is a template that is automatically given for MOShape, an abstract class in Mondrian that does not have any class variables. MOShape has just one instance variable, isCached.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
'MOShape is PLEASE FILL
MOShape is an abstract class. The following methods needs to be implemented
#absoluteBoundsFor: #containsPoint:for: #display:on: #heightFor: #widthFor:
Class collaborations
MOFilledShape MORoundedRectangleShape MOEvent MOLineShape MOAbstractLineLayout MOHorizontalLineLayout MOShape MOVerticalLineLayout MONode MOMouseEvent MOFormsShape MOImageShape MOEasel MOViewRenderer MOShapeAdaptor MOGraphElement MOFormsBuilder MOBoundedShape MOChildrenShape MONodeShape
Testing classes
MOViewRendererTest MondrianTest MOFormsBuilderTest MONewFormsBuilderTest
Class public API
#absoluteBoundsFor: #apply:bounds: #boundsFor: #canHandleChildren #collectAllShapes #computeBoundsFor: #computeExtentFor: #containsPoint:for: #disableCache #display:on: #enableCache #heightFor: #isCached #isChildShape #isFormsShape #isLineShape #isNodeShape #isShape #scaleElement:by:
Implementation notes
Instance Variables:
isCached -- PLEASE FILL
Comments written by AlexandreBergel on 25 April 2011
'
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
I plan to use this template for each class of Mondrian.
The template can be easily automatically processed to detect inconsistency.
A collaboration class is a class for which I sent to or received a message from. Unit tests are excluded.
A public method is a method that is invoked by an instance of a different class. This is very Java specific, I know. We could scope it to an object instead of a class.
What is your opinion on this template?
Cheers,
Alexandre
On 25 Apr 2011, at 11:59, Alexandre Bergel wrote:
> I see your point. We need to iterate on what a good template can be.
>
> In general, I believe a lot can be extracted from unit test execution that can serve as a good basis for documentation: public, private methods, collaboration, ...
>
> Alexandre
>
>
> On 25 Apr 2011, at 03:15, Lukas Renggli wrote:
>
>> Hi Alexandre,
>>
>>> But this is not incompatible. The IVs may still be listed,
>>> the template can be adjusted for that
>>
>> Yes, this is true and the proposed change takes the IVs into account.
>> The only problem is that I have to scroll to the bottom in 90% of the
>> cases as the variables are a couple of pages below the template text.
>> 90% of the time I am looking for information and then something like
>> the variable types is at least useful, a two page template is only
>> "useful" the few times I actually write a comment.
>>
>> Lukas
>>
>> --
>> Lukas Renggli
>> www.lukas-renggli.ch
>>
>
> --
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> Alexandre Bergel http://www.bergel.eu
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>
>
>
>
>
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Status: New
Owner: ----
Labels: Type-Defect Priority-Medium
New issue 598 by alexandr...(a)gmail.com: FAMIXType>>>> aSymbol
http://code.google.com/p/moose-technology/issues/detail?id=598
Good idea.
Please add FAMIXType>>>> :)
Cheers,
Doru
On 25 Apr 2011, at 02:16, Alexandre Bergel wrote:
Hi!
What about adding a method named #>> in FAMIXType to access methods?
Or something like #methodNamed:
Cheers,
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
_______________________________________________
Moose-dev mailing list
Moose-dev(a)iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
--
www.tudorgirba.com
"Some battles are better lost than fought."
_______________________________________________
Moose-dev mailing list
Moose-dev(a)iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Hi!
There is the method:
FAMIXPackage>>potentialReferencingClasses
"returns a set of all the classes that potentially refer to the receiver: they potentially refer to some classes that are defined or extended into the receiver"
I do not understand what this means. How a class can be "potentially referenced"?
How does it differ from #invokedClasses ? There is no class comments for #invokedClasses. I feel this is necessary. I can add some if someone tells me that this method does.
By the way FAMIXMethod>>invokedClasses and FAMIXClass>>invokedClasses have a pragma <navigation: 'Invoked classes'>
But not FAMIXNamespace and FAMIXPackage?
Same things for FAMIXPackage>>clientClasses and FAMIXNamespace>>clientClasses. Shall we add a <navigation: 'Client classes'> as in FAMIXClass>>clientClasses
Cheers,
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Hi!
What about adding a method named #>> in FAMIXType to access methods?
Or something like #methodNamed:
Cheers,
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Status: New
Owner: ----
Labels: Type-Defect Priority-Medium
New issue 589 by damien.c...(a)gmail.com: Glamour: MessageNotUnderstood:
receiver of "senders" is nil
http://code.google.com/p/moose-technology/issues/detail?id=589
While trying to improve the glamoroust smalltalk code browser, I always got
the attached backtrace. The strange thing is that no glamour browser is
opened at the time when the debugger arrises. It arrises when I save a
method from the standard code browser.
Attachments:
PharoDebug.log 40.8 KB
Status: New
Owner: ----
CC: cy.delau...(a)gmail.com
Labels: Type-Defect Priority-Critical Milestone-4.4
New issue 596 by alexandr...(a)gmail.com: Name of the project not set
http://code.google.com/p/moose-technology/issues/detail?id=596
How to reproduce the problem: step by step if necessary
1 - Press the import from smalltalk icon
2 - Pick one package, press >>next
3 - Enter a name of a model, press 'Terminate'
4 - A new moose model appear on the left hand side, but it is
named 'MooseModel', and not what you entered in Step 3.
I cc Cyrille since he mays know what is going wrong.
Hi!
I am not sure how I should read the visualization:
Comments in the code and in the visualization would be very cool.
Cheers,
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Hi,
In a Java project I have a class - let's call it Zork.
I want to build a visualization which show which classes and methods use the
most this class (for example the bigger the square is the more the method /
class uses it).
I'm sure it's possible but I'm a Moose newbie :)
How can I do it ?
Laurent Laffont - @lolgzs <http://twitter.com/#!/lolgzs>
Pharo Smalltalk Screencasts: http://www.pharocasts.com/
Blog: http://magaloma.blogspot.com/
Developer group: http://cara74.seasidehosting.st
Hi,
For those interested, I updated the Glamour chapter on the Moose Book:
http://www.themoosebook.org/book/internals/glamour
Please let me know if there are still issues you would like to see discussed.
Cheers,
Doru
--
www.tudorgirba.com
"It's not what we do that matters most, it's how we do it."
Hi Doru, all,
Mariano's questions triggered some exploration of my own, and now I have questions about tags: and tagsFilter on lists. Firstly, is there a way to have the tags on the left of the list entries? This way they are all aligned and always visible (very relevant in case the list entries are long and you need to scroll).
Also, I want a click on a tag to do no filtering at all, so I found a send of tagsFilter: in the example and played a bit with that. It seems that it does not really matter what the block that I give as argument does, it always just turns filtering off. (Moose 4.3 release) I guess this is not the expected behavior, although it turns out to be what I want. So the question: what is the block supposed to specify and how. Alternative: please dont fix this bug :-P
Thanks in advance!
--
Johan Fabry
jfabry(a)dcc.uchile.cl - http://dcc.uchile.cl/~jfabry
PLEIAD Lab - Computer Science Department (DCC) - University of Chile
Hi,
It is time to synchronize on what are the plans for Moose. Here is the roadmap for the next months. The first target is the release of 4.4 in 12 days.
Suggestions, opinions, and participations are always welcome :)
Moose 4.4
- main goal: strengthen the generic engines lineup
- release date: May 1
- based on Pharo 1.2.1
- to contain:
--- EyeSee
--- Mondrian with ComplexShapes
--- Metanool
- ideally, it should also contain:
--- a working version of VerveineJ
Moose 5
- main goal: the move to the web
- release date: August 30
- to contain:
--- EyeSee and Mondrian bindings to SVG/JavaScript (probably protovis)
--- Glamour with improved Seaside rendering
--- Dashboard in Glamour
--- Wizard in Glamour
--- improved IDE for building/coding Arki reports
- ideally it should also contain:
--- SQL parser (Fabrizio? :))
--- Glamorous Toolkit
--- Kumpel
--- GitFS?
- others?
Cheers,
Doru
--
www.tudorgirba.com
"Problem solving efficiency grows with the abstractness level of problem understanding."
Hi!
I was wondering about MOChildrenShape. MOChildrenShape has some flavor of marker in the way it is used and implemented.
Is it really a shape or does it indicate a location in the grid where the subnodes have to be displayed?
I guess it makes sense to have: MOChildrenShape new width: 400
If it is not a marker, what should the MOChildrenShape>>display:on: method be?
Cheers,
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Hi!
MOLineShape defines a method isAliased. Apparently I wrote this method, but I do not remember what it is useful for. What is an aliased edge? I guess this comes from VW.
Cheers,
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Hi guys. What do you think about doing a "ScriptLoader new
cleanUpForRelease" in the Hudson build script and to the official released
images. In the last one I took from Moose, there are 2MB released after
doing so (ok, it is not that important), but there a couple of nice things.
For example, if the categories/packages are not sorted, I get crazy ;)
Cheers
--
Mariano
http://marianopeck.wordpress.com
Hi Doru, I have a few more questions related to Glamour Toolkit.
1) Most (if not all) of the examples I saw from Glamour Toolkit, like
GTClassicBrowser, do not respond to right click. I mean, no menu is opened.
I guess this is on purpose. So..what should I do (if it is supported) so
that my browsers supports the right click like the regular browser? that
means, be able to do a right click on a package, a class, a method, in the
code pane, etc.
2) If 1) is supported, is there an easy way to add custom items to the menu
?
3) Is there some widget with an input ? For example, imagine the
GTClassicChaser where instead of directly open it with a selector, I have a
little row on the top of the browser, and I can type there the selector name
or something (imagine a number) that finally will answer me a selector.
So..is there an example where I can take a look ?
Thanks again in advance,
--
Mariano
http://marianopeck.wordpress.com