1. 03 Nov, 2013 1 commit
    • Andrei Paskevich's avatar
      allow printers to produce "urgent output" · c0e146fa
      Andrei Paskevich authored
      this is useful to declare on-the-fly a new sort which replaces
      a complex type. Otherwise, the printer has to traverse any term
      twice: first, to detect complex types, second, to print the term.
      c0e146fa
  2. 02 Nov, 2013 1 commit
    • Andrei Paskevich's avatar
      implement printers as memoizing transformations · 9640fb2b
      Andrei Paskevich authored
      also, avoid the "encoding_sort" transformation, if it can be done
      directly in the printer.
      
      On the same example as in the previous commits, this gives 5x
      acceleration together with some memory usage reduction.
      9640fb2b
  3. 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
  4. 16 Oct, 2013 1 commit
  5. 11 Oct, 2013 1 commit
  6. 10 Oct, 2013 1 commit
  7. 28 Sep, 2013 1 commit
  8. 13 Mar, 2013 1 commit
  9. 06 Mar, 2013 2 commits
  10. 02 Feb, 2013 1 commit
  11. 06 Nov, 2012 1 commit
  12. 05 Nov, 2012 1 commit
  13. 04 Nov, 2012 1 commit
  14. 21 Oct, 2012 2 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. 27 Sep, 2012 1 commit
  17. 11 Sep, 2012 2 commits
  18. 27 Aug, 2012 1 commit
  19. 05 Aug, 2012 2 commits
  20. 04 Aug, 2012 1 commit
  21. 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
  22. 05 Jul, 2012 1 commit
  23. 29 Jun, 2012 2 commits
  24. 09 Apr, 2012 1 commit
  25. 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
  26. 15 Mar, 2012 1 commit
  27. 07 Mar, 2012 2 commits
  28. 06 Mar, 2012 1 commit
  29. 04 Mar, 2012 1 commit
  30. 22 Feb, 2012 1 commit
    • Andrei Paskevich's avatar
      make api of maps/sets more consistent · 33bb423f
      Andrei Paskevich authored
      - change takes function as the first argument
      - add_new takes exception as the first argument
      - find_default is renamed to find_def and takes the default value
        as the first argument
      - find_option is renamed to find_opt (to align with find_exn and find_def)
      - default_option is renamed def_option
      33bb423f
  31. 19 Feb, 2012 1 commit
  32. 19 Jan, 2012 3 commits