> 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.

> 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

Reply via email to