Haskell Community
discourse.haskell.org.web.brid.gy
Haskell Community
@discourse.haskell.org.web.brid.gy
A place for all discussions related to Haskell

🌉 bridged from 🌐 https://discourse.haskell.org/: https://fed.brid.gy/web/discourse.haskell.org
Fork `basement`? As `baseplate`?
taylorfausak: > This is hardly the first time this situation has happened. Consider the xml library. It hasn’t been updated in over 10 years. Does someone deserve to take it over? I don’t think so. ehh..well what if 1000s of packages relied on it transitively. And something happened (GHC evolution) that broke `xml` and now it needs some elbow grease. Now vanilla `cabal` just doesn’t work (and will _never work ever again_) for a huge part of the ecosystem. Everyone indirectly touching `xml` must now muck around with `cabal.project` or a Nix overlay or whatever `stack` uses for this sort of thing. So then let’s say the maintainer is contacted and they say “nah I’m not gonna update it. nah I’m not gonna accept any PRs and push updates to Hackage. nah I’m not gonna hand over ownership or even allow someone else to have the commit/update bit in addition to me.” then YES - that’s takeover time. `xml` is a good example here because it, like `basement` and `memory`, is a core building block other projects may stand on. taylorfausak: > To me the only reasonable solution is to allow namespacing packages by the maintainer’s name. Then we could have `@vincent/memory` and `@apotheca/memory` without issue. Namespacing is cool, but I don’t see how it would be functionally much different here than the whole “fork and rename” approach. The same toil would result - unless I’m missing smth.
discourse.haskell.org
February 19, 2026 at 7:26 AM
Fork `basement`? As `baseplate`?
Seeing as I am working on a total replacement for `memory`, which is effectively in the same position as `basement`, I feel as though I have an obligation to make my feelings known. I most certainly would like to name my own library `memory`, seeing as it _isn’t_ a fork of Vincent’s library, and the only thing stopping me is an abandoned corpse, yet I have accepted that I must settle for the alternative of `mem` or `memalloc`. However, the situation does create significant ire. It isn’t so much about the package itself, as it is the effective name-squatting that occurs as a result. Vincent has the rights to name his `memory` library, but I don’t necessarily agree that he should get the rights to that name on hackage in perpetuity. Why should we abide by the wishes of someone who has left the community? Vincent isn’t missing, but he also isn’t coming back, and his packages will continue to rot and pollute the namespace. He made his feelings known, a long time ago. A compromise might be found in tracking when a package has been effectively terminated eg after some time, and allow _the package name_ to be claimed by a new owner with the requirement of a completely new major version to signify the break in continuity, effectively being a new package under the same name as the old - even if it is eg a fork of that exact library under new ownership. Presumably this would never happen automatically, and would require some sort of name takeover request. The alternative is to imagine yet 10 years from now still, a library that hasn’t built in a decade, still taking up a prime name slot, because of a ghost. Haskell is already burdened with legacy issues, must we continue to add to them?
discourse.haskell.org
February 19, 2026 at 7:27 AM
Call for Talks: Haskell Implementors' Workshop 2026
Call for proposals for the Haskell Implementors’ Workshop June 5, 2026 Organized by the Haskell Community Co-located with ZuriHac 2026 and Haskell Ecosystem Workshop 2026 Hosted by the Haskell Foundation at Eastern Switzerland University of Applied Sciences (OST) ## Overview * Deadline: April 10, 2026 * Notification: May 8, 2026 * Workshop: June 5, 2026 The 18th Haskell Implementors’ Workshop is to be held on June 5th 2026 alongside ZuriHac and the Haskell Ecosystom Workshop near Zurich. The event is organized by the Haskell Community and hosted by the Haskell Foundation at the University of Applied Sciences of Eastern Switzerland (OST) lakeside campus in Rapperswil, Switzerland. It is a forum for people involved in the design and development of Haskell implementations, tools, libraries, and supporting infrastructure to share their work and to discuss future directions and collaborations with others. In the past the Haskell Implementors’ Workshop was co-located with ICFP (International Conference on Functional Programming). However, in recent years it has become more and more challenging to attract a large enough audience and sufficiently many speakers for an appealing program. ZuriHac and the Haskell Ecosystem Workshop have become an important annual gathering of a large part of the Haskell community. Following last year’s success, the Haskell Implementors’ Workshop will again be co-located with these events to be accessible to a broader audience. ## Scope and Target Audience The Haskell Implementors’ Workshop is an ideal place to describe a Haskell extension, describe works-in-progress, demo a new Haskell-related tool, or even propose future lines of Haskell development. Members of the wider Haskell community are encouraged to attend the workshop - we need your feedback to keep the Haskell ecosystem thriving. Students working with Haskell are especially encouraged to share their work. The scope covers any of the following topics. There may be some topics that people feel we’ve missed, so by all means submit a proposal even if it doesn’t fit exactly into one of these buckets: * Compilation techniques * Language features and extensions * Type system implementation * Concurrency and parallelism: language design and implementation * Performance, optimization and benchmarking * Virtual machines and run-time systems * Libraries and tools for development or deployment ## Talks We invite proposals from potential speakers for talks and demonstrations. We are aiming for 20-minute talks with 5 minutes for questions and changeovers. We want to hear from people writing compilers, tools, or libraries, people with cool ideas for directions in which we should take the platform, proposals for new features to be implemented, and half-baked crazy ideas. Please submit a talk title and abstract of no more than 300 words. We will also have a lightning talks session. Lightning talks should be ~7mins and are scheduled on the day of the workshop. Suggested topics for lightning talks are to present a single idea, a work-in-progress project, a problem to intrigue and perplex Haskell implementors, or simply to ask for feedback and collaborators. Submissions can be made via the following form until **April 10, 2026** (anywhere on earth): https://forms.gle/S8fpAgFaFEvqoMqH6 Authors will be notified about the inclusion of their proposal in the final program by **May 8, 2026**. ## Program Committee * Andrew Lelechenko * Avi Press * Christiaan Baaij (chair) * Gergo Erdi * Jeffrey Young ## Contact * Christiaan Baaij
discourse.haskell.org
February 19, 2026 at 1:27 AM
Fork `basement`? As `baseplate`?
This may be a bit of an abrasive opinion, but I think that in this case, it would be reasonable to go against Vincent’s wishes, take over the `basement` name on Hackage, and publish a fork under it. It would be a bit of a hostile act, but as it stands, Vincent is effectively holding the package hostage - he won’t accept any contributions, he won’t fix it himself, but he also won’t allow anyone else to publish fixed versions in a way that they can be used as drop-in replacements (because that would require reusing the `basement` name on Hackage). This is exactly the kind of situation open source workflows are supposed to avoid; open source licenses are explicitly crafted to allow forks and redistribution of independently modified copies, but in this particular case, the fact that Hackage names are first-come-first-serve, and (by default at least) reserved on a personal title, means that authors can effectively designate their own version as the “blessed” one, and even if everyone else agrees to move to another fork, it won’t change the “blessed” status. Now, I’m not saying that “dispossessing” Hackage names should be done lightly; but in cases like these, where the original maintainers have clearly stated to not be willing to cooperate in any way, it would be the least evil. Forking `basement` under a different name would come with serious issues - `basement` has over 4000 indirect dependencies, and I suspect that many of them have version bounds along the dependency chain that would require releasing new versions of not just the direct dependencies, but also most of those indirect dependencies. Given the sheer number of those packages, such an effort could take months, maybe years, and in the meantime, anyone who is affected by `basement` bitrot will have to stick to old GHC versions and outdated versions of many packages. And due to the way dependencies work in Haskell, this could even lock people into outdated versions of packages that don’t depend on `basement` at all: if, due to these shenanigans, you have to stick with an older GHC release, many newer packages simply won’t work anymore, and that will then propagate to other packages. Considering some of the quite essential improvements that have happened in the Hackage ecosystem lately (such as moving from cryptonite to crypton, moving towards fixing `FilePath`, etc.), these aren’t just petty concerns; being unable to use up-to-date packages because of shenanigans like these is a full blown security issue.
discourse.haskell.org
February 18, 2026 at 2:08 PM
Reflecting Code to Syntax (with Arrows)
Yes and no. First, you cannot straightforwardly reproduce the effects of `ApplicativeDo` with `QualifiedDo`. First, `QualifiedDo` does something very similar like `RebindableSyntax`. It just replaces `>>=` and `pure` etc. with your custom definitions. But it doesn’t change the structure of the desugared `do`-Block, just its building blocks. So `ApplicativeDo` is something quite different (and more complicated) than `QualifiedDo`/`RebindableSyntax` because it really analyses usage and changes the structure of the desugared code. Now, it’s probably easy to generalise `QualifiedDo` to arrows. Already now, `RebindableSyntax` supports arrow notation, but it’s not that useful: The arrow desugaring is very rigid and seemingly has a lot of incidental complexity from tuple packing & unpacking, pre-/postcomposition with certain functions in order to bring everything into the right type signature. I’m not aware of any nontrivial usages of `RebindableSyntax` with arrows, not to the extent to what other have done with monads (like indexed monads etc.). And still, you’re (rightfully) asking whether we can improve the way arrows are desugared. Yes, but it probably takes a bit more than just `QualifiedProc`. We should in the end be able to do e.g. this: procDimap :: Profunctor a => (b -> c) -> (d -> e) -> a c d -> a b e procDimap f g a = proc b -> do d <- a -< f b returnA -< g d This should only require `Profunctor` to work, not `Arrow`. But as of now, `Profunctor` is not even a superclass of `Arrow`. So the first step is implementing a hierarchy proposal similar to the Functor-Applicative-Monad proposal: `Arrow` should have `Profunctor` and `CartesianCategory` as superclasses. Then desugaring should be able to detect those simpler cases where these two superclasses are sufficient, similar to how `ApplicativeDo` works. See: hackage.haskell.org ### (Co)Cartesian categories - Control.Category.Cartesian Minimum definition: hackage.haskell.org ### Overloaded.Categories
discourse.haskell.org
February 17, 2026 at 10:22 PM
Call for applications to the Haskell Foundation board of directors
The Haskell Foundation’s directors are pleased to announce the nomination process for seats on the Foundation’s board of directors. The Haskell Foundation is a non-profit organization whose mission is to support industrial users of Haskell. The board is the ultimate decision-making body of the Foundation and provides its strategic leadership. It ensures that the Foundation is working toward achieving its mission, and it appoints and supervises senior members of the Foundation’s staff. Following the board membership lifecycle rules, we are announcing four open seats. Directors that have their terms expiring are able to re-apply once for a second term. Due to the flexible board size rules, it is possible that more than four applicants will be selected. We are specifically looking for _active_ board members who are interested in helping with Haskell Foundation activities such as, but not limited to: * Establishing and maintaining relationships with industrial (and academic) users of Haskell. * Helping with fundraising. * Talking to developers of various Haskell projects and working groups. * Running or organising events. Part of being a board member is a commitment to participate actively in Haskell Foundation activities, outside board meetings themselves. It is hard to quantify, but you should think in terms of devoting a few hours each week to the Foundation. ## The Foundation Board ### Membership * Being a director of the Foundation gives you the opportunity to contribute directly to its strategic direction, to help build the Haskell community, and to help promote the broader adoption of functional programming. * Once appointed, a director should act in the best interests of the Foundation and the entire Haskell community; they are not appointed to represent only the interests of a particular group. * Being a director is not an honorary role; it involves real work. Directors are expected to serve on, or chair, ad-hoc or permanent working groups, and to contribute to activities such as listed above. * The directors also meet regularly: currently, that is for one hour every two weeks, alternating between UTC 12:00 and 17:00 to accommodate different time zones. Directors may excuse themselves from a meeting, but such excuses must remain infrequent. Low participation may result in the removal of a director from the board. ### Criteria Nominations for membership of the board will be evaluated against the following criteria: * You have a positive drive and vision for the Haskell community and ecosystem. * You have a track record of contribution to the Haskell community and ecosystem * You are widely trusted and respected in the community. * You have enough time and energy to devote to being a member of the board. * You have a willingness to engage with the wider community, especially industrial users of Haskell. The Foundation is committed to supporting and representing enterprises and individuals who use Haskell to deliver products and services. The Foundation’s board also aims to reflect the priorities of other Haskell constituencies, including: * Companies that use Haskell in production, and Haskell consultancies. * Users of Haskell. That might include companies, but also includes the broader open-source community and hobbyists. * Sponsors: companies (or even individuals) who are funding the Foundation. * People who build and run the infrastructure of the Haskell ecosystem (e.g. compilers, libraries, packaging and distribution, and IDEs). * Educators, including school, university, and commercial training courses. * Functional programming researchers who build on and/or develop Haskell. Nominations are also welcome from people who meet other criteria but do not represent any particular constituency. Simultaneously hitting all these criteria is nigh impossible. However, each subsequent round of nominations for new board members offers a fresh chance to rectify any imbalances. ### Nominations Please submit your nomination to nominations@haskell.foundation, by March 10th 2026. Your nomination should be accompanied by a brief summary of your qualifications, skills and experiences and a covering letter that says * How you fit the above criteria. * Why you would like to be a board member * What you feel you could contribute For further information about the nomination process, please contact the secretariat of the Haskell Foundation (Secretary Mike Pilgrem and Vice Secretary Michael Peyton-Lebed) at secretariat@haskell.foundation.
discourse.haskell.org
February 17, 2026 at 10:22 PM
Updates for String-related GHC proposals
Basically, yeah. xxxxx
discourse.haskell.org
February 17, 2026 at 10:22 PM