Hi,
It is actually the economic reasoning that prevailed here.
John was willing to invest effort to both work with and benefit from the Moose/GT environment. The consequence was that he built the GT extensions for SmaCC while Andrei and I offered a bit of support. In this process, we also got updates and fixes to several grammars that are now shipped with Moose.
Furthermore, as John is the primary author of SmaCC it only makes sense that he gets to control what he maintains.
As for the repository, I asked him kindly to keep it in SmalltalkHub at the beginning to make the integration with Moose cheaper and easier. Now, that the GitHub solution grows we can certainly consider moving it together with the rest of Moose.
As for the need to have a fork of SmaCC, I think there is little need for that and John was always responsive to requests.
Cheers,
Doru
> On Mar 29, 2017, at 6:21 PM, Stephane Ducasse <stepharo.self(a)gmail.com> wrote:
>
> So I browsed the mailing-list and I foind the mail of thierry saying that there is no difference.
> I will try to tools in moose then.
>
>
> On Wed, Mar 29, 2017 at 6:07 PM, Stephane Ducasse <stepharo.self(a)gmail.com> wrote:
> Ok I should say that I do not understand the differences and why there are two versions of Smacc.
> So I will stop maintaining the tutorial because now may be I should revert what I wrote.
> I was too stupid to do it in fact I should focus on my stuff and nothing else.
> This saddens me a lot.
> We are a small community and we split ourselves into little chunks.
> I do not get why there is no notion of economy and sharing in our culture.
>
> Stef
>
>
>
> On Wed, Mar 29, 2017 at 2:30 PM, Tudor Girba <tudor(a)tudorgirba.com> wrote:
> Hi,
>
> > On Mar 28, 2017, at 11:50 AM, Stephane Ducasse <stepharo.self(a)gmail.com> wrote:
> >
> > OK
> > I loaded Smacc from github as mentioned by thierry.
> >
> > Metacello new
> > baseline: 'SmaCC';
> > repository: 'github://ThierryGoubier/SmaCC';
> > load
> >
> > Are there two configurationOfSmacc?
> > May be we should only have one no?
> >
> > I have the impression that even thierry and jason working heavily with Smacc do not know that.
> > And we should not force them to use Moose. At least we do not have to win
> > anything with it.
>
> I did not mean to force anyone to use Moose. I just said it is already loaded there, in case you use it.
>
> Moose relies on the ConfigurationOfSmaCC maintained by John. Thierry has another repository that he created before John moved his work to Pharo. But, now that he does work with Pharo Moose relies on his version.
>
> Cheers,
> Doru
>
> >
> > Stef
> >
> > On Mon, Mar 27, 2017 at 6:31 PM, Tudor Girba <tudor(a)tudorgirba.com> wrote:
> > They come with the ConfigurationOfSmaCC which is already in the Moose image.
> >
> > Doru
> >
> >
> > > On Mar 27, 2017, at 4:52 PM, Stephane Ducasse <stepharo.self(a)gmail.com> wrote:
> > >
> > > Hi
> > >
> > > where can I load the Smacc gt extension and debugger extensions?
> > >
> > > Stef
> >
> > --
> > www.tudorgirba.com
> > www.feenk.com
> >
> > "Speaking louder won't make the point worthier."
> >
> >
> >
>
> --
> www.tudorgirba.com
> www.feenk.com
>
> "There are no old things, there are only old ways of looking at them."
>
>
>
>
>
>
>
--
www.tudorgirba.comwww.feenk.com
"We cannot reach the flow of things unless we let go."
Hi!
Just to share what we have recently done.
We have designed a very simple python analyzer, available as a Roassal plugin (available from the world menu).
As an example, the following code produces:
-=-=-=-=-=-=-=-=-=-=-=-=
root := '/Users/alexandrebergel/Desktop/astropy' asFileReference.
p := PyProcessor new.
p processRootFolder: root.
p resolveDependencies.
b := RTMondrian new.
b shape circle.
b shape box
height: #numberOfLinesOfCode;
width: [ :c | c numberOfMethods * 10 ].
b nodes: p classes.
b edges connectFrom: #superclass.
b layout tree;
ifNotConnectedThen: RTFlowLayout new.
b normalizer
distinctColorUsing: #file.
^ b
-=-=-=-=-=-=-=-=-=-=-=-=
Cheers,
Alexandre
In the latest build we have 243 new tests failing with an error (Instance
of FAMIXPharoAnchor did not understand #privateQuery:with:)
new versions in the image are:
'ACD-Model' : 'ACD-Model-PavelKrivanek.47',
Merlin' : 'Merlin-PavelKrivanek.159',
'RoelTyper' : 'RoelTyper-PavelKrivanek.88',
'Famix-Core' : 'Famix-Core-AnneEtien.312'
'Famix-Extensions' : 'Famix-Extensions-VincentBlondeau.302',
-- Pavel
Agile Vis ebook is superb, copied following snippet, know hopefully what
it's doing, but want to make sure I understand how it works (in terms of
"plain" Pharo):
1) @ RTPopup: Class name is enough, but it is initiated under the hood?
2) RTMetricNormalizer new ...: There is no need to keep reference to
created object? Why? because messages sent to object (like normalizeSize)
have a "sideeffect" on es?
3) RTMetricNormalizer connects to model via #yourself? Is every symbol or
code block. that is sent to RTMetricNormalizer as argument, executed when
finally "sent" to es?
BR Mike
v := RTView new. es := (RTEllipse new color: Color blue) elementsOn: #(4 5 1
2 3 5). v addAll: es. es @ RTPopup. RTMetricNormalizer new elements: es;
alphaColor; normalizeSize: #yourself min: 20 max: 50; normalizeColor:
#yourself. RTHorizontalLineLayout new alignCenter; on: es. es @ RTLabeled. v
Hi,
The last changes on Roassal2 seems to make the actual job stopping in the middle of the tests: https://ci.inria.fr/moose/job/roassal2/.
And make the moose6.1 failing too...
Can someone fix this problem?
Else, I'll skip the Roassal tests to make the job green again (and integrate the latest changes).
Thanks in advance !
Cheers,
Vincent
!!!*************************************************************************************
"Ce message et les pi?ces jointes sont confidentiels et r?serv?s ? l'usage exclusif de ses destinataires. Il peut ?galement ?tre prot?g? par le secret professionnel. Si vous recevez ce message par erreur, merci d'en avertir imm?diatement l'exp?diteur et de le d?truire. L'int?grit? du message ne pouvant ?tre assur?e sur Internet, la responsabilit? de Worldline ne pourra ?tre recherch?e quant au contenu de ce message. Bien que les meilleurs efforts soient faits pour maintenir cette transmission exempte de tout virus, l'exp?diteur ne donne aucune garantie ? cet ?gard et sa responsabilit? ne saurait ?tre recherch?e pour tout dommage r?sultant d'un virus transmis.
This e-mail and the documents attached are confidential and intended solely for the addressee; it may also be privileged. If you receive this e-mail in error, please notify the sender immediately and destroy it. As its integrity cannot be secured on the Internet, the Worldline liability cannot be triggered for the message content. Although the sender endeavours to maintain a computer virus-free network, the sender does not warrant that this transmission is virus-free and will not be liable for any damages resulting from any virus transmitted.!!!"
Hello all,
I recently discovered Remote Publish for Playgrounds in Pharo. I'm
wondering if there's a way to do the same thing, but to a specified file on
my hard drive?
As it stands, much of my Roassal experiments are in the Playground and I
have been saving images (!) since I could not find a "Save as..." for the
text file in the Playground.
With big Moose models, saving images is overkill. The (non-lazy)
alternative is to select all text in the Playground and copy/paste it into
a Notepad++ file.
Cheers,
C. Fuhrman
Hi!
Just to share an improvement of Grapher, which is part of Roassal.
The code:
| b d classes |
classes := (Collection withAllSubclasses reverseSortedAs: #numberOfMethods) first: 10.
b := RTGrapher new.
d := RTVerticalMultipleData new.
d points: classes.
d addMetric: #numberOfLinesOfCode.
d addMetric: #numberOfMethods.
d barChartWithBarTitle: #name rotation: -30.
b add: d.
b
Produces:
And this code:
| b d classes |
classes := (Collection withAllSubclasses reverseSortedAs: #numberOfMethods) first: 10.
b := RTGrapher new.
d := RTHorizontalMultipleData new.
d points: classes.
d addMetric: #numberOfLinesOfCode.
d addMetric: #numberOfMethods.
d barChartWithBarTitle: #name rotation: -30.
b add: d.
b
Produces:
Naturally, you can add several metrics:
Consider:
| b d classes |
b := RTGrapher new.
d := RTHorizontalMultipleData new.
d points: #( #('hello' 1 2 1) #('world' 2 4 2) #('bonjour' 3 5 4) #('Gutten Morgen' -1 4 -5)).
d addMetric: #second.
d addMetric: #third.
d addMetric: #fourth.
d barChartWithBarTitle: #first rotation: -30.
b add: d.
b
And:
| b d classes |
b := RTGrapher new.
d := RTVerticalMultipleData new.
d points: #( #('hello' 1 2 1) #('world' 2 4 2) #('bonjour' 3 5 4) ).
d addMetric: #second.
d addMetric: #third.
d addMetric: #fourth.
d barChartWithBarTitle: #first rotation: -30.
b add: d.
b
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Hi Moose users,
as you may know, at Synectique we experiment lots of issues about memory
usage.
That's why i had a look at the number of unused instance variables in one
of our system loaded with a big model from one of our main customer.
Total instance variables: 26.852.653
Used instance variables: 17.393.938
Empty collections: 5.023.508
Recoverable instance variables: 14.482.223
The recoverable instance variables are those with nil or an empty
collection (or MultiValueLink)
As you can see, we can save a lot of memory :-)
Here is my (dirty) code to get that:
countUsedInstanceVariableInForSubInstances: aClass
| usedInstNbr instNbr emptyCollNbr |
usedInstNbr := 0.
instNbr := 0.
emptyCollNbr := 0.
aClass
allSubInstancesDo: [ :anEntity |
instNbr := instNbr + anEntity class allInstVarNames size.
anEntity class allInstVarNames
doWithIndex: [ :e :i |
(anEntity instVarAt: i)
ifNotNil: [ :content |
([
content isEmpty.
emptyCollNbr := emptyCollNbr + 1.
false ]
on: MessageNotUnderstood
do: [ false ])
ifFalse: [ usedInstNbr := usedInstNbr + 1 ] ] ] ].
^ {('Used instance variables' -> usedInstNbr).
('empty collections' -> emptyCollNbr).
('Recoverable instance variables' -> (instNbr - (usedInstNbr -
emptyCollNbr))).
('Total instance variables' -> instNbr)}
--
*Guillaume Larcheveque*
Hi,
apparently there used to be RTIdentityGroup (and Collection>>asIdentityGroup) in Rossal, but I can't find any mention of it
http://forum.world.st/AST-visualization-with-Roassal-td4840243.html
did it vanish on its own (bug) or was that a deliberate choice (feature)?
Peter