[plt-scheme] Re: to define, or to let
Vadim Nasardinov <el-vadimo at comcast.net> responded to me:
As Donald Rumsfeld[1] famously elucidated, There are known
knowns,... there are known unknowns,... but there are also unknown
unknowns.
Great! Here's my favorite:
<http://prairiehome.publicradio.org/performances/20030412/ketchup.shtml>
which takes it one step farther, "and then there are the unknown
knowns, or things we know but we've forgotten."
You pack more knowledge into your software by being cognizant of
the evaluation order dependencies or lack thereof.
But it might be false knowledge! Until the Mzscheme compiler can
enforce "lack thereof", I think MF will say this is unsafe.
Let me re-ask: Aren't Robbie's contract.ss enforced by DrScheme?
Or a real dumb question. Typing is a way to "pack more knowledge into
your software". That's a weakness of Scheme compared to ML. But
doesn't ML enforce typing? Reaally dumb question: C enforces typing,
doesn't it? If a function is declared to take integer arguments, and
you call it with a float, the compiler flags you, right?