Re: [Pharo-users] Depending on MetaRepo instead of the target repo
Very good to hear ... I have to try to be a bit more patient :) On 2/12/17 9:37 AM, stepharong wrote: On Sun, 12 Feb 2017 16:36:42 +0100, Dale Henrichs wrote: Peter, In the long term the the MetaRepo should be replaced by a repository of project specification objects (like this [1]). Each project specification would contain the meta data for a project (like this[2]) instead of a copy of a ConfigurationOf that is almost always out-of-date. Yes we are working on it. Now 64bits, FFI, Iceberg, bootstrap got our attention. ConfigurationOf should really be phased out -- they've been obsolete for 3-4 years now... BaselineOf is preferred. If folks are using something like git/github, with proper branching, then a BaselineOf wouldn't be published on the master branch until the unit tests are passing (travis-ci). I want more than just the tests but this is a start. We will arrive there. Because I want it too. Now pavel worked on the bootstrap to avoid to lose all the energy that guille put on it. Dale [1] https://github.com/GsDevKit/GsDevKit_home/tree/gh-pages [2] https://github.com/GsDevKit/GsDevKit_home/blob/gh-pages/Seaside3.ston On 2/12/17 4:03 AM, Peter Uhnak wrote: Hi, would it make sense to take configurations from metarepos instead directly from the source? And more imporantly: would be considered bad practice for users to do it right now? E.g. spec project: 'Magritte' with: [ spec className: #ConfigurationOfMagritte3; versionString: #stable; repository: 'http://smalltalkhub.com/mc/Pharo/MetaRepoForPharo50/main/' ]. v. repository: 'http://smalltalkhub.com/mc/Magritte/Magritte3/main/' pros: * the (e.g. Magritte) developer can freely change platforms * the ConfigurationOf could differ between various MetaRepo versions (combined with git it could reduce their complexity) * users do not have to think about where is the canonical repo (I've seen project that had copies on SS, STHub, GitHub, and a custom location -_-) cons: * the ConfigurationOf could differ between various MetaRepo versions (if the code is compatible, then two repos have to be updated Any thoughts? Peter
Re: [Pharo-users] About asSymbol message , some questions in my mind
BUT There are not compliant below 1.' ' asSymbol no meaning 2. '$%%&' asSymbol no meaning 3. 'sign' asSymbol = 'sign ' asSymbol >>> false because of space. 3. ' one two three ' asSymbol >>>I think It should become three symbols = #one, #two, #three I don't know what you mean by "no meaning', they're symbols. Try this in a Playground, it works in Pharo 5" | oc sym filtered| oc := ' one two three $%%&' splitOn: ' '. sym := OrderedCollection new. oc do: [:each | sym add: each asSymbol]. filtered := OrderedCollection new. filtered := sym select: [ :each | each ~= #'' ]. Transcript show: sym printString; cr. Transcript show: filtered printString; cr. On Fri, Feb 10, 2017 at 8:56 PM, lb wrote: > Hi, > I know Symbol is subclass of String. > Any string object can become symbol object by sending 'asSymbol' message.. > I think symbol must has its meaning in comon use, so the symbol should be > composed of alphabet or number ‘without space“. > > BUT There are not compliant below > 1.' ' asSymbol no meaning > 2. '$%%&' asSymbol no meaning > 3. 'sign' asSymbol = 'sign ' asSymbol >>> false because of space. > 3. ' one two three ' asSymbol >>>I think It should > become three symbols = #one, #two, #three > > > Mybe my understanding is wrong. > > Bing Liang > > >
Re: [Pharo-users] Citezen bug MessageNotUnderstood: Metaclass>>allMethodsInCategory:
Ok I will have a look. Ping me if I forget. Hi, On 12/02/17 09:19, stepharong wrote: Hi offray I generate all my web page and cv with Citezen. Can you tell which version of citezen? The one provided by ConfigurationOfCitezen (StephaneDucasse.137) how you load it? From the spotter, so I imagine is reading the Pharo catalog. which version of Pharo Pharo5.0 Latest update: #50761 the expressions you executed? I ran the expression on CZBibTest. After applying the fix proposed by Cyril on Citezen-Redenring (StephaneDucasse.42), the test went all green. So it seems a matter of replacing #allMethodsInCategory by #allSelectorsInProtocol Thanks, Offray Stef Hi, I'm adding some Zotero[1] integration for my Grafoscopio project, now that I'm preparing a couple of papers for my PhD. For that, I'm using Citezen, but when I try to run the renderers to create bibTeX outputs I got the error "MessageNotUnderstood: Metaclass>>allMethodsInCategory:". How can I solve this? [1] http://zotero.org/ Thanks, Offray -- Using Opera's mail client: http://www.opera.com/mail/
Re: [Pharo-users] Unable to find the compiler
Le 11/02/2017 à 10:38, Mark Neagu a écrit : > Hi, > > Thank you for your answer. > > I first tried to find the code panel but I can't see it in my Pharo: no > panel is titled "code panel" ans nothing looks like > "https://puu.sh/tXu99/f11df69e74.png";. > > I then tried CMD + S or CTRL + S but it didn't work either. > > My computer works Under Windows 7 Édition Familiale Premium 64 bits > Service Pack 1, that is Windows, isn't it? :) > > To summarize I'm still in trouble. > > Regards, > > Mark > Hi Mark, Following this link you should find a video showing how I do: https://www.youtube.com/watch?v=4WrzVCuXkP8 I save a first class using the menu then a second using the shortcut. -- Cyril Ferlicot http://www.synectique.eu 2 rue Jacques Prévert 01, 59650 Villeneuve d'ascq France signature.asc Description: OpenPGP digital signature
Re: [Pharo-users] Something wrong with my installation of Pharo
Hi, What is the problem? Screenshot? Am on Windows and Pharo is working nicely. Win8.1 and Win10. Used to be fine on Win7. Phil On Sun, Feb 12, 2017 at 6:34 PM, stepharong wrote: > tx nicole > Mark I feel sorry. > I only have macs and I do not know windows. > > Stef > > On Sun, 12 Feb 2017 18:04:15 +0100, Nicole de Graaf wrote: > > Hi Mark, >> >> I can try to help you .. >> >> It is possible that I can not find the solution directly but than we can >> ask other people more concrete questions. >> >> For sure team viewer and Skype is the fastest way .. >> >> Regards, >> Nic >> >> >> >> >> >> >> On 12 Feb 2017, at 15:56, Mark Neagu wrote: >>> >>> Hi, >>> >>> I believe I know why my installation doesn't work: It's not the >>> installation, but something with Windows. >>> >>> I use for years "Windows 7 Édition Familiale Premium 64 bits Service >>> Pack 1" without the slightest problem. But what I use my computer for is >>> simply writing text, taking pictures and exchanging mails; nothing to do >>> with programming. >>> >>> The conclusion, I think, is that some settings of Windows should be >>> modified to adjust to these added uses. The complication is I'm no >>> specialist of Windows; I just use it. That's why I would like a person >>> knowledgeable in Windows AND Pharo, who could check my installation and >>> correct it as needed. >>> >>> To that end we could use "TeamViewer": it wouldn't be overly long or too >>> disturbing for the person. >>> >>> I am very grateful to the person who will accept to help me. >>> >>> Regards, >>> Mark >>> >>> >> >> > > -- > Using Opera's mail client: http://www.opera.com/mail/ > > >
Re: [Pharo-users] Depending on MetaRepo instead of the target repo
On Sun, 12 Feb 2017 16:36:42 +0100, Dale Henrichs wrote: Peter, In the long term the the MetaRepo should be replaced by a repository of project specification objects (like this [1]). Each project specification would contain the meta data for a project (like this[2]) instead of a copy of a ConfigurationOf that is almost always out-of-date. Yes we are working on it. Now 64bits, FFI, Iceberg, bootstrap got our attention. ConfigurationOf should really be phased out -- they've been obsolete for 3-4 years now... BaselineOf is preferred. If folks are using something like git/github, with proper branching, then a BaselineOf wouldn't be published on the master branch until the unit tests are passing (travis-ci). I want more than just the tests but this is a start. We will arrive there. Because I want it too. Now pavel worked on the bootstrap to avoid to lose all the energy that guille put on it. Dale [1] https://github.com/GsDevKit/GsDevKit_home/tree/gh-pages [2] https://github.com/GsDevKit/GsDevKit_home/blob/gh-pages/Seaside3.ston On 2/12/17 4:03 AM, Peter Uhnak wrote: Hi, would it make sense to take configurations from metarepos instead directly from the source? And more imporantly: would be considered bad practice for users to do it right now? E.g. spec project: 'Magritte' with: [ spec className: #ConfigurationOfMagritte3; versionString: #stable; repository: 'http://smalltalkhub.com/mc/Pharo/MetaRepoForPharo50/main/' ]. v. repository: 'http://smalltalkhub.com/mc/Magritte/Magritte3/main/' pros: * the (e.g. Magritte) developer can freely change platforms * the ConfigurationOf could differ between various MetaRepo versions (combined with git it could reduce their complexity) * users do not have to think about where is the canonical repo (I've seen project that had copies on SS, STHub, GitHub, and a custom location -_-) cons: * the ConfigurationOf could differ between various MetaRepo versions (if the code is compatible, then two repos have to be updated Any thoughts? Peter -- Using Opera's mail client: http://www.opera.com/mail/
Re: [Pharo-users] Something wrong with my installation of Pharo
tx nicole Mark I feel sorry. I only have macs and I do not know windows. Stef On Sun, 12 Feb 2017 18:04:15 +0100, Nicole de Graaf wrote: Hi Mark, I can try to help you .. It is possible that I can not find the solution directly but than we can ask other people more concrete questions. For sure team viewer and Skype is the fastest way .. Regards, Nic On 12 Feb 2017, at 15:56, Mark Neagu wrote: Hi, I believe I know why my installation doesn't work: It's not the installation, but something with Windows. I use for years "Windows 7 Édition Familiale Premium 64 bits Service Pack 1" without the slightest problem. But what I use my computer for is simply writing text, taking pictures and exchanging mails; nothing to do with programming. The conclusion, I think, is that some settings of Windows should be modified to adjust to these added uses. The complication is I'm no specialist of Windows; I just use it. That's why I would like a person knowledgeable in Windows AND Pharo, who could check my installation and correct it as needed. To that end we could use "TeamViewer": it wouldn't be overly long or too disturbing for the person. I am very grateful to the person who will accept to help me. Regards, Mark -- Using Opera's mail client: http://www.opera.com/mail/
Re: [Pharo-users] getting real changes from RB refactoring
Hi peter is there some filter that will reject RB changes that actually do not do anything? I.e. applying them would have no effect (same method code, class, inst var exists, ...). I do not know. Do you have an example of when such changes are created? For methods I can do reject: [ :each | each oldVersionTextToDisplay = each textToDisplay ] for adding classes I had to add custom #oldVersionTextToDisplay ``` RBAddClassChange>>oldVersionTextToDisplay | class | class := Smalltalk globals at: self changeClassName ifAbsent: [ ^ '' ]. ^ '<1s> subclass: #<2s>instanceVariableNames: <3p>classVariableNames: <4p>poolDictionaries: category: ''<5s>''' expandMacrosWithArguments: {class superclass name. class name. class instanceVariables joinUsing: ' '. class classVariables joinUsing: ' '. class package name} ``` which is obviously ugly. Also RBAddClassChange doesn't understand any format where #package is used instead of #category, or slots are used. (As defined in RBAddClassChange class>>definitionPatterns , which is really weird). We should change this. Peter -- Using Opera's mail client: http://www.opera.com/mail/
[Pharo-users] getting real changes from RB refactoring
Hi, is there some filter that will reject RB changes that actually do not do anything? I.e. applying them would have no effect (same method code, class, inst var exists, ...). For methods I can do reject: [ :each | each oldVersionTextToDisplay = each textToDisplay ] for adding classes I had to add custom #oldVersionTextToDisplay ``` RBAddClassChange>>oldVersionTextToDisplay | class | class := Smalltalk globals at: self changeClassName ifAbsent: [ ^ '' ]. ^ '<1s> subclass: #<2s>instanceVariableNames: <3p>classVariableNames: <4p>poolDictionaries: category: ''<5s>''' expandMacrosWithArguments: {class superclass name. class name. class instanceVariables joinUsing: ' '. class classVariables joinUsing: ' '. class package name} ``` which is obviously ugly. Also RBAddClassChange doesn't understand any format where #package is used instead of #category, or slots are used. (As defined in RBAddClassChange class>>definitionPatterns , which is really weird). Peter
Re: [Pharo-users] Something wrong with my installation of Pharo
Hi Mark, I can try to help you .. It is possible that I can not find the solution directly but than we can ask other people more concrete questions. For sure team viewer and Skype is the fastest way .. Regards, Nic > On 12 Feb 2017, at 15:56, Mark Neagu wrote: > > Hi, > > I believe I know why my installation doesn't work: It's not the installation, > but something with Windows. > > I use for years "Windows 7 Édition Familiale Premium 64 bits Service Pack 1" > without the slightest problem. But what I use my computer for is simply > writing text, taking pictures and exchanging mails; nothing to do with > programming. > > The conclusion, I think, is that some settings of Windows should be modified > to adjust to these added uses. The complication is I'm no specialist of > Windows; I just use it. That's why I would like a person knowledgeable in > Windows AND Pharo, who could check my installation and correct it as needed. > > To that end we could use "TeamViewer": it wouldn't be overly long or too > disturbing for the person. > > I am very grateful to the person who will accept to help me. > > Regards, > Mark >
Re: [Pharo-users] Depending on MetaRepo instead of the target repo
On Sun, Feb 12, 2017 at 11:36 PM, Dale Henrichs < dale.henri...@gemtalksystems.com> wrote: > Peter, > > > > In the long term the the MetaRepo should be replaced by a repository of > project specification objects (like this [1]). Each project specification > would contain the meta data for a project (like this[2]) instead of a copy > of a ConfigurationOf that is almost always out-of-date. > > ConfigurationOf should really be phased out -- they've been obsolete for > 3-4 years now... BaselineOf is preferred. > Does BaselineOf work with Monticello? I thought it was only for use with git. cheers -ben > > If folks are using something like git/github, with proper branching, then > a BaselineOf wouldn't be published on the master branch until the unit > tests are passing (travis-ci). > > > > Dale > > [1] https://github.com/GsDevKit/GsDevKit_home/tree/gh-pages > [2] https://github.com/GsDevKit/GsDevKit_home/blob/gh-pages/Seaside3.ston > > On 2/12/17 4:03 AM, Peter Uhnak wrote: > >> Hi, >> >> would it make sense to take configurations from metarepos instead >> directly from the source? >> >> And more imporantly: would be considered bad practice for users to do it >> right now? >> >> E.g. >> >> spec >> project: 'Magritte' >> with: [ spec >> className: #ConfigurationOfMagritte3; >> versionString: #stable; >> repository: 'http://smalltalkhub.com/mc/Ph >> aro/MetaRepoForPharo50/main/' ]. >> >> v. repository: 'http://smalltalkhub.com/mc/Magritte/Magritte3/main/' >> >> >> pros: >> * the (e.g. Magritte) developer can freely change platforms >> * the ConfigurationOf could differ between various MetaRepo versions >> (combined with git it could reduce their complexity) >> * users do not have to think about where is the canonical repo (I've seen >> project that had copies on SS, STHub, GitHub, and a custom location -_-) >> >> cons: >> * the ConfigurationOf could differ between various MetaRepo versions (if >> the code is compatible, then two repos have to be updated >> >> Any thoughts? >> >> Peter >> >> > >
Re: [Pharo-users] Depending on MetaRepo instead of the target repo
Peter, In the long term the the MetaRepo should be replaced by a repository of project specification objects (like this [1]). Each project specification would contain the meta data for a project (like this[2]) instead of a copy of a ConfigurationOf that is almost always out-of-date. ConfigurationOf should really be phased out -- they've been obsolete for 3-4 years now... BaselineOf is preferred. If folks are using something like git/github, with proper branching, then a BaselineOf wouldn't be published on the master branch until the unit tests are passing (travis-ci). Dale [1] https://github.com/GsDevKit/GsDevKit_home/tree/gh-pages [2] https://github.com/GsDevKit/GsDevKit_home/blob/gh-pages/Seaside3.ston On 2/12/17 4:03 AM, Peter Uhnak wrote: Hi, would it make sense to take configurations from metarepos instead directly from the source? And more imporantly: would be considered bad practice for users to do it right now? E.g. spec project: 'Magritte' with: [ spec className: #ConfigurationOfMagritte3; versionString: #stable; repository: 'http://smalltalkhub.com/mc/Pharo/MetaRepoForPharo50/main/' ]. v. repository: 'http://smalltalkhub.com/mc/Magritte/Magritte3/main/' pros: * the (e.g. Magritte) developer can freely change platforms * the ConfigurationOf could differ between various MetaRepo versions (combined with git it could reduce their complexity) * users do not have to think about where is the canonical repo (I've seen project that had copies on SS, STHub, GitHub, and a custom location -_-) cons: * the ConfigurationOf could differ between various MetaRepo versions (if the code is compatible, then two repos have to be updated Any thoughts? Peter
[Pharo-users] Something wrong with my installation of Pharo
Hi, I believe I know why my installation doesn't work: It's not the installation, but something with Windows. I use for years "Windows 7 Édition Familiale Premium 64 bits Service Pack 1" without the slightest problem. But what I use my computer for is simply writing text, taking pictures and exchanging mails; nothing to do with programming. The conclusion, I think, is that some settings of Windows should be modified to adjust to these added uses. The complication is I'm no specialist of Windows; I just use it. That's why I would like a person knowledgeable in Windows AND Pharo, who could check my installation and correct it as needed. To that end we could use "TeamViewer": it wouldn't be overly long or too disturbing for the person. I am very grateful to the person who will accept to help me. Regards, Mark
Re: [Pharo-users] Citezen bug MessageNotUnderstood: Metaclass>>allMethodsInCategory:
Hi, On 12/02/17 09:19, stepharong wrote: Hi offray I generate all my web page and cv with Citezen. Can you tell which version of citezen? The one provided by ConfigurationOfCitezen (StephaneDucasse.137) how you load it? From the spotter, so I imagine is reading the Pharo catalog. which version of Pharo Pharo5.0 Latest update: #50761 the expressions you executed? I ran the expression on CZBibTest. After applying the fix proposed by Cyril on Citezen-Redenring (StephaneDucasse.42), the test went all green. So it seems a matter of replacing #allMethodsInCategory by #allSelectorsInProtocol Thanks, Offray Stef Hi, I'm adding some Zotero[1] integration for my Grafoscopio project, now that I'm preparing a couple of papers for my PhD. For that, I'm using Citezen, but when I try to run the renderers to create bibTeX outputs I got the error "MessageNotUnderstood: Metaclass>>allMethodsInCategory:". How can I solve this? [1] http://zotero.org/ Thanks, Offray
Re: [Pharo-users] Citezen bug MessageNotUnderstood: Metaclass>>allMethodsInCategory:
My user account is Offray ( http://smalltalkhub.com/#!/~Offray ). I'm using the Citizen version provided by ConfigurationOfCitezen (StephaneDucasse.137). Thanks, Offray On 12/02/17 09:30, stepharong wrote: what is your account on smalltalkhub? On Sun, 12 Feb 2017 00:52:10 +0100, Offray Vladimir Luna Cárdenas wrote: Thanks to Cyril I have fixed the bug. Now is called #allSelectorsInProtocol. How can I propose a bug fix for the citezen package? Is good to have a chat channel for this knowledge... it's a shame that all this will be lost, like "tears in the rain" because we're relying on privative infrastructure for community memory... :-/. I have started to test rocket.chat/deploy and seems pretty good. I have deployed https://pharochat.rocket.chat/ in seconds. Now I'm asking about data migration from slack and costs for open source communities. Cheers, Offray On 11/02/17 17:30, Offray Vladimir Luna Cárdenas wrote: Hi, I'm adding some Zotero[1] integration for my Grafoscopio project, now that I'm preparing a couple of papers for my PhD. For that, I'm using Citezen, but when I try to run the renderers to create bibTeX outputs I got the error "MessageNotUnderstood: Metaclass>>allMethodsInCategory:". How can I solve this? [1] http://zotero.org/ Thanks, Offray
Re: [Pharo-users] Citezen bug MessageNotUnderstood: Metaclass>>allMethodsInCategory:
what is your account on smalltalkhub? On Sun, 12 Feb 2017 00:52:10 +0100, Offray Vladimir Luna Cárdenas wrote: Thanks to Cyril I have fixed the bug. Now is called #allSelectorsInProtocol. How can I propose a bug fix for the citezen package? Is good to have a chat channel for this knowledge... it's a shame that all this will be lost, like "tears in the rain" because we're relying on privative infrastructure for community memory... :-/. I have started to test rocket.chat/deploy and seems pretty good. I have deployed https://pharochat.rocket.chat/ in seconds. Now I'm asking about data migration from slack and costs for open source communities. Cheers, Offray On 11/02/17 17:30, Offray Vladimir Luna Cárdenas wrote: Hi, I'm adding some Zotero[1] integration for my Grafoscopio project, now that I'm preparing a couple of papers for my PhD. For that, I'm using Citezen, but when I try to run the renderers to create bibTeX outputs I got the error "MessageNotUnderstood: Metaclass>>allMethodsInCategory:". How can I solve this? [1] http://zotero.org/ Thanks, Offray -- Using Opera's mail client: http://www.opera.com/mail/
Re: [Pharo-users] Citezen bug MessageNotUnderstood: Metaclass>>allMethodsInCategory:
On which version are you working? I should add an inbox to citezen (waiting to migrate to github). Thanks to Cyril I have fixed the bug. Now is called #allSelectorsInProtocol. How can I propose a bug fix for the citezen package? Is good to have a chat channel for this knowledge... it's a shame that all this will be lost, like "tears in the rain" because we're relying on privative infrastructure for community memory... :-/. I have started to test rocket.chat/deploy and seems pretty good. I have deployed https://pharochat.rocket.chat/ in seconds. Now I'm asking about data migration from slack and costs for open source communities. Cheers, Offray On 11/02/17 17:30, Offray Vladimir Luna Cárdenas wrote: Hi, I'm adding some Zotero[1] integration for my Grafoscopio project, now that I'm preparing a couple of papers for my PhD. For that, I'm using Citezen, but when I try to run the renderers to create bibTeX outputs I got the error "MessageNotUnderstood: Metaclass>>allMethodsInCategory:". How can I solve this? [1] http://zotero.org/ Thanks, Offray -- Using Opera's mail client: http://www.opera.com/mail/
Re: [Pharo-users] Depending on MetaRepo instead of the target repo
Hi, would it make sense to take configurations from metarepos instead directly from the source? I do not think so but if people show me otherwise I could follow that. Usually I have a conf in my repo referencing other repo and not the meta one Then I push in the meta just to config. And more imporantly: would be considered bad practice for users to do it right now? E.g. spec project: 'Magritte' with: [ spec className: #ConfigurationOfMagritte3; versionString: #stable; repository: 'http://smalltalkhub.com/mc/Pharo/MetaRepoForPharo50/main/' ]. v. repository: 'http://smalltalkhub.com/mc/Magritte/Magritte3/main/' pros: * the (e.g. Magritte) developer can freely change platforms * the ConfigurationOf could differ between various MetaRepo versions (combined with git it could reduce their complexity) * users do not have to think about where is the canonical repo (I've seen project that had copies on SS, STHub, GitHub, and a custom location -_-) cons: * the ConfigurationOf could differ between various MetaRepo versions (if the code is compatible, then two repos have to be updated Any thoughts? Peter -- Using Opera's mail client: http://www.opera.com/mail/
Re: [Pharo-users] Citezen bug MessageNotUnderstood: Metaclass>>allMethodsInCategory:
Hi offray I generate all my web page and cv with Citezen. Can you tell which version of citezen? how you load it? which version of Pharo the expressions you executed? Stef Hi, I'm adding some Zotero[1] integration for my Grafoscopio project, now that I'm preparing a couple of papers for my PhD. For that, I'm using Citezen, but when I try to run the renderers to create bibTeX outputs I got the error "MessageNotUnderstood: Metaclass>>allMethodsInCategory:". How can I solve this? [1] http://zotero.org/ Thanks, Offray -- Using Opera's mail client: http://www.opera.com/mail/
Re: [Pharo-users] Depending on MetaRepo instead of the target repo
On 12/02/17 13:03, Peter Uhnak wrote: would it make sense to take configurations from metarepos instead directly from the source? Not really. They are not kept exactly up-to-date in practice, and having one for each Pharo version is also kind of a bad practice. What is missing is some pushing mechanism that makes sure that configurations from the source repo get promoted to the metarepo when they pass some ci (smoke) tests. Stephan
[Pharo-users] Depending on MetaRepo instead of the target repo
Hi, would it make sense to take configurations from metarepos instead directly from the source? And more imporantly: would be considered bad practice for users to do it right now? E.g. spec project: 'Magritte' with: [ spec className: #ConfigurationOfMagritte3; versionString: #stable; repository: 'http://smalltalkhub.com/mc/Pharo/MetaRepoForPharo50/main/' ]. v. repository: 'http://smalltalkhub.com/mc/Magritte/Magritte3/main/' pros: * the (e.g. Magritte) developer can freely change platforms * the ConfigurationOf could differ between various MetaRepo versions (combined with git it could reduce their complexity) * users do not have to think about where is the canonical repo (I've seen project that had copies on SS, STHub, GitHub, and a custom location -_-) cons: * the ConfigurationOf could differ between various MetaRepo versions (if the code is compatible, then two repos have to be updated Any thoughts? Peter
Re: [Pharo-users] About asSymbol message , some questions in my mind
On Sun, Feb 12, 2017 at 10:54 AM, lb wrote: > Hi Ben, > Thank you very much, your answer make me clear like water. > My question aimed on where, which type errors occur when perform a message. > My usecase. > when perform: aMessage(with a space), get DNU error , cannot find out by > eyes directly. What is the higher level use case? For example, are you getting input from a user that you evaluate as a command in some kind of Domain Specific Language? In such a case you may be better to validate the command has no spaces closer to the UI? > > asMessage is better than asSymbol. If you don't get community support for this, you can start extending String like this for your own projects and later promote your concrete experience with it. cheers -ben > > Cheers Bing > > At 2017-02-12 00:39:55, "Ben Coman" wrote: >>Hi Bing Liang, >> >>Thanks for your comments. Fresh eyes provide interesting perspectives >>on things we take for granted. >> >>On Sat, Feb 11, 2017 at 4:41 PM, lb wrote: >>> Thank you, Sven >>> gradually clear. >>> 1. Symbol as String subclass, only guarantees a symbol object only one in >>> system, use ==; >>> 2. keywords (selector name method name) are spectial symbols, without >>> space >>> or forbided characters; >>> 3. perform: aSymbol, means perform: aKeyword, >> >>Not exactly. It means perform a "message" where there are three types >>of messages... >>* unary, like #printString >>* binary, like #+ >>* keyword, like #perform: or >>#subclass:instanceVariableNames:classVariableNames:package: >>having a colon appended to each keyword >> >>> Should we add asKeyword to String, >>> let >>> perform: aString asKeyword >> >>or alternatively per above... perform: aString asMessage >> >>> not >>> perform: aString asSymbol ? >> >>In the case that aString contained a space, >>presumably #asMessage would produce a runtime error in asMessage >>whereas #asSymbol would produce a runtime error in #perform: >>I guess there is a minor benefit of failing early but will that make >>much difference in practice. >>Do you have a use case where it makes a major difference? >> >> >>> At 2017-02-11 15:51:49, "Sven Van Caekenberghe" wrote: Hi Bing, Yes, any character is allowed in a Symbol. There is even special syntax that allows such Symbols to be represented literally. 'a b' asSymbol. => #'a b' Although it might be confusing, I don't see any problem. The concept of 'meaning' is defined by the user, the usage, not by the Symbol itself. A Symbol with a space cannot be a selector (message/method) name, but that does not mean a Symbol with a space could not be useful in some other context. > On 11 Feb 2017, at 05:56, lb wrote: > > Hi, > I know Symbol is subclass of String. > Any string object can become symbol object by sending 'asSymbol' > message.. > I think symbol must has its meaning in common use, so the symbol > should > be composed of alphabet or number ‘without space“. >> >>Different domains have different common usage. >>IIUC, Smalltalk's definition of symbol is from the 1970s. >>Pharo is not overly constrained by Smalltalk traditions, but there >>must be sufficient gain to balance deviations from consistency with >>other Smalltalks. >> > > BUT There are not compliant below > 1.' ' asSymbol no meaning > 2. '$%%&' asSymbol no meaning > 3. 'sign' asSymbol = 'sign ' asSymbol >>> false because of space. > 3. ' one two three ' asSymbol >>>I think It should > become three symbols = #one, #two, #three > > > Maybe my understanding is wrong. >> >>no problem. Being wrong is a great way to learn ;) >> >>cheers -ben >>