> On Dec 19, 2015, at 7:39 PM, Amir Michail <[email protected]> wrote: > >> >> On Dec 19, 2015, at 7:37 PM, Colin Barrett <[email protected]> >> wrote: >> >> >>> 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. > > Compiler standard library code tends to be very abstract and full of > generics. Normal code isn’t like that.
Speak for yourself ;-) > >> 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
