Our great sponsors
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
The context is
> for each input, there is one and only output
A randomized algorithm which uses non-determinism but produces the same output is OK.
If the algorithm can produce different output causing the same program to compile to different assembly, that's a problem. Unless you can formally prove that every possible variation will have the same behavior, but formal methods + non-determinism is hard, so it usually isn't worth it.
Even random hash order in hashmaps can create problems, see https://github.com/rust-lang/rust/issues/84447 and https://github.com/rust-lang/rust/pull/82272#issuecomment-82...
This paper is my favorite introduction to compilers, it's short and hands-on: http://scheme2006.cs.uchicago.edu/11-ghuloum.pdf
There is a book-length expansion of this paper that goes into more detail: https://github.com/IUCompilerCourse/Essentials-of-Compilatio...
This paper is my favorite introduction to compilers, it's short and hands-on: http://scheme2006.cs.uchicago.edu/11-ghuloum.pdf
There is a book-length expansion of this paper that goes into more detail: https://github.com/IUCompilerCourse/Essentials-of-Compilatio...