@@ -86,6 +86,10 @@ makeEnv key root (Details.Details _ validOutline locals foreigns _) =
89+-- PERF try using IORef semephore on file crawl phase?
90+-- described in Chapter 13 of Parallel and Concurrent Programming in Haskell by Simon Marlow
91+-- https://www.oreilly.com/library/view/parallel-and-concurrent/9781449335939/ch13.html#sec_conc-par-overhead
89fork :: IO a -> IO (MVar a)
93fork :: IO a -> IO (MVar a)
90fork work =
94fork work =
91 do mvar <- newEmptyMVar
95 do mvar <- newEmptyMVar