[PRL] the "success" of types

Matthias Felleisen matthias at ccs.neu.edu
Fri May 19 14:43:16 EDT 2006


On May 19, 2006, at 2:32 PM, Mitchell Wand wrote:

> BTW:  Matthias wrote:
>
>> 4a. In a functional language/program, the channels are completely
>> explicit even for the smallest unit of abstraction: a function. Your
>> types say what comes in; your result types say what comes out. You can
>> check this. And over the past couple of decades we have learned that
>>  it's easy to communicate even polymorphic values along those 
>> channels.
>
> It's worth remembering that this doesn't necessarily make the channels 
> entirely easy to understand.  In the presence of higher-order 
> functions, it's quite difficult to figure out what flows into what.  
> That's why 0CFA is O(n^3).
>
> It's also why in Haskell, you always declare the type of every 
> function.  If you didn't, figuring what flowed into what would drive 
> you crazy.

This point I accept. FP has pushed the linguistic part of constructing 
channels and even handing them around. It is thus not surprising that 
you "pay" more for an analysis.

In general, the problem is one of finding a good compromise between 
clarity of expression and reasoning about it. (I wrote this in On the 
Expressive Power and stand by this 15 years later.)

-- Matthias




More information about the PRL mailing list