hi!
I'm totally new to smalltalk, although I've heard of it since a lot of time ago. In my arch linux installation, I've found some dificulties running squeak, so I went into pharo once I've discovered they are two free implementations of smalltalk.
Then I wondered myself, How can I do now to put moose into here ? And then I saw that by selecting the proper text in one of the default windows that pharo opens for me, I could have moose (and other subsystems) installed in the image I'm workin on. So I did.
I've found myself pretty impressed at the ease by which the subsystems get installed. I started installing one of the web development systems, and I got thru the whole automated process without any problems.
Then I evaluated the code that installs moose. It started running, and run a lot without a problem too. But at some point, some missing methods poped up a window in which I'm asked what to do. At the firsts of them, I put 'proceed' (because I wouldn't abandon, nor debug because I woudn't know what to do), and it proceeded. At some later pop up errors, I was offered a fourth option namely 'create', I did, and put the method I was asked to put somewhere in systembase or some similar name (I can be more precise if needed or asked to), then a code that showed a 'to be implemented' dummy method or something, and then again, asked to proceed, and and did this process a number of times, until I realized that there were many of them, and I abadoned. And went here, asking for some kind help of you.
I could insist with squeak if that would do better, or go Cuis alternatively (but from what I've read, maybe Cuis would not fit). I've also read that pharo support from moose is in some development phase. Is that true? So if I'm a beginner I should try it until it's ready.
I'm interested in moose mainly, and derived from this, in smalltalk and in any of its free versions if they work. Any hint is welcome. cheers
Haroldo
_______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
Hi Haroldo, welcome to the mailling list and the Moose world. The simplest way to get Moose would be to download it pre-loaded in an image. You can do this from http://www.moosetechnology.org/, there is a button to get the latest image. I you feel like it, later, you could drop a note to say what you were looking for moose in the first place and how you feel about it. It's always nice to have impressions from new members thanks, cheers. nicolas On 02/19/2013 07:07 AM, Haroldo Stenger
wrote:
hi! -- Nicolas Anquetil -- RMod research team (Inria) _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
Hi Nicolas,
Thank you very much for your kind welcome. Although it should be very easy, I'm still not sure how to get the moose image (I downloaded it) into pharo. should something like:
$ pharo moose.image ... work? Or: $ pharo -vm moose.image ... ? I can't find pharo's command line options, although I read the faq and googled a lot. How do I tell it to load the image?
Then, how can I 'test' that effectively moose elements are available and ready to be run? From within pharo, I can't find any 'load image' option. My interest in moose is great. I'm a 25+ years systems programmer, and I have systems written in various languages. I'm sick of duplicated code. I'm tired of lost code because I have to switch the programming language of choice for whatever reason. I want to get real code reengineering into my set of tools, and I came across moose, which as far as I could find out, offers a lot of metrics tools, and also code abstraction, provided you have the proper parsers for your language, and re-write tools in order to really use old but perfectly valid code (which of course can be improved, but starting from a non-nil starting point, or having to reprogram things by hand).
I'm doing some of my codebase parsing in python, for convinience reasons, but I can write the same in smalltalk and MSE if I found out that correctly. I've seen that not many people know here about moose, and except a man in my Linux User Group years ago, I've never seen anyone really into smalltak, nor in my university whatsoever. I get annoyed at the lack of attention that things like moose get in my ecosystem/country/zone. So, that's why I'm trying to get ahead and try something new and thoughtful. I'll report back as long as I can 'moose' my codebase and transform it into new languages, which why not, one of them could be smalltalk. I've been in many many different languages before, as you might guess. Maybe the most similar thing to smalltalk that I've seen is common lisp, because of it being a standard, and a live system with a REPL, and with the CLOS. But I've seen nothing like moose in the common lisp world.
The software systems that I've wrote for a living, are small-business operations-support, mainly for drugstores/pharmacies in Uruguay. Other systems add up, like CV analysis tools for recruiting, etc.
hope that conveys pretty much a part of me and my work. best wishes Haroldo 2013/2/19 Nicolas Anquetil <[hidden email]>
_______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
In reply to this post by Nicolas Anquetil
Hi Nicolas,
Thank you very much for your kind welcome. Although it should be very easy, I'm still not sure how to get the moose image (I downloaded it) into pharo. should something like:
$ pharo moose.image ... work? Or: $ pharo -vm moose.image ... ? I can't find pharo's command line options, although I read the faq and googled a lot. How do I tell it to load the image?
Then, how can I 'test' that effective
2013/2/19 Nicolas Anquetil <[hidden email]>
_______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
In reply to this post by Haroldo Stenger
On 02/19/2013 09:51 AM, Haroldo Stenger
wrote:
Hi Nicolas,OK, it all depends on your favorite OS. I work on Linux, so I took the pharo-whatever.sh shell script that comes with the One-click distribution of pharo, and changed it a bit to accept an image as argument. Then it calls the pharo vm with on the image with the appropriate arguments (on linux there are several of them). I also configured my linux so that it calls automatically this script when I double-click on a .image file. (its basically MIME stuff) For MacOS, I am not too sure how you can do it, but I guess if you replace the default pharo image from the one-click distribution with the moose image, you should not be too far from the solution. May be you need to rename the moose image to give it the same name as the old pharo image ... For windows, I never tried, but I suspect it cannot be much more difficult. There is also a .bat command file in the pharo-one-click distribution and you can probably edit it to run with the moose image. cheers nicolas
-- Nicolas Anquetil -- RMod research team (Inria) _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
In reply to this post by Haroldo Stenger
Welcome Haroldo, Moose is a collection of integrated packages that run on top of Pharo. It includes Pharo with it. You might consider Moose to be a "distribution" of Pharo the same way that Redhat and Arch are distributions of Linux. Smalltalk is made up of two main components. A platform dependent virtual machine and a platform independent image. There are several evolutions of the virtual machine. The main one in use now is the CogVM which added JIT compilation to the StackVM. The image contains all the Smalltalk objects that define the development, debugging and execution environment. The easiest thing for you would be to download the Moose-4.6-One-Click from http://www.moosetechnology.org/download. This contains combined image plus Mac/Linux/Windows versions of the VM. Once you extract moose_suite_4_6.zip, on Linux (I assume) you run Moose.sh (I am on Windows so I click on moose.app\conects\windows\squeak.exe). On 64-bit Linux platforms there is an added complication of needing the ia32 libraries installed, but I'm not familiar with that - and it seems you've already had Pharo running so that should not be a problem for you. You should also be fine using the Moose 4.7 Beta since as you may have just seen posted, this is ready to release just needing final packaging. Moose 4.7 is based off Pharo 1.4. However you will need to join the VM and image together manually as follows... You mention you downloaded something but I'll just go through it from the start. 1. At http://www.moosetechnology.org/download 2. Download moose 4.7 'moose.zip' file. Unzip this to any folder XXX and you see three files. a. moose.image - is the smalltalk program, including pharo & moose additions b. moose.changes - is like a transaction log - it records changes in method source so that if the image crashes before you save it, you can roll forward changes from the last save. c. moose.st - actually I don't know what this does. I've never had to do anything with it directly. 3. Follow the link through to http://www.pharo-project.org/pharo-download Under 'Virtual Machines' choose Cog-linux.zip - which will download nbcog-linux-latest.zip. This is the CogVM with a few extensions named NativeBoost for calling out to C libraries. Drag the entire contents of the VM zip file into the same XXX folder as the image. 4. From your other Pharo installation, find the PharoV10.sources file and also drop that into the XXX folder. 5. Now on Windows I would just double-click NBCogVM.exe. You should be able to determine what to do on Linux from looking at the Moose.sh file from the Moose-4.6-One-Click. hope that helps smooth the way, good luck, cheers -Ben Haroldo Stenger wrote: Hi Nicolas, Thank you very much for your kind welcome. Although it should be very easy, I'm still not sure how to get the moose image (I downloaded it) into pharo. should something like: $ pharo moose.image ... work? Or: $ pharo -vm moose.image ... ? I can't find pharo's command line options, although I read the faq and googled a lot. How do I tell it to load the image? Then, how can I 'test' that effective 2013/2/19 Nicolas Anquetil [hidden email]Hi Haroldo, welcome to the mailling list and the Moose world. The simplest way to get Moose would be to download it pre-loaded in an image. You can do this from http://www.moosetechnology.org/, there is a button to get the latest image. I you feel like it, later, you could drop a note to say what you were looking for moose in the first place and how you feel about it. It's always nice to have impressions from new members thanks, cheers. nicolas On 02/19/2013 07:07 AM, Haroldo Stenger wrote: hi! I'm totally new to smalltalk, although I've heard of it since a lot of time ago. In my arch linux installation, I've found some dificulties running squeak, so I went into pharo once I've discovered they are two free implementations of smalltalk. Then I wondered myself, How can I do now to put moose into here ? And then I saw that by selecting the proper text in one of the default windows that pharo opens for me, I could have moose (and other subsystems) installed in the image I'm workin on. So I did. I've found myself pretty impressed at the ease by which the subsystems get installed. I started installing one of the web development systems, and I got thru the whole automated process without any problems. Then I evaluated the code that installs moose. It started running, and run a lot without a problem too. But at some point, some missing methods poped up a window in which I'm asked what to do. At the firsts of them, I put 'proceed' (because I wouldn't abandon, nor debug because I woudn't know what to do), and it proceeded. At some later pop up errors, I was offered a fourth option namely 'create', I did, and put the method I was asked to put somewhere in systembase or some similar name (I can be more precise if needed or asked to), then a code that showed a 'to be implemented' dummy method or something, and then again, asked to proceed, and and did this process a number of times, until I realized that there were many of them, and I abadoned. And went here, asking for some kind help of you. I could insist with squeak if that would do better, or go Cuis alternatively (but from what I've read, maybe Cuis would not fit). I've also read that pharo support from moose is in some development phase. Is that true? So if I'm a beginner I should try it until it's ready. I'm interested in moose mainly, and derived from this, in smalltalk and in any of its free versions if they work. Any hint is welcome. cheers Haroldo _______________________________________________ Moose-dev mailing [hidden email] -- Nicolas Anquetil -- RMod research team (Inria) _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
hi Ben !
Thank you very much for your kind and detailed tutorial explanation. I'll be following it soon, and reporting back. best Haroldo _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
In reply to this post by Ben Coman
hi again !
2013/2/19 Ben Coman <[hidden email]>
I'm running moose ! I'm happy I could reach this point. Your tutorial works great. Now I'll need to grasp the basics in here. I'll be googling and navigating the moose site. Anyway, would you like to further soomth my way , feel free to :-)
thank you very much Haroldo _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
I'm reading the part of the moose book that teaches how to write a parser.
I need to write such a parser. I have a system written in a proprietary language, for which there are no external parsers unless I write one.
I have a huge file (28MB , 1.5 million lines) which resembles in format a XML file, but it's not really XML, but a variation in tagging program elements. Should I partition the huge file in smaller units before trying to run a MSE parser on it?
Or should the huge grammar parser work? I can approach any of the two paths. I think that once everything is inside the meta-model (which I'll have to write too later) , it is of little importance if the data came from a huge file , or if it came from two thousand smaller files. Am I right?
How big a model can get? Hope this helps helping me :-) Additionally, the semantics of the proprietary language I'm trying to parse is procedural. It's not object oriented.
One of my goals, is to reegineer the procedural code so that it can be abstracted, and made object oriented in some other open source language, like, say, python, or whichever fits. That would involve a 'writer' from the transformations on the model, which is fine.
The transformations on the model might rely on some already existent tools in moose, as well as on hand-made tools adapted to the idiosyncracies of this language. I'm looking for general help on this big picture process. I'm willing to deal with the details myself, and ask for help if I get stuck :-)
best wishes Haroldo
2013/2/21 Haroldo Stenger <[hidden email]> hi again ! _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
Hi Haroldo,
MSE is used for inter-change, and it is typically useful when the parser is external to Moose. In that case, the external parser creates an MSE file with a model (typically a FAMIX model) and then load only the MSE file into Moose. But, if you want to build the parser using PetitParser, you will not need the intermediary format because you will get the model directly into Moose. The size of the model rather depends on the operating system you are using. If you use a Linux or Mac, you should be safe up to a couple millions objects. Cheers, Doru On Feb 21, 2013, at 7:32 AM, Haroldo Stenger <[hidden email]> wrote: > I'm reading the part of the moose book that teaches how to write a parser. > > I need to write such a parser. > > I have a system written in a proprietary language, for which there are no external parsers unless I write one. > > I have a huge file (28MB , 1.5 million lines) which resembles in format a XML file, but it's not really XML, but a variation in tagging program elements. > > Should I partition the huge file in smaller units before trying to run a MSE parser on it? > > Or should the huge grammar parser work? > > I can approach any of the two paths. > > I think that once everything is inside the meta-model (which I'll have to write too later) , it is of little importance if the data came from a huge file , or if it came from two thousand smaller files. Am I right? > > How big a model can get? > > Hope this helps helping me :-) > > Additionally, the semantics of the proprietary language I'm trying to parse is procedural. It's not object oriented. > > One of my goals, is to reegineer the procedural code so that it can be abstracted, and made object oriented in some other open source language, like, say, python, or whichever fits. That would involve a 'writer' from the transformations on the model, which is fine. > > The transformations on the model might rely on some already existent tools in moose, as well as on hand-made tools adapted to the idiosyncracies of this language. > > I'm looking for general help on this big picture process. I'm willing to deal with the details myself, and ask for help if I get stuck :-) > > best wishes > Haroldo > > 2013/2/21 Haroldo Stenger <[hidden email]> > hi again ! > > 2013/2/19 Ben Coman <[hidden email]> > > 1. At http://www.moosetechnology.org/download > 2. Download moose 4.7 'moose.zip' file. Unzip this to any folder XXX and you see three files. > a. moose.image - is the smalltalk program, including pharo & moose additions > b. moose.changes - is like a transaction log - it records changes in method source so that if the image crashes before you save it, you can roll forward changes from the last save. > c. moose.st - actually I don't know what this does. I've never had to do anything with it directly. > 3. Follow the link through to http://www.pharo-project.org/pharo-download > Under 'Virtual Machines' choose Cog-linux.zip - which will download nbcog-linux-latest.zip. This is the CogVM with a few extensions named NativeBoost for calling out to C libraries. > Drag the entire contents of the VM zip file into the same XXX folder as the image. > 4. From your other Pharo installation, find the PharoV10.sources file and also drop that into the XXX folder. > 5. Now on Windows I would just double-click NBCogVM.exe. You should be able to determine what to do on Linux from looking at the Moose.sh file from the Moose-4.6-One-Click. > > hope that helps smooth the way, > > I'm running moose ! I'm happy I could reach this point. Your tutorial works great. > > Now I'll need to grasp the basics in here. I'll be googling and navigating the moose site. Anyway, would you like to further soomth my way , feel free to :-) > > thank you very much > > Haroldo > > > _______________________________________________ > Moose-dev mailing list > [hidden email] > https://www.iam.unibe.ch/mailman/listinfo/moose-dev -- www.tudorgirba.com "When people care, great things can happen." _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
In reply to this post by Haroldo Stenger
Haroldo Stenger wrote:
Great to hear of your success. I'll be sure to chime in when I think I can add value, but I actually don't use most of the software analysis parts of Moose - which it seems you are most interested in. Although I would probably find them useful my focus has been elsewhere. For me Moose just happened to be a nice integration of Glamour, Mondrian/Roassal & Magritte.hi again ! 2013/2/19 Ben Coman [hidden email]** 1. At http://www.moosetechnology.org/download 2. Download moose 4.7 'moose.zip' file. Unzip this to any folder XXX and you see three files. a. moose.image - is the smalltalk program, including pharo & moose additions b. moose.changes - is like a transaction log - it records changes in method source so that if the image crashes before you save it, you can roll forward changes from the last save. c. moose.st - actually I don't know what this does. I've never had to do anything with it directly. 3. Follow the link through to http://www.pharo-project.org/pharo-download Under 'Virtual Machines' choose Cog-linux.zip - which will download nbcog-linux-latest.zip. This is the CogVM with a few extensions named NativeBoost for calling out to C libraries. Drag the entire contents of the VM zip file into the same XXX folder as the image. 4. From your other Pharo installation, find the PharoV10.sources file and also drop that into the XXX folder. 5. Now on Windows I would just double-click NBCogVM.exe. You should be able to determine what to do on Linux from looking at the Moose.sh file from the Moose-4.6-One-Click. hope that helps smooth the way,I'm running moose ! I'm happy I could reach this point. Your tutorial works great. Now I'll need to grasp the basics in here. I'll be googling and navigating the moose site. Anyway, would you like to further soomth my way , feel free to :-) thank you very much Haroldo cheers -ben _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
In reply to this post by Nicolas Anquetil
Welcome
report them to this list and we will fix them. Now you should be precise. Because so far we cannot do anything.
Proceed can only work for a warning, when you get an error such as division by zero proceed will not magically fix it :).
You do not have to do that. And do not expect Moose to run on them. Moose is a complex system.
No :) Pharo 2.0 is out and it is solid and excellent. Now we have certainly some little glitches there and there and they will be fixed when reported.
My personal experience is that software on my mac crash more than Pharo and in Pharo I know why (I tend to do really crazy things with it).
Now the first step can be perceived as something high. So go slowly, read pharo by example, ask questions to the mailing-list here or pharo-users, watch the pharo casts. If you do that deeply in 3 months from that you will see the world differently :). At least this is what a C# hacker from ukraina told me :). Stef
_______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
Free forum by Nabble | Edit this page |