Re: [Pharo-dev] , for vector creation
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 p...@highoctane.be <p...@highoctane.be>: >> >>>>>> #(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 <i.uh...@gmail.com> >> >>>>>> 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, p...@highoctane.be >> >>>>>>> <p...@highoctane.be> 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 >> >>>>>>>> <nicolaih...@gmail.com> wrote: >> >>>>>>>>> >> >>>>>>>>> >> >>>>>>>>> >> >>>>>>>>> Am 25.10.2017 10:50 PM schrieb "Torsten Bergmann" >> >>>>>>>>> <asta...@gmx.de>: >> >>>>>>>>> >> >>>>>>>>> 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" <tu...@tudorgirba.com> >> >>>>>>>>>> An: "Pharo Development List" <pharo-dev@lists.pharo.org> >> >>>>>>>>>> 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." >> >>> >> >>> >> >>> >> >>> >> >>> >> >>> >> >>> >> >>> >> >>> >> >> >> > >> > -- >> > www.tudorgirba.com >> > www.feenk.com >> > >> > "If you can't say why something is relevant, >> > it probably isn't." >> > >> > >> >
Re: [Pharo-dev] , for vector creation
> >>>>> > >>>>> > >>>>> > >>>>>> 2017-10-26 9:26 GMT+02:00 p...@highoctane.be <p...@highoctane.be>: > >>>>>> #(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 <i.uh...@gmail.com> > 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, p...@highoctane.be < > p...@highoctane.be> 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 < > nicolaih...@gmail.com> wrote: > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> Am 25.10.2017 10:50 PM schrieb "Torsten Bergmann" < > asta...@gmx.de>: > >>>>>>>>> > >>>>>>>>> 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" <tu...@tudorgirba.com> > >>>>>>>>>> An: "Pharo Development List" <pharo-dev@lists.pharo.org> > >>>>>>>>>> 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." > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >> > > > > -- > > www.tudorgirba.com > > www.feenk.com > > > > "If you can't say why something is relevant, > > it probably isn't." > > > > > >
Re: [Pharo-dev] , for vector creation
>> 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 <i.uh...@gmail.com> 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, p...@highoctane.be >>>>>>> <p...@highoctane.be> 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 <nicolaih...@gmail.com> >>>>>>>> wrote: >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> Am 25.10.2017 10:50 PM schrieb "Torsten Bergmann" <asta...@gmx.de>: >>>>>>>>> >>>>>>>>> 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" <tu...@tudorgirba.com> >>>>>>>>>> An: "Pharo Development List" <pharo-dev@lists.pharo.org> >>>>>>>>>> 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." >>> >>> >>> >>> >>> >>> >>> >>> >>> >> > > -- > www.tudorgirba.com > www.feenk.com > > "If you can't say why something is relevant, > it probably isn't." > >
Re: [Pharo-dev] , for vector creation
ling to go that route. >>>>> >>>>> Phil >>>>> >>>>> >>>>> >>>>> On Thu, Oct 26, 2017 at 8:52 AM, Peter Uhnák <i.uh...@gmail.com> 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, p...@highoctane.be <p...@highoctane.be> >>>>>> 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 <nicolaih...@gmail.com> >>>>>>> wrote: >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> Am 25.10.2017 10:50 PM schrieb "Torsten Bergmann" <asta...@gmx.de>: >>>>>>>> >>>>>>>> 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" <tu...@tudorgirba.com> >>>>>>>>> An: "Pharo Development List" <pharo-dev@lists.pharo.org> >>>>>>>>> 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." >> >> >> >> >> >> >> >> >> > -- www.tudorgirba.com www.feenk.com "If you can't say why something is relevant, it probably isn't."
Re: [Pharo-dev] , for vector creation
On Thu, Oct 26, 2017 at 11:45 PM, Tudor Girbawrote: > Thanks everyone for the nice discussion. > > So, after all arguments, we will remove Number>>, from Bloc. > > I think using Number>>, for vector creation makes quite some sense. > However, we have already seen that we have a few places where we have > vectors: Bloc, PolyMath and Moose-Algos. The Bloc needs are smaller than > the needs from PolyMath (we need only a limited set of abilities). So, > until we have one consensus of having one vector in the image, we can leave > room for playing. > > In the meantime we have: > > 1. > BlVector x: 10 y: 20 > BlVector x: 10 y: 20 z: 30 > > or: > > 2. > (10@20) asBlocVector > (10@20@30) asBlocVector > The 2nd option reads ok, but it has the downside that it needs an extra > object (the point). > Would it be possible/desirable to have this as a single primitive backed keyword message? (10@:20@:30) Perhaps a goal for the consensus on one-true-vector form integrated into the Image? Except at the moment "@:" doesn't parse. cheers -ben > > An interesting thing about Number>>@ is that it is backed by a primitive. > This can be quite relevant and I think it would be worthwhile thinking > about vector/matrix specific optimizations as well. That is why, in the > future, it would be interesting to consider primitives for vector/matrix > creation. > > Cheers, > Doru > > > > On Oct 26, 2017, at 5:10 PM, Sean P. DeNigris > wrote: > > > > Tudor Girba-2 wrote > >> You mean like sending @ to a number, right? :) > > > > Ha ha, you got me ;) > > > > > > > > - > > Cheers, > > Sean > > -- > > Sent from: http://forum.world.st/Pharo-Smalltalk-Developers-f1294837. > html > > > > -- > www.tudorgirba.com > www.feenk.com > > "Not knowing how to do something is not an argument for how it cannot be > done." > > >
Re: [Pharo-dev] , for vector creation
I do not turn on autoformatting and use the format menu entry on an as needed basis. Autoformatting on Seaside renderOn: methods is a royal PITA. Phil On Thu, Oct 26, 2017 at 8:44 PM, Peter Uhnákwrote: > > 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. > > By the same argument you can tear apart any property of autoformatting. > "Why is it messing with my indentation here?" "Why is it removing > newlines?" "Why is it removing the last dot?" > The problem here is that the autoformatter has no way of knowing that it > is some "special" use rather than general binary message. > (And for the record, I have startup scripts that modify the source code of > the formatter, so I certainly am aware of autoformatting limitations...) > > Peter > > > On Thu, Oct 26, 2017 at 8:34 PM, Bernardo Ezequiel Contreras < > vonbecm...@gmail.com> wrote: > >> you could do >> >> 1 x + 2 y + 5 z >> >> and that expression will give you a 3d vector. >> but it creates a lot of intermediate objects >> >> On Thu, Oct 26, 2017 at 2:04 PM, Chris Cunningham < >> cunningham...@gmail.com> wrote: >> >>> >>> >>> On Thu, Oct 26, 2017 at 7:09 AM, Sean P. DeNigris >> > wrote: >>> 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}, …`? So, something like >>> 1 vector, 2, 5 >>> or >>> 1 biVector, 2, 6 >>> ? >>> >>> -cbc >>> >> >> >> >> -- >> Bernardo E.C. >> >> Sent from a cheap desktop computer in South America. >> > >
Re: [Pharo-dev] , for vector creation
+1 BTW we should start looking for an location for PharoDays 2018 :) On Thu, Oct 26, 2017 at 5:53 PM, Tim Mackinnonwrote: > This turned into a much more interesting thread than I expected (gosh you > learn lots of stuff by reading comments). > > But I am impressed that Feenk listened to what people were saying, distilled > it down and didn’t take their ball home - thanks guys. > > Sometimes in all of these slightly robust conversations I have to keep > thinking back to when I went to Pharo days, and how cool it was to see the > wonderful things people had produced. It was inspiring…. > > We have to hold onto that and keep moving the boundaries further without > getting disillusioned or blocked. > > I’m looking forward to the next Pharo Days where hopefully some of this stuff > will be reality. > > Tim > > >> On 26 Oct 2017, at 16:45, Tudor Girba wrote: >> >> Thanks everyone for the nice discussion. >> >> So, after all arguments, we will remove Number>>, from Bloc. >> >> I think using Number>>, for vector creation makes quite some sense. However, >> we have already seen that we have a few places where we have vectors: Bloc, >> PolyMath and Moose-Algos. The Bloc needs are smaller than the needs from >> PolyMath (we need only a limited set of abilities). So, until we have one >> consensus of having one vector in the image, we can leave room for playing. >> >> In the meantime we have: >> >> 1. >> BlVector x: 10 y: 20 >> BlVector x: 10 y: 20 z: 30 >> >> or: >> >> 2. >> (10@20) asBlocVector >> (10@20@30) asBlocVector >> >> The 2nd option reads ok, but it has the downside that it needs an extra >> object (the point). >> >> An interesting thing about Number>>@ is that it is backed by a primitive. >> This can be quite relevant and I think it would be worthwhile thinking about >> vector/matrix specific optimizations as well. That is why, in the future, it >> would be interesting to consider primitives for vector/matrix creation. >> >> Cheers, >> Doru >> >> >>> On Oct 26, 2017, at 5:10 PM, Sean P. DeNigris wrote: >>> >>> Tudor Girba-2 wrote You mean like sending @ to a number, right? :) >>> >>> Ha ha, you got me ;) >>> >>> >>> >>> - >>> Cheers, >>> Sean >>> -- >>> Sent from: http://forum.world.st/Pharo-Smalltalk-Developers-f1294837.html >>> >> >> -- >> www.tudorgirba.com >> www.feenk.com >> >> "Not knowing how to do something is not an argument for how it cannot be >> done." >> >> > >
Re: [Pharo-dev] , for vector creation
t;>>>> vector := width, height, depth. >>>>> >>>>> >>>>> Question: why not extend @ notation? >>>>> >>>>> x @ y @ z? >>>>> >>>>> Peter >>>>> >>>>> >>>>> >>>>> On Thu, Oct 26, 2017 at 8:22 AM, p...@highoctane.be <p...@highoctane.be> >>>>> 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 <nicolaih...@gmail.com> >>>>>> wrote: >>>>>>> >>>>>>> >>>>>>> >>>>>>> Am 25.10.2017 10:50 PM schrieb "Torsten Bergmann" <asta...@gmx.de>: >>>>>>> >>>>>>> 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" <tu...@tudorgirba.com> >>>>>>>> An: "Pharo Development List" <pharo-dev@lists.pharo.org> >>>>>>>> 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." > > > > > > > > >
Re: [Pharo-dev] , for vector creation
> 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. By the same argument you can tear apart any property of autoformatting. "Why is it messing with my indentation here?" "Why is it removing newlines?" "Why is it removing the last dot?" The problem here is that the autoformatter has no way of knowing that it is some "special" use rather than general binary message. (And for the record, I have startup scripts that modify the source code of the formatter, so I certainly am aware of autoformatting limitations...) Peter On Thu, Oct 26, 2017 at 8:34 PM, Bernardo Ezequiel Contreras < vonbecm...@gmail.com> wrote: > you could do > > 1 x + 2 y + 5 z > > and that expression will give you a 3d vector. > but it creates a lot of intermediate objects > > On Thu, Oct 26, 2017 at 2:04 PM, Chris Cunningham> wrote: > >> >> >> On Thu, Oct 26, 2017 at 7:09 AM, Sean P. DeNigris >> wrote: >> >>> 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}, …`? >>> >>> So, something like >> 1 vector, 2, 5 >> or >> 1 biVector, 2, 6 >> ? >> >> -cbc >> > > > > -- > Bernardo E.C. > > Sent from a cheap desktop computer in South America. >
Re: [Pharo-dev] , for vector creation
you could do 1 x + 2 y + 5 z and that expression will give you a 3d vector. but it creates a lot of intermediate objects On Thu, Oct 26, 2017 at 2:04 PM, Chris Cunninghamwrote: > > > On Thu, Oct 26, 2017 at 7:09 AM, Sean P. DeNigris > wrote: > >> 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}, …`? >> >> So, something like > 1 vector, 2, 5 > or > 1 biVector, 2, 6 > ? > > -cbc > -- Bernardo E.C. Sent from a cheap desktop computer in South America.
Re: [Pharo-dev] , for vector creation
Excellent decision Doru! Thanks Alexandre > On Oct 26, 2017, at 8:45 AM, Tudor Girbawrote: > > Thanks everyone for the nice discussion. > > So, after all arguments, we will remove Number>>, from Bloc. > > I think using Number>>, for vector creation makes quite some sense. However, > we have already seen that we have a few places where we have vectors: Bloc, > PolyMath and Moose-Algos. The Bloc needs are smaller than the needs from > PolyMath (we need only a limited set of abilities). So, until we have one > consensus of having one vector in the image, we can leave room for playing. > > In the meantime we have: > > 1. > BlVector x: 10 y: 20 > BlVector x: 10 y: 20 z: 30 > > or: > > 2. > (10@20) asBlocVector > (10@20@30) asBlocVector > > The 2nd option reads ok, but it has the downside that it needs an extra > object (the point). > > An interesting thing about Number>>@ is that it is backed by a primitive. > This can be quite relevant and I think it would be worthwhile thinking about > vector/matrix specific optimizations as well. That is why, in the future, it > would be interesting to consider primitives for vector/matrix creation. > > Cheers, > Doru > > >> On Oct 26, 2017, at 5:10 PM, Sean P. DeNigris wrote: >> >> Tudor Girba-2 wrote >>> You mean like sending @ to a number, right? :) >> >> Ha ha, you got me ;) >> >> >> >> - >> Cheers, >> Sean >> -- >> Sent from: http://forum.world.st/Pharo-Smalltalk-Developers-f1294837.html >> > > -- > www.tudorgirba.com > www.feenk.com > > "Not knowing how to do something is not an argument for how it cannot be > done." > >
Re: [Pharo-dev] , for vector creation
On Thu, Oct 26, 2017 at 7:09 AM, Sean P. DeNigriswrote: > 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}, …`? > > So, something like 1 vector, 2, 5 or 1 biVector, 2, 6 ? -cbc
Re: [Pharo-dev] , for vector creation
This turned into a much more interesting thread than I expected (gosh you learn lots of stuff by reading comments). But I am impressed that Feenk listened to what people were saying, distilled it down and didn’t take their ball home - thanks guys. Sometimes in all of these slightly robust conversations I have to keep thinking back to when I went to Pharo days, and how cool it was to see the wonderful things people had produced. It was inspiring…. We have to hold onto that and keep moving the boundaries further without getting disillusioned or blocked. I’m looking forward to the next Pharo Days where hopefully some of this stuff will be reality. Tim > On 26 Oct 2017, at 16:45, Tudor Girbawrote: > > Thanks everyone for the nice discussion. > > So, after all arguments, we will remove Number>>, from Bloc. > > I think using Number>>, for vector creation makes quite some sense. However, > we have already seen that we have a few places where we have vectors: Bloc, > PolyMath and Moose-Algos. The Bloc needs are smaller than the needs from > PolyMath (we need only a limited set of abilities). So, until we have one > consensus of having one vector in the image, we can leave room for playing. > > In the meantime we have: > > 1. > BlVector x: 10 y: 20 > BlVector x: 10 y: 20 z: 30 > > or: > > 2. > (10@20) asBlocVector > (10@20@30) asBlocVector > > The 2nd option reads ok, but it has the downside that it needs an extra > object (the point). > > An interesting thing about Number>>@ is that it is backed by a primitive. > This can be quite relevant and I think it would be worthwhile thinking about > vector/matrix specific optimizations as well. That is why, in the future, it > would be interesting to consider primitives for vector/matrix creation. > > Cheers, > Doru > > >> On Oct 26, 2017, at 5:10 PM, Sean P. DeNigris wrote: >> >> Tudor Girba-2 wrote >>> You mean like sending @ to a number, right? :) >> >> Ha ha, you got me ;) >> >> >> >> - >> Cheers, >> Sean >> -- >> Sent from: http://forum.world.st/Pharo-Smalltalk-Developers-f1294837.html >> > > -- > www.tudorgirba.com > www.feenk.com > > "Not knowing how to do something is not an argument for how it cannot be > done." > >
Re: [Pharo-dev] , for vector creation
Thanks everyone for the nice discussion. So, after all arguments, we will remove Number>>, from Bloc. I think using Number>>, for vector creation makes quite some sense. However, we have already seen that we have a few places where we have vectors: Bloc, PolyMath and Moose-Algos. The Bloc needs are smaller than the needs from PolyMath (we need only a limited set of abilities). So, until we have one consensus of having one vector in the image, we can leave room for playing. In the meantime we have: 1. BlVector x: 10 y: 20 BlVector x: 10 y: 20 z: 30 or: 2. (10@20) asBlocVector (10@20@30) asBlocVector The 2nd option reads ok, but it has the downside that it needs an extra object (the point). An interesting thing about Number>>@ is that it is backed by a primitive. This can be quite relevant and I think it would be worthwhile thinking about vector/matrix specific optimizations as well. That is why, in the future, it would be interesting to consider primitives for vector/matrix creation. Cheers, Doru > On Oct 26, 2017, at 5:10 PM, Sean P. DeNigriswrote: > > Tudor Girba-2 wrote >> You mean like sending @ to a number, right? :) > > Ha ha, you got me ;) > > > > - > Cheers, > Sean > -- > Sent from: http://forum.world.st/Pharo-Smalltalk-Developers-f1294837.html > -- www.tudorgirba.com www.feenk.com "Not knowing how to do something is not an argument for how it cannot be done."
Re: [Pharo-dev] , for vector creation
Tudor Girba-2 wrote > You mean like sending @ to a number, right? :) Ha ha, you got me ;) - Cheers, Sean -- Sent from: http://forum.world.st/Pharo-Smalltalk-Developers-f1294837.html
Re: [Pharo-dev] , for vector creation
A clear separation between Point and Vector makes perfectly sense. Ideally, Point should be deprecated then. Otherwise it is a complexity growth. Hilaire Le 26/10/2017 à 11:39, Tudor Girba a écrit : 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. -- Dr. Geo http://drgeo.eu
Re: [Pharo-dev] , for vector creation
Hi, > On Oct 26, 2017, at 4:09 PM, Sean P. DeNigriswrote: > > 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}, …`? You mean like sending @ to a number, right? :) Doru > > - > Cheers, > Sean > -- > Sent from: http://forum.world.st/Pharo-Smalltalk-Developers-f1294837.html > -- www.tudorgirba.com www.feenk.com "Reasonable is what we are accustomed with."
Re: [Pharo-dev] , for vector creation
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
Re: [Pharo-dev] , for vector creation
t should be. >>>>> >>>>> Readable, easy to translate vector stuff from reference text. >>>>> >>>>> Phil >>>>> >>>>> >>>>> On Thu, Oct 26, 2017 at 7:00 AM, Nicolai Hess <nicolaih...@gmail.com> >>>>> wrote: >>>>>> >>>>>> >>>>>> >>>>>> Am 25.10.2017 10:50 PM schrieb "Torsten Bergmann" <asta...@gmx.de>: >>>>>> >>>>>> 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" <tu...@tudorgirba.com> >>>>>>> An: "Pharo Development List" <pharo-dev@lists.pharo.org> >>>>>>> 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."
Re: [Pharo-dev] , for vector creation
Hi, > On Oct 26, 2017, at 10:36 AM, Denis Kudriashov <dionisi...@gmail.com> wrote: > > 2017-10-26 10:20 GMT+02:00 Tudor Girba <tu...@tudorgirba.com>: > Hi, > > On Oct 26, 2017, at 10:10 AM, Denis Kudriashov <dionisi...@gmail.com> 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 p...@highoctane.be <p...@highoctane.be>: > > #(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 <i.uh...@gmail.com> 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, p...@highoctane.be <p...@highoctane.be> > > > 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 <nicolaih...@gmail.com> > > >> wrote: > > >>> > > >>> > > >>> > > >>> Am 25.10.2017 10:50 PM schrieb "Torsten Bergmann" <asta...@gmx.de>: > > >>> > > >>> 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? > > >>> > > >&g
Re: [Pharo-dev] , for vector creation
2017-10-26 10:20 GMT+02:00 Tudor Girba <tu...@tudorgirba.com>: > Hi, > > On Oct 26, 2017, at 10:10 AM, Denis Kudriashov <dionisi...@gmail.com> > 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 p...@highoctane.be <p...@highoctane.be>: > > #(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 <i.uh...@gmail.com> 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, p...@highoctane.be < > p...@highoctane.be> 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 <nicolaih...@gmail.com> > wrote: > > >>> > > >>> > > >>> > > >>> Am 25.10.2017 10:50 PM schrieb "Torsten Bergmann" <asta...@gmx.de>: > > >>> > > >>> 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
Re: [Pharo-dev] , for vector creation
Hi, > On Oct 26, 2017, at 7:00 AM, Nicolai Hess <nicolaih...@gmail.com> wrote: > > > > Am 25.10.2017 10:50 PM schrieb "Torsten Bergmann" <asta...@gmx.de>: > 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" <tu...@tudorgirba.com> > > An: "Pharo Development List" <pharo-dev@lists.pharo.org> > > 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."
Re: [Pharo-dev] , for vector creation
> On Oct 26, 2017, at 8:52 AM, Peter Uhnák <i.uh...@gmail.com> 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, p...@highoctane.be <p...@highoctane.be> > 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 <nicolaih...@gmail.com> wrote: > > > Am 25.10.2017 10:50 PM schrieb "Torsten Bergmann" <asta...@gmx.de>: > 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" <tu...@tudorgirba.com> > > An: "Pharo Development List" <pharo-dev@lists.pharo.org> > > 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."
Re: [Pharo-dev] , for vector creation
Hi, > On Oct 26, 2017, at 10:10 AM, Denis Kudriashov <dionisi...@gmail.com> 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 p...@highoctane.be <p...@highoctane.be>: > #(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 <i.uh...@gmail.com> 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, p...@highoctane.be <p...@highoctane.be> > > 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 <nicolaih...@gmail.com> > >> wrote: > >>> > >>> > >>> > >>> Am 25.10.2017 10:50 PM schrieb "Torsten Bergmann" <asta...@gmx.de>: > >>> > >>> 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" <tu...@tudorgirba.com> > >>> > An: "Pharo Development List" <pharo-dev@lists.pharo.org> > >>> > 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."
Re: [Pharo-dev] , for vector creation
Hi, > On Oct 25, 2017, at 10:53 PM, Stephane Ducasse> 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 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." >> >> >> >> >> > -- www.tudorgirba.com www.feenk.com "One cannot do more than one can do."
Re: [Pharo-dev] , for vector creation
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 p...@highoctane.be <p...@highoctane.be>: > #(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 <i.uh...@gmail.com> 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, p...@highoctane.be <p...@highoctane.be> > 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 <nicolaih...@gmail.com> > wrote: > >>> > >>> > >>> > >>> Am 25.10.2017 10:50 PM schrieb "Torsten Bergmann" <asta...@gmx.de>: > >>> > >>> 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" <tu...@tudorgirba.com> > >>> > An: "Pharo Development List" <pharo-dev@lists.pharo.org> > >>> > 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." > >>> > > >>> > > >>> > > >>> > > >>> > > >>> > > >>> > >>> > >> > > >
Re: [Pharo-dev] , for vector creation
#(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 <i.uh...@gmail.com> 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, p...@highoctane.be <p...@highoctane.be> 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 <nicolaih...@gmail.com> wrote: >>> >>> >>> >>> Am 25.10.2017 10:50 PM schrieb "Torsten Bergmann" <asta...@gmx.de>: >>> >>> 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" <tu...@tudorgirba.com> >>> > An: "Pharo Development List" <pharo-dev@lists.pharo.org> >>> > 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." >>> > >>> > >>> > >>> > >>> > >>> > >>> >>> >> >
Re: [Pharo-dev] , for vector creation
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, p...@highoctane.be <p...@highoctane.be> 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 <nicolaih...@gmail.com> > wrote: > >> >> >> Am 25.10.2017 10:50 PM schrieb "Torsten Bergmann" <asta...@gmx.de>: >> >> 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" <tu...@tudorgirba.com> >> > An: "Pharo Development List" <pharo-dev@lists.pharo.org> >> > 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." >> > >> > >> > >> > >> > >> > >> >> >> >
Re: [Pharo-dev] , for vector creation
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 <nicolaih...@gmail.com> wrote: > > > Am 25.10.2017 10:50 PM schrieb "Torsten Bergmann" <asta...@gmx.de>: > > 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" <tu...@tudorgirba.com> > > An: "Pharo Development List" <pharo-dev@lists.pharo.org> > > 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." > > > > > > > > > > > > > > >
Re: [Pharo-dev] , for vector creation
Am 25.10.2017 10:50 PM schrieb "Torsten Bergmann" <asta...@gmx.de>: 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" <tu...@tudorgirba.com> > An: "Pharo Development List" <pharo-dev@lists.pharo.org> > 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." > > > > > >
Re: [Pharo-dev] , for vector creation
I would note that 1 ! 2 creates/extends an ETuple in eLinda. - HH On Wed, Oct 25, 2017 at 16:53, Stephane Ducassewrote: > 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." > > > > > @gmail.com> @tudorgirba.com>
Re: [Pharo-dev] , for vector creation
2017-10-25 22:53 GMT+02:00 Stephane Ducasse: > 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 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." > > > > > > > > > > > >
Re: [Pharo-dev] , for vector creation
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 Girbawrote: > 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." > > > > >
[Pharo-dev] , for vector creation
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" <tu...@tudorgirba.com> > An: "Pharo Development List" <pharo-dev@lists.pharo.org> > 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." > > > > > >
Re: [Pharo-dev] , for vector creation
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ákwrote: > > 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."
Re: [Pharo-dev] , for vector creation
> > 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
[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."