[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: cheerful static typing (was: Any and Every... (was: Eval))
I don't think Curl is claiming any innovation about this. We're simply
putting into production what I hope is a pretty well-proven approach
(within the language-geek community, if not necessarilly well-proven or
well-known amongst other communities).
Other than that, I have to admit that I didn't follow your concerns.
They seemed kind of general to me. I've offered up our type-checking
approach as a specific example of how cheereful and pessimistic type
checking can coexist in an actual production system. So far, it has
worked well in practice. However, I'm a fan of your work and that of
others on this list, and would like to learn of any specific problems
you can identify. Or maybe you're telling me that there's something
fundamentally broken about the concept?
What did you mean by "we" and "like that"? I think that the same
mechanism could work in a CL implementation. However, as I understand
it, the ANSI standard only specifies the behavior of the compiler when
the type declarations are correct and consistent. Any additional
behavior (e.g., of the compiler in rejecting programs or inserting
runtime checks) would have to be spec'ed out by the individual
implementation.
Matthias Felleisen wrote:
>Okay, and how do you ensure that your type system means anything?
>We have had a "type system" like that in CL for years.
>
>Based on my 12 year experience of using and exploring soft type systems,
>the key to a type system is the programmer and not the compiler. The
>programmer needs to understand
>
> * the types
> * the type errors
> * the meaning of types for the program execution.
>
>[The ordering is wrong, the second point should be first.]
>
>Work out the Curl type system in these three directions if you want to
>claim an interesting innovation.
>
>-- Matthias
>