move pre-type-lambda code to use a type lambda

This commit is contained in:
Mark Harrah 2013-01-28 17:14:54 -05:00
parent b9402e2feb
commit 6a13d1e70a
1 changed files with 1 additions and 4 deletions

View File

@ -13,9 +13,6 @@ import mutable.Map
object Execute
{
trait Part1of2K[M[_[_], _], A[_]] { type Apply[T] = M[A, T] }
type NodeT[A[_]] = Part1of2K[Node, A]
def idMap[A,B]: Map[A, B] = JavaConversions.mapAsScalaMap(new java.util.IdentityHashMap[A,B])
def pMap[A[_], B[_]]: PMap[A,B] = new DelegatingPMap[A, B](idMap)
private[sbt] def completed(p: => Unit): Completed = new Completed {
@ -41,7 +38,7 @@ final class Execute[A[_] <: AnyRef](checkCycles: Boolean, triggers: Triggers[A])
private[this] val reverse = idMap[A[_], Iterable[A[_]] ]
private[this] val callers = pMap[A, Compose[IDSet,A]#Apply ]
private[this] val state = idMap[A[_], State]
private[this] val viewCache = pMap[A, NodeT[A]#Apply]
private[this] val viewCache = pMap[A, ({type l[t] = Node[A, t] })#l ]
private[this] val results = pMap[A, Result]
private[this] val getResult: A ~> Result = new (A ~> Result) {