Hi,

> On Oct 26, 2017, at 10:36 AM, Denis Kudriashov <[email protected]> wrote:
> 
> 2017-10-26 10:20 GMT+02:00 Tudor Girba <[email protected]>:
> Hi,
> > On Oct 26, 2017, at 10:10 AM, Denis Kudriashov <[email protected]> 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 [email protected] <[email protected]>:
> > #(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 <[email protected]> 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, [email protected] <[email protected]> 
> > > 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 <[email protected]> 
> > >> wrote:
> > >>>
> > >>>
> > >>>
> > >>> Am 25.10.2017 10:50 PM schrieb "Torsten Bergmann" <[email protected]>:
> > >>>
> > >>> 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" <[email protected]>
> > >>> > An: "Pharo Development List" <[email protected]>
> > >>> > 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 via email to