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. 14 Sep, 2018 1 commit
  3. 17 Jul, 2018 1 commit
    • Andrei Paskevich's avatar
      Ident: disambiguated symbolic notation · 295cacf4
      Andrei Paskevich authored
      It is possible to append an arbitary number of quote symbols
      at the end of an prefix/infix/mixfix operator:
      
                  applied form      standalone form
      
                    -' 42               (-'_)
                    x +' y              (+')
                    a[0]' <- 1          ([]'<-)
      
      Pretty-printing will use the quote symbols for disambiguation.
      
      The derived symbols can be produced by Why3 by appending
      a suffix of the form "_toto" or "'toto". These symbols can
      be parsed/printed as "(+)_toto" or "(+)'toto", respectively.
      295cacf4
  4. 07 Jul, 2018 1 commit
    • Andrei Paskevich's avatar
      confine all notation handling inside Ident · 0fea401c
      Andrei Paskevich authored
      This commit removes all hard-coded "infix ..", "prefix ..",
      and "mixfix .." from the rest of the code, and handles the
      symbolic notation entirely inside Ident. It does not change
      the notation itself.
      0fea401c
  5. 18 Jun, 2018 1 commit
  6. 01 Jun, 2018 1 commit
  7. 31 May, 2018 1 commit
  8. 17 May, 2018 1 commit
  9. 20 Mar, 2018 1 commit
  10. 22 Feb, 2018 1 commit
  11. 21 Feb, 2018 1 commit
  12. 14 Feb, 2018 1 commit
  13. 19 Jan, 2018 1 commit
  14. 12 Jan, 2018 1 commit
  15. 11 Jan, 2018 1 commit
  16. 13 Dec, 2017 1 commit
  17. 23 Nov, 2017 1 commit
  18. 22 Nov, 2017 1 commit
  19. 07 Nov, 2017 1 commit
  20. 11 Jun, 2017 1 commit
  21. 09 Jun, 2017 1 commit
  22. 17 May, 2017 1 commit
  23. 25 Apr, 2017 1 commit
  24. 24 Apr, 2017 2 commits
  25. 12 Apr, 2017 1 commit
  26. 05 Apr, 2017 2 commits
  27. 17 Mar, 2017 1 commit
  28. 09 Mar, 2017 1 commit
  29. 07 Mar, 2017 2 commits
  30. 28 Feb, 2017 1 commit
    • Clément Fumex's avatar
      Add the ability to · f0547868
      Clément Fumex authored
      * declare range types and float types,
      * use integer (resp. real) literals for those types through casting,
      * specify how to print them in drivers.
      
      Change in syntax
      * use
      
        type t = < range 1 2 >   (* integers from 1 to 2 *)
        type t' = < float 4 12 > (* float with 4 bits in exponent and 12 in mantissa *)
      
        the two projections :
        t'int
        t''real
      
        and the predicate :
        t''isFinite
      
      * Restrict the use of "'" in whyml:
        Users are not allowed to introduce names where a quote symbol
        is followed by a letter. Thus, the following identifiers are
        valid:
      
        t'
        toto'0''
        toto'_phi
      
        whereas toto'phi is not.
      
      Note: we do not yet support negative numbers in range declaration
      and casting of a literal.
      f0547868
  31. 22 Feb, 2017 1 commit
  32. 20 Feb, 2017 1 commit
  33. 02 Feb, 2017 1 commit
  34. 01 Feb, 2017 1 commit
  35. 31 Jan, 2017 3 commits