Changes between Version 24 and Version 25 of NestedCPR


Ignore:
Timestamp:
Jan 9, 2014 5:08:48 PM (14 months ago)
Author:
nomeata
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • NestedCPR

    v24 v25  
    8686Unfortunate example: 
    8787{{{ 
    88 g :: Int -> (Int,Int) 
    89 g 1 = (0,0) 
    90 g x = (x,0) 
     88g :: Int -> Int 
     89g 1 = 0 
     90g x = x 
    9191}}} 
    9292What should its signature be? We want `<S>t`, but we get `<S>`. Why? Because the branches have signatures `t` and `{x ↦ S} t`. So their lub is going to be `{x ↦ L}`. In a later step, the demand on `x` will be strict again, but that is not easily visible here.