File: 2.6.4.1.md

package info (click to toggle)
agda 2.8.0-2
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 8,552 kB
  • sloc: haskell: 106,221; lisp: 3,882; yacc: 1,665; javascript: 599; perl: 15; makefile: 8
file content (75 lines) | stat: -rw-r--r-- 3,629 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
Release notes for Agda version 2.6.4.1
======================================

This is a minor release of Agda 2.6.4 featuring a few changes:

- Make recursion on proofs legal again.
- Improve performance, e.g. by removing debug printing unless built with cabal flag `debug`.
- Switch to XDG directory convention.
- Reflection: change to order of results returned by `getInstances`.
- Fix some internal errors.

Installation
------------

* Agda supports GHC versions 8.6.5 to 9.8.1.

* Verbose output printing via `-v` or `--verbose` is now only active if Agda is built with the `debug` cabal flag.
  Without `debug`, no code is generated for verbose printing, which makes building Agda faster and Agda itself
  faster as well. (PR [#6863](https://github.com/agda/agda/pull/6863))

Language
--------

* A [change](https://github.com/agda/agda/pull/6639) in 2.6.4 that prevented all recursion on proofs,
  i.e., members of a type `A : Prop ℓ`, has been [reverted](https://github.com/agda/agda/pull/6936).
  It is possible again to use proofs as termination arguments.
  (See [issue #6930](https://github.com/agda/agda/issues/6930).)

Reflection
----------

Changes to the meta-programming facilities.

* The reflection primitive `getInstances` will now return instance
  candidates ordered by _specificity_, rather than in unspecified order:
  If a candidate `c1 : T` has a type which is a substitution instance of
  that of another candidate `c2 : S`, `c1` will appear earlier in the
  list.

  As a concrete example, if you have instances `F (Nat → Nat)`, `F (Nat
  → a)`, and `F (a → b)`, they will be returned in this order. See
  [issue #6944](https://github.com/agda/agda/issues/6944) for further
  motivation.

Library management
------------------

* Agda now follows the XDG base directory standard on Unix-like systems,
  see [PR #6858](https://github.com/agda/agda/pull/6858).
  This means, it will look for configuration files in `~/.config/agda` rather than `~/.agda`.

  For backward compatibility, if you still have an `~/.agda` directory, it will look there first.

  No change on Windows, it will continue to use `%APPDATA%` (e.g. `C:/Users/USERNAME/AppData/Roaming/agda`).


Other issues closed
-------------------

For 2.6.4.1, the following issues were also
[closed](https://github.com/agda/agda/issues?q=is%3Aissue+milestone%3A2.6.4.1+is%3Aclosed)
(see [bug tracker](https://github.com/agda/agda/issues)):

- [#6745](https://github.com/agda/agda/issues/6745): Strange interaction between `opaque` and `let open`
- [#6746](https://github.com/agda/agda/issues/6746): Support GHC 9.8
- [#6852](https://github.com/agda/agda/issues/6852): Follow XDG Base Directory Specification
- [#6913](https://github.com/agda/agda/issues/6913): Internal error on `primLockUniv`-sorted functions
- [#6930](https://github.com/agda/agda/issues/6930): Termination checking with --prop: change in 2.6.4 compared with 2.6.3
- [#6931](https://github.com/agda/agda/issues/6931): Internal error with an empty parametrized module from a different file
- [#6941](https://github.com/agda/agda/issues/6941): Interaction between opaque and instance arguments
- [#6944](https://github.com/agda/agda/issues/6944): Order instances by specificity for reflection
- [#6953](https://github.com/agda/agda/issues/6953): Emacs 30 breaks agda mode
- [#6957](https://github.com/agda/agda/issues/6957): Agda stdlib installation instructions broken link
- [#6959](https://github.com/agda/agda/issues/6959): Warn about opaque `unquoteDecl`/`unquoteDef`
- [#6983](https://github.com/agda/agda/issues/6983): Refine command does not work on Emacs 30