From 46f526c680fda7baff814a3d4cb3538455926eb6 Mon Sep 17 00:00:00 2001 From: Gleb Koval Date: Fri, 14 Mar 2025 05:39:42 +0000 Subject: [PATCH] feat: success logging by default --- src/main/wacc/Main.scala | 2 +- src/main/wacc/frontend/semantics.scala | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/wacc/Main.scala b/src/main/wacc/Main.scala index 31ce8cb..f6eb3af 100644 --- a/src/main/wacc/Main.scala +++ b/src/main/wacc/Main.scala @@ -105,7 +105,7 @@ def compile( val backendEnd = System.nanoTime() writer.writeTo(asmLines, outputPath) *> logAction(s"Backend time (${filePath.toRealPath()}): ${(backendEnd - backendStart).toFloat / 1e6} ms") *> - logAction(s"Success: ${outputPath.toAbsolutePath}") + IO.blocking(println(s"Success: ${outputPath.toRealPath()}")) def processProgram(contents: String, file: File, outDir: Path): IO[Int] = val frontendStart = System.nanoTime() diff --git a/src/main/wacc/frontend/semantics.scala b/src/main/wacc/frontend/semantics.scala index fa6ccc6..dcc5b94 100644 --- a/src/main/wacc/frontend/semantics.scala +++ b/src/main/wacc/frontend/semantics.scala @@ -12,11 +12,11 @@ object semantics { private def checkFunc( funcDecl: ast.FuncDecl, scope: Scope - ): IO[Chain[(microWacc.FuncDecl, Chain[Error])]] = { + ): IO[(microWacc.FuncDecl, Chain[Error])] = { for { renamerErrors <- renameFunction(funcDecl, scope) (microWaccFunc, typeErrors) = checkFuncDecl(funcDecl) - } yield Chain.one(microWaccFunc, renamerErrors ++ typeErrors) + } yield (microWaccFunc, renamerErrors ++ typeErrors) } def check(partialProg: ast.PartialProgram): IO[(microWacc.Program, Chain[Error])] = { @@ -27,7 +27,7 @@ object semantics { toRename = (main +: chunks).toList res <- toRename .zip(scope.subscopes(toRename.size)) - .parFoldMapA(checkFunc) + .parTraverse(checkFunc) (typedChunks, errors) = res.foldLeft((Chain.empty[microWacc.FuncDecl], Chain.empty[Error])) { case ((acc, err), (funcDecl, errors)) => (acc :+ funcDecl, err ++ errors)