1. 20 Aug, 2019 1 commit
    • DAILLER Sylvain's avatar
      Generalization of check_unused_vars to logic and program decl · f91bb58b
      DAILLER Sylvain authored
      Description:
      - Choice was made to not add unused variables when there is no contract
        and no body (no pre/(x)post, and no body).
      - For postcondition variable result, we only check variables that are not
        of unit type. And, we report a warning only if the variable is not present
        in all the ensures.
      - For result variable, with several imbricated raise, it seems possible to
        have false positive with no location. Removing the no location case which
        seems unhelpful anyway
      f91bb58b
  2. 16 Jul, 2019 1 commit
  3. 25 Jun, 2018 1 commit
  4. 24 Jun, 2018 1 commit
  5. 15 Jun, 2018 1 commit
  6. 14 Jun, 2018 1 commit
  7. 11 Jun, 2017 1 commit
    • Andrei Paskevich's avatar
      WhyML: tuple terms/expressions do not require parentheses · a1e032f6
      Andrei Paskevich authored
      This makes the syntax cleaner and brings us closer to OCaml.
      
      One incompatibility with the previous grammar is that "ghost"
      binds stronger than the left arrow of assignment, and thus
      ghost assignments have to be written as "ghost (x.f <- v)".
      
      This is unavoidable, because assignment has to be weaker than
      the tuple comma (think "x.f, y.g <- y.g, x.f" or "a[i] <- u,v"),
      and "ghost" has to be stronger than comma, for consistency with
      our patterns and our return types.
      
      The "return" construction is weaker than comma, for "return a,b".
      It is also weaker than assignment, though "return x.f <- b" does
      not make much sense either way.
      
      This change does not concern type expressions, where a tuple
      type must always have its clothes^Wparentheses on: (int, int).
      It might be nice to write "constant pair: int, bool", but on
      the other hand this would break casts like "42: int, true".
      a1e032f6
  8. 09 Jun, 2017 1 commit
  9. 08 Jun, 2017 1 commit
  10. 06 Jun, 2017 1 commit
  11. 24 Mar, 2016 1 commit
  12. 16 Mar, 2016 1 commit
  13. 09 Mar, 2016 1 commit
  14. 26 Feb, 2016 1 commit