Re: Lying?

new topic     » goto parent     » topic index » view thread      » older message » newer message
jeremy said...
Critic said...

But when I looked at the "feature requests" on sourceforge I found this:

matt said...

Compile-Time Type Checking
The parser should report an error at compile time if a type check error is detected. For example, two errors that could be detected at compile time:

procedure foo( sequence s ) atom bar = s end procedure foo(1)

So Matt is aware EU does not do static type checking, yet he mentions it as a feature he likes?!

Hm, I think that should probably be closed as 4.0 checks at compile time. For instance:

procedure hello(sequence def) 
    puts(1, def & "\n") 
end procedure 
 
hello("John") 
hello("Jim") 
hello(10) 

When that runs under 3.x, you will see Hello John, Hello Jim, Type Check Error. However, when run under 4.0, you get an immediate error during compile time.

Actually, this is in the inline logic, because it tries to remove the type checks at the start of a routine, and throws an error if it encounters one. But anything not inlined will still slip through, so the enhancement is still valid.

Matt

new topic     » goto parent     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu