PositionnableStream>>peekFor: not standard
Klaus D. Witzel
klaus.witzel at cobss.com
Thu Mar 1 12:09:02 UTC 2007
On Thu, 01 Mar 2007 12:24:03 +0100, Bert Freudenberg wrote:
> But why should there be a method #peekFor: if it does not more than
> #peek and #=? These two would do the same
>
> stream peekFor: $a
> stream peek = $a
>
> That would be strange.
+1 don't reimplement the implemented. Talk small and do great things.
> I don't find the name "peek" offensive in its current meaning.
/Klaus
> OTOH, if there was a better name for what it does, I'd not be violently
> opposed to changing it. As an aside, there is a similar method:
>
> stream match: 'a'
>
> would do the same as the "advancing" #peekFor: but for a collection.
>
> - Bert -
>
> On Mar 1, 2007, at 1:57 , Ron Teitelbaum wrote:
>
>> You know I still think it's wrong and should be implemented the way the
>> standard says. Peek should peek regardless of how it is eventually
>> used and
>> how all of the Smalltalk's implement it. I can't be the only one that
>> saw
>> it didn't work as expected and didn't use it because of that. Notice
>> that
>> there are few senders of peekFor: and lots of senders of peek even
>> though
>> many of the senders of peek are really peek fors. Seems like a me-too
>> implementation issue.
>>
>> I'll give you that the uses of peekFor: in the parsers are very cleaver
>> uses
>> of peekFor: (ex. negative := peekFor: $-. ) and I do get how and why
>> it's
>> implemented the way it is but I still won't use it.
>>
>> I do agree, even though I won't use it, that it should be left the way
>> it is
>> since it is consistent with all the other Smalltalks. I wonder how many
>> other standards are not followed. Did anyone check #isEmpty on
>> PositionableStream?
>>
>> Ron Teitelbaum
>>
>>
>>> From: Andreas Raab
>>> Sent: Wednesday, February 28, 2007 5:23 PM
>>>
>>> nicolas cellier wrote:
>>>> James Foster a écrit :
>>>>> Actually, in this case I'd suggest that we change the standard! In
>>>>> each of
>>>>> the six Smalltalk dialects I have available (Dolphin, GemStone,
>>>>> Squeak,
>>>>> VisualAge, VisualSmalltalk, VisualWorks) the following returns true:
>>>>>
>>>>> ((ReadStream on: 'abc') peekFor: $a; next) = $b.
>>>>>
>>>>
>>>> Also add stx (Smalltalk-X) and gst (GNU Smalltalk) to the list.
>>>
>>> I can't help but wonder how ANSI ended up with that definition if
>>> basically every Smalltalk in existence does it differently. Just one of
>>> those "design by committee" decisions? Or perhaps there is a good
>>> reason
>>> for it that just never made the light of the day? Mostly, the standards
>>> committee seemed to have gone with existing notions if there wide
>>> agreement on them - peekFor: seems to be one of those cases where the
>>> standard went wildly differently and I really wonder why.
>>>
>>> Cheers,
>>> - Andreas
>>>
>>
>>
>>
>
>
>
>
More information about the Squeak-dev
mailing list
|