1. 20 Apr, 2016 1 commit
    • Andrei Paskevich's avatar
      Call_provers: simplify API · 8159c0d7
      Andrei Paskevich authored
      Call_provers:
      
      - drop closures "pre_prover_call" and "post_prover_call". They were
        intended to be used for synchronous interaction with provers from
        multiple threads. This is now responsibility of the proof server:
        (a) any Call_prover.call_on_[file|buffer] submits the proof task
            immediately to the server;
        (b) all proof results are handled in the working Why3 thread.
      
      - Call_provers.query_call returns a tri-state "prover_update" type
        which can be one of: "ProverStarted" (returned after the proof
        server informs Why3 that a prover was started), "ProverFinished"
        (returned after the proof server returns the prover result), and
        "NoUpdates" (returned when the proof server has not sent any new
        updates concerning the proof task in question).
      
          IMPORTANT: query_call does not maintain the state of a given
        prover call. In a normal use case, "ProverFinished" is returned
        _exactly_ once, and "ProverStarted" _at_most_ once (never for
        an editor call or when rapidly overwritten by "ProverFinished").
      
          TODO: extend the proof server protocol and implementation to
        send "ProverStarted" events back to Why3.
      8159c0d7
  2. 14 Apr, 2016 1 commit
  3. 15 Mar, 2016 2 commits
  4. 08 Mar, 2016 1 commit
  5. 25 Feb, 2016 2 commits
  6. 22 Feb, 2016 1 commit
  7. 05 Feb, 2016 1 commit
  8. 11 Dec, 2015 1 commit
  9. 12 Jun, 2015 2 commits
  10. 23 May, 2015 1 commit
  11. 23 Mar, 2015 1 commit
  12. 20 Mar, 2015 1 commit
  13. 19 Mar, 2015 1 commit
  14. 18 Feb, 2015 1 commit
  15. 17 Feb, 2015 1 commit
  16. 16 Feb, 2015 1 commit
  17. 02 Sep, 2014 1 commit
  18. 14 Mar, 2014 1 commit
  19. 14 Jan, 2014 1 commit
  20. 28 Oct, 2013 1 commit
  21. 22 Oct, 2013 1 commit
  22. 16 Apr, 2013 1 commit
  23. 09 Apr, 2013 2 commits
  24. 06 Mar, 2013 1 commit
  25. 04 Mar, 2013 1 commit
    • Andrei Paskevich's avatar
      whyml: match expression is ghost if we look inside ghost fields · 43b684d0
      Andrei Paskevich authored
      We store in every lsymbol a new integer field ls_constr,
      equal to zero if the lsymbol is not a constructor, and equal
      to the number of constructors of the lsymbol's type otherwise.
      It is allowed to declare or define an lsymbol with ls_constr > 0
      as an ordinary function (otherwise algebraic type elimination
      wouldn't work - though we might still check this in theories),
      but it is forbidden to use a wrong ls_constr in algebraic type
      definitions.
      
      The ghostness of a match expression is now determined as follows:
      
      If at least one branch expression is ghost,
        then the match is ghost;
      else if there is only one branch,
        then the match is not ghost;
      else if the matched expression is ghost,
        then the match is ghost;
      else if at least one pattern matches a ghost field
              against a constructor with ls_constr > 1
        then the match is ghost;
      else
        the match is not ghost.
      
      We do just enough to recognize obvious non-ghost cases, and
      make no attempt to handle redundant matches or to detect
      exhaustive or-patterns in subpatterns.
      43b684d0
  26. 08 Jan, 2013 1 commit
  27. 07 Jan, 2013 1 commit
  28. 21 Nov, 2012 1 commit
  29. 06 Nov, 2012 1 commit
  30. 05 Nov, 2012 1 commit
  31. 04 Nov, 2012 1 commit
  32. 30 Oct, 2012 1 commit
  33. 21 Oct, 2012 2 commits
  34. 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
  35. 18 Sep, 2012 1 commit