Batteries 2.2.0

@c-cube c-cube released this Jan 17, 2014 · 340 commits to master since this release

Many features have been added since v2.1.0, so it was time for the next release. More enumerators, functions for data structures (List, Set, Array, String, etc.), tests and benchmarks, and Batteries. New module, BatteriesExceptionless.

Thanks to all the users and contributors!

Change log:

  • cartesian product in batSet
  • Enum.concat_map alias
  • UChar.is_ascii
  • equality and enumeration (from, to UChar enum) in batText
  • String.find_all function
  • Seq.iteri, mapi, iter2, map2 (see issue #417)
  • cartesian product of enums (issue #442)
  • List.subset
  • Array.bsearch dichotomic search (issue #433)
  • Enum.print_at_most (issue #425)
  • BatOption.ord instance, (issue #393)
  • Fix infinite loop in BitSet
  • Levenshtein distance on strings
  • Seq.{of_list, equal}
  • basic .merlin file for merlin users
  • BatDeque.eq function to compare Deques by content
  • BatteriesExceptionless
  • More explicit overridding of ocamlbuild rules, use batteries.mllib
  • Add Kahan summation (numerically-accurate sum of floats) to List,Array,Enum
  • Add BatOption.some
  • (text) improve element indexing in BatList's mli documentation
  • Add BatList.filteri_map
  • Compatibility with ocaml 4.01
  • Add BatList.filteri
  • Add Set.split_lt and split_le
  • Add split_opt wherever there is split
  • Add List.range
  • Add the new O_CLOEXEC flag to Unix.open_flag in version 4.01
  • Fix BatMutex.DebugMutex.id is always 0.
  • Simplify List.partition code
  • Add List.ntake and List.takedrop
  • Added List.Acc.create and use it
  • Add a LazyList.eager_fold_right alias to LazyList.fold_right, with sane argument order
  • and many tests and documentation
  • cleanup of whitespace

Downloads