Ok. Then we can have an ordered expression :)
A sequence without a declaration is a bit useless.


On Fri, Jun 30, 2017 at 11:56 AM, Damien Pollet <damien.pol...@gmail.com> wrote:
> Surprising that a sequence is not an expression. I'm pretty sure that (1+2.
> 2+3) is an expression that returns 5 (after computing a useless addition).
> What is currently not an expression is the variable declaration, indeed. But
> if we make |d| an expression then that means we can declare variables in the
> middle of a sequence… so it would still have the same lifetime, but a
> shorter scope ?
>
> On 30 June 2017 at 11:32, Stephane Ducasse <stepharo.s...@gmail.com> wrote:
>>
>> I do not get why (Yes I know it is because it is not in the syntax....
>> but it is conceptually not nice).
>>
>> | d |
>> d := Dictionary new.
>> d at: #top at: #below1 put: 1.
>> d at: #top at: #below1 put: 2.
>> d at: #top at: #below1.
>>
>> is not an expression in Pharo.
>>
>> It means that I can manipulate
>>
>> 1 + 3,
>> x + 3 as an expression
>> but not a sequence.
>>
>> So it forces me to use a block to convert artificially a sequence
>> in an expression.
>>
>> [
>> | d |
>> d := Dictionary new.
>> d at: #top at: #below1 put: 1.
>> d at: #top at: #below1 put: 2.
>> d at: #top at: #below1.
>> ] value
>>
>> So if I want to build a repl executing expression then this is not a
>> Pharo repl but just a stupid expression.
>>
>> I would like to know what would be impact to have sequence and
>> declaration as expression.
>>
>> Stef
>>
>
>
>
> --
> Damien Pollet
> type less, do more [ | ] http://people.untyped.org/damien.pollet

Reply via email to