[plt-scheme] Standard ML in PLT Scheme
On Dec 22, 2007 3:16 PM, Richard Cobbe <cobbe at ccs.neu.edu> wrote:
> On Sat, Dec 22, 2007 at 11:20:16AM -0500, Sam TH wrote:
> > On Dec 22, 2007 9:08 AM, Chongkai Zhu <czhu at cs.utah.edu> wrote:
>
> > > 2.Dynamically typed code is the only thing available in PLT at run time.
> > > Even typed Scheme turns everything into a dynamically typed world after
> > > static type checking.
>
> > This is true, but somewhat misleading. Every programming language,
> > typed or untyped, is ultimately executed on the untyped processor.
>
> To borrow a phrase, this is true but irrelevant. :-)
>
> The untyped processor (at least on modern stock hardware like ppc or i386)
> doesn't unconditionally and automatically insert tag checks that are
> unnecessary if your source language has a sound type system. This is what
> I understood to be the point of Tomi Neste's question up-thread.
>
> Marco Morazan hasn't stated his objections to dynamic typing, but that
> phrase as I've seen it used usually implies the existence of these tag
> checks. (I think the Perl folks use it to refer to duck typing, but I also
> think they're obscuring an important distinction. For the current
> discussion, though, this doesn't matter, as stock processors don't do those
> auto-coercions either.)
>
> Or am I misunderstanding you, Marco?
>
That is certainly a concern I would be interested in hearing an answer
to. My other major concern is the behavior expected if a type error
occurs at runtime. The whole point of static typing is to guarantee
that type errors do not occur. Why would we ML programmers want to
give that up by calling functions written in Scheme that have not been
statically type checked?
I understand the project is new and I am intrigued. I am wondering how
much work/thought has been put into this so far.
Cheers,
Marco