On Sat, 6 Apr 2013, Dmitry A. Kazakov wrote: >> The same for conversions between Integer and Float. > > Nope. You cannot convert house number to outdoor temperature. So what? Neither can I convert my zip code to my birth year (both Positive) or the outdoor temperature to speed of light. ;-) Ada allows to define types such as, Apples and Oranges, or, say Speed and Temperature. But this has nothing to do with the underlying mathematical struture of each of these types. Actually, mixing integers and float (or integers and fixed-point numbers) is not that uncommon. The maximum speed for a vehicle, say, a train at a certain part of the track, is, most likely, an integer, while the speed the sensors measure isn't an integer. So you have something like the following code: Current_Speed : Speed; Max_Speed : Integer_Speed; Safety_Margin : constant Speed := ... ... if Current_Speed > Speed(Max_Speed) then Display_Warning(Speed_Warning); Play_Alarm_Sound; if Current_Speed < (Speed(Max_Speed) + Safety_Margin) then Perform_Emergency_Break; end_if: end_if; Here, you need the to convert Max_Speed to Speed, even though the two types Speed and Integer_Speed have the same semantic. I don't think we'll agree on this issue, but I fail to see any significant distinction between the class of arithmetic types and string types. ------ I love the taste of Cryptanalysis in the morning! ------ --Stefan.Lucks (at) uni-weimar.de, Bauhaus-Universität Weimar, Germany--