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: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!mx02.eternal-september.org!.POSTED!not-for-mail From: Georg Bauhaus Newsgroups: comp.lang.ada Subject: Re: If not Ada, what else... Date: Sat, 11 Jul 2015 09:51:07 +0200 Organization: A noiseless patient Spider Message-ID: References: <14592326-5070-4663-a864-5684298f3748@googlegroups.com> <004361da-53c4-4ea9-8cc6-38944aa6c7ad@googlegroups.com> <29dd5458-f9ce-4db8-9128-8ab35a9ce5f8@googlegroups.com> <64bc671c-72e5-4924-b703-3b907c69949c@googlegroups.com> <877fq9uj6g.fsf@theworld.com> <65061686-5c8f-433b-9b11-9e228298158e@googlegroups.com> <87k2u96jms.fsf@jester.gateway.sonic.net> <06f8a6f9-d219-4d40-b9ac-8518e93839bd@googlegroups.com> <87y4io63jy.fsf@jester.gateway.sonic.net> <7a29d3e9-d1bd-4f4a-b1a6-14d3e1a83a4d@googlegroups.com> <87mvz36fen.fsf@jester.gateway.sonic.net> <2215b44f-8a89-47c6-a4c4-52b74d2dac45@googlegroups.com> <87oajj4e8l.fsf@jester.gateway.sonic.net> Reply-To: nonlegitur@futureapps.de Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Date: Sat, 11 Jul 2015 07:49:40 +0000 (UTC) Injection-Info: mx02.eternal-september.org; posting-host="6e18a0c32b56725f1c79700f6451d81d"; logging-data="20955"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+LiZlXJ8cvzzJxvLlQEtMLWI2qUgPPerU=" User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 In-Reply-To: <87oajj4e8l.fsf@jester.gateway.sonic.net> Cancel-Lock: sha1:b5zkMRAYhcdCRtcyizmWEihwx0g= Xref: news.eternal-september.org comp.lang.ada:26764 Date: 2015-07-11T09:51:07+02:00 List-Id: On 11.07.15 04:31, Paul Rubin wrote: > Historically AFAIK range types in Ada were not statically checked. > Checking them is very complicated and can be partly automated these days > with SMT solvers, but in general you'd need proof assistants and lots of > manual effort. The expressly bounded, named types of Ada to me are fundamental to sorting things out. In many ways, for example: how could one find a function from integers into integers to be from N -> {0, 1, ..., 10}, actually, if there was no better way to specify the set of values in a type than by saying "int"? Knowing more about the sets continues transitively, and this knowledge is reflected in the definitions of user defined fundamental types (with ranges etc.). They also match the problem description. In C, when a function returns negative, this typically means one of the known errors, or about |0 - INT_MIN| possible cases of overflow or worse. How do we learn about the image that the function was supposed to compute? Read comments? Studying the full source? The existence, and perhaps proliferation of fusion into Haskell programs OTOH turns them into mathematical riddles. I wonder if that's just what fans of Haskell might like doing? Turning some simple Haskell equations into fusioned somethings for reasons of *controlling* performance in time vs space, which, IIUC, were not part of Haskell's design. They are not an integral part of its expressive apparatus. (Sadly.) So we get to see efficient manipulations of data in Haskell using all kinds of primitives and strict so that code looks just like some kind of new, operation- oriented assembly language, using a fancy equational machine. > Embedded is a niche, I understand that embedded covers about half of the market of all things that have computers in them. I don't know whether that's money-wise or installation-wise. Perhaps awareness isn't half, too.