[plt-scheme] Why do folks implement *dynamically* typed languages?

From: Matthias Felleisen (matthias at ccs.neu.edu)
Date: Wed May 30 13:21:05 EDT 2007

On May 30, 2007, at 12:57 PM, Paulo J. Matos wrote:

> On 5/30/07, Matthias Felleisen <matthias at ccs.neu.edu> wrote:
>> If I were to write batch programs for a living and a company, I
>> may choose OCAML simply to restrict the pool of programmer-applicants
>> to the intelligent ones. And also because my priorities would shift
>> from invention to fear of maintenance. But I may also stick with
>> PLT Scheme and pour the necessary energy into Typed Scheme to make
>> it fully operational.
> Now you got me. I was expecting you to choose PLT Scheme, no questions
> asked. Anyway, PLT Scheme will alse restrict the pool of
> programmer-applicants to the intelligent ones, right?

No. A huge advantage of a language like Scheme is that the entry  
barrier is much lower than for OCAML. So anyone can program a little  
bit in Scheme. And that's just fine.

OCAML (and Haskell)'s type systems pose such challenges that only  
people with a PhD from a good group can really grok it so you have  
more filtering there. If they also want to work in industry you know  
that they are not into research per se. You're all set.

> Now, from what I understood from the last sentence, you say a company
> should use for it's production code a statically typed programming
> language (and then if you'd use PLT Scheme, you'd stick to Typed
> Scheme?). How about using PLT-Scheme + Contracts and forget types in a
> company environment (using the type system in modules interfaces as a
> kind of soft type checking)?
> I'm interested on this one... :)

I was too cryptic. I would develop in PLT Scheme. Plain. I would move  
modules to Typed Scheme after development. I want contracts for typed  
scheme, but this is a serious challenge to our macro model (combining  
two ways of life). And I need to be able to create very small  
executables. And that would be my ideal model of programming. But  
it's not quite ready, which is why I would at this moment start with  
OCAML for batch programs. (If I have to use GUI/graphics, forget it.  
PLT Scheme is it.)

-- Matthias

Posted on the users mailing list.