YS
Size: a a a
YS
AP
AP
-threadedYS
YS
D
D
YS
YS
[
YS
[
[
YS
[
[
[
[
IO
main :: IO ()скомпилированное с
main = do
ref <- newIORef False
void $ forkOS $ fix \go -> readIORef ref >>= \case
True -> putStrLn "bye"
False -> go
threadDelay 100
atomicWriteIORef ref True
-O -threaded и запущенное с +RTS -N6 намертво виснет, даже явный forkOS не помогает. С мавром то же самое, -fno-omit-yields опять все чинит