1. 14 Jun, 2018 1 commit
  2. 22 Dec, 2017 1 commit
  3. 15 Dec, 2017 1 commit
  4. 20 Aug, 2015 1 commit
    • Andrei Paskevich's avatar
      adapt the standard library · cb9aa0a2
      Andrei Paskevich authored
      except for modules/impset.mlw (because of Fset) and modules/mach/*
      (because of program cloning), the standard library now typechecks.
      
      This is still very much the work in progress. Many functions and
      predicates have still to be converted to "let function" and
      "let predicate". Here are some TODOs:
      - do not require the return type for "val predicate", "val lemma", etc.
      - do not require explicit variant for "let rec" if the code passes
        the termination check in Decl (see list.why)
      - what should become "val ghost function" and what should stay just
        "function" (see array.mlw, matrix.mlw, string.mlw, etc)?
      - some defined functions in algebra.why and relations.why had to be
        removed, so that they can be implemented with "let function" in
        int.mlw (since they are defined, they cannot be instantiated with
        let-functions). This seems too restrictive. One way out would be
        to authorise instantiation of defined functions (with a VC).
      - should we keep the keyword "model"? reuse of "abstract" in types
        breaks syntax coloring ("abstract" requires closing "end" in
        programs but not in types; maybe we can drop that "end" again?).
      cb9aa0a2
  5. 01 Sep, 2012 1 commit
  6. 18 May, 2012 1 commit
  7. 22 Apr, 2012 2 commits
  8. 20 Apr, 2012 1 commit
  9. 19 Apr, 2012 1 commit
  10. 06 Feb, 2012 1 commit
  11. 14 Dec, 2011 1 commit
  12. 05 Sep, 2011 1 commit
  13. 04 Sep, 2011 1 commit
  14. 01 Jul, 2011 2 commits
  15. 29 Jun, 2011 1 commit
    • Andrei Paskevich's avatar
      several changes in syntax · aa2c430e
      Andrei Paskevich authored
      - No more "and", "or", "implies", "iff", and "~".
        Use "/\", "\/", "->", "<->", and "not" instead.
      
      - No more "logic". Use "function" or "predicate".
      aa2c430e
  16. 21 Jun, 2011 1 commit
  17. 16 Jun, 2011 1 commit
  18. 09 May, 2011 1 commit
  19. 08 Apr, 2011 1 commit
  20. 26 Oct, 2010 1 commit
  21. 25 Oct, 2010 1 commit
  22. 19 Oct, 2010 1 commit
  23. 09 Jul, 2010 1 commit
  24. 24 Jun, 2010 1 commit
    • 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.
        
      ddfa942e
  25. 21 Jun, 2010 2 commits
  26. 24 Mar, 2010 1 commit
  27. 23 Mar, 2010 1 commit