Hi!
Today I worked on modeling C/C++ files and headers in Famix.
I have introduced the class FAMIXModule, FAMIXCompilationUnit, FAMIXHeader, FAMIXInclude
Here is an example using MSE:
'(
(FAMIX.Class (id: 1) (name ''AClass'') (sourceAnchor (ref: 3)) (container (ref: 5)))
(FAMIX.Method (id: 2) (name ''aMethod'') (parentType (ref: 1)) (sourceAnchor (ref: 4)))
(FAMIX.FileAnchor (id: 3) (element (ref: 1)) (fileName ''afile''))
(FAMIX.FileAnchor (id: 4) (element (ref: 2)) (fileName ''afile'') (startLine 3) (endLine 30) )
(FAMIX.Module (id: 5)
(compilationUnit (ref: 6))
)
(FAMIX.CompilationUnit (id: 6)
(name ''foobar.cpp'')
)
(FAMIX.Include (id: 7)
(from (ref: 6))
(to (ref: 8)))
(FAMIX.Include (id: 10)
(from (ref: 6))
(to (ref: 9)))
(FAMIX.Header (id: 8)
(name ''foobar.hpp'')
)
(FAMIX.Header (id: 9)
(name ''foobar2.hpp'')
)
)’
It would be nice if someone could review it (if there is an interest of course).
My implementation does not use Fame, simply because I do not understand how it works.
Cheers,
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Moose Issue #1130: Hook for Customized Presentation Constructors (e.g.
Magritte)
https://github.com/moosetechnology/Moose/issues/1130
It was implemented with GT-Inspector-SeanDeNigris.307 (and 308) and then (I
assume accidentally) removed with GT-Inspector-TudorGirba.413.
Fix in sthub/Moose/GToolkit - GT-Inspector-SeanDeNigris.428
-----
Cheers,
Sean
--
View this message in context: http://forum.world.st/Issue-1130-Un-Fixed-tp4901733.html
Sent from the Moose mailing list archive at Nabble.com.
I remember there was some interests here about analyzing Ruby programs
with MOOSE, and apparently there is a complete Ruby parser done with
SmaCC (Smalltalk/X version):
https://swing.fit.cvut.cz/projects/smallruby
Look inside the svn repository to find the code. I dunno the licence.
Regards,
--
Serge Stinckwich
UCBN & UMI UMMISCO 209 (IRD/UPMC)
Every DSL ends up being Smalltalk
http://www.doesnotunderstand.org/
Hi,
how inspector decides what to print in the table/headings/etc?
Because for UUID it prints the bytes (I guess because it's child of
ByteArray?), however that's rarely useful for UUID, as normally you want to
see the #asString representation.
Can this be changed?
Thanks,
Peter
Hi,
is there a way to customize the save/restore mechanism of Playground?
Because Playground is #1 place where I consistently lose code.
If the image crashes (rare) or freezes (quite common) then I almost never get the code back which is quite annoying.
Right now I have an external text editor to which I copy&paste the code frequently… which is _very_ stupid.
I would like to have it persisted on the disk at least every time the contents gets evaluated, optimally every time I have a usable code.
Ideally if this would be done on Playground side; but if that's a long shot, is there a way to hook into the saving mechanism and implement it myself?
That would also allow some platform-specific customizations, like storing every change to /dev/shm (ramdisk) so I can do a meaningful undo/redo.
Thanks,
Peter
Hi,
today is deadline for submitting tutorial/talk/teaching pearl proposals for
ESUG2016.
As far as I can tell this was never announced on the Pharo mailing list
(only several IWST16 CFP), so some people have missed it.
http://www.esug.org/wiki/pier/Conferences/2016/Call-for-Presentations
------------
Call-for-Presentations24rd International Smalltalk Joint Conference - Call
for Contributions
- Prague, Czech Republic
- from 22 to 26 August 2016
- http://www.esug.org/Conferences/2016/
You can support the ESUG conference in many different ways:
- Sponsor the conference. New sponsoring packages are described at
http://www.esug.org/wiki/pier/About/BecomeSponsor
- Submit a talk, a software or a paper to one of the events. See below.
- Attend the conference. We'd like to beat the previous record of
attendance (170 people at Amsterdam 2008)!
- Students can get free registration and hosting if they enrol into the
the Student Volunteers program. See below.
Developers Forum: International Smalltalk Developers Conference
We are looking for YOUR experience on using Smalltalk. You will have 30
min for presentations and 45-60 min for hands-on tutorials.
The list of topics for the normal talks and tutorials includes, but is not
limited to the following:
- Micro Services, Container, Cloud, Big Data,
- XP practices, Development tools, Experience reports
- Model driven development, Web development, Team management
- Meta-Modeling, Security, New libraries & frameworks
- Educational material, Embedded systems and robotics
- SOA and Web services, Interaction with other programming languages
Teaching Pearls and Show us Your Business
- Show your business 10 min session (Get prepared!!)
- Teaching pearls : we want some session on how to teach some design
aspects. We want your tip and tricks to teach Smalltalk or OOP.
We expect to have several 10 to 15 min sessions aggregated.
How to submit?
- Submissions deadline is 15 of June 2016
- Notification of acceptance will be on done on the fly.
- More information at http://www.esug.org/conferences/2016
Pay attention: the places are limited so do not wait till the last minute
to apply. Prospective presenters should submit a request to
Stephane.Ducasse at inria.fr AND USE THE following header [ESUG 2016
Developers].
Please follow the template below the email will be automatically processed!
Subject: [ESUG 2016 Developers] + your name
First Name:
Last Name:
Email where you can always be reached:
Title:
Type: Tutorial/Talk/Teaching Pearl
Abstract:
Bio:
Any presentation not respecting this form will be discarded automatically.
International Workshop on Smalltalk Technologies
Read the page:
http://www.esug.org/wiki/pier/Conferences/2016/International-Workshop-IWST_…
Technology Award Competition
The top 3 teams with the most innovative software will receive,
respectively, 500 Euros, 300 Euros and 200 Euros during an awards ceremony
at the conference. Developers of any Smalltalk-based software are welcome
to compete.
More information at
http://www.esug.org/wiki/pier/Conferences/2016/Innovation-Technology-Awards
Student Volunteer Program
If you are a student wanting to attend ESUG, have you considered being a
student volunteer? Student volunteers help keep the conference running
smoothly; in return, they have free accommodations, while still having most
of the time to enjoy the conference.
More information at
http://www.esug.org/wiki/pier/Conferences/2016/Student-volunteers
We hope to see you there and have fun together.
Hi everyone,
I need to set change the label default color and also limit the maximum
words to display (say, I want to display only the top 10 words).
Is there a way to do it without subclassing the builder?
Thanks in advance!
--
Ing. Agustín Meriles
Jefe Departamento de Desarrollo
Pinard Software e Innovación S.R.L.
www.pinard.com.ar
Hi!
Is there any effort in analyzing code in Moose?
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Hi!
I believe having a nice support for examples is very important. And the current effort is a nice step toward ubiquitous examples.
But I feel something is weird with the current way to define an example.
I may have raised that problem earlier. But since it is bugging me seriously, I raise it again :-)
If I want to have an example of RTView, I can define the following method:
-=-=-=-=-=-=-=-=
RTView class>>exampleUsingView
| v |
v := RTView new.
v add: RTBox element.
v open
-=-=-=-=-=-=-=-=
Pressing on the icon will open the view in a window, great. But when I run the test, this method exampleUsingView opens the window. And I do not want that :-(
Instead, I use do not use #example in the method name. But this is awkward...
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Just open the meta browser.
Error comes from Trachel Canvas initialization (through Athens, FFI, Opal)
nicolas
--
Nicolas Anquetil
RMod team -- Inria Lille
Hi,
I am starting now to go through the latest changes in order to prepare for the release.
Cheers,
Doru
--
www.tudorgirba.comwww.feenk.com
"Every thing has its own flow."
Hi,
Juraj, Andrei and I did a rough analysis collected from 94 computers over the past 7 months. Of these, only 42 recorded more than 9 sessions so we only focused on these. It can be because the rest switched off the data collection in the meantime. We also excluded the computers of the GT team members.
Of these 34 used the dive-in feature. That is, these users used at least one contextual search.
We looked at the event of acting on an element (pressing Enter), and we collected the parent category. Acting on an item indicates that intent of search. There are 35 categories used in total, with 8 being used by 10 people (25% of the studied population) or more. Below you can see also the amount of computers using it:
'Classes'->40
'Implementors'->38
'History'->34
'Menu'->24
'Packages'->23
'Messages'->19
'Catalog Projects'->12
'Instance methods'->10
'Senders'->9
'Pragmas'->6
'References'->5
'Playground named pages'->5
'Playground cached pages'->4
'Help topics'->4
'Examples'->3
'Super instance methods'->3
'Selectors'->3
'ws.stfx.eu'->2
'GitHub Baselines'->2
'Dirty Monticello packages'->2
'Class methods'->2
'Global variables'->1
'All subclasses'->1
'Example Subjects'->1
'Files'->1
'Monticello Repositories'->1
'Metacello Configurations'->1
'Class instance variables'->1
'Items'->1
'Tags'->1
'Help contents'->1
'Monticello Package'->1
'Instance variables'->1
'Productions'->1
'Methods'->1
Also, in this analysis, some of the categories appear also at deeper levels (Senders, Implementors, References, Instance methods).
As expected, Classes and Implementors are on top. Yet, the third is History, and it is also interesting to see that there is a high usage of a search through the World menu elements, but also of the Packages.
We also note that there is quite a long tail, and this seems to confirm the hypothesis that different people have different needs and that these differences should be supported by the IDE.
This analysis was carried out using the code that Juraj and Andrei put together for analyzing the data from the event recorder.
Cheers,
Doru
--
www.tudorgirba.comwww.feenk.com
"Value is always contextual."
Hi!
Some times ago, I remember to have see sunburst used for MessageTally. I have just tried:
MessageTally on: [2000 timesRepeat: [Collection withAllSubclasses ] ]
But it does not show Sunburst.
Any reason?
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Hi all,
I often have to wrote XML parsers (for BPMN for example) in order to
populate OO models. This is not really difficult, just a little bit
cumbersome to wrote by hand, especially when the XML is comply. Most
of these XML files specification are based on XML schema. So I guess
this is possible to automate partly.
Do we have something in the Moose/Pharo eco-system something to do that ?
What is the equivalent stuff in Eclipse eco-system ?
Thank you.
--
Serge Stinckwich
UCBN & UMI UMMISCO 209 (IRD/UPMC)
Every DSL ends up being Smalltalk
http://www.doesnotunderstand.org/
Hi,
There were a couple of emails in the recent period that questioned the usefulness of moldability (the ability of developers to customize their tools deeply and inexpensively). More specifically, the question was about the moldability of the GTDebugger.
I put together a couple of thoughts of why we think that moldability is actually a competitive advantage:
http://www.humane-assessment.com/blog/the-impact-of-moldability/
Please read it and provide feedback.
Cheers,
Doru
--
www.tudorgirba.comwww.feenk.com
"Reasonable is what we are accustomed with."
Hi!
Is there a way to provide a strategy to complete code in GT?
For example, if I would like to specialize the completion in case I am writing a Roassal script...
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Hi,
I've tried to used version 6.0 as you suggest, but it seems to be buggy on
Mac OS.
In fact, I've downloaded Pharo Virtual machine and the Image file and
loaded the image into the virtual machine, but the software shown the error
message:
"
*Pharo cannot locate the sources file named
/Users/macbookpro/Downloads/PharoV50.sources.Please check that the file is
named properly and is in thesame directory as this image.Make sure the
sources file is not an Alias.*"
On Tue, May 31, 2016 at 2:34 PM, tien dh <tiendh11986(a)gmail.com> wrote:
> Xin chào Serge, I'm from Vietnam and It's nice to see a greeting in
> Vietnamese :)
> Thanks for your quick reply.
> I'm using version 5.1 on Mac OS. Yep, I've imported a model, and I open
> script windows via "All model classes" > Browse > In Roassal Easel.
> When I copy your new code to the script windows and click the Play button,
> it shows the an error:
> *MessageNotUnderstood: GLMRoassal2Easel>>correctFrom:to:with:*
>
> Am I wrong in using the tool? How can I test running of Mondrian code?
>
> On Tue, May 31, 2016 at 1:31 PM, Serge Stinckwich <
> serge.stinckwich(a)gmail.com> wrote:
>
>> You should read : http://agilevisualization.com/
>>
>> On Tue, May 31, 2016 at 12:29 PM, Serge Stinckwich
>> <serge.stinckwich(a)gmail.com> wrote:
>> > On Tue, May 31, 2016 at 12:04 PM, tien dh <tiendh11986(a)gmail.com>
>> wrote:
>> >> Hello, I'm new to Mondiran and I'm trying to run very simple piece of
>> code:
>> >
>> >
>> > Xin chào Tien.
>> > Where are you located ?
>> >
>> >> | view namespaces |
>> >> namespaces := MooseModel root allModels first allModelNamespaces.
>> >> view := MOViewRenderer new.
>> >> view shape rectangle
>> >> width: #numberOfClasses;
>> >> height: #numberOfMethods;
>> >> linearFillColor: #numberOfLinesOfCode within: namespaces.
>> >> view nodes: namespaces.
>> >> view edgesToAll: #providerNamespaces.
>> >> view dominanceTreeLayout.
>> >> view open.
>> >>
>> >>
>> >> I tried with Roassal Easel but it doesn't compile. Where should I put
>> the
>> >> code and run?
>> >
>> > Apparently you are running an old version of Roassal.
>> > Try to use the last version of MOOSE 6.0: http://moosetechnology.org/
>> >
>> > Are you sure you have imported a model with the MOOSE panel first ?
>> >
>> > The API change a little bit in MOOSE 6.0:
>> >
>> > | view namespaces |
>> > namespaces := MooseModel root allModels first allModelNamespaces.
>> > view := RTMondrian new.
>> > view shape rectangle
>> > width: #numberOfClasses;
>> > height: #numberOfMethods;
>> > linearFillColor: #numberOfLinesOfCode within: namespaces.
>> > view nodes: namespaces.
>> > view edges connectToAll: #providerNamespaces.
>> > view layout dominanceTree.
>> > view open.
>> >
>> > Regards,
>> > --
>> > Serge Stinckwich
>> > UCBN & UMI UMMISCO 209 (IRD/UPMC)
>> > Every DSL ends up being Smalltalk
>> > http://www.doesnotunderstand.org/
>>
>>
>>
>> --
>> Serge Stinckwich
>> UCBN & UMI UMMISCO 209 (IRD/UPMC)
>> Every DSL ends up being Smalltalk
>> http://www.doesnotunderstand.org/
>> _______________________________________________
>> Moose-dev mailing list
>> Moose-dev(a)list.inf.unibe.ch
>> https://www.list.inf.unibe.ch/listinfo/moose-dev
>>
>
>
>
> --
>
>
>
>
>
>
> *Thanks and Best Regards,Do Huu Tien (Mr.)Handphone No: (+32) (0) 484 77
> 62 32 <%28%2B32%29%20%280%29%20484%2077%2062%2032>Email:
> tiendh11986(a)gmail.com <tiendh11986(a)gmail.com>Y!M: beuforeverSkype:
> do.huu.tien*
>
--
*Thanks and Best Regards,Do Huu Tien (Mr.)Handphone No: (+32) (0) 484 77 62
32Email: tiendh11986(a)gmail.com <tiendh11986(a)gmail.com>Y!M: beuforeverSkype:
do.huu.tien*
The message size is large so I cancel the original and re-post here. Please
see below.
On Tue, May 31, 2016 at 2:34 PM, tien dh <tiendh11986(a)gmail.com> wrote:
> Xin chào Serge, I'm from Vietnam and It's nice to see a greeting in
> Vietnamese :)
> Thanks for your quick reply.
> I'm using version 5.1 on Mac OS. Yep, I've imported a model, and I open
> script windows via "*All model classes*" > *Browse > In Roassal Easel*.
>
> When I copy your new code to the script windows and click the Play button,
> it shows the an error:
> *MessageNotUnderstood: GLMRoassal2Easel>>correctFrom:to:with:*
>
> Please check this link for the screenshot:
http://s33.postimg.org/db7ki51mn/Screen_Shot_2016_05_31_at_2_28_56_PM.png
> Am I wrong in using the tool? How can I test running of Mondrian code?
>
> On Tue, May 31, 2016 at 1:31 PM, Serge Stinckwich <
> serge.stinckwich(a)gmail.com> wrote:
>
>> You should read : http://agilevisualization.com/
>>
>> On Tue, May 31, 2016 at 12:29 PM, Serge Stinckwich
>> <serge.stinckwich(a)gmail.com> wrote:
>> > On Tue, May 31, 2016 at 12:04 PM, tien dh <tiendh11986(a)gmail.com>
>> wrote:
>> >> Hello, I'm new to Mondiran and I'm trying to run very simple piece of
>> code:
>> >
>> >
>> > Xin chào Tien.
>> > Where are you located ?
>> >
>> >> | view namespaces |
>> >> namespaces := MooseModel root allModels first allModelNamespaces.
>> >> view := MOViewRenderer new.
>> >> view shape rectangle
>> >> width: #numberOfClasses;
>> >> height: #numberOfMethods;
>> >> linearFillColor: #numberOfLinesOfCode within: namespaces.
>> >> view nodes: namespaces.
>> >> view edgesToAll: #providerNamespaces.
>> >> view dominanceTreeLayout.
>> >> view open.
>> >>
>> >>
>> >> I tried with Roassal Easel but it doesn't compile. Where should I put
>> the
>> >> code and run?
>> >
>> > Apparently you are running an old version of Roassal.
>> > Try to use the last version of MOOSE 6.0: http://moosetechnology.org/
>> >
>> > Are you sure you have imported a model with the MOOSE panel first ?
>> >
>> > The API change a little bit in MOOSE 6.0:
>> >
>> > | view namespaces |
>> > namespaces := MooseModel root allModels first allModelNamespaces.
>> > view := RTMondrian new.
>> > view shape rectangle
>> > width: #numberOfClasses;
>> > height: #numberOfMethods;
>> > linearFillColor: #numberOfLinesOfCode within: namespaces.
>> > view nodes: namespaces.
>> > view edges connectToAll: #providerNamespaces.
>> > view layout dominanceTree.
>> > view open.
>> >
>> > Regards,
>> > --
>> > Serge Stinckwich
>> > UCBN & UMI UMMISCO 209 (IRD/UPMC)
>> > Every DSL ends up being Smalltalk
>> > http://www.doesnotunderstand.org/
>>
>>
>>
>> --
>> Serge Stinckwich
>> UCBN & UMI UMMISCO 209 (IRD/UPMC)
>> Every DSL ends up being Smalltalk
>> http://www.doesnotunderstand.org/
>> _______________________________________________
>> Moose-dev mailing list
>> Moose-dev(a)list.inf.unibe.ch
>> https://www.list.inf.unibe.ch/listinfo/moose-dev
>>
>
>
>
> --
>
>
>
>
>
>
> *Thanks and Best Regards,Do Huu Tien (Mr.)Handphone No: (+32) (0) 484 77
> 62 32 <%28%2B32%29%20%280%29%20484%2077%2062%2032>Email:
> tiendh11986(a)gmail.com <tiendh11986(a)gmail.com>Y!M: beuforeverSkype:
> do.huu.tien*
>
--
*Thanks and Best Regards,Do Huu Tien (Mr.)Handphone No: (+32) (0) 484 77 62
32Email: tiendh11986(a)gmail.com <tiendh11986(a)gmail.com>Y!M: beuforeverSkype:
do.huu.tien*
Hello, I'm new to Mondiran and I'm trying to run very simple piece of code:
| view namespaces |
namespaces := MooseModel root allModels first allModelNamespaces.
view := MOViewRenderer new.
view shape rectangle
width: #numberOfClasses;
height: #numberOfMethods;
linearFillColor: #numberOfLinesOfCode within: namespaces.
view nodes: namespaces.
view edgesToAll: #providerNamespaces.
view dominanceTreeLayout.
view open.
I tried with Roassal Easel but it doesn't compile. Where should I put the
code and run?
--
*Thanks and Best Regards,Do Huu Tien (Mr.)Handphone No: (+32) (0) 484 77 62
32Email: tiendh11986(a)gmail.com <tiendh11986(a)gmail.com>Y!M: beuforeverSkype:
do.huu.tien*
Hi,
I've finally removed OSProcess from Moose, starting with #1739…
I've changed both Verveinej and ZeroConf (hidden OSProcess dependency) use FFI instead,
that way you can load OSProcess XOR OSSubprocess based on your needs.
Peter
Hi!
Apparently, I have to open a playground to specify a page.
p := GTPlayground new.
p openOn: GTPlayPage new.
Is there a way to set a page without opening it?
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Hi!
What is the purpose of that package? It seems to do some heavy stuff with code completion without giving a clue on how this all works :-(
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Hi,
I don't know who maintains CI for Moose.
Can you add "github*.zip" files to ignored files for the artifacts?
It is downloaded by Monticello and apparently it is preserved among the
saved artifacts, which is unnecessary.
Peter
Hi all,
I think I found a bug in RTGrapher: it does not seem to respect the minX: axis setting when that value is bigger than 0. For example:
| b ds |
b := RTGrapher new.
ds := RTData new.
ds points: #(2 3 4).
b add: ds.
b minX: 1.
b build.
^ b view
-> x starts at 0.
But if I set it to a negative number (e.g. -1) the x axis does start at that value.
This is a problem for me, because I have data e.g. between +-20 and +-30 and this just looks ugly:
Can this be fixed? Thanks in advance!
--
Does this mail seem too brief? Sorry for that, I don’t mean to be rude! Please see http://emailcharter.org .
Johan Fabry - http://pleiad.cl/~jfabry
PLEIAD and RyCh labs - Computer Science Department (DCC) - University of Chile
Hi,
I'm looking into removing OSProcess dependency from Moose.
Where can I get verveinej.sh and how do I use it?
Alternatively I would need to know how long it takes for the verveinej to
run… is it instant? Does it take some time (i.e. would it block the image?).
Thanks,
Peter