Skip to content
0:00 / 0:00

#ghc#winio#windows

MuniHac 2020: Tamar Christina - The new Windows I/O manager (WinIO) in GHC

TNG Technology Consulting GmbH

5K subscribers • 17 videos on Hallway

YouTube
  • Recommended by 1 person: 1 in engineering communities.
  • Presented by Tamar Christina

Advanced. Deep dive for people who know the field.

890 views6 years ago1 recommendation

Systems programmingProgramming languagesHaskellOperating systemsConcurrency and parallelism

Tamar Christina explains the design and implementation of WinIO, the asynchronous Windows I/O manager for the Glasgow Haskell Compiler.

Title: The new Windows I/O manager (WinIO) in GHC Speaker: Tamar Christina GHC has a new Windows I/O manager that allows for native support for I/O on Windows. The new I/O manager covers everything from Files to Pipes and Sockets in a completely asynchronous manner while providing as much information to the Haskell runtime such that useful work can still be done while blocked on I/O. The new I/O manager allows for significantly better Windows support and gives a path forward to a more stable and faster compiler. MuniHac 2020, September 11 / munihac.de/ TNG Technology Consulting GmbH / tngtech.com

Why it's here

1 person recommends this

What people say. Recommended as a deep dive into GHC's native asynchronous I/O support on Windows.

u/ysangkokin r/haskell • Recommends

MuniHac The new Windows I/O manager (WinIO) in GHC - Tamar Christina

u/tomejaguarin r/haskell • Mentions

On “Compiling "Systems Haskell" Resources/Examples”

Just yesterday Tamar Christina gave a talk at Munihac about the work he's been doing on low-level IO in Windows.

u/ysangkokin r/haskell • Mentions

On “[ANNOUNCE] Glasgow Haskell Compiler 9.0.1-rc1 now available!”

Tamar Christina did a talk about the new IO manager in GHC 9

u/Faucelmein r/haskell • Mentions

On “[ANNOUNCE] Glasgow Haskell Compiler 9.0.1-rc1 now available!”

After some tinkering, I managed to compile `Cabal` and `cabal-install` with GHC 9 on Windows 10. It seems that cabal has problems building projects when the new IO manager for Windows is configured: # Powershell PS> $env:GHCRTS="--io-manager=native" PS> cabal.exe build --verbose myproject FD:newBuf not supported CallStack (from HasCallStack): error, called at libraries\\base\\GHC\\IO\\FD.hs:107:26 in base:GHC.IO.FD Maybe related to this part of Tamar Christina's talk where he explains that Windows apps that use file descriptors directly will need to be changed. Using the new IO manager with cabal would be interesting because it sidesteps some problems with lon…