<html><head></head><body>Hello,<br>
<br>
Many parts of the language are formally specified in papers written by SPJ, or someone else who worked closely on that feature. For example, certain modifications to the type system are described here [1].<br>
<br>
Check out SPJ's Microsoft Research page for other papers [2]. I seem to recall reading a formal definition of Haskell Core, but can't recall whether it was in one of these papers or not.<br>
<br>
Cheers,<br>
Jon<br>
<br>
[1]: <a href="https://www.microsoft.com/en-us/research/publication/practical-aspects-evidence-based-compilation-system-fc">https://www.microsoft.com/en-us/research/publication/practical-aspects-evidence-based-compilation-system-fc</a>/<br>
[2]: <a href="https://www.microsoft.com/en-us/research/people/simonpj/?from=http%3A%2F%2Fresearch.microsoft.com%2Fen-us%2Fpeople%2Fsimonpj%2F">https://www.microsoft.com/en-us/research/people/simonpj/?from=http%3A%2F%2Fresearch.microsoft.com%2Fen-us%2Fpeople%2Fsimonpj%2F</a><br><br><div class="gmail_quote">On December 17, 2017 1:53:06 PM CST, Todd Wilson <twilson@csufresno.edu> wrote:<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div dir="ltr"><div class="gmail_quote"><div dir="ltr"><div dir="ltr">On Sat, Dec 16, 2017 at 9:14 PM Brandon Allbery <<a href="mailto:allbery.b@gmail.com">allbery.b@gmail.com</a>> wrote:<br /></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Dunno about safety results, but <a href="https://www.haskell.org/onlinereport/haskell2010/" target="_blank">https://www.haskell.org/onlinereport/haskell2010/</a> exists (next revision expected in 2020 iirc).</div></blockquote><div><br /></div><div>Although this can be considered a definition of the language, it is by no means a formal definition of the static and dynamic semantics of the language in a form amenable to representation in systems like Coq, where metatheory might be checked.</div><div><br /></div></div><div dir="ltr">On Sat, Dec 16, 2017 at 9:22 PM Baojun Wang <<a href="mailto:wangbj@gmail.com">wangbj@gmail.com</a>> wrote:<br /></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div dir="auto">SPJ may answered part of it in his talk Escape from the ivory tower: <a href="https://www.youtube.com/watch?v=re96UgMk6GQ&feature=share" target="_blank">https://www.youtube.com/watch?v=re96UgMk6GQ&feature=share</a> from about 29 minutes.</div></div></blockquote><div><br /></div><div>Nice talk; thanks for the reference. To summarize: formalization, which is a lot of work, leads to standardization and the reluctance to change the language, and one of Haskell's strong points is that it is constantly evolving.</div><div><br /></div><div>I see SPJ's point, but he makes another point in the same video, which is that Haskell has a small, internal core language to which everything must elaborate, so this would seem to make formalization even more attractive: formalize and prove safety for the core language once and for all, and then specify the elaborations and check their properties modularly, which should work well even in the face of language evolution.</div><div><br /></div></div></div>
</blockquote></div><br>
-- <br>
Sent from my Android device with K-9 Mail. Please excuse my brevity.</body></html>