>-----Original Message-----
>From: Pascal J. Bourguignon
>Sent: Monday, December 31, 2012 4:22 PM
>To: Fundamentals of New Computing
>Subject: Re: [fonc] Linus Chews Up Kernel Maintainer For Introducing Userspace 
>Bug - Slashdot
>
>"Carl Gundel" <ca...@psychesystems.com> writes:
>
>> “If there are contradictions in the design, the program shouldn't 
>> compile.”
>>
>>  
>>
>> How can a compiler know how to make sense of domain specific 
>> contradictions?  I can only imagine the challenges we would face if 
>> compilers operated in this way.
>
>Contradictions are often not really contradictions.

I was referring to the contradictions that really are contradictions.  ;-)

>It's a question of representation, that is, of mapping of the "domain", 
>to some other "domain", usually a formal system.

Yet another dimension in which we can make a mistake?  Would this be another 
kind of unit test?  Unit tests can be useful, but they have to be correct and 
there is a cost to maintaining them.

>Now we know that a given formal system cannot be at the same time complete 
>and consistent, but nothing prevents an automatic system to work with an 
>incomplete 
>system or an inconsistent system (or even a system that's both incomplete and 
>inconsistent).
>
>The only thing, is that sometimes you may reach conclusions such as 1=2, but 
>if you
>expect them, you can deal with them.  We do everyday.
>
>Notably, by modifying the mapping between the domain and the formal
>system: for different parts of the domain, you can use different formal 
>systems, or 
>avoid some axioms or theorems leading to a contradiction, to find some usable 
>conclusion.

Are you just talking about a system which will run real time uber lint checks 
that you can refer to while writing code?

>Daily, we use formal rules, that are valid just in some context.  The 
>conclusions 
>we reach can easily be invalidated, if the context is wrong
>for the application of those rules.   If we tried to take into account
>all the possible rules, we'd get soon enough inconsistencies.  But by 
>restricting 
>the mapping of the domain to some contextual rules, we can read usable 
>conclusions
>(most of the time).  When the conclusion doesn't match the domain, we may ask
>where the error is, and often it's just the context that was wrong, not the 
>rules.

Okay, but if I have to waste my time struggling through the mostly usable 
conclusions to figure out which ones are usable, and whether or not I actually 
care about the conclusion, then the value of such a system is debatable.

>We will have to embrace Artifical Intelligence, even in compilers, eventually.

Yeah, let me know when it is finally invented so I can give it a big hug.

-Carl

_______________________________________________
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc

Reply via email to