Testcases for Scala workshop 2013
The functional ones are taken from previous collections (SAS2011 and OOPSLA13 submission for Sorting). The imperative ones are based on testcases from the VSTTE competition and adaptations of functional benchmarks of SAS. We are not able to reproduce all successfull properties of the functional benchmarks, especially when the function we are implementating was not originally tail recursive. In that case, a non-trivial encoding would be required (e.g. using accumulators). Insertion sort and other sort algorithms are particularly complicated to implement with an imperative style. Functions like `insert` need to use reversal while reconstructing the list, and need in particular to prove that reversing an increasing list yields a decreasing list. We are not able to prove that yet. (Challenging benchmarks currently beyond our reach are in the top-level testcases directory, as they are not part of the Scala 2013 submission.)
Showing
- testcases/BinaryTreeImp.scala 101 additions, 0 deletionstestcases/BinaryTreeImp.scala
- testcases/InsertionSortImp.scala 107 additions, 0 deletionstestcases/InsertionSortImp.scala
- testcases/QuickSortImp.scala 79 additions, 0 deletionstestcases/QuickSortImp.scala
- testcases/scala-workshop/AmortizedQueue.scala 124 additions, 0 deletionstestcases/scala-workshop/AmortizedQueue.scala
- testcases/scala-workshop/AmortizedQueueImp.scala 138 additions, 0 deletionstestcases/scala-workshop/AmortizedQueueImp.scala
- testcases/scala-workshop/Arithmetic.scala 84 additions, 0 deletionstestcases/scala-workshop/Arithmetic.scala
- testcases/scala-workshop/AssociativeList.scala 50 additions, 0 deletionstestcases/scala-workshop/AssociativeList.scala
- testcases/scala-workshop/AssociativeListImp.scala 98 additions, 0 deletionstestcases/scala-workshop/AssociativeListImp.scala
- testcases/scala-workshop/ListOperations.scala 107 additions, 0 deletionstestcases/scala-workshop/ListOperations.scala
- testcases/scala-workshop/ListOperationsImp.scala 146 additions, 0 deletionstestcases/scala-workshop/ListOperationsImp.scala
- testcases/scala-workshop/PropositionalLogic.scala 86 additions, 0 deletionstestcases/scala-workshop/PropositionalLogic.scala
- testcases/scala-workshop/RedBlackTree.scala 117 additions, 0 deletionstestcases/scala-workshop/RedBlackTree.scala
- testcases/scala-workshop/SearchLinkedList.scala 48 additions, 0 deletionstestcases/scala-workshop/SearchLinkedList.scala
- testcases/scala-workshop/Sorting.scala 198 additions, 0 deletionstestcases/scala-workshop/Sorting.scala
- testcases/scala-workshop/SumAndMax.scala 46 additions, 0 deletionstestcases/scala-workshop/SumAndMax.scala
- testcases/scala-workshop/SumAndMaxImp.scala 36 additions, 0 deletionstestcases/scala-workshop/SumAndMaxImp.scala
Loading
Please register or sign in to comment