From cong at c.titech.ac.jp Mon Jan 3 02:00:00 2022 From: cong at c.titech.ac.jp (Youyou Cong) Date: Mon, 3 Jan 2022 10:00:00 +0900 Subject: [Agda] PEPM 2022 - Call for Participation Message-ID: -- CALL FOR PARTICIPATION -- ACM SIGPLAN Workshop on PARTIAL EVALUATION AND PROGRAM MANIPULATION (PEPM) 2022 =============================================================================== * Website : https://popl22.sigplan.org/home/pepm-2022 * Time : 17th--18th January 2022 * Place : Online (co-located with POPL 2022, with no physical component) PEPM brings together researchers in partial evaluation, program manipulation, and related areas. This year, we are announcing "PEPM 30", a project aiming at preserving and celebrating the history of PEPM. To this effect, the program includes five invited talks by the key contributors of the PEPM community. We will have a PEPM 30+ History Celebration Day at PEPM 2023. Invited Talks: * Andrei Klimov "Why are partial evaluation and supercompilation still not widely used in practice? Reflections in light of Russian work on metacomputation." * Y. Annie Liu "From meta frameworks and transformations to distributed computing and more" * Frank Pfenning "Modal Logics and Types: Looking Back and Looking Forward" * Naoki Kobayashi "On Type-Based Techniques for Program Manipulation" * Peter Sestoft "A partial history of partial evaluation" Please find the full program at: https://popl22.sigplan.org/home/pepm-2022#program and register yourself at: https://regmaster.com/2022conf/POPL22/register.php Note that early registration closes on January 3rd. We look forward to seeing you at the workshop! Zena M. Ariola (Program Co-Chair) Youyou Cong (Program Co-Chair) -------------- next part -------------- An HTML attachment was scrubbed... URL: From kaposi.ambrus at gmail.com Mon Jan 3 16:19:35 2022 From: kaposi.ambrus at gmail.com (Ambrus Kaposi) Date: Mon, 3 Jan 2022 16:19:35 +0100 Subject: [Agda] Call for STSMs, deadline 16 January 2022 In-Reply-To: References: Message-ID: COST Action CA20111 EuroProofNet Open call for Short-Term Scientific Missions (STSMs) Dear EuroProofNet COST Action participants, The next deadline is: * 16 January 2022, for STSMs during the period February - October 2022 (there will be more opportunities to apply, see https://europroofnet.github.io/grants ) A Short-Term Scientific Mission (STSM) is a research visit of an individual researcher from a country participating in the Action in a different country also participating in the Action. We encourage STSMs, as they are an effective way of starting and maintaining collaborations. Proposals are made through the e-COST system ( https://e-services.cost.eu/stsm). The coordinators for STSMs are Danijela Simic (University of Belgrade, Serbia) and Ambrus Kaposi (E?tv?s Lor?nd University, Hungary). The procedure for proposing an STSM is described in Annex 2 of the Annotated Rules ( https://www.cost.eu/uploads/2021/10/COST-094-21-Annotated-Rules-for-COST-Actions-Level-C-2021-11-01-1.pdf ). The main points about STSMs are: * An STSM must be between two different countries which are participating in the Action. * The typical duration is one or two weeks. We favor short missions so that more people can get funded. * The financial contribution for an STSM is a fixed grant based on the applicant's budget request and the evaluation of the application by the STSM assessment committee. The grant will not necessarily cover all costs of the visit. The grant only covers travel and subsistence and is transferred after the STSM has taken place. * Recommended grants: - up to EUR 120 for daily allowance (depending on the location) - up to EUR 400 for travel. - the total may not exceed EUR 4000 (this is a hard limit) * As part of the application form submitted through e-COST, the goals of the mission have to be described including how it contributes to the objectives of the Action (see https://www.cost.eu/actions/CA20111), which working group(s) it contributes to, and a confirmation from the host that he or she will receive the applicant. * Proposals should be submitted by the deadlines. * STSMs must end before the end of October. The criteria according to which funding will be decided are in order: * importance with regard to the research coordination objectives * inclusiveness target countries * age * gender * team with low resources * balance over the action life time between people, teams, countries and working groups. Within 15 days of the end of the STSM, a short scientific report must be submitted through the e-cost system along with the Host?s approval of the report. Regards, Danijela Simic and Ambrus Kaposi EuroProofNet STSM Coordinators -------------- next part -------------- An HTML attachment was scrubbed... URL: From wadler at inf.ed.ac.uk Mon Jan 3 17:24:27 2022 From: wadler at inf.ed.ac.uk (Philip Wadler) Date: Mon, 3 Jan 2022 16:24:27 +0000 Subject: [Agda] A stupid question to start off the New Year Message-ID: I'm trying to prove a basic fact about substitution and failing. What I'd like to prove is that substitution by the identity map is the identity, which should be straightforward. My failed proof is attached. Questions: 1. Why does Agda complain about my extensionality postulate? How do I fix it? 2. Is there a way to complete the proof without assuming extensionality? Many thanks for your help. This group is invaluable! The New Year is a good time to take a moment to express my thanks to you all, both for your work in Agda (and related topics) and for your help. Go well, -- P . \ Philip Wadler, Professor of Theoretical Computer Science, . /\ School of Informatics, University of Edinburgh . / \ and Senior Research Fellow, IOHK . http://homepages.inf.ed.ac.uk/wadler/ -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Substitution.lagda.md Type: text/markdown Size: 3481 bytes Desc: not available URL: -------------- next part -------------- The University of Edinburgh is a charitable body, registered in Scotland, with registration number SC005336. From conor at strictlypositive.org Mon Jan 3 17:36:12 2022 From: conor at strictlypositive.org (Conor McBride) Date: Mon, 3 Jan 2022 16:36:12 +0000 Subject: [Agda] A stupid question to start off the New Year In-Reply-To: References: Message-ID: Hi Phil > On 3 Jan 2022, at 16:24, Philip Wadler wrote: > > I'm trying to prove a basic fact about substitution and failing. What I'd like to prove is that substitution by the identity map is the identity, which should be straightforward. My failed proof is attached. Questions: > > 1. Why does Agda complain about my extensionality postulate? How do I fix it? For a start, Agda's moaning about the implicits that it can't infer in your with-expression. No type is pushed in to with-expressions, so there's nothing that will determing the missing information. I'm not sure with is what you need, but even if you were to use rewrite, the same would pertain. However... > 2. Is there a way to complete the proof without assuming extensionality? ...you might consider making Henry Ford's extensional generalization of your goal. Any substitution will *behave* as the identity on terms if it *behaves* like the identity on variables, regardless of whether it's your *favourite* identity substitution. That statement pushes readily under lambda, because it talks about "any substitution", leaving you with an "as long as it behaves like the identity" condition to discharge. Cheers Conor > > Many thanks for your help. This group is invaluable! The New Year is a good time to take a moment to express my thanks to you all, both for your work in Agda (and related topics) and for your help. > > Go well, -- P > > > > > . \ Philip Wadler, Professor of Theoretical Computer Science, > . /\ School of Informatics, University of Edinburgh > . / \ and Senior Research Fellow, IOHK > . http://homepages.inf.ed.ac.uk/wadler/ > > The University of Edinburgh is a charitable body, registered in > Scotland, with registration number SC005336. > _______________________________________________ > Agda mailing list > Agda at lists.chalmers.se > https://lists.chalmers.se/mailman/listinfo/agda From wadler at inf.ed.ac.uk Mon Jan 3 20:20:11 2022 From: wadler at inf.ed.ac.uk (Philip Wadler) Date: Mon, 3 Jan 2022 19:20:11 +0000 Subject: [Agda] A stupid question to start off the New Year In-Reply-To: References: Message-ID: Thanks, Conor! As usual, that was blindingly fast! 2. Your elegant, and elegantly named, solution that bypasses extensionality works brilliantly. Attached as Substitution-fixed.lagda.md. 1. I did my best to make explicit all of the implicit variables in extensionality, but it still complains. Attached as Substitution-broken.lagda.md. Any idea of what is wrong or how to fix it? I've been stymied by similar errors several times over the last few days, so I'm keen to have a better understanding. Go well, -- P . \ Philip Wadler, Professor of Theoretical Computer Science, . /\ School of Informatics, University of Edinburgh . / \ and Senior Research Fellow, IOHK . http://homepages.inf.ed.ac.uk/wadler/ On Mon, 3 Jan 2022 at 16:36, Conor McBride wrote: > This email was sent to you by someone outside the University. > You should only click on links or attachments if you are certain that the > email is genuine and the content is safe. > > Hi Phil > > > On 3 Jan 2022, at 16:24, Philip Wadler wrote: > > > > I'm trying to prove a basic fact about substitution and failing. What > I'd like to prove is that substitution by the identity map is the identity, > which should be straightforward. My failed proof is attached. Questions: > > > > 1. Why does Agda complain about my extensionality postulate? How do I > fix it? > > For a start, Agda's moaning about the implicits that it can't infer in > your with-expression. > No type is pushed in to with-expressions, so there's nothing that will > determing the > missing information. I'm not sure with is what you need, but even if you > were to use > rewrite, the same would pertain. However... > > > 2. Is there a way to complete the proof without assuming extensionality? > > ...you might consider making Henry Ford's extensional generalization of > your goal. Any > substitution will *behave* as the identity on terms if it *behaves* like > the identity on > variables, regardless of whether it's your *favourite* identity > substitution. That statement > pushes readily under lambda, because it talks about "any substitution", > leaving you with > an "as long as it behaves like the identity" condition to discharge. > > Cheers > > Conor > > > > > Many thanks for your help. This group is invaluable! The New Year is a > good time to take a moment to express my thanks to you all, both for your > work in Agda (and related topics) and for your help. > > > > Go well, -- P > > > > > > > > > > . \ Philip Wadler, Professor of Theoretical Computer Science, > > . /\ School of Informatics, University of Edinburgh > > . / \ and Senior Research Fellow, IOHK > > . http://homepages.inf.ed.ac.uk/wadler/ > > > > The University of Edinburgh is a charitable > body, registered in > > Scotland, with registration number SC005336. > > _______________________________________________ > > Agda mailing list > > Agda at lists.chalmers.se > > https://lists.chalmers.se/mailman/listinfo/agda > > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Substitution-fixed.lagda.md Type: text/markdown Size: 4552 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Substitution-broken.lagda.md Type: text/markdown Size: 3945 bytes Desc: not available URL: From james.wood.100 at strath.ac.uk Tue Jan 4 16:42:28 2022 From: james.wood.100 at strath.ac.uk (James Wood) Date: Tue, 4 Jan 2022 15:42:28 +0000 Subject: [Agda] A stupid question to start off the New Year In-Reply-To: References: Message-ID: <46845f47-3b4d-5404-5653-f20309adb1a8@strath.ac.uk> Hi Phil, The error message you see on the pattern-match of the with more or less says that you should be using rewrite instead of with. exts is not (obviously) injective, so the unifier will give up when trying to unify it with anything other than a variable. The unification problem was triggered by the pattern-match to refl, which tries to unify the two equated terms (exts `_ and `_). rewrite solves the problem by with-abstracting the LHS (exts `_), turning it into a fresh variable that gets unified with the RHS (`_). It looks like this is what you wanted. The documentation for rewrite (https://agda.readthedocs.io/en/latest/language/with-abstraction.html#rewrite) gives another example. Kind regards, James On 03/01/2022 19:20, Philip Wadler wrote: > CAUTION: This email originated outside the University. Check before > clicking links or attachments. > Thanks, Conor! As usual, that was blindingly fast! > > 2. Your elegant, and elegantly named, solution that bypasses > extensionality works brilliantly. Attached as > Substitution-fixed.lagda.md . > > 1. I did my best to make explicit all of the implicit variables in > extensionality, but it still complains. Attached as > Substitution-broken.lagda.md . > Any idea of what is wrong or how to fix it? I've been stymied by > similar errors several times over the last few days, so I'm keen to > have a better understanding. > > Go well, -- P > > > > . ? \ Philip Wadler, Professor of Theoretical Computer Science, > . ? /\ School of Informatics, University of Edinburgh > .? /? \ and Senior Research Fellow, IOHK > . http://homepages.inf.ed.ac.uk/wadler/ > > > > On Mon, 3 Jan 2022 at 16:36, Conor McBride > wrote: > > This email was sent to you by someone outside the University. > You should only click on links or attachments if you are certain > that the email is genuine and the content is safe. > > Hi Phil > > > On 3 Jan 2022, at 16:24, Philip Wadler wrote: > > > > I'm trying to prove a basic fact about substitution and failing. > What I'd like to prove is that substitution by the identity map is > the identity, which should be straightforward. My failed proof is > attached. Questions: > > > > 1. Why does Agda complain about my extensionality postulate? How > do I fix it? > > For a start, Agda's moaning about the implicits that it can't > infer in your with-expression. > No type is pushed in to with-expressions, so there's nothing that > will determing the > missing information. I'm not sure with is what you need, but even > if you were to use > rewrite, the same would pertain. However... > > > 2. Is there a way to complete the proof without assuming > extensionality? > > ...you might consider making Henry Ford's extensional > generalization of your goal. Any > substitution will *behave* as the identity on terms if it > *behaves* like the identity on > variables, regardless of whether it's your *favourite* identity > substitution. That statement > pushes readily under lambda, because it talks about "any > substitution", leaving you with > an "as long as it behaves like the identity" condition to discharge. > > Cheers > > Conor > > > > > Many thanks for your help. This group is invaluable! The New > Year is a good time to take a moment to express my thanks to you > all, both for your work in Agda (and related topics) and for your > help. > > > > Go well, -- P > > > > > > > > > > .? ?\ Philip Wadler, Professor of Theoretical Computer Science, > > .? ?/\ School of Informatics, University of Edinburgh > > .? /? \ and Senior Research Fellow, IOHK > > . http://homepages.inf.ed.ac.uk/wadler/ > > > > >The > University of Edinburgh is a charitable body, registered in > > Scotland, with registration number SC005336. > > _______________________________________________ > > Agda mailing list > > Agda at lists.chalmers.se > > https://lists.chalmers.se/mailman/listinfo/agda > > > _______________________________________________ > Agda mailing list > Agda at lists.chalmers.se > https://lists.chalmers.se/mailman/listinfo/agda -------------- next part -------------- An HTML attachment was scrubbed... URL: From wadler at inf.ed.ac.uk Tue Jan 4 17:36:31 2022 From: wadler at inf.ed.ac.uk (Philip Wadler) Date: Tue, 4 Jan 2022 16:36:31 +0000 Subject: [Agda] A stupid question to start off the New Year In-Reply-To: <46845f47-3b4d-5404-5653-f20309adb1a8@strath.ac.uk> References: <46845f47-3b4d-5404-5653-f20309adb1a8@strath.ac.uk> Message-ID: Thanks, James. Indeed, changing "with" to "rewrite" fixed that problem. Ironic, since the previous time I wrote to the list the fix was to change "rewrite" to "with", which is why I was using "with"! 1. Can you give me an intuition about when "with" is appropriate and when "rewrite" is appropriate? I could not work this out from reading the docs. 2, The rewrite does not have the desired effect of changing (subst (ext ids)) to (subst ids). See the revised file below. Any idea of how to complete the proof? Thank you again! Go well, -- P . \ Philip Wadler, Professor of Theoretical Computer Science, . /\ School of Informatics, University of Edinburgh . / \ and Senior Research Fellow, IOHK . http://homepages.inf.ed.ac.uk/wadler/ On Tue, 4 Jan 2022 at 15:42, James Wood wrote: > This email was sent to you by someone outside the University. > You should only click on links or attachments if you are certain that the > email is genuine and the content is safe. > Hi Phil, > > The error message you see on the pattern-match of the with more or less > says that you should be using rewrite instead of with. exts is not > (obviously) injective, so the unifier will give up when trying to unify it > with anything other than a variable. The unification problem was triggered > by the pattern-match to refl, which tries to unify the two equated terms (exts > `_ and `_). rewrite solves the problem by with-abstracting the LHS (exts > `_), turning it into a fresh variable that gets unified with the RHS (`_). > It looks like this is what you wanted. The documentation for rewrite ( > https://agda.readthedocs.io/en/latest/language/with-abstraction.html#rewrite) > gives another example. > > Kind regards, > > James > On 03/01/2022 19:20, Philip Wadler wrote: > > CAUTION: This email originated outside the University. Check before > clicking links or attachments. > Thanks, Conor! As usual, that was blindingly fast! > > 2. Your elegant, and elegantly named, solution that bypasses > extensionality works brilliantly. Attached as Substitution-fixed.lagda.md > . > > 1. I did my best to make explicit all of the implicit variables in > extensionality, but it still complains. Attached as > Substitution-broken.lagda.md . Any > idea of what is wrong or how to fix it? I've been stymied by similar errors > several times over the last few days, so I'm keen to have a better > understanding. > > Go well, -- P > > > > . \ Philip Wadler, Professor of Theoretical Computer Science, > . /\ School of Informatics, University of Edinburgh > . / \ and Senior Research Fellow, IOHK > . http://homepages.inf.ed.ac.uk/wadler/ > > > > On Mon, 3 Jan 2022 at 16:36, Conor McBride > wrote: > >> This email was sent to you by someone outside the University. >> You should only click on links or attachments if you are certain that the >> email is genuine and the content is safe. >> >> Hi Phil >> >> > On 3 Jan 2022, at 16:24, Philip Wadler wrote: >> > >> > I'm trying to prove a basic fact about substitution and failing. What >> I'd like to prove is that substitution by the identity map is the identity, >> which should be straightforward. My failed proof is attached. Questions: >> > >> > 1. Why does Agda complain about my extensionality postulate? How do I >> fix it? >> >> For a start, Agda's moaning about the implicits that it can't infer in >> your with-expression. >> No type is pushed in to with-expressions, so there's nothing that will >> determing the >> missing information. I'm not sure with is what you need, but even if you >> were to use >> rewrite, the same would pertain. However... >> >> > 2. Is there a way to complete the proof without assuming extensionality? >> >> ...you might consider making Henry Ford's extensional generalization of >> your goal. Any >> substitution will *behave* as the identity on terms if it *behaves* like >> the identity on >> variables, regardless of whether it's your *favourite* identity >> substitution. That statement >> pushes readily under lambda, because it talks about "any substitution", >> leaving you with >> an "as long as it behaves like the identity" condition to discharge. >> >> Cheers >> >> Conor >> >> > >> > Many thanks for your help. This group is invaluable! The New Year is a >> good time to take a moment to express my thanks to you all, both for your >> work in Agda (and related topics) and for your help. >> > >> > Go well, -- P >> > >> > >> > >> > >> > . \ Philip Wadler, Professor of Theoretical Computer Science, >> > . /\ School of Informatics, University of Edinburgh >> > . / \ and Senior Research Fellow, IOHK >> > . http://homepages.inf.ed.ac.uk/wadler/ >> > >> > >The University >> of Edinburgh is a charitable body, registered in >> > Scotland, with registration number SC005336. >> > _______________________________________________ >> > Agda mailing list >> > Agda at lists.chalmers.se >> > https://lists.chalmers.se/mailman/listinfo/agda >> >> > _______________________________________________ > Agda mailing listAgda at lists.chalmers.sehttps://lists.chalmers.se/mailman/listinfo/agda > > _______________________________________________ > Agda mailing list > Agda at lists.chalmers.se > https://lists.chalmers.se/mailman/listinfo/agda > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Substitution-broken.lagda.md Type: text/markdown Size: 2791 bytes Desc: not available URL: From thiemann at informatik.uni-freiburg.de Tue Jan 4 17:58:49 2022 From: thiemann at informatik.uni-freiburg.de (Peter Thiemann) Date: Tue, 4 Jan 2022 17:58:49 +0100 Subject: [Agda] A stupid question to start off the New Year In-Reply-To: References: <46845f47-3b4d-5404-5653-f20309adb1a8@strath.ac.uk> Message-ID: <5B9F98D7-2F3F-47B0-865F-D949F11BEA29@informatik.uni-freiburg.de> This is a highly interesting thread! I have a question to add: I've been in situations where * rewrite f x = ... would not perform the rewrite * with f x ... | refl = ... would refuse to match the refl but with f x ... | a==b rewrite a==b = ... would do the job. I'll be happy to provide a concrete example, if there is no high-level explanation. Cheers -Peter > On 4. Jan 2022, at 17:36, Philip Wadler wrote: > > Thanks, James. Indeed, changing "with" to "rewrite" fixed that problem. Ironic, since the previous time I wrote to the list the fix was to change "rewrite" to "with", which is why I was using "with"! > > 1. Can you give me an intuition about when "with" is appropriate and when "rewrite" is appropriate? I could not work this out from reading the docs. > > 2, The rewrite does not have the desired effect of changing (subst (ext ids)) to (subst ids). See the revised file below. Any idea of how to complete the proof? > > Thank you again! Go well, -- P > > . \ Philip Wadler, Professor of Theoretical Computer Science, > . /\ School of Informatics, University of Edinburgh > . / \ and Senior Research Fellow, IOHK > . http://homepages.inf.ed.ac.uk/wadler/ > > > > On Tue, 4 Jan 2022 at 15:42, James Wood wrote: > This email was sent to you by someone outside the University. > You should only click on links or attachments if you are certain that the email is genuine and the content is safe. > Hi Phil, > The error message you see on the pattern-match of the with more or less says that you should be using rewrite instead of with. exts is not (obviously) injective, so the unifier will give up when trying to unify it with anything other than a variable. The unification problem was triggered by the pattern-match to refl, which tries to unify the two equated terms (exts `_ and `_). rewrite solves the problem by with-abstracting the LHS (exts `_), turning it into a fresh variable that gets unified with the RHS (`_). It looks like this is what you wanted. The documentation for rewrite (https://agda.readthedocs.io/en/latest/language/with-abstraction.html#rewrite) gives another example. > > Kind regards, > > James > > On 03/01/2022 19:20, Philip Wadler wrote: >> CAUTION: This email originated outside the University. Check before clicking links or attachments. >> Thanks, Conor! As usual, that was blindingly fast! >> >> 2. Your elegant, and elegantly named, solution that bypasses extensionality works brilliantly. Attached as Substitution-fixed.lagda.md. >> >> 1. I did my best to make explicit all of the implicit variables in extensionality, but it still complains. Attached as Substitution-broken.lagda.md. Any idea of what is wrong or how to fix it? I've been stymied by similar errors several times over the last few days, so I'm keen to have a better understanding. >> >> Go well, -- P >> >> >> >> . \ Philip Wadler, Professor of Theoretical Computer Science, >> . /\ School of Informatics, University of Edinburgh >> . / \ and Senior Research Fellow, IOHK >> . http://homepages.inf.ed.ac.uk/wadler/ >> >> >> >> On Mon, 3 Jan 2022 at 16:36, Conor McBride wrote: >> This email was sent to you by someone outside the University. >> You should only click on links or attachments if you are certain that the email is genuine and the content is safe. >> >> Hi Phil >> >> > On 3 Jan 2022, at 16:24, Philip Wadler wrote: >> > >> > I'm trying to prove a basic fact about substitution and failing. What I'd like to prove is that substitution by the identity map is the identity, which should be straightforward. My failed proof is attached. Questions: >> > >> > 1. Why does Agda complain about my extensionality postulate? How do I fix it? >> >> For a start, Agda's moaning about the implicits that it can't infer in your with-expression. >> No type is pushed in to with-expressions, so there's nothing that will determing the >> missing information. I'm not sure with is what you need, but even if you were to use >> rewrite, the same would pertain. However... >> >> > 2. Is there a way to complete the proof without assuming extensionality? >> >> ...you might consider making Henry Ford's extensional generalization of your goal. Any >> substitution will *behave* as the identity on terms if it *behaves* like the identity on >> variables, regardless of whether it's your *favourite* identity substitution. That statement >> pushes readily under lambda, because it talks about "any substitution", leaving you with >> an "as long as it behaves like the identity" condition to discharge. >> >> Cheers >> >> Conor >> >> > >> > Many thanks for your help. This group is invaluable! The New Year is a good time to take a moment to express my thanks to you all, both for your work in Agda (and related topics) and for your help. >> > >> > Go well, -- P >> > >> > >> > >> > >> > . \ Philip Wadler, Professor of Theoretical Computer Science, >> > . /\ School of Informatics, University of Edinburgh >> > . / \ and Senior Research Fellow, IOHK >> > . http://homepages.inf.ed.ac.uk/wadler/ >> > >> > The University of Edinburgh is a charitable body, registered in >> > Scotland, with registration number SC005336. >> > _______________________________________________ >> > Agda mailing list >> > Agda at lists.chalmers.se >> > https://lists.chalmers.se/mailman/listinfo/agda >> >> >> >> _______________________________________________ >> Agda mailing list >> >> Agda at lists.chalmers.se >> https://lists.chalmers.se/mailman/listinfo/agda > _______________________________________________ > Agda mailing list > Agda at lists.chalmers.se > https://lists.chalmers.se/mailman/listinfo/agda > _______________________________________________ > Agda mailing list > Agda at lists.chalmers.se > https://lists.chalmers.se/mailman/listinfo/agda From aaronngray.lists at gmail.com Tue Jan 4 23:31:18 2022 From: aaronngray.lists at gmail.com (Aaron Gray) Date: Tue, 4 Jan 2022 22:31:18 +0000 Subject: [Agda] Getting Agda building and running on Windows Message-ID: Hi, Hi, I am a Agda newbie and trying to get a working platform on Windows. I have tried Ubuntu on WLS on Windows 10, versions are well old, why I don't know, Chocolatey, issues with Agda Standard Library and now trying Docker ! Is there a standard Docker script for Agda ? I tried a docker script that presumably I thought worked on older versions but I have just found does not even get as far as I have. Its working upto failing on Agda Standard Library, something to do with --guardedness in Codata/Musical/Notation.agda I have updated an existing Docker script to support Agda 0.2.6.2 and agda standard library 0.7 and 1.7.1 :- https://github.com/AaronNGray/docker-agda-stdlib I am getting the following :- => ERROR [builder 11/13] RUN agda --verbose=0 src/Everything.agda 142.1s ------ > [builder 11/13] RUN agda --verbose=0 src/Everything.agda: #15 142.0 /root/.agda/lib/standard-library/src/Codata/Musical/Notation.agda:11,1-44 #15 142.0 Importing module Agda.Builtin.Coinduction using the --guardedness #15 142.0 flag from a module which does not. #15 142.0 when scope checking the declaration #15 142.0 open import Agda.Builtin.Coinduction public ------ executor failed running [/bin/sh -c agda --verbose=0 src/Everything.agda]: exit code: 42 Any help would be appreciated. Aaron -- Aaron Gray Independent Open Source Software Engineer, Computer Language Researcher, and amateur computer scientist. -------------- next part -------------- An HTML attachment was scrubbed... URL: From james.wood.100 at strath.ac.uk Wed Jan 5 23:57:45 2022 From: james.wood.100 at strath.ac.uk (James Wood) Date: Wed, 5 Jan 2022 22:57:45 +0000 Subject: [Agda] A stupid question to start off the New Year In-Reply-To: References: <46845f47-3b4d-5404-5653-f20309adb1a8@strath.ac.uk> Message-ID: Interesting; part 2 is beyond me. I've attached your file with what I believe to be the desugaring of the relevant rewrite clause, but it gives an error ?can't solve w ? `_? for variable w. It's maybe unusual for being of function type (I can imagine it's doing an ?-expansion to make the unification problem harder), but I don't know whether that's what's causing the problem. Even if an error is the correct response, it seems like it's a bug that rewrite fails silently. As for part 1, I think it's all about understanding what with-abstraction is for, and what it gives you over a (left-hand side) case-expression. The difference between rewrite q and with refl ? q, for q : M ? N, is that rewrite will simultaneously with-abstract over M. The reason you'd want to with-abstract over M is because it's a complex expression appearing elsewhere in the goal+context that will not unify against N. When you replace all the occurrences of M by a fresh variable m, the pattern-match of q (which now has type m ? N) to refl succeeds, and m is replaced everywhere else by N. Here's a quick example of a similar with-abstraction to what rewrite gives you, but where rewrite itself is not applicable: open import Data.Nat open import Relation.Binary.PropositionalEquality foo : ? l m n o ? suc (l + m) ? suc (n + o) ? n + o ? l + m foo l m n o q with l + m foo l m n o refl | .(n + o) = refl Note that a match on q before the with fails with a unification error (because _+_ is not injective). Note also that rewrite q does not change the goal ? it is equivalent to with w ? suc (l + m) | refl ? q, and because suc (l + m) does not occur anywhere else in the goal+context, nothing else is rewritten. The correct with-abstraction is over either l + m or n + o. The with-abstraction over l + m rewrites the occurrences in both q and the goal to a fresh variable p, leaving us proving ? l m n o ? suc p ? suc (n + o) ? n + o ? p. The LHS and RHS of q now unify, which we force by pattern-matching to refl, leaving the solution of p as the dot-pattern .(n + o). With this pattern-match, the problem becomes ? l m n o ? n + o ? n + o, which is easy. Because of situations like that example, I tend to use rewrite as merely a shorthand, having already thought up a purely with-based solution. Coming up with the right with-abstractions is the real skill, which probably requires a bit of practice. All the best, James On 04/01/2022 16:36, Philip Wadler wrote: > Thanks, James. Indeed, changing "with" to "rewrite" fixed that > problem. Ironic, since the previous time I wrote to the list the fix > was to change "rewrite" to "with", which is why I was using "with"! > > 1. Can you give me an intuition about when "with" is appropriate and > when "rewrite" is appropriate? I could not work this out from reading > the docs. > > 2, The rewrite does not have the desired effect of changing (subst > (ext ids)) to (subst ids). See the revised file below. Any idea of how > to complete the proof? > > Thank you again! Go well, -- P > > . ? \ Philip Wadler, Professor of Theoretical Computer Science, > . ? /\ School of Informatics, University of Edinburgh > .? /? \ and Senior Research Fellow, IOHK > . http://homepages.inf.ed.ac.uk/wadler/ > > > > On Tue, 4 Jan 2022 at 15:42, James Wood > wrote: > > This email was sent to you by someone outside the University. > You should only click on links or attachments if you are certain > that the email is genuine and the content is safe. > Hi Phil, > > The error message you see on the pattern-match of the with more or > less says that you should be using rewrite instead of with. exts > is not (obviously) injective, so the unifier will give up when > trying to unify it with anything other than a variable. The > unification problem was triggered by the pattern-match to refl, > which tries to unify the two equated terms (exts `_ and `_). > rewrite solves the problem by with-abstracting the LHS (exts `_), > turning it into a fresh variable that gets unified with the RHS > (`_). It looks like this is what you wanted. The documentation for > rewrite > (https://agda.readthedocs.io/en/latest/language/with-abstraction.html#rewrite) > gives another example. > > Kind regards, > > James > > On 03/01/2022 19:20, Philip Wadler wrote: >> CAUTION: This email originated outside the University. Check >> before clicking links or attachments. >> Thanks, Conor! As usual, that was blindingly fast! >> >> 2. Your elegant, and elegantly named, solution that bypasses >> extensionality works brilliantly. Attached as >> Substitution-fixed.lagda.md . >> >> 1. I did my best to make explicit all of the implicit variables >> in extensionality, but it still complains. Attached as >> Substitution-broken.lagda.md >> . Any idea of what is wrong >> or how to fix it? I've been stymied by similar errors several >> times over the last few days, so I'm keen to have a better >> understanding. >> >> Go well, -- P >> >> >> >> . ? \ Philip Wadler, Professor of Theoretical Computer Science, >> . ? /\ School of Informatics, University of Edinburgh >> .? /? \ and Senior Research Fellow, IOHK >> . http://homepages.inf.ed.ac.uk/wadler/ >> >> >> >> On Mon, 3 Jan 2022 at 16:36, Conor McBride >> wrote: >> >> This email was sent to you by someone outside the University. >> You should only click on links or attachments if you are >> certain that the email is genuine and the content is safe. >> >> Hi Phil >> >> > On 3 Jan 2022, at 16:24, Philip Wadler >> wrote: >> > >> > I'm trying to prove a basic fact about substitution and >> failing. What I'd like to prove is that substitution by the >> identity map is the identity, which should be >> straightforward. My failed proof is attached. Questions: >> > >> > 1. Why does Agda complain about my extensionality >> postulate? How do I fix it? >> >> For a start, Agda's moaning about the implicits that it can't >> infer in your with-expression. >> No type is pushed in to with-expressions, so there's nothing >> that will determing the >> missing information. I'm not sure with is what you need, but >> even if you were to use >> rewrite, the same would pertain. However... >> >> > 2. Is there a way to complete the proof without assuming >> extensionality? >> >> ...you might consider making Henry Ford's extensional >> generalization of your goal. Any >> substitution will *behave* as the identity on terms if it >> *behaves* like the identity on >> variables, regardless of whether it's your *favourite* >> identity substitution. That statement >> pushes readily under lambda, because it talks about "any >> substitution", leaving you with >> an "as long as it behaves like the identity" condition to >> discharge. >> >> Cheers >> >> Conor >> >> > >> > Many thanks for your help. This group is invaluable! The >> New Year is a good time to take a moment to express my thanks >> to you all, both for your work in Agda (and related topics) >> and for your help. >> > >> > Go well, -- P >> > >> > >> > >> > >> > .? ?\ Philip Wadler, Professor of Theoretical Computer Science, >> > .? ?/\ School of Informatics, University of Edinburgh >> > .? /? \ and Senior Research Fellow, IOHK >> > . http://homepages.inf.ed.ac.uk/wadler/ >> > >> > >The >> University of Edinburgh is a charitable body, registered in >> > Scotland, with registration number SC005336. >> > _______________________________________________ >> > Agda mailing list >> > Agda at lists.chalmers.se >> > https://lists.chalmers.se/mailman/listinfo/agda >> >> >> _______________________________________________ >> Agda mailing list >> Agda at lists.chalmers.se >> https://lists.chalmers.se/mailman/listinfo/agda > _______________________________________________ > Agda mailing list > Agda at lists.chalmers.se > https://lists.chalmers.se/mailman/listinfo/agda > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Substitution-broken.lagda.md Type: text/markdown Size: 2806 bytes Desc: not available URL: From james.wood.100 at strath.ac.uk Thu Jan 6 00:06:37 2022 From: james.wood.100 at strath.ac.uk (James Wood) Date: Wed, 5 Jan 2022 23:06:37 +0000 Subject: [Agda] A stupid question to start off the New Year In-Reply-To: <5B9F98D7-2F3F-47B0-865F-D949F11BEA29@informatik.uni-freiburg.de> References: <46845f47-3b4d-5404-5653-f20309adb1a8@strath.ac.uk> <5B9F98D7-2F3F-47B0-865F-D949F11BEA29@informatik.uni-freiburg.de> Message-ID: Those three could all be different, but I'd think that would only be the case if `f x` appeared in the goal+context. Does it help at all to desugar the `rewrite`s into `with`s, or even further the `with`s into auxiliary definitions? Cheers, James On 04/01/2022 16:58, Peter Thiemann wrote: > This is a highly interesting thread! I have a question to add: > > I've been in situations where > > * rewrite f x = ... would not perform the rewrite > * with f x > ... | refl = ... would refuse to match the refl > > but > > with f x > ... | a==b > rewrite a==b = ... > > would do the job. I'll be happy to provide a concrete example, if there is no high-level explanation. > > Cheers > -Peter > > >> On 4. Jan 2022, at 17:36, Philip Wadler wrote: >> >> Thanks, James. Indeed, changing "with" to "rewrite" fixed that problem. Ironic, since the previous time I wrote to the list the fix was to change "rewrite" to "with", which is why I was using "with"! >> >> 1. Can you give me an intuition about when "with" is appropriate and when "rewrite" is appropriate? I could not work this out from reading the docs. >> >> 2, The rewrite does not have the desired effect of changing (subst (ext ids)) to (subst ids). See the revised file below. Any idea of how to complete the proof? >> >> Thank you again! Go well, -- P >> >> . \ Philip Wadler, Professor of Theoretical Computer Science, >> . /\ School of Informatics, University of Edinburgh >> . / \ and Senior Research Fellow, IOHK >> . http://homepages.inf.ed.ac.uk/wadler/ >> >> >> >> On Tue, 4 Jan 2022 at 15:42, James Wood wrote: >> This email was sent to you by someone outside the University. >> You should only click on links or attachments if you are certain that the email is genuine and the content is safe. >> Hi Phil, >> The error message you see on the pattern-match of the with more or less says that you should be using rewrite instead of with. exts is not (obviously) injective, so the unifier will give up when trying to unify it with anything other than a variable. The unification problem was triggered by the pattern-match to refl, which tries to unify the two equated terms (exts `_ and `_). rewrite solves the problem by with-abstracting the LHS (exts `_), turning it into a fresh variable that gets unified with the RHS (`_). It looks like this is what you wanted. The documentation for rewrite (https://agda.readthedocs.io/en/latest/language/with-abstraction.html#rewrite gives another example. >> >> Kind regards, >> >> James >> >> On 03/01/2022 19:20, Philip Wadler wrote: >>> CAUTION: This email originated outside the University. Check before clicking links or attachments. >>> Thanks, Conor! As usual, that was blindingly fast! >>> >>> 2. Your elegant, and elegantly named, solution that bypasses extensionality works brilliantly. Attached as Substitution-fixed.lagda.md. >>> >>> 1. I did my best to make explicit all of the implicit variables in extensionality, but it still complains. Attached as Substitution-broken.lagda.md. Any idea of what is wrong or how to fix it? I've been stymied by similar errors several times over the last few days, so I'm keen to have a better understanding. >>> >>> Go well, -- P >>> >>> >>> >>> . \ Philip Wadler, Professor of Theoretical Computer Science, >>> . /\ School of Informatics, University of Edinburgh >>> . / \ and Senior Research Fellow, IOHK >>> . http://homepages.inf.ed.ac.uk/wadler/ >>> >>> >>> >>> On Mon, 3 Jan 2022 at 16:36, Conor McBride wrote: >>> This email was sent to you by someone outside the University. >>> You should only click on links or attachments if you are certain that the email is genuine and the content is safe. >>> >>> Hi Phil >>> >>>> On 3 Jan 2022, at 16:24, Philip Wadler wrote: >>>> >>>> I'm trying to prove a basic fact about substitution and failing. What I'd like to prove is that substitution by the identity map is the identity, which should be straightforward. My failed proof is attached. Questions: >>>> >>>> 1. Why does Agda complain about my extensionality postulate? How do I fix it? >>> >>> For a start, Agda's moaning about the implicits that it can't infer in your with-expression. >>> No type is pushed in to with-expressions, so there's nothing that will determing the >>> missing information. I'm not sure with is what you need, but even if you were to use >>> rewrite, the same would pertain. However... >>> >>>> 2. Is there a way to complete the proof without assuming extensionality? >>> >>> ...you might consider making Henry Ford's extensional generalization of your goal. Any >>> substitution will *behave* as the identity on terms if it *behaves* like the identity on >>> variables, regardless of whether it's your *favourite* identity substitution. That statement >>> pushes readily under lambda, because it talks about "any substitution", leaving you with >>> an "as long as it behaves like the identity" condition to discharge. >>> >>> Cheers >>> >>> Conor >>> >>>> >>>> Many thanks for your help. This group is invaluable! The New Year is a good time to take a moment to express my thanks to you all, both for your work in Agda (and related topics) and for your help. >>>> >>>> Go well, -- P >>>> >>>> >>>> >>>> >>>> . \ Philip Wadler, Professor of Theoretical Computer Science, >>>> . /\ School of Informatics, University of Edinburgh >>>> . / \ and Senior Research Fellow, IOHK >>>> . http://homepages.inf.ed.ac.uk/wadler/ >>>> >>>> The University of Edinburgh is a charitable body, registered in >>>> Scotland, with registration number SC005336. >>>> _______________________________________________ >>>> Agda mailing list >>>> Agda at lists.chalmers.se >>>> https://lists.chalmers.se/mailman/listinfo/agda>>>> >>> >>> >>> _______________________________________________ >>> Agda mailing list >>> >>> Agda at lists.chalmers.se >>> https://lists.chalmers.se/mailman/listinfo/agda>>> _______________________________________________ >> Agda mailing list >> Agda at lists.chalmers.se >> https://lists.chalmers.se/mailman/listinfo/agda>>> _______________________________________________ >> Agda mailing list >> Agda at lists.chalmers.se >> https://lists.chalmers.se/mailman/listinfo/agda>> From a.g.setzer at swansea.ac.uk Fri Jan 7 03:30:27 2022 From: a.g.setzer at swansea.ac.uk (Anton Setzer) Date: Fri, 7 Jan 2022 02:30:27 +0000 Subject: [Agda] Getting Agda building and running on Windows In-Reply-To: References: Message-ID: Installing Agda using WSL worked for me very well. However, I needed to put all agda files including the standard library into the root directory (not into ~/ but into a folder in / ) then the preformance is quite good. However you need to get a GUI running so that you have the emacs menus (which under Windows 11 will be provided which hopefully makes life easier, under Windows 10 you have to set it up yourself), I succeeded under windows 10 using vcXsrv, but that's a bit of work, documentation is not very good since it's quite new. Maybe upgrading to Windows 11 first is a smart move. For windows native installation the only success my students had was using Aaron Strump's installers under http://homepage.cs.uiowa.edu/~astump/agda/ Anton ________________________________ From: Agda on behalf of Aaron Gray Sent: 04 January 2022 22:31 To: agda at lists.chalmers.se Subject: [Agda] Getting Agda building and running on Windows Hi, Hi, I am a Agda newbie and trying to get a working platform on Windows. I have tried Ubuntu on WLS on Windows 10, versions are well old, why I don't know, Chocolatey, issues with Agda Standard Library and now trying Docker ! Is there a standard Docker script for Agda ? I tried a docker script that presumably I thought worked on older versions but I have just found does not even get as far as I have. Its working upto failing on Agda Standard Library, something to do with --guardedness in Codata/Musical/Notation.agda I have updated an existing Docker script to support Agda 0.2.6.2 and agda standard library 0.7 and 1.7.1 :- https://github.com/AaronNGray/docker-agda-stdlib I am getting the following :- => ERROR [builder 11/13] RUN agda --verbose=0 src/Everything.agda 142.1s ------ > [builder 11/13] RUN agda --verbose=0 src/Everything.agda: #15 142.0 /root/.agda/lib/standard-library/src/Codata/Musical/Notation.agda:11,1-44 #15 142.0 Importing module Agda.Builtin.Coinduction using the --guardedness #15 142.0 flag from a module which does not. #15 142.0 when scope checking the declaration #15 142.0 open import Agda.Builtin.Coinduction public ------ executor failed running [/bin/sh -c agda --verbose=0 src/Everything.agda]: exit code: 42 Any help would be appreciated. Aaron -- Aaron Gray Independent Open Source Software Engineer, Computer Language Researcher, and amateur computer scientist. -------------- next part -------------- An HTML attachment was scrubbed... URL: From fdhzs2010 at hotmail.com Fri Jan 7 03:51:31 2022 From: fdhzs2010 at hotmail.com (Jason Hu) Date: Fri, 7 Jan 2022 02:51:31 +0000 Subject: [Agda] Getting Agda building and running on Windows In-Reply-To: References: Message-ID: WSL2 works well for me too. I heard that windows 11 is not very stable(especially for video games). As always, Microsoft seems always to need a few years to polish their new systems. If your laptop is not exclusive for work, I wouldn?t say jumping directly to upgrading is a good idea. But if you do, it will definitely be helpful for others if you can share your experience with running Agda on windows 11. I am curious how Linux GUI would work on windows 11? Is it just gonna work out of the box? I?ve watched some videos on YouTube about some windows 10 dev build which has what they called gWSL. So that?s discontinued on windows 10? Thanks, Jason Hu From: Anton Setzer Sent: Thursday, January 6, 2022 9:30 PM To: Aaron Gray; agda at lists.chalmers.se Subject: Re: [Agda] Getting Agda building and running on Windows Installing Agda using WSL worked for me very well. However, I needed to put all agda files including the standard library into the root directory (not into ~/ but into a folder in / ) then the preformance is quite good. However you need to get a GUI running so that you have the emacs menus (which under Windows 11 will be provided which hopefully makes life easier, under Windows 10 you have to set it up yourself), I succeeded under windows 10 using vcXsrv, but that's a bit of work, documentation is not very good since it's quite new. Maybe upgrading to Windows 11 first is a smart move. For windows native installation the only success my students had was using Aaron Strump's installers under http://homepage.cs.uiowa.edu/~astump/agda/ Anton From: Agda on behalf of Aaron Gray Sent: 04 January 2022 22:31 To: agda at lists.chalmers.se Subject: [Agda] Getting Agda building and running on Windows Hi, Hi, I am a Agda newbie and trying to get a working platform on Windows. I have tried Ubuntu on WLS on Windows 10, versions are well old, why I don't know, Chocolatey, issues with Agda Standard Library and now trying Docker ! Is there a standard Docker script for Agda ? I tried a docker script that presumably I thought worked on older versions but I have just found does not even get as far as I have. Its working upto failing on Agda Standard Library, something to do with --guardedness in Codata/Musical/Notation.agda I have updated an existing Docker script to support Agda 0.2.6.2 and agda standard library 0.7 and 1.7.1 :- https://github.com/AaronNGray/docker-agda-stdlib I am getting the following :- => ERROR [builder 11/13] RUN agda --verbose=0 src/Everything.agda 142.1s ------ > [builder 11/13] RUN agda --verbose=0 src/Everything.agda: #15 142.0 /root/.agda/lib/standard-library/src/Codata/Musical/Notation.agda:11,1-44 #15 142.0 Importing module Agda.Builtin.Coinduction using the --guardedness #15 142.0 flag from a module which does not. #15 142.0 when scope checking the declaration #15 142.0 open import Agda.Builtin.Coinduction public ------ executor failed running [/bin/sh -c agda --verbose=0 src/Everything.agda]: exit code: 42 Any help would be appreciated. Aaron -- Aaron Gray Independent Open Source Software Engineer, Computer Language Researcher, and amateur computer scientist. -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: B88DCD7B302544DF94F8D206E8303BFB.png Type: image/png Size: 159 bytes Desc: B88DCD7B302544DF94F8D206E8303BFB.png URL: From felix.wellen at posteo.de Fri Jan 7 09:11:41 2022 From: felix.wellen at posteo.de (Felix Cherubini) Date: Fri, 7 Jan 2022 08:11:41 +0000 Subject: [Agda] Getting Agda building and running on Windows In-Reply-To: References: Message-ID: <5a0cb870-42d7-0bd2-d0d6-1f55898af46f@posteo.de> I don't know anything about gWSL, but it worked for me some time ago to install an X-server on Windows 10 (as Anton did, but I used Xming) and connect to that from WSL. That worked out of the box and I blogged about it here: https://schneide.blog/2019/11/11/compiling-and-using-agda-through-the-windows-linux-subsystem/ On 1/7/22 03:51, Jason Hu wrote: > WSL2 works well for me too. > > I heard that windows 11 is not very stable(especially for video games). > As always, Microsoft seems always to need a few years to polish their > new systems. If your laptop is not exclusive for work, I wouldn?t say > jumping directly to upgrading is a good idea. But if you do, it will > definitely be helpful for others if you can share your experience with > running Agda on windows 11. > > I am curious how Linux GUI would work on windows 11? Is it just gonna > work out of the box? I?ve watched some videos on YouTube about some > windows 10 dev build which has what they called gWSL. So that?s > discontinued on windows 10? > > Thanks, > > Jason Hu > > *From: *Anton Setzer > *Sent: *Thursday, January 6, 2022 9:30 PM > *To: *Aaron Gray ; > agda at lists.chalmers.se > *Subject: *Re: [Agda] Getting Agda building and running on Windows > > Installing Agda using WSL worked for me very well. However, I needed to > put all agda files including the standard library into the root > directory (not into ~/? but into a folder in? / ) then the preformance > is quite good. However you need to get a GUI running so that you have > the emacs menus (which under Windows 11 will be provided which hopefully > makes life easier, under Windows 10 you have to set it up yourself), I > succeeded under windows 10 using vcXsrv, but that's a bit of work, > documentation is not very good since it's quite new.? Maybe upgrading to > Windows 11 first is a smart move. > > For windows native installation the only success my students had was > using Aaron Strump's installers under > http://homepage.cs.uiowa.edu/~astump/agda/ > > > Anton > > *From:*Agda on behalf of Aaron Gray > > *Sent:* 04 January 2022 22:31 > *To:* agda at lists.chalmers.se > *Subject:* [Agda] Getting Agda building and running on Windows > > Hi, > > Hi, I am a Agda newbie and trying to get a working platform?on Windows. > > I have tried Ubuntu on WLS on Windows 10, versions are well old, why I > don't know, Chocolatey, issues with Agda Standard Library and now trying > Docker ! > > Is there a standard Docker script for Agda ? > > I tried a docker script that presumably I thought worked on older > versions but I have just found does not even get as far as I have. > > Its working upto failing on Agda Standard Library, something to do with > --guardedness in?Codata/Musical/Notation.agda > > I have updated an existing Docker script to support Agda 0.2.6.2 and > agda standard library 0.7 and 1.7.1 :- > > https://github.com/AaronNGray/docker-agda-stdlib > > > > I am getting the following :- > > ? ? ?=> ERROR [builder 11/13] RUN agda --verbose=0 src/Everything.agda > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 142.1s > ? ? ------ > ? ? ?> [builder 11/13] RUN agda --verbose=0 src/Everything.agda: > ? ? #15 142.0 > /root/.agda/lib/standard-library/src/Codata/Musical/Notation.agda:11,1-44 > ? ? #15 142.0 Importing module Agda.Builtin.Coinduction using the > --guardedness > ? ? #15 142.0 flag from a module which does not. > ? ? #15 142.0 when scope checking the declaration > ? ? #15 142.0 ? open import Agda.Builtin.Coinduction public > ? ? ------ > ? ? executor failed running [/bin/sh -c agda --verbose=0 > src/Everything.agda]: exit code: 42 > > Any help would be appreciated. > > Aaron > > -- > > Aaron Gray > > Independent Open Source Software Engineer, Computer Language Researcher, > and amateur computer scientist. > > > _______________________________________________ > Agda mailing list > Agda at lists.chalmers.se > https://lists.chalmers.se/mailman/listinfo/agda > From iblech at speicherleck.de Sun Jan 9 04:02:41 2022 From: iblech at speicherleck.de (Ingo Blechschmidt) Date: Sun, 9 Jan 2022 04:02:41 +0100 Subject: [Agda] Getting Agda building and running on Windows In-Reply-To: References: Message-ID: Dear Aaron, On Tue 04 Jan 2022 10:31:18 PM GMT, Aaron Gray wrote: > Hi, I am a Agda newbie and trying to get a working platform on Windows. [...] I'm sorry for the late reply and also for answering a different question from the one you're asking, but still believe that this might be useful to you: In case you didn't know about it, you can run Agda directly in your browser without any installation at https://agdapad.quasicoherent.io/. If you share a session link with colleagues, you have simultaneous control over the same Emacs window as a team. However, there are absolutely no guarantees regarding the availability or permanence of this service. Enjoy! :-) Cheers, Ingo From wadler at inf.ed.ac.uk Sun Jan 9 16:56:15 2022 From: wadler at inf.ed.ac.uk (Philip Wadler) Date: Sun, 9 Jan 2022 15:56:15 +0000 Subject: [Agda] More rewrite woes Message-ID: I've attached code where a rewrite should work but does not. There are many places in the full development where I encounter similar issues. Rewrite works fine in the original definition of left-id, but not in the subsequent attempt to prove refl?. Any advice on how to fix it? The file is cut down from the original---I apologise that it is still rather lengthy. The issue with rewrite appears at the end. I am using Agda version 2.6.1.1-fce01db. Thank you for your help! Go well, -- P . \ Philip Wadler, Professor of Theoretical Computer Science, . /\ School of Informatics, University of Edinburgh . / \ and Senior Research Fellow, IOHK . http://homepages.inf.ed.ac.uk/wadler/ -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: LeftId.lagda.md Type: text/markdown Size: 9367 bytes Desc: not available URL: -------------- next part -------------- The University of Edinburgh is a charitable body, registered in Scotland, with registration number SC005336. From fdhzs2010 at hotmail.com Sun Jan 9 17:38:54 2022 From: fdhzs2010 at hotmail.com (Jason Hu) Date: Sun, 9 Jan 2022 16:38:54 +0000 Subject: [Agda] More rewrite woes In-Reply-To: References: Message-ID: Hi Phil, Your rewrite is an no-op, because the goal does not have the corresponding left hand side: Goal: refl? ? M ? p ?? M ? p ? id Have: (id ? p) ? p You can apply reflexivity to rewrite all p to (id ? p) but this is not want you want. In Agda you cannot specify which p to rewrite so I suppose this is a limitation. There is nothing wrong with the current solution you have. Thanks, Jason Hu From: Philip Wadler Sent: Sunday, January 9, 2022 10:56 AM To: Agda mailing list Subject: [Agda] More rewrite woes I've attached code where a rewrite should work but does not. There are many places in the full development where I encounter similar issues. Rewrite works fine in the original definition of left-id, but not in the subsequent attempt to prove refl?. Any advice on how to fix it? The file is cut down from the original---I apologise that it is still rather lengthy. The issue with rewrite appears at the end. I am using Agda version 2.6.1.1-fce01db. Thank you for your help! Go well, -- P . \ Philip Wadler, Professor of Theoretical Computer Science, . /\ School of Informatics, University of Edinburgh . / \ and Senior Research Fellow, IOHK . http://homepages.inf.ed.ac.uk/wadler/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From wadler at inf.ed.ac.uk Sun Jan 9 22:33:25 2022 From: wadler at inf.ed.ac.uk (Philip Wadler) Date: Sun, 9 Jan 2022 21:33:25 +0000 Subject: [Agda] More rewrite woes In-Reply-To: References: Message-ID: Thank you for the reply! In the particular case I gave, the solution without rewrite isn't substantially larger than the (non) solution with rewrite, but in many other places this is not the case. I take the point that the given formula does not appear in the goal, and so is not rewritten, but it does appear in a subgoal needed to prove the goal. Is there some standard idiom for moving such a subgoal into a goal so that rewrite can apply? Thank you again for the help. Go well, -- P . \ Philip Wadler, Professor of Theoretical Computer Science, . /\ School of Informatics, University of Edinburgh . / \ and Senior Research Fellow, IOHK . http://homepages.inf.ed.ac.uk/wadler/ On Sun, 9 Jan 2022 at 16:38, Jason Hu wrote: > This email was sent to you by someone outside the University. > You should only click on links or attachments if you are certain that the > email is genuine and the content is safe. > > Hi Phil, > > > > Your rewrite is an no-op, because the goal does not have the corresponding > left hand side: > > > > Goal: refl? ? M ? p ?? M ? p ? id > > Have: (id ? p) ? p > > > > You can apply reflexivity to rewrite all p to (id ? p) but this is not > want you want. In Agda you cannot specify which p to rewrite so I suppose > this is a limitation. There is nothing wrong with the current solution you > have. > > > > Thanks, > > Jason Hu > > > > *From: *Philip Wadler > *Sent: *Sunday, January 9, 2022 10:56 AM > *To: *Agda mailing list > *Subject: *[Agda] More rewrite woes > > > > I've attached code where a rewrite should work but does not. There are > many places in the full development where I encounter similar issues. > Rewrite works fine in the original definition of left-id, but not in the > subsequent attempt to prove refl?. Any advice on how to fix it? > > > > The file is cut down from the original---I apologise that it is still > rather lengthy. The issue with rewrite appears at the end. I am using Agda > version 2.6.1.1-fce01db. > > > > Thank you for your help! Go well, -- P > > > > > > > > > . \ Philip Wadler, Professor of Theoretical Computer Science, > . /\ School of Informatics, University of Edinburgh > > . / \ and Senior Research Fellow, IOHK > > . http://homepages.inf.ed.ac.uk/wadler/ > > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- The University of Edinburgh is a charitable body, registered in Scotland, with registration number SC005336. From P.Achten at cs.ru.nl Tue Jan 11 18:09:41 2022 From: P.Achten at cs.ru.nl (Peter Achten) Date: Tue, 11 Jan 2022 18:09:41 +0100 Subject: [Agda] [TFP'22] second call for papers: Trends in Functional Programming 2022 moved to March 17-18 online (together with TFPiE) Message-ID: ============== TFP 2022 =================== == MOVING TO ONLINE SYMPOSIUM, NEW DATES == =========================================== 23rd Symposium on Trends in Functional Programming 17-18 March, 2022 Online event https://trendsfp.github.io/index.html Due the pandemic, we have had to make TFP virtual this year. As a result, we've decided to push back the deadlines and conference date by a few weeks. In particular, the pre-symposium deadline for submitting the first version of your paper is now just after the ICFP deadline. == Important Dates == Submission deadline for draft papers??????????????? Monday 7th March, 2022 Notification for draft submissions????????????????? Friday 11th March, 2022 Symposium dates???????????????????????????????????? Thursday 17th - Friday 18th March, 2022 Submission deadline for post-symposium reviewing??? Wednesday 6th April, 2022 Notification for post-symposium submissions???????? Friday 27th May, 2022 The Symposium on Trends in Functional Programming (TFP) is an international forum for researchers with interests in all aspects of functional programming, taking a broad view of current and future trends in the area. It aspires to be a lively environment for presenting the latest research results, and other contributions. == Scope == The symposium recognizes that new trends may arise through various routes. As part of the Symposium's focus on trends we therefore identify the following five article categories. High-quality articles are solicited in any of these categories: * Research Articles: ?? Leading-edge, previously unpublished research work * Position Articles: ? On what new trends should or should not be * Project Articles: ?? Descriptions of recently started new projects * Evaluation Articles: ?? What lessons can be drawn from a finished project * Overview Articles: ?? Summarizing work with respect to a trendy subject Articles must be original and not simultaneously submitted for publication to any other forum. They may consider any aspect of functional programming: theoretical, implementation-oriented, or experience-oriented. Applications of functional programming techniques to other languages are also within the scope of the symposium. Topics suitable for the symposium include, but are not limited to: * Functional programming and multicore/manycore computing * Functional programming in the cloud * High performance functional computing * Extra-functional (behavioural) properties of functional programs * Dependently typed functional programming * Validation and verification of functional programs * Debugging and profiling for functional languages * Functional programming in different application areas: ?? security, mobility, telecommunications applications, embedded ?? systems, global computing, grids, etc. * Interoperability with imperative programming languages * Novel memory management techniques * Program analysis and transformation techniques * Empirical performance studies * Abstract/virtual machines and compilers for functional languages * (Embedded) domain specific languages * New implementation strategies * Any new emerging trend in the functional programming area If you are in doubt on whether your article is within the scope of TFP, please contact the TFP 2022 program chairs, Wouter Swierstra and Nicolas Wu. == Best Paper Awards == To reward excellent contributions, TFP awards a prize for the best paper accepted for the formal proceedings. TFP traditionally pays special attention to research students, acknowledging that students are almost by definition part of new subject trends. A student paper is one for which the authors state that the paper is mainly the work of students, the students are listed as first authors, and a student would present the paper. A prize for the best student paper is awarded each year. In both cases, it is the PC of TFP that awards the prize. In case the best paper happens to be a student paper, that paper will then receive both prizes. == Instructions to Author == Papers must be submitted at: ?? https://easychair.org/conferences/?conf=tfp22 Authors of papers have the choice of having their contributions formally reviewed either before or after the Symposium. == Post-symposium formal review process == Draft papers will receive minimal reviews and notification of acceptance for presentation at the symposium. Authors of draft papers will be invited to submit revised papers based on the feedback received at the symposium. A post-symposium refereeing process will then select a subset of these articles for formal publication. == Paper categories == Draft papers and papers submitted for formal review are submitted as extended abstracts (4 to 10 pages in length) or full papers (20 pages). The submission must clearly indicate which category it belongs to: research, position, project, evaluation, or overview paper. It should also indicate which authors are research students, and whether the main author(s) are students. A draft paper for which all authors are students will receive additional feedback by one of the PC members shortly after the symposium has taken place. == Format == Papers must be written in English, and written using the LNCS style. For more information about formatting please consult the Springer LNCS web site. == Program Committee == Guillaume Allais??????????????? University of St Andrews Jos? Manuel Calder?n Trilla???? Galois, Inc. Stephen Chang?????????????????? University of Massachusetts Boston Matthew Flatt?????????????????? University of Utah Jeremy Gibbons????????????????? University of Oxford Zhenjiang Hu??????????????????? Peking University Mauro Jaskelioff??????????????? CIFASIS / Universidad Nacional de Rosario Moa Johansson?????????????????? Chalmers University of Technology Shin-ya Katsumata?????????????? National Institute of Informatics Oleg Kiselyov?????????????????? Tohoku University Bas Lijnse????????????????????? Netherlands Defence Academy / Radboud University Nijmegen Kazutaka Matsuda??????????????? Tohoku University Nico Naus?????????????????????? Virginia Tech Christine Rizkallah???????????? University of New South Wales Alejandro Serrano?????????????? 47 Degrees Amir Shaikhha?????????????????? Ecole Polytechnique F?d?rale de Lausanne Aaron Stump???????????????????? University of Iowa Wouter Swierstra (Co-chair)???? Utrecht University Baltasar Tranc?n Y Widemann???? Semantics GmbH Nicolas Wu (Co-chair)?????????? Imperial College London Ningning Xie??????????????????? University of Hong Kong From frederic.blanqui at inria.fr Thu Jan 20 09:13:36 2022 From: frederic.blanqui at inria.fr (=?UTF-8?B?RnLDqWTDqXJpYyBCbGFucXVp?=) Date: Thu, 20 Jan 2022 09:13:36 +0100 Subject: [Agda] Release of Lambdapi 2.1.0 Message-ID: Dear all, I am pleased to announce the release 2.1.0 of Lambdapi on opam. See https://github.com/Deducteam/lambdapi for more details and https://lambdapi.readthedocs.io/ for its user manual. Lambdapi is a proof assistant for the ??-calculus modulo rewriting. Lambdapi provides a rich type system with dependent types. In Lambdapi, one can define both type and function symbols by using rewriting rules (oriented equations). The declaration of symbols and rewriting rules is separated so that one can easily define inductive-recursive types for instance. Rewrite rules can be exported to the TRS and XTC formats for checking confluence and termination with external tools. A symbol can be declared associative and commutative. Lambdapi supports unicode symbols and infix operators. Lambdapi does not come with a pre-defined logic. It is a powerful logical framework in which one can easily define its own logic and build and check proofs in this logic. There exist .lp files defining first or higher-order logic and complex type systems like in Coq or Agda. Lambdapi provides a basic module and package system, interactive modes for proving both unification goals and typing goals, and tactics for solving them step by step. In particular, a rewrite tactic like in SSReflect, and a why3 tactic for calling external automated provers through the Why3 platform. Lambdapi is mostly compatible with Dedukti: it can read .dk files and convert .lp files to .dk files. Dedukti is just a type checker and has no features such as implicit arguments, etc. Hence, Lambdapi can be used as a higher-level intermediate language to translate proofs from a given proof system to Dedukti. Best regards, Fr?d?ric. From fdhzs2010 at hotmail.com Sun Jan 30 01:13:42 2022 From: fdhzs2010 at hotmail.com (Jason Hu) Date: Sun, 30 Jan 2022 00:13:42 +0000 Subject: [Agda] using different stdlib Message-ID: Hi, I am trying to use the master branch of the stdlib and what I did was simply pull the git repo in ~/.agda and switch it to master. Naturally, the version number went from 1.7 to 2.0 after I checked out the master branch. However, after that, agda complains that it cannot locate standard-library-1.7. The error message goes as follows: Library 'standard-library-1.7' not found. Add the path to its .agda-lib file to '/home/hu/.agda/libraries' to install. Installed libraries: standard-library-2.0 (/home/hu/.agda/agda-stdlib-2.6.2/standard-library.agda-lib) I cannot find any settings in my ~/.agda where 1.7 is specified. Is it the case that 1.7 is hardcoded in the agda release? Thanks, Jason -------------- next part -------------- An HTML attachment was scrubbed... URL: From nad at cse.gu.se Mon Jan 31 15:22:18 2022 From: nad at cse.gu.se (Nils Anders Danielsson) Date: Mon, 31 Jan 2022 15:22:18 +0100 Subject: [Agda] using different stdlib In-Reply-To: References: Message-ID: On 2022-01-30 01:13, Jason Hu wrote: > I cannot find any settings in my ~/.agda where 1.7 is specified. Is it > the case that 1.7 is hardcoded in the agda release? Perhaps one of the libraries that you use specify that standard-library-1.7 is one of its dependencies. Check the .agda-lib files. -- /NAD From eduardoochs at gmail.com Tue Feb 1 20:11:34 2022 From: eduardoochs at gmail.com (Eduardo Ochs) Date: Tue, 1 Feb 2022 16:11:34 -0300 Subject: [Agda] Quirk: C-c C-n thinks that some symbols are not in scope Message-ID: Hello list, I think that I found a quirk on the behavior of `C-c C-n'. When I was trying to write a minimal example that showed the problem I wrote this, that isn't really minimal but that should be minimal enough... module NameOfThisFile where open import Agda.Builtin.String open import Agda.Builtin.String.Properties infixl 4 _++_ _++_ : String -> String -> String _++_ str1 str2 = primStringAppend str1 str2 module Add (i : String) where infixl 4 _+++_ add : String -> String -> String add a b = "(" ++ a ++ " +_" ++ i ++ " " ++ b ++ ")" _+++_ : String -> String -> String _+++_ a b = add a b module Add0 = Add "0" module Add1 = Add "1" -- open Add0 open Add "2" aa : String aa = "AAA" bb : String bb = "BBB" cc : String cc = aa +++ bb -- (find-agdanorm "aa ++ bb") -- (find-agdanorm "Add.add \"4\" aa bb") -- (find-agdanorm "Add0.add aa bb") -- (find-agdanorm "Add._+++_ \"9\" aa bb") -- (find-agdanorm "Add0._+++_ aa bb") -- (find-agdanorm "aa Add0.+++ bb") -- (find-agdanorm "aa +++ bb") -- (find-agdanorm "_+++_") -- (find-agdatype "_+++_") -- (find-agdanorm "cc") The sexps like (find-agdanorm "") in comments use a hack that I wrote that is simple to explain. The docstring of find-agdanorm is: (find-agdanorm AGDAEXPR &rest REST) Show the normalized value of AGDAEXPR in the buffer "*Normal Form*". This function goes to the beginning of the Agda comment in the current line, i.e., to the first occurrence of "--" in the current line, and the runs ?C-c C-n AGDAEXPR RET? there. This only works in agda2-mode. This is a quick hack! If I go to the beginning of the line with the -- (find-agdanorm "aa +++ bb") and I type `C-c C-n aa +++ bb RET' there - or if I execute the sexp - Agda tells me that the _+++_ is not in scope, and the same happens with this one here: -- (find-agdanorm "_+++_") I get the same "Not in scope" if I use `C-c C-d _+++_' to get the type of _+++_... but the last sexp, -- (find-agdanorm "cc") works, and it shows that the normalized value of cc is this: "(AAA +_2 BBB)" All the other sexps work as expected without errors. Is that behavior documented? It seems that `C-c C-n' and `C-c C-d' are ignoring some symbols that were brought into scope by this line, open Add "2" and for me this is unexpected & bad. I am using Agda 2.6.1.3 - I don't have the current version here. I've put more info, links, and a screenshot in this page: http://angg.twu.net/eev-agda.html Thanks in advance! Eduardo Ochs http://angg.twu.net/#eev -------------- next part -------------- An HTML attachment was scrubbed... URL: From Jesper at sikanda.be Tue Feb 1 21:00:40 2022 From: Jesper at sikanda.be (Jesper Cockx) Date: Tue, 1 Feb 2022 21:00:40 +0100 Subject: [Agda] Quirk: C-c C-n thinks that some symbols are not in scope In-Reply-To: References: Message-ID: Hi Eduardo, C-c c-n evaluates the given expression in the scope of the current module as it looks like from the outside (i.e. as if you import the module somewhere else). In particular, this scope does not include symbols from modules you have opened, unless they have been opened publicly. So I expect you can solve your problem by adding 'public' to the end of your open statements, e.g. 'open Add "2" public'. -- Jesper On Tue, Feb 1, 2022 at 8:12 PM Eduardo Ochs wrote: > Hello list, > > I think that I found a quirk on the behavior of `C-c C-n'. When I was > trying to write a minimal example that showed the problem I wrote > this, that isn't really minimal but that should be minimal enough... > > module NameOfThisFile where > > open import Agda.Builtin.String > open import Agda.Builtin.String.Properties > > infixl 4 _++_ > _++_ : String -> String -> String > _++_ str1 str2 = primStringAppend str1 str2 > > module Add (i : String) where > infixl 4 _+++_ > add : String -> String -> String > add a b = "(" ++ a ++ " +_" ++ i ++ " " ++ b ++ ")" > _+++_ : String -> String -> String > _+++_ a b = add a b > > module Add0 = Add "0" > module Add1 = Add "1" > -- open Add0 > open Add "2" > > aa : String > aa = "AAA" > bb : String > bb = "BBB" > cc : String > cc = aa +++ bb > > -- (find-agdanorm "aa ++ bb") > -- (find-agdanorm "Add.add \"4\" aa bb") > -- (find-agdanorm "Add0.add aa bb") > -- (find-agdanorm "Add._+++_ \"9\" aa bb") > -- (find-agdanorm "Add0._+++_ aa bb") > -- (find-agdanorm "aa Add0.+++ bb") > -- (find-agdanorm "aa +++ bb") > -- (find-agdanorm "_+++_") > -- (find-agdatype "_+++_") > -- (find-agdanorm "cc") > > The sexps like (find-agdanorm "") in comments use a hack that I > wrote that is simple to explain. The docstring of find-agdanorm is: > > (find-agdanorm AGDAEXPR &rest REST) > > Show the normalized value of AGDAEXPR in the buffer "*Normal Form*". > This function goes to the beginning of the Agda comment in the > current line, i.e., to the first occurrence of "--" in the > current line, and the runs ?C-c C-n AGDAEXPR RET? there. > This only works in agda2-mode. This is a quick hack! > > If I go to the beginning of the line with the > > -- (find-agdanorm "aa +++ bb") > > and I type `C-c C-n aa +++ bb RET' there - or if I execute the sexp - > Agda tells me that the _+++_ is not in scope, and the same happens > with this one here: > > -- (find-agdanorm "_+++_") > > I get the same "Not in scope" if I use `C-c C-d _+++_' to get the type > of _+++_... but the last sexp, > > -- (find-agdanorm "cc") > > works, and it shows that the normalized value of cc is this: > > "(AAA +_2 BBB)" > > All the other sexps work as expected without errors. > > Is that behavior documented? It seems that `C-c C-n' and `C-c C-d' are > ignoring some symbols that were brought into scope by this line, > > open Add "2" > > and for me this is unexpected & bad. > > I am using Agda 2.6.1.3 - I don't have the current version here. > I've put more info, links, and a screenshot in this page: > > http://angg.twu.net/eev-agda.html > > Thanks in advance! > Eduardo Ochs > http://angg.twu.net/#eev > > _______________________________________________ > Agda mailing list > Agda at lists.chalmers.se > https://lists.chalmers.se/mailman/listinfo/agda > -------------- next part -------------- An HTML attachment was scrubbed... URL: From eduardoochs at gmail.com Wed Feb 2 03:52:27 2022 From: eduardoochs at gmail.com (Eduardo Ochs) Date: Tue, 1 Feb 2022 23:52:27 -0300 Subject: [Agda] Quirk: C-c C-n thinks that some symbols are not in scope In-Reply-To: References: Message-ID: On Tue, 1 Feb 2022 at 17:01, Jesper Cockx wrote: > Hi Eduardo, > > C-c c-n evaluates the given expression in the scope of the current module > as it looks like from the outside (i.e. as if you import the module > somewhere else). In particular, this scope does not include symbols from > modules you have opened, unless they have been opened publicly. So I expect > you can solve your problem by adding 'public' to the end of your open > statements, e.g. 'open Add "2" public'. > Hi Jesper! Ooops and many many thanks! I've added links to your explanation to the right places. For the sake of completeness, here is a demo/test... module NameOfThisFile where open import Agda.Builtin.String open import Agda.Builtin.String.Properties infixl 4 _++_ _++_ : String -> String -> String _++_ str1 str2 = primStringAppend str1 str2 module Add (i : String) where infixl 4 _+_ _+_ : String -> String -> String _+_ a b = "(" ++ a ++ " +_" ++ i ++ " " ++ b ++ ")" module Mul (i : String) where infixl 4 _*_ _*_ : String -> String -> String _*_ a b = "(" ++ a ++ " *_" ++ i ++ " " ++ b ++ ")" module Add0 = Add "0" module Add1 = Add "1" open Add "2" public open Mul "3" -- not "public" aa : String aa = "AAA" bb : String bb = "BBB" cc : String cc = aa + bb dd : String dd = aa * bb -- (find-agdanorm "aa ++ bb") -- (find-agdanorm "Add._+_ \"4\" aa bb") -- (find-agdanorm "Add0._+_ aa bb") -- (find-agdanorm "aa Add1.+ bb") -- (find-agdanorm "aa + bb") -- (find-agdanorm "_+_") -- (find-agdanorm "_*_") -- (find-agdanorm "cc") -- (find-agdanorm "dd") -- -- Note that find-agdanorm considers that the _*_ is "Not in scope"... -- See: https://lists.chalmers.se/pipermail/agda/2022/012862.html -- https://lists.chalmers.se/pipermail/agda/2022/012863.html Cheers =), Eduardo Ochs http://angg.twu.net/eev-agda.html -------------- next part -------------- An HTML attachment was scrubbed... URL: From Thorsten.Altenkirch at nottingham.ac.uk Wed Feb 2 12:19:00 2022 From: Thorsten.Altenkirch at nottingham.ac.uk (Thorsten Altenkirch) Date: Wed, 2 Feb 2022 11:19:00 +0000 Subject: [Agda] Quirk: C-c C-n thinks that some symbols are not in scope In-Reply-To: References: Message-ID: This is really bad from a paedagogical perspective if you use agda for teaching! Is there nobody who could implement a read-eval-print loop for agda? It shouldn?t be that difficult? Cheers, Thorsten From: Agda on behalf of Jesper Cockx Date: Tuesday, 1 February 2022 at 20:01 To: Eduardo Ochs Cc: agda list Subject: Re: [Agda] Quirk: C-c C-n thinks that some symbols are not in scope Hi Eduardo, C-c c-n evaluates the given expression in the scope of the current module as it looks like from the outside (i.e. as if you import the module somewhere else). In particular, this scope does not include symbols from modules you have opened, unless they have been opened publicly. So I expect you can solve your problem by adding 'public' to the end of your open statements, e.g. 'open Add "2" public'. -- Jesper On Tue, Feb 1, 2022 at 8:12 PM Eduardo Ochs > wrote: Hello list, I think that I found a quirk on the behavior of `C-c C-n'. When I was trying to write a minimal example that showed the problem I wrote this, that isn't really minimal but that should be minimal enough... module NameOfThisFile where open import Agda.Builtin.String open import Agda.Builtin.String.Properties infixl 4 _++_ _++_ : String -> String -> String _++_ str1 str2 = primStringAppend str1 str2 module Add (i : String) where infixl 4 _+++_ add : String -> String -> String add a b = "(" ++ a ++ " +_" ++ i ++ " " ++ b ++ ")" _+++_ : String -> String -> String _+++_ a b = add a b module Add0 = Add "0" module Add1 = Add "1" -- open Add0 open Add "2" aa : String aa = "AAA" bb : String bb = "BBB" cc : String cc = aa +++ bb -- (find-agdanorm "aa ++ bb") -- (find-agdanorm "Add.add \"4\" aa bb") -- (find-agdanorm "Add0.add aa bb") -- (find-agdanorm "Add._+++_ \"9\" aa bb") -- (find-agdanorm "Add0._+++_ aa bb") -- (find-agdanorm "aa Add0.+++ bb") -- (find-agdanorm "aa +++ bb") -- (find-agdanorm "_+++_") -- (find-agdatype "_+++_") -- (find-agdanorm "cc") The sexps like (find-agdanorm "") in comments use a hack that I wrote that is simple to explain. The docstring of find-agdanorm is: (find-agdanorm AGDAEXPR &rest REST) Show the normalized value of AGDAEXPR in the buffer "*Normal Form*". This function goes to the beginning of the Agda comment in the current line, i.e., to the first occurrence of "--" in the current line, and the runs ?C-c C-n AGDAEXPR RET? there. This only works in agda2-mode. This is a quick hack! If I go to the beginning of the line with the -- (find-agdanorm "aa +++ bb") and I type `C-c C-n aa +++ bb RET' there - or if I execute the sexp - Agda tells me that the _+++_ is not in scope, and the same happens with this one here: -- (find-agdanorm "_+++_") I get the same "Not in scope" if I use `C-c C-d _+++_' to get the type of _+++_... but the last sexp, -- (find-agdanorm "cc") works, and it shows that the normalized value of cc is this: "(AAA +_2 BBB)" All the other sexps work as expected without errors. Is that behavior documented? It seems that `C-c C-n' and `C-c C-d' are ignoring some symbols that were brought into scope by this line, open Add "2" and for me this is unexpected & bad. I am using Agda 2.6.1.3 - I don't have the current version here. I've put more info, links, and a screenshot in this page: http://angg.twu.net/eev-agda.html Thanks in advance! Eduardo Ochs http://angg.twu.net/#eev _______________________________________________ Agda mailing list Agda at lists.chalmers.se https://lists.chalmers.se/mailman/listinfo/agda 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. -------------- next part -------------- An HTML attachment was scrubbed... URL: From andreas.abel at ifi.lmu.de Thu Feb 3 12:07:21 2022 From: andreas.abel at ifi.lmu.de (Andreas Abel) Date: Thu, 3 Feb 2022 12:07:21 +0100 Subject: [Agda] Quirk: C-c C-n thinks that some symbols are not in scope In-Reply-To: References: Message-ID: <6d5ef98d-6aba-6bf7-d25f-7c620e1d704c@ifi.lmu.de> Hi Thorsten, On 2022-02-02 12:19, Thorsten Altenkirch wrote: > This is really bad from a paedagogical perspective if you use agda for > teaching! I agree. This issue is reported again and again, e.g. https://github.com/agda/agda/issues/5666 I attempted to fix this issue once, but this caused inconveniences for power users (costly reloads). https://github.com/agda/agda/issues/4959 > Is there nobody who could implement a read-eval-print loop for agda? It > shouldn?t be that difficult? The current REPL fell into repair: https://github.com/agda/agda/issues/5100 But otherwise, would agda --interactive meet your expectations of a REPL? Cheers, Andreas > *From: *Agda on behalf of Jesper Cockx > > *Date: *Tuesday, 1 February 2022 at 20:01 > *To: *Eduardo Ochs > *Cc: *agda list > *Subject: *Re: [Agda] Quirk: C-c C-n thinks that some symbols are not in > scope > > Hi Eduardo, > > C-c c-n evaluates the given expression in the scope of the current > module as it looks like from the outside (i.e. as if you import the > module somewhere else). In particular, this scope does not include > symbols from modules you have opened, unless they have been opened > publicly. So I expect you can solve your problem by adding 'public' to > the end of your open statements, e.g. 'open Add "2" public'. > > -- Jesper > > On Tue, Feb 1, 2022 at 8:12 PM Eduardo Ochs > wrote: > > Hello list, > > I think that I found a quirk on the behavior of `C-c C-n'. When I was > trying to write a minimal example that showed the problem I wrote > this, that isn't really minimal but that should be minimal enough... > > ? module NameOfThisFile where > > ? open import Agda.Builtin.String > ? open import Agda.Builtin.String.Properties > > ? infixl 4 _++_ > ? _++_ : String -> String -> String > ? _++_ str1 str2 = primStringAppend str1 str2 > > ? module Add (i : String) where > ? ? infixl 4 _+++_ > ? ? add ? : String -> String -> String > ? ? add ? a b = "(" ++ a ++ " +_" ++ i ++ " " ++ b ++ ")" > ? ? _+++_ : String -> String -> String > ? ? _+++_ a b = add a b > > ? module Add0 = Add "0" > ? module Add1 = Add "1" > ? -- open Add0 > ? open ? ? ? ? ?Add "2" > > ? aa : String > ? aa = "AAA" > ? bb : String > ? bb = "BBB" > ? cc : String > ? cc = aa +++ bb > > ? -- (find-agdanorm "aa ++ bb") > ? -- (find-agdanorm "Add.add ? \"4\" aa bb") > ? -- (find-agdanorm "Add0.add ? ? ? ?aa bb") > ? -- (find-agdanorm "Add._+++_ \"9\" aa bb") > ? -- (find-agdanorm "Add0._+++_ ? ? ?aa bb") > ? -- (find-agdanorm "aa Add0.+++ bb") > ? -- (find-agdanorm "aa +++ bb") > ? -- (find-agdanorm "_+++_") > ? -- (find-agdatype "_+++_") > ? -- (find-agdanorm "cc") > > The sexps like (find-agdanorm "") in comments use a hack that I > wrote that is simple to explain. The docstring of find-agdanorm is: > > ? (find-agdanorm AGDAEXPR &rest REST) > > ? Show the normalized value ?of AGDAEXPR in the buffer "*Normal Form*". > ? This function goes to the beginning of the Agda comment in the > ? current line, i.e., to the first occurrence of "--" in the > ? current line, and the runs ?C-c C-n AGDAEXPR RET? there. > ? This only works in agda2-mode. This is a quick hack! > > If I go to the beginning of the line with the > > ? -- (find-agdanorm "aa +++ bb") > > and I type `C-c C-n aa +++ bb RET' there - or if I execute the sexp - > Agda tells me that the _+++_ is not in scope, and the same happens > with this one here: > > ? -- (find-agdanorm "_+++_") > > I get the same "Not in scope" if I use `C-c C-d _+++_' to get the type > of _+++_... but the last sexp, > > ? -- (find-agdanorm "cc") > > works, and it shows that the normalized value of cc is this: > > ? "(AAA +_2 BBB)" > > All the other sexps work as expected without errors. > > Is that behavior documented? It seems that `C-c C-n' and `C-c C-d' are > ignoring some symbols that were brought into scope by this line, > > ? open ? ? ? ? ?Add "2" > > and for me this is unexpected & bad. > > I am using Agda 2.6.1.3 - I don't have the current version here. > I've put more info, links, and a screenshot in this page: > > http://angg.twu.net/eev-agda.html > > Thanks in advance! > ? Eduardo Ochs > http://angg.twu.net/#eev > > _______________________________________________ > Agda mailing list > Agda at lists.chalmers.se > https://lists.chalmers.se/mailman/listinfo/agda > > > 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. > > > > > _______________________________________________ > Agda mailing list > Agda at lists.chalmers.se > https://lists.chalmers.se/mailman/listinfo/agda From a.g.setzer at swansea.ac.uk Fri Feb 4 00:40:04 2022 From: a.g.setzer at swansea.ac.uk (Anton Setzer) Date: Thu, 3 Feb 2022 23:40:04 +0000 Subject: [Agda] Quirk: C-c C-n thinks that some symbols are not in scope In-Reply-To: <6d5ef98d-6aba-6bf7-d25f-7c620e1d704c@ifi.lmu.de> References: <6d5ef98d-6aba-6bf7-d25f-7c620e1d704c@ifi.lmu.de> Message-ID: I think the work around is to enter a dummy goal in the page. Then C-c C-n works - at least that was the workaround for parametrized modules. Of course it would be nicer if one could have a switch which switches a buffer into that mode (and back again) without having to create the dummy goal. But I'm not an Agda implementor, so it's difficult for me to judge how complexthat would be. Anton ________________________________ From: Agda on behalf of Andreas Abel Sent: 03 February 2022 11:07 To: Thorsten Altenkirch ; Jesper Cockx ; Eduardo Ochs Cc: agda list Subject: Re: [Agda] Quirk: C-c C-n thinks that some symbols are not in scope Hi Thorsten, On 2022-02-02 12:19, Thorsten Altenkirch wrote: > This is really bad from a paedagogical perspective if you use agda for > teaching! I agree. This issue is reported again and again, e.g. https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fagda%2Fagda%2Fissues%2F5666&data=04%7C01%7CA.G.Setzer%40Swansea.ac.uk%7C692dac50207c4d9418e308d9e70567f8%7Cbbcab52e9fbe43d6a2f39f66c43df268%7C0%7C0%7C637794834615253438%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=Av9%2BuPjxegeuJKl7WciwIOoKXVagwlNK0fySX%2F7o8Uo%3D&reserved=0 I attempted to fix this issue once, but this caused inconveniences for power users (costly reloads). https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fagda%2Fagda%2Fissues%2F4959&data=04%7C01%7CA.G.Setzer%40Swansea.ac.uk%7C692dac50207c4d9418e308d9e70567f8%7Cbbcab52e9fbe43d6a2f39f66c43df268%7C0%7C0%7C637794834615253438%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=JYR2wWUF47rCome2jzZFr9ETfrgEgSn7jMg%2Baz44HJ8%3D&reserved=0 > Is there nobody who could implement a read-eval-print loop for agda? It > shouldn?t be that difficult? The current REPL fell into repair: https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fagda%2Fagda%2Fissues%2F5100&data=04%7C01%7CA.G.Setzer%40Swansea.ac.uk%7C692dac50207c4d9418e308d9e70567f8%7Cbbcab52e9fbe43d6a2f39f66c43df268%7C0%7C0%7C637794834615253438%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=nX9GhihGIwS7ZEQCRHw3HF%2Bh4xKD36isymb8vmlG%2FrI%3D&reserved=0 But otherwise, would agda --interactive meet your expectations of a REPL? Cheers, Andreas > *From: *Agda on behalf of Jesper Cockx > > *Date: *Tuesday, 1 February 2022 at 20:01 > *To: *Eduardo Ochs > *Cc: *agda list > *Subject: *Re: [Agda] Quirk: C-c C-n thinks that some symbols are not in > scope > > Hi Eduardo, > > C-c c-n evaluates the given expression in the scope of the current > module as it looks like from the outside (i.e. as if you import the > module somewhere else). In particular, this scope does not include > symbols from modules you have opened, unless they have been opened > publicly. So I expect you can solve your problem by adding 'public' to > the end of your open statements, e.g. 'open Add "2" public'. > > -- Jesper > > On Tue, Feb 1, 2022 at 8:12 PM Eduardo Ochs > wrote: > > Hello list, > > I think that I found a quirk on the behavior of `C-c C-n'. When I was > trying to write a minimal example that showed the problem I wrote > this, that isn't really minimal but that should be minimal enough... > > module NameOfThisFile where > > open import Agda.Builtin.String > open import Agda.Builtin.String.Properties > > infixl 4 _++_ > _++_ : String -> String -> String > _++_ str1 str2 = primStringAppend str1 str2 > > module Add (i : String) where > infixl 4 _+++_ > add : String -> String -> String > add a b = "(" ++ a ++ " +_" ++ i ++ " " ++ b ++ ")" > _+++_ : String -> String -> String > _+++_ a b = add a b > > module Add0 = Add "0" > module Add1 = Add "1" > -- open Add0 > open Add "2" > > aa : String > aa = "AAA" > bb : String > bb = "BBB" > cc : String > cc = aa +++ bb > > -- (find-agdanorm "aa ++ bb") > -- (find-agdanorm "Add.add \"4\" aa bb") > -- (find-agdanorm "Add0.add aa bb") > -- (find-agdanorm "Add._+++_ \"9\" aa bb") > -- (find-agdanorm "Add0._+++_ aa bb") > -- (find-agdanorm "aa Add0.+++ bb") > -- (find-agdanorm "aa +++ bb") > -- (find-agdanorm "_+++_") > -- (find-agdatype "_+++_") > -- (find-agdanorm "cc") > > The sexps like (find-agdanorm "") in comments use a hack that I > wrote that is simple to explain. The docstring of find-agdanorm is: > > (find-agdanorm AGDAEXPR &rest REST) > > Show the normalized value of AGDAEXPR in the buffer "*Normal Form*". > This function goes to the beginning of the Agda comment in the > current line, i.e., to the first occurrence of "--" in the > current line, and the runs ?C-c C-n AGDAEXPR RET? there. > This only works in agda2-mode. This is a quick hack! > > If I go to the beginning of the line with the > > -- (find-agdanorm "aa +++ bb") > > and I type `C-c C-n aa +++ bb RET' there - or if I execute the sexp - > Agda tells me that the _+++_ is not in scope, and the same happens > with this one here: > > -- (find-agdanorm "_+++_") > > I get the same "Not in scope" if I use `C-c C-d _+++_' to get the type > of _+++_... but the last sexp, > > -- (find-agdanorm "cc") > > works, and it shows that the normalized value of cc is this: > > "(AAA +_2 BBB)" > > All the other sexps work as expected without errors. > > Is that behavior documented? It seems that `C-c C-n' and `C-c C-d' are > ignoring some symbols that were brought into scope by this line, > > open Add "2" > > and for me this is unexpected & bad. > > I am using Agda 2.6.1.3 - I don't have the current version here. > I've put more info, links, and a screenshot in this page: > > https://eur03.safelinks.protection.outlook.com/?url=http%3A%2F%2Fangg.twu.net%2Feev-agda.html&data=04%7C01%7CA.G.Setzer%40Swansea.ac.uk%7C692dac50207c4d9418e308d9e70567f8%7Cbbcab52e9fbe43d6a2f39f66c43df268%7C0%7C0%7C637794834615253438%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=zFA9tRWoFLu%2BZM3%2Bd9mFIdsSltDsihqG%2FkcG95gEHwQ%3D&reserved=0 > > Thanks in advance! > Eduardo Ochs > https://eur03.safelinks.protection.outlook.com/?url=http%3A%2F%2Fangg.twu.net%2F%23eev&data=04%7C01%7CA.G.Setzer%40Swansea.ac.uk%7C692dac50207c4d9418e308d9e70567f8%7Cbbcab52e9fbe43d6a2f39f66c43df268%7C0%7C0%7C637794834615253438%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=cehRlfmBdTT0%2B7C45NxWQFldaAuu3No4HY2Xeqc1OTU%3D&reserved=0 > > _______________________________________________ > Agda mailing list > Agda at lists.chalmers.se > https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.chalmers.se%2Fmailman%2Flistinfo%2Fagda&data=04%7C01%7CA.G.Setzer%40Swansea.ac.uk%7C692dac50207c4d9418e308d9e70567f8%7Cbbcab52e9fbe43d6a2f39f66c43df268%7C0%7C0%7C637794834615253438%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=X56t16avqKJdZ0pxjmluKX1WZGkji7tpNqdwDdHmKX0%3D&reserved=0 > > > 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. > > > > > _______________________________________________ > Agda mailing list > Agda at lists.chalmers.se > https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.chalmers.se%2Fmailman%2Flistinfo%2Fagda&data=04%7C01%7CA.G.Setzer%40Swansea.ac.uk%7C692dac50207c4d9418e308d9e70567f8%7Cbbcab52e9fbe43d6a2f39f66c43df268%7C0%7C0%7C637794834615253438%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=X56t16avqKJdZ0pxjmluKX1WZGkji7tpNqdwDdHmKX0%3D&reserved=0 _______________________________________________ Agda mailing list Agda at lists.chalmers.se https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.chalmers.se%2Fmailman%2Flistinfo%2Fagda&data=04%7C01%7CA.G.Setzer%40Swansea.ac.uk%7C692dac50207c4d9418e308d9e70567f8%7Cbbcab52e9fbe43d6a2f39f66c43df268%7C0%7C0%7C637794834615253438%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=X56t16avqKJdZ0pxjmluKX1WZGkji7tpNqdwDdHmKX0%3D&reserved=0 -------------- next part -------------- An HTML attachment was scrubbed... URL: From m.escardo at cs.bham.ac.uk Fri Feb 4 09:49:54 2022 From: m.escardo at cs.bham.ac.uk (Martin Escardo) Date: Fri, 4 Feb 2022 08:49:54 +0000 Subject: [Agda] Quirk: C-c C-n thinks that some symbols are not in scope In-Reply-To: References: Message-ID: <736781e4-7440-27a1-dcbe-365dd4b6ef0c@cs.bham.ac.uk> On 02/02/2022 11:19, Thorsten Altenkirch wrote: > This is really bad from a paedagogical perspective if you use agda for > teaching! > > Is there nobody who could implement a read-eval-print loop for agda? It > shouldn?t be that difficult? Yes, I agree. I am teaching Agda to 3rd year undergrads, and this would be very useful. These students did Haskell in the 2nd year and they miss something like ghci. Best, Martin From james.wood.100 at strath.ac.uk Fri Feb 4 13:48:42 2022 From: james.wood.100 at strath.ac.uk (James Wood) Date: Fri, 4 Feb 2022 12:48:42 +0000 Subject: [Agda] Quirk: C-c C-n thinks that some symbols are not in scope In-Reply-To: <736781e4-7440-27a1-dcbe-365dd4b6ef0c@cs.bham.ac.uk> References: <736781e4-7440-27a1-dcbe-365dd4b6ef0c@cs.bham.ac.uk> Message-ID: I've been idly thinking about the design of a hole-based REPL for some time. I've jotted down some design points on the issue tracker ( https://github.com/agda/agda/issues/5778 ). Anyone interested, let us know whether this goes towards solving some of your problems. Regards, James On 04/02/2022 08:49, Martin Escardo wrote: > CAUTION: This email originated outside the University. Check before > clicking links or attachments. > > On 02/02/2022 11:19, Thorsten Altenkirch wrote: >> This is really bad from a paedagogical perspective if you use agda for >> teaching! >> >> Is there nobody who could implement a read-eval-print loop for agda? It >> shouldn?t be that difficult? > > Yes, I agree. I am teaching Agda to 3rd year undergrads, and this would > be very useful. These students did Haskell in the 2nd year and they miss > something like ghci. > > Best, > Martin > > _______________________________________________ > Agda mailing list > Agda at lists.chalmers.se > https://lists.chalmers.se/mailman/listinfo/agda > From eduardoochs at gmail.com Fri Feb 4 17:38:32 2022 From: eduardoochs at gmail.com (Eduardo Ochs) Date: Fri, 4 Feb 2022 13:38:32 -0300 Subject: [Agda] Instead of a REPL Message-ID: Hi all, this is an answer to the discussion on REPLs on the thread below, but I thought that this deserves a new thread and a new title... https://lists.chalmers.se/pipermail/agda/2022/thread.html#12862 https://lists.chalmers.se/pipermail/agda/2022/012862.html https://lists.chalmers.se/pipermail/agda/2022/012867.html Here is a simple hack that does most of what I need from a REPL: http://angg.twu.net/AGDA/find-agdatype.el.html http://angg.twu.net/AGDA/find-agdatype.el Here's how to test it. Run this, rm -Rv /tmp/agdanonrepl/ mkdir /tmp/agdanonrepl/ cd /tmp/agdanonrepl/ wget http://angg.twu.net/AGDA/find-agdatype.el wget http://angg.twu.net/AGDA/Postulate1.agda and then this, (load "/tmp/agdanonrepl/find-agdatype.el") (find-file "/tmp/agdanonrepl/Postulate1.agda") then make Agda load Postulate1.agda with `C-c C-l', and execute the sexps like -- (find-agdatype ...) -- (find-agdatypep ...) -- (find-agdanorm ...) -- (find-agdanormp ...) in Postulate1.agda "by hand" and watch what they show in the second window. The file Postulate1.agda has lots of sexps that depend on eev, but you can ignore them. Note that the current version of find-agdatype.el: 1) does not depend on eev (the previous one did), 2) is less than one hour old now, 3) needs better tests and examples. I hope that this is useful! All feedback very welcome! Cheers, Eduardo Ochs http://angg.twu.net/eev-agda.html http://angg.twu.net/#eev -------------- next part -------------- An HTML attachment was scrubbed... URL: From benedikt.ahrens at gmail.com Fri Feb 4 20:46:06 2022 From: benedikt.ahrens at gmail.com (Benedikt Ahrens) Date: Fri, 4 Feb 2022 20:46:06 +0100 Subject: [Agda] HoTT/UF 2022: Call for Contributions Message-ID: <4aa02616-0fb4-772a-4663-5a9abd518e03@gmail.com> ========================================================== CALL FOR CONTRIBUTIONS AND PARTICIPATION Workshop on Homotopy Type Theory and Univalent Foundations (HoTT/UF 2022, co-located with FSCD 2022) ========================================================== ------------------------------------------------------------------------ Workshop on Homotopy Type Theory and Univalent Foundations July 31 - August 1, 2022, Haifa, Israel https://hott-uf.github.io/2022/ Co-located with FSCD 2022 http://www.cs.tau.ac.il/~nachumd/FSCD/ Abstract submission deadline: 10 May 2022 ------------------------------------------------------------------------ Homotopy Type Theory is a young area of logic, combining ideas from several established fields: the use of dependent type theory as a foundation for mathematics, inspired by ideas and tools from abstract homotopy theory. Univalent Foundations are foundations of mathematics based on the homotopical interpretation of type theory. The goal of this workshop is to bring together researchers interested in all aspects of Homotopy Type Theory/Univalent Foundations: from the study of syntax and semantics of type theory to practical formalization in proof assistants based on univalent type theory. As part of the workshop there will be an introductory tutorial intended to make the invited and contributed talks accessible to non-experts. ============================ # Invited speakers * Eric Finster (University of Birmingham) * Kristina Sojakova (INRIA Paris) * Taichi Uemura (Stockholm University) ================ # Submissions * Abstract submission deadline: 10 May 2022 * Author notification: mid June 2022 Submissions should consist of a title and a 1-2 pages abstract, in pdf format, via https://easychair.org/conferences/?conf=hottuf2022. Considering the broad background of the expected audience, we encourage authors to include information of pedagogical value in their abstract, such as motivation and context of their work. ====================== # Program committee * Benedikt Ahrens (Delft University of Technology and U of Birmingham) * Carlo Angiuli (Carnegie Mellon University) * Evan Cavallo (Stockholm University) * Chris Kapulkin (Western University) * Nicolai Kraus (University of Nottingham) * Peter LeFanu Lumsdaine (Stockholm University) * Anja Petkovi? Komel (Vienna University of Technology) * Paige Randall North (University of Pennsylvania) * Christian Sattler (Chalmers University of Technology) * Michael Shulman (University of San Diego) * Th?o Winterhalter (Max Planck Institute, Bochum) ================ # Organizers * Benedikt Ahrens (Delft University of Technology and U of Birmingham) * Evan Cavallo (Stockholm University) * Chris Kapulkin (Western University) * Anja Petkovi? Komel (Vienna University of Technology) * Paige Randall North (University of Pennsylvania) From chisvasileandrei at gmail.com Mon Feb 7 13:19:44 2022 From: chisvasileandrei at gmail.com (Andrei Chis) Date: Mon, 7 Feb 2022 13:19:44 +0100 Subject: [Agda] First Call for Papers: 15th ACM SIGPLAN International Conference on Software Language Engineering (SLE 2022) Message-ID: ------------------------------------------------------------------------ 15th ACM SIGPLAN International Conference on Software Language Engineering (SLE 2022) December 5-10, 2022 Auckland, New Zealand https://conf.researchr.org/home/sle-2022 http://www.sleconf.org/2022 Follow us on twitter: https://twitter.com/sleconf ------------------------------------------------------------------------ We are pleased to invite you to submit papers to the 15th ACM SIGPLAN International Conference on Software Language Engineering (SLE 2022), held in conjunction with SPLASH, GPCE and SAS 2022. Based on the future developments the conference will be hosted in Auckland, New Zealand on December 5-10, 2022. --------------------------- Topics of Interest --------------------------- SLE covers software language engineering rather than engineering a specific software language. Topics of interest include, but are not limited to: - Software Language Design and Implementation - Approaches to and methods for language design - Static semantics (e.g. design rules, well-formedness constraints) - Techniques for specifying behavioral / executable semantics - Generative approaches (incl. code synthesis, compilation) - Meta-languages, meta-tools, language workbenches - Software Language Validation - Verification and formal methods for languages - Testing techniques for languages - Simulation techniques for languages - Software Language Integration and Composition - Coordination of heterogeneous languages and tools - Mappings between languages (incl. transformation languages) - Traceability between languages - Deployment of languages to different platforms - Software Language Maintenance - Software language reuse - Language evolution - Language families and variability, language and software product lines - Domain-specific approaches for any aspects of SLE (design, implementation, validation, maintenance) - Empirical evaluation and experience reports of language engineering tools - User studies evaluating usability - Performance benchmarks - Industrial applications - "Synergies between Language Engineering and emerging/promising research areas" - AI and ML language engineering (e.g., ML compiler testing, code classification) Quantum language engineering (e.g., language design for quantum machines) - Language engineering for physical systems (e.g., CPS, IoT, digital twins) - Socio-technical systems and language engineering (e.g., language evolution to adapt to social requirements) - Etc. --------------------------- Types of Submissions --------------------------- SLE accepts the following types of papers: - **Research papers**: These are "traditional" papers detailing research contributions to SLE. Papers may range from 6 to 12 pages in length, and may optionally include 2 further pages of bibliography/appendices. Papers will be reviewed with an understanding that some results do not need 12 full pages and may be fully described in fewer pages. - **New ideas / vision papers**: These are papers that may describe new, unconventional software language engineering research positions or approaches that depart from standard practice. They can describe well-defined research ideas that are at an early stage of investigation. They could also provide new evidence to challenge common wisdom, present new unifying theories about existing SLE research that provides novel insight or that can lead to the development of new technologies or approaches, or apply SLE technology to radically new application areas. New ideas / vision papers must not exceed 5 pages, and may optionally include 1 further page of bibliography / appendices. - **SLE Body of Knowledge**: The SLE Body of Knowledge (SLEBoK) is a community-wide effort to provide a unique and comprehensive description of the concepts, best practices, tools and methods developed by the SLE community. To this respect, the SLE conference will accept surveys, essays, open challenges, empirical observations and case study papers on the SLE topics. These can focus on but they are not limited to methods, techniques, best practices and teaching approaches. Papers in this category can have up to 20 pages, including bibliography/appendices. - **Tool papers**: These are papers which focus on the tooling aspects which are often forgotten or neglected in research papers. A good tool paper focuses on practical insights that are likely to be useful to other implementers or users in the future. Any of the SLE topics of interest are appropriate areas for tool demonstrations. Submissions must not exceed 5 pages and may optionally include 1 further page of bibliography / appendices. They may optionally come with an appendix with a demo outline / screenshots and/or a short video/screencast illustrating the tool. **Workshops**: Workshops will be organized by SPLASH. Please inform us and contact the SPLASH organizers if you would like to organize a workshop of interest to the SLE audience. Information on how to submit workshops can be found at the SPLASH 2022 Website. --------------------------- Two submission rounds --------------------------- For the first time, SLE is introducing a two-phase submission and review process. This will give authors submitting to the first round an extra opportunity to improve their work (if needed) based on the comments and feedback by the reviewers. Furthermore, this will increase the quality of SLE accepted papers. Manuscripts can be submitted to any of the two submission rounds. Decisions on the papers submitted to the **first round** will be: accept, reject or re-submit revised version. While rejected papers must not, revised versions may be submitted to the second round, with an accompanying response letter to the reviewers stating the changes made and how the authors addressed the reviewers? criticisms. Re-submissions will be reviewed by the same reviewers. Decisions on fresh papers submitted to the **second round** will be: accept or reject. The authors of those papers that are likely to be rejected but have at least one reviewer who is championing it will have the chance to respond to the reviewers before the final decision is made. --------------------------- Important Dates --------------------------- All dates are Anywhere on Earth. * 1st round submissions * Abstract submissions: April 6, 2022 * Paper submissions: April 13, 2022 * Notification: May 13, 2022 * 2nd round submissions * Abstract submissions: July 8, 2022 (tentative) * Paper submissions: July 15, 2022 (tentative) * Review notification: September 7, 2022 (tentative) * Author response period: September 12, 2022 (tentative) * Notification: September 19, 2022 (tentative) * Artifact submissions: September 26, 2022 (tentative) * Artifact kick-the-tires Author response: October 10, 2022 (tentative) * Artifact notification: October 24, 2022 (tentative) * Camera-ready (for both rounds): November 4, 2022 (tentative) * Conference: December 5-10, 2022 (TENTATIVE) **COVID-19 Disclaimer** Due to the uncertainties related to the current COVID-19 pandemic, the second round submission deadlines, the artifact evaluation deadlines, the camera-ready deadline and the conference dates are still *preliminary* and will be closed in the next few weeks. --------------------------- Format --------------------------- Submissions have to use the ACM SIGPLAN Conference Format "acmart"(http://sigplan.org/Resources/Author/#acmart-format); please make sure that you always use the latest ACM SIGPLAN acmart LaTeX template(https://www.acm.org/binaries/content/assets/publications/consolidated-tex-template/acmart-master.zip), and that the document class definition is `\documentclass[sigplan,anonymous,review]{acmart}`. Do not make any changes to this format! Ensure that your submission is legible when printed on a black and white printer. In particular, please check that colors remain distinct and font sizes in figures and tables are legible. To increase fairness in reviewing, a double-blind review process has become standard across SIGPLAN conferences. In this line, SLE will follow the double-blind process. Author names and institutions should be omitted from submitted papers, and references to the authors? own related work should be in the third person. No other changes are necessary, and authors will not be penalized if reviewers are able to infer their identities in implicit ways. All submissions must be in PDF format. The submission website is: https://sle22.hotcrp.com --------------------------- Concurrent Submissions --------------------------- Papers must describe unpublished work that is not currently submitted for publication elsewhere as described by SIGPLAN?s Republication Policy (http://www.sigplan.org/Resources/Policies/Republication). Submitters should also be aware of ACM?s Policy and Procedures on Plagiarism (http://www.acm.org/publications/policies/plagiarism_policy). Submissions that violate these policies will be desk-rejected. --------------------------- Policy on Human Participant and Subject Research --------------------------- Authors conducting research involving human participants and subjects must ensure that their research comply with their local governing laws and regulations and the ACM?s general principles as stated in the ACM?s Publications Policy on Research Involving Human Participants and Subjects (https://www.acm.org/publications/policies/research-involving-human-participants-and-subjects). Submissions that violate this policy will be rejected. --------------------------- Reviewing Process --------------------------- All submitted papers will be reviewed by at least three members of the program committee. Research papers and tool papers will be evaluated concerning novelty, correctness, significance, readability, and alignment with the conference call. New ideas/vision papers will be evaluated primarily concerning novelty, significance, readability, and alignment with the conference call. SLEBoK papers will be reviewed on their significance, readability, topicality and capacity of presenting/evaluating/demonstrating a piece of BoK about SLE. For fairness reasons, all submitted papers must conform to the above instructions. Submissions that violate these instructions may be rejected without review, at the discretion of the PC chairs. After each review round, authors will get a chance to respond before a final decision is made. --------------------------- Artifact Evaluation --------------------------- For the seventh year, SLE will use an evaluation process for assessing the quality of the artifacts on which papers are based to foster the culture of experimental reproducibility. Authors of accepted research papers are invited to submit artifacts. For more information, please have a look at the Artifact Evaluation (http://www.sleconf.org/2022/ArtifactEvaluation.html) page. --------------------------- Special Issue --------------------------- A special issue on the conference topic in a high-impact journal is under negotiation. --------------------------- Awards --------------------------- - **Distinguished paper**: Award for most notable paper, as determined by the PC chairs based on the recommendations of the programme committee. - **Distinguished artifact**: Award for the artifact most significantly exceeding expectations, as determined by the AEC chairs based on the recommendations of the artifact evaluation committee. --------------------------- Publication --------------------------- All accepted papers will be published in the ACM Digital Library. **AUTHORS TAKE NOTE**: The official publication date is the date the proceedings 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. --------------------------- SLE and Doctoral Students --------------------------- SLE encourages students to submit to the SPLASH doctoral symposium. Authors of accepted papers will have the chance to present their work to the SLE audience, too. --------------------------- Organisation --------------------------- Chairs: * General chair: Bernd Fischer, Stellenbosch University, South Africa * PC co-chair: Lola Burgue?o, Open University of Catalonia, Spain * PC co-chair: Walter Cazzola, Universit? degli Studi di Milano, Italy * Artefact Evaluation co-chair: Thomas K?hn, Karlsruhe Institute of Technology, Germany * Artefact Evaluation co-chair: Juliana A. Pereira, Pontifical Catholic University of Rio de Janeiro, Brazil Program committee: Shaukat Ali, Simula Research Laboratory, Norway Arvid Butting, Aachen University, Germany Marsha Chechik, University of Toronto, Canada Shigeru Chiba, University of Tokyo, Japan Beno?t Combemale, University of Rennes, France Zhenjiang Hu, Peking University, China J?rg Kienzle, McGill University, Canada Dimitris Kolovos, University of York, UK Thomas K?hn, Karlsruhe Institute of Technology, Germany Juan de Lara, Universidad Aut?noma de Madrid, Spain Stefan Marr, University of Kent, UK Marjan Mernik, University of Maribor, Slovenia Natsuko Noda, Shibaura Institute of Technology, Japan Juliana A. Pereira, Pontifical Catholic University of Rio de Janeiro, Brazil Elizabeth Scott, University of London, UK Marco Servetto, Victoria University of Wellington, New Zealand Emma S?derberg, Lund University, Sweden Walid Taha, Halmstad University , Sweden Marco Tullio Valente, Universidade Federal de Minas Gerais, Brazil Erik Van Wyk, University of Minnesota , USA Alfonso de la Vega, University of Cantabria, Spain Ran Wei, Dalian University of Technology, China Andreas Wortmann, Stuttgart University, Germany Vadim Zaytsev, University of Twente, Netherlands Steffen Zschaler, King?s College London, UK --------------------------- Contact --------------------------- For additional information, clarification, or answers to questions, please contact the Programme Chairs (Lola Burgue?o and Walter Cazzola) at sle22-chairs _at_ di.unimi.it. From mechvel at scico.botik.ru Tue Feb 8 14:51:55 2022 From: mechvel at scico.botik.ru (mechvel at scico.botik.ru) Date: Tue, 08 Feb 2022 16:51:55 +0300 Subject: [Agda] strange Termination problem Message-ID: <843e47993bc6a563cb1d577a8518e663@scico.botik.ru> Please, why does Agda 2.6.2.1 reports "Termination checking failed" for the following program? (not a full code) ------------------------------------------------------ foo : ? {e lev} ? e ReducesLevel lev ? sizeHead (reduceLevel e lev) References: <843e47993bc6a563cb1d577a8518e663@scico.botik.ru> Message-ID: Is Patterns nonempty list? If so, that?s the reason. Two ? are different constructors. Thanks, Jason Hu From: mechvel at scico.botik.ru Sent: Tuesday, February 8, 2022 8:51 AM To: agda at lists.chalmers.se Subject: [Agda] strange Termination problem Please, why does Agda 2.6.2.1 reports "Termination checking failed" for the following program? (not a full code) ------------------------------------------------------ foo : ? {e lev} ? e ReducesLevel lev ? sizeHead (reduceLevel e lev) From mechvel at scico.botik.ru Tue Feb 8 19:04:54 2022 From: mechvel at scico.botik.ru (mechvel at scico.botik.ru) Date: Tue, 08 Feb 2022 21:04:54 +0300 Subject: [Agda] strange Termination problem In-Reply-To: References: <843e47993bc6a563cb1d577a8518e663@scico.botik.ru> Message-ID: On 2022-02-08 16:55, Jason Hu wrote: > Is Patterns nonempty list? If so, that?s the reason. Two ? are > different constructors. The declaration is Patterns = List Pattern - not necessarily nonempty. On the other hand, in the statement foo {e} {d , ps} (d?0 , any-e-reduces-ps) = ... the value any-e-reduces-ps implies that the list (ps : Patterns) is not empty. For any occasion, I also add that {-# TERMINATING #-} makes foo type-checked. -- SM > From: mechvel at scico.botik.ru > Sent: Tuesday, February 8, 2022 8:51 AM > To: agda at lists.chalmers.se > Subject: [Agda] strange Termination problem > > Please, why does Agda 2.6.2.1 reports "Termination checking failed" > for the following program? > (not a full code) > > ------------------------------------------------------ > foo : ? {e lev} ? e ReducesLevel lev ? > sizeHead (reduceLevel e lev) > foo {e} {d , ps} (d?0 , any-e-reduces-ps) = > aux d ps d?0 any-e-reduces-ps > where > aux : (d : ?) (ps : Patterns) ? d ? 0 ? > let lev = (d , ps) > in > Any (e Reduces_) ps ? > sizeHead (reduceLevel e lev) > aux 0 _ _ _ = anything > aux _ _ _ (there _) = anything > aux (suc d) (p ? []) _ (here e-reduces-p) = anything > aux (suc d) (p ? p' ? ps) 1+d?0 (here e-reduces-p) = > > aux' (e reduces? p) (any? (e reduces?_) (p' ? ps)) -- line > 1669 > where > 1+d = suc d > > lev tail : DimLevel > lev = (1+d , p ? p' ? ps) > tail = (1+d , p' ? ps) > > |pp'ps| = length (p ? p' ? ps) > redexes = reduceLevel e lev > tail-redexes = reduceLevel e tail > sh[tail-redexes] = sizeHead tail-redexes > d? = proj? sh[tail-redexes] > |ps?| = proj? sh[tail-redexes] > > aux' : Dec (e Reduces p) ? Dec (Any (e Reduces_) (p' ? ps)) > ? > sizeHead (reduceLevel e lev) > aux' (no ?reduces-p) _ = contradiction e-reduces-p ?reduces-p > aux' (yes reduces-p) (no ?e-reduces-any-p'ps) = anything > aux' (yes reduces-p) (yes e-reduces-any-p'ps) = > > aux'' (d? -- > line 1691 > where > aux'' : Dec (d? < 1+d) ? sh[tail-redexes] ? > sizeHead redexes aux'' _ _ = anything > ------------------------------------------------------ > > It reports > ----------------------------- > Termination checking failed for the following functions: > Problematic calls: > aux' (e reduces? p) (any? (_reduces?_ e) (p' ? ps)) > (at 1669,29-33) > > aux (1+d d p p' ps 1+d?0 e-reduces-p) (p' ? ps) 1+d?0 > e-reduces-any-p'ps > (at 1691,34-37) > ----------------------------- > > The only recursive call is for aux. > The head call is > aux (suc d) (p ? p' ? ps) 1+d?0 (here e-reduces-p). > > It calls for > aux' (e reduces? p) (any? (e reduces?_) (p' ? ps)). > > And this latter calls for > aux'' (d? e-reduces-any-p'ps) > > The latter call for aux has (p' ? ps) > among arguments, > while the head call of aux had (p ? p' ? ps) > for this argument. > > {-# OPTIONS --termination-depth=3 #-} does not help. > > Can you, please, give a hint: > why structural recursion does not work here? > > Also the report prints "aux (1+d d p p' ps 1+d?0 e-reduces-p) ..." > instead of > "aux (1+d (p' ? ps) 1+d?0 e-reduces-p) ...". > > It is misleading, because aux has four arguments, > while the report prints six arguments. > > ? > > ------ > Sergei > _______________________________________________ > Agda mailing list > Agda at lists.chalmers.se > https://lists.chalmers.se/mailman/listinfo/agda > _______________________________________________ > Agda mailing list > Agda at lists.chalmers.se > https://lists.chalmers.se/mailman/listinfo/agda From mechvel at scico.botik.ru Tue Feb 8 19:12:09 2022 From: mechvel at scico.botik.ru (mechvel at scico.botik.ru) Date: Tue, 08 Feb 2022 21:12:09 +0300 Subject: [Agda] strange Termination problem In-Reply-To: References: <843e47993bc6a563cb1d577a8518e663@scico.botik.ru> Message-ID: <6f62d69b4ced5edaff7c8c36703896ff@scico.botik.ru> On 2022-02-08 16:55, Jason Hu wrote: > Is Patterns nonempty list? If so, that?s the reason. Two ? are > different constructors. > In addition to my response: in this program _?_ is of List and also of All. When Agda cannot resolve, it reports. For example, I write lev tail : DimLevel to help it to solve that _?_ is of List there. > From: mechvel at scico.botik.ru > Sent: Tuesday, February 8, 2022 8:51 AM > To: agda at lists.chalmers.se > Subject: [Agda] strange Termination problem > > Please, why does Agda 2.6.2.1 reports "Termination checking failed" > for the following program? > (not a full code) > > ------------------------------------------------------ > foo : ? {e lev} ? e ReducesLevel lev ? > sizeHead (reduceLevel e lev) > foo {e} {d , ps} (d?0 , any-e-reduces-ps) = > aux d ps d?0 any-e-reduces-ps > where > aux : (d : ?) (ps : Patterns) ? d ? 0 ? > let lev = (d , ps) > in > Any (e Reduces_) ps ? > sizeHead (reduceLevel e lev) > aux 0 _ _ _ = anything > aux _ _ _ (there _) = anything > aux (suc d) (p ? []) _ (here e-reduces-p) = anything > aux (suc d) (p ? p' ? ps) 1+d?0 (here e-reduces-p) = > > aux' (e reduces? p) (any? (e reduces?_) (p' ? ps)) -- line > 1669 > where > 1+d = suc d > > lev tail : DimLevel > lev = (1+d , p ? p' ? ps) > tail = (1+d , p' ? ps) > > |pp'ps| = length (p ? p' ? ps) > redexes = reduceLevel e lev > tail-redexes = reduceLevel e tail > sh[tail-redexes] = sizeHead tail-redexes > d? = proj? sh[tail-redexes] > |ps?| = proj? sh[tail-redexes] > > aux' : Dec (e Reduces p) ? Dec (Any (e Reduces_) (p' ? ps)) > ? > sizeHead (reduceLevel e lev) > aux' (no ?reduces-p) _ = contradiction e-reduces-p ?reduces-p > aux' (yes reduces-p) (no ?e-reduces-any-p'ps) = anything > aux' (yes reduces-p) (yes e-reduces-any-p'ps) = > > aux'' (d? e-reduces-any-p'ps) -- > line 1691 > where > aux'' : Dec (d? < 1+d) ? sh[tail-redexes] ? > sizeHead redexes aux'' _ _ = anything > ------------------------------------------------------ > > It reports > ----------------------------- > Termination checking failed for the following functions: > Problematic calls: > aux' (e reduces? p) (any? (_reduces?_ e) (p' ? ps)) > (at 1669,29-33) > > aux (1+d d p p' ps 1+d?0 e-reduces-p) (p' ? ps) 1+d?0 > e-reduces-any-p'ps > (at 1691,34-37) > ----------------------------- > > The only recursive call is for aux. > The head call is > aux (suc d) (p ? p' ? ps) 1+d?0 (here e-reduces-p). > > It calls for > aux' (e reduces? p) (any? (e reduces?_) (p' ? ps)). > > And this latter calls for > aux'' (d? e-reduces-any-p'ps) > > The latter call for aux has (p' ? ps) > among arguments, > while the head call of aux had (p ? p' ? ps) > for this argument. > > {-# OPTIONS --termination-depth=3 #-} does not help. > > Can you, please, give a hint: > why structural recursion does not work here? > > Also the report prints "aux (1+d d p p' ps 1+d?0 e-reduces-p) ..." > instead of > "aux (1+d (p' ? ps) 1+d?0 e-reduces-p) ...". > > It is misleading, because aux has four arguments, > while the report prints six arguments. > > ? > > ------ > Sergei > _______________________________________________ > Agda mailing list > Agda at lists.chalmers.se > https://lists.chalmers.se/mailman/listinfo/agda > _______________________________________________ > Agda mailing list > Agda at lists.chalmers.se > https://lists.chalmers.se/mailman/listinfo/agda From nicolai.kraus at gmail.com Mon Feb 21 12:41:02 2022 From: nicolai.kraus at gmail.com (Nicolai Kraus) Date: Mon, 21 Feb 2022 11:41:02 +0000 Subject: [Agda] 22nd Midlands Graduate School, 10-14 April 2022: Call for Participation Message-ID: CALL FOR PARTICIPATION 22nd Midlands Graduate School (MGS'22) in the Foundations of Computing Science 10-14 April 2022, Nottingham (UK) https://www.cs.nott.ac.uk/~psznk/events/mgs22.html OVERVIEW MGS is an annual spring school that offers an intensive programme of lectures on the mathematical foundations of computing. While the school addresses especially PhD students in their first or second year, it is also open to UG and MSc students, postdocs, participants from the industry, and generally everyone interested in its topics. MGS'22 is the school's 22nd incarnation. PROGRAMME MGS'22 offers eight courses: - our invited course by Andrej Bauer - three basic courses on category theory, proof theory, and HoTT/UF with agda, which require no previous experience - four advanced courses on topos theory, string diagrams, coalgebra, and graph transformations. REGISTRATION Participation at MGS'22 costs GBP 320. Please see the website https://www.cs.nott.ac.uk/~psznk/events/mgs22.html for details, point "Registration". The fee covers participation in all lectures and exercise classes, refreshments in coffee breaks, and a conference dinner. Please note that you have to book accommodation yourselves but there are rooms available on campus. Places are limited and will be allocated on a first-come-first-served basis. If you would like to participate, please register early to secure a place. The registration period closes as soon as all places are filled or on March 20, whichever is sooner. ORGANISATION Please direct all queries about MGS'22 to Thorsten Altenkirch and Nicolai Kraus, thorsten.altenkirch at nottingham.ac.uk nicolai.kraus at nottingham.ac.uk -------------- next part -------------- An HTML attachment was scrubbed... URL: From P.Achten at cs.ru.nl Mon Feb 21 14:57:35 2022 From: P.Achten at cs.ru.nl (Peter Achten) Date: Mon, 21 Feb 2022 14:57:35 +0100 Subject: [Agda] [TFP'22] final call for papers: Trends in Functional Programming 2022 (deadline March 7 2022) Message-ID: <7fd4595f-2732-d4a0-a18d-a4a77571817e@cs.ru.nl> ================ TFP 2022 ================= ==???????? Final Call For Papers???????? == ==????????? registration opened????????? == =========================================== 23rd Symposium on Trends in Functional Programming 17-18 March, 2022 Online event https://trendsfp.github.io/index.html Due the pandemic, we have had to make TFP virtual this year. As a result, we've decided to push back the deadlines and conference date by a few weeks. In particular, the pre-symposium deadline for submitting the first version of your paper is now just after the ICFP deadline. == Important Dates == Submission deadline for draft papers??????????????? Monday 7th March, 2022 Notification for draft submissions????????????????? Friday 11th March, 2022 Symposium dates???????????????????????????????????? Thursday 17th - Friday 18th March, 2022 Submission deadline for post-symposium reviewing??? Wednesday 6th April, 2022 Notification for post-symposium submissions???????? Friday 27th May, 2022 The Symposium on Trends in Functional Programming (TFP) is an international forum for researchers with interests in all aspects of functional programming, taking a broad view of current and future trends in the area. It aspires to be a lively environment for presenting the latest research results, and other contributions. == Scope == The symposium recognizes that new trends may arise through various routes. As part of the Symposium's focus on trends we therefore identify the following five article categories. High-quality articles are solicited in any of these categories: * Research Articles: ?? Leading-edge, previously unpublished research work * Position Articles: ? On what new trends should or should not be * Project Articles: ?? Descriptions of recently started new projects * Evaluation Articles: ?? What lessons can be drawn from a finished project * Overview Articles: ?? Summarizing work with respect to a trendy subject Articles must be original and not simultaneously submitted for publication to any other forum. They may consider any aspect of functional programming: theoretical, implementation-oriented, or experience-oriented. Applications of functional programming techniques to other languages are also within the scope of the symposium. Topics suitable for the symposium include, but are not limited to: * Functional programming and multicore/manycore computing * Functional programming in the cloud * High performance functional computing * Extra-functional (behavioural) properties of functional programs * Dependently typed functional programming * Validation and verification of functional programs * Debugging and profiling for functional languages * Functional programming in different application areas: ?? security, mobility, telecommunications applications, embedded ?? systems, global computing, grids, etc. * Interoperability with imperative programming languages * Novel memory management techniques * Program analysis and transformation techniques * Empirical performance studies * Abstract/virtual machines and compilers for functional languages * (Embedded) domain specific languages * New implementation strategies * Any new emerging trend in the functional programming area If you are in doubt on whether your article is within the scope of TFP, please contact the TFP 2022 program chairs, Wouter Swierstra and Nicolas Wu. == Best Paper Awards == To reward excellent contributions, TFP awards a prize for the best paper accepted for the formal proceedings. TFP traditionally pays special attention to research students, acknowledging that students are almost by definition part of new subject trends. A student paper is one for which the authors state that the paper is mainly the work of students, the students are listed as first authors, and a student would present the paper. A prize for the best student paper is awarded each year. In both cases, it is the PC of TFP that awards the prize. In case the best paper happens to be a student paper, that paper will then receive both prizes. == Instructions to Author == Papers must be submitted at: ?? https://easychair.org/conferences/?conf=tfp22 Authors of papers have the choice of having their contributions formally reviewed either before or after the Symposium. == Post-symposium formal review process == Draft papers will receive minimal reviews and notification of acceptance for presentation at the symposium. Authors of draft papers will be invited to submit revised papers based on the feedback received at the symposium. A post-symposium refereeing process will then select a subset of these articles for formal publication. == Paper categories == Draft papers and papers submitted for formal review are submitted as extended abstracts (4 to 10 pages in length) or full papers (20 pages). The submission must clearly indicate which category it belongs to: research, position, project, evaluation, or overview paper. It should also indicate which authors are research students, and whether the main author(s) are students. A draft paper for which all authors are students will receive additional feedback by one of the PC members shortly after the symposium has taken place. == Format == Papers must be written in English, and written using the LNCS style. For more information about formatting please consult the Springer LNCS web site. == Program Committee == Guillaume Allais??????????????? University of St Andrews Jos? Manuel Calder?n Trilla???? Galois, Inc. Stephen Chang?????????????????? University of Massachusetts Boston Matthew Flatt?????????????????? University of Utah Jeremy Gibbons????????????????? University of Oxford Zhenjiang Hu??????????????????? Peking University Mauro Jaskelioff??????????????? CIFASIS / Universidad Nacional de Rosario Moa Johansson?????????????????? Chalmers University of Technology Shin-ya Katsumata?????????????? National Institute of Informatics Oleg Kiselyov?????????????????? Tohoku University Bas Lijnse????????????????????? Netherlands Defence Academy / Radboud University Nijmegen Kazutaka Matsuda??????????????? Tohoku University Nico Naus?????????????????????? Virginia Tech Christine Rizkallah???????????? University of New South Wales Alejandro Serrano?????????????? 47 Degrees Amir Shaikhha?????????????????? Ecole Polytechnique F?d?rale de Lausanne Aaron Stump???????????????????? University of Iowa Wouter Swierstra (Co-chair)???? Utrecht University Baltasar Tranc?n Y Widemann???? Semantics GmbH Nicolas Wu (Co-chair)?????????? Imperial College London Ningning Xie??????????????????? University of Hong Kong From calendarsites at insticc.org Mon Feb 21 20:13:25 2022 From: calendarsites at insticc.org (calendarsites at insticc.org) Date: Mon, 21 Feb 2022 19:13:25 -0000 Subject: [Agda] [CFP]19th Int. Conf. on Smart Business Technologies :: Submission Deadline - 2nd of March Message-ID: <017701d82757$1b656ee0$52304ca0$@insticc.org> CALL FOR PAPERS 19th International Conference on Smart Business Technologies **Submission Deadline: March 2, 2022** https://icsbt.scitevents.org/ July 14 - 16, 2022 Lisbon, Portugal Important Note: The conference will be held in Lisbon but we are open to accept online presentations in case the participants can't attend the conference. The International Conference on Smart Business Technologies (formerly known as ICE-B - International Conference on e-Business), aims at bringing together researchers and practitioners who are interested in e-Business technology and its current applications. The scope of the conference covers low-level technological issues, such as technology platforms, internet of things and web services, but also higher-level issues, such as business processes, business intelligence, value setting and business strategy. Furthermore, it covers different approaches to address these issues and different possible applications with their own specific needs and requirements on technology. These are all areas of theoretical and practical importance within the broad scope of e-Business, whose growing importance can be seen from the increasing interest of the IT research community. ICSBT is organized in 4 major tracks: 1 - Business Intelligence 2 - Business Models and Business Processes 3 - Collaboration and Interoperability 4 - Technologies and Applications Conference Chair(s) Marten van Sinderen, University of Twente, Netherlands Program Chair(s) Fons Wijnhoven, University of Twente, Netherlands In the last years, the proceedings have been fully indexed by SCOPUS. Beside this index all the proceedings have also been submitted to Google Scholar, The DBLP Computer Science Bibliography, Semantic Scholar, Engineering Index (EI) and Web of Science / Conference Proceedings Citation Index. A short list of presented papers will be selected so that revised and extended versions of these papers will be published by Springer in a CCIS Series book. All papers presented at the conference venue will also be available at the SCITEPRESS Digital Library. Kind regards, M?nica Saramago ICSBT Secretariat Web: https://icsbt.scitevents.org/ e-mail: ice-b.secretariat at insticc.org -------------- next part -------------- An HTML attachment was scrubbed... URL: From nicolai.kraus at gmail.com Thu Mar 3 15:32:34 2022 From: nicolai.kraus at gmail.com (Nicolai Kraus) Date: Thu, 3 Mar 2022 14:32:34 +0000 Subject: [Agda] Postdoc and PhD position in homotopy type theory Message-ID: Dear all, I would like to invite applications for one postdoctoral position and one PhD position in homotopy type theory or related areas at the University of Nottingham, UK. Our group in Nottingham has three academics (Ulrik Buchholtz, Thorsten Altenkirch, myself) and multiple PhD students working in the field. We have regular seminars and discussions, which offer a great environment to learn and collaborate. (1) Postdoc position The starting date for the postdoc position is flexible and it will initially be for 15 months (i.e. 15 months are guaranteed, extensions are likely but will depend on the funder). The position comes without teaching obligations. The current call primarily addresses applicants who have experience in homotopy type theory, but if you are working in a related area and would be interested to switch to the field, please feel free to contact me. As postdoc (officially: "research fellow"), you will be employed by the University of Nottingham with all employment benefits (pension etc). Details on the position are available here: https://www.nottingham.ac.uk/jobs/currentvacancies/ref/SCI022322 The application deadline is the 3rd of April. For any questions or expressions of interest, feel free to contact me (see email address at the end of this message). (2) PhD position The PhD position is for four years, includes all tuition fees, and comes with a stipend at the UKRI standard (currently approx. ?15600 annually, increases with inflation). The stipend is free from tax or other deductions. You will not be obliged to teach but there will be opportunities to teach, paid on top of the stipend. I will consider applications until the position is filled. If you are interested, please contact me (see email below). Best wishes, Nicolai nicolai.kraus at nottingham.ac.uk or nicolai.kraus at gmail.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From andrei.h.popescu at gmail.com Thu Mar 3 20:05:44 2022 From: andrei.h.popescu at gmail.com (Andrei Popescu) Date: Thu, 3 Mar 2022 19:05:44 +0000 Subject: [Agda] PhD Position in Number Theory and Formalization Message-ID: The Department of Mathematics of Vrije Universiteit Amsterdam welcomes applications for a fully-funded, 4-year PhD position in Number Theory and Formalization. The preferred starting date is in the period 1 May - 1 September 2022. The candidate will conduct research on Sander Dahmen's NWO-funded project "Formalizing Diophantine algorithms". This amounts to both developing and formalizing (with a proof assistant such as Lean or Coq) number theory necessary for solving Diophantine problems. The focus will be on effective/algorithmic number theory, but more "pure" results will (necessarily) also play an important role. We note that in this project most of the time will likely be spent on actual formalization work and that the proof assistant to be used will probably be Lean (but that is open for discussion). The position also contains a small teaching component. The research will be embedded in the Algebra and Number Theory group of the Mathematics Department and in particular connects to the CAN-endowed chair "Automated verification of mathematical proof" held by Assia Mahboubi. Within the Faculty of Science there will also be close collaboration with (Theoretical) Computer Science, especially the group of Jasmin Blanchette. Applications from all groups currently under-represented in academic posts are particularly encouraged. We are working to improve the present gender balance within the department, and particularly welcome applications from women. More details at https://workingat.vu.nl/ad/phd-position-number-theory-and-formalization/70lg5t From kaposi.ambrus at gmail.com Tue Mar 8 09:44:18 2022 From: kaposi.ambrus at gmail.com (Ambrus Kaposi) Date: Tue, 8 Mar 2022 09:44:18 +0100 Subject: [Agda] Call for STSMs, deadline 3 April 2022 In-Reply-To: References: <9b720e84-5623-2a46-8b1e-83a765fb3765@inria.fr> <8791d66d-d475-1573-79bc-d07c81674fe3@inria.fr> Message-ID: COST Action CA20111 EuroProofNet Open call for Short-Term Scientific Missions (STSMs) Dear Action members, Proposals have to be submitted on https://e-services.cost.eu/activity/grants/add?type=STSM (you need to add a bank account on your e-cost profile first). The deadline is 3 April 2022 (AoE). We are especially looking for applications from women and from working groups other than WG3. A Short-Term Scientific Mission (STSM) is a research visit of an individual researcher from a country participating in the Action in a different country also participating in the Action. We encourage STSMs, as they are an effective way of starting and maintaining collaborations. The procedure for proposing an STSM is described in Annex 2, section 2.3, of the Annotated Rules ( https://www.cost.eu/uploads/2021/10/COST-094-21-Annotated-Rules-for-COST-Actions-Level-C-2021-11-01-1.pdf ). The main points about STSMs are: * An STSM must be between two different countries which are participating in the Action. * The typical duration is one or two weeks. We favor short missions so that more people can get funded. * The financial contribution for an STSM is a fixed grant based on the applicant's budget request and the evaluation of the application by the STSM assessment committee. The grant will not necessarily cover all costs of the visit. The grant only covers travel and subsistence and is transferred after the STSM has taken place. * Recommended grants: - up to EUR 120 for daily allowance (depending on the location) - up to EUR 400 for travel. - the total may not exceed EUR 4000 (this is a hard limit) * As part of the application form submitted through e-COST, the goals of the mission have to be described including how it contributes to the objectives of the Action (see https://www.cost.eu/actions/CA20111), which working group(s) it contributes to, and a confirmation from the host that he or she will receive the applicant. * Proposals should be submitted by the deadlines. * STSMs must end before the end of October. The criteria according to which funding will be decided are in order: * importance with regard to the research coordination objectives * inclusiveness target countries * age * gender * team with low resources * balance over the action life time between people, teams, countries and working groups. After acceptance, to get reimbursed, a short scientific report must be submitted through the e-cost system along with the Host?s approval of the report, within 15 days after the end of the STSM. For more information, see the website of the action https://europroofnet.github.io. Regards, Danijela Simic and Ambrus Kaposi EuroProofNet STSM Coordinators -------------- next part -------------- An HTML attachment was scrubbed... URL: From P.Achten at cs.ru.nl Sun Mar 13 11:59:37 2022 From: P.Achten at cs.ru.nl (Peter Achten) Date: Sun, 13 Mar 2022 11:59:37 +0100 Subject: [Agda] [Call for participation] TFPiE and TFP online events March 16-18 Message-ID: <9bb0e1d8-a1a2-f2c3-f945-1d4409af50c7@cs.ru.nl> ------------------------------------------------------------------------------- ????????????? C A L L? F O R? P A R T I C I P A T I O N ?11th International Workshop on Trends in Functional Programming in Education ????????????????????????????????? + ?????????? 23rd Symposium on Trends in Functional Programming ???????????????????????? 16 - 18 March 2022 ???????????????? wiki.tfpie.science.ru.nl/TFPIE2022 ???????????????????????? trendsfp.github.io ------------------------------------------------------------------------------- The programmes for TFPIE and TFP are online (all times are UTC+0): - TFPIE: https://wiki.tfpie.science.ru.nl/TFPIE2022 - TFP:?? https://trendsfp.github.io/schedule.html Registration is free. Prior to the events you receive a mail with the links to the Zoom meetings. The Symposium on Trends in Functional Programming (TFP) is an international forum for researchers with interests in all aspects of functional programming, taking a broad view of current and future trends in the area. We aspire to be a lively environment for presenting the latest research results, and other contributions. The Trends in Functional Programming in Education workshops are an informal meeting intended for researchers, professors, teachers, and all professionals that use or are interested in the use of functional programming in education. TFPIE aims to be a venue where novel ideas, classroom-tested ideas, and work in progress on the use of functional programming in education are discussed. We foster a spirit of open discussion by having a review process for publication after the workshop. The program has a lot of interesting talks, possibilities for interaction, and keynote presentations: Trends in Functional Programming in Education keynote speaker: --------------------------------------------------------------- Peter Achten: The Perfect Functional Programming Course Trends in Functional Programming keynote speaker: ------------------------------------------------- Christiaan Baaij: Building a Haskell-to-Hardware compiler: Theory & Practice From nicolai.kraus at gmail.com Mon Mar 14 15:40:41 2022 From: nicolai.kraus at gmail.com (Nicolai Kraus) Date: Mon, 14 Mar 2022 14:40:41 +0000 Subject: [Agda] Midlands Graduate School: Accommodation and second (final) call for participation Message-ID: Dear all, I'm aware that some people interested in our spring school found that the on-campus accommodation had been booked out. I'm happy to announce that we have secured additional en-suite bedrooms on campus, just a couple of meters away from the event. Registration is still open until March 21 and bedrooms are now available again. Please forward the below advertisement to all interested students, academics, or professionals! -- Nicolai CALL FOR PARTICIPATION 22nd Midlands Graduate School (MGS'22) in the Foundations of Computing Science 10-14 April 2022, Nottingham (UK) https://www.cs.nott.ac.uk/~psznk/events/mgs22.html OVERVIEW MGS is an annual spring school that offers an intensive programme of lectures on the mathematical foundations of computing. While the school addresses especially PhD students in their first or second year, it is also open to UG and MSc students, postdocs, participants from the industry, and generally everyone interested in its topics. MGS'22 is the school's 22nd incarnation. PROGRAMME MGS'22 offers eight courses: - our invited course by Andrej Bauer from the University of Ljubljana - three basic courses on category theory, proof theory, and HoTT/UF with Agda, which require no previous experience - four advanced courses on topos theory, string diagrams, coalgebra, and graph transformations. REGISTRATION Participation at MGS'22 costs GBP 320. Please see the website https://www.cs.nott.ac.uk/~psznk/events/mgs22.html for details, point "Registration". The fee covers participation in all lectures and exercise classes, refreshments in coffee breaks and a conference dinner. Please note that you have to book accommodation yourselves but there are rooms available on campus. Places are limited and will be allocated on a first-come first-served basis. If you would like to participate, please register early to secure a place. The registration period closes as soon as all places are filled or on March 20, whichever is sooner. ORGANISATION Please direct all queries about MGS'22 to Thorsten Altenkirch and Nicolai Kraus, thorsten.altenkirch at nottingham.ac.uk nicolai.kraus at nottingham.ac.uk -------------- next part -------------- An HTML attachment was scrubbed... URL: From cong at c.titech.ac.jp Wed Mar 16 10:25:00 2022 From: cong at c.titech.ac.jp (Youyou Cong) Date: Wed, 16 Mar 2022 18:25:00 +0900 Subject: [Agda] GPCE 2022 Call for Papers Message-ID: ------------------------------------------------------------------------------- GPCE 2022: 21st International Conference on Generative Programming: Concepts & Experiences December 5-10, 2022 (co-located with SPLASH) Auckland, New Zealand, or hybrid https://conf.researchr.org/home/gpce-2022/ ------------------------------------------------------------------------------- --------------------------- CALL FOR PAPERS --------------------------- 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. 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, and code-recommendation systems, - domain-specific languages, language embedding, language design, and language workbenches, - feature-oriented programming, domain engineering, and feature interactions, - applications and properties of code generation, language implementation, and product-line development. 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 three 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. --------------------------- 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. --------------------------- BEST PAPER AWARD --------------------------- Following the tradition, the GPCE 2022 program committee will select the best paper among accepted papers. The authors of the best paper will be given the best paper award at the conference. --------------------------- IMPORTANT DATES --------------------------- - Abstract submission 8 August (Mon) - Paper submission 12 August (Fri) - Review notification 28 September (Wed) - Author response period 28 September (Wed) - 30 September (Fri) - Final notification 10 October (Mon) - Camera-ready 24 October (Mon) - Conference two days in 5 December (Mon) - 10 December (Sat) All times are in AoE (Anywhere on Earth). --------------------------- PAPER SUBMISSION --------------------------- Papers must be submitted using HotCRP: https://gpce2022.hotcrp.com/ All submissions must use the ACM SIGPLAN Conference Format "acmart". Be sure to use the latest LaTeX templates and class files, the SIGPLAN sub-format, and 10-point font. Consult the sample-sigplan.tex template and use the document-class \documentclass[sigplan,anonymous,review]{acmart}. To increase fairness in reviewing, GPCE 2022 uses the double-blind review process which has become standard across SIGPLAN conferences: - Author names, institutions, and acknowledgments should be omitted from submitted papers, and - references to the authors' own work should be in the third person. No other changes are necessary, and authors will not be penalized if reviewers are able to infer authors' identities in implicit ways. For additional information, clarification, or answers to questions, contact the program chair. The official publication date is the date the proceedings are made available in the ACM Digital Library. Papers must describe work not currently submitted for publication elsewhere as described by the SIGPLAN Republication Policy ( http://www.sigplan.org/Resources/Policies/Republication/). --------------------------- ORGANIZATION --------------------------- - General Chair: Bernhard Scholz (University of Sydney) - Program Chair: Yukiyoshi Kameyama (University of Tsukuba) - Publicity Chair: Youyou Cong (Tokyo Institute of Technology) - Steering Committee Chair: Sebastian Erdweg (JGU Mainz) For additional information, clarification, or answers to questions, contact the program chair: kameyama at acm.org --------------------------- PROGRAM COMMITTEE --------------------------- Baris Aktemur - Intel Walter Binder - Universit? della Svizzera italiana Nicolas Biri - Luxembourg Institute of Science and Technology Elisa Gonzalez Boix - Vrije Universiteit Brussel Sheng Chen - UL Lafayette Shigeru Chiba - The University of Tokyo Youyou Cong - Tokyo Institute of Technology Coen De Roover - Vrije Universiteit Brussel Robert Gl?ck - University of Copenhagen Jeff Gray - University of Alabama Atsushi Igarashi - Kyoto University Yukiyoshi Kameyama - University of Tsukuba, Chair Raffi Khatchadourian - City University of New York (CUNY) Hunter College Julia Lawall - Inria Geoffrey Mainland - Drexel University Bruno C. d. S. Oliveira - The University of Hong Kong Klaus Ostermann - University of T?bingen Max Schaefer - GitHub Ulrik Pagh Schultz - University of Southern Denmark Sibylle Schupp - Hamburg University of Technology Amir Shaikhha - University of Edinburgh Artjoms Sinkarovs - Heriot-Watt University Daniel Str?ber - Chalmers University of Gothenburg, Radboud University Nijmegen Nicolas Stucki - EPFL Eli Tilevich - Virginia Tech Tijs van der Storm - CWI & University of Groningen Jeremy Yallop - University of Cambridge -------------- next part -------------- An HTML attachment was scrubbed... URL: From abela at chalmers.se Sun Mar 20 21:29:40 2022 From: abela at chalmers.se (Andreas Abel) Date: Sun, 20 Mar 2022 21:29:40 +0100 Subject: [Agda] [ANNOUNCE] Agda 2.6.2.2 release candidate Message-ID: On behalf of the Agda Team, I am pleased to announce a release candidate for Agda 2.6.2.2: https://hackage.haskell.org/package/Agda-2.6.2.1.20220320/candidate 2.6.2.2 will be mostly a bugfix release, and will build in the latest Haskell ecosystem (bytestring-0.11.2.0, text-icu-0.8.0.1). For detailed comparison with 2.6.2.1, consult the changelog published with the candidate above. Instructions how to test the candidate are available at: https://github.com/agda/agda/pull/5841 Please report any regressions over 2.6.2.1 (or 2.6.2) at the Agda issue tracker. I plan to release Agda 2.6.2.2 one week later, should no release-stopping regressions be reported. Cheers, Andreas -- 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 kaposi.ambrus at gmail.com Thu Mar 24 17:44:24 2022 From: kaposi.ambrus at gmail.com (Ambrus Kaposi) Date: Thu, 24 Mar 2022 17:44:24 +0100 Subject: [Agda] Call for STSMs, deadline 3 April 2022 Message-ID: COST Action CA20111 EuroProofNet Open call for Short-Term Scientific Missions (STSMs) Dear Action members, The next STSM deadline is: 3 April 2022 Notification: 15 April. We are especially looking for applications from women and working groups other than WG3. *What is an STSM?* A Short-Term Scientific Mission (STSM) is a research visit of an individual researcher from a country participating in the Action in a different country also participating in the Action. We encourage STSMs, as they are an effective way of starting and maintaining collaborations. The procedure for proposing an STSM is described in Annex 2 of the Annotated Rules ( https://www.cost.eu/uploads/2021/10/COST-094-21-Annotated-Rules-for-COST-Actions-Level-C-2021-11-01-1.pdf#page=92 ). The main points about STSMs are: * An STSM must be between two different countries which are participating in the Action. * The typical duration is one or two weeks. We favor short missions so that more people can get funded. * The financial contribution for an STSM is a fixed grant based on the applicant?s budget request and the evaluation of the application by the STSM assessment committee. The grant may not necessarily cover all costs of the visit. The grant only covers travel and subsistence and is transferred after the STSM has taken place. * Recommended grants: - up to EUR 120 for daily allowance (depending on the location) - up to EUR 400 for travel. - the total may not exceed EUR 4000 (this is a hard limit) * Proposals should be submitted by the deadlines. *What documents to provide?* Proposals must be made through the e-COST system ( https://e-services.cost.eu/activity/grants/add?type=STSM , you need to add a bank account on your profile first). The following documents must be uploaded: * The application form ( https://europroofnet.github.io/assets/documents/STSM-application-template.docx ) with the following data: - Details of the STSM: title, dates and justification of the grant request (details of the travel cost, accommodation cost and living cost) - Goals of the STSM (max 200 words) - Working plan (max 500 words) - Working group(s) it contributes to (see https://europroofnet.github.io/wg ) and expected outputs and contribution to the action objectives and deliverables (max 500 words, see https://europroofnet.github.io/description ) * A letter from the host confirming that he or she will receive the applicant. * Documents justifying the grant request (quotes for travel and accommodation). *Selection criteria:* The criteria according to which funding will be decided are in order: * importance with regard to the research coordination objectives * inclusiveness target countries * age * gender * team with low resources * balance over the action life time between people, teams, countries and working groups. *Grant reception:* To receive the grant, a short scientific report must be submitted through the e-cost system along with the Host?s approval of the report, within 15 days after the end of the STSM. *Changing the dates of an STSM, or cancelling an STSM?* In case you need to change the dates of an accepted STSM, you need to inform the STSM coordinators as soon as possible and provide new dates so that the STSM ends before the end of October. In case you need to cancel an accepted STSM, you need to inform the STSM coordinators as soon as possible. For more information, see the website of the action https://europroofnet.github.io . Regards, Danijela Simic and Ambrus Kaposi EuroProofNet STSM Coordinators -------------- next part -------------- An HTML attachment was scrubbed... URL: From calendarsites at insticc.org Thu Mar 24 18:22:04 2022 From: calendarsites at insticc.org (calendarsites at insticc.org) Date: Thu, 24 Mar 2022 17:22:04 -0000 Subject: [Agda] [CFP] New Submission Opportunity :: Smart Business Technologies 2022 (April 21, 2022) Message-ID: <008301d83fa3$b11cbf60$13563e20$@insticc.org> CALL FOR PAPERS 19th International Conference on Smart Business Technologies **Submission Deadline: April 21st, 2022** https://icsbt.scitevents.org/ July 14 - 16, 2022 Lisbon, Portugal Important Note: The conference will be held in Lisbon but we are open to accept online presentations in case the participants can't attend the conference. Dear Colleagues, We would be very pleased to receive a regular or a position paper submission from you, with recent results, to be presented at ICSBT 2022 until the 21st of April 2022. The 19th International Conference on Smart Business Technologies (formerly known as ICE-B - International Conference on e-Business), aims at bringing together researchers and practitioners who are interested in e-Business technology and its current applications. The scope of the conference covers low-level technological issues, such as technology platforms, internet of things and web services, but also higher-level issues, such as business processes, business intelligence, value setting and business strategy. Furthermore, it covers different approaches to address these issues and different possible applications with their own specific needs and requirements on technology. These are all areas of theoretical and practical importance within the broad scope of e-Business, whose growing importance can be seen from the increasing interest of the IT research community. The conference will be held in cooperation with the ACM Special Interest Group on Management Information Systems and will include in its technical program remarkable distinguished speakers, such as Prof. Henderik A. Proper from the Luxembourg Institute of Science and Technology. In the last years, the conference proceedings have been fully indexed by SCOPUS and also submitted to other indexes like: Google Scholar, The DBLP Computer Science Bibliography, Semantic Scholar, Engineering Index (EI) and Web of Science / Conference Proceedings Citation Index. We hope this interests you, as it would be a great pleasure to count on your participation at our conference. Kind regards, M?nica Saramago ICSBT Secretariat Web: https://icsbt.scitevents.org/ e-mail: ice-b.secretariat at insticc.org -------------- next part -------------- An HTML attachment was scrubbed... URL: From abela at chalmers.se Sun Mar 27 14:32:10 2022 From: abela at chalmers.se (Andreas Abel) Date: Sun, 27 Mar 2022 14:32:10 +0200 Subject: [Agda] [ANNOUNCE] Agda 2.6.2.2 release candidate 2 Message-ID: The release candidate for Agda 2.6.2.2 has been updated: https://hackage.haskell.org/package/Agda-2.6.2.1.20220327/candidate Over RC1 (2022-03-20) it contains a few more bug fixes, most notably an inconsistency in Cubical Agda: https://github.com/agda/agda/issues/5838 2.6.2.2 will be mostly a bugfix release, and will build in the latest Haskell ecosystem (bytestring-0.11.2.0, text-icu-0.8.0.1). For detailed comparison with 2.6.2.1, consult the changelog published with the candidate above. Instructions how to test the candidate are available at: https://github.com/agda/agda/pull/5841 Please report any regressions over 2.6.2.1 (or 2.6.2 or 2.6.2.2-rc1) at the Agda issue tracker. I plan to release Agda 2.6.2.2 one week later, should no release-stopping regressions be reported. Cheers, Andreas -- 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 marco.maggesi at unifi.it Wed Mar 30 14:41:56 2022 From: marco.maggesi at unifi.it (Marco Maggesi) Date: Wed, 30 Mar 2022 14:41:56 +0200 Subject: [Agda] School on Univalent Mathematics, Cortona (Italy), July 17-23: Application deadline 15 April Message-ID: We are pleased to announce the School on Univalent Mathematics 2022, to be held at the Palazzone di Cortona (https://www.sns.it/en/palazzone-di-cortona), Cortona, Italy, July 17-23, 2022 (https://unimath.github.io/cortona2022/) Overview ======== Homotopy Type Theory is an emerging field of mathematics that studies a fruitful relationship between homotopy theory and (dependent) type theory. This relation plays a crucial role in Voevodsky's program of Univalent Foundations, a new approach to foundations of mathematics based on ideas from homotopy theory, such as the Univalence Principle. The UniMath library is a large repository of computer-checked mathematics, developed from the univalent viewpoint. It is based on the computer proof assistant Coq. In this school, we aim to introduce newcomers to the ideas of Univalent Foundations and mathematics therein, and to the formalization of mathematics in UniMath (https://github.com/UniMath/UniMath), a library of Univalent Mathematics based on the Coq proof assistant. Format ======= Participants will receive an introduction to Univalent Foundations and to mathematics in those foundations. In the accompanying problem sessions, they will formalize pieces of univalent mathematics in the UniMath library. Prerequisites ========== Participants should be interested in mathematics and the use of computers for mathematical reasoning. Participants do not need to have prior knowledge of logic, Coq, or Univalent Foundations. Application and funding ======================= For information on how to participate, please visit https://unimath.github.io/cortona2022. The application deadline is 15 April 2022. Best regards, The organizers Benedikt Ahrens and Marco Maggesi -------------- next part -------------- An HTML attachment was scrubbed... URL: From abela at chalmers.se Sat Apr 2 20:54:54 2022 From: abela at chalmers.se (Andreas Abel) Date: Sat, 2 Apr 2022 20:54:54 +0200 Subject: [Agda] [ANNOUNCE] Agda 2.6.2.2 In-Reply-To: References: Message-ID: Dear all, The Agda Team is very pleased to announce the release of Agda 2.6.2.2. # Changes https://hackage.haskell.org/package/Agda-2.6.2.2/changelog Highlights: - Agda 2.6.2.2 catches up to changes in the Haskell ecosystem (bytestring-0.11.2.0, mtl-2.3-rc3/4, text-icu-0.8.0.1, stackage lts-19.0 and nightly). - It fixes an inconsistency in Cubical Agda. - It fixes some issues with reflection, instance search, generalization and compilation, and some regressions introduced in 2.6.1 and 2.6.2. Agda 2.6.2.2 has been tested with GHC 9.2.2, 9.0.2, 8.10.7, 8.8.4, 8.6.5, 8.4.4, 8.2.2 and 8.0.2 on Linux, macOS and Windows. # Installation You can install Agda 2.6.2.2 with Cabal or stack. See: https://agda.readthedocs.io/en/v2.6.2.2/getting-started/installation.html # Standard library Use standard library version 1.7.1 (or keep using 1.7 if you do not care about GHC 9.2). https://wiki.portal.chalmers.se/agda/Libraries/StandardLibrary Enjoy Agda 2.6.2.2! -- 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/ -------------- next part -------------- _______________________________________________ Agda mailing list Agda at lists.chalmers.se https://lists.chalmers.se/mailman/listinfo/agda From capn.freako at gmail.com Sat Apr 2 22:45:32 2022 From: capn.freako at gmail.com (David Banas) Date: Sat, 2 Apr 2022 13:45:32 -0700 Subject: [Agda] Best font for Windows? Message-ID: What?s the best font for EMacs Agda mode on Windows? Both Mononoki and DeJaVu Sans Mono seem to be missing 0x2983/4. Sent from my iPhone From fdhzs2010 at hotmail.com Sun Apr 3 02:02:39 2022 From: fdhzs2010 at hotmail.com (Jason Hu) Date: Sun, 3 Apr 2022 00:02:39 +0000 Subject: [Agda] Best font for Windows? In-Reply-To: References: Message-ID: Fonts shouldn?t be a platform specific thing. Your character is missing because the font does not support it. To my knowledge, there isn?t that many fonts supporting the full set of Unicode characters. On my machine, I have been using FreeMono and I never got a missing character. Thanks, Jason Hu From: David Banas Sent: Saturday, April 2, 2022 4:45 PM To: agda at lists.chalmers.se Subject: [Agda] Best font for Windows? What?s the best font for EMacs Agda mode on Windows? Both Mononoki and DeJaVu Sans Mono seem to be missing 0x2983/4. Sent from my iPhone _______________________________________________ Agda mailing list Agda at lists.chalmers.se https://lists.chalmers.se/mailman/listinfo/agda -------------- next part -------------- An HTML attachment was scrubbed... URL: From fdhzs2010 at hotmail.com Tue Apr 5 05:42:52 2022 From: fdhzs2010 at hotmail.com (Jason Hu) Date: Tue, 5 Apr 2022 03:42:52 +0000 Subject: [Agda] when with-abstraction fails? Message-ID: Hi all, I realize that in some situations, with-abstraction does nothing. E.g. a-function x y z with a-term-that-is-in-the-goal ... | x = ? The with-abstraction does not report any error, but rather it does nothing. I know that in some situation with-abstraction is impossible but in those cases, Agda would throw an error. However, in other cases, a tiny bit of change in the code would just turn with-abstraction into a noop and I don?t know why. I do encounter situations like this in my real project but I do not know how to concentrate a minimal reproducible example. However, I do realize the following methods might or might not solve this problem: 1. Add more arguments to the function to a point where everything involved in a-term-that-is-in-the-goal appears in the argument list. 2. If the previous method still doesn?t work (as it happens at this moment), then it seems to have something to do with deeply nested where clauses, e.g. if the example function above is in a where clause, then moving it outside of the where clause will almost certainly make the with-abstraction work again. As a consequence of this problem, rewrite will also cease to work. Should I consider this a bug (which I really intend to) or is there some behavior that I don?t understand in Agda? Thanks, Jason Hu -------------- next part -------------- An HTML attachment was scrubbed... URL: From godzbanebane at gmail.com Tue Apr 5 10:58:33 2022 From: godzbanebane at gmail.com (Georgi Lyubenov) Date: Tue, 5 Apr 2022 11:58:33 +0300 Subject: [Agda] when with-abstraction fails? In-Reply-To: References: Message-ID: <6fc55830-378c-c01f-5a1c-d5c13733cab5@gmail.com> Hi! I can't give you a concrete reason or way to fix it, but when this happens for me, usually the "inspect idiom" fixes it. This is in the standard library, but as of recent, it's also been built into the language in some shape or form. See the section on the changelog on "inspect idiom" - https://github.com/agda/agda/blob/master/doc/release-notes/2.6.2.md and the documentation here - https://agda.readthedocs.io/en/v2.6.2.1/language/with-abstraction.html#with-abstraction-equality Cheers, Georgi On 4/5/22 06:42, Jason Hu wrote: > > Hi all, > > I realize that in some situations, with-abstraction does nothing. E.g. > > a-function x y z > > ? with a-term-that-is-in-the-goal > > ... ?| x = ? > > The with-abstraction does not report any error, but rather it does > nothing. I know that in some situation with-abstraction is impossible > but in those cases, Agda would throw an error. However, in other > cases, a tiny bit of change in the code would just turn > with-abstraction into a noop and I don?t know why. > > I do encounter situations like this in my real project but I do not > know how to concentrate a minimal reproducible example. However, I do > realize the following methods might or might not solve this problem: > > 1. Add more arguments to the function to a point where everything > involved in a-term-that-is-in-the-goal ?appears in the argument list. > 2. If the previous method still doesn?t work (as it happens at this > moment), then it seems to have something to do with deeply nested > where clauses, e.g. if the example function above is in a where > clause, then moving it outside of the where clause will almost > certainly make the with-abstraction work again. > > As a consequence of this problem, rewrite will also cease to work. > Should I consider this a bug (which I really intend to) or is there > some behavior that I don?t understand in Agda? > > Thanks, > > Jason Hu > > > _______________________________________________ > Agda mailing list > Agda at lists.chalmers.se > https://lists.chalmers.se/mailman/listinfo/agda -------------- next part -------------- An HTML attachment was scrubbed... URL: From fdhzs2010 at hotmail.com Tue Apr 5 21:44:14 2022 From: fdhzs2010 at hotmail.com (Jason Hu) Date: Tue, 5 Apr 2022 19:44:14 +0000 Subject: [Agda] when with-abstraction fails? In-Reply-To: <6fc55830-378c-c01f-5a1c-d5c13733cab5@gmail.com> References: <6fc55830-378c-c01f-5a1c-d5c13733cab5@gmail.com> Message-ID: Inspect idiom won?t work if with-abstraction itself does nothing. I realize that it has something to do with the order of unification of definitions in where clauses. I suspect that when with-abstraction is abstracting over a term that depends on another term which contains unresolved metavariables (which is resolvable but not yet at this moment), then with-abstraction is not going to do anything. Does that ring a bell for the dev team? Do you observe any similar problem coming from the order of unification? I think I have a clue on how to construct a smaller reproduction. I will do so when I have time. Thanks, Jason Hu From: Georgi Lyubenov Sent: Tuesday, April 5, 2022 4:58 AM To: agda at lists.chalmers.se Subject: Re: [Agda] when with-abstraction fails? Hi! I can't give you a concrete reason or way to fix it, but when this happens for me, usually the "inspect idiom" fixes it. This is in the standard library, but as of recent, it's also been built into the language in some shape or form. See the section on the changelog on "inspect idiom" - https://github.com/agda/agda/blob/master/doc/release-notes/2.6.2.md and the documentation here - https://agda.readthedocs.io/en/v2.6.2.1/language/with-abstraction.html#with-abstraction-equality Cheers, Georgi On 4/5/22 06:42, Jason Hu wrote: Hi all, I realize that in some situations, with-abstraction does nothing. E.g. a-function x y z with a-term-that-is-in-the-goal ... | x = ? The with-abstraction does not report any error, but rather it does nothing. I know that in some situation with-abstraction is impossible but in those cases, Agda would throw an error. However, in other cases, a tiny bit of change in the code would just turn with-abstraction into a noop and I don?t know why. I do encounter situations like this in my real project but I do not know how to concentrate a minimal reproducible example. However, I do realize the following methods might or might not solve this problem: 1. Add more arguments to the function to a point where everything involved in a-term-that-is-in-the-goal appears in the argument list. 2. If the previous method still doesn?t work (as it happens at this moment), then it seems to have something to do with deeply nested where clauses, e.g. if the example function above is in a where clause, then moving it outside of the where clause will almost certainly make the with-abstraction work again. As a consequence of this problem, rewrite will also cease to work. Should I consider this a bug (which I really intend to) or is there some behavior that I don?t understand in Agda? Thanks, Jason Hu _______________________________________________ Agda mailing list Agda at lists.chalmers.se https://lists.chalmers.se/mailman/listinfo/agda -------------- next part -------------- An HTML attachment was scrubbed... URL: From oskeri at chalmers.se Mon Apr 11 14:09:35 2022 From: oskeri at chalmers.se (Oskar Eriksson) Date: Mon, 11 Apr 2022 12:09:35 +0000 Subject: [Agda] Agda Implementors' Meeting XXXV Message-ID: <957e34b596f34a1c9f6783ca4aca2012@chalmers.se> AIM XXXV will take place online from 2022-05-03 to 2022-05-13. See the wiki for details: https://wiki.portal.chalmers.se/agda/Main/AIMXXXV You can register by editing the wiki page. --- Best regards, Oskar -------------- next part -------------- An HTML attachment was scrubbed... URL: From dan.krejsa at gmail.com Mon Apr 11 21:23:51 2022 From: dan.krejsa at gmail.com (Dan Krejsa) Date: Mon, 11 Apr 2022 12:23:51 -0700 Subject: [Agda] Simple(?) cubical agda isomorphism Message-ID: Hi, I'm a cubical Agda beginner and I'm trying to do something that seems like it ought to be simple. I figure I must be missing some technical trick. Consider this HIT, which looks like a circle broken into two halves. b0 is at noon, and b1 is at 6 o'clock. data c2 : Type where b0 : c2 b1 : c2 p0 : b0 ? b1 -- moving from b0 to b1 along p0 is "clockwise" p1 : b1 ? b0 -- moving from b1 to b0 along p1 is also "clockwise" I want to define an isomorphism from c2 to itself, with function f and inverse g as below. Note that f is the identity, but g maps each point of the circle to the opposite point 180 degrees away. Then I want to define fgid to show that g is a section of f, and gfid to show that g is a retract of f. (Note that f ? g and g ? f are definitionally both g, but g should be homotopic to the identity on c2, with various choices for the homotopy.) For y : c2, I want (fgid y) to be a path that goes clockwise 180 degrees from f (g y) to y. For x : c2, I want (gfid x) to be a path that goes counterclockwise 180 degrees from g (f x) to x. Intuitively, it seems to me that it should be possible to define both of these continuously on the whole of c2. I'm a little stuck defining fgid (and assume I'll have the same trouble with gfid). Note that since f (g (p0 i)) = p1 i, fgid (p0 i) ought to be a path from p1 i clockwise to p0 i. For example, (? j ? p1 (i ? j)) ? (? j ? p0 (i ? j)). Likewise, fgid (p1 i) ought to be a path from (p0 i) to (p1 i), moving clockwise, e.g. (? j ? p0 (i ? j)) ? (? j ? p1 (i ? j)). However, these won't be accepted because they are not definitionally equal paths in the vicinity of b0 or b1. For instance, with the above choices, fgid (p0 i0) = p1 ? refl but fgid (p1 i1) = refl ? p1 and p1 ? refl is definitionally different from refl ? p1. What is the best way around this? - Dan module c2f where f : c2 ? c2 f x = x g : c2 ? c2 g b0 = b1 g b1 = b0 g (p0 i) = p1 i g (p1 i) = p0 i -- fgid y moves clockwise 90 degrees from f (g y) to y. fgid : (y : c2) ? f (g y) ? y fgid b0 = {!!} fgid b1 = {!!} fgid (p0 i) = (? j ? p1 (i ? j)) ? (? j ? p0 (i ? j)) fgid (p1 i) = {!(? j ? p0 (i ? j)) ? (? j ? p1 (i ? j))!} gfid : (x : c2) ? g (f x) ? x gfid x = {!!} -------------- next part -------------- An HTML attachment was scrubbed... URL: From tom at tomjack.co Tue Apr 12 01:53:59 2022 From: tom at tomjack.co (Tom Jack) Date: Mon, 11 Apr 2022 18:53:59 -0500 Subject: [Agda] Simple(?) cubical agda isomorphism In-Reply-To: References: Message-ID: Hello, below is one way. This "csq" is a slight generalization (to two paths p,q) of the construction used for rotLoop for S1 in the Cubical library . Up to homotopy, there is not really any choice for the squares, since c2 is equivalent to S1 and so is a 1-type. I expect we should have that the "evaluation at the basepoint" map (? (h : ? y ? g y ? y) ? h b0) is an equivalence, by analogy with S1. data c2 : Type where b0 : c2 b1 : c2 p0 : b0 ? b1 -- moving from b0 to b1 along p0 is "clockwise" p1 : b1 ? b0 -- moving from b1 to b0 along p1 is also "clockwise" module _ {?} {A : Type ?} {x y z : A} (p : x ? y) (q : y ? z) where csq-faces : (i j : I) ? I ? Partial (~ i ? i ? ~ j ? j) A csq-faces i j k (i = i0) = p (j ? ~ k) csq-faces i j k (i = i1) = q (j ? k) csq-faces i j k (j = i0) = p (i ? ~ k) csq-faces i j k (j = i1) = q (i ? k) csq : Path (y ? y) refl refl ? PathP (? i ? p i ? q i) p q csq r i j = hcomp (csq-faces i j) (r i j) -- note: csq should be equal to transport over this path (but it is simpler) csq-path : Path (Type ?) (Path (y ? y) refl refl) (PathP (? i ? p i ? q i) p q) csq-path k = PathP (? i ? p (i ? ~ k) ? q (i ? k)) (? j ? p (j ? ~ k)) (? j ? q (j ? k)) module c2f where f : c2 ? c2 f x = x g : c2 ? c2 g b0 = b1 g b1 = b0 g (p0 i) = p1 i g (p1 i) = p0 i fgid : (y : c2) ? f (g y) ? y fgid b0 i = p1 i fgid b1 i = p0 i fgid (p0 i) j = csq p1 p0 refl i j fgid (p1 i) j = csq p0 p1 refl i j gfid : (x : c2) ? g (f x) ? x gfid b0 i = p0 (~ i) gfid b1 i = p1 (~ i) gfid (p0 i) j = csq p0 p1 refl i (~ j) gfid (p1 i) j = csq p1 p0 refl i (~ j) On Mon, Apr 11, 2022 at 2:22 PM Dan Krejsa wrote: > Hi, > > I'm a cubical Agda beginner and I'm trying to do something that seems > like it ought to be simple. I figure I must be missing some technical > trick. > > Consider this HIT, which looks like a circle broken into two halves. b0 is > at noon, > and b1 is at 6 o'clock. > > data c2 : Type where > b0 : c2 > b1 : c2 > p0 : b0 ? b1 -- moving from b0 to b1 along p0 is "clockwise" > p1 : b1 ? b0 -- moving from b1 to b0 along p1 is also "clockwise" > > I want to define an isomorphism from c2 to itself, with function f and > inverse > g as below. Note that f is the identity, but g maps each point of the > circle > to the opposite point 180 degrees away. Then I want to define > fgid to show that g is a section of f, and gfid to show that g is a > retract of f. > (Note that f ? g and g ? f are definitionally both g, but g should be > homotopic > to the identity on c2, with various choices for the homotopy.) > > For y : c2, I want (fgid y) to be a path that goes clockwise 180 degrees > from > f (g y) to y. For x : c2, I want (gfid x) to be a path that goes > counterclockwise > 180 degrees from g (f x) to x. Intuitively, it seems to me that it should > be possible > to define both of these continuously on the whole of c2. > > I'm a little stuck defining fgid (and assume I'll have the same trouble > with > gfid). Note that since f (g (p0 i)) = p1 i, fgid (p0 i) ought to be a > path from > p1 i clockwise to p0 i. For example, (? j ? p1 (i ? j)) ? (? j ? p0 (i > ? j)). > Likewise, fgid (p1 i) ought to be a path from (p0 i) to (p1 i), moving > clockwise, > e.g. (? j ? p0 (i ? j)) ? (? j ? p1 (i ? j)). However, these won't be > accepted > because they are not definitionally equal paths in the vicinity of b0 or > b1. > > For instance, with the above choices, > > fgid (p0 i0) = p1 ? refl > but > fgid (p1 i1) = refl ? p1 > > and p1 ? refl is definitionally different from refl ? p1. > > What is the best way around this? > > - Dan > > module c2f where > f : c2 ? c2 > f x = x > > g : c2 ? c2 > g b0 = b1 > g b1 = b0 > g (p0 i) = p1 i > g (p1 i) = p0 i > > -- fgid y moves clockwise 90 degrees from f (g y) to y. > fgid : (y : c2) ? f (g y) ? y > fgid b0 = {!!} > fgid b1 = {!!} > fgid (p0 i) = (? j ? p1 (i ? j)) ? (? j ? p0 (i ? j)) > fgid (p1 i) = {!(? j ? p0 (i ? j)) ? (? j ? p1 (i ? j))!} > > gfid : (x : c2) ? g (f x) ? x > gfid x = {!!} > _______________________________________________ > Agda mailing list > Agda at lists.chalmers.se > https://lists.chalmers.se/mailman/listinfo/agda > -------------- next part -------------- An HTML attachment was scrubbed... URL: From dan.krejsa at gmail.com Tue Apr 12 02:00:16 2022 From: dan.krejsa at gmail.com (Dan Krejsa) Date: Mon, 11 Apr 2022 17:00:16 -0700 Subject: [Agda] Simple(?) cubical agda isomorphism In-Reply-To: References: Message-ID: Thank you, Tom, I'll take some time to digest that. - Dan On Mon, Apr 11, 2022, 16:54 Tom Jack wrote: > Hello, below is one way. > > This "csq" is a slight generalization (to two paths p,q) of the > construction used for rotLoop for S1 in the Cubical library > > . > > Up to homotopy, there is not really any choice for the squares, since c2 > is equivalent to S1 and so is a 1-type. I expect we should have that the > "evaluation at the basepoint" map (? (h : ? y ? g y ? y) ? h b0) is an > equivalence, by analogy with S1. > > data c2 : Type where > b0 : c2 > b1 : c2 > p0 : b0 ? b1 -- moving from b0 to b1 along p0 is "clockwise" > p1 : b1 ? b0 -- moving from b1 to b0 along p1 is also "clockwise" > > module _ {?} {A : Type ?} {x y z : A} (p : x ? y) (q : y ? z) where > csq-faces : (i j : I) ? I ? Partial (~ i ? i ? ~ j ? j) A > csq-faces i j k (i = i0) = p (j ? ~ k) > csq-faces i j k (i = i1) = q (j ? k) > csq-faces i j k (j = i0) = p (i ? ~ k) > csq-faces i j k (j = i1) = q (i ? k) > > csq : Path (y ? y) refl refl ? PathP (? i ? p i ? q i) p q > csq r i j = hcomp (csq-faces i j) (r i j) > > -- note: csq should be equal to transport over this path (but it is > simpler) > csq-path : Path (Type ?) (Path (y ? y) refl refl) (PathP (? i ? p i ? q > i) p q) > csq-path k = PathP (? i ? p (i ? ~ k) ? q (i ? k)) (? j ? p (j ? ~ k)) > (? j ? q (j ? k)) > > module c2f where > f : c2 ? c2 > f x = x > > g : c2 ? c2 > g b0 = b1 > g b1 = b0 > g (p0 i) = p1 i > g (p1 i) = p0 i > > fgid : (y : c2) ? f (g y) ? y > fgid b0 i = p1 i > fgid b1 i = p0 i > fgid (p0 i) j = csq p1 p0 refl i j > fgid (p1 i) j = csq p0 p1 refl i j > > gfid : (x : c2) ? g (f x) ? x > gfid b0 i = p0 (~ i) > gfid b1 i = p1 (~ i) > gfid (p0 i) j = csq p0 p1 refl i (~ j) > gfid (p1 i) j = csq p1 p0 refl i (~ j) > > On Mon, Apr 11, 2022 at 2:22 PM Dan Krejsa wrote: > >> Hi, >> >> I'm a cubical Agda beginner and I'm trying to do something that seems >> like it ought to be simple. I figure I must be missing some technical >> trick. >> >> Consider this HIT, which looks like a circle broken into two halves. b0 >> is at noon, >> and b1 is at 6 o'clock. >> >> data c2 : Type where >> b0 : c2 >> b1 : c2 >> p0 : b0 ? b1 -- moving from b0 to b1 along p0 is "clockwise" >> p1 : b1 ? b0 -- moving from b1 to b0 along p1 is also "clockwise" >> >> I want to define an isomorphism from c2 to itself, with function f and >> inverse >> g as below. Note that f is the identity, but g maps each point of the >> circle >> to the opposite point 180 degrees away. Then I want to define >> fgid to show that g is a section of f, and gfid to show that g is a >> retract of f. >> (Note that f ? g and g ? f are definitionally both g, but g should be >> homotopic >> to the identity on c2, with various choices for the homotopy.) >> >> For y : c2, I want (fgid y) to be a path that goes clockwise 180 degrees >> from >> f (g y) to y. For x : c2, I want (gfid x) to be a path that goes >> counterclockwise >> 180 degrees from g (f x) to x. Intuitively, it seems to me that it >> should be possible >> to define both of these continuously on the whole of c2. >> >> I'm a little stuck defining fgid (and assume I'll have the same trouble >> with >> gfid). Note that since f (g (p0 i)) = p1 i, fgid (p0 i) ought to be a >> path from >> p1 i clockwise to p0 i. For example, (? j ? p1 (i ? j)) ? (? j ? p0 (i >> ? j)). >> Likewise, fgid (p1 i) ought to be a path from (p0 i) to (p1 i), moving >> clockwise, >> e.g. (? j ? p0 (i ? j)) ? (? j ? p1 (i ? j)). However, these won't be >> accepted >> because they are not definitionally equal paths in the vicinity of b0 or >> b1. >> >> For instance, with the above choices, >> >> fgid (p0 i0) = p1 ? refl >> but >> fgid (p1 i1) = refl ? p1 >> >> and p1 ? refl is definitionally different from refl ? p1. >> >> What is the best way around this? >> >> - Dan >> >> module c2f where >> f : c2 ? c2 >> f x = x >> >> g : c2 ? c2 >> g b0 = b1 >> g b1 = b0 >> g (p0 i) = p1 i >> g (p1 i) = p0 i >> >> -- fgid y moves clockwise 90 degrees from f (g y) to y. >> fgid : (y : c2) ? f (g y) ? y >> fgid b0 = {!!} >> fgid b1 = {!!} >> fgid (p0 i) = (? j ? p1 (i ? j)) ? (? j ? p0 (i ? j)) >> fgid (p1 i) = {!(? j ? p0 (i ? j)) ? (? j ? p1 (i ? j))!} >> >> gfid : (x : c2) ? g (f x) ? x >> gfid x = {!!} >> _______________________________________________ >> Agda mailing list >> Agda at lists.chalmers.se >> https://lists.chalmers.se/mailman/listinfo/agda >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From depsterr at protonmail.com Fri Apr 15 12:29:18 2022 From: depsterr at protonmail.com (depsterr) Date: Fri, 15 Apr 2022 10:29:18 +0000 Subject: [Agda] Proof seemingly takes far too long to check? Message-ID: Hi all, I've run into something quite unusual. I've been trying to construct the reals and prove that their equality is an equivalence relation, however during the proof of symmetry I've ran into an issue. My proof type checks but the addition of one of the lemmas/helpers has forced me to set the agda heap size to 16GB and wait 37 minutes for it to typecheck. The culprit is the following: a-b?-b-a : ? (a b : ?) ? a - b ? - (b - a) a-b?-b-a a b = begin a - b ??? a + - b ??? ??-involutive (a + - b) ? - (- (a + - b)) ?? cong -_ (neg-distrib-+ a (- b)) ? - (- a + - (- b)) ?? cong (? c ? - (- a + c) ) (??-involutive b) ? - (- a + b) ?? cong -_ (+-comm (- a) b) ? - (b + - a) ??? - (b - a) ? It seems that it's the usage of ??-involutive which slows it down, as it took no longer than 30 seconds before it was added (if you replace it with holes, for instance). I'm not quite sure if this should be considered a bug or if I'm doing something wrong, certainly something this trivial shouldn't take so long? I'm using agda built from source with `cabal install -foptimise-heavily` from commit `505464961f07f0991263708fd8cbf5f7ad12f53f` on master. My standard library is version 1.7.1 I am using flags `--sage --without-K` The full agda file can be found here https://githug.xyz/depsterr/constructive-analysis-in-agda/src/commit/345d7d11c12cc446764f7c1a9fe0afa0920632fb/src/Chapter2.agda Hope to gain some insight into this, Cheers! From depsterr at protonmail.com Fri Apr 15 12:45:42 2022 From: depsterr at protonmail.com (depsterr) Date: Fri, 15 Apr 2022 10:45:42 +0000 Subject: [Agda] Proof seemingly takes far too long to check? In-Reply-To: References: Message-ID: <1b3xXhSTOQUglvycTG_VZ964EokCYx045IRrwT8FblYLMRUPzGvMsL-_IrrUjvEl3UJvWM0aDbA2UdeGK7AR6Nb2C5YCMit9KdFnP9IJXa8=@protonmail.com> `--sage` should be `--safe` in the options, my apologies. -------- Original Message -------- On Apr 15, 2022, 12:29, depsterr < depsterr at protonmail.com> wrote: Hi all, I've run into something quite unusual. I've been trying to construct the reals and prove that their equality is an equivalence relation, however during the proof of symmetry I've ran into an issue. My proof type checks but the addition of one of the lemmas/helpers has forced me to set the agda heap size to 16GB and wait 37 minutes for it to typecheck. The culprit is the following: a-b?-b-a : ? (a b : ?) ? a - b ? - (b - a) a-b?-b-a a b = begin a - b ??? a + - b ??? ??-involutive (a + - b) ? - (- (a + - b)) ?? cong -_ (neg-distrib-+ a (- b)) ? - (- a + - (- b)) ?? cong (? c ? - (- a + c) ) (??-involutive b) ? - (- a + b) ?? cong -_ (+-comm (- a) b) ? - (b + - a) ??? - (b - a) ? It seems that it's the usage of ??-involutive which slows it down, as it took no longer than 30 seconds before it was added (if you replace it with holes, for instance). I'm not quite sure if this should be considered a bug or if I'm doing something wrong, certainly something this trivial shouldn't take so long? I'm using agda built from source with `cabal install -foptimise-heavily` from commit `505464961f07f0991263708fd8cbf5f7ad12f53f` on master. My standard library is version 1.7.1 I am using flags `--sage --without-K` The full agda file can be found here https://githug.xyz/depsterr/constructive-analysis-in-agda/src/commit/345d7d11c12cc446764f7c1a9fe0afa0920632fb/src/Chapter2.agda Hope to gain some insight into this, Cheers! -------------- next part -------------- An HTML attachment was scrubbed... URL: From mechvel at scico.botik.ru Fri Apr 15 14:49:02 2022 From: mechvel at scico.botik.ru (mechvel at scico.botik.ru) Date: Fri, 15 Apr 2022 15:49:02 +0300 Subject: [Agda] Proof seemingly takes far too long to check? In-Reply-To: <1b3xXhSTOQUglvycTG_VZ964EokCYx045IRrwT8FblYLMRUPzGvMsL-_IrrUjvEl3UJvWM0aDbA2UdeGK7AR6Nb2C5YCMit9KdFnP9IJXa8=@protonmail.com> References: <1b3xXhSTOQUglvycTG_VZ964EokCYx045IRrwT8FblYLMRUPzGvMsL-_IrrUjvEl3UJvWM0aDbA2UdeGK7AR6Nb2C5YCMit9KdFnP9IJXa8=@protonmail.com> Message-ID: depsterr, this is not precisely an answer to your question, but something like relating to it. The statement a-b?-b-a : ? (a b : ?) ? a - b ? - (b - a) is a special case for a ? b?? ? (b ? a??)?? for an arbitrary Group. So, I use standard items Group, Algebra.Properties.Group, its lemmas ??-involutive, ??-anti-homo-?, and the instance +-0-group for the additive group of ? (Rational): --------------------------------------------------------- open import Algebra using (Op?; Group) import Algebra.Properties.Group as GroupProps open import Data.Rational.Properties as ?props open import Level open import Relation.Binary.Reasoning.MultiSetoid open Group ?props.+-0-group using (_?_; sym; ?-cong?; setoid) renaming (Carrier to ?; _?_ to _+_; _?? to -_) open GroupProps ?props.+-0-group using (??-involutive; ??-anti-homo-?) _-_ : Op? ? x - y = x + (- y) a-b?-[b-a] : ? (a b : ?) ? a - b ? - (b - a) a-b?-[b-a] a b = sym (begin? setoid ? - (b - a) ?? ??-anti-homo-? b (- a) ? (- (- a)) - b ?? ?-cong? {(- b)} (??-involutive a) ? a - b ?) --------------------------------------------------------------- $ agda $agdaLibOpt --safe --without-K +RTS -M2G -RTS QExample.agda type-checks it fast (Agda 2.6.2.2). I do not know why your code is type-checked heavily. Only there is a point on type-checking standard library. For example, if the library has been type-checked under another keys, then, I fear, the above command will cause re-type-checking a large piece of stdlib (will it ?). And next time, only the given module will be type-checked. Let people correct me if I am wrong. Regards, ------ Sergei On 2022-04-15 13:45, depsterr wrote: > `--sage` should be `--safe` in the options, my apologies. > > -------- Original Message -------- > On Apr 15, 2022, 12:29, depsterr < depsterr at protonmail.com> wrote: > Hi all, I've run into something quite unusual. > I've been trying to construct the reals and prove that their equality > is an equivalence relation, however during the proof of symmetry I've > ran into an issue. My proof type checks but the addition of one of the > lemmas/helpers has forced me to set the agda heap size to 16GB and > wait 37 minutes for it to typecheck. > The culprit is the following: > a-b?-b-a : ? (a b : ?) ? a - b ? - (b - a) > a-b?-b-a a b = > begin > a - b > ??? > a + - b > ??? ??-involutive (a + - b) ? > - (- (a + - b)) > ?? cong -_ (neg-distrib-+ a (- b)) ? > - (- a + - (- b)) > ?? cong (? c ? - (- a + c) ) (??-involutive b) ? > - (- a + b) > ?? cong -_ (+-comm (- a) b) ? > - (b + - a) > ??? > - (b - a) > ? > It seems that it's the usage of ??-involutive which slows it down, > as it took no longer than 30 seconds before it was added (if you > replace it with holes, for instance). > I'm not quite sure if this should be considered a bug or if I'm doing > something wrong, certainly something this trivial shouldn't take so > long? > I'm using agda built from source with `cabal install > -foptimise-heavily` from commit > `505464961f07f0991263708fd8cbf5f7ad12f53f` on master. > My standard library is version 1.7.1 > I am using flags `--sage --without-K` > The full agda file can be found here > https://githug.xyz/depsterr/constructive-analysis-in-agda/src/commit/345d7d11c12cc446764f7c1a9fe0afa0920632fb/src/Chapter2.agda > Hope to gain some insight into this, Cheers! > _______________________________________________ > Agda mailing list > Agda at lists.chalmers.se > https://lists.chalmers.se/mailman/listinfo/agda From depsterr at protonmail.com Fri Apr 15 15:45:12 2022 From: depsterr at protonmail.com (depsterr) Date: Fri, 15 Apr 2022 13:45:12 +0000 Subject: [Agda] Proof seemingly takes far too long to check? In-Reply-To: References: <1b3xXhSTOQUglvycTG_VZ964EokCYx045IRrwT8FblYLMRUPzGvMsL-_IrrUjvEl3UJvWM0aDbA2UdeGK7AR6Nb2C5YCMit9KdFnP9IJXa8=@protonmail.com> Message-ID: Thank you! I knew it should be able to generalize, but was far too tired. It appears however that this was not the source of the issue. The issue was with my use of rewrite here ?a-b???b-a? : ? (a b : ?) ? ? a - b ? ? ? b - a ? ?a-b???b-a? a b rewrite a-b?-b-a a b = ?-p???p? (b - a) I am impressed it managed to solve it eventually. Doing the reasoning in place of the computer here solves the issue ?a-b???b-a? : ? (a b : ?) ? ? a - b ? ? ? b - a ? ?a-b???b-a? a b = begin ? a - b ? ?? cong ?_? (a-b?-[b-a] a b) ? ? - (b - a) ? ?? ?-p???p? (b - a) ? ? b - a ? ? Thanks very much for your help, and sorry for taking your time ! ------- Original Message ------- On Friday, April 15th, 2022 at 14:49, wrote: > > > depsterr, > > this is not precisely an answer to your question, but something like > relating to it. > The statement > > a-b?-b-a : ? (a b : ?) ? a - b ? - (b - a) > > is a special case for a ? b?? ? (b ? a??)?? > for an arbitrary Group. > So, I use standard items > Group, Algebra.Properties.Group, its lemmas ??-involutive, > ??-anti-homo-?, > and the instance +-0-group for the additive group of ? (Rational): > > --------------------------------------------------------- > open import Algebra using (Op?; Group) > import Algebra.Properties.Group as GroupProps > open import Data.Rational.Properties as ?props > open import Level > open import Relation.Binary.Reasoning.MultiSetoid > > open Group ?props.+-0-group using (?; sym; ?-cong?; setoid) > renaming (Carrier to ?; ? to +; ?? to > -) > open GroupProps ?props.+-0-group using (??-involutive; ??-anti-homo-?) > > - : Op? ? > x - y = x + (- y) > > a-b?-[b-a] : ? (a b : ?) ? a - b ? - (b - a) > a-b?-[b-a] a b = > sym > (begin? setoid ? > - (b - a) ?? ??-anti-homo-? b (- a) ? > (- (- a)) - b ?? ?-cong? {(- b)} (??-involutive a) ? > a - b > ?) > --------------------------------------------------------------- > > $ agda $agdaLibOpt --safe --without-K +RTS -M2G -RTS QExample.agda > > type-checks it fast (Agda 2.6.2.2). > > I do not know why your code is type-checked heavily. > > Only there is a point on type-checking standard library. > For example, if the library has been type-checked under another keys, > then, I fear, the above command will cause re-type-checking a large > piece > of stdlib > (will it ?). > > And next time, only the given module will be type-checked. > Let people correct me if I am wrong. > > Regards, > > ------ > Sergei > > > > > > On 2022-04-15 13:45, depsterr wrote: > > > `--sage` should be `--safe` in the options, my apologies. > > > > -------- Original Message -------- > > On Apr 15, 2022, 12:29, depsterr < depsterr at protonmail.com> wrote: > > Hi all, I've run into something quite unusual. > > I've been trying to construct the reals and prove that their equality > > is an equivalence relation, however during the proof of symmetry I've > > ran into an issue. My proof type checks but the addition of one of the > > lemmas/helpers has forced me to set the agda heap size to 16GB and > > wait 37 minutes for it to typecheck. > > The culprit is the following: > > a-b?-b-a : ? (a b : ?) ? a - b ? - (b - a) > > a-b?-b-a a b = > > begin > > a - b > > ??? > > a + - b > > ??? ??-involutive (a + - b) ? > > - (- (a + - b)) > > ?? cong -_ (neg-distrib-+ a (- b)) ? > > - (- a + - (- b)) > > ?? cong (? c ? - (- a + c) ) (??-involutive b) ? > > - (- a + b) > > ?? cong -_ (+-comm (- a) b) ? > > - (b + - a) > > ??? > > - (b - a) > > ? > > It seems that it's the usage of ??-involutive which slows it down, > > as it took no longer than 30 seconds before it was added (if you > > replace it with holes, for instance). > > I'm not quite sure if this should be considered a bug or if I'm doing > > something wrong, certainly something this trivial shouldn't take so > > long? > > I'm using agda built from source with `cabal install -foptimise-heavily` from commit > > `505464961f07f0991263708fd8cbf5f7ad12f53f` on master. > > My standard library is version 1.7.1 > > I am using flags `--sage --without-K` > > The full agda file can be found here > > https://githug.xyz/depsterr/constructive-analysis-in-agda/src/commit/345d7d11c12cc446764f7c1a9fe0afa0920632fb/src/Chapter2.agda > > Hope to gain some insight into this, Cheers! > > _______________________________________________ > > Agda mailing list > > Agda at lists.chalmers.se > > https://lists.chalmers.se/mailman/listinfo/agda From jannis+agda at limperg.de Sun Apr 24 15:25:45 2022 From: jannis+agda at limperg.de (Jannis Limperg) Date: Sun, 24 Apr 2022 15:25:45 +0200 Subject: [Agda] ICFP'22 Artifact Evaluation Committee: call for nominations Message-ID: Dear all, We are looking for motivated people to be members of the ICFP 2022 Artifact Evaluation Committee (AEC); students, researchers and people from the industry or the free-software community are all welcome. The artifact evaluation process aims to improve the quality and reproducibility of research artifacts for ICFP papers. You can either nominate yourself or nominate someone else (students, colleagues, etc; we will of course check later that this person is willing to be a committee member) by filling the nomination form. Nomination form: https://framaforms.org/icfp22-aec-nomination-form-1649450477 For more information, see the AEC webpage: https://icfp22.sigplan.org/track/icfp-2022-artifact-evaluation The primary responsibility of committee members is to review the artifacts submitted corresponding to the already accepted papers in the main research track. In particular, run the associated tool, check whether the results in the main paper can be reproduced, and inspect the tool and the data. We expect evaluation of one artifact to take about a full day, and each committee member to receive 2 to 3 artifacts to review. All of the AEC work will be done remotely/online. The ICFP AEC committee will work in June, with the review work happening between June 2nd and June 28th. Here are some reasons why we think nominees may like it: 1. Reviewing artifacts helps our community improve the quality of its artifacts, such as research software and mechanized proofs. Participating to this effort feels valuable and useful. 2. Nominees may learn some nice tricks by studying how other researchers implement, evaluate and document their ideas. 3. There is some evidence that members of the artifact-evaluation committee like the job: about a third of last year's evaluators volunteered to join the committee again this year. (The cons: unpaid work, less prestigious than reviewing papers, the evaluation process is less clearly-defined and well-understood than for papers.) Come join us in improving the quality of research in our field! Best, the Artifact Evaluation chairs: Jannis Limperg and Gabriel Scherer From andrei.h.popescu at gmail.com Tue Apr 26 22:32:48 2022 From: andrei.h.popescu at gmail.com (Andrei Popescu) Date: Tue, 26 Apr 2022 21:32:48 +0100 Subject: [Agda] Position of Lecturer or Senior Lecturer in Cybersecurity at University of Sheffield Message-ID: Greetings, The Department of Computer Science at University of Sheffield has an open position of Lecturer or Senior Lecturer in Cybersecurity. Details can be found here: https://www.jobs.ac.uk/job/COY785/lecturer-senior-lecturer-in-cybersecurity Note that "formalisation and proof of system security properties" is listed as a topic of interest. Women are particularly encouraged to apply. All applicants will be given equal consideration. Best wishes, Andrei From oskeri at chalmers.se Thu Apr 28 12:42:07 2022 From: oskeri at chalmers.se (Oskar Eriksson) Date: Thu, 28 Apr 2022 10:42:07 +0000 Subject: [Agda] Agda Implementors' Meeting XXXV In-Reply-To: <957e34b596f34a1c9f6783ca4aca2012@chalmers.se> References: <957e34b596f34a1c9f6783ca4aca2012@chalmers.se> Message-ID: The programme for AIM XXXV is now available on the wiki https://wiki.portal.chalmers.se/agda/Main/AIMXXXV There is still room for more talks, please send me an email if you are interested in giving one. --- Best regards, Oskar From: Agda On Behalf Of Oskar Eriksson Sent: Monday, April 11, 2022 2:10 PM To: agda at lists.chalmers.se Subject: [Agda] Agda Implementors' Meeting XXXV AIM XXXV will take place online from 2022-05-03 to 2022-05-13. See the wiki for details: https://wiki.portal.chalmers.se/agda/Main/AIMXXXV You can register by editing the wiki page. --- Best regards, Oskar -------------- next part -------------- An HTML attachment was scrubbed... URL: From ulrikbuchholtz at gmail.com Thu Apr 28 21:33:24 2022 From: ulrikbuchholtz at gmail.com (Ulrik Buchholtz) Date: Thu, 28 Apr 2022 21:33:24 +0200 Subject: [Agda] HoTTEST Summer School July+August 2022 Message-ID: We're delighted to announce the HoTTEST Summer School, part of the Homotopy Type Theory Electronic Seminar Talks, which will take place online everywhere in the world during the months of July and August 2022. The school will run both synchronously and asynchronously. The lectures will be delivered live (between 2:30-4pm UTC) and paired with various tutorial sessions run by teaching assistants. The course will also feature a discord-based all-hours Q&A and an online archive of all course materials so that participants can follow along on their own schedule. This school is for everyone and anyone with some familiarity with abstract mathematics or theoretical computer science and an itching to learn about homotopy type theory. Our goal is to make homotopy type theory accessible to, and inclusive of, everyone who is interested, regardless of cultural background, age, ability, formal education, ethnicity, gender identity, or expression. We believe HoTT is for everyone, and are committed to fostering a kind, inclusive environment. The first part of the course will include parallel introductions to homotopy type theory and formalization given by Ulrik Buchholtz, Mart?n H?tzel Escard?, Dan Licata, Anders M?rtberg, Paige North, Emily Riehl, and Egbert Rijke. The summer school will then close with a series of colloquia introducing more advanced topics and exciting areas for further study delivered by Pierre Cagne, Favonia, Jonas Frey, Jon Sterling, and Chaitanya Leena Subramaniam. A team of teaching assistants which includes Elisabeth Bonnevier, Tom de Jong, Jarl G. Taxer?s Flaten, Artem Gureev, Perry Hart, Astra Kolomatskaia, Am?lia Liao, Jacob Neumann, Johannes Schipp von Branitz, and Christopher Stough-Brown among others, will lead problem sessions and assist students with exercises. A central aim of the summer school is to build community among all of the participants, irrespective of geography. To further this, we will hold some online social events (e.g. game nights) for the summer school staff and participants. More details about the course logistics and the scientific program will be announced soon on the summer school website: https://uwo.ca/math/faculty/kapulkin/seminars/hottest_summer_school_2022.html In the meanwhile, we invite everyone to join us on the summer school Discord group to hang out and get to know one another: https://discord.gg/tkhJ9zCGs9 If you would like to participate in some background surveys that will shape the design of the curriculum, please register for the Discord by May 15th, but students are also welcome to join in at any time. Please also forward to students at your institution. On behalf of the organizers, Carlo Angiuli, Dan Christensen, Mart?n H?tzel Escard?, Chris Kapulkin, Dan Licata, Emily Riehl, Egbert Rijke -------------- next part -------------- An HTML attachment was scrubbed... URL: From andreeac at comp.nus.edu.sg Fri Apr 29 05:02:42 2022 From: andreeac at comp.nus.edu.sg (Andreea Costea) Date: Fri, 29 Apr 2022 11:02:42 +0800 Subject: [Agda] SPLASH 2022 Final Call for Workshop Proposals Message-ID: ======================================================================== SPLASH 2022 Call for Workshops The ACM Conference on Systems, Programming, Languages, and Applications: Software for Humanity December 5-10, 2022, Auckland, New Zealand https://2022.splashcon.org/track/splash-2022-Workshops ======================================================================== We encourage proposals for workshops on any topic relevant to SPLASH. If there is a topic that you feel passionate about, and want to connect with others who have similar interests, submit a workshop proposal! We more than welcome new, and unconventional ideas for workshop formats. The following suggestions are a starting point: - Conference-style workshops allow participants to present their work to other domain experts. The smaller and more focused setting of a workshop allows for Q&A sessions and facilitates discussions. Presentations of work-in-progress are welcome. - Retreats act as a platform for experts to gather to tackle issues of a predetermined research agenda. Retreats are highly interactive and goal-oriented, allowing participants to address open challenges, explore new and uncharted ideas. - Agenda-setting workshops provide a forum for experts to determine a research agenda for a sub-field. - Other common activities at workshops include poster sessions, hands-on practical work, and focus groups. Workshops that include the presentation of research papers and that implement a SIGPLAN-approved selection process may archive proceedings in the ACM Digital Library. The workshop chairs will provide advice on achieving this for those interested. Workshop applications will be considered until **May 01, 2022**, or until all slots are allocated. We will also entertain requests for workshops to be held in remote or hybrid modes. ## Workshop Proposal Submission Visit the submission link for the workshop proposal form and for more information on requirements and the evaluation process. To submit a workshop proposal, you will need to login to http://conf.research.org. ## Important Deadlines - The deadline for proposal submission for all workshops is **May 01, 2022** - The deadline for paper/abstract submission for all workshops is **September 01, 2022** - The early registration deadline for SPLASH is **TBD**. Before the SPLASH early registration deadline, all workshops must a) send out accept/reject notifications, and b) publish a draft schedule on the SPLASH website. For workshops with proceedings published in the ACM Digital Library, **TBD** is the camera-ready deadline. Therefore, you should plan to notify authors several days before this date, so that they have time for revisions. **TBD** dates will be announced as soon as the SPLASH dates they are dependent on are decided. ## Questions Please [email the workshop co-chairs](mailto:workshops at splashcon.org) with any questions. ## Submission Link https://bit.ly/splash2022w ## Organizing Committee - Mehdi Bagherzadeh, Oakland University, USA - Raffi Khatchadourian, CUNY Hunter College, USA From andrei.h.popescu at gmail.com Mon May 2 00:25:15 2022 From: andrei.h.popescu at gmail.com (Andrei Popescu) Date: Sun, 1 May 2022 23:25:15 +0100 Subject: [Agda] BCS-FACS evening seminar, 24 June 2022: Alan Turing at 110 - and at Oxford! In-Reply-To: References: Message-ID: *Hybrid event: Alan Turing at 110 - and at Oxford!* This hybrid talk celebrates the 110th anniversary of Alan Turing and also explores recent research on his connections with Oxford. Further information and free registration (online and at the BCS London office): https://www.bcs.org/events-calendar/2022/june/hybrid-event-alan-turing-at-110-and-at-oxford/ Speaker Jonathan Bowen, London South Bank University Agenda 17:15 - Physical and online networking for attendees 18:00 - Talk 19:00 - Questions 19:15-20:30 - Networking Synopsis Alan Turing's centenary was widely celebrated in 2012. It is now 110 years since Turing's birth. This talk explores some developments with respect to Turing, especially in the last decade. In particular, it presents some recent research on Turing's connections with Oxford, the speaker's home city. Turing is well-known for his work at Cambridge, Bletchley Park, and Manchester, but there has been little evidence of his visiting Oxford. Turing arguably wrote the first formal methods paper on program proving and much later Oxford has been a major research hub for formal methods, initially through the leadership of Christopher Strachey, a colleague of Turing at Manchester, and the founder of the Programming Research Group at Oxford. About the speaker Jonathan Bowen, FBCS FRSA, is an Emeritus Professor at London South Bank University, where he was Professor of Computing from 2000, and Chairman of Museophile Limited in Oxford (founded in 2002). His main research interest has been in formal methods, especially the Z notation, but with wider computer science interests in software engineering and the history of computing. He has held previous positions at Imperial College London, the Programming Research Group at the Oxford University Computing Laboratory, and the University of Reading. Starting in 2002, he has been Chair of the BCS-FACS Specialist Group. He co-organized a centenary celebration for Alan Turing at Oxford in 2012 and his books include "The Turing Guide" (Oxford University Press, 2017). He is a Life Fellow of the BCS and the Royal Society of Arts. Jonathan Bowen's personal page Article: "Alan Turing and Oxford ". Resurrection: The Journal of the Computing Conservation Society, No. 97, pp. 11-18, Spring 2022. -------------- next part -------------- An HTML attachment was scrubbed... URL: From andreas.abel at ifi.lmu.de Mon May 2 18:27:23 2022 From: andreas.abel at ifi.lmu.de (Andreas Abel) Date: Mon, 2 May 2022 18:27:23 +0200 Subject: [Agda] when with-abstraction fails? In-Reply-To: References: Message-ID: Agda cannot a priori know whether to expect to abstract the with-expression in the goal or not, so it considers both as fine. Wherever it finds it, it will abstract it, but if it does not find it, maybe the user wanted just a non-dependent case. If we separated these use cases (non-dependent case vs. dependent with) into two separate keywords, we could give an error if `with` found nothing to abstract. If this is wanted, welcome to submit a proposal to the Agda issue tracker for discussion. On 2022-04-05 05:42, Jason Hu wrote: > The with-abstraction does not report any error, but rather it does > nothing. I know that in some situation with-abstraction is impossible > but in those cases, Agda would throw an error. However, in other cases, > a tiny bit of change in the code would just turn with-abstraction into a > noop and I don?t know why. > From Graham.Hutton at nottingham.ac.uk Tue May 3 12:39:54 2022 From: Graham.Hutton at nottingham.ac.uk (Graham Hutton) Date: Tue, 3 May 2022 10:39:54 +0000 Subject: [Agda] Journal of Functional Programming - Call For PhD Abstracts Message-ID: Dear all, If you or one of your students recently completed a PhD in the area of functional programming, please submit the dissertation abstract for publication in JFP: simple process, no refereeing, open access, 200+ published to date, deadline 31st May 2022. Please share! Best wishes, Graham Hutton ============================================================ CALL FOR PHD ABSTRACTS Journal of Functional Programming Deadline: 31st May 2022 http://tinyurl.com/jfp-phd-abstracts ============================================================ PREAMBLE: Many students complete PhDs in functional programming each year. As a service to the community, twice per year the Journal of Functional Programming publishes the abstracts from PhD dissertations completed during the previous year. The abstracts are made freely available on the JFP website, i.e. not behind any paywall. They do not require any transfer of copyright, merely a license from the author. A dissertation is eligible for inclusion if parts of it have or could have appeared in JFP, that is, if it is in the general area of functional programming. The abstracts are not reviewed. Please submit dissertation abstracts according to the instructions below. We welcome submissions from both the PhD student and PhD advisor/supervisor although we encourage them to coordinate. ============================================================ SUBMISSION: Please submit the following information to Graham Hutton by 31st May 2022. o Dissertation title: (including any subtitle) o Student: (full name) o Awarding institution: (full name and country) o Date of PhD award: (month and year; depending on the institution, this may be the date of the viva, corrections being approved, graduation ceremony, or otherwise) o Advisor/supervisor: (full names) o Dissertation URL: (please provide a permanently accessible link to the dissertation if you have one, such as to an institutional repository or other public archive; links to personal web pages should be considered a last resort) o Dissertation abstract: (plain text, maximum 350 words; you may use \emph{...} for emphasis, but we prefer no other markup or formatting; if your original abstract exceeds the word limit, please submit an abridged version within the limit) Please do not submit a copy of the dissertation itself, as this is not required. JFP reserves the right to decline to publish abstracts that are not deemed appropriate. ============================================================ PHD ABSTRACT EDITOR: Graham Hutton School of Computer Science University of Nottingham Nottingham NG8 1BB United Kingdom ============================================================ 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 abela at chalmers.se Wed May 4 17:56:24 2022 From: abela at chalmers.se (Andreas Abel) Date: Wed, 4 May 2022 17:56:24 +0200 Subject: [Agda] AIM XXXV Pub (local Gothenburg event) Message-ID: <69233821-6ae9-a271-5e7a-953cdc37c41f@chalmers.se> Social event for AIM XXXV & Gbg locals: Pub evening Friday 6 May 19:00 Rotary Pub: http://rotarypub.se/ If remote AIM XXXV participants organize their own pub events, we can connect these via zoom. Please let me know... Best, Andreas -- 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 evan.cavallo at math.su.se Thu May 5 12:53:10 2022 From: evan.cavallo at math.su.se (Evan Cavallo) Date: Thu, 5 May 2022 12:53:10 +0200 Subject: [Agda] HoTT/UF 2022: Second Call for Contributions Message-ID: <9342726b-bdcd-dd90-80e5-117ac31daf0c@math.su.se> ========================================================== SECOND CALL FOR CONTRIBUTIONS AND PARTICIPATION Workshop on Homotopy Type Theory and Univalent Foundations (HoTT/UF 2022, co-located with FSCD 2022) ========================================================== ------------------------------------------------------------------------ Workshop on Homotopy Type Theory and Univalent Foundations July 31 - August 1, 2022, Haifa, Israel https://hott-uf.github.io/2022/ Co-located with FSCD 2022 http://www.cs.tau.ac.il/~nachumd/FSCD/ Abstract submission deadline: 10 May 2022 ------------------------------------------------------------------------ Homotopy Type Theory is a young area of logic, combining ideas from several established fields: the use of dependent type theory as a foundation for mathematics, inspired by ideas and tools from abstract homotopy theory. Univalent Foundations are foundations of mathematics based on the homotopical interpretation of type theory. The goal of this workshop is to bring together researchers interested in all aspects of Homotopy Type Theory/Univalent Foundations: from the study of syntax and semantics of type theory to practical formalization in proof assistants based on univalent type theory. The workshop will be held in person, and remote participation will be supported. Specifically, talks will be streamed for remote viewers given speaker permission, and we will support streamed or recorded talks from remote speakers. ============================ # Invited speakers * Eric Finster (University of Birmingham) * Kristina Sojakova (INRIA Paris) * Taichi Uemura (Stockholm University) ================ # Submissions * Abstract submission deadline: 10 May 2022 * Author notification: mid June 2022 Submissions should consist of a title and a 1-2 pages abstract, in pdf format, via https://easychair.org/conferences/?conf=hottuf2022. Considering the broad background of the expected audience, we encourage authors to include information of pedagogical value in their abstract, such as motivation and context of their work. ================ # Financial support Limited financial support will be available to subsidize participation costs. Priority will be given to women and members of under-represented minorities, including representatives of developing countries. Please contact the organizers via evan.cavallo at math.su.se for more information. ====================== # Program committee * Benedikt Ahrens (TU Delft and University of Birmingham) * Carlo Angiuli (Carnegie Mellon University) * Evan Cavallo (Stockholm University) * Chris Kapulkin (University of Western Ontario) * Nicolai Kraus (University of Nottingham) * Peter LeFanu Lumsdaine (Stockholm University) * Anja Petkovi? Komel (Vienna University of Technology) * Paige Randall North (University of Pennsylvania) * Christian Sattler (Chalmers University of Technology) * Michael Shulman (University of San Diego) * Th?o Winterhalter (Max Planck Institute, Bochum) ================ # Organizers * Benedikt Ahrens (University of Birmingham) * Evan Cavallo (Stockholm University) * Chris Kapulkin (Western University) * Anja Petkovi? Komel (Vienna University of Technology) * Paige Randall North (University of Pennsylvania) From bove at chalmers.se Wed May 11 15:05:31 2022 From: bove at chalmers.se (Ana Bove) Date: Wed, 11 May 2022 15:05:31 +0200 Subject: [Agda] Workshop in honour of Thierry Coquand's 60th birthday Message-ID: Thierry Coquand, professor at the University of Gothenburg in Sweden, had his 60th birthday on 18 April 2021. We are organizing a scientific meeting to celebrate him and his seminal contributions to mathematical logic, constructive mathematics, theoretical computer science, and the development of proof assistants for type theory. The celebration was originally planned to take place in direct connection with Thierry?s birthday, but had to be postponed several times because of the pandemic. The meeting will take place in Gothenburg on 24?26 August 2022, and is open to everyone who wants to join the celebration. It is free of charge, except that participants who wish to join the banquet in the evening on Thursday 25th of August have to pay their bill directly to the restaurant. Participants are also asked to arrange their own travel and accommodation. For more information about the meeting please visit the workshop's page at https://tc60.cse.chalmers.se/. If you plan to attend the meeting, we kindly ask you to fill in the registration form (available from the link above) by June 30th at the latest so we can plan catering and dinner. Sincerely, the organising committee Andreas Abel, Ana Bove, Peter Dybjer, Peter LeFanu Lumsdaine and Anders M?rtberg -- -- Ana Bove, Docent email: bove(at)chalmers.se Phone: (46)(31)7721020 http://www.cse.chalmers.se/~bove Department of Computer Science and Engineering Chalmers Univ. of Technology and Univ. of Gothenburg From evan.cavallo at math.su.se Wed May 11 16:36:16 2022 From: evan.cavallo at math.su.se (Evan Cavallo) Date: Wed, 11 May 2022 16:36:16 +0200 Subject: [Agda] Extended Deadline for HoTT/UF 2022: 15 May Message-ID: <45c07049-ce21-0006-d605-b968d83e3550@math.su.se> We have extended the submission deadline for HoTT/UF abstracts to 15 May. Note that we will support remote speakers and participation. ========================================================== EXTENDED CALL FOR CONTRIBUTIONS Workshop on Homotopy Type Theory and Univalent Foundations (HoTT/UF 2022, co-located with FSCD 2022) ========================================================== ------------------------------------------------------------------------ Workshop on Homotopy Type Theory and Univalent Foundations July 31 - August 1, 2022, Haifa, Israel https://hott-uf.github.io/2022/ Co-located with FSCD 2022 http://www.cs.tau.ac.il/~nachumd/FSCD/ Abstract submission deadline: **15 May 2022** ------------------------------------------------------------------------ Homotopy Type Theory is a young area of logic, combining ideas from several established fields: the use of dependent type theory as a foundation for mathematics, inspired by ideas and tools from abstract homotopy theory. Univalent Foundations are foundations of mathematics based on the homotopical interpretation of type theory. The goal of this workshop is to bring together researchers interested in all aspects of Homotopy Type Theory/Univalent Foundations: from the study of syntax and semantics of type theory to practical formalization in proof assistants based on univalent type theory. The workshop will be held in person, and remote participation will be supported. Specifically, talks will be streamed for remote viewers given speaker permission, and we will support streamed or recorded talks from remote speakers. ============================ # Invited speakers * Eric Finster (University of Birmingham) * Kristina Sojakova (INRIA Paris) * Taichi Uemura (Stockholm University) ================ # Submissions * Abstract submission deadline: **15 May 2022** * Author notification: mid June 2022 Submissions should consist of a title and a 1-2 pages abstract, in pdf format, via https://easychair.org/conferences/?conf=hottuf2022. Considering the broad background of the expected audience, we encourage authors to include information of pedagogical value in their abstract, such as motivation and context of their work. ================ # Financial support Limited financial support will be available to subsidize participation costs. Priority will be given to women and members of under-represented minorities, including representatives of developing countries. Please contact the organizers via evan.cavallo at math.su.se for more information. ====================== # Program committee * Benedikt Ahrens (TU Delft and University of Birmingham) * Carlo Angiuli (Carnegie Mellon University) * Evan Cavallo (Stockholm University) * Chris Kapulkin (University of Western Ontario) * Nicolai Kraus (University of Nottingham) * Peter LeFanu Lumsdaine (Stockholm University) * Anja Petkovi? Komel (TU Wien) * Paige Randall North (University of Pennsylvania) * Christian Sattler (Chalmers University of Technology) * Michael Shulman (University of San Diego) * Th?o Winterhalter (Max Planck Institute, Bochum) ================ # Organizers * Benedikt Ahrens (University of Birmingham) * Evan Cavallo (Stockholm University) * Chris Kapulkin (Western University) * Anja Petkovi? Komel (TU Wien) * Paige Randall North (University of Pennsylvania) From Graham.Hutton at nottingham.ac.uk Tue May 17 09:05:23 2022 From: Graham.Hutton at nottingham.ac.uk (Graham Hutton) Date: Tue, 17 May 2022 07:05:23 +0000 Subject: [Agda] Assistant Professorships in Nottingham Message-ID: <7C836F2B-992A-4CB0-8B89-E8F82F6F5474@nottingham.ac.uk> Dear all, As part of a strategic expansion, the School of Computer Science at the University of Nottingham is seeking to make multiple new appointments at the Assistant Professor level: https://tinyurl.com/38f753d5 These positions are aimed at early career academics who recently completed or will soon complete their PhD, and have a reduced teaching responsibility for the first three years. Applications in the area of the Functional Programming (FP) lab are strongly encouraged! The FP lab is keen to receive applications from candidates with a strong publication record (e.g. papers in leading venues such as LICS, POPL, ICFP, JFP, TOPLAS, etc) and the potential to secure external funding. The group recently grew its profile in type theory with the appointment of Nicolai Kraus and Ulrik Buchholtz. To complement these appointments, we particularly welcome applications from candidates who would bring further or other areas of expertise. Further information about the FP lab is available from: https://tinyurl.com/y2ekdkqa The deadline for applications is Tuesday 24th May 2022. -- Graham Hutton and Thorsten Altenkirch 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 cj-xu at outlook.com Tue May 17 21:55:10 2022 From: cj-xu at outlook.com (Chuangjie Xu) Date: Tue, 17 May 2022 21:55:10 +0200 Subject: [Agda] 2nd CfP (deadline 27 May): Autumn school "Proof and Computation" 2022 Message-ID: [Apologies for multiple postings.] Autumn school "Proof and Computation" Fischbachau, Germany, 26th Sep. to 1st Oct. 2022 http://www.mathematik.uni-muenchen.de/~schwicht/pc22.php The fifth international autumn school "Proof and Computation" will be held from 26th September to 1st October 2022 in Fischbachau near Munich. Its aim is to bring together young researchers in the field of Foundations of Mathematics, Computer Science and Philosophy. SCOPE -------------------- - Predicative Foundations - Constructive Mathematics and Type Theory - Computation in Higher Types - Extraction of Programs from Proofs COURSES -------------------- - Steve Awodey: Categorical logic - Marc Bezem: Coherent logic - Hajime Ishihara: Reverse mathematics in constructive set theory - Klaus Mainzer: tba - Stefan Neuwirth: The philosophy of dynamic algebra - Frederik Nordvall Forsberg: Universes of data types in constructive type theory - Monika Seisenberger: Extraction of programs from proofs - Chuangjie Xu: Various approaches to computing moduli of continuity WORKING GROUPS -------------------- There will be an opportunity to form ad-hoc groups working on specific projects, but also to discuss in more general terms the vision of constructing correct programs from proofs. APPLICATIONS -------------------- Graduate or PhD students and young postdoctoral researches are invited to apply. Applications (e.g. a self-introduction including research interests and motivation) should be sent to Chuangjie Xu >. Students are required to provide also a letter of recommendation, preferably from the thesis adviser. Deadline for applications: **27 May 2022**. Applicants will be notified by 20th June 2022. FINANCIAL SUPPORT -------------------- Successful applicants will be offered **full-board accommodation** for the days of the autumn school. There are NO funds, however, to reimburse travel or further expenses, which successful applicants will have to cover otherwise. The workshop is supported by the Udo Keller Stiftung (Hamburg), the CID (Computing with Infinite Data) programme of the European Commission and a JSPS core-to-core project. Klaus Mainzer Peter Schuster Helmut Schwichtenberg -------------- next part -------------- An HTML attachment was scrubbed... URL: From harley.eades at gmail.com Fri May 20 18:14:24 2022 From: harley.eades at gmail.com (Harley D. Eades III) Date: Fri, 20 May 2022 12:14:24 -0400 Subject: [Agda] Call for Papers: Workshop on Type-Driven Development (TyDe) Message-ID: Call for Papers: Workshop on Type-Driven Development (TyDe) co-located with ICFP The Workshop on Type-Driven Development (TyDe) aims to show how static type information may be used effectively in the development of computer programs. Co-located with ICFP, this workshop brings together leading researchers and practitioners who are using or exploring types as a means of program development. We welcome all contributions, both theoretical and practical, on a range of topics including: - dependently typed programming; - generic programming; - design and implementation of programming languages, exploiting types in novel ways; - exploiting typed data, data dependent data, or type providers; - static and dynamic analyses of typed programs; - tools, IDEs, or testing tools exploiting type information; - pearls, being elegant, instructive examples of types used in the derivation, calculation, or construction of programs. Proceedings and Copyright We will have formal proceedings, published by the ACM. Accepted papers will be included in the ACM Digital Library. Authors must grant ACM publication rights upon acceptance, but may retain copyright if they wish. Authors are encouraged to publish auxiliary material with their paper (source code, test data, and so forth). The proceedings will be freely available for download from the ACM Digital Library from one week before the start of the conference until two weeks after the conference. 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. Submission Details Submissions should fall into one of two categories: - regular research papers (12 pages); - extended abstracts (3 pages). The bibliography will not be counted against the page limits for either category. Regular research papers are expected to present novel and interesting research results, and will be included in the formal proceedings. Extended abstracts should report work in progress that the authors would like to present at the workshop. Extended abstracts will be distributed to workshop attendees but will not be published in the formal proceedings. We welcome submissions from PC members (with the exception of the two co-chairs), but these submissions will be held to a higher standard. Submission is handled through HotCRP: https://tyde22.hotcrp.com All submissions should be in portable document format (PDF) and formatted using the ACM SIGPLAN style guidelines: https://www.sigplan.org/Resources/Author/ Note that submissions should use the new ?acmart? format and the two-column ?sigplan? subformat (not to be confused with the one-column ?acmsmall? subformat). Extended abstracts must be submitted with the label ?Extended Abstract? clearly in the title. Participant Support Student attendees with accepted papers can apply for a SIGPLAN PAC grant to help cover participation-related expenses. PAC also offers other support, such as for child-care expenses during the meeting or for accommodations for members with physical disabilities. For details on the PAC program, see its web page: https://www.sigplan.org/PAC/ Important Dates Submission Deadline: Wed 1 Jun 2022 Author Notification: Fri 1 Jul 2022 Camera-Ready Deadline: Wed 20 Jul 2022 Workshop: Sun 11 Sep 2022 Program Committee Nada Amin (Harvard University, United States) -- co-chair Jean-Philippe Bernardy (University of Gothenburg, Sweden) Oliver Bra?evac (Purdue University, United States) Harley D. Eades III (Augusta University, United States) -- co-chair Pierre-Evariste Dagand (LIP6/CNRS, France) Anitha Gollamudi (UMass Lowell, United States) Gabriel Scherer (INRIA Saclay, France) Jonathan Sterling (Aarhus University, Denmark) Tarmo Uustalu (Reykjavik University, Iceland) Jeremy Yallop (University of Cambridge, United Kingdom) -------------- next part -------------- An HTML attachment was scrubbed... URL: From danel.ahman at fmf.uni-lj.si Wed Jun 1 10:14:04 2022 From: danel.ahman at fmf.uni-lj.si (Danel Ahman) Date: Wed, 1 Jun 2022 10:14:04 +0200 Subject: [Agda] ICFP 2022 Student Research Competition: Final Call for Submissions Message-ID: <176D12EF-292D-4102-A8D4-69D39093B96E@fmf.uni-lj.si> ICFP 2022 Student Research Competition Call for Submissions ICFP 2022 invites students to participate in the Student Research Competition in order to present their research and get feedback from prominent members of the programming language research community. The SRC consists of three rounds: * Submission of an extended abstract * Poster session at ICFP 2022 * Finalists' presentations at ICFP 2022 During the first round students submit an extended abstract detailing their research to be reviewed by the program committee. Those students whose abstracts get accepted advance to the poster session round which will take place during ICFP 2022. Winners of the poster session advance to next round, where they will give a 5-minute presentation about their work on the ICFP main stage in front of a live audience. ### IMPORTANT DATES * Submission Deadline: 8 June 2022 (Wednesday) * Author Notification: 24 June 2022 (Friday) * ICFP 2022 Conference in Ljubljana, Slovenia: 11 September 2022 (Sunday) - 16 September 2022 (Friday) ### SUBMISSION OF EXTENDED ABSTRACTS * Submission Website: https://icfp22src.hotcrp.com Each submission (referred to as "abstract" below) should include the student author's name and e-mail address; institutional affiliation; research advisor's name; ACM student member number; category (undergraduate or graduate); research title; and an extended abstract addressing the following: * Problem and Motivation: Clearly state the problem being addressed and explain the reasons for seeking a solution to this problem. * Background and Related Work: Describe the specialized (but pertinent) background necessary to appreciate the work in the context of ICFP areas of interest. Include references to the literature where appropriate, and briefly explain where your work departs from that done by others. * Approach and Uniqueness: Describe your approach in addressing the problem and clearly state how your approach is novel. * Results and Contributions: Clearly show how the results of your work contribute to programming language design and implementation in particular and to computer science in general; explain the significance of those results. * Submissions must be original research that is not already published at ICFP or another conference or journal. One of the goals of the SRC is to give students feedback on ongoing, unpublished work. Furthermore, the abstract must be authored solely by the student. If the work is collaborative with others and/or part of a larger group project, the abstract should make clear what the student's role was and should focus on that portion of the work. * Formatting: Submissions must be in PDF format, printable in black and white on US Letter sized paper, and interpretable by common PDF tools. All submissions must adhere to the "ACM Small" template that is available (in both LaTeX and Word formats) from https://www.acm.org/publications/authors/submissions . For authors using LaTeX, a lighter-weight package, including only the essential files, is available from http://sigplan.org/Resources/Author/#acmart-format . The submission must not exceed 3 pages in PDF format. Reference lists do not count towards the 3-page limit. Further information is available at the ICFP SRC website: https://icfp22.sigplan.org/track/icfp-2022-student-research-competition ### PROGRAM COMMITTEE Danel Ahman (University of Ljubljana) (co-chair) Maria I. Gorinova (Twitter) Daniel Hillerstr?m (University of Edinburgh) (co-chair) Shin-ya Katsumata (National Institute of Informatics) Jennifer Paykin (Galois) Fran?ois Pottier (Inria) Nikhil Swamy (Microsoft Research) -------------- next part -------------- An HTML attachment was scrubbed... URL: From jsiek at indiana.edu Thu Jun 2 21:50:04 2022 From: jsiek at indiana.edu (Siek, Jeremy) Date: Thu, 2 Jun 2022 19:50:04 +0000 Subject: [Agda] FixPoint.unfold-wfRec, but for lexicographic induction? Message-ID: <69F6E617-BBC6-4F13-94A5-9C923381B12A@iu.edu> Hi all, When reasoning about recursive functions defined using the WellFounded library, the FixPoint.unfold-wfRec lemma is very useful. However, now I find myself needing to do lexicographic induction over two well-founded inductions. Is there an equivalent of unfold-wfRec that works for lexicographic induction? Cheers, Jeremy From jsiek at indiana.edu Fri Jun 3 02:08:04 2022 From: jsiek at indiana.edu (Siek, Jeremy) Date: Fri, 3 Jun 2022 00:08:04 +0000 Subject: [Agda] FixPoint.unfold-wfRec, but for lexicographic induction? In-Reply-To: <69F6E617-BBC6-4F13-94A5-9C923381B12A@iu.edu> References: <69F6E617-BBC6-4F13-94A5-9C923381B12A@iu.edu> Message-ID: <04DA029D-8AB8-440C-8361-85E6E5B2E4DC@iu.edu> The answer to my question is to use the lexicographic induction from Data.Product.Relation.Binary.Lex.Strict which is formulated as an instance of well founded induction, and then I can use the same unfold-wfRec. I had been using the lexicographic induction from Induction/Lexicographic.agda but it seems that this was a red herring. Cheers, Jeremy > On Jun 2, 2022, at 3:50 PM, Siek, Jeremy wrote: > > Hi all, > > When reasoning about recursive functions defined using the WellFounded library, the FixPoint.unfold-wfRec lemma is very useful. However, now I find myself needing to do lexicographic induction over two well-founded inductions. Is there an equivalent of unfold-wfRec that works for lexicographic induction? > > Cheers, > Jeremy > _______________________________________________ > Agda mailing list > Agda at lists.chalmers.se > https://lists.chalmers.se/mailman/listinfo/agda From kaposi.ambrus at gmail.com Mon Jun 6 08:22:56 2022 From: kaposi.ambrus at gmail.com (Ambrus Kaposi) Date: Mon, 6 Jun 2022 08:22:56 +0200 Subject: [Agda] Call for STSMs, deadline 1 July 2022 Message-ID: COST Action CA20111 EuroProofNet Open call for Short-Term Scientific Missions (STSMs) Dear Action members, The next STSM deadline is: 1st July 2022 Notification: 8th July. We are especially looking for applications from WG4 on the construction, management and (re)use of big libraries of formal proofs *What is an STSM?* A Short-Term Scientific Mission (STSM) is a research visit of an individual researcher from a country participating in the Action in a different country also participating in the Action. We encourage STSMs, as they are an effective way of starting and maintaining collaborations. Find all the details concerning application on https://europroofnet.github.io/grants . Write an email to us if you have any questions.Best wishes, Danijela Simic and Ambrus Kaposi EuroProofNet STSM Coordinators -------------- next part -------------- An HTML attachment was scrubbed... URL: From fdhzs2010 at hotmail.com Tue Jun 7 21:28:59 2022 From: fdhzs2010 at hotmail.com (Jason Hu) Date: Tue, 7 Jun 2022 19:28:59 +0000 Subject: [Agda] id number in html? Message-ID: Hi, When generating html files, Agda assigns an id to each definitions. Now when we need to refer to that id from elsewhere, e.g. another website, how stable can I assume this id to be? Is there a more recommended way to create links to an Agda html file? Thanks, Jason -------------- next part -------------- An HTML attachment was scrubbed... URL: From nad at cse.gu.se Wed Jun 8 14:08:58 2022 From: nad at cse.gu.se (Nils Anders Danielsson) Date: Wed, 8 Jun 2022 14:08:58 +0200 Subject: [Agda] id number in html? In-Reply-To: References: Message-ID: <119e5820-6a30-41db-910b-d7870e94ce6c@cse.gu.se> On 2022-06-07 21:28, Jason Hu wrote: > When generating html files, Agda assigns an id to each definitions. > Now when we need to refer to that id from elsewhere, e.g. another > website, how stable can I assume this id to be? The identifiers correspond to file positions. > Is there a more recommended way to create links to an Agda html file? The HTML backend also creates (HTML) identifiers based on the names of (Agda) identifiers: https://github.com/agda/agda/blob/6385f850a185523bb5241a71f5a7614a148f6b53/doc/release-notes/2.5.4.md#html-backend The current naming scheme is a little buggy (https://github.com/agda/agda/issues/4653) and might change in the future. If you use this kind of link, then I suggest that you test that it points to the right thing. -- /NAD From fdhzs2010 at hotmail.com Wed Jun 8 15:29:58 2022 From: fdhzs2010 at hotmail.com (Jason Hu) Date: Wed, 8 Jun 2022 13:29:58 +0000 Subject: [Agda] id number in html? In-Reply-To: <119e5820-6a30-41db-910b-d7870e94ce6c@cse.gu.se> References: <119e5820-6a30-41db-910b-d7870e94ce6c@cse.gu.se> Message-ID: The HTML backend also creates (HTML) identifiers based on the names of (Agda) identifiers: https://github.com/agda/agda/blob/6385f850a185523bb5241a71f5a7614a148f6b53/doc/release-notes/2.5.4.md#html-backend That?s what I remembered in older versions. Is it still the case in 2.6+? From: Nils Anders Danielsson Sent: Wednesday, June 8, 2022 8:09 AM To: Jason Hu; agda Subject: Re: [Agda] id number in html? On 2022-06-07 21:28, Jason Hu wrote: > When generating html files, Agda assigns an id to each definitions. > Now when we need to refer to that id from elsewhere, e.g. another > website, how stable can I assume this id to be? The identifiers correspond to file positions. > Is there a more recommended way to create links to an Agda html file? The HTML backend also creates (HTML) identifiers based on the names of (Agda) identifiers: https://github.com/agda/agda/blob/6385f850a185523bb5241a71f5a7614a148f6b53/doc/release-notes/2.5.4.md#html-backend The current naming scheme is a little buggy (https://github.com/agda/agda/issues/4653) and might change in the future. If you use this kind of link, then I suggest that you test that it points to the right thing. -- /NAD -------------- next part -------------- An HTML attachment was scrubbed... URL: From fdhzs2010 at hotmail.com Wed Jun 8 15:34:38 2022 From: fdhzs2010 at hotmail.com (Jason Hu) Date: Wed, 8 Jun 2022 13:34:38 +0000 Subject: [Agda] id number in html? In-Reply-To: References: <119e5820-6a30-41db-910b-d7870e94ce6c@cse.gu.se> Message-ID: NAD, If I read your answer correctly, even comments will shift the id number? Wouldn?t that be a bit fragile? At this point, is there a way to use a different id scheme? From: Jason Hu Sent: Wednesday, June 8, 2022 9:30 AM To: Nils Anders Danielsson; agda Subject: Re: [Agda] id number in html? The HTML backend also creates (HTML) identifiers based on the names of (Agda) identifiers: https://github.com/agda/agda/blob/6385f850a185523bb5241a71f5a7614a148f6b53/doc/release-notes/2.5.4.md#html-backend That?s what I remembered in older versions. Is it still the case in 2.6+? From: Nils Anders Danielsson Sent: Wednesday, June 8, 2022 8:09 AM To: Jason Hu; agda Subject: Re: [Agda] id number in html? On 2022-06-07 21:28, Jason Hu wrote: > When generating html files, Agda assigns an id to each definitions. > Now when we need to refer to that id from elsewhere, e.g. another > website, how stable can I assume this id to be? The identifiers correspond to file positions. > Is there a more recommended way to create links to an Agda html file? The HTML backend also creates (HTML) identifiers based on the names of (Agda) identifiers: https://github.com/agda/agda/blob/6385f850a185523bb5241a71f5a7614a148f6b53/doc/release-notes/2.5.4.md#html-backend The current naming scheme is a little buggy (https://github.com/agda/agda/issues/4653) and might change in the future. If you use this kind of link, then I suggest that you test that it points to the right thing. -- /NAD -------------- next part -------------- An HTML attachment was scrubbed... URL: From nad at cse.gu.se Wed Jun 8 20:42:39 2022 From: nad at cse.gu.se (Nils Anders Danielsson) Date: Wed, 8 Jun 2022 20:42:39 +0200 Subject: [Agda] id number in html? In-Reply-To: References: <119e5820-6a30-41db-910b-d7870e94ce6c@cse.gu.se> Message-ID: <1ee347a3-97f9-b8da-7868-5c4d78f2b1cf@cse.gu.se> On 2022-06-08 15:29, Jason Hu wrote: > That?s what I remembered in older versions. Is it still the case in 2.6+? At least in the latest release. -- /NAD From nad at cse.gu.se Wed Jun 8 20:46:02 2022 From: nad at cse.gu.se (Nils Anders Danielsson) Date: Wed, 8 Jun 2022 20:46:02 +0200 Subject: [Agda] id number in html? In-Reply-To: References: <119e5820-6a30-41db-910b-d7870e94ce6c@cse.gu.se> Message-ID: On 2022-06-08 15:34, Jason Hu wrote: > If I read your answer correctly, even comments will shift the id > number? Yes. Note that even comments get identifiers, so you can link to a comment. > Wouldn?t that be a bit fragile? Yes. > At this point, is there a way to use a different id scheme? Yes, the other scheme that I mentioned. -- /NAD From fdhzs2010 at hotmail.com Thu Jun 9 02:23:00 2022 From: fdhzs2010 at hotmail.com (Jason Hu) Date: Thu, 9 Jun 2022 00:23:00 +0000 Subject: [Agda] id number in html? In-Reply-To: References: <119e5820-6a30-41db-910b-d7870e94ce6c@cse.gu.se> Message-ID: Another question on html: is there a hook to add custom js file without resorting to external tools? From: Nils Anders Danielsson Sent: Wednesday, June 8, 2022 2:46 PM To: Jason Hu; agda Subject: Re: [Agda] id number in html? On 2022-06-08 15:34, Jason Hu wrote: > If I read your answer correctly, even comments will shift the id > number? Yes. Note that even comments get identifiers, so you can link to a comment. > Wouldn?t that be a bit fragile? Yes. > At this point, is there a way to use a different id scheme? Yes, the other scheme that I mentioned. -- /NAD -------------- next part -------------- An HTML attachment was scrubbed... URL: From h.basold at liacs.leidenuniv.nl Thu Jun 9 11:46:57 2022 From: h.basold at liacs.leidenuniv.nl (Henning Basold) Date: Thu, 9 Jun 2022 11:46:57 +0200 Subject: [Agda] Call for TYPES Steering Committee Nominations Message-ID: Dear colleagues, The steering committee of the TYPES conference series is looking for two new members to join us for three years, as the term of the elected members Andreas and Fr?d?ric is ending. There are interesting challenges for the future of our beloved TYPES conference, for which we need people with a heart and ideas for the conference series! For instance will we have to handle challenges arising from the growing size of the TYPES community, the need for conferences with online elements and other aspects of academic life. Please consider nominating someone or yourself to join the steering committee. If you nominate someone else, then please check beforehand whether that person is in principle willing to join the SC. We will hold the elections of the new members during the general assembly on 21 June during TYPES 2022 in Nantes. Every nominee should briefly introduce oneself during the general assembly. If a nominee cannot be present there, we can also set up a video call, play a recording or if neither is possible present some slides for the nominee. Please send nominations and requests for video calls/playback via email to Henning Basold before Tuesday, 21 June, 12:00 (CEST). Nominations of people present can also be placed during the general assembly. Keep in mind that last minute nominations do not allow the nominee to prepare themselves though. Please forward this call to anyone who might be interested in joining the TYPES SC. In particular, we could use a bit more diversity in the composition of our members! Kind regards, The TYPES SC ------------------- www.types.name -------------- next part -------------- A non-text attachment was scrubbed... Name: OpenPGP_signature Type: application/pgp-signature Size: 665 bytes Desc: OpenPGP digital signature URL: From nad at cse.gu.se Thu Jun 9 19:36:59 2022 From: nad at cse.gu.se (Nils Anders Danielsson) Date: Thu, 9 Jun 2022 19:36:59 +0200 Subject: [Agda] id number in html? In-Reply-To: References: <119e5820-6a30-41db-910b-d7870e94ce6c@cse.gu.se> Message-ID: <3661c3d4-865f-1f56-9f69-970b9153c933@cse.gu.se> On 2022-06-09 02:23, Jason Hu wrote: > Another question on html: is there a hook to add custom js file > without resorting to external tools? I don't think so, but perhaps the option --html-highlight=code could be of use for you: https://agda.readthedocs.io/en/latest/tools/generating-html.html -- /NAD From effectfully at gmail.com Sun Jun 12 18:12:20 2022 From: effectfully at gmail.com (Roman) Date: Sun, 12 Jun 2022 19:12:20 +0300 Subject: [Agda] An exercise in typing Message-ID: Hi, I stumbled upon a funny challenge some time ago and wanna share the essential part of it. Can you define `recN` that computes like this: recN 0 ~>* ? k f -> f recN 1 ~>* ? k f -> f (k ? x -> x) recN 2 ~>* ? k f -> f (k ? x y -> x) (k ? x y -> y) recN 3 ~>* ? k f -> f (k ? x y z -> x) (k ? x y z -> y) (k ? x y z -> z) ... where `x`, `y` and `z` all have different implicitly bound types. If that doesn't sound hard enough, here's an additional condition: don't use any `data` or `record` types (tuples included) apart from the type of natural numbers. If you're curious where the functions that `recN` computes to arise from, they're a part of the "Unraveling recursion: compiling an IR with recursion to System F" paper [1]. The challenge template with full details can be found here: https://github.com/effectfully/random-stuff/blob/master/RecN-challenge.agda Copy the file and replace postulate kitRecN : KitRecN with an actual definition of `kitRecN`. Hope I'm not alone thinking it's a funny challenge. -------------------- [1] https://files.zotero.net/eyJleHBpcmVzIjoxNjU1MDQzNzQ3LCJoYXNoIjoiNTUwYjc1ZjVkNGYyNzVlMjQ2OWNhMWIxYjUxODkyZTAiLCJjb250ZW50VHlwZSI6ImFwcGxpY2F0aW9uXC9wZGYiLCJjaGFyc2V0IjoiIiwiZmlsZW5hbWUiOiJLaXJlZXYgZXQgYWwuIC0gMjAxOSAtIFVucmF2ZWxpbmcgcmVjdXJzaW9uIGNvbXBpbGluZyBhbiBJUiB3aXRoIHJlY3Vyc2kucGRmIn0%3D/355301e3f049d523f8705af363927604bca986aed61c7c350fddc70a5e70f109/Kireev%20et%20al.%20-%202019%20-%20Unraveling%20recursion%20compiling%20an%20IR%20with%20recursi.pdf From fdhzs2010 at hotmail.com Sun Jun 12 20:35:33 2022 From: fdhzs2010 at hotmail.com (Jason Hu) Date: Sun, 12 Jun 2022 18:35:33 +0000 Subject: [Agda] An exercise in typing In-Reply-To: References: Message-ID: Hi Roman, Interesting challenge. I give my shot for the first part, which encodes the type of functions in this pattern. The idea is to use cps to avoid use of any data structure other than natural numbers: naryP : ? ? Set? naryP zero = Set naryP (suc n) = Set ? naryP n naryf-go : Set ? (Set ? Set) ? ? n ? naryP n naryf-go Q f zero = f Q naryf-go Q f (suc n) = ? A ? naryf-go Q (? x ? f (A ? x)) n naryf : Set ? ? n ? naryP n naryf Q n = naryf-go Q (? x ? x) n RecN-go : ? n ? (Set ? naryP n) ? Set? RecN-go zero f = {R : Set} ? ({Q : Set} ? f Q ? Q) ? f R ? R RecN-go (suc n) f = {A : Set} ? RecN-go n ? R ? f R A RecN : ? ? Set? RecN n = RecN-go n ? Q ? naryf Q n I believe the body can be implemented in a similar manner. From: Roman Sent: Sunday, June 12, 2022 12:12 PM To: Agda Subject: [Agda] An exercise in typing Hi, I stumbled upon a funny challenge some time ago and wanna share the essential part of it. Can you define `recN` that computes like this: recN 0 ~>* ? k f -> f recN 1 ~>* ? k f -> f (k ? x -> x) recN 2 ~>* ? k f -> f (k ? x y -> x) (k ? x y -> y) recN 3 ~>* ? k f -> f (k ? x y z -> x) (k ? x y z -> y) (k ? x y z -> z) ... where `x`, `y` and `z` all have different implicitly bound types. If that doesn't sound hard enough, here's an additional condition: don't use any `data` or `record` types (tuples included) apart from the type of natural numbers. If you're curious where the functions that `recN` computes to arise from, they're a part of the "Unraveling recursion: compiling an IR with recursion to System F" paper [1]. The challenge template with full details can be found here: https://github.com/effectfully/random-stuff/blob/master/RecN-challenge.agda Copy the file and replace postulate kitRecN : KitRecN with an actual definition of `kitRecN`. Hope I'm not alone thinking it's a funny challenge. -------------------- [1] https://files.zotero.net/eyJleHBpcmVzIjoxNjU1MDQzNzQ3LCJoYXNoIjoiNTUwYjc1ZjVkNGYyNzVlMjQ2OWNhMWIxYjUxODkyZTAiLCJjb250ZW50VHlwZSI6ImFwcGxpY2F0aW9uXC9wZGYiLCJjaGFyc2V0IjoiIiwiZmlsZW5hbWUiOiJLaXJlZXYgZXQgYWwuIC0gMjAxOSAtIFVucmF2ZWxpbmcgcmVjdXJzaW9uIGNvbXBpbGluZyBhbiBJUiB3aXRoIHJlY3Vyc2kucGRmIn0%3D/355301e3f049d523f8705af363927604bca986aed61c7c350fddc70a5e70f109/Kireev%20et%20al.%20-%202019%20-%20Unraveling%20recursion%20compiling%20an%20IR%20with%20recursi.pdf _______________________________________________ Agda mailing list Agda at lists.chalmers.se https://lists.chalmers.se/mailman/listinfo/agda -------------- next part -------------- An HTML attachment was scrubbed... URL: From effectfully at gmail.com Sun Jun 12 20:44:34 2022 From: effectfully at gmail.com (Roman) Date: Sun, 12 Jun 2022 21:44:34 +0300 Subject: [Agda] An exercise in typing In-Reply-To: References: Message-ID: Hi Jason. the body is the real challenge, `RecN` is a warm-up :) From ulf.norell at gmail.com Mon Jun 13 13:34:46 2022 From: ulf.norell at gmail.com (Ulf Norell) Date: Mon, 13 Jun 2022 13:34:46 +0200 Subject: [Agda] An exercise in typing In-Reply-To: References: Message-ID: Nice. Here's my solution: https://gist.github.com/UlfNorell/aed09c281d1f6c515be4316a7a48874d I found constructing the first argument to f in the recursive step to be the trickiest part. / Ulf On Sun, Jun 12, 2022 at 8:44 PM Roman wrote: > Hi Jason. > > the body is the real challenge, `RecN` is a warm-up :) > _______________________________________________ > Agda mailing list > Agda at lists.chalmers.se > https://lists.chalmers.se/mailman/listinfo/agda > -------------- next part -------------- An HTML attachment was scrubbed... URL: From effectfully at gmail.com Mon Jun 13 15:08:11 2022 From: effectfully at gmail.com (Roman) Date: Mon, 13 Jun 2022 16:08:11 +0300 Subject: [Agda] An exercise in typing In-Reply-To: References: Message-ID: Ulf, that's a cool solution. I simplified it a little by dropping the second argument from `forallN`: https://gist.github.com/effectfully/dab7fd1ad7c15d81d386f1aef6632725 (it doesn't really simplify the logic, just the appearance) If you feel like doing another version of the challenge, it's possible to solve it by recursing on `n` only once at the term level, rather than twice in quadratic fashion (you do `mapForallN n` at each recursive step). Not that it matters though. Great solution! From ulf.norell at gmail.com Mon Jun 13 15:16:37 2022 From: ulf.norell at gmail.com (Ulf Norell) Date: Mon, 13 Jun 2022 15:16:37 +0200 Subject: [Agda] An exercise in typing In-Reply-To: References: Message-ID: Ah, nice. You actually only need `const` in mapForallN. When I realised I needed it I added it where it would provide the most power :-) / Ulf On Mon, Jun 13, 2022 at 3:08 PM Roman wrote: > Ulf, that's a cool solution. > > I simplified it a little by dropping the second argument from > `forallN`: > https://gist.github.com/effectfully/dab7fd1ad7c15d81d386f1aef6632725 > > (it doesn't really simplify the logic, just the appearance) > > If you feel like doing another version of the challenge, it's possible > to solve it by recursing on `n` only once at the term level, rather > than twice in quadratic fashion (you do `mapForallN n` at each > recursive step). Not that it matters though. > > Great solution! > -------------- next part -------------- An HTML attachment was scrubbed... URL: From effectfully at gmail.com Mon Jun 13 16:57:17 2022 From: effectfully at gmail.com (Roman) Date: Mon, 13 Jun 2022 17:57:17 +0300 Subject: [Agda] An exercise in typing In-Reply-To: References: Message-ID: Ah, right, your original version is more expressive indeed. Thanks! From ifl21.publicity at gmail.com Mon Jun 13 22:25:13 2022 From: ifl21.publicity at gmail.com (Pieter Koopman) Date: Mon, 13 Jun 2022 13:25:13 -0700 Subject: [Agda] CALL FOR PAPERS - IFL22 - The 34th Symposium on Implementation and Application of Functional Languages Message-ID: *CALL FOR PAPERS - The 34th Symposium on Implementation and Application of Functional Languages* *Important dates* Draft paper submission: 7th of August 2022 Draft paper notification: 9th of August 2022 Registration deadline: 12th of August 2022 Symposium: 31th of August to 2nd of September *Scope* The goal of the IFL symposia is to bring together researchers actively engaged in the implementation and application of functional and function-based programming languages. IFL 2022 will be a venue for researchers to present and discuss new ideas and concepts, work in progress, and publication-ripe results related to the implementation and application of functional languages and function-based programming. Topics of interest to IFL include, but are not limited to: * language concepts * type systems, type checking, type inferencing * compilation techniques * staged compilation * run-time function specialization * run-time code generation * partial evaluation * abstract interpretation * metaprogramming * generic programming * automatic program generation * array processing * concurrent/parallel programming * concurrent/parallel program execution * embedded systems * web applications * embedded domain specific languages * security * novel memory management techniques * run-time profiling performance measurements * debugging and tracing * virtual/abstract machine architectures * validation, verification of functional programs * tools and programming techniques * industrial applications *Submissions and peer-review* Following IFL tradition, IFL 2022 will use a post-symposium review process to produce the formal proceedings. Before the symposium authors submit draft papers. These draft papers will be screened by the program chair to make sure that they are within the scope of IFL. The draft papers will be made available to all participants at the symposium. Each draft paper is presented by one of the authors at the symposium. After the symposium, a formal review process will take place, conducted by the program committee. Reviewing is single blind. There will be at least 3 reviews per paper. The reviewers have 6 weeks to write their reviews. For the camera-ready version the authors can make minor revisions which are accepted without further reviewing. *Where* IFL 2022 will be held physically in Copenhagen, Denmark, arranged by DIKU at the University of Copenhagen. See the IFL 2022 website at https://ifl22.github.io/ for more information. [image: beacon] -------------- next part -------------- An HTML attachment was scrubbed... URL: From frederic.blanqui at inria.fr Sat Jun 18 12:21:43 2022 From: frederic.blanqui at inria.fr (=?UTF-8?B?RnLDqWTDqXJpYyBCbGFucXVp?=) Date: Sat, 18 Jun 2022 12:21:43 +0200 Subject: [Agda] Release of Dkcheck 2.7, a type-checker for Dedukti files In-Reply-To: <6c89b402-688f-601e-1835-bb31abc4f7ed@inria.fr> References: <6c89b402-688f-601e-1835-bb31abc4f7ed@inria.fr> Message-ID: <995ee160-d295-f615-c386-f7e789e5e930@inria.fr> Deducteam is very pleased to announce the availability of Dkcheck 2.7 on Opam. Dkcheck is a type checker for Dedukti files (extension .dk). Dedukti is a language implementing the ??-calculus modulo rewriting, a powerful logical framework in which one can easily represent the propositions/types and proofs/terms of many logical/type systems like first and higher-order logic, pure type systems, etc. and thus use it as an intermediate language for translating proofs from one system to the other. There exists many tools generating Dedukti files from automated provers (ZenonModulo, ArchSAT, iProverModulo), TSTP files (Ekstrakto) or from interactive theorem provers like: https://github.com/Deducteam/isabelle_dedukti for translating an Isabelle session to a Dedukti file https://github.com/Deducteam/Agda2Dedukti for translating Agda files to Dedukti files https://github.com/Deducteam/CoqInE for translating Coq files to Dedukti files Conversely, there are tools generating code for Coq, Lean, PVS, OpenTheory or Agda from Dedukti files. Find more details on https://deducteam.github.io/ and https://github.com/orgs/Deducteam/repositories. The source code and installation instructions of Dkcheck are available on https://github.com/Deducteam/dedukti. To learn more on Dedukti, you can come to the 1st Dedukti school in Nantes, France, on June 24-25 (https://europroofnet.github.io/dedukti-school-2022/). Best regards, Fr?d?ric Blanqui, chair of https://europroofnet.github.io/. From bove at chalmers.se Mon Jun 20 15:50:46 2022 From: bove at chalmers.se (Ana Bove) Date: Mon, 20 Jun 2022 15:50:46 +0200 Subject: [Agda] Last call for participation: Workshop in honour of Thierry Coquand's 60th birthday In-Reply-To: References: Message-ID: <09434988-b7a7-4cf7-2de3-73964f9a18f3@chalmers.se> Dear all, Just a reminder that if you would like to attend the workshop in honour of Thierry Coquand on 24?26 August 2022 you need to *register on June 30th at the latest*. Registration form is available from the event's web pages: https://tc60.cse.chalmers.se/ Best On 2022-05-11 15:05, Ana Bove wrote: > Thierry Coquand, professor at the University of Gothenburg in Sweden, > had his 60th birthday on 18 April 2021. We are organizing a scientific > meeting to celebrate him and his seminal contributions to mathematical > logic, constructive mathematics, theoretical computer science, and the > development of proof assistants for type theory. The celebration was > originally planned to take place in direct connection with Thierry?s > birthday, but had to be postponed several times because of the pandemic. > > The meeting will take place in Gothenburg on 24?26 August 2022, and is > open to everyone who wants to join the celebration. It is free of > charge, except that participants who wish to join the banquet in the > evening on Thursday 25th of August have to pay their bill directly to > the restaurant. Participants are also asked to arrange their own > travel and accommodation. > > For more information about the meeting please visit the workshop's > page at https://tc60.cse.chalmers.se/. > > If you plan to attend the meeting, we kindly ask you to fill in the > registration form (available from the link above) by June 30th at the > latest so we can plan catering and dinner. > > Sincerely, the organising committee > Andreas Abel, Ana Bove, Peter Dybjer, Peter LeFanu Lumsdaine and > Anders M?rtberg > > > -- -- Ana Bove, Docent email: bove(at)chalmers.se Phone: (46)(31)7721020 http://www.cse.chalmers.se/~bove Department of Computer Science and Engineering Chalmers Univ. of Technology and Univ. of Gothenburg -------------- next part -------------- An HTML attachment was scrubbed... URL: From effectfully at gmail.com Tue Jun 21 04:05:48 2022 From: effectfully at gmail.com (Roman) Date: Tue, 21 Jun 2022 04:05:48 +0200 Subject: [Agda] An exercise in typing In-Reply-To: References: Message-ID: It's been a week, so here's my solution that recurses on `n` once at the term level: https://gist.github.com/effectfully/790fe6549a0ccc519bda4b9680b63b67 Hope it was a funny little puzzle. From kaposi.ambrus at gmail.com Sun Jun 26 23:33:21 2022 From: kaposi.ambrus at gmail.com (Ambrus Kaposi) Date: Sun, 26 Jun 2022 23:33:21 +0200 Subject: [Agda] Call for STSMs, deadline 1 July 2022 In-Reply-To: References: Message-ID: COST Action CA20111 EuroProofNet Open call for Short-Term Scientific Missions (STSMs) Dear Action members, The next STSM deadline is: 1st July 2022 Notification: 8th July. We are especially looking for applications from WG4 on the construction, management and (re)use of big libraries of formal proofs *What is an STSM?* A Short-Term Scientific Mission (STSM) is a research visit of an individual researcher from a country participating in the Action in a different country also participating in the Action. We encourage STSMs, as they are an effective way of starting and maintaining collaborations. Find all the details concerning application on https://europroofnet.github.io/grants . Write an email to us if you have any questions.Best wishes, Danijela Simic and Ambrus Kaposi EuroProofNet STSM Coordinators -------------- next part -------------- An HTML attachment was scrubbed... URL: From arseniy.alekseyev at gmail.com Sun Jun 26 23:44:10 2022 From: arseniy.alekseyev at gmail.com (Arseniy Alekseyev) Date: Sun, 26 Jun 2022 22:44:10 +0100 Subject: [Agda] An exercise in typing In-Reply-To: References: Message-ID: An "object-oriented" [1] solution: https://gist.github.com/Rotsor/136dd9585b73495c7fd27d6d415b15b4 (still using lists, so doesn't solve the "hard" problem) [1] Object = ? Set (? A ? A) :-) On Tue, 21 Jun 2022 at 03:05, Roman wrote: > It's been a week, so here's my solution that recurses on `n` once at > the term level: > https://gist.github.com/effectfully/790fe6549a0ccc519bda4b9680b63b67 > > Hope it was a funny little puzzle. > _______________________________________________ > Agda mailing list > Agda at lists.chalmers.se > https://lists.chalmers.se/mailman/listinfo/agda > -------------- next part -------------- An HTML attachment was scrubbed... URL: From wadler at inf.ed.ac.uk Tue Jun 28 02:02:30 2022 From: wadler at inf.ed.ac.uk (Philip Wadler) Date: Mon, 27 Jun 2022 21:02:30 -0300 Subject: [Agda] Version mixup Message-ID: I've installed a new version of Agda (2.6.2.2), but emacs agda mode keeps using an older version (2.6.1.1). Using the "Switch to another version of Agda" option with Version 2.6.2.2 gives the error message: Could not find agda-mode-2.6.2.2 Any suggestions on how to fix? Or on what information I could provide that would help someone track down the problem? (Dumping the entire state of my laptop seems excessive ...) Thank you for your help. Go well, -- p . \ Philip Wadler, Professor of Theoretical Computer Science, . /\ School of Informatics, University of Edinburgh . / \ and Senior Research Fellow, IOHK . http://homepages.inf.ed.ac.uk/wadler/ The University of Edinburgh is a charitable body, registered in Scotland, with registration number SC005336. Is e buidheann carthannais a th? ann an Oilthigh Dh?n ?ideann, cl?raichte an Alba, ?ireamh cl?raidh SC005336. -------------- next part -------------- An HTML attachment was scrubbed... URL: From nad at cse.gu.se Tue Jun 28 11:56:42 2022 From: nad at cse.gu.se (Nils Anders Danielsson) Date: Tue, 28 Jun 2022 11:56:42 +0200 Subject: [Agda] Version mixup In-Reply-To: References: Message-ID: On 2022-06-28 02:02, Philip Wadler wrote: > I've installed a new version of Agda (2.6.2.2), but emacs agda mode > keeps using an older version (2.6.1.1). Perhaps the binaries for Agda 2.6.2.2 did not end up on your PATH. > Using the "Switch to another version of Agda" option with Version > 2.6.2.2 gives the error message: > Could not find agda-mode-2.6.2.2 This command looks for "agda-mode-". If you want to use this command, then you can for instance install Agda using something like "cabal install Agda-2.6.2.2 --program-suffix=-2.6.2.2" (assuming that the binaries end up on your PATH). Note that the Emacs mode by default uses "agda-mode", without a suffix, even if you used the "Switch to another version of Agda" command the last time you used Emacs. -- /NAD From wadler at inf.ed.ac.uk Tue Jun 28 17:20:11 2022 From: wadler at inf.ed.ac.uk (Philip Wadler) Date: Tue, 28 Jun 2022 12:20:11 -0300 Subject: [Agda] Version mixup In-Reply-To: References: Message-ID: Thanks! I tried what you suggested, but am still getting the same error message. Could not find agda-mode-2.6.2.2 Listing from the call to cabal appears below, for completeness, along with my current $PATH. Any help gratefully received! Go well, -- P Last login: Mon Jun 27 20:55:02 on ttys000 rambla$ cabal install Agda-2.6.2.2 --program-suffix=-2.6.2.2 Resolving dependencies... Build profile: -w ghc-8.10.7 -O1 In order, the following will be built (use -v for more details): - STMonadTrans-0.4.6 (lib) (requires build) - boxes-0.1.5 (lib) (requires build) - edit-distance-0.2.2.1 (lib) (requires build) - data-hash-0.2.0.1 (lib) (requires build) - gitrev-1.3.1 (lib) (requires build) - hashtables-1.3 (lib) (requires build) - alex-3.2.7.1 (exe:alex) (requires build) - murmur-hash-0.1.0.10 (lib) (requires build) - parallel-3.2.2.0 (lib) (requires build) - uri-encode-1.5.0.7 (lib) (requires build) - regex-base-0.94.0.2 (lib) (requires build) - aeson-2.1.0.0 (lib) (requires build) - transformers-base-0.4.6 (lib) (requires build) - equivalence-0.4.0.1 (lib) (requires build) - regex-tdfa-1.3.1.2 (lib) (requires build) - monad-control-1.0.3.1 (lib) (requires build) - Agda-2.6.2.2 (lib:Agda, exe:agda, exe:agda-mode) (requires build) Starting boxes-0.1.5 (lib) Starting STMonadTrans-0.4.6 (lib) Starting edit-distance-0.2.2.1 (lib) Starting data-hash-0.2.0.1 (lib) Building STMonadTrans-0.4.6 (lib) Building boxes-0.1.5 (lib) Building edit-distance-0.2.2.1 (lib) Building data-hash-0.2.0.1 (lib) Haddock boxes-0.1.5 (lib) Haddock data-hash-0.2.0.1 (lib) Installing boxes-0.1.5 (lib) Completed boxes-0.1.5 (lib) Starting gitrev-1.3.1 (lib) Installing data-hash-0.2.0.1 (lib) Completed data-hash-0.2.0.1 (lib) Starting hashtables-1.3 (lib) Building gitrev-1.3.1 (lib) Building hashtables-1.3 (lib) Haddock gitrev-1.3.1 (lib) Haddock STMonadTrans-0.4.6 (lib) Installing gitrev-1.3.1 (lib) Haddock edit-distance-0.2.2.1 (lib) Completed gitrev-1.3.1 (lib) Starting alex-3.2.7.1 (exe:alex) Installing STMonadTrans-0.4.6 (lib) Installing edit-distance-0.2.2.1 (lib) Completed STMonadTrans-0.4.6 (lib) Starting murmur-hash-0.1.0.10 (lib) Completed edit-distance-0.2.2.1 (lib) Starting parallel-3.2.2.0 (lib) Building alex-3.2.7.1 (exe:alex) Building murmur-hash-0.1.0.10 (lib) Building parallel-3.2.2.0 (lib) Haddock murmur-hash-0.1.0.10 (lib) Installing murmur-hash-0.1.0.10 (lib) Completed murmur-hash-0.1.0.10 (lib) Starting uri-encode-1.5.0.7 (lib) Haddock parallel-3.2.2.0 (lib) Building uri-encode-1.5.0.7 (lib) Installing parallel-3.2.2.0 (lib) Completed parallel-3.2.2.0 (lib) Starting regex-base-0.94.0.2 (lib) Haddock uri-encode-1.5.0.7 (lib) Installing uri-encode-1.5.0.7 (lib) Building regex-base-0.94.0.2 (lib) Completed uri-encode-1.5.0.7 (lib) Starting aeson-2.1.0.0 (lib) Building aeson-2.1.0.0 (lib) Installing alex-3.2.7.1 (exe:alex) Completed alex-3.2.7.1 (exe:alex) Starting transformers-base-0.4.6 (lib) Building transformers-base-0.4.6 (lib) Haddock regex-base-0.94.0.2 (lib) Installing regex-base-0.94.0.2 (lib) Haddock transformers-base-0.4.6 (lib) Completed regex-base-0.94.0.2 (lib) Starting equivalence-0.4.0.1 (lib) Installing transformers-base-0.4.6 (lib) Completed transformers-base-0.4.6 (lib) Starting regex-tdfa-1.3.1.2 (lib) Building equivalence-0.4.0.1 (lib) Haddock hashtables-1.3 (lib) Building regex-tdfa-1.3.1.2 (lib) Installing hashtables-1.3 (lib) Completed hashtables-1.3 (lib) Starting monad-control-1.0.3.1 (lib) Building monad-control-1.0.3.1 (lib) Haddock equivalence-0.4.0.1 (lib) Installing equivalence-0.4.0.1 (lib) Completed equivalence-0.4.0.1 (lib) Haddock monad-control-1.0.3.1 (lib) Installing monad-control-1.0.3.1 (lib) Completed monad-control-1.0.3.1 (lib) Haddock regex-tdfa-1.3.1.2 (lib) Installing regex-tdfa-1.3.1.2 (lib) Completed regex-tdfa-1.3.1.2 (lib) Haddock aeson-2.1.0.0 (lib) Installing aeson-2.1.0.0 (lib) Completed aeson-2.1.0.0 (lib) Starting Agda-2.6.2.2 (all, legacy fallback) Building Agda-2.6.2.2 (all, legacy fallback) Haddock Agda-2.6.2.2 (all, legacy fallback) Installing Agda-2.6.2.2 (all, legacy fallback) Completed Agda-2.6.2.2 (all, legacy fallback) Symlinking 'agda' to '/Users/wadler/.cabal/bin/agda-2.6.2.2' Symlinking 'agda-mode' to '/Users/wadler/.cabal/bin/agda-mode-2.6.2.2' rambla$ agda --version Agda version 2.6.2.2 rambla$ echo $PATH /Users/wadler/.rbenv/shims:/Users/wadler/.cabal/bin:/Users/wadler/.ghcup/bin:/usr/local/opt/ruby/bin:/usr/local/lib/ruby/gems/3.0.0/bin:/Users/wadler/.local/bin:/Users/wadler/.ghcup/env:/usr/texbin:/opt/local/bin:/opt/local/sbin:/usr/local/go/bin/:/Users/wadler/.elan/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/TeX/texbin:/usr/local/go/bin:/usr/local/MacGPG2/bin:/Library/Apple/usr/bin:/usr/local/pgsql/bin:/Applications/PLT Scheme v4.1.3/bin:/Users/wadler/Library/Haskell/ghc-7.6.3/lib/lhs2tex-1.18.1/bin:/Applications/sbt/bin/:/Users/wadler/Library/Haskell/ghc-8.2.2/lib/happy-1.19.8/bin:/Users/wadler/Library/Haskell/ghc-8.2.2/lib/alex-3.2.3/bin:/Applications/CoqIDE_8.10.2.app/Contents/Resources/bin/: rambla$ . \ Philip Wadler, Professor of Theoretical Computer Science, . /\ School of Informatics, University of Edinburgh . / \ and Senior Research Fellow, IOHK . http://homepages.inf.ed.ac.uk/wadler/ On Tue, 28 Jun 2022 at 06:56, Nils Anders Danielsson > wrote: This email was sent to you by someone outside the University. You should only click on links or attachments if you are certain that the email is genuine and the content is safe. On 2022-06-28 02:02, Philip Wadler wrote: > I've installed a new version of Agda (2.6.2.2), but emacs agda mode > keeps using an older version (2.6.1.1). Perhaps the binaries for Agda 2.6.2.2 did not end up on your PATH. > Using the "Switch to another version of Agda" option with Version > 2.6.2.2 gives the error message: > Could not find agda-mode-2.6.2.2 This command looks for "agda-mode-". If you want to use this command, then you can for instance install Agda using something like "cabal install Agda-2.6.2.2 --program-suffix=-2.6.2.2" (assuming that the binaries end up on your PATH). Note that the Emacs mode by default uses "agda-mode", without a suffix, even if you used the "Switch to another version of Agda" command the last time you used Emacs. -- /NAD The University of Edinburgh is a charitable body, registered in Scotland, with registration number SC005336. Is e buidheann carthannais a th? ann an Oilthigh Dh?n ?ideann, cl?raichte an Alba, ?ireamh cl?raidh SC005336. -------------- next part -------------- An HTML attachment was scrubbed... URL: From fdhzs2010 at hotmail.com Tue Jun 28 17:48:53 2022 From: fdhzs2010 at hotmail.com (Jason Hu) Date: Tue, 28 Jun 2022 15:48:53 +0000 Subject: [Agda] Version mixup In-Reply-To: References: Message-ID: Hi Phil, Maybe you can check what is the current version of your agda-mode? Just to provide another perspective, I have done the following and I have multiple versions of Agda running. So far I have experienced no problem with different Agda versions: 1. In Agda?s git repo, switch to the version you want to install. 2. Install Agda using `stack install`. 3. Stack will put all Agda binaries in ~/.local/bin. Remember to add this path to $PATH if it?s not already there. Also remember to add it to Emacs? path. 4. Go to ~/.local/bin and copy agda to agda-VERSION and agda-mode to agda-mode-VERSION. 5. Then you can switch among versions in Emacs. 6. As a bonus, you can also setup libraries file in ~/.agda so that different Agda version looks up different libraries. Thanks, Jason From: Philip Wadler Sent: Tuesday, June 28, 2022 11:21 AM To: Nils Anders Danielsson Cc: Agda mailing list Subject: Re: [Agda] Version mixup Thanks! I tried what you suggested, but am still getting the same error message. Could not find agda-mode-2.6.2.2 Listing from the call to cabal appears below, for completeness, along with my current $PATH. Any help gratefully received! Go well, -- P Last login: Mon Jun 27 20:55:02 on ttys000 rambla$ cabal install Agda-2.6.2.2 --program-suffix=-2.6.2.2 Resolving dependencies... Build profile: -w ghc-8.10.7 -O1 In order, the following will be built (use -v for more details): - STMonadTrans-0.4.6 (lib) (requires build) - boxes-0.1.5 (lib) (requires build) - edit-distance-0.2.2.1 (lib) (requires build) - data-hash-0.2.0.1 (lib) (requires build) - gitrev-1.3.1 (lib) (requires build) - hashtables-1.3 (lib) (requires build) - alex-3.2.7.1 (exe:alex) (requires build) - murmur-hash-0.1.0.10 (lib) (requires build) - parallel-3.2.2.0 (lib) (requires build) - uri-encode-1.5.0.7 (lib) (requires build) - regex-base-0.94.0.2 (lib) (requires build) - aeson-2.1.0.0 (lib) (requires build) - transformers-base-0.4.6 (lib) (requires build) - equivalence-0.4.0.1 (lib) (requires build) - regex-tdfa-1.3.1.2 (lib) (requires build) - monad-control-1.0.3.1 (lib) (requires build) - Agda-2.6.2.2 (lib:Agda, exe:agda, exe:agda-mode) (requires build) Starting boxes-0.1.5 (lib) Starting STMonadTrans-0.4.6 (lib) Starting edit-distance-0.2.2.1 (lib) Starting data-hash-0.2.0.1 (lib) Building STMonadTrans-0.4.6 (lib) Building boxes-0.1.5 (lib) Building edit-distance-0.2.2.1 (lib) Building data-hash-0.2.0.1 (lib) Haddock boxes-0.1.5 (lib) Haddock data-hash-0.2.0.1 (lib) Installing boxes-0.1.5 (lib) Completed boxes-0.1.5 (lib) Starting gitrev-1.3.1 (lib) Installing data-hash-0.2.0.1 (lib) Completed data-hash-0.2.0.1 (lib) Starting hashtables-1.3 (lib) Building gitrev-1.3.1 (lib) Building hashtables-1.3 (lib) Haddock gitrev-1.3.1 (lib) Haddock STMonadTrans-0.4.6 (lib) Installing gitrev-1.3.1 (lib) Haddock edit-distance-0.2.2.1 (lib) Completed gitrev-1.3.1 (lib) Starting alex-3.2.7.1 (exe:alex) Installing STMonadTrans-0.4.6 (lib) Installing edit-distance-0.2.2.1 (lib) Completed STMonadTrans-0.4.6 (lib) Starting murmur-hash-0.1.0.10 (lib) Completed edit-distance-0.2.2.1 (lib) Starting parallel-3.2.2.0 (lib) Building alex-3.2.7.1 (exe:alex) Building murmur-hash-0.1.0.10 (lib) Building parallel-3.2.2.0 (lib) Haddock murmur-hash-0.1.0.10 (lib) Installing murmur-hash-0.1.0.10 (lib) Completed murmur-hash-0.1.0.10 (lib) Starting uri-encode-1.5.0.7 (lib) Haddock parallel-3.2.2.0 (lib) Building uri-encode-1.5.0.7 (lib) Installing parallel-3.2.2.0 (lib) Completed parallel-3.2.2.0 (lib) Starting regex-base-0.94.0.2 (lib) Haddock uri-encode-1.5.0.7 (lib) Installing uri-encode-1.5.0.7 (lib) Building regex-base-0.94.0.2 (lib) Completed uri-encode-1.5.0.7 (lib) Starting aeson-2.1.0.0 (lib) Building aeson-2.1.0.0 (lib) Installing alex-3.2.7.1 (exe:alex) Completed alex-3.2.7.1 (exe:alex) Starting transformers-base-0.4.6 (lib) Building transformers-base-0.4.6 (lib) Haddock regex-base-0.94.0.2 (lib) Installing regex-base-0.94.0.2 (lib) Haddock transformers-base-0.4.6 (lib) Completed regex-base-0.94.0.2 (lib) Starting equivalence-0.4.0.1 (lib) Installing transformers-base-0.4.6 (lib) Completed transformers-base-0.4.6 (lib) Starting regex-tdfa-1.3.1.2 (lib) Building equivalence-0.4.0.1 (lib) Haddock hashtables-1.3 (lib) Building regex-tdfa-1.3.1.2 (lib) Installing hashtables-1.3 (lib) Completed hashtables-1.3 (lib) Starting monad-control-1.0.3.1 (lib) Building monad-control-1.0.3.1 (lib) Haddock equivalence-0.4.0.1 (lib) Installing equivalence-0.4.0.1 (lib) Completed equivalence-0.4.0.1 (lib) Haddock monad-control-1.0.3.1 (lib) Installing monad-control-1.0.3.1 (lib) Completed monad-control-1.0.3.1 (lib) Haddock regex-tdfa-1.3.1.2 (lib) Installing regex-tdfa-1.3.1.2 (lib) Completed regex-tdfa-1.3.1.2 (lib) Haddock aeson-2.1.0.0 (lib) Installing aeson-2.1.0.0 (lib) Completed aeson-2.1.0.0 (lib) Starting Agda-2.6.2.2 (all, legacy fallback) Building Agda-2.6.2.2 (all, legacy fallback) Haddock Agda-2.6.2.2 (all, legacy fallback) Installing Agda-2.6.2.2 (all, legacy fallback) Completed Agda-2.6.2.2 (all, legacy fallback) Symlinking 'agda' to '/Users/wadler/.cabal/bin/agda-2.6.2.2' Symlinking 'agda-mode' to '/Users/wadler/.cabal/bin/agda-mode-2.6.2.2' rambla$ agda --version Agda version 2.6.2.2 rambla$ echo $PATH /Users/wadler/.rbenv/shims:/Users/wadler/.cabal/bin:/Users/wadler/.ghcup/bin:/usr/local/opt/ruby/bin:/usr/local/lib/ruby/gems/3.0.0/bin:/Users/wadler/.local/bin:/Users/wadler/.ghcup/env:/usr/texbin:/opt/local/bin:/opt/local/sbin:/usr/local/go/bin/:/Users/wadler/.elan/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/TeX/texbin:/usr/local/go/bin:/usr/local/MacGPG2/bin:/Library/Apple/usr/bin:/usr/local/pgsql/bin:/Applications/PLT Scheme v4.1.3/bin:/Users/wadler/Library/Haskell/ghc-7.6.3/lib/lhs2tex-1.18.1/bin:/Applications/sbt/bin/:/Users/wadler/Library/Haskell/ghc-8.2.2/lib/happy-1.19.8/bin:/Users/wadler/Library/Haskell/ghc-8.2.2/lib/alex-3.2.3/bin:/Applications/CoqIDE_8.10.2.app/Contents/Resources/bin/: rambla$ . \ Philip Wadler, Professor of Theoretical Computer Science, . /\ School of Informatics, University of Edinburgh . / \ and Senior Research Fellow, IOHK . http://homepages.inf.ed.ac.uk/wadler/ On Tue, 28 Jun 2022 at 06:56, Nils Anders Danielsson > wrote: This email was sent to you by someone outside the University. You should only click on links or attachments if you are certain that the email is genuine and the content is safe. On 2022-06-28 02:02, Philip Wadler wrote: > I've installed a new version of Agda (2.6.2.2), but emacs agda mode > keeps using an older version (2.6.1.1). Perhaps the binaries for Agda 2.6.2.2 did not end up on your PATH. > Using the "Switch to another version of Agda" option with Version > 2.6.2.2 gives the error message: > Could not find agda-mode-2.6.2.2 This command looks for "agda-mode-". If you want to use this command, then you can for instance install Agda using something like "cabal install Agda-2.6.2.2 --program-suffix=-2.6.2.2" (assuming that the binaries end up on your PATH). Note that the Emacs mode by default uses "agda-mode", without a suffix, even if you used the "Switch to another version of Agda" command the last time you used Emacs. -- /NAD The University of Edinburgh is a charitable body, registered in Scotland, with registration number SC005336. Is e buidheann carthannais a th? ann an Oilthigh Dh?n ?ideann, cl?raichte an Alba, ?ireamh cl?raidh SC005336. -------------- next part -------------- An HTML attachment was scrubbed... URL: From nad at cse.gu.se Tue Jun 28 21:38:44 2022 From: nad at cse.gu.se (Nils Anders Danielsson) Date: Tue, 28 Jun 2022 21:38:44 +0200 Subject: [Agda] Version mixup In-Reply-To: References: Message-ID: <626fe253-609f-5092-49fd-7bf33e808044@cse.gu.se> On 2022-06-28 17:20, Philip Wadler wrote: > Thanks! I tried what you suggested, but am still getting the same > error message. > > Could not find agda-mode-2.6.2.2 > > Listing from the call to cabal appears below, for completeness, along > with my current $PATH. Please also check what the value of the Emacs variable exec-path is: C-h v exec-path RET -- /NAD From wadler at inf.ed.ac.uk Wed Jun 29 01:16:59 2022 From: wadler at inf.ed.ac.uk (Philip Wadler) Date: Tue, 28 Jun 2022 20:16:59 -0300 Subject: [Agda] Version mixup In-Reply-To: <626fe253-609f-5092-49fd-7bf33e808044@cse.gu.se> References: <626fe253-609f-5092-49fd-7bf33e808044@cse.gu.se> Message-ID: Aha! I wondered how to check what path Emacs is using. Answer below. Thank you for your help! Go well, -- P exec-path is a variable defined in ?C source code?. Its value is ("/Users/wadler/.elan/bin" "/usr/local/bin" "/usr/bin" "/bin" "/usr/sbin" "/sbin" "/Library/TeX/texbin" "/usr/local/go/bin" "/usr/local/MacGPG2/bin" "/Library/Apple/usr/bin" "/usr/bin" "/bin" "/usr/sbin" "/sbin" "/Applications/Aquamacs.app/Contents/MacOS/libexec" "/Applications/Aquamacs.app/Contents/MacOS/bin" "/usr/texbin" "/usr/local/texlive/2022/bin" "/usr/local/texlive/2021/bin" "/usr/local/texlive/2019/bin" "/usr/local/texlive/2008/bin") Original value was ("/Users/wadler/.elan/bin" "/usr/local/bin" "/usr/bin" "/bin" "/usr/sbin" "/sbin" "/Library/TeX/texbin" "/usr/local/go/bin" "/usr/local/MacGPG2/bin" "/Library/Apple/usr/bin" "/usr/bin" "/bin" "/usr/sbin" "/sbin" "/usr/texbin" "/Library/TeX/texbin" "/usr/local/texlive/2022/bin" "/usr/local/texlive/2021/bin" "/usr/local/texlive/2019/bin" "/usr/local/texlive/2008/bin" "/Applications/Aquamacs.app/Contents/MacOS/libexec") This variable may be risky if used as a file-local variable. Documentation: List of directories to search programs to run in subprocesses. Each element is a string (directory name) or nil (try default directory). By default the last element of this list is ?exec-directory?. The last element is not always used, for example in shell completion (?shell-dynamic-complete-command?). You can customize this variable. . \ Philip Wadler, Professor of Theoretical Computer Science, . /\ School of Informatics, University of Edinburgh . / \ and Senior Research Fellow, IOHK . http://homepages.inf.ed.ac.uk/wadler/ On Tue, 28 Jun 2022 at 16:38, Nils Anders Danielsson > wrote: This email was sent to you by someone outside the University. You should only click on links or attachments if you are certain that the email is genuine and the content is safe. On 2022-06-28 17:20, Philip Wadler wrote: > Thanks! I tried what you suggested, but am still getting the same > error message. > > Could not find agda-mode-2.6.2.2 > > Listing from the call to cabal appears below, for completeness, along > with my current $PATH. Please also check what the value of the Emacs variable exec-path is: C-h v exec-path RET -- /NAD The University of Edinburgh is a charitable body, registered in Scotland, with registration number SC005336. Is e buidheann carthannais a th? ann an Oilthigh Dh?n ?ideann, cl?raichte an Alba, ?ireamh cl?raidh SC005336. -------------- next part -------------- An HTML attachment was scrubbed... URL: From nad at cse.gu.se Wed Jun 29 12:02:48 2022 From: nad at cse.gu.se (Nils Anders Danielsson) Date: Wed, 29 Jun 2022 12:02:48 +0200 Subject: [Agda] Version mixup In-Reply-To: References: <626fe253-609f-5092-49fd-7bf33e808044@cse.gu.se> Message-ID: <8b654c4d-cc52-3e9d-84b4-b3afaf52e8d9@cse.gu.se> On 2022-06-29 01:16, Philip Wadler wrote: > Aha! I wondered how to check what path Emacs is using. Answer below. The path /Users/wadler/.cabal/bin is not listed. A simple fix might be to start Emacs from a terminal. I guess the root problem is that (part of) the customisation of your PATH only takes place when a shell is started, rather than when you log in. -- /NAD From sandro.stucki at gmail.com Wed Jun 29 12:24:01 2022 From: sandro.stucki at gmail.com (Sandro Stucki) Date: Wed, 29 Jun 2022 12:24:01 +0200 Subject: [Agda] Version mixup In-Reply-To: <8b654c4d-cc52-3e9d-84b4-b3afaf52e8d9@cse.gu.se> References: <626fe253-609f-5092-49fd-7bf33e808044@cse.gu.se> <8b654c4d-cc52-3e9d-84b4-b3afaf52e8d9@cse.gu.se> Message-ID: If you're using a Mac, this might be helpful: https://emacs.stackexchange.com/a/10737 Cheers /Sandro On Wed, Jun 29, 2022, 12:02 Nils Anders Danielsson wrote: > On 2022-06-29 01:16, Philip Wadler wrote: > > Aha! I wondered how to check what path Emacs is using. Answer below. > > The path /Users/wadler/.cabal/bin is not listed. A simple fix might be > to start Emacs from a terminal. I guess the root problem is that (part > of) the customisation of your PATH only takes place when a shell is > started, rather than when you log in. > > -- > /NAD > _______________________________________________ > Agda mailing list > Agda at lists.chalmers.se > https://lists.chalmers.se/mailman/listinfo/agda > -------------- next part -------------- An HTML attachment was scrubbed... URL: From klin at mimuw.edu.pl Wed Jun 29 16:56:11 2022 From: klin at mimuw.edu.pl (Bartek Klin) Date: Wed, 29 Jun 2022 15:56:11 +0100 Subject: [Agda] CSL'23 - last call for papers Message-ID: <2C6BD80F-B234-4DB3-B1EB-F786C5B10FC6@mimuw.edu.pl> ===================================== Last call for papers (CSL'23) https://csl2023.mimuw.edu.pl/ Abstract submission deadline: July 9, 2022 (AoE) ===================================== Computer Science Logic (CSL) is the annual conference of the European Association for Computer Science Logic (EACSL), see https://www.eacsl.org/. It is an interdisciplinary conference, spanning across both basic and application oriented research in mathematical logic and computer science. CSL'23 will be held on February 13-16, 2023, in Warsaw, Poland, with satellite workshops on February 17. It is planned as an on-site event, with support for remote presence for those participants who are unable to come for pandemic reasons. In case of a deteriorating pandemic situation, we may decide to organize the conference as an online-only event. The final decision about this will be made in November 2022. Keynote speakers: ---------------------- - Claudia Faggian (Universit? de Paris, France) - Nina Gierasimczuk (Danish Technical University, Denmark) - Dale Miller (Inria Saclay, France) - Micha? Pilipczuk (University of Warsaw, Poland) - Davide Sangiorgi (University of Bologna, Italy) Submission guidelines: ---------------------- Submitted papers must be in English and must provide sufficient detail to allow the Programme Committee to assess the merits of the paper. Full proofs may appear in a clearly marked technical appendix which will be read at the reviewers' discretion. Authors are strongly encouraged to include a well written introduction which is directed at all members of the PC. The paper should be submitted via Easychair: https://easychair.org/conferences/?conf=csl2023 The CSL 2023 conference proceedings will be published in Leibniz International Proceedings in Informatics (LIPIcs), see https://submission.dagstuhl.de/documentation/authors. Authors are invited to submit contributed papers of no more than 15 pages in LIPIcs style (not including appendices or references), presenting unpublished work fitting the scope of the conference. Papers may not be submitted concurrently to another conference with refereed proceedings. The PC chairs should be informed of closely related work submitted to a conference or a journal. Papers authored or co-authored by members of the PC are not allowed. At least one of the authors of each accepted paper is expected to register for the conference in order to present their papers. Important dates: ---------------- Abstract submission: July 9, 2022 (AoE), Paper submission: July 16, 2022 (AoE), Notification: September 30, 2022, Final version: October 30, 2022, Conference: February 13-16, 2023 List of topics: --------------- The following list is not exhaustive but indicates the scope of interest for CSL'23: - automated deduction and interactive theorem proving - constructive mathematics and type theory - equational logic and term rewriting - automata and games, game semantics - modal and temporal logic - model checking - decision procedures - logical aspects of computational complexity - finite model theory - computability - computational proof theory - logic programming and constraints - lambda calculus and combinatory logic - domain theory - categorical logic and topological semantics - database theory - specification, extraction and transformation of programs - logical aspects of quantum computing Programme Committee: ------------------ Matteo Acclavio (University of Luxembourg, Luxembourg) Patricia Bouyer-Decitre (LSV, CNRS & ENS Paris-Saclay, France) Agata Ciabattoni (TU Wien, Austria) Diana Costa (University of Lisbon, Portugal) Mart?n Escard? (University of Birmingham, UK) Rajeev Gor? (The Australian National University, Australia) Giulio Guerrieri (Huawei Edinburgh Research Centre, UK) Shin-ya Katsumata (National Institute of Informatics, Japan) Delia Kesner (Universit? de Paris, France) Sandra Kiefer (RWTH Aachen University, Germany) Bartek Klin (University of Oxford, UK, co-chair) Naoki Kobayashi (The University of Tokyo, Japan) Stepan Kuznetsov (Steklov Mathematical Institute of RAS, Russia) Martin L?ck (Leibniz Universit?t Hannover, Germany) Meena Mahajan (The Institute of Mathematical Sciences, HBNI, India) Filip Murlak (University of Warsaw, Poland) Daniele Nantes (University of Bras?lia, Brazil) Elaine Pimentel (UCL, UK, co-chair) Paolo Pistone (University of Bologna, Italy) Ana Sokolova (University of Salzburg, Austria) Lutz Stra?burger (Inria Saclay ? ?le-de-France, France) Pascal Schweitzer (TU Darmstadt, Germany) Martin Zimmermann (Aalborg University, Denmark) Yoni Zohar (Bar Ilan University, Israel) Organisation committee: ----------------- Lorenzo Clemente (chair) Wojciech Czerwi?ski Rados?aw Pi?rkowski From wadler at inf.ed.ac.uk Wed Jun 29 20:15:10 2022 From: wadler at inf.ed.ac.uk (Philip Wadler) Date: Wed, 29 Jun 2022 15:15:10 -0300 Subject: [Agda] Version mixup In-Reply-To: References: <626fe253-609f-5092-49fd-7bf33e808044@cse.gu.se> <8b654c4d-cc52-3e9d-84b4-b3afaf52e8d9@cse.gu.se> Message-ID: Thank you to Nils, Jason, and Sandro for your help. Sandro's suggestion has sorted the problem! Go well, -- P . \ Philip Wadler, Professor of Theoretical Computer Science, . /\ School of Informatics, University of Edinburgh . / \ and Senior Research Fellow, IOHK . http://homepages.inf.ed.ac.uk/wadler/ On Wed, 29 Jun 2022 at 07:24, Sandro Stucki > wrote: This email was sent to you by someone outside the University. You should only click on links or attachments if you are certain that the email is genuine and the content is safe. If you're using a Mac, this might be helpful: https://emacs.stackexchange.com/a/10737 Cheers /Sandro On Wed, Jun 29, 2022, 12:02 Nils Anders Danielsson > wrote: On 2022-06-29 01:16, Philip Wadler wrote: > Aha! I wondered how to check what path Emacs is using. Answer below. The path /Users/wadler/.cabal/bin is not listed. A simple fix might be to start Emacs from a terminal. I guess the root problem is that (part of) the customisation of your PATH only takes place when a shell is started, rather than when you log in. -- /NAD _______________________________________________ Agda mailing list Agda at lists.chalmers.se https://lists.chalmers.se/mailman/listinfo/agda The University of Edinburgh is a charitable body, registered in Scotland, with registration number SC005336. Is e buidheann carthannais a th? ann an Oilthigh Dh?n ?ideann, cl?raichte an Alba, ?ireamh cl?raidh SC005336. -------------- next part -------------- An HTML attachment was scrubbed... URL: From chisvasileandrei at gmail.com Tue Jul 5 10:25:57 2022 From: chisvasileandrei at gmail.com (Andrei Chis) Date: Tue, 5 Jul 2022 10:25:57 +0200 Subject: [Agda] Second Call for Papers: 15th ACM SIGPLAN International Conference on Software Language Engineering (SLE 2022) Message-ID: ------------------------------------------------------------------------ 15th ACM SIGPLAN International Conference on Software Language Engineering (SLE 2022) December 5-10, 2022 Auckland, New Zealand https://conf.researchr.org/home/sle-2022 http://www.sleconf.org/2022 Follow us on twitter: https://twitter.com/sleconf ------------------------------------------------------------------------ We are pleased to invite you to submit papers to the 15th ACM SIGPLAN International Conference on Software Language Engineering (SLE 2022), held in conjunction with SPLASH, GPCE and SAS 2022. Based on the future developments the conference will be hosted in Auckland, New Zealand on December 5-10, 2022. --------------------------- Topics of Interest --------------------------- SLE covers software language engineering rather than engineering a specific software language. Topics of interest include, but are not limited to: - Software Language Design and Implementation - Approaches to and methods for language design - Static semantics (e.g. design rules, well-formedness constraints) - Techniques for specifying behavioral / executable semantics - Generative approaches (incl. code synthesis, compilation) - Meta-languages, meta-tools, language workbenches - Software Language Validation - Verification and formal methods for languages - Testing techniques for languages - Simulation techniques for languages - Software Language Integration and Composition - Coordination of heterogeneous languages and tools - Mappings between languages (incl. transformation languages) - Traceability between languages - Deployment of languages to different platforms - Software Language Maintenance - Software language reuse - Language evolution - Language families and variability, language and software product lines - Domain-specific approaches for any aspects of SLE (design, implementation, validation, maintenance) - Empirical evaluation and experience reports of language engineering tools - User studies evaluating usability - Performance benchmarks - Industrial applications - "Synergies between Language Engineering and emerging/promising research areas" - AI and ML language engineering (e.g., ML compiler testing, code classification) Quantum language engineering (e.g., language design for quantum machines) - Language engineering for physical systems (e.g., CPS, IoT, digital twins) - Socio-technical systems and language engineering (e.g., language evolution to adapt to social requirements) - Etc. --------------------------- Types of Submissions --------------------------- SLE accepts the following types of papers: - **Research papers**: These are "traditional" papers detailing research contributions to SLE. Papers may range from 6 to 12 pages in length, and may optionally include 2 further pages of bibliography/appendices. Papers will be reviewed with an understanding that some results do not need 12 full pages and may be fully described in fewer pages. - **New ideas / vision papers**: These are papers that may describe new, unconventional software language engineering research positions or approaches that depart from standard practice. They can describe well-defined research ideas that are at an early stage of investigation. They could also provide new evidence to challenge common wisdom, present new unifying theories about existing SLE research that provides novel insight or that can lead to the development of new technologies or approaches, or apply SLE technology to radically new application areas. New ideas / vision papers must not exceed 5 pages, and may optionally include 1 further page of bibliography / appendices. - **SLE Body of Knowledge**: The SLE Body of Knowledge (SLEBoK) is a community-wide effort to provide a unique and comprehensive description of the concepts, best practices, tools and methods developed by the SLE community. To this respect, the SLE conference will accept surveys, essays, open challenges, empirical observations and case study papers on the SLE topics. These can focus on but they are not limited to methods, techniques, best practices and teaching approaches. Papers in this category can have up to 20 pages, including bibliography/appendices. - **Tool papers**: These are papers which focus on the tooling aspects which are often forgotten or neglected in research papers. A good tool paper focuses on practical insights that are likely to be useful to other implementers or users in the future. Any of the SLE topics of interest are appropriate areas for tool demonstrations. Submissions must not exceed 5 pages and may optionally include 1 further page of bibliography / appendices. They may optionally come with an appendix with a demo outline / screenshots and/or a short video/screencast illustrating the tool. **Workshops**: Workshops will be organized by SPLASH. Please inform us and contact the SPLASH organizers if you would like to organize a workshop of interest to the SLE audience. Information on how to submit workshops can be found at the SPLASH 2022 Website. --------------------------- Important Dates --------------------------- All dates are Anywhere on Earth. * Abstract submissions: August 8, 2022 * Paper submissions: August 12, 2022 * Review notification: September 18, 2022 (starting of the rebuttal) * Author response period: September 28, 2022 (end of the rebuttal) * Notification: September 30, 2022 * Artifact submissions: October 11, 2022 * Camera-ready (for both rounds): October 15, 2022 * Artifact kick-the-tires Author response: October 24, 2022 * Artifact notification: November 11, 2022 * Conference: December 5-10, 2022 --------------------------- Format --------------------------- Submissions have to use the ACM SIGPLAN Conference Format "acmart"(http://sigplan.org/Resources/Author/#acmart-format); please make sure that you always use the latest ACM SIGPLAN acmart LaTeX template(https://www.acm.org/binaries/content/assets/publications/consolidated-tex-template/acmart-master.zip), and that the document class definition is `\documentclass[sigplan,anonymous,review]{acmart}`. Do not make any changes to this format! Ensure that your submission is legible when printed on a black and white printer. In particular, please check that colors remain distinct and font sizes in figures and tables are legible. To increase fairness in reviewing, a double-blind review process has become standard across SIGPLAN conferences. In this line, SLE will follow the double-blind process. Author names and institutions should be omitted from submitted papers, and references to the authors? own related work should be in the third person. No other changes are necessary, and authors will not be penalized if reviewers are able to infer their identities in implicit ways. All submissions must be in PDF format. The submission website is: https://sle22.hotcrp.com --------------------------- Concurrent Submissions --------------------------- Papers must describe unpublished work that is not currently submitted for publication elsewhere as described by SIGPLAN?s Republication Policy (http://www.sigplan.org/Resources/Policies/Republication). Submitters should also be aware of ACM?s Policy and Procedures on Plagiarism (http://www.acm.org/publications/policies/plagiarism_policy). Submissions that violate these policies will be desk-rejected. --------------------------- Policy on Human Participant and Subject Research --------------------------- Authors conducting research involving human participants and subjects must ensure that their research comply with their local governing laws and regulations and the ACM?s general principles as stated in the ACM?s Publications Policy on Research Involving Human Participants and Subjects (https://www.acm.org/publications/policies/research-involving-human-participants-and-subjects). Submissions that violate this policy will be rejected. --------------------------- Reviewing Process --------------------------- All submitted papers will be reviewed by at least three members of the program committee. Research papers and tool papers will be evaluated concerning novelty, correctness, significance, readability, and alignment with the conference call. New ideas/vision papers will be evaluated primarily concerning novelty, significance, readability, and alignment with the conference call. SLEBoK papers will be reviewed on their significance, readability, topicality and capacity of presenting/evaluating/demonstrating a piece of BoK about SLE. For fairness reasons, all submitted papers must conform to the above instructions. Submissions that violate these instructions may be rejected without review, at the discretion of the PC chairs. After each review round, authors will get a chance to respond before a final decision is made. --------------------------- Artifact Evaluation --------------------------- For the seventh year, SLE will use an evaluation process for assessing the quality of the artifacts on which papers are based to foster the culture of experimental reproducibility. Authors of accepted research papers are invited to submit artifacts. For more information, please have a look at the Artifact Evaluation (http://www.sleconf.org/2022/ArtifactEvaluation.html) page. --------------------------- Special Issue --------------------------- There will be a special issue on Software Language Engineering in the Journal of Systems and Software (JSS). The best papers accepted at the conference will be invited to submit an extended version of their work. --------------------------- Awards --------------------------- - **Distinguished paper**: Award for most notable paper, as determined by the PC chairs based on the recommendations of the programme committee. - **Distinguished artifact**: Award for the artifact most significantly exceeding expectations, as determined by the AEC chairs based on the recommendations of the artifact evaluation committee. --------------------------- Publication --------------------------- All accepted papers will be published in the ACM Digital Library. **AUTHORS TAKE NOTE**: The official publication date is the date the proceedings 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. --------------------------- SLE and Doctoral Students --------------------------- SLE encourages students to submit to the SPLASH doctoral symposium. Authors of accepted papers will have the chance to present their work to the SLE audience, too. --------------------------- Organisation --------------------------- Chairs: * General chair: Bernd Fischer, Stellenbosch University, South Africa * PC co-chair: Lola Burgue?o, Open University of Catalonia, Spain * PC co-chair: Walter Cazzola, Universit? degli Studi di Milano, Italy * Artefact Evaluation co-chair: Thomas K?hn, Karlsruhe Institute of Technology, Germany * Artefact Evaluation co-chair: Juliana A. Pereira, Pontifical Catholic University of Rio de Janeiro, Brazil Program committee: Shaukat Ali, Simula Research Laboratory, Norway Arvid Butting, Aachen University, Germany Marsha Chechik, University of Toronto, Canada Shigeru Chiba, University of Tokyo, Japan Beno?t Combemale, University of Rennes, France Zhenjiang Hu, Peking University, China J?rg Kienzle, McGill University, Canada Dimitris Kolovos, University of York, UK Thomas K?hn, Karlsruhe Institute of Technology, Germany Juan de Lara, Universidad Aut?noma de Madrid, Spain Stefan Marr, University of Kent, UK Marjan Mernik, University of Maribor, Slovenia Natsuko Noda, Shibaura Institute of Technology, Japan Juliana A. Pereira, Pontifical Catholic University of Rio de Janeiro, Brazil Elizabeth Scott, University of London, UK Marco Servetto, Victoria University of Wellington, New Zealand Emma S?derberg, Lund University, Sweden Walid Taha, Halmstad University , Sweden Marco Tullio Valente, Universidade Federal de Minas Gerais, Brazil Erik Van Wyk, University of Minnesota , USA Alfonso de la Vega, University of Cantabria, Spain Ran Wei, Dalian University of Technology, China Andreas Wortmann, Stuttgart University, Germany Vadim Zaytsev, University of Twente, Netherlands Steffen Zschaler, King?s College London, UK --------------------------- Contact --------------------------- For additional information, clarification, or answers to questions, please contact the Programme Chairs (Lola Burgue?o and Walter Cazzola) at sle22-chairs _at_ di.unimi.it. From andreeac at comp.nus.edu.sg Thu Jul 7 09:27:11 2022 From: andreeac at comp.nus.edu.sg (Andreea Costea) Date: Thu, 07 Jul 2022 15:27:11 +0800 Subject: [Agda] SPLASH 2022 - Combined Call For Contributions Message-ID: ====================================================================== Combined Call For Contributions ACM Conference on Systems, Programming, Languages, and Applications: Software for Humanity (SPLASH'22) December 5-10, 2022, Auckland, New Zealand https://2022.splashcon.org ====================================================================== SPLASH - The ACM SIGPLAN conference on Systems, Programming, Languages, and Applications: Software for Humanity embraces all aspects of software construction and delivery, to make it the premier conference on the applications of programming languages - at the intersection of programming languages and software engineering. SPLASH 2022 aims to signify the reopening of the world and being able to meet your international colleagues in person. In case you missed the deadlines for OOPSLA, APLAS, DLS or SAS, worry not, SPLASH has many more exciting events with upcoming deadlines you may consider submitting to (see the combined call below). Follow the registration space on the SPLASH website to attend this fantastic line-up of events - we aim to open for registration on Aug 1st; the accommodation information will be filled in by then with student options at $65 NZD per night. ====================================================================== ### OUTLINE OF THE COMBINED CALL FOR CONTRIBUTIONS: SPLASH Workshops*: - FTSCS - HATRA - LIVE - PAINT - REBLS - Unsound - VMIL * Submissions due for all workshops: 1st September 2022 SPLASH Co-hosted events with upcoming deadlines: - Onward! Papers (submission deadline: 10 Jul) - Student Research Competition (submission deadline: 18 Jul) - Doctoral Symposium (submission deadline: 1 Aug) - GPCE (abstract/paper submission deadline: 8/12 Aug) - SLE (2nd round of abstract/paper submission deadline: 8/12 Aug) - Posters (submission deadline: 15 Aug) - SPLASH-E (submission deadline: 19 Aug) - Onward! Essays (submission deadline: 5 Sept) ====================================================================== ### Workshops **** Formal Techniques for Safety-Critical Systems (FTSCS) **** The aim of this workshop is to bring together researchers and engineers who are interested in the application of formal and semi-formal methods to improve the quality of safety-critical computer systems. FTSCS strives to promote research and development of formal methods and tools for industrial applications, and is particularly interested in industrial applications of formal methods. The workshop will provide a platform for discussions and the exchange of innovative ideas, so submissions on work in progress are encouraged. Details: https://2022.splashcon.org/home/ftscs-2022 **** Human Aspects of Types and Reasoning Assistants (HATRA) **** This workshop brings together programming languages, software engineering, security, and human-computer interaction researchers to investigate methods for making languages that provide stronger safety properties more effective for programmers and software engineers. HATRA is interested in two different kinds of contributions. First, extended abstracts that summarize an existing body of work that is relevant to the workshop?s topic. Second, research papers that describe a new idea, approach, or hypothesis in the space and are presented as an opportunity for the authors to receive community feedback and for the community to seek inspiration from others. Details: https://2022.splashcon.org/home/hatra-2022 **** Live Programming (LIVE) **** Programming is cognitively demanding, and too difficult. LIVE is a workshop exploring new user interfaces that improve the immediacy, usability, and learnability of programming. Whereas PL research traditionally focuses on programs, LIVE focuses more on the activity of programming. Our goal is to provide a supportive venue where early-stage work receives constructive criticism. Whether graduate students or tenured faculty, researchers need a forum to discuss new ideas and get helpful feedback from their peers. Towards that end, we will allot about ten minutes for discussion after every presentation. Details: https://2022.splashcon.org/home/live-2022 **** Programming Abstractions and Interactive Tools, Notations, and Environments (PAINT) **** In this workshop, we want to discuss programming environments that support users in working with and creating domain-specific abstractions and notations. Topics of interest include the composition and integration of domain-specific abstractions and tools inside general-purpose programming languages and environments, the implementation and evaluation of editing ergonomics and UX concerns, or tool support for creating domain-specific abstractions and tools. Environments that typically exhibit such properties include meta tools or tool creation frameworks, language workbenches, block-based editors and other visual programming approaches or projectional editors. Details: https://2022.splashcon.org/home/paint-2022 **** Reactive and Event-Based Languages and Systems (REBLS) **** This workshop will gather researchers in reactive and event-based languages and systems. The goal of the workshop is to exchange new technical research results and to better define the field by coming up with taxonomies and overviews of the existing work. Details: https://2022.splashcon.org/home/rebls-2022 **** Sources of Unsoundness in Verification (Unsound) **** Participants to Unsound will be able to share their experience and exploits on how different verification tools can either be broken or expose confusing behavior, likely to be unexpected by users. We are particularly interested in sources of unsoundness that are accidentally shared by many different unrelated research lines, and to develop an understanding on why this is the case. The workshop is meant to be welcoming for both people with strong theoretical skills, as well as people who just like hacking things. We do not expect fully polished submissions and we will not have formal proceedings. Details: https://2022.splashcon.org/home/unsound-2022 **** Virtual Machines and Language Implementations (VMIL) **** The concept of Virtual Machines is pervasive in the design and implementation of programming systems. Virtual Machines and the languages they implement are crucial in the specification, implementation and/or user-facing deployment of most programming technologies. The VMIL workshop is a forum for researchers and cutting-edge practitioners working on language virtual machines to discuss the various related engineering and research issues. Details: https://2022.splashcon.org/home/vmil-2022 **** Important Dates for All Workshops Paper/Abstract Submission Deadline: 1 Sept 2022 Camera-Ready Deadline (where applicable): 24 Oct 2022 ====================================================================== ### SPLASH Co-hosted conferences, symposiums and events with upcoming deadlines **** Onward! Papers **** Onward! is a premier multidisciplinary conference focused on everything to do with programming and software: including processes, methods, languages, communities and applications. Onward! is more radical, more visionary and more open than other conferences to ideas that are well-argued but not yet proven. We welcome different ways of thinking about, approaching and reporting on programming language and software engineering research. Onward! Papers is looking for grand visions and new paradigms that could make a big difference in how we will one day build software. Submission deadline: 10th July, 2022 AOE. Details: https://2022.splashcon.org/track/splash-2022-Onward-papers **** Student Research Competition **** The ACM Student Research Competition (SRC) offers a unique opportunity for undergraduate and graduate students to present their research to a panel of judges and conference attendees at SPLASH. The SRC provides visibility and exposes up-and-coming researchers to computer science research and the research community. This competition also gives students an opportunity to discuss their research with experts in their field, get feedback, and sharpen their communication and networking skills. Submission deadline: 18th July, 2022. Details: https://2022.splashcon.org/track/splash-2022-SRC **** Doctoral Symposium **** The Doctoral Symposium provides students with useful guidance for completing their dissertation research and beginning their research careers. The symposium will provide an interactive forum for doctoral students who have progressed far enough in their research to have a structured proposal, but will not be defending their dissertation in the next 12 months. Submission deadline: 1st August, 2022. Details: https://2022.splashcon.org/track/splash-2022-Doctoral-Symposium **** GPE **** The ACM SIGPLAN International Conference on Generative Programming: Concepts & Experiences is a programming languages conference focusing on techniques and tools for code generation, language implementation, and product-line development. 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, and code-recommendation systems; domain-specific languages, language embedding, language design, and language workbenches; feature-oriented programming, domain engineering, and feature interactions; applications and properties of code generation, language implementation, and product-line development. Abstract submission deadline: 8th August, 2022. Paper submission deadline: 12th August, 2022. Details: https://2022.splashcon.org/home/gpce-2022 **** SLE **** The ACM SIGPLAN International Conference on Software Language Engineering is devoted to the principles of software languages: their design, their implementation, and their evolution. Software language engineering is the discipline of engineering languages and their tools required for the creation of software. It abstracts from the differences between programming languages, modelling languages, and other software languages, and emphasizes the engineering facet of the creation of such languages, that is, the establishment of the scientific methods and practices that enable the best results. While SLE is certainly driven by its metacircular character (software languages are engineered using software languages), SLE is not self-satisfying: its scope extends to the engineering of languages for all and everything. 2nd Round of abstract submission deadline: 8th August, 2022. 2nd Round of paper submission deadline: 12th August, 2022. Details: https://2022.splashcon.org/home/sle-2022 **** Posters **** The SPLASH Posters track provides an excellent forum for authors to present their recent or ongoing projects in an interactive setting, and receive feedback from the community. We invite submissions covering any aspect of programming, systems, languages and applications. The goal of the poster session is to encourage and facilitate small groups of individuals interested in a technical area to gather and interact. Submission deadline: 15th August, 2022. Details: https://2022.splashcon.org/track/splash-2022-Posters **** SPLASH-E **** SPLASH-E is a symposium for software and languages (SE/PL) researchers with activities and interests around computing education. Some build pedagogically-oriented languages or tools; some think about pedagogic challenges around SE/PL courses; some bring computing to non-CS communities; some pursue human studies and educational research. At SPLASH-E, we share our educational ideas and challenges centered in software/languages, as well as our best ideas for advancing such work. Submission deadline: 19th August, 2022. Details: https://2022.splashcon.org/track/splash-2022-SPLASH-E **** Onward! Essays **** Onward! Essays track is looking for clear and compelling pieces of writing about topics important to the software community. An essay may be an exploration of the topic and its impact, or a story about the circumstances of its creation; it may present a personal view of what is, explore a terrain, or lead the reader in an act of discovery; it may be a philosophical digression or a deep analysis. The subject area?software, programming, and programming languages?should be interpreted broadly and can include the relationship of software to human endeavors, or its philosophical, sociological, psychological, historical, or anthropological underpinnings. Submission deadline: 5th September, 2022. Details: https://2022.splashcon.org/track/splash-2022-Onward-Essays ====================================================================== Be part of these awesome events! ====================================================================== ### Organizing Committee General Chair: Alex Potanin (Australian National University) OOPSLA Review Committee Chair: Amal Ahmed (Northeastern University) OOPSLA Review Committee Co-Chair: Jan Vitek (Northeastern University; Czech Technical University) OOPSLA Artifact Evaluation Co-Chair: Benjamin Greenman (Brown University) OOPSLA Artifact Evaluation Co-Chair: Ana Milanova (Rensselaer Polytechnic Institute) APLAS Chair: Ilya Sergey (National University of Singapore) DLS PC Co-Chair: Wolfgang De Meuter (Vrije Universiteit Brussel) DLS PC Co-Chair: Arjun Guha (Northeastern University) GPCE General Chair: Bernhard Scholz (University of Sydney) GPCE PC Chair: Yukiyoshi Kameyama (University of Tsukuba) SAS Co-Chair: Caterina Urban (INRIA & ?cole Normale Sup?rieure | Universit? PSL) SAS Co-Chair: Gagandeep Singh (University of Illinois at Urbana-Champaign; VMware) SLE Chair: Bernd Fischer (Stellenbosch University) SLE PC Co-Chair: Lola Burgue?o (Open University of Catalonia) SLE PC Co-Chair: Walter Cazzola (Universit? degli Studi di Milano) Onward! Papers Chair: David Tolpin (PUB+) Onward! Essays Chair: Jeremy Singer (University of Glasgow) SPLASH-E Co-Chair: Martin Henz (National University Of Singapore) SPLASH-E Co-Chair: Benjamin Lerner (Northeastern University) Workshops Co-Chair: Mehdi Bagherzadeh (Oakland University) Workshops Co-Chair: Raffi Khatchadourian (City University of New York (CUNY) Hunter College) Comfy Chair: Tony Hosking (Australian National University) Hybridisation Co-Chair: Jonathan Aldrich (Carnegie Mellon University) Hybridisation Co-Chair: Youyou Cong (Tokyo Institute of Technology) Diversity and Inclusion Chair, Local Organizing Chair: Kelly Blincoe (University of Auckland) Video Co-Chair: Zixian Cai (Australian National University) Video Co-Chair: Benjamin Chung (Northeastern University) Sponsorship Co-Chair: Bor-Yuh Evan Chang (University of Colorado Boulder & Amazon) Publicity Chair, Web Co-Chair: Andreea Costea (National University Of Singapore) Budget and Finance Chair: Michael Homer (Victoria University of Wellington) Student Volunteer Co-Chair: Yao Li (University of Pennsylvania) Student Volunteer Co-Chair: Julian Mackay (Victoria University of Wellington) Student Research Competition Co-Chair: Xujie Si (McGill University, Canada) Student Research Competition Co-Chair: Caterina Urban (INRIA & ?cole Normale Sup?rieure | Universit? PSL) Symposium Chair: Fabian Muehlboeck (IST Austria) PLMW Co-Chair: Lukasz Ziarek (University at Buffalo) PLMW Co-Chair: Molly Feldman (Oberlin College) From frederic.blanqui at inria.fr Tue Jul 12 15:32:08 2022 From: frederic.blanqui at inria.fr (=?UTF-8?B?RnLDqWTDqXJpYyBCbGFucXVp?=) Date: Tue, 12 Jul 2022 15:32:08 +0200 Subject: [Agda] Call for talks/participation - EuroProofNet Workshop on the development, maintenance, refactoring and search of large libraries of proofs In-Reply-To: References: Message-ID: Dear all, EuroProofNet is going to organize a workshop on the development, maintenance, refactoring and search of large libraries of proofs, on September 23-24, in Tbilisi, Georgia, as part of the Computational Logic Autumn Summit 2022, so in co-location with many other interesting conferences and schools (*). See https://europroofnet.github.io/wg4-meeting1/ for more details. We welcome talks, tutorials, demos, on library descriptions or on methodologies, algorithms and tools trying to tackle the challenges raised by the development, maintenance, refactoring and search of large libraries of proofs. EuroProofNet can reimburse the transport to Tbilisi + some daily allowance for the accommodation on September 23-24 for a number of participants. Please check https://europroofnet.github.io/eligibility/ and https://europroofnet.github.io/reimbursement-rules/ to get more details. But participation can be online if you cannot go to Tbilisi. If you are interested, please fill in https://forms.gle/fNxt1ot2xgUUSfGt5 before *July 24*. You can forward this mail to colleagues and students. Best regards, Fr?d?ric Blanqui and Claudio Sacerdoti. (*) The [Computational Logic Autumn Summit 2022](https://viam.science.tsu.ge/clas2022/) includes the [15th Conference on Intelligent Computer Mathematics](https://cicm-conference.org/2022/cicm.php) (CICM), the [24th International Symposium on Principles and Practice of Declarative Programming](https://software.imdea.org/Conferences/PPDP2022/) (PPDP), the [32nd International Symposium on Logic-based Program Synthesis and Transformation](https://lopstr2022.webs.upv.es/), the [International Conference on Practical and Theoretical Aspects of Logic, Cyber Security and Cryptography 2022](https://cs.omu.edu.tr/blacksea2022/), the [14th International Conference on Mathematics of Program Construction](https://www.macs.hw.ac.uk/mpc22/) (MPC), the [16th International Conference on Verification and Evaluation of Computer and Communication Systems](http://vecos-world.org/2022/) (VECoS), the [22nd Intl. Conf. on Runtime Verification](https://rv22.gitlab.io/) (RV), the [13th International School on Rewriting](https://viam.science.tsu.ge/clas2022/isr/) (ISR). -------------- next part -------------- An HTML attachment was scrubbed... URL: From cong at c.titech.ac.jp Wed Jul 13 15:55:00 2022 From: cong at c.titech.ac.jp (Youyou Cong) Date: Wed, 13 Jul 2022 22:55:00 +0900 Subject: [Agda] GPCE 2022 Second Call for Papers Message-ID: ------------------------------------------------------------------------------- GPCE 2022: 21st International Conference on Generative Programming: Concepts & Experiences December 5-7, 2022 (co-located with SPLASH) Auckland, New Zealand with hybrid sessions https://conf.researchr.org/home/gpce-2022/ ------------------------------------------------------------------------------- News: 1. GPCE will be HYBRID ? in-person and online presentations are allowed. 2. GPCE and SLE will have a joint program as in the previous years. 3. Submission site (https://gpce2022.hotcrp.com/) is now open. --------------------------- CALL FOR PAPERS --------------------------- 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. 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, and code-recommendation systems, - domain-specific languages, language embedding, language design, and language workbenches, - feature-oriented programming, domain engineering, and feature interactions, - applications and properties of code generation, language implementation, and product-line development. 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 three 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. --------------------------- 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. --------------------------- BEST PAPER AWARD --------------------------- Following the tradition, the GPCE 2022 program committee will select the best paper among accepted papers. The authors of the best paper will be given the best paper award at the conference. --------------------------- IMPORTANT DATES --------------------------- - Abstract submission 8 August (Mon) - Paper submission 12 August (Fri) - Review notification 28 September (Wed) - Author response period 28 September (Wed) - 30 September (Fri) - Final notification 10 October (Mon) - Camera-ready 24 October (Mon) - Conference 5 December (Mon) - 7 December (Wed) All times are in AoE (Anywhere on Earth). --------------------------- PAPER SUBMISSION --------------------------- Papers must be submitted using HotCRP: https://gpce2022.hotcrp.com/ All submissions must use the ACM SIGPLAN Conference Format "acmart". Be sure to use the latest LaTeX templates and class files, the SIGPLAN sub-format, and 10-point font. Consult the sample-sigplan.tex template and use the document-class \documentclass[sigplan,anonymous,review]{acmart}. To increase fairness in reviewing, GPCE 2022 uses the double-blind review process which has become standard across SIGPLAN conferences: - Author names, institutions, and acknowledgments should be omitted from submitted papers, and - references to the authors' own work should be in the third person. No other changes are necessary, and authors will not be penalized if reviewers are able to infer authors' identities in implicit ways. For additional information, clarification, or answers to questions, contact the program chair. The official publication date is the date the proceedings are made available in the ACM Digital Library. Papers must describe work not currently submitted for publication elsewhere as described by the SIGPLAN Republication Policy (http://www.sigplan.org/Resources/Policies/Republication/). --------------------------- ORGANIZATION --------------------------- - General Chair: Bernhard Scholz (University of Sydney) - Program Chair: Yukiyoshi Kameyama (University of Tsukuba) - Publicity Chair: Youyou Cong (Tokyo Institute of Technology) - Steering Committee Chair: Sebastian Erdweg (JGU Mainz) For additional information, clarification, or answers to questions, contact the program chair: kameyama at acm.org --------------------------- PROGRAM COMMITTEE --------------------------- Baris Aktemur - Intel Walter Binder - Universit? della Svizzera italiana Nicolas Biri - Luxembourg Institute of Science and Technology Elisa Gonzalez Boix - Vrije Universiteit Brussel Sheng Chen - UL Lafayette Shigeru Chiba - The University of Tokyo Youyou Cong - Tokyo Institute of Technology Coen De Roover - Vrije Universiteit Brussel Robert Gl?ck - University of Copenhagen Jeff Gray - University of Alabama Atsushi Igarashi - Kyoto University Yukiyoshi Kameyama - University of Tsukuba, Chair Raffi Khatchadourian - City University of New York (CUNY) Hunter College Julia Lawall - Inria Geoffrey Mainland - Drexel University Bruno C. d. S. Oliveira - The University of Hong Kong Klaus Ostermann - University of T?bingen Max Schaefer - GitHub Ulrik Pagh Schultz - University of Southern Denmark Sibylle Schupp - Hamburg University of Technology Amir Shaikhha - University of Edinburgh Artjoms Sinkarovs - Heriot-Watt University Daniel Str?ber - Chalmers University of Gothenburg, Radboud University Nijmegen Nicolas Stucki - EPFL Eli Tilevich - Virginia Tech Tijs van der Storm - CWI & University of Groningen Jeremy Yallop - University of Cambridge -------------- next part -------------- An HTML attachment was scrubbed... URL: From ifl21.publicity at gmail.com Fri Jul 15 11:38:52 2022 From: ifl21.publicity at gmail.com (Pieter Koopman) Date: Fri, 15 Jul 2022 02:38:52 -0700 Subject: [Agda] 2nd CFP - IFL22 - The 34th Symposium on Implementation and Application of Functional Languages Message-ID: *CALL FOR PAPERS: * The 34th Symposium on Implementation and Application of Functional Languages (IFL 2022) *Submission and registration are open.* See https://ifl22.github.io/. Copenhagen, August 31st-September 2nd, 2022 *Important dates * Draft paper submission: August 7th, 2022 Draft paper notification: August 9th, 2022 Early registration deadline: August 12th, 2022 Late registration deadline: September 2nd, 2022 Symposium: August 31st-September 2nd, 2022 (3 days) *Scope * The goal of the IFL symposia is to bring together researchers actively engaged in the implementation and application of functional and function-based programming languages. IFL 2022 will be a venue for researchers to present and discuss new ideas and concepts, work in progress, and publication-ripe results related to the implementation and application of functional languages and function-based programming. Topics of interest to IFL include, but are not limited to: * language concepts * type systems, type checking, type inferencing * compilation techniques * staged compilation * run-time function specialization * run-time code generation * partial evaluation * abstract interpretation * metaprogramming * generic programming * automatic program generation * array processing * concurrent/parallel programming * concurrent/parallel program execution * embedded systems * web applications * embedded domain specific languages * security * novel memory management techniques * run-time profiling performance measurements * debugging and tracing * virtual/abstract machine architectures * validation, verification of functional programs * tools and programming techniques * industrial applications *Submissions and peer-review * Following IFL tradition, IFL 2022 will use a post-symposium review process to produce the formal proceedings. Before the symposium authors submit draft papers. These draft papers will be screened by the program chair to make sure that they are within the scope of IFL. The draft papers will be made available to all participants at the symposium. Each draft paper is presented by one of the authors at the symposium. Notice that it is a requirement that accepted draft papers are presented physically at the symposium. After the symposium, a formal review process will take place, conducted by the program committee. Reviewing is single blind. There will be at least 3 reviews per paper. The reviewers have 6 weeks to write their reviews. For the camera-ready version the authors can make minor revisions which are accepted without further reviewing. Contributions submitted for the draft paper deadline must be between two and twelve pages long. For submission details, please consult the IFL 2022 website at https://ifl22.github.io/. *Where * IFL 2022 will be held physically in Copenhagen, Denmark, arranged by DIKU at the University of Copenhagen. See the IFL 2022 website at https://ifl22.github.io/ for more information. [image: beacon] -------------- next part -------------- An HTML attachment was scrubbed... URL: From cyberfined at protonmail.com Sat Jul 23 13:23:11 2022 From: cyberfined at protonmail.com (cyberfined) Date: Sat, 23 Jul 2022 11:23:11 +0000 Subject: [Agda] Equality in strict total order Message-ID: <68XHb5zwnkLWKFAXErT_H1sJAuekOctrvqQqtULwfKFdvntJAe74lWDYSAHzzwWelHs_mYnQ9pELOMxLijklndY_ZYBICIHZhqNf2FxkiO0=@protonmail.com> Hi, everyone. I need to prove that if x ? y and y < z, then x < z. But i can't use a rewrite, because x ? y is not the same as x ? y. So, my question is: how can i prove it? open import Relation.Binary using (StrictTotalOrder) module Test {a ?? ??} (strictTotalOrder : StrictTotalOrder a ?? ??) where open StrictTotalOrder strictTotalOrder renaming (Carrier to A) x?y?y From james.wood.100 at strath.ac.uk Sat Jul 23 14:21:33 2022 From: james.wood.100 at strath.ac.uk (James Wood) Date: Sat, 23 Jul 2022 13:21:33 +0100 Subject: [Agda] Equality in strict total order In-Reply-To: <68XHb5zwnkLWKFAXErT_H1sJAuekOctrvqQqtULwfKFdvntJAe74lWDYSAHzzwWelHs_mYnQ9pELOMxLijklndY_ZYBICIHZhqNf2FxkiO0=@protonmail.com> References: <68XHb5zwnkLWKFAXErT_H1sJAuekOctrvqQqtULwfKFdvntJAe74lWDYSAHzzwWelHs_mYnQ9pELOMxLijklndY_ZYBICIHZhqNf2FxkiO0=@protonmail.com> Message-ID: Hi, I believe you're looking for <-resp?-? , which is in scope thanks to having opened StrictTotalOrder (via a very long chain of open ... publics, I imagine). There's an interactive editing command for finding stuff like this: In Emacs, C-c C-o StritTotalOrder. All the best, James On 23/07/2022 12:23, cyberfined wrote: > CAUTION: This email originated outside the University. Check before > clicking links or attachments. > Hi, everyone. I need to prove that if x ? y and y < z, then x < z. But i > can't use a rewrite, because x ? y is not the same as x ? y. So, my > question is: how can i prove it? > > open import Relation.Binary using (StrictTotalOrder) > > module Test > ? ? {a ?? ??} (strictTotalOrder : StrictTotalOrder a ?? ??) where > > open StrictTotalOrder strictTotalOrder renaming (Carrier to A) > > x?y?y x?y?y > _______________________________________________ > Agda mailing list > Agda at lists.chalmers.se > https://lists.chalmers.se/mailman/listinfo/agda From cmb21 at st-andrews.ac.uk Mon Jul 25 12:31:37 2022 From: cmb21 at st-andrews.ac.uk (Christopher Brown) Date: Mon, 25 Jul 2022 10:31:37 +0000 Subject: [Agda] Postdoc Vacancy at St Andrews Message-ID: The Programming Languages Group at the University of St Andrews seeks a post-doctoral research fellow for a fixed 12-month position. Details of the position can be found here: https://www.vacancies.st-andrews.ac.uk/Vacancies/W/4238/0/352367/889/research-fellow-ar2699gb Vacancy Description School of Computer Science Salary: ?34,304 per annum Start date: 1 October 2022 or as soon as possible thereafter Fixed-term: 12 months Applications are sought for a committed Post-doctoral Research Fellow to work with Dr Chris Brown conducting research for a EPSRC funded project entitled Energise: Refactorings and Skeletons for Energy-Aware Applications on High-Performance Embedded Systems. The primary duties will be to implementing refactorings for target languages such as C; proving general soundness of the refactorings using e.g. dependent types; developing new programming abstractions (skeletons) for abstracting common energy-reducing programming patterns; running experiments; writing proofs of correctness. The successful applicant will have (or be near to completion of) a PhD in Programming Languages with expertise in formal semantics of programming languages, compilers, program transformation, lightweight formal methods (including, e.g. dependent types) and/or knowledge of parallelism and non-functional properties, including energy. The post is available on a fixed-term basis for 12 months starting 1st October or as soon as possible thereafter. Further details of the project can be found by contacting Dr Christopher Brown (cmb21 at st-andrews.ac.uk). Applications are particularly welcome from women, people from the Black, Asian and Minority Ethnic (BAME) community, and other protected characteristics who are under-represented in research posts at the University. Equality, diversity and inclusion are at the heart of the St Andrews experience. We strive to create a fair and inclusive culture demonstrated through our commitment to diversity awards (Athena Swan, Carer Positive, LGBT Charter, Race Charters and Stonewall). We celebrate diversity by promoting profiles of BAME, LGBTIQ+ staff and supporting networks including the Staff BAME Network; Staff with Disabilities Network; Staff LGBTIQ+ Network; and the Staff Parents & Carers Network. Full details available online: https://www.st-andrews.ac.uk/hr/edi/ Closing Date: 29 July 2022 Interview Date: 23 August 2022 Please quote ref:AR2699GB School of Computer Science Salary: ?34,304 per annum Start date: 1 October 2022 or as soon as possible thereafter Fixed-term: 12 months -------------- next part -------------- An HTML attachment was scrubbed... URL: From chisvasileandrei at gmail.com Tue Jul 26 13:58:44 2022 From: chisvasileandrei at gmail.com (Andrei Chis) Date: Tue, 26 Jul 2022 13:58:44 +0200 Subject: [Agda] Call for Papers: Eelco Visser Commemorative Symposium Message-ID: Due to the untimely passing of Eelco Visser, members of his former research communities TU Delft, CWI, OOPSLA, SLE, and IFIP Working Groups 2.11 & 2.16 have joined in organizing the Eelco Visser Commemorative Symposium. The event will be held on the occasion of the first anniversary of his passing in April of next year. You are cordially invited to contribute to this symposium, by writing a paper and giving a presentation related to Eelco and his influential work, or by just attending. Please see the CfP below. Best regards, The EVCS Organizing Committee ------------------------------------------------------------------------ ------------------------------------------------------------------------ Eelco Visser Commemorative Symposium (EVCS) 5 April 2023 Delft, The Netherlands https://symposium.eelcovisser.org ------------------------------------------------------------------------ Eelco Visser (1966?2022) was Antoni van Leeuwenhoek Professor of Computer Science and Chair of the Programming Languages Group in the Department of Software Technology at TU Delft. His research career started with studies at the University of Amsterdam and CWI, followed by appointments at Oregon Graduate Institute and Utrecht University. He was highly influential in the software language engineering and programming language design communities. His many scientific contributions about meta-languages and domain-specific languages have been of high importance in both the scientific and industrial communities. He was a founding member of IFIP Working Groups 2.11 (Program Generation) and 2.16 (Programming Language Design). Eelco Visser?s work on the cutting-edge language workbench Spoofax started with a ground-breaking publication in 2010, for which he received a Most Influential Paper award at OOPSLA 2020. As a strong advocate of tool-supported programming education, he led the development of WebLab, a learning management system that is in use for a range of programming languages and courses at TU Delft. He also led the design, implementation and use of conf.researchr.org, a content management system for scientific events used by hundreds of international events since 2011. --------------------------- Call for Papers --------------------------- A commemorative symposium for Eelco Visser is to be held on the first anniversary of his untimely passing away in April 2022. It will bring together colleagues from various communities, with presentations of papers on topics related to his research and other academic activities. --------------------------- Topics of Interest --------------------------- Topics of interest include, but are not limited to: - Language engineering - Program transformation - Language workbenches - Declarative language specification - Name binding and scope graphs - Type soundness and intrinsically-typed interpreters - Language specification testing - Language implementation generation - Domain-specific programming languages - DSLs for software deployment - DSLs for web application development - Tool-supported programming education --------------------------- Important Dates --------------------------- - Friday 30 September 2022: Declaration of intent to submit - Friday 28 October 2022: Paper submission deadline - Monday 28 November 2022: Notifications - Wednesday 5 April 2023: Symposium --------------------------- Types of Submissions --------------------------- - **Unpublished research**: These are extended abstracts of novel research contributions related to Eelco Visser?s work. Papers may range from 4 to 8 pages in length, and may optionally include up to 2 further pages of bibliography. Papers will be reviewed by selected members of the relevant research communities. Subsequent submission of full papers including the same results to other venues is encouraged. - **On the relationship between Eelco Visser's work and other frameworks**: These are papers that present some framework and explain its relationship to his work, but without novel research contributions. Papers may range from 4 to 8 pages in length, and may optionally include up to 2 further pages of bibliography. Papers will be reviewed by an expert on the relevant topic. - **Personal reflections on Eelco Visser's activities**: These are short papers that recall and reflect upon personal experiences of his contributions in academia or industry. Papers may range from 1 to 4 pages in length, including bibliography. Papers will be lightly reviewed for relevance. --------------------------- Submissions --------------------------- Declaration of intent to submit is optional, but helpful for allocation of appropriate reviewers. It is to include a provisional title, the type of submission, and an indication of the topics covered. The other details regarding submissions will be announced later. The page ranges for submissions (see above) are assuming a format such as Springer LNCS or Dagstuhl OASIcs. --------------------------- Publication --------------------------- All accepted papers are to be published in an open access volume by the start of the symposium (publisher to be decided). Authors retain copyright. --------------------------- Presentations --------------------------- All accepted papers are to be presented at the symposium. Presenters may choose between 5, 10, and 15-minute slots (including questions) subject to availability. Remote presentations are allowed. --------------------------- Organising Committee --------------------------- - Jonathan Aldrich, Carnegie Mellon University - Benoit Combemale, University of Rennes, Inria, and IRISA - Paul Klint, CWI and University of Amsterdam - Ralf L?mmel, University of Koblenz - Peter Mosses (chair), TU Delft and Swansea University - Friedrich Steimann, Fernuniversit?t in Hagen - Tijs van der Storm, CWI and University of Groningen - Eric Van Wyk, University of Minnesota --------------------------- Local Organisation Committee --------------------------- - Arie van Deursen - Jasper van Dijck - Peter Mosses - Roniet Sharabi - Sh?mara van der Zwet --------------------------- Contact --------------------------- For all enquiries about the symposium, please use the contact form at symposium.eelcovisser.org/contact or email symposium at eelcovisser.org From felix.wellen at posteo.de Mon Aug 1 15:25:43 2022 From: felix.wellen at posteo.de (Felix Cherubini) Date: Mon, 1 Aug 2022 13:25:43 +0000 Subject: [Agda] Matching on crisp refl leads to error Message-ID: <81fb4f0a-490a-97c6-63ff-35aeeb6ba16e@posteo.de> Hi all, I noticed that the latest master of agda does not accept the following: {-# OPTIONS --cubical #-} open import Agda.Primitive data ? (@? A : Set) : Set where _^? : (@? a : A) ? ? A data _?'_ {A : Set} : A ? A ? Set where refl' : {x : A} ? x ?' x ??'??'? : {@? A : Set} {@? u v : A} ? ? (u ?' v) ? (u ^?) ?' (v ^?) ??'??'? (refl' ^?) = refl' With the error message: /home/felix/FindBug2.agda:11,1-27 Agda.Primitive.Cubical.primTransp (? i ? (u ^?) ?' (Agda.Primitive.Cubical.primTransp (? i? ? Agda.Primitive.Cubical.PathP (? i? ? A) (x i?) u) ? x? (Agda.Primitive.Cubical.primINeg i) ^?)) ? (??'??'? (refl' ^?)) is not usable at the required modality . when checking the definition of ??'??'? Is it a bug or intentional? The same code checked in Agda 2.6.2.2 and 2.6.2. Matching in the same way on constructors of non-dependent inductive types is accepted. All the best, Felix From frederic.blanqui at inria.fr Thu Aug 4 07:58:42 2022 From: frederic.blanqui at inria.fr (=?UTF-8?B?RnLDqWTDqXJpYyBCbGFucXVp?=) Date: Thu, 4 Aug 2022 08:58:42 +0300 Subject: [Agda] Call for participation: EuroProofNet Workshop on the development, maintenance, refactoring and search of large libraries of proofs In-Reply-To: References: Message-ID: <3cda8102-163e-3006-80c2-3d8a0b998ac4@inria.fr> Dear all, The program of the EuroProofNet Workshop on the development, maintenance, refactoring and search of large libraries of proofs, 23-24 September 2022, is now online: https://europroofnet.github.io/wg4-meeting1/ Registration is free but mandatory. To attend the workshop, physically or online, please send me a mail. Best regards, Fr?d?ric Blanqui, chair of EuroProofNet. From melkon.or at gmail.com Sat Aug 6 19:12:53 2022 From: melkon.or at gmail.com (Orestis Melkonian) Date: Sat, 6 Aug 2022 20:12:53 +0300 Subject: [Agda] Agda Implementors' Meeting XXXI - Edinburgh, 10-16 November 2022 Message-ID: --------------------------------------------------------------- ???????????? Agda Implementors' Meeting XXXI ????????????????? Call for participation ?http://wiki.portal.chalmers.se/agda/pmwiki.php?n=Main.AIMXXXI --------------------------------------------------------------- The 31st Agda Implementors' Meeting will take place in Edinburgh, Scotland from Thursday 10 November 2022 to Wednesday 16 November 2022. Note that AIMXXXI was initially planned for 2019 but got postponed due to COVID-19, whilst we had several online meetings XXXII-XXXV. The meeting will consist of: ? * Presentations concerning theory, implementation, and use cases of Agda and other Agda-like languages. ? * Discussions around issues related to the Agda language. ? * Plenty of time to work in, on, under or around Agda, in collaboration with other participants. ? * A full day dedicated to the EuroProofNet COST action, including talks and discussions on translating libraries and proofs between Agda and other proof assistants. Please direct enquiries about that to Jesper Cockx . To register for AIM XXXI, please fill out the form below and send it to Orestis Melkonian by email , or simply edit the AIMXXI wiki page yourself. > --------------------------------------------------------------- > Registration form for Agda Implementors' Meeting XXXI > > Name: > > Title and optionally abstract (if you want to give a talk or lead a discussion): > > Suggestions for code sprints (optional): > > Dietary restrictions: > > Additional comments: > > --------------------------------------------------------------- More information is available at ? http://wiki.portal.chalmers.se/agda/pmwiki.php?n=Main.AIMXXXI Please spread the word about this meeting. Best regards, Orestis From mh at informatik.uni-kiel.de Tue Aug 9 17:32:24 2022 From: mh at informatik.uni-kiel.de (Michael Hanus) Date: Tue, 9 Aug 2022 17:32:24 +0200 (CEST) Subject: [Agda] 1st Call for Papers: PADL 2023 Message-ID: <20220809153224.E2C492000F@lascombes.informatik.uni-kiel.de> ============================================================================== Call for Papers 25th International Symposium on Practical Aspects of Declarative Languages (PADL 2023) https://popl23.sigplan.org/home/PADL-2023 Boston, Massachusetts, United States, January 16-17, 2023 Co-located with ACM POPL 2023 ============================================================================== Conference Description ---------------------- Declarative languages comprise several well-established classes of formalisms, namely, functional, logic, and constraint programming. Such formalisms enjoy both sound theoretical bases and the availability of attractive frameworks for application development. Indeed, they have been already successfully applied to many different real-world situations, ranging from database management to active networks to software engineering to decision support systems. New developments in theory and implementation fostered applications in new areas. At the same time, applications of declarative languages to novel and challenging problems raise many interesting research issues, including designing for scalability, language extensions for application deployment, and programming environments. Thus, applications drive the progress in the theory and implementation of declarative systems, and benefit from this progress as well. PADL is a well-established forum for researchers and practitioners to present original work emphasizing novel applications and implementation techniques for all forms of declarative programming, including functional and logic programming, database and constraint programming, and theorem proving. Topics of interest include, but are not limited to: - Innovative applications of declarative languages - Declarative domain-specific languages and applications - Practical applications of theoretical results - New language developments and their impact on applications - Declarative languages and software engineering - Evaluation of implementation techniques on practical applications - Practical experiences and industrial applications - Novel uses of declarative languages in the classroom - Practical extensions such as constraint-based, probabilistic, and reactive languages PADL 2023 especially welcomes new ideas and approaches related to applications, design and implementation of declarative languages going beyond the scope of the past PADL symposia, for example, advanced database languages and contract languages, as well as verification and theorem proving methods that rely on declarative languages. Submissions ----------- PADL 2023 welcomes three kinds of submission: * Technical papers (max. 15 pages): Technical papers must describe original, previously unpublished research results. * Application papers (max. 8 pages): Application papers are a mechanism to present important practical applications of declarative languages that occur in industry or in areas of research other than Computer Science. Application papers are expected to describe complex and/or real-world applications that rely on an innovative use of declarative languages. Application descriptions, engineering solutions and real-world experiences (both positive and negative) are solicited. * Extended abstracts (max. 3 pages): Describing new ideas, a new perspective on already published work, or work-in-progress that is not yet ready for a full publication. Extended abstracts will be posted on the symposium website but will not be published in the formal proceedings. All page limits exclude references. Submissions must be written in English and formatted according to the standard Springer LNCS style, see https://www.springer.com/gp/computer-science/lncs/conference-proceedings-guidelines Page numbers (and, if possible, line numbers) should appear on the manuscript to help the reviewers in writing their reports. So, for LaTeX, we recommend that authors use: \pagestyle{plain} \usepackage{lineno} \linenumbers The conference proceedings of PADL 2023 will be published by Springer-Verlag in the Lecture Notes in Computer Science series. Work that already appeared in unpublished or informally published workshops proceedings may be submitted but the authors should notify the program chairs where it has previously appeared. Papers should be submitted electronically at https://easychair.org/conferences/?conf=padl2023 Important Dates --------------- Abstract submission: October 2, 2022 (AoE) Paper submission: October 9, 2022 (AoE) Notification: November 5, 2022 Symposium: January 16-17, 2023 Distinguished Papers -------------------- The authors of a small number of distinguished papers will be invited to submit a longer version for journal publication after the symposium. For papers related to logic programming, that will be in the journal Theory and Practice of Logic Programming (TPLP) https://www.cambridge.org/core/journals/theory-and-practice-of-logic-programming, and for papers related to functional programming, in Journal of Functional Programming (JFP) https://www.cambridge.org/core/journals/journal-of-functional-programming. The extended journal submissions should be substantially (roughly 30%) extended: explanations for which there was no space, illuminating examples and proofs, additional definitions and theorems, further experimental results, implementational details and feedback from practical/engineering use, extended discussion of related work, and so on. These submissions will then be subject to the usual peer review process by the journal, although with the aim of a swifter review process by reusing original reviews from PADL. PADL 2023 PC Co-Chairs ---------------------- - Michael Hanus, Kiel University, Germany - Daniela Inclezan, Miami University, United States Programme Committee ------------------- Andreas Abel Gothenburg University, Sweden Annette Bieniusa TU Kaiserslautern, Germany Joachim Breitner Epic Games, Germany William Byrd University of Alabama at Birmingham, USA Pedro Cabalar University of Corunna, Spain Francesco Calimeri University of Calabria, Italy Stefania Costantini University of L'Aquila, Italy Esra Erdem Sabanci University, Turkey Martin Gebser University of Klagenfurt, Austria Robert Glueck University of Copenhagen, Denmark Gopal Gupta University of Texas at Dallas, USA Michael Hanus CAU Kiel, Germany (co-chair) Daniela Inclezan Miami University, USA (co-chair) Tomi Janhunen Tampere University, Finland Patricia Johann Appalachian State University, USA Yukiyoshi Kameyama University of Tsukuba, Japan Ekaterina Komendantskaya Heriot-Watt University, UK Simona Perri University of Calabria, Italy Enrico Pontelli New Mexico State University, USA Tom Schrijvers Katholieke Universiteit Leuven, Belgium Paul Tarau University of North Texas, USA Peter Thiemann University of Freiburg, Germany Peter Van Roy Universite catholique de Louvain, Belgium Janis Voigtlaender University of Duisburg-Essen, Germany Ningning Xie University of Cambridge, UK Contact Address --------------- padl2023 _AT_ easychair.org ------------------------------------------------------------------------------- From ifl21.publicity at gmail.com Mon Aug 15 08:42:43 2022 From: ifl21.publicity at gmail.com (Pieter Koopman) Date: Sun, 14 Aug 2022 23:42:43 -0700 Subject: [Agda] IFL22: Early registration deadline August 15th Message-ID: *IFL 2022Frederiksberg Campus of Faculty of Science, UCPH, CopenhagenAugust 31s-September 2nd, 2022* *Early registration deadline: August 15th AoE * *See **https://ifl22.github.io/* * for more information.* *CALL FOR PARTICIPATION:* The 34th Symposium on Implementation and Application of Functional Languages (IFL 2022) Copenhagen, August 31st-September 2nd, 2022 *Important dates* Submission deadline of draft papers August 8th, 2022 (EXPIRED) Notification of acceptance August 9th, 2022 (EXPIRED) Early registration deadline August 15th, 2022 (AoE) Late registration deadline August 31st, 2022, 12:59 CET (UTC+2) IFL Symposium August 31st - September 2nd, 2022 (We-Fr) *Scope* The goal of IFL is to bring together researchers and developers actively engaged in the implementation and application of functional programming languages and function-oriented programming. IFL 2022 is held in beautiful Copenhagen, Denmark and is a venue for researchers to present and discuss new ideas and concepts, work in progress, and publication-ripe results related to the implementation and application of functional programming languages and function-oriented programming. *Invited speakers* IFL 2022 is pleased to announce keynote talks by the following three invited speakers: * Peter Sestoft, Professor, Head of Department, IT University of Copenhagen, Denmark: "Abstract machines and functional language implementation" * Lennart Augustsson, Principal Programmer, Epic Games: "Verse - a new functional-logic language" * Thomas Gazagnaire, Chief Technology Officer and co-founder, Tarides: "Talk title to be announced" *Venue and registration* The symposium will be held physically on the Frederiksberg Campus of the Faculty of Science at the University of Copenhagen. Days 1 and 2 (August 31st and September 1st) will be in meeting room A2-84.01 at Thorvaldsensvej 40. Day 3 (September 2nd) will be in the Celebration Auditorium at B?lowsvej 17. For registration and fees, please consult the symposium web site at https://ifl22.github.io/. Please notice that the early registration date is August 15, 2022 (AoE). *Accepted papers* * Asynchronous Shared Data Sources. Mart Lubbers, Haye B?hm, Pieter Koopman and Rinus Plasmeijer. * Heuristics-based Type Error Diagnosis for Haskell: the case of type families. Niels Kwadijk and Jurriaan Hage. * Verified Technology Mapping in an Agda DSL for Circuit Design. Jo?o Paulo Pizani Flor and Wouter Swierstra. * Creating Interactive Visualizations of TopHat Programs. Mark Gerarts, Marc de Hoog, Nico Naus and Tim Steenvoorden. * An SQL Frontend on top of OCaml for Data Analysis. Yan Dong, Yahui Song and Wei-Ngan Chin. * A Structure Editor with Type-Safe Copy/Paste. Hans H?ttel, Christoffer Lind Andersen, Nana Gjerulf Sandberg, Anja Elisasen Lumholtz Nielsen and Peter Mikkelsen. * How to fold and color a map: Comparing Use-Cases of Tree-Fold vs Fold-Left. Jim Newton. * Compiling a functional array language with non-semantic memory information. Philip Munksgaard, Cosmin Oancea and Troels Henriksen. * Systems of partial values and their applications in Haskell. Natasha England-Elbro. * First-Class Data Types in Shallow Embedded Domain-Specific Languages using Metaprogramming. Mart Lubbers, Pieter Koopman and Rinus Plasmeijer. * Set-theoretic Types for Erlang. Albert Schimpf, Stefan Wehr and Annette Bieniusa. * Strongly-Typed Multi-View Stack-Based Computations. Pieter Koopman and Mart Lubbers. * Ztrategic: Strategic Programming with Zippers. Jos? Nuno Macedo, Emanuel Rodrigues, Marcos Viera and Jo?o Saraiva. * Higher-ranked region inference for polymorphic, lazy languages. Ivo Gabe de Wolff and Jurriaan Hage. * Jeopardy: An invertible functional programming language. Joachim Kristensen, Robin Kaarsgaard and Michael Kirkedal Thomsen. * The Foil: Capture-Avoiding Substitution With No Sharp Edges. Dougal Maclaurin, Alexey Radul and Adam Paszke. * Verified Causal Broadcast with Liquid Haskell. Patrick Redmond, Gan Shen, Niki Vazou and Lindsey Kuper. * Towards Inversion of Tail-recursive Term Rewriting Systems. Maria Bendix Mikkelsen, Robert Gl?ck and Maja Hanne Kirkeby. * A Confluence and Termination Checker for Haskell Rewrite Rules. Makoto Hamana. * On Generating Out-Of-Core GPU Code for Multi-Dimensional Array Operations. Patrick van Beurden and Sven-Bodo Scholz. * Compiling Haskell for Energy Efficiency: Analysis of Individual Transformations. Bernardo Santos, Jo?o Fernandes, Maja Kirkeby and Alberto Pardo. *Post-symposium peer review * Following IFL tradition, IFL 2022 will use a post-symposium review process to produce the formal proceedings. Before the symposium authors submit draft papers. These draft papers have been screened by the program chair to make sure that they are within the scope of IFL. The draft papers will be made available to all participants at the symposium. Each draft paper is presented by one of the authors at the symposium. Notice that it is a requirement that draft papers that are accepted for presentation be presented physically at the symposium. After the symposium the authors are invited to submit a full paper, incorporating feedback from discussions at the symposium. Work submitted to IFL may not be simultaneously submitted to other venues; submissions must adhere to ACM SIGPLAN's republication policy. The program committee will evaluate these submissions according to their correctness, novelty, originality, relevance, significance, and clarity, and will thereby determine whether the paper will be accepted or rejected for the formal proceedings. Papers that are accepted for the formal proceedings are published in the International Conference Proceedings Series of the ACM Digital Library, as in previous years. *Peter Landin Prize* The Peter Landin Prize is awarded to the best paper presented at the symposium every year. The honored article is selected by the program committee based on the submissions received for the formal review process. The prize carries a cash award equivalent to 150 Euros. *Sponsors* IFL 2022 is financially supported by - Meta (Silver sponsor), - Well-typed (Bronze sponsor), - Funktionelle K?benhavnere (Bronze sponsor), and - University of Copenhagen (administrative support, host). *Organisation* General chair Fritz Henglein, University of Copenhagen Program chair Martin Elsman, University of Copenhagen Communications chair Troels Henriksen, University of Copenhagen *Program committee* Laura M. Castro Universidade da Coru?a, Spain David Christiansen Haskell Foundation Martin Elsman University of Copenhagen, Denmark (chair) Matthew Fluet Rochester Institute of Technology, USA Clemens Grelck Universiteit van Amsterdam, The Netherlands Zhenjiang Hu Peking University, China Robin Kaarsgaard University of Edinburgh, Scotland Gabriele Keller Utrecht University, The Netherlands Oleg Kiselyov Tohoku University, Japan Neil Mitchell Facebook Stefan Monnier Universite de Montreal, Canada Magnus Myreen Chalmers University, Sweden Cyrus Omar University of Michigan, USA Romain P?choux University of Lorraine, Inria, France Rinus Plasmeijer Radboud University, The Netherlands Morten Rhiger Roskilde University, Denmark Peter van Roy Catholic University of Louvain, Belgium Olin Shivers Northeastern University, USA Peter Thiemann University of Freiburg, Germany Marcos Viera Universidad de la Rep?blica, Uruguay Meng Wang University of Bristol, UK [image: beacon] -------------- next part -------------- An HTML attachment was scrubbed... URL: From kindaro at gmail.com Mon Aug 29 23:13:19 2022 From: kindaro at gmail.com (Ignat Insarov) Date: Mon, 29 Aug 2022 23:13:19 +0200 Subject: [Agda] Path to success with Agda? Message-ID: Hello! I have been trying to learn Agda time and again and I have not made much headway yet.?Once I stray a little aside from the happy path of _Programming Language Foundations with Agda_, things start to get sour.?Even the exercises in the book give me a hard time whenever they let me a little freedom to get myself lost. * You cannot always make cases for a given parameter.?If you want to understand when you can and cannot make cases for a parameter, you have to read a thesis of the person that has written the pattern matching code. * You cannot always have a with-abstraction ? sometimes the auxiliary functions it compiles to do not type check.?If you want to understand when you can and cannot make a with-abstraction, you only have the language reference to help you out, and it does not explain the problem in enough detail. But there is nothing in the language to help me write proofs but pattern matching and with-abstractions! My first language is Haskell and it was a bit hard to learn, but there was the amazing community to support my efforts.?With Agda, the main venue seems to be the Zulip chat, but it is more dead than alive.?No one is rushing to explain anything to me. I have no problem learning Type Theory by itself, since there are great books out there.?? types, eliminators, you name it ? no problem.?My problem seems to be rooted in the technical difficulties that are specific to Agda ? the pattern matching algorithm and the ill-typed with-abstractions. Are there any success stories from people that did not learn Agda as a student with the people that have written Agda itself or do research in Type Theory with Agda or something to that end??I can see how someone might get good with Agda if one is near to an expert, but doing it on my own seems to be a hard task.?Ars longa, vita brevis!?What is the path I should take so that I get to write realistic proofs and still have time left to enjoy the success? From fdhzs2010 at hotmail.com Mon Aug 29 23:50:20 2022 From: fdhzs2010 at hotmail.com (Jason Hu) Date: Mon, 29 Aug 2022 21:50:20 +0000 Subject: [Agda] Path to success with Agda? In-Reply-To: References: Message-ID: Indeed, pattern matching in Agda is very powerful, often more powerful than expected if you come from Coq, but usually the complete opposite if you just follow your nose. I think you fall into the latter case. If you ignore some bugs in the pattern matcher (which you might well bump into), from my learning experience, I think it is the best to learn why Agda refuses your pattern by writing out a helper function supposedly generated by the pattern matcher and with-patterns; recall that this is also how Agda handles it after all (at least this is how the doc phrases it). By writing a helper out, you might obtain some information about why Agda rejects you, or you might just succeed. The latter case could mean that you just phrased a smarter helper than Agda could, or you worked around an Agda bug. To answer your questions directly, if a case split fails, it is likely that the variable you are splitting is depended on by some other type, which triggers some further mechanisms that eventually fails the case split. Another common possibility is that you turned on without-K, but your case split effectively is doing that. This case can be checked by observing whether a case split will cause unification of the same variable. If your with-pattern fails, it could mean that you are not generalizing enough. For example, if you are with-patterning a term of type (foo bar) and it fails, it might be fixed by generalizing bar before (foo bar), which causes both bar and (foo bar) being abstracted and thus making the Typechecker happy. In general, I don?t think you need to read anybody?s thesis to have a high-level impression on how to please Agda. However, having experience in another proof assistant or type theory in general definitely helps. If you have more questions I think many can answer you if you ask here. Thanks, Jason From: Ignat Insarov Sent: Monday, August 29, 2022 5:12 PM To: agda at lists.chalmers.se Subject: [Agda] Path to success with Agda? Hello! I have been trying to learn Agda time and again and I have not made much headway yet.?Once I stray a little aside from the happy path of _Programming Language Foundations with Agda_, things start to get sour.?Even the exercises in the book give me a hard time whenever they let me a little freedom to get myself lost. * You cannot always make cases for a given parameter.?If you want to understand when you can and cannot make cases for a parameter, you have to read a thesis of the person that has written the pattern matching code. * You cannot always have a with-abstraction ? sometimes the auxiliary functions it compiles to do not type check.?If you want to understand when you can and cannot make a with-abstraction, you only have the language reference to help you out, and it does not explain the problem in enough detail. But there is nothing in the language to help me write proofs but pattern matching and with-abstractions! My first language is Haskell and it was a bit hard to learn, but there was the amazing community to support my efforts.?With Agda, the main venue seems to be the Zulip chat, but it is more dead than alive.?No one is rushing to explain anything to me. I have no problem learning Type Theory by itself, since there are great books out there.?? types, eliminators, you name it ? no problem.?My problem seems to be rooted in the technical difficulties that are specific to Agda ? the pattern matching algorithm and the ill-typed with-abstractions. Are there any success stories from people that did not learn Agda as a student with the people that have written Agda itself or do research in Type Theory with Agda or something to that end??I can see how someone might get good with Agda if one is near to an expert, but doing it on my own seems to be a hard task.?Ars longa, vita brevis!?What is the path I should take so that I get to write realistic proofs and still have time left to enjoy the success? _______________________________________________ Agda mailing list Agda at lists.chalmers.se https://lists.chalmers.se/mailman/listinfo/agda -------------- next part -------------- An HTML attachment was scrubbed... URL: From hancock at fastmail.fm Tue Aug 30 00:26:03 2022 From: hancock at fastmail.fm (Peter Hancock) Date: Mon, 29 Aug 2022 23:26:03 +0100 Subject: [Agda] Path to success with Agda? In-Reply-To: References: Message-ID: <28ca8c3e-06e3-616d-bed7-d14cb1087bd6@fastmail.fm> On 29/08/2022 22:13, Ignat Insarov wrote: > I have no problem learning Type Theory by itself, since there are great books > out there.?? types, eliminators, you name it ? no problem.?My problem seems to > be rooted in the technical difficulties that are specific to Agda ? the pattern > matching algorithm and the ill-typed with-abstractions. > I have no problem learning Type Theory by itself, since there are great books > out there.?? types, eliminators, you name it ? no problem.?My problem seems to > be rooted in the technical difficulties that are specific to Agda ? the pattern > matching algorithm and the ill-typed with-abstractions. There are things in Agda, connected with pattern-matching, that are not in "Type Theory" (as in "you name it, no problem"). In my experience these are usually subtly connected with the empty type (which has its own eliminator). I've never entirely understood "with-abstraction", although it makes some superficial sense, but have tried to stick with original Martin-Lof type theory. It would be good to sort this out, once and for all, whatever the outcome. Thank you for your eloquent message! P From williamdemeo at gmail.com Tue Aug 30 00:26:57 2022 From: williamdemeo at gmail.com (William DeMeo) Date: Mon, 29 Aug 2022 18:26:57 -0400 Subject: [Agda] Path to success with Agda? In-Reply-To: References: Message-ID: I feel your pain. I started learning Agda on a number of occasions, only to put it aside having made no discernible progress. It wasn't until the third time I tried that I actually succeeded. What finally clicked for me was Martin Escardo's course Introduction to Univalent Foundations in Agda . Imho, it achieves the perfect balance between Agda basics/background and interesting mathematics that I wanted to learn about for its own sake. After working through the course, the main Agda idioms (and Martin's style) were firmly implanted in my brain and I could prove pretty much whatever I wanted after that. Martin structures proofs in a uniform and elementary way that makes them easy to learn. Moreover, he is skilled at avoiding parts of the language that might cause difficulties or confusion. Martin's course---as well as our own agda-algebras library, ualib.org (shameless plug ?)---support the claim that you don't really need `with`, or the K axiom for that matter, to prove many deep theorems with Agda. Good luck and don't give up! Sincerely, William [image: NJIT logo] *William DeMeo, PhD* Senior University Lecturer in Computer Science Ying Wu College of Computing wjd at njit.edu ? williamdemeo.org ? (516)912-3162 <5169123162> On Mon, Aug 29, 2022 at 5:50 PM Jason Hu wrote: > Indeed, pattern matching in Agda is very powerful, often more powerful > than expected if you come from Coq, but usually the complete opposite if > you just follow your nose. I think you fall into the latter case. > > > > If you ignore some bugs in the pattern matcher (which you might well bump > into), from my learning experience, I think it is the best to learn why > Agda refuses your pattern by writing out a helper function supposedly > generated by the pattern matcher and with-patterns; recall that this is > also how Agda handles it after all (at least this is how the doc phrases > it). By writing a helper out, you might obtain some information about why > Agda rejects you, or you might just succeed. The latter case could mean > that you just phrased a smarter helper than Agda could, or you worked > around an Agda bug. > > > > To answer your questions directly, if a case split fails, it is likely > that the variable you are splitting is depended on by some other type, > which triggers some further mechanisms that eventually fails the case > split. Another common possibility is that you turned on without-K, but your > case split effectively is doing that. This case can be checked by observing > whether a case split will cause unification of the same variable. > > > > If your with-pattern fails, it could mean that you are not generalizing > enough. For example, if you are with-patterning a term of type (foo bar) > and it fails, it might be fixed by generalizing bar before (foo bar), which > causes both bar and (foo bar) being abstracted and thus making the > Typechecker happy. > > > > In general, I don?t think you need to read anybody?s thesis to have a > high-level impression on how to please Agda. However, having experience in > another proof assistant or type theory in general definitely helps. If you > have more questions I think many can answer you if you ask here. > > > > Thanks, > > Jason > > > > *From: *Ignat Insarov > *Sent: *Monday, August 29, 2022 5:12 PM > *To: *agda at lists.chalmers.se > *Subject: *[Agda] Path to success with Agda? > > > > Hello! > > I have been trying to learn Agda time and again and I have not made much > headway > yet. Once I stray a little aside from the happy path of _Programming > Language > Foundations with Agda_, things start to get sour. Even the exercises in > the book > give me a hard time whenever they let me a little freedom to get myself > lost. > > * You cannot always make cases for a given parameter. If you want to > understand > when you can and cannot make cases for a parameter, you have to read a > thesis > of the person that has written the pattern matching code. > > * You cannot always have a with-abstraction ? sometimes the auxiliary > functions > it compiles to do not type check. If you want to understand when you can > and > cannot make a with-abstraction, you only have the language reference to > help > you out, and it does not explain the problem in enough detail. > > But there is nothing in the language to help me write proofs but pattern > matching and with-abstractions! > > My first language is Haskell and it was a bit hard to learn, but there was > the > amazing community to support my efforts. With Agda, the main venue seems > to be > the Zulip chat, but it is more dead than alive. No one is rushing to > explain > anything to me. > > I have no problem learning Type Theory by itself, since there are great > books > out there. ? types, eliminators, you name it ? no problem. My problem > seems to > be rooted in the technical difficulties that are specific to Agda ? the > pattern > matching algorithm and the ill-typed with-abstractions. > > Are there any success stories from people that did not learn Agda as a > student > with the people that have written Agda itself or do research in Type > Theory with > Agda or something to that end? I can see how someone might get good with > Agda if > one is near to an expert, but doing it on my own seems to be a hard task. > Ars > longa, vita brevis! What is the path I should take so that I get to write > realistic proofs and still have time left to enjoy the success? > _______________________________________________ > Agda mailing list > Agda at lists.chalmers.se > https://lists.chalmers.se/mailman/listinfo/agda > > > _______________________________________________ > Agda mailing list > Agda at lists.chalmers.se > https://lists.chalmers.se/mailman/listinfo/agda > -------------- next part -------------- An HTML attachment was scrubbed... URL: From kindaro at gmail.com Tue Aug 30 01:02:14 2022 From: kindaro at gmail.com (Ignat Insarov) Date: Tue, 30 Aug 2022 01:02:14 +0200 Subject: [Agda] Path to success with Agda? In-Reply-To: References: Message-ID: Cool, let us dig in! > If you ignore some bugs in the pattern matcher (which you might well bump > into), from my learning experience, I think it is the best to learn why Agda > refuses your pattern by writing out a helper function supposedly generated by > the pattern matcher and with-patterns; recall that this is also how Agda > handles it after all (at least this is how the doc phrases it). By writing a > helper out, you might obtain some information about why Agda rejects you, or > you might just succeed. The latter case could mean that you just phrased a > smarter helper than Agda could, or you worked around an Agda bug. I am all for it, but how do I write such a helper??I tried to follow the language reference, but it does not make sense.?It reads more like a remainder for someone who is already familiar with the principles, than as an introduction. > To answer your questions directly, if a case split fails, it is likely that > the variable you are splitting is depended on by some other type, which > triggers some further mechanisms that eventually fails the case split. Another > common possibility is that you turned on without-K, but your case split > effectively is doing that. This case can be checked by observing whether a > case split will cause unification of the same variable. What do you mean when you say _?a case split will cause unification of the same variable?_? > If your with-pattern fails, it could mean that you are not generalizing > enough. For example, if you are with-patterning a term of type (foo bar) and > it fails, it might be fixed by generalizing bar before (foo bar), which causes > both bar and (foo bar) being abstracted and thus making the Typechecker happy. What does it mean to _?generalize?_ here??Following your example, how would a generalized _bar_ look??What does it mean for _bar_ and _foo bar_ to be abstracted??How does this help with type checking? From fdhzs2010 at hotmail.com Tue Aug 30 01:50:12 2022 From: fdhzs2010 at hotmail.com (Jason Hu) Date: Mon, 29 Aug 2022 23:50:12 +0000 Subject: [Agda] Path to success with Agda? In-Reply-To: References: Message-ID: A helper function I was referring to includes only the minimal information to finish your proof. Maybe you can try to do this exercise: end all proofs with a function application of some lemmas and these lemmas must not live in the where block of your main lemma. This I can ensure you is achievable. Then you are forced to think about what are the least required assumptions. Regarding your second question, without-K is an option that overcomes a historical limitation of dependent pattern matching. I am not capable of explaining what is the effect of K in short sentences, but one such example is when you try to eliminate a term of type x ? x. This will fail because it requires to unify x and x. In general, the guiding principle is, when two variables are meant to be equal, use equality, instead of writing the same variable twice. Generalization just means to include more assumptions. Generalization of arguments is a common proof technique which is frequently seen in, say, induction. You generalize when your induction hypothesis or any assumption in general is not strong enough. Here, it means that the helper function generated by Agda is not general enough to pass typechecking, so your with-pattern fails. Like I suggested, if you can just try to distill the only necessary assumptions of your problem, you will learn much about your problem and Agda. I first started with Coq and worked with all the minor details of proof term constructions (e.g. through convoy patterns, etc.). Like I said, that gave me a positive shock because the good overwhelmed the bad. If learning Agda is not a must for you, I think it might be better to look at other systems like Lean or Coq, which you might find easier to pick up and could give you another view of type theory, but it?s really up to your background and what you already know. If you try Coq, there is a plugin called Equations which actually implements Agda style with-patterns. Thanks, Jason From: Ignat Insarov Sent: Monday, August 29, 2022 7:01 PM To: Jason Hu Cc: agda at lists.chalmers.se Subject: Re: [Agda] Path to success with Agda? Cool, let us dig in! > If you ignore some bugs in the pattern matcher (which you might well bump > into), from my learning experience, I think it is the best to learn why Agda > refuses your pattern by writing out a helper function supposedly generated by > the pattern matcher and with-patterns; recall that this is also how Agda > handles it after all (at least this is how the doc phrases it). By writing a > helper out, you might obtain some information about why Agda rejects you, or > you might just succeed. The latter case could mean that you just phrased a > smarter helper than Agda could, or you worked around an Agda bug. I am all for it, but how do I write such a helper??I tried to follow the language reference, but it does not make sense.?It reads more like a remainder for someone who is already familiar with the principles, than as an introduction. > To answer your questions directly, if a case split fails, it is likely that > the variable you are splitting is depended on by some other type, which > triggers some further mechanisms that eventually fails the case split. Another > common possibility is that you turned on without-K, but your case split > effectively is doing that. This case can be checked by observing whether a > case split will cause unification of the same variable. What do you mean when you say _?a case split will cause unification of the same variable?_? > If your with-pattern fails, it could mean that you are not generalizing > enough. For example, if you are with-patterning a term of type (foo bar) and > it fails, it might be fixed by generalizing bar before (foo bar), which causes > both bar and (foo bar) being abstracted and thus making the Typechecker happy. What does it mean to _?generalize?_ here??Following your example, how would a generalized _bar_ look??What does it mean for _bar_ and _foo bar_ to be abstracted??How does this help with type checking? -------------- next part -------------- An HTML attachment was scrubbed... URL: From Andrew.Pitts at cl.cam.ac.uk Tue Aug 30 09:58:14 2022 From: Andrew.Pitts at cl.cam.ac.uk (Andrew Pitts) Date: Tue, 30 Aug 2022 08:58:14 +0100 Subject: [Agda] Path to success with Agda? In-Reply-To: References: Message-ID: > On 30 Aug 2022, at 00:02, Ignat Insarov wrote: > > Cool, let us dig in! Personally, Agda?s implementation of dependent pattern matching was what got me using Adga rather than Coq when I first needed to use one of these systems (Lean was not an option at the time). Stick with it ? it?s great, honestly. But I sympathise about your problems with ?with? (and was interested to read Peter Hancock?s confession). It can be very annoying in the middle of a big proof to try to work around why a particular use of ?with? won?t type check. So I wanted to mention the humble ?case? expression, which functional programmers can more easily relate to, maybe. It?s less powerful that ?with?, but sometimes works (wrt the not typechecking thing) when ?with? won?t. It?s not a built-in, so one is just disguising ?ordinary? Type Theory with some user-defined syntax. For example, defining open import Agda.Primitive public case : {l m : Level} {A : Set l} {B : A ? Set m} (x : A) (f : (x : A) ? B x) ? ----------------- B x case x f = f x then the first example of ?with? at becomes open import Agda.Builtin.Bool public open import Agda.Builtin.List public filter : {A : Set} ? (A ? Bool) ? List A ? List A filter p [] = [] filter p (x ? xs) = case (p x) \{ true ? x ? filter p xs ; false ? filter p xs } (of course you can write ? rather than \ if you prefer). Andy From mietek at bak.io Tue Aug 30 10:29:47 2022 From: mietek at bak.io (=?utf-8?Q?Mi=C3=ABtek_Bak?=) Date: Tue, 30 Aug 2022 10:29:47 +0200 Subject: [Agda] Path to success with Agda? In-Reply-To: References: Message-ID: <02A6748C-8542-4FBF-A059-FADF7BD130A0@bak.io> > On 30 Aug 2022, at 09:58, Andrew Pitts wrote: > > So I wanted to mention the humble ?case? expression, which functional programmers can more easily relate to, maybe. It?s less powerful that ?with?, but sometimes works (wrt the not typechecking thing) when ?with? won?t. It would be interesting to see an example in which `case` works and `with` does not. -- MB From Andrew.Pitts at cl.cam.ac.uk Tue Aug 30 10:42:55 2022 From: Andrew.Pitts at cl.cam.ac.uk (Andrew Pitts) Date: Tue, 30 Aug 2022 09:42:55 +0100 Subject: [Agda] Path to success with Agda? In-Reply-To: <02A6748C-8542-4FBF-A059-FADF7BD130A0@bak.io> References: <02A6748C-8542-4FBF-A059-FADF7BD130A0@bak.io> Message-ID: > On 30 Aug 2022, at 09:29, Mi?tek Bak wrote: > >> On 30 Aug 2022, at 09:58, Andrew Pitts wrote: >> >> So I wanted to mention the humble ?case? expression, which functional programmers can more easily relate to, maybe. It?s less powerful that ?with?, but sometimes works (wrt the not typechecking thing) when ?with? won?t. > > It would be interesting to see an example in which `case` works and `with` does not. I have some and will try to extract them from their context when I get a mo. However, I should qualify what I said: "but sometimes [case] works (wrt the not typechecking thing) when ?with? won?t? What I really meant was that, at the time, it was easier for me to use a ?case" expression than to figure out how to still use ?with? by moving lemmas to the top level, generalizing arguments a bit more, etc, etc. I expect there?s always a way with ?with?. And if you are heavily in to using ?rewrite? (?with? disguised), then I guess ?case? is not helpful. Andy From mechvel at scico.botik.ru Tue Aug 30 10:45:20 2022 From: mechvel at scico.botik.ru (mechvel at scico.botik.ru) Date: Tue, 30 Aug 2022 11:45:20 +0300 Subject: [Agda] Path to success with Agda? In-Reply-To: References: Message-ID: <8aaacc2155a1655df702849f5b15cdf9@scico.botik.ru> Section 1.2 in http://www.botik.ru/pub/local/Mechveliani/docon-A/3.2rc/manual.pdf has practical advises on how to write proofs in Agda. I do not know why, but these guidelines help me, and I have managed to write many different proofs. One of the advises is to use a helper function instead of `with', `case', `let' -- if they fail to type-check. And if the helper helps, then one could also consider returning back to `with' or `case' or `let' with improvements. ------ Sergei On 2022-08-30 02:02, Ignat Insarov wrote: > Cool, let us dig in! > >> If you ignore some bugs in the pattern matcher (which you might well >> bump >> into), from my learning experience, I think it is the best to learn >> why Agda >> refuses your pattern by writing out a helper function supposedly >> generated by >> the pattern matcher and with-patterns; recall that this is also how >> Agda >> handles it after all (at least this is how the doc phrases it). By >> writing a >> helper out, you might obtain some information about why Agda rejects >> you, or >> you might just succeed. The latter case could mean that you just >> phrased a >> smarter helper than Agda could, or you worked around an Agda bug. > > I am all for it, but how do I write such a helper??I tried to follow > the > language reference, but it does not make sense.?It reads more like a > remainder > for someone who is already familiar with the principles, than as an > introduction. > >> To answer your questions directly, if a case split fails, it is likely >> that >> the variable you are splitting is depended on by some other type, >> which >> triggers some further mechanisms that eventually fails the case split. >> Another >> common possibility is that you turned on without-K, but your case >> split >> effectively is doing that. This case can be checked by observing >> whether a >> case split will cause unification of the same variable. > > What do you mean when you say _?a case split will cause unification of > the same > variable?_? > >> If your with-pattern fails, it could mean that you are not >> generalizing >> enough. For example, if you are with-patterning a term of type (foo >> bar) and >> it fails, it might be fixed by generalizing bar before (foo bar), >> which causes >> both bar and (foo bar) being abstracted and thus making the >> Typechecker happy. > > What does it mean to _?generalize?_ here??Following your example, how > would a > generalized _bar_ look??What does it mean for _bar_ and _foo bar_ to be > abstracted??How does this help with type checking? > _______________________________________________ > Agda mailing list > Agda at lists.chalmers.se > https://lists.chalmers.se/mailman/listinfo/agda From abreu223 at gmail.com Tue Aug 30 14:26:28 2022 From: abreu223 at gmail.com (Pedro Abreu) Date: Tue, 30 Aug 2022 09:26:28 -0300 Subject: [Agda] Path to success with Agda? In-Reply-To: References: Message-ID: Since a lot of this discussion is around pattern matching, you may find this interview with Jesper Cocx helpful: https://www.typetheoryforall.com/2022/04/02/16-Agda,-K-Axiom,-HoTT,-Rewrite-Theory-(Jesper-Cockx).html#c359641b Best, Pedro Abreu. On Tue, Aug 30, 2022 at 7:00 AM wrote: > > Send Agda mailing list submissions to > agda at lists.chalmers.se > > To subscribe or unsubscribe via the World Wide Web, visit > https://lists.chalmers.se/mailman/listinfo/agda > or, via email, send a message with subject or body 'help' to > agda-request at lists.chalmers.se > > You can reach the person managing the list at > agda-owner at lists.chalmers.se > > When replying, please edit your Subject line so it is more specific > than "Re: Contents of Agda digest..." > > > Today's Topics: > > 1. Re: Path to success with Agda? (Andrew Pitts) > 2. Re: Path to success with Agda? (Mi?tek Bak) > 3. Re: Path to success with Agda? (Andrew Pitts) > 4. Re: Path to success with Agda? (mechvel at scico.botik.ru) > > > ---------------------------------------------------------------------- > > Message: 1 > Date: Tue, 30 Aug 2022 08:58:14 +0100 > From: Andrew Pitts > To: Ignat Insarov , "agda at lists.chalmers.se" > > Subject: Re: [Agda] Path to success with Agda? > Message-ID: > Content-Type: text/plain; charset=utf-8 > > > > On 30 Aug 2022, at 00:02, Ignat Insarov wrote: > > > > Cool, let us dig in! > > Personally, Agda?s implementation of dependent pattern matching was what got me using Adga rather than Coq when I first needed to use one of these systems (Lean was not an option at the time). Stick with it ? it?s great, honestly. > > But I sympathise about your problems with ?with? (and was interested to read Peter Hancock?s confession). It can be very annoying in the middle of a big proof to try to work around why a particular use of ?with? won?t type check. > > So I wanted to mention the humble ?case? expression, which functional programmers can more easily relate to, maybe. It?s less powerful that ?with?, but sometimes works (wrt the not typechecking thing) when ?with? won?t. > > It?s not a built-in, so one is just disguising ?ordinary? Type Theory with some user-defined syntax. For example, defining > > open import Agda.Primitive public > case : > {l m : Level} > {A : Set l} > {B : A ? Set m} > (x : A) > (f : (x : A) ? B x) > ? ----------------- > B x > case x f = f x > > then the first example of ?with? at < https://agda.readthedocs.io/en/latest/language/with-abstraction.html> becomes > > open import Agda.Builtin.Bool public > open import Agda.Builtin.List public > filter : {A : Set} ? (A ? Bool) ? List A ? List A > filter p [] = [] > filter p (x ? xs) = case (p x) \{ > true ? x ? filter p xs ; > false ? filter p xs } > > (of course you can write ? rather than \ if you prefer). > > Andy > > > > > > > > > ------------------------------ > > Message: 2 > Date: Tue, 30 Aug 2022 10:29:47 +0200 > From: Mi?tek Bak > To: Andrew Pitts > Cc: Ignat Insarov , "agda at lists.chalmers.se" > > Subject: Re: [Agda] Path to success with Agda? > Message-ID: <02A6748C-8542-4FBF-A059-FADF7BD130A0 at bak.io> > Content-Type: text/plain; charset=utf-8 > > > On 30 Aug 2022, at 09:58, Andrew Pitts wrote: > > > > So I wanted to mention the humble ?case? expression, which functional programmers can more easily relate to, maybe. It?s less powerful that ?with?, but sometimes works (wrt the not typechecking thing) when ?with? won?t. > > It would be interesting to see an example in which `case` works and `with` does not. > > -- > MB > > > > > ------------------------------ > > Message: 3 > Date: Tue, 30 Aug 2022 09:42:55 +0100 > From: Andrew Pitts > To: "agda at lists.chalmers.se" , Mi?tek Bak > > Subject: Re: [Agda] Path to success with Agda? > Message-ID: > Content-Type: text/plain; charset=utf-8 > > > > > On 30 Aug 2022, at 09:29, Mi?tek Bak wrote: > > > >> On 30 Aug 2022, at 09:58, Andrew Pitts wrote: > >> > >> So I wanted to mention the humble ?case? expression, which functional programmers can more easily relate to, maybe. It?s less powerful that ?with?, but sometimes works (wrt the not typechecking thing) when ?with? won?t. > > > > It would be interesting to see an example in which `case` works and `with` does not. > > I have some and will try to extract them from their context when I get a mo. However, I should qualify what I said: > > "but sometimes [case] works (wrt the not typechecking thing) when ?with? won?t? > > What I really meant was that, at the time, it was easier for me to use a ?case" expression than to figure out how to still use ?with? by moving lemmas to the top level, generalizing arguments a bit more, etc, etc. I expect there?s always a way with ?with?. > > And if you are heavily in to using ?rewrite? (?with? disguised), then I guess ?case? is not helpful. > > Andy > > > > ------------------------------ > > Message: 4 > Date: Tue, 30 Aug 2022 11:45:20 +0300 > From: mechvel at scico.botik.ru > To: Ignat Insarov > Cc: Jason Hu , agda at lists.chalmers.se > Subject: Re: [Agda] Path to success with Agda? > Message-ID: <8aaacc2155a1655df702849f5b15cdf9 at scico.botik.ru> > Content-Type: text/plain; charset=UTF-8; format=flowed > > Section 1.2 in > > http://www.botik.ru/pub/local/Mechveliani/docon-A/3.2rc/manual.pdf > > has practical advises on how to write proofs in Agda. > I do not know why, but these guidelines help me, and I have managed to > write > many different proofs. > One of the advises is to use a helper function instead of `with', > `case', `let' > -- if they fail to type-check. > And if the helper helps, then one could also consider returning back to > `with' or `case' or `let' with improvements. > > ------ > Sergei > > > > On 2022-08-30 02:02, Ignat Insarov wrote: > > Cool, let us dig in! > > > >> If you ignore some bugs in the pattern matcher (which you might well > >> bump > >> into), from my learning experience, I think it is the best to learn > >> why Agda > >> refuses your pattern by writing out a helper function supposedly > >> generated by > >> the pattern matcher and with-patterns; recall that this is also how > >> Agda > >> handles it after all (at least this is how the doc phrases it). By > >> writing a > >> helper out, you might obtain some information about why Agda rejects > >> you, or > >> you might just succeed. The latter case could mean that you just > >> phrased a > >> smarter helper than Agda could, or you worked around an Agda bug. > > > > I am all for it, but how do I write such a helper??I tried to follow > > the > > language reference, but it does not make sense.?It reads more like a > > remainder > > for someone who is already familiar with the principles, than as an > > introduction. > > > >> To answer your questions directly, if a case split fails, it is likely > >> that > >> the variable you are splitting is depended on by some other type, > >> which > >> triggers some further mechanisms that eventually fails the case split. > >> Another > >> common possibility is that you turned on without-K, but your case > >> split > >> effectively is doing that. This case can be checked by observing > >> whether a > >> case split will cause unification of the same variable. > > > > What do you mean when you say _?a case split will cause unification of > > the same > > variable?_? > > > >> If your with-pattern fails, it could mean that you are not > >> generalizing > >> enough. For example, if you are with-patterning a term of type (foo > >> bar) and > >> it fails, it might be fixed by generalizing bar before (foo bar), > >> which causes > >> both bar and (foo bar) being abstracted and thus making the > >> Typechecker happy. > > > > What does it mean to _?generalize?_ here??Following your example, how > > would a > > generalized _bar_ look??What does it mean for _bar_ and _foo bar_ to be > > abstracted??How does this help with type checking? > > _______________________________________________ > > Agda mailing list > > Agda at lists.chalmers.se > > https://lists.chalmers.se/mailman/listinfo/agda > > > ------------------------------ > > Subject: Digest Footer > > _______________________________________________ > Agda mailing list > Agda at lists.chalmers.se > https://lists.chalmers.se/mailman/listinfo/agda > > > ------------------------------ > > End of Agda Digest, Vol 204, Issue 8 > ************************************ -------------- next part -------------- An HTML attachment was scrubbed... URL: From Thorsten.Altenkirch at nottingham.ac.uk Wed Aug 31 14:57:04 2022 From: Thorsten.Altenkirch at nottingham.ac.uk (Thorsten Altenkirch) Date: Wed, 31 Aug 2022 12:57:04 +0000 Subject: [Agda] Path to success with Agda? In-Reply-To: References: <02A6748C-8542-4FBF-A059-FADF7BD130A0@bak.io> Message-ID: Maybe somebody should implement the smart case? http://www.cs.nott.ac.uk/~psztxa/talks/shonan11.pdf From: Agda on behalf of Andrew Pitts Date: Tuesday, 30 August 2022 at 10:48 To: agda at lists.chalmers.se , Mi?tek Bak Subject: Re: [Agda] Path to success with Agda? > On 30 Aug 2022, at 09:29, Mi?tek Bak wrote: > >> On 30 Aug 2022, at 09:58, Andrew Pitts wrote: >> >> So I wanted to mention the humble ?case? expression, which functional programmers can more easily relate to, maybe. It?s less powerful that ?with?, but sometimes works (wrt the not typechecking thing) when ?with? won?t. > > It would be interesting to see an example in which `case` works and `with` does not. I have some and will try to extract them from their context when I get a mo. However, I should qualify what I said: "but sometimes [case] works (wrt the not typechecking thing) when ?with? won?t? What I really meant was that, at the time, it was easier for me to use a ?case" expression than to figure out how to still use ?with? by moving lemmas to the top level, generalizing arguments a bit more, etc, etc. I expect there?s always a way with ?with?. And if you are heavily in to using ?rewrite? (?with? disguised), then I guess ?case? is not helpful. Andy _______________________________________________ Agda mailing list Agda at lists.chalmers.se https://lists.chalmers.se/mailman/listinfo/agda 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. -------------- next part -------------- An HTML attachment was scrubbed... URL: From frederic.blanqui at inria.fr Wed Aug 31 18:29:27 2022 From: frederic.blanqui at inria.fr (=?UTF-8?B?RnLDqWTDqXJpYyBCbGFucXVp?=) Date: Wed, 31 Aug 2022 18:29:27 +0200 Subject: [Agda] Last call for participation: EuroProofNet Workshop on the development, maintenance, refactoring and search of large libraries of proofs In-Reply-To: <1a606bd8-050d-b7d2-16f4-8c82cbd072a2@inria.fr> References: <1a606bd8-050d-b7d2-16f4-8c82cbd072a2@inria.fr> Message-ID: <6a825b00-3511-b921-fd6a-996c3acc488a@inria.fr> Dear all, The program of the EuroProofNet Workshop on the development, maintenance, refactoring and search of large libraries of proofs, 23-24 September 2022, is now online: https://europroofnet.github.io/wg4-meeting1/ Registration is free but mandatory. To attend the workshop, physically or online, please send me a mail. Best regards, Fr?d?ric Blanqui, chair of EuroProofNet. From andreasnuyts at gmail.com Thu Sep 1 13:09:16 2022 From: andreasnuyts at gmail.com (Andreas Nuyts) Date: Thu, 1 Sep 2022 13:09:16 +0200 Subject: [Agda] Path to success with Agda? In-Reply-To: References: <02A6748C-8542-4FBF-A059-FADF7BD130A0@bak.io> Message-ID: <08e07580-277a-9d6d-6bce-a3a31977dba1@gmail.com> Hi, I've been thinking along the lines of this smart case proposal when wondering about the possibility of judgemental naturality (w.r.t. the motive) of eliminators. I think you have to be more careful when merging constraint sets: what if a new constraint n = b is added to a constraint set containing n' = b' where n' is blocked by the neutral subterm n? This situation doesn't seem to be addressed in the slides as they are. Best, Andreas N On 31.08.22 14:57, Thorsten Altenkirch wrote: > > Maybe somebody should implement the smart case? > > http://www.cs.nott.ac.uk/~psztxa/talks/shonan11.pdf > > *From: *Agda on behalf of Andrew > Pitts > *Date: *Tuesday, 30 August 2022 at 10:48 > *To: *agda at lists.chalmers.se , Mi?tek Bak > > *Subject: *Re: [Agda] Path to success with Agda? > > > > > On 30 Aug 2022, at 09:29, Mi?tek Bak wrote: > > > >> On 30 Aug 2022, at 09:58, Andrew Pitts > wrote: > >> > >> So I wanted to mention the humble ?case? expression, which > functional programmers can more easily relate to, maybe. It?s less > powerful that ?with?, but sometimes works (wrt the not typechecking > thing) when ?with? won?t. > > > > It would be interesting to see an example in which `case` works and > `with` does not. > > I have some and will try to extract them from their context when I get > a mo. However, I should qualify what I said: > > ? "but sometimes [case] works (wrt the not typechecking thing) when > ?with? won?t? > > What I really meant was that, at the time, it was easier for me to use > a ?case" expression than to figure out how to still use ?with? by > moving lemmas to the top level, generalizing arguments a bit more, > etc, etc. I expect there?s always a way with ?with?. > > And if you are heavily in to using ?rewrite? (?with? disguised), then > I guess ?case? is not helpful. > > Andy > > _______________________________________________ > Agda mailing list > Agda at lists.chalmers.se > https://lists.chalmers.se/mailman/listinfo/agda > > 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. > > > > > _______________________________________________ > Agda mailing list > Agda at lists.chalmers.se > https://lists.chalmers.se/mailman/listinfo/agda -------------- next part -------------- An HTML attachment was scrubbed... URL: From Thorsten.Altenkirch at nottingham.ac.uk Thu Sep 1 16:57:07 2022 From: Thorsten.Altenkirch at nottingham.ac.uk (Thorsten Altenkirch) Date: Thu, 1 Sep 2022 14:57:07 +0000 Subject: [Agda] Path to success with Agda? In-Reply-To: <08e07580-277a-9d6d-6bce-a3a31977dba1@gmail.com> References: <02A6748C-8542-4FBF-A059-FADF7BD130A0@bak.io> <08e07580-277a-9d6d-6bce-a3a31977dba1@gmail.com> Message-ID: Yes, you have to normalize all previous constraints when you add a new one. Thorsten From: Agda on behalf of Andreas Nuyts Date: Thursday, 1 September 2022 at 12:09 To: Thorsten Altenkirch (staff) , Andrew Pitts , agda at lists.chalmers.se , Mi?tek Bak Subject: Re: [Agda] Path to success with Agda? Hi, I've been thinking along the lines of this smart case proposal when wondering about the possibility of judgemental naturality (w.r.t. the motive) of eliminators. I think you have to be more careful when merging constraint sets: what if a new constraint n = b is added to a constraint set containing n' = b' where n' is blocked by the neutral subterm n? This situation doesn't seem to be addressed in the slides as they are. Best, Andreas N On 31.08.22 14:57, Thorsten Altenkirch wrote: Maybe somebody should implement the smart case? http://www.cs.nott.ac.uk/~psztxa/talks/shonan11.pdf From: Agda on behalf of Andrew Pitts Date: Tuesday, 30 August 2022 at 10:48 To: agda at lists.chalmers.se , Mi?tek Bak Subject: Re: [Agda] Path to success with Agda? > On 30 Aug 2022, at 09:29, Mi?tek Bak wrote: > >> On 30 Aug 2022, at 09:58, Andrew Pitts wrote: >> >> So I wanted to mention the humble ?case? expression, which functional programmers can more easily relate to, maybe. It?s less powerful that ?with?, but sometimes works (wrt the not typechecking thing) when ?with? won?t. > > It would be interesting to see an example in which `case` works and `with` does not. I have some and will try to extract them from their context when I get a mo. However, I should qualify what I said: "but sometimes [case] works (wrt the not typechecking thing) when ?with? won?t? What I really meant was that, at the time, it was easier for me to use a ?case" expression than to figure out how to still use ?with? by moving lemmas to the top level, generalizing arguments a bit more, etc, etc. I expect there?s always a way with ?with?. And if you are heavily in to using ?rewrite? (?with? disguised), then I guess ?case? is not helpful. Andy _______________________________________________ Agda mailing list Agda at lists.chalmers.se https://lists.chalmers.se/mailman/listinfo/agda 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. _______________________________________________ Agda mailing list Agda at lists.chalmers.se https://lists.chalmers.se/mailman/listinfo/agda 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. -------------- next part -------------- An HTML attachment was scrubbed... URL: From kindaro at gmail.com Sat Sep 3 11:46:11 2022 From: kindaro at gmail.com (Ignat Insarov) Date: Sat, 3 Sep 2022 11:46:11 +0200 Subject: [Agda] =?utf-8?q?=C2=ABExtensionally_but_not_definitionally_equa?= =?utf-8?b?bMK7IOKAlCBjYW4gSSBzYXkgdGhhdD8=?= Message-ID: Hello! Suppose I have two definitions of addition ? one works on Peano numbers and the other works in binary representation.?Can I express in Agda that these two definitions are extensionally equal but definitionally distinct? Ideally in the future I want to proceed to reasoning about their asymptotic performance (linear versus logarithmic).?So, I want to have several notions of equality, finer than the commonly postulated functional extensionality. The way I imagine this could go is by reifying the definition of said functions as a syntactic tree or another appropriate encoding of the way Agda sees them.?Then I should say ?these two functions are extensionally equal ? their representation as syntactic trees is distinct?.?Is this realistic??Are there other approaches? See also on Zulip: From Thorsten.Altenkirch at nottingham.ac.uk Mon Sep 5 11:38:40 2022 From: Thorsten.Altenkirch at nottingham.ac.uk (Thorsten Altenkirch) Date: Mon, 5 Sep 2022 09:38:40 +0000 Subject: [Agda] =?utf-8?q?=C2=ABExtensionally_but_not_definitionally_equa?= =?utf-8?b?bMK7IOKAlCBjYW4gSSBzYXkgdGhhdD8=?= In-Reply-To: References: Message-ID: No you cannot distinguish extensionally equal object in type theory. Otherwise extensionality as provided by cubical agda would be inconsistent. This is a feature, not a bug. If you want to talk about intensional aspects of functions you need to talk about function codes not functions. That is you need to implement a representation of functions that reveals the intensional aspects you want to talk about. In your case you may want to use a monad (I think it is called the writer monad) which counts the number of steps and then work in this monad. Cheers, Thorsten From: Agda on behalf of Ignat Insarov Date: Saturday, 3 September 2022 at 10:45 To: agda at lists.chalmers.se Subject: [Agda] ?Extensionally but not definitionally equal? ? can I say that? Hello! Suppose I have two definitions of addition ? one works on Peano numbers and the other works in binary representation.?Can I express in Agda that these two definitions are extensionally equal but definitionally distinct? Ideally in the future I want to proceed to reasoning about their asymptotic performance (linear versus logarithmic).?So, I want to have several notions of equality, finer than the commonly postulated functional extensionality. The way I imagine this could go is by reifying the definition of said functions as a syntactic tree or another appropriate encoding of the way Agda sees them.?Then I should say ?these two functions are extensionally equal ? their representation as syntactic trees is distinct?.?Is this realistic??Are there other approaches? See also on Zulip: _______________________________________________ Agda mailing list Agda at lists.chalmers.se https://lists.chalmers.se/mailman/listinfo/agda 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. -------------- next part -------------- An HTML attachment was scrubbed... URL: From apostolis.xekoukoulotakis at gmail.com Mon Sep 5 21:35:28 2022 From: apostolis.xekoukoulotakis at gmail.com (Apostolis Xekoukoulotakis) Date: Mon, 5 Sep 2022 22:35:28 +0300 Subject: [Agda] =?utf-8?q?=C2=ABExtensionally_but_not_definitionally_equa?= =?utf-8?b?bMK7IOKAlCBjYW4gSSBzYXkgdGhhdD8=?= In-Reply-To: References: Message-ID: *I think that one missing piece of information here is that the fact that you cant prove that two things are equal doesnt not mean that they are not equal.* On Mon, Sep 5, 2022 at 12:38 PM Thorsten Altenkirch < Thorsten.Altenkirch at nottingham.ac.uk> wrote: > No you cannot distinguish extensionally equal object in type theory. > Otherwise extensionality as provided by cubical agda would be inconsistent. > This is a feature, not a bug. > > > > If you want to talk about intensional aspects of functions you need to > talk about function codes not functions. That is you need to implement a > representation of functions that reveals the intensional aspects you want > to talk about. In your case you may want to use a monad (I think it is > called the writer monad) which counts the number of steps and then work in > this monad. > > > > Cheers, > > Thorsten > > > > *From: *Agda on behalf of Ignat Insarov < > kindaro at gmail.com> > *Date: *Saturday, 3 September 2022 at 10:45 > *To: *agda at lists.chalmers.se > *Subject: *[Agda] ?Extensionally but not definitionally equal? ? can I > say that? > > Hello! > > Suppose I have two definitions of addition ? one works on Peano > numbers and the other works in binary representation. Can I express in > Agda that these two definitions are extensionally equal but > definitionally distinct? > > Ideally in the future I want to proceed to reasoning about their > asymptotic performance (linear versus logarithmic). So, I want to have > several notions of equality, finer than the commonly postulated > functional extensionality. > > The way I imagine this could go is by reifying the definition of said > functions as a syntactic tree or another appropriate encoding of the > way Agda sees them. Then I should say ?these two functions are > extensionally equal ? their representation as syntactic trees is > distinct?. Is this realistic? Are there other approaches? > > See also on Zulip: > < > https://agda.zulipchat.com/#narrow/stream/238741-general/topic/Extensionally.20but.20not.20definitionally.20equal.20.E2.80.94.20can.20I.20say.20that.3F/near/296889550 > > > _______________________________________________ > Agda mailing list > Agda at lists.chalmers.se > https://lists.chalmers.se/mailman/listinfo/agda > > 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. > > > > > _______________________________________________ > Agda mailing list > Agda at lists.chalmers.se > https://lists.chalmers.se/mailman/listinfo/agda > -------------- next part -------------- An HTML attachment was scrubbed... URL: From Thorsten.Altenkirch at nottingham.ac.uk Mon Sep 5 23:36:02 2022 From: Thorsten.Altenkirch at nottingham.ac.uk (Thorsten Altenkirch) Date: Mon, 5 Sep 2022 21:36:02 +0000 Subject: [Agda] =?utf-8?q?=C2=ABExtensionally_but_not_definitionally_equa?= =?utf-8?b?bMK7IOKAlCBjYW4gSSBzYXkgdGhhdD8=?= In-Reply-To: References: Message-ID: How does this matter? Get Outlook for iOS ________________________________ From: Apostolis Xekoukoulotakis Sent: Monday, September 5, 2022 8:35:28 PM To: Thorsten Altenkirch (staff) Cc: Ignat Insarov ; agda at lists.chalmers.se Subject: Re: [Agda] ?Extensionally but not definitionally equal? ? can I say that? I think that one missing piece of information here is that the fact that you cant prove that two things are equal doesnt not mean that they are not equal. On Mon, Sep 5, 2022 at 12:38 PM Thorsten Altenkirch > wrote: No you cannot distinguish extensionally equal object in type theory. Otherwise extensionality as provided by cubical agda would be inconsistent. This is a feature, not a bug. If you want to talk about intensional aspects of functions you need to talk about function codes not functions. That is you need to implement a representation of functions that reveals the intensional aspects you want to talk about. In your case you may want to use a monad (I think it is called the writer monad) which counts the number of steps and then work in this monad. Cheers, Thorsten From: Agda > on behalf of Ignat Insarov > Date: Saturday, 3 September 2022 at 10:45 To: agda at lists.chalmers.se > Subject: [Agda] ?Extensionally but not definitionally equal? ? can I say that? Hello! Suppose I have two definitions of addition ? one works on Peano numbers and the other works in binary representation.?Can I express in Agda that these two definitions are extensionally equal but definitionally distinct? Ideally in the future I want to proceed to reasoning about their asymptotic performance (linear versus logarithmic).?So, I want to have several notions of equality, finer than the commonly postulated functional extensionality. The way I imagine this could go is by reifying the definition of said functions as a syntactic tree or another appropriate encoding of the way Agda sees them.?Then I should say ?these two functions are extensionally equal ? their representation as syntactic trees is distinct?.?Is this realistic??Are there other approaches? See also on Zulip: _______________________________________________ Agda mailing list Agda at lists.chalmers.se https://lists.chalmers.se/mailman/listinfo/agda 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. _______________________________________________ Agda mailing list Agda at lists.chalmers.se https://lists.chalmers.se/mailman/listinfo/agda 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. -------------- next part -------------- An HTML attachment was scrubbed... URL: From apostolis.xekoukoulotakis at gmail.com Tue Sep 6 12:45:23 2022 From: apostolis.xekoukoulotakis at gmail.com (Apostolis Xekoukoulotakis) Date: Tue, 6 Sep 2022 13:45:23 +0300 Subject: [Agda] =?utf-8?q?=C2=ABExtensionally_but_not_definitionally_equa?= =?utf-8?b?bMK7IOKAlCBjYW4gSSBzYXkgdGhhdD8=?= In-Reply-To: References: Message-ID: I was thinking that something that can not be shown definitionally equal by the type checker does not tell us anything about whether it is propositionally equal or not. ( I was assuming that this would be the way to encode "definitional" equality in Agda) But now I understand your point. Any data structure that would indicate that two functions are intensionally distinct would be impossible since extensionally equal functions are equal in cubical theory. Thus we would be able to show that a function f is intensionally distinct with itself. On Tue, Sep 6, 2022 at 12:36 AM Thorsten Altenkirch < Thorsten.Altenkirch at nottingham.ac.uk> wrote: > How does this matter? > > Get Outlook for iOS > ------------------------------ > *From:* Apostolis Xekoukoulotakis > *Sent:* Monday, September 5, 2022 8:35:28 PM > *To:* Thorsten Altenkirch (staff) > *Cc:* Ignat Insarov ; agda at lists.chalmers.se < > agda at lists.chalmers.se> > *Subject:* Re: [Agda] ?Extensionally but not definitionally equal? ? can > I say that? > > *I think that one missing piece of information here is that the fact that > you cant prove that two things are equal doesnt not mean that they are not > equal.* > > On Mon, Sep 5, 2022 at 12:38 PM Thorsten Altenkirch < > Thorsten.Altenkirch at nottingham.ac.uk> wrote: > > No you cannot distinguish extensionally equal object in type theory. > Otherwise extensionality as provided by cubical agda would be inconsistent. > This is a feature, not a bug. > > > > If you want to talk about intensional aspects of functions you need to > talk about function codes not functions. That is you need to implement a > representation of functions that reveals the intensional aspects you want > to talk about. In your case you may want to use a monad (I think it is > called the writer monad) which counts the number of steps and then work in > this monad. > > > > Cheers, > > Thorsten > > > > *From: *Agda on behalf of Ignat Insarov < > kindaro at gmail.com> > *Date: *Saturday, 3 September 2022 at 10:45 > *To: *agda at lists.chalmers.se > *Subject: *[Agda] ?Extensionally but not definitionally equal? ? can I > say that? > > Hello! > > Suppose I have two definitions of addition ? one works on Peano > numbers and the other works in binary representation. Can I express in > Agda that these two definitions are extensionally equal but > definitionally distinct? > > Ideally in the future I want to proceed to reasoning about their > asymptotic performance (linear versus logarithmic). So, I want to have > several notions of equality, finer than the commonly postulated > functional extensionality. > > The way I imagine this could go is by reifying the definition of said > functions as a syntactic tree or another appropriate encoding of the > way Agda sees them. Then I should say ?these two functions are > extensionally equal ? their representation as syntactic trees is > distinct?. Is this realistic? Are there other approaches? > > See also on Zulip: > < > https://agda.zulipchat.com/#narrow/stream/238741-general/topic/Extensionally.20but.20not.20definitionally.20equal.20.E2.80.94.20can.20I.20say.20that.3F/near/296889550 > > > _______________________________________________ > Agda mailing list > Agda at lists.chalmers.se > https://lists.chalmers.se/mailman/listinfo/agda > > 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. > > > > > _______________________________________________ > Agda mailing list > Agda at lists.chalmers.se > https://lists.chalmers.se/mailman/listinfo/agda > > 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. > > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From andreasnuyts at gmail.com Tue Sep 6 12:54:15 2022 From: andreasnuyts at gmail.com (Andreas Nuyts) Date: Tue, 6 Sep 2022 12:54:15 +0200 Subject: [Agda] =?utf-8?q?=C2=ABExtensionally_but_not_definitionally_equa?= =?utf-8?b?bMK7IOKAlCBjYW4gSSBzYXkgdGhhdD8=?= In-Reply-To: References: Message-ID: <0a25e93a-c0cb-c056-182b-609a89eadb8d@gmail.com> See also Pfenning's paper about "Intensionality, Extensionality, and Proof Irrelevance in Modal Type Theory": https://www.cs.cmu.edu/~fp/papers/lics01.pdf On 06.09.22 12:45, Apostolis Xekoukoulotakis wrote: > I was thinking that something that can not be shown definitionally > equal by the type checker does not tell us anything about whether it > is propositionally equal or not. ( I was assuming that this would be > the way to encode "definitional" equality in Agda) > > But now I understand your point. Any data structure that would > indicate that two functions are intensionally distinct would be > impossible since extensionally equal functions are equal in cubical > theory. > > Thus we would be able to show that a function f is intensionally > distinct with itself. > > > On Tue, Sep 6, 2022 at 12:36 AM Thorsten Altenkirch > wrote: > > How does this matter? > > Get Outlook for iOS > ------------------------------------------------------------------------ > *From:* Apostolis Xekoukoulotakis > > *Sent:* Monday, September 5, 2022 8:35:28 PM > *To:* Thorsten Altenkirch (staff) > *Cc:* Ignat Insarov ; agda at lists.chalmers.se > > *Subject:* Re: [Agda] ?Extensionally but not definitionally equal? > ? can I say that? > /I think that one missing piece of information here is that the > fact that you cant prove that two things are equal doesnt not mean > that they are not equal./ > > On Mon, Sep 5, 2022 at 12:38 PM Thorsten Altenkirch > wrote: > > No you cannot distinguish extensionally equal object in type > theory. Otherwise extensionality as provided by cubical agda > would be inconsistent. This is a feature, not a bug. > > If you want to talk about intensional aspects of functions you > need to talk about function codes not functions. That is you > need to implement a representation of functions that reveals > the intensional aspects you want to talk about. In your case > you may want to use a monad (I think it is called the writer > monad) which counts the number of steps and then work in this > monad. > > Cheers, > > Thorsten > > *From: *Agda on behalf of > Ignat Insarov > *Date: *Saturday, 3 September 2022 at 10:45 > *To: *agda at lists.chalmers.se > *Subject: *[Agda] ?Extensionally but not definitionally equal? > ? can I say that? > > Hello! > > Suppose I have two definitions of addition ? one works on Peano > numbers and the other works in binary representation.?Can I > express in > Agda that these two definitions are extensionally equal but > definitionally distinct? > > Ideally in the future I want to proceed to reasoning about their > asymptotic performance (linear versus logarithmic).?So, I want > to have > several notions of equality, finer than the commonly postulated > functional extensionality. > > The way I imagine this could go is by reifying the definition > of said > functions as a syntactic tree or another appropriate encoding > of the > way Agda sees them.?Then I should say ?these two functions are > extensionally equal ? their representation as syntactic trees is > distinct?.?Is this realistic??Are there other approaches? > > See also on Zulip: > > _______________________________________________ > Agda mailing list > Agda at lists.chalmers.se > https://lists.chalmers.se/mailman/listinfo/agda > > 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. > > > > _______________________________________________ > Agda mailing list > Agda at lists.chalmers.se > https://lists.chalmers.se/mailman/listinfo/agda > > 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. > > > > > _______________________________________________ > Agda mailing list > Agda at lists.chalmers.se > https://lists.chalmers.se/mailman/listinfo/agda -------------- next part -------------- An HTML attachment was scrubbed... URL: From nicolai.kraus at gmail.com Tue Sep 6 13:06:39 2022 From: nicolai.kraus at gmail.com (Nicolai Kraus) Date: Tue, 6 Sep 2022 12:06:39 +0100 Subject: [Agda] =?utf-8?q?=C2=ABExtensionally_but_not_definitionally_equa?= =?utf-8?b?bMK7IOKAlCBjYW4gSSBzYXkgdGhhdD8=?= In-Reply-To: References: Message-ID: Apostolis, what you wrote is right, but here's how I suggest looking at this: There are two levels, the object theory and the meta-theory. In our case, the object theory is Agda. Everything you implement lives on that level. The meta-theory is the level "above" (say, the level at which we live), which allows you to reason about how Agda behaves. "Definitionally equal" and "type-checks" are concepts of the meta-level. The object theory doesn't know about them and can't talk about them. Thus, the object theory can't say whether two implementations are definitionally distinct. Thorsten's solution essentially shifts everything by one level. The function codes become the new "object level", and Agda can now serve as meta-theory to that new level. That's why Agda can suddenly talk about intensional features of the addition function codes. Nicolai On Tue, Sep 6, 2022 at 11:45 AM Apostolis Xekoukoulotakis < apostolis.xekoukoulotakis at gmail.com> wrote: > I was thinking that something that can not be shown definitionally equal > by the type checker does not tell us anything about whether it is > propositionally equal or not. ( I was assuming that this would be the way > to encode "definitional" equality in Agda) > > But now I understand your point. Any data structure that would indicate > that two functions are intensionally distinct would be impossible since > extensionally equal functions are equal in cubical theory. > > Thus we would be able to show that a function f is intensionally distinct > with itself. > > > On Tue, Sep 6, 2022 at 12:36 AM Thorsten Altenkirch < > Thorsten.Altenkirch at nottingham.ac.uk> wrote: > >> How does this matter? >> >> Get Outlook for iOS >> ------------------------------ >> *From:* Apostolis Xekoukoulotakis >> *Sent:* Monday, September 5, 2022 8:35:28 PM >> *To:* Thorsten Altenkirch (staff) >> *Cc:* Ignat Insarov ; agda at lists.chalmers.se < >> agda at lists.chalmers.se> >> *Subject:* Re: [Agda] ?Extensionally but not definitionally equal? ? can >> I say that? >> >> *I think that one missing piece of information here is that the fact that >> you cant prove that two things are equal doesnt not mean that they are not >> equal.* >> >> On Mon, Sep 5, 2022 at 12:38 PM Thorsten Altenkirch < >> Thorsten.Altenkirch at nottingham.ac.uk> wrote: >> >> No you cannot distinguish extensionally equal object in type theory. >> Otherwise extensionality as provided by cubical agda would be inconsistent. >> This is a feature, not a bug. >> >> >> >> If you want to talk about intensional aspects of functions you need to >> talk about function codes not functions. That is you need to implement a >> representation of functions that reveals the intensional aspects you want >> to talk about. In your case you may want to use a monad (I think it is >> called the writer monad) which counts the number of steps and then work in >> this monad. >> >> >> >> Cheers, >> >> Thorsten >> >> >> >> *From: *Agda on behalf of Ignat Insarov >> >> *Date: *Saturday, 3 September 2022 at 10:45 >> *To: *agda at lists.chalmers.se >> *Subject: *[Agda] ?Extensionally but not definitionally equal? ? can I >> say that? >> >> Hello! >> >> Suppose I have two definitions of addition ? one works on Peano >> numbers and the other works in binary representation. Can I express in >> Agda that these two definitions are extensionally equal but >> definitionally distinct? >> >> Ideally in the future I want to proceed to reasoning about their >> asymptotic performance (linear versus logarithmic). So, I want to have >> several notions of equality, finer than the commonly postulated >> functional extensionality. >> >> The way I imagine this could go is by reifying the definition of said >> functions as a syntactic tree or another appropriate encoding of the >> way Agda sees them. Then I should say ?these two functions are >> extensionally equal ? their representation as syntactic trees is >> distinct?. Is this realistic? Are there other approaches? >> >> See also on Zulip: >> < >> https://agda.zulipchat.com/#narrow/stream/238741-general/topic/Extensionally.20but.20not.20definitionally.20equal.20.E2.80.94.20can.20I.20say.20that.3F/near/296889550 >> > >> _______________________________________________ >> Agda mailing list >> Agda at lists.chalmers.se >> https://lists.chalmers.se/mailman/listinfo/agda >> >> 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. >> >> >> >> >> _______________________________________________ >> Agda mailing list >> Agda at lists.chalmers.se >> https://lists.chalmers.se/mailman/listinfo/agda >> >> 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. >> >> >> >> >> _______________________________________________ > Agda mailing list > Agda at lists.chalmers.se > https://lists.chalmers.se/mailman/listinfo/agda > -------------- next part -------------- An HTML attachment was scrubbed... URL: From tozkanli2023 at gmail.com Tue Sep 6 13:29:14 2022 From: tozkanli2023 at gmail.com (=?UTF-8?Q?Tarik_=C3=96ZKANLI?=) Date: Tue, 6 Sep 2022 14:29:14 +0300 Subject: [Agda] =?utf-8?q?=C2=ABExtensionally_but_not_definitionally_equa?= =?utf-8?b?bMK7IOKAlCBjYW4gSSBzYXkgdGhhdD8=?= In-Reply-To: References: Message-ID: Hi, Is it possible to think about a formal system in which one can develop its own notion of equality across object level & higher levels? Best Regards. Tarik On Tue, 6 Sept 2022 at 14:06, Nicolai Kraus wrote: > Apostolis, what you wrote is right, but here's how I suggest looking at > this: There are two levels, the object theory and the meta-theory. In our > case, the object theory is Agda. Everything you implement lives on that > level. The meta-theory is the level "above" (say, the level at which we > live), which allows you to reason about how Agda behaves. "Definitionally > equal" and "type-checks" are concepts of the meta-level. The object theory > doesn't know about them and can't talk about them. Thus, the object theory > can't say whether two implementations are definitionally distinct. > Thorsten's solution essentially shifts everything by one level. The > function codes become the new "object level", and Agda can now serve as > meta-theory to that new level. That's why Agda can suddenly talk about > intensional features of the addition function codes. > Nicolai > > > > On Tue, Sep 6, 2022 at 11:45 AM Apostolis Xekoukoulotakis < > apostolis.xekoukoulotakis at gmail.com> wrote: > >> I was thinking that something that can not be shown definitionally equal >> by the type checker does not tell us anything about whether it is >> propositionally equal or not. ( I was assuming that this would be the way >> to encode "definitional" equality in Agda) >> >> But now I understand your point. Any data structure that would indicate >> that two functions are intensionally distinct would be impossible since >> extensionally equal functions are equal in cubical theory. >> >> Thus we would be able to show that a function f is intensionally distinct >> with itself. >> >> >> On Tue, Sep 6, 2022 at 12:36 AM Thorsten Altenkirch < >> Thorsten.Altenkirch at nottingham.ac.uk> wrote: >> >>> How does this matter? >>> >>> Get Outlook for iOS >>> ------------------------------ >>> *From:* Apostolis Xekoukoulotakis >>> *Sent:* Monday, September 5, 2022 8:35:28 PM >>> *To:* Thorsten Altenkirch (staff) >>> *Cc:* Ignat Insarov ; agda at lists.chalmers.se < >>> agda at lists.chalmers.se> >>> *Subject:* Re: [Agda] ?Extensionally but not definitionally equal? ? >>> can I say that? >>> >>> *I think that one missing piece of information here is that the fact >>> that you cant prove that two things are equal doesnt not mean that they are >>> not equal.* >>> >>> On Mon, Sep 5, 2022 at 12:38 PM Thorsten Altenkirch < >>> Thorsten.Altenkirch at nottingham.ac.uk> wrote: >>> >>> No you cannot distinguish extensionally equal object in type theory. >>> Otherwise extensionality as provided by cubical agda would be inconsistent. >>> This is a feature, not a bug. >>> >>> >>> >>> If you want to talk about intensional aspects of functions you need to >>> talk about function codes not functions. That is you need to implement a >>> representation of functions that reveals the intensional aspects you want >>> to talk about. In your case you may want to use a monad (I think it is >>> called the writer monad) which counts the number of steps and then work in >>> this monad. >>> >>> >>> >>> Cheers, >>> >>> Thorsten >>> >>> >>> >>> *From: *Agda on behalf of Ignat >>> Insarov >>> *Date: *Saturday, 3 September 2022 at 10:45 >>> *To: *agda at lists.chalmers.se >>> *Subject: *[Agda] ?Extensionally but not definitionally equal? ? can I >>> say that? >>> >>> Hello! >>> >>> Suppose I have two definitions of addition ? one works on Peano >>> numbers and the other works in binary representation. Can I express in >>> Agda that these two definitions are extensionally equal but >>> definitionally distinct? >>> >>> Ideally in the future I want to proceed to reasoning about their >>> asymptotic performance (linear versus logarithmic). So, I want to have >>> several notions of equality, finer than the commonly postulated >>> functional extensionality. >>> >>> The way I imagine this could go is by reifying the definition of said >>> functions as a syntactic tree or another appropriate encoding of the >>> way Agda sees them. Then I should say ?these two functions are >>> extensionally equal ? their representation as syntactic trees is >>> distinct?. Is this realistic? Are there other approaches? >>> >>> See also on Zulip: >>> < >>> https://agda.zulipchat.com/#narrow/stream/238741-general/topic/Extensionally.20but.20not.20definitionally.20equal.20.E2.80.94.20can.20I.20say.20that.3F/near/296889550 >>> > >>> _______________________________________________ >>> Agda mailing list >>> Agda at lists.chalmers.se >>> https://lists.chalmers.se/mailman/listinfo/agda >>> >>> 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. >>> >>> >>> >>> >>> _______________________________________________ >>> Agda mailing list >>> Agda at lists.chalmers.se >>> https://lists.chalmers.se/mailman/listinfo/agda >>> >>> 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. >>> >>> >>> >>> >>> _______________________________________________ >> Agda mailing list >> Agda at lists.chalmers.se >> https://lists.chalmers.se/mailman/listinfo/agda >> > _______________________________________________ > Agda mailing list > Agda at lists.chalmers.se > https://lists.chalmers.se/mailman/listinfo/agda > -------------- next part -------------- An HTML attachment was scrubbed... URL: From apostolis.xekoukoulotakis at gmail.com Tue Sep 6 13:37:53 2022 From: apostolis.xekoukoulotakis at gmail.com (Apostolis Xekoukoulotakis) Date: Tue, 6 Sep 2022 14:37:53 +0300 Subject: [Agda] =?utf-8?q?=C2=ABExtensionally_but_not_definitionally_equa?= =?utf-8?b?bMK7IOKAlCBjYW4gSSBzYXkgdGhhdD8=?= In-Reply-To: References: Message-ID: Yes, Nicolai, that is a very good explanation. On Tue, Sep 6, 2022 at 2:29 PM Tarik ?ZKANLI wrote: > Hi, > > Is it possible to think about a formal system in which one can develop its > own notion of equality across object level & higher levels? > > Best Regards. > > Tarik > > On Tue, 6 Sept 2022 at 14:06, Nicolai Kraus > wrote: > >> Apostolis, what you wrote is right, but here's how I suggest looking at >> this: There are two levels, the object theory and the meta-theory. In our >> case, the object theory is Agda. Everything you implement lives on that >> level. The meta-theory is the level "above" (say, the level at which we >> live), which allows you to reason about how Agda behaves. "Definitionally >> equal" and "type-checks" are concepts of the meta-level. The object theory >> doesn't know about them and can't talk about them. Thus, the object theory >> can't say whether two implementations are definitionally distinct. >> Thorsten's solution essentially shifts everything by one level. The >> function codes become the new "object level", and Agda can now serve as >> meta-theory to that new level. That's why Agda can suddenly talk about >> intensional features of the addition function codes. >> Nicolai >> >> >> >> On Tue, Sep 6, 2022 at 11:45 AM Apostolis Xekoukoulotakis < >> apostolis.xekoukoulotakis at gmail.com> wrote: >> >>> I was thinking that something that can not be shown definitionally equal >>> by the type checker does not tell us anything about whether it is >>> propositionally equal or not. ( I was assuming that this would be the way >>> to encode "definitional" equality in Agda) >>> >>> But now I understand your point. Any data structure that would indicate >>> that two functions are intensionally distinct would be impossible since >>> extensionally equal functions are equal in cubical theory. >>> >>> Thus we would be able to show that a function f is intensionally >>> distinct with itself. >>> >>> >>> On Tue, Sep 6, 2022 at 12:36 AM Thorsten Altenkirch < >>> Thorsten.Altenkirch at nottingham.ac.uk> wrote: >>> >>>> How does this matter? >>>> >>>> Get Outlook for iOS >>>> ------------------------------ >>>> *From:* Apostolis Xekoukoulotakis >>>> *Sent:* Monday, September 5, 2022 8:35:28 PM >>>> *To:* Thorsten Altenkirch (staff) >>>> *Cc:* Ignat Insarov ; agda at lists.chalmers.se < >>>> agda at lists.chalmers.se> >>>> *Subject:* Re: [Agda] ?Extensionally but not definitionally equal? ? >>>> can I say that? >>>> >>>> *I think that one missing piece of information here is that the fact >>>> that you cant prove that two things are equal doesnt not mean that they are >>>> not equal.* >>>> >>>> On Mon, Sep 5, 2022 at 12:38 PM Thorsten Altenkirch < >>>> Thorsten.Altenkirch at nottingham.ac.uk> wrote: >>>> >>>> No you cannot distinguish extensionally equal object in type theory. >>>> Otherwise extensionality as provided by cubical agda would be inconsistent. >>>> This is a feature, not a bug. >>>> >>>> >>>> >>>> If you want to talk about intensional aspects of functions you need to >>>> talk about function codes not functions. That is you need to implement a >>>> representation of functions that reveals the intensional aspects you want >>>> to talk about. In your case you may want to use a monad (I think it is >>>> called the writer monad) which counts the number of steps and then work in >>>> this monad. >>>> >>>> >>>> >>>> Cheers, >>>> >>>> Thorsten >>>> >>>> >>>> >>>> *From: *Agda on behalf of Ignat >>>> Insarov >>>> *Date: *Saturday, 3 September 2022 at 10:45 >>>> *To: *agda at lists.chalmers.se >>>> *Subject: *[Agda] ?Extensionally but not definitionally equal? ? can I >>>> say that? >>>> >>>> Hello! >>>> >>>> Suppose I have two definitions of addition ? one works on Peano >>>> numbers and the other works in binary representation. Can I express in >>>> Agda that these two definitions are extensionally equal but >>>> definitionally distinct? >>>> >>>> Ideally in the future I want to proceed to reasoning about their >>>> asymptotic performance (linear versus logarithmic). So, I want to have >>>> several notions of equality, finer than the commonly postulated >>>> functional extensionality. >>>> >>>> The way I imagine this could go is by reifying the definition of said >>>> functions as a syntactic tree or another appropriate encoding of the >>>> way Agda sees them. Then I should say ?these two functions are >>>> extensionally equal ? their representation as syntactic trees is >>>> distinct?. Is this realistic? Are there other approaches? >>>> >>>> See also on Zulip: >>>> < >>>> https://agda.zulipchat.com/#narrow/stream/238741-general/topic/Extensionally.20but.20not.20definitionally.20equal.20.E2.80.94.20can.20I.20say.20that.3F/near/296889550 >>>> > >>>> _______________________________________________ >>>> Agda mailing list >>>> Agda at lists.chalmers.se >>>> https://lists.chalmers.se/mailman/listinfo/agda >>>> >>>> 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. >>>> >>>> >>>> >>>> >>>> _______________________________________________ >>>> Agda mailing list >>>> Agda at lists.chalmers.se >>>> https://lists.chalmers.se/mailman/listinfo/agda >>>> >>>> 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. >>>> >>>> >>>> >>>> >>>> _______________________________________________ >>> Agda mailing list >>> Agda at lists.chalmers.se >>> https://lists.chalmers.se/mailman/listinfo/agda >>> >> _______________________________________________ >> Agda mailing list >> Agda at lists.chalmers.se >> https://lists.chalmers.se/mailman/listinfo/agda >> > _______________________________________________ > Agda mailing list > Agda at lists.chalmers.se > https://lists.chalmers.se/mailman/listinfo/agda > -------------- next part -------------- An HTML attachment was scrubbed... URL: From eduardoochs at gmail.com Wed Sep 14 15:28:30 2022 From: eduardoochs at gmail.com (Eduardo Ochs) Date: Wed, 14 Sep 2022 10:28:30 -0300 Subject: [Agda] Libraries for (finite) topological spaces? Message-ID: Hi list, I am working on something - Grothendieck Topologies on topologies on finite sets - that I would like to formalize in Agda. I tried to find Agda's libraries for topological spaces to use them as a starting point, but both googling and grepping returned practically nothing... Any recommendations? I mean, besides "try to adapt the code for Heyting Algebras"? Thanks in advance! Eduardo Ochs http://angg.twu.net/math-b.html From nicolai.kraus at gmail.com Wed Sep 14 18:21:58 2022 From: nicolai.kraus at gmail.com (Nicolai Kraus) Date: Wed, 14 Sep 2022 17:21:58 +0100 Subject: [Agda] Thorsten's 60th birthday Message-ID: (Apologies if this is a duplicate, I believe Tarmo's email from last week has not gone through.) Dear all, Our colleague and friend Thorsten Altenkirch will turn sixty on Thursday, 20 September 2022. We will mark this occasion with a full-day workshop/celebration ** at the University of Nottingham on Wednesday, 12 October 2022, ** including a dinner in the evening. This is primarily intended as an in-person event, but online participation will be possible, to some degree at least. To sign up, please fill out the Google form at https://docs.google .com/forms/d/e/1FAIpQLSf99-Tw-FnWWTRwaR22Qn63nMurg6oUAKH8nk9ahx2y6N_KXw/viewform?usp=sf_link by Sunday, 25 September 2022. If you'd like to give a (short) talk, please get in touch with us (nicolai.kraus at nottingham.ac.uk, conor.mcbride at strath.ac.uk, tarmo at ru.is) by email by Sunday, 18 September. We may prioritize proposals arriving earlier. Looking forward to meeting many of you there, Nicolai Kraus, Conor McBride, Tarmo Uustalu -------------- next part -------------- An HTML attachment was scrubbed... URL: From mh at informatik.uni-kiel.de Sat Sep 17 18:59:18 2022 From: mh at informatik.uni-kiel.de (Michael Hanus) Date: Sat, 17 Sep 2022 18:59:18 +0200 (CEST) Subject: [Agda] 2nd Call for Papers: PADL 2023 Message-ID: <20220917165918.70A1D2000B@lascombes.informatik.uni-kiel.de> ============================================================================== Call for Papers 25th International Symposium on Practical Aspects of Declarative Languages (PADL 2023) https://popl23.sigplan.org/home/PADL-2023 Boston, Massachusetts, United States, January 16-17, 2023 Co-located with ACM POPL 2023 ============================================================================== Conference Description ---------------------- Declarative languages comprise several well-established classes of formalisms, namely, functional, logic, and constraint programming. Such formalisms enjoy both sound theoretical bases and the availability of attractive frameworks for application development. Indeed, they have been already successfully applied to many different real-world situations, ranging from database management to active networks to software engineering to decision support systems. New developments in theory and implementation fostered applications in new areas. At the same time, applications of declarative languages to novel and challenging problems raise many interesting research issues, including designing for scalability, language extensions for application deployment, and programming environments. Thus, applications drive the progress in the theory and implementation of declarative systems, and benefit from this progress as well. PADL is a well-established forum for researchers and practitioners to present original work emphasizing novel applications and implementation techniques for all forms of declarative programming, including functional and logic programming, database and constraint programming, and theorem proving. Topics of interest include, but are not limited to: - Innovative applications of declarative languages - Declarative domain-specific languages and applications - Practical applications of theoretical results - New language developments and their impact on applications - Declarative languages and software engineering - Evaluation of implementation techniques on practical applications - Practical experiences and industrial applications - Novel uses of declarative languages in the classroom - Practical extensions such as constraint-based, probabilistic, and reactive languages PADL 2023 especially welcomes new ideas and approaches related to applications, design and implementation of declarative languages going beyond the scope of the past PADL symposia, for example, advanced database languages and contract languages, as well as verification and theorem proving methods that rely on declarative languages. Submissions ----------- PADL 2023 welcomes three kinds of submission: * Technical papers (max. 15 pages): Technical papers must describe original, previously unpublished research results. * Application papers (max. 8 pages): Application papers are a mechanism to present important practical applications of declarative languages that occur in industry or in areas of research other than Computer Science. Application papers are expected to describe complex and/or real-world applications that rely on an innovative use of declarative languages. Application descriptions, engineering solutions and real-world experiences (both positive and negative) are solicited. * Extended abstracts (max. 3 pages): Describing new ideas, a new perspective on already published work, or work-in-progress that is not yet ready for a full publication. Extended abstracts will be posted on the symposium website but will not be published in the formal proceedings. All page limits exclude references. Submissions must be written in English and formatted according to the standard Springer LNCS style, see https://www.springer.com/gp/computer-science/lncs/conference-proceedings-guidelines Page numbers (and, if possible, line numbers) should appear on the manuscript to help the reviewers in writing their reports. So, for LaTeX, we recommend that authors use: \pagestyle{plain} \usepackage{lineno} \linenumbers The conference proceedings of PADL 2023 will be published by Springer-Verlag in the Lecture Notes in Computer Science series. Work that already appeared in unpublished or informally published workshops proceedings may be submitted but the authors should notify the program chairs where it has previously appeared. Papers should be submitted electronically at https://easychair.org/conferences/?conf=padl2023 Important Dates --------------- Abstract submission: October 2, 2022 (AoE) Paper submission: October 9, 2022 (AoE) Notification: November 5, 2022 Symposium: January 16-17, 2023 Distinguished Papers -------------------- The authors of a small number of distinguished papers will be invited to submit a longer version for journal publication after the symposium. For papers related to logic programming, that will be in the journal Theory and Practice of Logic Programming (TPLP) https://www.cambridge.org/core/journals/theory-and-practice-of-logic-programming, and for papers related to functional programming, in Journal of Functional Programming (JFP) https://www.cambridge.org/core/journals/journal-of-functional-programming. The extended journal submissions should be substantially (roughly 30%) extended: explanations for which there was no space, illuminating examples and proofs, additional definitions and theorems, further experimental results, implementational details and feedback from practical/engineering use, extended discussion of related work, and so on. These submissions will then be subject to the usual peer review process by the journal, although with the aim of a swifter review process by reusing original reviews from PADL. PADL 2023 PC Co-Chairs ---------------------- - Michael Hanus, Kiel University, Germany - Daniela Inclezan, Miami University, United States Programme Committee ------------------- Andreas Abel Gothenburg University, Sweden Annette Bieniusa TU Kaiserslautern, Germany Joachim Breitner Epic Games, Germany William Byrd University of Alabama at Birmingham, USA Pedro Cabalar University of Corunna, Spain Francesco Calimeri University of Calabria, Italy Stefania Costantini University of L'Aquila, Italy Esra Erdem Sabanci University, Turkey Martin Gebser University of Klagenfurt, Austria Robert Glueck University of Copenhagen, Denmark Gopal Gupta University of Texas at Dallas, USA Michael Hanus CAU Kiel, Germany (co-chair) Daniela Inclezan Miami University, USA (co-chair) Tomi Janhunen Tampere University, Finland Patricia Johann Appalachian State University, USA Yukiyoshi Kameyama University of Tsukuba, Japan Ekaterina Komendantskaya Heriot-Watt University, UK Simona Perri University of Calabria, Italy Enrico Pontelli New Mexico State University, USA Tom Schrijvers Katholieke Universiteit Leuven, Belgium Paul Tarau University of North Texas, USA Peter Thiemann University of Freiburg, Germany Peter Van Roy Universite catholique de Louvain, Belgium Janis Voigtlaender University of Duisburg-Essen, Germany Ningning Xie University of Cambridge, UK Contact Address --------------- padl2023 _AT_ easychair.org ------------------------------------------------------------------------------- From P.Achten at cs.ru.nl Mon Sep 19 19:53:14 2022 From: P.Achten at cs.ru.nl (Peter Achten) Date: Mon, 19 Sep 2022 19:53:14 +0200 Subject: [Agda] [TFP 2023 Call for Papers] 24th International Symposium on Trends in Functional Programming Message-ID: <0c52b5fa-c82f-3e06-6f3a-57d35e2fe65d@cs.ru.nl> # TFP 2023 -- Call for Papers ## Important Dates Submission deadline: pre-symposium, full papers,? Wednesday 23rd November, 2022 Submission deadline: pre-symposium, draft papers, Friday 16th December, 2022 Notification:??????? pre-symposium submissions,?? Friday 23rd December, 2022 Registration:???????????????????????????????????? Friday 6th January, 2023 TFPIE Workshop:?????????????????????????????????? Thursday 12th January, 2023 TFP Symposium:??????????????????????????????????? Friday 13th - Sunday 15th January, 2023 Submission deadline: post-symposium review,?????? Friday 17th February, 2023 Notification:??????? post-symposium submissions,? Friday 31st March, 2023 The Symposium on Trends in Functional Programming (TFP) is an international forum for researchers with interests in all aspects of functional programming, taking a broad view of current and future trends in the area. It aspires to be a lively environment for presenting the latest research results, and other contributions. This year, TFP will take place in-person at UMass Boston, Massachusetts in the United States.? It is co-located with the Trends in Functional Programming in Education (TFPIE) workshop, which will take on the day before the main symposium. Please be aware that TFP has several submission deadlines. The first, November 23, is for authors that wish to have their full paper reviewed prior to the symposium. Papers that are accepted in this way must also be presented at the symposium. The second, December 16, is for authors that wish to present their work or work-in progress at the symposium first without submitting to the full review process for publication. These authors can then take into account feedback received at the symposium and submit a full article for review by the third deadline, February 17. ## Scope The symposium recognizes that new trends may arise through various routes. As part of the Symposium's focus on trends we therefore identify the following five article categories. High-quality articles are solicited in any of these categories: * Research Articles: ? Leading-edge, previously unpublished research work * Position Articles: ? On what new trends should or should not be * Project Articles: ? Descriptions of recently started new projects * Evaluation Articles: ? What lessons can be drawn from a finished project * Overview Articles: ? Summarizing work with respect to a trendy subject Articles must be original and not simultaneously submitted for publication to any other forum. They may consider any aspect of functional programming: theoretical, implementation-oriented, or experience-oriented. Applications of functional programming techniques to other languages are also within the scope of the symposium. Topics suitable for the symposium include, but are not limited to: * Functional programming and multicore/manycore computing * Functional programming in the cloud * High performance functional computing * Extra-functional (behavioural) properties of functional programs * Dependently typed functional programming * Validation and verification of functional programs * Debugging and profiling for functional languages * Functional programming in different application areas: ? security, mobility, telecommunications applications, embedded ? systems, global computing, grids, etc. * Interoperability with imperative programming languages * Novel memory management techniques * Program analysis and transformation techniques * Empirical performance studies * Abstract/virtual machines and compilers for functional languages * (Embedded) domain specific languages * New implementation strategies * Any new emerging trend in the functional programming area If you are in doubt on whether your article is within the scope of TFP, please contact the TFP 2023 program chair, Stephen Chang. ## Best Paper Awards TFP awards two prizes for the best papers each year. First, to reward excellent contributions, TFP awards a prize for the best overall paper accepted for the post-conference formal proceedings. Second, a prize for the best student paper is awarded each year. TFP traditionally pays special attention to research students, acknowledging that students are almost by definition part of new subject trends. A student paper is one for which the authors state that the paper is mainly the work of students, the students are listed as first authors, and a student would present the paper. In both cases, it is the PC of TFP that awards the prize. In case the best paper happens to be a student paper, then that paper will receive both prizes. ## Instructions to Authors Papers must be submitted at: ? Authors of papers have the choice of having their contributions formally reviewed either before or after the Symposium. Further, pre-symposium submissions may either be full (earlier deadline) or draft papers (later deadline). ## Pre-symposium formal review Papers to be formally reviewed before the symposium should be submitted before the early deadline and will receive their reviews and notification of acceptance for both presentation and publication before the symposium. A paper that has been rejected for publication but accepted for presentation may be resubmitted for the post-symposium formal review. ## Post-symposium formal review Draft papers will receive minimal reviews and notification of acceptance for presentation at the symposium. Authors of draft papers will be invited to submit revised papers based on the feedback receive at the symposium. A post-symposium refereeing process will then select a subset of these articles for formal publication. ## Paper categories Draft papers and papers submitted for formal review are submitted as extended abstracts (4 to 10 pages in length) or full papers (20 pages). The submission must clearly indicate which category it belongs to: research, position, project, evaluation, or overview paper. It should also indicate which authors are research students, and whether the main author(s) are students. A draft paper for which all authors are students will receive additional feedback by one of the PC members shortly after the symposium has taken place. ## Format Papers must be written in English, and written using the LNCS style. For more information about formatting please consult the Springer LNCS web site. ## Program Committee Peter Achten,????????????? Radboud University Nijmegen, Netherlands Nada Amin,???????????????? Harvard University, USA Ambrose Bonnaire-Sergeant, Untypable LLC, USA Laura M. Castro,?????????? University of A Coru?a, Spain Stephen Chang (Chair),???? University of Massachusetts Boston, US John Clements,???????????? Cal Poly, USA Youyou Cong,?????????????? Tokyo Institute of Technology, Japan Paul Downen,?????????????? University of Massachusetts Lowell, USA Kathy Gray,??????????????? Meta Platforms, Inc., UK Ben Greenman,????????????? University of Utah, USA Jason Hemann,????????????? Seton Hall University, USA Patricia Johann,?????????? Appalachian State University, USA Alexis King,?????????????? Tweag, USA Julia Lawall,????????????? Inria-Paris, France Barak Pearlmutter,???????? Maynooth University, Ireland Norman Ramsey,???????????? Tufts University, USA Ilya Sergey,?????????????? National University of Singapore, Singapore Melinda T?th,????????????? E?tv?s Lor?nd University, Hungary Ningning Xie,????????????? University of Toronto, Canada From chisvasileandrei at gmail.com Wed Sep 21 09:58:15 2022 From: chisvasileandrei at gmail.com (Andrei Chis) Date: Wed, 21 Sep 2022 09:58:15 +0200 Subject: [Agda] =?utf-8?q?Eelco_Visser_Commemorative_Symposium_=E2=80=93_?= =?utf-8?q?2nd_Call_for_Papers?= Message-ID: Due to the untimely passing of Eelco Visser, members of his former research communities TU Delft, CWI, OOPSLA, SLE, and IFIP Working Groups 2.11 & 2.16 have joined in organizing the Eelco Visser Commemorative Symposium. The event will be held on the occasion of the first anniversary of his passing in April of next year. You are cordially invited to contribute to this symposium, by writing a paper and giving a presentation related to Eelco and his influential work, or by just attending. Please see the CfP below. Best regards, The EVCS Organizing Committee ------------------------------------------------------------------------ ------------------------------------------------------------------------ Eelco Visser Commemorative Symposium (EVCS) 5 April 2023 Delft, The Netherlands https://symposium.eelcovisser.org ------------------------------------------------------------------------ Eelco Visser (1966?2022) was Antoni van Leeuwenhoek Professor of Computer Science and Chair of the Programming Languages Group in the Department of Software Technology at TU Delft. His research career started with studies at the University of Amsterdam and CWI, followed by appointments at Oregon Graduate Institute and Utrecht University. He was highly influential in the software language engineering and programming language design communities. His many scientific contributions about meta-languages and domain-specific languages have been of high importance in both the scientific and industrial communities. He was a founding member of IFIP Working Groups 2.11 (Program Generation) and 2.16 (Programming Language Design). Eelco Visser?s work on the cutting-edge language workbench Spoofax started with a ground-breaking publication in 2010, for which he received a Most Influential Paper award at OOPSLA 2020. As a strong advocate of tool-supported programming education, he led the development of WebLab, a learning management system that is in use for a range of programming languages and courses at TU Delft. He also led the design, implementation and use of conf.researchr.org, a content management system for scientific events used for hundreds of international events since 2014. --------------------------- Call for Papers --------------------------- A commemorative symposium for Eelco Visser is to be held on the first anniversary of his untimely passing in April 2022. It will bring together colleagues from various communities, with presentations of papers on topics related to his research and his other academic activities. --------------------------- Topics of Interest --------------------------- Topics of interest include, but are not limited to: - Language engineering - Program transformation - Language workbenches - Declarative language specification - Name binding and scope graphs - Type soundness and intrinsically-typed interpreters - Language specification testing - Language implementation generation - Domain-specific programming languages - DSLs for software deployment - DSLs for web application development - Tool-supported programming education --------------------------- Important Dates --------------------------- - Friday 30 September 2022: Declaration of intent to submit - Friday 28 October 2022: Paper submission deadline - Monday 28 November 2022: Notifications - Wednesday 5 April 2023: Symposium --------------------------- Types of Submissions --------------------------- - **Unpublished research**: These are extended abstracts of novel research contributions related to Eelco Visser?s work. Papers may range from 4 to 8 pages in length, and may optionally include up to 2 further pages of bibliography. Papers will be reviewed by selected members of the relevant research communities. Subsequent submission of full papers including the same results to other venues is encouraged. - **On the relationship between Eelco Visser's work and other frameworks**: These are papers that present some framework and explain its relationship to his work, but without novel research contributions. Papers may range from 4 to 8 pages in length, and may optionally include up to 2 further pages of bibliography. Papers will be reviewed by experts on the relevant topics. - **Personal reflections on Eelco Visser's activities**: These are short papers that recall and reflect upon personal experiences of his contributions in academia or industry. Papers may range from 1 to 4 pages in length, including bibliography. Papers will be lightly reviewed for relevance. --------------------------- Submissions --------------------------- The submission website is on EasyChair (https://easychair.org/my/conference?conf=evcs2023). **Declaration of intent to submit is optional**, but helpful for allocation of appropriate reviewers. It is to include a provisional title, the type of submission, and an indication of the topics covered. **Submitted papers** should be formatted using LaTeX according to the author instructions for the Dagstuhl OpenAccess Series in Informatics (OASIcs) (https://submission.dagstuhl.de/series/details/4#author), respecting the page limits indicated above. --------------------------- Publication --------------------------- All accepted papers will appear in the Proceedings of the EVCS, to be published as a volume in the Dagstuhl OpenAccess Series in Informatics (OASIcs) (https://www.dagstuhl.de/en/publications/oasics). Authors retain copyright. --------------------------- Presentations --------------------------- All accepted papers are to be presented at the symposium. Presenters may choose between 5, 10, and 15-minute slots (including questions) subject to availability. Remote presentations are possible. --------------------------- Organising Committee --------------------------- - Jonathan Aldrich, Carnegie Mellon University - Benoit Combemale, University of Rennes, Inria, and IRISA - Paul Klint, CWI and University of Amsterdam - Ralf L?mmel, University of Koblenz - Peter Mosses (chair), TU Delft and Swansea University - Friedrich Steimann, Fernuniversit?t in Hagen - Tijs van der Storm, CWI and University of Groningen - Eric Van Wyk, University of Minnesota --------------------------- Local Organisation Committee --------------------------- - Arie van Deursen - Peter Mosses - Roniet Sharabi - Sh?mara van der Zwet --------------------------- Contact --------------------------- For all enquiries about the symposium, please use the contact form (https://symposium.eelcovisser.org/contact) or email symposium at eelcovisser.org From kbh at umn.edu Fri Sep 23 18:00:00 2022 From: kbh at umn.edu (Favonia) Date: Fri, 23 Sep 2022 11:00:00 -0500 Subject: [Agda] PLMW@POPL 2023: Call For Scholarship Applications (DEADLINE: 10/14 AoE) Message-ID: CALL FOR SCHOLARSHIP APPLICATIONS *DEADLINE: 14 October 2022, 23:59 AoE* (Anywhere on Earth) ACM SIGPLAN Programming Languages Mentoring Workshop Location: Boston, Massachusetts, USA Date: Tuesday, January 17, 2023 Web page: https://popl23.sigplan.org/home/PLMW-POPL-2023 Following the success of the first eleven Programming Languages Mentoring Workshops at POPL 2012-2022, we are pleased to announce the 12th SIGPLAN Programming Languages Mentoring Workshop (PLMW), co-located with POPL 2023 and organized by Hannah Gommerstadt, Michael Greenberg, Kuen-Bang Hou (Favonia), and Robbert Krebbers. The workshop will take place *in person* in Boston. PLMW aims to encourage graduate students and senior undergraduate students to pursue careers in programming language (PL) research. This workshop will bring together world leaders in PL research and teaching from both academia and industry to provide (a) technical sessions on cutting-edge PL research and (b) mentoring sessions on how to prepare for a research career. The workshop will help students imagine how they might contribute to our vibrant and thriving research community. We especially encourage women, members of underrepresented minorities, and people with disabilities to attend PLMW. This workshop is part of the activities surrounding POPL, the Symposium on Principles of Programming Languages, and takes place the day before the main conference. One goal of the workshop is to make the POPL conference more accessible to newcomers. We hope that participants will stay for the whole conference. A number of sponsors (listed below) have generously donated scholarship funds for qualified students to attend PLMW. These scholarships can cover expenses (airfare, hotel, and registration fees) for attendance at both the workshop and the POPL conference itself. The workshop registration is open to all (with or without scholarships). Students with alternative sources of funding are welcome as well. APPLICATION FOR PLMW SCHOLARSHIP The application form can be accessed at the following URL: https://forms.gle/Ct19QcsKjSLoE38B9 The deadline for full consideration of funding is *14 October 2022, 23:59 AoE.* Confirmed sponsors so far: - NSF - ACM SIGPLAN - Jane Street - Galois -------------- next part -------------- An HTML attachment was scrubbed... URL: From jonathan.protzenko at gmail.com Mon Sep 26 18:02:47 2022 From: jonathan.protzenko at gmail.com (Jonathan Protzenko) Date: Mon, 26 Sep 2022 09:02:47 -0700 Subject: [Agda] ProLaLa 2023 -- Programming Languages and the Law (Jan 15th 2023, Boston) : Deadline Oct 27th 2022 Message-ID: <685dec12-9ea4-933e-82c7-ef2954a31591@gmail.com> ----------------------------------------------------------------------------------------- ?? ProLaLa 2023 -- 2nd Workshop on Programming Languages and the Law ????????? ? ? ? ? ? ? ? ? ? ? ? ?? ????????? Sunday Jan 15th, 2022 ?????????????????? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ???? Boston, MA ?????????? ? ? ? ? ? ? ? ? ? ? ?? ??????? co-located with POPL 2023 ------------------------------------------------------------------------------------------ ??????? ? ? ? ? ? (please forward to anyone who might be interested!) We are pleased to announce ProLaLa'23, the second edition of the workshop concerned with the intersection of PL (Programming Languages) techniques and the law. We are particularly concerned with the following topics: - language design for legal matters; - static analysis of legal texts; - program synthesis and repair for legal software components; - formal modeling of legal semantics; - non-standard logics in support of legal reasoning; - program verification for legal expert systems. If you have explored any of these areas, we encourage you to submit a short abstract. We are hoping to solidify around this workshop what we believe is a nascent but growing community; last year we had 25 submissions and 60 participants. As such, the workshop will be informal, and we strongly encourage you to submit ongoing or already-published work in the form of a brief 5-page submission for a long talk, or a 2-page submission for a short talk. Full details: https://popl23.sigplan.org/home/prolala-2023#Call-for-Papers Venue ProLaLa will be colocated with POPL'23. We plan to coordinate with the POPL conference on remote participation. We would like to have remote participation even if the workshop happens in person. Our plan is to create an inclusive environment that does not demand traveling for COVID-19 (or other) reasons. Submission details We accept two kinds of submissions. - Long talks: 5 pages excluding references - Short talks: 2 page excluding references We require using SIGPLAN's one-column LaTeX format (acmsmall). Submission site: https://prolala23.hotcrp.com Important dates - Thu 27 Oct 2022: Submission deadline - Thu 10 Nov 2022: Notification of acceptance - Sun 15 Jan 2023: Workshop Program committee - Shrutarshi Basu (co-chair), Middlebury College, USA - Denis Merigoux (co-chair), Inria, France - Jonathan Protzenko (co-chair), Microsoft Research, USA - Timos Antonopoulos, Yale, USA - Joaqu?n Arias, Universidad Rey Juan Carlos, Spain - James Grimmelman, Cornell, USA - Ekaterina Komandantskaya, Herriot-Watts University, UK - Emma Tosch, University of Michigan, USA - Saeid Tizpaz-Niari, University of Texas at El Paso, USA - Giovanni Sileno, University of Amsterdam, Netherlands - Chris Bailey, University of Illinois, USA - Laurence Diver, Vrije Universiteit Brussel, Belgium - Sarah Lawsky, Northwestern Pritzker School of Law, USA -------------- next part -------------- An HTML attachment was scrubbed... URL: From nicolai.kraus at gmail.com Sun Oct 2 13:11:14 2022 From: nicolai.kraus at gmail.com (Nicolai Kraus) Date: Sun, 2 Oct 2022 12:11:14 +0100 Subject: [Agda] Call for Participation (online/in-person): type theory workshop, Nottingham, 12 Oct Message-ID: Dear all, on Wednesday, 12 October 2022, we will hold a workshop in honour of Thorsten Altenkirch's 60th birthday: http://www.cs.nott.ac.uk/~psznk/events/thorsten60/ If you would like to participate (online or in person), please fill out the Google form at https://docs.google.com/forms/d/e/1FAIpQLSf99-Tw-FnWWTRwaR22Qn63nMurg6oUAKH8nk9ahx2y6N_KXw/viewform?usp=sf_link Zoom details for online participants will be sent out closer to the event. Best wishes, Nicolai Kraus, Conor McBride, Tarmo Uustalu -------------- next part -------------- An HTML attachment was scrubbed... URL: From bove at chalmers.se Wed Oct 5 12:59:16 2022 From: bove at chalmers.se (Ana Bove) Date: Wed, 5 Oct 2022 12:59:16 +0200 Subject: [Agda] Two postdocs in Type theory for mathematics and computer science Message-ID: <44c9f786-90d4-9a26-b945-b8416ea21636@chalmers.se> Dear All The logic and types group at Chalmers and Gothenburg university is now recruiting two postdocs to work on type theory for mathematics and computers science together with Prof. Thierry Coquand and others in the group. The project is about the study of dependent type theory extended with univalence and higher inductive types. It can range from theoretical studies of models to actual formalisations of mathematics in a proof system (such as Agda), or working on design of proof assistants incorporating the advances brought by the connections with homotopy theory. Please consider applying for the position and help distributing this information to people you think could be interested. _Deadline for application: October 26th 2022._ For more information please visit https://web103.reachmee.com/ext/I005/1035/job?site=7&lang=UK&validator=9b89bead79bb7258ad55c8d75228e5b7&job_id=27429 Thanks! -- -- Ana Bove, Docent Phone: (46)(31) 772 1020 http://www.cse.chalmers.se/~bove Department of Computer Science and Engineering Chalmers Univ. of Technology and Univ. of Gothenburg -------------- next part -------------- An HTML attachment was scrubbed... URL: From mh at informatik.uni-kiel.de Wed Oct 5 19:57:49 2022 From: mh at informatik.uni-kiel.de (Michael Hanus) Date: Wed, 5 Oct 2022 19:57:49 +0200 (CEST) Subject: [Agda] PADL 2023: Final Call for Papers (with updated deadlines!) Message-ID: <20221005175749.F22631FFDD@lascombes.informatik.uni-kiel.de> ============================================================================== Call for Papers 25th International Symposium on Practical Aspects of Declarative Languages (PADL 2023) https://popl23.sigplan.org/home/PADL-2023 Boston, Massachusetts, United States, January 16-17, 2023 Co-located with ACM POPL 2023 ============================================================================== FINAL DEADLINES: ---------------- Abstract submission: October 12, 2022 (AoE) Paper submission: October 19, 2022 (AoE) Conference Description ---------------------- Declarative languages comprise several well-established classes of formalisms, namely, functional, logic, and constraint programming. Such formalisms enjoy both sound theoretical bases and the availability of attractive frameworks for application development. Indeed, they have been already successfully applied to many different real-world situations, ranging from database management to active networks to software engineering to decision support systems. New developments in theory and implementation fostered applications in new areas. At the same time, applications of declarative languages to novel and challenging problems raise many interesting research issues, including designing for scalability, language extensions for application deployment, and programming environments. Thus, applications drive the progress in the theory and implementation of declarative systems, and benefit from this progress as well. PADL is a well-established forum for researchers and practitioners to present original work emphasizing novel applications and implementation techniques for all forms of declarative programming, including functional and logic programming, database and constraint programming, and theorem proving. Topics of interest include, but are not limited to: - Innovative applications of declarative languages - Declarative domain-specific languages and applications - Practical applications of theoretical results - New language developments and their impact on applications - Declarative languages and software engineering - Evaluation of implementation techniques on practical applications - Practical experiences and industrial applications - Novel uses of declarative languages in the classroom - Practical extensions such as constraint-based, probabilistic, and reactive languages PADL 2023 especially welcomes new ideas and approaches related to applications, design and implementation of declarative languages going beyond the scope of the past PADL symposia, for example, advanced database languages and contract languages, as well as verification and theorem proving methods that rely on declarative languages. Submissions ----------- PADL 2023 welcomes three kinds of submission: * Technical papers (max. 15 pages): Technical papers must describe original, previously unpublished research results. * Application papers (max. 8 pages): Application papers are a mechanism to present important practical applications of declarative languages that occur in industry or in areas of research other than Computer Science. Application papers are expected to describe complex and/or real-world applications that rely on an innovative use of declarative languages. Application descriptions, engineering solutions and real-world experiences (both positive and negative) are solicited. * Extended abstracts (max. 3 pages): Describing new ideas, a new perspective on already published work, or work-in-progress that is not yet ready for a full publication. Extended abstracts will be posted on the symposium website but will not be published in the formal proceedings. All page limits exclude references. Submissions must be written in English and formatted according to the standard Springer LNCS style, see https://www.springer.com/gp/computer-science/lncs/conference-proceedings-guidelines Page numbers (and, if possible, line numbers) should appear on the manuscript to help the reviewers in writing their reports. So, for LaTeX, we recommend that authors use: \pagestyle{plain} \usepackage{lineno} \linenumbers The conference proceedings of PADL 2023 will be published by Springer-Verlag in the Lecture Notes in Computer Science series. Work that already appeared in unpublished or informally published workshops proceedings may be submitted but the authors should notify the program chairs where it has previously appeared. Papers should be submitted electronically at https://easychair.org/conferences/?conf=padl2023 Important Dates (UPDATED!) -------------------------- Abstract submission: October 12, 2022 (AoE) Paper submission: October 19, 2022 (AoE) Notification: November 15, 2022 Camera-ready papers: December 1, 2022 Symposium: January 16-17, 2023 Distinguished Papers -------------------- The authors of a small number of distinguished papers will be invited to submit a longer version for journal publication after the symposium. For papers related to logic programming, that will be in the journal Theory and Practice of Logic Programming (TPLP) https://www.cambridge.org/core/journals/theory-and-practice-of-logic-programming, and for papers related to functional programming, in Journal of Functional Programming (JFP) https://www.cambridge.org/core/journals/journal-of-functional-programming. The extended journal submissions should be substantially (roughly 30%) extended: explanations for which there was no space, illuminating examples and proofs, additional definitions and theorems, further experimental results, implementational details and feedback from practical/engineering use, extended discussion of related work, and so on. These submissions will then be subject to the usual peer review process by the journal, although with the aim of a swifter review process by reusing original reviews from PADL. PADL 2023 PC Co-Chairs ---------------------- - Michael Hanus, Kiel University, Germany - Daniela Inclezan, Miami University, United States Programme Committee ------------------- Andreas Abel Gothenburg University, Sweden Annette Bieniusa TU Kaiserslautern, Germany Joachim Breitner Epic Games, Germany William Byrd University of Alabama at Birmingham, USA Pedro Cabalar University of Corunna, Spain Francesco Calimeri University of Calabria, Italy Stefania Costantini University of L'Aquila, Italy Esra Erdem Sabanci University, Turkey Martin Gebser University of Klagenfurt, Austria Robert Glueck University of Copenhagen, Denmark Gopal Gupta University of Texas at Dallas, USA Michael Hanus CAU Kiel, Germany (co-chair) Daniela Inclezan Miami University, USA (co-chair) Tomi Janhunen Tampere University, Finland Patricia Johann Appalachian State University, USA Yukiyoshi Kameyama University of Tsukuba, Japan Ekaterina Komendantskaya Heriot-Watt University, UK Simona Perri University of Calabria, Italy Enrico Pontelli New Mexico State University, USA Tom Schrijvers Katholieke Universiteit Leuven, Belgium Paul Tarau University of North Texas, USA Peter Thiemann University of Freiburg, Germany Peter Van Roy Universite catholique de Louvain, Belgium Janis Voigtlaender University of Duisburg-Essen, Germany Ningning Xie University of Cambridge, UK Contact Address --------------- padl2023 _AT_ easychair.org ------------------------------------------------------------------------------- From jesper at sikanda.be Thu Oct 6 11:29:09 2022 From: jesper at sikanda.be (Jesper Cockx) Date: Thu, 06 Oct 2022 09:29:09 +0000 Subject: [Agda] Blog post about agda2hs Message-ID: Hi Agda folks, I've just published a new blog post about agda2hs, a tool that originated from some of the previous Agda meetings and we recently presented at the Haskell Symposium. You can read the post here: https://jesper.sikanda.be/posts/agda2hs.html. I'm very curious to hear if you have any ideas or applications of the tool! -- Jesper -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: publickey - jesper at sikanda.be - 0x42DD5655.asc Type: application/pgp-keys Size: 644 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 249 bytes Desc: OpenPGP digital signature URL: From mechvel at scico.botik.ru Thu Oct 6 13:57:32 2022 From: mechvel at scico.botik.ru (mechvel at scico.botik.ru) Date: Thu, 06 Oct 2022 14:57:32 +0300 Subject: [Agda] Blog post about agda2hs In-Reply-To: References: Message-ID: <29cb9701db434c73c6987a1814946be7@scico.botik.ru> On 2022-10-06 12:29, Jesper Cockx wrote: > Hi Agda folks, > > I've just published a new blog post about agda2hs, a tool that > originated from some of the previous Agda meetings and we recently > presented at the Haskell Symposium. You can read the post here: > https://jesper.sikanda.be/posts/agda2hs.html. I'm very curious to hear > if you have any ideas or applications of the tool! > Jesper, you write there " Sadly, in industry many people are forced to work in languages with a weak type system, such as Haskell. What should you do in such a situation? Quit your job? Give up and despair? Perhaps, but I have another suggestion that I?d like to explain in this post: use our tool agda2hs. What is this agda2hs, I hear you asking? Agda2hs is a tool for producing verified and readable Haskell code by extracting it from a (lightly annotated) Agda program. This means you can write your code using Agda?s support for dependent types, interactive editing, and termination checking, and from this agda2hs will generate clean and simply typed Haskell code that looks like it was written by hand. Your boss will be amazed that all of your code is correct from the first try, and never even suspect that you secretly proved its correctness in Agda! " It depends on the desired level of verification. Most of the methods, that are programmed in Haskell in 5 days cannot be programmed in Agda as a totally verified program, say, in 50 days. Often it is more practical to write a Haskell program, to supply it with a non-formal proof, and to test it on examples. This takes many times less effort than total verification. But if the goal is a totally verified program (probably a rare case in industry, it costs much), then yes, the idea looks all right. Another question is performance. How often the program obtained by problem -> Agda -> Haskell runs many times slower than the one originally written in Haskell? (mainly, I mean GHC). Probably, people needs to try examples. Also what about proofs internally accumulated in the function body and being returned as a part of the result? Many methods cannot be in practice programmed in Agda in another way. A contrived example: gcd for Nat written in Agda, with accumulating recursively a proof in its body. And gcd! a b = proj1 (gcd a b) that chooses the proper gcd value. How will it look the converted Haskell program for gcd! ? Regards, ------ Sergei From bove at chalmers.se Thu Oct 6 16:23:54 2022 From: bove at chalmers.se (Ana Bove) Date: Thu, 6 Oct 2022 16:23:54 +0200 Subject: [Agda] Four (4) PhD student positions in dependent type theory for mathematics and computer science Message-ID: <82421d7f-db37-9a31-b27e-c0ba56737099@chalmers.se> Dear All The logic and types group at Chalmers and Gothenburg university is now recruiting *four PhD students* to work on dependent type theory for mathematics and computer science together with Prof. Thierry Coquand and others in the group. The project is about homotopy type theory and univalent foundations, where type theory is extended with univalence and higher inductive types. The selected PhD students would be working on topics ranging from theoretical studies of models and connections to higher category theory to actual formalisations of mathematics, but they could also work more oriented toward implementation of proof systems, in particular connected to Agda. It is worth noting that the selected students will get a full time employment with all the benefits of a usual employment in Sweden (health and pension benefits, paid holidays, etc). Please consider applying and help distributing this information to people you think could be interested. _Deadline for application: November 4th 2022._ For more information please visit https://web103.reachmee.com/ext/I005/1035/job?site=7&lang=UK&validator=9b89bead79bb7258ad55c8d75228e5b7&job_id=27467 Thanks -- -- Ana Bove, Docent Phone: (46)(31) 772 1020 http://www.cse.chalmers.se/~bove Department of Computer Science and Engineering Chalmers Univ. of Technology and Univ. of Gothenburg -------------- next part -------------- An HTML attachment was scrubbed... URL: From nk480 at cl.cam.ac.uk Fri Oct 7 10:39:17 2022 From: nk480 at cl.cam.ac.uk (Neel Krishnaswami) Date: Fri, 7 Oct 2022 09:39:17 +0100 Subject: [Agda] Faculty position in Logical Foundations at the University of Cambridge Message-ID: <92500a70-64b0-629f-d7ec-843a62d88974@cl.cam.ac.uk> Dear friends, We are hiring for several faculty position at the University of Cambridge. One of our target areas is logical foundations and formal methods. This is intended to be construed very broadly, to cover almost everyone working in programming languages, logic, semantics, proof assistants, and verification -- if you think your research area might be in scope, it almost certainly is! The link to our advertisement is: ?? https://www.jobs.cam.ac.uk/job/37369/ If you have any questions, please do feel free to contact me or the committee chair, Prof. Marcelo Fiore . Best, Neel -=-=-=-=-=- The Department of Computer Science and Technology is seeking to recruit a new faculty member at the Assistant or Associate Professor level who can contribute to research and teaching in the area of Logical Foundations and Formal Methods. The Computer Science department in Cambridge has a long history of research in logical foundations and formal methods, from groundbreaking work on higher-order logic and the proof assistant Isabelle, through to a wide range of important semantic frameworks, such as bigraphs, event structures, and nominal sets. Today logical foundations and formal methods is a thriving area of activity, which is explored with a wide variety of mathematical and logical tools, including category theory, domain theory, finite model theory, linear logic, operational semantics, proof assistants, and type theory. We seek to appoint a new member of faculty to complement and enhance our research in this area. The position is open to researchers working in the area of formal methods and logical foundations of computer science, broadly conceived. While no list of topics could be exhaustive, potential candidates might work in the areas of automata theory, automated deduction, categorical syntax and semantics, descriptive complexity, homotopy type theory, modal or temporal logic, rewriting, or type theory, as could researchers applying formal or logical tools in concurrency theory, databases, networks, programming languages, quantum computing and other emerging models of computation, or verification. The ideal candidate for this position will have a strong international track record of publication and impact commensurate with their research area and experience. They will have the ability, or potential, to secure research funding to support their research vision and build a world-class team of researchers. We welcome applications from researchers with interdisciplinary interests who will collaborate with people across different subdisciplines in Computer Science and Technology and with other academic disciplines. Collaborations outside academia are also highly-valued, including with industry and third-sector organizations. The University actively supports equality, diversity and inclusion and encourages applications from all sections of society. From melkon.or at gmail.com Mon Oct 10 13:00:39 2022 From: melkon.or at gmail.com (Orestis Melkonian) Date: Mon, 10 Oct 2022 12:00:39 +0100 Subject: [Agda] LAST CALL: Agda Implementors' Meeting XXXI - Edinburgh, 10-16 November 2022 Message-ID: <7327916a-6f9f-8476-80f9-ac0ce0711871@gmail.com> --------------------------------------------------------------- ???????????? Agda Implementors' Meeting XXXI *Last call* for participation http://wiki.portal.chalmers.se/agda/pmwiki.php?n=Main.AIMXXXI --------------------------------------------------------------- The 31st Agda Implementors' Meeting will take place in Edinburgh, Scotland from Thursday 10 November 2022 to Wednesday 16 November 2022. Note that AIMXXXI was initially planned for 2019 but got postponed due to COVID-19, whilst we had several online meetings XXXII-XXXV. The meeting will consist of: ? * Presentations concerning theory, implementation, and use cases of Agda and other Agda-like languages. ? * Discussions around issues related to the Agda language. ? * Plenty of time to work in, on, under or around Agda, in collaboration with other participants. Unfortunately, the EuroProofNet day we initially planned has been cancelled. *Registration deadline (extended):* *October 21st* To register for AIM XXXI, please fill out the form below and send it to Orestis Melkonian by email , or simply edit the AIMXXI wiki page yourself. > --------------------------------------------------------------- > Registration form for Agda Implementors' Meeting XXXI > > Name: > > Title and optionally abstract (if you want to give a talk or lead a discussion): > > Suggestions for code sprints (optional): > > Dietary restrictions: > > Additional comments: > > --------------------------------------------------------------- More information is available at http://wiki.portal.chalmers.se/agda/pmwiki.php?n=Main.AIMXXXI Please spread the word about this meeting. Best regards, Orestis -------------- next part -------------- An HTML attachment was scrubbed... URL: From fredrik.nordvall-forsberg at strath.ac.uk Mon Oct 10 15:00:27 2022 From: fredrik.nordvall-forsberg at strath.ac.uk (Fredrik Nordvall Forsberg) Date: Mon, 10 Oct 2022 14:00:27 +0100 Subject: [Agda] Permanent Chancellor's Fellow positions at the University of Strathclyde (application deadline 23 Oct) Message-ID: <3117088e-3cbd-b7d3-f044-18dba76456c6@strath.ac.uk> Dear friends, The Department of Computer and Information Sciences at the University of Strathclyde, Glasgow, is currently advertising permanent positions at the Lecturer or Senior Lecturer level (Assistant and Associate Professor respectively in American English) with an initial five-year reduced teaching load: https://www.jobs.ac.uk/job/CTO120/strathclyde-chancellors-fellow-in-computer-and-information-sciences-434447 The application deadline is *Sunday 23 October 2022*. You will see that the ad asks for expertise connected with Trusted AI and Data Analytics, but this should be understood broadly. In particular, we believe that type theory, category theory and logic are excellent technologies for establishing trust, and the Mathematically Structured Programming group welcomes applications from type theorists, dependently typed programmers, category theorists, and logicians; we would be happy to help you develop an application. Please contact Head of Department and fellow category theorist Neil Ghani if you are interested, or of course me or anyone else from the group if you have questions. (I'm employed as a Chancellor's Fellow, so would be happy to share my experience of this particular position.) You can find our group website at http://msp.cis.strath.ac.uk/ . For opportunities to join us at more senior levels (Reader and Professor), please contact Neil Ghani directly. We also have an opening for our next Head of Department! https://www.jobs.ac.uk/job/CTN847/head-of-department-and-professor-in-computer-and-information-services-479106 Best wishes, Fredrik From ecb10 at st-andrews.ac.uk Fri Oct 14 13:02:41 2022 From: ecb10 at st-andrews.ac.uk (Edwin Brady) Date: Fri, 14 Oct 2022 11:02:41 +0000 Subject: [Agda] CFP for PEPM 2023 (Deadline extended) Message-ID: <565206F3-8C49-4A0B-B41D-4811254AF7C6@st-andrews.ac.uk> Dear all, (With apologies for any duplicate copies). Please see the CFP for PEPM 203 below. We have received some requests for extensions, and extended the deadline to next Tuesday. Note that short papers, including tool demos, works in progress and extended abstracts, are welcome too! Edwin and Jens -- CALL FOR PAPERS -- ACM SIGPLAN Workshop on PARTIAL EVALUATION AND PROGRAM MANIPULATION (PEPM) 2023 =============================================================================== * Website : https://popl23.sigplan.org/home/pepm-2023 * Time : 16th--17th January 2023 * Place : Boston, Massachusetts, United States (co-located with POPL 2023) The ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation (PEPM) has a history going back to 1991 and has been co-located with POPL every year since 2006. It originated with the discoveries of useful automated techniques for evaluating programs with only partial input. Over the years, the scope of PEPM has expanded to include a variety of research areas centred around the theme of semantics-based program manipulation ? the systematic exploitation of treating programs not only as subjects to black-box execution but also as data structures that can be generated, analysed, and transformed while establishing or maintaining important semantic properties. Scope ----- In addition to the traditional PEPM topics (see below), PEPM 2023 welcomes submissions in new domains, in particular: * Semantics based and machine-learning based program synthesis and program optimisation. * Modelling, analysis, and transformation techniques for distributed and concurrent protocols and programs, such as session types, linear types, and contract specifications. More generally, topics of interest for PEPM 2023 include, but are not limited to: * Program and model manipulation techniques such as: supercompilation, partial evaluation, fusion, on-the-fly program adaptation, active libraries, program inversion, slicing, symbolic execution, refactoring, decompilation, and obfuscation. * Techniques that treat programs/models as data objects including metaprogramming, generative programming, embedded domain-specific languages, program synthesis by sketching and inductive programming, staged computation, and model-driven program generation and transformation. * Program analysis techniques that are used to drive program/model manipulation such as: abstract interpretation, termination checking, binding-time analysis, constraint solving, type systems, automated testing and test case generation. * Application of the above techniques including case studies of program manipulation in real-world (industrial, open-source) projects and software development processes, descriptions of robust tools capable of effectively handling realistic applications, benchmarking. Examples of application domains include legacy program understanding and transformation, DSL implementations, visual languages and end-user programming, scientific computing, middleware frameworks and infrastructure needed for distributed and web-based applications, embedded and resource-limited computation, and security. This list of categories is not exhaustive, and we encourage submissions describing new theories and applications related to semantics-based program manipulation in general. If you have a question as to whether a potential submission is within the scope of the workshop, please contact the programme co-chairs, Edwin Brady (ecb10 at st-andrews.ac.uk) and Jens Palsberg (palsberg at ucla.edu). Submission categories and guidelines ------------------------------------ Two kinds of submissions will be accepted: * Regular Research Papers should describe new results, and will be judged on originality, correctness, significance, and clarity. Regular research papers must not exceed 12 pages. * Short Papers may include tool demonstrations and presentations of exciting if not fully polished research, and of interesting academic, industrial, and open-source applications that are new or unfamiliar. Short papers must not exceed 6 pages. References and appendices are not included in page limits. Appendices may not be read by reviewers. Both kinds of submissions should be typeset using the two-column ?sigplan? sub-format of the new ?acmart? format available at: http://sigplan.org/Resources/Author/ and submitted electronically via HotCRP: https://pepm23.hotcrp.com/ Reviewing will be single-blind. Submissions are welcome from PC members (except the two co-chairs). Accepted regular research papers will appear in formal proceedings published by ACM, and be included in the ACM Digital Library. Accepted short papers do not constitute formal publications and will not appear in the proceedings. At least one author of each accepted contribution must attend the workshop (physically or virtually) and present the work. In the case of tool demonstration papers, a live demonstration of the described tool is expected. Important dates --------------- * Paper submission deadline (EXTENDED): **Tuesday 13th October 2022 (AoE)** * Author notification (EXTENDED) : **Tuesday 15th November 2022 (AoE)** * Workshop : **Monday 16th January 2023 to Tuesday 17th January 2023** Best paper award ---------------- PEPM 2023 continues the tradition of a Best Paper award. The winner will be announced at the workshop. Programme committee ------------------- * Chairs: Edwin Brady (University of St Andrews, UK) Jens Palsberg (University of California Los Angeles, USA) * Nada Amin Harvard (USA) * Adam Barwell (Imperial College London, UK) * Nicolas Biri (Input Output Global) * David Castro-Perez (University of Kent at Canterbury, UK) * Cristina David (University of Bristol, UK) * Atsushi Igarashi (Kyoto University, Japan) * Yukiyoshi Kameyama (University of Tsukuba, Japan) * Geoffrey Mainland (Drexel University, USA) * Hila Peleg (Technion Israel Institute of Technology, Israel) * Casper Bach Poulsen (Delft University of Technology, Netherlands) * Sukyoung Ryu (KAIST, Korea) * Sven-Bodo Scholz (Radboud University Nijmegen, Netherlands) * Ilya Sergey (National University of Singapore, Singapore) * Satnam Singh (Groq Inc, USA) * Elena Zucca (University of Genova, Italy) -------------- next part -------------- An HTML attachment was scrubbed... URL: From ecb10 at st-andrews.ac.uk Fri Oct 14 13:12:22 2022 From: ecb10 at st-andrews.ac.uk (Edwin Brady) Date: Fri, 14 Oct 2022 11:12:22 +0000 Subject: [Agda] CFP for PEPM 2023 (Deadline extended) In-Reply-To: <565206F3-8C49-4A0B-B41D-4811254AF7C6@st-andrews.ac.uk> References: <565206F3-8C49-4A0B-B41D-4811254AF7C6@st-andrews.ac.uk> Message-ID: <26C9BCD7-5129-414A-AE30-E4BBD2C18F8E@st-andrews.ac.uk> Apologies, it's Tuesday 18th AoE (next week), not Tuesday 13th. Thanks to those who pointed out the error and sorry for the extra noise. From: Edwin Brady Dear all, (With apologies for any duplicate copies). Please see the CFP for PEPM 203 below. We have received some requests for extensions, and extended the deadline to next Tuesday. Note that short papers, including tool demos, works in progress and extended abstracts, are welcome too! Edwin and Jens -- CALL FOR PAPERS -- ACM SIGPLAN Workshop on PARTIAL EVALUATION AND PROGRAM MANIPULATION (PEPM) 2023 =============================================================================== * Website : https://popl23.sigplan.org/home/pepm-2023 * Time : 16th--17th January 2023 * Place : Boston, Massachusetts, United States (co-located with POPL 2023) The ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation (PEPM) has a history going back to 1991 and has been co-located with POPL every year since 2006. It originated with the discoveries of useful automated techniques for evaluating programs with only partial input. Over the years, the scope of PEPM has expanded to include a variety of research areas centred around the theme of semantics-based program manipulation ? the systematic exploitation of treating programs not only as subjects to black-box execution but also as data structures that can be generated, analysed, and transformed while establishing or maintaining important semantic properties. Scope ----- In addition to the traditional PEPM topics (see below), PEPM 2023 welcomes submissions in new domains, in particular: * Semantics based and machine-learning based program synthesis and program optimisation. * Modelling, analysis, and transformation techniques for distributed and concurrent protocols and programs, such as session types, linear types, and contract specifications. More generally, topics of interest for PEPM 2023 include, but are not limited to: * Program and model manipulation techniques such as: supercompilation, partial evaluation, fusion, on-the-fly program adaptation, active libraries, program inversion, slicing, symbolic execution, refactoring, decompilation, and obfuscation. * Techniques that treat programs/models as data objects including metaprogramming, generative programming, embedded domain-specific languages, program synthesis by sketching and inductive programming, staged computation, and model-driven program generation and transformation. * Program analysis techniques that are used to drive program/model manipulation such as: abstract interpretation, termination checking, binding-time analysis, constraint solving, type systems, automated testing and test case generation. * Application of the above techniques including case studies of program manipulation in real-world (industrial, open-source) projects and software development processes, descriptions of robust tools capable of effectively handling realistic applications, benchmarking. Examples of application domains include legacy program understanding and transformation, DSL implementations, visual languages and end-user programming, scientific computing, middleware frameworks and infrastructure needed for distributed and web-based applications, embedded and resource-limited computation, and security. This list of categories is not exhaustive, and we encourage submissions describing new theories and applications related to semantics-based program manipulation in general. If you have a question as to whether a potential submission is within the scope of the workshop, please contact the programme co-chairs, Edwin Brady (ecb10 at st-andrews.ac.uk) and Jens Palsberg (palsberg at ucla.edu). Submission categories and guidelines ------------------------------------ Two kinds of submissions will be accepted: * Regular Research Papers should describe new results, and will be judged on originality, correctness, significance, and clarity. Regular research papers must not exceed 12 pages. * Short Papers may include tool demonstrations and presentations of exciting if not fully polished research, and of interesting academic, industrial, and open-source applications that are new or unfamiliar. Short papers must not exceed 6 pages. References and appendices are not included in page limits. Appendices may not be read by reviewers. Both kinds of submissions should be typeset using the two-column ?sigplan? sub-format of the new ?acmart? format available at: http://sigplan.org/Resources/Author/ and submitted electronically via HotCRP: https://pepm23.hotcrp.com/ Reviewing will be single-blind. Submissions are welcome from PC members (except the two co-chairs). Accepted regular research papers will appear in formal proceedings published by ACM, and be included in the ACM Digital Library. Accepted short papers do not constitute formal publications and will not appear in the proceedings. At least one author of each accepted contribution must attend the workshop (physically or virtually) and present the work. In the case of tool demonstration papers, a live demonstration of the described tool is expected. Important dates --------------- * Paper submission deadline (EXTENDED): **Tuesday 13th October 2022 (AoE)** * Author notification (EXTENDED) : **Tuesday 15th November 2022 (AoE)** * Workshop : **Monday 16th January 2023 to Tuesday 17th January 2023** Best paper award ---------------- PEPM 2023 continues the tradition of a Best Paper award. The winner will be announced at the workshop. Programme committee ------------------- * Chairs: Edwin Brady (University of St Andrews, UK) Jens Palsberg (University of California Los Angeles, USA) * Nada Amin Harvard (USA) * Adam Barwell (Imperial College London, UK) * Nicolas Biri (Input Output Global) * David Castro-Perez (University of Kent at Canterbury, UK) * Cristina David (University of Bristol, UK) * Atsushi Igarashi (Kyoto University, Japan) * Yukiyoshi Kameyama (University of Tsukuba, Japan) * Geoffrey Mainland (Drexel University, USA) * Hila Peleg (Technion Israel Institute of Technology, Israel) * Casper Bach Poulsen (Delft University of Technology, Netherlands) * Sukyoung Ryu (KAIST, Korea) * Sven-Bodo Scholz (Radboud University Nijmegen, Netherlands) * Ilya Sergey (National University of Singapore, Singapore) * Satnam Singh (Groq Inc, USA) * Elena Zucca (University of Genova, Italy) -------------- next part -------------- An HTML attachment was scrubbed... URL: From abela at chalmers.se Tue Oct 18 10:58:08 2022 From: abela at chalmers.se (Andreas Abel) Date: Tue, 18 Oct 2022 10:58:08 +0200 Subject: [Agda] Challenge: can you exploit a known bug in Cubical Agda? Message-ID: <07406f8e-d3d8-c15f-8a3c-f590bf794a32@chalmers.se> Tom Jack has found a bug in the implementation of transp for Glue (and hcomp for U) in Cubical Agda, where a system that should be [psi -> ..., forall i phi -> ...] became [phi -> ..., forall i phi -> ...]. Details of the bug (and the fix) are at: https://github.com/agda/agda/pull/6197 Question: can one exploit this bug with reasonable resources? In particular, we are using for a rather short test case that either - makes Agda crash, or - proves False. Ideally, this test should run in reasonable time (less than a minute, say) using reasonable resources (not more than 4G memory), so we can add it to the regression test suite. -- 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 jan.bessai at tu-dortmund.de Tue Oct 18 19:50:12 2022 From: jan.bessai at tu-dortmund.de (Jan Bessai) Date: Tue, 18 Oct 2022 19:50:12 +0200 Subject: [Agda] Challenge: can you exploit a known bug in Cubical Agda? In-Reply-To: <07406f8e-d3d8-c15f-8a3c-f590bf794a32@chalmers.se> References: <07406f8e-d3d8-c15f-8a3c-f590bf794a32@chalmers.se> Message-ID: <20221018175012.ern3ha2mrt4s4ftb@shmt> We still have room for a presentation at the Unsound workshop: https://2022.splashcon.org/home/unsound-2022 The topic is a perfect match and if someone is willing and able to talk about this, you'd be very welcome! On Tue, Oct 18, 2022 at 10:58:08AM +0200, Andreas Abel wrote: > Tom Jack has found a bug in the implementation of transp for Glue (and hcomp > for U) in Cubical Agda, where a system that should be > > [psi -> ..., forall i phi -> ...] > > became > > [phi -> ..., forall i phi -> ...]. > > Details of the bug (and the fix) are at: > > https://github.com/agda/agda/pull/6197 > > Question: can one exploit this bug with reasonable resources? > > In particular, we are using for a rather short test case that either > - makes Agda crash, or > - proves False. > > Ideally, this test should run in reasonable time (less than a minute, say) > using reasonable resources (not more than 4G memory), so we can add it to > the regression test suite. > > -- > 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/ > _______________________________________________ > Agda mailing list > Agda at lists.chalmers.se > https://lists.chalmers.se/mailman/listinfo/agda From Graham.Hutton at nottingham.ac.uk Mon Oct 31 12:24:09 2022 From: Graham.Hutton at nottingham.ac.uk (Graham Hutton) Date: Mon, 31 Oct 2022 11:24:09 +0000 Subject: [Agda] Journal of Functional Programming - Call for PhD Abstracts Message-ID: <7DD92DD6-9F68-43A5-AEB6-BF1CCA1D87BC@nottingham.ac.uk> Dear all, If you or one of your students recently completed a PhD (or Habilitation) in the area of functional programming, please submit the dissertation abstract for publication in JFP: simple process, no refereeing, open access, 200+ published to date, deadline 30th November 2022. Please share! Best wishes, Graham Hutton ============================================================ CALL FOR PHD ABSTRACTS Journal of Functional Programming Deadline: 30th November 2022 http://tinyurl.com/jfp-phd-abstracts ============================================================ PREAMBLE: Many students complete PhDs in functional programming each year. As a service to the community, twice per year the Journal of Functional Programming publishes the abstracts from PhD dissertations completed during the previous year. The abstracts are made freely available on the JFP website, i.e. not behind any paywall. They do not require any transfer of copyright, merely a license from the author. A dissertation is eligible for inclusion if parts of it have or could have appeared in JFP, that is, if it is in the general area of functional programming. The abstracts are not reviewed. Please submit dissertation abstracts according to the instructions below. We welcome submissions from both the student and the advisor/supervisor although we encourage them to coordinate. Habilitation dissertations are also eligible for inclusion. ============================================================ SUBMISSION: Please submit the following information to Graham Hutton by 30th November 2022. o Dissertation title: (including any subtitle) o Student: (full name) o Awarding institution: (full name and country) o Date of award: (month and year; depending on the institution, this may be the date of the viva, corrections being approved, graduation ceremony, or otherwise) o Advisor/supervisor: (full names) o Dissertation URL: (please provide a permanently accessible link to the dissertation if you have one, such as to an institutional repository or other public archive; links to personal web pages should be considered a last resort) o Dissertation abstract: (plain text, maximum 350 words; you may use \emph{...} for emphasis, but we prefer no other markup or formatting; if your original abstract exceeds the word limit, please submit an abridged version within the limit) Please do not submit a copy of the dissertation itself, as this is not required. JFP reserves the right to decline to publish abstracts that are not deemed appropriate. ============================================================ PHD ABSTRACT EDITOR: Graham Hutton School of Computer Science University of Nottingham Nottingham NG8 1BB United Kingdom ============================================================ 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 vincent.rahli at gmail.com Tue Nov 1 16:07:38 2022 From: vincent.rahli at gmail.com (vincent rahli) Date: Tue, 1 Nov 2022 15:07:38 +0000 Subject: [Agda] Postdoc position at the University of Birmingham Message-ID: Dear all, We would like to invite applications for an up to 3 years fully-funded postdoctoral position within the School of Computer Science at the University of Birmingham (see below for details on how to apply). The successful candidate will contribute to an EPSRC-funded project aiming at designing and formally verifying distributed systems, in particular Byzantine fault-tolerant distributed systems as used for example in blockchain technology. The start date is flexible, ideally early 2023. The environment: ---------------- The School of Computer Science has large and thriving Theory and Security research groups. Among our research interests related to this project are for example: - Formal verification - Proof assistants - Model checking - Blockchain Technology - Security & Privacy Both groups are very active, organising regular seminars, informal meetings, and actively participating in many events such as the Midlands Graduate School or the Cyber Security PhD Winter School. For more information see https://www.birmingham.ac.uk/research/activity/computer-science/theory-of-computation/index.aspx and https://www.birmingham.ac.uk/research/centre-for-cyber-security-and-privacy/index.aspx . How to apply: ------------- Interested people are encouraged to contact me by email (V.Rahli at bham.ac.uk) to discuss their research interests and details of the positions. Further information on how to apply is available here: https://edzz.fa.em3.oraclecloud.com/hcmUI/CandidateExperience/en/sites/CX_6001/job/521/?utm_medium=jobshare Best, Vincent Rahli -- https://vrahli.github.io/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From andres.sicard.ramirez at gmail.com Sun Nov 6 18:27:05 2022 From: andres.sicard.ramirez at gmail.com (=?UTF-8?B?QW5kcsOpcyBTaWNhcmQtUmFtw61yZXo=?=) Date: Sun, 6 Nov 2022 12:27:05 -0500 Subject: [Agda] [ANNOUNCE] Agda 2.6.3 release candidate 1 In-Reply-To: References: Message-ID: Dear all, The Agda Team is very pleased to announce the first release candidate of Agda 2.6.3. We plan to release 2.6.3 in a few days. # Highlights * Added support for [Erased Cubical Agda](https://agda.readthedocs.io/en/latest/language/cubical.html#cubical-agda-with-erased-glue), a variant of Cubical Agda that is supported by the GHC and JavaScript backends, under the flag `--erased-cubical`. * Added a new flag `--cubical-compatible` to turn on generation of Cubical Agda-specific support code (previously this behaviour was part of `--without-K`). Since `--cubical-compatible` mode implies that functions should work with the preliminary support for [indexed inductive types in Cubical Agda](https://agda.readthedocs.io/en/latest/language/cubical.html#indexed-inductive-types), many pattern matching functions will now emit an `UnsupportedIndexedMatch` warning, indicating that the function will not compute when applied to transports (from `--cubical` code). This warning can be disabled with `-WnoUnsupportedIndexedMatch`, which can be used either in an `OPTIONS` pragma or in your `agda-lib` file. The latter is recommended if your project is only `--cubical-compatible`, or if it is already making extensive use of indexed types. * New primitives `declareData`, `defineData`, and `unquoteDecl data` for generating new data types have been added to the [reflection API](https://agda.readthedocs.io/en/latest/language/reflection.html#metaprogramming). * Thanks to a number of performance improvements, Agda 2.6.3 is about 30% faster than Agda 2.6.2.2 at type-checking the standard library with the `--without-K` flag, and 10% faster when using with the (new) `--cubical-compatible` flag instead (some details can be found [here](https://github.com/agda/agda/issues/6049#issuecomment-1293698980)). # GHC supported versions Agda 2.6.3 RC1 has been tested with GHC 9.2.4, 9.2.2, 9.0.2, 8.10.7, 8.8.4, 8.6.5, 8.4.4, 8.2.2 and 8.0.2 on Linux, macOS and Windows. # Installation Agda 2.6.3 RC1 can be installed using cabal-install or stack: * Getting the release candidate $ cabal get https://hackage.haskell.org/package/Agda-2.6.2.2.20221106/candidate/Agda-2.6.2.2.20221106.tar.gz $ cd Agda-2.6.2.2.20221106 * Using cabal-install $ cabal install * Using stack $ stack --stack-yaml stack-a.b.c.yaml install replacing `a.b.c` with your version of GHC. # Standard library For the time being, you can use the `release-v1.7.2` branch of the standard library with Agda 2.6.3 RC1. This branch is available at https://github.com/agda/agda-stdlib/ # Fixed issues https://hackage.haskell.org/package/Agda-2.6.2.2.20221106/candidate/changelog Enjoy Agda 2.6.3 RC1 and please test as much as possible. -- Andr?s, on behalf of the Agda Team From matthewdaggitt at gmail.com Mon Nov 7 02:32:07 2022 From: matthewdaggitt at gmail.com (Matthew Daggitt) Date: Mon, 7 Nov 2022 10:32:07 +0900 Subject: [Agda] [ ANNOUNCE ] Standard library v1.7.2 - release candidate 1 Message-ID: Dear all, The Agda Team is pleased to announce the first release candidate for version 1.7.2 of the standard library. The release candidate has been tested using the first release candidate of Agda 2.6.3. This release provides compatibility with Agda 2.6.3 but does not include significant new features. The release candidate can be downloaded here . We would be grateful for reports of any issues you may encounter with the new version of the library on the Github issues page . If no major issues are found we will aim to release the official version 1.7.2 soon after the release of Agda 2.6.3. Best wishes, Matthew, on behalf of the Agda Team -------------- next part -------------- An HTML attachment was scrubbed... URL: From abela at chalmers.se Tue Nov 8 20:29:58 2022 From: abela at chalmers.se (Andreas Abel) Date: Tue, 8 Nov 2022 20:29:58 +0100 Subject: [Agda] Instructions how to setup your system for hacking on Agda (AIM XXXI) Message-ID: Dear Agda folks, upon prompted for instructions how to prepare for hacking on Agda (AIM XXXI tutorial), I have written quick notes at https://wiki.portal.chalmers.se/agda/Main/Hackingpreparation So, if you have some time before Thursday morning you can get your system up to speed for Agda hacking. See you at the Agda meeting! Andreas -- 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 aaronngray.lists at gmail.com Sat Nov 12 16:51:59 2022 From: aaronngray.lists at gmail.com (Aaron Gray) Date: Sat, 12 Nov 2022 15:51:59 +0000 Subject: [Agda] Call for Participation (online/in-person): type theory workshop, Nottingham, 12 Oct In-Reply-To: References: Message-ID: On Sun, 2 Oct 2022 at 12:11, Nicolai Kraus wrote: > > Dear all, > > on Wednesday, 12 October 2022, we will hold a workshop in honour of Thorsten Altenkirch's 60th birthday: > > http://www.cs.nott.ac.uk/~psznk/events/thorsten60/ Sorry I missed this, are there any recordings at all as I am interested in several of the talks. Regards, Aaron From andrei.h.popescu at gmail.com Mon Nov 14 13:41:22 2022 From: andrei.h.popescu at gmail.com (Andrei Popescu) Date: Mon, 14 Nov 2022 12:41:22 +0000 Subject: [Agda] Sam Staton giving this year's LMS/BCS-FACS Evening Seminar (online) -- registration open until this Wednesday at 5PM, UTC Message-ID: EVENT: Annual LMS/BCS-FACS Evening Seminar SPEAKER: Sam Staton, University of Oxford TITLE: Programming-based foundations for statistics DATE: Thursday, 17 November 2022, Starting time: 18:00 UTC VENUE: Online via Zoom EVENT PAGE: https://www.lms.ac.uk/events/lectures/lms-bcs-facs-evening-seminars REGISTRATION LINK: https://www.lms.ac.uk/civicrm/event/register?id=88&reset=1 Prior registration is required for attendance -- the registration site will close on Wednesday, 16 November, at 17:00 SYNOPSIS Probabilistic programming is a popular tool for statistics and machine learning. The idea is to describe a statistical model as a program with random choices. The program might be a simulation of a system, such as a physics model, a model of viral spread, or a model of electoral behaviour. We can now carry out statistical inference over the system, for example, by running a Monte Carlo simulation ? running the simulation 100,000?s of times. As I will discuss in this talk, the idea of treating statistical models as computer programs also has a foundational appeal. If we can understand statistical models as programs, then the foundations of probability and statistics can be discussed in terms of program semantics. There is a chance of new foundational perspectives on statistics, in terms of programming languages and their formal methods. As I will explain, this programming-based foundation for statistics is attractive because there are some intuitively simple scenarios, such as inference over function spaces, which have an easy programming implementation, but for which the traditional mathematical interpretation is complicated. SPEAKER BIOGRAPHY Sam Staton is a Professor of Computer Science and Royal Society University Research Fellow at the University of Oxford. There he currently runs an ERC grant "Better Languages for Statistics". Before arriving in Oxford in 2015, Sam spent time in Nijmegen, Paris, and Cambridge. His PhD was in Cambridge with Marcelo Fiore (2007). Sam's main research is in programming language theory, but he is also interested in logic and category theory. He has recent contributions in probabilistic programming languages, and quantum computing and programming languages. Webpage: https://www.cs.ox.ac.uk/people/samuel.staton/main.html From P.Achten at cs.ru.nl Tue Nov 15 10:28:56 2022 From: P.Achten at cs.ru.nl (Peter Achten) Date: Tue, 15 Nov 2022 10:28:56 +0100 Subject: [Agda] [TFP 2023 2nd Call for Papers] 24th International Symposium on Trends in Functional Programming Message-ID: <6372218c-832e-fb61-0e79-21ddade6a5fb@cs.ru.nl> # TFP 2023 -- Call for Papers ## Important Dates Submission deadline: pre-symposium, full papers,? Wednesday 23rd November, 2022 Submission deadline: pre-symposium, draft papers, Friday 16th December, 2022 Notification:??????? pre-symposium submissions,?? Friday 23rd December, 2022 Registration:???????????????????????????????????? Friday 6th January, 2023 TFPIE Workshop:?????????????????????????????????? Thursday 12th January, 2023 TFP Symposium:??????????????????????????????????? Friday 13th - Sunday 15th January, 2023 Submission deadline: post-symposium review,?????? Friday 17th February, 2023 Notification:??????? post-symposium submissions,? Friday 31st March, 2023 The Symposium on Trends in Functional Programming (TFP) is an international forum for researchers with interests in all aspects of functional programming, taking a broad view of current and future trends in the area. It aspires to be a lively environment for presenting the latest research results, and other contributions. This year, TFP will take place in-person at UMass Boston, Massachusetts in the United States.? It is co-located with the Trends in Functional Programming in Education (TFPIE) workshop, which will take on the day before the main symposium. Please be aware that TFP has several submission deadlines. The first, November 23, is for authors that wish to have their full paper reviewed prior to the symposium. Papers that are accepted in this way must also be presented at the symposium. The second, December 16, is for authors that wish to present their work or work-in progress at the symposium first without submitting to the full review process for publication. These authors can then take into account feedback received at the symposium and submit a full article for review by the third deadline, February 17. ## Scope The symposium recognizes that new trends may arise through various routes. As part of the Symposium's focus on trends we therefore identify the following five article categories. High-quality articles are solicited in any of these categories: * Research Articles: ? Leading-edge, previously unpublished research work * Position Articles: ? On what new trends should or should not be * Project Articles: ? Descriptions of recently started new projects * Evaluation Articles: ? What lessons can be drawn from a finished project * Overview Articles: ? Summarizing work with respect to a trendy subject Articles must be original and not simultaneously submitted for publication to any other forum. They may consider any aspect of functional programming: theoretical, implementation-oriented, or experience-oriented. Applications of functional programming techniques to other languages are also within the scope of the symposium. Topics suitable for the symposium include, but are not limited to: * Functional programming and multicore/manycore computing * Functional programming in the cloud * High performance functional computing * Extra-functional (behavioural) properties of functional programs * Dependently typed functional programming * Validation and verification of functional programs * Debugging and profiling for functional languages * Functional programming in different application areas: ? security, mobility, telecommunications applications, embedded ? systems, global computing, grids, etc. * Interoperability with imperative programming languages * Novel memory management techniques * Program analysis and transformation techniques * Empirical performance studies * Abstract/virtual machines and compilers for functional languages * (Embedded) domain specific languages * New implementation strategies * Any new emerging trend in the functional programming area If you are in doubt on whether your article is within the scope of TFP, please contact the TFP 2023 program chair, Stephen Chang. ## Best Paper Awards TFP awards two prizes for the best papers each year. First, to reward excellent contributions, TFP awards a prize for the best overall paper accepted for the post-conference formal proceedings. Second, a prize for the best student paper is awarded each year. TFP traditionally pays special attention to research students, acknowledging that students are almost by definition part of new subject trends. A student paper is one for which the authors state that the paper is mainly the work of students, the students are listed as first authors, and a student would present the paper. In both cases, it is the PC of TFP that awards the prize. In case the best paper happens to be a student paper, then that paper will receive both prizes. ## Instructions to Authors Papers must be submitted at: ? Authors of papers have the choice of having their contributions formally reviewed either before or after the Symposium. Further, pre-symposium submissions may either be full (earlier deadline) or draft papers (later deadline). ## Pre-symposium formal review Papers to be formally reviewed before the symposium should be submitted before the early deadline and will receive their reviews and notification of acceptance for both presentation and publication before the symposium. A paper that has been rejected for publication but accepted for presentation may be resubmitted for the post-symposium formal review. ## Post-symposium formal review Draft papers will receive minimal reviews and notification of acceptance for presentation at the symposium. Authors of draft papers will be invited to submit revised papers based on the feedback receive at the symposium. A post-symposium refereeing process will then select a subset of these articles for formal publication. ## Paper categories Draft papers and papers submitted for formal review are submitted as extended abstracts (4 to 10 pages in length) or full papers (20 pages). The submission must clearly indicate which category it belongs to: research, position, project, evaluation, or overview paper. It should also indicate which authors are research students, and whether the main author(s) are students. A draft paper for which all authors are students will receive additional feedback by one of the PC members shortly after the symposium has taken place. ## Format Papers must be written in English, and written using the LNCS style. For more information about formatting please consult the Springer LNCS web site. ## Program Committee Peter Achten,????????????? Radboud University Nijmegen, Netherlands Nada Amin,???????????????? Harvard University, USA Ambrose Bonnaire-Sergeant, Untypable LLC, USA Laura M. Castro,?????????? University of A Coru?a, Spain Stephen Chang (Chair),???? University of Massachusetts Boston, US John Clements,???????????? Cal Poly, USA Youyou Cong,?????????????? Tokyo Institute of Technology, Japan Paul Downen,?????????????? University of Massachusetts Lowell, USA Kathy Gray,??????????????? Meta Platforms, Inc., UK Ben Greenman,????????????? University of Utah, USA Jason Hemann,????????????? Seton Hall University, USA Patricia Johann,?????????? Appalachian State University, USA Alexis King,?????????????? Tweag, USA Julia Lawall,????????????? Inria-Paris, France Barak Pearlmutter,???????? Maynooth University, Ireland Norman Ramsey,???????????? Tufts University, USA Ilya Sergey,?????????????? National University of Singapore, Singapore Melinda T?th,????????????? E?tv?s Lor?nd University, Hungary Ningning Xie,????????????? University of Toronto, Canada From Ralph.Matthes at irit.fr Tue Nov 15 13:41:40 2022 From: Ralph.Matthes at irit.fr (Ralph Matthes) Date: Tue, 15 Nov 2022 13:41:40 +0100 Subject: [Agda] =?utf-8?q?FICS=2723=3A_Call_for_Contributions_-_Fixed_Poi?= =?utf-8?q?nts_in_Computer_Science_=28CSL=2723_workshop_17_feb_2023=29?= Message-ID: The 11th International Workshop on Fixed Points in Computer Science will take place in Warsaw on 17 February 2023 as a satellite of the International Conference CSL 2023 (Computer Science Logic). The goal of the workshop is to bring together people from different fields such as algebra/coalgebra, verification, logic, around the thematic of fixed points. This workshop will be without proceedings. In particular you can present work that is already published elsewhere, or in progress. Depending on the nature of the contributions, a special issue of Fundamenta Informaticae might be published with selected contributions (we have the approval by the journal for this). Fixed points play a fundamental role in several areas of computer science. They are used to justify (co)recursive definitions and associated reasoning techniques. The construction and properties of fixed points have been investigated in many different settings such as: design and implementation of programming languages, logic, verification, databases. Topics include, but are not restricted to: -fixed points in algebra and coalgebra -fixed points in formal languages and automata -fixed points in game theory -fixed points in programming language semantics -fixed points in the mu-calculus and modal logics -fixed points in process algebras and process calculi -fixed points in functional programming and type theory -fixed points in relation to dataflow and circuits -fixed points in logic programming and theorem proving -fixed points in finite model theory, descriptive complexity theory, and databases -fixed points in category theory for logic in computer science Invited Speaker --------------------------------- -TBA ===================================== Submission and Registration Instructions ===================================== Abstracts presenting your communication should be sent via https://easychair.org/conferences/?conf=fics2023. Submissions should be from 1 to 3 pages long, excluding bibliography. Registration will be opened soon, as for other CSL workshops. It will include a small fee to cover the cost of invited speaker and social event. An effort will be made to enable online participation for those who cannot attend in person. Important dates --------------------------------- Submission deadline: 06/01/2023 AoE Notification: 27/01/2023 Workshop: 17/02/2023 ===================================== Committees ===================================== Program Committee --------------------------------- -Henning Basold (LIACS, Univ. Leiden) -Karoliina Lehtinen (CNRS & LIS Marseille) -Denis Kuperberg, chair (CNRS & ENS Lyon) -Ralph Matthes (CNRS & Univ. Toulouse) -Matteo Mio (CNRS & ENS Lyon) -Damian Niwinski (University of Warsaw) -Fredrik Nordvall Forsberg (Univ. of Strathclyde) -Luigi Santocanale (LIS, Univ. Aix-Marseille I) -Tarmo Uustalu (Institute of Cybernetics, Tallinn) Steering Committee --------------------------------- -Peter Dybjer (Chalmers University of Technology) -Ralph Matthes (IRIT, Toulouse) -Damian Niwinski (University of Warsaw) -Luigi Santocanale (LIS, Universit? Aix-Marseille I) -Denis Kuperberg, chair (CNRS & ENS Lyon) -Tarmo Uustalu (Institute of Cybernetics, Tallinn) -Igor Walukiewicz (LaBRI, Bordeaux) From Graham.Hutton at nottingham.ac.uk Mon Nov 21 13:20:23 2022 From: Graham.Hutton at nottingham.ac.uk (Graham Hutton) Date: Mon, 21 Nov 2022 12:20:23 +0000 Subject: [Agda] 10 PhD studentships in Nottingham Message-ID: Dear all, The School of Computer Science at the University of Nottingham in the UK is seeking applications for 10 fully-funded PhD studentships: https://tinyurl.com/ten-phd-2022 Applicants in the area of the Functional Programming Lab (tinyurl.com/fp-notts) are strongly encouraged! If you are interested in applying, please contact a potential supervisor as soon as possible; the application deadline is 12th Feb 2023: Thorsten Altenkirch - constructive logic, proof assistants, homotopy type theory, category theory, lambda calculus. Ulrik Buchholtz - homotopy type theory, synthetic homotopy theory, proof assistants, constructive mathematics, and related topics. Graham Hutton - functional programming, haskell, category theory, program verification, program calculation. Nicolai Kraus - homotopy type theory, higher category theory, constructive mathematics, and related topics. Dan Marsden - category theory, logic, finite model theory, diagrammatic reasoning, foundations of computer science. These positions are open to students of any nationality. Best wishes, The FP Lab +-----------------------------------------------------------+ 10 Fully-Funded PhD Studentships School of Computer Science University of Nottingham, UK https://tinyurl.com/ten-phd-2022 Applications are invited from international and home students for 10 fully-funded PhD studentships offered by the School of Computer Science, starting on 1st October 2023. The topics for the studentships are open, but should relate to the interests of one the School's research groups: Computational Optimisation and Learning; Computer Vision; Cyber Security; Functional Programming; Intelligent Modelling and Analysis; Mixed Reality; Uncertainty in Data and Decision Making; Visualisation and Computer Graphics; Cyber-Physical Health and Assistive Robotics Technologies. The studentships are fully funded for 3.5 years and include a stipend of ?17,668 per year and tuition fees. Applicants are normally expected to have a first-class class bachelors or masters in Computer Science or another relevant area, and must obtain the support of a potential supervisor in the School prior to submitting their application. If you are interested in applying, please contact a potential supervisor as soon as possible, and at least two weeks prior to the closing date. If the supervisor wishes to support your application, they will direct you to make an official application through the MyNottingham system. Closing date for applications: Sunday 12th February 2023. +-----------------------------------------------------------+ 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 F.Sieczkowski at hw.ac.uk Thu Nov 24 20:23:23 2022 From: F.Sieczkowski at hw.ac.uk (Sieczkowski, Filip K) Date: Thu, 24 Nov 2022 19:23:23 +0000 Subject: [Agda] Fully funded PhD positions in PL theory and interactive theorem proving at Heriot-Watt University in Edinburgh Message-ID: *Fully funded PhD positions in PL theory and interactive theorem proving at Heriot-Watt University in Edinburgh* We are soliciting applications for PhD positions in the theory of programming languages and interactive theorem proving (broadly construed) at the Department of Computer Science of Heriot-Watt University. Potential PhD projects can be found on our department website, https://www.hw.ac.uk/uk/schools/mathematical-computer-sciences/research/phd/phd-oportunities-in-computer-science.htm, under the ?Rigorous Systems? header, although the list is not exhaustive and other related topics can be discussed and arranged. We encourage prospective candidates to contact Kathrin Stark (k.stark at hw.ac.uk), Filip Sieczkowski (f.sieczkowski at hw.ac.uk) or Marko Doko (m.doko at hw.ac.uk) for more information. Why do your PhD at Heriot-Watt? The programming languages community at the University is strong and growing fast, which makes it a great place to start your research career. We are further a part of the vibrant Scottish programming languages community, with Scottish Programming Languages Institute organising various activities, such as summer schools, seminar series, and more. Finally, Edinburgh is an exciting city to live in, with plenty of cultural and recreational opportunities. The positions are open for both UK and international applicants. Find information on how to apply see the application website, the deadline is January, 23. Please contact us to help you navigate the application process. Best regards, -- Filip Sieczkowski ________________________________ Founded in 1821, Heriot-Watt is a leader in ideas and solutions. With campuses and students across the entire globe we span the world, delivering innovation and educational excellence in business, engineering, design and the physical, social and life sciences. This email is generated from the Heriot-Watt University Group, which includes: 1. Heriot-Watt University, a Scottish charity registered under number SC000278 2. Heriot- Watt Services Limited (Oriam), Scotland's national performance centre for sport. Heriot-Watt Services Limited is a private limited company registered is Scotland with registered number SC271030 and registered office at Research & Enterprise Services Heriot-Watt University, Riccarton, Edinburgh, EH14 4AS. The contents (including any attachments) are confidential. If you are not the intended recipient of this e-mail, any disclosure, copying, distribution or use of its contents is strictly prohibited, and you should please notify the sender immediately and then delete it (including any attachments) from your system. From andres.sicard.ramirez at gmail.com Wed Nov 30 00:26:07 2022 From: andres.sicard.ramirez at gmail.com (=?UTF-8?B?QW5kcsOpcyBTaWNhcmQtUmFtw61yZXo=?=) Date: Tue, 29 Nov 2022 18:26:07 -0500 Subject: [Agda] [ANNOUNCE] Agda 2.6.3 release candidate 2 In-Reply-To: References: Message-ID: Dear all, The Agda Team is very pleased to announce the second release candidate of Agda 2.6.3. We plan to release 2.6.3 in a few days. # Highlights * Added support for [Erased Cubical Agda](https://agda.readthedocs.io/en/latest/language/cubical.html#cubical-agda-with-erased-glue), a variant of Cubical Agda that is supported by the GHC backend, under the flag `--erased-cubical`. * Added a new flag `--cubical-compatible` to turn on generation of Cubical Agda-specific support code (previously this behaviour was part of `--without-K`). Since `--cubical-compatible` mode implies that functions should work with the preliminary support for [indexed inductive types in Cubical Agda](https://agda.readthedocs.io/en/latest/language/cubical.html#indexed-inductive-types), many pattern matching functions will now emit an `UnsupportedIndexedMatch` warning, indicating that the function will not compute when applied to transports (from `--cubical` code). This warning can be disabled with `-WnoUnsupportedIndexedMatch`, which can be used either in an `OPTIONS` pragma or in your `agda-lib` file. The latter is recommended if your project is only `--cubical-compatible`, or if it is already making extensive use of indexed types. * New primitives `declareData`, `defineData`, and `unquoteDecl data` for generating new data types have been added to the [reflection API](https://agda.readthedocs.io/en/latest/language/reflection.html#metaprogramming). * Thanks to a number of performance improvements, Agda 2.6.3 is about 30% faster than Agda 2.6.2.2 at type-checking the standard library with the `--without-K` flag, and 10% faster when using with the (new) `--cubical-compatible` flag instead (some details can be found [here](https://github.com/agda/agda/issues/6049#issuecomment-1293698980)). # Changes respect to RC1 We fixed an issue in the tarball related to `agda-mode` and the following issues were fixed: #5257, #5774, #5868, #6200, #6285, #6337 and #6338. # GHC supported versions Agda 2.6.3 RC2 has been tested with GHC 9.4.3, 9.2.5, 9.0.2, 8.10.7, 8.8.4, 8.6.5, 8.4.4, 8.2.2 and 8.0.2 on Linux, macOS and Windows. # Installation Agda 2.6.3 RC2 can be installed using cabal-install or stack: * Getting the release candidate $ cabal get https://hackage.haskell.org/package/Agda-2.6.2.2.20221128/candidate/Agda-2.6.2.2.20221128.tar.gz $ cd Agda-2.6.2.2.20221128 * Using cabal-install $ cabal install * Using stack $ stack --stack-yaml stack-a.b.c.yaml install replacing `a.b.c` with your version of GHC. # Standard library For the time being, you can use standard library v1.7.2 - RC1 (https://github.com/agda/agda-stdlib/archive/v1.7.2-rc1.zip) with Agda 2.6.3 RC2. # Fixed issues https://hackage.haskell.org/package/Agda-2.6.2.2.20221128/candidate/changelog Enjoy Agda 2.6.3 RC2 and please test as much as possible. -- Andr?s, on behalf of the Agda Team From kaposi.ambrus at gmail.com Wed Dec 7 10:11:08 2022 From: kaposi.ambrus at gmail.com (Ambrus Kaposi) Date: Wed, 7 Dec 2022 10:11:08 +0100 Subject: [Agda] Call for STSMs, deadline 1 January 2023 In-Reply-To: References: Message-ID: COST Action CA20111 EuroProofNet Open call for Short-Term Scientific Missions (STSMs) Dear Action members, The next STSM deadline is: 1st January 2023 *What is an STSM?* A Short-Term Scientific Mission (STSM) is a research visit of an individual researcher from a country participating in the Action in a different country also participating in the Action. We encourage STSMs, as they are an effective way of starting and maintaining research collaborations. Find all the details concerning application on https:// europroofnet.github.io/grants/ Do not hesitate to contact us if you have any questions. Best wishes, Danijela Simic and Ambrus Kaposi EuroProofNet STSM Coordinators > -------------- next part -------------- An HTML attachment was scrubbed... URL: From W.S.Swierstra at uu.nl Wed Dec 7 10:28:41 2022 From: W.S.Swierstra at uu.nl (Swierstra, W.S. (Wouter)) Date: Wed, 7 Dec 2022 09:28:41 +0000 Subject: [Agda] Dutch FP Day - Call for participation Message-ID: =================================================================== FP Dag 2023 30th Netherlands Functional Programming Day Friday, 06 January, 2023 CALL FOR PARTICIPATION https://set.win.tue.nl/nl-fp-day-2023/ =================================================================== The Netherlands Functional Programming Day (or FP Dag) is an annual gathering of researchers, students, and practitioners sharing a common interest in functional programming. The day features talks that cover the latest advances in research, teaching and applications in the area of functional programming and (implementation of) functional languages. Coffee and lunch breaks provide ample opportunity for networking with your colleagues and meeting new people. Experts and newcomers to the field are equally welcome. Colleagues from neighboring countries are more than welcome to attend; the language of the FP Day is English. Registration: ------------- Participation is free of charge, but registration is required: https://docs.google.com/forms/d/1MgoY-tsSykzGtDdHq4GY4sTqO0Vm7oGIB2AXnDGbCL0 There is a soft registration deadline of Fri 23 Dec 2022. We are thankful for the sponsoring by Sioux Technologies and the Software Engineering & Technology group of TU Eindhoven. Schedule: --------- You will find a preliminary schedule on the website: https://set.win.tue.nl/nl-fp-day-2023/ Details will be added as speakers become known. Location: --------- The morning session of this FP Dag will be held in the Auditorium, Lecture Hall 04 of Eindhoven University of Technology. You can find detailed instructions for traveling to TU Eindhoven here: tue.nl/en/our-university/tue-campus/ The lunch and afternoon session will be held at Sioux Labs: https://www.sioux.eu/media/pt0bkkhm/sioux-campus-map_extern.pdf Organisers: ---------- Tom Verhoeff (Overall & Content) Anges van den Reek (Logistics, TU Eindhoven) Duncan Stiphout (Sioux) From bove at chalmers.se Tue Dec 13 15:00:09 2022 From: bove at chalmers.se (Ana Bove) Date: Tue, 13 Dec 2022 15:00:09 +0100 Subject: [Agda] 2 Associate professor positions at CSE, Chalmers Message-ID: <007e0f29-145d-8338-7416-abb47af229f4@chalmers.se> Dear All, The department of Computer science and engineering at Chalmers is opening 2 associate professors positions . The positions are open for qualified applicants with research and teaching experience in any area broadly covered by the department. As you probably know, the CSE department has a strong group working with programming languages, functional programming, dependent types and homotopy theory. We actively work to improve the?gender balance and diversity in our faculty, therefore we particularly welcome a diversity of applicants with?different backgrounds and experiences. Best -- -- Ana Bove, Docent Phone: (46)(31) 772 1020 http://www.cse.chalmers.se/~bove Department of Computer Science and Engineering Chalmers Univ. of Technology and Univ. of Gothenburg -------------- next part -------------- An HTML attachment was scrubbed... URL: From m.escardo at cs.bham.ac.uk Tue Dec 13 19:36:46 2022 From: m.escardo at cs.bham.ac.uk (Martin Escardo) Date: Tue, 13 Dec 2022 18:36:46 +0000 Subject: [Agda] Positions at Birmingham, UK, Computer Science Message-ID: <793cc76c-0d56-a4c7-650f-d3c6f9453fe5@cs.bham.ac.uk> Computer science and maths friends: We are hiring associate and assistant professors at Birmingham, Computer Science Department, in particular in our vibrant Theory Group: https://www.birmingham.ac.uk/research/activity/computer-science/theory-of-computation/people.aspx The two adverts are here: https://www.jobs.ac.uk/job/CVL993/associate-professor-research-and-education https://www.jobs.ac.uk/job/CVR578/assistant-professor-research-and-education Feel free to contact me or anybody in the theory group. From Ralph.Matthes at irit.fr Mon Dec 19 20:12:21 2022 From: Ralph.Matthes at irit.fr (Ralph Matthes) Date: Mon, 19 Dec 2022 20:12:21 +0100 Subject: [Agda] =?utf-8?q?2nd_Call_for_Contributions_FICS_2023=3A_Worksho?= =?utf-8?q?p_on_Fixed_Points_in_Computer_Science?= Message-ID: <4d737-63a0b780-d5-9d652b0@197210064> Dear all, This is the second call for contributions for FICS 2023, registration is now open on the CSL 2023 webpage: https://csl2023.mimuw.edu.pl/?page_id=696 The 11th International Workshop on Fixed Points in Computer Science will take place in Warsaw on 17 February 2023 as a satellite of the International Conference CSL 2023 (Computer Science Logic). FICS webpage: https://perso.ens-lyon.fr/denis.kuperberg/FICS2023.htm The goal of the workshop is to bring together people from different fields such as algebra/coalgebra, verification, logic, around the thematic of fixed points. This workshop will be without proceedings. In particular you can present work that is already published elsewhere, or in progress. Depending on the nature of contributions, a pre-approved special issue of Fundamenta Informaticae might be published with selected contributions. Fixed points play a fundamental role in several areas of computer science. They are used to justify (co)recursive definitions and associated reasoning techniques. The construction and properties of fixed points have been investigated in many different settings such as: design and implementation of programming languages, logic, verification, databases. Topics include, but are not restricted to: -fixed points in algebra and coalgebra -fixed points in formal languages and automata -fixed points in game theory -fixed points in programming language semantics -fixed points in the mu-calculus and modal logics -fixed points in process algebras and process calculi -fixed points in functional programming and type theory -fixed points in relation to dataflow and circuits -fixed points in logic programming and theorem proving -fixed points in finite model theory, descriptive complexity theory, and databases -fixed points in category theory for logic in computer science Invited Speakers --------------------------------- Graham Leigh: TBA Dana Scott: Seventy Years Using Fixed Points (video lecture) ===================================== Submission Instructions ===================================== Abstracts presenting your communication should be sent via https://easychair.org/conferences/?conf=fics2023. Submissions should be from 1 to 3 pages long, excluding bibliography. An effort will be made to enable online participation for those who cannot attend in person. Important dates --------------------------------- Submission deadline: 06/01/2023 AoE Notification: 27/01/2023 Workshop: 17/02/2023 ===================================== Committees ===================================== Program Committee --------------------------------- -Henning Basold (LIACS, Univ. Leiden) -Anupam Das (Univ. Birmingham) -Karoliina Lehtinen (CNRS & LIS Marseille) -Denis Kuperberg, chair (CNRS & ENS Lyon) -Ralph Matthes (IRIT, CNRS & Univ. Toulouse) -Matteo Mio (CNRS & ENS Lyon) -Damian Niwinski (University of Warsaw) -Fredrik Nordvall Forsberg (Univ. of Strathclyde) -Luigi Santocanale (LIS, Univ. Aix-Marseille I) -Tarmo Uustalu (Reykjavik Univ., Tallinn Institute of Cybernetics) Steering Committee --------------------------------- -Peter Dybjer (Chalmers University of Technology) -Ralph Matthes (IRIT, CNRS & Univ. Toulouse) -Damian Niwinski (University of Warsaw) -Luigi Santocanale (LIS, Universit? Aix-Marseille I) -Denis Kuperberg, chair (CNRS & ENS Lyon) -Tarmo Uustalu (Reykjavik Univ., Tallinn Institute of Cybernetics) -Igor Walukiewicz (LaBRI, Bordeaux) From wmacmil at gmail.com Mon Dec 19 22:25:14 2022 From: wmacmil at gmail.com (warrick scott) Date: Mon, 19 Dec 2022 22:25:14 +0100 Subject: [Agda] chatgpt and agda Message-ID: Below is me playing around with chatgpt. Dunno if anyone else has had the chance to try this? It says an error occurs after my last question. ?attached is a .txt of the convo. ?curious to see what y'all come up with. define a simplicial complex in agda In the context of homotopy theory and algebraic topology, a simplicial complex is a combinatorial structure that is used to represent a topological space. It consists of a set of vertices, a set of edges, and a set of higher-dimensional simplices (triangles, tetrahedra, etc.), with the property that the vertices of any simplex are also vertices of the complex, and the edges of any simplex are also edges of the complex. In Agda, a simplicial complex can be defined as a data type with three indices: one for the vertices, one for the edges, and one for the higher-dimensional simplices. The vertices and edges are represented as lists of integers, while the higher-dimensional simplices are represented as lists of lists of integers. Here is an example of how a simplicial complex could be defined in Agda: Copy code |data SimplicialComplex (V : ?) (E : ?) (S : ?) : Set where mkSimplicialComplex : (vertices : List V) (edges : List (List 2)) (simplices : List (List (S + 1))) ? SimplicialComplex V E S | This definition specifies that a |SimplicialComplex| consists of a list of vertices (represented by |V|), a list of edges (represented by |E|), and a list of simplices (represented by |S|). The vertices and edges are represented as lists of integers, while the simplices are represented as lists of lists of integers. To use this data type, you would need to provide concrete values for the indices |V|, |E|, and |S|. For example, you could define a simplicial complex with 3 vertices, 3 edges, and 2 triangles as follows: Copy code |exampleComplex : SimplicialComplex 3 3 2 exampleComplex = mkSimplicialComplex [0, 1, 2] [[0, 1], [1, 2], [2, 0]] [[0, 1, 2], [0, 2, 1]] | This simplicial complex consists of 3 vertices (numbered 0, 1, and 2), 3 edges (connecting the vertices 0 and 1, 1 and 2, and 2 and 0), and 2 triangles (formed by the vertices 0, 1, and 2, and 0, 2, and 1). wmacmil at gmail.com i just tried this and it didnt type check. it says List V is wrong because the numbers aren't of type set. can you help me correct the program? In the definition of |SimplicialComplex|, |V| is defined as a type-level natural number (using the |?| type), but |vertices| is defined as a list of elements of type |V|. However, in Agda, elements of a list must be of type |Set|, not |?|. Therefore, you need to change the type of |V| from |?| to |Set|. Here is how you can modify the definition of |SimplicialComplex| to fix this error: Copy code |data SimplicialComplex (V : Set) (E : ?) (S : ?) : Set where mkSimplicialComplex : (vertices : List V) (edges : List (List 2)) (simplices : List (List (S + 1))) ? SimplicialComplex V E S | With this change, the type of |vertices| will be |List V|, where |V| is a type of type |Set|. This means that you can use any type as the vertex type, as long as it is of type |Set|. For example, you could define a simplicial complex with vertices of type |String| as follows: Copy code |exampleComplex : SimplicialComplex String 3 2 exampleComplex = mkSimplicialComplex ["A", "B", "C"] [[0, 1], [1, 2], [2, 0]] [[0, 1, 2], [0, 2, 1]] | This simplicial complex consists of 3 vertices (labeled "A", "B", and "C"), 3 edges (connecting the vertices "A" and "B", "B" and "C", and "C" and "A"), and 2 triangles (formed by the vertices "A", "B", and "C", and "A", "C", and "B"). wmacmil at gmail.com but now List 2 doesn't typecheck for the same reason. and the edges in your example don't necessarily refer to the vertices. how can we fix this? You are correct that the definition of |SimplicialComplex| still has an error in the type of |edges|. In the current definition, |edges| is defined as a list of lists of size 2, but the elements of this list should actually be pairs of vertices. To fix this error, you can define the type of |edges| as a list of pairs of vertices. Here is how you can modify the definition of |SimplicialComplex| to do this: Copy code |data SimplicialComplex (V : Set) (E : ?) (S : ?) : Set where mkSimplicialComplex : (vertices : List V) (edges : List (V ? V)) (simplices : List (List (S + 1))) ? SimplicialComplex V E S | With this change, the type of |edges| will be |List (V ? V)|, which is a list of pairs of vertices. This means that each element of the list |edges| will be a pair of vertices, rather than a list of size 2. For example, you could define a simplicial complex with 3 vertices and 3 edges as follows: Copy code |exampleComplex : SimplicialComplex String 3 0 exampleComplex = mkSimplicialComplex ["A", "B", "C"] [("A", "B"), ("B", "C"), ("C", "A")] [] | This simplicial complex consists of 3 vertices (labeled "A", "B", and "C") and 3 edges (connecting the vertices "A" and "B", "B" and "C", and "C" and "A"). It does not have any higher-dimensional simplices. I hope this helps! Let me know if you have any further questions. wmacmil at gmail.com ok, now List (S + 1) is failing to typecheck, again for the same reason. You are correct that the definition of |SimplicialComplex| still has an error in the type of |simplices|. In the current definition, |simplices| is defined as a list of lists of size |S + 1|, but the elements of this list should actually be lists of vertices. To fix this error, you can define the type of |simplices| as a list of lists of vertices. Here is how you can modify the definition of |SimplicialComplex| to do this: Copy code |data SimplicialComplex (V : Set) (E : ?) (S : ?) : Set where mkSimplicialComplex : (vertices : List V) (edges : List (V ? V)) (simplices : List (List V)) ? SimplicialComplex V E S | With this change, the type of |simplices| will be |List (List V)|, which is a list of lists of vertices. This means that each element of the list |simplices| will be a list of vertices, rather than a list of size |S + 1|. For example, you could define a simplicial complex with 3 vertices, 3 edges, and 2 triangles as follows: Copy code |exampleComplex : SimplicialComplex String 3 2 exampleComplex = mkSimplicialComplex ["A", "B", "C"] [("A", "B"), ("B", "C"), ("C", "A")] [["A", "B", "C"], ["A", "C", "B"]] | This simplicial complex consists of 3 vertices (labeled "A", "B", and "C"), 3 edges (connecting the vertices "A" and "B", "B" and "C", and "C" and "A"), and 2 triangles (formed by the vertices "A", "B", and "C", and "A", "C", and "B"). I hope this helps! Let me know if you have any further questions. wmacmil at gmail.com now you SimplicialComplex definition typechecks! although, the parameters E and S no longer seem relevant - we can substitute any numbers for them in exampleComplex. how can we improve the definition so that the parameters more accurately indicate the shape of the complex? You are correct that the current definition of |SimplicialComplex| does not use the indices |E| and |S| in a meaningful way. In particular, the indices |E| and |S| do not necessarily reflect the number of edges and higher-dimensional simplices in the simplicial complex. To make the definition of |SimplicialComplex| more accurate, you could remove the indices |E| and |S| entirely, and simply specify the number of edges and higher-dimensional simplices directly in the definition. Here is how you could modify the definition of |SimplicialComplex| to do this: Copy code |data SimplicialComplex (V : Set) : Set where mkSimplicialComplex : (vertices : List V) (edges : List (V ? V)) (simplices : List (List V)) ? SimplicialComplex V | With this change, the type of |SimplicialComplex V| will represent a simplicial complex with vertices of type |V|, and the number of edges and higher-dimensional simplices will be determined by the lengths of the lists |edges| and |simplices|. For example, you could define a simplicial complex with 3 vertices, 3 edges, and 2 triangles as follows: Copy code |exampleComplex : SimplicialComplex String exampleComplex = mkSimplicialComplex ["A", "B", "C"] [("A", "B"), ("B", "C"), ("C", "A")] [["A", "B", "C"], ["A", "C", "B"]] | This simplicial complex consists of 3 vertices (labeled "A", "B", and "C"), 3 edges (connecting the vertices "A" and "B", "B" and "C", and "C" and "A"), and 2 triangles (formed by the vertices "A", "B", and "C", and "A", "C", and "B"). I hope this helps! Let me know if you have any further questions. wmacmil at gmail.com great. but what if we still want to keep E and S as indices to indicate the size of the lists, whereby the sized lists are actually vectors of fixed length? can you keep these indexes to get a more informative simplicial complex? and, couldn't you just port your current version to haskell? If you still want to keep the indices |E| and |S| as a way to indicate the size of the lists |edges| and |simplices|, you can define |SimplicialComplex| as a dependent data type, where the indices |E| and |S| are used to specify the lengths of the lists |edges| and |simplices|. Here is how you can define |SimplicialComplex| as a dependent data type: Copy code |data SimplicialComplex (V : Set) (E : ?) (S : ?) : Set where mkSimplicialComplex : (vertices : List V) (edges : Vector E (V ? V)) (simplices : Vector S (List V)) ? SimplicialComplex V E S | With this definition, the type of |SimplicialComplex V E S| represents a simplicial complex with vertices of type |V|, and |E| edges and |S| higher-dimensional simplices. The lists |edges| and |simplices| are replaced with vectors of fixed length |E| and |S|, respectively, which means that each |SimplicialComplex| will have exactly |E| edges and |S| higher-dimensional simplices. For example, you could define a simplicial complex with 3 vertices, 3 edges, and 2 triangles as follows: Copy code |exampleComplex : SimplicialComplex String 3 2 exampleComplex = mkSimplicialComplex ["A", "B", "C"] (vector [("A", "B"), ("B", "C"), ("C", "A")]) (vector [["A", "B", "C"], ["A", "C", "B"]]) | This simplicial complex consists of 3 vertices (labeled "A", "B", and "C"), 3 edges (connecting the vertices "A" and "B", "B" and "C", and "C" and "A"), and 2 triangles (formed by the vertices "A", "B", and "C", and "A", "C", and "B"). As for your second question, it is possible to port the definition of |SimplicialComplex| from Agda to Haskell. Here is how the definition would look in Haskell: Copy code |data SimplicialComplex v e s = SimplicialComplex { vertices :: [v] , edges :: Vector e (v, v) , simplices :: Vector s [v] } | This definition of |SimplicialComplex| in Haskell is similar to the definition in Agda, with the exception that the indices |e| and |s| are replaced with type variables |e| and |s|, and the lists |edges| and |simplices| are replaced with vectors of type |Vector e (v, v)| and |Vector s [v]|, respectively. I hope this helps! Let me know if you have any further questions. wmacmil at gmail.com regarding our simplicial complex in agda, how can one distinguish between triangular and tetrahedral simplices? our definition kind of squashes them together, right? In the current definition of |SimplicialComplex|, all higher-dimensional simplices are represented as lists of vertices, regardless of their dimension. This means that it is not possible to distinguish between triangular and tetrahedral simplices (or simplices of any other dimension) based on the type alone. To distinguish between simplices of different dimensions, you could add an extra parameter to the definition of |SimplicialComplex| that specifies the dimension of each simplex. Here is how you could modify the definition of |SimplicialComplex| to do this: Copy code |data SimplicialComplex (V : Set) : Set where mkSimplicialComplex : (vertices : List V) (edges : List (V ? V)) (simplices : List (? ? List V)) ? SimplicialComplex V | With this change, the type of |simplices| will be |List (? ? List V)|, which is a list of pairs where the first element is an integer representing the dimension of the simplex, and the second element is a list of vertices. For example, you could define a simplicial complex with 3 vertices, 3 edges, and 2 triangles as follows: Copy code |exampleComplex : SimplicialComplex String exampleComplex = mkSimplicialComplex ["A", "B", "C"] [("A", "B"), ("B", "C"), ("C", "A")] [(2, ["A", "B", "C"]), (2, ["A", "C", "B"])] | This simplicial complex consists of 3 vertices (labeled "A", "B", and "C"), 3 edges (connecting the vertices "A" and "B", "B" and "C", and "C" and "A"), and 2 triangles (formed by the vertices "A", "B", and "C", and "A", "C", and "B"). With this definition of |SimplicialComplex|, it is possible to distinguish between simplices of different dimensions based on the value of the first element in each pair. For example, you could define a tetrahedron as follows: Copy code |tetrahedron : SimplicialComplex String tetrahedron = mkSimplicialComplex ["A", "B", "C", "D"] [("A", "B"), ("A", "C"), ("A", "D"), ("B", "C"), ("B", "D"), ("C", "D")] [(3, ["A", "B", "C", "D"])] | This simplicial complex consists of 4 vertices (labeled "A", "B", "C", and "D"), 6 edges (connecting the vertices "A" and "B", "A wmacmil at gmail.com but can't we do better by restricting the triangular simplices to take vectors of length 3, and the tetrahedral simplices to have 4 elements? -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/svg+xml Size: 78 bytes Desc: not available URL: -------------- next part -------------- define a simplicial complex in agda In the context of homotopy theory and algebraic topology, a simplicial complex is a combinatorial structure that is used to represent a topological space. It consists of a set of vertices, a set of edges, and a set of higher-dimensional simplices (triangles, tetrahedra, etc.), with the property that the vertices of any simplex are also vertices of the complex, and the edges of any simplex are also edges of the complex. In Agda, a simplicial complex can be defined as a data type with three indices: one for the vertices, one for the edges, and one for the higher-dimensional simplices. The vertices and edges are represented as lists of integers, while the higher-dimensional simplices are represented as lists of lists of integers. Here is an example of how a simplicial complex could be defined in Agda: Copy code data SimplicialComplex (V : ?) (E : ?) (S : ?) : Set where mkSimplicialComplex : (vertices : List V) (edges : List (List 2)) (simplices : List (List (S + 1))) ? SimplicialComplex V E S This definition specifies that a SimplicialComplex consists of a list of vertices (represented by V), a list of edges (represented by E), and a list of simplices (represented by S). The vertices and edges are represented as lists of integers, while the simplices are represented as lists of lists of integers. To use this data type, you would need to provide concrete values for the indices V, E, and S. For example, you could define a simplicial complex with 3 vertices, 3 edges, and 2 triangles as follows: Copy code exampleComplex : SimplicialComplex 3 3 2 exampleComplex = mkSimplicialComplex [0, 1, 2] [[0, 1], [1, 2], [2, 0]] [[0, 1, 2], [0, 2, 1]] This simplicial complex consists of 3 vertices (numbered 0, 1, and 2), 3 edges (connecting the vertices 0 and 1, 1 and 2, and 2 and 0), and 2 triangles (formed by the vertices 0, 1, and 2, and 0, 2, and 1). wmacmil at gmail.com i just tried this and it didnt type check. it says List V is wrong because the numbers aren't of type set. can you help me correct the program? In the definition of SimplicialComplex, V is defined as a type-level natural number (using the ? type), but vertices is defined as a list of elements of type V. However, in Agda, elements of a list must be of type Set, not ?. Therefore, you need to change the type of V from ? to Set. Here is how you can modify the definition of SimplicialComplex to fix this error: Copy code data SimplicialComplex (V : Set) (E : ?) (S : ?) : Set where mkSimplicialComplex : (vertices : List V) (edges : List (List 2)) (simplices : List (List (S + 1))) ? SimplicialComplex V E S With this change, the type of vertices will be List V, where V is a type of type Set. This means that you can use any type as the vertex type, as long as it is of type Set. For example, you could define a simplicial complex with vertices of type String as follows: Copy code exampleComplex : SimplicialComplex String 3 2 exampleComplex = mkSimplicialComplex ["A", "B", "C"] [[0, 1], [1, 2], [2, 0]] [[0, 1, 2], [0, 2, 1]] This simplicial complex consists of 3 vertices (labeled "A", "B", and "C"), 3 edges (connecting the vertices "A" and "B", "B" and "C", and "C" and "A"), and 2 triangles (formed by the vertices "A", "B", and "C", and "A", "C", and "B"). wmacmil at gmail.com but now List 2 doesn't typecheck for the same reason. and the edges in your example don't necessarily refer to the vertices. how can we fix this? You are correct that the definition of SimplicialComplex still has an error in the type of edges. In the current definition, edges is defined as a list of lists of size 2, but the elements of this list should actually be pairs of vertices. To fix this error, you can define the type of edges as a list of pairs of vertices. Here is how you can modify the definition of SimplicialComplex to do this: Copy code data SimplicialComplex (V : Set) (E : ?) (S : ?) : Set where mkSimplicialComplex : (vertices : List V) (edges : List (V ? V)) (simplices : List (List (S + 1))) ? SimplicialComplex V E S With this change, the type of edges will be List (V ? V), which is a list of pairs of vertices. This means that each element of the list edges will be a pair of vertices, rather than a list of size 2. For example, you could define a simplicial complex with 3 vertices and 3 edges as follows: Copy code exampleComplex : SimplicialComplex String 3 0 exampleComplex = mkSimplicialComplex ["A", "B", "C"] [("A", "B"), ("B", "C"), ("C", "A")] [] This simplicial complex consists of 3 vertices (labeled "A", "B", and "C") and 3 edges (connecting the vertices "A" and "B", "B" and "C", and "C" and "A"). It does not have any higher-dimensional simplices. I hope this helps! Let me know if you have any further questions. wmacmil at gmail.com ok, now List (S + 1) is failing to typecheck, again for the same reason. You are correct that the definition of SimplicialComplex still has an error in the type of simplices. In the current definition, simplices is defined as a list of lists of size S + 1, but the elements of this list should actually be lists of vertices. To fix this error, you can define the type of simplices as a list of lists of vertices. Here is how you can modify the definition of SimplicialComplex to do this: Copy code data SimplicialComplex (V : Set) (E : ?) (S : ?) : Set where mkSimplicialComplex : (vertices : List V) (edges : List (V ? V)) (simplices : List (List V)) ? SimplicialComplex V E S With this change, the type of simplices will be List (List V), which is a list of lists of vertices. This means that each element of the list simplices will be a list of vertices, rather than a list of size S + 1. For example, you could define a simplicial complex with 3 vertices, 3 edges, and 2 triangles as follows: Copy code exampleComplex : SimplicialComplex String 3 2 exampleComplex = mkSimplicialComplex ["A", "B", "C"] [("A", "B"), ("B", "C"), ("C", "A")] [["A", "B", "C"], ["A", "C", "B"]] This simplicial complex consists of 3 vertices (labeled "A", "B", and "C"), 3 edges (connecting the vertices "A" and "B", "B" and "C", and "C" and "A"), and 2 triangles (formed by the vertices "A", "B", and "C", and "A", "C", and "B"). I hope this helps! Let me know if you have any further questions. wmacmil at gmail.com now you SimplicialComplex definition typechecks! although, the parameters E and S no longer seem relevant - we can substitute any numbers for them in exampleComplex. how can we improve the definition so that the parameters more accurately indicate the shape of the complex? You are correct that the current definition of SimplicialComplex does not use the indices E and S in a meaningful way. In particular, the indices E and S do not necessarily reflect the number of edges and higher-dimensional simplices in the simplicial complex. To make the definition of SimplicialComplex more accurate, you could remove the indices E and S entirely, and simply specify the number of edges and higher-dimensional simplices directly in the definition. Here is how you could modify the definition of SimplicialComplex to do this: Copy code data SimplicialComplex (V : Set) : Set where mkSimplicialComplex : (vertices : List V) (edges : List (V ? V)) (simplices : List (List V)) ? SimplicialComplex V With this change, the type of SimplicialComplex V will represent a simplicial complex with vertices of type V, and the number of edges and higher-dimensional simplices will be determined by the lengths of the lists edges and simplices. For example, you could define a simplicial complex with 3 vertices, 3 edges, and 2 triangles as follows: Copy code exampleComplex : SimplicialComplex String exampleComplex = mkSimplicialComplex ["A", "B", "C"] [("A", "B"), ("B", "C"), ("C", "A")] [["A", "B", "C"], ["A", "C", "B"]] This simplicial complex consists of 3 vertices (labeled "A", "B", and "C"), 3 edges (connecting the vertices "A" and "B", "B" and "C", and "C" and "A"), and 2 triangles (formed by the vertices "A", "B", and "C", and "A", "C", and "B"). I hope this helps! Let me know if you have any further questions. wmacmil at gmail.com great. but what if we still want to keep E and S as indices to indicate the size of the lists, whereby the sized lists are actually vectors of fixed length? can you keep these indexes to get a more informative simplicial complex? and, couldn't you just port your current version to haskell? If you still want to keep the indices E and S as a way to indicate the size of the lists edges and simplices, you can define SimplicialComplex as a dependent data type, where the indices E and S are used to specify the lengths of the lists edges and simplices. Here is how you can define SimplicialComplex as a dependent data type: Copy code data SimplicialComplex (V : Set) (E : ?) (S : ?) : Set where mkSimplicialComplex : (vertices : List V) (edges : Vector E (V ? V)) (simplices : Vector S (List V)) ? SimplicialComplex V E S With this definition, the type of SimplicialComplex V E S represents a simplicial complex with vertices of type V, and E edges and S higher-dimensional simplices. The lists edges and simplices are replaced with vectors of fixed length E and S, respectively, which means that each SimplicialComplex will have exactly E edges and S higher-dimensional simplices. For example, you could define a simplicial complex with 3 vertices, 3 edges, and 2 triangles as follows: Copy code exampleComplex : SimplicialComplex String 3 2 exampleComplex = mkSimplicialComplex ["A", "B", "C"] (vector [("A", "B"), ("B", "C"), ("C", "A")]) (vector [["A", "B", "C"], ["A", "C", "B"]]) This simplicial complex consists of 3 vertices (labeled "A", "B", and "C"), 3 edges (connecting the vertices "A" and "B", "B" and "C", and "C" and "A"), and 2 triangles (formed by the vertices "A", "B", and "C", and "A", "C", and "B"). As for your second question, it is possible to port the definition of SimplicialComplex from Agda to Haskell. Here is how the definition would look in Haskell: Copy code data SimplicialComplex v e s = SimplicialComplex { vertices :: [v] , edges :: Vector e (v, v) , simplices :: Vector s [v] } This definition of SimplicialComplex in Haskell is similar to the definition in Agda, with the exception that the indices e and s are replaced with type variables e and s, and the lists edges and simplices are replaced with vectors of type Vector e (v, v) and Vector s [v], respectively. I hope this helps! Let me know if you have any further questions. wmacmil at gmail.com regarding our simplicial complex in agda, how can one distinguish between triangular and tetrahedral simplices? our definition kind of squashes them together, right? In the current definition of SimplicialComplex, all higher-dimensional simplices are represented as lists of vertices, regardless of their dimension. This means that it is not possible to distinguish between triangular and tetrahedral simplices (or simplices of any other dimension) based on the type alone. To distinguish between simplices of different dimensions, you could add an extra parameter to the definition of SimplicialComplex that specifies the dimension of each simplex. Here is how you could modify the definition of SimplicialComplex to do this: Copy code data SimplicialComplex (V : Set) : Set where mkSimplicialComplex : (vertices : List V) (edges : List (V ? V)) (simplices : List (? ? List V)) ? SimplicialComplex V With this change, the type of simplices will be List (? ? List V), which is a list of pairs where the first element is an integer representing the dimension of the simplex, and the second element is a list of vertices. For example, you could define a simplicial complex with 3 vertices, 3 edges, and 2 triangles as follows: Copy code exampleComplex : SimplicialComplex String exampleComplex = mkSimplicialComplex ["A", "B", "C"] [("A", "B"), ("B", "C"), ("C", "A")] [(2, ["A", "B", "C"]), (2, ["A", "C", "B"])] This simplicial complex consists of 3 vertices (labeled "A", "B", and "C"), 3 edges (connecting the vertices "A" and "B", "B" and "C", and "C" and "A"), and 2 triangles (formed by the vertices "A", "B", and "C", and "A", "C", and "B"). With this definition of SimplicialComplex, it is possible to distinguish between simplices of different dimensions based on the value of the first element in each pair. For example, you could define a tetrahedron as follows: Copy code tetrahedron : SimplicialComplex String tetrahedron = mkSimplicialComplex ["A", "B", "C", "D"] [("A", "B"), ("A", "C"), ("A", "D"), ("B", "C"), ("B", "D"), ("C", "D")] [(3, ["A", "B", "C", "D"])] This simplicial complex consists of 4 vertices (labeled "A", "B", "C", and "D"), 6 edges (connecting the vertices "A" and "B", "A