Hi all,
i'm looking for a decent module system for Squeak and i'm playing with Classboxes - they seem to be ideal - it's still pure Smalltalk, they work together with Traits, but there seems to be something broken: in Classbox>>scope is an attempt to instantiate a class named Environment, which is nowhere to be found - the base environment seems to be the Smalltalk system dictionary itself, but i have no idea, which class should replace it in the Classboxes. The full method source is: Classbox>>scope ^ scope ifNil: [ scope _ Environment new] ...is there a definition of this class somewhere? Or how should it look like, if it should "replace" the system dictionary for the different classboxes? Thanks for any help. Viktor Svub |
Gilrandir <[hidden email]> writes:
> Hi all, > i'm looking for a decent module system for Squeak and i'm playing with > Classboxes - they seem to be ideal - it's still pure Smalltalk, they > work together with Traits, but there seems to be something broken: in > Classbox>>scope is an attempt to instantiate a class named > Environment, which is nowhere to be found I don't think Classboxes is maintained. For experimentation, you should dig up the correct older version of Squeak for it -- does anyone know what that would be? If you want to continue using them beyond experimentation, then either you need to use it with the old version of Squeak, or you need to update it personally. By the way, there are some other module-related tools that are actively maintained. Monticello is a great for managing code given the current Squeak design; it won't prevent clashes between packages, but at least it will tell you when they happen. Package universes is my toolkit for helping people manage sets of mutually compatible packages; given such a toolkit, the need for a good module system is lessened. -Lex |
Lex Spoon napsal(a):
> Gilrandir <[hidden email]> writes: >> Hi all, >> i'm looking for a decent module system for Squeak and i'm playing with >> Classboxes - they seem to be ideal - it's still pure Smalltalk, they >> work together with Traits, but there seems to be something broken: in >> Classbox>>scope is an attempt to instantiate a class named >> Environment, which is nowhere to be found > > > I don't think Classboxes is maintained. For experimentation, you > should dig up the correct older version of Squeak for it -- does > anyone know what that would be? If you want to continue using them > beyond experimentation, then either you need to use it with the old > version of Squeak, or you need to update it personally. > opinion, it't "the module system for Squeak, done right" and i'd like to test to use it myself. I don't know which version of Squeak is the right one, and i wanted to update it fo 3.9 - but i'm not able to infer, which class should i use instead of Environment or how to work around this. > > By the way, there are some other module-related tools that are > actively maintained. Monticello is a great for managing code given > the current Squeak design; it won't prevent clashes between packages, > but at least it will tell you when they happen. Package universes is > my toolkit for helping people manage sets of mutually compatible > packages; given such a toolkit, the need for a good module system is > lessened. > I kind of really like the Squeaks' module and packaging tools, but it just doesn't feel right to me - i don't like to depend of any tools of this kind, without the "real" low-level (or first-order, i'm not sure how to put this in english) facility backing them. > > -Lex > Though i'm not looking for a solution rigth now, but just for a way to get Classboxes going, thank you :) Viktor Svub |
In reply to this post by Gilrandir
Hi!
I am the author of Classboxes. An classbox-ified squeak image is available on http:// www.iam.unibe.ch/~scg/Research/Classboxes/classbox.zip To get into it, a tutorial is available: http://smallwiki.unibe.ch/classboxes/classboxtutorial/ The squeak version of classboxes is not maintained anymore. The main reason stems from the complexity of making all the development tools classbox aware. I made a browser, but the inspector and the debugger need to be adjusted, which represent a significant amount of work... Cheers, Alexandre Am Feb 10, 2007 um 10:21 PM schrieb Gilrandir: > Hi all, > i'm looking for a decent module system for Squeak and i'm playing > with Classboxes - they seem to be ideal - it's still pure > Smalltalk, they work together with Traits, but there seems to be > something broken: in Classbox>>scope is an attempt to instantiate a > class named Environment, which is nowhere to be found - the base > environment seems to be the Smalltalk system dictionary itself, but > i have no idea, which class should replace it in the Classboxes. > The full method source is: > Classbox>>scope > ^ scope ifNil: [ scope _ Environment new] > ...is there a definition of this class somewhere? Or how should it > look like, if it should "replace" the system dictionary for the > different classboxes? > Thanks for any help. > Viktor Svub > -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.cs.tcd.ie/Alexandre.Bergel ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. |
In reply to this post by Gilrandir
The class LocalRebindingTests contains few tests. You will find a
relevant one below. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= testClassExtension5 "self run: #testClassExtension5" "Message sent" | cx1 cx2 | cx1 _ self createClassboxNamed: #CX1. cx2 _ self createClassboxNamed: #CX2. "----" cx1 import: #Object from: system. cx1 createClassNamed: #TestCXA. cx1 createClassNamed: #TestCXB. cx1 createClassNamed: #TestCXC. cx1 addMethod: 'foo ^ TestCXB new foo' for: #TestCXA. cx1 addMethod: 'foo ^ TestCXC new foo' for: #TestCXB. cx1 addMethod: 'foo ^ 1' for: #TestCXC. "----" cx2 import: #Object from: system. cx2 import: #TestCXC from: cx1. cx2 addMethod: 'foo ^ 2' for: #TestCXC. cx2 import: #TestCXA from: cx1. "----" self assert: (cx1 evaluate: 'TestCXA new foo') = 1. self assert: (cx2 evaluate: 'TestCXA new foo') = 2. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Cheers, Alexandre Am Feb 11, 2007 um 6:10 PM schrieb Viktor Svub: > Lex Spoon napsal(a): >> Gilrandir <[hidden email]> writes: >>> Hi all, >>> i'm looking for a decent module system for Squeak and i'm playing >>> with >>> Classboxes - they seem to be ideal - it's still pure Smalltalk, they >>> work together with Traits, but there seems to be something >>> broken: in >>> Classbox>>scope is an attempt to instantiate a class named >>> Environment, which is nowhere to be found >> I don't think Classboxes is maintained. For experimentation, you >> should dig up the correct older version of Squeak for it -- does >> anyone know what that would be? If you want to continue using them >> beyond experimentation, then either you need to use it with the old >> version of Squeak, or you need to update it personally. > I'm pretty sure Classboxes is not maintained anymore, though in my > opinion, it't "the module system for Squeak, done right" and i'd > like to test to use it myself. I don't know which version of Squeak > is the right one, and i wanted to update it fo 3.9 - but i'm not > able to infer, which class should i use instead of Environment or > how to work around this. > >> By the way, there are some other module-related tools that are >> actively maintained. Monticello is a great for managing code given >> the current Squeak design; it won't prevent clashes between packages, >> but at least it will tell you when they happen. Package universes is >> my toolkit for helping people manage sets of mutually compatible >> packages; given such a toolkit, the need for a good module system is >> lessened. > I kind of really like the Squeaks' module and packaging tools, but > it just doesn't feel right to me - i don't like to depend of any > tools of this kind, without the "real" low-level (or first-order, > i'm not sure how to put this in english) facility backing them. > >> -Lex > Though i'm not looking for a solution rigth now, but just for a way > to get Classboxes going, thank you :) > > Viktor Svub > -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.cs.tcd.ie/Alexandre.Bergel ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. |
Free forum by Nabble | Edit this page |