Am 15.07.2012 17:11, schrieb Thomas Schilling:
On 15 July 2012 14:53, Yitzchak Gale <g...@sefer.org> wrote:
Simon already pointed out that, in his opinion, the
correct way to support SH would be:
- rename M to M.Internal (or suitable alternative)
- rename M.Safe to M
- add a (small) M.Unsafe where necessary
But that would break backwards compatibility for the
unsafe parts of the API. It's up to the package maintainers
whether or not they want to do that. If not, I would say revert
to no Safe Haskell support and accept it in the platform.
However, add a haddock comment something like this:
"Safe Haskell: If you do not use any functions in this
module whose name contains the word 'unsafe', you
can mark your module as 'Trustworthy'. Otherwise,
please consult <Simon's SH paper>."
To be fair, regardless of SH, I'd consider it good API design to put
unsafe things into a separate module. I'd be interested to know what
exactly the problem is with moving these functions into a separate
module. If the only argument for not making this change is to avoid
breaking the API then we should do it *before* including vector into
the platform.
+1
_______________________________________________
Haskell-platform mailing list
Haskell-platform@projects.haskell.org
http://projects.haskell.org/cgi-bin/mailman/listinfo/haskell-platform