Gregory Collins wrote:
> From the paper:
>
> "A module that is declared to be Trustworthy is claimed by the
> author to expose a safe interface, even though its implementation
> might make use of unsafe features."
>
> Putting a Trustworthy on the top of a module means that "I, the module
> author, assert that any uses of unsafePerformIO and friends in this module
> are safe and using the functions herein will not violate safety." You can't
> just slap a Trustworthy on everything and go home, every module in the
> platform needs to be audited.

So I guess we disagree about how to interpret
Simon's use of the word "claim".

>From the tone of the rest of the paper, I understood
that no "audit" or formal proof of any sort is needed.
Just that the author believes that any use of a
potentially unsafe feature is OK.

So by my reading, it is enough just to look over the
API to make sure nothing apparently unsafe is
exported, plus include in our email to the package
maintainer a request to contact the list before adding
the pragma if there is a suspicion that something
unsafe might be going on.

Anyway, in real life, most of us are pretty familiar
with most of the packages in the platform.
We've identified a few that need some thought.
If there are any other problems, I hope someone
here will let us know.

Thanks,
Yitz

_______________________________________________
Haskell-platform mailing list
Haskell-platform@projects.haskell.org
http://projects.haskell.org/cgi-bin/mailman/listinfo/haskell-platform

Reply via email to