[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.
   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
      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.