[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Icon
From: Matthias Felleisen <matthias@ccs.neu.edu>
To: gls@labean.East.Sun.COM
Cc: ll1-discuss@ai.mit.edu
Subject: Re: Icon
Date: Mon, 24 Dec 2001 09:12:19 -0500 (EST)
In Scheme all things are possible, more or less;
but I have to concede that the Haskell type system
makes it more likely that, once the type system is
happy, such hairy code actually works correctly.
--Guy
1. Well, not really. How can you express once and for all that a Scheme
function is (int -> int) -> (int -> int) ?
2. Finding and eliminating the type bugs is proving a theorem about the
soundness of data manipulation. It's not surprising that you eliminate
many bugs as you do so. I do not understand, however, why the language
should not allow you to use the dynamic debugger while you're doing
that.
A few years back I spent 15 minutes implementing and running a minimini
thread system in Scheme using call/cc and nothing else. A person who had
worked on the SML/NJ compiler tried to mimic the idea in SML and spent
2 hours getting the types right. Yes, when his code ran, it was correct.
But is it worth the price>
Not for a minimini thread system. But for an industrial-strength
thread system to be deployed and used by thousands of people,
it might well be worth the investment. A strong type system would
strongly increase my confidence that an extension added to the system
a year later would not introduce bugs.
--Guy
- Follow-Ups:
- Re: Icon
- From: Michael Vanier <mvanier@bbb.caltech.edu>