[plt-scheme] Standard ML in PLT Scheme

From: Sam TH (samth at ccs.neu.edu)
Date: Sat Dec 22 11:20:16 EST 2007

On Dec 22, 2007 9:08 AM, Chongkai Zhu <czhu at cs.utah.edu> wrote:
> Marco Morazan wrote:
> > Matthias has given you a good piece of advice.
> >
> > A question that is sure to come up: Why, after static type checking,
> > would you turn everything into a dynamically typed world?
> >
> > If you have a good argument for this, I would be delighted to hear it.
> >
> > Cheers,
> >
> > Marco
> >
> >
> 1 Static type checking is off by default. Even it is used, only ML code
> is type checked, and there is no contract on the interface between ML
> and Scheme to protect you.
> 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.
[1] However, this doesn't prevent ML, Haskell or Java from being
statically typed.

> 3. In theory, it is possible to compile ML into typed Scheme. But
> unit.ss and plt-match.ss are heavily used in the result Scheme code.
> None of these two is available in typed Scheme for now.

unit.ss does not work with Typed Scheme at the moment, but match.ss
and plt-match.ss mostly do.  If you have any problems with Typed
Scheme and match.ss, please let me know about it.

sam th
samth at ccs.neu.edu

Posted on the users mailing list.