1. 18 Feb, 2015 1 commit
  2. 17 Feb, 2015 1 commit
  3. 14 Mar, 2014 1 commit
  4. 10 Nov, 2013 1 commit
  5. 29 Oct, 2013 1 commit
    • Andrei Paskevich's avatar
      Term: do not store t_vars in terms · 7abeba05
      Andrei Paskevich authored
      we still keep bv_vars in the binders, so calculating the set
      of free variables only has to descend to the topmost binders.
      The difference on an example from BWare is quite striking:
      
      /usr/bin/time why3-replayer : with t_vars
      
      505.14user 15.58system 8:40.45elapsed 100%CPU (0avgtext+0avgdata 3140336maxresident)k
      
      /usr/bin/time why3-replayer : without t_vars
      
      242.96user 12.04system 4:16.31elapsed 99%CPU (0avgtext+0avgdata 2007184maxresident)k
      
      Not only we take 2/3 of memory, but we also gain in speed (less work
      for the GC, most probably).
      
      This patch should be tested on big WhyML examples,
      since src/whyml/mlw_*.ml are big users of t_vars.
      
      Thanks to Guillaume for the suggestion.
      7abeba05
  6. 26 Oct, 2013 1 commit
    • Andrei Paskevich's avatar
      Pattern: add compile_bare which does not require known_map · 43aeab83
      Andrei Paskevich authored
      In pattern compilation, we only need to know the full list of
      constructors for a given type, whenever
      1. we want to check that a symbol used in a pattern is indeed
         a constructor;
      2. we want to check for non-exhaustive matching and return an
         example of a non-covered pattern, if any.
      Thus, we need to give Pattern.compile access to the current
      known_map whenever we check new declarations in Decl or Mlw_decl.
      However, once we have checked the patterns, we do not need the
      full constructor lists just to compile the match expressions.
      Just knowing the number of constructors (provided in ls_constr)
      is enough to detect non-exhaustive matching during compilation.
      43aeab83
  7. 06 Aug, 2013 1 commit
  8. 06 Mar, 2013 1 commit
  9. 05 Nov, 2012 1 commit
  10. 04 Nov, 2012 1 commit
  11. 29 Oct, 2012 1 commit
  12. 27 Oct, 2012 1 commit
  13. 26 Oct, 2012 1 commit
  14. 21 Oct, 2012 3 commits
  15. 20 Oct, 2012 1 commit
    • Andrei Paskevich's avatar
      simplify copyright headers · 11598d2b
      Andrei Paskevich authored
      + create AUTHORS file
      + fix the linking exception in LICENSE
      + update the "About" in IDE
      + remove the trailing whitespace
      + inflate my scores at Ohloh
      11598d2b
  16. 11 Sep, 2012 1 commit
  17. 03 Aug, 2012 1 commit
    • François Bobot's avatar
      Documentation: add description to all the registration functions · 29201f7c
      François Bobot authored
       (metas, debug flags, transformations, formats) except for label.
      
      This description is used in --list-*. The description can use any of
      the formatting markup of Format "@ " "@[",...
      
      Transformations can also specify from which metas and labels they
      depend, and add informations about how they are interpreted.
      
      TODO:
        - complete and correct the documentation
        - when a transformation use Trans.on_meta, it should be possible to
          add an interpretation of the metas in the documentation.
        - recover a summary version of --list-* ?
        - be able to export in latex?
      29201f7c
  18. 04 Jul, 2012 1 commit
  19. 09 Apr, 2012 1 commit
  20. 18 Mar, 2012 1 commit
    • Andrei Paskevich's avatar
      separate abstract types and logic symbols · 1b769a78
      Andrei Paskevich authored
      - put abstract types and aliases in Dtype of tysymbol
      - put (recursive) algebraic types in Ddata of (ts,constr list) list
      - put abstract function/predicate symbols in Dparam of lsymbol
      - put defined logic symbols in Dlogic of (ls,ls_definition) list
      1b769a78
  21. 17 Mar, 2012 4 commits
  22. 26 Feb, 2012 1 commit
  23. 09 Feb, 2012 1 commit
  24. 20 Sep, 2011 1 commit
  25. 13 Jul, 2011 1 commit
    • Guillaume Melquiond's avatar
      Add support for generic printing of integers and reals. · 1ba8f1a6
      Guillaume Melquiond authored
      Prover capabilities are now represented by a record enumerating each case and which syntax to use then.
      This fixes output of nondecimal integers to provers (bug #12981).
      
      TODO: check whether some provers support more than just decimal representations.
      1ba8f1a6
  26. 01 Jul, 2011 1 commit
  27. 10 Jun, 2011 1 commit
  28. 31 May, 2011 1 commit
  29. 24 May, 2011 1 commit
  30. 16 May, 2011 1 commit
  31. 15 May, 2011 5 commits