[plt-scheme] macro question

From: Sam TH (samth at ccs.neu.edu)
Date: Sun Jun 8 08:56:18 EDT 2008

I would describe three kinds of benefits, potentially, from a type system:

1 - finding stupid mistakes.  As Benjamin Pierce recently put it, this
is a consequence of trying to prove basically any non-trivial theorem
about your program, no matter what it is.

2 - finding more complicated mistakes, that is, encoding your
invariants in the type system.  This is hard, and might be rewarding,
but not our research area.

3 - maintainability.  When you look at a function, or a datastructure,
you immediately know something about how it works, and when you
perform maintenance in one place, you're prevented from screwing
things up in other places.

For Typed Scheme, we've focused mainly on benefit 3.  Certainly you
also get benefit 1 from Typed Scheme, as from any type system, but as
Matthias said, that isn't why we've developed it.

sam th
samth at ccs.neu.edu

On Sat, Jun 7, 2008 at 8:10 PM, Michael Vanier <mvanier at cs.caltech.edu> wrote:
> Your statement is confusing.  Are you conducting research on typed Scheme to
> provide evidence for the thus-far unfounded rumor that significant errors
> are discovered with type systems?
> I wouldn't knock the importance of typo-level bugs, even if they aren't sexy
> or good research fodder.  Having tools that can automatically pick them out
> (as opposed to having to write unit tests for this) is very convenient.
>  Then unit tests can be used to check more significant logical properties of
> code.  Of course, very sophisticated type systems may have that property
> too.
> Mike
> Matthias Felleisen wrote:
>> On Jun 7, 2008, at 3:58 PM, Michael Vanier wrote:
>>> Completely off-topic, I have to say that I am really keen on the idea of
>>> typed Scheme (which I haven't used yet, though I've read the paper).  I
>>> found that about 90% of the bugs in my code were stupid type errors.
>>>  Contracts would probably have helped a lot too.
>> 1. Typed Scheme will be released as a part of 4.0 so you can play with it
>> as you wish.
>> 2. I consider it a nothing but an unfounded rumor that significant errors
>> are discovered with type systems. I wouldn't conduct this research if
>> finding typo-level errors were the only benefit of types. Basic unit testing
>> exposes even more of these typo-level bugs, plus some significant ones.
>> -- Matthias
> _________________________________________________
>  For list-related administrative tasks:
>  http://list.cs.brown.edu/mailman/listinfo/plt-scheme

Posted on the users mailing list.