diff --git a/cp-demo/PaperExamples.scala b/cp-demo/PaperExamples.scala index acfa87ed02d2f4ce014094fc53551c450aacdd39..573d27ce00088ed7a68e6744bc114c662d61595b 100644 --- a/cp-demo/PaperExamples.scala +++ b/cp-demo/PaperExamples.scala @@ -55,8 +55,8 @@ object PaperExamples extends App { c*y+d*u == 1).find def boundedUnimodular(m : Int) = { - boundedQ(m) && - ((a : Int, b : Int, c : Int, d : Int) => isUnimodular(a,b,c,d)) // TODO would be great if we could write this as isUnimodular _ :) + boundedQ(m) && (isUnimodular _) + // ((a : Int, b : Int, c : Int, d : Int) => isUnimodular(a,b,c,d)) // TODO would be great if we could write this as isUnimodular _ :) } def action : Unit = { @@ -211,7 +211,7 @@ object PaperExamples extends App { } def action : Unit = { - (1 to 7).foreach(i => { + (1 to 3).foreach(i => { val num = ((t : Tree) => validTree(t) && valuesWithin(t,i) && size(t) == i).findAll.size p("# of RBTs with " + i + " distinct els", num) }) diff --git a/src/cp/CallTransformation.scala b/src/cp/CallTransformation.scala index 1ae9a8e95a8d7d8ab7abb189b5dea851a6a97d19..ff42189e706a61880cb69638d8a04dcd3cf1e52b 100644 --- a/src/cp/CallTransformation.scala +++ b/src/cp/CallTransformation.scala @@ -50,6 +50,11 @@ trait CallTransformation val Function(funValDefs, funBody) = function extracted += (function.pos -> extractFunction(unit, funValDefs, funBody)) } + case Apply(TypeApply(Select(Select(cpIdent, definitionsName), func2termName), typeTreeList), List(Block(Nil, function: Function))) if + (definitionsName.toString == "Definitions" && func2termName.toString.matches("func2term\\d")) => { + val Function(funValDefs, funBody) = function + extracted += (function.pos -> extractFunction(unit, funValDefs, funBody)) + } case Apply(Select(lhs, withFilterName), List(predicate: Function)) if withFilterName.toString == "withFilter" && hasLIteratorType(lhs) => { val Function(funValDefs, funBody) = predicate extracted += (predicate.pos -> extractWithFilterPredicate(unit, funValDefs, funBody))