lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


unless preceded by:

math.sqrt = function(a) return #a end

hehe.

My point was that, at a certain abstract level, semantic bugs are mostly in the eye of the beholder. Attempts to formalize semantics almost always end up creating formalisms that shift semantics back into the realm of syntax; that is a formal logic system that while self-consistent doesn't really say much about anything other than that the symbol chain is valid within that system. Attempts to go beyond that fail in the same way silly ideas like the "semantic web" nonsense of a few years back.

--Tim

On Mar 26, 2013, at 9:25 AM, Doug Currie <doug.currie@gmail.com> wrote:

> On Mar 25, 2013, at 8:56 PM, Tim Hill <drtimhill@gmail.com> wrote:
> 
>> from a computers standpoint, semantic bugs cannot exist
> 
> There are programming languages that take great pains, e.g., using static analysis, to detect semantic bugs at compile time.
> 
> This Lua function will pass through the compiler just fine:
> 
> function f1 (x) return x + math.sqrt("elephant") end
> 
> but in a language with static analysis (or just strong static type checking) the compiler can declare it "meaningless," and thereby detect a "semantic bug."
> 
> e
> 
>