<div dir="auto">I think some flavor / iterations of lambda bot has used it for example. </div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Jan 13, 2023 at 1:44 PM Jaro Reinders <<a href="mailto:jaro.reinders@gmail.com">jaro.reinders@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I do agree that Safe Haskell would be useful even if it was only used for <br>
enforcing type safety and avoiding accidental use of unsafe features, but the <br>
paper [1] makes it quite clear that one of the main goals is to safely execute <br>
untrusted code:<br>
<br>
"Safe Haskell makes it possible to confine and safely execute untrusted, <br>
possibly malicious code. By strictly enforcing types, Safe Haskell allows a <br>
variety of different policies from API sandboxing to information-flow control <br>
to be implemented easily as monads.<br>
[..]<br>
We use Safe Haskell to implement an online Haskell interpreter that can <br>
securely execute arbitrary untrusted code with no overhead."<br>
<br>
Cheers, Jaro<br>
<br>
[1] <a href="https://www.scs.stanford.edu/~dm/home/papers/terei:safe-haskell.pdf" rel="noreferrer" target="_blank">https://www.scs.stanford.edu/~dm/home/papers/terei:safe-haskell.pdf</a><br>
<br>
On 13-01-2023 18:06, Carter Schonwald wrote:<br>
> Indeed type safety is exactly what it’s for! The other notions of safety were <br>
> never part of the goals. And it was designed so that the end user could decide <br>
> which codes they deem trustworthy.<br>
> <br>
> On Wed, Dec 28, 2022 at 6:04 PM davean <<a href="mailto:davean@xkcd.com" target="_blank">davean@xkcd.com</a> <br>
> <mailto:<a href="mailto:davean@xkcd.com" target="_blank">davean@xkcd.com</a>>> wrote:<br>
> <br>
>     The only part of Safe Haskell I ever really cared about was type safety.<br>
>     That's what matters, I think.<br>
> <br>
>     I've wanted to use it a number of times and played with it, but it's never<br>
>     actually managed to become an important part of anything for me.<br>
>     So take that as you will. I'd love it if it worked well, its issues have<br>
>     limited what I attempt, but at the end of the day it's never hurt me too<br>
>     bad to not have it.<br>
> <br>
> <br>
>     -davean<br>
> <br>
>     On Wed, Dec 28, 2022 at 7:14 AM Tom Ellis<br>
>     <<a href="mailto:tom-lists-haskell-cafe-2017@jaguarpaw.co.uk" target="_blank">tom-lists-haskell-cafe-2017@jaguarpaw.co.uk</a><br>
>     <mailto:<a href="mailto:tom-lists-haskell-cafe-2017@jaguarpaw.co.uk" target="_blank">tom-lists-haskell-cafe-2017@jaguarpaw.co.uk</a>>> wrote:<br>
> <br>
>         On Tue, Dec 27, 2022 at 08:33:04PM -0700, Chris Smith wrote:<br>
>          > This conversation reminds me of a parable I encountered somewhere,<br>
>         in which<br>
>          > someone declares "I don't understand why this decision was ever<br>
>         made, and I<br>
>          > we should change it", and someone responds, "No, if you don't understand<br>
>          > the decision was made, then you don't know enough to change it.  If you<br>
>          > learn why it was decided that way in the first place, then you will have<br>
>          > the understanding to decide whether to change it."<br>
> <br>
>         That parable is Chesterton's fence:<br>
> <br>
>         <a href="https://en.wikipedia.org/wiki/G._K._Chesterton#Chesterton's_fence" rel="noreferrer" target="_blank">https://en.wikipedia.org/wiki/G._K._Chesterton#Chesterton's_fence</a><br>
>         <<a href="https://en.wikipedia.org/wiki/G._K._Chesterton#Chesterton's_fence" rel="noreferrer" target="_blank">https://en.wikipedia.org/wiki/G._K._Chesterton#Chesterton's_fence</a>><br>
>         _______________________________________________<br>
>         ghc-devs mailing list<br>
>         <a href="mailto:ghc-devs@haskell.org" target="_blank">ghc-devs@haskell.org</a> <mailto:<a href="mailto:ghc-devs@haskell.org" target="_blank">ghc-devs@haskell.org</a>><br>
>         <a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs</a><br>
>         <<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs</a>><br>
> <br>
>     _______________________________________________<br>
>     ghc-devs mailing list<br>
>     <a href="mailto:ghc-devs@haskell.org" target="_blank">ghc-devs@haskell.org</a> <mailto:<a href="mailto:ghc-devs@haskell.org" target="_blank">ghc-devs@haskell.org</a>><br>
>     <a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs</a><br>
>     <<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs</a>><br>
> <br>
> <br>
> _______________________________________________<br>
> ghc-devs mailing list<br>
> <a href="mailto:ghc-devs@haskell.org" target="_blank">ghc-devs@haskell.org</a><br>
> <a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs</a><br>
_______________________________________________<br>
ghc-devs mailing list<br>
<a href="mailto:ghc-devs@haskell.org" target="_blank">ghc-devs@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs</a><br>
</blockquote></div></div>