Back to Fpinscala

14.Answer

answerkey/testing/14.answer.md

latest212 B
Original Source
scala
val sortedProp = Prop.forAll(smallInt.list): l =>
  val ls = l.sorted
  val ordered = l.isEmpty || ls.zip(ls.tail).forall((a, b) => a <= b)
  ordered && l.forall(ls.contains) && ls.forall(l.contains)