Skip to content
Snippets Groups Projects
  1. Jul 15, 2021
  2. Jul 03, 2021
  3. Jun 17, 2021
  4. Jun 11, 2021
  5. Jun 10, 2021
  6. Jun 08, 2021
  7. Jun 03, 2021
  8. May 26, 2021
  9. May 25, 2021
  10. May 03, 2021
  11. Jan 07, 2021
  12. Jan 04, 2021
  13. Nov 20, 2020
  14. Sep 16, 2020
  15. Apr 05, 2020
  16. Mar 29, 2020
  17. Mar 13, 2020
  18. Jan 15, 2020
  19. Jan 29, 2019
  20. Jan 23, 2019
  21. Nov 28, 2018
  22. May 29, 2018
  23. May 28, 2018
  24. May 24, 2018
    • Ralf Jung's avatar
      Remove the `default` notation for options · e585be6d
      Ralf Jung authored
      The notation was parsing-only and all it did was reorder the arguments for
      from_option.  This creates just a needless divergence between what is written
      and what is printed.  Also, removing it frees the name for maybe introducing a
      function or notation `default` with a type like `T -> option T -> T`.
      e585be6d
  25. Apr 05, 2018
  26. Jan 31, 2018
  27. Nov 12, 2017
    • Robbert Krebbers's avatar
      Make `fmap` left associative. · 12e701ca
      Robbert Krebbers authored
      This follows the associativity in Haskell. So, something like
      
        f <$> g <$> h
      
      Is now parsed as:
      
        (f <$> g) <$> h
      
      Since the functor is a generalized form of function application, this also now
      also corresponds with the associativity of function application, which is also
      left associative.
      12e701ca
  28. Oct 28, 2017
  29. Sep 17, 2017
    • Robbert Krebbers's avatar
      Set Hint Mode for all classes in `base.v`. · 7d7c9871
      Robbert Krebbers authored
      This provides significant robustness against looping type class search.
      
      As a consequence, at many places throughout the library we had to add
      additional typing information to lemmas. This was to be expected, since
      most of the old lemmas were ambiguous. For example:
      
        Section fin_collection.
          Context `{FinCollection A C}.
      
          size_singleton (x : A) : size {[ x ]} = 1.
      
      In this case, the lemma does not tell us which `FinCollection` with
      elements `A` we are talking about. So, `{[ x ]}` could not only refer to
      the singleton operation of the `FinCollection A C` in the section, but
      also to any other `FinCollection` in the development. To make this lemma
      unambigious, it should be written as:
      
        Lemma size_singleton (x : A) : size ({[ x ]} : C) = 1.
      
      In similar spirit, lemmas like the one below were also ambiguous:
      
        Lemma lookup_alter_None {A} (f : A → A) m i j :
          alter f i m !! j = None ↔️ m !! j = None.
      
      It is not clear which finite map implementation we are talking about.
      To make this lemma unambigious, it should be written as:
      
        Lemma lookup_alter_None {A} (f : A → A) (m : M A) i j :
          alter f i m !! j = None ↔️ m !! j = None.
      
      That is, we have to specify the type of `m`.
      7d7c9871
  30. Sep 08, 2017
  31. Mar 15, 2017
  32. Feb 09, 2017
Loading