Thank you Marcus, for your good work.
I agree, the community doesn't see this one as a bug. I keep a local patch for a more rigor view on "what is quality source code and how can tools help to achieve quality". /Klaus On Wed, 12 Jul 2006 22:00:06 +0200, <[hidden email]> wrote: > > The following issue has been CLOSED > ====================================================================== > http://bugs.impara.de/view.php?id=3836 > ====================================================================== > Reported By: kwl > Assigned To: > ====================================================================== > Project: Squeak > Issue ID: 3836 > Category: Compiler > Reproducibility: always > Severity: major > Priority: normal > Status: closed > Resolution: open > Fixed in Version: > ====================================================================== > Date Submitted: 06-22-2006 10:41 MEST > Last Modified: 07-12-2006 22:00 MEST > ====================================================================== > Summary: nil ~= 1and: [1 isNil] is parsed+compiled > without > complaint > Description: > the expression > > nil ~= 1and: [1 isNil] > > is parsed+compiled without complaint but it has a syntax error. > ====================================================================== > > ---------------------------------------------------------------------- > MarcusDenker - 07-12-06 22:00 > ---------------------------------------------------------------------- > no bug. compiler is very generous to accept code that is formated > strangely > > Issue History > Date Modified Username Field Change > ====================================================================== > 06-22-06 10:41 kwl New Issue > 06-22-06 15:31 mathk Issue Monitored: mathk > 07-12-06 22:00 MarcusDenker Status new => closed > 07-12-06 22:00 MarcusDenker Note Added: 0005814 > ====================================================================== > |
Heh. My favourite strange expression is this:
# "hi there" :== '_' 1) Who can guess what the result is WITHOUT trying it? 2) Who can explain what's happening? 3) Do we need to fix it? - Bert - Am 13.07.2006 um 06:45 schrieb Klaus D. Witzel: > Thank you Marcus, for your good work. > > I agree, the community doesn't see this one as a bug. I keep a > local patch for a more rigor view on "what is quality source code > and how can tools help to achieve quality". > > /Klaus > > On Wed, 12 Jul 2006 22:00:06 +0200, <[hidden email]> wrote: > >> >> The following issue has been CLOSED >> ===================================================================== >> = >> http://bugs.impara.de/view.php?id=3836 >> ===================================================================== >> = >> Reported By: kwl >> Assigned To: >> ===================================================================== >> = >> Project: Squeak >> Issue ID: 3836 >> Category: Compiler >> Reproducibility: always >> Severity: major >> Priority: normal >> Status: closed >> Resolution: open >> Fixed in Version: >> ===================================================================== >> = >> Date Submitted: 06-22-2006 10:41 MEST >> Last Modified: 07-12-2006 22:00 MEST >> ===================================================================== >> = >> Summary: nil ~= 1and: [1 isNil] is parsed >> +compiled without >> complaint >> Description: >> the expression >> >> nil ~= 1and: [1 isNil] >> >> is parsed+compiled without complaint but it has a syntax error. >> ===================================================================== >> = >> >> --------------------------------------------------------------------- >> - >> MarcusDenker - 07-12-06 22:00 >> --------------------------------------------------------------------- >> - >> no bug. compiler is very generous to accept code that is formated >> strangely >> >> Issue History >> Date Modified Username Field Change >> ===================================================================== >> = >> 06-22-06 10:41 kwl New Issue >> 06-22-06 15:31 mathk Issue Monitored: mathk >> 07-12-06 22:00 MarcusDenker Status new => closed >> 07-12-06 22:00 MarcusDenker Note Added: 0005814 >> ===================================================================== >> = >> > > |
> 1) Who can guess what the result is WITHOUT trying it?
> 2) Who can explain what's happening? > 3) Do we need to fix it? Scanner>>xColon -- Lukas Renggli http://www.lukas-renggli.ch |
In reply to this post by Bert Freudenberg-3
Damned, my guess was
false /Klaus On Thu, 13 Jul 2006 12:39:53 +0200, Bert Freudenberg <[hidden email]> wrote: > Heh. My favourite strange expression is this: > > # "hi there" :== '_' > > 1) Who can guess what the result is WITHOUT trying it? > 2) Who can explain what's happening? > 3) Do we need to fix it? > > - Bert - > > > Am 13.07.2006 um 06:45 schrieb Klaus D. Witzel: > >> Thank you Marcus, for your good work. >> >> I agree, the community doesn't see this one as a bug. I keep a local >> patch for a more rigor view on "what is quality source code and how can >> tools help to achieve quality". >> >> /Klaus >> >> On Wed, 12 Jul 2006 22:00:06 +0200, <[hidden email]> wrote: >> >>> >>> The following issue has been CLOSED >>> ====================================================================== >>> http://bugs.impara.de/view.php?id=3836 >>> ====================================================================== >>> Reported By: kwl >>> Assigned To: >>> ====================================================================== >>> Project: Squeak >>> Issue ID: 3836 >>> Category: Compiler >>> Reproducibility: always >>> Severity: major >>> Priority: normal >>> Status: closed >>> Resolution: open >>> Fixed in Version: >>> ====================================================================== >>> Date Submitted: 06-22-2006 10:41 MEST >>> Last Modified: 07-12-2006 22:00 MEST >>> ====================================================================== >>> Summary: nil ~= 1and: [1 isNil] is parsed+compiled >>> without >>> complaint >>> Description: >>> the expression >>> >>> nil ~= 1and: [1 isNil] >>> >>> is parsed+compiled without complaint but it has a syntax error. >>> ====================================================================== >>> >>> ---------------------------------------------------------------------- >>> MarcusDenker - 07-12-06 22:00 >>> ---------------------------------------------------------------------- >>> no bug. compiler is very generous to accept code that is formated >>> strangely >>> >>> Issue History >>> Date Modified Username Field Change >>> ====================================================================== >>> 06-22-06 10:41 kwl New Issue >>> 06-22-06 15:31 mathk Issue Monitored: mathk >>> 07-12-06 22:00 MarcusDenker Status new => closed >>> 07-12-06 22:00 MarcusDenker Note Added: 0005814 >>> ====================================================================== >>> >> >> > > > > |
In reply to this post by Lukas Renggli
Right. It does
25 <20> pushConstant: #_ 26 <22> pushConstant: '_' 27 <D1> send: break 28 <B6> send: = 29 <7C> returnTop that is, the := is treated as _ in # "hi there" :== '_' /Klaus On Thu, 13 Jul 2006 13:28:50 +0200, Lukas Renggli <[hidden email]> wrote: >> 1) Who can guess what the result is WITHOUT trying it? >> 2) Who can explain what's happening? >> 3) Do we need to fix it? > > Scanner>>xColon > |
In reply to this post by Bert Freudenberg-3
On 7/13/06, Bert Freudenberg <[hidden email]> wrote:
> Heh. My favourite strange expression is this: > > # "hi there" :== '_' > > 1) Who can guess what the result is WITHOUT trying it? > 2) Who can explain what's happening? > 3) Do we need to fix it? > Nothing happens here except 'Nothing more expected'. What is supposed to happen. The character set for Squeak seems to be subtly broken for some uses of the 'left arrow'. A few days ago, I tried to file in a .st file that used the left arrow character for binding. But the File In failed with this error "does not understand"- the first few lines of the file compiled, and the rest of the compile was aborted. Turns out my Linux system, and the Squeak running on it, thought that the left arrow was an underscore character (0x5f). So I went into my favourite text editor, used search and replace to replace all underscores with := Then it worked. |
Am 13.07.2006 um 13:58 schrieb David Corking:
> On 7/13/06, Bert Freudenberg <[hidden email]> wrote: >> Heh. My favourite strange expression is this: >> >> # "hi there" :== '_' >> >> 1) Who can guess what the result is WITHOUT trying it? >> 2) Who can explain what's happening? >> 3) Do we need to fix it? >> > > Nothing happens here except 'Nothing more expected'. What is supposed > to happen. Make sure what looks like spaces are actually spaces - when copy&pasting code from an email some systems convert a space (32) into a non-breaking space (160) which the parser does not accept as whitespace. - Bert - |
On 7/13/06, Bert Freudenberg <[hidden email]> wrote:
> >> Heh. My favourite strange expression is this: > >> > >> # "hi there" :== '_' > >> > >> 1) Who can guess what the result is WITHOUT trying it? > >> 2) Who can explain what's happening? > >> 3) Do we need to fix it? > >> > > > > Nothing happens here except 'Nothing more expected'. What is supposed > > to happen. > > Make sure what looks like spaces are actually spaces - when > copy&pasting code from an email some systems convert a space (32) > into a non-breaking space (160) which the parser does not accept as > whitespace. OK. Now I have pasted it correctly (the underscore in my email systems charset magically changed to a left arrow in the Squeak workspace.) I changed the space characters by hand. Now nothing at all happens. What happens on your image? Which image are you using? |
Am 13.07.2006 um 16:49 schrieb David Corking: > On 7/13/06, Bert Freudenberg <[hidden email]> wrote: >> >> Heh. My favourite strange expression is this: >> >> >> >> # "hi there" :== '_' >> >> >> >> 1) Who can guess what the result is WITHOUT trying it? >> >> 2) Who can explain what's happening? >> >> 3) Do we need to fix it? >> >> >> > >> > Nothing happens here except 'Nothing more expected'. What is >> supposed >> > to happen. >> >> Make sure what looks like spaces are actually spaces - when >> copy&pasting code from an email some systems convert a space (32) >> into a non-breaking space (160) which the parser does not accept as >> whitespace. > > OK. Now I have pasted it correctly (the underscore in my email > systems charset magically changed to a left arrow in the Squeak > workspace.) I changed the space characters by hand. > Now nothing at all happens. > What happens on your image? Which image are you using? This expression happens to be parsed without errors and answers true (use "print it" to see the result). The result is unexpected for me, and I guess for everyone except maybe the guy who created that hack to allow ':=' to be used for assignment. As Lukas pointed out the actual culprit is Scanner>>xColon, it's a simple fix (^ token := #':=') which doesn't seem to break anything immediately and makes this expression answer true: #:= == #':=' The original line served only to obscure the actual problem. Which isn't really a problem because we write Smalltalk code, not Perl, so nobody would ever notice anyway ;-) - Bert - |
On 7/13/06, Bert Freudenberg <[hidden email]> wrote:
> >> >> Heh. My favourite strange expression is this: > >> >> > >> >> # "hi there" :== '_' > >> >> > >> >> 1) Who can guess what the result is WITHOUT trying it? > >> >> 2) Who can explain what's happening? > >> >> 3) Do we need to fix it? > This expression happens to be parsed without errors and answers true > (use "print it" to see the result). The result is unexpected for me, > and I guess for everyone except maybe the guy who created that hack > to allow ':=' to be used for assignment. Thanks for explaining. It is a useful hack for me, and, I suspect, for many newbies (sadly in 1979 Alan Kay and Steve Jobs opted not to persuade the world to adopt a left arrow character in standard fonts and keyboard mappings - so even now in the days of UTF-8 the left arrow causes some of us trouble. For now, I still need my underscore for SQL and for Emacs undo and I have increased sympathy for APL users. <grin>) I have no opinion on whether it needs to be fixed, though I would imagine (with my limited knowledge of smalltalk) that user objects should not be calling Scanner directly, so should not see the change. By the way - I need to apologise. A few days ago I wrote "The character set for Squeak seems to be subtly broken for some uses of the 'left arrow'. A few days ago, I tried to file in a .st file that used the left arrow character for binding" .... I wrongly implied that Squeak was somehow broken. On cooler reflection, the fault is more likely to be my web browser (that downloaded the .st file) or the filesystem (that I stored it on), as I seem to be the only one with that particularly trouble. Sorry for throwing stones. David |
Am 14.07.2006 um 13:17 schrieb David Corking: > On 7/13/06, Bert Freudenberg <[hidden email]> wrote: >> >> >> Heh. My favourite strange expression is this: >> >> >> >> >> >> # "hi there" :== '_' >> >> >> >> >> >> 1) Who can guess what the result is WITHOUT trying it? >> >> >> 2) Who can explain what's happening? >> >> >> 3) Do we need to fix it? > >> This expression happens to be parsed without errors and answers true >> (use "print it" to see the result). The result is unexpected for me, >> and I guess for everyone except maybe the guy who created that hack >> to allow ':=' to be used for assignment. > > Thanks for explaining. It is a useful hack for me, You misunderstood me. I'm not at all suggesting to remove ':=' assignment. It's just that the implementation of how this is made possible is a tiny bit obscure, or even wrong. Also, "the guy" is most probably Dan, so you can safely assume I meant "hack" with at least a bit of praise, too (cf. http://catb.org/jargon/html/H/ hack.html). - Bert - |
On 7/14/06, Bert Freudenberg <[hidden email]> wrote:=
> >> (use "print it" to see the result). The result is unexpected for me, > >> and I guess for everyone except maybe the guy who created that hack > >> to allow ':=' to be used for assignment. > > > > Thanks for explaining. It is a useful hack for me, > > You misunderstood me. I'm not at all suggesting to remove ':=' > assignment. I thought so, Bert. I was merely covering all the bases. I deliberately gave myself an excuse to go off topic on why the 'left arrow' bothers me a little. := is ugly but there are no better characters for assignment on these crummy 20th century keyboards. That is, unless you are in the smug minority who think, as I do, that (set ...) and (define ...) are elegant. David |
In reply to this post by Bert Freudenberg-3
On Thu, 13 Jul 2006 12:39:53 +0200, Bert Freudenberg wrote:
> Heh. My favourite strange expression is this: > > # "hi there" :== '_' > > 1) Who can guess what the result is WITHOUT trying it? > 2) Who can explain what's happening? > 3) Do we need to fix it? > > - Bert - Found another one (relative to #7042): | philosopher mathematicians | mathematicians := 2. philosopher := philosopher == mathematicians. OrderedCollection new addLast: philosopher; removeLast: mathematicians; size Questions 1-3 from Bert applicable to *both* issues ;-) /Klaus |
Am 20.07.2006 um 10:48 schrieb Klaus D. Witzel:
> On Thu, 13 Jul 2006 12:39:53 +0200, Bert Freudenberg wrote: > >> Heh. My favourite strange expression is this: >> >> # "hi there" :== '_' >> >> 1) Who can guess what the result is WITHOUT trying it? >> 2) Who can explain what's happening? >> 3) Do we need to fix it? >> >> - Bert - > > Found another one (relative to #7042): > > | philosopher mathematicians | > mathematicians := 2. > philosopher := philosopher == mathematicians. > OrderedCollection new > addLast: philosopher; > removeLast: mathematicians; > size > > Questions 1-3 from Bert applicable to *both* issues ;-) Does what I'd expect in 3.8. - Bert - |
On Thu, 20 Jul 2006 11:04:45 +0200, Bert Freudenberg wrote:
> Am 20.07.2006 um 10:48 schrieb Klaus D. Witzel: > >> On Thu, 13 Jul 2006 12:39:53 +0200, Bert Freudenberg wrote: >> >>> Heh. My favourite strange expression is this: >>> >>> # "hi there" :== '_' >>> >>> 1) Who can guess what the result is WITHOUT trying it? >>> 2) Who can explain what's happening? >>> 3) Do we need to fix it? >>> >>> - Bert - >> >> Found another one (relative to #7042): >> >> | philosopher mathematicians | >> mathematicians := 2. >> philosopher := philosopher == mathematicians. >> OrderedCollection new >> addLast: philosopher; >> removeLast: mathematicians; >> size >> >> Questions 1-3 from Bert applicable to *both* issues ;-) > > Does what I'd expect in 3.8. Sure. And how about the 2nd issue? Applies to #7042 and to 3.8 as well. Of course this might be *wanted* and I simply didn't know that. > - Bert - > > > |
Am 20.07.2006 um 11:11 schrieb Klaus D. Witzel:
> On Thu, 20 Jul 2006 11:04:45 +0200, Bert Freudenberg wrote: > >> Am 20.07.2006 um 10:48 schrieb Klaus D. Witzel: >> >>> On Thu, 13 Jul 2006 12:39:53 +0200, Bert Freudenberg wrote: >>> >>>> Heh. My favourite strange expression is this: >>>> >>>> # "hi there" :== '_' >>>> >>>> 1) Who can guess what the result is WITHOUT trying it? >>>> 2) Who can explain what's happening? >>>> 3) Do we need to fix it? >>>> >>>> - Bert - >>> >>> Found another one (relative to #7042): >>> >>> | philosopher mathematicians | >>> mathematicians := 2. >>> philosopher := philosopher == mathematicians. >>> OrderedCollection new >>> addLast: philosopher; >>> removeLast: mathematicians; >>> size >>> >>> Questions 1-3 from Bert applicable to *both* issues ;-) >> >> Does what I'd expect in 3.8. > > Sure. And how about the 2nd issue? Applies to #7042 and to 3.8 as > well. Of course this might be *wanted* and I simply didn't know that. I actually don't really see a second issue. Or are you implying #findLast: has the same problem? - Bert - |
On Thu, 20 Jul 2006 15:14:29 +0200, Bert Freudenberg wrote:
> Am 20.07.2006 um 11:11 schrieb Klaus D. Witzel: > >> On Thu, 20 Jul 2006 11:04:45 +0200, Bert Freudenberg wrote: >> >>> Am 20.07.2006 um 10:48 schrieb Klaus D. Witzel: >>> >>>> On Thu, 13 Jul 2006 12:39:53 +0200, Bert Freudenberg wrote: >>>> >>>>> Heh. My favourite strange expression is this: >>>>> >>>>> # "hi there" :== '_' >>>>> >>>>> 1) Who can guess what the result is WITHOUT trying it? >>>>> 2) Who can explain what's happening? >>>>> 3) Do we need to fix it? >>>>> >>>>> - Bert - >>>> >>>> Found another one (relative to #7042): >>>> >>>> | philosopher mathematicians | >>>> mathematicians := 2. >>>> philosopher := philosopher == mathematicians. >>>> OrderedCollection new >>>> addLast: philosopher; >>>> removeLast: mathematicians; >>>> size >>>> >>>> Questions 1-3 from Bert applicable to *both* issues ;-) >>> >>> Does what I'd expect in 3.8. >> >> Sure. And how about the 2nd issue? Applies to #7042 and to 3.8 as well. >> Of course this might be *wanted* and I simply didn't know that. > > I actually don't really see a second issue. Or are you implying > #findLast: has the same problem? Not at all. Try the snippet after making mathematicians out of the philosopher and ask for evaluation of | philosopher mathematicians | mathematicians := 2. mathematicians := philosopher == mathematicians. OrderedCollection new addLast: mathematicians; size All the sudden the compiler complains (when interactive), why didn't it do that earlier for the very same token. Either something is undefined or it is not, tertium non datur. Again, this is perhaps *wanted* and I didn't know. /Klaus > - Bert - |
Am 20.07.2006 um 17:38 schrieb Klaus D. Witzel:
> On Thu, 20 Jul 2006 15:14:29 +0200, Bert Freudenberg wrote: > >> Am 20.07.2006 um 11:11 schrieb Klaus D. Witzel: >> >>> On Thu, 20 Jul 2006 11:04:45 +0200, Bert Freudenberg wrote: >>> >>>> Am 20.07.2006 um 10:48 schrieb Klaus D. Witzel: >>>> >>>>> On Thu, 13 Jul 2006 12:39:53 +0200, Bert Freudenberg wrote: >>>>> >>>>>> Heh. My favourite strange expression is this: >>>>>> >>>>>> # "hi there" :== '_' >>>>>> >>>>>> 1) Who can guess what the result is WITHOUT trying it? >>>>>> 2) Who can explain what's happening? >>>>>> 3) Do we need to fix it? >>>>>> >>>>>> - Bert - >>>>> >>>>> Found another one (relative to #7042): >>>>> >>>>> | philosopher mathematicians | >>>>> mathematicians := 2. >>>>> philosopher := philosopher == mathematicians. >>>>> OrderedCollection new >>>>> addLast: philosopher; >>>>> removeLast: mathematicians; >>>>> size >>>>> >>>>> Questions 1-3 from Bert applicable to *both* issues ;-) >>>> >>>> Does what I'd expect in 3.8. >>> >>> Sure. And how about the 2nd issue? Applies to #7042 and to 3.8 as >>> well. Of course this might be *wanted* and I simply didn't know >>> that. >> >> I actually don't really see a second issue. Or are you implying >> #findLast: has the same problem? > > Not at all. Try the snippet after making mathematicians out of the > philosopher and ask for evaluation of > > | philosopher mathematicians | > mathematicians := 2. > mathematicians := philosopher == mathematicians. > OrderedCollection new > addLast: mathematicians; > size > > All the sudden the compiler complains (when interactive), why > didn't it do that earlier for the very same token. Either something > is undefined or it is not, tertium non datur. Again, this is > perhaps *wanted* and I didn't know. I see. Yes, that's a bug in the compiler. It should issue a warning. - Bert - |
Free forum by Nabble | Edit this page |