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: Paul Rubin Newsgroups: comp.lang.ada Subject: Re: Haskell, anyone? Date: Sun, 15 Nov 2015 19:59:00 -0800 Organization: A noiseless patient Spider Message-ID: <87h9kmoarf.fsf@nightsong.com> References: Mime-Version: 1.0 Content-Type: text/plain Injection-Info: mx02.eternal-september.org; posting-host="811568160cd9f4c22b2423e1fab39dcc"; logging-data="20132"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18djQB+zj6KsT5ofeIK4iXt" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) Cancel-Lock: sha1:qcGdkFwhLSQZH5fABTREhDHL/Dc= sha1:r8w4M9phbkchA8fTVVIEVgjB1Jk= Xref: news.eternal-september.org comp.lang.ada:28386 Date: 2015-11-15T19:59:00-08:00 List-Id: mockturtle writes: > Oh, well, back to the tutorial... Haskell is one of the most interesting things I've done as a programmer, and anyone into programming languages as an area of interest rather than just as tools should try it out. It's very different from Ada in the sense of being a typed Lisp descendant, with a fairly complex runtime system that makes heavy use of garbage collection. So as Mark says, it doesn't give you precise control of cpu or memory utilization the way Ada does. In fact it's easy to write Haskell code that consumes large amounts of memory by accident (so-called space leaks). It takes a while to understand Haskell well enough to avoid these. If it helps, I'd say the archetypal Ada application is something like a jet engine controller, that absolutely has to satisfy realtime and memory constraints, must never throw exceptions, etc, but whose underlying function is reasonably simple (squirt fuel into the engine at the just the right time). The archetypal Haskell application OTOH is e.g. a compiler, that does intricate transformations on complicated data, that must not produce a wrong answer (i.e. generate wrong code), but for which other types of failure (like taking too long or running out of memory) are merely inconveniences (you fix the bug or find a workaround if that happens).