From shayne.fletcher.50 at gmail.com Fri May 10 12:33:01 2024 From: shayne.fletcher.50 at gmail.com (Shayne Fletcher) Date: Fri, 10 May 2024 08:33:01 -0400 Subject: [ghc-9.10-rc] foldl' ambiguities in several packages Message-ID: using the ghc-9.10 release candidate, at least all of text-short, unordered-containers and vector-stream fail to compile with ambiguities around the export of symbol `foldl'`. example: ``` unordered-containers> [1 of 8] Compiling Data.HashMap.Internal.Array unordered-containers> /private/var/folders/rj/q93vlym52875_k7nwz_c3wth0000gn/T/stack-da6d6d11ecd50280/unordered-containers-0.2.19.1/Data/HashMap/Internal/Array.hs:66:7-12: error: [GHC-87543] unordered-containers> Ambiguous occurrence ‘foldl'’. unordered-containers> It could refer to unordered-containers> either ‘Prelude.foldl'’, unordered-containers> imported from ‘Prelude’ at Data/HashMap/Internal/Array.hs:(97,1)-(98,48) unordered-containers> (and originally defined in ‘ghc-internal-9.1001.0:GHC.Internal.Data.Foldable’), unordered-containers> or ‘Data.HashMap.Internal.Array.foldl'’, unordered-containers> defined at Data/HashMap/Internal/Array.hs:380:1. unordered-containers> | unordered-containers> 66 | , foldl' unordered-containers> | ^^^^^^ ``` so far i've found all such errors can be overcome by qualification at the export site but is this expected? -- Shayne Fletcher -------------- next part -------------- An HTML attachment was scrubbed... URL: From teofilcamarasu at gmail.com Fri May 10 12:44:19 2024 From: teofilcamarasu at gmail.com (Teofil Camarasu) Date: Fri, 10 May 2024 13:44:19 +0100 Subject: [ghc-9.10-rc] foldl' ambiguities in several packages In-Reply-To: References: Message-ID: Hi Shayne, I think this is expected. Most of these packages have patches merged but maybe they just lack releases? This is the associated CLC proposal: https://github.com/haskell/core-libraries-committee/issues/167 Cheers, Teo On Fri, 10 May 2024, 13:33 Shayne Fletcher, wrote: > using the ghc-9.10 release candidate, at least all of text-short, > unordered-containers and vector-stream fail to compile with ambiguities > around the export of symbol `foldl'`. example: > ``` > unordered-containers> [1 of 8] Compiling Data.HashMap.Internal.Array > unordered-containers> > /private/var/folders/rj/q93vlym52875_k7nwz_c3wth0000gn/T/stack-da6d6d11ecd50280/unordered-containers-0.2.19.1/Data/HashMap/Internal/Array.hs:66:7-12: > error: [GHC-87543] > > unordered-containers> Ambiguous occurrence ‘foldl'’. > unordered-containers> It could refer to > unordered-containers> either ‘Prelude.foldl'’, > unordered-containers> imported from ‘Prelude’ at > Data/HashMap/Internal/Array.hs:(97,1)-(98,48) > unordered-containers> (and originally defined in > ‘ghc-internal-9.1001.0:GHC.Internal.Data.Foldable’), > unordered-containers> or ‘Data.HashMap.Internal.Array.foldl'’, > unordered-containers> defined at > Data/HashMap/Internal/Array.hs:380:1. > unordered-containers> | > unordered-containers> 66 | , foldl' > unordered-containers> | ^^^^^^ > ``` > so far i've found all such errors can be overcome by qualification at the > export site but is this expected? > > -- > Shayne Fletcher > _______________________________________________ > ghc-devs mailing list > ghc-devs at haskell.org > http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs > -------------- next part -------------- An HTML attachment was scrubbed... URL: From gulin.serge at gmail.com Fri May 10 16:55:15 2024 From: gulin.serge at gmail.com (Serge S. Gulin) Date: Fri, 10 May 2024 19:55:15 +0300 Subject: Reasoning on unicode static data compression at GHC-side Message-ID: Hi, dear ghc-devs subscribers! Propose a discussion about unicode size https://gitlab.haskell.org/ghc/ghc/-/issues/24789. It seems we should do nothing with it in code in the general case but it has its own approaches on how to control the size of resulting bundles/executions. -- Serge S. Gulin https://gitlab.haskell.org/gulin.serge -------------- next part -------------- An HTML attachment was scrubbed... URL: From jan at vanbruegge.de Fri May 10 22:24:53 2024 From: jan at vanbruegge.de (=?UTF-8?Q?Jan_van_Br=C3=BCgge?=) Date: Fri, 10 May 2024 23:24:53 +0100 (GMT+01:00) Subject: GHC notes plugin for Haskell language server Message-ID: <1e77f7c9-0f5b-499e-91e2-eb8e36c871a1@vanbruegge.de> Hi all, a few days ago, version 2.8.0.0 of HLS was released and with that the new notes plugin. With this, you can use "Go to Definition" not only on Haskell types and identifiers, but also on Note references and you editor will jump to the relevant file and the position of the full note. Some of you might remember that I created the initial proof of concept at last year's ZuriHac/GHC contributor's Workshop. TL;DR: Update HLS and you dont need to search for notes any more. Cheers, Jan -------------- next part -------------- An HTML attachment was scrubbed... URL: From ben at well-typed.com Sat May 11 00:00:51 2024 From: ben at well-typed.com (Ben Gamari) Date: Fri, 10 May 2024 20:00:51 -0400 Subject: GHC 9.10.1 is now available Message-ID: <87o79ddxoy.fsf@smart-cactus.org> The GHC developers are very pleased to announce the release of GHC 9.10.1. Binary distributions, source distributions, and documentation are available at [downloads.haskell.org] and shortly via [GHCup]. GHC 9.10 brings a number of new features and improvements, including: * The introduction of the `GHC2024` language edition, building upon `GHC2021` with the addition of a number of widely-used extensions. * Partial implementation of the [GHC Proposal #281], allowing visible quantification to be used in the types of terms. * [Extension] of LinearTypes to allow linear `let` and `where` bindings * The implementation of the [exception backtrace proposal], allowing the annotation of exceptions with backtraces, as well as other user-defined context * Further improvements in the info table provenance mechanism, reducing code size to allow IPE information to be enabled more widely * Javascript FFI support in the WebAssembly backend * Improvements in the fragmentation characteristics of the low-latency non-moving garbage collector. * ... and many more A full accounting of changes can be found in the [release notes]. As always, GHC's release status, including planned future releases, can be found on the [GHC Wiki]. We would like to thank GitHub, IOG, the Zw3rk stake pool, Well-Typed, Tweag I/O, Serokell, Equinix, SimSpace, the Haskell Foundation, and other anonymous contributors whose on-going financial and in-kind support has facilitated GHC maintenance and release management over the years. Finally, this release would not have been possible without the hundreds of open-source contributors whose work comprise this release. As always, do give this release a try and open a [ticket] if you see anything amiss. [release notes]: https://downloads.haskell.org/ghc/9.10.1/docs/users_guide/9.10.1-notes.html [GHC Wiki]: https://gitlab.haskell.org/ghc/ghc/-/wikis/GHC-status [exception backtrace]: https://github.com/ghc-proposals/ghc-proposals/pull/330 [GHC Proposal #281]: https://github.com/ghc-proposals/ghc-proposals/pull/281 [linear let]: https://github.com/ghc-proposals/ghc-proposals/pull/624 [downloads.haskell.org]: https://downloads.haskell.org/ghc/9.10.1 [ticket]: https://gitlab.haskell.org/ghc/ghc/-/issues/new [GHCup]: https://www.haskell.org/ghcup/ -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 487 bytes Desc: not available URL: From arnaud.spiwack at tweag.io Mon May 13 13:10:34 2024 From: arnaud.spiwack at tweag.io (Arnaud Spiwack) Date: Mon, 13 May 2024 15:10:34 +0200 Subject: GHC notes plugin for Haskell language server In-Reply-To: <1e77f7c9-0f5b-499e-91e2-eb8e36c871a1@vanbruegge.de> References: <1e77f7c9-0f5b-499e-91e2-eb8e36c871a1@vanbruegge.de> Message-ID: Thank you for the good work. I'm looking forward to using it. On Sat, 11 May 2024 at 00:25, Jan van Brügge wrote: > Hi all, > a few days ago, version 2.8.0.0 of HLS was released and with that the new > notes plugin. With this, you can use "Go to Definition" not only on Haskell > types and identifiers, but also on Note references and you editor will jump > to the relevant file and the position of the full note. > > Some of you might remember that I created the initial proof of concept at > last year's ZuriHac/GHC contributor's Workshop. > > TL;DR: Update HLS and you dont need to search for notes any more. > > Cheers, > Jan > _______________________________________________ > ghc-devs mailing list > ghc-devs at haskell.org > http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs > -- Arnaud Spiwack Director, Research at https://moduscreate.com and https://tweag.io. -------------- next part -------------- An HTML attachment was scrubbed... URL: From sgraf1337 at gmail.com Mon May 13 13:18:10 2024 From: sgraf1337 at gmail.com (Sebastian Graf) Date: Mon, 13 May 2024 13:18:10 +0000 Subject: GHC notes plugin for Haskell language server In-Reply-To: References: <1e77f7c9-0f5b-499e-91e2-eb8e36c871a1@vanbruegge.de> Message-ID: Yes, thank you Jan! I remember to be quite excited about your developments at last year's ZuriHac. I followed the pull request as well; I'm grateful you saw it through. This will make life better for a lot of GHC hackers (that know about the feature). Cheers, Sebastian ------ Originalnachricht ------ Von "Arnaud Spiwack" An "Jan van Brügge" Cc ghc-devs at haskell.org Datum 13.05.2024 15:10:34 Betreff Re: GHC notes plugin for Haskell language server >Thank you for the good work. I'm looking forward to using it. > >On Sat, 11 May 2024 at 00:25, Jan van Brügge wrote: >>Hi all, >>a few days ago, version 2.8.0.0 of HLS was released and with that the >>new notes plugin. With this, you can use "Go to Definition" not only >>on Haskell types and identifiers, but also on Note references and you >>editor will jump to the relevant file and the position of the full >>note. >> >>Some of you might remember that I created the initial proof of concept >>at last year's ZuriHac/GHC contributor's Workshop. >> >>TL;DR: Update HLS and you dont need to search for notes any more. >> >>Cheers, >>Jan >>_______________________________________________ >>ghc-devs mailing list >>ghc-devs at haskell.org >>http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs > > >-- >Arnaud Spiwack >Director, Research at https://moduscreate.com and https://tweag.io. -------------- next part -------------- An HTML attachment was scrubbed... URL: From davide.pancotto at gmail.com Wed May 15 11:37:32 2024 From: davide.pancotto at gmail.com (Davide Pancotto) Date: Wed, 15 May 2024 13:37:32 +0200 Subject: account approval Message-ID: Hello, I registered on gitlab as davide-pn because I want to report a bug. If you want to know it, you can approve it. -------------- next part -------------- An HTML attachment was scrubbed... URL: From matthewtpickering at gmail.com Wed May 15 11:41:12 2024 From: matthewtpickering at gmail.com (Matthew Pickering) Date: Wed, 15 May 2024 12:41:12 +0100 Subject: account approval In-Reply-To: References: Message-ID: Done. Cheers, Matt On Wed, May 15, 2024 at 12:38 PM Davide Pancotto wrote: > > Hello, I registered on gitlab as davide-pn because I want to report a bug. > If you want to know it, you can approve it. > _______________________________________________ > ghc-devs mailing list > ghc-devs at haskell.org > http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs From pentestingsouth at gmail.com Thu May 16 18:21:26 2024 From: pentestingsouth at gmail.com (pen testur) Date: Thu, 16 May 2024 14:21:26 -0400 Subject: account approval In-Reply-To: References: Message-ID: i registered for access to github about a week ago under this email address. could you please approve my registration? thank you On Wed, May 15, 2024 at 7:48 AM Matthew Pickering < matthewtpickering at gmail.com> wrote: > Done. > > Cheers, > > Matt > > On Wed, May 15, 2024 at 12:38 PM Davide Pancotto > wrote: > > > > Hello, I registered on gitlab as davide-pn because I want to report a > bug. > > If you want to know it, you can approve it. > > _______________________________________________ > > ghc-devs mailing list > > ghc-devs at haskell.org > > http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs > _______________________________________________ > ghc-devs mailing list > ghc-devs at haskell.org > http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs > -------------- next part -------------- An HTML attachment was scrubbed... URL: From pentestingsouth at gmail.com Thu May 16 18:22:12 2024 From: pentestingsouth at gmail.com (pen testur) Date: Thu, 16 May 2024 14:22:12 -0400 Subject: account approval In-Reply-To: References: Message-ID: sorry make that gitlab lol On Thu, May 16, 2024 at 2:21 PM pen testur wrote: > i registered for access to github about a week ago under this email > address. could you please approve my registration? thank you > > On Wed, May 15, 2024 at 7:48 AM Matthew Pickering < > matthewtpickering at gmail.com> wrote: > >> Done. >> >> Cheers, >> >> Matt >> >> On Wed, May 15, 2024 at 12:38 PM Davide Pancotto >> wrote: >> > >> > Hello, I registered on gitlab as davide-pn because I want to report a >> bug. >> > If you want to know it, you can approve it. >> > _______________________________________________ >> > ghc-devs mailing list >> > ghc-devs at haskell.org >> > http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs >> _______________________________________________ >> ghc-devs mailing list >> ghc-devs at haskell.org >> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From allbery.b at gmail.com Thu May 16 18:49:51 2024 From: allbery.b at gmail.com (Brandon Allbery) Date: Thu, 16 May 2024 14:49:51 -0400 Subject: account approval In-Reply-To: References: Message-ID: It looks like your account has already been rejected, possibly because you waited too long. Can you reapply? On Thu, May 16, 2024, 14:22 pen testur wrote: > sorry make that gitlab lol > > On Thu, May 16, 2024 at 2:21 PM pen testur > wrote: > >> i registered for access to github about a week ago under this email >> address. could you please approve my registration? thank you >> >> On Wed, May 15, 2024 at 7:48 AM Matthew Pickering < >> matthewtpickering at gmail.com> wrote: >> >>> Done. >>> >>> Cheers, >>> >>> Matt >>> >>> On Wed, May 15, 2024 at 12:38 PM Davide Pancotto >>> wrote: >>> > >>> > Hello, I registered on gitlab as davide-pn because I want to report a >>> bug. >>> > If you want to know it, you can approve it. >>> > _______________________________________________ >>> > ghc-devs mailing list >>> > ghc-devs at haskell.org >>> > http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs >>> _______________________________________________ >>> ghc-devs mailing list >>> ghc-devs at haskell.org >>> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs >>> >> _______________________________________________ > ghc-devs mailing list > ghc-devs at haskell.org > http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs > -------------- next part -------------- An HTML attachment was scrubbed... URL: From hecate at glitchbra.in Fri May 17 17:47:32 2024 From: hecate at glitchbra.in (=?UTF-8?Q?H=C3=A9cate?=) Date: Fri, 17 May 2024 19:47:32 +0200 Subject: Haddock now lives full-time in the GHC repository Message-ID: <70d4f67a-6396-44c4-98ba-52f4cef6d468@glitchbra.in> Hello devs, As of today, Haddock now lives in the GHC repository, and not anymore as a submodule from another Gitlab repository which itself was rebased on top of a Github repository. You are encouraged to migrate our currently opened PRs to the GHC repo. If you have any trouble, please do ping me on Matrix (@acidalia:matrix.org), on GitLab (@kleidukos), or by email directly. Read more here: https://discourse.haskell.org/t/haddock-now-lives-in-the-ghc-repository/9576 My thanks to Ben Gamari who was essential in making this migration happen! Cheers, Hécate -- Hécate ✨ 🐦: @TechnoEmpress IRC: Hecate WWW: https://glitchbra.in RUN: BSD From chessai1996 at gmail.com Mon May 20 18:32:14 2024 From: chessai1996 at gmail.com (chessai) Date: Mon, 20 May 2024 13:32:14 -0500 Subject: Question about -G RTS flag Message-ID: The docs for -G state: ``` ... Anything larger than about 4 is probably not a good idea unless your program runs for a *long* time, because the oldest generation will hardly ever get collected. ``` What is a "*long*" time? -------------- next part -------------- An HTML attachment was scrubbed... URL: From zubin at well-typed.com Tue May 21 15:48:49 2024 From: zubin at well-typed.com (Zubin Duggal) Date: Tue, 21 May 2024 21:18:49 +0530 Subject: Priorities for upcoming GHC releases Message-ID: Hi all, We detail our plans for upcoming GHC releases in a new blog post: https://www.haskell.org/ghc/blog/20240521-ghc-release-priorities.html The summary is that we will prioritise work on the 9.10, 9.6 and master branches over work on the 9.8 branch for the coming few months due to time and resource constraints. This does not mean that we are dropping support for GHC 9.8, but that releases in this series might be made at a slower pace than usual. Cheers, Zubin. -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 488 bytes Desc: not available URL: From clintonmead at gmail.com Wed May 22 05:22:40 2024 From: clintonmead at gmail.com (Clinton Mead) Date: Wed, 22 May 2024 15:22:40 +1000 Subject: GHC release series adoption rates Message-ID: Hi All The recent GHC blog post: https://www.haskell.org/ghc/blog/20240521-ghc-release-priorities.html states: *"9.6.5 seems to be a relatively stable release so far and we plan to prioritise fixes given the relatively higher adoption of this branch"* I was wondering where this information came from? Is this based on a number of downloads or some other metric? Number of companies that have adopted the version? How many stack/ghcup pulls? Or just a vibe/what people seem to be talking about? If there are hard numbers, are they public? The current project I'm working on is still on GHC 9.2.2, so I was considering an upgrade to GHC 9.4.8, but this blog post has made me lean towards the 9.6 series instead. This is just an upgrade for stability not features and so we don't get too far behind. But it would be good to have this popularity info generally instead of having to wait for a blog post. Cheers, Clinton -------------- next part -------------- An HTML attachment was scrubbed... URL: From teofilcamarasu at gmail.com Thu May 23 13:56:49 2024 From: teofilcamarasu at gmail.com (Teofil Camarasu) Date: Thu, 23 May 2024 14:56:49 +0100 Subject: Question about -G RTS flag In-Reply-To: References: Message-ID: Hi chessai, I'm not an expert on this but I think the idea is the following. The more generations you have, the lower the frequency of the oldest generation getting garbage collected. Here's why: Each generation gets collected when it gets full. Anything that remains alive is then promoted to the next generation. Because we expect heap objects to skew towards being short-lived, older generations will promote fewer and fewer objects into the next one. This leads to a pattern where the youngest generation gets collected quite frequently, and each following generation gets collected less and less frequently. This then means that the oldest generation is quite likely to contain many objects that are dead but not yet collected. This leads to higher than necessary memory usage. Though there's positives too as you will have to run an expensive major collection less often. If your application runs for long enough though, the oldest gen will eventually be collected. So I guess that's what this is referring to? If you pick a high -G value, then expect to wait for a while before your oldest generation gets GC'd. "long time" here is likely relative to the exact amount of generations you pick, but also your allocation patterns, etc. Hope that helps! Cheers, Teo On Mon, May 20, 2024 at 7:32 PM chessai wrote: > The docs for -G state: > > ``` > ... Anything larger than about 4 is probably not a good idea unless your > program runs for a *long* time, because the oldest generation will hardly > ever get collected. > ``` > > What is a "*long*" time? > _______________________________________________ > ghc-devs mailing list > ghc-devs at haskell.org > http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs > -------------- next part -------------- An HTML attachment was scrubbed... URL: From rodrigo.m.mesquita at gmail.com Sun May 26 11:40:31 2024 From: rodrigo.m.mesquita at gmail.com (Rodrigo Mesquita) Date: Sun, 26 May 2024 12:40:31 +0100 Subject: Looking for recent works on STG Message-ID: <64028E9E-E014-4CB1-8F97-068E42669AD1@gmail.com> Dear all, Do you know of any recent works on the STG? In particular, I am looking for a result connecting STG's execution and Core’s call-by-need semantics when written in structural operational semantics style. Nonetheless, I’m also interested in possibly more recent formulations of STG (e.g. a mechanized one?) beyond the original paper. Cheers Rodrigo Mesquita From moritz.angermann at gmail.com Sun May 26 12:02:54 2024 From: moritz.angermann at gmail.com (Moritz Angermann) Date: Sun, 26 May 2024 20:02:54 +0800 Subject: Looking for recent works on STG In-Reply-To: <64028E9E-E014-4CB1-8F97-068E42669AD1@gmail.com> References: <64028E9E-E014-4CB1-8F97-068E42669AD1@gmail.com> Message-ID: I don’t know myself, but I would suggest reaching out to Csaba. I believe he might have a good grasp on the STG literature. On Sun, 26 May 2024 at 7:40 PM, Rodrigo Mesquita < rodrigo.m.mesquita at gmail.com> wrote: > Dear all, > > Do you know of any recent works on the STG? > > In particular, I am looking for a result connecting STG's execution and > Core’s call-by-need semantics when written in structural operational > semantics style. > > Nonetheless, I’m also interested in possibly more recent formulations of > STG (e.g. a mechanized one?) beyond the original paper. > > Cheers > Rodrigo Mesquita > _______________________________________________ > ghc-devs mailing list > ghc-devs at haskell.org > http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs > -------------- next part -------------- An HTML attachment was scrubbed... URL: From sgraf1337 at gmail.com Sun May 26 12:18:45 2024 From: sgraf1337 at gmail.com (Sebastian Graf) Date: Sun, 26 May 2024 14:18:45 +0200 Subject: Looking for recent works on STG In-Reply-To: References: <64028E9E-E014-4CB1-8F97-068E42669AD1@gmail.com> Message-ID: Hey Rodrigo, With any kind of semantics, often the most important question is: What do you want to achieve with it? Generally speaking, I think it would be tedious, but not all that hard, to define an STG-style semantics for Core that "simply" anfises on the fly. I did that for example in my denotational interpreter for Core here , generating a trace in a Sestoft-style small-step operational semantics. It works quite well (until it encounters an import or a primop which I haven't implemented), see here . If you really insist on modelling the STG machine (the prime advantage of which is that it can be efficiently compiled to hardware), then you would need to figure out the manifest arity of functions before you put them in the heap, etc.. But even that should not be hard, taking the STG operational semantics from the eval/apply paper , which should be amenable to mechanised formalisation. It's still tedious unless you really need to observe some STG-specific detail in your work. So yeah, what is your end goal here? Cheers, Sebastian Am So., 26. Mai 2024 um 14:03 Uhr schrieb Moritz Angermann < moritz.angermann at gmail.com>: > I don’t know myself, but I would suggest reaching out to Csaba. I believe > he might have a good grasp on the STG literature. > > On Sun, 26 May 2024 at 7:40 PM, Rodrigo Mesquita < > rodrigo.m.mesquita at gmail.com> wrote: > >> Dear all, >> >> Do you know of any recent works on the STG? >> >> In particular, I am looking for a result connecting STG's execution and >> Core’s call-by-need semantics when written in structural operational >> semantics style. >> >> Nonetheless, I’m also interested in possibly more recent formulations of >> STG (e.g. a mechanized one?) beyond the original paper. >> >> Cheers >> Rodrigo Mesquita >> _______________________________________________ >> ghc-devs mailing list >> ghc-devs at haskell.org >> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs >> > _______________________________________________ > ghc-devs mailing list > ghc-devs at haskell.org > http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs > -------------- next part -------------- An HTML attachment was scrubbed... URL: From sgraf1337 at gmail.com Sun May 26 12:33:35 2024 From: sgraf1337 at gmail.com (Sebastian Graf) Date: Sun, 26 May 2024 14:33:35 +0200 Subject: Looking for recent works on STG In-Reply-To: References: <64028E9E-E014-4CB1-8F97-068E42669AD1@gmail.com> Message-ID: Addendum: This is what I mean by Sestoft-style: http://www.itu.dk/~sestoft/papers/amlazy.pdf This describes the simplest possible small-step transition semantics for call-by-need (discounting ADTs). If you don't care about all the transitions, it might be simpler to switch to a *contextual* semantics instead, which express stack, heap and environment simply as an evaluation context. Then you might want to look at this work by Ariola et al.: https://dl.acm.org/doi/10.1145/199448.19950, who first figured out what the evaluation contexts for call-by-need are. The advantage of contextual semantics is that you need far fewer "search transitions" that just push stack frames or add heap bindings to find the next redex. This style harmonises well with proofs by induction on evaluation contexts, which you often do to show program equivalence. Am So., 26. Mai 2024 um 14:18 Uhr schrieb Sebastian Graf < sgraf1337 at gmail.com>: > Hey Rodrigo, > > With any kind of semantics, often the most important question is: What do > you want to achieve with it? > > Generally speaking, I think it would be tedious, but not all that hard, to > define an STG-style semantics for Core that "simply" anfises on the fly. > I did that for example in my denotational interpreter for Core here > , > generating a trace in a Sestoft-style small-step operational semantics. > It works quite well (until it encounters an import or a primop which I > haven't implemented), see here > . > If you really insist on modelling the STG machine (the prime advantage of > which is that it can be efficiently compiled to hardware), then you would > need to figure out the manifest arity of functions before you put them in > the heap, etc.. > But even that should not be hard, taking the STG operational semantics > from the eval/apply paper > , > which should be amenable to mechanised formalisation. It's still tedious > unless you really need to observe some STG-specific detail in your work. > > So yeah, what is your end goal here? > > Cheers, > Sebastian > > Am So., 26. Mai 2024 um 14:03 Uhr schrieb Moritz Angermann < > moritz.angermann at gmail.com>: > >> I don’t know myself, but I would suggest reaching out to Csaba. I believe >> he might have a good grasp on the STG literature. >> >> On Sun, 26 May 2024 at 7:40 PM, Rodrigo Mesquita < >> rodrigo.m.mesquita at gmail.com> wrote: >> >>> Dear all, >>> >>> Do you know of any recent works on the STG? >>> >>> In particular, I am looking for a result connecting STG's execution and >>> Core’s call-by-need semantics when written in structural operational >>> semantics style. >>> >>> Nonetheless, I’m also interested in possibly more recent formulations of >>> STG (e.g. a mechanized one?) beyond the original paper. >>> >>> Cheers >>> Rodrigo Mesquita >>> _______________________________________________ >>> ghc-devs mailing list >>> ghc-devs at haskell.org >>> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs >>> >> _______________________________________________ >> ghc-devs mailing list >> ghc-devs at haskell.org >> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ben at smart-cactus.org Tue May 28 16:36:53 2024 From: ben at smart-cactus.org (Ben Gamari) Date: Tue, 28 May 2024 12:36:53 -0400 Subject: GHC release series adoption rates In-Reply-To: References: Message-ID: <87sey1gafx.fsf@smart-cactus.org> Clinton Mead writes: > Hi All > > The recent GHC blog post: > https://www.haskell.org/ghc/blog/20240521-ghc-release-priorities.html > states: > > *"9.6.5 seems to be a relatively stable release so far and we plan to > prioritise fixes given the relatively higher adoption of this branch"* > > I was wondering where this information came from? Is this based on a number > of downloads or some other metric? Number of companies that have adopted > the version? How many stack/ghcup pulls? Or just a vibe/what people seem to > be talking about? > > If there are hard numbers, are they public? > Sadly we don't have hard numbers. However, we do try to keep an eye on a few "softer" metrics: * which releases tend to see the most new tickets * which releases tend to come up in online discussion * how much of the ecosystem has adapted to which releases I will admit that I'm not entirely happy with the amount of judgement that goes into determining support windows currently. My tick-tock release cadence proposal [1] was an attempt at proposing a more predictable schedule, but sadly it never gained much support. > The current project I'm working on is still on GHC 9.2.2, so I was > considering an upgrade to GHC 9.4.8, but this blog post has made me lean > towards the 9.6 series instead. This is just an upgrade for stability not > features and so we don't get too far behind. But it would be good to have > this popularity info generally instead of having to wait for a blog post. > 9.4 likely isn't the best upgrade target at this point. We will likely [status] not produce any further releases in this series and our attention has turned primarily to 9.10 and 9.6. [status]: https://gitlab.haskell.org/ghc/ghc/-/wikis/GHC-status [tick-tock]: https://github.com/haskellfoundation/tech-proposals/pull/34 -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 487 bytes Desc: not available URL: From simon.peytonjones at gmail.com Tue May 28 20:30:46 2024 From: simon.peytonjones at gmail.com (Simon Peyton Jones) Date: Tue, 28 May 2024 21:30:46 +0100 Subject: GHC release series adoption rates In-Reply-To: <87sey1gafx.fsf@smart-cactus.org> References: <87sey1gafx.fsf@smart-cactus.org> Message-ID: The underlying issue is that, with finite resources, it is hard to support multiple releases long term. We can't really support 9.6, 9.8, 9.10, and HEAD. So the blog post was trying to be transparent, by saying that we'll focus efforts on 9.6, 9.10, and HEAD. Is 9.6 the right choice? We think so but, as Ben asys, it would be great to have some more objective basis on which to assess uptake. In particular, it'd be great to have some telemetry. Telemetry is a complex issue -- but we now have some very well-informed colleagues: the team at Scarf. So maybe we'll get some basic data before long, which would be a big step forward. (We'd expect to be transparent about that too of course!) Simon On Tue, 28 May 2024 at 17:37, Ben Gamari wrote: > Clinton Mead writes: > > > Hi All > > > > The recent GHC blog post: > > https://www.haskell.org/ghc/blog/20240521-ghc-release-priorities.html > > states: > > > > *"9.6.5 seems to be a relatively stable release so far and we plan to > > prioritise fixes given the relatively higher adoption of this branch"* > > > > I was wondering where this information came from? Is this based on a > number > > of downloads or some other metric? Number of companies that have adopted > > the version? How many stack/ghcup pulls? Or just a vibe/what people seem > to > > be talking about? > > > > If there are hard numbers, are they public? > > > Sadly we don't have hard numbers. However, we do try to keep an eye on a > few "softer" metrics: > > * which releases tend to see the most new tickets > * which releases tend to come up in online discussion > * how much of the ecosystem has adapted to which releases > > I will admit that I'm not entirely happy with the amount of judgement > that goes into determining support windows currently. My tick-tock > release cadence proposal [1] was an attempt at proposing a more > predictable schedule, but sadly it never gained much support. > > > The current project I'm working on is still on GHC 9.2.2, so I was > > considering an upgrade to GHC 9.4.8, but this blog post has made me lean > > towards the 9.6 series instead. This is just an upgrade for stability not > > features and so we don't get too far behind. But it would be good to have > > this popularity info generally instead of having to wait for a blog post. > > > 9.4 likely isn't the best upgrade target at this point. We will likely > [status] not produce any further releases in this series and our attention > has turned primarily to 9.10 and 9.6. > > [status]: https://gitlab.haskell.org/ghc/ghc/-/wikis/GHC-status > [tick-tock]: https://github.com/haskellfoundation/tech-proposals/pull/34 > _______________________________________________ > ghc-devs mailing list > ghc-devs at haskell.org > http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs > -------------- next part -------------- An HTML attachment was scrubbed... URL: From amindfv at mailbox.org Wed May 29 03:38:53 2024 From: amindfv at mailbox.org (amindfv at mailbox.org) Date: Tue, 28 May 2024 23:38:53 -0400 Subject: GHC release series adoption rates In-Reply-To: References: <87sey1gafx.fsf@smart-cactus.org> Message-ID: On Tue, May 28, 2024 at 09:30:46PM +0100, Simon Peyton Jones wrote: > [...] In particular, it'd be great to have some telemetry. Telemetry is a complex > issue -- but we now have some very well-informed colleagues: the team at > Scarf. So maybe we'll get some basic data before long, which would be a > big step forward. (We'd expect to be transparent about that too of course!) Respectfully, "we'd expect to be transparent about that" already feels like a violated promise. I did not know until this email that Haskell.org had engaged a telemetry gateway using "zero-cookie tracking pixels" for "meticulous tracking of visitor patterns" to engage with their "previously anonymous audience"! (Quotes from https://about.scarf.sh/post/haskell-org-bridging-the-gap-between-language-innovation-and-community-understanding and from the homepage and FAQ.) I'd expect the primary purpose of a language homepage, language asset distribution, etc. is to provide software to those who would use it. To use tarball distribution to "understand where in the funnel your open source users are," "transforming anonymous downloads, web traffic, and usage into company profiles and journeys," etc. feels like a deep scammy repurposing of our central resource (Haskell.org) for surveillance and marketing purposes. They explicitly focus on, for example, using IP addresses for "Identifying which companies are using a particular package." And as far as I can tell, this data is going to Scarf the (multimillion dollar, VC-funded) company too. This is bad. I want to reiterate my deep respect for the project, but jeez - this is not a good path to go down. Thanks, Tom From teofilcamarasu at gmail.com Wed May 29 22:03:24 2024 From: teofilcamarasu at gmail.com (Teofil Camarasu) Date: Wed, 29 May 2024 23:03:24 +0100 Subject: Documentation previews on Gitlab pipelines Message-ID: Hi folks, I just wanted to advertise that it is now possible to see rendered previews of documentation changes (haddocks/user guide/etc) on Gitlab pipelines. To access this you need to: 1. Wait for a pipeline to complete. 2. From the MR page, click on "Expand" under the pipeline widget, then "Documentation Preview" 3. This takes you to the job artefacts. Then open `docs/index.html`. 4. Gitlab will then redirect you to the hosted page. Alternatively instead of (2) you can open the "docs-tarball" job directly and click on "Browse" to go to the artefacts. I've also attached a screen recording to make it a bit clearer. I actually set this up a few weeks ago in !12415 . But I forgot to advertise this more widely at the time. And Gitlab isn't super helpful in directing users to it. So, I realised most folks probably don't know it exists. Cheers, Teo -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Screen recording 2024-05-29 10.49.26 PM.webm Type: video/webm Size: 1079189 bytes Desc: not available URL: From sgraf1337 at gmail.com Thu May 30 09:30:23 2024 From: sgraf1337 at gmail.com (Sebastian Graf) Date: Thu, 30 May 2024 09:30:23 +0000 Subject: Documentation previews on Gitlab pipelines In-Reply-To: References: Message-ID: Thanks, Teo! I added a new item "Reviewing documentation changes" to the list of working conventions here: https://gitlab.haskell.org/ghc/ghc/-/wikis/contributing#working-conventions. Feel free to improve. Sebastian ------ Originalnachricht ------ Von "Teofil Camarasu" An "GHC developers" Datum 30.05.2024 00:03:24 Betreff Documentation previews on Gitlab pipelines >Hi folks, > >I just wanted to advertise that it is now possible to see rendered >previews of documentation changes (haddocks/user guide/etc) on Gitlab >pipelines. > >To access this you need to: >1. Wait for a pipeline to complete. >2. From the MR page, click on "Expand" under the pipeline widget, then >"Documentation Preview" >3. This takes you to the job artefacts. Then open `docs/index.html`. >4. Gitlab will then redirect you to the hosted page. > >Alternatively instead of (2) you can open the "docs-tarball" job >directly and click on "Browse" to go to the artefacts. > >I've also attached a screen recording to make it a bit clearer. > >I actually set this up a few weeks ago in !12415 >. But I >forgot to advertise this more widely at the time. And Gitlab isn't >super helpful in directing users to it. So, I realised most folks >probably don't know it exists. > >Cheers, >Teo -------------- next part -------------- An HTML attachment was scrubbed... URL: From matthewtpickering at gmail.com Thu May 30 09:33:16 2024 From: matthewtpickering at gmail.com (Matthew Pickering) Date: Thu, 30 May 2024 10:33:16 +0100 Subject: Documentation previews on Gitlab pipelines In-Reply-To: References: Message-ID: Thanks Teo, that's very useful. On Wed, May 29, 2024 at 11:04 PM Teofil Camarasu wrote: > > Hi folks, > > I just wanted to advertise that it is now possible to see rendered previews of documentation changes (haddocks/user guide/etc) on Gitlab pipelines. > > To access this you need to: > 1. Wait for a pipeline to complete. > 2. From the MR page, click on "Expand" under the pipeline widget, then "Documentation Preview" > 3. This takes you to the job artefacts. Then open `docs/index.html`. > 4. Gitlab will then redirect you to the hosted page. > > Alternatively instead of (2) you can open the "docs-tarball" job directly and click on "Browse" to go to the artefacts. > > I've also attached a screen recording to make it a bit clearer. > > I actually set this up a few weeks ago in !12415. But I forgot to advertise this more widely at the time. And Gitlab isn't super helpful in directing users to it. So, I realised most folks probably don't know it exists. > > Cheers, > Teo > _______________________________________________ > ghc-devs mailing list > ghc-devs at haskell.org > http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs From simon.peytonjones at gmail.com Fri May 31 07:48:49 2024 From: simon.peytonjones at gmail.com (Simon Peyton Jones) Date: Fri, 31 May 2024 08:48:49 +0100 Subject: Haddock test suite failure -- can anyone guide me? Message-ID: Dear Haddock experts I'm getting a failure on !12492 that I can't understand or debug. Can someone guide me? Failure is this: /builds/ghc/ghc/tmp/ghctest-2jo7oz8x/test spaces/testsuite/tests/haddock/haddock_testsuite/haddockHypsrcTest.run haddockHypsrcTest [bad exit code (2)] (normal) A snip of the log is at the end of this message. I want to - understand what it does - repro it locally. Trying the latter, I tried with my HEAD build and did bash$ cd testsuite/tests/haddock/haddock_testsuite bash$ make hypsrcTest but that failed on almost all the tests it does, even though HEAD is presumably OK. I'm stumped. Any ideas? The patch only changes the type checker! Thanks SImion This is the log from !12492 Wrong exit code for haddockHypsrcTest()(expected 0 , actual 2 ) Stdout ( haddockHypsrcTest ): [1 of 7] Compiling Test.Haddock.Process ( /builds/ghc/ghc/testsuite/../utils/haddock/haddock-test/src/Test/Haddock/Process.hs, Test/Haddock/Process.o ) [2 of 7] Compiling Test.Haddock.Utils ( /builds/ghc/ghc/testsuite/../utils/haddock/haddock-test/src/Test/Haddock/Utils.hs, Test/Haddock/Utils.o ) [3 of 7] Compiling Test.Haddock.Config ( /builds/ghc/ghc/testsuite/../utils/haddock/haddock-test/src/Test/Haddock/Config.hs, Test/Haddock/Config.o ) [4 of 7] Compiling Test.Haddock ( /builds/ghc/ghc/testsuite/../utils/haddock/haddock-test/src/Test/Haddock.hs, Test/Haddock.o ) [5 of 7] Compiling Test.Haddock.Xhtml ( /builds/ghc/ghc/testsuite/../utils/haddock/haddock-test/src/Test/Haddock/Xhtml.hs, Test/Haddock/Xhtml.o ) [6 of 7] Compiling Main ( /builds/ghc/ghc/testsuite/../utils/haddock/hypsrc-test/Main.hs, Main.o ) [7 of 7] Linking hypsrc-test Haddock version 2.30.0, (c) Simon Marlow 2006 Ported to use the GHC API by David Waern 2006-2008 9.11.20240530 Generating documentation... Testing output files... Checking "src/TemplateHaskellSplices.html"... PASS Checking "src/Bug1091.html"... PASS Checking "src/Polymorphism.html"... PASS Checking "src/UsingQuasiquotes.html"... PASS Checking "src/Records.html"... PASS Checking "src/Quasiquoter.html"... PASS Checking "src/CPP.html"... PASS Checking "src/Operators.html"... PASS Checking "src/Literals.html"... PASS Checking "src/LinkingIdentifiers.html"... PASS Checking "src/Classes.html"... FAIL Checking "src/PositionPragmas.html"... PASS Checking "src/Types.html"... PASS Checking "src/TemplateHaskellQuasiquotes.html"... PASS Checking "src/Constructors.html"... FAIL Checking "src/Identifiers.html"... FAIL Diffing failed cases... Diff for file "src/Classes.html": 1194c1194,1198 < > > >a -> b -> a > forall a b. a -> b -> a > > > >a -> b -> a > forall a b. a -> b -> a > > > >b -> a -> b > forall a b. a -> b -> a > > > >b -> a -> b > forall a b. a -> b -> a > > > >([Int] -> Int) -> (Norf -> [Int]) -> Norf -> Int > forall b c a. (b -> c) -> (a -> b) -> a -> c > > > >(String -> IO ()) -> (Int -> String) -> Int -> IO () > forall b c a. (b -> c) -> (a -> b) -> a -> c > > > >Int -> Int -> Int > > > > >(String -> IO ()) -> (Int -> String) -> Int -> IO () > forall b c a. (b -> c) -> (a -> b) -> a -> c > > > >Int -> Int > > > > >(String -> IO ()) -> (Int -> String) -> Int -> IO () > forall b c a. (b -> c) -> (a -> b) -> a -> c > > > >Int -> Int -> Int -> Int > > > From zubin at well-typed.com Fri May 31 07:57:57 2024 From: zubin at well-typed.com (Zubin Duggal) Date: Fri, 31 May 2024 13:27:57 +0530 Subject: Haddock test suite failure -- can anyone guide me? In-Reply-To: References: Message-ID: You run this locally exactly the same as any other test, using hadrian/build test --only=haddockHypsrcTest or TEST="haddockHypsrcTest" hadrian/build test I recommend accepting the changes by passing the `-a` option to hadrian, and then looking over the changes locally using `git diff`. The diffs reported by the test case itself can be confusing and I think (not sure) that they are in reversed order to what you would normally expect. On 24/05/31 08:48, Simon Peyton Jones wrote: >Dear Haddock experts > >I'm getting a failure on !12492 > that I can't >understand or debug. Can someone guide me? > >Failure is this: >/builds/ghc/ghc/tmp/ghctest-2jo7oz8x/test >spaces/testsuite/tests/haddock/haddock_testsuite/haddockHypsrcTest.run >haddockHypsrcTest [bad exit code (2)] (normal) > >A snip of the log is at the end of this message. > >I want to > > - understand what it does > - repro it locally. > >Trying the latter, I tried with my HEAD build and did >bash$ cd testsuite/tests/haddock/haddock_testsuite >bash$ make hypsrcTest > >but that failed on almost all the tests it does, even though HEAD is >presumably OK. > >I'm stumped. Any ideas? The patch only changes the type checker! > >Thanks > >SImion > >This is the log from !12492 > >Wrong exit code for haddockHypsrcTest()(expected 0 , actual 2 ) >Stdout ( haddockHypsrcTest ): >[1 of 7] Compiling Test.Haddock.Process ( >/builds/ghc/ghc/testsuite/../utils/haddock/haddock-test/src/Test/Haddock/Process.hs, >Test/Haddock/Process.o ) >[2 of 7] Compiling Test.Haddock.Utils ( >/builds/ghc/ghc/testsuite/../utils/haddock/haddock-test/src/Test/Haddock/Utils.hs, >Test/Haddock/Utils.o ) >[3 of 7] Compiling Test.Haddock.Config ( >/builds/ghc/ghc/testsuite/../utils/haddock/haddock-test/src/Test/Haddock/Config.hs, >Test/Haddock/Config.o ) >[4 of 7] Compiling Test.Haddock ( >/builds/ghc/ghc/testsuite/../utils/haddock/haddock-test/src/Test/Haddock.hs, >Test/Haddock.o ) >[5 of 7] Compiling Test.Haddock.Xhtml ( >/builds/ghc/ghc/testsuite/../utils/haddock/haddock-test/src/Test/Haddock/Xhtml.hs, >Test/Haddock/Xhtml.o ) >[6 of 7] Compiling Main ( >/builds/ghc/ghc/testsuite/../utils/haddock/hypsrc-test/Main.hs, Main.o ) >[7 of 7] Linking hypsrc-test >Haddock version 2.30.0, (c) Simon Marlow 2006 >Ported to use the GHC API by David Waern 2006-2008 >9.11.20240530 >Generating documentation... >Testing output files... >Checking "src/TemplateHaskellSplices.html"... PASS >Checking "src/Bug1091.html"... PASS >Checking "src/Polymorphism.html"... PASS >Checking "src/UsingQuasiquotes.html"... PASS >Checking "src/Records.html"... PASS >Checking "src/Quasiquoter.html"... PASS >Checking "src/CPP.html"... PASS >Checking "src/Operators.html"... PASS >Checking "src/Literals.html"... PASS >Checking "src/LinkingIdentifiers.html"... PASS >Checking "src/Classes.html"... FAIL >Checking "src/PositionPragmas.html"... PASS >Checking "src/Types.html"... PASS >Checking "src/TemplateHaskellQuasiquotes.html"... PASS >Checking "src/Constructors.html"... FAIL >Checking "src/Identifiers.html"... FAIL >Diffing failed cases... >Diff for file "src/Classes.html": >1194c1194,1198 >< >--- >> >> >a -> b -> a >> forall a b. a -> b -> a >> > >1281c1285,1289 >< >--- >> >> >a -> b -> a >> forall a b. a -> b -> a >> > >1368c1376,1380 >< >--- >> >> >b -> a -> b >> forall a b. a -> b -> a >> > >1455c1467,1471 >< >--- >> >> >b -> a -> b >> forall a b. a -> b -> a >> > >Diff for file "src/Constructors.html": >1325c1325,1329 >< >--- >> >> >([Int] -> Int) -> (Norf -> [Int]) -> Norf -> Int >> forall b c a. (b -> c) -> (a -> b) -> a -> c >> > >Diff for file "src/Identifiers.html": >1190c1190,1194 >< >--- >> >> >(String -> IO ()) -> (Int -> String) -> Int -> IO () >> forall b c a. (b -> c) -> (a -> b) -> a -> c >> > >1216,1217c1220,1224 >< >< >--- >> >> >Int -> Int -> Int >> > >> >1260c1267,1271 >< >--- >> >> >(String -> IO ()) -> (Int -> String) -> Int -> IO () >> forall b c a. (b -> c) -> (a -> b) -> a -> c >> > >1286,1287c1297,1301 >< >< >--- >> >> >Int -> Int >> > >> >1319c1333,1337 >< >--- >> >> >(String -> IO ()) -> (Int -> String) -> Int -> IO () >> forall b c a. (b -> c) -> (a -> b) -> a -> c >> > >1345,1346c1363,1367 >< >< >--- >> >> >Int -> Int -> Int -> Int >> > >> >Stderr run ( haddockHypsrcTest ): >gmake: *** [Makefile:68: hypsrcTest] Error 1 >*** unexpected failure for haddockHypsrcTest(normal) >_______________________________________________ >ghc-devs mailing list >ghc-devs at haskell.org >http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs From hecate at glitchbra.in Fri May 31 09:25:29 2024 From: hecate at glitchbra.in (=?UTF-8?Q?H=C3=A9cate?=) Date: Fri, 31 May 2024 11:25:29 +0200 Subject: Documentation previews on Gitlab pipelines In-Reply-To: References: Message-ID: <8d1df22c-ff4d-45b9-833c-fae12ba7db00@glitchbra.in> Teo this is very, very useful. Thank you very much. This is going to be very appreciated productivity boost for documentation MRs. Cheers, Hécate Le 30/05/2024 à 00:03, Teofil Camarasu a écrit : > Hi folks, > > I just wanted to advertise that it is now possible to see rendered > previews of documentation changes (haddocks/user guide/etc) on Gitlab > pipelines. > > To access this you need to: > 1. Wait for a pipeline to complete. > 2. From the MR page, click on "Expand" under the pipeline widget, then > "Documentation Preview" > 3. This takes you to the job artefacts. Then open `docs/index.html`. > 4. Gitlab will then redirect you to the hosted page. > > Alternatively instead of (2) you can open the "docs-tarball" job > directly and click on "Browse" to go to the artefacts. > > I've also attached a screen recording to make it a bit clearer. > > I actually set this up a few weeks ago in !12415 > . But I > forgot to advertise this more widely at the time. And Gitlab isn't > super helpful in directing users to it. So, I realised most folks > probably don't know it exists. > > Cheers, > Teo > > _______________________________________________ > ghc-devs mailing list > ghc-devs at haskell.org > http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs -- Hécate ✨ 🐦: @TechnoEmpress IRC: Hecate WWW:https://glitchbra.in RUN: BSD -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.peytonjones at gmail.com Fri May 31 09:41:54 2024 From: simon.peytonjones at gmail.com (Simon Peyton Jones) Date: Fri, 31 May 2024 10:41:54 +0100 Subject: Haddock test suite failure -- can anyone guide me? In-Reply-To: References: Message-ID: THanks. But the trouble is that I don't know whether to accept the change or not. Is it OK? How could I tell? The point of a test is to fail when one has introduced a bug. This fails -- have I introduced a bug? Thanks S On Fri, 31 May 2024 at 08:58, Zubin Duggal wrote: > You run this locally exactly the same as any other test, using > > hadrian/build test --only=haddockHypsrcTest > > or > > TEST="haddockHypsrcTest" hadrian/build test > > I recommend accepting the changes by passing the `-a` option to hadrian, > and then looking over the changes locally using `git diff`. > > The diffs reported by the test case itself can be confusing and I think > (not sure) that they are in reversed order to what you would normally > expect. > > On 24/05/31 08:48, Simon Peyton Jones wrote: > >Dear Haddock experts > > > >I'm getting a failure on !12492 > > that I can't > >understand or debug. Can someone guide me? > > > >Failure is this: > >/builds/ghc/ghc/tmp/ghctest-2jo7oz8x/test > >spaces/testsuite/tests/haddock/haddock_testsuite/haddockHypsrcTest.run > >haddockHypsrcTest [bad exit code (2)] (normal) > > > >A snip of the log is at the end of this message. > > > >I want to > > > > - understand what it does > > - repro it locally. > > > >Trying the latter, I tried with my HEAD build and did > >bash$ cd testsuite/tests/haddock/haddock_testsuite > >bash$ make hypsrcTest > > > >but that failed on almost all the tests it does, even though HEAD is > >presumably OK. > > > >I'm stumped. Any ideas? The patch only changes the type checker! > > > >Thanks > > > >SImion > > > >This is the log from !12492 > > > >Wrong exit code for haddockHypsrcTest()(expected 0 , actual 2 ) > >Stdout ( haddockHypsrcTest ): > >[1 of 7] Compiling Test.Haddock.Process ( > > >/builds/ghc/ghc/testsuite/../utils/haddock/haddock-test/src/Test/Haddock/Process.hs, > >Test/Haddock/Process.o ) > >[2 of 7] Compiling Test.Haddock.Utils ( > > >/builds/ghc/ghc/testsuite/../utils/haddock/haddock-test/src/Test/Haddock/Utils.hs, > >Test/Haddock/Utils.o ) > >[3 of 7] Compiling Test.Haddock.Config ( > > >/builds/ghc/ghc/testsuite/../utils/haddock/haddock-test/src/Test/Haddock/Config.hs, > >Test/Haddock/Config.o ) > >[4 of 7] Compiling Test.Haddock ( > > >/builds/ghc/ghc/testsuite/../utils/haddock/haddock-test/src/Test/Haddock.hs, > >Test/Haddock.o ) > >[5 of 7] Compiling Test.Haddock.Xhtml ( > > >/builds/ghc/ghc/testsuite/../utils/haddock/haddock-test/src/Test/Haddock/Xhtml.hs, > >Test/Haddock/Xhtml.o ) > >[6 of 7] Compiling Main ( > >/builds/ghc/ghc/testsuite/../utils/haddock/hypsrc-test/Main.hs, Main.o ) > >[7 of 7] Linking hypsrc-test > >Haddock version 2.30.0, (c) Simon Marlow 2006 > >Ported to use the GHC API by David Waern 2006-2008 > >9.11.20240530 > >Generating documentation... > >Testing output files... > >Checking "src/TemplateHaskellSplices.html"... PASS > >Checking "src/Bug1091.html"... PASS > >Checking "src/Polymorphism.html"... PASS > >Checking "src/UsingQuasiquotes.html"... PASS > >Checking "src/Records.html"... PASS > >Checking "src/Quasiquoter.html"... PASS > >Checking "src/CPP.html"... PASS > >Checking "src/Operators.html"... PASS > >Checking "src/Literals.html"... PASS > >Checking "src/LinkingIdentifiers.html"... PASS > >Checking "src/Classes.html"... FAIL > >Checking "src/PositionPragmas.html"... PASS > >Checking "src/Types.html"... PASS > >Checking "src/TemplateHaskellQuasiquotes.html"... PASS > >Checking "src/Constructors.html"... FAIL > >Checking "src/Identifiers.html"... FAIL > >Diffing failed cases... > >Diff for file "src/Classes.html": > >1194c1194,1198 > >< > >--- > >> > >> >a -> b -> a > >> forall a b. a -> b -> a > >> >> > >1281c1285,1289 > >< > >--- > >> > >> >a -> b -> a > >> forall a b. a -> b -> a > >> >> > >1368c1376,1380 > >< > >--- > >> > >> >b -> a -> b > >> forall a b. a -> b -> a > >> >> > >1455c1467,1471 > >< > >--- > >> > >> >b -> a -> b > >> forall a b. a -> b -> a > >> >> > >Diff for file "src/Constructors.html": > >1325c1325,1329 > >< > >--- > >> > >> >([Int] -> Int) -> (Norf -> [Int]) -> Norf -> Int > >> forall b c a. (b -> c) -> (a -> b) -> a -> c > >> >> > >Diff for file "src/Identifiers.html": > >1190c1190,1194 > >< > >--- > >> > >> >(String -> IO ()) -> (Int -> String) -> Int -> IO () > >> forall b c a. (b -> c) -> (a -> b) -> a -> c > >> >> > >1216,1217c1220,1224 > >< > >< > >--- > >> > >> >Int -> Int -> Int > >> >> > >> > >1260c1267,1271 > >< > >--- > >> > >> >(String -> IO ()) -> (Int -> String) -> Int -> IO () > >> forall b c a. (b -> c) -> (a -> b) -> a -> c > >> >> > >1286,1287c1297,1301 > >< > >< > >--- > >> > >> >Int -> Int > >> >> > >> > >1319c1333,1337 > >< > >--- > >> > >> >(String -> IO ()) -> (Int -> String) -> Int -> IO () > >> forall b c a. (b -> c) -> (a -> b) -> a -> c > >> >> > >1345,1346c1363,1367 > >< > >< > >--- > >> > >> >Int -> Int -> Int -> Int > >> >> > >> > >Stderr run ( haddockHypsrcTest ): > >gmake: *** [Makefile:68: hypsrcTest] Error 1 > >*** unexpected failure for haddockHypsrcTest(normal) > > >_______________________________________________ > >ghc-devs mailing list > >ghc-devs at haskell.org > >http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From zubin at well-typed.com Fri May 31 10:07:55 2024 From: zubin at well-typed.com (Zubin Duggal) Date: Fri, 31 May 2024 15:37:55 +0530 Subject: Haddock test suite failure -- can anyone guide me? In-Reply-To: References: Message-ID: <6bkmlhmgoc3c36jsaxg7326pbfnlzku5tp5es3vwrmrmytaizw@k5mry5bfdsfb> If my reading of the diffs is correct (which I'm not sure it is), then it seems some identifiers in the hyperlinked source are missing type information. Looking at one of the changes Diff for file "src/Classes.html": 1194c1194,1198 < > > >a -> b -> a > forall a b. a -> b -> a > > > >a -> b -> a > forall a b. a -> b -> a > > b -> a and forall a b. a -> b -> a is now not being emitted in a place that they previously were. The html files are munged quite a bit to normalise spurious differences, but unfortunately this means that they don't render in a browser so well. If you have two builds of haddock (one prior to your patch, possibly even the one from your boot ghc bindist), you can run haddock-clean --html --hyperlinked-source utils/haddock/hypsrc-test/src/Classes.hs haddock-your-tree --html --hyperlinked-source utils/haddock/hypsrc-test/src/Classes.hs and then inspect/compare the rendered hyperlinked source file it produces (for the above command it would be in `src/Classes.html`) with your web browser. In the case of `Classes.hs`, it seems like perhaps some annotations on some of the `($)` operators in the following snippet are missing, and you can find out exactly which one by hovering over each of the `$` symbols and comparing with the output from a clean/unpatched haddock build. instance Plugh Either where plugh (Left a) _ = Right $ const a plugh (Right a) _ = Right $ const a plugh _ (Left b) = Left $ const b plugh _ (Right b) = Left $ const b These annotations are produced by walking the typechecked AST and asking for the types of each `Id` or `HsVar` etc. nodes, so anything your patched changed regarding how the AST is constructed could be to blame. On 24/05/31 10:41, Simon Peyton Jones wrote: >THanks. But the trouble is that I don't know whether to accept the change >or not. Is it OK? How could I tell? > >The point of a test is to fail when one has introduced a bug. This fails >-- have I introduced a bug? > >Thanks > >S > >On Fri, 31 May 2024 at 08:58, Zubin Duggal wrote: > >> You run this locally exactly the same as any other test, using >> >> hadrian/build test --only=haddockHypsrcTest >> >> or >> >> TEST="haddockHypsrcTest" hadrian/build test >> >> I recommend accepting the changes by passing the `-a` option to hadrian, >> and then looking over the changes locally using `git diff`. >> >> The diffs reported by the test case itself can be confusing and I think >> (not sure) that they are in reversed order to what you would normally >> expect. >> >> On 24/05/31 08:48, Simon Peyton Jones wrote: >> >Dear Haddock experts >> > >> >I'm getting a failure on !12492 >> > that I can't >> >understand or debug. Can someone guide me? >> > >> >Failure is this: >> >/builds/ghc/ghc/tmp/ghctest-2jo7oz8x/test >> >spaces/testsuite/tests/haddock/haddock_testsuite/haddockHypsrcTest.run >> >haddockHypsrcTest [bad exit code (2)] (normal) >> > >> >A snip of the log is at the end of this message. >> > >> >I want to >> > >> > - understand what it does >> > - repro it locally. >> > >> >Trying the latter, I tried with my HEAD build and did >> >bash$ cd testsuite/tests/haddock/haddock_testsuite >> >bash$ make hypsrcTest >> > >> >but that failed on almost all the tests it does, even though HEAD is >> >presumably OK. >> > >> >I'm stumped. Any ideas? The patch only changes the type checker! >> > >> >Thanks >> > >> >SImion >> > >> >This is the log from !12492 >> > >> >Wrong exit code for haddockHypsrcTest()(expected 0 , actual 2 ) >> >Stdout ( haddockHypsrcTest ): >> >[1 of 7] Compiling Test.Haddock.Process ( >> >> >/builds/ghc/ghc/testsuite/../utils/haddock/haddock-test/src/Test/Haddock/Process.hs, >> >Test/Haddock/Process.o ) >> >[2 of 7] Compiling Test.Haddock.Utils ( >> >> >/builds/ghc/ghc/testsuite/../utils/haddock/haddock-test/src/Test/Haddock/Utils.hs, >> >Test/Haddock/Utils.o ) >> >[3 of 7] Compiling Test.Haddock.Config ( >> >> >/builds/ghc/ghc/testsuite/../utils/haddock/haddock-test/src/Test/Haddock/Config.hs, >> >Test/Haddock/Config.o ) >> >[4 of 7] Compiling Test.Haddock ( >> >> >/builds/ghc/ghc/testsuite/../utils/haddock/haddock-test/src/Test/Haddock.hs, >> >Test/Haddock.o ) >> >[5 of 7] Compiling Test.Haddock.Xhtml ( >> >> >/builds/ghc/ghc/testsuite/../utils/haddock/haddock-test/src/Test/Haddock/Xhtml.hs, >> >Test/Haddock/Xhtml.o ) >> >[6 of 7] Compiling Main ( >> >/builds/ghc/ghc/testsuite/../utils/haddock/hypsrc-test/Main.hs, Main.o ) >> >[7 of 7] Linking hypsrc-test >> >Haddock version 2.30.0, (c) Simon Marlow 2006 >> >Ported to use the GHC API by David Waern 2006-2008 >> >9.11.20240530 >> >Generating documentation... >> >Testing output files... >> >Checking "src/TemplateHaskellSplices.html"... PASS >> >Checking "src/Bug1091.html"... PASS >> >Checking "src/Polymorphism.html"... PASS >> >Checking "src/UsingQuasiquotes.html"... PASS >> >Checking "src/Records.html"... PASS >> >Checking "src/Quasiquoter.html"... PASS >> >Checking "src/CPP.html"... PASS >> >Checking "src/Operators.html"... PASS >> >Checking "src/Literals.html"... PASS >> >Checking "src/LinkingIdentifiers.html"... PASS >> >Checking "src/Classes.html"... FAIL >> >Checking "src/PositionPragmas.html"... PASS >> >Checking "src/Types.html"... PASS >> >Checking "src/TemplateHaskellQuasiquotes.html"... PASS >> >Checking "src/Constructors.html"... FAIL >> >Checking "src/Identifiers.html"... FAIL >> >Diffing failed cases... >> >Diff for file "src/Classes.html": >> >1194c1194,1198 >> >< >> >--- >> >> >> >> >a -> b -> a >> >> forall a b. a -> b -> a >> >> > >> >> >1281c1285,1289 >> >< >> >--- >> >> >> >> >a -> b -> a >> >> forall a b. a -> b -> a >> >> > >> >> >1368c1376,1380 >> >< >> >--- >> >> >> >> >b -> a -> b >> >> forall a b. a -> b -> a >> >> > >> >> >1455c1467,1471 >> >< >> >--- >> >> >> >> >b -> a -> b >> >> forall a b. a -> b -> a >> >> > >> >> >Diff for file "src/Constructors.html": >> >1325c1325,1329 >> >< >> >--- >> >> >> >> >([Int] -> Int) -> (Norf -> [Int]) -> Norf -> Int >> >> forall b c a. (b -> c) -> (a -> b) -> a -> c >> >> > >> >> >Diff for file "src/Identifiers.html": >> >1190c1190,1194 >> >< >> >--- >> >> >> >> >(String -> IO ()) -> (Int -> String) -> Int -> IO () >> >> forall b c a. (b -> c) -> (a -> b) -> a -> c >> >> > >> >> >1216,1217c1220,1224 >> >< >> >< >> >--- >> >> >> >> >Int -> Int -> Int >> >> > >> >> >> >> >1260c1267,1271 >> >< >> >--- >> >> >> >> >(String -> IO ()) -> (Int -> String) -> Int -> IO () >> >> forall b c a. (b -> c) -> (a -> b) -> a -> c >> >> > >> >> >1286,1287c1297,1301 >> >< >> >< >> >--- >> >> >> >> >Int -> Int >> >> > >> >> >> >> >1319c1333,1337 >> >< >> >--- >> >> >> >> >(String -> IO ()) -> (Int -> String) -> Int -> IO () >> >> forall b c a. (b -> c) -> (a -> b) -> a -> c >> >> > >> >> >1345,1346c1363,1367 >> >< >> >< >> >--- >> >> >> >> >Int -> Int -> Int -> Int >> >> > >> >> >> >> >Stderr run ( haddockHypsrcTest ): >> >gmake: *** [Makefile:68: hypsrcTest] Error 1 >> >*** unexpected failure for haddockHypsrcTest(normal) >> >> >_______________________________________________ >> >ghc-devs mailing list >> >ghc-devs at haskell.org >> >http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs >> >> From zubin at well-typed.com Fri May 31 10:17:35 2024 From: zubin at well-typed.com (Zubin Duggal) Date: Fri, 31 May 2024 15:47:35 +0530 Subject: Haddock test suite failure -- can anyone guide me? In-Reply-To: <6bkmlhmgoc3c36jsaxg7326pbfnlzku5tp5es3vwrmrmytaizw@k5mry5bfdsfb> References: <6bkmlhmgoc3c36jsaxg7326pbfnlzku5tp5es3vwrmrmytaizw@k5mry5bfdsfb> Message-ID: I think its the annotations on `const` that changed, not on `$`, sorry. On 24/05/31 15:38, Zubin Duggal wrote: >If my reading of the diffs is correct (which I'm not sure it is), then >it seems some identifiers in the hyperlinked source are missing type >information. > >Looking at one of the changes > >Diff for file "src/Classes.html": >1194c1194,1198 >< >--- >> >> >a -> b -> a >>forall a b. a -> b -> a >>> >1281c1285,1289 >< >--- >> >> >a -> b -> a >>forall a b. a -> b -> a >>> > > >It seems like at certain identifiers, the types a -> b -> a >and forall a b. a -> b -> a is now not being emitted in a place that >they previously were. > >The html files are munged quite a bit to normalise spurious differences, >but unfortunately this means that they don't render in a browser so well. > >If you have two builds of haddock (one prior to your patch, possibly >even the one from your boot ghc bindist), you can run > >haddock-clean --html --hyperlinked-source utils/haddock/hypsrc-test/src/Classes.hs >haddock-your-tree --html --hyperlinked-source utils/haddock/hypsrc-test/src/Classes.hs > >and then inspect/compare the rendered hyperlinked source file it >produces (for the above command it would be in `src/Classes.html`) with >your web browser. > >In the case of `Classes.hs`, it seems like perhaps some annotations on >some of the `($)` operators in the following snippet are missing, and >you can find out exactly which one by hovering over each of the `$` >symbols and comparing with the output from a clean/unpatched haddock >build. > >instance Plugh Either where > plugh (Left a) _ = Right $ const a > plugh (Right a) _ = Right $ const a > plugh _ (Left b) = Left $ const b > plugh _ (Right b) = Left $ const b > >These annotations are produced by walking the typechecked AST and asking >for the types of each `Id` or `HsVar` etc. nodes, so anything your >patched changed regarding how the AST is constructed could be to blame. > >On 24/05/31 10:41, Simon Peyton Jones wrote: >>THanks. But the trouble is that I don't know whether to accept the change >>or not. Is it OK? How could I tell? >> >>The point of a test is to fail when one has introduced a bug. This fails >>-- have I introduced a bug? >> >>Thanks >> >>S >> >>On Fri, 31 May 2024 at 08:58, Zubin Duggal wrote: >> >>>You run this locally exactly the same as any other test, using >>> >>>hadrian/build test --only=haddockHypsrcTest >>> >>>or >>> >>>TEST="haddockHypsrcTest" hadrian/build test >>> >>>I recommend accepting the changes by passing the `-a` option to hadrian, >>>and then looking over the changes locally using `git diff`. >>> >>>The diffs reported by the test case itself can be confusing and I think >>>(not sure) that they are in reversed order to what you would normally >>>expect. >>> >>>On 24/05/31 08:48, Simon Peyton Jones wrote: >>>>Dear Haddock experts >>>> >>>>I'm getting a failure on !12492 >>>> that I can't >>>>understand or debug. Can someone guide me? >>>> >>>>Failure is this: >>>>/builds/ghc/ghc/tmp/ghctest-2jo7oz8x/test >>>>spaces/testsuite/tests/haddock/haddock_testsuite/haddockHypsrcTest.run >>>>haddockHypsrcTest [bad exit code (2)] (normal) >>>> >>>>A snip of the log is at the end of this message. >>>> >>>>I want to >>>> >>>> - understand what it does >>>> - repro it locally. >>>> >>>>Trying the latter, I tried with my HEAD build and did >>>>bash$ cd testsuite/tests/haddock/haddock_testsuite >>>>bash$ make hypsrcTest >>>> >>>>but that failed on almost all the tests it does, even though HEAD is >>>>presumably OK. >>>> >>>>I'm stumped. Any ideas? The patch only changes the type checker! >>>> >>>>Thanks >>>> >>>>SImion >>>> >>>>This is the log from !12492 >>>> >>>>Wrong exit code for haddockHypsrcTest()(expected 0 , actual 2 ) >>>>Stdout ( haddockHypsrcTest ): >>>>[1 of 7] Compiling Test.Haddock.Process ( >>> >>>>/builds/ghc/ghc/testsuite/../utils/haddock/haddock-test/src/Test/Haddock/Process.hs, >>>>Test/Haddock/Process.o ) >>>>[2 of 7] Compiling Test.Haddock.Utils ( >>> >>>>/builds/ghc/ghc/testsuite/../utils/haddock/haddock-test/src/Test/Haddock/Utils.hs, >>>>Test/Haddock/Utils.o ) >>>>[3 of 7] Compiling Test.Haddock.Config ( >>> >>>>/builds/ghc/ghc/testsuite/../utils/haddock/haddock-test/src/Test/Haddock/Config.hs, >>>>Test/Haddock/Config.o ) >>>>[4 of 7] Compiling Test.Haddock ( >>> >>>>/builds/ghc/ghc/testsuite/../utils/haddock/haddock-test/src/Test/Haddock.hs, >>>>Test/Haddock.o ) >>>>[5 of 7] Compiling Test.Haddock.Xhtml ( >>> >>>>/builds/ghc/ghc/testsuite/../utils/haddock/haddock-test/src/Test/Haddock/Xhtml.hs, >>>>Test/Haddock/Xhtml.o ) >>>>[6 of 7] Compiling Main ( >>>>/builds/ghc/ghc/testsuite/../utils/haddock/hypsrc-test/Main.hs, Main.o ) >>>>[7 of 7] Linking hypsrc-test >>>>Haddock version 2.30.0, (c) Simon Marlow 2006 >>>>Ported to use the GHC API by David Waern 2006-2008 >>>>9.11.20240530 >>>>Generating documentation... >>>>Testing output files... >>>>Checking "src/TemplateHaskellSplices.html"... PASS >>>>Checking "src/Bug1091.html"... PASS >>>>Checking "src/Polymorphism.html"... PASS >>>>Checking "src/UsingQuasiquotes.html"... PASS >>>>Checking "src/Records.html"... PASS >>>>Checking "src/Quasiquoter.html"... PASS >>>>Checking "src/CPP.html"... PASS >>>>Checking "src/Operators.html"... PASS >>>>Checking "src/Literals.html"... PASS >>>>Checking "src/LinkingIdentifiers.html"... PASS >>>>Checking "src/Classes.html"... FAIL >>>>Checking "src/PositionPragmas.html"... PASS >>>>Checking "src/Types.html"... PASS >>>>Checking "src/TemplateHaskellQuasiquotes.html"... PASS >>>>Checking "src/Constructors.html"... FAIL >>>>Checking "src/Identifiers.html"... FAIL >>>>Diffing failed cases... >>>>Diff for file "src/Classes.html": >>>>1194c1194,1198 >>>>< >>>>--- >>>>> >>>>> >a -> b -> a >>>>> forall a b. a -> b -> a >>>>> >>>> >>>>1281c1285,1289 >>>>< >>>>--- >>>>> >>>>> >a -> b -> a >>>>> forall a b. a -> b -> a >>>>> >>>> >>>>1368c1376,1380 >>>>< >>>>--- >>>>> >>>>> >b -> a -> b >>>>> forall a b. a -> b -> a >>>>> >>>> >>>>1455c1467,1471 >>>>< >>>>--- >>>>> >>>>> >b -> a -> b >>>>> forall a b. a -> b -> a >>>>> >>>> >>>>Diff for file "src/Constructors.html": >>>>1325c1325,1329 >>>>< >>>>--- >>>>> >>>>> >([Int] -> Int) -> (Norf -> [Int]) -> Norf -> Int >>>>> forall b c a. (b -> c) -> (a -> b) -> a -> c >>>>> >>>> >>>>Diff for file "src/Identifiers.html": >>>>1190c1190,1194 >>>>< >>>>--- >>>>> >>>>> >(String -> IO ()) -> (Int -> String) -> Int -> IO () >>>>> forall b c a. (b -> c) -> (a -> b) -> a -> c >>>>> >>>> >>>>1216,1217c1220,1224 >>>>< >>>>< >>>>--- >>>>> >>>>> >Int -> Int -> Int >>>>> >>>> >>>>> >>>>1260c1267,1271 >>>>< >>>>--- >>>>> >>>>> >(String -> IO ()) -> (Int -> String) -> Int -> IO () >>>>> forall b c a. (b -> c) -> (a -> b) -> a -> c >>>>> >>>> >>>>1286,1287c1297,1301 >>>>< >>>>< >>>>--- >>>>> >>>>> >Int -> Int >>>>> >>>> >>>>> >>>>1319c1333,1337 >>>>< >>>>--- >>>>> >>>>> >(String -> IO ()) -> (Int -> String) -> Int -> IO () >>>>> forall b c a. (b -> c) -> (a -> b) -> a -> c >>>>> >>>> >>>>1345,1346c1363,1367 >>>>< >>>>< >>>>--- >>>>> >>>>> >Int -> Int -> Int -> Int >>>>> >>>> >>>>> >>>>Stderr run ( haddockHypsrcTest ): >>>>gmake: *** [Makefile:68: hypsrcTest] Error 1 >>>>*** unexpected failure for haddockHypsrcTest(normal) >>> >>>>_______________________________________________ >>>>ghc-devs mailing list >>>>ghc-devs at haskell.org >>>>http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs >>> >>> From simon.peytonjones at gmail.com Fri May 31 10:43:00 2024 From: simon.peytonjones at gmail.com (Simon Peyton Jones) Date: Fri, 31 May 2024 11:43:00 +0100 Subject: RTS crashes Message-ID: In my private build of !12492 I'm getting some assertion failures in CheckUnload (see below). This can't possibly be my fault! I don't know if CI perhaps has these assertion switched off, so only I am seeing them? I'd open a ticket but it may just be my bad, somehow Any ideas? Simon Stderr run ( MultiLayerModulesDefsGhci ): ghc: internal error: ASSERTION FAILED: file rts/CheckUnload.c, line 460 (GHC version 9.11.20240530 for x86_64_unknown_linux) Please report this as a GHC bug: https://www.haskell.org/ghc/reportabug Aborted *** unexpected failure for MultiLayerModulesDefsGhci(ghci) ]0;MultiLayerModulesDefsGhciReload(ghci) 4776 of 10144 [0, 1, 0] ]0;InstanceMatching(normal) 4777 of 10144 [0, 1, 0] ]0;Running for 5m51s [35433/36451], predicted 1s (98%) Wrong exit code for MultiLayerModulesDefsGhciReload(ghci)(expected 0 , actual 134 ) Stderr run ( MultiLayerModulesDefsGhciReload ): ghc: internal error: ASSERTION FAILED: file rts/CheckUnload.c, line 460 (GHC version 9.11.20240530 for x86_64_unknown_linux) Please report this as a GHC bug: https://www.haskell.org/ghc/reportabug Aborted *** unexpected failure for MultiLayerModulesDefsGhciReload(ghci) ]0;InstanceMatching1(normal) 4778 of 10144 [0, 2, 0] ]0;MultiLayerModulesNoCode(ghci) 4779 of 10144 [0, 2, 0] Wrong exit code for MultiLayerModulesNoCode(ghci)(expected 0 , actual 134 ) Stderr run ( MultiLayerModulesNoCode ): ghc: internal error: ASSERTION FAILED: file rts/CheckUnload.c, line 460 (GHC version 9.11.20240530 for x86_64_unknown_linux) Please report this as a GHC bug: https://www.haskell.org/ghc/reportabug Aborted -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.peytonjones at gmail.com Fri May 31 19:54:53 2024 From: simon.peytonjones at gmail.com (Simon Peyton Jones) Date: Fri, 31 May 2024 20:54:53 +0100 Subject: Haddock test suite failure -- can anyone guide me? In-Reply-To: References: <6bkmlhmgoc3c36jsaxg7326pbfnlzku5tp5es3vwrmrmytaizw@k5mry5bfdsfb> Message-ID: Thank you Zubin. In fact the issue has disappeared as mysteriously as it appeared. CI is green. I'm baffled, but disinclined to dig further! Simon On Fri, 31 May 2024 at 11:17, Zubin Duggal wrote: > I think its the annotations on `const` that changed, not on `$`, sorry. > > On 24/05/31 15:38, Zubin Duggal wrote: > >If my reading of the diffs is correct (which I'm not sure it is), then > >it seems some identifiers in the hyperlinked source are missing type > >information. > > > >Looking at one of the changes > > > >Diff for file "src/Classes.html": > >1194c1194,1198 > >< > >--- > >> > >> >a -> b -> a > >>forall a b. a -> b -> a > >> >> > >1281c1285,1289 > >< > >--- > >> > >> >a -> b -> a > >>forall a b. a -> b -> a > >> >> > > > > > >It seems like at certain identifiers, the types a -> b -> a > >and forall a b. a -> b -> a is now not being emitted in a place that > >they previously were. > > > >The html files are munged quite a bit to normalise spurious differences, > >but unfortunately this means that they don't render in a browser so well. > > > >If you have two builds of haddock (one prior to your patch, possibly > >even the one from your boot ghc bindist), you can run > > > >haddock-clean --html --hyperlinked-source > utils/haddock/hypsrc-test/src/Classes.hs > >haddock-your-tree --html --hyperlinked-source > utils/haddock/hypsrc-test/src/Classes.hs > > > >and then inspect/compare the rendered hyperlinked source file it > >produces (for the above command it would be in `src/Classes.html`) with > >your web browser. > > > >In the case of `Classes.hs`, it seems like perhaps some annotations on > >some of the `($)` operators in the following snippet are missing, and > >you can find out exactly which one by hovering over each of the `$` > >symbols and comparing with the output from a clean/unpatched haddock > >build. > > > >instance Plugh Either where > > plugh (Left a) _ = Right $ const a > > plugh (Right a) _ = Right $ const a > > plugh _ (Left b) = Left $ const b > > plugh _ (Right b) = Left $ const b > > > >These annotations are produced by walking the typechecked AST and asking > >for the types of each `Id` or `HsVar` etc. nodes, so anything your > >patched changed regarding how the AST is constructed could be to blame. > > > >On 24/05/31 10:41, Simon Peyton Jones wrote: > >>THanks. But the trouble is that I don't know whether to accept the > change > >>or not. Is it OK? How could I tell? > >> > >>The point of a test is to fail when one has introduced a bug. This fails > >>-- have I introduced a bug? > >> > >>Thanks > >> > >>S > >> > >>On Fri, 31 May 2024 at 08:58, Zubin Duggal wrote: > >> > >>>You run this locally exactly the same as any other test, using > >>> > >>>hadrian/build test --only=haddockHypsrcTest > >>> > >>>or > >>> > >>>TEST="haddockHypsrcTest" hadrian/build test > >>> > >>>I recommend accepting the changes by passing the `-a` option to hadrian, > >>>and then looking over the changes locally using `git diff`. > >>> > >>>The diffs reported by the test case itself can be confusing and I think > >>>(not sure) that they are in reversed order to what you would normally > >>>expect. > >>> > >>>On 24/05/31 08:48, Simon Peyton Jones wrote: > >>>>Dear Haddock experts > >>>> > >>>>I'm getting a failure on !12492 > >>>> that I > can't > >>>>understand or debug. Can someone guide me? > >>>> > >>>>Failure is this: > >>>>/builds/ghc/ghc/tmp/ghctest-2jo7oz8x/test > >>>>spaces/testsuite/tests/haddock/haddock_testsuite/haddockHypsrcTest.run > >>>>haddockHypsrcTest [bad exit code (2)] (normal) > >>>> > >>>>A snip of the log is at the end of this message. > >>>> > >>>>I want to > >>>> > >>>> - understand what it does > >>>> - repro it locally. > >>>> > >>>>Trying the latter, I tried with my HEAD build and did > >>>>bash$ cd testsuite/tests/haddock/haddock_testsuite > >>>>bash$ make hypsrcTest > >>>> > >>>>but that failed on almost all the tests it does, even though HEAD is > >>>>presumably OK. > >>>> > >>>>I'm stumped. Any ideas? The patch only changes the type checker! > >>>> > >>>>Thanks > >>>> > >>>>SImion > >>>> > >>>>This is the log from !12492 > >>>> > >>>>Wrong exit code for haddockHypsrcTest()(expected 0 , actual 2 ) > >>>>Stdout ( haddockHypsrcTest ): > >>>>[1 of 7] Compiling Test.Haddock.Process ( > >>> > > >>>>/builds/ghc/ghc/testsuite/../utils/haddock/haddock-test/src/Test/Haddock/Process.hs, > >>>>Test/Haddock/Process.o ) > >>>>[2 of 7] Compiling Test.Haddock.Utils ( > >>> > > >>>>/builds/ghc/ghc/testsuite/../utils/haddock/haddock-test/src/Test/Haddock/Utils.hs, > >>>>Test/Haddock/Utils.o ) > >>>>[3 of 7] Compiling Test.Haddock.Config ( > >>> > > >>>>/builds/ghc/ghc/testsuite/../utils/haddock/haddock-test/src/Test/Haddock/Config.hs, > >>>>Test/Haddock/Config.o ) > >>>>[4 of 7] Compiling Test.Haddock ( > >>> > > >>>>/builds/ghc/ghc/testsuite/../utils/haddock/haddock-test/src/Test/Haddock.hs, > >>>>Test/Haddock.o ) > >>>>[5 of 7] Compiling Test.Haddock.Xhtml ( > >>> > > >>>>/builds/ghc/ghc/testsuite/../utils/haddock/haddock-test/src/Test/Haddock/Xhtml.hs, > >>>>Test/Haddock/Xhtml.o ) > >>>>[6 of 7] Compiling Main ( > >>>>/builds/ghc/ghc/testsuite/../utils/haddock/hypsrc-test/Main.hs, Main.o > ) > >>>>[7 of 7] Linking hypsrc-test > >>>>Haddock version 2.30.0, (c) Simon Marlow 2006 > >>>>Ported to use the GHC API by David Waern 2006-2008 > >>>>9.11.20240530 > >>>>Generating documentation... > >>>>Testing output files... > >>>>Checking "src/TemplateHaskellSplices.html"... PASS > >>>>Checking "src/Bug1091.html"... PASS > >>>>Checking "src/Polymorphism.html"... PASS > >>>>Checking "src/UsingQuasiquotes.html"... PASS > >>>>Checking "src/Records.html"... PASS > >>>>Checking "src/Quasiquoter.html"... PASS > >>>>Checking "src/CPP.html"... PASS > >>>>Checking "src/Operators.html"... PASS > >>>>Checking "src/Literals.html"... PASS > >>>>Checking "src/LinkingIdentifiers.html"... PASS > >>>>Checking "src/Classes.html"... FAIL > >>>>Checking "src/PositionPragmas.html"... PASS > >>>>Checking "src/Types.html"... PASS > >>>>Checking "src/TemplateHaskellQuasiquotes.html"... PASS > >>>>Checking "src/Constructors.html"... FAIL > >>>>Checking "src/Identifiers.html"... FAIL > >>>>Diffing failed cases... > >>>>Diff for file "src/Classes.html": > >>>>1194c1194,1198 > >>>>< > >>>>--- > >>>>> > >>>>> >a -> b -> a > >>>>> forall a b. a -> b -> a > >>>>> >>>>> > >>>>1281c1285,1289 > >>>>< > >>>>--- > >>>>> > >>>>> >a -> b -> a > >>>>> forall a b. a -> b -> a > >>>>> >>>>> > >>>>1368c1376,1380 > >>>>< > >>>>--- > >>>>> > >>>>> >b -> a -> b > >>>>> forall a b. a -> b -> a > >>>>> >>>>> > >>>>1455c1467,1471 > >>>>< > >>>>--- > >>>>> > >>>>> >b -> a -> b > >>>>> forall a b. a -> b -> a > >>>>> >>>>> > >>>>Diff for file "src/Constructors.html": > >>>>1325c1325,1329 > >>>>< > >>>>--- > >>>>> > >>>>> >([Int] -> Int) -> (Norf -> [Int]) -> Norf -> Int > >>>>> forall b c a. (b -> c) -> (a -> b) -> a -> c > >>>>> >>>>> > >>>>Diff for file "src/Identifiers.html": > >>>>1190c1190,1194 > >>>>< > >>>>--- > >>>>> > >>>>> >(String -> IO ()) -> (Int -> String) -> Int -> IO () > >>>>> forall b c a. (b -> c) -> (a -> b) -> a -> c > >>>>> >>>>> > >>>>1216,1217c1220,1224 > >>>>< > >>>>< > >>>>--- > >>>>> > >>>>> >Int -> Int -> Int > >>>>> >>>>> > >>>>> > >>>>1260c1267,1271 > >>>>< > >>>>--- > >>>>> > >>>>> >(String -> IO ()) -> (Int -> String) -> Int -> IO () > >>>>> forall b c a. (b -> c) -> (a -> b) -> a -> c > >>>>> >>>>> > >>>>1286,1287c1297,1301 > >>>>< > >>>>< > >>>>--- > >>>>> > >>>>> >Int -> Int > >>>>> >>>>> > >>>>> > >>>>1319c1333,1337 > >>>>< > >>>>--- > >>>>> > >>>>> >(String -> IO ()) -> (Int -> String) -> Int -> IO () > >>>>> forall b c a. (b -> c) -> (a -> b) -> a -> c > >>>>> >>>>> > >>>>1345,1346c1363,1367 > >>>>< > >>>>< > >>>>--- > >>>>> > >>>>> >Int -> Int -> Int -> Int > >>>>> >>>>> > >>>>> > >>>>Stderr run ( haddockHypsrcTest ): > >>>>gmake: *** [Makefile:68: hypsrcTest] Error 1 > >>>>*** unexpected failure for haddockHypsrcTest(normal) > >>> > >>>>_______________________________________________ > >>>>ghc-devs mailing list > >>>>ghc-devs at haskell.org > >>>>http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs > >>> > >>> > -------------- next part -------------- An HTML attachment was scrubbed... URL: