• Kim Nguyễn's avatar
    Improve the type pretty printer, as follows : · 40740c72
    Kim Nguyễn authored
    for each component (int, atoms, pairs...) we optimize the case where the component is like
    
      T1&'a | T2 | T3&'a
    
    we split it into
    - T2
    - T1 &'a | T3 &'a
    we retrieve { 'a } as the set of top level vars in the second type
    we compute T2 &'a | T1 &'a | T3 &'a
    then remove 'a from that type and return finally :
    
    T2 | ('a & (T1 | T2 | T3))
    
    We special case if (T1 | T2 | T3) is top, then we just display
    T2 | 'a
    40740c72
boolVar.ml 14 KB