[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