, for vector creation

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
37 messages Options
12
Reply | Threaded
Open this post in threaded view
|

, for vector creation

Tudor Girba-2
Hi,

As mentioned in the separate thread, we played with introducing the extension:

, aNumber
        ^ BlVector2D x: self y: aNumber

This means that (10,20) will return a 2D vector.

We also have (10,20,30) which returns a 3D vector.

, is used for different meanings already in the image beside the collection concatenation. For example, in FileReference is adds a file extension. And Exceptions create a collection. In other packages, PetitParser uses it as a sequence operator.

Please voice your concerns.

Cheers,
Doru


--
www.tudorgirba.com
www.feenk.com

"Every thing should have the right to be different."





Reply | Threaded
Open this post in threaded view
|

Re: , for vector creation

Peter Uhnak
For example, in FileReference is adds a file extension. PetitParser uses it as a sequence operator.

But in both cases #, is sent to FileReference/Petit parser instance, so it is contained.
You would use it on a (generic) Number and tie it to specific Bloc meaning. Maybe have a polymorphic Vector in regular Pharo (I would imagine that PolyMath could also make use of that)?

Peter
Reply | Threaded
Open this post in threaded view
|

Re: , for vector creation

Tudor Girba-2
Hi,

Vector is not Bloc-sepcific. We just need it in Bloc and because there wasn’t any, we now have one in Bloc. But, it can be pulled out without any issues.

Cheers,
Doru


> On Oct 25, 2017, at 8:21 PM, Peter Uhnák <[hidden email]> wrote:
>
> For example, in FileReference is adds a file extension. PetitParser uses it as a sequence operator.
>
> But in both cases #, is sent to FileReference/Petit parser instance, so it is contained.
> You would use it on a (generic) Number and tie it to specific Bloc meaning. Maybe have a polymorphic Vector in regular Pharo (I would imagine that PolyMath could also make use of that)?
>
> Peter

--
www.tudorgirba.com
www.feenk.com

"Obvious things are difficult to teach."





Reply | Threaded
Open this post in threaded view
|

, for vector creation

Torsten Bergmann
In reply to this post by Tudor Girba-2
Hi,

there might be reasons for an own 2D vector class (instead of using Point).
But still I dislike the reimplementation of  "," because for me so far it
has the meaning of "concatenating things".

Here you redefine it to create vector instances and it works only up to three
so far. Right?

I understand that this gives some similarities with the math notation (1,2)
but I personally would prefer to use:

    1@2 asVector

or  Vector2D x: 1 y: 2

Thx
T.



> Gesendet: Mittwoch, 25. Oktober 2017 um 20:06 Uhr
> Von: "Tudor Girba" <[hidden email]>
> An: "Pharo Development List" <[hidden email]>
> Betreff: [Pharo-dev] , for vector creation
>
> Hi,
>
> As mentioned in the separate thread, we played with introducing the extension:
>
> , aNumber
> ^ BlVector2D x: self y: aNumber
>
> This means that (10,20) will return a 2D vector.
>
> We also have (10,20,30) which returns a 3D vector.
>
> , is used for different meanings already in the image beside the collection concatenation. For example, in FileReference is adds a file extension. And Exceptions create a collection. In other packages, PetitParser uses it as a sequence operator.
>
> Please voice your concerns.
>
> Cheers,
> Doru
>
>
> --
> www.tudorgirba.com
> www.feenk.com
>
> "Every thing should have the right to be different."
>
>
>
>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: , for vector creation

Stephane Ducasse-3
In reply to this post by Tudor Girba-2
In Polymath I guess that the vectors are longer. But if I'm correct it
is #( 12 23) asVector.

Doru did you look at Jun because Jun introduced 3DPoint and I wonder
if they did not introduce Vector?

What would be the alternatives for vector?
Any idea how this is done in other languages

1~>2
1!2
1-}2

Stef


On Wed, Oct 25, 2017 at 8:56 PM, Tudor Girba <[hidden email]> wrote:

> Hi,
>
> Vector is not Bloc-sepcific. We just need it in Bloc and because there wasn’t any, we now have one in Bloc. But, it can be pulled out without any issues.
>
> Cheers,
> Doru
>
>
>> On Oct 25, 2017, at 8:21 PM, Peter Uhnák <[hidden email]> wrote:
>>
>> For example, in FileReference is adds a file extension. PetitParser uses it as a sequence operator.
>>
>> But in both cases #, is sent to FileReference/Petit parser instance, so it is contained.
>> You would use it on a (generic) Number and tie it to specific Bloc meaning. Maybe have a polymorphic Vector in regular Pharo (I would imagine that PolyMath could also make use of that)?
>>
>> Peter
>
> --
> www.tudorgirba.com
> www.feenk.com
>
> "Obvious things are difficult to teach."
>
>
>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: , for vector creation

Denis Kudriashov
2017-10-25 22:53 GMT+02:00 Stephane Ducasse <[hidden email]>:
In Polymath I guess that the vectors are longer. But if I'm correct it
is #( 12 23) asVector.

And I am wondering, Polymath already implements linear algebra. Right? Can we just use it in Bloc?
 

Doru did you look at Jun because Jun introduced 3DPoint and I wonder
if they did not introduce Vector?

What would be the alternatives for vector?
Any idea how this is done in other languages

1~>2
1!2
1-}2

Stef


On Wed, Oct 25, 2017 at 8:56 PM, Tudor Girba <[hidden email]> wrote:
> Hi,
>
> Vector is not Bloc-sepcific. We just need it in Bloc and because there wasn’t any, we now have one in Bloc. But, it can be pulled out without any issues.
>
> Cheers,
> Doru
>
>
>> On Oct 25, 2017, at 8:21 PM, Peter Uhnák <[hidden email]> wrote:
>>
>> For example, in FileReference is adds a file extension. PetitParser uses it as a sequence operator.
>>
>> But in both cases #, is sent to FileReference/Petit parser instance, so it is contained.
>> You would use it on a (generic) Number and tie it to specific Bloc meaning. Maybe have a polymorphic Vector in regular Pharo (I would imagine that PolyMath could also make use of that)?
>>
>> Peter
>
> --
> www.tudorgirba.com
> www.feenk.com
>
> "Obvious things are difficult to teach."
>
>
>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: , for vector creation

henry
In reply to this post by Stephane Ducasse-3
I would note that 1 ! 2 creates/extends an ETuple in eLinda.

- HH


On Wed, Oct 25, 2017 at 16:53, Stephane Ducasse <[hidden email]> wrote:
In Polymath I guess that the vectors are longer. But if I'm correct it is #( 12 23) asVector. Doru did you look at Jun because Jun introduced 3DPoint and I wonder if they did not introduce Vector? What would be the alternatives for vector? Any idea how this is done in other languages 1~>2 1!2 1-}2 Stef On Wed, Oct 25, 2017 at 8:56 PM, Tudor Girba wrote: > Hi, > > Vector is not Bloc-sepcific. We just need it in Bloc and because there wasn’t any, we now have one in Bloc. But, it can be pulled out without any issues. > > Cheers, > Doru > > >> On Oct 25, 2017, at 8:21 PM, Peter Uhnák wrote: >> >> For example, in FileReference is adds a file extension. PetitParser uses it as a sequence operator. >> >> But in both cases #, is sent to FileReference/Petit parser instance, so it is contained. >> You would use it on a (generic) Number and tie it to specific Bloc meaning. Maybe have a polymorphic Vector in regular Pharo (I would imagine that PolyMath could also make use of that)? >> >> Peter > > -- > www.tudorgirba.com > www.feenk.com > > "Obvious things are difficult to teach." > > > > >
Reply | Threaded
Open this post in threaded view
|

Re: , for vector creation

Nicolai Hess-3-2
In reply to this post by Torsten Bergmann


Am 25.10.2017 10:50 PM schrieb "Torsten Bergmann" <[hidden email]>:
Hi,

there might be reasons for an own 2D vector class (instead of using Point).
But still I dislike the reimplementation of  "," because for me so far it
has the meaning of "concatenating things".


Like concatenating coordinates :-)



Here you redefine it to create vector instances and it works only up to three
so far. Right?

I understand that this gives some similarities with the math notation (1,2)
but I personally would prefer to use:

    1@2 asVector

or  Vector2D x: 1 y: 2

Thx
T.



> Gesendet: Mittwoch, 25. Oktober 2017 um 20:06 Uhr
> Von: "Tudor Girba" <[hidden email]>
> An: "Pharo Development List" <[hidden email]>
> Betreff: [Pharo-dev] , for vector creation
>
> Hi,
>
> As mentioned in the separate thread, we played with introducing the extension:
>
> , aNumber
>       ^ BlVector2D x: self y: aNumber
>
> This means that (10,20) will return a 2D vector.
>
> We also have (10,20,30) which returns a 3D vector.
>
> , is used for different meanings already in the image beside the collection concatenation. For example, in FileReference is adds a file extension. And Exceptions create a collection. In other packages, PetitParser uses it as a sequence operator.
>
> Please voice your concerns.
>
> Cheers,
> Doru
>
>
> --
> www.tudorgirba.com
> www.feenk.com
>
> "Every thing should have the right to be different."
>
>
>
>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: , for vector creation

philippeback
I also like the , message for those vectors and the concatenation of dimensions makes sense.

vector := (1,3,4,5,7,-2).

looks how it should be.

Readable, easy to translate vector stuff from reference text.

Phil


On Thu, Oct 26, 2017 at 7:00 AM, Nicolai Hess <[hidden email]> wrote:


Am 25.10.2017 10:50 PM schrieb "Torsten Bergmann" <[hidden email]>:
Hi,

there might be reasons for an own 2D vector class (instead of using Point).
But still I dislike the reimplementation of  "," because for me so far it
has the meaning of "concatenating things".


Like concatenating coordinates :-)



Here you redefine it to create vector instances and it works only up to three
so far. Right?

I understand that this gives some similarities with the math notation (1,2)
but I personally would prefer to use:

    1@2 asVector

or  Vector2D x: 1 y: 2

Thx
T.



> Gesendet: Mittwoch, 25. Oktober 2017 um 20:06 Uhr
> Von: "Tudor Girba" <[hidden email]>
> An: "Pharo Development List" <[hidden email]>
> Betreff: [Pharo-dev] , for vector creation
>
> Hi,
>
> As mentioned in the separate thread, we played with introducing the extension:
>
> , aNumber
>       ^ BlVector2D x: self y: aNumber
>
> This means that (10,20) will return a 2D vector.
>
> We also have (10,20,30) which returns a 3D vector.
>
> , is used for different meanings already in the image beside the collection concatenation. For example, in FileReference is adds a file extension. And Exceptions create a collection. In other packages, PetitParser uses it as a sequence operator.
>
> Please voice your concerns.
>
> Cheers,
> Doru
>
>
> --
> www.tudorgirba.com
> www.feenk.com
>
> "Every thing should have the right to be different."
>
>
>
>
>
>



Reply | Threaded
Open this post in threaded view
|

Re: , for vector creation

Peter Uhnak
Automatic formatting will turn it into

vector := 1,3,4,5,7,-2.

Which is not as nice.

And even though it looks ok for literal numbers (#(1 3 4 5 7 -2) asVector would work too), this starts to look quite generic:

vector := width, height, depth.


Question: why not extend @ notation?

x @ y @ z?

Peter



On Thu, Oct 26, 2017 at 8:22 AM, [hidden email] <[hidden email]> wrote:
I also like the , message for those vectors and the concatenation of dimensions makes sense.

vector := (1,3,4,5,7,-2).

looks how it should be.

Readable, easy to translate vector stuff from reference text.

Phil


On Thu, Oct 26, 2017 at 7:00 AM, Nicolai Hess <[hidden email]> wrote:


Am 25.10.2017 10:50 PM schrieb "Torsten Bergmann" <[hidden email]>:
Hi,

there might be reasons for an own 2D vector class (instead of using Point).
But still I dislike the reimplementation of  "," because for me so far it
has the meaning of "concatenating things".


Like concatenating coordinates :-)



Here you redefine it to create vector instances and it works only up to three
so far. Right?

I understand that this gives some similarities with the math notation (1,2)
but I personally would prefer to use:

    1@2 asVector

or  Vector2D x: 1 y: 2

Thx
T.



> Gesendet: Mittwoch, 25. Oktober 2017 um 20:06 Uhr
> Von: "Tudor Girba" <[hidden email]>
> An: "Pharo Development List" <[hidden email]>
> Betreff: [Pharo-dev] , for vector creation
>
> Hi,
>
> As mentioned in the separate thread, we played with introducing the extension:
>
> , aNumber
>       ^ BlVector2D x: self y: aNumber
>
> This means that (10,20) will return a 2D vector.
>
> We also have (10,20,30) which returns a 3D vector.
>
> , is used for different meanings already in the image beside the collection concatenation. For example, in FileReference is adds a file extension. And Exceptions create a collection. In other packages, PetitParser uses it as a sequence operator.
>
> Please voice your concerns.
>
> Cheers,
> Doru
>
>
> --
> www.tudorgirba.com
> www.feenk.com
>
> "Every thing should have the right to be different."
>
>
>
>
>
>




Reply | Threaded
Open this post in threaded view
|

Re: , for vector creation

philippeback
#(1 3 4 5 7 -2) asVector

Meh.
Ugly.

{ 1. 3. 4. a. b } asVector

is the natural consequence.

v := (1,3,4,5,7,-2) asVector

keeps the parens. But why do I need to do that?

Autoformatting messing with my parentheses is just a mistake.
I put them in, leave them where they are, 'kay? I do not need an editor that rewrites what I tell it. AST power or not.

And frankly, I like the "Feenk way of doing things" most of the time, so I am willing to go that route.

Phil


On Thu, Oct 26, 2017 at 8:52 AM, Peter Uhnák <[hidden email]> wrote:

>
> Automatic formatting will turn it into
>
> vector := 1,3,4,5,7,-2.
>
> Which is not as nice.
>
> And even though it looks ok for literal numbers (#(1 3 4 5 7 -2) asVector would work too), this starts to look quite generic:
>
> vector := width, height, depth.
>
>
> Question: why not extend @ notation?
>
> x @ y @ z?
>
> Peter
>
>
>
> On Thu, Oct 26, 2017 at 8:22 AM, [hidden email] <[hidden email]> wrote:
>>
>> I also like the , message for those vectors and the concatenation of dimensions makes sense.
>>
>> vector := (1,3,4,5,7,-2).
>>
>> looks how it should be.
>>
>> Readable, easy to translate vector stuff from reference text.
>>
>> Phil
>>
>>
>> On Thu, Oct 26, 2017 at 7:00 AM, Nicolai Hess <[hidden email]> wrote:
>>>
>>>
>>>
>>> Am 25.10.2017 10:50 PM schrieb "Torsten Bergmann" <[hidden email]>:
>>>
>>> Hi,
>>>
>>> there might be reasons for an own 2D vector class (instead of using Point).
>>> But still I dislike the reimplementation of  "," because for me so far it
>>> has the meaning of "concatenating things".
>>>
>>>
>>>
>>> Like concatenating coordinates :-)
>>>
>>>
>>>
>>> Here you redefine it to create vector instances and it works only up to three
>>> so far. Right?
>>>
>>> I understand that this gives some similarities with the math notation (1,2)
>>> but I personally would prefer to use:
>>>
>>>     1@2 asVector
>>>
>>> or  Vector2D x: 1 y: 2
>>>
>>> Thx
>>> T.
>>>
>>>
>>>
>>> > Gesendet: Mittwoch, 25. Oktober 2017 um 20:06 Uhr
>>> > Von: "Tudor Girba" <[hidden email]>
>>> > An: "Pharo Development List" <[hidden email]>
>>> > Betreff: [Pharo-dev] , for vector creation
>>> >
>>> > Hi,
>>> >
>>> > As mentioned in the separate thread, we played with introducing the extension:
>>> >
>>> > , aNumber
>>> >       ^ BlVector2D x: self y: aNumber
>>> >
>>> > This means that (10,20) will return a 2D vector.
>>> >
>>> > We also have (10,20,30) which returns a 3D vector.
>>> >
>>> > , is used for different meanings already in the image beside the collection concatenation. For example, in FileReference is adds a file extension. And Exceptions create a collection. In other packages, PetitParser uses it as a sequence operator.
>>> >
>>> > Please voice your concerns.
>>> >
>>> > Cheers,
>>> > Doru
>>> >
>>> >
>>> > --
>>> > www.tudorgirba.com
>>> > www.feenk.com
>>> >
>>> > "Every thing should have the right to be different."
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>>
>>>
>>
>
Reply | Threaded
Open this post in threaded view
|

Re: , for vector creation

Denis Kudriashov
Another question.

Will not these vectors deprecate Point in future ? Imaging that we will completely move to Bloc.

And what about Rectangle? (Bloc implements own BlRectangle).

2017-10-26 9:26 GMT+02:00 [hidden email] <[hidden email]>:
#(1 3 4 5 7 -2) asVector

Meh.
Ugly.

{ 1. 3. 4. a. b } asVector

is the natural consequence.

v := (1,3,4,5,7,-2) asVector

keeps the parens. But why do I need to do that?

Autoformatting messing with my parentheses is just a mistake.
I put them in, leave them where they are, 'kay? I do not need an editor that rewrites what I tell it. AST power or not.

And frankly, I like the "Feenk way of doing things" most of the time, so I am willing to go that route.

Phil



On Thu, Oct 26, 2017 at 8:52 AM, Peter Uhnák <[hidden email]> wrote:

>
> Automatic formatting will turn it into
>
> vector := 1,3,4,5,7,-2.
>
> Which is not as nice.
>
> And even though it looks ok for literal numbers (#(1 3 4 5 7 -2) asVector would work too), this starts to look quite generic:
>
> vector := width, height, depth.
>
>
> Question: why not extend @ notation?
>
> x @ y @ z?
>
> Peter
>
>
>
> On Thu, Oct 26, 2017 at 8:22 AM, [hidden email] <[hidden email]> wrote:
>>
>> I also like the , message for those vectors and the concatenation of dimensions makes sense.
>>
>> vector := (1,3,4,5,7,-2).
>>
>> looks how it should be.
>>
>> Readable, easy to translate vector stuff from reference text.
>>
>> Phil
>>
>>
>> On Thu, Oct 26, 2017 at 7:00 AM, Nicolai Hess <[hidden email]> wrote:
>>>
>>>
>>>
>>> Am 25.10.2017 10:50 PM schrieb "Torsten Bergmann" <[hidden email]>:
>>>
>>> Hi,
>>>
>>> there might be reasons for an own 2D vector class (instead of using Point).
>>> But still I dislike the reimplementation of  "," because for me so far it
>>> has the meaning of "concatenating things".
>>>
>>>
>>>
>>> Like concatenating coordinates :-)
>>>
>>>
>>>
>>> Here you redefine it to create vector instances and it works only up to three
>>> so far. Right?
>>>
>>> I understand that this gives some similarities with the math notation (1,2)
>>> but I personally would prefer to use:
>>>
>>>     1@2 asVector
>>>
>>> or  Vector2D x: 1 y: 2
>>>
>>> Thx
>>> T.
>>>
>>>
>>>
>>> > Gesendet: Mittwoch, 25. Oktober 2017 um 20:06 Uhr
>>> > Von: "Tudor Girba" <[hidden email]>
>>> > An: "Pharo Development List" <[hidden email]>
>>> > Betreff: [Pharo-dev] , for vector creation
>>> >
>>> > Hi,
>>> >
>>> > As mentioned in the separate thread, we played with introducing the extension:
>>> >
>>> > , aNumber
>>> >       ^ BlVector2D x: self y: aNumber
>>> >
>>> > This means that (10,20) will return a 2D vector.
>>> >
>>> > We also have (10,20,30) which returns a 3D vector.
>>> >
>>> > , is used for different meanings already in the image beside the collection concatenation. For example, in FileReference is adds a file extension. And Exceptions create a collection. In other packages, PetitParser uses it as a sequence operator.
>>> >
>>> > Please voice your concerns.
>>> >
>>> > Cheers,
>>> > Doru
>>> >
>>> >
>>> > --
>>> > www.tudorgirba.com
>>> > www.feenk.com
>>> >
>>> > "Every thing should have the right to be different."
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>>
>>>
>>
>

Reply | Threaded
Open this post in threaded view
|

Re: , for vector creation

Tudor Girba-2
In reply to this post by Stephane Ducasse-3
Hi,

> On Oct 25, 2017, at 10:53 PM, Stephane Ducasse <[hidden email]> wrote:
>
> In Polymath I guess that the vectors are longer.

Vectors can be longer. We just use 2D and 3D in Bloc.

> But if I'm correct it
> is #( 12 23) asVector.

I like this one. We’ll definitely take a look.

> Doru did you look at Jun because Jun introduced 3DPoint and I wonder
> if they did not introduce Vector?

I did not look at that.

> What would be the alternatives for vector?
> Any idea how this is done in other languages
>
> 1~>2
> 1!2
> 1-}2

Nope.

Doru


> Stef
>
>
> On Wed, Oct 25, 2017 at 8:56 PM, Tudor Girba <[hidden email]> wrote:
>> Hi,
>>
>> Vector is not Bloc-sepcific. We just need it in Bloc and because there wasn’t any, we now have one in Bloc. But, it can be pulled out without any issues.
>>
>> Cheers,
>> Doru
>>
>>
>>> On Oct 25, 2017, at 8:21 PM, Peter Uhnák <[hidden email]> wrote:
>>>
>>> For example, in FileReference is adds a file extension. PetitParser uses it as a sequence operator.
>>>
>>> But in both cases #, is sent to FileReference/Petit parser instance, so it is contained.
>>> You would use it on a (generic) Number and tie it to specific Bloc meaning. Maybe have a polymorphic Vector in regular Pharo (I would imagine that PolyMath could also make use of that)?
>>>
>>> Peter
>>
>> --
>> www.tudorgirba.com
>> www.feenk.com
>>
>> "Obvious things are difficult to teach."
>>
>>
>>
>>
>>
>

--
www.tudorgirba.com
www.feenk.com

"One cannot do more than one can do."





Reply | Threaded
Open this post in threaded view
|

Re: , for vector creation

Tudor Girba-2
In reply to this post by Denis Kudriashov
Hi,
> On Oct 26, 2017, at 10:10 AM, Denis Kudriashov <[hidden email]> wrote:
>
> Another question.
>
> Will not these vectors deprecate Point in future ? Imaging that we will completely move to Bloc.

No. Point is a perfectly reasonable data structure to describe a position. A Vector is something else and has other contracts. The coincidence is that they share the same variables, but they have different API. For example, a vector has #length. A point does not.

> And what about Rectangle? (Bloc implements own BlRectangle).

These two do not have the same semantics. BlRectangle is a BlGeometry and is used for defining a path within an element. BlRectangle is polymorphic with other paths such as BlEllipse or BlPolygon. Rectangle is a generic data structure that can be used for other purposes.

We should definitely try to find commonalities and opportunities for unification. However, we should not confuse state with types which are defined by the purpose they are used for (and associated behavior).

Doru



> 2017-10-26 9:26 GMT+02:00 [hidden email] <[hidden email]>:
> #(1 3 4 5 7 -2) asVector
>
> Meh.
> Ugly.
>
> { 1. 3. 4. a. b } asVector
>
> is the natural consequence.
>
> v := (1,3,4,5,7,-2) asVector
>
> keeps the parens. But why do I need to do that?
>
> Autoformatting messing with my parentheses is just a mistake.
> I put them in, leave them where they are, 'kay? I do not need an editor that rewrites what I tell it. AST power or not.
>
> And frankly, I like the "Feenk way of doing things" most of the time, so I am willing to go that route.
>
> Phil
>
>
>
> On Thu, Oct 26, 2017 at 8:52 AM, Peter Uhnák <[hidden email]> wrote:
> >
> > Automatic formatting will turn it into
> >
> > vector := 1,3,4,5,7,-2.
> >
> > Which is not as nice.
> >
> > And even though it looks ok for literal numbers (#(1 3 4 5 7 -2) asVector would work too), this starts to look quite generic:
> >
> > vector := width, height, depth.
> >
> >
> > Question: why not extend @ notation?
> >
> > x @ y @ z?
> >
> > Peter
> >
> >
> >
> > On Thu, Oct 26, 2017 at 8:22 AM, [hidden email] <[hidden email]> wrote:
> >>
> >> I also like the , message for those vectors and the concatenation of dimensions makes sense.
> >>
> >> vector := (1,3,4,5,7,-2).
> >>
> >> looks how it should be.
> >>
> >> Readable, easy to translate vector stuff from reference text.
> >>
> >> Phil
> >>
> >>
> >> On Thu, Oct 26, 2017 at 7:00 AM, Nicolai Hess <[hidden email]> wrote:
> >>>
> >>>
> >>>
> >>> Am 25.10.2017 10:50 PM schrieb "Torsten Bergmann" <[hidden email]>:
> >>>
> >>> Hi,
> >>>
> >>> there might be reasons for an own 2D vector class (instead of using Point).
> >>> But still I dislike the reimplementation of  "," because for me so far it
> >>> has the meaning of "concatenating things".
> >>>
> >>>
> >>>
> >>> Like concatenating coordinates :-)
> >>>
> >>>
> >>>
> >>> Here you redefine it to create vector instances and it works only up to three
> >>> so far. Right?
> >>>
> >>> I understand that this gives some similarities with the math notation (1,2)
> >>> but I personally would prefer to use:
> >>>
> >>>     1@2 asVector
> >>>
> >>> or  Vector2D x: 1 y: 2
> >>>
> >>> Thx
> >>> T.
> >>>
> >>>
> >>>
> >>> > Gesendet: Mittwoch, 25. Oktober 2017 um 20:06 Uhr
> >>> > Von: "Tudor Girba" <[hidden email]>
> >>> > An: "Pharo Development List" <[hidden email]>
> >>> > Betreff: [Pharo-dev] , for vector creation
> >>> >
> >>> > Hi,
> >>> >
> >>> > As mentioned in the separate thread, we played with introducing the extension:
> >>> >
> >>> > , aNumber
> >>> >       ^ BlVector2D x: self y: aNumber
> >>> >
> >>> > This means that (10,20) will return a 2D vector.
> >>> >
> >>> > We also have (10,20,30) which returns a 3D vector.
> >>> >
> >>> > , is used for different meanings already in the image beside the collection concatenation. For example, in FileReference is adds a file extension. And Exceptions create a collection. In other packages, PetitParser uses it as a sequence operator.
> >>> >
> >>> > Please voice your concerns.
> >>> >
> >>> > Cheers,
> >>> > Doru
> >>> >
> >>> >
> >>> > --
> >>> > www.tudorgirba.com
> >>> > www.feenk.com
> >>> >
> >>> > "Every thing should have the right to be different."
> >>> >
> >>> >
> >>> >
> >>> >
> >>> >
> >>> >
> >>>
> >>>
> >>
> >
>

--
www.tudorgirba.com
www.feenk.com

"When people care, great things can happen."





Reply | Threaded
Open this post in threaded view
|

Re: , for vector creation

Tudor Girba-2
In reply to this post by Peter Uhnak

> On Oct 26, 2017, at 8:52 AM, Peter Uhnák <[hidden email]> wrote:
>
> Automatic formatting will turn it into
>
> vector := 1,3,4,5,7,-2.
>
> Which is not as nice.

While this can be an issue, I see it as secondary, because formatting should help recognize intention, not force us to comply with a standard created by someone else.

> And even though it looks ok for literal numbers (#(1 3 4 5 7 -2) asVector would work too), this starts to look quite generic:
>
> vector := width, height, depth.

I am not sure I understand this point. Could you explain?

>
> Question: why not extend @ notation?
>
> x @ y @ z?

We do not want that specific one because Vectors are not Points. At least not in our context.

Doru


> Peter
>
>
>
> On Thu, Oct 26, 2017 at 8:22 AM, [hidden email] <[hidden email]> wrote:
> I also like the , message for those vectors and the concatenation of dimensions makes sense.
>
> vector := (1,3,4,5,7,-2).
>
> looks how it should be.
>
> Readable, easy to translate vector stuff from reference text.
>
> Phil
>
>
> On Thu, Oct 26, 2017 at 7:00 AM, Nicolai Hess <[hidden email]> wrote:
>
>
> Am 25.10.2017 10:50 PM schrieb "Torsten Bergmann" <[hidden email]>:
> Hi,
>
> there might be reasons for an own 2D vector class (instead of using Point).
> But still I dislike the reimplementation of  "," because for me so far it
> has the meaning of "concatenating things".
>
>
> Like concatenating coordinates :-)
>
>
>
> Here you redefine it to create vector instances and it works only up to three
> so far. Right?
>
> I understand that this gives some similarities with the math notation (1,2)
> but I personally would prefer to use:
>
>     1@2 asVector
>
> or  Vector2D x: 1 y: 2
>
> Thx
> T.
>
>
>
> > Gesendet: Mittwoch, 25. Oktober 2017 um 20:06 Uhr
> > Von: "Tudor Girba" <[hidden email]>
> > An: "Pharo Development List" <[hidden email]>
> > Betreff: [Pharo-dev] , for vector creation
> >
> > Hi,
> >
> > As mentioned in the separate thread, we played with introducing the extension:
> >
> > , aNumber
> >       ^ BlVector2D x: self y: aNumber
> >
> > This means that (10,20) will return a 2D vector.
> >
> > We also have (10,20,30) which returns a 3D vector.
> >
> > , is used for different meanings already in the image beside the collection concatenation. For example, in FileReference is adds a file extension. And Exceptions create a collection. In other packages, PetitParser uses it as a sequence operator.
> >
> > Please voice your concerns.
> >
> > Cheers,
> > Doru
> >
> >
> > --
> > www.tudorgirba.com
> > www.feenk.com
> >
> > "Every thing should have the right to be different."
> >
> >
> >
> >
> >
> >
>
>
>
>

--
www.tudorgirba.com
www.feenk.com

"Reasonable is what we are accustomed with."


Reply | Threaded
Open this post in threaded view
|

Re: , for vector creation

Tudor Girba-2
In reply to this post by Nicolai Hess-3-2
Hi,

> On Oct 26, 2017, at 7:00 AM, Nicolai Hess <[hidden email]> wrote:
>
>
>
> Am 25.10.2017 10:50 PM schrieb "Torsten Bergmann" <[hidden email]>:
> Hi,
>
> there might be reasons for an own 2D vector class (instead of using Point).
> But still I dislike the reimplementation of  "," because for me so far it
> has the meaning of "concatenating things".
>
>
> Like concatenating coordinates :-)

Indeed, this is what we see it as well.

Doru

>
>
>
> Here you redefine it to create vector instances and it works only up to three
> so far. Right?
>
> I understand that this gives some similarities with the math notation (1,2)
> but I personally would prefer to use:
>
>     1@2 asVector
>
> or  Vector2D x: 1 y: 2
>
> Thx
> T.
>
>
>
> > Gesendet: Mittwoch, 25. Oktober 2017 um 20:06 Uhr
> > Von: "Tudor Girba" <[hidden email]>
> > An: "Pharo Development List" <[hidden email]>
> > Betreff: [Pharo-dev] , for vector creation
> >
> > Hi,
> >
> > As mentioned in the separate thread, we played with introducing the extension:
> >
> > , aNumber
> >       ^ BlVector2D x: self y: aNumber
> >
> > This means that (10,20) will return a 2D vector.
> >
> > We also have (10,20,30) which returns a 3D vector.
> >
> > , is used for different meanings already in the image beside the collection concatenation. For example, in FileReference is adds a file extension. And Exceptions create a collection. In other packages, PetitParser uses it as a sequence operator.
> >
> > Please voice your concerns.
> >
> > Cheers,
> > Doru
> >
> >
> > --
> > www.tudorgirba.com
> > www.feenk.com
> >
> > "Every thing should have the right to be different."
> >
> >
> >
> >
> >
> >
>
>

--
www.tudorgirba.com
www.feenk.com

"Obvious things are difficult to teach."





Reply | Threaded
Open this post in threaded view
|

Re: , for vector creation

Denis Kudriashov
In reply to this post by Tudor Girba-2
2017-10-26 10:20 GMT+02:00 Tudor Girba <[hidden email]>:
Hi,
> On Oct 26, 2017, at 10:10 AM, Denis Kudriashov <[hidden email]> wrote:
>
> Another question.
>
> Will not these vectors deprecate Point in future ? Imaging that we will completely move to Bloc.

No. Point is a perfectly reasonable data structure to describe a position. A Vector is something else and has other contracts. The coincidence is that they share the same variables, but they have different API. For example, a vector has #length. A point does not.

Now Point implements most vector operations. The #length is defined as radius by #r message. I imaging that with new vector you will reimplement many of Point methods. Also I doubt that Point plays any role in system which is different than math vector.
 

> And what about Rectangle? (Bloc implements own BlRectangle).

These two do not have the same semantics. BlRectangle is a BlGeometry and is used for defining a path within an element. BlRectangle is polymorphic with other paths such as BlEllipse or BlPolygon. Rectangle is a generic data structure that can be used for other purposes.

We should definitely try to find commonalities and opportunities for unification. However, we should not confuse state with types which are defined by the purpose they are used for (and associated behavior).

Doru



> 2017-10-26 9:26 GMT+02:00 [hidden email] <[hidden email]>:
> #(1 3 4 5 7 -2) asVector
>
> Meh.
> Ugly.
>
> { 1. 3. 4. a. b } asVector
>
> is the natural consequence.
>
> v := (1,3,4,5,7,-2) asVector
>
> keeps the parens. But why do I need to do that?
>
> Autoformatting messing with my parentheses is just a mistake.
> I put them in, leave them where they are, 'kay? I do not need an editor that rewrites what I tell it. AST power or not.
>
> And frankly, I like the "Feenk way of doing things" most of the time, so I am willing to go that route.
>
> Phil
>
>
>
> On Thu, Oct 26, 2017 at 8:52 AM, Peter Uhnák <[hidden email]> wrote:
> >
> > Automatic formatting will turn it into
> >
> > vector := 1,3,4,5,7,-2.
> >
> > Which is not as nice.
> >
> > And even though it looks ok for literal numbers (#(1 3 4 5 7 -2) asVector would work too), this starts to look quite generic:
> >
> > vector := width, height, depth.
> >
> >
> > Question: why not extend @ notation?
> >
> > x @ y @ z?
> >
> > Peter
> >
> >
> >
> > On Thu, Oct 26, 2017 at 8:22 AM, [hidden email] <[hidden email]> wrote:
> >>
> >> I also like the , message for those vectors and the concatenation of dimensions makes sense.
> >>
> >> vector := (1,3,4,5,7,-2).
> >>
> >> looks how it should be.
> >>
> >> Readable, easy to translate vector stuff from reference text.
> >>
> >> Phil
> >>
> >>
> >> On Thu, Oct 26, 2017 at 7:00 AM, Nicolai Hess <[hidden email]> wrote:
> >>>
> >>>
> >>>
> >>> Am 25.10.2017 10:50 PM schrieb "Torsten Bergmann" <[hidden email]>:
> >>>
> >>> Hi,
> >>>
> >>> there might be reasons for an own 2D vector class (instead of using Point).
> >>> But still I dislike the reimplementation of  "," because for me so far it
> >>> has the meaning of "concatenating things".
> >>>
> >>>
> >>>
> >>> Like concatenating coordinates :-)
> >>>
> >>>
> >>>
> >>> Here you redefine it to create vector instances and it works only up to three
> >>> so far. Right?
> >>>
> >>> I understand that this gives some similarities with the math notation (1,2)
> >>> but I personally would prefer to use:
> >>>
> >>>     1@2 asVector
> >>>
> >>> or  Vector2D x: 1 y: 2
> >>>
> >>> Thx
> >>> T.
> >>>
> >>>
> >>>
> >>> > Gesendet: Mittwoch, 25. Oktober 2017 um 20:06 Uhr
> >>> > Von: "Tudor Girba" <[hidden email]>
> >>> > An: "Pharo Development List" <[hidden email]>
> >>> > Betreff: [Pharo-dev] , for vector creation
> >>> >
> >>> > Hi,
> >>> >
> >>> > As mentioned in the separate thread, we played with introducing the extension:
> >>> >
> >>> > , aNumber
> >>> >       ^ BlVector2D x: self y: aNumber
> >>> >
> >>> > This means that (10,20) will return a 2D vector.
> >>> >
> >>> > We also have (10,20,30) which returns a 3D vector.
> >>> >
> >>> > , is used for different meanings already in the image beside the collection concatenation. For example, in FileReference is adds a file extension. And Exceptions create a collection. In other packages, PetitParser uses it as a sequence operator.
> >>> >
> >>> > Please voice your concerns.
> >>> >
> >>> > Cheers,
> >>> > Doru
> >>> >
> >>> >
> >>> > --
> >>> > www.tudorgirba.com
> >>> > www.feenk.com
> >>> >
> >>> > "Every thing should have the right to be different."
> >>> >
> >>> >
> >>> >
> >>> >
> >>> >
> >>> >
> >>>
> >>>
> >>
> >
>

--
www.tudorgirba.com
www.feenk.com

"When people care, great things can happen."






Reply | Threaded
Open this post in threaded view
|

Re: , for vector creation

Tudor Girba-2
Hi,

> On Oct 26, 2017, at 10:36 AM, Denis Kudriashov <[hidden email]> wrote:
>
> 2017-10-26 10:20 GMT+02:00 Tudor Girba <[hidden email]>:
> Hi,
> > On Oct 26, 2017, at 10:10 AM, Denis Kudriashov <[hidden email]> wrote:
> >
> > Another question.
> >
> > Will not these vectors deprecate Point in future ? Imaging that we will completely move to Bloc.
>
> No. Point is a perfectly reasonable data structure to describe a position. A Vector is something else and has other contracts. The coincidence is that they share the same variables, but they have different API. For example, a vector has #length. A point does not.
>
> Now Point implements most vector operations. The #length is defined as radius by #r message. I imaging that with new vector you will reimplement many of Point methods. Also I doubt that Point plays any role in system which is different than math vector.

I think that over time we have accumulated all sorts of other usages for Point. For example, Rectangle uses origin and corner as a position not as vectors.

Doru

>
> > And what about Rectangle? (Bloc implements own BlRectangle).
>
> These two do not have the same semantics. BlRectangle is a BlGeometry and is used for defining a path within an element. BlRectangle is polymorphic with other paths such as BlEllipse or BlPolygon. Rectangle is a generic data structure that can be used for other purposes.
>
> We should definitely try to find commonalities and opportunities for unification. However, we should not confuse state with types which are defined by the purpose they are used for (and associated behavior).
>
> Doru
>
>
>
> > 2017-10-26 9:26 GMT+02:00 [hidden email] <[hidden email]>:
> > #(1 3 4 5 7 -2) asVector
> >
> > Meh.
> > Ugly.
> >
> > { 1. 3. 4. a. b } asVector
> >
> > is the natural consequence.
> >
> > v := (1,3,4,5,7,-2) asVector
> >
> > keeps the parens. But why do I need to do that?
> >
> > Autoformatting messing with my parentheses is just a mistake.
> > I put them in, leave them where they are, 'kay? I do not need an editor that rewrites what I tell it. AST power or not.
> >
> > And frankly, I like the "Feenk way of doing things" most of the time, so I am willing to go that route.
> >
> > Phil
> >
> >
> >
> > On Thu, Oct 26, 2017 at 8:52 AM, Peter Uhnák <[hidden email]> wrote:
> > >
> > > Automatic formatting will turn it into
> > >
> > > vector := 1,3,4,5,7,-2.
> > >
> > > Which is not as nice.
> > >
> > > And even though it looks ok for literal numbers (#(1 3 4 5 7 -2) asVector would work too), this starts to look quite generic:
> > >
> > > vector := width, height, depth.
> > >
> > >
> > > Question: why not extend @ notation?
> > >
> > > x @ y @ z?
> > >
> > > Peter
> > >
> > >
> > >
> > > On Thu, Oct 26, 2017 at 8:22 AM, [hidden email] <[hidden email]> wrote:
> > >>
> > >> I also like the , message for those vectors and the concatenation of dimensions makes sense.
> > >>
> > >> vector := (1,3,4,5,7,-2).
> > >>
> > >> looks how it should be.
> > >>
> > >> Readable, easy to translate vector stuff from reference text.
> > >>
> > >> Phil
> > >>
> > >>
> > >> On Thu, Oct 26, 2017 at 7:00 AM, Nicolai Hess <[hidden email]> wrote:
> > >>>
> > >>>
> > >>>
> > >>> Am 25.10.2017 10:50 PM schrieb "Torsten Bergmann" <[hidden email]>:
> > >>>
> > >>> Hi,
> > >>>
> > >>> there might be reasons for an own 2D vector class (instead of using Point).
> > >>> But still I dislike the reimplementation of  "," because for me so far it
> > >>> has the meaning of "concatenating things".
> > >>>
> > >>>
> > >>>
> > >>> Like concatenating coordinates :-)
> > >>>
> > >>>
> > >>>
> > >>> Here you redefine it to create vector instances and it works only up to three
> > >>> so far. Right?
> > >>>
> > >>> I understand that this gives some similarities with the math notation (1,2)
> > >>> but I personally would prefer to use:
> > >>>
> > >>>     1@2 asVector
> > >>>
> > >>> or  Vector2D x: 1 y: 2
> > >>>
> > >>> Thx
> > >>> T.
> > >>>
> > >>>
> > >>>
> > >>> > Gesendet: Mittwoch, 25. Oktober 2017 um 20:06 Uhr
> > >>> > Von: "Tudor Girba" <[hidden email]>
> > >>> > An: "Pharo Development List" <[hidden email]>
> > >>> > Betreff: [Pharo-dev] , for vector creation
> > >>> >
> > >>> > Hi,
> > >>> >
> > >>> > As mentioned in the separate thread, we played with introducing the extension:
> > >>> >
> > >>> > , aNumber
> > >>> >       ^ BlVector2D x: self y: aNumber
> > >>> >
> > >>> > This means that (10,20) will return a 2D vector.
> > >>> >
> > >>> > We also have (10,20,30) which returns a 3D vector.
> > >>> >
> > >>> > , is used for different meanings already in the image beside the collection concatenation. For example, in FileReference is adds a file extension. And Exceptions create a collection. In other packages, PetitParser uses it as a sequence operator.
> > >>> >
> > >>> > Please voice your concerns.
> > >>> >
> > >>> > Cheers,
> > >>> > Doru
> > >>> >
> > >>> >
> > >>> > --
> > >>> > www.tudorgirba.com
> > >>> > www.feenk.com
> > >>> >
> > >>> > "Every thing should have the right to be different."
> > >>> >
> > >>> >
> > >>> >
> > >>> >
> > >>> >
> > >>> >
> > >>>
> > >>>
> > >>
> > >
> >
>
> --
> www.tudorgirba.com
> www.feenk.com
>
> "When people care, great things can happen."
>
>
>
>
>
>

--
www.tudorgirba.com
www.feenk.com

"If you interrupt the barber while he is cutting your hair,
you will end up with a messy haircut."


Reply | Threaded
Open this post in threaded view
|

Re: , for vector creation

Tudor Girba-2
Hi,

To make the conversation more interesting, in Bloc we also have BlPoint with subclasses for 2D, 3D and 4D. The reason for this is that we model explicitly the intention of usage even if they share the instance variable names. We did not use Point because we needed 3D and 4D as well and Point has too many meanings that are conflated into one.

This pattern was used everywhere we could. For example, we have BlBounds instead of Rectangle (actually, this is also because of performance reasons of working directly with 4 numbers rather than 2 points).

Of course, these come with an apparent extra maintenance cost. So, if we see a possibility of unifying we should definitely take it, and this is where external reviewers can help to point out possibilities. We should just not unify just for the sake of it.

Cheers,
Doru

> On Oct 26, 2017, at 10:57 AM, Tudor Girba <[hidden email]> wrote:
>
> Hi,
>
>> On Oct 26, 2017, at 10:36 AM, Denis Kudriashov <[hidden email]> wrote:
>>
>> 2017-10-26 10:20 GMT+02:00 Tudor Girba <[hidden email]>:
>> Hi,
>>> On Oct 26, 2017, at 10:10 AM, Denis Kudriashov <[hidden email]> wrote:
>>>
>>> Another question.
>>>
>>> Will not these vectors deprecate Point in future ? Imaging that we will completely move to Bloc.
>>
>> No. Point is a perfectly reasonable data structure to describe a position. A Vector is something else and has other contracts. The coincidence is that they share the same variables, but they have different API. For example, a vector has #length. A point does not.
>>
>> Now Point implements most vector operations. The #length is defined as radius by #r message. I imaging that with new vector you will reimplement many of Point methods. Also I doubt that Point plays any role in system which is different than math vector.
>
> I think that over time we have accumulated all sorts of other usages for Point. For example, Rectangle uses origin and corner as a position not as vectors.
>
> Doru
>
>>
>>> And what about Rectangle? (Bloc implements own BlRectangle).
>>
>> These two do not have the same semantics. BlRectangle is a BlGeometry and is used for defining a path within an element. BlRectangle is polymorphic with other paths such as BlEllipse or BlPolygon. Rectangle is a generic data structure that can be used for other purposes.
>>
>> We should definitely try to find commonalities and opportunities for unification. However, we should not confuse state with types which are defined by the purpose they are used for (and associated behavior).
>>
>> Doru
>>
>>
>>
>>> 2017-10-26 9:26 GMT+02:00 [hidden email] <[hidden email]>:
>>> #(1 3 4 5 7 -2) asVector
>>>
>>> Meh.
>>> Ugly.
>>>
>>> { 1. 3. 4. a. b } asVector
>>>
>>> is the natural consequence.
>>>
>>> v := (1,3,4,5,7,-2) asVector
>>>
>>> keeps the parens. But why do I need to do that?
>>>
>>> Autoformatting messing with my parentheses is just a mistake.
>>> I put them in, leave them where they are, 'kay? I do not need an editor that rewrites what I tell it. AST power or not.
>>>
>>> And frankly, I like the "Feenk way of doing things" most of the time, so I am willing to go that route.
>>>
>>> Phil
>>>
>>>
>>>
>>> On Thu, Oct 26, 2017 at 8:52 AM, Peter Uhnák <[hidden email]> wrote:
>>>>
>>>> Automatic formatting will turn it into
>>>>
>>>> vector := 1,3,4,5,7,-2.
>>>>
>>>> Which is not as nice.
>>>>
>>>> And even though it looks ok for literal numbers (#(1 3 4 5 7 -2) asVector would work too), this starts to look quite generic:
>>>>
>>>> vector := width, height, depth.
>>>>
>>>>
>>>> Question: why not extend @ notation?
>>>>
>>>> x @ y @ z?
>>>>
>>>> Peter
>>>>
>>>>
>>>>
>>>> On Thu, Oct 26, 2017 at 8:22 AM, [hidden email] <[hidden email]> wrote:
>>>>>
>>>>> I also like the , message for those vectors and the concatenation of dimensions makes sense.
>>>>>
>>>>> vector := (1,3,4,5,7,-2).
>>>>>
>>>>> looks how it should be.
>>>>>
>>>>> Readable, easy to translate vector stuff from reference text.
>>>>>
>>>>> Phil
>>>>>
>>>>>
>>>>> On Thu, Oct 26, 2017 at 7:00 AM, Nicolai Hess <[hidden email]> wrote:
>>>>>>
>>>>>>
>>>>>>
>>>>>> Am 25.10.2017 10:50 PM schrieb "Torsten Bergmann" <[hidden email]>:
>>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> there might be reasons for an own 2D vector class (instead of using Point).
>>>>>> But still I dislike the reimplementation of  "," because for me so far it
>>>>>> has the meaning of "concatenating things".
>>>>>>
>>>>>>
>>>>>>
>>>>>> Like concatenating coordinates :-)
>>>>>>
>>>>>>
>>>>>>
>>>>>> Here you redefine it to create vector instances and it works only up to three
>>>>>> so far. Right?
>>>>>>
>>>>>> I understand that this gives some similarities with the math notation (1,2)
>>>>>> but I personally would prefer to use:
>>>>>>
>>>>>>    1@2 asVector
>>>>>>
>>>>>> or  Vector2D x: 1 y: 2
>>>>>>
>>>>>> Thx
>>>>>> T.
>>>>>>
>>>>>>
>>>>>>
>>>>>>> Gesendet: Mittwoch, 25. Oktober 2017 um 20:06 Uhr
>>>>>>> Von: "Tudor Girba" <[hidden email]>
>>>>>>> An: "Pharo Development List" <[hidden email]>
>>>>>>> Betreff: [Pharo-dev] , for vector creation
>>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> As mentioned in the separate thread, we played with introducing the extension:
>>>>>>>
>>>>>>> , aNumber
>>>>>>>      ^ BlVector2D x: self y: aNumber
>>>>>>>
>>>>>>> This means that (10,20) will return a 2D vector.
>>>>>>>
>>>>>>> We also have (10,20,30) which returns a 3D vector.
>>>>>>>
>>>>>>> , is used for different meanings already in the image beside the collection concatenation. For example, in FileReference is adds a file extension. And Exceptions create a collection. In other packages, PetitParser uses it as a sequence operator.
>>>>>>>
>>>>>>> Please voice your concerns.
>>>>>>>
>>>>>>> Cheers,
>>>>>>> Doru
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> www.tudorgirba.com
>>>>>>> www.feenk.com
>>>>>>>
>>>>>>> "Every thing should have the right to be different."
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>> --
>> www.tudorgirba.com
>> www.feenk.com
>>
>> "When people care, great things can happen."
>>
>>
>>
>>
>>
>>
>
> --
> www.tudorgirba.com
> www.feenk.com
>
> "If you interrupt the barber while he is cutting your hair,
> you will end up with a messy haircut."

--
www.tudorgirba.com
www.feenk.com

"We are all great at making mistakes."









Reply | Threaded
Open this post in threaded view
|

Re: , for vector creation

Sean P. DeNigris
Administrator
In reply to this post by Peter Uhnak
Peter Uhnák wrote
> But in both cases #, is sent to FileReference/Petit parser instance, so it
> is contained.
> You would use it on a (generic) Number and tie it to specific Bloc
> meaning.

Yes, this is exactly the problem. It is a reintroduction of a message like
#name, which plagued us for so long. We appropriate the meaning of `aNumber,
…` for the whole world. Now, if in MyCoolProject I want to implement
aNumber>>#, I will break the system. Maybe we can follow the FS/PP pattern
and scope the message to only-vector-like-things via an initial message, so
just like `$f asParser, …`, have `1 {vector-appropriate-message}, …`?



-----
Cheers,
Sean
--
Sent from: http://forum.world.st/Pharo-Smalltalk-Developers-f1294837.html

Cheers,
Sean
12