Magma/Pharo

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
16 messages Options
Reply | Threaded
Open this post in threaded view
|

Magma/Pharo

Elliot Finley
Is newest Magma working with Pharo 1.2.1?

How would I load?

TIA
Elliot


_______________________________________________
Magma mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/magma
Reply | Threaded
Open this post in threaded view
|

Re: Magma/Pharo

Elliot Finley
bump.  Is Magma only supported on Squeak?

On Fri, Apr 1, 2011 at 4:29 PM, Elliot Finley <[hidden email]> wrote:
Is newest Magma working with Pharo 1.2.1?

How would I load?

TIA
Elliot



_______________________________________________
Magma mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/magma
Reply | Threaded
Open this post in threaded view
|

Re: Magma/Pharo

Amir Ansari
It certainly works on Pharo 1.1.  I haven't yet upgraded to 1.2, so I can't confirm that it works on the newest version of Pharo.  Anyway, it's not just Squeak!


On Sun, 10 Apr 2011 22:08:47 -0600
Elliot Finley <[hidden email]> wrote:

> bump.  Is Magma only supported on Squeak?
_______________________________________________
Magma mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/magma
Reply | Threaded
Open this post in threaded view
|

Problem when replacing a collection within a MagmaCollection

Amir Ansari
In reply to this post by Elliot Finley
Hi List

Sorry for this long post, but I'm having a problem and just can't figure out where I'm going wrong...

I created a new class, 'FruitBowl', with variables 'color' and 'fruits', and added an instance of it to a database.

        MyDB commit: [
                MyDB root at: 'fruitbowls' put: (MagmaCollection new
                        addIndex: (MaSearchStringIndex attribute: #color);
                        addIndex: (MaKeywordIndex attribute: #fruits);
                        yourself) ].

        fruitbowls := MyDB root at: 'fruitbowls'.
        myBowl := FruitBowl new color: 'silver'; fruits: #('apple' 'pear' 'plum'); yourself.

        MyDB commit: [ fruitbowls add: myBowl ].
        MyDB release.


I can query the database without any problem:
        query := fruitbowls where: [ :each | each fruits includesAllOf: 'pear' subStrings ].


However, if I replace the collection of fruits and commit:
        MyDB commit: [
                myBowl fruits: #('walnut' 'hazelnut' 'chestnut') ].
        MyDB release.


The new collection seems to be there:
        reader := fruitbowls read: #color.
        (reader at: 1) fruits


But I can no longer query:
        query := fruitbowls where: [ :each | each fruits includesAllOf: 'walnut' subStrings ].
        query size


I must be doing something fundamentally silly - can anyone point out what it is?

Thanks!

Amir
_______________________________________________
Magma mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/magma
Reply | Threaded
Open this post in threaded view
|

Re: Magma/Pharo

Daniel Lyons
In reply to this post by Amir Ansari

On Apr 11, 2011, at 12:09 AM, Amir Ansari wrote:

> It certainly works on Pharo 1.1.  I haven't yet upgraded to 1.2, so I can't confirm that it works on the newest version of Pharo.  Anyway, it's not just Squeak!
>
>
> On Sun, 10 Apr 2011 22:08:47 -0600
> Elliot Finley <[hidden email]> wrote:
>
>> bump.  Is Magma only supported on Squeak?

You guys really need to stop promising that someday it will be easy to install Magma in Pharo and either: 1) put up a Metacello configuration that works under Pharo, 2) put up a wiki page with precise, tested instructions for getting it installed, or 3) stop saying that Magma is not a Squeak-only product and admit that you have no intention of actually supporting it under Pharo. Your current scheme is humiliating new users, and you're only getting feedback from the ones that get on the mailing list before giving up.


Daniel Lyons

_______________________________________________
Magma mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/magma
Reply | Threaded
Open this post in threaded view
|

Re: Magma/Pharo

Daniel Lyons
First, let me apologize for my explosion.

In Pharo 1.2, the correct way to install Magma _appears_ to be
following these instructions in Pharo in the 'Installing external
projects' workspace:

    Gofer new
        squeaksource: 'MetacelloRepository';
        package: 'ConfigurationOfMagma';
        load.
         
    ((Smalltalk at: #ConfigurationOfMagma) project latestVersion) load

This results in some version of Magma being installed, I'm not clear
which. The result of running the test suite is that of 384 tests, 344
pass with 1 expected failure, ten failures and 29 errors. I don't yet
know how to interpret the test runner screen, but it looks like the
failures are in MaIdentityKeyWeakValueDictionaryTest,
MaWeakIdentityKeyDictionaryTest, MaWeakKeyDictionaryTest,
UnixProcessUnixFileLockingTestCase,
UnixProcessWin32FileLockingTestCase, and WBTestBarrier. The errors
seem to be in MaClientServerTestCase, MaWeakIdentityKeyDictionaryTest,
WBTestBarrier and WBTestSystemChanges. I suspect those are all the
missing and:and:and: selector on Boolean, because I got a lot of
messages about that while running the tests.

I don't know if this means I have a working Magma or not. I would like
to know.

If this is right, this information could be placed on the wiki. I see
how to do that, and if it's right, I see what should go there, so
if no one objects I would like to put this information on the wiki.

Thanks. And again, I am very sorry about my outburst.

--
Daniel
_______________________________________________
Magma mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/magma
Reply | Threaded
Open this post in threaded view
|

Re: Magma/Pharo

Chris Muller-3
Daniel, just to be clear.

Magma is not yet supported on Pharo 1.2, but it is part of my plans to
do so.  In fact, I plan to look into it this month.

Please note that I expect Pharo to eventually produce resources
(developers or money) to assist with Magma support and upgrades as
Pharo becomes more and more divergent from Squeak in the future.

 - Chris



On Mon, Apr 11, 2011 at 4:49 PM, Daniel Lyons <[hidden email]> wrote:

> First, let me apologize for my explosion.
>
> In Pharo 1.2, the correct way to install Magma _appears_ to be
> following these instructions in Pharo in the 'Installing external
> projects' workspace:
>
>    Gofer new
>        squeaksource: 'MetacelloRepository';
>        package: 'ConfigurationOfMagma';
>        load.
>
>    ((Smalltalk at: #ConfigurationOfMagma) project latestVersion) load
>
> This results in some version of Magma being installed, I'm not clear
> which. The result of running the test suite is that of 384 tests, 344
> pass with 1 expected failure, ten failures and 29 errors. I don't yet
> know how to interpret the test runner screen, but it looks like the
> failures are in MaIdentityKeyWeakValueDictionaryTest,
> MaWeakIdentityKeyDictionaryTest, MaWeakKeyDictionaryTest,
> UnixProcessUnixFileLockingTestCase,
> UnixProcessWin32FileLockingTestCase, and WBTestBarrier. The errors
> seem to be in MaClientServerTestCase, MaWeakIdentityKeyDictionaryTest,
> WBTestBarrier and WBTestSystemChanges. I suspect those are all the
> missing and:and:and: selector on Boolean, because I got a lot of
> messages about that while running the tests.
>
> I don't know if this means I have a working Magma or not. I would like
> to know.
>
> If this is right, this information could be placed on the wiki. I see
> how to do that, and if it's right, I see what should go there, so
> if no one objects I would like to put this information on the wiki.
>
> Thanks. And again, I am very sorry about my outburst.
>
> --
> Daniel
> _______________________________________________
> Magma mailing list
> [hidden email]
> http://lists.squeakfoundation.org/mailman/listinfo/magma
>
_______________________________________________
Magma mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/magma
Reply | Threaded
Open this post in threaded view
|

Re: Problem when replacing a collection within a MagmaCollection

Chris Muller-3
In reply to this post by Amir Ansari
Please see:

  http://wiki.squeak.org/squeak/2639

Your answer is at the bottom of that page.


On Mon, Apr 11, 2011 at 1:59 AM, Amir Ansari <[hidden email]> wrote:

> Hi List
>
> Sorry for this long post, but I'm having a problem and just can't figure out where I'm going wrong...
>
> I created a new class, 'FruitBowl', with variables 'color' and 'fruits', and added an instance of it to a database.
>
>        MyDB commit: [
>                MyDB root at: 'fruitbowls' put: (MagmaCollection new
>                        addIndex: (MaSearchStringIndex attribute: #color);
>                        addIndex: (MaKeywordIndex attribute: #fruits);
>                        yourself) ].
>
>        fruitbowls := MyDB root at: 'fruitbowls'.
>        myBowl := FruitBowl new color: 'silver'; fruits: #('apple' 'pear' 'plum'); yourself.
>
>        MyDB commit: [ fruitbowls add: myBowl ].
>        MyDB release.
>
>
> I can query the database without any problem:
>        query := fruitbowls where: [ :each | each fruits includesAllOf: 'pear' subStrings ].
>
>
> However, if I replace the collection of fruits and commit:
>        MyDB commit: [
>                myBowl fruits: #('walnut' 'hazelnut' 'chestnut') ].
>        MyDB release.
>
>
> The new collection seems to be there:
>        reader := fruitbowls read: #color.
>        (reader at: 1) fruits
>
>
> But I can no longer query:
>        query := fruitbowls where: [ :each | each fruits includesAllOf: 'walnut' subStrings ].
>        query size
>
>
> I must be doing something fundamentally silly - can anyone point out what it is?
>
> Thanks!
>
> Amir
> _______________________________________________
> Magma mailing list
> [hidden email]
> http://lists.squeakfoundation.org/mailman/listinfo/magma
>
_______________________________________________
Magma mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/magma
Reply | Threaded
Open this post in threaded view
|

Re: Problem when replacing a collection within a MagmaCollection

Amir Ansari
Awesome!  I've read this many times, but it would never have occurred to me that it's connected to my problem - although, reading it now, of course it is...

(Would it be possible to add a note to the wiki, in case someone else has a similar problem but can't immediately make the connection?)

Thanks, Chris!


On Tue, 12 Apr 2011 11:38:42 -0500
Chris Muller <[hidden email]> wrote:

> Please see:
>
>   http://wiki.squeak.org/squeak/2639
>
> Your answer is at the bottom of that page.
_______________________________________________
Magma mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/magma
Reply | Threaded
Open this post in threaded view
|

Re: Problem when replacing a collection within a MagmaCollection

Amir Ansari
Oh dear!  For the example I provided, 'noteOldKeysFor' isn't working...

My original post was rather long and detailed, but the summary is: my MagmaCollection contains an array (of strings).  When I replace the array with a new set of strings, I can see they're there, but a keyword query returns zero results.

I tried this (and various permutations):

        MyDB session commit: [
                MyDB session noteOldKeysFor: myBowl.   "<- added this line, as indicated in the wiki"
                myBowl fruits: #('walnut' 'hazelnut' 'chestnut') ].


This query then fails:

        fruitbowls where: [ :each | each fruits includesAllOf: 'walnut' subStrings ].


Any idea where I'm going wrong?

Thanks!

Amir


> On Tue, 12 Apr 2011 11:38:42 -0500
> Chris Muller <[hidden email]> wrote:
>
> > Please see:
> >
> >   http://wiki.squeak.org/squeak/2639
> >
> > Your answer is at the bottom of that page.
_______________________________________________
Magma mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/magma
Reply | Threaded
Open this post in threaded view
|

Re: Magma/Pharo

Daniel Lyons
In reply to this post by Chris Muller-3

On Apr 12, 2011, at 10:34 AM, Chris Muller wrote:

> Magma is not yet supported on Pharo 1.2, but it is part of my plans to
> do so.  In fact, I plan to look into it this month.

http://lists.squeakfoundation.org/pipermail/magma/2011-March/001747.html
http://lists.squeakfoundation.org/pipermail/magma/2011-February/001718.html

> Please note that I expect Pharo to eventually produce resources
> (developers or money) to assist with Magma support and upgrades as
> Pharo becomes more and more divergent from Squeak in the future.


I appreciate that you're busy and I can understand not wanting to maintain a port of your software to a platform you don't use, but as long as Magma development remains this quiet, what good will it do for Pharo to provide developers? If it were "hey, this piece is broken under Pharo, please someone from Pharo take a look at it," it would be a lot easier I think for people to get involved and help shoulder some of the burden. It is (or should be) much easier to get help when you ask for it than when you wish for it silently, looking into the void.

I'm not an expert at Smalltalk or Pharo and *far* from being one in Magma, but I *am* a real programmer and I know how to fix bugs. Step one is knowing what they are.


Daniel Lyons

_______________________________________________
Magma mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/magma
Reply | Threaded
Open this post in threaded view
|

Re: Magma/Pharo

Igor Stasenko
On 14 April 2011 07:45, Daniel Lyons <[hidden email]> wrote:

>
> On Apr 12, 2011, at 10:34 AM, Chris Muller wrote:
>
>> Magma is not yet supported on Pharo 1.2, but it is part of my plans to
>> do so.  In fact, I plan to look into it this month.
>
> http://lists.squeakfoundation.org/pipermail/magma/2011-March/001747.html
> http://lists.squeakfoundation.org/pipermail/magma/2011-February/001718.html
>
>> Please note that I expect Pharo to eventually produce resources
>> (developers or money) to assist with Magma support and upgrades as
>> Pharo becomes more and more divergent from Squeak in the future.
>
>
> I appreciate that you're busy and I can understand not wanting to maintain a port of your software to a platform you don't use, but as long as Magma development remains this quiet, what good will it do for Pharo to provide developers? If it were "hey, this piece is broken under Pharo, please someone from Pharo take a look at it," it would be a lot easier I think for people to get involved and help shoulder some of the burden. It is (or should be) much easier to get help when you ask for it than when you wish for it silently, looking into the void.
>
> I'm not an expert at Smalltalk or Pharo and *far* from being one in Magma, but I *am* a real programmer and I know how to fix bugs. Step one is knowing what they are.
>

My 2c.
I don't see any reasons why Magma cannot work on Pharo. Its only a
question of putting an effort on fixing all minor incompatibilities.

Btw, it would be interesting if we could set up a magma loader on
Hudson server. It could also run test suite(s) after building image.
But i don't have time on it right now, so if there anyone interested,
let me know or write a message to pharo mailing list.

--
Best regards,
Igor Stasenko AKA sig.
_______________________________________________
Magma mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/magma
Reply | Threaded
Open this post in threaded view
|

Re: Magma/Pharo

Igor Stasenko
I just talked with Marcus about this.

Its only a matter of giving an instructions, what should be loaded and
in what order.

So we can set up a Hudson job to do that, and it will build pharo +
magma image on every update.
And then of course it can run Magma tests after build.


--
Best regards,
Igor Stasenko AKA sig.
_______________________________________________
Magma mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/magma
Reply | Threaded
Open this post in threaded view
|

Re: Problem when replacing a collection within a MagmaCollection

Chris Muller-3
In reply to this post by Amir Ansari
What you have looks right.  And yet, noteOldKeys has worked for a long
time, and is a part of the test-suite in several cases which I've run
today.

So I have no idea, but if you can produce a simple script which
demonstrates a problem with noteOldKeysFor:, I'll bet you'll discover
what went wrong in your code.  Otherwise, I would fix it, of course.

You can try using Associations indexed on #key instead of FruitBowls..

 - Chris

On Wed, Apr 13, 2011 at 3:34 PM, Amir Ansari <[hidden email]> wrote:

> Oh dear!  For the example I provided, 'noteOldKeysFor' isn't working...
>
> My original post was rather long and detailed, but the summary is: my MagmaCollection contains an array (of strings).  When I replace the array with a new set of strings, I can see they're there, but a keyword query returns zero results.
>
> I tried this (and various permutations):
>
>        MyDB session commit: [
>                MyDB session noteOldKeysFor: myBowl.   "<- added this line, as indicated in the wiki"
>                myBowl fruits: #('walnut' 'hazelnut' 'chestnut') ].
>
>
> This query then fails:
>
>        fruitbowls where: [ :each | each fruits includesAllOf: 'walnut' subStrings ].
>
>
> Any idea where I'm going wrong?
>
> Thanks!
>
> Amir
>
>
>> On Tue, 12 Apr 2011 11:38:42 -0500
>> Chris Muller <[hidden email]> wrote:
>>
>> > Please see:
>> >
>> >   http://wiki.squeak.org/squeak/2639
>> >
>> > Your answer is at the bottom of that page.
> _______________________________________________
> Magma mailing list
> [hidden email]
> http://lists.squeakfoundation.org/mailman/listinfo/magma
>
_______________________________________________
Magma mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/magma
Reply | Threaded
Open this post in threaded view
|

Re: Magma/Pharo

Chris Muller-3
In reply to this post by Igor Stasenko
Ok, I'll announce when I have the Pharo version..

On Thu, Apr 14, 2011 at 3:57 AM, Igor Stasenko <[hidden email]> wrote:

> I just talked with Marcus about this.
>
> Its only a matter of giving an instructions, what should be loaded and
> in what order.
>
> So we can set up a Hudson job to do that, and it will build pharo +
> magma image on every update.
> And then of course it can run Magma tests after build.
>
>
> --
> Best regards,
> Igor Stasenko AKA sig.
> _______________________________________________
> Magma mailing list
> [hidden email]
> http://lists.squeakfoundation.org/mailman/listinfo/magma
>
_______________________________________________
Magma mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/magma
Reply | Threaded
Open this post in threaded view
|

Re: Problem when replacing a collection within a MagmaCollection

Amir Ansari
In reply to this post by Amir Ansari
I have it working now.  It's essential to invoke the method 'noteOldKeysFor:' within a reader (just as shown in the wiki).  Here's the code for my example:

MyDB commit: [
        reader := fruitbowls read: #color.
        reader do: [ :each |
                MyDB session noteOldKeysFor: each.
                each fruits: #('walnut' 'hazelnut' 'chestnut') ] ].

Thanks for your help, Chris!
_______________________________________________
Magma mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/magma