Ok good to know.

On Fri, Oct 27, 2017 at 8:39 AM, Tudor Girba <tu...@tudorgirba.com> wrote:
> Indeed, we have BlInsets that are used for either padding or margin.
>
> Doru
>
>> On Oct 26, 2017, at 11:43 PM, Stephane Ducasse <stepharo.s...@gmail.com> 
>> wrote:
>>
>> Doru
>>
>> I was thinking that you would also have BlMargin because Margin is a
>> nice concept.
>> When I introduced it with Igor it simplified a lot of code in expand,
>> shrink and other operations.
>>
>> Stef
>>
>> On Thu, Oct 26, 2017 at 11:39 AM, Tudor Girba <tu...@tudorgirba.com> wrote:
>>> 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 <tu...@tudorgirba.com> wrote:
>>>>
>>>> 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?
>>>>>>>>>
>>>>>>>>> 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."
>
>

Reply via email to