Changes between Version 24 and Version 25 of NestedCPR


Ignore:
Timestamp:
Jan 9, 2014 5:08:48 PM (19 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.