This is part of the critical path for repository tagging, so we should
test it to make sure it doesn't explode. This introduces a test that
creates a temporary git repo and queries it to make sure that adding
and then reading from a blob works properly.
We originally put this here because we were recompiling
haskell-tree-sitter on every ghci reload, and it sped up the process
of linking the built haskell-tree-sitter into ghci. Now that we
compile haskell-tree-sitter once, its use is no longer applicable, and
it interferes with profiling builds.
This code was based on code I wrote for the reprinter, which had
different correctness constraints than does the tagging system:
specifically, the tagging code does not fail, as there is a
recoverable result even if we get pathological input. As such, there's
no need to wrap this in an Either that is always Right.
* master:
Stop publishing binaries to S3
I guess GHC thinks these UNPACKs are unusable.
legacyMakeBlob => makeBlob. Also unpack File.
If we're not gonna rename File, give Blob the logical field name.
Fix shadowing issues.
Fix shadowing issues.
Fix all the test cases.
absolutely massive patch that touches everything
* master:
Ensure parse-examples gets passed the -threaded flag.
Disable optimizations for Util and REPL to speed up -O1 builds.
redundant import
fix lints
unused import
fix whitespace
Second pass, imposing an export list.
Disable functions in Semantic.Util not used by specs or tests.
donut snake case
Decouple DistributeC from LiftC IO.
lints
Rethrow posix signals to the main thread
Turns out you can disable optimizations per-module. This is a good
decision, as on my laptop GHC takes an appalling amount of time to
finish building at `-O1`. Let's see if this is reflected in the time
the builders take. (This should have no performance implications for
CLI use of `semantic`, as only SpecHelpers and REPL import Util.)