On Thu, May 8, 2014 at 9:37 AM, Sven Van Caekenberghe <[email protected]> wrote:
> > On 07 May 2014, at 23:25, Nicolas Cellier < > [email protected]> wrote: > > > I love these kind of snippets :) > > > > I have built a collection of freak expressions in Squeak3.9. > > Pharo 3.0 is less spectacular, above collection is shrinking > dangerously... > > but there are still some not so unsurprising features to test for: > > These are actually not that funny, we should try to do something about > them, or at least discuss them a bit. > > > 'hello' copyReplaceFrom: 6 to: 4 with: 'world'. > > #copyReplaceFrom:to:with: seems overloaded with the insert case, is that > really necessary ? > still the fact that the $o appears twice feels like a bug, no ? > 'Helloworldo' was indeed very surprising. Silent failures like this seem pretty dangerous to me. > > > (5 to: 10) at: 1.3. > > understandable, scary, wrong, maybe use #asInteger on the index ? > Especially when the index is intention revealing as in 'anInteger' :-( > > > '' , #[119 104 97 116 63]. > > #[] , 'what?'. "honour is safe, it's sorta symmetric..." > > that is the ByteString/ByteArray dichotomy at work, may enforce the > #species of the receiver and argument to be equal ? > Would you mind enlighten me on this dichotomy? In ByteArray I do see: asString "Convert to a String with Characters for each byte. Fast code uses primitive that avoids character conversion" ^ (String new: self size) replaceFrom: 1 to: self size with: self Ah, replaceFrom:to:with: again... It is the same Collection code for all of these. And now, we get >>asString, >>asWideString And in String>>new: sizeRequested "Answer an instance of this class with the number of indexable variables specified by the argument, sizeRequested." self == String ifTrue:[^ByteString new: sizeRequested] ifFalse:[^self basicNew: sizeRequested]. Mmh, okay... 1) no primitive in a method that says "Fast code uses primitive to avoid character conversion": is that normal? 2) self == String, so ^ByteString new I'd love to know if there is a clear explanation of all of this somewhere. Is there one? > > "Cases of special syntax. Is the behavior officially supported in some > EBNF?" > > -2r-1. > > - 2. "Note the space between the two letters" > > These are at the (number) syntax level. Again scary, we should be (much) > stricter in parsing. > The second - 2. I do not get as it prints a -2 SmallInteger. What's wrong there? Do you mean - 2 shouldn't be parsable? That I can get. Phil > > > 2014-05-07 22:47 GMT+02:00 [email protected] <[email protected]>: > > > > Le 7 mai 2014 22:17, "kilon alios" <[email protected]> a écrit : > > > > > > > > > > I dont know if you guys are aware of this talk, very funny , quite > weird , so I thought why not share it with you > > > > > > https://www.destroyallsoftware.com/talks/wat > > > > Yeah, Amber kind of alleviates some of these pain points... > > > > >
