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: border1.nntp.dca1.giganews.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!usenet.blueworldhosting.com!feeder01.blueworldhosting.com!feeder.erje.net!eu.feeder.erje.net!newsfeed.fsmpi.rwth-aachen.de!newsfeed.straub-nv.de!eternal-september.org!feeder.eternal-september.org!mx02.eternal-september.org!.POSTED!not-for-mail From: Paul Rubin Newsgroups: comp.lang.ada Subject: Re: Languages don't matter. A mathematical refutation Date: Mon, 06 Apr 2015 10:07:47 -0700 Organization: A noiseless patient Spider Message-ID: <87pp7hb2xo.fsf@jester.gateway.sonic.net> References: <87h9t95cly.fsf@jester.gateway.sonic.net> <04f0759d-0377-4408-a141-6ad178f055ed@googlegroups.com> <871tk1z62n.fsf@theworld.com> <87oan56rpn.fsf@jester.gateway.sonic.net> <877fts7fvm.fsf@jester.gateway.sonic.net> <87twwv66pk.fsf@jester.gateway.sonic.net> <32ecaopodr1g.1xqh7ssdpa2ud.dlg@40tude.net> <87pp7j62ta.fsf@jester.gateway.sonic.net> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: mx02.eternal-september.org; posting-host="c694756f1077760bb5296aae16c74092"; logging-data="24015"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18E1N/8s6QDdECnbgdzDbRl" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) Cancel-Lock: sha1:qhUAdapw8LbBFBih+sdzhuIekDw= sha1:8K+R7ir2EiRWdUT8T4ZDDYVvDXU= Xref: number.nntp.giganews.com comp.lang.ada:192742 Date: 2015-04-06T10:07:47-07:00 List-Id: "Dmitry A. Kazakov" writes: >> Dennis said specifically, his program needs determinstic time. Some >> programs are like that. > He could run GC task at the lowest priority level. I got the impression that there was no room for timing variation at all in the program, and no idle time during which a GC could run. E.g. something like a controller inside a jet engine, that has to do something synchronized with the turbine spinning and can never be off by even a microsecond. > ** Most compilers use arena pools for data structures. It would be insane > to deploy GC there, IMO. Some compilers written in old, non-gc languages use arenas as a simple way to get some of gc's benefits. But compiler-writing is the archetypal application of languages like Haskell, which rely on GC. CompCert (compcert.inria.fr) could be seen from a certain perspective as the world's only truly modern compiler. It's written mostly in Coq, which could be thought of as an Ocaml dialect with a fancier type system. Coq "compiles" by extracting Ocaml code from the Coq program after type checking, so you can compile and run the extracted Ocaml code. The Coq code is far removed from anything like memory allocation so it has to rely completely on gc.