Hi,
On 12 May 2011, at 16:44, Marcus Denker wrote:
>
> On May 12, 2011, at 4:42 PM, Tudor Girba wrote:
>>
>> I did not mean that someone should look into the posted code. I was in a hurry and I simply asked a direct question if anyone has any idea of why 4096 would be a limit for highlighting text in TextMorph. The question had nothing to do with Glamour, but I am sorry if the form of the mail made you waste your time.
>>
>> In any case, I will look into this in more details.
>>
>
>
> maybe this is relevant? We should release 1.2.2....
>
> http://code.google.com/p/pharo/issues/detail?id=4157
Hmm. Sounds similar, but I am too ignorant.
I could reproduce the problem outside of Glamour. The issue is indeed not with TextMorph, but with PluggableTextMorph:
string := ''.
1 to: 1000 do: [:i | string := string, 'abcde'].
text := ((string asText addAttribute: TextColor red), ('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' asText)).
(PluggableTextMorph on: text text: #yourself accept: #value) openInWindow
Cheers,
Doru
>
> --
> Marcus Denker -- http://www.marcusdenker.de
> INRIA Lille -- Nord Europe. Team RMoD.
>
>
--
www.tudorgirba.com
"Problem solving should be focused on describing
the problem in a way that makes the solution obvious."
For nested types, I am setting the containing class to be the container
entity of the nested class. I am trying to create a Tree View for my Moose
entities. So, I have
Namespace
Namespace
Class
Method ....
(Just to see my results are correct...)
Earlier I was using downcast to change container entity into a Namespace.
That allowed me to navigate from a parent namespace to a child namespace
using Namespace.getChildScope(). However, Container entity does not allow me
to perform this navigation as the only thing available with ContainerEntity
is belongsTo. My question is: Why cannot we ascertain the containing
elements of a ContainerEntity?
thanx in advanace,
Usman
On May 12, 2011, at 4:51 PM, Tudor Girba wrote:
> Hi,
>
> On 12 May 2011, at 16:44, Marcus Denker wrote:
>
>>
>> On May 12, 2011, at 4:42 PM, Tudor Girba wrote:
>>>
>>> I did not mean that someone should look into the posted code. I was in a hurry and I simply asked a direct question if anyone has any idea of why 4096 would be a limit for highlighting text in TextMorph. The question had nothing to do with Glamour, but I am sorry if the form of the mail made you waste your time.
>>>
>>> In any case, I will look into this in more details.
>>>
>>
>>
>> maybe this is relevant? We should release 1.2.2....
>>
>> http://code.google.com/p/pharo/issues/detail?id=4157
>
> Hmm. Sounds similar, but I am too ignorant.
>
> I could reproduce the problem outside of Glamour. The issue is indeed not with TextMorph, but with PluggableTextMorph:
>
> string := ''.
> 1 to: 1000 do: [:i | string := string, 'abcde'].
> text := ((string asText addAttribute: TextColor red), ('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' asText)).
> (PluggableTextMorph on: text text: #yourself accept: #value) openInWindow
>
works fine in 1.2.2a
--
Marcus Denker -- http://www.marcusdenker.de
INRIA Lille -- Nord Europe. Team RMoD.
On May 12, 2011, at 4:10 PM, Tudor Girba wrote:
> Thanks, Fabrizio.
>
> I noticed a similar problem with highlighting Java code, but I thought it was related to the grammar.
>
> I CC-ed the Pharo mailing list.
>
> Anyone knows why it would be a problem to highlight text with more than 4096 characters in a TextMorph?
>
Which version of Pharo are you using?
> Cheers,
> Doru
>
>
> On 12 May 2011, at 16:03, Fabrizio Perin wrote:
>
>> It basically breaks after 4096 characters.
>>
>>
>> On 12 May 2011, at 16:02, Fabrizio Perin wrote:
>>
>>> Hi,
>>> i was playing with textlint and i noticed that the highlight is broken. Seems that the problem is related to the length of the text. If you try to execute the script below you notice that the highlight doesn't work. If you lower 1000 to 100 it works. It seems that the break point is 194. After that it dies.
>>>
>>> | browser |
>>> browser := GLMTabulator new.
>>> browser
>>> column: #details.
>>>
>>> "if you need initial display"
>>> browser transmit to: #details; andShow: [:a |
>>> a text display: [:x |
>>> | string |
>>> string := ''.1 to: 1000 do: [:i | string := string, 'jjjjj j j j j j jjj j'].
>>> (string asText addAttribute: TextColor red), ('jjjjj j j j j j jjj j' asText) ] ].
>>>
>>> browser openOn: 5
>>>
>>> Any idea?
>>>
>>> Cheers,
>>>
>>> Fabrizio
>>> _______________________________________________
>>> Moose-dev mailing list
>>> Moose-dev(a)iam.unibe.ch
>>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>>
>>
>> _______________________________________________
>> Moose-dev mailing list
>> Moose-dev(a)iam.unibe.ch
>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>
> --
> www.tudorgirba.com
>
> "The coherence of a trip is given by the clearness of the goal."
>
>
>
>
>
--
Marcus Denker -- http://www.marcusdenker.de
INRIA Lille -- Nord Europe. Team RMoD.
Hi,
i was playing with textlint and i noticed that the highlight is broken. Seems that the problem is related to the length of the text. If you try to execute the script below you notice that the highlight doesn't work. If you lower 1000 to 100 it works. It seems that the break point is 194. After that it dies.
| browser |
browser := GLMTabulator new.
browser
column: #details.
"if you need initial display"
browser transmit to: #details; andShow: [:a |
a text display: [:x |
| string |
string := ''.1 to: 1000 do: [:i | string := string, 'jjjjj j j j j j jjj j'].
(string asText addAttribute: TextColor red), ('jjjjj j j j j j jjj j' asText) ] ].
browser openOn: 5
Any idea?
Cheers,
Fabrizio
Status: New
Owner: ----
Labels: Type-Defect Priority-Medium Component-VerveineJ Milestone-4.4
New issue 608 by tudor.gi...(a)gmail.com: VerveineJ exports some anchors with
endLine = -1
http://code.google.com/p/moose-technology/issues/detail?id=608
Parsing Silverpeas retrieves 515 model classes (out of 1858) with a
FileAnchor that has a positive startLine, but an endLine that is -1.
These classes can be checked by:
- parse and load the MSE into Moose
- select all model classes and then select based on:
each sourceAnchor notNil and: [each sourceAnchor startLine > 0 and: [each
sourceAnchor endLine = -1]]
Even more interesting is that if you look in the methods of these classes,
they have a correct endLine.
Hello,
I just created some visualizations (Marcus's idea) using DistributionMap
with SmallLint rules to check how distributed are the lint problems in a
class. I enclosed some figures with the distribution for some packages of
Moose.
So, the small boxes represent methods. The red color is a method with more
than 3 lint problems, the orange 2 problems, green 1 problem and white no
problem.
We can clearly see a lot of "lint problems" in Famix package. Of course, we
have some false-positives mainly for Glamour and Mondrian as we can check in
[1].
Btw, I also created a job in Hudson to generate a simple report with
smallLint rules in Moose (and Pharo):
Job:
https://pharo-ic.lille.inria.fr/hudson/view/LintReport/job/LintReportMoose
Report:
https://pharo-ic.lille.inria.fr/hudson/view/LintReport/job/LintReportMoose/…
regards,
[1] Lukas Renggli, Stéphane Ducasse, Tudor Gîrba and Oscar Nierstrasz, “
Domain-Specific Program Checking,” Proceedings of the 48th International
Conference on Objects, Models, Components and Patterns (TOOLS’10)
--
Andre Hora
Status: New
Owner: tudor.gi...(a)gmail.com
Labels: Type-Defect Priority-Medium
New issue 628 by damien.c...(a)gmail.com: [Glamour] Useless mouseUp event in
test
http://code.google.com/p/moose-technology/issues/detail?id=628
GLMTreeMorphicTest>>testChildrenBlock has a line which looks like:
self send: self tree mouseUpOnItem: self treeRoots first.
The test passes whether the line is present or not.
Status: New
Owner: damien.c...(a)gmail.com
CC: tudor.gi...(a)gmail.com
Labels: Type-Engineering Priority-Low
New issue 627 by damien.c...(a)gmail.com: Glamour-Morphic unit tests are
fragile to changes in the submorphs tree
http://code.google.com/p/moose-technology/issues/detail?id=627
Glamour-Morphic unit tests contain code like this:
treeMorph := window submorphs last submorphs first submorphs first
submorphs first submorphs first.
self assert: treeMorph class = LazyMorphTreeMorph.
Which is very fragile to any changes in the submorphs tree. I propose to
replace each of these piece of code to something like:
treeMorph := self find: LazyMorphTreeMorph in: window
The method #find:in: could use something like Morph>>allMorphsDo: to find a
corresponding morph in the submorphs tree.
I guess this would made the code slower but haven't tested it.
I am creating a C# extractor for Moose. I am using Fame for java to access
Famix objects and populate their information (similar to VerveineJ). While
creating Famix.Class objects for C# classes, I need to set parent namespace
to represent the namespace that the class belongs to.
However, the Famix.Class only provides a single method to set the parent and
that take a Famix.Package as a parameter. So, the following expression is an
error for a Famix.Class object.
class.setParentPackage(Namespace)
Since, C# uses namespaces instead of Packages to organize classes, it would
be good to set a Famix.Namespace to be the parent of a class. Does
meta-model not provide a way that we can set Famix.Namespace as a parent of
a class. I can see another method in the Famix.Class and that is
SetContainer(ContainerEntity se). Can I use this method to set a Namespace
to be the parent of a Class and keeping the parentPackage relationship
empty?
thanks.
Usman
Hi all,
i did implement an SQL parser using Petit Parser. I toke the grammar specification from SQLite http://www.sqlite.org/lang.html . The grammar implemented is not complete, for now i did implement "just" the create table statement, it means that you should be able to parse at least a script for create the database.
The code is in squeaksource http://www.squeaksource.com/@09zbthA-fDDfyUNQ/_OIex3aA .
To download it you can evaluate this:
Gofer new
squeaksource: 'PetitSQLParser';
package: 'ConfigurationOfPetitSQLParser';
load.
(Smalltalk at: #ConfigurationOfPetitSQLParser) perform: #loadDefault
in the repository there are several packages: the core contains the parser for the grammar.
In the package parser there is a parser that instantiate some draft objects representing relational elements.
In the next future i will start to implement also other statements.
If you start to use it and you have some problem please let me know.
Cheers,
Fabrizio
Hi all,
I saw the tweet 'Preparing Moose suite 4.4'. Excellent news, I look forward to make a new version of AspectMaps to run on 4.4 :-)
I have one request though: as I dont have that much time to spend on AspectMaps, I cannot keep it 100% up to date with the fast pace that Moose is evolving. So for me, reproducibility of a given version is key. So I downloaded the 4.3 moose suite (one-click) release. This is for me the version in which AspectMaps loads, since it is an official *release*.
But this version *can* *not* be loaded using ConfigurationOfMoose. Hence AspectMaps cannot be loaded completely from source staring with a Pharo 1.2 image, which is a shame, really. (Of the different 4.3.x configurations a number of them break when loading, BTW.)
So my request: it would be cool if for 4.4 there is a version in ConfigurationOfMoose that produces an image identical to what is first released as the 4.4 one-click. For an official release I think this is a reasonable request and an effort worthwhile to consider. If later on, for 'intermediate versions' such configurations are made, this would be a nice extra but I understand that we all have limited time ;-)
--
Johan Fabry
jfabry(a)dcc.uchile.cl - http://dcc.uchile.cl/~jfabry
PLEIAD Lab - Computer Science Department (DCC) - University of Chile
Hi,
Moose (http://moosetechnology.org) is a Smalltalk ambassador. Actually, I think it's the best ambassador we have right now to persuade professional developers to look into Smalltalk.
Let me tell you why.
Moose is a platform for software and data analysis and includes components like: Glamour, Mondrian or PetitParser. Moose solves a real and important problem that developers (both Smalltalkers and non-Smalltalkers) have: how to improve the productivity of the effort spent on assessment. Moose is an innovation in this domain because it enables a completely different approach through which developers craft their own tools fast (http://humane-assessment.com). The cool thing is that they build these tools by programming Smalltalk in Pharo, and thus they get to learn the language and the platform first.
Moose also comes with exposure. For example, this year I will be presenting Moose and humane assessment at some large industry oriented conferences:
- Jazoon (http://jazoon.com)
- GotoCon Aarhus (http://gotocon.com/aarhus-2011/)
- GotoCon Amsterdam (http://gotocon.com/amsterdam-2011/)
All in all, if you want to promote Smalltalk, and Pharo in particular, you might want to look into it. And you are always welcome to contribute, follow us and make noise:
- http://www.moosetechnology.org
- http://twitter.com/#!/moosetechnology
- http://www.facebook.com/pages/moosetechnologyorg/152851281427491
Cheers,
Doru
--
www.tudorgirba.com
"No matter how many recipes we know, we still value a chef."
Status: New
Owner: ----
Labels: Type-Defect Priority-Medium
New issue 612 by damien.c...(a)gmail.com: [Glamour] Tags do not play well
with trees
http://code.google.com/p/moose-technology/issues/detail?id=612
With the following browser:
1- Open the 'odd' root node
2- Click the 'odd' tag
3- Open the 'some' root node
4- You will see some nodes that don't have the 'odd' tag which may be a bug
5- Click the 'even' tag
6- You won't see anything anymore as they are no number which is
both 'even' and 'odd' ; there is no way to go back
treeWithTags
<glmBrowser: 'Tree withTags' input: '(1 to: 10)'>
"
self new treeWithTags openOn: #(1 2 3 4 5 6 7 8 9 10)
"
|browser model|
model := Dictionary new.
model at: #some put: #(1 2 3 4).
model at: #even put: #(2 6 8).
model at: #odd put: #(3 7 9).
browser := GLMTabulator new.
browser column: #one.
browser transmit to: #one; andShow: [ :a |
browser tree
display: [model keys];
children: [:key | key isNumber ifFalse: [model at: key] ];
tags: [:item | item isNumber ifTrue: [item even ifTrue: [#('even')]
ifFalse: [#('odd')]] ifFalse: [#()]]].
^ browser
Status: New
Owner: ----
Labels: Type-Defect Priority-Medium
New issue 626 by damien.c...(a)gmail.com: "Collection is empty when importing
AST packages"
http://code.google.com/p/moose-technology/issues/detail?id=626
To whom it may concern,
here are some steps to reproduce this "Collection is empty" error:
1- Download
http://ci.moosetechnology.org/job/moose-latest-dev/362/artifact/moose_suite…
2- Open it
3- Open the Moose Panel
4- Click the ST icon on the top right of the window
5- Select the AST-Core package
6- Press 'next>>'
7- Select the 'Compute type of attributes (using RoelTyper)
8- Press terminate
Stack trace attached
Attachments:
debug.log 33.8 KB
Status: New
Owner: ----
CC: georgega...(a)gmail.com
Labels: Type-Defect Priority-Medium Component-ExternalTools
New issue 625 by tudor.gi...(a)gmail.com: inFusion should export implicit
variables
http://code.google.com/p/moose-technology/issues/detail?id=625
We need implicit variables to denote:
- self
- super
An example:
(FAMIX.ImplicitVariable (id: 39)
(name 'self')
(parentBehaviouralEntity (ref: 6)))
parentBehaviouralEntity should point to a FAMIX.Method
>
> Thanks Mariano for the pointer to Torch – it's new to me. I can see myself
> using
> it for some tasks in the future especially when dealing with big changes.
> Kudos
> also to the creator (Veronica?), the UI is quite pretty and functional.
>
> Incidentally, would it be possible to mention Torch in the Pharo Tools
> section
> of the Pharo CollaborActive Book
> <http://book.pharo-project.org/book/PharoTools>? That's usually
> where
> I (and I
> suspect other people) go to to find out about such useful tools.
>
>
Yes, this is a good idea. I can create her a user to edit the website if she
wants.
> Anyway, back to my question. I tried out Torch but I can't seem to find how
> to
> visualize the history of a repository - Torch visualizes changes. I
> didn't see anything about that on the Torch screenshot page either. Is it a
> hidden
> option somewhere?
>
I have no idea. Maybe the moose guys have something to share?
>
> Thanks!
>
> --
> Nick
>
> --
> View this message in context:
> http://forum.world.st/Monticello-How-to-visualize-history-tp3508002p3509668…
> Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
>
>
--
Mariano
http://marianopeck.wordpress.com
Status: New
Owner: ----
CC: georgega...(a)gmail.com
Labels: Type-Defect Priority-Medium Component-ExternalTools
New issue 533 by tudor.gi...(a)gmail.com: inFusion should export the receiver
of invocation
http://code.google.com/p/moose-technology/issues/detail?id=533
The receiver should point to a named entity.
(FAMIX.Invocation
...
(receiver (ref:12))
)
Hi,
I think to have a bug with RPackage.
I used MooseScripts>>createModelForMoose.
This method works fine.
then I removed 3 methods useless for Moose (see issue 614)
When I rerun MooseScripts>>createModelForMoose, there is an error key not found.
The cache of RPackage is not updated.
Any solution ?
Jannik
Hi,
I just wanted to let you know that the new url for the build server is ci.moosetechnology.org. Also, I changed Hudson to the latest Jenkins.
The old hudson.moosetechnology.org redirects to ci.moosetechnology.org so the old urls should continue to work. If you encounter any problems, please let me know.
Cheers,
Doru
--
www.tudorgirba.com
"No matter how many recipes we know, we still value a chef."
Status: New
Owner: ----
Labels: Type-Defect Priority-Medium
New issue 618 by damien.c...(a)gmail.com: [Glamour] Sorting of lists should
be made easier
http://code.google.com/p/moose-technology/issues/detail?id=618
Currently, a user has to do the following to sort a list:
a list
display: [:x | ((... x ...) ...) sorted: [...]]
or
a list
display: [:x | ((... x ...) ...) asSortedCollection]
All these parenthesis make the code a bit hard to read. I propose
a list
display: [:x | (... x ...) ...];
sorted: [...]
or
a list
display: [:x | (... x ...) ...];
sorted
which removes a level of parenthesis and simplifies indentation.
Status: New
Owner: tudor.gi...(a)gmail.com
Labels: Type-Defect Priority-Medium Component-Finder Milestone-4.4
New issue 623 by tudor.gi...(a)gmail.com: Clean the Moose menus
http://code.google.com/p/moose-technology/issues/detail?id=623
Metanool edit description should only be available in the Finder
Visualizations category should be Visualize
"Open in Moose" and "Open in Mondrian Easel" should be in the Browse
category
Status: New
Owner: ----
Labels: Type-Defect Priority-Medium Component-Glamour Milestone-4.4
New issue 624 by tudor.gi...(a)gmail.com: Glamour examples should not raise
exceptions
http://code.google.com/p/moose-technology/issues/detail?id=624
GLMBasicExamples open should work without errors.
Status: New
Owner: ----
Labels: Type-Defect Priority-Medium Difficulty-Easy Milestone-4.4
New issue 616 by jannik.l...(a)gmail.com: cleaning package cycles
http://code.google.com/p/moose-technology/issues/detail?id=616
Not sure how we should implement traits but I think that
Traits TDependencyQueries, TScopingEntityQueries, TDependencyQueryResult
should have categories (protocol) beginning with '*Famix-Core-MooseChef'