From: Simon Wright <simon.j.wright@mac.com>
Subject: Re: Are there noticable differences in Ada acceptance by country?
Date: Thu, 20 Mar 2008 22:17:18 +0000
Date: 2008-03-20T22:17:18+00:00 [thread overview]
Message-ID: <m263vhca6p.fsf@mac.com> (raw)
In-Reply-To: 1kv438li1fcvq.ox99qnglkog5.dlg@40tude.net
"Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> writes:
> On Thu, 20 Mar 2008 20:22:22 +0000, Simon Wright wrote:
>
>> gpriv@axonx.com writes:
>>
>>> I think strong typing should not be dismissed. Unfortunately Java-
>>> based (and C/C++/C#) courses don't explain to students that X and Y
>>> coordinates being fundamentally integer (or float) types are not the
>>> same thing.
>>
>> I always disliked an X binding which had (sub)types for X, Y
>> coordinates. Wrong level of abstraction, I thought: use something like
>>
>> type Position is record
>> X : Float;
>> Y : Float;
>> end record;
>>
>> and you get a _lot_ less scope for confusion.
>
> If no rotations involved I would suggest:
>
> type Horizontal_Coordinate is new Float;
> type Vertical_Coordinate is new Float;
> type Position is record
> X : Horizontal_Coordinate;
> Y : Vertical_Coordinate;
> end record;
>
> In some cases I would consider making absolute positions and relative
> offsets different types, similar to Time and Duration.
Well, to be fair, I suppose I would have used Metres (or Pixels)
rather than plain Float.
subtype Metres is Float;
But I don't see the real advantage in using different types for H_C
and V_C. How ofen are users actually going to get this wrong? There is
some comment-like advantage to subtyping -- rather like AdaCore's
library packages with eg
subtype Path_Name is String;
but full typing is only going to clutter the place up with
conversions. Or perhaps you lie to provide all the operations a person
could need (acceleration x duration -> speed etc)?
Why would things be different if there were rotations involved?
next prev parent reply other threads:[~2008-03-20 22:17 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-03-18 19:08 Are there noticable differences in Ada acceptance by country? Mike Silva
2008-03-18 20:41 ` Pascal Obry
2008-03-18 22:58 ` Phaedrus
2008-03-18 22:25 ` Mike Silva
2008-03-18 22:50 ` Ludovic Brenta
2008-03-19 11:42 ` Thomas
2008-03-19 12:09 ` Ludovic Brenta
2008-03-19 12:51 ` framefritti
2008-03-20 4:37 ` gpriv
2008-03-19 12:16 ` Ludovic Brenta
2008-03-19 19:04 ` Tero Koskinen
2008-03-20 8:57 ` Jean-Pierre Rosen
2008-03-25 18:02 ` Tero Koskinen
2008-03-25 19:57 ` Gautier
2008-03-19 19:55 ` svaa
2008-03-19 21:14 ` Phaedrus
2008-03-20 4:52 ` gpriv
2008-03-20 20:22 ` Simon Wright
2008-03-20 20:48 ` Dmitry A. Kazakov
2008-03-20 22:17 ` Simon Wright [this message]
2008-03-20 22:59 ` gpriv
2008-03-21 1:54 ` tmoran
2008-03-21 4:16 ` Jeffrey R. Carter
2008-03-21 16:41 ` Simon Wright
2008-03-21 19:15 ` gpriv
2008-03-22 14:00 ` Maciej Sobczak
2008-03-21 16:39 ` Simon Wright
2008-03-21 19:21 ` gpriv
2008-03-21 21:11 ` Adam Beneschan
2008-03-22 7:02 ` Simon Wright
2008-03-24 18:01 ` gpriv
2008-03-21 7:52 ` Dmitry A. Kazakov
2008-03-22 17:16 ` Subtypes to represent coordinate charts Eric Hughes
2008-03-21 16:44 ` Are there noticable differences in Ada acceptance by country? Simon Wright
2008-03-20 21:17 ` gpriv
2008-03-20 1:34 ` Ivan Levashew
2008-03-19 7:42 ` Thomas
2008-03-19 10:35 ` Peter C. Chapin
2008-03-19 21:21 ` Phaedrus
[not found] ` <13u3vq728nidu3b@corp.supernews.com>
2008-03-31 4:27 ` David Thompson
2008-03-31 5:40 ` DScott
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox