<div><div dir="auto">Thanks Doug for your words of encouragement.</div><div dir="auto"><br></div><div dir="auto">[Doug]</div></div><div dir="auto">| | hugs in preference to "monstrous" ghc/ghci. It's lightweight ...</div><div dir="auto"><br></div><div dir="auto">I agree in 'calculator mode', lightweight is a definite advantage.</div><div dir="auto">It's a terrific way to ease into functional programming.</div><div dir="auto">Haskell syntax of that era is aesthetically at the sweet spot between succinct-terse-cryptic-hieroglyphics-line noise.</div><div dir="auto"><br></div><div dir="auto">| | and its language is properly documented (in the Haskell 98 report),</div><div dir="auto"><br></div><div dir="auto">Hmm. My OP is clear I want Hugs 2006 with all extensions. So more than H98, indeed more than H2010.</div><div dir="auto"><br></div><div dir="auto">| | neither of which can be said of ghc.</div><div dir="auto"><br></div><div dir="auto">I think you're being over-generous to Hugs. Both Hugs and GHC document each feature individually.</div><div dir="auto">The trouble is they don't document how features interact.</div><div dir="auto">(Occasionally there's a 'grand unifying theorem', like OutsideIn(X). </div><div dir="auto"> I'm afraid the grand unifying type-in-type/path to Dependent Types is just too much for a bear of very little brain.)</div><div dir="auto">So your point about 2^99 languages is well made.</div><div dir="auto"><br></div><div dir="auto">Specifically for anonymous/extensible record systems, all of them</div><div dir="auto">(TRex -- probably special hard coding, HList, Ur/web -- beyond Haskell but not extensible,</div><div dir="auto"> endless libraries on Hackage -- mostly using TH boilerplate -- despite that mostly not extensible)</div><div dir="auto">rely on the interaction of Overlaps and FunDeps -- hence the focus of my rant.</div><div dir="auto">GHC's implementation is broken; Hugs just plays safe and disallows any interaction.</div><div dir="auto"><br></div><div dir="auto">All the hip kids play in the lenses space. I guess they want their code to look like Perl or TECO, brogrammer style.</div><div dir="auto">Sometime they'll discover why hierarchical data structures fell so badly out of fashion in the 1980's.</div><div dir="auto"><br></div><div><br><div class="gmail_quote"><div dir="ltr">On Sat, 7 Jul 2018 at 2:46 AM, Simon Peyton Jones wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
I think that’s a little unfair to GHC 😊. If you don't give any language extension flags you get Haskell 98 -- or nowadays Haskell 2010. <br>
</blockquote><div dir="auto"><br></div><div dir="auto">Thanks Simon, but that's true only up to a point (Lord Copper).</div><div dir="auto">I don't configure for pure H2010, see above. I do configure for a handful of extensions;</div><div dir="auto">I do wish error messages didn't suggest all sorts of high-fallutin' things I might have meant when I merely made a typo.</div><div dir="auto"><br></div><div dir="auto">GHC's syntax space is getting so crowded now that a typo is quite likely to get mis-parsed as trying to use some feature I didn't even know existed.</div><div dir="auto">Then I appreciate Hugs doesn't confuse me with those possibilities.</div><div dir="auto"><br></div><div dir="auto">Oh, and as Doug mentions in his follow-up message: Libraries. </div><div dir="auto">I get it that's strictly-speaking not within GHC's bailiwick.</div><div dir="auto">I don't want all that abstruse category-theory shit.</div><div dir="auto">I want `length` applicable to a List and only to a List. And not to throw messages about instances of Foldable.</div><div dir="auto">So when Neil says "<span style="white-space:pre-wrap;background-color:rgb(255,255,255)">Hugs doesn't have any modern libraries </span>" I'm seeing that as another benefit.</div><div dir="auto"><br></div><div dir="auto">Yes I know I could opt for a simpler Prelude; I could override the type for `length`. </div><div dir="auto">I resent that casual users/newbies must jump through hoops to do that.</div><div dir="auto">The onus should be on those who want fancy stuff to jump through the hoops -- for them it's not a burden.</div><div dir="auto"><br></div><div dir="auto">Like Doug, I'm not aiming to produce production code.</div><div dir="auto">Nor production-level mods to any compiler.</div><div dir="auto"><br></div><div dir="auto">AntC</div><div dir="auto"><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
| -----Original Message-----<br>
| From: Hugs-Users <<a href="mailto:hugs-users-bounces@haskell.org" target="_blank">hugs-users-bounces@haskell.org</a>> On Behalf Of Doug McIlroy<br>
| Sent: 06 July 2018 15:04<br>
| To: <a href="mailto:hugs-users@haskell.org" target="_blank">hugs-users@haskell.org</a><br>
| Subject: Re: [Hugs-users] needing some Hugs<br>
| <br>
| I have little constructive to say on the topic, except that I typically use<br>
| hugs in preference to "monstrous"<br>
| ghc/ghci. It's lightweight and its language is properly documented (in the<br>
| Haskell 98 report), neither of which can be said of ghc. Its rudimentary<br>
| instrumentation (:set +s) is more useful than ghc's equivalent, though<br>
| admittedly ghc has many debugging features I haven't explored.<br>
| <br>
| That said, it should be noted that I do not use Haskell (nor, nowadays, any<br>
| other language) for writing production code.<br>
| <br>
| Apropos of language, a couple of years ago I noted that ghc implements 2^99<br>
| languages, not one. (There were 99 non-antonymous language pragmas; there<br>
| may be more now.) Who can know what terrors lurk there.<br>
| My first attempt to investigate the field (turn on all 99) caused a compiler<br>
| panic, since fixed.<br>
| <br>
| Early on, I encountered a hugs bug: garbage collection in the middle of a<br>
| bignum operation caused havoc.<br>
| Having never looked at the hugs source before, I was able quite quickly<br>
| pinpoint the offending code; the maintainers corrected it almost overnight.<br>
| That heart-warming experience hasn't worn off, even though the maintainers<br>
| have moved on.<br>
| <br>
| Doug<br>
| _______________________________________________<br>
| Hugs-Users mailing list<br>
| <a href="mailto:Hugs-Users@haskell.org" target="_blank">Hugs-Users@haskell.org</a><br>
| <a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/hugs-users" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/hugs-users</a><br>
_______________________________________________<br>
Hugs-Users mailing list<br>
<a href="mailto:Hugs-Users@haskell.org" target="_blank">Hugs-Users@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/hugs-users" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/hugs-users</a><br>
</blockquote></div></div>