PROPOSAL: add tryFdSeek to unix
marlowsd at gmail.com
Wed Jun 29 21:18:25 CEST 2011
On 29/06/11 20:02, John Lato wrote:
> > I'd like to propose adding a variant of fdSeek which returns errors
> > directly instead of throwing an exception.
> Why wouldn't you just wrap it in Control.Exception.try instead? And
> so special about seeking that suggests that it needs an alternate entry
> (Disclosure: I'm one of the people who requested this originally)
> Wrapping a function like `fdSeek` in a `try` to get a non-exception
> variant is wasteful. Exceptions are a Haskell layer on top of the more
> fundamental library call, and people who want access to that call
> directly shouldn't have to unwrap extra cruft to do so. Nor should they
> have to re-implement basic functionality because the library doesn't
> expose it.
> fdSeek just happens to be a current need of mine. I would hope that
> this approach would be adopted across the board.
> (In other words, I'm opposed to this proposal.)
> I'm opposed to exceptions, but there's no way to avoid them because
> the library doesn't expose a direct interface.
I think it would make sense to refactor the unix package into a very
thin "just the foreign imports" layer, and then the current unix as a
layer on top of that.
It doesn't make a great deal of sense to do this for just one function,
though. It would stick out like a sore thumb in the API.
More information about the Libraries