Next | Atypical Types | 18 |
Goal: Compile-time checking of program soundness
Pitfalls
False negative: Ignore real errors
False positive: Report spurious errors
Pascal Examples
var s : array [1..10] of character; s := 'hello'; { You wish } {----Thank you sir and may I have another! ----------} type string = array [1..40] of character; procedure error (c: string) begin write('ERROR: '); write(c); writeln(''); end; error('File not found'); { In your dreams } error('File not found '); { You have to do this } error('Please just kill me Mr. Wirth ');
Wirth agrees that this was a bad move.
And almost every commercial implementation of Pascal fixed this problem.
Not all these fixes were mututally compatible.
Next | Copyright © 1999,2008 Mark Dominus |