From Graham.Hutton at nottingham.ac.uk Fri Feb 2 07:01:33 2024 From: Graham.Hutton at nottingham.ac.uk (Graham Hutton) Date: Fri, 2 Feb 2024 07:01:33 +0000 Subject: [Haskell-cafe] PhD studentship in functional programming (closing date 9th Feb) Message-ID: Dear all, If you are interested in applying for the advertised PhD studentship in functional programming, please note that the closing date is now one week away (9th February). Best wishes, Graham +-----------------------------------------------------------+ Fully-Funded PhD Studentship Functional Programming Lab School of Computer Science University of Nottingham, UK http://tinyurl.com/fplab-phd Applications are invited for a fully-funded PhD studentship under the supervision of Prof Graham Hutton, starting on 1st October 2024. The successful applicant will join the Functional Programming Lab, an internationally-leading centre for programming language research. The topic for the studentship is open, but should relate to the research interests of Prof Hutton on the mathematics of program construction. The studentship forms part of the recently-funded EPSRC project on Semantics-Directed Compiler Construction, which seeks to develop new techniques for constructing certified compilers from semantics. The studentship is open to home and international students, is fully-funded for three and a half years, and includes a stipend of £18,622 per year and tuition fees. Applicants are expected to have a first-class Masters or Bachelors degree (or equivalent) in Computer Science and/or Mathematics, and an excellent ability and interest in the mathematical foundations of programming (topics such as logic and semantics), together with experience of programming in a functional language. Further information and advice for prospective applicants is available from http://tinyurl.com/369xwzc7. Funding for this studentship is already in place. To apply, please submit the following items by email to graham.hutton at nottingham.ac.uk: (1) a brief covering letter that describes your reasons for wishing to undertake a PhD and any ideas you have about potential topics; (2) a copy of your CV, including your actual or expected degree class(es) and results of all university examinations; (3) an example of your technical writing, such as a report or dissertation; (4) email addresses for two academic referees. Closing date for applications: Friday 9th February 2024. +-----------------------------------------------------------+ -- Professor Graham Hutton School of Computer Science University of Nottingham, UK http://www.cs.nott.ac.uk/~pszgmh 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 robstewart57 at gmail.com Thu Feb 8 09:22:52 2024 From: robstewart57 at gmail.com (Rob Stewart) Date: Thu, 8 Feb 2024 09:22:52 +0000 Subject: [Haskell-cafe] Call for Participation: HAFDAL workshop, 3rd March in Edinburgh Message-ID: *Call for Participation* The Hardware Acceleration of Functional and Declarative Languages (HAFDAL) workshop on 3rd March is co-located with HPCA, CGO, CC and PPoPP in Edinburgh. Confirmed speakers are: *Reflections on compiling Haskell to Hardware*, Christiaan Baaij (QBayLogic) *The Cephalopode Project: Creating a low-power IoT device aimed at functional language execution*, Carl-Johan Seger (Chalmers University of Technology) *Prefetching in Functional Languages: a Hardware-Software Retrospective*, Sam Ainsworth (Research Consultant and University of Edinburgh) *Heron: A graph reduction processor with concurrent garbage collection*, Craig Ramsay (Heriot-Watt University) *PipelineC: Easier hardware description between RTL and HLS*, Julian Kemmerer (Deepwave Digital) *From Open Hardware Design to Silicon: Lessons From Some Big (Academic) Chips*, Jon Balkind (UC Santa Barbara) *BRAT: Compositional programming for hybrid quantum algorithms*, Craig Roy (Quantinuum) Workshop registration includes lunch, coffee and access to industry tutorials in the morning. https://haflang.github.io/workshops/hafdal24.html Best wishes, -- Rob Stewart Associate Professor Computer Science, Heriot-Watt University W: https://www.macs.hw.ac.uk/~rs46 -------------- next part -------------- An HTML attachment was scrubbed... URL: From scholarshipchile at gmail.com Thu Feb 8 12:54:43 2024 From: scholarshipchile at gmail.com (Andrew Zayine) Date: Thu, 8 Feb 2024 12:54:43 +0000 Subject: [Haskell-cafe] Invitation Guest Speaker @ ACFTI Cybersecurity stream In-Reply-To: References: Message-ID: On behalf of the Association of Cyber Forensics and Threat Investigators (ACFTI), I am pleased to invite you to the new Cybersecurity stream lecture/seminar series. The presentation is a maximum of 1 hour in length, with an audience of about 60+, made up of undergraduate and postgraduate students plus cybersecurity students from developing countries. Our goal is to shine a spotlight on the broad array of new advances in cybersecurity science and operations currently adopted in the industry. This session will be conducted online. It will be fantastic to have any hands-on topics related to cyber forensics. Your discussion on this topic will be a great addition to our event. Expressions of interest to present from anyone doing research or applying cybersecurity techniques to practical or theoretical applications related to the interactions between cyber forensics and threat investigations can be sent as a summary of your work (c.200 words) to acfti (at) acfti (dot) org by February 15, 2024 Thank you in advance for your consideration, and we are very much looking forward to hearing from you. To get more news about our events, please join our low-traffic announcement group @ https://groups.google.com/g/acfti ________________________________________________________ Association of Cyber Forensics and Threat Investigators https://www.acfti.org Twitter: @acfti From jmct at haskell.foundation Thu Feb 8 18:00:46 2024 From: jmct at haskell.foundation (Jose Calderon) Date: Thu, 8 Feb 2024 13:00:46 -0500 Subject: [Haskell-cafe] Haskell Ecosystem Workshop @ Zurihac Message-ID: Hello everyone, Much like last year, the Haskell Foundation is putting on a technical workshop co-located with Zurihac. Last year the focus was on GHC, this year we are changing the scope of the workshop in order to include tools that ‘fill out’ the Haskell and GHC development ecosystem, including: * Haskell Language Server * Cabal * Haskell Ecosystem Security * GHC The event will be held during the 2 days prior to Zurihac , 6-7 June, 2024. Please take this into account when planning your trip to Zurihac. The event's aim is to help folks interested in contributing to these tools get up to speed on the context, design, and workflow necessary in order to make contributions to these projects. We're asking our speakers to have 'good first issues' ready for volunteers to work on, and Zurihac itself will be a great time to dive in whilst still having access to the various maintainers. Additionally, the talks will be recorded as a form of documentation for these tools. We have a few speakers committed, but are still working on the overall program. Once we have the program finalized, we will open registration. We expect to have all speakers and talks finalized within the next few weeks. Just as last year, the event will have a modest registration fee in order to cover its costs and pay for the speakers to attend. If you have any suggestions on what tools/topics you would like to see represented, I’m happy to hear them. While this year’s program is mostly filled, it can help us know what to plan for future events like this. I hope to see you there! From ivanperezdominguez at gmail.com Thu Feb 8 21:33:29 2024 From: ivanperezdominguez at gmail.com (Ivan Perez) Date: Thu, 8 Feb 2024 13:33:29 -0800 Subject: [Haskell-cafe] Invitation Guest Speaker @ ACFTI Cybersecurity stream In-Reply-To: References: Message-ID: We should all accept in unison. See what happens :D Ivan On Thu, 8 Feb 2024 at 04:55, Andrew Zayine wrote: > On behalf of the Association of Cyber Forensics and Threat > Investigators (ACFTI), I am pleased to invite you to the new > Cybersecurity stream lecture/seminar series. > > The presentation is a maximum of 1 hour in length, with an audience of > about 60+, made up of undergraduate and postgraduate students plus > cybersecurity students from developing countries. Our goal is to shine > a spotlight on the broad array of new advances in cybersecurity > science and operations currently adopted in the industry. This session > will be conducted online. It will be fantastic to have any hands-on > topics related to cyber forensics. > > Your discussion on this topic will be a great addition to our event. > > Expressions of interest to present from anyone doing research or > applying cybersecurity techniques to practical or theoretical > applications related to the interactions between cyber forensics and > threat investigations can be sent as a summary of your work (c.200 > words) to acfti (at) acfti (dot) org by February 15, 2024 > > Thank you in advance for your consideration, and we are very much > looking forward to hearing from you. > > To get more news about our events, please join our low-traffic > announcement group @ https://groups.google.com/g/acfti > ________________________________________________________ > Association of Cyber Forensics and Threat Investigators > https://www.acfti.org > Twitter: @acfti > _______________________________________________ > 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. -------------- next part -------------- An HTML attachment was scrubbed... URL: From migmit at gmail.com Thu Feb 8 21:46:28 2024 From: migmit at gmail.com (MigMit) Date: Thu, 8 Feb 2024 22:46:28 +0100 Subject: [Haskell-cafe] Invitation Guest Speaker @ ACFTI Cybersecurity stream In-Reply-To: References: Message-ID: <8702C7B9-3D8F-418A-BE98-F611F351AA55@gmail.com> Will they allow us to talk in unison too? > On 8 Feb 2024, at 22:33, Ivan Perez wrote: > > We should all accept in unison. See what happens :D > > Ivan > > On Thu, 8 Feb 2024 at 04:55, Andrew Zayine wrote: > On behalf of the Association of Cyber Forensics and Threat > Investigators (ACFTI), I am pleased to invite you to the new > Cybersecurity stream lecture/seminar series. > > The presentation is a maximum of 1 hour in length, with an audience of > about 60+, made up of undergraduate and postgraduate students plus > cybersecurity students from developing countries. Our goal is to shine > a spotlight on the broad array of new advances in cybersecurity > science and operations currently adopted in the industry. This session > will be conducted online. It will be fantastic to have any hands-on > topics related to cyber forensics. > > Your discussion on this topic will be a great addition to our event. > > Expressions of interest to present from anyone doing research or > applying cybersecurity techniques to practical or theoretical > applications related to the interactions between cyber forensics and > threat investigations can be sent as a summary of your work (c.200 > words) to acfti (at) acfti (dot) org by February 15, 2024 > > Thank you in advance for your consideration, and we are very much > looking forward to hearing from you. > > To get more news about our events, please join our low-traffic > announcement group @ https://groups.google.com/g/acfti > ________________________________________________________ > Association of Cyber Forensics and Threat Investigators > https://www.acfti.org > Twitter: @acfti > _______________________________________________ > 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. > _______________________________________________ > 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 noonsilk at gmail.com Thu Feb 8 22:08:09 2024 From: noonsilk at gmail.com (Noon van der Silk) Date: Thu, 8 Feb 2024 22:08:09 +0000 Subject: [Haskell-cafe] Invitation Guest Speaker @ ACFTI Cybersecurity stream In-Reply-To: <8702C7B9-3D8F-418A-BE98-F611F351AA55@gmail.com> References: <8702C7B9-3D8F-418A-BE98-F611F351AA55@gmail.com> Message-ID: Only if we talk about unison, which is unfortunately probably not why they've invited us. On Thu, 8 Feb 2024 at 21:46, MigMit wrote: > Will they allow us to talk in unison too? > > > On 8 Feb 2024, at 22:33, Ivan Perez > wrote: > > > > We should all accept in unison. See what happens :D > > > > Ivan > > > > On Thu, 8 Feb 2024 at 04:55, Andrew Zayine > wrote: > > On behalf of the Association of Cyber Forensics and Threat > > Investigators (ACFTI), I am pleased to invite you to the new > > Cybersecurity stream lecture/seminar series. > > > > The presentation is a maximum of 1 hour in length, with an audience of > > about 60+, made up of undergraduate and postgraduate students plus > > cybersecurity students from developing countries. Our goal is to shine > > a spotlight on the broad array of new advances in cybersecurity > > science and operations currently adopted in the industry. This session > > will be conducted online. It will be fantastic to have any hands-on > > topics related to cyber forensics. > > > > Your discussion on this topic will be a great addition to our event. > > > > Expressions of interest to present from anyone doing research or > > applying cybersecurity techniques to practical or theoretical > > applications related to the interactions between cyber forensics and > > threat investigations can be sent as a summary of your work (c.200 > > words) to acfti (at) acfti (dot) org by February 15, 2024 > > > > Thank you in advance for your consideration, and we are very much > > looking forward to hearing from you. > > > > To get more news about our events, please join our low-traffic > > announcement group @ https://groups.google.com/g/acfti > > ________________________________________________________ > > Association of Cyber Forensics and Threat Investigators > > https://www.acfti.org > > Twitter: @acfti > > _______________________________________________ > > 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. > > _______________________________________________ > > 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. > > > _______________________________________________ > 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. -- Noon van der Silk, ن http://silky.github.io/ "My programming language is kindness." -------------- next part -------------- An HTML attachment was scrubbed... URL: From jerzy.karczmarczuk at unicaen.fr Thu Feb 8 22:26:03 2024 From: jerzy.karczmarczuk at unicaen.fr (Jerzy Karczmarczuk) Date: Thu, 8 Feb 2024 23:26:03 +0100 Subject: [Haskell-cafe] Invitation Guest Speaker @ ACFTI Cybersecurity stream In-Reply-To: References: <8702C7B9-3D8F-418A-BE98-F611F351AA55@gmail.com> Message-ID: Le 08/02/2024 à 23:08, Noon van der Silk continues this extremely fruitful exchange about our invitation to this Forensics whatever... : > Only if we talk about unison, which is unfortunately probably not why > they've invited us. > > On Thu, 8 Feb 2024 at 21:46, MigMit wrote: > > Will they allow us to talk in unison too? > > > On 8 Feb 2024, at 22:33, Ivan Perez > wrote: > > > > We should all accept in unison. See what happens :D > > > > Ivan > > > > On Thu, 8 Feb 2024 at 04:55, Andrew Zayine > wrote: > > On behalf of the Association of Cyber Forensics and Threat > > Investigators (ACFTI),lowed to post. > /... etc./ Folks, *PLEASE! * I think that you are aware that those noble Forensic Agents didn't invite us at all. They invited the Most Honourable Professor Haskell. Perhaps there is among you somebody who knows where our Professor Haskell resides now. Then, please, pass the address of the Most Honourable to those Threat Investigators, so that they contact him directly, and solve all logistic issues that Forensic Specialists are supposed to master. It will be very profitable for them, for Professor Haskell and for us. Jerzy Karczmarczuk -- Cet e-mail a été vérifié par le logiciel antivirus d'Avast. www.avast.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From johannes.waldmann at htwk-leipzig.de Wed Feb 21 09:17:42 2024 From: johannes.waldmann at htwk-leipzig.de (Johannes Waldmann) Date: Wed, 21 Feb 2024 10:17:42 +0100 Subject: [Haskell-cafe] what monad is this? Message-ID: <9066d17a-a57a-4113-b8d9-227fa9856f51@htwk-leipzig.de> Dear Cafe, I was surprised to see ghc accept this code ghci> do let {x = False}; not x True because I initially thought: there's a `do`, so there must be some monad, but which is it? some implicit Identity monad perhaps? But the type is indeed plain `Bool`, and the explanation is (I think): there is a `do` but there is no monad, since the translation according to ( https://www.haskell.org/onlinereport/haskell2010/haskellch3.html#x8-470003.14 ) does never produce `(>>=)`. So, all is fine, nothing to see here. Perhaps keep in mind as an edge case, useful to confuse students. Actually, to motivate them to read the language standard ... - J.W. From noonsilk at gmail.com Wed Feb 21 09:23:21 2024 From: noonsilk at gmail.com (Noon van der Silk) Date: Wed, 21 Feb 2024 09:23:21 +0000 Subject: [Haskell-cafe] what monad is this? In-Reply-To: <9066d17a-a57a-4113-b8d9-227fa9856f51@htwk-leipzig.de> References: <9066d17a-a57a-4113-b8d9-227fa9856f51@htwk-leipzig.de> Message-ID: Yeah, it's a bit confusing; I think some tutorials/books do go over the `do` simplification steps. I guess conceptually `do` doesn't mean `Definitely a Monad`, it means `Maybe a Monad` or more `Probably should be a Monad, and if not, just remove the do!`. On Wed, 21 Feb 2024 at 09:18, Johannes Waldmann < johannes.waldmann at htwk-leipzig.de> wrote: > Dear Cafe, > > I was surprised to see ghc accept this code > > ghci> do let {x = False}; not x > True > > because I initially thought: there's a `do`, so there must be some monad, > but which is it? some implicit Identity monad perhaps? > > But the type is indeed plain `Bool`, and the explanation is (I think): > there is a `do` but there is no monad, since the translation according to > ( > https://www.haskell.org/onlinereport/haskell2010/haskellch3.html#x8-470003.14 > ) > does never produce `(>>=)`. > > So, all is fine, nothing to see here. > Perhaps keep in mind as an edge case, useful to confuse students. > Actually, to motivate them to read the language standard ... > > - J.W. > _______________________________________________ > 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. -- Noon van der Silk http://silky.github.io/ "My programming language is kindness." -------------- next part -------------- An HTML attachment was scrubbed... URL: From byorgey at gmail.com Wed Feb 21 11:07:47 2024 From: byorgey at gmail.com (Brent Yorgey) Date: Wed, 21 Feb 2024 05:07:47 -0600 Subject: [Haskell-cafe] what monad is this? In-Reply-To: <9066d17a-a57a-4113-b8d9-227fa9856f51@htwk-leipzig.de> References: <9066d17a-a57a-4113-b8d9-227fa9856f51@htwk-leipzig.de> Message-ID: ghci> :set -XBlockArguments ghci> let be = id in do be do be do () () On Wed, Feb 21, 2024 at 3:18 AM Johannes Waldmann < johannes.waldmann at htwk-leipzig.de> wrote: > Dear Cafe, > > I was surprised to see ghc accept this code > > ghci> do let {x = False}; not x > True > > because I initially thought: there's a `do`, so there must be some monad, > but which is it? some implicit Identity monad perhaps? > > But the type is indeed plain `Bool`, and the explanation is (I think): > there is a `do` but there is no monad, since the translation according to > ( > https://www.haskell.org/onlinereport/haskell2010/haskellch3.html#x8-470003.14 > ) > does never produce `(>>=)`. > > So, all is fine, nothing to see here. > Perhaps keep in mind as an edge case, useful to confuse students. > Actually, to motivate them to read the language standard ... > > - J.W. > _______________________________________________ > 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. -------------- next part -------------- An HTML attachment was scrubbed... URL: From mmcconnell17704 at yahoo.com Wed Feb 21 15:27:08 2024 From: mmcconnell17704 at yahoo.com (Mark McConnell) Date: Wed, 21 Feb 2024 15:27:08 +0000 (UTC) Subject: [Haskell-cafe] what monad is this? In-Reply-To: References: <9066d17a-a57a-4113-b8d9-227fa9856f51@htwk-leipzig.de> Message-ID: <731751700.2902199.1708529228909@mail.yahoo.com> To my surprise, hlint (version 3.3.6) did not suggest taking out the do.  I ran the following through hlint. jk :: Booljk = do  let x = False  not x On Wednesday, February 21, 2024 at 04:23:49 AM EST, Noon van der Silk wrote: Yeah, it's a bit confusing; I think some tutorials/books do go over the `do` simplification steps. I guess conceptually `do` doesn't mean `Definitely a Monad`, it means `Maybe a Monad` or more `Probably should be a Monad, and if not, just remove the do!`. On Wed, 21 Feb 2024 at 09:18, Johannes Waldmann wrote: Dear Cafe, I was surprised to see  ghc  accept this code ghci> do let {x = False}; not x True because I initially thought: there's a `do`, so there must be some monad, but which is it? some implicit Identity monad perhaps? But the type is indeed plain `Bool`, and the explanation is (I think): there is a `do` but there is no monad, since the translation according to ( https://www.haskell.org/onlinereport/haskell2010/haskellch3.html#x8-470003.14 ) does never produce `(>>=)`. So, all is fine, nothing to see here. Perhaps keep in mind as an edge case, useful to confuse students. Actually, to motivate them to read the language standard ... - J.W. _______________________________________________ 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. -- Noon van der Silk http://silky.github.io/ "My programming language is kindness."_______________________________________________ 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. -------------- next part -------------- An HTML attachment was scrubbed... URL: From godzbanebane at gmail.com Wed Feb 21 15:37:47 2024 From: godzbanebane at gmail.com (Georgi Lyubenov) Date: Wed, 21 Feb 2024 17:37:47 +0200 Subject: [Haskell-cafe] what monad is this? In-Reply-To: <731751700.2902199.1708529228909@mail.yahoo.com> References: <9066d17a-a57a-4113-b8d9-227fa9856f51@htwk-leipzig.de> <731751700.2902199.1708529228909@mail.yahoo.com> Message-ID: <473f485d-4156-4bc7-a57f-d0125da6fdcf@gmail.com> Notably, it is not always useful to suggest removing the `do`, e.g. I will often write that exact same `do` block with a let in it in tests, because it is very often the case that later down the line I do end up wanting to use binds/stop using binds in the `do` block, and I personally think the syntactic noise in the git diffs is not worth the (purely aesthetic?) benefit of not having the `do`. It's also useful if you're a fan of "abusing"(?) BlockArguments+`do` to turn f   (foo bar baz)   (u v) to f   do foo bar baz   do u v On 2/21/24 17:27, Mark McConnell via Haskell-Cafe wrote: > To my surprise, hlint (version 3.3.6) did not suggest taking out the > do.  I ran the following through hlint. > > jk :: Bool > jk = do >   let x = False >   not x > > > > On Wednesday, February 21, 2024 at 04:23:49 AM EST, Noon van der Silk > wrote: > > > Yeah, it's a bit confusing; I think some tutorials/books do go over > the `do` simplification steps. I guess conceptually `do` doesn't mean > `Definitely a Monad`, it means `Maybe a Monad` or more `Probably > should be a Monad, and if not, just remove the do!`. > > On Wed, 21 Feb 2024 at 09:18, Johannes Waldmann > wrote: > > Dear Cafe, > > I was surprised to see  ghc  accept this code > > ghci> do let {x = False}; not x > True > > because I initially thought: there's a `do`, so there must be some > monad, > but which is it? some implicit Identity monad perhaps? > > But the type is indeed plain `Bool`, and the explanation is (I think): > there is a `do` but there is no monad, since the translation > according to > ( > https://www.haskell.org/onlinereport/haskell2010/haskellch3.html#x8-470003.14 > ) > does never produce `(>>=)`. > > So, all is fine, nothing to see here. > Perhaps keep in mind as an edge case, useful to confuse students. > Actually, to motivate them to read the language standard ... > > - J.W. > _______________________________________________ > 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. > > > > -- > Noon van der Silk > > http://silky.github.io/ > > "My programming language is kindness." > _______________________________________________ > 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. > > _______________________________________________ > 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. -------------- next part -------------- An HTML attachment was scrubbed... URL: From zubin at well-typed.com Fri Feb 23 10:55:32 2024 From: zubin at well-typed.com (Zubin Duggal) Date: Fri, 23 Feb 2024 16:25:32 +0530 Subject: [Haskell-cafe] [ANNOUNCE] GHC 9.8.2 is now available Message-ID: The GHC developers are happy to announce the availability of GHC 9.8.2. Binary distributions, source distributions, and documentation are available on the [release page](https://www.haskell.org/ghc/download_ghc_9_8_2.html). GHC Blog Post: https://www.haskell.org/ghc/blog/20240223-ghc-9.8.2-released.html This release is primarily a bugfix release addressing many issues found in the 9.8 series. These include: * A fix for a bug where certain warnings flags were not recognised (#24071) * Fixes for bugs in the renamer and typechecker (#24084, #24134, #24279, #24083) * Fixes for bugs in the simplifier and code generator (#24160, #24242, #23628, #23659, #24160, #23862, #24295, #24370) * Fixes for some memory leaks in GHCi (#24107, #24118) * Improvements to error messages (#21097, #16996, #11050, #24196, #24275, #23768, #23784, #23778) * A fix for a recompilation checking bug where GHC may miss changes in transitive dependencies when deciding to relink a program (#23724). * And many more fixes A full accounting of changes can be found in the [release notes]. As some of the fixed issues do affect correctness users are encouraged to upgrade promptly. We would like to thank Microsoft Azure, GitHub, IOG, the Zw3rk stake pool, Well-Typed, Tweag I/O, Serokell, Equinix, SimSpace, 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. Enjoy! -Zubin [ticket]: https://gitlab.haskell.org/ghc/ghc/-/issues/new [release notes]: https://downloads.haskell.org/~ghc/9.8.2/docs/users_guide/9.8.2-notes.html -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 488 bytes Desc: not available URL: From abela at chalmers.se Sat Feb 24 11:20:17 2024 From: abela at chalmers.se (Andreas Abel) Date: Sat, 24 Feb 2024 12:20:17 +0100 Subject: [Haskell-cafe] [ANNOUNCE] Agda 2.6.4.2 In-Reply-To: References: Message-ID: <6d58b9e1-14d2-40f5-8311-2225e261830d@chalmers.se> Dear all, The Agda Team is pleased to announce the release of Agda 2.6.4.2. Agda 2.6.4.2 is a bugfix release over Agda 2.6.4.1: - Fix an inconsistency in Cubical Agda related to catch-all clauses. - Fix some internal errors. - Fix an issue with `opaque`. - Fix building with cabal flag `-f debug-serialisation`. # GHC supported versions Agda 2.6.4.2 has been tested with GHC 9.8.1, GHC 9.6.4, 9.4.8, 9.2.8, 9.0.2, 8.10.7, 8.8.4 and 8.6.5 on Linux, macOS and Windows. # Installation Agda 2.6.4.2 can be installed using cabal-install or stack: 1. Getting the tarball $ cabal update $ cabal get Agda-2.6.4.2 $ cd Agda-2.6.4.2 2. a. Using cabal-install $ cabal install -f +optimise-heavily -f +enable-cluster-counting 2. b. Using stack $ stack --stack-yaml stack-a.b.c.yaml install --flag Agda:optimise-heavily --flag Agda:enable-cluster-counting replacing `a.b.c` with your version of GHC. The flags mean: - optimise-heavily: Turn on extra optimisation for a faster Agda. Takes large resources during compilation of Agda. - enable-cluster-counting: Enable unicode clusters for alignment in the LaTeX backend. Requires the ICU lib to be installed and known to pkg-config. These flags can be dropped from the install if causing trouble. # Standard library You can use standard library v1.7.3, v2.0 or the `master` branch of the standard library with Agda 2.6.4.2. This branch is available at https://github.com/agda/agda-stdlib/ # Fixed issues over Agda 2.6.4.1 https://hackage.haskell.org/package/Agda-2.6.4.2/candidate/changelog Enjoy Agda 2.6.4.2! Andreas, on behalf of the Agda Team -- Andreas Abel <>< Du bist der geliebte Mensch. Department of Computer Science and Engineering Chalmers and Gothenburg University, Sweden andreas.abel at gu.se http://www.cse.chalmers.se/~abela/ From pavan.rikhi at gmail.com Sun Feb 25 16:45:19 2024 From: pavan.rikhi at gmail.com (Pavan Rikhi) Date: Sun, 25 Feb 2024 11:45:19 -0500 Subject: [Haskell-cafe] Package Takeover: Hexpat In-Reply-To: References: Message-ID: Hi, as per the "Taking over a package" wiki page, I am sending this message as I would like to takeover basic maintenance of the hexpat package: https://hackage.haskell.org/package/hexpat I have attempted to reach the original author from multiple of their publicly available addresses 3 weeks ago & have gotten no response. The last commit to the package was over 7 years ago. I have submit multiple PRs to fix compilations to their repository with no response: https://github.com/the-real-blackh/hexpat/pull/13 https://github.com/the-real-blackh/hexpat/pull/14 The hackage trustees have applied some of these, but co-maintainership by me would mean less work for them, and eventually code changes will be required to keep the package compiling: https://github.com/haskell-infra/hackage-trustees/issues/363 https://github.com/haskell-infra/hackage-trustees/issues/394 Pavan Rikhi -------------- next part -------------- An HTML attachment was scrubbed... URL: From ganesh at earth.li Sun Feb 25 17:47:32 2024 From: ganesh at earth.li (Ganesh Sittampalam) Date: Sun, 25 Feb 2024 17:47:32 +0000 Subject: [Haskell-cafe] [ANN] Darcs 2.18.1 release Message-ID: Hi, On behalf of the Darcs team, I would like to announce the release of Darcs 2.18.1 [1]. The full release notes [2] are appended below. Regards, Ganesh [1] https://hackage.haskell.org/package/darcs-2.18.1 [2] https://hackage.haskell.org/package/darcs-2.18.1/changelog Darcs 2.18.1, 25 Feb 2024 * Supports GHC 9.8 and the most recent version of other dependencies at the time of release, with the exception of the tls 2.0 package, which has been held back because of problems connecting to hub.darcs.net (see https://bugs.darcs.net/issue2715). * Substantial rewrite of the 'darcs test' command. The most important user visible change is that a test script can now return an exit code of 125 to reflect an untestable/skipped state (as with with "git bisect run"). This in turn means that a group of patches can be found to be responsible for a failure rather than just a single one. By default, Darcs will try to minimise such a group by reordering patches to remove irrelevant ones from the initial group found from the patch ordering in the repository. This behaviour can be disabled with --no-shrink-failure. * Remove support for downloading via curl This is no longer particularly useful as we now use modern, maintained Haskell libraries for native HTTP downloading, and substantially simplifies this area of the code. * Patch index: Significant performance improvement The patch index is used in commands like annotate and log. A couple of performance improvements were made that should speed up using the patch index. * Progress reporting Progress reports are now provided during more long-running operations, including updating the "index" (a cache that speeds up detecting changes in the working directory), and during merge operations. They also behave better on Windows and when outputting long lines. * Other changes/fixes: * Use hardlinks more often to share files between repositories/caches. * Support --leave-test-dir for all commands that support --test * Avoid extraneous "repo:." entries in _darcs/prefs/sources [issue2672] * Add 'darcs clean' command as an alias for 'darcs revert -l' * 'darcs rebase unsuspend': add more patch editing options * Fix stale lock files after Ctrl-C * External merge tools: preserve output, and fail if tool does * Properly reference renamed files in external merge [issue189] * Mark conflicts properly if tag pulled at the same time [issue2682] * Remove the useless optimize pristine subcommand * 'darcs convert': honour the --compress and --diff-algorithm options * Fix contrib/darcs-shell [issue2646] * Fix 'darcs pull --dont-allow-conflicts' with external-merge [issue1819] * Problems with local pristine files now tell user to run 'darcs repair' [issue1981] * Fix various problems with symlinks, including on Windows * Add --no-prefs-templates option when creating a repository * Allow 'darcs rebase unsuspend' when there are non-conflicting unrecorded changes * Handle broken pending patches in 'darcs check' and 'darcs repair' * Improve error reporting when remote _darcs/format doesn't exist * 'darcs optimize reorder': add --deep/--shallow options * 'darcs optimize compress/uncompress': also handle pristine files * 'darcs optimize cache': don't work with lists of darcs repos Instead just the global cache is cleaned by checking hard-link counts * Skip the pager when $DARCS_PAGER / $PAGER are set to the empty string * 'darcs convert export': allow relative paths for --read-marks and --write-marks * Fix 'darcs amend --unrecord' to move unrecorded changes to pending [issue2697] * Don't treat cancelling an operation as failure [issue2074] * Fix cloning of ssh repo when using Ctrl-C to stop getting patches [issue2701] * Don't report invalid regexes as a bug in darcs [issue2702] * Add short option -n for --dry-run * 'darcs diff': support --look-for-moves and --look-for-adds * Fix buffering problem with 'darcs diff' [issue2704] * 'darcs obliterate' and 'darcs rebase': offer to revert any conflicting unrecorded changes * Stop displaying context lines in various interactive scenarios: it didn't work properly and would require a lot of work to fix. * Improve conflict display for Rebase and V3 patches * Increase size limit to 100K for environment variables like DARCS_PATCHES_XML, and warn when it is exceeded * 'darcs rebase unsuspend': improve the display of dropped dependencies * 'darcs amend --ask-deps': also provide a way to remove dependencies * 'darcs push': support --reorder-patches option * Remove the --remote-repo option * Don't display hints about using --set-default * Conflict resolution: unrecorded changes will suppress conflict marking of appropriate changes [issue2708] * Explain what a "clean tag" is in help for tag command * Fix problem with naming patch bundles after patches that contain characters incompatible with the current locale [issue2716] From vamchale at gmail.com Sun Feb 25 17:58:23 2024 From: vamchale at gmail.com (Vanessa McHale) Date: Sun, 25 Feb 2024 12:58:23 -0500 Subject: [Haskell-cafe] [ANN] Darcs 2.18.1 release In-Reply-To: References: Message-ID: <6EC7150C-73FE-4921-9E3C-B5BFB14C9868@gmail.com> The support for newer GHCs is quite welcome! Makes it possible to compile without the LLVM backend on M1 macs. Thanks! > On Feb 25, 2024, at 12:47 PM, Ganesh Sittampalam wrote: > > Hi, > > On behalf of the Darcs team, I would like to announce the release of > Darcs 2.18.1 [1]. > > The full release notes [2] are appended below. > > Regards, > > Ganesh > > [1] https://hackage.haskell.org/package/darcs-2.18.1 > [2] https://hackage.haskell.org/package/darcs-2.18.1/changelog > > Darcs 2.18.1, 25 Feb 2024 > > * Supports GHC 9.8 and the most recent version of other dependencies > at the time of release, with the exception of the tls 2.0 package, > which has been held back because of problems connecting to > hub.darcs.net (see https://bugs.darcs.net/issue2715). > > * Substantial rewrite of the 'darcs test' command. > > The most important user visible change is that a test script can now > return an exit code of 125 to reflect an untestable/skipped state > (as with with "git bisect run"). > > This in turn means that a group of patches can be found to be > responsible for a failure rather than just a single one. By default, > Darcs will try to minimise such a group by reordering patches to > remove irrelevant ones from the initial group found from the patch > ordering in the repository. This behaviour can be disabled with > --no-shrink-failure. > > * Remove support for downloading via curl > > This is no longer particularly useful as we now use modern, > maintained Haskell libraries for native HTTP downloading, and > substantially simplifies this area of the code. > > * Patch index: Significant performance improvement > > The patch index is used in commands like annotate and log. A couple > of performance improvements were made that should speed up using the > patch index. > > * Progress reporting > > Progress reports are now provided during more long-running > operations, including updating the "index" (a cache that speeds up > detecting changes in the working directory), and during merge > operations. > > They also behave better on Windows and when outputting long lines. > > * Other changes/fixes: > * Use hardlinks more often to share files between > repositories/caches. > * Support --leave-test-dir for all commands that support --test > * Avoid extraneous "repo:." entries in _darcs/prefs/sources > [issue2672] > * Add 'darcs clean' command as an alias for 'darcs revert -l' > * 'darcs rebase unsuspend': add more patch editing options > * Fix stale lock files after Ctrl-C > * External merge tools: preserve output, and fail if tool does > * Properly reference renamed files in external merge [issue189] > * Mark conflicts properly if tag pulled at the same time [issue2682] > * Remove the useless optimize pristine subcommand > * 'darcs convert': honour the --compress and --diff-algorithm > options > * Fix contrib/darcs-shell [issue2646] > * Fix 'darcs pull --dont-allow-conflicts' with external-merge > [issue1819] > * Problems with local pristine files now tell user to run > 'darcs repair' [issue1981] > * Fix various problems with symlinks, including on Windows > * Add --no-prefs-templates option when creating a repository > * Allow 'darcs rebase unsuspend' when there are non-conflicting > unrecorded changes > * Handle broken pending patches in 'darcs check' and 'darcs repair' > * Improve error reporting when remote _darcs/format doesn't exist > * 'darcs optimize reorder': add --deep/--shallow options > * 'darcs optimize compress/uncompress': also handle pristine files > * 'darcs optimize cache': don't work with lists of darcs repos > Instead just the global cache is cleaned by checking hard-link > counts > * Skip the pager when $DARCS_PAGER / $PAGER are set to the empty > string > * 'darcs convert export': allow relative paths for --read-marks and > --write-marks > * Fix 'darcs amend --unrecord' to move unrecorded changes to pending > [issue2697] > * Don't treat cancelling an operation as failure [issue2074] > * Fix cloning of ssh repo when using Ctrl-C to stop getting patches > [issue2701] > * Don't report invalid regexes as a bug in darcs [issue2702] > * Add short option -n for --dry-run > * 'darcs diff': support --look-for-moves and --look-for-adds > * Fix buffering problem with 'darcs diff' [issue2704] > * 'darcs obliterate' and 'darcs rebase': offer to revert any > conflicting unrecorded changes > * Stop displaying context lines in various interactive scenarios: > it didn't work properly and would require a lot of work to fix. > * Improve conflict display for Rebase and V3 patches > * Increase size limit to 100K for environment variables like > DARCS_PATCHES_XML, and warn when it is exceeded > * 'darcs rebase unsuspend': improve the display of dropped > dependencies > * 'darcs amend --ask-deps': also provide a way to remove > dependencies > * 'darcs push': support --reorder-patches option > * Remove the --remote-repo option > * Don't display hints about using --set-default > * Conflict resolution: unrecorded changes will suppress conflict > marking of appropriate changes [issue2708] > * Explain what a "clean tag" is in help for tag command > * Fix problem with naming patch bundles after patches that contain > characters incompatible with the current locale [issue2716] > > _______________________________________________ > 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 abela at chalmers.se Mon Feb 26 21:11:49 2024 From: abela at chalmers.se (Andreas Abel) Date: Mon, 26 Feb 2024 22:11:49 +0100 Subject: [Haskell-cafe] [ANNOUNCE] Agda 2.6.4.2 retracted In-Reply-To: <6d58b9e1-14d2-40f5-8311-2225e261830d@chalmers.se> References: <6d58b9e1-14d2-40f5-8311-2225e261830d@chalmers.se> Message-ID: <554931ec-d2f4-4b8d-b25a-fe85a18b7fa9@chalmers.se> The Agda Team is not very pleased to announce that it has to retract Agda 2.6.4.2 due to a regression concerning `with`: https://github.com/agda/agda/issues/7148 So, please do not install it, wait for the next release. On 2024-02-24 12:20, Andreas Abel wrote: > Dear all, > > The Agda Team is pleased to announce the release of Agda 2.6.4.2. > > Agda 2.6.4.2 is a bugfix release over Agda 2.6.4.1: > > - Fix an inconsistency in Cubical Agda related to catch-all clauses. > - Fix some internal errors. > - Fix an issue with `opaque`. > - Fix building with cabal flag `-f debug-serialisation`. > > # GHC supported versions > > Agda 2.6.4.2 has been tested with GHC 9.8.1, GHC 9.6.4, 9.4.8, 9.2.8, > 9.0.2, 8.10.7, 8.8.4 and 8.6.5 on Linux, macOS and Windows. > > # Installation > > Agda 2.6.4.2 can be installed using cabal-install or stack: > > 1. Getting the tarball > >         $ cabal update >         $ cabal get Agda-2.6.4.2 >         $ cd Agda-2.6.4.2 > > 2. a. Using cabal-install > >       $ cabal install -f +optimise-heavily -f +enable-cluster-counting > > 2. b. Using stack > >       $ stack --stack-yaml stack-a.b.c.yaml install --flag > Agda:optimise-heavily --flag Agda:enable-cluster-counting > > replacing `a.b.c` with your version of GHC. > > The flags mean: > >   - optimise-heavily: >     Turn on extra optimisation for a faster Agda. >     Takes large resources during compilation of Agda. > >   - enable-cluster-counting: >     Enable unicode clusters for alignment in the LaTeX backend. >     Requires the ICU lib to be installed and known to pkg-config. > > These flags can be dropped from the install if causing trouble. > > # Standard library > > You can use standard library v1.7.3, v2.0 or the `master` branch of the > standard library with Agda 2.6.4.2.  This branch is available at > >   https://github.com/agda/agda-stdlib/ > > # Fixed issues over Agda 2.6.4.1 > >   https://hackage.haskell.org/package/Agda-2.6.4.2/candidate/changelog > > Enjoy Agda 2.6.4.2! > > Andreas, on behalf of the Agda Team > -- Andreas Abel <>< Du bist der geliebte Mensch. Department of Computer Science and Engineering Chalmers and Gothenburg University, Sweden andreas.abel at gu.se http://www.cse.chalmers.se/~abela/ From dyaitskov at gmail.com Tue Feb 27 17:32:48 2024 From: dyaitskov at gmail.com (Daneel Yaitskov) Date: Tue, 27 Feb 2024 12:32:48 -0500 Subject: [Haskell-cafe] Is it possible to type a function to accept only literal values? Message-ID: Hi List, Recently I was experimenting with a GCC intrinsic functions for x86 SMID instructions to write a fast CSV parser and noticed that some arguments are required to be literal values (known at compile time), which makes live hard, e.g. bit shift operation expects number of bits to shift in such a way. Nonetheless the intel manual defines function prototypes as normal: __m128i _mm_bsrli_si128 (__m128i a, int imm8) Using a variable as second argument in _mm_bsrli_si128 produces unclear, but compilation error with exact line number. Definitely some magic happens here, because it is not possible to express this constraint type system of C language. Haskell is known as one of the best languages in type acrobatics, but could it beat C here? -- Best regards, Daniil Iaitskov From tom-lists-haskell-cafe-2023 at jaguarpaw.co.uk Tue Feb 27 18:02:37 2024 From: tom-lists-haskell-cafe-2023 at jaguarpaw.co.uk (Tom Ellis) Date: Tue, 27 Feb 2024 18:02:37 +0000 Subject: [Haskell-cafe] Is it possible to type a function to accept only literal values? In-Reply-To: References: Message-ID: On Tue, Feb 27, 2024 at 12:32:48PM -0500, Daneel Yaitskov wrote: > the intel manual defines function prototypes as normal: > > __m128i _mm_bsrli_si128 (__m128i a, int imm8) > > Using a variable as second argument in _mm_bsrli_si128 produces > unclear, but compilation error with exact line number. [...] > Haskell is known as one of the best languages in type acrobatics, but > could it beat C here? Sure, you can use Template Haskell for this. Use of `wellFormedBsrli` ensures that its second argument is always evaluated at compile time. See the output from GHC below for confirmation of this. Tom {-# LANGUAGE TemplateHaskell #-} module A where import Language.Haskell.TH import Language.Haskell.TH.Syntax bsrli :: Int -> Int -> Int bsrli = error "Implement bsrli here, using FFI, I guess" wellFormedBsrli :: Quote m => Int -> Code m (Int -> Int) wellFormedBsrli y = [|| \x -> bsrli x $$(liftTyped y) ||] {-# LANGUAGE TemplateHaskell #-} {-# OPTIONS_GHC -ddump-splices #-} module B where import A example :: Int example = $$(wellFormedBsrli (3 + 2)) 0x1 ghc B.hs -ddump-splices [1 of 2] Compiling A ( A.hs, A.o, A.dyn_o ) [Source file changed] [2 of 2] Compiling B ( B.hs, B.o, B.dyn_o ) [A[TH] changed] B.hs:9:5-29: Splicing expression wellFormedBsrli (3 + 2) ======> \ x_a2zf -> (bsrli x_a2zf) 5 From lemming at henning-thielemann.de Tue Feb 27 20:19:54 2024 From: lemming at henning-thielemann.de (Henning Thielemann) Date: Tue, 27 Feb 2024 21:19:54 +0100 (CET) Subject: [Haskell-cafe] Is it possible to type a function to accept only literal values? In-Reply-To: References: Message-ID: <1c3e63e-55fd-9aa2-1ec7-afe02d5eae26@henning-thielemann.de> On Tue, 27 Feb 2024, Daneel Yaitskov wrote: > Recently I was experimenting with a GCC intrinsic functions for x86 > SMID instructions to write a fast CSV parser and noticed that some > arguments are required to be literal values (known at compile time), > which makes live hard, e.g. bit shift operation expects number of bits > to shift in such a way. > Nonetheless the intel manual defines function prototypes as normal: > > __m128i _mm_bsrli_si128 (__m128i a, int imm8) > > Using a variable as second argument in _mm_bsrli_si128 produces > unclear, but compilation error with exact line number. > Definitely some magic happens here, because it is not possible to > express this constraint type system of C language. > > Haskell is known as one of the best languages in type acrobatics, but > could it beat C here? I'd use a type parameter instead of a value parameter. E.g. bsrli :: M128I -> Proxy i -> M128I using your favourite type-level natural number representation 'i'. But actually, I would prevent doing vectorisation by hand and instead try to assist GCC to do the vectorization itself. This would work on all GCC supported target processors, not just one. From lists at richarde.dev Thu Feb 29 02:55:27 2024 From: lists at richarde.dev (Richard Eisenberg) Date: Thu, 29 Feb 2024 02:55:27 +0000 Subject: [Haskell-cafe] S-REPLS 14 at Jane Street London on March 8th: Call for participation Message-ID: <010f018df2c9ca03-272ac3bd-670e-4f1e-9464-ad2d0e10e454-000000@us-east-2.amazonses.com> ============================================================================ S-REPLS 14 South of England Regional Programming Language Seminar series Jane Street London, 2 & A Half Devonshire Square, Premier Place, London EC2M 4UJ Fri 8 March 2024 ============================================================================ S-REPLS is a series of informal meetings for people in the South of England interested in the principles, design and implementation of programming languages. Events take place approximately thrice yearly, organised by members of the community. Attendance at S-REPLS 14 is free and lunch will be provided. Due to security concerns and planning needs all attendees need to register. Please RSVP here: https://docs.google.com/forms/d/e/1FAIpQLSeODsd6ZXNi58hTBBP1oMOLkjgkZK40QdKX8jyY8fPt4BhojA/viewform Schedule below. Talk abstracts and further details can be found on the S-REPLS 14 website: https://www.cl.cam.ac.uk/events/s-repls14/ 0900 Arrival and breakfast 1000 Keynote: Graded types and Algebraic Effects Dominic Orchard (University of Kent and University of Cambridge) 1100 Break 1130 Automatically Finding Upper and Lower Time Complexity Bounds for Parallel Evaluation Carsten Fuhs (Birkbeck, University of London) 1200 Somewhat Dynamic Build Systems Neil Mitchell (Meta) 1230 Lunch 1330 The Dafny Programming Language and Static Verifier Stefan Zetzsche (Amazon) 1400 Implementing a Dependently Typed Language Modelling Algebraic Equivalences Zhiyi Liu (University of Cambridge) 1430 Programming with First-class Constructor Contexts Anton Lorenzen (University of Edinburgh) 1500 Break 1530 Finding cheaper straightline instruction sequences more cheaply Maria A Schett 1600 Starlark: between configuration and programming language Stiopa Koltsov (Meta) 1630 Ill-Typed programs don’t evaluate Charlie Walpole (University of Bristol) -------------- next part -------------- An HTML attachment was scrubbed... URL: