1. 2

    What is an incorrect compiler? Does this just mean no compiler bugs? Compiler bugs are not the problem with my software - I am the problem 99.999% of the time.

    1. 3

      What is an incorrect compiler?

      A compiler that generates an output not respecting the language’s specification.

      I am the problem 99.999% of the time

      Sure, but what do you do if the bug is in the compiler? Nothing. That’s why you want to know that the compiler you use is as close as possible to being bug-free.

      1. 2

        Sure, but what do you do if the bug is in the compiler?

        On the rare occasion that I even notice this situation, I rewrite my code in a way that doesn’t cause the compiler to have a bug. Similar to when a library that I use has a bug, so I work around it (if I don’t have easy access to the source of the library).

        I still think the bigger problem is that the compiler may be taking my source code and outputting correct executable code, but the input source is wrong. “Correct” or “not correct” makes no difference – the output will not what I want. More than likely (very, very likely), I’ve written source code that compiles to the wrong thing (aka a bug).

        1. 2

          I agree with you in that the bugs in a programs comes most of the time from its programmer and not he compiler. But btw, if one day I update my compiler and it creates code behaving the wrong way, it would be pretty bad as I might not notice it right away. So compiler verification is a pretty important topic I think.

          1. 2

            Don’t get me wrong: I think it’s cool. I’m really trying to understand the benefit.

            But btw, if one day I update my compiler and it creates code behaving the wrong way

            Won’t the fact that you updated the compiler change the verification, since the verification is generated by creating the compiler? Isn’t the verification just verifying that the compiler does what it is supposed to? Will you know your code is behaving the wrong way?

        2. 1

          To clarify, for example, many gcc optimizations are incorrect, although it’s mostly only Linus who diagnoses that. :)

        3. 2

          I write Scala, so compiler bugs cause me a lot of pain.

        1. 4

          What forum is appropriate to have discussions. lobste.rs is probably fine to promote these things but not great for Q&A/discussions of the readings. Standard choice would be a mailing list but maybe there’s a newer, hipper technology that’d be better?

          1. 3

            I’m kind of promoting putting together a discourse site or even going on reddit (maybe!). The idea of a maybe weekly “book club” thread plus side threads for exercises/specific topics/questions seems nice.

            I also like Craig’s notion of landing on a “study guide” as a result. Each “book club” thread could have as a goal adding to that study guide (in Hackpad?).

            1. 2

              What’s wrong with using irc, where it’s logged and published on a website? Like bash.org

              Could also embed a web irc client.

              1. 5

                I thing direct communication channels (like IRC) can really get messy when you have more people participating in complicated discussions.

                I like the idea of a mailing list, google groups is a pretty decent solution for that.

                1. 4

                  IRC could be nice to go alongside the main work, but I think something more organized than an IRC log would be really desirable.

                  1. 2

                    So mailing lists, IRC, and Google Groups are all going to make LaTeX / MathJax a challenge. I’m thinking that’s a must-have feature?

                    1. 3

                      Eh i say just throw discourse up on a small instance. Can still have irc for live chat on freenode as an example.

                    2. 2

                      IRC is ephemeral, active, and poorly archived. I like it, but more permanent and passive ways of conversing may be preferred for this beyond the rough stages.