> On Dec 19, 2015, at 7:32 PM, Amir Michail <[email protected]> wrote: > > >> On Dec 19, 2015, at 7:21 PM, Colin Barrett <[email protected]> >> wrote: >> >> I’d recommend you read >> http://tratt.net/laurie/blog/entries/the_bootstrapped_compiler_and_the_damage_done, >> which has a number of rebuttals to what you’ve said below. >> > > That’s an interesting article but it doesn’t address the issue of whether > compiler code is more like normal programming than compiler standard library > code.
Perhaps I don’t understand what you mean, but the article gives two good reasons why compiler code is special. The first reason is that we understand a lot about how to design a compiler, much more than we understand about how to design other types of programs. The second follows: > [C]ompilers are an atypical class of program. In essence, a compiler is a > simple batch pipeline process. A program is read in and translated to a tree; > a series of tree transformations are applied; and eventually one of those > trees is saved out as some sort of binary data (e.g. machine code or > bytecode). Most of the intermediate tree transformations calculate a > relatively simple bit of information about the program and create a slightly > modified tree based on it. A few calculations crop up time and time again, > such as: maps from variables to scopes or types; and stacks to determine > closures. Significantly, and unlike most programs in the real world, there is > no interaction with users: the compiler knows all it needs about the outside > world from the moment it is called. Personally, I think the main reason not to rewrite the Swift compiler is that it would be a distraction from improving the Swift language and other associated tools. -Colin >>> On Dec 19, 2015, at 4:41 PM, Amir Michail via swift-evolution >>> <[email protected]> wrote: >>> >>> Compiler code is probably more typical of what most programmers write than >>> library code and so would be ideal for suggesting further language >>> evolution ideas. >>> _______________________________________________ >>> swift-evolution mailing list >>> [email protected] >>> https://lists.swift.org/mailman/listinfo/swift-evolution >> > _______________________________________________ swift-evolution mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-evolution
