Adding new contructors to IOMode to support "don't overwrite if already exists" behavior

Carter Schonwald carter.schonwald at gmail.com
Tue Mar 31 21:51:34 UTC 2020


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 at 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 at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/libraries/attachments/20200331/4d6431de/attachment.html>


More information about the Libraries mailing list