1. 28 Sep, 2018 1 commit
    • Raphael Rieu-Helft's avatar
      Add support for partial functions · 17ed1270
      Raphael Rieu-Helft authored
      Program functions can be declared as partial with "let/val partial".
      Similarly to "diverges", partial code cannot be ghost, however it does not need to be
      explicitly specified as partial.
      
      Fixes #184.
      17ed1270
  2. 24 Sep, 2018 3 commits
    • Guillaume Melquiond's avatar
    • DAILLER Sylvain's avatar
      Merge branch 'sept_merge_new_ide' into 'master' · 1e39b6c0
      DAILLER Sylvain authored
      Sept merge new ide
      
      Closes #161 and #160
      
      See merge request !24
      1e39b6c0
    • Sylvain Dailler's avatar
      Merge branch 'new_ide' into master · 7c901fd6
      Sylvain Dailler authored
      This intends to add improvements that were done in new_ide but not merged
      in master yet.
      In particular, this merges
      - the commit for interruption of provers in why3server.
      - several counterexamples improvements:
        * choice of pretty printing for float counterexamples
        * countereamples parsing of lowercase "lambda"
      - itp_server/controller_itp improvements:
        * error handling in itp_server (any_from_node_ID is now option)
        * reformating of controller_itp queues as record instead of tuples
        * choice to always give a new goal with the automatic function that gets
      next goal
      
      Conflicts:
      	bench/ce/algebraic_type_CVC4,1.5.oracle
      	bench/ce/algebraic_type_Z3,4.6.0.oracle
      	bench/ce/array_records_CVC4,1.5.oracle
      	bench/ce/array_records_Z3,4.6.0.oracle
      	bench/ce/arrays_CVC4,1.5.oracle
      	bench/ce/arrays_Z3,4.6.0.oracle
      	bench/ce/floats_CVC4,1.5.oracle
      	bench/ce/floats_Z3,4.6.0.oracle
      	bench/ce/if_decision_branch.mlw
      	bench/ce/if_decision_branch_CVC4,1.5.oracle
      	bench/ce/if_decision_branch_Z3,4.6.0.oracle
      	bench/ce/int.mlw
      	bench/ce/int32_CVC4,1.5.oracle
      	bench/ce/int32_Z3,4.6.0.oracle
      	bench/ce/int_CVC4,1.5.oracle
      	bench/ce/int_Z3,4.6.0.oracle
      	bench/ce/int_overflow_CVC4,1.5.oracle
      	bench/ce/int_overflow_Z3,4.6.0.oracle
      	bench/ce/jlamp0_CVC4,1.5.oracle
      	bench/ce/jlamp0_Z3,4.6.0.oracle
      	bench/ce/jlamp_array_CVC4,1.5.oracle
      	bench/ce/jlamp_array_Z3,4.6.0.oracle
      	bench/ce/jlamp_projections_CVC4,1.5.oracle
      	bench/ce/jlamp_projections_Z3,4.6.0.oracle
      	bench/ce/map_CVC4,1.5.oracle
      	bench/ce/map_Z3,4.6.0.oracle
      	bench/ce/real_CVC4,1.5.oracle
      	bench/ce/real_Z3,4.6.0.oracle
      	bench/ce/record_map_CVC4,1.5.oracle
      	bench/ce/record_map_Z3,4.6.0.oracle
      	bench/ce/records_CVC4,1.5.oracle
      	bench/ce/records_Z3,4.6.0.oracle
      	bench/ce/ref_CVC4,1.5.oracle
      	bench/ce/ref_Z3,4.6.0.oracle
      	bench/ce/simple_array_CVC4,1.5.oracle
      	bench/ce/simple_array_Z3,4.6.0.oracle
      	src/core/ident.ml
      	src/core/ident.mli
      	src/parser/parser.mly
      	src/printer/alt_ergo.ml
      	src/printer/smtv2.ml
      	src/session/itp_server.ml
      	src/transform/eval_match.ml
      	src/transform/intro_projections_counterexmp.ml
      	src/transform/intro_vc_vars_counterexmp.ml
      	src/whyml/mlw_wp.ml
      	tests/demo-itp.mlw
      7c901fd6
  3. 23 Sep, 2018 5 commits
  4. 21 Sep, 2018 3 commits
  5. 20 Sep, 2018 2 commits
  6. 18 Sep, 2018 2 commits
  7. 14 Sep, 2018 7 commits
  8. 13 Sep, 2018 8 commits
  9. 12 Sep, 2018 3 commits
  10. 11 Sep, 2018 6 commits
    • Guillaume Melquiond's avatar
      1f4ad208
    • Guillaume Melquiond's avatar
      Clean prover settings a bit. · f086a68c
      Guillaume Melquiond authored
      f086a68c
    • Guillaume Melquiond's avatar
      Split benches. · f226c87c
      Guillaume Melquiond authored
      f226c87c
    • Mário Pereira's avatar
      OCaml printer: pattern priting protected by parentheses. · 47f6a44c
      Mário Pereira authored
      This closes issue #181.
      47f6a44c
    • Raphael Rieu-Helft's avatar
      Fix a broken session · c7690747
      Raphael Rieu-Helft authored
      c7690747
    • Guillaume Melquiond's avatar
      Remove handcrafted error messages (fix issues #150 and #172). · ce21b6c1
      Guillaume Melquiond authored
      Short story: it was a source of bugs, there was only one handcrafted
      message over 650, and, to quote François Pottier, "you seem to have
      misunderstood what the various commands do".
      
      Long story: the proper steps to update the error messages after modifying
      the parser are
      
      1. update the old states with --update-errors
      2. generate the new states with --list-errors
      3. compare the old and new states with --compare-errors
      4. manually reconcile the differences between the old and new states
      5. write error messages for the new states
      6. add %on_error_reduce and go back to step 1, if step 5 is too hard
      7. check that the error messages for the old states are still meaningful
      8. check that the set of states is both correct (--compile-errors) and
         complete (--compare-errors)
      
      We were doing only step 1 and half of step 8. Doing the other half of
      step 8 would have prevented issue #172 from occurring. But that would have
      meant doing step 4 after each parser modification, which was never done.
      Note that step 2 is so expensive that it is impossible to perform step 8
      during continuous integration.
      
      Given the work needed to update the error messages after a syntax change,
      I don't think we can reliably use them until WhyML no longer evolves.
      ce21b6c1