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

RE: Macros and little languages

> That's why I don't think we can resolve the static
> type checking debate merely by saying: "Let's
> just add type declarations but make them optional."

That's true, but it would still be a heck of a lot better than what most
languages have now, if an optional capability could be integrated fairly
seamlessly.  The Curl approach sounds pretty viable to me.

It's easy to imagine systems with a stable, well-tested core that's fully
typed, with newer auxiliary modules under development that aren't fully
typed.  The benefits of static typing would apply fully to all the code in
the core, but only partially to other less fully typed parts.

Also, when working on a prototype with minimal typing, it would still be
beneficial to be explicit about the types of any entities imported from
fully-typed parts of the system.  That could allow changes to the fully
typed parts to be typechecked even in the less-fully-typed parts.  Since it
would presumably be difficult to enforce this kind of mixed typing (although
perhaps somewhat possible with inferencing), it wouldn't provide absolute
safety, but it could still be a helpful tool to have.