• Andrei Paskevich's avatar
    - Convert the syntax of prototype declarations and type expressions · ddfa942e
    Andrei Paskevich authored
      in the logic language into (more or less) higher-order style.
      For example,
        logic func (x : int, y : int, 'a list) : (int, 'a) map list
        logic pred (bool, int * real)
      is now written:
        logic func (x y : int) (list 'a) : list (map int 'a)
        logic pred bool (int, real)
      Note that types use prefix notation (as in Coq) and the types
      of tuples are now written as (type1, type2, ..., typeN).
    - Use the same syntax of type expressions in the program language.
    - Allow binders of the form (x y:int) in the program language.
typing.ml 29.1 KB