Safe Haskell at the export symbol granularity?

Ryan Newton rrnewton at gmail.com
Thu May 17 16:53:23 CEST 2012


Good point, Antoine!

I think that does the trick.

On Thu, May 17, 2012 at 10:48 AM, Antoine Latter <aslatter at gmail.com> wrote:

> On Thu, May 17, 2012 at 8:50 AM, Ryan Newton <rrnewton at gmail.com> wrote:
> > Thanks David.
> >
> > I'm glad to see it was discussed in the wiki.  (Btw, my 2 cents is that I
> > like the comment pragmas more than new keywords.)
> >
> > The issue that I think doesn't make it into the wiki is of splitting, not
> > modules, but type-classes. That's where I think it becomes a more serious
> > issue.
> >
> > Do you think a symbol-level Safe Haskell would be able to distinguish one
> > method of a type class as unsafe, while the others are safe?
> >
>
> You can still do this at the module level, with the down-side of
> potentially not being able to implement a class with the safe version:
>
> > module Unsafe where
> >
> > class MyClass a where
> >   safeOp :: a -> Int -> IO ()
> >   unsafeOp :: a -> Int -> IO ()
> >
> > instance MyClass A where ...
>
>
> > module Safe
> >   (MyClass(safeOp))
> >   where
> >
> > import Unsafe
>
> I think this works.
>
> Antoine
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/libraries/attachments/20120517/81fb8d98/attachment.htm>


More information about the Libraries mailing list