Haskell&#39;s great and all but it does have a few warts when it comes to how much real trust one  should put into the type system.<div><br></div><div>Some compromises still exist like unsafePerformIO that you can&#39;t detect simply by looking at the types of functions.</div>
<div><br></div><div>In order to live up to the hype and the marketing around Haskell, really things like unsafePerformIO should not be allowed at all.</div><div><br></div><div>The type of </div><div><br></div><div>unsafePerformIO $ fireTheMissles &gt;&gt; return 3 ::Int</div>
<div><br></div><div>is just Int after all.</div><div><br></div><div>Does Singularity also have such back doors?</div><div><br></div><div>Dave<br><br><div class="gmail_quote">On Sat, Jul 31, 2010 at 6:53 AM, Alberto G. Corona <span dir="ltr">&lt;<a href="mailto:agocorona@gmail.com">agocorona@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">I guess that the<a href="http://www.google.com/search?hl=en&amp;safe=off&amp;q=+house+OS+haskell&amp;aq=f&amp;aqi=g-sx7&amp;aql=&amp;oq=&amp;gs_rfai=" target="_blank"> house OS</a> has no one of these problems that singularity tries to solve in the first place.<div>

<br></div><div>The problem of general OSs is: we have unsafe code, so what we do to deal with it?. The usual option is the isolation trough virtual addresses so that every pointer address is virtual. This imposes cost in task switching and pointer handling.   The singularity alternative seems to be to check the managed code for pointer violations at installation time.</div>

<div><br>In singularity they pretend to extend the reach of types, defined in .NET at the assembly level for inter program and inter language safety, to  the OS level for runtime safety. This goal is interesting, because a well defined type system, without unsafe operations permitted, managed at the OS level could permit pure code to run wildly in real memory very fast, for example. With effects defined in the type system the advantages may be greater.</div>

<div><br></div><div><br></div><div><div class="gmail_quote">2010/7/31 Tim Matthews <span dir="ltr">&lt;<a href="mailto:tim.matthews7@gmail.com" target="_blank">tim.matthews7@gmail.com</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div><div></div><div class="h5">
<br><a href="http://research.microsoft.com/en-us/people/simonpj/default.aspx" target="_blank">SPJ</a> and probably many others are actually employed at Microsoft research centers. It looks like Microsoft just hasn&#39;t been able to find a suitable spot to push Haskell. Haskell influenced F# because they needed a functional language that targeted CLR, and included OO and mutable data.<div>

<br>
<br><blockquote style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex" class="gmail_quote">IMO Haskell is even better than their languages<br></blockquote><br></div>Maybe so but singularity actually provides the whole os apis via clr interfaces compared to mainstream windows os where the underlying apis are all in C, C++ and COM. The common intermediate language is not tied to any specific programming language such as C# or VB, it&#39;s more generic than that, and has it&#39;s advantages. Safety is something they wish to achieve but afaik their main goal is to write an OS in managed code.<br>


<br>Haskell does provide a safe runtime but afaik unlike the clr it&#39;s tied to the haskell language. I think there has also been some attempts to write an OS in haskell too though, but that&#39;s another story...<br>
<br></div></div><div class="im">_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org" target="_blank">Haskell-Cafe@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
<br></div></blockquote></div><br></div>
<br>_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
<br></blockquote></div><br></div>