I think the key to this is intention revealing names and comments. And
shipping unit tests that are the best example of "running documentation".
Take Sven's NeoCSV package as an example. Great documentation and very
good method names. and a complete set of tests.
Sounds frightening at first
Hi Marc.
In Smalltalk, we rely on naming conventions a lot.
The great thing is that Smalltalk selectors/symbols/method names read like
English.
aDictionary at: aKey put: anObject.
aString indexOf: aCharacter startingAt: start ifAbsent: aBlock
Seems pretty clear, no?
We also rely on
--- Begin Message ---
Hello,
I don't know Smalltalk well enough to give myself an answer about the
following topic:
When using design patterns, one benefit of writing interfaces and passing
objects, that implement this interface, to methods is, that the reader
instantly knows: okay, here the
HilaireFernandes wrote
> I made another attempt to
> persist this time with filetree://. The net result is the same, the
> Traits logic is lost in the classes using the Traits: all traits methods
> are duplicated !!
I just got burned by this in ##50768. Methods inherited from traits were
saved as
On Tue, Jun 6, 2017 at 11:48 PM, Attila Magyar wrote:
> I don't think using a DI container worth the effort. They add lots of
> complexities and solve very little. For some reason DI containers became
> very popular in the Java world, but if you take a look at other
2017-06-07 22:04 GMT+02:00 p...@highoctane.be :
> I read your note about DoubleAgents for the tests, well, yeah this one we
> do not have. I read about it on the blog of its maker and it looked decent
> indeed.
>
I think Mocketry can easily replace DoubleAgents but API is
2017-06-07 22:30 GMT+02:00 Steven Costiou :
> But would it not be faster to just change the class (which finally works
> with a little tuning) ?
In fact your solution with anonymous subclass is doing what I describe
underhood.
> I don't see what is special about this. You can easily arrange instance
> creation order with methods on the class-side of your domain classes.
I will not use the term "class", but rather a "service" (service can be just a
single class, but that is not always the case). The point of inversion
Hmm ok, but can i easily make b become a again later ? I guess i would
just need to instanciate a new a...
But would it not be faster to just change the class (which finally works
with a little tuning) ?
I can't test right now but i will compare the two things...
Le 2017-06-07 21:59, Denis
2017-06-07 16:43 GMT+02:00 Steven Costiou :
> Yes but when you do that you loose all the states from "a" (at least the
> values). You have to do state migration management...
You just need extra step to copy all state from old object:
b := B new.
b copyFrom: a.
a
On Tue, Jun 06, 2017 at 07:33:04PM +0200, Hilaire wrote:
> Hi there,
>
> A Dr. Geo user on Ubuntu 64bits 16.04 got that buggy rendering of the
> canvas, then on some situation the rendering completely stop on a red
> screen, with a stack showing may be a zero divide error. I did not get
> access
On 06/07/2017 08:11 PM, Mark Rizun wrote:
At first, I was not able to reproduce the error, but then I realised
that you probably don't save the content of lower left and right parts
(`@.Statements).Use cmd+s to save changes.
The error is raised because parser tries to parse the old code (same
At first, I was not able to reproduce the error, but then I realised that
you probably don't save the content of lower left and right parts
(`@.Statements).Use cmd+s to save changes.
The error is raised because parser tries to parse the old code (same as in
upper left part) with a method intended
On Wed, Jun 7, 2017 at 10:24 PM, Marcus Denker
wrote:
> Hi,
>
> I have uploaded the Slides and Videos of PharoDays2017. Slides are
> complete (minus those
> talks that were due demos). For the Videos we have right now 8 talks and
> the “Show Us Your
> Project” session.
On 06/07/2017 03:46 AM, Holger Freyther wrote:
On 7. Jun 2017, at 14:09, Stephan Eggermont wrote:
Never refer to fixed versions unless you know why (you need to avoid a
specific bug fix).
When wanting to have repeatable builds (e.g. for bugfixes) and in the
absence of
Hi Mark,
the code from Number>>raisedTo:
aNumber isInteger ifTrue: [
"Do the special case of integer power"
^ self raisedToInteger: aNumber].
aNumber isFraction ifTrue: [
"Special case for fraction power"
^ (self nthRoot: aNumber denominator)
Hi Werner,
I believe that I am the one to answer this question, but I need more
information.
Please, could you send the code that you have in upper left panel.
Cheers,
Mark
2017-06-07 18:46 GMT+02:00 Ben Coman :
> I don't know much about RewriteToolbuilder, so probably
I don't know much about RewriteToolbuilder, so probably won't be the one to
give a proper answer,
but to help someone else answer... could you narrow down which video with a
link?
cheers -ben
On Thu, Jun 8, 2017 at 12:05 AM, werner kassens
wrote:
> Hi,
> i followed the
Hi,
i followed the video and opened the RewriteToolbuilder on some code in
pharo4.0. i then tried to keep things simple and made a
transformationrule,which i thought would not change anything, by just
copying "‘@.Statements." into the lower left & right panels (without the
" of course).i then
Hi!
Loading NaCl from the catalog is failing because the ConfigurationOf attempts
in the preLoad to download libsodium.dylib from an url that answers 404 error.
The url is from dropbox. Who is responsible of that url?
Cheers!
Alejandro
Hi,
I'm prototyping some integration between Fossil and Pharo for the
creation of dynamic distributed web sites [1]. Now I would like to send
some messages to store serialized STON domain objects as Fossil wiki
pages. The command that makes this, using curl, is:
curl -H "Content-Type:
--- Begin Message ---
Ok,
Thanks Vincent :)
> On 07 Jun 2017, at 15:52, Blondeau Vincent
> wrote:
>
> Hi,
>
> You should ask in the Moose list ;)
>
> Vincent
>
>> -Message d'origine-
>> De : Alidra Abdelghani [mailto:alidran...@yahoo.fr]
>> Envoyé :
Hi everyone.
I need your help. I’m working on how pharo developers use the tests. And you
are pharo developers.
So I developed a plugin and I would like you to download it. You just have to
execute this line in a playground
Metacello new
smalltalkhubUser: 'Pharo' project:
Yes but when you do that you loose all the states from "a" (at least the
values). You have to do state migration management...
Le 2017-06-07 16:18, Denis Kudriashov a écrit :
> 2017-06-07 14:53 GMT+02:00 Steven Costiou :
>
>> I want to do the following:
>>
>> B
Hi,
I have uploaded the Slides and Videos of PharoDays2017. Slides are complete
(minus those
talks that were due demos). For the Videos we have right now 8 talks and the
“Show Us Your
Project” session. More might come in the future (I need to check).
Slides:
-
2017-06-07 14:53 GMT+02:00 Steven Costiou :
> I want to do the following:
>
> B adoptInstance: a
>
> It does'nt work, for what i understand it is because the format of the
> classes are different (B has an inst var and A has not).
>
Yes, #adopt checks class format.
Use
Hi,
You should ask in the Moose list ;)
Vincent
> -Message d'origine-
> De : Alidra Abdelghani [mailto:alidran...@yahoo.fr]
> Envoyé : mercredi 7 juin 2017 15:34
> À : pharo-users@lists.pharo.org
> Objet : dynamic interaction with Mondriam
>
> Hi all,
>
> I would like to do some
I managed to do it :)
What i did not say is that the subclasses (with new inst var) i want to
use are anonymous subclasses.
So i subclassed the SlotClassBuilder and i did:
- generate an anonymous subclass from the source class
- migrate my object
- modify the anonymous subclass with new
So, I do not think that is possible…
Any solution I see is either to change the superclass or to add an external
object with a mapping between your new objects and the values of your new IVs.
Or you do the migration and after you add the IV once all instances are
migrated.
But, I repeat that,
--- Begin Message ---
Hi all,
I would like to do some visualisations with Mondrian where you change the
visualisation by selecting actions. For instance you have :
b := RTMondrian new.
b shape rectangle withTextAbove.
b nodes:(1 to: 5).
b layout grid.
b edges connectFrom: [ :e | e + 1 ].
b
Hi Vincent, thanks for your quick answer.
This is the default behavior of adoptInstance: which calls
primitiveChangeClassTo:
But i specifically want to gain new inst vars, which does not work that
way.
I can't add an instvar to the superclass since i don't want to change my
system.
Steven.
Hi,
You should be able to do it using the method primitiveChangeClassTo: but it not
recommended to do it. Are you sure that it is the only way to resolve your
problem?
If you really want to, an example:
Object subclass: #Toto
slots: { #tata }
classVariables: {
Hi,
i'm trying to migrate an object from a given class A to a subclass of A
with new inst vars. Can't get it to work.
I have a class and an instance of it, say:
Object subclass: #A
instanceVariableNames: ''
|a|
a := A new.
A has no instance variables. Now i create a subclass B of A
On Tue, Jun 06, 2017 at 05:11:17PM +0200, Esteban Lorenzano wrote:
> The time has come for Pharo 6.0!
Fantastic! Congrats and thanks for all the hard work.
Pierce
On 06/07/2017 12:46 PM, werner kassens wrote:
Hi,
where do i find the 'rewrite tool' described in the paper 'Code
Transformation by Direct Transformation of ASTs' by Rizun et al?
werner
oops, found it, i read the paper a bit too fast, sorry.
werner
Hi,
where do i find the 'rewrite tool' described in the paper 'Code
Transformation by Direct Transformation of ASTs' by Rizun et al?
werner
> On 7. Jun 2017, at 14:09, Stephan Eggermont wrote:
>
> Never refer to fixed versions unless you know why (you need to avoid a
> specific bug fix).
When wanting to have repeatable builds (e.g. for bugfixes) and in the
absence of other means to lock/define versions
Use Iceberg with Pharo6.0
There are techtalks videos about it.
https://www.youtube.com/watch?v=AuZAFfWS34w=29s
Phil
On Wed, Jun 7, 2017 at 11:29 AM, Steffen Märcker wrote:
> Hi Phil,
>
> that's great. I do have a GitHub account (merkste) but none at
> SmalltalkHub. Is there
I wouldn't bother with SmalltalkHub at this point. Check Iceberg, it's the
future: https://github.com/pharo-vcs/iceberg/
On 7 June 2017 at 11:29, Steffen Märcker wrote:
> Hi Phil,
>
> that's great. I do have a GitHub account (merkste) but none at
> SmalltalkHub. Is there a
Hi Phil,
that's great. I do have a GitHub account (merkste) but none at
SmalltalkHub. Is there a recommendable doc on how to use Git from Pharo?
Best, Steffen
Am .06.2017, 14:09 Uhr, schrieb p...@highoctane.be :
Hi Steffen,
I am willing to help you create the
> On 7 Jun 2017, at 09:38, Sven Van Caekenberghe wrote:
>
> I think that could/would work (the code in System-Sources was refactored
> quite well).
I added an issue and a slice (in the Pharo 6 inbox):
https://pharo.fogbugz.com/f/cases/20126/Running-Without-Changes-and-Sources
You could also subclass PharoFilesOpener with NoPharoFilesOpener, override
#sourcesFileOrNil and #changesFileOrNil to just return nil, and #install it as
Default. And hope that the callers can deal with the nils.
> On 7 Jun 2017, at 09:38, Sven Van Caekenberghe wrote:
>
>
Andreas,
What if you subclassed ChangesLog, say with something called NoChangesLog and
installed that as its DefaultInstance (as accessed by #default), with an
#install class side message.
Then override #logChange: and #logSnapshot:andQuit: to do nothing.
No need to subscribe to system
Great news! Thanks to Esteban and the 80+ contributors.
I have multiple patches waiting for the 7.0 dev cycle to begin. Can't
wait... :-)
Cheers,
Alistair
On 6 June 2017 at 17:11, Esteban Lorenzano wrote:
> Dear World,
>
> The time has come for Pharo 6.0!
>
> Pharo is a
I would like to repeat here again: don't refer to fixed version numbers
of packages out of your control in configurations. Refer to #'release'
versions that can be patched by the maintainers of your dependencies.
That is only appropriate when having to patch around a problem, and
couples your
On 07/06/17 06:19, Holger Freyther wrote:
Hi,
after having made some new releases I have an odd Metacello issue and
I am not sure how to debug it. This happens on my legacy
Pharo3/Pharo4 images that I still need to support in deployment.
It seems to be related to a dependency chain of
46 matches
Mail list logo