Re: [Pharo-project] another fun case for Linkedadd:
Thanks for the info :) yeah, i think its protocol could have two entry points: - #add: for adding an object to list - #addLink: for linking a link to list so, that, #add: always creates a new instance of ValueLink , without asking object to do #asLink and then sends #addLink: , which does the rest. I don't quite see the appeal in an approach which both has a more complicated protocol, and is backwards-incompatible. Cheers, Henry PS. We DID consider other possible solutions before deciding to add yet another as... method to Object ___ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Re: [Pharo-project] infinite loop when Locale changed
On May 7, 2010, at 7:20 PM, Hilaire Fernandes wrote: What is the use to call StrikeFont localeChanged. It is provocing an infinite loop when Locale is changed it comes from the StrikeFont localeChanged message What is supposed to do StrikeFont localeChanged ? Hilaire Locale classlocaleChanged #(#ParagraphEditor) do: [ :key | Smalltalk globals at: key ifPresent: [ :class | class initialize ] ]. StrikeFont localeChanged. Project localeChanged May be to load ohter fonts for chinses japanese support? http://code.google.com/p/pharo/issues/detail?id=2391 ___ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project ___ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Re: [Pharo-project] is MVC package somewhere?
Hi, AFAIK, MVC was removed from Pharo 1.1... I wonder where is the extracted package. You can find some parts in the pharo repository. Now it will not be working. Ideally we would like to have a MVC package loading and working in Pharo but not at the price of isMorphic everywhere and Smalltalk at: #MVCClass ifAbsent:... Stef ___ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
[Pharo-project] could we start to organize MetacelloRepository?
Hi Dale and others I would like to have a Pharo1.0 folder in the MetacelloRepository and ideally all the configurationOf... inside should work for Pharo 1.0. How can we proceed to get that. In the future we should also have a process to avoid that we get junk inside. any idea (I was thinking about an hudson server that would validate the configuration automatically) Stef ___ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Re: [Pharo-project] Newbie: How to load and use HTTP parser
On May 7, 2010, at 5:07 PM, Andrei Stebakov wrote: Hi Sent this message to the Pharo-users group, but no response for a couple of days, so trying it here ;) I have a simple task of parsing some html content in Pharo (loading an html page using HTTPSocket and retrieving useful info from it). Having browsed for an html parser in my current one-click Pharo 1.0 image, I couldn't find one. How do I find/download a (the) HTML parser? I know that there is a HTML. Check the squeaksource package HTML. If it works let us know else it should be fixed for 1.0 we should publish it in Metacello format What's the general routine of discovering and installing packages in Pharo? I believe in Squeak there was a menu to explore and download packages, I couldn't find it in Pharo though. We are in the process of building an infrastructure for that. Thank you, Andrei ___ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project ___ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Re: [Pharo-project] new gettext package
Excellent! We should decide if we want to maintain it or not. Then we can create a package for it. Stef On May 7, 2010, at 4:17 PM, Hilaire Fernandes wrote: I have uploaded a new version of the gettext package. I have removed a few classes used for the itnernal translator. So now, only gettext based catalog messages is used. Philipp, I have added a StringtranslateTo: aLocale you can used from Seaside application. If we agree on that protocole, we can have in Pharo-Cire two String messages defined as follow: Stringtranslated answer the receiver translated to the default language ^ NaturalLanguageTranslator translate: self StringtranslatedTo: localeID answer the receiver translated to the given locale id ^ NaturalLanguageTranslator translate: self toLocale: localeID Then a dummy class NaturalLanguageTranslator withn two class messages: NaturalLanguageTranslator classtranslate: aString ^ aString NaturalLanguageTranslator classtranslate: aString toLocale: localeID ^ aString NaturalLanguageTranslator class is redefined in the Gettext package. It should be possible to simplify the whole protocole after removing the LanguageEditor. This one is totaly unused, and it does not make sense to me to use Smalltalk to translated string, there are better third party tool to do that. Can I remove the LanguageEditor? Hilaire ___ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project ___ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Re: [Pharo-project] Help System
testAbsoluteAuthority self debug: #testAbsoluteAuthority test: #URI about: 'absolute uri with authority' tag: #(network ) | uri absoluteURIString | An absolute URI with authority. An absolute URI starts with a scheme: absoluteURIString := 'http://www.pharo-project.org'. uri := URI fromString: absoluteURIString. self assert: (uri asString = absoluteURIString). self assert: (uri isAbsolute). self assert: (uri authority asString = 'www.pharo-project.org'). self deny: (uri isOpaque). - create an entry in the HelpSystem URI | class comment of URI | absolute uri with authority V testAbsoluteAuthority self debug: #testAbsoluteAuthority test: #URI about: 'absolute uri with authority' tag: #(network ) | uri absoluteURIString | An absolute URI with authority. An absolute URI starts with a scheme: absoluteURIString := 'http://www.pharo-project.org'. uri := URI fromString: absoluteURIString. self assert: (uri asString = absoluteURIString). self assert: (uri isAbsolute). self assert: (uri authority asString = 'www.pharo-project.org'). self deny: (uri isOpaque). | If there is a another test tagged with URI it should show up below But may be we could do that based on setting because everything is there. Stef ___ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Re: [Pharo-project] Help System
Yes in fact we do not really need the helpSystem for that since Setting offer all the necessary behavior. But let us give a try. the KEY POINT is use and improve tests = get executable and always in sync documentation = get better tests because if I know that my tests are used for documentation I will spend time on them. On May 7, 2010, at 1:59 PM, laurent laffont wrote: On Fri, May 7, 2010 at 1:25 AM, Torsten Bergmann asta...@gmx.de wrote: In addition to the story around tests, Could you be a little bit more specific what your wishes are for using tests within the help documentation? It's still not clear to me what you expect here. Hi Torsten, IIRC this idea came from a discussion I had with Stef. There's some tests that show how to use the class it tests, that can make a good documentation for free. For example (may not be the best): XMLParserTesttestParsing | xmlDocument root firstPerson numberOfPersons | xmlDocument := XMLDOMParser parseDocumentFrom: self addressBookXML readStream. self assert: (xmlDocument isKindOf: XMLDocument). root := xmlDocument root. self assert: (root class == XMLElement). the tag has to be a symbol! self assert: (root firstTagNamed: 'person') isNil. self assert: (root firstTagNamed: 'addressbook') isNil. self assert: (root firstTagNamed: #addressbook) == root. numberOfPersons := 0. root tagsNamed: #person do: [:p | numberOfPersons := numberOfPersons + 1]. self assert: numberOfPersons = 4. firstPerson := root firstTagNamed: #person. self assert: (firstPerson attributeAt: #'employee-number') = 'A'. self assert: (firstPerson attributeAt: #'family-name') = 'Gates'. self assert: (firstPerson attributeAt: #'first-name') = 'Bob'. Just reading it you know how to use XMLDOMParser. We don't need to add comments to understand it. So the idea is to tag this test to tell that we can learn from it. Then HelpSystem can built the documentation of XML-Parser package just by collecting the tests. Laurent Laffont Torsten do you think we could use book.pharo-project.org to populate the help? Dont know how the pier books are implemented. Is it possible to access/parse the contents either on the server or directly online from a client image? If so then yes, as the following example demonstrates: |topic day url sub| topic := HelpTopic named: 'Last week on Squeak IRC'. 0 to: 7 do: [:index | day := (Date today subtractDays: index) printFormat: #(3 2 1 $. 1 2 2). url := 'http://tunes.org/~nef/logs/squeak/' , day. sub := HelpTopic title: day contents: (HTTPLoader default retrieveContentsFor: url) contents. topic addSubtopic: sub. ]. HelpBrowser openOn: topic Bye T. -- GRATIS für alle GMX-Mitglieder: Die maxdome Movie-FLAT! Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome01 ___ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project ___ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project ___ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Re: [Pharo-project] another fun case for Linkedadd:
On Sat, 8 May 2010, Igor Stasenko wrote: On 7 May 2010 23:47, Lukas Renggli reng...@gmail.com wrote: He had the idea that it would be nice to be able to add any object to a LinkedList, instead of just Link subclasses. (IIRC, 'like you can in Ruby' ;)) So we added ValueLink as the common pattern for A link with an object in it, which is now the default if you add an object which itself is not a link. Makes it much more convenient to actually use a LinkedList, ref. f.ex. the Stack implementation. LinkedList is used internally by the process scheduler to handle processes, I don't think that it is ment to be used as a public collection class. For probably all applications it is slower and uses more memory than an OrderedCollection. +1. OrderedCollection's addLast/removeFirst/removeLast, is enough to use them as lists. No. These methods make it good enough (or at least they should, but we know that they don't) to use OrderedCollections as stacks, queues or double-ended queues (which are the common cases), but adding an element before or after another takes O(n) time, compared to lists' O(1). Though this feature can only be used if we allow the users to reference the links directly, otherwise lists have no advantage. About performance, i am little concerned. Linked lists is good , that is costs you a constant time for each new element you adding. While for OrderedCollections it vary depending on container state. In most cases, it costs you as little as for linked lists, but when contained is not big enough to hold all elements - then it has to grow and consuming a lot more time comparing to adding a previous element. That would be true if there was no GC. And as Ralph pointed out, the amortized cost of adding/removing elements to/from the ends of an OrderedCollection is O(1) (or at least it should be, but it's not). Levente Lukas -- Lukas Renggli www.lukas-renggli.ch ___ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project -- Best regards, Igor Stasenko AKA sig. ___ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project ___ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
[Pharo-project] [update 1.1] #11338
11338 - - Issue 2392: user and password settings can t be changed. Thanks alain - Issue 493:[Pending Etoy Cleaning] Morph forwardDirection. Thanks alain :) Stef ___ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
[Pharo-project] We need a UI for Metacello/Loader
Hi folks. First of all let me clarify that all this email is though for new comers. I think Metacello is a wonderful project and that's why we are adopting it in Pharo. I know Metacello has it's own UI: http://code.google.com/p/metacello/wiki/MetacelloTools I also know there is Metaceller done by Doru. But I think that the features Esteban Lorenzano implemented in GoferProjectLoader are a MUST for a new comer. You can read them here: http://www.smallworks.com.ar/en/community/GoferProjectLoader Now...he doesn't plan to do a UI for that. My question if it would be a good idea to extend Metaceller or Metacello-OB so that to uses GoferProjectLoader features. Not necessary for Metacello 1.0 but maybe for 1.1. I think this is important, at least for Pharo. We don't have Universe neither SqueakMap anymore. Cheers Mariano ___ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
[Pharo-project] [update 1.1] #11339
11339 - - Issue 2390: [ENH] Added CompiledMethodisDeprecated - adding NumberroundDownTo: from Squeak. Stef ___ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
[Pharo-project] add return its argument
if somebody wants to check that the fixes I made are ok and that at:put: and add: return their arguments addReturnValue.1.cs Description: Binary data Stef___ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Re: [Pharo-project] [Metacello] We need a UI for Metacello/Loader
Hi, Could you detail a bit the requirements? Cheers, Doru On 8 May 2010, at 16:53, Mariano Martinez Peck wrote: Hi folks. First of all let me clarify that all this email is though for new comers. I think Metacello is a wonderful project and that's why we are adopting it in Pharo. I know Metacello has it's own UI: http://code.google.com/p/metacello/wiki/MetacelloTools I also know there is Metaceller done by Doru. But I think that the features Esteban Lorenzano implemented in GoferProjectLoader are a MUST for a new comer. You can read them here: http://www.smallworks.com.ar/en/community/GoferProjectLoader Now...he doesn't plan to do a UI for that. My question if it would be a good idea to extend Metaceller or Metacello-OB so that to uses GoferProjectLoader features. Not necessary for Metacello 1.0 but maybe for 1.1. I think this is important, at least for Pharo. We don't have Universe neither SqueakMap anymore. Cheers Mariano -- www.tudorgirba.com The coherence of a trip is given by the clearness of the goal. ___ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Re: [Pharo-project] add return its argument
That looks good to me. If no additional tests break after loading it, I guess it should be clear to integrate. It is important to have a uniform protocol. We should do the same for #nextPut: and #nextPutAll: Lukas 2010/5/8 stephane ducasse stephane.duca...@free.fr: if somebody wants to check that the fixes I made are ok and that at:put: and add: return their arguments Stef ___ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project -- Lukas Renggli www.lukas-renggli.ch ___ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
[Pharo-project] NetNameResolver in Pharo 1.1
In Pharo 1.0 there were some problems with the network stack (namely the NetNameResolver) and the IP6 code was reverted shortly before release, see the following issue for details: http://code.google.com/p/pharo/issues/detail?id=1884 Today I was checking with Stef for the presence of these problems in Pharo 1.1, but we could not reproduce neither on Mac, Windows nor Linux. Does anybody have problems with the following expressions in Pharo 1.1? NetNameResolver localHostAddress. NetNameResolver addressForName: 'www.yahoo.com'. Or are we doing the wrong thing to reproduce? Lukas -- Lukas Renggli www.lukas-renggli.ch ___ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Re: [Pharo-project] We need a UI for Metacello/Loader
I really like that estaban used Gofer so like that we have only one entry point! Excellent! Stef On May 8, 2010, at 4:53 PM, Mariano Martinez Peck wrote: Hi folks. First of all let me clarify that all this email is though for new comers. I think Metacello is a wonderful project and that's why we are adopting it in Pharo. I know Metacello has it's own UI: http://code.google.com/p/metacello/wiki/MetacelloTools I also know there is Metaceller done by Doru. But I think that the features Esteban Lorenzano implemented in GoferProjectLoader are a MUST for a new comer. You can read them here: http://www.smallworks.com.ar/en/community/GoferProjectLoader Now...he doesn't plan to do a UI for that. My question if it would be a good idea to extend Metaceller or Metacello-OB so that to uses GoferProjectLoader features. Not necessary for Metacello 1.0 but maybe for 1.1. I think this is important, at least for Pharo. We don't have Universe neither SqueakMap anymore. Cheers Mariano ___ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project ___ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Re: [Pharo-project] add return its argument
Tx! Soon in the update. On May 8, 2010, at 5:49 PM, Lukas Renggli wrote: That looks good to me. If no additional tests break after loading it, I guess it should be clear to integrate. It is important to have a uniform protocol. We should do the same for #nextPut: and #nextPutAll: Lukas 2010/5/8 stephane ducasse stephane.duca...@free.fr: if somebody wants to check that the fixes I made are ok and that at:put: and add: return their arguments Stef ___ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project -- Lukas Renggli www.lukas-renggli.ch ___ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project ___ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
[Pharo-project] Fwd: [update 1.1] #11340
11340 - - Issue 2393: SocketStream changes from Trunk. Thanks lukas and Squeak :) Stef ___ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Re: [Pharo-project] [Metacello] We need a UI for Metacello/Loader
A GUI is fine, but Esteban appears (IMHO - only he can speak for himself and his plans) to be tackling the void of a scriptable package system. By analogy to my evolving home away from Redmond, a graphical package manager is great when I want one thing; it starts to break down when somebody is telling me how to install all the packages I need to compile something from source, in which case I want a shell script with a bunch of apt-get lines. Esteban's code is probably going to be of greatest value to someone who begins to use Pharo and then is faced with the need to load many external packages into future images. One of the few things that Microsoft has gotten right over the years is COM versioning; it supports versioning by pointedly not supporting it. Want a new version? Make a new interface. That is exactly how I approach my own code. The only time I ever have to mess with it is to periodically make sure I have a loadable copy of my work, and (the big one) when it comes time to build a new image. The things that need to be done are: (1) find all code that I appear to have touched, so I won't loose work; (2) save all of my work in ONE STEP (maybe fewerg) (3) provide ONE THING that I load into my next image, and it loads everything else in ONE STEP, with the ability to break it down if things go wrong. I don't care about version of my code; I just need to save its current state and load that into the next image. For external packages, I hope not to care much about versions. I might want to specify a given verion of Seaside, and after that, I will typically want the latest of a given list of packages. When somebody lets me down, I will want to override that version in specific cases. My evolving solution is in the form of Migrate, which I hope to be able to simplify over time thanks to Loader. GUI tools usually make it easy to spend a long time doing a bunch of small steps, such that what could be a simple task turns into an error prone nightmare. In general, GUIs are great for tinkering, and command lines and scripting are good for automation. We can have all the GUIs we want, but please note the importance of scripting. Bill -Original Message- From: pharo-project-boun...@lists.gforge.inria.fr [mailto:pharo-project-boun...@lists.gforge.inria.fr] On Behalf Of Tudor Girba Sent: Saturday, May 08, 2010 10:48 AM To: metace...@googlegroups.com Cc: Pharo Development Subject: Re: [Pharo-project] [Metacello] We need a UI for Metacello/Loader Hi, Could you detail a bit the requirements? Cheers, Doru On 8 May 2010, at 16:53, Mariano Martinez Peck wrote: Hi folks. First of all let me clarify that all this email is though for new comers. I think Metacello is a wonderful project and that's why we are adopting it in Pharo. I know Metacello has it's own UI: http://code.google.com/p/metacello/wiki/MetacelloTools I also know there is Metaceller done by Doru. But I think that the features Esteban Lorenzano implemented in GoferProjectLoader are a MUST for a new comer. You can read them here: http://www.smallworks.com.ar/en/community/GoferProjectLoader Now...he doesn't plan to do a UI for that. My question if it would be a good idea to extend Metaceller or Metacello-OB so that to uses GoferProjectLoader features. Not necessary for Metacello 1.0 but maybe for 1.1. I think this is important, at least for Pharo. We don't have Universe neither SqueakMap anymore. Cheers Mariano -- www.tudorgirba.com The coherence of a trip is given by the clearness of the goal. ___ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project ___ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
[Pharo-project] [update 1.1] #11340
11340 - - Issue 2393: SocketStream changes from Trunk. Thanks lukas and Squeak :) Stef ___ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
[Pharo-project] [update 1.1] #11341
11341 - - Issue 2171: add consistency in MC, Exception and other and a lot more like at:put: Stef and Lukas eating black chocolate in the cold spring (WTF with the weather. no sunny seaside trip today) ___ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Re: [Pharo-project] [Metacello] We need a UI for Metacello/Loader
On Sat, May 8, 2010 at 5:48 PM, Tudor Girba tudor.gi...@gmail.com wrote: Hi, Could you detail a bit the requirements? Hi Doru. Basically, you should be able to use the GoferProjectLoader actions from a UI. In this link you can see all the actions: http://www.smallworks.com.ar/en/community/GoferProjectLoader Look where it says Usage. I past here them just in case: list Answers a collection with all available projects on configured repositories search: Answers a collection of projects matching the string managed Answers a collection of currently managed project names availableVersionsOf:Answers a collection of available versions of project. WARNING: this command actually installs the configuration package if not present versionOf: Answer current version of project attributesOf: Answer current attributes of project. The answer is a Dictionary with following keys: Author, Timestamp, Description repository: Adds a repository to current list of repositories, this repostory works just for this instance of GoferProjectLoader repository:username:password: Same to #repository:, but also adds user identification rememberRepository: Adds a persistent repository to current list of repositories rememberRepository:username:password: Same to #rememberRepository:, but also adds user identification removeRepository: Removes a persistent repository load: load a project load:group: load latest stable version of project, just the selected groups. A group can be a string (e.g. ’default’) or a collection of strings (e.g. #(’Core’ ’Test’) load:version: load a specified version of project load:version:group: load a specified version and group(s) of project update Updates all configuration files for managed projects, and answers a list of new versions available for each project (if there is new versions) update: Update the configuration for specified project upgrade Upgrade all managed projects with new versions if any available. *Be careful, this option can lead to a unusable image* upgrade: Upgrade specified project with latest stable version if it is newer than the version installed upgrade:version: Upgrade specified project with specified version upgrade:version:group: Upgrade specified project with specified version and group(s) Of course, we can release a first version with the most important actions and then a second or third with the rest. Cheers Mariano Cheers, Doru On 8 May 2010, at 16:53, Mariano Martinez Peck wrote: Hi folks. First of all let me clarify that all this email is though for new comers. I think Metacello is a wonderful project and that's why we are adopting it in Pharo. I know Metacello has it's own UI: http://code.google.com/p/metacello/wiki/MetacelloTools I also know there is Metaceller done by Doru. But I think that the features Esteban Lorenzano implemented in GoferProjectLoader are a MUST for a new comer. You can read them here: http://www.smallworks.com.ar/en/community/GoferProjectLoader Now...he doesn't plan to do a UI for that. My question if it would be a good idea to extend Metaceller or Metacello-OB so that to uses GoferProjectLoader features. Not necessary for Metacello 1.0 but maybe for 1.1. I think this is important, at least for Pharo. We don't have Universe neither SqueakMap anymore. Cheers Mariano -- www.tudorgirba.com The coherence of a trip is given by the clearness of the goal. ___ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
[Pharo-project] [update 1.1] #11343
11343 - - nextPut: returns its argument. rewrote all implementors of #nextPut: and #nextPutAll: to return their argument. Thanks lukas. Stef ___ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Re: [Pharo-project] [Metacello] We need a UI for Metacello/Loader
I don't think a graphical user interface is what is important now. If you look at other package management systems, APT or RubyGems, they work very well just from the command line. With GoferProjectLoader we basically have this command line interface. What is much more important is a process. We need universes for the different Pharo versions and for the different maturity/compatibility states of packages (e.g., unstable, testing, and stable). We need somebody who sets up a process and keeps it running, and we also need package maintainers. We can list packages on a website (like packages.debian.org). This should make it possible for anybody to find the desired package and install it. Of course, a GUI would be nice to have. But without a high-quality package repository, it will be only of little use. I don't have much time left at the moment, but I can assist somebody who wants to get such a system up and running. I believe its going to be a very important step for Pharo. Cheers, Adrian On May 8, 2010, at 18:54 , Mariano Martinez Peck wrote: On Sat, May 8, 2010 at 5:48 PM, Tudor Girba tudor.gi...@gmail.com wrote: Hi, Could you detail a bit the requirements? Hi Doru. Basically, you should be able to use the GoferProjectLoader actions from a UI. In this link you can see all the actions: http://www.smallworks.com.ar/en/community/GoferProjectLoader Look where it says Usage. I past here them just in case: list Answers a collection with all available projects on configured repositories search: Answers a collection of projects matching the string managed Answers a collection of currently managed project names availableVersionsOf:Answers a collection of available versions of project. WARNING: this command actually installs the configuration package if not present versionOf: Answer current version of project attributesOf: Answer current attributes of project. The answer is a Dictionary with following keys: Author, Timestamp, Description repository: Adds a repository to current list of repositories, this repostory works just for this instance of GoferProjectLoader repository:username:password: Same to #repository:, but also adds user identification rememberRepository: Adds a persistent repository to current list of repositories rememberRepository:username:password: Same to #rememberRepository:, but also adds user identification removeRepository: Removes a persistent repository load: load a project load:group: load latest stable version of project, just the selected groups. A group can be a string (e.g. ’default’) or a collection of strings (e.g. #(’Core’ ’Test’) load:version: load a specified version of project load:version:group: load a specified version and group(s) of project update Updates all configuration files for managed projects, and answers a list of new versions available for each project (if there is new versions) update: Update the configuration for specified project upgrade Upgrade all managed projects with new versions if any available. *Be careful, this option can lead to a unusable image* upgrade: Upgrade specified project with latest stable version if it is newer than the version installed upgrade:version: Upgrade specified project with specified version upgrade:version:group: Upgrade specified project with specified version and group(s) Of course, we can release a first version with the most important actions and then a second or third with the rest. Cheers Mariano Cheers, Doru On 8 May 2010, at 16:53, Mariano Martinez Peck wrote: Hi folks. First of all let me clarify that all this email is though for new comers. I think Metacello is a wonderful project and that's why we are adopting it in Pharo. I know Metacello has it's own UI: http://code.google.com/p/metacello/wiki/MetacelloTools I also know there is Metaceller done by Doru. But I think that the features Esteban Lorenzano implemented in GoferProjectLoader are a MUST for a new comer. You can read them here: http://www.smallworks.com.ar/en/community/GoferProjectLoader Now...he doesn't plan to do a UI for that. My question if it would be a good idea to extend Metaceller or Metacello-OB so that to uses GoferProjectLoader features. Not necessary for Metacello 1.0 but maybe for 1.1. I think this is important, at least for Pharo. We don't have Universe neither SqueakMap anymore. Cheers Mariano -- www.tudorgirba.com The coherence of a trip is given by the clearness of the goal. ___ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project ___ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Re: [Pharo-project] [Metacello] We need a UI for Metacello/Loader
+1 I don't think a graphical user interface is what is important now. If you look at other package management systems, APT or RubyGems, they work very well just from the command line. With GoferProjectLoader we basically have this command line interface. What is much more important is a process. We need universes for the different Pharo versions and for the different maturity/compatibility states of packages (e.g., unstable, testing, and stable). We need somebody who sets up a process and keeps it running, and we also need package maintainers. We can list packages on a website (like packages.debian.org). This should make it possible for anybody to find the desired package and install it. Of course, a GUI would be nice to have. But without a high-quality package repository, it will be only of little use. I don't have much time left at the moment, but I can assist somebody who wants to get such a system up and running. I believe its going to be a very important step for Pharo. ___ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Re: [Pharo-project] Newbie: How to load and use HTTP parser
You can try to ask (this or other questions) in Russian Smalltalk User Group also: http://groups.google.com/group/sugr/ :) 2010/5/7 Andrei Stebakov lisper...@gmail.com Hi Sent this message to the Pharo-users group, but no response for a couple of days, so trying it here ;) I have a simple task of parsing some html content in Pharo (loading an html page using HTTPSocket and retrieving useful info from it). Having browsed for an html parser in my current one-click Pharo 1.0 image, I couldn't find one. How do I find/download a (the) HTML parser? What's the general routine of discovering and installing packages in Pharo? I believe in Squeak there was a menu to explore and download packages, I couldn't find it in Pharo though. Thank you, Andrei ___ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project -- Dennis Schetinin ___ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Re: [Pharo-project] [vwnc] Survey: Changing method names in JNIPort?
Hi Joachim, As far as I know, Pharo now supports underscores in method names. Am I wrong? Cheers, Doru On 8 May 2010, at 21:31, Joachim Geidel wrote: Hello everybody! I am preparing to port JNIPort (the Smalltalk-to-Java interface) to Squeak and Pharo. However, there is a complication: Squeak and Pharo don't accept underscores in method names, while Dolphin and VisualWorks have no problem with underscores. JNIPort contains many methods with underscores. If you are a JNIPort user, I would like to hear what you think about the ways to solve this problem. Opinions from non-users are welcome, too, of course. I currently see two options: 1. I can keep the versions for all platforms in sync. Obviously, I would prefer this solution, as it is less work for me. On the other hand, users of JNIPort would have to get used to new naming conventions: - All underscores would be dropped from method names. As method names for generated methods include the type names of the arguments, this can lead to somewhat ugly looking names, as the usual camel case notation is not necessarily respected. E.g., get_int: would be replaced by getint: get_Object:String: would be replaced by getObject:String: In those simple cases, the new notation doesn't look much worse than before. - Static fields in Java tend to have uppercase names with underscores, which I would have to drop, too: get_MAX_VALUE - getMAXVALUE set_MAX_VALUE: - setMAXVALUE: This has a small potential for naming conflicts if two field names in the same class differ only by underscores. But you can always use lower level methods for accessing a field if the generated method is ambiguous. - For names of inner classes which contain a $ character, I can't replace $ by _ anymore, and would use 0 (zero) instead - it doesn't look much worse than the $ character in Java, and I can't come up with something nicer which is a legal character in a selector. 2. I could leave the VisualWorks version as it is, and maintain a second code branch for Squeak and Pharo. I don't like this solution, as it means more work for me. For JNIPort users, it would mean that their code isn't easily portable to Squeak. OTOH, it would preserve the current more- or-less nice-looking method names in generated classes. So, what do you think? Joachim Geidel ___ vwnc mailing list v...@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/vwnc -- www.tudorgirba.com Sometimes the best solution is not the best solution. ___ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
[Pharo-project] new unstable on gforge
https://gforge.inria.fr/frs/download.php/26970/PharoCore-1.1-11343-UNSTABLE.zip ___ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Re: [Pharo-project] [vwnc] Survey: Changing method names in JNIPort?
On Sat, May 8, 2010 at 9:52 PM, Mariano Martinez Peck marianop...@gmail.com wrote: On Sat, May 8, 2010 at 9:39 PM, stephane ducasse stephane.duca...@gmail.com wrote: On May 8, 2010, at 9:31 PM, Joachim Geidel wrote: Hello everybody! I am preparing to port JNIPort (the Smalltalk-to-Java interface) to Squeak and Pharo. However, there is a complication: Squeak and Pharo don't accept underscores in method names, Pharo does... Only Pharo 1.1. Sorry. I forgot to say that I have the same problem with GLORP. For the moment, what I do for Pharo 1.0 is to load an ugly hack: (HTTPSocket httpGet: ' http://www.assembla.com/spaces/SqueakDBX/documents/dvVhPSvuCr3OqXeJe5aVNr/download/underscore.cs') readStream fileIn You can see that .cs if you want. Cheers Mariano while Dolphin and VisualWorks have no problem with underscores. JNIPort contains many methods with underscores. If you are a JNIPort user, I would like to hear what you think about the ways to solve this problem. Opinions from non-users are welcome, too, of course. I currently see two options: 1. I can keep the versions for all platforms in sync. Obviously, I would prefer this solution, as it is less work for me. On the other hand, users of JNIPort would have to get used to new naming conventions: - All underscores would be dropped from method names. As method names for generated methods include the type names of the arguments, this can lead to somewhat ugly looking names, as the usual camel case notation is not necessarily respected. E.g., get_int: would be replaced by getint: get_Object:String: would be replaced by getObject:String: In those simple cases, the new notation doesn't look much worse than before. - Static fields in Java tend to have uppercase names with underscores, which I would have to drop, too: get_MAX_VALUE - getMAXVALUE set_MAX_VALUE: - setMAXVALUE: This has a small potential for naming conflicts if two field names in the same class differ only by underscores. But you can always use lower level methods for accessing a field if the generated method is ambiguous. - For names of inner classes which contain a $ character, I can't replace $ by _ anymore, and would use 0 (zero) instead - it doesn't look much worse than the $ character in Java, and I can't come up with something nicer which is a legal character in a selector. 2. I could leave the VisualWorks version as it is, and maintain a second code branch for Squeak and Pharo. I don't like this solution, as it means more work for me. For JNIPort users, it would mean that their code isn't easily portable to Squeak. OTOH, it would preserve the current more-or-less nice-looking method names in generated classes. So, what do you think? Joachim Geidel ___ vwnc mailing list v...@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/vwnc ___ vwnc mailing list v...@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/vwnc ___ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Re: [Pharo-project] Newbie: How to load and use HTTP parser
On 08.05.2010 09:32, Stéphane Ducasse wrote: On May 7, 2010, at 5:07 PM, Andrei Stebakov wrote: Hi Sent this message to the Pharo-users group, but no response for a couple of days, so trying it here ;) I have a simple task of parsing some html content in Pharo (loading an html page using HTTPSocket and retrieving useful info from it). Having browsed for an html parser in my current one-click Pharo 1.0 image, I couldn't find one. How do I find/download a (the) HTML parser? I know that there is a HTML. Check the squeaksource package HTML. http://www.squeaksource.com/htmlcssparser.html Cheers Philippe ___ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Re: [Pharo-project] Newbie: How to load and use HTTP parser
http://lists.squeakfoundation.org/pipermail/beginners/2010-April/006986.html 2010/5/7 Andrei Stebakov lisper...@gmail.com: Hi Sent this message to the Pharo-users group, but no response for a couple of days, so trying it here ;) I have a simple task of parsing some html content in Pharo (loading an html page using HTTPSocket and retrieving useful info from it). Having browsed for an html parser in my current one-click Pharo 1.0 image, I couldn't find one. How do I find/download a (the) HTML parser? What's the general routine of discovering and installing packages in Pharo? I believe in Squeak there was a menu to explore and download packages, I couldn't find it in Pharo though. Thank you, Andrei ___ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project ___ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
[Pharo-project] (igor) Help for 1.1: condenseChanges does not work anymore
Hi We cannot do Smalltalk condenseChanges and this is a showStopper for 1.1 beta. http://code.google.com/p/pharo/issues/detail?id=2367 After some hours of debugging, Lukas has the intuition that this is related to methodTrailer. I did some stupid tests... and apparently the problem occured between 7 and 11128 If you take 7 and run Utilities readServerUpdatesThrough: 3922 saveLocally: true updateImage: true and in a 11120 image Smalltalk condenseChanges is working. So the problem is somehow related to methodTrailer. Igor can you have a look? Stef 8 - Issue 1701: ArchiveViewer now works on Pharo - Issue 1679: InputEventSensor refers to defunct class InputSensor - Issue 1703: Closing last windows raise error - Issue 1698: Enhancement: trunk #collect:as: is a must 9 - Issue 1711: Cleaning host menu' 11120 - Cleaning some tests. #testSort, #testRestoreDefaultFonts - Issue 1691: Adding some tests for formalParameterAt: from nicolas - Moved FixedIdentitySet to Collections-Unordered - Better comments. - Better shuffledBy: - Issue 1713: Clean Duplication in widthOfString:from:to: 11121 - Issue 1690: New Method Trailer part 1 (cs 1_ and 2_) 11122 - Issue 1690: New Method Trailer part 2 (cs 3 merged) 11123 - Issue 1690: New Method Trailer part 3 (cs 4 no conflict) 11124 - Issue 1690: New Method Trailer part 4 (cs 5) 11125 - Issue 1690: New Method Trailer part 5 (cs 6 + postscript cs7) 11126 - Issue 1690: New Method Trailer part 6 (cs 8 - trailer) 11127 - Issue 1690: New Method Trailer part 7 (cs 9) 11128 - Issue 1690: New Method Trailer post clean up :) ___ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Re: [Pharo-project] (igor) Help for 1.1: condenseChanges does not work anymore
Hi. I made a little investigation.. The changes file condensing works fine. Except that there something wrong with destroying source pointers of not-installed methods. After commenting a following line: CompiledMethod allInstancesDo: [:e | e isInstalled ifFalse: [e destroySourcePointer]]. It were able to run to an end, and by running this check: | empty | empty := Set new. Smalltalk allClassesAndTraitsDo: [:classOrTrait | empty addAll: (classOrTrait methodDict select: [:m | m sourcePointer =0 ]) ]. empty isEmpty -- prints true which means there is no installed methods with sourcePointer = 0 (and hence with no source code) after condensing the changes. But what makes me really suspicious is following: CompiledMethod allInstances size 55797 (CompiledMethod allInstances reject: #isInstalled) size 12586 it looks like #isInstalled is buggy, or otherwise indicating that there is problem with image, which keeps so many non-installed methods hanging around. I would simply put a following at the beginning of #condenseChanges: (CompiledMethod allInstances reject: #isInstalled) size 0 ifTrue: [ self error: 'first, get rid of any uninstalled methods' ]. So, then you would not need to use #destroySourcePointer :) Here an alternative version of #destroySourcePointer. But it doesn't makes any big difference. destroySourcePointer We can't change the trailer of existing method, since it could have completely different format. Therefore we need to generate a copy with new trailer, and then #become it | copy | copy := self copyWithTrailerBytes: CompiledMethodTrailer empty. self becomeForward: copy. ^ copy P.S. runned it on 1.1-11343-UNSTABLE -- Best regards, Igor Stasenko AKA sig. ___ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
[Pharo-project] Issue 2397 fixed and ready to harvest
-- GRATIS für alle GMX-Mitglieder: Die maxdome Movie-FLAT! Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome01 ___ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Re: [Pharo-project] (igor) Help for 1.1: condenseChanges does not work anymore
Here's another calculation: | size | size := 0. Smalltalk allClassesAndTraitsDo: [:classOrTrait | size := size + classOrTrait methodDict size ]. size 37516 so, it looks like there really about 12k methods hanging around and not installed anywhere .. :) -- Best regards, Igor Stasenko AKA sig. ___ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Re: [Pharo-project] (igor) Help for 1.1: condenseChanges does not work anymore
Oh, and i think there's no problem with #destroySourcePointer it just takes too long, and looks like your image is hung, because you can't wait untill it chews all 12k methods.. Just tried to do it with a random method: CompiledMethod allInstances atRandom copy destroySourcePointer getSource and it works fine. -- Best regards, Igor Stasenko AKA sig. ___ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Re: [Pharo-project] (igor) Help for 1.1: condenseChanges does not work anymore
And the last thing... since new trailers using #becomeForward: no wonder that this loop turns into an infinite: CompiledMethod allInstancesDo: [:e | e isInstalled ifFalse: [e destroySourcePointer]]. because #allInstancesDo: walks a heap, and assuming that there is no new instances of it created during walking. But destroySourcePointer creating a new instance, so it can never finish! :) i just replaced it with following: (CompiledMethod allInstances reject: #isInstalled) do: [:e | e isInstalled ifFalse: [e destroySourcePointer]]. and made it to the end.. took about 5 minutes to wait. (12k methods + become on every method is a little time consuming ;) -- Best regards, Igor Stasenko AKA sig. ___ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
[Pharo-project] Emerging Languages Camp
No one could talk about Pharo at this event ? http://emerginglangs.com/speakers/ -- Serge Stinckwich UMI UMMISCO 209 (IRD/UPMC), Hanoi, Vietnam Every DSL ends up being Smalltalk http://doesnotunderstand.org/ ___ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project