Optional Static Typing - Haskell?
donn at drizzle.com
Mon Dec 27 08:34:17 CET 2004
Quoth Mike Meyer <mwm at mired.org>:
| aleaxit at yahoo.com (Alex Martelli) writes:
|> But then, the above criticism applies: if interface and implementation
|> of a module are tightly coupled, you can't really do fully modular
|> programming AND static typing (forget type inferencing...).
| I beg to differ. Eiffel manages to do this quite well. Then again,
| every Eiffel environment comes with tools to extract the interface
| information from the code. With SmartEiffel, it's a command called
| "short". Doing "short CLASSNAME" is like doing "pydoc modulename",
| except that it pulls routine headers and DbC expression from the code,
| and not just from comments.
And you probably think Eiffel supports fully modular programming, as
I thought Objective CAML did. But Alex seems not to agree.
The way I understand it, his criteria go beyond language level semantics
to implementation details, like whether a change to a module may require
dependent modules to be recompiled when they don't need to be rewritten.
I don't know whether it's a reasonable standard, but at any rate hopefully
he will explain it better than I did and you can decide for oneself whether
it's an important one.
Donn Cave, donn at drizzle.com
More information about the Python-list