From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-0.3 required=5.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 Path: border1.nntp.dca3.giganews.com!border2.nntp.dca3.giganews.com!border4.nntp.dca.giganews.com!border2.nntp.dca.giganews.com!nntp.giganews.com!nx02.iad01.newshosting.com!newshosting.com!69.16.185.11.MISMATCH!npeer01.iad.highwinds-media.com!feed-me.highwinds-media.com!peer02.fr7!news.highwinds-media.com!peer03.am1!peering.am1!npeersf04.am4!fx12.fr7.POSTED!not-for-mail Message-ID: <4zHmbuHXcJKSFw21@ada-augusta.demon.co.uk> From: Mike H Reply-To: Mike Hopkins Newsgroups: comp.lang.ada Subject: Re: How (or Where?) to get started on Ada? (Properly) References: <9ec51e40-081f-4ec7-b17f-7c73dbdcd10a@googlegroups.com> <7b8fb992-9fdb-48d2-8613-92e234e46f00@googlegroups.com> MIME-Version: 1.0 Content-Type: text/plain;charset=us-ascii;format=flowed User-Agent: Turnpike/6.07-M (<8c+$+zb077Pti5diXa8NqJs7Yt>) NNTP-Posting-Host: 83.104.138.185 X-Complaints-To: abuse@demon.net X-Trace: 1378392410 83.104.138.185 (Thu, 05 Sep 2013 14:46:50 UTC) NNTP-Posting-Date: Thu, 05 Sep 2013 14:46:50 UTC Date: Thu, 5 Sep 2013 15:37:11 +0100 X-Received-Bytes: 2064 X-Original-Bytes: 2317 Xref: number.nntp.dca.giganews.com comp.lang.ada:183311 Date: 2013-09-05T15:37:11+01:00 List-Id: In message <7b8fb992-9fdb-48d2-8613-92e234e46f00@googlegroups.com>, e.s.harney@gmail.com writes >I'm not aware of any (strongly typed) language that pulls this off >without messing up one way or the other To say that Ada has rigorously strict typing rules is true. But that does not prevent type conversions. It merely constrains the programmer to declare a type conversion in an explicit manner that can be checked at compile time to ensure it is safe and unambiguous. I can never ever remember a situation where these rules prevented me from doing what I needed to do. This is because one has the option of overriding the compiler's defaults. A declared type, whether simple or composite, can include representation clauses to define the size and bit pattern to be used at the level of machine storage. Given appropriate representation information, objects of one type may safely converted to, or mapped upon, one another. My 1987 edition of Barnes has a brief introduction to the basics. -- Mike Swim? Naturally at Severn Vale