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=-1.9 required=5.0 tests=BAYES_00 autolearn=unavailable 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: Mark Carroll Newsgroups: comp.lang.ada Subject: Re: Haskell, anyone? Date: Sun, 15 Nov 2015 21:50:30 +0000 Organization: none Message-ID: <87vb93rkyh.fsf@ixod.org> References: Mime-Version: 1.0 Content-Type: text/plain Injection-Info: mx02.eternal-september.org; posting-host="1b3e5cba9e4d07a53741e6f3d1717925"; logging-data="23083"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+p2nG5IapNmBPQeY5rXQO+" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.4 (gnu/linux) Cancel-Lock: sha1:XK1oTqKbULlfCAGpKdN89+AlUnI= sha1:CI6oMm8XUYRNlihfl3qJKLPiFi0= Xref: news.eternal-september.org comp.lang.ada:28374 Date: 2015-11-15T21:50:30+00:00 List-Id: On 15 Nov 2015, mockturtle wrote: > I recently read in the Italian version of Linux Format an interview to Katie > Miller. It got me intrigued the fact that when she talks about Haskell, she > says things that usually Ada enthusiasts say about Ada ("when it compiles, it > runs...", "the number of bugs is reduced..."). Katie is correct. Among other things, especially with the help of some of the extensions, Haskell offers a strong static type system that is very expressive and the compiler is good at checking those claims. Getting my Haskell code to compile at all is most of the debugging work. It is nice, for instance, to be able to declare things as numerical that compile to simply being a basic number but in the source are different types that the compiler's analysis won't let me mix up accidentally -- i.e. the type information can sometimes be used then discarded -- or to be able to declare that two types have some relationship such that, in the right context, if I know what one of the types is, I can then be sure what the other is. > I remembered that some time ago > I met someone that was enthusiast both about Ada and Haskell (when I said that > I program in Ada, he said something "Finally! Now I need to find someone who > likes Haskell." > > The question should be obvious: it seems that Haskell and Ada would attract > the same kind of person; does someone here know and like Haskell as well? "As well" is strong, as I don't use Ada. (-: Partly because of Haskell's run-time system and lazy-by-default evaluation, while it /can/ be fast in the hands of skilled practitioner, and the modern compilers can do impressive optimization (like stream fusion), and Haskell does offer powerful concurrency such as software transactional memory, it would be a challenge to use it for real-time systems for which one wants to be sure of performance: I wouldn't want to be using it for programming an anti-ballistic missile. Basically, Haskell /is/ really great for safety and correctness but, unless fans of Haskell can correct me, I'd expect that Ada has the edge when time and space really matter. Languages like Idris might shine the light toward a way forward, but right now they're research projects, not for production code. -- Mark