From ben at well-typed.com Fri Mar 14 23:26:25 2025 From: ben at well-typed.com (Ben Gamari) Date: Fri, 14 Mar 2025 19:26:25 -0400 Subject: [Haskell-cafe] GHC 9.12.2 is now available Message-ID: <878qp7tcrz.fsf@smart-cactus.org> The GHC developers are happy to announce the release of GHC 9.12.2. Binary distributions, source distributions, and documentation are available at [downloads.haskell.org]. We hope to have this release available via `ghcup` shortly. This is a small release fixing a critical code generation bug, #25653, affecting some subword division operations. As always, GHC's release status, including planned future releases, can be found on the GHC Wiki [status]. We would like to thank 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 who contribute their code, tickets, and energy to the GHC project. 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.12.2/docs/users_guide/9.12.2-notes.html [status]: https://gitlab.haskell.org/ghc/ghc/-/wikis/GHC-status [downloads.haskell.org]: https://downloads.haskell.org/ghc/9.12.2 [ticket]: https://gitlab.haskell.org/ghc/ghc/-/issues/new -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 861 bytes Desc: not available URL: From ivanperezdominguez at gmail.com Mon Mar 17 15:24:31 2025 From: ivanperezdominguez at gmail.com (Ivan Perez) Date: Mon, 17 Mar 2025 08:24:31 -0700 Subject: [Haskell-cafe] [ANN] Copilot 4.3 Message-ID: Hi everyone!! We are really excited to announce Copilot 4.3 [1,2]. Copilot is a stream-based EDSL in Haskell for writing and monitoring embedded C programs, with an emphasis on correctness and hard realtime requirements. Copilot is typically used as a high-level runtime verification framework, and supports temporal logic (LTL, PTLTL and MTL), clocks and voting algorithms. Compilation to Bluespec, to target FPGAs, is also supported. Copilot is NASA Class D open-source software, and is being used at NASA in drone test flights. Through the NASA tool Ogma [3] (also written in Haskell), Copilot also serves as a runtime monitoring backend for NASA's Core Flight System, Robot Operating System (ROS2), FPrime (the software framework used in the Mars Helicopter). This release introduces several updates, bug fixes and improvements to Copilot: - Specifications now produce information about counterexamples when copilot-theorem is able to prove the property false. - We introduce a new Prop construct in copilot-core that captures the quantifier used in a property. - The What4 backend of Copilot theorem now produces an exception when trying to prove an existential property. The restriction of not being able to handle existentially quantified properties already existed, but due to information loss during the reification process, the quantifier was being lost and all properties to be proved via what4 were being treated as a universally quantified. - Several deprecated functions have been removed. - The installation instructions have been updated. - Compatibility with GHC 9.10 is now explicitly listed in the README. - Several typos have been fixed in comments and documentation. The new implementation is compatible with versions of GHC from 8.6 to 9.10. This release has been made possible thanks to key submissions from Ryan Scott (Galois) and Esther Conrad (NASA), the last of which is also a first-time contributor to the project. We are grateful to them for their timely contributions, especially during the holidays, and for making Copilot better every day. For details on this release, see [1]. https://github.com/Copilot-Language/copilot/releases/tag/v4.3. As always, we're releasing exactly 2 months since the last release. Our next release is scheduled for May 7th, 2025. We want to remind the community that Copilot is now accepting code contributions from external participants again. Please see the discussions and the issues in our github repo [4] to learn how to participate. Current emphasis is on using Copilot for full data processing applications (e.g, system control, arduinos, rovers, drones), improving usability, performance, and stability, increasing test coverage, removing unnecessary dependencies, hiding internal definitions, formatting the code to meet our new coding standards, and simplifying the Copilot interface. Users are encouraged to participate by opening issues, asking questions, extending the implementation, and sending bug fixes. Happy Haskelling! Ivan -- [1] https://github.com/Copilot-Language/copilot/releases/tag/v4.3 [2] https://hackage.haskell.org/package/copilot [3] https://github.com/nasa/ogma [4] https://github.com/Copilot-Language/copilot -------------- next part -------------- An HTML attachment was scrubbed... URL: From Graham.Hutton at nottingham.ac.uk Tue Mar 18 09:58:24 2025 From: Graham.Hutton at nottingham.ac.uk (Graham Hutton) Date: Tue, 18 Mar 2025 09:58:24 +0000 Subject: [Haskell-cafe] Midlands Graduate School - final call for participation In-Reply-To: <5810DB1E-7460-49BA-BBC5-6AC4E42F3442@nottingham.ac.uk> References: <5810DB1E-7460-49BA-BBC5-6AC4E42F3442@nottingham.ac.uk> Message-ID: <1E766F05-7BB9-4CEC-AC90-D45999BBFDBE@nottingham.ac.uk> Dear all, There are just a few days left now to register for this years Midlands Graduate School (MGS) in Sheffield. Eight fantastic courses on category theory, type theory, coalgebra, semantics and more. 7-11 April 2025, Sheffield, UK. Registration closes Monday 24th March. Best wishes, Graham Hutton ========================================================== Midlands Graduate School 2025 7-11 April 2025, Sheffield, UK https://tinyurl.com/MGS-2025 BACKGROUND: The Midlands Graduate School (MGS) in the Foundations of Computing Science provides an intensive course of lectures on the mathematical foundations of computing. The MGS has been running since 1999, and is aimed at PhD students in their first or second year of study, but the school is open to everyone, and has increasingly seen participation from industry. We welcome participants from all over the world! COURSES: Eight courses will be given. Participants usually take all the introductory courses and choose additional options from the advanced courses depending on their interests. Invited course - Four Lectures on Proof-theoretic Semantics, David Pym Introductory courses - Category Theory, Thorsten Altenkirch - The Curry-Howard Correspondence, Anupam Das - Quantum Computing, Venanzio Capretta Advanced courses - Coalgebra, Paul Blain Levy - Linear Logic, Abhishek De and Charles Grellois - Modular Proofs in Isabelle/HOL, Chelsea Edmonds - Refinement Types in Haskell, Brandon Hewer REGISTRATION: The registration fee is £300 for academic participants, and £500 for industry participants. The fee includes all lecture courses and example classes, lunch and coffee breaks. Registration closes on ** Monday 24th March **. Spaces are limited, so please register early to secure your place. SPONSORSHIP: We offer a range of sponsorship opportunities for industry (bronze, silver, gold and platinum), each with specific benefits. Please see the website for further details. ========================================================== This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please contact the sender and delete the email and attachment. Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham. Email communications with the University of Nottingham may be monitored where permitted by law. From lists0 at freea2a.de Tue Mar 18 20:00:07 2025 From: lists0 at freea2a.de (lists0 at freea2a.de) Date: Tue, 18 Mar 2025 21:00:07 +0100 Subject: [Haskell-cafe] Thesis-Job: Find the best specification method Message-ID: <20250318205005.39b35636@duin.localdomain> Dear haskell-list, at Siemens Mobility I would like to improve our specifications. For that, I have the opportunity to teach the properties of our product to a student, and ask him/her to specify the product with more or less of the full power of current specification techniques. The goal for me is, to evaluate existing methods and find the best method. We work intensively with specifications, thus a big level of mathematical formalism can count, as long as the technical team likes to learn and use it. The job offering for a final thesis is at the end of the post. Beside that: What does the list think are methods that are fruitful in a commercial high-quality setting ? The implementation shall not or almost not be changed, we just want a system for test generation and analysis of the required (and hopefully correctly implemented) system. Thank you for your answers! #### Job-offering (German): https://jobs.siemens.com/careers?query=440671&pid=563156121392428&organization=Mobility&domain=siemens.com&sort_by=relevance&hl=de&triggerGoButton=false As part of your work, you can do the following tasks: Search and justify a selection of an existing textual specification method (Domain Specific Language or Framework in a proven programming language). Specify parts of our existing system with the selection and apply the specification, e.g. for test case generation or for the detection of system properties. Examine the practicality of the specification method for daily use. What do you bring? You are studying computer science or a similar field. You already have knowledge of syntax and semantics / specification methods. Ideally, you have knowledge of several imperative languages and knowledge of functional programming (e.g. Haskell, OCaml, ...). Knowledge of machine proving is an advantage. You have good German and English language skills. You can write the work in German, English or bilingual. If you would like to complete a mandatory internship in advance, this is also possible after consultation. -- Mein PGP-Schlüssel-Fingerabdruck: B3CD 2CB8 EC08 B6BD D82C 9BE1 F702 BF50 C4AF 179D oder 88E6 D1E7 9276 BC56 849C CF02 9F96 BE18 43FA 2CC0 -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 833 bytes Desc: OpenPGP digitale ondertekening URL: From jeremy.yallop at cl.cam.ac.uk Thu Mar 20 14:58:39 2025 From: jeremy.yallop at cl.cam.ac.uk (Jeremy Yallop) Date: Thu, 20 Mar 2025 14:58:39 +0000 Subject: [Haskell-cafe] CfP: GPCE 2025 Message-ID: <7e41906f-1ef6-4337-9432-906fee45b1b0@app.fastmail.com> [GPCE is co-located with ECOOP rather than SPLASH this year, so the deadline is earlier than usual.] ========================================================= GPCE 2025 24th International Conference on Generative Programming: Concepts & Experiences -- 3-4 July, 2025, co-located with ECOOP Bergen, Norway CALL FOR PAPERS https://2025.ecoop.org/home/gpce-2025 ========================================================= The ACM SIGPLAN International Conference on Generative Programming: Concepts & Experiences (GPCE) is a programming languages conference focusing on techniques and tools for code generation, language implementation, and product-line development. This is the 24th edition of the conference, co-located with the ECOOP 2025 conference in Bergen, Norway. ================== Topics of Interest =================== GPCE seeks conceptual, theoretical, empirical, and technical contributions to its topics of interest, which include but are not limited to: * program transformation, staging, * macro systems, preprocessors, * program synthesis, * code-recommendation systems, * domain-specific languages, * generative language workbenches, * language embedding, language design, * domain engineering, * software product lines, configurable software, * feature interactions, * applications and properties of code generation, * language implementation, * AI/ML techniques for generative programming, * generative programming for AI/ML techniques, * low code / no code approaches. GPCE promotes cross-fertilization between programming languages and software development and among different styles of generative programming in its broadest sense. Authors are welcome to check with the PC chair whether their planned papers are in scope. =================== Paper Categories ==================== GPCE solicits four kinds of submissions: Full Papers: reporting original and unpublished results of research that contribute to scientific knowledge for any GPCE topics. Full paper submissions must not exceed 12 pages excluding the bibliography. Short Papers: presenting unconventional ideas or new visions in any GPCE topics. Short papers do not always contain complete results as in the case of full papers, but can introduce new ideas to the community and get early feedback. Note that short papers are not intended to be position statements. Accepted short papers are included in the proceedings and will be presented at the conference. Short paper submissions must not exceed 6 pages excluding the bibliography, and must have the text “(Short Paper)” appended to their titles. Tool Demonstrations: presenting tools for any GPCE topics. Tools must be available for use and must not be purely commercial. Submissions must provide a tool description not exceeding 6 pages excluding bibliography and a separate demonstration outline including screenshots also not exceeding 6 pages. Tool demonstration submissions must have the text “(Tool Demonstration)” appended to their titles. If they are accepted, tool descriptions will be included in the proceedings. The demonstration outline will only be used for evaluating the submission. Generative Pearls: are elegant essays about generative programming. Examples include but are not limited to an interesting application of generative programming and an elegant presentation of a (new or old) data structure using generative programming (similar to Functional Pearl in ICFP and Pearl in ECOOP). Accepted Generative Pearl papers are included in the proceedings and will be presented at the conference. Generative Pearl submissions must not exceed 12 pages excluding the bibliography, and must have the text “(Generative Pearl)” appended to their titles. =================== Paper Selection ===================== The GPCE program committee will evaluate each submission according to the following selection criteria: Novelty. Papers must present new ideas or evidence and place them appropriately within the context established by previous research in the field. Significance. The results in the paper must have the potential to add to the state of the art or practice in significant ways. Evidence. The paper must present evidence supporting its claims. Examples of evidence include formalizations and proofs, implemented systems, experimental results, statistical analyses, and case studies. Clarity. The paper must present its contributions and results clearly. ==================== Important Dates ==================== Abstract Submission: Wed 26 Mar 2025 Paper Submission: Wed 2 Apr 2025 Review Notification: Fri 9 May 2025 Author Response: Mon 12 May 2025 Final Notification: Mon 19 May 2025 Conference: Thu 3 - Fri 4 July, 2025 ===================== Organization ====================== PC Chair: Nada Amin, Harvard General Co-Chair: Sebastian Erdweg, JGU Mainz General Co-Chair: Amir Shaikhha, University of Edinburgh Publicity Chair: Jeremy Yallop, University of Cambridge ======================= PC Members ====================== Bernhard Rumpe, RWTH Aachen University Casper Bach Poulsen, University of Southern Denmark Cyrus Omar, University of Michigan Eli Tilevich, Virginia Tech Elisa Gonzalez Boix, Vrije Universiteit Brussel Geoffrey Mainland, Drexel University Georg Ofenbeck Guillaume Allais, University of Strathclyde Jeremy Yallop, University of Cambridge Judith Michael, RWTH Aachen University Julia Lawall, Inria Kenichi Asai, Ochanomizu University Klaus Ostermann, University of Tuebingen L. Thomas van Binsbergen, University of Amsterdam Lionel Parreaux, The Hong Kong University of Science and Technology Malte Lochau, University of Siegen Maryam Mehri Dehnavi, University of Toronto Michel Steuwer, Technische Universität Berlin Ondřej Lhoták, University of Waterloo Parisa Ataei, Cornell University Philiip Wadler, University of Edinburgh Robert Glück, DIKU, Dept. of Computer Science, Univ. of Copenhagen Ruby Tahboub, University of Illinois Urbana-Champaign Sandro Stucki, Amazon Prime Video Automated Reasoning Sheng Chen, UL Lafayette Shigeru Chiba, University of Tokyo Shoaib Kamil, Adobe Research Simon Fowler, University of Glasgow Tijs van der Storm, CWI Ulrik Pagh Schultz Lundquist, University of Southern Denmark Vadim Zaytsev, Universiteit Twente Walter Binder, Università della Svizzera italiana (USI) Yukiyoshi Kameyama, University of Tsukuba Zena Ariola, University of Oregon -------------- next part -------------- An HTML attachment was scrubbed... URL: From farhad.mehta at ost.ch Thu Mar 20 15:13:16 2025 From: farhad.mehta at ost.ch (Farhad D. Mehta) Date: Thu, 20 Mar 2025 15:13:16 +0000 Subject: [Haskell-cafe] ZuriHac 2025 takes place 7-9 June, Registration Open Message-ID: Dear Friends of Haskell, It is our pleasure to announce that ZuriHac 2025 will take place Saturday 7 June – Monday 9 June 2025 as a physical event at the Rapperswil-Jona campus of the OST Eastern Switzerland University of Applied Sciences. ZuriHac is the biggest Haskell community event in the world: a completely free, three-day grassroots coding festival co-organized by the Zürich Friends of Haskell and the OST Eastern Switzerland University of Applied Science. It is not your standard conference with papers and presentations, but features fantastic keynotes, hands-on tracks, hacking on many of your favourite projects, and of course lots of socializing! This year’s keynote speakers currently include Lennart Augustson (current holder of the record for most number of Haskell compiler implementations), Rebecca Skinner (author of “Effective Haskell”), and Brent Yorgey (of “Diagrams” and “Swarm” fame). Further keynote speaker and track announcements will be made on our website. For an idea of what to expect, have a look at last year’s schedule on https://zfoh.ch/zurihac2024/ and a video impression of last year’s event at https://youtu.be/SMIdDqZxrUk?si=Jvl1LpuanFJHglSC . We also welcome beginners or people unfamiliar to Haskell who are curious to learn more. There will be an organised beginners’ track as well as many mentors from the Haskell community happy to answer all your questions. ZuriHac Prelude: Two days prior to ZuriHac, the Haskell Foundation and OST will organize the Haskell Ecosystem Workshop (HEW) and the Haskell Implementors’ Workshop (HIW - formerly co-located with the ICFP) at the same venue. Details will be posted to the ZuriHac website as they become available. You can find more information about the event and register at https://zurihac.info . The event is free for participants. This is only possible with the help of our generous supporters, who are currently: - The Haskell Foundation - IOHK - OST - Tweag - Well-Typed In case you would like to support ZuriHac, as a company or as an individual, please get in touch with us. We would be grateful. Bank details for monetary donations can be found at https://zfoh.ch/#donations. We hope to see you there! The Zurich Friends of Haskell From ben at well-typed.com Thu Mar 20 15:52:27 2025 From: ben at well-typed.com (Ben Gamari) Date: Thu, 20 Mar 2025 11:52:27 -0400 Subject: [Haskell-cafe] Haskell.org mailing list status Message-ID: <87cyebsnrq.fsf@smart-cactus.org> Hi all, As you may have noticed, yesterday brought an unexpected influx of traffic from haskell.org's mailing lists. This was the result of fixing an interruption in mailing list message delivery which began in late February as a result of on-going infrastructure migration efforts. We are monitoring the situation to ensure that this issue does not recur but if you see anything amiss don't hesitate to contact admin at haskell.org. Thank you for your understanding and help! Cheers, - Ben -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 861 bytes Desc: not available URL: From w.s.swierstra at uu.nl Thu Mar 20 15:55:13 2025 From: w.s.swierstra at uu.nl (Wouter Swierstra) Date: Thu, 20 Mar 2025 16:55:13 +0100 Subject: [Haskell-cafe] Utrecht Summer School on Advanced Functional Programming Message-ID: # Call for Participation SUMMER SCHOOL ON ADVANCED FUNCTIONAL PROGRAMMING Utrecht, the Netherlands, 07 July – 11 July 2025 http://www.afp.school **Please register before June 15th ** ## ABOUT The Advanced Functional Programming summer school has been running for more than fifteen years. We aim to educate aspiring Haskell programmers beyond the basic material covered by many textbooks. The lectures will cover several more advanced topics regarding the theory and practice of Haskell programming, including topics such as: * lambda calculus; * lazy evaluation; * generalized algebraic data types; * type families and type-level programming; * concurrency and parallelism. The summer school will be held in Utrecht and consists of a mix of lectures, labs, and a busy social program. ## PREREQUISITES We expect students to have a basic familiarity with Haskell already. You should be able to write recursive functions over algebraic data types, such as lists and trees. There is a great deal of material readily available that covers this material. If you've already started learning Haskell and are looking to take your functional programming skills to the next level, this is the course for you. ## DATES Registration deadline: June 15th, 2025 School: 07 July – 11 July 2025 ## COSTS € 950 euro - Profession registration fee € 500 euro - Student registration fee € 200 euro - Housing fee We will charge a registration fee of €950 (or €500 for students) to cover our expenses. This fee includes all lunches, dinners, and coffee breaks - you won't need to budget much else besides your travel. If this is problematic for you for any reason at all, please email the organisers and we can try to offer you a discounted rate or a fee waiver. We have a limited number of scholarships or discounts available for students that would not be able to attend otherwise, especially for women and under-represented minorities. ## FURTHER INFORMATION Further information, including instructions on how to register, is available on our website: http://www.afp.school From fa-ml at ariis.it Thu Mar 20 16:56:10 2025 From: fa-ml at ariis.it (Francesco Ariis) Date: Thu, 20 Mar 2025 17:56:10 +0100 Subject: [Haskell-cafe] Haskell.org mailing list status In-Reply-To: <87cyebsnrq.fsf@smart-cactus.org> References: <87cyebsnrq.fsf@smart-cactus.org> Message-ID: Il 20 marzo 2025 alle 11:52 Ben Gamari ha scritto: > Thank you for your understanding and help! Thanks to everyone working on Haskell infrastructure, a job that requires constant effort, is not in the limelight and is tremendously useful for the community! From haskell-cafe at id.ielliott.io Sat Mar 22 01:27:04 2025 From: haskell-cafe at id.ielliott.io (Isaac Elliott) Date: Sat, 22 Mar 2025 11:27:04 +1000 Subject: [Haskell-cafe] Thesis-Job: Find the best specification method In-Reply-To: <20250318205005.39b35636@duin.localdomain> References: <20250318205005.39b35636@duin.localdomain> Message-ID: > Beside that: What does the list think are methods that are fruitful ina commercial high-quality setting? Quiviq's case studies using (Erland, monadic) QuickCheck sound promising, but I've never tried it. Some examples: * https://www.youtube.com/watch?v=H18vxq-VsCk * https://www.infoq.com/presentations/QuickCheck-Compliance-Testing/ * https://www.quviq.com/blog/google-leveldb/ On 2025-03-19 06:00, lists0 at freea2a.de wrote: > Dear haskell-list, > > at Siemens Mobility I would like to improve our specifications. > > For that, I have the opportunity to teach the properties of our product > to a student, and ask him/her to specify the product with more or less > of the full power of current specification techniques. > > The goal for me is, to evaluate existing methods and find the best > method. We work intensively with specifications, thus a big level of > mathematical formalism can count, as long as the technical team likes > to learn and use it. > > The job offering for a final thesis is at the end of the post. > > Beside that: What does the list think are methods that are fruitful in > a commercial high-quality setting ? > > The implementation shall not or almost not be changed, we just want a > system for test generation and analysis of the required (and hopefully > correctly implemented) system. > > Thank you for your answers! > > > > #### Job-offering (German): > > https://jobs.siemens.com/careers?query=440671&pid=563156121392428&organization=Mobility&domain=siemens.com&sort_by=relevance&hl=de&triggerGoButton=false > > As part of your work, you can do the following tasks: > > Search and justify a selection of an existing textual specification > method (Domain Specific Language or Framework in a proven programming > language). > > Specify parts of our existing system with the selection and apply the > specification, e.g. for test case generation or for the detection of > system properties. Examine the practicality of the specification > method for daily use. > > > What do you bring? > > You are studying computer science or a similar field. > You already have knowledge of syntax and semantics / specification > methods. Ideally, you have knowledge of several imperative > languages and knowledge of functional programming (e.g. Haskell, > OCaml, ...). Knowledge of machine proving is an advantage. You > have good German and English language skills. > > You can write the work in German, English or bilingual. If you would > like to complete a mandatory internship in advance, this is also > possible after consultation. > > > > > > > > > > > > _______________________________________________ > Haskell-Cafe mailing list > To (un)subscribe, modify options or view archives go to: > http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe > Only members subscribed via the mailman list are allowed to post. From stegeman at gmail.com Mon Mar 24 06:44:07 2025 From: stegeman at gmail.com (Luite Stegeman) Date: Mon, 24 Mar 2025 07:44:07 +0100 Subject: [Haskell-cafe] GHC 9.6.7 is now available Message-ID: The GHC developers are very pleased to announce the availability of GHC 9.6.7. Binary distributions, source distributions, and documentation are available at https://downloads.haskell.org/ghc/9.6.7 We hope to have this release available via ghcup shortly. GHC 9.6.7 brings number of fixes, including: - GHC’s internal Unique type has been widened to 64-bits on 32-bit architectures, avoiding potential miscompilations on large projects. - Fix a runtime crash when using the compacting GC, caused by black holes in large objects. - Added new flags -fspec-eval and -fspec-eval-dictfun to allow switching off speculative evaluation. The following libraries have been updated since GHC 9.6.6: - base-4.18.3.0 - filepath-1.4.301.0 - unix-2.8.6.0 - bytestring-0.11.5.4 - array-0.5.8.0 A more detailed description can be found in the [release notes] and a full list of changes in [GHC!13841] and [GHC!13891] Note about Haskell Language Server and building GHC 9.8+: The change of Unique to 64 bit [GHC#22010] adds the exported symbol ghc_unique_counter64 to the RTS. Unfortunately it's impossible to avoid this without breaking other things. If you encounter a linker error related to ghc_unique_counter64 when building GHC (or building a GHC-derived package like ghc-lib-parser) with GHC 9.6.7, you probably have to add this [fix] to the program you're building. 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. Please give this release a try and open a [ticket] if you see anything amiss. ~ Luite [release notes]: https://downloads.haskell.org/ghc/9.6.7/docs/users_guide/9.6.7-notes.html [GHC!13841]: https://gitlab.haskell.org/ghc/ghc/-/merge_requests/13841 [GHC!13891]: https://gitlab.haskell.org/ghc/ghc/-/merge_requests/13891 [GHC#22010]: https://gitlab.haskell.org/ghc/ghc/-/issues/22010 [fix] https://gitlab.haskell.org/ghc/ghc/-/merge_requests/13743 [ticket] https://gitlab.haskell.org/ghc/ghc/-/issues/new From sperber at deinprogramm.de Tue Mar 25 19:15:57 2025 From: sperber at deinprogramm.de (Michael Sperber) Date: Tue, 25 Mar 2025 20:15:57 +0100 Subject: [Haskell-cafe] Call for Participation, Functional Software Architecture (Oct. 17th, Singapore) Message-ID: ====================================================================== *** FUNARCH 2025 -- CALL FOR PARTICIPATION *** The Third ACM SIGPLAN Workshop on Functional Software Architecture - FP in the Large 17th October 2025, Singapore Co-located with ICFP 2025 https://www.functional-architecture.org/events/funarch-2025/ ====================================================================== BACKGROUND: The ACM SIGPLAN Workshop on Functional Software Architecture - FP in the Large aims to disseminate and enable the use of functional programming in the large and long-lived software projects. We specifically want: - To assemble a community interested in software architecture techniques and technologies specific to functional programming; - To identify, categorize, and document topics relevant to the field of functional software architecture; - To connect the functional programming community to the software architecture community to cross-pollinate between the two. We'd love for you to be part of this effort. Whatever your background, you're welcome at FUNARCH - to listen to talks, report on your experience, and interact with others that share our goals. See you at FUNARCH! REGISTRATION: You can register for the workshop via the registration page for the ICFP conference, but there's no need to also register for the conference. KEYNOTE: TBD ACCEPTED SUBMISSIONS: TBD PROGRAM CHAIRS: Jeffrey Young (Active Group, Germany) Christina Rizkallah (University of Edinburgh, UK) PROGRAM COMMITTEE: Isabella Stilkerich (Schaeffler Technologies) Ryan Scott (Galois) Facundo Dominguez (Tweag) J. Garrett Morris (University of Iowa) Nada Amin (Harvard University) Tom Ellis (Groq) KC Sivaramakrishnan (IIT Madras and Tarides) Hidehiko Masuhara (Institute of Science Tokyo) WORKSHOP VENUE: The workshop will be co-located with the ICFP 2025 conference at the Marina Bay Sands Convention Centre, Singapore. ====================================================================== From sperber at deinprogramm.de Tue Mar 25 19:22:30 2025 From: sperber at deinprogramm.de (Michael Sperber) Date: Tue, 25 Mar 2025 20:22:30 +0100 Subject: [Haskell-cafe] Call for Papers, Functional Software Architecture (Deadline June 16) Message-ID: ====================================================================== *** FUNARCH 2025 -- CALL FOR PAPERS *** Third ACM SIGPLAN Workshop on Functional Software Architecture - FP in the Large 17th October 2025, Singapore Co-located with ICFP 2025 https://functional-architecture.org/events/funarch-2025/ ====================================================================== TIMELINE: Paper submission 16th June 2025 Author notification 21st July 2025 Camera ready copy 25th August 2025 Workshop 17th October 2025 BACKGROUND: "Functional Software Architecture" refers to methods of construction and structure of large and long-lived software projects that are implemented in functional languages and released to real users, typically in industry. The goals for the workshop are: - To assemble a community interested in software architecture techniques and technologies specific to functional programming; - To identify, categorize, and document topics relevant to the field of functional software architecture; - To connect the functional programming community to the software architecture community to cross-pollinate between the two. The workshop follows on from the Functional Software Architecture open space that was held at ICFP 2022 in Slovenia. SCOPE: The workshop seeks submissions in a range of categories: - You're a member of the FP community and have thought about how to support programming in the large, for example by framing functional ideas in architectural terms or vice verse, comparing different languages in terms of their architectural capabilities, clarifying architectural roles played by formal methods, proof assistants and DSLs, or observing how functional concepts are used in other language and architecture communities. Great, submit a research paper! - You're a member of the architecture community, and have thought about how your discipline might help functional programmers, for example by applying domain-driven design, implementing hexagonal architecture, or designing self-contained systems. Excellent, submit a research paper! - You've worked on a large project using functional programming, and it's worked out well, or terribly, or a mix of both; bonus points for deriving architectural principles from your experience. Wonderful, submit an experience report! - You know a neat architectural idiom or pattern that may be useful to others developing large functional software systems. Fabulous, submit an architectural pearl! - You have something that doesn't fit the above categories, but that still relates to functional software architecture, such as something that can be written up, or that could be part of the workshop format like a panel debate or a fishbowl. Superb, submit to the open category! Research papers should explain their research contributions in both general and technical terms, identifying what has been accomplished, explaining why it is significant, and relating it to previous work, and to other languages where appropriate. Experience reports and architectural pearls need not necessarily report original research results. The key criterion for such papers is that they make a contribution from which others can benefit. It is not enough simply to describe a large software system, or to present ideas that are specific to a particular system. Open category submissions that are not intended for publication are not required to follow the formatting guidelines, and can submit in PDF, word or plain text format as preferred. Not knowing what kinds of submissions we will receive, we cannot be specific as to how they will be evaluated. However, submissions that seem likely to stimulate discussion around practices in functional architecture are encouraged. If you are unsure whether your contribution is suitable, or if you need any kind of help with your submission, please email the program chairs (Jeff (jmy6342 at gmail.com) and Christine (christine.rizkallah at unimelb.edu.au)). Papers must be submitted by 16th June 2025 using the hotcrp submission page (https://funarch25.hotcrp.com/). Formatting: submissions intended for publication must be in PDF format and follow the ACM SIGPLAN style guidelines, using the acmart format and the sigplan sub-format. Please use the review option when submitting, as this enables line numbers for easy reference in reviews. For further details, see SIGPLAN's author information: http://www.sigplan.org/Resources/Author/#acmart-format If your submission is not a research paper, please mark this using a subtitle (Experience Report, Architectural Pearl, Open Category). Length: submissions must adhere to the limits specified below. However, there is no requirement or expectation that all pages are used, and authors are encouraged to strive for brevity. Research papers 5 to 12+ pages Architectural pearls 5 to 12 pages Experience reports 3 to 6 pages Open category 1 to 6 pages Publication: The proceedings of FUNARCH 2024 will be published in the ACM Digital Library, and authors of accepted papers are required to agree to one of the standard ACM licensing options. Accepted papers must be presented at the workshop by one of the authors, but in special cases we may consider remote presentation. The official publication date is the date the papers are made available in the ACM Digital Library. This date may be up to two weeks prior to the first day of the conference. The official publication date affects the deadline for any patent filings related to published work. PROGRAM CHAIRS: Jeffrey Young (Unaffiliated) Cristine Rizkallah (University of Melbourne) PROGRAM COMMITTEE: Isabella Stilkerich (Schaeffler Technologies) Ryan Scott (Galois) Facundo Dominguez (Tweag) J. Garrett Morris (University of Iowa) Nada Amin (Harvard University) Tom Ellis (Groq) KC Sivaramakrishnan (IIT Madras and Tarides) Hidehiko Masuhara (Institute of Science Tokyo) WORKSHOP VENUE: Room to be determined. The workshop will be co-located with the ICFP 2025 conference at the Marina Bay Sands Convention Centre, Singapore. From mmcconnell17704 at yahoo.com Wed Mar 26 21:37:00 2025 From: mmcconnell17704 at yahoo.com (Mark McConnell) Date: Wed, 26 Mar 2025 21:37:00 +0000 (UTC) Subject: [Haskell-cafe] implementing a class using superclasses? References: <1614494896.1247135.1743025020050.ref@mail.yahoo.com> Message-ID: <1614494896.1247135.1743025020050@mail.yahoo.com> Here is a simplified, self-contained version of some code I'm working on.  I have a Ord type Foo that I want to be ordered primarily by comp1, and, in case of ties, secondarily by comp2.  It is important to my users to know that the primary sorting will always be by comp1.  Therefore, I am trying to use to the type system to articulate that Foo must be ordered in a two-fold lexicographic way.  My code is module Lex2Test where class Ord a => Primary a where  comp1 :: a -> a -> Ordering  comp1 = compare class Ord a => Secondary a where  comp2 :: a -> a -> Ordering  comp2 = compare class (Primary a, Secondary a) => Lex2 a instance Lex2 a => Ord a where  compare x y = comp1 x y <> comp2 x y However, when I load the code into ghci, I get Lex2Test.hs:13:10: error:    • The constraint ‘Lex2 a’        is no smaller than the instance head ‘Ord a’      (Use UndecidableInstances to permit this)    • In the instance declaration for ‘Ord a’   |13 | instance Lex2 a => Ord a where   |          ^^^^^^^^^^^^^^^ I feel I must be missing something.  UndecidableInstances seems too extreme for what I am trying to do.  (I have never said that I want to go backwards in class inference from Ord to Lex2.) If this were C++, I would be just trying to implement some virtual functions in terms of other virtual functions. Any comments would be appreciated. -------------- next part -------------- An HTML attachment was scrubbed... URL: From migmit at gmail.com Wed Mar 26 21:48:13 2025 From: migmit at gmail.com (MigMit) Date: Wed, 26 Mar 2025 22:48:13 +0100 Subject: [Haskell-cafe] implementing a class using superclasses? In-Reply-To: <1614494896.1247135.1743025020050@mail.yahoo.com> References: <1614494896.1247135.1743025020050.ref@mail.yahoo.com> <1614494896.1247135.1743025020050@mail.yahoo.com> Message-ID: <9572638A-1DFB-4419-B9AC-665D4FFDBB63@gmail.com> In standard Haskell, instances don't work like that. You simply can't make `instance Ord a`, you need some type constructor. Perhaps this would help: newtype Proxy a = Proxy a instance Lex2 a => Ord (Proxy a) where compare (Proxy x) (Proxy y) = comp1 x y <> comp2 x y ~~~ You can make this compile with UndecidableInstances, but that opens another can of worms. Suppose you have data X = ...blablabla instance Ord X instance Primary X instance Secondary X instance Lex2 X That would compile, despite comparisons not being defined. That's because you have defaults for comp1 and comp2, so you'd have compare x y = comp1 x y <> comp2 x y = compare x y <> compare x y which would at best crash with an error, and at worst loop forever. > On 26 Mar 2025, at 22:37, Mark McConnell via Haskell-Cafe wrote: > > Here is a simplified, self-contained version of some code I'm working on. I have a Ord type Foo that I want to be ordered primarily by comp1, and, in case of ties, secondarily by comp2. It is important to my users to know that the primary sorting will always be by comp1. Therefore, I am trying to use to the type system to articulate that Foo must be ordered in a two-fold lexicographic way. My code is > > module Lex2Test where > > class Ord a => Primary a where > comp1 :: a -> a -> Ordering > comp1 = compare > > class Ord a => Secondary a where > comp2 :: a -> a -> Ordering > comp2 = compare > > class (Primary a, Secondary a) => Lex2 a > > instance Lex2 a => Ord a where > compare x y = comp1 x y <> comp2 x y > > However, when I load the code into ghci, I get > > Lex2Test.hs:13:10: error: > • The constraint ‘Lex2 a’ > is no smaller than the instance head ‘Ord a’ > (Use UndecidableInstances to permit this) > • In the instance declaration for ‘Ord a’ > | > 13 | instance Lex2 a => Ord a where > | ^^^^^^^^^^^^^^^ > > I feel I must be missing something. UndecidableInstances seems too extreme for what I am trying to do. (I have never said that I want to go backwards in class inference from Ord to Lex2.) > > If this were C++, I would be just trying to implement some virtual functions in terms of other virtual functions. > > Any comments would be appreciated. > > _______________________________________________ > Haskell-Cafe mailing list > To (un)subscribe, modify options or view archives go to: > http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe > Only members subscribed via the mailman list are allowed to post. From jhagborg at quasicoherent.solutions Wed Mar 26 22:08:27 2025 From: jhagborg at quasicoherent.solutions (Jade Hagborg) Date: Wed, 26 Mar 2025 18:08:27 -0400 Subject: [Haskell-cafe] implementing a class using superclasses? In-Reply-To: <1614494896.1247135.1743025020050@mail.yahoo.com> References: <1614494896.1247135.1743025020050.ref@mail.yahoo.com> <1614494896.1247135.1743025020050@mail.yahoo.com> Message-ID: Hi Mark, On Wed, 2025-03-26 at 21:37 +0000, Mark McConnell via Haskell-Cafe wrote: > instance Lex2 a => Ord a where >   compare x y = comp1 x y <> comp2 x y This attempts to define `Ord a` in general, for *every* type `a` at once. The `Lex2 a` constraint is only checked *after* the compiler has decided this is the instance to use. Besides decidability concerns, this is probably not what you want, since it overlaps with every other type's Ord instance. If you want to express a strategy for implementing one typeclass in terms of others, I would suggest using a newtype together with DerivingVia: newtype UsePrimaryAndSecondary a = MkUsePrimaryAndSecondary a instance (Primary a, Secondary a) => Ord (Lex2 a) where compare (MkLex2 x) (MkLex2 y) = comp1 x y <> comp2 x y data Foo = -- ... deriving Ord via (UsePrimaryAndSecondary Foo) instance Primary Foo where -- ... instance Secondary Foo where -- ... If, on the other hand, you want to express a constraint, as opposed to an implementation strategy, I think the conventional thing to do would be to define Lex2 as a subclass of Ord, Primary, and Secondary, and no additional members. Then put the (informal) requirements in a comment, similar to e.g. the monad laws. You can of course combine the two approaches. > I feel I must be missing something.  UndecidableInstances seems too > extreme for what I am trying to do.  (I have never said that I want > to go backwards in class inference from Ord to Lex2.) This is, in general, how type class resolution works. The compiler matches on the *head* (the thing to the right of =>), and then recurses on the constraints (to the left of the =>). -- Jade From jhagborg at quasicoherent.solutions Wed Mar 26 22:13:29 2025 From: jhagborg at quasicoherent.solutions (Jade Hagborg) Date: Wed, 26 Mar 2025 18:13:29 -0400 Subject: [Haskell-cafe] implementing a class using superclasses? In-Reply-To: References: <1614494896.1247135.1743025020050.ref@mail.yahoo.com> <1614494896.1247135.1743025020050@mail.yahoo.com> Message-ID: <0265fc97527675b4323b071bcf11ef259d43770a.camel@quasicoherent.solutions> On Wed, 2025-03-26 at 18:08 -0400, Jade Hagborg via Haskell-Cafe wrote: >     instance (Primary a, Secondary a) => Ord (Lex2 a) where >         compare (MkLex2 x) (MkLex2 y) = comp1 x y <> comp2 x y My bad (copy-paste error), should be instance (Primary a, Secondary a) => Ord (UsePrimaryAndSecondary a) where compare (MkUsePrimaryAndSecondary x)  (MkUsePrimaryAndSecondary y) = comp1 x y <> comp2 x y Sorry if that caused confusion. From lemming at henning-thielemann.de Wed Mar 26 21:49:08 2025 From: lemming at henning-thielemann.de (Henning Thielemann) Date: Wed, 26 Mar 2025 22:49:08 +0100 (CET) Subject: [Haskell-cafe] implementing a class using superclasses? In-Reply-To: <1614494896.1247135.1743025020050@mail.yahoo.com> References: <1614494896.1247135.1743025020050.ref@mail.yahoo.com> <1614494896.1247135.1743025020050@mail.yahoo.com> Message-ID: On Wed, 26 Mar 2025, Mark McConnell via Haskell-Cafe wrote: > Here is a simplified, self-contained version of some code I'm working > on.  I have a Ord type Foo that I want to be ordered primarily by comp1, > and, in case of ties, secondarily by comp2.  It is important to my users > to know that the primary sorting will always be by comp1.  Therefore, I > am trying to use to the type system to articulate that Foo must be > ordered in a two-fold lexicographic way.  My code is > > module Lex2Test where > > class Ord a => Primary a where >   comp1 :: a -> a -> Ordering >   comp1 = compare > > class Ord a => Secondary a where >   comp2 :: a -> a -> Ordering >   comp2 = compare > > class (Primary a, Secondary a) => Lex2 a > > instance Lex2 a => Ord a where >   compare x y = comp1 x y <> comp2 x y This instance declaration means, that you want to define an Ord instance universally for all types 'a'. This includes all the types that already have Ord instances, like Int, Char, Bool etc. Did you want to define an instance on Foo instead? From andreash87 at gmx.ch Thu Mar 27 10:14:36 2025 From: andreash87 at gmx.ch (Andreas Herrmann) Date: Thu, 27 Mar 2025 11:14:36 +0100 Subject: [Haskell-cafe] CFP - Haskell Implementors' Workshop 2025 In-Reply-To: References: Message-ID: This is a reminder that the call for proposals for the Haskell Implementors’ Workshop 2025 is open and the deadline is approaching. Please submit your proposals until April 4, 2025 using the following link. https://docs.google.com/forms/d/e/1FAIpQLSdczGbxJYGc4eusvPrxwBbZl561PnKeYnoZ2hYsdw_ZpSfupQ/viewform?usp=header --- Call for proposals for the Haskell Implementors' Workshop https://haskell.foundation/events/2025-haskell-implementors-workshop.html June 6, 2025 Organized by the Haskell Community Co-located with ZuriHac 2025 and Haskell Ecosystem Workshop 2025 Hosted by the Haskell Foundation at Eastern Switzerland University of Applied Sciences (OST) https://www.ost.ch/en/university-of-applied-sciences/campus/rapperswil-jona-campus ## Overview * Deadline: April 4, 2025 * Notification: May 5, 2025 * Workshop: June 6, 2025 The 17th Haskell Implementors' Workshop is to be held alongside ZuriHac 2025 this year near Zurich. 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. Talks and/or demos are proposed by submitting an abstract, and selected by a small program committee. There will be no published proceedings. The workshop will be informal and interactive, with open spaces in the timetable and room for ad-hoc discussion, demos, and lightning talks. 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. This year the Haskell Implementors’ Workshop will 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. Submissions can be made via the form linked below until April 4, 2025 (anywhere on earth). https://docs.google.com/forms/d/e/1FAIpQLSdczGbxJYGc4eusvPrxwBbZl561PnKeYnoZ2hYsdw_ZpSfupQ/viewform?usp=header 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. ## Program Committee * Luite Stegeman * Jaro Reinders * Emily Pillmore * Rodrigo Mesquita * Ian-Woo Kim * Andreas Herrmann (chair) ## Contact * Andreas Herrmann Am Fr., 21. Feb. 2025 um 16:54 Uhr schrieb Andreas Herrmann < andreash87 at gmx.ch>: > Call for proposals for the > Haskell Implementors' Workshop > https://haskell.foundation/events/2025-haskell-implementors-workshop.html > June 6, 2025 > > Organized by the Haskell Community > Co-located with ZuriHac 2025 and Haskell Ecosystem Workshop 2025 > Hosted by the Haskell Foundation > at Eastern Switzerland University of Applied Sciences (OST) > > https://www.ost.ch/en/university-of-applied-sciences/campus/rapperswil-jona-campus > > ## Overview > > * Deadline: April 4, 2025 > * Notification: May 5, 2025 > * Workshop: June 6, 2025 > > The 17th Haskell Implementors' Workshop is to be held alongside ZuriHac > 2025 this year near Zurich. 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. > > Talks and/or demos are proposed by submitting an abstract, and selected by > a small program committee. There will be no published proceedings. The > workshop will be informal and interactive, with open spaces in the > timetable and room for ad-hoc discussion, demos, and lightning talks. > > 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. This year the Haskell > Implementors’ Workshop will 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. > > Submissions can be made via the form linked below until April 4, 2025 > (anywhere on earth). > > https://docs.google.com/forms/d/e/1FAIpQLSdczGbxJYGc4eusvPrxwBbZl561PnKeYnoZ2hYsdw_ZpSfupQ/viewform?usp=header > > 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. > > ## Program Committee > > * Luite Stegeman > * Jaro Reinders > * Emily Pillmore > * Rodrigo Mesquita > * Ian-Woo Kim > * Andreas Herrmann (chair) > > ## Contact > > * Andreas Herrmann > -------------- next part -------------- An HTML attachment was scrubbed... URL: From xnningxie at gmail.com Thu Mar 27 16:09:37 2025 From: xnningxie at gmail.com (Ningning Xie) Date: Thu, 27 Mar 2025 12:09:37 -0400 Subject: [Haskell-cafe] Haskell Symposium 2025 First Call for Papers Message-ID: ======================================================================== Haskell Symposium 2025 Call for Papers Thu 16 - Fri 17 Oct 2025, Singapore https://conf.researchr.org/home/icfp-splash-2025/haskellsymp-2025 ======================================================================== The ACM SIGPLAN Haskell Symposium 2025 will be co-located with the 2025 International Conference on Functional Programming (ICFP) and the 2025 International Conference on Systems, Programming, Languages and Applications: Software for Humanity (SPLASH). The Haskell Symposium presents original research on Haskell, discusses practical experience and future development of the language, and promotes other forms of declarative programming. Submission deadline: 9 June 2025 (Mon) Notification: 17 July 2025 (Thu) Deadlines are valid anywhere on Earth. Papers should be submitted through HotCRP at: https://haskell25.hotcrp.com/ Topics of interest include: * Language design, with a focus on possible extensions and modifications of Haskell as well as critical discussions of the status quo; * Theory, such as formal semantics of the present language or future extensions, type systems, effects, metatheory, and foundations for program analysis and transformation; * Implementations, including program analysis and transformation, static and dynamic compilation for sequential, parallel, and distributed architectures, memory management, as well as foreign function and component interfaces; * Libraries, that demonstrate new ideas or techniques for functional programming in Haskell; * Tools, such as profilers, tracers, debuggers, preprocessors, and testing tools; * Applications, to scientific and symbolic computing, databases, multimedia, telecommunication, the web, and so forth; * Functional Pearls, being elegant and instructive programming examples; * Experience Reports, to document general practice and experience in education, industry, or other contexts; * Tutorials, to document how to use a particular language feature, programming technique, tool or library within the Haskell ecosystem; * System Demonstrations, based on running software rather than novel research results. Program Committee ================= Andreas Abel Gothenburg University Patrick Bahr IT University of Copenhagen Matthew Fluet Rochester Institute of Technology Adam Gundry Well-Typed LLP Xuejing Huang IRIF Hideya Iwasaki Meiji University Patricia Johann Appalachian State University Hsiang-Shang 'Josh' Ko Institute of Information Science, Academia Sinica András Kovács University of Gothenburg and Chalmers University of Technology Andres Löh Well-Typed LLP J. Garrett Morris (co-chair) University of Iowa Liam O'Connor Australian National University Maciej Piróg University of Wrocław Arnaud Spiwack Tweag Meng Wang University of Bristol Li-yao Xia Inria Ningning Xie (co-chair) University of Toronto Gergő Érdi Standard Chartered Bank If you have questions, please contact the chairs at: ningningxie at cs.toronto.edu and garrett-morris at uiowa.edu. -------------- next part -------------- An HTML attachment was scrubbed... URL: From chisvasileandrei at gmail.com Thu Mar 27 22:46:17 2025 From: chisvasileandrei at gmail.com (Andrei Chis) Date: Thu, 27 Mar 2025 23:46:17 +0100 Subject: [Haskell-cafe] Call for Nominations: SLE 2025 - Artifact Evaluation Committee, Nominations Wanted Message-ID: 18th ACM SIGPLAN International Conference on Software Language Engineering (SLE 2025) 12-13 June 2025 Koblenz, Germany https://conf.researchr.org/home/sle-2025 https://www.sleconf.org/2025/ https://x.com/sleconf ------------------------------------------------------------------------ The SLE 2025 Artifact Evaluation Committee (AEC) is looking for nominations and self-nominations for committee members. If you are a PhD student, postdoctoral researcher, associate, or professor working in software language engineering, we encourage you to apply. Serving on the AEC is an excellent opportunity to contribute to the community and gain valuable experience in artifact evaluation. -------------------------------------- Important Dates (All deadlines are AoE) -------------------------------------- Artifact submission deadline: April 23, 2025 Artifact bidding: April 24–26, 2025 Camera-ready deadline for SLE papers: May 1, 2025 Kick-the-tires review deadline & rebuttal phase: May 2, 2025 Final review deadline: May 24, 2025 Artifact discussion: May 25–31, 2025 Artifact notification: June 1, 2025 ------------------------------------------------------------------------ To nominate yourself or someone else, please complete the following form by April 6, 2025 Form: https://docs.google.com/forms/d/15Q-9i1tCwHzrtdtRqfJbWqZs4hV7DnJfwBSZuop75bw/viewform?edit_requested=true For any questions, please do not hesitate to contact us. SLE 2025 Artifact Evaluation Co-Chairs, Idriss Riouak and Jeff Smits Idriss Riouak: idriss.riouak at cs.lth.se Jeff Smits: j.smits-1 at tudelft.nl From mmcconnell17704 at yahoo.com Fri Mar 28 17:46:10 2025 From: mmcconnell17704 at yahoo.com (Mark McConnell) Date: Fri, 28 Mar 2025 17:46:10 +0000 (UTC) Subject: [Haskell-cafe] implementing a class using superclasses? In-Reply-To: <0265fc97527675b4323b071bcf11ef259d43770a.camel@quasicoherent.solutions> References: <1614494896.1247135.1743025020050.ref@mail.yahoo.com> <1614494896.1247135.1743025020050@mail.yahoo.com> <0265fc97527675b4323b071bcf11ef259d43770a.camel@quasicoherent.solutions> Message-ID: <192331817.1661891.1743183970118@mail.yahoo.com> Thank you to everyone who replied.  The thing I was misunderstanding was, to quote Jade, "This attempts to define `Ord a` in general, for *every* type `a` at once.  The `Lex2 a` constraint is only checked *after* the compiler has decided this is the instance to use." I appreciate seeing how a Proxy constructor, or DerivingVia, would solve the problem.  However, I decided just to document carefully what I was doing. On Wednesday, March 26, 2025 at 06:14:00 PM EDT, Jade Hagborg wrote: On Wed, 2025-03-26 at 18:08 -0400, Jade Hagborg via Haskell-Cafe wrote: >     instance (Primary a, Secondary a) => Ord (Lex2 a) where >         compare (MkLex2 x) (MkLex2 y) = comp1 x y <> comp2 x y My bad (copy-paste error), should be     instance (Primary a, Secondary a) => Ord (UsePrimaryAndSecondary a) where         compare (MkUsePrimaryAndSecondary x)                  (MkUsePrimaryAndSecondary y) = comp1 x y <> comp2 x y Sorry if that caused confusion. -------------- next part -------------- An HTML attachment was scrubbed... URL: From kazu at iij.ad.jp Sat Mar 29 02:25:17 2025 From: kazu at iij.ad.jp (Kazu Yamamoto (=?iso-2022-jp?B?GyRCOzNLXE9CSScbKEI=?=)) Date: Sat, 29 Mar 2025 11:25:17 +0900 (JST) Subject: [Haskell-cafe] dumping ByteArray# Message-ID: <20250329.112517.1131989540495457269.kazu@iij.ad.jp> Hello, For debugging, I need to dump the inside of `ByteArray#`. Are there any utility functions for this purpose? --Kazu From ietf-dane at dukhovni.org Sat Mar 29 02:38:18 2025 From: ietf-dane at dukhovni.org (Viktor Dukhovni) Date: Sat, 29 Mar 2025 13:38:18 +1100 Subject: [Haskell-cafe] dumping ByteArray# In-Reply-To: <20250329.112517.1131989540495457269.kazu@iij.ad.jp> References: <20250329.112517.1131989540495457269.kazu@iij.ad.jp> Message-ID: On Sat, Mar 29, 2025 at 11:25:17AM +0900, Kazu Yamamoto (山本和彦) via Haskell-Cafe wrote: > For debugging, I need to dump the inside of `ByteArray#`. > Are there any utility functions for this purpose? The `SBS` pattern in `Data.ByteString.Short.Internal` wraps up a `ByteArray#` as `ShortByteString`. $ ghci GHCi, version 9.8.1: https://www.haskell.org/ghc/ :? for help Loaded GHCi configuration from /home/viktor/.ghc/ghci.conf λ> import Data.ByteString.Short.Internal λ> :info SBS pattern SBS :: GHC.Prim.ByteArray# -> ShortByteString -- Defined in ‘Data.ByteString.Short.Internal’ λ> What sort of "dump" did you have in mind? A hexadecimal encoding? Something else? -- Viktor. From ietf-dane at dukhovni.org Sat Mar 29 02:54:45 2025 From: ietf-dane at dukhovni.org (Viktor Dukhovni) Date: Sat, 29 Mar 2025 13:54:45 +1100 Subject: [Haskell-cafe] dumping ByteArray# In-Reply-To: References: <20250329.112517.1131989540495457269.kazu@iij.ad.jp> Message-ID: On Sat, Mar 29, 2025 at 01:38:18PM +1100, Viktor Dukhovni wrote: > On Sat, Mar 29, 2025 at 11:25:17AM +0900, Kazu Yamamoto (山本和彦) via Haskell-Cafe wrote: > > > For debugging, I need to dump the inside of `ByteArray#`. > > Are there any utility functions for this purpose? > > The `SBS` pattern in `Data.ByteString.Short.Internal` wraps up > a `ByteArray#` as `ShortByteString`. > > $ ghci > GHCi, version 9.8.1: https://www.haskell.org/ghc/ :? for help > Loaded GHCi configuration from /home/viktor/.ghc/ghci.conf > λ> import Data.ByteString.Short.Internal > λ> :info SBS > pattern SBS :: GHC.Prim.ByteArray# -> ShortByteString > -- Defined in ‘Data.ByteString.Short.Internal’ > λ> > > What sort of "dump" did you have in mind? A hexadecimal encoding? > Something else? Related combinators I've used at times (so `SBS` is also exported from "Data.ByteString.Short", withour resort to ".Internal"): import qualified Data.Primitive.ByteArray as A import qualified Data.ByteString.Short as SB import Data.Array.Byte (ByteArray(..), MutableByteArray(..)) import Data.ByteString.Short (ShortByteString(SBS)) baToShortByteString :: ByteArray -> ShortByteString baToShortByteString (ByteArray ba) = SBS ba modifyArray :: MutableByteArray s -> Int -> (Word8 -> Word8) -> ST s () modifyArray marr i f = A.readByteArray marr i >>= A.writeByteArray marr i . f sbsToByteArray :: ShortByteString -> ByteArray sbsToByteArray (SBS ba) = (ByteArray ba) sbsToMutableByteArray :: ShortByteString -> ST s (MutableByteArray s) sbsToMutableByteArray sb@(SBS ba) = A.thawByteArray (ByteArray ba) 0 (SB.length sb) -- Viktor. From kazu at iij.ad.jp Sat Mar 29 04:35:27 2025 From: kazu at iij.ad.jp (Kazu Yamamoto (=?iso-2022-jp?B?GyRCOzNLXE9CSScbKEI=?=)) Date: Sat, 29 Mar 2025 13:35:27 +0900 (JST) Subject: [Haskell-cafe] dumping ByteArray# In-Reply-To: References: <20250329.112517.1131989540495457269.kazu@iij.ad.jp> Message-ID: <20250329.133527.2053797946364389086.kazu@iij.ad.jp> Hi Viktor, >> For debugging, I need to dump the inside of `ByteArray#`. >> Are there any utility functions for this purpose? > > The `SBS` pattern in `Data.ByteString.Short.Internal` wraps up > a `ByteArray#` as `ShortByteString`. Excellent! `SBS` works perfectly to me. Thank you. > What sort of "dump" did you have in mind? A hexadecimal encoding? > Something else? I'm debugging BCrypt hash in "crypton" which fails a test case only on arm64 architecture. I suspect that Context of blowfish created on arm64 is differrent from that on x86_64. `SBS` tells me that they are actually different. So, a bug exists in the functions to create Context. I can take a step forward now. --Kazu