Re: [Moose] Re: summary of the discussion with Adrian
by Adrian Kuhn
Oops, forgot reply all.
On 26 Sep 2007, at 23:53 , Adrian Kuhn wrote:
> On 26 Sep 2007, at 18:30 , Tudor Girba wrote:
>
>> As for Meta and Hapax, Adrian said that he reserves the right to
>> license them and that we should discuss about it after we get the
>> agreement with the Unibe. But, in a follow up mail he changed his
>> mind and said that "if we come to some nice agreement with Univ its
>> okay to license these two bundles under BSD". I must admit that I am
>> a bit confused, but perhaps this was just another misunderstanding :)
>
> It is the same I wrote in my mail back then
>
>> All these are issues I'd like to be addresses and taken into account
>> when officially (re)licensing Moose now. Personally I would prefer to
>> have a license that allows us to be more specific about what we
>> consider to be fair use. But I am not strictly against BSD as well,
>> it would be even okay for me to license Meta as such if we find to
>> some agreement that ensures fairness for all involved parties
>
> and that still applies.
>
> AA
>
>
>
15 years, 8 months
Fwd: [Moose] Re: summary of the discussion with Adrian
by Adrian Kuhn
On 26 Sep 2007, at 16:33 , Orla Greevy wrote:
>>> In my opinion we should aim to be as flexible as the Java world
>>> tools
>>> e.g. Checkstyle, tomcat, etc.
>>
>> I do not understand.
>>
> In the case of the above mentioned tools, they can be used by
> anyone in any context, i.e. commerical or non commerical.
Which are usually under GPL or compatible. GPL has the nice property
that any non-commercial contributer can be sure no one will ever
commercialize his contributions; but still any commercial user can
use it or sell services on top of it, and in case of LGPL even build
products on top of it. My concern as researcher is that BSD does
fully satisfy the interest of non-commercial contributers in the same
way. Maybe that got lost in all the rant with Doru.
AA
15 years, 8 months
separatedBy:
by Tudor Girba
Hi Adrian,
I saw that you removed Collection>>separatedBy: from CodeFoo. I
thought this was a nice method, and I looked for other similar
methods to use, but I cannot seem to find the right one.
What am I missing?
Doru
--
www.iam.unibe.ch/~girba
www.iam.unibe.ch/~girba/blog/
"Value is always contextual."
15 years, 8 months
Problems with Unit Test
by Romain PEIRS
Hello,
I am a new mooser, I am working on a Smalltalk project with VisualWorks. I am trying to write a unit test but I have a problem: I have not possibility to run and to step my test because I don't have the tools for it. Nevertheless, I have loaded the package StefFoo, my test class inherites from SUnit.TestCase.
What did I forget to run my tests?
Romain
15 years, 8 months
Dynamic inst vars for Moose
by Adrian Kuhn
Hey Stef, dear Moosers,
there is a new implementation of lazy (or dynamic, as I call them
now) inst vars for Moose. The new implementation is not based an wide
classes, but on anonymous subclasses, and includes very strict sanity
checks to guarantee type safety and Smalltalk's language model.
You may only extend a base class with an inst var, iff
name isString.
name isSymbol not.
name allSatisfy: #isLetter.
(case allInstVarNames includes: name) not.
class canUnderstand: name asSymbol.
class canUnderstand: (name copyWith: $:) asSymbol.
and you must implement the accessors in the class as follows
class >> foo
^self dynamicInstVarNamed: 'foo'
class >> foo: value
self dynamicInstVarNamed: 'foo' put: value
with this setup, we can guarantee that no tool is broken, neither the
browser, nor inspector and debugger or senders- and implementors-of.
Except for the first write access, access time on an dynamic instance
variable is guaranteed to be the same as for "normal" instance
variables.
Please refer to DynamicInstVars and DynamicInstVarsTest on SCG Store,
for a first draft implementation.
cheers,
AA
15 years, 9 months
Fwd: Moose Heaven :-)
by Stéphane Ducasse
:)
no comment :)
Begin forwarded message:
> From: Noury Bouraqadi <bouraqadi(a)ensm-douai.fr>
> Date: 6 septembre 2007 17:07:01 HAEC
> To: Stéphane Ducasse <stephane.ducasse(a)univ-savoie.fr>, Girba Tudor
> <girba(a)iam.unibe.ch>, Adrian Kuhn <akuhn(a)gmx.ch>, Michele Lanza
> <michele.lanza(a)unisi.ch>, Roel Wuyts <roel.wuyts(a)gmail.com>
> Subject: Moose Heaven :-)
>
>
> http://www.spectrumdata.com/moose/havenbrochure.html
>
> Noury
> ------------------------------------------------------------------
> Dr. Noury Bouraqadi - Enseignant/Chercheur
> Responsable de l'enseignement de l'informatique
> ARMINES - Ecole des Mines de Douai - Dept. I.A.
> http://csl.ensm-douai.fr/noury
>
> European Smalltalk Users Group Board
> http://www.esug.org
> ------------------------------------------------------------------
>
>
>
15 years, 9 months
Re: [scg-staff] Re: Wide classes for VW
by Adrian Kuhn
You are right.
On 3 Sep 2007, at 10:24 , Oscar Nierstrasz wrote:
>
> Aren't these emails supposed to be going to the moose-dev list?
>
> They are all being sent to scg-staff now.
>
> Oscar
>
> On Sep 3, 2007, at 10:10, Bergel, Alexandre wrote:
>
>>> Why touch the compiler, when two simple methods in Object can do
>>> the same?
>>
>> If WideClass is just an optimisation, then I should write my code
>> as if this mechanism is not present. Moreover, using a kind of
>> annotation mechanism will make legacy code to benefit from WideClass.
>>
>>>
>>> Also, when lazy inst vars are part of the class def, again we run
>>> into the limitation that they can not be a package extension.
>>> This is one of the needs we do have in Moose.
>>
>> As far as I understand, an ideal implementation of WC will have to
>> be in the VM. And this, for the same reason that lazy evaluation
>> in Haskel is implemented in the VM.
>>
>> Alexandre
>>
>> --
>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>> Alexandre Bergel http://www.bergel.eu
>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>>
>>
>>
15 years, 9 months
Wide classes for VW
by Adrian Kuhn
As ESUG was so inspiring, I could not resist some VW hacking on the
train home...
If you browse to WideClass and WideClassTest on SCG Store, there is a
simple implementation of wide classes. As we have tons of empty inst
vars in moose models, that might help us to save some megas on large
case studies.
How to use it?
Sending #wide:put: to any object will install an instance var and
accessors on the receiver instance.
o := Object new.
o wide: #foo put: 4.
o foo
and even better, if you implement #foo and #foo: as follows
foo ^nil
foo: arg self wide: #foo put: arg
upon first execution of #foo: the foo inst var is installed and both
methods get properly overriden with simple accessors. There is no DNU
hack anywhere!
Hope you have some fun playing around with it!
cheers,
AA
15 years, 9 months