<div dir="ltr">I'm firmly with Derek.. we should teach people things like maps, folds and generic recursion instead of subjecting them to stuff like Java or C++. I'm not starting a war here, just stating that after 30+ years in software, mentoring and helping people learn... that, like teaching your kid to read or play guitar... the magic just happens. They learn and you don't know how they learned but they take it in and build on it.<div><br></div><div>By not clouding impressionable learning minds with the gory details for for loops and such like but instead immediately beginning their programming lives with maps folds and recursion I think we would be raising the level of goodness... then maybe Haskell would be taught in schools!</div><div><br></div><div>I taught myself prolog a year or three back...thanks to my FP skills, concepts like recursion were a done deal and backtracking was not that hard to take on board. Maybe we should teach Prolog as the first language people ever learn!</div><div><br></div><div>Regarding language pragmas. Yes!!! A complete hitch-hikers guide with information examples would be good. I have often tried to work with code I find only realise that the author had used the "automatically munge strings to be the right type" option and not mentioned it.</div><div><br></div><div>Whatever. Haskell started in '98, it's 2016 now... it's going to last!</div><div><br></div><div>:)<br>Sean</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On 15 December 2015 at 20:13, Rein Henrichs <span dir="ltr"><<a href="mailto:rein.henrichs@gmail.com" target="_blank">rein.henrichs@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
Mr. McIlroy,<br>
<br>
FWIW I would love to read more about that McCarthy talk. It<br>
sounds like an amazing experience.<br>
<span class=""><br>
> There is no authoritative source about these pragmas. They are listed<br>
> and described in the GHC User Guide, but that source all too often<br>
> defines solely by example, not even bolstered by a formal syntax<br>
> specification.<br>
<br>
</span>I think it would very helpful simply to better (and more rigorously)<br>
document the syntax and semantics of the available extensions. There is<br>
currently a call to action to update GHC's Haddock documentation in<br>
preparation for the 8.0 release [1]. Perhaps some effort can also be<br>
directed towards the documentation of the LANGUAGE pragmas.<br>
<br>
There is still a problem, though: For completeness, one must consider<br>
the interactions of the various subsets of these pragmas, some of which<br>
are already known to be unsound. What's worse, the number of extant<br>
pragmas already makes an enumeration of these subsets impractical, since<br>
there are some 10^31 of them even ignoring the "NoX" pragmas.<br>
<br>
The only long-term solution then seems to be to codify a new Haskell<br>
standard that incorporates some known-good subset of these pragmas that<br>
the community seems to agree on, which I suppose is part of the task<br>
that the Haskell Prime committee has before them. I do not envy them.<br>
<br>
[1]: <a href="https://mail.haskell.org/pipermail/ghc-devs/2015-December/010681.html" rel="noreferrer" target="_blank">https://mail.haskell.org/pipermail/ghc-devs/2015-December/010681.html</a><br>
<div class="HOEnZb"><div class="h5">_______________________________________________<br>
Beginners mailing list<br>
<a href="mailto:Beginners@haskell.org">Beginners@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners</a><br>
</div></div></blockquote></div><br></div>