From: | anton@mips.complang.tuwien.ac.at |
Newsgroups: | comp.compilers |
Date: | Fri, 14 Jun 2024 16:00:06 +0000 |
Organization: | Compilers Central |
References: | 24-06-003 24-06-005 24-06-011 24-06-014 |
Injection-Info: | gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="99764"; mail-complaints-to="abuse@iecc.com" |
Keywords: | design, books |
Posted-Date: | 16 Jun 2024 09:23:27 EDT |
Derek <derek-nospam@shape-of-code.com> writes:
>> That is the promise of programming langauges that make it hard to get
>> a program to compile: get it to compile, and it is usually correct. I
>> am not aware of any empirical evidence that supports this promise.
>
>Requiring that variables are defined before use
>decreases incorrectness (which is not a marketable term).
It's not hard to get a program to compile if the compiler requires
definition before use.
The languages for which I have heard the claim the most are Haskell
and Rust.
I remember talking at a conference to someone who worked on the
register allocator of IIRC SML/NJ (ML is an eager language on which
the syntax and type system of Haskell are based AFAICT), and it did
not sound like the promise had been achieved. I also wonder how all
the correctness criteria of a register allocator could be modeled as
Haskell or Rust types.
>If you are interested in evidence, check out
>My book, Evidence-based Software Engineering, which
>discusses what is currently known about software engineering,
>based on an analysis of all the publicly available data
>pdf+code+all data freely available here:
>http://knosof.co.uk/ESEUR/
Cool book. If only I had more time to read all the interesting books.
- anton
--
M. Anton Ertl
anton@mips.complang.tuwien.ac.at
http://www.complang.tuwien.ac.at/anton/
Return to the
comp.compilers page.
Search the
comp.compilers archives again.