feat: parallel type checking #42
@@ -82,11 +82,7 @@ def frontend(
|
|||||||
(prog, renameErrors) <- renamer.rename(partialProg)
|
(prog, renameErrors) <- renamer.rename(partialProg)
|
||||||
_ = errors.addAll(renameErrors.toList)
|
_ = errors.addAll(renameErrors.toList)
|
||||||
typedProg = typeChecker.check(prog, errors)
|
typedProg = typeChecker.check(prog, errors)
|
||||||
|
res = errors.result.toNel.toLeft(typedProg)
|
||||||
res = NonEmptyList.fromList(errors.result) match {
|
|
||||||
case Some(errors) => Left(errors)
|
|
||||||
case None => Right(typedProg)
|
|
||||||
}
|
|
||||||
} yield res
|
} yield res
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -283,7 +283,6 @@ object renamer {
|
|||||||
allErrors <- toRename
|
allErrors <- toRename
|
||||||
.zip(scope.subscopes(toRename.size))
|
.zip(scope.subscopes(toRename.size))
|
||||||
.parFoldMapA(renameFunction)
|
.parFoldMapA(renameFunction)
|
||||||
// .map(x => x.combineAll)
|
|
||||||
} yield (Program(chunks.toList, main.body)(main.pos), globalErrors ++ allErrors)
|
} yield (Program(chunks.toList, main.body)(main.pos), globalErrors ++ allErrors)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user