At least naively, this seems like a really good idea.  

1) do folks who have more experience across the range of supported platforms have any opinions about these additional semantics ?

2) are these names suitably descriptive / unambiguous and or otherwise widely used / discoverable ? 

On Mon, Mar 30, 2020 at 12:22 PM Grey Mitchell <grey@quietmisdreavus.net> wrote:
The current behavior for System.IO.openFile will either truncate an existing
file (with WriteMode) or append new content to the end (with AppendMode).
However, there's another behavior that's available from the underlying API:
signal an error when the file already exists. I poked around at the code and i
think that with a couple extra variants of IOMode, this behavior could be added
with a relatively small patch.

I have a branch pushed where i added this behavior:
https://gitlab.haskell.org/QuietMisdreavus/ghc/-/commit/1ff18d4d3fc63f42c371f4046ab07405299c6755

I'm a relative newcomer to contributing to GHC or the base library, so if i'm
missing something in my patch please let me know. Specifically, i would like to
know is there's a place i can add a test for this behavior. I'm also open to
changing the names of the new IOModes - this was just something i wrote in to
get something working.

Looking forward to working with maintainers to get this added!

Thanks,
Grey Mitchell (@QuietMisdreavus)
_______________________________________________
Libraries mailing list
Libraries@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries