--- /srv/rebuilderd/tmp/rebuilderdhat0nf/inputs/libghc-agda-dev_2.8.0-2+b1_i386.deb +++ /srv/rebuilderd/tmp/rebuilderdhat0nf/out/libghc-agda-dev_2.8.0-2+b1_i386.deb ├── file list │ @@ -1,3 +1,3 @@ │ -rw-r--r-- 0 0 0 4 2026-02-28 00:38:47.000000 debian-binary │ --rw-r--r-- 0 0 0 23184 2026-02-28 00:38:47.000000 control.tar.xz │ --rw-r--r-- 0 0 0 38111868 2026-02-28 00:38:47.000000 data.tar.xz │ +-rw-r--r-- 0 0 0 23180 2026-02-28 00:38:47.000000 control.tar.xz │ +-rw-r--r-- 0 0 0 38111552 2026-02-28 00:38:47.000000 data.tar.xz ├── control.tar.xz │ ├── control.tar │ │ ├── ./md5sums │ │ │ ├── ./md5sums │ │ │ │┄ Files differ ├── data.tar.xz │ ├── data.tar │ │ ├── file list │ │ │ @@ -194,16 +194,16 @@ │ │ │ -rw-r--r-- 0 root (0) root (0) 38387 2026-02-28 00:38:47.000000 ./usr/lib/haskell-packages/ghc/lib/i386-linux-ghc-9.10.3-inplace/Agda-2.8.0-KuAEKDRG5wsFRdA5w8sGLC/Agda/Mimer/Options.dyn_hi │ │ │ -rw-r--r-- 0 root (0) root (0) 38384 2026-02-28 00:38:47.000000 ./usr/lib/haskell-packages/ghc/lib/i386-linux-ghc-9.10.3-inplace/Agda-2.8.0-KuAEKDRG5wsFRdA5w8sGLC/Agda/Mimer/Options.hi │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2026-02-28 00:38:47.000000 ./usr/lib/haskell-packages/ghc/lib/i386-linux-ghc-9.10.3-inplace/Agda-2.8.0-KuAEKDRG5wsFRdA5w8sGLC/Agda/Setup/ │ │ │ -rw-r--r-- 0 root (0) root (0) 17268 2026-02-28 00:38:47.000000 ./usr/lib/haskell-packages/ghc/lib/i386-linux-ghc-9.10.3-inplace/Agda-2.8.0-KuAEKDRG5wsFRdA5w8sGLC/Agda/Setup/DataFiles.dyn_hi │ │ │ -rw-r--r-- 0 root (0) root (0) 17265 2026-02-28 00:38:47.000000 ./usr/lib/haskell-packages/ghc/lib/i386-linux-ghc-9.10.3-inplace/Agda-2.8.0-KuAEKDRG5wsFRdA5w8sGLC/Agda/Setup/DataFiles.hi │ │ │ -rw-r--r-- 0 root (0) root (0) 32227 2026-02-28 00:38:47.000000 ./usr/lib/haskell-packages/ghc/lib/i386-linux-ghc-9.10.3-inplace/Agda-2.8.0-KuAEKDRG5wsFRdA5w8sGLC/Agda/Setup/EmacsMode.dyn_hi │ │ │ -rw-r--r-- 0 root (0) root (0) 32224 2026-02-28 00:38:47.000000 ./usr/lib/haskell-packages/ghc/lib/i386-linux-ghc-9.10.3-inplace/Agda-2.8.0-KuAEKDRG5wsFRdA5w8sGLC/Agda/Setup/EmacsMode.hi │ │ │ --rw-r--r-- 0 root (0) root (0) 339143 2026-02-28 00:38:47.000000 ./usr/lib/haskell-packages/ghc/lib/i386-linux-ghc-9.10.3-inplace/Agda-2.8.0-KuAEKDRG5wsFRdA5w8sGLC/Agda/Setup.dyn_hi │ │ │ --rw-r--r-- 0 root (0) root (0) 339142 2026-02-28 00:38:47.000000 ./usr/lib/haskell-packages/ghc/lib/i386-linux-ghc-9.10.3-inplace/Agda-2.8.0-KuAEKDRG5wsFRdA5w8sGLC/Agda/Setup.hi │ │ │ +-rw-r--r-- 0 root (0) root (0) 339144 2026-02-28 00:38:47.000000 ./usr/lib/haskell-packages/ghc/lib/i386-linux-ghc-9.10.3-inplace/Agda-2.8.0-KuAEKDRG5wsFRdA5w8sGLC/Agda/Setup.dyn_hi │ │ │ +-rw-r--r-- 0 root (0) root (0) 339143 2026-02-28 00:38:47.000000 ./usr/lib/haskell-packages/ghc/lib/i386-linux-ghc-9.10.3-inplace/Agda-2.8.0-KuAEKDRG5wsFRdA5w8sGLC/Agda/Setup.hi │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2026-02-28 00:38:47.000000 ./usr/lib/haskell-packages/ghc/lib/i386-linux-ghc-9.10.3-inplace/Agda-2.8.0-KuAEKDRG5wsFRdA5w8sGLC/Agda/Syntax/ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2026-02-28 00:38:47.000000 ./usr/lib/haskell-packages/ghc/lib/i386-linux-ghc-9.10.3-inplace/Agda-2.8.0-KuAEKDRG5wsFRdA5w8sGLC/Agda/Syntax/Abstract/ │ │ │ -rw-r--r-- 0 root (0) root (0) 126853 2026-02-28 00:38:47.000000 ./usr/lib/haskell-packages/ghc/lib/i386-linux-ghc-9.10.3-inplace/Agda-2.8.0-KuAEKDRG5wsFRdA5w8sGLC/Agda/Syntax/Abstract/Name.dyn_hi │ │ │ -rw-r--r-- 0 root (0) root (0) 126850 2026-02-28 00:38:47.000000 ./usr/lib/haskell-packages/ghc/lib/i386-linux-ghc-9.10.3-inplace/Agda-2.8.0-KuAEKDRG5wsFRdA5w8sGLC/Agda/Syntax/Abstract/Name.hi │ │ │ -rw-r--r-- 0 root (0) root (0) 109139 2026-02-28 00:38:47.000000 ./usr/lib/haskell-packages/ghc/lib/i386-linux-ghc-9.10.3-inplace/Agda-2.8.0-KuAEKDRG5wsFRdA5w8sGLC/Agda/Syntax/Abstract/Pattern.dyn_hi │ │ │ -rw-r--r-- 0 root (0) root (0) 109136 2026-02-28 00:38:47.000000 ./usr/lib/haskell-packages/ghc/lib/i386-linux-ghc-9.10.3-inplace/Agda-2.8.0-KuAEKDRG5wsFRdA5w8sGLC/Agda/Syntax/Abstract/Pattern.hi │ │ │ -rw-r--r-- 0 root (0) root (0) 30746 2026-02-28 00:38:47.000000 ./usr/lib/haskell-packages/ghc/lib/i386-linux-ghc-9.10.3-inplace/Agda-2.8.0-KuAEKDRG5wsFRdA5w8sGLC/Agda/Syntax/Abstract/PatternSynonyms.dyn_hi │ │ │ @@ -845,16 +845,16 @@ │ │ │ -rw-r--r-- 0 root (0) root (0) 2860 2026-02-28 00:38:47.000000 ./usr/lib/haskell-packages/ghc/lib/i386-linux-ghc-9.10.3-inplace/Agda-2.8.0-KuAEKDRG5wsFRdA5w8sGLC/Agda/Utils/VarSet.hi │ │ │ -rw-r--r-- 0 root (0) root (0) 14973 2026-02-28 00:38:47.000000 ./usr/lib/haskell-packages/ghc/lib/i386-linux-ghc-9.10.3-inplace/Agda-2.8.0-KuAEKDRG5wsFRdA5w8sGLC/Agda/Utils/WithDefault.dyn_hi │ │ │ -rw-r--r-- 0 root (0) root (0) 14970 2026-02-28 00:38:47.000000 ./usr/lib/haskell-packages/ghc/lib/i386-linux-ghc-9.10.3-inplace/Agda-2.8.0-KuAEKDRG5wsFRdA5w8sGLC/Agda/Utils/WithDefault.hi │ │ │ -rw-r--r-- 0 root (0) root (0) 36651 2026-02-28 00:38:47.000000 ./usr/lib/haskell-packages/ghc/lib/i386-linux-ghc-9.10.3-inplace/Agda-2.8.0-KuAEKDRG5wsFRdA5w8sGLC/Agda/Utils/Zipper.dyn_hi │ │ │ -rw-r--r-- 0 root (0) root (0) 36648 2026-02-28 00:38:47.000000 ./usr/lib/haskell-packages/ghc/lib/i386-linux-ghc-9.10.3-inplace/Agda-2.8.0-KuAEKDRG5wsFRdA5w8sGLC/Agda/Utils/Zipper.hi │ │ │ -rw-r--r-- 0 root (0) root (0) 3790 2026-02-28 00:38:47.000000 ./usr/lib/haskell-packages/ghc/lib/i386-linux-ghc-9.10.3-inplace/Agda-2.8.0-KuAEKDRG5wsFRdA5w8sGLC/Agda/Version.dyn_hi │ │ │ -rw-r--r-- 0 root (0) root (0) 3787 2026-02-28 00:38:47.000000 ./usr/lib/haskell-packages/ghc/lib/i386-linux-ghc-9.10.3-inplace/Agda-2.8.0-KuAEKDRG5wsFRdA5w8sGLC/Agda/Version.hi │ │ │ --rw-r--r-- 0 root (0) root (0) 5721 2026-02-28 00:38:47.000000 ./usr/lib/haskell-packages/ghc/lib/i386-linux-ghc-9.10.3-inplace/Agda-2.8.0-KuAEKDRG5wsFRdA5w8sGLC/Agda/VersionCommit.dyn_hi │ │ │ --rw-r--r-- 0 root (0) root (0) 5720 2026-02-28 00:38:47.000000 ./usr/lib/haskell-packages/ghc/lib/i386-linux-ghc-9.10.3-inplace/Agda-2.8.0-KuAEKDRG5wsFRdA5w8sGLC/Agda/VersionCommit.hi │ │ │ +-rw-r--r-- 0 root (0) root (0) 5720 2026-02-28 00:38:47.000000 ./usr/lib/haskell-packages/ghc/lib/i386-linux-ghc-9.10.3-inplace/Agda-2.8.0-KuAEKDRG5wsFRdA5w8sGLC/Agda/VersionCommit.dyn_hi │ │ │ +-rw-r--r-- 0 root (0) root (0) 5719 2026-02-28 00:38:47.000000 ./usr/lib/haskell-packages/ghc/lib/i386-linux-ghc-9.10.3-inplace/Agda-2.8.0-KuAEKDRG5wsFRdA5w8sGLC/Agda/VersionCommit.hi │ │ │ -rw-r--r-- 0 root (0) root (0) 13705 2026-02-28 00:38:47.000000 ./usr/lib/haskell-packages/ghc/lib/i386-linux-ghc-9.10.3-inplace/Agda-2.8.0-KuAEKDRG5wsFRdA5w8sGLC/Paths_Agda.dyn_hi │ │ │ -rw-r--r-- 0 root (0) root (0) 13702 2026-02-28 00:38:47.000000 ./usr/lib/haskell-packages/ghc/lib/i386-linux-ghc-9.10.3-inplace/Agda-2.8.0-KuAEKDRG5wsFRdA5w8sGLC/Paths_Agda.hi │ │ │ -rw-r--r-- 0 root (0) root (0) 108183078 2026-02-28 00:38:47.000000 ./usr/lib/haskell-packages/ghc/lib/i386-linux-ghc-9.10.3-inplace/Agda-2.8.0-KuAEKDRG5wsFRdA5w8sGLC/libHSAgda-2.8.0-KuAEKDRG5wsFRdA5w8sGLC.a │ │ │ -rw-r--r-- 0 root (0) root (0) 78711792 2026-02-28 00:38:47.000000 ./usr/lib/haskell-packages/ghc/lib/i386-linux-ghc-9.10.3-inplace/libHSAgda-2.8.0-KuAEKDRG5wsFRdA5w8sGLC-ghc9.10.3.so │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2026-02-28 00:38:47.000000 ./usr/share/ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2026-02-28 00:38:47.000000 ./usr/share/doc/ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2026-02-28 00:38:47.000000 ./usr/share/doc/libghc-agda-dev/ │ │ ├── ./usr/lib/haskell-packages/ghc/lib/i386-linux-ghc-9.10.3-inplace/Agda-2.8.0-KuAEKDRG5wsFRdA5w8sGLC/Agda/Setup.dyn_hi │ │ │ @@ -1,21197 +1,21197 @@ │ │ │ 00000000: 0001 face 0439 3130 3303 6479 6e9e b5b6 .....9103.dyn... │ │ │ 00000010: ebe1 f4fc 9da1 01f1 ffa6 9af8 eeb6 d801 ................ │ │ │ -00000020: 0005 2cc6 0005 0872 0005 01e8 0000 0100 ..,....r........ │ │ │ -00000030: 0094 a480 d7d2 9ea8 eb7a c4dc bdc6 97ca .........z...... │ │ │ -00000040: 80e9 408d fcfc c5d9 8d87 a3c4 01db 85a1 ..@............. │ │ │ -00000050: 91ec c5ae 917f 95b2 9ce1 82c9 d0c1 57b4 ..............W. │ │ │ -00000060: d5a1 cbcf fa80 f47a 85cc beb3 c3eb acd4 .......z........ │ │ │ -00000070: 8501 ba9b 93dd 82f1 c0ff 5489 c1b6 f0df ..........T..... │ │ │ -00000080: b5a1 dc93 01f1 bed6 fe84 928d fbcd 01c9 ................ │ │ │ -00000090: c2c7 b5ad 8290 8bad 0187 c0cc 888b aba7 ................ │ │ │ -000000a0: 9a42 0000 0000 0158 0300 0200 0003 0000 .B.....X........ │ │ │ -000000b0: 0400 0605 0607 0809 0a00 0000 000a 000b ................ │ │ │ -000000c0: 0c00 0b0d 000e 0f00 1011 0012 1300 1214 ................ │ │ │ -000000d0: 0012 1500 1216 0012 1700 1218 2900 0019 ............)... │ │ │ -000000e0: 0005 1a00 051b 0005 1c00 051d 0005 1e00 ................ │ │ │ -000000f0: 051f 0005 2000 0621 0006 2200 0623 0024 .... ..!.."..#.$ │ │ │ -00000100: 2500 2627 0026 2800 0b29 000b 2a00 0b2b %.&'.&(..)..*..+ │ │ │ -00000110: 000b 2c00 0b2d 000b 2e00 0b2f 000b 3000 ..,..-...../..0. │ │ │ -00000120: 0b31 000b 3200 0b33 000b 3400 3536 0037 .1..2..3..4.56.7 │ │ │ -00000130: 3800 3739 000a 3a00 3b3c 003b 3d00 3b3e 8.79..:.;<.;=.;> │ │ │ -00000140: 003b 3f00 3b40 003b 4100 3b42 003b 4300 .;?.;@.;A.;B.;C. │ │ │ -00000150: 3b44 003b 4500 3b46 0000 0b42 e600 0102 ;D.;E.;F...B.... │ │ │ -00000160: 00a6 bcc1 b1c9 93c8 8204 e6b2 92ac b1b9 ................ │ │ │ -00000170: 8e9e 5801 cfe1 d7b4 fdfc 818a d401 bbce ..X............. │ │ │ -00000180: b7e6 a6bb d88d 1c02 0047 dcb9 e0c0 b18b .........G...... │ │ │ -00000190: c884 d301 b4bd ded6 cc83 ffcf 8601 0048 ...............H │ │ │ -000001a0: d5ca fdb9 aefa 9cf0 4ced d5bb 8ae1 ae95 ........L....... │ │ │ -000001b0: cb4f 0001 0300 8be4 bed5 d58a c0fc b001 .O.............. │ │ │ -000001c0: e881 edbb dbc7 dedd be01 01d3 86be ff87 ................ │ │ │ -000001d0: f2e9 bb8d 0180 9ba1 b293 f3b1 d178 0100 .............x.. │ │ │ -000001e0: 49a8 c1c3 f1d0 c6e1 dacf 01f9 8ebf e0e5 I............... │ │ │ -000001f0: ee8c c4af 0100 0104 0098 cff1 d193 eda9 ................ │ │ │ -00000200: be07 a4a6 8681 d186 fbfd f701 018b ba89 ................ │ │ │ -00000210: a2c5 befb 980f daf0 fdc1 b9f4 a9c7 2c01 ..............,. │ │ │ -00000220: 004a a5e3 a69a 8dd4 9395 50d1 9c82 cefc .J........P..... │ │ │ -00000230: c5e9 d828 0000 0005 4bc6 f8f6 d399 e5dd ...(....K....... │ │ │ -00000240: bcbd 01aa bb85 a1d6 948d 82fc 0100 0000 ................ │ │ │ -00000250: 054c 98ac 82b7 9fb9 aff1 8401 c8ed 9b93 .L.............. │ │ │ -00000260: 9bc4 c6b4 0f00 0000 054d c8e6 a1f6 87a6 .........M...... │ │ │ -00000270: 9aa3 20d8 b6a7 b2e7 c9ec ed93 0100 0000 .. ............. │ │ │ -00000280: 054e b6ae ed8e fdbd ea95 39f6 dc8f cd97 .N........9..... │ │ │ -00000290: 9fc3 f809 0000 0005 4fe3 d896 978c bdfe ........O....... │ │ │ -000002a0: 8f1a fdf0 d6b8 a2be adea 2000 0000 0550 .......... ....P │ │ │ -000002b0: 8b86 d3ae f4ad 98f0 b401 c5f0 f8c9 83e2 ................ │ │ │ -000002c0: fcbd 0b00 0000 0551 d0b5 f3b0 be83 cde6 .......Q........ │ │ │ -000002d0: 8201 ada3 c3ea a7ec ac8d 5900 0000 0652 ..........Y....R │ │ │ -000002e0: dcd2 f9fc b1a8 9694 9601 94db 919b dcec ................ │ │ │ -000002f0: cbda a101 0000 0006 21ee d0c8 bb85 82fb ........!....... │ │ │ -00000300: d6a2 01d2 88d5 b2cc a5e1 a630 0000 0007 ...........0.... │ │ │ -00000310: 53a8 9faa 87ad abe7 f405 b2d9 b2d3 b7a4 S............... │ │ │ -00000320: 8fec 7e00 0000 0754 a5e7 eadd cecb 88b6 ..~....T........ │ │ │ -00000330: bc01 cf8e 888e a2b7 b7e9 ab01 0000 0008 ................ │ │ │ -00000340: 55ef c7e2 96b0 f98e cba9 0197 f69f d7b8 U............... │ │ │ -00000350: 859b be39 0000 0009 56cf c5f1 cdee 8ecb ...9....V....... │ │ │ -00000360: d238 a6f0 95a3 f6ca eddd 8a01 0000 0009 .8.............. │ │ │ -00000370: 57e8 858b dac0 deb8 e403 adac 9e8c d7e0 W............... │ │ │ -00000380: aaeb 9901 0000 000b 0c8e 82c8 84a9 edc7 ................ │ │ │ -00000390: e8a6 01eb b7d2 8dab fbfd ed9a 0100 0000 ................ │ │ │ -000003a0: 0b58 8a90 eabc c5b2 88f2 b201 fee2 93e6 .X.............. │ │ │ -000003b0: 9a86 9cda 3500 0000 0b59 f4ad bdd9 d5ef ....5....Y...... │ │ │ -000003c0: f982 2eb2 f4cb fef0 eaba f432 0000 000b ...........2.... │ │ │ -000003d0: 5aff e78c d0ca 96b7 fc95 01ad ace9 ffe5 Z............... │ │ │ -000003e0: f3e5 afaa 0100 0000 0b5b e495 abb0 a4db .........[...... │ │ │ -000003f0: fec1 47ea d09b b8c9 8dd3 d4bd 0100 0000 ..G............. │ │ │ -00000400: 0b5c f4ab cd91 eeaf fb9b 8501 a7d3 9cfb .\.............. │ │ │ -00000410: e2ad abc5 6500 0000 0b5d 81ba c5e8 d48f ....e....]...... │ │ │ -00000420: 93cb ce01 b2fa 9cea e9e5 86e6 b501 0000 ................ │ │ │ -00000430: 000b 5ed7 f089 cec2 cacf d80b de8c e8ad ..^............. │ │ │ -00000440: 9c8f d1f6 0d00 0000 0b32 80c5 dfd3 bbd5 .........2...... │ │ │ -00000450: 9cf2 4c83 dae7 d1ab 9ec9 d46d 0000 000b ..L........m.... │ │ │ -00000460: 5fd9 dbed c484 df82 d45a f686 a487 bdd6 _........Z...... │ │ │ -00000470: d5bb d701 0000 000b 60af ceaa f9ca bb9d ........`....... │ │ │ -00000480: e235 abfb b2c1 c895 dcf1 8f01 0000 000b .5.............. │ │ │ -00000490: 61cb f9de ddc4 cebb a0d4 01b0 91be ddf0 a............... │ │ │ -000004a0: fa99 fc4a 0000 000b 62e2 fdf4 c7ad d088 ...J....b....... │ │ │ -000004b0: 990d cdef fe91 b6fa a3c5 b501 0000 000b ................ │ │ │ -000004c0: 6389 98ed 8ac0 88f8 b665 fcf0 caff 99d8 c........e...... │ │ │ -000004d0: 94c3 9d01 0000 000e 64c5 abb4 96b7 83be ........d....... │ │ │ -000004e0: f0a1 0188 b1a6 9af8 bf9d 837b 0000 000a ...........{.... │ │ │ -000004f0: 3ae3 8ff7 bac1 dbd9 8da8 01cc ca93 b5a0 :............... │ │ │ -00000500: 88be b084 0100 0265 9a86 aff8 b3c8 b4dd .......e........ │ │ │ -00000510: ef01 bf85 82de 80be a09a 6c00 0266 d7a0 ..........l..f.. │ │ │ -00000520: 87c7 97ad 8480 7d8c 9ca4 dfc0 b0f3 e3ea ......}......... │ │ │ -00000530: 0100 0267 a5d0 ef9a e8f4 e3f4 e001 dd82 ...g............ │ │ │ -00000540: de90 c7ab ca8b bf01 0002 68bb eaa4 c6c0 ..........h..... │ │ │ -00000550: a29d 8d77 98db cac6 81a7 aafb 1d00 0269 ...w...........i │ │ │ -00000560: b785 e4c7 b7ab a8e9 be01 f48a e3e1 cfbb ................ │ │ │ -00000570: 86e9 cf01 0002 6adb 85ee 9f95 abff a482 ......j......... │ │ │ -00000580: 01c2 9ee6 d4d6 c094 e058 0002 6b8c bf84 .........X..k... │ │ │ -00000590: a9d1 f5fd 914d c5d6 9f99 ebbc ddaa 3c00 .....M........<. │ │ │ -000005a0: 026c d5c6 8ee6 ecf0 bff4 10b9 f7d6 a693 .l.............. │ │ │ -000005b0: 8ce7 c73b 0002 6da2 f0f0 b0f5 a3c2 895b ...;..m........[ │ │ │ -000005c0: ace7 d6cb b988 d190 8d01 0002 6efa d6fa ............n... │ │ │ -000005d0: fbfd ccf6 f2dc 01cb a7e8 d498 a4bd 998d ................ │ │ │ -000005e0: 0100 026f 8eb9 dfa3 d89c c0a6 ad01 aeea ...o............ │ │ │ -000005f0: eff1 c8a6 c3ce f401 0002 70b3 a1c1 da86 ..........p..... │ │ │ -00000600: 9ad6 b3c8 01b8 ab94 d59d a2cb 8cdc 0100 ................ │ │ │ -00000610: 0271 d3d2 a0e9 d1cf c1be fb01 96a0 81a7 .q.............. │ │ │ -00000620: eec0 b884 b801 0002 729b ccc7 9afe 97c1 ........r....... │ │ │ -00000630: e179 be89 fe81 d987 85ea 1100 0273 f6e5 .y...........s.. │ │ │ -00000640: dff6 ff8e e6b9 04c5 aec5 cec8 fd8f fb73 ...............s │ │ │ -00000650: 0002 74d7 c1f0 b3da 949b c944 958b fdd9 ..t........D.... │ │ │ -00000660: ced4 b4c5 7100 0275 b0c3 b5a4 c5db d6e8 ....q..u........ │ │ │ -00000670: 158d 90a9 d6b2 f8bf faa1 0100 0276 b0fb .............v.. │ │ │ -00000680: 838f 97a0 d4ca f001 b3d8 f997 feea b386 ................ │ │ │ -00000690: ec01 0002 77d1 e1f4 dfa7 ef9e ef82 01ed ....w........... │ │ │ -000006a0: b2dd 82e1 aede f74f 0002 78e3 bbb0 b786 .......O..x..... │ │ │ -000006b0: 98a7 b634 b4fb a0b8 ee86 acbe c401 0002 ...4............ │ │ │ -000006c0: 79bf bad6 bbc8 9f9e b544 a1f7 9c96 e3d2 y........D...... │ │ │ -000006d0: edc0 5a00 027a e3ba 8cd7 bef7 d49f 4ac4 ..Z..z........J. │ │ │ -000006e0: eebe 94f3 c0f8 95b2 0100 027b d5b2 9ff7 ...........{.... │ │ │ -000006f0: 9ec7 d0fc f201 b7ff c684 95ff ff99 4000 ..............@. │ │ │ -00000700: 027c a986 bbd6 cf9a cdf8 75a8 8bc4 9dc9 .|........u..... │ │ │ -00000710: 84de e07d 0002 7d8e 86cb e690 a79e e4ce ...}..}......... │ │ │ -00000720: 01b5 f78f 9fc8 bcc7 b67d 0002 7eaf deeb .........}..~... │ │ │ -00000730: a9b5 ddf4 eeb7 01dd 9ee2 dccd d994 d164 ...............d │ │ │ -00000740: 0002 7fca d5ca 95ad 91d2 9ad1 01d5 a3ee ................ │ │ │ -00000750: c3ca 82d5 b4c3 0100 0280 018a 91a4 dfd5 ................ │ │ │ -00000760: e2f3 a6ba 01fc a8f2 93c9 e1fe f8c8 0100 ................ │ │ │ -00000770: 0281 01b3 aca8 bcd0 b6f6 ee2d b7c8 c4c4 ...........-.... │ │ │ -00000780: a9c8 b9da 3c00 0282 01f0 b9a4 b693 def6 ....<........... │ │ │ -00000790: 97d9 01da dbb4 909a dcb4 c78f 0100 0283 ................ │ │ │ -000007a0: 01e5 f6d7 f6a3 b5fa cf15 cce4 f4b1 b990 ................ │ │ │ -000007b0: e789 1700 0284 01b2 87e3 96cf a987 9dc8 ................ │ │ │ -000007c0: 01a0 d9c8 c1ea 979c c709 0002 8501 f8a8 ................ │ │ │ -000007d0: e7ad dfb9 dce4 46be ccfa cfed cc94 fc05 ......F......... │ │ │ -000007e0: 0002 8601 f1fd e5ca ec93 bac1 d801 87a8 ................ │ │ │ -000007f0: d884 aa9e c1ff c201 0002 8701 bf9b bea3 ................ │ │ │ -00000800: b0b7 b990 70d2 a18e d0a6 81fc a9a0 0100 ....p........... │ │ │ -00000810: 0288 01aa e2c0 95de e9ae 8c2e aeab b5ea ................ │ │ │ -00000820: ae8f e5ad 0400 0289 01f5 afc8 f5bf f9d4 ................ │ │ │ -00000830: 8d77 dad0 d897 a997 be83 d501 0002 8a01 .w.............. │ │ │ -00000840: 93b5 c894 a3dc baaf 2fb4 a1ac c9c6 aed0 ......../....... │ │ │ -00000850: faf5 0100 028b 01b9 aec6 8fa1 c5b2 86a9 ................ │ │ │ -00000860: 01c0 b5a8 f6f2 8bfd 8232 0002 8c01 c7cb .........2...... │ │ │ -00000870: 98b6 eb89 cbdc 0fd9 82f4 f4a5 82e8 fe42 ...............B │ │ │ -00000880: 0002 8d01 ae9b 8be7 eaa2 eb93 5b9c ad9d ............[... │ │ │ -00000890: 92e9 cdb7 8992 0100 028e 01a6 c8df c7f5 ................ │ │ │ -000008a0: 80c2 b654 ac92 c594 b5a2 ccea 3f00 028f ...T........?... │ │ │ -000008b0: 01ce b9e6 a492 ddc9 fcae 01da d9f9 c8b6 ................ │ │ │ -000008c0: d499 d3aa 0100 0290 01bc e097 e8b1 dccc ................ │ │ │ -000008d0: a8ae 01b1 c9c0 fa90 a185 e518 0002 9101 ................ │ │ │ -000008e0: d2f4 9cda 94cb b5bc f801 9c8b c9cb c1a6 ................ │ │ │ -000008f0: c9da f001 0002 9201 c994 e198 8e88 eac8 ................ │ │ │ -00000900: 729f bd9a 908c c5ac e6bf 0100 0293 019a r............... │ │ │ -00000910: e0bd c19d b5aa 8b5c fbf7 a6c3 aeba e5ef .......\........ │ │ │ -00000920: 9e01 0002 9401 fda6 8e87 bc9e a6b1 b301 ................ │ │ │ -00000930: d0aa efd8 8bef f2cf 6100 0295 0192 99fd ........a....... │ │ │ -00000940: d59a dea8 babe 01ce cbe2 aa89 c7c9 88e1 ................ │ │ │ -00000950: 0100 0296 019b 87eb e9bd ccf8 943d f89d .............=.. │ │ │ -00000960: fad5 f397 9e8f 4300 0297 01d3 b3d4 c8c7 ......C......... │ │ │ -00000970: f6c5 e741 dbcc fca9 bbd8 afa8 cd01 0002 ...A............ │ │ │ -00000980: 9801 e980 f5e5 8fe8 f99f 4cff bbbc 8c88 ..........L..... │ │ │ -00000990: d7f9 ed17 0002 9901 af83 c5b6 f080 d8d2 ................ │ │ │ -000009a0: 399d 8b9f be9a def9 a928 0002 9a01 9fba 9........(...... │ │ │ -000009b0: f9e6 84bf d9c5 9d01 e299 c3c1 86a8 c0fe ................ │ │ │ -000009c0: cc01 0002 9b01 fbb1 ede4 f1e0 e39a b101 ................ │ │ │ -000009d0: 9fdf 8fc3 c4b6 a9e3 d801 0002 9c01 b59b ................ │ │ │ -000009e0: 99bf 81d5 85f1 cf01 efbc a0ad 929c dff1 ................ │ │ │ -000009f0: 9501 0002 9d01 beb7 83d4 cc8a bfd1 cd01 ................ │ │ │ -00000a00: d5a2 ac90 c390 a081 f401 0002 9e01 f9b6 ................ │ │ │ -00000a10: eac5 ead7 e4ba 11da 91b5 93ab b8d6 8774 ...............t │ │ │ -00000a20: 0002 9f01 eaa2 bcca b3b7 c8e8 eb01 bc91 ................ │ │ │ -00000a30: af9a e682 f0ab 8801 0120 4167 6461 2e53 ......... Agda.S │ │ │ -00000a40: 6574 7570 2e44 6174 6146 696c 6573 5b54 etup.DataFiles[T │ │ │ -00000a50: 485d 2063 6861 6e67 6564 02a0 018a b79c H] changed...... │ │ │ -00000a60: 9cf2 8dd6 faac 01e9 e7f4 f589 eb8b a070 ...............p │ │ │ -00000a70: 0002 a101 d6ad cfe6 c1b8 a7c4 18ab c3a9 ................ │ │ │ -00000a80: dba4 ab96 c71e 0002 a201 efb7 c790 ecae ................ │ │ │ -00000a90: e4fc 9401 8ff8 91ed f0b2 a198 c101 0002 ................ │ │ │ -00000aa0: a301 91a1 c9f5 b4eb bcfc 2893 f6fa bd9b ..........(..... │ │ │ -00000ab0: aef5 c398 0100 02a4 01a4 e5b3 b3bf dccd ................ │ │ │ -00000ac0: cb47 a0d4 d7b1 a7dd dcef d301 0002 a501 .G.............. │ │ │ -00000ad0: 91f1 ea90 c4a0 d190 6f97 8598 a7a6 98a7 ........o....... │ │ │ -00000ae0: d7dd 0100 02a6 019e bfa6 e9ab ddc2 d1bd ................ │ │ │ -00000af0: 01ca 82de e8b1 deb0 d3c2 0100 02a7 01c2 ................ │ │ │ -00000b00: 8d95 efff 94e1 bb3b d9f8 d5ec c3fa ebc4 .......;........ │ │ │ -00000b10: 3e00 02a8 01c7 dad1 b79e dcbc c2ad 01b8 >............... │ │ │ -00000b20: 8990 c481 e6a3 e5cc 0100 02a9 0199 a8b2 ................ │ │ │ -00000b30: edda 9288 c0bd 01e6 be81 9aa1 a8c5 ae93 ................ │ │ │ -00000b40: 0100 0400 0000 0100 0200 039f a2fa d09c ................ │ │ │ -00000b50: 978e 897c fa8a b4ca 9fe8 bdc9 b601 0100 ...|............ │ │ │ -00000b60: 0000 0b67 0100 0000 000b 6c00 c901 a587 ...g......l..... │ │ │ -00000b70: b4c7 83d9 a1d9 1b81 8d9d f7e7 8288 f889 ................ │ │ │ -00000b80: 0100 0400 000b aa05 d281 80e6 0800 0001 ................ │ │ │ -00000b90: 0004 0408 0307 0281 8180 ec08 0200 0003 ................ │ │ │ -00000ba0: 0f00 0505 0b05 0b06 0b07 92d1 b681 face ................ │ │ │ -00000bb0: eab9 fc01 c58c 8a95 c9e5 a194 7d00 0700 ............}... │ │ │ -00000bc0: 000b e305 d481 80e6 0800 0001 0004 0408 ................ │ │ │ -00000bd0: 0307 0287 8180 ec08 0200 0003 0f00 050b ................ │ │ │ -00000be0: 080b 0994 8091 e9b4 c5c6 dea5 0196 dfae ................ │ │ │ -00000bf0: afc9 f3e1 e412 0009 0000 0c1d 0582 8080 ................ │ │ │ -00000c00: e608 0000 0100 0304 0704 0200 0003 0f00 ................ │ │ │ -00000c10: 0901 0a41 6764 612e 5365 7475 70d6 9587 ...Agda.Setup... │ │ │ -00000c20: f0ec dace 8164 eaf5 c2dd acc1 84e2 ca01 .....d.......... │ │ │ -00000c30: 0006 0000 0c56 05d4 8180 e608 0000 0100 .....V.......... │ │ │ -00000c40: 0404 0803 0702 8781 80ec 0802 0000 030f ................ │ │ │ -00000c50: 0005 0b08 0b0a 90ba d694 80df b7d4 ad01 ................ │ │ │ -00000c60: b69f c1b4 d5bc 80b6 2800 0a00 000c a705 ........(....... │ │ │ -00000c70: 8280 80e6 0800 0001 0003 0407 0402 0000 ................ │ │ │ -00000c80: 030f 0009 0121 4167 6461 2d32 2e38 2e30 .....!Agda-2.8.0 │ │ │ -00000c90: 2d4b 7541 454b 4452 4735 7773 4652 6441 -KuAEKDRG5wsFRdA │ │ │ -00000ca0: 3577 3873 474c 438d eac2 e989 9481 f98b 5w8sGLC......... │ │ │ -00000cb0: 01de ccd4 c5b1 c0d7 bad0 0100 0b00 0015 ................ │ │ │ -00000cc0: a903 0005 e282 80ec 0801 0001 0588 8080 ................ │ │ │ -00000cd0: e608 0000 0103 0005 e282 80ec 0801 0001 ................ │ │ │ -00000ce0: 05e4 8080 e608 0000 0005 ca80 80e6 0800 ................ │ │ │ -00000cf0: 0001 0001 05e4 8080 e608 0000 0005 ca80 ................ │ │ │ -00000d00: 80e6 0800 0001 0001 0006 0802 0007 0002 ................ │ │ │ -00000d10: 0002 0100 0202 0001 0202 0001 0203 01aa ................ │ │ │ -00000d20: 0100 0004 0002 0002 0000 030f 0004 0005 ................ │ │ │ -00000d30: e282 80ec 0801 0001 ab01 0588 8080 e608 ................ │ │ │ -00000d40: 0000 0100 0400 05e2 8280 ec08 0100 01ac ................ │ │ │ -00000d50: 0105 e480 80e6 0800 0000 05ca 8080 e608 ................ │ │ │ -00000d60: 0000 0100 0100 0605 0b0c 00ac 01ad 0101 ................ │ │ │ -00000d70: 0186 8080 f008 02ae 01af 0107 00b0 0103 ................ │ │ │ -00000d80: 0005 e282 80ec 0801 0001 05e4 8080 e608 ................ │ │ │ -00000d90: 0000 0005 ca80 80e6 0800 0001 0001 05e4 ................ │ │ │ -00000da0: 8080 e608 0000 0005 ca80 80e6 0800 0001 ................ │ │ │ -00000db0: 0001 0200 0101 0001 0200 0102 0101 0400 ................ │ │ │ -00000dc0: 05e2 8280 ec08 0100 01b1 0105 e480 80e6 ................ │ │ │ -00000dd0: 0800 0000 05ca 8080 e608 0000 0100 0101 ................ │ │ │ -00000de0: 0605 0505 050b 0d01 050e 0000 0100 af01 ................ │ │ │ -00000df0: 0c0b 0f03 0201 05e2 8280 ec08 0100 0102 ................ │ │ │ -00000e00: 0208 0000 0005 9a81 80e6 0800 0000 0510 ................ │ │ │ -00000e10: 0000 0100 0100 0005 9e80 80e6 0800 0001 ................ │ │ │ -00000e20: 0001 010a 0811 0001 0202 050e 0000 0101 ................ │ │ │ -00000e30: 00b1 01b2 0101 0186 8080 f008 02b3 01b4 ................ │ │ │ -00000e40: 0106 0c00 b401 0812 0000 b501 0101 1301 ................ │ │ │ -00000e50: b601 0605 0505 0b14 0bab 8080 ec08 00b6 ................ │ │ │ -00000e60: 0100 b301 b701 0101 8680 80f0 0802 b801 ................ │ │ │ -00000e70: b901 0700 ba01 0515 0000 0100 0005 050b ................ │ │ │ -00000e80: 1600 af01 0b17 0605 0505 0505 0505 0b18 ................ │ │ │ -00000e90: 0105 1900 0001 0108 0000 0101 0800 0001 ................ │ │ │ -00000ea0: 0c04 0005 e282 80ec 0801 0001 bb01 05e4 ................ │ │ │ -00000eb0: 8080 e608 0000 0005 ca80 80e6 0800 0001 ................ │ │ │ -00000ec0: 0001 0106 0505 050b 1a00 ba01 0bab 8080 ................ │ │ │ -00000ed0: ec08 00bb 01bc 0101 0186 8080 f008 02bd ................ │ │ │ -00000ee0: 01be 0106 0505 0505 050b ce89 80f2 0801 ................ │ │ │ -00000ef0: 0588 8280 ec08 0100 0101 0588 8080 e608 ................ │ │ │ -00000f00: 0000 0101 05ca 8080 e608 0000 010b ab80 ................ │ │ │ -00000f10: 80ec 0800 bd01 bf01 0101 8680 80f0 0802 ................ │ │ │ -00000f20: c001 c101 0301 0200 c001 060c 00be 010b ................ │ │ │ -00000f30: 081b 0000 081c 0000 c201 0101 1d01 c301 ................ │ │ │ -00000f40: 0505 0b1e 00c3 0100 c101 0a08 1100 0102 ................ │ │ │ -00000f50: 0205 1900 0001 010c 0b1f 0302 0105 e282 ................ │ │ │ -00000f60: 80ec 0801 0001 0202 0519 0000 0101 0a08 ................ │ │ │ -00000f70: 1100 0102 0208 0000 0101 0c04 0005 e282 ................ │ │ │ -00000f80: 80ec 0801 0001 c401 0519 0000 0101 0400 ................ │ │ │ -00000f90: 05e2 8280 ec08 0100 01c5 0105 e480 80e6 ................ │ │ │ -00000fa0: 0800 0000 05ca 8080 e608 0000 0100 0101 ................ │ │ │ -00000fb0: 0701 01c6 0103 0005 e282 80ec 0801 0001 ................ │ │ │ -00000fc0: 05b4 8080 e608 0000 0008 0000 0005 1500 ................ │ │ │ -00000fd0: 0001 0000 0520 0000 0100 0100 0103 0005 ..... .......... │ │ │ -00000fe0: e282 80ec 0801 0001 05e4 8080 e608 0000 ................ │ │ │ -00000ff0: 0005 ca80 80e6 0800 0001 0001 0801 0000 ................ │ │ │ -00001000: 05c8 8180 e608 0000 0101 0005 c481 80e6 ................ │ │ │ -00001010: 0800 0001 0100 05e4 8080 e608 0000 0005 ................ │ │ │ -00001020: ca80 80e6 0800 0001 0001 0000 0800 0001 ................ │ │ │ -00001030: 0001 0200 0201 0002 0300 0102 0200 0102 ................ │ │ │ -00001040: 0102 0400 05e2 8280 ec08 0100 01bc 0105 ................ │ │ │ -00001050: b480 80e6 0800 0000 0800 0000 0515 0000 ................ │ │ │ -00001060: 0100 0005 2000 0001 0001 0001 0004 0005 .... ........... │ │ │ -00001070: e282 80ec 0801 0001 c701 05e4 8080 e608 ................ │ │ │ -00001080: 0000 0005 ca80 80e6 0800 0001 0001 0106 ................ │ │ │ -00001090: 00bc 01c8 0102 019e 8080 ec08 0003 0102 ................ │ │ │ -000010a0: 00c7 010b 8180 80ee 0801 8680 80ec 0802 ................ │ │ │ -000010b0: c901 ca01 0600 c901 cb01 0101 8680 80ee ................ │ │ │ -000010c0: 0802 cc01 cd01 0700 bf01 0800 0000 058c ................ │ │ │ -000010d0: 8080 e608 0000 0100 0005 8c80 80e6 0800 ................ │ │ │ -000010e0: 0001 0001 0000 0605 0b21 00cc 01ce 0101 .........!...... │ │ │ -000010f0: 0186 8080 f008 02cf 01d0 0106 00cf 01d1 ................ │ │ │ -00001100: 0102 019e 8080 ec08 0003 0002 0b22 00d0 .............".. │ │ │ -00001110: 0101 8680 80ec 0802 d201 d301 0300 0200 ................ │ │ │ -00001120: d101 00d0 0107 00d4 0105 1500 0001 0000 ................ │ │ │ -00001130: 0600 bf01 ce01 0101 8680 80ee 0802 d501 ................ │ │ │ -00001140: d601 0505 0b16 00af 0100 d501 0605 0505 ................ │ │ │ -00001150: 050b 0d01 050e 0000 0100 d401 0c0b 0f03 ................ │ │ │ -00001160: 0201 05e2 8280 ec08 0100 0102 0208 0000 ................ │ │ │ -00001170: 0005 9a81 80e6 0800 0000 0510 0000 0100 ................ │ │ │ -00001180: 0100 0005 9e80 80e6 0800 0001 0001 010a ................ │ │ │ -00001190: 0811 0001 0202 050e 0000 0101 00c7 01d2 ................ │ │ │ -000011a0: 0101 0186 8080 f008 02bd 01be 0106 0c00 ................ │ │ │ -000011b0: be01 0812 0000 ce01 0101 1301 cf01 0605 ................ │ │ │ -000011c0: 0505 0b14 0bab 8080 ec08 00cf 0100 bd01 ................ │ │ │ -000011d0: d301 0101 8680 80f0 0802 c001 c101 0700 ................ │ │ │ -000011e0: d701 0515 0000 0100 0006 00bf 01d1 0101 ................ │ │ │ -000011f0: 0186 8080 ee08 02d5 01d6 0105 050b 1600 ................ │ │ │ -00001200: d401 00d6 0106 00ab 01d1 0102 018c 8080 ................ │ │ │ -00001210: ec08 0006 0505 0505 050b 2301 0800 0001 ..........#..... │ │ │ -00001220: 00d7 010b 240c 0400 05e2 8280 ec08 0100 ....$........... │ │ │ -00001230: 01d8 0105 2500 0001 0004 0005 e282 80ec ....%........... │ │ │ -00001240: 0801 0001 d901 05e4 8080 e608 0000 0005 ................ │ │ │ -00001250: ca80 80e6 0800 0001 0001 0105 0505 0b26 ...............& │ │ │ -00001260: 00d8 0100 cd01 00d9 0103 0201 05e2 8280 ................ │ │ │ -00001270: ec08 0100 0102 0205 2500 0001 010a 0811 ........%....... │ │ │ -00001280: 0001 0202 0800 0001 0100 c001 da01 0101 ................ │ │ │ -00001290: 8680 80f0 0802 db01 dc01 0505 00c6 0100 ................ │ │ │ -000012a0: ca01 00db 0101 aa80 80ec 0800 0605 0505 ................ │ │ │ -000012b0: 050b 270b 2805 050b 9680 80e0 080b 2900 ..'.(.........). │ │ │ -000012c0: d701 0bab 8080 ec08 00c0 01da 0101 0186 ................ │ │ │ -000012d0: 8080 f008 02db 01dc 0106 0505 0505 050b ................ │ │ │ -000012e0: 2301 0800 0001 00d7 010b 240c 0400 05e2 #.........$..... │ │ │ -000012f0: 8280 ec08 0100 01d8 0105 2500 0001 0004 ..........%..... │ │ │ -00001300: 0005 e282 80ec 0801 0001 d901 05e4 8080 ................ │ │ │ -00001310: e608 0000 0005 ca80 80e6 0800 0001 0001 ................ │ │ │ -00001320: 0105 0505 0b26 00d8 0100 cd01 00d9 0103 .....&.......... │ │ │ -00001330: 0201 05e2 8280 ec08 0100 0102 0205 2500 ..............%. │ │ │ -00001340: 0001 010a 0811 0001 0202 0800 0001 0100 ................ │ │ │ -00001350: db01 dd01 0101 8680 80f0 0802 de01 df01 ................ │ │ │ -00001360: 0505 00c6 0100 ca01 00de 0105 0500 c601 ................ │ │ │ -00001370: 0b2a 00c5 0103 0201 05e2 8280 ec08 0100 .*.............. │ │ │ -00001380: 0102 0205 1900 0001 010a 0811 0001 0202 ................ │ │ │ -00001390: 0800 0001 0100 b801 bc01 0101 8680 80f0 ................ │ │ │ -000013a0: 0802 bd01 be01 0605 0505 0505 0505 0bdc ................ │ │ │ -000013b0: 8980 f208 0105 c481 80e6 0800 0001 0105 ................ │ │ │ -000013c0: 8882 80ec 0801 0001 0105 a881 80e6 0800 ................ │ │ │ -000013d0: 0000 052b 0000 0100 0008 0000 0100 0101 ...+............ │ │ │ -000013e0: 052c 0000 0104 0005 e282 80ec 0801 0001 .,.............. │ │ │ -000013f0: bb01 05e4 8080 e608 0000 0005 ca80 80e6 ................ │ │ │ -00001400: 0800 0001 0001 0106 0505 0505 0b0d 0105 ................ │ │ │ -00001410: 0e00 0001 00ba 010c 0b0f 0302 0105 e282 ................ │ │ │ -00001420: 80ec 0801 0001 0202 0800 0000 059a 8180 ................ │ │ │ -00001430: e608 0000 0005 1000 0001 0001 0000 059e ................ │ │ │ -00001440: 8080 e608 0000 0100 0101 0a08 1100 0102 ................ │ │ │ -00001450: 0205 0e00 0001 0100 bb01 bf01 0101 8680 ................ │ │ │ -00001460: 80f0 0802 c001 c101 0605 050b 2d0c 00c1 ............-... │ │ │ -00001470: 010a 082e 0000 00c0 01d2 0101 0186 8080 ................ │ │ │ -00001480: f008 02db 01dc 0103 0102 00db 0105 0505 ................ │ │ │ -00001490: 0b2f 0105 2b00 0001 0108 0000 0100 dc01 ./..+........... │ │ │ -000014a0: 0b30 00bd 01bf 0101 0186 8080 f008 02c0 .0.............. │ │ │ -000014b0: 01c1 0100 c001 0600 ab01 b501 0201 8c80 ................ │ │ │ -000014c0: 80ec 0800 0605 0505 050b 0d01 050e 0000 ................ │ │ │ -000014d0: 0100 af01 0c0b 0f03 0201 05e2 8280 ec08 ................ │ │ │ -000014e0: 0100 0102 0208 0000 0005 9a81 80e6 0800 ................ │ │ │ -000014f0: 0000 0510 0000 0100 0100 0005 9e80 80e6 ................ │ │ │ -00001500: 0800 0001 0001 010a 0811 0001 0202 050e ................ │ │ │ -00001510: 0000 0101 00ae 01b2 0101 0186 8080 f008 ................ │ │ │ -00001520: 02b3 01b4 0106 0505 0505 0505 050b dc89 ................ │ │ │ -00001530: 80f2 0801 05c4 8180 e608 0000 0101 0588 ................ │ │ │ -00001540: 8280 ec08 0100 0101 0588 8080 e608 0000 ................ │ │ │ -00001550: 0101 052c 0000 0105 0b31 0c00 b401 0b0a ...,.....1...... │ │ │ -00001560: 082e 0000 0a08 3200 000b 3300 b301 b701 ......2...3..... │ │ │ -00001570: 0101 8680 80f0 0802 b801 b901 0600 b901 ................ │ │ │ -00001580: c801 0201 8c80 80ec 0800 0500 b001 00b8 ................ │ │ │ -00001590: 0101 aa80 80ec 0800 00b8 0101 aa80 80ec ................ │ │ │ -000015a0: 0800 0500 b001 00ae 01ff bdc0 ccb5 e4d8 ................ │ │ │ -000015b0: dd68 b6e0 d78e 83f0 8096 e901 002a 0000 .h...........*.. │ │ │ -000015c0: 1614 05b4 8080 e608 0000 0008 0000 0005 ................ │ │ │ -000015d0: 1500 0001 0000 0520 0000 0100 0100 0100 ....... ........ │ │ │ -000015e0: 0207 0101 0002 0000 0300 0005 0505 050b ................ │ │ │ -000015f0: a180 80e0 0801 05b4 8080 e608 0000 0005 ................ │ │ │ -00001600: 9080 80e6 0800 0001 0001 0105 2000 0001 ............ ... │ │ │ -00001610: 0b34 0b35 a994 ebf9 abdc d5c9 0ab0 db8e .4.5............ │ │ │ -00001620: 97f3 e2cc c964 0000 0000 1660 05f2 8080 .....d.....`.... │ │ │ -00001630: e608 0000 0005 1500 0001 0001 0004 0700 ................ │ │ │ -00001640: 0100 0101 0001 0200 0102 0200 0003 0f00 ................ │ │ │ -00001650: 0c0b 360a 0811 0001 0202 0515 0000 0101 ..6............. │ │ │ -00001660: 9bc0 cc95 b0de abb6 e601 968d 9097 8b91 ................ │ │ │ -00001670: 89c3 9201 0036 0000 1943 0300 05e2 8280 .....6...C...... │ │ │ -00001680: ec08 0100 0105 e480 80e6 0800 0000 05ca ................ │ │ │ -00001690: 8080 e608 0000 0100 0108 0100 0005 c881 ................ │ │ │ -000016a0: 80e6 0800 0001 0100 05c4 8180 e608 0000 ................ │ │ │ -000016b0: 0101 0005 e480 80e6 0800 0000 05ca 8080 ................ │ │ │ -000016c0: e608 0000 0100 0100 0005 1500 0001 0001 ................ │ │ │ -000016d0: 0004 0700 0100 0101 0001 0200 0102 0200 ................ │ │ │ -000016e0: 0003 0f00 0400 05e2 8280 ec08 0100 01ac ................ │ │ │ -000016f0: 0105 e480 80e6 0800 0000 05ca 8080 e608 ................ │ │ │ -00001700: 0000 0100 0100 0605 0c05 050b fe80 80e0 ................ │ │ │ -00001710: 0801 05f2 8080 e608 0000 0005 3700 0001 ............7... │ │ │ -00001720: 0001 0b38 0811 0001 0202 0537 0000 0101 ...8.......7.... │ │ │ -00001730: 00ac 01ad 0101 0186 8080 f008 02ae 01af ................ │ │ │ -00001740: 0106 00af 01b5 0101 0139 05e0 01e1 01b6 .........9...... │ │ │ -00001750: 01cf 01d0 0106 0505 0505 0505 050b 3a01 ..............:. │ │ │ -00001760: 05b8 8080 e608 0000 0005 8c80 80e6 0800 ................ │ │ │ -00001770: 0001 0001 0101 e001 0101 e101 00d0 010b ................ │ │ │ -00001780: 3b0c 0b3c 0302 0105 e282 80ec 0801 0001 ;..<............ │ │ │ -00001790: 0202 053d 0000 0101 0a08 1100 0102 0205 ...=............ │ │ │ -000017a0: b880 80e6 0800 0000 058c 8080 e608 0000 ................ │ │ │ -000017b0: 0100 0101 00ae 01b7 0101 0186 8080 f008 ................ │ │ │ -000017c0: 02b3 01b4 0106 00b4 01c8 0102 0195 8080 ................ │ │ │ -000017d0: ec08 0005 0b3e 00b3 0101 9880 80ec 0801 .....>.......... │ │ │ -000017e0: d401 0605 0505 050b 0d01 050e 0000 0100 ................ │ │ │ -000017f0: d401 0c0b 0f03 0201 05e2 8280 ec08 0100 ................ │ │ │ -00001800: 0102 0208 0000 0005 9a81 80e6 0800 0000 ................ │ │ │ -00001810: 0510 0000 0100 0100 0005 9e80 80e6 0800 ................ │ │ │ -00001820: 0001 0001 010a 0811 0001 0202 050e 0000 ................ │ │ │ -00001830: 0101 00b3 01b2 0101 0186 8080 f008 02b8 ................ │ │ │ -00001840: 01b9 0106 0505 0505 0505 050b dc89 80f2 ................ │ │ │ -00001850: 0801 05c4 8180 e608 0000 0101 0588 8280 ................ │ │ │ -00001860: ec08 0100 0101 0588 8080 e608 0000 0101 ................ │ │ │ -00001870: 052c 0000 0105 0b31 0c00 b901 0b0a 082e .,.....1........ │ │ │ -00001880: 0000 0a08 3200 000b 3300 b801 bc01 0101 ....2...3....... │ │ │ -00001890: 8680 80f0 0802 bd01 be01 0600 be01 cb01 ................ │ │ │ -000018a0: 0201 8c80 80ec 0800 0605 0b3e 00bd 01bf ...........>.... │ │ │ -000018b0: 0101 0186 8080 f008 02c0 01c1 0106 0505 ................ │ │ │ -000018c0: 0505 0b27 0b28 0505 0b96 8080 e008 0b3f ...'.(.........? │ │ │ -000018d0: 0505 0505 0b40 0105 9080 80e6 0800 0001 .....@.......... │ │ │ -000018e0: 0b41 0505 0b42 00d4 010b 4305 050b 9680 .A...B....C..... │ │ │ -000018f0: 80e0 080b 4405 0505 050b 4001 0590 8080 ....D.....@..... │ │ │ -00001900: e608 0000 010b 4105 050b 4200 c101 0b43 ......A...B....C │ │ │ -00001910: 0b45 0bab 8080 ec08 00c0 01d2 0101 0186 .E.............. │ │ │ -00001920: 8080 f008 02db 01dc 0103 0102 00db 0100 ................ │ │ │ -00001930: c101 01aa 8080 ec08 0005 050b 4600 d401 ............F... │ │ │ -00001940: 00bd 01c8 f281 9eac e5a8 8404 849c c9cb ................ │ │ │ -00001950: 8aaf cdd4 c301 0047 0000 197b 0582 8080 .......G...{.... │ │ │ -00001960: e608 0000 0100 0304 0704 0200 0003 0f00 ................ │ │ │ -00001970: 0901 0841 4744 415f 4449 5291 feb8 e4ee ...AGDA_DIR..... │ │ │ -00001980: c5c1 e05b aa87 c993 b98b 84d3 1700 4500 ...[..........E. │ │ │ -00001990: 0019 bc05 b480 80e6 0800 0000 0590 8080 ................ │ │ │ -000019a0: e608 0000 0100 0100 0207 0101 0002 0000 ................ │ │ │ -000019b0: 0305 0005 0b95 8080 e008 0b48 a5ed b6d6 ...........H.... │ │ │ -000019c0: 8eb0 f38e 8001 d297 f29d f9ad a9e8 dd01 ................ │ │ │ -000019d0: 0048 0000 19f6 0582 8080 e608 0000 0100 .H.............. │ │ │ -000019e0: 0304 0704 0200 0003 0f00 0901 0920 696e ............. in │ │ │ -000019f0: 7374 6561 642e a3fd b3a6 abea bdc7 8201 stead........... │ │ │ -00001a00: a7f7 ace5 e8d0 caab c601 0044 0000 1a2f ...........D.../ │ │ │ -00001a10: 0582 8080 e608 0000 0100 0304 0704 0200 ................ │ │ │ -00001a20: 0003 0f00 0901 082c 2075 7369 6e67 20a3 ......., using . │ │ │ -00001a30: 8fb9 d08b 95e6 f241 f893 fa81 e2d5 c78a .......A........ │ │ │ -00001a40: f501 003f 0000 1aa8 0582 8080 e608 0000 ...?............ │ │ │ -00001a50: 0100 0304 0704 0200 0003 0f00 0901 c800 ................ │ │ │ -00001a60: 5761 726e 696e 673a 2045 6e76 6972 6f6e Warning: Environ │ │ │ -00001a70: 6d65 6e74 2076 6172 6961 626c 6520 4147 ment variable AG │ │ │ -00001a80: 4441 5f44 4952 2070 6f69 6e74 7320 746f DA_DIR points to │ │ │ -00001a90: 206e 6f6e 2d65 7869 7374 696e 6720 6469 non-existing di │ │ │ -00001aa0: 7265 6374 6f72 7920 e9e0 99e4 80a6 a99d rectory ........ │ │ │ -00001ab0: 1ea0 acd7 de8d 9283 a4de 0100 3e00 001f ............>... │ │ │ -00001ac0: 5e03 0005 e282 80ec 0801 0001 05e4 8080 ^............... │ │ │ -00001ad0: e608 0000 0005 ca80 80e6 0800 0001 0001 ................ │ │ │ -00001ae0: 0801 0000 05c8 8180 e608 0000 0101 0005 ................ │ │ │ -00001af0: c481 80e6 0800 0001 0100 05e4 8080 e608 ................ │ │ │ -00001b00: 0000 0005 ca80 80e6 0800 0001 0001 0000 ................ │ │ │ -00001b10: 0515 0000 0100 0100 0407 0001 0001 0100 ................ │ │ │ -00001b20: 0102 0001 0202 0000 030f 0004 0005 e282 ................ │ │ │ -00001b30: 80ec 0801 0001 ac01 05e4 8080 e608 0000 ................ │ │ │ -00001b40: 0005 ca80 80e6 0800 0001 0001 0006 0505 ................ │ │ │ -00001b50: 0505 0b0d 0105 0e00 0001 0b49 0c0b 0f03 ...........I.... │ │ │ -00001b60: 0201 05e2 8280 ec08 0100 0102 0208 0000 ................ │ │ │ -00001b70: 0005 9a81 80e6 0800 0000 0510 0000 0100 ................ │ │ │ -00001b80: 0100 0005 9e80 80e6 0800 0001 0001 010a ................ │ │ │ -00001b90: 0811 0001 0202 050e 0000 0101 00ac 01b2 ................ │ │ │ -00001ba0: 0101 0186 8080 f008 02ae 01af 0106 0505 ................ │ │ │ -00001bb0: 0505 0505 050b dc89 80f2 0801 05c4 8180 ................ │ │ │ -00001bc0: e608 0000 0101 0588 8280 ec08 0100 0101 ................ │ │ │ -00001bd0: 054a 0000 0101 052c 0000 0105 0b4b 0c00 .J.....,.....K.. │ │ │ -00001be0: af01 0b0a 082e 0000 0a08 3200 000b 4c00 ..........2...L. │ │ │ -00001bf0: ae01 ad01 0101 8680 80f0 0802 b301 b401 ................ │ │ │ -00001c00: 060c 00b4 010b 0832 0000 0b08 2e00 0008 .......2........ │ │ │ -00001c10: 1200 00b5 0101 0113 01e2 0107 00e3 0105 ................ │ │ │ -00001c20: 9c80 80e6 0800 0001 0000 050b fa85 80f2 ................ │ │ │ -00001c30: 0800 e201 0605 0505 0be6 8580 f208 0105 ................ │ │ │ -00001c40: ca80 80e6 0800 0001 00e3 0100 b301 b701 ................ │ │ │ -00001c50: 0101 8680 80f0 0802 b801 b901 0605 0505 ................ │ │ │ -00001c60: 0bf6 8580 f208 0105 ca80 80e6 0800 0001 ................ │ │ │ -00001c70: 00b9 0100 b801 c801 0101 8680 80f0 0802 ................ │ │ │ -00001c80: bb01 e401 0605 0505 0505 0505 050b f08a ................ │ │ │ -00001c90: 80f2 0801 058b 8280 ec08 0100 0101 05d8 ................ │ │ │ -00001ca0: 8180 ec08 0100 0005 8680 80ec 0801 0000 ................ │ │ │ -00001cb0: 05be 8180 e608 0000 0101 0005 c881 80e6 ................ │ │ │ -00001cc0: 0800 0001 0000 0586 8080 ec08 0100 0005 ................ │ │ │ -00001cd0: be81 80e6 0800 0001 0100 05c4 8180 e608 ................ │ │ │ -00001ce0: 0000 0100 0005 9e80 80ec 0801 0000 05be ................ │ │ │ -00001cf0: 8180 e608 0000 0101 0100 0100 0100 0101 ................ │ │ │ -00001d00: 058a 8080 e608 0000 0101 05ca 8080 e608 ................ │ │ │ -00001d10: 0000 0101 0801 0000 05c8 8180 e608 0000 ................ │ │ │ -00001d20: 0101 0005 c481 80e6 0800 0001 0100 05e4 ................ │ │ │ -00001d30: 8080 e608 0000 0005 ca80 80e6 0800 0001 ................ │ │ │ -00001d40: 0001 0000 058c 8080 e608 0000 0100 0100 ................ │ │ │ -00001d50: e401 00bb 0104 0005 e282 80ec 0801 0001 ................ │ │ │ -00001d60: b101 05e4 8080 e608 0000 0005 ca80 80e6 ................ │ │ │ -00001d70: 0800 0001 0001 0107 00e5 0105 8280 80e6 ................ │ │ │ -00001d80: 0800 0001 0000 050b ee85 80f2 0800 e401 ................ │ │ │ -00001d90: 0605 0505 0505 050b bc87 80f2 0801 05ca ................ │ │ │ -00001da0: 8080 e608 0000 0100 e201 0906 0100 0000 ................ │ │ │ -00001db0: e501 00e3 0100 b101 e601 0100 0005 050b ................ │ │ │ -00001dc0: 4d03 0002 0505 0b4e 0105 1000 0001 00e5 M......N........ │ │ │ -00001dd0: 0105 0b93 8080 ec08 00e3 0100 e601 bc01 ................ │ │ │ -00001de0: 0101 8680 80f0 0802 bd01 be01 0605 0505 ................ │ │ │ -00001df0: 050b 0d01 050e 0000 0100 be01 0c0b 0f03 ................ │ │ │ -00001e00: 0201 05e2 8280 ec08 0100 0102 0208 0000 ................ │ │ │ -00001e10: 0005 9a81 80e6 0800 0000 0510 0000 0100 ................ │ │ │ -00001e20: 0100 0005 9e80 80e6 0800 0001 0001 010a ................ │ │ │ -00001e30: 0811 0001 0202 050e 0000 0101 00bd 01bf ................ │ │ │ -00001e40: 0101 0186 8080 f008 02c0 01c1 0106 0505 ................ │ │ │ -00001e50: 0505 0505 050b dc89 80f2 0801 05c4 8180 ................ │ │ │ -00001e60: e608 0000 0101 0588 8280 ec08 0100 0101 ................ │ │ │ -00001e70: 0588 8080 e608 0000 0101 052c 0000 0105 ...........,.... │ │ │ -00001e80: 0b31 0c00 c101 0b0a 082e 0000 0a08 3200 .1............2. │ │ │ -00001e90: 000b 3300 c001 d201 0101 8680 80f0 0802 ..3............. │ │ │ -00001ea0: db01 dc01 0600 dc01 cb01 0201 8c80 80ec ................ │ │ │ -00001eb0: 0800 0605 0505 050b 0d01 050e 0000 010b ................ │ │ │ -00001ec0: 490c 0b0f 0302 0105 e282 80ec 0801 0001 I............... │ │ │ -00001ed0: 0202 0800 0000 059a 8180 e608 0000 0005 ................ │ │ │ -00001ee0: 1000 0001 0001 0000 059e 8080 e608 0000 ................ │ │ │ -00001ef0: 0100 0101 0a08 1100 0102 0205 0e00 0001 ................ │ │ │ -00001f00: 0100 db01 d301 0101 8680 80f0 0802 de01 ................ │ │ │ -00001f10: df01 0605 0505 0b4f 0b50 0c00 df01 0b0a .......O.P...... │ │ │ -00001f20: 082e 0000 0a08 3200 0000 de01 da01 0101 ......2......... │ │ │ -00001f30: 8680 80f0 0802 e701 e801 0505 0b51 0c00 .............Q.. │ │ │ -00001f40: e801 0b08 3200 0008 2e00 0000 e701 01aa ....2........... │ │ │ -00001f50: 8080 ec08 0003 0102 00db 0100 be01 daa9 ................ │ │ │ -00001f60: bfa6 8b96 f5f1 72e2 dcd3 f5a8 f382 ef28 ......r........( │ │ │ -00001f70: 0049 0000 1f9f 05b4 8080 e608 0000 0005 .I.............. │ │ │ -00001f80: 9080 80e6 0800 0001 0001 0002 0701 0100 ................ │ │ │ -00001f90: 0200 0003 0500 050b 9580 80e0 080b 5285 ..............R. │ │ │ -00001fa0: b580 a8a3 bdcc 8350 efa8 91c0 8bae e9a1 .......P........ │ │ │ -00001fb0: ca01 0052 0000 1fd3 0582 8080 e608 0000 ...R............ │ │ │ -00001fc0: 0100 0304 0704 0200 0003 0f00 0901 0461 ...............a │ │ │ -00001fd0: 6764 61d6 99c0 dec2 a4e0 ab2c f39b ddc5 gda........,.... │ │ │ -00001fe0: a1f1 bdf9 3d00 3b00 0020 1405 b480 80e6 ....=.;.. ...... │ │ │ -00001ff0: 0800 0000 0590 8080 e608 0000 0100 0100 ................ │ │ │ -00002000: 0207 0101 0002 0000 0305 0005 0b95 8080 ................ │ │ │ -00002010: e008 0b47 f280 fa80 a9db c3bf 8c01 ebde ...G............ │ │ │ -00002020: 9299 fcc0 e6aa 8d01 0001 0000 2062 05f2 ............ b.. │ │ │ -00002030: 8080 e608 0000 0005 1500 0001 0001 0004 ................ │ │ │ -00002040: 0700 0100 0101 0001 0200 0102 0200 0003 ................ │ │ │ -00002050: 0f00 0c0b 0c0a 0811 0001 0202 0515 0000 ................ │ │ │ -00002060: 0101 aec8 b2cf 9086 e6f8 a301 cef9 c3f5 ................ │ │ │ -00002070: 8fd5 82e1 0b00 0c00 0023 a003 0005 e282 .........#...... │ │ │ -00002080: 80ec 0801 0001 05e4 8080 e608 0000 0005 ................ │ │ │ -00002090: ca80 80e6 0800 0001 0001 0801 0000 05c8 ................ │ │ │ -000020a0: 8180 e608 0000 0101 0005 c481 80e6 0800 ................ │ │ │ -000020b0: 0001 0100 05e4 8080 e608 0000 0005 ca80 ................ │ │ │ -000020c0: 80e6 0800 0001 0001 0000 0515 0000 0100 ................ │ │ │ -000020d0: 0100 0407 0001 0001 0100 0102 0001 0202 ................ │ │ │ -000020e0: 0000 030f 0004 0005 e282 80ec 0801 0001 ................ │ │ │ -000020f0: ac01 05e4 8080 e608 0000 0005 ca80 80e6 ................ │ │ │ -00002100: 0800 0001 0001 0006 050c 0505 0bfe 8080 ................ │ │ │ -00002110: e008 0105 f280 80e6 0800 0000 0537 0000 .............7.. │ │ │ -00002120: 0100 010b 3808 1100 0102 0205 3700 0001 ....8.......7... │ │ │ -00002130: 0100 ac01 ad01 0101 8680 80f0 0802 ae01 ................ │ │ │ -00002140: af01 0600 af01 b501 0101 3905 e001 e101 ..........9..... │ │ │ -00002150: b601 cf01 d001 0605 0505 0505 0505 0b3a ...............: │ │ │ -00002160: 0105 b880 80e6 0800 0000 058c 8080 e608 ................ │ │ │ -00002170: 0000 0100 0101 01e0 0101 01e1 0100 d001 ................ │ │ │ -00002180: 0b53 0c0b 3c03 0201 05e2 8280 ec08 0100 .S..<........... │ │ │ -00002190: 0102 0205 3d00 0001 010a 0811 0001 0202 ....=........... │ │ │ -000021a0: 05b8 8080 e608 0000 0005 8c80 80e6 0800 ................ │ │ │ -000021b0: 0001 0001 0100 ae01 b701 0101 8680 80f0 ................ │ │ │ -000021c0: 0802 b301 b401 0600 b401 c801 0201 9580 ................ │ │ │ -000021d0: 80ec 0800 0505 0505 0505 050b dc89 80f2 ................ │ │ │ -000021e0: 0801 05c4 8180 e608 0000 0101 0588 8280 ................ │ │ │ -000021f0: ec08 0100 0101 0515 0000 0101 052c 0000 .............,.. │ │ │ -00002200: 010b 540b 5500 b301 0198 8080 ec08 01d4 ..T.U........... │ │ │ -00002210: 0106 0505 0505 0b0d 0105 0e00 0001 00d4 ................ │ │ │ -00002220: 010c 0b0f 0302 0105 e282 80ec 0801 0001 ................ │ │ │ -00002230: 0202 0800 0000 059a 8180 e608 0000 0005 ................ │ │ │ -00002240: 1000 0001 0001 0000 059e 8080 e608 0000 ................ │ │ │ -00002250: 0100 0101 0a08 1100 0102 0205 0e00 0001 ................ │ │ │ -00002260: 0100 b301 b201 0101 8680 80f0 0802 b801 ................ │ │ │ -00002270: b901 0605 0505 0505 0505 0bdc 8980 f208 ................ │ │ │ -00002280: 0105 c481 80e6 0800 0001 0105 8882 80ec ................ │ │ │ -00002290: 0801 0001 0105 8880 80e6 0800 0001 0105 ................ │ │ │ -000022a0: 2c00 0001 050b 310c 00b9 010b 0a08 2e00 ,.....1......... │ │ │ -000022b0: 000a 0832 0000 0b33 00b8 01bc 0101 0186 ...2...3........ │ │ │ -000022c0: 8080 f008 02bd 01be 0106 00be 01cb 0102 ................ │ │ │ -000022d0: 018c 8080 ec08 0006 0505 0505 0505 050b ................ │ │ │ -000022e0: dc89 80f2 0801 05c4 8180 e608 0000 0101 ................ │ │ │ -000022f0: 0588 8280 ec08 0100 0101 0515 0000 0101 ................ │ │ │ -00002300: 052c 0000 010b 540b 5500 bd01 bf01 0101 .,....T.U....... │ │ │ -00002310: 8680 80f0 0802 c001 c101 0605 0505 050b ................ │ │ │ -00002320: 270b 2805 050b 9680 80e0 080b 5605 0505 '.(.........V... │ │ │ -00002330: 050b 4001 0590 8080 e608 0000 010b 4105 ..@...........A. │ │ │ -00002340: 050b 4200 d401 0b43 0505 0b96 8080 e008 ..B....C........ │ │ │ -00002350: 0b44 0505 0505 0b40 0105 9080 80e6 0800 .D.....@........ │ │ │ -00002360: 0001 0b41 0505 0b42 00c1 010b 430b 450b ...A...B....C.E. │ │ │ -00002370: ab80 80ec 0800 c001 d201 0101 8680 80f0 ................ │ │ │ -00002380: 0802 db01 dc01 0301 0200 db01 00c1 0101 ................ │ │ │ -00002390: aa80 80ec 0800 0505 0b46 00d4 0100 bd01 .........F...... │ │ │ -000023a0: ecff f68e f4ec d08a 7bb1 e7c9 d2bf 93d6 ........{....... │ │ │ -000023b0: f4db 0100 5600 0024 1d05 8280 80e6 0800 ....V..$........ │ │ │ -000023c0: 0001 0003 0407 0402 0000 030f 0009 01cc ................ │ │ │ -000023d0: 0057 6172 6e69 6e67 3a20 456e 7669 726f .Warning: Enviro │ │ │ -000023e0: 6e6d 656e 7420 7661 7269 6162 6c65 2041 nment variable A │ │ │ -000023f0: 6764 615f 6461 7461 6469 7220 706f 696e gda_datadir poin │ │ │ -00002400: 7473 2074 6f20 6e6f 6e2d 6578 6973 7469 ts to non-existi │ │ │ -00002410: 6e67 2064 6972 6563 746f 7279 20f4 85f2 ng directory ... │ │ │ -00002420: f7a5 e3be b074 e4b5 c4c8 fabb fef1 9201 .....t.......... │ │ │ -00002430: 0053 0000 245f 05b4 8080 e608 0000 0005 .S..$_.......... │ │ │ -00002440: 9080 80e6 0800 0001 0001 0002 0701 0100 ................ │ │ │ -00002450: 0200 0003 0500 050b 9580 80e0 080b 57dd ..............W. │ │ │ -00002460: c6f0 c1a7 96b9 c8e7 01b7 cf98 989e b0d1 ................ │ │ │ -00002470: cff5 0100 5700 0024 9c05 8280 80e6 0800 ....W..$........ │ │ │ -00002480: 0001 0003 0407 0402 0000 030f 0009 010c ................ │ │ │ -00002490: 4167 6461 5f64 6174 6164 6972 b4c4 aadf Agda_datadir.... │ │ │ -000024a0: ba9e eaf6 7cf5 d799 ecd9 9a8a ae30 0002 ....|........0.. │ │ │ -000024b0: 0000 2518 0300 05e2 8280 ec08 0100 0105 ..%............. │ │ │ -000024c0: 1500 0001 05f2 8080 e608 0000 0005 1500 ................ │ │ │ -000024d0: 0001 0001 0006 0802 0101 0700 0200 0201 ................ │ │ │ -000024e0: 0002 0100 0102 0200 0102 0602 0201 0200 ................ │ │ │ -000024f0: 0003 0f00 0c0b 5803 0201 05e2 8280 ec08 ......X......... │ │ │ -00002500: 0100 0102 0205 1500 0001 010a 0811 0001 ................ │ │ │ -00002510: 0202 0515 0000 0101 ebe3 8dcf f6a2 f581 ................ │ │ │ -00002520: 3994 e488 98ab c0fe f686 0100 5800 0026 9...........X..& │ │ │ -00002530: 1103 0005 e282 80ec 0801 0001 0515 0000 ................ │ │ │ -00002540: 0103 0005 e282 80ec 0801 0001 05e4 8080 ................ │ │ │ -00002550: e608 0000 0005 ca80 80e6 0800 0001 0001 ................ │ │ │ -00002560: 0801 0000 05c8 8180 e608 0000 0101 0005 ................ │ │ │ -00002570: c481 80e6 0800 0001 0100 05e4 8080 e608 ................ │ │ │ -00002580: 0000 0005 ca80 80e6 0800 0001 0001 0000 ................ │ │ │ -00002590: 0515 0000 0100 0100 0608 0201 0107 0002 ................ │ │ │ -000025a0: 0002 0100 0201 0001 0202 0001 0206 0202 ................ │ │ │ -000025b0: 0102 0000 030f 0004 0005 e282 80ec 0801 ................ │ │ │ -000025c0: 0001 e901 0515 0000 0100 0400 05e2 8280 ................ │ │ │ -000025d0: ec08 0100 01ac 0105 e480 80e6 0800 0000 ................ │ │ │ -000025e0: 05ca 8080 e608 0000 0100 0101 0605 0b0c ................ │ │ │ -000025f0: 00ac 01b2 0101 0186 8080 f008 02ae 01af ................ │ │ │ -00002600: 0103 0102 00ae 0105 050b 1600 af01 00e9 ................ │ │ │ -00002610: 01c7 839f ceb0 90af 8237 a39b a4eb afe7 .........7...... │ │ │ -00002620: b4ba 5000 0300 0026 9703 0005 e282 80ec ..P....&........ │ │ │ -00002630: 0801 0001 0588 8080 e608 0000 0105 f280 ................ │ │ │ -00002640: 80e6 0800 0000 0800 0001 0001 0006 0802 ................ │ │ │ -00002650: 0103 0700 0200 0201 0002 0200 0102 0200 ................ │ │ │ -00002660: 0102 0602 0301 0200 0201 0200 0003 0f00 ................ │ │ │ -00002670: 0c0b 5903 0201 05e2 8280 ec08 0100 0102 ..Y............. │ │ │ -00002680: 0205 8880 80e6 0800 0001 010a 0811 0001 ................ │ │ │ -00002690: 0202 0800 0001 01ad 9af2 b099 dbea a4b2 ................ │ │ │ -000026a0: 01ba c0d4 f68c 99de 96c4 0100 5900 0027 ............Y..' │ │ │ -000026b0: a003 0005 e282 80ec 0801 0001 0588 8080 ................ │ │ │ -000026c0: e608 0000 0103 0005 e282 80ec 0801 0001 ................ │ │ │ -000026d0: 05e4 8080 e608 0000 0005 ca80 80e6 0800 ................ │ │ │ -000026e0: 0001 0001 0801 0000 05c8 8180 e608 0000 ................ │ │ │ -000026f0: 0101 0005 c481 80e6 0800 0001 0100 05e4 ................ │ │ │ -00002700: 8080 e608 0000 0005 ca80 80e6 0800 0001 ................ │ │ │ -00002710: 0001 0000 0800 0001 0001 0007 0802 0103 ................ │ │ │ -00002720: 0700 0200 0201 0002 0200 0102 0200 0102 ................ │ │ │ -00002730: 0602 0301 0200 0201 0301 aa01 0000 0400 ................ │ │ │ -00002740: 0200 0200 0002 0f01 0201 0004 0005 e282 ................ │ │ │ -00002750: 80ec 0801 0001 ab01 0588 8080 e608 0000 ................ │ │ │ -00002760: 0100 0400 05e2 8280 ec08 0100 01ac 0105 ................ │ │ │ -00002770: e480 80e6 0800 0000 05ca 8080 e608 0000 ................ │ │ │ -00002780: 0100 0100 0605 050b 0b00 ab01 00ac 01b6 ................ │ │ │ -00002790: 0101 0000 0301 0200 b601 0b81 8080 ee08 ................ │ │ │ -000027a0: edaa f2f5 c4fd f4d6 50a7 99c9 b4f8 90f0 ........P....... │ │ │ -000027b0: 958a 0100 5a00 0027 ee05 b480 80e6 0800 ....Z..'........ │ │ │ -000027c0: 0000 0520 0000 0100 0100 0404 0803 0702 ... ............ │ │ │ -000027d0: 8680 80ec 0802 0000 030f 0005 0505 0b87 ................ │ │ │ -000027e0: 8080 ec08 0105 2000 0001 0b5b 0b5c ef98 ...... ....[.\.. │ │ │ -000027f0: dea6 f7bb e1a4 cd01 b7b7 83f6 eaf1 faf5 ................ │ │ │ -00002800: 5500 5d00 0028 2905 2000 0001 0004 0408 U.]..(). ....... │ │ │ -00002810: 0307 025e 0200 0003 0f00 0505 050b 5f0b ...^.........._. │ │ │ -00002820: 600b 6109 0601 00e9 03d2 c3b9 90cb b2fa `.a............. │ │ │ -00002830: bae9 01ba 9d9d e2ba e598 b64f 0060 0000 ...........O.`.. │ │ │ -00002840: 2a43 0582 8080 e608 0000 0100 0304 0704 *C.............. │ │ │ -00002850: 0200 0003 0f00 0901 e903 7b2d 2320 4f50 ..........{-# OP │ │ │ -00002860: 5449 4f4e 5320 2d2d 6375 6269 6361 6c2d TIONS --cubical- │ │ │ -00002870: 636f 6d70 6174 6962 6c65 202d 2d73 6166 compatible --saf │ │ │ -00002880: 6520 2d2d 6e6f 2d73 697a 6564 2d74 7970 e --no-sized-typ │ │ │ -00002890: 6573 202d 2d6e 6f2d 6775 6172 6465 646e es --no-guardedn │ │ │ -000028a0: 6573 7320 2d2d 6c65 7665 6c2d 756e 6976 ess --level-univ │ │ │ -000028b0: 6572 7365 2023 2d7d 0a0a 6d6f 6475 6c65 erse #-}..module │ │ │ -000028c0: 2041 6764 612e 4275 696c 7469 6e2e 4672 Agda.Builtin.Fr │ │ │ -000028d0: 6f6d 5374 7269 6e67 2077 6865 7265 0a0a omString where.. │ │ │ -000028e0: 6f70 656e 2069 6d70 6f72 7420 4167 6461 open import Agda │ │ │ -000028f0: 2e50 7269 6d69 7469 7665 0a6f 7065 6e20 .Primitive.open │ │ │ -00002900: 696d 706f 7274 2041 6764 612e 4275 696c import Agda.Buil │ │ │ -00002910: 7469 6e2e 5374 7269 6e67 0a0a 7265 636f tin.String..reco │ │ │ -00002920: 7264 2049 7353 7472 696e 6720 7b61 7d20 rd IsString {a} │ │ │ -00002930: 2841 203a 2053 6574 2061 2920 3a20 5365 (A : Set a) : Se │ │ │ -00002940: 7420 286c 7375 6320 6129 2077 6865 7265 t (lsuc a) where │ │ │ -00002950: 0a20 2066 6965 6c64 0a20 2020 2043 6f6e . field. Con │ │ │ -00002960: 7374 7261 696e 7420 3a20 5374 7269 6e67 straint : String │ │ │ -00002970: 20e2 8692 2053 6574 2061 0a20 2020 2066 ... Set a. f │ │ │ -00002980: 726f 6d53 7472 696e 6720 3a20 2873 203a romString : (s : │ │ │ -00002990: 2053 7472 696e 6729 207b 7b5f 203a 2043 String) {{_ : C │ │ │ -000029a0: 6f6e 7374 7261 696e 7420 737d 7d20 e286 onstraint s}} .. │ │ │ -000029b0: 9220 410a 0a6f 7065 6e20 4973 5374 7269 . A..open IsStri │ │ │ -000029c0: 6e67 207b 7b2e 2e2e 7d7d 2070 7562 6c69 ng {{...}} publi │ │ │ -000029d0: 6320 7573 696e 6720 2866 726f 6d53 7472 c using (fromStr │ │ │ -000029e0: 696e 6729 0a0a 7b2d 2320 4255 494c 5449 ing)..{-# BUILTI │ │ │ -000029f0: 4e20 4652 4f4d 5354 5249 4e47 2066 726f N FROMSTRING fro │ │ │ -00002a00: 6d53 7472 696e 6720 232d 7d0a 7b2d 2320 mString #-}.{-# │ │ │ -00002a10: 4449 5350 4c41 5920 4973 5374 7269 6e67 DISPLAY IsString │ │ │ -00002a20: 2e66 726f 6d53 7472 696e 6720 5f20 7320 .fromString _ s │ │ │ -00002a30: 3d20 6672 6f6d 5374 7269 6e67 2073 2023 = fromString s # │ │ │ -00002a40: 2d7d 0ae3 b4f3 b981 9886 fbf2 01bb ed81 -}.............. │ │ │ -00002a50: 92c9 a8dd a207 0062 0000 2a7e 0520 0000 .......b..*~. .. │ │ │ -00002a60: 0100 0404 0803 0702 5e02 0000 030f 0005 ........^....... │ │ │ -00002a70: 0505 0b5f 0b63 0b61 0906 0100 cb03 85af ..._.c.a........ │ │ │ -00002a80: c1b4 d9d8 e78a b801 8fe8 bfd5 b998 ead1 ................ │ │ │ -00002a90: 6e00 6300 002c 7a05 8280 80e6 0800 0001 n.c..,z......... │ │ │ -00002aa0: 0003 0407 0402 0000 030f 0009 01cb 037b ...............{ │ │ │ -00002ab0: 2d23 204f 5054 494f 4e53 202d 2d63 7562 -# OPTIONS --cub │ │ │ -00002ac0: 6963 616c 2d63 6f6d 7061 7469 626c 6520 ical-compatible │ │ │ -00002ad0: 2d2d 7361 6665 202d 2d6e 6f2d 7369 7a65 --safe --no-size │ │ │ -00002ae0: 642d 7479 7065 7320 2d2d 6e6f 2d67 7561 d-types --no-gua │ │ │ -00002af0: 7264 6564 6e65 7373 202d 2d6c 6576 656c rdedness --level │ │ │ -00002b00: 2d75 6e69 7665 7273 6520 232d 7d0a 0a6d -universe #-}..m │ │ │ -00002b10: 6f64 756c 6520 4167 6461 2e42 7569 6c74 odule Agda.Built │ │ │ -00002b20: 696e 2e46 726f 6d4e 6567 2077 6865 7265 in.FromNeg where │ │ │ -00002b30: 0a0a 6f70 656e 2069 6d70 6f72 7420 4167 ..open import Ag │ │ │ -00002b40: 6461 2e50 7269 6d69 7469 7665 0a6f 7065 da.Primitive.ope │ │ │ -00002b50: 6e20 696d 706f 7274 2041 6764 612e 4275 n import Agda.Bu │ │ │ -00002b60: 696c 7469 6e2e 4e61 740a 0a72 6563 6f72 iltin.Nat..recor │ │ │ -00002b70: 6420 4e65 6761 7469 7665 207b 617d 2028 d Negative {a} ( │ │ │ -00002b80: 4120 3a20 5365 7420 6129 203a 2053 6574 A : Set a) : Set │ │ │ -00002b90: 2028 6c73 7563 2061 2920 7768 6572 650a (lsuc a) where. │ │ │ -00002ba0: 2020 6669 656c 640a 2020 2020 436f 6e73 field. Cons │ │ │ -00002bb0: 7472 6169 6e74 203a 204e 6174 20e2 8692 traint : Nat ... │ │ │ -00002bc0: 2053 6574 2061 0a20 2020 2066 726f 6d4e Set a. fromN │ │ │ -00002bd0: 6567 203a 20e2 8880 206e 20e2 8692 207b eg : ... n ... { │ │ │ -00002be0: 7b5f 203a 2043 6f6e 7374 7261 696e 7420 {_ : Constraint │ │ │ -00002bf0: 6e7d 7d20 e286 9220 410a 0a6f 7065 6e20 n}} ... A..open │ │ │ -00002c00: 4e65 6761 7469 7665 207b 7b2e 2e2e 7d7d Negative {{...}} │ │ │ -00002c10: 2070 7562 6c69 6320 7573 696e 6720 2866 public using (f │ │ │ -00002c20: 726f 6d4e 6567 290a 0a7b 2d23 2042 5549 romNeg)..{-# BUI │ │ │ -00002c30: 4c54 494e 2046 524f 4d4e 4547 2066 726f LTIN FROMNEG fro │ │ │ -00002c40: 6d4e 6567 2023 2d7d 0a7b 2d23 2044 4953 mNeg #-}.{-# DIS │ │ │ -00002c50: 504c 4159 204e 6567 6174 6976 652e 6672 PLAY Negative.fr │ │ │ -00002c60: 6f6d 4e65 6720 5f20 6e20 3d20 6672 6f6d omNeg _ n = from │ │ │ -00002c70: 4e65 6720 6e20 232d 7d0a fcd8 eaea 95c1 Neg n #-}....... │ │ │ -00002c80: fafa ad01 d6cb b2f9 debb d499 6200 6400 ............b.d. │ │ │ -00002c90: 002c b505 2000 0001 0004 0408 0307 025e .,.. ..........^ │ │ │ -00002ca0: 0200 0003 0f00 0505 050b 5f0b 650b 6109 .........._.e.a. │ │ │ -00002cb0: 0601 00c5 03d0 abfe c6e4 e8dd dfc2 01f3 ................ │ │ │ -00002cc0: 89c5 a497 aaae afa4 0100 6500 002e ac05 ..........e..... │ │ │ -00002cd0: 8280 80e6 0800 0001 0003 0407 0402 0000 ................ │ │ │ -00002ce0: 030f 0009 01c5 037b 2d23 204f 5054 494f .......{-# OPTIO │ │ │ -00002cf0: 4e53 202d 2d63 7562 6963 616c 2d63 6f6d NS --cubical-com │ │ │ -00002d00: 7061 7469 626c 6520 2d2d 7361 6665 202d patible --safe - │ │ │ -00002d10: 2d6e 6f2d 7369 7a65 642d 7479 7065 7320 -no-sized-types │ │ │ -00002d20: 2d2d 6e6f 2d67 7561 7264 6564 6e65 7373 --no-guardedness │ │ │ -00002d30: 202d 2d6c 6576 656c 2d75 6e69 7665 7273 --level-univers │ │ │ -00002d40: 6520 232d 7d0a 0a6d 6f64 756c 6520 4167 e #-}..module Ag │ │ │ -00002d50: 6461 2e42 7569 6c74 696e 2e46 726f 6d4e da.Builtin.FromN │ │ │ -00002d60: 6174 2077 6865 7265 0a0a 6f70 656e 2069 at where..open i │ │ │ -00002d70: 6d70 6f72 7420 4167 6461 2e50 7269 6d69 mport Agda.Primi │ │ │ -00002d80: 7469 7665 0a6f 7065 6e20 696d 706f 7274 tive.open import │ │ │ -00002d90: 2041 6764 612e 4275 696c 7469 6e2e 4e61 Agda.Builtin.Na │ │ │ -00002da0: 740a 0a72 6563 6f72 6420 4e75 6d62 6572 t..record Number │ │ │ -00002db0: 207b 617d 2028 4120 3a20 5365 7420 6129 {a} (A : Set a) │ │ │ -00002dc0: 203a 2053 6574 2028 6c73 7563 2061 2920 : Set (lsuc a) │ │ │ -00002dd0: 7768 6572 650a 2020 6669 656c 640a 2020 where. field. │ │ │ -00002de0: 2020 436f 6e73 7472 6169 6e74 203a 204e Constraint : N │ │ │ -00002df0: 6174 20e2 8692 2053 6574 2061 0a20 2020 at ... Set a. │ │ │ -00002e00: 2066 726f 6d4e 6174 203a 20e2 8880 206e fromNat : ... n │ │ │ -00002e10: 20e2 8692 207b 7b5f 203a 2043 6f6e 7374 ... {{_ : Const │ │ │ -00002e20: 7261 696e 7420 6e7d 7d20 e286 9220 410a raint n}} ... A. │ │ │ -00002e30: 0a6f 7065 6e20 4e75 6d62 6572 207b 7b2e .open Number {{. │ │ │ -00002e40: 2e2e 7d7d 2070 7562 6c69 6320 7573 696e ..}} public usin │ │ │ -00002e50: 6720 2866 726f 6d4e 6174 290a 0a7b 2d23 g (fromNat)..{-# │ │ │ -00002e60: 2042 5549 4c54 494e 2046 524f 4d4e 4154 BUILTIN FROMNAT │ │ │ -00002e70: 2066 726f 6d4e 6174 2023 2d7d 0a7b 2d23 fromNat #-}.{-# │ │ │ -00002e80: 2044 4953 504c 4159 204e 756d 6265 722e DISPLAY Number. │ │ │ -00002e90: 6672 6f6d 4e61 7420 5f20 6e20 3d20 6672 fromNat _ n = fr │ │ │ -00002ea0: 6f6d 4e61 7420 6e20 232d 7d0a d0de e48a omNat n #-}..... │ │ │ -00002eb0: 9d87 f9d7 7aab b8f9 fe9d 8591 e568 0066 ....z........h.f │ │ │ -00002ec0: 0000 2ee6 0520 0000 0100 0404 0803 0702 ..... .......... │ │ │ -00002ed0: 5e02 0000 030f 0005 0505 0b5f 0b67 0b61 ^.........._.g.a │ │ │ -00002ee0: 0906 0100 bc02 a2dc 85cf c7de 8cee 9201 ................ │ │ │ -00002ef0: 8b89 de93 ed8a b398 2000 6700 0030 5305 ........ .g..0S. │ │ │ -00002f00: 8280 80e6 0800 0001 0003 0407 0402 0000 ................ │ │ │ -00002f10: 030f 0009 01bc 027b 2d23 204f 5054 494f .......{-# OPTIO │ │ │ -00002f20: 4e53 202d 2d63 7562 6963 616c 2d63 6f6d NS --cubical-com │ │ │ -00002f30: 7061 7469 626c 6520 2d2d 7361 6665 202d patible --safe - │ │ │ -00002f40: 2d6e 6f2d 7369 7a65 642d 7479 7065 7320 -no-sized-types │ │ │ -00002f50: 2d2d 6e6f 2d67 7561 7264 6564 6e65 7373 --no-guardedness │ │ │ -00002f60: 202d 2d6c 6576 656c 2d75 6e69 7665 7273 --level-univers │ │ │ -00002f70: 6520 232d 7d0a 0a6d 6f64 756c 6520 4167 e #-}..module Ag │ │ │ -00002f80: 6461 2e42 7569 6c74 696e 2e46 6c6f 6174 da.Builtin.Float │ │ │ -00002f90: 2e50 726f 7065 7274 6965 7320 7768 6572 .Properties wher │ │ │ -00002fa0: 650a 0a6f 7065 6e20 696d 706f 7274 2041 e..open import A │ │ │ -00002fb0: 6764 612e 4275 696c 7469 6e2e 466c 6f61 gda.Builtin.Floa │ │ │ -00002fc0: 740a 6f70 656e 2069 6d70 6f72 7420 4167 t.open import Ag │ │ │ -00002fd0: 6461 2e42 7569 6c74 696e 2e45 7175 616c da.Builtin.Equal │ │ │ -00002fe0: 6974 790a 0a70 7269 6d69 7469 7665 0a0a ity..primitive.. │ │ │ -00002ff0: 2020 7072 696d 466c 6f61 7454 6f57 6f72 primFloatToWor │ │ │ -00003000: 6436 3449 6e6a 6563 7469 7665 203a 20e2 d64Injective : . │ │ │ -00003010: 8880 2061 2062 20e2 8692 2070 7269 6d46 .. a b ... primF │ │ │ -00003020: 6c6f 6174 546f 576f 7264 3634 2061 20e2 loatToWord64 a . │ │ │ -00003030: 89a1 2070 7269 6d46 6c6f 6174 546f 576f .. primFloatToWo │ │ │ -00003040: 7264 3634 2062 20e2 8692 2061 20e2 89a1 rd64 b ... a ... │ │ │ -00003050: 2062 0ad7 96c1 f786 eac4 c705 c8cb c3b3 b.............. │ │ │ -00003060: a580 f98e 8e01 0068 0000 308e 0520 0000 .......h..0.. .. │ │ │ -00003070: 0100 0404 0803 0702 5e02 0000 030f 0005 ........^....... │ │ │ -00003080: 0505 0b5f 0b69 0b61 0906 0100 aa32 93e5 ..._.i.a.....2.. │ │ │ -00003090: 95a6 bfa1 d983 3993 efba cc8f fadf c71c ......9......... │ │ │ -000030a0: 0069 0000 49e8 0582 8080 e608 0000 0100 .i..I........... │ │ │ -000030b0: 0304 0704 0200 0003 0f00 0901 aa32 7b2d .............2{- │ │ │ -000030c0: 2320 4f50 5449 4f4e 5320 2d2d 6375 6269 # OPTIONS --cubi │ │ │ -000030d0: 6361 6c2d 636f 6d70 6174 6962 6c65 202d cal-compatible - │ │ │ -000030e0: 2d73 6166 6520 2d2d 6e6f 2d73 697a 6564 -safe --no-sized │ │ │ -000030f0: 2d74 7970 6573 202d 2d6e 6f2d 6775 6172 -types --no-guar │ │ │ -00003100: 6465 646e 6573 7320 2d2d 6c65 7665 6c2d dedness --level- │ │ │ -00003110: 756e 6976 6572 7365 2023 2d7d 0a0a 6d6f universe #-}..mo │ │ │ -00003120: 6475 6c65 2041 6764 612e 4275 696c 7469 dule Agda.Builti │ │ │ -00003130: 6e2e 466c 6f61 7420 7768 6572 650a 0a6f n.Float where..o │ │ │ -00003140: 7065 6e20 696d 706f 7274 2041 6764 612e pen import Agda. │ │ │ -00003150: 4275 696c 7469 6e2e 426f 6f6c 0a6f 7065 Builtin.Bool.ope │ │ │ -00003160: 6e20 696d 706f 7274 2041 6764 612e 4275 n import Agda.Bu │ │ │ -00003170: 696c 7469 6e2e 496e 740a 6f70 656e 2069 iltin.Int.open i │ │ │ -00003180: 6d70 6f72 7420 4167 6461 2e42 7569 6c74 mport Agda.Built │ │ │ -00003190: 696e 2e4d 6179 6265 0a6f 7065 6e20 696d in.Maybe.open im │ │ │ -000031a0: 706f 7274 2041 6764 612e 4275 696c 7469 port Agda.Builti │ │ │ -000031b0: 6e2e 4e61 740a 6f70 656e 2069 6d70 6f72 n.Nat.open impor │ │ │ -000031c0: 7420 4167 6461 2e42 7569 6c74 696e 2e53 t Agda.Builtin.S │ │ │ -000031d0: 6967 6d61 0a6f 7065 6e20 696d 706f 7274 igma.open import │ │ │ -000031e0: 2041 6764 612e 4275 696c 7469 6e2e 5374 Agda.Builtin.St │ │ │ -000031f0: 7269 6e67 0a6f 7065 6e20 696d 706f 7274 ring.open import │ │ │ -00003200: 2041 6764 612e 4275 696c 7469 6e2e 576f Agda.Builtin.Wo │ │ │ -00003210: 7264 0a0a 706f 7374 756c 6174 6520 466c rd..postulate Fl │ │ │ -00003220: 6f61 7420 3a20 5365 740a 7b2d 2320 4255 oat : Set.{-# BU │ │ │ -00003230: 494c 5449 4e20 464c 4f41 5420 466c 6f61 ILTIN FLOAT Floa │ │ │ -00003240: 7420 232d 7d0a 0a70 7269 6d69 7469 7665 t #-}..primitive │ │ │ -00003250: 0a20 202d 2d20 5265 6c61 7469 6f6e 730a . -- Relations. │ │ │ -00003260: 2020 7072 696d 466c 6f61 7449 6e65 7175 primFloatInequ │ │ │ -00003270: 616c 6974 7920 2020 2020 2020 203a 2046 ality : F │ │ │ -00003280: 6c6f 6174 20e2 8692 2046 6c6f 6174 20e2 loat ... Float . │ │ │ -00003290: 8692 2042 6f6f 6c0a 2020 7072 696d 466c .. Bool. primFl │ │ │ -000032a0: 6f61 7445 7175 616c 6974 7920 2020 2020 oatEquality │ │ │ -000032b0: 2020 2020 203a 2046 6c6f 6174 20e2 8692 : Float ... │ │ │ -000032c0: 2046 6c6f 6174 20e2 8692 2042 6f6f 6c0a Float ... Bool. │ │ │ -000032d0: 2020 7072 696d 466c 6f61 744c 6573 7320 primFloatLess │ │ │ -000032e0: 2020 2020 2020 2020 2020 2020 203a 2046 : F │ │ │ -000032f0: 6c6f 6174 20e2 8692 2046 6c6f 6174 20e2 loat ... Float . │ │ │ -00003300: 8692 2042 6f6f 6c0a 2020 7072 696d 466c .. Bool. primFl │ │ │ -00003310: 6f61 7449 7349 6e66 696e 6974 6520 2020 oatIsInfinite │ │ │ -00003320: 2020 2020 203a 2046 6c6f 6174 20e2 8692 : Float ... │ │ │ -00003330: 2042 6f6f 6c0a 2020 7072 696d 466c 6f61 Bool. primFloa │ │ │ -00003340: 7449 734e 614e 2020 2020 2020 2020 2020 tIsNaN │ │ │ -00003350: 2020 203a 2046 6c6f 6174 20e2 8692 2042 : Float ... B │ │ │ -00003360: 6f6f 6c0a 2020 7072 696d 466c 6f61 7449 ool. primFloatI │ │ │ -00003370: 734e 6567 6174 6976 655a 6572 6f20 2020 sNegativeZero │ │ │ -00003380: 203a 2046 6c6f 6174 20e2 8692 2042 6f6f : Float ... Boo │ │ │ -00003390: 6c0a 2020 7072 696d 466c 6f61 7449 7353 l. primFloatIsS │ │ │ -000033a0: 6166 6549 6e74 6567 6572 2020 2020 203a afeInteger : │ │ │ -000033b0: 2046 6c6f 6174 20e2 8692 2042 6f6f 6c0a Float ... Bool. │ │ │ -000033c0: 2020 2d2d 2043 6f6e 7665 7273 696f 6e73 -- Conversions │ │ │ -000033d0: 0a20 2070 7269 6d46 6c6f 6174 546f 576f . primFloatToWo │ │ │ -000033e0: 7264 3634 2020 2020 2020 2020 2020 3a20 rd64 : │ │ │ -000033f0: 466c 6f61 7420 e286 9220 4d61 7962 6520 Float ... Maybe │ │ │ -00003400: 576f 7264 3634 0a20 2070 7269 6d4e 6174 Word64. primNat │ │ │ -00003410: 546f 466c 6f61 7420 2020 2020 2020 2020 ToFloat │ │ │ -00003420: 2020 2020 3a20 4e61 7420 e286 9220 466c : Nat ... Fl │ │ │ -00003430: 6f61 740a 2020 7072 696d 496e 7454 6f46 oat. primIntToF │ │ │ -00003440: 6c6f 6174 2020 2020 2020 2020 2020 2020 loat │ │ │ -00003450: 203a 2049 6e74 20e2 8692 2046 6c6f 6174 : Int ... Float │ │ │ -00003460: 0a20 2070 7269 6d46 6c6f 6174 526f 756e . primFloatRoun │ │ │ -00003470: 6420 2020 2020 2020 2020 2020 2020 3a20 d : │ │ │ -00003480: 466c 6f61 7420 e286 9220 4d61 7962 6520 Float ... Maybe │ │ │ -00003490: 496e 740a 2020 7072 696d 466c 6f61 7446 Int. primFloatF │ │ │ -000034a0: 6c6f 6f72 2020 2020 2020 2020 2020 2020 loor │ │ │ -000034b0: 203a 2046 6c6f 6174 20e2 8692 204d 6179 : Float ... May │ │ │ -000034c0: 6265 2049 6e74 0a20 2070 7269 6d46 6c6f be Int. primFlo │ │ │ -000034d0: 6174 4365 696c 696e 6720 2020 2020 2020 atCeiling │ │ │ -000034e0: 2020 2020 3a20 466c 6f61 7420 e286 9220 : Float ... │ │ │ -000034f0: 4d61 7962 6520 496e 740a 2020 7072 696d Maybe Int. prim │ │ │ -00003500: 466c 6f61 7454 6f52 6174 696f 2020 2020 FloatToRatio │ │ │ -00003510: 2020 2020 2020 203a 2046 6c6f 6174 20e2 : Float . │ │ │ -00003520: 8692 2028 cea3 2049 6e74 20ce bb20 5f20 .. (.. Int .. _ │ │ │ -00003530: e286 9220 496e 7429 0a20 2070 7269 6d52 ... Int). primR │ │ │ -00003540: 6174 696f 546f 466c 6f61 7420 2020 2020 atioToFloat │ │ │ -00003550: 2020 2020 2020 3a20 496e 7420 e286 9220 : Int ... │ │ │ -00003560: 496e 7420 e286 9220 466c 6f61 740a 2020 Int ... Float. │ │ │ -00003570: 7072 696d 466c 6f61 7444 6563 6f64 6520 primFloatDecode │ │ │ -00003580: 2020 2020 2020 2020 2020 203a 2046 6c6f : Flo │ │ │ -00003590: 6174 20e2 8692 204d 6179 6265 2028 cea3 at ... Maybe (.. │ │ │ -000035a0: 2049 6e74 20ce bb20 5f20 e286 9220 496e Int .. _ ... In │ │ │ -000035b0: 7429 0a20 2070 7269 6d46 6c6f 6174 456e t). primFloatEn │ │ │ -000035c0: 636f 6465 2020 2020 2020 2020 2020 2020 code │ │ │ -000035d0: 3a20 496e 7420 e286 9220 496e 7420 e286 : Int ... Int .. │ │ │ -000035e0: 9220 4d61 7962 6520 466c 6f61 740a 2020 . Maybe Float. │ │ │ -000035f0: 7072 696d 5368 6f77 466c 6f61 7420 2020 primShowFloat │ │ │ -00003600: 2020 2020 2020 2020 2020 203a 2046 6c6f : Flo │ │ │ -00003610: 6174 20e2 8692 2053 7472 696e 670a 2020 at ... String. │ │ │ -00003620: 2d2d 204f 7065 7261 7469 6f6e 730a 2020 -- Operations. │ │ │ -00003630: 7072 696d 466c 6f61 7450 6c75 7320 2020 primFloatPlus │ │ │ -00003640: 2020 2020 2020 2020 2020 203a 2046 6c6f : Flo │ │ │ -00003650: 6174 20e2 8692 2046 6c6f 6174 20e2 8692 at ... Float ... │ │ │ -00003660: 2046 6c6f 6174 0a20 2070 7269 6d46 6c6f Float. primFlo │ │ │ -00003670: 6174 4d69 6e75 7320 2020 2020 2020 2020 atMinus │ │ │ -00003680: 2020 2020 3a20 466c 6f61 7420 e286 9220 : Float ... │ │ │ -00003690: 466c 6f61 7420 e286 9220 466c 6f61 740a Float ... Float. │ │ │ -000036a0: 2020 7072 696d 466c 6f61 7454 696d 6573 primFloatTimes │ │ │ -000036b0: 2020 2020 2020 2020 2020 2020 203a 2046 : F │ │ │ -000036c0: 6c6f 6174 20e2 8692 2046 6c6f 6174 20e2 loat ... Float . │ │ │ -000036d0: 8692 2046 6c6f 6174 0a20 2070 7269 6d46 .. Float. primF │ │ │ -000036e0: 6c6f 6174 4469 7620 2020 2020 2020 2020 loatDiv │ │ │ -000036f0: 2020 2020 2020 3a20 466c 6f61 7420 e286 : Float .. │ │ │ -00003700: 9220 466c 6f61 7420 e286 9220 466c 6f61 . Float ... Floa │ │ │ -00003710: 740a 2020 7072 696d 466c 6f61 7450 6f77 t. primFloatPow │ │ │ -00003720: 2020 2020 2020 2020 2020 2020 2020 203a : │ │ │ -00003730: 2046 6c6f 6174 20e2 8692 2046 6c6f 6174 Float ... Float │ │ │ -00003740: 20e2 8692 2046 6c6f 6174 0a20 2070 7269 ... Float. pri │ │ │ -00003750: 6d46 6c6f 6174 4e65 6761 7465 2020 2020 mFloatNegate │ │ │ -00003760: 2020 2020 2020 2020 3a20 466c 6f61 7420 : Float │ │ │ -00003770: e286 9220 466c 6f61 740a 2020 7072 696d ... Float. prim │ │ │ -00003780: 466c 6f61 7453 7172 7420 2020 2020 2020 FloatSqrt │ │ │ -00003790: 2020 2020 2020 203a 2046 6c6f 6174 20e2 : Float . │ │ │ -000037a0: 8692 2046 6c6f 6174 0a20 2070 7269 6d46 .. Float. primF │ │ │ -000037b0: 6c6f 6174 4578 7020 2020 2020 2020 2020 loatExp │ │ │ -000037c0: 2020 2020 2020 3a20 466c 6f61 7420 e286 : Float .. │ │ │ -000037d0: 9220 466c 6f61 740a 2020 7072 696d 466c . Float. primFl │ │ │ -000037e0: 6f61 744c 6f67 2020 2020 2020 2020 2020 oatLog │ │ │ -000037f0: 2020 2020 203a 2046 6c6f 6174 20e2 8692 : Float ... │ │ │ -00003800: 2046 6c6f 6174 0a20 2070 7269 6d46 6c6f Float. primFlo │ │ │ -00003810: 6174 5369 6e20 2020 2020 2020 2020 2020 atSin │ │ │ -00003820: 2020 2020 3a20 466c 6f61 7420 e286 9220 : Float ... │ │ │ -00003830: 466c 6f61 740a 2020 7072 696d 466c 6f61 Float. primFloa │ │ │ -00003840: 7443 6f73 2020 2020 2020 2020 2020 2020 tCos │ │ │ -00003850: 2020 203a 2046 6c6f 6174 20e2 8692 2046 : Float ... F │ │ │ -00003860: 6c6f 6174 0a20 2070 7269 6d46 6c6f 6174 loat. primFloat │ │ │ -00003870: 5461 6e20 2020 2020 2020 2020 2020 2020 Tan │ │ │ -00003880: 2020 3a20 466c 6f61 7420 e286 9220 466c : Float ... Fl │ │ │ -00003890: 6f61 740a 2020 7072 696d 466c 6f61 7441 oat. primFloatA │ │ │ -000038a0: 5369 6e20 2020 2020 2020 2020 2020 2020 Sin │ │ │ -000038b0: 203a 2046 6c6f 6174 20e2 8692 2046 6c6f : Float ... Flo │ │ │ -000038c0: 6174 0a20 2070 7269 6d46 6c6f 6174 4143 at. primFloatAC │ │ │ -000038d0: 6f73 2020 2020 2020 2020 2020 2020 2020 os │ │ │ -000038e0: 3a20 466c 6f61 7420 e286 9220 466c 6f61 : Float ... Floa │ │ │ -000038f0: 740a 2020 7072 696d 466c 6f61 7441 5461 t. primFloatATa │ │ │ -00003900: 6e20 2020 2020 2020 2020 2020 2020 203a n : │ │ │ -00003910: 2046 6c6f 6174 20e2 8692 2046 6c6f 6174 Float ... Float │ │ │ -00003920: 0a20 2070 7269 6d46 6c6f 6174 4154 616e . primFloatATan │ │ │ -00003930: 3220 2020 2020 2020 2020 2020 2020 3a20 2 : │ │ │ -00003940: 466c 6f61 7420 e286 9220 466c 6f61 7420 Float ... Float │ │ │ -00003950: e286 9220 466c 6f61 740a 2020 7072 696d ... Float. prim │ │ │ -00003960: 466c 6f61 7453 696e 6820 2020 2020 2020 FloatSinh │ │ │ -00003970: 2020 2020 2020 203a 2046 6c6f 6174 20e2 : Float . │ │ │ -00003980: 8692 2046 6c6f 6174 0a20 2070 7269 6d46 .. Float. primF │ │ │ -00003990: 6c6f 6174 436f 7368 2020 2020 2020 2020 loatCosh │ │ │ -000039a0: 2020 2020 2020 3a20 466c 6f61 7420 e286 : Float .. │ │ │ -000039b0: 9220 466c 6f61 740a 2020 7072 696d 466c . Float. primFl │ │ │ -000039c0: 6f61 7454 616e 6820 2020 2020 2020 2020 oatTanh │ │ │ -000039d0: 2020 2020 203a 2046 6c6f 6174 20e2 8692 : Float ... │ │ │ -000039e0: 2046 6c6f 6174 0a20 2070 7269 6d46 6c6f Float. primFlo │ │ │ -000039f0: 6174 4153 696e 6820 2020 2020 2020 2020 atASinh │ │ │ -00003a00: 2020 2020 3a20 466c 6f61 7420 e286 9220 : Float ... │ │ │ -00003a10: 466c 6f61 740a 2020 7072 696d 466c 6f61 Float. primFloa │ │ │ -00003a20: 7441 436f 7368 2020 2020 2020 2020 2020 tACosh │ │ │ -00003a30: 2020 203a 2046 6c6f 6174 20e2 8692 2046 : Float ... F │ │ │ -00003a40: 6c6f 6174 0a20 2070 7269 6d46 6c6f 6174 loat. primFloat │ │ │ -00003a50: 4154 616e 6820 2020 2020 2020 2020 2020 ATanh │ │ │ -00003a60: 2020 3a20 466c 6f61 7420 e286 9220 466c : Float ... Fl │ │ │ -00003a70: 6f61 740a 0a7b 2d23 2043 4f4d 5049 4c45 oat..{-# COMPILE │ │ │ -00003a80: 204a 530a 2020 2020 7072 696d 466c 6f61 JS. primFloa │ │ │ -00003a90: 7452 6f75 6e64 203d 2066 756e 6374 696f tRound = functio │ │ │ -00003aa0: 6e28 7829 207b 0a20 2020 2020 2020 2078 n(x) {. x │ │ │ -00003ab0: 203d 2061 6764 6152 5453 2e5f 7072 696d = agdaRTS._prim │ │ │ -00003ac0: 466c 6f61 7452 6f75 6e64 2878 293b 0a20 FloatRound(x);. │ │ │ -00003ad0: 2020 2020 2020 2069 6620 2878 203d 3d3d if (x === │ │ │ -00003ae0: 206e 756c 6c29 207b 0a20 2020 2020 2020 null) {. │ │ │ -00003af0: 2020 2020 2072 6574 7572 6e20 7a5f 6a41 return z_jA │ │ │ -00003b00: 6764 615f 4167 6461 5f42 7569 6c74 696e gda_Agda_Builtin │ │ │ -00003b10: 5f4d 6179 6265 5b22 4d61 7962 6522 5d5b _Maybe["Maybe"][ │ │ │ -00003b20: 226e 6f74 6869 6e67 225d 3b0a 2020 2020 "nothing"];. │ │ │ -00003b30: 2020 2020 7d0a 2020 2020 2020 2020 656c }. el │ │ │ -00003b40: 7365 207b 0a20 2020 2020 2020 2020 2020 se {. │ │ │ -00003b50: 2072 6574 7572 6e20 7a5f 6a41 6764 615f return z_jAgda_ │ │ │ -00003b60: 4167 6461 5f42 7569 6c74 696e 5f4d 6179 Agda_Builtin_May │ │ │ -00003b70: 6265 5b22 4d61 7962 6522 5d5b 226a 7573 be["Maybe"]["jus │ │ │ -00003b80: 7422 5d28 7829 3b0a 2020 2020 2020 2020 t"](x);. │ │ │ -00003b90: 7d0a 2020 2020 7d3b 0a23 2d7d 0a7b 2d23 }. };.#-}.{-# │ │ │ -00003ba0: 2043 4f4d 5049 4c45 204a 530a 2020 2020 COMPILE JS. │ │ │ -00003bb0: 7072 696d 466c 6f61 7446 6c6f 6f72 203d primFloatFloor = │ │ │ -00003bc0: 2066 756e 6374 696f 6e28 7829 207b 0a20 function(x) {. │ │ │ -00003bd0: 2020 2020 2020 2078 203d 2061 6764 6152 x = agdaR │ │ │ -00003be0: 5453 2e5f 7072 696d 466c 6f61 7446 6c6f TS._primFloatFlo │ │ │ -00003bf0: 6f72 2878 293b 0a20 2020 2020 2020 2069 or(x);. i │ │ │ -00003c00: 6620 2878 203d 3d3d 206e 756c 6c29 207b f (x === null) { │ │ │ -00003c10: 0a20 2020 2020 2020 2020 2020 2072 6574 . ret │ │ │ -00003c20: 7572 6e20 7a5f 6a41 6764 615f 4167 6461 urn z_jAgda_Agda │ │ │ -00003c30: 5f42 7569 6c74 696e 5f4d 6179 6265 5b22 _Builtin_Maybe[" │ │ │ -00003c40: 4d61 7962 6522 5d5b 226e 6f74 6869 6e67 Maybe"]["nothing │ │ │ -00003c50: 225d 3b0a 2020 2020 2020 2020 7d0a 2020 "];. }. │ │ │ -00003c60: 2020 2020 2020 656c 7365 207b 0a20 2020 else {. │ │ │ -00003c70: 2020 2020 2020 2020 2072 6574 7572 6e20 return │ │ │ -00003c80: 7a5f 6a41 6764 615f 4167 6461 5f42 7569 z_jAgda_Agda_Bui │ │ │ -00003c90: 6c74 696e 5f4d 6179 6265 5b22 4d61 7962 ltin_Maybe["Mayb │ │ │ -00003ca0: 6522 5d5b 226a 7573 7422 5d28 7829 3b0a e"]["just"](x);. │ │ │ -00003cb0: 2020 2020 2020 2020 7d0a 2020 2020 7d3b }. }; │ │ │ -00003cc0: 0a23 2d7d 0a7b 2d23 2043 4f4d 5049 4c45 .#-}.{-# COMPILE │ │ │ -00003cd0: 204a 530a 2020 2020 7072 696d 466c 6f61 JS. primFloa │ │ │ -00003ce0: 7443 6569 6c69 6e67 203d 2066 756e 6374 tCeiling = funct │ │ │ -00003cf0: 696f 6e28 7829 207b 0a20 2020 2020 2020 ion(x) {. │ │ │ -00003d00: 2078 203d 2061 6764 6152 5453 2e5f 7072 x = agdaRTS._pr │ │ │ -00003d10: 696d 466c 6f61 7443 6569 6c69 6e67 2878 imFloatCeiling(x │ │ │ -00003d20: 293b 0a20 2020 2020 2020 2069 6620 2878 );. if (x │ │ │ -00003d30: 203d 3d3d 206e 756c 6c29 207b 0a20 2020 === null) {. │ │ │ -00003d40: 2020 2020 2020 2020 2072 6574 7572 6e20 return │ │ │ -00003d50: 7a5f 6a41 6764 615f 4167 6461 5f42 7569 z_jAgda_Agda_Bui │ │ │ -00003d60: 6c74 696e 5f4d 6179 6265 5b22 4d61 7962 ltin_Maybe["Mayb │ │ │ -00003d70: 6522 5d5b 226e 6f74 6869 6e67 225d 3b0a e"]["nothing"];. │ │ │ -00003d80: 2020 2020 2020 2020 7d0a 2020 2020 2020 }. │ │ │ -00003d90: 2020 656c 7365 207b 0a20 2020 2020 2020 else {. │ │ │ -00003da0: 2020 2020 2072 6574 7572 6e20 7a5f 6a41 return z_jA │ │ │ -00003db0: 6764 615f 4167 6461 5f42 7569 6c74 696e gda_Agda_Builtin │ │ │ -00003dc0: 5f4d 6179 6265 5b22 4d61 7962 6522 5d5b _Maybe["Maybe"][ │ │ │ -00003dd0: 226a 7573 7422 5d28 7829 3b0a 2020 2020 "just"](x);. │ │ │ -00003de0: 2020 2020 7d0a 2020 2020 7d3b 0a23 2d7d }. };.#-} │ │ │ -00003df0: 0a7b 2d23 2043 4f4d 5049 4c45 204a 530a .{-# COMPILE JS. │ │ │ -00003e00: 2020 2020 7072 696d 466c 6f61 7454 6f52 primFloatToR │ │ │ -00003e10: 6174 696f 203d 2066 756e 6374 696f 6e28 atio = function( │ │ │ -00003e20: 7829 207b 0a20 2020 2020 2020 2078 203d x) {. x = │ │ │ -00003e30: 2061 6764 6152 5453 2e5f 7072 696d 466c agdaRTS._primFl │ │ │ -00003e40: 6f61 7454 6f52 6174 696f 2878 293b 0a20 oatToRatio(x);. │ │ │ -00003e50: 2020 2020 2020 2072 6574 7572 6e20 7a5f return z_ │ │ │ -00003e60: 6a41 6764 615f 4167 6461 5f42 7569 6c74 jAgda_Agda_Built │ │ │ -00003e70: 696e 5f53 6967 6d61 5b22 5f2c 5f22 5d28 in_Sigma["_,_"]( │ │ │ -00003e80: 782e 6e75 6d65 7261 746f 7229 2878 2e64 x.numerator)(x.d │ │ │ -00003e90: 656e 6f6d 696e 6174 6f72 293b 0a20 2020 enominator);. │ │ │ -00003ea0: 207d 3b0a 232d 7d0a 7b2d 2320 434f 4d50 };.#-}.{-# COMP │ │ │ -00003eb0: 494c 4520 4a53 0a20 2020 2070 7269 6d46 ILE JS. primF │ │ │ -00003ec0: 6c6f 6174 4465 636f 6465 203d 2066 756e loatDecode = fun │ │ │ -00003ed0: 6374 696f 6e28 7829 207b 0a20 2020 2020 ction(x) {. │ │ │ -00003ee0: 2020 2078 203d 2061 6764 6152 5453 2e5f x = agdaRTS._ │ │ │ -00003ef0: 7072 696d 466c 6f61 7444 6563 6f64 6528 primFloatDecode( │ │ │ -00003f00: 7829 3b0a 2020 2020 2020 2020 6966 2028 x);. if ( │ │ │ -00003f10: 7820 3d3d 3d20 6e75 6c6c 2920 7b0a 2020 x === null) {. │ │ │ -00003f20: 2020 2020 2020 2020 2020 7265 7475 726e return │ │ │ -00003f30: 207a 5f6a 4167 6461 5f41 6764 615f 4275 z_jAgda_Agda_Bu │ │ │ -00003f40: 696c 7469 6e5f 4d61 7962 655b 224d 6179 iltin_Maybe["May │ │ │ -00003f50: 6265 225d 5b22 6e6f 7468 696e 6722 5d3b be"]["nothing"]; │ │ │ -00003f60: 0a20 2020 2020 2020 207d 0a20 2020 2020 . }. │ │ │ -00003f70: 2020 2065 6c73 6520 7b0a 2020 2020 2020 else {. │ │ │ -00003f80: 2020 2020 2020 7265 7475 726e 207a 5f6a return z_j │ │ │ -00003f90: 4167 6461 5f41 6764 615f 4275 696c 7469 Agda_Agda_Builti │ │ │ -00003fa0: 6e5f 4d61 7962 655b 224d 6179 6265 225d n_Maybe["Maybe"] │ │ │ -00003fb0: 5b22 6a75 7374 225d 280a 2020 2020 2020 ["just"](. │ │ │ -00003fc0: 2020 2020 2020 2020 2020 7a5f 6a41 6764 z_jAgd │ │ │ -00003fd0: 615f 4167 6461 5f42 7569 6c74 696e 5f53 a_Agda_Builtin_S │ │ │ -00003fe0: 6967 6d61 5b22 5f2c 5f22 5d28 782e 6d61 igma["_,_"](x.ma │ │ │ -00003ff0: 6e74 6973 7361 2928 782e 6578 706f 6e65 ntissa)(x.expone │ │ │ -00004000: 6e74 2929 3b0a 2020 2020 2020 2020 7d0a nt));. }. │ │ │ -00004010: 2020 2020 7d3b 0a23 2d7d 0a7b 2d23 2043 };.#-}.{-# C │ │ │ -00004020: 4f4d 5049 4c45 204a 530a 2020 2020 7072 OMPILE JS. pr │ │ │ -00004030: 696d 466c 6f61 7445 6e63 6f64 6520 3d20 imFloatEncode = │ │ │ -00004040: 6675 6e63 7469 6f6e 2878 2920 7b0a 2020 function(x) {. │ │ │ -00004050: 2020 2020 2020 7265 7475 726e 2066 756e return fun │ │ │ -00004060: 6374 696f 6e20 2879 2920 7b0a 2020 2020 ction (y) {. │ │ │ -00004070: 2020 2020 2020 2020 7820 3d20 6167 6461 x = agda │ │ │ -00004080: 5254 532e 7570 7269 6d46 6c6f 6174 456e RTS.uprimFloatEn │ │ │ -00004090: 636f 6465 2878 2c20 7929 3b0a 2020 2020 code(x, y);. │ │ │ -000040a0: 2020 2020 2020 2020 6966 2028 7820 3d3d if (x == │ │ │ -000040b0: 3d20 6e75 6c6c 2920 7b0a 2020 2020 2020 = null) {. │ │ │ -000040c0: 2020 2020 2020 2020 2020 7265 7475 726e return │ │ │ -000040d0: 207a 5f6a 4167 6461 5f41 6764 615f 4275 z_jAgda_Agda_Bu │ │ │ -000040e0: 696c 7469 6e5f 4d61 7962 655b 224d 6179 iltin_Maybe["May │ │ │ -000040f0: 6265 225d 5b22 6e6f 7468 696e 6722 5d3b be"]["nothing"]; │ │ │ -00004100: 0a20 2020 2020 2020 2020 2020 207d 0a20 . }. │ │ │ -00004110: 2020 2020 2020 2020 2020 2065 6c73 6520 else │ │ │ -00004120: 7b0a 2020 2020 2020 2020 2020 2020 2020 {. │ │ │ -00004130: 2020 7265 7475 726e 207a 5f6a 4167 6461 return z_jAgda │ │ │ -00004140: 5f41 6764 615f 4275 696c 7469 6e5f 4d61 _Agda_Builtin_Ma │ │ │ -00004150: 7962 655b 224d 6179 6265 225d 5b22 6a75 ybe["Maybe"]["ju │ │ │ -00004160: 7374 225d 2878 293b 0a20 2020 2020 2020 st"](x);. │ │ │ -00004170: 2020 2020 207d 0a20 2020 2020 2020 207d }. } │ │ │ -00004180: 0a20 2020 207d 3b0a 232d 7d0a 0a70 7269 . };.#-}..pri │ │ │ -00004190: 6d46 6c6f 6174 4e75 6d65 7269 6361 6c45 mFloatNumericalE │ │ │ -000041a0: 7175 616c 6974 7920 3d20 7072 696d 466c quality = primFl │ │ │ -000041b0: 6f61 7445 7175 616c 6974 790a 7b2d 2320 oatEquality.{-# │ │ │ -000041c0: 5741 524e 494e 475f 4f4e 5f55 5341 4745 WARNING_ON_USAGE │ │ │ -000041d0: 2070 7269 6d46 6c6f 6174 4e75 6d65 7269 primFloatNumeri │ │ │ -000041e0: 6361 6c45 7175 616c 6974 790a 2257 6172 calEquality."War │ │ │ -000041f0: 6e69 6e67 3a20 7072 696d 466c 6f61 744e ning: primFloatN │ │ │ -00004200: 756d 6572 6963 616c 4571 7561 6c69 7479 umericalEquality │ │ │ -00004210: 2077 6173 2064 6570 7265 6361 7465 6420 was deprecated │ │ │ -00004220: 696e 2041 6764 6120 7632 2e36 2e32 2e0a in Agda v2.6.2.. │ │ │ -00004230: 506c 6561 7365 2075 7365 2070 7269 6d46 Please use primF │ │ │ -00004240: 6c6f 6174 4571 7561 6c69 7479 2069 6e73 loatEquality ins │ │ │ -00004250: 7465 6164 2e22 0a23 2d7d 0a0a 7072 696d tead.".#-}..prim │ │ │ -00004260: 466c 6f61 744e 756d 6572 6963 616c 4c65 FloatNumericalLe │ │ │ -00004270: 7373 203d 2070 7269 6d46 6c6f 6174 4c65 ss = primFloatLe │ │ │ -00004280: 7373 0a7b 2d23 2057 4152 4e49 4e47 5f4f ss.{-# WARNING_O │ │ │ -00004290: 4e5f 5553 4147 4520 7072 696d 466c 6f61 N_USAGE primFloa │ │ │ -000042a0: 744e 756d 6572 6963 616c 4c65 7373 0a22 tNumericalLess." │ │ │ -000042b0: 5761 726e 696e 673a 2070 7269 6d46 6c6f Warning: primFlo │ │ │ -000042c0: 6174 4e75 6d65 7269 6361 6c4c 6573 7320 atNumericalLess │ │ │ -000042d0: 7761 7320 6465 7072 6563 6174 6564 2069 was deprecated i │ │ │ -000042e0: 6e20 4167 6461 2076 322e 362e 322e 0a50 n Agda v2.6.2..P │ │ │ -000042f0: 6c65 6173 6520 7573 6520 7072 696d 466c lease use primFl │ │ │ -00004300: 6f61 744c 6573 7320 696e 7374 6561 642e oatLess instead. │ │ │ -00004310: 220a 232d 7d0a 0a70 7269 6d52 6f75 6e64 ".#-}..primRound │ │ │ -00004320: 203d 2070 7269 6d46 6c6f 6174 526f 756e = primFloatRoun │ │ │ -00004330: 640a 7b2d 2320 5741 524e 494e 475f 4f4e d.{-# WARNING_ON │ │ │ -00004340: 5f55 5341 4745 2070 7269 6d52 6f75 6e64 _USAGE primRound │ │ │ -00004350: 0a22 5761 726e 696e 673a 2070 7269 6d52 ."Warning: primR │ │ │ -00004360: 6f75 6e64 2077 6173 2064 6570 7265 6361 ound was depreca │ │ │ -00004370: 7465 6420 696e 2041 6764 6120 7632 2e36 ted in Agda v2.6 │ │ │ -00004380: 2e32 2e0a 506c 6561 7365 2075 7365 2070 .2..Please use p │ │ │ -00004390: 7269 6d46 6c6f 6174 526f 756e 6420 696e rimFloatRound in │ │ │ -000043a0: 7374 6561 642e 220a 232d 7d0a 0a70 7269 stead.".#-}..pri │ │ │ -000043b0: 6d46 6c6f 6f72 203d 2070 7269 6d46 6c6f mFloor = primFlo │ │ │ -000043c0: 6174 466c 6f6f 720a 7b2d 2320 5741 524e atFloor.{-# WARN │ │ │ -000043d0: 494e 475f 4f4e 5f55 5341 4745 2070 7269 ING_ON_USAGE pri │ │ │ -000043e0: 6d46 6c6f 6f72 0a22 5761 726e 696e 673a mFloor."Warning: │ │ │ -000043f0: 2070 7269 6d46 6c6f 6f72 2077 6173 2064 primFloor was d │ │ │ -00004400: 6570 7265 6361 7465 6420 696e 2041 6764 eprecated in Agd │ │ │ -00004410: 6120 7632 2e36 2e32 2e0a 506c 6561 7365 a v2.6.2..Please │ │ │ -00004420: 2075 7365 2070 7269 6d46 6c6f 6174 466c use primFloatFl │ │ │ -00004430: 6f6f 7220 696e 7374 6561 642e 220a 232d oor instead.".#- │ │ │ -00004440: 7d0a 0a70 7269 6d43 6569 6c69 6e67 203d }..primCeiling = │ │ │ -00004450: 2070 7269 6d46 6c6f 6174 4365 696c 696e primFloatCeilin │ │ │ -00004460: 670a 7b2d 2320 5741 524e 494e 475f 4f4e g.{-# WARNING_ON │ │ │ -00004470: 5f55 5341 4745 2070 7269 6d43 6569 6c69 _USAGE primCeili │ │ │ -00004480: 6e67 0a22 5761 726e 696e 673a 2070 7269 ng."Warning: pri │ │ │ -00004490: 6d43 6569 6c69 6e67 2077 6173 2064 6570 mCeiling was dep │ │ │ -000044a0: 7265 6361 7465 6420 696e 2041 6764 6120 recated in Agda │ │ │ -000044b0: 7632 2e36 2e32 2e0a 506c 6561 7365 2075 v2.6.2..Please u │ │ │ -000044c0: 7365 2070 7269 6d46 6c6f 6174 4365 696c se primFloatCeil │ │ │ -000044d0: 696e 6720 696e 7374 6561 642e 220a 232d ing instead.".#- │ │ │ -000044e0: 7d0a 0a70 7269 6d45 7870 203d 2070 7269 }..primExp = pri │ │ │ -000044f0: 6d46 6c6f 6174 4578 700a 7b2d 2320 5741 mFloatExp.{-# WA │ │ │ -00004500: 524e 494e 475f 4f4e 5f55 5341 4745 2070 RNING_ON_USAGE p │ │ │ -00004510: 7269 6d45 7870 0a22 5761 726e 696e 673a rimExp."Warning: │ │ │ -00004520: 2070 7269 6d45 7870 2077 6173 2064 6570 primExp was dep │ │ │ -00004530: 7265 6361 7465 6420 696e 2041 6764 6120 recated in Agda │ │ │ -00004540: 7632 2e36 2e32 2e0a 506c 6561 7365 2075 v2.6.2..Please u │ │ │ -00004550: 7365 2070 7269 6d46 6c6f 6174 4578 7020 se primFloatExp │ │ │ -00004560: 696e 7374 6561 642e 220a 232d 7d0a 0a70 instead.".#-}..p │ │ │ -00004570: 7269 6d4c 6f67 203d 2070 7269 6d46 6c6f rimLog = primFlo │ │ │ -00004580: 6174 4c6f 670a 7b2d 2320 5741 524e 494e atLog.{-# WARNIN │ │ │ -00004590: 475f 4f4e 5f55 5341 4745 2070 7269 6d4c G_ON_USAGE primL │ │ │ -000045a0: 6f67 0a22 5761 726e 696e 673a 2070 7269 og."Warning: pri │ │ │ -000045b0: 6d4c 6f67 2077 6173 2064 6570 7265 6361 mLog was depreca │ │ │ -000045c0: 7465 6420 696e 2041 6764 6120 7632 2e36 ted in Agda v2.6 │ │ │ -000045d0: 2e32 2e0a 506c 6561 7365 2075 7365 2070 .2..Please use p │ │ │ -000045e0: 7269 6d46 6c6f 6174 4c6f 6720 696e 7374 rimFloatLog inst │ │ │ -000045f0: 6561 642e 220a 232d 7d0a 0a70 7269 6d53 ead.".#-}..primS │ │ │ -00004600: 696e 203d 2070 7269 6d46 6c6f 6174 5369 in = primFloatSi │ │ │ -00004610: 6e0a 7b2d 2320 5741 524e 494e 475f 4f4e n.{-# WARNING_ON │ │ │ -00004620: 5f55 5341 4745 2070 7269 6d53 696e 0a22 _USAGE primSin." │ │ │ -00004630: 5761 726e 696e 673a 2070 7269 6d53 696e Warning: primSin │ │ │ -00004640: 2077 6173 2064 6570 7265 6361 7465 6420 was deprecated │ │ │ -00004650: 696e 2041 6764 6120 7632 2e36 2e32 2e0a in Agda v2.6.2.. │ │ │ -00004660: 506c 6561 7365 2075 7365 2070 7269 6d46 Please use primF │ │ │ -00004670: 6c6f 6174 5369 6e20 696e 7374 6561 642e loatSin instead. │ │ │ -00004680: 220a 232d 7d0a 0a70 7269 6d43 6f73 203d ".#-}..primCos = │ │ │ -00004690: 2070 7269 6d46 6c6f 6174 436f 730a 7b2d primFloatCos.{- │ │ │ -000046a0: 2320 5741 524e 494e 475f 4f4e 5f55 5341 # WARNING_ON_USA │ │ │ -000046b0: 4745 2070 7269 6d43 6f73 0a22 5761 726e GE primCos."Warn │ │ │ -000046c0: 696e 673a 2070 7269 6d43 6f73 2077 6173 ing: primCos was │ │ │ -000046d0: 2064 6570 7265 6361 7465 6420 696e 2041 deprecated in A │ │ │ -000046e0: 6764 6120 7632 2e36 2e32 2e0a 506c 6561 gda v2.6.2..Plea │ │ │ -000046f0: 7365 2075 7365 2070 7269 6d46 6c6f 6174 se use primFloat │ │ │ -00004700: 436f 7320 696e 7374 6561 642e 220a 232d Cos instead.".#- │ │ │ -00004710: 7d0a 0a70 7269 6d54 616e 203d 2070 7269 }..primTan = pri │ │ │ -00004720: 6d46 6c6f 6174 5461 6e0a 7b2d 2320 5741 mFloatTan.{-# WA │ │ │ -00004730: 524e 494e 475f 4f4e 5f55 5341 4745 2070 RNING_ON_USAGE p │ │ │ -00004740: 7269 6d54 616e 0a22 5761 726e 696e 673a rimTan."Warning: │ │ │ -00004750: 2070 7269 6d54 616e 2077 6173 2064 6570 primTan was dep │ │ │ -00004760: 7265 6361 7465 6420 696e 2041 6764 6120 recated in Agda │ │ │ -00004770: 7632 2e36 2e32 2e0a 506c 6561 7365 2075 v2.6.2..Please u │ │ │ -00004780: 7365 2070 7269 6d46 6c6f 6174 5461 6e20 se primFloatTan │ │ │ -00004790: 696e 7374 6561 642e 220a 232d 7d0a 0a70 instead.".#-}..p │ │ │ -000047a0: 7269 6d41 5369 6e20 3d20 7072 696d 466c rimASin = primFl │ │ │ -000047b0: 6f61 7441 5369 6e0a 7b2d 2320 5741 524e oatASin.{-# WARN │ │ │ -000047c0: 494e 475f 4f4e 5f55 5341 4745 2070 7269 ING_ON_USAGE pri │ │ │ -000047d0: 6d41 5369 6e0a 2257 6172 6e69 6e67 3a20 mASin."Warning: │ │ │ -000047e0: 7072 696d 4153 696e 2077 6173 2064 6570 primASin was dep │ │ │ -000047f0: 7265 6361 7465 6420 696e 2041 6764 6120 recated in Agda │ │ │ -00004800: 7632 2e36 2e32 2e0a 506c 6561 7365 2075 v2.6.2..Please u │ │ │ -00004810: 7365 2070 7269 6d46 6c6f 6174 4153 696e se primFloatASin │ │ │ -00004820: 2069 6e73 7465 6164 2e22 0a23 2d7d 0a0a instead.".#-}.. │ │ │ -00004830: 0a70 7269 6d41 436f 7320 3d20 7072 696d .primACos = prim │ │ │ -00004840: 466c 6f61 7441 436f 730a 7b2d 2320 5741 FloatACos.{-# WA │ │ │ -00004850: 524e 494e 475f 4f4e 5f55 5341 4745 2070 RNING_ON_USAGE p │ │ │ -00004860: 7269 6d41 436f 730a 2257 6172 6e69 6e67 rimACos."Warning │ │ │ -00004870: 3a20 7072 696d 4143 6f73 2077 6173 2064 : primACos was d │ │ │ -00004880: 6570 7265 6361 7465 6420 696e 2041 6764 eprecated in Agd │ │ │ -00004890: 6120 7632 2e36 2e32 2e0a 506c 6561 7365 a v2.6.2..Please │ │ │ -000048a0: 2075 7365 2070 7269 6d46 6c6f 6174 4143 use primFloatAC │ │ │ -000048b0: 6f73 2069 6e73 7465 6164 2e22 0a23 2d7d os instead.".#-} │ │ │ -000048c0: 0a0a 7072 696d 4154 616e 203d 2070 7269 ..primATan = pri │ │ │ -000048d0: 6d46 6c6f 6174 4154 616e 0a7b 2d23 2057 mFloatATan.{-# W │ │ │ -000048e0: 4152 4e49 4e47 5f4f 4e5f 5553 4147 4520 ARNING_ON_USAGE │ │ │ -000048f0: 7072 696d 4154 616e 0a22 5761 726e 696e primATan."Warnin │ │ │ -00004900: 673a 2070 7269 6d41 5461 6e20 7761 7320 g: primATan was │ │ │ -00004910: 6465 7072 6563 6174 6564 2069 6e20 4167 deprecated in Ag │ │ │ -00004920: 6461 2076 322e 362e 322e 0a50 6c65 6173 da v2.6.2..Pleas │ │ │ -00004930: 6520 7573 6520 7072 696d 466c 6f61 7441 e use primFloatA │ │ │ -00004940: 5461 6e20 696e 7374 6561 642e 220a 232d Tan instead.".#- │ │ │ -00004950: 7d0a 0a70 7269 6d41 5461 6e32 203d 2070 }..primATan2 = p │ │ │ -00004960: 7269 6d46 6c6f 6174 4154 616e 320a 7b2d rimFloatATan2.{- │ │ │ -00004970: 2320 5741 524e 494e 475f 4f4e 5f55 5341 # WARNING_ON_USA │ │ │ -00004980: 4745 2070 7269 6d41 5461 6e32 0a22 5761 GE primATan2."Wa │ │ │ -00004990: 726e 696e 673a 2070 7269 6d41 5461 6e32 rning: primATan2 │ │ │ -000049a0: 2077 6173 2064 6570 7265 6361 7465 6420 was deprecated │ │ │ -000049b0: 696e 2041 6764 6120 7632 2e36 2e32 2e0a in Agda v2.6.2.. │ │ │ -000049c0: 506c 6561 7365 2075 7365 2070 7269 6d46 Please use primF │ │ │ -000049d0: 6c6f 6174 4154 616e 3220 696e 7374 6561 loatATan2 instea │ │ │ -000049e0: 642e 220a 232d 7d0a b296 ad8c 96b6 e790 d.".#-}......... │ │ │ -000049f0: d801 f9bb c982 a1ef 92b5 c801 005c 0000 .............\.. │ │ │ -00004a00: 4a37 05b4 8080 e608 0000 0005 2000 0001 J7.......... ... │ │ │ -00004a10: 0001 0004 0408 0307 0286 8080 ec08 0200 ................ │ │ │ -00004a20: 0003 0f00 0505 050b 8780 80ec 0801 0520 ............... │ │ │ -00004a30: 0000 010b 6a0b 6bde d6db fbed a8ae 8921 ....j.k........! │ │ │ -00004a40: 8acb 9d9b aad1 dc92 1b00 6c00 004a 7105 ..........l..Jq. │ │ │ -00004a50: 2000 0001 0004 0408 0307 025e 0200 0003 ..........^.... │ │ │ -00004a60: 0f00 0505 050b 5f0b 6d0b 6109 0601 00d2 ......_.m.a..... │ │ │ -00004a70: 01e0 e4b6 b5ea d1c8 f9d8 01e3 cee8 9ccb ................ │ │ │ -00004a80: a6ab 90a6 0100 6d00 004b 7505 8280 80e6 ......m..Ku..... │ │ │ -00004a90: 0800 0001 0003 0407 0402 0000 030f 0009 ................ │ │ │ -00004aa0: 01d2 017b 2d23 204f 5054 494f 4e53 202d ...{-# OPTIONS - │ │ │ -00004ab0: 2d63 7562 6963 616c 2d63 6f6d 7061 7469 -cubical-compati │ │ │ -00004ac0: 626c 6520 2d2d 7265 7772 6974 696e 6720 ble --rewriting │ │ │ -00004ad0: 2d2d 6e6f 2d73 697a 6564 2d74 7970 6573 --no-sized-types │ │ │ -00004ae0: 202d 2d6e 6f2d 6775 6172 6465 646e 6573 --no-guardednes │ │ │ -00004af0: 7320 2d2d 6c65 7665 6c2d 756e 6976 6572 s --level-univer │ │ │ -00004b00: 7365 2023 2d7d 0a0a 6d6f 6475 6c65 2041 se #-}..module A │ │ │ -00004b10: 6764 612e 4275 696c 7469 6e2e 4571 7561 gda.Builtin.Equa │ │ │ -00004b20: 6c69 7479 2e52 6577 7269 7465 2077 6865 lity.Rewrite whe │ │ │ -00004b30: 7265 0a0a 6f70 656e 2069 6d70 6f72 7420 re..open import │ │ │ -00004b40: 4167 6461 2e42 7569 6c74 696e 2e45 7175 Agda.Builtin.Equ │ │ │ -00004b50: 616c 6974 790a 0a7b 2d23 2042 5549 4c54 ality..{-# BUILT │ │ │ -00004b60: 494e 2052 4557 5249 5445 205f e289 a15f IN REWRITE _..._ │ │ │ -00004b70: 2023 2d7d 0ad5 b8f2 f5e1 8bc9 8f83 018e #-}............ │ │ │ -00004b80: 8ae3 d9c1 d58e efa6 0100 6e00 004b b105 ..........n..K.. │ │ │ -00004b90: 2000 0001 0004 0408 0307 025e 0200 0003 ..........^.... │ │ │ -00004ba0: 0f00 0505 050b 5f0b 6f0b 6109 0601 00f5 ......_.o.a..... │ │ │ -00004bb0: 019e b9e1 b2d2 ac83 9201 d783 8a90 9bfd ................ │ │ │ -00004bc0: a8d3 8901 006f 0000 4cd7 0582 8080 e608 .....o..L....... │ │ │ -00004bd0: 0000 0100 0304 0704 0200 0003 0f00 0901 ................ │ │ │ -00004be0: f501 7b2d 2320 4f50 5449 4f4e 5320 2d2d ..{-# OPTIONS -- │ │ │ -00004bf0: 7769 7468 2d4b 202d 2d73 6166 6520 2d2d with-K --safe -- │ │ │ -00004c00: 6e6f 2d73 697a 6564 2d74 7970 6573 202d no-sized-types - │ │ │ -00004c10: 2d6e 6f2d 6775 6172 6465 646e 6573 7320 -no-guardedness │ │ │ -00004c20: 2d2d 6c65 7665 6c2d 756e 6976 6572 7365 --level-universe │ │ │ -00004c30: 2023 2d7d 0a0a 6d6f 6475 6c65 2041 6764 #-}..module Agd │ │ │ -00004c40: 612e 4275 696c 7469 6e2e 4571 7561 6c69 a.Builtin.Equali │ │ │ -00004c50: 7479 2e45 7261 7365 2077 6865 7265 0a0a ty.Erase where.. │ │ │ -00004c60: 6f70 656e 2069 6d70 6f72 7420 4167 6461 open import Agda │ │ │ -00004c70: 2e42 7569 6c74 696e 2e45 7175 616c 6974 .Builtin.Equalit │ │ │ -00004c80: 790a 0a70 7269 6d69 7469 7665 2070 7269 y..primitive pri │ │ │ -00004c90: 6d45 7261 7365 4571 7561 6c69 7479 203a mEraseEquality : │ │ │ -00004ca0: 20e2 8880 207b 617d 207b 4120 3a20 5365 ... {a} {A : Se │ │ │ -00004cb0: 7420 617d 207b 7820 7920 3a20 417d 20e2 t a} {x y : A} . │ │ │ -00004cc0: 8692 2078 20e2 89a1 2079 20e2 8692 2078 .. x ... y ... x │ │ │ -00004cd0: 20e2 89a1 2079 0ad7 a998 89f4 ed93 f630 ... y.........0 │ │ │ -00004ce0: fdcb a787 a4bb 83b1 8901 0070 0000 4d12 ...........p..M. │ │ │ -00004cf0: 0520 0000 0100 0404 0803 0702 5e02 0000 . ..........^... │ │ │ -00004d00: 030f 0005 0505 0b5f 0b71 0b61 0906 0100 ......._.q.a.... │ │ │ -00004d10: 8302 a5fc d7c6 c1c0 b1d4 9101 fdf7 e7ca ................ │ │ │ -00004d20: d582 f3dc 6d00 7100 004e 4605 8280 80e6 ....m.q..NF..... │ │ │ -00004d30: 0800 0001 0003 0407 0402 0000 030f 0009 ................ │ │ │ -00004d40: 0183 027b 2d23 204f 5054 494f 4e53 202d ...{-# OPTIONS - │ │ │ -00004d50: 2d63 7562 6963 616c 2d63 6f6d 7061 7469 -cubical-compati │ │ │ -00004d60: 626c 6520 2d2d 7361 6665 202d 2d6e 6f2d ble --safe --no- │ │ │ -00004d70: 7369 7a65 642d 7479 7065 7320 2d2d 6e6f sized-types --no │ │ │ -00004d80: 2d67 7561 7264 6564 6e65 7373 202d 2d6c -guardedness --l │ │ │ -00004d90: 6576 656c 2d75 6e69 7665 7273 6520 232d evel-universe #- │ │ │ -00004da0: 7d0a 0a6d 6f64 756c 6520 4167 6461 2e42 }..module Agda.B │ │ │ -00004db0: 7569 6c74 696e 2e45 7175 616c 6974 7920 uiltin.Equality │ │ │ -00004dc0: 7768 6572 650a 0a69 6e66 6978 2034 205f where..infix 4 _ │ │ │ -00004dd0: e289 a15f 0a64 6174 6120 5fe2 89a1 5f20 ..._.data _..._ │ │ │ -00004de0: 7b61 7d20 7b41 203a 2053 6574 2061 7d20 {a} {A : Set a} │ │ │ -00004df0: 2878 203a 2041 2920 3a20 4120 e286 9220 (x : A) : A ... │ │ │ -00004e00: 5365 7420 6120 7768 6572 650a 2020 696e Set a where. in │ │ │ -00004e10: 7374 616e 6365 2072 6566 6c20 3a20 7820 stance refl : x │ │ │ -00004e20: e289 a120 780a 0a7b 2d23 2042 5549 4c54 ... x..{-# BUILT │ │ │ -00004e30: 494e 2045 5155 414c 4954 5920 5fe2 89a1 IN EQUALITY _... │ │ │ -00004e40: 5f20 232d 7d0a f3db aa9f 80aa d9dd fd01 _ #-}........... │ │ │ -00004e50: c5e0 8ac6 91ed c987 c201 0072 0000 4e82 ...........r..N. │ │ │ -00004e60: 0520 0000 0100 0404 0803 0702 5e02 0000 . ..........^... │ │ │ -00004e70: 030f 0005 0505 0b5f 0b73 0b61 0906 0100 ......._.s.a.... │ │ │ -00004e80: be1b fea5 fcac b5fc fda6 6783 8d9c 98fc ..........g..... │ │ │ -00004e90: c5f7 f879 0073 0000 5c70 0582 8080 e608 ...y.s..\p...... │ │ │ -00004ea0: 0000 0100 0304 0704 0200 0003 0f00 0901 ................ │ │ │ -00004eb0: be1b 7b2d 2320 4f50 5449 4f4e 5320 2d2d ..{-# OPTIONS -- │ │ │ -00004ec0: 6572 6173 6564 2d63 7562 6963 616c 202d erased-cubical - │ │ │ -00004ed0: 2d73 6166 6520 2d2d 6e6f 2d73 697a 6564 -safe --no-sized │ │ │ -00004ee0: 2d74 7970 6573 202d 2d6e 6f2d 6775 6172 -types --no-guar │ │ │ -00004ef0: 6465 646e 6573 7320 232d 7d0a 0a6d 6f64 dedness #-}..mod │ │ │ -00004f00: 756c 6520 4167 6461 2e42 7569 6c74 696e ule Agda.Builtin │ │ │ -00004f10: 2e43 7562 6963 616c 2e48 436f 6d70 5520 .Cubical.HCompU │ │ │ -00004f20: 7768 6572 650a 0a6f 7065 6e20 696d 706f where..open impo │ │ │ -00004f30: 7274 2041 6764 612e 5072 696d 6974 6976 rt Agda.Primitiv │ │ │ -00004f40: 650a 6f70 656e 2069 6d70 6f72 7420 4167 e.open import Ag │ │ │ -00004f50: 6461 2e42 7569 6c74 696e 2e53 6967 6d61 da.Builtin.Sigma │ │ │ -00004f60: 0a6f 7065 6e20 696d 706f 7274 2041 6764 .open import Agd │ │ │ -00004f70: 612e 5072 696d 6974 6976 652e 4375 6269 a.Primitive.Cubi │ │ │ -00004f80: 6361 6c20 7265 6e61 6d69 6e67 2028 7072 cal renaming (pr │ │ │ -00004f90: 696d 494e 6567 2074 6f20 7e5f 3b20 7072 imINeg to ~_; pr │ │ │ -00004fa0: 696d 494d 6178 2074 6f20 5fe2 88a8 5f3b imIMax to _..._; │ │ │ -00004fb0: 2070 7269 6d49 4d69 6e20 746f 205f e288 primIMin to _.. │ │ │ -00004fc0: a75f 3b0a 2020 2020 2020 2020 2020 2020 ._;. │ │ │ +00000020: 0005 2cc7 0005 0873 0005 01e9 0000 0100 ..,....s........ │ │ │ +00000030: 00a8 c284 af94 96b0 fd6c e3a7 8fc4 bee4 .........l...... │ │ │ +00000040: 97a6 9a01 8dfc fcc5 d98d 87a3 c401 db85 ................ │ │ │ +00000050: a191 ecc5 ae91 7f95 b29c e182 c9d0 c157 ...............W │ │ │ +00000060: b4d5 a1cb cffa 80f4 7a85 ccbe b3c3 ebac ........z....... │ │ │ +00000070: d485 01ba 9b93 dd82 f1c0 ff54 89c1 b6f0 ...........T.... │ │ │ +00000080: dfb5 a1dc 9301 f1be d6fe 8492 8dfb cd01 ................ │ │ │ +00000090: c9c2 c7b5 ad82 908b ad01 87c0 cc88 8bab ................ │ │ │ +000000a0: a79a 4200 0000 0001 5903 0002 0000 0300 ..B.....Y....... │ │ │ +000000b0: 0004 0006 0506 0708 090a 0000 0000 0a00 ................ │ │ │ +000000c0: 0b0c 000b 0d00 0e0f 0010 1100 1213 0012 ................ │ │ │ +000000d0: 1400 1215 0012 1600 1217 0012 1829 0000 .............).. │ │ │ +000000e0: 1900 051a 0005 1b00 051c 0005 1d00 051e ................ │ │ │ +000000f0: 0005 1f00 0520 0006 2100 0622 0006 2300 ..... ..!.."..#. │ │ │ +00000100: 2425 0026 2700 2628 000b 2900 0b2a 000b $%.&'.&(..)..*.. │ │ │ +00000110: 2b00 0b2c 000b 2d00 0b2e 000b 2f00 0b30 +..,..-...../..0 │ │ │ +00000120: 000b 3100 0b32 000b 3300 0b34 0035 3600 ..1..2..3..4.56. │ │ │ +00000130: 3738 0037 3900 0a3a 003b 3c00 3b3d 003b 78.79..:.;<.;=.; │ │ │ +00000140: 3e00 3b3f 003b 4000 3b41 003b 4200 3b43 >.;?.;@.;A.;B.;C │ │ │ +00000150: 003b 4400 3b45 003b 4600 000b 43e6 0001 .;D.;E.;F...C... │ │ │ +00000160: 0200 a6bc c1b1 c993 c882 04e6 b292 acb1 ................ │ │ │ +00000170: b98e 9e58 01cf e1d7 b4fd fc81 8ad4 01bb ...X............ │ │ │ +00000180: ceb7 e6a6 bbd8 8d1c 0200 47dc b9e0 c0b1 ..........G..... │ │ │ +00000190: 8bc8 84d3 01b4 bdde d6cc 83ff cf86 0100 ................ │ │ │ +000001a0: 48d5 cafd b9ae fa9c f04c edd5 bb8a e1ae H........L...... │ │ │ +000001b0: 95cb 4f00 0103 008b e4be d5d5 8ac0 fcb0 ..O............. │ │ │ +000001c0: 01e8 81ed bbdb c7de ddbe 0101 d386 beff ................ │ │ │ +000001d0: 87f2 e9bb 8d01 809b a1b2 93f3 b1d1 7801 ..............x. │ │ │ +000001e0: 0049 a8c1 c3f1 d0c6 e1da cf01 f98e bfe0 .I.............. │ │ │ +000001f0: e5ee 8cc4 af01 0001 0400 98cf f1d1 93ed ................ │ │ │ +00000200: a9be 07a4 a686 81d1 86fb fdf7 0101 8bba ................ │ │ │ +00000210: 89a2 c5be fb98 0fda f0fd c1b9 f4a9 c72c ..............., │ │ │ +00000220: 0100 4aa5 e3a6 9a8d d493 9550 d19c 82ce ..J........P.... │ │ │ +00000230: fcc5 e9d8 2800 0000 054b c6f8 f6d3 99e5 ....(....K...... │ │ │ +00000240: ddbc bd01 aabb 85a1 d694 8d82 fc01 0000 ................ │ │ │ +00000250: 0005 4c98 ac82 b79f b9af f184 01c8 ed9b ..L............. │ │ │ +00000260: 939b c4c6 b40f 0000 0005 4dc8 e6a1 f687 ..........M..... │ │ │ +00000270: a69a a320 d8b6 a7b2 e7c9 eced 9301 0000 ... ............ │ │ │ +00000280: 0005 4eb6 aeed 8efd bdea 9539 f6dc 8fcd ..N........9.... │ │ │ +00000290: 979f c3f8 0900 0000 054f e3d8 9697 8cbd .........O...... │ │ │ +000002a0: fe8f 1afd f0d6 b8a2 bead ea20 0000 0005 ........... .... │ │ │ +000002b0: 508b 86d3 aef4 ad98 f0b4 01c5 f0f8 c983 P............... │ │ │ +000002c0: e2fc bd0b 0000 0005 51d0 b5f3 b0be 83cd ........Q....... │ │ │ +000002d0: e682 01ad a3c3 eaa7 ecac 8d59 0000 0006 ...........Y.... │ │ │ +000002e0: 52dc d2f9 fcb1 a896 9496 0194 db91 9bdc R............... │ │ │ +000002f0: eccb daa1 0100 0000 0621 eed0 c8bb 8582 .........!...... │ │ │ +00000300: fbd6 a201 d288 d5b2 cca5 e1a6 3000 0000 ............0... │ │ │ +00000310: 0753 a89f aa87 adab e7f4 05b2 d9b2 d3b7 .S.............. │ │ │ +00000320: a48f ec7e 0000 0007 54a5 e7ea ddce cb88 ...~....T....... │ │ │ +00000330: b6bc 01cf 8e88 8ea2 b7b7 e9ab 0100 0000 ................ │ │ │ +00000340: 0855 efc7 e296 b0f9 8ecb a901 97f6 9fd7 .U.............. │ │ │ +00000350: b885 9bbe 3900 0000 0956 cfc5 f1cd ee8e ....9....V...... │ │ │ +00000360: cbd2 38a6 f095 a3f6 caed dd8a 0100 0000 ..8............. │ │ │ +00000370: 0957 e885 8bda c0de b8e4 03ad ac9e 8cd7 .W.............. │ │ │ +00000380: e0aa eb99 0100 0000 0b0c 8e82 c884 a9ed ................ │ │ │ +00000390: c7e8 a601 ebb7 d28d abfb fded 9a01 0000 ................ │ │ │ +000003a0: 000b 588a 90ea bcc5 b288 f2b2 01fe e293 ..X............. │ │ │ +000003b0: e69a 869c da35 0000 000b 59f4 adbd d9d5 .....5....Y..... │ │ │ +000003c0: eff9 822e b2f4 cbfe f0ea baf4 3200 0000 ............2... │ │ │ +000003d0: 0b5a ffe7 8cd0 ca96 b7fc 9501 adac e9ff .Z.............. │ │ │ +000003e0: e5f3 e5af aa01 0000 000b 5be4 95ab b0a4 ..........[..... │ │ │ +000003f0: dbfe c147 ead0 9bb8 c98d d3d4 bd01 0000 ...G............ │ │ │ +00000400: 000b 5cf4 abcd 91ee affb 9b85 01a7 d39c ..\............. │ │ │ +00000410: fbe2 adab c565 0000 000b 5d81 bac5 e8d4 .....e....]..... │ │ │ +00000420: 8f93 cbce 01b2 fa9c eae9 e586 e6b5 0100 ................ │ │ │ +00000430: 0000 0b5e d7f0 89ce c2ca cfd8 0bde 8ce8 ...^............ │ │ │ +00000440: ad9c 8fd1 f60d 0000 000b 3280 c5df d3bb ..........2..... │ │ │ +00000450: d59c f24c 83da e7d1 ab9e c9d4 6d00 0000 ...L........m... │ │ │ +00000460: 0b5f d9db edc4 84df 82d4 5af6 86a4 87bd ._........Z..... │ │ │ +00000470: d6d5 bbd7 0100 0000 0b60 afce aaf9 cabb .........`...... │ │ │ +00000480: 9de2 35ab fbb2 c1c8 95dc f18f 0100 0000 ..5............. │ │ │ +00000490: 0b61 cbf9 dedd c4ce bba0 d401 b091 bedd .a.............. │ │ │ +000004a0: f0fa 99fc 4a00 0000 0b62 e2fd f4c7 add0 ....J....b...... │ │ │ +000004b0: 8899 0dcd effe 91b6 faa3 c5b5 0100 0000 ................ │ │ │ +000004c0: 0b63 8998 ed8a c088 f8b6 65fc f0ca ff99 .c........e..... │ │ │ +000004d0: d894 c39d 0100 0000 0e64 c5ab b496 b783 .........d...... │ │ │ +000004e0: bef0 a101 88b1 a69a f8bf 9d83 7b00 0000 ............{... │ │ │ +000004f0: 0a3a e38f f7ba c1db d98d a801 ccca 93b5 .:.............. │ │ │ +00000500: a088 beb0 8401 0002 659a 86af f8b3 c8b4 ........e....... │ │ │ +00000510: ddef 01bf 8582 de80 bea0 9a6c 0002 66d7 ...........l..f. │ │ │ +00000520: a087 c797 ad84 807d 8c9c a4df c0b0 f3e3 .......}........ │ │ │ +00000530: ea01 0002 67a5 d0ef 9ae8 f4e3 f4e0 01dd ....g........... │ │ │ +00000540: 82de 90c7 abca 8bbf 0100 0268 bbea a4c6 ...........h.... │ │ │ +00000550: c0a2 9d8d 7798 dbca c681 a7aa fb1d 0002 ....w........... │ │ │ +00000560: 69b7 85e4 c7b7 aba8 e9be 01f4 8ae3 e1cf i............... │ │ │ +00000570: bb86 e9cf 0100 026a db85 ee9f 95ab ffa4 .......j........ │ │ │ +00000580: 8201 c29e e6d4 d6c0 94e0 5800 026b 8cbf ..........X..k.. │ │ │ +00000590: 84a9 d1f5 fd91 4dc5 d69f 99eb bcdd aa3c ......M........< │ │ │ +000005a0: 0002 6cd5 c68e e6ec f0bf f410 b9f7 d6a6 ..l............. │ │ │ +000005b0: 938c e7c7 3b00 026d a2f0 f0b0 f5a3 c289 ....;..m........ │ │ │ +000005c0: 5bac e7d6 cbb9 88d1 908d 0100 026e fad6 [............n.. │ │ │ +000005d0: fafb fdcc f6f2 dc01 cba7 e8d4 98a4 bd99 ................ │ │ │ +000005e0: 8d01 0002 6f8e b9df a3d8 9cc0 a6ad 01ae ....o........... │ │ │ +000005f0: eaef f1c8 a6c3 cef4 0100 0270 b3a1 c1da ...........p.... │ │ │ +00000600: 869a d6b3 c801 b8ab 94d5 9da2 cb8c dc01 ................ │ │ │ +00000610: 0002 71d3 d2a0 e9d1 cfc1 befb 0196 a081 ..q............. │ │ │ +00000620: a7ee c0b8 84b8 0100 0272 9bcc c79a fe97 .........r...... │ │ │ +00000630: c1e1 79be 89fe 81d9 8785 ea11 0002 73f6 ..y...........s. │ │ │ +00000640: e5df f6ff 8ee6 b904 c5ae c5ce c8fd 8ffb ................ │ │ │ +00000650: 7300 0274 d7c1 f0b3 da94 9bc9 4495 8bfd s..t........D... │ │ │ +00000660: d9ce d4b4 c571 0002 75b0 c3b5 a4c5 dbd6 .....q..u....... │ │ │ +00000670: e815 8d90 a9d6 b2f8 bffa a101 0002 76b0 ..............v. │ │ │ +00000680: fb83 8f97 a0d4 caf0 01b3 d8f9 97fe eab3 ................ │ │ │ +00000690: 86ec 0100 0277 d1e1 f4df a7ef 9eef 8201 .....w.......... │ │ │ +000006a0: edb2 dd82 e1ae def7 4f00 0278 e3bb b0b7 ........O..x.... │ │ │ +000006b0: 8698 a7b6 34b4 fba0 b8ee 86ac bec4 0100 ....4........... │ │ │ +000006c0: 0279 bfba d6bb c89f 9eb5 44a1 f79c 96e3 .y........D..... │ │ │ +000006d0: d2ed c05a 0002 7ae3 ba8c d7be f7d4 9f4a ...Z..z........J │ │ │ +000006e0: c4ee be94 f3c0 f895 b201 0002 7bd5 b29f ............{... │ │ │ +000006f0: f79e c7d0 fcf2 01b7 ffc6 8495 ffff 9940 ...............@ │ │ │ +00000700: 0002 7ca9 86bb d6cf 9acd f875 a88b c49d ..|........u.... │ │ │ +00000710: c984 dee0 7d00 027d 8e86 cbe6 90a7 9ee4 ....}..}........ │ │ │ +00000720: ce01 b5f7 8f9f c8bc c7b6 7d00 027e afde ..........}..~.. │ │ │ +00000730: eba9 b5dd f4ee b701 dd9e e2dc cdd9 94d1 ................ │ │ │ +00000740: 6400 027f cad5 ca95 ad91 d29a d101 d5a3 d............... │ │ │ +00000750: eec3 ca82 d5b4 c301 0002 8001 8a91 a4df ................ │ │ │ +00000760: d5e2 f3a6 ba01 fca8 f293 c9e1 fef8 c801 ................ │ │ │ +00000770: 0002 8101 b3ac a8bc d0b6 f6ee 2db7 c8c4 ............-... │ │ │ +00000780: c4a9 c8b9 da3c 0002 8201 f0b9 a4b6 93de .....<.......... │ │ │ +00000790: f697 d901 dadb b490 9adc b4c7 8f01 0002 ................ │ │ │ +000007a0: 8301 e5f6 d7f6 a3b5 facf 15cc e4f4 b1b9 ................ │ │ │ +000007b0: 90e7 8917 0002 8401 b287 e396 cfa9 879d ................ │ │ │ +000007c0: c801 a0d9 c8c1 ea97 9cc7 0900 0285 01f8 ................ │ │ │ +000007d0: a8e7 addf b9dc e446 becc facf edcc 94fc .......F........ │ │ │ +000007e0: 0500 0286 01f1 fde5 caec 93ba c1d8 0187 ................ │ │ │ +000007f0: a8d8 84aa 9ec1 ffc2 0100 0287 01bf 9bbe ................ │ │ │ +00000800: a3b0 b7b9 9070 d2a1 8ed0 a681 fca9 a001 .....p.......... │ │ │ +00000810: 0002 8801 aae2 c095 dee9 ae8c 2eae abb5 ................ │ │ │ +00000820: eaae 8fe5 ad04 0002 8901 f5af c8f5 bff9 ................ │ │ │ +00000830: d48d 77da d0d8 97a9 97be 83d5 0100 028a ..w............. │ │ │ +00000840: 0193 b5c8 94a3 dcba af2f b4a1 acc9 c6ae ........./...... │ │ │ +00000850: d0fa f501 0002 8b01 b9ae c68f a1c5 b286 ................ │ │ │ +00000860: a901 c0b5 a8f6 f28b fd82 3200 028c 01c7 ..........2..... │ │ │ +00000870: cb98 b6eb 89cb dc0f d982 f4f4 a582 e8fe ................ │ │ │ +00000880: 4200 028d 01ae 9b8b e7ea a2eb 935b 9cad B............[.. │ │ │ +00000890: 9d92 e9cd b789 9201 0002 8e01 a6c8 dfc7 ................ │ │ │ +000008a0: f580 c2b6 54ac 92c5 94b5 a2cc ea3f 0002 ....T........?.. │ │ │ +000008b0: 8f01 ceb9 e6a4 92dd c9fc ae01 dad9 f9c8 ................ │ │ │ +000008c0: b6d4 99d3 aa01 0002 9001 bce0 97e8 b1dc ................ │ │ │ +000008d0: cca8 ae01 b1c9 c0fa 90a1 85e5 1800 0291 ................ │ │ │ +000008e0: 01d2 f49c da94 cbb5 bcf8 019c 8bc9 cbc1 ................ │ │ │ +000008f0: a6c9 daf0 0100 0292 01c9 94e1 988e 88ea ................ │ │ │ +00000900: c872 9fbd 9a90 8cc5 ace6 bf01 0002 9301 .r.............. │ │ │ +00000910: 9ae0 bdc1 9db5 aa8b 5cfb f7a6 c3ae bae5 ........\....... │ │ │ +00000920: ef9e 0100 0294 01fd a68e 87bc 9ea6 b1b3 ................ │ │ │ +00000930: 01d0 aaef d88b eff2 cf61 0002 9501 9299 .........a...... │ │ │ +00000940: fdd5 9ade a8ba be01 cecb e2aa 89c7 c988 ................ │ │ │ +00000950: e101 0002 9601 9b87 ebe9 bdcc f894 3df8 ..............=. │ │ │ +00000960: 9dfa d5f3 979e 8f43 0002 9701 d3b3 d4c8 .......C........ │ │ │ +00000970: c7f6 c5e7 41db ccfc a9bb d8af a8cd 0100 ....A........... │ │ │ +00000980: 0298 01e9 80f5 e58f e8f9 9f4c ffbb bc8c ...........L.... │ │ │ +00000990: 88d7 f9ed 1700 0299 01af 83c5 b6f0 80d8 ................ │ │ │ +000009a0: d239 9d8b 9fbe 9ade f9a9 2800 029a 019f .9........(..... │ │ │ +000009b0: baf9 e684 bfd9 c59d 01e2 99c3 c186 a8c0 ................ │ │ │ +000009c0: fecc 0100 029b 01fb b1ed e4f1 e0e3 9ab1 ................ │ │ │ +000009d0: 019f df8f c3c4 b6a9 e3d8 0100 029c 01b5 ................ │ │ │ +000009e0: 9b99 bf81 d585 f1cf 01ef bca0 ad92 9cdf ................ │ │ │ +000009f0: f195 0100 029d 01be b783 d4cc 8abf d1cd ................ │ │ │ +00000a00: 01d5 a2ac 90c3 90a0 81f4 0100 029e 01f9 ................ │ │ │ +00000a10: b6ea c5ea d7e4 ba11 da91 b593 abb8 d687 ................ │ │ │ +00000a20: 7400 029f 01ea a2bc cab3 b7c8 e8eb 01bc t............... │ │ │ +00000a30: 91af 9ae6 82f0 ab88 0101 2041 6764 612e .......... Agda. │ │ │ +00000a40: 5365 7475 702e 4461 7461 4669 6c65 735b Setup.DataFiles[ │ │ │ +00000a50: 5448 5d20 6368 616e 6765 6402 a001 8ab7 TH] changed..... │ │ │ +00000a60: 9c9c f28d d6fa ac01 e9e7 f4f5 89eb 8ba0 ................ │ │ │ +00000a70: 7000 02a1 01d6 adcf e6c1 b8a7 c418 abc3 p............... │ │ │ +00000a80: a9db a4ab 96c7 1e00 02a2 01ef b7c7 90ec ................ │ │ │ +00000a90: aee4 fc94 018f f891 edf0 b2a1 98c1 0100 ................ │ │ │ +00000aa0: 02a3 0191 a1c9 f5b4 ebbc fc28 93f6 fabd ...........(.... │ │ │ +00000ab0: 9bae f5c3 9801 0002 a401 9ebf a6e9 abdd ................ │ │ │ +00000ac0: c2d1 bd01 ca82 dee8 b1de b0d3 c201 0002 ................ │ │ │ +00000ad0: a501 a4e5 b3b3 bfdc cdcb 47a0 d4d7 b1a7 ..........G..... │ │ │ +00000ae0: dddc efd3 0100 02a6 0191 f1ea 90c4 a0d1 ................ │ │ │ +00000af0: 906f 9785 98a7 a698 a7d7 dd01 0002 a701 .o.............. │ │ │ +00000b00: c28d 95ef ff94 e1bb 3bd9 f8d5 ecc3 faeb ........;....... │ │ │ +00000b10: c43e 0002 a801 c7da d1b7 9edc bcc2 ad01 .>.............. │ │ │ +00000b20: b889 90c4 81e6 a3e5 cc01 0002 a901 99a8 ................ │ │ │ +00000b30: b2ed da92 88c0 bd01 e6be 819a a1a8 c5ae ................ │ │ │ +00000b40: 9301 0004 0000 0001 0002 0003 9fa2 fad0 ................ │ │ │ +00000b50: 9c97 8e89 7cfa 8ab4 ca9f e8bd c9b6 0101 ....|........... │ │ │ +00000b60: 0000 000b 6801 0000 0000 0b6d 00c9 01a5 ....h......m.... │ │ │ +00000b70: 87b4 c783 d9a1 d91b 818d 9df7 e782 88f8 ................ │ │ │ +00000b80: 8901 0004 0000 0bab 05d2 8180 e608 0000 ................ │ │ │ +00000b90: 0100 0404 0803 0702 8181 80ec 0802 0000 ................ │ │ │ +00000ba0: 030f 0005 050b 050b 060b 0792 d1b6 81fa ................ │ │ │ +00000bb0: ceea b9fc 01c5 8c8a 95c9 e5a1 947d 0007 .............}.. │ │ │ +00000bc0: 0000 0be4 05d4 8180 e608 0000 0100 0404 ................ │ │ │ +00000bd0: 0803 0702 8781 80ec 0802 0000 030f 0005 ................ │ │ │ +00000be0: 0b08 0b09 9480 91e9 b4c5 c6de a501 96df ................ │ │ │ +00000bf0: aeaf c9f3 e1e4 1200 0900 000c 1e05 8280 ................ │ │ │ +00000c00: 80e6 0800 0001 0003 0407 0402 0000 030f ................ │ │ │ +00000c10: 0009 010a 4167 6461 2e53 6574 7570 d695 ....Agda.Setup.. │ │ │ +00000c20: 87f0 ecda ce81 64ea f5c2 ddac c184 e2ca ......d......... │ │ │ +00000c30: 0100 0600 000c 5705 d481 80e6 0800 0001 ......W......... │ │ │ +00000c40: 0004 0408 0307 0287 8180 ec08 0200 0003 ................ │ │ │ +00000c50: 0f00 050b 080b 0a90 bad6 9480 dfb7 d4ad ................ │ │ │ +00000c60: 01b6 9fc1 b4d5 bc80 b628 000a 0000 0ca8 .........(...... │ │ │ +00000c70: 0582 8080 e608 0000 0100 0304 0704 0200 ................ │ │ │ +00000c80: 0003 0f00 0901 2141 6764 612d 322e 382e ......!Agda-2.8. │ │ │ +00000c90: 302d 4b75 4145 4b44 5247 3577 7346 5264 0-KuAEKDRG5wsFRd │ │ │ +00000ca0: 4135 7738 7347 4c43 8dea c2e9 8994 81f9 A5w8sGLC........ │ │ │ +00000cb0: 8b01 decc d4c5 b1c0 d7ba d001 000b 0000 ................ │ │ │ +00000cc0: 15aa 0300 05e2 8280 ec08 0100 0105 8880 ................ │ │ │ +00000cd0: 80e6 0800 0001 0300 05e2 8280 ec08 0100 ................ │ │ │ +00000ce0: 0105 e480 80e6 0800 0000 05ca 8080 e608 ................ │ │ │ +00000cf0: 0000 0100 0105 e480 80e6 0800 0000 05ca ................ │ │ │ +00000d00: 8080 e608 0000 0100 0100 0608 0200 0700 ................ │ │ │ +00000d10: 0200 0201 0002 0200 0102 0200 0102 0301 ................ │ │ │ +00000d20: aa01 0000 0400 0200 0200 0003 0f00 0400 ................ │ │ │ +00000d30: 05e2 8280 ec08 0100 01ab 0105 8880 80e6 ................ │ │ │ +00000d40: 0800 0001 0004 0005 e282 80ec 0801 0001 ................ │ │ │ +00000d50: ac01 05e4 8080 e608 0000 0005 ca80 80e6 ................ │ │ │ +00000d60: 0800 0001 0001 0006 050b 0c00 ac01 ad01 ................ │ │ │ +00000d70: 0101 8680 80f0 0802 ae01 af01 0700 b001 ................ │ │ │ +00000d80: 0300 05e2 8280 ec08 0100 0105 e480 80e6 ................ │ │ │ +00000d90: 0800 0000 05ca 8080 e608 0000 0100 0105 ................ │ │ │ +00000da0: e480 80e6 0800 0000 05ca 8080 e608 0000 ................ │ │ │ +00000db0: 0100 0102 0001 0100 0102 0001 0201 0104 ................ │ │ │ +00000dc0: 0005 e282 80ec 0801 0001 b101 05e4 8080 ................ │ │ │ +00000dd0: e608 0000 0005 ca80 80e6 0800 0001 0001 ................ │ │ │ +00000de0: 0106 0505 0505 0b0d 0105 0e00 0001 00af ................ │ │ │ +00000df0: 010c 0b0f 0302 0105 e282 80ec 0801 0001 ................ │ │ │ +00000e00: 0202 0800 0000 059a 8180 e608 0000 0005 ................ │ │ │ +00000e10: 1000 0001 0001 0000 059e 8080 e608 0000 ................ │ │ │ +00000e20: 0100 0101 0a08 1100 0102 0205 0e00 0001 ................ │ │ │ +00000e30: 0100 b101 b201 0101 8680 80f0 0802 b301 ................ │ │ │ +00000e40: b401 060c 00b4 0108 1200 00b5 0101 0113 ................ │ │ │ +00000e50: 01b6 0106 0505 050b 140b ab80 80ec 0800 ................ │ │ │ +00000e60: b601 00b3 01b7 0101 0186 8080 f008 02b8 ................ │ │ │ +00000e70: 01b9 0107 00ba 0105 1500 0001 0000 0505 ................ │ │ │ +00000e80: 0b16 00af 010b 1706 0505 0505 0505 050b ................ │ │ │ +00000e90: 1801 0519 0000 0101 0800 0001 0108 0000 ................ │ │ │ +00000ea0: 010c 0400 05e2 8280 ec08 0100 01bb 0105 ................ │ │ │ +00000eb0: e480 80e6 0800 0000 05ca 8080 e608 0000 ................ │ │ │ +00000ec0: 0100 0101 0605 0505 0b1a 00ba 010b ab80 ................ │ │ │ +00000ed0: 80ec 0800 bb01 bc01 0101 8680 80f0 0802 ................ │ │ │ +00000ee0: bd01 be01 0605 0505 0505 0bce 8980 f208 ................ │ │ │ +00000ef0: 0105 8882 80ec 0801 0001 0105 8880 80e6 ................ │ │ │ +00000f00: 0800 0001 0105 ca80 80e6 0800 0001 0bab ................ │ │ │ +00000f10: 8080 ec08 00bd 01bf 0101 0186 8080 f008 ................ │ │ │ +00000f20: 02c0 01c1 0103 0102 00c0 0106 0c00 be01 ................ │ │ │ +00000f30: 0b08 1b00 0008 1c00 00c2 0101 011d 01c3 ................ │ │ │ +00000f40: 0105 050b 1e00 c301 00c1 010a 0811 0001 ................ │ │ │ +00000f50: 0202 0519 0000 0101 0c0b 1f03 0201 05e2 ................ │ │ │ +00000f60: 8280 ec08 0100 0102 0205 1900 0001 010a ................ │ │ │ +00000f70: 0811 0001 0202 0800 0001 010c 0400 05e2 ................ │ │ │ +00000f80: 8280 ec08 0100 01c4 0105 1900 0001 0104 ................ │ │ │ +00000f90: 0005 e282 80ec 0801 0001 c501 05e4 8080 ................ │ │ │ +00000fa0: e608 0000 0005 ca80 80e6 0800 0001 0001 ................ │ │ │ +00000fb0: 0107 0101 c601 0300 05e2 8280 ec08 0100 ................ │ │ │ +00000fc0: 0105 b480 80e6 0800 0000 0800 0000 0515 ................ │ │ │ +00000fd0: 0000 0100 0005 2000 0001 0001 0001 0300 ...... ......... │ │ │ +00000fe0: 05e2 8280 ec08 0100 0105 e480 80e6 0800 ................ │ │ │ +00000ff0: 0000 05ca 8080 e608 0000 0100 0108 0100 ................ │ │ │ +00001000: 0005 c881 80e6 0800 0001 0100 05c4 8180 ................ │ │ │ +00001010: e608 0000 0101 0005 e480 80e6 0800 0000 ................ │ │ │ +00001020: 05ca 8080 e608 0000 0100 0100 0008 0000 ................ │ │ │ +00001030: 0100 0102 0002 0100 0203 0001 0202 0001 ................ │ │ │ +00001040: 0201 0204 0005 e282 80ec 0801 0001 bc01 ................ │ │ │ +00001050: 05b4 8080 e608 0000 0008 0000 0005 1500 ................ │ │ │ +00001060: 0001 0000 0520 0000 0100 0100 0100 0400 ..... .......... │ │ │ +00001070: 05e2 8280 ec08 0100 01c7 0105 e480 80e6 ................ │ │ │ +00001080: 0800 0000 05ca 8080 e608 0000 0100 0101 ................ │ │ │ +00001090: 0600 bc01 c801 0201 9e80 80ec 0800 0301 ................ │ │ │ +000010a0: 0200 c701 0b81 8080 ee08 0186 8080 ec08 ................ │ │ │ +000010b0: 02c9 01ca 0106 00c9 01cb 0101 0186 8080 ................ │ │ │ +000010c0: ee08 02cc 01cd 0107 00bf 0108 0000 0005 ................ │ │ │ +000010d0: 8c80 80e6 0800 0001 0000 058c 8080 e608 ................ │ │ │ +000010e0: 0000 0100 0100 0006 050b 2100 cc01 ce01 ..........!..... │ │ │ +000010f0: 0101 8680 80f0 0802 cf01 d001 0600 cf01 ................ │ │ │ +00001100: d101 0201 9e80 80ec 0800 0300 020b 2200 ..............". │ │ │ +00001110: d001 0186 8080 ec08 02d2 01d3 0103 0002 ................ │ │ │ +00001120: 00d1 0100 d001 0700 d401 0515 0000 0100 ................ │ │ │ +00001130: 0006 00bf 01ce 0101 0186 8080 ee08 02d5 ................ │ │ │ +00001140: 01d6 0105 050b 1600 af01 00d5 0106 0505 ................ │ │ │ +00001150: 0505 0b0d 0105 0e00 0001 00d4 010c 0b0f ................ │ │ │ +00001160: 0302 0105 e282 80ec 0801 0001 0202 0800 ................ │ │ │ +00001170: 0000 059a 8180 e608 0000 0005 1000 0001 ................ │ │ │ +00001180: 0001 0000 059e 8080 e608 0000 0100 0101 ................ │ │ │ +00001190: 0a08 1100 0102 0205 0e00 0001 0100 c701 ................ │ │ │ +000011a0: d201 0101 8680 80f0 0802 bd01 be01 060c ................ │ │ │ +000011b0: 00be 0108 1200 00ce 0101 0113 01cf 0106 ................ │ │ │ +000011c0: 0505 050b 140b ab80 80ec 0800 cf01 00bd ................ │ │ │ +000011d0: 01d3 0101 0186 8080 f008 02c0 01c1 0107 ................ │ │ │ +000011e0: 00d7 0105 1500 0001 0000 0600 bf01 d101 ................ │ │ │ +000011f0: 0101 8680 80ee 0802 d501 d601 0505 0b16 ................ │ │ │ +00001200: 00d4 0100 d601 0600 ab01 d101 0201 8c80 ................ │ │ │ +00001210: 80ec 0800 0605 0505 0505 0b23 0108 0000 ...........#.... │ │ │ +00001220: 0100 d701 0b24 0c04 0005 e282 80ec 0801 .....$.......... │ │ │ +00001230: 0001 d801 0525 0000 0100 0400 05e2 8280 .....%.......... │ │ │ +00001240: ec08 0100 01d9 0105 e480 80e6 0800 0000 ................ │ │ │ +00001250: 05ca 8080 e608 0000 0100 0101 0505 050b ................ │ │ │ +00001260: 2600 d801 00cd 0100 d901 0302 0105 e282 &............... │ │ │ +00001270: 80ec 0801 0001 0202 0525 0000 0101 0a08 .........%...... │ │ │ +00001280: 1100 0102 0208 0000 0101 00c0 01da 0101 ................ │ │ │ +00001290: 0186 8080 f008 02db 01dc 0105 0500 c601 ................ │ │ │ +000012a0: 00ca 0100 db01 01aa 8080 ec08 0006 0505 ................ │ │ │ +000012b0: 0505 0b27 0b28 0505 0b96 8080 e008 0b29 ...'.(.........) │ │ │ +000012c0: 00d7 010b ab80 80ec 0800 c001 da01 0101 ................ │ │ │ +000012d0: 8680 80f0 0802 db01 dc01 0605 0505 0505 ................ │ │ │ +000012e0: 0b23 0108 0000 0100 d701 0b24 0c04 0005 .#.........$.... │ │ │ +000012f0: e282 80ec 0801 0001 d801 0525 0000 0100 ...........%.... │ │ │ +00001300: 0400 05e2 8280 ec08 0100 01d9 0105 e480 ................ │ │ │ +00001310: 80e6 0800 0000 05ca 8080 e608 0000 0100 ................ │ │ │ +00001320: 0101 0505 050b 2600 d801 00cd 0100 d901 ......&......... │ │ │ +00001330: 0302 0105 e282 80ec 0801 0001 0202 0525 ...............% │ │ │ +00001340: 0000 0101 0a08 1100 0102 0208 0000 0101 ................ │ │ │ +00001350: 00db 01dd 0101 0186 8080 f008 02de 01df ................ │ │ │ +00001360: 0105 0500 c601 00ca 0100 de01 0505 00c6 ................ │ │ │ +00001370: 010b 2a00 c501 0302 0105 e282 80ec 0801 ..*............. │ │ │ +00001380: 0001 0202 0519 0000 0101 0a08 1100 0102 ................ │ │ │ +00001390: 0208 0000 0101 00b8 01bc 0101 0186 8080 ................ │ │ │ +000013a0: f008 02bd 01be 0106 0505 0505 0505 050b ................ │ │ │ +000013b0: dc89 80f2 0801 05c4 8180 e608 0000 0101 ................ │ │ │ +000013c0: 0588 8280 ec08 0100 0101 05a8 8180 e608 ................ │ │ │ +000013d0: 0000 0005 2b00 0001 0000 0800 0001 0001 ....+........... │ │ │ +000013e0: 0105 2c00 0001 0400 05e2 8280 ec08 0100 ..,............. │ │ │ +000013f0: 01bb 0105 e480 80e6 0800 0000 05ca 8080 ................ │ │ │ +00001400: e608 0000 0100 0101 0605 0505 050b 0d01 ................ │ │ │ +00001410: 050e 0000 0100 ba01 0c0b 0f03 0201 05e2 ................ │ │ │ +00001420: 8280 ec08 0100 0102 0208 0000 0005 9a81 ................ │ │ │ +00001430: 80e6 0800 0000 0510 0000 0100 0100 0005 ................ │ │ │ +00001440: 9e80 80e6 0800 0001 0001 010a 0811 0001 ................ │ │ │ +00001450: 0202 050e 0000 0101 00bb 01bf 0101 0186 ................ │ │ │ +00001460: 8080 f008 02c0 01c1 0106 0505 0b2d 0c00 .............-.. │ │ │ +00001470: c101 0a08 2e00 0000 c001 d201 0101 8680 ................ │ │ │ +00001480: 80f0 0802 db01 dc01 0301 0200 db01 0505 ................ │ │ │ +00001490: 050b 2f01 052b 0000 0101 0800 0001 00dc ../..+.......... │ │ │ +000014a0: 010b 3000 bd01 bf01 0101 8680 80f0 0802 ..0............. │ │ │ +000014b0: c001 c101 00c0 0106 00ab 01b5 0102 018c ................ │ │ │ +000014c0: 8080 ec08 0006 0505 0505 0b0d 0105 0e00 ................ │ │ │ +000014d0: 0001 00af 010c 0b0f 0302 0105 e282 80ec ................ │ │ │ +000014e0: 0801 0001 0202 0800 0000 059a 8180 e608 ................ │ │ │ +000014f0: 0000 0005 1000 0001 0001 0000 059e 8080 ................ │ │ │ +00001500: e608 0000 0100 0101 0a08 1100 0102 0205 ................ │ │ │ +00001510: 0e00 0001 0100 ae01 b201 0101 8680 80f0 ................ │ │ │ +00001520: 0802 b301 b401 0605 0505 0505 0505 0bdc ................ │ │ │ +00001530: 8980 f208 0105 c481 80e6 0800 0001 0105 ................ │ │ │ +00001540: 8882 80ec 0801 0001 0105 8880 80e6 0800 ................ │ │ │ +00001550: 0001 0105 2c00 0001 050b 310c 00b4 010b ....,.....1..... │ │ │ +00001560: 0a08 2e00 000a 0832 0000 0b33 00b3 01b7 .......2...3.... │ │ │ +00001570: 0101 0186 8080 f008 02b8 01b9 0106 00b9 ................ │ │ │ +00001580: 01c8 0102 018c 8080 ec08 0005 00b0 0100 ................ │ │ │ +00001590: b801 01aa 8080 ec08 0000 b801 01aa 8080 ................ │ │ │ +000015a0: ec08 0005 00b0 0100 ae01 ffbd c0cc b5e4 ................ │ │ │ +000015b0: d8dd 68b6 e0d7 8e83 f080 96e9 0100 2a00 ..h...........*. │ │ │ +000015c0: 0016 1505 b480 80e6 0800 0000 0800 0000 ................ │ │ │ +000015d0: 0515 0000 0100 0005 2000 0001 0001 0001 ........ ....... │ │ │ +000015e0: 0002 0701 0100 0200 0003 0000 0505 0505 ................ │ │ │ +000015f0: 0ba1 8080 e008 0105 b480 80e6 0800 0000 ................ │ │ │ +00001600: 0590 8080 e608 0000 0100 0101 0520 0000 ............. .. │ │ │ +00001610: 010b 340b 35a9 94eb f9ab dcd5 c90a b0db ..4.5........... │ │ │ +00001620: 8e97 f3e2 ccc9 6400 0000 0016 6105 f280 ......d.....a... │ │ │ +00001630: 80e6 0800 0000 0515 0000 0100 0100 0407 ................ │ │ │ +00001640: 0001 0001 0100 0102 0001 0202 0000 030f ................ │ │ │ +00001650: 000c 0b36 0a08 1100 0102 0205 1500 0001 ...6............ │ │ │ +00001660: 019b c0cc 95b0 deab b6e6 0196 8d90 978b ................ │ │ │ +00001670: 9189 c392 0100 3600 0019 4403 0005 e282 ......6...D..... │ │ │ +00001680: 80ec 0801 0001 05e4 8080 e608 0000 0005 ................ │ │ │ +00001690: ca80 80e6 0800 0001 0001 0801 0000 05c8 ................ │ │ │ +000016a0: 8180 e608 0000 0101 0005 c481 80e6 0800 ................ │ │ │ +000016b0: 0001 0100 05e4 8080 e608 0000 0005 ca80 ................ │ │ │ +000016c0: 80e6 0800 0001 0001 0000 0515 0000 0100 ................ │ │ │ +000016d0: 0100 0407 0001 0001 0100 0102 0001 0202 ................ │ │ │ +000016e0: 0000 030f 0004 0005 e282 80ec 0801 0001 ................ │ │ │ +000016f0: ac01 05e4 8080 e608 0000 0005 ca80 80e6 ................ │ │ │ +00001700: 0800 0001 0001 0006 050c 0505 0bfe 8080 ................ │ │ │ +00001710: e008 0105 f280 80e6 0800 0000 0537 0000 .............7.. │ │ │ +00001720: 0100 010b 3808 1100 0102 0205 3700 0001 ....8.......7... │ │ │ +00001730: 0100 ac01 ad01 0101 8680 80f0 0802 ae01 ................ │ │ │ +00001740: af01 0600 af01 b501 0101 3905 e001 e101 ..........9..... │ │ │ +00001750: b601 cf01 d001 0605 0505 0505 0505 0b3a ...............: │ │ │ +00001760: 0105 b880 80e6 0800 0000 058c 8080 e608 ................ │ │ │ +00001770: 0000 0100 0101 01e0 0101 01e1 0100 d001 ................ │ │ │ +00001780: 0b3b 0c0b 3c03 0201 05e2 8280 ec08 0100 .;..<........... │ │ │ +00001790: 0102 0205 3d00 0001 010a 0811 0001 0202 ....=........... │ │ │ +000017a0: 05b8 8080 e608 0000 0005 8c80 80e6 0800 ................ │ │ │ +000017b0: 0001 0001 0100 ae01 b701 0101 8680 80f0 ................ │ │ │ +000017c0: 0802 b301 b401 0600 b401 c801 0201 9580 ................ │ │ │ +000017d0: 80ec 0800 050b 3e00 b301 0198 8080 ec08 ......>......... │ │ │ +000017e0: 01d4 0106 0505 0505 0b0d 0105 0e00 0001 ................ │ │ │ +000017f0: 00d4 010c 0b0f 0302 0105 e282 80ec 0801 ................ │ │ │ +00001800: 0001 0202 0800 0000 059a 8180 e608 0000 ................ │ │ │ +00001810: 0005 1000 0001 0001 0000 059e 8080 e608 ................ │ │ │ +00001820: 0000 0100 0101 0a08 1100 0102 0205 0e00 ................ │ │ │ +00001830: 0001 0100 b301 b201 0101 8680 80f0 0802 ................ │ │ │ +00001840: b801 b901 0605 0505 0505 0505 0bdc 8980 ................ │ │ │ +00001850: f208 0105 c481 80e6 0800 0001 0105 8882 ................ │ │ │ +00001860: 80ec 0801 0001 0105 8880 80e6 0800 0001 ................ │ │ │ +00001870: 0105 2c00 0001 050b 310c 00b9 010b 0a08 ..,.....1....... │ │ │ +00001880: 2e00 000a 0832 0000 0b33 00b8 01bc 0101 .....2...3...... │ │ │ +00001890: 0186 8080 f008 02bd 01be 0106 00be 01cb ................ │ │ │ +000018a0: 0102 018c 8080 ec08 0006 050b 3e00 bd01 ............>... │ │ │ +000018b0: bf01 0101 8680 80f0 0802 c001 c101 0605 ................ │ │ │ +000018c0: 0505 050b 270b 2805 050b 9680 80e0 080b ....'.(......... │ │ │ +000018d0: 3f05 0505 050b 4001 0590 8080 e608 0000 ?.....@......... │ │ │ +000018e0: 010b 4105 050b 4200 d401 0b43 0505 0b96 ..A...B....C.... │ │ │ +000018f0: 8080 e008 0b44 0505 0505 0b40 0105 9080 .....D.....@.... │ │ │ +00001900: 80e6 0800 0001 0b41 0505 0b42 00c1 010b .......A...B.... │ │ │ +00001910: 430b 450b ab80 80ec 0800 c001 d201 0101 C.E............. │ │ │ +00001920: 8680 80f0 0802 db01 dc01 0301 0200 db01 ................ │ │ │ +00001930: 00c1 0101 aa80 80ec 0800 0505 0b46 00d4 .............F.. │ │ │ +00001940: 0100 bd01 c8f2 819e ace5 a884 0484 9cc9 ................ │ │ │ +00001950: cb8a afcd d4c3 0100 4700 0019 7c05 8280 ........G...|... │ │ │ +00001960: 80e6 0800 0001 0003 0407 0402 0000 030f ................ │ │ │ +00001970: 0009 0108 4147 4441 5f44 4952 91fe b8e4 ....AGDA_DIR.... │ │ │ +00001980: eec5 c1e0 5baa 87c9 93b9 8b84 d317 0045 ....[..........E │ │ │ +00001990: 0000 19bd 05b4 8080 e608 0000 0005 9080 ................ │ │ │ +000019a0: 80e6 0800 0001 0001 0002 0701 0100 0200 ................ │ │ │ +000019b0: 0003 0500 050b 9580 80e0 080b 48a5 edb6 ............H... │ │ │ +000019c0: d68e b0f3 8e80 01d2 97f2 9df9 ada9 e8dd ................ │ │ │ +000019d0: 0100 4800 0019 f705 8280 80e6 0800 0001 ..H............. │ │ │ +000019e0: 0003 0407 0402 0000 030f 0009 0109 2069 .............. i │ │ │ +000019f0: 6e73 7465 6164 2ea3 fdb3 a6ab eabd c782 nstead.......... │ │ │ +00001a00: 01a7 f7ac e5e8 d0ca abc6 0100 4400 001a ............D... │ │ │ +00001a10: 3005 8280 80e6 0800 0001 0003 0407 0402 0............... │ │ │ +00001a20: 0000 030f 0009 0108 2c20 7573 696e 6720 ........, using │ │ │ +00001a30: a38f b9d0 8b95 e6f2 41f8 93fa 81e2 d5c7 ........A....... │ │ │ +00001a40: 8af5 0100 3f00 001a a905 8280 80e6 0800 ....?........... │ │ │ +00001a50: 0001 0003 0407 0402 0000 030f 0009 01c8 ................ │ │ │ +00001a60: 0057 6172 6e69 6e67 3a20 456e 7669 726f .Warning: Enviro │ │ │ +00001a70: 6e6d 656e 7420 7661 7269 6162 6c65 2041 nment variable A │ │ │ +00001a80: 4744 415f 4449 5220 706f 696e 7473 2074 GDA_DIR points t │ │ │ +00001a90: 6f20 6e6f 6e2d 6578 6973 7469 6e67 2064 o non-existing d │ │ │ +00001aa0: 6972 6563 746f 7279 20e9 e099 e480 a6a9 irectory ....... │ │ │ +00001ab0: 9d1e a0ac d7de 8d92 83a4 de01 003e 0000 .............>.. │ │ │ +00001ac0: 1f5f 0300 05e2 8280 ec08 0100 0105 e480 ._.............. │ │ │ +00001ad0: 80e6 0800 0000 05ca 8080 e608 0000 0100 ................ │ │ │ +00001ae0: 0108 0100 0005 c881 80e6 0800 0001 0100 ................ │ │ │ +00001af0: 05c4 8180 e608 0000 0101 0005 e480 80e6 ................ │ │ │ +00001b00: 0800 0000 05ca 8080 e608 0000 0100 0100 ................ │ │ │ +00001b10: 0005 1500 0001 0001 0004 0700 0100 0101 ................ │ │ │ +00001b20: 0001 0200 0102 0200 0003 0f00 0400 05e2 ................ │ │ │ +00001b30: 8280 ec08 0100 01ac 0105 e480 80e6 0800 ................ │ │ │ +00001b40: 0000 05ca 8080 e608 0000 0100 0100 0605 ................ │ │ │ +00001b50: 0505 050b 0d01 050e 0000 010b 490c 0b0f ............I... │ │ │ +00001b60: 0302 0105 e282 80ec 0801 0001 0202 0800 ................ │ │ │ +00001b70: 0000 059a 8180 e608 0000 0005 1000 0001 ................ │ │ │ +00001b80: 0001 0000 059e 8080 e608 0000 0100 0101 ................ │ │ │ +00001b90: 0a08 1100 0102 0205 0e00 0001 0100 ac01 ................ │ │ │ +00001ba0: b201 0101 8680 80f0 0802 ae01 af01 0605 ................ │ │ │ +00001bb0: 0505 0505 0505 0bdc 8980 f208 0105 c481 ................ │ │ │ +00001bc0: 80e6 0800 0001 0105 8882 80ec 0801 0001 ................ │ │ │ +00001bd0: 0105 4a00 0001 0105 2c00 0001 050b 4b0c ..J.....,.....K. │ │ │ +00001be0: 00af 010b 0a08 2e00 000a 0832 0000 0b4c ...........2...L │ │ │ +00001bf0: 00ae 01ad 0101 0186 8080 f008 02b3 01b4 ................ │ │ │ +00001c00: 0106 0c00 b401 0b08 3200 000b 082e 0000 ........2....... │ │ │ +00001c10: 0812 0000 b501 0101 1301 e201 0700 e301 ................ │ │ │ +00001c20: 059c 8080 e608 0000 0100 0005 0bfa 8580 ................ │ │ │ +00001c30: f208 00e2 0106 0505 050b e685 80f2 0801 ................ │ │ │ +00001c40: 05ca 8080 e608 0000 0100 e301 00b3 01b7 ................ │ │ │ +00001c50: 0101 0186 8080 f008 02b8 01b9 0106 0505 ................ │ │ │ +00001c60: 050b f685 80f2 0801 05ca 8080 e608 0000 ................ │ │ │ +00001c70: 0100 b901 00b8 01c8 0101 0186 8080 f008 ................ │ │ │ +00001c80: 02bb 01e4 0106 0505 0505 0505 0505 0bf0 ................ │ │ │ +00001c90: 8a80 f208 0105 8b82 80ec 0801 0001 0105 ................ │ │ │ +00001ca0: d881 80ec 0801 0000 0586 8080 ec08 0100 ................ │ │ │ +00001cb0: 0005 be81 80e6 0800 0001 0100 05c8 8180 ................ │ │ │ +00001cc0: e608 0000 0100 0005 8680 80ec 0801 0000 ................ │ │ │ +00001cd0: 05be 8180 e608 0000 0101 0005 c481 80e6 ................ │ │ │ +00001ce0: 0800 0001 0000 059e 8080 ec08 0100 0005 ................ │ │ │ +00001cf0: be81 80e6 0800 0001 0101 0001 0001 0001 ................ │ │ │ +00001d00: 0105 8a80 80e6 0800 0001 0105 ca80 80e6 ................ │ │ │ +00001d10: 0800 0001 0108 0100 0005 c881 80e6 0800 ................ │ │ │ +00001d20: 0001 0100 05c4 8180 e608 0000 0101 0005 ................ │ │ │ +00001d30: e480 80e6 0800 0000 05ca 8080 e608 0000 ................ │ │ │ +00001d40: 0100 0100 0005 8c80 80e6 0800 0001 0001 ................ │ │ │ +00001d50: 00e4 0100 bb01 0400 05e2 8280 ec08 0100 ................ │ │ │ +00001d60: 01b1 0105 e480 80e6 0800 0000 05ca 8080 ................ │ │ │ +00001d70: e608 0000 0100 0101 0700 e501 0582 8080 ................ │ │ │ +00001d80: e608 0000 0100 0005 0bee 8580 f208 00e4 ................ │ │ │ +00001d90: 0106 0505 0505 0505 0bbc 8780 f208 0105 ................ │ │ │ +00001da0: ca80 80e6 0800 0001 00e2 0109 0601 0000 ................ │ │ │ +00001db0: 00e5 0100 e301 00b1 01e6 0101 0000 0505 ................ │ │ │ +00001dc0: 0b4d 0300 0205 050b 4e01 0510 0000 0100 .M......N....... │ │ │ +00001dd0: e501 050b 9380 80ec 0800 e301 00e6 01bc ................ │ │ │ +00001de0: 0101 0186 8080 f008 02bd 01be 0106 0505 ................ │ │ │ +00001df0: 0505 0b0d 0105 0e00 0001 00be 010c 0b0f ................ │ │ │ +00001e00: 0302 0105 e282 80ec 0801 0001 0202 0800 ................ │ │ │ +00001e10: 0000 059a 8180 e608 0000 0005 1000 0001 ................ │ │ │ +00001e20: 0001 0000 059e 8080 e608 0000 0100 0101 ................ │ │ │ +00001e30: 0a08 1100 0102 0205 0e00 0001 0100 bd01 ................ │ │ │ +00001e40: bf01 0101 8680 80f0 0802 c001 c101 0605 ................ │ │ │ +00001e50: 0505 0505 0505 0bdc 8980 f208 0105 c481 ................ │ │ │ +00001e60: 80e6 0800 0001 0105 8882 80ec 0801 0001 ................ │ │ │ +00001e70: 0105 8880 80e6 0800 0001 0105 2c00 0001 ............,... │ │ │ +00001e80: 050b 310c 00c1 010b 0a08 2e00 000a 0832 ..1............2 │ │ │ +00001e90: 0000 0b33 00c0 01d2 0101 0186 8080 f008 ...3............ │ │ │ +00001ea0: 02db 01dc 0106 00dc 01cb 0102 018c 8080 ................ │ │ │ +00001eb0: ec08 0006 0505 0505 0b0d 0105 0e00 0001 ................ │ │ │ +00001ec0: 0b49 0c0b 0f03 0201 05e2 8280 ec08 0100 .I.............. │ │ │ +00001ed0: 0102 0208 0000 0005 9a81 80e6 0800 0000 ................ │ │ │ +00001ee0: 0510 0000 0100 0100 0005 9e80 80e6 0800 ................ │ │ │ +00001ef0: 0001 0001 010a 0811 0001 0202 050e 0000 ................ │ │ │ +00001f00: 0101 00db 01d3 0101 0186 8080 f008 02de ................ │ │ │ +00001f10: 01df 0106 0505 050b 4f0b 500c 00df 010b ........O.P..... │ │ │ +00001f20: 0a08 2e00 000a 0832 0000 00de 01da 0101 .......2........ │ │ │ +00001f30: 0186 8080 f008 02e7 01e8 0105 050b 510c ..............Q. │ │ │ +00001f40: 00e8 010b 0832 0000 082e 0000 00e7 0101 .....2.......... │ │ │ +00001f50: aa80 80ec 0800 0301 0200 db01 00be 01da ................ │ │ │ +00001f60: a9bf a68b 96f5 f172 e2dc d3f5 a8f3 82ef .......r........ │ │ │ +00001f70: 2800 4900 001f a005 b480 80e6 0800 0000 (.I............. │ │ │ +00001f80: 0590 8080 e608 0000 0100 0100 0207 0101 ................ │ │ │ +00001f90: 0002 0000 0305 0005 0b95 8080 e008 0b52 ...............R │ │ │ +00001fa0: 85b5 80a8 a3bd cc83 50ef a891 c08b aee9 ........P....... │ │ │ +00001fb0: a1ca 0100 5200 001f d405 8280 80e6 0800 ....R........... │ │ │ +00001fc0: 0001 0003 0407 0402 0000 030f 0009 0104 ................ │ │ │ +00001fd0: 6167 6461 d699 c0de c2a4 e0ab 2cf3 9bdd agda........,... │ │ │ +00001fe0: c5a1 f1bd f93d 003b 0000 2015 05b4 8080 .....=.;.. ..... │ │ │ +00001ff0: e608 0000 0005 9080 80e6 0800 0001 0001 ................ │ │ │ +00002000: 0002 0701 0100 0200 0003 0500 050b 9580 ................ │ │ │ +00002010: 80e0 080b 47f2 80fa 80a9 dbc3 bf8c 01eb ....G........... │ │ │ +00002020: de92 99fc c0e6 aa8d 0100 0100 0020 6305 ............. c. │ │ │ +00002030: f280 80e6 0800 0000 0515 0000 0100 0100 ................ │ │ │ +00002040: 0407 0001 0001 0100 0102 0001 0202 0000 ................ │ │ │ +00002050: 030f 000c 0b0c 0a08 1100 0102 0205 1500 ................ │ │ │ +00002060: 0001 01ae c8b2 cf90 86e6 f8a3 01ce f9c3 ................ │ │ │ +00002070: f58f d582 e10b 000c 0000 23a1 0300 05e2 ..........#..... │ │ │ +00002080: 8280 ec08 0100 0105 e480 80e6 0800 0000 ................ │ │ │ +00002090: 05ca 8080 e608 0000 0100 0108 0100 0005 ................ │ │ │ +000020a0: c881 80e6 0800 0001 0100 05c4 8180 e608 ................ │ │ │ +000020b0: 0000 0101 0005 e480 80e6 0800 0000 05ca ................ │ │ │ +000020c0: 8080 e608 0000 0100 0100 0005 1500 0001 ................ │ │ │ +000020d0: 0001 0004 0700 0100 0101 0001 0200 0102 ................ │ │ │ +000020e0: 0200 0003 0f00 0400 05e2 8280 ec08 0100 ................ │ │ │ +000020f0: 01ac 0105 e480 80e6 0800 0000 05ca 8080 ................ │ │ │ +00002100: e608 0000 0100 0100 0605 0c05 050b fe80 ................ │ │ │ +00002110: 80e0 0801 05f2 8080 e608 0000 0005 3700 ..............7. │ │ │ +00002120: 0001 0001 0b38 0811 0001 0202 0537 0000 .....8.......7.. │ │ │ +00002130: 0101 00ac 01ad 0101 0186 8080 f008 02ae ................ │ │ │ +00002140: 01af 0106 00af 01b5 0101 0139 05e0 01e1 ...........9.... │ │ │ +00002150: 01b6 01cf 01d0 0106 0505 0505 0505 050b ................ │ │ │ +00002160: 3a01 05b8 8080 e608 0000 0005 8c80 80e6 :............... │ │ │ +00002170: 0800 0001 0001 0101 e001 0101 e101 00d0 ................ │ │ │ +00002180: 010b 530c 0b3c 0302 0105 e282 80ec 0801 ..S..<.......... │ │ │ +00002190: 0001 0202 053d 0000 0101 0a08 1100 0102 .....=.......... │ │ │ +000021a0: 0205 b880 80e6 0800 0000 058c 8080 e608 ................ │ │ │ +000021b0: 0000 0100 0101 00ae 01b7 0101 0186 8080 ................ │ │ │ +000021c0: f008 02b3 01b4 0106 00b4 01c8 0102 0195 ................ │ │ │ +000021d0: 8080 ec08 0005 0505 0505 0505 0bdc 8980 ................ │ │ │ +000021e0: f208 0105 c481 80e6 0800 0001 0105 8882 ................ │ │ │ +000021f0: 80ec 0801 0001 0105 1500 0001 0105 2c00 ..............,. │ │ │ +00002200: 0001 0b54 0b55 00b3 0101 9880 80ec 0801 ...T.U.......... │ │ │ +00002210: d401 0605 0505 050b 0d01 050e 0000 0100 ................ │ │ │ +00002220: d401 0c0b 0f03 0201 05e2 8280 ec08 0100 ................ │ │ │ +00002230: 0102 0208 0000 0005 9a81 80e6 0800 0000 ................ │ │ │ +00002240: 0510 0000 0100 0100 0005 9e80 80e6 0800 ................ │ │ │ +00002250: 0001 0001 010a 0811 0001 0202 050e 0000 ................ │ │ │ +00002260: 0101 00b3 01b2 0101 0186 8080 f008 02b8 ................ │ │ │ +00002270: 01b9 0106 0505 0505 0505 050b dc89 80f2 ................ │ │ │ +00002280: 0801 05c4 8180 e608 0000 0101 0588 8280 ................ │ │ │ +00002290: ec08 0100 0101 0588 8080 e608 0000 0101 ................ │ │ │ +000022a0: 052c 0000 0105 0b31 0c00 b901 0b0a 082e .,.....1........ │ │ │ +000022b0: 0000 0a08 3200 000b 3300 b801 bc01 0101 ....2...3....... │ │ │ +000022c0: 8680 80f0 0802 bd01 be01 0600 be01 cb01 ................ │ │ │ +000022d0: 0201 8c80 80ec 0800 0605 0505 0505 0505 ................ │ │ │ +000022e0: 0bdc 8980 f208 0105 c481 80e6 0800 0001 ................ │ │ │ +000022f0: 0105 8882 80ec 0801 0001 0105 1500 0001 ................ │ │ │ +00002300: 0105 2c00 0001 0b54 0b55 00bd 01bf 0101 ..,....T.U...... │ │ │ +00002310: 0186 8080 f008 02c0 01c1 0106 0505 0505 ................ │ │ │ +00002320: 0b27 0b28 0505 0b96 8080 e008 0b56 0505 .'.(.........V.. │ │ │ +00002330: 0505 0b40 0105 9080 80e6 0800 0001 0b41 ...@...........A │ │ │ +00002340: 0505 0b42 00d4 010b 4305 050b 9680 80e0 ...B....C....... │ │ │ +00002350: 080b 4405 0505 050b 4001 0590 8080 e608 ..D.....@....... │ │ │ +00002360: 0000 010b 4105 050b 4200 c101 0b43 0b45 ....A...B....C.E │ │ │ +00002370: 0bab 8080 ec08 00c0 01d2 0101 0186 8080 ................ │ │ │ +00002380: f008 02db 01dc 0103 0102 00db 0100 c101 ................ │ │ │ +00002390: 01aa 8080 ec08 0005 050b 4600 d401 00bd ..........F..... │ │ │ +000023a0: 01ec fff6 8ef4 ecd0 8a7b b1e7 c9d2 bf93 .........{...... │ │ │ +000023b0: d6f4 db01 0056 0000 241e 0582 8080 e608 .....V..$....... │ │ │ +000023c0: 0000 0100 0304 0704 0200 0003 0f00 0901 ................ │ │ │ +000023d0: cc00 5761 726e 696e 673a 2045 6e76 6972 ..Warning: Envir │ │ │ +000023e0: 6f6e 6d65 6e74 2076 6172 6961 626c 6520 onment variable │ │ │ +000023f0: 4167 6461 5f64 6174 6164 6972 2070 6f69 Agda_datadir poi │ │ │ +00002400: 6e74 7320 746f 206e 6f6e 2d65 7869 7374 nts to non-exist │ │ │ +00002410: 696e 6720 6469 7265 6374 6f72 7920 f485 ing directory .. │ │ │ +00002420: f2f7 a5e3 beb0 74e4 b5c4 c8fa bbfe f192 ......t......... │ │ │ +00002430: 0100 5300 0024 6005 b480 80e6 0800 0000 ..S..$`......... │ │ │ +00002440: 0590 8080 e608 0000 0100 0100 0207 0101 ................ │ │ │ +00002450: 0002 0000 0305 0005 0b95 8080 e008 0b57 ...............W │ │ │ +00002460: ddc6 f0c1 a796 b9c8 e701 b7cf 9898 9eb0 ................ │ │ │ +00002470: d1cf f501 0057 0000 249d 0582 8080 e608 .....W..$....... │ │ │ +00002480: 0000 0100 0304 0704 0200 0003 0f00 0901 ................ │ │ │ +00002490: 0c41 6764 615f 6461 7461 6469 72b4 c4aa .Agda_datadir... │ │ │ +000024a0: dfba 9eea f67c f5d7 99ec d99a 8aae 3000 .....|........0. │ │ │ +000024b0: 0200 0025 1903 0005 e282 80ec 0801 0001 ...%............ │ │ │ +000024c0: 0515 0000 0105 f280 80e6 0800 0000 0515 ................ │ │ │ +000024d0: 0000 0100 0100 0608 0201 0107 0002 0002 ................ │ │ │ +000024e0: 0100 0201 0001 0202 0001 0206 0202 0102 ................ │ │ │ +000024f0: 0000 030f 000c 0b58 0302 0105 e282 80ec .......X........ │ │ │ +00002500: 0801 0001 0202 0515 0000 0101 0a08 1100 ................ │ │ │ +00002510: 0102 0205 1500 0001 01eb e38d cff6 a2f5 ................ │ │ │ +00002520: 8139 94e4 8898 abc0 fef6 8601 0058 0000 .9...........X.. │ │ │ +00002530: 2612 0300 05e2 8280 ec08 0100 0105 1500 &............... │ │ │ +00002540: 0001 0300 05e2 8280 ec08 0100 0105 e480 ................ │ │ │ +00002550: 80e6 0800 0000 05ca 8080 e608 0000 0100 ................ │ │ │ +00002560: 0108 0100 0005 c881 80e6 0800 0001 0100 ................ │ │ │ +00002570: 05c4 8180 e608 0000 0101 0005 e480 80e6 ................ │ │ │ +00002580: 0800 0000 05ca 8080 e608 0000 0100 0100 ................ │ │ │ +00002590: 0005 1500 0001 0001 0006 0802 0101 0700 ................ │ │ │ +000025a0: 0200 0201 0002 0100 0102 0200 0102 0602 ................ │ │ │ +000025b0: 0201 0200 0003 0f00 0400 05e2 8280 ec08 ................ │ │ │ +000025c0: 0100 01e9 0105 1500 0001 0004 0005 e282 ................ │ │ │ +000025d0: 80ec 0801 0001 ac01 05e4 8080 e608 0000 ................ │ │ │ +000025e0: 0005 ca80 80e6 0800 0001 0001 0106 050b ................ │ │ │ +000025f0: 0c00 ac01 b201 0101 8680 80f0 0802 ae01 ................ │ │ │ +00002600: af01 0301 0200 ae01 0505 0b16 00af 0100 ................ │ │ │ +00002610: e901 c783 9fce b090 af82 37a3 9ba4 ebaf ..........7..... │ │ │ +00002620: e7b4 ba50 0003 0000 2698 0300 05e2 8280 ...P....&....... │ │ │ +00002630: ec08 0100 0105 8880 80e6 0800 0001 05f2 ................ │ │ │ +00002640: 8080 e608 0000 0008 0000 0100 0100 0608 ................ │ │ │ +00002650: 0201 0307 0002 0002 0100 0202 0001 0202 ................ │ │ │ +00002660: 0001 0206 0203 0102 0002 0102 0000 030f ................ │ │ │ +00002670: 000c 0b59 0302 0105 e282 80ec 0801 0001 ...Y............ │ │ │ +00002680: 0202 0588 8080 e608 0000 0101 0a08 1100 ................ │ │ │ +00002690: 0102 0208 0000 0101 ad9a f2b0 99db eaa4 ................ │ │ │ +000026a0: b201 bac0 d4f6 8c99 de96 c401 0059 0000 .............Y.. │ │ │ +000026b0: 27a1 0300 05e2 8280 ec08 0100 0105 8880 '............... │ │ │ +000026c0: 80e6 0800 0001 0300 05e2 8280 ec08 0100 ................ │ │ │ +000026d0: 0105 e480 80e6 0800 0000 05ca 8080 e608 ................ │ │ │ +000026e0: 0000 0100 0108 0100 0005 c881 80e6 0800 ................ │ │ │ +000026f0: 0001 0100 05c4 8180 e608 0000 0101 0005 ................ │ │ │ +00002700: e480 80e6 0800 0000 05ca 8080 e608 0000 ................ │ │ │ +00002710: 0100 0100 0008 0000 0100 0100 0708 0201 ................ │ │ │ +00002720: 0307 0002 0002 0100 0202 0001 0202 0001 ................ │ │ │ +00002730: 0206 0203 0102 0002 0103 01aa 0100 0004 ................ │ │ │ +00002740: 0002 0002 0000 020f 0102 0100 0400 05e2 ................ │ │ │ +00002750: 8280 ec08 0100 01ab 0105 8880 80e6 0800 ................ │ │ │ +00002760: 0001 0004 0005 e282 80ec 0801 0001 ac01 ................ │ │ │ +00002770: 05e4 8080 e608 0000 0005 ca80 80e6 0800 ................ │ │ │ +00002780: 0001 0001 0006 0505 0b0b 00ab 0100 ac01 ................ │ │ │ +00002790: b601 0100 0003 0102 00b6 010b 8180 80ee ................ │ │ │ +000027a0: 08ed aaf2 f5c4 fdf4 d650 a799 c9b4 f890 .........P...... │ │ │ +000027b0: f095 8a01 005a 0000 27ef 05b4 8080 e608 .....Z..'....... │ │ │ +000027c0: 0000 0005 2000 0001 0001 0004 0408 0307 .... ........... │ │ │ +000027d0: 0286 8080 ec08 0200 0003 0f00 0505 050b ................ │ │ │ +000027e0: 8780 80ec 0801 0520 0000 010b 5b0b 5cef ....... ....[.\. │ │ │ +000027f0: 98de a6f7 bbe1 a4cd 01b7 b783 f6ea f1fa ................ │ │ │ +00002800: f555 005d 0000 282a 0520 0000 0100 0404 .U.]..(*. ...... │ │ │ +00002810: 0803 0702 5e02 0000 030f 0005 0505 0b5f ....^.........._ │ │ │ +00002820: 0b60 0b61 0906 0100 e903 d2c3 b990 cbb2 .`.a............ │ │ │ +00002830: faba e901 ba9d 9de2 bae5 98b6 4f00 6000 ............O.`. │ │ │ +00002840: 002a 4405 8280 80e6 0800 0001 0003 0407 .*D............. │ │ │ +00002850: 0402 0000 030f 0009 01e9 037b 2d23 204f ...........{-# O │ │ │ +00002860: 5054 494f 4e53 202d 2d63 7562 6963 616c PTIONS --cubical │ │ │ +00002870: 2d63 6f6d 7061 7469 626c 6520 2d2d 7361 -compatible --sa │ │ │ +00002880: 6665 202d 2d6e 6f2d 7369 7a65 642d 7479 fe --no-sized-ty │ │ │ +00002890: 7065 7320 2d2d 6e6f 2d67 7561 7264 6564 pes --no-guarded │ │ │ +000028a0: 6e65 7373 202d 2d6c 6576 656c 2d75 6e69 ness --level-uni │ │ │ +000028b0: 7665 7273 6520 232d 7d0a 0a6d 6f64 756c verse #-}..modul │ │ │ +000028c0: 6520 4167 6461 2e42 7569 6c74 696e 2e46 e Agda.Builtin.F │ │ │ +000028d0: 726f 6d53 7472 696e 6720 7768 6572 650a romString where. │ │ │ +000028e0: 0a6f 7065 6e20 696d 706f 7274 2041 6764 .open import Agd │ │ │ +000028f0: 612e 5072 696d 6974 6976 650a 6f70 656e a.Primitive.open │ │ │ +00002900: 2069 6d70 6f72 7420 4167 6461 2e42 7569 import Agda.Bui │ │ │ +00002910: 6c74 696e 2e53 7472 696e 670a 0a72 6563 ltin.String..rec │ │ │ +00002920: 6f72 6420 4973 5374 7269 6e67 207b 617d ord IsString {a} │ │ │ +00002930: 2028 4120 3a20 5365 7420 6129 203a 2053 (A : Set a) : S │ │ │ +00002940: 6574 2028 6c73 7563 2061 2920 7768 6572 et (lsuc a) wher │ │ │ +00002950: 650a 2020 6669 656c 640a 2020 2020 436f e. field. Co │ │ │ +00002960: 6e73 7472 6169 6e74 203a 2053 7472 696e nstraint : Strin │ │ │ +00002970: 6720 e286 9220 5365 7420 610a 2020 2020 g ... Set a. │ │ │ +00002980: 6672 6f6d 5374 7269 6e67 203a 2028 7320 fromString : (s │ │ │ +00002990: 3a20 5374 7269 6e67 2920 7b7b 5f20 3a20 : String) {{_ : │ │ │ +000029a0: 436f 6e73 7472 6169 6e74 2073 7d7d 20e2 Constraint s}} . │ │ │ +000029b0: 8692 2041 0a0a 6f70 656e 2049 7353 7472 .. A..open IsStr │ │ │ +000029c0: 696e 6720 7b7b 2e2e 2e7d 7d20 7075 626c ing {{...}} publ │ │ │ +000029d0: 6963 2075 7369 6e67 2028 6672 6f6d 5374 ic using (fromSt │ │ │ +000029e0: 7269 6e67 290a 0a7b 2d23 2042 5549 4c54 ring)..{-# BUILT │ │ │ +000029f0: 494e 2046 524f 4d53 5452 494e 4720 6672 IN FROMSTRING fr │ │ │ +00002a00: 6f6d 5374 7269 6e67 2023 2d7d 0a7b 2d23 omString #-}.{-# │ │ │ +00002a10: 2044 4953 504c 4159 2049 7353 7472 696e DISPLAY IsStrin │ │ │ +00002a20: 672e 6672 6f6d 5374 7269 6e67 205f 2073 g.fromString _ s │ │ │ +00002a30: 203d 2066 726f 6d53 7472 696e 6720 7320 = fromString s │ │ │ +00002a40: 232d 7d0a e3b4 f3b9 8198 86fb f201 bbed #-}............. │ │ │ +00002a50: 8192 c9a8 dda2 0700 6200 002a 7f05 2000 ........b..*.. . │ │ │ +00002a60: 0001 0004 0408 0307 025e 0200 0003 0f00 .........^...... │ │ │ +00002a70: 0505 050b 5f0b 630b 6109 0601 00cb 0385 ...._.c.a....... │ │ │ +00002a80: afc1 b4d9 d8e7 8ab8 018f e8bf d5b9 98ea ................ │ │ │ +00002a90: d16e 0063 0000 2c7b 0582 8080 e608 0000 .n.c..,{........ │ │ │ +00002aa0: 0100 0304 0704 0200 0003 0f00 0901 cb03 ................ │ │ │ +00002ab0: 7b2d 2320 4f50 5449 4f4e 5320 2d2d 6375 {-# OPTIONS --cu │ │ │ +00002ac0: 6269 6361 6c2d 636f 6d70 6174 6962 6c65 bical-compatible │ │ │ +00002ad0: 202d 2d73 6166 6520 2d2d 6e6f 2d73 697a --safe --no-siz │ │ │ +00002ae0: 6564 2d74 7970 6573 202d 2d6e 6f2d 6775 ed-types --no-gu │ │ │ +00002af0: 6172 6465 646e 6573 7320 2d2d 6c65 7665 ardedness --leve │ │ │ +00002b00: 6c2d 756e 6976 6572 7365 2023 2d7d 0a0a l-universe #-}.. │ │ │ +00002b10: 6d6f 6475 6c65 2041 6764 612e 4275 696c module Agda.Buil │ │ │ +00002b20: 7469 6e2e 4672 6f6d 4e65 6720 7768 6572 tin.FromNeg wher │ │ │ +00002b30: 650a 0a6f 7065 6e20 696d 706f 7274 2041 e..open import A │ │ │ +00002b40: 6764 612e 5072 696d 6974 6976 650a 6f70 gda.Primitive.op │ │ │ +00002b50: 656e 2069 6d70 6f72 7420 4167 6461 2e42 en import Agda.B │ │ │ +00002b60: 7569 6c74 696e 2e4e 6174 0a0a 7265 636f uiltin.Nat..reco │ │ │ +00002b70: 7264 204e 6567 6174 6976 6520 7b61 7d20 rd Negative {a} │ │ │ +00002b80: 2841 203a 2053 6574 2061 2920 3a20 5365 (A : Set a) : Se │ │ │ +00002b90: 7420 286c 7375 6320 6129 2077 6865 7265 t (lsuc a) where │ │ │ +00002ba0: 0a20 2066 6965 6c64 0a20 2020 2043 6f6e . field. Con │ │ │ +00002bb0: 7374 7261 696e 7420 3a20 4e61 7420 e286 straint : Nat .. │ │ │ +00002bc0: 9220 5365 7420 610a 2020 2020 6672 6f6d . Set a. from │ │ │ +00002bd0: 4e65 6720 3a20 e288 8020 6e20 e286 9220 Neg : ... n ... │ │ │ +00002be0: 7b7b 5f20 3a20 436f 6e73 7472 6169 6e74 {{_ : Constraint │ │ │ +00002bf0: 206e 7d7d 20e2 8692 2041 0a0a 6f70 656e n}} ... A..open │ │ │ +00002c00: 204e 6567 6174 6976 6520 7b7b 2e2e 2e7d Negative {{...} │ │ │ +00002c10: 7d20 7075 626c 6963 2075 7369 6e67 2028 } public using ( │ │ │ +00002c20: 6672 6f6d 4e65 6729 0a0a 7b2d 2320 4255 fromNeg)..{-# BU │ │ │ +00002c30: 494c 5449 4e20 4652 4f4d 4e45 4720 6672 ILTIN FROMNEG fr │ │ │ +00002c40: 6f6d 4e65 6720 232d 7d0a 7b2d 2320 4449 omNeg #-}.{-# DI │ │ │ +00002c50: 5350 4c41 5920 4e65 6761 7469 7665 2e66 SPLAY Negative.f │ │ │ +00002c60: 726f 6d4e 6567 205f 206e 203d 2066 726f romNeg _ n = fro │ │ │ +00002c70: 6d4e 6567 206e 2023 2d7d 0afc d8ea ea95 mNeg n #-}...... │ │ │ +00002c80: c1fa faad 01d6 cbb2 f9de bbd4 9962 0064 .............b.d │ │ │ +00002c90: 0000 2cb6 0520 0000 0100 0404 0803 0702 ..,.. .......... │ │ │ +00002ca0: 5e02 0000 030f 0005 0505 0b5f 0b65 0b61 ^.........._.e.a │ │ │ +00002cb0: 0906 0100 c503 d0ab fec6 e4e8 dddf c201 ................ │ │ │ +00002cc0: f389 c5a4 97aa aeaf a401 0065 0000 2ead ...........e.... │ │ │ +00002cd0: 0582 8080 e608 0000 0100 0304 0704 0200 ................ │ │ │ +00002ce0: 0003 0f00 0901 c503 7b2d 2320 4f50 5449 ........{-# OPTI │ │ │ +00002cf0: 4f4e 5320 2d2d 6375 6269 6361 6c2d 636f ONS --cubical-co │ │ │ +00002d00: 6d70 6174 6962 6c65 202d 2d73 6166 6520 mpatible --safe │ │ │ +00002d10: 2d2d 6e6f 2d73 697a 6564 2d74 7970 6573 --no-sized-types │ │ │ +00002d20: 202d 2d6e 6f2d 6775 6172 6465 646e 6573 --no-guardednes │ │ │ +00002d30: 7320 2d2d 6c65 7665 6c2d 756e 6976 6572 s --level-univer │ │ │ +00002d40: 7365 2023 2d7d 0a0a 6d6f 6475 6c65 2041 se #-}..module A │ │ │ +00002d50: 6764 612e 4275 696c 7469 6e2e 4672 6f6d gda.Builtin.From │ │ │ +00002d60: 4e61 7420 7768 6572 650a 0a6f 7065 6e20 Nat where..open │ │ │ +00002d70: 696d 706f 7274 2041 6764 612e 5072 696d import Agda.Prim │ │ │ +00002d80: 6974 6976 650a 6f70 656e 2069 6d70 6f72 itive.open impor │ │ │ +00002d90: 7420 4167 6461 2e42 7569 6c74 696e 2e4e t Agda.Builtin.N │ │ │ +00002da0: 6174 0a0a 7265 636f 7264 204e 756d 6265 at..record Numbe │ │ │ +00002db0: 7220 7b61 7d20 2841 203a 2053 6574 2061 r {a} (A : Set a │ │ │ +00002dc0: 2920 3a20 5365 7420 286c 7375 6320 6129 ) : Set (lsuc a) │ │ │ +00002dd0: 2077 6865 7265 0a20 2066 6965 6c64 0a20 where. field. │ │ │ +00002de0: 2020 2043 6f6e 7374 7261 696e 7420 3a20 Constraint : │ │ │ +00002df0: 4e61 7420 e286 9220 5365 7420 610a 2020 Nat ... Set a. │ │ │ +00002e00: 2020 6672 6f6d 4e61 7420 3a20 e288 8020 fromNat : ... │ │ │ +00002e10: 6e20 e286 9220 7b7b 5f20 3a20 436f 6e73 n ... {{_ : Cons │ │ │ +00002e20: 7472 6169 6e74 206e 7d7d 20e2 8692 2041 traint n}} ... A │ │ │ +00002e30: 0a0a 6f70 656e 204e 756d 6265 7220 7b7b ..open Number {{ │ │ │ +00002e40: 2e2e 2e7d 7d20 7075 626c 6963 2075 7369 ...}} public usi │ │ │ +00002e50: 6e67 2028 6672 6f6d 4e61 7429 0a0a 7b2d ng (fromNat)..{- │ │ │ +00002e60: 2320 4255 494c 5449 4e20 4652 4f4d 4e41 # BUILTIN FROMNA │ │ │ +00002e70: 5420 6672 6f6d 4e61 7420 232d 7d0a 7b2d T fromNat #-}.{- │ │ │ +00002e80: 2320 4449 5350 4c41 5920 4e75 6d62 6572 # DISPLAY Number │ │ │ +00002e90: 2e66 726f 6d4e 6174 205f 206e 203d 2066 .fromNat _ n = f │ │ │ +00002ea0: 726f 6d4e 6174 206e 2023 2d7d 0ad0 dee4 romNat n #-}.... │ │ │ +00002eb0: 8a9d 87f9 d77a abb8 f9fe 9d85 91e5 6800 .....z........h. │ │ │ +00002ec0: 6600 002e e705 2000 0001 0004 0408 0307 f..... ......... │ │ │ +00002ed0: 025e 0200 0003 0f00 0505 050b 5f0b 670b .^.........._.g. │ │ │ +00002ee0: 6109 0601 00bc 02a2 dc85 cfc7 de8c ee92 a............... │ │ │ +00002ef0: 018b 89de 93ed 8ab3 9820 0067 0000 3054 ......... .g..0T │ │ │ +00002f00: 0582 8080 e608 0000 0100 0304 0704 0200 ................ │ │ │ +00002f10: 0003 0f00 0901 bc02 7b2d 2320 4f50 5449 ........{-# OPTI │ │ │ +00002f20: 4f4e 5320 2d2d 6375 6269 6361 6c2d 636f ONS --cubical-co │ │ │ +00002f30: 6d70 6174 6962 6c65 202d 2d73 6166 6520 mpatible --safe │ │ │ +00002f40: 2d2d 6e6f 2d73 697a 6564 2d74 7970 6573 --no-sized-types │ │ │ +00002f50: 202d 2d6e 6f2d 6775 6172 6465 646e 6573 --no-guardednes │ │ │ +00002f60: 7320 2d2d 6c65 7665 6c2d 756e 6976 6572 s --level-univer │ │ │ +00002f70: 7365 2023 2d7d 0a0a 6d6f 6475 6c65 2041 se #-}..module A │ │ │ +00002f80: 6764 612e 4275 696c 7469 6e2e 466c 6f61 gda.Builtin.Floa │ │ │ +00002f90: 742e 5072 6f70 6572 7469 6573 2077 6865 t.Properties whe │ │ │ +00002fa0: 7265 0a0a 6f70 656e 2069 6d70 6f72 7420 re..open import │ │ │ +00002fb0: 4167 6461 2e42 7569 6c74 696e 2e46 6c6f Agda.Builtin.Flo │ │ │ +00002fc0: 6174 0a6f 7065 6e20 696d 706f 7274 2041 at.open import A │ │ │ +00002fd0: 6764 612e 4275 696c 7469 6e2e 4571 7561 gda.Builtin.Equa │ │ │ +00002fe0: 6c69 7479 0a0a 7072 696d 6974 6976 650a lity..primitive. │ │ │ +00002ff0: 0a20 2070 7269 6d46 6c6f 6174 546f 576f . primFloatToWo │ │ │ +00003000: 7264 3634 496e 6a65 6374 6976 6520 3a20 rd64Injective : │ │ │ +00003010: e288 8020 6120 6220 e286 9220 7072 696d ... a b ... prim │ │ │ +00003020: 466c 6f61 7454 6f57 6f72 6436 3420 6120 FloatToWord64 a │ │ │ +00003030: e289 a120 7072 696d 466c 6f61 7454 6f57 ... primFloatToW │ │ │ +00003040: 6f72 6436 3420 6220 e286 9220 6120 e289 ord64 b ... a .. │ │ │ +00003050: a120 620a d796 c1f7 86ea c4c7 05c8 cbc3 . b............. │ │ │ +00003060: b3a5 80f9 8e8e 0100 6800 0030 8f05 2000 ........h..0.. . │ │ │ +00003070: 0001 0004 0408 0307 025e 0200 0003 0f00 .........^...... │ │ │ +00003080: 0505 050b 5f0b 690b 6109 0601 00aa 3293 ...._.i.a.....2. │ │ │ +00003090: e595 a6bf a1d9 8339 93ef bacc 8ffa dfc7 .......9........ │ │ │ +000030a0: 1c00 6900 0049 e905 8280 80e6 0800 0001 ..i..I.......... │ │ │ +000030b0: 0003 0407 0402 0000 030f 0009 01aa 327b ..............2{ │ │ │ +000030c0: 2d23 204f 5054 494f 4e53 202d 2d63 7562 -# OPTIONS --cub │ │ │ +000030d0: 6963 616c 2d63 6f6d 7061 7469 626c 6520 ical-compatible │ │ │ +000030e0: 2d2d 7361 6665 202d 2d6e 6f2d 7369 7a65 --safe --no-size │ │ │ +000030f0: 642d 7479 7065 7320 2d2d 6e6f 2d67 7561 d-types --no-gua │ │ │ +00003100: 7264 6564 6e65 7373 202d 2d6c 6576 656c rdedness --level │ │ │ +00003110: 2d75 6e69 7665 7273 6520 232d 7d0a 0a6d -universe #-}..m │ │ │ +00003120: 6f64 756c 6520 4167 6461 2e42 7569 6c74 odule Agda.Built │ │ │ +00003130: 696e 2e46 6c6f 6174 2077 6865 7265 0a0a in.Float where.. │ │ │ +00003140: 6f70 656e 2069 6d70 6f72 7420 4167 6461 open import Agda │ │ │ +00003150: 2e42 7569 6c74 696e 2e42 6f6f 6c0a 6f70 .Builtin.Bool.op │ │ │ +00003160: 656e 2069 6d70 6f72 7420 4167 6461 2e42 en import Agda.B │ │ │ +00003170: 7569 6c74 696e 2e49 6e74 0a6f 7065 6e20 uiltin.Int.open │ │ │ +00003180: 696d 706f 7274 2041 6764 612e 4275 696c import Agda.Buil │ │ │ +00003190: 7469 6e2e 4d61 7962 650a 6f70 656e 2069 tin.Maybe.open i │ │ │ +000031a0: 6d70 6f72 7420 4167 6461 2e42 7569 6c74 mport Agda.Built │ │ │ +000031b0: 696e 2e4e 6174 0a6f 7065 6e20 696d 706f in.Nat.open impo │ │ │ +000031c0: 7274 2041 6764 612e 4275 696c 7469 6e2e rt Agda.Builtin. │ │ │ +000031d0: 5369 676d 610a 6f70 656e 2069 6d70 6f72 Sigma.open impor │ │ │ +000031e0: 7420 4167 6461 2e42 7569 6c74 696e 2e53 t Agda.Builtin.S │ │ │ +000031f0: 7472 696e 670a 6f70 656e 2069 6d70 6f72 tring.open impor │ │ │ +00003200: 7420 4167 6461 2e42 7569 6c74 696e 2e57 t Agda.Builtin.W │ │ │ +00003210: 6f72 640a 0a70 6f73 7475 6c61 7465 2046 ord..postulate F │ │ │ +00003220: 6c6f 6174 203a 2053 6574 0a7b 2d23 2042 loat : Set.{-# B │ │ │ +00003230: 5549 4c54 494e 2046 4c4f 4154 2046 6c6f UILTIN FLOAT Flo │ │ │ +00003240: 6174 2023 2d7d 0a0a 7072 696d 6974 6976 at #-}..primitiv │ │ │ +00003250: 650a 2020 2d2d 2052 656c 6174 696f 6e73 e. -- Relations │ │ │ +00003260: 0a20 2070 7269 6d46 6c6f 6174 496e 6571 . primFloatIneq │ │ │ +00003270: 7561 6c69 7479 2020 2020 2020 2020 3a20 uality : │ │ │ +00003280: 466c 6f61 7420 e286 9220 466c 6f61 7420 Float ... Float │ │ │ +00003290: e286 9220 426f 6f6c 0a20 2070 7269 6d46 ... Bool. primF │ │ │ +000032a0: 6c6f 6174 4571 7561 6c69 7479 2020 2020 loatEquality │ │ │ +000032b0: 2020 2020 2020 3a20 466c 6f61 7420 e286 : Float .. │ │ │ +000032c0: 9220 466c 6f61 7420 e286 9220 426f 6f6c . Float ... Bool │ │ │ +000032d0: 0a20 2070 7269 6d46 6c6f 6174 4c65 7373 . primFloatLess │ │ │ +000032e0: 2020 2020 2020 2020 2020 2020 2020 3a20 : │ │ │ +000032f0: 466c 6f61 7420 e286 9220 466c 6f61 7420 Float ... Float │ │ │ +00003300: e286 9220 426f 6f6c 0a20 2070 7269 6d46 ... Bool. primF │ │ │ +00003310: 6c6f 6174 4973 496e 6669 6e69 7465 2020 loatIsInfinite │ │ │ +00003320: 2020 2020 2020 3a20 466c 6f61 7420 e286 : Float .. │ │ │ +00003330: 9220 426f 6f6c 0a20 2070 7269 6d46 6c6f . Bool. primFlo │ │ │ +00003340: 6174 4973 4e61 4e20 2020 2020 2020 2020 atIsNaN │ │ │ +00003350: 2020 2020 3a20 466c 6f61 7420 e286 9220 : Float ... │ │ │ +00003360: 426f 6f6c 0a20 2070 7269 6d46 6c6f 6174 Bool. primFloat │ │ │ +00003370: 4973 4e65 6761 7469 7665 5a65 726f 2020 IsNegativeZero │ │ │ +00003380: 2020 3a20 466c 6f61 7420 e286 9220 426f : Float ... Bo │ │ │ +00003390: 6f6c 0a20 2070 7269 6d46 6c6f 6174 4973 ol. primFloatIs │ │ │ +000033a0: 5361 6665 496e 7465 6765 7220 2020 2020 SafeInteger │ │ │ +000033b0: 3a20 466c 6f61 7420 e286 9220 426f 6f6c : Float ... Bool │ │ │ +000033c0: 0a20 202d 2d20 436f 6e76 6572 7369 6f6e . -- Conversion │ │ │ +000033d0: 730a 2020 7072 696d 466c 6f61 7454 6f57 s. primFloatToW │ │ │ +000033e0: 6f72 6436 3420 2020 2020 2020 2020 203a ord64 : │ │ │ +000033f0: 2046 6c6f 6174 20e2 8692 204d 6179 6265 Float ... Maybe │ │ │ +00003400: 2057 6f72 6436 340a 2020 7072 696d 4e61 Word64. primNa │ │ │ +00003410: 7454 6f46 6c6f 6174 2020 2020 2020 2020 tToFloat │ │ │ +00003420: 2020 2020 203a 204e 6174 20e2 8692 2046 : Nat ... F │ │ │ +00003430: 6c6f 6174 0a20 2070 7269 6d49 6e74 546f loat. primIntTo │ │ │ +00003440: 466c 6f61 7420 2020 2020 2020 2020 2020 Float │ │ │ +00003450: 2020 3a20 496e 7420 e286 9220 466c 6f61 : Int ... Floa │ │ │ +00003460: 740a 2020 7072 696d 466c 6f61 7452 6f75 t. primFloatRou │ │ │ +00003470: 6e64 2020 2020 2020 2020 2020 2020 203a nd : │ │ │ +00003480: 2046 6c6f 6174 20e2 8692 204d 6179 6265 Float ... Maybe │ │ │ +00003490: 2049 6e74 0a20 2070 7269 6d46 6c6f 6174 Int. primFloat │ │ │ +000034a0: 466c 6f6f 7220 2020 2020 2020 2020 2020 Floor │ │ │ +000034b0: 2020 3a20 466c 6f61 7420 e286 9220 4d61 : Float ... Ma │ │ │ +000034c0: 7962 6520 496e 740a 2020 7072 696d 466c ybe Int. primFl │ │ │ +000034d0: 6f61 7443 6569 6c69 6e67 2020 2020 2020 oatCeiling │ │ │ +000034e0: 2020 2020 203a 2046 6c6f 6174 20e2 8692 : Float ... │ │ │ +000034f0: 204d 6179 6265 2049 6e74 0a20 2070 7269 Maybe Int. pri │ │ │ +00003500: 6d46 6c6f 6174 546f 5261 7469 6f20 2020 mFloatToRatio │ │ │ +00003510: 2020 2020 2020 2020 3a20 466c 6f61 7420 : Float │ │ │ +00003520: e286 9220 28ce a320 496e 7420 cebb 205f ... (.. Int .. _ │ │ │ +00003530: 20e2 8692 2049 6e74 290a 2020 7072 696d ... Int). prim │ │ │ +00003540: 5261 7469 6f54 6f46 6c6f 6174 2020 2020 RatioToFloat │ │ │ +00003550: 2020 2020 2020 203a 2049 6e74 20e2 8692 : Int ... │ │ │ +00003560: 2049 6e74 20e2 8692 2046 6c6f 6174 0a20 Int ... Float. │ │ │ +00003570: 2070 7269 6d46 6c6f 6174 4465 636f 6465 primFloatDecode │ │ │ +00003580: 2020 2020 2020 2020 2020 2020 3a20 466c : Fl │ │ │ +00003590: 6f61 7420 e286 9220 4d61 7962 6520 28ce oat ... Maybe (. │ │ │ +000035a0: a320 496e 7420 cebb 205f 20e2 8692 2049 . Int .. _ ... I │ │ │ +000035b0: 6e74 290a 2020 7072 696d 466c 6f61 7445 nt). primFloatE │ │ │ +000035c0: 6e63 6f64 6520 2020 2020 2020 2020 2020 ncode │ │ │ +000035d0: 203a 2049 6e74 20e2 8692 2049 6e74 20e2 : Int ... Int . │ │ │ +000035e0: 8692 204d 6179 6265 2046 6c6f 6174 0a20 .. Maybe Float. │ │ │ +000035f0: 2070 7269 6d53 686f 7746 6c6f 6174 2020 primShowFloat │ │ │ +00003600: 2020 2020 2020 2020 2020 2020 3a20 466c : Fl │ │ │ +00003610: 6f61 7420 e286 9220 5374 7269 6e67 0a20 oat ... String. │ │ │ +00003620: 202d 2d20 4f70 6572 6174 696f 6e73 0a20 -- Operations. │ │ │ +00003630: 2070 7269 6d46 6c6f 6174 506c 7573 2020 primFloatPlus │ │ │ +00003640: 2020 2020 2020 2020 2020 2020 3a20 466c : Fl │ │ │ +00003650: 6f61 7420 e286 9220 466c 6f61 7420 e286 oat ... Float .. │ │ │ +00003660: 9220 466c 6f61 740a 2020 7072 696d 466c . Float. primFl │ │ │ +00003670: 6f61 744d 696e 7573 2020 2020 2020 2020 oatMinus │ │ │ +00003680: 2020 2020 203a 2046 6c6f 6174 20e2 8692 : Float ... │ │ │ +00003690: 2046 6c6f 6174 20e2 8692 2046 6c6f 6174 Float ... Float │ │ │ +000036a0: 0a20 2070 7269 6d46 6c6f 6174 5469 6d65 . primFloatTime │ │ │ +000036b0: 7320 2020 2020 2020 2020 2020 2020 3a20 s : │ │ │ +000036c0: 466c 6f61 7420 e286 9220 466c 6f61 7420 Float ... Float │ │ │ +000036d0: e286 9220 466c 6f61 740a 2020 7072 696d ... Float. prim │ │ │ +000036e0: 466c 6f61 7444 6976 2020 2020 2020 2020 FloatDiv │ │ │ +000036f0: 2020 2020 2020 203a 2046 6c6f 6174 20e2 : Float . │ │ │ +00003700: 8692 2046 6c6f 6174 20e2 8692 2046 6c6f .. Float ... Flo │ │ │ +00003710: 6174 0a20 2070 7269 6d46 6c6f 6174 506f at. primFloatPo │ │ │ +00003720: 7720 2020 2020 2020 2020 2020 2020 2020 w │ │ │ +00003730: 3a20 466c 6f61 7420 e286 9220 466c 6f61 : Float ... Floa │ │ │ +00003740: 7420 e286 9220 466c 6f61 740a 2020 7072 t ... Float. pr │ │ │ +00003750: 696d 466c 6f61 744e 6567 6174 6520 2020 imFloatNegate │ │ │ +00003760: 2020 2020 2020 2020 203a 2046 6c6f 6174 : Float │ │ │ +00003770: 20e2 8692 2046 6c6f 6174 0a20 2070 7269 ... Float. pri │ │ │ +00003780: 6d46 6c6f 6174 5371 7274 2020 2020 2020 mFloatSqrt │ │ │ +00003790: 2020 2020 2020 2020 3a20 466c 6f61 7420 : Float │ │ │ +000037a0: e286 9220 466c 6f61 740a 2020 7072 696d ... Float. prim │ │ │ +000037b0: 466c 6f61 7445 7870 2020 2020 2020 2020 FloatExp │ │ │ +000037c0: 2020 2020 2020 203a 2046 6c6f 6174 20e2 : Float . │ │ │ +000037d0: 8692 2046 6c6f 6174 0a20 2070 7269 6d46 .. Float. primF │ │ │ +000037e0: 6c6f 6174 4c6f 6720 2020 2020 2020 2020 loatLog │ │ │ +000037f0: 2020 2020 2020 3a20 466c 6f61 7420 e286 : Float .. │ │ │ +00003800: 9220 466c 6f61 740a 2020 7072 696d 466c . Float. primFl │ │ │ +00003810: 6f61 7453 696e 2020 2020 2020 2020 2020 oatSin │ │ │ +00003820: 2020 2020 203a 2046 6c6f 6174 20e2 8692 : Float ... │ │ │ +00003830: 2046 6c6f 6174 0a20 2070 7269 6d46 6c6f Float. primFlo │ │ │ +00003840: 6174 436f 7320 2020 2020 2020 2020 2020 atCos │ │ │ +00003850: 2020 2020 3a20 466c 6f61 7420 e286 9220 : Float ... │ │ │ +00003860: 466c 6f61 740a 2020 7072 696d 466c 6f61 Float. primFloa │ │ │ +00003870: 7454 616e 2020 2020 2020 2020 2020 2020 tTan │ │ │ +00003880: 2020 203a 2046 6c6f 6174 20e2 8692 2046 : Float ... F │ │ │ +00003890: 6c6f 6174 0a20 2070 7269 6d46 6c6f 6174 loat. primFloat │ │ │ +000038a0: 4153 696e 2020 2020 2020 2020 2020 2020 ASin │ │ │ +000038b0: 2020 3a20 466c 6f61 7420 e286 9220 466c : Float ... Fl │ │ │ +000038c0: 6f61 740a 2020 7072 696d 466c 6f61 7441 oat. primFloatA │ │ │ +000038d0: 436f 7320 2020 2020 2020 2020 2020 2020 Cos │ │ │ +000038e0: 203a 2046 6c6f 6174 20e2 8692 2046 6c6f : Float ... Flo │ │ │ +000038f0: 6174 0a20 2070 7269 6d46 6c6f 6174 4154 at. primFloatAT │ │ │ +00003900: 616e 2020 2020 2020 2020 2020 2020 2020 an │ │ │ +00003910: 3a20 466c 6f61 7420 e286 9220 466c 6f61 : Float ... Floa │ │ │ +00003920: 740a 2020 7072 696d 466c 6f61 7441 5461 t. primFloatATa │ │ │ +00003930: 6e32 2020 2020 2020 2020 2020 2020 203a n2 : │ │ │ +00003940: 2046 6c6f 6174 20e2 8692 2046 6c6f 6174 Float ... Float │ │ │ +00003950: 20e2 8692 2046 6c6f 6174 0a20 2070 7269 ... Float. pri │ │ │ +00003960: 6d46 6c6f 6174 5369 6e68 2020 2020 2020 mFloatSinh │ │ │ +00003970: 2020 2020 2020 2020 3a20 466c 6f61 7420 : Float │ │ │ +00003980: e286 9220 466c 6f61 740a 2020 7072 696d ... Float. prim │ │ │ +00003990: 466c 6f61 7443 6f73 6820 2020 2020 2020 FloatCosh │ │ │ +000039a0: 2020 2020 2020 203a 2046 6c6f 6174 20e2 : Float . │ │ │ +000039b0: 8692 2046 6c6f 6174 0a20 2070 7269 6d46 .. Float. primF │ │ │ +000039c0: 6c6f 6174 5461 6e68 2020 2020 2020 2020 loatTanh │ │ │ +000039d0: 2020 2020 2020 3a20 466c 6f61 7420 e286 : Float .. │ │ │ +000039e0: 9220 466c 6f61 740a 2020 7072 696d 466c . Float. primFl │ │ │ +000039f0: 6f61 7441 5369 6e68 2020 2020 2020 2020 oatASinh │ │ │ +00003a00: 2020 2020 203a 2046 6c6f 6174 20e2 8692 : Float ... │ │ │ +00003a10: 2046 6c6f 6174 0a20 2070 7269 6d46 6c6f Float. primFlo │ │ │ +00003a20: 6174 4143 6f73 6820 2020 2020 2020 2020 atACosh │ │ │ +00003a30: 2020 2020 3a20 466c 6f61 7420 e286 9220 : Float ... │ │ │ +00003a40: 466c 6f61 740a 2020 7072 696d 466c 6f61 Float. primFloa │ │ │ +00003a50: 7441 5461 6e68 2020 2020 2020 2020 2020 tATanh │ │ │ +00003a60: 2020 203a 2046 6c6f 6174 20e2 8692 2046 : Float ... F │ │ │ +00003a70: 6c6f 6174 0a0a 7b2d 2320 434f 4d50 494c loat..{-# COMPIL │ │ │ +00003a80: 4520 4a53 0a20 2020 2070 7269 6d46 6c6f E JS. primFlo │ │ │ +00003a90: 6174 526f 756e 6420 3d20 6675 6e63 7469 atRound = functi │ │ │ +00003aa0: 6f6e 2878 2920 7b0a 2020 2020 2020 2020 on(x) {. │ │ │ +00003ab0: 7820 3d20 6167 6461 5254 532e 5f70 7269 x = agdaRTS._pri │ │ │ +00003ac0: 6d46 6c6f 6174 526f 756e 6428 7829 3b0a mFloatRound(x);. │ │ │ +00003ad0: 2020 2020 2020 2020 6966 2028 7820 3d3d if (x == │ │ │ +00003ae0: 3d20 6e75 6c6c 2920 7b0a 2020 2020 2020 = null) {. │ │ │ +00003af0: 2020 2020 2020 7265 7475 726e 207a 5f6a return z_j │ │ │ +00003b00: 4167 6461 5f41 6764 615f 4275 696c 7469 Agda_Agda_Builti │ │ │ +00003b10: 6e5f 4d61 7962 655b 224d 6179 6265 225d n_Maybe["Maybe"] │ │ │ +00003b20: 5b22 6e6f 7468 696e 6722 5d3b 0a20 2020 ["nothing"];. │ │ │ +00003b30: 2020 2020 207d 0a20 2020 2020 2020 2065 }. e │ │ │ +00003b40: 6c73 6520 7b0a 2020 2020 2020 2020 2020 lse {. │ │ │ +00003b50: 2020 7265 7475 726e 207a 5f6a 4167 6461 return z_jAgda │ │ │ +00003b60: 5f41 6764 615f 4275 696c 7469 6e5f 4d61 _Agda_Builtin_Ma │ │ │ +00003b70: 7962 655b 224d 6179 6265 225d 5b22 6a75 ybe["Maybe"]["ju │ │ │ +00003b80: 7374 225d 2878 293b 0a20 2020 2020 2020 st"](x);. │ │ │ +00003b90: 207d 0a20 2020 207d 3b0a 232d 7d0a 7b2d }. };.#-}.{- │ │ │ +00003ba0: 2320 434f 4d50 494c 4520 4a53 0a20 2020 # COMPILE JS. │ │ │ +00003bb0: 2070 7269 6d46 6c6f 6174 466c 6f6f 7220 primFloatFloor │ │ │ +00003bc0: 3d20 6675 6e63 7469 6f6e 2878 2920 7b0a = function(x) {. │ │ │ +00003bd0: 2020 2020 2020 2020 7820 3d20 6167 6461 x = agda │ │ │ +00003be0: 5254 532e 5f70 7269 6d46 6c6f 6174 466c RTS._primFloatFl │ │ │ +00003bf0: 6f6f 7228 7829 3b0a 2020 2020 2020 2020 oor(x);. │ │ │ +00003c00: 6966 2028 7820 3d3d 3d20 6e75 6c6c 2920 if (x === null) │ │ │ +00003c10: 7b0a 2020 2020 2020 2020 2020 2020 7265 {. re │ │ │ +00003c20: 7475 726e 207a 5f6a 4167 6461 5f41 6764 turn z_jAgda_Agd │ │ │ +00003c30: 615f 4275 696c 7469 6e5f 4d61 7962 655b a_Builtin_Maybe[ │ │ │ +00003c40: 224d 6179 6265 225d 5b22 6e6f 7468 696e "Maybe"]["nothin │ │ │ +00003c50: 6722 5d3b 0a20 2020 2020 2020 207d 0a20 g"];. }. │ │ │ +00003c60: 2020 2020 2020 2065 6c73 6520 7b0a 2020 else {. │ │ │ +00003c70: 2020 2020 2020 2020 2020 7265 7475 726e return │ │ │ +00003c80: 207a 5f6a 4167 6461 5f41 6764 615f 4275 z_jAgda_Agda_Bu │ │ │ +00003c90: 696c 7469 6e5f 4d61 7962 655b 224d 6179 iltin_Maybe["May │ │ │ +00003ca0: 6265 225d 5b22 6a75 7374 225d 2878 293b be"]["just"](x); │ │ │ +00003cb0: 0a20 2020 2020 2020 207d 0a20 2020 207d . }. } │ │ │ +00003cc0: 3b0a 232d 7d0a 7b2d 2320 434f 4d50 494c ;.#-}.{-# COMPIL │ │ │ +00003cd0: 4520 4a53 0a20 2020 2070 7269 6d46 6c6f E JS. primFlo │ │ │ +00003ce0: 6174 4365 696c 696e 6720 3d20 6675 6e63 atCeiling = func │ │ │ +00003cf0: 7469 6f6e 2878 2920 7b0a 2020 2020 2020 tion(x) {. │ │ │ +00003d00: 2020 7820 3d20 6167 6461 5254 532e 5f70 x = agdaRTS._p │ │ │ +00003d10: 7269 6d46 6c6f 6174 4365 696c 696e 6728 rimFloatCeiling( │ │ │ +00003d20: 7829 3b0a 2020 2020 2020 2020 6966 2028 x);. if ( │ │ │ +00003d30: 7820 3d3d 3d20 6e75 6c6c 2920 7b0a 2020 x === null) {. │ │ │ +00003d40: 2020 2020 2020 2020 2020 7265 7475 726e return │ │ │ +00003d50: 207a 5f6a 4167 6461 5f41 6764 615f 4275 z_jAgda_Agda_Bu │ │ │ +00003d60: 696c 7469 6e5f 4d61 7962 655b 224d 6179 iltin_Maybe["May │ │ │ +00003d70: 6265 225d 5b22 6e6f 7468 696e 6722 5d3b be"]["nothing"]; │ │ │ +00003d80: 0a20 2020 2020 2020 207d 0a20 2020 2020 . }. │ │ │ +00003d90: 2020 2065 6c73 6520 7b0a 2020 2020 2020 else {. │ │ │ +00003da0: 2020 2020 2020 7265 7475 726e 207a 5f6a return z_j │ │ │ +00003db0: 4167 6461 5f41 6764 615f 4275 696c 7469 Agda_Agda_Builti │ │ │ +00003dc0: 6e5f 4d61 7962 655b 224d 6179 6265 225d n_Maybe["Maybe"] │ │ │ +00003dd0: 5b22 6a75 7374 225d 2878 293b 0a20 2020 ["just"](x);. │ │ │ +00003de0: 2020 2020 207d 0a20 2020 207d 3b0a 232d }. };.#- │ │ │ +00003df0: 7d0a 7b2d 2320 434f 4d50 494c 4520 4a53 }.{-# COMPILE JS │ │ │ +00003e00: 0a20 2020 2070 7269 6d46 6c6f 6174 546f . primFloatTo │ │ │ +00003e10: 5261 7469 6f20 3d20 6675 6e63 7469 6f6e Ratio = function │ │ │ +00003e20: 2878 2920 7b0a 2020 2020 2020 2020 7820 (x) {. x │ │ │ +00003e30: 3d20 6167 6461 5254 532e 5f70 7269 6d46 = agdaRTS._primF │ │ │ +00003e40: 6c6f 6174 546f 5261 7469 6f28 7829 3b0a loatToRatio(x);. │ │ │ +00003e50: 2020 2020 2020 2020 7265 7475 726e 207a return z │ │ │ +00003e60: 5f6a 4167 6461 5f41 6764 615f 4275 696c _jAgda_Agda_Buil │ │ │ +00003e70: 7469 6e5f 5369 676d 615b 225f 2c5f 225d tin_Sigma["_,_"] │ │ │ +00003e80: 2878 2e6e 756d 6572 6174 6f72 2928 782e (x.numerator)(x. │ │ │ +00003e90: 6465 6e6f 6d69 6e61 746f 7229 3b0a 2020 denominator);. │ │ │ +00003ea0: 2020 7d3b 0a23 2d7d 0a7b 2d23 2043 4f4d };.#-}.{-# COM │ │ │ +00003eb0: 5049 4c45 204a 530a 2020 2020 7072 696d PILE JS. prim │ │ │ +00003ec0: 466c 6f61 7444 6563 6f64 6520 3d20 6675 FloatDecode = fu │ │ │ +00003ed0: 6e63 7469 6f6e 2878 2920 7b0a 2020 2020 nction(x) {. │ │ │ +00003ee0: 2020 2020 7820 3d20 6167 6461 5254 532e x = agdaRTS. │ │ │ +00003ef0: 5f70 7269 6d46 6c6f 6174 4465 636f 6465 _primFloatDecode │ │ │ +00003f00: 2878 293b 0a20 2020 2020 2020 2069 6620 (x);. if │ │ │ +00003f10: 2878 203d 3d3d 206e 756c 6c29 207b 0a20 (x === null) {. │ │ │ +00003f20: 2020 2020 2020 2020 2020 2072 6574 7572 retur │ │ │ +00003f30: 6e20 7a5f 6a41 6764 615f 4167 6461 5f42 n z_jAgda_Agda_B │ │ │ +00003f40: 7569 6c74 696e 5f4d 6179 6265 5b22 4d61 uiltin_Maybe["Ma │ │ │ +00003f50: 7962 6522 5d5b 226e 6f74 6869 6e67 225d ybe"]["nothing"] │ │ │ +00003f60: 3b0a 2020 2020 2020 2020 7d0a 2020 2020 ;. }. │ │ │ +00003f70: 2020 2020 656c 7365 207b 0a20 2020 2020 else {. │ │ │ +00003f80: 2020 2020 2020 2072 6574 7572 6e20 7a5f return z_ │ │ │ +00003f90: 6a41 6764 615f 4167 6461 5f42 7569 6c74 jAgda_Agda_Built │ │ │ +00003fa0: 696e 5f4d 6179 6265 5b22 4d61 7962 6522 in_Maybe["Maybe" │ │ │ +00003fb0: 5d5b 226a 7573 7422 5d28 0a20 2020 2020 ]["just"](. │ │ │ +00003fc0: 2020 2020 2020 2020 2020 207a 5f6a 4167 z_jAg │ │ │ +00003fd0: 6461 5f41 6764 615f 4275 696c 7469 6e5f da_Agda_Builtin_ │ │ │ +00003fe0: 5369 676d 615b 225f 2c5f 225d 2878 2e6d Sigma["_,_"](x.m │ │ │ +00003ff0: 616e 7469 7373 6129 2878 2e65 7870 6f6e antissa)(x.expon │ │ │ +00004000: 656e 7429 293b 0a20 2020 2020 2020 207d ent));. } │ │ │ +00004010: 0a20 2020 207d 3b0a 232d 7d0a 7b2d 2320 . };.#-}.{-# │ │ │ +00004020: 434f 4d50 494c 4520 4a53 0a20 2020 2070 COMPILE JS. p │ │ │ +00004030: 7269 6d46 6c6f 6174 456e 636f 6465 203d rimFloatEncode = │ │ │ +00004040: 2066 756e 6374 696f 6e28 7829 207b 0a20 function(x) {. │ │ │ +00004050: 2020 2020 2020 2072 6574 7572 6e20 6675 return fu │ │ │ +00004060: 6e63 7469 6f6e 2028 7929 207b 0a20 2020 nction (y) {. │ │ │ +00004070: 2020 2020 2020 2020 2078 203d 2061 6764 x = agd │ │ │ +00004080: 6152 5453 2e75 7072 696d 466c 6f61 7445 aRTS.uprimFloatE │ │ │ +00004090: 6e63 6f64 6528 782c 2079 293b 0a20 2020 ncode(x, y);. │ │ │ +000040a0: 2020 2020 2020 2020 2069 6620 2878 203d if (x = │ │ │ +000040b0: 3d3d 206e 756c 6c29 207b 0a20 2020 2020 == null) {. │ │ │ +000040c0: 2020 2020 2020 2020 2020 2072 6574 7572 retur │ │ │ +000040d0: 6e20 7a5f 6a41 6764 615f 4167 6461 5f42 n z_jAgda_Agda_B │ │ │ +000040e0: 7569 6c74 696e 5f4d 6179 6265 5b22 4d61 uiltin_Maybe["Ma │ │ │ +000040f0: 7962 6522 5d5b 226e 6f74 6869 6e67 225d ybe"]["nothing"] │ │ │ +00004100: 3b0a 2020 2020 2020 2020 2020 2020 7d0a ;. }. │ │ │ +00004110: 2020 2020 2020 2020 2020 2020 656c 7365 else │ │ │ +00004120: 207b 0a20 2020 2020 2020 2020 2020 2020 {. │ │ │ +00004130: 2020 2072 6574 7572 6e20 7a5f 6a41 6764 return z_jAgd │ │ │ +00004140: 615f 4167 6461 5f42 7569 6c74 696e 5f4d a_Agda_Builtin_M │ │ │ +00004150: 6179 6265 5b22 4d61 7962 6522 5d5b 226a aybe["Maybe"]["j │ │ │ +00004160: 7573 7422 5d28 7829 3b0a 2020 2020 2020 ust"](x);. │ │ │ +00004170: 2020 2020 2020 7d0a 2020 2020 2020 2020 }. │ │ │ +00004180: 7d0a 2020 2020 7d3b 0a23 2d7d 0a0a 7072 }. };.#-}..pr │ │ │ +00004190: 696d 466c 6f61 744e 756d 6572 6963 616c imFloatNumerical │ │ │ +000041a0: 4571 7561 6c69 7479 203d 2070 7269 6d46 Equality = primF │ │ │ +000041b0: 6c6f 6174 4571 7561 6c69 7479 0a7b 2d23 loatEquality.{-# │ │ │ +000041c0: 2057 4152 4e49 4e47 5f4f 4e5f 5553 4147 WARNING_ON_USAG │ │ │ +000041d0: 4520 7072 696d 466c 6f61 744e 756d 6572 E primFloatNumer │ │ │ +000041e0: 6963 616c 4571 7561 6c69 7479 0a22 5761 icalEquality."Wa │ │ │ +000041f0: 726e 696e 673a 2070 7269 6d46 6c6f 6174 rning: primFloat │ │ │ +00004200: 4e75 6d65 7269 6361 6c45 7175 616c 6974 NumericalEqualit │ │ │ +00004210: 7920 7761 7320 6465 7072 6563 6174 6564 y was deprecated │ │ │ +00004220: 2069 6e20 4167 6461 2076 322e 362e 322e in Agda v2.6.2. │ │ │ +00004230: 0a50 6c65 6173 6520 7573 6520 7072 696d .Please use prim │ │ │ +00004240: 466c 6f61 7445 7175 616c 6974 7920 696e FloatEquality in │ │ │ +00004250: 7374 6561 642e 220a 232d 7d0a 0a70 7269 stead.".#-}..pri │ │ │ +00004260: 6d46 6c6f 6174 4e75 6d65 7269 6361 6c4c mFloatNumericalL │ │ │ +00004270: 6573 7320 3d20 7072 696d 466c 6f61 744c ess = primFloatL │ │ │ +00004280: 6573 730a 7b2d 2320 5741 524e 494e 475f ess.{-# WARNING_ │ │ │ +00004290: 4f4e 5f55 5341 4745 2070 7269 6d46 6c6f ON_USAGE primFlo │ │ │ +000042a0: 6174 4e75 6d65 7269 6361 6c4c 6573 730a atNumericalLess. │ │ │ +000042b0: 2257 6172 6e69 6e67 3a20 7072 696d 466c "Warning: primFl │ │ │ +000042c0: 6f61 744e 756d 6572 6963 616c 4c65 7373 oatNumericalLess │ │ │ +000042d0: 2077 6173 2064 6570 7265 6361 7465 6420 was deprecated │ │ │ +000042e0: 696e 2041 6764 6120 7632 2e36 2e32 2e0a in Agda v2.6.2.. │ │ │ +000042f0: 506c 6561 7365 2075 7365 2070 7269 6d46 Please use primF │ │ │ +00004300: 6c6f 6174 4c65 7373 2069 6e73 7465 6164 loatLess instead │ │ │ +00004310: 2e22 0a23 2d7d 0a0a 7072 696d 526f 756e .".#-}..primRoun │ │ │ +00004320: 6420 3d20 7072 696d 466c 6f61 7452 6f75 d = primFloatRou │ │ │ +00004330: 6e64 0a7b 2d23 2057 4152 4e49 4e47 5f4f nd.{-# WARNING_O │ │ │ +00004340: 4e5f 5553 4147 4520 7072 696d 526f 756e N_USAGE primRoun │ │ │ +00004350: 640a 2257 6172 6e69 6e67 3a20 7072 696d d."Warning: prim │ │ │ +00004360: 526f 756e 6420 7761 7320 6465 7072 6563 Round was deprec │ │ │ +00004370: 6174 6564 2069 6e20 4167 6461 2076 322e ated in Agda v2. │ │ │ +00004380: 362e 322e 0a50 6c65 6173 6520 7573 6520 6.2..Please use │ │ │ +00004390: 7072 696d 466c 6f61 7452 6f75 6e64 2069 primFloatRound i │ │ │ +000043a0: 6e73 7465 6164 2e22 0a23 2d7d 0a0a 7072 nstead.".#-}..pr │ │ │ +000043b0: 696d 466c 6f6f 7220 3d20 7072 696d 466c imFloor = primFl │ │ │ +000043c0: 6f61 7446 6c6f 6f72 0a7b 2d23 2057 4152 oatFloor.{-# WAR │ │ │ +000043d0: 4e49 4e47 5f4f 4e5f 5553 4147 4520 7072 NING_ON_USAGE pr │ │ │ +000043e0: 696d 466c 6f6f 720a 2257 6172 6e69 6e67 imFloor."Warning │ │ │ +000043f0: 3a20 7072 696d 466c 6f6f 7220 7761 7320 : primFloor was │ │ │ +00004400: 6465 7072 6563 6174 6564 2069 6e20 4167 deprecated in Ag │ │ │ +00004410: 6461 2076 322e 362e 322e 0a50 6c65 6173 da v2.6.2..Pleas │ │ │ +00004420: 6520 7573 6520 7072 696d 466c 6f61 7446 e use primFloatF │ │ │ +00004430: 6c6f 6f72 2069 6e73 7465 6164 2e22 0a23 loor instead.".# │ │ │ +00004440: 2d7d 0a0a 7072 696d 4365 696c 696e 6720 -}..primCeiling │ │ │ +00004450: 3d20 7072 696d 466c 6f61 7443 6569 6c69 = primFloatCeili │ │ │ +00004460: 6e67 0a7b 2d23 2057 4152 4e49 4e47 5f4f ng.{-# WARNING_O │ │ │ +00004470: 4e5f 5553 4147 4520 7072 696d 4365 696c N_USAGE primCeil │ │ │ +00004480: 696e 670a 2257 6172 6e69 6e67 3a20 7072 ing."Warning: pr │ │ │ +00004490: 696d 4365 696c 696e 6720 7761 7320 6465 imCeiling was de │ │ │ +000044a0: 7072 6563 6174 6564 2069 6e20 4167 6461 precated in Agda │ │ │ +000044b0: 2076 322e 362e 322e 0a50 6c65 6173 6520 v2.6.2..Please │ │ │ +000044c0: 7573 6520 7072 696d 466c 6f61 7443 6569 use primFloatCei │ │ │ +000044d0: 6c69 6e67 2069 6e73 7465 6164 2e22 0a23 ling instead.".# │ │ │ +000044e0: 2d7d 0a0a 7072 696d 4578 7020 3d20 7072 -}..primExp = pr │ │ │ +000044f0: 696d 466c 6f61 7445 7870 0a7b 2d23 2057 imFloatExp.{-# W │ │ │ +00004500: 4152 4e49 4e47 5f4f 4e5f 5553 4147 4520 ARNING_ON_USAGE │ │ │ +00004510: 7072 696d 4578 700a 2257 6172 6e69 6e67 primExp."Warning │ │ │ +00004520: 3a20 7072 696d 4578 7020 7761 7320 6465 : primExp was de │ │ │ +00004530: 7072 6563 6174 6564 2069 6e20 4167 6461 precated in Agda │ │ │ +00004540: 2076 322e 362e 322e 0a50 6c65 6173 6520 v2.6.2..Please │ │ │ +00004550: 7573 6520 7072 696d 466c 6f61 7445 7870 use primFloatExp │ │ │ +00004560: 2069 6e73 7465 6164 2e22 0a23 2d7d 0a0a instead.".#-}.. │ │ │ +00004570: 7072 696d 4c6f 6720 3d20 7072 696d 466c primLog = primFl │ │ │ +00004580: 6f61 744c 6f67 0a7b 2d23 2057 4152 4e49 oatLog.{-# WARNI │ │ │ +00004590: 4e47 5f4f 4e5f 5553 4147 4520 7072 696d NG_ON_USAGE prim │ │ │ +000045a0: 4c6f 670a 2257 6172 6e69 6e67 3a20 7072 Log."Warning: pr │ │ │ +000045b0: 696d 4c6f 6720 7761 7320 6465 7072 6563 imLog was deprec │ │ │ +000045c0: 6174 6564 2069 6e20 4167 6461 2076 322e ated in Agda v2. │ │ │ +000045d0: 362e 322e 0a50 6c65 6173 6520 7573 6520 6.2..Please use │ │ │ +000045e0: 7072 696d 466c 6f61 744c 6f67 2069 6e73 primFloatLog ins │ │ │ +000045f0: 7465 6164 2e22 0a23 2d7d 0a0a 7072 696d tead.".#-}..prim │ │ │ +00004600: 5369 6e20 3d20 7072 696d 466c 6f61 7453 Sin = primFloatS │ │ │ +00004610: 696e 0a7b 2d23 2057 4152 4e49 4e47 5f4f in.{-# WARNING_O │ │ │ +00004620: 4e5f 5553 4147 4520 7072 696d 5369 6e0a N_USAGE primSin. │ │ │ +00004630: 2257 6172 6e69 6e67 3a20 7072 696d 5369 "Warning: primSi │ │ │ +00004640: 6e20 7761 7320 6465 7072 6563 6174 6564 n was deprecated │ │ │ +00004650: 2069 6e20 4167 6461 2076 322e 362e 322e in Agda v2.6.2. │ │ │ +00004660: 0a50 6c65 6173 6520 7573 6520 7072 696d .Please use prim │ │ │ +00004670: 466c 6f61 7453 696e 2069 6e73 7465 6164 FloatSin instead │ │ │ +00004680: 2e22 0a23 2d7d 0a0a 7072 696d 436f 7320 .".#-}..primCos │ │ │ +00004690: 3d20 7072 696d 466c 6f61 7443 6f73 0a7b = primFloatCos.{ │ │ │ +000046a0: 2d23 2057 4152 4e49 4e47 5f4f 4e5f 5553 -# WARNING_ON_US │ │ │ +000046b0: 4147 4520 7072 696d 436f 730a 2257 6172 AGE primCos."War │ │ │ +000046c0: 6e69 6e67 3a20 7072 696d 436f 7320 7761 ning: primCos wa │ │ │ +000046d0: 7320 6465 7072 6563 6174 6564 2069 6e20 s deprecated in │ │ │ +000046e0: 4167 6461 2076 322e 362e 322e 0a50 6c65 Agda v2.6.2..Ple │ │ │ +000046f0: 6173 6520 7573 6520 7072 696d 466c 6f61 ase use primFloa │ │ │ +00004700: 7443 6f73 2069 6e73 7465 6164 2e22 0a23 tCos instead.".# │ │ │ +00004710: 2d7d 0a0a 7072 696d 5461 6e20 3d20 7072 -}..primTan = pr │ │ │ +00004720: 696d 466c 6f61 7454 616e 0a7b 2d23 2057 imFloatTan.{-# W │ │ │ +00004730: 4152 4e49 4e47 5f4f 4e5f 5553 4147 4520 ARNING_ON_USAGE │ │ │ +00004740: 7072 696d 5461 6e0a 2257 6172 6e69 6e67 primTan."Warning │ │ │ +00004750: 3a20 7072 696d 5461 6e20 7761 7320 6465 : primTan was de │ │ │ +00004760: 7072 6563 6174 6564 2069 6e20 4167 6461 precated in Agda │ │ │ +00004770: 2076 322e 362e 322e 0a50 6c65 6173 6520 v2.6.2..Please │ │ │ +00004780: 7573 6520 7072 696d 466c 6f61 7454 616e use primFloatTan │ │ │ +00004790: 2069 6e73 7465 6164 2e22 0a23 2d7d 0a0a instead.".#-}.. │ │ │ +000047a0: 7072 696d 4153 696e 203d 2070 7269 6d46 primASin = primF │ │ │ +000047b0: 6c6f 6174 4153 696e 0a7b 2d23 2057 4152 loatASin.{-# WAR │ │ │ +000047c0: 4e49 4e47 5f4f 4e5f 5553 4147 4520 7072 NING_ON_USAGE pr │ │ │ +000047d0: 696d 4153 696e 0a22 5761 726e 696e 673a imASin."Warning: │ │ │ +000047e0: 2070 7269 6d41 5369 6e20 7761 7320 6465 primASin was de │ │ │ +000047f0: 7072 6563 6174 6564 2069 6e20 4167 6461 precated in Agda │ │ │ +00004800: 2076 322e 362e 322e 0a50 6c65 6173 6520 v2.6.2..Please │ │ │ +00004810: 7573 6520 7072 696d 466c 6f61 7441 5369 use primFloatASi │ │ │ +00004820: 6e20 696e 7374 6561 642e 220a 232d 7d0a n instead.".#-}. │ │ │ +00004830: 0a0a 7072 696d 4143 6f73 203d 2070 7269 ..primACos = pri │ │ │ +00004840: 6d46 6c6f 6174 4143 6f73 0a7b 2d23 2057 mFloatACos.{-# W │ │ │ +00004850: 4152 4e49 4e47 5f4f 4e5f 5553 4147 4520 ARNING_ON_USAGE │ │ │ +00004860: 7072 696d 4143 6f73 0a22 5761 726e 696e primACos."Warnin │ │ │ +00004870: 673a 2070 7269 6d41 436f 7320 7761 7320 g: primACos was │ │ │ +00004880: 6465 7072 6563 6174 6564 2069 6e20 4167 deprecated in Ag │ │ │ +00004890: 6461 2076 322e 362e 322e 0a50 6c65 6173 da v2.6.2..Pleas │ │ │ +000048a0: 6520 7573 6520 7072 696d 466c 6f61 7441 e use primFloatA │ │ │ +000048b0: 436f 7320 696e 7374 6561 642e 220a 232d Cos instead.".#- │ │ │ +000048c0: 7d0a 0a70 7269 6d41 5461 6e20 3d20 7072 }..primATan = pr │ │ │ +000048d0: 696d 466c 6f61 7441 5461 6e0a 7b2d 2320 imFloatATan.{-# │ │ │ +000048e0: 5741 524e 494e 475f 4f4e 5f55 5341 4745 WARNING_ON_USAGE │ │ │ +000048f0: 2070 7269 6d41 5461 6e0a 2257 6172 6e69 primATan."Warni │ │ │ +00004900: 6e67 3a20 7072 696d 4154 616e 2077 6173 ng: primATan was │ │ │ +00004910: 2064 6570 7265 6361 7465 6420 696e 2041 deprecated in A │ │ │ +00004920: 6764 6120 7632 2e36 2e32 2e0a 506c 6561 gda v2.6.2..Plea │ │ │ +00004930: 7365 2075 7365 2070 7269 6d46 6c6f 6174 se use primFloat │ │ │ +00004940: 4154 616e 2069 6e73 7465 6164 2e22 0a23 ATan instead.".# │ │ │ +00004950: 2d7d 0a0a 7072 696d 4154 616e 3220 3d20 -}..primATan2 = │ │ │ +00004960: 7072 696d 466c 6f61 7441 5461 6e32 0a7b primFloatATan2.{ │ │ │ +00004970: 2d23 2057 4152 4e49 4e47 5f4f 4e5f 5553 -# WARNING_ON_US │ │ │ +00004980: 4147 4520 7072 696d 4154 616e 320a 2257 AGE primATan2."W │ │ │ +00004990: 6172 6e69 6e67 3a20 7072 696d 4154 616e arning: primATan │ │ │ +000049a0: 3220 7761 7320 6465 7072 6563 6174 6564 2 was deprecated │ │ │ +000049b0: 2069 6e20 4167 6461 2076 322e 362e 322e in Agda v2.6.2. │ │ │ +000049c0: 0a50 6c65 6173 6520 7573 6520 7072 696d .Please use prim │ │ │ +000049d0: 466c 6f61 7441 5461 6e32 2069 6e73 7465 FloatATan2 inste │ │ │ +000049e0: 6164 2e22 0a23 2d7d 0ab2 96ad 8c96 b6e7 ad.".#-}........ │ │ │ +000049f0: 90d8 01f9 bbc9 82a1 ef92 b5c8 0100 5c00 ..............\. │ │ │ +00004a00: 004a 3805 b480 80e6 0800 0000 0520 0000 .J8.......... .. │ │ │ +00004a10: 0100 0100 0404 0803 0702 8680 80ec 0802 ................ │ │ │ +00004a20: 0000 030f 0005 0505 0b87 8080 ec08 0105 ................ │ │ │ +00004a30: 2000 0001 0b6a 0b6b ded6 dbfb eda8 ae89 ....j.k........ │ │ │ +00004a40: 218a cb9d 9baa d1dc 921b 006c 0000 4a72 !..........l..Jr │ │ │ +00004a50: 0520 0000 0100 0404 0803 0702 5e02 0000 . ..........^... │ │ │ +00004a60: 030f 0005 0505 0b5f 0b6d 0b61 0906 0100 ......._.m.a.... │ │ │ +00004a70: d201 e0e4 b6b5 ead1 c8f9 d801 e3ce e89c ................ │ │ │ +00004a80: cba6 ab90 a601 006d 0000 4b76 0582 8080 .......m..Kv.... │ │ │ +00004a90: e608 0000 0100 0304 0704 0200 0003 0f00 ................ │ │ │ +00004aa0: 0901 d201 7b2d 2320 4f50 5449 4f4e 5320 ....{-# OPTIONS │ │ │ +00004ab0: 2d2d 6375 6269 6361 6c2d 636f 6d70 6174 --cubical-compat │ │ │ +00004ac0: 6962 6c65 202d 2d72 6577 7269 7469 6e67 ible --rewriting │ │ │ +00004ad0: 202d 2d6e 6f2d 7369 7a65 642d 7479 7065 --no-sized-type │ │ │ +00004ae0: 7320 2d2d 6e6f 2d67 7561 7264 6564 6e65 s --no-guardedne │ │ │ +00004af0: 7373 202d 2d6c 6576 656c 2d75 6e69 7665 ss --level-unive │ │ │ +00004b00: 7273 6520 232d 7d0a 0a6d 6f64 756c 6520 rse #-}..module │ │ │ +00004b10: 4167 6461 2e42 7569 6c74 696e 2e45 7175 Agda.Builtin.Equ │ │ │ +00004b20: 616c 6974 792e 5265 7772 6974 6520 7768 ality.Rewrite wh │ │ │ +00004b30: 6572 650a 0a6f 7065 6e20 696d 706f 7274 ere..open import │ │ │ +00004b40: 2041 6764 612e 4275 696c 7469 6e2e 4571 Agda.Builtin.Eq │ │ │ +00004b50: 7561 6c69 7479 0a0a 7b2d 2320 4255 494c uality..{-# BUIL │ │ │ +00004b60: 5449 4e20 5245 5752 4954 4520 5fe2 89a1 TIN REWRITE _... │ │ │ +00004b70: 5f20 232d 7d0a d5b8 f2f5 e18b c98f 8301 _ #-}........... │ │ │ +00004b80: 8e8a e3d9 c1d5 8eef a601 006e 0000 4bb2 ...........n..K. │ │ │ +00004b90: 0520 0000 0100 0404 0803 0702 5e02 0000 . ..........^... │ │ │ +00004ba0: 030f 0005 0505 0b5f 0b6f 0b61 0906 0100 ......._.o.a.... │ │ │ +00004bb0: f501 9eb9 e1b2 d2ac 8392 01d7 838a 909b ................ │ │ │ +00004bc0: fda8 d389 0100 6f00 004c d805 8280 80e6 ......o..L...... │ │ │ +00004bd0: 0800 0001 0003 0407 0402 0000 030f 0009 ................ │ │ │ +00004be0: 01f5 017b 2d23 204f 5054 494f 4e53 202d ...{-# OPTIONS - │ │ │ +00004bf0: 2d77 6974 682d 4b20 2d2d 7361 6665 202d -with-K --safe - │ │ │ +00004c00: 2d6e 6f2d 7369 7a65 642d 7479 7065 7320 -no-sized-types │ │ │ +00004c10: 2d2d 6e6f 2d67 7561 7264 6564 6e65 7373 --no-guardedness │ │ │ +00004c20: 202d 2d6c 6576 656c 2d75 6e69 7665 7273 --level-univers │ │ │ +00004c30: 6520 232d 7d0a 0a6d 6f64 756c 6520 4167 e #-}..module Ag │ │ │ +00004c40: 6461 2e42 7569 6c74 696e 2e45 7175 616c da.Builtin.Equal │ │ │ +00004c50: 6974 792e 4572 6173 6520 7768 6572 650a ity.Erase where. │ │ │ +00004c60: 0a6f 7065 6e20 696d 706f 7274 2041 6764 .open import Agd │ │ │ +00004c70: 612e 4275 696c 7469 6e2e 4571 7561 6c69 a.Builtin.Equali │ │ │ +00004c80: 7479 0a0a 7072 696d 6974 6976 6520 7072 ty..primitive pr │ │ │ +00004c90: 696d 4572 6173 6545 7175 616c 6974 7920 imEraseEquality │ │ │ +00004ca0: 3a20 e288 8020 7b61 7d20 7b41 203a 2053 : ... {a} {A : S │ │ │ +00004cb0: 6574 2061 7d20 7b78 2079 203a 2041 7d20 et a} {x y : A} │ │ │ +00004cc0: e286 9220 7820 e289 a120 7920 e286 9220 ... x ... y ... │ │ │ +00004cd0: 7820 e289 a120 790a d7a9 9889 f4ed 93f6 x ... y......... │ │ │ +00004ce0: 30fd cba7 87a4 bb83 b189 0100 7000 004d 0...........p..M │ │ │ +00004cf0: 1305 2000 0001 0004 0408 0307 025e 0200 .. ..........^.. │ │ │ +00004d00: 0003 0f00 0505 050b 5f0b 710b 6109 0601 ........_.q.a... │ │ │ +00004d10: 0083 02a5 fcd7 c6c1 c0b1 d491 01fd f7e7 ................ │ │ │ +00004d20: cad5 82f3 dc6d 0071 0000 4e47 0582 8080 .....m.q..NG.... │ │ │ +00004d30: e608 0000 0100 0304 0704 0200 0003 0f00 ................ │ │ │ +00004d40: 0901 8302 7b2d 2320 4f50 5449 4f4e 5320 ....{-# OPTIONS │ │ │ +00004d50: 2d2d 6375 6269 6361 6c2d 636f 6d70 6174 --cubical-compat │ │ │ +00004d60: 6962 6c65 202d 2d73 6166 6520 2d2d 6e6f ible --safe --no │ │ │ +00004d70: 2d73 697a 6564 2d74 7970 6573 202d 2d6e -sized-types --n │ │ │ +00004d80: 6f2d 6775 6172 6465 646e 6573 7320 2d2d o-guardedness -- │ │ │ +00004d90: 6c65 7665 6c2d 756e 6976 6572 7365 2023 level-universe # │ │ │ +00004da0: 2d7d 0a0a 6d6f 6475 6c65 2041 6764 612e -}..module Agda. │ │ │ +00004db0: 4275 696c 7469 6e2e 4571 7561 6c69 7479 Builtin.Equality │ │ │ +00004dc0: 2077 6865 7265 0a0a 696e 6669 7820 3420 where..infix 4 │ │ │ +00004dd0: 5fe2 89a1 5f0a 6461 7461 205f e289 a15f _..._.data _..._ │ │ │ +00004de0: 207b 617d 207b 4120 3a20 5365 7420 617d {a} {A : Set a} │ │ │ +00004df0: 2028 7820 3a20 4129 203a 2041 20e2 8692 (x : A) : A ... │ │ │ +00004e00: 2053 6574 2061 2077 6865 7265 0a20 2069 Set a where. i │ │ │ +00004e10: 6e73 7461 6e63 6520 7265 666c 203a 2078 nstance refl : x │ │ │ +00004e20: 20e2 89a1 2078 0a0a 7b2d 2320 4255 494c ... x..{-# BUIL │ │ │ +00004e30: 5449 4e20 4551 5541 4c49 5459 205f e289 TIN EQUALITY _.. │ │ │ +00004e40: a15f 2023 2d7d 0af3 dbaa 9f80 aad9 ddfd ._ #-}.......... │ │ │ +00004e50: 01c5 e08a c691 edc9 87c2 0100 7200 004e ............r..N │ │ │ +00004e60: 8305 2000 0001 0004 0408 0307 025e 0200 .. ..........^.. │ │ │ +00004e70: 0003 0f00 0505 050b 5f0b 730b 6109 0601 ........_.s.a... │ │ │ +00004e80: 00be 1bfe a5fc acb5 fcfd a667 838d 9c98 ...........g.... │ │ │ +00004e90: fcc5 f7f8 7900 7300 005c 7105 8280 80e6 ....y.s..\q..... │ │ │ +00004ea0: 0800 0001 0003 0407 0402 0000 030f 0009 ................ │ │ │ +00004eb0: 01be 1b7b 2d23 204f 5054 494f 4e53 202d ...{-# OPTIONS - │ │ │ +00004ec0: 2d65 7261 7365 642d 6375 6269 6361 6c20 -erased-cubical │ │ │ +00004ed0: 2d2d 7361 6665 202d 2d6e 6f2d 7369 7a65 --safe --no-size │ │ │ +00004ee0: 642d 7479 7065 7320 2d2d 6e6f 2d67 7561 d-types --no-gua │ │ │ +00004ef0: 7264 6564 6e65 7373 2023 2d7d 0a0a 6d6f rdedness #-}..mo │ │ │ +00004f00: 6475 6c65 2041 6764 612e 4275 696c 7469 dule Agda.Builti │ │ │ +00004f10: 6e2e 4375 6269 6361 6c2e 4843 6f6d 7055 n.Cubical.HCompU │ │ │ +00004f20: 2077 6865 7265 0a0a 6f70 656e 2069 6d70 where..open imp │ │ │ +00004f30: 6f72 7420 4167 6461 2e50 7269 6d69 7469 ort Agda.Primiti │ │ │ +00004f40: 7665 0a6f 7065 6e20 696d 706f 7274 2041 ve.open import A │ │ │ +00004f50: 6764 612e 4275 696c 7469 6e2e 5369 676d gda.Builtin.Sigm │ │ │ +00004f60: 610a 6f70 656e 2069 6d70 6f72 7420 4167 a.open import Ag │ │ │ +00004f70: 6461 2e50 7269 6d69 7469 7665 2e43 7562 da.Primitive.Cub │ │ │ +00004f80: 6963 616c 2072 656e 616d 696e 6720 2870 ical renaming (p │ │ │ +00004f90: 7269 6d49 4e65 6720 746f 207e 5f3b 2070 rimINeg to ~_; p │ │ │ +00004fa0: 7269 6d49 4d61 7820 746f 205f e288 a85f rimIMax to _..._ │ │ │ +00004fb0: 3b20 7072 696d 494d 696e 2074 6f20 5fe2 ; primIMin to _. │ │ │ +00004fc0: 88a7 5f3b 0a20 2020 2020 2020 2020 2020 .._;. │ │ │ 00004fd0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 00004fe0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00004ff0: 2070 7269 6d48 436f 6d70 2074 6f20 6863 primHComp to hc │ │ │ -00005000: 6f6d 703b 2070 7269 6d54 7261 6e73 7020 omp; primTransp │ │ │ -00005010: 746f 2074 7261 6e73 703b 2070 7269 6d43 to transp; primC │ │ │ -00005020: 6f6d 7020 746f 2063 6f6d 703b 0a20 2020 omp to comp;. │ │ │ +00004ff0: 2020 7072 696d 4843 6f6d 7020 746f 2068 primHComp to h │ │ │ +00005000: 636f 6d70 3b20 7072 696d 5472 616e 7370 comp; primTransp │ │ │ +00005010: 2074 6f20 7472 616e 7370 3b20 7072 696d to transp; prim │ │ │ +00005020: 436f 6d70 2074 6f20 636f 6d70 3b0a 2020 Comp to comp;. │ │ │ 00005030: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 00005040: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00005050: 2020 2020 2020 2020 2020 6974 4973 4f6e itIsOn │ │ │ -00005060: 6520 746f 2031 3d31 290a 6f70 656e 2069 e to 1=1).open i │ │ │ -00005070: 6d70 6f72 7420 4167 6461 2e42 7569 6c74 mport Agda.Built │ │ │ -00005080: 696e 2e43 7562 6963 616c 2e50 6174 680a in.Cubical.Path. │ │ │ -00005090: 6f70 656e 2069 6d70 6f72 7420 4167 6461 open import Agda │ │ │ -000050a0: 2e42 7569 6c74 696e 2e43 7562 6963 616c .Builtin.Cubical │ │ │ -000050b0: 2e53 7562 2072 656e 616d 696e 6720 2853 .Sub renaming (S │ │ │ -000050c0: 7562 2074 6f20 5f5b 5fe2 86a6 5f5d 3b20 ub to _[_..._]; │ │ │ -000050d0: 7072 696d 5375 624f 7574 2074 6f20 6f75 primSubOut to ou │ │ │ -000050e0: 7453 290a 0a6d 6f64 756c 6520 4865 6c70 tS)..module Help │ │ │ -000050f0: 6572 7320 7768 6572 650a 2020 2020 2d2d ers where. -- │ │ │ -00005100: 2048 6f6d 6f67 656e 656f 7573 2066 696c Homogeneous fil │ │ │ -00005110: 6c69 6e67 0a20 2020 2068 6669 6c6c 203a ling. hfill : │ │ │ -00005120: 20e2 8880 207b e284 937d 207b 4120 3a20 ... {...} {A : │ │ │ -00005130: 5365 7420 e284 937d 207b cf86 203a 2049 Set ...} {.. : I │ │ │ -00005140: 7d0a 2020 2020 2020 2020 2020 2020 2020 }. │ │ │ -00005150: 2875 203a 20e2 8880 2069 20e2 8692 2050 (u : ... i ... P │ │ │ -00005160: 6172 7469 616c 20cf 8620 4129 0a20 2020 artial .. A). │ │ │ -00005170: 2020 2020 2020 2020 2020 2028 7530 203a (u0 : │ │ │ -00005180: 2041 205b 20cf 8620 e286 a620 7520 6930 A [ .. ... u i0 │ │ │ -00005190: 205d 2920 2869 203a 2049 2920 e286 9220 ]) (i : I) ... │ │ │ -000051a0: 410a 2020 2020 6866 696c 6c20 7bcf 8620 A. hfill {.. │ │ │ -000051b0: 3d20 cf86 7d20 7520 7530 2069 203d 0a20 = ..} u u0 i =. │ │ │ -000051c0: 2020 2020 2068 636f 6d70 2028 cebb 206a hcomp (.. j │ │ │ -000051d0: 20e2 8692 205c 207b 2028 cf86 203d 2069 ... \ { (.. = i │ │ │ -000051e0: 3129 20e2 8692 2075 2028 6920 e288 a720 1) ... u (i ... │ │ │ -000051f0: 6a29 2031 3d31 0a20 2020 2020 2020 2020 j) 1=1. │ │ │ -00005200: 2020 2020 2020 2020 2020 2020 3b20 2869 ; (i │ │ │ -00005210: 203d 2069 3029 20e2 8692 206f 7574 5320 = i0) ... outS │ │ │ -00005220: 7530 207d 290a 2020 2020 2020 2020 2020 u0 }). │ │ │ -00005230: 2020 286f 7574 5320 7530 290a 0a20 2020 (outS u0).. │ │ │ -00005240: 202d 2d20 4865 7465 726f 6765 6e65 6f75 -- Heterogeneou │ │ │ -00005250: 7320 6669 6c6c 696e 6720 6465 6669 6e65 s filling define │ │ │ -00005260: 6420 7573 696e 6720 636f 6d70 0a20 2020 d using comp. │ │ │ -00005270: 2066 696c 6c20 3a20 e288 8020 7be2 8493 fill : ... {... │ │ │ -00005280: 203a 2049 20e2 8692 204c 6576 656c 7d20 : I ... Level} │ │ │ -00005290: 2841 203a 20e2 8880 2069 20e2 8692 2053 (A : ... i ... S │ │ │ -000052a0: 6574 2028 e284 9320 6929 2920 7bcf 8620 et (... i)) {.. │ │ │ -000052b0: 3a20 497d 0a20 2020 2020 2020 2020 2020 : I}. │ │ │ -000052c0: 2020 2875 203a 20e2 8880 2069 20e2 8692 (u : ... i ... │ │ │ -000052d0: 2050 6172 7469 616c 20cf 8620 2841 2069 Partial .. (A i │ │ │ -000052e0: 2929 0a20 2020 2020 2020 2020 2020 2020 )). │ │ │ -000052f0: 2875 3020 3a20 4120 6930 205b 20cf 8620 (u0 : A i0 [ .. │ │ │ -00005300: e286 a620 7520 6930 205d 2920 e286 920a ... u i0 ]) .... │ │ │ -00005310: 2020 2020 2020 2020 2020 2020 20e2 8880 ... │ │ │ -00005320: 2069 20e2 8692 2020 4120 690a 2020 2020 i ... A i. │ │ │ -00005330: 6669 6c6c 2041 207b cf86 203d 20cf 867d fill A {.. = ..} │ │ │ -00005340: 2075 2075 3020 6920 3d0a 2020 2020 2020 u u0 i =. │ │ │ -00005350: 636f 6d70 2028 cebb 206a 20e2 8692 2041 comp (.. j ... A │ │ │ -00005360: 2028 6920 e288 a720 6a29 290a 2020 2020 (i ... j)). │ │ │ -00005370: 2020 2020 2020 2028 cebb 206a 20e2 8692 (.. j ... │ │ │ -00005380: 205c 207b 2028 cf86 203d 2069 3129 20e2 \ { (.. = i1) . │ │ │ -00005390: 8692 2075 2028 6920 e288 a720 6a29 2031 .. u (i ... j) 1 │ │ │ -000053a0: 3d31 0a20 2020 2020 2020 2020 2020 2020 =1. │ │ │ -000053b0: 2020 2020 2020 203b 2028 6920 3d20 6930 ; (i = i0 │ │ │ -000053c0: 2920 e286 9220 6f75 7453 2075 3020 7d29 ) ... outS u0 }) │ │ │ -000053d0: 0a20 2020 2020 2020 2020 2020 286f 7574 . (out │ │ │ -000053e0: 5320 7bcf 8620 3d20 cf86 7d20 7530 290a S {.. = ..} u0). │ │ │ -000053f0: 0a20 2020 206d 6f64 756c 6520 5f20 7be2 . module _ {. │ │ │ -00005400: 8493 7d20 7b41 203a 2053 6574 20e2 8493 ..} {A : Set ... │ │ │ -00005410: 7d20 7768 6572 650a 2020 2020 2020 7265 } where. re │ │ │ -00005420: 666c 203a 207b 7820 3a20 417d 20e2 8692 fl : {x : A} ... │ │ │ -00005430: 2078 20e2 89a1 2078 0a20 2020 2020 2072 x ... x. r │ │ │ -00005440: 6566 6c20 7b78 203d 2078 7d20 3d20 cebb efl {x = x} = .. │ │ │ -00005450: 205f 20e2 8692 2078 0a0a 2020 2020 2020 _ ... x.. │ │ │ -00005460: 7379 6d20 3a20 7b78 2079 203a 2041 7d20 sym : {x y : A} │ │ │ -00005470: e286 9220 7820 e289 a120 7920 e286 9220 ... x ... y ... │ │ │ -00005480: 7920 e289 a120 780a 2020 2020 2020 7379 y ... x. sy │ │ │ -00005490: 6d20 7020 3d20 cebb 2069 20e2 8692 2070 m p = .. i ... p │ │ │ -000054a0: 2028 7e20 6929 0a0a 2020 2020 2020 636f (~ i).. co │ │ │ -000054b0: 6e67 203a 20e2 8880 207b e284 9327 7d20 ng : ... {...'} │ │ │ -000054c0: 7b42 203a 2041 20e2 8692 2053 6574 20e2 {B : A ... Set . │ │ │ -000054d0: 8493 277d 207b 7820 7920 3a20 417d 0a20 ..'} {x y : A}. │ │ │ -000054e0: 2020 2020 2020 2020 2020 2020 2866 203a (f : │ │ │ -000054f0: 2028 6120 3a20 4129 20e2 8692 2042 2061 (a : A) ... B a │ │ │ -00005500: 2920 2870 203a 2078 20e2 89a1 2079 290a ) (p : x ... y). │ │ │ -00005510: 2020 2020 2020 2020 2020 20e2 8692 2050 ... P │ │ │ -00005520: 6174 6850 2028 cebb 2069 20e2 8692 2042 athP (.. i ... B │ │ │ -00005530: 2028 7020 6929 2920 2866 2078 2920 2866 (p i)) (f x) (f │ │ │ -00005540: 2079 290a 2020 2020 2020 636f 6e67 2066 y). cong f │ │ │ -00005550: 2070 203d 20ce bb20 6920 e286 9220 6620 p = .. i ... f │ │ │ -00005560: 2870 2069 290a 0a20 2020 2069 7343 6f6e (p i).. isCon │ │ │ -00005570: 7472 203a 20e2 8880 207b e284 937d 20e2 tr : ... {...} . │ │ │ -00005580: 8692 2053 6574 20e2 8493 20e2 8692 2053 .. Set ... ... S │ │ │ -00005590: 6574 20e2 8493 0a20 2020 2069 7343 6f6e et .... isCon │ │ │ -000055a0: 7472 2041 203d 20ce a320 4120 5c20 7820 tr A = .. A \ x │ │ │ -000055b0: e286 9220 28e2 8880 2079 20e2 8692 2078 ... (... y ... x │ │ │ -000055c0: 20e2 89a1 2079 290a 0a20 2020 2066 6962 ... y).. fib │ │ │ -000055d0: 6572 203a 20e2 8880 207b e284 9320 e284 er : ... {... .. │ │ │ -000055e0: 9327 7d20 7b41 203a 2053 6574 20e2 8493 .'} {A : Set ... │ │ │ -000055f0: 7d20 7b42 203a 2053 6574 20e2 8493 277d } {B : Set ...'} │ │ │ -00005600: 2028 6620 3a20 4120 e286 9220 4229 2028 (f : A ... B) ( │ │ │ -00005610: 7920 3a20 4229 20e2 8692 2053 6574 2028 y : B) ... Set ( │ │ │ -00005620: e284 9320 e28a 9420 e284 9327 290a 2020 ... ... ...'). │ │ │ -00005630: 2020 6669 6265 7220 7b41 203d 2041 7d20 fiber {A = A} │ │ │ -00005640: 6620 7920 3d20 cea3 2041 205c 2078 20e2 f y = .. A \ x . │ │ │ -00005650: 8692 2066 2078 20e2 89a1 2079 0a0a 6f70 .. f x ... y..op │ │ │ -00005660: 656e 2048 656c 7065 7273 0a0a 0a70 7269 en Helpers...pri │ │ │ -00005670: 6d69 7469 7665 0a20 2070 7269 6d5e 676c mitive. prim^gl │ │ │ -00005680: 7565 5520 3a20 7b6c 6120 3a20 4c65 7665 ueU : {la : Leve │ │ │ -00005690: 6c7d 207b cf86 203a 2049 7d20 7b54 203a l} {.. : I} {T : │ │ │ -000056a0: 2049 20e2 8692 2050 6172 7469 616c 20cf I ... Partial . │ │ │ -000056b0: 8620 2853 6574 206c 6129 7d0a 2020 2020 . (Set la)}. │ │ │ -000056c0: 2020 2020 2020 2020 2020 2020 207b 4120 {A │ │ │ -000056d0: 3a20 5365 7420 6c61 205b 20cf 8620 e286 : Set la [ .. .. │ │ │ -000056e0: a620 5420 6930 205d 7d20 e286 920a 2020 . T i0 ]} .... │ │ │ -000056f0: 2020 2020 2020 2020 2020 2020 2020 2050 P │ │ │ -00005700: 6172 7469 616c 5020 cf86 2028 5420 6931 artialP .. (T i1 │ │ │ -00005710: 2920 e286 9220 6f75 7453 2041 20e2 8692 ) ... outS A ... │ │ │ -00005720: 2068 636f 6d70 2054 2028 6f75 7453 2041 hcomp T (outS A │ │ │ -00005730: 290a 2020 7072 696d 5e75 6e67 6c75 6555 ). prim^unglueU │ │ │ -00005740: 203a 207b 6c61 203a 204c 6576 656c 7d20 : {la : Level} │ │ │ -00005750: 7bcf 8620 3a20 497d 207b 5420 3a20 4920 {.. : I} {T : I │ │ │ -00005760: e286 9220 5061 7274 6961 6c20 cf86 2028 ... Partial .. ( │ │ │ -00005770: 5365 7420 6c61 297d 0a20 2020 2020 2020 Set la)}. │ │ │ -00005780: 2020 2020 2020 2020 2020 2020 7b41 203a {A : │ │ │ -00005790: 2053 6574 206c 6120 5b20 cf86 20e2 86a6 Set la [ .. ... │ │ │ -000057a0: 2054 2069 3020 5d7d 20e2 8692 0a20 2020 T i0 ]} .... │ │ │ +00005050: 2020 2020 2020 2020 2020 2069 7449 734f itIsO │ │ │ +00005060: 6e65 2074 6f20 313d 3129 0a6f 7065 6e20 ne to 1=1).open │ │ │ +00005070: 696d 706f 7274 2041 6764 612e 4275 696c import Agda.Buil │ │ │ +00005080: 7469 6e2e 4375 6269 6361 6c2e 5061 7468 tin.Cubical.Path │ │ │ +00005090: 0a6f 7065 6e20 696d 706f 7274 2041 6764 .open import Agd │ │ │ +000050a0: 612e 4275 696c 7469 6e2e 4375 6269 6361 a.Builtin.Cubica │ │ │ +000050b0: 6c2e 5375 6220 7265 6e61 6d69 6e67 2028 l.Sub renaming ( │ │ │ +000050c0: 5375 6220 746f 205f 5b5f e286 a65f 5d3b Sub to _[_..._]; │ │ │ +000050d0: 2070 7269 6d53 7562 4f75 7420 746f 206f primSubOut to o │ │ │ +000050e0: 7574 5329 0a0a 6d6f 6475 6c65 2048 656c utS)..module Hel │ │ │ +000050f0: 7065 7273 2077 6865 7265 0a20 2020 202d pers where. - │ │ │ +00005100: 2d20 486f 6d6f 6765 6e65 6f75 7320 6669 - Homogeneous fi │ │ │ +00005110: 6c6c 696e 670a 2020 2020 6866 696c 6c20 lling. hfill │ │ │ +00005120: 3a20 e288 8020 7be2 8493 7d20 7b41 203a : ... {...} {A : │ │ │ +00005130: 2053 6574 20e2 8493 7d20 7bcf 8620 3a20 Set ...} {.. : │ │ │ +00005140: 497d 0a20 2020 2020 2020 2020 2020 2020 I}. │ │ │ +00005150: 2028 7520 3a20 e288 8020 6920 e286 9220 (u : ... i ... │ │ │ +00005160: 5061 7274 6961 6c20 cf86 2041 290a 2020 Partial .. A). │ │ │ +00005170: 2020 2020 2020 2020 2020 2020 2875 3020 (u0 │ │ │ +00005180: 3a20 4120 5b20 cf86 20e2 86a6 2075 2069 : A [ .. ... u i │ │ │ +00005190: 3020 5d29 2028 6920 3a20 4929 20e2 8692 0 ]) (i : I) ... │ │ │ +000051a0: 2041 0a20 2020 2068 6669 6c6c 207b cf86 A. hfill {.. │ │ │ +000051b0: 203d 20cf 867d 2075 2075 3020 6920 3d0a = ..} u u0 i =. │ │ │ +000051c0: 2020 2020 2020 6863 6f6d 7020 28ce bb20 hcomp (.. │ │ │ +000051d0: 6a20 e286 9220 5c20 7b20 28cf 8620 3d20 j ... \ { (.. = │ │ │ +000051e0: 6931 2920 e286 9220 7520 2869 20e2 88a7 i1) ... u (i ... │ │ │ +000051f0: 206a 2920 313d 310a 2020 2020 2020 2020 j) 1=1. │ │ │ +00005200: 2020 2020 2020 2020 2020 2020 203b 2028 ; ( │ │ │ +00005210: 6920 3d20 6930 2920 e286 9220 6f75 7453 i = i0) ... outS │ │ │ +00005220: 2075 3020 7d29 0a20 2020 2020 2020 2020 u0 }). │ │ │ +00005230: 2020 2028 6f75 7453 2075 3029 0a0a 2020 (outS u0).. │ │ │ +00005240: 2020 2d2d 2048 6574 6572 6f67 656e 656f -- Heterogeneo │ │ │ +00005250: 7573 2066 696c 6c69 6e67 2064 6566 696e us filling defin │ │ │ +00005260: 6564 2075 7369 6e67 2063 6f6d 700a 2020 ed using comp. │ │ │ +00005270: 2020 6669 6c6c 203a 20e2 8880 207b e284 fill : ... {.. │ │ │ +00005280: 9320 3a20 4920 e286 9220 4c65 7665 6c7d . : I ... Level} │ │ │ +00005290: 2028 4120 3a20 e288 8020 6920 e286 9220 (A : ... i ... │ │ │ +000052a0: 5365 7420 28e2 8493 2069 2929 207b cf86 Set (... i)) {.. │ │ │ +000052b0: 203a 2049 7d0a 2020 2020 2020 2020 2020 : I}. │ │ │ +000052c0: 2020 2028 7520 3a20 e288 8020 6920 e286 (u : ... i .. │ │ │ +000052d0: 9220 5061 7274 6961 6c20 cf86 2028 4120 . Partial .. (A │ │ │ +000052e0: 6929 290a 2020 2020 2020 2020 2020 2020 i)). │ │ │ +000052f0: 2028 7530 203a 2041 2069 3020 5b20 cf86 (u0 : A i0 [ .. │ │ │ +00005300: 20e2 86a6 2075 2069 3020 5d29 20e2 8692 ... u i0 ]) ... │ │ │ +00005310: 0a20 2020 2020 2020 2020 2020 2020 e288 . .. │ │ │ +00005320: 8020 6920 e286 9220 2041 2069 0a20 2020 . i ... A i. │ │ │ +00005330: 2066 696c 6c20 4120 7bcf 8620 3d20 cf86 fill A {.. = .. │ │ │ +00005340: 7d20 7520 7530 2069 203d 0a20 2020 2020 } u u0 i =. │ │ │ +00005350: 2063 6f6d 7020 28ce bb20 6a20 e286 9220 comp (.. j ... │ │ │ +00005360: 4120 2869 20e2 88a7 206a 2929 0a20 2020 A (i ... j)). │ │ │ +00005370: 2020 2020 2020 2020 28ce bb20 6a20 e286 (.. j .. │ │ │ +00005380: 9220 5c20 7b20 28cf 8620 3d20 6931 2920 . \ { (.. = i1) │ │ │ +00005390: e286 9220 7520 2869 20e2 88a7 206a 2920 ... u (i ... j) │ │ │ +000053a0: 313d 310a 2020 2020 2020 2020 2020 2020 1=1. │ │ │ +000053b0: 2020 2020 2020 2020 3b20 2869 203d 2069 ; (i = i │ │ │ +000053c0: 3029 20e2 8692 206f 7574 5320 7530 207d 0) ... outS u0 } │ │ │ +000053d0: 290a 2020 2020 2020 2020 2020 2028 6f75 ). (ou │ │ │ +000053e0: 7453 207b cf86 203d 20cf 867d 2075 3029 tS {.. = ..} u0) │ │ │ +000053f0: 0a0a 2020 2020 6d6f 6475 6c65 205f 207b .. module _ { │ │ │ +00005400: e284 937d 207b 4120 3a20 5365 7420 e284 ...} {A : Set .. │ │ │ +00005410: 937d 2077 6865 7265 0a20 2020 2020 2072 .} where. r │ │ │ +00005420: 6566 6c20 3a20 7b78 203a 2041 7d20 e286 efl : {x : A} .. │ │ │ +00005430: 9220 7820 e289 a120 780a 2020 2020 2020 . x ... x. │ │ │ +00005440: 7265 666c 207b 7820 3d20 787d 203d 20ce refl {x = x} = . │ │ │ +00005450: bb20 5f20 e286 9220 780a 0a20 2020 2020 . _ ... x.. │ │ │ +00005460: 2073 796d 203a 207b 7820 7920 3a20 417d sym : {x y : A} │ │ │ +00005470: 20e2 8692 2078 20e2 89a1 2079 20e2 8692 ... x ... y ... │ │ │ +00005480: 2079 20e2 89a1 2078 0a20 2020 2020 2073 y ... x. s │ │ │ +00005490: 796d 2070 203d 20ce bb20 6920 e286 9220 ym p = .. i ... │ │ │ +000054a0: 7020 287e 2069 290a 0a20 2020 2020 2063 p (~ i).. c │ │ │ +000054b0: 6f6e 6720 3a20 e288 8020 7be2 8493 277d ong : ... {...'} │ │ │ +000054c0: 207b 4220 3a20 4120 e286 9220 5365 7420 {B : A ... Set │ │ │ +000054d0: e284 9327 7d20 7b78 2079 203a 2041 7d0a ...'} {x y : A}. │ │ │ +000054e0: 2020 2020 2020 2020 2020 2020 2028 6620 (f │ │ │ +000054f0: 3a20 2861 203a 2041 2920 e286 9220 4220 : (a : A) ... B │ │ │ +00005500: 6129 2028 7020 3a20 7820 e289 a120 7929 a) (p : x ... y) │ │ │ +00005510: 0a20 2020 2020 2020 2020 2020 e286 9220 . ... │ │ │ +00005520: 5061 7468 5020 28ce bb20 6920 e286 9220 PathP (.. i ... │ │ │ +00005530: 4220 2870 2069 2929 2028 6620 7829 2028 B (p i)) (f x) ( │ │ │ +00005540: 6620 7929 0a20 2020 2020 2063 6f6e 6720 f y). cong │ │ │ +00005550: 6620 7020 3d20 cebb 2069 20e2 8692 2066 f p = .. i ... f │ │ │ +00005560: 2028 7020 6929 0a0a 2020 2020 6973 436f (p i).. isCo │ │ │ +00005570: 6e74 7220 3a20 e288 8020 7be2 8493 7d20 ntr : ... {...} │ │ │ +00005580: e286 9220 5365 7420 e284 9320 e286 9220 ... Set ... ... │ │ │ +00005590: 5365 7420 e284 930a 2020 2020 6973 436f Set .... isCo │ │ │ +000055a0: 6e74 7220 4120 3d20 cea3 2041 205c 2078 ntr A = .. A \ x │ │ │ +000055b0: 20e2 8692 2028 e288 8020 7920 e286 9220 ... (... y ... │ │ │ +000055c0: 7820 e289 a120 7929 0a0a 2020 2020 6669 x ... y).. fi │ │ │ +000055d0: 6265 7220 3a20 e288 8020 7be2 8493 20e2 ber : ... {... . │ │ │ +000055e0: 8493 277d 207b 4120 3a20 5365 7420 e284 ..'} {A : Set .. │ │ │ +000055f0: 937d 207b 4220 3a20 5365 7420 e284 9327 .} {B : Set ...' │ │ │ +00005600: 7d20 2866 203a 2041 20e2 8692 2042 2920 } (f : A ... B) │ │ │ +00005610: 2879 203a 2042 2920 e286 9220 5365 7420 (y : B) ... Set │ │ │ +00005620: 28e2 8493 20e2 8a94 20e2 8493 2729 0a20 (... ... ...'). │ │ │ +00005630: 2020 2066 6962 6572 207b 4120 3d20 417d fiber {A = A} │ │ │ +00005640: 2066 2079 203d 20ce a320 4120 5c20 7820 f y = .. A \ x │ │ │ +00005650: e286 9220 6620 7820 e289 a120 790a 0a6f ... f x ... y..o │ │ │ +00005660: 7065 6e20 4865 6c70 6572 730a 0a0a 7072 pen Helpers...pr │ │ │ +00005670: 696d 6974 6976 650a 2020 7072 696d 5e67 imitive. prim^g │ │ │ +00005680: 6c75 6555 203a 207b 6c61 203a 204c 6576 lueU : {la : Lev │ │ │ +00005690: 656c 7d20 7bcf 8620 3a20 497d 207b 5420 el} {.. : I} {T │ │ │ +000056a0: 3a20 4920 e286 9220 5061 7274 6961 6c20 : I ... Partial │ │ │ +000056b0: cf86 2028 5365 7420 6c61 297d 0a20 2020 .. (Set la)}. │ │ │ +000056c0: 2020 2020 2020 2020 2020 2020 2020 7b41 {A │ │ │ +000056d0: 203a 2053 6574 206c 6120 5b20 cf86 20e2 : Set la [ .. . │ │ │ +000056e0: 86a6 2054 2069 3020 5d7d 20e2 8692 0a20 .. T i0 ]} .... │ │ │ +000056f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +00005700: 5061 7274 6961 6c50 20cf 8620 2854 2069 PartialP .. (T i │ │ │ +00005710: 3129 20e2 8692 206f 7574 5320 4120 e286 1) ... outS A .. │ │ │ +00005720: 9220 6863 6f6d 7020 5420 286f 7574 5320 . hcomp T (outS │ │ │ +00005730: 4129 0a20 2070 7269 6d5e 756e 676c 7565 A). prim^unglue │ │ │ +00005740: 5520 3a20 7b6c 6120 3a20 4c65 7665 6c7d U : {la : Level} │ │ │ +00005750: 207b cf86 203a 2049 7d20 7b54 203a 2049 {.. : I} {T : I │ │ │ +00005760: 20e2 8692 2050 6172 7469 616c 20cf 8620 ... Partial .. │ │ │ +00005770: 2853 6574 206c 6129 7d0a 2020 2020 2020 (Set la)}. │ │ │ +00005780: 2020 2020 2020 2020 2020 2020 207b 4120 {A │ │ │ +00005790: 3a20 5365 7420 6c61 205b 20cf 8620 e286 : Set la [ .. .. │ │ │ +000057a0: a620 5420 6930 205d 7d20 e286 920a 2020 . T i0 ]} .... │ │ │ 000057b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -000057c0: 6863 6f6d 7020 5420 286f 7574 5320 4129 hcomp T (outS A) │ │ │ -000057d0: 20e2 8692 206f 7574 5320 410a 2020 2d2d ... outS A. -- │ │ │ -000057e0: 204e 6565 6465 6420 666f 7220 7472 616e Needed for tran │ │ │ -000057f0: 7370 2e0a 2020 7072 696d 4661 6365 466f sp.. primFaceFo │ │ │ -00005800: 7261 6c6c 203a 2028 4920 e286 9220 4929 rall : (I ... I) │ │ │ -00005810: 20e2 8692 2049 0a0a 7472 616e 7370 5072 ... I..transpPr │ │ │ -00005820: 6f6f 6620 3a20 e288 8020 7b6c 7d20 e286 oof : ... {l} .. │ │ │ -00005830: 9220 2865 203a 2049 20e2 8692 2053 6574 . (e : I ... Set │ │ │ -00005840: 206c 2920 e286 9220 28cf 8620 3a20 4929 l) ... (.. : I) │ │ │ -00005850: 20e2 8692 2028 6120 3a20 5061 7274 6961 ... (a : Partia │ │ │ -00005860: 6c20 cf86 2028 6520 6930 2929 20e2 8692 l .. (e i0)) ... │ │ │ -00005870: 2028 6220 3a20 6520 6931 205b 20cf 8620 (b : e i1 [ .. │ │ │ -00005880: e286 a620 285c 206f 20e2 8692 2074 7261 ... (\ o ... tra │ │ │ -00005890: 6e73 7020 285c 2069 20e2 8692 2065 2069 nsp (\ i ... e i │ │ │ -000058a0: 2920 6930 2028 6120 6f29 2920 5d20 2920 ) i0 (a o)) ] ) │ │ │ -000058b0: e286 9220 6669 6265 7220 2874 7261 6e73 ... fiber (trans │ │ │ -000058c0: 7020 285c 2069 20e2 8692 2065 2069 2920 p (\ i ... e i) │ │ │ -000058d0: 6930 2920 286f 7574 5320 6229 0a74 7261 i0) (outS b).tra │ │ │ -000058e0: 6e73 7050 726f 6f66 2065 20cf 8620 6120 nspProof e .. a │ │ │ -000058f0: 6220 3d20 6620 2c20 5c20 6a20 e286 9220 b = f , \ j ... │ │ │ -00005900: 636f 6d70 2028 5c20 6920 e286 9220 6520 comp (\ i ... e │ │ │ -00005910: 6929 2028 5c20 6920 e286 920a 2020 2020 i) (\ i .... │ │ │ +000057c0: 2068 636f 6d70 2054 2028 6f75 7453 2041 hcomp T (outS A │ │ │ +000057d0: 2920 e286 9220 6f75 7453 2041 0a20 202d ) ... outS A. - │ │ │ +000057e0: 2d20 4e65 6564 6564 2066 6f72 2074 7261 - Needed for tra │ │ │ +000057f0: 6e73 702e 0a20 2070 7269 6d46 6163 6546 nsp.. primFaceF │ │ │ +00005800: 6f72 616c 6c20 3a20 2849 20e2 8692 2049 orall : (I ... I │ │ │ +00005810: 2920 e286 9220 490a 0a74 7261 6e73 7050 ) ... I..transpP │ │ │ +00005820: 726f 6f66 203a 20e2 8880 207b 6c7d 20e2 roof : ... {l} . │ │ │ +00005830: 8692 2028 6520 3a20 4920 e286 9220 5365 .. (e : I ... Se │ │ │ +00005840: 7420 6c29 20e2 8692 2028 cf86 203a 2049 t l) ... (.. : I │ │ │ +00005850: 2920 e286 9220 2861 203a 2050 6172 7469 ) ... (a : Parti │ │ │ +00005860: 616c 20cf 8620 2865 2069 3029 2920 e286 al .. (e i0)) .. │ │ │ +00005870: 9220 2862 203a 2065 2069 3120 5b20 cf86 . (b : e i1 [ .. │ │ │ +00005880: 20e2 86a6 2028 5c20 6f20 e286 9220 7472 ... (\ o ... tr │ │ │ +00005890: 616e 7370 2028 5c20 6920 e286 9220 6520 ansp (\ i ... e │ │ │ +000058a0: 6929 2069 3020 2861 206f 2929 205d 2029 i) i0 (a o)) ] ) │ │ │ +000058b0: 20e2 8692 2066 6962 6572 2028 7472 616e ... fiber (tran │ │ │ +000058c0: 7370 2028 5c20 6920 e286 9220 6520 6929 sp (\ i ... e i) │ │ │ +000058d0: 2069 3029 2028 6f75 7453 2062 290a 7472 i0) (outS b).tr │ │ │ +000058e0: 616e 7370 5072 6f6f 6620 6520 cf86 2061 anspProof e .. a │ │ │ +000058f0: 2062 203d 2066 202c 205c 206a 20e2 8692 b = f , \ j ... │ │ │ +00005900: 2063 6f6d 7020 285c 2069 20e2 8692 2065 comp (\ i ... e │ │ │ +00005910: 2069 2920 285c 2069 20e2 8692 0a20 2020 i) (\ i .... │ │ │ 00005920: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 00005930: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00005940: 2020 2020 2020 2020 2020 205c 207b 2028 \ { ( │ │ │ -00005950: cf86 203d 2069 3129 20e2 8692 2074 7261 .. = i1) ... tra │ │ │ -00005960: 6e73 7020 285c 206a 20e2 8692 2065 2028 nsp (\ j ... e ( │ │ │ -00005970: 6a20 e288 a720 6929 2920 287e 2069 2920 j ... i)) (~ i) │ │ │ -00005980: 2861 2031 3d31 290a 2020 2020 2020 2020 (a 1=1). │ │ │ +00005940: 2020 2020 2020 2020 2020 2020 5c20 7b20 \ { │ │ │ +00005950: 28cf 8620 3d20 6931 2920 e286 9220 7472 (.. = i1) ... tr │ │ │ +00005960: 616e 7370 2028 5c20 6a20 e286 9220 6520 ansp (\ j ... e │ │ │ +00005970: 286a 20e2 88a7 2069 2929 2028 7e20 6929 (j ... i)) (~ i) │ │ │ +00005980: 2028 6120 313d 3129 0a20 2020 2020 2020 (a 1=1). │ │ │ 00005990: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 000059a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -000059b0: 2020 2020 2020 2020 203b 2028 6a20 3d20 ; (j = │ │ │ -000059c0: 6930 2920 e286 9220 7472 616e 7370 2028 i0) ... transp ( │ │ │ -000059d0: 5c20 6a20 e286 9220 6520 286a 20e2 88a7 \ j ... e (j ... │ │ │ -000059e0: 2069 2929 2028 7e20 6929 2066 0a20 2020 i)) (~ i) f. │ │ │ +000059b0: 2020 2020 2020 2020 2020 3b20 286a 203d ; (j = │ │ │ +000059c0: 2069 3029 20e2 8692 2074 7261 6e73 7020 i0) ... transp │ │ │ +000059d0: 285c 206a 20e2 8692 2065 2028 6a20 e288 (\ j ... e (j .. │ │ │ +000059e0: a720 6929 2920 287e 2069 2920 660a 2020 . i)) (~ i) f. │ │ │ 000059f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 00005a00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00005a10: 2020 2020 2020 2020 2020 2020 2020 3b20 ; │ │ │ -00005a20: 286a 203d 2069 3129 20e2 8692 2067 2028 (j = i1) ... g ( │ │ │ -00005a30: 7e20 6929 207d 290a 2020 2020 2020 2020 ~ i) }). │ │ │ +00005a10: 2020 2020 2020 2020 2020 2020 2020 203b ; │ │ │ +00005a20: 2028 6a20 3d20 6931 2920 e286 9220 6720 (j = i1) ... g │ │ │ +00005a30: 287e 2069 2920 7d29 0a20 2020 2020 2020 (~ i) }). │ │ │ 00005a40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 00005a50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00005a60: 660a 2020 2020 7768 6572 650a 2020 2020 f. where. │ │ │ -00005a70: 2020 6227 203d 206f 7574 5320 7b75 203d b' = outS {u = │ │ │ -00005a80: 2028 5c20 6f20 e286 9220 7472 616e 7370 (\ o ... transp │ │ │ -00005a90: 2028 5c20 6920 e286 9220 6520 6929 2069 (\ i ... e i) i │ │ │ -00005aa0: 3020 2861 206f 2929 7d20 620a 2020 2020 0 (a o))} b. │ │ │ -00005ab0: 2020 6720 3a20 286b 203a 2049 2920 e286 g : (k : I) .. │ │ │ -00005ac0: 9220 6520 287e 206b 290a 2020 2020 2020 . e (~ k). │ │ │ -00005ad0: 6720 6b20 3d20 6669 6c6c 2028 5c20 6920 g k = fill (\ i │ │ │ -00005ae0: e286 9220 6520 287e 2069 2929 2028 5c20 ... e (~ i)) (\ │ │ │ -00005af0: 6920 e286 9220 5c20 7b20 28cf 8620 3d20 i ... \ { (.. = │ │ │ -00005b00: 6931 2920 e286 9220 7472 616e 7370 2028 i1) ... transp ( │ │ │ -00005b10: 5c20 6a20 e286 9220 6520 286a 20e2 88a7 \ j ... e (j ... │ │ │ -00005b20: 207e 2069 2929 2069 2028 6120 313d 3129 ~ i)) i (a 1=1) │ │ │ -00005b30: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ +00005a60: 2066 0a20 2020 2077 6865 7265 0a20 2020 f. where. │ │ │ +00005a70: 2020 2062 2720 3d20 6f75 7453 207b 7520 b' = outS {u │ │ │ +00005a80: 3d20 285c 206f 20e2 8692 2074 7261 6e73 = (\ o ... trans │ │ │ +00005a90: 7020 285c 2069 20e2 8692 2065 2069 2920 p (\ i ... e i) │ │ │ +00005aa0: 6930 2028 6120 6f29 297d 2062 0a20 2020 i0 (a o))} b. │ │ │ +00005ab0: 2020 2067 203a 2028 6b20 3a20 4929 20e2 g : (k : I) . │ │ │ +00005ac0: 8692 2065 2028 7e20 6b29 0a20 2020 2020 .. e (~ k). │ │ │ +00005ad0: 2067 206b 203d 2066 696c 6c20 285c 2069 g k = fill (\ i │ │ │ +00005ae0: 20e2 8692 2065 2028 7e20 6929 2920 285c ... e (~ i)) (\ │ │ │ +00005af0: 2069 20e2 8692 205c 207b 2028 cf86 203d i ... \ { (.. = │ │ │ +00005b00: 2069 3129 20e2 8692 2074 7261 6e73 7020 i1) ... transp │ │ │ +00005b10: 285c 206a 20e2 8692 2065 2028 6a20 e288 (\ j ... e (j .. │ │ │ +00005b20: a720 7e20 6929 2920 6920 2861 2031 3d31 . ~ i)) i (a 1=1 │ │ │ +00005b30: 290a 2020 2020 2020 2020 2020 2020 2020 ). │ │ │ 00005b40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00005b50: 2020 2020 2020 2020 2020 203b 2028 cf86 ; (.. │ │ │ -00005b60: 203d 2069 3029 20e2 8692 2074 7261 6e73 = i0) ... trans │ │ │ -00005b70: 7020 285c 206a 20e2 8692 2065 2028 7e20 p (\ j ... e (~ │ │ │ -00005b80: 6a20 e288 a820 7e20 6929 2920 287e 2069 j ... ~ i)) (~ i │ │ │ -00005b90: 2920 6227 207d 2920 2869 6e53 2062 2729 ) b' }) (inS b') │ │ │ -00005ba0: 206b 0a20 2020 2020 2066 203d 2063 6f6d k. f = com │ │ │ -00005bb0: 7020 285c 2069 20e2 8692 2065 2028 7e20 p (\ i ... e (~ │ │ │ -00005bc0: 6929 2920 285c 2069 20e2 8692 205c 207b i)) (\ i ... \ { │ │ │ -00005bd0: 2028 cf86 203d 2069 3129 20e2 8692 2074 (.. = i1) ... t │ │ │ -00005be0: 7261 6e73 7020 285c 206a 20e2 8692 2065 ransp (\ j ... e │ │ │ -00005bf0: 2028 6a20 e288 a720 7e20 6929 2920 6920 (j ... ~ i)) i │ │ │ -00005c00: 2861 2031 3d31 293b 2028 cf86 203d 2069 (a 1=1); (.. = i │ │ │ -00005c10: 3029 20e2 8692 2074 7261 6e73 7020 285c 0) ... transp (\ │ │ │ -00005c20: 206a 20e2 8692 2065 2028 7e20 6a20 e288 j ... e (~ j .. │ │ │ -00005c30: a820 7e20 6929 2920 287e 2069 2920 6227 . ~ i)) (~ i) b' │ │ │ -00005c40: 207d 2920 6227 0a0a 7b2d 2320 4255 494c }) b'..{-# BUIL │ │ │ -00005c50: 5449 4e20 5452 414e 5350 5052 4f4f 4620 TIN TRANSPPROOF │ │ │ -00005c60: 7472 616e 7370 5072 6f6f 6620 232d 7d0a transpProof #-}. │ │ │ -00005c70: 8583 f6bb b1d1 c4bc dd01 c68b d48b d282 ................ │ │ │ -00005c80: 90e6 4100 7400 005c ab05 2000 0001 0004 ..A.t..\.. ..... │ │ │ -00005c90: 0408 0307 025e 0200 0003 0f00 0505 050b .....^.......... │ │ │ -00005ca0: 5f0b 750b 6109 0601 0089 1ec4 9382 ae90 _.u.a........... │ │ │ -00005cb0: 888c fdc5 0188 dac7 c4e2 c4ca 9b28 0075 .............(.u │ │ │ -00005cc0: 0000 6be5 0582 8080 e608 0000 0100 0304 ..k............. │ │ │ -00005cd0: 0704 0200 0003 0f00 0901 891e 7b2d 2320 ............{-# │ │ │ -00005ce0: 4f50 5449 4f4e 5320 2d2d 6572 6173 6564 OPTIONS --erased │ │ │ -00005cf0: 2d63 7562 6963 616c 202d 2d73 6166 6520 -cubical --safe │ │ │ -00005d00: 2d2d 6e6f 2d73 697a 6564 2d74 7970 6573 --no-sized-types │ │ │ -00005d10: 202d 2d6e 6f2d 6775 6172 6465 646e 6573 --no-guardednes │ │ │ -00005d20: 7320 232d 7d0a 0a6d 6f64 756c 6520 4167 s #-}..module Ag │ │ │ -00005d30: 6461 2e42 7569 6c74 696e 2e43 7562 6963 da.Builtin.Cubic │ │ │ -00005d40: 616c 2e45 7175 6976 2077 6865 7265 0a0a al.Equiv where.. │ │ │ -00005d50: 6f70 656e 2069 6d70 6f72 7420 4167 6461 open import Agda │ │ │ -00005d60: 2e50 7269 6d69 7469 7665 0a6f 7065 6e20 .Primitive.open │ │ │ -00005d70: 696d 706f 7274 2041 6764 612e 4275 696c import Agda.Buil │ │ │ -00005d80: 7469 6e2e 5369 676d 610a 6f70 656e 2069 tin.Sigma.open i │ │ │ -00005d90: 6d70 6f72 7420 4167 6461 2e50 7269 6d69 mport Agda.Primi │ │ │ -00005da0: 7469 7665 2e43 7562 6963 616c 2072 656e tive.Cubical ren │ │ │ -00005db0: 616d 696e 6720 2870 7269 6d49 4e65 6720 aming (primINeg │ │ │ -00005dc0: 746f 207e 5f3b 2070 7269 6d49 4d61 7820 to ~_; primIMax │ │ │ -00005dd0: 746f 205f e288 a85f 3b20 7072 696d 494d to _..._; primIM │ │ │ -00005de0: 696e 2074 6f20 5fe2 88a7 5f3b 0a20 2020 in to _..._;. │ │ │ +00005b50: 2020 2020 2020 2020 2020 2020 3b20 28cf ; (. │ │ │ +00005b60: 8620 3d20 6930 2920 e286 9220 7472 616e . = i0) ... tran │ │ │ +00005b70: 7370 2028 5c20 6a20 e286 9220 6520 287e sp (\ j ... e (~ │ │ │ +00005b80: 206a 20e2 88a8 207e 2069 2929 2028 7e20 j ... ~ i)) (~ │ │ │ +00005b90: 6929 2062 2720 7d29 2028 696e 5320 6227 i) b' }) (inS b' │ │ │ +00005ba0: 2920 6b0a 2020 2020 2020 6620 3d20 636f ) k. f = co │ │ │ +00005bb0: 6d70 2028 5c20 6920 e286 9220 6520 287e mp (\ i ... e (~ │ │ │ +00005bc0: 2069 2929 2028 5c20 6920 e286 9220 5c20 i)) (\ i ... \ │ │ │ +00005bd0: 7b20 28cf 8620 3d20 6931 2920 e286 9220 { (.. = i1) ... │ │ │ +00005be0: 7472 616e 7370 2028 5c20 6a20 e286 9220 transp (\ j ... │ │ │ +00005bf0: 6520 286a 20e2 88a7 207e 2069 2929 2069 e (j ... ~ i)) i │ │ │ +00005c00: 2028 6120 313d 3129 3b20 28cf 8620 3d20 (a 1=1); (.. = │ │ │ +00005c10: 6930 2920 e286 9220 7472 616e 7370 2028 i0) ... transp ( │ │ │ +00005c20: 5c20 6a20 e286 9220 6520 287e 206a 20e2 \ j ... e (~ j . │ │ │ +00005c30: 88a8 207e 2069 2929 2028 7e20 6929 2062 .. ~ i)) (~ i) b │ │ │ +00005c40: 2720 7d29 2062 270a 0a7b 2d23 2042 5549 ' }) b'..{-# BUI │ │ │ +00005c50: 4c54 494e 2054 5241 4e53 5050 524f 4f46 LTIN TRANSPPROOF │ │ │ +00005c60: 2074 7261 6e73 7050 726f 6f66 2023 2d7d transpProof #-} │ │ │ +00005c70: 0a85 83f6 bbb1 d1c4 bcdd 01c6 8bd4 8bd2 ................ │ │ │ +00005c80: 8290 e641 0074 0000 5cac 0520 0000 0100 ...A.t..\.. .... │ │ │ +00005c90: 0404 0803 0702 5e02 0000 030f 0005 0505 ......^......... │ │ │ +00005ca0: 0b5f 0b75 0b61 0906 0100 891e c493 82ae ._.u.a.......... │ │ │ +00005cb0: 9088 8cfd c501 88da c7c4 e2c4 ca9b 2800 ..............(. │ │ │ +00005cc0: 7500 006b e605 8280 80e6 0800 0001 0003 u..k............ │ │ │ +00005cd0: 0407 0402 0000 030f 0009 0189 1e7b 2d23 .............{-# │ │ │ +00005ce0: 204f 5054 494f 4e53 202d 2d65 7261 7365 OPTIONS --erase │ │ │ +00005cf0: 642d 6375 6269 6361 6c20 2d2d 7361 6665 d-cubical --safe │ │ │ +00005d00: 202d 2d6e 6f2d 7369 7a65 642d 7479 7065 --no-sized-type │ │ │ +00005d10: 7320 2d2d 6e6f 2d67 7561 7264 6564 6e65 s --no-guardedne │ │ │ +00005d20: 7373 2023 2d7d 0a0a 6d6f 6475 6c65 2041 ss #-}..module A │ │ │ +00005d30: 6764 612e 4275 696c 7469 6e2e 4375 6269 gda.Builtin.Cubi │ │ │ +00005d40: 6361 6c2e 4571 7569 7620 7768 6572 650a cal.Equiv where. │ │ │ +00005d50: 0a6f 7065 6e20 696d 706f 7274 2041 6764 .open import Agd │ │ │ +00005d60: 612e 5072 696d 6974 6976 650a 6f70 656e a.Primitive.open │ │ │ +00005d70: 2069 6d70 6f72 7420 4167 6461 2e42 7569 import Agda.Bui │ │ │ +00005d80: 6c74 696e 2e53 6967 6d61 0a6f 7065 6e20 ltin.Sigma.open │ │ │ +00005d90: 696d 706f 7274 2041 6764 612e 5072 696d import Agda.Prim │ │ │ +00005da0: 6974 6976 652e 4375 6269 6361 6c20 7265 itive.Cubical re │ │ │ +00005db0: 6e61 6d69 6e67 2028 7072 696d 494e 6567 naming (primINeg │ │ │ +00005dc0: 2074 6f20 7e5f 3b20 7072 696d 494d 6178 to ~_; primIMax │ │ │ +00005dd0: 2074 6f20 5fe2 88a8 5f3b 2070 7269 6d49 to _..._; primI │ │ │ +00005de0: 4d69 6e20 746f 205f e288 a75f 3b0a 2020 Min to _..._;. │ │ │ 00005df0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 00005e00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00005e10: 2020 2020 2020 2020 2020 7072 696d 4843 primHC │ │ │ -00005e20: 6f6d 7020 746f 2068 636f 6d70 3b20 7072 omp to hcomp; pr │ │ │ -00005e30: 696d 5472 616e 7370 2074 6f20 7472 616e imTransp to tran │ │ │ -00005e40: 7370 3b20 7072 696d 436f 6d70 2074 6f20 sp; primComp to │ │ │ -00005e50: 636f 6d70 3b0a 2020 2020 2020 2020 2020 comp;. │ │ │ +00005e10: 2020 2020 2020 2020 2020 2070 7269 6d48 primH │ │ │ +00005e20: 436f 6d70 2074 6f20 6863 6f6d 703b 2070 Comp to hcomp; p │ │ │ +00005e30: 7269 6d54 7261 6e73 7020 746f 2074 7261 rimTransp to tra │ │ │ +00005e40: 6e73 703b 2070 7269 6d43 6f6d 7020 746f nsp; primComp to │ │ │ +00005e50: 2063 6f6d 703b 0a20 2020 2020 2020 2020 comp;. │ │ │ 00005e60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 00005e70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00005e80: 2020 2069 7449 734f 6e65 2074 6f20 313d itIsOne to 1= │ │ │ -00005e90: 3129 0a6f 7065 6e20 696d 706f 7274 2041 1).open import A │ │ │ -00005ea0: 6764 612e 4275 696c 7469 6e2e 4375 6269 gda.Builtin.Cubi │ │ │ -00005eb0: 6361 6c2e 5061 7468 0a6f 7065 6e20 696d cal.Path.open im │ │ │ -00005ec0: 706f 7274 2041 6764 612e 4275 696c 7469 port Agda.Builti │ │ │ -00005ed0: 6e2e 4375 6269 6361 6c2e 5375 6220 7265 n.Cubical.Sub re │ │ │ -00005ee0: 6e61 6d69 6e67 2028 5375 6220 746f 205f naming (Sub to _ │ │ │ -00005ef0: 5b5f e286 a65f 5d29 0a69 6d70 6f72 7420 [_..._]).import │ │ │ -00005f00: 4167 6461 2e42 7569 6c74 696e 2e43 7562 Agda.Builtin.Cub │ │ │ -00005f10: 6963 616c 2e48 436f 6d70 5520 6173 2048 ical.HCompU as H │ │ │ -00005f20: 436f 6d70 550a 0a6d 6f64 756c 6520 4865 CompU..module He │ │ │ -00005f30: 6c70 6572 7320 3d20 4843 6f6d 7055 2e48 lpers = HCompU.H │ │ │ -00005f40: 656c 7065 7273 0a0a 6f70 656e 2048 656c elpers..open Hel │ │ │ -00005f50: 7065 7273 0a0a 0a2d 2d20 5765 206d 616b pers...-- We mak │ │ │ -00005f60: 6520 7468 6973 2061 2072 6563 6f72 6420 e this a record │ │ │ -00005f70: 736f 2074 6861 7420 6973 4571 7569 7620 so that isEquiv │ │ │ -00005f80: 6361 6e20 6265 2070 726f 7665 6420 7573 can be proved us │ │ │ -00005f90: 696e 670a 2d2d 2063 6f70 6174 7465 726e ing.-- copattern │ │ │ -00005fa0: 732e 2054 6869 7320 6973 2067 6f6f 6420 s. This is good │ │ │ -00005fb0: 6265 6361 7573 6520 636f 7061 7474 6572 because copatter │ │ │ -00005fc0: 6e73 2064 6f6e 2774 2067 6574 2075 6e66 ns don't get unf │ │ │ -00005fd0: 6f6c 6465 640a 2d2d 2075 6e6c 6573 7320 olded.-- unless │ │ │ -00005fe0: 6120 7072 6f6a 6563 7469 6f6e 2069 7320 a projection is │ │ │ -00005ff0: 6170 706c 6965 6420 736f 2069 7420 7368 applied so it sh │ │ │ -00006000: 6f75 6c64 2062 6520 6d6f 7265 2065 6666 ould be more eff │ │ │ -00006010: 6963 6965 6e74 2e0a 7265 636f 7264 2069 icient..record i │ │ │ -00006020: 7345 7175 6976 207b e284 9320 e284 9327 sEquiv {... ...' │ │ │ -00006030: 7d20 7b41 203a 2053 6574 20e2 8493 7d20 } {A : Set ...} │ │ │ -00006040: 7b42 203a 2053 6574 20e2 8493 277d 2028 {B : Set ...'} ( │ │ │ -00006050: 6620 3a20 4120 e286 9220 4229 203a 2053 f : A ... B) : S │ │ │ -00006060: 6574 2028 e284 9320 e28a 9420 e284 9327 et (... ... ...' │ │ │ -00006070: 2920 7768 6572 650a 2020 6e6f 2d65 7461 ) where. no-eta │ │ │ -00006080: 2d65 7175 616c 6974 790a 2020 6669 656c -equality. fiel │ │ │ -00006090: 640a 2020 2020 6571 7569 762d 7072 6f6f d. equiv-proo │ │ │ -000060a0: 6620 3a20 2879 203a 2042 2920 e286 9220 f : (y : B) ... │ │ │ -000060b0: 6973 436f 6e74 7220 2866 6962 6572 2066 isContr (fiber f │ │ │ -000060c0: 2079 290a 0a6f 7065 6e20 6973 4571 7569 y)..open isEqui │ │ │ -000060d0: 7620 7075 626c 6963 0a0a 696e 6669 7820 v public..infix │ │ │ -000060e0: 3420 5fe2 8983 5f0a 0a5f e289 835f 203a 4 _..._.._..._ : │ │ │ -000060f0: 20e2 8880 207b e284 9320 e284 9327 7d20 ... {... ...'} │ │ │ -00006100: 2841 203a 2053 6574 20e2 8493 2920 2842 (A : Set ...) (B │ │ │ -00006110: 203a 2053 6574 20e2 8493 2729 20e2 8692 : Set ...') ... │ │ │ -00006120: 2053 6574 2028 e284 9320 e28a 9420 e284 Set (... ... .. │ │ │ -00006130: 9327 290a 4120 e289 8320 4220 3d20 cea3 .').A ... B = .. │ │ │ -00006140: 2028 4120 e286 9220 4229 205c 2066 20e2 (A ... B) \ f . │ │ │ -00006150: 8692 2028 6973 4571 7569 7620 6629 0a0a .. (isEquiv f).. │ │ │ -00006160: 6571 7569 7646 756e 203a 20e2 8880 207b equivFun : ... { │ │ │ -00006170: e284 9320 e284 9327 7d20 7b41 203a 2053 ... ...'} {A : S │ │ │ -00006180: 6574 20e2 8493 7d20 7b42 203a 2053 6574 et ...} {B : Set │ │ │ -00006190: 20e2 8493 277d 20e2 8692 2041 20e2 8983 ...'} ... A ... │ │ │ -000061a0: 2042 20e2 8692 2041 20e2 8692 2042 0a65 B ... A ... B.e │ │ │ -000061b0: 7175 6976 4675 6e20 6520 3d20 6673 7420 quivFun e = fst │ │ │ -000061c0: 650a 0a2d 2d20 496d 7072 6f76 6564 2076 e..-- Improved v │ │ │ -000061d0: 6572 7369 6f6e 206f 6620 6571 7569 7650 ersion of equivP │ │ │ -000061e0: 726f 6f66 2063 6f6d 7061 7265 6420 746f roof compared to │ │ │ -000061f0: 204c 656d 6d61 2035 2069 6e20 4343 484d Lemma 5 in CCHM │ │ │ -00006200: 2e20 5765 2070 7574 0a2d 2d20 7468 6520 . We put.-- the │ │ │ -00006210: 28cf 8620 3d20 6930 2920 6661 6365 2069 (.. = i0) face i │ │ │ -00006220: 6e20 636f 6e74 7227 206d 616b 696e 6720 n contr' making │ │ │ -00006230: 6974 2062 6520 6465 6669 6e69 7469 6f6e it be definition │ │ │ -00006240: 616c 6c79 2063 2069 6e20 7468 6973 0a2d ally c in this.- │ │ │ -00006250: 2d20 6361 7365 2e20 5468 6973 206d 616b - case. This mak │ │ │ -00006260: 6573 2074 6865 2063 6f6d 7075 7461 7469 es the computati │ │ │ -00006270: 6f6e 616c 2062 6568 6176 696f 7220 6265 onal behavior be │ │ │ -00006280: 7474 6572 2c20 696e 2070 6172 7469 6375 tter, in particu │ │ │ -00006290: 6c61 720a 2d2d 2066 6f72 2074 7261 6e73 lar.-- for trans │ │ │ -000062a0: 7020 696e 2047 6c75 652e 0a65 7175 6976 p in Glue..equiv │ │ │ -000062b0: 5072 6f6f 6620 3a20 e288 8020 7b6c 6120 Proof : ... {la │ │ │ -000062c0: 6c74 7d20 2854 203a 2053 6574 206c 6129 lt} (T : Set la) │ │ │ -000062d0: 2028 4120 3a20 5365 7420 6c74 2920 e286 (A : Set lt) .. │ │ │ -000062e0: 9220 2877 203a 2054 20e2 8983 2041 2920 . (w : T ... A) │ │ │ -000062f0: e286 9220 2861 203a 2041 290a 2020 2020 ... (a : A). │ │ │ -00006300: 2020 2020 2020 20e2 8692 20e2 8880 20cf ... ... . │ │ │ -00006310: 8820 2866 203a 2050 6172 7469 616c 20cf . (f : Partial . │ │ │ -00006320: 8820 2866 6962 6572 2028 7720 2e66 7374 . (fiber (w .fst │ │ │ -00006330: 2920 6129 2920 e286 9220 6669 6265 7220 ) a)) ... fiber │ │ │ -00006340: 2877 202e 6673 7429 2061 205b 20cf 8820 (w .fst) a [ .. │ │ │ -00006350: e286 a620 6620 5d0a 6571 7569 7650 726f ... f ].equivPro │ │ │ -00006360: 6f66 2041 2042 2077 2061 20cf 8820 6662 of A B w a .. fb │ │ │ -00006370: 203d 0a20 2069 6e53 2028 636f 6e74 7227 =. inS (contr' │ │ │ -00006380: 207b 4120 3d20 6669 6265 7220 2877 202e {A = fiber (w . │ │ │ -00006390: 6673 7429 2061 7d20 2877 202e 736e 6420 fst) a} (w .snd │ │ │ -000063a0: 2e65 7175 6976 2d70 726f 6f66 2061 2920 .equiv-proof a) │ │ │ -000063b0: cf88 2066 6229 0a20 2077 6865 7265 0a20 .. fb). where. │ │ │ -000063c0: 2020 2063 6f6e 7472 2720 3a20 e288 8020 contr' : ... │ │ │ -000063d0: 7be2 8493 7d20 7b41 203a 2053 6574 20e2 {...} {A : Set . │ │ │ -000063e0: 8493 7d20 e286 9220 6973 436f 6e74 7220 ..} ... isContr │ │ │ -000063f0: 4120 e286 9220 28cf 8620 3a20 4929 20e2 A ... (.. : I) . │ │ │ -00006400: 8692 2028 7520 3a20 5061 7274 6961 6c20 .. (u : Partial │ │ │ -00006410: cf86 2041 2920 e286 9220 410a 2020 2020 .. A) ... A. │ │ │ -00006420: 636f 6e74 7227 207b 4120 3d20 417d 2028 contr' {A = A} ( │ │ │ -00006430: 6320 2c20 7029 20cf 8620 7520 3d20 6863 c , p) .. u = hc │ │ │ -00006440: 6f6d 7020 28ce bb20 6920 e286 9220 cebb omp (.. i ... .. │ │ │ -00006450: 207b 2028 cf86 203d 2069 3129 20e2 8692 { (.. = i1) ... │ │ │ -00006460: 2070 2028 7520 313d 3129 2069 0a20 2020 p (u 1=1) i. │ │ │ +00005e80: 2020 2020 6974 4973 4f6e 6520 746f 2031 itIsOne to 1 │ │ │ +00005e90: 3d31 290a 6f70 656e 2069 6d70 6f72 7420 =1).open import │ │ │ +00005ea0: 4167 6461 2e42 7569 6c74 696e 2e43 7562 Agda.Builtin.Cub │ │ │ +00005eb0: 6963 616c 2e50 6174 680a 6f70 656e 2069 ical.Path.open i │ │ │ +00005ec0: 6d70 6f72 7420 4167 6461 2e42 7569 6c74 mport Agda.Built │ │ │ +00005ed0: 696e 2e43 7562 6963 616c 2e53 7562 2072 in.Cubical.Sub r │ │ │ +00005ee0: 656e 616d 696e 6720 2853 7562 2074 6f20 enaming (Sub to │ │ │ +00005ef0: 5f5b 5fe2 86a6 5f5d 290a 696d 706f 7274 _[_..._]).import │ │ │ +00005f00: 2041 6764 612e 4275 696c 7469 6e2e 4375 Agda.Builtin.Cu │ │ │ +00005f10: 6269 6361 6c2e 4843 6f6d 7055 2061 7320 bical.HCompU as │ │ │ +00005f20: 4843 6f6d 7055 0a0a 6d6f 6475 6c65 2048 HCompU..module H │ │ │ +00005f30: 656c 7065 7273 203d 2048 436f 6d70 552e elpers = HCompU. │ │ │ +00005f40: 4865 6c70 6572 730a 0a6f 7065 6e20 4865 Helpers..open He │ │ │ +00005f50: 6c70 6572 730a 0a0a 2d2d 2057 6520 6d61 lpers...-- We ma │ │ │ +00005f60: 6b65 2074 6869 7320 6120 7265 636f 7264 ke this a record │ │ │ +00005f70: 2073 6f20 7468 6174 2069 7345 7175 6976 so that isEquiv │ │ │ +00005f80: 2063 616e 2062 6520 7072 6f76 6564 2075 can be proved u │ │ │ +00005f90: 7369 6e67 0a2d 2d20 636f 7061 7474 6572 sing.-- copatter │ │ │ +00005fa0: 6e73 2e20 5468 6973 2069 7320 676f 6f64 ns. This is good │ │ │ +00005fb0: 2062 6563 6175 7365 2063 6f70 6174 7465 because copatte │ │ │ +00005fc0: 726e 7320 646f 6e27 7420 6765 7420 756e rns don't get un │ │ │ +00005fd0: 666f 6c64 6564 0a2d 2d20 756e 6c65 7373 folded.-- unless │ │ │ +00005fe0: 2061 2070 726f 6a65 6374 696f 6e20 6973 a projection is │ │ │ +00005ff0: 2061 7070 6c69 6564 2073 6f20 6974 2073 applied so it s │ │ │ +00006000: 686f 756c 6420 6265 206d 6f72 6520 6566 hould be more ef │ │ │ +00006010: 6669 6369 656e 742e 0a72 6563 6f72 6420 ficient..record │ │ │ +00006020: 6973 4571 7569 7620 7be2 8493 20e2 8493 isEquiv {... ... │ │ │ +00006030: 277d 207b 4120 3a20 5365 7420 e284 937d '} {A : Set ...} │ │ │ +00006040: 207b 4220 3a20 5365 7420 e284 9327 7d20 {B : Set ...'} │ │ │ +00006050: 2866 203a 2041 20e2 8692 2042 2920 3a20 (f : A ... B) : │ │ │ +00006060: 5365 7420 28e2 8493 20e2 8a94 20e2 8493 Set (... ... ... │ │ │ +00006070: 2729 2077 6865 7265 0a20 206e 6f2d 6574 ') where. no-et │ │ │ +00006080: 612d 6571 7561 6c69 7479 0a20 2066 6965 a-equality. fie │ │ │ +00006090: 6c64 0a20 2020 2065 7175 6976 2d70 726f ld. equiv-pro │ │ │ +000060a0: 6f66 203a 2028 7920 3a20 4229 20e2 8692 of : (y : B) ... │ │ │ +000060b0: 2069 7343 6f6e 7472 2028 6669 6265 7220 isContr (fiber │ │ │ +000060c0: 6620 7929 0a0a 6f70 656e 2069 7345 7175 f y)..open isEqu │ │ │ +000060d0: 6976 2070 7562 6c69 630a 0a69 6e66 6978 iv public..infix │ │ │ +000060e0: 2034 205f e289 835f 0a0a 5fe2 8983 5f20 4 _..._.._..._ │ │ │ +000060f0: 3a20 e288 8020 7be2 8493 20e2 8493 277d : ... {... ...'} │ │ │ +00006100: 2028 4120 3a20 5365 7420 e284 9329 2028 (A : Set ...) ( │ │ │ +00006110: 4220 3a20 5365 7420 e284 9327 2920 e286 B : Set ...') .. │ │ │ +00006120: 9220 5365 7420 28e2 8493 20e2 8a94 20e2 . Set (... ... . │ │ │ +00006130: 8493 2729 0a41 20e2 8983 2042 203d 20ce ..').A ... B = . │ │ │ +00006140: a320 2841 20e2 8692 2042 2920 5c20 6620 . (A ... B) \ f │ │ │ +00006150: e286 9220 2869 7345 7175 6976 2066 290a ... (isEquiv f). │ │ │ +00006160: 0a65 7175 6976 4675 6e20 3a20 e288 8020 .equivFun : ... │ │ │ +00006170: 7be2 8493 20e2 8493 277d 207b 4120 3a20 {... ...'} {A : │ │ │ +00006180: 5365 7420 e284 937d 207b 4220 3a20 5365 Set ...} {B : Se │ │ │ +00006190: 7420 e284 9327 7d20 e286 9220 4120 e289 t ...'} ... A .. │ │ │ +000061a0: 8320 4220 e286 9220 4120 e286 9220 420a . B ... A ... B. │ │ │ +000061b0: 6571 7569 7646 756e 2065 203d 2066 7374 equivFun e = fst │ │ │ +000061c0: 2065 0a0a 2d2d 2049 6d70 726f 7665 6420 e..-- Improved │ │ │ +000061d0: 7665 7273 696f 6e20 6f66 2065 7175 6976 version of equiv │ │ │ +000061e0: 5072 6f6f 6620 636f 6d70 6172 6564 2074 Proof compared t │ │ │ +000061f0: 6f20 4c65 6d6d 6120 3520 696e 2043 4348 o Lemma 5 in CCH │ │ │ +00006200: 4d2e 2057 6520 7075 740a 2d2d 2074 6865 M. We put.-- the │ │ │ +00006210: 2028 cf86 203d 2069 3029 2066 6163 6520 (.. = i0) face │ │ │ +00006220: 696e 2063 6f6e 7472 2720 6d61 6b69 6e67 in contr' making │ │ │ +00006230: 2069 7420 6265 2064 6566 696e 6974 696f it be definitio │ │ │ +00006240: 6e61 6c6c 7920 6320 696e 2074 6869 730a nally c in this. │ │ │ +00006250: 2d2d 2063 6173 652e 2054 6869 7320 6d61 -- case. This ma │ │ │ +00006260: 6b65 7320 7468 6520 636f 6d70 7574 6174 kes the computat │ │ │ +00006270: 696f 6e61 6c20 6265 6861 7669 6f72 2062 ional behavior b │ │ │ +00006280: 6574 7465 722c 2069 6e20 7061 7274 6963 etter, in partic │ │ │ +00006290: 756c 6172 0a2d 2d20 666f 7220 7472 616e ular.-- for tran │ │ │ +000062a0: 7370 2069 6e20 476c 7565 2e0a 6571 7569 sp in Glue..equi │ │ │ +000062b0: 7650 726f 6f66 203a 20e2 8880 207b 6c61 vProof : ... {la │ │ │ +000062c0: 206c 747d 2028 5420 3a20 5365 7420 6c61 lt} (T : Set la │ │ │ +000062d0: 2920 2841 203a 2053 6574 206c 7429 20e2 ) (A : Set lt) . │ │ │ +000062e0: 8692 2028 7720 3a20 5420 e289 8320 4129 .. (w : T ... A) │ │ │ +000062f0: 20e2 8692 2028 6120 3a20 4129 0a20 2020 ... (a : A). │ │ │ +00006300: 2020 2020 2020 2020 e286 9220 e288 8020 ... ... │ │ │ +00006310: cf88 2028 6620 3a20 5061 7274 6961 6c20 .. (f : Partial │ │ │ +00006320: cf88 2028 6669 6265 7220 2877 202e 6673 .. (fiber (w .fs │ │ │ +00006330: 7429 2061 2929 20e2 8692 2066 6962 6572 t) a)) ... fiber │ │ │ +00006340: 2028 7720 2e66 7374 2920 6120 5b20 cf88 (w .fst) a [ .. │ │ │ +00006350: 20e2 86a6 2066 205d 0a65 7175 6976 5072 ... f ].equivPr │ │ │ +00006360: 6f6f 6620 4120 4220 7720 6120 cf88 2066 oof A B w a .. f │ │ │ +00006370: 6220 3d0a 2020 696e 5320 2863 6f6e 7472 b =. inS (contr │ │ │ +00006380: 2720 7b41 203d 2066 6962 6572 2028 7720 ' {A = fiber (w │ │ │ +00006390: 2e66 7374 2920 617d 2028 7720 2e73 6e64 .fst) a} (w .snd │ │ │ +000063a0: 202e 6571 7569 762d 7072 6f6f 6620 6129 .equiv-proof a) │ │ │ +000063b0: 20cf 8820 6662 290a 2020 7768 6572 650a .. fb). where. │ │ │ +000063c0: 2020 2020 636f 6e74 7227 203a 20e2 8880 contr' : ... │ │ │ +000063d0: 207b e284 937d 207b 4120 3a20 5365 7420 {...} {A : Set │ │ │ +000063e0: e284 937d 20e2 8692 2069 7343 6f6e 7472 ...} ... isContr │ │ │ +000063f0: 2041 20e2 8692 2028 cf86 203a 2049 2920 A ... (.. : I) │ │ │ +00006400: e286 9220 2875 203a 2050 6172 7469 616c ... (u : Partial │ │ │ +00006410: 20cf 8620 4129 20e2 8692 2041 0a20 2020 .. A) ... A. │ │ │ +00006420: 2063 6f6e 7472 2720 7b41 203d 2041 7d20 contr' {A = A} │ │ │ +00006430: 2863 202c 2070 2920 cf86 2075 203d 2068 (c , p) .. u = h │ │ │ +00006440: 636f 6d70 2028 cebb 2069 20e2 8692 20ce comp (.. i ... . │ │ │ +00006450: bb20 7b20 28cf 8620 3d20 6931 2920 e286 . { (.. = i1) .. │ │ │ +00006460: 9220 7020 2875 2031 3d31 2920 690a 2020 . p (u 1=1) i. │ │ │ 00006470: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 00006480: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00006490: 2020 2020 2020 2020 2020 2020 203b 2028 ; ( │ │ │ -000064a0: cf86 203d 2069 3029 20e2 8692 2063 207d .. = i0) ... c } │ │ │ -000064b0: 2920 630a 0a0a 7b2d 2320 4255 494c 5449 ) c...{-# BUILTI │ │ │ -000064c0: 4e20 4551 5549 5620 2020 2020 205f e289 N EQUIV _.. │ │ │ -000064d0: 835f 2020 2020 2020 2020 232d 7d0a 7b2d ._ #-}.{- │ │ │ -000064e0: 2320 4255 494c 5449 4e20 4551 5549 5646 # BUILTIN EQUIVF │ │ │ -000064f0: 554e 2020 2065 7175 6976 4675 6e20 2020 UN equivFun │ │ │ -00006500: 232d 7d0a 7b2d 2320 4255 494c 5449 4e20 #-}.{-# BUILTIN │ │ │ -00006510: 4551 5549 5650 524f 4f46 2065 7175 6976 EQUIVPROOF equiv │ │ │ -00006520: 5072 6f6f 6620 232d 7d0a 0a6d 6f64 756c Proof #-}..modul │ │ │ -00006530: 6520 5f20 7be2 8493 203a 2049 20e2 8692 e _ {... : I ... │ │ │ -00006540: 204c 6576 656c 7d20 2850 203a 2028 6920 Level} (P : (i │ │ │ -00006550: 3a20 4929 20e2 8692 2053 6574 2028 e284 : I) ... Set (.. │ │ │ -00006560: 9320 6929 2920 7768 6572 650a 2020 7072 . i)) where. pr │ │ │ -00006570: 6976 6174 650a 2020 2020 4520 3a20 2869 ivate. E : (i │ │ │ -00006580: 203a 2049 2920 e286 9220 5365 7420 28e2 : I) ... Set (. │ │ │ -00006590: 8493 2069 290a 2020 2020 4520 203d 20ce .. i). E = . │ │ │ -000065a0: bb20 6920 e286 9220 5020 690a 2020 2020 . i ... P i. │ │ │ -000065b0: 7e45 203a 2028 6920 3a20 4929 20e2 8692 ~E : (i : I) ... │ │ │ -000065c0: 2053 6574 2028 e284 9320 287e 2069 2929 Set (... (~ i)) │ │ │ -000065d0: 0a20 2020 207e 4520 3d20 cebb 2069 20e2 . ~E = .. i . │ │ │ -000065e0: 8692 2050 2028 7e20 6929 0a0a 2020 2020 .. P (~ i).. │ │ │ -000065f0: 4120 3d20 5020 6930 0a20 2020 2042 203d A = P i0. B = │ │ │ -00006600: 2050 2069 310a 0a20 2020 2066 203a 2041 P i1.. f : A │ │ │ -00006610: 20e2 8692 2042 0a20 2020 2066 2078 203d ... B. f x = │ │ │ -00006620: 2074 7261 6e73 7020 4520 6930 2078 0a0a transp E i0 x.. │ │ │ -00006630: 2020 2020 6720 3a20 4220 e286 9220 410a g : B ... A. │ │ │ -00006640: 2020 2020 6720 7920 3d20 7472 616e 7370 g y = transp │ │ │ -00006650: 207e 4520 6930 2079 0a0a 2020 2020 7520 ~E i0 y.. u │ │ │ -00006660: 3a20 e288 8020 6920 e286 9220 4120 e286 : ... i ... A .. │ │ │ -00006670: 9220 4520 690a 2020 2020 7520 6920 7820 . E i. u i x │ │ │ -00006680: 3d20 7472 616e 7370 2028 cebb 206a 20e2 = transp (.. j . │ │ │ -00006690: 8692 2045 2028 6920 e288 a720 6a29 2920 .. E (i ... j)) │ │ │ -000066a0: 287e 2069 2920 780a 0a20 2020 2076 203a (~ i) x.. v : │ │ │ -000066b0: 20e2 8880 2069 20e2 8692 2042 20e2 8692 ... i ... B ... │ │ │ -000066c0: 2045 2069 0a20 2020 2076 2069 2079 203d E i. v i y = │ │ │ -000066d0: 2074 7261 6e73 7020 28ce bb20 6a20 e286 transp (.. j .. │ │ │ -000066e0: 9220 7e45 2028 207e 2069 20e2 88a7 206a . ~E ( ~ i ... j │ │ │ -000066f0: 2929 2069 2079 0a0a 2020 2020 6669 6265 )) i y.. fibe │ │ │ -00006700: 7250 6174 6820 3a20 2879 203a 2042 2920 rPath : (y : B) │ │ │ -00006710: e286 9220 2878 ceb2 3020 78ce b231 203a ... (x..0 x..1 : │ │ │ -00006720: 2066 6962 6572 2066 2079 2920 e286 9220 fiber f y) ... │ │ │ -00006730: 78ce b230 20e2 89a1 2078 ceb2 310a 2020 x..0 ... x..1. │ │ │ -00006740: 2020 6669 6265 7250 6174 6820 7920 2878 fiberPath y (x │ │ │ -00006750: 3020 2c20 ceb2 3029 2028 7831 202c 20ce 0 , ..0) (x1 , . │ │ │ -00006760: b231 2920 6b20 3d20 cf89 202c 20ce bb20 .1) k = .. , .. │ │ │ -00006770: 6a20 e286 9220 ceb4 2028 7e20 6a29 2077 j ... .. (~ j) w │ │ │ -00006780: 6865 7265 0a20 2020 2020 206d 6f64 756c here. modul │ │ │ -00006790: 6520 5f20 286a 203a 2049 2920 7768 6572 e _ (j : I) wher │ │ │ -000067a0: 650a 2020 2020 2020 2020 7072 6976 6174 e. privat │ │ │ -000067b0: 650a 2020 2020 2020 2020 2020 7379 7320 e. sys │ │ │ -000067c0: 3a20 4120 e286 9220 e288 8020 6920 e286 : A ... ... i .. │ │ │ -000067d0: 9220 5061 7274 6961 6c50 2028 7e20 6a20 . PartialP (~ j │ │ │ -000067e0: e288 a820 6a29 2028 cebb 205f 20e2 8692 ... j) (.. _ ... │ │ │ -000067f0: 2045 2028 7e20 6929 290a 2020 2020 2020 E (~ i)). │ │ │ -00006800: 2020 2020 7379 7320 7820 6920 286a 203d sys x i (j = │ │ │ -00006810: 2069 3029 203d 2076 2028 7e20 6929 2079 i0) = v (~ i) y │ │ │ -00006820: 0a20 2020 2020 2020 2020 2073 7973 2078 . sys x │ │ │ -00006830: 2069 2028 6a20 3d20 6931 2920 3d20 7520 i (j = i1) = u │ │ │ -00006840: 287e 2069 2920 780a 2020 2020 2020 2020 (~ i) x. │ │ │ -00006850: cf89 3020 3d20 636f 6d70 207e 4520 2873 ..0 = comp ~E (s │ │ │ -00006860: 7973 2078 3029 2028 28ce b230 2028 7e20 ys x0) ((..0 (~ │ │ │ -00006870: 6a29 2929 0a20 2020 2020 2020 20cf 8931 j))). ..1 │ │ │ -00006880: 203d 2063 6f6d 7020 7e45 2028 7379 7320 = comp ~E (sys │ │ │ -00006890: 7831 2920 2828 ceb2 3120 287e 206a 2929 x1) ((..1 (~ j)) │ │ │ -000068a0: 290a 2020 2020 2020 2020 ceb8 3020 3d20 ). ..0 = │ │ │ -000068b0: 6669 6c6c 207e 4520 2873 7973 2078 3029 fill ~E (sys x0) │ │ │ -000068c0: 2028 696e 5320 28ce b230 2028 7e20 6a29 (inS (..0 (~ j) │ │ │ -000068d0: 2929 0a20 2020 2020 2020 20ce b831 203d )). ..1 = │ │ │ -000068e0: 2066 696c 6c20 7e45 2028 7379 7320 7831 fill ~E (sys x1 │ │ │ -000068f0: 2920 2869 6e53 2028 ceb2 3120 287e 206a ) (inS (..1 (~ j │ │ │ -00006900: 2929 290a 2020 2020 2020 7379 7320 3d20 ))). sys = │ │ │ -00006910: cebb 207b 6a20 286b 203d 2069 3029 20e2 .. {j (k = i0) . │ │ │ -00006920: 8692 20cf 8930 206a 203b 206a 2028 6b20 .. ..0 j ; j (k │ │ │ -00006930: 3d20 6931 2920 e286 9220 cf89 3120 6a7d = i1) ... ..1 j} │ │ │ -00006940: 0a20 2020 2020 20cf 8920 3d20 6863 6f6d . .. = hcom │ │ │ -00006950: 7020 7379 7320 2867 2079 290a 2020 2020 p sys (g y). │ │ │ -00006960: 2020 ceb8 203d 2068 6669 6c6c 2073 7973 .. = hfill sys │ │ │ -00006970: 2028 696e 5320 2867 2079 2929 0a20 2020 (inS (g y)). │ │ │ -00006980: 2020 20ce b420 3d20 cebb 2028 6a20 3a20 .. = .. (j : │ │ │ -00006990: 4929 20e2 8692 2063 6f6d 7020 450a 2020 I) ... comp E. │ │ │ -000069a0: 2020 2020 2020 2020 2020 28ce bb20 6920 (.. i │ │ │ -000069b0: e286 9220 cebb 207b 2028 6a20 3d20 6930 ... .. { (j = i0 │ │ │ -000069c0: 2920 e286 9220 7620 6920 7920 3b20 286b ) ... v i y ; (k │ │ │ -000069d0: 203d 2069 3029 20e2 8692 20ce b830 206a = i0) ... ..0 j │ │ │ -000069e0: 2028 7e20 6929 0a20 2020 2020 2020 2020 (~ i). │ │ │ -000069f0: 2020 2020 2020 2020 2020 2020 3b20 286a ; (j │ │ │ -00006a00: 203d 2069 3129 20e2 8692 2075 2069 20cf = i1) ... u i . │ │ │ -00006a10: 8920 3b20 286b 203d 2069 3129 20e2 8692 . ; (k = i1) ... │ │ │ -00006a20: 20ce b831 206a 2028 7e20 6929 207d 290a ..1 j (~ i) }). │ │ │ -00006a30: 2020 2020 2020 2020 2020 2020 2028 ceb8 (.. │ │ │ -00006a40: 206a 290a 0a20 2020 20ce b320 3a20 2879 j).. .. : (y │ │ │ -00006a50: 203a 2042 2920 e286 9220 7920 e289 a120 : B) ... y ... │ │ │ -00006a60: 6620 2867 2079 290a 2020 2020 ceb3 2079 f (g y). .. y │ │ │ -00006a70: 206a 203d 2063 6f6d 7020 4520 28ce bb20 j = comp E (.. │ │ │ -00006a80: 6920 e286 9220 cebb 207b 2028 6a20 3d20 i ... .. { (j = │ │ │ -00006a90: 6930 2920 e286 9220 7620 6920 790a 2020 i0) ... v i y. │ │ │ +00006490: 2020 2020 2020 2020 2020 2020 2020 3b20 ; │ │ │ +000064a0: 28cf 8620 3d20 6930 2920 e286 9220 6320 (.. = i0) ... c │ │ │ +000064b0: 7d29 2063 0a0a 0a7b 2d23 2042 5549 4c54 }) c...{-# BUILT │ │ │ +000064c0: 494e 2045 5155 4956 2020 2020 2020 5fe2 IN EQUIV _. │ │ │ +000064d0: 8983 5f20 2020 2020 2020 2023 2d7d 0a7b .._ #-}.{ │ │ │ +000064e0: 2d23 2042 5549 4c54 494e 2045 5155 4956 -# BUILTIN EQUIV │ │ │ +000064f0: 4655 4e20 2020 6571 7569 7646 756e 2020 FUN equivFun │ │ │ +00006500: 2023 2d7d 0a7b 2d23 2042 5549 4c54 494e #-}.{-# BUILTIN │ │ │ +00006510: 2045 5155 4956 5052 4f4f 4620 6571 7569 EQUIVPROOF equi │ │ │ +00006520: 7650 726f 6f66 2023 2d7d 0a0a 6d6f 6475 vProof #-}..modu │ │ │ +00006530: 6c65 205f 207b e284 9320 3a20 4920 e286 le _ {... : I .. │ │ │ +00006540: 9220 4c65 7665 6c7d 2028 5020 3a20 2869 . Level} (P : (i │ │ │ +00006550: 203a 2049 2920 e286 9220 5365 7420 28e2 : I) ... Set (. │ │ │ +00006560: 8493 2069 2929 2077 6865 7265 0a20 2070 .. i)) where. p │ │ │ +00006570: 7269 7661 7465 0a20 2020 2045 203a 2028 rivate. E : ( │ │ │ +00006580: 6920 3a20 4929 20e2 8692 2053 6574 2028 i : I) ... Set ( │ │ │ +00006590: e284 9320 6929 0a20 2020 2045 2020 3d20 ... i). E = │ │ │ +000065a0: cebb 2069 20e2 8692 2050 2069 0a20 2020 .. i ... P i. │ │ │ +000065b0: 207e 4520 3a20 2869 203a 2049 2920 e286 ~E : (i : I) .. │ │ │ +000065c0: 9220 5365 7420 28e2 8493 2028 7e20 6929 . Set (... (~ i) │ │ │ +000065d0: 290a 2020 2020 7e45 203d 20ce bb20 6920 ). ~E = .. i │ │ │ +000065e0: e286 9220 5020 287e 2069 290a 0a20 2020 ... P (~ i).. │ │ │ +000065f0: 2041 203d 2050 2069 300a 2020 2020 4220 A = P i0. B │ │ │ +00006600: 3d20 5020 6931 0a0a 2020 2020 6620 3a20 = P i1.. f : │ │ │ +00006610: 4120 e286 9220 420a 2020 2020 6620 7820 A ... B. f x │ │ │ +00006620: 3d20 7472 616e 7370 2045 2069 3020 780a = transp E i0 x. │ │ │ +00006630: 0a20 2020 2067 203a 2042 20e2 8692 2041 . g : B ... A │ │ │ +00006640: 0a20 2020 2067 2079 203d 2074 7261 6e73 . g y = trans │ │ │ +00006650: 7020 7e45 2069 3020 790a 0a20 2020 2075 p ~E i0 y.. u │ │ │ +00006660: 203a 20e2 8880 2069 20e2 8692 2041 20e2 : ... i ... A . │ │ │ +00006670: 8692 2045 2069 0a20 2020 2075 2069 2078 .. E i. u i x │ │ │ +00006680: 203d 2074 7261 6e73 7020 28ce bb20 6a20 = transp (.. j │ │ │ +00006690: e286 9220 4520 2869 20e2 88a7 206a 2929 ... E (i ... j)) │ │ │ +000066a0: 2028 7e20 6929 2078 0a0a 2020 2020 7620 (~ i) x.. v │ │ │ +000066b0: 3a20 e288 8020 6920 e286 9220 4220 e286 : ... i ... B .. │ │ │ +000066c0: 9220 4520 690a 2020 2020 7620 6920 7920 . E i. v i y │ │ │ +000066d0: 3d20 7472 616e 7370 2028 cebb 206a 20e2 = transp (.. j . │ │ │ +000066e0: 8692 207e 4520 2820 7e20 6920 e288 a720 .. ~E ( ~ i ... │ │ │ +000066f0: 6a29 2920 6920 790a 0a20 2020 2066 6962 j)) i y.. fib │ │ │ +00006700: 6572 5061 7468 203a 2028 7920 3a20 4229 erPath : (y : B) │ │ │ +00006710: 20e2 8692 2028 78ce b230 2078 ceb2 3120 ... (x..0 x..1 │ │ │ +00006720: 3a20 6669 6265 7220 6620 7929 20e2 8692 : fiber f y) ... │ │ │ +00006730: 2078 ceb2 3020 e289 a120 78ce b231 0a20 x..0 ... x..1. │ │ │ +00006740: 2020 2066 6962 6572 5061 7468 2079 2028 fiberPath y ( │ │ │ +00006750: 7830 202c 20ce b230 2920 2878 3120 2c20 x0 , ..0) (x1 , │ │ │ +00006760: ceb2 3129 206b 203d 20cf 8920 2c20 cebb ..1) k = .. , .. │ │ │ +00006770: 206a 20e2 8692 20ce b420 287e 206a 2920 j ... .. (~ j) │ │ │ +00006780: 7768 6572 650a 2020 2020 2020 6d6f 6475 where. modu │ │ │ +00006790: 6c65 205f 2028 6a20 3a20 4929 2077 6865 le _ (j : I) whe │ │ │ +000067a0: 7265 0a20 2020 2020 2020 2070 7269 7661 re. priva │ │ │ +000067b0: 7465 0a20 2020 2020 2020 2020 2073 7973 te. sys │ │ │ +000067c0: 203a 2041 20e2 8692 20e2 8880 2069 20e2 : A ... ... i . │ │ │ +000067d0: 8692 2050 6172 7469 616c 5020 287e 206a .. PartialP (~ j │ │ │ +000067e0: 20e2 88a8 206a 2920 28ce bb20 5f20 e286 ... j) (.. _ .. │ │ │ +000067f0: 9220 4520 287e 2069 2929 0a20 2020 2020 . E (~ i)). │ │ │ +00006800: 2020 2020 2073 7973 2078 2069 2028 6a20 sys x i (j │ │ │ +00006810: 3d20 6930 2920 3d20 7620 287e 2069 2920 = i0) = v (~ i) │ │ │ +00006820: 790a 2020 2020 2020 2020 2020 7379 7320 y. sys │ │ │ +00006830: 7820 6920 286a 203d 2069 3129 203d 2075 x i (j = i1) = u │ │ │ +00006840: 2028 7e20 6929 2078 0a20 2020 2020 2020 (~ i) x. │ │ │ +00006850: 20cf 8930 203d 2063 6f6d 7020 7e45 2028 ..0 = comp ~E ( │ │ │ +00006860: 7379 7320 7830 2920 2828 ceb2 3020 287e sys x0) ((..0 (~ │ │ │ +00006870: 206a 2929 290a 2020 2020 2020 2020 cf89 j))). .. │ │ │ +00006880: 3120 3d20 636f 6d70 207e 4520 2873 7973 1 = comp ~E (sys │ │ │ +00006890: 2078 3129 2028 28ce b231 2028 7e20 6a29 x1) ((..1 (~ j) │ │ │ +000068a0: 2929 0a20 2020 2020 2020 20ce b830 203d )). ..0 = │ │ │ +000068b0: 2066 696c 6c20 7e45 2028 7379 7320 7830 fill ~E (sys x0 │ │ │ +000068c0: 2920 2869 6e53 2028 ceb2 3020 287e 206a ) (inS (..0 (~ j │ │ │ +000068d0: 2929 290a 2020 2020 2020 2020 ceb8 3120 ))). ..1 │ │ │ +000068e0: 3d20 6669 6c6c 207e 4520 2873 7973 2078 = fill ~E (sys x │ │ │ +000068f0: 3129 2028 696e 5320 28ce b231 2028 7e20 1) (inS (..1 (~ │ │ │ +00006900: 6a29 2929 0a20 2020 2020 2073 7973 203d j))). sys = │ │ │ +00006910: 20ce bb20 7b6a 2028 6b20 3d20 6930 2920 .. {j (k = i0) │ │ │ +00006920: e286 9220 cf89 3020 6a20 3b20 6a20 286b ... ..0 j ; j (k │ │ │ +00006930: 203d 2069 3129 20e2 8692 20cf 8931 206a = i1) ... ..1 j │ │ │ +00006940: 7d0a 2020 2020 2020 cf89 203d 2068 636f }. .. = hco │ │ │ +00006950: 6d70 2073 7973 2028 6720 7929 0a20 2020 mp sys (g y). │ │ │ +00006960: 2020 20ce b820 3d20 6866 696c 6c20 7379 .. = hfill sy │ │ │ +00006970: 7320 2869 6e53 2028 6720 7929 290a 2020 s (inS (g y)). │ │ │ +00006980: 2020 2020 ceb4 203d 20ce bb20 286a 203a .. = .. (j : │ │ │ +00006990: 2049 2920 e286 9220 636f 6d70 2045 0a20 I) ... comp E. │ │ │ +000069a0: 2020 2020 2020 2020 2020 2028 cebb 2069 (.. i │ │ │ +000069b0: 20e2 8692 20ce bb20 7b20 286a 203d 2069 ... .. { (j = i │ │ │ +000069c0: 3029 20e2 8692 2076 2069 2079 203b 2028 0) ... v i y ; ( │ │ │ +000069d0: 6b20 3d20 6930 2920 e286 9220 ceb8 3020 k = i0) ... ..0 │ │ │ +000069e0: 6a20 287e 2069 290a 2020 2020 2020 2020 j (~ i). │ │ │ +000069f0: 2020 2020 2020 2020 2020 2020 203b 2028 ; ( │ │ │ +00006a00: 6a20 3d20 6931 2920 e286 9220 7520 6920 j = i1) ... u i │ │ │ +00006a10: cf89 203b 2028 6b20 3d20 6931 2920 e286 .. ; (k = i1) .. │ │ │ +00006a20: 9220 ceb8 3120 6a20 287e 2069 2920 7d29 . ..1 j (~ i) }) │ │ │ +00006a30: 0a20 2020 2020 2020 2020 2020 2020 28ce . (. │ │ │ +00006a40: b820 6a29 0a0a 2020 2020 ceb3 203a 2028 . j).. .. : ( │ │ │ +00006a50: 7920 3a20 4229 20e2 8692 2079 20e2 89a1 y : B) ... y ... │ │ │ +00006a60: 2066 2028 6720 7929 0a20 2020 20ce b320 f (g y). .. │ │ │ +00006a70: 7920 6a20 3d20 636f 6d70 2045 2028 cebb y j = comp E (.. │ │ │ +00006a80: 2069 20e2 8692 20ce bb20 7b20 286a 203d i ... .. { (j = │ │ │ +00006a90: 2069 3029 20e2 8692 2076 2069 2079 0a20 i0) ... v i y. │ │ │ 00006aa0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00006ab0: 2020 2020 2020 2020 2020 3b20 286a 203d ; (j = │ │ │ -00006ac0: 2069 3129 20e2 8692 2075 2069 2028 6720 i1) ... u i (g │ │ │ -00006ad0: 7929 207d 2920 2867 2079 290a 0a20 2070 y) }) (g y).. p │ │ │ -00006ae0: 6174 6854 6f69 7345 7175 6976 203a 2069 athToisEquiv : i │ │ │ -00006af0: 7345 7175 6976 2066 0a20 2070 6174 6854 sEquiv f. pathT │ │ │ -00006b00: 6f69 7345 7175 6976 202e 6571 7569 762d oisEquiv .equiv- │ │ │ -00006b10: 7072 6f6f 6620 7920 2e66 7374 202e 6673 proof y .fst .fs │ │ │ -00006b20: 7420 3d20 6720 790a 2020 7061 7468 546f t = g y. pathTo │ │ │ -00006b30: 6973 4571 7569 7620 2e65 7175 6976 2d70 isEquiv .equiv-p │ │ │ -00006b40: 726f 6f66 2079 202e 6673 7420 2e73 6e64 roof y .fst .snd │ │ │ -00006b50: 203d 2073 796d 2028 ceb3 2079 290a 2020 = sym (.. y). │ │ │ -00006b60: 7061 7468 546f 6973 4571 7569 7620 2e65 pathToisEquiv .e │ │ │ -00006b70: 7175 6976 2d70 726f 6f66 2079 202e 736e quiv-proof y .sn │ │ │ -00006b80: 6420 3d20 6669 6265 7250 6174 6820 7920 d = fiberPath y │ │ │ -00006b90: 5f0a 0a20 2070 6174 6854 6f45 7175 6976 _.. pathToEquiv │ │ │ -00006ba0: 203a 2041 20e2 8983 2042 0a20 2070 6174 : A ... B. pat │ │ │ -00006bb0: 6854 6f45 7175 6976 202e 6673 7420 3d20 hToEquiv .fst = │ │ │ -00006bc0: 660a 2020 7061 7468 546f 4571 7569 7620 f. pathToEquiv │ │ │ -00006bd0: 2e73 6e64 203d 2070 6174 6854 6f69 7345 .snd = pathToisE │ │ │ -00006be0: 7175 6976 0a9f deb4 a29a f9fd dcce 01d9 quiv............ │ │ │ -00006bf0: e8c3 c1fe d7dd 8e7a 006b 0000 6c33 05b4 .......z.k..l3.. │ │ │ -00006c00: 8080 e608 0000 0005 2000 0001 0001 0004 ........ ....... │ │ │ -00006c10: 0408 0307 0286 8080 ec08 0200 0003 0f00 ................ │ │ │ -00006c20: 0505 050b 8780 80ec 0801 0520 0000 010b ........... .... │ │ │ -00006c30: 760b 77c9 c8a8 cbb3 9ba6 b170 fc94 9487 v.w........p.... │ │ │ -00006c40: e793 b89b 0100 7800 006c 6d05 2000 0001 ......x..lm. ... │ │ │ -00006c50: 0004 0408 0307 025e 0200 0003 0f00 0505 .......^........ │ │ │ -00006c60: 050b 5f0b 790b 6109 0601 00ed 05dd 98aa .._.y.a......... │ │ │ -00006c70: 8af0 b1c6 91ff 01fa e7c7 b097 f29d a494 ................ │ │ │ -00006c80: 0100 7900 006f 8c05 8280 80e6 0800 0001 ..y..o.......... │ │ │ -00006c90: 0003 0407 0402 0000 030f 0009 01ed 057b ...............{ │ │ │ -00006ca0: 2d23 204f 5054 494f 4e53 202d 2d63 7562 -# OPTIONS --cub │ │ │ -00006cb0: 6963 616c 202d 2d73 6166 6520 2d2d 6e6f ical --safe --no │ │ │ -00006cc0: 2d73 697a 6564 2d74 7970 6573 202d 2d6e -sized-types --n │ │ │ -00006cd0: 6f2d 6775 6172 6465 646e 6573 7320 232d o-guardedness #- │ │ │ -00006ce0: 7d0a 0a6d 6f64 756c 6520 4167 6461 2e42 }..module Agda.B │ │ │ -00006cf0: 7569 6c74 696e 2e43 7562 6963 616c 2e47 uiltin.Cubical.G │ │ │ -00006d00: 6c75 6520 7768 6572 650a 0a6f 7065 6e20 lue where..open │ │ │ -00006d10: 696d 706f 7274 2041 6764 612e 5072 696d import Agda.Prim │ │ │ -00006d20: 6974 6976 650a 6f70 656e 2069 6d70 6f72 itive.open impor │ │ │ -00006d30: 7420 4167 6461 2e50 7269 6d69 7469 7665 t Agda.Primitive │ │ │ -00006d40: 2e43 7562 6963 616c 0a6f 7065 6e20 696d .Cubical.open im │ │ │ -00006d50: 706f 7274 2041 6764 612e 4275 696c 7469 port Agda.Builti │ │ │ -00006d60: 6e2e 4375 6269 6361 6c2e 4571 7569 7620 n.Cubical.Equiv │ │ │ -00006d70: 7075 626c 6963 0a0a 7072 696d 6974 6976 public..primitiv │ │ │ -00006d80: 650a 2020 2020 7072 696d 476c 7565 2020 e. primGlue │ │ │ -00006d90: 2020 3a20 e288 8020 7be2 8493 20e2 8493 : ... {... ... │ │ │ -00006da0: 277d 2028 4120 3a20 5365 7420 e284 9329 '} (A : Set ...) │ │ │ -00006db0: 207b cf86 203a 2049 7d0a 2020 2020 2020 {.. : I}. │ │ │ -00006dc0: e286 9220 2854 203a 2050 6172 7469 616c ... (T : Partial │ │ │ -00006dd0: 20cf 8620 2853 6574 20e2 8493 2729 2920 .. (Set ...')) │ │ │ -00006de0: e286 9220 2865 203a 2050 6172 7469 616c ... (e : Partial │ │ │ -00006df0: 5020 cf86 2028 cebb 206f 20e2 8692 2054 P .. (.. o ... T │ │ │ -00006e00: 206f 20e2 8983 2041 2929 0a20 2020 2020 o ... A)). │ │ │ -00006e10: 20e2 8692 2053 6574 20e2 8493 270a 2020 ... Set ...'. │ │ │ -00006e20: 2020 7072 696d 5e67 6c75 6520 2020 3a20 prim^glue : │ │ │ -00006e30: e288 8020 7be2 8493 20e2 8493 277d 207b ... {... ...'} { │ │ │ -00006e40: 4120 3a20 5365 7420 e284 937d 207b cf86 A : Set ...} {.. │ │ │ -00006e50: 203a 2049 7d0a 2020 2020 2020 e286 9220 : I}. ... │ │ │ -00006e60: 7b54 203a 2050 6172 7469 616c 20cf 8620 {T : Partial .. │ │ │ -00006e70: 2853 6574 20e2 8493 2729 7d20 e286 9220 (Set ...')} ... │ │ │ -00006e80: 7b65 203a 2050 6172 7469 616c 5020 cf86 {e : PartialP .. │ │ │ -00006e90: 2028 cebb 206f 20e2 8692 2054 206f 20e2 (.. o ... T o . │ │ │ -00006ea0: 8983 2041 297d 0a20 2020 2020 20e2 8692 .. A)}. ... │ │ │ -00006eb0: 2028 7420 3a20 5061 7274 6961 6c50 20cf (t : PartialP . │ │ │ -00006ec0: 8620 5429 20e2 8692 2028 6120 3a20 4129 . T) ... (a : A) │ │ │ -00006ed0: 20e2 8692 2070 7269 6d47 6c75 6520 4120 ... primGlue A │ │ │ -00006ee0: 5420 650a 2020 2020 7072 696d 5e75 6e67 T e. prim^ung │ │ │ -00006ef0: 6c75 6520 3a20 e288 8020 7be2 8493 20e2 lue : ... {... . │ │ │ -00006f00: 8493 277d 207b 4120 3a20 5365 7420 e284 ..'} {A : Set .. │ │ │ -00006f10: 937d 207b cf86 203a 2049 7d0a 2020 2020 .} {.. : I}. │ │ │ -00006f20: 2020 e286 9220 7b54 203a 2050 6172 7469 ... {T : Parti │ │ │ -00006f30: 616c 20cf 8620 2853 6574 20e2 8493 2729 al .. (Set ...') │ │ │ -00006f40: 7d20 e286 9220 7b65 203a 2050 6172 7469 } ... {e : Parti │ │ │ -00006f50: 616c 5020 cf86 2028 cebb 206f 20e2 8692 alP .. (.. o ... │ │ │ -00006f60: 2054 206f 20e2 8983 2041 297d 0a20 2020 T o ... A)}. │ │ │ -00006f70: 2020 20e2 8692 2070 7269 6d47 6c75 6520 ... primGlue │ │ │ -00006f80: 4120 5420 6520 e286 9220 410a 82a1 83fc A T e ... A..... │ │ │ -00006f90: b1ee 9ea3 9501 ebef fff1 cbfd b4f3 3700 ..............7. │ │ │ -00006fa0: 7a00 006f c705 2000 0001 0004 0408 0307 z..o.. ......... │ │ │ -00006fb0: 025e 0200 0003 0f00 0505 050b 5f0b 7b0b .^.........._.{. │ │ │ -00006fc0: 6109 0601 00df 03bd c9be a1d6 fa85 858c a............... │ │ │ -00006fd0: 0185 dc9c f6cb a8f6 9638 007b 0000 71d7 .........8.{..q. │ │ │ -00006fe0: 0582 8080 e608 0000 0100 0304 0704 0200 ................ │ │ │ -00006ff0: 0003 0f00 0901 df03 7b2d 2320 4f50 5449 ........{-# OPTI │ │ │ -00007000: 4f4e 5320 2d2d 6572 6173 6564 2d63 7562 ONS --erased-cub │ │ │ -00007010: 6963 616c 202d 2d73 6166 6520 2d2d 6e6f ical --safe --no │ │ │ -00007020: 2d73 697a 6564 2d74 7970 6573 202d 2d6e -sized-types --n │ │ │ -00007030: 6f2d 6775 6172 6465 646e 6573 7320 232d o-guardedness #- │ │ │ -00007040: 7d0a 0a6d 6f64 756c 6520 4167 6461 2e42 }..module Agda.B │ │ │ -00007050: 7569 6c74 696e 2e43 7562 6963 616c 2e53 uiltin.Cubical.S │ │ │ -00007060: 7562 2077 6865 7265 0a0a 2020 6f70 656e ub where.. open │ │ │ -00007070: 2069 6d70 6f72 7420 4167 6461 2e50 7269 import Agda.Pri │ │ │ -00007080: 6d69 7469 7665 2e43 7562 6963 616c 0a0a mitive.Cubical.. │ │ │ -00007090: 2020 7b2d 2320 4255 494c 5449 4e20 5355 {-# BUILTIN SU │ │ │ -000070a0: 4220 5375 6220 232d 7d0a 0a20 2070 6f73 B Sub #-}.. pos │ │ │ -000070b0: 7475 6c61 7465 0a20 2020 2069 6e53 203a tulate. inS : │ │ │ -000070c0: 20e2 8880 207b e284 937d 207b 4120 3a20 ... {...} {A : │ │ │ -000070d0: 5365 7420 e284 937d 207b cf86 7d20 2878 Set ...} {..} (x │ │ │ -000070e0: 203a 2041 2920 e286 9220 5375 6220 4120 : A) ... Sub A │ │ │ -000070f0: cf86 2028 cebb 205f 20e2 8692 2078 290a .. (.. _ ... x). │ │ │ -00007100: 0a20 207b 2d23 2042 5549 4c54 494e 2053 . {-# BUILTIN S │ │ │ -00007110: 5542 494e 2069 6e53 2023 2d7d 0a0a 2020 UBIN inS #-}.. │ │ │ -00007120: 2d2d 2053 7562 2041 20cf 8620 7520 6973 -- Sub A .. u is │ │ │ -00007130: 2074 7265 6174 6564 2061 7320 412e 0a20 treated as A.. │ │ │ -00007140: 207b 2d23 2043 4f4d 5049 4c45 204a 5320 {-# COMPILE JS │ │ │ -00007150: 696e 5320 3d20 5f20 3d3e 205f 203d 3e20 inS = _ => _ => │ │ │ -00007160: 5f20 3d3e 2078 203d 3e20 7820 232d 7d0a _ => x => x #-}. │ │ │ -00007170: 0a20 2070 7269 6d69 7469 7665 0a20 2020 . primitive. │ │ │ -00007180: 2070 7269 6d53 7562 4f75 7420 3a20 e288 primSubOut : .. │ │ │ -00007190: 8020 7be2 8493 7d20 7b41 203a 2053 6574 . {...} {A : Set │ │ │ -000071a0: 20e2 8493 7d20 7bcf 8620 3a20 497d 207b ...} {.. : I} { │ │ │ -000071b0: 7520 3a20 5061 7274 6961 6c20 cf86 2041 u : Partial .. A │ │ │ -000071c0: 7d20 e286 9220 5375 6220 5f20 cf86 2075 } ... Sub _ .. u │ │ │ -000071d0: 20e2 8692 2041 0aa2 b3d4 c08d 9fe0 9c75 ... A.........u │ │ │ -000071e0: e784 b6d4 ebc1 dfe2 0900 7c00 0072 1105 ..........|..r.. │ │ │ -000071f0: 2000 0001 0004 0408 0307 025e 0200 0003 ..........^.... │ │ │ -00007200: 0f00 0505 050b 5f0b 7d0b 6109 0601 009b ......_.}.a..... │ │ │ -00007210: 03a9 bc85 ffed abe7 8b8f 01b4 d7a8 d2cb ................ │ │ │ -00007220: a6c3 f201 007d 0000 73dd 0582 8080 e608 .....}..s....... │ │ │ -00007230: 0000 0100 0304 0704 0200 0003 0f00 0901 ................ │ │ │ -00007240: 9b03 7b2d 2320 4f50 5449 4f4e 5320 2d2d ..{-# OPTIONS -- │ │ │ -00007250: 6572 6173 6564 2d63 7562 6963 616c 202d erased-cubical - │ │ │ -00007260: 2d73 6166 6520 2d2d 6e6f 2d73 697a 6564 -safe --no-sized │ │ │ -00007270: 2d74 7970 6573 202d 2d6e 6f2d 6775 6172 -types --no-guar │ │ │ -00007280: 6465 646e 6573 7320 232d 7d0a 0a6d 6f64 dedness #-}..mod │ │ │ -00007290: 756c 6520 4167 6461 2e42 7569 6c74 696e ule Agda.Builtin │ │ │ -000072a0: 2e43 7562 6963 616c 2e50 6174 6820 7768 .Cubical.Path wh │ │ │ -000072b0: 6572 650a 0a20 206f 7065 6e20 696d 706f ere.. open impo │ │ │ -000072c0: 7274 2041 6764 612e 5072 696d 6974 6976 rt Agda.Primitiv │ │ │ -000072d0: 652e 4375 6269 6361 6c20 7573 696e 6720 e.Cubical using │ │ │ -000072e0: 2850 6174 6850 2920 7075 626c 6963 0a0a (PathP) public.. │ │ │ -000072f0: 0a20 2069 6e66 6978 2034 205f e289 a15f . infix 4 _..._ │ │ │ -00007300: 0a0a 2020 2d2d 2057 6520 6861 7665 2061 .. -- We have a │ │ │ -00007310: 2076 6172 6961 626c 6520 6e61 6d65 2069 variable name i │ │ │ -00007320: 6e20 6028 cebb 2069 20e2 8692 2041 2960 n `(.. i ... A)` │ │ │ -00007330: 2061 7320 6120 6869 6e74 2066 6f72 2063 as a hint for c │ │ │ -00007340: 6173 650a 2020 2d2d 2073 706c 6974 7469 ase. -- splitti │ │ │ -00007350: 6e67 2e0a 2020 5fe2 89a1 5f20 3a20 e288 ng.. _..._ : .. │ │ │ -00007360: 8020 7be2 8493 7d20 7b41 203a 2053 6574 . {...} {A : Set │ │ │ -00007370: 20e2 8493 7d20 e286 9220 4120 e286 9220 ...} ... A ... │ │ │ -00007380: 4120 e286 9220 5365 7420 e284 930a 2020 A ... Set .... │ │ │ -00007390: 5fe2 89a1 5f20 7b41 203d 2041 7d20 3d20 _..._ {A = A} = │ │ │ -000073a0: 5061 7468 5020 28ce bb20 6920 e286 9220 PathP (.. i ... │ │ │ -000073b0: 4129 0a0a 2020 7b2d 2320 4255 494c 5449 A).. {-# BUILTI │ │ │ -000073c0: 4e20 5041 5448 2020 2020 2020 2020 205f N PATH _ │ │ │ -000073d0: e289 a15f 2020 2020 2023 2d7d 0a8f e59c ..._ #-}.... │ │ │ -000073e0: abe0 a5e2 9d7e 9c81 86e6 f5af 98ad 3000 .....~........0. │ │ │ -000073f0: 7e00 0074 1705 2000 0001 0004 0408 0307 ~..t.. ......... │ │ │ -00007400: 025e 0200 0003 0f00 0505 050b 5f0b 7f0b .^.........._... │ │ │ -00007410: 6109 0601 009f 03d9 f8e8 f29a f498 caee a............... │ │ │ -00007420: 01b5 8ea6 d5f7 f69d 85be 0100 7f00 0075 ...............u │ │ │ -00007430: e805 8280 80e6 0800 0001 0003 0407 0402 ................ │ │ │ -00007440: 0000 030f 0009 019f 037b 2d23 204f 5054 .........{-# OPT │ │ │ -00007450: 494f 4e53 202d 2d63 7562 6963 616c 2d63 IONS --cubical-c │ │ │ -00007460: 6f6d 7061 7469 626c 6520 2d2d 7361 6665 ompatible --safe │ │ │ -00007470: 202d 2d75 6e69 7665 7273 652d 706f 6c79 --universe-poly │ │ │ -00007480: 6d6f 7270 6869 736d 202d 2d6e 6f2d 7369 morphism --no-si │ │ │ -00007490: 7a65 642d 7479 7065 730a 2020 2020 2020 zed-types. │ │ │ -000074a0: 2020 2020 2020 2d2d 6775 6172 6465 646e --guardedn │ │ │ -000074b0: 6573 7320 2d2d 6c65 7665 6c2d 756e 6976 ess --level-univ │ │ │ -000074c0: 6572 7365 2023 2d7d 0a0a 6d6f 6475 6c65 erse #-}..module │ │ │ -000074d0: 2041 6764 612e 4275 696c 7469 6e2e 436f Agda.Builtin.Co │ │ │ -000074e0: 696e 6475 6374 696f 6e20 7768 6572 650a induction where. │ │ │ -000074f0: 0a69 6e66 6978 2031 3030 3020 e299 af5f .infix 1000 ..._ │ │ │ -00007500: 0a0a 706f 7374 756c 6174 650a 2020 e288 ..postulate. .. │ │ │ -00007510: 9e20 203a 20e2 8880 207b 617d 2028 4120 . : ... {a} (A │ │ │ -00007520: 3a20 5365 7420 6129 20e2 8692 2053 6574 : Set a) ... Set │ │ │ -00007530: 2061 0a20 20e2 99af 5f20 3a20 e288 8020 a. ..._ : ... │ │ │ -00007540: 7b61 7d20 7b41 203a 2053 6574 2061 7d20 {a} {A : Set a} │ │ │ -00007550: e286 9220 4120 e286 9220 e288 9e20 410a ... A ... ... A. │ │ │ -00007560: 2020 e299 ad20 203a 20e2 8880 207b 617d ... : ... {a} │ │ │ -00007570: 207b 4120 3a20 5365 7420 617d 20e2 8692 {A : Set a} ... │ │ │ -00007580: 20e2 889e 2041 20e2 8692 2041 0a0a 7b2d ... A ... A..{- │ │ │ -00007590: 2320 4255 494c 5449 4e20 494e 4649 4e49 # BUILTIN INFINI │ │ │ -000075a0: 5459 20e2 889e 2020 232d 7d0a 7b2d 2320 TY ... #-}.{-# │ │ │ -000075b0: 4255 494c 5449 4e20 5348 4152 5020 2020 BUILTIN SHARP │ │ │ -000075c0: 20e2 99af 5f20 232d 7d0a 7b2d 2320 4255 ..._ #-}.{-# BU │ │ │ -000075d0: 494c 5449 4e20 464c 4154 2020 2020 20e2 ILTIN FLAT . │ │ │ -000075e0: 99ad 2020 232d 7d0a d8e3 f39b fbf3 eaef .. #-}......... │ │ │ -000075f0: 8401 d393 d7b0 a883 d284 ed01 0080 0100 ................ │ │ │ -00007600: 0076 2605 2000 0001 0004 0408 0307 025e .v&. ..........^ │ │ │ -00007610: 0200 0003 0f00 0505 050b 5f0b 8101 0b61 .........._....a │ │ │ -00007620: 0906 0100 ae02 81e5 93f4 aba5 85fa 3dca ..............=. │ │ │ -00007630: c0f0 d990 f6a1 a092 0100 8101 0000 7786 ..............w. │ │ │ -00007640: 0582 8080 e608 0000 0100 0304 0704 0200 ................ │ │ │ -00007650: 0003 0f00 0901 ae02 7b2d 2320 4f50 5449 ........{-# OPTI │ │ │ -00007660: 4f4e 5320 2d2d 6375 6269 6361 6c2d 636f ONS --cubical-co │ │ │ -00007670: 6d70 6174 6962 6c65 202d 2d73 6166 6520 mpatible --safe │ │ │ -00007680: 2d2d 6e6f 2d73 697a 6564 2d74 7970 6573 --no-sized-types │ │ │ -00007690: 202d 2d6e 6f2d 6775 6172 6465 646e 6573 --no-guardednes │ │ │ -000076a0: 7320 2d2d 6c65 7665 6c2d 756e 6976 6572 s --level-univer │ │ │ -000076b0: 7365 2023 2d7d 0a0a 6d6f 6475 6c65 2041 se #-}..module A │ │ │ -000076c0: 6764 612e 4275 696c 7469 6e2e 4368 6172 gda.Builtin.Char │ │ │ -000076d0: 2e50 726f 7065 7274 6965 7320 7768 6572 .Properties wher │ │ │ -000076e0: 650a 0a6f 7065 6e20 696d 706f 7274 2041 e..open import A │ │ │ -000076f0: 6764 612e 4275 696c 7469 6e2e 4368 6172 gda.Builtin.Char │ │ │ -00007700: 0a6f 7065 6e20 696d 706f 7274 2041 6764 .open import Agd │ │ │ -00007710: 612e 4275 696c 7469 6e2e 4571 7561 6c69 a.Builtin.Equali │ │ │ -00007720: 7479 0a0a 7072 696d 6974 6976 650a 0a20 ty..primitive.. │ │ │ -00007730: 2070 7269 6d43 6861 7254 6f4e 6174 496e primCharToNatIn │ │ │ -00007740: 6a65 6374 6976 6520 3a20 e288 8020 6120 jective : ... a │ │ │ -00007750: 6220 e286 9220 7072 696d 4368 6172 546f b ... primCharTo │ │ │ -00007760: 4e61 7420 6120 e289 a120 7072 696d 4368 Nat a ... primCh │ │ │ -00007770: 6172 546f 4e61 7420 6220 e286 9220 6120 arToNat b ... a │ │ │ -00007780: e289 a120 620a adfd a582 a6ea e1d0 7e86 ... b.........~. │ │ │ -00007790: 8b8a 9c91 e88b bfeb 0100 7700 0077 d605 ..........w..w.. │ │ │ -000077a0: b480 80e6 0800 0000 0520 0000 0100 0100 ......... ...... │ │ │ -000077b0: 0404 0803 0702 8680 80ec 0802 0000 030f ................ │ │ │ -000077c0: 0005 0505 0b87 8080 ec08 0105 2000 0001 ............ ... │ │ │ -000077d0: 0b82 010b 8301 8eb9 ffea a7fa b4c0 d701 ................ │ │ │ -000077e0: f1bf f6b6 be89 b587 a701 0084 0100 0078 ...............x │ │ │ -000077f0: 1405 2000 0001 0004 0408 0307 025e 0200 .. ..........^.. │ │ │ -00007800: 0003 0f00 0505 050b 5f0b 8501 0b61 0906 ........_....a.. │ │ │ -00007810: 0100 ab04 acd8 c4cb 91f1 c888 45e5 c3ff ............E... │ │ │ -00007820: 90a9 92c0 85c3 0100 8501 0000 7a71 0582 ............zq.. │ │ │ -00007830: 8080 e608 0000 0100 0304 0704 0200 0003 ................ │ │ │ -00007840: 0f00 0901 ab04 7b2d 2320 4f50 5449 4f4e ......{-# OPTION │ │ │ -00007850: 5320 2d2d 6375 6269 6361 6c2d 636f 6d70 S --cubical-comp │ │ │ -00007860: 6174 6962 6c65 202d 2d73 6166 6520 2d2d atible --safe -- │ │ │ -00007870: 6e6f 2d75 6e69 7665 7273 652d 706f 6c79 no-universe-poly │ │ │ -00007880: 6d6f 7270 6869 736d 0a20 2020 2020 2020 morphism. │ │ │ -00007890: 2020 2020 202d 2d6e 6f2d 7369 7a65 642d --no-sized- │ │ │ -000078a0: 7479 7065 7320 2d2d 6e6f 2d67 7561 7264 types --no-guard │ │ │ -000078b0: 6564 6e65 7373 202d 2d6c 6576 656c 2d75 edness --level-u │ │ │ -000078c0: 6e69 7665 7273 6520 232d 7d0a 0a6d 6f64 niverse #-}..mod │ │ │ -000078d0: 756c 6520 4167 6461 2e42 7569 6c74 696e ule Agda.Builtin │ │ │ -000078e0: 2e43 6861 7220 7768 6572 650a 0a6f 7065 .Char where..ope │ │ │ -000078f0: 6e20 696d 706f 7274 2041 6764 612e 4275 n import Agda.Bu │ │ │ -00007900: 696c 7469 6e2e 4e61 740a 6f70 656e 2069 iltin.Nat.open i │ │ │ -00007910: 6d70 6f72 7420 4167 6461 2e42 7569 6c74 mport Agda.Built │ │ │ -00007920: 696e 2e42 6f6f 6c0a 0a70 6f73 7475 6c61 in.Bool..postula │ │ │ -00007930: 7465 2043 6861 7220 3a20 5365 740a 7b2d te Char : Set.{- │ │ │ -00007940: 2320 4255 494c 5449 4e20 4348 4152 2043 # BUILTIN CHAR C │ │ │ -00007950: 6861 7220 232d 7d0a 0a70 7269 6d69 7469 har #-}..primiti │ │ │ -00007960: 7665 0a20 2070 7269 6d49 734c 6f77 6572 ve. primIsLower │ │ │ -00007970: 2070 7269 6d49 7344 6967 6974 2070 7269 primIsDigit pri │ │ │ -00007980: 6d49 7341 6c70 6861 2070 7269 6d49 7353 mIsAlpha primIsS │ │ │ -00007990: 7061 6365 2070 7269 6d49 7341 7363 6969 pace primIsAscii │ │ │ -000079a0: 0a20 2020 2070 7269 6d49 734c 6174 696e . primIsLatin │ │ │ -000079b0: 3120 7072 696d 4973 5072 696e 7420 7072 1 primIsPrint pr │ │ │ -000079c0: 696d 4973 4865 7844 6967 6974 203a 2043 imIsHexDigit : C │ │ │ -000079d0: 6861 7220 e286 9220 426f 6f6c 0a20 2070 har ... Bool. p │ │ │ -000079e0: 7269 6d54 6f55 7070 6572 2070 7269 6d54 rimToUpper primT │ │ │ -000079f0: 6f4c 6f77 6572 203a 2043 6861 7220 e286 oLower : Char .. │ │ │ -00007a00: 9220 4368 6172 0a20 2070 7269 6d43 6861 . Char. primCha │ │ │ -00007a10: 7254 6f4e 6174 203a 2043 6861 7220 e286 rToNat : Char .. │ │ │ -00007a20: 9220 4e61 740a 2020 7072 696d 4e61 7454 . Nat. primNatT │ │ │ -00007a30: 6f43 6861 7220 3a20 4e61 7420 e286 9220 oChar : Nat ... │ │ │ -00007a40: 4368 6172 0a20 2070 7269 6d43 6861 7245 Char. primCharE │ │ │ -00007a50: 7175 616c 6974 7920 3a20 4368 6172 20e2 quality : Char . │ │ │ -00007a60: 8692 2043 6861 7220 e286 9220 426f 6f6c .. Char ... Bool │ │ │ -00007a70: 0a89 b4bb eebd 86e9 8cb6 01ab c0a5 e0d5 ................ │ │ │ -00007a80: 9cde 9215 0086 0100 007a ae05 2000 0001 .........z.. ... │ │ │ -00007a90: 0004 0408 0307 025e 0200 0003 0f00 0505 .......^........ │ │ │ -00007aa0: 050b 5f0b 8701 0b61 0906 0100 c103 d4be .._....a........ │ │ │ -00007ab0: dcec e5b3 eda0 9001 aaeb ede9 89fd b6f6 ................ │ │ │ -00007ac0: 9401 0087 0100 007c a205 8280 80e6 0800 .......|........ │ │ │ -00007ad0: 0001 0003 0407 0402 0000 030f 0009 01c1 ................ │ │ │ -00007ae0: 037b 2d23 204f 5054 494f 4e53 202d 2d63 .{-# OPTIONS --c │ │ │ -00007af0: 7562 6963 616c 2d63 6f6d 7061 7469 626c ubical-compatibl │ │ │ -00007b00: 6520 2d2d 7361 6665 202d 2d6e 6f2d 756e e --safe --no-un │ │ │ -00007b10: 6976 6572 7365 2d70 6f6c 796d 6f72 7068 iverse-polymorph │ │ │ -00007b20: 6973 6d0a 2020 2020 2020 2020 2020 2020 ism. │ │ │ -00007b30: 2d2d 6e6f 2d73 697a 6564 2d74 7970 6573 --no-sized-types │ │ │ -00007b40: 202d 2d6e 6f2d 6775 6172 6465 646e 6573 --no-guardednes │ │ │ -00007b50: 7320 2d2d 6c65 7665 6c2d 756e 6976 6572 s --level-univer │ │ │ -00007b60: 7365 2023 2d7d 0a0a 6d6f 6475 6c65 2041 se #-}..module A │ │ │ -00007b70: 6764 612e 4275 696c 7469 6e2e 426f 6f6c gda.Builtin.Bool │ │ │ -00007b80: 2077 6865 7265 0a0a 6461 7461 2042 6f6f where..data Boo │ │ │ -00007b90: 6c20 3a20 5365 7420 7768 6572 650a 2020 l : Set where. │ │ │ -00007ba0: 6661 6c73 6520 7472 7565 203a 2042 6f6f false true : Boo │ │ │ -00007bb0: 6c0a 0a7b 2d23 2042 5549 4c54 494e 2042 l..{-# BUILTIN B │ │ │ -00007bc0: 4f4f 4c20 2042 6f6f 6c20 2023 2d7d 0a7b OOL Bool #-}.{ │ │ │ -00007bd0: 2d23 2042 5549 4c54 494e 2046 414c 5345 -# BUILTIN FALSE │ │ │ -00007be0: 2066 616c 7365 2023 2d7d 0a7b 2d23 2042 false #-}.{-# B │ │ │ -00007bf0: 5549 4c54 494e 2054 5255 4520 2074 7275 UILTIN TRUE tru │ │ │ -00007c00: 6520 2023 2d7d 0a0a 7b2d 2320 434f 4d50 e #-}..{-# COMP │ │ │ -00007c10: 494c 4520 4a53 2042 6f6f 6c20 203d 2066 ILE JS Bool = f │ │ │ -00007c20: 756e 6374 696f 6e20 2878 2c76 2920 7b20 unction (x,v) { │ │ │ -00007c30: 7265 7475 726e 2028 2878 293f 2076 5b22 return ((x)? v[" │ │ │ -00007c40: 7472 7565 225d 2829 203a 2076 5b22 6661 true"]() : v["fa │ │ │ -00007c50: 6c73 6522 5d28 2929 3b20 7d20 232d 7d0a lse"]()); } #-}. │ │ │ -00007c60: 7b2d 2320 434f 4d50 494c 4520 4a53 2066 {-# COMPILE JS f │ │ │ -00007c70: 616c 7365 203d 2066 616c 7365 2023 2d7d alse = false #-} │ │ │ -00007c80: 0a7b 2d23 2043 4f4d 5049 4c45 204a 5320 .{-# COMPILE JS │ │ │ -00007c90: 7472 7565 2020 3d20 7472 7565 2020 232d true = true #- │ │ │ -00007ca0: 7d0a da82 b9a1 a7eb 8191 1fad 99cb dbb1 }............... │ │ │ -00007cb0: eab4 f9a5 0100 8801 0000 7cde 0520 0000 ..........|.. .. │ │ │ -00007cc0: 0100 0404 0803 0702 5e02 0000 030f 0005 ........^....... │ │ │ -00007cd0: 0505 0b5f 0b89 010b 6109 0601 001f 9a82 ..._....a....... │ │ │ -00007ce0: e9b9 99ee 869c 70f7 82ec 92e9 fbbf 9a94 ......p......... │ │ │ -00007cf0: 0100 8901 0000 7d2e 0582 8080 e608 0000 ......}......... │ │ │ -00007d00: 0100 0304 0704 0200 0003 0f00 0901 1f6e ...............n │ │ │ -00007d10: 616d 653a 2061 6764 612d 6275 696c 7469 ame: agda-builti │ │ │ -00007d20: 6e73 0a69 6e63 6c75 6465 3a20 2e0a 85d1 ns.include: .... │ │ │ -00007d30: b6f4 9296 feb9 6ec4 ffaa a8cc d8f5 da44 ......n........D │ │ │ -00007d40: 008a 0100 007d 6a05 2000 0001 0004 0408 .....}j. ....... │ │ │ -00007d50: 0307 025e 0200 0003 0f00 0505 050b 5f0b ...^.........._. │ │ │ -00007d60: 8b01 0b61 0906 0100 d203 80ee 99fa ccf7 ...a............ │ │ │ -00007d70: bfcd b701 f4a9 87da e886 d0c1 c701 008b ................ │ │ │ -00007d80: 0100 007f 6f05 8280 80e6 0800 0001 0003 ....o........... │ │ │ -00007d90: 0407 0402 0000 030f 0009 01d2 0323 212f .............#!/ │ │ │ -00007da0: 7573 722f 6269 6e2f 656e 7620 7065 726c usr/bin/env perl │ │ │ -00007db0: 0a0a 7573 6520 7374 7269 6374 3b0a 7573 ..use strict;.us │ │ │ -00007dc0: 6520 7761 726e 696e 6773 3b0a 0a6d 7920 e warnings;..my │ │ │ -00007dd0: 2474 6167 5f70 7265 6669 7820 3d20 2241 $tag_prefix = "A │ │ │ -00007de0: 6764 6154 6167 223b 0a6d 7920 2475 6e64 gdaTag";.my $und │ │ │ -00007df0: 6572 7363 6f72 6520 3d20 2241 6764 6155 erscore = "AgdaU │ │ │ -00007e00: 6e64 6572 7363 6f72 6522 3b0a 6d79 2024 nderscore";.my $ │ │ │ -00007e10: 636f 6d6d 616e 6473 2020 203d 2071 7222 commands = qr" │ │ │ -00007e20: 2849 6e64 7563 7469 7665 436f 6e73 7472 (InductiveConstr │ │ │ -00007e30: 7563 746f 727c 436f 696e 6475 6374 6976 uctor|Coinductiv │ │ │ -00007e40: 6543 6f6e 7374 7275 6374 6f72 5c0a 2020 eConstructor\. │ │ │ +00006ab0: 2020 2020 2020 2020 2020 203b 2028 6a20 ; (j │ │ │ +00006ac0: 3d20 6931 2920 e286 9220 7520 6920 2867 = i1) ... u i (g │ │ │ +00006ad0: 2079 2920 7d29 2028 6720 7929 0a0a 2020 y) }) (g y).. │ │ │ +00006ae0: 7061 7468 546f 6973 4571 7569 7620 3a20 pathToisEquiv : │ │ │ +00006af0: 6973 4571 7569 7620 660a 2020 7061 7468 isEquiv f. path │ │ │ +00006b00: 546f 6973 4571 7569 7620 2e65 7175 6976 ToisEquiv .equiv │ │ │ +00006b10: 2d70 726f 6f66 2079 202e 6673 7420 2e66 -proof y .fst .f │ │ │ +00006b20: 7374 203d 2067 2079 0a20 2070 6174 6854 st = g y. pathT │ │ │ +00006b30: 6f69 7345 7175 6976 202e 6571 7569 762d oisEquiv .equiv- │ │ │ +00006b40: 7072 6f6f 6620 7920 2e66 7374 202e 736e proof y .fst .sn │ │ │ +00006b50: 6420 3d20 7379 6d20 28ce b320 7929 0a20 d = sym (.. y). │ │ │ +00006b60: 2070 6174 6854 6f69 7345 7175 6976 202e pathToisEquiv . │ │ │ +00006b70: 6571 7569 762d 7072 6f6f 6620 7920 2e73 equiv-proof y .s │ │ │ +00006b80: 6e64 203d 2066 6962 6572 5061 7468 2079 nd = fiberPath y │ │ │ +00006b90: 205f 0a0a 2020 7061 7468 546f 4571 7569 _.. pathToEqui │ │ │ +00006ba0: 7620 3a20 4120 e289 8320 420a 2020 7061 v : A ... B. pa │ │ │ +00006bb0: 7468 546f 4571 7569 7620 2e66 7374 203d thToEquiv .fst = │ │ │ +00006bc0: 2066 0a20 2070 6174 6854 6f45 7175 6976 f. pathToEquiv │ │ │ +00006bd0: 202e 736e 6420 3d20 7061 7468 546f 6973 .snd = pathTois │ │ │ +00006be0: 4571 7569 760a 9fde b4a2 9af9 fddc ce01 Equiv........... │ │ │ +00006bf0: d9e8 c3c1 fed7 dd8e 7a00 6b00 006c 3405 ........z.k..l4. │ │ │ +00006c00: b480 80e6 0800 0000 0520 0000 0100 0100 ......... ...... │ │ │ +00006c10: 0404 0803 0702 8680 80ec 0802 0000 030f ................ │ │ │ +00006c20: 0005 0505 0b87 8080 ec08 0105 2000 0001 ............ ... │ │ │ +00006c30: 0b76 0b77 c9c8 a8cb b39b a6b1 70fc 9494 .v.w........p... │ │ │ +00006c40: 87e7 93b8 9b01 0078 0000 6c6e 0520 0000 .......x..ln. .. │ │ │ +00006c50: 0100 0404 0803 0702 5e02 0000 030f 0005 ........^....... │ │ │ +00006c60: 0505 0b5f 0b79 0b61 0906 0100 ed05 dd98 ..._.y.a........ │ │ │ +00006c70: aa8a f0b1 c691 ff01 fae7 c7b0 97f2 9da4 ................ │ │ │ +00006c80: 9401 0079 0000 6f8d 0582 8080 e608 0000 ...y..o......... │ │ │ +00006c90: 0100 0304 0704 0200 0003 0f00 0901 ed05 ................ │ │ │ +00006ca0: 7b2d 2320 4f50 5449 4f4e 5320 2d2d 6375 {-# OPTIONS --cu │ │ │ +00006cb0: 6269 6361 6c20 2d2d 7361 6665 202d 2d6e bical --safe --n │ │ │ +00006cc0: 6f2d 7369 7a65 642d 7479 7065 7320 2d2d o-sized-types -- │ │ │ +00006cd0: 6e6f 2d67 7561 7264 6564 6e65 7373 2023 no-guardedness # │ │ │ +00006ce0: 2d7d 0a0a 6d6f 6475 6c65 2041 6764 612e -}..module Agda. │ │ │ +00006cf0: 4275 696c 7469 6e2e 4375 6269 6361 6c2e Builtin.Cubical. │ │ │ +00006d00: 476c 7565 2077 6865 7265 0a0a 6f70 656e Glue where..open │ │ │ +00006d10: 2069 6d70 6f72 7420 4167 6461 2e50 7269 import Agda.Pri │ │ │ +00006d20: 6d69 7469 7665 0a6f 7065 6e20 696d 706f mitive.open impo │ │ │ +00006d30: 7274 2041 6764 612e 5072 696d 6974 6976 rt Agda.Primitiv │ │ │ +00006d40: 652e 4375 6269 6361 6c0a 6f70 656e 2069 e.Cubical.open i │ │ │ +00006d50: 6d70 6f72 7420 4167 6461 2e42 7569 6c74 mport Agda.Built │ │ │ +00006d60: 696e 2e43 7562 6963 616c 2e45 7175 6976 in.Cubical.Equiv │ │ │ +00006d70: 2070 7562 6c69 630a 0a70 7269 6d69 7469 public..primiti │ │ │ +00006d80: 7665 0a20 2020 2070 7269 6d47 6c75 6520 ve. primGlue │ │ │ +00006d90: 2020 203a 20e2 8880 207b e284 9320 e284 : ... {... .. │ │ │ +00006da0: 9327 7d20 2841 203a 2053 6574 20e2 8493 .'} (A : Set ... │ │ │ +00006db0: 2920 7bcf 8620 3a20 497d 0a20 2020 2020 ) {.. : I}. │ │ │ +00006dc0: 20e2 8692 2028 5420 3a20 5061 7274 6961 ... (T : Partia │ │ │ +00006dd0: 6c20 cf86 2028 5365 7420 e284 9327 2929 l .. (Set ...')) │ │ │ +00006de0: 20e2 8692 2028 6520 3a20 5061 7274 6961 ... (e : Partia │ │ │ +00006df0: 6c50 20cf 8620 28ce bb20 6f20 e286 9220 lP .. (.. o ... │ │ │ +00006e00: 5420 6f20 e289 8320 4129 290a 2020 2020 T o ... A)). │ │ │ +00006e10: 2020 e286 9220 5365 7420 e284 9327 0a20 ... Set ...'. │ │ │ +00006e20: 2020 2070 7269 6d5e 676c 7565 2020 203a prim^glue : │ │ │ +00006e30: 20e2 8880 207b e284 9320 e284 9327 7d20 ... {... ...'} │ │ │ +00006e40: 7b41 203a 2053 6574 20e2 8493 7d20 7bcf {A : Set ...} {. │ │ │ +00006e50: 8620 3a20 497d 0a20 2020 2020 20e2 8692 . : I}. ... │ │ │ +00006e60: 207b 5420 3a20 5061 7274 6961 6c20 cf86 {T : Partial .. │ │ │ +00006e70: 2028 5365 7420 e284 9327 297d 20e2 8692 (Set ...')} ... │ │ │ +00006e80: 207b 6520 3a20 5061 7274 6961 6c50 20cf {e : PartialP . │ │ │ +00006e90: 8620 28ce bb20 6f20 e286 9220 5420 6f20 . (.. o ... T o │ │ │ +00006ea0: e289 8320 4129 7d0a 2020 2020 2020 e286 ... A)}. .. │ │ │ +00006eb0: 9220 2874 203a 2050 6172 7469 616c 5020 . (t : PartialP │ │ │ +00006ec0: cf86 2054 2920 e286 9220 2861 203a 2041 .. T) ... (a : A │ │ │ +00006ed0: 2920 e286 9220 7072 696d 476c 7565 2041 ) ... primGlue A │ │ │ +00006ee0: 2054 2065 0a20 2020 2070 7269 6d5e 756e T e. prim^un │ │ │ +00006ef0: 676c 7565 203a 20e2 8880 207b e284 9320 glue : ... {... │ │ │ +00006f00: e284 9327 7d20 7b41 203a 2053 6574 20e2 ...'} {A : Set . │ │ │ +00006f10: 8493 7d20 7bcf 8620 3a20 497d 0a20 2020 ..} {.. : I}. │ │ │ +00006f20: 2020 20e2 8692 207b 5420 3a20 5061 7274 ... {T : Part │ │ │ +00006f30: 6961 6c20 cf86 2028 5365 7420 e284 9327 ial .. (Set ...' │ │ │ +00006f40: 297d 20e2 8692 207b 6520 3a20 5061 7274 )} ... {e : Part │ │ │ +00006f50: 6961 6c50 20cf 8620 28ce bb20 6f20 e286 ialP .. (.. o .. │ │ │ +00006f60: 9220 5420 6f20 e289 8320 4129 7d0a 2020 . T o ... A)}. │ │ │ +00006f70: 2020 2020 e286 9220 7072 696d 476c 7565 ... primGlue │ │ │ +00006f80: 2041 2054 2065 20e2 8692 2041 0a82 a183 A T e ... A.... │ │ │ +00006f90: fcb1 ee9e a395 01eb efff f1cb fdb4 f337 ...............7 │ │ │ +00006fa0: 007a 0000 6fc8 0520 0000 0100 0404 0803 .z..o.. ........ │ │ │ +00006fb0: 0702 5e02 0000 030f 0005 0505 0b5f 0b7b ..^.........._.{ │ │ │ +00006fc0: 0b61 0906 0100 df03 bdc9 bea1 d6fa 8585 .a.............. │ │ │ +00006fd0: 8c01 85dc 9cf6 cba8 f696 3800 7b00 0071 ..........8.{..q │ │ │ +00006fe0: d805 8280 80e6 0800 0001 0003 0407 0402 ................ │ │ │ +00006ff0: 0000 030f 0009 01df 037b 2d23 204f 5054 .........{-# OPT │ │ │ +00007000: 494f 4e53 202d 2d65 7261 7365 642d 6375 IONS --erased-cu │ │ │ +00007010: 6269 6361 6c20 2d2d 7361 6665 202d 2d6e bical --safe --n │ │ │ +00007020: 6f2d 7369 7a65 642d 7479 7065 7320 2d2d o-sized-types -- │ │ │ +00007030: 6e6f 2d67 7561 7264 6564 6e65 7373 2023 no-guardedness # │ │ │ +00007040: 2d7d 0a0a 6d6f 6475 6c65 2041 6764 612e -}..module Agda. │ │ │ +00007050: 4275 696c 7469 6e2e 4375 6269 6361 6c2e Builtin.Cubical. │ │ │ +00007060: 5375 6220 7768 6572 650a 0a20 206f 7065 Sub where.. ope │ │ │ +00007070: 6e20 696d 706f 7274 2041 6764 612e 5072 n import Agda.Pr │ │ │ +00007080: 696d 6974 6976 652e 4375 6269 6361 6c0a imitive.Cubical. │ │ │ +00007090: 0a20 207b 2d23 2042 5549 4c54 494e 2053 . {-# BUILTIN S │ │ │ +000070a0: 5542 2053 7562 2023 2d7d 0a0a 2020 706f UB Sub #-}.. po │ │ │ +000070b0: 7374 756c 6174 650a 2020 2020 696e 5320 stulate. inS │ │ │ +000070c0: 3a20 e288 8020 7be2 8493 7d20 7b41 203a : ... {...} {A : │ │ │ +000070d0: 2053 6574 20e2 8493 7d20 7bcf 867d 2028 Set ...} {..} ( │ │ │ +000070e0: 7820 3a20 4129 20e2 8692 2053 7562 2041 x : A) ... Sub A │ │ │ +000070f0: 20cf 8620 28ce bb20 5f20 e286 9220 7829 .. (.. _ ... x) │ │ │ +00007100: 0a0a 2020 7b2d 2320 4255 494c 5449 4e20 .. {-# BUILTIN │ │ │ +00007110: 5355 4249 4e20 696e 5320 232d 7d0a 0a20 SUBIN inS #-}.. │ │ │ +00007120: 202d 2d20 5375 6220 4120 cf86 2075 2069 -- Sub A .. u i │ │ │ +00007130: 7320 7472 6561 7465 6420 6173 2041 2e0a s treated as A.. │ │ │ +00007140: 2020 7b2d 2320 434f 4d50 494c 4520 4a53 {-# COMPILE JS │ │ │ +00007150: 2069 6e53 203d 205f 203d 3e20 5f20 3d3e inS = _ => _ => │ │ │ +00007160: 205f 203d 3e20 7820 3d3e 2078 2023 2d7d _ => x => x #-} │ │ │ +00007170: 0a0a 2020 7072 696d 6974 6976 650a 2020 .. primitive. │ │ │ +00007180: 2020 7072 696d 5375 624f 7574 203a 20e2 primSubOut : . │ │ │ +00007190: 8880 207b e284 937d 207b 4120 3a20 5365 .. {...} {A : Se │ │ │ +000071a0: 7420 e284 937d 207b cf86 203a 2049 7d20 t ...} {.. : I} │ │ │ +000071b0: 7b75 203a 2050 6172 7469 616c 20cf 8620 {u : Partial .. │ │ │ +000071c0: 417d 20e2 8692 2053 7562 205f 20cf 8620 A} ... Sub _ .. │ │ │ +000071d0: 7520 e286 9220 410a a2b3 d4c0 8d9f e09c u ... A......... │ │ │ +000071e0: 75e7 84b6 d4eb c1df e209 007c 0000 7212 u..........|..r. │ │ │ +000071f0: 0520 0000 0100 0404 0803 0702 5e02 0000 . ..........^... │ │ │ +00007200: 030f 0005 0505 0b5f 0b7d 0b61 0906 0100 ......._.}.a.... │ │ │ +00007210: 9b03 a9bc 85ff edab e78b 8f01 b4d7 a8d2 ................ │ │ │ +00007220: cba6 c3f2 0100 7d00 0073 de05 8280 80e6 ......}..s...... │ │ │ +00007230: 0800 0001 0003 0407 0402 0000 030f 0009 ................ │ │ │ +00007240: 019b 037b 2d23 204f 5054 494f 4e53 202d ...{-# OPTIONS - │ │ │ +00007250: 2d65 7261 7365 642d 6375 6269 6361 6c20 -erased-cubical │ │ │ +00007260: 2d2d 7361 6665 202d 2d6e 6f2d 7369 7a65 --safe --no-size │ │ │ +00007270: 642d 7479 7065 7320 2d2d 6e6f 2d67 7561 d-types --no-gua │ │ │ +00007280: 7264 6564 6e65 7373 2023 2d7d 0a0a 6d6f rdedness #-}..mo │ │ │ +00007290: 6475 6c65 2041 6764 612e 4275 696c 7469 dule Agda.Builti │ │ │ +000072a0: 6e2e 4375 6269 6361 6c2e 5061 7468 2077 n.Cubical.Path w │ │ │ +000072b0: 6865 7265 0a0a 2020 6f70 656e 2069 6d70 here.. open imp │ │ │ +000072c0: 6f72 7420 4167 6461 2e50 7269 6d69 7469 ort Agda.Primiti │ │ │ +000072d0: 7665 2e43 7562 6963 616c 2075 7369 6e67 ve.Cubical using │ │ │ +000072e0: 2028 5061 7468 5029 2070 7562 6c69 630a (PathP) public. │ │ │ +000072f0: 0a0a 2020 696e 6669 7820 3420 5fe2 89a1 .. infix 4 _... │ │ │ +00007300: 5f0a 0a20 202d 2d20 5765 2068 6176 6520 _.. -- We have │ │ │ +00007310: 6120 7661 7269 6162 6c65 206e 616d 6520 a variable name │ │ │ +00007320: 696e 2060 28ce bb20 6920 e286 9220 4129 in `(.. i ... A) │ │ │ +00007330: 6020 6173 2061 2068 696e 7420 666f 7220 ` as a hint for │ │ │ +00007340: 6361 7365 0a20 202d 2d20 7370 6c69 7474 case. -- splitt │ │ │ +00007350: 696e 672e 0a20 205f e289 a15f 203a 20e2 ing.. _..._ : . │ │ │ +00007360: 8880 207b e284 937d 207b 4120 3a20 5365 .. {...} {A : Se │ │ │ +00007370: 7420 e284 937d 20e2 8692 2041 20e2 8692 t ...} ... A ... │ │ │ +00007380: 2041 20e2 8692 2053 6574 20e2 8493 0a20 A ... Set .... │ │ │ +00007390: 205f e289 a15f 207b 4120 3d20 417d 203d _..._ {A = A} = │ │ │ +000073a0: 2050 6174 6850 2028 cebb 2069 20e2 8692 PathP (.. i ... │ │ │ +000073b0: 2041 290a 0a20 207b 2d23 2042 5549 4c54 A).. {-# BUILT │ │ │ +000073c0: 494e 2050 4154 4820 2020 2020 2020 2020 IN PATH │ │ │ +000073d0: 5fe2 89a1 5f20 2020 2020 232d 7d0a 8fe5 _..._ #-}... │ │ │ +000073e0: 9cab e0a5 e29d 7e9c 8186 e6f5 af98 ad30 ......~........0 │ │ │ +000073f0: 007e 0000 7418 0520 0000 0100 0404 0803 .~..t.. ........ │ │ │ +00007400: 0702 5e02 0000 030f 0005 0505 0b5f 0b7f ..^.........._.. │ │ │ +00007410: 0b61 0906 0100 9f03 d9f8 e8f2 9af4 98ca .a.............. │ │ │ +00007420: ee01 b58e a6d5 f7f6 9d85 be01 007f 0000 ................ │ │ │ +00007430: 75e9 0582 8080 e608 0000 0100 0304 0704 u............... │ │ │ +00007440: 0200 0003 0f00 0901 9f03 7b2d 2320 4f50 ..........{-# OP │ │ │ +00007450: 5449 4f4e 5320 2d2d 6375 6269 6361 6c2d TIONS --cubical- │ │ │ +00007460: 636f 6d70 6174 6962 6c65 202d 2d73 6166 compatible --saf │ │ │ +00007470: 6520 2d2d 756e 6976 6572 7365 2d70 6f6c e --universe-pol │ │ │ +00007480: 796d 6f72 7068 6973 6d20 2d2d 6e6f 2d73 ymorphism --no-s │ │ │ +00007490: 697a 6564 2d74 7970 6573 0a20 2020 2020 ized-types. │ │ │ +000074a0: 2020 2020 2020 202d 2d67 7561 7264 6564 --guarded │ │ │ +000074b0: 6e65 7373 202d 2d6c 6576 656c 2d75 6e69 ness --level-uni │ │ │ +000074c0: 7665 7273 6520 232d 7d0a 0a6d 6f64 756c verse #-}..modul │ │ │ +000074d0: 6520 4167 6461 2e42 7569 6c74 696e 2e43 e Agda.Builtin.C │ │ │ +000074e0: 6f69 6e64 7563 7469 6f6e 2077 6865 7265 oinduction where │ │ │ +000074f0: 0a0a 696e 6669 7820 3130 3030 20e2 99af ..infix 1000 ... │ │ │ +00007500: 5f0a 0a70 6f73 7475 6c61 7465 0a20 20e2 _..postulate. . │ │ │ +00007510: 889e 2020 3a20 e288 8020 7b61 7d20 2841 .. : ... {a} (A │ │ │ +00007520: 203a 2053 6574 2061 2920 e286 9220 5365 : Set a) ... Se │ │ │ +00007530: 7420 610a 2020 e299 af5f 203a 20e2 8880 t a. ..._ : ... │ │ │ +00007540: 207b 617d 207b 4120 3a20 5365 7420 617d {a} {A : Set a} │ │ │ +00007550: 20e2 8692 2041 20e2 8692 20e2 889e 2041 ... A ... ... A │ │ │ +00007560: 0a20 20e2 99ad 2020 3a20 e288 8020 7b61 . ... : ... {a │ │ │ +00007570: 7d20 7b41 203a 2053 6574 2061 7d20 e286 } {A : Set a} .. │ │ │ +00007580: 9220 e288 9e20 4120 e286 9220 410a 0a7b . ... A ... A..{ │ │ │ +00007590: 2d23 2042 5549 4c54 494e 2049 4e46 494e -# BUILTIN INFIN │ │ │ +000075a0: 4954 5920 e288 9e20 2023 2d7d 0a7b 2d23 ITY ... #-}.{-# │ │ │ +000075b0: 2042 5549 4c54 494e 2053 4841 5250 2020 BUILTIN SHARP │ │ │ +000075c0: 2020 e299 af5f 2023 2d7d 0a7b 2d23 2042 ..._ #-}.{-# B │ │ │ +000075d0: 5549 4c54 494e 2046 4c41 5420 2020 2020 UILTIN FLAT │ │ │ +000075e0: e299 ad20 2023 2d7d 0ad8 e3f3 9bfb f3ea ... #-}........ │ │ │ +000075f0: ef84 01d3 93d7 b0a8 83d2 84ed 0100 8001 ................ │ │ │ +00007600: 0000 7627 0520 0000 0100 0404 0803 0702 ..v'. .......... │ │ │ +00007610: 5e02 0000 030f 0005 0505 0b5f 0b81 010b ^.........._.... │ │ │ +00007620: 6109 0601 00ae 0281 e593 f4ab a585 fa3d a..............= │ │ │ +00007630: cac0 f0d9 90f6 a1a0 9201 0081 0100 0077 ...............w │ │ │ +00007640: 8705 8280 80e6 0800 0001 0003 0407 0402 ................ │ │ │ +00007650: 0000 030f 0009 01ae 027b 2d23 204f 5054 .........{-# OPT │ │ │ +00007660: 494f 4e53 202d 2d63 7562 6963 616c 2d63 IONS --cubical-c │ │ │ +00007670: 6f6d 7061 7469 626c 6520 2d2d 7361 6665 ompatible --safe │ │ │ +00007680: 202d 2d6e 6f2d 7369 7a65 642d 7479 7065 --no-sized-type │ │ │ +00007690: 7320 2d2d 6e6f 2d67 7561 7264 6564 6e65 s --no-guardedne │ │ │ +000076a0: 7373 202d 2d6c 6576 656c 2d75 6e69 7665 ss --level-unive │ │ │ +000076b0: 7273 6520 232d 7d0a 0a6d 6f64 756c 6520 rse #-}..module │ │ │ +000076c0: 4167 6461 2e42 7569 6c74 696e 2e43 6861 Agda.Builtin.Cha │ │ │ +000076d0: 722e 5072 6f70 6572 7469 6573 2077 6865 r.Properties whe │ │ │ +000076e0: 7265 0a0a 6f70 656e 2069 6d70 6f72 7420 re..open import │ │ │ +000076f0: 4167 6461 2e42 7569 6c74 696e 2e43 6861 Agda.Builtin.Cha │ │ │ +00007700: 720a 6f70 656e 2069 6d70 6f72 7420 4167 r.open import Ag │ │ │ +00007710: 6461 2e42 7569 6c74 696e 2e45 7175 616c da.Builtin.Equal │ │ │ +00007720: 6974 790a 0a70 7269 6d69 7469 7665 0a0a ity..primitive.. │ │ │ +00007730: 2020 7072 696d 4368 6172 546f 4e61 7449 primCharToNatI │ │ │ +00007740: 6e6a 6563 7469 7665 203a 20e2 8880 2061 njective : ... a │ │ │ +00007750: 2062 20e2 8692 2070 7269 6d43 6861 7254 b ... primCharT │ │ │ +00007760: 6f4e 6174 2061 20e2 89a1 2070 7269 6d43 oNat a ... primC │ │ │ +00007770: 6861 7254 6f4e 6174 2062 20e2 8692 2061 harToNat b ... a │ │ │ +00007780: 20e2 89a1 2062 0aad fda5 82a6 eae1 d07e ... b.........~ │ │ │ +00007790: 868b 8a9c 91e8 8bbf eb01 0077 0000 77d7 ...........w..w. │ │ │ +000077a0: 05b4 8080 e608 0000 0005 2000 0001 0001 .......... ..... │ │ │ +000077b0: 0004 0408 0307 0286 8080 ec08 0200 0003 ................ │ │ │ +000077c0: 0f00 0505 050b 8780 80ec 0801 0520 0000 ............. .. │ │ │ +000077d0: 010b 8201 0b83 018e b9ff eaa7 fab4 c0d7 ................ │ │ │ +000077e0: 01f1 bff6 b6be 89b5 87a7 0100 8401 0000 ................ │ │ │ +000077f0: 7815 0520 0000 0100 0404 0803 0702 5e02 x.. ..........^. │ │ │ +00007800: 0000 030f 0005 0505 0b5f 0b85 010b 6109 ........._....a. │ │ │ +00007810: 0601 00ab 04ac d8c4 cb91 f1c8 8845 e5c3 .............E.. │ │ │ +00007820: ff90 a992 c085 c301 0085 0100 007a 7205 .............zr. │ │ │ +00007830: 8280 80e6 0800 0001 0003 0407 0402 0000 ................ │ │ │ +00007840: 030f 0009 01ab 047b 2d23 204f 5054 494f .......{-# OPTIO │ │ │ +00007850: 4e53 202d 2d63 7562 6963 616c 2d63 6f6d NS --cubical-com │ │ │ +00007860: 7061 7469 626c 6520 2d2d 7361 6665 202d patible --safe - │ │ │ +00007870: 2d6e 6f2d 756e 6976 6572 7365 2d70 6f6c -no-universe-pol │ │ │ +00007880: 796d 6f72 7068 6973 6d0a 2020 2020 2020 ymorphism. │ │ │ +00007890: 2020 2020 2020 2d2d 6e6f 2d73 697a 6564 --no-sized │ │ │ +000078a0: 2d74 7970 6573 202d 2d6e 6f2d 6775 6172 -types --no-guar │ │ │ +000078b0: 6465 646e 6573 7320 2d2d 6c65 7665 6c2d dedness --level- │ │ │ +000078c0: 756e 6976 6572 7365 2023 2d7d 0a0a 6d6f universe #-}..mo │ │ │ +000078d0: 6475 6c65 2041 6764 612e 4275 696c 7469 dule Agda.Builti │ │ │ +000078e0: 6e2e 4368 6172 2077 6865 7265 0a0a 6f70 n.Char where..op │ │ │ +000078f0: 656e 2069 6d70 6f72 7420 4167 6461 2e42 en import Agda.B │ │ │ +00007900: 7569 6c74 696e 2e4e 6174 0a6f 7065 6e20 uiltin.Nat.open │ │ │ +00007910: 696d 706f 7274 2041 6764 612e 4275 696c import Agda.Buil │ │ │ +00007920: 7469 6e2e 426f 6f6c 0a0a 706f 7374 756c tin.Bool..postul │ │ │ +00007930: 6174 6520 4368 6172 203a 2053 6574 0a7b ate Char : Set.{ │ │ │ +00007940: 2d23 2042 5549 4c54 494e 2043 4841 5220 -# BUILTIN CHAR │ │ │ +00007950: 4368 6172 2023 2d7d 0a0a 7072 696d 6974 Char #-}..primit │ │ │ +00007960: 6976 650a 2020 7072 696d 4973 4c6f 7765 ive. primIsLowe │ │ │ +00007970: 7220 7072 696d 4973 4469 6769 7420 7072 r primIsDigit pr │ │ │ +00007980: 696d 4973 416c 7068 6120 7072 696d 4973 imIsAlpha primIs │ │ │ +00007990: 5370 6163 6520 7072 696d 4973 4173 6369 Space primIsAsci │ │ │ +000079a0: 690a 2020 2020 7072 696d 4973 4c61 7469 i. primIsLati │ │ │ +000079b0: 6e31 2070 7269 6d49 7350 7269 6e74 2070 n1 primIsPrint p │ │ │ +000079c0: 7269 6d49 7348 6578 4469 6769 7420 3a20 rimIsHexDigit : │ │ │ +000079d0: 4368 6172 20e2 8692 2042 6f6f 6c0a 2020 Char ... Bool. │ │ │ +000079e0: 7072 696d 546f 5570 7065 7220 7072 696d primToUpper prim │ │ │ +000079f0: 546f 4c6f 7765 7220 3a20 4368 6172 20e2 ToLower : Char . │ │ │ +00007a00: 8692 2043 6861 720a 2020 7072 696d 4368 .. Char. primCh │ │ │ +00007a10: 6172 546f 4e61 7420 3a20 4368 6172 20e2 arToNat : Char . │ │ │ +00007a20: 8692 204e 6174 0a20 2070 7269 6d4e 6174 .. Nat. primNat │ │ │ +00007a30: 546f 4368 6172 203a 204e 6174 20e2 8692 ToChar : Nat ... │ │ │ +00007a40: 2043 6861 720a 2020 7072 696d 4368 6172 Char. primChar │ │ │ +00007a50: 4571 7561 6c69 7479 203a 2043 6861 7220 Equality : Char │ │ │ +00007a60: e286 9220 4368 6172 20e2 8692 2042 6f6f ... Char ... Boo │ │ │ +00007a70: 6c0a 89b4 bbee bd86 e98c b601 abc0 a5e0 l............... │ │ │ +00007a80: d59c de92 1500 8601 0000 7aaf 0520 0000 ..........z.. .. │ │ │ +00007a90: 0100 0404 0803 0702 5e02 0000 030f 0005 ........^....... │ │ │ +00007aa0: 0505 0b5f 0b87 010b 6109 0601 00c1 03d4 ..._....a....... │ │ │ +00007ab0: bedc ece5 b3ed a090 01aa ebed e989 fdb6 ................ │ │ │ +00007ac0: f694 0100 8701 0000 7ca3 0582 8080 e608 ........|....... │ │ │ +00007ad0: 0000 0100 0304 0704 0200 0003 0f00 0901 ................ │ │ │ +00007ae0: c103 7b2d 2320 4f50 5449 4f4e 5320 2d2d ..{-# OPTIONS -- │ │ │ +00007af0: 6375 6269 6361 6c2d 636f 6d70 6174 6962 cubical-compatib │ │ │ +00007b00: 6c65 202d 2d73 6166 6520 2d2d 6e6f 2d75 le --safe --no-u │ │ │ +00007b10: 6e69 7665 7273 652d 706f 6c79 6d6f 7270 niverse-polymorp │ │ │ +00007b20: 6869 736d 0a20 2020 2020 2020 2020 2020 hism. │ │ │ +00007b30: 202d 2d6e 6f2d 7369 7a65 642d 7479 7065 --no-sized-type │ │ │ +00007b40: 7320 2d2d 6e6f 2d67 7561 7264 6564 6e65 s --no-guardedne │ │ │ +00007b50: 7373 202d 2d6c 6576 656c 2d75 6e69 7665 ss --level-unive │ │ │ +00007b60: 7273 6520 232d 7d0a 0a6d 6f64 756c 6520 rse #-}..module │ │ │ +00007b70: 4167 6461 2e42 7569 6c74 696e 2e42 6f6f Agda.Builtin.Boo │ │ │ +00007b80: 6c20 7768 6572 650a 0a64 6174 6120 426f l where..data Bo │ │ │ +00007b90: 6f6c 203a 2053 6574 2077 6865 7265 0a20 ol : Set where. │ │ │ +00007ba0: 2066 616c 7365 2074 7275 6520 3a20 426f false true : Bo │ │ │ +00007bb0: 6f6c 0a0a 7b2d 2320 4255 494c 5449 4e20 ol..{-# BUILTIN │ │ │ +00007bc0: 424f 4f4c 2020 426f 6f6c 2020 232d 7d0a BOOL Bool #-}. │ │ │ +00007bd0: 7b2d 2320 4255 494c 5449 4e20 4641 4c53 {-# BUILTIN FALS │ │ │ +00007be0: 4520 6661 6c73 6520 232d 7d0a 7b2d 2320 E false #-}.{-# │ │ │ +00007bf0: 4255 494c 5449 4e20 5452 5545 2020 7472 BUILTIN TRUE tr │ │ │ +00007c00: 7565 2020 232d 7d0a 0a7b 2d23 2043 4f4d ue #-}..{-# COM │ │ │ +00007c10: 5049 4c45 204a 5320 426f 6f6c 2020 3d20 PILE JS Bool = │ │ │ +00007c20: 6675 6e63 7469 6f6e 2028 782c 7629 207b function (x,v) { │ │ │ +00007c30: 2072 6574 7572 6e20 2828 7829 3f20 765b return ((x)? v[ │ │ │ +00007c40: 2274 7275 6522 5d28 2920 3a20 765b 2266 "true"]() : v["f │ │ │ +00007c50: 616c 7365 225d 2829 293b 207d 2023 2d7d alse"]()); } #-} │ │ │ +00007c60: 0a7b 2d23 2043 4f4d 5049 4c45 204a 5320 .{-# COMPILE JS │ │ │ +00007c70: 6661 6c73 6520 3d20 6661 6c73 6520 232d false = false #- │ │ │ +00007c80: 7d0a 7b2d 2320 434f 4d50 494c 4520 4a53 }.{-# COMPILE JS │ │ │ +00007c90: 2074 7275 6520 203d 2074 7275 6520 2023 true = true # │ │ │ +00007ca0: 2d7d 0ada 82b9 a1a7 eb81 911f ad99 cbdb -}.............. │ │ │ +00007cb0: b1ea b4f9 a501 0088 0100 007c df05 2000 ...........|.. . │ │ │ +00007cc0: 0001 0004 0408 0307 025e 0200 0003 0f00 .........^...... │ │ │ +00007cd0: 0505 050b 5f0b 8901 0b61 0906 0100 1f9a ...._....a...... │ │ │ +00007ce0: 82e9 b999 ee86 9c70 f782 ec92 e9fb bf9a .......p........ │ │ │ +00007cf0: 9401 0089 0100 007d 2f05 8280 80e6 0800 .......}/....... │ │ │ +00007d00: 0001 0003 0407 0402 0000 030f 0009 011f ................ │ │ │ +00007d10: 6e61 6d65 3a20 6167 6461 2d62 7569 6c74 name: agda-built │ │ │ +00007d20: 696e 730a 696e 636c 7564 653a 202e 0a85 ins.include: ... │ │ │ +00007d30: d1b6 f492 96fe b96e c4ff aaa8 ccd8 f5da .......n........ │ │ │ +00007d40: 4400 8a01 0000 7d6b 0520 0000 0100 0404 D.....}k. ...... │ │ │ +00007d50: 0803 0702 5e02 0000 030f 0005 0505 0b5f ....^.........._ │ │ │ +00007d60: 0b8b 010b 6109 0601 00d2 0380 ee99 facc ....a........... │ │ │ +00007d70: f7bf cdb7 01f4 a987 dae8 86d0 c1c7 0100 ................ │ │ │ +00007d80: 8b01 0000 7f70 0582 8080 e608 0000 0100 .....p.......... │ │ │ +00007d90: 0304 0704 0200 0003 0f00 0901 d203 2321 ..............#! │ │ │ +00007da0: 2f75 7372 2f62 696e 2f65 6e76 2070 6572 /usr/bin/env per │ │ │ +00007db0: 6c0a 0a75 7365 2073 7472 6963 743b 0a75 l..use strict;.u │ │ │ +00007dc0: 7365 2077 6172 6e69 6e67 733b 0a0a 6d79 se warnings;..my │ │ │ +00007dd0: 2024 7461 675f 7072 6566 6978 203d 2022 $tag_prefix = " │ │ │ +00007de0: 4167 6461 5461 6722 3b0a 6d79 2024 756e AgdaTag";.my $un │ │ │ +00007df0: 6465 7273 636f 7265 203d 2022 4167 6461 derscore = "Agda │ │ │ +00007e00: 556e 6465 7273 636f 7265 223b 0a6d 7920 Underscore";.my │ │ │ +00007e10: 2463 6f6d 6d61 6e64 7320 2020 3d20 7172 $commands = qr │ │ │ +00007e20: 2228 496e 6475 6374 6976 6543 6f6e 7374 "(InductiveConst │ │ │ +00007e30: 7275 6374 6f72 7c43 6f69 6e64 7563 7469 ructor|Coinducti │ │ │ +00007e40: 7665 436f 6e73 7472 7563 746f 725c 0a20 veConstructor\. │ │ │ 00007e50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00007e60: 2020 7c44 6174 6174 7970 657c 4669 656c |Datatype|Fiel │ │ │ -00007e70: 647c 4675 6e63 7469 6f6e 7c4d 6f64 756c d|Function|Modul │ │ │ -00007e80: 657c 506f 7374 756c 6174 657c 5265 636f e|Postulate|Reco │ │ │ -00007e90: 7264 2922 3b0a 0a77 6869 6c65 2028 3c3e rd)";..while (<> │ │ │ -00007ea0: 2920 7b0a 0a20 2073 7c28 5c5c 4167 6461 ) {.. s|(\\Agda │ │ │ -00007eb0: 2463 6f6d 6d61 6e64 7329 5c7b 282e 2a3f $commands)\{(.*? │ │ │ -00007ec0: 295c 7d0a 0a20 2020 7c20 6d79 2024 636d )\}.. | my $cm │ │ │ -00007ed0: 6420 3d20 2431 3b0a 2020 2020 206d 7920 d = $1;. my │ │ │ -00007ee0: 2461 7267 203d 2024 333b 0a20 2020 2020 $arg = $3;. │ │ │ -00007ef0: 6d79 2024 7461 6720 3d20 2224 7461 675f my $tag = "$tag_ │ │ │ -00007f00: 7072 6566 6978 2d24 3322 203d 7e20 732f prefix-$3" =~ s/ │ │ │ -00007f10: 5c5c 5f2f 2475 6e64 6572 7363 6f72 652f \\_/$underscore/ │ │ │ -00007f20: 6772 3b0a 0a20 2020 2020 245f 203d 2022 gr;.. $_ = " │ │ │ -00007f30: 255c 6e25 3c2a 2474 6167 3e5c 6e24 636d %\n%<*$tag>\n$cm │ │ │ -00007f40: 645c 7b24 6172 675c 7d25 5c6e 253c 2f24 d\{$arg\}%\n%\n";. |gxe │ │ │ -00007f60: 3b0a 0a20 2070 7269 6e74 3b0a 0a7d 0ad3 ;.. print;..}.. │ │ │ -00007f70: f882 a1f1 cf86 90e3 01e9 d2b8 98cd e9c5 ................ │ │ │ -00007f80: bc27 008c 0100 007f ad05 2000 0001 0004 .'........ ..... │ │ │ -00007f90: 0408 0307 025e 0200 0003 0f00 0505 050b .....^.......... │ │ │ -00007fa0: 5f0b 8d01 0b61 0906 0100 ceca 0185 ced1 _....a.......... │ │ │ -00007fb0: cfa6 f0d5 ac22 9f8d b8b5 dcec e1a4 c701 .....".......... │ │ │ -00007fc0: 008d 0100 00e5 2e05 8280 80e6 0800 0001 ................ │ │ │ -00007fd0: 0003 0407 0402 0000 030f 0009 01ce ca01 ................ │ │ │ -00007fe0: 2520 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d % -------------- │ │ │ +00007e60: 2020 207c 4461 7461 7479 7065 7c46 6965 |Datatype|Fie │ │ │ +00007e70: 6c64 7c46 756e 6374 696f 6e7c 4d6f 6475 ld|Function|Modu │ │ │ +00007e80: 6c65 7c50 6f73 7475 6c61 7465 7c52 6563 le|Postulate|Rec │ │ │ +00007e90: 6f72 6429 223b 0a0a 7768 696c 6520 283c ord)";..while (< │ │ │ +00007ea0: 3e29 207b 0a0a 2020 737c 285c 5c41 6764 >) {.. s|(\\Agd │ │ │ +00007eb0: 6124 636f 6d6d 616e 6473 295c 7b28 2e2a a$commands)\{(.* │ │ │ +00007ec0: 3f29 5c7d 0a0a 2020 207c 206d 7920 2463 ?)\}.. | my $c │ │ │ +00007ed0: 6d64 203d 2024 313b 0a20 2020 2020 6d79 md = $1;. my │ │ │ +00007ee0: 2024 6172 6720 3d20 2433 3b0a 2020 2020 $arg = $3;. │ │ │ +00007ef0: 206d 7920 2474 6167 203d 2022 2474 6167 my $tag = "$tag │ │ │ +00007f00: 5f70 7265 6669 782d 2433 2220 3d7e 2073 _prefix-$3" =~ s │ │ │ +00007f10: 2f5c 5c5f 2f24 756e 6465 7273 636f 7265 /\\_/$underscore │ │ │ +00007f20: 2f67 723b 0a0a 2020 2020 2024 5f20 3d20 /gr;.. $_ = │ │ │ +00007f30: 2225 5c6e 253c 2a24 7461 673e 5c6e 2463 "%\n%<*$tag>\n$c │ │ │ +00007f40: 6d64 5c7b 2461 7267 5c7d 255c 6e25 3c2f md\{$arg\}%\n%\n";. |gx │ │ │ +00007f60: 653b 0a0a 2020 7072 696e 743b 0a0a 7d0a e;.. print;..}. │ │ │ +00007f70: d3f8 82a1 f1cf 8690 e301 e9d2 b898 cde9 ................ │ │ │ +00007f80: c5bc 2700 8c01 0000 7fae 0520 0000 0100 ..'........ .... │ │ │ +00007f90: 0404 0803 0702 5e02 0000 030f 0005 0505 ......^......... │ │ │ +00007fa0: 0b5f 0b8d 010b 6109 0601 00ce ca01 85ce ._....a......... │ │ │ +00007fb0: d1cf a6f0 d5ac 229f 8db8 b5dc ece1 a4c7 ......"......... │ │ │ +00007fc0: 0100 8d01 0000 e52f 0582 8080 e608 0000 ......./........ │ │ │ +00007fd0: 0100 0304 0704 0200 0003 0f00 0901 ceca ................ │ │ │ +00007fe0: 0125 202d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d .% ------------- │ │ │ 00007ff0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 00008000: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 00008010: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ -00008020: 2d2d 2d2d 2d2d 2d2d 0a25 2053 6f6d 6520 --------.% Some │ │ │ -00008030: 7573 6566 756c 2063 6f6d 6d61 6e64 7320 useful commands │ │ │ -00008040: 7768 656e 2064 6f69 6e67 2068 6967 686c when doing highl │ │ │ -00008050: 6967 6874 696e 6720 6f66 2041 6764 6120 ighting of Agda │ │ │ -00008060: 636f 6465 2069 6e20 4c61 5465 582e 0a25 code in LaTeX..% │ │ │ -00008070: 202d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d --------------- │ │ │ +00008020: 2d2d 2d2d 2d2d 2d2d 2d0a 2520 536f 6d65 ---------.% Some │ │ │ +00008030: 2075 7365 6675 6c20 636f 6d6d 616e 6473 useful commands │ │ │ +00008040: 2077 6865 6e20 646f 696e 6720 6869 6768 when doing high │ │ │ +00008050: 6c69 6768 7469 6e67 206f 6620 4167 6461 lighting of Agda │ │ │ +00008060: 2063 6f64 6520 696e 204c 6154 6558 2e0a code in LaTeX.. │ │ │ +00008070: 2520 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d % -------------- │ │ │ 00008080: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 00008090: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 000080a0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ -000080b0: 2d2d 2d2d 2d2d 2d0a 0a25 2021 2121 2121 -------..% !!!!! │ │ │ +000080b0: 2d2d 2d2d 2d2d 2d2d 0a0a 2520 2121 2121 --------..% !!!! │ │ │ 000080c0: 2121 2121 2121 2121 2121 2121 2121 2121 !!!!!!!!!!!!!!!! │ │ │ 000080d0: 2121 2121 2121 2121 2121 2121 2121 2121 !!!!!!!!!!!!!!!! │ │ │ 000080e0: 2121 2121 2121 2121 2121 2121 2121 2121 !!!!!!!!!!!!!!!! │ │ │ -000080f0: 2121 2121 2121 2121 2121 210a 2520 2121 !!!!!!!!!!!.% !! │ │ │ -00008100: 2120 4e4f 5445 3a20 7768 656e 2079 6f75 ! NOTE: when you │ │ │ -00008110: 206d 616b 6520 6368 616e 6765 7320 746f make changes to │ │ │ -00008120: 2074 6869 7320 6669 6c65 2c20 6275 6d70 this file, bump │ │ │ -00008130: 2074 6865 2064 6174 652e 2021 2121 0a25 the date. !!!.% │ │ │ -00008140: 2021 2121 2121 2121 2121 2121 2121 2121 !!!!!!!!!!!!!!! │ │ │ +000080f0: 2121 2121 2121 2121 2121 2121 0a25 2021 !!!!!!!!!!!!.% ! │ │ │ +00008100: 2121 204e 4f54 453a 2077 6865 6e20 796f !! NOTE: when yo │ │ │ +00008110: 7520 6d61 6b65 2063 6861 6e67 6573 2074 u make changes t │ │ │ +00008120: 6f20 7468 6973 2066 696c 652c 2062 756d o this file, bum │ │ │ +00008130: 7020 7468 6520 6461 7465 2e20 2121 210a p the date. !!!. │ │ │ +00008140: 2520 2121 2121 2121 2121 2121 2121 2121 % !!!!!!!!!!!!!! │ │ │ 00008150: 2121 2121 2121 2121 2121 2121 2121 2121 !!!!!!!!!!!!!!!! │ │ │ 00008160: 2121 2121 2121 2121 2121 2121 2121 2121 !!!!!!!!!!!!!!!! │ │ │ 00008170: 2121 2121 2121 2121 2121 2121 2121 2121 !!!!!!!!!!!!!!!! │ │ │ -00008180: 210a 5c50 726f 7669 6465 7350 6163 6b61 !.\ProvidesPacka │ │ │ -00008190: 6765 7b61 6764 617d 0a20 205b 3230 3231 ge{agda}. [2021 │ │ │ -000081a0: 2f30 372f 3134 2076 6572 7369 6f6e 2032 /07/14 version 2 │ │ │ -000081b0: 2e38 2e30 2046 6f72 6d61 7474 696e 6720 .8.0 Formatting │ │ │ -000081c0: 4c61 5465 5820 6765 6e65 7261 7465 6420 LaTeX generated │ │ │ -000081d0: 6279 2041 6764 615d 0a0a 5c52 6571 7569 by Agda]..\Requi │ │ │ -000081e0: 7265 5061 636b 6167 657b 6966 7865 7465 rePackage{ifxete │ │ │ -000081f0: 782c 2069 666c 7561 7465 782c 2078 6966 x, ifluatex, xif │ │ │ -00008200: 7468 656e 2c20 7863 6f6c 6f72 2c20 706f then, xcolor, po │ │ │ -00008210: 6c79 7461 626c 652c 2065 746f 6f6c 626f lytable, etoolbo │ │ │ -00008220: 782c 0a20 2020 2020 2020 2020 2020 2020 x,. │ │ │ -00008230: 2020 2063 616c 632c 2065 6e76 6972 6f6e calc, environ │ │ │ -00008240: 2c20 7870 6172 7365 2c20 786b 6579 7661 , xparse, xkeyva │ │ │ -00008250: 6c7d 0a0a 2520 6874 7470 733a 2f2f 7465 l}..% https://te │ │ │ -00008260: 782e 7374 6163 6b65 7863 6861 6e67 652e x.stackexchange. │ │ │ -00008270: 636f 6d2f 7175 6573 7469 6f6e 732f 3437 com/questions/47 │ │ │ -00008280: 3537 362f 636f 6d62 696e 696e 672d 6966 576/combining-if │ │ │ -00008290: 7865 7465 782d 616e 642d 6966 6c75 6174 xetex-and-ifluat │ │ │ -000082a0: 6578 2d77 6974 682d 7468 652d 6c6f 6769 ex-with-the-logi │ │ │ -000082b0: 6361 6c2d 6f72 2d6f 7065 7261 7469 6f6e cal-or-operation │ │ │ -000082c0: 0a5c 6e65 7769 665c 6966 7865 7465 786f .\newif\ifxetexo │ │ │ -000082d0: 726c 7561 7465 780a 5c69 6678 6574 6578 rluatex.\ifxetex │ │ │ -000082e0: 0a20 205c 7865 7465 786f 726c 7561 7465 . \xetexorluate │ │ │ -000082f0: 7874 7275 650a 5c65 6c73 650a 2020 5c69 xtrue.\else. \i │ │ │ -00008300: 666c 7561 7465 780a 2020 2020 5c78 6574 fluatex. \xet │ │ │ -00008310: 6578 6f72 6c75 6174 6578 7472 7565 0a20 exorluatextrue. │ │ │ -00008320: 205c 656c 7365 0a20 2020 205c 7865 7465 \else. \xete │ │ │ -00008330: 786f 726c 7561 7465 7866 616c 7365 0a20 xorluatexfalse. │ │ │ -00008340: 205c 6669 0a5c 6669 0a0a 2520 2d2d 2d2d \fi.\fi..% ---- │ │ │ +00008180: 2121 0a5c 5072 6f76 6964 6573 5061 636b !!.\ProvidesPack │ │ │ +00008190: 6167 657b 6167 6461 7d0a 2020 5b32 3032 age{agda}. [202 │ │ │ +000081a0: 312f 3037 2f31 3420 7665 7273 696f 6e20 1/07/14 version │ │ │ +000081b0: 322e 382e 3020 466f 726d 6174 7469 6e67 2.8.0 Formatting │ │ │ +000081c0: 204c 6154 6558 2067 656e 6572 6174 6564 LaTeX generated │ │ │ +000081d0: 2062 7920 4167 6461 5d0a 0a5c 5265 7175 by Agda]..\Requ │ │ │ +000081e0: 6972 6550 6163 6b61 6765 7b69 6678 6574 irePackage{ifxet │ │ │ +000081f0: 6578 2c20 6966 6c75 6174 6578 2c20 7869 ex, ifluatex, xi │ │ │ +00008200: 6674 6865 6e2c 2078 636f 6c6f 722c 2070 fthen, xcolor, p │ │ │ +00008210: 6f6c 7974 6162 6c65 2c20 6574 6f6f 6c62 olytable, etoolb │ │ │ +00008220: 6f78 2c0a 2020 2020 2020 2020 2020 2020 ox,. │ │ │ +00008230: 2020 2020 6361 6c63 2c20 656e 7669 726f calc, enviro │ │ │ +00008240: 6e2c 2078 7061 7273 652c 2078 6b65 7976 n, xparse, xkeyv │ │ │ +00008250: 616c 7d0a 0a25 2068 7474 7073 3a2f 2f74 al}..% https://t │ │ │ +00008260: 6578 2e73 7461 636b 6578 6368 616e 6765 ex.stackexchange │ │ │ +00008270: 2e63 6f6d 2f71 7565 7374 696f 6e73 2f34 .com/questions/4 │ │ │ +00008280: 3735 3736 2f63 6f6d 6269 6e69 6e67 2d69 7576/combining-i │ │ │ +00008290: 6678 6574 6578 2d61 6e64 2d69 666c 7561 fxetex-and-iflua │ │ │ +000082a0: 7465 782d 7769 7468 2d74 6865 2d6c 6f67 tex-with-the-log │ │ │ +000082b0: 6963 616c 2d6f 722d 6f70 6572 6174 696f ical-or-operatio │ │ │ +000082c0: 6e0a 5c6e 6577 6966 5c69 6678 6574 6578 n.\newif\ifxetex │ │ │ +000082d0: 6f72 6c75 6174 6578 0a5c 6966 7865 7465 orluatex.\ifxete │ │ │ +000082e0: 780a 2020 5c78 6574 6578 6f72 6c75 6174 x. \xetexorluat │ │ │ +000082f0: 6578 7472 7565 0a5c 656c 7365 0a20 205c extrue.\else. \ │ │ │ +00008300: 6966 6c75 6174 6578 0a20 2020 205c 7865 ifluatex. \xe │ │ │ +00008310: 7465 786f 726c 7561 7465 7874 7275 650a texorluatextrue. │ │ │ +00008320: 2020 5c65 6c73 650a 2020 2020 5c78 6574 \else. \xet │ │ │ +00008330: 6578 6f72 6c75 6174 6578 6661 6c73 650a exorluatexfalse. │ │ │ +00008340: 2020 5c66 690a 5c66 690a 0a25 202d 2d2d \fi.\fi..% --- │ │ │ 00008350: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 00008360: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 00008370: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 00008380: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ -00008390: 2d2d 0a25 204f 7074 696f 6e73 0a0a 5c44 --.% Options..\D │ │ │ -000083a0: 6563 6c61 7265 4f70 7469 6f6e 7b62 777d eclareOption{bw} │ │ │ -000083b0: 2020 207b 5c6e 6577 636f 6d6d 616e 647b {\newcommand{ │ │ │ -000083c0: 5c41 6764 6143 6f6c 6f75 7253 6368 656d \AgdaColourSchem │ │ │ -000083d0: 657d 7b62 777d 7d0a 5c44 6563 6c61 7265 e}{bw}}.\Declare │ │ │ -000083e0: 4f70 7469 6f6e 7b63 6f6e 6f72 7d7b 5c6e Option{conor}{\n │ │ │ -000083f0: 6577 636f 6d6d 616e 647b 5c41 6764 6143 ewcommand{\AgdaC │ │ │ -00008400: 6f6c 6f75 7253 6368 656d 657d 7b63 6f6e olourScheme}{con │ │ │ -00008410: 6f72 7d7d 0a0a 5c6e 6577 6966 5c69 6640 or}}..\newif\if@ │ │ │ -00008420: 4167 6461 456e 6162 6c65 5265 6665 7265 AgdaEnableRefere │ │ │ -00008430: 6e63 6573 5c40 4167 6461 456e 6162 6c65 nces\@AgdaEnable │ │ │ -00008440: 5265 6665 7265 6e63 6573 6661 6c73 650a Referencesfalse. │ │ │ -00008450: 5c44 6563 6c61 7265 4f70 7469 6f6e 7b72 \DeclareOption{r │ │ │ -00008460: 6566 6572 656e 6365 737d 7b0a 2020 5c40 eferences}{. \@ │ │ │ -00008470: 4167 6461 456e 6162 6c65 5265 6665 7265 AgdaEnableRefere │ │ │ -00008480: 6e63 6573 7472 7565 0a7d 0a0a 5c6e 6577 ncestrue.}..\new │ │ │ -00008490: 6966 5c69 6640 4167 6461 456e 6162 6c65 if\if@AgdaEnable │ │ │ -000084a0: 4c69 6e6b 735c 4041 6764 6145 6e61 626c Links\@AgdaEnabl │ │ │ -000084b0: 654c 696e 6b73 6661 6c73 650a 5c44 6563 eLinksfalse.\Dec │ │ │ -000084c0: 6c61 7265 4f70 7469 6f6e 7b6c 696e 6b73 lareOption{links │ │ │ -000084d0: 7d7b 0a20 205c 4041 6764 6145 6e61 626c }{. \@AgdaEnabl │ │ │ -000084e0: 654c 696e 6b73 7472 7565 0a7d 0a0a 5c50 eLinkstrue.}..\P │ │ │ -000084f0: 726f 6365 7373 4f70 7469 6f6e 735c 7265 rocessOptions\re │ │ │ -00008500: 6c61 780a 0a25 202d 2d2d 2d2d 2d2d 2d2d lax..% --------- │ │ │ +00008390: 2d2d 2d0a 2520 4f70 7469 6f6e 730a 0a5c ---.% Options..\ │ │ │ +000083a0: 4465 636c 6172 654f 7074 696f 6e7b 6277 DeclareOption{bw │ │ │ +000083b0: 7d20 2020 7b5c 6e65 7763 6f6d 6d61 6e64 } {\newcommand │ │ │ +000083c0: 7b5c 4167 6461 436f 6c6f 7572 5363 6865 {\AgdaColourSche │ │ │ +000083d0: 6d65 7d7b 6277 7d7d 0a5c 4465 636c 6172 me}{bw}}.\Declar │ │ │ +000083e0: 654f 7074 696f 6e7b 636f 6e6f 727d 7b5c eOption{conor}{\ │ │ │ +000083f0: 6e65 7763 6f6d 6d61 6e64 7b5c 4167 6461 newcommand{\Agda │ │ │ +00008400: 436f 6c6f 7572 5363 6865 6d65 7d7b 636f ColourScheme}{co │ │ │ +00008410: 6e6f 727d 7d0a 0a5c 6e65 7769 665c 6966 nor}}..\newif\if │ │ │ +00008420: 4041 6764 6145 6e61 626c 6552 6566 6572 @AgdaEnableRefer │ │ │ +00008430: 656e 6365 735c 4041 6764 6145 6e61 626c ences\@AgdaEnabl │ │ │ +00008440: 6552 6566 6572 656e 6365 7366 616c 7365 eReferencesfalse │ │ │ +00008450: 0a5c 4465 636c 6172 654f 7074 696f 6e7b .\DeclareOption{ │ │ │ +00008460: 7265 6665 7265 6e63 6573 7d7b 0a20 205c references}{. \ │ │ │ +00008470: 4041 6764 6145 6e61 626c 6552 6566 6572 @AgdaEnableRefer │ │ │ +00008480: 656e 6365 7374 7275 650a 7d0a 0a5c 6e65 encestrue.}..\ne │ │ │ +00008490: 7769 665c 6966 4041 6764 6145 6e61 626c wif\if@AgdaEnabl │ │ │ +000084a0: 654c 696e 6b73 5c40 4167 6461 456e 6162 eLinks\@AgdaEnab │ │ │ +000084b0: 6c65 4c69 6e6b 7366 616c 7365 0a5c 4465 leLinksfalse.\De │ │ │ +000084c0: 636c 6172 654f 7074 696f 6e7b 6c69 6e6b clareOption{link │ │ │ +000084d0: 737d 7b0a 2020 5c40 4167 6461 456e 6162 s}{. \@AgdaEnab │ │ │ +000084e0: 6c65 4c69 6e6b 7374 7275 650a 7d0a 0a5c leLinkstrue.}..\ │ │ │ +000084f0: 5072 6f63 6573 734f 7074 696f 6e73 5c72 ProcessOptions\r │ │ │ +00008500: 656c 6178 0a0a 2520 2d2d 2d2d 2d2d 2d2d elax..% -------- │ │ │ 00008510: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 00008520: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 00008530: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ -00008540: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 2520 -------------.% │ │ │ -00008550: 466f 6e74 2073 6574 7570 0a0a 5c74 7261 Font setup..\tra │ │ │ -00008560: 6369 6e67 6c6f 7374 6368 6172 733d 3220 cinglostchars=2 │ │ │ -00008570: 2520 4966 2074 6865 2066 6f6e 7420 6973 % If the font is │ │ │ -00008580: 206d 6973 7369 6e67 2073 6f6d 6520 7379 missing some sy │ │ │ -00008590: 6d62 6f6c 2c20 7468 656e 2073 6179 0a20 mbol, then say. │ │ │ +00008540: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a25 --------------.% │ │ │ +00008550: 2046 6f6e 7420 7365 7475 700a 0a5c 7472 Font setup..\tr │ │ │ +00008560: 6163 696e 676c 6f73 7463 6861 7273 3d32 acinglostchars=2 │ │ │ +00008570: 2025 2049 6620 7468 6520 666f 6e74 2069 % If the font i │ │ │ +00008580: 7320 6d69 7373 696e 6720 736f 6d65 2073 s missing some s │ │ │ +00008590: 796d 626f 6c2c 2074 6865 6e20 7361 790a ymbol, then say. │ │ │ 000085a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -000085b0: 2020 2025 2073 6f20 696e 2074 6865 2063 % so in the c │ │ │ -000085c0: 6f6d 7069 6c61 7469 6f6e 206f 7574 7075 ompilation outpu │ │ │ -000085d0: 742e 0a0a 2520 2d2d 2d2d 2d2d 2d2d 2d2d t...% ---------- │ │ │ +000085b0: 2020 2020 2520 736f 2069 6e20 7468 6520 % so in the │ │ │ +000085c0: 636f 6d70 696c 6174 696f 6e20 6f75 7470 compilation outp │ │ │ +000085d0: 7574 2e0a 0a25 202d 2d2d 2d2d 2d2d 2d2d ut...% --------- │ │ │ 000085e0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 000085f0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 00008600: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ -00008610: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a25 2043 ------------.% C │ │ │ -00008620: 6f6c 6f75 7220 7363 6865 6d65 732e 0a0a olour schemes... │ │ │ -00008630: 5c70 726f 7669 6465 636f 6d6d 616e 647b \providecommand{ │ │ │ -00008640: 5c41 6764 6143 6f6c 6f75 7253 6368 656d \AgdaColourSchem │ │ │ -00008650: 657d 7b73 7461 6e64 6172 647d 0a0a 2520 e}{standard}..% │ │ │ -00008660: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ +00008610: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 2520 -------------.% │ │ │ +00008620: 436f 6c6f 7572 2073 6368 656d 6573 2e0a Colour schemes.. │ │ │ +00008630: 0a5c 7072 6f76 6964 6563 6f6d 6d61 6e64 .\providecommand │ │ │ +00008640: 7b5c 4167 6461 436f 6c6f 7572 5363 6865 {\AgdaColourSche │ │ │ +00008650: 6d65 7d7b 7374 616e 6461 7264 7d0a 0a25 me}{standard}..% │ │ │ +00008660: 202d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d --------------- │ │ │ 00008670: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 00008680: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 00008690: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ -000086a0: 2d2d 2d2d 2d2d 0a25 2052 6566 6572 656e ------.% Referen │ │ │ -000086b0: 6365 7320 746f 2063 6f64 6520 286e 6565 ces to code (nee │ │ │ -000086c0: 6473 2061 6464 6974 696f 6e61 6c20 706f ds additional po │ │ │ -000086d0: 7374 2d70 726f 6365 7373 696e 6720 6f66 st-processing of │ │ │ -000086e0: 2074 6578 2066 696c 6573 2074 6f0a 2520 tex files to.% │ │ │ -000086f0: 776f 726b 2c20 7365 6520 7769 6b69 2066 work, see wiki f │ │ │ -00008700: 6f72 2064 6574 6169 6c73 292e 0a0a 5c69 or details)...\i │ │ │ -00008710: 6640 4167 6461 456e 6162 6c65 5265 6665 f@AgdaEnableRefe │ │ │ -00008720: 7265 6e63 6573 0a20 205c 5265 7175 6972 rences. \Requir │ │ │ -00008730: 6550 6163 6b61 6765 7b63 6174 6368 6669 ePackage{catchfi │ │ │ -00008740: 6c65 6265 7477 6565 6e74 6167 732c 2078 lebetweentags, x │ │ │ -00008750: 7374 7269 6e67 7d0a 2020 5c6e 6577 636f string}. \newco │ │ │ -00008760: 6d6d 616e 647b 5c41 6764 6152 6566 7d5b mmand{\AgdaRef}[ │ │ │ -00008770: 325d 5b5d 7b25 0a20 2020 205c 5374 7253 2][]{%. \StrS │ │ │ -00008780: 7562 7374 6974 7574 657b 2332 7d7b 5c5f ubstitute{#2}{\_ │ │ │ -00008790: 7d7b 4167 6461 556e 6465 7273 636f 7265 }{AgdaUnderscore │ │ │ -000087a0: 7d5b 5c74 6d70 5d25 0a20 2020 205c 6966 }[\tmp]%. \if │ │ │ -000087b0: 7468 656e 656c 7365 7b5c 6973 656d 7074 thenelse{\isempt │ │ │ -000087c0: 797b 2331 7d7d 250a 2020 2020 2020 2020 y{#1}}%. │ │ │ -000087d0: 2020 2020 2020 207b 5c45 7865 6375 7465 {\Execute │ │ │ -000087e0: 4d65 7461 4461 7461 7b41 6764 6154 6167 MetaData{AgdaTag │ │ │ -000087f0: 2d5c 746d 707d 7d25 0a20 2020 2020 2020 -\tmp}}%. │ │ │ -00008800: 2020 2020 2020 2020 7b5c 4578 6563 7574 {\Execut │ │ │ -00008810: 654d 6574 6144 6174 617b 2331 7d7b 4167 eMetaData{#1}{Ag │ │ │ -00008820: 6461 5461 672d 5c74 6d70 7d7d 0a20 207d daTag-\tmp}}. } │ │ │ -00008830: 0a5c 6669 0a0a 5c70 726f 7669 6465 636f .\fi..\provideco │ │ │ -00008840: 6d6d 616e 647b 5c41 6764 6152 6566 7d5b mmand{\AgdaRef}[ │ │ │ -00008850: 325d 5b5d 7b23 327d 0a0a 2520 2d2d 2d2d 2][]{#2}..% ---- │ │ │ +000086a0: 2d2d 2d2d 2d2d 2d0a 2520 5265 6665 7265 -------.% Refere │ │ │ +000086b0: 6e63 6573 2074 6f20 636f 6465 2028 6e65 nces to code (ne │ │ │ +000086c0: 6564 7320 6164 6469 7469 6f6e 616c 2070 eds additional p │ │ │ +000086d0: 6f73 742d 7072 6f63 6573 7369 6e67 206f ost-processing o │ │ │ +000086e0: 6620 7465 7820 6669 6c65 7320 746f 0a25 f tex files to.% │ │ │ +000086f0: 2077 6f72 6b2c 2073 6565 2077 696b 6920 work, see wiki │ │ │ +00008700: 666f 7220 6465 7461 696c 7329 2e0a 0a5c for details)...\ │ │ │ +00008710: 6966 4041 6764 6145 6e61 626c 6552 6566 if@AgdaEnableRef │ │ │ +00008720: 6572 656e 6365 730a 2020 5c52 6571 7569 erences. \Requi │ │ │ +00008730: 7265 5061 636b 6167 657b 6361 7463 6866 rePackage{catchf │ │ │ +00008740: 696c 6562 6574 7765 656e 7461 6773 2c20 ilebetweentags, │ │ │ +00008750: 7873 7472 696e 677d 0a20 205c 6e65 7763 xstring}. \newc │ │ │ +00008760: 6f6d 6d61 6e64 7b5c 4167 6461 5265 667d ommand{\AgdaRef} │ │ │ +00008770: 5b32 5d5b 5d7b 250a 2020 2020 5c53 7472 [2][]{%. \Str │ │ │ +00008780: 5375 6273 7469 7475 7465 7b23 327d 7b5c Substitute{#2}{\ │ │ │ +00008790: 5f7d 7b41 6764 6155 6e64 6572 7363 6f72 _}{AgdaUnderscor │ │ │ +000087a0: 657d 5b5c 746d 705d 250a 2020 2020 5c69 e}[\tmp]%. \i │ │ │ +000087b0: 6674 6865 6e65 6c73 657b 5c69 7365 6d70 fthenelse{\isemp │ │ │ +000087c0: 7479 7b23 317d 7d25 0a20 2020 2020 2020 ty{#1}}%. │ │ │ +000087d0: 2020 2020 2020 2020 7b5c 4578 6563 7574 {\Execut │ │ │ +000087e0: 654d 6574 6144 6174 617b 4167 6461 5461 eMetaData{AgdaTa │ │ │ +000087f0: 672d 5c74 6d70 7d7d 250a 2020 2020 2020 g-\tmp}}%. │ │ │ +00008800: 2020 2020 2020 2020 207b 5c45 7865 6375 {\Execu │ │ │ +00008810: 7465 4d65 7461 4461 7461 7b23 317d 7b41 teMetaData{#1}{A │ │ │ +00008820: 6764 6154 6167 2d5c 746d 707d 7d0a 2020 gdaTag-\tmp}}. │ │ │ +00008830: 7d0a 5c66 690a 0a5c 7072 6f76 6964 6563 }.\fi..\providec │ │ │ +00008840: 6f6d 6d61 6e64 7b5c 4167 6461 5265 667d ommand{\AgdaRef} │ │ │ +00008850: 5b32 5d5b 5d7b 2332 7d0a 0a25 202d 2d2d [2][]{#2}..% --- │ │ │ 00008860: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 00008870: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 00008880: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 00008890: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ -000088a0: 2d2d 0a25 204c 696e 6b73 2028 6f6e 6c79 --.% Links (only │ │ │ -000088b0: 2064 6f6e 6520 6966 2074 6865 206f 7074 done if the opt │ │ │ -000088c0: 696f 6e20 6973 2070 6173 7365 6420 616e ion is passed an │ │ │ -000088d0: 6420 7468 6520 7573 6572 2068 6173 206c d the user has l │ │ │ -000088e0: 6f61 6465 6420 7468 650a 2520 6879 7065 oaded the.% hype │ │ │ -000088f0: 7272 6566 2070 6163 6b61 6765 292e 0a0a rref package)... │ │ │ -00008900: 5c69 6640 4167 6461 456e 6162 6c65 4c69 \if@AgdaEnableLi │ │ │ -00008910: 6e6b 730a 2020 5c40 6966 7061 636b 6167 nks. \@ifpackag │ │ │ -00008920: 656c 6f61 6465 647b 6879 7065 7272 6566 eloaded{hyperref │ │ │ -00008930: 7d7b 0a0a 2020 2020 2520 4c69 7374 2074 }{.. % List t │ │ │ -00008940: 6861 7420 686f 6c64 7320 6164 6465 6420 hat holds added │ │ │ -00008950: 7461 7267 6574 732e 0a20 2020 205c 6e65 targets.. \ne │ │ │ -00008960: 7763 6f6d 6d61 6e64 7b5c 4167 6461 4c69 wcommand{\AgdaLi │ │ │ -00008970: 7374 7d5b 305d 7b7d 0a0a 2020 2020 5c6e st}[0]{}.. \n │ │ │ -00008980: 6577 746f 6767 6c65 7b41 6764 6149 7345 ewtoggle{AgdaIsE │ │ │ -00008990: 6c65 6d7d 0a20 2020 205c 6e65 7763 6f75 lem}. \newcou │ │ │ -000089a0: 6e74 6572 7b41 6764 6149 6e64 6578 7d0a nter{AgdaIndex}. │ │ │ -000089b0: 2020 2020 5c6e 6577 636f 6d6d 616e 647b \newcommand{ │ │ │ -000089c0: 5c41 6764 614c 6f6f 6b75 707d 5b33 5d7b \AgdaLookup}[3]{ │ │ │ -000089d0: 250a 2020 2020 2020 5c74 6f67 676c 6566 %. \togglef │ │ │ -000089e0: 616c 7365 7b41 6764 6149 7345 6c65 6d7d alse{AgdaIsElem} │ │ │ -000089f0: 250a 2020 2020 2020 5c73 6574 636f 756e %. \setcoun │ │ │ -00008a00: 7465 727b 4167 6461 496e 6465 787d 7b30 ter{AgdaIndex}{0 │ │ │ -00008a10: 7d25 0a20 2020 2020 205c 7265 6e65 7763 }%. \renewc │ │ │ -00008a20: 6f6d 6d61 6e64 2a7b 5c64 6f7d 5b31 5d7b ommand*{\do}[1]{ │ │ │ -00008a30: 250a 2020 2020 2020 5c69 6673 7472 6571 %. \ifstreq │ │ │ -00008a40: 7561 6c7b 2331 7d7b 2323 317d 250a 2020 ual{#1}{##1}%. │ │ │ -00008a50: 2020 2020 2020 7b5c 746f 6767 6c65 7472 {\toggletr │ │ │ -00008a60: 7565 7b41 6764 6149 7345 6c65 6d7d 5c6c ue{AgdaIsElem}\l │ │ │ -00008a70: 6973 7462 7265 616b 7d25 0a20 2020 2020 istbreak}%. │ │ │ -00008a80: 2020 207b 5c73 7465 7063 6f75 6e74 6572 {\stepcounter │ │ │ -00008a90: 7b41 6764 6149 6e64 6578 7d7d 7d25 0a20 {AgdaIndex}}}%. │ │ │ -00008aa0: 2020 2020 205c 646f 6c69 7374 6c6f 6f70 \dolistloop │ │ │ -00008ab0: 7b5c 4167 6461 4c69 7374 7d25 0a20 2020 {\AgdaList}%. │ │ │ -00008ac0: 2020 205c 6966 746f 6767 6c65 7b41 6764 \iftoggle{Agd │ │ │ -00008ad0: 6149 7345 6c65 6d7d 7b23 327d 7b23 337d aIsElem}{#2}{#3} │ │ │ -00008ae0: 250a 2020 2020 7d0a 0a20 2020 205c 6e65 %. }.. \ne │ │ │ -00008af0: 7763 6f6d 6d61 6e64 2a7b 5c41 6764 6154 wcommand*{\AgdaT │ │ │ -00008b00: 6172 6765 7448 656c 7065 727d 5b31 5d7b argetHelper}[1]{ │ │ │ -00008b10: 250a 2020 2020 2020 5c41 6764 614c 6f6f %. \AgdaLoo │ │ │ -00008b20: 6b75 707b 2331 7d25 0a20 2020 2020 2020 kup{#1}%. │ │ │ -00008b30: 207b 5c50 6163 6b61 6765 4572 726f 727b {\PackageError{ │ │ │ -00008b40: 6167 6461 7d7b 6060 2331 2727 2075 7365 agda}{``#1'' use │ │ │ -00008b50: 6420 6173 2074 6172 6765 7420 6d6f 7265 d as target more │ │ │ -00008b60: 2074 6861 6e20 6f6e 6365 7d25 0a20 2020 than once}%. │ │ │ +000088a0: 2d2d 2d0a 2520 4c69 6e6b 7320 286f 6e6c ---.% Links (onl │ │ │ +000088b0: 7920 646f 6e65 2069 6620 7468 6520 6f70 y done if the op │ │ │ +000088c0: 7469 6f6e 2069 7320 7061 7373 6564 2061 tion is passed a │ │ │ +000088d0: 6e64 2074 6865 2075 7365 7220 6861 7320 nd the user has │ │ │ +000088e0: 6c6f 6164 6564 2074 6865 0a25 2068 7970 loaded the.% hyp │ │ │ +000088f0: 6572 7265 6620 7061 636b 6167 6529 2e0a erref package).. │ │ │ +00008900: 0a5c 6966 4041 6764 6145 6e61 626c 654c .\if@AgdaEnableL │ │ │ +00008910: 696e 6b73 0a20 205c 4069 6670 6163 6b61 inks. \@ifpacka │ │ │ +00008920: 6765 6c6f 6164 6564 7b68 7970 6572 7265 geloaded{hyperre │ │ │ +00008930: 667d 7b0a 0a20 2020 2025 204c 6973 7420 f}{.. % List │ │ │ +00008940: 7468 6174 2068 6f6c 6473 2061 6464 6564 that holds added │ │ │ +00008950: 2074 6172 6765 7473 2e0a 2020 2020 5c6e targets.. \n │ │ │ +00008960: 6577 636f 6d6d 616e 647b 5c41 6764 614c ewcommand{\AgdaL │ │ │ +00008970: 6973 747d 5b30 5d7b 7d0a 0a20 2020 205c ist}[0]{}.. \ │ │ │ +00008980: 6e65 7774 6f67 676c 657b 4167 6461 4973 newtoggle{AgdaIs │ │ │ +00008990: 456c 656d 7d0a 2020 2020 5c6e 6577 636f Elem}. \newco │ │ │ +000089a0: 756e 7465 727b 4167 6461 496e 6465 787d unter{AgdaIndex} │ │ │ +000089b0: 0a20 2020 205c 6e65 7763 6f6d 6d61 6e64 . \newcommand │ │ │ +000089c0: 7b5c 4167 6461 4c6f 6f6b 7570 7d5b 335d {\AgdaLookup}[3] │ │ │ +000089d0: 7b25 0a20 2020 2020 205c 746f 6767 6c65 {%. \toggle │ │ │ +000089e0: 6661 6c73 657b 4167 6461 4973 456c 656d false{AgdaIsElem │ │ │ +000089f0: 7d25 0a20 2020 2020 205c 7365 7463 6f75 }%. \setcou │ │ │ +00008a00: 6e74 6572 7b41 6764 6149 6e64 6578 7d7b nter{AgdaIndex}{ │ │ │ +00008a10: 307d 250a 2020 2020 2020 5c72 656e 6577 0}%. \renew │ │ │ +00008a20: 636f 6d6d 616e 642a 7b5c 646f 7d5b 315d command*{\do}[1] │ │ │ +00008a30: 7b25 0a20 2020 2020 205c 6966 7374 7265 {%. \ifstre │ │ │ +00008a40: 7175 616c 7b23 317d 7b23 2331 7d25 0a20 qual{#1}{##1}%. │ │ │ +00008a50: 2020 2020 2020 207b 5c74 6f67 676c 6574 {\togglet │ │ │ +00008a60: 7275 657b 4167 6461 4973 456c 656d 7d5c rue{AgdaIsElem}\ │ │ │ +00008a70: 6c69 7374 6272 6561 6b7d 250a 2020 2020 listbreak}%. │ │ │ +00008a80: 2020 2020 7b5c 7374 6570 636f 756e 7465 {\stepcounte │ │ │ +00008a90: 727b 4167 6461 496e 6465 787d 7d7d 250a r{AgdaIndex}}}%. │ │ │ +00008aa0: 2020 2020 2020 5c64 6f6c 6973 746c 6f6f \dolistloo │ │ │ +00008ab0: 707b 5c41 6764 614c 6973 747d 250a 2020 p{\AgdaList}%. │ │ │ +00008ac0: 2020 2020 5c69 6674 6f67 676c 657b 4167 \iftoggle{Ag │ │ │ +00008ad0: 6461 4973 456c 656d 7d7b 2332 7d7b 2333 daIsElem}{#2}{#3 │ │ │ +00008ae0: 7d25 0a20 2020 207d 0a0a 2020 2020 5c6e }%. }.. \n │ │ │ +00008af0: 6577 636f 6d6d 616e 642a 7b5c 4167 6461 ewcommand*{\Agda │ │ │ +00008b00: 5461 7267 6574 4865 6c70 6572 7d5b 315d TargetHelper}[1] │ │ │ +00008b10: 7b25 0a20 2020 2020 205c 4167 6461 4c6f {%. \AgdaLo │ │ │ +00008b20: 6f6b 7570 7b23 317d 250a 2020 2020 2020 okup{#1}%. │ │ │ +00008b30: 2020 7b5c 5061 636b 6167 6545 7272 6f72 {\PackageError │ │ │ +00008b40: 7b61 6764 617d 7b60 6023 3127 2720 7573 {agda}{``#1'' us │ │ │ +00008b50: 6564 2061 7320 7461 7267 6574 206d 6f72 ed as target mor │ │ │ +00008b60: 6520 7468 616e 206f 6e63 657d 250a 2020 e than once}%. │ │ │ 00008b70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00008b80: 2020 2020 2020 2020 207b 4f76 6572 6c6f {Overlo │ │ │ -00008b90: 6164 6564 2069 6465 6e74 6966 6965 7273 aded identifiers │ │ │ -00008ba0: 2061 6e64 206c 696e 6b73 2064 6f20 6e6f and links do no │ │ │ -00008bb0: 7425 0a20 2020 2020 2020 2020 2020 2020 t%. │ │ │ +00008b80: 2020 2020 2020 2020 2020 7b4f 7665 726c {Overl │ │ │ +00008b90: 6f61 6465 6420 6964 656e 7469 6669 6572 oaded identifier │ │ │ +00008ba0: 7320 616e 6420 6c69 6e6b 7320 646f 206e s and links do n │ │ │ +00008bb0: 6f74 250a 2020 2020 2020 2020 2020 2020 ot%. │ │ │ 00008bc0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00008bd0: 776f 726b 2077 656c 6c2c 2063 6f6e 7369 work well, consi │ │ │ -00008be0: 6465 7220 7573 696e 6720 756e 6971 7565 der using unique │ │ │ -00008bf0: 250a 2020 2020 2020 2020 2020 2020 2020 %. │ │ │ -00008c00: 2020 2020 2020 2020 2020 2020 2020 205c \ │ │ │ -00008c10: 4d65 7373 6167 6542 7265 616b 2069 6465 MessageBreak ide │ │ │ -00008c20: 6e74 6966 6965 7273 2069 6e73 7465 6164 ntifiers instead │ │ │ -00008c30: 2e7d 250a 2020 2020 2020 2020 7d25 0a20 .}%. }%. │ │ │ -00008c40: 2020 2020 2020 207b 5c6c 6973 7461 6464 {\listadd │ │ │ -00008c50: 7b5c 4167 6461 4c69 7374 7d7b 2331 7d25 {\AgdaList}{#1}% │ │ │ -00008c60: 0a20 2020 2020 2020 2020 5c68 7970 6572 . \hyper │ │ │ -00008c70: 7461 7267 6574 7b41 6764 615c 7468 6541 target{Agda\theA │ │ │ -00008c80: 6764 6149 6e64 6578 7d7b 7d25 0a20 2020 gdaIndex}{}%. │ │ │ -00008c90: 2020 2020 207d 250a 2020 2020 7d0a 0a20 }%. }.. │ │ │ -00008ca0: 2020 205c 6e65 7763 6f6d 6d61 6e64 7b5c \newcommand{\ │ │ │ -00008cb0: 4167 6461 5461 7267 6574 7d5b 315d 7b5c AgdaTarget}[1]{\ │ │ │ -00008cc0: 666f 7263 7376 6c69 7374 7b5c 4167 6461 forcsvlist{\Agda │ │ │ -00008cd0: 5461 7267 6574 4865 6c70 6572 7d7b 2331 TargetHelper}{#1 │ │ │ -00008ce0: 7d7d 0a0a 2020 2020 5c6e 6577 636f 6d6d }}.. \newcomm │ │ │ -00008cf0: 616e 647b 5c41 6764 614c 696e 6b7d 5b31 and{\AgdaLink}[1 │ │ │ -00008d00: 5d7b 250a 2020 2020 2020 5c41 6764 614c ]{%. \AgdaL │ │ │ -00008d10: 6f6f 6b75 707b 2331 7d25 0a20 2020 2020 ookup{#1}%. │ │ │ -00008d20: 2020 207b 5c68 7970 6572 6c69 6e6b 7b41 {\hyperlink{A │ │ │ -00008d30: 6764 615c 7468 6541 6764 6149 6e64 6578 gda\theAgdaIndex │ │ │ -00008d40: 7d7b 2331 7d7d 250a 2020 2020 2020 2020 }{#1}}%. │ │ │ -00008d50: 7b23 317d 250a 2020 2020 7d0a 2020 7d7b {#1}%. }. }{ │ │ │ -00008d60: 5c50 6163 6b61 6765 4572 726f 727b 6167 \PackageError{ag │ │ │ -00008d70: 6461 7d7b 4c6f 6164 2074 6865 2068 7970 da}{Load the hyp │ │ │ -00008d80: 6572 7265 6620 7061 636b 6167 6520 6265 erref package be │ │ │ -00008d90: 666f 7265 2074 6865 2061 6764 6120 7061 fore the agda pa │ │ │ -00008da0: 636b 6167 657d 7b7d 7d0a 5c66 690a 0a5c ckage}{}}.\fi..\ │ │ │ -00008db0: 7072 6f76 6964 6563 6f6d 6d61 6e64 7b5c providecommand{\ │ │ │ -00008dc0: 4167 6461 5461 7267 6574 7d5b 315d 7b7d AgdaTarget}[1]{} │ │ │ -00008dd0: 0a5c 7072 6f76 6964 6563 6f6d 6d61 6e64 .\providecommand │ │ │ -00008de0: 7b5c 4167 6461 4c69 6e6b 7d5b 315d 7b23 {\AgdaLink}[1]{# │ │ │ -00008df0: 317d 0a0a 2520 2d2d 2d2d 2d2d 2d2d 2d2d 1}..% ---------- │ │ │ +00008bd0: 2077 6f72 6b20 7765 6c6c 2c20 636f 6e73 work well, cons │ │ │ +00008be0: 6964 6572 2075 7369 6e67 2075 6e69 7175 ider using uniqu │ │ │ +00008bf0: 6525 0a20 2020 2020 2020 2020 2020 2020 e%. │ │ │ +00008c00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +00008c10: 5c4d 6573 7361 6765 4272 6561 6b20 6964 \MessageBreak id │ │ │ +00008c20: 656e 7469 6669 6572 7320 696e 7374 6561 entifiers instea │ │ │ +00008c30: 642e 7d25 0a20 2020 2020 2020 207d 250a d.}%. }%. │ │ │ +00008c40: 2020 2020 2020 2020 7b5c 6c69 7374 6164 {\listad │ │ │ +00008c50: 647b 5c41 6764 614c 6973 747d 7b23 317d d{\AgdaList}{#1} │ │ │ +00008c60: 250a 2020 2020 2020 2020 205c 6879 7065 %. \hype │ │ │ +00008c70: 7274 6172 6765 747b 4167 6461 5c74 6865 rtarget{Agda\the │ │ │ +00008c80: 4167 6461 496e 6465 787d 7b7d 250a 2020 AgdaIndex}{}%. │ │ │ +00008c90: 2020 2020 2020 7d25 0a20 2020 207d 0a0a }%. }.. │ │ │ +00008ca0: 2020 2020 5c6e 6577 636f 6d6d 616e 647b \newcommand{ │ │ │ +00008cb0: 5c41 6764 6154 6172 6765 747d 5b31 5d7b \AgdaTarget}[1]{ │ │ │ +00008cc0: 5c66 6f72 6373 766c 6973 747b 5c41 6764 \forcsvlist{\Agd │ │ │ +00008cd0: 6154 6172 6765 7448 656c 7065 727d 7b23 aTargetHelper}{# │ │ │ +00008ce0: 317d 7d0a 0a20 2020 205c 6e65 7763 6f6d 1}}.. \newcom │ │ │ +00008cf0: 6d61 6e64 7b5c 4167 6461 4c69 6e6b 7d5b mand{\AgdaLink}[ │ │ │ +00008d00: 315d 7b25 0a20 2020 2020 205c 4167 6461 1]{%. \Agda │ │ │ +00008d10: 4c6f 6f6b 7570 7b23 317d 250a 2020 2020 Lookup{#1}%. │ │ │ +00008d20: 2020 2020 7b5c 6879 7065 726c 696e 6b7b {\hyperlink{ │ │ │ +00008d30: 4167 6461 5c74 6865 4167 6461 496e 6465 Agda\theAgdaInde │ │ │ +00008d40: 787d 7b23 317d 7d25 0a20 2020 2020 2020 x}{#1}}%. │ │ │ +00008d50: 207b 2331 7d25 0a20 2020 207d 0a20 207d {#1}%. }. } │ │ │ +00008d60: 7b5c 5061 636b 6167 6545 7272 6f72 7b61 {\PackageError{a │ │ │ +00008d70: 6764 617d 7b4c 6f61 6420 7468 6520 6879 gda}{Load the hy │ │ │ +00008d80: 7065 7272 6566 2070 6163 6b61 6765 2062 perref package b │ │ │ +00008d90: 6566 6f72 6520 7468 6520 6167 6461 2070 efore the agda p │ │ │ +00008da0: 6163 6b61 6765 7d7b 7d7d 0a5c 6669 0a0a ackage}{}}.\fi.. │ │ │ +00008db0: 5c70 726f 7669 6465 636f 6d6d 616e 647b \providecommand{ │ │ │ +00008dc0: 5c41 6764 6154 6172 6765 747d 5b31 5d7b \AgdaTarget}[1]{ │ │ │ +00008dd0: 7d0a 5c70 726f 7669 6465 636f 6d6d 616e }.\providecomman │ │ │ +00008de0: 647b 5c41 6764 614c 696e 6b7d 5b31 5d7b d{\AgdaLink}[1]{ │ │ │ +00008df0: 2331 7d0a 0a25 202d 2d2d 2d2d 2d2d 2d2d #1}..% --------- │ │ │ 00008e00: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 00008e10: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 00008e20: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ -00008e30: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a25 2046 ------------.% F │ │ │ -00008e40: 6f6e 7420 7374 796c 6573 2e0a 0a5c 6e65 ont styles...\ne │ │ │ -00008e50: 7763 6f6d 6d61 6e64 7b5c 4167 6461 466f wcommand{\AgdaFo │ │ │ -00008e60: 6e74 5374 796c 657d 5b31 5d7b 5c74 6578 ntStyle}[1]{\tex │ │ │ -00008e70: 7473 667b 2331 7d7d 0a5c 6966 7468 656e tsf{#1}}.\ifthen │ │ │ -00008e80: 656c 7365 7b5c 6571 7561 6c7b 5c41 6764 else{\equal{\Agd │ │ │ -00008e90: 6143 6f6c 6f75 7253 6368 656d 657d 7b62 aColourScheme}{b │ │ │ -00008ea0: 777d 7d7b 0a20 2020 205c 6e65 7763 6f6d w}}{. \newcom │ │ │ -00008eb0: 6d61 6e64 7b5c 4167 6461 4b65 7977 6f72 mand{\AgdaKeywor │ │ │ -00008ec0: 6446 6f6e 7453 7479 6c65 7d5b 315d 7b5c dFontStyle}[1]{\ │ │ │ -00008ed0: 756e 6465 726c 696e 657b 2331 7d7d 0a7d underline{#1}}.} │ │ │ -00008ee0: 7b0a 2020 2020 5c6e 6577 636f 6d6d 616e {. \newcomman │ │ │ -00008ef0: 647b 5c41 6764 614b 6579 776f 7264 466f d{\AgdaKeywordFo │ │ │ -00008f00: 6e74 5374 796c 657d 5b31 5d7b 5c74 6578 ntStyle}[1]{\tex │ │ │ -00008f10: 7473 667b 2331 7d7d 0a7d 0a5c 6e65 7763 tsf{#1}}.}.\newc │ │ │ -00008f20: 6f6d 6d61 6e64 7b5c 4167 6461 5374 7269 ommand{\AgdaStri │ │ │ -00008f30: 6e67 466f 6e74 5374 796c 657d 5b31 5d7b ngFontStyle}[1]{ │ │ │ -00008f40: 5c74 6578 7474 747b 2331 7d7d 0a5c 6e65 \texttt{#1}}.\ne │ │ │ -00008f50: 7763 6f6d 6d61 6e64 7b5c 4167 6461 436f wcommand{\AgdaCo │ │ │ -00008f60: 6d6d 656e 7446 6f6e 7453 7479 6c65 7d5b mmentFontStyle}[ │ │ │ -00008f70: 315d 7b5c 7465 7874 7474 7b23 317d 7d0a 1]{\texttt{#1}}. │ │ │ -00008f80: 5c6e 6577 636f 6d6d 616e 647b 5c41 6764 \newcommand{\Agd │ │ │ -00008f90: 6142 6f75 6e64 466f 6e74 5374 796c 657d aBoundFontStyle} │ │ │ -00008fa0: 5b31 5d7b 5c74 6578 7469 747b 2331 7d7d [1]{\textit{#1}} │ │ │ -00008fb0: 0a0a 2520 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ..% ------------ │ │ │ +00008e30: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 2520 -------------.% │ │ │ +00008e40: 466f 6e74 2073 7479 6c65 732e 0a0a 5c6e Font styles...\n │ │ │ +00008e50: 6577 636f 6d6d 616e 647b 5c41 6764 6146 ewcommand{\AgdaF │ │ │ +00008e60: 6f6e 7453 7479 6c65 7d5b 315d 7b5c 7465 ontStyle}[1]{\te │ │ │ +00008e70: 7874 7366 7b23 317d 7d0a 5c69 6674 6865 xtsf{#1}}.\ifthe │ │ │ +00008e80: 6e65 6c73 657b 5c65 7175 616c 7b5c 4167 nelse{\equal{\Ag │ │ │ +00008e90: 6461 436f 6c6f 7572 5363 6865 6d65 7d7b daColourScheme}{ │ │ │ +00008ea0: 6277 7d7d 7b0a 2020 2020 5c6e 6577 636f bw}}{. \newco │ │ │ +00008eb0: 6d6d 616e 647b 5c41 6764 614b 6579 776f mmand{\AgdaKeywo │ │ │ +00008ec0: 7264 466f 6e74 5374 796c 657d 5b31 5d7b rdFontStyle}[1]{ │ │ │ +00008ed0: 5c75 6e64 6572 6c69 6e65 7b23 317d 7d0a \underline{#1}}. │ │ │ +00008ee0: 7d7b 0a20 2020 205c 6e65 7763 6f6d 6d61 }{. \newcomma │ │ │ +00008ef0: 6e64 7b5c 4167 6461 4b65 7977 6f72 6446 nd{\AgdaKeywordF │ │ │ +00008f00: 6f6e 7453 7479 6c65 7d5b 315d 7b5c 7465 ontStyle}[1]{\te │ │ │ +00008f10: 7874 7366 7b23 317d 7d0a 7d0a 5c6e 6577 xtsf{#1}}.}.\new │ │ │ +00008f20: 636f 6d6d 616e 647b 5c41 6764 6153 7472 command{\AgdaStr │ │ │ +00008f30: 696e 6746 6f6e 7453 7479 6c65 7d5b 315d ingFontStyle}[1] │ │ │ +00008f40: 7b5c 7465 7874 7474 7b23 317d 7d0a 5c6e {\texttt{#1}}.\n │ │ │ +00008f50: 6577 636f 6d6d 616e 647b 5c41 6764 6143 ewcommand{\AgdaC │ │ │ +00008f60: 6f6d 6d65 6e74 466f 6e74 5374 796c 657d ommentFontStyle} │ │ │ +00008f70: 5b31 5d7b 5c74 6578 7474 747b 2331 7d7d [1]{\texttt{#1}} │ │ │ +00008f80: 0a5c 6e65 7763 6f6d 6d61 6e64 7b5c 4167 .\newcommand{\Ag │ │ │ +00008f90: 6461 426f 756e 6446 6f6e 7453 7479 6c65 daBoundFontStyle │ │ │ +00008fa0: 7d5b 315d 7b5c 7465 7874 6974 7b23 317d }[1]{\textit{#1} │ │ │ +00008fb0: 7d0a 0a25 202d 2d2d 2d2d 2d2d 2d2d 2d2d }..% ----------- │ │ │ 00008fc0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 00008fd0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 00008fe0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ -00008ff0: 2d2d 2d2d 2d2d 2d2d 2d2d 0a25 2043 6f6c ----------.% Col │ │ │ -00009000: 6f75 7273 2e0a 0a25 202d 2d2d 2d2d 2d2d ours...% ------- │ │ │ +00008ff0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 2520 436f -----------.% Co │ │ │ +00009000: 6c6f 7572 732e 0a0a 2520 2d2d 2d2d 2d2d lours...% ------ │ │ │ 00009010: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ -00009020: 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 2520 5468 -----------.% Th │ │ │ -00009030: 6520 626c 6163 6b20 616e 6420 7768 6974 e black and whit │ │ │ -00009040: 6520 636f 6c6f 7572 2073 6368 656d 652e e colour scheme. │ │ │ -00009050: 0a5c 6966 7468 656e 656c 7365 7b5c 6571 .\ifthenelse{\eq │ │ │ -00009060: 7561 6c7b 5c41 6764 6143 6f6c 6f75 7253 ual{\AgdaColourS │ │ │ -00009070: 6368 656d 657d 7b62 777d 7d7b 0a0a 2020 cheme}{bw}}{.. │ │ │ -00009080: 2020 2520 4173 7065 6374 2063 6f6c 6f75 % Aspect colou │ │ │ -00009090: 7273 2e0a 2020 2020 5c64 6566 696e 6563 rs.. \definec │ │ │ -000090a0: 6f6c 6f72 7b41 6764 6143 6f6d 6d65 6e74 olor{AgdaComment │ │ │ -000090b0: 7d20 2020 2020 207b 4854 4d4c 7d7b 3030 } {HTML}{00 │ │ │ -000090c0: 3030 3030 7d0a 2020 2020 5c64 6566 696e 0000}. \defin │ │ │ -000090d0: 6563 6f6c 6f72 7b41 6764 6150 7261 676d ecolor{AgdaPragm │ │ │ -000090e0: 617d 2020 2020 2020 207b 4854 4d4c 7d7b a} {HTML}{ │ │ │ -000090f0: 3030 3030 3030 7d0a 2020 2020 5c64 6566 000000}. \def │ │ │ -00009100: 696e 6563 6f6c 6f72 7b41 6764 614b 6579 inecolor{AgdaKey │ │ │ -00009110: 776f 7264 7d20 2020 2020 207b 4854 4d4c word} {HTML │ │ │ -00009120: 7d7b 3030 3030 3030 7d0a 2020 2020 5c64 }{000000}. \d │ │ │ -00009130: 6566 696e 6563 6f6c 6f72 7b41 6764 6153 efinecolor{AgdaS │ │ │ -00009140: 7472 696e 677d 2020 2020 2020 207b 4854 tring} {HT │ │ │ -00009150: 4d4c 7d7b 3030 3030 3030 7d0a 2020 2020 ML}{000000}. │ │ │ -00009160: 5c64 6566 696e 6563 6f6c 6f72 7b41 6764 \definecolor{Agd │ │ │ -00009170: 614e 756d 6265 727d 2020 2020 2020 207b aNumber} { │ │ │ -00009180: 4854 4d4c 7d7b 3030 3030 3030 7d0a 2020 HTML}{000000}. │ │ │ -00009190: 2020 5c64 6566 696e 6563 6f6c 6f72 7b41 \definecolor{A │ │ │ -000091a0: 6764 6153 796d 626f 6c7d 2020 2020 2020 gdaSymbol} │ │ │ -000091b0: 207b 4854 4d4c 7d7b 3030 3030 3030 7d0a {HTML}{000000}. │ │ │ -000091c0: 2020 2020 5c64 6566 696e 6563 6f6c 6f72 \definecolor │ │ │ -000091d0: 7b41 6764 6150 7269 6d69 7469 7665 5479 {AgdaPrimitiveTy │ │ │ -000091e0: 7065 7d7b 4854 4d4c 7d7b 3030 3030 3030 pe}{HTML}{000000 │ │ │ -000091f0: 7d0a 0a20 2020 2025 204e 616d 654b 696e }.. % NameKin │ │ │ -00009200: 6420 636f 6c6f 7572 732e 0a20 2020 205c d colours.. \ │ │ │ -00009210: 6465 6669 6e65 636f 6c6f 727b 4167 6461 definecolor{Agda │ │ │ -00009220: 426f 756e 647d 2020 2020 2020 2020 2020 Bound} │ │ │ -00009230: 2020 2020 2020 207b 4854 4d4c 7d7b 3030 {HTML}{00 │ │ │ -00009240: 3030 3030 7d0a 2020 2020 5c64 6566 696e 0000}. \defin │ │ │ -00009250: 6563 6f6c 6f72 7b41 6764 6147 656e 6572 ecolor{AgdaGener │ │ │ -00009260: 616c 697a 6162 6c65 7d20 2020 2020 2020 alizable} │ │ │ -00009270: 2020 7b48 544d 4c7d 7b30 3030 3030 307d {HTML}{000000} │ │ │ -00009280: 0a20 2020 205c 6465 6669 6e65 636f 6c6f . \definecolo │ │ │ -00009290: 727b 4167 6461 496e 6475 6374 6976 6543 r{AgdaInductiveC │ │ │ -000092a0: 6f6e 7374 7275 6374 6f72 7d20 207b 4854 onstructor} {HT │ │ │ -000092b0: 4d4c 7d7b 3030 3030 3030 7d0a 2020 2020 ML}{000000}. │ │ │ -000092c0: 5c64 6566 696e 6563 6f6c 6f72 7b41 6764 \definecolor{Agd │ │ │ -000092d0: 6143 6f69 6e64 7563 7469 7665 436f 6e73 aCoinductiveCons │ │ │ -000092e0: 7472 7563 746f 727d 7b48 544d 4c7d 7b30 tructor}{HTML}{0 │ │ │ -000092f0: 3030 3030 307d 0a20 2020 205c 6465 6669 00000}. \defi │ │ │ -00009300: 6e65 636f 6c6f 727b 4167 6461 4461 7461 necolor{AgdaData │ │ │ -00009310: 7479 7065 7d20 2020 2020 2020 2020 2020 type} │ │ │ -00009320: 2020 207b 4854 4d4c 7d7b 3030 3030 3030 {HTML}{000000 │ │ │ -00009330: 7d0a 2020 2020 5c64 6566 696e 6563 6f6c }. \definecol │ │ │ -00009340: 6f72 7b41 6764 6146 6965 6c64 7d20 2020 or{AgdaField} │ │ │ -00009350: 2020 2020 2020 2020 2020 2020 2020 7b48 {H │ │ │ -00009360: 544d 4c7d 7b30 3030 3030 307d 0a20 2020 TML}{000000}. │ │ │ -00009370: 205c 6465 6669 6e65 636f 6c6f 727b 4167 \definecolor{Ag │ │ │ -00009380: 6461 4675 6e63 7469 6f6e 7d20 2020 2020 daFunction} │ │ │ -00009390: 2020 2020 2020 2020 207b 4854 4d4c 7d7b {HTML}{ │ │ │ -000093a0: 3030 3030 3030 7d0a 2020 2020 5c64 6566 000000}. \def │ │ │ -000093b0: 696e 6563 6f6c 6f72 7b41 6764 614d 6163 inecolor{AgdaMac │ │ │ -000093c0: 726f 7d20 2020 2020 2020 2020 2020 2020 ro} │ │ │ -000093d0: 2020 2020 7b48 544d 4c7d 7b30 3030 3030 {HTML}{00000 │ │ │ -000093e0: 307d 0a20 2020 205c 6465 6669 6e65 636f 0}. \defineco │ │ │ -000093f0: 6c6f 727b 4167 6461 4d6f 6475 6c65 7d20 lor{AgdaModule} │ │ │ -00009400: 2020 2020 2020 2020 2020 2020 2020 207b { │ │ │ -00009410: 4854 4d4c 7d7b 3030 3030 3030 7d0a 2020 HTML}{000000}. │ │ │ -00009420: 2020 5c64 6566 696e 6563 6f6c 6f72 7b41 \definecolor{A │ │ │ -00009430: 6764 6150 6f73 7475 6c61 7465 7d20 2020 gdaPostulate} │ │ │ -00009440: 2020 2020 2020 2020 2020 7b48 544d 4c7d {HTML} │ │ │ -00009450: 7b30 3030 3030 307d 0a20 2020 205c 6465 {000000}. \de │ │ │ -00009460: 6669 6e65 636f 6c6f 727b 4167 6461 5072 finecolor{AgdaPr │ │ │ -00009470: 696d 6974 6976 657d 2020 2020 2020 2020 imitive} │ │ │ -00009480: 2020 2020 207b 4854 4d4c 7d7b 3030 3030 {HTML}{0000 │ │ │ -00009490: 3030 7d0a 2020 2020 5c64 6566 696e 6563 00}. \definec │ │ │ -000094a0: 6f6c 6f72 7b41 6764 6152 6563 6f72 647d olor{AgdaRecord} │ │ │ -000094b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -000094c0: 7b48 544d 4c7d 7b30 3030 3030 307d 0a20 {HTML}{000000}. │ │ │ -000094d0: 2020 205c 6465 6669 6e65 636f 6c6f 727b \definecolor{ │ │ │ -000094e0: 4167 6461 4172 6775 6d65 6e74 7d20 2020 AgdaArgument} │ │ │ -000094f0: 2020 2020 2020 2020 2020 207b 4854 4d4c {HTML │ │ │ -00009500: 7d7b 3030 3030 3030 7d0a 0a20 2020 2025 }{000000}.. % │ │ │ -00009510: 204f 7468 6572 2061 7370 6563 7420 636f Other aspect co │ │ │ -00009520: 6c6f 7572 732e 0a20 2020 205c 6465 6669 lours.. \defi │ │ │ -00009530: 6e65 636f 6c6f 727b 4167 6461 446f 7474 necolor{AgdaDott │ │ │ -00009540: 6564 5061 7474 6572 6e7d 2020 2020 207b edPattern} { │ │ │ -00009550: 4854 4d4c 7d7b 3030 3030 3030 7d0a 2020 HTML}{000000}. │ │ │ -00009560: 2020 5c64 6566 696e 6563 6f6c 6f72 7b41 \definecolor{A │ │ │ -00009570: 6764 6155 6e73 6f6c 7665 644d 6574 617d gdaUnsolvedMeta} │ │ │ -00009580: 2020 2020 2020 7b48 544d 4c7d 7b44 3344 {HTML}{D3D │ │ │ -00009590: 3344 337d 0a20 2020 205c 6465 6669 6e65 3D3}. \define │ │ │ -000095a0: 636f 6c6f 727b 4167 6461 556e 736f 6c76 color{AgdaUnsolv │ │ │ -000095b0: 6564 436f 6e73 7472 6169 6e74 7d7b 4854 edConstraint}{HT │ │ │ -000095c0: 4d4c 7d7b 4433 4433 4433 7d0a 2020 2020 ML}{D3D3D3}. │ │ │ -000095d0: 5c64 6566 696e 6563 6f6c 6f72 7b41 6764 \definecolor{Agd │ │ │ -000095e0: 6154 6572 6d69 6e61 7469 6f6e 5072 6f62 aTerminationProb │ │ │ -000095f0: 6c65 6d7d 7b48 544d 4c7d 7b42 4542 4542 lem}{HTML}{BEBEB │ │ │ -00009600: 457d 0a20 2020 205c 6465 6669 6e65 636f E}. \defineco │ │ │ -00009610: 6c6f 727b 4167 6461 496e 636f 6d70 6c65 lor{AgdaIncomple │ │ │ -00009620: 7465 5061 7474 6572 6e7d 207b 4854 4d4c tePattern} {HTML │ │ │ -00009630: 7d7b 4433 4433 4433 7d0a 2020 2020 5c64 }{D3D3D3}. \d │ │ │ -00009640: 6566 696e 6563 6f6c 6f72 7b41 6764 6145 efinecolor{AgdaE │ │ │ -00009650: 7272 6f72 5761 726e 696e 677d 2020 2020 rrorWarning} │ │ │ -00009660: 2020 7b48 544d 4c7d 7b42 4542 4542 457d {HTML}{BEBEBE} │ │ │ -00009670: 0a20 2020 205c 6465 6669 6e65 636f 6c6f . \definecolo │ │ │ -00009680: 727b 4167 6461 4572 726f 727d 2020 2020 r{AgdaError} │ │ │ -00009690: 2020 2020 2020 2020 207b 4854 4d4c 7d7b {HTML}{ │ │ │ -000096a0: 3639 3639 3639 7d0a 0a20 2020 2025 204d 696969}.. % M │ │ │ -000096b0: 6973 632e 0a20 2020 205c 6465 6669 6e65 isc.. \define │ │ │ -000096c0: 636f 6c6f 727b 4167 6461 486f 6c65 7d20 color{AgdaHole} │ │ │ -000096d0: 2020 2020 2020 2020 2020 2020 207b 4854 {HT │ │ │ -000096e0: 4d4c 7d7b 4245 4245 4245 7d0a 0a25 202d ML}{BEBEBE}..% - │ │ │ +00009020: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a25 2054 ------------.% T │ │ │ +00009030: 6865 2062 6c61 636b 2061 6e64 2077 6869 he black and whi │ │ │ +00009040: 7465 2063 6f6c 6f75 7220 7363 6865 6d65 te colour scheme │ │ │ +00009050: 2e0a 5c69 6674 6865 6e65 6c73 657b 5c65 ..\ifthenelse{\e │ │ │ +00009060: 7175 616c 7b5c 4167 6461 436f 6c6f 7572 qual{\AgdaColour │ │ │ +00009070: 5363 6865 6d65 7d7b 6277 7d7d 7b0a 0a20 Scheme}{bw}}{.. │ │ │ +00009080: 2020 2025 2041 7370 6563 7420 636f 6c6f % Aspect colo │ │ │ +00009090: 7572 732e 0a20 2020 205c 6465 6669 6e65 urs.. \define │ │ │ +000090a0: 636f 6c6f 727b 4167 6461 436f 6d6d 656e color{AgdaCommen │ │ │ +000090b0: 747d 2020 2020 2020 7b48 544d 4c7d 7b30 t} {HTML}{0 │ │ │ +000090c0: 3030 3030 307d 0a20 2020 205c 6465 6669 00000}. \defi │ │ │ +000090d0: 6e65 636f 6c6f 727b 4167 6461 5072 6167 necolor{AgdaPrag │ │ │ +000090e0: 6d61 7d20 2020 2020 2020 7b48 544d 4c7d ma} {HTML} │ │ │ +000090f0: 7b30 3030 3030 307d 0a20 2020 205c 6465 {000000}. \de │ │ │ +00009100: 6669 6e65 636f 6c6f 727b 4167 6461 4b65 finecolor{AgdaKe │ │ │ +00009110: 7977 6f72 647d 2020 2020 2020 7b48 544d yword} {HTM │ │ │ +00009120: 4c7d 7b30 3030 3030 307d 0a20 2020 205c L}{000000}. \ │ │ │ +00009130: 6465 6669 6e65 636f 6c6f 727b 4167 6461 definecolor{Agda │ │ │ +00009140: 5374 7269 6e67 7d20 2020 2020 2020 7b48 String} {H │ │ │ +00009150: 544d 4c7d 7b30 3030 3030 307d 0a20 2020 TML}{000000}. │ │ │ +00009160: 205c 6465 6669 6e65 636f 6c6f 727b 4167 \definecolor{Ag │ │ │ +00009170: 6461 4e75 6d62 6572 7d20 2020 2020 2020 daNumber} │ │ │ +00009180: 7b48 544d 4c7d 7b30 3030 3030 307d 0a20 {HTML}{000000}. │ │ │ +00009190: 2020 205c 6465 6669 6e65 636f 6c6f 727b \definecolor{ │ │ │ +000091a0: 4167 6461 5379 6d62 6f6c 7d20 2020 2020 AgdaSymbol} │ │ │ +000091b0: 2020 7b48 544d 4c7d 7b30 3030 3030 307d {HTML}{000000} │ │ │ +000091c0: 0a20 2020 205c 6465 6669 6e65 636f 6c6f . \definecolo │ │ │ +000091d0: 727b 4167 6461 5072 696d 6974 6976 6554 r{AgdaPrimitiveT │ │ │ +000091e0: 7970 657d 7b48 544d 4c7d 7b30 3030 3030 ype}{HTML}{00000 │ │ │ +000091f0: 307d 0a0a 2020 2020 2520 4e61 6d65 4b69 0}.. % NameKi │ │ │ +00009200: 6e64 2063 6f6c 6f75 7273 2e0a 2020 2020 nd colours.. │ │ │ +00009210: 5c64 6566 696e 6563 6f6c 6f72 7b41 6764 \definecolor{Agd │ │ │ +00009220: 6142 6f75 6e64 7d20 2020 2020 2020 2020 aBound} │ │ │ +00009230: 2020 2020 2020 2020 7b48 544d 4c7d 7b30 {HTML}{0 │ │ │ +00009240: 3030 3030 307d 0a20 2020 205c 6465 6669 00000}. \defi │ │ │ +00009250: 6e65 636f 6c6f 727b 4167 6461 4765 6e65 necolor{AgdaGene │ │ │ +00009260: 7261 6c69 7a61 626c 657d 2020 2020 2020 ralizable} │ │ │ +00009270: 2020 207b 4854 4d4c 7d7b 3030 3030 3030 {HTML}{000000 │ │ │ +00009280: 7d0a 2020 2020 5c64 6566 696e 6563 6f6c }. \definecol │ │ │ +00009290: 6f72 7b41 6764 6149 6e64 7563 7469 7665 or{AgdaInductive │ │ │ +000092a0: 436f 6e73 7472 7563 746f 727d 2020 7b48 Constructor} {H │ │ │ +000092b0: 544d 4c7d 7b30 3030 3030 307d 0a20 2020 TML}{000000}. │ │ │ +000092c0: 205c 6465 6669 6e65 636f 6c6f 727b 4167 \definecolor{Ag │ │ │ +000092d0: 6461 436f 696e 6475 6374 6976 6543 6f6e daCoinductiveCon │ │ │ +000092e0: 7374 7275 6374 6f72 7d7b 4854 4d4c 7d7b structor}{HTML}{ │ │ │ +000092f0: 3030 3030 3030 7d0a 2020 2020 5c64 6566 000000}. \def │ │ │ +00009300: 696e 6563 6f6c 6f72 7b41 6764 6144 6174 inecolor{AgdaDat │ │ │ +00009310: 6174 7970 657d 2020 2020 2020 2020 2020 atype} │ │ │ +00009320: 2020 2020 7b48 544d 4c7d 7b30 3030 3030 {HTML}{00000 │ │ │ +00009330: 307d 0a20 2020 205c 6465 6669 6e65 636f 0}. \defineco │ │ │ +00009340: 6c6f 727b 4167 6461 4669 656c 647d 2020 lor{AgdaField} │ │ │ +00009350: 2020 2020 2020 2020 2020 2020 2020 207b { │ │ │ +00009360: 4854 4d4c 7d7b 3030 3030 3030 7d0a 2020 HTML}{000000}. │ │ │ +00009370: 2020 5c64 6566 696e 6563 6f6c 6f72 7b41 \definecolor{A │ │ │ +00009380: 6764 6146 756e 6374 696f 6e7d 2020 2020 gdaFunction} │ │ │ +00009390: 2020 2020 2020 2020 2020 7b48 544d 4c7d {HTML} │ │ │ +000093a0: 7b30 3030 3030 307d 0a20 2020 205c 6465 {000000}. \de │ │ │ +000093b0: 6669 6e65 636f 6c6f 727b 4167 6461 4d61 finecolor{AgdaMa │ │ │ +000093c0: 6372 6f7d 2020 2020 2020 2020 2020 2020 cro} │ │ │ +000093d0: 2020 2020 207b 4854 4d4c 7d7b 3030 3030 {HTML}{0000 │ │ │ +000093e0: 3030 7d0a 2020 2020 5c64 6566 696e 6563 00}. \definec │ │ │ +000093f0: 6f6c 6f72 7b41 6764 614d 6f64 756c 657d olor{AgdaModule} │ │ │ +00009400: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +00009410: 7b48 544d 4c7d 7b30 3030 3030 307d 0a20 {HTML}{000000}. │ │ │ +00009420: 2020 205c 6465 6669 6e65 636f 6c6f 727b \definecolor{ │ │ │ +00009430: 4167 6461 506f 7374 756c 6174 657d 2020 AgdaPostulate} │ │ │ +00009440: 2020 2020 2020 2020 2020 207b 4854 4d4c {HTML │ │ │ +00009450: 7d7b 3030 3030 3030 7d0a 2020 2020 5c64 }{000000}. \d │ │ │ +00009460: 6566 696e 6563 6f6c 6f72 7b41 6764 6150 efinecolor{AgdaP │ │ │ +00009470: 7269 6d69 7469 7665 7d20 2020 2020 2020 rimitive} │ │ │ +00009480: 2020 2020 2020 7b48 544d 4c7d 7b30 3030 {HTML}{000 │ │ │ +00009490: 3030 307d 0a20 2020 205c 6465 6669 6e65 000}. \define │ │ │ +000094a0: 636f 6c6f 727b 4167 6461 5265 636f 7264 color{AgdaRecord │ │ │ +000094b0: 7d20 2020 2020 2020 2020 2020 2020 2020 } │ │ │ +000094c0: 207b 4854 4d4c 7d7b 3030 3030 3030 7d0a {HTML}{000000}. │ │ │ +000094d0: 2020 2020 5c64 6566 696e 6563 6f6c 6f72 \definecolor │ │ │ +000094e0: 7b41 6764 6141 7267 756d 656e 747d 2020 {AgdaArgument} │ │ │ +000094f0: 2020 2020 2020 2020 2020 2020 7b48 544d {HTM │ │ │ +00009500: 4c7d 7b30 3030 3030 307d 0a0a 2020 2020 L}{000000}.. │ │ │ +00009510: 2520 4f74 6865 7220 6173 7065 6374 2063 % Other aspect c │ │ │ +00009520: 6f6c 6f75 7273 2e0a 2020 2020 5c64 6566 olours.. \def │ │ │ +00009530: 696e 6563 6f6c 6f72 7b41 6764 6144 6f74 inecolor{AgdaDot │ │ │ +00009540: 7465 6450 6174 7465 726e 7d20 2020 2020 tedPattern} │ │ │ +00009550: 7b48 544d 4c7d 7b30 3030 3030 307d 0a20 {HTML}{000000}. │ │ │ +00009560: 2020 205c 6465 6669 6e65 636f 6c6f 727b \definecolor{ │ │ │ +00009570: 4167 6461 556e 736f 6c76 6564 4d65 7461 AgdaUnsolvedMeta │ │ │ +00009580: 7d20 2020 2020 207b 4854 4d4c 7d7b 4433 } {HTML}{D3 │ │ │ +00009590: 4433 4433 7d0a 2020 2020 5c64 6566 696e D3D3}. \defin │ │ │ +000095a0: 6563 6f6c 6f72 7b41 6764 6155 6e73 6f6c ecolor{AgdaUnsol │ │ │ +000095b0: 7665 6443 6f6e 7374 7261 696e 747d 7b48 vedConstraint}{H │ │ │ +000095c0: 544d 4c7d 7b44 3344 3344 337d 0a20 2020 TML}{D3D3D3}. │ │ │ +000095d0: 205c 6465 6669 6e65 636f 6c6f 727b 4167 \definecolor{Ag │ │ │ +000095e0: 6461 5465 726d 696e 6174 696f 6e50 726f daTerminationPro │ │ │ +000095f0: 626c 656d 7d7b 4854 4d4c 7d7b 4245 4245 blem}{HTML}{BEBE │ │ │ +00009600: 4245 7d0a 2020 2020 5c64 6566 696e 6563 BE}. \definec │ │ │ +00009610: 6f6c 6f72 7b41 6764 6149 6e63 6f6d 706c olor{AgdaIncompl │ │ │ +00009620: 6574 6550 6174 7465 726e 7d20 7b48 544d etePattern} {HTM │ │ │ +00009630: 4c7d 7b44 3344 3344 337d 0a20 2020 205c L}{D3D3D3}. \ │ │ │ +00009640: 6465 6669 6e65 636f 6c6f 727b 4167 6461 definecolor{Agda │ │ │ +00009650: 4572 726f 7257 6172 6e69 6e67 7d20 2020 ErrorWarning} │ │ │ +00009660: 2020 207b 4854 4d4c 7d7b 4245 4245 4245 {HTML}{BEBEBE │ │ │ +00009670: 7d0a 2020 2020 5c64 6566 696e 6563 6f6c }. \definecol │ │ │ +00009680: 6f72 7b41 6764 6145 7272 6f72 7d20 2020 or{AgdaError} │ │ │ +00009690: 2020 2020 2020 2020 2020 7b48 544d 4c7d {HTML} │ │ │ +000096a0: 7b36 3936 3936 397d 0a0a 2020 2020 2520 {696969}.. % │ │ │ +000096b0: 4d69 7363 2e0a 2020 2020 5c64 6566 696e Misc.. \defin │ │ │ +000096c0: 6563 6f6c 6f72 7b41 6764 6148 6f6c 657d ecolor{AgdaHole} │ │ │ +000096d0: 2020 2020 2020 2020 2020 2020 2020 7b48 {H │ │ │ +000096e0: 544d 4c7d 7b42 4542 4542 457d 0a0a 2520 TML}{BEBEBE}..% │ │ │ 000096f0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 00009700: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ -00009710: 2d0a 2520 436f 6e6f 7220 4d63 4272 6964 -.% Conor McBrid │ │ │ -00009720: 6527 7320 636f 6c6f 7572 2073 6368 656d e's colour schem │ │ │ -00009730: 652e 0a7d 7b20 5c69 6674 6865 6e65 6c73 e..}{ \ifthenels │ │ │ -00009740: 657b 5c65 7175 616c 7b5c 4167 6461 436f e{\equal{\AgdaCo │ │ │ -00009750: 6c6f 7572 5363 6865 6d65 7d7b 636f 6e6f lourScheme}{cono │ │ │ -00009760: 727d 7d7b 0a0a 2020 2020 2520 4173 7065 r}}{.. % Aspe │ │ │ -00009770: 6374 2063 6f6c 6f75 7273 2e0a 2020 2020 ct colours.. │ │ │ -00009780: 5c64 6566 696e 6563 6f6c 6f72 7b41 6764 \definecolor{Agd │ │ │ -00009790: 6143 6f6d 6d65 6e74 7d20 2020 2020 207b aComment} { │ │ │ -000097a0: 4854 4d4c 7d7b 4232 3232 3232 7d0a 2020 HTML}{B22222}. │ │ │ -000097b0: 2020 5c64 6566 696e 6563 6f6c 6f72 7b41 \definecolor{A │ │ │ -000097c0: 6764 6150 7261 676d 617d 2020 2020 2020 gdaPragma} │ │ │ -000097d0: 207b 4854 4d4c 7d7b 3030 3030 3030 7d0a {HTML}{000000}. │ │ │ -000097e0: 2020 2020 5c64 6566 696e 6563 6f6c 6f72 \definecolor │ │ │ -000097f0: 7b41 6764 614b 6579 776f 7264 7d20 2020 {AgdaKeyword} │ │ │ -00009800: 2020 207b 4854 4d4c 7d7b 3030 3030 3030 {HTML}{000000 │ │ │ -00009810: 7d0a 2020 2020 5c64 6566 696e 6563 6f6c }. \definecol │ │ │ -00009820: 6f72 7b41 6764 6153 7472 696e 677d 2020 or{AgdaString} │ │ │ -00009830: 2020 2020 207b 4854 4d4c 7d7b 3030 3030 {HTML}{0000 │ │ │ -00009840: 3030 7d0a 2020 2020 5c64 6566 696e 6563 00}. \definec │ │ │ -00009850: 6f6c 6f72 7b41 6764 614e 756d 6265 727d olor{AgdaNumber} │ │ │ -00009860: 2020 2020 2020 207b 4854 4d4c 7d7b 3030 {HTML}{00 │ │ │ -00009870: 3030 3030 7d0a 2020 2020 5c64 6566 696e 0000}. \defin │ │ │ -00009880: 6563 6f6c 6f72 7b41 6764 6153 796d 626f ecolor{AgdaSymbo │ │ │ -00009890: 6c7d 2020 2020 2020 207b 4854 4d4c 7d7b l} {HTML}{ │ │ │ -000098a0: 3030 3030 3030 7d0a 2020 2020 5c64 6566 000000}. \def │ │ │ -000098b0: 696e 6563 6f6c 6f72 7b41 6764 6150 7269 inecolor{AgdaPri │ │ │ -000098c0: 6d69 7469 7665 5479 7065 7d7b 4854 4d4c mitiveType}{HTML │ │ │ -000098d0: 7d7b 3030 3030 4344 7d0a 0a20 2020 2025 }{0000CD}.. % │ │ │ -000098e0: 204e 616d 654b 696e 6420 636f 6c6f 7572 NameKind colour │ │ │ -000098f0: 732e 0a20 2020 205c 6465 6669 6e65 636f s.. \defineco │ │ │ -00009900: 6c6f 727b 4167 6461 426f 756e 647d 2020 lor{AgdaBound} │ │ │ -00009910: 2020 2020 2020 2020 2020 2020 2020 207b { │ │ │ -00009920: 4854 4d4c 7d7b 4130 3230 4630 7d0a 2020 HTML}{A020F0}. │ │ │ -00009930: 2020 5c64 6566 696e 6563 6f6c 6f72 7b41 \definecolor{A │ │ │ -00009940: 6764 6147 656e 6572 616c 697a 6162 6c65 gdaGeneralizable │ │ │ -00009950: 7d20 2020 2020 2020 2020 7b48 544d 4c7d } {HTML} │ │ │ -00009960: 7b41 3032 3046 307d 0a20 2020 205c 6465 {A020F0}. \de │ │ │ -00009970: 6669 6e65 636f 6c6f 727b 4167 6461 496e finecolor{AgdaIn │ │ │ -00009980: 6475 6374 6976 6543 6f6e 7374 7275 6374 ductiveConstruct │ │ │ -00009990: 6f72 7d20 207b 4854 4d4c 7d7b 3842 3030 or} {HTML}{8B00 │ │ │ -000099a0: 3030 7d0a 2020 2020 5c64 6566 696e 6563 00}. \definec │ │ │ -000099b0: 6f6c 6f72 7b41 6764 6143 6f69 6e64 7563 olor{AgdaCoinduc │ │ │ -000099c0: 7469 7665 436f 6e73 7472 7563 746f 727d tiveConstructor} │ │ │ -000099d0: 7b48 544d 4c7d 7b38 4230 3030 307d 0a20 {HTML}{8B0000}. │ │ │ -000099e0: 2020 205c 6465 6669 6e65 636f 6c6f 727b \definecolor{ │ │ │ -000099f0: 4167 6461 4461 7461 7479 7065 7d20 2020 AgdaDatatype} │ │ │ -00009a00: 2020 2020 2020 2020 2020 207b 4854 4d4c {HTML │ │ │ -00009a10: 7d7b 3030 3030 4344 7d0a 2020 2020 5c64 }{0000CD}. \d │ │ │ -00009a20: 6566 696e 6563 6f6c 6f72 7b41 6764 6146 efinecolor{AgdaF │ │ │ -00009a30: 6965 6c64 7d20 2020 2020 2020 2020 2020 ield} │ │ │ -00009a40: 2020 2020 2020 7b48 544d 4c7d 7b38 4230 {HTML}{8B0 │ │ │ -00009a50: 3030 307d 0a20 2020 205c 6465 6669 6e65 000}. \define │ │ │ -00009a60: 636f 6c6f 727b 4167 6461 4675 6e63 7469 color{AgdaFuncti │ │ │ -00009a70: 6f6e 7d20 2020 2020 2020 2020 2020 2020 on} │ │ │ -00009a80: 207b 4854 4d4c 7d7b 3030 3634 3030 7d0a {HTML}{006400}. │ │ │ -00009a90: 2020 2020 5c64 6566 696e 6563 6f6c 6f72 \definecolor │ │ │ -00009aa0: 7b41 6764 614d 6163 726f 7d20 2020 2020 {AgdaMacro} │ │ │ -00009ab0: 2020 2020 2020 2020 2020 2020 7b48 544d {HTM │ │ │ -00009ac0: 4c7d 7b30 3036 3430 307d 0a20 2020 205c L}{006400}. \ │ │ │ -00009ad0: 6465 6669 6e65 636f 6c6f 727b 4167 6461 definecolor{Agda │ │ │ -00009ae0: 4d6f 6475 6c65 7d20 2020 2020 2020 2020 Module} │ │ │ -00009af0: 2020 2020 2020 207b 4854 4d4c 7d7b 3030 {HTML}{00 │ │ │ -00009b00: 3634 3030 7d0a 2020 2020 5c64 6566 696e 6400}. \defin │ │ │ -00009b10: 6563 6f6c 6f72 7b41 6764 6150 6f73 7475 ecolor{AgdaPostu │ │ │ -00009b20: 6c61 7465 7d20 2020 2020 2020 2020 2020 late} │ │ │ -00009b30: 2020 7b48 544d 4c7d 7b30 3036 3430 307d {HTML}{006400} │ │ │ -00009b40: 0a20 2020 205c 6465 6669 6e65 636f 6c6f . \definecolo │ │ │ -00009b50: 727b 4167 6461 5072 696d 6974 6976 657d r{AgdaPrimitive} │ │ │ -00009b60: 2020 2020 2020 2020 2020 2020 207b 4854 {HT │ │ │ -00009b70: 4d4c 7d7b 3030 3634 3030 7d0a 2020 2020 ML}{006400}. │ │ │ -00009b80: 5c64 6566 696e 6563 6f6c 6f72 7b41 6764 \definecolor{Agd │ │ │ -00009b90: 6152 6563 6f72 647d 2020 2020 2020 2020 aRecord} │ │ │ -00009ba0: 2020 2020 2020 2020 7b48 544d 4c7d 7b30 {HTML}{0 │ │ │ -00009bb0: 3030 3043 447d 0a20 2020 205c 6465 6669 000CD}. \defi │ │ │ -00009bc0: 6e65 636f 6c6f 727b 4167 6461 4172 6775 necolor{AgdaArgu │ │ │ -00009bd0: 6d65 6e74 7d20 2020 2020 2020 2020 2020 ment} │ │ │ -00009be0: 2020 207b 4854 4d4c 7d7b 3430 3430 3430 {HTML}{404040 │ │ │ -00009bf0: 7d0a 0a20 2020 2025 204f 7468 6572 2061 }.. % Other a │ │ │ -00009c00: 7370 6563 7420 636f 6c6f 7572 732e 0a20 spect colours.. │ │ │ -00009c10: 2020 205c 6465 6669 6e65 636f 6c6f 727b \definecolor{ │ │ │ -00009c20: 4167 6461 446f 7474 6564 5061 7474 6572 AgdaDottedPatter │ │ │ -00009c30: 6e7d 2020 2020 207b 4854 4d4c 7d7b 3030 n} {HTML}{00 │ │ │ -00009c40: 3030 3030 7d0a 2020 2020 5c64 6566 696e 0000}. \defin │ │ │ -00009c50: 6563 6f6c 6f72 7b41 6764 6155 6e73 6f6c ecolor{AgdaUnsol │ │ │ -00009c60: 7665 644d 6574 617d 2020 2020 2020 7b48 vedMeta} {H │ │ │ -00009c70: 544d 4c7d 7b46 4644 3730 307d 0a20 2020 TML}{FFD700}. │ │ │ -00009c80: 205c 6465 6669 6e65 636f 6c6f 727b 4167 \definecolor{Ag │ │ │ -00009c90: 6461 556e 736f 6c76 6564 436f 6e73 7472 daUnsolvedConstr │ │ │ -00009ca0: 6169 6e74 7d7b 4854 4d4c 7d7b 4646 4437 aint}{HTML}{FFD7 │ │ │ -00009cb0: 3030 7d0a 2020 2020 5c64 6566 696e 6563 00}. \definec │ │ │ -00009cc0: 6f6c 6f72 7b41 6764 6154 6572 6d69 6e61 olor{AgdaTermina │ │ │ -00009cd0: 7469 6f6e 5072 6f62 6c65 6d7d 7b48 544d tionProblem}{HTM │ │ │ -00009ce0: 4c7d 7b46 4630 3030 307d 0a20 2020 205c L}{FF0000}. \ │ │ │ -00009cf0: 6465 6669 6e65 636f 6c6f 727b 4167 6461 definecolor{Agda │ │ │ -00009d00: 496e 636f 6d70 6c65 7465 5061 7474 6572 IncompletePatter │ │ │ -00009d10: 6e7d 207b 4854 4d4c 7d7b 4130 3230 4630 n} {HTML}{A020F0 │ │ │ -00009d20: 7d0a 2020 2020 5c64 6566 696e 6563 6f6c }. \definecol │ │ │ -00009d30: 6f72 7b41 6764 6145 7272 6f72 5761 726e or{AgdaErrorWarn │ │ │ -00009d40: 696e 677d 2020 2020 2020 7b48 544d 4c7d ing} {HTML} │ │ │ -00009d50: 7b46 4630 3030 307d 0a20 2020 205c 6465 {FF0000}. \de │ │ │ -00009d60: 6669 6e65 636f 6c6f 727b 4167 6461 4572 finecolor{AgdaEr │ │ │ -00009d70: 726f 727d 2020 2020 2020 2020 2020 2020 ror} │ │ │ -00009d80: 207b 4854 4d4c 7d7b 4634 4134 3630 7d0a {HTML}{F4A460}. │ │ │ -00009d90: 0a20 2020 2025 204d 6973 632e 0a20 2020 . % Misc.. │ │ │ -00009da0: 205c 6465 6669 6e65 636f 6c6f 727b 4167 \definecolor{Ag │ │ │ -00009db0: 6461 486f 6c65 7d20 2020 2020 2020 2020 daHole} │ │ │ -00009dc0: 2020 2020 207b 4854 4d4c 7d7b 3944 4646 {HTML}{9DFF │ │ │ -00009dd0: 3944 7d0a 0a25 202d 2d2d 2d2d 2d2d 2d2d 9D}..% --------- │ │ │ +00009710: 2d2d 0a25 2043 6f6e 6f72 204d 6342 7269 --.% Conor McBri │ │ │ +00009720: 6465 2773 2063 6f6c 6f75 7220 7363 6865 de's colour sche │ │ │ +00009730: 6d65 2e0a 7d7b 205c 6966 7468 656e 656c me..}{ \ifthenel │ │ │ +00009740: 7365 7b5c 6571 7561 6c7b 5c41 6764 6143 se{\equal{\AgdaC │ │ │ +00009750: 6f6c 6f75 7253 6368 656d 657d 7b63 6f6e olourScheme}{con │ │ │ +00009760: 6f72 7d7d 7b0a 0a20 2020 2025 2041 7370 or}}{.. % Asp │ │ │ +00009770: 6563 7420 636f 6c6f 7572 732e 0a20 2020 ect colours.. │ │ │ +00009780: 205c 6465 6669 6e65 636f 6c6f 727b 4167 \definecolor{Ag │ │ │ +00009790: 6461 436f 6d6d 656e 747d 2020 2020 2020 daComment} │ │ │ +000097a0: 7b48 544d 4c7d 7b42 3232 3232 327d 0a20 {HTML}{B22222}. │ │ │ +000097b0: 2020 205c 6465 6669 6e65 636f 6c6f 727b \definecolor{ │ │ │ +000097c0: 4167 6461 5072 6167 6d61 7d20 2020 2020 AgdaPragma} │ │ │ +000097d0: 2020 7b48 544d 4c7d 7b30 3030 3030 307d {HTML}{000000} │ │ │ +000097e0: 0a20 2020 205c 6465 6669 6e65 636f 6c6f . \definecolo │ │ │ +000097f0: 727b 4167 6461 4b65 7977 6f72 647d 2020 r{AgdaKeyword} │ │ │ +00009800: 2020 2020 7b48 544d 4c7d 7b30 3030 3030 {HTML}{00000 │ │ │ +00009810: 307d 0a20 2020 205c 6465 6669 6e65 636f 0}. \defineco │ │ │ +00009820: 6c6f 727b 4167 6461 5374 7269 6e67 7d20 lor{AgdaString} │ │ │ +00009830: 2020 2020 2020 7b48 544d 4c7d 7b30 3030 {HTML}{000 │ │ │ +00009840: 3030 307d 0a20 2020 205c 6465 6669 6e65 000}. \define │ │ │ +00009850: 636f 6c6f 727b 4167 6461 4e75 6d62 6572 color{AgdaNumber │ │ │ +00009860: 7d20 2020 2020 2020 7b48 544d 4c7d 7b30 } {HTML}{0 │ │ │ +00009870: 3030 3030 307d 0a20 2020 205c 6465 6669 00000}. \defi │ │ │ +00009880: 6e65 636f 6c6f 727b 4167 6461 5379 6d62 necolor{AgdaSymb │ │ │ +00009890: 6f6c 7d20 2020 2020 2020 7b48 544d 4c7d ol} {HTML} │ │ │ +000098a0: 7b30 3030 3030 307d 0a20 2020 205c 6465 {000000}. \de │ │ │ +000098b0: 6669 6e65 636f 6c6f 727b 4167 6461 5072 finecolor{AgdaPr │ │ │ +000098c0: 696d 6974 6976 6554 7970 657d 7b48 544d imitiveType}{HTM │ │ │ +000098d0: 4c7d 7b30 3030 3043 447d 0a0a 2020 2020 L}{0000CD}.. │ │ │ +000098e0: 2520 4e61 6d65 4b69 6e64 2063 6f6c 6f75 % NameKind colou │ │ │ +000098f0: 7273 2e0a 2020 2020 5c64 6566 696e 6563 rs.. \definec │ │ │ +00009900: 6f6c 6f72 7b41 6764 6142 6f75 6e64 7d20 olor{AgdaBound} │ │ │ +00009910: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +00009920: 7b48 544d 4c7d 7b41 3032 3046 307d 0a20 {HTML}{A020F0}. │ │ │ +00009930: 2020 205c 6465 6669 6e65 636f 6c6f 727b \definecolor{ │ │ │ +00009940: 4167 6461 4765 6e65 7261 6c69 7a61 626c AgdaGeneralizabl │ │ │ +00009950: 657d 2020 2020 2020 2020 207b 4854 4d4c e} {HTML │ │ │ +00009960: 7d7b 4130 3230 4630 7d0a 2020 2020 5c64 }{A020F0}. \d │ │ │ +00009970: 6566 696e 6563 6f6c 6f72 7b41 6764 6149 efinecolor{AgdaI │ │ │ +00009980: 6e64 7563 7469 7665 436f 6e73 7472 7563 nductiveConstruc │ │ │ +00009990: 746f 727d 2020 7b48 544d 4c7d 7b38 4230 tor} {HTML}{8B0 │ │ │ +000099a0: 3030 307d 0a20 2020 205c 6465 6669 6e65 000}. \define │ │ │ +000099b0: 636f 6c6f 727b 4167 6461 436f 696e 6475 color{AgdaCoindu │ │ │ +000099c0: 6374 6976 6543 6f6e 7374 7275 6374 6f72 ctiveConstructor │ │ │ +000099d0: 7d7b 4854 4d4c 7d7b 3842 3030 3030 7d0a }{HTML}{8B0000}. │ │ │ +000099e0: 2020 2020 5c64 6566 696e 6563 6f6c 6f72 \definecolor │ │ │ +000099f0: 7b41 6764 6144 6174 6174 7970 657d 2020 {AgdaDatatype} │ │ │ +00009a00: 2020 2020 2020 2020 2020 2020 7b48 544d {HTM │ │ │ +00009a10: 4c7d 7b30 3030 3043 447d 0a20 2020 205c L}{0000CD}. \ │ │ │ +00009a20: 6465 6669 6e65 636f 6c6f 727b 4167 6461 definecolor{Agda │ │ │ +00009a30: 4669 656c 647d 2020 2020 2020 2020 2020 Field} │ │ │ +00009a40: 2020 2020 2020 207b 4854 4d4c 7d7b 3842 {HTML}{8B │ │ │ +00009a50: 3030 3030 7d0a 2020 2020 5c64 6566 696e 0000}. \defin │ │ │ +00009a60: 6563 6f6c 6f72 7b41 6764 6146 756e 6374 ecolor{AgdaFunct │ │ │ +00009a70: 696f 6e7d 2020 2020 2020 2020 2020 2020 ion} │ │ │ +00009a80: 2020 7b48 544d 4c7d 7b30 3036 3430 307d {HTML}{006400} │ │ │ +00009a90: 0a20 2020 205c 6465 6669 6e65 636f 6c6f . \definecolo │ │ │ +00009aa0: 727b 4167 6461 4d61 6372 6f7d 2020 2020 r{AgdaMacro} │ │ │ +00009ab0: 2020 2020 2020 2020 2020 2020 207b 4854 {HT │ │ │ +00009ac0: 4d4c 7d7b 3030 3634 3030 7d0a 2020 2020 ML}{006400}. │ │ │ +00009ad0: 5c64 6566 696e 6563 6f6c 6f72 7b41 6764 \definecolor{Agd │ │ │ +00009ae0: 614d 6f64 756c 657d 2020 2020 2020 2020 aModule} │ │ │ +00009af0: 2020 2020 2020 2020 7b48 544d 4c7d 7b30 {HTML}{0 │ │ │ +00009b00: 3036 3430 307d 0a20 2020 205c 6465 6669 06400}. \defi │ │ │ +00009b10: 6e65 636f 6c6f 727b 4167 6461 506f 7374 necolor{AgdaPost │ │ │ +00009b20: 756c 6174 657d 2020 2020 2020 2020 2020 ulate} │ │ │ +00009b30: 2020 207b 4854 4d4c 7d7b 3030 3634 3030 {HTML}{006400 │ │ │ +00009b40: 7d0a 2020 2020 5c64 6566 696e 6563 6f6c }. \definecol │ │ │ +00009b50: 6f72 7b41 6764 6150 7269 6d69 7469 7665 or{AgdaPrimitive │ │ │ +00009b60: 7d20 2020 2020 2020 2020 2020 2020 7b48 } {H │ │ │ +00009b70: 544d 4c7d 7b30 3036 3430 307d 0a20 2020 TML}{006400}. │ │ │ +00009b80: 205c 6465 6669 6e65 636f 6c6f 727b 4167 \definecolor{Ag │ │ │ +00009b90: 6461 5265 636f 7264 7d20 2020 2020 2020 daRecord} │ │ │ +00009ba0: 2020 2020 2020 2020 207b 4854 4d4c 7d7b {HTML}{ │ │ │ +00009bb0: 3030 3030 4344 7d0a 2020 2020 5c64 6566 0000CD}. \def │ │ │ +00009bc0: 696e 6563 6f6c 6f72 7b41 6764 6141 7267 inecolor{AgdaArg │ │ │ +00009bd0: 756d 656e 747d 2020 2020 2020 2020 2020 ument} │ │ │ +00009be0: 2020 2020 7b48 544d 4c7d 7b34 3034 3034 {HTML}{40404 │ │ │ +00009bf0: 307d 0a0a 2020 2020 2520 4f74 6865 7220 0}.. % Other │ │ │ +00009c00: 6173 7065 6374 2063 6f6c 6f75 7273 2e0a aspect colours.. │ │ │ +00009c10: 2020 2020 5c64 6566 696e 6563 6f6c 6f72 \definecolor │ │ │ +00009c20: 7b41 6764 6144 6f74 7465 6450 6174 7465 {AgdaDottedPatte │ │ │ +00009c30: 726e 7d20 2020 2020 7b48 544d 4c7d 7b30 rn} {HTML}{0 │ │ │ +00009c40: 3030 3030 307d 0a20 2020 205c 6465 6669 00000}. \defi │ │ │ +00009c50: 6e65 636f 6c6f 727b 4167 6461 556e 736f necolor{AgdaUnso │ │ │ +00009c60: 6c76 6564 4d65 7461 7d20 2020 2020 207b lvedMeta} { │ │ │ +00009c70: 4854 4d4c 7d7b 4646 4437 3030 7d0a 2020 HTML}{FFD700}. │ │ │ +00009c80: 2020 5c64 6566 696e 6563 6f6c 6f72 7b41 \definecolor{A │ │ │ +00009c90: 6764 6155 6e73 6f6c 7665 6443 6f6e 7374 gdaUnsolvedConst │ │ │ +00009ca0: 7261 696e 747d 7b48 544d 4c7d 7b46 4644 raint}{HTML}{FFD │ │ │ +00009cb0: 3730 307d 0a20 2020 205c 6465 6669 6e65 700}. \define │ │ │ +00009cc0: 636f 6c6f 727b 4167 6461 5465 726d 696e color{AgdaTermin │ │ │ +00009cd0: 6174 696f 6e50 726f 626c 656d 7d7b 4854 ationProblem}{HT │ │ │ +00009ce0: 4d4c 7d7b 4646 3030 3030 7d0a 2020 2020 ML}{FF0000}. │ │ │ +00009cf0: 5c64 6566 696e 6563 6f6c 6f72 7b41 6764 \definecolor{Agd │ │ │ +00009d00: 6149 6e63 6f6d 706c 6574 6550 6174 7465 aIncompletePatte │ │ │ +00009d10: 726e 7d20 7b48 544d 4c7d 7b41 3032 3046 rn} {HTML}{A020F │ │ │ +00009d20: 307d 0a20 2020 205c 6465 6669 6e65 636f 0}. \defineco │ │ │ +00009d30: 6c6f 727b 4167 6461 4572 726f 7257 6172 lor{AgdaErrorWar │ │ │ +00009d40: 6e69 6e67 7d20 2020 2020 207b 4854 4d4c ning} {HTML │ │ │ +00009d50: 7d7b 4646 3030 3030 7d0a 2020 2020 5c64 }{FF0000}. \d │ │ │ +00009d60: 6566 696e 6563 6f6c 6f72 7b41 6764 6145 efinecolor{AgdaE │ │ │ +00009d70: 7272 6f72 7d20 2020 2020 2020 2020 2020 rror} │ │ │ +00009d80: 2020 7b48 544d 4c7d 7b46 3441 3436 307d {HTML}{F4A460} │ │ │ +00009d90: 0a0a 2020 2020 2520 4d69 7363 2e0a 2020 .. % Misc.. │ │ │ +00009da0: 2020 5c64 6566 696e 6563 6f6c 6f72 7b41 \definecolor{A │ │ │ +00009db0: 6764 6148 6f6c 657d 2020 2020 2020 2020 gdaHole} │ │ │ +00009dc0: 2020 2020 2020 7b48 544d 4c7d 7b39 4446 {HTML}{9DF │ │ │ +00009dd0: 4639 447d 0a0a 2520 2d2d 2d2d 2d2d 2d2d F9D}..% -------- │ │ │ 00009de0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ -00009df0: 2d2d 2d2d 2d2d 2d2d 2d0a 2520 5468 6520 ---------.% The │ │ │ -00009e00: 7374 616e 6461 7264 2063 6f6c 6f75 7220 standard colour │ │ │ -00009e10: 7363 6865 6d65 2e0a 7d7b 0a20 2020 2025 scheme..}{. % │ │ │ -00009e20: 2041 7370 6563 7420 636f 6c6f 7572 732e Aspect colours. │ │ │ -00009e30: 0a20 2020 205c 6465 6669 6e65 636f 6c6f . \definecolo │ │ │ -00009e40: 727b 4167 6461 436f 6d6d 656e 747d 2020 r{AgdaComment} │ │ │ -00009e50: 2020 2020 7b48 544d 4c7d 7b42 3232 3232 {HTML}{B2222 │ │ │ -00009e60: 327d 0a20 2020 205c 6465 6669 6e65 636f 2}. \defineco │ │ │ -00009e70: 6c6f 727b 4167 6461 5072 6167 6d61 7d20 lor{AgdaPragma} │ │ │ -00009e80: 2020 2020 2020 7b48 544d 4c7d 7b30 3030 {HTML}{000 │ │ │ -00009e90: 3030 307d 0a20 2020 205c 6465 6669 6e65 000}. \define │ │ │ -00009ea0: 636f 6c6f 727b 4167 6461 4b65 7977 6f72 color{AgdaKeywor │ │ │ -00009eb0: 647d 2020 2020 2020 7b48 544d 4c7d 7b43 d} {HTML}{C │ │ │ -00009ec0: 4436 3630 307d 0a20 2020 205c 6465 6669 D6600}. \defi │ │ │ -00009ed0: 6e65 636f 6c6f 727b 4167 6461 5374 7269 necolor{AgdaStri │ │ │ -00009ee0: 6e67 7d20 2020 2020 2020 7b48 544d 4c7d ng} {HTML} │ │ │ -00009ef0: 7b42 3232 3232 327d 0a20 2020 205c 6465 {B22222}. \de │ │ │ -00009f00: 6669 6e65 636f 6c6f 727b 4167 6461 4e75 finecolor{AgdaNu │ │ │ -00009f10: 6d62 6572 7d20 2020 2020 2020 7b48 544d mber} {HTM │ │ │ -00009f20: 4c7d 7b41 3032 3046 307d 0a20 2020 205c L}{A020F0}. \ │ │ │ -00009f30: 6465 6669 6e65 636f 6c6f 727b 4167 6461 definecolor{Agda │ │ │ -00009f40: 5379 6d62 6f6c 7d20 2020 2020 2020 7b48 Symbol} {H │ │ │ -00009f50: 544d 4c7d 7b34 3034 3034 307d 0a20 2020 TML}{404040}. │ │ │ -00009f60: 205c 6465 6669 6e65 636f 6c6f 727b 4167 \definecolor{Ag │ │ │ -00009f70: 6461 5072 696d 6974 6976 6554 7970 657d daPrimitiveType} │ │ │ -00009f80: 7b48 544d 4c7d 7b30 3030 3043 447d 0a0a {HTML}{0000CD}.. │ │ │ -00009f90: 2020 2020 2520 4e61 6d65 4b69 6e64 2063 % NameKind c │ │ │ -00009fa0: 6f6c 6f75 7273 2e0a 2020 2020 5c64 6566 olours.. \def │ │ │ -00009fb0: 696e 6563 6f6c 6f72 7b41 6764 6142 6f75 inecolor{AgdaBou │ │ │ -00009fc0: 6e64 7d20 2020 2020 2020 2020 2020 2020 nd} │ │ │ -00009fd0: 2020 2020 7b48 544d 4c7d 7b30 3030 3030 {HTML}{00000 │ │ │ -00009fe0: 307d 0a20 2020 205c 6465 6669 6e65 636f 0}. \defineco │ │ │ -00009ff0: 6c6f 727b 4167 6461 4765 6e65 7261 6c69 lor{AgdaGenerali │ │ │ -0000a000: 7a61 626c 657d 2020 2020 2020 2020 207b zable} { │ │ │ -0000a010: 4854 4d4c 7d7b 3030 3030 3030 7d0a 2020 HTML}{000000}. │ │ │ -0000a020: 2020 5c64 6566 696e 6563 6f6c 6f72 7b41 \definecolor{A │ │ │ -0000a030: 6764 6149 6e64 7563 7469 7665 436f 6e73 gdaInductiveCons │ │ │ -0000a040: 7472 7563 746f 727d 2020 7b48 544d 4c7d tructor} {HTML} │ │ │ -0000a050: 7b30 3038 4230 307d 0a20 2020 205c 6465 {008B00}. \de │ │ │ -0000a060: 6669 6e65 636f 6c6f 727b 4167 6461 436f finecolor{AgdaCo │ │ │ -0000a070: 696e 6475 6374 6976 6543 6f6e 7374 7275 inductiveConstru │ │ │ -0000a080: 6374 6f72 7d7b 4854 4d4c 7d7b 3842 3735 ctor}{HTML}{8B75 │ │ │ -0000a090: 3030 7d0a 2020 2020 5c64 6566 696e 6563 00}. \definec │ │ │ -0000a0a0: 6f6c 6f72 7b41 6764 6144 6174 6174 7970 olor{AgdaDatatyp │ │ │ -0000a0b0: 657d 2020 2020 2020 2020 2020 2020 2020 e} │ │ │ -0000a0c0: 7b48 544d 4c7d 7b30 3030 3043 447d 0a20 {HTML}{0000CD}. │ │ │ -0000a0d0: 2020 205c 6465 6669 6e65 636f 6c6f 727b \definecolor{ │ │ │ -0000a0e0: 4167 6461 4669 656c 647d 2020 2020 2020 AgdaField} │ │ │ -0000a0f0: 2020 2020 2020 2020 2020 207b 4854 4d4c {HTML │ │ │ -0000a100: 7d7b 4545 3132 3839 7d0a 2020 2020 5c64 }{EE1289}. \d │ │ │ -0000a110: 6566 696e 6563 6f6c 6f72 7b41 6764 6146 efinecolor{AgdaF │ │ │ -0000a120: 756e 6374 696f 6e7d 2020 2020 2020 2020 unction} │ │ │ -0000a130: 2020 2020 2020 7b48 544d 4c7d 7b30 3030 {HTML}{000 │ │ │ -0000a140: 3043 447d 0a20 2020 205c 6465 6669 6e65 0CD}. \define │ │ │ -0000a150: 636f 6c6f 727b 4167 6461 4d61 6372 6f7d color{AgdaMacro} │ │ │ -0000a160: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0000a170: 207b 4854 4d4c 7d7b 3435 3842 3734 7d0a {HTML}{458B74}. │ │ │ -0000a180: 2020 2020 5c64 6566 696e 6563 6f6c 6f72 \definecolor │ │ │ -0000a190: 7b41 6764 614d 6f64 756c 657d 2020 2020 {AgdaModule} │ │ │ -0000a1a0: 2020 2020 2020 2020 2020 2020 7b48 544d {HTM │ │ │ -0000a1b0: 4c7d 7b41 3032 3046 307d 0a20 2020 205c L}{A020F0}. \ │ │ │ -0000a1c0: 6465 6669 6e65 636f 6c6f 727b 4167 6461 definecolor{Agda │ │ │ -0000a1d0: 506f 7374 756c 6174 657d 2020 2020 2020 Postulate} │ │ │ -0000a1e0: 2020 2020 2020 207b 4854 4d4c 7d7b 3030 {HTML}{00 │ │ │ -0000a1f0: 3030 4344 7d0a 2020 2020 5c64 6566 696e 00CD}. \defin │ │ │ -0000a200: 6563 6f6c 6f72 7b41 6764 6150 7269 6d69 ecolor{AgdaPrimi │ │ │ -0000a210: 7469 7665 7d20 2020 2020 2020 2020 2020 tive} │ │ │ -0000a220: 2020 7b48 544d 4c7d 7b30 3030 3043 447d {HTML}{0000CD} │ │ │ -0000a230: 0a20 2020 205c 6465 6669 6e65 636f 6c6f . \definecolo │ │ │ -0000a240: 727b 4167 6461 5265 636f 7264 7d20 2020 r{AgdaRecord} │ │ │ -0000a250: 2020 2020 2020 2020 2020 2020 207b 4854 {HT │ │ │ -0000a260: 4d4c 7d7b 3030 3030 4344 7d0a 2020 2020 ML}{0000CD}. │ │ │ -0000a270: 5c64 6566 696e 6563 6f6c 6f72 7b41 6764 \definecolor{Agd │ │ │ -0000a280: 6141 7267 756d 656e 747d 2020 2020 2020 aArgument} │ │ │ -0000a290: 2020 2020 2020 2020 7b48 544d 4c7d 7b34 {HTML}{4 │ │ │ -0000a2a0: 3034 3034 307d 0a0a 2020 2020 2520 4f74 04040}.. % Ot │ │ │ -0000a2b0: 6865 7220 6173 7065 6374 2063 6f6c 6f75 her aspect colou │ │ │ -0000a2c0: 7273 2e0a 2020 2020 5c64 6566 696e 6563 rs.. \definec │ │ │ -0000a2d0: 6f6c 6f72 7b41 6764 6144 6f74 7465 6450 olor{AgdaDottedP │ │ │ -0000a2e0: 6174 7465 726e 7d20 2020 2020 7b48 544d attern} {HTM │ │ │ -0000a2f0: 4c7d 7b30 3030 3030 307d 0a20 2020 205c L}{000000}. \ │ │ │ -0000a300: 6465 6669 6e65 636f 6c6f 727b 4167 6461 definecolor{Agda │ │ │ -0000a310: 556e 736f 6c76 6564 4d65 7461 7d20 2020 UnsolvedMeta} │ │ │ -0000a320: 2020 207b 4854 4d4c 7d7b 4646 4646 3030 {HTML}{FFFF00 │ │ │ -0000a330: 7d0a 2020 2020 5c64 6566 696e 6563 6f6c }. \definecol │ │ │ -0000a340: 6f72 7b41 6764 6155 6e73 6f6c 7665 6443 or{AgdaUnsolvedC │ │ │ -0000a350: 6f6e 7374 7261 696e 747d 7b48 544d 4c7d onstraint}{HTML} │ │ │ -0000a360: 7b46 4646 4630 307d 0a20 2020 205c 6465 {FFFF00}. \de │ │ │ -0000a370: 6669 6e65 636f 6c6f 727b 4167 6461 5465 finecolor{AgdaTe │ │ │ -0000a380: 726d 696e 6174 696f 6e50 726f 626c 656d rminationProblem │ │ │ -0000a390: 7d7b 4854 4d4c 7d7b 4646 4130 3741 7d0a }{HTML}{FFA07A}. │ │ │ -0000a3a0: 2020 2020 5c64 6566 696e 6563 6f6c 6f72 \definecolor │ │ │ -0000a3b0: 7b41 6764 6149 6e63 6f6d 706c 6574 6550 {AgdaIncompleteP │ │ │ -0000a3c0: 6174 7465 726e 7d20 7b48 544d 4c7d 7b46 attern} {HTML}{F │ │ │ -0000a3d0: 3544 4542 337d 0a20 2020 205c 6465 6669 5DEB3}. \defi │ │ │ -0000a3e0: 6e65 636f 6c6f 727b 4167 6461 4572 726f necolor{AgdaErro │ │ │ -0000a3f0: 7257 6172 6e69 6e67 7d20 2020 2020 207b rWarning} { │ │ │ -0000a400: 4854 4d4c 7d7b 4646 4130 3741 7d0a 2020 HTML}{FFA07A}. │ │ │ -0000a410: 2020 5c64 6566 696e 6563 6f6c 6f72 7b41 \definecolor{A │ │ │ -0000a420: 6764 6145 7272 6f72 7d20 2020 2020 2020 gdaError} │ │ │ -0000a430: 2020 2020 2020 7b48 544d 4c7d 7b46 4630 {HTML}{FF0 │ │ │ -0000a440: 3030 307d 0a0a 2020 2020 2520 4d69 7363 000}.. % Misc │ │ │ -0000a450: 2e0a 2020 2020 5c64 6566 696e 6563 6f6c .. \definecol │ │ │ -0000a460: 6f72 7b41 6764 6148 6f6c 657d 2020 2020 or{AgdaHole} │ │ │ -0000a470: 2020 2020 2020 2020 2020 7b48 544d 4c7d {HTML} │ │ │ -0000a480: 7b39 4446 4639 447d 0a7d 7d0a 0a25 202d {9DFF9D}.}}..% - │ │ │ +00009df0: 2d2d 2d2d 2d2d 2d2d 2d2d 0a25 2054 6865 ----------.% The │ │ │ +00009e00: 2073 7461 6e64 6172 6420 636f 6c6f 7572 standard colour │ │ │ +00009e10: 2073 6368 656d 652e 0a7d 7b0a 2020 2020 scheme..}{. │ │ │ +00009e20: 2520 4173 7065 6374 2063 6f6c 6f75 7273 % Aspect colours │ │ │ +00009e30: 2e0a 2020 2020 5c64 6566 696e 6563 6f6c .. \definecol │ │ │ +00009e40: 6f72 7b41 6764 6143 6f6d 6d65 6e74 7d20 or{AgdaComment} │ │ │ +00009e50: 2020 2020 207b 4854 4d4c 7d7b 4232 3232 {HTML}{B222 │ │ │ +00009e60: 3232 7d0a 2020 2020 5c64 6566 696e 6563 22}. \definec │ │ │ +00009e70: 6f6c 6f72 7b41 6764 6150 7261 676d 617d olor{AgdaPragma} │ │ │ +00009e80: 2020 2020 2020 207b 4854 4d4c 7d7b 3030 {HTML}{00 │ │ │ +00009e90: 3030 3030 7d0a 2020 2020 5c64 6566 696e 0000}. \defin │ │ │ +00009ea0: 6563 6f6c 6f72 7b41 6764 614b 6579 776f ecolor{AgdaKeywo │ │ │ +00009eb0: 7264 7d20 2020 2020 207b 4854 4d4c 7d7b rd} {HTML}{ │ │ │ +00009ec0: 4344 3636 3030 7d0a 2020 2020 5c64 6566 CD6600}. \def │ │ │ +00009ed0: 696e 6563 6f6c 6f72 7b41 6764 6153 7472 inecolor{AgdaStr │ │ │ +00009ee0: 696e 677d 2020 2020 2020 207b 4854 4d4c ing} {HTML │ │ │ +00009ef0: 7d7b 4232 3232 3232 7d0a 2020 2020 5c64 }{B22222}. \d │ │ │ +00009f00: 6566 696e 6563 6f6c 6f72 7b41 6764 614e efinecolor{AgdaN │ │ │ +00009f10: 756d 6265 727d 2020 2020 2020 207b 4854 umber} {HT │ │ │ +00009f20: 4d4c 7d7b 4130 3230 4630 7d0a 2020 2020 ML}{A020F0}. │ │ │ +00009f30: 5c64 6566 696e 6563 6f6c 6f72 7b41 6764 \definecolor{Agd │ │ │ +00009f40: 6153 796d 626f 6c7d 2020 2020 2020 207b aSymbol} { │ │ │ +00009f50: 4854 4d4c 7d7b 3430 3430 3430 7d0a 2020 HTML}{404040}. │ │ │ +00009f60: 2020 5c64 6566 696e 6563 6f6c 6f72 7b41 \definecolor{A │ │ │ +00009f70: 6764 6150 7269 6d69 7469 7665 5479 7065 gdaPrimitiveType │ │ │ +00009f80: 7d7b 4854 4d4c 7d7b 3030 3030 4344 7d0a }{HTML}{0000CD}. │ │ │ +00009f90: 0a20 2020 2025 204e 616d 654b 696e 6420 . % NameKind │ │ │ +00009fa0: 636f 6c6f 7572 732e 0a20 2020 205c 6465 colours.. \de │ │ │ +00009fb0: 6669 6e65 636f 6c6f 727b 4167 6461 426f finecolor{AgdaBo │ │ │ +00009fc0: 756e 647d 2020 2020 2020 2020 2020 2020 und} │ │ │ +00009fd0: 2020 2020 207b 4854 4d4c 7d7b 3030 3030 {HTML}{0000 │ │ │ +00009fe0: 3030 7d0a 2020 2020 5c64 6566 696e 6563 00}. \definec │ │ │ +00009ff0: 6f6c 6f72 7b41 6764 6147 656e 6572 616c olor{AgdaGeneral │ │ │ +0000a000: 697a 6162 6c65 7d20 2020 2020 2020 2020 izable} │ │ │ +0000a010: 7b48 544d 4c7d 7b30 3030 3030 307d 0a20 {HTML}{000000}. │ │ │ +0000a020: 2020 205c 6465 6669 6e65 636f 6c6f 727b \definecolor{ │ │ │ +0000a030: 4167 6461 496e 6475 6374 6976 6543 6f6e AgdaInductiveCon │ │ │ +0000a040: 7374 7275 6374 6f72 7d20 207b 4854 4d4c structor} {HTML │ │ │ +0000a050: 7d7b 3030 3842 3030 7d0a 2020 2020 5c64 }{008B00}. \d │ │ │ +0000a060: 6566 696e 6563 6f6c 6f72 7b41 6764 6143 efinecolor{AgdaC │ │ │ +0000a070: 6f69 6e64 7563 7469 7665 436f 6e73 7472 oinductiveConstr │ │ │ +0000a080: 7563 746f 727d 7b48 544d 4c7d 7b38 4237 uctor}{HTML}{8B7 │ │ │ +0000a090: 3530 307d 0a20 2020 205c 6465 6669 6e65 500}. \define │ │ │ +0000a0a0: 636f 6c6f 727b 4167 6461 4461 7461 7479 color{AgdaDataty │ │ │ +0000a0b0: 7065 7d20 2020 2020 2020 2020 2020 2020 pe} │ │ │ +0000a0c0: 207b 4854 4d4c 7d7b 3030 3030 4344 7d0a {HTML}{0000CD}. │ │ │ +0000a0d0: 2020 2020 5c64 6566 696e 6563 6f6c 6f72 \definecolor │ │ │ +0000a0e0: 7b41 6764 6146 6965 6c64 7d20 2020 2020 {AgdaField} │ │ │ +0000a0f0: 2020 2020 2020 2020 2020 2020 7b48 544d {HTM │ │ │ +0000a100: 4c7d 7b45 4531 3238 397d 0a20 2020 205c L}{EE1289}. \ │ │ │ +0000a110: 6465 6669 6e65 636f 6c6f 727b 4167 6461 definecolor{Agda │ │ │ +0000a120: 4675 6e63 7469 6f6e 7d20 2020 2020 2020 Function} │ │ │ +0000a130: 2020 2020 2020 207b 4854 4d4c 7d7b 3030 {HTML}{00 │ │ │ +0000a140: 3030 4344 7d0a 2020 2020 5c64 6566 696e 00CD}. \defin │ │ │ +0000a150: 6563 6f6c 6f72 7b41 6764 614d 6163 726f ecolor{AgdaMacro │ │ │ +0000a160: 7d20 2020 2020 2020 2020 2020 2020 2020 } │ │ │ +0000a170: 2020 7b48 544d 4c7d 7b34 3538 4237 347d {HTML}{458B74} │ │ │ +0000a180: 0a20 2020 205c 6465 6669 6e65 636f 6c6f . \definecolo │ │ │ +0000a190: 727b 4167 6461 4d6f 6475 6c65 7d20 2020 r{AgdaModule} │ │ │ +0000a1a0: 2020 2020 2020 2020 2020 2020 207b 4854 {HT │ │ │ +0000a1b0: 4d4c 7d7b 4130 3230 4630 7d0a 2020 2020 ML}{A020F0}. │ │ │ +0000a1c0: 5c64 6566 696e 6563 6f6c 6f72 7b41 6764 \definecolor{Agd │ │ │ +0000a1d0: 6150 6f73 7475 6c61 7465 7d20 2020 2020 aPostulate} │ │ │ +0000a1e0: 2020 2020 2020 2020 7b48 544d 4c7d 7b30 {HTML}{0 │ │ │ +0000a1f0: 3030 3043 447d 0a20 2020 205c 6465 6669 000CD}. \defi │ │ │ +0000a200: 6e65 636f 6c6f 727b 4167 6461 5072 696d necolor{AgdaPrim │ │ │ +0000a210: 6974 6976 657d 2020 2020 2020 2020 2020 itive} │ │ │ +0000a220: 2020 207b 4854 4d4c 7d7b 3030 3030 4344 {HTML}{0000CD │ │ │ +0000a230: 7d0a 2020 2020 5c64 6566 696e 6563 6f6c }. \definecol │ │ │ +0000a240: 6f72 7b41 6764 6152 6563 6f72 647d 2020 or{AgdaRecord} │ │ │ +0000a250: 2020 2020 2020 2020 2020 2020 2020 7b48 {H │ │ │ +0000a260: 544d 4c7d 7b30 3030 3043 447d 0a20 2020 TML}{0000CD}. │ │ │ +0000a270: 205c 6465 6669 6e65 636f 6c6f 727b 4167 \definecolor{Ag │ │ │ +0000a280: 6461 4172 6775 6d65 6e74 7d20 2020 2020 daArgument} │ │ │ +0000a290: 2020 2020 2020 2020 207b 4854 4d4c 7d7b {HTML}{ │ │ │ +0000a2a0: 3430 3430 3430 7d0a 0a20 2020 2025 204f 404040}.. % O │ │ │ +0000a2b0: 7468 6572 2061 7370 6563 7420 636f 6c6f ther aspect colo │ │ │ +0000a2c0: 7572 732e 0a20 2020 205c 6465 6669 6e65 urs.. \define │ │ │ +0000a2d0: 636f 6c6f 727b 4167 6461 446f 7474 6564 color{AgdaDotted │ │ │ +0000a2e0: 5061 7474 6572 6e7d 2020 2020 207b 4854 Pattern} {HT │ │ │ +0000a2f0: 4d4c 7d7b 3030 3030 3030 7d0a 2020 2020 ML}{000000}. │ │ │ +0000a300: 5c64 6566 696e 6563 6f6c 6f72 7b41 6764 \definecolor{Agd │ │ │ +0000a310: 6155 6e73 6f6c 7665 644d 6574 617d 2020 aUnsolvedMeta} │ │ │ +0000a320: 2020 2020 7b48 544d 4c7d 7b46 4646 4630 {HTML}{FFFF0 │ │ │ +0000a330: 307d 0a20 2020 205c 6465 6669 6e65 636f 0}. \defineco │ │ │ +0000a340: 6c6f 727b 4167 6461 556e 736f 6c76 6564 lor{AgdaUnsolved │ │ │ +0000a350: 436f 6e73 7472 6169 6e74 7d7b 4854 4d4c Constraint}{HTML │ │ │ +0000a360: 7d7b 4646 4646 3030 7d0a 2020 2020 5c64 }{FFFF00}. \d │ │ │ +0000a370: 6566 696e 6563 6f6c 6f72 7b41 6764 6154 efinecolor{AgdaT │ │ │ +0000a380: 6572 6d69 6e61 7469 6f6e 5072 6f62 6c65 erminationProble │ │ │ +0000a390: 6d7d 7b48 544d 4c7d 7b46 4641 3037 417d m}{HTML}{FFA07A} │ │ │ +0000a3a0: 0a20 2020 205c 6465 6669 6e65 636f 6c6f . \definecolo │ │ │ +0000a3b0: 727b 4167 6461 496e 636f 6d70 6c65 7465 r{AgdaIncomplete │ │ │ +0000a3c0: 5061 7474 6572 6e7d 207b 4854 4d4c 7d7b Pattern} {HTML}{ │ │ │ +0000a3d0: 4635 4445 4233 7d0a 2020 2020 5c64 6566 F5DEB3}. \def │ │ │ +0000a3e0: 696e 6563 6f6c 6f72 7b41 6764 6145 7272 inecolor{AgdaErr │ │ │ +0000a3f0: 6f72 5761 726e 696e 677d 2020 2020 2020 orWarning} │ │ │ +0000a400: 7b48 544d 4c7d 7b46 4641 3037 417d 0a20 {HTML}{FFA07A}. │ │ │ +0000a410: 2020 205c 6465 6669 6e65 636f 6c6f 727b \definecolor{ │ │ │ +0000a420: 4167 6461 4572 726f 727d 2020 2020 2020 AgdaError} │ │ │ +0000a430: 2020 2020 2020 207b 4854 4d4c 7d7b 4646 {HTML}{FF │ │ │ +0000a440: 3030 3030 7d0a 0a20 2020 2025 204d 6973 0000}.. % Mis │ │ │ +0000a450: 632e 0a20 2020 205c 6465 6669 6e65 636f c.. \defineco │ │ │ +0000a460: 6c6f 727b 4167 6461 486f 6c65 7d20 2020 lor{AgdaHole} │ │ │ +0000a470: 2020 2020 2020 2020 2020 207b 4854 4d4c {HTML │ │ │ +0000a480: 7d7b 3944 4646 3944 7d0a 7d7d 0a0a 2520 }{9DFF9D}.}}..% │ │ │ 0000a490: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 0000a4a0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 0000a4b0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 0000a4c0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ -0000a4d0: 2d2d 2d2d 2d0a 2520 436f 6d6d 616e 6473 -----.% Commands │ │ │ -0000a4e0: 2e0a 0a5c 6e65 7763 6f6d 6d61 6e64 7b5c ...\newcommand{\ │ │ │ -0000a4f0: 4167 6461 4e6f 5370 6163 654d 6174 687d AgdaNoSpaceMath} │ │ │ -0000a500: 5b31 5d0a 2020 2020 7b5c 6265 6769 6e67 [1]. {\beging │ │ │ -0000a510: 726f 7570 5c74 6869 636b 6d75 736b 6970 roup\thickmuskip │ │ │ -0000a520: 3d30 6d75 5c6d 6564 6d75 736b 6970 3d30 =0mu\medmuskip=0 │ │ │ -0000a530: 6d75 2331 5c65 6e64 6772 6f75 707d 0a0a mu#1\endgroup}.. │ │ │ -0000a540: 2520 4173 7065 6374 2063 6f6d 6d61 6e64 % Aspect command │ │ │ -0000a550: 732e 0a5c 6e65 7763 6f6d 6d61 6e64 7b5c s..\newcommand{\ │ │ │ -0000a560: 4167 6461 436f 6d6d 656e 747d 2020 2020 AgdaComment} │ │ │ -0000a570: 205b 315d 0a20 2020 207b 5c41 6764 614e [1]. {\AgdaN │ │ │ -0000a580: 6f53 7061 6365 4d61 7468 7b5c 7465 7874 oSpaceMath{\text │ │ │ -0000a590: 636f 6c6f 727b 4167 6461 436f 6d6d 656e color{AgdaCommen │ │ │ -0000a5a0: 747d 7b5c 4167 6461 436f 6d6d 656e 7446 t}{\AgdaCommentF │ │ │ -0000a5b0: 6f6e 7453 7479 6c65 7b23 317d 7d7d 7d0a ontStyle{#1}}}}. │ │ │ -0000a5c0: 5c6e 6577 636f 6d6d 616e 647b 5c41 6764 \newcommand{\Agd │ │ │ -0000a5d0: 6150 7261 676d 617d 2020 2020 2020 5b31 aPragma} [1 │ │ │ -0000a5e0: 5d0a 2020 2020 7b5c 4167 6461 4e6f 5370 ]. {\AgdaNoSp │ │ │ -0000a5f0: 6163 654d 6174 687b 5c74 6578 7463 6f6c aceMath{\textcol │ │ │ -0000a600: 6f72 7b41 6764 6150 7261 676d 617d 7b5c or{AgdaPragma}{\ │ │ │ -0000a610: 4167 6461 436f 6d6d 656e 7446 6f6e 7453 AgdaCommentFontS │ │ │ -0000a620: 7479 6c65 7b23 317d 7d7d 7d0a 5c6e 6577 tyle{#1}}}}.\new │ │ │ -0000a630: 636f 6d6d 616e 647b 5c41 6764 614b 6579 command{\AgdaKey │ │ │ -0000a640: 776f 7264 7d20 2020 2020 5b31 5d0a 2020 word} [1]. │ │ │ -0000a650: 2020 7b5c 4167 6461 4e6f 5370 6163 654d {\AgdaNoSpaceM │ │ │ -0000a660: 6174 687b 5c74 6578 7463 6f6c 6f72 7b41 ath{\textcolor{A │ │ │ -0000a670: 6764 614b 6579 776f 7264 7d7b 5c41 6764 gdaKeyword}{\Agd │ │ │ -0000a680: 614b 6579 776f 7264 466f 6e74 5374 796c aKeywordFontStyl │ │ │ -0000a690: 657b 2331 7d7d 7d7d 0a5c 6e65 7763 6f6d e{#1}}}}.\newcom │ │ │ -0000a6a0: 6d61 6e64 7b5c 4167 6461 5374 7269 6e67 mand{\AgdaString │ │ │ -0000a6b0: 7d20 2020 2020 205b 315d 0a20 2020 207b } [1]. { │ │ │ -0000a6c0: 5c41 6764 614e 6f53 7061 6365 4d61 7468 \AgdaNoSpaceMath │ │ │ -0000a6d0: 7b5c 7465 7874 636f 6c6f 727b 4167 6461 {\textcolor{Agda │ │ │ -0000a6e0: 5374 7269 6e67 7d7b 5c41 6764 6153 7472 String}{\AgdaStr │ │ │ -0000a6f0: 696e 6746 6f6e 7453 7479 6c65 7b23 317d ingFontStyle{#1} │ │ │ -0000a700: 7d7d 7d0a 5c6e 6577 636f 6d6d 616e 647b }}}.\newcommand{ │ │ │ -0000a710: 5c41 6764 614e 756d 6265 727d 2020 2020 \AgdaNumber} │ │ │ -0000a720: 2020 5b31 5d0a 2020 2020 7b5c 4167 6461 [1]. {\Agda │ │ │ -0000a730: 4e6f 5370 6163 654d 6174 687b 5c74 6578 NoSpaceMath{\tex │ │ │ -0000a740: 7463 6f6c 6f72 7b41 6764 614e 756d 6265 tcolor{AgdaNumbe │ │ │ -0000a750: 727d 7b5c 4167 6461 466f 6e74 5374 796c r}{\AgdaFontStyl │ │ │ -0000a760: 657b 2331 7d7d 7d7d 0a5c 6e65 7763 6f6d e{#1}}}}.\newcom │ │ │ -0000a770: 6d61 6e64 7b5c 4167 6461 5379 6d62 6f6c mand{\AgdaSymbol │ │ │ -0000a780: 7d20 2020 2020 205b 315d 0a20 2020 207b } [1]. { │ │ │ -0000a790: 5c41 6764 614e 6f53 7061 6365 4d61 7468 \AgdaNoSpaceMath │ │ │ -0000a7a0: 7b5c 7465 7874 636f 6c6f 727b 4167 6461 {\textcolor{Agda │ │ │ -0000a7b0: 5379 6d62 6f6c 7d7b 5c41 6764 6146 6f6e Symbol}{\AgdaFon │ │ │ -0000a7c0: 7453 7479 6c65 7b23 317d 7d7d 7d0a 5c6e tStyle{#1}}}}.\n │ │ │ -0000a7d0: 6577 636f 6d6d 616e 647b 5c41 6764 6150 ewcommand{\AgdaP │ │ │ -0000a7e0: 7269 6d69 7469 7665 5479 7065 7d5b 315d rimitiveType}[1] │ │ │ -0000a7f0: 0a20 2020 207b 5c41 6764 614e 6f53 7061 . {\AgdaNoSpa │ │ │ -0000a800: 6365 4d61 7468 7b5c 7465 7874 636f 6c6f ceMath{\textcolo │ │ │ -0000a810: 727b 4167 6461 5072 696d 6974 6976 6554 r{AgdaPrimitiveT │ │ │ -0000a820: 7970 657d 7b5c 4167 6461 466f 6e74 5374 ype}{\AgdaFontSt │ │ │ -0000a830: 796c 657b 2331 7d7d 7d7d 0a25 2520 416e yle{#1}}}}.%% An │ │ │ -0000a840: 6472 6561 732c 2032 3032 312d 3037 2d31 dreas, 2021-07-1 │ │ │ -0000a850: 342c 2069 7373 7565 2023 3534 3731 0a25 4, issue #5471.% │ │ │ -0000a860: 2520 546f 206d 616b 6520 6974 616c 6963 % To make italic │ │ │ -0000a870: 7320 636f 7272 6563 7469 6f6e 205c 2f20 s correction \/ │ │ │ -0000a880: 776f 726b 2c20 7468 6520 666f 6e74 2d73 work, the font-s │ │ │ -0000a890: 7479 6c65 206d 6f64 6966 6965 720a 2525 tyle modifier.%% │ │ │ -0000a8a0: 206e 6565 6473 2074 6f20 6265 2069 6e73 needs to be ins │ │ │ -0000a8b0: 6964 652c 2069 6e20 7061 7274 6963 756c ide, in particul │ │ │ -0000a8c0: 6172 2069 6e73 6964 6520 7468 6520 5c74 ar inside the \t │ │ │ -0000a8d0: 6578 7463 6f6c 6f72 206d 6f64 6966 6965 extcolor modifie │ │ │ -0000a8e0: 722c 0a25 2520 6173 2074 6865 205c 7465 r,.%% as the \te │ │ │ -0000a8f0: 7874 636f 6c6f 727b 7d20 7772 6170 7069 xtcolor{} wrappi │ │ │ -0000a900: 6e67 2061 726f 756e 6420 736f 6d65 7468 ng around someth │ │ │ -0000a910: 696e 6720 6869 6465 7320 6974 7320 636f ing hides its co │ │ │ -0000a920: 6e74 656e 740a 2525 2074 6f20 7468 6520 ntent.%% to the │ │ │ -0000a930: 6c6f 6769 6320 7468 6174 2072 6573 6f6c logic that resol │ │ │ -0000a940: 7665 7320 5c2f 2069 6e74 6f20 6120 7370 ves \/ into a sp │ │ │ -0000a950: 6163 6520 6f72 206e 6f74 2e0a 0a25 204e ace or not...% N │ │ │ -0000a960: 6f74 6520 7468 6174 2c20 696e 2063 6f64 ote that, in cod │ │ │ -0000a970: 6520 6765 6e65 7261 7465 6420 6279 2074 e generated by t │ │ │ -0000a980: 6865 204c 6154 6558 2062 6163 6b65 6e64 he LaTeX backend │ │ │ -0000a990: 2c20 5c41 6764 614f 7065 7261 746f 7220 , \AgdaOperator │ │ │ -0000a9a0: 6973 0a25 2061 6c77 6179 7320 6170 706c is.% always appl │ │ │ -0000a9b0: 6965 6420 746f 2061 204e 616d 654b 696e ied to a NameKin │ │ │ -0000a9c0: 6420 636f 6d6d 616e 642e 0a5c 6e65 7763 d command..\newc │ │ │ -0000a9d0: 6f6d 6d61 6e64 7b5c 4167 6461 4f70 6572 ommand{\AgdaOper │ │ │ -0000a9e0: 6174 6f72 7d20 2020 205b 315d 7b23 317d ator} [1]{#1} │ │ │ -0000a9f0: 0a0a 2520 4e61 6d65 4b69 6e64 2063 6f6d ..% NameKind com │ │ │ -0000aa00: 6d61 6e64 732e 0a0a 2520 5468 6520 7573 mands...% The us │ │ │ -0000aa10: 6572 2063 616e 2063 6f6e 7472 6f6c 2074 er can control t │ │ │ -0000aa20: 6865 2074 7970 6573 6574 7469 6e67 206f he typesetting o │ │ │ -0000aa30: 6620 2863 6572 7461 696e 2920 696e 6469 f (certain) indi │ │ │ -0000aa40: 7669 6475 616c 2074 6f6b 656e 730a 2520 vidual tokens.% │ │ │ -0000aa50: 6279 2072 6564 6566 696e 696e 6720 7468 by redefining th │ │ │ -0000aa60: 6520 666f 6c6c 6f77 696e 6720 636f 6d6d e following comm │ │ │ -0000aa70: 616e 642e 2054 6865 2066 6972 7374 2061 and. The first a │ │ │ -0000aa80: 7267 756d 656e 7420 6973 2074 6865 2074 rgument is the t │ │ │ -0000aa90: 6f6b 656e 0a25 2061 6e64 2074 6865 2073 oken.% and the s │ │ │ -0000aaa0: 6563 6f6e 6420 6172 6775 6d65 6e74 2074 econd argument t │ │ │ -0000aab0: 6865 2074 6869 6e67 2074 6f20 6265 2074 he thing to be t │ │ │ -0000aac0: 7970 6573 6574 2028 736f 6d65 7469 6d65 ypeset (sometime │ │ │ -0000aad0: 7320 6a75 7374 2074 6865 0a25 2074 6f6b s just the.% tok │ │ │ -0000aae0: 656e 2c20 736f 6d65 7469 6d65 7320 5c41 en, sometimes \A │ │ │ -0000aaf0: 6764 614c 696e 6b7b 3c74 6865 2074 6f6b gdaLink{}). Example:. │ │ │ -0000ab10: 250a 2520 2020 5c75 7365 7061 636b 6167 %.% \usepackag │ │ │ -0000ab20: 657b 6966 7468 656e 7d0a 250a 2520 2020 e{ifthen}.%.% │ │ │ -0000ab30: 2520 496e 7365 7274 2065 7874 7261 2073 % Insert extra s │ │ │ -0000ab40: 7061 6365 2062 6566 6f72 6520 736f 6d65 pace before some │ │ │ -0000ab50: 2074 6f6b 656e 732e 0a25 2020 205c 4465 tokens..% \De │ │ │ -0000ab60: 636c 6172 6552 6f62 7573 7443 6f6d 6d61 clareRobustComma │ │ │ -0000ab70: 6e64 7b5c 4167 6461 466f 726d 6174 7d5b nd{\AgdaFormat}[ │ │ │ -0000ab80: 325d 7b25 0a25 2020 2020 205c 6966 7468 2]{%.% \ifth │ │ │ -0000ab90: 656e 656c 7365 7b0a 2520 2020 2020 2020 enelse{.% │ │ │ -0000aba0: 5c65 7175 616c 7b23 317d 7be2 89a1 e29f \equal{#1}{..... │ │ │ -0000abb0: a87d 205c 4f52 0a25 2020 2020 2020 205c .} \OR.% \ │ │ │ -0000abc0: 6571 7561 6c7b 2331 7d7b e289 a1e2 9fa8 equal{#1}{...... │ │ │ -0000abd0: e29f a97d 205c 4f52 0a25 2020 2020 2020 ...} \OR.% │ │ │ -0000abe0: 205c 6571 7561 6c7b 2331 7d7b e288 8e7d \equal{#1}{...} │ │ │ -0000abf0: 0a25 2020 2020 207d 7b5c 207d 7b7d 2332 .% }{\ }{}#2 │ │ │ -0000ac00: 7d0a 250a 2520 4e6f 7465 2074 6865 2075 }.%.% Note the u │ │ │ -0000ac10: 7365 206f 6620 5c44 6563 6c61 7265 526f se of \DeclareRo │ │ │ -0000ac20: 6275 7374 436f 6d6d 616e 642e 0a0a 5c6e bustCommand...\n │ │ │ -0000ac30: 6577 636f 6d6d 616e 647b 5c41 6764 6146 ewcommand{\AgdaF │ │ │ -0000ac40: 6f72 6d61 747d 5b32 5d7b 2332 7d0a 0a5c ormat}[2]{#2}..\ │ │ │ -0000ac50: 6e65 7763 6f6d 6d61 6e64 7b5c 4167 6461 newcommand{\Agda │ │ │ -0000ac60: 426f 756e 647d 5b31 5d0a 2020 2020 7b5c Bound}[1]. {\ │ │ │ -0000ac70: 4167 6461 4e6f 5370 6163 654d 6174 687b AgdaNoSpaceMath{ │ │ │ -0000ac80: 5c74 6578 7463 6f6c 6f72 7b41 6764 6142 \textcolor{AgdaB │ │ │ -0000ac90: 6f75 6e64 7d7b 5c41 6764 6142 6f75 6e64 ound}{\AgdaBound │ │ │ -0000aca0: 466f 6e74 5374 796c 657b 5c41 6764 6146 FontStyle{\AgdaF │ │ │ -0000acb0: 6f72 6d61 747b 2331 7d7b 2331 7d7d 7d7d ormat{#1}{#1}}}} │ │ │ -0000acc0: 7d0a 5c6e 6577 636f 6d6d 616e 647b 5c41 }.\newcommand{\A │ │ │ -0000acd0: 6764 6147 656e 6572 616c 697a 6162 6c65 gdaGeneralizable │ │ │ -0000ace0: 7d5b 315d 0a20 2020 207b 5c41 6764 614e }[1]. {\AgdaN │ │ │ -0000acf0: 6f53 7061 6365 4d61 7468 7b5c 7465 7874 oSpaceMath{\text │ │ │ -0000ad00: 636f 6c6f 727b 4167 6461 4765 6e65 7261 color{AgdaGenera │ │ │ -0000ad10: 6c69 7a61 626c 657d 7b5c 4167 6461 426f lizable}{\AgdaBo │ │ │ -0000ad20: 756e 6446 6f6e 7453 7479 6c65 7b5c 4167 undFontStyle{\Ag │ │ │ -0000ad30: 6461 466f 726d 6174 7b23 317d 7b23 317d daFormat{#1}{#1} │ │ │ -0000ad40: 7d7d 7d7d 0a5c 6e65 7763 6f6d 6d61 6e64 }}}}.\newcommand │ │ │ -0000ad50: 7b5c 4167 6461 496e 6475 6374 6976 6543 {\AgdaInductiveC │ │ │ -0000ad60: 6f6e 7374 7275 6374 6f72 7d5b 315d 0a20 onstructor}[1]. │ │ │ -0000ad70: 2020 207b 5c41 6764 614e 6f53 7061 6365 {\AgdaNoSpace │ │ │ -0000ad80: 4d61 7468 7b5c 7465 7874 636f 6c6f 727b Math{\textcolor{ │ │ │ -0000ad90: 4167 6461 496e 6475 6374 6976 6543 6f6e AgdaInductiveCon │ │ │ -0000ada0: 7374 7275 6374 6f72 7d7b 5c41 6764 6146 structor}{\AgdaF │ │ │ -0000adb0: 6f6e 7453 7479 6c65 7b5c 4167 6461 466f ontStyle{\AgdaFo │ │ │ -0000adc0: 726d 6174 7b23 317d 7b5c 4167 6461 4c69 rmat{#1}{\AgdaLi │ │ │ -0000add0: 6e6b 7b23 317d 7d7d 7d7d 7d0a 5c6e 6577 nk{#1}}}}}}.\new │ │ │ -0000ade0: 636f 6d6d 616e 647b 5c41 6764 6143 6f69 command{\AgdaCoi │ │ │ -0000adf0: 6e64 7563 7469 7665 436f 6e73 7472 7563 nductiveConstruc │ │ │ -0000ae00: 746f 727d 5b31 5d0a 2020 2020 7b5c 4167 tor}[1]. {\Ag │ │ │ -0000ae10: 6461 4e6f 5370 6163 654d 6174 687b 5c74 daNoSpaceMath{\t │ │ │ -0000ae20: 6578 7463 6f6c 6f72 7b41 6764 6143 6f69 extcolor{AgdaCoi │ │ │ -0000ae30: 6e64 7563 7469 7665 436f 6e73 7472 7563 nductiveConstruc │ │ │ -0000ae40: 746f 727d 7b5c 4167 6461 466f 6e74 5374 tor}{\AgdaFontSt │ │ │ -0000ae50: 796c 657b 5c41 6764 6146 6f72 6d61 747b yle{\AgdaFormat{ │ │ │ -0000ae60: 2331 7d7b 5c41 6764 614c 696e 6b7b 2331 #1}{\AgdaLink{#1 │ │ │ -0000ae70: 7d7d 7d7d 7d7d 0a5c 6e65 7763 6f6d 6d61 }}}}}}.\newcomma │ │ │ -0000ae80: 6e64 7b5c 4167 6461 4461 7461 7479 7065 nd{\AgdaDatatype │ │ │ -0000ae90: 7d5b 315d 0a20 2020 207b 5c41 6764 614e }[1]. {\AgdaN │ │ │ -0000aea0: 6f53 7061 6365 4d61 7468 7b5c 7465 7874 oSpaceMath{\text │ │ │ -0000aeb0: 636f 6c6f 727b 4167 6461 4461 7461 7479 color{AgdaDataty │ │ │ -0000aec0: 7065 7d7b 5c41 6764 6146 6f6e 7453 7479 pe}{\AgdaFontSty │ │ │ -0000aed0: 6c65 7b5c 4167 6461 466f 726d 6174 7b23 le{\AgdaFormat{# │ │ │ -0000aee0: 317d 7b5c 4167 6461 4c69 6e6b 7b23 317d 1}{\AgdaLink{#1} │ │ │ -0000aef0: 7d7d 7d7d 7d0a 5c6e 6577 636f 6d6d 616e }}}}}.\newcomman │ │ │ -0000af00: 647b 5c41 6764 6146 6965 6c64 7d5b 315d d{\AgdaField}[1] │ │ │ -0000af10: 0a20 2020 207b 5c41 6764 614e 6f53 7061 . {\AgdaNoSpa │ │ │ -0000af20: 6365 4d61 7468 7b5c 7465 7874 636f 6c6f ceMath{\textcolo │ │ │ -0000af30: 727b 4167 6461 4669 656c 647d 7b5c 4167 r{AgdaField}{\Ag │ │ │ -0000af40: 6461 466f 6e74 5374 796c 657b 5c41 6764 daFontStyle{\Agd │ │ │ -0000af50: 6146 6f72 6d61 747b 2331 7d7b 5c41 6764 aFormat{#1}{\Agd │ │ │ -0000af60: 614c 696e 6b7b 2331 7d7d 7d7d 7d7d 0a5c aLink{#1}}}}}}.\ │ │ │ -0000af70: 6e65 7763 6f6d 6d61 6e64 7b5c 4167 6461 newcommand{\Agda │ │ │ -0000af80: 4675 6e63 7469 6f6e 7d5b 315d 0a20 2020 Function}[1]. │ │ │ -0000af90: 207b 5c41 6764 614e 6f53 7061 6365 4d61 {\AgdaNoSpaceMa │ │ │ -0000afa0: 7468 7b5c 7465 7874 636f 6c6f 727b 4167 th{\textcolor{Ag │ │ │ -0000afb0: 6461 4675 6e63 7469 6f6e 7d7b 5c41 6764 daFunction}{\Agd │ │ │ -0000afc0: 6146 6f6e 7453 7479 6c65 7b5c 4167 6461 aFontStyle{\Agda │ │ │ -0000afd0: 466f 726d 6174 7b23 317d 7b5c 4167 6461 Format{#1}{\Agda │ │ │ -0000afe0: 4c69 6e6b 7b23 317d 7d7d 7d7d 7d0a 5c6e Link{#1}}}}}}.\n │ │ │ -0000aff0: 6577 636f 6d6d 616e 647b 5c41 6764 614d ewcommand{\AgdaM │ │ │ -0000b000: 6163 726f 7d5b 315d 0a20 2020 207b 5c41 acro}[1]. {\A │ │ │ -0000b010: 6764 614e 6f53 7061 6365 4d61 7468 7b5c gdaNoSpaceMath{\ │ │ │ -0000b020: 7465 7874 636f 6c6f 727b 4167 6461 4d61 textcolor{AgdaMa │ │ │ -0000b030: 6372 6f7d 7b5c 4167 6461 466f 6e74 5374 cro}{\AgdaFontSt │ │ │ -0000b040: 796c 657b 5c41 6764 6146 6f72 6d61 747b yle{\AgdaFormat{ │ │ │ -0000b050: 2331 7d7b 5c41 6764 614c 696e 6b7b 2331 #1}{\AgdaLink{#1 │ │ │ -0000b060: 7d7d 7d7d 7d7d 0a5c 6e65 7763 6f6d 6d61 }}}}}}.\newcomma │ │ │ -0000b070: 6e64 7b5c 4167 6461 4d6f 6475 6c65 7d5b nd{\AgdaModule}[ │ │ │ -0000b080: 315d 0a20 2020 207b 5c41 6764 614e 6f53 1]. {\AgdaNoS │ │ │ -0000b090: 7061 6365 4d61 7468 7b5c 7465 7874 636f paceMath{\textco │ │ │ -0000b0a0: 6c6f 727b 4167 6461 4d6f 6475 6c65 7d7b lor{AgdaModule}{ │ │ │ -0000b0b0: 5c41 6764 6146 6f6e 7453 7479 6c65 7b5c \AgdaFontStyle{\ │ │ │ -0000b0c0: 4167 6461 466f 726d 6174 7b23 317d 7b5c AgdaFormat{#1}{\ │ │ │ -0000b0d0: 4167 6461 4c69 6e6b 7b23 317d 7d7d 7d7d AgdaLink{#1}}}}} │ │ │ -0000b0e0: 7d0a 5c6e 6577 636f 6d6d 616e 647b 5c41 }.\newcommand{\A │ │ │ -0000b0f0: 6764 6150 6f73 7475 6c61 7465 7d5b 315d gdaPostulate}[1] │ │ │ -0000b100: 0a20 2020 207b 5c41 6764 614e 6f53 7061 . {\AgdaNoSpa │ │ │ -0000b110: 6365 4d61 7468 7b5c 7465 7874 636f 6c6f ceMath{\textcolo │ │ │ -0000b120: 727b 4167 6461 506f 7374 756c 6174 657d r{AgdaPostulate} │ │ │ -0000b130: 7b5c 4167 6461 466f 6e74 5374 796c 657b {\AgdaFontStyle{ │ │ │ -0000b140: 5c41 6764 6146 6f72 6d61 747b 2331 7d7b \AgdaFormat{#1}{ │ │ │ -0000b150: 5c41 6764 614c 696e 6b7b 2331 7d7d 7d7d \AgdaLink{#1}}}} │ │ │ -0000b160: 7d7d 0a5c 6e65 7763 6f6d 6d61 6e64 7b5c }}.\newcommand{\ │ │ │ -0000b170: 4167 6461 5072 696d 6974 6976 657d 5b31 AgdaPrimitive}[1 │ │ │ -0000b180: 5d0a 2020 2020 7b5c 4167 6461 4e6f 5370 ]. {\AgdaNoSp │ │ │ -0000b190: 6163 654d 6174 687b 5c74 6578 7463 6f6c aceMath{\textcol │ │ │ -0000b1a0: 6f72 7b41 6764 6150 7269 6d69 7469 7665 or{AgdaPrimitive │ │ │ -0000b1b0: 7d7b 5c41 6764 6146 6f6e 7453 7479 6c65 }{\AgdaFontStyle │ │ │ -0000b1c0: 7b5c 4167 6461 466f 726d 6174 7b23 317d {\AgdaFormat{#1} │ │ │ -0000b1d0: 7b23 317d 7d7d 7d7d 0a5c 6e65 7763 6f6d {#1}}}}}.\newcom │ │ │ -0000b1e0: 6d61 6e64 7b5c 4167 6461 5265 636f 7264 mand{\AgdaRecord │ │ │ -0000b1f0: 7d5b 315d 0a20 2020 207b 5c41 6764 614e }[1]. {\AgdaN │ │ │ -0000b200: 6f53 7061 6365 4d61 7468 7b5c 7465 7874 oSpaceMath{\text │ │ │ -0000b210: 636f 6c6f 727b 4167 6461 5265 636f 7264 color{AgdaRecord │ │ │ -0000b220: 7d7b 5c41 6764 6146 6f6e 7453 7479 6c65 }{\AgdaFontStyle │ │ │ -0000b230: 7b5c 4167 6461 466f 726d 6174 7b23 317d {\AgdaFormat{#1} │ │ │ -0000b240: 7b5c 4167 6461 4c69 6e6b 7b23 317d 7d7d {\AgdaLink{#1}}} │ │ │ -0000b250: 7d7d 7d0a 5c6e 6577 636f 6d6d 616e 647b }}}.\newcommand{ │ │ │ -0000b260: 5c41 6764 6141 7267 756d 656e 747d 5b31 \AgdaArgument}[1 │ │ │ -0000b270: 5d0a 2020 2020 7b5c 4167 6461 4e6f 5370 ]. {\AgdaNoSp │ │ │ -0000b280: 6163 654d 6174 687b 5c74 6578 7463 6f6c aceMath{\textcol │ │ │ -0000b290: 6f72 7b41 6764 6141 7267 756d 656e 747d or{AgdaArgument} │ │ │ -0000b2a0: 7b5c 4167 6461 426f 756e 6446 6f6e 7453 {\AgdaBoundFontS │ │ │ -0000b2b0: 7479 6c65 7b5c 4167 6461 466f 726d 6174 tyle{\AgdaFormat │ │ │ -0000b2c0: 7b23 317d 7b23 317d 7d7d 7d7d 0a0a 2520 {#1}{#1}}}}}..% │ │ │ -0000b2d0: 4f74 6865 7220 6173 7065 6374 2063 6f6d Other aspect com │ │ │ -0000b2e0: 6d61 6e64 732e 0a5c 6e65 7763 6f6d 6d61 mands..\newcomma │ │ │ -0000b2f0: 6e64 7b5c 4167 6461 4669 7869 7479 4f70 nd{\AgdaFixityOp │ │ │ -0000b300: 7d20 2020 2020 2020 2020 205b 315d 7b5c } [1]{\ │ │ │ -0000b310: 4167 6461 4e6f 5370 6163 654d 6174 687b AgdaNoSpaceMath{ │ │ │ -0000b320: 2423 3124 7d7d 0a5c 6e65 7763 6f6d 6d61 $#1$}}.\newcomma │ │ │ -0000b330: 6e64 7b5c 4167 6461 446f 7474 6564 5061 nd{\AgdaDottedPa │ │ │ -0000b340: 7474 6572 6e7d 2020 2020 205b 315d 7b5c ttern} [1]{\ │ │ │ -0000b350: 7465 7874 636f 6c6f 727b 4167 6461 446f textcolor{AgdaDo │ │ │ -0000b360: 7474 6564 5061 7474 6572 6e7d 7b23 317d ttedPattern}{#1} │ │ │ -0000b370: 7d0a 5c6e 6577 636f 6d6d 616e 647b 5c41 }.\newcommand{\A │ │ │ -0000b380: 6764 6155 6e73 6f6c 7665 644d 6574 617d gdaUnsolvedMeta} │ │ │ -0000b390: 2020 2020 2020 5b31 5d0a 2020 2020 7b5c [1]. {\ │ │ │ -0000b3a0: 4167 6461 466f 6e74 5374 796c 657b 5c63 AgdaFontStyle{\c │ │ │ -0000b3b0: 6f6c 6f72 626f 787b 4167 6461 556e 736f olorbox{AgdaUnso │ │ │ -0000b3c0: 6c76 6564 4d65 7461 7d7b 2331 7d7d 7d0a lvedMeta}{#1}}}. │ │ │ -0000b3d0: 5c6e 6577 636f 6d6d 616e 647b 5c41 6764 \newcommand{\Agd │ │ │ -0000b3e0: 6155 6e73 6f6c 7665 6443 6f6e 7374 7261 aUnsolvedConstra │ │ │ -0000b3f0: 696e 747d 5b31 5d0a 2020 2020 7b5c 4167 int}[1]. {\Ag │ │ │ -0000b400: 6461 466f 6e74 5374 796c 657b 5c63 6f6c daFontStyle{\col │ │ │ -0000b410: 6f72 626f 787b 4167 6461 556e 736f 6c76 orbox{AgdaUnsolv │ │ │ -0000b420: 6564 436f 6e73 7472 6169 6e74 7d7b 2331 edConstraint}{#1 │ │ │ -0000b430: 7d7d 7d0a 5c6e 6577 636f 6d6d 616e 647b }}}.\newcommand{ │ │ │ -0000b440: 5c41 6764 6154 6572 6d69 6e61 7469 6f6e \AgdaTermination │ │ │ -0000b450: 5072 6f62 6c65 6d7d 5b31 5d0a 2020 2020 Problem}[1]. │ │ │ -0000b460: 7b5c 4167 6461 466f 6e74 5374 796c 657b {\AgdaFontStyle{ │ │ │ -0000b470: 5c63 6f6c 6f72 626f 787b 4167 6461 5465 \colorbox{AgdaTe │ │ │ -0000b480: 726d 696e 6174 696f 6e50 726f 626c 656d rminationProblem │ │ │ -0000b490: 7d7b 2331 7d7d 7d0a 5c6e 6577 636f 6d6d }{#1}}}.\newcomm │ │ │ -0000b4a0: 616e 647b 5c41 6764 6149 6e63 6f6d 706c and{\AgdaIncompl │ │ │ -0000b4b0: 6574 6550 6174 7465 726e 7d20 5b31 5d7b etePattern} [1]{ │ │ │ -0000b4c0: 5c63 6f6c 6f72 626f 787b 4167 6461 496e \colorbox{AgdaIn │ │ │ -0000b4d0: 636f 6d70 6c65 7465 5061 7474 6572 6e7d completePattern} │ │ │ -0000b4e0: 7b23 317d 7d0a 5c6e 6577 636f 6d6d 616e {#1}}.\newcomman │ │ │ -0000b4f0: 647b 5c41 6764 6145 7272 6f72 5761 726e d{\AgdaErrorWarn │ │ │ -0000b500: 696e 677d 2020 2020 2020 5b31 5d7b 5c63 ing} [1]{\c │ │ │ -0000b510: 6f6c 6f72 626f 787b 4167 6461 4572 726f olorbox{AgdaErro │ │ │ -0000b520: 7257 6172 6e69 6e67 7d7b 2331 7d7d 0a5c rWarning}{#1}}.\ │ │ │ -0000b530: 6e65 7763 6f6d 6d61 6e64 7b5c 4167 6461 newcommand{\Agda │ │ │ -0000b540: 4572 726f 727d 2020 2020 2020 2020 2020 Error} │ │ │ -0000b550: 2020 205b 315d 0a20 2020 207b 5c74 6578 [1]. {\tex │ │ │ -0000b560: 7463 6f6c 6f72 7b41 6764 6145 7272 6f72 tcolor{AgdaError │ │ │ -0000b570: 7d7b 5c41 6764 6146 6f6e 7453 7479 6c65 }{\AgdaFontStyle │ │ │ -0000b580: 7b5c 756e 6465 726c 696e 657b 2331 7d7d {\underline{#1}} │ │ │ -0000b590: 7d7d 0a5c 6e65 7763 6f6d 6d61 6e64 7b5c }}.\newcommand{\ │ │ │ -0000b5a0: 4167 6461 4361 7463 6861 6c6c 436c 6175 AgdaCatchallClau │ │ │ -0000b5b0: 7365 7d20 2020 205b 315d 7b23 317d 2025 se} [1]{#1} % │ │ │ -0000b5c0: 2066 6565 6c20 6672 6565 2074 6f20 6368 feel free to ch │ │ │ -0000b5d0: 616e 6765 2074 6869 730a 0a25 2055 7365 ange this..% Use │ │ │ -0000b5e0: 6420 746f 2068 6964 6520 636f 6465 2066 d to hide code f │ │ │ -0000b5f0: 726f 6d20 4c61 5465 582e 0a25 0a25 204e rom LaTeX..%.% N │ │ │ -0000b600: 6f74 6520 7468 6174 2074 6869 7320 6d61 ote that this ma │ │ │ -0000b610: 6372 6f20 6861 7320 6265 656e 2064 6570 cro has been dep │ │ │ -0000b620: 7265 6361 7465 6420 696e 2066 6176 6f75 recated in favou │ │ │ -0000b630: 7220 6f66 2067 6976 696e 6720 7468 650a r of giving the. │ │ │ -0000b640: 2520 6869 6465 2061 7267 756d 656e 7420 % hide argument │ │ │ -0000b650: 746f 2074 6865 2063 6f64 6520 656e 7669 to the code envi │ │ │ -0000b660: 726f 6e6d 656e 742e 0a5c 6c6f 6e67 5c64 ronment..\long\d │ │ │ -0000b670: 6566 5c41 6764 6148 6964 6523 317b 5c69 ef\AgdaHide#1{\i │ │ │ -0000b680: 676e 6f72 6573 7061 6365 737d 0a0a 2520 gnorespaces}..% │ │ │ -0000b690: 4d69 7363 2e0a 5c6e 6577 636f 6d6d 616e Misc..\newcomman │ │ │ -0000b6a0: 647b 5c41 6764 6148 6f6c 657d 5b31 5d7b d{\AgdaHole}[1]{ │ │ │ -0000b6b0: 5c63 6f6c 6f72 626f 787b 4167 6461 486f \colorbox{AgdaHo │ │ │ -0000b6c0: 6c65 7d7b 2331 7d7d 0a0a 2520 2d2d 2d2d le}{#1}}..% ---- │ │ │ +0000a4d0: 2d2d 2d2d 2d2d 0a25 2043 6f6d 6d61 6e64 ------.% Command │ │ │ +0000a4e0: 732e 0a0a 5c6e 6577 636f 6d6d 616e 647b s...\newcommand{ │ │ │ +0000a4f0: 5c41 6764 614e 6f53 7061 6365 4d61 7468 \AgdaNoSpaceMath │ │ │ +0000a500: 7d5b 315d 0a20 2020 207b 5c62 6567 696e }[1]. {\begin │ │ │ +0000a510: 6772 6f75 705c 7468 6963 6b6d 7573 6b69 group\thickmuski │ │ │ +0000a520: 703d 306d 755c 6d65 646d 7573 6b69 703d p=0mu\medmuskip= │ │ │ +0000a530: 306d 7523 315c 656e 6467 726f 7570 7d0a 0mu#1\endgroup}. │ │ │ +0000a540: 0a25 2041 7370 6563 7420 636f 6d6d 616e .% Aspect comman │ │ │ +0000a550: 6473 2e0a 5c6e 6577 636f 6d6d 616e 647b ds..\newcommand{ │ │ │ +0000a560: 5c41 6764 6143 6f6d 6d65 6e74 7d20 2020 \AgdaComment} │ │ │ +0000a570: 2020 5b31 5d0a 2020 2020 7b5c 4167 6461 [1]. {\Agda │ │ │ +0000a580: 4e6f 5370 6163 654d 6174 687b 5c74 6578 NoSpaceMath{\tex │ │ │ +0000a590: 7463 6f6c 6f72 7b41 6764 6143 6f6d 6d65 tcolor{AgdaComme │ │ │ +0000a5a0: 6e74 7d7b 5c41 6764 6143 6f6d 6d65 6e74 nt}{\AgdaComment │ │ │ +0000a5b0: 466f 6e74 5374 796c 657b 2331 7d7d 7d7d FontStyle{#1}}}} │ │ │ +0000a5c0: 0a5c 6e65 7763 6f6d 6d61 6e64 7b5c 4167 .\newcommand{\Ag │ │ │ +0000a5d0: 6461 5072 6167 6d61 7d20 2020 2020 205b daPragma} [ │ │ │ +0000a5e0: 315d 0a20 2020 207b 5c41 6764 614e 6f53 1]. {\AgdaNoS │ │ │ +0000a5f0: 7061 6365 4d61 7468 7b5c 7465 7874 636f paceMath{\textco │ │ │ +0000a600: 6c6f 727b 4167 6461 5072 6167 6d61 7d7b lor{AgdaPragma}{ │ │ │ +0000a610: 5c41 6764 6143 6f6d 6d65 6e74 466f 6e74 \AgdaCommentFont │ │ │ +0000a620: 5374 796c 657b 2331 7d7d 7d7d 0a5c 6e65 Style{#1}}}}.\ne │ │ │ +0000a630: 7763 6f6d 6d61 6e64 7b5c 4167 6461 4b65 wcommand{\AgdaKe │ │ │ +0000a640: 7977 6f72 647d 2020 2020 205b 315d 0a20 yword} [1]. │ │ │ +0000a650: 2020 207b 5c41 6764 614e 6f53 7061 6365 {\AgdaNoSpace │ │ │ +0000a660: 4d61 7468 7b5c 7465 7874 636f 6c6f 727b Math{\textcolor{ │ │ │ +0000a670: 4167 6461 4b65 7977 6f72 647d 7b5c 4167 AgdaKeyword}{\Ag │ │ │ +0000a680: 6461 4b65 7977 6f72 6446 6f6e 7453 7479 daKeywordFontSty │ │ │ +0000a690: 6c65 7b23 317d 7d7d 7d0a 5c6e 6577 636f le{#1}}}}.\newco │ │ │ +0000a6a0: 6d6d 616e 647b 5c41 6764 6153 7472 696e mmand{\AgdaStrin │ │ │ +0000a6b0: 677d 2020 2020 2020 5b31 5d0a 2020 2020 g} [1]. │ │ │ +0000a6c0: 7b5c 4167 6461 4e6f 5370 6163 654d 6174 {\AgdaNoSpaceMat │ │ │ +0000a6d0: 687b 5c74 6578 7463 6f6c 6f72 7b41 6764 h{\textcolor{Agd │ │ │ +0000a6e0: 6153 7472 696e 677d 7b5c 4167 6461 5374 aString}{\AgdaSt │ │ │ +0000a6f0: 7269 6e67 466f 6e74 5374 796c 657b 2331 ringFontStyle{#1 │ │ │ +0000a700: 7d7d 7d7d 0a5c 6e65 7763 6f6d 6d61 6e64 }}}}.\newcommand │ │ │ +0000a710: 7b5c 4167 6461 4e75 6d62 6572 7d20 2020 {\AgdaNumber} │ │ │ +0000a720: 2020 205b 315d 0a20 2020 207b 5c41 6764 [1]. {\Agd │ │ │ +0000a730: 614e 6f53 7061 6365 4d61 7468 7b5c 7465 aNoSpaceMath{\te │ │ │ +0000a740: 7874 636f 6c6f 727b 4167 6461 4e75 6d62 xtcolor{AgdaNumb │ │ │ +0000a750: 6572 7d7b 5c41 6764 6146 6f6e 7453 7479 er}{\AgdaFontSty │ │ │ +0000a760: 6c65 7b23 317d 7d7d 7d0a 5c6e 6577 636f le{#1}}}}.\newco │ │ │ +0000a770: 6d6d 616e 647b 5c41 6764 6153 796d 626f mmand{\AgdaSymbo │ │ │ +0000a780: 6c7d 2020 2020 2020 5b31 5d0a 2020 2020 l} [1]. │ │ │ +0000a790: 7b5c 4167 6461 4e6f 5370 6163 654d 6174 {\AgdaNoSpaceMat │ │ │ +0000a7a0: 687b 5c74 6578 7463 6f6c 6f72 7b41 6764 h{\textcolor{Agd │ │ │ +0000a7b0: 6153 796d 626f 6c7d 7b5c 4167 6461 466f aSymbol}{\AgdaFo │ │ │ +0000a7c0: 6e74 5374 796c 657b 2331 7d7d 7d7d 0a5c ntStyle{#1}}}}.\ │ │ │ +0000a7d0: 6e65 7763 6f6d 6d61 6e64 7b5c 4167 6461 newcommand{\Agda │ │ │ +0000a7e0: 5072 696d 6974 6976 6554 7970 657d 5b31 PrimitiveType}[1 │ │ │ +0000a7f0: 5d0a 2020 2020 7b5c 4167 6461 4e6f 5370 ]. {\AgdaNoSp │ │ │ +0000a800: 6163 654d 6174 687b 5c74 6578 7463 6f6c aceMath{\textcol │ │ │ +0000a810: 6f72 7b41 6764 6150 7269 6d69 7469 7665 or{AgdaPrimitive │ │ │ +0000a820: 5479 7065 7d7b 5c41 6764 6146 6f6e 7453 Type}{\AgdaFontS │ │ │ +0000a830: 7479 6c65 7b23 317d 7d7d 7d0a 2525 2041 tyle{#1}}}}.%% A │ │ │ +0000a840: 6e64 7265 6173 2c20 3230 3231 2d30 372d ndreas, 2021-07- │ │ │ +0000a850: 3134 2c20 6973 7375 6520 2335 3437 310a 14, issue #5471. │ │ │ +0000a860: 2525 2054 6f20 6d61 6b65 2069 7461 6c69 %% To make itali │ │ │ +0000a870: 6373 2063 6f72 7265 6374 696f 6e20 5c2f cs correction \/ │ │ │ +0000a880: 2077 6f72 6b2c 2074 6865 2066 6f6e 742d work, the font- │ │ │ +0000a890: 7374 796c 6520 6d6f 6469 6669 6572 0a25 style modifier.% │ │ │ +0000a8a0: 2520 6e65 6564 7320 746f 2062 6520 696e % needs to be in │ │ │ +0000a8b0: 7369 6465 2c20 696e 2070 6172 7469 6375 side, in particu │ │ │ +0000a8c0: 6c61 7220 696e 7369 6465 2074 6865 205c lar inside the \ │ │ │ +0000a8d0: 7465 7874 636f 6c6f 7220 6d6f 6469 6669 textcolor modifi │ │ │ +0000a8e0: 6572 2c0a 2525 2061 7320 7468 6520 5c74 er,.%% as the \t │ │ │ +0000a8f0: 6578 7463 6f6c 6f72 7b7d 2077 7261 7070 extcolor{} wrapp │ │ │ +0000a900: 696e 6720 6172 6f75 6e64 2073 6f6d 6574 ing around somet │ │ │ +0000a910: 6869 6e67 2068 6964 6573 2069 7473 2063 hing hides its c │ │ │ +0000a920: 6f6e 7465 6e74 0a25 2520 746f 2074 6865 ontent.%% to the │ │ │ +0000a930: 206c 6f67 6963 2074 6861 7420 7265 736f logic that reso │ │ │ +0000a940: 6c76 6573 205c 2f20 696e 746f 2061 2073 lves \/ into a s │ │ │ +0000a950: 7061 6365 206f 7220 6e6f 742e 0a0a 2520 pace or not...% │ │ │ +0000a960: 4e6f 7465 2074 6861 742c 2069 6e20 636f Note that, in co │ │ │ +0000a970: 6465 2067 656e 6572 6174 6564 2062 7920 de generated by │ │ │ +0000a980: 7468 6520 4c61 5465 5820 6261 636b 656e the LaTeX backen │ │ │ +0000a990: 642c 205c 4167 6461 4f70 6572 6174 6f72 d, \AgdaOperator │ │ │ +0000a9a0: 2069 730a 2520 616c 7761 7973 2061 7070 is.% always app │ │ │ +0000a9b0: 6c69 6564 2074 6f20 6120 4e61 6d65 4b69 lied to a NameKi │ │ │ +0000a9c0: 6e64 2063 6f6d 6d61 6e64 2e0a 5c6e 6577 nd command..\new │ │ │ +0000a9d0: 636f 6d6d 616e 647b 5c41 6764 614f 7065 command{\AgdaOpe │ │ │ +0000a9e0: 7261 746f 727d 2020 2020 5b31 5d7b 2331 rator} [1]{#1 │ │ │ +0000a9f0: 7d0a 0a25 204e 616d 654b 696e 6420 636f }..% NameKind co │ │ │ +0000aa00: 6d6d 616e 6473 2e0a 0a25 2054 6865 2075 mmands...% The u │ │ │ +0000aa10: 7365 7220 6361 6e20 636f 6e74 726f 6c20 ser can control │ │ │ +0000aa20: 7468 6520 7479 7065 7365 7474 696e 6720 the typesetting │ │ │ +0000aa30: 6f66 2028 6365 7274 6169 6e29 2069 6e64 of (certain) ind │ │ │ +0000aa40: 6976 6964 7561 6c20 746f 6b65 6e73 0a25 ividual tokens.% │ │ │ +0000aa50: 2062 7920 7265 6465 6669 6e69 6e67 2074 by redefining t │ │ │ +0000aa60: 6865 2066 6f6c 6c6f 7769 6e67 2063 6f6d he following com │ │ │ +0000aa70: 6d61 6e64 2e20 5468 6520 6669 7273 7420 mand. The first │ │ │ +0000aa80: 6172 6775 6d65 6e74 2069 7320 7468 6520 argument is the │ │ │ +0000aa90: 746f 6b65 6e0a 2520 616e 6420 7468 6520 token.% and the │ │ │ +0000aaa0: 7365 636f 6e64 2061 7267 756d 656e 7420 second argument │ │ │ +0000aab0: 7468 6520 7468 696e 6720 746f 2062 6520 the thing to be │ │ │ +0000aac0: 7479 7065 7365 7420 2873 6f6d 6574 696d typeset (sometim │ │ │ +0000aad0: 6573 206a 7573 7420 7468 650a 2520 746f es just the.% to │ │ │ +0000aae0: 6b65 6e2c 2073 6f6d 6574 696d 6573 205c ken, sometimes \ │ │ │ +0000aaf0: 4167 6461 4c69 6e6b 7b3c 7468 6520 746f AgdaLink{}). Example: │ │ │ +0000ab10: 0a25 0a25 2020 205c 7573 6570 6163 6b61 .%.% \usepacka │ │ │ +0000ab20: 6765 7b69 6674 6865 6e7d 0a25 0a25 2020 ge{ifthen}.%.% │ │ │ +0000ab30: 2025 2049 6e73 6572 7420 6578 7472 6120 % Insert extra │ │ │ +0000ab40: 7370 6163 6520 6265 666f 7265 2073 6f6d space before som │ │ │ +0000ab50: 6520 746f 6b65 6e73 2e0a 2520 2020 5c44 e tokens..% \D │ │ │ +0000ab60: 6563 6c61 7265 526f 6275 7374 436f 6d6d eclareRobustComm │ │ │ +0000ab70: 616e 647b 5c41 6764 6146 6f72 6d61 747d and{\AgdaFormat} │ │ │ +0000ab80: 5b32 5d7b 250a 2520 2020 2020 5c69 6674 [2]{%.% \ift │ │ │ +0000ab90: 6865 6e65 6c73 657b 0a25 2020 2020 2020 henelse{.% │ │ │ +0000aba0: 205c 6571 7561 6c7b 2331 7d7b e289 a1e2 \equal{#1}{.... │ │ │ +0000abb0: 9fa8 7d20 5c4f 520a 2520 2020 2020 2020 ..} \OR.% │ │ │ +0000abc0: 5c65 7175 616c 7b23 317d 7be2 89a1 e29f \equal{#1}{..... │ │ │ +0000abd0: a8e2 9fa9 7d20 5c4f 520a 2520 2020 2020 ....} \OR.% │ │ │ +0000abe0: 2020 5c65 7175 616c 7b23 317d 7be2 888e \equal{#1}{... │ │ │ +0000abf0: 7d0a 2520 2020 2020 7d7b 5c20 7d7b 7d23 }.% }{\ }{}# │ │ │ +0000ac00: 327d 0a25 0a25 204e 6f74 6520 7468 6520 2}.%.% Note the │ │ │ +0000ac10: 7573 6520 6f66 205c 4465 636c 6172 6552 use of \DeclareR │ │ │ +0000ac20: 6f62 7573 7443 6f6d 6d61 6e64 2e0a 0a5c obustCommand...\ │ │ │ +0000ac30: 6e65 7763 6f6d 6d61 6e64 7b5c 4167 6461 newcommand{\Agda │ │ │ +0000ac40: 466f 726d 6174 7d5b 325d 7b23 327d 0a0a Format}[2]{#2}.. │ │ │ +0000ac50: 5c6e 6577 636f 6d6d 616e 647b 5c41 6764 \newcommand{\Agd │ │ │ +0000ac60: 6142 6f75 6e64 7d5b 315d 0a20 2020 207b aBound}[1]. { │ │ │ +0000ac70: 5c41 6764 614e 6f53 7061 6365 4d61 7468 \AgdaNoSpaceMath │ │ │ +0000ac80: 7b5c 7465 7874 636f 6c6f 727b 4167 6461 {\textcolor{Agda │ │ │ +0000ac90: 426f 756e 647d 7b5c 4167 6461 426f 756e Bound}{\AgdaBoun │ │ │ +0000aca0: 6446 6f6e 7453 7479 6c65 7b5c 4167 6461 dFontStyle{\Agda │ │ │ +0000acb0: 466f 726d 6174 7b23 317d 7b23 317d 7d7d Format{#1}{#1}}} │ │ │ +0000acc0: 7d7d 0a5c 6e65 7763 6f6d 6d61 6e64 7b5c }}.\newcommand{\ │ │ │ +0000acd0: 4167 6461 4765 6e65 7261 6c69 7a61 626c AgdaGeneralizabl │ │ │ +0000ace0: 657d 5b31 5d0a 2020 2020 7b5c 4167 6461 e}[1]. {\Agda │ │ │ +0000acf0: 4e6f 5370 6163 654d 6174 687b 5c74 6578 NoSpaceMath{\tex │ │ │ +0000ad00: 7463 6f6c 6f72 7b41 6764 6147 656e 6572 tcolor{AgdaGener │ │ │ +0000ad10: 616c 697a 6162 6c65 7d7b 5c41 6764 6142 alizable}{\AgdaB │ │ │ +0000ad20: 6f75 6e64 466f 6e74 5374 796c 657b 5c41 oundFontStyle{\A │ │ │ +0000ad30: 6764 6146 6f72 6d61 747b 2331 7d7b 2331 gdaFormat{#1}{#1 │ │ │ +0000ad40: 7d7d 7d7d 7d0a 5c6e 6577 636f 6d6d 616e }}}}}.\newcomman │ │ │ +0000ad50: 647b 5c41 6764 6149 6e64 7563 7469 7665 d{\AgdaInductive │ │ │ +0000ad60: 436f 6e73 7472 7563 746f 727d 5b31 5d0a Constructor}[1]. │ │ │ +0000ad70: 2020 2020 7b5c 4167 6461 4e6f 5370 6163 {\AgdaNoSpac │ │ │ +0000ad80: 654d 6174 687b 5c74 6578 7463 6f6c 6f72 eMath{\textcolor │ │ │ +0000ad90: 7b41 6764 6149 6e64 7563 7469 7665 436f {AgdaInductiveCo │ │ │ +0000ada0: 6e73 7472 7563 746f 727d 7b5c 4167 6461 nstructor}{\Agda │ │ │ +0000adb0: 466f 6e74 5374 796c 657b 5c41 6764 6146 FontStyle{\AgdaF │ │ │ +0000adc0: 6f72 6d61 747b 2331 7d7b 5c41 6764 614c ormat{#1}{\AgdaL │ │ │ +0000add0: 696e 6b7b 2331 7d7d 7d7d 7d7d 0a5c 6e65 ink{#1}}}}}}.\ne │ │ │ +0000ade0: 7763 6f6d 6d61 6e64 7b5c 4167 6461 436f wcommand{\AgdaCo │ │ │ +0000adf0: 696e 6475 6374 6976 6543 6f6e 7374 7275 inductiveConstru │ │ │ +0000ae00: 6374 6f72 7d5b 315d 0a20 2020 207b 5c41 ctor}[1]. {\A │ │ │ +0000ae10: 6764 614e 6f53 7061 6365 4d61 7468 7b5c gdaNoSpaceMath{\ │ │ │ +0000ae20: 7465 7874 636f 6c6f 727b 4167 6461 436f textcolor{AgdaCo │ │ │ +0000ae30: 696e 6475 6374 6976 6543 6f6e 7374 7275 inductiveConstru │ │ │ +0000ae40: 6374 6f72 7d7b 5c41 6764 6146 6f6e 7453 ctor}{\AgdaFontS │ │ │ +0000ae50: 7479 6c65 7b5c 4167 6461 466f 726d 6174 tyle{\AgdaFormat │ │ │ +0000ae60: 7b23 317d 7b5c 4167 6461 4c69 6e6b 7b23 {#1}{\AgdaLink{# │ │ │ +0000ae70: 317d 7d7d 7d7d 7d0a 5c6e 6577 636f 6d6d 1}}}}}}.\newcomm │ │ │ +0000ae80: 616e 647b 5c41 6764 6144 6174 6174 7970 and{\AgdaDatatyp │ │ │ +0000ae90: 657d 5b31 5d0a 2020 2020 7b5c 4167 6461 e}[1]. {\Agda │ │ │ +0000aea0: 4e6f 5370 6163 654d 6174 687b 5c74 6578 NoSpaceMath{\tex │ │ │ +0000aeb0: 7463 6f6c 6f72 7b41 6764 6144 6174 6174 tcolor{AgdaDatat │ │ │ +0000aec0: 7970 657d 7b5c 4167 6461 466f 6e74 5374 ype}{\AgdaFontSt │ │ │ +0000aed0: 796c 657b 5c41 6764 6146 6f72 6d61 747b yle{\AgdaFormat{ │ │ │ +0000aee0: 2331 7d7b 5c41 6764 614c 696e 6b7b 2331 #1}{\AgdaLink{#1 │ │ │ +0000aef0: 7d7d 7d7d 7d7d 0a5c 6e65 7763 6f6d 6d61 }}}}}}.\newcomma │ │ │ +0000af00: 6e64 7b5c 4167 6461 4669 656c 647d 5b31 nd{\AgdaField}[1 │ │ │ +0000af10: 5d0a 2020 2020 7b5c 4167 6461 4e6f 5370 ]. {\AgdaNoSp │ │ │ +0000af20: 6163 654d 6174 687b 5c74 6578 7463 6f6c aceMath{\textcol │ │ │ +0000af30: 6f72 7b41 6764 6146 6965 6c64 7d7b 5c41 or{AgdaField}{\A │ │ │ +0000af40: 6764 6146 6f6e 7453 7479 6c65 7b5c 4167 gdaFontStyle{\Ag │ │ │ +0000af50: 6461 466f 726d 6174 7b23 317d 7b5c 4167 daFormat{#1}{\Ag │ │ │ +0000af60: 6461 4c69 6e6b 7b23 317d 7d7d 7d7d 7d0a daLink{#1}}}}}}. │ │ │ +0000af70: 5c6e 6577 636f 6d6d 616e 647b 5c41 6764 \newcommand{\Agd │ │ │ +0000af80: 6146 756e 6374 696f 6e7d 5b31 5d0a 2020 aFunction}[1]. │ │ │ +0000af90: 2020 7b5c 4167 6461 4e6f 5370 6163 654d {\AgdaNoSpaceM │ │ │ +0000afa0: 6174 687b 5c74 6578 7463 6f6c 6f72 7b41 ath{\textcolor{A │ │ │ +0000afb0: 6764 6146 756e 6374 696f 6e7d 7b5c 4167 gdaFunction}{\Ag │ │ │ +0000afc0: 6461 466f 6e74 5374 796c 657b 5c41 6764 daFontStyle{\Agd │ │ │ +0000afd0: 6146 6f72 6d61 747b 2331 7d7b 5c41 6764 aFormat{#1}{\Agd │ │ │ +0000afe0: 614c 696e 6b7b 2331 7d7d 7d7d 7d7d 0a5c aLink{#1}}}}}}.\ │ │ │ +0000aff0: 6e65 7763 6f6d 6d61 6e64 7b5c 4167 6461 newcommand{\Agda │ │ │ +0000b000: 4d61 6372 6f7d 5b31 5d0a 2020 2020 7b5c Macro}[1]. {\ │ │ │ +0000b010: 4167 6461 4e6f 5370 6163 654d 6174 687b AgdaNoSpaceMath{ │ │ │ +0000b020: 5c74 6578 7463 6f6c 6f72 7b41 6764 614d \textcolor{AgdaM │ │ │ +0000b030: 6163 726f 7d7b 5c41 6764 6146 6f6e 7453 acro}{\AgdaFontS │ │ │ +0000b040: 7479 6c65 7b5c 4167 6461 466f 726d 6174 tyle{\AgdaFormat │ │ │ +0000b050: 7b23 317d 7b5c 4167 6461 4c69 6e6b 7b23 {#1}{\AgdaLink{# │ │ │ +0000b060: 317d 7d7d 7d7d 7d0a 5c6e 6577 636f 6d6d 1}}}}}}.\newcomm │ │ │ +0000b070: 616e 647b 5c41 6764 614d 6f64 756c 657d and{\AgdaModule} │ │ │ +0000b080: 5b31 5d0a 2020 2020 7b5c 4167 6461 4e6f [1]. {\AgdaNo │ │ │ +0000b090: 5370 6163 654d 6174 687b 5c74 6578 7463 SpaceMath{\textc │ │ │ +0000b0a0: 6f6c 6f72 7b41 6764 614d 6f64 756c 657d olor{AgdaModule} │ │ │ +0000b0b0: 7b5c 4167 6461 466f 6e74 5374 796c 657b {\AgdaFontStyle{ │ │ │ +0000b0c0: 5c41 6764 6146 6f72 6d61 747b 2331 7d7b \AgdaFormat{#1}{ │ │ │ +0000b0d0: 5c41 6764 614c 696e 6b7b 2331 7d7d 7d7d \AgdaLink{#1}}}} │ │ │ +0000b0e0: 7d7d 0a5c 6e65 7763 6f6d 6d61 6e64 7b5c }}.\newcommand{\ │ │ │ +0000b0f0: 4167 6461 506f 7374 756c 6174 657d 5b31 AgdaPostulate}[1 │ │ │ +0000b100: 5d0a 2020 2020 7b5c 4167 6461 4e6f 5370 ]. {\AgdaNoSp │ │ │ +0000b110: 6163 654d 6174 687b 5c74 6578 7463 6f6c aceMath{\textcol │ │ │ +0000b120: 6f72 7b41 6764 6150 6f73 7475 6c61 7465 or{AgdaPostulate │ │ │ +0000b130: 7d7b 5c41 6764 6146 6f6e 7453 7479 6c65 }{\AgdaFontStyle │ │ │ +0000b140: 7b5c 4167 6461 466f 726d 6174 7b23 317d {\AgdaFormat{#1} │ │ │ +0000b150: 7b5c 4167 6461 4c69 6e6b 7b23 317d 7d7d {\AgdaLink{#1}}} │ │ │ +0000b160: 7d7d 7d0a 5c6e 6577 636f 6d6d 616e 647b }}}.\newcommand{ │ │ │ +0000b170: 5c41 6764 6150 7269 6d69 7469 7665 7d5b \AgdaPrimitive}[ │ │ │ +0000b180: 315d 0a20 2020 207b 5c41 6764 614e 6f53 1]. {\AgdaNoS │ │ │ +0000b190: 7061 6365 4d61 7468 7b5c 7465 7874 636f paceMath{\textco │ │ │ +0000b1a0: 6c6f 727b 4167 6461 5072 696d 6974 6976 lor{AgdaPrimitiv │ │ │ +0000b1b0: 657d 7b5c 4167 6461 466f 6e74 5374 796c e}{\AgdaFontStyl │ │ │ +0000b1c0: 657b 5c41 6764 6146 6f72 6d61 747b 2331 e{\AgdaFormat{#1 │ │ │ +0000b1d0: 7d7b 2331 7d7d 7d7d 7d0a 5c6e 6577 636f }{#1}}}}}.\newco │ │ │ +0000b1e0: 6d6d 616e 647b 5c41 6764 6152 6563 6f72 mmand{\AgdaRecor │ │ │ +0000b1f0: 647d 5b31 5d0a 2020 2020 7b5c 4167 6461 d}[1]. {\Agda │ │ │ +0000b200: 4e6f 5370 6163 654d 6174 687b 5c74 6578 NoSpaceMath{\tex │ │ │ +0000b210: 7463 6f6c 6f72 7b41 6764 6152 6563 6f72 tcolor{AgdaRecor │ │ │ +0000b220: 647d 7b5c 4167 6461 466f 6e74 5374 796c d}{\AgdaFontStyl │ │ │ +0000b230: 657b 5c41 6764 6146 6f72 6d61 747b 2331 e{\AgdaFormat{#1 │ │ │ +0000b240: 7d7b 5c41 6764 614c 696e 6b7b 2331 7d7d }{\AgdaLink{#1}} │ │ │ +0000b250: 7d7d 7d7d 0a5c 6e65 7763 6f6d 6d61 6e64 }}}}.\newcommand │ │ │ +0000b260: 7b5c 4167 6461 4172 6775 6d65 6e74 7d5b {\AgdaArgument}[ │ │ │ +0000b270: 315d 0a20 2020 207b 5c41 6764 614e 6f53 1]. {\AgdaNoS │ │ │ +0000b280: 7061 6365 4d61 7468 7b5c 7465 7874 636f paceMath{\textco │ │ │ +0000b290: 6c6f 727b 4167 6461 4172 6775 6d65 6e74 lor{AgdaArgument │ │ │ +0000b2a0: 7d7b 5c41 6764 6142 6f75 6e64 466f 6e74 }{\AgdaBoundFont │ │ │ +0000b2b0: 5374 796c 657b 5c41 6764 6146 6f72 6d61 Style{\AgdaForma │ │ │ +0000b2c0: 747b 2331 7d7b 2331 7d7d 7d7d 7d0a 0a25 t{#1}{#1}}}}}..% │ │ │ +0000b2d0: 204f 7468 6572 2061 7370 6563 7420 636f Other aspect co │ │ │ +0000b2e0: 6d6d 616e 6473 2e0a 5c6e 6577 636f 6d6d mmands..\newcomm │ │ │ +0000b2f0: 616e 647b 5c41 6764 6146 6978 6974 794f and{\AgdaFixityO │ │ │ +0000b300: 707d 2020 2020 2020 2020 2020 5b31 5d7b p} [1]{ │ │ │ +0000b310: 5c41 6764 614e 6f53 7061 6365 4d61 7468 \AgdaNoSpaceMath │ │ │ +0000b320: 7b24 2331 247d 7d0a 5c6e 6577 636f 6d6d {$#1$}}.\newcomm │ │ │ +0000b330: 616e 647b 5c41 6764 6144 6f74 7465 6450 and{\AgdaDottedP │ │ │ +0000b340: 6174 7465 726e 7d20 2020 2020 5b31 5d7b attern} [1]{ │ │ │ +0000b350: 5c74 6578 7463 6f6c 6f72 7b41 6764 6144 \textcolor{AgdaD │ │ │ +0000b360: 6f74 7465 6450 6174 7465 726e 7d7b 2331 ottedPattern}{#1 │ │ │ +0000b370: 7d7d 0a5c 6e65 7763 6f6d 6d61 6e64 7b5c }}.\newcommand{\ │ │ │ +0000b380: 4167 6461 556e 736f 6c76 6564 4d65 7461 AgdaUnsolvedMeta │ │ │ +0000b390: 7d20 2020 2020 205b 315d 0a20 2020 207b } [1]. { │ │ │ +0000b3a0: 5c41 6764 6146 6f6e 7453 7479 6c65 7b5c \AgdaFontStyle{\ │ │ │ +0000b3b0: 636f 6c6f 7262 6f78 7b41 6764 6155 6e73 colorbox{AgdaUns │ │ │ +0000b3c0: 6f6c 7665 644d 6574 617d 7b23 317d 7d7d olvedMeta}{#1}}} │ │ │ +0000b3d0: 0a5c 6e65 7763 6f6d 6d61 6e64 7b5c 4167 .\newcommand{\Ag │ │ │ +0000b3e0: 6461 556e 736f 6c76 6564 436f 6e73 7472 daUnsolvedConstr │ │ │ +0000b3f0: 6169 6e74 7d5b 315d 0a20 2020 207b 5c41 aint}[1]. {\A │ │ │ +0000b400: 6764 6146 6f6e 7453 7479 6c65 7b5c 636f gdaFontStyle{\co │ │ │ +0000b410: 6c6f 7262 6f78 7b41 6764 6155 6e73 6f6c lorbox{AgdaUnsol │ │ │ +0000b420: 7665 6443 6f6e 7374 7261 696e 747d 7b23 vedConstraint}{# │ │ │ +0000b430: 317d 7d7d 0a5c 6e65 7763 6f6d 6d61 6e64 1}}}.\newcommand │ │ │ +0000b440: 7b5c 4167 6461 5465 726d 696e 6174 696f {\AgdaTerminatio │ │ │ +0000b450: 6e50 726f 626c 656d 7d5b 315d 0a20 2020 nProblem}[1]. │ │ │ +0000b460: 207b 5c41 6764 6146 6f6e 7453 7479 6c65 {\AgdaFontStyle │ │ │ +0000b470: 7b5c 636f 6c6f 7262 6f78 7b41 6764 6154 {\colorbox{AgdaT │ │ │ +0000b480: 6572 6d69 6e61 7469 6f6e 5072 6f62 6c65 erminationProble │ │ │ +0000b490: 6d7d 7b23 317d 7d7d 0a5c 6e65 7763 6f6d m}{#1}}}.\newcom │ │ │ +0000b4a0: 6d61 6e64 7b5c 4167 6461 496e 636f 6d70 mand{\AgdaIncomp │ │ │ +0000b4b0: 6c65 7465 5061 7474 6572 6e7d 205b 315d letePattern} [1] │ │ │ +0000b4c0: 7b5c 636f 6c6f 7262 6f78 7b41 6764 6149 {\colorbox{AgdaI │ │ │ +0000b4d0: 6e63 6f6d 706c 6574 6550 6174 7465 726e ncompletePattern │ │ │ +0000b4e0: 7d7b 2331 7d7d 0a5c 6e65 7763 6f6d 6d61 }{#1}}.\newcomma │ │ │ +0000b4f0: 6e64 7b5c 4167 6461 4572 726f 7257 6172 nd{\AgdaErrorWar │ │ │ +0000b500: 6e69 6e67 7d20 2020 2020 205b 315d 7b5c ning} [1]{\ │ │ │ +0000b510: 636f 6c6f 7262 6f78 7b41 6764 6145 7272 colorbox{AgdaErr │ │ │ +0000b520: 6f72 5761 726e 696e 677d 7b23 317d 7d0a orWarning}{#1}}. │ │ │ +0000b530: 5c6e 6577 636f 6d6d 616e 647b 5c41 6764 \newcommand{\Agd │ │ │ +0000b540: 6145 7272 6f72 7d20 2020 2020 2020 2020 aError} │ │ │ +0000b550: 2020 2020 5b31 5d0a 2020 2020 7b5c 7465 [1]. {\te │ │ │ +0000b560: 7874 636f 6c6f 727b 4167 6461 4572 726f xtcolor{AgdaErro │ │ │ +0000b570: 727d 7b5c 4167 6461 466f 6e74 5374 796c r}{\AgdaFontStyl │ │ │ +0000b580: 657b 5c75 6e64 6572 6c69 6e65 7b23 317d e{\underline{#1} │ │ │ +0000b590: 7d7d 7d0a 5c6e 6577 636f 6d6d 616e 647b }}}.\newcommand{ │ │ │ +0000b5a0: 5c41 6764 6143 6174 6368 616c 6c43 6c61 \AgdaCatchallCla │ │ │ +0000b5b0: 7573 657d 2020 2020 5b31 5d7b 2331 7d20 use} [1]{#1} │ │ │ +0000b5c0: 2520 6665 656c 2066 7265 6520 746f 2063 % feel free to c │ │ │ +0000b5d0: 6861 6e67 6520 7468 6973 0a0a 2520 5573 hange this..% Us │ │ │ +0000b5e0: 6564 2074 6f20 6869 6465 2063 6f64 6520 ed to hide code │ │ │ +0000b5f0: 6672 6f6d 204c 6154 6558 2e0a 250a 2520 from LaTeX..%.% │ │ │ +0000b600: 4e6f 7465 2074 6861 7420 7468 6973 206d Note that this m │ │ │ +0000b610: 6163 726f 2068 6173 2062 6565 6e20 6465 acro has been de │ │ │ +0000b620: 7072 6563 6174 6564 2069 6e20 6661 766f precated in favo │ │ │ +0000b630: 7572 206f 6620 6769 7669 6e67 2074 6865 ur of giving the │ │ │ +0000b640: 0a25 2068 6964 6520 6172 6775 6d65 6e74 .% hide argument │ │ │ +0000b650: 2074 6f20 7468 6520 636f 6465 2065 6e76 to the code env │ │ │ +0000b660: 6972 6f6e 6d65 6e74 2e0a 5c6c 6f6e 675c ironment..\long\ │ │ │ +0000b670: 6465 665c 4167 6461 4869 6465 2331 7b5c def\AgdaHide#1{\ │ │ │ +0000b680: 6967 6e6f 7265 7370 6163 6573 7d0a 0a25 ignorespaces}..% │ │ │ +0000b690: 204d 6973 632e 0a5c 6e65 7763 6f6d 6d61 Misc..\newcomma │ │ │ +0000b6a0: 6e64 7b5c 4167 6461 486f 6c65 7d5b 315d nd{\AgdaHole}[1] │ │ │ +0000b6b0: 7b5c 636f 6c6f 7262 6f78 7b41 6764 6148 {\colorbox{AgdaH │ │ │ +0000b6c0: 6f6c 657d 7b23 317d 7d0a 0a25 202d 2d2d ole}{#1}}..% --- │ │ │ 0000b6d0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 0000b6e0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 0000b6f0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 0000b700: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ -0000b710: 2d2d 0a25 2054 6865 2063 6f64 6520 656e --.% The code en │ │ │ -0000b720: 7669 726f 6e6d 656e 742e 0a0a 5c6e 6577 vironment...\new │ │ │ -0000b730: 636f 6d6d 616e 647b 5c41 6764 6143 6f64 command{\AgdaCod │ │ │ -0000b740: 6553 7479 6c65 7d7b 7d0a 2520 5c6e 6577 eStyle}{}.% \new │ │ │ -0000b750: 636f 6d6d 616e 647b 5c41 6764 6143 6f64 command{\AgdaCod │ │ │ -0000b760: 6553 7479 6c65 7d7b 5c74 696e 797d 0a0a eStyle}{\tiny}.. │ │ │ -0000b770: 5c69 6664 6566 696e 6564 5c6d 6174 6869 \ifdefined\mathi │ │ │ -0000b780: 6e64 656e 740a 2020 7b7d 0a5c 656c 7365 ndent. {}.\else │ │ │ -0000b790: 0a20 205c 6e65 7764 696d 656e 5c6d 6174 . \newdimen\mat │ │ │ -0000b7a0: 6869 6e64 656e 745c 6d61 7468 696e 6465 hindent\mathinde │ │ │ -0000b7b0: 6e74 5c6c 6566 746d 6172 6769 6e69 0a5c nt\leftmargini.\ │ │ │ -0000b7c0: 6669 0a0a 2520 4164 6473 2074 6865 2067 fi..% Adds the g │ │ │ -0000b7d0: 6976 656e 2061 6d6f 756e 7420 6f66 2076 iven amount of v │ │ │ -0000b7e0: 6572 7469 6361 6c20 7370 6163 6520 616e ertical space an │ │ │ -0000b7f0: 6420 7374 6172 7473 2061 206e 6577 206c d starts a new l │ │ │ -0000b800: 696e 652e 0a25 0a25 2054 6865 2069 6d70 ine..%.% The imp │ │ │ -0000b810: 6c65 6d65 6e74 6174 696f 6e20 636f 6d65 lementation come │ │ │ -0000b820: 7320 6672 6f6d 206c 6873 3254 6558 2773 s from lhs2TeX's │ │ │ -0000b830: 2070 6f6c 7963 6f64 652e 666d 742c 2077 polycode.fmt, w │ │ │ -0000b840: 7269 7474 656e 2062 790a 2520 416e 6472 ritten by.% Andr │ │ │ -0000b850: 6573 204c c3b6 682e 0a5c 6e65 7763 6f6d es L..h..\newcom │ │ │ -0000b860: 6d61 6e64 7b5c 4167 6461 404e 6577 6c69 mand{\Agda@Newli │ │ │ -0000b870: 6e65 5769 7468 5665 7274 6963 616c 5370 neWithVerticalSp │ │ │ -0000b880: 6163 657d 5b31 5d7b 250a 2020 7b5c 7061 ace}[1]{%. {\pa │ │ │ -0000b890: 7273 6b69 703d 3070 745c 7061 7269 6e64 rskip=0pt\parind │ │ │ -0000b8a0: 656e 743d 3070 745c 7061 725c 7673 6b69 ent=0pt\par\vski │ │ │ -0000b8b0: 7020 2331 5c6e 6f69 6e64 656e 747d 7d0a p #1\noindent}}. │ │ │ -0000b8c0: 0a25 2053 686f 756c 6420 7468 6572 6520 .% Should there │ │ │ -0000b8d0: 6265 2073 7061 6365 2061 726f 756e 6420 be space around │ │ │ -0000b8e0: 636f 6465 3f0a 5c6e 6577 626f 6f6c 6561 code?.\newboolea │ │ │ -0000b8f0: 6e7b 4167 6461 4053 7061 6365 4172 6f75 n{Agda@SpaceArou │ │ │ -0000b900: 6e64 436f 6465 7d0a 0a25 2055 7365 2074 ndCode}..% Use t │ │ │ -0000b910: 6869 7320 636f 6d6d 616e 6420 746f 2061 his command to a │ │ │ -0000b920: 766f 6964 2065 7874 7261 2073 7061 6365 void extra space │ │ │ -0000b930: 2061 726f 756e 6420 636f 6465 2062 6c6f around code blo │ │ │ -0000b940: 636b 732e 0a5c 6e65 7763 6f6d 6d61 6e64 cks..\newcommand │ │ │ -0000b950: 7b5c 4167 6461 4e6f 5370 6163 6541 726f {\AgdaNoSpaceAro │ │ │ -0000b960: 756e 6443 6f64 657d 7b25 0a20 205c 7365 undCode}{%. \se │ │ │ -0000b970: 7462 6f6f 6c65 616e 7b41 6764 6140 5370 tboolean{Agda@Sp │ │ │ -0000b980: 6163 6541 726f 756e 6443 6f64 657d 7b66 aceAroundCode}{f │ │ │ -0000b990: 616c 7365 7d7d 0a0a 2520 5573 6520 7468 alse}}..% Use th │ │ │ -0000b9a0: 6973 2063 6f6d 6d61 6e64 2074 6f20 696e is command to in │ │ │ -0000b9b0: 636c 7564 6520 6578 7472 6120 7370 6163 clude extra spac │ │ │ -0000b9c0: 6520 6172 6f75 6e64 2063 6f64 6520 626c e around code bl │ │ │ -0000b9d0: 6f63 6b73 2e0a 5c6e 6577 636f 6d6d 616e ocks..\newcomman │ │ │ -0000b9e0: 647b 5c41 6764 6153 7061 6365 4172 6f75 d{\AgdaSpaceArou │ │ │ -0000b9f0: 6e64 436f 6465 7d7b 250a 2020 5c73 6574 ndCode}{%. \set │ │ │ -0000ba00: 626f 6f6c 6561 6e7b 4167 6461 4053 7061 boolean{Agda@Spa │ │ │ -0000ba10: 6365 4172 6f75 6e64 436f 6465 7d7b 7472 ceAroundCode}{tr │ │ │ -0000ba20: 7565 7d7d 0a0a 2520 4279 2064 6566 6175 ue}}..% By defau │ │ │ -0000ba30: 6c74 2073 7061 6365 2069 7320 696e 7365 lt space is inse │ │ │ -0000ba40: 7274 6564 2061 726f 756e 6420 636f 6465 rted around code │ │ │ -0000ba50: 2062 6c6f 636b 732e 0a5c 4167 6461 5370 blocks..\AgdaSp │ │ │ -0000ba60: 6163 6541 726f 756e 6443 6f64 657b 7d0a aceAroundCode{}. │ │ │ -0000ba70: 0a25 2053 6f6d 6574 696d 6573 206f 6e65 .% Sometimes one │ │ │ -0000ba80: 206d 6967 6874 2077 616e 7420 746f 2062 might want to b │ │ │ -0000ba90: 7265 616b 2075 7020 6120 636f 6465 2062 reak up a code b │ │ │ -0000baa0: 6c6f 636b 2069 6e74 6f20 6d75 6c74 6970 lock into multip │ │ │ -0000bab0: 6c65 0a25 2070 6965 6365 732c 2062 7574 le.% pieces, but │ │ │ -0000bac0: 206b 6565 7020 636f 6465 2069 6e20 6469 keep code in di │ │ │ -0000bad0: 6666 6572 656e 7420 626c 6f63 6b73 2061 fferent blocks a │ │ │ -0000bae0: 6c69 676e 6564 2077 6974 6820 7265 7370 ligned with resp │ │ │ -0000baf0: 6563 7420 746f 0a25 2065 6163 6820 6f74 ect to.% each ot │ │ │ -0000bb00: 6865 722e 2054 6865 6e20 6f6e 6520 6361 her. Then one ca │ │ │ -0000bb10: 6e20 7573 6520 7468 6520 4167 6461 416c n use the AgdaAl │ │ │ -0000bb20: 6967 6e20 656e 7669 726f 6e6d 656e 742e ign environment. │ │ │ -0000bb30: 2045 7861 6d70 6c65 0a25 2075 7361 6765 Example.% usage │ │ │ -0000bb40: 3a0a 250a 2520 2020 5c62 6567 696e 7b41 :.%.% \begin{A │ │ │ -0000bb50: 6764 6141 6c69 676e 7d0a 2520 2020 5c62 gdaAlign}.% \b │ │ │ -0000bb60: 6567 696e 7b63 6f64 657d 0a25 2020 2020 egin{code}.% │ │ │ -0000bb70: 2063 6f64 650a 2520 2020 2020 2020 636f code.% co │ │ │ -0000bb80: 6465 2020 286d 6f72 6520 636f 6465 290a de (more code). │ │ │ -0000bb90: 2520 2020 5c65 6e64 7b63 6f64 657d 0a25 % \end{code}.% │ │ │ -0000bba0: 2020 2045 7870 6c61 6e61 7469 6f6e 2e2e Explanation.. │ │ │ -0000bbb0: 2e0a 2520 2020 5c62 6567 696e 7b63 6f64 ..% \begin{cod │ │ │ -0000bbc0: 657d 0a25 2020 2020 2061 6c69 676e 6564 e}.% aligned │ │ │ -0000bbd0: 2077 6974 6820 2263 6f64 6522 0a25 2020 with "code".% │ │ │ -0000bbe0: 2020 2020 2063 6f64 6520 2028 616c 6967 code (alig │ │ │ -0000bbf0: 6e65 6420 7769 7468 2028 6d6f 7265 2063 ned with (more c │ │ │ -0000bc00: 6f64 6529 290a 2520 2020 5c65 6e64 7b63 ode)).% \end{c │ │ │ -0000bc10: 6f64 657d 0a25 2020 205c 656e 647b 4167 ode}.% \end{Ag │ │ │ -0000bc20: 6461 416c 6967 6e7d 0a25 0a25 204e 6f74 daAlign}.%.% Not │ │ │ -0000bc30: 6520 7468 6174 2041 6764 6141 6c69 676e e that AgdaAlign │ │ │ -0000bc40: 2065 6e76 6972 6f6e 6d65 6e74 7320 7368 environments sh │ │ │ -0000bc50: 6f75 6c64 206e 6f74 2062 6520 6e65 7374 ould not be nest │ │ │ -0000bc60: 6564 2e0a 250a 2520 536f 6d65 7469 6d65 ed..%.% Sometime │ │ │ -0000bc70: 7320 6f6e 6520 6d69 6768 7420 616c 736f s one might also │ │ │ -0000bc80: 2077 616e 7420 746f 2068 6964 6520 636f want to hide co │ │ │ -0000bc90: 6465 2069 6e20 7468 6520 6d69 6464 6c65 de in the middle │ │ │ -0000bca0: 206f 6620 6120 636f 6465 0a25 2062 6c6f of a code.% blo │ │ │ -0000bcb0: 636b 2e20 5468 6973 2063 616e 2062 6520 ck. This can be │ │ │ -0000bcc0: 6163 636f 6d70 6c69 7368 6564 2069 6e20 accomplished in │ │ │ -0000bcd0: 7468 6520 666f 6c6c 6f77 696e 6720 7761 the following wa │ │ │ -0000bce0: 793a 0a25 0a25 2020 205c 6265 6769 6e7b y:.%.% \begin{ │ │ │ -0000bcf0: 4167 6461 416c 6967 6e7d 0a25 2020 205c AgdaAlign}.% \ │ │ │ -0000bd00: 6265 6769 6e7b 636f 6465 7d0a 2520 2020 begin{code}.% │ │ │ -0000bd10: 2020 7669 7369 626c 650a 2520 2020 5c65 visible.% \e │ │ │ -0000bd20: 6e64 7b63 6f64 657d 0a25 2020 205c 6265 nd{code}.% \be │ │ │ -0000bd30: 6769 6e7b 636f 6465 7d5b 6869 6465 5d0a gin{code}[hide]. │ │ │ -0000bd40: 2520 2020 2020 6869 6464 656e 0a25 2020 % hidden.% │ │ │ -0000bd50: 205c 656e 647b 636f 6465 7d0a 2520 2020 \end{code}.% │ │ │ -0000bd60: 5c62 6567 696e 7b63 6f64 657d 0a25 2020 \begin{code}.% │ │ │ -0000bd70: 2020 2076 6973 6962 6c65 0a25 2020 205c visible.% \ │ │ │ -0000bd80: 656e 647b 636f 6465 7d0a 2520 2020 5c65 end{code}.% \e │ │ │ -0000bd90: 6e64 7b41 6764 6141 6c69 676e 7d0a 250a nd{AgdaAlign}.%. │ │ │ -0000bda0: 2520 486f 7765 7665 722c 2074 6865 2072 % However, the r │ │ │ -0000bdb0: 6573 756c 7420 6d61 7920 6265 2075 676c esult may be ugl │ │ │ -0000bdc0: 793a 2065 7874 7261 2073 7061 6365 2069 y: extra space i │ │ │ -0000bdd0: 7320 7065 7268 6170 7320 696e 7365 7274 s perhaps insert │ │ │ -0000bde0: 6564 0a25 2061 726f 756e 6420 7468 6520 ed.% around the │ │ │ -0000bdf0: 636f 6465 2062 6c6f 636b 732e 0a25 0a25 code blocks..%.% │ │ │ -0000be00: 2054 6865 2041 6764 6153 7570 7072 6573 The AgdaSuppres │ │ │ -0000be10: 7353 7061 6365 2065 6e76 6972 6f6e 6d65 sSpace environme │ │ │ -0000be20: 6e74 2065 6e73 7572 6573 2074 6861 7420 nt ensures that │ │ │ -0000be30: 6578 7472 6120 7370 6163 6520 6973 206f extra space is o │ │ │ -0000be40: 6e6c 790a 2520 696e 7365 7274 6564 2062 nly.% inserted b │ │ │ -0000be50: 6566 6f72 6520 7468 6520 6669 7273 7420 efore the first │ │ │ -0000be60: 636f 6465 2062 6c6f 636b 2c20 616e 6420 code block, and │ │ │ -0000be70: 6166 7465 7220 7468 6520 6c61 7374 206f after the last o │ │ │ -0000be80: 6e65 2028 6275 740a 2520 6e6f 7420 6966 ne (but.% not if │ │ │ -0000be90: 205c 4167 6461 4e6f 5370 6163 6541 726f \AgdaNoSpaceAro │ │ │ -0000bea0: 756e 6443 6f64 657b 7d20 6973 2075 7365 undCode{} is use │ │ │ -0000beb0: 6429 2e20 4578 616d 706c 6520 7573 6167 d). Example usag │ │ │ -0000bec0: 653a 0a25 0a25 2020 205c 6265 6769 6e7b e:.%.% \begin{ │ │ │ -0000bed0: 4167 6461 416c 6967 6e7d 0a25 2020 205c AgdaAlign}.% \ │ │ │ -0000bee0: 6265 6769 6e7b 636f 6465 7d0a 2520 2020 begin{code}.% │ │ │ -0000bef0: 2020 636f 6465 0a25 2020 2020 2020 206d code.% m │ │ │ -0000bf00: 6f72 6520 636f 6465 0a25 2020 205c 656e ore code.% \en │ │ │ -0000bf10: 647b 636f 6465 7d0a 2520 2020 4578 706c d{code}.% Expl │ │ │ -0000bf20: 616e 6174 696f 6e2e 2e2e 0a25 2020 205c anation....% \ │ │ │ -0000bf30: 6265 6769 6e7b 4167 6461 5375 7070 7265 begin{AgdaSuppre │ │ │ -0000bf40: 7373 5370 6163 657d 0a25 2020 205c 6265 ssSpace}.% \be │ │ │ -0000bf50: 6769 6e7b 636f 6465 7d0a 2520 2020 2020 gin{code}.% │ │ │ -0000bf60: 616c 6967 6e65 6420 7769 7468 2022 636f aligned with "co │ │ │ -0000bf70: 6465 220a 2520 2020 2020 2020 616c 6967 de".% alig │ │ │ -0000bf80: 6e65 6420 7769 7468 2022 6d6f 7265 2063 ned with "more c │ │ │ -0000bf90: 6f64 6522 0a25 2020 205c 656e 647b 636f ode".% \end{co │ │ │ -0000bfa0: 6465 7d0a 2520 2020 5c62 6567 696e 7b63 de}.% \begin{c │ │ │ -0000bfb0: 6f64 657d 5b68 6964 655d 0a25 2020 2020 ode}[hide].% │ │ │ -0000bfc0: 2068 6964 6465 6e20 636f 6465 0a25 2020 hidden code.% │ │ │ -0000bfd0: 205c 656e 647b 636f 6465 7d0a 2520 2020 \end{code}.% │ │ │ -0000bfe0: 5c62 6567 696e 7b63 6f64 657d 0a25 2020 \begin{code}.% │ │ │ -0000bff0: 2020 2020 2061 6c73 6f20 616c 6967 6e65 also aligne │ │ │ -0000c000: 6420 7769 7468 2022 6d6f 7265 2063 6f64 d with "more cod │ │ │ -0000c010: 6522 0a25 2020 205c 656e 647b 636f 6465 e".% \end{code │ │ │ -0000c020: 7d0a 2520 2020 5c65 6e64 7b41 6764 6153 }.% \end{AgdaS │ │ │ -0000c030: 7570 7072 6573 7353 7061 6365 7d0a 2520 uppressSpace}.% │ │ │ -0000c040: 2020 5c65 6e64 7b41 6764 6141 6c69 676e \end{AgdaAlign │ │ │ -0000c050: 7d0a 250a 2520 4e6f 7465 2074 6861 7420 }.%.% Note that │ │ │ -0000c060: 4167 6461 5375 7070 7265 7373 5370 6163 AgdaSuppressSpac │ │ │ -0000c070: 6520 656e 7669 726f 6e6d 656e 7473 2073 e environments s │ │ │ -0000c080: 686f 756c 6420 6e6f 7420 6265 206e 6573 hould not be nes │ │ │ -0000c090: 7465 642e 0a25 0a25 2054 6865 7265 2069 ted..%.% There i │ │ │ -0000c0a0: 7320 616c 736f 2061 2063 6f6d 6269 6e65 s also a combine │ │ │ -0000c0b0: 6420 656e 7669 726f 6e6d 656e 742c 2041 d environment, A │ │ │ -0000c0c0: 6764 614d 756c 7469 436f 6465 2c20 7468 gdaMultiCode, th │ │ │ -0000c0d0: 6174 2063 6f6d 6269 6e65 730a 2520 7468 at combines.% th │ │ │ -0000c0e0: 6520 6566 6665 6374 7320 6f66 2041 6764 e effects of Agd │ │ │ -0000c0f0: 6141 6c69 676e 2061 6e64 2041 6764 6153 aAlign and AgdaS │ │ │ -0000c100: 7570 7072 6573 7353 7061 6365 2e0a 0a25 uppressSpace...% │ │ │ -0000c110: 2054 6865 206e 756d 6265 7220 6f66 2074 The number of t │ │ │ -0000c120: 6865 2063 7572 7265 6e74 2f6e 6578 7420 he current/next │ │ │ -0000c130: 636f 6465 2062 6c6f 636b 2028 6578 636c code block (excl │ │ │ -0000c140: 7564 696e 6720 6869 6464 656e 206f 6e65 uding hidden one │ │ │ -0000c150: 7329 2e0a 5c6e 6577 636f 756e 7465 727b s)..\newcounter{ │ │ │ -0000c160: 4167 6461 4043 7572 7265 6e74 7d0a 5c73 Agda@Current}.\s │ │ │ -0000c170: 6574 636f 756e 7465 727b 4167 6461 4043 etcounter{Agda@C │ │ │ -0000c180: 7572 7265 6e74 7d7b 307d 0a0a 2520 5468 urrent}{0}..% Th │ │ │ -0000c190: 6520 6e75 6d62 6572 206f 6620 7468 6520 e number of the │ │ │ -0000c1a0: 7072 6576 696f 7573 2063 6f64 6520 626c previous code bl │ │ │ -0000c1b0: 6f63 6b20 2865 7863 6c75 6469 6e67 2068 ock (excluding h │ │ │ -0000c1c0: 6964 6465 6e20 6f6e 6573 292c 2075 7365 idden ones), use │ │ │ -0000c1d0: 640a 2520 6c6f 6361 6c6c 7920 696e 205c d.% locally in \ │ │ │ -0000c1e0: 4167 6461 4053 7570 7072 6573 7345 6e64 Agda@SuppressEnd │ │ │ -0000c1f0: 2e0a 5c6e 6577 636f 756e 7465 727b 4167 ..\newcounter{Ag │ │ │ -0000c200: 6461 4050 7265 7669 6f75 737d 0a0a 2520 da@Previous}..% │ │ │ -0000c210: 4973 2041 6764 6141 6c69 676e 2061 6374 Is AgdaAlign act │ │ │ -0000c220: 6976 653f 0a5c 6e65 7762 6f6f 6c65 616e ive?.\newboolean │ │ │ -0000c230: 7b41 6764 6140 416c 6967 6e7d 0a5c 7365 {Agda@Align}.\se │ │ │ -0000c240: 7462 6f6f 6c65 616e 7b41 6764 6140 416c tboolean{Agda@Al │ │ │ -0000c250: 6967 6e7d 7b66 616c 7365 7d0a 0a25 2054 ign}{false}..% T │ │ │ -0000c260: 6865 206e 756d 6265 7220 6f66 2074 6865 he number of the │ │ │ -0000c270: 2066 6972 7374 2063 6f64 6520 626c 6f63 first code bloc │ │ │ -0000c280: 6b20 2869 6620 616e 7929 2069 6e20 6120 k (if any) in a │ │ │ -0000c290: 6769 7665 6e20 4167 6461 416c 6967 6e0a given AgdaAlign. │ │ │ -0000c2a0: 2520 656e 7669 726f 6e6d 656e 742e 0a5c % environment..\ │ │ │ -0000c2b0: 6e65 7763 6f75 6e74 6572 7b41 6764 6140 newcounter{Agda@ │ │ │ -0000c2c0: 416c 6967 6e53 7461 7274 7d0a 0a5c 6e65 AlignStart}..\ne │ │ │ -0000c2d0: 7763 6f6d 6d61 6e64 7b5c 4167 6461 4041 wcommand{\Agda@A │ │ │ -0000c2e0: 6c69 676e 5374 6172 747d 7b25 0a20 205c lignStart}{%. \ │ │ │ -0000c2f0: 6966 7468 656e 656c 7365 7b5c 626f 6f6c ifthenelse{\bool │ │ │ -0000c300: 6561 6e7b 4167 6461 4041 6c69 676e 7d7d ean{Agda@Align}} │ │ │ -0000c310: 7b25 0a20 2020 205c 5061 636b 6167 6545 {%. \PackageE │ │ │ -0000c320: 7272 6f72 7b61 6764 617d 7b4e 6573 7465 rror{agda}{Neste │ │ │ -0000c330: 6420 4167 6461 416c 6967 6e20 656e 7669 d AgdaAlign envi │ │ │ -0000c340: 726f 6e6d 656e 7473 7d7b 250a 2020 2020 ronments}{%. │ │ │ -0000c350: 2020 4167 6461 416c 6967 6e20 616e 6420 AgdaAlign and │ │ │ -0000c360: 4167 6461 4d75 6c74 6943 6f64 6520 656e AgdaMultiCode en │ │ │ -0000c370: 7669 726f 6e6d 656e 7473 206d 7573 7420 vironments must │ │ │ -0000c380: 6e6f 7420 6265 0a20 2020 2020 206e 6573 not be. nes │ │ │ -0000c390: 7465 642e 7d7d 7b25 0a20 2020 205c 7365 ted.}}{%. \se │ │ │ -0000c3a0: 7462 6f6f 6c65 616e 7b41 6764 6140 416c tboolean{Agda@Al │ │ │ -0000c3b0: 6967 6e7d 7b74 7275 657d 250a 2020 2020 ign}{true}%. │ │ │ -0000c3c0: 5c73 6574 636f 756e 7465 727b 4167 6461 \setcounter{Agda │ │ │ -0000c3d0: 4041 6c69 676e 5374 6172 747d 7b5c 7661 @AlignStart}{\va │ │ │ -0000c3e0: 6c75 657b 4167 6461 4043 7572 7265 6e74 lue{Agda@Current │ │ │ -0000c3f0: 7d7d 7d7d 0a0a 5c6e 6577 636f 6d6d 616e }}}}..\newcomman │ │ │ -0000c400: 647b 5c41 6764 6140 416c 6967 6e45 6e64 d{\Agda@AlignEnd │ │ │ -0000c410: 7d7b 5c73 6574 626f 6f6c 6561 6e7b 4167 }{\setboolean{Ag │ │ │ -0000c420: 6461 4041 6c69 676e 7d7b 6661 6c73 657d da@Align}{false} │ │ │ -0000c430: 7d0a 0a5c 6e65 7765 6e76 6972 6f6e 6d65 }..\newenvironme │ │ │ -0000c440: 6e74 7b41 6764 6141 6c69 676e 7d7b 250a nt{AgdaAlign}{%. │ │ │ -0000c450: 2020 5c41 6764 6140 416c 6967 6e53 7461 \Agda@AlignSta │ │ │ -0000c460: 7274 7b7d 7d7b 250a 2020 5c41 6764 6140 rt{}}{%. \Agda@ │ │ │ -0000c470: 416c 6967 6e45 6e64 7b7d 250a 2020 5c69 AlignEnd{}%. \i │ │ │ -0000c480: 676e 6f72 6573 7061 6365 7361 6674 6572 gnorespacesafter │ │ │ -0000c490: 656e 647d 0a0a 2520 4973 2041 6764 6153 end}..% Is AgdaS │ │ │ -0000c4a0: 7570 7072 6573 7353 7061 6365 2061 6374 uppressSpace act │ │ │ -0000c4b0: 6976 653f 0a5c 6e65 7762 6f6f 6c65 616e ive?.\newboolean │ │ │ -0000c4c0: 7b41 6764 6140 5375 7070 7265 7373 7d0a {Agda@Suppress}. │ │ │ -0000c4d0: 5c73 6574 626f 6f6c 6561 6e7b 4167 6461 \setboolean{Agda │ │ │ -0000c4e0: 4053 7570 7072 6573 737d 7b66 616c 7365 @Suppress}{false │ │ │ -0000c4f0: 7d0a 0a25 2054 6865 206e 756d 6265 7220 }..% The number │ │ │ -0000c500: 6f66 2074 6865 2066 6972 7374 2063 6f64 of the first cod │ │ │ -0000c510: 6520 626c 6f63 6b20 2869 6620 616e 7929 e block (if any) │ │ │ -0000c520: 2069 6e20 6120 6769 7665 6e0a 2520 4167 in a given.% Ag │ │ │ -0000c530: 6461 5375 7070 7265 7373 5370 6163 6520 daSuppressSpace │ │ │ -0000c540: 656e 7669 726f 6e6d 656e 742e 0a5c 6e65 environment..\ne │ │ │ -0000c550: 7763 6f75 6e74 6572 7b41 6764 6140 5375 wcounter{Agda@Su │ │ │ -0000c560: 7070 7265 7373 5374 6172 747d 0a0a 2520 ppressStart}..% │ │ │ -0000c570: 446f 6573 2061 2022 646f 206e 6f74 2073 Does a "do not s │ │ │ -0000c580: 7570 7072 6573 7320 7370 6163 6520 6166 uppress space af │ │ │ -0000c590: 7465 7222 206c 6162 656c 2065 7869 7374 ter" label exist │ │ │ -0000c5a0: 2066 6f72 2074 6865 2063 7572 7265 6e74 for the current │ │ │ -0000c5b0: 0a25 2063 6f64 6520 626c 6f63 6b3f 2028 .% code block? ( │ │ │ -0000c5c0: 5468 6973 2062 6f6f 6c65 616e 2069 7320 This boolean is │ │ │ -0000c5d0: 7573 6564 206c 6f63 616c 6c79 2069 6e20 used locally in │ │ │ -0000c5e0: 7468 6520 636f 6465 2065 6e76 6972 6f6e the code environ │ │ │ -0000c5f0: 6d65 6e74 2773 0a25 2069 6d70 6c65 6d65 ment's.% impleme │ │ │ -0000c600: 6e74 6174 696f 6e2e 290a 5c6e 6577 626f ntation.).\newbo │ │ │ -0000c610: 6f6c 6561 6e7b 4167 6461 4044 6f4e 6f74 olean{Agda@DoNot │ │ │ -0000c620: 5375 7070 7265 7373 5370 6163 6541 6674 SuppressSpaceAft │ │ │ -0000c630: 6572 7d0a 0a5c 6e65 7763 6f6d 6d61 6e64 er}..\newcommand │ │ │ -0000c640: 7b5c 4167 6461 4053 7570 7072 6573 7353 {\Agda@SuppressS │ │ │ -0000c650: 7461 7274 7d7b 250a 2020 5c69 6674 6865 tart}{%. \ifthe │ │ │ -0000c660: 6e65 6c73 657b 5c62 6f6f 6c65 616e 7b41 nelse{\boolean{A │ │ │ -0000c670: 6764 6140 5375 7070 7265 7373 7d7d 7b25 gda@Suppress}}{% │ │ │ -0000c680: 0a20 2020 205c 5061 636b 6167 6545 7272 . \PackageErr │ │ │ -0000c690: 6f72 7b61 6764 617d 7b4e 6573 7465 6420 or{agda}{Nested │ │ │ -0000c6a0: 4167 6461 5375 7070 7265 7373 5370 6163 AgdaSuppressSpac │ │ │ -0000c6b0: 6520 656e 7669 726f 6e6d 656e 7473 7d7b e environments}{ │ │ │ -0000c6c0: 250a 2020 2020 2020 4167 6461 5375 7070 %. AgdaSupp │ │ │ -0000c6d0: 7265 7373 5370 6163 6520 616e 6420 4167 ressSpace and Ag │ │ │ -0000c6e0: 6461 4d75 6c74 6943 6f64 6520 656e 7669 daMultiCode envi │ │ │ -0000c6f0: 726f 6e6d 656e 7473 206d 7573 7420 6e6f ronments must no │ │ │ -0000c700: 7420 6265 0a20 2020 2020 206e 6573 7465 t be. neste │ │ │ -0000c710: 642e 7d7d 7b25 0a20 2020 205c 7365 7462 d.}}{%. \setb │ │ │ -0000c720: 6f6f 6c65 616e 7b41 6764 6140 5375 7070 oolean{Agda@Supp │ │ │ -0000c730: 7265 7373 7d7b 7472 7565 7d25 0a20 2020 ress}{true}%. │ │ │ -0000c740: 205c 7365 7463 6f75 6e74 6572 7b41 6764 \setcounter{Agd │ │ │ -0000c750: 6140 5375 7070 7265 7373 5374 6172 747d a@SuppressStart} │ │ │ -0000c760: 7b5c 7661 6c75 657b 4167 6461 4043 7572 {\value{Agda@Cur │ │ │ -0000c770: 7265 6e74 7d7d 7d7d 0a0a 2520 4d61 726b rent}}}}..% Mark │ │ │ -0000c780: 7320 7468 6520 6769 7665 6e20 636f 6465 s the given code │ │ │ -0000c790: 2062 6c6f 636b 2061 7320 6f6e 6520 7468 block as one th │ │ │ -0000c7a0: 6174 2073 7061 6365 2073 686f 756c 6420 at space should │ │ │ -0000c7b0: 6e6f 7420 6265 0a25 2073 7570 7072 6573 not be.% suppres │ │ │ -0000c7c0: 7365 6420 6166 7465 7220 2869 6620 4167 sed after (if Ag │ │ │ -0000c7d0: 6461 5370 6163 6541 726f 756e 6443 6f64 daSpaceAroundCod │ │ │ -0000c7e0: 6520 616e 6420 4167 6461 5375 7070 7265 e and AgdaSuppre │ │ │ -0000c7f0: 7373 5370 6163 6520 6172 650a 2520 626f ssSpace are.% bo │ │ │ -0000c800: 7468 2061 6374 6976 6529 2e0a 5c6e 6577 th active)..\new │ │ │ -0000c810: 636f 6d6d 616e 647b 5c41 6764 6140 446f command{\Agda@Do │ │ │ -0000c820: 4e6f 7453 7570 7072 6573 7353 7061 6365 NotSuppressSpace │ │ │ -0000c830: 4166 7465 727d 5b31 5d7b 250a 2020 2520 After}[1]{%. % │ │ │ -0000c840: 5468 6520 7573 6520 6f66 206c 6162 656c The use of label │ │ │ -0000c850: 7320 6973 2069 6e74 656e 6465 6420 746f s is intended to │ │ │ -0000c860: 2065 6e73 7572 6520 7468 6174 204c 6154 ensure that LaT │ │ │ -0000c870: 6558 2077 696c 6c20 7072 6f76 6964 6520 eX will provide │ │ │ -0000c880: 610a 2020 2520 7761 726e 696e 6720 6966 a. % warning if │ │ │ -0000c890: 2074 6865 2064 6f63 756d 656e 7420 6e65 the document ne │ │ │ -0000c8a0: 6564 7320 746f 2062 6520 7265 636f 6d70 eds to be recomp │ │ │ -0000c8b0: 696c 6564 2e0a 2020 5c6c 6162 656c 7b41 iled.. \label{A │ │ │ -0000c8c0: 6764 6140 446f 4e6f 7453 7570 7072 6573 gda@DoNotSuppres │ │ │ -0000c8d0: 7353 7061 6365 4166 7465 7240 2331 7d7d sSpaceAfter@#1}} │ │ │ -0000c8e0: 0a0a 5c6e 6577 636f 6d6d 616e 647b 5c41 ..\newcommand{\A │ │ │ -0000c8f0: 6764 6140 5375 7070 7265 7373 456e 647d gda@SuppressEnd} │ │ │ -0000c900: 7b25 0a20 205c 6966 7468 656e 656c 7365 {%. \ifthenelse │ │ │ -0000c910: 7b5c 7661 6c75 657b 4167 6461 4053 7570 {\value{Agda@Sup │ │ │ -0000c920: 7072 6573 7353 7461 7274 7d20 3d20 5c76 pressStart} = \v │ │ │ -0000c930: 616c 7565 7b41 6764 6140 4375 7272 656e alue{Agda@Curren │ │ │ -0000c940: 747d 7d7b 7d7b 250a 2020 2020 2520 4d61 t}}{}{%. % Ma │ │ │ -0000c950: 726b 2074 6865 2070 7265 7669 6f75 7320 rk the previous │ │ │ -0000c960: 636f 6465 2062 6c6f 636b 2069 6e20 7468 code block in th │ │ │ -0000c970: 6520 2e61 7578 2066 696c 652e 0a20 2020 e .aux file.. │ │ │ -0000c980: 205c 7365 7463 6f75 6e74 6572 7b41 6764 \setcounter{Agd │ │ │ -0000c990: 6140 5072 6576 696f 7573 7d7b 5c74 6865 a@Previous}{\the │ │ │ -0000c9a0: 4167 6461 4043 7572 7265 6e74 2d31 7d25 Agda@Current-1}% │ │ │ -0000c9b0: 0a20 2020 205c 696d 6d65 6469 6174 655c . \immediate\ │ │ │ -0000c9c0: 7772 6974 655c 4061 7578 6f75 747b 250a write\@auxout{%. │ │ │ -0000c9d0: 2020 2020 2020 5c6e 6f65 7870 616e 645c \noexpand\ │ │ │ -0000c9e0: 4167 6461 4044 6f4e 6f74 5375 7070 7265 Agda@DoNotSuppre │ │ │ -0000c9f0: 7373 5370 6163 6541 6674 6572 7b5c 7468 ssSpaceAfter{\th │ │ │ -0000ca00: 6541 6764 6140 5072 6576 696f 7573 7d7d eAgda@Previous}} │ │ │ -0000ca10: 7d25 0a20 205c 7365 7462 6f6f 6c65 616e }%. \setboolean │ │ │ -0000ca20: 7b41 6764 6140 5375 7070 7265 7373 7d7b {Agda@Suppress}{ │ │ │ -0000ca30: 6661 6c73 657d 7d0a 0a5c 6e65 7765 6e76 false}}..\newenv │ │ │ -0000ca40: 6972 6f6e 6d65 6e74 7b41 6764 6153 7570 ironment{AgdaSup │ │ │ -0000ca50: 7072 6573 7353 7061 6365 7d7b 250a 2020 pressSpace}{%. │ │ │ -0000ca60: 5c41 6764 6140 5375 7070 7265 7373 5374 \Agda@SuppressSt │ │ │ -0000ca70: 6172 747b 7d7d 7b25 0a20 205c 4167 6461 art{}}{%. \Agda │ │ │ -0000ca80: 4053 7570 7072 6573 7345 6e64 7b7d 250a @SuppressEnd{}%. │ │ │ -0000ca90: 2020 5c69 676e 6f72 6573 7061 6365 7361 \ignorespacesa │ │ │ -0000caa0: 6674 6572 656e 647d 0a0a 5c6e 6577 656e fterend}..\newen │ │ │ -0000cab0: 7669 726f 6e6d 656e 747b 4167 6461 4d75 vironment{AgdaMu │ │ │ -0000cac0: 6c74 6943 6f64 657d 7b25 0a20 205c 4167 ltiCode}{%. \Ag │ │ │ -0000cad0: 6461 4041 6c69 676e 5374 6172 747b 7d25 da@AlignStart{}% │ │ │ -0000cae0: 0a20 205c 4167 6461 4053 7570 7072 6573 . \Agda@Suppres │ │ │ -0000caf0: 7353 7461 7274 7b7d 7d7b 250a 2020 5c41 sStart{}}{%. \A │ │ │ -0000cb00: 6764 6140 5375 7070 7265 7373 456e 647b gda@SuppressEnd{ │ │ │ -0000cb10: 7d25 0a20 205c 4167 6461 4041 6c69 676e }%. \Agda@Align │ │ │ -0000cb20: 456e 647b 7d25 0a20 205c 6967 6e6f 7265 End{}%. \ignore │ │ │ -0000cb30: 7370 6163 6573 6166 7465 7265 6e64 7d0a spacesafterend}. │ │ │ -0000cb40: 0a25 2056 6572 7469 6361 6c20 7370 6163 .% Vertical spac │ │ │ -0000cb50: 6520 7573 6564 2066 6f72 2065 6d70 7479 e used for empty │ │ │ -0000cb60: 206c 696e 6573 2e20 4279 2064 6566 6175 lines. By defau │ │ │ -0000cb70: 6c74 205c 6162 6f76 6564 6973 706c 6179 lt \abovedisplay │ │ │ -0000cb80: 736b 6970 2e0a 5c6e 6577 6c65 6e67 7468 skip..\newlength │ │ │ -0000cb90: 7b5c 4167 6461 456d 7074 7953 6b69 707d {\AgdaEmptySkip} │ │ │ -0000cba0: 0a5c 7365 746c 656e 6774 687b 5c41 6764 .\setlength{\Agd │ │ │ -0000cbb0: 6145 6d70 7479 536b 6970 7d7b 5c61 626f aEmptySkip}{\abo │ │ │ -0000cbc0: 7665 6469 7370 6c61 7973 6b69 707d 0a0a vedisplayskip}.. │ │ │ -0000cbd0: 2520 4578 7472 6120 7370 6163 6520 746f % Extra space to │ │ │ -0000cbe0: 2062 6520 696e 7365 7274 6564 2066 6f72 be inserted for │ │ │ -0000cbf0: 2065 6d70 7479 206c 696e 6573 2028 7468 empty lines (th │ │ │ -0000cc00: 6520 6469 6666 6572 656e 6365 2062 6574 e difference bet │ │ │ -0000cc10: 7765 656e 0a25 205c 4167 6461 456d 7074 ween.% \AgdaEmpt │ │ │ -0000cc20: 7953 6b69 7020 616e 6420 5c62 6173 656c ySkip and \basel │ │ │ -0000cc30: 696e 6573 6b69 7029 2e20 5573 6564 2069 ineskip). Used i │ │ │ -0000cc40: 6e74 6572 6e61 6c6c 792e 0a5c 6e65 776c nternally..\newl │ │ │ -0000cc50: 656e 6774 687b 5c41 6764 6145 6d70 7479 ength{\AgdaEmpty │ │ │ -0000cc60: 4578 7472 6153 6b69 707d 0a0a 2520 436f ExtraSkip}..% Co │ │ │ -0000cc70: 756e 7465 7220 7573 6564 2066 6f72 2063 unter used for c │ │ │ -0000cc80: 6f64 6520 6e75 6d62 6572 732e 0a5c 6e65 ode numbers..\ne │ │ │ -0000cc90: 7763 6f75 6e74 6572 7b41 6764 6143 6f64 wcounter{AgdaCod │ │ │ -0000cca0: 654e 756d 6265 727d 0a25 2046 6f72 6d61 eNumber}.% Forma │ │ │ -0000ccb0: 7473 2061 2063 6f64 6520 6e75 6d62 6572 ts a code number │ │ │ -0000ccc0: 2e0a 5c6e 6577 636f 6d6d 616e 647b 5c41 ..\newcommand{\A │ │ │ -0000ccd0: 6764 6146 6f72 6d61 7443 6f64 654e 756d gdaFormatCodeNum │ │ │ -0000cce0: 6265 727d 5b31 5d7b 2823 3129 7d0a 0a25 ber}[1]{(#1)}..% │ │ │ -0000ccf0: 2041 2062 6f6f 6c65 616e 2075 7365 6420 A boolean used │ │ │ -0000cd00: 746f 2068 616e 646c 6520 7468 6520 6f70 to handle the op │ │ │ -0000cd10: 7469 6f6e 206e 756d 6265 722e 0a5c 6e65 tion number..\ne │ │ │ -0000cd20: 7762 6f6f 6c65 616e 7b41 6764 6140 4e75 wboolean{Agda@Nu │ │ │ -0000cd30: 6d62 6572 7d0a 5c73 6574 626f 6f6c 6561 mber}.\setboolea │ │ │ -0000cd40: 6e7b 4167 6461 404e 756d 6265 727d 7b66 n{Agda@Number}{f │ │ │ -0000cd50: 616c 7365 7d0a 0a25 2041 2062 6f6f 6c65 alse}..% A boole │ │ │ -0000cd60: 616e 2075 7365 6420 746f 2068 616e 646c an used to handl │ │ │ -0000cd70: 6520 7468 6520 6f70 7469 6f6e 2069 6e6c e the option inl │ │ │ -0000cd80: 696e 652a 2e20 2846 6f72 2073 6f6d 6520 ine*. (For some │ │ │ -0000cd90: 7265 6173 6f6e 2074 6865 0a25 2061 7070 reason the.% app │ │ │ -0000cda0: 726f 6163 6820 7573 6564 2066 6f72 2068 roach used for h │ │ │ -0000cdb0: 6964 6520 616e 6420 696e 6c69 6e65 2064 ide and inline d │ │ │ -0000cdc0: 6f65 7320 6e6f 7420 776f 726b 2066 6f72 oes not work for │ │ │ -0000cdd0: 2069 6e6c 696e 652a 2e29 0a5c 6e65 7762 inline*.).\newb │ │ │ -0000cde0: 6f6f 6c65 616e 7b41 6764 6140 496e 6c69 oolean{Agda@Inli │ │ │ -0000cdf0: 6e65 5374 6172 7d0a 5c73 6574 626f 6f6c neStar}.\setbool │ │ │ -0000ce00: 6561 6e7b 4167 6461 4049 6e6c 696e 6553 ean{Agda@InlineS │ │ │ -0000ce10: 7461 727d 7b66 616c 7365 7d0a 0a25 204b tar}{false}..% K │ │ │ -0000ce20: 6579 7320 7573 6564 2062 7920 7468 6520 eys used by the │ │ │ -0000ce30: 636f 6465 2065 6e76 6972 6f6e 6d65 6e74 code environment │ │ │ -0000ce40: 2e0a 5c64 6566 696e 6540 626f 6f6c 6b65 ..\define@boolke │ │ │ -0000ce50: 795b 4167 6461 5d7b 636f 6465 7d7b 6869 y[Agda]{code}{hi │ │ │ -0000ce60: 6465 7d5b 7472 7565 5d7b 7d0a 5c64 6566 de}[true]{}.\def │ │ │ -0000ce70: 696e 6540 626f 6f6c 6b65 795b 4167 6461 ine@boolkey[Agda │ │ │ -0000ce80: 5d7b 636f 6465 7d7b 696e 6c69 6e65 7d5b ]{code}{inline}[ │ │ │ -0000ce90: 7472 7565 5d7b 7d0a 5c64 6566 696e 6540 true]{}.\define@ │ │ │ -0000cea0: 626f 6f6c 6b65 795b 4167 6461 5d7b 636f boolkey[Agda]{co │ │ │ -0000ceb0: 6465 7d7b 696e 6c69 6e65 2a7d 5b74 7275 de}{inline*}[tru │ │ │ -0000cec0: 655d 7b25 0a20 205c 7365 7462 6f6f 6c65 e]{%. \setboole │ │ │ -0000ced0: 616e 7b41 6764 6140 496e 6c69 6e65 5374 an{Agda@InlineSt │ │ │ -0000cee0: 6172 7d7b 7472 7565 7d7d 0a5c 6465 6669 ar}{true}}.\defi │ │ │ -0000cef0: 6e65 406b 6579 5b41 6764 615d 7b63 6f64 ne@key[Agda]{cod │ │ │ -0000cf00: 657d 7b6e 756d 6265 727d 5b5d 7b25 0a20 e}{number}[]{%. │ │ │ -0000cf10: 205c 6966 7468 656e 656c 7365 7b5c 626f \ifthenelse{\bo │ │ │ -0000cf20: 6f6c 6561 6e7b 4167 6461 404e 756d 6265 olean{Agda@Numbe │ │ │ -0000cf30: 727d 7d7b 7d7b 250a 2020 2020 5c73 6574 r}}{}{%. \set │ │ │ -0000cf40: 626f 6f6c 6561 6e7b 4167 6461 404e 756d boolean{Agda@Num │ │ │ -0000cf50: 6265 727d 7b74 7275 657d 250a 2020 2020 ber}{true}%. │ │ │ -0000cf60: 2520 496e 6372 6561 7365 2074 6865 2063 % Increase the c │ │ │ -0000cf70: 6f75 6e74 6572 2069 6620 7468 6973 2068 ounter if this h │ │ │ -0000cf80: 6173 206e 6f74 2061 6c72 6561 6479 2062 as not already b │ │ │ -0000cf90: 6565 6e20 646f 6e65 2e0a 2020 2020 5c72 een done.. \r │ │ │ -0000cfa0: 6566 7374 6570 636f 756e 7465 727b 4167 efstepcounter{Ag │ │ │ -0000cfb0: 6461 436f 6465 4e75 6d62 6572 7d7d 250a daCodeNumber}}%. │ │ │ -0000cfc0: 2020 2520 4966 2074 6865 206c 6162 656c % If the label │ │ │ -0000cfd0: 2069 7320 6e6f 6e2d 656d 7074 792c 2073 is non-empty, s │ │ │ -0000cfe0: 6574 2069 742e 204e 6f74 6520 7468 6174 et it. Note that │ │ │ -0000cff0: 2069 7420 6973 2070 6f73 7369 626c 6520 it is possible │ │ │ -0000d000: 746f 0a20 2025 2067 6976 6520 7365 7665 to. % give seve │ │ │ -0000d010: 7261 6c20 6c61 6265 6c73 2066 6f72 2061 ral labels for a │ │ │ -0000d020: 2073 696e 676c 6520 636f 6465 206c 6973 single code lis │ │ │ -0000d030: 7469 6e67 2e0a 2020 5c69 6674 6865 6e65 ting.. \ifthene │ │ │ -0000d040: 6c73 657b 5c65 7175 616c 7b23 317d 7b7d lse{\equal{#1}{} │ │ │ -0000d050: 7d7b 7d7b 5c6c 6162 656c 7b23 317d 7d7d }{}{\label{#1}}} │ │ │ -0000d060: 0a0a 2520 5468 6520 636f 6465 2065 6e76 ..% The code env │ │ │ -0000d070: 6972 6f6e 6d65 6e74 2e0a 250a 2520 4f70 ironment..%.% Op │ │ │ -0000d080: 7469 6f6e 733a 0a25 0a25 202a 2068 6964 tions:.%.% * hid │ │ │ -0000d090: 653a 2054 6865 2063 6f64 6520 6973 2068 e: The code is h │ │ │ -0000d0a0: 6964 6465 6e2e 204f 7468 6572 206f 7074 idden. Other opt │ │ │ -0000d0b0: 696f 6e73 2061 7265 2069 676e 6f72 6564 ions are ignored │ │ │ -0000d0c0: 2e0a 250a 2520 2a20 6e75 6d62 6572 3a20 ..%.% * number: │ │ │ -0000d0d0: 4769 7665 2074 6865 2063 6f64 6520 616e Give the code an │ │ │ -0000d0e0: 2065 7175 6174 696f 6e20 6e75 6d62 6572 equation number │ │ │ -0000d0f0: 2e0a 250a 2520 2a20 6e75 6d62 6572 3d6c ..%.% * number=l │ │ │ -0000d100: 3a20 4769 7665 2074 6865 2063 6f64 6520 : Give the code │ │ │ -0000d110: 616e 2065 7175 6174 696f 6e20 6e75 6d62 an equation numb │ │ │ -0000d120: 6572 2061 6e64 2074 6865 206c 6162 656c er and the label │ │ │ -0000d130: 206c 2e20 4974 2069 730a 2520 2020 706f l. It is.% po │ │ │ -0000d140: 7373 6962 6c65 2074 6f20 7573 6520 7468 ssible to use th │ │ │ -0000d150: 6973 206f 7074 696f 6e20 7365 7665 7261 is option severa │ │ │ -0000d160: 6c20 7469 6d65 7320 7769 7468 2064 6966 l times with dif │ │ │ -0000d170: 6665 7265 6e74 206c 6162 656c 732e 0a25 ferent labels..% │ │ │ -0000d180: 0a25 202a 2069 6e6c 696e 652f 696e 6c69 .% * inline/inli │ │ │ -0000d190: 6e65 2a3a 2054 6865 2063 6f64 6520 6973 ne*: The code is │ │ │ -0000d1a0: 2069 6e6c 696e 6564 2e20 496e 2074 6869 inlined. In thi │ │ │ -0000d1b0: 7320 6361 7365 206d 6f73 7420 6f66 2074 s case most of t │ │ │ -0000d1c0: 6865 0a25 2020 2064 6973 6375 7373 696f he.% discussio │ │ │ -0000d1d0: 6e20 6162 6f76 6520 646f 6573 206e 6f74 n above does not │ │ │ -0000d1e0: 2061 7070 6c79 2c20 616c 6967 6e6d 656e apply, alignmen │ │ │ -0000d1f0: 7420 6973 206e 6f74 2072 6573 7065 6374 t is not respect │ │ │ -0000d200: 6564 2c20 616e 6420 736f 0a25 2020 206f ed, and so.% o │ │ │ -0000d210: 6e2e 2049 7420 6973 2072 6563 6f6d 6d65 n. It is recomme │ │ │ -0000d220: 6e64 6564 2074 6f20 6f6e 6c79 2075 7365 nded to only use │ │ │ -0000d230: 2074 6869 7320 6f70 7469 6f6e 2066 6f72 this option for │ │ │ -0000d240: 2061 2073 696e 676c 6520 6c69 6e65 206f a single line o │ │ │ -0000d250: 660a 2520 2020 636f 6465 2c20 616e 6420 f.% code, and │ │ │ -0000d260: 746f 206e 6f74 2075 7365 2074 776f 2063 to not use two c │ │ │ -0000d270: 6f6e 7365 6375 7469 7665 2073 7061 6365 onsecutive space │ │ │ -0000d280: 7320 696e 2074 6869 7320 7069 6563 6520 s in this piece │ │ │ -0000d290: 6f66 2063 6f64 652e 0a25 0a25 2020 204e of code..%.% N │ │ │ -0000d2a0: 6f74 6520 7468 6174 2074 6869 7320 656e ote that this en │ │ │ -0000d2b0: 7669 726f 6e6d 656e 7420 6967 6e6f 7265 vironment ignore │ │ │ -0000d2c0: 7320 7370 6163 6573 2061 6674 6572 2069 s spaces after i │ │ │ -0000d2d0: 7473 2065 6e64 2e20 4966 2061 2073 7061 ts end. If a spa │ │ │ -0000d2e0: 6365 0a25 2020 2028 5c41 6764 6153 7061 ce.% (\AgdaSpa │ │ │ -0000d2f0: 6365 7b7d 2920 7368 6f75 6c64 2062 6520 ce{}) should be │ │ │ -0000d300: 696e 7365 7274 6564 2061 6674 6572 2074 inserted after t │ │ │ -0000d310: 6865 2069 6e6c 696e 6520 636f 6465 2c20 he inline code, │ │ │ -0000d320: 7573 650a 2520 2020 696e 6c69 6e65 2a2c use.% inline*, │ │ │ -0000d330: 206f 7468 6572 7769 7365 2075 7365 2069 otherwise use i │ │ │ -0000d340: 6e6c 696e 652e 0a25 0a25 2020 2057 6865 nline..%.% Whe │ │ │ -0000d350: 6e20 7468 6973 206f 7074 696f 6e20 6973 n this option is │ │ │ -0000d360: 2075 7365 6420 6e75 6d62 6572 2069 7320 used number is │ │ │ -0000d370: 6967 6e6f 7265 642e 0a25 0a25 2054 6865 ignored..%.% The │ │ │ -0000d380: 2069 6d70 6c65 6d65 6e74 6174 696f 6e20 implementation │ │ │ -0000d390: 6973 2062 6173 6564 206f 6e20 706c 6169 is based on plai │ │ │ -0000d3a0: 6e68 7363 6f64 6520 696e 206c 6873 3254 nhscode in lhs2T │ │ │ -0000d3b0: 6558 2773 0a25 2070 6f6c 7963 6f64 652e eX's.% polycode. │ │ │ -0000d3c0: 666d 742c 2077 7269 7474 656e 2062 7920 fmt, written by │ │ │ -0000d3d0: 416e 6472 6573 204c c3b6 682e 0a5c 4e65 Andres L..h..\Ne │ │ │ -0000d3e0: 7745 6e76 6972 6f6e 7b63 6f64 657d 5b31 wEnviron{code}[1 │ │ │ -0000d3f0: 5d5b 5d7b 250a 2020 2520 5072 6f63 6573 ][]{%. % Proces │ │ │ -0000d400: 7320 7468 6520 6f70 7469 6f6e 732e 2043 s the options. C │ │ │ -0000d410: 6f6d 706c 6169 6e20 6162 6f75 7420 756e omplain about un │ │ │ -0000d420: 6b6e 6f77 6e20 6f70 7469 6f6e 732e 0a20 known options.. │ │ │ -0000d430: 205c 7365 746b 6579 735b 4167 6461 5d7b \setkeys[Agda]{ │ │ │ -0000d440: 636f 6465 7d5b 6e75 6d62 6572 5d7b 2331 code}[number]{#1 │ │ │ -0000d450: 7d25 0a20 205c 6966 4167 6461 4063 6f64 }%. \ifAgda@cod │ │ │ -0000d460: 6540 6869 6465 250a 2020 2020 2520 4869 e@hide%. % Hi │ │ │ -0000d470: 6465 2074 6865 2063 6f64 652e 0a20 205c de the code.. \ │ │ │ -0000d480: 656c 7365 250a 2020 5c69 6641 6764 6140 else%. \ifAgda@ │ │ │ -0000d490: 636f 6465 4069 6e6c 696e 6525 0a20 2020 code@inline%. │ │ │ -0000d4a0: 2025 2049 6e6c 696e 6520 636f 6465 2e0a % Inline code.. │ │ │ -0000d4b0: 2020 2020 250a 2020 2020 2520 4d61 6b65 %. % Make │ │ │ -0000d4c0: 2074 6865 2070 6f6c 7974 6162 6c65 2070 the polytable p │ │ │ -0000d4d0: 7269 6d69 7469 7665 7320 656d 6974 7465 rimitives emitte │ │ │ -0000d4e0: 6420 6279 2074 6865 204c 6154 6558 2062 d by the LaTeX b │ │ │ -0000d4f0: 6163 6b65 6e64 0a20 2020 2025 2064 6f20 ackend. % do │ │ │ -0000d500: 6e6f 7468 696e 672e 0a20 2020 205c 4465 nothing.. \De │ │ │ -0000d510: 636c 6172 6544 6f63 756d 656e 7443 6f6d clareDocumentCom │ │ │ -0000d520: 6d61 6e64 7b5c 3e7d 7b4f 7b7d 4f7b 7d7d mand{\>}{O{}O{}} │ │ │ -0000d530: 7b7d 250a 2020 2020 5c44 6563 6c61 7265 {}%. \Declare │ │ │ -0000d540: 446f 6375 6d65 6e74 436f 6d6d 616e 647b DocumentCommand{ │ │ │ -0000d550: 5c3c 7d7b 4f7b 7d7d 7b7d 250a 2020 2020 \<}{O{}}{}%. │ │ │ -0000d560: 5c41 6764 6143 6f64 6553 7479 6c65 5c42 \AgdaCodeStyle\B │ │ │ -0000d570: 4f44 5925 0a20 205c 656c 7365 250a 2020 ODY%. \else%. │ │ │ -0000d580: 5c69 6674 6865 6e65 6c73 657b 5c62 6f6f \ifthenelse{\boo │ │ │ -0000d590: 6c65 616e 7b41 6764 6140 496e 6c69 6e65 lean{Agda@Inline │ │ │ -0000d5a0: 5374 6172 7d7d 7b25 0a20 2020 2025 2049 Star}}{%. % I │ │ │ -0000d5b0: 6e6c 696e 6520 636f 6465 2077 6974 6820 nline code with │ │ │ -0000d5c0: 7370 6163 6520 6174 2074 6865 2065 6e64 space at the end │ │ │ -0000d5d0: 2e0a 2020 2020 250a 2020 2020 5c44 6563 .. %. \Dec │ │ │ -0000d5e0: 6c61 7265 446f 6375 6d65 6e74 436f 6d6d lareDocumentComm │ │ │ -0000d5f0: 616e 647b 5c3e 7d7b 4f7b 7d4f 7b7d 7d7b and{\>}{O{}O{}}{ │ │ │ -0000d600: 7d25 0a20 2020 205c 4465 636c 6172 6544 }%. \DeclareD │ │ │ -0000d610: 6f63 756d 656e 7443 6f6d 6d61 6e64 7b5c ocumentCommand{\ │ │ │ -0000d620: 3c7d 7b4f 7b7d 7d7b 7d25 0a20 2020 205c <}{O{}}{}%. \ │ │ │ -0000d630: 4167 6461 436f 6465 5374 796c 655c 424f AgdaCodeStyle\BO │ │ │ -0000d640: 4459 5c41 6764 6153 7061 6365 7b7d 7d7b DY\AgdaSpace{}}{ │ │ │ -0000d650: 250a 2020 2020 250a 2020 2020 2520 4469 %. %. % Di │ │ │ -0000d660: 7370 6c61 7965 6420 636f 6465 2e0a 2020 splayed code.. │ │ │ -0000d670: 2020 250a 2020 2020 2520 436f 6e64 6974 %. % Condit │ │ │ -0000d680: 696f 6e61 6c6c 7920 656d 6974 2073 7061 ionally emit spa │ │ │ -0000d690: 6365 2062 6566 6f72 6520 7468 6520 636f ce before the co │ │ │ -0000d6a0: 6465 2062 6c6f 636b 2e20 556e 636f 6e64 de block. Uncond │ │ │ -0000d6b0: 6974 696f 6e61 6c6c 790a 2020 2020 2520 itionally. % │ │ │ -0000d6c0: 7377 6974 6368 2074 6f20 6120 6e65 7720 switch to a new │ │ │ -0000d6d0: 6c69 6e65 2e0a 2020 2020 5c69 6674 6865 line.. \ifthe │ │ │ -0000d6e0: 6e65 6c73 657b 5c62 6f6f 6c65 616e 7b41 nelse{\boolean{A │ │ │ -0000d6f0: 6764 6140 5370 6163 6541 726f 756e 6443 gda@SpaceAroundC │ │ │ -0000d700: 6f64 657d 205c 616e 6425 0a20 2020 2020 ode} \and%. │ │ │ -0000d710: 2020 2020 2020 2020 2020 205c 285c 6e6f \(\no │ │ │ -0000d720: 7420 5c62 6f6f 6c65 616e 7b41 6764 6140 t \boolean{Agda@ │ │ │ -0000d730: 5375 7070 7265 7373 7d20 5c6f 7225 0a20 Suppress} \or%. │ │ │ +0000b710: 2d2d 2d0a 2520 5468 6520 636f 6465 2065 ---.% The code e │ │ │ +0000b720: 6e76 6972 6f6e 6d65 6e74 2e0a 0a5c 6e65 nvironment...\ne │ │ │ +0000b730: 7763 6f6d 6d61 6e64 7b5c 4167 6461 436f wcommand{\AgdaCo │ │ │ +0000b740: 6465 5374 796c 657d 7b7d 0a25 205c 6e65 deStyle}{}.% \ne │ │ │ +0000b750: 7763 6f6d 6d61 6e64 7b5c 4167 6461 436f wcommand{\AgdaCo │ │ │ +0000b760: 6465 5374 796c 657d 7b5c 7469 6e79 7d0a deStyle}{\tiny}. │ │ │ +0000b770: 0a5c 6966 6465 6669 6e65 645c 6d61 7468 .\ifdefined\math │ │ │ +0000b780: 696e 6465 6e74 0a20 207b 7d0a 5c65 6c73 indent. {}.\els │ │ │ +0000b790: 650a 2020 5c6e 6577 6469 6d65 6e5c 6d61 e. \newdimen\ma │ │ │ +0000b7a0: 7468 696e 6465 6e74 5c6d 6174 6869 6e64 thindent\mathind │ │ │ +0000b7b0: 656e 745c 6c65 6674 6d61 7267 696e 690a ent\leftmargini. │ │ │ +0000b7c0: 5c66 690a 0a25 2041 6464 7320 7468 6520 \fi..% Adds the │ │ │ +0000b7d0: 6769 7665 6e20 616d 6f75 6e74 206f 6620 given amount of │ │ │ +0000b7e0: 7665 7274 6963 616c 2073 7061 6365 2061 vertical space a │ │ │ +0000b7f0: 6e64 2073 7461 7274 7320 6120 6e65 7720 nd starts a new │ │ │ +0000b800: 6c69 6e65 2e0a 250a 2520 5468 6520 696d line..%.% The im │ │ │ +0000b810: 706c 656d 656e 7461 7469 6f6e 2063 6f6d plementation com │ │ │ +0000b820: 6573 2066 726f 6d20 6c68 7332 5465 5827 es from lhs2TeX' │ │ │ +0000b830: 7320 706f 6c79 636f 6465 2e66 6d74 2c20 s polycode.fmt, │ │ │ +0000b840: 7772 6974 7465 6e20 6279 0a25 2041 6e64 written by.% And │ │ │ +0000b850: 7265 7320 4cc3 b668 2e0a 5c6e 6577 636f res L..h..\newco │ │ │ +0000b860: 6d6d 616e 647b 5c41 6764 6140 4e65 776c mmand{\Agda@Newl │ │ │ +0000b870: 696e 6557 6974 6856 6572 7469 6361 6c53 ineWithVerticalS │ │ │ +0000b880: 7061 6365 7d5b 315d 7b25 0a20 207b 5c70 pace}[1]{%. {\p │ │ │ +0000b890: 6172 736b 6970 3d30 7074 5c70 6172 696e arskip=0pt\parin │ │ │ +0000b8a0: 6465 6e74 3d30 7074 5c70 6172 5c76 736b dent=0pt\par\vsk │ │ │ +0000b8b0: 6970 2023 315c 6e6f 696e 6465 6e74 7d7d ip #1\noindent}} │ │ │ +0000b8c0: 0a0a 2520 5368 6f75 6c64 2074 6865 7265 ..% Should there │ │ │ +0000b8d0: 2062 6520 7370 6163 6520 6172 6f75 6e64 be space around │ │ │ +0000b8e0: 2063 6f64 653f 0a5c 6e65 7762 6f6f 6c65 code?.\newboole │ │ │ +0000b8f0: 616e 7b41 6764 6140 5370 6163 6541 726f an{Agda@SpaceAro │ │ │ +0000b900: 756e 6443 6f64 657d 0a0a 2520 5573 6520 undCode}..% Use │ │ │ +0000b910: 7468 6973 2063 6f6d 6d61 6e64 2074 6f20 this command to │ │ │ +0000b920: 6176 6f69 6420 6578 7472 6120 7370 6163 avoid extra spac │ │ │ +0000b930: 6520 6172 6f75 6e64 2063 6f64 6520 626c e around code bl │ │ │ +0000b940: 6f63 6b73 2e0a 5c6e 6577 636f 6d6d 616e ocks..\newcomman │ │ │ +0000b950: 647b 5c41 6764 614e 6f53 7061 6365 4172 d{\AgdaNoSpaceAr │ │ │ +0000b960: 6f75 6e64 436f 6465 7d7b 250a 2020 5c73 oundCode}{%. \s │ │ │ +0000b970: 6574 626f 6f6c 6561 6e7b 4167 6461 4053 etboolean{Agda@S │ │ │ +0000b980: 7061 6365 4172 6f75 6e64 436f 6465 7d7b paceAroundCode}{ │ │ │ +0000b990: 6661 6c73 657d 7d0a 0a25 2055 7365 2074 false}}..% Use t │ │ │ +0000b9a0: 6869 7320 636f 6d6d 616e 6420 746f 2069 his command to i │ │ │ +0000b9b0: 6e63 6c75 6465 2065 7874 7261 2073 7061 nclude extra spa │ │ │ +0000b9c0: 6365 2061 726f 756e 6420 636f 6465 2062 ce around code b │ │ │ +0000b9d0: 6c6f 636b 732e 0a5c 6e65 7763 6f6d 6d61 locks..\newcomma │ │ │ +0000b9e0: 6e64 7b5c 4167 6461 5370 6163 6541 726f nd{\AgdaSpaceAro │ │ │ +0000b9f0: 756e 6443 6f64 657d 7b25 0a20 205c 7365 undCode}{%. \se │ │ │ +0000ba00: 7462 6f6f 6c65 616e 7b41 6764 6140 5370 tboolean{Agda@Sp │ │ │ +0000ba10: 6163 6541 726f 756e 6443 6f64 657d 7b74 aceAroundCode}{t │ │ │ +0000ba20: 7275 657d 7d0a 0a25 2042 7920 6465 6661 rue}}..% By defa │ │ │ +0000ba30: 756c 7420 7370 6163 6520 6973 2069 6e73 ult space is ins │ │ │ +0000ba40: 6572 7465 6420 6172 6f75 6e64 2063 6f64 erted around cod │ │ │ +0000ba50: 6520 626c 6f63 6b73 2e0a 5c41 6764 6153 e blocks..\AgdaS │ │ │ +0000ba60: 7061 6365 4172 6f75 6e64 436f 6465 7b7d paceAroundCode{} │ │ │ +0000ba70: 0a0a 2520 536f 6d65 7469 6d65 7320 6f6e ..% Sometimes on │ │ │ +0000ba80: 6520 6d69 6768 7420 7761 6e74 2074 6f20 e might want to │ │ │ +0000ba90: 6272 6561 6b20 7570 2061 2063 6f64 6520 break up a code │ │ │ +0000baa0: 626c 6f63 6b20 696e 746f 206d 756c 7469 block into multi │ │ │ +0000bab0: 706c 650a 2520 7069 6563 6573 2c20 6275 ple.% pieces, bu │ │ │ +0000bac0: 7420 6b65 6570 2063 6f64 6520 696e 2064 t keep code in d │ │ │ +0000bad0: 6966 6665 7265 6e74 2062 6c6f 636b 7320 ifferent blocks │ │ │ +0000bae0: 616c 6967 6e65 6420 7769 7468 2072 6573 aligned with res │ │ │ +0000baf0: 7065 6374 2074 6f0a 2520 6561 6368 206f pect to.% each o │ │ │ +0000bb00: 7468 6572 2e20 5468 656e 206f 6e65 2063 ther. Then one c │ │ │ +0000bb10: 616e 2075 7365 2074 6865 2041 6764 6141 an use the AgdaA │ │ │ +0000bb20: 6c69 676e 2065 6e76 6972 6f6e 6d65 6e74 lign environment │ │ │ +0000bb30: 2e20 4578 616d 706c 650a 2520 7573 6167 . Example.% usag │ │ │ +0000bb40: 653a 0a25 0a25 2020 205c 6265 6769 6e7b e:.%.% \begin{ │ │ │ +0000bb50: 4167 6461 416c 6967 6e7d 0a25 2020 205c AgdaAlign}.% \ │ │ │ +0000bb60: 6265 6769 6e7b 636f 6465 7d0a 2520 2020 begin{code}.% │ │ │ +0000bb70: 2020 636f 6465 0a25 2020 2020 2020 2063 code.% c │ │ │ +0000bb80: 6f64 6520 2028 6d6f 7265 2063 6f64 6529 ode (more code) │ │ │ +0000bb90: 0a25 2020 205c 656e 647b 636f 6465 7d0a .% \end{code}. │ │ │ +0000bba0: 2520 2020 4578 706c 616e 6174 696f 6e2e % Explanation. │ │ │ +0000bbb0: 2e2e 0a25 2020 205c 6265 6769 6e7b 636f ...% \begin{co │ │ │ +0000bbc0: 6465 7d0a 2520 2020 2020 616c 6967 6e65 de}.% aligne │ │ │ +0000bbd0: 6420 7769 7468 2022 636f 6465 220a 2520 d with "code".% │ │ │ +0000bbe0: 2020 2020 2020 636f 6465 2020 2861 6c69 code (ali │ │ │ +0000bbf0: 676e 6564 2077 6974 6820 286d 6f72 6520 gned with (more │ │ │ +0000bc00: 636f 6465 2929 0a25 2020 205c 656e 647b code)).% \end{ │ │ │ +0000bc10: 636f 6465 7d0a 2520 2020 5c65 6e64 7b41 code}.% \end{A │ │ │ +0000bc20: 6764 6141 6c69 676e 7d0a 250a 2520 4e6f gdaAlign}.%.% No │ │ │ +0000bc30: 7465 2074 6861 7420 4167 6461 416c 6967 te that AgdaAlig │ │ │ +0000bc40: 6e20 656e 7669 726f 6e6d 656e 7473 2073 n environments s │ │ │ +0000bc50: 686f 756c 6420 6e6f 7420 6265 206e 6573 hould not be nes │ │ │ +0000bc60: 7465 642e 0a25 0a25 2053 6f6d 6574 696d ted..%.% Sometim │ │ │ +0000bc70: 6573 206f 6e65 206d 6967 6874 2061 6c73 es one might als │ │ │ +0000bc80: 6f20 7761 6e74 2074 6f20 6869 6465 2063 o want to hide c │ │ │ +0000bc90: 6f64 6520 696e 2074 6865 206d 6964 646c ode in the middl │ │ │ +0000bca0: 6520 6f66 2061 2063 6f64 650a 2520 626c e of a code.% bl │ │ │ +0000bcb0: 6f63 6b2e 2054 6869 7320 6361 6e20 6265 ock. This can be │ │ │ +0000bcc0: 2061 6363 6f6d 706c 6973 6865 6420 696e accomplished in │ │ │ +0000bcd0: 2074 6865 2066 6f6c 6c6f 7769 6e67 2077 the following w │ │ │ +0000bce0: 6179 3a0a 250a 2520 2020 5c62 6567 696e ay:.%.% \begin │ │ │ +0000bcf0: 7b41 6764 6141 6c69 676e 7d0a 2520 2020 {AgdaAlign}.% │ │ │ +0000bd00: 5c62 6567 696e 7b63 6f64 657d 0a25 2020 \begin{code}.% │ │ │ +0000bd10: 2020 2076 6973 6962 6c65 0a25 2020 205c visible.% \ │ │ │ +0000bd20: 656e 647b 636f 6465 7d0a 2520 2020 5c62 end{code}.% \b │ │ │ +0000bd30: 6567 696e 7b63 6f64 657d 5b68 6964 655d egin{code}[hide] │ │ │ +0000bd40: 0a25 2020 2020 2068 6964 6465 6e0a 2520 .% hidden.% │ │ │ +0000bd50: 2020 5c65 6e64 7b63 6f64 657d 0a25 2020 \end{code}.% │ │ │ +0000bd60: 205c 6265 6769 6e7b 636f 6465 7d0a 2520 \begin{code}.% │ │ │ +0000bd70: 2020 2020 7669 7369 626c 650a 2520 2020 visible.% │ │ │ +0000bd80: 5c65 6e64 7b63 6f64 657d 0a25 2020 205c \end{code}.% \ │ │ │ +0000bd90: 656e 647b 4167 6461 416c 6967 6e7d 0a25 end{AgdaAlign}.% │ │ │ +0000bda0: 0a25 2048 6f77 6576 6572 2c20 7468 6520 .% However, the │ │ │ +0000bdb0: 7265 7375 6c74 206d 6179 2062 6520 7567 result may be ug │ │ │ +0000bdc0: 6c79 3a20 6578 7472 6120 7370 6163 6520 ly: extra space │ │ │ +0000bdd0: 6973 2070 6572 6861 7073 2069 6e73 6572 is perhaps inser │ │ │ +0000bde0: 7465 640a 2520 6172 6f75 6e64 2074 6865 ted.% around the │ │ │ +0000bdf0: 2063 6f64 6520 626c 6f63 6b73 2e0a 250a code blocks..%. │ │ │ +0000be00: 2520 5468 6520 4167 6461 5375 7070 7265 % The AgdaSuppre │ │ │ +0000be10: 7373 5370 6163 6520 656e 7669 726f 6e6d ssSpace environm │ │ │ +0000be20: 656e 7420 656e 7375 7265 7320 7468 6174 ent ensures that │ │ │ +0000be30: 2065 7874 7261 2073 7061 6365 2069 7320 extra space is │ │ │ +0000be40: 6f6e 6c79 0a25 2069 6e73 6572 7465 6420 only.% inserted │ │ │ +0000be50: 6265 666f 7265 2074 6865 2066 6972 7374 before the first │ │ │ +0000be60: 2063 6f64 6520 626c 6f63 6b2c 2061 6e64 code block, and │ │ │ +0000be70: 2061 6674 6572 2074 6865 206c 6173 7420 after the last │ │ │ +0000be80: 6f6e 6520 2862 7574 0a25 206e 6f74 2069 one (but.% not i │ │ │ +0000be90: 6620 5c41 6764 614e 6f53 7061 6365 4172 f \AgdaNoSpaceAr │ │ │ +0000bea0: 6f75 6e64 436f 6465 7b7d 2069 7320 7573 oundCode{} is us │ │ │ +0000beb0: 6564 292e 2045 7861 6d70 6c65 2075 7361 ed). Example usa │ │ │ +0000bec0: 6765 3a0a 250a 2520 2020 5c62 6567 696e ge:.%.% \begin │ │ │ +0000bed0: 7b41 6764 6141 6c69 676e 7d0a 2520 2020 {AgdaAlign}.% │ │ │ +0000bee0: 5c62 6567 696e 7b63 6f64 657d 0a25 2020 \begin{code}.% │ │ │ +0000bef0: 2020 2063 6f64 650a 2520 2020 2020 2020 code.% │ │ │ +0000bf00: 6d6f 7265 2063 6f64 650a 2520 2020 5c65 more code.% \e │ │ │ +0000bf10: 6e64 7b63 6f64 657d 0a25 2020 2045 7870 nd{code}.% Exp │ │ │ +0000bf20: 6c61 6e61 7469 6f6e 2e2e 2e0a 2520 2020 lanation....% │ │ │ +0000bf30: 5c62 6567 696e 7b41 6764 6153 7570 7072 \begin{AgdaSuppr │ │ │ +0000bf40: 6573 7353 7061 6365 7d0a 2520 2020 5c62 essSpace}.% \b │ │ │ +0000bf50: 6567 696e 7b63 6f64 657d 0a25 2020 2020 egin{code}.% │ │ │ +0000bf60: 2061 6c69 676e 6564 2077 6974 6820 2263 aligned with "c │ │ │ +0000bf70: 6f64 6522 0a25 2020 2020 2020 2061 6c69 ode".% ali │ │ │ +0000bf80: 676e 6564 2077 6974 6820 226d 6f72 6520 gned with "more │ │ │ +0000bf90: 636f 6465 220a 2520 2020 5c65 6e64 7b63 code".% \end{c │ │ │ +0000bfa0: 6f64 657d 0a25 2020 205c 6265 6769 6e7b ode}.% \begin{ │ │ │ +0000bfb0: 636f 6465 7d5b 6869 6465 5d0a 2520 2020 code}[hide].% │ │ │ +0000bfc0: 2020 6869 6464 656e 2063 6f64 650a 2520 hidden code.% │ │ │ +0000bfd0: 2020 5c65 6e64 7b63 6f64 657d 0a25 2020 \end{code}.% │ │ │ +0000bfe0: 205c 6265 6769 6e7b 636f 6465 7d0a 2520 \begin{code}.% │ │ │ +0000bff0: 2020 2020 2020 616c 736f 2061 6c69 676e also align │ │ │ +0000c000: 6564 2077 6974 6820 226d 6f72 6520 636f ed with "more co │ │ │ +0000c010: 6465 220a 2520 2020 5c65 6e64 7b63 6f64 de".% \end{cod │ │ │ +0000c020: 657d 0a25 2020 205c 656e 647b 4167 6461 e}.% \end{Agda │ │ │ +0000c030: 5375 7070 7265 7373 5370 6163 657d 0a25 SuppressSpace}.% │ │ │ +0000c040: 2020 205c 656e 647b 4167 6461 416c 6967 \end{AgdaAlig │ │ │ +0000c050: 6e7d 0a25 0a25 204e 6f74 6520 7468 6174 n}.%.% Note that │ │ │ +0000c060: 2041 6764 6153 7570 7072 6573 7353 7061 AgdaSuppressSpa │ │ │ +0000c070: 6365 2065 6e76 6972 6f6e 6d65 6e74 7320 ce environments │ │ │ +0000c080: 7368 6f75 6c64 206e 6f74 2062 6520 6e65 should not be ne │ │ │ +0000c090: 7374 6564 2e0a 250a 2520 5468 6572 6520 sted..%.% There │ │ │ +0000c0a0: 6973 2061 6c73 6f20 6120 636f 6d62 696e is also a combin │ │ │ +0000c0b0: 6564 2065 6e76 6972 6f6e 6d65 6e74 2c20 ed environment, │ │ │ +0000c0c0: 4167 6461 4d75 6c74 6943 6f64 652c 2074 AgdaMultiCode, t │ │ │ +0000c0d0: 6861 7420 636f 6d62 696e 6573 0a25 2074 hat combines.% t │ │ │ +0000c0e0: 6865 2065 6666 6563 7473 206f 6620 4167 he effects of Ag │ │ │ +0000c0f0: 6461 416c 6967 6e20 616e 6420 4167 6461 daAlign and Agda │ │ │ +0000c100: 5375 7070 7265 7373 5370 6163 652e 0a0a SuppressSpace... │ │ │ +0000c110: 2520 5468 6520 6e75 6d62 6572 206f 6620 % The number of │ │ │ +0000c120: 7468 6520 6375 7272 656e 742f 6e65 7874 the current/next │ │ │ +0000c130: 2063 6f64 6520 626c 6f63 6b20 2865 7863 code block (exc │ │ │ +0000c140: 6c75 6469 6e67 2068 6964 6465 6e20 6f6e luding hidden on │ │ │ +0000c150: 6573 292e 0a5c 6e65 7763 6f75 6e74 6572 es)..\newcounter │ │ │ +0000c160: 7b41 6764 6140 4375 7272 656e 747d 0a5c {Agda@Current}.\ │ │ │ +0000c170: 7365 7463 6f75 6e74 6572 7b41 6764 6140 setcounter{Agda@ │ │ │ +0000c180: 4375 7272 656e 747d 7b30 7d0a 0a25 2054 Current}{0}..% T │ │ │ +0000c190: 6865 206e 756d 6265 7220 6f66 2074 6865 he number of the │ │ │ +0000c1a0: 2070 7265 7669 6f75 7320 636f 6465 2062 previous code b │ │ │ +0000c1b0: 6c6f 636b 2028 6578 636c 7564 696e 6720 lock (excluding │ │ │ +0000c1c0: 6869 6464 656e 206f 6e65 7329 2c20 7573 hidden ones), us │ │ │ +0000c1d0: 6564 0a25 206c 6f63 616c 6c79 2069 6e20 ed.% locally in │ │ │ +0000c1e0: 5c41 6764 6140 5375 7070 7265 7373 456e \Agda@SuppressEn │ │ │ +0000c1f0: 642e 0a5c 6e65 7763 6f75 6e74 6572 7b41 d..\newcounter{A │ │ │ +0000c200: 6764 6140 5072 6576 696f 7573 7d0a 0a25 gda@Previous}..% │ │ │ +0000c210: 2049 7320 4167 6461 416c 6967 6e20 6163 Is AgdaAlign ac │ │ │ +0000c220: 7469 7665 3f0a 5c6e 6577 626f 6f6c 6561 tive?.\newboolea │ │ │ +0000c230: 6e7b 4167 6461 4041 6c69 676e 7d0a 5c73 n{Agda@Align}.\s │ │ │ +0000c240: 6574 626f 6f6c 6561 6e7b 4167 6461 4041 etboolean{Agda@A │ │ │ +0000c250: 6c69 676e 7d7b 6661 6c73 657d 0a0a 2520 lign}{false}..% │ │ │ +0000c260: 5468 6520 6e75 6d62 6572 206f 6620 7468 The number of th │ │ │ +0000c270: 6520 6669 7273 7420 636f 6465 2062 6c6f e first code blo │ │ │ +0000c280: 636b 2028 6966 2061 6e79 2920 696e 2061 ck (if any) in a │ │ │ +0000c290: 2067 6976 656e 2041 6764 6141 6c69 676e given AgdaAlign │ │ │ +0000c2a0: 0a25 2065 6e76 6972 6f6e 6d65 6e74 2e0a .% environment.. │ │ │ +0000c2b0: 5c6e 6577 636f 756e 7465 727b 4167 6461 \newcounter{Agda │ │ │ +0000c2c0: 4041 6c69 676e 5374 6172 747d 0a0a 5c6e @AlignStart}..\n │ │ │ +0000c2d0: 6577 636f 6d6d 616e 647b 5c41 6764 6140 ewcommand{\Agda@ │ │ │ +0000c2e0: 416c 6967 6e53 7461 7274 7d7b 250a 2020 AlignStart}{%. │ │ │ +0000c2f0: 5c69 6674 6865 6e65 6c73 657b 5c62 6f6f \ifthenelse{\boo │ │ │ +0000c300: 6c65 616e 7b41 6764 6140 416c 6967 6e7d lean{Agda@Align} │ │ │ +0000c310: 7d7b 250a 2020 2020 5c50 6163 6b61 6765 }{%. \Package │ │ │ +0000c320: 4572 726f 727b 6167 6461 7d7b 4e65 7374 Error{agda}{Nest │ │ │ +0000c330: 6564 2041 6764 6141 6c69 676e 2065 6e76 ed AgdaAlign env │ │ │ +0000c340: 6972 6f6e 6d65 6e74 737d 7b25 0a20 2020 ironments}{%. │ │ │ +0000c350: 2020 2041 6764 6141 6c69 676e 2061 6e64 AgdaAlign and │ │ │ +0000c360: 2041 6764 614d 756c 7469 436f 6465 2065 AgdaMultiCode e │ │ │ +0000c370: 6e76 6972 6f6e 6d65 6e74 7320 6d75 7374 nvironments must │ │ │ +0000c380: 206e 6f74 2062 650a 2020 2020 2020 6e65 not be. ne │ │ │ +0000c390: 7374 6564 2e7d 7d7b 250a 2020 2020 5c73 sted.}}{%. \s │ │ │ +0000c3a0: 6574 626f 6f6c 6561 6e7b 4167 6461 4041 etboolean{Agda@A │ │ │ +0000c3b0: 6c69 676e 7d7b 7472 7565 7d25 0a20 2020 lign}{true}%. │ │ │ +0000c3c0: 205c 7365 7463 6f75 6e74 6572 7b41 6764 \setcounter{Agd │ │ │ +0000c3d0: 6140 416c 6967 6e53 7461 7274 7d7b 5c76 a@AlignStart}{\v │ │ │ +0000c3e0: 616c 7565 7b41 6764 6140 4375 7272 656e alue{Agda@Curren │ │ │ +0000c3f0: 747d 7d7d 7d0a 0a5c 6e65 7763 6f6d 6d61 t}}}}..\newcomma │ │ │ +0000c400: 6e64 7b5c 4167 6461 4041 6c69 676e 456e nd{\Agda@AlignEn │ │ │ +0000c410: 647d 7b5c 7365 7462 6f6f 6c65 616e 7b41 d}{\setboolean{A │ │ │ +0000c420: 6764 6140 416c 6967 6e7d 7b66 616c 7365 gda@Align}{false │ │ │ +0000c430: 7d7d 0a0a 5c6e 6577 656e 7669 726f 6e6d }}..\newenvironm │ │ │ +0000c440: 656e 747b 4167 6461 416c 6967 6e7d 7b25 ent{AgdaAlign}{% │ │ │ +0000c450: 0a20 205c 4167 6461 4041 6c69 676e 5374 . \Agda@AlignSt │ │ │ +0000c460: 6172 747b 7d7d 7b25 0a20 205c 4167 6461 art{}}{%. \Agda │ │ │ +0000c470: 4041 6c69 676e 456e 647b 7d25 0a20 205c @AlignEnd{}%. \ │ │ │ +0000c480: 6967 6e6f 7265 7370 6163 6573 6166 7465 ignorespacesafte │ │ │ +0000c490: 7265 6e64 7d0a 0a25 2049 7320 4167 6461 rend}..% Is Agda │ │ │ +0000c4a0: 5375 7070 7265 7373 5370 6163 6520 6163 SuppressSpace ac │ │ │ +0000c4b0: 7469 7665 3f0a 5c6e 6577 626f 6f6c 6561 tive?.\newboolea │ │ │ +0000c4c0: 6e7b 4167 6461 4053 7570 7072 6573 737d n{Agda@Suppress} │ │ │ +0000c4d0: 0a5c 7365 7462 6f6f 6c65 616e 7b41 6764 .\setboolean{Agd │ │ │ +0000c4e0: 6140 5375 7070 7265 7373 7d7b 6661 6c73 a@Suppress}{fals │ │ │ +0000c4f0: 657d 0a0a 2520 5468 6520 6e75 6d62 6572 e}..% The number │ │ │ +0000c500: 206f 6620 7468 6520 6669 7273 7420 636f of the first co │ │ │ +0000c510: 6465 2062 6c6f 636b 2028 6966 2061 6e79 de block (if any │ │ │ +0000c520: 2920 696e 2061 2067 6976 656e 0a25 2041 ) in a given.% A │ │ │ +0000c530: 6764 6153 7570 7072 6573 7353 7061 6365 gdaSuppressSpace │ │ │ +0000c540: 2065 6e76 6972 6f6e 6d65 6e74 2e0a 5c6e environment..\n │ │ │ +0000c550: 6577 636f 756e 7465 727b 4167 6461 4053 ewcounter{Agda@S │ │ │ +0000c560: 7570 7072 6573 7353 7461 7274 7d0a 0a25 uppressStart}..% │ │ │ +0000c570: 2044 6f65 7320 6120 2264 6f20 6e6f 7420 Does a "do not │ │ │ +0000c580: 7375 7070 7265 7373 2073 7061 6365 2061 suppress space a │ │ │ +0000c590: 6674 6572 2220 6c61 6265 6c20 6578 6973 fter" label exis │ │ │ +0000c5a0: 7420 666f 7220 7468 6520 6375 7272 656e t for the curren │ │ │ +0000c5b0: 740a 2520 636f 6465 2062 6c6f 636b 3f20 t.% code block? │ │ │ +0000c5c0: 2854 6869 7320 626f 6f6c 6561 6e20 6973 (This boolean is │ │ │ +0000c5d0: 2075 7365 6420 6c6f 6361 6c6c 7920 696e used locally in │ │ │ +0000c5e0: 2074 6865 2063 6f64 6520 656e 7669 726f the code enviro │ │ │ +0000c5f0: 6e6d 656e 7427 730a 2520 696d 706c 656d nment's.% implem │ │ │ +0000c600: 656e 7461 7469 6f6e 2e29 0a5c 6e65 7762 entation.).\newb │ │ │ +0000c610: 6f6f 6c65 616e 7b41 6764 6140 446f 4e6f oolean{Agda@DoNo │ │ │ +0000c620: 7453 7570 7072 6573 7353 7061 6365 4166 tSuppressSpaceAf │ │ │ +0000c630: 7465 727d 0a0a 5c6e 6577 636f 6d6d 616e ter}..\newcomman │ │ │ +0000c640: 647b 5c41 6764 6140 5375 7070 7265 7373 d{\Agda@Suppress │ │ │ +0000c650: 5374 6172 747d 7b25 0a20 205c 6966 7468 Start}{%. \ifth │ │ │ +0000c660: 656e 656c 7365 7b5c 626f 6f6c 6561 6e7b enelse{\boolean{ │ │ │ +0000c670: 4167 6461 4053 7570 7072 6573 737d 7d7b Agda@Suppress}}{ │ │ │ +0000c680: 250a 2020 2020 5c50 6163 6b61 6765 4572 %. \PackageEr │ │ │ +0000c690: 726f 727b 6167 6461 7d7b 4e65 7374 6564 ror{agda}{Nested │ │ │ +0000c6a0: 2041 6764 6153 7570 7072 6573 7353 7061 AgdaSuppressSpa │ │ │ +0000c6b0: 6365 2065 6e76 6972 6f6e 6d65 6e74 737d ce environments} │ │ │ +0000c6c0: 7b25 0a20 2020 2020 2041 6764 6153 7570 {%. AgdaSup │ │ │ +0000c6d0: 7072 6573 7353 7061 6365 2061 6e64 2041 pressSpace and A │ │ │ +0000c6e0: 6764 614d 756c 7469 436f 6465 2065 6e76 gdaMultiCode env │ │ │ +0000c6f0: 6972 6f6e 6d65 6e74 7320 6d75 7374 206e ironments must n │ │ │ +0000c700: 6f74 2062 650a 2020 2020 2020 6e65 7374 ot be. nest │ │ │ +0000c710: 6564 2e7d 7d7b 250a 2020 2020 5c73 6574 ed.}}{%. \set │ │ │ +0000c720: 626f 6f6c 6561 6e7b 4167 6461 4053 7570 boolean{Agda@Sup │ │ │ +0000c730: 7072 6573 737d 7b74 7275 657d 250a 2020 press}{true}%. │ │ │ +0000c740: 2020 5c73 6574 636f 756e 7465 727b 4167 \setcounter{Ag │ │ │ +0000c750: 6461 4053 7570 7072 6573 7353 7461 7274 da@SuppressStart │ │ │ +0000c760: 7d7b 5c76 616c 7565 7b41 6764 6140 4375 }{\value{Agda@Cu │ │ │ +0000c770: 7272 656e 747d 7d7d 7d0a 0a25 204d 6172 rrent}}}}..% Mar │ │ │ +0000c780: 6b73 2074 6865 2067 6976 656e 2063 6f64 ks the given cod │ │ │ +0000c790: 6520 626c 6f63 6b20 6173 206f 6e65 2074 e block as one t │ │ │ +0000c7a0: 6861 7420 7370 6163 6520 7368 6f75 6c64 hat space should │ │ │ +0000c7b0: 206e 6f74 2062 650a 2520 7375 7070 7265 not be.% suppre │ │ │ +0000c7c0: 7373 6564 2061 6674 6572 2028 6966 2041 ssed after (if A │ │ │ +0000c7d0: 6764 6153 7061 6365 4172 6f75 6e64 436f gdaSpaceAroundCo │ │ │ +0000c7e0: 6465 2061 6e64 2041 6764 6153 7570 7072 de and AgdaSuppr │ │ │ +0000c7f0: 6573 7353 7061 6365 2061 7265 0a25 2062 essSpace are.% b │ │ │ +0000c800: 6f74 6820 6163 7469 7665 292e 0a5c 6e65 oth active)..\ne │ │ │ +0000c810: 7763 6f6d 6d61 6e64 7b5c 4167 6461 4044 wcommand{\Agda@D │ │ │ +0000c820: 6f4e 6f74 5375 7070 7265 7373 5370 6163 oNotSuppressSpac │ │ │ +0000c830: 6541 6674 6572 7d5b 315d 7b25 0a20 2025 eAfter}[1]{%. % │ │ │ +0000c840: 2054 6865 2075 7365 206f 6620 6c61 6265 The use of labe │ │ │ +0000c850: 6c73 2069 7320 696e 7465 6e64 6564 2074 ls is intended t │ │ │ +0000c860: 6f20 656e 7375 7265 2074 6861 7420 4c61 o ensure that La │ │ │ +0000c870: 5465 5820 7769 6c6c 2070 726f 7669 6465 TeX will provide │ │ │ +0000c880: 2061 0a20 2025 2077 6172 6e69 6e67 2069 a. % warning i │ │ │ +0000c890: 6620 7468 6520 646f 6375 6d65 6e74 206e f the document n │ │ │ +0000c8a0: 6565 6473 2074 6f20 6265 2072 6563 6f6d eeds to be recom │ │ │ +0000c8b0: 7069 6c65 642e 0a20 205c 6c61 6265 6c7b piled.. \label{ │ │ │ +0000c8c0: 4167 6461 4044 6f4e 6f74 5375 7070 7265 Agda@DoNotSuppre │ │ │ +0000c8d0: 7373 5370 6163 6541 6674 6572 4023 317d ssSpaceAfter@#1} │ │ │ +0000c8e0: 7d0a 0a5c 6e65 7763 6f6d 6d61 6e64 7b5c }..\newcommand{\ │ │ │ +0000c8f0: 4167 6461 4053 7570 7072 6573 7345 6e64 Agda@SuppressEnd │ │ │ +0000c900: 7d7b 250a 2020 5c69 6674 6865 6e65 6c73 }{%. \ifthenels │ │ │ +0000c910: 657b 5c76 616c 7565 7b41 6764 6140 5375 e{\value{Agda@Su │ │ │ +0000c920: 7070 7265 7373 5374 6172 747d 203d 205c ppressStart} = \ │ │ │ +0000c930: 7661 6c75 657b 4167 6461 4043 7572 7265 value{Agda@Curre │ │ │ +0000c940: 6e74 7d7d 7b7d 7b25 0a20 2020 2025 204d nt}}{}{%. % M │ │ │ +0000c950: 6172 6b20 7468 6520 7072 6576 696f 7573 ark the previous │ │ │ +0000c960: 2063 6f64 6520 626c 6f63 6b20 696e 2074 code block in t │ │ │ +0000c970: 6865 202e 6175 7820 6669 6c65 2e0a 2020 he .aux file.. │ │ │ +0000c980: 2020 5c73 6574 636f 756e 7465 727b 4167 \setcounter{Ag │ │ │ +0000c990: 6461 4050 7265 7669 6f75 737d 7b5c 7468 da@Previous}{\th │ │ │ +0000c9a0: 6541 6764 6140 4375 7272 656e 742d 317d eAgda@Current-1} │ │ │ +0000c9b0: 250a 2020 2020 5c69 6d6d 6564 6961 7465 %. \immediate │ │ │ +0000c9c0: 5c77 7269 7465 5c40 6175 786f 7574 7b25 \write\@auxout{% │ │ │ +0000c9d0: 0a20 2020 2020 205c 6e6f 6578 7061 6e64 . \noexpand │ │ │ +0000c9e0: 5c41 6764 6140 446f 4e6f 7453 7570 7072 \Agda@DoNotSuppr │ │ │ +0000c9f0: 6573 7353 7061 6365 4166 7465 727b 5c74 essSpaceAfter{\t │ │ │ +0000ca00: 6865 4167 6461 4050 7265 7669 6f75 737d heAgda@Previous} │ │ │ +0000ca10: 7d7d 250a 2020 5c73 6574 626f 6f6c 6561 }}%. \setboolea │ │ │ +0000ca20: 6e7b 4167 6461 4053 7570 7072 6573 737d n{Agda@Suppress} │ │ │ +0000ca30: 7b66 616c 7365 7d7d 0a0a 5c6e 6577 656e {false}}..\newen │ │ │ +0000ca40: 7669 726f 6e6d 656e 747b 4167 6461 5375 vironment{AgdaSu │ │ │ +0000ca50: 7070 7265 7373 5370 6163 657d 7b25 0a20 ppressSpace}{%. │ │ │ +0000ca60: 205c 4167 6461 4053 7570 7072 6573 7353 \Agda@SuppressS │ │ │ +0000ca70: 7461 7274 7b7d 7d7b 250a 2020 5c41 6764 tart{}}{%. \Agd │ │ │ +0000ca80: 6140 5375 7070 7265 7373 456e 647b 7d25 a@SuppressEnd{}% │ │ │ +0000ca90: 0a20 205c 6967 6e6f 7265 7370 6163 6573 . \ignorespaces │ │ │ +0000caa0: 6166 7465 7265 6e64 7d0a 0a5c 6e65 7765 afterend}..\newe │ │ │ +0000cab0: 6e76 6972 6f6e 6d65 6e74 7b41 6764 614d nvironment{AgdaM │ │ │ +0000cac0: 756c 7469 436f 6465 7d7b 250a 2020 5c41 ultiCode}{%. \A │ │ │ +0000cad0: 6764 6140 416c 6967 6e53 7461 7274 7b7d gda@AlignStart{} │ │ │ +0000cae0: 250a 2020 5c41 6764 6140 5375 7070 7265 %. \Agda@Suppre │ │ │ +0000caf0: 7373 5374 6172 747b 7d7d 7b25 0a20 205c ssStart{}}{%. \ │ │ │ +0000cb00: 4167 6461 4053 7570 7072 6573 7345 6e64 Agda@SuppressEnd │ │ │ +0000cb10: 7b7d 250a 2020 5c41 6764 6140 416c 6967 {}%. \Agda@Alig │ │ │ +0000cb20: 6e45 6e64 7b7d 250a 2020 5c69 676e 6f72 nEnd{}%. \ignor │ │ │ +0000cb30: 6573 7061 6365 7361 6674 6572 656e 647d espacesafterend} │ │ │ +0000cb40: 0a0a 2520 5665 7274 6963 616c 2073 7061 ..% Vertical spa │ │ │ +0000cb50: 6365 2075 7365 6420 666f 7220 656d 7074 ce used for empt │ │ │ +0000cb60: 7920 6c69 6e65 732e 2042 7920 6465 6661 y lines. By defa │ │ │ +0000cb70: 756c 7420 5c61 626f 7665 6469 7370 6c61 ult \abovedispla │ │ │ +0000cb80: 7973 6b69 702e 0a5c 6e65 776c 656e 6774 yskip..\newlengt │ │ │ +0000cb90: 687b 5c41 6764 6145 6d70 7479 536b 6970 h{\AgdaEmptySkip │ │ │ +0000cba0: 7d0a 5c73 6574 6c65 6e67 7468 7b5c 4167 }.\setlength{\Ag │ │ │ +0000cbb0: 6461 456d 7074 7953 6b69 707d 7b5c 6162 daEmptySkip}{\ab │ │ │ +0000cbc0: 6f76 6564 6973 706c 6179 736b 6970 7d0a ovedisplayskip}. │ │ │ +0000cbd0: 0a25 2045 7874 7261 2073 7061 6365 2074 .% Extra space t │ │ │ +0000cbe0: 6f20 6265 2069 6e73 6572 7465 6420 666f o be inserted fo │ │ │ +0000cbf0: 7220 656d 7074 7920 6c69 6e65 7320 2874 r empty lines (t │ │ │ +0000cc00: 6865 2064 6966 6665 7265 6e63 6520 6265 he difference be │ │ │ +0000cc10: 7477 6565 6e0a 2520 5c41 6764 6145 6d70 tween.% \AgdaEmp │ │ │ +0000cc20: 7479 536b 6970 2061 6e64 205c 6261 7365 tySkip and \base │ │ │ +0000cc30: 6c69 6e65 736b 6970 292e 2055 7365 6420 lineskip). Used │ │ │ +0000cc40: 696e 7465 726e 616c 6c79 2e0a 5c6e 6577 internally..\new │ │ │ +0000cc50: 6c65 6e67 7468 7b5c 4167 6461 456d 7074 length{\AgdaEmpt │ │ │ +0000cc60: 7945 7874 7261 536b 6970 7d0a 0a25 2043 yExtraSkip}..% C │ │ │ +0000cc70: 6f75 6e74 6572 2075 7365 6420 666f 7220 ounter used for │ │ │ +0000cc80: 636f 6465 206e 756d 6265 7273 2e0a 5c6e code numbers..\n │ │ │ +0000cc90: 6577 636f 756e 7465 727b 4167 6461 436f ewcounter{AgdaCo │ │ │ +0000cca0: 6465 4e75 6d62 6572 7d0a 2520 466f 726d deNumber}.% Form │ │ │ +0000ccb0: 6174 7320 6120 636f 6465 206e 756d 6265 ats a code numbe │ │ │ +0000ccc0: 722e 0a5c 6e65 7763 6f6d 6d61 6e64 7b5c r..\newcommand{\ │ │ │ +0000ccd0: 4167 6461 466f 726d 6174 436f 6465 4e75 AgdaFormatCodeNu │ │ │ +0000cce0: 6d62 6572 7d5b 315d 7b28 2331 297d 0a0a mber}[1]{(#1)}.. │ │ │ +0000ccf0: 2520 4120 626f 6f6c 6561 6e20 7573 6564 % A boolean used │ │ │ +0000cd00: 2074 6f20 6861 6e64 6c65 2074 6865 206f to handle the o │ │ │ +0000cd10: 7074 696f 6e20 6e75 6d62 6572 2e0a 5c6e ption number..\n │ │ │ +0000cd20: 6577 626f 6f6c 6561 6e7b 4167 6461 404e ewboolean{Agda@N │ │ │ +0000cd30: 756d 6265 727d 0a5c 7365 7462 6f6f 6c65 umber}.\setboole │ │ │ +0000cd40: 616e 7b41 6764 6140 4e75 6d62 6572 7d7b an{Agda@Number}{ │ │ │ +0000cd50: 6661 6c73 657d 0a0a 2520 4120 626f 6f6c false}..% A bool │ │ │ +0000cd60: 6561 6e20 7573 6564 2074 6f20 6861 6e64 ean used to hand │ │ │ +0000cd70: 6c65 2074 6865 206f 7074 696f 6e20 696e le the option in │ │ │ +0000cd80: 6c69 6e65 2a2e 2028 466f 7220 736f 6d65 line*. (For some │ │ │ +0000cd90: 2072 6561 736f 6e20 7468 650a 2520 6170 reason the.% ap │ │ │ +0000cda0: 7072 6f61 6368 2075 7365 6420 666f 7220 proach used for │ │ │ +0000cdb0: 6869 6465 2061 6e64 2069 6e6c 696e 6520 hide and inline │ │ │ +0000cdc0: 646f 6573 206e 6f74 2077 6f72 6b20 666f does not work fo │ │ │ +0000cdd0: 7220 696e 6c69 6e65 2a2e 290a 5c6e 6577 r inline*.).\new │ │ │ +0000cde0: 626f 6f6c 6561 6e7b 4167 6461 4049 6e6c boolean{Agda@Inl │ │ │ +0000cdf0: 696e 6553 7461 727d 0a5c 7365 7462 6f6f ineStar}.\setboo │ │ │ +0000ce00: 6c65 616e 7b41 6764 6140 496e 6c69 6e65 lean{Agda@Inline │ │ │ +0000ce10: 5374 6172 7d7b 6661 6c73 657d 0a0a 2520 Star}{false}..% │ │ │ +0000ce20: 4b65 7973 2075 7365 6420 6279 2074 6865 Keys used by the │ │ │ +0000ce30: 2063 6f64 6520 656e 7669 726f 6e6d 656e code environmen │ │ │ +0000ce40: 742e 0a5c 6465 6669 6e65 4062 6f6f 6c6b t..\define@boolk │ │ │ +0000ce50: 6579 5b41 6764 615d 7b63 6f64 657d 7b68 ey[Agda]{code}{h │ │ │ +0000ce60: 6964 657d 5b74 7275 655d 7b7d 0a5c 6465 ide}[true]{}.\de │ │ │ +0000ce70: 6669 6e65 4062 6f6f 6c6b 6579 5b41 6764 fine@boolkey[Agd │ │ │ +0000ce80: 615d 7b63 6f64 657d 7b69 6e6c 696e 657d a]{code}{inline} │ │ │ +0000ce90: 5b74 7275 655d 7b7d 0a5c 6465 6669 6e65 [true]{}.\define │ │ │ +0000cea0: 4062 6f6f 6c6b 6579 5b41 6764 615d 7b63 @boolkey[Agda]{c │ │ │ +0000ceb0: 6f64 657d 7b69 6e6c 696e 652a 7d5b 7472 ode}{inline*}[tr │ │ │ +0000cec0: 7565 5d7b 250a 2020 5c73 6574 626f 6f6c ue]{%. \setbool │ │ │ +0000ced0: 6561 6e7b 4167 6461 4049 6e6c 696e 6553 ean{Agda@InlineS │ │ │ +0000cee0: 7461 727d 7b74 7275 657d 7d0a 5c64 6566 tar}{true}}.\def │ │ │ +0000cef0: 696e 6540 6b65 795b 4167 6461 5d7b 636f ine@key[Agda]{co │ │ │ +0000cf00: 6465 7d7b 6e75 6d62 6572 7d5b 5d7b 250a de}{number}[]{%. │ │ │ +0000cf10: 2020 5c69 6674 6865 6e65 6c73 657b 5c62 \ifthenelse{\b │ │ │ +0000cf20: 6f6f 6c65 616e 7b41 6764 6140 4e75 6d62 oolean{Agda@Numb │ │ │ +0000cf30: 6572 7d7d 7b7d 7b25 0a20 2020 205c 7365 er}}{}{%. \se │ │ │ +0000cf40: 7462 6f6f 6c65 616e 7b41 6764 6140 4e75 tboolean{Agda@Nu │ │ │ +0000cf50: 6d62 6572 7d7b 7472 7565 7d25 0a20 2020 mber}{true}%. │ │ │ +0000cf60: 2025 2049 6e63 7265 6173 6520 7468 6520 % Increase the │ │ │ +0000cf70: 636f 756e 7465 7220 6966 2074 6869 7320 counter if this │ │ │ +0000cf80: 6861 7320 6e6f 7420 616c 7265 6164 7920 has not already │ │ │ +0000cf90: 6265 656e 2064 6f6e 652e 0a20 2020 205c been done.. \ │ │ │ +0000cfa0: 7265 6673 7465 7063 6f75 6e74 6572 7b41 refstepcounter{A │ │ │ +0000cfb0: 6764 6143 6f64 654e 756d 6265 727d 7d25 gdaCodeNumber}}% │ │ │ +0000cfc0: 0a20 2025 2049 6620 7468 6520 6c61 6265 . % If the labe │ │ │ +0000cfd0: 6c20 6973 206e 6f6e 2d65 6d70 7479 2c20 l is non-empty, │ │ │ +0000cfe0: 7365 7420 6974 2e20 4e6f 7465 2074 6861 set it. Note tha │ │ │ +0000cff0: 7420 6974 2069 7320 706f 7373 6962 6c65 t it is possible │ │ │ +0000d000: 2074 6f0a 2020 2520 6769 7665 2073 6576 to. % give sev │ │ │ +0000d010: 6572 616c 206c 6162 656c 7320 666f 7220 eral labels for │ │ │ +0000d020: 6120 7369 6e67 6c65 2063 6f64 6520 6c69 a single code li │ │ │ +0000d030: 7374 696e 672e 0a20 205c 6966 7468 656e sting.. \ifthen │ │ │ +0000d040: 656c 7365 7b5c 6571 7561 6c7b 2331 7d7b else{\equal{#1}{ │ │ │ +0000d050: 7d7d 7b7d 7b5c 6c61 6265 6c7b 2331 7d7d }}{}{\label{#1}} │ │ │ +0000d060: 7d0a 0a25 2054 6865 2063 6f64 6520 656e }..% The code en │ │ │ +0000d070: 7669 726f 6e6d 656e 742e 0a25 0a25 204f vironment..%.% O │ │ │ +0000d080: 7074 696f 6e73 3a0a 250a 2520 2a20 6869 ptions:.%.% * hi │ │ │ +0000d090: 6465 3a20 5468 6520 636f 6465 2069 7320 de: The code is │ │ │ +0000d0a0: 6869 6464 656e 2e20 4f74 6865 7220 6f70 hidden. Other op │ │ │ +0000d0b0: 7469 6f6e 7320 6172 6520 6967 6e6f 7265 tions are ignore │ │ │ +0000d0c0: 642e 0a25 0a25 202a 206e 756d 6265 723a d..%.% * number: │ │ │ +0000d0d0: 2047 6976 6520 7468 6520 636f 6465 2061 Give the code a │ │ │ +0000d0e0: 6e20 6571 7561 7469 6f6e 206e 756d 6265 n equation numbe │ │ │ +0000d0f0: 722e 0a25 0a25 202a 206e 756d 6265 723d r..%.% * number= │ │ │ +0000d100: 6c3a 2047 6976 6520 7468 6520 636f 6465 l: Give the code │ │ │ +0000d110: 2061 6e20 6571 7561 7469 6f6e 206e 756d an equation num │ │ │ +0000d120: 6265 7220 616e 6420 7468 6520 6c61 6265 ber and the labe │ │ │ +0000d130: 6c20 6c2e 2049 7420 6973 0a25 2020 2070 l l. It is.% p │ │ │ +0000d140: 6f73 7369 626c 6520 746f 2075 7365 2074 ossible to use t │ │ │ +0000d150: 6869 7320 6f70 7469 6f6e 2073 6576 6572 his option sever │ │ │ +0000d160: 616c 2074 696d 6573 2077 6974 6820 6469 al times with di │ │ │ +0000d170: 6666 6572 656e 7420 6c61 6265 6c73 2e0a fferent labels.. │ │ │ +0000d180: 250a 2520 2a20 696e 6c69 6e65 2f69 6e6c %.% * inline/inl │ │ │ +0000d190: 696e 652a 3a20 5468 6520 636f 6465 2069 ine*: The code i │ │ │ +0000d1a0: 7320 696e 6c69 6e65 642e 2049 6e20 7468 s inlined. In th │ │ │ +0000d1b0: 6973 2063 6173 6520 6d6f 7374 206f 6620 is case most of │ │ │ +0000d1c0: 7468 650a 2520 2020 6469 7363 7573 7369 the.% discussi │ │ │ +0000d1d0: 6f6e 2061 626f 7665 2064 6f65 7320 6e6f on above does no │ │ │ +0000d1e0: 7420 6170 706c 792c 2061 6c69 676e 6d65 t apply, alignme │ │ │ +0000d1f0: 6e74 2069 7320 6e6f 7420 7265 7370 6563 nt is not respec │ │ │ +0000d200: 7465 642c 2061 6e64 2073 6f0a 2520 2020 ted, and so.% │ │ │ +0000d210: 6f6e 2e20 4974 2069 7320 7265 636f 6d6d on. It is recomm │ │ │ +0000d220: 656e 6465 6420 746f 206f 6e6c 7920 7573 ended to only us │ │ │ +0000d230: 6520 7468 6973 206f 7074 696f 6e20 666f e this option fo │ │ │ +0000d240: 7220 6120 7369 6e67 6c65 206c 696e 6520 r a single line │ │ │ +0000d250: 6f66 0a25 2020 2063 6f64 652c 2061 6e64 of.% code, and │ │ │ +0000d260: 2074 6f20 6e6f 7420 7573 6520 7477 6f20 to not use two │ │ │ +0000d270: 636f 6e73 6563 7574 6976 6520 7370 6163 consecutive spac │ │ │ +0000d280: 6573 2069 6e20 7468 6973 2070 6965 6365 es in this piece │ │ │ +0000d290: 206f 6620 636f 6465 2e0a 250a 2520 2020 of code..%.% │ │ │ +0000d2a0: 4e6f 7465 2074 6861 7420 7468 6973 2065 Note that this e │ │ │ +0000d2b0: 6e76 6972 6f6e 6d65 6e74 2069 676e 6f72 nvironment ignor │ │ │ +0000d2c0: 6573 2073 7061 6365 7320 6166 7465 7220 es spaces after │ │ │ +0000d2d0: 6974 7320 656e 642e 2049 6620 6120 7370 its end. If a sp │ │ │ +0000d2e0: 6163 650a 2520 2020 285c 4167 6461 5370 ace.% (\AgdaSp │ │ │ +0000d2f0: 6163 657b 7d29 2073 686f 756c 6420 6265 ace{}) should be │ │ │ +0000d300: 2069 6e73 6572 7465 6420 6166 7465 7220 inserted after │ │ │ +0000d310: 7468 6520 696e 6c69 6e65 2063 6f64 652c the inline code, │ │ │ +0000d320: 2075 7365 0a25 2020 2069 6e6c 696e 652a use.% inline* │ │ │ +0000d330: 2c20 6f74 6865 7277 6973 6520 7573 6520 , otherwise use │ │ │ +0000d340: 696e 6c69 6e65 2e0a 250a 2520 2020 5768 inline..%.% Wh │ │ │ +0000d350: 656e 2074 6869 7320 6f70 7469 6f6e 2069 en this option i │ │ │ +0000d360: 7320 7573 6564 206e 756d 6265 7220 6973 s used number is │ │ │ +0000d370: 2069 676e 6f72 6564 2e0a 250a 2520 5468 ignored..%.% Th │ │ │ +0000d380: 6520 696d 706c 656d 656e 7461 7469 6f6e e implementation │ │ │ +0000d390: 2069 7320 6261 7365 6420 6f6e 2070 6c61 is based on pla │ │ │ +0000d3a0: 696e 6873 636f 6465 2069 6e20 6c68 7332 inhscode in lhs2 │ │ │ +0000d3b0: 5465 5827 730a 2520 706f 6c79 636f 6465 TeX's.% polycode │ │ │ +0000d3c0: 2e66 6d74 2c20 7772 6974 7465 6e20 6279 .fmt, written by │ │ │ +0000d3d0: 2041 6e64 7265 7320 4cc3 b668 2e0a 5c4e Andres L..h..\N │ │ │ +0000d3e0: 6577 456e 7669 726f 6e7b 636f 6465 7d5b ewEnviron{code}[ │ │ │ +0000d3f0: 315d 5b5d 7b25 0a20 2025 2050 726f 6365 1][]{%. % Proce │ │ │ +0000d400: 7373 2074 6865 206f 7074 696f 6e73 2e20 ss the options. │ │ │ +0000d410: 436f 6d70 6c61 696e 2061 626f 7574 2075 Complain about u │ │ │ +0000d420: 6e6b 6e6f 776e 206f 7074 696f 6e73 2e0a nknown options.. │ │ │ +0000d430: 2020 5c73 6574 6b65 7973 5b41 6764 615d \setkeys[Agda] │ │ │ +0000d440: 7b63 6f64 657d 5b6e 756d 6265 725d 7b23 {code}[number]{# │ │ │ +0000d450: 317d 250a 2020 5c69 6641 6764 6140 636f 1}%. \ifAgda@co │ │ │ +0000d460: 6465 4068 6964 6525 0a20 2020 2025 2048 de@hide%. % H │ │ │ +0000d470: 6964 6520 7468 6520 636f 6465 2e0a 2020 ide the code.. │ │ │ +0000d480: 5c65 6c73 6525 0a20 205c 6966 4167 6461 \else%. \ifAgda │ │ │ +0000d490: 4063 6f64 6540 696e 6c69 6e65 250a 2020 @code@inline%. │ │ │ +0000d4a0: 2020 2520 496e 6c69 6e65 2063 6f64 652e % Inline code. │ │ │ +0000d4b0: 0a20 2020 2025 0a20 2020 2025 204d 616b . %. % Mak │ │ │ +0000d4c0: 6520 7468 6520 706f 6c79 7461 626c 6520 e the polytable │ │ │ +0000d4d0: 7072 696d 6974 6976 6573 2065 6d69 7474 primitives emitt │ │ │ +0000d4e0: 6564 2062 7920 7468 6520 4c61 5465 5820 ed by the LaTeX │ │ │ +0000d4f0: 6261 636b 656e 640a 2020 2020 2520 646f backend. % do │ │ │ +0000d500: 206e 6f74 6869 6e67 2e0a 2020 2020 5c44 nothing.. \D │ │ │ +0000d510: 6563 6c61 7265 446f 6375 6d65 6e74 436f eclareDocumentCo │ │ │ +0000d520: 6d6d 616e 647b 5c3e 7d7b 4f7b 7d4f 7b7d mmand{\>}{O{}O{} │ │ │ +0000d530: 7d7b 7d25 0a20 2020 205c 4465 636c 6172 }{}%. \Declar │ │ │ +0000d540: 6544 6f63 756d 656e 7443 6f6d 6d61 6e64 eDocumentCommand │ │ │ +0000d550: 7b5c 3c7d 7b4f 7b7d 7d7b 7d25 0a20 2020 {\<}{O{}}{}%. │ │ │ +0000d560: 205c 4167 6461 436f 6465 5374 796c 655c \AgdaCodeStyle\ │ │ │ +0000d570: 424f 4459 250a 2020 5c65 6c73 6525 0a20 BODY%. \else%. │ │ │ +0000d580: 205c 6966 7468 656e 656c 7365 7b5c 626f \ifthenelse{\bo │ │ │ +0000d590: 6f6c 6561 6e7b 4167 6461 4049 6e6c 696e olean{Agda@Inlin │ │ │ +0000d5a0: 6553 7461 727d 7d7b 250a 2020 2020 2520 eStar}}{%. % │ │ │ +0000d5b0: 496e 6c69 6e65 2063 6f64 6520 7769 7468 Inline code with │ │ │ +0000d5c0: 2073 7061 6365 2061 7420 7468 6520 656e space at the en │ │ │ +0000d5d0: 642e 0a20 2020 2025 0a20 2020 205c 4465 d.. %. \De │ │ │ +0000d5e0: 636c 6172 6544 6f63 756d 656e 7443 6f6d clareDocumentCom │ │ │ +0000d5f0: 6d61 6e64 7b5c 3e7d 7b4f 7b7d 4f7b 7d7d mand{\>}{O{}O{}} │ │ │ +0000d600: 7b7d 250a 2020 2020 5c44 6563 6c61 7265 {}%. \Declare │ │ │ +0000d610: 446f 6375 6d65 6e74 436f 6d6d 616e 647b DocumentCommand{ │ │ │ +0000d620: 5c3c 7d7b 4f7b 7d7d 7b7d 250a 2020 2020 \<}{O{}}{}%. │ │ │ +0000d630: 5c41 6764 6143 6f64 6553 7479 6c65 5c42 \AgdaCodeStyle\B │ │ │ +0000d640: 4f44 595c 4167 6461 5370 6163 657b 7d7d ODY\AgdaSpace{}} │ │ │ +0000d650: 7b25 0a20 2020 2025 0a20 2020 2025 2044 {%. %. % D │ │ │ +0000d660: 6973 706c 6179 6564 2063 6f64 652e 0a20 isplayed code.. │ │ │ +0000d670: 2020 2025 0a20 2020 2025 2043 6f6e 6469 %. % Condi │ │ │ +0000d680: 7469 6f6e 616c 6c79 2065 6d69 7420 7370 tionally emit sp │ │ │ +0000d690: 6163 6520 6265 666f 7265 2074 6865 2063 ace before the c │ │ │ +0000d6a0: 6f64 6520 626c 6f63 6b2e 2055 6e63 6f6e ode block. Uncon │ │ │ +0000d6b0: 6469 7469 6f6e 616c 6c79 0a20 2020 2025 ditionally. % │ │ │ +0000d6c0: 2073 7769 7463 6820 746f 2061 206e 6577 switch to a new │ │ │ +0000d6d0: 206c 696e 652e 0a20 2020 205c 6966 7468 line.. \ifth │ │ │ +0000d6e0: 656e 656c 7365 7b5c 626f 6f6c 6561 6e7b enelse{\boolean{ │ │ │ +0000d6f0: 4167 6461 4053 7061 6365 4172 6f75 6e64 Agda@SpaceAround │ │ │ +0000d700: 436f 6465 7d20 5c61 6e64 250a 2020 2020 Code} \and%. │ │ │ +0000d710: 2020 2020 2020 2020 2020 2020 5c28 5c6e \(\n │ │ │ +0000d720: 6f74 205c 626f 6f6c 6561 6e7b 4167 6461 ot \boolean{Agda │ │ │ +0000d730: 4053 7570 7072 6573 737d 205c 6f72 250a @Suppress} \or%. │ │ │ 0000d740: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0000d750: 205c 7661 6c75 657b 4167 6461 4053 7570 \value{Agda@Sup │ │ │ -0000d760: 7072 6573 7353 7461 7274 7d20 3d20 5c76 pressStart} = \v │ │ │ -0000d770: 616c 7565 7b41 6764 6140 4375 7272 656e alue{Agda@Curren │ │ │ -0000d780: 747d 5c29 7d7b 250a 2020 2020 2020 5c41 t}\)}{%. \A │ │ │ -0000d790: 6764 6140 4e65 776c 696e 6557 6974 6856 gda@NewlineWithV │ │ │ -0000d7a0: 6572 7469 6361 6c53 7061 6365 7b5c 6162 erticalSpace{\ab │ │ │ -0000d7b0: 6f76 6564 6973 706c 6179 736b 6970 7d7d ovedisplayskip}} │ │ │ -0000d7c0: 7b25 0a20 2020 2020 205c 4167 6461 404e {%. \Agda@N │ │ │ -0000d7d0: 6577 6c69 6e65 5769 7468 5665 7274 6963 ewlineWithVertic │ │ │ -0000d7e0: 616c 5370 6163 657b 3070 747d 7d25 0a20 alSpace{0pt}}%. │ │ │ -0000d7f0: 2020 2025 0a20 2020 2025 2043 6865 636b %. % Check │ │ │ -0000d800: 2069 6620 6e75 6d62 6572 7320 6861 7665 if numbers have │ │ │ -0000d810: 2062 6565 6e20 7265 7175 6573 7465 642e been requested. │ │ │ -0000d820: 2049 6620 7468 6579 2068 6176 652c 2074 If they have, t │ │ │ -0000d830: 6865 6e20 6120 7369 6465 0a20 2020 2025 hen a side. % │ │ │ -0000d840: 2065 6666 6563 7420 6f66 2074 6869 7320 effect of this │ │ │ -0000d850: 6361 6c6c 2069 7320 7468 6174 2041 6764 call is that Agd │ │ │ -0000d860: 6140 4e75 6d62 6572 2069 7320 7365 7420 a@Number is set │ │ │ -0000d870: 746f 2074 7275 652c 2074 6865 2063 6f64 to true, the cod │ │ │ -0000d880: 650a 2020 2020 2520 6e75 6d62 6572 2063 e. % number c │ │ │ -0000d890: 6f75 6e74 6572 2069 7320 696e 6372 6561 ounter is increa │ │ │ -0000d8a0: 7365 642c 2061 6e64 2074 6865 206c 6162 sed, and the lab │ │ │ -0000d8b0: 656c 2028 6966 2061 6e79 2920 6973 2073 el (if any) is s │ │ │ -0000d8c0: 6574 2e0a 2020 2020 5c73 6574 6b65 7973 et.. \setkeys │ │ │ -0000d8d0: 5b41 6764 615d 7b63 6f64 657d 5b68 6964 [Agda]{code}[hid │ │ │ -0000d8e0: 652c 696e 6c69 6e65 2c69 6e6c 696e 652a e,inline,inline* │ │ │ -0000d8f0: 5d7b 2331 7d25 0a20 2020 205c 6966 7468 ]{#1}%. \ifth │ │ │ -0000d900: 656e 656c 7365 7b5c 626f 6f6c 6561 6e7b enelse{\boolean{ │ │ │ -0000d910: 4167 6461 404e 756d 6265 727d 7d7b 250a Agda@Number}}{%. │ │ │ -0000d920: 2020 2020 2020 2520 4571 7561 7469 6f6e % Equation │ │ │ -0000d930: 206e 756d 6265 7273 2068 6176 6520 6265 numbers have be │ │ │ -0000d940: 656e 2072 6571 7565 7374 6564 2e20 5573 en requested. Us │ │ │ -0000d950: 6520 6120 6d69 6e69 7061 6765 2c20 736f e a minipage, so │ │ │ -0000d960: 2074 6861 740a 2020 2020 2020 2520 7468 that. % th │ │ │ -0000d970: 6572 6520 6973 2072 6f6f 6d20 666f 7220 ere is room for │ │ │ -0000d980: 7468 6520 636f 6465 206e 756d 6265 7220 the code number │ │ │ -0000d990: 746f 2074 6865 2072 6967 6874 2c20 616e to the right, an │ │ │ -0000d9a0: 6420 7468 6520 636f 6465 0a20 2020 2020 d the code. │ │ │ -0000d9b0: 2025 206e 756d 6265 7220 6265 636f 6d65 % number become │ │ │ -0000d9c0: 7320 6365 6e74 6572 6564 2076 6572 7469 s centered verti │ │ │ -0000d9d0: 6361 6c6c 792e 0a20 2020 2020 205c 6265 cally.. \be │ │ │ -0000d9e0: 6769 6e7b 6d69 6e69 7061 6765 7d7b 250a gin{minipage}{%. │ │ │ -0000d9f0: 2020 2020 2020 2020 2020 5c6c 696e 6577 \linew │ │ │ -0000da00: 6964 7468 2d25 0a20 2020 2020 2020 2020 idth-%. │ │ │ -0000da10: 205c 7769 6474 686f 667b 250a 2020 2020 \widthof{%. │ │ │ -0000da20: 2020 2020 2020 2020 5c41 6764 6153 7061 \AgdaSpa │ │ │ -0000da30: 6365 7b7d 250a 2020 2020 2020 2020 2020 ce{}%. │ │ │ -0000da40: 2020 5c41 6764 6146 6f72 6d61 7443 6f64 \AgdaFormatCod │ │ │ -0000da50: 654e 756d 6265 727b 5c74 6865 4167 6461 eNumber{\theAgda │ │ │ -0000da60: 436f 6465 4e75 6d62 6572 7d7d 7d7d 7b7d CodeNumber}}}}{} │ │ │ -0000da70: 250a 2020 2020 250a 2020 2020 2520 496e %. %. % In │ │ │ -0000da80: 6465 6e74 2074 6865 2065 6e74 6972 6520 dent the entire │ │ │ -0000da90: 636f 6465 2062 6c6f 636b 2e0a 2020 2020 code block.. │ │ │ -0000daa0: 5c61 6476 616e 6365 5c6c 6566 7473 6b69 \advance\leftski │ │ │ -0000dab0: 705c 6d61 7468 696e 6465 6e74 250a 2020 p\mathindent%. │ │ │ -0000dac0: 2020 250a 2020 2020 2520 5468 6520 636f %. % The co │ │ │ -0000dad0: 6465 2773 2073 7479 6c65 2063 616e 2062 de's style can b │ │ │ -0000dae0: 6520 6375 7374 6f6d 6973 6564 2e0a 2020 e customised.. │ │ │ -0000daf0: 2020 5c41 6764 6143 6f64 6553 7479 6c65 \AgdaCodeStyle │ │ │ -0000db00: 250a 2020 2020 250a 2020 2020 2520 5573 %. %. % Us │ │ │ -0000db10: 6564 2074 6f20 636f 6e74 726f 6c20 7468 ed to control th │ │ │ -0000db20: 6520 6865 6967 6874 206f 6620 656d 7074 e height of empt │ │ │ -0000db30: 7920 6c69 6e65 732e 0a20 2020 205c 7365 y lines.. \se │ │ │ -0000db40: 746c 656e 6774 687b 5c41 6764 6145 6d70 tlength{\AgdaEmp │ │ │ -0000db50: 7479 4578 7472 6153 6b69 707d 7b5c 4167 tyExtraSkip}{\Ag │ │ │ -0000db60: 6461 456d 7074 7953 6b69 7020 2d20 5c62 daEmptySkip - \b │ │ │ -0000db70: 6173 656c 696e 6573 6b69 707d 250a 2020 aselineskip}%. │ │ │ -0000db80: 2020 250a 2020 2020 2520 5468 6520 656e %. % The en │ │ │ -0000db90: 7669 726f 6e6d 656e 7420 7573 6564 2074 vironment used t │ │ │ -0000dba0: 6f20 6861 6e64 6c65 2069 6e64 656e 7461 o handle indenta │ │ │ -0000dbb0: 7469 6f6e 2028 6f66 2069 6e64 6976 6964 tion (of individ │ │ │ -0000dbc0: 7561 6c20 6c69 6e65 7329 0a20 2020 2025 ual lines). % │ │ │ -0000dbd0: 2061 6e64 2061 6c69 676e 6d65 6e74 2e0a and alignment.. │ │ │ -0000dbe0: 2020 2020 5c62 6567 696e 7b70 626f 7865 \begin{pboxe │ │ │ -0000dbf0: 647d 250a 2020 2020 2020 250a 2020 2020 d}%. %. │ │ │ -0000dc00: 2020 2520 436f 6e64 6974 696f 6e61 6c6c % Conditionall │ │ │ -0000dc10: 7920 7072 6573 6572 7665 2061 6c69 676e y preserve align │ │ │ -0000dc20: 6d65 6e74 2062 6574 7765 656e 2063 6f64 ment between cod │ │ │ -0000dc30: 6520 626c 6f63 6b73 2e0a 2020 2020 2020 e blocks.. │ │ │ -0000dc40: 5c69 6674 6865 6e65 6c73 657b 5c62 6f6f \ifthenelse{\boo │ │ │ -0000dc50: 6c65 616e 7b41 6764 6140 416c 6967 6e7d lean{Agda@Align} │ │ │ -0000dc60: 7d7b 250a 2020 2020 2020 2020 5c69 6674 }{%. \ift │ │ │ -0000dc70: 6865 6e65 6c73 657b 5c76 616c 7565 7b41 henelse{\value{A │ │ │ -0000dc80: 6764 6140 416c 6967 6e53 7461 7274 7d20 gda@AlignStart} │ │ │ -0000dc90: 3d20 5c76 616c 7565 7b41 6764 6140 4375 = \value{Agda@Cu │ │ │ -0000dca0: 7272 656e 747d 7d7b 250a 2020 2020 2020 rrent}}{%. │ │ │ -0000dcb0: 2020 2020 5c73 6176 6563 6f6c 756d 6e73 \savecolumns │ │ │ -0000dcc0: 7d7b 250a 2020 2020 2020 2020 2020 5c72 }{%. \r │ │ │ -0000dcd0: 6573 746f 7265 636f 6c75 6d6e 737d 7d7b estorecolumns}}{ │ │ │ -0000dce0: 7d25 0a20 2020 2020 2025 0a20 2020 2020 }%. %. │ │ │ -0000dcf0: 2025 2054 6865 2063 6f64 652e 0a20 2020 % The code.. │ │ │ -0000dd00: 2020 205c 424f 4459 250a 2020 2020 5c65 \BODY%. \e │ │ │ -0000dd10: 6e64 7b70 626f 7865 647d 250a 2020 2020 nd{pboxed}%. │ │ │ -0000dd20: 250a 2020 2020 5c69 6674 6865 6e65 6c73 %. \ifthenels │ │ │ -0000dd30: 657b 5c62 6f6f 6c65 616e 7b41 6764 6140 e{\boolean{Agda@ │ │ │ -0000dd40: 4e75 6d62 6572 7d7d 7b25 0a20 2020 2020 Number}}{%. │ │ │ -0000dd50: 2025 2045 7175 6174 696f 6e20 6e75 6d62 % Equation numb │ │ │ -0000dd60: 6572 7320 6861 7665 2062 6565 6e20 7265 ers have been re │ │ │ -0000dd70: 7175 6573 7465 642e 0a20 2020 2020 205c quested.. \ │ │ │ -0000dd80: 656e 647b 6d69 6e69 7061 6765 7d25 0a20 end{minipage}%. │ │ │ -0000dd90: 2020 2020 2025 2049 6e73 6572 7420 7468 % Insert th │ │ │ -0000dda0: 6520 636f 6465 206e 756d 6265 7220 746f e code number to │ │ │ -0000ddb0: 2074 6865 2072 6967 6874 2e0a 2020 2020 the right.. │ │ │ -0000ddc0: 2020 5c68 6669 6c6c 205c 4167 6461 466f \hfill \AgdaFo │ │ │ -0000ddd0: 726d 6174 436f 6465 4e75 6d62 6572 7b5c rmatCodeNumber{\ │ │ │ -0000dde0: 7468 6541 6764 6143 6f64 654e 756d 6265 theAgdaCodeNumbe │ │ │ -0000ddf0: 727d 7d7b 7d25 0a20 2020 2025 0a20 2020 r}}{}%. %. │ │ │ -0000de00: 2025 2044 6f65 7320 7468 6520 6c61 6265 % Does the labe │ │ │ -0000de10: 6c20 4167 6461 4044 6f4e 6f74 5375 7070 l Agda@DoNotSupp │ │ │ -0000de20: 7265 7373 4166 7465 7240 3c63 7572 7265 ressAfter@ exis │ │ │ -0000de50: 743f 0a20 2020 205c 6966 6373 6465 667b t?. \ifcsdef{ │ │ │ -0000de60: 7240 4167 6461 4044 6f4e 6f74 5375 7070 r@Agda@DoNotSupp │ │ │ -0000de70: 7265 7373 5370 6163 6541 6674 6572 405c ressSpaceAfter@\ │ │ │ -0000de80: 7468 6541 6764 6140 4375 7272 656e 747d theAgda@Current} │ │ │ -0000de90: 7b25 0a20 2020 2020 205c 7365 7462 6f6f {%. \setboo │ │ │ -0000dea0: 6c65 616e 7b41 6764 6140 446f 4e6f 7453 lean{Agda@DoNotS │ │ │ -0000deb0: 7570 7072 6573 7353 7061 6365 4166 7465 uppressSpaceAfte │ │ │ -0000dec0: 727d 7b74 7275 657d 7d7b 250a 2020 2020 r}{true}}{%. │ │ │ -0000ded0: 2020 5c73 6574 626f 6f6c 6561 6e7b 4167 \setboolean{Ag │ │ │ -0000dee0: 6461 4044 6f4e 6f74 5375 7070 7265 7373 da@DoNotSuppress │ │ │ -0000def0: 5370 6163 6541 6674 6572 7d7b 6661 6c73 SpaceAfter}{fals │ │ │ -0000df00: 657d 7d25 0a20 2020 2025 0a20 2020 2025 e}}%. %. % │ │ │ -0000df10: 2043 6f6e 6469 7469 6f6e 616c 6c79 2065 Conditionally e │ │ │ -0000df20: 6d69 7420 7370 6163 6520 6166 7465 7220 mit space after │ │ │ -0000df30: 7468 6520 636f 6465 2062 6c6f 636b 2e20 the code block. │ │ │ -0000df40: 556e 636f 6e64 6974 696f 6e61 6c6c 790a Unconditionally. │ │ │ -0000df50: 2020 2020 2520 7377 6974 6368 2074 6f20 % switch to │ │ │ -0000df60: 6120 6e65 7720 6c69 6e65 2e0a 2020 2020 a new line.. │ │ │ -0000df70: 5c69 6674 6865 6e65 6c73 657b 5c62 6f6f \ifthenelse{\boo │ │ │ -0000df80: 6c65 616e 7b41 6764 6140 5370 6163 6541 lean{Agda@SpaceA │ │ │ -0000df90: 726f 756e 6443 6f64 657d 205c 616e 6425 roundCode} \and% │ │ │ -0000dfa0: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ -0000dfb0: 205c 285c 6e6f 7420 5c62 6f6f 6c65 616e \(\not \boolean │ │ │ -0000dfc0: 7b41 6764 6140 5375 7070 7265 7373 7d20 {Agda@Suppress} │ │ │ -0000dfd0: 5c6f 7225 0a20 2020 2020 2020 2020 2020 \or%. │ │ │ -0000dfe0: 2020 2020 2020 205c 626f 6f6c 6561 6e7b \boolean{ │ │ │ -0000dff0: 4167 6461 4044 6f4e 6f74 5375 7070 7265 Agda@DoNotSuppre │ │ │ -0000e000: 7373 5370 6163 6541 6674 6572 7d5c 297d ssSpaceAfter}\)} │ │ │ -0000e010: 7b25 0a20 2020 2020 205c 4167 6461 404e {%. \Agda@N │ │ │ -0000e020: 6577 6c69 6e65 5769 7468 5665 7274 6963 ewlineWithVertic │ │ │ -0000e030: 616c 5370 6163 657b 5c62 656c 6f77 6469 alSpace{\belowdi │ │ │ -0000e040: 7370 6c61 7973 6b69 707d 7d7b 250a 2020 splayskip}}{%. │ │ │ -0000e050: 2020 2020 5c41 6764 6140 4e65 776c 696e \Agda@Newlin │ │ │ -0000e060: 6557 6974 6856 6572 7469 6361 6c53 7061 eWithVerticalSpa │ │ │ -0000e070: 6365 7b30 7074 7d7d 250a 2020 2020 250a ce{0pt}}%. %. │ │ │ -0000e080: 2020 2020 2520 5374 6570 2074 6865 2063 % Step the c │ │ │ -0000e090: 6f64 6520 626c 6f63 6b20 636f 756e 7465 ode block counte │ │ │ -0000e0a0: 722c 2062 7574 206f 6e6c 7920 666f 7220 r, but only for │ │ │ -0000e0b0: 6e6f 6e2d 6869 6464 656e 2063 6f64 652e non-hidden code. │ │ │ -0000e0c0: 0a20 2020 205c 7374 6570 636f 756e 7465 . \stepcounte │ │ │ -0000e0d0: 727b 4167 6461 4043 7572 7265 6e74 7d7d r{Agda@Current}} │ │ │ -0000e0e0: 250a 2020 5c66 6925 0a20 205c 6669 250a %. \fi%. \fi%. │ │ │ -0000e0f0: 2020 2520 5265 7365 7420 4167 6461 404e % Reset Agda@N │ │ │ -0000e100: 756d 6265 7220 616e 6420 4167 6461 4049 umber and Agda@I │ │ │ -0000e110: 6e6c 696e 6553 7461 722e 0a20 205c 7365 nlineStar.. \se │ │ │ -0000e120: 7462 6f6f 6c65 616e 7b41 6764 6140 4e75 tboolean{Agda@Nu │ │ │ -0000e130: 6d62 6572 7d7b 6661 6c73 657d 250a 2020 mber}{false}%. │ │ │ -0000e140: 5c73 6574 626f 6f6c 6561 6e7b 4167 6461 \setboolean{Agda │ │ │ -0000e150: 4049 6e6c 696e 6553 7461 727d 7b66 616c @InlineStar}{fal │ │ │ -0000e160: 7365 7d7d 0a0a 2520 5370 6163 6520 696e se}}..% Space in │ │ │ -0000e170: 7365 7274 6564 2061 6674 6572 2074 6f6b serted after tok │ │ │ -0000e180: 656e 732e 0a5c 6e65 7763 6f6d 6d61 6e64 ens..\newcommand │ │ │ -0000e190: 7b5c 4167 6461 5370 6163 657d 7b20 7d0a {\AgdaSpace}{ }. │ │ │ -0000e1a0: 0a25 2053 7061 6365 2069 6e73 6572 7465 .% Space inserte │ │ │ -0000e1b0: 6420 746f 2069 6e64 656e 7420 736f 6d65 d to indent some │ │ │ -0000e1c0: 7468 696e 672e 0a5c 6e65 7763 6f6d 6d61 thing..\newcomma │ │ │ -0000e1d0: 6e64 7b5c 4167 6461 496e 6465 6e74 5370 nd{\AgdaIndentSp │ │ │ -0000e1e0: 6163 657d 7b5c 4167 6461 5370 6163 657b ace}{\AgdaSpace{ │ │ │ -0000e1f0: 7d24 5c3b 5c3b 247d 0a0a 2520 4465 6661 }$\;\;$}..% Defa │ │ │ -0000e200: 756c 7420 636f 6c75 6d6e 2066 6f72 2070 ult column for p │ │ │ -0000e210: 6f6c 7974 6162 6c65 2e0a 5c64 6566 6175 olytable..\defau │ │ │ -0000e220: 6c74 636f 6c75 6d6e 7b40 7b7d 6c40 7b5c ltcolumn{@{}l@{\ │ │ │ -0000e230: 4167 6461 5370 6163 657b 7d7d 7d0a 0a25 AgdaSpace{}}}..% │ │ │ -0000e240: 205c 4167 6461 496e 6465 6e74 2065 7870 \AgdaIndent exp │ │ │ -0000e250: 6563 7473 2061 206e 6f6e 2d6e 6567 6174 ects a non-negat │ │ │ -0000e260: 6976 6520 696e 7465 6765 7220 6173 2069 ive integer as i │ │ │ -0000e270: 7473 206f 6e6c 7920 6172 6775 6d65 6e74 ts only argument │ │ │ -0000e280: 2e0a 2520 5468 6973 2069 6e74 6567 6572 ..% This integer │ │ │ -0000e290: 2073 686f 756c 6420 6265 2074 6865 2064 should be the d │ │ │ -0000e2a0: 6973 7461 6e63 652c 2069 6e20 636f 6465 istance, in code │ │ │ -0000e2b0: 2062 6c6f 636b 732c 2074 6f20 7468 6520 blocks, to the │ │ │ -0000e2c0: 7468 696e 670a 2520 7265 6c61 7469 7665 thing.% relative │ │ │ -0000e2d0: 2074 6f20 7768 6963 6820 7468 6520 7465 to which the te │ │ │ -0000e2e0: 7874 2069 7320 696e 6465 6e74 6564 2e0a xt is indented.. │ │ │ -0000e2f0: 250a 2520 5468 6520 6465 6661 756c 7420 %.% The default │ │ │ -0000e300: 696d 706c 656d 656e 7461 7469 6f6e 206f implementation o │ │ │ -0000e310: 6e6c 7920 696e 6465 6e74 7320 6966 2074 nly indents if t │ │ │ -0000e320: 6865 2074 6869 6e67 2074 6861 7420 7468 he thing that th │ │ │ -0000e330: 6520 7465 7874 0a25 2069 7320 696e 6465 e text.% is inde │ │ │ -0000e340: 6e74 6564 2072 656c 6174 6976 6520 746f nted relative to │ │ │ -0000e350: 2065 7869 7374 7320 696e 2074 6865 2073 exists in the s │ │ │ -0000e360: 616d 6520 636f 6465 2062 6c6f 636b 206f ame code block o │ │ │ -0000e370: 7220 6973 2077 7261 7070 6564 0a25 2069 r is wrapped.% i │ │ │ -0000e380: 6e20 7468 6520 7361 6d65 2041 6764 6141 n the same AgdaA │ │ │ -0000e390: 6c69 676e 206f 7220 4167 6461 4d75 6c74 lign or AgdaMult │ │ │ -0000e3a0: 6943 6f64 6520 656e 7669 726f 6e6d 656e iCode environmen │ │ │ -0000e3b0: 742e 0a5c 6e65 7763 6f6d 6d61 6e64 7b5c t..\newcommand{\ │ │ │ -0000e3c0: 4167 6461 496e 6465 6e74 7d5b 315d 7b25 AgdaIndent}[1]{% │ │ │ -0000e3d0: 0a20 205c 6966 7468 656e 656c 7365 7b23 . \ifthenelse{# │ │ │ -0000e3e0: 3120 3d20 300a 2020 2020 2020 2020 2020 1 = 0. │ │ │ -0000e3f0: 2020 2020 2020 5c6f 720a 2020 2020 2020 \or. │ │ │ -0000e400: 2020 2020 2020 2020 5c28 205c 626f 6f6c \( \bool │ │ │ -0000e410: 6561 6e7b 4167 6461 4041 6c69 676e 7d0a ean{Agda@Align}. │ │ │ -0000e420: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0000e430: 2020 205c 616e 640a 2020 2020 2020 2020 \and. │ │ │ -0000e440: 2020 2020 2020 2020 205c 636e 7474 6573 \cnttes │ │ │ -0000e450: 747b 5c76 616c 7565 7b41 6764 6140 4375 t{\value{Agda@Cu │ │ │ -0000e460: 7272 656e 747d 202d 2023 317d 7b3e 3d7d rrent} - #1}{>=} │ │ │ -0000e470: 7b0a 2020 2020 2020 2020 2020 2020 2020 {. │ │ │ -0000e480: 2020 2020 2020 2020 2020 2020 5c76 616c \val │ │ │ -0000e490: 7565 7b41 6764 6140 416c 6967 6e53 7461 ue{Agda@AlignSta │ │ │ -0000e4a0: 7274 7d7d 0a20 2020 2020 2020 2020 2020 rt}}. │ │ │ -0000e4b0: 2020 205c 297d 7b5c 4167 6461 496e 6465 \)}{\AgdaInde │ │ │ -0000e4c0: 6e74 5370 6163 657b 7d7d 7b7d 7d0a 0a25 ntSpace{}}{}}..% │ │ │ -0000e4d0: 2055 6e64 6572 7363 6f72 6573 2061 7265 Underscores are │ │ │ -0000e4e0: 2074 7970 6573 6574 2075 7369 6e67 205c typeset using \ │ │ │ -0000e4f0: 4167 6461 556e 6465 7273 636f 7265 7b7d AgdaUnderscore{} │ │ │ -0000e500: 2e0a 5c6e 6577 636f 6d6d 616e 647b 5c41 ..\newcommand{\A │ │ │ -0000e510: 6764 6155 6e64 6572 7363 6f72 657d 7b5c gdaUnderscore}{\ │ │ │ -0000e520: 5f7d 0a0a 5c65 6e64 696e 7075 740a c2dd _}..\endinput... │ │ │ -0000e530: 9ac7 8a81 f7ea 2c91 8acc ff84 eee2 8dc1 ......,......... │ │ │ -0000e540: 0100 8301 0000 e57f 05b4 8080 e608 0000 ................ │ │ │ -0000e550: 0005 2000 0001 0001 0004 0408 0307 0286 .. ............. │ │ │ -0000e560: 8080 ec08 0200 0003 0f00 0505 050b 8780 ................ │ │ │ -0000e570: 80ec 0801 0520 0000 010b 8e01 0b8f 01ee ..... .......... │ │ │ -0000e580: e99e 8eac 89e4 9274 b6fc b4df 92f3 c8bc .......t........ │ │ │ -0000e590: 9d01 0090 0100 00e5 bd05 2000 0001 0004 .......... ..... │ │ │ -0000e5a0: 0408 0307 025e 0200 0003 0f00 0505 050b .....^.......... │ │ │ -0000e5b0: 5f0b 9101 0b61 0906 0100 b9d0 0098 93a9 _....a.......... │ │ │ -0000e5c0: a6bd c2f7 a772 f4f8 a6f7 a3b8 ba8f 3800 .....r........8. │ │ │ -0000e5d0: 9101 0001 0e28 0582 8080 e608 0000 0100 .....(.......... │ │ │ -0000e5e0: 0304 0704 0200 0003 0f00 0901 b9d0 0064 ...............d │ │ │ -0000e5f0: 6566 696e 6528 5b5d 2c20 6675 6e63 7469 efine([], functi │ │ │ -0000e600: 6f6e 2829 207b 0a76 6172 2065 7870 6f72 on() {.var expor │ │ │ -0000e610: 7473 203d 207b 7d3b 0a2f 2f20 436f 6e74 ts = {};.// Cont │ │ │ -0000e620: 6169 6e73 202a 6d6f 7374 2a20 6f66 2074 ains *most* of t │ │ │ -0000e630: 6865 2070 7269 6d69 7469 7665 7320 7265 he primitives re │ │ │ -0000e640: 7175 6972 6564 2062 7920 7468 6520 4a61 quired by the Ja │ │ │ -0000e650: 7661 5363 7269 7074 2062 6163 6b65 6e64 vaScript backend │ │ │ -0000e660: 2e0a 2f2f 2028 536f 6d65 2c20 652e 672e ..// (Some, e.g. │ │ │ -0000e670: 2c20 7468 6f73 6520 7573 696e 6720 4167 , those using Ag │ │ │ -0000e680: 6461 2074 7970 6573 206c 696b 6520 4d61 da types like Ma │ │ │ -0000e690: 7962 652c 2061 7265 2064 6566 696e 6564 ybe, are defined │ │ │ -0000e6a0: 2069 6e20 7468 6569 720a 2f2f 2072 6573 in their.// res │ │ │ -0000e6b0: 7065 6374 6976 6520 6275 696c 7469 6e20 pective builtin │ │ │ -0000e6c0: 6d6f 6475 6c65 732e 290a 2f2f 0a2f 2f20 modules.).//.// │ │ │ -0000e6d0: 5072 696d 6974 6976 6573 2070 7265 6669 Primitives prefi │ │ │ -0000e6e0: 7865 6420 6279 2027 7527 2061 7265 2075 xed by 'u' are u │ │ │ -0000e6f0: 6e63 7572 7269 6564 2076 6172 6961 6e74 ncurried variant │ │ │ -0000e700: 732c 2077 6869 6368 2061 7265 2073 6f6d s, which are som │ │ │ -0000e710: 6574 696d 6573 0a2f 2f20 656d 6974 7465 etimes.// emitte │ │ │ -0000e720: 6420 6279 2074 6865 204a 6176 6153 6372 d by the JavaScr │ │ │ -0000e730: 6970 7420 6261 636b 656e 642e 2057 6865 ipt backend. Whe │ │ │ -0000e740: 6e65 7665 7220 706f 7373 6962 6c65 2c20 never possible, │ │ │ -0000e750: 7468 6520 6375 7272 6965 6420 7072 696d the curried prim │ │ │ -0000e760: 6974 6976 6573 0a2f 2f20 7368 6f75 6c64 itives.// should │ │ │ -0000e770: 2062 6520 696d 706c 656d 656e 7465 6420 be implemented │ │ │ -0000e780: 696e 2074 6572 6d73 206f 6620 7468 6520 in terms of the │ │ │ -0000e790: 756e 6375 7272 6965 6420 6f6e 6573 2e0a uncurried ones.. │ │ │ -0000e7a0: 2f2f 0a2f 2f20 5072 696d 6974 6976 6573 //.// Primitives │ │ │ -0000e7b0: 2070 7265 6669 7865 6420 6279 2027 5f27 prefixed by '_' │ │ │ -0000e7c0: 2061 7265 2069 6e74 6572 6e61 6c20 7661 are internal va │ │ │ -0000e7d0: 7269 616e 7473 2c20 7573 7561 6c6c 7920 riants, usually │ │ │ -0000e7e0: 666f 7220 7468 6f73 6520 7072 696d 6974 for those primit │ │ │ -0000e7f0: 6976 6573 0a2f 2f20 7768 6963 6820 7265 ives.// which re │ │ │ -0000e800: 7475 726e 2041 6764 6120 7479 7065 7320 turn Agda types │ │ │ -0000e810: 6c69 6b65 204d 6179 6265 2e20 5468 6573 like Maybe. Thes │ │ │ -0000e820: 6520 6172 6520 6e65 7665 7220 656d 6974 e are never emit │ │ │ -0000e830: 7465 6420 6279 2074 6865 2063 6f6d 7069 ted by the compi │ │ │ -0000e840: 6c65 722c 0a2f 2f20 6275 7420 6361 6e20 ler,.// but can │ │ │ -0000e850: 6265 2075 7365 6420 696e 7465 726e 616c be used internal │ │ │ -0000e860: 6c79 2074 6f20 6465 6669 6e65 206f 7468 ly to define oth │ │ │ -0000e870: 6572 2070 7265 6669 7865 732e 0a0a 2f2f er prefixes...// │ │ │ -0000e880: 2049 6e74 6567 6572 730a 0a2f 2f20 7072 Integers..// pr │ │ │ -0000e890: 696d 496e 7465 6765 7246 726f 6d53 7472 imIntegerFromStr │ │ │ -0000e8a0: 696e 6720 3a20 5374 7269 6e67 202d 3e20 ing : String -> │ │ │ -0000e8b0: 496e 740a 6578 706f 7274 732e 7072 696d Int.exports.prim │ │ │ -0000e8c0: 496e 7465 6765 7246 726f 6d53 7472 696e IntegerFromStrin │ │ │ -0000e8d0: 6720 3d20 4269 6749 6e74 3b0a 0a2f 2f20 g = BigInt;..// │ │ │ -0000e8e0: 7072 696d 5368 6f77 496e 7465 6765 7220 primShowInteger │ │ │ -0000e8f0: 3a20 496e 7420 2d3e 2053 7472 696e 670a : Int -> String. │ │ │ -0000e900: 6578 706f 7274 732e 7072 696d 5368 6f77 exports.primShow │ │ │ -0000e910: 496e 7465 6765 7220 3d20 7820 3d3e 2078 Integer = x => x │ │ │ -0000e920: 2e74 6f53 7472 696e 6728 293b 0a0a 2f2f .toString();..// │ │ │ -0000e930: 2075 7072 696d 496e 7465 6765 7250 6c75 uprimIntegerPlu │ │ │ -0000e940: 7320 3a20 2849 6e74 2c20 496e 7429 202d s : (Int, Int) - │ │ │ -0000e950: 3e20 496e 740a 6578 706f 7274 732e 7570 > Int.exports.up │ │ │ -0000e960: 7269 6d49 6e74 6567 6572 506c 7573 203d rimIntegerPlus = │ │ │ -0000e970: 2028 782c 2079 2920 3d3e 2078 202b 2079 (x, y) => x + y │ │ │ -0000e980: 3b0a 0a2f 2f20 7570 7269 6d49 6e74 6567 ;..// uprimInteg │ │ │ -0000e990: 6572 4d69 6e75 7320 3a20 2849 6e74 2c20 erMinus : (Int, │ │ │ -0000e9a0: 496e 7429 202d 3e20 496e 740a 6578 706f Int) -> Int.expo │ │ │ -0000e9b0: 7274 732e 7570 7269 6d49 6e74 6567 6572 rts.uprimInteger │ │ │ -0000e9c0: 4d69 6e75 7320 3d20 2878 2c20 7929 203d Minus = (x, y) = │ │ │ -0000e9d0: 3e20 7820 2d20 793b 0a0a 2f2f 2075 7072 > x - y;..// upr │ │ │ -0000e9e0: 696d 496e 7465 6765 724d 756c 7469 706c imIntegerMultipl │ │ │ -0000e9f0: 7920 3a20 2849 6e74 2c20 496e 7429 202d y : (Int, Int) - │ │ │ -0000ea00: 3e20 496e 740a 6578 706f 7274 732e 7570 > Int.exports.up │ │ │ -0000ea10: 7269 6d49 6e74 6567 6572 4d75 6c74 6970 rimIntegerMultip │ │ │ -0000ea20: 6c79 203d 2028 782c 2079 2920 3d3e 2078 ly = (x, y) => x │ │ │ -0000ea30: 202a 2079 3b0a 0a2f 2f20 7570 7269 6d49 * y;..// uprimI │ │ │ -0000ea40: 6e74 6567 6572 5265 6d20 3a20 2849 6e74 ntegerRem : (Int │ │ │ -0000ea50: 2c20 496e 7429 202d 3e20 496e 740a 6578 , Int) -> Int.ex │ │ │ -0000ea60: 706f 7274 732e 7570 7269 6d49 6e74 6567 ports.uprimInteg │ │ │ -0000ea70: 6572 5265 6d20 3d20 2878 2c20 7929 203d erRem = (x, y) = │ │ │ -0000ea80: 3e20 7820 2520 793b 0a0a 2f2f 2075 7072 > x % y;..// upr │ │ │ -0000ea90: 696d 496e 7465 6765 7251 756f 7420 3a20 imIntegerQuot : │ │ │ -0000eaa0: 2849 6e74 2c20 496e 7429 202d 3e20 496e (Int, Int) -> In │ │ │ -0000eab0: 740a 6578 706f 7274 732e 7570 7269 6d49 t.exports.uprimI │ │ │ -0000eac0: 6e74 6567 6572 5175 6f74 203d 2028 782c ntegerQuot = (x, │ │ │ -0000ead0: 2079 2920 3d3e 2078 202f 2079 3b0a 0a2f y) => x / y;../ │ │ │ -0000eae0: 2f20 7570 7269 6d49 6e74 6567 6572 4571 / uprimIntegerEq │ │ │ -0000eaf0: 7561 6c20 3a20 2849 6e74 2c20 496e 7429 ual : (Int, Int) │ │ │ -0000eb00: 202d 3e20 426f 6f6c 0a65 7870 6f72 7473 -> Bool.exports │ │ │ -0000eb10: 2e75 7072 696d 496e 7465 6765 7245 7175 .uprimIntegerEqu │ │ │ -0000eb20: 616c 203d 2028 782c 2079 2920 3d3e 2078 al = (x, y) => x │ │ │ -0000eb30: 203d 3d3d 2079 3b0a 0a2f 2f20 7570 7269 === y;..// upri │ │ │ -0000eb40: 6d49 6e74 6567 6572 4772 6561 7465 724f mIntegerGreaterO │ │ │ -0000eb50: 7245 7175 616c 5468 616e 203a 2028 496e rEqualThan : (In │ │ │ -0000eb60: 742c 2049 6e74 2920 2d3e 2042 6f6f 6c0a t, Int) -> Bool. │ │ │ -0000eb70: 6578 706f 7274 732e 7570 7269 6d49 6e74 exports.uprimInt │ │ │ -0000eb80: 6567 6572 4772 6561 7465 724f 7245 7175 egerGreaterOrEqu │ │ │ -0000eb90: 616c 5468 616e 203d 2028 782c 2079 2920 alThan = (x, y) │ │ │ -0000eba0: 3d3e 2078 203e 3d20 793b 0a0a 2f2f 2075 => x >= y;..// u │ │ │ -0000ebb0: 7072 696d 496e 7465 6765 724c 6573 7354 primIntegerLessT │ │ │ -0000ebc0: 6861 6e20 3a20 2849 6e74 2c20 496e 7429 han : (Int, Int) │ │ │ -0000ebd0: 202d 3e20 426f 6f6c 0a65 7870 6f72 7473 -> Bool.exports │ │ │ -0000ebe0: 2e75 7072 696d 496e 7465 6765 724c 6573 .uprimIntegerLes │ │ │ -0000ebf0: 7354 6861 6e20 3d20 2878 2c20 7929 203d sThan = (x, y) = │ │ │ -0000ec00: 3e20 7820 3c20 793b 0a0a 2f2f 2057 6f72 > x < y;..// Wor │ │ │ -0000ec10: 6473 0a63 6f6e 7374 2057 4f52 4436 345f ds.const WORD64_ │ │ │ -0000ec20: 4d41 585f 5641 4c55 4520 3d20 3138 3434 MAX_VALUE = 1844 │ │ │ -0000ec30: 3637 3434 3037 3337 3039 3535 3230 3030 6744073709552000 │ │ │ -0000ec40: 6e3b 0a0a 2f2f 2070 7269 6d57 6f72 6436 n;..// primWord6 │ │ │ -0000ec50: 3454 6f4e 6174 203a 2057 6f72 6436 3420 4ToNat : Word64 │ │ │ -0000ec60: 2d3e 204e 6174 0a65 7870 6f72 7473 2e70 -> Nat.exports.p │ │ │ -0000ec70: 7269 6d57 6f72 6436 3454 6f4e 6174 203d rimWord64ToNat = │ │ │ -0000ec80: 2078 203d 3e20 783b 0a0a 2f2f 2070 7269 x => x;..// pri │ │ │ -0000ec90: 6d57 6f72 6436 3446 726f 6d4e 6174 203a mWord64FromNat : │ │ │ -0000eca0: 204e 6174 202d 3e20 576f 7264 3634 0a65 Nat -> Word64.e │ │ │ -0000ecb0: 7870 6f72 7473 2e70 7269 6d57 6f72 6436 xports.primWord6 │ │ │ -0000ecc0: 3446 726f 6d4e 6174 203d 2078 203d 3e20 4FromNat = x => │ │ │ -0000ecd0: 7820 2520 574f 5244 3634 5f4d 4158 5f56 x % WORD64_MAX_V │ │ │ -0000ece0: 414c 5545 3b0a 0a2f 2f20 7570 7269 6d57 ALUE;..// uprimW │ │ │ -0000ecf0: 6f72 6436 3450 6c75 7320 3a20 2857 6f72 ord64Plus : (Wor │ │ │ -0000ed00: 6436 342c 2057 6f72 6436 3429 202d 3e20 d64, Word64) -> │ │ │ -0000ed10: 576f 7264 3634 0a65 7870 6f72 7473 2e75 Word64.exports.u │ │ │ -0000ed20: 7072 696d 576f 7264 3634 506c 7573 203d primWord64Plus = │ │ │ -0000ed30: 2028 782c 2079 2920 3d3e 2028 7820 2b20 (x, y) => (x + │ │ │ -0000ed40: 7929 2025 2057 4f52 4436 345f 4d41 585f y) % WORD64_MAX_ │ │ │ -0000ed50: 5641 4c55 453b 0a0a 2f2f 2075 7072 696d VALUE;..// uprim │ │ │ -0000ed60: 576f 7264 3634 4d69 6e75 7320 3a20 2857 Word64Minus : (W │ │ │ -0000ed70: 6f72 6436 342c 2057 6f72 6436 3429 202d ord64, Word64) - │ │ │ -0000ed80: 3e20 576f 7264 3634 0a65 7870 6f72 7473 > Word64.exports │ │ │ -0000ed90: 2e75 7072 696d 576f 7264 3634 4d69 6e75 .uprimWord64Minu │ │ │ -0000eda0: 7320 3d20 2878 2c20 7929 203d 3e20 2878 s = (x, y) => (x │ │ │ -0000edb0: 202b 2057 4f52 4436 345f 4d41 585f 5641 + WORD64_MAX_VA │ │ │ -0000edc0: 4c55 4520 2d20 7929 2025 2057 4f52 4436 LUE - y) % WORD6 │ │ │ -0000edd0: 345f 4d41 585f 5641 4c55 453b 0a0a 2f2f 4_MAX_VALUE;..// │ │ │ -0000ede0: 2075 7072 696d 576f 7264 3634 4d75 6c74 uprimWord64Mult │ │ │ -0000edf0: 6970 6c79 203a 2028 576f 7264 3634 2c20 iply : (Word64, │ │ │ -0000ee00: 576f 7264 3634 2920 2d3e 2057 6f72 6436 Word64) -> Word6 │ │ │ -0000ee10: 340a 6578 706f 7274 732e 7570 7269 6d57 4.exports.uprimW │ │ │ -0000ee20: 6f72 6436 344d 756c 7469 706c 7920 3d20 ord64Multiply = │ │ │ -0000ee30: 2878 2c20 7929 203d 3e20 2878 202a 2079 (x, y) => (x * y │ │ │ -0000ee40: 2920 2520 574f 5244 3634 5f4d 4158 5f56 ) % WORD64_MAX_V │ │ │ -0000ee50: 414c 5545 3b0a 0a2f 2f20 4e61 7475 7261 ALUE;..// Natura │ │ │ -0000ee60: 6c20 6e75 6d62 6572 730a 0a2f 2f20 7072 l numbers..// pr │ │ │ -0000ee70: 696d 4e61 744d 696e 7573 203a 204e 6174 imNatMinus : Nat │ │ │ -0000ee80: 202d 3e20 4e61 7420 2d3e 204e 6174 0a65 -> Nat -> Nat.e │ │ │ -0000ee90: 7870 6f72 7473 2e70 7269 6d4e 6174 4d69 xports.primNatMi │ │ │ -0000eea0: 6e75 7320 3d20 7820 3d3e 2079 203d 3e20 nus = x => y => │ │ │ -0000eeb0: 7b0a 2020 636f 6e73 7420 7a20 3d20 7820 {. const z = x │ │ │ -0000eec0: 2d20 793b 0a20 2072 6574 7572 6e20 7a20 - y;. return z │ │ │ -0000eed0: 3c20 306e 203f 2030 6e20 3a20 7a3b 0a7d < 0n ? 0n : z;.} │ │ │ -0000eee0: 3b0a 0a2f 2f20 466c 6f61 7469 6e67 2d70 ;..// Floating-p │ │ │ -0000eef0: 6f69 6e74 206e 756d 6265 7273 0a76 6172 oint numbers.var │ │ │ -0000ef00: 205f 7072 696d 466c 6f61 7447 7265 6174 _primFloatGreat │ │ │ -0000ef10: 6573 7443 6f6d 6d6f 6e46 6163 746f 7220 estCommonFactor │ │ │ -0000ef20: 3d20 6675 6e63 7469 6f6e 2878 2c20 7929 = function(x, y) │ │ │ -0000ef30: 207b 0a20 2020 2076 6172 207a 3b0a 2020 {. var z;. │ │ │ -0000ef40: 2020 7820 3d20 4d61 7468 2e61 6273 2878 x = Math.abs(x │ │ │ -0000ef50: 293b 0a20 2020 2079 203d 204d 6174 682e );. y = Math. │ │ │ -0000ef60: 6162 7328 7929 3b0a 2020 2020 7768 696c abs(y);. whil │ │ │ -0000ef70: 6520 2879 2920 7b0a 2020 2020 2020 2020 e (y) {. │ │ │ -0000ef80: 7a20 3d20 7820 2520 793b 0a20 2020 2020 z = x % y;. │ │ │ -0000ef90: 2020 2078 203d 2079 3b0a 2020 2020 2020 x = y;. │ │ │ -0000efa0: 2020 7920 3d20 7a3b 0a20 2020 207d 0a20 y = z;. }. │ │ │ -0000efb0: 2020 2072 6574 7572 6e20 783b 0a7d 3b0a return x;.};. │ │ │ -0000efc0: 6578 706f 7274 732e 5f70 7269 6d46 6c6f exports._primFlo │ │ │ -0000efd0: 6174 526f 756e 6420 3d20 6675 6e63 7469 atRound = functi │ │ │ -0000efe0: 6f6e 2878 2920 7b0a 2020 2020 6966 2028 on(x) {. if ( │ │ │ -0000eff0: 6578 706f 7274 732e 7072 696d 466c 6f61 exports.primFloa │ │ │ -0000f000: 7449 734e 614e 2878 2920 7c7c 2065 7870 tIsNaN(x) || exp │ │ │ -0000f010: 6f72 7473 2e70 7269 6d46 6c6f 6174 4973 orts.primFloatIs │ │ │ -0000f020: 496e 6669 6e69 7465 2878 2929 207b 0a20 Infinite(x)) {. │ │ │ -0000f030: 2020 2020 2020 2072 6574 7572 6e20 6e75 return nu │ │ │ -0000f040: 6c6c 3b0a 2020 2020 7d0a 2020 2020 656c ll;. }. el │ │ │ -0000f050: 7365 207b 0a20 2020 2020 2020 2072 6574 se {. ret │ │ │ -0000f060: 7572 6e20 4269 6749 6e74 284d 6174 682e urn BigInt(Math. │ │ │ -0000f070: 726f 756e 6428 7829 293b 0a20 2020 207d round(x));. } │ │ │ -0000f080: 0a7d 3b0a 6578 706f 7274 732e 5f70 7269 .};.exports._pri │ │ │ -0000f090: 6d46 6c6f 6174 466c 6f6f 7220 3d20 6675 mFloatFloor = fu │ │ │ -0000f0a0: 6e63 7469 6f6e 2878 2920 7b0a 2020 2020 nction(x) {. │ │ │ -0000f0b0: 6966 2028 6578 706f 7274 732e 7072 696d if (exports.prim │ │ │ -0000f0c0: 466c 6f61 7449 734e 614e 2878 2920 7c7c FloatIsNaN(x) || │ │ │ -0000f0d0: 2065 7870 6f72 7473 2e70 7269 6d46 6c6f exports.primFlo │ │ │ -0000f0e0: 6174 4973 496e 6669 6e69 7465 2878 2929 atIsInfinite(x)) │ │ │ -0000f0f0: 207b 0a20 2020 2020 2020 2072 6574 7572 {. retur │ │ │ -0000f100: 6e20 6e75 6c6c 3b0a 2020 2020 7d0a 2020 n null;. }. │ │ │ -0000f110: 2020 656c 7365 207b 0a20 2020 2020 2020 else {. │ │ │ -0000f120: 2072 6574 7572 6e20 4269 6749 6e74 284d return BigInt(M │ │ │ -0000f130: 6174 682e 666c 6f6f 7228 7829 293b 0a20 ath.floor(x));. │ │ │ -0000f140: 2020 207d 0a7d 3b0a 6578 706f 7274 732e }.};.exports. │ │ │ -0000f150: 5f70 7269 6d46 6c6f 6174 4365 696c 696e _primFloatCeilin │ │ │ -0000f160: 6720 3d20 6675 6e63 7469 6f6e 2878 2920 g = function(x) │ │ │ -0000f170: 7b0a 2020 2020 6966 2028 6578 706f 7274 {. if (export │ │ │ -0000f180: 732e 7072 696d 466c 6f61 7449 734e 614e s.primFloatIsNaN │ │ │ -0000f190: 2878 2920 7c7c 2065 7870 6f72 7473 2e70 (x) || exports.p │ │ │ -0000f1a0: 7269 6d46 6c6f 6174 4973 496e 6669 6e69 rimFloatIsInfini │ │ │ -0000f1b0: 7465 2878 2929 207b 0a20 2020 2020 2020 te(x)) {. │ │ │ -0000f1c0: 2072 6574 7572 6e20 6e75 6c6c 3b0a 2020 return null;. │ │ │ -0000f1d0: 2020 7d0a 2020 2020 656c 7365 207b 0a20 }. else {. │ │ │ -0000f1e0: 2020 2020 2020 2072 6574 7572 6e20 4269 return Bi │ │ │ -0000f1f0: 6749 6e74 284d 6174 682e 6365 696c 2878 gInt(Math.ceil(x │ │ │ -0000f200: 2929 3b0a 2020 2020 7d0a 7d3b 0a65 7870 ));. }.};.exp │ │ │ -0000f210: 6f72 7473 2e5f 7072 696d 466c 6f61 7454 orts._primFloatT │ │ │ -0000f220: 6f52 6174 696f 203d 2066 756e 6374 696f oRatio = functio │ │ │ -0000f230: 6e28 7829 207b 0a20 2020 2069 6620 2865 n(x) {. if (e │ │ │ -0000f240: 7870 6f72 7473 2e70 7269 6d46 6c6f 6174 xports.primFloat │ │ │ -0000f250: 4973 4e61 4e28 7829 2920 7b0a 2020 2020 IsNaN(x)) {. │ │ │ -0000f260: 2020 2020 7265 7475 726e 207b 6e75 6d65 return {nume │ │ │ -0000f270: 7261 746f 723a 2042 6967 496e 7428 3029 rator: BigInt(0) │ │ │ -0000f280: 2c20 6465 6e6f 6d69 6e61 746f 723a 2042 , denominator: B │ │ │ -0000f290: 6967 496e 7428 3029 7d3b 0a20 2020 207d igInt(0)};. } │ │ │ -0000f2a0: 0a20 2020 2065 6c73 6520 6966 2028 7820 . else if (x │ │ │ -0000f2b0: 3c20 302e 3020 2626 2065 7870 6f72 7473 < 0.0 && exports │ │ │ -0000f2c0: 2e70 7269 6d46 6c6f 6174 4973 496e 6669 .primFloatIsInfi │ │ │ -0000f2d0: 6e69 7465 2878 2929 207b 0a20 2020 2020 nite(x)) {. │ │ │ -0000f2e0: 2020 2072 6574 7572 6e20 7b6e 756d 6572 return {numer │ │ │ -0000f2f0: 6174 6f72 3a20 4269 6749 6e74 282d 3129 ator: BigInt(-1) │ │ │ -0000f300: 2c20 6465 6e6f 6d69 6e61 746f 723a 2042 , denominator: B │ │ │ -0000f310: 6967 496e 7428 3029 7d3b 0a20 2020 207d igInt(0)};. } │ │ │ -0000f320: 0a20 2020 2065 6c73 6520 6966 2028 7820 . else if (x │ │ │ -0000f330: 3e20 302e 3020 2626 2065 7870 6f72 7473 > 0.0 && exports │ │ │ -0000f340: 2e70 7269 6d46 6c6f 6174 4973 496e 6669 .primFloatIsInfi │ │ │ -0000f350: 6e69 7465 2878 2929 207b 0a20 2020 2020 nite(x)) {. │ │ │ -0000f360: 2020 2072 6574 7572 6e20 7b6e 756d 6572 return {numer │ │ │ -0000f370: 6174 6f72 3a20 4269 6749 6e74 2831 292c ator: BigInt(1), │ │ │ -0000f380: 2064 656e 6f6d 696e 6174 6f72 3a20 4269 denominator: Bi │ │ │ -0000f390: 6749 6e74 2830 297d 3b0a 2020 2020 7d0a gInt(0)};. }. │ │ │ -0000f3a0: 2020 2020 656c 7365 2069 6620 2865 7870 else if (exp │ │ │ -0000f3b0: 6f72 7473 2e70 7269 6d46 6c6f 6174 4973 orts.primFloatIs │ │ │ -0000f3c0: 4e65 6761 7469 7665 5a65 726f 2878 2929 NegativeZero(x)) │ │ │ -0000f3d0: 207b 0a20 2020 2020 2020 2072 6574 7572 {. retur │ │ │ -0000f3e0: 6e20 7b6e 756d 6572 6174 6f72 3a20 4269 n {numerator: Bi │ │ │ -0000f3f0: 6749 6e74 2830 292c 2064 656e 6f6d 696e gInt(0), denomin │ │ │ -0000f400: 6174 6f72 3a20 4269 6749 6e74 2831 297d ator: BigInt(1)} │ │ │ -0000f410: 3b0a 2020 2020 7d0a 2020 2020 656c 7365 ;. }. else │ │ │ -0000f420: 2069 6620 2878 203d 3d20 302e 3029 207b if (x == 0.0) { │ │ │ -0000f430: 0a20 2020 2020 2020 2072 6574 7572 6e20 . return │ │ │ -0000f440: 7b6e 756d 6572 6174 6f72 3a20 4269 6749 {numerator: BigI │ │ │ -0000f450: 6e74 2830 292c 2064 656e 6f6d 696e 6174 nt(0), denominat │ │ │ -0000f460: 6f72 3a20 4269 6749 6e74 2831 297d 3b0a or: BigInt(1)};. │ │ │ -0000f470: 2020 2020 7d0a 2020 2020 656c 7365 207b }. else { │ │ │ -0000f480: 0a20 2020 2020 2020 2076 6172 206e 756d . var num │ │ │ -0000f490: 6572 6174 6f72 203d 204d 6174 682e 726f erator = Math.ro │ │ │ -0000f4a0: 756e 6428 782a 3165 3929 3b0a 2020 2020 und(x*1e9);. │ │ │ -0000f4b0: 2020 2020 7661 7220 6465 6e6f 6d69 6e61 var denomina │ │ │ -0000f4c0: 746f 7220 3d20 3165 393b 0a20 2020 2020 tor = 1e9;. │ │ │ -0000f4d0: 2020 2076 6172 2067 6366 203d 205f 7072 var gcf = _pr │ │ │ -0000f4e0: 696d 466c 6f61 7447 7265 6174 6573 7443 imFloatGreatestC │ │ │ -0000f4f0: 6f6d 6d6f 6e46 6163 746f 7228 6e75 6d65 ommonFactor(nume │ │ │ -0000f500: 7261 746f 722c 2064 656e 6f6d 696e 6174 rator, denominat │ │ │ -0000f510: 6f72 293b 0a20 2020 2020 2020 206e 756d or);. num │ │ │ -0000f520: 6572 6174 6f72 202f 3d20 6763 663b 0a20 erator /= gcf;. │ │ │ -0000f530: 2020 2020 2020 2064 656e 6f6d 696e 6174 denominat │ │ │ -0000f540: 6f72 202f 3d20 6763 663b 0a20 2020 2020 or /= gcf;. │ │ │ -0000f550: 2020 2072 6574 7572 6e20 7b6e 756d 6572 return {numer │ │ │ -0000f560: 6174 6f72 3a20 4269 6749 6e74 286e 756d ator: BigInt(num │ │ │ -0000f570: 6572 6174 6f72 292c 2064 656e 6f6d 696e erator), denomin │ │ │ -0000f580: 6174 6f72 3a20 4269 6749 6e74 2864 656e ator: BigInt(den │ │ │ -0000f590: 6f6d 696e 6174 6f72 297d 3b0a 2020 2020 ominator)};. │ │ │ -0000f5a0: 7d0a 7d3b 0a65 7870 6f72 7473 2e5f 7072 }.};.exports._pr │ │ │ -0000f5b0: 696d 466c 6f61 7444 6563 6f64 6520 3d20 imFloatDecode = │ │ │ -0000f5c0: 6675 6e63 7469 6f6e 2878 2920 7b0a 2020 function(x) {. │ │ │ -0000f5d0: 2020 6966 2028 6578 706f 7274 732e 7072 if (exports.pr │ │ │ -0000f5e0: 696d 466c 6f61 7449 734e 614e 2878 2929 imFloatIsNaN(x)) │ │ │ -0000f5f0: 207b 0a20 2020 2020 2020 2072 6574 7572 {. retur │ │ │ -0000f600: 6e20 6e75 6c6c 3b0a 2020 2020 7d0a 2020 n null;. }. │ │ │ -0000f610: 2020 656c 7365 2069 6620 2878 203c 2030 else if (x < 0 │ │ │ -0000f620: 2e30 2026 2620 6578 706f 7274 732e 7072 .0 && exports.pr │ │ │ -0000f630: 696d 466c 6f61 7449 7349 6e66 696e 6974 imFloatIsInfinit │ │ │ -0000f640: 6528 7829 2920 7b0a 2020 2020 2020 2020 e(x)) {. │ │ │ -0000f650: 7265 7475 726e 206e 756c 6c3b 0a20 2020 return null;. │ │ │ -0000f660: 207d 0a20 2020 2065 6c73 6520 6966 2028 }. else if ( │ │ │ -0000f670: 7820 3e20 302e 3020 2626 2065 7870 6f72 x > 0.0 && expor │ │ │ -0000f680: 7473 2e70 7269 6d46 6c6f 6174 4973 496e ts.primFloatIsIn │ │ │ -0000f690: 6669 6e69 7465 2878 2929 207b 0a20 2020 finite(x)) {. │ │ │ -0000f6a0: 2020 2020 2072 6574 7572 6e20 6e75 6c6c return null │ │ │ -0000f6b0: 3b0a 2020 2020 7d0a 2020 2020 656c 7365 ;. }. else │ │ │ -0000f6c0: 207b 0a20 2020 2020 2020 2076 6172 206d {. var m │ │ │ -0000f6d0: 616e 7469 7373 6120 3d20 782c 2065 7870 antissa = x, exp │ │ │ -0000f6e0: 6f6e 656e 7420 3d20 303b 0a20 2020 2020 onent = 0;. │ │ │ -0000f6f0: 2020 2077 6869 6c65 2028 214e 756d 6265 while (!Numbe │ │ │ -0000f700: 722e 6973 496e 7465 6765 7228 6d61 6e74 r.isInteger(mant │ │ │ -0000f710: 6973 7361 2929 207b 0a20 2020 2020 2020 issa)) {. │ │ │ -0000f720: 2020 2020 206d 616e 7469 7373 6120 2a3d mantissa *= │ │ │ -0000f730: 2032 2e30 3b0a 2020 2020 2020 2020 2020 2.0;. │ │ │ -0000f740: 2020 6578 706f 6e65 6e74 202d 3d20 313b exponent -= 1; │ │ │ -0000f750: 0a20 2020 2020 2020 207d 3b0a 2020 2020 . };. │ │ │ -0000f760: 2020 2020 7768 696c 6520 286d 616e 7469 while (manti │ │ │ -0000f770: 7373 6120 2520 322e 3020 3d3d 3d20 3029 ssa % 2.0 === 0) │ │ │ -0000f780: 207b 0a20 2020 2020 2020 2020 2020 206d {. m │ │ │ -0000f790: 616e 7469 7373 6120 2f3d 2032 2e30 3b0a antissa /= 2.0;. │ │ │ -0000f7a0: 2020 2020 2020 2020 2020 2020 6578 706f expo │ │ │ -0000f7b0: 6e65 6e74 202b 3d20 313b 0a20 2020 2020 nent += 1;. │ │ │ -0000f7c0: 2020 207d 0a20 2020 2020 2020 2072 6574 }. ret │ │ │ -0000f7d0: 7572 6e20 7b6d 616e 7469 7373 613a 2042 urn {mantissa: B │ │ │ -0000f7e0: 6967 496e 7428 6d61 6e74 6973 7361 292c igInt(mantissa), │ │ │ -0000f7f0: 2065 7870 6f6e 656e 743a 2042 6967 496e exponent: BigIn │ │ │ -0000f800: 7428 6578 706f 6e65 6e74 297d 3b0a 2020 t(exponent)};. │ │ │ -0000f810: 2020 7d0a 7d3b 0a65 7870 6f72 7473 2e75 }.};.exports.u │ │ │ -0000f820: 7072 696d 466c 6f61 7445 7175 616c 6974 primFloatEqualit │ │ │ -0000f830: 7920 3d20 6675 6e63 7469 6f6e 2878 2c20 y = function(x, │ │ │ -0000f840: 7929 207b 0a20 2020 2072 6574 7572 6e20 y) {. return │ │ │ -0000f850: 7820 3d3d 3d20 793b 0a7d 3b0a 6578 706f x === y;.};.expo │ │ │ -0000f860: 7274 732e 7072 696d 466c 6f61 7445 7175 rts.primFloatEqu │ │ │ -0000f870: 616c 6974 7920 3d20 6675 6e63 7469 6f6e ality = function │ │ │ -0000f880: 2878 2920 7b0a 2020 2020 7265 7475 726e (x) {. return │ │ │ -0000f890: 2066 756e 6374 696f 6e28 7929 207b 0a20 function(y) {. │ │ │ -0000f8a0: 2020 2020 2020 2072 6574 7572 6e20 6578 return ex │ │ │ -0000f8b0: 706f 7274 732e 7570 7269 6d46 6c6f 6174 ports.uprimFloat │ │ │ -0000f8c0: 4571 7561 6c69 7479 2878 2c20 7929 3b0a Equality(x, y);. │ │ │ -0000f8d0: 2020 2020 7d3b 0a7d 3b0a 6578 706f 7274 };.};.export │ │ │ -0000f8e0: 732e 7072 696d 466c 6f61 7449 6e65 7175 s.primFloatInequ │ │ │ -0000f8f0: 616c 6974 7920 3d20 6675 6e63 7469 6f6e ality = function │ │ │ -0000f900: 2878 2920 7b0a 2020 2020 7265 7475 726e (x) {. return │ │ │ -0000f910: 2066 756e 6374 696f 6e28 7929 207b 0a20 function(y) {. │ │ │ -0000f920: 2020 2020 2020 2072 6574 7572 6e20 7820 return x │ │ │ -0000f930: 3c3d 2079 3b0a 2020 2020 7d3b 0a7d 3b0a <= y;. };.};. │ │ │ -0000f940: 6578 706f 7274 732e 7072 696d 466c 6f61 exports.primFloa │ │ │ -0000f950: 744c 6573 7320 3d20 6675 6e63 7469 6f6e tLess = function │ │ │ -0000f960: 2878 2920 7b0a 2020 2020 7265 7475 726e (x) {. return │ │ │ -0000f970: 2066 756e 6374 696f 6e28 7929 207b 0a20 function(y) {. │ │ │ -0000f980: 2020 2020 2020 2072 6574 7572 6e20 7820 return x │ │ │ -0000f990: 3c20 793b 0a20 2020 207d 3b0a 7d3b 0a65 < y;. };.};.e │ │ │ -0000f9a0: 7870 6f72 7473 2e70 7269 6d46 6c6f 6174 xports.primFloat │ │ │ -0000f9b0: 4973 496e 6669 6e69 7465 203d 2066 756e IsInfinite = fun │ │ │ -0000f9c0: 6374 696f 6e28 7829 207b 0a20 2020 2072 ction(x) {. r │ │ │ -0000f9d0: 6574 7572 6e20 214e 756d 6265 722e 6973 eturn !Number.is │ │ │ -0000f9e0: 4e61 4e28 7829 2026 2620 214e 756d 6265 NaN(x) && !Numbe │ │ │ -0000f9f0: 722e 6973 4669 6e69 7465 2878 293b 0a7d r.isFinite(x);.} │ │ │ -0000fa00: 3b0a 6578 706f 7274 732e 7072 696d 466c ;.exports.primFl │ │ │ -0000fa10: 6f61 7449 734e 614e 203d 2066 756e 6374 oatIsNaN = funct │ │ │ -0000fa20: 696f 6e28 7829 207b 0a20 2020 2072 6574 ion(x) {. ret │ │ │ -0000fa30: 7572 6e20 4e75 6d62 6572 2e69 734e 614e urn Number.isNaN │ │ │ -0000fa40: 2878 293b 0a7d 3b0a 6578 706f 7274 732e (x);.};.exports. │ │ │ -0000fa50: 7072 696d 466c 6f61 7449 734e 6567 6174 primFloatIsNegat │ │ │ -0000fa60: 6976 655a 6572 6f20 3d20 6675 6e63 7469 iveZero = functi │ │ │ -0000fa70: 6f6e 2878 2920 7b0a 2020 2020 7265 7475 on(x) {. retu │ │ │ -0000fa80: 726e 204f 626a 6563 742e 6973 2878 2c2d rn Object.is(x,- │ │ │ -0000fa90: 302e 3029 3b0a 7d3b 0a65 7870 6f72 7473 0.0);.};.exports │ │ │ -0000faa0: 2e70 7269 6d46 6c6f 6174 4973 5361 6665 .primFloatIsSafe │ │ │ -0000fab0: 496e 7465 6765 7220 3d20 6675 6e63 7469 Integer = functi │ │ │ -0000fac0: 6f6e 2878 2920 7b0a 2020 2020 7265 7475 on(x) {. retu │ │ │ -0000fad0: 726e 204e 756d 6265 722e 6973 5361 6665 rn Number.isSafe │ │ │ -0000fae0: 496e 7465 6765 7228 7829 3b0a 7d3b 0a0a Integer(x);.};.. │ │ │ -0000faf0: 0a2f 2f20 5468 6573 6520 574f 5244 3634 .// These WORD64 │ │ │ -0000fb00: 2076 616c 7565 7320 7765 7265 206f 6274 values were obt │ │ │ -0000fb10: 6169 6e65 6420 7669 6120 6063 6173 7444 ained via `castD │ │ │ -0000fb20: 6f75 626c 6554 6f57 6f72 6436 3460 2069 oubleToWord64` i │ │ │ -0000fb30: 6e20 4861 736b 656c 6c3a 0a63 6f6e 7374 n Haskell:.const │ │ │ -0000fb40: 2057 4f52 4436 345f 4e41 4e20 2020 2020 WORD64_NAN │ │ │ -0000fb50: 203d 2031 3834 3434 3439 3232 3733 3839 = 1844449227389 │ │ │ -0000fb60: 3538 3636 3336 386e 3b0a 636f 6e73 7420 5866368n;.const │ │ │ -0000fb70: 574f 5244 3634 5f50 4f53 5f49 4e46 2020 WORD64_POS_INF │ │ │ -0000fb80: 3d20 3932 3138 3836 3834 3337 3232 3734 = 92188684372274 │ │ │ -0000fb90: 3035 3331 326e 3b0a 636f 6e73 7420 574f 05312n;.const WO │ │ │ -0000fba0: 5244 3634 5f4e 4547 5f49 4e46 2020 3d20 RD64_NEG_INF = │ │ │ -0000fbb0: 3138 3434 3232 3430 3437 3430 3832 3138 1844224047408218 │ │ │ -0000fbc0: 3131 3230 6e3b 0a63 6f6e 7374 2057 4f52 1120n;.const WOR │ │ │ -0000fbd0: 4436 345f 504f 535f 5a45 524f 203d 2030 D64_POS_ZERO = 0 │ │ │ -0000fbe0: 6e3b 0a63 6f6e 7374 2057 4f52 4436 345f n;.const WORD64_ │ │ │ -0000fbf0: 4e45 475f 5a45 524f 203d 2039 3232 3333 NEG_ZERO = 92233 │ │ │ -0000fc00: 3732 3033 3638 3534 3737 3538 3038 6e3b 72036854775808n; │ │ │ -0000fc10: 0a0a 6578 706f 7274 732e 7072 696d 466c ..exports.primFl │ │ │ -0000fc20: 6f61 7454 6f57 6f72 6436 3420 3d20 6675 oatToWord64 = fu │ │ │ -0000fc30: 6e63 7469 6f6e 2878 2920 7b0a 2020 2020 nction(x) {. │ │ │ -0000fc40: 6966 2028 6578 706f 7274 732e 7072 696d if (exports.prim │ │ │ -0000fc50: 466c 6f61 7449 734e 614e 2878 2929 207b FloatIsNaN(x)) { │ │ │ -0000fc60: 0a20 2020 2020 2020 2072 6574 7572 6e20 . return │ │ │ -0000fc70: 574f 5244 3634 5f4e 414e 3b0a 2020 2020 WORD64_NAN;. │ │ │ -0000fc80: 7d0a 2020 2020 656c 7365 2069 6620 2878 }. else if (x │ │ │ -0000fc90: 203c 2030 2e30 2026 2620 6578 706f 7274 < 0.0 && export │ │ │ -0000fca0: 732e 7072 696d 466c 6f61 7449 7349 6e66 s.primFloatIsInf │ │ │ -0000fcb0: 696e 6974 6528 7829 2920 7b0a 2020 2020 inite(x)) {. │ │ │ -0000fcc0: 2020 2020 7265 7475 726e 2057 4f52 4436 return WORD6 │ │ │ -0000fcd0: 345f 4e45 475f 494e 463b 0a20 2020 207d 4_NEG_INF;. } │ │ │ -0000fce0: 0a20 2020 2065 6c73 6520 6966 2028 7820 . else if (x │ │ │ -0000fcf0: 3e20 302e 3020 2626 2065 7870 6f72 7473 > 0.0 && exports │ │ │ -0000fd00: 2e70 7269 6d46 6c6f 6174 4973 496e 6669 .primFloatIsInfi │ │ │ -0000fd10: 6e69 7465 2878 2929 207b 0a20 2020 2020 nite(x)) {. │ │ │ -0000fd20: 2020 2072 6574 7572 6e20 574f 5244 3634 return WORD64 │ │ │ -0000fd30: 5f50 4f53 5f49 4e46 3b0a 2020 2020 7d0a _POS_INF;. }. │ │ │ -0000fd40: 2020 2020 656c 7365 2069 6620 2865 7870 else if (exp │ │ │ -0000fd50: 6f72 7473 2e70 7269 6d46 6c6f 6174 4973 orts.primFloatIs │ │ │ -0000fd60: 4e65 6761 7469 7665 5a65 726f 2878 2929 NegativeZero(x)) │ │ │ -0000fd70: 207b 0a20 2020 2020 2020 2072 6574 7572 {. retur │ │ │ -0000fd80: 6e20 574f 5244 3634 5f4e 4547 5f5a 4552 n WORD64_NEG_ZER │ │ │ -0000fd90: 4f3b 0a20 2020 207d 0a20 2020 2065 6c73 O;. }. els │ │ │ -0000fda0: 6520 6966 2028 7820 3d3d 2030 2e30 2920 e if (x == 0.0) │ │ │ -0000fdb0: 7b0a 2020 2020 2020 2020 7265 7475 726e {. return │ │ │ -0000fdc0: 2057 4f52 4436 345f 504f 535f 5a45 524f WORD64_POS_ZERO │ │ │ -0000fdd0: 3b0a 2020 2020 7d0a 2020 2020 656c 7365 ;. }. else │ │ │ -0000fde0: 207b 0a20 2020 2020 2020 2076 6172 206d {. var m │ │ │ -0000fdf0: 616e 7469 7373 612c 2065 7870 6f6e 656e antissa, exponen │ │ │ -0000fe00: 743b 0a20 2020 2020 2020 2028 7b6d 616e t;. ({man │ │ │ -0000fe10: 7469 7373 612c 2065 7870 6f6e 656e 747d tissa, exponent} │ │ │ -0000fe20: 203d 2065 7870 6f72 7473 2e5f 7072 696d = exports._prim │ │ │ -0000fe30: 466c 6f61 7444 6563 6f64 6528 7829 293b FloatDecode(x)); │ │ │ -0000fe40: 0a20 2020 2020 2020 2076 6172 2073 6967 . var sig │ │ │ -0000fe50: 6e20 3d20 4d61 7468 2e73 6967 6e28 6d61 n = Math.sign(ma │ │ │ -0000fe60: 6e74 6973 7361 293b 0a20 2020 2020 2020 ntissa);. │ │ │ -0000fe70: 2063 6f6e 736f 6c65 2e6c 6f67 286d 616e console.log(man │ │ │ -0000fe80: 7469 7373 6129 3b0a 2020 2020 2020 2020 tissa);. │ │ │ -0000fe90: 6d61 6e74 6973 7361 202a 3d20 7369 676e mantissa *= sign │ │ │ -0000fea0: 3b0a 2020 2020 2020 2020 7369 676e 203d ;. sign = │ │ │ -0000feb0: 2028 7369 676e 203d 3d3d 202d 3120 3f20 (sign === -1 ? │ │ │ -0000fec0: 2231 2220 3a20 2230 2229 3b0a 2020 2020 "1" : "0");. │ │ │ -0000fed0: 2020 2020 6d61 6e74 6973 7361 203d 2028 mantissa = ( │ │ │ -0000fee0: 6d61 6e74 6973 7361 2e74 6f53 7472 696e mantissa.toStrin │ │ │ -0000fef0: 6728 3229 292e 7061 6453 7461 7274 2831 g(2)).padStart(1 │ │ │ -0000ff00: 312c 2022 3022 293b 0a20 2020 2020 2020 1, "0");. │ │ │ -0000ff10: 2065 7870 6f6e 656e 7420 3d20 286d 616e exponent = (man │ │ │ -0000ff20: 7469 7373 612e 746f 5374 7269 6e67 2832 tissa.toString(2 │ │ │ -0000ff30: 2929 2e70 6164 5374 6172 7428 3532 2c20 )).padStart(52, │ │ │ -0000ff40: 2230 2229 3b0a 2020 2020 2020 2020 7265 "0");. re │ │ │ -0000ff50: 7475 726e 2042 6967 496e 7428 7061 7273 turn BigInt(pars │ │ │ -0000ff60: 6549 6e74 2873 6967 6e20 2b20 6d61 6e74 eInt(sign + mant │ │ │ -0000ff70: 6973 7361 202b 2065 7870 6f6e 656e 742c issa + exponent, │ │ │ -0000ff80: 2032 2929 3b0a 2020 2020 7d0a 7d3b 0a0a 2));. }.};.. │ │ │ -0000ff90: 2f2f 2070 7269 6d4e 6174 546f 466c 6f61 // primNatToFloa │ │ │ -0000ffa0: 7420 3a20 4e61 7420 2d3e 2046 6c6f 6174 t : Nat -> Float │ │ │ -0000ffb0: 0a65 7870 6f72 7473 2e70 7269 6d4e 6174 .exports.primNat │ │ │ -0000ffc0: 546f 466c 6f61 7420 3d20 4e75 6d62 6572 ToFloat = Number │ │ │ -0000ffd0: 3b0a 0a2f 2f20 7072 696d 496e 7454 6f46 ;..// primIntToF │ │ │ -0000ffe0: 6c6f 6174 203a 2049 6e74 202d 3e20 466c loat : Int -> Fl │ │ │ -0000fff0: 6f61 740a 6578 706f 7274 732e 7072 696d oat.exports.prim │ │ │ -00010000: 496e 7454 6f46 6c6f 6174 203d 204e 756d IntToFloat = Num │ │ │ -00010010: 6265 723b 0a0a 2f2f 2070 7269 6d52 6174 ber;..// primRat │ │ │ -00010020: 696f 546f 466c 6f61 7420 3a20 496e 7420 ioToFloat : Int │ │ │ -00010030: 2d3e 2049 6e74 202d 3e20 466c 6f61 740a -> Int -> Float. │ │ │ -00010040: 6578 706f 7274 732e 7072 696d 5261 7469 exports.primRati │ │ │ -00010050: 6f54 6f46 6c6f 6174 203d 2078 203d 3e20 oToFloat = x => │ │ │ -00010060: 7920 3d3e 204e 756d 6265 7228 7829 202f y => Number(x) / │ │ │ -00010070: 204e 756d 6265 7228 7929 3b0a 0a2f 2f20 Number(y);..// │ │ │ -00010080: 7570 7269 6d46 6c6f 6174 456e 636f 6465 uprimFloatEncode │ │ │ -00010090: 203a 2028 496e 742c 2049 6e74 2920 2d3e : (Int, Int) -> │ │ │ -000100a0: 204d 6179 6265 2046 6c6f 6174 0a65 7870 Maybe Float.exp │ │ │ -000100b0: 6f72 7473 2e75 7072 696d 466c 6f61 7445 orts.uprimFloatE │ │ │ -000100c0: 6e63 6f64 6520 3d20 2878 2c20 7929 203d ncode = (x, y) = │ │ │ -000100d0: 3e20 7b0a 2020 636f 6e73 7420 6d61 6e74 > {. const mant │ │ │ -000100e0: 6973 7361 203d 204e 756d 6265 7228 7829 issa = Number(x) │ │ │ -000100f0: 3b0a 2020 636f 6e73 7420 6578 706f 6e65 ;. const expone │ │ │ -00010100: 6e74 203d 204e 756d 6265 7228 7929 3b0a nt = Number(y);. │ │ │ -00010110: 0a20 2069 6620 284e 756d 6265 722e 6973 . if (Number.is │ │ │ -00010120: 5361 6665 496e 7465 6765 7228 6d61 6e74 SafeInteger(mant │ │ │ -00010130: 6973 7361 2920 2626 202d 3130 3234 203c issa) && -1024 < │ │ │ -00010140: 3d20 6578 706f 6e65 6e74 2026 2620 6578 = exponent && ex │ │ │ -00010150: 706f 6e65 6e74 203c 3d20 3130 3234 2920 ponent <= 1024) │ │ │ -00010160: 7b0a 2020 2020 7265 7475 726e 206d 616e {. return man │ │ │ -00010170: 7469 7373 6120 2a20 2832 202a 2a20 6578 tissa * (2 ** ex │ │ │ -00010180: 706f 6e65 6e74 293b 0a20 207d 0a0a 2020 ponent);. }.. │ │ │ -00010190: 656c 7365 207b 0a20 2020 2072 6574 7572 else {. retur │ │ │ -000101a0: 6e20 6e75 6c6c 3b0a 2020 7d0a 7d3b 0a0a n null;. }.};.. │ │ │ -000101b0: 6578 706f 7274 732e 7072 696d 5368 6f77 exports.primShow │ │ │ -000101c0: 466c 6f61 7420 3d20 6675 6e63 7469 6f6e Float = function │ │ │ -000101d0: 2878 2920 7b0a 2020 2020 2f2f 2053 6565 (x) {. // See │ │ │ -000101e0: 2049 7373 7565 2023 3231 3932 2e0a 2020 Issue #2192.. │ │ │ -000101f0: 2020 6966 2028 4e75 6d62 6572 2e69 7349 if (Number.isI │ │ │ -00010200: 6e74 6567 6572 2878 2929 207b 0a20 2020 nteger(x)) {. │ │ │ -00010210: 2020 2020 2069 6620 2865 7870 6f72 7473 if (exports │ │ │ -00010220: 2e70 7269 6d46 6c6f 6174 4973 4e65 6761 .primFloatIsNega │ │ │ -00010230: 7469 7665 5a65 726f 2878 2929 207b 0a20 tiveZero(x)) {. │ │ │ -00010240: 2020 2020 2020 2020 2020 2072 6574 7572 retur │ │ │ -00010250: 6e20 2822 2d30 2e30 2229 3b0a 2020 2020 n ("-0.0");. │ │ │ -00010260: 2020 2020 7d20 656c 7365 207b 0a20 2020 } else {. │ │ │ -00010270: 2020 2020 2020 2020 2072 6574 7572 6e20 return │ │ │ -00010280: 2878 2e74 6f53 7472 696e 6728 2920 2b20 (x.toString() + │ │ │ -00010290: 222e 3022 293b 0a20 2020 2020 2020 207d ".0");. } │ │ │ -000102a0: 0a20 2020 207d 2065 6c73 6520 7b0a 2020 . } else {. │ │ │ -000102b0: 2020 2020 2020 7265 7475 726e 2078 2e74 return x.t │ │ │ -000102c0: 6f53 7472 696e 6728 293b 0a20 2020 207d oString();. } │ │ │ -000102d0: 0a7d 3b0a 6578 706f 7274 732e 7072 696d .};.exports.prim │ │ │ -000102e0: 466c 6f61 7450 6c75 7320 3d20 6675 6e63 FloatPlus = func │ │ │ -000102f0: 7469 6f6e 2878 2920 7b0a 2020 2020 7265 tion(x) {. re │ │ │ -00010300: 7475 726e 2066 756e 6374 696f 6e28 7929 turn function(y) │ │ │ -00010310: 207b 0a20 2020 2020 2020 2072 6574 7572 {. retur │ │ │ -00010320: 6e20 7820 2b20 793b 0a20 2020 207d 3b0a n x + y;. };. │ │ │ -00010330: 7d3b 0a65 7870 6f72 7473 2e70 7269 6d46 };.exports.primF │ │ │ -00010340: 6c6f 6174 4d69 6e75 7320 3d20 6675 6e63 loatMinus = func │ │ │ -00010350: 7469 6f6e 2878 2920 7b0a 2020 2020 7265 tion(x) {. re │ │ │ -00010360: 7475 726e 2066 756e 6374 696f 6e28 7929 turn function(y) │ │ │ -00010370: 207b 0a20 2020 2020 2020 2072 6574 7572 {. retur │ │ │ -00010380: 6e20 7820 2d20 793b 0a20 2020 207d 3b0a n x - y;. };. │ │ │ -00010390: 7d3b 0a65 7870 6f72 7473 2e70 7269 6d46 };.exports.primF │ │ │ -000103a0: 6c6f 6174 5469 6d65 7320 3d20 6675 6e63 loatTimes = func │ │ │ -000103b0: 7469 6f6e 2878 2920 7b0a 2020 2020 7265 tion(x) {. re │ │ │ -000103c0: 7475 726e 2066 756e 6374 696f 6e28 7929 turn function(y) │ │ │ -000103d0: 207b 0a20 2020 2020 2020 2072 6574 7572 {. retur │ │ │ -000103e0: 6e20 7820 2a20 793b 0a20 2020 207d 3b0a n x * y;. };. │ │ │ -000103f0: 7d3b 0a65 7870 6f72 7473 2e70 7269 6d46 };.exports.primF │ │ │ -00010400: 6c6f 6174 4e65 6761 7465 203d 2066 756e loatNegate = fun │ │ │ -00010410: 6374 696f 6e28 7829 207b 0a20 2020 2072 ction(x) {. r │ │ │ -00010420: 6574 7572 6e20 2d78 3b0a 7d3b 0a65 7870 eturn -x;.};.exp │ │ │ -00010430: 6f72 7473 2e70 7269 6d46 6c6f 6174 4469 orts.primFloatDi │ │ │ -00010440: 7620 3d20 6675 6e63 7469 6f6e 2878 2920 v = function(x) │ │ │ -00010450: 7b0a 2020 7265 7475 726e 2066 756e 6374 {. return funct │ │ │ -00010460: 696f 6e28 7929 207b 0a20 2020 2072 6574 ion(y) {. ret │ │ │ -00010470: 7572 6e20 7820 2f20 793b 0a20 207d 3b0a urn x / y;. };. │ │ │ -00010480: 7d3b 0a65 7870 6f72 7473 2e70 7269 6d46 };.exports.primF │ │ │ -00010490: 6c6f 6174 506f 7720 3d20 6675 6e63 7469 loatPow = functi │ │ │ -000104a0: 6f6e 2878 2920 7b0a 2020 2020 7265 7475 on(x) {. retu │ │ │ -000104b0: 726e 2066 756e 6374 696f 6e28 7929 207b rn function(y) { │ │ │ -000104c0: 0a20 2020 2020 2020 2072 6574 7572 6e20 . return │ │ │ -000104d0: 7820 2a2a 2079 3b0a 2020 2020 7d3b 0a7d x ** y;. };.} │ │ │ -000104e0: 3b0a 6578 706f 7274 732e 7072 696d 466c ;.exports.primFl │ │ │ -000104f0: 6f61 7453 7172 7420 3d20 6675 6e63 7469 oatSqrt = functi │ │ │ -00010500: 6f6e 2878 2920 7b0a 2020 2020 7265 7475 on(x) {. retu │ │ │ -00010510: 726e 204d 6174 682e 7371 7274 2878 293b rn Math.sqrt(x); │ │ │ -00010520: 0a7d 3b0a 6578 706f 7274 732e 7072 696d .};.exports.prim │ │ │ -00010530: 466c 6f61 7445 7870 203d 2066 756e 6374 FloatExp = funct │ │ │ -00010540: 696f 6e28 7829 207b 0a20 2020 2072 6574 ion(x) {. ret │ │ │ -00010550: 7572 6e20 4d61 7468 2e65 7870 2878 293b urn Math.exp(x); │ │ │ -00010560: 0a7d 3b0a 6578 706f 7274 732e 7072 696d .};.exports.prim │ │ │ -00010570: 466c 6f61 744c 6f67 203d 2066 756e 6374 FloatLog = funct │ │ │ -00010580: 696f 6e28 7829 207b 0a20 2020 2072 6574 ion(x) {. ret │ │ │ -00010590: 7572 6e20 4d61 7468 2e6c 6f67 2878 293b urn Math.log(x); │ │ │ -000105a0: 0a7d 3b0a 6578 706f 7274 732e 7072 696d .};.exports.prim │ │ │ -000105b0: 466c 6f61 7453 696e 203d 2066 756e 6374 FloatSin = funct │ │ │ -000105c0: 696f 6e28 7829 207b 0a20 2020 2072 6574 ion(x) {. ret │ │ │ -000105d0: 7572 6e20 4d61 7468 2e73 696e 2878 293b urn Math.sin(x); │ │ │ -000105e0: 0a7d 3b0a 6578 706f 7274 732e 7072 696d .};.exports.prim │ │ │ -000105f0: 466c 6f61 7443 6f73 203d 2066 756e 6374 FloatCos = funct │ │ │ -00010600: 696f 6e28 7829 207b 0a20 2020 2072 6574 ion(x) {. ret │ │ │ -00010610: 7572 6e20 4d61 7468 2e63 6f73 2878 293b urn Math.cos(x); │ │ │ -00010620: 0a7d 3b0a 6578 706f 7274 732e 7072 696d .};.exports.prim │ │ │ -00010630: 466c 6f61 7454 616e 203d 2066 756e 6374 FloatTan = funct │ │ │ -00010640: 696f 6e28 7829 207b 0a20 2020 2072 6574 ion(x) {. ret │ │ │ -00010650: 7572 6e20 4d61 7468 2e74 616e 2878 293b urn Math.tan(x); │ │ │ -00010660: 0a7d 3b0a 6578 706f 7274 732e 7072 696d .};.exports.prim │ │ │ -00010670: 466c 6f61 7441 5369 6e20 3d20 6675 6e63 FloatASin = func │ │ │ -00010680: 7469 6f6e 2878 2920 7b0a 2020 2020 7265 tion(x) {. re │ │ │ -00010690: 7475 726e 204d 6174 682e 6173 696e 2878 turn Math.asin(x │ │ │ -000106a0: 293b 0a7d 3b0a 6578 706f 7274 732e 7072 );.};.exports.pr │ │ │ -000106b0: 696d 466c 6f61 7441 436f 7320 3d20 6675 imFloatACos = fu │ │ │ -000106c0: 6e63 7469 6f6e 2878 2920 7b0a 2020 2020 nction(x) {. │ │ │ -000106d0: 7265 7475 726e 204d 6174 682e 6163 6f73 return Math.acos │ │ │ -000106e0: 2878 293b 0a7d 3b0a 6578 706f 7274 732e (x);.};.exports. │ │ │ -000106f0: 7072 696d 466c 6f61 7441 5461 6e20 3d20 primFloatATan = │ │ │ -00010700: 6675 6e63 7469 6f6e 2878 2920 7b0a 2020 function(x) {. │ │ │ -00010710: 2020 7265 7475 726e 204d 6174 682e 6174 return Math.at │ │ │ -00010720: 616e 2878 293b 0a7d 3b0a 6578 706f 7274 an(x);.};.export │ │ │ -00010730: 732e 7072 696d 466c 6f61 7441 5461 6e32 s.primFloatATan2 │ │ │ -00010740: 203d 2066 756e 6374 696f 6e28 7829 207b = function(x) { │ │ │ -00010750: 0a20 2020 2072 6574 7572 6e20 6675 6e63 . return func │ │ │ -00010760: 7469 6f6e 2879 297b 0a20 2020 2020 2020 tion(y){. │ │ │ -00010770: 2072 6574 7572 6e20 4d61 7468 2e61 7461 return Math.ata │ │ │ -00010780: 6e32 2878 2c20 7929 3b0a 2020 2020 7d3b n2(x, y);. }; │ │ │ -00010790: 0a7d 3b0a 6578 706f 7274 732e 7072 696d .};.exports.prim │ │ │ -000107a0: 466c 6f61 7453 696e 6820 3d20 6675 6e63 FloatSinh = func │ │ │ -000107b0: 7469 6f6e 2878 2920 7b0a 2020 2020 7265 tion(x) {. re │ │ │ -000107c0: 7475 726e 204d 6174 682e 7369 6e68 2878 turn Math.sinh(x │ │ │ -000107d0: 293b 0a7d 3b0a 6578 706f 7274 732e 7072 );.};.exports.pr │ │ │ -000107e0: 696d 466c 6f61 7443 6f73 6820 3d20 6675 imFloatCosh = fu │ │ │ -000107f0: 6e63 7469 6f6e 2878 2920 7b0a 2020 2020 nction(x) {. │ │ │ -00010800: 7265 7475 726e 204d 6174 682e 636f 7368 return Math.cosh │ │ │ -00010810: 2878 293b 0a7d 3b0a 6578 706f 7274 732e (x);.};.exports. │ │ │ -00010820: 7072 696d 466c 6f61 7454 616e 6820 3d20 primFloatTanh = │ │ │ -00010830: 6675 6e63 7469 6f6e 2878 2920 7b0a 2020 function(x) {. │ │ │ -00010840: 2020 7265 7475 726e 204d 6174 682e 7461 return Math.ta │ │ │ -00010850: 6e68 2878 293b 0a7d 3b0a 6578 706f 7274 nh(x);.};.export │ │ │ -00010860: 732e 7072 696d 466c 6f61 7441 5369 6e68 s.primFloatASinh │ │ │ -00010870: 203d 2066 756e 6374 696f 6e28 7829 207b = function(x) { │ │ │ -00010880: 0a20 2020 2072 6574 7572 6e20 4d61 7468 . return Math │ │ │ -00010890: 2e61 7369 6e68 2878 293b 0a7d 3b0a 6578 .asinh(x);.};.ex │ │ │ -000108a0: 706f 7274 732e 7072 696d 466c 6f61 7441 ports.primFloatA │ │ │ -000108b0: 436f 7368 203d 2066 756e 6374 696f 6e28 Cosh = function( │ │ │ -000108c0: 7829 207b 0a20 2020 2072 6574 7572 6e20 x) {. return │ │ │ -000108d0: 4d61 7468 2e61 636f 7368 2878 293b 0a7d Math.acosh(x);.} │ │ │ -000108e0: 3b0a 6578 706f 7274 732e 7072 696d 466c ;.exports.primFl │ │ │ -000108f0: 6f61 7441 5461 6e68 203d 2066 756e 6374 oatATanh = funct │ │ │ -00010900: 696f 6e28 7829 207b 0a20 2020 2072 6574 ion(x) {. ret │ │ │ -00010910: 7572 6e20 4d61 7468 2e61 7461 6e68 2878 urn Math.atanh(x │ │ │ -00010920: 293b 0a7d 3b0a 0a2f 2f20 4375 6269 6361 );.};..// Cubica │ │ │ -00010930: 6c20 7072 696d 6974 6976 6573 2e0a 6578 l primitives..ex │ │ │ -00010940: 706f 7274 732e 7072 696d 494d 696e 203d ports.primIMin = │ │ │ -00010950: 2078 203d 3e20 7920 3d3e 2078 2026 2620 x => y => x && │ │ │ -00010960: 793b 0a65 7870 6f72 7473 2e70 7269 6d49 y;.exports.primI │ │ │ -00010970: 4d61 7820 3d20 7820 3d3e 2079 203d 3e20 Max = x => y => │ │ │ -00010980: 7820 7c7c 2079 3b0a 6578 706f 7274 732e x || y;.exports. │ │ │ -00010990: 7072 696d 494e 6567 203d 2078 203d 3e20 primINeg = x => │ │ │ -000109a0: 2178 3b0a 6578 706f 7274 732e 7072 696d !x;.exports.prim │ │ │ -000109b0: 5061 7274 6961 6c20 3d20 5f20 3d3e 205f Partial = _ => _ │ │ │ -000109c0: 203d 3e20 7820 3d3e 2078 3b0a 6578 706f => x => x;.expo │ │ │ -000109d0: 7274 732e 7072 696d 5061 7274 6961 6c50 rts.primPartialP │ │ │ -000109e0: 203d 205f 203d 3e20 5f20 3d3e 2078 203d = _ => _ => x = │ │ │ -000109f0: 3e20 783b 0a65 7870 6f72 7473 2e70 7269 > x;.exports.pri │ │ │ -00010a00: 6d50 4f72 203d 205f 203d 3e20 6920 3d3e mPOr = _ => i => │ │ │ -00010a10: 205f 203d 3e20 5f20 3d3e 2078 203d 3e20 _ => _ => x => │ │ │ -00010a20: 7920 3d3e 2069 203f 2078 203a 2079 3b0a y => i ? x : y;. │ │ │ -00010a30: 6578 706f 7274 732e 7072 696d 436f 6d70 exports.primComp │ │ │ -00010a40: 203d 205f 203d 3e20 5f20 3d3e 205f 203d = _ => _ => _ = │ │ │ -00010a50: 3e20 5f20 3d3e 2078 203d 3e20 783b 0a65 > _ => x => x;.e │ │ │ -00010a60: 7870 6f72 7473 2e70 7269 6d54 7261 6e73 xports.primTrans │ │ │ -00010a70: 7020 3d20 5f20 3d3e 205f 203d 3e20 5f20 p = _ => _ => _ │ │ │ -00010a80: 3d3e 2078 203d 3e20 783b 0a65 7870 6f72 => x => x;.expor │ │ │ -00010a90: 7473 2e70 7269 6d48 436f 6d70 203d 205f ts.primHComp = _ │ │ │ -00010aa0: 203d 3e20 5f20 3d3e 205f 203d 3e20 5f20 => _ => _ => _ │ │ │ -00010ab0: 3d3e 2078 203d 3e20 783b 0a65 7870 6f72 => x => x;.expor │ │ │ -00010ac0: 7473 2e70 7269 6d53 7562 4f75 7420 3d20 ts.primSubOut = │ │ │ -00010ad0: 5f20 3d3e 205f 203d 3e20 5f20 3d3e 205f _ => _ => _ => _ │ │ │ -00010ae0: 203d 3e20 7820 3d3e 2078 3b0a 6578 706f => x => x;.expo │ │ │ -00010af0: 7274 732e 7072 696d 5f67 6c75 6555 203d rts.prim_glueU = │ │ │ -00010b00: 205f 203d 3e20 5f20 3d3e 205f 203d 3e20 _ => _ => _ => │ │ │ -00010b10: 5f20 3d3e 205f 203d 3e20 7820 3d3e 2078 _ => _ => x => x │ │ │ -00010b20: 3b0a 6578 706f 7274 732e 7072 696d 5f75 ;.exports.prim_u │ │ │ -00010b30: 6e67 6c75 6555 203d 205f 203d 3e20 5f20 nglueU = _ => _ │ │ │ -00010b40: 3d3e 205f 203d 3e20 5f20 3d3e 2078 203d => _ => _ => x = │ │ │ -00010b50: 3e20 783b 0a65 7870 6f72 7473 2e70 7269 > x;.exports.pri │ │ │ -00010b60: 6d46 6163 6546 6f72 616c 6c20 3d20 6620 mFaceForall = f │ │ │ -00010b70: 3d3e 2066 2874 7275 6529 203d 3d20 7472 => f(true) == tr │ │ │ -00010b80: 7565 2026 2620 6628 6661 6c73 6529 203d ue && f(false) = │ │ │ -00010b90: 3d20 6661 6c73 653b 0a0a 2f2f 204f 7468 = false;..// Oth │ │ │ -00010ba0: 6572 2073 7475 6666 0a0a 2f2f 2070 7269 er stuff..// pri │ │ │ -00010bb0: 6d53 6571 203a 2028 582c 2059 2920 2d3e mSeq : (X, Y) -> │ │ │ -00010bc0: 2059 0a65 7870 6f72 7473 2e70 7269 6d53 Y.exports.primS │ │ │ -00010bd0: 6571 203d 2028 782c 2079 2920 3d3e 2079 eq = (x, y) => y │ │ │ -00010be0: 3b0a 0a2f 2f20 7570 7269 6d51 4e61 6d65 ;..// uprimQName │ │ │ -00010bf0: 4571 7561 6c69 7479 203a 2028 4e61 6d65 Equality : (Name │ │ │ -00010c00: 2c20 4e61 6d65 2920 2d3e 2042 6f6f 6c0a , Name) -> Bool. │ │ │ -00010c10: 6578 706f 7274 732e 7570 7269 6d51 4e61 exports.uprimQNa │ │ │ -00010c20: 6d65 4571 7561 6c69 7479 203d 2028 782c meEquality = (x, │ │ │ -00010c30: 2079 2920 3d3e 2078 5b27 6964 275d 203d y) => x['id'] = │ │ │ -00010c40: 3d3d 2079 5b27 6964 275d 2026 2620 785b == y['id'] && x[ │ │ │ -00010c50: 276d 6f64 756c 6549 6427 5d20 3d3d 3d20 'moduleId'] === │ │ │ -00010c60: 795b 276d 6f64 756c 6549 6427 5d3b 0a0a y['moduleId'];.. │ │ │ -00010c70: 2f2f 2070 7269 6d51 4e61 6d65 4571 7561 // primQNameEqua │ │ │ -00010c80: 6c69 7479 203a 204e 616d 6520 2d3e 204e lity : Name -> N │ │ │ -00010c90: 616d 6520 2d3e 2042 6f6f 6c0a 6578 706f ame -> Bool.expo │ │ │ -00010ca0: 7274 732e 7072 696d 514e 616d 6545 7175 rts.primQNameEqu │ │ │ -00010cb0: 616c 6974 7920 3d20 7820 3d3e 2079 203d ality = x => y = │ │ │ -00010cc0: 3e20 6578 706f 7274 732e 7570 7269 6d51 > exports.uprimQ │ │ │ -00010cd0: 4e61 6d65 4571 7561 6c69 7479 2878 2c20 NameEquality(x, │ │ │ -00010ce0: 7929 3b0a 0a2f 2f20 7072 696d 514e 616d y);..// primQNam │ │ │ -00010cf0: 654c 6573 7320 3a20 4e61 6d65 202d 3e20 eLess : Name -> │ │ │ -00010d00: 4e61 6d65 202d 3e20 426f 6f6c 0a65 7870 Name -> Bool.exp │ │ │ -00010d10: 6f72 7473 2e70 7269 6d51 4e61 6d65 4c65 orts.primQNameLe │ │ │ -00010d20: 7373 203d 2078 203d 3e20 7920 3d3e 2078 ss = x => y => x │ │ │ -00010d30: 5b27 6964 275d 203d 3d3d 2079 5b27 6964 ['id'] === y['id │ │ │ -00010d40: 275d 203f 2078 5b27 6d6f 6475 6c65 4964 '] ? x['moduleId │ │ │ -00010d50: 275d 203c 2079 5b27 6d6f 6475 6c65 4964 '] < y['moduleId │ │ │ -00010d60: 275d 203a 2078 5b27 6964 275d 203c 2079 '] : x['id'] < y │ │ │ -00010d70: 5b27 6964 275d 3b0a 0a2f 2f20 7072 696d ['id'];..// prim │ │ │ -00010d80: 5368 6f77 514e 616d 6520 3a20 4e61 6d65 ShowQName : Name │ │ │ -00010d90: 202d 3e20 5374 7269 6e67 0a65 7870 6f72 -> String.expor │ │ │ -00010da0: 7473 2e70 7269 6d53 686f 7751 4e61 6d65 ts.primShowQName │ │ │ -00010db0: 203d 2078 203d 3e20 785b 276e 616d 6527 = x => x['name' │ │ │ -00010dc0: 5d3b 0a0a 2f2f 2070 7269 6d51 4e61 6d65 ];..// primQName │ │ │ -00010dd0: 4669 7869 7479 203a 204e 616d 6520 2d3e Fixity : Name -> │ │ │ -00010de0: 2046 6978 6974 790a 6578 706f 7274 732e Fixity.exports. │ │ │ -00010df0: 7072 696d 514e 616d 6546 6978 6974 7920 primQNameFixity │ │ │ -00010e00: 3d20 7820 3d3e 2078 5b27 6669 7869 7479 = x => x['fixity │ │ │ -00010e10: 275d 3b0a 7265 7475 726e 2065 7870 6f72 '];.return expor │ │ │ -00010e20: 7473 3b0a 7d29 3b0a 97b5 c6f0 ea9e dec6 ts;.});......... │ │ │ -00010e30: f301 d1ca d8f7 81b4 83a2 7400 9201 0001 ..........t..... │ │ │ -00010e40: 0e66 0520 0000 0100 0404 0803 0702 5e02 .f. ..........^. │ │ │ -00010e50: 0000 030f 0005 0505 0b5f 0b93 010b 6109 ........._....a. │ │ │ -00010e60: 0601 00cf d400 efbd 828a 9fcf a9ef 14ac ................ │ │ │ -00010e70: d3a7 8799 a291 ece7 0100 9301 0001 38e8 ..............8. │ │ │ -00010e80: 0582 8080 e608 0000 0100 0304 0704 0200 ................ │ │ │ -00010e90: 0003 0f00 0901 cfd4 002f 2f20 436f 6e74 .........// Cont │ │ │ -00010ea0: 6169 6e73 202a 6d6f 7374 2a20 6f66 2074 ains *most* of t │ │ │ -00010eb0: 6865 2070 7269 6d69 7469 7665 7320 7265 he primitives re │ │ │ -00010ec0: 7175 6972 6564 2062 7920 7468 6520 4a61 quired by the Ja │ │ │ -00010ed0: 7661 5363 7269 7074 2062 6163 6b65 6e64 vaScript backend │ │ │ -00010ee0: 2e0a 2f2f 2028 536f 6d65 2c20 652e 672e ..// (Some, e.g. │ │ │ -00010ef0: 2c20 7468 6f73 6520 7573 696e 6720 4167 , those using Ag │ │ │ -00010f00: 6461 2074 7970 6573 206c 696b 6520 4d61 da types like Ma │ │ │ -00010f10: 7962 652c 2061 7265 2064 6566 696e 6564 ybe, are defined │ │ │ -00010f20: 2069 6e20 7468 6569 720a 2f2f 2072 6573 in their.// res │ │ │ -00010f30: 7065 6374 6976 6520 6275 696c 7469 6e20 pective builtin │ │ │ -00010f40: 6d6f 6475 6c65 732e 290a 2f2f 0a2f 2f20 modules.).//.// │ │ │ -00010f50: 5072 696d 6974 6976 6573 2070 7265 6669 Primitives prefi │ │ │ -00010f60: 7865 6420 6279 2027 7527 2061 7265 2075 xed by 'u' are u │ │ │ -00010f70: 6e63 7572 7269 6564 2076 6172 6961 6e74 ncurried variant │ │ │ -00010f80: 732c 2077 6869 6368 2061 7265 2073 6f6d s, which are som │ │ │ -00010f90: 6574 696d 6573 0a2f 2f20 656d 6974 7465 etimes.// emitte │ │ │ -00010fa0: 6420 6279 2074 6865 204a 6176 6153 6372 d by the JavaScr │ │ │ -00010fb0: 6970 7420 6261 636b 656e 642e 2057 6865 ipt backend. Whe │ │ │ -00010fc0: 6e65 7665 7220 706f 7373 6962 6c65 2c20 never possible, │ │ │ -00010fd0: 7468 6520 6375 7272 6965 6420 7072 696d the curried prim │ │ │ -00010fe0: 6974 6976 6573 0a2f 2f20 7368 6f75 6c64 itives.// should │ │ │ -00010ff0: 2062 6520 696d 706c 656d 656e 7465 6420 be implemented │ │ │ -00011000: 696e 2074 6572 6d73 206f 6620 7468 6520 in terms of the │ │ │ -00011010: 756e 6375 7272 6965 6420 6f6e 6573 2e0a uncurried ones.. │ │ │ -00011020: 2f2f 0a2f 2f20 5072 696d 6974 6976 6573 //.// Primitives │ │ │ -00011030: 2070 7265 6669 7865 6420 6279 2027 5f27 prefixed by '_' │ │ │ -00011040: 2061 7265 2069 6e74 6572 6e61 6c20 7661 are internal va │ │ │ -00011050: 7269 616e 7473 2c20 7573 7561 6c6c 7920 riants, usually │ │ │ -00011060: 666f 7220 7468 6f73 6520 7072 696d 6974 for those primit │ │ │ -00011070: 6976 6573 0a2f 2f20 7768 6963 6820 7265 ives.// which re │ │ │ -00011080: 7475 726e 2041 6764 6120 7479 7065 7320 turn Agda types │ │ │ -00011090: 6c69 6b65 204d 6179 6265 2e20 5468 6573 like Maybe. Thes │ │ │ -000110a0: 6520 6172 6520 6e65 7665 7220 656d 6974 e are never emit │ │ │ -000110b0: 7465 6420 6279 2074 6865 2063 6f6d 7069 ted by the compi │ │ │ -000110c0: 6c65 722c 0a2f 2f20 6275 7420 6361 6e20 ler,.// but can │ │ │ -000110d0: 6265 2075 7365 6420 696e 7465 726e 616c be used internal │ │ │ -000110e0: 6c79 2074 6f20 6465 6669 6e65 206f 7468 ly to define oth │ │ │ -000110f0: 6572 2070 7265 6669 7865 732e 0a0a 2f2f er prefixes...// │ │ │ -00011100: 2049 6e74 6567 6572 730a 0a2f 2f20 7072 Integers..// pr │ │ │ -00011110: 696d 496e 7465 6765 7246 726f 6d53 7472 imIntegerFromStr │ │ │ -00011120: 696e 6720 3a20 5374 7269 6e67 202d 3e20 ing : String -> │ │ │ -00011130: 496e 740a 6578 706f 7274 732e 7072 696d Int.exports.prim │ │ │ -00011140: 496e 7465 6765 7246 726f 6d53 7472 696e IntegerFromStrin │ │ │ -00011150: 6720 3d20 4269 6749 6e74 3b0a 0a2f 2f20 g = BigInt;..// │ │ │ -00011160: 7072 696d 5368 6f77 496e 7465 6765 7220 primShowInteger │ │ │ -00011170: 3a20 496e 7420 2d3e 2053 7472 696e 670a : Int -> String. │ │ │ -00011180: 6578 706f 7274 732e 7072 696d 5368 6f77 exports.primShow │ │ │ -00011190: 496e 7465 6765 7220 3d20 7820 3d3e 2078 Integer = x => x │ │ │ -000111a0: 2e74 6f53 7472 696e 6728 293b 0a0a 2f2f .toString();..// │ │ │ -000111b0: 2075 7072 696d 496e 7465 6765 7250 6c75 uprimIntegerPlu │ │ │ -000111c0: 7320 3a20 2849 6e74 2c20 496e 7429 202d s : (Int, Int) - │ │ │ -000111d0: 3e20 496e 740a 6578 706f 7274 732e 7570 > Int.exports.up │ │ │ -000111e0: 7269 6d49 6e74 6567 6572 506c 7573 203d rimIntegerPlus = │ │ │ -000111f0: 2028 782c 2079 2920 3d3e 2078 202b 2079 (x, y) => x + y │ │ │ -00011200: 3b0a 0a2f 2f20 7570 7269 6d49 6e74 6567 ;..// uprimInteg │ │ │ -00011210: 6572 4d69 6e75 7320 3a20 2849 6e74 2c20 erMinus : (Int, │ │ │ -00011220: 496e 7429 202d 3e20 496e 740a 6578 706f Int) -> Int.expo │ │ │ -00011230: 7274 732e 7570 7269 6d49 6e74 6567 6572 rts.uprimInteger │ │ │ -00011240: 4d69 6e75 7320 3d20 2878 2c20 7929 203d Minus = (x, y) = │ │ │ -00011250: 3e20 7820 2d20 793b 0a0a 2f2f 2075 7072 > x - y;..// upr │ │ │ -00011260: 696d 496e 7465 6765 724d 756c 7469 706c imIntegerMultipl │ │ │ -00011270: 7920 3a20 2849 6e74 2c20 496e 7429 202d y : (Int, Int) - │ │ │ -00011280: 3e20 496e 740a 6578 706f 7274 732e 7570 > Int.exports.up │ │ │ -00011290: 7269 6d49 6e74 6567 6572 4d75 6c74 6970 rimIntegerMultip │ │ │ -000112a0: 6c79 203d 2028 782c 2079 2920 3d3e 2078 ly = (x, y) => x │ │ │ -000112b0: 202a 2079 3b0a 0a2f 2f20 7570 7269 6d49 * y;..// uprimI │ │ │ -000112c0: 6e74 6567 6572 5265 6d20 3a20 2849 6e74 ntegerRem : (Int │ │ │ -000112d0: 2c20 496e 7429 202d 3e20 496e 740a 6578 , Int) -> Int.ex │ │ │ -000112e0: 706f 7274 732e 7570 7269 6d49 6e74 6567 ports.uprimInteg │ │ │ -000112f0: 6572 5265 6d20 3d20 2878 2c20 7929 203d erRem = (x, y) = │ │ │ -00011300: 3e20 7820 2520 793b 0a0a 2f2f 2075 7072 > x % y;..// upr │ │ │ -00011310: 696d 496e 7465 6765 7251 756f 7420 3a20 imIntegerQuot : │ │ │ -00011320: 2849 6e74 2c20 496e 7429 202d 3e20 496e (Int, Int) -> In │ │ │ -00011330: 740a 6578 706f 7274 732e 7570 7269 6d49 t.exports.uprimI │ │ │ -00011340: 6e74 6567 6572 5175 6f74 203d 2028 782c ntegerQuot = (x, │ │ │ -00011350: 2079 2920 3d3e 2078 202f 2079 3b0a 0a2f y) => x / y;../ │ │ │ -00011360: 2f20 7570 7269 6d49 6e74 6567 6572 4571 / uprimIntegerEq │ │ │ -00011370: 7561 6c20 3a20 2849 6e74 2c20 496e 7429 ual : (Int, Int) │ │ │ -00011380: 202d 3e20 426f 6f6c 0a65 7870 6f72 7473 -> Bool.exports │ │ │ -00011390: 2e75 7072 696d 496e 7465 6765 7245 7175 .uprimIntegerEqu │ │ │ -000113a0: 616c 203d 2028 782c 2079 2920 3d3e 2078 al = (x, y) => x │ │ │ -000113b0: 203d 3d3d 2079 3b0a 0a2f 2f20 7570 7269 === y;..// upri │ │ │ -000113c0: 6d49 6e74 6567 6572 4772 6561 7465 724f mIntegerGreaterO │ │ │ -000113d0: 7245 7175 616c 5468 616e 203a 2028 496e rEqualThan : (In │ │ │ -000113e0: 742c 2049 6e74 2920 2d3e 2042 6f6f 6c0a t, Int) -> Bool. │ │ │ -000113f0: 6578 706f 7274 732e 7570 7269 6d49 6e74 exports.uprimInt │ │ │ -00011400: 6567 6572 4772 6561 7465 724f 7245 7175 egerGreaterOrEqu │ │ │ -00011410: 616c 5468 616e 203d 2028 782c 2079 2920 alThan = (x, y) │ │ │ -00011420: 3d3e 2078 203e 3d20 793b 0a0a 2f2f 2075 => x >= y;..// u │ │ │ -00011430: 7072 696d 496e 7465 6765 724c 6573 7354 primIntegerLessT │ │ │ -00011440: 6861 6e20 3a20 2849 6e74 2c20 496e 7429 han : (Int, Int) │ │ │ -00011450: 202d 3e20 426f 6f6c 0a65 7870 6f72 7473 -> Bool.exports │ │ │ -00011460: 2e75 7072 696d 496e 7465 6765 724c 6573 .uprimIntegerLes │ │ │ -00011470: 7354 6861 6e20 3d20 2878 2c20 7929 203d sThan = (x, y) = │ │ │ -00011480: 3e20 7820 3c20 793b 0a0a 2f2f 2057 6f72 > x < y;..// Wor │ │ │ -00011490: 6473 0a63 6f6e 7374 2057 4f52 4436 345f ds.const WORD64_ │ │ │ -000114a0: 4d41 585f 5641 4c55 4520 3d20 3138 3434 MAX_VALUE = 1844 │ │ │ -000114b0: 3637 3434 3037 3337 3039 3535 3230 3030 6744073709552000 │ │ │ -000114c0: 6e3b 0a0a 2f2f 2070 7269 6d57 6f72 6436 n;..// primWord6 │ │ │ -000114d0: 3454 6f4e 6174 203a 2057 6f72 6436 3420 4ToNat : Word64 │ │ │ -000114e0: 2d3e 204e 6174 0a65 7870 6f72 7473 2e70 -> Nat.exports.p │ │ │ -000114f0: 7269 6d57 6f72 6436 3454 6f4e 6174 203d rimWord64ToNat = │ │ │ -00011500: 2078 203d 3e20 783b 0a0a 2f2f 2070 7269 x => x;..// pri │ │ │ -00011510: 6d57 6f72 6436 3446 726f 6d4e 6174 203a mWord64FromNat : │ │ │ -00011520: 204e 6174 202d 3e20 576f 7264 3634 0a65 Nat -> Word64.e │ │ │ -00011530: 7870 6f72 7473 2e70 7269 6d57 6f72 6436 xports.primWord6 │ │ │ -00011540: 3446 726f 6d4e 6174 203d 2078 203d 3e20 4FromNat = x => │ │ │ -00011550: 7820 2520 574f 5244 3634 5f4d 4158 5f56 x % WORD64_MAX_V │ │ │ -00011560: 414c 5545 3b0a 0a2f 2f20 7570 7269 6d57 ALUE;..// uprimW │ │ │ -00011570: 6f72 6436 3450 6c75 7320 3a20 2857 6f72 ord64Plus : (Wor │ │ │ -00011580: 6436 342c 2057 6f72 6436 3429 202d 3e20 d64, Word64) -> │ │ │ -00011590: 576f 7264 3634 0a65 7870 6f72 7473 2e75 Word64.exports.u │ │ │ -000115a0: 7072 696d 576f 7264 3634 506c 7573 203d primWord64Plus = │ │ │ -000115b0: 2028 782c 2079 2920 3d3e 2028 7820 2b20 (x, y) => (x + │ │ │ -000115c0: 7929 2025 2057 4f52 4436 345f 4d41 585f y) % WORD64_MAX_ │ │ │ -000115d0: 5641 4c55 453b 0a0a 2f2f 2075 7072 696d VALUE;..// uprim │ │ │ -000115e0: 576f 7264 3634 4d69 6e75 7320 3a20 2857 Word64Minus : (W │ │ │ -000115f0: 6f72 6436 342c 2057 6f72 6436 3429 202d ord64, Word64) - │ │ │ -00011600: 3e20 576f 7264 3634 0a65 7870 6f72 7473 > Word64.exports │ │ │ -00011610: 2e75 7072 696d 576f 7264 3634 4d69 6e75 .uprimWord64Minu │ │ │ -00011620: 7320 3d20 2878 2c20 7929 203d 3e20 2878 s = (x, y) => (x │ │ │ -00011630: 202b 2057 4f52 4436 345f 4d41 585f 5641 + WORD64_MAX_VA │ │ │ -00011640: 4c55 4520 2d20 7929 2025 2057 4f52 4436 LUE - y) % WORD6 │ │ │ -00011650: 345f 4d41 585f 5641 4c55 453b 0a0a 2f2f 4_MAX_VALUE;..// │ │ │ -00011660: 2075 7072 696d 576f 7264 3634 4d75 6c74 uprimWord64Mult │ │ │ -00011670: 6970 6c79 203a 2028 576f 7264 3634 2c20 iply : (Word64, │ │ │ -00011680: 576f 7264 3634 2920 2d3e 2057 6f72 6436 Word64) -> Word6 │ │ │ -00011690: 340a 6578 706f 7274 732e 7570 7269 6d57 4.exports.uprimW │ │ │ -000116a0: 6f72 6436 344d 756c 7469 706c 7920 3d20 ord64Multiply = │ │ │ -000116b0: 2878 2c20 7929 203d 3e20 2878 202a 2079 (x, y) => (x * y │ │ │ -000116c0: 2920 2520 574f 5244 3634 5f4d 4158 5f56 ) % WORD64_MAX_V │ │ │ -000116d0: 414c 5545 3b0a 0a2f 2f20 4e61 7475 7261 ALUE;..// Natura │ │ │ -000116e0: 6c20 6e75 6d62 6572 730a 0a2f 2f20 7072 l numbers..// pr │ │ │ -000116f0: 696d 4e61 744d 696e 7573 203a 204e 6174 imNatMinus : Nat │ │ │ -00011700: 202d 3e20 4e61 7420 2d3e 204e 6174 0a65 -> Nat -> Nat.e │ │ │ -00011710: 7870 6f72 7473 2e70 7269 6d4e 6174 4d69 xports.primNatMi │ │ │ -00011720: 6e75 7320 3d20 7820 3d3e 2079 203d 3e20 nus = x => y => │ │ │ -00011730: 7b0a 2020 636f 6e73 7420 7a20 3d20 7820 {. const z = x │ │ │ -00011740: 2d20 793b 0a20 2072 6574 7572 6e20 7a20 - y;. return z │ │ │ -00011750: 3c20 306e 203f 2030 6e20 3a20 7a3b 0a7d < 0n ? 0n : z;.} │ │ │ -00011760: 3b0a 0a2f 2f20 466c 6f61 7469 6e67 2d70 ;..// Floating-p │ │ │ -00011770: 6f69 6e74 206e 756d 6265 7273 0a76 6172 oint numbers.var │ │ │ -00011780: 205f 7072 696d 466c 6f61 7447 7265 6174 _primFloatGreat │ │ │ -00011790: 6573 7443 6f6d 6d6f 6e46 6163 746f 7220 estCommonFactor │ │ │ -000117a0: 3d20 6675 6e63 7469 6f6e 2878 2c20 7929 = function(x, y) │ │ │ -000117b0: 207b 0a20 2020 2076 6172 207a 3b0a 2020 {. var z;. │ │ │ -000117c0: 2020 7820 3d20 4d61 7468 2e61 6273 2878 x = Math.abs(x │ │ │ -000117d0: 293b 0a20 2020 2079 203d 204d 6174 682e );. y = Math. │ │ │ -000117e0: 6162 7328 7929 3b0a 2020 2020 7768 696c abs(y);. whil │ │ │ -000117f0: 6520 2879 2920 7b0a 2020 2020 2020 2020 e (y) {. │ │ │ -00011800: 7a20 3d20 7820 2520 793b 0a20 2020 2020 z = x % y;. │ │ │ -00011810: 2020 2078 203d 2079 3b0a 2020 2020 2020 x = y;. │ │ │ -00011820: 2020 7920 3d20 7a3b 0a20 2020 207d 0a20 y = z;. }. │ │ │ -00011830: 2020 2072 6574 7572 6e20 783b 0a7d 3b0a return x;.};. │ │ │ -00011840: 6578 706f 7274 732e 5f70 7269 6d46 6c6f exports._primFlo │ │ │ -00011850: 6174 526f 756e 6420 3d20 6675 6e63 7469 atRound = functi │ │ │ -00011860: 6f6e 2878 2920 7b0a 2020 2020 6966 2028 on(x) {. if ( │ │ │ -00011870: 6578 706f 7274 732e 7072 696d 466c 6f61 exports.primFloa │ │ │ -00011880: 7449 734e 614e 2878 2920 7c7c 2065 7870 tIsNaN(x) || exp │ │ │ -00011890: 6f72 7473 2e70 7269 6d46 6c6f 6174 4973 orts.primFloatIs │ │ │ -000118a0: 496e 6669 6e69 7465 2878 2929 207b 0a20 Infinite(x)) {. │ │ │ -000118b0: 2020 2020 2020 2072 6574 7572 6e20 6e75 return nu │ │ │ -000118c0: 6c6c 3b0a 2020 2020 7d0a 2020 2020 656c ll;. }. el │ │ │ -000118d0: 7365 207b 0a20 2020 2020 2020 2072 6574 se {. ret │ │ │ -000118e0: 7572 6e20 4269 6749 6e74 284d 6174 682e urn BigInt(Math. │ │ │ -000118f0: 726f 756e 6428 7829 293b 0a20 2020 207d round(x));. } │ │ │ -00011900: 0a7d 3b0a 6578 706f 7274 732e 5f70 7269 .};.exports._pri │ │ │ -00011910: 6d46 6c6f 6174 466c 6f6f 7220 3d20 6675 mFloatFloor = fu │ │ │ -00011920: 6e63 7469 6f6e 2878 2920 7b0a 2020 2020 nction(x) {. │ │ │ -00011930: 6966 2028 6578 706f 7274 732e 7072 696d if (exports.prim │ │ │ -00011940: 466c 6f61 7449 734e 614e 2878 2920 7c7c FloatIsNaN(x) || │ │ │ -00011950: 2065 7870 6f72 7473 2e70 7269 6d46 6c6f exports.primFlo │ │ │ -00011960: 6174 4973 496e 6669 6e69 7465 2878 2929 atIsInfinite(x)) │ │ │ -00011970: 207b 0a20 2020 2020 2020 2072 6574 7572 {. retur │ │ │ -00011980: 6e20 6e75 6c6c 3b0a 2020 2020 7d0a 2020 n null;. }. │ │ │ -00011990: 2020 656c 7365 207b 0a20 2020 2020 2020 else {. │ │ │ -000119a0: 2072 6574 7572 6e20 4269 6749 6e74 284d return BigInt(M │ │ │ -000119b0: 6174 682e 666c 6f6f 7228 7829 293b 0a20 ath.floor(x));. │ │ │ -000119c0: 2020 207d 0a7d 3b0a 6578 706f 7274 732e }.};.exports. │ │ │ -000119d0: 5f70 7269 6d46 6c6f 6174 4365 696c 696e _primFloatCeilin │ │ │ -000119e0: 6720 3d20 6675 6e63 7469 6f6e 2878 2920 g = function(x) │ │ │ -000119f0: 7b0a 2020 2020 6966 2028 6578 706f 7274 {. if (export │ │ │ -00011a00: 732e 7072 696d 466c 6f61 7449 734e 614e s.primFloatIsNaN │ │ │ -00011a10: 2878 2920 7c7c 2065 7870 6f72 7473 2e70 (x) || exports.p │ │ │ -00011a20: 7269 6d46 6c6f 6174 4973 496e 6669 6e69 rimFloatIsInfini │ │ │ -00011a30: 7465 2878 2929 207b 0a20 2020 2020 2020 te(x)) {. │ │ │ -00011a40: 2072 6574 7572 6e20 6e75 6c6c 3b0a 2020 return null;. │ │ │ -00011a50: 2020 7d0a 2020 2020 656c 7365 207b 0a20 }. else {. │ │ │ -00011a60: 2020 2020 2020 2072 6574 7572 6e20 4269 return Bi │ │ │ -00011a70: 6749 6e74 284d 6174 682e 6365 696c 2878 gInt(Math.ceil(x │ │ │ -00011a80: 2929 3b0a 2020 2020 7d0a 7d3b 0a65 7870 ));. }.};.exp │ │ │ -00011a90: 6f72 7473 2e5f 7072 696d 466c 6f61 7454 orts._primFloatT │ │ │ -00011aa0: 6f52 6174 696f 203d 2066 756e 6374 696f oRatio = functio │ │ │ -00011ab0: 6e28 7829 207b 0a20 2020 2069 6620 2865 n(x) {. if (e │ │ │ -00011ac0: 7870 6f72 7473 2e70 7269 6d46 6c6f 6174 xports.primFloat │ │ │ -00011ad0: 4973 4e61 4e28 7829 2920 7b0a 2020 2020 IsNaN(x)) {. │ │ │ -00011ae0: 2020 2020 7265 7475 726e 207b 6e75 6d65 return {nume │ │ │ -00011af0: 7261 746f 723a 2042 6967 496e 7428 3029 rator: BigInt(0) │ │ │ -00011b00: 2c20 6465 6e6f 6d69 6e61 746f 723a 2042 , denominator: B │ │ │ -00011b10: 6967 496e 7428 3029 7d3b 0a20 2020 207d igInt(0)};. } │ │ │ -00011b20: 0a20 2020 2065 6c73 6520 6966 2028 7820 . else if (x │ │ │ -00011b30: 3c20 302e 3020 2626 2065 7870 6f72 7473 < 0.0 && exports │ │ │ -00011b40: 2e70 7269 6d46 6c6f 6174 4973 496e 6669 .primFloatIsInfi │ │ │ -00011b50: 6e69 7465 2878 2929 207b 0a20 2020 2020 nite(x)) {. │ │ │ -00011b60: 2020 2072 6574 7572 6e20 7b6e 756d 6572 return {numer │ │ │ -00011b70: 6174 6f72 3a20 4269 6749 6e74 282d 3129 ator: BigInt(-1) │ │ │ -00011b80: 2c20 6465 6e6f 6d69 6e61 746f 723a 2042 , denominator: B │ │ │ -00011b90: 6967 496e 7428 3029 7d3b 0a20 2020 207d igInt(0)};. } │ │ │ -00011ba0: 0a20 2020 2065 6c73 6520 6966 2028 7820 . else if (x │ │ │ -00011bb0: 3e20 302e 3020 2626 2065 7870 6f72 7473 > 0.0 && exports │ │ │ -00011bc0: 2e70 7269 6d46 6c6f 6174 4973 496e 6669 .primFloatIsInfi │ │ │ -00011bd0: 6e69 7465 2878 2929 207b 0a20 2020 2020 nite(x)) {. │ │ │ -00011be0: 2020 2072 6574 7572 6e20 7b6e 756d 6572 return {numer │ │ │ -00011bf0: 6174 6f72 3a20 4269 6749 6e74 2831 292c ator: BigInt(1), │ │ │ -00011c00: 2064 656e 6f6d 696e 6174 6f72 3a20 4269 denominator: Bi │ │ │ -00011c10: 6749 6e74 2830 297d 3b0a 2020 2020 7d0a gInt(0)};. }. │ │ │ -00011c20: 2020 2020 656c 7365 2069 6620 2865 7870 else if (exp │ │ │ -00011c30: 6f72 7473 2e70 7269 6d46 6c6f 6174 4973 orts.primFloatIs │ │ │ -00011c40: 4e65 6761 7469 7665 5a65 726f 2878 2929 NegativeZero(x)) │ │ │ -00011c50: 207b 0a20 2020 2020 2020 2072 6574 7572 {. retur │ │ │ -00011c60: 6e20 7b6e 756d 6572 6174 6f72 3a20 4269 n {numerator: Bi │ │ │ -00011c70: 6749 6e74 2830 292c 2064 656e 6f6d 696e gInt(0), denomin │ │ │ -00011c80: 6174 6f72 3a20 4269 6749 6e74 2831 297d ator: BigInt(1)} │ │ │ -00011c90: 3b0a 2020 2020 7d0a 2020 2020 656c 7365 ;. }. else │ │ │ -00011ca0: 2069 6620 2878 203d 3d20 302e 3029 207b if (x == 0.0) { │ │ │ -00011cb0: 0a20 2020 2020 2020 2072 6574 7572 6e20 . return │ │ │ -00011cc0: 7b6e 756d 6572 6174 6f72 3a20 4269 6749 {numerator: BigI │ │ │ -00011cd0: 6e74 2830 292c 2064 656e 6f6d 696e 6174 nt(0), denominat │ │ │ -00011ce0: 6f72 3a20 4269 6749 6e74 2831 297d 3b0a or: BigInt(1)};. │ │ │ -00011cf0: 2020 2020 7d0a 2020 2020 656c 7365 207b }. else { │ │ │ -00011d00: 0a20 2020 2020 2020 2076 6172 206e 756d . var num │ │ │ -00011d10: 6572 6174 6f72 203d 204d 6174 682e 726f erator = Math.ro │ │ │ -00011d20: 756e 6428 782a 3165 3929 3b0a 2020 2020 und(x*1e9);. │ │ │ -00011d30: 2020 2020 7661 7220 6465 6e6f 6d69 6e61 var denomina │ │ │ -00011d40: 746f 7220 3d20 3165 393b 0a20 2020 2020 tor = 1e9;. │ │ │ -00011d50: 2020 2076 6172 2067 6366 203d 205f 7072 var gcf = _pr │ │ │ -00011d60: 696d 466c 6f61 7447 7265 6174 6573 7443 imFloatGreatestC │ │ │ -00011d70: 6f6d 6d6f 6e46 6163 746f 7228 6e75 6d65 ommonFactor(nume │ │ │ -00011d80: 7261 746f 722c 2064 656e 6f6d 696e 6174 rator, denominat │ │ │ -00011d90: 6f72 293b 0a20 2020 2020 2020 206e 756d or);. num │ │ │ -00011da0: 6572 6174 6f72 202f 3d20 6763 663b 0a20 erator /= gcf;. │ │ │ -00011db0: 2020 2020 2020 2064 656e 6f6d 696e 6174 denominat │ │ │ -00011dc0: 6f72 202f 3d20 6763 663b 0a20 2020 2020 or /= gcf;. │ │ │ -00011dd0: 2020 2072 6574 7572 6e20 7b6e 756d 6572 return {numer │ │ │ -00011de0: 6174 6f72 3a20 4269 6749 6e74 286e 756d ator: BigInt(num │ │ │ -00011df0: 6572 6174 6f72 292c 2064 656e 6f6d 696e erator), denomin │ │ │ -00011e00: 6174 6f72 3a20 4269 6749 6e74 2864 656e ator: BigInt(den │ │ │ -00011e10: 6f6d 696e 6174 6f72 297d 3b0a 2020 2020 ominator)};. │ │ │ -00011e20: 7d0a 7d3b 0a65 7870 6f72 7473 2e5f 7072 }.};.exports._pr │ │ │ -00011e30: 696d 466c 6f61 7444 6563 6f64 6520 3d20 imFloatDecode = │ │ │ -00011e40: 6675 6e63 7469 6f6e 2878 2920 7b0a 2020 function(x) {. │ │ │ -00011e50: 2020 6966 2028 6578 706f 7274 732e 7072 if (exports.pr │ │ │ -00011e60: 696d 466c 6f61 7449 734e 614e 2878 2929 imFloatIsNaN(x)) │ │ │ -00011e70: 207b 0a20 2020 2020 2020 2072 6574 7572 {. retur │ │ │ -00011e80: 6e20 6e75 6c6c 3b0a 2020 2020 7d0a 2020 n null;. }. │ │ │ -00011e90: 2020 656c 7365 2069 6620 2878 203c 2030 else if (x < 0 │ │ │ -00011ea0: 2e30 2026 2620 6578 706f 7274 732e 7072 .0 && exports.pr │ │ │ -00011eb0: 696d 466c 6f61 7449 7349 6e66 696e 6974 imFloatIsInfinit │ │ │ -00011ec0: 6528 7829 2920 7b0a 2020 2020 2020 2020 e(x)) {. │ │ │ -00011ed0: 7265 7475 726e 206e 756c 6c3b 0a20 2020 return null;. │ │ │ -00011ee0: 207d 0a20 2020 2065 6c73 6520 6966 2028 }. else if ( │ │ │ -00011ef0: 7820 3e20 302e 3020 2626 2065 7870 6f72 x > 0.0 && expor │ │ │ -00011f00: 7473 2e70 7269 6d46 6c6f 6174 4973 496e ts.primFloatIsIn │ │ │ -00011f10: 6669 6e69 7465 2878 2929 207b 0a20 2020 finite(x)) {. │ │ │ -00011f20: 2020 2020 2072 6574 7572 6e20 6e75 6c6c return null │ │ │ -00011f30: 3b0a 2020 2020 7d0a 2020 2020 656c 7365 ;. }. else │ │ │ -00011f40: 207b 0a20 2020 2020 2020 2076 6172 206d {. var m │ │ │ -00011f50: 616e 7469 7373 6120 3d20 782c 2065 7870 antissa = x, exp │ │ │ -00011f60: 6f6e 656e 7420 3d20 303b 0a20 2020 2020 onent = 0;. │ │ │ -00011f70: 2020 2077 6869 6c65 2028 214e 756d 6265 while (!Numbe │ │ │ -00011f80: 722e 6973 496e 7465 6765 7228 6d61 6e74 r.isInteger(mant │ │ │ -00011f90: 6973 7361 2929 207b 0a20 2020 2020 2020 issa)) {. │ │ │ -00011fa0: 2020 2020 206d 616e 7469 7373 6120 2a3d mantissa *= │ │ │ -00011fb0: 2032 2e30 3b0a 2020 2020 2020 2020 2020 2.0;. │ │ │ -00011fc0: 2020 6578 706f 6e65 6e74 202d 3d20 313b exponent -= 1; │ │ │ -00011fd0: 0a20 2020 2020 2020 207d 3b0a 2020 2020 . };. │ │ │ -00011fe0: 2020 2020 7768 696c 6520 286d 616e 7469 while (manti │ │ │ -00011ff0: 7373 6120 2520 322e 3020 3d3d 3d20 3029 ssa % 2.0 === 0) │ │ │ -00012000: 207b 0a20 2020 2020 2020 2020 2020 206d {. m │ │ │ -00012010: 616e 7469 7373 6120 2f3d 2032 2e30 3b0a antissa /= 2.0;. │ │ │ -00012020: 2020 2020 2020 2020 2020 2020 6578 706f expo │ │ │ -00012030: 6e65 6e74 202b 3d20 313b 0a20 2020 2020 nent += 1;. │ │ │ -00012040: 2020 207d 0a20 2020 2020 2020 2072 6574 }. ret │ │ │ -00012050: 7572 6e20 7b6d 616e 7469 7373 613a 2042 urn {mantissa: B │ │ │ -00012060: 6967 496e 7428 6d61 6e74 6973 7361 292c igInt(mantissa), │ │ │ -00012070: 2065 7870 6f6e 656e 743a 2042 6967 496e exponent: BigIn │ │ │ -00012080: 7428 6578 706f 6e65 6e74 297d 3b0a 2020 t(exponent)};. │ │ │ -00012090: 2020 7d0a 7d3b 0a65 7870 6f72 7473 2e75 }.};.exports.u │ │ │ -000120a0: 7072 696d 466c 6f61 7445 7175 616c 6974 primFloatEqualit │ │ │ -000120b0: 7920 3d20 6675 6e63 7469 6f6e 2878 2c20 y = function(x, │ │ │ -000120c0: 7929 207b 0a20 2020 2072 6574 7572 6e20 y) {. return │ │ │ -000120d0: 7820 3d3d 3d20 793b 0a7d 3b0a 6578 706f x === y;.};.expo │ │ │ -000120e0: 7274 732e 7072 696d 466c 6f61 7445 7175 rts.primFloatEqu │ │ │ -000120f0: 616c 6974 7920 3d20 6675 6e63 7469 6f6e ality = function │ │ │ -00012100: 2878 2920 7b0a 2020 2020 7265 7475 726e (x) {. return │ │ │ -00012110: 2066 756e 6374 696f 6e28 7929 207b 0a20 function(y) {. │ │ │ -00012120: 2020 2020 2020 2072 6574 7572 6e20 6578 return ex │ │ │ -00012130: 706f 7274 732e 7570 7269 6d46 6c6f 6174 ports.uprimFloat │ │ │ -00012140: 4571 7561 6c69 7479 2878 2c20 7929 3b0a Equality(x, y);. │ │ │ -00012150: 2020 2020 7d3b 0a7d 3b0a 6578 706f 7274 };.};.export │ │ │ -00012160: 732e 7072 696d 466c 6f61 7449 6e65 7175 s.primFloatInequ │ │ │ -00012170: 616c 6974 7920 3d20 6675 6e63 7469 6f6e ality = function │ │ │ -00012180: 2878 2920 7b0a 2020 2020 7265 7475 726e (x) {. return │ │ │ -00012190: 2066 756e 6374 696f 6e28 7929 207b 0a20 function(y) {. │ │ │ -000121a0: 2020 2020 2020 2072 6574 7572 6e20 7820 return x │ │ │ -000121b0: 3c3d 2079 3b0a 2020 2020 7d3b 0a7d 3b0a <= y;. };.};. │ │ │ -000121c0: 6578 706f 7274 732e 7072 696d 466c 6f61 exports.primFloa │ │ │ -000121d0: 744c 6573 7320 3d20 6675 6e63 7469 6f6e tLess = function │ │ │ -000121e0: 2878 2920 7b0a 2020 2020 7265 7475 726e (x) {. return │ │ │ -000121f0: 2066 756e 6374 696f 6e28 7929 207b 0a20 function(y) {. │ │ │ -00012200: 2020 2020 2020 2072 6574 7572 6e20 7820 return x │ │ │ -00012210: 3c20 793b 0a20 2020 207d 3b0a 7d3b 0a65 < y;. };.};.e │ │ │ -00012220: 7870 6f72 7473 2e70 7269 6d46 6c6f 6174 xports.primFloat │ │ │ -00012230: 4973 496e 6669 6e69 7465 203d 2066 756e IsInfinite = fun │ │ │ -00012240: 6374 696f 6e28 7829 207b 0a20 2020 2072 ction(x) {. r │ │ │ -00012250: 6574 7572 6e20 214e 756d 6265 722e 6973 eturn !Number.is │ │ │ -00012260: 4e61 4e28 7829 2026 2620 214e 756d 6265 NaN(x) && !Numbe │ │ │ -00012270: 722e 6973 4669 6e69 7465 2878 293b 0a7d r.isFinite(x);.} │ │ │ -00012280: 3b0a 6578 706f 7274 732e 7072 696d 466c ;.exports.primFl │ │ │ -00012290: 6f61 7449 734e 614e 203d 2066 756e 6374 oatIsNaN = funct │ │ │ -000122a0: 696f 6e28 7829 207b 0a20 2020 2072 6574 ion(x) {. ret │ │ │ -000122b0: 7572 6e20 4e75 6d62 6572 2e69 734e 614e urn Number.isNaN │ │ │ -000122c0: 2878 293b 0a7d 3b0a 6578 706f 7274 732e (x);.};.exports. │ │ │ -000122d0: 7072 696d 466c 6f61 7449 734e 6567 6174 primFloatIsNegat │ │ │ -000122e0: 6976 655a 6572 6f20 3d20 6675 6e63 7469 iveZero = functi │ │ │ -000122f0: 6f6e 2878 2920 7b0a 2020 2020 7265 7475 on(x) {. retu │ │ │ -00012300: 726e 204f 626a 6563 742e 6973 2878 2c2d rn Object.is(x,- │ │ │ -00012310: 302e 3029 3b0a 7d3b 0a65 7870 6f72 7473 0.0);.};.exports │ │ │ -00012320: 2e70 7269 6d46 6c6f 6174 4973 5361 6665 .primFloatIsSafe │ │ │ -00012330: 496e 7465 6765 7220 3d20 6675 6e63 7469 Integer = functi │ │ │ -00012340: 6f6e 2878 2920 7b0a 2020 2020 7265 7475 on(x) {. retu │ │ │ -00012350: 726e 204e 756d 6265 722e 6973 5361 6665 rn Number.isSafe │ │ │ -00012360: 496e 7465 6765 7228 7829 3b0a 7d3b 0a0a Integer(x);.};.. │ │ │ -00012370: 0a2f 2f20 5468 6573 6520 574f 5244 3634 .// These WORD64 │ │ │ -00012380: 2076 616c 7565 7320 7765 7265 206f 6274 values were obt │ │ │ -00012390: 6169 6e65 6420 7669 6120 6063 6173 7444 ained via `castD │ │ │ -000123a0: 6f75 626c 6554 6f57 6f72 6436 3460 2069 oubleToWord64` i │ │ │ -000123b0: 6e20 4861 736b 656c 6c3a 0a63 6f6e 7374 n Haskell:.const │ │ │ -000123c0: 2057 4f52 4436 345f 504f 535f 494e 4620 WORD64_POS_INF │ │ │ -000123d0: 203d 2039 3231 3838 3638 3433 3732 3237 = 9218868437227 │ │ │ -000123e0: 3430 3533 3132 6e3b 0a63 6f6e 7374 2057 405312n;.const W │ │ │ -000123f0: 4f52 4436 345f 4e45 475f 494e 4620 203d ORD64_NEG_INF = │ │ │ -00012400: 2031 3834 3432 3234 3034 3734 3038 3231 184422404740821 │ │ │ -00012410: 3831 3132 306e 3b0a 636f 6e73 7420 574f 81120n;.const WO │ │ │ -00012420: 5244 3634 5f50 4f53 5f5a 4552 4f20 3d20 RD64_POS_ZERO = │ │ │ -00012430: 306e 3b0a 636f 6e73 7420 574f 5244 3634 0n;.const WORD64 │ │ │ -00012440: 5f4e 4547 5f5a 4552 4f20 3d20 3932 3233 _NEG_ZERO = 9223 │ │ │ -00012450: 3337 3230 3336 3835 3437 3735 3830 386e 372036854775808n │ │ │ -00012460: 3b0a 0a65 7870 6f72 7473 2e70 7269 6d46 ;..exports.primF │ │ │ -00012470: 6c6f 6174 546f 576f 7264 3634 203d 2066 loatToWord64 = f │ │ │ -00012480: 756e 6374 696f 6e28 7829 207b 0a20 2020 unction(x) {. │ │ │ -00012490: 2069 6620 2865 7870 6f72 7473 2e70 7269 if (exports.pri │ │ │ -000124a0: 6d46 6c6f 6174 4973 4e61 4e28 7829 2920 mFloatIsNaN(x)) │ │ │ -000124b0: 7b0a 2020 2020 2020 2020 7265 7475 726e {. return │ │ │ -000124c0: 206e 756c 6c3b 0a20 2020 207d 0a20 2020 null;. }. │ │ │ -000124d0: 2065 6c73 6520 6966 2028 7820 3c20 302e else if (x < 0. │ │ │ -000124e0: 3020 2626 2065 7870 6f72 7473 2e70 7269 0 && exports.pri │ │ │ -000124f0: 6d46 6c6f 6174 4973 496e 6669 6e69 7465 mFloatIsInfinite │ │ │ -00012500: 2878 2929 207b 0a20 2020 2020 2020 2072 (x)) {. r │ │ │ -00012510: 6574 7572 6e20 574f 5244 3634 5f4e 4547 eturn WORD64_NEG │ │ │ -00012520: 5f49 4e46 3b0a 2020 2020 7d0a 2020 2020 _INF;. }. │ │ │ -00012530: 656c 7365 2069 6620 2878 203e 2030 2e30 else if (x > 0.0 │ │ │ -00012540: 2026 2620 6578 706f 7274 732e 7072 696d && exports.prim │ │ │ -00012550: 466c 6f61 7449 7349 6e66 696e 6974 6528 FloatIsInfinite( │ │ │ -00012560: 7829 2920 7b0a 2020 2020 2020 2020 7265 x)) {. re │ │ │ -00012570: 7475 726e 2057 4f52 4436 345f 504f 535f turn WORD64_POS_ │ │ │ -00012580: 494e 463b 0a20 2020 207d 0a20 2020 2065 INF;. }. e │ │ │ -00012590: 6c73 6520 6966 2028 6578 706f 7274 732e lse if (exports. │ │ │ -000125a0: 7072 696d 466c 6f61 7449 734e 6567 6174 primFloatIsNegat │ │ │ -000125b0: 6976 655a 6572 6f28 7829 2920 7b0a 2020 iveZero(x)) {. │ │ │ -000125c0: 2020 2020 2020 7265 7475 726e 2057 4f52 return WOR │ │ │ -000125d0: 4436 345f 4e45 475f 5a45 524f 3b0a 2020 D64_NEG_ZERO;. │ │ │ -000125e0: 2020 7d0a 2020 2020 656c 7365 2069 6620 }. else if │ │ │ -000125f0: 2878 203d 3d20 302e 3029 207b 0a20 2020 (x == 0.0) {. │ │ │ -00012600: 2020 2020 2072 6574 7572 6e20 574f 5244 return WORD │ │ │ -00012610: 3634 5f50 4f53 5f5a 4552 4f3b 0a20 2020 64_POS_ZERO;. │ │ │ -00012620: 207d 0a20 2020 2065 6c73 6520 7b0a 2020 }. else {. │ │ │ -00012630: 2020 2020 2020 7661 7220 6d61 6e74 6973 var mantis │ │ │ -00012640: 7361 2c20 6578 706f 6e65 6e74 3b0a 2020 sa, exponent;. │ │ │ -00012650: 2020 2020 2020 287b 6d61 6e74 6973 7361 ({mantissa │ │ │ -00012660: 2c20 6578 706f 6e65 6e74 7d20 3d20 6578 , exponent} = ex │ │ │ -00012670: 706f 7274 732e 5f70 7269 6d46 6c6f 6174 ports._primFloat │ │ │ -00012680: 4465 636f 6465 2878 2929 3b0a 2020 2020 Decode(x));. │ │ │ -00012690: 2020 2020 7661 7220 7369 676e 203d 204d var sign = M │ │ │ -000126a0: 6174 682e 7369 676e 286d 616e 7469 7373 ath.sign(mantiss │ │ │ -000126b0: 6129 3b0a 2020 2020 2020 2020 636f 6e73 a);. cons │ │ │ -000126c0: 6f6c 652e 6c6f 6728 6d61 6e74 6973 7361 ole.log(mantissa │ │ │ -000126d0: 293b 0a20 2020 2020 2020 206d 616e 7469 );. manti │ │ │ -000126e0: 7373 6120 2a3d 2073 6967 6e3b 0a20 2020 ssa *= sign;. │ │ │ -000126f0: 2020 2020 2073 6967 6e20 3d20 2873 6967 sign = (sig │ │ │ -00012700: 6e20 3d3d 3d20 2d31 203f 2022 3122 203a n === -1 ? "1" : │ │ │ -00012710: 2022 3022 293b 0a20 2020 2020 2020 206d "0");. m │ │ │ -00012720: 616e 7469 7373 6120 3d20 286d 616e 7469 antissa = (manti │ │ │ -00012730: 7373 612e 746f 5374 7269 6e67 2832 2929 ssa.toString(2)) │ │ │ -00012740: 2e70 6164 5374 6172 7428 3131 2c20 2230 .padStart(11, "0 │ │ │ -00012750: 2229 3b0a 2020 2020 2020 2020 6578 706f ");. expo │ │ │ -00012760: 6e65 6e74 203d 2028 6d61 6e74 6973 7361 nent = (mantissa │ │ │ -00012770: 2e74 6f53 7472 696e 6728 3229 292e 7061 .toString(2)).pa │ │ │ -00012780: 6453 7461 7274 2835 322c 2022 3022 293b dStart(52, "0"); │ │ │ -00012790: 0a20 2020 2020 2020 2072 6574 7572 6e20 . return │ │ │ -000127a0: 4269 6749 6e74 2870 6172 7365 496e 7428 BigInt(parseInt( │ │ │ -000127b0: 7369 676e 202b 206d 616e 7469 7373 6120 sign + mantissa │ │ │ -000127c0: 2b20 6578 706f 6e65 6e74 2c20 3229 293b + exponent, 2)); │ │ │ -000127d0: 0a20 2020 207d 0a7d 3b0a 0a2f 2f20 7072 . }.};..// pr │ │ │ -000127e0: 696d 4e61 7454 6f46 6c6f 6174 203a 204e imNatToFloat : N │ │ │ -000127f0: 6174 202d 3e20 466c 6f61 740a 6578 706f at -> Float.expo │ │ │ -00012800: 7274 732e 7072 696d 4e61 7454 6f46 6c6f rts.primNatToFlo │ │ │ -00012810: 6174 203d 204e 756d 6265 723b 0a0a 2f2f at = Number;..// │ │ │ -00012820: 2070 7269 6d49 6e74 546f 466c 6f61 7420 primIntToFloat │ │ │ -00012830: 3a20 496e 7420 2d3e 2046 6c6f 6174 0a65 : Int -> Float.e │ │ │ -00012840: 7870 6f72 7473 2e70 7269 6d49 6e74 546f xports.primIntTo │ │ │ -00012850: 466c 6f61 7420 3d20 4e75 6d62 6572 3b0a Float = Number;. │ │ │ -00012860: 0a2f 2f20 7072 696d 5261 7469 6f54 6f46 .// primRatioToF │ │ │ -00012870: 6c6f 6174 203a 2049 6e74 202d 3e20 496e loat : Int -> In │ │ │ -00012880: 7420 2d3e 2046 6c6f 6174 0a65 7870 6f72 t -> Float.expor │ │ │ -00012890: 7473 2e70 7269 6d52 6174 696f 546f 466c ts.primRatioToFl │ │ │ -000128a0: 6f61 7420 3d20 7820 3d3e 2079 203d 3e20 oat = x => y => │ │ │ -000128b0: 4e75 6d62 6572 2878 2920 2f20 4e75 6d62 Number(x) / Numb │ │ │ -000128c0: 6572 2879 293b 0a0a 2f2f 2075 7072 696d er(y);..// uprim │ │ │ -000128d0: 466c 6f61 7445 6e63 6f64 6520 3a20 2849 FloatEncode : (I │ │ │ -000128e0: 6e74 2c20 496e 7429 202d 3e20 4d61 7962 nt, Int) -> Mayb │ │ │ -000128f0: 6520 466c 6f61 740a 6578 706f 7274 732e e Float.exports. │ │ │ -00012900: 7570 7269 6d46 6c6f 6174 456e 636f 6465 uprimFloatEncode │ │ │ -00012910: 203d 2028 782c 2079 2920 3d3e 207b 0a20 = (x, y) => {. │ │ │ -00012920: 2063 6f6e 7374 206d 616e 7469 7373 6120 const mantissa │ │ │ -00012930: 3d20 4e75 6d62 6572 2878 293b 0a20 2063 = Number(x);. c │ │ │ -00012940: 6f6e 7374 2065 7870 6f6e 656e 7420 3d20 onst exponent = │ │ │ -00012950: 4e75 6d62 6572 2879 293b 0a0a 2020 6966 Number(y);.. if │ │ │ -00012960: 2028 4e75 6d62 6572 2e69 7353 6166 6549 (Number.isSafeI │ │ │ -00012970: 6e74 6567 6572 286d 616e 7469 7373 6129 nteger(mantissa) │ │ │ -00012980: 2026 2620 2d31 3032 3420 3c3d 2065 7870 && -1024 <= exp │ │ │ -00012990: 6f6e 656e 7420 2626 2065 7870 6f6e 656e onent && exponen │ │ │ -000129a0: 7420 3c3d 2031 3032 3429 207b 0a20 2020 t <= 1024) {. │ │ │ -000129b0: 2072 6574 7572 6e20 6d61 6e74 6973 7361 return mantissa │ │ │ -000129c0: 202a 2028 3220 2a2a 2065 7870 6f6e 656e * (2 ** exponen │ │ │ -000129d0: 7429 3b0a 2020 7d0a 0a20 2065 6c73 6520 t);. }.. else │ │ │ -000129e0: 7b0a 2020 2020 7265 7475 726e 206e 756c {. return nul │ │ │ -000129f0: 6c3b 0a20 207d 0a7d 3b0a 0a65 7870 6f72 l;. }.};..expor │ │ │ -00012a00: 7473 2e70 7269 6d53 686f 7746 6c6f 6174 ts.primShowFloat │ │ │ -00012a10: 203d 2066 756e 6374 696f 6e28 7829 207b = function(x) { │ │ │ -00012a20: 0a20 2020 202f 2f20 5365 6520 4973 7375 . // See Issu │ │ │ -00012a30: 6520 2332 3139 322e 0a20 2020 2069 6620 e #2192.. if │ │ │ -00012a40: 284e 756d 6265 722e 6973 496e 7465 6765 (Number.isIntege │ │ │ -00012a50: 7228 7829 2920 7b0a 2020 2020 2020 2020 r(x)) {. │ │ │ -00012a60: 6966 2028 6578 706f 7274 732e 7072 696d if (exports.prim │ │ │ -00012a70: 466c 6f61 7449 734e 6567 6174 6976 655a FloatIsNegativeZ │ │ │ -00012a80: 6572 6f28 7829 2920 7b0a 2020 2020 2020 ero(x)) {. │ │ │ -00012a90: 2020 2020 2020 7265 7475 726e 2028 222d return ("- │ │ │ -00012aa0: 302e 3022 293b 0a20 2020 2020 2020 207d 0.0");. } │ │ │ -00012ab0: 2065 6c73 6520 7b0a 2020 2020 2020 2020 else {. │ │ │ -00012ac0: 2020 2020 7265 7475 726e 2028 782e 746f return (x.to │ │ │ -00012ad0: 5374 7269 6e67 2829 202b 2022 2e30 2229 String() + ".0") │ │ │ -00012ae0: 3b0a 2020 2020 2020 2020 7d0a 2020 2020 ;. }. │ │ │ -00012af0: 7d20 656c 7365 207b 0a20 2020 2020 2020 } else {. │ │ │ -00012b00: 2072 6574 7572 6e20 782e 746f 5374 7269 return x.toStri │ │ │ -00012b10: 6e67 2829 3b0a 2020 2020 7d0a 7d3b 0a65 ng();. }.};.e │ │ │ -00012b20: 7870 6f72 7473 2e70 7269 6d46 6c6f 6174 xports.primFloat │ │ │ -00012b30: 506c 7573 203d 2066 756e 6374 696f 6e28 Plus = function( │ │ │ -00012b40: 7829 207b 0a20 2020 2072 6574 7572 6e20 x) {. return │ │ │ -00012b50: 6675 6e63 7469 6f6e 2879 2920 7b0a 2020 function(y) {. │ │ │ -00012b60: 2020 2020 2020 7265 7475 726e 2078 202b return x + │ │ │ -00012b70: 2079 3b0a 2020 2020 7d3b 0a7d 3b0a 6578 y;. };.};.ex │ │ │ -00012b80: 706f 7274 732e 7072 696d 466c 6f61 744d ports.primFloatM │ │ │ -00012b90: 696e 7573 203d 2066 756e 6374 696f 6e28 inus = function( │ │ │ -00012ba0: 7829 207b 0a20 2020 2072 6574 7572 6e20 x) {. return │ │ │ -00012bb0: 6675 6e63 7469 6f6e 2879 2920 7b0a 2020 function(y) {. │ │ │ -00012bc0: 2020 2020 2020 7265 7475 726e 2078 202d return x - │ │ │ -00012bd0: 2079 3b0a 2020 2020 7d3b 0a7d 3b0a 6578 y;. };.};.ex │ │ │ -00012be0: 706f 7274 732e 7072 696d 466c 6f61 7454 ports.primFloatT │ │ │ -00012bf0: 696d 6573 203d 2066 756e 6374 696f 6e28 imes = function( │ │ │ -00012c00: 7829 207b 0a20 2020 2072 6574 7572 6e20 x) {. return │ │ │ -00012c10: 6675 6e63 7469 6f6e 2879 2920 7b0a 2020 function(y) {. │ │ │ -00012c20: 2020 2020 2020 7265 7475 726e 2078 202a return x * │ │ │ -00012c30: 2079 3b0a 2020 2020 7d3b 0a7d 3b0a 6578 y;. };.};.ex │ │ │ -00012c40: 706f 7274 732e 7072 696d 466c 6f61 744e ports.primFloatN │ │ │ -00012c50: 6567 6174 6520 3d20 6675 6e63 7469 6f6e egate = function │ │ │ -00012c60: 2878 2920 7b0a 2020 2020 7265 7475 726e (x) {. return │ │ │ -00012c70: 202d 783b 0a7d 3b0a 6578 706f 7274 732e -x;.};.exports. │ │ │ -00012c80: 7072 696d 466c 6f61 7444 6976 203d 2066 primFloatDiv = f │ │ │ -00012c90: 756e 6374 696f 6e28 7829 207b 0a20 2072 unction(x) {. r │ │ │ -00012ca0: 6574 7572 6e20 6675 6e63 7469 6f6e 2879 eturn function(y │ │ │ -00012cb0: 2920 7b0a 2020 2020 7265 7475 726e 2078 ) {. return x │ │ │ -00012cc0: 202f 2079 3b0a 2020 7d3b 0a7d 3b0a 6578 / y;. };.};.ex │ │ │ -00012cd0: 706f 7274 732e 7072 696d 466c 6f61 7450 ports.primFloatP │ │ │ -00012ce0: 6f77 203d 2066 756e 6374 696f 6e28 7829 ow = function(x) │ │ │ -00012cf0: 207b 0a20 2020 2072 6574 7572 6e20 6675 {. return fu │ │ │ -00012d00: 6e63 7469 6f6e 2879 2920 7b0a 2020 2020 nction(y) {. │ │ │ -00012d10: 2020 2020 7265 7475 726e 2078 202a 2a20 return x ** │ │ │ -00012d20: 793b 0a20 2020 207d 3b0a 7d3b 0a65 7870 y;. };.};.exp │ │ │ -00012d30: 6f72 7473 2e70 7269 6d46 6c6f 6174 5371 orts.primFloatSq │ │ │ -00012d40: 7274 203d 2066 756e 6374 696f 6e28 7829 rt = function(x) │ │ │ -00012d50: 207b 0a20 2020 2072 6574 7572 6e20 4d61 {. return Ma │ │ │ -00012d60: 7468 2e73 7172 7428 7829 3b0a 7d3b 0a65 th.sqrt(x);.};.e │ │ │ -00012d70: 7870 6f72 7473 2e70 7269 6d46 6c6f 6174 xports.primFloat │ │ │ -00012d80: 4578 7020 3d20 6675 6e63 7469 6f6e 2878 Exp = function(x │ │ │ -00012d90: 2920 7b0a 2020 2020 7265 7475 726e 204d ) {. return M │ │ │ -00012da0: 6174 682e 6578 7028 7829 3b0a 7d3b 0a65 ath.exp(x);.};.e │ │ │ -00012db0: 7870 6f72 7473 2e70 7269 6d46 6c6f 6174 xports.primFloat │ │ │ -00012dc0: 4c6f 6720 3d20 6675 6e63 7469 6f6e 2878 Log = function(x │ │ │ -00012dd0: 2920 7b0a 2020 2020 7265 7475 726e 204d ) {. return M │ │ │ -00012de0: 6174 682e 6c6f 6728 7829 3b0a 7d3b 0a65 ath.log(x);.};.e │ │ │ -00012df0: 7870 6f72 7473 2e70 7269 6d46 6c6f 6174 xports.primFloat │ │ │ -00012e00: 5369 6e20 3d20 6675 6e63 7469 6f6e 2878 Sin = function(x │ │ │ -00012e10: 2920 7b0a 2020 2020 7265 7475 726e 204d ) {. return M │ │ │ -00012e20: 6174 682e 7369 6e28 7829 3b0a 7d3b 0a65 ath.sin(x);.};.e │ │ │ -00012e30: 7870 6f72 7473 2e70 7269 6d46 6c6f 6174 xports.primFloat │ │ │ -00012e40: 436f 7320 3d20 6675 6e63 7469 6f6e 2878 Cos = function(x │ │ │ -00012e50: 2920 7b0a 2020 2020 7265 7475 726e 204d ) {. return M │ │ │ -00012e60: 6174 682e 636f 7328 7829 3b0a 7d3b 0a65 ath.cos(x);.};.e │ │ │ -00012e70: 7870 6f72 7473 2e70 7269 6d46 6c6f 6174 xports.primFloat │ │ │ -00012e80: 5461 6e20 3d20 6675 6e63 7469 6f6e 2878 Tan = function(x │ │ │ -00012e90: 2920 7b0a 2020 2020 7265 7475 726e 204d ) {. return M │ │ │ -00012ea0: 6174 682e 7461 6e28 7829 3b0a 7d3b 0a65 ath.tan(x);.};.e │ │ │ -00012eb0: 7870 6f72 7473 2e70 7269 6d46 6c6f 6174 xports.primFloat │ │ │ -00012ec0: 4153 696e 203d 2066 756e 6374 696f 6e28 ASin = function( │ │ │ -00012ed0: 7829 207b 0a20 2020 2072 6574 7572 6e20 x) {. return │ │ │ -00012ee0: 4d61 7468 2e61 7369 6e28 7829 3b0a 7d3b Math.asin(x);.}; │ │ │ -00012ef0: 0a65 7870 6f72 7473 2e70 7269 6d46 6c6f .exports.primFlo │ │ │ -00012f00: 6174 4143 6f73 203d 2066 756e 6374 696f atACos = functio │ │ │ -00012f10: 6e28 7829 207b 0a20 2020 2072 6574 7572 n(x) {. retur │ │ │ -00012f20: 6e20 4d61 7468 2e61 636f 7328 7829 3b0a n Math.acos(x);. │ │ │ -00012f30: 7d3b 0a65 7870 6f72 7473 2e70 7269 6d46 };.exports.primF │ │ │ -00012f40: 6c6f 6174 4154 616e 203d 2066 756e 6374 loatATan = funct │ │ │ -00012f50: 696f 6e28 7829 207b 0a20 2020 2072 6574 ion(x) {. ret │ │ │ -00012f60: 7572 6e20 4d61 7468 2e61 7461 6e28 7829 urn Math.atan(x) │ │ │ -00012f70: 3b0a 7d3b 0a65 7870 6f72 7473 2e70 7269 ;.};.exports.pri │ │ │ -00012f80: 6d46 6c6f 6174 4154 616e 3220 3d20 6675 mFloatATan2 = fu │ │ │ -00012f90: 6e63 7469 6f6e 2878 2920 7b0a 2020 2020 nction(x) {. │ │ │ -00012fa0: 7265 7475 726e 2066 756e 6374 696f 6e28 return function( │ │ │ -00012fb0: 7929 7b0a 2020 2020 2020 2020 7265 7475 y){. retu │ │ │ -00012fc0: 726e 204d 6174 682e 6174 616e 3228 782c rn Math.atan2(x, │ │ │ -00012fd0: 2079 293b 0a20 2020 207d 3b0a 7d3b 0a65 y);. };.};.e │ │ │ -00012fe0: 7870 6f72 7473 2e70 7269 6d46 6c6f 6174 xports.primFloat │ │ │ -00012ff0: 5369 6e68 203d 2066 756e 6374 696f 6e28 Sinh = function( │ │ │ -00013000: 7829 207b 0a20 2020 2072 6574 7572 6e20 x) {. return │ │ │ -00013010: 4d61 7468 2e73 696e 6828 7829 3b0a 7d3b Math.sinh(x);.}; │ │ │ -00013020: 0a65 7870 6f72 7473 2e70 7269 6d46 6c6f .exports.primFlo │ │ │ -00013030: 6174 436f 7368 203d 2066 756e 6374 696f atCosh = functio │ │ │ -00013040: 6e28 7829 207b 0a20 2020 2072 6574 7572 n(x) {. retur │ │ │ -00013050: 6e20 4d61 7468 2e63 6f73 6828 7829 3b0a n Math.cosh(x);. │ │ │ -00013060: 7d3b 0a65 7870 6f72 7473 2e70 7269 6d46 };.exports.primF │ │ │ -00013070: 6c6f 6174 5461 6e68 203d 2066 756e 6374 loatTanh = funct │ │ │ -00013080: 696f 6e28 7829 207b 0a20 2020 2072 6574 ion(x) {. ret │ │ │ -00013090: 7572 6e20 4d61 7468 2e74 616e 6828 7829 urn Math.tanh(x) │ │ │ -000130a0: 3b0a 7d3b 0a65 7870 6f72 7473 2e70 7269 ;.};.exports.pri │ │ │ -000130b0: 6d46 6c6f 6174 4153 696e 6820 3d20 6675 mFloatASinh = fu │ │ │ -000130c0: 6e63 7469 6f6e 2878 2920 7b0a 2020 2020 nction(x) {. │ │ │ -000130d0: 7265 7475 726e 204d 6174 682e 6173 696e return Math.asin │ │ │ -000130e0: 6828 7829 3b0a 7d3b 0a65 7870 6f72 7473 h(x);.};.exports │ │ │ -000130f0: 2e70 7269 6d46 6c6f 6174 4143 6f73 6820 .primFloatACosh │ │ │ -00013100: 3d20 6675 6e63 7469 6f6e 2878 2920 7b0a = function(x) {. │ │ │ -00013110: 2020 2020 7265 7475 726e 204d 6174 682e return Math. │ │ │ -00013120: 6163 6f73 6828 7829 3b0a 7d3b 0a65 7870 acosh(x);.};.exp │ │ │ -00013130: 6f72 7473 2e70 7269 6d46 6c6f 6174 4154 orts.primFloatAT │ │ │ -00013140: 616e 6820 3d20 6675 6e63 7469 6f6e 2878 anh = function(x │ │ │ -00013150: 2920 7b0a 2020 2020 7265 7475 726e 204d ) {. return M │ │ │ -00013160: 6174 682e 6174 616e 6828 7829 3b0a 7d3b ath.atanh(x);.}; │ │ │ -00013170: 0a0a 2f2f 2043 7562 6963 616c 2070 7269 ..// Cubical pri │ │ │ -00013180: 6d69 7469 7665 732e 0a65 7870 6f72 7473 mitives..exports │ │ │ -00013190: 2e70 7269 6d49 4d69 6e20 3d20 7820 3d3e .primIMin = x => │ │ │ -000131a0: 2079 203d 3e20 7820 2626 2079 3b0a 6578 y => x && y;.ex │ │ │ -000131b0: 706f 7274 732e 7072 696d 494d 6178 203d ports.primIMax = │ │ │ -000131c0: 2078 203d 3e20 7920 3d3e 2078 207c 7c20 x => y => x || │ │ │ -000131d0: 793b 0a65 7870 6f72 7473 2e70 7269 6d49 y;.exports.primI │ │ │ -000131e0: 4e65 6720 3d20 7820 3d3e 2021 783b 0a65 Neg = x => !x;.e │ │ │ -000131f0: 7870 6f72 7473 2e70 7269 6d50 6172 7469 xports.primParti │ │ │ -00013200: 616c 203d 205f 203d 3e20 5f20 3d3e 2078 al = _ => _ => x │ │ │ -00013210: 203d 3e20 783b 0a65 7870 6f72 7473 2e70 => x;.exports.p │ │ │ -00013220: 7269 6d50 6172 7469 616c 5020 3d20 5f20 rimPartialP = _ │ │ │ -00013230: 3d3e 205f 203d 3e20 7820 3d3e 2078 3b0a => _ => x => x;. │ │ │ -00013240: 6578 706f 7274 732e 7072 696d 504f 7220 exports.primPOr │ │ │ -00013250: 3d20 5f20 3d3e 2069 203d 3e20 5f20 3d3e = _ => i => _ => │ │ │ -00013260: 205f 203d 3e20 7820 3d3e 2079 203d 3e20 _ => x => y => │ │ │ -00013270: 6920 3f20 7820 3a20 793b 0a65 7870 6f72 i ? x : y;.expor │ │ │ -00013280: 7473 2e70 7269 6d43 6f6d 7020 3d20 5f20 ts.primComp = _ │ │ │ -00013290: 3d3e 205f 203d 3e20 5f20 3d3e 205f 203d => _ => _ => _ = │ │ │ -000132a0: 3e20 7820 3d3e 2078 3b0a 6578 706f 7274 > x => x;.export │ │ │ -000132b0: 732e 7072 696d 5472 616e 7370 203d 205f s.primTransp = _ │ │ │ -000132c0: 203d 3e20 5f20 3d3e 205f 203d 3e20 7820 => _ => _ => x │ │ │ -000132d0: 3d3e 2078 3b0a 6578 706f 7274 732e 7072 => x;.exports.pr │ │ │ -000132e0: 696d 4843 6f6d 7020 3d20 5f20 3d3e 205f imHComp = _ => _ │ │ │ -000132f0: 203d 3e20 5f20 3d3e 205f 203d 3e20 7820 => _ => _ => x │ │ │ -00013300: 3d3e 2078 3b0a 6578 706f 7274 732e 7072 => x;.exports.pr │ │ │ -00013310: 696d 5375 624f 7574 203d 205f 203d 3e20 imSubOut = _ => │ │ │ -00013320: 5f20 3d3e 205f 203d 3e20 5f20 3d3e 2078 _ => _ => _ => x │ │ │ -00013330: 203d 3e20 783b 0a65 7870 6f72 7473 2e70 => x;.exports.p │ │ │ -00013340: 7269 6d5f 676c 7565 5520 3d20 5f20 3d3e rim_glueU = _ => │ │ │ -00013350: 205f 203d 3e20 5f20 3d3e 205f 203d 3e20 _ => _ => _ => │ │ │ -00013360: 5f20 3d3e 2078 203d 3e20 783b 0a65 7870 _ => x => x;.exp │ │ │ -00013370: 6f72 7473 2e70 7269 6d5f 756e 676c 7565 orts.prim_unglue │ │ │ -00013380: 5520 3d20 5f20 3d3e 205f 203d 3e20 5f20 U = _ => _ => _ │ │ │ -00013390: 3d3e 205f 203d 3e20 7820 3d3e 2078 3b0a => _ => x => x;. │ │ │ -000133a0: 6578 706f 7274 732e 7072 696d 4661 6365 exports.primFace │ │ │ -000133b0: 466f 7261 6c6c 203d 2066 203d 3e20 6628 Forall = f => f( │ │ │ -000133c0: 7472 7565 2920 3d3d 2074 7275 6520 2626 true) == true && │ │ │ -000133d0: 2066 2866 616c 7365 2920 3d3d 2066 616c f(false) == fal │ │ │ -000133e0: 7365 3b0a 0a2f 2f20 4f74 6865 7220 7374 se;..// Other st │ │ │ -000133f0: 7566 660a 0a2f 2f20 7072 696d 5365 7120 uff..// primSeq │ │ │ -00013400: 3a20 2858 2c20 5929 202d 3e20 590a 6578 : (X, Y) -> Y.ex │ │ │ -00013410: 706f 7274 732e 7072 696d 5365 7120 3d20 ports.primSeq = │ │ │ -00013420: 2878 2c20 7929 203d 3e20 793b 0a0a 2f2f (x, y) => y;..// │ │ │ -00013430: 2075 7072 696d 514e 616d 6545 7175 616c uprimQNameEqual │ │ │ -00013440: 6974 7920 3a20 284e 616d 652c 204e 616d ity : (Name, Nam │ │ │ -00013450: 6529 202d 3e20 426f 6f6c 0a65 7870 6f72 e) -> Bool.expor │ │ │ -00013460: 7473 2e75 7072 696d 514e 616d 6545 7175 ts.uprimQNameEqu │ │ │ -00013470: 616c 6974 7920 3d20 2878 2c20 7929 203d ality = (x, y) = │ │ │ -00013480: 3e20 785b 2769 6427 5d20 3d3d 3d20 795b > x['id'] === y[ │ │ │ -00013490: 2769 6427 5d20 2626 2078 5b27 6d6f 6475 'id'] && x['modu │ │ │ -000134a0: 6c65 4964 275d 203d 3d3d 2079 5b27 6d6f leId'] === y['mo │ │ │ -000134b0: 6475 6c65 4964 275d 3b0a 0a2f 2f20 7072 duleId'];..// pr │ │ │ -000134c0: 696d 514e 616d 6545 7175 616c 6974 7920 imQNameEquality │ │ │ -000134d0: 3a20 4e61 6d65 202d 3e20 4e61 6d65 202d : Name -> Name - │ │ │ -000134e0: 3e20 426f 6f6c 0a65 7870 6f72 7473 2e70 > Bool.exports.p │ │ │ -000134f0: 7269 6d51 4e61 6d65 4571 7561 6c69 7479 rimQNameEquality │ │ │ -00013500: 203d 2078 203d 3e20 7920 3d3e 2065 7870 = x => y => exp │ │ │ -00013510: 6f72 7473 2e75 7072 696d 514e 616d 6545 orts.uprimQNameE │ │ │ -00013520: 7175 616c 6974 7928 782c 2079 293b 0a0a quality(x, y);.. │ │ │ -00013530: 2f2f 2070 7269 6d51 4e61 6d65 4c65 7373 // primQNameLess │ │ │ -00013540: 203a 204e 616d 6520 2d3e 204e 616d 6520 : Name -> Name │ │ │ -00013550: 2d3e 2042 6f6f 6c0a 6578 706f 7274 732e -> Bool.exports. │ │ │ -00013560: 7072 696d 514e 616d 654c 6573 7320 3d20 primQNameLess = │ │ │ -00013570: 7820 3d3e 2079 203d 3e20 785b 2769 6427 x => y => x['id' │ │ │ -00013580: 5d20 3d3d 3d20 795b 2769 6427 5d20 3f20 ] === y['id'] ? │ │ │ -00013590: 785b 276d 6f64 756c 6549 6427 5d20 3c20 x['moduleId'] < │ │ │ -000135a0: 795b 276d 6f64 756c 6549 6427 5d20 3a20 y['moduleId'] : │ │ │ -000135b0: 785b 2769 6427 5d20 3c20 795b 2769 6427 x['id'] < y['id' │ │ │ -000135c0: 5d3b 0a0a 2f2f 2070 7269 6d53 686f 7751 ];..// primShowQ │ │ │ -000135d0: 4e61 6d65 203a 204e 616d 6520 2d3e 2053 Name : Name -> S │ │ │ -000135e0: 7472 696e 670a 6578 706f 7274 732e 7072 tring.exports.pr │ │ │ -000135f0: 696d 5368 6f77 514e 616d 6520 3d20 7820 imShowQName = x │ │ │ -00013600: 3d3e 2078 5b27 6e61 6d65 275d 3b0a 0a2f => x['name'];../ │ │ │ -00013610: 2f20 7072 696d 514e 616d 6546 6978 6974 / primQNameFixit │ │ │ -00013620: 7920 3a20 4e61 6d65 202d 3e20 4669 7869 y : Name -> Fixi │ │ │ -00013630: 7479 0a65 7870 6f72 7473 2e70 7269 6d51 ty.exports.primQ │ │ │ -00013640: 4e61 6d65 4669 7869 7479 203d 2078 203d NameFixity = x = │ │ │ -00013650: 3e20 785b 2766 6978 6974 7927 5d3b 0a0a > x['fixity'];.. │ │ │ -00013660: 2f2f 204d 6574 610a 0a2f 2f20 7072 696d // Meta..// prim │ │ │ -00013670: 5368 6f77 4d65 7461 203a 204d 6574 6120 ShowMeta : Meta │ │ │ -00013680: 2d3e 2053 7472 696e 670a 2f2f 2020 2053 -> String.// S │ │ │ -00013690: 686f 756c 6420 6265 206b 6570 7420 696e hould be kept in │ │ │ -000136a0: 2073 796e 6320 7769 7468 2076 6572 7369 sync with versi │ │ │ -000136b0: 6f6e 2069 6e20 6070 7269 6d69 7469 7665 on in `primitive │ │ │ -000136c0: 4675 6e63 7469 6f6e 7360 2069 6e0a 2f2f Functions` in.// │ │ │ -000136d0: 2020 2041 6764 612e 5479 7065 4368 6563 Agda.TypeChec │ │ │ -000136e0: 6b69 6e67 2e50 7269 6d69 7469 7665 0a65 king.Primitive.e │ │ │ -000136f0: 7870 6f72 7473 2e70 7269 6d53 686f 774d xports.primShowM │ │ │ -00013700: 6574 6120 3d20 7820 3d3e 2022 5f22 202b eta = x => "_" + │ │ │ -00013710: 2078 5b27 6964 275d 202b 2022 4022 202b x['id'] + "@" + │ │ │ -00013720: 2078 5b27 6d6f 6475 6c65 275d 3b0a 0a2f x['module'];../ │ │ │ -00013730: 2f20 7072 696d 4d65 7461 546f 4e61 7420 / primMetaToNat │ │ │ -00013740: 3a20 4d65 7461 202d 3e20 4e61 740a 2f2f : Meta -> Nat.// │ │ │ -00013750: 2020 2053 686f 756c 6420 6265 206b 6570 Should be kep │ │ │ -00013760: 7420 696e 2073 796e 6320 7769 7468 2060 t in sync with ` │ │ │ -00013770: 6d65 7461 546f 4e61 7460 2069 6e20 4167 metaToNat` in Ag │ │ │ -00013780: 6461 2e54 7970 6543 6865 636b 696e 672e da.TypeChecking. │ │ │ -00013790: 5072 696d 6974 6976 650a 6578 706f 7274 Primitive.export │ │ │ -000137a0: 732e 7072 696d 4d65 7461 546f 4e61 7420 s.primMetaToNat │ │ │ -000137b0: 3d20 7820 3d3e 2078 5b27 6d6f 6475 6c65 = x => x['module │ │ │ -000137c0: 275d 202a 2032 5e36 3420 2b20 785b 2769 '] * 2^64 + x['i │ │ │ -000137d0: 6427 5d3b 0a0a 2f2f 2070 7269 6d4d 6574 d'];..// primMet │ │ │ -000137e0: 6145 7175 616c 6974 7920 3a20 4d65 7461 aEquality : Meta │ │ │ -000137f0: 202d 3e20 4d65 7461 202d 3e20 426f 6f6c -> Meta -> Bool │ │ │ -00013800: 0a65 7870 6f72 7473 2e70 7269 6d4d 6574 .exports.primMet │ │ │ -00013810: 6145 7175 616c 6974 7920 3d20 7820 3d3e aEquality = x => │ │ │ -00013820: 2079 203d 3e20 785b 2769 6427 5d20 3d3d y => x['id'] == │ │ │ -00013830: 3d20 795b 2769 6427 5d20 2626 2078 5b27 = y['id'] && x[' │ │ │ -00013840: 6d6f 6475 6c65 275d 203d 3d3d 2079 5b27 module'] === y[' │ │ │ -00013850: 6d6f 6475 6c65 275d 3b0a 0a2f 2f20 7072 module'];..// pr │ │ │ -00013860: 696d 4d65 7461 4c65 7373 203a 204d 6574 imMetaLess : Met │ │ │ -00013870: 6120 2d3e 204d 6574 6120 2d3e 2042 6f6f a -> Meta -> Boo │ │ │ -00013880: 6c0a 6578 706f 7274 732e 7072 696d 4d65 l.exports.primMe │ │ │ -00013890: 7461 4c65 7373 203d 2078 203d 3e20 7920 taLess = x => y │ │ │ -000138a0: 3d3e 2078 5b27 6964 275d 203d 3d3d 2079 => x['id'] === y │ │ │ -000138b0: 5b27 6964 275d 203f 2078 5b27 6d6f 6475 ['id'] ? x['modu │ │ │ -000138c0: 6c65 275d 203c 2079 5b27 6d6f 6475 6c65 le'] < y['module │ │ │ -000138d0: 275d 203a 2078 5b27 6964 275d 203c 2079 '] : x['id'] < y │ │ │ -000138e0: 5b27 6964 275d 3b0a d3fe ceed edcf ef9e ['id'];......... │ │ │ -000138f0: 70f9 afa6 c1de fdef 92f1 0100 8e01 0001 p............... │ │ │ -00013900: 3926 0520 0000 0100 0404 0803 0702 5e02 9&. ..........^. │ │ │ -00013910: 0000 030f 0005 0505 0b5f 0b94 010b 6109 ........._....a. │ │ │ -00013920: 0601 00fd d400 d6b7 e8dc b19a d9a4 43bc ..............C. │ │ │ -00013930: 94cb a5a2 d09f fc28 0094 0100 0163 d505 .......(.....c.. │ │ │ -00013940: 8280 80e6 0800 0001 0003 0407 0402 0000 ................ │ │ │ -00013950: 030f 0009 01fd d400 2f2f 2043 6f6e 7461 ........// Conta │ │ │ -00013960: 696e 7320 2a6d 6f73 742a 206f 6620 7468 ins *most* of th │ │ │ -00013970: 6520 7072 696d 6974 6976 6573 2072 6571 e primitives req │ │ │ -00013980: 7569 7265 6420 6279 2074 6865 204a 6176 uired by the Jav │ │ │ -00013990: 6153 6372 6970 7420 6261 636b 656e 642e aScript backend. │ │ │ -000139a0: 0a2f 2f20 2853 6f6d 652c 2065 2e67 2e2c .// (Some, e.g., │ │ │ -000139b0: 2074 686f 7365 2075 7369 6e67 2041 6764 those using Agd │ │ │ -000139c0: 6120 7479 7065 7320 6c69 6b65 204d 6179 a types like May │ │ │ -000139d0: 6265 2c20 6172 6520 6465 6669 6e65 6420 be, are defined │ │ │ -000139e0: 696e 2074 6865 6972 0a2f 2f20 7265 7370 in their.// resp │ │ │ -000139f0: 6563 7469 7665 2062 7569 6c74 696e 206d ective builtin m │ │ │ -00013a00: 6f64 756c 6573 2e29 0a2f 2f0a 2f2f 2050 odules.).//.// P │ │ │ -00013a10: 7269 6d69 7469 7665 7320 7072 6566 6978 rimitives prefix │ │ │ -00013a20: 6564 2062 7920 2775 2720 6172 6520 756e ed by 'u' are un │ │ │ -00013a30: 6375 7272 6965 6420 7661 7269 616e 7473 curried variants │ │ │ -00013a40: 2c20 7768 6963 6820 6172 6520 736f 6d65 , which are some │ │ │ -00013a50: 7469 6d65 730a 2f2f 2065 6d69 7474 6564 times.// emitted │ │ │ -00013a60: 2062 7920 7468 6520 4a61 7661 5363 7269 by the JavaScri │ │ │ -00013a70: 7074 2062 6163 6b65 6e64 2e20 5768 656e pt backend. When │ │ │ -00013a80: 6576 6572 2070 6f73 7369 626c 652c 2074 ever possible, t │ │ │ -00013a90: 6865 2063 7572 7269 6564 2070 7269 6d69 he curried primi │ │ │ -00013aa0: 7469 7665 730a 2f2f 2073 686f 756c 6420 tives.// should │ │ │ -00013ab0: 6265 2069 6d70 6c65 6d65 6e74 6564 2069 be implemented i │ │ │ -00013ac0: 6e20 7465 726d 7320 6f66 2074 6865 2075 n terms of the u │ │ │ -00013ad0: 6e63 7572 7269 6564 206f 6e65 732e 0a2f ncurried ones../ │ │ │ -00013ae0: 2f0a 2f2f 2050 7269 6d69 7469 7665 7320 /.// Primitives │ │ │ -00013af0: 7072 6566 6978 6564 2062 7920 275f 2720 prefixed by '_' │ │ │ -00013b00: 6172 6520 696e 7465 726e 616c 2076 6172 are internal var │ │ │ -00013b10: 6961 6e74 732c 2075 7375 616c 6c79 2066 iants, usually f │ │ │ -00013b20: 6f72 2074 686f 7365 2070 7269 6d69 7469 or those primiti │ │ │ -00013b30: 7665 730a 2f2f 2077 6869 6368 2072 6574 ves.// which ret │ │ │ -00013b40: 7572 6e20 4167 6461 2074 7970 6573 206c urn Agda types l │ │ │ -00013b50: 696b 6520 4d61 7962 652e 2054 6865 7365 ike Maybe. These │ │ │ -00013b60: 2061 7265 206e 6576 6572 2065 6d69 7474 are never emitt │ │ │ -00013b70: 6564 2062 7920 7468 6520 636f 6d70 696c ed by the compil │ │ │ -00013b80: 6572 2c0a 2f2f 2062 7574 2063 616e 2062 er,.// but can b │ │ │ -00013b90: 6520 7573 6564 2069 6e74 6572 6e61 6c6c e used internall │ │ │ -00013ba0: 7920 746f 2064 6566 696e 6520 6f74 6865 y to define othe │ │ │ -00013bb0: 7220 7072 6566 6978 6573 2e0a 0a63 6f6e r prefixes...con │ │ │ -00013bc0: 7374 2065 7870 6f72 7473 203d 207b 7d3b st exports = {}; │ │ │ -00013bd0: 0a0a 2f2f 2049 6e74 6567 6572 730a 0a2f ..// Integers../ │ │ │ -00013be0: 2f20 7072 696d 496e 7465 6765 7246 726f / primIntegerFro │ │ │ -00013bf0: 6d53 7472 696e 6720 3a20 5374 7269 6e67 mString : String │ │ │ -00013c00: 202d 3e20 496e 740a 6578 706f 7274 732e -> Int.exports. │ │ │ -00013c10: 7072 696d 496e 7465 6765 7246 726f 6d53 primIntegerFromS │ │ │ -00013c20: 7472 696e 6720 3d20 4269 6749 6e74 3b0a tring = BigInt;. │ │ │ -00013c30: 0a2f 2f20 7072 696d 5368 6f77 496e 7465 .// primShowInte │ │ │ -00013c40: 6765 7220 3a20 496e 7420 2d3e 2053 7472 ger : Int -> Str │ │ │ -00013c50: 696e 670a 6578 706f 7274 732e 7072 696d ing.exports.prim │ │ │ -00013c60: 5368 6f77 496e 7465 6765 7220 3d20 7820 ShowInteger = x │ │ │ -00013c70: 3d3e 2078 2e74 6f53 7472 696e 6728 293b => x.toString(); │ │ │ -00013c80: 0a0a 2f2f 2075 7072 696d 496e 7465 6765 ..// uprimIntege │ │ │ -00013c90: 7250 6c75 7320 3a20 2849 6e74 2c20 496e rPlus : (Int, In │ │ │ -00013ca0: 7429 202d 3e20 496e 740a 6578 706f 7274 t) -> Int.export │ │ │ -00013cb0: 732e 7570 7269 6d49 6e74 6567 6572 506c s.uprimIntegerPl │ │ │ -00013cc0: 7573 203d 2028 782c 2079 2920 3d3e 2078 us = (x, y) => x │ │ │ -00013cd0: 202b 2079 3b0a 0a2f 2f20 7570 7269 6d49 + y;..// uprimI │ │ │ -00013ce0: 6e74 6567 6572 4d69 6e75 7320 3a20 2849 ntegerMinus : (I │ │ │ -00013cf0: 6e74 2c20 496e 7429 202d 3e20 496e 740a nt, Int) -> Int. │ │ │ -00013d00: 6578 706f 7274 732e 7570 7269 6d49 6e74 exports.uprimInt │ │ │ -00013d10: 6567 6572 4d69 6e75 7320 3d20 2878 2c20 egerMinus = (x, │ │ │ -00013d20: 7929 203d 3e20 7820 2d20 793b 0a0a 2f2f y) => x - y;..// │ │ │ -00013d30: 2075 7072 696d 496e 7465 6765 724d 756c uprimIntegerMul │ │ │ -00013d40: 7469 706c 7920 3a20 2849 6e74 2c20 496e tiply : (Int, In │ │ │ -00013d50: 7429 202d 3e20 496e 740a 6578 706f 7274 t) -> Int.export │ │ │ -00013d60: 732e 7570 7269 6d49 6e74 6567 6572 4d75 s.uprimIntegerMu │ │ │ -00013d70: 6c74 6970 6c79 203d 2028 782c 2079 2920 ltiply = (x, y) │ │ │ -00013d80: 3d3e 2078 202a 2079 3b0a 0a2f 2f20 7570 => x * y;..// up │ │ │ -00013d90: 7269 6d49 6e74 6567 6572 5265 6d20 3a20 rimIntegerRem : │ │ │ -00013da0: 2849 6e74 2c20 496e 7429 202d 3e20 496e (Int, Int) -> In │ │ │ -00013db0: 740a 6578 706f 7274 732e 7570 7269 6d49 t.exports.uprimI │ │ │ -00013dc0: 6e74 6567 6572 5265 6d20 3d20 2878 2c20 ntegerRem = (x, │ │ │ -00013dd0: 7929 203d 3e20 7820 2520 793b 0a0a 2f2f y) => x % y;..// │ │ │ -00013de0: 2075 7072 696d 496e 7465 6765 7251 756f uprimIntegerQuo │ │ │ -00013df0: 7420 3a20 2849 6e74 2c20 496e 7429 202d t : (Int, Int) - │ │ │ -00013e00: 3e20 496e 740a 6578 706f 7274 732e 7570 > Int.exports.up │ │ │ -00013e10: 7269 6d49 6e74 6567 6572 5175 6f74 203d rimIntegerQuot = │ │ │ -00013e20: 2028 782c 2079 2920 3d3e 2078 202f 2079 (x, y) => x / y │ │ │ -00013e30: 3b0a 0a2f 2f20 7570 7269 6d49 6e74 6567 ;..// uprimInteg │ │ │ -00013e40: 6572 4571 7561 6c20 3a20 2849 6e74 2c20 erEqual : (Int, │ │ │ -00013e50: 496e 7429 202d 3e20 426f 6f6c 0a65 7870 Int) -> Bool.exp │ │ │ -00013e60: 6f72 7473 2e75 7072 696d 496e 7465 6765 orts.uprimIntege │ │ │ -00013e70: 7245 7175 616c 203d 2028 782c 2079 2920 rEqual = (x, y) │ │ │ -00013e80: 3d3e 2078 203d 3d3d 2079 3b0a 0a2f 2f20 => x === y;..// │ │ │ -00013e90: 7570 7269 6d49 6e74 6567 6572 4772 6561 uprimIntegerGrea │ │ │ -00013ea0: 7465 724f 7245 7175 616c 5468 616e 203a terOrEqualThan : │ │ │ -00013eb0: 2028 496e 742c 2049 6e74 2920 2d3e 2042 (Int, Int) -> B │ │ │ -00013ec0: 6f6f 6c0a 6578 706f 7274 732e 7570 7269 ool.exports.upri │ │ │ -00013ed0: 6d49 6e74 6567 6572 4772 6561 7465 724f mIntegerGreaterO │ │ │ -00013ee0: 7245 7175 616c 5468 616e 203d 2028 782c rEqualThan = (x, │ │ │ -00013ef0: 2079 2920 3d3e 2078 203e 3d20 793b 0a0a y) => x >= y;.. │ │ │ -00013f00: 2f2f 2075 7072 696d 496e 7465 6765 724c // uprimIntegerL │ │ │ -00013f10: 6573 7354 6861 6e20 3a20 2849 6e74 2c20 essThan : (Int, │ │ │ -00013f20: 496e 7429 202d 3e20 426f 6f6c 0a65 7870 Int) -> Bool.exp │ │ │ -00013f30: 6f72 7473 2e75 7072 696d 496e 7465 6765 orts.uprimIntege │ │ │ -00013f40: 724c 6573 7354 6861 6e20 3d20 2878 2c20 rLessThan = (x, │ │ │ -00013f50: 7929 203d 3e20 7820 3c20 793b 0a0a 2f2f y) => x < y;..// │ │ │ -00013f60: 2057 6f72 6473 0a63 6f6e 7374 2057 4f52 Words.const WOR │ │ │ -00013f70: 4436 345f 4d41 585f 5641 4c55 4520 3d20 D64_MAX_VALUE = │ │ │ -00013f80: 3138 3434 3637 3434 3037 3337 3039 3535 1844674407370955 │ │ │ -00013f90: 3230 3030 6e3b 0a0a 2f2f 2070 7269 6d57 2000n;..// primW │ │ │ -00013fa0: 6f72 6436 3454 6f4e 6174 203a 2057 6f72 ord64ToNat : Wor │ │ │ -00013fb0: 6436 3420 2d3e 204e 6174 0a65 7870 6f72 d64 -> Nat.expor │ │ │ -00013fc0: 7473 2e70 7269 6d57 6f72 6436 3454 6f4e ts.primWord64ToN │ │ │ -00013fd0: 6174 203d 2078 203d 3e20 783b 0a0a 2f2f at = x => x;..// │ │ │ -00013fe0: 2070 7269 6d57 6f72 6436 3446 726f 6d4e primWord64FromN │ │ │ -00013ff0: 6174 203a 204e 6174 202d 3e20 576f 7264 at : Nat -> Word │ │ │ -00014000: 3634 0a65 7870 6f72 7473 2e70 7269 6d57 64.exports.primW │ │ │ -00014010: 6f72 6436 3446 726f 6d4e 6174 203d 2078 ord64FromNat = x │ │ │ -00014020: 203d 3e20 7820 2520 574f 5244 3634 5f4d => x % WORD64_M │ │ │ -00014030: 4158 5f56 414c 5545 3b0a 0a2f 2f20 7570 AX_VALUE;..// up │ │ │ -00014040: 7269 6d57 6f72 6436 3450 6c75 7320 3a20 rimWord64Plus : │ │ │ -00014050: 2857 6f72 6436 342c 2057 6f72 6436 3429 (Word64, Word64) │ │ │ -00014060: 202d 3e20 576f 7264 3634 0a65 7870 6f72 -> Word64.expor │ │ │ -00014070: 7473 2e75 7072 696d 576f 7264 3634 506c ts.uprimWord64Pl │ │ │ -00014080: 7573 203d 2028 782c 2079 2920 3d3e 2028 us = (x, y) => ( │ │ │ -00014090: 7820 2b20 7929 2025 2057 4f52 4436 345f x + y) % WORD64_ │ │ │ -000140a0: 4d41 585f 5641 4c55 453b 0a0a 2f2f 2075 MAX_VALUE;..// u │ │ │ -000140b0: 7072 696d 576f 7264 3634 4d69 6e75 7320 primWord64Minus │ │ │ -000140c0: 3a20 2857 6f72 6436 342c 2057 6f72 6436 : (Word64, Word6 │ │ │ -000140d0: 3429 202d 3e20 576f 7264 3634 0a65 7870 4) -> Word64.exp │ │ │ -000140e0: 6f72 7473 2e75 7072 696d 576f 7264 3634 orts.uprimWord64 │ │ │ -000140f0: 4d69 6e75 7320 3d20 2878 2c20 7929 203d Minus = (x, y) = │ │ │ -00014100: 3e20 2878 202b 2057 4f52 4436 345f 4d41 > (x + WORD64_MA │ │ │ -00014110: 585f 5641 4c55 4520 2d20 7929 2025 2057 X_VALUE - y) % W │ │ │ -00014120: 4f52 4436 345f 4d41 585f 5641 4c55 453b ORD64_MAX_VALUE; │ │ │ -00014130: 0a0a 2f2f 2075 7072 696d 576f 7264 3634 ..// uprimWord64 │ │ │ -00014140: 4d75 6c74 6970 6c79 203a 2028 576f 7264 Multiply : (Word │ │ │ -00014150: 3634 2c20 576f 7264 3634 2920 2d3e 2057 64, Word64) -> W │ │ │ -00014160: 6f72 6436 340a 6578 706f 7274 732e 7570 ord64.exports.up │ │ │ -00014170: 7269 6d57 6f72 6436 344d 756c 7469 706c rimWord64Multipl │ │ │ -00014180: 7920 3d20 2878 2c20 7929 203d 3e20 2878 y = (x, y) => (x │ │ │ -00014190: 202a 2079 2920 2520 574f 5244 3634 5f4d * y) % WORD64_M │ │ │ -000141a0: 4158 5f56 414c 5545 3b0a 0a2f 2f20 4e61 AX_VALUE;..// Na │ │ │ -000141b0: 7475 7261 6c20 6e75 6d62 6572 730a 0a2f tural numbers../ │ │ │ -000141c0: 2f20 7072 696d 4e61 744d 696e 7573 203a / primNatMinus : │ │ │ -000141d0: 204e 6174 202d 3e20 4e61 7420 2d3e 204e Nat -> Nat -> N │ │ │ -000141e0: 6174 0a65 7870 6f72 7473 2e70 7269 6d4e at.exports.primN │ │ │ -000141f0: 6174 4d69 6e75 7320 3d20 7820 3d3e 2079 atMinus = x => y │ │ │ -00014200: 203d 3e20 7b0a 2020 636f 6e73 7420 7a20 => {. const z │ │ │ -00014210: 3d20 7820 2d20 793b 0a20 2072 6574 7572 = x - y;. retur │ │ │ -00014220: 6e20 7a20 3c20 306e 203f 2030 6e20 3a20 n z < 0n ? 0n : │ │ │ -00014230: 7a3b 0a7d 3b0a 0a2f 2f20 466c 6f61 7469 z;.};..// Floati │ │ │ -00014240: 6e67 2d70 6f69 6e74 206e 756d 6265 7273 ng-point numbers │ │ │ -00014250: 0a76 6172 205f 7072 696d 466c 6f61 7447 .var _primFloatG │ │ │ -00014260: 7265 6174 6573 7443 6f6d 6d6f 6e46 6163 reatestCommonFac │ │ │ -00014270: 746f 7220 3d20 6675 6e63 7469 6f6e 2878 tor = function(x │ │ │ -00014280: 2c20 7929 207b 0a20 2020 2076 6172 207a , y) {. var z │ │ │ -00014290: 3b0a 2020 2020 7820 3d20 4d61 7468 2e61 ;. x = Math.a │ │ │ -000142a0: 6273 2878 293b 0a20 2020 2079 203d 204d bs(x);. y = M │ │ │ -000142b0: 6174 682e 6162 7328 7929 3b0a 2020 2020 ath.abs(y);. │ │ │ -000142c0: 7768 696c 6520 2879 2920 7b0a 2020 2020 while (y) {. │ │ │ -000142d0: 2020 2020 7a20 3d20 7820 2520 793b 0a20 z = x % y;. │ │ │ -000142e0: 2020 2020 2020 2078 203d 2079 3b0a 2020 x = y;. │ │ │ -000142f0: 2020 2020 2020 7920 3d20 7a3b 0a20 2020 y = z;. │ │ │ -00014300: 207d 0a20 2020 2072 6574 7572 6e20 783b }. return x; │ │ │ -00014310: 0a7d 3b0a 6578 706f 7274 732e 5f70 7269 .};.exports._pri │ │ │ -00014320: 6d46 6c6f 6174 526f 756e 6420 3d20 6675 mFloatRound = fu │ │ │ -00014330: 6e63 7469 6f6e 2878 2920 7b0a 2020 2020 nction(x) {. │ │ │ -00014340: 6966 2028 6578 706f 7274 732e 7072 696d if (exports.prim │ │ │ -00014350: 466c 6f61 7449 734e 614e 2878 2920 7c7c FloatIsNaN(x) || │ │ │ -00014360: 2065 7870 6f72 7473 2e70 7269 6d46 6c6f exports.primFlo │ │ │ -00014370: 6174 4973 496e 6669 6e69 7465 2878 2929 atIsInfinite(x)) │ │ │ -00014380: 207b 0a20 2020 2020 2020 2072 6574 7572 {. retur │ │ │ -00014390: 6e20 6e75 6c6c 3b0a 2020 2020 7d0a 2020 n null;. }. │ │ │ -000143a0: 2020 656c 7365 207b 0a20 2020 2020 2020 else {. │ │ │ -000143b0: 2072 6574 7572 6e20 4269 6749 6e74 284d return BigInt(M │ │ │ -000143c0: 6174 682e 726f 756e 6428 7829 293b 0a20 ath.round(x));. │ │ │ -000143d0: 2020 207d 0a7d 3b0a 6578 706f 7274 732e }.};.exports. │ │ │ -000143e0: 5f70 7269 6d46 6c6f 6174 466c 6f6f 7220 _primFloatFloor │ │ │ -000143f0: 3d20 6675 6e63 7469 6f6e 2878 2920 7b0a = function(x) {. │ │ │ -00014400: 2020 2020 6966 2028 6578 706f 7274 732e if (exports. │ │ │ -00014410: 7072 696d 466c 6f61 7449 734e 614e 2878 primFloatIsNaN(x │ │ │ -00014420: 2920 7c7c 2065 7870 6f72 7473 2e70 7269 ) || exports.pri │ │ │ -00014430: 6d46 6c6f 6174 4973 496e 6669 6e69 7465 mFloatIsInfinite │ │ │ -00014440: 2878 2929 207b 0a20 2020 2020 2020 2072 (x)) {. r │ │ │ -00014450: 6574 7572 6e20 6e75 6c6c 3b0a 2020 2020 eturn null;. │ │ │ -00014460: 7d0a 2020 2020 656c 7365 207b 0a20 2020 }. else {. │ │ │ -00014470: 2020 2020 2072 6574 7572 6e20 4269 6749 return BigI │ │ │ -00014480: 6e74 284d 6174 682e 666c 6f6f 7228 7829 nt(Math.floor(x) │ │ │ -00014490: 293b 0a20 2020 207d 0a7d 3b0a 6578 706f );. }.};.expo │ │ │ -000144a0: 7274 732e 5f70 7269 6d46 6c6f 6174 4365 rts._primFloatCe │ │ │ -000144b0: 696c 696e 6720 3d20 6675 6e63 7469 6f6e iling = function │ │ │ -000144c0: 2878 2920 7b0a 2020 2020 6966 2028 6578 (x) {. if (ex │ │ │ -000144d0: 706f 7274 732e 7072 696d 466c 6f61 7449 ports.primFloatI │ │ │ -000144e0: 734e 614e 2878 2920 7c7c 2065 7870 6f72 sNaN(x) || expor │ │ │ -000144f0: 7473 2e70 7269 6d46 6c6f 6174 4973 496e ts.primFloatIsIn │ │ │ -00014500: 6669 6e69 7465 2878 2929 207b 0a20 2020 finite(x)) {. │ │ │ -00014510: 2020 2020 2072 6574 7572 6e20 6e75 6c6c return null │ │ │ -00014520: 3b0a 2020 2020 7d0a 2020 2020 656c 7365 ;. }. else │ │ │ -00014530: 207b 0a20 2020 2020 2020 2072 6574 7572 {. retur │ │ │ -00014540: 6e20 4269 6749 6e74 284d 6174 682e 6365 n BigInt(Math.ce │ │ │ -00014550: 696c 2878 2929 3b0a 2020 2020 7d0a 7d3b il(x));. }.}; │ │ │ -00014560: 0a65 7870 6f72 7473 2e5f 7072 696d 466c .exports._primFl │ │ │ -00014570: 6f61 7454 6f52 6174 696f 203d 2066 756e oatToRatio = fun │ │ │ -00014580: 6374 696f 6e28 7829 207b 0a20 2020 2069 ction(x) {. i │ │ │ -00014590: 6620 2865 7870 6f72 7473 2e70 7269 6d46 f (exports.primF │ │ │ -000145a0: 6c6f 6174 4973 4e61 4e28 7829 2920 7b0a loatIsNaN(x)) {. │ │ │ -000145b0: 2020 2020 2020 2020 7265 7475 726e 207b return { │ │ │ -000145c0: 6e75 6d65 7261 746f 723a 2042 6967 496e numerator: BigIn │ │ │ -000145d0: 7428 3029 2c20 6465 6e6f 6d69 6e61 746f t(0), denominato │ │ │ -000145e0: 723a 2042 6967 496e 7428 3029 7d3b 0a20 r: BigInt(0)};. │ │ │ -000145f0: 2020 207d 0a20 2020 2065 6c73 6520 6966 }. else if │ │ │ -00014600: 2028 7820 3c20 302e 3020 2626 2065 7870 (x < 0.0 && exp │ │ │ -00014610: 6f72 7473 2e70 7269 6d46 6c6f 6174 4973 orts.primFloatIs │ │ │ -00014620: 496e 6669 6e69 7465 2878 2929 207b 0a20 Infinite(x)) {. │ │ │ -00014630: 2020 2020 2020 2072 6574 7572 6e20 7b6e return {n │ │ │ -00014640: 756d 6572 6174 6f72 3a20 4269 6749 6e74 umerator: BigInt │ │ │ -00014650: 282d 3129 2c20 6465 6e6f 6d69 6e61 746f (-1), denominato │ │ │ -00014660: 723a 2042 6967 496e 7428 3029 7d3b 0a20 r: BigInt(0)};. │ │ │ -00014670: 2020 207d 0a20 2020 2065 6c73 6520 6966 }. else if │ │ │ -00014680: 2028 7820 3e20 302e 3020 2626 2065 7870 (x > 0.0 && exp │ │ │ -00014690: 6f72 7473 2e70 7269 6d46 6c6f 6174 4973 orts.primFloatIs │ │ │ -000146a0: 496e 6669 6e69 7465 2878 2929 207b 0a20 Infinite(x)) {. │ │ │ -000146b0: 2020 2020 2020 2072 6574 7572 6e20 7b6e return {n │ │ │ -000146c0: 756d 6572 6174 6f72 3a20 4269 6749 6e74 umerator: BigInt │ │ │ -000146d0: 2831 292c 2064 656e 6f6d 696e 6174 6f72 (1), denominator │ │ │ -000146e0: 3a20 4269 6749 6e74 2830 297d 3b0a 2020 : BigInt(0)};. │ │ │ -000146f0: 2020 7d0a 2020 2020 656c 7365 2069 6620 }. else if │ │ │ -00014700: 2865 7870 6f72 7473 2e70 7269 6d46 6c6f (exports.primFlo │ │ │ -00014710: 6174 4973 4e65 6761 7469 7665 5a65 726f atIsNegativeZero │ │ │ -00014720: 2878 2929 207b 0a20 2020 2020 2020 2072 (x)) {. r │ │ │ -00014730: 6574 7572 6e20 7b6e 756d 6572 6174 6f72 eturn {numerator │ │ │ -00014740: 3a20 4269 6749 6e74 2830 292c 2064 656e : BigInt(0), den │ │ │ -00014750: 6f6d 696e 6174 6f72 3a20 4269 6749 6e74 ominator: BigInt │ │ │ -00014760: 2831 297d 3b0a 2020 2020 7d0a 2020 2020 (1)};. }. │ │ │ -00014770: 656c 7365 2069 6620 2878 203d 3d20 302e else if (x == 0. │ │ │ -00014780: 3029 207b 0a20 2020 2020 2020 2072 6574 0) {. ret │ │ │ -00014790: 7572 6e20 7b6e 756d 6572 6174 6f72 3a20 urn {numerator: │ │ │ -000147a0: 4269 6749 6e74 2830 292c 2064 656e 6f6d BigInt(0), denom │ │ │ -000147b0: 696e 6174 6f72 3a20 4269 6749 6e74 2831 inator: BigInt(1 │ │ │ -000147c0: 297d 3b0a 2020 2020 7d0a 2020 2020 656c )};. }. el │ │ │ -000147d0: 7365 207b 0a20 2020 2020 2020 2076 6172 se {. var │ │ │ -000147e0: 206e 756d 6572 6174 6f72 203d 204d 6174 numerator = Mat │ │ │ -000147f0: 682e 726f 756e 6428 782a 3165 3929 3b0a h.round(x*1e9);. │ │ │ -00014800: 2020 2020 2020 2020 7661 7220 6465 6e6f var deno │ │ │ -00014810: 6d69 6e61 746f 7220 3d20 3165 393b 0a20 minator = 1e9;. │ │ │ -00014820: 2020 2020 2020 2076 6172 2067 6366 203d var gcf = │ │ │ -00014830: 205f 7072 696d 466c 6f61 7447 7265 6174 _primFloatGreat │ │ │ -00014840: 6573 7443 6f6d 6d6f 6e46 6163 746f 7228 estCommonFactor( │ │ │ -00014850: 6e75 6d65 7261 746f 722c 2064 656e 6f6d numerator, denom │ │ │ -00014860: 696e 6174 6f72 293b 0a20 2020 2020 2020 inator);. │ │ │ -00014870: 206e 756d 6572 6174 6f72 202f 3d20 6763 numerator /= gc │ │ │ -00014880: 663b 0a20 2020 2020 2020 2064 656e 6f6d f;. denom │ │ │ -00014890: 696e 6174 6f72 202f 3d20 6763 663b 0a20 inator /= gcf;. │ │ │ -000148a0: 2020 2020 2020 2072 6574 7572 6e20 7b6e return {n │ │ │ -000148b0: 756d 6572 6174 6f72 3a20 4269 6749 6e74 umerator: BigInt │ │ │ -000148c0: 286e 756d 6572 6174 6f72 292c 2064 656e (numerator), den │ │ │ -000148d0: 6f6d 696e 6174 6f72 3a20 4269 6749 6e74 ominator: BigInt │ │ │ -000148e0: 2864 656e 6f6d 696e 6174 6f72 297d 3b0a (denominator)};. │ │ │ -000148f0: 2020 2020 7d0a 7d3b 0a65 7870 6f72 7473 }.};.exports │ │ │ -00014900: 2e5f 7072 696d 466c 6f61 7444 6563 6f64 ._primFloatDecod │ │ │ -00014910: 6520 3d20 6675 6e63 7469 6f6e 2878 2920 e = function(x) │ │ │ -00014920: 7b0a 2020 2020 6966 2028 6578 706f 7274 {. if (export │ │ │ -00014930: 732e 7072 696d 466c 6f61 7449 734e 614e s.primFloatIsNaN │ │ │ -00014940: 2878 2929 207b 0a20 2020 2020 2020 2072 (x)) {. r │ │ │ -00014950: 6574 7572 6e20 6e75 6c6c 3b0a 2020 2020 eturn null;. │ │ │ -00014960: 7d0a 2020 2020 656c 7365 2069 6620 2878 }. else if (x │ │ │ -00014970: 203c 2030 2e30 2026 2620 6578 706f 7274 < 0.0 && export │ │ │ -00014980: 732e 7072 696d 466c 6f61 7449 7349 6e66 s.primFloatIsInf │ │ │ -00014990: 696e 6974 6528 7829 2920 7b0a 2020 2020 inite(x)) {. │ │ │ -000149a0: 2020 2020 7265 7475 726e 206e 756c 6c3b return null; │ │ │ -000149b0: 0a20 2020 207d 0a20 2020 2065 6c73 6520 . }. else │ │ │ -000149c0: 6966 2028 7820 3e20 302e 3020 2626 2065 if (x > 0.0 && e │ │ │ -000149d0: 7870 6f72 7473 2e70 7269 6d46 6c6f 6174 xports.primFloat │ │ │ -000149e0: 4973 496e 6669 6e69 7465 2878 2929 207b IsInfinite(x)) { │ │ │ -000149f0: 0a20 2020 2020 2020 2072 6574 7572 6e20 . return │ │ │ -00014a00: 6e75 6c6c 3b0a 2020 2020 7d0a 2020 2020 null;. }. │ │ │ -00014a10: 656c 7365 207b 0a20 2020 2020 2020 2076 else {. v │ │ │ -00014a20: 6172 206d 616e 7469 7373 6120 3d20 782c ar mantissa = x, │ │ │ -00014a30: 2065 7870 6f6e 656e 7420 3d20 303b 0a20 exponent = 0;. │ │ │ -00014a40: 2020 2020 2020 2077 6869 6c65 2028 214e while (!N │ │ │ -00014a50: 756d 6265 722e 6973 496e 7465 6765 7228 umber.isInteger( │ │ │ -00014a60: 6d61 6e74 6973 7361 2929 207b 0a20 2020 mantissa)) {. │ │ │ -00014a70: 2020 2020 2020 2020 206d 616e 7469 7373 mantiss │ │ │ -00014a80: 6120 2a3d 2032 2e30 3b0a 2020 2020 2020 a *= 2.0;. │ │ │ -00014a90: 2020 2020 2020 6578 706f 6e65 6e74 202d exponent - │ │ │ -00014aa0: 3d20 313b 0a20 2020 2020 2020 207d 3b0a = 1;. };. │ │ │ -00014ab0: 2020 2020 2020 2020 7768 696c 6520 286d while (m │ │ │ -00014ac0: 616e 7469 7373 6120 2520 322e 3020 3d3d antissa % 2.0 == │ │ │ -00014ad0: 3d20 3029 207b 0a20 2020 2020 2020 2020 = 0) {. │ │ │ -00014ae0: 2020 206d 616e 7469 7373 6120 2f3d 2032 mantissa /= 2 │ │ │ -00014af0: 2e30 3b0a 2020 2020 2020 2020 2020 2020 .0;. │ │ │ -00014b00: 6578 706f 6e65 6e74 202b 3d20 313b 0a20 exponent += 1;. │ │ │ -00014b10: 2020 2020 2020 207d 0a20 2020 2020 2020 }. │ │ │ -00014b20: 2072 6574 7572 6e20 7b6d 616e 7469 7373 return {mantiss │ │ │ -00014b30: 613a 2042 6967 496e 7428 6d61 6e74 6973 a: BigInt(mantis │ │ │ -00014b40: 7361 292c 2065 7870 6f6e 656e 743a 2042 sa), exponent: B │ │ │ -00014b50: 6967 496e 7428 6578 706f 6e65 6e74 297d igInt(exponent)} │ │ │ -00014b60: 3b0a 2020 2020 7d0a 7d3b 0a65 7870 6f72 ;. }.};.expor │ │ │ -00014b70: 7473 2e75 7072 696d 466c 6f61 7445 7175 ts.uprimFloatEqu │ │ │ -00014b80: 616c 6974 7920 3d20 6675 6e63 7469 6f6e ality = function │ │ │ -00014b90: 2878 2c20 7929 207b 0a20 2020 2072 6574 (x, y) {. ret │ │ │ -00014ba0: 7572 6e20 7820 3d3d 3d20 793b 0a7d 3b0a urn x === y;.};. │ │ │ -00014bb0: 6578 706f 7274 732e 7072 696d 466c 6f61 exports.primFloa │ │ │ -00014bc0: 7445 7175 616c 6974 7920 3d20 6675 6e63 tEquality = func │ │ │ -00014bd0: 7469 6f6e 2878 2920 7b0a 2020 2020 7265 tion(x) {. re │ │ │ -00014be0: 7475 726e 2066 756e 6374 696f 6e28 7929 turn function(y) │ │ │ -00014bf0: 207b 0a20 2020 2020 2020 2072 6574 7572 {. retur │ │ │ -00014c00: 6e20 6578 706f 7274 732e 7570 7269 6d46 n exports.uprimF │ │ │ -00014c10: 6c6f 6174 4571 7561 6c69 7479 2878 2c20 loatEquality(x, │ │ │ -00014c20: 7929 3b0a 2020 2020 7d3b 0a7d 3b0a 6578 y);. };.};.ex │ │ │ -00014c30: 706f 7274 732e 7072 696d 466c 6f61 7449 ports.primFloatI │ │ │ -00014c40: 6e65 7175 616c 6974 7920 3d20 6675 6e63 nequality = func │ │ │ -00014c50: 7469 6f6e 2878 2920 7b0a 2020 2020 7265 tion(x) {. re │ │ │ -00014c60: 7475 726e 2066 756e 6374 696f 6e28 7929 turn function(y) │ │ │ -00014c70: 207b 0a20 2020 2020 2020 2072 6574 7572 {. retur │ │ │ -00014c80: 6e20 7820 3c3d 2079 3b0a 2020 2020 7d3b n x <= y;. }; │ │ │ -00014c90: 0a7d 3b0a 6578 706f 7274 732e 7072 696d .};.exports.prim │ │ │ -00014ca0: 466c 6f61 744c 6573 7320 3d20 6675 6e63 FloatLess = func │ │ │ -00014cb0: 7469 6f6e 2878 2920 7b0a 2020 2020 7265 tion(x) {. re │ │ │ -00014cc0: 7475 726e 2066 756e 6374 696f 6e28 7929 turn function(y) │ │ │ -00014cd0: 207b 0a20 2020 2020 2020 2072 6574 7572 {. retur │ │ │ -00014ce0: 6e20 7820 3c20 793b 0a20 2020 207d 3b0a n x < y;. };. │ │ │ -00014cf0: 7d3b 0a65 7870 6f72 7473 2e70 7269 6d46 };.exports.primF │ │ │ -00014d00: 6c6f 6174 4973 496e 6669 6e69 7465 203d loatIsInfinite = │ │ │ -00014d10: 2066 756e 6374 696f 6e28 7829 207b 0a20 function(x) {. │ │ │ -00014d20: 2020 2072 6574 7572 6e20 214e 756d 6265 return !Numbe │ │ │ -00014d30: 722e 6973 4e61 4e28 7829 2026 2620 214e r.isNaN(x) && !N │ │ │ -00014d40: 756d 6265 722e 6973 4669 6e69 7465 2878 umber.isFinite(x │ │ │ -00014d50: 293b 0a7d 3b0a 6578 706f 7274 732e 7072 );.};.exports.pr │ │ │ -00014d60: 696d 466c 6f61 7449 734e 614e 203d 2066 imFloatIsNaN = f │ │ │ -00014d70: 756e 6374 696f 6e28 7829 207b 0a20 2020 unction(x) {. │ │ │ -00014d80: 2072 6574 7572 6e20 4e75 6d62 6572 2e69 return Number.i │ │ │ -00014d90: 734e 614e 2878 293b 0a7d 3b0a 6578 706f sNaN(x);.};.expo │ │ │ -00014da0: 7274 732e 7072 696d 466c 6f61 7449 734e rts.primFloatIsN │ │ │ -00014db0: 6567 6174 6976 655a 6572 6f20 3d20 6675 egativeZero = fu │ │ │ -00014dc0: 6e63 7469 6f6e 2878 2920 7b0a 2020 2020 nction(x) {. │ │ │ -00014dd0: 7265 7475 726e 204f 626a 6563 742e 6973 return Object.is │ │ │ -00014de0: 2878 2c2d 302e 3029 3b0a 7d3b 0a65 7870 (x,-0.0);.};.exp │ │ │ -00014df0: 6f72 7473 2e70 7269 6d46 6c6f 6174 4973 orts.primFloatIs │ │ │ -00014e00: 5361 6665 496e 7465 6765 7220 3d20 6675 SafeInteger = fu │ │ │ -00014e10: 6e63 7469 6f6e 2878 2920 7b0a 2020 2020 nction(x) {. │ │ │ -00014e20: 7265 7475 726e 204e 756d 6265 722e 6973 return Number.is │ │ │ -00014e30: 5361 6665 496e 7465 6765 7228 7829 3b0a SafeInteger(x);. │ │ │ -00014e40: 7d3b 0a0a 0a2f 2f20 5468 6573 6520 574f };...// These WO │ │ │ -00014e50: 5244 3634 2076 616c 7565 7320 7765 7265 RD64 values were │ │ │ -00014e60: 206f 6274 6169 6e65 6420 7669 6120 6063 obtained via `c │ │ │ -00014e70: 6173 7444 6f75 626c 6554 6f57 6f72 6436 astDoubleToWord6 │ │ │ -00014e80: 3460 2069 6e20 4861 736b 656c 6c3a 0a63 4` in Haskell:.c │ │ │ -00014e90: 6f6e 7374 2057 4f52 4436 345f 504f 535f onst WORD64_POS_ │ │ │ -00014ea0: 494e 4620 203d 2039 3231 3838 3638 3433 INF = 921886843 │ │ │ -00014eb0: 3732 3237 3430 3533 3132 6e3b 0a63 6f6e 7227405312n;.con │ │ │ -00014ec0: 7374 2057 4f52 4436 345f 4e45 475f 494e st WORD64_NEG_IN │ │ │ -00014ed0: 4620 203d 2031 3834 3432 3234 3034 3734 F = 18442240474 │ │ │ -00014ee0: 3038 3231 3831 3132 306e 3b0a 636f 6e73 082181120n;.cons │ │ │ -00014ef0: 7420 574f 5244 3634 5f50 4f53 5f5a 4552 t WORD64_POS_ZER │ │ │ -00014f00: 4f20 3d20 306e 3b0a 636f 6e73 7420 574f O = 0n;.const WO │ │ │ -00014f10: 5244 3634 5f4e 4547 5f5a 4552 4f20 3d20 RD64_NEG_ZERO = │ │ │ -00014f20: 3932 3233 3337 3230 3336 3835 3437 3735 9223372036854775 │ │ │ -00014f30: 3830 386e 3b0a 0a65 7870 6f72 7473 2e70 808n;..exports.p │ │ │ -00014f40: 7269 6d46 6c6f 6174 546f 576f 7264 3634 rimFloatToWord64 │ │ │ -00014f50: 203d 2066 756e 6374 696f 6e28 7829 207b = function(x) { │ │ │ -00014f60: 0a20 2020 2069 6620 2865 7870 6f72 7473 . if (exports │ │ │ -00014f70: 2e70 7269 6d46 6c6f 6174 4973 4e61 4e28 .primFloatIsNaN( │ │ │ -00014f80: 7829 2920 7b0a 2020 2020 2020 2020 7265 x)) {. re │ │ │ -00014f90: 7475 726e 206e 756c 6c3b 0a20 2020 207d turn null;. } │ │ │ -00014fa0: 0a20 2020 2065 6c73 6520 6966 2028 7820 . else if (x │ │ │ -00014fb0: 3c20 302e 3020 2626 2065 7870 6f72 7473 < 0.0 && exports │ │ │ -00014fc0: 2e70 7269 6d46 6c6f 6174 4973 496e 6669 .primFloatIsInfi │ │ │ -00014fd0: 6e69 7465 2878 2929 207b 0a20 2020 2020 nite(x)) {. │ │ │ -00014fe0: 2020 2072 6574 7572 6e20 574f 5244 3634 return WORD64 │ │ │ -00014ff0: 5f4e 4547 5f49 4e46 3b0a 2020 2020 7d0a _NEG_INF;. }. │ │ │ -00015000: 2020 2020 656c 7365 2069 6620 2878 203e else if (x > │ │ │ -00015010: 2030 2e30 2026 2620 6578 706f 7274 732e 0.0 && exports. │ │ │ -00015020: 7072 696d 466c 6f61 7449 7349 6e66 696e primFloatIsInfin │ │ │ -00015030: 6974 6528 7829 2920 7b0a 2020 2020 2020 ite(x)) {. │ │ │ -00015040: 2020 7265 7475 726e 2057 4f52 4436 345f return WORD64_ │ │ │ -00015050: 504f 535f 494e 463b 0a20 2020 207d 0a20 POS_INF;. }. │ │ │ -00015060: 2020 2065 6c73 6520 6966 2028 6578 706f else if (expo │ │ │ -00015070: 7274 732e 7072 696d 466c 6f61 7449 734e rts.primFloatIsN │ │ │ -00015080: 6567 6174 6976 655a 6572 6f28 7829 2920 egativeZero(x)) │ │ │ -00015090: 7b0a 2020 2020 2020 2020 7265 7475 726e {. return │ │ │ -000150a0: 2057 4f52 4436 345f 4e45 475f 5a45 524f WORD64_NEG_ZERO │ │ │ -000150b0: 3b0a 2020 2020 7d0a 2020 2020 656c 7365 ;. }. else │ │ │ -000150c0: 2069 6620 2878 203d 3d20 302e 3029 207b if (x == 0.0) { │ │ │ -000150d0: 0a20 2020 2020 2020 2072 6574 7572 6e20 . return │ │ │ -000150e0: 574f 5244 3634 5f50 4f53 5f5a 4552 4f3b WORD64_POS_ZERO; │ │ │ -000150f0: 0a20 2020 207d 0a20 2020 2065 6c73 6520 . }. else │ │ │ -00015100: 7b0a 2020 2020 2020 2020 7661 7220 6d61 {. var ma │ │ │ -00015110: 6e74 6973 7361 2c20 6578 706f 6e65 6e74 ntissa, exponent │ │ │ -00015120: 3b0a 2020 2020 2020 2020 287b 6d61 6e74 ;. ({mant │ │ │ -00015130: 6973 7361 2c20 6578 706f 6e65 6e74 7d20 issa, exponent} │ │ │ -00015140: 3d20 6578 706f 7274 732e 5f70 7269 6d46 = exports._primF │ │ │ -00015150: 6c6f 6174 4465 636f 6465 2878 2929 3b0a loatDecode(x));. │ │ │ -00015160: 2020 2020 2020 2020 7661 7220 7369 676e var sign │ │ │ -00015170: 203d 204d 6174 682e 7369 676e 286d 616e = Math.sign(man │ │ │ -00015180: 7469 7373 6129 3b0a 2020 2020 2020 2020 tissa);. │ │ │ -00015190: 636f 6e73 6f6c 652e 6c6f 6728 6d61 6e74 console.log(mant │ │ │ -000151a0: 6973 7361 293b 0a20 2020 2020 2020 206d issa);. m │ │ │ -000151b0: 616e 7469 7373 6120 2a3d 2073 6967 6e3b antissa *= sign; │ │ │ -000151c0: 0a20 2020 2020 2020 2073 6967 6e20 3d20 . sign = │ │ │ -000151d0: 2873 6967 6e20 3d3d 3d20 2d31 203f 2022 (sign === -1 ? " │ │ │ -000151e0: 3122 203a 2022 3022 293b 0a20 2020 2020 1" : "0");. │ │ │ -000151f0: 2020 206d 616e 7469 7373 6120 3d20 286d mantissa = (m │ │ │ -00015200: 616e 7469 7373 612e 746f 5374 7269 6e67 antissa.toString │ │ │ -00015210: 2832 2929 2e70 6164 5374 6172 7428 3131 (2)).padStart(11 │ │ │ -00015220: 2c20 2230 2229 3b0a 2020 2020 2020 2020 , "0");. │ │ │ -00015230: 6578 706f 6e65 6e74 203d 2028 6d61 6e74 exponent = (mant │ │ │ -00015240: 6973 7361 2e74 6f53 7472 696e 6728 3229 issa.toString(2) │ │ │ -00015250: 292e 7061 6453 7461 7274 2835 322c 2022 ).padStart(52, " │ │ │ -00015260: 3022 293b 0a20 2020 2020 2020 2072 6574 0");. ret │ │ │ -00015270: 7572 6e20 4269 6749 6e74 2870 6172 7365 urn BigInt(parse │ │ │ -00015280: 496e 7428 7369 676e 202b 206d 616e 7469 Int(sign + manti │ │ │ -00015290: 7373 6120 2b20 6578 706f 6e65 6e74 2c20 ssa + exponent, │ │ │ -000152a0: 3229 293b 0a20 2020 207d 0a7d 3b0a 0a2f 2));. }.};../ │ │ │ -000152b0: 2f20 7072 696d 4e61 7454 6f46 6c6f 6174 / primNatToFloat │ │ │ -000152c0: 203a 204e 6174 202d 3e20 466c 6f61 740a : Nat -> Float. │ │ │ -000152d0: 6578 706f 7274 732e 7072 696d 4e61 7454 exports.primNatT │ │ │ -000152e0: 6f46 6c6f 6174 203d 204e 756d 6265 723b oFloat = Number; │ │ │ -000152f0: 0a0a 2f2f 2070 7269 6d49 6e74 546f 466c ..// primIntToFl │ │ │ -00015300: 6f61 7420 3a20 496e 7420 2d3e 2046 6c6f oat : Int -> Flo │ │ │ -00015310: 6174 0a65 7870 6f72 7473 2e70 7269 6d49 at.exports.primI │ │ │ -00015320: 6e74 546f 466c 6f61 7420 3d20 4e75 6d62 ntToFloat = Numb │ │ │ -00015330: 6572 3b0a 0a2f 2f20 7072 696d 5261 7469 er;..// primRati │ │ │ -00015340: 6f54 6f46 6c6f 6174 203a 2049 6e74 202d oToFloat : Int - │ │ │ -00015350: 3e20 496e 7420 2d3e 2046 6c6f 6174 0a65 > Int -> Float.e │ │ │ -00015360: 7870 6f72 7473 2e70 7269 6d52 6174 696f xports.primRatio │ │ │ -00015370: 546f 466c 6f61 7420 3d20 7820 3d3e 2079 ToFloat = x => y │ │ │ -00015380: 203d 3e20 4e75 6d62 6572 2878 2920 2f20 => Number(x) / │ │ │ -00015390: 4e75 6d62 6572 2879 293b 0a0a 2f2f 2075 Number(y);..// u │ │ │ -000153a0: 7072 696d 466c 6f61 7445 6e63 6f64 6520 primFloatEncode │ │ │ -000153b0: 3a20 2849 6e74 2c20 496e 7429 202d 3e20 : (Int, Int) -> │ │ │ -000153c0: 4d61 7962 6520 466c 6f61 740a 6578 706f Maybe Float.expo │ │ │ -000153d0: 7274 732e 7570 7269 6d46 6c6f 6174 456e rts.uprimFloatEn │ │ │ -000153e0: 636f 6465 203d 2028 782c 2079 2920 3d3e code = (x, y) => │ │ │ -000153f0: 207b 0a20 2063 6f6e 7374 206d 616e 7469 {. const manti │ │ │ -00015400: 7373 6120 3d20 4e75 6d62 6572 2878 293b ssa = Number(x); │ │ │ -00015410: 0a20 2063 6f6e 7374 2065 7870 6f6e 656e . const exponen │ │ │ -00015420: 7420 3d20 4e75 6d62 6572 2879 293b 0a0a t = Number(y);.. │ │ │ -00015430: 2020 6966 2028 4e75 6d62 6572 2e69 7353 if (Number.isS │ │ │ -00015440: 6166 6549 6e74 6567 6572 286d 616e 7469 afeInteger(manti │ │ │ -00015450: 7373 6129 2026 2620 2d31 3032 3420 3c3d ssa) && -1024 <= │ │ │ -00015460: 2065 7870 6f6e 656e 7420 2626 2065 7870 exponent && exp │ │ │ -00015470: 6f6e 656e 7420 3c3d 2031 3032 3429 207b onent <= 1024) { │ │ │ -00015480: 0a20 2020 2072 6574 7572 6e20 6d61 6e74 . return mant │ │ │ -00015490: 6973 7361 202a 2028 3220 2a2a 2065 7870 issa * (2 ** exp │ │ │ -000154a0: 6f6e 656e 7429 3b0a 2020 7d0a 0a20 2065 onent);. }.. e │ │ │ -000154b0: 6c73 6520 7b0a 2020 2020 7265 7475 726e lse {. return │ │ │ -000154c0: 206e 756c 6c3b 0a20 207d 0a7d 3b0a 0a65 null;. }.};..e │ │ │ -000154d0: 7870 6f72 7473 2e70 7269 6d53 686f 7746 xports.primShowF │ │ │ -000154e0: 6c6f 6174 203d 2066 756e 6374 696f 6e28 loat = function( │ │ │ -000154f0: 7829 207b 0a20 2020 202f 2f20 5365 6520 x) {. // See │ │ │ -00015500: 4973 7375 6520 2332 3139 322e 0a20 2020 Issue #2192.. │ │ │ -00015510: 2069 6620 284e 756d 6265 722e 6973 496e if (Number.isIn │ │ │ -00015520: 7465 6765 7228 7829 2920 7b0a 2020 2020 teger(x)) {. │ │ │ -00015530: 2020 2020 6966 2028 6578 706f 7274 732e if (exports. │ │ │ -00015540: 7072 696d 466c 6f61 7449 734e 6567 6174 primFloatIsNegat │ │ │ -00015550: 6976 655a 6572 6f28 7829 2920 7b0a 2020 iveZero(x)) {. │ │ │ -00015560: 2020 2020 2020 2020 2020 7265 7475 726e return │ │ │ -00015570: 2028 222d 302e 3022 293b 0a20 2020 2020 ("-0.0");. │ │ │ -00015580: 2020 207d 2065 6c73 6520 7b0a 2020 2020 } else {. │ │ │ -00015590: 2020 2020 2020 2020 7265 7475 726e 2028 return ( │ │ │ -000155a0: 782e 746f 5374 7269 6e67 2829 202b 2022 x.toString() + " │ │ │ -000155b0: 2e30 2229 3b0a 2020 2020 2020 2020 7d0a .0");. }. │ │ │ -000155c0: 2020 2020 7d20 656c 7365 207b 0a20 2020 } else {. │ │ │ -000155d0: 2020 2020 2072 6574 7572 6e20 782e 746f return x.to │ │ │ -000155e0: 5374 7269 6e67 2829 3b0a 2020 2020 7d0a String();. }. │ │ │ -000155f0: 7d3b 0a65 7870 6f72 7473 2e70 7269 6d46 };.exports.primF │ │ │ -00015600: 6c6f 6174 506c 7573 203d 2066 756e 6374 loatPlus = funct │ │ │ -00015610: 696f 6e28 7829 207b 0a20 2020 2072 6574 ion(x) {. ret │ │ │ -00015620: 7572 6e20 6675 6e63 7469 6f6e 2879 2920 urn function(y) │ │ │ -00015630: 7b0a 2020 2020 2020 2020 7265 7475 726e {. return │ │ │ -00015640: 2078 202b 2079 3b0a 2020 2020 7d3b 0a7d x + y;. };.} │ │ │ -00015650: 3b0a 6578 706f 7274 732e 7072 696d 466c ;.exports.primFl │ │ │ -00015660: 6f61 744d 696e 7573 203d 2066 756e 6374 oatMinus = funct │ │ │ -00015670: 696f 6e28 7829 207b 0a20 2020 2072 6574 ion(x) {. ret │ │ │ -00015680: 7572 6e20 6675 6e63 7469 6f6e 2879 2920 urn function(y) │ │ │ -00015690: 7b0a 2020 2020 2020 2020 7265 7475 726e {. return │ │ │ -000156a0: 2078 202d 2079 3b0a 2020 2020 7d3b 0a7d x - y;. };.} │ │ │ -000156b0: 3b0a 6578 706f 7274 732e 7072 696d 466c ;.exports.primFl │ │ │ -000156c0: 6f61 7454 696d 6573 203d 2066 756e 6374 oatTimes = funct │ │ │ -000156d0: 696f 6e28 7829 207b 0a20 2020 2072 6574 ion(x) {. ret │ │ │ -000156e0: 7572 6e20 6675 6e63 7469 6f6e 2879 2920 urn function(y) │ │ │ -000156f0: 7b0a 2020 2020 2020 2020 7265 7475 726e {. return │ │ │ -00015700: 2078 202a 2079 3b0a 2020 2020 7d3b 0a7d x * y;. };.} │ │ │ -00015710: 3b0a 6578 706f 7274 732e 7072 696d 466c ;.exports.primFl │ │ │ -00015720: 6f61 744e 6567 6174 6520 3d20 6675 6e63 oatNegate = func │ │ │ -00015730: 7469 6f6e 2878 2920 7b0a 2020 2020 7265 tion(x) {. re │ │ │ -00015740: 7475 726e 202d 783b 0a7d 3b0a 6578 706f turn -x;.};.expo │ │ │ -00015750: 7274 732e 7072 696d 466c 6f61 7444 6976 rts.primFloatDiv │ │ │ -00015760: 203d 2066 756e 6374 696f 6e28 7829 207b = function(x) { │ │ │ -00015770: 0a20 2072 6574 7572 6e20 6675 6e63 7469 . return functi │ │ │ -00015780: 6f6e 2879 2920 7b0a 2020 2020 7265 7475 on(y) {. retu │ │ │ -00015790: 726e 2078 202f 2079 3b0a 2020 7d3b 0a7d rn x / y;. };.} │ │ │ -000157a0: 3b0a 6578 706f 7274 732e 7072 696d 466c ;.exports.primFl │ │ │ -000157b0: 6f61 7450 6f77 203d 2066 756e 6374 696f oatPow = functio │ │ │ -000157c0: 6e28 7829 207b 0a20 2020 2072 6574 7572 n(x) {. retur │ │ │ -000157d0: 6e20 6675 6e63 7469 6f6e 2879 2920 7b0a n function(y) {. │ │ │ -000157e0: 2020 2020 2020 2020 7265 7475 726e 2078 return x │ │ │ -000157f0: 202a 2a20 793b 0a20 2020 207d 3b0a 7d3b ** y;. };.}; │ │ │ -00015800: 0a65 7870 6f72 7473 2e70 7269 6d46 6c6f .exports.primFlo │ │ │ -00015810: 6174 5371 7274 203d 2066 756e 6374 696f atSqrt = functio │ │ │ -00015820: 6e28 7829 207b 0a20 2020 2072 6574 7572 n(x) {. retur │ │ │ -00015830: 6e20 4d61 7468 2e73 7172 7428 7829 3b0a n Math.sqrt(x);. │ │ │ -00015840: 7d3b 0a65 7870 6f72 7473 2e70 7269 6d46 };.exports.primF │ │ │ -00015850: 6c6f 6174 4578 7020 3d20 6675 6e63 7469 loatExp = functi │ │ │ -00015860: 6f6e 2878 2920 7b0a 2020 2020 7265 7475 on(x) {. retu │ │ │ -00015870: 726e 204d 6174 682e 6578 7028 7829 3b0a rn Math.exp(x);. │ │ │ -00015880: 7d3b 0a65 7870 6f72 7473 2e70 7269 6d46 };.exports.primF │ │ │ -00015890: 6c6f 6174 4c6f 6720 3d20 6675 6e63 7469 loatLog = functi │ │ │ -000158a0: 6f6e 2878 2920 7b0a 2020 2020 7265 7475 on(x) {. retu │ │ │ -000158b0: 726e 204d 6174 682e 6c6f 6728 7829 3b0a rn Math.log(x);. │ │ │ -000158c0: 7d3b 0a65 7870 6f72 7473 2e70 7269 6d46 };.exports.primF │ │ │ -000158d0: 6c6f 6174 5369 6e20 3d20 6675 6e63 7469 loatSin = functi │ │ │ -000158e0: 6f6e 2878 2920 7b0a 2020 2020 7265 7475 on(x) {. retu │ │ │ -000158f0: 726e 204d 6174 682e 7369 6e28 7829 3b0a rn Math.sin(x);. │ │ │ -00015900: 7d3b 0a65 7870 6f72 7473 2e70 7269 6d46 };.exports.primF │ │ │ -00015910: 6c6f 6174 436f 7320 3d20 6675 6e63 7469 loatCos = functi │ │ │ -00015920: 6f6e 2878 2920 7b0a 2020 2020 7265 7475 on(x) {. retu │ │ │ -00015930: 726e 204d 6174 682e 636f 7328 7829 3b0a rn Math.cos(x);. │ │ │ -00015940: 7d3b 0a65 7870 6f72 7473 2e70 7269 6d46 };.exports.primF │ │ │ -00015950: 6c6f 6174 5461 6e20 3d20 6675 6e63 7469 loatTan = functi │ │ │ -00015960: 6f6e 2878 2920 7b0a 2020 2020 7265 7475 on(x) {. retu │ │ │ -00015970: 726e 204d 6174 682e 7461 6e28 7829 3b0a rn Math.tan(x);. │ │ │ -00015980: 7d3b 0a65 7870 6f72 7473 2e70 7269 6d46 };.exports.primF │ │ │ -00015990: 6c6f 6174 4153 696e 203d 2066 756e 6374 loatASin = funct │ │ │ -000159a0: 696f 6e28 7829 207b 0a20 2020 2072 6574 ion(x) {. ret │ │ │ -000159b0: 7572 6e20 4d61 7468 2e61 7369 6e28 7829 urn Math.asin(x) │ │ │ -000159c0: 3b0a 7d3b 0a65 7870 6f72 7473 2e70 7269 ;.};.exports.pri │ │ │ -000159d0: 6d46 6c6f 6174 4143 6f73 203d 2066 756e mFloatACos = fun │ │ │ -000159e0: 6374 696f 6e28 7829 207b 0a20 2020 2072 ction(x) {. r │ │ │ -000159f0: 6574 7572 6e20 4d61 7468 2e61 636f 7328 eturn Math.acos( │ │ │ -00015a00: 7829 3b0a 7d3b 0a65 7870 6f72 7473 2e70 x);.};.exports.p │ │ │ -00015a10: 7269 6d46 6c6f 6174 4154 616e 203d 2066 rimFloatATan = f │ │ │ -00015a20: 756e 6374 696f 6e28 7829 207b 0a20 2020 unction(x) {. │ │ │ -00015a30: 2072 6574 7572 6e20 4d61 7468 2e61 7461 return Math.ata │ │ │ -00015a40: 6e28 7829 3b0a 7d3b 0a65 7870 6f72 7473 n(x);.};.exports │ │ │ -00015a50: 2e70 7269 6d46 6c6f 6174 4154 616e 3220 .primFloatATan2 │ │ │ -00015a60: 3d20 6675 6e63 7469 6f6e 2878 2920 7b0a = function(x) {. │ │ │ -00015a70: 2020 2020 7265 7475 726e 2066 756e 6374 return funct │ │ │ -00015a80: 696f 6e28 7929 7b0a 2020 2020 2020 2020 ion(y){. │ │ │ -00015a90: 7265 7475 726e 204d 6174 682e 6174 616e return Math.atan │ │ │ -00015aa0: 3228 782c 2079 293b 0a20 2020 207d 3b0a 2(x, y);. };. │ │ │ -00015ab0: 7d3b 0a65 7870 6f72 7473 2e70 7269 6d46 };.exports.primF │ │ │ -00015ac0: 6c6f 6174 5369 6e68 203d 2066 756e 6374 loatSinh = funct │ │ │ -00015ad0: 696f 6e28 7829 207b 0a20 2020 2072 6574 ion(x) {. ret │ │ │ -00015ae0: 7572 6e20 4d61 7468 2e73 696e 6828 7829 urn Math.sinh(x) │ │ │ -00015af0: 3b0a 7d3b 0a65 7870 6f72 7473 2e70 7269 ;.};.exports.pri │ │ │ -00015b00: 6d46 6c6f 6174 436f 7368 203d 2066 756e mFloatCosh = fun │ │ │ -00015b10: 6374 696f 6e28 7829 207b 0a20 2020 2072 ction(x) {. r │ │ │ -00015b20: 6574 7572 6e20 4d61 7468 2e63 6f73 6828 eturn Math.cosh( │ │ │ -00015b30: 7829 3b0a 7d3b 0a65 7870 6f72 7473 2e70 x);.};.exports.p │ │ │ -00015b40: 7269 6d46 6c6f 6174 5461 6e68 203d 2066 rimFloatTanh = f │ │ │ -00015b50: 756e 6374 696f 6e28 7829 207b 0a20 2020 unction(x) {. │ │ │ -00015b60: 2072 6574 7572 6e20 4d61 7468 2e74 616e return Math.tan │ │ │ -00015b70: 6828 7829 3b0a 7d3b 0a65 7870 6f72 7473 h(x);.};.exports │ │ │ -00015b80: 2e70 7269 6d46 6c6f 6174 4153 696e 6820 .primFloatASinh │ │ │ -00015b90: 3d20 6675 6e63 7469 6f6e 2878 2920 7b0a = function(x) {. │ │ │ -00015ba0: 2020 2020 7265 7475 726e 204d 6174 682e return Math. │ │ │ -00015bb0: 6173 696e 6828 7829 3b0a 7d3b 0a65 7870 asinh(x);.};.exp │ │ │ -00015bc0: 6f72 7473 2e70 7269 6d46 6c6f 6174 4143 orts.primFloatAC │ │ │ -00015bd0: 6f73 6820 3d20 6675 6e63 7469 6f6e 2878 osh = function(x │ │ │ -00015be0: 2920 7b0a 2020 2020 7265 7475 726e 204d ) {. return M │ │ │ -00015bf0: 6174 682e 6163 6f73 6828 7829 3b0a 7d3b ath.acosh(x);.}; │ │ │ -00015c00: 0a65 7870 6f72 7473 2e70 7269 6d46 6c6f .exports.primFlo │ │ │ -00015c10: 6174 4154 616e 6820 3d20 6675 6e63 7469 atATanh = functi │ │ │ -00015c20: 6f6e 2878 2920 7b0a 2020 2020 7265 7475 on(x) {. retu │ │ │ -00015c30: 726e 204d 6174 682e 6174 616e 6828 7829 rn Math.atanh(x) │ │ │ -00015c40: 3b0a 7d3b 0a0a 2f2f 2043 7562 6963 616c ;.};..// Cubical │ │ │ -00015c50: 2070 7269 6d69 7469 7665 732e 0a65 7870 primitives..exp │ │ │ -00015c60: 6f72 7473 2e70 7269 6d49 4d69 6e20 3d20 orts.primIMin = │ │ │ -00015c70: 7820 3d3e 2079 203d 3e20 7820 2626 2079 x => y => x && y │ │ │ -00015c80: 3b0a 6578 706f 7274 732e 7072 696d 494d ;.exports.primIM │ │ │ -00015c90: 6178 203d 2078 203d 3e20 7920 3d3e 2078 ax = x => y => x │ │ │ -00015ca0: 207c 7c20 793b 0a65 7870 6f72 7473 2e70 || y;.exports.p │ │ │ -00015cb0: 7269 6d49 4e65 6720 3d20 7820 3d3e 2021 rimINeg = x => ! │ │ │ -00015cc0: 783b 0a65 7870 6f72 7473 2e70 7269 6d50 x;.exports.primP │ │ │ -00015cd0: 6172 7469 616c 203d 205f 203d 3e20 5f20 artial = _ => _ │ │ │ -00015ce0: 3d3e 2078 203d 3e20 783b 0a65 7870 6f72 => x => x;.expor │ │ │ -00015cf0: 7473 2e70 7269 6d50 6172 7469 616c 5020 ts.primPartialP │ │ │ -00015d00: 3d20 5f20 3d3e 205f 203d 3e20 7820 3d3e = _ => _ => x => │ │ │ -00015d10: 2078 3b0a 6578 706f 7274 732e 7072 696d x;.exports.prim │ │ │ -00015d20: 504f 7220 3d20 5f20 3d3e 2069 203d 3e20 POr = _ => i => │ │ │ -00015d30: 5f20 3d3e 205f 203d 3e20 7820 3d3e 2079 _ => _ => x => y │ │ │ -00015d40: 203d 3e20 6920 3f20 7820 3a20 793b 0a65 => i ? x : y;.e │ │ │ -00015d50: 7870 6f72 7473 2e70 7269 6d43 6f6d 7020 xports.primComp │ │ │ -00015d60: 3d20 5f20 3d3e 205f 203d 3e20 5f20 3d3e = _ => _ => _ => │ │ │ -00015d70: 205f 203d 3e20 7820 3d3e 2078 3b0a 6578 _ => x => x;.ex │ │ │ -00015d80: 706f 7274 732e 7072 696d 5472 616e 7370 ports.primTransp │ │ │ -00015d90: 203d 205f 203d 3e20 5f20 3d3e 205f 203d = _ => _ => _ = │ │ │ -00015da0: 3e20 7820 3d3e 2078 3b0a 6578 706f 7274 > x => x;.export │ │ │ -00015db0: 732e 7072 696d 4843 6f6d 7020 3d20 5f20 s.primHComp = _ │ │ │ -00015dc0: 3d3e 205f 203d 3e20 5f20 3d3e 205f 203d => _ => _ => _ = │ │ │ -00015dd0: 3e20 7820 3d3e 2078 3b0a 6578 706f 7274 > x => x;.export │ │ │ -00015de0: 732e 7072 696d 5375 624f 7574 203d 205f s.primSubOut = _ │ │ │ -00015df0: 203d 3e20 5f20 3d3e 205f 203d 3e20 5f20 => _ => _ => _ │ │ │ -00015e00: 3d3e 2078 203d 3e20 783b 0a65 7870 6f72 => x => x;.expor │ │ │ -00015e10: 7473 2e70 7269 6d5f 676c 7565 5520 3d20 ts.prim_glueU = │ │ │ -00015e20: 5f20 3d3e 205f 203d 3e20 5f20 3d3e 205f _ => _ => _ => _ │ │ │ -00015e30: 203d 3e20 5f20 3d3e 2078 203d 3e20 783b => _ => x => x; │ │ │ -00015e40: 0a65 7870 6f72 7473 2e70 7269 6d5f 756e .exports.prim_un │ │ │ -00015e50: 676c 7565 5520 3d20 5f20 3d3e 205f 203d glueU = _ => _ = │ │ │ -00015e60: 3e20 5f20 3d3e 205f 203d 3e20 7820 3d3e > _ => _ => x => │ │ │ -00015e70: 2078 3b0a 6578 706f 7274 732e 7072 696d x;.exports.prim │ │ │ -00015e80: 4661 6365 466f 7261 6c6c 203d 2066 203d FaceForall = f = │ │ │ -00015e90: 3e20 6628 7472 7565 2920 3d3d 2074 7275 > f(true) == tru │ │ │ -00015ea0: 6520 2626 2066 2866 616c 7365 2920 3d3d e && f(false) == │ │ │ -00015eb0: 2066 616c 7365 3b0a 0a2f 2f20 4f74 6865 false;..// Othe │ │ │ -00015ec0: 7220 7374 7566 660a 0a2f 2f20 7072 696d r stuff..// prim │ │ │ -00015ed0: 5365 7120 3a20 2858 2c20 5929 202d 3e20 Seq : (X, Y) -> │ │ │ -00015ee0: 590a 6578 706f 7274 732e 7072 696d 5365 Y.exports.primSe │ │ │ -00015ef0: 7120 3d20 2878 2c20 7929 203d 3e20 793b q = (x, y) => y; │ │ │ -00015f00: 0a0a 2f2f 2075 7072 696d 514e 616d 6545 ..// uprimQNameE │ │ │ -00015f10: 7175 616c 6974 7920 3a20 284e 616d 652c quality : (Name, │ │ │ -00015f20: 204e 616d 6529 202d 3e20 426f 6f6c 0a65 Name) -> Bool.e │ │ │ -00015f30: 7870 6f72 7473 2e75 7072 696d 514e 616d xports.uprimQNam │ │ │ -00015f40: 6545 7175 616c 6974 7920 3d20 2878 2c20 eEquality = (x, │ │ │ -00015f50: 7929 203d 3e20 785b 2769 6427 5d20 3d3d y) => x['id'] == │ │ │ -00015f60: 3d20 795b 2769 6427 5d20 2626 2078 5b27 = y['id'] && x[' │ │ │ -00015f70: 6d6f 6475 6c65 4964 275d 203d 3d3d 2079 moduleId'] === y │ │ │ -00015f80: 5b27 6d6f 6475 6c65 4964 275d 3b0a 0a2f ['moduleId'];../ │ │ │ -00015f90: 2f20 7072 696d 514e 616d 6545 7175 616c / primQNameEqual │ │ │ -00015fa0: 6974 7920 3a20 4e61 6d65 202d 3e20 4e61 ity : Name -> Na │ │ │ -00015fb0: 6d65 202d 3e20 426f 6f6c 0a65 7870 6f72 me -> Bool.expor │ │ │ -00015fc0: 7473 2e70 7269 6d51 4e61 6d65 4571 7561 ts.primQNameEqua │ │ │ -00015fd0: 6c69 7479 203d 2078 203d 3e20 7920 3d3e lity = x => y => │ │ │ -00015fe0: 2065 7870 6f72 7473 2e75 7072 696d 514e exports.uprimQN │ │ │ -00015ff0: 616d 6545 7175 616c 6974 7928 782c 2079 ameEquality(x, y │ │ │ -00016000: 293b 0a0a 2f2f 2070 7269 6d51 4e61 6d65 );..// primQName │ │ │ -00016010: 4c65 7373 203a 204e 616d 6520 2d3e 204e Less : Name -> N │ │ │ -00016020: 616d 6520 2d3e 2042 6f6f 6c0a 6578 706f ame -> Bool.expo │ │ │ -00016030: 7274 732e 7072 696d 514e 616d 654c 6573 rts.primQNameLes │ │ │ -00016040: 7320 3d20 7820 3d3e 2079 203d 3e20 785b s = x => y => x[ │ │ │ -00016050: 2769 6427 5d20 3d3d 3d20 795b 2769 6427 'id'] === y['id' │ │ │ -00016060: 5d20 3f20 785b 276d 6f64 756c 6549 6427 ] ? x['moduleId' │ │ │ -00016070: 5d20 3c20 795b 276d 6f64 756c 6549 6427 ] < y['moduleId' │ │ │ -00016080: 5d20 3a20 785b 2769 6427 5d20 3c20 795b ] : x['id'] < y[ │ │ │ -00016090: 2769 6427 5d3b 0a0a 2f2f 2070 7269 6d53 'id'];..// primS │ │ │ -000160a0: 686f 7751 4e61 6d65 203a 204e 616d 6520 howQName : Name │ │ │ -000160b0: 2d3e 2053 7472 696e 670a 6578 706f 7274 -> String.export │ │ │ -000160c0: 732e 7072 696d 5368 6f77 514e 616d 6520 s.primShowQName │ │ │ -000160d0: 3d20 7820 3d3e 2078 5b27 6e61 6d65 275d = x => x['name'] │ │ │ -000160e0: 3b0a 0a2f 2f20 7072 696d 514e 616d 6546 ;..// primQNameF │ │ │ -000160f0: 6978 6974 7920 3a20 4e61 6d65 202d 3e20 ixity : Name -> │ │ │ -00016100: 4669 7869 7479 0a65 7870 6f72 7473 2e70 Fixity.exports.p │ │ │ -00016110: 7269 6d51 4e61 6d65 4669 7869 7479 203d rimQNameFixity = │ │ │ -00016120: 2078 203d 3e20 785b 2766 6978 6974 7927 x => x['fixity' │ │ │ -00016130: 5d3b 0a0a 2f2f 204d 6574 610a 0a2f 2f20 ];..// Meta..// │ │ │ -00016140: 7072 696d 5368 6f77 4d65 7461 203a 204d primShowMeta : M │ │ │ -00016150: 6574 6120 2d3e 2053 7472 696e 670a 2f2f eta -> String.// │ │ │ -00016160: 2020 2053 686f 756c 6420 6265 206b 6570 Should be kep │ │ │ -00016170: 7420 696e 2073 796e 6320 7769 7468 2076 t in sync with v │ │ │ -00016180: 6572 7369 6f6e 2069 6e20 6070 7269 6d69 ersion in `primi │ │ │ -00016190: 7469 7665 4675 6e63 7469 6f6e 7360 2069 tiveFunctions` i │ │ │ -000161a0: 6e0a 2f2f 2020 2041 6764 612e 5479 7065 n.// Agda.Type │ │ │ -000161b0: 4368 6563 6b69 6e67 2e50 7269 6d69 7469 Checking.Primiti │ │ │ -000161c0: 7665 0a65 7870 6f72 7473 2e70 7269 6d53 ve.exports.primS │ │ │ -000161d0: 686f 774d 6574 6120 3d20 7820 3d3e 2022 howMeta = x => " │ │ │ -000161e0: 5f22 202b 2078 5b27 6964 275d 202b 2022 _" + x['id'] + " │ │ │ -000161f0: 4022 202b 2078 5b27 6d6f 6475 6c65 275d @" + x['module'] │ │ │ -00016200: 3b0a 0a2f 2f20 7072 696d 4d65 7461 546f ;..// primMetaTo │ │ │ -00016210: 4e61 7420 3a20 4d65 7461 202d 3e20 4e61 Nat : Meta -> Na │ │ │ -00016220: 740a 2f2f 2020 2053 686f 756c 6420 6265 t.// Should be │ │ │ -00016230: 206b 6570 7420 696e 2073 796e 6320 7769 kept in sync wi │ │ │ -00016240: 7468 2060 6d65 7461 546f 4e61 7460 2069 th `metaToNat` i │ │ │ -00016250: 6e20 4167 6461 2e54 7970 6543 6865 636b n Agda.TypeCheck │ │ │ -00016260: 696e 672e 5072 696d 6974 6976 650a 6578 ing.Primitive.ex │ │ │ -00016270: 706f 7274 732e 7072 696d 4d65 7461 546f ports.primMetaTo │ │ │ -00016280: 4e61 7420 3d20 7820 3d3e 2078 5b27 6d6f Nat = x => x['mo │ │ │ -00016290: 6475 6c65 275d 202a 2032 5e36 3420 2b20 dule'] * 2^64 + │ │ │ -000162a0: 785b 2769 6427 5d3b 0a0a 2f2f 2070 7269 x['id'];..// pri │ │ │ -000162b0: 6d4d 6574 6145 7175 616c 6974 7920 3a20 mMetaEquality : │ │ │ -000162c0: 4d65 7461 202d 3e20 4d65 7461 202d 3e20 Meta -> Meta -> │ │ │ -000162d0: 426f 6f6c 0a65 7870 6f72 7473 2e70 7269 Bool.exports.pri │ │ │ -000162e0: 6d4d 6574 6145 7175 616c 6974 7920 3d20 mMetaEquality = │ │ │ -000162f0: 7820 3d3e 2079 203d 3e20 785b 2769 6427 x => y => x['id' │ │ │ -00016300: 5d20 3d3d 3d20 795b 2769 6427 5d20 2626 ] === y['id'] && │ │ │ -00016310: 2078 5b27 6d6f 6475 6c65 275d 203d 3d3d x['module'] === │ │ │ -00016320: 2079 5b27 6d6f 6475 6c65 275d 3b0a 0a2f y['module'];../ │ │ │ -00016330: 2f20 7072 696d 4d65 7461 4c65 7373 203a / primMetaLess : │ │ │ -00016340: 204d 6574 6120 2d3e 204d 6574 6120 2d3e Meta -> Meta -> │ │ │ -00016350: 2042 6f6f 6c0a 6578 706f 7274 732e 7072 Bool.exports.pr │ │ │ -00016360: 696d 4d65 7461 4c65 7373 203d 2078 203d imMetaLess = x = │ │ │ -00016370: 3e20 7920 3d3e 2078 5b27 6964 275d 203d > y => x['id'] = │ │ │ -00016380: 3d3d 2079 5b27 6964 275d 203f 2078 5b27 == y['id'] ? x[' │ │ │ -00016390: 6d6f 6475 6c65 275d 203c 2079 5b27 6d6f module'] < y['mo │ │ │ -000163a0: 6475 6c65 275d 203a 2078 5b27 6964 275d dule'] : x['id'] │ │ │ -000163b0: 203c 2079 5b27 6964 275d 3b0a 0a65 7870 < y['id'];..exp │ │ │ -000163c0: 6f72 7420 6465 6661 756c 7420 6578 706f ort default expo │ │ │ -000163d0: 7274 733b 0aa8 b19c d29d a2c0 8b27 e088 rts;.........'.. │ │ │ -000163e0: b5f6 90ff d68f e501 0082 0100 0164 1205 .............d.. │ │ │ -000163f0: 2000 0001 0004 0408 0307 025e 0200 0003 ..........^.... │ │ │ -00016400: 0f00 0505 050b 5f0b 9501 0b61 0906 0100 ......_....a.... │ │ │ -00016410: b50a d282 b7ab e39c c0ae c001 99f3 d5a7 ................ │ │ │ -00016420: ffa4 d3a5 c901 0095 0100 0169 7a05 8280 ...........iz... │ │ │ -00016430: 80e6 0800 0001 0003 0407 0402 0000 030f ................ │ │ │ -00016440: 0009 01b5 0a2f 2f20 436f 7079 7269 6768 .....// Copyrigh │ │ │ -00016450: 7420 3230 3233 2c20 416e 6472 6561 7320 t 2023, Andreas │ │ │ -00016460: 4162 656c 2e0a 2f2f 2046 616c 6c73 2075 Abel..// Falls u │ │ │ -00016470: 6e64 6572 2074 6865 2041 6764 6120 6c69 nder the Agda li │ │ │ -00016480: 6365 6e73 6520 6174 2068 7474 7073 3a2f cense at https:/ │ │ │ -00016490: 2f67 6974 6875 622e 636f 6d2f 6167 6461 /github.com/agda │ │ │ -000164a0: 2f61 6764 612f 626c 6f62 2f6d 6173 7465 /agda/blob/maste │ │ │ -000164b0: 722f 4c49 4345 4e53 450a 0a2f 2f20 5768 r/LICENSE..// Wh │ │ │ -000164c0: 656e 2077 6520 686f 7665 7220 6f76 6572 en we hover over │ │ │ -000164d0: 2061 6e20 4167 6461 2069 6465 6e74 6966 an Agda identif │ │ │ -000164e0: 6965 722c 2077 6520 6869 6768 6c69 6768 ier, we highligh │ │ │ -000164f0: 7420 616c 6c20 6f63 6375 7272 656e 6365 t all occurrence │ │ │ -00016500: 7320 6f66 2074 6869 7320 6964 656e 7469 s of this identi │ │ │ -00016510: 6669 6572 206f 6e20 7468 6520 7061 6765 fier on the page │ │ │ -00016520: 2e0a 2f2f 2054 6f20 7468 6973 2065 6e64 ..// To this end │ │ │ -00016530: 2c20 7765 2063 7265 6174 6520 6120 6d61 , we create a ma │ │ │ -00016540: 7020 6672 6f6d 2069 6465 6e74 6966 6965 p from identifie │ │ │ -00016550: 7220 746f 2061 6c6c 206f 6620 6974 7320 r to all of its │ │ │ -00016560: 6f63 6375 7272 656e 6365 7320 696e 2074 occurrences in t │ │ │ -00016570: 6865 2062 6567 696e 6e69 6e67 2e0a 0a2f he beginning.../ │ │ │ -00016580: 2f20 4120 6469 6374 696f 6e61 7279 2066 / A dictionary f │ │ │ -00016590: 726f 6d20 6872 6566 7320 746f 2027 6127 rom hrefs to 'a' │ │ │ -000165a0: 2d65 6c65 6d65 6e74 7320 7468 6174 2068 -elements that h │ │ │ -000165b0: 6176 6520 7468 6973 2068 7265 662e 0a63 ave this href..c │ │ │ -000165c0: 6f6e 7374 2064 6963 7420 3d20 6e65 7720 onst dict = new │ │ │ -000165d0: 4d61 7028 293b 0a0a 7769 6e64 6f77 2e6f Map();..window.o │ │ │ -000165e0: 6e6c 6f61 6420 3d20 6675 6e63 7469 6f6e nload = function │ │ │ -000165f0: 2028 2920 7b0a 0a20 202f 2f20 4765 7420 () {.. // Get │ │ │ -00016600: 616c 6c20 2761 2720 7461 6773 2077 6974 all 'a' tags wit │ │ │ -00016610: 6820 616e 2027 6872 6566 2720 6174 7472 h an 'href' attr │ │ │ -00016620: 6962 7574 652e 0a20 202f 2f20 5765 2063 ibute.. // We c │ │ │ -00016630: 616c 6c20 7468 6f73 6520 226f 626a 6563 all those "objec │ │ │ -00016640: 7473 222e 0a20 2063 6f6e 7374 206f 626a ts".. const obj │ │ │ -00016650: 7320 203d 2064 6f63 756d 656e 742e 7175 s = document.qu │ │ │ -00016660: 6572 7953 656c 6563 746f 7241 6c6c 2827 erySelectorAll(' │ │ │ -00016670: 615b 6872 6566 5d27 293b 0a0a 2020 2f2f a[href]');.. // │ │ │ -00016680: 2042 7569 6c64 2061 2064 6963 7469 6f6e Build a diction │ │ │ -00016690: 6172 7920 6d61 7070 696e 6720 6120 6872 ary mapping a hr │ │ │ -000166a0: 6566 2074 6f20 6120 7365 7420 6f66 206f ef to a set of o │ │ │ -000166b0: 626a 6563 7473 2074 6861 7420 6861 7665 bjects that have │ │ │ -000166c0: 2074 6869 7320 6872 6566 2e0a 2020 666f this href.. fo │ │ │ -000166d0: 7220 2863 6f6e 7374 206f 626a 206f 6620 r (const obj of │ │ │ -000166e0: 6f62 6a73 2920 7b0a 2020 2020 636f 6e73 objs) {. cons │ │ │ -000166f0: 7420 6b65 7920 3d20 6f62 6a2e 6872 6566 t key = obj.href │ │ │ -00016700: 3b0a 2020 2020 636f 6e73 7420 7365 7420 ;. const set │ │ │ -00016710: 3d20 6469 6374 2e67 6574 286b 6579 2920 = dict.get(key) │ │ │ -00016720: 3f3f 206e 6577 2053 6574 2829 3b0a 2020 ?? new Set();. │ │ │ -00016730: 2020 7365 742e 6164 6428 6f62 6a29 3b0a set.add(obj);. │ │ │ -00016740: 2020 2020 6469 6374 2e73 6574 286b 6579 dict.set(key │ │ │ -00016750: 2c20 7365 7429 3b0a 2020 7d0a 0a20 202f , set);. }.. / │ │ │ -00016760: 2f20 496e 7374 616c 6c20 276f 6e6d 6f75 / Install 'onmou │ │ │ -00016770: 7365 6f76 6572 2720 616e 6420 276f 6e6d seover' and 'onm │ │ │ -00016780: 6f75 7365 6f75 7427 2065 7665 6e74 2068 ouseout' event h │ │ │ -00016790: 616e 646c 6572 7320 666f 7220 616c 6c20 andlers for all │ │ │ -000167a0: 6f62 6a65 6374 732e 0a20 2066 6f72 2028 objects.. for ( │ │ │ -000167b0: 636f 6e73 7420 6f62 6a20 6f66 206f 626a const obj of obj │ │ │ -000167c0: 7329 207b 0a20 2020 202f 2f20 276f 6e6d s) {. // 'onm │ │ │ -000167d0: 6f75 7365 6f76 6572 2720 666f 7220 616e ouseover' for an │ │ │ -000167e0: 206f 626a 6563 7420 6164 6473 2061 7474 object adds att │ │ │ -000167f0: 7269 6275 7465 2027 686f 7665 722d 6869 ribute 'hover-hi │ │ │ -00016800: 6768 6c69 6768 7427 2074 6f20 616c 6c20 ghlight' to all │ │ │ -00016810: 6f62 6a65 6374 7320 7769 7468 2074 6865 objects with the │ │ │ -00016820: 2073 616d 6520 6872 6566 2e0a 2020 2020 same href.. │ │ │ -00016830: 6f62 6a2e 6f6e 6d6f 7573 656f 7665 7220 obj.onmouseover │ │ │ -00016840: 3d20 6675 6e63 7469 6f6e 2028 2920 7b0a = function () {. │ │ │ -00016850: 2020 2020 2020 666f 7220 2863 6f6e 7374 for (const │ │ │ -00016860: 206f 206f 6620 6469 6374 2e67 6574 2874 o of dict.get(t │ │ │ -00016870: 6869 732e 6872 6566 2929 207b 206f 2e63 his.href)) { o.c │ │ │ -00016880: 6c61 7373 4c69 7374 2e61 6464 2827 686f lassList.add('ho │ │ │ -00016890: 7665 722d 6869 6768 6c69 6768 7427 293b ver-highlight'); │ │ │ -000168a0: 207d 0a20 2020 207d 0a20 2020 202f 2f20 }. }. // │ │ │ -000168b0: 276f 6e6d 6f75 7365 6f76 6572 2720 7265 'onmouseover' re │ │ │ -000168c0: 6d6f 7665 7320 7468 6520 6164 6465 6420 moves the added │ │ │ -000168d0: 2768 6f76 6572 2d68 6967 686c 6967 6874 'hover-highlight │ │ │ -000168e0: 2720 6174 7472 6962 7574 6573 2061 6761 ' attributes aga │ │ │ -000168f0: 696e 2e0a 2020 2020 6f62 6a2e 6f6e 6d6f in.. obj.onmo │ │ │ -00016900: 7573 656f 7574 203d 2066 756e 6374 696f useout = functio │ │ │ -00016910: 6e20 2829 207b 0a20 2020 2020 2066 6f72 n () {. for │ │ │ -00016920: 2028 636f 6e73 7420 6f20 6f66 2064 6963 (const o of dic │ │ │ -00016930: 742e 6765 7428 7468 6973 2e68 7265 6629 t.get(this.href) │ │ │ -00016940: 2920 7b20 6f2e 636c 6173 734c 6973 742e ) { o.classList. │ │ │ -00016950: 7265 6d6f 7665 2827 686f 7665 722d 6869 remove('hover-hi │ │ │ -00016960: 6768 6c69 6768 7427 293b 207d 0a20 2020 ghlight'); }. │ │ │ -00016970: 207d 0a20 207d 0a7d 3b0a eec4 a79f efdf }. }.};....... │ │ │ -00016980: a9a1 8101 b0ef d6e0 dfdf 8c94 5d00 7600 ............].v. │ │ │ -00016990: 0169 b605 2000 0001 0004 0408 0307 025e .i.. ..........^ │ │ │ -000169a0: 0200 0003 0f00 0505 050b 5f0b 9601 0b61 .........._....a │ │ │ -000169b0: 0906 0100 b20e 88fa 8ea4 c5cf b8e5 59ae ..............Y. │ │ │ -000169c0: 8292 a7ef b5b0 b24b 0096 0100 0171 1905 .......K.....q.. │ │ │ -000169d0: 8280 80e6 0800 0001 0003 0407 0402 0000 ................ │ │ │ -000169e0: 030f 0009 01b2 0e2f 2a20 4173 7065 6374 ......./* Aspect │ │ │ -000169f0: 732e 202a 2f0a 2e41 6764 6120 2e43 6f6d s. */..Agda .Com │ │ │ -00016a00: 6d65 6e74 2020 2020 2020 207b 2063 6f6c ment { col │ │ │ -00016a10: 6f72 3a20 2342 3232 3232 3220 7d0a 2e41 or: #B22222 }..A │ │ │ -00016a20: 6764 6120 2e42 6163 6b67 726f 756e 6420 gda .Background │ │ │ -00016a30: 2020 207b 7d0a 2e41 6764 6120 2e4d 6172 {}..Agda .Mar │ │ │ -00016a40: 6b75 7020 2020 2020 2020 207b 2063 6f6c kup { col │ │ │ -00016a50: 6f72 3a20 2330 3030 3030 3020 7d0a 2e41 or: #000000 }..A │ │ │ -00016a60: 6764 6120 2e4b 6579 776f 7264 2020 2020 gda .Keyword │ │ │ -00016a70: 2020 207b 2063 6f6c 6f72 3a20 2343 4436 { color: #CD6 │ │ │ -00016a80: 3630 3020 7d0a 2e41 6764 6120 2e53 7472 600 }..Agda .Str │ │ │ -00016a90: 696e 6720 2020 2020 2020 207b 2063 6f6c ing { col │ │ │ -00016aa0: 6f72 3a20 2342 3232 3232 3220 7d0a 2e41 or: #B22222 }..A │ │ │ -00016ab0: 6764 6120 2e4e 756d 6265 7220 2020 2020 gda .Number │ │ │ -00016ac0: 2020 207b 2063 6f6c 6f72 3a20 2341 3032 { color: #A02 │ │ │ -00016ad0: 3046 3020 7d0a 2e41 6764 6120 2e53 796d 0F0 }..Agda .Sym │ │ │ -00016ae0: 626f 6c20 2020 2020 2020 207b 2063 6f6c bol { col │ │ │ -00016af0: 6f72 3a20 2334 3034 3034 3020 7d0a 2e41 or: #404040 }..A │ │ │ -00016b00: 6764 6120 2e50 7269 6d69 7469 7665 5479 gda .PrimitiveTy │ │ │ -00016b10: 7065 207b 2063 6f6c 6f72 3a20 2330 3030 pe { color: #000 │ │ │ -00016b20: 3043 4420 7d0a 2e41 6764 6120 2e50 7261 0CD }..Agda .Pra │ │ │ -00016b30: 676d 6120 2020 2020 2020 207b 2063 6f6c gma { col │ │ │ -00016b40: 6f72 3a20 626c 6163 6b20 2020 7d0a 2e41 or: black }..A │ │ │ -00016b50: 6764 6120 2e4f 7065 7261 746f 7220 2020 gda .Operator │ │ │ -00016b60: 2020 207b 7d0a 2e41 6764 6120 2e48 6f6c {}..Agda .Hol │ │ │ -00016b70: 6520 2020 2020 2020 2020 207b 2062 6163 e { bac │ │ │ -00016b80: 6b67 726f 756e 643a 2023 4234 4545 4234 kground: #B4EEB4 │ │ │ -00016b90: 207d 0a0a 2f2a 204e 616d 654b 696e 6473 }../* NameKinds │ │ │ -00016ba0: 2e20 2a2f 0a2e 4167 6461 202e 426f 756e . */..Agda .Boun │ │ │ -00016bb0: 6420 2020 2020 2020 2020 2020 2020 2020 d │ │ │ -00016bc0: 2020 207b 2063 6f6c 6f72 3a20 626c 6163 { color: blac │ │ │ -00016bd0: 6b20 2020 7d0a 2e41 6764 6120 2e47 656e k }..Agda .Gen │ │ │ -00016be0: 6572 616c 697a 6162 6c65 2020 2020 2020 eralizable │ │ │ -00016bf0: 2020 2020 7b20 636f 6c6f 723a 2062 6c61 { color: bla │ │ │ -00016c00: 636b 2020 207d 0a2e 4167 6461 202e 496e ck }..Agda .In │ │ │ -00016c10: 6475 6374 6976 6543 6f6e 7374 7275 6374 ductiveConstruct │ │ │ -00016c20: 6f72 2020 207b 2063 6f6c 6f72 3a20 2330 or { color: #0 │ │ │ -00016c30: 3038 4230 3020 7d0a 2e41 6764 6120 2e43 08B00 }..Agda .C │ │ │ -00016c40: 6f69 6e64 7563 7469 7665 436f 6e73 7472 oinductiveConstr │ │ │ -00016c50: 7563 746f 7220 7b20 636f 6c6f 723a 2023 uctor { color: # │ │ │ -00016c60: 3842 3735 3030 207d 0a2e 4167 6461 202e 8B7500 }..Agda . │ │ │ -00016c70: 4461 7461 7479 7065 2020 2020 2020 2020 Datatype │ │ │ -00016c80: 2020 2020 2020 207b 2063 6f6c 6f72 3a20 { color: │ │ │ -00016c90: 2330 3030 3043 4420 7d0a 2e41 6764 6120 #0000CD }..Agda │ │ │ -00016ca0: 2e46 6965 6c64 2020 2020 2020 2020 2020 .Field │ │ │ -00016cb0: 2020 2020 2020 2020 7b20 636f 6c6f 723a { color: │ │ │ -00016cc0: 2023 4545 3132 3839 207d 0a2e 4167 6461 #EE1289 }..Agda │ │ │ -00016cd0: 202e 4675 6e63 7469 6f6e 2020 2020 2020 .Function │ │ │ -00016ce0: 2020 2020 2020 2020 207b 2063 6f6c 6f72 { color │ │ │ -00016cf0: 3a20 2330 3030 3043 4420 7d0a 2e41 6764 : #0000CD }..Agd │ │ │ -00016d00: 6120 2e4d 6163 726f 2020 2020 2020 2020 a .Macro │ │ │ -00016d10: 2020 2020 2020 2020 2020 7b20 636f 6c6f { colo │ │ │ -00016d20: 723a 2023 3030 3030 4344 207d 0a2e 4167 r: #0000CD }..Ag │ │ │ -00016d30: 6461 202e 4d6f 6475 6c65 2020 2020 2020 da .Module │ │ │ -00016d40: 2020 2020 2020 2020 2020 207b 2063 6f6c { col │ │ │ -00016d50: 6f72 3a20 2341 3032 3046 3020 7d0a 2e41 or: #A020F0 }..A │ │ │ -00016d60: 6764 6120 2e50 6f73 7475 6c61 7465 2020 gda .Postulate │ │ │ -00016d70: 2020 2020 2020 2020 2020 2020 7b20 636f { co │ │ │ -00016d80: 6c6f 723a 2023 3030 3030 4344 207d 0a2e lor: #0000CD }.. │ │ │ -00016d90: 4167 6461 202e 5072 696d 6974 6976 6520 Agda .Primitive │ │ │ -00016da0: 2020 2020 2020 2020 2020 2020 207b 2063 { c │ │ │ -00016db0: 6f6c 6f72 3a20 2330 3030 3043 4420 7d0a olor: #0000CD }. │ │ │ -00016dc0: 2e41 6764 6120 2e52 6563 6f72 6420 2020 .Agda .Record │ │ │ -00016dd0: 2020 2020 2020 2020 2020 2020 2020 7b20 { │ │ │ -00016de0: 636f 6c6f 723a 2023 3030 3030 4344 207d color: #0000CD } │ │ │ -00016df0: 0a0a 2f2a 204f 7468 6572 4173 7065 6374 ../* OtherAspect │ │ │ -00016e00: 732e 202a 2f0a 2e41 6764 6120 2e44 6f74 s. */..Agda .Dot │ │ │ -00016e10: 7465 6450 6174 7465 726e 2020 2020 2020 tedPattern │ │ │ -00016e20: 2020 7b7d 0a2e 4167 6461 202e 556e 736f {}..Agda .Unso │ │ │ -00016e30: 6c76 6564 4d65 7461 2020 2020 2020 2020 lvedMeta │ │ │ -00016e40: 207b 2063 6f6c 6f72 3a20 626c 6163 6b3b { color: black; │ │ │ -00016e50: 2062 6163 6b67 726f 756e 643a 2079 656c background: yel │ │ │ -00016e60: 6c6f 7720 2020 2020 2020 2020 7d0a 2e41 low }..A │ │ │ -00016e70: 6764 6120 2e55 6e73 6f6c 7665 6443 6f6e gda .UnsolvedCon │ │ │ -00016e80: 7374 7261 696e 7420 2020 7b20 636f 6c6f straint { colo │ │ │ -00016e90: 723a 2062 6c61 636b 3b20 6261 636b 6772 r: black; backgr │ │ │ -00016ea0: 6f75 6e64 3a20 7965 6c6c 6f77 2020 2020 ound: yellow │ │ │ -00016eb0: 2020 2020 207d 0a2e 4167 6461 202e 5465 }..Agda .Te │ │ │ -00016ec0: 726d 696e 6174 696f 6e50 726f 626c 656d rminationProblem │ │ │ -00016ed0: 2020 207b 2063 6f6c 6f72 3a20 626c 6163 { color: blac │ │ │ -00016ee0: 6b3b 2062 6163 6b67 726f 756e 643a 2023 k; background: # │ │ │ -00016ef0: 4646 4130 3741 2020 2020 2020 2020 7d0a FFA07A }. │ │ │ -00016f00: 2e41 6764 6120 2e49 6e63 6f6d 706c 6574 .Agda .Incomplet │ │ │ -00016f10: 6550 6174 7465 726e 2020 2020 7b20 636f ePattern { co │ │ │ -00016f20: 6c6f 723a 2062 6c61 636b 3b20 6261 636b lor: black; back │ │ │ -00016f30: 6772 6f75 6e64 3a20 2346 3544 4542 3320 ground: #F5DEB3 │ │ │ -00016f40: 2020 2020 2020 207d 0a2e 4167 6461 202e }..Agda . │ │ │ -00016f50: 4572 726f 7220 2020 2020 2020 2020 2020 Error │ │ │ -00016f60: 2020 2020 207b 2063 6f6c 6f72 3a20 7265 { color: re │ │ │ -00016f70: 643b 2020 2074 6578 742d 6465 636f 7261 d; text-decora │ │ │ -00016f80: 7469 6f6e 3a20 756e 6465 726c 696e 6520 tion: underline │ │ │ -00016f90: 7d0a 2e41 6764 6120 2e54 7970 6543 6865 }..Agda .TypeChe │ │ │ -00016fa0: 636b 7320 2020 2020 2020 2020 2020 7b20 cks { │ │ │ -00016fb0: 636f 6c6f 723a 2062 6c61 636b 3b20 6261 color: black; ba │ │ │ -00016fc0: 636b 6772 6f75 6e64 3a20 2341 4444 3845 ckground: #ADD8E │ │ │ -00016fd0: 3620 2020 2020 2020 207d 0a2e 4167 6461 6 }..Agda │ │ │ -00016fe0: 202e 4465 6164 636f 6465 2020 2020 2020 .Deadcode │ │ │ -00016ff0: 2020 2020 2020 207b 2063 6f6c 6f72 3a20 { color: │ │ │ -00017000: 626c 6163 6b3b 2062 6163 6b67 726f 756e black; backgroun │ │ │ -00017010: 643a 2023 3830 3830 3830 2020 2020 2020 d: #808080 │ │ │ -00017020: 2020 7d0a 2e41 6764 6120 2e53 6861 646f }..Agda .Shado │ │ │ -00017030: 7769 6e67 496e 5465 6c65 7363 6f70 6520 wingInTelescope │ │ │ -00017040: 7b20 636f 6c6f 723a 2062 6c61 636b 3b20 { color: black; │ │ │ -00017050: 6261 636b 6772 6f75 6e64 3a20 2338 3038 background: #808 │ │ │ -00017060: 3038 3020 2020 2020 2020 207d 0a0a 2f2a 080 }../* │ │ │ -00017070: 2053 7461 6e64 6172 6420 6174 7472 6962 Standard attrib │ │ │ -00017080: 7574 6573 2e20 2a2f 0a2e 4167 6461 2061 utes. */..Agda a │ │ │ -00017090: 207b 2074 6578 742d 6465 636f 7261 7469 { text-decorati │ │ │ -000170a0: 6f6e 3a20 6e6f 6e65 207d 0a2e 4167 6461 on: none }..Agda │ │ │ -000170b0: 2061 5b68 7265 665d 3a68 6f76 6572 207b a[href]:hover { │ │ │ -000170c0: 2062 6163 6b67 726f 756e 642d 636f 6c6f background-colo │ │ │ -000170d0: 723a 2023 4234 4545 4234 207d 0a2e 4167 r: #B4EEB4 }..Ag │ │ │ -000170e0: 6461 205b 6872 6566 5d2e 686f 7665 722d da [href].hover- │ │ │ -000170f0: 6869 6768 6c69 6768 7420 7b20 6261 636b highlight { back │ │ │ -00017100: 6772 6f75 6e64 2d63 6f6c 6f72 3a20 2342 ground-color: #B │ │ │ -00017110: 3445 4542 343b 207d 0aa3 acee e5cd f5c3 4EEB4; }........ │ │ │ -00017120: 88ec 01e4 b0c6 b2fe d89f b22a 008f 0100 ...........*.... │ │ │ -00017130: 0171 6a05 b480 80e6 0800 0000 0520 0000 .qj.......... .. │ │ │ -00017140: 0100 0100 0404 0803 0702 8680 80ec 0802 ................ │ │ │ -00017150: 0000 030f 0005 0505 0b87 8080 ec08 0105 ................ │ │ │ -00017160: 2000 0001 0b92 010b 9701 8594 d5d5 9cd6 ............... │ │ │ -00017170: 9641 e989 dcf6 c4ca e7c0 e901 006a 0001 .A...........j.. │ │ │ -00017180: 71a5 0520 0000 0100 0404 0803 0702 5e02 q.. ..........^. │ │ │ -00017190: 0000 030f 0005 0505 0b5f 0b98 010b 6109 ........._....a. │ │ │ -000171a0: 0601 00f0 0195 dcf7 d49e aced aac4 01fb ................ │ │ │ -000171b0: ee89 92d4 c7d3 f77f 0098 0100 0172 c705 .............r.. │ │ │ -000171c0: 8280 80e6 0800 0001 0003 0407 0402 0000 ................ │ │ │ -000171d0: 030f 0009 01f0 0128 6465 6669 6e65 2d70 .......(define-p │ │ │ -000171e0: 6163 6b61 6765 2022 6167 6461 322d 6d6f ackage "agda2-mo │ │ │ -000171f0: 6465 2220 2232 2e38 2e30 220a 2020 2269 de" "2.8.0". "i │ │ │ -00017200: 6e74 6572 6163 7469 7665 2064 6576 656c nteractive devel │ │ │ -00017210: 6f70 6d65 6e74 2066 6f72 2041 6764 612c opment for Agda, │ │ │ -00017220: 2061 2064 6570 656e 6465 6e74 6c79 2074 a dependently t │ │ │ -00017230: 7970 6564 2066 756e 6374 696f 6e61 6c20 yped functional │ │ │ -00017240: 7072 6f67 7261 6d6d 696e 6720 6c61 6e67 programming lang │ │ │ -00017250: 7561 6765 220a 2020 2728 2865 6d61 6373 uage". '((emacs │ │ │ -00017260: 2022 3234 2e33 2229 2929 203b 3b20 6465 "24.3"))) ;; de │ │ │ -00017270: 7020 6465 6673 2066 6f72 2060 616e 6e6f p defs for `anno │ │ │ -00017280: 7461 7469 6f6e 2e65 6c60 2061 6e64 2060 tation.el` and ` │ │ │ -00017290: 6572 692e 656c 6020 6172 6520 6e6f 7420 eri.el` are not │ │ │ -000172a0: 7265 7175 6972 6564 2069 6620 7468 6579 required if they │ │ │ -000172b0: 2061 7265 2070 6163 6b61 6765 6420 746f are packaged to │ │ │ -000172c0: 6765 7468 6572 0acb 8df1 97fc 92cc af92 gether.......... │ │ │ -000172d0: 01e4 adc0 a692 c4a2 9f2c 005b 0001 7304 .........,.[..s. │ │ │ -000172e0: 0520 0000 0100 0404 0803 0702 5e02 0000 . ..........^... │ │ │ -000172f0: 030f 0005 0505 0b5f 0b99 010b 6109 0601 ......._....a... │ │ │ -00017300: 0095 9605 a5e7 c9e2 82a3 bda9 af01 d18c ................ │ │ │ -00017310: c5a2 8acf d3e2 ac01 0099 0100 02be 4d05 ..............M. │ │ │ -00017320: 8280 80e6 0800 0001 0003 0407 0402 0000 ................ │ │ │ -00017330: 030f 0009 0195 9605 3b3b 202d 2a2d 206c ........;; -*- l │ │ │ -00017340: 6578 6963 616c 2d62 696e 6469 6e67 3a20 exical-binding: │ │ │ -00017350: 7420 2d2a 2d0a 3b3b 3b20 6167 6461 322d t -*-.;;; agda2- │ │ │ -00017360: 6d6f 6465 2e65 6c20 2d2d 2d20 4d61 6a6f mode.el --- Majo │ │ │ -00017370: 7220 6d6f 6465 2066 6f72 2041 6764 610a r mode for Agda. │ │ │ -00017380: 3b3b 2053 5044 582d 4c69 6365 6e73 652d ;; SPDX-License- │ │ │ -00017390: 4964 656e 7469 6669 6572 3a20 4d49 5420 Identifier: MIT │ │ │ -000173a0: 4c69 6365 6e73 650a 0a3b 3b3b 2043 6f6d License..;;; Com │ │ │ -000173b0: 6d65 6e74 6172 793a 0a0a 3b3b 2041 206d mentary:..;; A m │ │ │ -000173c0: 616a 6f72 206d 6f64 6520 666f 7220 6564 ajor mode for ed │ │ │ -000173d0: 6974 696e 6720 4167 6461 2028 7468 6520 iting Agda (the │ │ │ -000173e0: 6465 7065 6e64 656e 746c 7920 7479 7065 dependently type │ │ │ -000173f0: 6420 7072 6f67 7261 6d6d 696e 670a 3b3b d programming.;; │ │ │ -00017400: 206c 616e 6775 6167 6520 2f20 696e 7465 language / inte │ │ │ -00017410: 7261 6374 6976 6520 7468 656f 7265 6d20 ractive theorem │ │ │ -00017420: 7072 6f76 6572 292e 0a3b 3b0a 3b3b 204d prover)..;;.;; M │ │ │ -00017430: 616a 6f72 2066 6561 7475 7265 7320 696e ajor features in │ │ │ -00017440: 636c 7564 653a 0a3b 3b0a 3b3b 202d 2073 clude:.;;.;; - s │ │ │ -00017450: 796e 7461 7820 6869 6768 6c69 6768 7469 yntax highlighti │ │ │ -00017460: 6e67 2e0a 3b3b 0a3b 3b20 2d20 6f6e 2074 ng..;;.;; - on t │ │ │ -00017470: 6865 2066 6c79 2041 6764 6120 696e 7465 he fly Agda inte │ │ │ -00017480: 7270 7265 7461 7469 6f6e 2e0a 3b3b 0a3b rpretation..;;.; │ │ │ -00017490: 3b20 2d20 676f 616c 2d64 7269 7665 6e20 ; - goal-driven │ │ │ -000174a0: 6465 7665 6c6f 706d 656e 740a 3b3b 0a3b development.;;.; │ │ │ -000174b0: 3b20 2d20 696e 7465 7261 6374 6976 6520 ; - interactive │ │ │ -000174c0: 6361 7365 2d73 706c 6974 7469 6e67 0a3b case-splitting.; │ │ │ -000174d0: 3b0a 3b3b 202d 2070 726f 6f66 2073 6561 ;.;; - proof sea │ │ │ -000174e0: 7263 680a 3b3b 0a3b 3b20 2d20 696e 7075 rch.;;.;; - inpu │ │ │ -000174f0: 7420 7375 7070 6f72 7420 2866 6f72 2075 t support (for u │ │ │ -00017500: 7466 3820 6368 6172 6163 7465 7273 290a tf8 characters). │ │ │ -00017510: 3b3b 0a3b 3b20 7365 6520 6874 7470 733a ;;.;; see https: │ │ │ -00017520: 2f2f 6167 6461 2e72 6561 6474 6865 646f //agda.readthedo │ │ │ -00017530: 6373 2e69 6f2f 2066 6f72 206d 6f72 6520 cs.io/ for more │ │ │ -00017540: 696e 666f 726d 6174 696f 6e0a 0a3b 3b3b information..;;; │ │ │ +0000d750: 2020 5c76 616c 7565 7b41 6764 6140 5375 \value{Agda@Su │ │ │ +0000d760: 7070 7265 7373 5374 6172 747d 203d 205c ppressStart} = \ │ │ │ +0000d770: 7661 6c75 657b 4167 6461 4043 7572 7265 value{Agda@Curre │ │ │ +0000d780: 6e74 7d5c 297d 7b25 0a20 2020 2020 205c nt}\)}{%. \ │ │ │ +0000d790: 4167 6461 404e 6577 6c69 6e65 5769 7468 Agda@NewlineWith │ │ │ +0000d7a0: 5665 7274 6963 616c 5370 6163 657b 5c61 VerticalSpace{\a │ │ │ +0000d7b0: 626f 7665 6469 7370 6c61 7973 6b69 707d bovedisplayskip} │ │ │ +0000d7c0: 7d7b 250a 2020 2020 2020 5c41 6764 6140 }{%. \Agda@ │ │ │ +0000d7d0: 4e65 776c 696e 6557 6974 6856 6572 7469 NewlineWithVerti │ │ │ +0000d7e0: 6361 6c53 7061 6365 7b30 7074 7d7d 250a calSpace{0pt}}%. │ │ │ +0000d7f0: 2020 2020 250a 2020 2020 2520 4368 6563 %. % Chec │ │ │ +0000d800: 6b20 6966 206e 756d 6265 7273 2068 6176 k if numbers hav │ │ │ +0000d810: 6520 6265 656e 2072 6571 7565 7374 6564 e been requested │ │ │ +0000d820: 2e20 4966 2074 6865 7920 6861 7665 2c20 . If they have, │ │ │ +0000d830: 7468 656e 2061 2073 6964 650a 2020 2020 then a side. │ │ │ +0000d840: 2520 6566 6665 6374 206f 6620 7468 6973 % effect of this │ │ │ +0000d850: 2063 616c 6c20 6973 2074 6861 7420 4167 call is that Ag │ │ │ +0000d860: 6461 404e 756d 6265 7220 6973 2073 6574 da@Number is set │ │ │ +0000d870: 2074 6f20 7472 7565 2c20 7468 6520 636f to true, the co │ │ │ +0000d880: 6465 0a20 2020 2025 206e 756d 6265 7220 de. % number │ │ │ +0000d890: 636f 756e 7465 7220 6973 2069 6e63 7265 counter is incre │ │ │ +0000d8a0: 6173 6564 2c20 616e 6420 7468 6520 6c61 ased, and the la │ │ │ +0000d8b0: 6265 6c20 2869 6620 616e 7929 2069 7320 bel (if any) is │ │ │ +0000d8c0: 7365 742e 0a20 2020 205c 7365 746b 6579 set.. \setkey │ │ │ +0000d8d0: 735b 4167 6461 5d7b 636f 6465 7d5b 6869 s[Agda]{code}[hi │ │ │ +0000d8e0: 6465 2c69 6e6c 696e 652c 696e 6c69 6e65 de,inline,inline │ │ │ +0000d8f0: 2a5d 7b23 317d 250a 2020 2020 5c69 6674 *]{#1}%. \ift │ │ │ +0000d900: 6865 6e65 6c73 657b 5c62 6f6f 6c65 616e henelse{\boolean │ │ │ +0000d910: 7b41 6764 6140 4e75 6d62 6572 7d7d 7b25 {Agda@Number}}{% │ │ │ +0000d920: 0a20 2020 2020 2025 2045 7175 6174 696f . % Equatio │ │ │ +0000d930: 6e20 6e75 6d62 6572 7320 6861 7665 2062 n numbers have b │ │ │ +0000d940: 6565 6e20 7265 7175 6573 7465 642e 2055 een requested. U │ │ │ +0000d950: 7365 2061 206d 696e 6970 6167 652c 2073 se a minipage, s │ │ │ +0000d960: 6f20 7468 6174 0a20 2020 2020 2025 2074 o that. % t │ │ │ +0000d970: 6865 7265 2069 7320 726f 6f6d 2066 6f72 here is room for │ │ │ +0000d980: 2074 6865 2063 6f64 6520 6e75 6d62 6572 the code number │ │ │ +0000d990: 2074 6f20 7468 6520 7269 6768 742c 2061 to the right, a │ │ │ +0000d9a0: 6e64 2074 6865 2063 6f64 650a 2020 2020 nd the code. │ │ │ +0000d9b0: 2020 2520 6e75 6d62 6572 2062 6563 6f6d % number becom │ │ │ +0000d9c0: 6573 2063 656e 7465 7265 6420 7665 7274 es centered vert │ │ │ +0000d9d0: 6963 616c 6c79 2e0a 2020 2020 2020 5c62 ically.. \b │ │ │ +0000d9e0: 6567 696e 7b6d 696e 6970 6167 657d 7b25 egin{minipage}{% │ │ │ +0000d9f0: 0a20 2020 2020 2020 2020 205c 6c69 6e65 . \line │ │ │ +0000da00: 7769 6474 682d 250a 2020 2020 2020 2020 width-%. │ │ │ +0000da10: 2020 5c77 6964 7468 6f66 7b25 0a20 2020 \widthof{%. │ │ │ +0000da20: 2020 2020 2020 2020 205c 4167 6461 5370 \AgdaSp │ │ │ +0000da30: 6163 657b 7d25 0a20 2020 2020 2020 2020 ace{}%. │ │ │ +0000da40: 2020 205c 4167 6461 466f 726d 6174 436f \AgdaFormatCo │ │ │ +0000da50: 6465 4e75 6d62 6572 7b5c 7468 6541 6764 deNumber{\theAgd │ │ │ +0000da60: 6143 6f64 654e 756d 6265 727d 7d7d 7d7b aCodeNumber}}}}{ │ │ │ +0000da70: 7d25 0a20 2020 2025 0a20 2020 2025 2049 }%. %. % I │ │ │ +0000da80: 6e64 656e 7420 7468 6520 656e 7469 7265 ndent the entire │ │ │ +0000da90: 2063 6f64 6520 626c 6f63 6b2e 0a20 2020 code block.. │ │ │ +0000daa0: 205c 6164 7661 6e63 655c 6c65 6674 736b \advance\leftsk │ │ │ +0000dab0: 6970 5c6d 6174 6869 6e64 656e 7425 0a20 ip\mathindent%. │ │ │ +0000dac0: 2020 2025 0a20 2020 2025 2054 6865 2063 %. % The c │ │ │ +0000dad0: 6f64 6527 7320 7374 796c 6520 6361 6e20 ode's style can │ │ │ +0000dae0: 6265 2063 7573 746f 6d69 7365 642e 0a20 be customised.. │ │ │ +0000daf0: 2020 205c 4167 6461 436f 6465 5374 796c \AgdaCodeStyl │ │ │ +0000db00: 6525 0a20 2020 2025 0a20 2020 2025 2055 e%. %. % U │ │ │ +0000db10: 7365 6420 746f 2063 6f6e 7472 6f6c 2074 sed to control t │ │ │ +0000db20: 6865 2068 6569 6768 7420 6f66 2065 6d70 he height of emp │ │ │ +0000db30: 7479 206c 696e 6573 2e0a 2020 2020 5c73 ty lines.. \s │ │ │ +0000db40: 6574 6c65 6e67 7468 7b5c 4167 6461 456d etlength{\AgdaEm │ │ │ +0000db50: 7074 7945 7874 7261 536b 6970 7d7b 5c41 ptyExtraSkip}{\A │ │ │ +0000db60: 6764 6145 6d70 7479 536b 6970 202d 205c gdaEmptySkip - \ │ │ │ +0000db70: 6261 7365 6c69 6e65 736b 6970 7d25 0a20 baselineskip}%. │ │ │ +0000db80: 2020 2025 0a20 2020 2025 2054 6865 2065 %. % The e │ │ │ +0000db90: 6e76 6972 6f6e 6d65 6e74 2075 7365 6420 nvironment used │ │ │ +0000dba0: 746f 2068 616e 646c 6520 696e 6465 6e74 to handle indent │ │ │ +0000dbb0: 6174 696f 6e20 286f 6620 696e 6469 7669 ation (of indivi │ │ │ +0000dbc0: 6475 616c 206c 696e 6573 290a 2020 2020 dual lines). │ │ │ +0000dbd0: 2520 616e 6420 616c 6967 6e6d 656e 742e % and alignment. │ │ │ +0000dbe0: 0a20 2020 205c 6265 6769 6e7b 7062 6f78 . \begin{pbox │ │ │ +0000dbf0: 6564 7d25 0a20 2020 2020 2025 0a20 2020 ed}%. %. │ │ │ +0000dc00: 2020 2025 2043 6f6e 6469 7469 6f6e 616c % Conditional │ │ │ +0000dc10: 6c79 2070 7265 7365 7276 6520 616c 6967 ly preserve alig │ │ │ +0000dc20: 6e6d 656e 7420 6265 7477 6565 6e20 636f nment between co │ │ │ +0000dc30: 6465 2062 6c6f 636b 732e 0a20 2020 2020 de blocks.. │ │ │ +0000dc40: 205c 6966 7468 656e 656c 7365 7b5c 626f \ifthenelse{\bo │ │ │ +0000dc50: 6f6c 6561 6e7b 4167 6461 4041 6c69 676e olean{Agda@Align │ │ │ +0000dc60: 7d7d 7b25 0a20 2020 2020 2020 205c 6966 }}{%. \if │ │ │ +0000dc70: 7468 656e 656c 7365 7b5c 7661 6c75 657b thenelse{\value{ │ │ │ +0000dc80: 4167 6461 4041 6c69 676e 5374 6172 747d Agda@AlignStart} │ │ │ +0000dc90: 203d 205c 7661 6c75 657b 4167 6461 4043 = \value{Agda@C │ │ │ +0000dca0: 7572 7265 6e74 7d7d 7b25 0a20 2020 2020 urrent}}{%. │ │ │ +0000dcb0: 2020 2020 205c 7361 7665 636f 6c75 6d6e \savecolumn │ │ │ +0000dcc0: 737d 7b25 0a20 2020 2020 2020 2020 205c s}{%. \ │ │ │ +0000dcd0: 7265 7374 6f72 6563 6f6c 756d 6e73 7d7d restorecolumns}} │ │ │ +0000dce0: 7b7d 250a 2020 2020 2020 250a 2020 2020 {}%. %. │ │ │ +0000dcf0: 2020 2520 5468 6520 636f 6465 2e0a 2020 % The code.. │ │ │ +0000dd00: 2020 2020 5c42 4f44 5925 0a20 2020 205c \BODY%. \ │ │ │ +0000dd10: 656e 647b 7062 6f78 6564 7d25 0a20 2020 end{pboxed}%. │ │ │ +0000dd20: 2025 0a20 2020 205c 6966 7468 656e 656c %. \ifthenel │ │ │ +0000dd30: 7365 7b5c 626f 6f6c 6561 6e7b 4167 6461 se{\boolean{Agda │ │ │ +0000dd40: 404e 756d 6265 727d 7d7b 250a 2020 2020 @Number}}{%. │ │ │ +0000dd50: 2020 2520 4571 7561 7469 6f6e 206e 756d % Equation num │ │ │ +0000dd60: 6265 7273 2068 6176 6520 6265 656e 2072 bers have been r │ │ │ +0000dd70: 6571 7565 7374 6564 2e0a 2020 2020 2020 equested.. │ │ │ +0000dd80: 5c65 6e64 7b6d 696e 6970 6167 657d 250a \end{minipage}%. │ │ │ +0000dd90: 2020 2020 2020 2520 496e 7365 7274 2074 % Insert t │ │ │ +0000dda0: 6865 2063 6f64 6520 6e75 6d62 6572 2074 he code number t │ │ │ +0000ddb0: 6f20 7468 6520 7269 6768 742e 0a20 2020 o the right.. │ │ │ +0000ddc0: 2020 205c 6866 696c 6c20 5c41 6764 6146 \hfill \AgdaF │ │ │ +0000ddd0: 6f72 6d61 7443 6f64 654e 756d 6265 727b ormatCodeNumber{ │ │ │ +0000dde0: 5c74 6865 4167 6461 436f 6465 4e75 6d62 \theAgdaCodeNumb │ │ │ +0000ddf0: 6572 7d7d 7b7d 250a 2020 2020 250a 2020 er}}{}%. %. │ │ │ +0000de00: 2020 2520 446f 6573 2074 6865 206c 6162 % Does the lab │ │ │ +0000de10: 656c 2041 6764 6140 446f 4e6f 7453 7570 el Agda@DoNotSup │ │ │ +0000de20: 7072 6573 7341 6674 6572 403c 6375 7272 pressAfter@ exi │ │ │ +0000de50: 7374 3f0a 2020 2020 5c69 6663 7364 6566 st?. \ifcsdef │ │ │ +0000de60: 7b72 4041 6764 6140 446f 4e6f 7453 7570 {r@Agda@DoNotSup │ │ │ +0000de70: 7072 6573 7353 7061 6365 4166 7465 7240 pressSpaceAfter@ │ │ │ +0000de80: 5c74 6865 4167 6461 4043 7572 7265 6e74 \theAgda@Current │ │ │ +0000de90: 7d7b 250a 2020 2020 2020 5c73 6574 626f }{%. \setbo │ │ │ +0000dea0: 6f6c 6561 6e7b 4167 6461 4044 6f4e 6f74 olean{Agda@DoNot │ │ │ +0000deb0: 5375 7070 7265 7373 5370 6163 6541 6674 SuppressSpaceAft │ │ │ +0000dec0: 6572 7d7b 7472 7565 7d7d 7b25 0a20 2020 er}{true}}{%. │ │ │ +0000ded0: 2020 205c 7365 7462 6f6f 6c65 616e 7b41 \setboolean{A │ │ │ +0000dee0: 6764 6140 446f 4e6f 7453 7570 7072 6573 gda@DoNotSuppres │ │ │ +0000def0: 7353 7061 6365 4166 7465 727d 7b66 616c sSpaceAfter}{fal │ │ │ +0000df00: 7365 7d7d 250a 2020 2020 250a 2020 2020 se}}%. %. │ │ │ +0000df10: 2520 436f 6e64 6974 696f 6e61 6c6c 7920 % Conditionally │ │ │ +0000df20: 656d 6974 2073 7061 6365 2061 6674 6572 emit space after │ │ │ +0000df30: 2074 6865 2063 6f64 6520 626c 6f63 6b2e the code block. │ │ │ +0000df40: 2055 6e63 6f6e 6469 7469 6f6e 616c 6c79 Unconditionally │ │ │ +0000df50: 0a20 2020 2025 2073 7769 7463 6820 746f . % switch to │ │ │ +0000df60: 2061 206e 6577 206c 696e 652e 0a20 2020 a new line.. │ │ │ +0000df70: 205c 6966 7468 656e 656c 7365 7b5c 626f \ifthenelse{\bo │ │ │ +0000df80: 6f6c 6561 6e7b 4167 6461 4053 7061 6365 olean{Agda@Space │ │ │ +0000df90: 4172 6f75 6e64 436f 6465 7d20 5c61 6e64 AroundCode} \and │ │ │ +0000dfa0: 250a 2020 2020 2020 2020 2020 2020 2020 %. │ │ │ +0000dfb0: 2020 5c28 5c6e 6f74 205c 626f 6f6c 6561 \(\not \boolea │ │ │ +0000dfc0: 6e7b 4167 6461 4053 7570 7072 6573 737d n{Agda@Suppress} │ │ │ +0000dfd0: 205c 6f72 250a 2020 2020 2020 2020 2020 \or%. │ │ │ +0000dfe0: 2020 2020 2020 2020 5c62 6f6f 6c65 616e \boolean │ │ │ +0000dff0: 7b41 6764 6140 446f 4e6f 7453 7570 7072 {Agda@DoNotSuppr │ │ │ +0000e000: 6573 7353 7061 6365 4166 7465 727d 5c29 essSpaceAfter}\) │ │ │ +0000e010: 7d7b 250a 2020 2020 2020 5c41 6764 6140 }{%. \Agda@ │ │ │ +0000e020: 4e65 776c 696e 6557 6974 6856 6572 7469 NewlineWithVerti │ │ │ +0000e030: 6361 6c53 7061 6365 7b5c 6265 6c6f 7764 calSpace{\belowd │ │ │ +0000e040: 6973 706c 6179 736b 6970 7d7d 7b25 0a20 isplayskip}}{%. │ │ │ +0000e050: 2020 2020 205c 4167 6461 404e 6577 6c69 \Agda@Newli │ │ │ +0000e060: 6e65 5769 7468 5665 7274 6963 616c 5370 neWithVerticalSp │ │ │ +0000e070: 6163 657b 3070 747d 7d25 0a20 2020 2025 ace{0pt}}%. % │ │ │ +0000e080: 0a20 2020 2025 2053 7465 7020 7468 6520 . % Step the │ │ │ +0000e090: 636f 6465 2062 6c6f 636b 2063 6f75 6e74 code block count │ │ │ +0000e0a0: 6572 2c20 6275 7420 6f6e 6c79 2066 6f72 er, but only for │ │ │ +0000e0b0: 206e 6f6e 2d68 6964 6465 6e20 636f 6465 non-hidden code │ │ │ +0000e0c0: 2e0a 2020 2020 5c73 7465 7063 6f75 6e74 .. \stepcount │ │ │ +0000e0d0: 6572 7b41 6764 6140 4375 7272 656e 747d er{Agda@Current} │ │ │ +0000e0e0: 7d25 0a20 205c 6669 250a 2020 5c66 6925 }%. \fi%. \fi% │ │ │ +0000e0f0: 0a20 2025 2052 6573 6574 2041 6764 6140 . % Reset Agda@ │ │ │ +0000e100: 4e75 6d62 6572 2061 6e64 2041 6764 6140 Number and Agda@ │ │ │ +0000e110: 496e 6c69 6e65 5374 6172 2e0a 2020 5c73 InlineStar.. \s │ │ │ +0000e120: 6574 626f 6f6c 6561 6e7b 4167 6461 404e etboolean{Agda@N │ │ │ +0000e130: 756d 6265 727d 7b66 616c 7365 7d25 0a20 umber}{false}%. │ │ │ +0000e140: 205c 7365 7462 6f6f 6c65 616e 7b41 6764 \setboolean{Agd │ │ │ +0000e150: 6140 496e 6c69 6e65 5374 6172 7d7b 6661 a@InlineStar}{fa │ │ │ +0000e160: 6c73 657d 7d0a 0a25 2053 7061 6365 2069 lse}}..% Space i │ │ │ +0000e170: 6e73 6572 7465 6420 6166 7465 7220 746f nserted after to │ │ │ +0000e180: 6b65 6e73 2e0a 5c6e 6577 636f 6d6d 616e kens..\newcomman │ │ │ +0000e190: 647b 5c41 6764 6153 7061 6365 7d7b 207d d{\AgdaSpace}{ } │ │ │ +0000e1a0: 0a0a 2520 5370 6163 6520 696e 7365 7274 ..% Space insert │ │ │ +0000e1b0: 6564 2074 6f20 696e 6465 6e74 2073 6f6d ed to indent som │ │ │ +0000e1c0: 6574 6869 6e67 2e0a 5c6e 6577 636f 6d6d ething..\newcomm │ │ │ +0000e1d0: 616e 647b 5c41 6764 6149 6e64 656e 7453 and{\AgdaIndentS │ │ │ +0000e1e0: 7061 6365 7d7b 5c41 6764 6153 7061 6365 pace}{\AgdaSpace │ │ │ +0000e1f0: 7b7d 245c 3b5c 3b24 7d0a 0a25 2044 6566 {}$\;\;$}..% Def │ │ │ +0000e200: 6175 6c74 2063 6f6c 756d 6e20 666f 7220 ault column for │ │ │ +0000e210: 706f 6c79 7461 626c 652e 0a5c 6465 6661 polytable..\defa │ │ │ +0000e220: 756c 7463 6f6c 756d 6e7b 407b 7d6c 407b ultcolumn{@{}l@{ │ │ │ +0000e230: 5c41 6764 6153 7061 6365 7b7d 7d7d 0a0a \AgdaSpace{}}}.. │ │ │ +0000e240: 2520 5c41 6764 6149 6e64 656e 7420 6578 % \AgdaIndent ex │ │ │ +0000e250: 7065 6374 7320 6120 6e6f 6e2d 6e65 6761 pects a non-nega │ │ │ +0000e260: 7469 7665 2069 6e74 6567 6572 2061 7320 tive integer as │ │ │ +0000e270: 6974 7320 6f6e 6c79 2061 7267 756d 656e its only argumen │ │ │ +0000e280: 742e 0a25 2054 6869 7320 696e 7465 6765 t..% This intege │ │ │ +0000e290: 7220 7368 6f75 6c64 2062 6520 7468 6520 r should be the │ │ │ +0000e2a0: 6469 7374 616e 6365 2c20 696e 2063 6f64 distance, in cod │ │ │ +0000e2b0: 6520 626c 6f63 6b73 2c20 746f 2074 6865 e blocks, to the │ │ │ +0000e2c0: 2074 6869 6e67 0a25 2072 656c 6174 6976 thing.% relativ │ │ │ +0000e2d0: 6520 746f 2077 6869 6368 2074 6865 2074 e to which the t │ │ │ +0000e2e0: 6578 7420 6973 2069 6e64 656e 7465 642e ext is indented. │ │ │ +0000e2f0: 0a25 0a25 2054 6865 2064 6566 6175 6c74 .%.% The default │ │ │ +0000e300: 2069 6d70 6c65 6d65 6e74 6174 696f 6e20 implementation │ │ │ +0000e310: 6f6e 6c79 2069 6e64 656e 7473 2069 6620 only indents if │ │ │ +0000e320: 7468 6520 7468 696e 6720 7468 6174 2074 the thing that t │ │ │ +0000e330: 6865 2074 6578 740a 2520 6973 2069 6e64 he text.% is ind │ │ │ +0000e340: 656e 7465 6420 7265 6c61 7469 7665 2074 ented relative t │ │ │ +0000e350: 6f20 6578 6973 7473 2069 6e20 7468 6520 o exists in the │ │ │ +0000e360: 7361 6d65 2063 6f64 6520 626c 6f63 6b20 same code block │ │ │ +0000e370: 6f72 2069 7320 7772 6170 7065 640a 2520 or is wrapped.% │ │ │ +0000e380: 696e 2074 6865 2073 616d 6520 4167 6461 in the same Agda │ │ │ +0000e390: 416c 6967 6e20 6f72 2041 6764 614d 756c Align or AgdaMul │ │ │ +0000e3a0: 7469 436f 6465 2065 6e76 6972 6f6e 6d65 tiCode environme │ │ │ +0000e3b0: 6e74 2e0a 5c6e 6577 636f 6d6d 616e 647b nt..\newcommand{ │ │ │ +0000e3c0: 5c41 6764 6149 6e64 656e 747d 5b31 5d7b \AgdaIndent}[1]{ │ │ │ +0000e3d0: 250a 2020 5c69 6674 6865 6e65 6c73 657b %. \ifthenelse{ │ │ │ +0000e3e0: 2331 203d 2030 0a20 2020 2020 2020 2020 #1 = 0. │ │ │ +0000e3f0: 2020 2020 2020 205c 6f72 0a20 2020 2020 \or. │ │ │ +0000e400: 2020 2020 2020 2020 205c 2820 5c62 6f6f \( \boo │ │ │ +0000e410: 6c65 616e 7b41 6764 6140 416c 6967 6e7d lean{Agda@Align} │ │ │ +0000e420: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ +0000e430: 2020 2020 5c61 6e64 0a20 2020 2020 2020 \and. │ │ │ +0000e440: 2020 2020 2020 2020 2020 5c63 6e74 7465 \cntte │ │ │ +0000e450: 7374 7b5c 7661 6c75 657b 4167 6461 4043 st{\value{Agda@C │ │ │ +0000e460: 7572 7265 6e74 7d20 2d20 2331 7d7b 3e3d urrent} - #1}{>= │ │ │ +0000e470: 7d7b 0a20 2020 2020 2020 2020 2020 2020 }{. │ │ │ +0000e480: 2020 2020 2020 2020 2020 2020 205c 7661 \va │ │ │ +0000e490: 6c75 657b 4167 6461 4041 6c69 676e 5374 lue{Agda@AlignSt │ │ │ +0000e4a0: 6172 747d 7d0a 2020 2020 2020 2020 2020 art}}. │ │ │ +0000e4b0: 2020 2020 5c29 7d7b 5c41 6764 6149 6e64 \)}{\AgdaInd │ │ │ +0000e4c0: 656e 7453 7061 6365 7b7d 7d7b 7d7d 0a0a entSpace{}}{}}.. │ │ │ +0000e4d0: 2520 556e 6465 7273 636f 7265 7320 6172 % Underscores ar │ │ │ +0000e4e0: 6520 7479 7065 7365 7420 7573 696e 6720 e typeset using │ │ │ +0000e4f0: 5c41 6764 6155 6e64 6572 7363 6f72 657b \AgdaUnderscore{ │ │ │ +0000e500: 7d2e 0a5c 6e65 7763 6f6d 6d61 6e64 7b5c }..\newcommand{\ │ │ │ +0000e510: 4167 6461 556e 6465 7273 636f 7265 7d7b AgdaUnderscore}{ │ │ │ +0000e520: 5c5f 7d0a 0a5c 656e 6469 6e70 7574 0ac2 \_}..\endinput.. │ │ │ +0000e530: dd9a c78a 81f7 ea2c 918a ccff 84ee e28d .......,........ │ │ │ +0000e540: c101 0083 0100 00e5 8005 b480 80e6 0800 ................ │ │ │ +0000e550: 0000 0520 0000 0100 0100 0404 0803 0702 ... ............ │ │ │ +0000e560: 8680 80ec 0802 0000 030f 0005 0505 0b87 ................ │ │ │ +0000e570: 8080 ec08 0105 2000 0001 0b8e 010b 8f01 ...... ......... │ │ │ +0000e580: eee9 9e8e ac89 e492 74b6 fcb4 df92 f3c8 ........t....... │ │ │ +0000e590: bc9d 0100 9001 0000 e5be 0520 0000 0100 ........... .... │ │ │ +0000e5a0: 0404 0803 0702 5e02 0000 030f 0005 0505 ......^......... │ │ │ +0000e5b0: 0b5f 0b91 010b 6109 0601 00b9 d000 9893 ._....a......... │ │ │ +0000e5c0: a9a6 bdc2 f7a7 72f4 f8a6 f7a3 b8ba 8f38 ......r........8 │ │ │ +0000e5d0: 0091 0100 010e 2905 8280 80e6 0800 0001 ......)......... │ │ │ +0000e5e0: 0003 0407 0402 0000 030f 0009 01b9 d000 ................ │ │ │ +0000e5f0: 6465 6669 6e65 285b 5d2c 2066 756e 6374 define([], funct │ │ │ +0000e600: 696f 6e28 2920 7b0a 7661 7220 6578 706f ion() {.var expo │ │ │ +0000e610: 7274 7320 3d20 7b7d 3b0a 2f2f 2043 6f6e rts = {};.// Con │ │ │ +0000e620: 7461 696e 7320 2a6d 6f73 742a 206f 6620 tains *most* of │ │ │ +0000e630: 7468 6520 7072 696d 6974 6976 6573 2072 the primitives r │ │ │ +0000e640: 6571 7569 7265 6420 6279 2074 6865 204a equired by the J │ │ │ +0000e650: 6176 6153 6372 6970 7420 6261 636b 656e avaScript backen │ │ │ +0000e660: 642e 0a2f 2f20 2853 6f6d 652c 2065 2e67 d..// (Some, e.g │ │ │ +0000e670: 2e2c 2074 686f 7365 2075 7369 6e67 2041 ., those using A │ │ │ +0000e680: 6764 6120 7479 7065 7320 6c69 6b65 204d gda types like M │ │ │ +0000e690: 6179 6265 2c20 6172 6520 6465 6669 6e65 aybe, are define │ │ │ +0000e6a0: 6420 696e 2074 6865 6972 0a2f 2f20 7265 d in their.// re │ │ │ +0000e6b0: 7370 6563 7469 7665 2062 7569 6c74 696e spective builtin │ │ │ +0000e6c0: 206d 6f64 756c 6573 2e29 0a2f 2f0a 2f2f modules.).//.// │ │ │ +0000e6d0: 2050 7269 6d69 7469 7665 7320 7072 6566 Primitives pref │ │ │ +0000e6e0: 6978 6564 2062 7920 2775 2720 6172 6520 ixed by 'u' are │ │ │ +0000e6f0: 756e 6375 7272 6965 6420 7661 7269 616e uncurried varian │ │ │ +0000e700: 7473 2c20 7768 6963 6820 6172 6520 736f ts, which are so │ │ │ +0000e710: 6d65 7469 6d65 730a 2f2f 2065 6d69 7474 metimes.// emitt │ │ │ +0000e720: 6564 2062 7920 7468 6520 4a61 7661 5363 ed by the JavaSc │ │ │ +0000e730: 7269 7074 2062 6163 6b65 6e64 2e20 5768 ript backend. Wh │ │ │ +0000e740: 656e 6576 6572 2070 6f73 7369 626c 652c enever possible, │ │ │ +0000e750: 2074 6865 2063 7572 7269 6564 2070 7269 the curried pri │ │ │ +0000e760: 6d69 7469 7665 730a 2f2f 2073 686f 756c mitives.// shoul │ │ │ +0000e770: 6420 6265 2069 6d70 6c65 6d65 6e74 6564 d be implemented │ │ │ +0000e780: 2069 6e20 7465 726d 7320 6f66 2074 6865 in terms of the │ │ │ +0000e790: 2075 6e63 7572 7269 6564 206f 6e65 732e uncurried ones. │ │ │ +0000e7a0: 0a2f 2f0a 2f2f 2050 7269 6d69 7469 7665 .//.// Primitive │ │ │ +0000e7b0: 7320 7072 6566 6978 6564 2062 7920 275f s prefixed by '_ │ │ │ +0000e7c0: 2720 6172 6520 696e 7465 726e 616c 2076 ' are internal v │ │ │ +0000e7d0: 6172 6961 6e74 732c 2075 7375 616c 6c79 ariants, usually │ │ │ +0000e7e0: 2066 6f72 2074 686f 7365 2070 7269 6d69 for those primi │ │ │ +0000e7f0: 7469 7665 730a 2f2f 2077 6869 6368 2072 tives.// which r │ │ │ +0000e800: 6574 7572 6e20 4167 6461 2074 7970 6573 eturn Agda types │ │ │ +0000e810: 206c 696b 6520 4d61 7962 652e 2054 6865 like Maybe. The │ │ │ +0000e820: 7365 2061 7265 206e 6576 6572 2065 6d69 se are never emi │ │ │ +0000e830: 7474 6564 2062 7920 7468 6520 636f 6d70 tted by the comp │ │ │ +0000e840: 696c 6572 2c0a 2f2f 2062 7574 2063 616e iler,.// but can │ │ │ +0000e850: 2062 6520 7573 6564 2069 6e74 6572 6e61 be used interna │ │ │ +0000e860: 6c6c 7920 746f 2064 6566 696e 6520 6f74 lly to define ot │ │ │ +0000e870: 6865 7220 7072 6566 6978 6573 2e0a 0a2f her prefixes.../ │ │ │ +0000e880: 2f20 496e 7465 6765 7273 0a0a 2f2f 2070 / Integers..// p │ │ │ +0000e890: 7269 6d49 6e74 6567 6572 4672 6f6d 5374 rimIntegerFromSt │ │ │ +0000e8a0: 7269 6e67 203a 2053 7472 696e 6720 2d3e ring : String -> │ │ │ +0000e8b0: 2049 6e74 0a65 7870 6f72 7473 2e70 7269 Int.exports.pri │ │ │ +0000e8c0: 6d49 6e74 6567 6572 4672 6f6d 5374 7269 mIntegerFromStri │ │ │ +0000e8d0: 6e67 203d 2042 6967 496e 743b 0a0a 2f2f ng = BigInt;..// │ │ │ +0000e8e0: 2070 7269 6d53 686f 7749 6e74 6567 6572 primShowInteger │ │ │ +0000e8f0: 203a 2049 6e74 202d 3e20 5374 7269 6e67 : Int -> String │ │ │ +0000e900: 0a65 7870 6f72 7473 2e70 7269 6d53 686f .exports.primSho │ │ │ +0000e910: 7749 6e74 6567 6572 203d 2078 203d 3e20 wInteger = x => │ │ │ +0000e920: 782e 746f 5374 7269 6e67 2829 3b0a 0a2f x.toString();../ │ │ │ +0000e930: 2f20 7570 7269 6d49 6e74 6567 6572 506c / uprimIntegerPl │ │ │ +0000e940: 7573 203a 2028 496e 742c 2049 6e74 2920 us : (Int, Int) │ │ │ +0000e950: 2d3e 2049 6e74 0a65 7870 6f72 7473 2e75 -> Int.exports.u │ │ │ +0000e960: 7072 696d 496e 7465 6765 7250 6c75 7320 primIntegerPlus │ │ │ +0000e970: 3d20 2878 2c20 7929 203d 3e20 7820 2b20 = (x, y) => x + │ │ │ +0000e980: 793b 0a0a 2f2f 2075 7072 696d 496e 7465 y;..// uprimInte │ │ │ +0000e990: 6765 724d 696e 7573 203a 2028 496e 742c gerMinus : (Int, │ │ │ +0000e9a0: 2049 6e74 2920 2d3e 2049 6e74 0a65 7870 Int) -> Int.exp │ │ │ +0000e9b0: 6f72 7473 2e75 7072 696d 496e 7465 6765 orts.uprimIntege │ │ │ +0000e9c0: 724d 696e 7573 203d 2028 782c 2079 2920 rMinus = (x, y) │ │ │ +0000e9d0: 3d3e 2078 202d 2079 3b0a 0a2f 2f20 7570 => x - y;..// up │ │ │ +0000e9e0: 7269 6d49 6e74 6567 6572 4d75 6c74 6970 rimIntegerMultip │ │ │ +0000e9f0: 6c79 203a 2028 496e 742c 2049 6e74 2920 ly : (Int, Int) │ │ │ +0000ea00: 2d3e 2049 6e74 0a65 7870 6f72 7473 2e75 -> Int.exports.u │ │ │ +0000ea10: 7072 696d 496e 7465 6765 724d 756c 7469 primIntegerMulti │ │ │ +0000ea20: 706c 7920 3d20 2878 2c20 7929 203d 3e20 ply = (x, y) => │ │ │ +0000ea30: 7820 2a20 793b 0a0a 2f2f 2075 7072 696d x * y;..// uprim │ │ │ +0000ea40: 496e 7465 6765 7252 656d 203a 2028 496e IntegerRem : (In │ │ │ +0000ea50: 742c 2049 6e74 2920 2d3e 2049 6e74 0a65 t, Int) -> Int.e │ │ │ +0000ea60: 7870 6f72 7473 2e75 7072 696d 496e 7465 xports.uprimInte │ │ │ +0000ea70: 6765 7252 656d 203d 2028 782c 2079 2920 gerRem = (x, y) │ │ │ +0000ea80: 3d3e 2078 2025 2079 3b0a 0a2f 2f20 7570 => x % y;..// up │ │ │ +0000ea90: 7269 6d49 6e74 6567 6572 5175 6f74 203a rimIntegerQuot : │ │ │ +0000eaa0: 2028 496e 742c 2049 6e74 2920 2d3e 2049 (Int, Int) -> I │ │ │ +0000eab0: 6e74 0a65 7870 6f72 7473 2e75 7072 696d nt.exports.uprim │ │ │ +0000eac0: 496e 7465 6765 7251 756f 7420 3d20 2878 IntegerQuot = (x │ │ │ +0000ead0: 2c20 7929 203d 3e20 7820 2f20 793b 0a0a , y) => x / y;.. │ │ │ +0000eae0: 2f2f 2075 7072 696d 496e 7465 6765 7245 // uprimIntegerE │ │ │ +0000eaf0: 7175 616c 203a 2028 496e 742c 2049 6e74 qual : (Int, Int │ │ │ +0000eb00: 2920 2d3e 2042 6f6f 6c0a 6578 706f 7274 ) -> Bool.export │ │ │ +0000eb10: 732e 7570 7269 6d49 6e74 6567 6572 4571 s.uprimIntegerEq │ │ │ +0000eb20: 7561 6c20 3d20 2878 2c20 7929 203d 3e20 ual = (x, y) => │ │ │ +0000eb30: 7820 3d3d 3d20 793b 0a0a 2f2f 2075 7072 x === y;..// upr │ │ │ +0000eb40: 696d 496e 7465 6765 7247 7265 6174 6572 imIntegerGreater │ │ │ +0000eb50: 4f72 4571 7561 6c54 6861 6e20 3a20 2849 OrEqualThan : (I │ │ │ +0000eb60: 6e74 2c20 496e 7429 202d 3e20 426f 6f6c nt, Int) -> Bool │ │ │ +0000eb70: 0a65 7870 6f72 7473 2e75 7072 696d 496e .exports.uprimIn │ │ │ +0000eb80: 7465 6765 7247 7265 6174 6572 4f72 4571 tegerGreaterOrEq │ │ │ +0000eb90: 7561 6c54 6861 6e20 3d20 2878 2c20 7929 ualThan = (x, y) │ │ │ +0000eba0: 203d 3e20 7820 3e3d 2079 3b0a 0a2f 2f20 => x >= y;..// │ │ │ +0000ebb0: 7570 7269 6d49 6e74 6567 6572 4c65 7373 uprimIntegerLess │ │ │ +0000ebc0: 5468 616e 203a 2028 496e 742c 2049 6e74 Than : (Int, Int │ │ │ +0000ebd0: 2920 2d3e 2042 6f6f 6c0a 6578 706f 7274 ) -> Bool.export │ │ │ +0000ebe0: 732e 7570 7269 6d49 6e74 6567 6572 4c65 s.uprimIntegerLe │ │ │ +0000ebf0: 7373 5468 616e 203d 2028 782c 2079 2920 ssThan = (x, y) │ │ │ +0000ec00: 3d3e 2078 203c 2079 3b0a 0a2f 2f20 576f => x < y;..// Wo │ │ │ +0000ec10: 7264 730a 636f 6e73 7420 574f 5244 3634 rds.const WORD64 │ │ │ +0000ec20: 5f4d 4158 5f56 414c 5545 203d 2031 3834 _MAX_VALUE = 184 │ │ │ +0000ec30: 3436 3734 3430 3733 3730 3935 3532 3030 4674407370955200 │ │ │ +0000ec40: 306e 3b0a 0a2f 2f20 7072 696d 576f 7264 0n;..// primWord │ │ │ +0000ec50: 3634 546f 4e61 7420 3a20 576f 7264 3634 64ToNat : Word64 │ │ │ +0000ec60: 202d 3e20 4e61 740a 6578 706f 7274 732e -> Nat.exports. │ │ │ +0000ec70: 7072 696d 576f 7264 3634 546f 4e61 7420 primWord64ToNat │ │ │ +0000ec80: 3d20 7820 3d3e 2078 3b0a 0a2f 2f20 7072 = x => x;..// pr │ │ │ +0000ec90: 696d 576f 7264 3634 4672 6f6d 4e61 7420 imWord64FromNat │ │ │ +0000eca0: 3a20 4e61 7420 2d3e 2057 6f72 6436 340a : Nat -> Word64. │ │ │ +0000ecb0: 6578 706f 7274 732e 7072 696d 576f 7264 exports.primWord │ │ │ +0000ecc0: 3634 4672 6f6d 4e61 7420 3d20 7820 3d3e 64FromNat = x => │ │ │ +0000ecd0: 2078 2025 2057 4f52 4436 345f 4d41 585f x % WORD64_MAX_ │ │ │ +0000ece0: 5641 4c55 453b 0a0a 2f2f 2075 7072 696d VALUE;..// uprim │ │ │ +0000ecf0: 576f 7264 3634 506c 7573 203a 2028 576f Word64Plus : (Wo │ │ │ +0000ed00: 7264 3634 2c20 576f 7264 3634 2920 2d3e rd64, Word64) -> │ │ │ +0000ed10: 2057 6f72 6436 340a 6578 706f 7274 732e Word64.exports. │ │ │ +0000ed20: 7570 7269 6d57 6f72 6436 3450 6c75 7320 uprimWord64Plus │ │ │ +0000ed30: 3d20 2878 2c20 7929 203d 3e20 2878 202b = (x, y) => (x + │ │ │ +0000ed40: 2079 2920 2520 574f 5244 3634 5f4d 4158 y) % WORD64_MAX │ │ │ +0000ed50: 5f56 414c 5545 3b0a 0a2f 2f20 7570 7269 _VALUE;..// upri │ │ │ +0000ed60: 6d57 6f72 6436 344d 696e 7573 203a 2028 mWord64Minus : ( │ │ │ +0000ed70: 576f 7264 3634 2c20 576f 7264 3634 2920 Word64, Word64) │ │ │ +0000ed80: 2d3e 2057 6f72 6436 340a 6578 706f 7274 -> Word64.export │ │ │ +0000ed90: 732e 7570 7269 6d57 6f72 6436 344d 696e s.uprimWord64Min │ │ │ +0000eda0: 7573 203d 2028 782c 2079 2920 3d3e 2028 us = (x, y) => ( │ │ │ +0000edb0: 7820 2b20 574f 5244 3634 5f4d 4158 5f56 x + WORD64_MAX_V │ │ │ +0000edc0: 414c 5545 202d 2079 2920 2520 574f 5244 ALUE - y) % WORD │ │ │ +0000edd0: 3634 5f4d 4158 5f56 414c 5545 3b0a 0a2f 64_MAX_VALUE;../ │ │ │ +0000ede0: 2f20 7570 7269 6d57 6f72 6436 344d 756c / uprimWord64Mul │ │ │ +0000edf0: 7469 706c 7920 3a20 2857 6f72 6436 342c tiply : (Word64, │ │ │ +0000ee00: 2057 6f72 6436 3429 202d 3e20 576f 7264 Word64) -> Word │ │ │ +0000ee10: 3634 0a65 7870 6f72 7473 2e75 7072 696d 64.exports.uprim │ │ │ +0000ee20: 576f 7264 3634 4d75 6c74 6970 6c79 203d Word64Multiply = │ │ │ +0000ee30: 2028 782c 2079 2920 3d3e 2028 7820 2a20 (x, y) => (x * │ │ │ +0000ee40: 7929 2025 2057 4f52 4436 345f 4d41 585f y) % WORD64_MAX_ │ │ │ +0000ee50: 5641 4c55 453b 0a0a 2f2f 204e 6174 7572 VALUE;..// Natur │ │ │ +0000ee60: 616c 206e 756d 6265 7273 0a0a 2f2f 2070 al numbers..// p │ │ │ +0000ee70: 7269 6d4e 6174 4d69 6e75 7320 3a20 4e61 rimNatMinus : Na │ │ │ +0000ee80: 7420 2d3e 204e 6174 202d 3e20 4e61 740a t -> Nat -> Nat. │ │ │ +0000ee90: 6578 706f 7274 732e 7072 696d 4e61 744d exports.primNatM │ │ │ +0000eea0: 696e 7573 203d 2078 203d 3e20 7920 3d3e inus = x => y => │ │ │ +0000eeb0: 207b 0a20 2063 6f6e 7374 207a 203d 2078 {. const z = x │ │ │ +0000eec0: 202d 2079 3b0a 2020 7265 7475 726e 207a - y;. return z │ │ │ +0000eed0: 203c 2030 6e20 3f20 306e 203a 207a 3b0a < 0n ? 0n : z;. │ │ │ +0000eee0: 7d3b 0a0a 2f2f 2046 6c6f 6174 696e 672d };..// Floating- │ │ │ +0000eef0: 706f 696e 7420 6e75 6d62 6572 730a 7661 point numbers.va │ │ │ +0000ef00: 7220 5f70 7269 6d46 6c6f 6174 4772 6561 r _primFloatGrea │ │ │ +0000ef10: 7465 7374 436f 6d6d 6f6e 4661 6374 6f72 testCommonFactor │ │ │ +0000ef20: 203d 2066 756e 6374 696f 6e28 782c 2079 = function(x, y │ │ │ +0000ef30: 2920 7b0a 2020 2020 7661 7220 7a3b 0a20 ) {. var z;. │ │ │ +0000ef40: 2020 2078 203d 204d 6174 682e 6162 7328 x = Math.abs( │ │ │ +0000ef50: 7829 3b0a 2020 2020 7920 3d20 4d61 7468 x);. y = Math │ │ │ +0000ef60: 2e61 6273 2879 293b 0a20 2020 2077 6869 .abs(y);. whi │ │ │ +0000ef70: 6c65 2028 7929 207b 0a20 2020 2020 2020 le (y) {. │ │ │ +0000ef80: 207a 203d 2078 2025 2079 3b0a 2020 2020 z = x % y;. │ │ │ +0000ef90: 2020 2020 7820 3d20 793b 0a20 2020 2020 x = y;. │ │ │ +0000efa0: 2020 2079 203d 207a 3b0a 2020 2020 7d0a y = z;. }. │ │ │ +0000efb0: 2020 2020 7265 7475 726e 2078 3b0a 7d3b return x;.}; │ │ │ +0000efc0: 0a65 7870 6f72 7473 2e5f 7072 696d 466c .exports._primFl │ │ │ +0000efd0: 6f61 7452 6f75 6e64 203d 2066 756e 6374 oatRound = funct │ │ │ +0000efe0: 696f 6e28 7829 207b 0a20 2020 2069 6620 ion(x) {. if │ │ │ +0000eff0: 2865 7870 6f72 7473 2e70 7269 6d46 6c6f (exports.primFlo │ │ │ +0000f000: 6174 4973 4e61 4e28 7829 207c 7c20 6578 atIsNaN(x) || ex │ │ │ +0000f010: 706f 7274 732e 7072 696d 466c 6f61 7449 ports.primFloatI │ │ │ +0000f020: 7349 6e66 696e 6974 6528 7829 2920 7b0a sInfinite(x)) {. │ │ │ +0000f030: 2020 2020 2020 2020 7265 7475 726e 206e return n │ │ │ +0000f040: 756c 6c3b 0a20 2020 207d 0a20 2020 2065 ull;. }. e │ │ │ +0000f050: 6c73 6520 7b0a 2020 2020 2020 2020 7265 lse {. re │ │ │ +0000f060: 7475 726e 2042 6967 496e 7428 4d61 7468 turn BigInt(Math │ │ │ +0000f070: 2e72 6f75 6e64 2878 2929 3b0a 2020 2020 .round(x));. │ │ │ +0000f080: 7d0a 7d3b 0a65 7870 6f72 7473 2e5f 7072 }.};.exports._pr │ │ │ +0000f090: 696d 466c 6f61 7446 6c6f 6f72 203d 2066 imFloatFloor = f │ │ │ +0000f0a0: 756e 6374 696f 6e28 7829 207b 0a20 2020 unction(x) {. │ │ │ +0000f0b0: 2069 6620 2865 7870 6f72 7473 2e70 7269 if (exports.pri │ │ │ +0000f0c0: 6d46 6c6f 6174 4973 4e61 4e28 7829 207c mFloatIsNaN(x) | │ │ │ +0000f0d0: 7c20 6578 706f 7274 732e 7072 696d 466c | exports.primFl │ │ │ +0000f0e0: 6f61 7449 7349 6e66 696e 6974 6528 7829 oatIsInfinite(x) │ │ │ +0000f0f0: 2920 7b0a 2020 2020 2020 2020 7265 7475 ) {. retu │ │ │ +0000f100: 726e 206e 756c 6c3b 0a20 2020 207d 0a20 rn null;. }. │ │ │ +0000f110: 2020 2065 6c73 6520 7b0a 2020 2020 2020 else {. │ │ │ +0000f120: 2020 7265 7475 726e 2042 6967 496e 7428 return BigInt( │ │ │ +0000f130: 4d61 7468 2e66 6c6f 6f72 2878 2929 3b0a Math.floor(x));. │ │ │ +0000f140: 2020 2020 7d0a 7d3b 0a65 7870 6f72 7473 }.};.exports │ │ │ +0000f150: 2e5f 7072 696d 466c 6f61 7443 6569 6c69 ._primFloatCeili │ │ │ +0000f160: 6e67 203d 2066 756e 6374 696f 6e28 7829 ng = function(x) │ │ │ +0000f170: 207b 0a20 2020 2069 6620 2865 7870 6f72 {. if (expor │ │ │ +0000f180: 7473 2e70 7269 6d46 6c6f 6174 4973 4e61 ts.primFloatIsNa │ │ │ +0000f190: 4e28 7829 207c 7c20 6578 706f 7274 732e N(x) || exports. │ │ │ +0000f1a0: 7072 696d 466c 6f61 7449 7349 6e66 696e primFloatIsInfin │ │ │ +0000f1b0: 6974 6528 7829 2920 7b0a 2020 2020 2020 ite(x)) {. │ │ │ +0000f1c0: 2020 7265 7475 726e 206e 756c 6c3b 0a20 return null;. │ │ │ +0000f1d0: 2020 207d 0a20 2020 2065 6c73 6520 7b0a }. else {. │ │ │ +0000f1e0: 2020 2020 2020 2020 7265 7475 726e 2042 return B │ │ │ +0000f1f0: 6967 496e 7428 4d61 7468 2e63 6569 6c28 igInt(Math.ceil( │ │ │ +0000f200: 7829 293b 0a20 2020 207d 0a7d 3b0a 6578 x));. }.};.ex │ │ │ +0000f210: 706f 7274 732e 5f70 7269 6d46 6c6f 6174 ports._primFloat │ │ │ +0000f220: 546f 5261 7469 6f20 3d20 6675 6e63 7469 ToRatio = functi │ │ │ +0000f230: 6f6e 2878 2920 7b0a 2020 2020 6966 2028 on(x) {. if ( │ │ │ +0000f240: 6578 706f 7274 732e 7072 696d 466c 6f61 exports.primFloa │ │ │ +0000f250: 7449 734e 614e 2878 2929 207b 0a20 2020 tIsNaN(x)) {. │ │ │ +0000f260: 2020 2020 2072 6574 7572 6e20 7b6e 756d return {num │ │ │ +0000f270: 6572 6174 6f72 3a20 4269 6749 6e74 2830 erator: BigInt(0 │ │ │ +0000f280: 292c 2064 656e 6f6d 696e 6174 6f72 3a20 ), denominator: │ │ │ +0000f290: 4269 6749 6e74 2830 297d 3b0a 2020 2020 BigInt(0)};. │ │ │ +0000f2a0: 7d0a 2020 2020 656c 7365 2069 6620 2878 }. else if (x │ │ │ +0000f2b0: 203c 2030 2e30 2026 2620 6578 706f 7274 < 0.0 && export │ │ │ +0000f2c0: 732e 7072 696d 466c 6f61 7449 7349 6e66 s.primFloatIsInf │ │ │ +0000f2d0: 696e 6974 6528 7829 2920 7b0a 2020 2020 inite(x)) {. │ │ │ +0000f2e0: 2020 2020 7265 7475 726e 207b 6e75 6d65 return {nume │ │ │ +0000f2f0: 7261 746f 723a 2042 6967 496e 7428 2d31 rator: BigInt(-1 │ │ │ +0000f300: 292c 2064 656e 6f6d 696e 6174 6f72 3a20 ), denominator: │ │ │ +0000f310: 4269 6749 6e74 2830 297d 3b0a 2020 2020 BigInt(0)};. │ │ │ +0000f320: 7d0a 2020 2020 656c 7365 2069 6620 2878 }. else if (x │ │ │ +0000f330: 203e 2030 2e30 2026 2620 6578 706f 7274 > 0.0 && export │ │ │ +0000f340: 732e 7072 696d 466c 6f61 7449 7349 6e66 s.primFloatIsInf │ │ │ +0000f350: 696e 6974 6528 7829 2920 7b0a 2020 2020 inite(x)) {. │ │ │ +0000f360: 2020 2020 7265 7475 726e 207b 6e75 6d65 return {nume │ │ │ +0000f370: 7261 746f 723a 2042 6967 496e 7428 3129 rator: BigInt(1) │ │ │ +0000f380: 2c20 6465 6e6f 6d69 6e61 746f 723a 2042 , denominator: B │ │ │ +0000f390: 6967 496e 7428 3029 7d3b 0a20 2020 207d igInt(0)};. } │ │ │ +0000f3a0: 0a20 2020 2065 6c73 6520 6966 2028 6578 . else if (ex │ │ │ +0000f3b0: 706f 7274 732e 7072 696d 466c 6f61 7449 ports.primFloatI │ │ │ +0000f3c0: 734e 6567 6174 6976 655a 6572 6f28 7829 sNegativeZero(x) │ │ │ +0000f3d0: 2920 7b0a 2020 2020 2020 2020 7265 7475 ) {. retu │ │ │ +0000f3e0: 726e 207b 6e75 6d65 7261 746f 723a 2042 rn {numerator: B │ │ │ +0000f3f0: 6967 496e 7428 3029 2c20 6465 6e6f 6d69 igInt(0), denomi │ │ │ +0000f400: 6e61 746f 723a 2042 6967 496e 7428 3129 nator: BigInt(1) │ │ │ +0000f410: 7d3b 0a20 2020 207d 0a20 2020 2065 6c73 };. }. els │ │ │ +0000f420: 6520 6966 2028 7820 3d3d 2030 2e30 2920 e if (x == 0.0) │ │ │ +0000f430: 7b0a 2020 2020 2020 2020 7265 7475 726e {. return │ │ │ +0000f440: 207b 6e75 6d65 7261 746f 723a 2042 6967 {numerator: Big │ │ │ +0000f450: 496e 7428 3029 2c20 6465 6e6f 6d69 6e61 Int(0), denomina │ │ │ +0000f460: 746f 723a 2042 6967 496e 7428 3129 7d3b tor: BigInt(1)}; │ │ │ +0000f470: 0a20 2020 207d 0a20 2020 2065 6c73 6520 . }. else │ │ │ +0000f480: 7b0a 2020 2020 2020 2020 7661 7220 6e75 {. var nu │ │ │ +0000f490: 6d65 7261 746f 7220 3d20 4d61 7468 2e72 merator = Math.r │ │ │ +0000f4a0: 6f75 6e64 2878 2a31 6539 293b 0a20 2020 ound(x*1e9);. │ │ │ +0000f4b0: 2020 2020 2076 6172 2064 656e 6f6d 696e var denomin │ │ │ +0000f4c0: 6174 6f72 203d 2031 6539 3b0a 2020 2020 ator = 1e9;. │ │ │ +0000f4d0: 2020 2020 7661 7220 6763 6620 3d20 5f70 var gcf = _p │ │ │ +0000f4e0: 7269 6d46 6c6f 6174 4772 6561 7465 7374 rimFloatGreatest │ │ │ +0000f4f0: 436f 6d6d 6f6e 4661 6374 6f72 286e 756d CommonFactor(num │ │ │ +0000f500: 6572 6174 6f72 2c20 6465 6e6f 6d69 6e61 erator, denomina │ │ │ +0000f510: 746f 7229 3b0a 2020 2020 2020 2020 6e75 tor);. nu │ │ │ +0000f520: 6d65 7261 746f 7220 2f3d 2067 6366 3b0a merator /= gcf;. │ │ │ +0000f530: 2020 2020 2020 2020 6465 6e6f 6d69 6e61 denomina │ │ │ +0000f540: 746f 7220 2f3d 2067 6366 3b0a 2020 2020 tor /= gcf;. │ │ │ +0000f550: 2020 2020 7265 7475 726e 207b 6e75 6d65 return {nume │ │ │ +0000f560: 7261 746f 723a 2042 6967 496e 7428 6e75 rator: BigInt(nu │ │ │ +0000f570: 6d65 7261 746f 7229 2c20 6465 6e6f 6d69 merator), denomi │ │ │ +0000f580: 6e61 746f 723a 2042 6967 496e 7428 6465 nator: BigInt(de │ │ │ +0000f590: 6e6f 6d69 6e61 746f 7229 7d3b 0a20 2020 nominator)};. │ │ │ +0000f5a0: 207d 0a7d 3b0a 6578 706f 7274 732e 5f70 }.};.exports._p │ │ │ +0000f5b0: 7269 6d46 6c6f 6174 4465 636f 6465 203d rimFloatDecode = │ │ │ +0000f5c0: 2066 756e 6374 696f 6e28 7829 207b 0a20 function(x) {. │ │ │ +0000f5d0: 2020 2069 6620 2865 7870 6f72 7473 2e70 if (exports.p │ │ │ +0000f5e0: 7269 6d46 6c6f 6174 4973 4e61 4e28 7829 rimFloatIsNaN(x) │ │ │ +0000f5f0: 2920 7b0a 2020 2020 2020 2020 7265 7475 ) {. retu │ │ │ +0000f600: 726e 206e 756c 6c3b 0a20 2020 207d 0a20 rn null;. }. │ │ │ +0000f610: 2020 2065 6c73 6520 6966 2028 7820 3c20 else if (x < │ │ │ +0000f620: 302e 3020 2626 2065 7870 6f72 7473 2e70 0.0 && exports.p │ │ │ +0000f630: 7269 6d46 6c6f 6174 4973 496e 6669 6e69 rimFloatIsInfini │ │ │ +0000f640: 7465 2878 2929 207b 0a20 2020 2020 2020 te(x)) {. │ │ │ +0000f650: 2072 6574 7572 6e20 6e75 6c6c 3b0a 2020 return null;. │ │ │ +0000f660: 2020 7d0a 2020 2020 656c 7365 2069 6620 }. else if │ │ │ +0000f670: 2878 203e 2030 2e30 2026 2620 6578 706f (x > 0.0 && expo │ │ │ +0000f680: 7274 732e 7072 696d 466c 6f61 7449 7349 rts.primFloatIsI │ │ │ +0000f690: 6e66 696e 6974 6528 7829 2920 7b0a 2020 nfinite(x)) {. │ │ │ +0000f6a0: 2020 2020 2020 7265 7475 726e 206e 756c return nul │ │ │ +0000f6b0: 6c3b 0a20 2020 207d 0a20 2020 2065 6c73 l;. }. els │ │ │ +0000f6c0: 6520 7b0a 2020 2020 2020 2020 7661 7220 e {. var │ │ │ +0000f6d0: 6d61 6e74 6973 7361 203d 2078 2c20 6578 mantissa = x, ex │ │ │ +0000f6e0: 706f 6e65 6e74 203d 2030 3b0a 2020 2020 ponent = 0;. │ │ │ +0000f6f0: 2020 2020 7768 696c 6520 2821 4e75 6d62 while (!Numb │ │ │ +0000f700: 6572 2e69 7349 6e74 6567 6572 286d 616e er.isInteger(man │ │ │ +0000f710: 7469 7373 6129 2920 7b0a 2020 2020 2020 tissa)) {. │ │ │ +0000f720: 2020 2020 2020 6d61 6e74 6973 7361 202a mantissa * │ │ │ +0000f730: 3d20 322e 303b 0a20 2020 2020 2020 2020 = 2.0;. │ │ │ +0000f740: 2020 2065 7870 6f6e 656e 7420 2d3d 2031 exponent -= 1 │ │ │ +0000f750: 3b0a 2020 2020 2020 2020 7d3b 0a20 2020 ;. };. │ │ │ +0000f760: 2020 2020 2077 6869 6c65 2028 6d61 6e74 while (mant │ │ │ +0000f770: 6973 7361 2025 2032 2e30 203d 3d3d 2030 issa % 2.0 === 0 │ │ │ +0000f780: 2920 7b0a 2020 2020 2020 2020 2020 2020 ) {. │ │ │ +0000f790: 6d61 6e74 6973 7361 202f 3d20 322e 303b mantissa /= 2.0; │ │ │ +0000f7a0: 0a20 2020 2020 2020 2020 2020 2065 7870 . exp │ │ │ +0000f7b0: 6f6e 656e 7420 2b3d 2031 3b0a 2020 2020 onent += 1;. │ │ │ +0000f7c0: 2020 2020 7d0a 2020 2020 2020 2020 7265 }. re │ │ │ +0000f7d0: 7475 726e 207b 6d61 6e74 6973 7361 3a20 turn {mantissa: │ │ │ +0000f7e0: 4269 6749 6e74 286d 616e 7469 7373 6129 BigInt(mantissa) │ │ │ +0000f7f0: 2c20 6578 706f 6e65 6e74 3a20 4269 6749 , exponent: BigI │ │ │ +0000f800: 6e74 2865 7870 6f6e 656e 7429 7d3b 0a20 nt(exponent)};. │ │ │ +0000f810: 2020 207d 0a7d 3b0a 6578 706f 7274 732e }.};.exports. │ │ │ +0000f820: 7570 7269 6d46 6c6f 6174 4571 7561 6c69 uprimFloatEquali │ │ │ +0000f830: 7479 203d 2066 756e 6374 696f 6e28 782c ty = function(x, │ │ │ +0000f840: 2079 2920 7b0a 2020 2020 7265 7475 726e y) {. return │ │ │ +0000f850: 2078 203d 3d3d 2079 3b0a 7d3b 0a65 7870 x === y;.};.exp │ │ │ +0000f860: 6f72 7473 2e70 7269 6d46 6c6f 6174 4571 orts.primFloatEq │ │ │ +0000f870: 7561 6c69 7479 203d 2066 756e 6374 696f uality = functio │ │ │ +0000f880: 6e28 7829 207b 0a20 2020 2072 6574 7572 n(x) {. retur │ │ │ +0000f890: 6e20 6675 6e63 7469 6f6e 2879 2920 7b0a n function(y) {. │ │ │ +0000f8a0: 2020 2020 2020 2020 7265 7475 726e 2065 return e │ │ │ +0000f8b0: 7870 6f72 7473 2e75 7072 696d 466c 6f61 xports.uprimFloa │ │ │ +0000f8c0: 7445 7175 616c 6974 7928 782c 2079 293b tEquality(x, y); │ │ │ +0000f8d0: 0a20 2020 207d 3b0a 7d3b 0a65 7870 6f72 . };.};.expor │ │ │ +0000f8e0: 7473 2e70 7269 6d46 6c6f 6174 496e 6571 ts.primFloatIneq │ │ │ +0000f8f0: 7561 6c69 7479 203d 2066 756e 6374 696f uality = functio │ │ │ +0000f900: 6e28 7829 207b 0a20 2020 2072 6574 7572 n(x) {. retur │ │ │ +0000f910: 6e20 6675 6e63 7469 6f6e 2879 2920 7b0a n function(y) {. │ │ │ +0000f920: 2020 2020 2020 2020 7265 7475 726e 2078 return x │ │ │ +0000f930: 203c 3d20 793b 0a20 2020 207d 3b0a 7d3b <= y;. };.}; │ │ │ +0000f940: 0a65 7870 6f72 7473 2e70 7269 6d46 6c6f .exports.primFlo │ │ │ +0000f950: 6174 4c65 7373 203d 2066 756e 6374 696f atLess = functio │ │ │ +0000f960: 6e28 7829 207b 0a20 2020 2072 6574 7572 n(x) {. retur │ │ │ +0000f970: 6e20 6675 6e63 7469 6f6e 2879 2920 7b0a n function(y) {. │ │ │ +0000f980: 2020 2020 2020 2020 7265 7475 726e 2078 return x │ │ │ +0000f990: 203c 2079 3b0a 2020 2020 7d3b 0a7d 3b0a < y;. };.};. │ │ │ +0000f9a0: 6578 706f 7274 732e 7072 696d 466c 6f61 exports.primFloa │ │ │ +0000f9b0: 7449 7349 6e66 696e 6974 6520 3d20 6675 tIsInfinite = fu │ │ │ +0000f9c0: 6e63 7469 6f6e 2878 2920 7b0a 2020 2020 nction(x) {. │ │ │ +0000f9d0: 7265 7475 726e 2021 4e75 6d62 6572 2e69 return !Number.i │ │ │ +0000f9e0: 734e 614e 2878 2920 2626 2021 4e75 6d62 sNaN(x) && !Numb │ │ │ +0000f9f0: 6572 2e69 7346 696e 6974 6528 7829 3b0a er.isFinite(x);. │ │ │ +0000fa00: 7d3b 0a65 7870 6f72 7473 2e70 7269 6d46 };.exports.primF │ │ │ +0000fa10: 6c6f 6174 4973 4e61 4e20 3d20 6675 6e63 loatIsNaN = func │ │ │ +0000fa20: 7469 6f6e 2878 2920 7b0a 2020 2020 7265 tion(x) {. re │ │ │ +0000fa30: 7475 726e 204e 756d 6265 722e 6973 4e61 turn Number.isNa │ │ │ +0000fa40: 4e28 7829 3b0a 7d3b 0a65 7870 6f72 7473 N(x);.};.exports │ │ │ +0000fa50: 2e70 7269 6d46 6c6f 6174 4973 4e65 6761 .primFloatIsNega │ │ │ +0000fa60: 7469 7665 5a65 726f 203d 2066 756e 6374 tiveZero = funct │ │ │ +0000fa70: 696f 6e28 7829 207b 0a20 2020 2072 6574 ion(x) {. ret │ │ │ +0000fa80: 7572 6e20 4f62 6a65 6374 2e69 7328 782c urn Object.is(x, │ │ │ +0000fa90: 2d30 2e30 293b 0a7d 3b0a 6578 706f 7274 -0.0);.};.export │ │ │ +0000faa0: 732e 7072 696d 466c 6f61 7449 7353 6166 s.primFloatIsSaf │ │ │ +0000fab0: 6549 6e74 6567 6572 203d 2066 756e 6374 eInteger = funct │ │ │ +0000fac0: 696f 6e28 7829 207b 0a20 2020 2072 6574 ion(x) {. ret │ │ │ +0000fad0: 7572 6e20 4e75 6d62 6572 2e69 7353 6166 urn Number.isSaf │ │ │ +0000fae0: 6549 6e74 6567 6572 2878 293b 0a7d 3b0a eInteger(x);.};. │ │ │ +0000faf0: 0a0a 2f2f 2054 6865 7365 2057 4f52 4436 ..// These WORD6 │ │ │ +0000fb00: 3420 7661 6c75 6573 2077 6572 6520 6f62 4 values were ob │ │ │ +0000fb10: 7461 696e 6564 2076 6961 2060 6361 7374 tained via `cast │ │ │ +0000fb20: 446f 7562 6c65 546f 576f 7264 3634 6020 DoubleToWord64` │ │ │ +0000fb30: 696e 2048 6173 6b65 6c6c 3a0a 636f 6e73 in Haskell:.cons │ │ │ +0000fb40: 7420 574f 5244 3634 5f4e 414e 2020 2020 t WORD64_NAN │ │ │ +0000fb50: 2020 3d20 3138 3434 3434 3932 3237 3338 = 184444922738 │ │ │ +0000fb60: 3935 3836 3633 3638 6e3b 0a63 6f6e 7374 95866368n;.const │ │ │ +0000fb70: 2057 4f52 4436 345f 504f 535f 494e 4620 WORD64_POS_INF │ │ │ +0000fb80: 203d 2039 3231 3838 3638 3433 3732 3237 = 9218868437227 │ │ │ +0000fb90: 3430 3533 3132 6e3b 0a63 6f6e 7374 2057 405312n;.const W │ │ │ +0000fba0: 4f52 4436 345f 4e45 475f 494e 4620 203d ORD64_NEG_INF = │ │ │ +0000fbb0: 2031 3834 3432 3234 3034 3734 3038 3231 184422404740821 │ │ │ +0000fbc0: 3831 3132 306e 3b0a 636f 6e73 7420 574f 81120n;.const WO │ │ │ +0000fbd0: 5244 3634 5f50 4f53 5f5a 4552 4f20 3d20 RD64_POS_ZERO = │ │ │ +0000fbe0: 306e 3b0a 636f 6e73 7420 574f 5244 3634 0n;.const WORD64 │ │ │ +0000fbf0: 5f4e 4547 5f5a 4552 4f20 3d20 3932 3233 _NEG_ZERO = 9223 │ │ │ +0000fc00: 3337 3230 3336 3835 3437 3735 3830 386e 372036854775808n │ │ │ +0000fc10: 3b0a 0a65 7870 6f72 7473 2e70 7269 6d46 ;..exports.primF │ │ │ +0000fc20: 6c6f 6174 546f 576f 7264 3634 203d 2066 loatToWord64 = f │ │ │ +0000fc30: 756e 6374 696f 6e28 7829 207b 0a20 2020 unction(x) {. │ │ │ +0000fc40: 2069 6620 2865 7870 6f72 7473 2e70 7269 if (exports.pri │ │ │ +0000fc50: 6d46 6c6f 6174 4973 4e61 4e28 7829 2920 mFloatIsNaN(x)) │ │ │ +0000fc60: 7b0a 2020 2020 2020 2020 7265 7475 726e {. return │ │ │ +0000fc70: 2057 4f52 4436 345f 4e41 4e3b 0a20 2020 WORD64_NAN;. │ │ │ +0000fc80: 207d 0a20 2020 2065 6c73 6520 6966 2028 }. else if ( │ │ │ +0000fc90: 7820 3c20 302e 3020 2626 2065 7870 6f72 x < 0.0 && expor │ │ │ +0000fca0: 7473 2e70 7269 6d46 6c6f 6174 4973 496e ts.primFloatIsIn │ │ │ +0000fcb0: 6669 6e69 7465 2878 2929 207b 0a20 2020 finite(x)) {. │ │ │ +0000fcc0: 2020 2020 2072 6574 7572 6e20 574f 5244 return WORD │ │ │ +0000fcd0: 3634 5f4e 4547 5f49 4e46 3b0a 2020 2020 64_NEG_INF;. │ │ │ +0000fce0: 7d0a 2020 2020 656c 7365 2069 6620 2878 }. else if (x │ │ │ +0000fcf0: 203e 2030 2e30 2026 2620 6578 706f 7274 > 0.0 && export │ │ │ +0000fd00: 732e 7072 696d 466c 6f61 7449 7349 6e66 s.primFloatIsInf │ │ │ +0000fd10: 696e 6974 6528 7829 2920 7b0a 2020 2020 inite(x)) {. │ │ │ +0000fd20: 2020 2020 7265 7475 726e 2057 4f52 4436 return WORD6 │ │ │ +0000fd30: 345f 504f 535f 494e 463b 0a20 2020 207d 4_POS_INF;. } │ │ │ +0000fd40: 0a20 2020 2065 6c73 6520 6966 2028 6578 . else if (ex │ │ │ +0000fd50: 706f 7274 732e 7072 696d 466c 6f61 7449 ports.primFloatI │ │ │ +0000fd60: 734e 6567 6174 6976 655a 6572 6f28 7829 sNegativeZero(x) │ │ │ +0000fd70: 2920 7b0a 2020 2020 2020 2020 7265 7475 ) {. retu │ │ │ +0000fd80: 726e 2057 4f52 4436 345f 4e45 475f 5a45 rn WORD64_NEG_ZE │ │ │ +0000fd90: 524f 3b0a 2020 2020 7d0a 2020 2020 656c RO;. }. el │ │ │ +0000fda0: 7365 2069 6620 2878 203d 3d20 302e 3029 se if (x == 0.0) │ │ │ +0000fdb0: 207b 0a20 2020 2020 2020 2072 6574 7572 {. retur │ │ │ +0000fdc0: 6e20 574f 5244 3634 5f50 4f53 5f5a 4552 n WORD64_POS_ZER │ │ │ +0000fdd0: 4f3b 0a20 2020 207d 0a20 2020 2065 6c73 O;. }. els │ │ │ +0000fde0: 6520 7b0a 2020 2020 2020 2020 7661 7220 e {. var │ │ │ +0000fdf0: 6d61 6e74 6973 7361 2c20 6578 706f 6e65 mantissa, expone │ │ │ +0000fe00: 6e74 3b0a 2020 2020 2020 2020 287b 6d61 nt;. ({ma │ │ │ +0000fe10: 6e74 6973 7361 2c20 6578 706f 6e65 6e74 ntissa, exponent │ │ │ +0000fe20: 7d20 3d20 6578 706f 7274 732e 5f70 7269 } = exports._pri │ │ │ +0000fe30: 6d46 6c6f 6174 4465 636f 6465 2878 2929 mFloatDecode(x)) │ │ │ +0000fe40: 3b0a 2020 2020 2020 2020 7661 7220 7369 ;. var si │ │ │ +0000fe50: 676e 203d 204d 6174 682e 7369 676e 286d gn = Math.sign(m │ │ │ +0000fe60: 616e 7469 7373 6129 3b0a 2020 2020 2020 antissa);. │ │ │ +0000fe70: 2020 636f 6e73 6f6c 652e 6c6f 6728 6d61 console.log(ma │ │ │ +0000fe80: 6e74 6973 7361 293b 0a20 2020 2020 2020 ntissa);. │ │ │ +0000fe90: 206d 616e 7469 7373 6120 2a3d 2073 6967 mantissa *= sig │ │ │ +0000fea0: 6e3b 0a20 2020 2020 2020 2073 6967 6e20 n;. sign │ │ │ +0000feb0: 3d20 2873 6967 6e20 3d3d 3d20 2d31 203f = (sign === -1 ? │ │ │ +0000fec0: 2022 3122 203a 2022 3022 293b 0a20 2020 "1" : "0");. │ │ │ +0000fed0: 2020 2020 206d 616e 7469 7373 6120 3d20 mantissa = │ │ │ +0000fee0: 286d 616e 7469 7373 612e 746f 5374 7269 (mantissa.toStri │ │ │ +0000fef0: 6e67 2832 2929 2e70 6164 5374 6172 7428 ng(2)).padStart( │ │ │ +0000ff00: 3131 2c20 2230 2229 3b0a 2020 2020 2020 11, "0");. │ │ │ +0000ff10: 2020 6578 706f 6e65 6e74 203d 2028 6d61 exponent = (ma │ │ │ +0000ff20: 6e74 6973 7361 2e74 6f53 7472 696e 6728 ntissa.toString( │ │ │ +0000ff30: 3229 292e 7061 6453 7461 7274 2835 322c 2)).padStart(52, │ │ │ +0000ff40: 2022 3022 293b 0a20 2020 2020 2020 2072 "0");. r │ │ │ +0000ff50: 6574 7572 6e20 4269 6749 6e74 2870 6172 eturn BigInt(par │ │ │ +0000ff60: 7365 496e 7428 7369 676e 202b 206d 616e seInt(sign + man │ │ │ +0000ff70: 7469 7373 6120 2b20 6578 706f 6e65 6e74 tissa + exponent │ │ │ +0000ff80: 2c20 3229 293b 0a20 2020 207d 0a7d 3b0a , 2));. }.};. │ │ │ +0000ff90: 0a2f 2f20 7072 696d 4e61 7454 6f46 6c6f .// primNatToFlo │ │ │ +0000ffa0: 6174 203a 204e 6174 202d 3e20 466c 6f61 at : Nat -> Floa │ │ │ +0000ffb0: 740a 6578 706f 7274 732e 7072 696d 4e61 t.exports.primNa │ │ │ +0000ffc0: 7454 6f46 6c6f 6174 203d 204e 756d 6265 tToFloat = Numbe │ │ │ +0000ffd0: 723b 0a0a 2f2f 2070 7269 6d49 6e74 546f r;..// primIntTo │ │ │ +0000ffe0: 466c 6f61 7420 3a20 496e 7420 2d3e 2046 Float : Int -> F │ │ │ +0000fff0: 6c6f 6174 0a65 7870 6f72 7473 2e70 7269 loat.exports.pri │ │ │ +00010000: 6d49 6e74 546f 466c 6f61 7420 3d20 4e75 mIntToFloat = Nu │ │ │ +00010010: 6d62 6572 3b0a 0a2f 2f20 7072 696d 5261 mber;..// primRa │ │ │ +00010020: 7469 6f54 6f46 6c6f 6174 203a 2049 6e74 tioToFloat : Int │ │ │ +00010030: 202d 3e20 496e 7420 2d3e 2046 6c6f 6174 -> Int -> Float │ │ │ +00010040: 0a65 7870 6f72 7473 2e70 7269 6d52 6174 .exports.primRat │ │ │ +00010050: 696f 546f 466c 6f61 7420 3d20 7820 3d3e ioToFloat = x => │ │ │ +00010060: 2079 203d 3e20 4e75 6d62 6572 2878 2920 y => Number(x) │ │ │ +00010070: 2f20 4e75 6d62 6572 2879 293b 0a0a 2f2f / Number(y);..// │ │ │ +00010080: 2075 7072 696d 466c 6f61 7445 6e63 6f64 uprimFloatEncod │ │ │ +00010090: 6520 3a20 2849 6e74 2c20 496e 7429 202d e : (Int, Int) - │ │ │ +000100a0: 3e20 4d61 7962 6520 466c 6f61 740a 6578 > Maybe Float.ex │ │ │ +000100b0: 706f 7274 732e 7570 7269 6d46 6c6f 6174 ports.uprimFloat │ │ │ +000100c0: 456e 636f 6465 203d 2028 782c 2079 2920 Encode = (x, y) │ │ │ +000100d0: 3d3e 207b 0a20 2063 6f6e 7374 206d 616e => {. const man │ │ │ +000100e0: 7469 7373 6120 3d20 4e75 6d62 6572 2878 tissa = Number(x │ │ │ +000100f0: 293b 0a20 2063 6f6e 7374 2065 7870 6f6e );. const expon │ │ │ +00010100: 656e 7420 3d20 4e75 6d62 6572 2879 293b ent = Number(y); │ │ │ +00010110: 0a0a 2020 6966 2028 4e75 6d62 6572 2e69 .. if (Number.i │ │ │ +00010120: 7353 6166 6549 6e74 6567 6572 286d 616e sSafeInteger(man │ │ │ +00010130: 7469 7373 6129 2026 2620 2d31 3032 3420 tissa) && -1024 │ │ │ +00010140: 3c3d 2065 7870 6f6e 656e 7420 2626 2065 <= exponent && e │ │ │ +00010150: 7870 6f6e 656e 7420 3c3d 2031 3032 3429 xponent <= 1024) │ │ │ +00010160: 207b 0a20 2020 2072 6574 7572 6e20 6d61 {. return ma │ │ │ +00010170: 6e74 6973 7361 202a 2028 3220 2a2a 2065 ntissa * (2 ** e │ │ │ +00010180: 7870 6f6e 656e 7429 3b0a 2020 7d0a 0a20 xponent);. }.. │ │ │ +00010190: 2065 6c73 6520 7b0a 2020 2020 7265 7475 else {. retu │ │ │ +000101a0: 726e 206e 756c 6c3b 0a20 207d 0a7d 3b0a rn null;. }.};. │ │ │ +000101b0: 0a65 7870 6f72 7473 2e70 7269 6d53 686f .exports.primSho │ │ │ +000101c0: 7746 6c6f 6174 203d 2066 756e 6374 696f wFloat = functio │ │ │ +000101d0: 6e28 7829 207b 0a20 2020 202f 2f20 5365 n(x) {. // Se │ │ │ +000101e0: 6520 4973 7375 6520 2332 3139 322e 0a20 e Issue #2192.. │ │ │ +000101f0: 2020 2069 6620 284e 756d 6265 722e 6973 if (Number.is │ │ │ +00010200: 496e 7465 6765 7228 7829 2920 7b0a 2020 Integer(x)) {. │ │ │ +00010210: 2020 2020 2020 6966 2028 6578 706f 7274 if (export │ │ │ +00010220: 732e 7072 696d 466c 6f61 7449 734e 6567 s.primFloatIsNeg │ │ │ +00010230: 6174 6976 655a 6572 6f28 7829 2920 7b0a ativeZero(x)) {. │ │ │ +00010240: 2020 2020 2020 2020 2020 2020 7265 7475 retu │ │ │ +00010250: 726e 2028 222d 302e 3022 293b 0a20 2020 rn ("-0.0");. │ │ │ +00010260: 2020 2020 207d 2065 6c73 6520 7b0a 2020 } else {. │ │ │ +00010270: 2020 2020 2020 2020 2020 7265 7475 726e return │ │ │ +00010280: 2028 782e 746f 5374 7269 6e67 2829 202b (x.toString() + │ │ │ +00010290: 2022 2e30 2229 3b0a 2020 2020 2020 2020 ".0");. │ │ │ +000102a0: 7d0a 2020 2020 7d20 656c 7365 207b 0a20 }. } else {. │ │ │ +000102b0: 2020 2020 2020 2072 6574 7572 6e20 782e return x. │ │ │ +000102c0: 746f 5374 7269 6e67 2829 3b0a 2020 2020 toString();. │ │ │ +000102d0: 7d0a 7d3b 0a65 7870 6f72 7473 2e70 7269 }.};.exports.pri │ │ │ +000102e0: 6d46 6c6f 6174 506c 7573 203d 2066 756e mFloatPlus = fun │ │ │ +000102f0: 6374 696f 6e28 7829 207b 0a20 2020 2072 ction(x) {. r │ │ │ +00010300: 6574 7572 6e20 6675 6e63 7469 6f6e 2879 eturn function(y │ │ │ +00010310: 2920 7b0a 2020 2020 2020 2020 7265 7475 ) {. retu │ │ │ +00010320: 726e 2078 202b 2079 3b0a 2020 2020 7d3b rn x + y;. }; │ │ │ +00010330: 0a7d 3b0a 6578 706f 7274 732e 7072 696d .};.exports.prim │ │ │ +00010340: 466c 6f61 744d 696e 7573 203d 2066 756e FloatMinus = fun │ │ │ +00010350: 6374 696f 6e28 7829 207b 0a20 2020 2072 ction(x) {. r │ │ │ +00010360: 6574 7572 6e20 6675 6e63 7469 6f6e 2879 eturn function(y │ │ │ +00010370: 2920 7b0a 2020 2020 2020 2020 7265 7475 ) {. retu │ │ │ +00010380: 726e 2078 202d 2079 3b0a 2020 2020 7d3b rn x - y;. }; │ │ │ +00010390: 0a7d 3b0a 6578 706f 7274 732e 7072 696d .};.exports.prim │ │ │ +000103a0: 466c 6f61 7454 696d 6573 203d 2066 756e FloatTimes = fun │ │ │ +000103b0: 6374 696f 6e28 7829 207b 0a20 2020 2072 ction(x) {. r │ │ │ +000103c0: 6574 7572 6e20 6675 6e63 7469 6f6e 2879 eturn function(y │ │ │ +000103d0: 2920 7b0a 2020 2020 2020 2020 7265 7475 ) {. retu │ │ │ +000103e0: 726e 2078 202a 2079 3b0a 2020 2020 7d3b rn x * y;. }; │ │ │ +000103f0: 0a7d 3b0a 6578 706f 7274 732e 7072 696d .};.exports.prim │ │ │ +00010400: 466c 6f61 744e 6567 6174 6520 3d20 6675 FloatNegate = fu │ │ │ +00010410: 6e63 7469 6f6e 2878 2920 7b0a 2020 2020 nction(x) {. │ │ │ +00010420: 7265 7475 726e 202d 783b 0a7d 3b0a 6578 return -x;.};.ex │ │ │ +00010430: 706f 7274 732e 7072 696d 466c 6f61 7444 ports.primFloatD │ │ │ +00010440: 6976 203d 2066 756e 6374 696f 6e28 7829 iv = function(x) │ │ │ +00010450: 207b 0a20 2072 6574 7572 6e20 6675 6e63 {. return func │ │ │ +00010460: 7469 6f6e 2879 2920 7b0a 2020 2020 7265 tion(y) {. re │ │ │ +00010470: 7475 726e 2078 202f 2079 3b0a 2020 7d3b turn x / y;. }; │ │ │ +00010480: 0a7d 3b0a 6578 706f 7274 732e 7072 696d .};.exports.prim │ │ │ +00010490: 466c 6f61 7450 6f77 203d 2066 756e 6374 FloatPow = funct │ │ │ +000104a0: 696f 6e28 7829 207b 0a20 2020 2072 6574 ion(x) {. ret │ │ │ +000104b0: 7572 6e20 6675 6e63 7469 6f6e 2879 2920 urn function(y) │ │ │ +000104c0: 7b0a 2020 2020 2020 2020 7265 7475 726e {. return │ │ │ +000104d0: 2078 202a 2a20 793b 0a20 2020 207d 3b0a x ** y;. };. │ │ │ +000104e0: 7d3b 0a65 7870 6f72 7473 2e70 7269 6d46 };.exports.primF │ │ │ +000104f0: 6c6f 6174 5371 7274 203d 2066 756e 6374 loatSqrt = funct │ │ │ +00010500: 696f 6e28 7829 207b 0a20 2020 2072 6574 ion(x) {. ret │ │ │ +00010510: 7572 6e20 4d61 7468 2e73 7172 7428 7829 urn Math.sqrt(x) │ │ │ +00010520: 3b0a 7d3b 0a65 7870 6f72 7473 2e70 7269 ;.};.exports.pri │ │ │ +00010530: 6d46 6c6f 6174 4578 7020 3d20 6675 6e63 mFloatExp = func │ │ │ +00010540: 7469 6f6e 2878 2920 7b0a 2020 2020 7265 tion(x) {. re │ │ │ +00010550: 7475 726e 204d 6174 682e 6578 7028 7829 turn Math.exp(x) │ │ │ +00010560: 3b0a 7d3b 0a65 7870 6f72 7473 2e70 7269 ;.};.exports.pri │ │ │ +00010570: 6d46 6c6f 6174 4c6f 6720 3d20 6675 6e63 mFloatLog = func │ │ │ +00010580: 7469 6f6e 2878 2920 7b0a 2020 2020 7265 tion(x) {. re │ │ │ +00010590: 7475 726e 204d 6174 682e 6c6f 6728 7829 turn Math.log(x) │ │ │ +000105a0: 3b0a 7d3b 0a65 7870 6f72 7473 2e70 7269 ;.};.exports.pri │ │ │ +000105b0: 6d46 6c6f 6174 5369 6e20 3d20 6675 6e63 mFloatSin = func │ │ │ +000105c0: 7469 6f6e 2878 2920 7b0a 2020 2020 7265 tion(x) {. re │ │ │ +000105d0: 7475 726e 204d 6174 682e 7369 6e28 7829 turn Math.sin(x) │ │ │ +000105e0: 3b0a 7d3b 0a65 7870 6f72 7473 2e70 7269 ;.};.exports.pri │ │ │ +000105f0: 6d46 6c6f 6174 436f 7320 3d20 6675 6e63 mFloatCos = func │ │ │ +00010600: 7469 6f6e 2878 2920 7b0a 2020 2020 7265 tion(x) {. re │ │ │ +00010610: 7475 726e 204d 6174 682e 636f 7328 7829 turn Math.cos(x) │ │ │ +00010620: 3b0a 7d3b 0a65 7870 6f72 7473 2e70 7269 ;.};.exports.pri │ │ │ +00010630: 6d46 6c6f 6174 5461 6e20 3d20 6675 6e63 mFloatTan = func │ │ │ +00010640: 7469 6f6e 2878 2920 7b0a 2020 2020 7265 tion(x) {. re │ │ │ +00010650: 7475 726e 204d 6174 682e 7461 6e28 7829 turn Math.tan(x) │ │ │ +00010660: 3b0a 7d3b 0a65 7870 6f72 7473 2e70 7269 ;.};.exports.pri │ │ │ +00010670: 6d46 6c6f 6174 4153 696e 203d 2066 756e mFloatASin = fun │ │ │ +00010680: 6374 696f 6e28 7829 207b 0a20 2020 2072 ction(x) {. r │ │ │ +00010690: 6574 7572 6e20 4d61 7468 2e61 7369 6e28 eturn Math.asin( │ │ │ +000106a0: 7829 3b0a 7d3b 0a65 7870 6f72 7473 2e70 x);.};.exports.p │ │ │ +000106b0: 7269 6d46 6c6f 6174 4143 6f73 203d 2066 rimFloatACos = f │ │ │ +000106c0: 756e 6374 696f 6e28 7829 207b 0a20 2020 unction(x) {. │ │ │ +000106d0: 2072 6574 7572 6e20 4d61 7468 2e61 636f return Math.aco │ │ │ +000106e0: 7328 7829 3b0a 7d3b 0a65 7870 6f72 7473 s(x);.};.exports │ │ │ +000106f0: 2e70 7269 6d46 6c6f 6174 4154 616e 203d .primFloatATan = │ │ │ +00010700: 2066 756e 6374 696f 6e28 7829 207b 0a20 function(x) {. │ │ │ +00010710: 2020 2072 6574 7572 6e20 4d61 7468 2e61 return Math.a │ │ │ +00010720: 7461 6e28 7829 3b0a 7d3b 0a65 7870 6f72 tan(x);.};.expor │ │ │ +00010730: 7473 2e70 7269 6d46 6c6f 6174 4154 616e ts.primFloatATan │ │ │ +00010740: 3220 3d20 6675 6e63 7469 6f6e 2878 2920 2 = function(x) │ │ │ +00010750: 7b0a 2020 2020 7265 7475 726e 2066 756e {. return fun │ │ │ +00010760: 6374 696f 6e28 7929 7b0a 2020 2020 2020 ction(y){. │ │ │ +00010770: 2020 7265 7475 726e 204d 6174 682e 6174 return Math.at │ │ │ +00010780: 616e 3228 782c 2079 293b 0a20 2020 207d an2(x, y);. } │ │ │ +00010790: 3b0a 7d3b 0a65 7870 6f72 7473 2e70 7269 ;.};.exports.pri │ │ │ +000107a0: 6d46 6c6f 6174 5369 6e68 203d 2066 756e mFloatSinh = fun │ │ │ +000107b0: 6374 696f 6e28 7829 207b 0a20 2020 2072 ction(x) {. r │ │ │ +000107c0: 6574 7572 6e20 4d61 7468 2e73 696e 6828 eturn Math.sinh( │ │ │ +000107d0: 7829 3b0a 7d3b 0a65 7870 6f72 7473 2e70 x);.};.exports.p │ │ │ +000107e0: 7269 6d46 6c6f 6174 436f 7368 203d 2066 rimFloatCosh = f │ │ │ +000107f0: 756e 6374 696f 6e28 7829 207b 0a20 2020 unction(x) {. │ │ │ +00010800: 2072 6574 7572 6e20 4d61 7468 2e63 6f73 return Math.cos │ │ │ +00010810: 6828 7829 3b0a 7d3b 0a65 7870 6f72 7473 h(x);.};.exports │ │ │ +00010820: 2e70 7269 6d46 6c6f 6174 5461 6e68 203d .primFloatTanh = │ │ │ +00010830: 2066 756e 6374 696f 6e28 7829 207b 0a20 function(x) {. │ │ │ +00010840: 2020 2072 6574 7572 6e20 4d61 7468 2e74 return Math.t │ │ │ +00010850: 616e 6828 7829 3b0a 7d3b 0a65 7870 6f72 anh(x);.};.expor │ │ │ +00010860: 7473 2e70 7269 6d46 6c6f 6174 4153 696e ts.primFloatASin │ │ │ +00010870: 6820 3d20 6675 6e63 7469 6f6e 2878 2920 h = function(x) │ │ │ +00010880: 7b0a 2020 2020 7265 7475 726e 204d 6174 {. return Mat │ │ │ +00010890: 682e 6173 696e 6828 7829 3b0a 7d3b 0a65 h.asinh(x);.};.e │ │ │ +000108a0: 7870 6f72 7473 2e70 7269 6d46 6c6f 6174 xports.primFloat │ │ │ +000108b0: 4143 6f73 6820 3d20 6675 6e63 7469 6f6e ACosh = function │ │ │ +000108c0: 2878 2920 7b0a 2020 2020 7265 7475 726e (x) {. return │ │ │ +000108d0: 204d 6174 682e 6163 6f73 6828 7829 3b0a Math.acosh(x);. │ │ │ +000108e0: 7d3b 0a65 7870 6f72 7473 2e70 7269 6d46 };.exports.primF │ │ │ +000108f0: 6c6f 6174 4154 616e 6820 3d20 6675 6e63 loatATanh = func │ │ │ +00010900: 7469 6f6e 2878 2920 7b0a 2020 2020 7265 tion(x) {. re │ │ │ +00010910: 7475 726e 204d 6174 682e 6174 616e 6828 turn Math.atanh( │ │ │ +00010920: 7829 3b0a 7d3b 0a0a 2f2f 2043 7562 6963 x);.};..// Cubic │ │ │ +00010930: 616c 2070 7269 6d69 7469 7665 732e 0a65 al primitives..e │ │ │ +00010940: 7870 6f72 7473 2e70 7269 6d49 4d69 6e20 xports.primIMin │ │ │ +00010950: 3d20 7820 3d3e 2079 203d 3e20 7820 2626 = x => y => x && │ │ │ +00010960: 2079 3b0a 6578 706f 7274 732e 7072 696d y;.exports.prim │ │ │ +00010970: 494d 6178 203d 2078 203d 3e20 7920 3d3e IMax = x => y => │ │ │ +00010980: 2078 207c 7c20 793b 0a65 7870 6f72 7473 x || y;.exports │ │ │ +00010990: 2e70 7269 6d49 4e65 6720 3d20 7820 3d3e .primINeg = x => │ │ │ +000109a0: 2021 783b 0a65 7870 6f72 7473 2e70 7269 !x;.exports.pri │ │ │ +000109b0: 6d50 6172 7469 616c 203d 205f 203d 3e20 mPartial = _ => │ │ │ +000109c0: 5f20 3d3e 2078 203d 3e20 783b 0a65 7870 _ => x => x;.exp │ │ │ +000109d0: 6f72 7473 2e70 7269 6d50 6172 7469 616c orts.primPartial │ │ │ +000109e0: 5020 3d20 5f20 3d3e 205f 203d 3e20 7820 P = _ => _ => x │ │ │ +000109f0: 3d3e 2078 3b0a 6578 706f 7274 732e 7072 => x;.exports.pr │ │ │ +00010a00: 696d 504f 7220 3d20 5f20 3d3e 2069 203d imPOr = _ => i = │ │ │ +00010a10: 3e20 5f20 3d3e 205f 203d 3e20 7820 3d3e > _ => _ => x => │ │ │ +00010a20: 2079 203d 3e20 6920 3f20 7820 3a20 793b y => i ? x : y; │ │ │ +00010a30: 0a65 7870 6f72 7473 2e70 7269 6d43 6f6d .exports.primCom │ │ │ +00010a40: 7020 3d20 5f20 3d3e 205f 203d 3e20 5f20 p = _ => _ => _ │ │ │ +00010a50: 3d3e 205f 203d 3e20 7820 3d3e 2078 3b0a => _ => x => x;. │ │ │ +00010a60: 6578 706f 7274 732e 7072 696d 5472 616e exports.primTran │ │ │ +00010a70: 7370 203d 205f 203d 3e20 5f20 3d3e 205f sp = _ => _ => _ │ │ │ +00010a80: 203d 3e20 7820 3d3e 2078 3b0a 6578 706f => x => x;.expo │ │ │ +00010a90: 7274 732e 7072 696d 4843 6f6d 7020 3d20 rts.primHComp = │ │ │ +00010aa0: 5f20 3d3e 205f 203d 3e20 5f20 3d3e 205f _ => _ => _ => _ │ │ │ +00010ab0: 203d 3e20 7820 3d3e 2078 3b0a 6578 706f => x => x;.expo │ │ │ +00010ac0: 7274 732e 7072 696d 5375 624f 7574 203d rts.primSubOut = │ │ │ +00010ad0: 205f 203d 3e20 5f20 3d3e 205f 203d 3e20 _ => _ => _ => │ │ │ +00010ae0: 5f20 3d3e 2078 203d 3e20 783b 0a65 7870 _ => x => x;.exp │ │ │ +00010af0: 6f72 7473 2e70 7269 6d5f 676c 7565 5520 orts.prim_glueU │ │ │ +00010b00: 3d20 5f20 3d3e 205f 203d 3e20 5f20 3d3e = _ => _ => _ => │ │ │ +00010b10: 205f 203d 3e20 5f20 3d3e 2078 203d 3e20 _ => _ => x => │ │ │ +00010b20: 783b 0a65 7870 6f72 7473 2e70 7269 6d5f x;.exports.prim_ │ │ │ +00010b30: 756e 676c 7565 5520 3d20 5f20 3d3e 205f unglueU = _ => _ │ │ │ +00010b40: 203d 3e20 5f20 3d3e 205f 203d 3e20 7820 => _ => _ => x │ │ │ +00010b50: 3d3e 2078 3b0a 6578 706f 7274 732e 7072 => x;.exports.pr │ │ │ +00010b60: 696d 4661 6365 466f 7261 6c6c 203d 2066 imFaceForall = f │ │ │ +00010b70: 203d 3e20 6628 7472 7565 2920 3d3d 2074 => f(true) == t │ │ │ +00010b80: 7275 6520 2626 2066 2866 616c 7365 2920 rue && f(false) │ │ │ +00010b90: 3d3d 2066 616c 7365 3b0a 0a2f 2f20 4f74 == false;..// Ot │ │ │ +00010ba0: 6865 7220 7374 7566 660a 0a2f 2f20 7072 her stuff..// pr │ │ │ +00010bb0: 696d 5365 7120 3a20 2858 2c20 5929 202d imSeq : (X, Y) - │ │ │ +00010bc0: 3e20 590a 6578 706f 7274 732e 7072 696d > Y.exports.prim │ │ │ +00010bd0: 5365 7120 3d20 2878 2c20 7929 203d 3e20 Seq = (x, y) => │ │ │ +00010be0: 793b 0a0a 2f2f 2075 7072 696d 514e 616d y;..// uprimQNam │ │ │ +00010bf0: 6545 7175 616c 6974 7920 3a20 284e 616d eEquality : (Nam │ │ │ +00010c00: 652c 204e 616d 6529 202d 3e20 426f 6f6c e, Name) -> Bool │ │ │ +00010c10: 0a65 7870 6f72 7473 2e75 7072 696d 514e .exports.uprimQN │ │ │ +00010c20: 616d 6545 7175 616c 6974 7920 3d20 2878 ameEquality = (x │ │ │ +00010c30: 2c20 7929 203d 3e20 785b 2769 6427 5d20 , y) => x['id'] │ │ │ +00010c40: 3d3d 3d20 795b 2769 6427 5d20 2626 2078 === y['id'] && x │ │ │ +00010c50: 5b27 6d6f 6475 6c65 4964 275d 203d 3d3d ['moduleId'] === │ │ │ +00010c60: 2079 5b27 6d6f 6475 6c65 4964 275d 3b0a y['moduleId'];. │ │ │ +00010c70: 0a2f 2f20 7072 696d 514e 616d 6545 7175 .// primQNameEqu │ │ │ +00010c80: 616c 6974 7920 3a20 4e61 6d65 202d 3e20 ality : Name -> │ │ │ +00010c90: 4e61 6d65 202d 3e20 426f 6f6c 0a65 7870 Name -> Bool.exp │ │ │ +00010ca0: 6f72 7473 2e70 7269 6d51 4e61 6d65 4571 orts.primQNameEq │ │ │ +00010cb0: 7561 6c69 7479 203d 2078 203d 3e20 7920 uality = x => y │ │ │ +00010cc0: 3d3e 2065 7870 6f72 7473 2e75 7072 696d => exports.uprim │ │ │ +00010cd0: 514e 616d 6545 7175 616c 6974 7928 782c QNameEquality(x, │ │ │ +00010ce0: 2079 293b 0a0a 2f2f 2070 7269 6d51 4e61 y);..// primQNa │ │ │ +00010cf0: 6d65 4c65 7373 203a 204e 616d 6520 2d3e meLess : Name -> │ │ │ +00010d00: 204e 616d 6520 2d3e 2042 6f6f 6c0a 6578 Name -> Bool.ex │ │ │ +00010d10: 706f 7274 732e 7072 696d 514e 616d 654c ports.primQNameL │ │ │ +00010d20: 6573 7320 3d20 7820 3d3e 2079 203d 3e20 ess = x => y => │ │ │ +00010d30: 785b 2769 6427 5d20 3d3d 3d20 795b 2769 x['id'] === y['i │ │ │ +00010d40: 6427 5d20 3f20 785b 276d 6f64 756c 6549 d'] ? x['moduleI │ │ │ +00010d50: 6427 5d20 3c20 795b 276d 6f64 756c 6549 d'] < y['moduleI │ │ │ +00010d60: 6427 5d20 3a20 785b 2769 6427 5d20 3c20 d'] : x['id'] < │ │ │ +00010d70: 795b 2769 6427 5d3b 0a0a 2f2f 2070 7269 y['id'];..// pri │ │ │ +00010d80: 6d53 686f 7751 4e61 6d65 203a 204e 616d mShowQName : Nam │ │ │ +00010d90: 6520 2d3e 2053 7472 696e 670a 6578 706f e -> String.expo │ │ │ +00010da0: 7274 732e 7072 696d 5368 6f77 514e 616d rts.primShowQNam │ │ │ +00010db0: 6520 3d20 7820 3d3e 2078 5b27 6e61 6d65 e = x => x['name │ │ │ +00010dc0: 275d 3b0a 0a2f 2f20 7072 696d 514e 616d '];..// primQNam │ │ │ +00010dd0: 6546 6978 6974 7920 3a20 4e61 6d65 202d eFixity : Name - │ │ │ +00010de0: 3e20 4669 7869 7479 0a65 7870 6f72 7473 > Fixity.exports │ │ │ +00010df0: 2e70 7269 6d51 4e61 6d65 4669 7869 7479 .primQNameFixity │ │ │ +00010e00: 203d 2078 203d 3e20 785b 2766 6978 6974 = x => x['fixit │ │ │ +00010e10: 7927 5d3b 0a72 6574 7572 6e20 6578 706f y'];.return expo │ │ │ +00010e20: 7274 733b 0a7d 293b 0a97 b5c6 f0ea 9ede rts;.});........ │ │ │ +00010e30: c6f3 01d1 cad8 f781 b483 a274 0092 0100 ...........t.... │ │ │ +00010e40: 010e 6705 2000 0001 0004 0408 0307 025e ..g. ..........^ │ │ │ +00010e50: 0200 0003 0f00 0505 050b 5f0b 9301 0b61 .........._....a │ │ │ +00010e60: 0906 0100 cfd4 00ef bd82 8a9f cfa9 ef14 ................ │ │ │ +00010e70: acd3 a787 99a2 91ec e701 0093 0100 0138 ...............8 │ │ │ +00010e80: e905 8280 80e6 0800 0001 0003 0407 0402 ................ │ │ │ +00010e90: 0000 030f 0009 01cf d400 2f2f 2043 6f6e ..........// Con │ │ │ +00010ea0: 7461 696e 7320 2a6d 6f73 742a 206f 6620 tains *most* of │ │ │ +00010eb0: 7468 6520 7072 696d 6974 6976 6573 2072 the primitives r │ │ │ +00010ec0: 6571 7569 7265 6420 6279 2074 6865 204a equired by the J │ │ │ +00010ed0: 6176 6153 6372 6970 7420 6261 636b 656e avaScript backen │ │ │ +00010ee0: 642e 0a2f 2f20 2853 6f6d 652c 2065 2e67 d..// (Some, e.g │ │ │ +00010ef0: 2e2c 2074 686f 7365 2075 7369 6e67 2041 ., those using A │ │ │ +00010f00: 6764 6120 7479 7065 7320 6c69 6b65 204d gda types like M │ │ │ +00010f10: 6179 6265 2c20 6172 6520 6465 6669 6e65 aybe, are define │ │ │ +00010f20: 6420 696e 2074 6865 6972 0a2f 2f20 7265 d in their.// re │ │ │ +00010f30: 7370 6563 7469 7665 2062 7569 6c74 696e spective builtin │ │ │ +00010f40: 206d 6f64 756c 6573 2e29 0a2f 2f0a 2f2f modules.).//.// │ │ │ +00010f50: 2050 7269 6d69 7469 7665 7320 7072 6566 Primitives pref │ │ │ +00010f60: 6978 6564 2062 7920 2775 2720 6172 6520 ixed by 'u' are │ │ │ +00010f70: 756e 6375 7272 6965 6420 7661 7269 616e uncurried varian │ │ │ +00010f80: 7473 2c20 7768 6963 6820 6172 6520 736f ts, which are so │ │ │ +00010f90: 6d65 7469 6d65 730a 2f2f 2065 6d69 7474 metimes.// emitt │ │ │ +00010fa0: 6564 2062 7920 7468 6520 4a61 7661 5363 ed by the JavaSc │ │ │ +00010fb0: 7269 7074 2062 6163 6b65 6e64 2e20 5768 ript backend. Wh │ │ │ +00010fc0: 656e 6576 6572 2070 6f73 7369 626c 652c enever possible, │ │ │ +00010fd0: 2074 6865 2063 7572 7269 6564 2070 7269 the curried pri │ │ │ +00010fe0: 6d69 7469 7665 730a 2f2f 2073 686f 756c mitives.// shoul │ │ │ +00010ff0: 6420 6265 2069 6d70 6c65 6d65 6e74 6564 d be implemented │ │ │ +00011000: 2069 6e20 7465 726d 7320 6f66 2074 6865 in terms of the │ │ │ +00011010: 2075 6e63 7572 7269 6564 206f 6e65 732e uncurried ones. │ │ │ +00011020: 0a2f 2f0a 2f2f 2050 7269 6d69 7469 7665 .//.// Primitive │ │ │ +00011030: 7320 7072 6566 6978 6564 2062 7920 275f s prefixed by '_ │ │ │ +00011040: 2720 6172 6520 696e 7465 726e 616c 2076 ' are internal v │ │ │ +00011050: 6172 6961 6e74 732c 2075 7375 616c 6c79 ariants, usually │ │ │ +00011060: 2066 6f72 2074 686f 7365 2070 7269 6d69 for those primi │ │ │ +00011070: 7469 7665 730a 2f2f 2077 6869 6368 2072 tives.// which r │ │ │ +00011080: 6574 7572 6e20 4167 6461 2074 7970 6573 eturn Agda types │ │ │ +00011090: 206c 696b 6520 4d61 7962 652e 2054 6865 like Maybe. The │ │ │ +000110a0: 7365 2061 7265 206e 6576 6572 2065 6d69 se are never emi │ │ │ +000110b0: 7474 6564 2062 7920 7468 6520 636f 6d70 tted by the comp │ │ │ +000110c0: 696c 6572 2c0a 2f2f 2062 7574 2063 616e iler,.// but can │ │ │ +000110d0: 2062 6520 7573 6564 2069 6e74 6572 6e61 be used interna │ │ │ +000110e0: 6c6c 7920 746f 2064 6566 696e 6520 6f74 lly to define ot │ │ │ +000110f0: 6865 7220 7072 6566 6978 6573 2e0a 0a2f her prefixes.../ │ │ │ +00011100: 2f20 496e 7465 6765 7273 0a0a 2f2f 2070 / Integers..// p │ │ │ +00011110: 7269 6d49 6e74 6567 6572 4672 6f6d 5374 rimIntegerFromSt │ │ │ +00011120: 7269 6e67 203a 2053 7472 696e 6720 2d3e ring : String -> │ │ │ +00011130: 2049 6e74 0a65 7870 6f72 7473 2e70 7269 Int.exports.pri │ │ │ +00011140: 6d49 6e74 6567 6572 4672 6f6d 5374 7269 mIntegerFromStri │ │ │ +00011150: 6e67 203d 2042 6967 496e 743b 0a0a 2f2f ng = BigInt;..// │ │ │ +00011160: 2070 7269 6d53 686f 7749 6e74 6567 6572 primShowInteger │ │ │ +00011170: 203a 2049 6e74 202d 3e20 5374 7269 6e67 : Int -> String │ │ │ +00011180: 0a65 7870 6f72 7473 2e70 7269 6d53 686f .exports.primSho │ │ │ +00011190: 7749 6e74 6567 6572 203d 2078 203d 3e20 wInteger = x => │ │ │ +000111a0: 782e 746f 5374 7269 6e67 2829 3b0a 0a2f x.toString();../ │ │ │ +000111b0: 2f20 7570 7269 6d49 6e74 6567 6572 506c / uprimIntegerPl │ │ │ +000111c0: 7573 203a 2028 496e 742c 2049 6e74 2920 us : (Int, Int) │ │ │ +000111d0: 2d3e 2049 6e74 0a65 7870 6f72 7473 2e75 -> Int.exports.u │ │ │ +000111e0: 7072 696d 496e 7465 6765 7250 6c75 7320 primIntegerPlus │ │ │ +000111f0: 3d20 2878 2c20 7929 203d 3e20 7820 2b20 = (x, y) => x + │ │ │ +00011200: 793b 0a0a 2f2f 2075 7072 696d 496e 7465 y;..// uprimInte │ │ │ +00011210: 6765 724d 696e 7573 203a 2028 496e 742c gerMinus : (Int, │ │ │ +00011220: 2049 6e74 2920 2d3e 2049 6e74 0a65 7870 Int) -> Int.exp │ │ │ +00011230: 6f72 7473 2e75 7072 696d 496e 7465 6765 orts.uprimIntege │ │ │ +00011240: 724d 696e 7573 203d 2028 782c 2079 2920 rMinus = (x, y) │ │ │ +00011250: 3d3e 2078 202d 2079 3b0a 0a2f 2f20 7570 => x - y;..// up │ │ │ +00011260: 7269 6d49 6e74 6567 6572 4d75 6c74 6970 rimIntegerMultip │ │ │ +00011270: 6c79 203a 2028 496e 742c 2049 6e74 2920 ly : (Int, Int) │ │ │ +00011280: 2d3e 2049 6e74 0a65 7870 6f72 7473 2e75 -> Int.exports.u │ │ │ +00011290: 7072 696d 496e 7465 6765 724d 756c 7469 primIntegerMulti │ │ │ +000112a0: 706c 7920 3d20 2878 2c20 7929 203d 3e20 ply = (x, y) => │ │ │ +000112b0: 7820 2a20 793b 0a0a 2f2f 2075 7072 696d x * y;..// uprim │ │ │ +000112c0: 496e 7465 6765 7252 656d 203a 2028 496e IntegerRem : (In │ │ │ +000112d0: 742c 2049 6e74 2920 2d3e 2049 6e74 0a65 t, Int) -> Int.e │ │ │ +000112e0: 7870 6f72 7473 2e75 7072 696d 496e 7465 xports.uprimInte │ │ │ +000112f0: 6765 7252 656d 203d 2028 782c 2079 2920 gerRem = (x, y) │ │ │ +00011300: 3d3e 2078 2025 2079 3b0a 0a2f 2f20 7570 => x % y;..// up │ │ │ +00011310: 7269 6d49 6e74 6567 6572 5175 6f74 203a rimIntegerQuot : │ │ │ +00011320: 2028 496e 742c 2049 6e74 2920 2d3e 2049 (Int, Int) -> I │ │ │ +00011330: 6e74 0a65 7870 6f72 7473 2e75 7072 696d nt.exports.uprim │ │ │ +00011340: 496e 7465 6765 7251 756f 7420 3d20 2878 IntegerQuot = (x │ │ │ +00011350: 2c20 7929 203d 3e20 7820 2f20 793b 0a0a , y) => x / y;.. │ │ │ +00011360: 2f2f 2075 7072 696d 496e 7465 6765 7245 // uprimIntegerE │ │ │ +00011370: 7175 616c 203a 2028 496e 742c 2049 6e74 qual : (Int, Int │ │ │ +00011380: 2920 2d3e 2042 6f6f 6c0a 6578 706f 7274 ) -> Bool.export │ │ │ +00011390: 732e 7570 7269 6d49 6e74 6567 6572 4571 s.uprimIntegerEq │ │ │ +000113a0: 7561 6c20 3d20 2878 2c20 7929 203d 3e20 ual = (x, y) => │ │ │ +000113b0: 7820 3d3d 3d20 793b 0a0a 2f2f 2075 7072 x === y;..// upr │ │ │ +000113c0: 696d 496e 7465 6765 7247 7265 6174 6572 imIntegerGreater │ │ │ +000113d0: 4f72 4571 7561 6c54 6861 6e20 3a20 2849 OrEqualThan : (I │ │ │ +000113e0: 6e74 2c20 496e 7429 202d 3e20 426f 6f6c nt, Int) -> Bool │ │ │ +000113f0: 0a65 7870 6f72 7473 2e75 7072 696d 496e .exports.uprimIn │ │ │ +00011400: 7465 6765 7247 7265 6174 6572 4f72 4571 tegerGreaterOrEq │ │ │ +00011410: 7561 6c54 6861 6e20 3d20 2878 2c20 7929 ualThan = (x, y) │ │ │ +00011420: 203d 3e20 7820 3e3d 2079 3b0a 0a2f 2f20 => x >= y;..// │ │ │ +00011430: 7570 7269 6d49 6e74 6567 6572 4c65 7373 uprimIntegerLess │ │ │ +00011440: 5468 616e 203a 2028 496e 742c 2049 6e74 Than : (Int, Int │ │ │ +00011450: 2920 2d3e 2042 6f6f 6c0a 6578 706f 7274 ) -> Bool.export │ │ │ +00011460: 732e 7570 7269 6d49 6e74 6567 6572 4c65 s.uprimIntegerLe │ │ │ +00011470: 7373 5468 616e 203d 2028 782c 2079 2920 ssThan = (x, y) │ │ │ +00011480: 3d3e 2078 203c 2079 3b0a 0a2f 2f20 576f => x < y;..// Wo │ │ │ +00011490: 7264 730a 636f 6e73 7420 574f 5244 3634 rds.const WORD64 │ │ │ +000114a0: 5f4d 4158 5f56 414c 5545 203d 2031 3834 _MAX_VALUE = 184 │ │ │ +000114b0: 3436 3734 3430 3733 3730 3935 3532 3030 4674407370955200 │ │ │ +000114c0: 306e 3b0a 0a2f 2f20 7072 696d 576f 7264 0n;..// primWord │ │ │ +000114d0: 3634 546f 4e61 7420 3a20 576f 7264 3634 64ToNat : Word64 │ │ │ +000114e0: 202d 3e20 4e61 740a 6578 706f 7274 732e -> Nat.exports. │ │ │ +000114f0: 7072 696d 576f 7264 3634 546f 4e61 7420 primWord64ToNat │ │ │ +00011500: 3d20 7820 3d3e 2078 3b0a 0a2f 2f20 7072 = x => x;..// pr │ │ │ +00011510: 696d 576f 7264 3634 4672 6f6d 4e61 7420 imWord64FromNat │ │ │ +00011520: 3a20 4e61 7420 2d3e 2057 6f72 6436 340a : Nat -> Word64. │ │ │ +00011530: 6578 706f 7274 732e 7072 696d 576f 7264 exports.primWord │ │ │ +00011540: 3634 4672 6f6d 4e61 7420 3d20 7820 3d3e 64FromNat = x => │ │ │ +00011550: 2078 2025 2057 4f52 4436 345f 4d41 585f x % WORD64_MAX_ │ │ │ +00011560: 5641 4c55 453b 0a0a 2f2f 2075 7072 696d VALUE;..// uprim │ │ │ +00011570: 576f 7264 3634 506c 7573 203a 2028 576f Word64Plus : (Wo │ │ │ +00011580: 7264 3634 2c20 576f 7264 3634 2920 2d3e rd64, Word64) -> │ │ │ +00011590: 2057 6f72 6436 340a 6578 706f 7274 732e Word64.exports. │ │ │ +000115a0: 7570 7269 6d57 6f72 6436 3450 6c75 7320 uprimWord64Plus │ │ │ +000115b0: 3d20 2878 2c20 7929 203d 3e20 2878 202b = (x, y) => (x + │ │ │ +000115c0: 2079 2920 2520 574f 5244 3634 5f4d 4158 y) % WORD64_MAX │ │ │ +000115d0: 5f56 414c 5545 3b0a 0a2f 2f20 7570 7269 _VALUE;..// upri │ │ │ +000115e0: 6d57 6f72 6436 344d 696e 7573 203a 2028 mWord64Minus : ( │ │ │ +000115f0: 576f 7264 3634 2c20 576f 7264 3634 2920 Word64, Word64) │ │ │ +00011600: 2d3e 2057 6f72 6436 340a 6578 706f 7274 -> Word64.export │ │ │ +00011610: 732e 7570 7269 6d57 6f72 6436 344d 696e s.uprimWord64Min │ │ │ +00011620: 7573 203d 2028 782c 2079 2920 3d3e 2028 us = (x, y) => ( │ │ │ +00011630: 7820 2b20 574f 5244 3634 5f4d 4158 5f56 x + WORD64_MAX_V │ │ │ +00011640: 414c 5545 202d 2079 2920 2520 574f 5244 ALUE - y) % WORD │ │ │ +00011650: 3634 5f4d 4158 5f56 414c 5545 3b0a 0a2f 64_MAX_VALUE;../ │ │ │ +00011660: 2f20 7570 7269 6d57 6f72 6436 344d 756c / uprimWord64Mul │ │ │ +00011670: 7469 706c 7920 3a20 2857 6f72 6436 342c tiply : (Word64, │ │ │ +00011680: 2057 6f72 6436 3429 202d 3e20 576f 7264 Word64) -> Word │ │ │ +00011690: 3634 0a65 7870 6f72 7473 2e75 7072 696d 64.exports.uprim │ │ │ +000116a0: 576f 7264 3634 4d75 6c74 6970 6c79 203d Word64Multiply = │ │ │ +000116b0: 2028 782c 2079 2920 3d3e 2028 7820 2a20 (x, y) => (x * │ │ │ +000116c0: 7929 2025 2057 4f52 4436 345f 4d41 585f y) % WORD64_MAX_ │ │ │ +000116d0: 5641 4c55 453b 0a0a 2f2f 204e 6174 7572 VALUE;..// Natur │ │ │ +000116e0: 616c 206e 756d 6265 7273 0a0a 2f2f 2070 al numbers..// p │ │ │ +000116f0: 7269 6d4e 6174 4d69 6e75 7320 3a20 4e61 rimNatMinus : Na │ │ │ +00011700: 7420 2d3e 204e 6174 202d 3e20 4e61 740a t -> Nat -> Nat. │ │ │ +00011710: 6578 706f 7274 732e 7072 696d 4e61 744d exports.primNatM │ │ │ +00011720: 696e 7573 203d 2078 203d 3e20 7920 3d3e inus = x => y => │ │ │ +00011730: 207b 0a20 2063 6f6e 7374 207a 203d 2078 {. const z = x │ │ │ +00011740: 202d 2079 3b0a 2020 7265 7475 726e 207a - y;. return z │ │ │ +00011750: 203c 2030 6e20 3f20 306e 203a 207a 3b0a < 0n ? 0n : z;. │ │ │ +00011760: 7d3b 0a0a 2f2f 2046 6c6f 6174 696e 672d };..// Floating- │ │ │ +00011770: 706f 696e 7420 6e75 6d62 6572 730a 7661 point numbers.va │ │ │ +00011780: 7220 5f70 7269 6d46 6c6f 6174 4772 6561 r _primFloatGrea │ │ │ +00011790: 7465 7374 436f 6d6d 6f6e 4661 6374 6f72 testCommonFactor │ │ │ +000117a0: 203d 2066 756e 6374 696f 6e28 782c 2079 = function(x, y │ │ │ +000117b0: 2920 7b0a 2020 2020 7661 7220 7a3b 0a20 ) {. var z;. │ │ │ +000117c0: 2020 2078 203d 204d 6174 682e 6162 7328 x = Math.abs( │ │ │ +000117d0: 7829 3b0a 2020 2020 7920 3d20 4d61 7468 x);. y = Math │ │ │ +000117e0: 2e61 6273 2879 293b 0a20 2020 2077 6869 .abs(y);. whi │ │ │ +000117f0: 6c65 2028 7929 207b 0a20 2020 2020 2020 le (y) {. │ │ │ +00011800: 207a 203d 2078 2025 2079 3b0a 2020 2020 z = x % y;. │ │ │ +00011810: 2020 2020 7820 3d20 793b 0a20 2020 2020 x = y;. │ │ │ +00011820: 2020 2079 203d 207a 3b0a 2020 2020 7d0a y = z;. }. │ │ │ +00011830: 2020 2020 7265 7475 726e 2078 3b0a 7d3b return x;.}; │ │ │ +00011840: 0a65 7870 6f72 7473 2e5f 7072 696d 466c .exports._primFl │ │ │ +00011850: 6f61 7452 6f75 6e64 203d 2066 756e 6374 oatRound = funct │ │ │ +00011860: 696f 6e28 7829 207b 0a20 2020 2069 6620 ion(x) {. if │ │ │ +00011870: 2865 7870 6f72 7473 2e70 7269 6d46 6c6f (exports.primFlo │ │ │ +00011880: 6174 4973 4e61 4e28 7829 207c 7c20 6578 atIsNaN(x) || ex │ │ │ +00011890: 706f 7274 732e 7072 696d 466c 6f61 7449 ports.primFloatI │ │ │ +000118a0: 7349 6e66 696e 6974 6528 7829 2920 7b0a sInfinite(x)) {. │ │ │ +000118b0: 2020 2020 2020 2020 7265 7475 726e 206e return n │ │ │ +000118c0: 756c 6c3b 0a20 2020 207d 0a20 2020 2065 ull;. }. e │ │ │ +000118d0: 6c73 6520 7b0a 2020 2020 2020 2020 7265 lse {. re │ │ │ +000118e0: 7475 726e 2042 6967 496e 7428 4d61 7468 turn BigInt(Math │ │ │ +000118f0: 2e72 6f75 6e64 2878 2929 3b0a 2020 2020 .round(x));. │ │ │ +00011900: 7d0a 7d3b 0a65 7870 6f72 7473 2e5f 7072 }.};.exports._pr │ │ │ +00011910: 696d 466c 6f61 7446 6c6f 6f72 203d 2066 imFloatFloor = f │ │ │ +00011920: 756e 6374 696f 6e28 7829 207b 0a20 2020 unction(x) {. │ │ │ +00011930: 2069 6620 2865 7870 6f72 7473 2e70 7269 if (exports.pri │ │ │ +00011940: 6d46 6c6f 6174 4973 4e61 4e28 7829 207c mFloatIsNaN(x) | │ │ │ +00011950: 7c20 6578 706f 7274 732e 7072 696d 466c | exports.primFl │ │ │ +00011960: 6f61 7449 7349 6e66 696e 6974 6528 7829 oatIsInfinite(x) │ │ │ +00011970: 2920 7b0a 2020 2020 2020 2020 7265 7475 ) {. retu │ │ │ +00011980: 726e 206e 756c 6c3b 0a20 2020 207d 0a20 rn null;. }. │ │ │ +00011990: 2020 2065 6c73 6520 7b0a 2020 2020 2020 else {. │ │ │ +000119a0: 2020 7265 7475 726e 2042 6967 496e 7428 return BigInt( │ │ │ +000119b0: 4d61 7468 2e66 6c6f 6f72 2878 2929 3b0a Math.floor(x));. │ │ │ +000119c0: 2020 2020 7d0a 7d3b 0a65 7870 6f72 7473 }.};.exports │ │ │ +000119d0: 2e5f 7072 696d 466c 6f61 7443 6569 6c69 ._primFloatCeili │ │ │ +000119e0: 6e67 203d 2066 756e 6374 696f 6e28 7829 ng = function(x) │ │ │ +000119f0: 207b 0a20 2020 2069 6620 2865 7870 6f72 {. if (expor │ │ │ +00011a00: 7473 2e70 7269 6d46 6c6f 6174 4973 4e61 ts.primFloatIsNa │ │ │ +00011a10: 4e28 7829 207c 7c20 6578 706f 7274 732e N(x) || exports. │ │ │ +00011a20: 7072 696d 466c 6f61 7449 7349 6e66 696e primFloatIsInfin │ │ │ +00011a30: 6974 6528 7829 2920 7b0a 2020 2020 2020 ite(x)) {. │ │ │ +00011a40: 2020 7265 7475 726e 206e 756c 6c3b 0a20 return null;. │ │ │ +00011a50: 2020 207d 0a20 2020 2065 6c73 6520 7b0a }. else {. │ │ │ +00011a60: 2020 2020 2020 2020 7265 7475 726e 2042 return B │ │ │ +00011a70: 6967 496e 7428 4d61 7468 2e63 6569 6c28 igInt(Math.ceil( │ │ │ +00011a80: 7829 293b 0a20 2020 207d 0a7d 3b0a 6578 x));. }.};.ex │ │ │ +00011a90: 706f 7274 732e 5f70 7269 6d46 6c6f 6174 ports._primFloat │ │ │ +00011aa0: 546f 5261 7469 6f20 3d20 6675 6e63 7469 ToRatio = functi │ │ │ +00011ab0: 6f6e 2878 2920 7b0a 2020 2020 6966 2028 on(x) {. if ( │ │ │ +00011ac0: 6578 706f 7274 732e 7072 696d 466c 6f61 exports.primFloa │ │ │ +00011ad0: 7449 734e 614e 2878 2929 207b 0a20 2020 tIsNaN(x)) {. │ │ │ +00011ae0: 2020 2020 2072 6574 7572 6e20 7b6e 756d return {num │ │ │ +00011af0: 6572 6174 6f72 3a20 4269 6749 6e74 2830 erator: BigInt(0 │ │ │ +00011b00: 292c 2064 656e 6f6d 696e 6174 6f72 3a20 ), denominator: │ │ │ +00011b10: 4269 6749 6e74 2830 297d 3b0a 2020 2020 BigInt(0)};. │ │ │ +00011b20: 7d0a 2020 2020 656c 7365 2069 6620 2878 }. else if (x │ │ │ +00011b30: 203c 2030 2e30 2026 2620 6578 706f 7274 < 0.0 && export │ │ │ +00011b40: 732e 7072 696d 466c 6f61 7449 7349 6e66 s.primFloatIsInf │ │ │ +00011b50: 696e 6974 6528 7829 2920 7b0a 2020 2020 inite(x)) {. │ │ │ +00011b60: 2020 2020 7265 7475 726e 207b 6e75 6d65 return {nume │ │ │ +00011b70: 7261 746f 723a 2042 6967 496e 7428 2d31 rator: BigInt(-1 │ │ │ +00011b80: 292c 2064 656e 6f6d 696e 6174 6f72 3a20 ), denominator: │ │ │ +00011b90: 4269 6749 6e74 2830 297d 3b0a 2020 2020 BigInt(0)};. │ │ │ +00011ba0: 7d0a 2020 2020 656c 7365 2069 6620 2878 }. else if (x │ │ │ +00011bb0: 203e 2030 2e30 2026 2620 6578 706f 7274 > 0.0 && export │ │ │ +00011bc0: 732e 7072 696d 466c 6f61 7449 7349 6e66 s.primFloatIsInf │ │ │ +00011bd0: 696e 6974 6528 7829 2920 7b0a 2020 2020 inite(x)) {. │ │ │ +00011be0: 2020 2020 7265 7475 726e 207b 6e75 6d65 return {nume │ │ │ +00011bf0: 7261 746f 723a 2042 6967 496e 7428 3129 rator: BigInt(1) │ │ │ +00011c00: 2c20 6465 6e6f 6d69 6e61 746f 723a 2042 , denominator: B │ │ │ +00011c10: 6967 496e 7428 3029 7d3b 0a20 2020 207d igInt(0)};. } │ │ │ +00011c20: 0a20 2020 2065 6c73 6520 6966 2028 6578 . else if (ex │ │ │ +00011c30: 706f 7274 732e 7072 696d 466c 6f61 7449 ports.primFloatI │ │ │ +00011c40: 734e 6567 6174 6976 655a 6572 6f28 7829 sNegativeZero(x) │ │ │ +00011c50: 2920 7b0a 2020 2020 2020 2020 7265 7475 ) {. retu │ │ │ +00011c60: 726e 207b 6e75 6d65 7261 746f 723a 2042 rn {numerator: B │ │ │ +00011c70: 6967 496e 7428 3029 2c20 6465 6e6f 6d69 igInt(0), denomi │ │ │ +00011c80: 6e61 746f 723a 2042 6967 496e 7428 3129 nator: BigInt(1) │ │ │ +00011c90: 7d3b 0a20 2020 207d 0a20 2020 2065 6c73 };. }. els │ │ │ +00011ca0: 6520 6966 2028 7820 3d3d 2030 2e30 2920 e if (x == 0.0) │ │ │ +00011cb0: 7b0a 2020 2020 2020 2020 7265 7475 726e {. return │ │ │ +00011cc0: 207b 6e75 6d65 7261 746f 723a 2042 6967 {numerator: Big │ │ │ +00011cd0: 496e 7428 3029 2c20 6465 6e6f 6d69 6e61 Int(0), denomina │ │ │ +00011ce0: 746f 723a 2042 6967 496e 7428 3129 7d3b tor: BigInt(1)}; │ │ │ +00011cf0: 0a20 2020 207d 0a20 2020 2065 6c73 6520 . }. else │ │ │ +00011d00: 7b0a 2020 2020 2020 2020 7661 7220 6e75 {. var nu │ │ │ +00011d10: 6d65 7261 746f 7220 3d20 4d61 7468 2e72 merator = Math.r │ │ │ +00011d20: 6f75 6e64 2878 2a31 6539 293b 0a20 2020 ound(x*1e9);. │ │ │ +00011d30: 2020 2020 2076 6172 2064 656e 6f6d 696e var denomin │ │ │ +00011d40: 6174 6f72 203d 2031 6539 3b0a 2020 2020 ator = 1e9;. │ │ │ +00011d50: 2020 2020 7661 7220 6763 6620 3d20 5f70 var gcf = _p │ │ │ +00011d60: 7269 6d46 6c6f 6174 4772 6561 7465 7374 rimFloatGreatest │ │ │ +00011d70: 436f 6d6d 6f6e 4661 6374 6f72 286e 756d CommonFactor(num │ │ │ +00011d80: 6572 6174 6f72 2c20 6465 6e6f 6d69 6e61 erator, denomina │ │ │ +00011d90: 746f 7229 3b0a 2020 2020 2020 2020 6e75 tor);. nu │ │ │ +00011da0: 6d65 7261 746f 7220 2f3d 2067 6366 3b0a merator /= gcf;. │ │ │ +00011db0: 2020 2020 2020 2020 6465 6e6f 6d69 6e61 denomina │ │ │ +00011dc0: 746f 7220 2f3d 2067 6366 3b0a 2020 2020 tor /= gcf;. │ │ │ +00011dd0: 2020 2020 7265 7475 726e 207b 6e75 6d65 return {nume │ │ │ +00011de0: 7261 746f 723a 2042 6967 496e 7428 6e75 rator: BigInt(nu │ │ │ +00011df0: 6d65 7261 746f 7229 2c20 6465 6e6f 6d69 merator), denomi │ │ │ +00011e00: 6e61 746f 723a 2042 6967 496e 7428 6465 nator: BigInt(de │ │ │ +00011e10: 6e6f 6d69 6e61 746f 7229 7d3b 0a20 2020 nominator)};. │ │ │ +00011e20: 207d 0a7d 3b0a 6578 706f 7274 732e 5f70 }.};.exports._p │ │ │ +00011e30: 7269 6d46 6c6f 6174 4465 636f 6465 203d rimFloatDecode = │ │ │ +00011e40: 2066 756e 6374 696f 6e28 7829 207b 0a20 function(x) {. │ │ │ +00011e50: 2020 2069 6620 2865 7870 6f72 7473 2e70 if (exports.p │ │ │ +00011e60: 7269 6d46 6c6f 6174 4973 4e61 4e28 7829 rimFloatIsNaN(x) │ │ │ +00011e70: 2920 7b0a 2020 2020 2020 2020 7265 7475 ) {. retu │ │ │ +00011e80: 726e 206e 756c 6c3b 0a20 2020 207d 0a20 rn null;. }. │ │ │ +00011e90: 2020 2065 6c73 6520 6966 2028 7820 3c20 else if (x < │ │ │ +00011ea0: 302e 3020 2626 2065 7870 6f72 7473 2e70 0.0 && exports.p │ │ │ +00011eb0: 7269 6d46 6c6f 6174 4973 496e 6669 6e69 rimFloatIsInfini │ │ │ +00011ec0: 7465 2878 2929 207b 0a20 2020 2020 2020 te(x)) {. │ │ │ +00011ed0: 2072 6574 7572 6e20 6e75 6c6c 3b0a 2020 return null;. │ │ │ +00011ee0: 2020 7d0a 2020 2020 656c 7365 2069 6620 }. else if │ │ │ +00011ef0: 2878 203e 2030 2e30 2026 2620 6578 706f (x > 0.0 && expo │ │ │ +00011f00: 7274 732e 7072 696d 466c 6f61 7449 7349 rts.primFloatIsI │ │ │ +00011f10: 6e66 696e 6974 6528 7829 2920 7b0a 2020 nfinite(x)) {. │ │ │ +00011f20: 2020 2020 2020 7265 7475 726e 206e 756c return nul │ │ │ +00011f30: 6c3b 0a20 2020 207d 0a20 2020 2065 6c73 l;. }. els │ │ │ +00011f40: 6520 7b0a 2020 2020 2020 2020 7661 7220 e {. var │ │ │ +00011f50: 6d61 6e74 6973 7361 203d 2078 2c20 6578 mantissa = x, ex │ │ │ +00011f60: 706f 6e65 6e74 203d 2030 3b0a 2020 2020 ponent = 0;. │ │ │ +00011f70: 2020 2020 7768 696c 6520 2821 4e75 6d62 while (!Numb │ │ │ +00011f80: 6572 2e69 7349 6e74 6567 6572 286d 616e er.isInteger(man │ │ │ +00011f90: 7469 7373 6129 2920 7b0a 2020 2020 2020 tissa)) {. │ │ │ +00011fa0: 2020 2020 2020 6d61 6e74 6973 7361 202a mantissa * │ │ │ +00011fb0: 3d20 322e 303b 0a20 2020 2020 2020 2020 = 2.0;. │ │ │ +00011fc0: 2020 2065 7870 6f6e 656e 7420 2d3d 2031 exponent -= 1 │ │ │ +00011fd0: 3b0a 2020 2020 2020 2020 7d3b 0a20 2020 ;. };. │ │ │ +00011fe0: 2020 2020 2077 6869 6c65 2028 6d61 6e74 while (mant │ │ │ +00011ff0: 6973 7361 2025 2032 2e30 203d 3d3d 2030 issa % 2.0 === 0 │ │ │ +00012000: 2920 7b0a 2020 2020 2020 2020 2020 2020 ) {. │ │ │ +00012010: 6d61 6e74 6973 7361 202f 3d20 322e 303b mantissa /= 2.0; │ │ │ +00012020: 0a20 2020 2020 2020 2020 2020 2065 7870 . exp │ │ │ +00012030: 6f6e 656e 7420 2b3d 2031 3b0a 2020 2020 onent += 1;. │ │ │ +00012040: 2020 2020 7d0a 2020 2020 2020 2020 7265 }. re │ │ │ +00012050: 7475 726e 207b 6d61 6e74 6973 7361 3a20 turn {mantissa: │ │ │ +00012060: 4269 6749 6e74 286d 616e 7469 7373 6129 BigInt(mantissa) │ │ │ +00012070: 2c20 6578 706f 6e65 6e74 3a20 4269 6749 , exponent: BigI │ │ │ +00012080: 6e74 2865 7870 6f6e 656e 7429 7d3b 0a20 nt(exponent)};. │ │ │ +00012090: 2020 207d 0a7d 3b0a 6578 706f 7274 732e }.};.exports. │ │ │ +000120a0: 7570 7269 6d46 6c6f 6174 4571 7561 6c69 uprimFloatEquali │ │ │ +000120b0: 7479 203d 2066 756e 6374 696f 6e28 782c ty = function(x, │ │ │ +000120c0: 2079 2920 7b0a 2020 2020 7265 7475 726e y) {. return │ │ │ +000120d0: 2078 203d 3d3d 2079 3b0a 7d3b 0a65 7870 x === y;.};.exp │ │ │ +000120e0: 6f72 7473 2e70 7269 6d46 6c6f 6174 4571 orts.primFloatEq │ │ │ +000120f0: 7561 6c69 7479 203d 2066 756e 6374 696f uality = functio │ │ │ +00012100: 6e28 7829 207b 0a20 2020 2072 6574 7572 n(x) {. retur │ │ │ +00012110: 6e20 6675 6e63 7469 6f6e 2879 2920 7b0a n function(y) {. │ │ │ +00012120: 2020 2020 2020 2020 7265 7475 726e 2065 return e │ │ │ +00012130: 7870 6f72 7473 2e75 7072 696d 466c 6f61 xports.uprimFloa │ │ │ +00012140: 7445 7175 616c 6974 7928 782c 2079 293b tEquality(x, y); │ │ │ +00012150: 0a20 2020 207d 3b0a 7d3b 0a65 7870 6f72 . };.};.expor │ │ │ +00012160: 7473 2e70 7269 6d46 6c6f 6174 496e 6571 ts.primFloatIneq │ │ │ +00012170: 7561 6c69 7479 203d 2066 756e 6374 696f uality = functio │ │ │ +00012180: 6e28 7829 207b 0a20 2020 2072 6574 7572 n(x) {. retur │ │ │ +00012190: 6e20 6675 6e63 7469 6f6e 2879 2920 7b0a n function(y) {. │ │ │ +000121a0: 2020 2020 2020 2020 7265 7475 726e 2078 return x │ │ │ +000121b0: 203c 3d20 793b 0a20 2020 207d 3b0a 7d3b <= y;. };.}; │ │ │ +000121c0: 0a65 7870 6f72 7473 2e70 7269 6d46 6c6f .exports.primFlo │ │ │ +000121d0: 6174 4c65 7373 203d 2066 756e 6374 696f atLess = functio │ │ │ +000121e0: 6e28 7829 207b 0a20 2020 2072 6574 7572 n(x) {. retur │ │ │ +000121f0: 6e20 6675 6e63 7469 6f6e 2879 2920 7b0a n function(y) {. │ │ │ +00012200: 2020 2020 2020 2020 7265 7475 726e 2078 return x │ │ │ +00012210: 203c 2079 3b0a 2020 2020 7d3b 0a7d 3b0a < y;. };.};. │ │ │ +00012220: 6578 706f 7274 732e 7072 696d 466c 6f61 exports.primFloa │ │ │ +00012230: 7449 7349 6e66 696e 6974 6520 3d20 6675 tIsInfinite = fu │ │ │ +00012240: 6e63 7469 6f6e 2878 2920 7b0a 2020 2020 nction(x) {. │ │ │ +00012250: 7265 7475 726e 2021 4e75 6d62 6572 2e69 return !Number.i │ │ │ +00012260: 734e 614e 2878 2920 2626 2021 4e75 6d62 sNaN(x) && !Numb │ │ │ +00012270: 6572 2e69 7346 696e 6974 6528 7829 3b0a er.isFinite(x);. │ │ │ +00012280: 7d3b 0a65 7870 6f72 7473 2e70 7269 6d46 };.exports.primF │ │ │ +00012290: 6c6f 6174 4973 4e61 4e20 3d20 6675 6e63 loatIsNaN = func │ │ │ +000122a0: 7469 6f6e 2878 2920 7b0a 2020 2020 7265 tion(x) {. re │ │ │ +000122b0: 7475 726e 204e 756d 6265 722e 6973 4e61 turn Number.isNa │ │ │ +000122c0: 4e28 7829 3b0a 7d3b 0a65 7870 6f72 7473 N(x);.};.exports │ │ │ +000122d0: 2e70 7269 6d46 6c6f 6174 4973 4e65 6761 .primFloatIsNega │ │ │ +000122e0: 7469 7665 5a65 726f 203d 2066 756e 6374 tiveZero = funct │ │ │ +000122f0: 696f 6e28 7829 207b 0a20 2020 2072 6574 ion(x) {. ret │ │ │ +00012300: 7572 6e20 4f62 6a65 6374 2e69 7328 782c urn Object.is(x, │ │ │ +00012310: 2d30 2e30 293b 0a7d 3b0a 6578 706f 7274 -0.0);.};.export │ │ │ +00012320: 732e 7072 696d 466c 6f61 7449 7353 6166 s.primFloatIsSaf │ │ │ +00012330: 6549 6e74 6567 6572 203d 2066 756e 6374 eInteger = funct │ │ │ +00012340: 696f 6e28 7829 207b 0a20 2020 2072 6574 ion(x) {. ret │ │ │ +00012350: 7572 6e20 4e75 6d62 6572 2e69 7353 6166 urn Number.isSaf │ │ │ +00012360: 6549 6e74 6567 6572 2878 293b 0a7d 3b0a eInteger(x);.};. │ │ │ +00012370: 0a0a 2f2f 2054 6865 7365 2057 4f52 4436 ..// These WORD6 │ │ │ +00012380: 3420 7661 6c75 6573 2077 6572 6520 6f62 4 values were ob │ │ │ +00012390: 7461 696e 6564 2076 6961 2060 6361 7374 tained via `cast │ │ │ +000123a0: 446f 7562 6c65 546f 576f 7264 3634 6020 DoubleToWord64` │ │ │ +000123b0: 696e 2048 6173 6b65 6c6c 3a0a 636f 6e73 in Haskell:.cons │ │ │ +000123c0: 7420 574f 5244 3634 5f50 4f53 5f49 4e46 t WORD64_POS_INF │ │ │ +000123d0: 2020 3d20 3932 3138 3836 3834 3337 3232 = 921886843722 │ │ │ +000123e0: 3734 3035 3331 326e 3b0a 636f 6e73 7420 7405312n;.const │ │ │ +000123f0: 574f 5244 3634 5f4e 4547 5f49 4e46 2020 WORD64_NEG_INF │ │ │ +00012400: 3d20 3138 3434 3232 3430 3437 3430 3832 = 18442240474082 │ │ │ +00012410: 3138 3131 3230 6e3b 0a63 6f6e 7374 2057 181120n;.const W │ │ │ +00012420: 4f52 4436 345f 504f 535f 5a45 524f 203d ORD64_POS_ZERO = │ │ │ +00012430: 2030 6e3b 0a63 6f6e 7374 2057 4f52 4436 0n;.const WORD6 │ │ │ +00012440: 345f 4e45 475f 5a45 524f 203d 2039 3232 4_NEG_ZERO = 922 │ │ │ +00012450: 3333 3732 3033 3638 3534 3737 3538 3038 3372036854775808 │ │ │ +00012460: 6e3b 0a0a 6578 706f 7274 732e 7072 696d n;..exports.prim │ │ │ +00012470: 466c 6f61 7454 6f57 6f72 6436 3420 3d20 FloatToWord64 = │ │ │ +00012480: 6675 6e63 7469 6f6e 2878 2920 7b0a 2020 function(x) {. │ │ │ +00012490: 2020 6966 2028 6578 706f 7274 732e 7072 if (exports.pr │ │ │ +000124a0: 696d 466c 6f61 7449 734e 614e 2878 2929 imFloatIsNaN(x)) │ │ │ +000124b0: 207b 0a20 2020 2020 2020 2072 6574 7572 {. retur │ │ │ +000124c0: 6e20 6e75 6c6c 3b0a 2020 2020 7d0a 2020 n null;. }. │ │ │ +000124d0: 2020 656c 7365 2069 6620 2878 203c 2030 else if (x < 0 │ │ │ +000124e0: 2e30 2026 2620 6578 706f 7274 732e 7072 .0 && exports.pr │ │ │ +000124f0: 696d 466c 6f61 7449 7349 6e66 696e 6974 imFloatIsInfinit │ │ │ +00012500: 6528 7829 2920 7b0a 2020 2020 2020 2020 e(x)) {. │ │ │ +00012510: 7265 7475 726e 2057 4f52 4436 345f 4e45 return WORD64_NE │ │ │ +00012520: 475f 494e 463b 0a20 2020 207d 0a20 2020 G_INF;. }. │ │ │ +00012530: 2065 6c73 6520 6966 2028 7820 3e20 302e else if (x > 0. │ │ │ +00012540: 3020 2626 2065 7870 6f72 7473 2e70 7269 0 && exports.pri │ │ │ +00012550: 6d46 6c6f 6174 4973 496e 6669 6e69 7465 mFloatIsInfinite │ │ │ +00012560: 2878 2929 207b 0a20 2020 2020 2020 2072 (x)) {. r │ │ │ +00012570: 6574 7572 6e20 574f 5244 3634 5f50 4f53 eturn WORD64_POS │ │ │ +00012580: 5f49 4e46 3b0a 2020 2020 7d0a 2020 2020 _INF;. }. │ │ │ +00012590: 656c 7365 2069 6620 2865 7870 6f72 7473 else if (exports │ │ │ +000125a0: 2e70 7269 6d46 6c6f 6174 4973 4e65 6761 .primFloatIsNega │ │ │ +000125b0: 7469 7665 5a65 726f 2878 2929 207b 0a20 tiveZero(x)) {. │ │ │ +000125c0: 2020 2020 2020 2072 6574 7572 6e20 574f return WO │ │ │ +000125d0: 5244 3634 5f4e 4547 5f5a 4552 4f3b 0a20 RD64_NEG_ZERO;. │ │ │ +000125e0: 2020 207d 0a20 2020 2065 6c73 6520 6966 }. else if │ │ │ +000125f0: 2028 7820 3d3d 2030 2e30 2920 7b0a 2020 (x == 0.0) {. │ │ │ +00012600: 2020 2020 2020 7265 7475 726e 2057 4f52 return WOR │ │ │ +00012610: 4436 345f 504f 535f 5a45 524f 3b0a 2020 D64_POS_ZERO;. │ │ │ +00012620: 2020 7d0a 2020 2020 656c 7365 207b 0a20 }. else {. │ │ │ +00012630: 2020 2020 2020 2076 6172 206d 616e 7469 var manti │ │ │ +00012640: 7373 612c 2065 7870 6f6e 656e 743b 0a20 ssa, exponent;. │ │ │ +00012650: 2020 2020 2020 2028 7b6d 616e 7469 7373 ({mantiss │ │ │ +00012660: 612c 2065 7870 6f6e 656e 747d 203d 2065 a, exponent} = e │ │ │ +00012670: 7870 6f72 7473 2e5f 7072 696d 466c 6f61 xports._primFloa │ │ │ +00012680: 7444 6563 6f64 6528 7829 293b 0a20 2020 tDecode(x));. │ │ │ +00012690: 2020 2020 2076 6172 2073 6967 6e20 3d20 var sign = │ │ │ +000126a0: 4d61 7468 2e73 6967 6e28 6d61 6e74 6973 Math.sign(mantis │ │ │ +000126b0: 7361 293b 0a20 2020 2020 2020 2063 6f6e sa);. con │ │ │ +000126c0: 736f 6c65 2e6c 6f67 286d 616e 7469 7373 sole.log(mantiss │ │ │ +000126d0: 6129 3b0a 2020 2020 2020 2020 6d61 6e74 a);. mant │ │ │ +000126e0: 6973 7361 202a 3d20 7369 676e 3b0a 2020 issa *= sign;. │ │ │ +000126f0: 2020 2020 2020 7369 676e 203d 2028 7369 sign = (si │ │ │ +00012700: 676e 203d 3d3d 202d 3120 3f20 2231 2220 gn === -1 ? "1" │ │ │ +00012710: 3a20 2230 2229 3b0a 2020 2020 2020 2020 : "0");. │ │ │ +00012720: 6d61 6e74 6973 7361 203d 2028 6d61 6e74 mantissa = (mant │ │ │ +00012730: 6973 7361 2e74 6f53 7472 696e 6728 3229 issa.toString(2) │ │ │ +00012740: 292e 7061 6453 7461 7274 2831 312c 2022 ).padStart(11, " │ │ │ +00012750: 3022 293b 0a20 2020 2020 2020 2065 7870 0");. exp │ │ │ +00012760: 6f6e 656e 7420 3d20 286d 616e 7469 7373 onent = (mantiss │ │ │ +00012770: 612e 746f 5374 7269 6e67 2832 2929 2e70 a.toString(2)).p │ │ │ +00012780: 6164 5374 6172 7428 3532 2c20 2230 2229 adStart(52, "0") │ │ │ +00012790: 3b0a 2020 2020 2020 2020 7265 7475 726e ;. return │ │ │ +000127a0: 2042 6967 496e 7428 7061 7273 6549 6e74 BigInt(parseInt │ │ │ +000127b0: 2873 6967 6e20 2b20 6d61 6e74 6973 7361 (sign + mantissa │ │ │ +000127c0: 202b 2065 7870 6f6e 656e 742c 2032 2929 + exponent, 2)) │ │ │ +000127d0: 3b0a 2020 2020 7d0a 7d3b 0a0a 2f2f 2070 ;. }.};..// p │ │ │ +000127e0: 7269 6d4e 6174 546f 466c 6f61 7420 3a20 rimNatToFloat : │ │ │ +000127f0: 4e61 7420 2d3e 2046 6c6f 6174 0a65 7870 Nat -> Float.exp │ │ │ +00012800: 6f72 7473 2e70 7269 6d4e 6174 546f 466c orts.primNatToFl │ │ │ +00012810: 6f61 7420 3d20 4e75 6d62 6572 3b0a 0a2f oat = Number;../ │ │ │ +00012820: 2f20 7072 696d 496e 7454 6f46 6c6f 6174 / primIntToFloat │ │ │ +00012830: 203a 2049 6e74 202d 3e20 466c 6f61 740a : Int -> Float. │ │ │ +00012840: 6578 706f 7274 732e 7072 696d 496e 7454 exports.primIntT │ │ │ +00012850: 6f46 6c6f 6174 203d 204e 756d 6265 723b oFloat = Number; │ │ │ +00012860: 0a0a 2f2f 2070 7269 6d52 6174 696f 546f ..// primRatioTo │ │ │ +00012870: 466c 6f61 7420 3a20 496e 7420 2d3e 2049 Float : Int -> I │ │ │ +00012880: 6e74 202d 3e20 466c 6f61 740a 6578 706f nt -> Float.expo │ │ │ +00012890: 7274 732e 7072 696d 5261 7469 6f54 6f46 rts.primRatioToF │ │ │ +000128a0: 6c6f 6174 203d 2078 203d 3e20 7920 3d3e loat = x => y => │ │ │ +000128b0: 204e 756d 6265 7228 7829 202f 204e 756d Number(x) / Num │ │ │ +000128c0: 6265 7228 7929 3b0a 0a2f 2f20 7570 7269 ber(y);..// upri │ │ │ +000128d0: 6d46 6c6f 6174 456e 636f 6465 203a 2028 mFloatEncode : ( │ │ │ +000128e0: 496e 742c 2049 6e74 2920 2d3e 204d 6179 Int, Int) -> May │ │ │ +000128f0: 6265 2046 6c6f 6174 0a65 7870 6f72 7473 be Float.exports │ │ │ +00012900: 2e75 7072 696d 466c 6f61 7445 6e63 6f64 .uprimFloatEncod │ │ │ +00012910: 6520 3d20 2878 2c20 7929 203d 3e20 7b0a e = (x, y) => {. │ │ │ +00012920: 2020 636f 6e73 7420 6d61 6e74 6973 7361 const mantissa │ │ │ +00012930: 203d 204e 756d 6265 7228 7829 3b0a 2020 = Number(x);. │ │ │ +00012940: 636f 6e73 7420 6578 706f 6e65 6e74 203d const exponent = │ │ │ +00012950: 204e 756d 6265 7228 7929 3b0a 0a20 2069 Number(y);.. i │ │ │ +00012960: 6620 284e 756d 6265 722e 6973 5361 6665 f (Number.isSafe │ │ │ +00012970: 496e 7465 6765 7228 6d61 6e74 6973 7361 Integer(mantissa │ │ │ +00012980: 2920 2626 202d 3130 3234 203c 3d20 6578 ) && -1024 <= ex │ │ │ +00012990: 706f 6e65 6e74 2026 2620 6578 706f 6e65 ponent && expone │ │ │ +000129a0: 6e74 203c 3d20 3130 3234 2920 7b0a 2020 nt <= 1024) {. │ │ │ +000129b0: 2020 7265 7475 726e 206d 616e 7469 7373 return mantiss │ │ │ +000129c0: 6120 2a20 2832 202a 2a20 6578 706f 6e65 a * (2 ** expone │ │ │ +000129d0: 6e74 293b 0a20 207d 0a0a 2020 656c 7365 nt);. }.. else │ │ │ +000129e0: 207b 0a20 2020 2072 6574 7572 6e20 6e75 {. return nu │ │ │ +000129f0: 6c6c 3b0a 2020 7d0a 7d3b 0a0a 6578 706f ll;. }.};..expo │ │ │ +00012a00: 7274 732e 7072 696d 5368 6f77 466c 6f61 rts.primShowFloa │ │ │ +00012a10: 7420 3d20 6675 6e63 7469 6f6e 2878 2920 t = function(x) │ │ │ +00012a20: 7b0a 2020 2020 2f2f 2053 6565 2049 7373 {. // See Iss │ │ │ +00012a30: 7565 2023 3231 3932 2e0a 2020 2020 6966 ue #2192.. if │ │ │ +00012a40: 2028 4e75 6d62 6572 2e69 7349 6e74 6567 (Number.isInteg │ │ │ +00012a50: 6572 2878 2929 207b 0a20 2020 2020 2020 er(x)) {. │ │ │ +00012a60: 2069 6620 2865 7870 6f72 7473 2e70 7269 if (exports.pri │ │ │ +00012a70: 6d46 6c6f 6174 4973 4e65 6761 7469 7665 mFloatIsNegative │ │ │ +00012a80: 5a65 726f 2878 2929 207b 0a20 2020 2020 Zero(x)) {. │ │ │ +00012a90: 2020 2020 2020 2072 6574 7572 6e20 2822 return (" │ │ │ +00012aa0: 2d30 2e30 2229 3b0a 2020 2020 2020 2020 -0.0");. │ │ │ +00012ab0: 7d20 656c 7365 207b 0a20 2020 2020 2020 } else {. │ │ │ +00012ac0: 2020 2020 2072 6574 7572 6e20 2878 2e74 return (x.t │ │ │ +00012ad0: 6f53 7472 696e 6728 2920 2b20 222e 3022 oString() + ".0" │ │ │ +00012ae0: 293b 0a20 2020 2020 2020 207d 0a20 2020 );. }. │ │ │ +00012af0: 207d 2065 6c73 6520 7b0a 2020 2020 2020 } else {. │ │ │ +00012b00: 2020 7265 7475 726e 2078 2e74 6f53 7472 return x.toStr │ │ │ +00012b10: 696e 6728 293b 0a20 2020 207d 0a7d 3b0a ing();. }.};. │ │ │ +00012b20: 6578 706f 7274 732e 7072 696d 466c 6f61 exports.primFloa │ │ │ +00012b30: 7450 6c75 7320 3d20 6675 6e63 7469 6f6e tPlus = function │ │ │ +00012b40: 2878 2920 7b0a 2020 2020 7265 7475 726e (x) {. return │ │ │ +00012b50: 2066 756e 6374 696f 6e28 7929 207b 0a20 function(y) {. │ │ │ +00012b60: 2020 2020 2020 2072 6574 7572 6e20 7820 return x │ │ │ +00012b70: 2b20 793b 0a20 2020 207d 3b0a 7d3b 0a65 + y;. };.};.e │ │ │ +00012b80: 7870 6f72 7473 2e70 7269 6d46 6c6f 6174 xports.primFloat │ │ │ +00012b90: 4d69 6e75 7320 3d20 6675 6e63 7469 6f6e Minus = function │ │ │ +00012ba0: 2878 2920 7b0a 2020 2020 7265 7475 726e (x) {. return │ │ │ +00012bb0: 2066 756e 6374 696f 6e28 7929 207b 0a20 function(y) {. │ │ │ +00012bc0: 2020 2020 2020 2072 6574 7572 6e20 7820 return x │ │ │ +00012bd0: 2d20 793b 0a20 2020 207d 3b0a 7d3b 0a65 - y;. };.};.e │ │ │ +00012be0: 7870 6f72 7473 2e70 7269 6d46 6c6f 6174 xports.primFloat │ │ │ +00012bf0: 5469 6d65 7320 3d20 6675 6e63 7469 6f6e Times = function │ │ │ +00012c00: 2878 2920 7b0a 2020 2020 7265 7475 726e (x) {. return │ │ │ +00012c10: 2066 756e 6374 696f 6e28 7929 207b 0a20 function(y) {. │ │ │ +00012c20: 2020 2020 2020 2072 6574 7572 6e20 7820 return x │ │ │ +00012c30: 2a20 793b 0a20 2020 207d 3b0a 7d3b 0a65 * y;. };.};.e │ │ │ +00012c40: 7870 6f72 7473 2e70 7269 6d46 6c6f 6174 xports.primFloat │ │ │ +00012c50: 4e65 6761 7465 203d 2066 756e 6374 696f Negate = functio │ │ │ +00012c60: 6e28 7829 207b 0a20 2020 2072 6574 7572 n(x) {. retur │ │ │ +00012c70: 6e20 2d78 3b0a 7d3b 0a65 7870 6f72 7473 n -x;.};.exports │ │ │ +00012c80: 2e70 7269 6d46 6c6f 6174 4469 7620 3d20 .primFloatDiv = │ │ │ +00012c90: 6675 6e63 7469 6f6e 2878 2920 7b0a 2020 function(x) {. │ │ │ +00012ca0: 7265 7475 726e 2066 756e 6374 696f 6e28 return function( │ │ │ +00012cb0: 7929 207b 0a20 2020 2072 6574 7572 6e20 y) {. return │ │ │ +00012cc0: 7820 2f20 793b 0a20 207d 3b0a 7d3b 0a65 x / y;. };.};.e │ │ │ +00012cd0: 7870 6f72 7473 2e70 7269 6d46 6c6f 6174 xports.primFloat │ │ │ +00012ce0: 506f 7720 3d20 6675 6e63 7469 6f6e 2878 Pow = function(x │ │ │ +00012cf0: 2920 7b0a 2020 2020 7265 7475 726e 2066 ) {. return f │ │ │ +00012d00: 756e 6374 696f 6e28 7929 207b 0a20 2020 unction(y) {. │ │ │ +00012d10: 2020 2020 2072 6574 7572 6e20 7820 2a2a return x ** │ │ │ +00012d20: 2079 3b0a 2020 2020 7d3b 0a7d 3b0a 6578 y;. };.};.ex │ │ │ +00012d30: 706f 7274 732e 7072 696d 466c 6f61 7453 ports.primFloatS │ │ │ +00012d40: 7172 7420 3d20 6675 6e63 7469 6f6e 2878 qrt = function(x │ │ │ +00012d50: 2920 7b0a 2020 2020 7265 7475 726e 204d ) {. return M │ │ │ +00012d60: 6174 682e 7371 7274 2878 293b 0a7d 3b0a ath.sqrt(x);.};. │ │ │ +00012d70: 6578 706f 7274 732e 7072 696d 466c 6f61 exports.primFloa │ │ │ +00012d80: 7445 7870 203d 2066 756e 6374 696f 6e28 tExp = function( │ │ │ +00012d90: 7829 207b 0a20 2020 2072 6574 7572 6e20 x) {. return │ │ │ +00012da0: 4d61 7468 2e65 7870 2878 293b 0a7d 3b0a Math.exp(x);.};. │ │ │ +00012db0: 6578 706f 7274 732e 7072 696d 466c 6f61 exports.primFloa │ │ │ +00012dc0: 744c 6f67 203d 2066 756e 6374 696f 6e28 tLog = function( │ │ │ +00012dd0: 7829 207b 0a20 2020 2072 6574 7572 6e20 x) {. return │ │ │ +00012de0: 4d61 7468 2e6c 6f67 2878 293b 0a7d 3b0a Math.log(x);.};. │ │ │ +00012df0: 6578 706f 7274 732e 7072 696d 466c 6f61 exports.primFloa │ │ │ +00012e00: 7453 696e 203d 2066 756e 6374 696f 6e28 tSin = function( │ │ │ +00012e10: 7829 207b 0a20 2020 2072 6574 7572 6e20 x) {. return │ │ │ +00012e20: 4d61 7468 2e73 696e 2878 293b 0a7d 3b0a Math.sin(x);.};. │ │ │ +00012e30: 6578 706f 7274 732e 7072 696d 466c 6f61 exports.primFloa │ │ │ +00012e40: 7443 6f73 203d 2066 756e 6374 696f 6e28 tCos = function( │ │ │ +00012e50: 7829 207b 0a20 2020 2072 6574 7572 6e20 x) {. return │ │ │ +00012e60: 4d61 7468 2e63 6f73 2878 293b 0a7d 3b0a Math.cos(x);.};. │ │ │ +00012e70: 6578 706f 7274 732e 7072 696d 466c 6f61 exports.primFloa │ │ │ +00012e80: 7454 616e 203d 2066 756e 6374 696f 6e28 tTan = function( │ │ │ +00012e90: 7829 207b 0a20 2020 2072 6574 7572 6e20 x) {. return │ │ │ +00012ea0: 4d61 7468 2e74 616e 2878 293b 0a7d 3b0a Math.tan(x);.};. │ │ │ +00012eb0: 6578 706f 7274 732e 7072 696d 466c 6f61 exports.primFloa │ │ │ +00012ec0: 7441 5369 6e20 3d20 6675 6e63 7469 6f6e tASin = function │ │ │ +00012ed0: 2878 2920 7b0a 2020 2020 7265 7475 726e (x) {. return │ │ │ +00012ee0: 204d 6174 682e 6173 696e 2878 293b 0a7d Math.asin(x);.} │ │ │ +00012ef0: 3b0a 6578 706f 7274 732e 7072 696d 466c ;.exports.primFl │ │ │ +00012f00: 6f61 7441 436f 7320 3d20 6675 6e63 7469 oatACos = functi │ │ │ +00012f10: 6f6e 2878 2920 7b0a 2020 2020 7265 7475 on(x) {. retu │ │ │ +00012f20: 726e 204d 6174 682e 6163 6f73 2878 293b rn Math.acos(x); │ │ │ +00012f30: 0a7d 3b0a 6578 706f 7274 732e 7072 696d .};.exports.prim │ │ │ +00012f40: 466c 6f61 7441 5461 6e20 3d20 6675 6e63 FloatATan = func │ │ │ +00012f50: 7469 6f6e 2878 2920 7b0a 2020 2020 7265 tion(x) {. re │ │ │ +00012f60: 7475 726e 204d 6174 682e 6174 616e 2878 turn Math.atan(x │ │ │ +00012f70: 293b 0a7d 3b0a 6578 706f 7274 732e 7072 );.};.exports.pr │ │ │ +00012f80: 696d 466c 6f61 7441 5461 6e32 203d 2066 imFloatATan2 = f │ │ │ +00012f90: 756e 6374 696f 6e28 7829 207b 0a20 2020 unction(x) {. │ │ │ +00012fa0: 2072 6574 7572 6e20 6675 6e63 7469 6f6e return function │ │ │ +00012fb0: 2879 297b 0a20 2020 2020 2020 2072 6574 (y){. ret │ │ │ +00012fc0: 7572 6e20 4d61 7468 2e61 7461 6e32 2878 urn Math.atan2(x │ │ │ +00012fd0: 2c20 7929 3b0a 2020 2020 7d3b 0a7d 3b0a , y);. };.};. │ │ │ +00012fe0: 6578 706f 7274 732e 7072 696d 466c 6f61 exports.primFloa │ │ │ +00012ff0: 7453 696e 6820 3d20 6675 6e63 7469 6f6e tSinh = function │ │ │ +00013000: 2878 2920 7b0a 2020 2020 7265 7475 726e (x) {. return │ │ │ +00013010: 204d 6174 682e 7369 6e68 2878 293b 0a7d Math.sinh(x);.} │ │ │ +00013020: 3b0a 6578 706f 7274 732e 7072 696d 466c ;.exports.primFl │ │ │ +00013030: 6f61 7443 6f73 6820 3d20 6675 6e63 7469 oatCosh = functi │ │ │ +00013040: 6f6e 2878 2920 7b0a 2020 2020 7265 7475 on(x) {. retu │ │ │ +00013050: 726e 204d 6174 682e 636f 7368 2878 293b rn Math.cosh(x); │ │ │ +00013060: 0a7d 3b0a 6578 706f 7274 732e 7072 696d .};.exports.prim │ │ │ +00013070: 466c 6f61 7454 616e 6820 3d20 6675 6e63 FloatTanh = func │ │ │ +00013080: 7469 6f6e 2878 2920 7b0a 2020 2020 7265 tion(x) {. re │ │ │ +00013090: 7475 726e 204d 6174 682e 7461 6e68 2878 turn Math.tanh(x │ │ │ +000130a0: 293b 0a7d 3b0a 6578 706f 7274 732e 7072 );.};.exports.pr │ │ │ +000130b0: 696d 466c 6f61 7441 5369 6e68 203d 2066 imFloatASinh = f │ │ │ +000130c0: 756e 6374 696f 6e28 7829 207b 0a20 2020 unction(x) {. │ │ │ +000130d0: 2072 6574 7572 6e20 4d61 7468 2e61 7369 return Math.asi │ │ │ +000130e0: 6e68 2878 293b 0a7d 3b0a 6578 706f 7274 nh(x);.};.export │ │ │ +000130f0: 732e 7072 696d 466c 6f61 7441 436f 7368 s.primFloatACosh │ │ │ +00013100: 203d 2066 756e 6374 696f 6e28 7829 207b = function(x) { │ │ │ +00013110: 0a20 2020 2072 6574 7572 6e20 4d61 7468 . return Math │ │ │ +00013120: 2e61 636f 7368 2878 293b 0a7d 3b0a 6578 .acosh(x);.};.ex │ │ │ +00013130: 706f 7274 732e 7072 696d 466c 6f61 7441 ports.primFloatA │ │ │ +00013140: 5461 6e68 203d 2066 756e 6374 696f 6e28 Tanh = function( │ │ │ +00013150: 7829 207b 0a20 2020 2072 6574 7572 6e20 x) {. return │ │ │ +00013160: 4d61 7468 2e61 7461 6e68 2878 293b 0a7d Math.atanh(x);.} │ │ │ +00013170: 3b0a 0a2f 2f20 4375 6269 6361 6c20 7072 ;..// Cubical pr │ │ │ +00013180: 696d 6974 6976 6573 2e0a 6578 706f 7274 imitives..export │ │ │ +00013190: 732e 7072 696d 494d 696e 203d 2078 203d s.primIMin = x = │ │ │ +000131a0: 3e20 7920 3d3e 2078 2026 2620 793b 0a65 > y => x && y;.e │ │ │ +000131b0: 7870 6f72 7473 2e70 7269 6d49 4d61 7820 xports.primIMax │ │ │ +000131c0: 3d20 7820 3d3e 2079 203d 3e20 7820 7c7c = x => y => x || │ │ │ +000131d0: 2079 3b0a 6578 706f 7274 732e 7072 696d y;.exports.prim │ │ │ +000131e0: 494e 6567 203d 2078 203d 3e20 2178 3b0a INeg = x => !x;. │ │ │ +000131f0: 6578 706f 7274 732e 7072 696d 5061 7274 exports.primPart │ │ │ +00013200: 6961 6c20 3d20 5f20 3d3e 205f 203d 3e20 ial = _ => _ => │ │ │ +00013210: 7820 3d3e 2078 3b0a 6578 706f 7274 732e x => x;.exports. │ │ │ +00013220: 7072 696d 5061 7274 6961 6c50 203d 205f primPartialP = _ │ │ │ +00013230: 203d 3e20 5f20 3d3e 2078 203d 3e20 783b => _ => x => x; │ │ │ +00013240: 0a65 7870 6f72 7473 2e70 7269 6d50 4f72 .exports.primPOr │ │ │ +00013250: 203d 205f 203d 3e20 6920 3d3e 205f 203d = _ => i => _ = │ │ │ +00013260: 3e20 5f20 3d3e 2078 203d 3e20 7920 3d3e > _ => x => y => │ │ │ +00013270: 2069 203f 2078 203a 2079 3b0a 6578 706f i ? x : y;.expo │ │ │ +00013280: 7274 732e 7072 696d 436f 6d70 203d 205f rts.primComp = _ │ │ │ +00013290: 203d 3e20 5f20 3d3e 205f 203d 3e20 5f20 => _ => _ => _ │ │ │ +000132a0: 3d3e 2078 203d 3e20 783b 0a65 7870 6f72 => x => x;.expor │ │ │ +000132b0: 7473 2e70 7269 6d54 7261 6e73 7020 3d20 ts.primTransp = │ │ │ +000132c0: 5f20 3d3e 205f 203d 3e20 5f20 3d3e 2078 _ => _ => _ => x │ │ │ +000132d0: 203d 3e20 783b 0a65 7870 6f72 7473 2e70 => x;.exports.p │ │ │ +000132e0: 7269 6d48 436f 6d70 203d 205f 203d 3e20 rimHComp = _ => │ │ │ +000132f0: 5f20 3d3e 205f 203d 3e20 5f20 3d3e 2078 _ => _ => _ => x │ │ │ +00013300: 203d 3e20 783b 0a65 7870 6f72 7473 2e70 => x;.exports.p │ │ │ +00013310: 7269 6d53 7562 4f75 7420 3d20 5f20 3d3e rimSubOut = _ => │ │ │ +00013320: 205f 203d 3e20 5f20 3d3e 205f 203d 3e20 _ => _ => _ => │ │ │ +00013330: 7820 3d3e 2078 3b0a 6578 706f 7274 732e x => x;.exports. │ │ │ +00013340: 7072 696d 5f67 6c75 6555 203d 205f 203d prim_glueU = _ = │ │ │ +00013350: 3e20 5f20 3d3e 205f 203d 3e20 5f20 3d3e > _ => _ => _ => │ │ │ +00013360: 205f 203d 3e20 7820 3d3e 2078 3b0a 6578 _ => x => x;.ex │ │ │ +00013370: 706f 7274 732e 7072 696d 5f75 6e67 6c75 ports.prim_unglu │ │ │ +00013380: 6555 203d 205f 203d 3e20 5f20 3d3e 205f eU = _ => _ => _ │ │ │ +00013390: 203d 3e20 5f20 3d3e 2078 203d 3e20 783b => _ => x => x; │ │ │ +000133a0: 0a65 7870 6f72 7473 2e70 7269 6d46 6163 .exports.primFac │ │ │ +000133b0: 6546 6f72 616c 6c20 3d20 6620 3d3e 2066 eForall = f => f │ │ │ +000133c0: 2874 7275 6529 203d 3d20 7472 7565 2026 (true) == true & │ │ │ +000133d0: 2620 6628 6661 6c73 6529 203d 3d20 6661 & f(false) == fa │ │ │ +000133e0: 6c73 653b 0a0a 2f2f 204f 7468 6572 2073 lse;..// Other s │ │ │ +000133f0: 7475 6666 0a0a 2f2f 2070 7269 6d53 6571 tuff..// primSeq │ │ │ +00013400: 203a 2028 582c 2059 2920 2d3e 2059 0a65 : (X, Y) -> Y.e │ │ │ +00013410: 7870 6f72 7473 2e70 7269 6d53 6571 203d xports.primSeq = │ │ │ +00013420: 2028 782c 2079 2920 3d3e 2079 3b0a 0a2f (x, y) => y;../ │ │ │ +00013430: 2f20 7570 7269 6d51 4e61 6d65 4571 7561 / uprimQNameEqua │ │ │ +00013440: 6c69 7479 203a 2028 4e61 6d65 2c20 4e61 lity : (Name, Na │ │ │ +00013450: 6d65 2920 2d3e 2042 6f6f 6c0a 6578 706f me) -> Bool.expo │ │ │ +00013460: 7274 732e 7570 7269 6d51 4e61 6d65 4571 rts.uprimQNameEq │ │ │ +00013470: 7561 6c69 7479 203d 2028 782c 2079 2920 uality = (x, y) │ │ │ +00013480: 3d3e 2078 5b27 6964 275d 203d 3d3d 2079 => x['id'] === y │ │ │ +00013490: 5b27 6964 275d 2026 2620 785b 276d 6f64 ['id'] && x['mod │ │ │ +000134a0: 756c 6549 6427 5d20 3d3d 3d20 795b 276d uleId'] === y['m │ │ │ +000134b0: 6f64 756c 6549 6427 5d3b 0a0a 2f2f 2070 oduleId'];..// p │ │ │ +000134c0: 7269 6d51 4e61 6d65 4571 7561 6c69 7479 rimQNameEquality │ │ │ +000134d0: 203a 204e 616d 6520 2d3e 204e 616d 6520 : Name -> Name │ │ │ +000134e0: 2d3e 2042 6f6f 6c0a 6578 706f 7274 732e -> Bool.exports. │ │ │ +000134f0: 7072 696d 514e 616d 6545 7175 616c 6974 primQNameEqualit │ │ │ +00013500: 7920 3d20 7820 3d3e 2079 203d 3e20 6578 y = x => y => ex │ │ │ +00013510: 706f 7274 732e 7570 7269 6d51 4e61 6d65 ports.uprimQName │ │ │ +00013520: 4571 7561 6c69 7479 2878 2c20 7929 3b0a Equality(x, y);. │ │ │ +00013530: 0a2f 2f20 7072 696d 514e 616d 654c 6573 .// primQNameLes │ │ │ +00013540: 7320 3a20 4e61 6d65 202d 3e20 4e61 6d65 s : Name -> Name │ │ │ +00013550: 202d 3e20 426f 6f6c 0a65 7870 6f72 7473 -> Bool.exports │ │ │ +00013560: 2e70 7269 6d51 4e61 6d65 4c65 7373 203d .primQNameLess = │ │ │ +00013570: 2078 203d 3e20 7920 3d3e 2078 5b27 6964 x => y => x['id │ │ │ +00013580: 275d 203d 3d3d 2079 5b27 6964 275d 203f '] === y['id'] ? │ │ │ +00013590: 2078 5b27 6d6f 6475 6c65 4964 275d 203c x['moduleId'] < │ │ │ +000135a0: 2079 5b27 6d6f 6475 6c65 4964 275d 203a y['moduleId'] : │ │ │ +000135b0: 2078 5b27 6964 275d 203c 2079 5b27 6964 x['id'] < y['id │ │ │ +000135c0: 275d 3b0a 0a2f 2f20 7072 696d 5368 6f77 '];..// primShow │ │ │ +000135d0: 514e 616d 6520 3a20 4e61 6d65 202d 3e20 QName : Name -> │ │ │ +000135e0: 5374 7269 6e67 0a65 7870 6f72 7473 2e70 String.exports.p │ │ │ +000135f0: 7269 6d53 686f 7751 4e61 6d65 203d 2078 rimShowQName = x │ │ │ +00013600: 203d 3e20 785b 276e 616d 6527 5d3b 0a0a => x['name'];.. │ │ │ +00013610: 2f2f 2070 7269 6d51 4e61 6d65 4669 7869 // primQNameFixi │ │ │ +00013620: 7479 203a 204e 616d 6520 2d3e 2046 6978 ty : Name -> Fix │ │ │ +00013630: 6974 790a 6578 706f 7274 732e 7072 696d ity.exports.prim │ │ │ +00013640: 514e 616d 6546 6978 6974 7920 3d20 7820 QNameFixity = x │ │ │ +00013650: 3d3e 2078 5b27 6669 7869 7479 275d 3b0a => x['fixity'];. │ │ │ +00013660: 0a2f 2f20 4d65 7461 0a0a 2f2f 2070 7269 .// Meta..// pri │ │ │ +00013670: 6d53 686f 774d 6574 6120 3a20 4d65 7461 mShowMeta : Meta │ │ │ +00013680: 202d 3e20 5374 7269 6e67 0a2f 2f20 2020 -> String.// │ │ │ +00013690: 5368 6f75 6c64 2062 6520 6b65 7074 2069 Should be kept i │ │ │ +000136a0: 6e20 7379 6e63 2077 6974 6820 7665 7273 n sync with vers │ │ │ +000136b0: 696f 6e20 696e 2060 7072 696d 6974 6976 ion in `primitiv │ │ │ +000136c0: 6546 756e 6374 696f 6e73 6020 696e 0a2f eFunctions` in./ │ │ │ +000136d0: 2f20 2020 4167 6461 2e54 7970 6543 6865 / Agda.TypeChe │ │ │ +000136e0: 636b 696e 672e 5072 696d 6974 6976 650a cking.Primitive. │ │ │ +000136f0: 6578 706f 7274 732e 7072 696d 5368 6f77 exports.primShow │ │ │ +00013700: 4d65 7461 203d 2078 203d 3e20 225f 2220 Meta = x => "_" │ │ │ +00013710: 2b20 785b 2769 6427 5d20 2b20 2240 2220 + x['id'] + "@" │ │ │ +00013720: 2b20 785b 276d 6f64 756c 6527 5d3b 0a0a + x['module'];.. │ │ │ +00013730: 2f2f 2070 7269 6d4d 6574 6154 6f4e 6174 // primMetaToNat │ │ │ +00013740: 203a 204d 6574 6120 2d3e 204e 6174 0a2f : Meta -> Nat./ │ │ │ +00013750: 2f20 2020 5368 6f75 6c64 2062 6520 6b65 / Should be ke │ │ │ +00013760: 7074 2069 6e20 7379 6e63 2077 6974 6820 pt in sync with │ │ │ +00013770: 606d 6574 6154 6f4e 6174 6020 696e 2041 `metaToNat` in A │ │ │ +00013780: 6764 612e 5479 7065 4368 6563 6b69 6e67 gda.TypeChecking │ │ │ +00013790: 2e50 7269 6d69 7469 7665 0a65 7870 6f72 .Primitive.expor │ │ │ +000137a0: 7473 2e70 7269 6d4d 6574 6154 6f4e 6174 ts.primMetaToNat │ │ │ +000137b0: 203d 2078 203d 3e20 785b 276d 6f64 756c = x => x['modul │ │ │ +000137c0: 6527 5d20 2a20 325e 3634 202b 2078 5b27 e'] * 2^64 + x[' │ │ │ +000137d0: 6964 275d 3b0a 0a2f 2f20 7072 696d 4d65 id'];..// primMe │ │ │ +000137e0: 7461 4571 7561 6c69 7479 203a 204d 6574 taEquality : Met │ │ │ +000137f0: 6120 2d3e 204d 6574 6120 2d3e 2042 6f6f a -> Meta -> Boo │ │ │ +00013800: 6c0a 6578 706f 7274 732e 7072 696d 4d65 l.exports.primMe │ │ │ +00013810: 7461 4571 7561 6c69 7479 203d 2078 203d taEquality = x = │ │ │ +00013820: 3e20 7920 3d3e 2078 5b27 6964 275d 203d > y => x['id'] = │ │ │ +00013830: 3d3d 2079 5b27 6964 275d 2026 2620 785b == y['id'] && x[ │ │ │ +00013840: 276d 6f64 756c 6527 5d20 3d3d 3d20 795b 'module'] === y[ │ │ │ +00013850: 276d 6f64 756c 6527 5d3b 0a0a 2f2f 2070 'module'];..// p │ │ │ +00013860: 7269 6d4d 6574 614c 6573 7320 3a20 4d65 rimMetaLess : Me │ │ │ +00013870: 7461 202d 3e20 4d65 7461 202d 3e20 426f ta -> Meta -> Bo │ │ │ +00013880: 6f6c 0a65 7870 6f72 7473 2e70 7269 6d4d ol.exports.primM │ │ │ +00013890: 6574 614c 6573 7320 3d20 7820 3d3e 2079 etaLess = x => y │ │ │ +000138a0: 203d 3e20 785b 2769 6427 5d20 3d3d 3d20 => x['id'] === │ │ │ +000138b0: 795b 2769 6427 5d20 3f20 785b 276d 6f64 y['id'] ? x['mod │ │ │ +000138c0: 756c 6527 5d20 3c20 795b 276d 6f64 756c ule'] < y['modul │ │ │ +000138d0: 6527 5d20 3a20 785b 2769 6427 5d20 3c20 e'] : x['id'] < │ │ │ +000138e0: 795b 2769 6427 5d3b 0ad3 fece eded cfef y['id'];........ │ │ │ +000138f0: 9e70 f9af a6c1 defd ef92 f101 008e 0100 .p.............. │ │ │ +00013900: 0139 2705 2000 0001 0004 0408 0307 025e .9'. ..........^ │ │ │ +00013910: 0200 0003 0f00 0505 050b 5f0b 9401 0b61 .........._....a │ │ │ +00013920: 0906 0100 fdd4 00d6 b7e8 dcb1 9ad9 a443 ...............C │ │ │ +00013930: bc94 cba5 a2d0 9ffc 2800 9401 0001 63d6 ........(.....c. │ │ │ +00013940: 0582 8080 e608 0000 0100 0304 0704 0200 ................ │ │ │ +00013950: 0003 0f00 0901 fdd4 002f 2f20 436f 6e74 .........// Cont │ │ │ +00013960: 6169 6e73 202a 6d6f 7374 2a20 6f66 2074 ains *most* of t │ │ │ +00013970: 6865 2070 7269 6d69 7469 7665 7320 7265 he primitives re │ │ │ +00013980: 7175 6972 6564 2062 7920 7468 6520 4a61 quired by the Ja │ │ │ +00013990: 7661 5363 7269 7074 2062 6163 6b65 6e64 vaScript backend │ │ │ +000139a0: 2e0a 2f2f 2028 536f 6d65 2c20 652e 672e ..// (Some, e.g. │ │ │ +000139b0: 2c20 7468 6f73 6520 7573 696e 6720 4167 , those using Ag │ │ │ +000139c0: 6461 2074 7970 6573 206c 696b 6520 4d61 da types like Ma │ │ │ +000139d0: 7962 652c 2061 7265 2064 6566 696e 6564 ybe, are defined │ │ │ +000139e0: 2069 6e20 7468 6569 720a 2f2f 2072 6573 in their.// res │ │ │ +000139f0: 7065 6374 6976 6520 6275 696c 7469 6e20 pective builtin │ │ │ +00013a00: 6d6f 6475 6c65 732e 290a 2f2f 0a2f 2f20 modules.).//.// │ │ │ +00013a10: 5072 696d 6974 6976 6573 2070 7265 6669 Primitives prefi │ │ │ +00013a20: 7865 6420 6279 2027 7527 2061 7265 2075 xed by 'u' are u │ │ │ +00013a30: 6e63 7572 7269 6564 2076 6172 6961 6e74 ncurried variant │ │ │ +00013a40: 732c 2077 6869 6368 2061 7265 2073 6f6d s, which are som │ │ │ +00013a50: 6574 696d 6573 0a2f 2f20 656d 6974 7465 etimes.// emitte │ │ │ +00013a60: 6420 6279 2074 6865 204a 6176 6153 6372 d by the JavaScr │ │ │ +00013a70: 6970 7420 6261 636b 656e 642e 2057 6865 ipt backend. Whe │ │ │ +00013a80: 6e65 7665 7220 706f 7373 6962 6c65 2c20 never possible, │ │ │ +00013a90: 7468 6520 6375 7272 6965 6420 7072 696d the curried prim │ │ │ +00013aa0: 6974 6976 6573 0a2f 2f20 7368 6f75 6c64 itives.// should │ │ │ +00013ab0: 2062 6520 696d 706c 656d 656e 7465 6420 be implemented │ │ │ +00013ac0: 696e 2074 6572 6d73 206f 6620 7468 6520 in terms of the │ │ │ +00013ad0: 756e 6375 7272 6965 6420 6f6e 6573 2e0a uncurried ones.. │ │ │ +00013ae0: 2f2f 0a2f 2f20 5072 696d 6974 6976 6573 //.// Primitives │ │ │ +00013af0: 2070 7265 6669 7865 6420 6279 2027 5f27 prefixed by '_' │ │ │ +00013b00: 2061 7265 2069 6e74 6572 6e61 6c20 7661 are internal va │ │ │ +00013b10: 7269 616e 7473 2c20 7573 7561 6c6c 7920 riants, usually │ │ │ +00013b20: 666f 7220 7468 6f73 6520 7072 696d 6974 for those primit │ │ │ +00013b30: 6976 6573 0a2f 2f20 7768 6963 6820 7265 ives.// which re │ │ │ +00013b40: 7475 726e 2041 6764 6120 7479 7065 7320 turn Agda types │ │ │ +00013b50: 6c69 6b65 204d 6179 6265 2e20 5468 6573 like Maybe. Thes │ │ │ +00013b60: 6520 6172 6520 6e65 7665 7220 656d 6974 e are never emit │ │ │ +00013b70: 7465 6420 6279 2074 6865 2063 6f6d 7069 ted by the compi │ │ │ +00013b80: 6c65 722c 0a2f 2f20 6275 7420 6361 6e20 ler,.// but can │ │ │ +00013b90: 6265 2075 7365 6420 696e 7465 726e 616c be used internal │ │ │ +00013ba0: 6c79 2074 6f20 6465 6669 6e65 206f 7468 ly to define oth │ │ │ +00013bb0: 6572 2070 7265 6669 7865 732e 0a0a 636f er prefixes...co │ │ │ +00013bc0: 6e73 7420 6578 706f 7274 7320 3d20 7b7d nst exports = {} │ │ │ +00013bd0: 3b0a 0a2f 2f20 496e 7465 6765 7273 0a0a ;..// Integers.. │ │ │ +00013be0: 2f2f 2070 7269 6d49 6e74 6567 6572 4672 // primIntegerFr │ │ │ +00013bf0: 6f6d 5374 7269 6e67 203a 2053 7472 696e omString : Strin │ │ │ +00013c00: 6720 2d3e 2049 6e74 0a65 7870 6f72 7473 g -> Int.exports │ │ │ +00013c10: 2e70 7269 6d49 6e74 6567 6572 4672 6f6d .primIntegerFrom │ │ │ +00013c20: 5374 7269 6e67 203d 2042 6967 496e 743b String = BigInt; │ │ │ +00013c30: 0a0a 2f2f 2070 7269 6d53 686f 7749 6e74 ..// primShowInt │ │ │ +00013c40: 6567 6572 203a 2049 6e74 202d 3e20 5374 eger : Int -> St │ │ │ +00013c50: 7269 6e67 0a65 7870 6f72 7473 2e70 7269 ring.exports.pri │ │ │ +00013c60: 6d53 686f 7749 6e74 6567 6572 203d 2078 mShowInteger = x │ │ │ +00013c70: 203d 3e20 782e 746f 5374 7269 6e67 2829 => x.toString() │ │ │ +00013c80: 3b0a 0a2f 2f20 7570 7269 6d49 6e74 6567 ;..// uprimInteg │ │ │ +00013c90: 6572 506c 7573 203a 2028 496e 742c 2049 erPlus : (Int, I │ │ │ +00013ca0: 6e74 2920 2d3e 2049 6e74 0a65 7870 6f72 nt) -> Int.expor │ │ │ +00013cb0: 7473 2e75 7072 696d 496e 7465 6765 7250 ts.uprimIntegerP │ │ │ +00013cc0: 6c75 7320 3d20 2878 2c20 7929 203d 3e20 lus = (x, y) => │ │ │ +00013cd0: 7820 2b20 793b 0a0a 2f2f 2075 7072 696d x + y;..// uprim │ │ │ +00013ce0: 496e 7465 6765 724d 696e 7573 203a 2028 IntegerMinus : ( │ │ │ +00013cf0: 496e 742c 2049 6e74 2920 2d3e 2049 6e74 Int, Int) -> Int │ │ │ +00013d00: 0a65 7870 6f72 7473 2e75 7072 696d 496e .exports.uprimIn │ │ │ +00013d10: 7465 6765 724d 696e 7573 203d 2028 782c tegerMinus = (x, │ │ │ +00013d20: 2079 2920 3d3e 2078 202d 2079 3b0a 0a2f y) => x - y;../ │ │ │ +00013d30: 2f20 7570 7269 6d49 6e74 6567 6572 4d75 / uprimIntegerMu │ │ │ +00013d40: 6c74 6970 6c79 203a 2028 496e 742c 2049 ltiply : (Int, I │ │ │ +00013d50: 6e74 2920 2d3e 2049 6e74 0a65 7870 6f72 nt) -> Int.expor │ │ │ +00013d60: 7473 2e75 7072 696d 496e 7465 6765 724d ts.uprimIntegerM │ │ │ +00013d70: 756c 7469 706c 7920 3d20 2878 2c20 7929 ultiply = (x, y) │ │ │ +00013d80: 203d 3e20 7820 2a20 793b 0a0a 2f2f 2075 => x * y;..// u │ │ │ +00013d90: 7072 696d 496e 7465 6765 7252 656d 203a primIntegerRem : │ │ │ +00013da0: 2028 496e 742c 2049 6e74 2920 2d3e 2049 (Int, Int) -> I │ │ │ +00013db0: 6e74 0a65 7870 6f72 7473 2e75 7072 696d nt.exports.uprim │ │ │ +00013dc0: 496e 7465 6765 7252 656d 203d 2028 782c IntegerRem = (x, │ │ │ +00013dd0: 2079 2920 3d3e 2078 2025 2079 3b0a 0a2f y) => x % y;../ │ │ │ +00013de0: 2f20 7570 7269 6d49 6e74 6567 6572 5175 / uprimIntegerQu │ │ │ +00013df0: 6f74 203a 2028 496e 742c 2049 6e74 2920 ot : (Int, Int) │ │ │ +00013e00: 2d3e 2049 6e74 0a65 7870 6f72 7473 2e75 -> Int.exports.u │ │ │ +00013e10: 7072 696d 496e 7465 6765 7251 756f 7420 primIntegerQuot │ │ │ +00013e20: 3d20 2878 2c20 7929 203d 3e20 7820 2f20 = (x, y) => x / │ │ │ +00013e30: 793b 0a0a 2f2f 2075 7072 696d 496e 7465 y;..// uprimInte │ │ │ +00013e40: 6765 7245 7175 616c 203a 2028 496e 742c gerEqual : (Int, │ │ │ +00013e50: 2049 6e74 2920 2d3e 2042 6f6f 6c0a 6578 Int) -> Bool.ex │ │ │ +00013e60: 706f 7274 732e 7570 7269 6d49 6e74 6567 ports.uprimInteg │ │ │ +00013e70: 6572 4571 7561 6c20 3d20 2878 2c20 7929 erEqual = (x, y) │ │ │ +00013e80: 203d 3e20 7820 3d3d 3d20 793b 0a0a 2f2f => x === y;..// │ │ │ +00013e90: 2075 7072 696d 496e 7465 6765 7247 7265 uprimIntegerGre │ │ │ +00013ea0: 6174 6572 4f72 4571 7561 6c54 6861 6e20 aterOrEqualThan │ │ │ +00013eb0: 3a20 2849 6e74 2c20 496e 7429 202d 3e20 : (Int, Int) -> │ │ │ +00013ec0: 426f 6f6c 0a65 7870 6f72 7473 2e75 7072 Bool.exports.upr │ │ │ +00013ed0: 696d 496e 7465 6765 7247 7265 6174 6572 imIntegerGreater │ │ │ +00013ee0: 4f72 4571 7561 6c54 6861 6e20 3d20 2878 OrEqualThan = (x │ │ │ +00013ef0: 2c20 7929 203d 3e20 7820 3e3d 2079 3b0a , y) => x >= y;. │ │ │ +00013f00: 0a2f 2f20 7570 7269 6d49 6e74 6567 6572 .// uprimInteger │ │ │ +00013f10: 4c65 7373 5468 616e 203a 2028 496e 742c LessThan : (Int, │ │ │ +00013f20: 2049 6e74 2920 2d3e 2042 6f6f 6c0a 6578 Int) -> Bool.ex │ │ │ +00013f30: 706f 7274 732e 7570 7269 6d49 6e74 6567 ports.uprimInteg │ │ │ +00013f40: 6572 4c65 7373 5468 616e 203d 2028 782c erLessThan = (x, │ │ │ +00013f50: 2079 2920 3d3e 2078 203c 2079 3b0a 0a2f y) => x < y;../ │ │ │ +00013f60: 2f20 576f 7264 730a 636f 6e73 7420 574f / Words.const WO │ │ │ +00013f70: 5244 3634 5f4d 4158 5f56 414c 5545 203d RD64_MAX_VALUE = │ │ │ +00013f80: 2031 3834 3436 3734 3430 3733 3730 3935 184467440737095 │ │ │ +00013f90: 3532 3030 306e 3b0a 0a2f 2f20 7072 696d 52000n;..// prim │ │ │ +00013fa0: 576f 7264 3634 546f 4e61 7420 3a20 576f Word64ToNat : Wo │ │ │ +00013fb0: 7264 3634 202d 3e20 4e61 740a 6578 706f rd64 -> Nat.expo │ │ │ +00013fc0: 7274 732e 7072 696d 576f 7264 3634 546f rts.primWord64To │ │ │ +00013fd0: 4e61 7420 3d20 7820 3d3e 2078 3b0a 0a2f Nat = x => x;../ │ │ │ +00013fe0: 2f20 7072 696d 576f 7264 3634 4672 6f6d / primWord64From │ │ │ +00013ff0: 4e61 7420 3a20 4e61 7420 2d3e 2057 6f72 Nat : Nat -> Wor │ │ │ +00014000: 6436 340a 6578 706f 7274 732e 7072 696d d64.exports.prim │ │ │ +00014010: 576f 7264 3634 4672 6f6d 4e61 7420 3d20 Word64FromNat = │ │ │ +00014020: 7820 3d3e 2078 2025 2057 4f52 4436 345f x => x % WORD64_ │ │ │ +00014030: 4d41 585f 5641 4c55 453b 0a0a 2f2f 2075 MAX_VALUE;..// u │ │ │ +00014040: 7072 696d 576f 7264 3634 506c 7573 203a primWord64Plus : │ │ │ +00014050: 2028 576f 7264 3634 2c20 576f 7264 3634 (Word64, Word64 │ │ │ +00014060: 2920 2d3e 2057 6f72 6436 340a 6578 706f ) -> Word64.expo │ │ │ +00014070: 7274 732e 7570 7269 6d57 6f72 6436 3450 rts.uprimWord64P │ │ │ +00014080: 6c75 7320 3d20 2878 2c20 7929 203d 3e20 lus = (x, y) => │ │ │ +00014090: 2878 202b 2079 2920 2520 574f 5244 3634 (x + y) % WORD64 │ │ │ +000140a0: 5f4d 4158 5f56 414c 5545 3b0a 0a2f 2f20 _MAX_VALUE;..// │ │ │ +000140b0: 7570 7269 6d57 6f72 6436 344d 696e 7573 uprimWord64Minus │ │ │ +000140c0: 203a 2028 576f 7264 3634 2c20 576f 7264 : (Word64, Word │ │ │ +000140d0: 3634 2920 2d3e 2057 6f72 6436 340a 6578 64) -> Word64.ex │ │ │ +000140e0: 706f 7274 732e 7570 7269 6d57 6f72 6436 ports.uprimWord6 │ │ │ +000140f0: 344d 696e 7573 203d 2028 782c 2079 2920 4Minus = (x, y) │ │ │ +00014100: 3d3e 2028 7820 2b20 574f 5244 3634 5f4d => (x + WORD64_M │ │ │ +00014110: 4158 5f56 414c 5545 202d 2079 2920 2520 AX_VALUE - y) % │ │ │ +00014120: 574f 5244 3634 5f4d 4158 5f56 414c 5545 WORD64_MAX_VALUE │ │ │ +00014130: 3b0a 0a2f 2f20 7570 7269 6d57 6f72 6436 ;..// uprimWord6 │ │ │ +00014140: 344d 756c 7469 706c 7920 3a20 2857 6f72 4Multiply : (Wor │ │ │ +00014150: 6436 342c 2057 6f72 6436 3429 202d 3e20 d64, Word64) -> │ │ │ +00014160: 576f 7264 3634 0a65 7870 6f72 7473 2e75 Word64.exports.u │ │ │ +00014170: 7072 696d 576f 7264 3634 4d75 6c74 6970 primWord64Multip │ │ │ +00014180: 6c79 203d 2028 782c 2079 2920 3d3e 2028 ly = (x, y) => ( │ │ │ +00014190: 7820 2a20 7929 2025 2057 4f52 4436 345f x * y) % WORD64_ │ │ │ +000141a0: 4d41 585f 5641 4c55 453b 0a0a 2f2f 204e MAX_VALUE;..// N │ │ │ +000141b0: 6174 7572 616c 206e 756d 6265 7273 0a0a atural numbers.. │ │ │ +000141c0: 2f2f 2070 7269 6d4e 6174 4d69 6e75 7320 // primNatMinus │ │ │ +000141d0: 3a20 4e61 7420 2d3e 204e 6174 202d 3e20 : Nat -> Nat -> │ │ │ +000141e0: 4e61 740a 6578 706f 7274 732e 7072 696d Nat.exports.prim │ │ │ +000141f0: 4e61 744d 696e 7573 203d 2078 203d 3e20 NatMinus = x => │ │ │ +00014200: 7920 3d3e 207b 0a20 2063 6f6e 7374 207a y => {. const z │ │ │ +00014210: 203d 2078 202d 2079 3b0a 2020 7265 7475 = x - y;. retu │ │ │ +00014220: 726e 207a 203c 2030 6e20 3f20 306e 203a rn z < 0n ? 0n : │ │ │ +00014230: 207a 3b0a 7d3b 0a0a 2f2f 2046 6c6f 6174 z;.};..// Float │ │ │ +00014240: 696e 672d 706f 696e 7420 6e75 6d62 6572 ing-point number │ │ │ +00014250: 730a 7661 7220 5f70 7269 6d46 6c6f 6174 s.var _primFloat │ │ │ +00014260: 4772 6561 7465 7374 436f 6d6d 6f6e 4661 GreatestCommonFa │ │ │ +00014270: 6374 6f72 203d 2066 756e 6374 696f 6e28 ctor = function( │ │ │ +00014280: 782c 2079 2920 7b0a 2020 2020 7661 7220 x, y) {. var │ │ │ +00014290: 7a3b 0a20 2020 2078 203d 204d 6174 682e z;. x = Math. │ │ │ +000142a0: 6162 7328 7829 3b0a 2020 2020 7920 3d20 abs(x);. y = │ │ │ +000142b0: 4d61 7468 2e61 6273 2879 293b 0a20 2020 Math.abs(y);. │ │ │ +000142c0: 2077 6869 6c65 2028 7929 207b 0a20 2020 while (y) {. │ │ │ +000142d0: 2020 2020 207a 203d 2078 2025 2079 3b0a z = x % y;. │ │ │ +000142e0: 2020 2020 2020 2020 7820 3d20 793b 0a20 x = y;. │ │ │ +000142f0: 2020 2020 2020 2079 203d 207a 3b0a 2020 y = z;. │ │ │ +00014300: 2020 7d0a 2020 2020 7265 7475 726e 2078 }. return x │ │ │ +00014310: 3b0a 7d3b 0a65 7870 6f72 7473 2e5f 7072 ;.};.exports._pr │ │ │ +00014320: 696d 466c 6f61 7452 6f75 6e64 203d 2066 imFloatRound = f │ │ │ +00014330: 756e 6374 696f 6e28 7829 207b 0a20 2020 unction(x) {. │ │ │ +00014340: 2069 6620 2865 7870 6f72 7473 2e70 7269 if (exports.pri │ │ │ +00014350: 6d46 6c6f 6174 4973 4e61 4e28 7829 207c mFloatIsNaN(x) | │ │ │ +00014360: 7c20 6578 706f 7274 732e 7072 696d 466c | exports.primFl │ │ │ +00014370: 6f61 7449 7349 6e66 696e 6974 6528 7829 oatIsInfinite(x) │ │ │ +00014380: 2920 7b0a 2020 2020 2020 2020 7265 7475 ) {. retu │ │ │ +00014390: 726e 206e 756c 6c3b 0a20 2020 207d 0a20 rn null;. }. │ │ │ +000143a0: 2020 2065 6c73 6520 7b0a 2020 2020 2020 else {. │ │ │ +000143b0: 2020 7265 7475 726e 2042 6967 496e 7428 return BigInt( │ │ │ +000143c0: 4d61 7468 2e72 6f75 6e64 2878 2929 3b0a Math.round(x));. │ │ │ +000143d0: 2020 2020 7d0a 7d3b 0a65 7870 6f72 7473 }.};.exports │ │ │ +000143e0: 2e5f 7072 696d 466c 6f61 7446 6c6f 6f72 ._primFloatFloor │ │ │ +000143f0: 203d 2066 756e 6374 696f 6e28 7829 207b = function(x) { │ │ │ +00014400: 0a20 2020 2069 6620 2865 7870 6f72 7473 . if (exports │ │ │ +00014410: 2e70 7269 6d46 6c6f 6174 4973 4e61 4e28 .primFloatIsNaN( │ │ │ +00014420: 7829 207c 7c20 6578 706f 7274 732e 7072 x) || exports.pr │ │ │ +00014430: 696d 466c 6f61 7449 7349 6e66 696e 6974 imFloatIsInfinit │ │ │ +00014440: 6528 7829 2920 7b0a 2020 2020 2020 2020 e(x)) {. │ │ │ +00014450: 7265 7475 726e 206e 756c 6c3b 0a20 2020 return null;. │ │ │ +00014460: 207d 0a20 2020 2065 6c73 6520 7b0a 2020 }. else {. │ │ │ +00014470: 2020 2020 2020 7265 7475 726e 2042 6967 return Big │ │ │ +00014480: 496e 7428 4d61 7468 2e66 6c6f 6f72 2878 Int(Math.floor(x │ │ │ +00014490: 2929 3b0a 2020 2020 7d0a 7d3b 0a65 7870 ));. }.};.exp │ │ │ +000144a0: 6f72 7473 2e5f 7072 696d 466c 6f61 7443 orts._primFloatC │ │ │ +000144b0: 6569 6c69 6e67 203d 2066 756e 6374 696f eiling = functio │ │ │ +000144c0: 6e28 7829 207b 0a20 2020 2069 6620 2865 n(x) {. if (e │ │ │ +000144d0: 7870 6f72 7473 2e70 7269 6d46 6c6f 6174 xports.primFloat │ │ │ +000144e0: 4973 4e61 4e28 7829 207c 7c20 6578 706f IsNaN(x) || expo │ │ │ +000144f0: 7274 732e 7072 696d 466c 6f61 7449 7349 rts.primFloatIsI │ │ │ +00014500: 6e66 696e 6974 6528 7829 2920 7b0a 2020 nfinite(x)) {. │ │ │ +00014510: 2020 2020 2020 7265 7475 726e 206e 756c return nul │ │ │ +00014520: 6c3b 0a20 2020 207d 0a20 2020 2065 6c73 l;. }. els │ │ │ +00014530: 6520 7b0a 2020 2020 2020 2020 7265 7475 e {. retu │ │ │ +00014540: 726e 2042 6967 496e 7428 4d61 7468 2e63 rn BigInt(Math.c │ │ │ +00014550: 6569 6c28 7829 293b 0a20 2020 207d 0a7d eil(x));. }.} │ │ │ +00014560: 3b0a 6578 706f 7274 732e 5f70 7269 6d46 ;.exports._primF │ │ │ +00014570: 6c6f 6174 546f 5261 7469 6f20 3d20 6675 loatToRatio = fu │ │ │ +00014580: 6e63 7469 6f6e 2878 2920 7b0a 2020 2020 nction(x) {. │ │ │ +00014590: 6966 2028 6578 706f 7274 732e 7072 696d if (exports.prim │ │ │ +000145a0: 466c 6f61 7449 734e 614e 2878 2929 207b FloatIsNaN(x)) { │ │ │ +000145b0: 0a20 2020 2020 2020 2072 6574 7572 6e20 . return │ │ │ +000145c0: 7b6e 756d 6572 6174 6f72 3a20 4269 6749 {numerator: BigI │ │ │ +000145d0: 6e74 2830 292c 2064 656e 6f6d 696e 6174 nt(0), denominat │ │ │ +000145e0: 6f72 3a20 4269 6749 6e74 2830 297d 3b0a or: BigInt(0)};. │ │ │ +000145f0: 2020 2020 7d0a 2020 2020 656c 7365 2069 }. else i │ │ │ +00014600: 6620 2878 203c 2030 2e30 2026 2620 6578 f (x < 0.0 && ex │ │ │ +00014610: 706f 7274 732e 7072 696d 466c 6f61 7449 ports.primFloatI │ │ │ +00014620: 7349 6e66 696e 6974 6528 7829 2920 7b0a sInfinite(x)) {. │ │ │ +00014630: 2020 2020 2020 2020 7265 7475 726e 207b return { │ │ │ +00014640: 6e75 6d65 7261 746f 723a 2042 6967 496e numerator: BigIn │ │ │ +00014650: 7428 2d31 292c 2064 656e 6f6d 696e 6174 t(-1), denominat │ │ │ +00014660: 6f72 3a20 4269 6749 6e74 2830 297d 3b0a or: BigInt(0)};. │ │ │ +00014670: 2020 2020 7d0a 2020 2020 656c 7365 2069 }. else i │ │ │ +00014680: 6620 2878 203e 2030 2e30 2026 2620 6578 f (x > 0.0 && ex │ │ │ +00014690: 706f 7274 732e 7072 696d 466c 6f61 7449 ports.primFloatI │ │ │ +000146a0: 7349 6e66 696e 6974 6528 7829 2920 7b0a sInfinite(x)) {. │ │ │ +000146b0: 2020 2020 2020 2020 7265 7475 726e 207b return { │ │ │ +000146c0: 6e75 6d65 7261 746f 723a 2042 6967 496e numerator: BigIn │ │ │ +000146d0: 7428 3129 2c20 6465 6e6f 6d69 6e61 746f t(1), denominato │ │ │ +000146e0: 723a 2042 6967 496e 7428 3029 7d3b 0a20 r: BigInt(0)};. │ │ │ +000146f0: 2020 207d 0a20 2020 2065 6c73 6520 6966 }. else if │ │ │ +00014700: 2028 6578 706f 7274 732e 7072 696d 466c (exports.primFl │ │ │ +00014710: 6f61 7449 734e 6567 6174 6976 655a 6572 oatIsNegativeZer │ │ │ +00014720: 6f28 7829 2920 7b0a 2020 2020 2020 2020 o(x)) {. │ │ │ +00014730: 7265 7475 726e 207b 6e75 6d65 7261 746f return {numerato │ │ │ +00014740: 723a 2042 6967 496e 7428 3029 2c20 6465 r: BigInt(0), de │ │ │ +00014750: 6e6f 6d69 6e61 746f 723a 2042 6967 496e nominator: BigIn │ │ │ +00014760: 7428 3129 7d3b 0a20 2020 207d 0a20 2020 t(1)};. }. │ │ │ +00014770: 2065 6c73 6520 6966 2028 7820 3d3d 2030 else if (x == 0 │ │ │ +00014780: 2e30 2920 7b0a 2020 2020 2020 2020 7265 .0) {. re │ │ │ +00014790: 7475 726e 207b 6e75 6d65 7261 746f 723a turn {numerator: │ │ │ +000147a0: 2042 6967 496e 7428 3029 2c20 6465 6e6f BigInt(0), deno │ │ │ +000147b0: 6d69 6e61 746f 723a 2042 6967 496e 7428 minator: BigInt( │ │ │ +000147c0: 3129 7d3b 0a20 2020 207d 0a20 2020 2065 1)};. }. e │ │ │ +000147d0: 6c73 6520 7b0a 2020 2020 2020 2020 7661 lse {. va │ │ │ +000147e0: 7220 6e75 6d65 7261 746f 7220 3d20 4d61 r numerator = Ma │ │ │ +000147f0: 7468 2e72 6f75 6e64 2878 2a31 6539 293b th.round(x*1e9); │ │ │ +00014800: 0a20 2020 2020 2020 2076 6172 2064 656e . var den │ │ │ +00014810: 6f6d 696e 6174 6f72 203d 2031 6539 3b0a ominator = 1e9;. │ │ │ +00014820: 2020 2020 2020 2020 7661 7220 6763 6620 var gcf │ │ │ +00014830: 3d20 5f70 7269 6d46 6c6f 6174 4772 6561 = _primFloatGrea │ │ │ +00014840: 7465 7374 436f 6d6d 6f6e 4661 6374 6f72 testCommonFactor │ │ │ +00014850: 286e 756d 6572 6174 6f72 2c20 6465 6e6f (numerator, deno │ │ │ +00014860: 6d69 6e61 746f 7229 3b0a 2020 2020 2020 minator);. │ │ │ +00014870: 2020 6e75 6d65 7261 746f 7220 2f3d 2067 numerator /= g │ │ │ +00014880: 6366 3b0a 2020 2020 2020 2020 6465 6e6f cf;. deno │ │ │ +00014890: 6d69 6e61 746f 7220 2f3d 2067 6366 3b0a minator /= gcf;. │ │ │ +000148a0: 2020 2020 2020 2020 7265 7475 726e 207b return { │ │ │ +000148b0: 6e75 6d65 7261 746f 723a 2042 6967 496e numerator: BigIn │ │ │ +000148c0: 7428 6e75 6d65 7261 746f 7229 2c20 6465 t(numerator), de │ │ │ +000148d0: 6e6f 6d69 6e61 746f 723a 2042 6967 496e nominator: BigIn │ │ │ +000148e0: 7428 6465 6e6f 6d69 6e61 746f 7229 7d3b t(denominator)}; │ │ │ +000148f0: 0a20 2020 207d 0a7d 3b0a 6578 706f 7274 . }.};.export │ │ │ +00014900: 732e 5f70 7269 6d46 6c6f 6174 4465 636f s._primFloatDeco │ │ │ +00014910: 6465 203d 2066 756e 6374 696f 6e28 7829 de = function(x) │ │ │ +00014920: 207b 0a20 2020 2069 6620 2865 7870 6f72 {. if (expor │ │ │ +00014930: 7473 2e70 7269 6d46 6c6f 6174 4973 4e61 ts.primFloatIsNa │ │ │ +00014940: 4e28 7829 2920 7b0a 2020 2020 2020 2020 N(x)) {. │ │ │ +00014950: 7265 7475 726e 206e 756c 6c3b 0a20 2020 return null;. │ │ │ +00014960: 207d 0a20 2020 2065 6c73 6520 6966 2028 }. else if ( │ │ │ +00014970: 7820 3c20 302e 3020 2626 2065 7870 6f72 x < 0.0 && expor │ │ │ +00014980: 7473 2e70 7269 6d46 6c6f 6174 4973 496e ts.primFloatIsIn │ │ │ +00014990: 6669 6e69 7465 2878 2929 207b 0a20 2020 finite(x)) {. │ │ │ +000149a0: 2020 2020 2072 6574 7572 6e20 6e75 6c6c return null │ │ │ +000149b0: 3b0a 2020 2020 7d0a 2020 2020 656c 7365 ;. }. else │ │ │ +000149c0: 2069 6620 2878 203e 2030 2e30 2026 2620 if (x > 0.0 && │ │ │ +000149d0: 6578 706f 7274 732e 7072 696d 466c 6f61 exports.primFloa │ │ │ +000149e0: 7449 7349 6e66 696e 6974 6528 7829 2920 tIsInfinite(x)) │ │ │ +000149f0: 7b0a 2020 2020 2020 2020 7265 7475 726e {. return │ │ │ +00014a00: 206e 756c 6c3b 0a20 2020 207d 0a20 2020 null;. }. │ │ │ +00014a10: 2065 6c73 6520 7b0a 2020 2020 2020 2020 else {. │ │ │ +00014a20: 7661 7220 6d61 6e74 6973 7361 203d 2078 var mantissa = x │ │ │ +00014a30: 2c20 6578 706f 6e65 6e74 203d 2030 3b0a , exponent = 0;. │ │ │ +00014a40: 2020 2020 2020 2020 7768 696c 6520 2821 while (! │ │ │ +00014a50: 4e75 6d62 6572 2e69 7349 6e74 6567 6572 Number.isInteger │ │ │ +00014a60: 286d 616e 7469 7373 6129 2920 7b0a 2020 (mantissa)) {. │ │ │ +00014a70: 2020 2020 2020 2020 2020 6d61 6e74 6973 mantis │ │ │ +00014a80: 7361 202a 3d20 322e 303b 0a20 2020 2020 sa *= 2.0;. │ │ │ +00014a90: 2020 2020 2020 2065 7870 6f6e 656e 7420 exponent │ │ │ +00014aa0: 2d3d 2031 3b0a 2020 2020 2020 2020 7d3b -= 1;. }; │ │ │ +00014ab0: 0a20 2020 2020 2020 2077 6869 6c65 2028 . while ( │ │ │ +00014ac0: 6d61 6e74 6973 7361 2025 2032 2e30 203d mantissa % 2.0 = │ │ │ +00014ad0: 3d3d 2030 2920 7b0a 2020 2020 2020 2020 == 0) {. │ │ │ +00014ae0: 2020 2020 6d61 6e74 6973 7361 202f 3d20 mantissa /= │ │ │ +00014af0: 322e 303b 0a20 2020 2020 2020 2020 2020 2.0;. │ │ │ +00014b00: 2065 7870 6f6e 656e 7420 2b3d 2031 3b0a exponent += 1;. │ │ │ +00014b10: 2020 2020 2020 2020 7d0a 2020 2020 2020 }. │ │ │ +00014b20: 2020 7265 7475 726e 207b 6d61 6e74 6973 return {mantis │ │ │ +00014b30: 7361 3a20 4269 6749 6e74 286d 616e 7469 sa: BigInt(manti │ │ │ +00014b40: 7373 6129 2c20 6578 706f 6e65 6e74 3a20 ssa), exponent: │ │ │ +00014b50: 4269 6749 6e74 2865 7870 6f6e 656e 7429 BigInt(exponent) │ │ │ +00014b60: 7d3b 0a20 2020 207d 0a7d 3b0a 6578 706f };. }.};.expo │ │ │ +00014b70: 7274 732e 7570 7269 6d46 6c6f 6174 4571 rts.uprimFloatEq │ │ │ +00014b80: 7561 6c69 7479 203d 2066 756e 6374 696f uality = functio │ │ │ +00014b90: 6e28 782c 2079 2920 7b0a 2020 2020 7265 n(x, y) {. re │ │ │ +00014ba0: 7475 726e 2078 203d 3d3d 2079 3b0a 7d3b turn x === y;.}; │ │ │ +00014bb0: 0a65 7870 6f72 7473 2e70 7269 6d46 6c6f .exports.primFlo │ │ │ +00014bc0: 6174 4571 7561 6c69 7479 203d 2066 756e atEquality = fun │ │ │ +00014bd0: 6374 696f 6e28 7829 207b 0a20 2020 2072 ction(x) {. r │ │ │ +00014be0: 6574 7572 6e20 6675 6e63 7469 6f6e 2879 eturn function(y │ │ │ +00014bf0: 2920 7b0a 2020 2020 2020 2020 7265 7475 ) {. retu │ │ │ +00014c00: 726e 2065 7870 6f72 7473 2e75 7072 696d rn exports.uprim │ │ │ +00014c10: 466c 6f61 7445 7175 616c 6974 7928 782c FloatEquality(x, │ │ │ +00014c20: 2079 293b 0a20 2020 207d 3b0a 7d3b 0a65 y);. };.};.e │ │ │ +00014c30: 7870 6f72 7473 2e70 7269 6d46 6c6f 6174 xports.primFloat │ │ │ +00014c40: 496e 6571 7561 6c69 7479 203d 2066 756e Inequality = fun │ │ │ +00014c50: 6374 696f 6e28 7829 207b 0a20 2020 2072 ction(x) {. r │ │ │ +00014c60: 6574 7572 6e20 6675 6e63 7469 6f6e 2879 eturn function(y │ │ │ +00014c70: 2920 7b0a 2020 2020 2020 2020 7265 7475 ) {. retu │ │ │ +00014c80: 726e 2078 203c 3d20 793b 0a20 2020 207d rn x <= y;. } │ │ │ +00014c90: 3b0a 7d3b 0a65 7870 6f72 7473 2e70 7269 ;.};.exports.pri │ │ │ +00014ca0: 6d46 6c6f 6174 4c65 7373 203d 2066 756e mFloatLess = fun │ │ │ +00014cb0: 6374 696f 6e28 7829 207b 0a20 2020 2072 ction(x) {. r │ │ │ +00014cc0: 6574 7572 6e20 6675 6e63 7469 6f6e 2879 eturn function(y │ │ │ +00014cd0: 2920 7b0a 2020 2020 2020 2020 7265 7475 ) {. retu │ │ │ +00014ce0: 726e 2078 203c 2079 3b0a 2020 2020 7d3b rn x < y;. }; │ │ │ +00014cf0: 0a7d 3b0a 6578 706f 7274 732e 7072 696d .};.exports.prim │ │ │ +00014d00: 466c 6f61 7449 7349 6e66 696e 6974 6520 FloatIsInfinite │ │ │ +00014d10: 3d20 6675 6e63 7469 6f6e 2878 2920 7b0a = function(x) {. │ │ │ +00014d20: 2020 2020 7265 7475 726e 2021 4e75 6d62 return !Numb │ │ │ +00014d30: 6572 2e69 734e 614e 2878 2920 2626 2021 er.isNaN(x) && ! │ │ │ +00014d40: 4e75 6d62 6572 2e69 7346 696e 6974 6528 Number.isFinite( │ │ │ +00014d50: 7829 3b0a 7d3b 0a65 7870 6f72 7473 2e70 x);.};.exports.p │ │ │ +00014d60: 7269 6d46 6c6f 6174 4973 4e61 4e20 3d20 rimFloatIsNaN = │ │ │ +00014d70: 6675 6e63 7469 6f6e 2878 2920 7b0a 2020 function(x) {. │ │ │ +00014d80: 2020 7265 7475 726e 204e 756d 6265 722e return Number. │ │ │ +00014d90: 6973 4e61 4e28 7829 3b0a 7d3b 0a65 7870 isNaN(x);.};.exp │ │ │ +00014da0: 6f72 7473 2e70 7269 6d46 6c6f 6174 4973 orts.primFloatIs │ │ │ +00014db0: 4e65 6761 7469 7665 5a65 726f 203d 2066 NegativeZero = f │ │ │ +00014dc0: 756e 6374 696f 6e28 7829 207b 0a20 2020 unction(x) {. │ │ │ +00014dd0: 2072 6574 7572 6e20 4f62 6a65 6374 2e69 return Object.i │ │ │ +00014de0: 7328 782c 2d30 2e30 293b 0a7d 3b0a 6578 s(x,-0.0);.};.ex │ │ │ +00014df0: 706f 7274 732e 7072 696d 466c 6f61 7449 ports.primFloatI │ │ │ +00014e00: 7353 6166 6549 6e74 6567 6572 203d 2066 sSafeInteger = f │ │ │ +00014e10: 756e 6374 696f 6e28 7829 207b 0a20 2020 unction(x) {. │ │ │ +00014e20: 2072 6574 7572 6e20 4e75 6d62 6572 2e69 return Number.i │ │ │ +00014e30: 7353 6166 6549 6e74 6567 6572 2878 293b sSafeInteger(x); │ │ │ +00014e40: 0a7d 3b0a 0a0a 2f2f 2054 6865 7365 2057 .};...// These W │ │ │ +00014e50: 4f52 4436 3420 7661 6c75 6573 2077 6572 ORD64 values wer │ │ │ +00014e60: 6520 6f62 7461 696e 6564 2076 6961 2060 e obtained via ` │ │ │ +00014e70: 6361 7374 446f 7562 6c65 546f 576f 7264 castDoubleToWord │ │ │ +00014e80: 3634 6020 696e 2048 6173 6b65 6c6c 3a0a 64` in Haskell:. │ │ │ +00014e90: 636f 6e73 7420 574f 5244 3634 5f50 4f53 const WORD64_POS │ │ │ +00014ea0: 5f49 4e46 2020 3d20 3932 3138 3836 3834 _INF = 92188684 │ │ │ +00014eb0: 3337 3232 3734 3035 3331 326e 3b0a 636f 37227405312n;.co │ │ │ +00014ec0: 6e73 7420 574f 5244 3634 5f4e 4547 5f49 nst WORD64_NEG_I │ │ │ +00014ed0: 4e46 2020 3d20 3138 3434 3232 3430 3437 NF = 1844224047 │ │ │ +00014ee0: 3430 3832 3138 3131 3230 6e3b 0a63 6f6e 4082181120n;.con │ │ │ +00014ef0: 7374 2057 4f52 4436 345f 504f 535f 5a45 st WORD64_POS_ZE │ │ │ +00014f00: 524f 203d 2030 6e3b 0a63 6f6e 7374 2057 RO = 0n;.const W │ │ │ +00014f10: 4f52 4436 345f 4e45 475f 5a45 524f 203d ORD64_NEG_ZERO = │ │ │ +00014f20: 2039 3232 3333 3732 3033 3638 3534 3737 922337203685477 │ │ │ +00014f30: 3538 3038 6e3b 0a0a 6578 706f 7274 732e 5808n;..exports. │ │ │ +00014f40: 7072 696d 466c 6f61 7454 6f57 6f72 6436 primFloatToWord6 │ │ │ +00014f50: 3420 3d20 6675 6e63 7469 6f6e 2878 2920 4 = function(x) │ │ │ +00014f60: 7b0a 2020 2020 6966 2028 6578 706f 7274 {. if (export │ │ │ +00014f70: 732e 7072 696d 466c 6f61 7449 734e 614e s.primFloatIsNaN │ │ │ +00014f80: 2878 2929 207b 0a20 2020 2020 2020 2072 (x)) {. r │ │ │ +00014f90: 6574 7572 6e20 6e75 6c6c 3b0a 2020 2020 eturn null;. │ │ │ +00014fa0: 7d0a 2020 2020 656c 7365 2069 6620 2878 }. else if (x │ │ │ +00014fb0: 203c 2030 2e30 2026 2620 6578 706f 7274 < 0.0 && export │ │ │ +00014fc0: 732e 7072 696d 466c 6f61 7449 7349 6e66 s.primFloatIsInf │ │ │ +00014fd0: 696e 6974 6528 7829 2920 7b0a 2020 2020 inite(x)) {. │ │ │ +00014fe0: 2020 2020 7265 7475 726e 2057 4f52 4436 return WORD6 │ │ │ +00014ff0: 345f 4e45 475f 494e 463b 0a20 2020 207d 4_NEG_INF;. } │ │ │ +00015000: 0a20 2020 2065 6c73 6520 6966 2028 7820 . else if (x │ │ │ +00015010: 3e20 302e 3020 2626 2065 7870 6f72 7473 > 0.0 && exports │ │ │ +00015020: 2e70 7269 6d46 6c6f 6174 4973 496e 6669 .primFloatIsInfi │ │ │ +00015030: 6e69 7465 2878 2929 207b 0a20 2020 2020 nite(x)) {. │ │ │ +00015040: 2020 2072 6574 7572 6e20 574f 5244 3634 return WORD64 │ │ │ +00015050: 5f50 4f53 5f49 4e46 3b0a 2020 2020 7d0a _POS_INF;. }. │ │ │ +00015060: 2020 2020 656c 7365 2069 6620 2865 7870 else if (exp │ │ │ +00015070: 6f72 7473 2e70 7269 6d46 6c6f 6174 4973 orts.primFloatIs │ │ │ +00015080: 4e65 6761 7469 7665 5a65 726f 2878 2929 NegativeZero(x)) │ │ │ +00015090: 207b 0a20 2020 2020 2020 2072 6574 7572 {. retur │ │ │ +000150a0: 6e20 574f 5244 3634 5f4e 4547 5f5a 4552 n WORD64_NEG_ZER │ │ │ +000150b0: 4f3b 0a20 2020 207d 0a20 2020 2065 6c73 O;. }. els │ │ │ +000150c0: 6520 6966 2028 7820 3d3d 2030 2e30 2920 e if (x == 0.0) │ │ │ +000150d0: 7b0a 2020 2020 2020 2020 7265 7475 726e {. return │ │ │ +000150e0: 2057 4f52 4436 345f 504f 535f 5a45 524f WORD64_POS_ZERO │ │ │ +000150f0: 3b0a 2020 2020 7d0a 2020 2020 656c 7365 ;. }. else │ │ │ +00015100: 207b 0a20 2020 2020 2020 2076 6172 206d {. var m │ │ │ +00015110: 616e 7469 7373 612c 2065 7870 6f6e 656e antissa, exponen │ │ │ +00015120: 743b 0a20 2020 2020 2020 2028 7b6d 616e t;. ({man │ │ │ +00015130: 7469 7373 612c 2065 7870 6f6e 656e 747d tissa, exponent} │ │ │ +00015140: 203d 2065 7870 6f72 7473 2e5f 7072 696d = exports._prim │ │ │ +00015150: 466c 6f61 7444 6563 6f64 6528 7829 293b FloatDecode(x)); │ │ │ +00015160: 0a20 2020 2020 2020 2076 6172 2073 6967 . var sig │ │ │ +00015170: 6e20 3d20 4d61 7468 2e73 6967 6e28 6d61 n = Math.sign(ma │ │ │ +00015180: 6e74 6973 7361 293b 0a20 2020 2020 2020 ntissa);. │ │ │ +00015190: 2063 6f6e 736f 6c65 2e6c 6f67 286d 616e console.log(man │ │ │ +000151a0: 7469 7373 6129 3b0a 2020 2020 2020 2020 tissa);. │ │ │ +000151b0: 6d61 6e74 6973 7361 202a 3d20 7369 676e mantissa *= sign │ │ │ +000151c0: 3b0a 2020 2020 2020 2020 7369 676e 203d ;. sign = │ │ │ +000151d0: 2028 7369 676e 203d 3d3d 202d 3120 3f20 (sign === -1 ? │ │ │ +000151e0: 2231 2220 3a20 2230 2229 3b0a 2020 2020 "1" : "0");. │ │ │ +000151f0: 2020 2020 6d61 6e74 6973 7361 203d 2028 mantissa = ( │ │ │ +00015200: 6d61 6e74 6973 7361 2e74 6f53 7472 696e mantissa.toStrin │ │ │ +00015210: 6728 3229 292e 7061 6453 7461 7274 2831 g(2)).padStart(1 │ │ │ +00015220: 312c 2022 3022 293b 0a20 2020 2020 2020 1, "0");. │ │ │ +00015230: 2065 7870 6f6e 656e 7420 3d20 286d 616e exponent = (man │ │ │ +00015240: 7469 7373 612e 746f 5374 7269 6e67 2832 tissa.toString(2 │ │ │ +00015250: 2929 2e70 6164 5374 6172 7428 3532 2c20 )).padStart(52, │ │ │ +00015260: 2230 2229 3b0a 2020 2020 2020 2020 7265 "0");. re │ │ │ +00015270: 7475 726e 2042 6967 496e 7428 7061 7273 turn BigInt(pars │ │ │ +00015280: 6549 6e74 2873 6967 6e20 2b20 6d61 6e74 eInt(sign + mant │ │ │ +00015290: 6973 7361 202b 2065 7870 6f6e 656e 742c issa + exponent, │ │ │ +000152a0: 2032 2929 3b0a 2020 2020 7d0a 7d3b 0a0a 2));. }.};.. │ │ │ +000152b0: 2f2f 2070 7269 6d4e 6174 546f 466c 6f61 // primNatToFloa │ │ │ +000152c0: 7420 3a20 4e61 7420 2d3e 2046 6c6f 6174 t : Nat -> Float │ │ │ +000152d0: 0a65 7870 6f72 7473 2e70 7269 6d4e 6174 .exports.primNat │ │ │ +000152e0: 546f 466c 6f61 7420 3d20 4e75 6d62 6572 ToFloat = Number │ │ │ +000152f0: 3b0a 0a2f 2f20 7072 696d 496e 7454 6f46 ;..// primIntToF │ │ │ +00015300: 6c6f 6174 203a 2049 6e74 202d 3e20 466c loat : Int -> Fl │ │ │ +00015310: 6f61 740a 6578 706f 7274 732e 7072 696d oat.exports.prim │ │ │ +00015320: 496e 7454 6f46 6c6f 6174 203d 204e 756d IntToFloat = Num │ │ │ +00015330: 6265 723b 0a0a 2f2f 2070 7269 6d52 6174 ber;..// primRat │ │ │ +00015340: 696f 546f 466c 6f61 7420 3a20 496e 7420 ioToFloat : Int │ │ │ +00015350: 2d3e 2049 6e74 202d 3e20 466c 6f61 740a -> Int -> Float. │ │ │ +00015360: 6578 706f 7274 732e 7072 696d 5261 7469 exports.primRati │ │ │ +00015370: 6f54 6f46 6c6f 6174 203d 2078 203d 3e20 oToFloat = x => │ │ │ +00015380: 7920 3d3e 204e 756d 6265 7228 7829 202f y => Number(x) / │ │ │ +00015390: 204e 756d 6265 7228 7929 3b0a 0a2f 2f20 Number(y);..// │ │ │ +000153a0: 7570 7269 6d46 6c6f 6174 456e 636f 6465 uprimFloatEncode │ │ │ +000153b0: 203a 2028 496e 742c 2049 6e74 2920 2d3e : (Int, Int) -> │ │ │ +000153c0: 204d 6179 6265 2046 6c6f 6174 0a65 7870 Maybe Float.exp │ │ │ +000153d0: 6f72 7473 2e75 7072 696d 466c 6f61 7445 orts.uprimFloatE │ │ │ +000153e0: 6e63 6f64 6520 3d20 2878 2c20 7929 203d ncode = (x, y) = │ │ │ +000153f0: 3e20 7b0a 2020 636f 6e73 7420 6d61 6e74 > {. const mant │ │ │ +00015400: 6973 7361 203d 204e 756d 6265 7228 7829 issa = Number(x) │ │ │ +00015410: 3b0a 2020 636f 6e73 7420 6578 706f 6e65 ;. const expone │ │ │ +00015420: 6e74 203d 204e 756d 6265 7228 7929 3b0a nt = Number(y);. │ │ │ +00015430: 0a20 2069 6620 284e 756d 6265 722e 6973 . if (Number.is │ │ │ +00015440: 5361 6665 496e 7465 6765 7228 6d61 6e74 SafeInteger(mant │ │ │ +00015450: 6973 7361 2920 2626 202d 3130 3234 203c issa) && -1024 < │ │ │ +00015460: 3d20 6578 706f 6e65 6e74 2026 2620 6578 = exponent && ex │ │ │ +00015470: 706f 6e65 6e74 203c 3d20 3130 3234 2920 ponent <= 1024) │ │ │ +00015480: 7b0a 2020 2020 7265 7475 726e 206d 616e {. return man │ │ │ +00015490: 7469 7373 6120 2a20 2832 202a 2a20 6578 tissa * (2 ** ex │ │ │ +000154a0: 706f 6e65 6e74 293b 0a20 207d 0a0a 2020 ponent);. }.. │ │ │ +000154b0: 656c 7365 207b 0a20 2020 2072 6574 7572 else {. retur │ │ │ +000154c0: 6e20 6e75 6c6c 3b0a 2020 7d0a 7d3b 0a0a n null;. }.};.. │ │ │ +000154d0: 6578 706f 7274 732e 7072 696d 5368 6f77 exports.primShow │ │ │ +000154e0: 466c 6f61 7420 3d20 6675 6e63 7469 6f6e Float = function │ │ │ +000154f0: 2878 2920 7b0a 2020 2020 2f2f 2053 6565 (x) {. // See │ │ │ +00015500: 2049 7373 7565 2023 3231 3932 2e0a 2020 Issue #2192.. │ │ │ +00015510: 2020 6966 2028 4e75 6d62 6572 2e69 7349 if (Number.isI │ │ │ +00015520: 6e74 6567 6572 2878 2929 207b 0a20 2020 nteger(x)) {. │ │ │ +00015530: 2020 2020 2069 6620 2865 7870 6f72 7473 if (exports │ │ │ +00015540: 2e70 7269 6d46 6c6f 6174 4973 4e65 6761 .primFloatIsNega │ │ │ +00015550: 7469 7665 5a65 726f 2878 2929 207b 0a20 tiveZero(x)) {. │ │ │ +00015560: 2020 2020 2020 2020 2020 2072 6574 7572 retur │ │ │ +00015570: 6e20 2822 2d30 2e30 2229 3b0a 2020 2020 n ("-0.0");. │ │ │ +00015580: 2020 2020 7d20 656c 7365 207b 0a20 2020 } else {. │ │ │ +00015590: 2020 2020 2020 2020 2072 6574 7572 6e20 return │ │ │ +000155a0: 2878 2e74 6f53 7472 696e 6728 2920 2b20 (x.toString() + │ │ │ +000155b0: 222e 3022 293b 0a20 2020 2020 2020 207d ".0");. } │ │ │ +000155c0: 0a20 2020 207d 2065 6c73 6520 7b0a 2020 . } else {. │ │ │ +000155d0: 2020 2020 2020 7265 7475 726e 2078 2e74 return x.t │ │ │ +000155e0: 6f53 7472 696e 6728 293b 0a20 2020 207d oString();. } │ │ │ +000155f0: 0a7d 3b0a 6578 706f 7274 732e 7072 696d .};.exports.prim │ │ │ +00015600: 466c 6f61 7450 6c75 7320 3d20 6675 6e63 FloatPlus = func │ │ │ +00015610: 7469 6f6e 2878 2920 7b0a 2020 2020 7265 tion(x) {. re │ │ │ +00015620: 7475 726e 2066 756e 6374 696f 6e28 7929 turn function(y) │ │ │ +00015630: 207b 0a20 2020 2020 2020 2072 6574 7572 {. retur │ │ │ +00015640: 6e20 7820 2b20 793b 0a20 2020 207d 3b0a n x + y;. };. │ │ │ +00015650: 7d3b 0a65 7870 6f72 7473 2e70 7269 6d46 };.exports.primF │ │ │ +00015660: 6c6f 6174 4d69 6e75 7320 3d20 6675 6e63 loatMinus = func │ │ │ +00015670: 7469 6f6e 2878 2920 7b0a 2020 2020 7265 tion(x) {. re │ │ │ +00015680: 7475 726e 2066 756e 6374 696f 6e28 7929 turn function(y) │ │ │ +00015690: 207b 0a20 2020 2020 2020 2072 6574 7572 {. retur │ │ │ +000156a0: 6e20 7820 2d20 793b 0a20 2020 207d 3b0a n x - y;. };. │ │ │ +000156b0: 7d3b 0a65 7870 6f72 7473 2e70 7269 6d46 };.exports.primF │ │ │ +000156c0: 6c6f 6174 5469 6d65 7320 3d20 6675 6e63 loatTimes = func │ │ │ +000156d0: 7469 6f6e 2878 2920 7b0a 2020 2020 7265 tion(x) {. re │ │ │ +000156e0: 7475 726e 2066 756e 6374 696f 6e28 7929 turn function(y) │ │ │ +000156f0: 207b 0a20 2020 2020 2020 2072 6574 7572 {. retur │ │ │ +00015700: 6e20 7820 2a20 793b 0a20 2020 207d 3b0a n x * y;. };. │ │ │ +00015710: 7d3b 0a65 7870 6f72 7473 2e70 7269 6d46 };.exports.primF │ │ │ +00015720: 6c6f 6174 4e65 6761 7465 203d 2066 756e loatNegate = fun │ │ │ +00015730: 6374 696f 6e28 7829 207b 0a20 2020 2072 ction(x) {. r │ │ │ +00015740: 6574 7572 6e20 2d78 3b0a 7d3b 0a65 7870 eturn -x;.};.exp │ │ │ +00015750: 6f72 7473 2e70 7269 6d46 6c6f 6174 4469 orts.primFloatDi │ │ │ +00015760: 7620 3d20 6675 6e63 7469 6f6e 2878 2920 v = function(x) │ │ │ +00015770: 7b0a 2020 7265 7475 726e 2066 756e 6374 {. return funct │ │ │ +00015780: 696f 6e28 7929 207b 0a20 2020 2072 6574 ion(y) {. ret │ │ │ +00015790: 7572 6e20 7820 2f20 793b 0a20 207d 3b0a urn x / y;. };. │ │ │ +000157a0: 7d3b 0a65 7870 6f72 7473 2e70 7269 6d46 };.exports.primF │ │ │ +000157b0: 6c6f 6174 506f 7720 3d20 6675 6e63 7469 loatPow = functi │ │ │ +000157c0: 6f6e 2878 2920 7b0a 2020 2020 7265 7475 on(x) {. retu │ │ │ +000157d0: 726e 2066 756e 6374 696f 6e28 7929 207b rn function(y) { │ │ │ +000157e0: 0a20 2020 2020 2020 2072 6574 7572 6e20 . return │ │ │ +000157f0: 7820 2a2a 2079 3b0a 2020 2020 7d3b 0a7d x ** y;. };.} │ │ │ +00015800: 3b0a 6578 706f 7274 732e 7072 696d 466c ;.exports.primFl │ │ │ +00015810: 6f61 7453 7172 7420 3d20 6675 6e63 7469 oatSqrt = functi │ │ │ +00015820: 6f6e 2878 2920 7b0a 2020 2020 7265 7475 on(x) {. retu │ │ │ +00015830: 726e 204d 6174 682e 7371 7274 2878 293b rn Math.sqrt(x); │ │ │ +00015840: 0a7d 3b0a 6578 706f 7274 732e 7072 696d .};.exports.prim │ │ │ +00015850: 466c 6f61 7445 7870 203d 2066 756e 6374 FloatExp = funct │ │ │ +00015860: 696f 6e28 7829 207b 0a20 2020 2072 6574 ion(x) {. ret │ │ │ +00015870: 7572 6e20 4d61 7468 2e65 7870 2878 293b urn Math.exp(x); │ │ │ +00015880: 0a7d 3b0a 6578 706f 7274 732e 7072 696d .};.exports.prim │ │ │ +00015890: 466c 6f61 744c 6f67 203d 2066 756e 6374 FloatLog = funct │ │ │ +000158a0: 696f 6e28 7829 207b 0a20 2020 2072 6574 ion(x) {. ret │ │ │ +000158b0: 7572 6e20 4d61 7468 2e6c 6f67 2878 293b urn Math.log(x); │ │ │ +000158c0: 0a7d 3b0a 6578 706f 7274 732e 7072 696d .};.exports.prim │ │ │ +000158d0: 466c 6f61 7453 696e 203d 2066 756e 6374 FloatSin = funct │ │ │ +000158e0: 696f 6e28 7829 207b 0a20 2020 2072 6574 ion(x) {. ret │ │ │ +000158f0: 7572 6e20 4d61 7468 2e73 696e 2878 293b urn Math.sin(x); │ │ │ +00015900: 0a7d 3b0a 6578 706f 7274 732e 7072 696d .};.exports.prim │ │ │ +00015910: 466c 6f61 7443 6f73 203d 2066 756e 6374 FloatCos = funct │ │ │ +00015920: 696f 6e28 7829 207b 0a20 2020 2072 6574 ion(x) {. ret │ │ │ +00015930: 7572 6e20 4d61 7468 2e63 6f73 2878 293b urn Math.cos(x); │ │ │ +00015940: 0a7d 3b0a 6578 706f 7274 732e 7072 696d .};.exports.prim │ │ │ +00015950: 466c 6f61 7454 616e 203d 2066 756e 6374 FloatTan = funct │ │ │ +00015960: 696f 6e28 7829 207b 0a20 2020 2072 6574 ion(x) {. ret │ │ │ +00015970: 7572 6e20 4d61 7468 2e74 616e 2878 293b urn Math.tan(x); │ │ │ +00015980: 0a7d 3b0a 6578 706f 7274 732e 7072 696d .};.exports.prim │ │ │ +00015990: 466c 6f61 7441 5369 6e20 3d20 6675 6e63 FloatASin = func │ │ │ +000159a0: 7469 6f6e 2878 2920 7b0a 2020 2020 7265 tion(x) {. re │ │ │ +000159b0: 7475 726e 204d 6174 682e 6173 696e 2878 turn Math.asin(x │ │ │ +000159c0: 293b 0a7d 3b0a 6578 706f 7274 732e 7072 );.};.exports.pr │ │ │ +000159d0: 696d 466c 6f61 7441 436f 7320 3d20 6675 imFloatACos = fu │ │ │ +000159e0: 6e63 7469 6f6e 2878 2920 7b0a 2020 2020 nction(x) {. │ │ │ +000159f0: 7265 7475 726e 204d 6174 682e 6163 6f73 return Math.acos │ │ │ +00015a00: 2878 293b 0a7d 3b0a 6578 706f 7274 732e (x);.};.exports. │ │ │ +00015a10: 7072 696d 466c 6f61 7441 5461 6e20 3d20 primFloatATan = │ │ │ +00015a20: 6675 6e63 7469 6f6e 2878 2920 7b0a 2020 function(x) {. │ │ │ +00015a30: 2020 7265 7475 726e 204d 6174 682e 6174 return Math.at │ │ │ +00015a40: 616e 2878 293b 0a7d 3b0a 6578 706f 7274 an(x);.};.export │ │ │ +00015a50: 732e 7072 696d 466c 6f61 7441 5461 6e32 s.primFloatATan2 │ │ │ +00015a60: 203d 2066 756e 6374 696f 6e28 7829 207b = function(x) { │ │ │ +00015a70: 0a20 2020 2072 6574 7572 6e20 6675 6e63 . return func │ │ │ +00015a80: 7469 6f6e 2879 297b 0a20 2020 2020 2020 tion(y){. │ │ │ +00015a90: 2072 6574 7572 6e20 4d61 7468 2e61 7461 return Math.ata │ │ │ +00015aa0: 6e32 2878 2c20 7929 3b0a 2020 2020 7d3b n2(x, y);. }; │ │ │ +00015ab0: 0a7d 3b0a 6578 706f 7274 732e 7072 696d .};.exports.prim │ │ │ +00015ac0: 466c 6f61 7453 696e 6820 3d20 6675 6e63 FloatSinh = func │ │ │ +00015ad0: 7469 6f6e 2878 2920 7b0a 2020 2020 7265 tion(x) {. re │ │ │ +00015ae0: 7475 726e 204d 6174 682e 7369 6e68 2878 turn Math.sinh(x │ │ │ +00015af0: 293b 0a7d 3b0a 6578 706f 7274 732e 7072 );.};.exports.pr │ │ │ +00015b00: 696d 466c 6f61 7443 6f73 6820 3d20 6675 imFloatCosh = fu │ │ │ +00015b10: 6e63 7469 6f6e 2878 2920 7b0a 2020 2020 nction(x) {. │ │ │ +00015b20: 7265 7475 726e 204d 6174 682e 636f 7368 return Math.cosh │ │ │ +00015b30: 2878 293b 0a7d 3b0a 6578 706f 7274 732e (x);.};.exports. │ │ │ +00015b40: 7072 696d 466c 6f61 7454 616e 6820 3d20 primFloatTanh = │ │ │ +00015b50: 6675 6e63 7469 6f6e 2878 2920 7b0a 2020 function(x) {. │ │ │ +00015b60: 2020 7265 7475 726e 204d 6174 682e 7461 return Math.ta │ │ │ +00015b70: 6e68 2878 293b 0a7d 3b0a 6578 706f 7274 nh(x);.};.export │ │ │ +00015b80: 732e 7072 696d 466c 6f61 7441 5369 6e68 s.primFloatASinh │ │ │ +00015b90: 203d 2066 756e 6374 696f 6e28 7829 207b = function(x) { │ │ │ +00015ba0: 0a20 2020 2072 6574 7572 6e20 4d61 7468 . return Math │ │ │ +00015bb0: 2e61 7369 6e68 2878 293b 0a7d 3b0a 6578 .asinh(x);.};.ex │ │ │ +00015bc0: 706f 7274 732e 7072 696d 466c 6f61 7441 ports.primFloatA │ │ │ +00015bd0: 436f 7368 203d 2066 756e 6374 696f 6e28 Cosh = function( │ │ │ +00015be0: 7829 207b 0a20 2020 2072 6574 7572 6e20 x) {. return │ │ │ +00015bf0: 4d61 7468 2e61 636f 7368 2878 293b 0a7d Math.acosh(x);.} │ │ │ +00015c00: 3b0a 6578 706f 7274 732e 7072 696d 466c ;.exports.primFl │ │ │ +00015c10: 6f61 7441 5461 6e68 203d 2066 756e 6374 oatATanh = funct │ │ │ +00015c20: 696f 6e28 7829 207b 0a20 2020 2072 6574 ion(x) {. ret │ │ │ +00015c30: 7572 6e20 4d61 7468 2e61 7461 6e68 2878 urn Math.atanh(x │ │ │ +00015c40: 293b 0a7d 3b0a 0a2f 2f20 4375 6269 6361 );.};..// Cubica │ │ │ +00015c50: 6c20 7072 696d 6974 6976 6573 2e0a 6578 l primitives..ex │ │ │ +00015c60: 706f 7274 732e 7072 696d 494d 696e 203d ports.primIMin = │ │ │ +00015c70: 2078 203d 3e20 7920 3d3e 2078 2026 2620 x => y => x && │ │ │ +00015c80: 793b 0a65 7870 6f72 7473 2e70 7269 6d49 y;.exports.primI │ │ │ +00015c90: 4d61 7820 3d20 7820 3d3e 2079 203d 3e20 Max = x => y => │ │ │ +00015ca0: 7820 7c7c 2079 3b0a 6578 706f 7274 732e x || y;.exports. │ │ │ +00015cb0: 7072 696d 494e 6567 203d 2078 203d 3e20 primINeg = x => │ │ │ +00015cc0: 2178 3b0a 6578 706f 7274 732e 7072 696d !x;.exports.prim │ │ │ +00015cd0: 5061 7274 6961 6c20 3d20 5f20 3d3e 205f Partial = _ => _ │ │ │ +00015ce0: 203d 3e20 7820 3d3e 2078 3b0a 6578 706f => x => x;.expo │ │ │ +00015cf0: 7274 732e 7072 696d 5061 7274 6961 6c50 rts.primPartialP │ │ │ +00015d00: 203d 205f 203d 3e20 5f20 3d3e 2078 203d = _ => _ => x = │ │ │ +00015d10: 3e20 783b 0a65 7870 6f72 7473 2e70 7269 > x;.exports.pri │ │ │ +00015d20: 6d50 4f72 203d 205f 203d 3e20 6920 3d3e mPOr = _ => i => │ │ │ +00015d30: 205f 203d 3e20 5f20 3d3e 2078 203d 3e20 _ => _ => x => │ │ │ +00015d40: 7920 3d3e 2069 203f 2078 203a 2079 3b0a y => i ? x : y;. │ │ │ +00015d50: 6578 706f 7274 732e 7072 696d 436f 6d70 exports.primComp │ │ │ +00015d60: 203d 205f 203d 3e20 5f20 3d3e 205f 203d = _ => _ => _ = │ │ │ +00015d70: 3e20 5f20 3d3e 2078 203d 3e20 783b 0a65 > _ => x => x;.e │ │ │ +00015d80: 7870 6f72 7473 2e70 7269 6d54 7261 6e73 xports.primTrans │ │ │ +00015d90: 7020 3d20 5f20 3d3e 205f 203d 3e20 5f20 p = _ => _ => _ │ │ │ +00015da0: 3d3e 2078 203d 3e20 783b 0a65 7870 6f72 => x => x;.expor │ │ │ +00015db0: 7473 2e70 7269 6d48 436f 6d70 203d 205f ts.primHComp = _ │ │ │ +00015dc0: 203d 3e20 5f20 3d3e 205f 203d 3e20 5f20 => _ => _ => _ │ │ │ +00015dd0: 3d3e 2078 203d 3e20 783b 0a65 7870 6f72 => x => x;.expor │ │ │ +00015de0: 7473 2e70 7269 6d53 7562 4f75 7420 3d20 ts.primSubOut = │ │ │ +00015df0: 5f20 3d3e 205f 203d 3e20 5f20 3d3e 205f _ => _ => _ => _ │ │ │ +00015e00: 203d 3e20 7820 3d3e 2078 3b0a 6578 706f => x => x;.expo │ │ │ +00015e10: 7274 732e 7072 696d 5f67 6c75 6555 203d rts.prim_glueU = │ │ │ +00015e20: 205f 203d 3e20 5f20 3d3e 205f 203d 3e20 _ => _ => _ => │ │ │ +00015e30: 5f20 3d3e 205f 203d 3e20 7820 3d3e 2078 _ => _ => x => x │ │ │ +00015e40: 3b0a 6578 706f 7274 732e 7072 696d 5f75 ;.exports.prim_u │ │ │ +00015e50: 6e67 6c75 6555 203d 205f 203d 3e20 5f20 nglueU = _ => _ │ │ │ +00015e60: 3d3e 205f 203d 3e20 5f20 3d3e 2078 203d => _ => _ => x = │ │ │ +00015e70: 3e20 783b 0a65 7870 6f72 7473 2e70 7269 > x;.exports.pri │ │ │ +00015e80: 6d46 6163 6546 6f72 616c 6c20 3d20 6620 mFaceForall = f │ │ │ +00015e90: 3d3e 2066 2874 7275 6529 203d 3d20 7472 => f(true) == tr │ │ │ +00015ea0: 7565 2026 2620 6628 6661 6c73 6529 203d ue && f(false) = │ │ │ +00015eb0: 3d20 6661 6c73 653b 0a0a 2f2f 204f 7468 = false;..// Oth │ │ │ +00015ec0: 6572 2073 7475 6666 0a0a 2f2f 2070 7269 er stuff..// pri │ │ │ +00015ed0: 6d53 6571 203a 2028 582c 2059 2920 2d3e mSeq : (X, Y) -> │ │ │ +00015ee0: 2059 0a65 7870 6f72 7473 2e70 7269 6d53 Y.exports.primS │ │ │ +00015ef0: 6571 203d 2028 782c 2079 2920 3d3e 2079 eq = (x, y) => y │ │ │ +00015f00: 3b0a 0a2f 2f20 7570 7269 6d51 4e61 6d65 ;..// uprimQName │ │ │ +00015f10: 4571 7561 6c69 7479 203a 2028 4e61 6d65 Equality : (Name │ │ │ +00015f20: 2c20 4e61 6d65 2920 2d3e 2042 6f6f 6c0a , Name) -> Bool. │ │ │ +00015f30: 6578 706f 7274 732e 7570 7269 6d51 4e61 exports.uprimQNa │ │ │ +00015f40: 6d65 4571 7561 6c69 7479 203d 2028 782c meEquality = (x, │ │ │ +00015f50: 2079 2920 3d3e 2078 5b27 6964 275d 203d y) => x['id'] = │ │ │ +00015f60: 3d3d 2079 5b27 6964 275d 2026 2620 785b == y['id'] && x[ │ │ │ +00015f70: 276d 6f64 756c 6549 6427 5d20 3d3d 3d20 'moduleId'] === │ │ │ +00015f80: 795b 276d 6f64 756c 6549 6427 5d3b 0a0a y['moduleId'];.. │ │ │ +00015f90: 2f2f 2070 7269 6d51 4e61 6d65 4571 7561 // primQNameEqua │ │ │ +00015fa0: 6c69 7479 203a 204e 616d 6520 2d3e 204e lity : Name -> N │ │ │ +00015fb0: 616d 6520 2d3e 2042 6f6f 6c0a 6578 706f ame -> Bool.expo │ │ │ +00015fc0: 7274 732e 7072 696d 514e 616d 6545 7175 rts.primQNameEqu │ │ │ +00015fd0: 616c 6974 7920 3d20 7820 3d3e 2079 203d ality = x => y = │ │ │ +00015fe0: 3e20 6578 706f 7274 732e 7570 7269 6d51 > exports.uprimQ │ │ │ +00015ff0: 4e61 6d65 4571 7561 6c69 7479 2878 2c20 NameEquality(x, │ │ │ +00016000: 7929 3b0a 0a2f 2f20 7072 696d 514e 616d y);..// primQNam │ │ │ +00016010: 654c 6573 7320 3a20 4e61 6d65 202d 3e20 eLess : Name -> │ │ │ +00016020: 4e61 6d65 202d 3e20 426f 6f6c 0a65 7870 Name -> Bool.exp │ │ │ +00016030: 6f72 7473 2e70 7269 6d51 4e61 6d65 4c65 orts.primQNameLe │ │ │ +00016040: 7373 203d 2078 203d 3e20 7920 3d3e 2078 ss = x => y => x │ │ │ +00016050: 5b27 6964 275d 203d 3d3d 2079 5b27 6964 ['id'] === y['id │ │ │ +00016060: 275d 203f 2078 5b27 6d6f 6475 6c65 4964 '] ? x['moduleId │ │ │ +00016070: 275d 203c 2079 5b27 6d6f 6475 6c65 4964 '] < y['moduleId │ │ │ +00016080: 275d 203a 2078 5b27 6964 275d 203c 2079 '] : x['id'] < y │ │ │ +00016090: 5b27 6964 275d 3b0a 0a2f 2f20 7072 696d ['id'];..// prim │ │ │ +000160a0: 5368 6f77 514e 616d 6520 3a20 4e61 6d65 ShowQName : Name │ │ │ +000160b0: 202d 3e20 5374 7269 6e67 0a65 7870 6f72 -> String.expor │ │ │ +000160c0: 7473 2e70 7269 6d53 686f 7751 4e61 6d65 ts.primShowQName │ │ │ +000160d0: 203d 2078 203d 3e20 785b 276e 616d 6527 = x => x['name' │ │ │ +000160e0: 5d3b 0a0a 2f2f 2070 7269 6d51 4e61 6d65 ];..// primQName │ │ │ +000160f0: 4669 7869 7479 203a 204e 616d 6520 2d3e Fixity : Name -> │ │ │ +00016100: 2046 6978 6974 790a 6578 706f 7274 732e Fixity.exports. │ │ │ +00016110: 7072 696d 514e 616d 6546 6978 6974 7920 primQNameFixity │ │ │ +00016120: 3d20 7820 3d3e 2078 5b27 6669 7869 7479 = x => x['fixity │ │ │ +00016130: 275d 3b0a 0a2f 2f20 4d65 7461 0a0a 2f2f '];..// Meta..// │ │ │ +00016140: 2070 7269 6d53 686f 774d 6574 6120 3a20 primShowMeta : │ │ │ +00016150: 4d65 7461 202d 3e20 5374 7269 6e67 0a2f Meta -> String./ │ │ │ +00016160: 2f20 2020 5368 6f75 6c64 2062 6520 6b65 / Should be ke │ │ │ +00016170: 7074 2069 6e20 7379 6e63 2077 6974 6820 pt in sync with │ │ │ +00016180: 7665 7273 696f 6e20 696e 2060 7072 696d version in `prim │ │ │ +00016190: 6974 6976 6546 756e 6374 696f 6e73 6020 itiveFunctions` │ │ │ +000161a0: 696e 0a2f 2f20 2020 4167 6461 2e54 7970 in.// Agda.Typ │ │ │ +000161b0: 6543 6865 636b 696e 672e 5072 696d 6974 eChecking.Primit │ │ │ +000161c0: 6976 650a 6578 706f 7274 732e 7072 696d ive.exports.prim │ │ │ +000161d0: 5368 6f77 4d65 7461 203d 2078 203d 3e20 ShowMeta = x => │ │ │ +000161e0: 225f 2220 2b20 785b 2769 6427 5d20 2b20 "_" + x['id'] + │ │ │ +000161f0: 2240 2220 2b20 785b 276d 6f64 756c 6527 "@" + x['module' │ │ │ +00016200: 5d3b 0a0a 2f2f 2070 7269 6d4d 6574 6154 ];..// primMetaT │ │ │ +00016210: 6f4e 6174 203a 204d 6574 6120 2d3e 204e oNat : Meta -> N │ │ │ +00016220: 6174 0a2f 2f20 2020 5368 6f75 6c64 2062 at.// Should b │ │ │ +00016230: 6520 6b65 7074 2069 6e20 7379 6e63 2077 e kept in sync w │ │ │ +00016240: 6974 6820 606d 6574 6154 6f4e 6174 6020 ith `metaToNat` │ │ │ +00016250: 696e 2041 6764 612e 5479 7065 4368 6563 in Agda.TypeChec │ │ │ +00016260: 6b69 6e67 2e50 7269 6d69 7469 7665 0a65 king.Primitive.e │ │ │ +00016270: 7870 6f72 7473 2e70 7269 6d4d 6574 6154 xports.primMetaT │ │ │ +00016280: 6f4e 6174 203d 2078 203d 3e20 785b 276d oNat = x => x['m │ │ │ +00016290: 6f64 756c 6527 5d20 2a20 325e 3634 202b odule'] * 2^64 + │ │ │ +000162a0: 2078 5b27 6964 275d 3b0a 0a2f 2f20 7072 x['id'];..// pr │ │ │ +000162b0: 696d 4d65 7461 4571 7561 6c69 7479 203a imMetaEquality : │ │ │ +000162c0: 204d 6574 6120 2d3e 204d 6574 6120 2d3e Meta -> Meta -> │ │ │ +000162d0: 2042 6f6f 6c0a 6578 706f 7274 732e 7072 Bool.exports.pr │ │ │ +000162e0: 696d 4d65 7461 4571 7561 6c69 7479 203d imMetaEquality = │ │ │ +000162f0: 2078 203d 3e20 7920 3d3e 2078 5b27 6964 x => y => x['id │ │ │ +00016300: 275d 203d 3d3d 2079 5b27 6964 275d 2026 '] === y['id'] & │ │ │ +00016310: 2620 785b 276d 6f64 756c 6527 5d20 3d3d & x['module'] == │ │ │ +00016320: 3d20 795b 276d 6f64 756c 6527 5d3b 0a0a = y['module'];.. │ │ │ +00016330: 2f2f 2070 7269 6d4d 6574 614c 6573 7320 // primMetaLess │ │ │ +00016340: 3a20 4d65 7461 202d 3e20 4d65 7461 202d : Meta -> Meta - │ │ │ +00016350: 3e20 426f 6f6c 0a65 7870 6f72 7473 2e70 > Bool.exports.p │ │ │ +00016360: 7269 6d4d 6574 614c 6573 7320 3d20 7820 rimMetaLess = x │ │ │ +00016370: 3d3e 2079 203d 3e20 785b 2769 6427 5d20 => y => x['id'] │ │ │ +00016380: 3d3d 3d20 795b 2769 6427 5d20 3f20 785b === y['id'] ? x[ │ │ │ +00016390: 276d 6f64 756c 6527 5d20 3c20 795b 276d 'module'] < y['m │ │ │ +000163a0: 6f64 756c 6527 5d20 3a20 785b 2769 6427 odule'] : x['id' │ │ │ +000163b0: 5d20 3c20 795b 2769 6427 5d3b 0a0a 6578 ] < y['id'];..ex │ │ │ +000163c0: 706f 7274 2064 6566 6175 6c74 2065 7870 port default exp │ │ │ +000163d0: 6f72 7473 3b0a a8b1 9cd2 9da2 c08b 27e0 orts;.........'. │ │ │ +000163e0: 88b5 f690 ffd6 8fe5 0100 8201 0001 6413 ..............d. │ │ │ +000163f0: 0520 0000 0100 0404 0803 0702 5e02 0000 . ..........^... │ │ │ +00016400: 030f 0005 0505 0b5f 0b95 010b 6109 0601 ......._....a... │ │ │ +00016410: 00b5 0ad2 82b7 abe3 9cc0 aec0 0199 f3d5 ................ │ │ │ +00016420: a7ff a4d3 a5c9 0100 9501 0001 697b 0582 ............i{.. │ │ │ +00016430: 8080 e608 0000 0100 0304 0704 0200 0003 ................ │ │ │ +00016440: 0f00 0901 b50a 2f2f 2043 6f70 7972 6967 ......// Copyrig │ │ │ +00016450: 6874 2032 3032 332c 2041 6e64 7265 6173 ht 2023, Andreas │ │ │ +00016460: 2041 6265 6c2e 0a2f 2f20 4661 6c6c 7320 Abel..// Falls │ │ │ +00016470: 756e 6465 7220 7468 6520 4167 6461 206c under the Agda l │ │ │ +00016480: 6963 656e 7365 2061 7420 6874 7470 733a icense at https: │ │ │ +00016490: 2f2f 6769 7468 7562 2e63 6f6d 2f61 6764 //github.com/agd │ │ │ +000164a0: 612f 6167 6461 2f62 6c6f 622f 6d61 7374 a/agda/blob/mast │ │ │ +000164b0: 6572 2f4c 4943 454e 5345 0a0a 2f2f 2057 er/LICENSE..// W │ │ │ +000164c0: 6865 6e20 7765 2068 6f76 6572 206f 7665 hen we hover ove │ │ │ +000164d0: 7220 616e 2041 6764 6120 6964 656e 7469 r an Agda identi │ │ │ +000164e0: 6669 6572 2c20 7765 2068 6967 686c 6967 fier, we highlig │ │ │ +000164f0: 6874 2061 6c6c 206f 6363 7572 7265 6e63 ht all occurrenc │ │ │ +00016500: 6573 206f 6620 7468 6973 2069 6465 6e74 es of this ident │ │ │ +00016510: 6966 6965 7220 6f6e 2074 6865 2070 6167 ifier on the pag │ │ │ +00016520: 652e 0a2f 2f20 546f 2074 6869 7320 656e e..// To this en │ │ │ +00016530: 642c 2077 6520 6372 6561 7465 2061 206d d, we create a m │ │ │ +00016540: 6170 2066 726f 6d20 6964 656e 7469 6669 ap from identifi │ │ │ +00016550: 6572 2074 6f20 616c 6c20 6f66 2069 7473 er to all of its │ │ │ +00016560: 206f 6363 7572 7265 6e63 6573 2069 6e20 occurrences in │ │ │ +00016570: 7468 6520 6265 6769 6e6e 696e 672e 0a0a the beginning... │ │ │ +00016580: 2f2f 2041 2064 6963 7469 6f6e 6172 7920 // A dictionary │ │ │ +00016590: 6672 6f6d 2068 7265 6673 2074 6f20 2761 from hrefs to 'a │ │ │ +000165a0: 272d 656c 656d 656e 7473 2074 6861 7420 '-elements that │ │ │ +000165b0: 6861 7665 2074 6869 7320 6872 6566 2e0a have this href.. │ │ │ +000165c0: 636f 6e73 7420 6469 6374 203d 206e 6577 const dict = new │ │ │ +000165d0: 204d 6170 2829 3b0a 0a77 696e 646f 772e Map();..window. │ │ │ +000165e0: 6f6e 6c6f 6164 203d 2066 756e 6374 696f onload = functio │ │ │ +000165f0: 6e20 2829 207b 0a0a 2020 2f2f 2047 6574 n () {.. // Get │ │ │ +00016600: 2061 6c6c 2027 6127 2074 6167 7320 7769 all 'a' tags wi │ │ │ +00016610: 7468 2061 6e20 2768 7265 6627 2061 7474 th an 'href' att │ │ │ +00016620: 7269 6275 7465 2e0a 2020 2f2f 2057 6520 ribute.. // We │ │ │ +00016630: 6361 6c6c 2074 686f 7365 2022 6f62 6a65 call those "obje │ │ │ +00016640: 6374 7322 2e0a 2020 636f 6e73 7420 6f62 cts".. const ob │ │ │ +00016650: 6a73 2020 3d20 646f 6375 6d65 6e74 2e71 js = document.q │ │ │ +00016660: 7565 7279 5365 6c65 6374 6f72 416c 6c28 uerySelectorAll( │ │ │ +00016670: 2761 5b68 7265 665d 2729 3b0a 0a20 202f 'a[href]');.. / │ │ │ +00016680: 2f20 4275 696c 6420 6120 6469 6374 696f / Build a dictio │ │ │ +00016690: 6e61 7279 206d 6170 7069 6e67 2061 2068 nary mapping a h │ │ │ +000166a0: 7265 6620 746f 2061 2073 6574 206f 6620 ref to a set of │ │ │ +000166b0: 6f62 6a65 6374 7320 7468 6174 2068 6176 objects that hav │ │ │ +000166c0: 6520 7468 6973 2068 7265 662e 0a20 2066 e this href.. f │ │ │ +000166d0: 6f72 2028 636f 6e73 7420 6f62 6a20 6f66 or (const obj of │ │ │ +000166e0: 206f 626a 7329 207b 0a20 2020 2063 6f6e objs) {. con │ │ │ +000166f0: 7374 206b 6579 203d 206f 626a 2e68 7265 st key = obj.hre │ │ │ +00016700: 663b 0a20 2020 2063 6f6e 7374 2073 6574 f;. const set │ │ │ +00016710: 203d 2064 6963 742e 6765 7428 6b65 7929 = dict.get(key) │ │ │ +00016720: 203f 3f20 6e65 7720 5365 7428 293b 0a20 ?? new Set();. │ │ │ +00016730: 2020 2073 6574 2e61 6464 286f 626a 293b set.add(obj); │ │ │ +00016740: 0a20 2020 2064 6963 742e 7365 7428 6b65 . dict.set(ke │ │ │ +00016750: 792c 2073 6574 293b 0a20 207d 0a0a 2020 y, set);. }.. │ │ │ +00016760: 2f2f 2049 6e73 7461 6c6c 2027 6f6e 6d6f // Install 'onmo │ │ │ +00016770: 7573 656f 7665 7227 2061 6e64 2027 6f6e useover' and 'on │ │ │ +00016780: 6d6f 7573 656f 7574 2720 6576 656e 7420 mouseout' event │ │ │ +00016790: 6861 6e64 6c65 7273 2066 6f72 2061 6c6c handlers for all │ │ │ +000167a0: 206f 626a 6563 7473 2e0a 2020 666f 7220 objects.. for │ │ │ +000167b0: 2863 6f6e 7374 206f 626a 206f 6620 6f62 (const obj of ob │ │ │ +000167c0: 6a73 2920 7b0a 2020 2020 2f2f 2027 6f6e js) {. // 'on │ │ │ +000167d0: 6d6f 7573 656f 7665 7227 2066 6f72 2061 mouseover' for a │ │ │ +000167e0: 6e20 6f62 6a65 6374 2061 6464 7320 6174 n object adds at │ │ │ +000167f0: 7472 6962 7574 6520 2768 6f76 6572 2d68 tribute 'hover-h │ │ │ +00016800: 6967 686c 6967 6874 2720 746f 2061 6c6c ighlight' to all │ │ │ +00016810: 206f 626a 6563 7473 2077 6974 6820 7468 objects with th │ │ │ +00016820: 6520 7361 6d65 2068 7265 662e 0a20 2020 e same href.. │ │ │ +00016830: 206f 626a 2e6f 6e6d 6f75 7365 6f76 6572 obj.onmouseover │ │ │ +00016840: 203d 2066 756e 6374 696f 6e20 2829 207b = function () { │ │ │ +00016850: 0a20 2020 2020 2066 6f72 2028 636f 6e73 . for (cons │ │ │ +00016860: 7420 6f20 6f66 2064 6963 742e 6765 7428 t o of dict.get( │ │ │ +00016870: 7468 6973 2e68 7265 6629 2920 7b20 6f2e this.href)) { o. │ │ │ +00016880: 636c 6173 734c 6973 742e 6164 6428 2768 classList.add('h │ │ │ +00016890: 6f76 6572 2d68 6967 686c 6967 6874 2729 over-highlight') │ │ │ +000168a0: 3b20 7d0a 2020 2020 7d0a 2020 2020 2f2f ; }. }. // │ │ │ +000168b0: 2027 6f6e 6d6f 7573 656f 7665 7227 2072 'onmouseover' r │ │ │ +000168c0: 656d 6f76 6573 2074 6865 2061 6464 6564 emoves the added │ │ │ +000168d0: 2027 686f 7665 722d 6869 6768 6c69 6768 'hover-highligh │ │ │ +000168e0: 7427 2061 7474 7269 6275 7465 7320 6167 t' attributes ag │ │ │ +000168f0: 6169 6e2e 0a20 2020 206f 626a 2e6f 6e6d ain.. obj.onm │ │ │ +00016900: 6f75 7365 6f75 7420 3d20 6675 6e63 7469 ouseout = functi │ │ │ +00016910: 6f6e 2028 2920 7b0a 2020 2020 2020 666f on () {. fo │ │ │ +00016920: 7220 2863 6f6e 7374 206f 206f 6620 6469 r (const o of di │ │ │ +00016930: 6374 2e67 6574 2874 6869 732e 6872 6566 ct.get(this.href │ │ │ +00016940: 2929 207b 206f 2e63 6c61 7373 4c69 7374 )) { o.classList │ │ │ +00016950: 2e72 656d 6f76 6528 2768 6f76 6572 2d68 .remove('hover-h │ │ │ +00016960: 6967 686c 6967 6874 2729 3b20 7d0a 2020 ighlight'); }. │ │ │ +00016970: 2020 7d0a 2020 7d0a 7d3b 0aee c4a7 9fef }. }.};...... │ │ │ +00016980: dfa9 a181 01b0 efd6 e0df df8c 945d 0076 .............].v │ │ │ +00016990: 0001 69b7 0520 0000 0100 0404 0803 0702 ..i.. .......... │ │ │ +000169a0: 5e02 0000 030f 0005 0505 0b5f 0b96 010b ^.........._.... │ │ │ +000169b0: 6109 0601 00b2 0e88 fa8e a4c5 cfb8 e559 a..............Y │ │ │ +000169c0: ae82 92a7 efb5 b0b2 4b00 9601 0001 711a ........K.....q. │ │ │ +000169d0: 0582 8080 e608 0000 0100 0304 0704 0200 ................ │ │ │ +000169e0: 0003 0f00 0901 b20e 2f2a 2041 7370 6563 ......../* Aspec │ │ │ +000169f0: 7473 2e20 2a2f 0a2e 4167 6461 202e 436f ts. */..Agda .Co │ │ │ +00016a00: 6d6d 656e 7420 2020 2020 2020 7b20 636f mment { co │ │ │ +00016a10: 6c6f 723a 2023 4232 3232 3232 207d 0a2e lor: #B22222 }.. │ │ │ +00016a20: 4167 6461 202e 4261 636b 6772 6f75 6e64 Agda .Background │ │ │ +00016a30: 2020 2020 7b7d 0a2e 4167 6461 202e 4d61 {}..Agda .Ma │ │ │ +00016a40: 726b 7570 2020 2020 2020 2020 7b20 636f rkup { co │ │ │ +00016a50: 6c6f 723a 2023 3030 3030 3030 207d 0a2e lor: #000000 }.. │ │ │ +00016a60: 4167 6461 202e 4b65 7977 6f72 6420 2020 Agda .Keyword │ │ │ +00016a70: 2020 2020 7b20 636f 6c6f 723a 2023 4344 { color: #CD │ │ │ +00016a80: 3636 3030 207d 0a2e 4167 6461 202e 5374 6600 }..Agda .St │ │ │ +00016a90: 7269 6e67 2020 2020 2020 2020 7b20 636f ring { co │ │ │ +00016aa0: 6c6f 723a 2023 4232 3232 3232 207d 0a2e lor: #B22222 }.. │ │ │ +00016ab0: 4167 6461 202e 4e75 6d62 6572 2020 2020 Agda .Number │ │ │ +00016ac0: 2020 2020 7b20 636f 6c6f 723a 2023 4130 { color: #A0 │ │ │ +00016ad0: 3230 4630 207d 0a2e 4167 6461 202e 5379 20F0 }..Agda .Sy │ │ │ +00016ae0: 6d62 6f6c 2020 2020 2020 2020 7b20 636f mbol { co │ │ │ +00016af0: 6c6f 723a 2023 3430 3430 3430 207d 0a2e lor: #404040 }.. │ │ │ +00016b00: 4167 6461 202e 5072 696d 6974 6976 6554 Agda .PrimitiveT │ │ │ +00016b10: 7970 6520 7b20 636f 6c6f 723a 2023 3030 ype { color: #00 │ │ │ +00016b20: 3030 4344 207d 0a2e 4167 6461 202e 5072 00CD }..Agda .Pr │ │ │ +00016b30: 6167 6d61 2020 2020 2020 2020 7b20 636f agma { co │ │ │ +00016b40: 6c6f 723a 2062 6c61 636b 2020 207d 0a2e lor: black }.. │ │ │ +00016b50: 4167 6461 202e 4f70 6572 6174 6f72 2020 Agda .Operator │ │ │ +00016b60: 2020 2020 7b7d 0a2e 4167 6461 202e 486f {}..Agda .Ho │ │ │ +00016b70: 6c65 2020 2020 2020 2020 2020 7b20 6261 le { ba │ │ │ +00016b80: 636b 6772 6f75 6e64 3a20 2342 3445 4542 ckground: #B4EEB │ │ │ +00016b90: 3420 7d0a 0a2f 2a20 4e61 6d65 4b69 6e64 4 }../* NameKind │ │ │ +00016ba0: 732e 202a 2f0a 2e41 6764 6120 2e42 6f75 s. */..Agda .Bou │ │ │ +00016bb0: 6e64 2020 2020 2020 2020 2020 2020 2020 nd │ │ │ +00016bc0: 2020 2020 7b20 636f 6c6f 723a 2062 6c61 { color: bla │ │ │ +00016bd0: 636b 2020 207d 0a2e 4167 6461 202e 4765 ck }..Agda .Ge │ │ │ +00016be0: 6e65 7261 6c69 7a61 626c 6520 2020 2020 neralizable │ │ │ +00016bf0: 2020 2020 207b 2063 6f6c 6f72 3a20 626c { color: bl │ │ │ +00016c00: 6163 6b20 2020 7d0a 2e41 6764 6120 2e49 ack }..Agda .I │ │ │ +00016c10: 6e64 7563 7469 7665 436f 6e73 7472 7563 nductiveConstruc │ │ │ +00016c20: 746f 7220 2020 7b20 636f 6c6f 723a 2023 tor { color: # │ │ │ +00016c30: 3030 3842 3030 207d 0a2e 4167 6461 202e 008B00 }..Agda . │ │ │ +00016c40: 436f 696e 6475 6374 6976 6543 6f6e 7374 CoinductiveConst │ │ │ +00016c50: 7275 6374 6f72 207b 2063 6f6c 6f72 3a20 ructor { color: │ │ │ +00016c60: 2338 4237 3530 3020 7d0a 2e41 6764 6120 #8B7500 }..Agda │ │ │ +00016c70: 2e44 6174 6174 7970 6520 2020 2020 2020 .Datatype │ │ │ +00016c80: 2020 2020 2020 2020 7b20 636f 6c6f 723a { color: │ │ │ +00016c90: 2023 3030 3030 4344 207d 0a2e 4167 6461 #0000CD }..Agda │ │ │ +00016ca0: 202e 4669 656c 6420 2020 2020 2020 2020 .Field │ │ │ +00016cb0: 2020 2020 2020 2020 207b 2063 6f6c 6f72 { color │ │ │ +00016cc0: 3a20 2345 4531 3238 3920 7d0a 2e41 6764 : #EE1289 }..Agd │ │ │ +00016cd0: 6120 2e46 756e 6374 696f 6e20 2020 2020 a .Function │ │ │ +00016ce0: 2020 2020 2020 2020 2020 7b20 636f 6c6f { colo │ │ │ +00016cf0: 723a 2023 3030 3030 4344 207d 0a2e 4167 r: #0000CD }..Ag │ │ │ +00016d00: 6461 202e 4d61 6372 6f20 2020 2020 2020 da .Macro │ │ │ +00016d10: 2020 2020 2020 2020 2020 207b 2063 6f6c { col │ │ │ +00016d20: 6f72 3a20 2330 3030 3043 4420 7d0a 2e41 or: #0000CD }..A │ │ │ +00016d30: 6764 6120 2e4d 6f64 756c 6520 2020 2020 gda .Module │ │ │ +00016d40: 2020 2020 2020 2020 2020 2020 7b20 636f { co │ │ │ +00016d50: 6c6f 723a 2023 4130 3230 4630 207d 0a2e lor: #A020F0 }.. │ │ │ +00016d60: 4167 6461 202e 506f 7374 756c 6174 6520 Agda .Postulate │ │ │ +00016d70: 2020 2020 2020 2020 2020 2020 207b 2063 { c │ │ │ +00016d80: 6f6c 6f72 3a20 2330 3030 3043 4420 7d0a olor: #0000CD }. │ │ │ +00016d90: 2e41 6764 6120 2e50 7269 6d69 7469 7665 .Agda .Primitive │ │ │ +00016da0: 2020 2020 2020 2020 2020 2020 2020 7b20 { │ │ │ +00016db0: 636f 6c6f 723a 2023 3030 3030 4344 207d color: #0000CD } │ │ │ +00016dc0: 0a2e 4167 6461 202e 5265 636f 7264 2020 ..Agda .Record │ │ │ +00016dd0: 2020 2020 2020 2020 2020 2020 2020 207b { │ │ │ +00016de0: 2063 6f6c 6f72 3a20 2330 3030 3043 4420 color: #0000CD │ │ │ +00016df0: 7d0a 0a2f 2a20 4f74 6865 7241 7370 6563 }../* OtherAspec │ │ │ +00016e00: 7473 2e20 2a2f 0a2e 4167 6461 202e 446f ts. */..Agda .Do │ │ │ +00016e10: 7474 6564 5061 7474 6572 6e20 2020 2020 ttedPattern │ │ │ +00016e20: 2020 207b 7d0a 2e41 6764 6120 2e55 6e73 {}..Agda .Uns │ │ │ +00016e30: 6f6c 7665 644d 6574 6120 2020 2020 2020 olvedMeta │ │ │ +00016e40: 2020 7b20 636f 6c6f 723a 2062 6c61 636b { color: black │ │ │ +00016e50: 3b20 6261 636b 6772 6f75 6e64 3a20 7965 ; background: ye │ │ │ +00016e60: 6c6c 6f77 2020 2020 2020 2020 207d 0a2e llow }.. │ │ │ +00016e70: 4167 6461 202e 556e 736f 6c76 6564 436f Agda .UnsolvedCo │ │ │ +00016e80: 6e73 7472 6169 6e74 2020 207b 2063 6f6c nstraint { col │ │ │ +00016e90: 6f72 3a20 626c 6163 6b3b 2062 6163 6b67 or: black; backg │ │ │ +00016ea0: 726f 756e 643a 2079 656c 6c6f 7720 2020 round: yellow │ │ │ +00016eb0: 2020 2020 2020 7d0a 2e41 6764 6120 2e54 }..Agda .T │ │ │ +00016ec0: 6572 6d69 6e61 7469 6f6e 5072 6f62 6c65 erminationProble │ │ │ +00016ed0: 6d20 2020 7b20 636f 6c6f 723a 2062 6c61 m { color: bla │ │ │ +00016ee0: 636b 3b20 6261 636b 6772 6f75 6e64 3a20 ck; background: │ │ │ +00016ef0: 2346 4641 3037 4120 2020 2020 2020 207d #FFA07A } │ │ │ +00016f00: 0a2e 4167 6461 202e 496e 636f 6d70 6c65 ..Agda .Incomple │ │ │ +00016f10: 7465 5061 7474 6572 6e20 2020 207b 2063 tePattern { c │ │ │ +00016f20: 6f6c 6f72 3a20 626c 6163 6b3b 2062 6163 olor: black; bac │ │ │ +00016f30: 6b67 726f 756e 643a 2023 4635 4445 4233 kground: #F5DEB3 │ │ │ +00016f40: 2020 2020 2020 2020 7d0a 2e41 6764 6120 }..Agda │ │ │ +00016f50: 2e45 7272 6f72 2020 2020 2020 2020 2020 .Error │ │ │ +00016f60: 2020 2020 2020 7b20 636f 6c6f 723a 2072 { color: r │ │ │ +00016f70: 6564 3b20 2020 7465 7874 2d64 6563 6f72 ed; text-decor │ │ │ +00016f80: 6174 696f 6e3a 2075 6e64 6572 6c69 6e65 ation: underline │ │ │ +00016f90: 207d 0a2e 4167 6461 202e 5479 7065 4368 }..Agda .TypeCh │ │ │ +00016fa0: 6563 6b73 2020 2020 2020 2020 2020 207b ecks { │ │ │ +00016fb0: 2063 6f6c 6f72 3a20 626c 6163 6b3b 2062 color: black; b │ │ │ +00016fc0: 6163 6b67 726f 756e 643a 2023 4144 4438 ackground: #ADD8 │ │ │ +00016fd0: 4536 2020 2020 2020 2020 7d0a 2e41 6764 E6 }..Agd │ │ │ +00016fe0: 6120 2e44 6561 6463 6f64 6520 2020 2020 a .Deadcode │ │ │ +00016ff0: 2020 2020 2020 2020 7b20 636f 6c6f 723a { color: │ │ │ +00017000: 2062 6c61 636b 3b20 6261 636b 6772 6f75 black; backgrou │ │ │ +00017010: 6e64 3a20 2338 3038 3038 3020 2020 2020 nd: #808080 │ │ │ +00017020: 2020 207d 0a2e 4167 6461 202e 5368 6164 }..Agda .Shad │ │ │ +00017030: 6f77 696e 6749 6e54 656c 6573 636f 7065 owingInTelescope │ │ │ +00017040: 207b 2063 6f6c 6f72 3a20 626c 6163 6b3b { color: black; │ │ │ +00017050: 2062 6163 6b67 726f 756e 643a 2023 3830 background: #80 │ │ │ +00017060: 3830 3830 2020 2020 2020 2020 7d0a 0a2f 8080 }../ │ │ │ +00017070: 2a20 5374 616e 6461 7264 2061 7474 7269 * Standard attri │ │ │ +00017080: 6275 7465 732e 202a 2f0a 2e41 6764 6120 butes. */..Agda │ │ │ +00017090: 6120 7b20 7465 7874 2d64 6563 6f72 6174 a { text-decorat │ │ │ +000170a0: 696f 6e3a 206e 6f6e 6520 7d0a 2e41 6764 ion: none }..Agd │ │ │ +000170b0: 6120 615b 6872 6566 5d3a 686f 7665 7220 a a[href]:hover │ │ │ +000170c0: 7b20 6261 636b 6772 6f75 6e64 2d63 6f6c { background-col │ │ │ +000170d0: 6f72 3a20 2342 3445 4542 3420 7d0a 2e41 or: #B4EEB4 }..A │ │ │ +000170e0: 6764 6120 5b68 7265 665d 2e68 6f76 6572 gda [href].hover │ │ │ +000170f0: 2d68 6967 686c 6967 6874 207b 2062 6163 -highlight { bac │ │ │ +00017100: 6b67 726f 756e 642d 636f 6c6f 723a 2023 kground-color: # │ │ │ +00017110: 4234 4545 4234 3b20 7d0a a3ac eee5 cdf5 B4EEB4; }....... │ │ │ +00017120: c388 ec01 e4b0 c6b2 fed8 9fb2 2a00 8f01 ............*... │ │ │ +00017130: 0001 716b 05b4 8080 e608 0000 0005 2000 ..qk.......... . │ │ │ +00017140: 0001 0001 0004 0408 0307 0286 8080 ec08 ................ │ │ │ +00017150: 0200 0003 0f00 0505 050b 8780 80ec 0801 ................ │ │ │ +00017160: 0520 0000 010b 9201 0b97 0185 94d5 d59c . .............. │ │ │ +00017170: d696 41e9 89dc f6c4 cae7 c0e9 0100 6a00 ..A...........j. │ │ │ +00017180: 0171 a605 2000 0001 0004 0408 0307 025e .q.. ..........^ │ │ │ +00017190: 0200 0003 0f00 0505 050b 5f0b 9801 0b61 .........._....a │ │ │ +000171a0: 0906 0100 f001 95dc f7d4 9eac edaa c401 ................ │ │ │ +000171b0: fbee 8992 d4c7 d3f7 7f00 9801 0001 72c8 ..............r. │ │ │ +000171c0: 0582 8080 e608 0000 0100 0304 0704 0200 ................ │ │ │ +000171d0: 0003 0f00 0901 f001 2864 6566 696e 652d ........(define- │ │ │ +000171e0: 7061 636b 6167 6520 2261 6764 6132 2d6d package "agda2-m │ │ │ +000171f0: 6f64 6522 2022 322e 382e 3022 0a20 2022 ode" "2.8.0". " │ │ │ +00017200: 696e 7465 7261 6374 6976 6520 6465 7665 interactive deve │ │ │ +00017210: 6c6f 706d 656e 7420 666f 7220 4167 6461 lopment for Agda │ │ │ +00017220: 2c20 6120 6465 7065 6e64 656e 746c 7920 , a dependently │ │ │ +00017230: 7479 7065 6420 6675 6e63 7469 6f6e 616c typed functional │ │ │ +00017240: 2070 726f 6772 616d 6d69 6e67 206c 616e programming lan │ │ │ +00017250: 6775 6167 6522 0a20 2027 2828 656d 6163 guage". '((emac │ │ │ +00017260: 7320 2232 342e 3322 2929 2920 3b3b 2064 s "24.3"))) ;; d │ │ │ +00017270: 6570 2064 6566 7320 666f 7220 6061 6e6e ep defs for `ann │ │ │ +00017280: 6f74 6174 696f 6e2e 656c 6020 616e 6420 otation.el` and │ │ │ +00017290: 6065 7269 2e65 6c60 2061 7265 206e 6f74 `eri.el` are not │ │ │ +000172a0: 2072 6571 7569 7265 6420 6966 2074 6865 required if the │ │ │ +000172b0: 7920 6172 6520 7061 636b 6167 6564 2074 y are packaged t │ │ │ +000172c0: 6f67 6574 6865 720a cb8d f197 fc92 ccaf ogether......... │ │ │ +000172d0: 9201 e4ad c0a6 92c4 a29f 2c00 5b00 0173 ..........,.[..s │ │ │ +000172e0: 0505 2000 0001 0004 0408 0307 025e 0200 .. ..........^.. │ │ │ +000172f0: 0003 0f00 0505 050b 5f0b 9901 0b61 0906 ........_....a.. │ │ │ +00017300: 0100 9596 05a5 e7c9 e282 a3bd a9af 01d1 ................ │ │ │ +00017310: 8cc5 a28a cfd3 e2ac 0100 9901 0002 be4e ...............N │ │ │ +00017320: 0582 8080 e608 0000 0100 0304 0704 0200 ................ │ │ │ +00017330: 0003 0f00 0901 9596 053b 3b20 2d2a 2d20 .........;; -*- │ │ │ +00017340: 6c65 7869 6361 6c2d 6269 6e64 696e 673a lexical-binding: │ │ │ +00017350: 2074 202d 2a2d 0a3b 3b3b 2061 6764 6132 t -*-.;;; agda2 │ │ │ +00017360: 2d6d 6f64 652e 656c 202d 2d2d 204d 616a -mode.el --- Maj │ │ │ +00017370: 6f72 206d 6f64 6520 666f 7220 4167 6461 or mode for Agda │ │ │ +00017380: 0a3b 3b20 5350 4458 2d4c 6963 656e 7365 .;; SPDX-License │ │ │ +00017390: 2d49 6465 6e74 6966 6965 723a 204d 4954 -Identifier: MIT │ │ │ +000173a0: 204c 6963 656e 7365 0a0a 3b3b 3b20 436f License..;;; Co │ │ │ +000173b0: 6d6d 656e 7461 7279 3a0a 0a3b 3b20 4120 mmentary:..;; A │ │ │ +000173c0: 6d61 6a6f 7220 6d6f 6465 2066 6f72 2065 major mode for e │ │ │ +000173d0: 6469 7469 6e67 2041 6764 6120 2874 6865 diting Agda (the │ │ │ +000173e0: 2064 6570 656e 6465 6e74 6c79 2074 7970 dependently typ │ │ │ +000173f0: 6564 2070 726f 6772 616d 6d69 6e67 0a3b ed programming.; │ │ │ +00017400: 3b20 6c61 6e67 7561 6765 202f 2069 6e74 ; language / int │ │ │ +00017410: 6572 6163 7469 7665 2074 6865 6f72 656d eractive theorem │ │ │ +00017420: 2070 726f 7665 7229 2e0a 3b3b 0a3b 3b20 prover)..;;.;; │ │ │ +00017430: 4d61 6a6f 7220 6665 6174 7572 6573 2069 Major features i │ │ │ +00017440: 6e63 6c75 6465 3a0a 3b3b 0a3b 3b20 2d20 nclude:.;;.;; - │ │ │ +00017450: 7379 6e74 6178 2068 6967 686c 6967 6874 syntax highlight │ │ │ +00017460: 696e 672e 0a3b 3b0a 3b3b 202d 206f 6e20 ing..;;.;; - on │ │ │ +00017470: 7468 6520 666c 7920 4167 6461 2069 6e74 the fly Agda int │ │ │ +00017480: 6572 7072 6574 6174 696f 6e2e 0a3b 3b0a erpretation..;;. │ │ │ +00017490: 3b3b 202d 2067 6f61 6c2d 6472 6976 656e ;; - goal-driven │ │ │ +000174a0: 2064 6576 656c 6f70 6d65 6e74 0a3b 3b0a development.;;. │ │ │ +000174b0: 3b3b 202d 2069 6e74 6572 6163 7469 7665 ;; - interactive │ │ │ +000174c0: 2063 6173 652d 7370 6c69 7474 696e 670a case-splitting. │ │ │ +000174d0: 3b3b 0a3b 3b20 2d20 7072 6f6f 6620 7365 ;;.;; - proof se │ │ │ +000174e0: 6172 6368 0a3b 3b0a 3b3b 202d 2069 6e70 arch.;;.;; - inp │ │ │ +000174f0: 7574 2073 7570 706f 7274 2028 666f 7220 ut support (for │ │ │ +00017500: 7574 6638 2063 6861 7261 6374 6572 7329 utf8 characters) │ │ │ +00017510: 0a3b 3b0a 3b3b 2073 6565 2068 7474 7073 .;;.;; see https │ │ │ +00017520: 3a2f 2f61 6764 612e 7265 6164 7468 6564 ://agda.readthed │ │ │ +00017530: 6f63 732e 696f 2f20 666f 7220 6d6f 7265 ocs.io/ for more │ │ │ +00017540: 2069 6e66 6f72 6d61 7469 6f6e 0a0a 3b3b information..;; │ │ │ 00017550: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00017560: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00017570: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00017580: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ -00017590: 3b3b 3b3b 3b0a 3b3b 3b3b 2044 6570 656e ;;;;;.;;;; Depen │ │ │ -000175a0: 6465 6e63 790a 0a0a 3b3b 3b20 436f 6465 dency...;;; Code │ │ │ -000175b0: 3a0a 0a28 6465 6676 6172 2061 6764 6132 :..(defvar agda2 │ │ │ -000175c0: 2d76 6572 7369 6f6e 2022 322e 382e 3022 -version "2.8.0" │ │ │ -000175d0: 0a20 2022 5468 6520 7665 7273 696f 6e20 . "The version │ │ │ -000175e0: 6f66 2074 6865 2041 6764 6120 6d6f 6465 of the Agda mode │ │ │ -000175f0: 2e0a 4e6f 7465 2074 6861 7420 7468 6520 ..Note that the │ │ │ -00017600: 7361 6d65 2076 6572 7369 6f6e 206f 6620 same version of │ │ │ -00017610: 7468 6520 4167 6461 2065 7865 6375 7461 the Agda executa │ │ │ -00017620: 626c 6520 6d75 7374 2062 6520 7573 6564 ble must be used │ │ │ -00017630: 2e22 290a 0a28 7265 7175 6972 6520 2763 .")..(require 'c │ │ │ -00017640: 6c2d 6c69 6229 0a28 7265 7175 6972 6520 l-lib).(require │ │ │ -00017650: 2763 6f6d 7069 6c65 290a 2872 6571 7569 'compile).(requi │ │ │ -00017660: 7265 2027 7469 6d65 2d64 6174 6529 0a28 re 'time-date).( │ │ │ -00017670: 7265 7175 6972 6520 2765 7269 290a 2872 require 'eri).(r │ │ │ -00017680: 6571 7569 7265 2027 616e 6e6f 7461 7469 equire 'annotati │ │ │ -00017690: 6f6e 290a 2872 6571 7569 7265 2027 666f on).(require 'fo │ │ │ -000176a0: 6e74 7365 7429 0a28 7265 7175 6972 6520 ntset).(require │ │ │ -000176b0: 2761 6764 612d 696e 7075 7429 0a28 7265 'agda-input).(re │ │ │ -000176c0: 7175 6972 6520 2761 6764 6132 290a 2872 quire 'agda2).(r │ │ │ -000176d0: 6571 7569 7265 2027 6167 6461 322d 6869 equire 'agda2-hi │ │ │ -000176e0: 6768 6c69 6768 7429 0a28 7265 7175 6972 ghlight).(requir │ │ │ -000176f0: 6520 2761 6764 6132 2d61 6262 7265 7673 e 'agda2-abbrevs │ │ │ -00017700: 290a 2872 6571 7569 7265 2027 6167 6461 ).(require 'agda │ │ │ -00017710: 322d 7175 6575 6529 0a28 6576 616c 2d61 2-queue).(eval-a │ │ │ -00017720: 6e64 2d63 6f6d 7069 6c65 0a20 203b 3b20 nd-compile. ;; │ │ │ -00017730: 4c6f 6164 2066 696c 6c61 6461 7074 2c20 Load filladapt, │ │ │ -00017740: 6966 2069 7420 6973 2069 6e73 7461 6c6c if it is install │ │ │ -00017750: 6564 2e0a 2020 2863 6f6e 6469 7469 6f6e ed.. (condition │ │ │ -00017760: 2d63 6173 6520 6e69 6c0a 2020 2020 2020 -case nil. │ │ │ -00017770: 2872 6571 7569 7265 2027 6669 6c6c 6164 (require 'fillad │ │ │ -00017780: 6170 7429 0a20 2020 2028 6572 726f 7220 apt). (error │ │ │ -00017790: 6e69 6c29 290a 2020 2875 6e6c 6573 7320 nil)). (unless │ │ │ -000177a0: 2866 626f 756e 6470 2027 6f76 6572 6c61 (fboundp 'overla │ │ │ -000177b0: 7973 2d69 6e29 2028 6c6f 6164 2022 6f76 ys-in) (load "ov │ │ │ -000177c0: 6572 6c61 7922 2929 203b 2066 6f72 2058 erlay")) ; for X │ │ │ -000177d0: 656d 6163 730a 2020 2875 6e6c 6573 7320 emacs. (unless │ │ │ -000177e0: 2866 626f 756e 6470 2027 7072 6f70 6572 (fboundp 'proper │ │ │ -000177f0: 7469 7a65 2920 2020 2020 2020 2020 2020 tize) │ │ │ -00017800: 2020 2020 2020 2020 203b 2066 6f72 2058 ; for X │ │ │ -00017810: 656d 6163 7320 3231 2e34 0a20 2020 203b emacs 21.4. ; │ │ │ -00017820: 3b20 4649 584d 453a 2058 456d 6163 732d ; FIXME: XEmacs- │ │ │ -00017830: 3231 2e34 2028 7061 7463 6820 3232 2920 21.4 (patch 22) │ │ │ -00017840: 646f 6573 2068 6176 6520 6070 726f 7065 does have `prope │ │ │ -00017850: 7274 697a 6527 2061 6e64 2073 6f20 646f rtize' and so do │ │ │ -00017860: 6573 2045 6d61 6373 2d32 320a 2020 2020 es Emacs-22. │ │ │ -00017870: 3b3b 2028 616e 6420 6167 6461 322d 6d6f ;; (and agda2-mo │ │ │ -00017880: 6465 2064 6f65 736e 2774 2077 6f72 6b20 de doesn't work │ │ │ -00017890: 696e 2045 6d61 6373 2d32 312c 2041 4641 in Emacs-21, AFA │ │ │ -000178a0: 4943 5429 2e0a 2020 2020 2864 6566 756e ICT).. (defun │ │ │ -000178b0: 2070 726f 7065 7274 697a 6520 2873 7472 propertize (str │ │ │ -000178c0: 696e 6720 2672 6573 7420 7072 6f70 6572 ing &rest proper │ │ │ -000178d0: 7469 6573 290a 2020 2020 2020 2252 6574 ties). "Ret │ │ │ -000178e0: 7572 6e20 6120 636f 7079 206f 6620 5354 urn a copy of ST │ │ │ -000178f0: 5249 4e47 2077 6974 6820 7465 7874 2070 RING with text p │ │ │ -00017900: 726f 7065 7274 6965 7320 6164 6465 642e roperties added. │ │ │ -00017910: 0a46 6972 7374 2061 7267 756d 656e 7420 .First argument │ │ │ -00017920: 6973 2074 6865 2073 7472 696e 6720 746f is the string to │ │ │ -00017930: 2063 6f70 792e 0a52 656d 6169 6e69 6e67 copy..Remaining │ │ │ -00017940: 2061 7267 756d 656e 7473 2066 6f72 6d20 arguments form │ │ │ -00017950: 6120 7365 7175 656e 6365 206f 6620 5052 a sequence of PR │ │ │ -00017960: 4f50 4552 5459 2056 414c 5545 2070 6169 OPERTY VALUE pai │ │ │ -00017970: 7273 2066 6f72 2074 6578 740a 7072 6f70 rs for text.prop │ │ │ -00017980: 6572 7469 6573 2074 6f20 6164 6420 746f erties to add to │ │ │ -00017990: 2074 6865 2072 6573 756c 742e 220a 2020 the result.". │ │ │ -000179a0: 2020 2020 286c 6574 2028 2873 7472 2028 (let ((str ( │ │ │ -000179b0: 636f 7079 2d73 6571 7565 6e63 6520 7374 copy-sequence st │ │ │ -000179c0: 7269 6e67 2929 290a 2020 2020 2020 2020 ring))). │ │ │ -000179d0: 2861 6464 2d74 6578 742d 7072 6f70 6572 (add-text-proper │ │ │ -000179e0: 7469 6573 2030 2028 6c65 6e67 7468 2073 ties 0 (length s │ │ │ -000179f0: 7472 2920 7072 6f70 6572 7469 6573 2073 tr) properties s │ │ │ -00017a00: 7472 290a 2020 2020 2020 2020 7374 7229 tr). str) │ │ │ -00017a10: 2929 0a20 2028 756e 6c65 7373 2028 6662 )). (unless (fb │ │ │ -00017a20: 6f75 6e64 7020 2770 726f 672d 6d6f 6465 oundp 'prog-mode │ │ │ -00017a30: 2920 2020 2020 2020 2020 203b 466f 7220 ) ;For │ │ │ -00017a40: 456d 6163 733c 3234 2e0a 2020 2020 2864 Emacs<24.. (d │ │ │ -00017a50: 6566 616c 6961 7320 2770 726f 672d 6d6f efalias 'prog-mo │ │ │ -00017a60: 6465 2027 6675 6e64 616d 656e 7461 6c2d de 'fundamental- │ │ │ -00017a70: 6d6f 6465 2929 290a 0a3b 3b3b 3b3b 3b3b mode)))..;;;;;;; │ │ │ +00017590: 3b3b 3b3b 3b3b 0a3b 3b3b 3b20 4465 7065 ;;;;;;.;;;; Depe │ │ │ +000175a0: 6e64 656e 6379 0a0a 0a3b 3b3b 2043 6f64 ndency...;;; Cod │ │ │ +000175b0: 653a 0a0a 2864 6566 7661 7220 6167 6461 e:..(defvar agda │ │ │ +000175c0: 322d 7665 7273 696f 6e20 2232 2e38 2e30 2-version "2.8.0 │ │ │ +000175d0: 220a 2020 2254 6865 2076 6572 7369 6f6e ". "The version │ │ │ +000175e0: 206f 6620 7468 6520 4167 6461 206d 6f64 of the Agda mod │ │ │ +000175f0: 652e 0a4e 6f74 6520 7468 6174 2074 6865 e..Note that the │ │ │ +00017600: 2073 616d 6520 7665 7273 696f 6e20 6f66 same version of │ │ │ +00017610: 2074 6865 2041 6764 6120 6578 6563 7574 the Agda execut │ │ │ +00017620: 6162 6c65 206d 7573 7420 6265 2075 7365 able must be use │ │ │ +00017630: 642e 2229 0a0a 2872 6571 7569 7265 2027 d.")..(require ' │ │ │ +00017640: 636c 2d6c 6962 290a 2872 6571 7569 7265 cl-lib).(require │ │ │ +00017650: 2027 636f 6d70 696c 6529 0a28 7265 7175 'compile).(requ │ │ │ +00017660: 6972 6520 2774 696d 652d 6461 7465 290a ire 'time-date). │ │ │ +00017670: 2872 6571 7569 7265 2027 6572 6929 0a28 (require 'eri).( │ │ │ +00017680: 7265 7175 6972 6520 2761 6e6e 6f74 6174 require 'annotat │ │ │ +00017690: 696f 6e29 0a28 7265 7175 6972 6520 2766 ion).(require 'f │ │ │ +000176a0: 6f6e 7473 6574 290a 2872 6571 7569 7265 ontset).(require │ │ │ +000176b0: 2027 6167 6461 2d69 6e70 7574 290a 2872 'agda-input).(r │ │ │ +000176c0: 6571 7569 7265 2027 6167 6461 3229 0a28 equire 'agda2).( │ │ │ +000176d0: 7265 7175 6972 6520 2761 6764 6132 2d68 require 'agda2-h │ │ │ +000176e0: 6967 686c 6967 6874 290a 2872 6571 7569 ighlight).(requi │ │ │ +000176f0: 7265 2027 6167 6461 322d 6162 6272 6576 re 'agda2-abbrev │ │ │ +00017700: 7329 0a28 7265 7175 6972 6520 2761 6764 s).(require 'agd │ │ │ +00017710: 6132 2d71 7565 7565 290a 2865 7661 6c2d a2-queue).(eval- │ │ │ +00017720: 616e 642d 636f 6d70 696c 650a 2020 3b3b and-compile. ;; │ │ │ +00017730: 204c 6f61 6420 6669 6c6c 6164 6170 742c Load filladapt, │ │ │ +00017740: 2069 6620 6974 2069 7320 696e 7374 616c if it is instal │ │ │ +00017750: 6c65 642e 0a20 2028 636f 6e64 6974 696f led.. (conditio │ │ │ +00017760: 6e2d 6361 7365 206e 696c 0a20 2020 2020 n-case nil. │ │ │ +00017770: 2028 7265 7175 6972 6520 2766 696c 6c61 (require 'filla │ │ │ +00017780: 6461 7074 290a 2020 2020 2865 7272 6f72 dapt). (error │ │ │ +00017790: 206e 696c 2929 0a20 2028 756e 6c65 7373 nil)). (unless │ │ │ +000177a0: 2028 6662 6f75 6e64 7020 276f 7665 726c (fboundp 'overl │ │ │ +000177b0: 6179 732d 696e 2920 286c 6f61 6420 226f ays-in) (load "o │ │ │ +000177c0: 7665 726c 6179 2229 2920 3b20 666f 7220 verlay")) ; for │ │ │ +000177d0: 5865 6d61 6373 0a20 2028 756e 6c65 7373 Xemacs. (unless │ │ │ +000177e0: 2028 6662 6f75 6e64 7020 2770 726f 7065 (fboundp 'prope │ │ │ +000177f0: 7274 697a 6529 2020 2020 2020 2020 2020 rtize) │ │ │ +00017800: 2020 2020 2020 2020 2020 3b20 666f 7220 ; for │ │ │ +00017810: 5865 6d61 6373 2032 312e 340a 2020 2020 Xemacs 21.4. │ │ │ +00017820: 3b3b 2046 4958 4d45 3a20 5845 6d61 6373 ;; FIXME: XEmacs │ │ │ +00017830: 2d32 312e 3420 2870 6174 6368 2032 3229 -21.4 (patch 22) │ │ │ +00017840: 2064 6f65 7320 6861 7665 2060 7072 6f70 does have `prop │ │ │ +00017850: 6572 7469 7a65 2720 616e 6420 736f 2064 ertize' and so d │ │ │ +00017860: 6f65 7320 456d 6163 732d 3232 0a20 2020 oes Emacs-22. │ │ │ +00017870: 203b 3b20 2861 6e64 2061 6764 6132 2d6d ;; (and agda2-m │ │ │ +00017880: 6f64 6520 646f 6573 6e27 7420 776f 726b ode doesn't work │ │ │ +00017890: 2069 6e20 456d 6163 732d 3231 2c20 4146 in Emacs-21, AF │ │ │ +000178a0: 4149 4354 292e 0a20 2020 2028 6465 6675 AICT).. (defu │ │ │ +000178b0: 6e20 7072 6f70 6572 7469 7a65 2028 7374 n propertize (st │ │ │ +000178c0: 7269 6e67 2026 7265 7374 2070 726f 7065 ring &rest prope │ │ │ +000178d0: 7274 6965 7329 0a20 2020 2020 2022 5265 rties). "Re │ │ │ +000178e0: 7475 726e 2061 2063 6f70 7920 6f66 2053 turn a copy of S │ │ │ +000178f0: 5452 494e 4720 7769 7468 2074 6578 7420 TRING with text │ │ │ +00017900: 7072 6f70 6572 7469 6573 2061 6464 6564 properties added │ │ │ +00017910: 2e0a 4669 7273 7420 6172 6775 6d65 6e74 ..First argument │ │ │ +00017920: 2069 7320 7468 6520 7374 7269 6e67 2074 is the string t │ │ │ +00017930: 6f20 636f 7079 2e0a 5265 6d61 696e 696e o copy..Remainin │ │ │ +00017940: 6720 6172 6775 6d65 6e74 7320 666f 726d g arguments form │ │ │ +00017950: 2061 2073 6571 7565 6e63 6520 6f66 2050 a sequence of P │ │ │ +00017960: 524f 5045 5254 5920 5641 4c55 4520 7061 ROPERTY VALUE pa │ │ │ +00017970: 6972 7320 666f 7220 7465 7874 0a70 726f irs for text.pro │ │ │ +00017980: 7065 7274 6965 7320 746f 2061 6464 2074 perties to add t │ │ │ +00017990: 6f20 7468 6520 7265 7375 6c74 2e22 0a20 o the result.". │ │ │ +000179a0: 2020 2020 2028 6c65 7420 2828 7374 7220 (let ((str │ │ │ +000179b0: 2863 6f70 792d 7365 7175 656e 6365 2073 (copy-sequence s │ │ │ +000179c0: 7472 696e 6729 2929 0a20 2020 2020 2020 tring))). │ │ │ +000179d0: 2028 6164 642d 7465 7874 2d70 726f 7065 (add-text-prope │ │ │ +000179e0: 7274 6965 7320 3020 286c 656e 6774 6820 rties 0 (length │ │ │ +000179f0: 7374 7229 2070 726f 7065 7274 6965 7320 str) properties │ │ │ +00017a00: 7374 7229 0a20 2020 2020 2020 2073 7472 str). str │ │ │ +00017a10: 2929 290a 2020 2875 6e6c 6573 7320 2866 ))). (unless (f │ │ │ +00017a20: 626f 756e 6470 2027 7072 6f67 2d6d 6f64 boundp 'prog-mod │ │ │ +00017a30: 6529 2020 2020 2020 2020 2020 3b46 6f72 e) ;For │ │ │ +00017a40: 2045 6d61 6373 3c32 342e 0a20 2020 2028 Emacs<24.. ( │ │ │ +00017a50: 6465 6661 6c69 6173 2027 7072 6f67 2d6d defalias 'prog-m │ │ │ +00017a60: 6f64 6520 2766 756e 6461 6d65 6e74 616c ode 'fundamental │ │ │ +00017a70: 2d6d 6f64 6529 2929 0a0a 3b3b 3b3b 3b3b -mode)))..;;;;;; │ │ │ 00017a80: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00017a90: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00017aa0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00017ab0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ -00017ac0: 3b0a 3b3b 3b3b 2055 7469 6c69 7469 6573 ;.;;;; Utilities │ │ │ -00017ad0: 0a0a 2864 6566 6d61 6372 6f20 6167 6461 ..(defmacro agda │ │ │ -00017ae0: 322d 6c65 7420 2876 6172 6269 6e64 2066 2-let (varbind f │ │ │ -00017af0: 756e 6362 696e 6420 2672 6573 7420 626f uncbind &rest bo │ │ │ -00017b00: 6479 290a 2020 2245 7870 616e 6473 2074 dy). "Expands t │ │ │ -00017b10: 6f20 286c 6574 2a20 5641 5242 494e 4420 o (let* VARBIND │ │ │ -00017b20: 2863 6c2d 6c61 6265 6c73 2046 554e 4342 (cl-labels FUNCB │ │ │ -00017b30: 494e 4420 424f 4459 2e2e 2e29 292e 0a4f IND BODY...))..O │ │ │ -00017b40: 7220 706f 7373 6962 6c79 2028 6c65 742a r possibly (let* │ │ │ -00017b50: 2056 4152 4249 4e44 2028 6c61 6265 6c73 VARBIND (labels │ │ │ -00017b60: 2046 554e 4342 494e 4420 424f 4459 2e2e FUNCBIND BODY.. │ │ │ -00017b70: 2e29 292e 220a 2020 2864 6563 6c61 7265 .)).". (declare │ │ │ -00017b80: 2028 6465 6275 6720 2828 2672 6573 7420 (debug ((&rest │ │ │ -00017b90: 5b26 6f72 2073 796d 626f 6c70 2028 7379 [&or symbolp (sy │ │ │ -00017ba0: 6d62 6f6c 7020 666f 726d 295d 290a 2020 mbolp form)]). │ │ │ +00017ac0: 3b3b 0a3b 3b3b 3b20 5574 696c 6974 6965 ;;.;;;; Utilitie │ │ │ +00017ad0: 730a 0a28 6465 666d 6163 726f 2061 6764 s..(defmacro agd │ │ │ +00017ae0: 6132 2d6c 6574 2028 7661 7262 696e 6420 a2-let (varbind │ │ │ +00017af0: 6675 6e63 6269 6e64 2026 7265 7374 2062 funcbind &rest b │ │ │ +00017b00: 6f64 7929 0a20 2022 4578 7061 6e64 7320 ody). "Expands │ │ │ +00017b10: 746f 2028 6c65 742a 2056 4152 4249 4e44 to (let* VARBIND │ │ │ +00017b20: 2028 636c 2d6c 6162 656c 7320 4655 4e43 (cl-labels FUNC │ │ │ +00017b30: 4249 4e44 2042 4f44 592e 2e2e 2929 2e0a BIND BODY...)).. │ │ │ +00017b40: 4f72 2070 6f73 7369 626c 7920 286c 6574 Or possibly (let │ │ │ +00017b50: 2a20 5641 5242 494e 4420 286c 6162 656c * VARBIND (label │ │ │ +00017b60: 7320 4655 4e43 4249 4e44 2042 4f44 592e s FUNCBIND BODY. │ │ │ +00017b70: 2e2e 2929 2e22 0a20 2028 6465 636c 6172 ..)).". (declar │ │ │ +00017b80: 6520 2864 6562 7567 2028 2826 7265 7374 e (debug ((&rest │ │ │ +00017b90: 205b 266f 7220 7379 6d62 6f6c 7020 2873 [&or symbolp (s │ │ │ +00017ba0: 796d 626f 6c70 2066 6f72 6d29 5d29 0a20 ymbolp form)]). │ │ │ 00017bb0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00017bc0: 2028 2672 6573 7420 2863 6c2d 6465 6675 (&rest (cl-defu │ │ │ -00017bd0: 6e29 290a 2020 2020 2020 2020 2020 2020 n)). │ │ │ -00017be0: 2020 2020 2020 2062 6f64 7929 290a 2020 body)). │ │ │ -00017bf0: 2020 2020 2020 2020 2028 696e 6465 6e74 (indent │ │ │ -00017c00: 2032 2929 0a20 203b 3b20 5573 6520 636c 2)). ;; Use cl │ │ │ -00017c10: 2d6c 6162 656c 7320 6966 2061 7661 696c -labels if avail │ │ │ -00017c20: 6162 6c65 2074 6f20 6176 6f69 6420 6f62 able to avoid ob │ │ │ -00017c30: 736f 6c65 7363 656e 6365 2077 6172 6e69 solescence warni │ │ │ -00017c40: 6e67 732e 0a20 2060 286c 6574 2a20 2c76 ngs.. `(let* ,v │ │ │ -00017c50: 6172 6269 6e64 2028 2c28 6966 2028 6662 arbind (,(if (fb │ │ │ -00017c60: 6f75 6e64 7020 2763 6c2d 6c61 6265 6c73 oundp 'cl-labels │ │ │ -00017c70: 2920 2763 6c2d 6c61 6265 6c73 2027 6c61 ) 'cl-labels 'la │ │ │ -00017c80: 6265 6c73 2920 2c66 756e 6362 696e 6420 bels) ,funcbind │ │ │ -00017c90: 2c40 626f 6479 2929 290a 0a3b 3b3b 3b3b ,@body)))..;;;;; │ │ │ +00017bc0: 2020 2826 7265 7374 2028 636c 2d64 6566 (&rest (cl-def │ │ │ +00017bd0: 756e 2929 0a20 2020 2020 2020 2020 2020 un)). │ │ │ +00017be0: 2020 2020 2020 2020 626f 6479 2929 0a20 body)). │ │ │ +00017bf0: 2020 2020 2020 2020 2020 2869 6e64 656e (inden │ │ │ +00017c00: 7420 3229 290a 2020 3b3b 2055 7365 2063 t 2)). ;; Use c │ │ │ +00017c10: 6c2d 6c61 6265 6c73 2069 6620 6176 6169 l-labels if avai │ │ │ +00017c20: 6c61 626c 6520 746f 2061 766f 6964 206f lable to avoid o │ │ │ +00017c30: 6273 6f6c 6573 6365 6e63 6520 7761 726e bsolescence warn │ │ │ +00017c40: 696e 6773 2e0a 2020 6028 6c65 742a 202c ings.. `(let* , │ │ │ +00017c50: 7661 7262 696e 6420 282c 2869 6620 2866 varbind (,(if (f │ │ │ +00017c60: 626f 756e 6470 2027 636c 2d6c 6162 656c boundp 'cl-label │ │ │ +00017c70: 7329 2027 636c 2d6c 6162 656c 7320 276c s) 'cl-labels 'l │ │ │ +00017c80: 6162 656c 7329 202c 6675 6e63 6269 6e64 abels) ,funcbind │ │ │ +00017c90: 202c 4062 6f64 7929 2929 0a0a 3b3b 3b3b ,@body)))..;;;; │ │ │ 00017ca0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00017cb0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00017cc0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00017cd0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ -00017ce0: 3b3b 3b0a 3b3b 3b3b 2055 7365 7220 6f70 ;;;.;;;; User op │ │ │ -00017cf0: 7469 6f6e 730a 0a28 6465 6667 726f 7570 tions..(defgroup │ │ │ -00017d00: 2061 6764 6132 206e 696c 0a20 2022 4d61 agda2 nil. "Ma │ │ │ -00017d10: 6a6f 7220 6d6f 6465 2066 6f72 2069 6e74 jor mode for int │ │ │ -00017d20: 6572 6163 7469 7665 6c79 2064 6576 656c eractively devel │ │ │ -00017d30: 6f70 696e 6720 4167 6461 2070 726f 6772 oping Agda progr │ │ │ -00017d40: 616d 732e 220a 2020 3a67 726f 7570 2027 ams.". :group ' │ │ │ -00017d50: 6c61 6e67 7561 6765 7329 0a0a 2864 6566 languages)..(def │ │ │ -00017d60: 6375 7374 6f6d 2061 6764 6132 2d70 726f custom agda2-pro │ │ │ -00017d70: 6772 616d 2d6e 616d 6520 2261 6764 6122 gram-name "agda" │ │ │ -00017d80: 0a20 2022 5468 6520 6e61 6d65 206f 6620 . "The name of │ │ │ -00017d90: 7468 6520 4167 6461 2065 7865 6375 7461 the Agda executa │ │ │ -00017da0: 626c 652e 220a 2020 3a74 7970 6520 2773 ble.". :type 's │ │ │ -00017db0: 7472 696e 670a 2020 3a67 726f 7570 2027 tring. :group ' │ │ │ -00017dc0: 6167 6461 3229 0a0a 2864 6566 6375 7374 agda2)..(defcust │ │ │ -00017dd0: 6f6d 2061 6764 6132 2d70 726f 6772 616d om agda2-program │ │ │ -00017de0: 2d61 7267 7320 6e69 6c0a 2020 2243 6f6d -args nil. "Com │ │ │ -00017df0: 6d61 6e64 2d6c 696e 6520 6172 6775 6d65 mand-line argume │ │ │ -00017e00: 6e74 7320 6769 7665 6e20 746f 2074 6865 nts given to the │ │ │ -00017e10: 2041 6764 6120 6578 6563 7574 6162 6c65 Agda executable │ │ │ -00017e20: 2028 6f6e 6520 7065 7220 7374 7269 6e67 (one per string │ │ │ -00017e30: 292e 0a0a 4e6f 7465 3a20 446f 206e 6f74 )...Note: Do not │ │ │ -00017e40: 2067 6976 6520 7365 7665 7261 6c20 6172 give several ar │ │ │ -00017e50: 6775 6d65 6e74 7320 696e 2074 6865 2073 guments in the s │ │ │ -00017e60: 616d 6520 7374 7269 6e67 2e0a 0a54 6865 ame string...The │ │ │ -00017e70: 2066 6c61 6720 5c22 2d2d 696e 7465 7261 flag \"--intera │ │ │ -00017e80: 6374 696f 6e5c 2220 6973 2061 6c77 6179 ction\" is alway │ │ │ -00017e90: 7320 696e 636c 7564 6564 2061 7320 7468 s included as th │ │ │ -00017ea0: 6520 6669 7273 740a 6172 6775 6d65 6e74 e first.argument │ │ │ -00017eb0: 2c20 616e 6420 646f 6573 206e 6f74 206e , and does not n │ │ │ -00017ec0: 6565 6420 746f 2062 6520 6c69 7374 6564 eed to be listed │ │ │ -00017ed0: 2068 6572 652e 220a 2020 3a74 7970 6520 here.". :type │ │ │ -00017ee0: 2728 7265 7065 6174 2073 7472 696e 6729 '(repeat string) │ │ │ -00017ef0: 0a20 203a 6772 6f75 7020 2761 6764 6132 . :group 'agda2 │ │ │ -00017f00: 290a 0a28 6465 6676 6172 2061 6764 6132 )..(defvar agda2 │ │ │ -00017f10: 2d62 6163 6b65 6e64 7320 2728 2247 4843 -backends '("GHC │ │ │ -00017f20: 2220 2247 4843 4e6f 4d61 696e 2220 224a " "GHCNoMain" "J │ │ │ -00017f30: 5322 2022 4c61 5465 5822 2022 5175 6963 S" "LaTeX" "Quic │ │ │ -00017f40: 6b4c 6154 6558 2220 2248 544d 4c22 290a kLaTeX" "HTML"). │ │ │ -00017f50: 2020 2243 6f6d 7069 6c61 7469 6f6e 2062 "Compilation b │ │ │ -00017f60: 6163 6b65 6e64 732e 2229 0a0a 2864 6566 ackends.")..(def │ │ │ -00017f70: 6375 7374 6f6d 2061 6764 6132 2d62 6163 custom agda2-bac │ │ │ -00017f80: 6b65 6e64 0a20 206e 696c 0a20 2022 5468 kend. nil. "Th │ │ │ -00017f90: 6520 6261 636b 656e 6420 7573 6564 2074 e backend used t │ │ │ -00017fa0: 6f20 636f 6d70 696c 6520 4167 6461 2070 o compile Agda p │ │ │ -00017fb0: 726f 6772 616d 7320 286e 696c 2074 6f20 rograms (nil to │ │ │ -00017fc0: 6173 6b20 6576 6572 7920 7469 6d65 292e ask every time). │ │ │ -00017fd0: 220a 2020 3a74 7970 6520 2773 7472 696e ". :type 'strin │ │ │ -00017fe0: 670a 2020 3a67 726f 7570 2027 6167 6461 g. :group 'agda │ │ │ -00017ff0: 3229 0a0a 2864 6566 6375 7374 6f6d 2061 2)..(defcustom a │ │ │ -00018000: 6764 6132 2d62 6163 6b65 6e64 2d64 6566 gda2-backend-def │ │ │ -00018010: 6175 6c74 2d70 6179 6c6f 6164 0a20 206e ault-payload. n │ │ │ -00018020: 696c 0a20 2022 5468 6520 6465 6661 756c il. "The defaul │ │ │ -00018030: 7420 7061 796c 6f61 6420 666f 7220 696e t payload for in │ │ │ -00018040: 7465 7261 6374 6976 6520 6261 636b 656e teractive backen │ │ │ -00018050: 6420 636f 6d6d 616e 6473 2028 6e69 6c20 d commands (nil │ │ │ -00018060: 746f 2061 736b 2065 7665 7279 2074 696d to ask every tim │ │ │ -00018070: 6529 2e22 0a20 203a 7479 7065 2027 7374 e).". :type 'st │ │ │ -00018080: 7269 6e67 0a20 203a 6772 6f75 7020 2761 ring. :group 'a │ │ │ -00018090: 6764 6132 290a 0a28 6465 6663 7573 746f gda2)..(defcusto │ │ │ -000180a0: 6d20 6167 6461 322d 696e 666f 726d 6174 m agda2-informat │ │ │ -000180b0: 696f 6e2d 7769 6e64 6f77 2d6d 6178 2d68 ion-window-max-h │ │ │ -000180c0: 6569 6768 740a 2020 302e 3335 0a20 2022 eight. 0.35. " │ │ │ -000180d0: 5468 6520 6d61 7869 6d75 6d20 6865 6967 The maximum heig │ │ │ -000180e0: 6874 206f 6620 7468 6520 696e 666f 726d ht of the inform │ │ │ -000180f0: 6174 696f 6e20 7769 6e64 6f77 2e0a 4120 ation window..A │ │ │ -00018100: 6d75 6c74 6970 6c65 206f 6620 7468 6520 multiple of the │ │ │ -00018110: 6672 616d 6520 6865 6967 6874 2e22 0a20 frame height.". │ │ │ -00018120: 203a 7479 7065 2027 6e75 6d62 6572 0a20 :type 'number. │ │ │ -00018130: 203a 6772 6f75 7020 2761 6764 6132 290a :group 'agda2). │ │ │ -00018140: 0a28 6465 6663 7573 746f 6d20 6167 6461 .(defcustom agda │ │ │ -00018150: 322d 666f 6e74 7365 742d 6e61 6d65 0a20 2-fontset-name. │ │ │ -00018160: 2028 756e 6c65 7373 2028 6f72 2028 6571 (unless (or (eq │ │ │ -00018170: 2077 696e 646f 772d 7379 7374 656d 2027 window-system ' │ │ │ -00018180: 6d61 6329 0a20 2020 2020 2020 2020 2020 mac). │ │ │ -00018190: 2020 203b 3b20 456d 6163 732d 3233 2075 ;; Emacs-23 u │ │ │ -000181a0: 7365 7320 6120 7265 7661 6d70 6564 2066 ses a revamped f │ │ │ -000181b0: 6f6e 7420 656e 6769 6e65 2077 6869 6368 ont engine which │ │ │ -000181c0: 2073 686f 756c 640a 2020 2020 2020 2020 should. │ │ │ -000181d0: 2020 2020 2020 3b3b 206d 616b 6520 6167 ;; make ag │ │ │ -000181e0: 6461 322d 666f 6e74 7365 742d 6e61 6d65 da2-fontset-name │ │ │ -000181f0: 2075 6e6e 6563 6573 7361 7279 2069 6e20 unnecessary in │ │ │ -00018200: 6d6f 7374 2063 6173 6573 2e0a 2020 2020 most cases.. │ │ │ -00018210: 2020 2020 2020 2020 2020 3b3b 2041 6e64 ;; And │ │ │ -00018220: 2069 6620 6974 2074 7572 6e73 206f 7574 if it turns out │ │ │ -00018230: 2074 6f20 6265 206e 6563 6573 7361 7279 to be necessary │ │ │ -00018240: 2c20 7765 2073 686f 756c 640a 2020 2020 , we should. │ │ │ -00018250: 2020 2020 2020 2020 2020 3b3b 2070 726f ;; pro │ │ │ -00018260: 6261 626c 7920 7573 6520 6661 6365 2d72 bably use face-r │ │ │ -00018270: 656d 6170 7069 6e67 2d61 6c69 7374 2072 emapping-alist r │ │ │ -00018280: 6174 6865 7220 7468 616e 0a20 2020 2020 ather than. │ │ │ -00018290: 2020 2020 2020 2020 203b 3b20 7365 742d ;; set- │ │ │ -000182a0: 6672 616d 652d 666f 6e74 2073 6f20 7468 frame-font so th │ │ │ -000182b0: 6520 7370 6563 6961 6c20 666f 6e74 206f e special font o │ │ │ -000182c0: 6e6c 7920 6170 706c 6965 7320 746f 0a20 nly applies to. │ │ │ -000182d0: 2020 2020 2020 2020 2020 2020 203b 3b20 ;; │ │ │ -000182e0: 4167 6461 2062 7566 6665 7273 2c20 616e Agda buffers, an │ │ │ -000182f0: 6420 736f 2069 7420 6170 706c 6965 7320 d so it applies │ │ │ -00018300: 696e 2061 6c6c 2066 7261 6d65 7320 7768 in all frames wh │ │ │ -00018310: 6572 650a 2020 2020 2020 2020 2020 2020 ere. │ │ │ -00018320: 2020 3b3b 2041 6764 6120 6275 6666 6572 ;; Agda buffer │ │ │ -00018330: 7320 6172 6520 6469 7370 6c61 7965 642e s are displayed. │ │ │ -00018340: 0a20 2020 2020 2020 2020 2020 2020 2028 . ( │ │ │ -00018350: 626f 756e 6470 2027 6661 6365 2d72 656d boundp 'face-rem │ │ │ -00018360: 6170 7069 6e67 2d61 6c69 7374 2929 0a20 apping-alist)). │ │ │ -00018370: 2020 2022 666f 6e74 7365 742d 6167 6461 "fontset-agda │ │ │ -00018380: 3222 290a 2020 2244 6566 6175 6c74 2066 2"). "Default f │ │ │ -00018390: 6f6e 7420 746f 2075 7365 2069 6e20 7468 ont to use in th │ │ │ -000183a0: 6520 7365 6c65 6374 6564 2066 7261 6d65 e selected frame │ │ │ -000183b0: 2077 6865 6e20 6163 7469 7661 7469 6e67 when activating │ │ │ -000183c0: 2074 6865 2041 6764 6120 6d6f 6465 2e0a the Agda mode.. │ │ │ -000183d0: 5468 6973 2069 7320 6f6e 6c79 2075 7365 This is only use │ │ │ -000183e0: 6420 6966 2069 7427 7320 6e6f 6e2d 6e69 d if it's non-ni │ │ │ -000183f0: 6c20 616e 6420 456d 6163 7320 6973 206e l and Emacs is n │ │ │ -00018400: 6f74 2072 756e 6e69 6e67 2069 6e20 610a ot running in a. │ │ │ -00018410: 7465 726d 696e 616c 2e0a 0a4e 6f74 6520 terminal...Note │ │ │ -00018420: 7468 6174 2074 6869 7320 7365 7474 696e that this settin │ │ │ -00018430: 6720 2869 6620 6e6f 6e2d 6e69 6c29 2061 g (if non-nil) a │ │ │ -00018440: 6666 6563 7473 206e 6f6e 2d41 6764 6120 ffects non-Agda │ │ │ -00018450: 6275 6666 6572 7320 6173 0a77 656c 6c2c buffers as.well, │ │ │ -00018460: 2061 6e64 2074 6861 7420 796f 7520 6861 and that you ha │ │ │ -00018470: 7665 2074 6f20 7265 7374 6172 7420 456d ve to restart Em │ │ │ -00018480: 6163 7320 6966 2079 6f75 2077 616e 7420 acs if you want │ │ │ -00018490: 7365 7474 696e 6773 2074 6f0a 7468 6973 settings to.this │ │ │ -000184a0: 2076 6172 6961 626c 6520 746f 2074 616b variable to tak │ │ │ -000184b0: 6520 6566 6665 6374 2e22 0a20 203a 7479 e effect.". :ty │ │ │ -000184c0: 7065 2027 2863 686f 6963 6520 2873 7472 pe '(choice (str │ │ │ -000184d0: 696e 6720 3a74 6167 2022 466f 6e74 7365 ing :tag "Fontse │ │ │ -000184e0: 7420 6e61 6d65 2229 0a20 2020 2020 2020 t name"). │ │ │ -000184f0: 2020 2020 2020 2020 2020 2863 6f6e 7374 (const │ │ │ -00018500: 203a 7461 6720 2244 6f20 6e6f 7420 6368 :tag "Do not ch │ │ │ -00018510: 616e 6765 2074 6865 2066 6f6e 7422 206e ange the font" n │ │ │ -00018520: 696c 2929 0a20 203a 6772 6f75 7020 2761 il)). :group 'a │ │ │ -00018530: 6764 6132 290a 0a28 6465 6663 7573 746f gda2)..(defcusto │ │ │ -00018540: 6d20 6167 6461 322d 666f 6e74 7365 742d m agda2-fontset- │ │ │ -00018550: 7370 6563 2d6f 662d 666f 6e74 7365 742d spec-of-fontset- │ │ │ -00018560: 6167 6461 320a 2020 2020 222d 2a2d 6669 agda2. "-*-fi │ │ │ -00018570: 7865 642d 4d65 6469 756d 2d72 2d4e 6f72 xed-Medium-r-Nor │ │ │ -00018580: 6d61 6c2d 2a2d 3138 2d2a 2d2a 2d2a 2d63 mal-*-18-*-*-*-c │ │ │ -00018590: 2d2a 2d66 6f6e 7473 6574 2d61 6764 6132 -*-fontset-agda2 │ │ │ -000185a0: 2c0a 2020 2020 6173 6369 693a 2d4d 6973 ,. ascii:-Mis │ │ │ -000185b0: 632d 4669 7865 642d 4d65 6469 756d 2d52 c-Fixed-Medium-R │ │ │ -000185c0: 2d4e 6f72 6d61 6c2d 2d31 382d 3132 302d -Normal--18-120- │ │ │ -000185d0: 3130 302d 3130 302d 432d 3930 2d49 534f 100-100-C-90-ISO │ │ │ -000185e0: 3838 3539 2d31 2c0a 2020 2020 6c61 7469 8859-1,. lati │ │ │ -000185f0: 6e2d 6973 6f38 3835 392d 323a 2d2a 2d46 n-iso8859-2:-*-F │ │ │ -00018600: 6978 6564 2d2a 2d72 2d2a 2d2a 2d31 382d ixed-*-r-*-*-18- │ │ │ -00018610: 2a2d 2a2d 2a2d 632d 2a2d 6973 6f38 3835 *-*-*-c-*-iso885 │ │ │ -00018620: 392d 322c 0a20 2020 206c 6174 696e 2d69 9-2,. latin-i │ │ │ -00018630: 736f 3838 3539 2d33 3a2d 2a2d 4669 7865 so8859-3:-*-Fixe │ │ │ -00018640: 642d 2a2d 722d 2a2d 2a2d 3138 2d2a 2d2a d-*-r-*-*-18-*-* │ │ │ -00018650: 2d2a 2d63 2d2a 2d69 736f 3838 3539 2d33 -*-c-*-iso8859-3 │ │ │ -00018660: 2c0a 2020 2020 6c61 7469 6e2d 6973 6f38 ,. latin-iso8 │ │ │ -00018670: 3835 392d 343a 2d2a 2d46 6978 6564 2d2a 859-4:-*-Fixed-* │ │ │ -00018680: 2d72 2d2a 2d2a 2d31 382d 2a2d 2a2d 2a2d -r-*-*-18-*-*-*- │ │ │ -00018690: 632d 2a2d 6973 6f38 3835 392d 342c 0a20 c-*-iso8859-4,. │ │ │ -000186a0: 2020 2063 7972 696c 6c69 632d 6973 6f38 cyrillic-iso8 │ │ │ -000186b0: 3835 392d 353a 2d2a 2d46 6978 6564 2d2a 859-5:-*-Fixed-* │ │ │ -000186c0: 2d72 2d2a 2d2a 2d31 382d 2a2d 2a2d 2a2d -r-*-*-18-*-*-*- │ │ │ -000186d0: 632d 2a2d 6973 6f38 3835 392d 352c 0a20 c-*-iso8859-5,. │ │ │ -000186e0: 2020 2067 7265 656b 2d69 736f 3838 3539 greek-iso8859 │ │ │ -000186f0: 2d37 3a2d 2a2d 4669 7865 642d 2a2d 722d -7:-*-Fixed-*-r- │ │ │ -00018700: 2a2d 2a2d 3138 2d2a 2d2a 2d2a 2d63 2d2a *-*-18-*-*-*-c-* │ │ │ -00018710: 2d69 736f 3838 3539 2d37 2c0a 2020 2020 -iso8859-7,. │ │ │ -00018720: 6c61 7469 6e2d 6973 6f38 3835 392d 393a latin-iso8859-9: │ │ │ -00018730: 2d2a 2d46 6978 6564 2d2a 2d72 2d2a 2d2a -*-Fixed-*-r-*-* │ │ │ -00018740: 2d31 382d 2a2d 2a2d 2a2d 632d 2a2d 6973 -18-*-*-*-c-*-is │ │ │ -00018750: 6f38 3835 392d 392c 0a20 2020 206d 756c o8859-9,. mul │ │ │ -00018760: 652d 756e 6963 6f64 652d 3031 3030 2d32 e-unicode-0100-2 │ │ │ -00018770: 3466 663a 2d4d 6973 632d 4669 7865 642d 4ff:-Misc-Fixed- │ │ │ -00018780: 4d65 6469 756d 2d52 2d4e 6f72 6d61 6c2d Medium-R-Normal- │ │ │ -00018790: 2d31 382d 3132 302d 3130 302d 3130 302d -18-120-100-100- │ │ │ -000187a0: 432d 3930 2d49 534f 3130 3634 362d 312c C-90-ISO10646-1, │ │ │ -000187b0: 0a20 2020 206d 756c 652d 756e 6963 6f64 . mule-unicod │ │ │ -000187c0: 652d 3235 3030 2d33 3366 663a 2d4d 6973 e-2500-33ff:-Mis │ │ │ -000187d0: 632d 4669 7865 642d 4d65 6469 756d 2d52 c-Fixed-Medium-R │ │ │ -000187e0: 2d4e 6f72 6d61 6c2d 2d31 382d 3132 302d -Normal--18-120- │ │ │ -000187f0: 3130 302d 3130 302d 432d 3930 2d49 534f 100-100-C-90-ISO │ │ │ -00018800: 3130 3634 362d 312c 0a20 2020 206d 756c 10646-1,. mul │ │ │ -00018810: 652d 756e 6963 6f64 652d 6530 3030 2d66 e-unicode-e000-f │ │ │ -00018820: 6666 663a 2d4d 6973 632d 4669 7865 642d fff:-Misc-Fixed- │ │ │ -00018830: 4d65 6469 756d 2d52 2d4e 6f72 6d61 6c2d Medium-R-Normal- │ │ │ -00018840: 2d31 382d 3132 302d 3130 302d 3130 302d -18-120-100-100- │ │ │ -00018850: 432d 3930 2d49 534f 3130 3634 362d 312c C-90-ISO10646-1, │ │ │ -00018860: 0a20 2020 206a 6170 616e 6573 652d 6a69 . japanese-ji │ │ │ -00018870: 7378 3032 3038 3a2d 4d69 7363 2d46 6978 sx0208:-Misc-Fix │ │ │ -00018880: 6564 2d4d 6564 6975 6d2d 522d 4e6f 726d ed-Medium-R-Norm │ │ │ -00018890: 616c 2d6a 612d 3138 2d2a 2d2a 2d2a 2d43 al-ja-18-*-*-*-C │ │ │ -000188a0: 2d2a 2d4a 4953 5830 3230 382e 3139 3930 -*-JISX0208.1990 │ │ │ -000188b0: 2d30 2c0a 2020 2020 6a61 7061 6e65 7365 -0,. japanese │ │ │ -000188c0: 2d6a 6973 7830 3231 323a 2d4d 6973 632d -jisx0212:-Misc- │ │ │ -000188d0: 4669 7865 642d 4d65 6469 756d 2d52 2d4e Fixed-Medium-R-N │ │ │ -000188e0: 6f72 6d61 6c2d 6a61 2d31 382d 2a2d 2a2d ormal-ja-18-*-*- │ │ │ -000188f0: 2a2d 432d 2a2d 4a49 5358 3032 3132 2e31 *-C-*-JISX0212.1 │ │ │ -00018900: 3939 302d 302c 0a20 2020 2074 6861 692d 990-0,. thai- │ │ │ -00018910: 7469 7336 3230 3a2d 4d69 7363 2d46 6978 tis620:-Misc-Fix │ │ │ -00018920: 6564 2d4d 6564 6975 6d2d 522d 4e6f 726d ed-Medium-R-Norm │ │ │ -00018930: 616c 2d2d 3234 2d32 3430 2d37 322d 3732 al--24-240-72-72 │ │ │ -00018940: 2d43 2d31 3230 2d54 4953 3632 302e 3235 -C-120-TIS620.25 │ │ │ -00018950: 3239 2d31 2c0a 2020 2020 6c61 6f3a 2d4d 29-1,. lao:-M │ │ │ -00018960: 6973 632d 4669 7865 642d 4d65 6469 756d isc-Fixed-Medium │ │ │ -00018970: 2d52 2d4e 6f72 6d61 6c2d 2d32 342d 3234 -R-Normal--24-24 │ │ │ -00018980: 302d 3732 2d37 322d 432d 3132 302d 4d75 0-72-72-C-120-Mu │ │ │ -00018990: 6c65 4c61 6f2d 312c 0a20 2020 2074 6962 leLao-1,. tib │ │ │ -000189a0: 6574 616e 3a2d 5469 624d 6458 412d 6669 etan:-TibMdXA-fi │ │ │ -000189b0: 7865 642d 6d65 6469 756d 2d72 2d6e 6f72 xed-medium-r-nor │ │ │ -000189c0: 6d61 6c2d 2d31 362d 3136 302d 3732 2d37 mal--16-160-72-7 │ │ │ -000189d0: 322d 6d2d 3136 302d 4d75 6c65 5469 6265 2-m-160-MuleTibe │ │ │ -000189e0: 7461 6e2d 302c 0a20 2020 2074 6962 6574 tan-0,. tibet │ │ │ -000189f0: 616e 2d31 2d63 6f6c 756d 6e3a 2d54 6962 an-1-column:-Tib │ │ │ -00018a00: 4d64 5841 2d66 6978 6564 2d6d 6564 6975 MdXA-fixed-mediu │ │ │ -00018a10: 6d2d 722d 6e6f 726d 616c 2d2d 3136 2d31 m-r-normal--16-1 │ │ │ -00018a20: 3630 2d37 322d 3732 2d6d 2d38 302d 4d75 60-72-72-m-80-Mu │ │ │ -00018a30: 6c65 5469 6265 7461 6e2d 312c 0a20 2020 leTibetan-1,. │ │ │ -00018a40: 206b 6f72 6561 6e2d 6b73 6335 3630 313a korean-ksc5601: │ │ │ -00018a50: 2d44 6165 776f 6f2d 4d69 6e63 686f 2d4d -Daewoo-Mincho-M │ │ │ -00018a60: 6564 6975 6d2d 522d 4e6f 726d 616c 2d2d edium-R-Normal-- │ │ │ -00018a70: 3136 2d31 3230 2d31 3030 2d31 3030 2d43 16-120-100-100-C │ │ │ -00018a80: 2d31 3630 2d4b 5343 3536 3031 2e31 3938 -160-KSC5601.198 │ │ │ -00018a90: 372d 302c 0a20 2020 2063 6869 6e65 7365 7-0,. chinese │ │ │ -00018aa0: 2d67 6232 3331 323a 2d49 5341 532d 4661 -gb2312:-ISAS-Fa │ │ │ -00018ab0: 6e67 736f 6e67 2074 692d 4d65 6469 756d ngsong ti-Medium │ │ │ -00018ac0: 2d52 2d4e 6f72 6d61 6c2d 2d31 362d 3136 -R-Normal--16-16 │ │ │ -00018ad0: 302d 3732 2d37 322d 632d 3136 302d 4742 0-72-72-c-160-GB │ │ │ -00018ae0: 3233 3132 2e31 3938 302d 302c 0a20 2020 2312.1980-0,. │ │ │ -00018af0: 2063 6869 6e65 7365 2d63 6e73 3131 3634 chinese-cns1164 │ │ │ -00018b00: 332d 313a 2d48 4b55 2d46 6978 6564 2d4d 3-1:-HKU-Fixed-M │ │ │ -00018b10: 6564 6975 6d2d 522d 4e6f 726d 616c 2d2d edium-R-Normal-- │ │ │ -00018b20: 3136 2d31 3630 2d37 322d 3732 2d43 2d31 16-160-72-72-C-1 │ │ │ -00018b30: 3630 2d43 4e53 3131 3634 332e 3139 3932 60-CNS11643.1992 │ │ │ -00018b40: 2e31 2d30 2c0a 2020 2020 6368 696e 6573 .1-0,. chines │ │ │ -00018b50: 652d 6269 6735 2d31 3a2d 4554 656e 2d46 e-big5-1:-ETen-F │ │ │ -00018b60: 6978 6564 2d4d 6564 6975 6d2d 522d 4e6f ixed-Medium-R-No │ │ │ -00018b70: 726d 616c 2d2d 3136 2d31 3530 2d37 352d rmal--16-150-75- │ │ │ -00018b80: 3735 2d43 2d31 3630 2d42 6967 352e 4554 75-C-160-Big5.ET │ │ │ -00018b90: 656e 2d30 2c0a 2020 2020 6368 696e 6573 en-0,. chines │ │ │ -00018ba0: 652d 6269 6735 2d32 3a2d 4554 656e 2d46 e-big5-2:-ETen-F │ │ │ -00018bb0: 6978 6564 2d4d 6564 6975 6d2d 522d 4e6f ixed-Medium-R-No │ │ │ -00018bc0: 726d 616c 2d2d 3136 2d31 3530 2d37 352d rmal--16-150-75- │ │ │ -00018bd0: 3735 2d43 2d31 3630 2d42 6967 352e 4554 75-C-160-Big5.ET │ │ │ -00018be0: 656e 2d30 220a 2020 2253 7065 6369 6669 en-0". "Specifi │ │ │ -00018bf0: 6361 7469 6f6e 206f 6620 7468 6520 5c22 cation of the \" │ │ │ -00018c00: 666f 6e74 7365 742d 6167 6461 325c 2220 fontset-agda2\" │ │ │ -00018c10: 666f 6e74 7365 742e 0a54 6869 7320 666f fontset..This fo │ │ │ -00018c20: 6e74 7365 7420 6973 206f 6e6c 7920 6372 ntset is only cr │ │ │ -00018c30: 6561 7465 6420 6966 2060 6167 6461 322d eated if `agda2- │ │ │ -00018c40: 666f 6e74 7365 742d 6e61 6d65 2720 6973 fontset-name' is │ │ │ -00018c50: 0a5c 2266 6f6e 7473 6574 2d61 6764 6132 .\"fontset-agda2 │ │ │ -00018c60: 5c22 2061 6e64 2045 6d61 6373 2069 7320 \" and Emacs is │ │ │ -00018c70: 6e6f 7420 7275 6e20 696e 2061 2074 6572 not run in a ter │ │ │ -00018c80: 6d69 6e61 6c2e 0a0a 4e6f 7465 2074 6861 minal...Note tha │ │ │ -00018c90: 7420 7468 6520 7465 7874 205c 2266 6f6e t the text \"fon │ │ │ -00018ca0: 7473 6574 2d61 6764 6132 5c22 2068 6173 tset-agda2\" has │ │ │ -00018cb0: 2074 6f20 6265 2070 6172 7420 6f66 2074 to be part of t │ │ │ -00018cc0: 6865 0a73 7472 696e 6720 2869 6e20 6120 he.string (in a │ │ │ -00018cd0: 6365 7274 6169 6e20 7761 793b 2073 6565 certain way; see │ │ │ -00018ce0: 2074 6865 2064 6566 6175 6c74 2073 6574 the default set │ │ │ -00018cf0: 7469 6e67 2920 696e 206f 7264 6572 2066 ting) in order f │ │ │ -00018d00: 6f72 2074 6865 0a61 6764 6132 2066 6f6e or the.agda2 fon │ │ │ -00018d10: 7473 6574 2074 6f20 6265 2063 7265 6174 tset to be creat │ │ │ -00018d20: 6564 2070 726f 7065 726c 792e 0a0a 4e6f ed properly...No │ │ │ -00018d30: 7465 2061 6c73 6f20 7468 6174 2074 6865 te also that the │ │ │ -00018d40: 2064 6566 6175 6c74 2073 6574 7469 6e67 default setting │ │ │ -00018d50: 206d 6179 206e 6f74 2077 6f72 6b20 756e may not work un │ │ │ -00018d60: 6c65 7373 2073 7569 7461 626c 650a 666f less suitable.fo │ │ │ -00018d70: 6e74 7320 6172 6520 696e 7374 616c 6c65 nts are installe │ │ │ -00018d80: 6420 6f6e 2079 6f75 7220 7379 7374 656d d on your system │ │ │ -00018d90: 2e20 5265 6665 7220 746f 2074 6865 2052 . Refer to the R │ │ │ -00018da0: 4541 444d 4520 6669 6c65 0a61 6363 6f6d EADME file.accom │ │ │ -00018db0: 7061 6e79 696e 6720 7468 6520 4167 6461 panying the Agda │ │ │ -00018dc0: 2064 6973 7472 6962 7574 696f 6e20 666f distribution fo │ │ │ -00018dd0: 7220 6d6f 7265 2064 6574 6169 6c73 2e0a r more details.. │ │ │ -00018de0: 0a4e 6f74 6520 6669 6e61 6c6c 7920 7468 .Note finally th │ │ │ -00018df0: 6174 2079 6f75 2068 6176 6520 746f 2072 at you have to r │ │ │ -00018e00: 6573 7461 7274 2045 6d61 6373 2069 6620 estart Emacs if │ │ │ -00018e10: 796f 7520 7761 6e74 2073 6574 7469 6e67 you want setting │ │ │ -00018e20: 730a 746f 2074 6869 7320 7661 7269 6162 s.to this variab │ │ │ -00018e30: 6c65 2074 6f20 7461 6b65 2065 6666 6563 le to take effec │ │ │ -00018e40: 742e 220a 2020 3a67 726f 7570 2027 6167 t.". :group 'ag │ │ │ -00018e50: 6461 320a 2020 3a74 7970 6520 2773 7472 da2. :type 'str │ │ │ -00018e60: 696e 6729 0a0a 2869 6620 2861 6e64 2028 ing)..(if (and ( │ │ │ -00018e70: 6571 7561 6c20 6167 6461 322d 666f 6e74 equal agda2-font │ │ │ -00018e80: 7365 742d 6e61 6d65 2022 666f 6e74 7365 set-name "fontse │ │ │ -00018e90: 742d 6167 6461 3222 2920 7769 6e64 6f77 t-agda2") window │ │ │ -00018ea0: 2d73 7973 7465 6d29 0a20 2020 2028 6372 -system). (cr │ │ │ -00018eb0: 6561 7465 2d66 6f6e 7473 6574 2d66 726f eate-fontset-fro │ │ │ -00018ec0: 6d2d 666f 6e74 7365 742d 7370 6563 2061 m-fontset-spec a │ │ │ -00018ed0: 6764 6132 2d66 6f6e 7473 6574 2d73 7065 gda2-fontset-spe │ │ │ -00018ee0: 632d 6f66 2d66 6f6e 7473 6574 2d61 6764 c-of-fontset-agd │ │ │ -00018ef0: 6132 2074 2074 2929 0a0a 3b3b 3b3b 3b3b a2 t t))..;;;;;; │ │ │ +00017ce0: 3b3b 3b3b 0a3b 3b3b 3b20 5573 6572 206f ;;;;.;;;; User o │ │ │ +00017cf0: 7074 696f 6e73 0a0a 2864 6566 6772 6f75 ptions..(defgrou │ │ │ +00017d00: 7020 6167 6461 3220 6e69 6c0a 2020 224d p agda2 nil. "M │ │ │ +00017d10: 616a 6f72 206d 6f64 6520 666f 7220 696e ajor mode for in │ │ │ +00017d20: 7465 7261 6374 6976 656c 7920 6465 7665 teractively deve │ │ │ +00017d30: 6c6f 7069 6e67 2041 6764 6120 7072 6f67 loping Agda prog │ │ │ +00017d40: 7261 6d73 2e22 0a20 203a 6772 6f75 7020 rams.". :group │ │ │ +00017d50: 276c 616e 6775 6167 6573 290a 0a28 6465 'languages)..(de │ │ │ +00017d60: 6663 7573 746f 6d20 6167 6461 322d 7072 fcustom agda2-pr │ │ │ +00017d70: 6f67 7261 6d2d 6e61 6d65 2022 6167 6461 ogram-name "agda │ │ │ +00017d80: 220a 2020 2254 6865 206e 616d 6520 6f66 ". "The name of │ │ │ +00017d90: 2074 6865 2041 6764 6120 6578 6563 7574 the Agda execut │ │ │ +00017da0: 6162 6c65 2e22 0a20 203a 7479 7065 2027 able.". :type ' │ │ │ +00017db0: 7374 7269 6e67 0a20 203a 6772 6f75 7020 string. :group │ │ │ +00017dc0: 2761 6764 6132 290a 0a28 6465 6663 7573 'agda2)..(defcus │ │ │ +00017dd0: 746f 6d20 6167 6461 322d 7072 6f67 7261 tom agda2-progra │ │ │ +00017de0: 6d2d 6172 6773 206e 696c 0a20 2022 436f m-args nil. "Co │ │ │ +00017df0: 6d6d 616e 642d 6c69 6e65 2061 7267 756d mmand-line argum │ │ │ +00017e00: 656e 7473 2067 6976 656e 2074 6f20 7468 ents given to th │ │ │ +00017e10: 6520 4167 6461 2065 7865 6375 7461 626c e Agda executabl │ │ │ +00017e20: 6520 286f 6e65 2070 6572 2073 7472 696e e (one per strin │ │ │ +00017e30: 6729 2e0a 0a4e 6f74 653a 2044 6f20 6e6f g)...Note: Do no │ │ │ +00017e40: 7420 6769 7665 2073 6576 6572 616c 2061 t give several a │ │ │ +00017e50: 7267 756d 656e 7473 2069 6e20 7468 6520 rguments in the │ │ │ +00017e60: 7361 6d65 2073 7472 696e 672e 0a0a 5468 same string...Th │ │ │ +00017e70: 6520 666c 6167 205c 222d 2d69 6e74 6572 e flag \"--inter │ │ │ +00017e80: 6163 7469 6f6e 5c22 2069 7320 616c 7761 action\" is alwa │ │ │ +00017e90: 7973 2069 6e63 6c75 6465 6420 6173 2074 ys included as t │ │ │ +00017ea0: 6865 2066 6972 7374 0a61 7267 756d 656e he first.argumen │ │ │ +00017eb0: 742c 2061 6e64 2064 6f65 7320 6e6f 7420 t, and does not │ │ │ +00017ec0: 6e65 6564 2074 6f20 6265 206c 6973 7465 need to be liste │ │ │ +00017ed0: 6420 6865 7265 2e22 0a20 203a 7479 7065 d here.". :type │ │ │ +00017ee0: 2027 2872 6570 6561 7420 7374 7269 6e67 '(repeat string │ │ │ +00017ef0: 290a 2020 3a67 726f 7570 2027 6167 6461 ). :group 'agda │ │ │ +00017f00: 3229 0a0a 2864 6566 7661 7220 6167 6461 2)..(defvar agda │ │ │ +00017f10: 322d 6261 636b 656e 6473 2027 2822 4748 2-backends '("GH │ │ │ +00017f20: 4322 2022 4748 434e 6f4d 6169 6e22 2022 C" "GHCNoMain" " │ │ │ +00017f30: 4a53 2220 224c 6154 6558 2220 2251 7569 JS" "LaTeX" "Qui │ │ │ +00017f40: 636b 4c61 5465 5822 2022 4854 4d4c 2229 ckLaTeX" "HTML") │ │ │ +00017f50: 0a20 2022 436f 6d70 696c 6174 696f 6e20 . "Compilation │ │ │ +00017f60: 6261 636b 656e 6473 2e22 290a 0a28 6465 backends.")..(de │ │ │ +00017f70: 6663 7573 746f 6d20 6167 6461 322d 6261 fcustom agda2-ba │ │ │ +00017f80: 636b 656e 640a 2020 6e69 6c0a 2020 2254 ckend. nil. "T │ │ │ +00017f90: 6865 2062 6163 6b65 6e64 2075 7365 6420 he backend used │ │ │ +00017fa0: 746f 2063 6f6d 7069 6c65 2041 6764 6120 to compile Agda │ │ │ +00017fb0: 7072 6f67 7261 6d73 2028 6e69 6c20 746f programs (nil to │ │ │ +00017fc0: 2061 736b 2065 7665 7279 2074 696d 6529 ask every time) │ │ │ +00017fd0: 2e22 0a20 203a 7479 7065 2027 7374 7269 .". :type 'stri │ │ │ +00017fe0: 6e67 0a20 203a 6772 6f75 7020 2761 6764 ng. :group 'agd │ │ │ +00017ff0: 6132 290a 0a28 6465 6663 7573 746f 6d20 a2)..(defcustom │ │ │ +00018000: 6167 6461 322d 6261 636b 656e 642d 6465 agda2-backend-de │ │ │ +00018010: 6661 756c 742d 7061 796c 6f61 640a 2020 fault-payload. │ │ │ +00018020: 6e69 6c0a 2020 2254 6865 2064 6566 6175 nil. "The defau │ │ │ +00018030: 6c74 2070 6179 6c6f 6164 2066 6f72 2069 lt payload for i │ │ │ +00018040: 6e74 6572 6163 7469 7665 2062 6163 6b65 nteractive backe │ │ │ +00018050: 6e64 2063 6f6d 6d61 6e64 7320 286e 696c nd commands (nil │ │ │ +00018060: 2074 6f20 6173 6b20 6576 6572 7920 7469 to ask every ti │ │ │ +00018070: 6d65 292e 220a 2020 3a74 7970 6520 2773 me).". :type 's │ │ │ +00018080: 7472 696e 670a 2020 3a67 726f 7570 2027 tring. :group ' │ │ │ +00018090: 6167 6461 3229 0a0a 2864 6566 6375 7374 agda2)..(defcust │ │ │ +000180a0: 6f6d 2061 6764 6132 2d69 6e66 6f72 6d61 om agda2-informa │ │ │ +000180b0: 7469 6f6e 2d77 696e 646f 772d 6d61 782d tion-window-max- │ │ │ +000180c0: 6865 6967 6874 0a20 2030 2e33 350a 2020 height. 0.35. │ │ │ +000180d0: 2254 6865 206d 6178 696d 756d 2068 6569 "The maximum hei │ │ │ +000180e0: 6768 7420 6f66 2074 6865 2069 6e66 6f72 ght of the infor │ │ │ +000180f0: 6d61 7469 6f6e 2077 696e 646f 772e 0a41 mation window..A │ │ │ +00018100: 206d 756c 7469 706c 6520 6f66 2074 6865 multiple of the │ │ │ +00018110: 2066 7261 6d65 2068 6569 6768 742e 220a frame height.". │ │ │ +00018120: 2020 3a74 7970 6520 276e 756d 6265 720a :type 'number. │ │ │ +00018130: 2020 3a67 726f 7570 2027 6167 6461 3229 :group 'agda2) │ │ │ +00018140: 0a0a 2864 6566 6375 7374 6f6d 2061 6764 ..(defcustom agd │ │ │ +00018150: 6132 2d66 6f6e 7473 6574 2d6e 616d 650a a2-fontset-name. │ │ │ +00018160: 2020 2875 6e6c 6573 7320 286f 7220 2865 (unless (or (e │ │ │ +00018170: 7120 7769 6e64 6f77 2d73 7973 7465 6d20 q window-system │ │ │ +00018180: 276d 6163 290a 2020 2020 2020 2020 2020 'mac). │ │ │ +00018190: 2020 2020 3b3b 2045 6d61 6373 2d32 3320 ;; Emacs-23 │ │ │ +000181a0: 7573 6573 2061 2072 6576 616d 7065 6420 uses a revamped │ │ │ +000181b0: 666f 6e74 2065 6e67 696e 6520 7768 6963 font engine whic │ │ │ +000181c0: 6820 7368 6f75 6c64 0a20 2020 2020 2020 h should. │ │ │ +000181d0: 2020 2020 2020 203b 3b20 6d61 6b65 2061 ;; make a │ │ │ +000181e0: 6764 6132 2d66 6f6e 7473 6574 2d6e 616d gda2-fontset-nam │ │ │ +000181f0: 6520 756e 6e65 6365 7373 6172 7920 696e e unnecessary in │ │ │ +00018200: 206d 6f73 7420 6361 7365 732e 0a20 2020 most cases.. │ │ │ +00018210: 2020 2020 2020 2020 2020 203b 3b20 416e ;; An │ │ │ +00018220: 6420 6966 2069 7420 7475 726e 7320 6f75 d if it turns ou │ │ │ +00018230: 7420 746f 2062 6520 6e65 6365 7373 6172 t to be necessar │ │ │ +00018240: 792c 2077 6520 7368 6f75 6c64 0a20 2020 y, we should. │ │ │ +00018250: 2020 2020 2020 2020 2020 203b 3b20 7072 ;; pr │ │ │ +00018260: 6f62 6162 6c79 2075 7365 2066 6163 652d obably use face- │ │ │ +00018270: 7265 6d61 7070 696e 672d 616c 6973 7420 remapping-alist │ │ │ +00018280: 7261 7468 6572 2074 6861 6e0a 2020 2020 rather than. │ │ │ +00018290: 2020 2020 2020 2020 2020 3b3b 2073 6574 ;; set │ │ │ +000182a0: 2d66 7261 6d65 2d66 6f6e 7420 736f 2074 -frame-font so t │ │ │ +000182b0: 6865 2073 7065 6369 616c 2066 6f6e 7420 he special font │ │ │ +000182c0: 6f6e 6c79 2061 7070 6c69 6573 2074 6f0a only applies to. │ │ │ +000182d0: 2020 2020 2020 2020 2020 2020 2020 3b3b ;; │ │ │ +000182e0: 2041 6764 6120 6275 6666 6572 732c 2061 Agda buffers, a │ │ │ +000182f0: 6e64 2073 6f20 6974 2061 7070 6c69 6573 nd so it applies │ │ │ +00018300: 2069 6e20 616c 6c20 6672 616d 6573 2077 in all frames w │ │ │ +00018310: 6865 7265 0a20 2020 2020 2020 2020 2020 here. │ │ │ +00018320: 2020 203b 3b20 4167 6461 2062 7566 6665 ;; Agda buffe │ │ │ +00018330: 7273 2061 7265 2064 6973 706c 6179 6564 rs are displayed │ │ │ +00018340: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. │ │ │ +00018350: 2862 6f75 6e64 7020 2766 6163 652d 7265 (boundp 'face-re │ │ │ +00018360: 6d61 7070 696e 672d 616c 6973 7429 290a mapping-alist)). │ │ │ +00018370: 2020 2020 2266 6f6e 7473 6574 2d61 6764 "fontset-agd │ │ │ +00018380: 6132 2229 0a20 2022 4465 6661 756c 7420 a2"). "Default │ │ │ +00018390: 666f 6e74 2074 6f20 7573 6520 696e 2074 font to use in t │ │ │ +000183a0: 6865 2073 656c 6563 7465 6420 6672 616d he selected fram │ │ │ +000183b0: 6520 7768 656e 2061 6374 6976 6174 696e e when activatin │ │ │ +000183c0: 6720 7468 6520 4167 6461 206d 6f64 652e g the Agda mode. │ │ │ +000183d0: 0a54 6869 7320 6973 206f 6e6c 7920 7573 .This is only us │ │ │ +000183e0: 6564 2069 6620 6974 2773 206e 6f6e 2d6e ed if it's non-n │ │ │ +000183f0: 696c 2061 6e64 2045 6d61 6373 2069 7320 il and Emacs is │ │ │ +00018400: 6e6f 7420 7275 6e6e 696e 6720 696e 2061 not running in a │ │ │ +00018410: 0a74 6572 6d69 6e61 6c2e 0a0a 4e6f 7465 .terminal...Note │ │ │ +00018420: 2074 6861 7420 7468 6973 2073 6574 7469 that this setti │ │ │ +00018430: 6e67 2028 6966 206e 6f6e 2d6e 696c 2920 ng (if non-nil) │ │ │ +00018440: 6166 6665 6374 7320 6e6f 6e2d 4167 6461 affects non-Agda │ │ │ +00018450: 2062 7566 6665 7273 2061 730a 7765 6c6c buffers as.well │ │ │ +00018460: 2c20 616e 6420 7468 6174 2079 6f75 2068 , and that you h │ │ │ +00018470: 6176 6520 746f 2072 6573 7461 7274 2045 ave to restart E │ │ │ +00018480: 6d61 6373 2069 6620 796f 7520 7761 6e74 macs if you want │ │ │ +00018490: 2073 6574 7469 6e67 7320 746f 0a74 6869 settings to.thi │ │ │ +000184a0: 7320 7661 7269 6162 6c65 2074 6f20 7461 s variable to ta │ │ │ +000184b0: 6b65 2065 6666 6563 742e 220a 2020 3a74 ke effect.". :t │ │ │ +000184c0: 7970 6520 2728 6368 6f69 6365 2028 7374 ype '(choice (st │ │ │ +000184d0: 7269 6e67 203a 7461 6720 2246 6f6e 7473 ring :tag "Fonts │ │ │ +000184e0: 6574 206e 616d 6522 290a 2020 2020 2020 et name"). │ │ │ +000184f0: 2020 2020 2020 2020 2020 2028 636f 6e73 (cons │ │ │ +00018500: 7420 3a74 6167 2022 446f 206e 6f74 2063 t :tag "Do not c │ │ │ +00018510: 6861 6e67 6520 7468 6520 666f 6e74 2220 hange the font" │ │ │ +00018520: 6e69 6c29 290a 2020 3a67 726f 7570 2027 nil)). :group ' │ │ │ +00018530: 6167 6461 3229 0a0a 2864 6566 6375 7374 agda2)..(defcust │ │ │ +00018540: 6f6d 2061 6764 6132 2d66 6f6e 7473 6574 om agda2-fontset │ │ │ +00018550: 2d73 7065 632d 6f66 2d66 6f6e 7473 6574 -spec-of-fontset │ │ │ +00018560: 2d61 6764 6132 0a20 2020 2022 2d2a 2d66 -agda2. "-*-f │ │ │ +00018570: 6978 6564 2d4d 6564 6975 6d2d 722d 4e6f ixed-Medium-r-No │ │ │ +00018580: 726d 616c 2d2a 2d31 382d 2a2d 2a2d 2a2d rmal-*-18-*-*-*- │ │ │ +00018590: 632d 2a2d 666f 6e74 7365 742d 6167 6461 c-*-fontset-agda │ │ │ +000185a0: 322c 0a20 2020 2061 7363 6969 3a2d 4d69 2,. ascii:-Mi │ │ │ +000185b0: 7363 2d46 6978 6564 2d4d 6564 6975 6d2d sc-Fixed-Medium- │ │ │ +000185c0: 522d 4e6f 726d 616c 2d2d 3138 2d31 3230 R-Normal--18-120 │ │ │ +000185d0: 2d31 3030 2d31 3030 2d43 2d39 302d 4953 -100-100-C-90-IS │ │ │ +000185e0: 4f38 3835 392d 312c 0a20 2020 206c 6174 O8859-1,. lat │ │ │ +000185f0: 696e 2d69 736f 3838 3539 2d32 3a2d 2a2d in-iso8859-2:-*- │ │ │ +00018600: 4669 7865 642d 2a2d 722d 2a2d 2a2d 3138 Fixed-*-r-*-*-18 │ │ │ +00018610: 2d2a 2d2a 2d2a 2d63 2d2a 2d69 736f 3838 -*-*-*-c-*-iso88 │ │ │ +00018620: 3539 2d32 2c0a 2020 2020 6c61 7469 6e2d 59-2,. latin- │ │ │ +00018630: 6973 6f38 3835 392d 333a 2d2a 2d46 6978 iso8859-3:-*-Fix │ │ │ +00018640: 6564 2d2a 2d72 2d2a 2d2a 2d31 382d 2a2d ed-*-r-*-*-18-*- │ │ │ +00018650: 2a2d 2a2d 632d 2a2d 6973 6f38 3835 392d *-*-c-*-iso8859- │ │ │ +00018660: 332c 0a20 2020 206c 6174 696e 2d69 736f 3,. latin-iso │ │ │ +00018670: 3838 3539 2d34 3a2d 2a2d 4669 7865 642d 8859-4:-*-Fixed- │ │ │ +00018680: 2a2d 722d 2a2d 2a2d 3138 2d2a 2d2a 2d2a *-r-*-*-18-*-*-* │ │ │ +00018690: 2d63 2d2a 2d69 736f 3838 3539 2d34 2c0a -c-*-iso8859-4,. │ │ │ +000186a0: 2020 2020 6379 7269 6c6c 6963 2d69 736f cyrillic-iso │ │ │ +000186b0: 3838 3539 2d35 3a2d 2a2d 4669 7865 642d 8859-5:-*-Fixed- │ │ │ +000186c0: 2a2d 722d 2a2d 2a2d 3138 2d2a 2d2a 2d2a *-r-*-*-18-*-*-* │ │ │ +000186d0: 2d63 2d2a 2d69 736f 3838 3539 2d35 2c0a -c-*-iso8859-5,. │ │ │ +000186e0: 2020 2020 6772 6565 6b2d 6973 6f38 3835 greek-iso885 │ │ │ +000186f0: 392d 373a 2d2a 2d46 6978 6564 2d2a 2d72 9-7:-*-Fixed-*-r │ │ │ +00018700: 2d2a 2d2a 2d31 382d 2a2d 2a2d 2a2d 632d -*-*-18-*-*-*-c- │ │ │ +00018710: 2a2d 6973 6f38 3835 392d 372c 0a20 2020 *-iso8859-7,. │ │ │ +00018720: 206c 6174 696e 2d69 736f 3838 3539 2d39 latin-iso8859-9 │ │ │ +00018730: 3a2d 2a2d 4669 7865 642d 2a2d 722d 2a2d :-*-Fixed-*-r-*- │ │ │ +00018740: 2a2d 3138 2d2a 2d2a 2d2a 2d63 2d2a 2d69 *-18-*-*-*-c-*-i │ │ │ +00018750: 736f 3838 3539 2d39 2c0a 2020 2020 6d75 so8859-9,. mu │ │ │ +00018760: 6c65 2d75 6e69 636f 6465 2d30 3130 302d le-unicode-0100- │ │ │ +00018770: 3234 6666 3a2d 4d69 7363 2d46 6978 6564 24ff:-Misc-Fixed │ │ │ +00018780: 2d4d 6564 6975 6d2d 522d 4e6f 726d 616c -Medium-R-Normal │ │ │ +00018790: 2d2d 3138 2d31 3230 2d31 3030 2d31 3030 --18-120-100-100 │ │ │ +000187a0: 2d43 2d39 302d 4953 4f31 3036 3436 2d31 -C-90-ISO10646-1 │ │ │ +000187b0: 2c0a 2020 2020 6d75 6c65 2d75 6e69 636f ,. mule-unico │ │ │ +000187c0: 6465 2d32 3530 302d 3333 6666 3a2d 4d69 de-2500-33ff:-Mi │ │ │ +000187d0: 7363 2d46 6978 6564 2d4d 6564 6975 6d2d sc-Fixed-Medium- │ │ │ +000187e0: 522d 4e6f 726d 616c 2d2d 3138 2d31 3230 R-Normal--18-120 │ │ │ +000187f0: 2d31 3030 2d31 3030 2d43 2d39 302d 4953 -100-100-C-90-IS │ │ │ +00018800: 4f31 3036 3436 2d31 2c0a 2020 2020 6d75 O10646-1,. mu │ │ │ +00018810: 6c65 2d75 6e69 636f 6465 2d65 3030 302d le-unicode-e000- │ │ │ +00018820: 6666 6666 3a2d 4d69 7363 2d46 6978 6564 ffff:-Misc-Fixed │ │ │ +00018830: 2d4d 6564 6975 6d2d 522d 4e6f 726d 616c -Medium-R-Normal │ │ │ +00018840: 2d2d 3138 2d31 3230 2d31 3030 2d31 3030 --18-120-100-100 │ │ │ +00018850: 2d43 2d39 302d 4953 4f31 3036 3436 2d31 -C-90-ISO10646-1 │ │ │ +00018860: 2c0a 2020 2020 6a61 7061 6e65 7365 2d6a ,. japanese-j │ │ │ +00018870: 6973 7830 3230 383a 2d4d 6973 632d 4669 isx0208:-Misc-Fi │ │ │ +00018880: 7865 642d 4d65 6469 756d 2d52 2d4e 6f72 xed-Medium-R-Nor │ │ │ +00018890: 6d61 6c2d 6a61 2d31 382d 2a2d 2a2d 2a2d mal-ja-18-*-*-*- │ │ │ +000188a0: 432d 2a2d 4a49 5358 3032 3038 2e31 3939 C-*-JISX0208.199 │ │ │ +000188b0: 302d 302c 0a20 2020 206a 6170 616e 6573 0-0,. japanes │ │ │ +000188c0: 652d 6a69 7378 3032 3132 3a2d 4d69 7363 e-jisx0212:-Misc │ │ │ +000188d0: 2d46 6978 6564 2d4d 6564 6975 6d2d 522d -Fixed-Medium-R- │ │ │ +000188e0: 4e6f 726d 616c 2d6a 612d 3138 2d2a 2d2a Normal-ja-18-*-* │ │ │ +000188f0: 2d2a 2d43 2d2a 2d4a 4953 5830 3231 322e -*-C-*-JISX0212. │ │ │ +00018900: 3139 3930 2d30 2c0a 2020 2020 7468 6169 1990-0,. thai │ │ │ +00018910: 2d74 6973 3632 303a 2d4d 6973 632d 4669 -tis620:-Misc-Fi │ │ │ +00018920: 7865 642d 4d65 6469 756d 2d52 2d4e 6f72 xed-Medium-R-Nor │ │ │ +00018930: 6d61 6c2d 2d32 342d 3234 302d 3732 2d37 mal--24-240-72-7 │ │ │ +00018940: 322d 432d 3132 302d 5449 5336 3230 2e32 2-C-120-TIS620.2 │ │ │ +00018950: 3532 392d 312c 0a20 2020 206c 616f 3a2d 529-1,. lao:- │ │ │ +00018960: 4d69 7363 2d46 6978 6564 2d4d 6564 6975 Misc-Fixed-Mediu │ │ │ +00018970: 6d2d 522d 4e6f 726d 616c 2d2d 3234 2d32 m-R-Normal--24-2 │ │ │ +00018980: 3430 2d37 322d 3732 2d43 2d31 3230 2d4d 40-72-72-C-120-M │ │ │ +00018990: 756c 654c 616f 2d31 2c0a 2020 2020 7469 uleLao-1,. ti │ │ │ +000189a0: 6265 7461 6e3a 2d54 6962 4d64 5841 2d66 betan:-TibMdXA-f │ │ │ +000189b0: 6978 6564 2d6d 6564 6975 6d2d 722d 6e6f ixed-medium-r-no │ │ │ +000189c0: 726d 616c 2d2d 3136 2d31 3630 2d37 322d rmal--16-160-72- │ │ │ +000189d0: 3732 2d6d 2d31 3630 2d4d 756c 6554 6962 72-m-160-MuleTib │ │ │ +000189e0: 6574 616e 2d30 2c0a 2020 2020 7469 6265 etan-0,. tibe │ │ │ +000189f0: 7461 6e2d 312d 636f 6c75 6d6e 3a2d 5469 tan-1-column:-Ti │ │ │ +00018a00: 624d 6458 412d 6669 7865 642d 6d65 6469 bMdXA-fixed-medi │ │ │ +00018a10: 756d 2d72 2d6e 6f72 6d61 6c2d 2d31 362d um-r-normal--16- │ │ │ +00018a20: 3136 302d 3732 2d37 322d 6d2d 3830 2d4d 160-72-72-m-80-M │ │ │ +00018a30: 756c 6554 6962 6574 616e 2d31 2c0a 2020 uleTibetan-1,. │ │ │ +00018a40: 2020 6b6f 7265 616e 2d6b 7363 3536 3031 korean-ksc5601 │ │ │ +00018a50: 3a2d 4461 6577 6f6f 2d4d 696e 6368 6f2d :-Daewoo-Mincho- │ │ │ +00018a60: 4d65 6469 756d 2d52 2d4e 6f72 6d61 6c2d Medium-R-Normal- │ │ │ +00018a70: 2d31 362d 3132 302d 3130 302d 3130 302d -16-120-100-100- │ │ │ +00018a80: 432d 3136 302d 4b53 4335 3630 312e 3139 C-160-KSC5601.19 │ │ │ +00018a90: 3837 2d30 2c0a 2020 2020 6368 696e 6573 87-0,. chines │ │ │ +00018aa0: 652d 6762 3233 3132 3a2d 4953 4153 2d46 e-gb2312:-ISAS-F │ │ │ +00018ab0: 616e 6773 6f6e 6720 7469 2d4d 6564 6975 angsong ti-Mediu │ │ │ +00018ac0: 6d2d 522d 4e6f 726d 616c 2d2d 3136 2d31 m-R-Normal--16-1 │ │ │ +00018ad0: 3630 2d37 322d 3732 2d63 2d31 3630 2d47 60-72-72-c-160-G │ │ │ +00018ae0: 4232 3331 322e 3139 3830 2d30 2c0a 2020 B2312.1980-0,. │ │ │ +00018af0: 2020 6368 696e 6573 652d 636e 7331 3136 chinese-cns116 │ │ │ +00018b00: 3433 2d31 3a2d 484b 552d 4669 7865 642d 43-1:-HKU-Fixed- │ │ │ +00018b10: 4d65 6469 756d 2d52 2d4e 6f72 6d61 6c2d Medium-R-Normal- │ │ │ +00018b20: 2d31 362d 3136 302d 3732 2d37 322d 432d -16-160-72-72-C- │ │ │ +00018b30: 3136 302d 434e 5331 3136 3433 2e31 3939 160-CNS11643.199 │ │ │ +00018b40: 322e 312d 302c 0a20 2020 2063 6869 6e65 2.1-0,. chine │ │ │ +00018b50: 7365 2d62 6967 352d 313a 2d45 5465 6e2d se-big5-1:-ETen- │ │ │ +00018b60: 4669 7865 642d 4d65 6469 756d 2d52 2d4e Fixed-Medium-R-N │ │ │ +00018b70: 6f72 6d61 6c2d 2d31 362d 3135 302d 3735 ormal--16-150-75 │ │ │ +00018b80: 2d37 352d 432d 3136 302d 4269 6735 2e45 -75-C-160-Big5.E │ │ │ +00018b90: 5465 6e2d 302c 0a20 2020 2063 6869 6e65 Ten-0,. chine │ │ │ +00018ba0: 7365 2d62 6967 352d 323a 2d45 5465 6e2d se-big5-2:-ETen- │ │ │ +00018bb0: 4669 7865 642d 4d65 6469 756d 2d52 2d4e Fixed-Medium-R-N │ │ │ +00018bc0: 6f72 6d61 6c2d 2d31 362d 3135 302d 3735 ormal--16-150-75 │ │ │ +00018bd0: 2d37 352d 432d 3136 302d 4269 6735 2e45 -75-C-160-Big5.E │ │ │ +00018be0: 5465 6e2d 3022 0a20 2022 5370 6563 6966 Ten-0". "Specif │ │ │ +00018bf0: 6963 6174 696f 6e20 6f66 2074 6865 205c ication of the \ │ │ │ +00018c00: 2266 6f6e 7473 6574 2d61 6764 6132 5c22 "fontset-agda2\" │ │ │ +00018c10: 2066 6f6e 7473 6574 2e0a 5468 6973 2066 fontset..This f │ │ │ +00018c20: 6f6e 7473 6574 2069 7320 6f6e 6c79 2063 ontset is only c │ │ │ +00018c30: 7265 6174 6564 2069 6620 6061 6764 6132 reated if `agda2 │ │ │ +00018c40: 2d66 6f6e 7473 6574 2d6e 616d 6527 2069 -fontset-name' i │ │ │ +00018c50: 730a 5c22 666f 6e74 7365 742d 6167 6461 s.\"fontset-agda │ │ │ +00018c60: 325c 2220 616e 6420 456d 6163 7320 6973 2\" and Emacs is │ │ │ +00018c70: 206e 6f74 2072 756e 2069 6e20 6120 7465 not run in a te │ │ │ +00018c80: 726d 696e 616c 2e0a 0a4e 6f74 6520 7468 rminal...Note th │ │ │ +00018c90: 6174 2074 6865 2074 6578 7420 5c22 666f at the text \"fo │ │ │ +00018ca0: 6e74 7365 742d 6167 6461 325c 2220 6861 ntset-agda2\" ha │ │ │ +00018cb0: 7320 746f 2062 6520 7061 7274 206f 6620 s to be part of │ │ │ +00018cc0: 7468 650a 7374 7269 6e67 2028 696e 2061 the.string (in a │ │ │ +00018cd0: 2063 6572 7461 696e 2077 6179 3b20 7365 certain way; se │ │ │ +00018ce0: 6520 7468 6520 6465 6661 756c 7420 7365 e the default se │ │ │ +00018cf0: 7474 696e 6729 2069 6e20 6f72 6465 7220 tting) in order │ │ │ +00018d00: 666f 7220 7468 650a 6167 6461 3220 666f for the.agda2 fo │ │ │ +00018d10: 6e74 7365 7420 746f 2062 6520 6372 6561 ntset to be crea │ │ │ +00018d20: 7465 6420 7072 6f70 6572 6c79 2e0a 0a4e ted properly...N │ │ │ +00018d30: 6f74 6520 616c 736f 2074 6861 7420 7468 ote also that th │ │ │ +00018d40: 6520 6465 6661 756c 7420 7365 7474 696e e default settin │ │ │ +00018d50: 6720 6d61 7920 6e6f 7420 776f 726b 2075 g may not work u │ │ │ +00018d60: 6e6c 6573 7320 7375 6974 6162 6c65 0a66 nless suitable.f │ │ │ +00018d70: 6f6e 7473 2061 7265 2069 6e73 7461 6c6c onts are install │ │ │ +00018d80: 6564 206f 6e20 796f 7572 2073 7973 7465 ed on your syste │ │ │ +00018d90: 6d2e 2052 6566 6572 2074 6f20 7468 6520 m. Refer to the │ │ │ +00018da0: 5245 4144 4d45 2066 696c 650a 6163 636f README file.acco │ │ │ +00018db0: 6d70 616e 7969 6e67 2074 6865 2041 6764 mpanying the Agd │ │ │ +00018dc0: 6120 6469 7374 7269 6275 7469 6f6e 2066 a distribution f │ │ │ +00018dd0: 6f72 206d 6f72 6520 6465 7461 696c 732e or more details. │ │ │ +00018de0: 0a0a 4e6f 7465 2066 696e 616c 6c79 2074 ..Note finally t │ │ │ +00018df0: 6861 7420 796f 7520 6861 7665 2074 6f20 hat you have to │ │ │ +00018e00: 7265 7374 6172 7420 456d 6163 7320 6966 restart Emacs if │ │ │ +00018e10: 2079 6f75 2077 616e 7420 7365 7474 696e you want settin │ │ │ +00018e20: 6773 0a74 6f20 7468 6973 2076 6172 6961 gs.to this varia │ │ │ +00018e30: 626c 6520 746f 2074 616b 6520 6566 6665 ble to take effe │ │ │ +00018e40: 6374 2e22 0a20 203a 6772 6f75 7020 2761 ct.". :group 'a │ │ │ +00018e50: 6764 6132 0a20 203a 7479 7065 2027 7374 gda2. :type 'st │ │ │ +00018e60: 7269 6e67 290a 0a28 6966 2028 616e 6420 ring)..(if (and │ │ │ +00018e70: 2865 7175 616c 2061 6764 6132 2d66 6f6e (equal agda2-fon │ │ │ +00018e80: 7473 6574 2d6e 616d 6520 2266 6f6e 7473 tset-name "fonts │ │ │ +00018e90: 6574 2d61 6764 6132 2229 2077 696e 646f et-agda2") windo │ │ │ +00018ea0: 772d 7379 7374 656d 290a 2020 2020 2863 w-system). (c │ │ │ +00018eb0: 7265 6174 652d 666f 6e74 7365 742d 6672 reate-fontset-fr │ │ │ +00018ec0: 6f6d 2d66 6f6e 7473 6574 2d73 7065 6320 om-fontset-spec │ │ │ +00018ed0: 6167 6461 322d 666f 6e74 7365 742d 7370 agda2-fontset-sp │ │ │ +00018ee0: 6563 2d6f 662d 666f 6e74 7365 742d 6167 ec-of-fontset-ag │ │ │ +00018ef0: 6461 3220 7420 7429 290a 0a3b 3b3b 3b3b da2 t t))..;;;;; │ │ │ 00018f00: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00018f10: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00018f20: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00018f30: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ -00018f40: 3b3b 0a3b 3b3b 3b20 476c 6f62 616c 2061 ;;.;;;; Global a │ │ │ -00018f50: 6e64 2062 7566 6665 722d 6c6f 6361 6c20 nd buffer-local │ │ │ -00018f60: 7661 7273 2c20 696e 6974 6961 6c69 7a61 vars, initializa │ │ │ -00018f70: 7469 6f6e 0a0a 2864 6566 7661 7220 6167 tion..(defvar ag │ │ │ -00018f80: 6461 322d 6d6f 6465 2d73 796e 7461 782d da2-mode-syntax- │ │ │ -00018f90: 7461 626c 650a 2020 286c 6574 2028 2874 table. (let ((t │ │ │ -00018fa0: 626c 2028 6d61 6b65 2d73 796e 7461 782d bl (make-syntax- │ │ │ -00018fb0: 7461 626c 6529 2929 0a20 2020 203b 3b20 table))). ;; │ │ │ -00018fc0: 5365 7420 7468 6520 7379 6e74 6178 206f Set the syntax o │ │ │ -00018fd0: 6620 6576 6572 7920 6368 6172 2074 6f20 f every char to │ │ │ -00018fe0: 2277 2220 6578 6365 7074 2066 6f72 2074 "w" except for t │ │ │ -00018ff0: 686f 7365 2077 686f 7365 2064 6566 6175 hose whose defau │ │ │ -00019000: 6c74 0a20 2020 203b 3b20 7379 6e74 6178 lt. ;; syntax │ │ │ -00019010: 2069 6e20 6073 7461 6e64 6172 642d 7379 in `standard-sy │ │ │ -00019020: 6e74 6178 2d74 6162 6c65 2720 6973 2060 ntax-table' is ` │ │ │ -00019030: 7061 7265 6e27 206f 7220 6077 6869 7465 paren' or `white │ │ │ -00019040: 7370 6163 6527 2e0a 2020 2020 286d 6170 space'.. (map │ │ │ -00019050: 2d63 6861 722d 7461 626c 6520 286c 616d -char-table (lam │ │ │ -00019060: 6264 6120 286b 6579 7320 7661 6c29 0a20 bda (keys val). │ │ │ +00018f40: 3b3b 3b0a 3b3b 3b3b 2047 6c6f 6261 6c20 ;;;.;;;; Global │ │ │ +00018f50: 616e 6420 6275 6666 6572 2d6c 6f63 616c and buffer-local │ │ │ +00018f60: 2076 6172 732c 2069 6e69 7469 616c 697a vars, initializ │ │ │ +00018f70: 6174 696f 6e0a 0a28 6465 6676 6172 2061 ation..(defvar a │ │ │ +00018f80: 6764 6132 2d6d 6f64 652d 7379 6e74 6178 gda2-mode-syntax │ │ │ +00018f90: 2d74 6162 6c65 0a20 2028 6c65 7420 2828 -table. (let (( │ │ │ +00018fa0: 7462 6c20 286d 616b 652d 7379 6e74 6178 tbl (make-syntax │ │ │ +00018fb0: 2d74 6162 6c65 2929 290a 2020 2020 3b3b -table))). ;; │ │ │ +00018fc0: 2053 6574 2074 6865 2073 796e 7461 7820 Set the syntax │ │ │ +00018fd0: 6f66 2065 7665 7279 2063 6861 7220 746f of every char to │ │ │ +00018fe0: 2022 7722 2065 7863 6570 7420 666f 7220 "w" except for │ │ │ +00018ff0: 7468 6f73 6520 7768 6f73 6520 6465 6661 those whose defa │ │ │ +00019000: 756c 740a 2020 2020 3b3b 2073 796e 7461 ult. ;; synta │ │ │ +00019010: 7820 696e 2060 7374 616e 6461 7264 2d73 x in `standard-s │ │ │ +00019020: 796e 7461 782d 7461 626c 6527 2069 7320 yntax-table' is │ │ │ +00019030: 6070 6172 656e 2720 6f72 2060 7768 6974 `paren' or `whit │ │ │ +00019040: 6573 7061 6365 272e 0a20 2020 2028 6d61 espace'.. (ma │ │ │ +00019050: 702d 6368 6172 2d74 6162 6c65 2028 6c61 p-char-table (la │ │ │ +00019060: 6d62 6461 2028 6b65 7973 2076 616c 290a mbda (keys val). │ │ │ 00019070: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00019080: 2020 2020 203b 3b20 606b 6579 7327 2068 ;; `keys' h │ │ │ -00019090: 6572 6520 6361 6e20 6265 2061 206e 6f72 ere can be a nor │ │ │ -000190a0: 6d61 6c20 6368 6172 2c20 6120 6765 6e65 mal char, a gene │ │ │ -000190b0: 7269 6320 6368 6172 0a20 2020 2020 2020 ric char. │ │ │ -000190c0: 2020 2020 2020 2020 2020 2020 2020 203b ; │ │ │ -000190d0: 3b20 2845 6d61 6373 3c32 3329 2c20 6f72 ; (Emacs<23), or │ │ │ -000190e0: 2061 2063 6861 7220 7261 6e67 6520 2845 a char range (E │ │ │ -000190f0: 6d61 6373 3e3d 3233 292e 0a20 2020 2020 macs>=23).. │ │ │ +00019080: 2020 2020 2020 3b3b 2060 6b65 7973 2720 ;; `keys' │ │ │ +00019090: 6865 7265 2063 616e 2062 6520 6120 6e6f here can be a no │ │ │ +000190a0: 726d 616c 2063 6861 722c 2061 2067 656e rmal char, a gen │ │ │ +000190b0: 6572 6963 2063 6861 720a 2020 2020 2020 eric char. │ │ │ +000190c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +000190d0: 3b3b 2028 456d 6163 733c 3233 292c 206f ;; (Emacs<23), o │ │ │ +000190e0: 7220 6120 6368 6172 2072 616e 6765 2028 r a char range ( │ │ │ +000190f0: 456d 6163 733e 3d32 3329 2e0a 2020 2020 Emacs>=23).. │ │ │ 00019100: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00019110: 2028 756e 6c65 7373 2028 6d65 6d71 2028 (unless (memq ( │ │ │ -00019120: 6361 7220 7661 6c29 0a20 2020 2020 2020 car val). │ │ │ +00019110: 2020 2875 6e6c 6573 7320 286d 656d 7120 (unless (memq │ │ │ +00019120: 2863 6172 2076 616c 290a 2020 2020 2020 (car val). │ │ │ 00019130: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00019140: 2020 2020 2020 2020 2020 2020 2028 6576 (ev │ │ │ -00019150: 616c 2d77 6865 6e2d 636f 6d70 696c 650a al-when-compile. │ │ │ -00019160: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +00019140: 2020 2020 2020 2020 2020 2020 2020 2865 (e │ │ │ +00019150: 7661 6c2d 7768 656e 2d63 6f6d 7069 6c65 val-when-compile │ │ │ +00019160: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ 00019170: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00019180: 2020 2020 2020 286d 6170 6361 7220 2763 (mapcar 'c │ │ │ -00019190: 6172 0a20 2020 2020 2020 2020 2020 2020 ar. │ │ │ +00019180: 2020 2020 2020 2028 6d61 7063 6172 2027 (mapcar ' │ │ │ +00019190: 6361 720a 2020 2020 2020 2020 2020 2020 car. │ │ │ 000191a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 000191b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -000191c0: 2028 6c69 7374 2028 7374 7269 6e67 2d74 (list (string-t │ │ │ -000191d0: 6f2d 7379 6e74 6178 2022 2822 290a 2020 o-syntax "("). │ │ │ +000191c0: 2020 286c 6973 7420 2873 7472 696e 672d (list (string- │ │ │ +000191d0: 746f 2d73 796e 7461 7820 2228 2229 0a20 to-syntax "("). │ │ │ 000191e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 000191f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 00019200: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00019210: 2020 2873 7472 696e 672d 746f 2d73 796e (string-to-syn │ │ │ -00019220: 7461 7820 2229 2229 0a20 2020 2020 2020 tax ")"). │ │ │ +00019210: 2020 2028 7374 7269 6e67 2d74 6f2d 7379 (string-to-sy │ │ │ +00019220: 6e74 6178 2022 2922 290a 2020 2020 2020 ntax ")"). │ │ │ 00019230: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 00019240: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00019250: 2020 2020 2020 2020 2020 2020 2028 7374 (st │ │ │ -00019260: 7269 6e67 2d74 6f2d 7379 6e74 6178 2022 ring-to-syntax " │ │ │ -00019270: 2022 2929 2929 290a 2020 2020 2020 2020 "))))). │ │ │ +00019250: 2020 2020 2020 2020 2020 2020 2020 2873 (s │ │ │ +00019260: 7472 696e 672d 746f 2d73 796e 7461 7820 tring-to-syntax │ │ │ +00019270: 2220 2229 2929 2929 0a20 2020 2020 2020 " "))))). │ │ │ 00019280: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00019290: 286d 6f64 6966 792d 7379 6e74 6178 2d65 (modify-syntax-e │ │ │ -000192a0: 6e74 7279 206b 6579 7320 2277 2220 7462 ntry keys "w" tb │ │ │ -000192b0: 6c29 2929 0a20 2020 2020 2020 2020 2020 l))). │ │ │ -000192c0: 2020 2020 2020 2020 2028 7374 616e 6461 (standa │ │ │ -000192d0: 7264 2d73 796e 7461 782d 7461 626c 6529 rd-syntax-table) │ │ │ -000192e0: 290a 2020 2020 3b3b 2054 6865 6e20 6f76 ). ;; Then ov │ │ │ -000192f0: 6572 7269 6465 2074 6865 2072 656d 6169 erride the remai │ │ │ -00019300: 6e69 6e67 2073 7065 6369 616c 2063 6173 ning special cas │ │ │ -00019310: 6573 2e0a 2020 2020 2864 6f6c 6973 7420 es.. (dolist │ │ │ -00019320: 2863 7320 2728 283f 2d20 2e20 2277 2031 (cs '((?- . "w 1 │ │ │ -00019330: 3222 2920 283f 5c6e 202e 2022 3e22 290a 2") (?\n . ">"). │ │ │ -00019340: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00019350: 2020 283f 2e20 2e20 222e 2229 2028 3f5c (?. . ".") (?\ │ │ │ -00019360: 3b20 2e20 222e 2229 2028 3f21 202e 2022 ; . ".") (?! . " │ │ │ -00019370: 2e22 2929 290a 2020 2020 2020 286d 6f64 ."))). (mod │ │ │ -00019380: 6966 792d 7379 6e74 6178 2d65 6e74 7279 ify-syntax-entry │ │ │ -00019390: 2028 6361 7220 6373 2920 2863 6472 2063 (car cs) (cdr c │ │ │ -000193a0: 7329 2074 626c 2929 0a20 2020 2074 626c s) tbl)). tbl │ │ │ -000193b0: 290a 2020 2253 796e 7461 7820 7461 626c ). "Syntax tabl │ │ │ -000193c0: 6520 7573 6564 2062 7920 7468 6520 4167 e used by the Ag │ │ │ -000193d0: 6461 206d 6f64 653a 0a0a 2d20 2020 7c20 da mode:..- | │ │ │ -000193e0: 436f 6d6d 656e 7420 6368 6172 6163 7465 Comment characte │ │ │ -000193f0: 722c 2077 6f72 6420 636f 6e73 7469 7475 r, word constitu │ │ │ -00019400: 656e 742e 0a5c 6e20 207c 2043 6f6d 6d65 ent..\n | Comme │ │ │ -00019410: 6e74 2065 6e64 6572 2e0a 2e3b 2120 7c20 nt ender...;! | │ │ │ -00019420: 5075 6e63 7475 6174 696f 6e2e 0a0a 5265 Punctuation...Re │ │ │ -00019430: 6d61 696e 696e 6720 6368 6172 6163 7465 maining characte │ │ │ -00019440: 7273 2069 6e68 6572 6974 2074 6865 6972 rs inherit their │ │ │ -00019450: 2073 796e 7461 7820 636c 6173 7365 7320 syntax classes │ │ │ -00019460: 6672 6f6d 2074 6865 0a73 7461 6e64 6172 from the.standar │ │ │ -00019470: 6420 7379 6e74 6178 2074 6162 6c65 2069 d syntax table i │ │ │ -00019480: 6620 7468 6174 2074 6162 6c65 2074 7265 f that table tre │ │ │ -00019490: 6174 7320 7468 656d 2061 7320 6d61 7463 ats them as matc │ │ │ -000194a0: 6869 6e67 0a70 6172 656e 7468 6573 6573 hing.parentheses │ │ │ -000194b0: 206f 7220 7768 6974 6573 7061 6365 2e20 or whitespace. │ │ │ -000194c0: 204f 7468 6572 7769 7365 2074 6865 7920 Otherwise they │ │ │ -000194d0: 6172 6520 7472 6561 7465 6420 6173 2077 are treated as w │ │ │ -000194e0: 6f72 640a 636f 6e73 7469 7475 656e 7473 ord.constituents │ │ │ -000194f0: 2e22 290a 0a28 6465 6663 6f6e 7374 2061 .")..(defconst a │ │ │ -00019500: 6764 6132 2d63 6f6d 6d61 6e64 2d74 6162 gda2-command-tab │ │ │ -00019510: 6c65 0a20 2060 280a 2020 2020 2861 6764 le. `(. (agd │ │ │ -00019520: 6132 2d6c 6f61 6420 2020 2020 2020 2020 a2-load │ │ │ +00019290: 2028 6d6f 6469 6679 2d73 796e 7461 782d (modify-syntax- │ │ │ +000192a0: 656e 7472 7920 6b65 7973 2022 7722 2074 entry keys "w" t │ │ │ +000192b0: 626c 2929 290a 2020 2020 2020 2020 2020 bl))). │ │ │ +000192c0: 2020 2020 2020 2020 2020 2873 7461 6e64 (stand │ │ │ +000192d0: 6172 642d 7379 6e74 6178 2d74 6162 6c65 ard-syntax-table │ │ │ +000192e0: 2929 0a20 2020 203b 3b20 5468 656e 206f )). ;; Then o │ │ │ +000192f0: 7665 7272 6964 6520 7468 6520 7265 6d61 verride the rema │ │ │ +00019300: 696e 696e 6720 7370 6563 6961 6c20 6361 ining special ca │ │ │ +00019310: 7365 732e 0a20 2020 2028 646f 6c69 7374 ses.. (dolist │ │ │ +00019320: 2028 6373 2027 2828 3f2d 202e 2022 7720 (cs '((?- . "w │ │ │ +00019330: 3132 2229 2028 3f5c 6e20 2e20 223e 2229 12") (?\n . ">") │ │ │ +00019340: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ +00019350: 2020 2028 3f2e 202e 2022 2e22 2920 283f (?. . ".") (? │ │ │ +00019360: 5c3b 202e 2022 2e22 2920 283f 2120 2e20 \; . ".") (?! . │ │ │ +00019370: 222e 2229 2929 0a20 2020 2020 2028 6d6f "."))). (mo │ │ │ +00019380: 6469 6679 2d73 796e 7461 782d 656e 7472 dify-syntax-entr │ │ │ +00019390: 7920 2863 6172 2063 7329 2028 6364 7220 y (car cs) (cdr │ │ │ +000193a0: 6373 2920 7462 6c29 290a 2020 2020 7462 cs) tbl)). tb │ │ │ +000193b0: 6c29 0a20 2022 5379 6e74 6178 2074 6162 l). "Syntax tab │ │ │ +000193c0: 6c65 2075 7365 6420 6279 2074 6865 2041 le used by the A │ │ │ +000193d0: 6764 6120 6d6f 6465 3a0a 0a2d 2020 207c gda mode:..- | │ │ │ +000193e0: 2043 6f6d 6d65 6e74 2063 6861 7261 6374 Comment charact │ │ │ +000193f0: 6572 2c20 776f 7264 2063 6f6e 7374 6974 er, word constit │ │ │ +00019400: 7565 6e74 2e0a 5c6e 2020 7c20 436f 6d6d uent..\n | Comm │ │ │ +00019410: 656e 7420 656e 6465 722e 0a2e 3b21 207c ent ender...;! | │ │ │ +00019420: 2050 756e 6374 7561 7469 6f6e 2e0a 0a52 Punctuation...R │ │ │ +00019430: 656d 6169 6e69 6e67 2063 6861 7261 6374 emaining charact │ │ │ +00019440: 6572 7320 696e 6865 7269 7420 7468 6569 ers inherit thei │ │ │ +00019450: 7220 7379 6e74 6178 2063 6c61 7373 6573 r syntax classes │ │ │ +00019460: 2066 726f 6d20 7468 650a 7374 616e 6461 from the.standa │ │ │ +00019470: 7264 2073 796e 7461 7820 7461 626c 6520 rd syntax table │ │ │ +00019480: 6966 2074 6861 7420 7461 626c 6520 7472 if that table tr │ │ │ +00019490: 6561 7473 2074 6865 6d20 6173 206d 6174 eats them as mat │ │ │ +000194a0: 6368 696e 670a 7061 7265 6e74 6865 7365 ching.parenthese │ │ │ +000194b0: 7320 6f72 2077 6869 7465 7370 6163 652e s or whitespace. │ │ │ +000194c0: 2020 4f74 6865 7277 6973 6520 7468 6579 Otherwise they │ │ │ +000194d0: 2061 7265 2074 7265 6174 6564 2061 7320 are treated as │ │ │ +000194e0: 776f 7264 0a63 6f6e 7374 6974 7565 6e74 word.constituent │ │ │ +000194f0: 732e 2229 0a0a 2864 6566 636f 6e73 7420 s.")..(defconst │ │ │ +00019500: 6167 6461 322d 636f 6d6d 616e 642d 7461 agda2-command-ta │ │ │ +00019510: 626c 650a 2020 6028 0a20 2020 2028 6167 ble. `(. (ag │ │ │ +00019520: 6461 322d 6c6f 6164 2020 2020 2020 2020 da2-load │ │ │ 00019530: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00019540: 2020 2020 2022 5c43 2d63 5c43 2d6c 2220 "\C-c\C-l" │ │ │ -00019550: 2020 2020 2020 2020 2020 2867 6c6f 6261 (globa │ │ │ -00019560: 6c29 2020 2020 2020 2022 4c6f 6164 2229 l) "Load") │ │ │ -00019570: 0a20 2020 2028 6167 6461 322d 6c6f 6164 . (agda2-load │ │ │ -00019580: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00019590: 2020 2020 2020 2020 2020 2020 2020 225c "\ │ │ │ -000195a0: 432d 635c 432d 785c 432d 6c22 290a 2020 C-c\C-x\C-l"). │ │ │ -000195b0: 2020 2861 6764 6132 2d63 6f6d 7069 6c65 (agda2-compile │ │ │ -000195c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -000195d0: 2020 2020 2020 2020 2020 2022 5c43 2d63 "\C-c │ │ │ -000195e0: 5c43 2d78 5c43 2d63 2220 2020 2020 2020 \C-x\C-c" │ │ │ -000195f0: 2867 6c6f 6261 6c29 2020 2020 2020 2022 (global) " │ │ │ -00019600: 436f 6d70 696c 6522 290a 2020 2020 2861 Compile"). (a │ │ │ -00019610: 6764 6132 2d62 6163 6b65 6e64 2d63 6d64 gda2-backend-cmd │ │ │ -00019620: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00019630: 2020 2020 2020 2022 5c43 2d63 5c43 2d69 "\C-c\C-i │ │ │ -00019640: 2220 2020 2020 2020 2020 2020 2867 6c6f " (glo │ │ │ -00019650: 6261 6c29 2020 2020 2020 2022 5275 6e20 bal) "Run │ │ │ -00019660: 6261 636b 656e 6420 696e 7465 7261 6374 backend interact │ │ │ -00019670: 696f 6e22 290a 2020 2020 2861 6764 6132 ion"). (agda2 │ │ │ -00019680: 2d71 7569 7420 2020 2020 2020 2020 2020 -quit │ │ │ +00019540: 2020 2020 2020 225c 432d 635c 432d 6c22 "\C-c\C-l" │ │ │ +00019550: 2020 2020 2020 2020 2020 2028 676c 6f62 (glob │ │ │ +00019560: 616c 2920 2020 2020 2020 224c 6f61 6422 al) "Load" │ │ │ +00019570: 290a 2020 2020 2861 6764 6132 2d6c 6f61 ). (agda2-loa │ │ │ +00019580: 6420 2020 2020 2020 2020 2020 2020 2020 d │ │ │ +00019590: 2020 2020 2020 2020 2020 2020 2020 2022 " │ │ │ +000195a0: 5c43 2d63 5c43 2d78 5c43 2d6c 2229 0a20 \C-c\C-x\C-l"). │ │ │ +000195b0: 2020 2028 6167 6461 322d 636f 6d70 696c (agda2-compil │ │ │ +000195c0: 6520 2020 2020 2020 2020 2020 2020 2020 e │ │ │ +000195d0: 2020 2020 2020 2020 2020 2020 225c 432d "\C- │ │ │ +000195e0: 635c 432d 785c 432d 6322 2020 2020 2020 c\C-x\C-c" │ │ │ +000195f0: 2028 676c 6f62 616c 2920 2020 2020 2020 (global) │ │ │ +00019600: 2243 6f6d 7069 6c65 2229 0a20 2020 2028 "Compile"). ( │ │ │ +00019610: 6167 6461 322d 6261 636b 656e 642d 636d agda2-backend-cm │ │ │ +00019620: 6420 2020 2020 2020 2020 2020 2020 2020 d │ │ │ +00019630: 2020 2020 2020 2020 225c 432d 635c 432d "\C-c\C- │ │ │ +00019640: 6922 2020 2020 2020 2020 2020 2028 676c i" (gl │ │ │ +00019650: 6f62 616c 2920 2020 2020 2020 2252 756e obal) "Run │ │ │ +00019660: 2062 6163 6b65 6e64 2069 6e74 6572 6163 backend interac │ │ │ +00019670: 7469 6f6e 2229 0a20 2020 2028 6167 6461 tion"). (agda │ │ │ +00019680: 322d 7175 6974 2020 2020 2020 2020 2020 2-quit │ │ │ 00019690: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -000196a0: 2020 2022 5c43 2d63 5c43 2d78 5c43 2d71 "\C-c\C-x\C-q │ │ │ -000196b0: 2220 2020 2020 2020 2867 6c6f 6261 6c29 " (global) │ │ │ -000196c0: 2020 2020 2020 2022 5175 6974 2229 0a20 "Quit"). │ │ │ -000196d0: 2020 2028 6167 6461 322d 7265 7374 6172 (agda2-restar │ │ │ -000196e0: 7420 2020 2020 2020 2020 2020 2020 2020 t │ │ │ -000196f0: 2020 2020 2020 2020 2020 2020 225c 432d "\C- │ │ │ -00019700: 635c 432d 785c 432d 7222 2020 2020 2020 c\C-x\C-r" │ │ │ -00019710: 2028 676c 6f62 616c 2920 2020 2020 2020 (global) │ │ │ -00019720: 224b 696c 6c20 616e 6420 7265 7374 6172 "Kill and restar │ │ │ -00019730: 7420 4167 6461 2229 0a20 2020 2028 6167 t Agda"). (ag │ │ │ -00019740: 6461 322d 6162 6f72 7420 2020 2020 2020 da2-abort │ │ │ +000196a0: 2020 2020 225c 432d 635c 432d 785c 432d "\C-c\C-x\C- │ │ │ +000196b0: 7122 2020 2020 2020 2028 676c 6f62 616c q" (global │ │ │ +000196c0: 2920 2020 2020 2020 2251 7569 7422 290a ) "Quit"). │ │ │ +000196d0: 2020 2020 2861 6764 6132 2d72 6573 7461 (agda2-resta │ │ │ +000196e0: 7274 2020 2020 2020 2020 2020 2020 2020 rt │ │ │ +000196f0: 2020 2020 2020 2020 2020 2020 2022 5c43 "\C │ │ │ +00019700: 2d63 5c43 2d78 5c43 2d72 2220 2020 2020 -c\C-x\C-r" │ │ │ +00019710: 2020 2867 6c6f 6261 6c29 2020 2020 2020 (global) │ │ │ +00019720: 2022 4b69 6c6c 2061 6e64 2072 6573 7461 "Kill and resta │ │ │ +00019730: 7274 2041 6764 6122 290a 2020 2020 2861 rt Agda"). (a │ │ │ +00019740: 6764 6132 2d61 626f 7274 2020 2020 2020 gda2-abort │ │ │ 00019750: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00019760: 2020 2020 2020 225c 432d 635c 432d 785c "\C-c\C-x\ │ │ │ -00019770: 432d 6122 2020 2020 2020 2028 676c 6f62 C-a" (glob │ │ │ -00019780: 616c 2920 2020 2020 2020 2241 626f 7274 al) "Abort │ │ │ -00019790: 2061 2063 6f6d 6d61 6e64 2229 0a20 2020 a command"). │ │ │ -000197a0: 2028 6167 6461 322d 7265 6d6f 7665 2d61 (agda2-remove-a │ │ │ -000197b0: 6e6e 6f74 6174 696f 6e73 2020 2020 2020 nnotations │ │ │ -000197c0: 2020 2020 2020 2020 2020 225c 432d 635c "\C-c\ │ │ │ -000197d0: 432d 785c 432d 6422 2020 2020 2020 2028 C-x\C-d" ( │ │ │ -000197e0: 676c 6f62 616c 2920 2020 2020 2020 2252 global) "R │ │ │ -000197f0: 656d 6f76 6520 676f 616c 7320 616e 6420 emove goals and │ │ │ -00019800: 6869 6768 6c69 6768 7469 6e67 2028 5c22 highlighting (\" │ │ │ -00019810: 6465 6163 7469 7661 7465 5c22 2922 290a deactivate\")"). │ │ │ -00019820: 2020 2020 2861 6764 6132 2d64 6973 706c (agda2-displ │ │ │ -00019830: 6179 2d69 6d70 6c69 6369 742d 6172 6775 ay-implicit-argu │ │ │ -00019840: 6d65 6e74 7320 2020 2020 2020 2022 5c43 ments "\C │ │ │ -00019850: 2d63 5c43 2d78 5c43 2d68 2220 2020 2020 -c\C-x\C-h" │ │ │ -00019860: 2020 2867 6c6f 6261 6c29 2020 2020 2020 (global) │ │ │ -00019870: 2022 546f 6767 6c65 2064 6973 706c 6179 "Toggle display │ │ │ -00019880: 206f 6620 6869 6464 656e 2061 7267 756d of hidden argum │ │ │ -00019890: 656e 7473 2229 0a20 2020 2028 6167 6461 ents"). (agda │ │ │ -000198a0: 322d 6469 7370 6c61 792d 6972 7265 6c65 2-display-irrele │ │ │ -000198b0: 7661 6e74 2d61 7267 756d 656e 7473 2020 vant-arguments │ │ │ -000198c0: 2020 2020 225c 432d 635c 432d 785c 432d "\C-c\C-x\C- │ │ │ -000198d0: 6922 2020 2020 2020 2028 676c 6f62 616c i" (global │ │ │ -000198e0: 2920 2020 2020 2020 2254 6f67 676c 6520 ) "Toggle │ │ │ -000198f0: 6469 7370 6c61 7920 6f66 2069 7272 656c display of irrel │ │ │ -00019900: 6576 616e 7420 6172 6775 6d65 6e74 7322 evant arguments" │ │ │ -00019910: 290a 2020 2020 2861 6764 6132 2d73 686f ). (agda2-sho │ │ │ -00019920: 772d 636f 6e73 7472 6169 6e74 7320 2020 w-constraints │ │ │ -00019930: 2020 2020 2020 2020 2020 2020 2020 202c , │ │ │ -00019940: 286b 6264 2022 432d 6320 432d 3d22 2920 (kbd "C-c C-=") │ │ │ -00019950: 2020 2020 2867 6c6f 6261 6c29 2020 2020 (global) │ │ │ -00019960: 2020 2022 5368 6f77 2063 6f6e 7374 7261 "Show constra │ │ │ -00019970: 696e 7473 2229 0a20 2020 2028 6167 6461 ints"). (agda │ │ │ -00019980: 322d 736f 6c76 652d 6d61 7962 652d 616c 2-solve-maybe-al │ │ │ -00019990: 6c20 2020 2020 2020 2020 2020 2020 2020 l │ │ │ -000199a0: 2020 2020 2c28 6b62 6420 2243 2d63 2043 ,(kbd "C-c C │ │ │ -000199b0: 2d73 2229 2020 2020 2028 6c6f 6361 6c20 -s") (local │ │ │ -000199c0: 676c 6f62 616c 2920 2253 6f6c 7665 2063 global) "Solve c │ │ │ -000199d0: 6f6e 7374 7261 696e 7473 2229 0a20 2020 onstraints"). │ │ │ -000199e0: 2028 6167 6461 322d 7368 6f77 2d67 6f61 (agda2-show-goa │ │ │ -000199f0: 6c73 2020 2020 2020 2020 2020 2020 2020 ls │ │ │ -00019a00: 2020 2020 2020 2020 2020 2c28 6b62 6420 ,(kbd │ │ │ -00019a10: 2243 2d63 2043 2d3f 2229 2020 2020 2028 "C-c C-?") ( │ │ │ -00019a20: 676c 6f62 616c 2920 2020 2020 2020 2253 global) "S │ │ │ -00019a30: 686f 7720 676f 616c 7322 290a 2020 2020 how goals"). │ │ │ -00019a40: 2861 6764 6132 2d6e 6578 742d 676f 616c (agda2-next-goal │ │ │ -00019a50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00019a60: 2020 2020 2020 2020 2022 5c43 2d63 5c43 "\C-c\C │ │ │ -00019a70: 2d66 2220 2020 2020 2020 2020 2020 2867 -f" (g │ │ │ -00019a80: 6c6f 6261 6c29 2020 2020 2020 2022 4e65 lobal) "Ne │ │ │ -00019a90: 7874 2067 6f61 6c22 2920 3b20 466f 7277 xt goal") ; Forw │ │ │ -00019aa0: 6172 642e 0a20 2020 2028 6167 6461 322d ard.. (agda2- │ │ │ -00019ab0: 7072 6576 696f 7573 2d67 6f61 6c20 2020 previous-goal │ │ │ +00019760: 2020 2020 2020 2022 5c43 2d63 5c43 2d78 "\C-c\C-x │ │ │ +00019770: 5c43 2d61 2220 2020 2020 2020 2867 6c6f \C-a" (glo │ │ │ +00019780: 6261 6c29 2020 2020 2020 2022 4162 6f72 bal) "Abor │ │ │ +00019790: 7420 6120 636f 6d6d 616e 6422 290a 2020 t a command"). │ │ │ +000197a0: 2020 2861 6764 6132 2d72 656d 6f76 652d (agda2-remove- │ │ │ +000197b0: 616e 6e6f 7461 7469 6f6e 7320 2020 2020 annotations │ │ │ +000197c0: 2020 2020 2020 2020 2020 2022 5c43 2d63 "\C-c │ │ │ +000197d0: 5c43 2d78 5c43 2d64 2220 2020 2020 2020 \C-x\C-d" │ │ │ +000197e0: 2867 6c6f 6261 6c29 2020 2020 2020 2022 (global) " │ │ │ +000197f0: 5265 6d6f 7665 2067 6f61 6c73 2061 6e64 Remove goals and │ │ │ +00019800: 2068 6967 686c 6967 6874 696e 6720 285c highlighting (\ │ │ │ +00019810: 2264 6561 6374 6976 6174 655c 2229 2229 "deactivate\")") │ │ │ +00019820: 0a20 2020 2028 6167 6461 322d 6469 7370 . (agda2-disp │ │ │ +00019830: 6c61 792d 696d 706c 6963 6974 2d61 7267 lay-implicit-arg │ │ │ +00019840: 756d 656e 7473 2020 2020 2020 2020 225c uments "\ │ │ │ +00019850: 432d 635c 432d 785c 432d 6822 2020 2020 C-c\C-x\C-h" │ │ │ +00019860: 2020 2028 676c 6f62 616c 2920 2020 2020 (global) │ │ │ +00019870: 2020 2254 6f67 676c 6520 6469 7370 6c61 "Toggle displa │ │ │ +00019880: 7920 6f66 2068 6964 6465 6e20 6172 6775 y of hidden argu │ │ │ +00019890: 6d65 6e74 7322 290a 2020 2020 2861 6764 ments"). (agd │ │ │ +000198a0: 6132 2d64 6973 706c 6179 2d69 7272 656c a2-display-irrel │ │ │ +000198b0: 6576 616e 742d 6172 6775 6d65 6e74 7320 evant-arguments │ │ │ +000198c0: 2020 2020 2022 5c43 2d63 5c43 2d78 5c43 "\C-c\C-x\C │ │ │ +000198d0: 2d69 2220 2020 2020 2020 2867 6c6f 6261 -i" (globa │ │ │ +000198e0: 6c29 2020 2020 2020 2022 546f 6767 6c65 l) "Toggle │ │ │ +000198f0: 2064 6973 706c 6179 206f 6620 6972 7265 display of irre │ │ │ +00019900: 6c65 7661 6e74 2061 7267 756d 656e 7473 levant arguments │ │ │ +00019910: 2229 0a20 2020 2028 6167 6461 322d 7368 "). (agda2-sh │ │ │ +00019920: 6f77 2d63 6f6e 7374 7261 696e 7473 2020 ow-constraints │ │ │ +00019930: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +00019940: 2c28 6b62 6420 2243 2d63 2043 2d3d 2229 ,(kbd "C-c C-=") │ │ │ +00019950: 2020 2020 2028 676c 6f62 616c 2920 2020 (global) │ │ │ +00019960: 2020 2020 2253 686f 7720 636f 6e73 7472 "Show constr │ │ │ +00019970: 6169 6e74 7322 290a 2020 2020 2861 6764 aints"). (agd │ │ │ +00019980: 6132 2d73 6f6c 7665 2d6d 6179 6265 2d61 a2-solve-maybe-a │ │ │ +00019990: 6c6c 2020 2020 2020 2020 2020 2020 2020 ll │ │ │ +000199a0: 2020 2020 202c 286b 6264 2022 432d 6320 ,(kbd "C-c │ │ │ +000199b0: 432d 7322 2920 2020 2020 286c 6f63 616c C-s") (local │ │ │ +000199c0: 2067 6c6f 6261 6c29 2022 536f 6c76 6520 global) "Solve │ │ │ +000199d0: 636f 6e73 7472 6169 6e74 7322 290a 2020 constraints"). │ │ │ +000199e0: 2020 2861 6764 6132 2d73 686f 772d 676f (agda2-show-go │ │ │ +000199f0: 616c 7320 2020 2020 2020 2020 2020 2020 als │ │ │ +00019a00: 2020 2020 2020 2020 2020 202c 286b 6264 ,(kbd │ │ │ +00019a10: 2022 432d 6320 432d 3f22 2920 2020 2020 "C-c C-?") │ │ │ +00019a20: 2867 6c6f 6261 6c29 2020 2020 2020 2022 (global) " │ │ │ +00019a30: 5368 6f77 2067 6f61 6c73 2229 0a20 2020 Show goals"). │ │ │ +00019a40: 2028 6167 6461 322d 6e65 7874 2d67 6f61 (agda2-next-goa │ │ │ +00019a50: 6c20 2020 2020 2020 2020 2020 2020 2020 l │ │ │ +00019a60: 2020 2020 2020 2020 2020 225c 432d 635c "\C-c\ │ │ │ +00019a70: 432d 6622 2020 2020 2020 2020 2020 2028 C-f" ( │ │ │ +00019a80: 676c 6f62 616c 2920 2020 2020 2020 224e global) "N │ │ │ +00019a90: 6578 7420 676f 616c 2229 203b 2046 6f72 ext goal") ; For │ │ │ +00019aa0: 7761 7264 2e0a 2020 2020 2861 6764 6132 ward.. (agda2 │ │ │ +00019ab0: 2d70 7265 7669 6f75 732d 676f 616c 2020 -previous-goal │ │ │ 00019ac0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00019ad0: 2020 225c 432d 635c 432d 6222 2020 2020 "\C-c\C-b" │ │ │ -00019ae0: 2020 2020 2020 2028 676c 6f62 616c 2920 (global) │ │ │ -00019af0: 2020 2020 2020 2250 7265 7669 6f75 7320 "Previous │ │ │ -00019b00: 676f 616c 2229 203b 2042 6163 6b2e 0a20 goal") ; Back.. │ │ │ -00019b10: 2020 2028 6167 6461 322d 6769 7665 2020 (agda2-give │ │ │ +00019ad0: 2020 2022 5c43 2d63 5c43 2d62 2220 2020 "\C-c\C-b" │ │ │ +00019ae0: 2020 2020 2020 2020 2867 6c6f 6261 6c29 (global) │ │ │ +00019af0: 2020 2020 2020 2022 5072 6576 696f 7573 "Previous │ │ │ +00019b00: 2067 6f61 6c22 2920 3b20 4261 636b 2e0a goal") ; Back.. │ │ │ +00019b10: 2020 2020 2861 6764 6132 2d67 6976 6520 (agda2-give │ │ │ 00019b20: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00019b30: 2020 2020 2020 2020 2020 2020 2c28 6b62 ,(kb │ │ │ -00019b40: 6420 2243 2d63 2043 2d53 5043 2229 2020 d "C-c C-SPC") │ │ │ -00019b50: 2028 6c6f 6361 6c29 2020 2020 2020 2020 (local) │ │ │ -00019b60: 2247 6976 6522 290a 2020 2020 2861 6764 "Give"). (agd │ │ │ -00019b70: 6132 2d65 6c61 626f 7261 7465 2d67 6976 a2-elaborate-giv │ │ │ -00019b80: 6520 2020 2020 2020 2020 2020 2020 2020 e │ │ │ -00019b90: 2020 2020 202c 286b 6264 2022 432d 6320 ,(kbd "C-c │ │ │ -00019ba0: 432d 6d22 2920 2020 2020 286c 6f63 616c C-m") (local │ │ │ -00019bb0: 2920 2020 2020 2020 2022 456c 6162 6f72 ) "Elabor │ │ │ -00019bc0: 6174 6520 616e 6420 4769 7665 2229 0a20 ate and Give"). │ │ │ -00019bd0: 2020 2028 6167 6461 322d 7265 6669 6e65 (agda2-refine │ │ │ -00019be0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00019bf0: 2020 2020 2020 2020 2020 2020 225c 432d "\C- │ │ │ -00019c00: 635c 432d 7222 2020 2020 2020 2020 2020 c\C-r" │ │ │ -00019c10: 2028 6c6f 6361 6c29 2020 2020 2020 2020 (local) │ │ │ -00019c20: 2252 6566 696e 6522 290a 2020 2020 2861 "Refine"). (a │ │ │ -00019c30: 6764 6132 2d6d 696d 6572 2d6d 6179 6265 gda2-mimer-maybe │ │ │ -00019c40: 2d61 6c6c 2020 2020 2020 2020 2020 2020 -all │ │ │ -00019c50: 2020 2020 2020 2022 5c43 2d63 5c43 2d61 "\C-c\C-a │ │ │ -00019c60: 2220 2020 2020 2020 2020 2020 286c 6f63 " (loc │ │ │ -00019c70: 616c 2067 6c6f 6261 6c29 2022 4175 746f al global) "Auto │ │ │ -00019c80: 2229 0a20 2020 2028 6167 6461 322d 6d61 "). (agda2-ma │ │ │ -00019c90: 6b65 2d63 6173 6520 2020 2020 2020 2020 ke-case │ │ │ +00019b30: 2020 2020 2020 2020 2020 2020 202c 286b ,(k │ │ │ +00019b40: 6264 2022 432d 6320 432d 5350 4322 2920 bd "C-c C-SPC") │ │ │ +00019b50: 2020 286c 6f63 616c 2920 2020 2020 2020 (local) │ │ │ +00019b60: 2022 4769 7665 2229 0a20 2020 2028 6167 "Give"). (ag │ │ │ +00019b70: 6461 322d 656c 6162 6f72 6174 652d 6769 da2-elaborate-gi │ │ │ +00019b80: 7665 2020 2020 2020 2020 2020 2020 2020 ve │ │ │ +00019b90: 2020 2020 2020 2c28 6b62 6420 2243 2d63 ,(kbd "C-c │ │ │ +00019ba0: 2043 2d6d 2229 2020 2020 2028 6c6f 6361 C-m") (loca │ │ │ +00019bb0: 6c29 2020 2020 2020 2020 2245 6c61 626f l) "Elabo │ │ │ +00019bc0: 7261 7465 2061 6e64 2047 6976 6522 290a rate and Give"). │ │ │ +00019bd0: 2020 2020 2861 6764 6132 2d72 6566 696e (agda2-refin │ │ │ +00019be0: 6520 2020 2020 2020 2020 2020 2020 2020 e │ │ │ +00019bf0: 2020 2020 2020 2020 2020 2020 2022 5c43 "\C │ │ │ +00019c00: 2d63 5c43 2d72 2220 2020 2020 2020 2020 -c\C-r" │ │ │ +00019c10: 2020 286c 6f63 616c 2920 2020 2020 2020 (local) │ │ │ +00019c20: 2022 5265 6669 6e65 2229 0a20 2020 2028 "Refine"). ( │ │ │ +00019c30: 6167 6461 322d 6d69 6d65 722d 6d61 7962 agda2-mimer-mayb │ │ │ +00019c40: 652d 616c 6c20 2020 2020 2020 2020 2020 e-all │ │ │ +00019c50: 2020 2020 2020 2020 225c 432d 635c 432d "\C-c\C- │ │ │ +00019c60: 6122 2020 2020 2020 2020 2020 2028 6c6f a" (lo │ │ │ +00019c70: 6361 6c20 676c 6f62 616c 2920 2241 7574 cal global) "Aut │ │ │ +00019c80: 6f22 290a 2020 2020 2861 6764 6132 2d6d o"). (agda2-m │ │ │ +00019c90: 616b 652d 6361 7365 2020 2020 2020 2020 ake-case │ │ │ 00019ca0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00019cb0: 225c 432d 635c 432d 6322 2020 2020 2020 "\C-c\C-c" │ │ │ -00019cc0: 2020 2020 2028 6c6f 6361 6c29 2020 2020 (local) │ │ │ -00019cd0: 2020 2020 2243 6173 6522 290a 2020 2020 "Case"). │ │ │ -00019ce0: 2861 6764 6132 2d67 6f61 6c2d 7479 7065 (agda2-goal-type │ │ │ -00019cf0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00019d00: 2020 2020 2020 2020 2022 5c43 2d63 5c43 "\C-c\C │ │ │ -00019d10: 2d74 2220 2020 2020 2020 2020 2020 286c -t" (l │ │ │ -00019d20: 6f63 616c 2920 2020 2020 2020 2022 476f ocal) "Go │ │ │ -00019d30: 616c 2074 7970 6522 290a 2020 2020 2861 al type"). (a │ │ │ -00019d40: 6764 6132 2d73 686f 772d 636f 6e74 6578 gda2-show-contex │ │ │ -00019d50: 7420 2020 2020 2020 2020 2020 2020 2020 t │ │ │ -00019d60: 2020 2020 2020 2022 5c43 2d63 5c43 2d65 "\C-c\C-e │ │ │ -00019d70: 2220 2020 2020 2020 2020 2020 286c 6f63 " (loc │ │ │ -00019d80: 616c 2920 2020 2020 2020 2022 436f 6e74 al) "Cont │ │ │ -00019d90: 6578 7420 2865 6e76 6972 6f6e 6d65 6e74 ext (environment │ │ │ -00019da0: 2922 290a 2020 2020 2861 6764 6132 2d68 )"). (agda2-h │ │ │ -00019db0: 656c 7065 722d 6675 6e63 7469 6f6e 2d74 elper-function-t │ │ │ -00019dc0: 7970 6520 2020 2020 2020 2020 2020 2020 ype │ │ │ -00019dd0: 2022 5c43 2d63 5c43 2d68 2220 2020 2020 "\C-c\C-h" │ │ │ -00019de0: 2020 2020 2020 286c 6f63 616c 2920 2020 (local) │ │ │ -00019df0: 2020 2020 2022 4865 6c70 6572 2066 756e "Helper fun │ │ │ -00019e00: 6374 696f 6e20 7479 7065 2229 0a20 2020 ction type"). │ │ │ -00019e10: 2028 6167 6461 322d 696e 6665 722d 7479 (agda2-infer-ty │ │ │ -00019e20: 7065 2d6d 6179 6265 2d74 6f70 6c65 7665 pe-maybe-topleve │ │ │ -00019e30: 6c20 2020 2020 2020 2020 225c 432d 635c l "\C-c\ │ │ │ -00019e40: 432d 6422 2020 2020 2020 2020 2020 2028 C-d" ( │ │ │ -00019e50: 6c6f 6361 6c20 676c 6f62 616c 2920 2249 local global) "I │ │ │ -00019e60: 6e66 6572 2028 6465 6475 6365 2920 7479 nfer (deduce) ty │ │ │ -00019e70: 7065 2229 0a20 2020 2028 6167 6461 322d pe"). (agda2- │ │ │ -00019e80: 7768 792d 696e 2d73 636f 7065 2d6d 6179 why-in-scope-may │ │ │ -00019e90: 6265 2d74 6f70 6c65 7665 6c20 2020 2020 be-toplevel │ │ │ -00019ea0: 2020 225c 432d 635c 432d 7722 2020 2020 "\C-c\C-w" │ │ │ -00019eb0: 2020 2020 2020 2028 6c6f 6361 6c20 676c (local gl │ │ │ -00019ec0: 6f62 616c 2920 2245 7870 6c61 696e 2077 obal) "Explain w │ │ │ -00019ed0: 6879 2061 2070 6172 7469 6375 6c61 7220 hy a particular │ │ │ -00019ee0: 6e61 6d65 2069 7320 696e 2073 636f 7065 name is in scope │ │ │ -00019ef0: 2229 0a20 2020 2028 6167 6461 322d 676f "). (agda2-go │ │ │ -00019f00: 616c 2d61 6e64 2d63 6f6e 7465 7874 2020 al-and-context │ │ │ +00019cb0: 2022 5c43 2d63 5c43 2d63 2220 2020 2020 "\C-c\C-c" │ │ │ +00019cc0: 2020 2020 2020 286c 6f63 616c 2920 2020 (local) │ │ │ +00019cd0: 2020 2020 2022 4361 7365 2229 0a20 2020 "Case"). │ │ │ +00019ce0: 2028 6167 6461 322d 676f 616c 2d74 7970 (agda2-goal-typ │ │ │ +00019cf0: 6520 2020 2020 2020 2020 2020 2020 2020 e │ │ │ +00019d00: 2020 2020 2020 2020 2020 225c 432d 635c "\C-c\ │ │ │ +00019d10: 432d 7422 2020 2020 2020 2020 2020 2028 C-t" ( │ │ │ +00019d20: 6c6f 6361 6c29 2020 2020 2020 2020 2247 local) "G │ │ │ +00019d30: 6f61 6c20 7479 7065 2229 0a20 2020 2028 oal type"). ( │ │ │ +00019d40: 6167 6461 322d 7368 6f77 2d63 6f6e 7465 agda2-show-conte │ │ │ +00019d50: 7874 2020 2020 2020 2020 2020 2020 2020 xt │ │ │ +00019d60: 2020 2020 2020 2020 225c 432d 635c 432d "\C-c\C- │ │ │ +00019d70: 6522 2020 2020 2020 2020 2020 2028 6c6f e" (lo │ │ │ +00019d80: 6361 6c29 2020 2020 2020 2020 2243 6f6e cal) "Con │ │ │ +00019d90: 7465 7874 2028 656e 7669 726f 6e6d 656e text (environmen │ │ │ +00019da0: 7429 2229 0a20 2020 2028 6167 6461 322d t)"). (agda2- │ │ │ +00019db0: 6865 6c70 6572 2d66 756e 6374 696f 6e2d helper-function- │ │ │ +00019dc0: 7479 7065 2020 2020 2020 2020 2020 2020 type │ │ │ +00019dd0: 2020 225c 432d 635c 432d 6822 2020 2020 "\C-c\C-h" │ │ │ +00019de0: 2020 2020 2020 2028 6c6f 6361 6c29 2020 (local) │ │ │ +00019df0: 2020 2020 2020 2248 656c 7065 7220 6675 "Helper fu │ │ │ +00019e00: 6e63 7469 6f6e 2074 7970 6522 290a 2020 nction type"). │ │ │ +00019e10: 2020 2861 6764 6132 2d69 6e66 6572 2d74 (agda2-infer-t │ │ │ +00019e20: 7970 652d 6d61 7962 652d 746f 706c 6576 ype-maybe-toplev │ │ │ +00019e30: 656c 2020 2020 2020 2020 2022 5c43 2d63 el "\C-c │ │ │ +00019e40: 5c43 2d64 2220 2020 2020 2020 2020 2020 \C-d" │ │ │ +00019e50: 286c 6f63 616c 2067 6c6f 6261 6c29 2022 (local global) " │ │ │ +00019e60: 496e 6665 7220 2864 6564 7563 6529 2074 Infer (deduce) t │ │ │ +00019e70: 7970 6522 290a 2020 2020 2861 6764 6132 ype"). (agda2 │ │ │ +00019e80: 2d77 6879 2d69 6e2d 7363 6f70 652d 6d61 -why-in-scope-ma │ │ │ +00019e90: 7962 652d 746f 706c 6576 656c 2020 2020 ybe-toplevel │ │ │ +00019ea0: 2020 2022 5c43 2d63 5c43 2d77 2220 2020 "\C-c\C-w" │ │ │ +00019eb0: 2020 2020 2020 2020 286c 6f63 616c 2067 (local g │ │ │ +00019ec0: 6c6f 6261 6c29 2022 4578 706c 6169 6e20 lobal) "Explain │ │ │ +00019ed0: 7768 7920 6120 7061 7274 6963 756c 6172 why a particular │ │ │ +00019ee0: 206e 616d 6520 6973 2069 6e20 7363 6f70 name is in scop │ │ │ +00019ef0: 6522 290a 2020 2020 2861 6764 6132 2d67 e"). (agda2-g │ │ │ +00019f00: 6f61 6c2d 616e 642d 636f 6e74 6578 7420 oal-and-context │ │ │ 00019f10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00019f20: 2c28 6b62 6420 2243 2d63 2043 2d2c 2229 ,(kbd "C-c C-,") │ │ │ -00019f30: 2020 2020 2028 6c6f 6361 6c29 2020 2020 (local) │ │ │ -00019f40: 2020 2020 2247 6f61 6c20 7479 7065 2061 "Goal type a │ │ │ -00019f50: 6e64 2063 6f6e 7465 7874 2229 0a20 2020 nd context"). │ │ │ -00019f60: 2028 6167 6461 322d 676f 616c 2d61 6e64 (agda2-goal-and │ │ │ -00019f70: 2d63 6f6e 7465 7874 2d61 6e64 2d69 6e66 -context-and-inf │ │ │ -00019f80: 6572 7265 6420 2020 2020 2c28 6b62 6420 erred ,(kbd │ │ │ -00019f90: 2243 2d63 2043 2d2e 2229 2020 2020 2028 "C-c C-.") ( │ │ │ -00019fa0: 6c6f 6361 6c29 2020 2020 2020 2020 2247 local) "G │ │ │ -00019fb0: 6f61 6c20 7479 7065 2c20 636f 6e74 6578 oal type, contex │ │ │ -00019fc0: 7420 616e 6420 696e 6665 7272 6564 2074 t and inferred t │ │ │ -00019fd0: 7970 6522 290a 2020 2020 2861 6764 6132 ype"). (agda2 │ │ │ -00019fe0: 2d67 6f61 6c2d 616e 642d 636f 6e74 6578 -goal-and-contex │ │ │ -00019ff0: 742d 616e 642d 6368 6563 6b65 6420 2020 t-and-checked │ │ │ -0001a000: 2020 202c 286b 6264 2022 432d 6320 432d ,(kbd "C-c C- │ │ │ -0001a010: 3b22 2920 2020 2020 286c 6f63 616c 2920 ;") (local) │ │ │ -0001a020: 2020 2020 2020 2022 476f 616c 2074 7970 "Goal typ │ │ │ -0001a030: 652c 2063 6f6e 7465 7874 2061 6e64 2063 e, context and c │ │ │ -0001a040: 6865 636b 6564 2074 7970 6522 290a 2020 hecked type"). │ │ │ -0001a050: 2020 2861 6764 6132 2d73 6561 7263 682d (agda2-search- │ │ │ -0001a060: 6162 6f75 742d 746f 706c 6576 656c 2020 about-toplevel │ │ │ -0001a070: 2020 2020 2020 2020 2020 202c 286b 6264 ,(kbd │ │ │ -0001a080: 2022 432d 6320 432d 7a22 2920 2020 2020 "C-c C-z") │ │ │ -0001a090: 286c 6f63 616c 2067 6c6f 6261 6c29 2022 (local global) " │ │ │ -0001a0a0: 5365 6172 6368 2041 626f 7574 2229 0a20 Search About"). │ │ │ -0001a0b0: 2020 2028 6167 6461 322d 6d6f 6475 6c65 (agda2-module │ │ │ -0001a0c0: 2d63 6f6e 7465 6e74 732d 6d61 7962 652d -contents-maybe- │ │ │ -0001a0d0: 746f 706c 6576 656c 2020 2020 2c28 6b62 toplevel ,(kb │ │ │ -0001a0e0: 6420 2243 2d63 2043 2d6f 2229 2020 2020 d "C-c C-o") │ │ │ -0001a0f0: 2028 6c6f 6361 6c20 676c 6f62 616c 2920 (local global) │ │ │ -0001a100: 224d 6f64 756c 6520 636f 6e74 656e 7473 "Module contents │ │ │ -0001a110: 2229 0a20 2020 2028 6167 6461 322d 636f "). (agda2-co │ │ │ -0001a120: 6d70 7574 652d 6e6f 726d 616c 6973 6564 mpute-normalised │ │ │ -0001a130: 2d6d 6179 6265 2d74 6f70 6c65 7665 6c20 -maybe-toplevel │ │ │ -0001a140: 225c 432d 635c 432d 6e22 2020 2020 2020 "\C-c\C-n" │ │ │ -0001a150: 2020 2020 2028 6c6f 6361 6c20 676c 6f62 (local glob │ │ │ -0001a160: 616c 2920 2245 7661 6c75 6174 6520 7465 al) "Evaluate te │ │ │ -0001a170: 726d 2074 6f20 6e6f 726d 616c 2066 6f72 rm to normal for │ │ │ -0001a180: 6d22 290a 2020 2020 2864 6573 6372 6962 m"). (describ │ │ │ -0001a190: 652d 6368 6172 2020 2020 2020 2020 2020 e-char │ │ │ +00019f20: 202c 286b 6264 2022 432d 6320 432d 2c22 ,(kbd "C-c C-," │ │ │ +00019f30: 2920 2020 2020 286c 6f63 616c 2920 2020 ) (local) │ │ │ +00019f40: 2020 2020 2022 476f 616c 2074 7970 6520 "Goal type │ │ │ +00019f50: 616e 6420 636f 6e74 6578 7422 290a 2020 and context"). │ │ │ +00019f60: 2020 2861 6764 6132 2d67 6f61 6c2d 616e (agda2-goal-an │ │ │ +00019f70: 642d 636f 6e74 6578 742d 616e 642d 696e d-context-and-in │ │ │ +00019f80: 6665 7272 6564 2020 2020 202c 286b 6264 ferred ,(kbd │ │ │ +00019f90: 2022 432d 6320 432d 2e22 2920 2020 2020 "C-c C-.") │ │ │ +00019fa0: 286c 6f63 616c 2920 2020 2020 2020 2022 (local) " │ │ │ +00019fb0: 476f 616c 2074 7970 652c 2063 6f6e 7465 Goal type, conte │ │ │ +00019fc0: 7874 2061 6e64 2069 6e66 6572 7265 6420 xt and inferred │ │ │ +00019fd0: 7479 7065 2229 0a20 2020 2028 6167 6461 type"). (agda │ │ │ +00019fe0: 322d 676f 616c 2d61 6e64 2d63 6f6e 7465 2-goal-and-conte │ │ │ +00019ff0: 7874 2d61 6e64 2d63 6865 636b 6564 2020 xt-and-checked │ │ │ +0001a000: 2020 2020 2c28 6b62 6420 2243 2d63 2043 ,(kbd "C-c C │ │ │ +0001a010: 2d3b 2229 2020 2020 2028 6c6f 6361 6c29 -;") (local) │ │ │ +0001a020: 2020 2020 2020 2020 2247 6f61 6c20 7479 "Goal ty │ │ │ +0001a030: 7065 2c20 636f 6e74 6578 7420 616e 6420 pe, context and │ │ │ +0001a040: 6368 6563 6b65 6420 7479 7065 2229 0a20 checked type"). │ │ │ +0001a050: 2020 2028 6167 6461 322d 7365 6172 6368 (agda2-search │ │ │ +0001a060: 2d61 626f 7574 2d74 6f70 6c65 7665 6c20 -about-toplevel │ │ │ +0001a070: 2020 2020 2020 2020 2020 2020 2c28 6b62 ,(kb │ │ │ +0001a080: 6420 2243 2d63 2043 2d7a 2229 2020 2020 d "C-c C-z") │ │ │ +0001a090: 2028 6c6f 6361 6c20 676c 6f62 616c 2920 (local global) │ │ │ +0001a0a0: 2253 6561 7263 6820 4162 6f75 7422 290a "Search About"). │ │ │ +0001a0b0: 2020 2020 2861 6764 6132 2d6d 6f64 756c (agda2-modul │ │ │ +0001a0c0: 652d 636f 6e74 656e 7473 2d6d 6179 6265 e-contents-maybe │ │ │ +0001a0d0: 2d74 6f70 6c65 7665 6c20 2020 202c 286b -toplevel ,(k │ │ │ +0001a0e0: 6264 2022 432d 6320 432d 6f22 2920 2020 bd "C-c C-o") │ │ │ +0001a0f0: 2020 286c 6f63 616c 2067 6c6f 6261 6c29 (local global) │ │ │ +0001a100: 2022 4d6f 6475 6c65 2063 6f6e 7465 6e74 "Module content │ │ │ +0001a110: 7322 290a 2020 2020 2861 6764 6132 2d63 s"). (agda2-c │ │ │ +0001a120: 6f6d 7075 7465 2d6e 6f72 6d61 6c69 7365 ompute-normalise │ │ │ +0001a130: 642d 6d61 7962 652d 746f 706c 6576 656c d-maybe-toplevel │ │ │ +0001a140: 2022 5c43 2d63 5c43 2d6e 2220 2020 2020 "\C-c\C-n" │ │ │ +0001a150: 2020 2020 2020 286c 6f63 616c 2067 6c6f (local glo │ │ │ +0001a160: 6261 6c29 2022 4576 616c 7561 7465 2074 bal) "Evaluate t │ │ │ +0001a170: 6572 6d20 746f 206e 6f72 6d61 6c20 666f erm to normal fo │ │ │ +0001a180: 726d 2229 0a20 2020 2028 6465 7363 7269 rm"). (descri │ │ │ +0001a190: 6265 2d63 6861 7220 2020 2020 2020 2020 be-char │ │ │ 0001a1a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0001a1b0: 206e 696c 2020 2020 2020 2020 2020 2020 nil │ │ │ -0001a1c0: 2020 2020 2020 2867 6c6f 6261 6c29 2020 (global) │ │ │ -0001a1d0: 2020 2020 2022 496e 666f 726d 6174 696f "Informatio │ │ │ -0001a1e0: 6e20 6162 6f75 7420 7468 6520 6368 6172 n about the char │ │ │ -0001a1f0: 6163 7465 7220 6174 2070 6f69 6e74 2229 acter at point") │ │ │ -0001a200: 0a20 2020 2028 6167 6461 322d 636f 6d6d . (agda2-comm │ │ │ -0001a210: 656e 742d 6477 696d 2d72 6573 742d 6f66 ent-dwim-rest-of │ │ │ -0001a220: 2d62 7566 6665 7220 2020 2020 2020 2c28 -buffer ,( │ │ │ -0001a230: 6b62 6420 2243 2d63 2043 2d78 204d 2d3b kbd "C-c C-x M-; │ │ │ -0001a240: 2229 2028 676c 6f62 616c 2920 2020 2020 ") (global) │ │ │ -0001a250: 2020 2243 6f6d 6d65 6e74 2f75 6e63 6f6d "Comment/uncom │ │ │ -0001a260: 6d65 6e74 2074 6865 2072 6573 7420 6f66 ment the rest of │ │ │ -0001a270: 2074 6865 2062 7566 6665 7222 290a 2020 the buffer"). │ │ │ -0001a280: 2020 2861 6764 6132 2d64 6973 706c 6179 (agda2-display │ │ │ -0001a290: 2d70 726f 6772 616d 2d76 6572 7369 6f6e -program-version │ │ │ -0001a2a0: 2020 2020 2020 2020 2020 206e 696c 2020 nil │ │ │ +0001a1b0: 2020 6e69 6c20 2020 2020 2020 2020 2020 nil │ │ │ +0001a1c0: 2020 2020 2020 2028 676c 6f62 616c 2920 (global) │ │ │ +0001a1d0: 2020 2020 2020 2249 6e66 6f72 6d61 7469 "Informati │ │ │ +0001a1e0: 6f6e 2061 626f 7574 2074 6865 2063 6861 on about the cha │ │ │ +0001a1f0: 7261 6374 6572 2061 7420 706f 696e 7422 racter at point" │ │ │ +0001a200: 290a 2020 2020 2861 6764 6132 2d63 6f6d ). (agda2-com │ │ │ +0001a210: 6d65 6e74 2d64 7769 6d2d 7265 7374 2d6f ment-dwim-rest-o │ │ │ +0001a220: 662d 6275 6666 6572 2020 2020 2020 202c f-buffer , │ │ │ +0001a230: 286b 6264 2022 432d 6320 432d 7820 4d2d (kbd "C-c C-x M- │ │ │ +0001a240: 3b22 2920 2867 6c6f 6261 6c29 2020 2020 ;") (global) │ │ │ +0001a250: 2020 2022 436f 6d6d 656e 742f 756e 636f "Comment/unco │ │ │ +0001a260: 6d6d 656e 7420 7468 6520 7265 7374 206f mment the rest o │ │ │ +0001a270: 6620 7468 6520 6275 6666 6572 2229 0a20 f the buffer"). │ │ │ +0001a280: 2020 2028 6167 6461 322d 6469 7370 6c61 (agda2-displa │ │ │ +0001a290: 792d 7072 6f67 7261 6d2d 7665 7273 696f y-program-versio │ │ │ +0001a2a0: 6e20 2020 2020 2020 2020 2020 6e69 6c20 n nil │ │ │ 0001a2b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0001a2c0: 2867 6c6f 6261 6c29 2020 2020 2020 2022 (global) " │ │ │ -0001a2d0: 5665 7273 696f 6e22 290a 2020 2020 2861 Version"). (a │ │ │ -0001a2e0: 6764 6132 2d73 6574 2d70 726f 6772 616d gda2-set-program │ │ │ -0001a2f0: 2d76 6572 7369 6f6e 2020 2020 2020 2020 -version │ │ │ -0001a300: 2020 2020 2020 2022 5c43 2d63 5c43 2d78 "\C-c\C-x │ │ │ -0001a310: 5c43 2d73 2220 2020 2020 2020 2867 6c6f \C-s" (glo │ │ │ -0001a320: 6261 6c29 2020 2020 2020 2022 5377 6974 bal) "Swit │ │ │ -0001a330: 6368 2074 6f20 616e 6f74 6865 7220 7665 ch to another ve │ │ │ -0001a340: 7273 696f 6e20 6f66 2041 6764 6122 290a rsion of Agda"). │ │ │ -0001a350: 2020 2020 2865 7269 2d69 6e64 656e 7420 (eri-indent │ │ │ +0001a2c0: 2028 676c 6f62 616c 2920 2020 2020 2020 (global) │ │ │ +0001a2d0: 2256 6572 7369 6f6e 2229 0a20 2020 2028 "Version"). ( │ │ │ +0001a2e0: 6167 6461 322d 7365 742d 7072 6f67 7261 agda2-set-progra │ │ │ +0001a2f0: 6d2d 7665 7273 696f 6e20 2020 2020 2020 m-version │ │ │ +0001a300: 2020 2020 2020 2020 225c 432d 635c 432d "\C-c\C- │ │ │ +0001a310: 785c 432d 7322 2020 2020 2020 2028 676c x\C-s" (gl │ │ │ +0001a320: 6f62 616c 2920 2020 2020 2020 2253 7769 obal) "Swi │ │ │ +0001a330: 7463 6820 746f 2061 6e6f 7468 6572 2076 tch to another v │ │ │ +0001a340: 6572 7369 6f6e 206f 6620 4167 6461 2229 ersion of Agda") │ │ │ +0001a350: 0a20 2020 2028 6572 692d 696e 6465 6e74 . (eri-indent │ │ │ 0001a360: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0001a370: 202c 286b 6264 2022 5441 4222 2929 0a20 ,(kbd "TAB")). │ │ │ -0001a380: 2020 2028 6572 692d 696e 6465 6e74 2d72 (eri-indent-r │ │ │ -0001a390: 6576 6572 7365 2020 2020 2020 2020 2020 everse │ │ │ -0001a3a0: 5b53 2d69 736f 2d6c 6566 7474 6162 5d29 [S-iso-lefttab]) │ │ │ -0001a3b0: 0a20 2020 2028 6572 692d 696e 6465 6e74 . (eri-indent │ │ │ -0001a3c0: 2d72 6576 6572 7365 2020 2020 2020 2020 -reverse │ │ │ -0001a3d0: 2020 5b53 2d6c 6566 7474 6162 5d29 0a20 [S-lefttab]). │ │ │ -0001a3e0: 2020 2028 6572 692d 696e 6465 6e74 2d72 (eri-indent-r │ │ │ -0001a3f0: 6576 6572 7365 2020 2020 2020 2020 2020 everse │ │ │ -0001a400: 5b53 2d74 6162 5d29 0a20 2020 2028 6167 [S-tab]). (ag │ │ │ -0001a410: 6461 322d 676f 746f 2d64 6566 696e 6974 da2-goto-definit │ │ │ -0001a420: 696f 6e2d 6d6f 7573 6520 5b6d 6f75 7365 ion-mouse [mouse │ │ │ -0001a430: 2d32 5d29 0a20 2020 2028 6167 6461 322d -2]). (agda2- │ │ │ -0001a440: 676f 746f 2d64 6566 696e 6974 696f 6e2d goto-definition- │ │ │ -0001a450: 6b65 7962 6f61 7264 2022 5c4d 2d2e 2229 keyboard "\M-.") │ │ │ -0001a460: 0a20 2020 2028 6167 6461 322d 676f 2d62 . (agda2-go-b │ │ │ -0001a470: 6163 6b20 2020 2020 2020 2020 2020 2020 ack │ │ │ -0001a480: 2020 2020 202c 2869 6620 2876 6572 7369 ,(if (versi │ │ │ -0001a490: 6f6e 3c20 656d 6163 732d 7665 7273 696f on< emacs-versio │ │ │ -0001a4a0: 6e20 2232 352e 3122 2920 225c 4d2d 2a22 n "25.1") "\M-*" │ │ │ -0001a4b0: 2022 5c4d 2d2c 2229 290a 2020 2020 290a "\M-,")). ). │ │ │ -0001a4c0: 2020 2254 6162 6c65 206f 6620 636f 6d6d "Table of comm │ │ │ -0001a4d0: 616e 6473 2c20 7573 6564 2074 6f20 6275 ands, used to bu │ │ │ -0001a4e0: 696c 6420 6b65 796d 6170 7320 616e 6420 ild keymaps and │ │ │ -0001a4f0: 6d65 6e75 732e 0a45 6163 6820 656c 656d menus..Each elem │ │ │ -0001a500: 656e 7420 6861 7320 7468 6520 666f 726d ent has the form │ │ │ -0001a510: 2028 434d 4420 266f 7074 696f 6e61 6c20 (CMD &optional │ │ │ -0001a520: 4b45 5953 2057 4845 5245 2044 4553 4329 KEYS WHERE DESC) │ │ │ -0001a530: 2077 6865 7265 0a43 4d44 2069 7320 6120 where.CMD is a │ │ │ -0001a540: 636f 6d6d 616e 643b 204b 4559 5320 6973 command; KEYS is │ │ │ -0001a550: 2069 7473 206b 6579 2062 696e 6469 6e67 its key binding │ │ │ -0001a560: 2028 6966 2061 6e79 293b 2057 4845 5245 (if any); WHERE │ │ │ -0001a570: 2069 7320 610a 6c69 7374 2077 6869 6368 is a.list which │ │ │ -0001a580: 2073 686f 756c 6420 636f 6e74 6169 6e20 should contain │ │ │ -0001a590: 5c5c 3d27 6c6f 6361 6c20 6966 2074 6865 \\='local if the │ │ │ -0001a5a0: 2063 6f6d 6d61 6e64 2073 686f 756c 6420 command should │ │ │ -0001a5b0: 6578 6973 7420 696e 0a74 6865 2067 6f61 exist in.the goa │ │ │ -0001a5c0: 6c20 6d65 6e75 2061 6e64 205c 5c3d 2767 l menu and \\='g │ │ │ -0001a5d0: 6c6f 6261 6c20 6966 2074 6865 2063 6f6d lobal if the com │ │ │ -0001a5e0: 6d61 6e64 2073 686f 756c 6420 6578 6973 mand should exis │ │ │ -0001a5f0: 7420 696e 2074 6865 206d 6169 6e0a 6d65 t in the main.me │ │ │ -0001a600: 6e75 3b20 616e 6420 4445 5343 2069 7320 nu; and DESC is │ │ │ -0001a610: 7468 6520 6465 7363 7269 7074 696f 6e20 the description │ │ │ -0001a620: 6f66 2074 6865 2063 6f6d 6d61 6e64 2075 of the command u │ │ │ -0001a630: 7365 6420 696e 2074 6865 0a6d 656e 7573 sed in the.menus │ │ │ -0001a640: 2e22 290a 0a28 6465 6676 6172 2061 6764 .")..(defvar agd │ │ │ -0001a650: 6132 2d6d 6f64 652d 6d61 700a 2020 286c a2-mode-map. (l │ │ │ -0001a660: 6574 2028 286d 6170 2028 6d61 6b65 2d73 et ((map (make-s │ │ │ -0001a670: 7061 7273 652d 6b65 796d 6170 2022 4167 parse-keymap "Ag │ │ │ -0001a680: 6461 206d 6f64 6522 2929 290a 2020 2020 da mode"))). │ │ │ -0001a690: 2864 6566 696e 652d 6b65 7920 6d61 7020 (define-key map │ │ │ -0001a6a0: 5b6d 656e 752d 6261 7220 4167 6461 5d0a [menu-bar Agda]. │ │ │ -0001a6b0: 2020 2020 2020 2863 6f6e 7320 2241 6764 (cons "Agd │ │ │ -0001a6c0: 6122 2028 6d61 6b65 2d73 7061 7273 652d a" (make-sparse- │ │ │ -0001a6d0: 6b65 796d 6170 2022 4167 6461 2229 2929 keymap "Agda"))) │ │ │ -0001a6e0: 0a20 2020 2028 6465 6669 6e65 2d6b 6579 . (define-key │ │ │ -0001a6f0: 206d 6170 205b 646f 776e 2d6d 6f75 7365 map [down-mouse │ │ │ -0001a700: 2d33 5d20 2027 6167 6461 322d 706f 7075 -3] 'agda2-popu │ │ │ -0001a710: 702d 6d65 6e75 2d33 290a 2020 2020 2864 p-menu-3). (d │ │ │ -0001a720: 6f6c 6973 7420 2864 2028 7265 7665 7273 olist (d (revers │ │ │ -0001a730: 6520 6167 6461 322d 636f 6d6d 616e 642d e agda2-command- │ │ │ -0001a740: 7461 626c 6529 290a 2020 2020 2020 2863 table)). (c │ │ │ -0001a750: 6c2d 6465 7374 7275 6374 7572 696e 672d l-destructuring- │ │ │ -0001a760: 6269 6e64 2028 6620 266f 7074 696f 6e61 bind (f &optiona │ │ │ -0001a770: 6c20 6b65 7973 206b 696e 6473 2064 6573 l keys kinds des │ │ │ -0001a780: 6329 2064 0a20 2020 2020 2020 2028 6966 c) d. (if │ │ │ -0001a790: 206b 6579 7320 2864 6566 696e 652d 6b65 keys (define-ke │ │ │ -0001a7a0: 7920 6d61 7020 6b65 7973 2066 2929 0a20 y map keys f)). │ │ │ -0001a7b0: 2020 2020 2020 2028 6966 2028 6d65 6d62 (if (memb │ │ │ -0001a7c0: 6572 2027 676c 6f62 616c 206b 696e 6473 er 'global kinds │ │ │ -0001a7d0: 290a 2020 2020 2020 2020 2020 2020 2864 ). (d │ │ │ -0001a7e0: 6566 696e 652d 6b65 7920 6d61 700a 2020 efine-key map. │ │ │ -0001a7f0: 2020 2020 2020 2020 2020 2020 2876 6563 (vec │ │ │ -0001a800: 746f 7220 276d 656e 752d 6261 7220 2741 tor 'menu-bar 'A │ │ │ -0001a810: 6764 6120 2869 6e74 6572 6e20 6465 7363 gda (intern desc │ │ │ -0001a820: 2929 2028 636f 6e73 2064 6573 6320 6629 )) (cons desc f) │ │ │ -0001a830: 2929 2929 0a20 2020 206d 6170 290a 2020 )))). map). │ │ │ -0001a840: 224b 6579 6d61 7020 666f 7220 6061 6764 "Keymap for `agd │ │ │ -0001a850: 6132 2d6d 6f64 6527 2e22 290a 0a28 6465 a2-mode'.")..(de │ │ │ -0001a860: 6676 6172 2061 6764 6132 2d67 6f61 6c2d fvar agda2-goal- │ │ │ -0001a870: 6d61 700a 2020 286c 6574 2028 286d 6170 map. (let ((map │ │ │ -0001a880: 2028 6d61 6b65 2d73 7061 7273 652d 6b65 (make-sparse-ke │ │ │ -0001a890: 796d 6170 2022 4167 6461 2067 6f61 6c22 ymap "Agda goal" │ │ │ -0001a8a0: 2929 290a 2020 2020 2864 6f6c 6973 7420 ))). (dolist │ │ │ -0001a8b0: 2864 2028 7265 7665 7273 6520 6167 6461 (d (reverse agda │ │ │ -0001a8c0: 322d 636f 6d6d 616e 642d 7461 626c 6529 2-command-table) │ │ │ -0001a8d0: 290a 2020 2020 2020 2863 6c2d 6465 7374 ). (cl-dest │ │ │ -0001a8e0: 7275 6374 7572 696e 672d 6269 6e64 2028 ructuring-bind ( │ │ │ -0001a8f0: 6620 266f 7074 696f 6e61 6c20 5f6b 6579 f &optional _key │ │ │ -0001a900: 7320 6b69 6e64 7320 6465 7363 2920 640a s kinds desc) d. │ │ │ -0001a910: 2020 2020 2020 2020 2869 6620 286d 656d (if (mem │ │ │ -0001a920: 6265 7220 276c 6f63 616c 206b 696e 6473 ber 'local kinds │ │ │ -0001a930: 290a 2020 2020 2020 2020 2020 2020 2864 ). (d │ │ │ -0001a940: 6566 696e 652d 6b65 7920 6d61 700a 2020 efine-key map. │ │ │ -0001a950: 2020 2020 2020 2020 2020 2020 2876 6563 (vec │ │ │ -0001a960: 746f 7220 2869 6e74 6572 6e20 6465 7363 tor (intern desc │ │ │ -0001a970: 2929 2028 636f 6e73 2064 6573 6320 6629 )) (cons desc f) │ │ │ -0001a980: 2929 2929 0a20 2020 206d 6170 290a 2020 )))). map). │ │ │ -0001a990: 224b 6579 6d61 7020 666f 7220 6167 6461 "Keymap for agda │ │ │ -0001a9a0: 3220 676f 616c 206d 656e 752e 2229 0a0a 2 goal menu.").. │ │ │ -0001a9b0: 2864 6566 7661 7220 6167 6461 322d 696e (defvar agda2-in │ │ │ -0001a9c0: 666f 2d62 7566 6665 7220 6e69 6c0a 2020 fo-buffer nil. │ │ │ -0001a9d0: 2241 6764 6120 696e 666f 726d 6174 696f "Agda informatio │ │ │ -0001a9e0: 6e20 6275 6666 6572 2e22 290a 0a28 6465 n buffer.")..(de │ │ │ -0001a9f0: 6676 6172 2061 6764 6132 2d70 726f 6365 fvar agda2-proce │ │ │ -0001aa00: 7373 2d62 7566 6665 7220 6e69 6c0a 2020 ss-buffer nil. │ │ │ -0001aa10: 2241 6764 6120 7375 6270 726f 6365 7373 "Agda subprocess │ │ │ -0001aa20: 2062 7566 6665 722e 0a53 6574 2069 6e20 buffer..Set in │ │ │ -0001aa30: 6061 6764 6132 2d72 6573 7461 7274 272e `agda2-restart'. │ │ │ -0001aa40: 2229 0a0a 2864 6566 7661 7220 6167 6461 ")..(defvar agda │ │ │ -0001aa50: 322d 7072 6f63 6573 7320 6e69 6c0a 2020 2-process nil. │ │ │ -0001aa60: 2241 6764 6120 7375 6270 726f 6365 7373 "Agda subprocess │ │ │ -0001aa70: 2e0a 5365 7420 696e 2060 6167 6461 322d ..Set in `agda2- │ │ │ -0001aa80: 7265 7374 6172 7427 2e22 290a 0a28 6465 restart'.")..(de │ │ │ -0001aa90: 6676 6172 2061 6764 6132 2d69 6e2d 7072 fvar agda2-in-pr │ │ │ -0001aaa0: 6f67 7265 7373 206e 696c 0a20 2022 4973 ogress nil. "Is │ │ │ -0001aab0: 2074 6865 2041 6764 6120 7072 6f63 6573 the Agda proces │ │ │ -0001aac0: 7320 6375 7272 656e 746c 7920 6275 7379 s currently busy │ │ │ -0001aad0: 3f0a 5661 6c69 6420 7661 6c75 6573 3a20 ?.Valid values: │ │ │ -0001aae0: 606e 696c 2720 286e 6f74 2062 7573 7929 `nil' (not busy) │ │ │ -0001aaf0: 2c20 6062 7573 7927 2028 6275 7379 292c , `busy' (busy), │ │ │ -0001ab00: 0a60 6e6f 742d 736f 2d62 7573 7927 2028 .`not-so-busy' ( │ │ │ -0001ab10: 6275 7379 2077 6974 6820 736f 6d65 7468 busy with someth │ │ │ -0001ab20: 696e 6720 7468 6174 2073 686f 756c 6420 ing that should │ │ │ -0001ab30: 7479 7069 6361 6c6c 790a 7465 726d 696e typically.termin │ │ │ -0001ab40: 6174 6520 6661 6972 6c79 2071 7569 636b ate fairly quick │ │ │ -0001ab50: 6c79 292e 2229 0a0a 3b3b 2053 6f6d 6520 ly).")..;; Some │ │ │ -0001ab60: 6275 6666 6572 206c 6f63 616c 730a 2864 buffer locals.(d │ │ │ -0001ab70: 6566 7661 7220 6167 6461 322d 6275 6666 efvar agda2-buff │ │ │ -0001ab80: 6572 2d65 7874 6572 6e61 6c2d 7374 6174 er-external-stat │ │ │ -0001ab90: 7573 2022 220a 2020 2245 7874 6572 6e61 us "". "Externa │ │ │ -0001aba0: 6c20 7374 6174 7573 206f 6620 616e 2060 l status of an ` │ │ │ -0001abb0: 6167 6461 322d 6d6f 6465 2720 6275 6666 agda2-mode' buff │ │ │ -0001abc0: 6572 2028 6469 6374 6174 6564 2062 7920 er (dictated by │ │ │ -0001abd0: 7468 6520 4861 736b 656c 6c20 7369 6465 the Haskell side │ │ │ -0001abe0: 292e 2229 0a28 6d61 6b65 2d76 6172 6961 ).").(make-varia │ │ │ -0001abf0: 626c 652d 6275 6666 6572 2d6c 6f63 616c ble-buffer-local │ │ │ -0001ac00: 2027 6167 6461 322d 6275 6666 6572 2d65 'agda2-buffer-e │ │ │ -0001ac10: 7874 6572 6e61 6c2d 7374 6174 7573 290a xternal-status). │ │ │ -0001ac20: 0a28 6465 6676 6172 2061 6764 6132 2d6f .(defvar agda2-o │ │ │ -0001ac30: 7574 7075 742d 7072 6f6d 7074 2022 4167 utput-prompt "Ag │ │ │ -0001ac40: 6461 323e 2022 0a20 2022 5468 6520 4167 da2> ". "The Ag │ │ │ -0001ac50: 6461 3220 6275 6666 6572 2773 2070 726f da2 buffer's pro │ │ │ -0001ac60: 6d70 742e 2229 0a0a 2864 6566 636f 6e73 mpt.")..(defcons │ │ │ -0001ac70: 7420 6167 6461 322d 6865 6c70 2d61 6464 t agda2-help-add │ │ │ -0001ac80: 7265 7373 0a20 2022 220a 2020 2241 6464 ress. "". "Add │ │ │ -0001ac90: 7265 7373 2061 6363 6570 7469 6e67 2073 ress accepting s │ │ │ -0001aca0: 7562 6d69 7373 696f 6e73 206f 6620 6275 ubmissions of bu │ │ │ -0001acb0: 6720 7265 706f 7274 7320 616e 6420 7175 g reports and qu │ │ │ -0001acc0: 6573 7469 6f6e 732e 2229 0a0a 3b3b 2041 estions.")..;; A │ │ │ -0001acd0: 6e6e 6f74 6174 696f 6e20 666f 7220 6120 nnotation for a │ │ │ -0001ace0: 676f 616c 0a3b 3b20 7b21 202e 2e2e 2e20 goal.;; {! .... │ │ │ -0001acf0: 217d 0a3b 3b20 2d2d 2d2d 2d2d 2d2d 2d2d !}.;; ---------- │ │ │ -0001ad00: 2020 6f76 6572 6c61 793a 2020 2020 6167 overlay: ag │ │ │ -0001ad10: 6461 322d 676e 206e 756d 2c20 6661 6365 da2-gn num, face │ │ │ -0001ad20: 2068 6967 686c 6967 6874 2c20 6166 7465 highlight, afte │ │ │ -0001ad30: 722d 7374 7269 6e67 206e 756d 2c0a 3b3b r-string num,.;; │ │ │ -0001ad40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0001ad50: 2020 2020 2020 2020 206d 6f64 6966 6963 modific │ │ │ -0001ad60: 6174 696f 6e2d 686f 6f6b 7320 2861 6764 ation-hooks (agd │ │ │ -0001ad70: 6132 2d70 726f 7465 6374 2d67 6f61 6c2d a2-protect-goal- │ │ │ -0001ad80: 6d61 726b 6572 7329 0a3b 3b20 2d20 2020 markers).;; - │ │ │ -0001ad90: 2020 2020 2020 2020 7465 7874 2d70 726f text-pro │ │ │ -0001ada0: 7073 3a20 6361 7465 676f 7279 2061 6764 ps: category agd │ │ │ -0001adb0: 6132 2d64 656c 696d 310a 3b3b 2020 2d20 a2-delim1.;; - │ │ │ -0001adc0: 2020 2020 2020 2020 2074 6578 742d 7072 text-pr │ │ │ -0001add0: 6f70 733a 2063 6174 6567 6f72 7920 6167 ops: category ag │ │ │ -0001ade0: 6461 322d 6465 6c69 6d32 0a3b 3b20 2020 da2-delim2.;; │ │ │ -0001adf0: 2020 2020 2020 2d20 2020 7465 7874 2d70 - text-p │ │ │ -0001ae00: 726f 7073 3a20 6361 7465 676f 7279 2061 rops: category a │ │ │ -0001ae10: 6764 6132 2d64 656c 696d 330a 3b3b 2020 gda2-delim3.;; │ │ │ -0001ae20: 2020 2020 2020 2020 2d20 2074 6578 742d - text- │ │ │ -0001ae30: 7072 6f70 733a 2063 6174 6567 6f72 7920 props: category │ │ │ -0001ae40: 6167 6461 322d 6465 6c69 6d34 0a3b 3b0a agda2-delim4.;;. │ │ │ -0001ae50: 3b3b 2043 6861 7220 6361 7465 676f 7269 ;; Char categori │ │ │ -0001ae60: 6573 2066 6f72 207b 2120 2e2e 2e20 217d es for {! ... !} │ │ │ -0001ae70: 0a28 6465 6676 6172 2061 6764 6132 2d6f .(defvar agda2-o │ │ │ -0001ae80: 7065 6e2d 6272 6163 6520 2022 7b22 290a pen-brace "{"). │ │ │ -0001ae90: 2864 6566 7661 7220 6167 6461 322d 636c (defvar agda2-cl │ │ │ -0001aea0: 6f73 652d 6272 6163 6520 2220 7d22 290a ose-brace " }"). │ │ │ -0001aeb0: 2873 6574 706c 6973 7420 2761 6764 6132 (setplist 'agda2 │ │ │ -0001aec0: 2d64 656c 696d 3120 6028 6469 7370 6c61 -delim1 `(displa │ │ │ -0001aed0: 7920 2c61 6764 6132 2d6f 7065 6e2d 6272 y ,agda2-open-br │ │ │ -0001aee0: 6163 6529 290a 2873 6574 706c 6973 7420 ace)).(setplist │ │ │ -0001aef0: 2761 6764 6132 2d64 656c 696d 3220 6028 'agda2-delim2 `( │ │ │ -0001af00: 6469 7370 6c61 7920 2c61 6764 6132 2d6f display ,agda2-o │ │ │ -0001af10: 7065 6e2d 6272 6163 6520 7265 6172 2d6e pen-brace rear-n │ │ │ -0001af20: 6f6e 7374 6963 6b79 2074 0a20 2020 2020 onsticky t. │ │ │ +0001a370: 2020 2c28 6b62 6420 2254 4142 2229 290a ,(kbd "TAB")). │ │ │ +0001a380: 2020 2020 2865 7269 2d69 6e64 656e 742d (eri-indent- │ │ │ +0001a390: 7265 7665 7273 6520 2020 2020 2020 2020 reverse │ │ │ +0001a3a0: 205b 532d 6973 6f2d 6c65 6674 7461 625d [S-iso-lefttab] │ │ │ +0001a3b0: 290a 2020 2020 2865 7269 2d69 6e64 656e ). (eri-inden │ │ │ +0001a3c0: 742d 7265 7665 7273 6520 2020 2020 2020 t-reverse │ │ │ +0001a3d0: 2020 205b 532d 6c65 6674 7461 625d 290a [S-lefttab]). │ │ │ +0001a3e0: 2020 2020 2865 7269 2d69 6e64 656e 742d (eri-indent- │ │ │ +0001a3f0: 7265 7665 7273 6520 2020 2020 2020 2020 reverse │ │ │ +0001a400: 205b 532d 7461 625d 290a 2020 2020 2861 [S-tab]). (a │ │ │ +0001a410: 6764 6132 2d67 6f74 6f2d 6465 6669 6e69 gda2-goto-defini │ │ │ +0001a420: 7469 6f6e 2d6d 6f75 7365 205b 6d6f 7573 tion-mouse [mous │ │ │ +0001a430: 652d 325d 290a 2020 2020 2861 6764 6132 e-2]). (agda2 │ │ │ +0001a440: 2d67 6f74 6f2d 6465 6669 6e69 7469 6f6e -goto-definition │ │ │ +0001a450: 2d6b 6579 626f 6172 6420 225c 4d2d 2e22 -keyboard "\M-." │ │ │ +0001a460: 290a 2020 2020 2861 6764 6132 2d67 6f2d ). (agda2-go- │ │ │ +0001a470: 6261 636b 2020 2020 2020 2020 2020 2020 back │ │ │ +0001a480: 2020 2020 2020 2c28 6966 2028 7665 7273 ,(if (vers │ │ │ +0001a490: 696f 6e3c 2065 6d61 6373 2d76 6572 7369 ion< emacs-versi │ │ │ +0001a4a0: 6f6e 2022 3235 2e31 2229 2022 5c4d 2d2a on "25.1") "\M-* │ │ │ +0001a4b0: 2220 225c 4d2d 2c22 2929 0a20 2020 2029 " "\M-,")). ) │ │ │ +0001a4c0: 0a20 2022 5461 626c 6520 6f66 2063 6f6d . "Table of com │ │ │ +0001a4d0: 6d61 6e64 732c 2075 7365 6420 746f 2062 mands, used to b │ │ │ +0001a4e0: 7569 6c64 206b 6579 6d61 7073 2061 6e64 uild keymaps and │ │ │ +0001a4f0: 206d 656e 7573 2e0a 4561 6368 2065 6c65 menus..Each ele │ │ │ +0001a500: 6d65 6e74 2068 6173 2074 6865 2066 6f72 ment has the for │ │ │ +0001a510: 6d20 2843 4d44 2026 6f70 7469 6f6e 616c m (CMD &optional │ │ │ +0001a520: 204b 4559 5320 5748 4552 4520 4445 5343 KEYS WHERE DESC │ │ │ +0001a530: 2920 7768 6572 650a 434d 4420 6973 2061 ) where.CMD is a │ │ │ +0001a540: 2063 6f6d 6d61 6e64 3b20 4b45 5953 2069 command; KEYS i │ │ │ +0001a550: 7320 6974 7320 6b65 7920 6269 6e64 696e s its key bindin │ │ │ +0001a560: 6720 2869 6620 616e 7929 3b20 5748 4552 g (if any); WHER │ │ │ +0001a570: 4520 6973 2061 0a6c 6973 7420 7768 6963 E is a.list whic │ │ │ +0001a580: 6820 7368 6f75 6c64 2063 6f6e 7461 696e h should contain │ │ │ +0001a590: 205c 5c3d 276c 6f63 616c 2069 6620 7468 \\='local if th │ │ │ +0001a5a0: 6520 636f 6d6d 616e 6420 7368 6f75 6c64 e command should │ │ │ +0001a5b0: 2065 7869 7374 2069 6e0a 7468 6520 676f exist in.the go │ │ │ +0001a5c0: 616c 206d 656e 7520 616e 6420 5c5c 3d27 al menu and \\=' │ │ │ +0001a5d0: 676c 6f62 616c 2069 6620 7468 6520 636f global if the co │ │ │ +0001a5e0: 6d6d 616e 6420 7368 6f75 6c64 2065 7869 mmand should exi │ │ │ +0001a5f0: 7374 2069 6e20 7468 6520 6d61 696e 0a6d st in the main.m │ │ │ +0001a600: 656e 753b 2061 6e64 2044 4553 4320 6973 enu; and DESC is │ │ │ +0001a610: 2074 6865 2064 6573 6372 6970 7469 6f6e the description │ │ │ +0001a620: 206f 6620 7468 6520 636f 6d6d 616e 6420 of the command │ │ │ +0001a630: 7573 6564 2069 6e20 7468 650a 6d65 6e75 used in the.menu │ │ │ +0001a640: 732e 2229 0a0a 2864 6566 7661 7220 6167 s.")..(defvar ag │ │ │ +0001a650: 6461 322d 6d6f 6465 2d6d 6170 0a20 2028 da2-mode-map. ( │ │ │ +0001a660: 6c65 7420 2828 6d61 7020 286d 616b 652d let ((map (make- │ │ │ +0001a670: 7370 6172 7365 2d6b 6579 6d61 7020 2241 sparse-keymap "A │ │ │ +0001a680: 6764 6120 6d6f 6465 2229 2929 0a20 2020 gda mode"))). │ │ │ +0001a690: 2028 6465 6669 6e65 2d6b 6579 206d 6170 (define-key map │ │ │ +0001a6a0: 205b 6d65 6e75 2d62 6172 2041 6764 615d [menu-bar Agda] │ │ │ +0001a6b0: 0a20 2020 2020 2028 636f 6e73 2022 4167 . (cons "Ag │ │ │ +0001a6c0: 6461 2220 286d 616b 652d 7370 6172 7365 da" (make-sparse │ │ │ +0001a6d0: 2d6b 6579 6d61 7020 2241 6764 6122 2929 -keymap "Agda")) │ │ │ +0001a6e0: 290a 2020 2020 2864 6566 696e 652d 6b65 ). (define-ke │ │ │ +0001a6f0: 7920 6d61 7020 5b64 6f77 6e2d 6d6f 7573 y map [down-mous │ │ │ +0001a700: 652d 335d 2020 2761 6764 6132 2d70 6f70 e-3] 'agda2-pop │ │ │ +0001a710: 7570 2d6d 656e 752d 3329 0a20 2020 2028 up-menu-3). ( │ │ │ +0001a720: 646f 6c69 7374 2028 6420 2872 6576 6572 dolist (d (rever │ │ │ +0001a730: 7365 2061 6764 6132 2d63 6f6d 6d61 6e64 se agda2-command │ │ │ +0001a740: 2d74 6162 6c65 2929 0a20 2020 2020 2028 -table)). ( │ │ │ +0001a750: 636c 2d64 6573 7472 7563 7475 7269 6e67 cl-destructuring │ │ │ +0001a760: 2d62 696e 6420 2866 2026 6f70 7469 6f6e -bind (f &option │ │ │ +0001a770: 616c 206b 6579 7320 6b69 6e64 7320 6465 al keys kinds de │ │ │ +0001a780: 7363 2920 640a 2020 2020 2020 2020 2869 sc) d. (i │ │ │ +0001a790: 6620 6b65 7973 2028 6465 6669 6e65 2d6b f keys (define-k │ │ │ +0001a7a0: 6579 206d 6170 206b 6579 7320 6629 290a ey map keys f)). │ │ │ +0001a7b0: 2020 2020 2020 2020 2869 6620 286d 656d (if (mem │ │ │ +0001a7c0: 6265 7220 2767 6c6f 6261 6c20 6b69 6e64 ber 'global kind │ │ │ +0001a7d0: 7329 0a20 2020 2020 2020 2020 2020 2028 s). ( │ │ │ +0001a7e0: 6465 6669 6e65 2d6b 6579 206d 6170 0a20 define-key map. │ │ │ +0001a7f0: 2020 2020 2020 2020 2020 2020 2028 7665 (ve │ │ │ +0001a800: 6374 6f72 2027 6d65 6e75 2d62 6172 2027 ctor 'menu-bar ' │ │ │ +0001a810: 4167 6461 2028 696e 7465 726e 2064 6573 Agda (intern des │ │ │ +0001a820: 6329 2920 2863 6f6e 7320 6465 7363 2066 c)) (cons desc f │ │ │ +0001a830: 2929 2929 290a 2020 2020 6d61 7029 0a20 ))))). map). │ │ │ +0001a840: 2022 4b65 796d 6170 2066 6f72 2060 6167 "Keymap for `ag │ │ │ +0001a850: 6461 322d 6d6f 6465 272e 2229 0a0a 2864 da2-mode'.")..(d │ │ │ +0001a860: 6566 7661 7220 6167 6461 322d 676f 616c efvar agda2-goal │ │ │ +0001a870: 2d6d 6170 0a20 2028 6c65 7420 2828 6d61 -map. (let ((ma │ │ │ +0001a880: 7020 286d 616b 652d 7370 6172 7365 2d6b p (make-sparse-k │ │ │ +0001a890: 6579 6d61 7020 2241 6764 6120 676f 616c eymap "Agda goal │ │ │ +0001a8a0: 2229 2929 0a20 2020 2028 646f 6c69 7374 "))). (dolist │ │ │ +0001a8b0: 2028 6420 2872 6576 6572 7365 2061 6764 (d (reverse agd │ │ │ +0001a8c0: 6132 2d63 6f6d 6d61 6e64 2d74 6162 6c65 a2-command-table │ │ │ +0001a8d0: 2929 0a20 2020 2020 2028 636c 2d64 6573 )). (cl-des │ │ │ +0001a8e0: 7472 7563 7475 7269 6e67 2d62 696e 6420 tructuring-bind │ │ │ +0001a8f0: 2866 2026 6f70 7469 6f6e 616c 205f 6b65 (f &optional _ke │ │ │ +0001a900: 7973 206b 696e 6473 2064 6573 6329 2064 ys kinds desc) d │ │ │ +0001a910: 0a20 2020 2020 2020 2028 6966 2028 6d65 . (if (me │ │ │ +0001a920: 6d62 6572 2027 6c6f 6361 6c20 6b69 6e64 mber 'local kind │ │ │ +0001a930: 7329 0a20 2020 2020 2020 2020 2020 2028 s). ( │ │ │ +0001a940: 6465 6669 6e65 2d6b 6579 206d 6170 0a20 define-key map. │ │ │ +0001a950: 2020 2020 2020 2020 2020 2020 2028 7665 (ve │ │ │ +0001a960: 6374 6f72 2028 696e 7465 726e 2064 6573 ctor (intern des │ │ │ +0001a970: 6329 2920 2863 6f6e 7320 6465 7363 2066 c)) (cons desc f │ │ │ +0001a980: 2929 2929 290a 2020 2020 6d61 7029 0a20 ))))). map). │ │ │ +0001a990: 2022 4b65 796d 6170 2066 6f72 2061 6764 "Keymap for agd │ │ │ +0001a9a0: 6132 2067 6f61 6c20 6d65 6e75 2e22 290a a2 goal menu."). │ │ │ +0001a9b0: 0a28 6465 6676 6172 2061 6764 6132 2d69 .(defvar agda2-i │ │ │ +0001a9c0: 6e66 6f2d 6275 6666 6572 206e 696c 0a20 nfo-buffer nil. │ │ │ +0001a9d0: 2022 4167 6461 2069 6e66 6f72 6d61 7469 "Agda informati │ │ │ +0001a9e0: 6f6e 2062 7566 6665 722e 2229 0a0a 2864 on buffer.")..(d │ │ │ +0001a9f0: 6566 7661 7220 6167 6461 322d 7072 6f63 efvar agda2-proc │ │ │ +0001aa00: 6573 732d 6275 6666 6572 206e 696c 0a20 ess-buffer nil. │ │ │ +0001aa10: 2022 4167 6461 2073 7562 7072 6f63 6573 "Agda subproces │ │ │ +0001aa20: 7320 6275 6666 6572 2e0a 5365 7420 696e s buffer..Set in │ │ │ +0001aa30: 2060 6167 6461 322d 7265 7374 6172 7427 `agda2-restart' │ │ │ +0001aa40: 2e22 290a 0a28 6465 6676 6172 2061 6764 .")..(defvar agd │ │ │ +0001aa50: 6132 2d70 726f 6365 7373 206e 696c 0a20 a2-process nil. │ │ │ +0001aa60: 2022 4167 6461 2073 7562 7072 6f63 6573 "Agda subproces │ │ │ +0001aa70: 732e 0a53 6574 2069 6e20 6061 6764 6132 s..Set in `agda2 │ │ │ +0001aa80: 2d72 6573 7461 7274 272e 2229 0a0a 2864 -restart'.")..(d │ │ │ +0001aa90: 6566 7661 7220 6167 6461 322d 696e 2d70 efvar agda2-in-p │ │ │ +0001aaa0: 726f 6772 6573 7320 6e69 6c0a 2020 2249 rogress nil. "I │ │ │ +0001aab0: 7320 7468 6520 4167 6461 2070 726f 6365 s the Agda proce │ │ │ +0001aac0: 7373 2063 7572 7265 6e74 6c79 2062 7573 ss currently bus │ │ │ +0001aad0: 793f 0a56 616c 6964 2076 616c 7565 733a y?.Valid values: │ │ │ +0001aae0: 2060 6e69 6c27 2028 6e6f 7420 6275 7379 `nil' (not busy │ │ │ +0001aaf0: 292c 2060 6275 7379 2720 2862 7573 7929 ), `busy' (busy) │ │ │ +0001ab00: 2c0a 606e 6f74 2d73 6f2d 6275 7379 2720 ,.`not-so-busy' │ │ │ +0001ab10: 2862 7573 7920 7769 7468 2073 6f6d 6574 (busy with somet │ │ │ +0001ab20: 6869 6e67 2074 6861 7420 7368 6f75 6c64 hing that should │ │ │ +0001ab30: 2074 7970 6963 616c 6c79 0a74 6572 6d69 typically.termi │ │ │ +0001ab40: 6e61 7465 2066 6169 726c 7920 7175 6963 nate fairly quic │ │ │ +0001ab50: 6b6c 7929 2e22 290a 0a3b 3b20 536f 6d65 kly).")..;; Some │ │ │ +0001ab60: 2062 7566 6665 7220 6c6f 6361 6c73 0a28 buffer locals.( │ │ │ +0001ab70: 6465 6676 6172 2061 6764 6132 2d62 7566 defvar agda2-buf │ │ │ +0001ab80: 6665 722d 6578 7465 726e 616c 2d73 7461 fer-external-sta │ │ │ +0001ab90: 7475 7320 2222 0a20 2022 4578 7465 726e tus "". "Extern │ │ │ +0001aba0: 616c 2073 7461 7475 7320 6f66 2061 6e20 al status of an │ │ │ +0001abb0: 6061 6764 6132 2d6d 6f64 6527 2062 7566 `agda2-mode' buf │ │ │ +0001abc0: 6665 7220 2864 6963 7461 7465 6420 6279 fer (dictated by │ │ │ +0001abd0: 2074 6865 2048 6173 6b65 6c6c 2073 6964 the Haskell sid │ │ │ +0001abe0: 6529 2e22 290a 286d 616b 652d 7661 7269 e).").(make-vari │ │ │ +0001abf0: 6162 6c65 2d62 7566 6665 722d 6c6f 6361 able-buffer-loca │ │ │ +0001ac00: 6c20 2761 6764 6132 2d62 7566 6665 722d l 'agda2-buffer- │ │ │ +0001ac10: 6578 7465 726e 616c 2d73 7461 7475 7329 external-status) │ │ │ +0001ac20: 0a0a 2864 6566 7661 7220 6167 6461 322d ..(defvar agda2- │ │ │ +0001ac30: 6f75 7470 7574 2d70 726f 6d70 7420 2241 output-prompt "A │ │ │ +0001ac40: 6764 6132 3e20 220a 2020 2254 6865 2041 gda2> ". "The A │ │ │ +0001ac50: 6764 6132 2062 7566 6665 7227 7320 7072 gda2 buffer's pr │ │ │ +0001ac60: 6f6d 7074 2e22 290a 0a28 6465 6663 6f6e ompt.")..(defcon │ │ │ +0001ac70: 7374 2061 6764 6132 2d68 656c 702d 6164 st agda2-help-ad │ │ │ +0001ac80: 6472 6573 730a 2020 2222 0a20 2022 4164 dress. "". "Ad │ │ │ +0001ac90: 6472 6573 7320 6163 6365 7074 696e 6720 dress accepting │ │ │ +0001aca0: 7375 626d 6973 7369 6f6e 7320 6f66 2062 submissions of b │ │ │ +0001acb0: 7567 2072 6570 6f72 7473 2061 6e64 2071 ug reports and q │ │ │ +0001acc0: 7565 7374 696f 6e73 2e22 290a 0a3b 3b20 uestions.")..;; │ │ │ +0001acd0: 416e 6e6f 7461 7469 6f6e 2066 6f72 2061 Annotation for a │ │ │ +0001ace0: 2067 6f61 6c0a 3b3b 207b 2120 2e2e 2e2e goal.;; {! .... │ │ │ +0001acf0: 2021 7d0a 3b3b 202d 2d2d 2d2d 2d2d 2d2d !}.;; --------- │ │ │ +0001ad00: 2d20 206f 7665 726c 6179 3a20 2020 2061 - overlay: a │ │ │ +0001ad10: 6764 6132 2d67 6e20 6e75 6d2c 2066 6163 gda2-gn num, fac │ │ │ +0001ad20: 6520 6869 6768 6c69 6768 742c 2061 6674 e highlight, aft │ │ │ +0001ad30: 6572 2d73 7472 696e 6720 6e75 6d2c 0a3b er-string num,.; │ │ │ +0001ad40: 3b20 2020 2020 2020 2020 2020 2020 2020 ; │ │ │ +0001ad50: 2020 2020 2020 2020 2020 6d6f 6469 6669 modifi │ │ │ +0001ad60: 6361 7469 6f6e 2d68 6f6f 6b73 2028 6167 cation-hooks (ag │ │ │ +0001ad70: 6461 322d 7072 6f74 6563 742d 676f 616c da2-protect-goal │ │ │ +0001ad80: 2d6d 6172 6b65 7273 290a 3b3b 202d 2020 -markers).;; - │ │ │ +0001ad90: 2020 2020 2020 2020 2074 6578 742d 7072 text-pr │ │ │ +0001ada0: 6f70 733a 2063 6174 6567 6f72 7920 6167 ops: category ag │ │ │ +0001adb0: 6461 322d 6465 6c69 6d31 0a3b 3b20 202d da2-delim1.;; - │ │ │ +0001adc0: 2020 2020 2020 2020 2020 7465 7874 2d70 text-p │ │ │ +0001add0: 726f 7073 3a20 6361 7465 676f 7279 2061 rops: category a │ │ │ +0001ade0: 6764 6132 2d64 656c 696d 320a 3b3b 2020 gda2-delim2.;; │ │ │ +0001adf0: 2020 2020 2020 202d 2020 2074 6578 742d - text- │ │ │ +0001ae00: 7072 6f70 733a 2063 6174 6567 6f72 7920 props: category │ │ │ +0001ae10: 6167 6461 322d 6465 6c69 6d33 0a3b 3b20 agda2-delim3.;; │ │ │ +0001ae20: 2020 2020 2020 2020 202d 2020 7465 7874 - text │ │ │ +0001ae30: 2d70 726f 7073 3a20 6361 7465 676f 7279 -props: category │ │ │ +0001ae40: 2061 6764 6132 2d64 656c 696d 340a 3b3b agda2-delim4.;; │ │ │ +0001ae50: 0a3b 3b20 4368 6172 2063 6174 6567 6f72 .;; Char categor │ │ │ +0001ae60: 6965 7320 666f 7220 7b21 202e 2e2e 2021 ies for {! ... ! │ │ │ +0001ae70: 7d0a 2864 6566 7661 7220 6167 6461 322d }.(defvar agda2- │ │ │ +0001ae80: 6f70 656e 2d62 7261 6365 2020 227b 2229 open-brace "{") │ │ │ +0001ae90: 0a28 6465 6676 6172 2061 6764 6132 2d63 .(defvar agda2-c │ │ │ +0001aea0: 6c6f 7365 2d62 7261 6365 2022 207d 2229 lose-brace " }") │ │ │ +0001aeb0: 0a28 7365 7470 6c69 7374 2027 6167 6461 .(setplist 'agda │ │ │ +0001aec0: 322d 6465 6c69 6d31 2060 2864 6973 706c 2-delim1 `(displ │ │ │ +0001aed0: 6179 202c 6167 6461 322d 6f70 656e 2d62 ay ,agda2-open-b │ │ │ +0001aee0: 7261 6365 2929 0a28 7365 7470 6c69 7374 race)).(setplist │ │ │ +0001aef0: 2027 6167 6461 322d 6465 6c69 6d32 2060 'agda2-delim2 ` │ │ │ +0001af00: 2864 6973 706c 6179 202c 6167 6461 322d (display ,agda2- │ │ │ +0001af10: 6f70 656e 2d62 7261 6365 2072 6561 722d open-brace rear- │ │ │ +0001af20: 6e6f 6e73 7469 636b 7920 740a 2020 2020 nonsticky t. │ │ │ 0001af30: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0001af40: 2020 2020 2020 2020 2020 2020 2061 6764 agd │ │ │ -0001af50: 6132 2d64 656c 696d 3220 7429 290a 2873 a2-delim2 t)).(s │ │ │ -0001af60: 6574 706c 6973 7420 2761 6764 6132 2d64 etplist 'agda2-d │ │ │ -0001af70: 656c 696d 3320 6028 6469 7370 6c61 7920 elim3 `(display │ │ │ -0001af80: 2c61 6764 6132 2d63 6c6f 7365 2d62 7261 ,agda2-close-bra │ │ │ -0001af90: 6365 2061 6764 6132 2d64 656c 696d 3320 ce agda2-delim3 │ │ │ -0001afa0: 7429 290a 2873 6574 706c 6973 7420 2761 t)).(setplist 'a │ │ │ -0001afb0: 6764 6132 2d64 656c 696d 3420 6028 6469 gda2-delim4 `(di │ │ │ -0001afc0: 7370 6c61 7920 2c61 6764 6132 2d63 6c6f splay ,agda2-clo │ │ │ -0001afd0: 7365 2d62 7261 6365 2072 6561 722d 6e6f se-brace rear-no │ │ │ -0001afe0: 6e73 7469 636b 7920 7429 290a 0a3b 3b20 nsticky t))..;; │ │ │ -0001aff0: 4e6f 7465 2074 6861 7420 7374 7269 6e67 Note that string │ │ │ -0001b000: 7320 7573 6564 2077 6974 6820 7468 6520 s used with the │ │ │ -0001b010: 6469 7370 6c61 7920 7072 6f70 6572 7479 display property │ │ │ -0001b020: 2061 7265 2063 6f6d 7061 7265 6420 6279 are compared by │ │ │ -0001b030: 0a3b 3b20 7265 6665 7265 6e63 652e 2049 .;; reference. I │ │ │ -0001b040: 6620 7468 6520 6167 6461 322d 2a2d 6272 f the agda2-*-br │ │ │ -0001b050: 6163 6520 6465 6669 6e69 7469 6f6e 7320 ace definitions │ │ │ -0001b060: 7765 7265 2069 6e6c 696e 6564 2c20 7468 were inlined, th │ │ │ -0001b070: 656e 0a3b 3b20 676f 616c 7320 776f 756c en.;; goals woul │ │ │ -0001b080: 6420 6265 2064 6973 706c 6179 6564 2061 d be displayed a │ │ │ -0001b090: 7320 227b 7b20 7d7d 6e22 2069 6e73 7465 s "{{ }}n" inste │ │ │ -0001b0a0: 6164 206f 6620 227b 207d 6e22 2e0a 0a3b ad of "{ }n"...; │ │ │ -0001b0b0: 3b20 5468 6520 666f 6c6c 6f77 696e 6720 ; The following │ │ │ -0001b0c0: 7661 7269 6162 6c65 7320 6172 6520 7573 variables are us │ │ │ -0001b0d0: 6564 2062 7920 7468 6520 6669 6c74 6572 ed by the filter │ │ │ -0001b0e0: 2070 726f 6365 7373 2c0a 3b3b 2060 6167 process,.;; `ag │ │ │ -0001b0f0: 6461 322d 6f75 7470 7574 2d66 696c 7465 da2-output-filte │ │ │ -0001b100: 7227 2e20 5468 6569 7220 7661 6c75 6573 r'. Their values │ │ │ -0001b110: 2061 7265 206f 6e6c 7920 6d6f 6469 6669 are only modifi │ │ │ -0001b120: 6564 2062 7920 7468 6520 6669 6c74 6572 ed by the filter │ │ │ -0001b130: 0a3b 3b20 7072 6f63 6573 732c 2060 6167 .;; process, `ag │ │ │ -0001b140: 6461 322d 676f 272c 2060 6167 6461 322d da2-go', `agda2- │ │ │ -0001b150: 7265 7374 6172 7427 2c20 6061 6764 6132 restart', `agda2 │ │ │ -0001b160: 2d61 626f 7274 2d68 6967 686c 6967 6874 -abort-highlight │ │ │ -0001b170: 696e 6727 2c0a 3b3b 2061 6e64 2060 6167 ing',.;; and `ag │ │ │ -0001b180: 6461 322d 6162 6f72 742d 646f 6e65 272e da2-abort-done'. │ │ │ -0001b190: 0a0a 2864 6566 7661 7220 6167 6461 322d ..(defvar agda2- │ │ │ -0001b1a0: 6f75 7470 7574 2d63 6875 6e6b 2d69 6e63 output-chunk-inc │ │ │ -0001b1b0: 6f6d 706c 6574 6520 2861 6764 6132 2d71 omplete (agda2-q │ │ │ -0001b1c0: 7565 7565 2d65 6d70 7479 290a 2020 2242 ueue-empty). "B │ │ │ -0001b1d0: 7566 6665 7220 666f 7220 696e 636f 6d70 uffer for incomp │ │ │ -0001b1e0: 6c65 7465 206c 696e 6573 2e0a 5c28 5365 lete lines..\(Se │ │ │ -0001b1f0: 6520 6061 6764 6132 2d6f 7574 7075 742d e `agda2-output- │ │ │ -0001b200: 6669 6c74 6572 272e 2922 290a 286d 616b filter'.)").(mak │ │ │ -0001b210: 652d 7661 7269 6162 6c65 2d62 7566 6665 e-variable-buffe │ │ │ -0001b220: 722d 6c6f 6361 6c20 2761 6764 6132 2d6f r-local 'agda2-o │ │ │ -0001b230: 7574 7075 742d 6368 756e 6b2d 696e 636f utput-chunk-inco │ │ │ -0001b240: 6d70 6c65 7465 290a 0a28 6465 6676 6172 mplete)..(defvar │ │ │ -0001b250: 2061 6764 6132 2d6c 6173 742d 7265 7370 agda2-last-resp │ │ │ -0001b260: 6f6e 7365 7320 6e69 6c0a 2020 2252 6573 onses nil. "Res │ │ │ -0001b270: 706f 6e73 6520 636f 6d6d 616e 6473 2077 ponse commands w │ │ │ -0001b280: 6869 6368 2073 686f 756c 6420 6265 2072 hich should be r │ │ │ -0001b290: 756e 2061 6674 6572 206f 7468 6572 2063 un after other c │ │ │ -0001b2a0: 6f6d 6d61 6e64 732e 0a54 6865 2063 6f6d ommands..The com │ │ │ -0001b2b0: 6d61 6e64 2077 6869 6368 2061 7272 6976 mand which arriv │ │ │ -0001b2c0: 6564 206c 6173 7420 6973 2073 746f 7265 ed last is store │ │ │ -0001b2d0: 6420 6669 7273 7420 696e 2074 6865 206c d first in the l │ │ │ -0001b2e0: 6973 742e 2229 0a28 6d61 6b65 2d76 6172 ist.").(make-var │ │ │ -0001b2f0: 6961 626c 652d 6275 6666 6572 2d6c 6f63 iable-buffer-loc │ │ │ -0001b300: 616c 2027 6167 6461 322d 6c61 7374 2d72 al 'agda2-last-r │ │ │ -0001b310: 6573 706f 6e73 6573 290a 0a28 6465 6676 esponses)..(defv │ │ │ -0001b320: 6172 2061 6764 6132 2d66 696c 652d 6275 ar agda2-file-bu │ │ │ -0001b330: 6666 6572 206e 696c 0a20 2022 5468 6520 ffer nil. "The │ │ │ -0001b340: 4167 6461 2062 7566 6665 722e 0a4e 6f74 Agda buffer..Not │ │ │ -0001b350: 6520 7468 6174 2074 6869 7320 7661 7269 e that this vari │ │ │ -0001b360: 6162 6c65 2069 7320 6e6f 7420 6275 6666 able is not buff │ │ │ -0001b370: 6572 2d6c 6f63 616c 2e22 290a 0a28 6465 er-local.")..(de │ │ │ -0001b380: 6676 6172 2061 6764 6132 2d69 6e2d 6167 fvar agda2-in-ag │ │ │ -0001b390: 6461 322d 6669 6c65 2d62 7566 6665 7220 da2-file-buffer │ │ │ -0001b3a0: 6e69 6c0a 2020 2257 6173 2060 6167 6461 nil. "Was `agda │ │ │ -0001b3b0: 322d 6669 6c65 2d62 7566 6665 7227 2061 2-file-buffer' a │ │ │ -0001b3c0: 6374 6976 6520 7768 656e 2060 6167 6461 ctive when `agda │ │ │ -0001b3d0: 322d 6f75 7470 7574 2d66 696c 7465 7227 2-output-filter' │ │ │ -0001b3e0: 2073 7461 7274 6564 3f0a 4e6f 7465 2074 started?.Note t │ │ │ -0001b3f0: 6861 7420 7468 6973 2076 6172 6961 626c hat this variabl │ │ │ -0001b400: 6520 6973 206e 6f74 2062 7566 6665 722d e is not buffer- │ │ │ -0001b410: 6c6f 6361 6c2e 2229 0a0a 3b3b 3b3b 3b3b local.")..;;;;;; │ │ │ +0001af40: 2020 2020 2020 2020 2020 2020 2020 6167 ag │ │ │ +0001af50: 6461 322d 6465 6c69 6d32 2074 2929 0a28 da2-delim2 t)).( │ │ │ +0001af60: 7365 7470 6c69 7374 2027 6167 6461 322d setplist 'agda2- │ │ │ +0001af70: 6465 6c69 6d33 2060 2864 6973 706c 6179 delim3 `(display │ │ │ +0001af80: 202c 6167 6461 322d 636c 6f73 652d 6272 ,agda2-close-br │ │ │ +0001af90: 6163 6520 6167 6461 322d 6465 6c69 6d33 ace agda2-delim3 │ │ │ +0001afa0: 2074 2929 0a28 7365 7470 6c69 7374 2027 t)).(setplist ' │ │ │ +0001afb0: 6167 6461 322d 6465 6c69 6d34 2060 2864 agda2-delim4 `(d │ │ │ +0001afc0: 6973 706c 6179 202c 6167 6461 322d 636c isplay ,agda2-cl │ │ │ +0001afd0: 6f73 652d 6272 6163 6520 7265 6172 2d6e ose-brace rear-n │ │ │ +0001afe0: 6f6e 7374 6963 6b79 2074 2929 0a0a 3b3b onsticky t))..;; │ │ │ +0001aff0: 204e 6f74 6520 7468 6174 2073 7472 696e Note that strin │ │ │ +0001b000: 6773 2075 7365 6420 7769 7468 2074 6865 gs used with the │ │ │ +0001b010: 2064 6973 706c 6179 2070 726f 7065 7274 display propert │ │ │ +0001b020: 7920 6172 6520 636f 6d70 6172 6564 2062 y are compared b │ │ │ +0001b030: 790a 3b3b 2072 6566 6572 656e 6365 2e20 y.;; reference. │ │ │ +0001b040: 4966 2074 6865 2061 6764 6132 2d2a 2d62 If the agda2-*-b │ │ │ +0001b050: 7261 6365 2064 6566 696e 6974 696f 6e73 race definitions │ │ │ +0001b060: 2077 6572 6520 696e 6c69 6e65 642c 2074 were inlined, t │ │ │ +0001b070: 6865 6e0a 3b3b 2067 6f61 6c73 2077 6f75 hen.;; goals wou │ │ │ +0001b080: 6c64 2062 6520 6469 7370 6c61 7965 6420 ld be displayed │ │ │ +0001b090: 6173 2022 7b7b 207d 7d6e 2220 696e 7374 as "{{ }}n" inst │ │ │ +0001b0a0: 6561 6420 6f66 2022 7b20 7d6e 222e 0a0a ead of "{ }n"... │ │ │ +0001b0b0: 3b3b 2054 6865 2066 6f6c 6c6f 7769 6e67 ;; The following │ │ │ +0001b0c0: 2076 6172 6961 626c 6573 2061 7265 2075 variables are u │ │ │ +0001b0d0: 7365 6420 6279 2074 6865 2066 696c 7465 sed by the filte │ │ │ +0001b0e0: 7220 7072 6f63 6573 732c 0a3b 3b20 6061 r process,.;; `a │ │ │ +0001b0f0: 6764 6132 2d6f 7574 7075 742d 6669 6c74 gda2-output-filt │ │ │ +0001b100: 6572 272e 2054 6865 6972 2076 616c 7565 er'. Their value │ │ │ +0001b110: 7320 6172 6520 6f6e 6c79 206d 6f64 6966 s are only modif │ │ │ +0001b120: 6965 6420 6279 2074 6865 2066 696c 7465 ied by the filte │ │ │ +0001b130: 720a 3b3b 2070 726f 6365 7373 2c20 6061 r.;; process, `a │ │ │ +0001b140: 6764 6132 2d67 6f27 2c20 6061 6764 6132 gda2-go', `agda2 │ │ │ +0001b150: 2d72 6573 7461 7274 272c 2060 6167 6461 -restart', `agda │ │ │ +0001b160: 322d 6162 6f72 742d 6869 6768 6c69 6768 2-abort-highligh │ │ │ +0001b170: 7469 6e67 272c 0a3b 3b20 616e 6420 6061 ting',.;; and `a │ │ │ +0001b180: 6764 6132 2d61 626f 7274 2d64 6f6e 6527 gda2-abort-done' │ │ │ +0001b190: 2e0a 0a28 6465 6676 6172 2061 6764 6132 ...(defvar agda2 │ │ │ +0001b1a0: 2d6f 7574 7075 742d 6368 756e 6b2d 696e -output-chunk-in │ │ │ +0001b1b0: 636f 6d70 6c65 7465 2028 6167 6461 322d complete (agda2- │ │ │ +0001b1c0: 7175 6575 652d 656d 7074 7929 0a20 2022 queue-empty). " │ │ │ +0001b1d0: 4275 6666 6572 2066 6f72 2069 6e63 6f6d Buffer for incom │ │ │ +0001b1e0: 706c 6574 6520 6c69 6e65 732e 0a5c 2853 plete lines..\(S │ │ │ +0001b1f0: 6565 2060 6167 6461 322d 6f75 7470 7574 ee `agda2-output │ │ │ +0001b200: 2d66 696c 7465 7227 2e29 2229 0a28 6d61 -filter'.)").(ma │ │ │ +0001b210: 6b65 2d76 6172 6961 626c 652d 6275 6666 ke-variable-buff │ │ │ +0001b220: 6572 2d6c 6f63 616c 2027 6167 6461 322d er-local 'agda2- │ │ │ +0001b230: 6f75 7470 7574 2d63 6875 6e6b 2d69 6e63 output-chunk-inc │ │ │ +0001b240: 6f6d 706c 6574 6529 0a0a 2864 6566 7661 omplete)..(defva │ │ │ +0001b250: 7220 6167 6461 322d 6c61 7374 2d72 6573 r agda2-last-res │ │ │ +0001b260: 706f 6e73 6573 206e 696c 0a20 2022 5265 ponses nil. "Re │ │ │ +0001b270: 7370 6f6e 7365 2063 6f6d 6d61 6e64 7320 sponse commands │ │ │ +0001b280: 7768 6963 6820 7368 6f75 6c64 2062 6520 which should be │ │ │ +0001b290: 7275 6e20 6166 7465 7220 6f74 6865 7220 run after other │ │ │ +0001b2a0: 636f 6d6d 616e 6473 2e0a 5468 6520 636f commands..The co │ │ │ +0001b2b0: 6d6d 616e 6420 7768 6963 6820 6172 7269 mmand which arri │ │ │ +0001b2c0: 7665 6420 6c61 7374 2069 7320 7374 6f72 ved last is stor │ │ │ +0001b2d0: 6564 2066 6972 7374 2069 6e20 7468 6520 ed first in the │ │ │ +0001b2e0: 6c69 7374 2e22 290a 286d 616b 652d 7661 list.").(make-va │ │ │ +0001b2f0: 7269 6162 6c65 2d62 7566 6665 722d 6c6f riable-buffer-lo │ │ │ +0001b300: 6361 6c20 2761 6764 6132 2d6c 6173 742d cal 'agda2-last- │ │ │ +0001b310: 7265 7370 6f6e 7365 7329 0a0a 2864 6566 responses)..(def │ │ │ +0001b320: 7661 7220 6167 6461 322d 6669 6c65 2d62 var agda2-file-b │ │ │ +0001b330: 7566 6665 7220 6e69 6c0a 2020 2254 6865 uffer nil. "The │ │ │ +0001b340: 2041 6764 6120 6275 6666 6572 2e0a 4e6f Agda buffer..No │ │ │ +0001b350: 7465 2074 6861 7420 7468 6973 2076 6172 te that this var │ │ │ +0001b360: 6961 626c 6520 6973 206e 6f74 2062 7566 iable is not buf │ │ │ +0001b370: 6665 722d 6c6f 6361 6c2e 2229 0a0a 2864 fer-local.")..(d │ │ │ +0001b380: 6566 7661 7220 6167 6461 322d 696e 2d61 efvar agda2-in-a │ │ │ +0001b390: 6764 6132 2d66 696c 652d 6275 6666 6572 gda2-file-buffer │ │ │ +0001b3a0: 206e 696c 0a20 2022 5761 7320 6061 6764 nil. "Was `agd │ │ │ +0001b3b0: 6132 2d66 696c 652d 6275 6666 6572 2720 a2-file-buffer' │ │ │ +0001b3c0: 6163 7469 7665 2077 6865 6e20 6061 6764 active when `agd │ │ │ +0001b3d0: 6132 2d6f 7574 7075 742d 6669 6c74 6572 a2-output-filter │ │ │ +0001b3e0: 2720 7374 6172 7465 643f 0a4e 6f74 6520 ' started?.Note │ │ │ +0001b3f0: 7468 6174 2074 6869 7320 7661 7269 6162 that this variab │ │ │ +0001b400: 6c65 2069 7320 6e6f 7420 6275 6666 6572 le is not buffer │ │ │ +0001b410: 2d6c 6f63 616c 2e22 290a 0a3b 3b3b 3b3b -local.")..;;;;; │ │ │ 0001b420: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 0001b430: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 0001b440: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 0001b450: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ -0001b460: 3b3b 0a3b 3b3b 3b20 6167 6461 322d 6d6f ;;.;;;; agda2-mo │ │ │ -0001b470: 6465 0a0a 3b3b 3b23 2323 6175 746f 6c6f de..;;;###autolo │ │ │ -0001b480: 6164 0a28 6164 642d 746f 2d6c 6973 7420 ad.(add-to-list │ │ │ -0001b490: 2761 7574 6f2d 6d6f 6465 2d61 6c69 7374 'auto-mode-alist │ │ │ -0001b4a0: 2027 2822 5c5c 2e6c 3f61 6764 615c 5c27 '("\\.l?agda\\' │ │ │ -0001b4b0: 2220 2e20 6167 6461 322d 6d6f 6465 2929 " . agda2-mode)) │ │ │ -0001b4c0: 0a3b 3b3b 2323 2361 7574 6f6c 6f61 640a .;;;###autoload. │ │ │ -0001b4d0: 286d 6f64 6966 792d 636f 6469 6e67 2d73 (modify-coding-s │ │ │ -0001b4e0: 7973 7465 6d2d 616c 6973 7420 2766 696c ystem-alist 'fil │ │ │ -0001b4f0: 6520 225c 5c2e 6c3f 6167 6461 5c5c 2722 e "\\.l?agda\\'" │ │ │ -0001b500: 2027 7574 662d 3829 0a3b 3b3b 2323 2361 'utf-8).;;;###a │ │ │ -0001b510: 7574 6f6c 6f61 640a 2864 6566 696e 652d utoload.(define- │ │ │ -0001b520: 6465 7269 7665 642d 6d6f 6465 2061 6764 derived-mode agd │ │ │ -0001b530: 6132 2d6d 6f64 6520 7072 6f67 2d6d 6f64 a2-mode prog-mod │ │ │ -0001b540: 6520 2241 6764 6122 0a20 2022 4d61 6a6f e "Agda". "Majo │ │ │ -0001b550: 7220 6d6f 6465 2066 6f72 2041 6764 6120 r mode for Agda │ │ │ -0001b560: 6669 6c65 732e 0a0a 5468 6520 666f 6c6c files...The foll │ │ │ -0001b570: 6f77 696e 6720 7061 7261 6772 6170 6820 owing paragraph │ │ │ -0001b580: 646f 6573 206e 6f74 2061 7070 6c79 2074 does not apply t │ │ │ -0001b590: 6f20 456d 6163 7320 3233 206f 7220 6e65 o Emacs 23 or ne │ │ │ -0001b5a0: 7765 722e 0a0a 2020 4e6f 7465 2074 6861 wer... Note tha │ │ │ -0001b5b0: 7420 7768 656e 2074 6869 7320 6d6f 6465 t when this mode │ │ │ -0001b5c0: 2069 7320 6163 7469 7661 7465 6420 7468 is activated th │ │ │ -0001b5d0: 6520 6465 6661 756c 7420 666f 6e74 206f e default font o │ │ │ -0001b5e0: 6620 7468 650a 2020 6375 7272 656e 7420 f the. current │ │ │ -0001b5f0: 6672 616d 6520 6973 2063 6861 6e67 6564 frame is changed │ │ │ -0001b600: 2074 6f20 7468 6520 666f 6e74 7365 7420 to the fontset │ │ │ -0001b610: 6061 6764 6132 2d66 6f6e 7473 6574 2d6e `agda2-fontset-n │ │ │ -0001b620: 616d 6527 2e0a 2020 5468 6520 7265 6173 ame'.. The reas │ │ │ -0001b630: 6f6e 2069 7320 7468 6174 2041 6764 6120 on is that Agda │ │ │ -0001b640: 7072 6f67 7261 6d73 206f 6674 656e 2075 programs often u │ │ │ -0001b650: 7365 206d 6174 6865 6d61 7469 6361 6c20 se mathematical │ │ │ -0001b660: 7379 6d62 6f6c 730a 2020 616e 6420 6f74 symbols. and ot │ │ │ -0001b670: 6865 7220 556e 6963 6f64 6520 6368 6172 her Unicode char │ │ │ -0001b680: 6163 7465 7273 2c20 736f 2077 6520 7472 acters, so we tr │ │ │ -0001b690: 7920 746f 2070 726f 7669 6465 2061 2073 y to provide a s │ │ │ -0001b6a0: 7569 7461 626c 650a 2020 6465 6661 756c uitable. defaul │ │ │ -0001b6b0: 7420 666f 6e74 2073 6574 7469 6e67 2c20 t font setting, │ │ │ -0001b6c0: 7768 6963 6820 6361 6e20 6469 7370 6c61 which can displa │ │ │ -0001b6d0: 7920 6d61 6e79 206f 6620 7468 6520 6368 y many of the ch │ │ │ -0001b6e0: 6172 6163 7465 7273 0a20 2065 6e63 6f75 aracters. encou │ │ │ -0001b6f0: 6e74 6572 6564 2e20 4966 2079 6f75 2070 ntered. If you p │ │ │ -0001b700: 7265 6665 7220 746f 2075 7365 2079 6f75 refer to use you │ │ │ -0001b710: 7220 6f77 6e20 7365 7474 696e 6773 2c20 r own settings, │ │ │ -0001b720: 7365 740a 2020 6061 6764 6132 2d66 6f6e set. `agda2-fon │ │ │ -0001b730: 7473 6574 2d6e 616d 6527 2074 6f20 6e69 tset-name' to ni │ │ │ -0001b740: 6c2e 0a0a 5370 6563 6961 6c20 636f 6d6d l...Special comm │ │ │ -0001b750: 616e 6473 3a0a 5c5c 7b61 6764 6132 2d6d ands:.\\{agda2-m │ │ │ -0001b760: 6f64 652d 6d61 707d 220a 0a20 2869 6620 ode-map}".. (if │ │ │ -0001b770: 2862 6f75 6e64 7020 2761 6764 6132 2d69 (boundp 'agda2-i │ │ │ -0001b780: 6e63 6c75 6465 2d64 6972 7329 0a20 2020 nclude-dirs). │ │ │ -0001b790: 2020 2864 6973 706c 6179 2d77 6172 6e69 (display-warni │ │ │ -0001b7a0: 6e67 2027 6167 6461 3220 224e 6f74 6520 ng 'agda2 "Note │ │ │ -0001b7b0: 7468 6174 2074 6865 2076 6172 6961 626c that the variabl │ │ │ -0001b7c0: 6520 6167 6461 322d 696e 636c 7564 652d e agda2-include- │ │ │ -0001b7d0: 6469 7273 2069 730a 6e6f 206c 6f6e 6765 dirs is.no longe │ │ │ -0001b7e0: 7220 7573 6564 2e20 596f 7520 6d61 7920 r used. You may │ │ │ -0001b7f0: 7761 6e74 2074 6f20 7570 6461 7465 2079 want to update y │ │ │ -0001b800: 6f75 7220 636f 6e66 6967 7572 6174 696f our configuratio │ │ │ -0001b810: 6e2e 2059 6f75 0a68 6176 6520 6174 206c n. You.have at l │ │ │ -0001b820: 6561 7374 2074 776f 2063 686f 6963 6573 east two choices │ │ │ -0001b830: 3a0a 2a20 5573 6520 7468 6520 6c69 6272 :.* Use the libr │ │ │ -0001b840: 6172 7920 6d61 6e61 6765 6d65 6e74 2073 ary management s │ │ │ -0001b850: 7973 7465 6d2e 0a2a 2053 6574 2074 6865 ystem..* Set the │ │ │ -0001b860: 2069 6e63 6c75 6465 2070 6174 6820 7573 include path us │ │ │ -0001b870: 696e 6720 6167 6461 322d 7072 6f67 7261 ing agda2-progra │ │ │ -0001b880: 6d2d 6172 6773 2e0a 0a4f 6e65 2077 6179 m-args...One way │ │ │ -0001b890: 2074 6f20 6176 6f69 6420 7365 6569 6e67 to avoid seeing │ │ │ -0001b8a0: 2074 6869 7320 7761 726e 696e 6720 6973 this warning is │ │ │ -0001b8b0: 2074 6f20 6d61 6b65 2073 7572 6520 7468 to make sure th │ │ │ -0001b8c0: 6174 0a61 6764 6132 2d69 6e63 6c75 6465 at.agda2-include │ │ │ -0001b8d0: 2d64 6972 7320 6973 206e 6f74 2062 6f75 -dirs is not bou │ │ │ -0001b8e0: 6e64 2e22 203a 7761 726e 696e 6729 290a nd." :warning)). │ │ │ -0001b8f0: 0a20 2873 6574 7120 6c6f 6361 6c2d 6162 . (setq local-ab │ │ │ -0001b900: 6272 6576 2d74 6162 6c65 2061 6764 6132 brev-table agda2 │ │ │ -0001b910: 2d6d 6f64 652d 6162 6272 6576 2d74 6162 -mode-abbrev-tab │ │ │ -0001b920: 6c65 0a20 2020 2020 2020 696e 6465 6e74 le. indent │ │ │ -0001b930: 2d74 6162 732d 6d6f 6465 2020 206e 696c -tabs-mode nil │ │ │ -0001b940: 0a20 2020 2020 2020 6d6f 6465 2d6c 696e . mode-lin │ │ │ -0001b950: 652d 7072 6f63 6573 730a 2020 2020 2020 e-process. │ │ │ -0001b960: 2020 2027 2828 3a65 7661 6c20 2875 6e6c '((:eval (unl │ │ │ -0001b970: 6573 7320 2865 7120 3020 286c 656e 6774 ess (eq 0 (lengt │ │ │ -0001b980: 6820 6167 6461 322d 6275 6666 6572 2d65 h agda2-buffer-e │ │ │ -0001b990: 7874 6572 6e61 6c2d 7374 6174 7573 2929 xternal-status)) │ │ │ -0001b9a0: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ -0001b9b0: 2020 2020 2028 636f 6e63 6174 2022 3a22 (concat ":" │ │ │ -0001b9c0: 2061 6764 6132 2d62 7566 6665 722d 6578 agda2-buffer-ex │ │ │ -0001b9d0: 7465 726e 616c 2d73 7461 7475 7329 2929 ternal-status))) │ │ │ -0001b9e0: 2929 0a20 286c 6574 2028 286c 2027 286d )). (let ((l '(m │ │ │ -0001b9f0: 6178 2d73 7065 6370 646c 2d73 697a 6520 ax-specpdl-size │ │ │ -0001ba00: 2020 2032 3630 300a 2020 2020 2020 2020 2600. │ │ │ -0001ba10: 2020 2020 6d61 782d 6c69 7370 2d65 7661 max-lisp-eva │ │ │ -0001ba20: 6c2d 6465 7074 6820 3238 3030 2929 290a l-depth 2800))). │ │ │ -0001ba30: 2020 2028 7768 696c 6520 6c20 2873 6574 (while l (set │ │ │ -0001ba40: 2028 6d61 6b65 2d6c 6f63 616c 2d76 6172 (make-local-var │ │ │ -0001ba50: 6961 626c 6520 2870 6f70 206c 2929 2028 iable (pop l)) ( │ │ │ -0001ba60: 706f 7020 6c29 2929 290a 2028 6966 2028 pop l)))). (if ( │ │ │ -0001ba70: 616e 6420 7769 6e64 6f77 2d73 7973 7465 and window-syste │ │ │ -0001ba80: 6d20 6167 6461 322d 666f 6e74 7365 742d m agda2-fontset- │ │ │ -0001ba90: 6e61 6d65 290a 2020 2020 2028 636f 6e64 name). (cond │ │ │ -0001baa0: 6974 696f 6e2d 6361 7365 206e 696c 0a20 ition-case nil. │ │ │ -0001bab0: 2020 2020 2020 2020 2873 6574 2d66 7261 (set-fra │ │ │ -0001bac0: 6d65 2d66 6f6e 7420 6167 6461 322d 666f me-font agda2-fo │ │ │ -0001bad0: 6e74 7365 742d 6e61 6d65 290a 2020 2020 ntset-name). │ │ │ -0001bae0: 2020 2028 6572 726f 7220 2865 7272 6f72 (error (error │ │ │ -0001baf0: 2022 556e 6162 6c65 2074 6f20 6368 616e "Unable to chan │ │ │ -0001bb00: 6765 2074 6865 2066 6f6e 743b 2063 6861 ge the font; cha │ │ │ -0001bb10: 6e67 6520 6167 6461 322d 666f 6e74 7365 nge agda2-fontse │ │ │ -0001bb20: 742d 6e61 6d65 206f 7220 7477 6561 6b20 t-name or tweak │ │ │ -0001bb30: 6167 6461 322d 666f 6e74 7365 742d 7370 agda2-fontset-sp │ │ │ -0001bb40: 6563 2d6f 662d 666f 6e74 7365 742d 6167 ec-of-fontset-ag │ │ │ -0001bb50: 6461 3222 2929 2929 0a20 3b3b 2044 6561 da2")))). ;; Dea │ │ │ -0001bb60: 6374 6976 6174 6520 6869 6768 6c69 6768 ctivate highligh │ │ │ -0001bb70: 7469 6e67 2069 6620 7468 6520 6275 6666 ting if the buff │ │ │ -0001bb80: 6572 2069 7320 6564 6974 6564 2062 6566 er is edited bef │ │ │ -0001bb90: 6f72 650a 203b 3b20 7479 7065 6368 6563 ore. ;; typechec │ │ │ -0001bba0: 6b69 6e67 2069 7320 636f 6d70 6c65 7465 king is complete │ │ │ -0001bbb0: 2e0a 2028 6164 642d 686f 6f6b 2027 6669 .. (add-hook 'fi │ │ │ -0001bbc0: 7273 742d 6368 616e 6765 2d68 6f6f 6b20 rst-change-hook │ │ │ -0001bbd0: 2761 6764 6132 2d61 626f 7274 2d68 6967 'agda2-abort-hig │ │ │ -0001bbe0: 686c 6967 6874 696e 6720 6e69 6c20 276c hlighting nil 'l │ │ │ -0001bbf0: 6f63 616c 290a 203b 3b20 4966 2041 6764 ocal). ;; If Agd │ │ │ -0001bc00: 6120 6973 206e 6f74 2072 756e 6e69 6e67 a is not running │ │ │ -0001bc10: 2073 796e 7461 7820 6869 6768 6c69 6768 syntax highligh │ │ │ -0001bc20: 7469 6e67 2064 6f65 7320 6e6f 7420 776f ting does not wo │ │ │ -0001bc30: 726b 2070 726f 7065 726c 792e 0a20 2875 rk properly.. (u │ │ │ -0001bc40: 6e6c 6573 7320 2865 7120 2772 756e 2028 nless (eq 'run ( │ │ │ -0001bc50: 6167 6461 322d 7072 6f63 6573 732d 7374 agda2-process-st │ │ │ -0001bc60: 6174 7573 2929 0a20 2020 2861 6764 6132 atus)). (agda2 │ │ │ -0001bc70: 2d72 6573 7461 7274 2929 0a20 3b3b 204d -restart)). ;; M │ │ │ -0001bc80: 616b 6520 7375 7265 2074 6861 7420 466f ake sure that Fo │ │ │ -0001bc90: 6e74 204c 6f63 6b20 6d6f 6465 2069 7320 nt Lock mode is │ │ │ -0001bca0: 6e6f 7420 7573 6564 2e0a 2028 666f 6e74 not used.. (font │ │ │ -0001bcb0: 2d6c 6f63 6b2d 6d6f 6465 2030 290a 2028 -lock-mode 0). ( │ │ │ -0001bcc0: 6167 6461 322d 6869 6768 6c69 6768 742d agda2-highlight- │ │ │ -0001bcd0: 7365 7475 7029 0a20 2863 6f6e 6469 7469 setup). (conditi │ │ │ -0001bce0: 6f6e 2d63 6173 6520 6572 720a 2020 2020 on-case err. │ │ │ -0001bcf0: 2028 6167 6461 322d 6869 6768 6c69 6768 (agda2-highligh │ │ │ -0001bd00: 742d 7265 6c6f 6164 290a 2020 2028 6572 t-reload). (er │ │ │ -0001bd10: 726f 7220 286d 6573 7361 6765 2022 4869 ror (message "Hi │ │ │ -0001bd20: 6768 6c69 6768 7469 6e67 206e 6f74 206c ghlighting not l │ │ │ -0001bd30: 6f61 6465 643a 2025 7322 0a20 2020 2020 oaded: %s". │ │ │ -0001bd40: 2020 2020 2020 2020 2020 2020 2020 2865 (e │ │ │ -0001bd50: 7272 6f72 2d6d 6573 7361 6765 2d73 7472 rror-message-str │ │ │ -0001bd60: 696e 6720 6572 7229 2929 290a 2028 6167 ing err)))). (ag │ │ │ -0001bd70: 6461 322d 636f 6d6d 656e 7473 2d61 6e64 da2-comments-and │ │ │ -0001bd80: 2d70 6172 6167 7261 7068 732d 7365 7475 -paragraphs-setu │ │ │ -0001bd90: 7029 0a20 2866 6f72 6365 2d6d 6f64 652d p). (force-mode- │ │ │ -0001bda0: 6c69 6e65 2d75 7064 6174 6529 0a20 3b3b line-update). ;; │ │ │ -0001bdb0: 2050 726f 7465 6374 2067 6c6f 6261 6c20 Protect global │ │ │ -0001bdc0: 7661 6c75 6520 6f66 2064 6566 6175 6c74 value of default │ │ │ -0001bdd0: 2d69 6e70 7574 2d6d 6574 686f 6420 6672 -input-method fr │ │ │ -0001bde0: 6f6d 2073 6574 2d69 6e70 7574 2d6d 6574 om set-input-met │ │ │ -0001bdf0: 686f 642e 0a20 286d 616b 652d 6c6f 6361 hod.. (make-loca │ │ │ -0001be00: 6c2d 7661 7269 6162 6c65 2027 6465 6661 l-variable 'defa │ │ │ -0001be10: 756c 742d 696e 7075 742d 6d65 7468 6f64 ult-input-method │ │ │ -0001be20: 290a 203b 3b20 446f 6e27 7420 7461 6b65 ). ;; Don't take │ │ │ -0001be30: 2073 6372 6970 7420 696e 746f 2061 6363 script into acc │ │ │ -0001be40: 6f75 6e74 2077 6865 6e20 6465 7465 726d ount when determ │ │ │ -0001be50: 696e 696e 6720 776f 7264 2062 6f75 6e64 ining word bound │ │ │ -0001be60: 6172 6965 730a 2028 7365 7420 286d 616b aries. (set (mak │ │ │ -0001be70: 652d 6c6f 6361 6c2d 7661 7269 6162 6c65 e-local-variable │ │ │ -0001be80: 2027 776f 7264 2d63 6f6d 6269 6e69 6e67 'word-combining │ │ │ -0001be90: 2d63 6174 6567 6f72 6965 7329 2028 636f -categories) (co │ │ │ -0001bea0: 6e73 2027 286e 696c 202e 206e 696c 2920 ns '(nil . nil) │ │ │ -0001beb0: 776f 7264 2d63 6f6d 6269 6e69 6e67 2d63 word-combining-c │ │ │ -0001bec0: 6174 6567 6f72 6965 7329 290a 2028 7365 ategories)). (se │ │ │ -0001bed0: 742d 696e 7075 742d 6d65 7468 6f64 2022 t-input-method " │ │ │ -0001bee0: 4167 6461 2229 0a20 3b3b 2048 6967 686c Agda"). ;; Highl │ │ │ -0001bef0: 6967 6874 696e 6720 6574 632e 2069 7320 ighting etc. is │ │ │ -0001bf00: 7265 6d6f 7665 6420 7768 656e 2077 6520 removed when we │ │ │ -0001bf10: 7377 6974 6368 2066 726f 6d20 7468 6520 switch from the │ │ │ -0001bf20: 4167 6461 206d 6f64 652e 0a20 3b3b 2055 Agda mode.. ;; U │ │ │ -0001bf30: 7365 2063 6173 653a 2057 6865 6e20 6120 se case: When a │ │ │ -0001bf40: 6669 6c65 204d 2e6c 6167 6461 2077 6974 file M.lagda wit │ │ │ -0001bf50: 6820 6120 6c6f 6361 6c20 7661 7269 6162 h a local variab │ │ │ -0001bf60: 6c65 7320 6c69 7374 0a20 3b3b 2069 6e63 les list. ;; inc │ │ │ -0001bf70: 6c75 6469 6e67 2022 6d6f 6465 3a20 6c61 luding "mode: la │ │ │ -0001bf80: 7465 7822 2069 7320 6c6f 6164 6564 2063 tex" is loaded c │ │ │ -0001bf90: 6861 6e63 6573 2061 7265 2074 6861 7420 hances are that │ │ │ -0001bfa0: 7468 6520 4167 6461 206d 6f64 650a 203b the Agda mode. ; │ │ │ -0001bfb0: 3b20 6973 2061 6374 6976 6174 6564 2062 ; is activated b │ │ │ -0001bfc0: 6566 6f72 6520 7468 6520 4c61 5465 5820 efore the LaTeX │ │ │ -0001bfd0: 6d6f 6465 2c20 616e 6420 7468 6520 4c61 mode, and the La │ │ │ -0001bfe0: 5465 5820 6d6f 6465 2064 6f65 7320 6e6f TeX mode does no │ │ │ -0001bff0: 740a 203b 3b20 7365 656d 2074 6f20 7265 t. ;; seem to re │ │ │ -0001c000: 6d6f 7665 2074 6865 2074 6578 7420 7072 move the text pr │ │ │ -0001c010: 6f70 6572 7469 6573 2073 6574 2062 7920 operties set by │ │ │ -0001c020: 7468 6520 4167 6461 206d 6f64 652e 0a20 the Agda mode.. │ │ │ -0001c030: 2861 6464 2d68 6f6f 6b20 2763 6861 6e67 (add-hook 'chang │ │ │ -0001c040: 652d 6d61 6a6f 722d 6d6f 6465 2d68 6f6f e-major-mode-hoo │ │ │ -0001c050: 6b20 2761 6764 6132 2d71 7569 7420 6e69 k 'agda2-quit ni │ │ │ -0001c060: 6c20 276c 6f63 616c 2929 0a0a 2864 6566 l 'local))..(def │ │ │ -0001c070: 756e 2061 6764 6132 2d72 6573 7461 7274 un agda2-restart │ │ │ -0001c080: 2028 290a 2020 2254 7269 6573 2074 6f20 (). "Tries to │ │ │ -0001c090: 7374 6172 7420 6f72 2072 6573 7461 7274 start or restart │ │ │ -0001c0a0: 2074 6865 2041 6764 6120 7072 6f63 6573 the Agda proces │ │ │ -0001c0b0: 732e 220a 2020 2869 6e74 6572 6163 7469 s.". (interacti │ │ │ -0001c0c0: 7665 290a 0a20 203b 3b20 4b69 6c6c 2061 ve).. ;; Kill a │ │ │ -0001c0d0: 6e79 2072 756e 6e69 6e67 2069 6e73 7461 ny running insta │ │ │ -0001c0e0: 6e63 6520 6f66 2074 6865 2041 6764 6120 nce of the Agda │ │ │ -0001c0f0: 7072 6f63 6573 732e 0a20 2028 636f 6e64 process.. (cond │ │ │ -0001c100: 6974 696f 6e2d 6361 7365 206e 696c 0a20 ition-case nil. │ │ │ -0001c110: 2020 2020 2028 6167 6461 322d 7465 726d (agda2-term │ │ │ -0001c120: 290a 2020 2020 2865 7272 6f72 206e 696c ). (error nil │ │ │ -0001c130: 2929 0a0a 2020 3b3b 2043 6865 636b 2074 )).. ;; Check t │ │ │ -0001c140: 6861 7420 7468 6520 7269 6768 7420 7665 hat the right ve │ │ │ -0001c150: 7273 696f 6e20 6f66 2041 6764 6120 6973 rsion of Agda is │ │ │ -0001c160: 2075 7365 642e 0a20 2028 6c65 742a 2028 used.. (let* ( │ │ │ -0001c170: 2863 6f64 696e 672d 7379 7374 656d 2d66 (coding-system-f │ │ │ -0001c180: 6f72 2d72 6561 6420 2775 7466 2d38 290a or-read 'utf-8). │ │ │ -0001c190: 2020 2020 2020 2020 2028 6f75 7470 7574 (output │ │ │ -0001c1a0: 2028 7769 7468 2d6f 7574 7075 742d 746f (with-output-to │ │ │ -0001c1b0: 2d73 7472 696e 670a 2020 2020 2020 2020 -string. │ │ │ -0001c1c0: 2020 2020 2020 2020 2020 2028 6361 6c6c (call │ │ │ -0001c1d0: 2d70 726f 6365 7373 2061 6764 6132 2d70 -process agda2-p │ │ │ -0001c1e0: 726f 6772 616d 2d6e 616d 650a 2020 2020 rogram-name. │ │ │ +0001b460: 3b3b 3b0a 3b3b 3b3b 2061 6764 6132 2d6d ;;;.;;;; agda2-m │ │ │ +0001b470: 6f64 650a 0a3b 3b3b 2323 2361 7574 6f6c ode..;;;###autol │ │ │ +0001b480: 6f61 640a 2861 6464 2d74 6f2d 6c69 7374 oad.(add-to-list │ │ │ +0001b490: 2027 6175 746f 2d6d 6f64 652d 616c 6973 'auto-mode-alis │ │ │ +0001b4a0: 7420 2728 225c 5c2e 6c3f 6167 6461 5c5c t '("\\.l?agda\\ │ │ │ +0001b4b0: 2722 202e 2061 6764 6132 2d6d 6f64 6529 '" . agda2-mode) │ │ │ +0001b4c0: 290a 3b3b 3b23 2323 6175 746f 6c6f 6164 ).;;;###autoload │ │ │ +0001b4d0: 0a28 6d6f 6469 6679 2d63 6f64 696e 672d .(modify-coding- │ │ │ +0001b4e0: 7379 7374 656d 2d61 6c69 7374 2027 6669 system-alist 'fi │ │ │ +0001b4f0: 6c65 2022 5c5c 2e6c 3f61 6764 615c 5c27 le "\\.l?agda\\' │ │ │ +0001b500: 2220 2775 7466 2d38 290a 3b3b 3b23 2323 " 'utf-8).;;;### │ │ │ +0001b510: 6175 746f 6c6f 6164 0a28 6465 6669 6e65 autoload.(define │ │ │ +0001b520: 2d64 6572 6976 6564 2d6d 6f64 6520 6167 -derived-mode ag │ │ │ +0001b530: 6461 322d 6d6f 6465 2070 726f 672d 6d6f da2-mode prog-mo │ │ │ +0001b540: 6465 2022 4167 6461 220a 2020 224d 616a de "Agda". "Maj │ │ │ +0001b550: 6f72 206d 6f64 6520 666f 7220 4167 6461 or mode for Agda │ │ │ +0001b560: 2066 696c 6573 2e0a 0a54 6865 2066 6f6c files...The fol │ │ │ +0001b570: 6c6f 7769 6e67 2070 6172 6167 7261 7068 lowing paragraph │ │ │ +0001b580: 2064 6f65 7320 6e6f 7420 6170 706c 7920 does not apply │ │ │ +0001b590: 746f 2045 6d61 6373 2032 3320 6f72 206e to Emacs 23 or n │ │ │ +0001b5a0: 6577 6572 2e0a 0a20 204e 6f74 6520 7468 ewer... Note th │ │ │ +0001b5b0: 6174 2077 6865 6e20 7468 6973 206d 6f64 at when this mod │ │ │ +0001b5c0: 6520 6973 2061 6374 6976 6174 6564 2074 e is activated t │ │ │ +0001b5d0: 6865 2064 6566 6175 6c74 2066 6f6e 7420 he default font │ │ │ +0001b5e0: 6f66 2074 6865 0a20 2063 7572 7265 6e74 of the. current │ │ │ +0001b5f0: 2066 7261 6d65 2069 7320 6368 616e 6765 frame is change │ │ │ +0001b600: 6420 746f 2074 6865 2066 6f6e 7473 6574 d to the fontset │ │ │ +0001b610: 2060 6167 6461 322d 666f 6e74 7365 742d `agda2-fontset- │ │ │ +0001b620: 6e61 6d65 272e 0a20 2054 6865 2072 6561 name'.. The rea │ │ │ +0001b630: 736f 6e20 6973 2074 6861 7420 4167 6461 son is that Agda │ │ │ +0001b640: 2070 726f 6772 616d 7320 6f66 7465 6e20 programs often │ │ │ +0001b650: 7573 6520 6d61 7468 656d 6174 6963 616c use mathematical │ │ │ +0001b660: 2073 796d 626f 6c73 0a20 2061 6e64 206f symbols. and o │ │ │ +0001b670: 7468 6572 2055 6e69 636f 6465 2063 6861 ther Unicode cha │ │ │ +0001b680: 7261 6374 6572 732c 2073 6f20 7765 2074 racters, so we t │ │ │ +0001b690: 7279 2074 6f20 7072 6f76 6964 6520 6120 ry to provide a │ │ │ +0001b6a0: 7375 6974 6162 6c65 0a20 2064 6566 6175 suitable. defau │ │ │ +0001b6b0: 6c74 2066 6f6e 7420 7365 7474 696e 672c lt font setting, │ │ │ +0001b6c0: 2077 6869 6368 2063 616e 2064 6973 706c which can displ │ │ │ +0001b6d0: 6179 206d 616e 7920 6f66 2074 6865 2063 ay many of the c │ │ │ +0001b6e0: 6861 7261 6374 6572 730a 2020 656e 636f haracters. enco │ │ │ +0001b6f0: 756e 7465 7265 642e 2049 6620 796f 7520 untered. If you │ │ │ +0001b700: 7072 6566 6572 2074 6f20 7573 6520 796f prefer to use yo │ │ │ +0001b710: 7572 206f 776e 2073 6574 7469 6e67 732c ur own settings, │ │ │ +0001b720: 2073 6574 0a20 2060 6167 6461 322d 666f set. `agda2-fo │ │ │ +0001b730: 6e74 7365 742d 6e61 6d65 2720 746f 206e ntset-name' to n │ │ │ +0001b740: 696c 2e0a 0a53 7065 6369 616c 2063 6f6d il...Special com │ │ │ +0001b750: 6d61 6e64 733a 0a5c 5c7b 6167 6461 322d mands:.\\{agda2- │ │ │ +0001b760: 6d6f 6465 2d6d 6170 7d22 0a0a 2028 6966 mode-map}".. (if │ │ │ +0001b770: 2028 626f 756e 6470 2027 6167 6461 322d (boundp 'agda2- │ │ │ +0001b780: 696e 636c 7564 652d 6469 7273 290a 2020 include-dirs). │ │ │ +0001b790: 2020 2028 6469 7370 6c61 792d 7761 726e (display-warn │ │ │ +0001b7a0: 696e 6720 2761 6764 6132 2022 4e6f 7465 ing 'agda2 "Note │ │ │ +0001b7b0: 2074 6861 7420 7468 6520 7661 7269 6162 that the variab │ │ │ +0001b7c0: 6c65 2061 6764 6132 2d69 6e63 6c75 6465 le agda2-include │ │ │ +0001b7d0: 2d64 6972 7320 6973 0a6e 6f20 6c6f 6e67 -dirs is.no long │ │ │ +0001b7e0: 6572 2075 7365 642e 2059 6f75 206d 6179 er used. You may │ │ │ +0001b7f0: 2077 616e 7420 746f 2075 7064 6174 6520 want to update │ │ │ +0001b800: 796f 7572 2063 6f6e 6669 6775 7261 7469 your configurati │ │ │ +0001b810: 6f6e 2e20 596f 750a 6861 7665 2061 7420 on. You.have at │ │ │ +0001b820: 6c65 6173 7420 7477 6f20 6368 6f69 6365 least two choice │ │ │ +0001b830: 733a 0a2a 2055 7365 2074 6865 206c 6962 s:.* Use the lib │ │ │ +0001b840: 7261 7279 206d 616e 6167 656d 656e 7420 rary management │ │ │ +0001b850: 7379 7374 656d 2e0a 2a20 5365 7420 7468 system..* Set th │ │ │ +0001b860: 6520 696e 636c 7564 6520 7061 7468 2075 e include path u │ │ │ +0001b870: 7369 6e67 2061 6764 6132 2d70 726f 6772 sing agda2-progr │ │ │ +0001b880: 616d 2d61 7267 732e 0a0a 4f6e 6520 7761 am-args...One wa │ │ │ +0001b890: 7920 746f 2061 766f 6964 2073 6565 696e y to avoid seein │ │ │ +0001b8a0: 6720 7468 6973 2077 6172 6e69 6e67 2069 g this warning i │ │ │ +0001b8b0: 7320 746f 206d 616b 6520 7375 7265 2074 s to make sure t │ │ │ +0001b8c0: 6861 740a 6167 6461 322d 696e 636c 7564 hat.agda2-includ │ │ │ +0001b8d0: 652d 6469 7273 2069 7320 6e6f 7420 626f e-dirs is not bo │ │ │ +0001b8e0: 756e 642e 2220 3a77 6172 6e69 6e67 2929 und." :warning)) │ │ │ +0001b8f0: 0a0a 2028 7365 7471 206c 6f63 616c 2d61 .. (setq local-a │ │ │ +0001b900: 6262 7265 762d 7461 626c 6520 6167 6461 bbrev-table agda │ │ │ +0001b910: 322d 6d6f 6465 2d61 6262 7265 762d 7461 2-mode-abbrev-ta │ │ │ +0001b920: 626c 650a 2020 2020 2020 2069 6e64 656e ble. inden │ │ │ +0001b930: 742d 7461 6273 2d6d 6f64 6520 2020 6e69 t-tabs-mode ni │ │ │ +0001b940: 6c0a 2020 2020 2020 206d 6f64 652d 6c69 l. mode-li │ │ │ +0001b950: 6e65 2d70 726f 6365 7373 0a20 2020 2020 ne-process. │ │ │ +0001b960: 2020 2020 2728 283a 6576 616c 2028 756e '((:eval (un │ │ │ +0001b970: 6c65 7373 2028 6571 2030 2028 6c65 6e67 less (eq 0 (leng │ │ │ +0001b980: 7468 2061 6764 6132 2d62 7566 6665 722d th agda2-buffer- │ │ │ +0001b990: 6578 7465 726e 616c 2d73 7461 7475 7329 external-status) │ │ │ +0001b9a0: 290a 2020 2020 2020 2020 2020 2020 2020 ). │ │ │ +0001b9b0: 2020 2020 2020 2863 6f6e 6361 7420 223a (concat ": │ │ │ +0001b9c0: 2220 6167 6461 322d 6275 6666 6572 2d65 " agda2-buffer-e │ │ │ +0001b9d0: 7874 6572 6e61 6c2d 7374 6174 7573 2929 xternal-status)) │ │ │ +0001b9e0: 2929 290a 2028 6c65 7420 2828 6c20 2728 ))). (let ((l '( │ │ │ +0001b9f0: 6d61 782d 7370 6563 7064 6c2d 7369 7a65 max-specpdl-size │ │ │ +0001ba00: 2020 2020 3236 3030 0a20 2020 2020 2020 2600. │ │ │ +0001ba10: 2020 2020 206d 6178 2d6c 6973 702d 6576 max-lisp-ev │ │ │ +0001ba20: 616c 2d64 6570 7468 2032 3830 3029 2929 al-depth 2800))) │ │ │ +0001ba30: 0a20 2020 2877 6869 6c65 206c 2028 7365 . (while l (se │ │ │ +0001ba40: 7420 286d 616b 652d 6c6f 6361 6c2d 7661 t (make-local-va │ │ │ +0001ba50: 7269 6162 6c65 2028 706f 7020 6c29 2920 riable (pop l)) │ │ │ +0001ba60: 2870 6f70 206c 2929 2929 0a20 2869 6620 (pop l)))). (if │ │ │ +0001ba70: 2861 6e64 2077 696e 646f 772d 7379 7374 (and window-syst │ │ │ +0001ba80: 656d 2061 6764 6132 2d66 6f6e 7473 6574 em agda2-fontset │ │ │ +0001ba90: 2d6e 616d 6529 0a20 2020 2020 2863 6f6e -name). (con │ │ │ +0001baa0: 6469 7469 6f6e 2d63 6173 6520 6e69 6c0a dition-case nil. │ │ │ +0001bab0: 2020 2020 2020 2020 2028 7365 742d 6672 (set-fr │ │ │ +0001bac0: 616d 652d 666f 6e74 2061 6764 6132 2d66 ame-font agda2-f │ │ │ +0001bad0: 6f6e 7473 6574 2d6e 616d 6529 0a20 2020 ontset-name). │ │ │ +0001bae0: 2020 2020 2865 7272 6f72 2028 6572 726f (error (erro │ │ │ +0001baf0: 7220 2255 6e61 626c 6520 746f 2063 6861 r "Unable to cha │ │ │ +0001bb00: 6e67 6520 7468 6520 666f 6e74 3b20 6368 nge the font; ch │ │ │ +0001bb10: 616e 6765 2061 6764 6132 2d66 6f6e 7473 ange agda2-fonts │ │ │ +0001bb20: 6574 2d6e 616d 6520 6f72 2074 7765 616b et-name or tweak │ │ │ +0001bb30: 2061 6764 6132 2d66 6f6e 7473 6574 2d73 agda2-fontset-s │ │ │ +0001bb40: 7065 632d 6f66 2d66 6f6e 7473 6574 2d61 pec-of-fontset-a │ │ │ +0001bb50: 6764 6132 2229 2929 290a 203b 3b20 4465 gda2")))). ;; De │ │ │ +0001bb60: 6163 7469 7661 7465 2068 6967 686c 6967 activate highlig │ │ │ +0001bb70: 6874 696e 6720 6966 2074 6865 2062 7566 hting if the buf │ │ │ +0001bb80: 6665 7220 6973 2065 6469 7465 6420 6265 fer is edited be │ │ │ +0001bb90: 666f 7265 0a20 3b3b 2074 7970 6563 6865 fore. ;; typeche │ │ │ +0001bba0: 636b 696e 6720 6973 2063 6f6d 706c 6574 cking is complet │ │ │ +0001bbb0: 652e 0a20 2861 6464 2d68 6f6f 6b20 2766 e.. (add-hook 'f │ │ │ +0001bbc0: 6972 7374 2d63 6861 6e67 652d 686f 6f6b irst-change-hook │ │ │ +0001bbd0: 2027 6167 6461 322d 6162 6f72 742d 6869 'agda2-abort-hi │ │ │ +0001bbe0: 6768 6c69 6768 7469 6e67 206e 696c 2027 ghlighting nil ' │ │ │ +0001bbf0: 6c6f 6361 6c29 0a20 3b3b 2049 6620 4167 local). ;; If Ag │ │ │ +0001bc00: 6461 2069 7320 6e6f 7420 7275 6e6e 696e da is not runnin │ │ │ +0001bc10: 6720 7379 6e74 6178 2068 6967 686c 6967 g syntax highlig │ │ │ +0001bc20: 6874 696e 6720 646f 6573 206e 6f74 2077 hting does not w │ │ │ +0001bc30: 6f72 6b20 7072 6f70 6572 6c79 2e0a 2028 ork properly.. ( │ │ │ +0001bc40: 756e 6c65 7373 2028 6571 2027 7275 6e20 unless (eq 'run │ │ │ +0001bc50: 2861 6764 6132 2d70 726f 6365 7373 2d73 (agda2-process-s │ │ │ +0001bc60: 7461 7475 7329 290a 2020 2028 6167 6461 tatus)). (agda │ │ │ +0001bc70: 322d 7265 7374 6172 7429 290a 203b 3b20 2-restart)). ;; │ │ │ +0001bc80: 4d61 6b65 2073 7572 6520 7468 6174 2046 Make sure that F │ │ │ +0001bc90: 6f6e 7420 4c6f 636b 206d 6f64 6520 6973 ont Lock mode is │ │ │ +0001bca0: 206e 6f74 2075 7365 642e 0a20 2866 6f6e not used.. (fon │ │ │ +0001bcb0: 742d 6c6f 636b 2d6d 6f64 6520 3029 0a20 t-lock-mode 0). │ │ │ +0001bcc0: 2861 6764 6132 2d68 6967 686c 6967 6874 (agda2-highlight │ │ │ +0001bcd0: 2d73 6574 7570 290a 2028 636f 6e64 6974 -setup). (condit │ │ │ +0001bce0: 696f 6e2d 6361 7365 2065 7272 0a20 2020 ion-case err. │ │ │ +0001bcf0: 2020 2861 6764 6132 2d68 6967 686c 6967 (agda2-highlig │ │ │ +0001bd00: 6874 2d72 656c 6f61 6429 0a20 2020 2865 ht-reload). (e │ │ │ +0001bd10: 7272 6f72 2028 6d65 7373 6167 6520 2248 rror (message "H │ │ │ +0001bd20: 6967 686c 6967 6874 696e 6720 6e6f 7420 ighlighting not │ │ │ +0001bd30: 6c6f 6164 6564 3a20 2573 220a 2020 2020 loaded: %s". │ │ │ +0001bd40: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ +0001bd50: 6572 726f 722d 6d65 7373 6167 652d 7374 error-message-st │ │ │ +0001bd60: 7269 6e67 2065 7272 2929 2929 0a20 2861 ring err)))). (a │ │ │ +0001bd70: 6764 6132 2d63 6f6d 6d65 6e74 732d 616e gda2-comments-an │ │ │ +0001bd80: 642d 7061 7261 6772 6170 6873 2d73 6574 d-paragraphs-set │ │ │ +0001bd90: 7570 290a 2028 666f 7263 652d 6d6f 6465 up). (force-mode │ │ │ +0001bda0: 2d6c 696e 652d 7570 6461 7465 290a 203b -line-update). ; │ │ │ +0001bdb0: 3b20 5072 6f74 6563 7420 676c 6f62 616c ; Protect global │ │ │ +0001bdc0: 2076 616c 7565 206f 6620 6465 6661 756c value of defaul │ │ │ +0001bdd0: 742d 696e 7075 742d 6d65 7468 6f64 2066 t-input-method f │ │ │ +0001bde0: 726f 6d20 7365 742d 696e 7075 742d 6d65 rom set-input-me │ │ │ +0001bdf0: 7468 6f64 2e0a 2028 6d61 6b65 2d6c 6f63 thod.. (make-loc │ │ │ +0001be00: 616c 2d76 6172 6961 626c 6520 2764 6566 al-variable 'def │ │ │ +0001be10: 6175 6c74 2d69 6e70 7574 2d6d 6574 686f ault-input-metho │ │ │ +0001be20: 6429 0a20 3b3b 2044 6f6e 2774 2074 616b d). ;; Don't tak │ │ │ +0001be30: 6520 7363 7269 7074 2069 6e74 6f20 6163 e script into ac │ │ │ +0001be40: 636f 756e 7420 7768 656e 2064 6574 6572 count when deter │ │ │ +0001be50: 6d69 6e69 6e67 2077 6f72 6420 626f 756e mining word boun │ │ │ +0001be60: 6461 7269 6573 0a20 2873 6574 2028 6d61 daries. (set (ma │ │ │ +0001be70: 6b65 2d6c 6f63 616c 2d76 6172 6961 626c ke-local-variabl │ │ │ +0001be80: 6520 2777 6f72 642d 636f 6d62 696e 696e e 'word-combinin │ │ │ +0001be90: 672d 6361 7465 676f 7269 6573 2920 2863 g-categories) (c │ │ │ +0001bea0: 6f6e 7320 2728 6e69 6c20 2e20 6e69 6c29 ons '(nil . nil) │ │ │ +0001beb0: 2077 6f72 642d 636f 6d62 696e 696e 672d word-combining- │ │ │ +0001bec0: 6361 7465 676f 7269 6573 2929 0a20 2873 categories)). (s │ │ │ +0001bed0: 6574 2d69 6e70 7574 2d6d 6574 686f 6420 et-input-method │ │ │ +0001bee0: 2241 6764 6122 290a 203b 3b20 4869 6768 "Agda"). ;; High │ │ │ +0001bef0: 6c69 6768 7469 6e67 2065 7463 2e20 6973 lighting etc. is │ │ │ +0001bf00: 2072 656d 6f76 6564 2077 6865 6e20 7765 removed when we │ │ │ +0001bf10: 2073 7769 7463 6820 6672 6f6d 2074 6865 switch from the │ │ │ +0001bf20: 2041 6764 6120 6d6f 6465 2e0a 203b 3b20 Agda mode.. ;; │ │ │ +0001bf30: 5573 6520 6361 7365 3a20 5768 656e 2061 Use case: When a │ │ │ +0001bf40: 2066 696c 6520 4d2e 6c61 6764 6120 7769 file M.lagda wi │ │ │ +0001bf50: 7468 2061 206c 6f63 616c 2076 6172 6961 th a local varia │ │ │ +0001bf60: 626c 6573 206c 6973 740a 203b 3b20 696e bles list. ;; in │ │ │ +0001bf70: 636c 7564 696e 6720 226d 6f64 653a 206c cluding "mode: l │ │ │ +0001bf80: 6174 6578 2220 6973 206c 6f61 6465 6420 atex" is loaded │ │ │ +0001bf90: 6368 616e 6365 7320 6172 6520 7468 6174 chances are that │ │ │ +0001bfa0: 2074 6865 2041 6764 6120 6d6f 6465 0a20 the Agda mode. │ │ │ +0001bfb0: 3b3b 2069 7320 6163 7469 7661 7465 6420 ;; is activated │ │ │ +0001bfc0: 6265 666f 7265 2074 6865 204c 6154 6558 before the LaTeX │ │ │ +0001bfd0: 206d 6f64 652c 2061 6e64 2074 6865 204c mode, and the L │ │ │ +0001bfe0: 6154 6558 206d 6f64 6520 646f 6573 206e aTeX mode does n │ │ │ +0001bff0: 6f74 0a20 3b3b 2073 6565 6d20 746f 2072 ot. ;; seem to r │ │ │ +0001c000: 656d 6f76 6520 7468 6520 7465 7874 2070 emove the text p │ │ │ +0001c010: 726f 7065 7274 6965 7320 7365 7420 6279 roperties set by │ │ │ +0001c020: 2074 6865 2041 6764 6120 6d6f 6465 2e0a the Agda mode.. │ │ │ +0001c030: 2028 6164 642d 686f 6f6b 2027 6368 616e (add-hook 'chan │ │ │ +0001c040: 6765 2d6d 616a 6f72 2d6d 6f64 652d 686f ge-major-mode-ho │ │ │ +0001c050: 6f6b 2027 6167 6461 322d 7175 6974 206e ok 'agda2-quit n │ │ │ +0001c060: 696c 2027 6c6f 6361 6c29 290a 0a28 6465 il 'local))..(de │ │ │ +0001c070: 6675 6e20 6167 6461 322d 7265 7374 6172 fun agda2-restar │ │ │ +0001c080: 7420 2829 0a20 2022 5472 6965 7320 746f t (). "Tries to │ │ │ +0001c090: 2073 7461 7274 206f 7220 7265 7374 6172 start or restar │ │ │ +0001c0a0: 7420 7468 6520 4167 6461 2070 726f 6365 t the Agda proce │ │ │ +0001c0b0: 7373 2e22 0a20 2028 696e 7465 7261 6374 ss.". (interact │ │ │ +0001c0c0: 6976 6529 0a0a 2020 3b3b 204b 696c 6c20 ive).. ;; Kill │ │ │ +0001c0d0: 616e 7920 7275 6e6e 696e 6720 696e 7374 any running inst │ │ │ +0001c0e0: 616e 6365 206f 6620 7468 6520 4167 6461 ance of the Agda │ │ │ +0001c0f0: 2070 726f 6365 7373 2e0a 2020 2863 6f6e process.. (con │ │ │ +0001c100: 6469 7469 6f6e 2d63 6173 6520 6e69 6c0a dition-case nil. │ │ │ +0001c110: 2020 2020 2020 2861 6764 6132 2d74 6572 (agda2-ter │ │ │ +0001c120: 6d29 0a20 2020 2028 6572 726f 7220 6e69 m). (error ni │ │ │ +0001c130: 6c29 290a 0a20 203b 3b20 4368 6563 6b20 l)).. ;; Check │ │ │ +0001c140: 7468 6174 2074 6865 2072 6967 6874 2076 that the right v │ │ │ +0001c150: 6572 7369 6f6e 206f 6620 4167 6461 2069 ersion of Agda i │ │ │ +0001c160: 7320 7573 6564 2e0a 2020 286c 6574 2a20 s used.. (let* │ │ │ +0001c170: 2828 636f 6469 6e67 2d73 7973 7465 6d2d ((coding-system- │ │ │ +0001c180: 666f 722d 7265 6164 2027 7574 662d 3829 for-read 'utf-8) │ │ │ +0001c190: 0a20 2020 2020 2020 2020 286f 7574 7075 . (outpu │ │ │ +0001c1a0: 7420 2877 6974 682d 6f75 7470 7574 2d74 t (with-output-t │ │ │ +0001c1b0: 6f2d 7374 7269 6e67 0a20 2020 2020 2020 o-string. │ │ │ +0001c1c0: 2020 2020 2020 2020 2020 2020 2863 616c (cal │ │ │ +0001c1d0: 6c2d 7072 6f63 6573 7320 6167 6461 322d l-process agda2- │ │ │ +0001c1e0: 7072 6f67 7261 6d2d 6e61 6d65 0a20 2020 program-name. │ │ │ 0001c1f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0001c200: 2020 2020 2020 2020 2020 2020 206e 696c nil │ │ │ -0001c210: 2073 7461 6e64 6172 642d 6f75 7470 7574 standard-output │ │ │ -0001c220: 206e 696c 2022 2d2d 7665 7273 696f 6e22 nil "--version" │ │ │ -0001c230: 2929 290a 2020 2020 2020 2020 2028 7665 ))). (ve │ │ │ -0001c240: 7273 696f 6e20 2861 6e64 2028 7374 7269 rsion (and (stri │ │ │ -0001c250: 6e67 2d6d 6174 6368 2022 5e41 6764 6120 ng-match "^Agda │ │ │ -0001c260: 7665 7273 696f 6e20 5c5c 285b 302d 392e version \\([0-9. │ │ │ -0001c270: 5d2b 5c5c 2922 206f 7574 7075 7429 0a20 ]+\\)" output). │ │ │ +0001c200: 2020 2020 2020 2020 2020 2020 2020 6e69 ni │ │ │ +0001c210: 6c20 7374 616e 6461 7264 2d6f 7574 7075 l standard-outpu │ │ │ +0001c220: 7420 6e69 6c20 222d 2d76 6572 7369 6f6e t nil "--version │ │ │ +0001c230: 2229 2929 0a20 2020 2020 2020 2020 2876 "))). (v │ │ │ +0001c240: 6572 7369 6f6e 2028 616e 6420 2873 7472 ersion (and (str │ │ │ +0001c250: 696e 672d 6d61 7463 6820 225e 4167 6461 ing-match "^Agda │ │ │ +0001c260: 2076 6572 7369 6f6e 205c 5c28 5b30 2d39 version \\([0-9 │ │ │ +0001c270: 2e5d 2b5c 5c29 2220 6f75 7470 7574 290a .]+\\)" output). │ │ │ 0001c280: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0001c290: 2020 2020 2020 286d 6174 6368 2d73 7472 (match-str │ │ │ -0001c2a0: 696e 6720 3120 6f75 7470 7574 2929 2929 ing 1 output)))) │ │ │ -0001c2b0: 0a20 2020 2028 756e 6c65 7373 2028 6571 . (unless (eq │ │ │ -0001c2c0: 7561 6c20 7665 7273 696f 6e20 6167 6461 ual version agda │ │ │ -0001c2d0: 322d 7665 7273 696f 6e29 0a20 2020 2020 2-version). │ │ │ -0001c2e0: 2028 6572 726f 7220 2254 6865 2041 6764 (error "The Agd │ │ │ -0001c2f0: 6120 6d6f 6465 2773 2076 6572 7369 6f6e a mode's version │ │ │ -0001c300: 2028 2573 2920 646f 6573 206e 6f74 206d (%s) does not m │ │ │ -0001c310: 6174 6368 2074 6861 7420 6f66 2025 7320 atch that of %s │ │ │ -0001c320: 2825 7329 2e22 0a20 2020 2020 2020 2020 (%s).". │ │ │ -0001c330: 2020 2020 6167 6461 322d 7665 7273 696f agda2-versio │ │ │ -0001c340: 6e0a 2020 2020 2020 2020 2020 2020 2061 n. a │ │ │ -0001c350: 6764 6132 2d70 726f 6772 616d 2d6e 616d gda2-program-nam │ │ │ -0001c360: 6520 286f 7220 7665 7273 696f 6e20 2275 e (or version "u │ │ │ -0001c370: 6e6b 6e6f 776e 2229 2929 290a 0a20 2028 nknown")))).. ( │ │ │ -0001c380: 6c65 7420 2828 616c 6c2d 7072 6f67 7261 let ((all-progra │ │ │ -0001c390: 6d2d 6172 6773 2028 636f 6e73 2022 2d2d m-args (cons "-- │ │ │ -0001c3a0: 696e 7465 7261 6374 696f 6e22 2061 6764 interaction" agd │ │ │ -0001c3b0: 6132 2d70 726f 6772 616d 2d61 7267 7329 a2-program-args) │ │ │ -0001c3c0: 2929 0a0a 2020 2020 3b3b 2043 6865 636b )).. ;; Check │ │ │ -0001c3d0: 2074 6861 7420 7468 6520 6172 6775 6d65 that the argume │ │ │ -0001c3e0: 6e74 7320 6172 6520 6e6f 7420 6d61 6c66 nts are not malf │ │ │ -0001c3f0: 6f72 6d65 642e 0a20 2020 2028 6c65 742a ormed.. (let* │ │ │ -0001c400: 2028 2863 6f64 696e 672d 7379 7374 656d ((coding-system │ │ │ -0001c410: 2d66 6f72 2d72 6561 6420 2775 7466 2d38 -for-read 'utf-8 │ │ │ -0001c420: 290a 2020 2020 2020 2020 2020 2028 7374 ). (st │ │ │ -0001c430: 6174 7573 290a 2020 2020 2020 2020 2020 atus). │ │ │ -0001c440: 2028 6f75 7470 7574 0a20 2020 2020 2020 (output. │ │ │ -0001c450: 2020 2020 2028 7769 7468 2d6f 7574 7075 (with-outpu │ │ │ -0001c460: 742d 746f 2d73 7472 696e 670a 2020 2020 t-to-string. │ │ │ -0001c470: 2020 2020 2020 2020 2020 2873 6574 7120 (setq │ │ │ -0001c480: 7374 6174 7573 0a20 2020 2020 2020 2020 status. │ │ │ -0001c490: 2020 2020 2020 2020 2020 2028 6170 706c (appl │ │ │ -0001c4a0: 7920 2763 616c 6c2d 7072 6f63 6573 7320 y 'call-process │ │ │ -0001c4b0: 6167 6461 322d 7072 6f67 7261 6d2d 6e61 agda2-program-na │ │ │ -0001c4c0: 6d65 0a20 2020 2020 2020 2020 2020 2020 me. │ │ │ -0001c4d0: 2020 2020 2020 2020 2020 2020 2020 6e69 ni │ │ │ -0001c4e0: 6c20 7374 616e 6461 7264 2d6f 7574 7075 l standard-outpu │ │ │ -0001c4f0: 7420 6e69 6c20 616c 6c2d 7072 6f67 7261 t nil all-progra │ │ │ -0001c500: 6d2d 6172 6773 2929 2929 290a 2020 2020 m-args))))). │ │ │ -0001c510: 2020 2875 6e6c 6573 7320 2865 7175 616c (unless (equal │ │ │ -0001c520: 2073 7461 7475 7320 3029 0a20 2020 2020 status 0). │ │ │ -0001c530: 2020 2028 6572 726f 7220 2246 6169 6c65 (error "Faile │ │ │ -0001c540: 6420 746f 2073 7461 7274 2074 6865 2041 d to start the A │ │ │ -0001c550: 6764 6120 7072 6f63 6573 733a 5c6e 2573 gda process:\n%s │ │ │ -0001c560: 2220 6f75 7470 7574 2929 290a 0a20 2020 " output))).. │ │ │ -0001c570: 203b 3b20 5374 6172 7420 7468 6520 4167 ;; Start the Ag │ │ │ -0001c580: 6461 2070 726f 6365 7373 2e0a 2020 2020 da process.. │ │ │ -0001c590: 286c 6574 2028 2861 6764 6132 2d62 7566 (let ((agda2-buf │ │ │ -0001c5a0: 6e61 6d65 2022 2a61 6764 6132 2a22 2929 name "*agda2*")) │ │ │ -0001c5b0: 0a0a 2020 2020 2020 286c 6574 2028 2870 .. (let ((p │ │ │ -0001c5c0: 726f 6365 7373 2d63 6f6e 6e65 6374 696f rocess-connectio │ │ │ -0001c5d0: 6e2d 7479 7065 206e 696c 2929 203b 2050 n-type nil)) ; P │ │ │ -0001c5e0: 6970 6573 2061 7265 2066 6173 7465 7220 ipes are faster │ │ │ -0001c5f0: 7468 616e 2050 5459 732e 0a20 2020 2020 than PTYs.. │ │ │ -0001c600: 2020 2028 7365 7471 2061 6764 6132 2d70 (setq agda2-p │ │ │ -0001c610: 726f 6365 7373 0a20 2020 2020 2020 2020 rocess. │ │ │ -0001c620: 2020 2020 2028 6170 706c 7920 2773 7461 (apply 'sta │ │ │ -0001c630: 7274 2d70 726f 6365 7373 2022 4167 6461 rt-process "Agda │ │ │ -0001c640: 3222 2061 6764 6132 2d62 7566 6e61 6d65 2" agda2-bufname │ │ │ -0001c650: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ -0001c660: 2020 2020 2020 6167 6461 322d 7072 6f67 agda2-prog │ │ │ -0001c670: 7261 6d2d 6e61 6d65 2061 6c6c 2d70 726f ram-name all-pro │ │ │ -0001c680: 6772 616d 2d61 7267 7329 2929 0a0a 2020 gram-args))).. │ │ │ -0001c690: 2020 2020 2873 6574 2d70 726f 6365 7373 (set-process │ │ │ -0001c6a0: 2d63 6f64 696e 672d 7379 7374 656d 2061 -coding-system a │ │ │ -0001c6b0: 6764 6132 2d70 726f 6365 7373 2027 7574 gda2-process 'ut │ │ │ -0001c6c0: 662d 3820 2775 7466 2d38 290a 2020 2020 f-8 'utf-8). │ │ │ -0001c6d0: 2020 2873 6574 2d70 726f 6365 7373 2d71 (set-process-q │ │ │ -0001c6e0: 7565 7279 2d6f 6e2d 6578 6974 2d66 6c61 uery-on-exit-fla │ │ │ -0001c6f0: 6720 6167 6461 322d 7072 6f63 6573 7320 g agda2-process │ │ │ -0001c700: 6e69 6c29 0a20 2020 2020 2028 7365 742d nil). (set- │ │ │ -0001c710: 7072 6f63 6573 732d 6669 6c74 6572 2061 process-filter a │ │ │ -0001c720: 6764 6132 2d70 726f 6365 7373 2027 6167 gda2-process 'ag │ │ │ -0001c730: 6461 322d 6f75 7470 7574 2d66 696c 7465 da2-output-filte │ │ │ -0001c740: 7229 0a20 2020 2020 2028 7365 7471 2061 r). (setq a │ │ │ -0001c750: 6764 6132 2d69 6e2d 7072 6f67 7265 7373 gda2-in-progress │ │ │ -0001c760: 206e 696c 0a20 2020 2020 2020 2020 2020 nil. │ │ │ -0001c770: 2061 6764 6132 2d66 696c 652d 6275 6666 agda2-file-buff │ │ │ -0001c780: 6572 2028 6375 7272 656e 742d 6275 6666 er (current-buff │ │ │ -0001c790: 6572 2929 0a0a 2020 2020 2020 2877 6974 er)).. (wit │ │ │ -0001c7a0: 682d 6375 7272 656e 742d 6275 6666 6572 h-current-buffer │ │ │ -0001c7b0: 2061 6764 6132 2d62 7566 6e61 6d65 0a20 agda2-bufname. │ │ │ -0001c7c0: 2020 2020 2020 2028 7365 7471 2061 6764 (setq agd │ │ │ -0001c7d0: 6132 2d70 726f 6365 7373 2d62 7566 6665 a2-process-buffe │ │ │ -0001c7e0: 7220 2863 7572 7265 6e74 2d62 7566 6665 r (current-buffe │ │ │ -0001c7f0: 7229 0a20 2020 2020 2020 2020 2020 2020 r). │ │ │ -0001c800: 206d 6f64 652d 6e61 6d65 2020 2020 2020 mode-name │ │ │ -0001c810: 2020 2020 2020 2241 6764 6120 6578 6563 "Agda exec │ │ │ -0001c820: 7574 6162 6c65 220a 2020 2020 2020 2020 utable". │ │ │ -0001c830: 2020 2020 2020 6167 6461 322d 6c61 7374 agda2-last │ │ │ -0001c840: 2d72 6573 706f 6e73 6573 206e 696c 290a -responses nil). │ │ │ -0001c850: 2020 2020 2020 2020 2873 6574 2d62 7566 (set-buf │ │ │ -0001c860: 6665 722d 6669 6c65 2d63 6f64 696e 672d fer-file-coding- │ │ │ -0001c870: 7379 7374 656d 2027 7574 662d 3829 290a system 'utf-8)). │ │ │ -0001c880: 0a20 2020 2020 2028 6167 6461 322d 7265 . (agda2-re │ │ │ -0001c890: 6d6f 7665 2d61 6e6e 6f74 6174 696f 6e73 move-annotations │ │ │ -0001c8a0: 2929 2929 0a0a 3b3b 3b3b 3b3b 3b3b 3b3b ))))..;;;;;;;;;; │ │ │ +0001c290: 2020 2020 2020 2028 6d61 7463 682d 7374 (match-st │ │ │ +0001c2a0: 7269 6e67 2031 206f 7574 7075 7429 2929 ring 1 output))) │ │ │ +0001c2b0: 290a 2020 2020 2875 6e6c 6573 7320 2865 ). (unless (e │ │ │ +0001c2c0: 7175 616c 2076 6572 7369 6f6e 2061 6764 qual version agd │ │ │ +0001c2d0: 6132 2d76 6572 7369 6f6e 290a 2020 2020 a2-version). │ │ │ +0001c2e0: 2020 2865 7272 6f72 2022 5468 6520 4167 (error "The Ag │ │ │ +0001c2f0: 6461 206d 6f64 6527 7320 7665 7273 696f da mode's versio │ │ │ +0001c300: 6e20 2825 7329 2064 6f65 7320 6e6f 7420 n (%s) does not │ │ │ +0001c310: 6d61 7463 6820 7468 6174 206f 6620 2573 match that of %s │ │ │ +0001c320: 2028 2573 292e 220a 2020 2020 2020 2020 (%s).". │ │ │ +0001c330: 2020 2020 2061 6764 6132 2d76 6572 7369 agda2-versi │ │ │ +0001c340: 6f6e 0a20 2020 2020 2020 2020 2020 2020 on. │ │ │ +0001c350: 6167 6461 322d 7072 6f67 7261 6d2d 6e61 agda2-program-na │ │ │ +0001c360: 6d65 2028 6f72 2076 6572 7369 6f6e 2022 me (or version " │ │ │ +0001c370: 756e 6b6e 6f77 6e22 2929 2929 0a0a 2020 unknown")))).. │ │ │ +0001c380: 286c 6574 2028 2861 6c6c 2d70 726f 6772 (let ((all-progr │ │ │ +0001c390: 616d 2d61 7267 7320 2863 6f6e 7320 222d am-args (cons "- │ │ │ +0001c3a0: 2d69 6e74 6572 6163 7469 6f6e 2220 6167 -interaction" ag │ │ │ +0001c3b0: 6461 322d 7072 6f67 7261 6d2d 6172 6773 da2-program-args │ │ │ +0001c3c0: 2929 290a 0a20 2020 203b 3b20 4368 6563 ))).. ;; Chec │ │ │ +0001c3d0: 6b20 7468 6174 2074 6865 2061 7267 756d k that the argum │ │ │ +0001c3e0: 656e 7473 2061 7265 206e 6f74 206d 616c ents are not mal │ │ │ +0001c3f0: 666f 726d 6564 2e0a 2020 2020 286c 6574 formed.. (let │ │ │ +0001c400: 2a20 2828 636f 6469 6e67 2d73 7973 7465 * ((coding-syste │ │ │ +0001c410: 6d2d 666f 722d 7265 6164 2027 7574 662d m-for-read 'utf- │ │ │ +0001c420: 3829 0a20 2020 2020 2020 2020 2020 2873 8). (s │ │ │ +0001c430: 7461 7475 7329 0a20 2020 2020 2020 2020 tatus). │ │ │ +0001c440: 2020 286f 7574 7075 740a 2020 2020 2020 (output. │ │ │ +0001c450: 2020 2020 2020 2877 6974 682d 6f75 7470 (with-outp │ │ │ +0001c460: 7574 2d74 6f2d 7374 7269 6e67 0a20 2020 ut-to-string. │ │ │ +0001c470: 2020 2020 2020 2020 2020 2028 7365 7471 (setq │ │ │ +0001c480: 2073 7461 7475 730a 2020 2020 2020 2020 status. │ │ │ +0001c490: 2020 2020 2020 2020 2020 2020 2861 7070 (app │ │ │ +0001c4a0: 6c79 2027 6361 6c6c 2d70 726f 6365 7373 ly 'call-process │ │ │ +0001c4b0: 2061 6764 6132 2d70 726f 6772 616d 2d6e agda2-program-n │ │ │ +0001c4c0: 616d 650a 2020 2020 2020 2020 2020 2020 ame. │ │ │ +0001c4d0: 2020 2020 2020 2020 2020 2020 2020 206e n │ │ │ +0001c4e0: 696c 2073 7461 6e64 6172 642d 6f75 7470 il standard-outp │ │ │ +0001c4f0: 7574 206e 696c 2061 6c6c 2d70 726f 6772 ut nil all-progr │ │ │ +0001c500: 616d 2d61 7267 7329 2929 2929 0a20 2020 am-args))))). │ │ │ +0001c510: 2020 2028 756e 6c65 7373 2028 6571 7561 (unless (equa │ │ │ +0001c520: 6c20 7374 6174 7573 2030 290a 2020 2020 l status 0). │ │ │ +0001c530: 2020 2020 2865 7272 6f72 2022 4661 696c (error "Fail │ │ │ +0001c540: 6564 2074 6f20 7374 6172 7420 7468 6520 ed to start the │ │ │ +0001c550: 4167 6461 2070 726f 6365 7373 3a5c 6e25 Agda process:\n% │ │ │ +0001c560: 7322 206f 7574 7075 7429 2929 0a0a 2020 s" output))).. │ │ │ +0001c570: 2020 3b3b 2053 7461 7274 2074 6865 2041 ;; Start the A │ │ │ +0001c580: 6764 6120 7072 6f63 6573 732e 0a20 2020 gda process.. │ │ │ +0001c590: 2028 6c65 7420 2828 6167 6461 322d 6275 (let ((agda2-bu │ │ │ +0001c5a0: 666e 616d 6520 222a 6167 6461 322a 2229 fname "*agda2*") │ │ │ +0001c5b0: 290a 0a20 2020 2020 2028 6c65 7420 2828 ).. (let (( │ │ │ +0001c5c0: 7072 6f63 6573 732d 636f 6e6e 6563 7469 process-connecti │ │ │ +0001c5d0: 6f6e 2d74 7970 6520 6e69 6c29 2920 3b20 on-type nil)) ; │ │ │ +0001c5e0: 5069 7065 7320 6172 6520 6661 7374 6572 Pipes are faster │ │ │ +0001c5f0: 2074 6861 6e20 5054 5973 2e0a 2020 2020 than PTYs.. │ │ │ +0001c600: 2020 2020 2873 6574 7120 6167 6461 322d (setq agda2- │ │ │ +0001c610: 7072 6f63 6573 730a 2020 2020 2020 2020 process. │ │ │ +0001c620: 2020 2020 2020 2861 7070 6c79 2027 7374 (apply 'st │ │ │ +0001c630: 6172 742d 7072 6f63 6573 7320 2241 6764 art-process "Agd │ │ │ +0001c640: 6132 2220 6167 6461 322d 6275 666e 616d a2" agda2-bufnam │ │ │ +0001c650: 650a 2020 2020 2020 2020 2020 2020 2020 e. │ │ │ +0001c660: 2020 2020 2020 2061 6764 6132 2d70 726f agda2-pro │ │ │ +0001c670: 6772 616d 2d6e 616d 6520 616c 6c2d 7072 gram-name all-pr │ │ │ +0001c680: 6f67 7261 6d2d 6172 6773 2929 290a 0a20 ogram-args))).. │ │ │ +0001c690: 2020 2020 2028 7365 742d 7072 6f63 6573 (set-proces │ │ │ +0001c6a0: 732d 636f 6469 6e67 2d73 7973 7465 6d20 s-coding-system │ │ │ +0001c6b0: 6167 6461 322d 7072 6f63 6573 7320 2775 agda2-process 'u │ │ │ +0001c6c0: 7466 2d38 2027 7574 662d 3829 0a20 2020 tf-8 'utf-8). │ │ │ +0001c6d0: 2020 2028 7365 742d 7072 6f63 6573 732d (set-process- │ │ │ +0001c6e0: 7175 6572 792d 6f6e 2d65 7869 742d 666c query-on-exit-fl │ │ │ +0001c6f0: 6167 2061 6764 6132 2d70 726f 6365 7373 ag agda2-process │ │ │ +0001c700: 206e 696c 290a 2020 2020 2020 2873 6574 nil). (set │ │ │ +0001c710: 2d70 726f 6365 7373 2d66 696c 7465 7220 -process-filter │ │ │ +0001c720: 6167 6461 322d 7072 6f63 6573 7320 2761 agda2-process 'a │ │ │ +0001c730: 6764 6132 2d6f 7574 7075 742d 6669 6c74 gda2-output-filt │ │ │ +0001c740: 6572 290a 2020 2020 2020 2873 6574 7120 er). (setq │ │ │ +0001c750: 6167 6461 322d 696e 2d70 726f 6772 6573 agda2-in-progres │ │ │ +0001c760: 7320 6e69 6c0a 2020 2020 2020 2020 2020 s nil. │ │ │ +0001c770: 2020 6167 6461 322d 6669 6c65 2d62 7566 agda2-file-buf │ │ │ +0001c780: 6665 7220 2863 7572 7265 6e74 2d62 7566 fer (current-buf │ │ │ +0001c790: 6665 7229 290a 0a20 2020 2020 2028 7769 fer)).. (wi │ │ │ +0001c7a0: 7468 2d63 7572 7265 6e74 2d62 7566 6665 th-current-buffe │ │ │ +0001c7b0: 7220 6167 6461 322d 6275 666e 616d 650a r agda2-bufname. │ │ │ +0001c7c0: 2020 2020 2020 2020 2873 6574 7120 6167 (setq ag │ │ │ +0001c7d0: 6461 322d 7072 6f63 6573 732d 6275 6666 da2-process-buff │ │ │ +0001c7e0: 6572 2028 6375 7272 656e 742d 6275 6666 er (current-buff │ │ │ +0001c7f0: 6572 290a 2020 2020 2020 2020 2020 2020 er). │ │ │ +0001c800: 2020 6d6f 6465 2d6e 616d 6520 2020 2020 mode-name │ │ │ +0001c810: 2020 2020 2020 2022 4167 6461 2065 7865 "Agda exe │ │ │ +0001c820: 6375 7461 626c 6522 0a20 2020 2020 2020 cutable". │ │ │ +0001c830: 2020 2020 2020 2061 6764 6132 2d6c 6173 agda2-las │ │ │ +0001c840: 742d 7265 7370 6f6e 7365 7320 6e69 6c29 t-responses nil) │ │ │ +0001c850: 0a20 2020 2020 2020 2028 7365 742d 6275 . (set-bu │ │ │ +0001c860: 6666 6572 2d66 696c 652d 636f 6469 6e67 ffer-file-coding │ │ │ +0001c870: 2d73 7973 7465 6d20 2775 7466 2d38 2929 -system 'utf-8)) │ │ │ +0001c880: 0a0a 2020 2020 2020 2861 6764 6132 2d72 .. (agda2-r │ │ │ +0001c890: 656d 6f76 652d 616e 6e6f 7461 7469 6f6e emove-annotation │ │ │ +0001c8a0: 7329 2929 290a 0a3b 3b3b 3b3b 3b3b 3b3b s))))..;;;;;;;;; │ │ │ 0001c8b0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 0001c8c0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 0001c8d0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ -0001c8e0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 0a3b ;;;;;;;;;;;;;;.; │ │ │ -0001c8f0: 3b3b 3b20 436f 6d6d 756e 6963 6174 696e ;;; Communicatin │ │ │ -0001c900: 6720 7769 7468 2041 6764 610a 0a28 6465 g with Agda..(de │ │ │ -0001c910: 6675 6e20 6167 6461 322d 7261 6973 652d fun agda2-raise- │ │ │ -0001c920: 6572 726f 7220 2829 0a20 2022 5261 6973 error (). "Rais │ │ │ -0001c930: 6573 2061 6e20 6572 726f 722e 0a54 6865 es an error..The │ │ │ -0001c940: 2065 7272 6f72 206d 6573 7361 6765 2064 error message d │ │ │ -0001c950: 6972 6563 7473 2074 6865 2075 7365 7220 irects the user │ │ │ -0001c960: 746f 2074 6865 202a 6167 6461 322a 2062 to the *agda2* b │ │ │ -0001c970: 7566 6665 722e 220a 2020 2865 7272 6f72 uffer.". (error │ │ │ -0001c980: 2022 5072 6f62 6c65 6d20 656e 636f 756e "Problem encoun │ │ │ -0001c990: 7465 7265 642e 2054 6865 202a 6167 6461 tered. The *agda │ │ │ -0001c9a0: 322a 2062 7566 6665 7220 6361 6e20 7065 2* buffer can pe │ │ │ -0001c9b0: 7268 6170 7320 6578 706c 6169 6e20 7768 rhaps explain wh │ │ │ -0001c9c0: 792e 2229 290a 0a28 6465 6675 6e20 6167 y."))..(defun ag │ │ │ -0001c9d0: 6461 322d 7275 6e6e 696e 672d 7020 6e69 da2-running-p ni │ │ │ -0001c9e0: 6c0a 2020 2244 6f65 7320 7468 6520 2a61 l. "Does the *a │ │ │ -0001c9f0: 6764 6132 2a20 6275 6666 6572 2065 7869 gda2* buffer exi │ │ │ -0001ca00: 7374 2c20 616e 6420 6973 2074 6865 2041 st, and is the A │ │ │ -0001ca10: 6764 6132 2070 726f 6365 7373 2072 756e gda2 process run │ │ │ -0001ca20: 6e69 6e67 3f22 0a20 2028 616e 6420 2862 ning?". (and (b │ │ │ -0001ca30: 7566 6665 722d 6c69 7665 2d70 2061 6764 uffer-live-p agd │ │ │ -0001ca40: 6132 2d70 726f 6365 7373 2d62 7566 6665 a2-process-buffe │ │ │ -0001ca50: 7229 0a20 2020 2020 2020 2865 7120 2861 r). (eq (a │ │ │ -0001ca60: 6764 6132 2d70 726f 6365 7373 2d73 7461 gda2-process-sta │ │ │ -0001ca70: 7475 7329 2027 7275 6e29 2929 0a0a 2864 tus) 'run)))..(d │ │ │ -0001ca80: 6566 756e 2061 6764 6132 2d73 656e 642d efun agda2-send- │ │ │ -0001ca90: 636f 6d6d 616e 6420 2872 6573 7461 7274 command (restart │ │ │ -0001caa0: 2026 7265 7374 2061 7267 7329 0a20 2022 &rest args). " │ │ │ -0001cab0: 5365 6e64 2061 2063 6f6d 6d61 6e64 2074 Send a command t │ │ │ -0001cac0: 6f20 7468 6520 4167 6461 2070 726f 6365 o the Agda proce │ │ │ -0001cad0: 7373 2e0a 5365 6e64 7320 7468 6520 6c69 ss..Sends the li │ │ │ -0001cae0: 7374 206f 6620 7374 7269 6e67 7320 4152 st of strings AR │ │ │ -0001caf0: 4753 2074 6f20 7468 6520 7072 6f63 6573 GS to the proces │ │ │ -0001cb00: 732e 2049 6620 5245 5354 4152 5420 6973 s. If RESTART is │ │ │ -0001cb10: 0a6e 6f6e 2d6e 696c 2061 6e64 2074 6865 .non-nil and the │ │ │ -0001cb20: 2070 726f 6365 7373 2069 7320 6e6f 7420 process is not │ │ │ -0001cb30: 7275 6e6e 696e 672c 206f 7220 7468 6520 running, or the │ │ │ -0001cb40: 2a61 6764 6132 2a0a 6275 6666 6572 2064 *agda2*.buffer d │ │ │ -0001cb50: 6f65 7320 6e6f 7420 6578 6973 742c 2074 oes not exist, t │ │ │ -0001cb60: 6865 6e20 616e 2061 7474 656d 7074 2069 hen an attempt i │ │ │ -0001cb70: 7320 6d61 6465 2074 6f20 7265 7374 6172 s made to restar │ │ │ -0001cb80: 7420 7468 650a 7072 6f63 6573 732e 220a t the.process.". │ │ │ -0001cb90: 2020 2877 6865 6e20 2861 6e64 2072 6573 (when (and res │ │ │ -0001cba0: 7461 7274 2028 6e6f 7420 2861 6764 6132 tart (not (agda2 │ │ │ -0001cbb0: 2d72 756e 6e69 6e67 2d70 2929 290a 2020 -running-p))). │ │ │ -0001cbc0: 2020 3b3b 2054 7279 2072 6573 7461 7274 ;; Try restart │ │ │ -0001cbd0: 696e 6720 6175 746f 6d61 7469 6361 6c6c ing automaticall │ │ │ -0001cbe0: 792c 2062 7574 206f 6e6c 7920 6f6e 6365 y, but only once │ │ │ -0001cbf0: 2c20 696e 2063 6173 6520 7468 6572 6520 , in case there │ │ │ -0001cc00: 6973 0a20 2020 203b 3b20 736f 6d65 206d is. ;; some m │ │ │ -0001cc10: 616a 6f72 2070 726f 626c 656d 2e0a 2020 ajor problem.. │ │ │ -0001cc20: 2020 2861 6764 6132 2d72 6573 7461 7274 (agda2-restart │ │ │ -0001cc30: 290a 2020 2020 2875 6e6c 6573 7320 2861 ). (unless (a │ │ │ -0001cc40: 6764 6132 2d72 756e 6e69 6e67 2d70 290a gda2-running-p). │ │ │ -0001cc50: 2020 2020 2020 2861 6764 6132 2d72 6169 (agda2-rai │ │ │ -0001cc60: 7365 2d65 7272 6f72 2929 290a 2020 286c se-error))). (l │ │ │ -0001cc70: 6574 2028 2863 6f6d 6d61 6e64 2028 6170 et ((command (ap │ │ │ -0001cc80: 706c 7920 2763 6f6e 6361 7420 2861 6764 ply 'concat (agd │ │ │ -0001cc90: 6132 2d69 6e74 6572 7370 6572 7365 2022 a2-intersperse " │ │ │ -0001cca0: 2022 2061 7267 7329 2929 290a 2020 2020 " args)))). │ │ │ -0001ccb0: 2877 6974 682d 6375 7272 656e 742d 6275 (with-current-bu │ │ │ -0001ccc0: 6666 6572 2061 6764 6132 2d70 726f 6365 ffer agda2-proce │ │ │ -0001ccd0: 7373 2d62 7566 6665 720a 2020 2020 2020 ss-buffer. │ │ │ -0001cce0: 2867 6f74 6f2d 6368 6172 2028 706f 696e (goto-char (poin │ │ │ -0001ccf0: 742d 6d61 7829 290a 2020 2020 2020 2869 t-max)). (i │ │ │ -0001cd00: 6e73 6572 7420 636f 6d6d 616e 6429 0a20 nsert command). │ │ │ -0001cd10: 2020 2020 2028 696e 7365 7274 2022 5c6e (insert "\n │ │ │ -0001cd20: 2229 0a20 2020 2020 2028 7072 6f63 6573 "). (proces │ │ │ -0001cd30: 732d 7365 6e64 2d73 7472 696e 6720 6167 s-send-string ag │ │ │ -0001cd40: 6461 322d 7072 6f63 6573 7320 2863 6f6e da2-process (con │ │ │ -0001cd50: 6361 7420 636f 6d6d 616e 6420 225c 6e22 cat command "\n" │ │ │ -0001cd60: 2929 2929 290a 0a28 6465 6675 6e20 6167 )))))..(defun ag │ │ │ -0001cd70: 6461 322d 676f 2028 7361 7665 2068 6967 da2-go (save hig │ │ │ -0001cd80: 686c 6967 6874 2068 6f77 2d62 7573 7920 hlight how-busy │ │ │ -0001cd90: 646f 2d61 626f 7274 2026 7265 7374 2061 do-abort &rest a │ │ │ -0001cda0: 7267 7329 0a20 2022 4578 6563 7574 6573 rgs). "Executes │ │ │ -0001cdb0: 2063 6f6d 6d61 6e64 7320 696e 2074 6865 commands in the │ │ │ -0001cdc0: 2041 6764 6132 2069 6e74 6572 7072 6574 Agda2 interpret │ │ │ -0001cdd0: 6572 2e0a 5365 6e64 7320 7468 6520 6c69 er..Sends the li │ │ │ -0001cde0: 7374 206f 6620 7374 7269 6e67 7320 4152 st of strings AR │ │ │ -0001cdf0: 4753 2074 6f20 7468 6520 4167 6461 3220 GS to the Agda2 │ │ │ -0001ce00: 696e 7465 7270 7265 7465 722c 2077 6169 interpreter, wai │ │ │ -0001ce10: 7473 0a66 6f72 206f 7574 7075 7420 616e ts.for output an │ │ │ -0001ce20: 6420 6578 6563 7574 6573 2074 6865 2072 d executes the r │ │ │ -0001ce30: 6573 706f 6e73 6573 2c20 6966 2061 6e79 esponses, if any │ │ │ -0001ce40: 2e0a 0a49 6620 5341 5645 2069 7320 5c5c ...If SAVE is \\ │ │ │ -0001ce50: 3d27 7361 7665 2c20 7468 656e 2074 6865 ='save, then the │ │ │ -0001ce60: 2062 7566 6665 7220 6973 2073 6176 6564 buffer is saved │ │ │ -0001ce70: 2066 6972 7374 2e0a 0a49 6620 4849 4748 first...If HIGH │ │ │ -0001ce80: 4c49 4748 5420 6973 206e 6f6e 2d6e 696c LIGHT is non-nil │ │ │ -0001ce90: 2c20 7468 656e 2074 6865 2062 7566 6665 , then the buffe │ │ │ -0001cea0: 7227 7320 7379 6e74 6178 2068 6967 686c r's syntax highl │ │ │ -0001ceb0: 6967 6874 696e 670a 6d61 7920 6265 2075 ighting.may be u │ │ │ -0001cec0: 7064 6174 6564 2e20 5468 6973 2069 7320 pdated. This is │ │ │ -0001ced0: 616c 736f 2074 6865 2063 6173 6520 6966 also the case if │ │ │ -0001cee0: 2074 6865 2041 6764 6120 7072 6f63 6573 the Agda proces │ │ │ -0001cef0: 7320 6973 0a62 7573 7920 286f 7220 606e s is.busy (or `n │ │ │ -0001cf00: 6f74 2d73 6f2d 6275 7379 2729 2061 6e64 ot-so-busy') and │ │ │ -0001cf10: 2060 6167 6461 322d 6869 6768 6c69 6768 `agda2-highligh │ │ │ -0001cf20: 742d 696e 2d70 726f 6365 7373 2720 6973 t-in-process' is │ │ │ -0001cf30: 0a6e 6f6e 2d6e 696c 2e0a 0a54 6865 2076 .non-nil...The v │ │ │ -0001cf40: 616c 7565 2048 4f57 2d42 5553 5920 7368 alue HOW-BUSY sh │ │ │ -0001cf50: 6f75 6c64 2062 6520 6062 7573 7927 2069 ould be `busy' i │ │ │ -0001cf60: 6620 6974 2073 686f 756c 6420 6e6f 7420 f it should not │ │ │ -0001cf70: 6265 2070 6f73 7369 626c 650a 746f 2069 be possible.to i │ │ │ -0001cf80: 6e76 6f6b 6520 6f74 6865 7220 636f 6d6d nvoke other comm │ │ │ -0001cf90: 616e 6473 2077 6869 6c65 2074 6869 7320 ands while this │ │ │ -0001cfa0: 636f 6d6d 616e 6420 6973 2072 756e 6e69 command is runni │ │ │ -0001cfb0: 6e67 2028 7769 7468 2074 6865 0a65 7863 ng (with the.exc │ │ │ -0001cfc0: 6570 7469 6f6e 206f 6620 636f 6d6d 616e eption of comman │ │ │ -0001cfd0: 6473 2066 6f72 2077 6869 6368 2044 4f2d ds for which DO- │ │ │ -0001cfe0: 4142 4f52 5420 6973 206e 696c 292e 204f ABORT is nil). O │ │ │ -0001cff0: 7468 6572 7769 7365 2069 740a 7368 6f75 therwise it.shou │ │ │ -0001d000: 6c64 2062 6520 606e 6f74 2d73 6f2d 6275 ld be `not-so-bu │ │ │ -0001d010: 7379 2720 2877 6869 6368 2073 686f 756c sy' (which shoul │ │ │ -0001d020: 6420 6f6e 6c79 2062 6520 7573 6564 2066 d only be used f │ │ │ -0001d030: 6f72 2063 6f6d 6d61 6e64 730a 7468 6174 or commands.that │ │ │ -0001d040: 2074 7970 6963 616c 6c79 2074 6572 6d69 typically termi │ │ │ -0001d050: 6e61 7465 2066 6169 726c 7920 7175 6963 nate fairly quic │ │ │ -0001d060: 6b6c 7929 2e0a 0a49 6620 7468 6520 4167 kly)...If the Ag │ │ │ -0001d070: 6461 2070 726f 6365 7373 2069 7320 6275 da process is bu │ │ │ -0001d080: 7379 2028 6f72 2060 6e6f 742d 736f 2d62 sy (or `not-so-b │ │ │ -0001d090: 7573 7927 292c 2061 6e64 2074 6865 2063 usy'), and the c │ │ │ -0001d0a0: 7572 7265 6e74 0a62 7566 6665 7220 646f urrent.buffer do │ │ │ -0001d0b0: 6573 206e 6f74 206d 6174 6368 2060 6167 es not match `ag │ │ │ -0001d0c0: 6461 322d 6669 6c65 2d62 7566 6665 7227 da2-file-buffer' │ │ │ -0001d0d0: 2c20 7468 656e 2074 6865 2063 6f6d 6d61 , then the comma │ │ │ -0001d0e0: 6e64 2069 730a 6e6f 7420 6578 6563 7574 nd is.not execut │ │ │ -0001d0f0: 6564 2061 6e64 2061 6e20 6572 726f 7220 ed and an error │ │ │ -0001d100: 6973 2072 6169 7365 642e 2054 6865 2073 is raised. The s │ │ │ -0001d110: 616d 6520 6170 706c 6965 7320 6966 2044 ame applies if D │ │ │ -0001d120: 4f2d 4142 4f52 540a 6973 206e 6f6e 2d6e O-ABORT.is non-n │ │ │ -0001d130: 696c 2061 6e64 2074 6865 2041 6764 6120 il and the Agda │ │ │ -0001d140: 7072 6f63 6573 7320 6973 2060 6275 7379 process is `busy │ │ │ -0001d150: 272e 220a 0a20 203b 2043 6865 636b 2074 '.".. ; Check t │ │ │ -0001d160: 6861 7420 686f 772d 6275 7379 2069 7320 hat how-busy is │ │ │ -0001d170: 7765 6c6c 2d66 6f72 6d65 642e 0a20 2028 well-formed.. ( │ │ │ -0001d180: 636c 2d61 7373 6572 7420 286f 7220 2865 cl-assert (or (e │ │ │ -0001d190: 7175 616c 2068 6f77 2d62 7573 7920 2762 qual how-busy 'b │ │ │ -0001d1a0: 7573 7929 0a20 2020 2020 2020 2020 2020 usy). │ │ │ -0001d1b0: 2020 2028 6571 7561 6c20 686f 772d 6275 (equal how-bu │ │ │ -0001d1c0: 7379 2027 6e6f 742d 736f 2d62 7573 7929 sy 'not-so-busy) │ │ │ -0001d1d0: 2929 0a0a 2020 2877 6865 6e20 2861 6e64 )).. (when (and │ │ │ -0001d1e0: 2061 6764 6132 2d69 6e2d 7072 6f67 7265 agda2-in-progre │ │ │ -0001d1f0: 7373 0a20 2020 2020 2020 2020 2020 2020 ss. │ │ │ -0001d200: 286e 6f74 2028 6571 7561 6c20 6167 6461 (not (equal agda │ │ │ -0001d210: 322d 6669 6c65 2d62 7566 6665 720a 2020 2-file-buffer. │ │ │ +0001c8e0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b0a ;;;;;;;;;;;;;;;. │ │ │ +0001c8f0: 3b3b 3b3b 2043 6f6d 6d75 6e69 6361 7469 ;;;; Communicati │ │ │ +0001c900: 6e67 2077 6974 6820 4167 6461 0a0a 2864 ng with Agda..(d │ │ │ +0001c910: 6566 756e 2061 6764 6132 2d72 6169 7365 efun agda2-raise │ │ │ +0001c920: 2d65 7272 6f72 2028 290a 2020 2252 6169 -error (). "Rai │ │ │ +0001c930: 7365 7320 616e 2065 7272 6f72 2e0a 5468 ses an error..Th │ │ │ +0001c940: 6520 6572 726f 7220 6d65 7373 6167 6520 e error message │ │ │ +0001c950: 6469 7265 6374 7320 7468 6520 7573 6572 directs the user │ │ │ +0001c960: 2074 6f20 7468 6520 2a61 6764 6132 2a20 to the *agda2* │ │ │ +0001c970: 6275 6666 6572 2e22 0a20 2028 6572 726f buffer.". (erro │ │ │ +0001c980: 7220 2250 726f 626c 656d 2065 6e63 6f75 r "Problem encou │ │ │ +0001c990: 6e74 6572 6564 2e20 5468 6520 2a61 6764 ntered. The *agd │ │ │ +0001c9a0: 6132 2a20 6275 6666 6572 2063 616e 2070 a2* buffer can p │ │ │ +0001c9b0: 6572 6861 7073 2065 7870 6c61 696e 2077 erhaps explain w │ │ │ +0001c9c0: 6879 2e22 2929 0a0a 2864 6566 756e 2061 hy."))..(defun a │ │ │ +0001c9d0: 6764 6132 2d72 756e 6e69 6e67 2d70 206e gda2-running-p n │ │ │ +0001c9e0: 696c 0a20 2022 446f 6573 2074 6865 202a il. "Does the * │ │ │ +0001c9f0: 6167 6461 322a 2062 7566 6665 7220 6578 agda2* buffer ex │ │ │ +0001ca00: 6973 742c 2061 6e64 2069 7320 7468 6520 ist, and is the │ │ │ +0001ca10: 4167 6461 3220 7072 6f63 6573 7320 7275 Agda2 process ru │ │ │ +0001ca20: 6e6e 696e 673f 220a 2020 2861 6e64 2028 nning?". (and ( │ │ │ +0001ca30: 6275 6666 6572 2d6c 6976 652d 7020 6167 buffer-live-p ag │ │ │ +0001ca40: 6461 322d 7072 6f63 6573 732d 6275 6666 da2-process-buff │ │ │ +0001ca50: 6572 290a 2020 2020 2020 2028 6571 2028 er). (eq ( │ │ │ +0001ca60: 6167 6461 322d 7072 6f63 6573 732d 7374 agda2-process-st │ │ │ +0001ca70: 6174 7573 2920 2772 756e 2929 290a 0a28 atus) 'run)))..( │ │ │ +0001ca80: 6465 6675 6e20 6167 6461 322d 7365 6e64 defun agda2-send │ │ │ +0001ca90: 2d63 6f6d 6d61 6e64 2028 7265 7374 6172 -command (restar │ │ │ +0001caa0: 7420 2672 6573 7420 6172 6773 290a 2020 t &rest args). │ │ │ +0001cab0: 2253 656e 6420 6120 636f 6d6d 616e 6420 "Send a command │ │ │ +0001cac0: 746f 2074 6865 2041 6764 6120 7072 6f63 to the Agda proc │ │ │ +0001cad0: 6573 732e 0a53 656e 6473 2074 6865 206c ess..Sends the l │ │ │ +0001cae0: 6973 7420 6f66 2073 7472 696e 6773 2041 ist of strings A │ │ │ +0001caf0: 5247 5320 746f 2074 6865 2070 726f 6365 RGS to the proce │ │ │ +0001cb00: 7373 2e20 4966 2052 4553 5441 5254 2069 ss. If RESTART i │ │ │ +0001cb10: 730a 6e6f 6e2d 6e69 6c20 616e 6420 7468 s.non-nil and th │ │ │ +0001cb20: 6520 7072 6f63 6573 7320 6973 206e 6f74 e process is not │ │ │ +0001cb30: 2072 756e 6e69 6e67 2c20 6f72 2074 6865 running, or the │ │ │ +0001cb40: 202a 6167 6461 322a 0a62 7566 6665 7220 *agda2*.buffer │ │ │ +0001cb50: 646f 6573 206e 6f74 2065 7869 7374 2c20 does not exist, │ │ │ +0001cb60: 7468 656e 2061 6e20 6174 7465 6d70 7420 then an attempt │ │ │ +0001cb70: 6973 206d 6164 6520 746f 2072 6573 7461 is made to resta │ │ │ +0001cb80: 7274 2074 6865 0a70 726f 6365 7373 2e22 rt the.process." │ │ │ +0001cb90: 0a20 2028 7768 656e 2028 616e 6420 7265 . (when (and re │ │ │ +0001cba0: 7374 6172 7420 286e 6f74 2028 6167 6461 start (not (agda │ │ │ +0001cbb0: 322d 7275 6e6e 696e 672d 7029 2929 0a20 2-running-p))). │ │ │ +0001cbc0: 2020 203b 3b20 5472 7920 7265 7374 6172 ;; Try restar │ │ │ +0001cbd0: 7469 6e67 2061 7574 6f6d 6174 6963 616c ting automatical │ │ │ +0001cbe0: 6c79 2c20 6275 7420 6f6e 6c79 206f 6e63 ly, but only onc │ │ │ +0001cbf0: 652c 2069 6e20 6361 7365 2074 6865 7265 e, in case there │ │ │ +0001cc00: 2069 730a 2020 2020 3b3b 2073 6f6d 6520 is. ;; some │ │ │ +0001cc10: 6d61 6a6f 7220 7072 6f62 6c65 6d2e 0a20 major problem.. │ │ │ +0001cc20: 2020 2028 6167 6461 322d 7265 7374 6172 (agda2-restar │ │ │ +0001cc30: 7429 0a20 2020 2028 756e 6c65 7373 2028 t). (unless ( │ │ │ +0001cc40: 6167 6461 322d 7275 6e6e 696e 672d 7029 agda2-running-p) │ │ │ +0001cc50: 0a20 2020 2020 2028 6167 6461 322d 7261 . (agda2-ra │ │ │ +0001cc60: 6973 652d 6572 726f 7229 2929 0a20 2028 ise-error))). ( │ │ │ +0001cc70: 6c65 7420 2828 636f 6d6d 616e 6420 2861 let ((command (a │ │ │ +0001cc80: 7070 6c79 2027 636f 6e63 6174 2028 6167 pply 'concat (ag │ │ │ +0001cc90: 6461 322d 696e 7465 7273 7065 7273 6520 da2-intersperse │ │ │ +0001cca0: 2220 2220 6172 6773 2929 2929 0a20 2020 " " args)))). │ │ │ +0001ccb0: 2028 7769 7468 2d63 7572 7265 6e74 2d62 (with-current-b │ │ │ +0001ccc0: 7566 6665 7220 6167 6461 322d 7072 6f63 uffer agda2-proc │ │ │ +0001ccd0: 6573 732d 6275 6666 6572 0a20 2020 2020 ess-buffer. │ │ │ +0001cce0: 2028 676f 746f 2d63 6861 7220 2870 6f69 (goto-char (poi │ │ │ +0001ccf0: 6e74 2d6d 6178 2929 0a20 2020 2020 2028 nt-max)). ( │ │ │ +0001cd00: 696e 7365 7274 2063 6f6d 6d61 6e64 290a insert command). │ │ │ +0001cd10: 2020 2020 2020 2869 6e73 6572 7420 225c (insert "\ │ │ │ +0001cd20: 6e22 290a 2020 2020 2020 2870 726f 6365 n"). (proce │ │ │ +0001cd30: 7373 2d73 656e 642d 7374 7269 6e67 2061 ss-send-string a │ │ │ +0001cd40: 6764 6132 2d70 726f 6365 7373 2028 636f gda2-process (co │ │ │ +0001cd50: 6e63 6174 2063 6f6d 6d61 6e64 2022 5c6e ncat command "\n │ │ │ +0001cd60: 2229 2929 2929 0a0a 2864 6566 756e 2061 ")))))..(defun a │ │ │ +0001cd70: 6764 6132 2d67 6f20 2873 6176 6520 6869 gda2-go (save hi │ │ │ +0001cd80: 6768 6c69 6768 7420 686f 772d 6275 7379 ghlight how-busy │ │ │ +0001cd90: 2064 6f2d 6162 6f72 7420 2672 6573 7420 do-abort &rest │ │ │ +0001cda0: 6172 6773 290a 2020 2245 7865 6375 7465 args). "Execute │ │ │ +0001cdb0: 7320 636f 6d6d 616e 6473 2069 6e20 7468 s commands in th │ │ │ +0001cdc0: 6520 4167 6461 3220 696e 7465 7270 7265 e Agda2 interpre │ │ │ +0001cdd0: 7465 722e 0a53 656e 6473 2074 6865 206c ter..Sends the l │ │ │ +0001cde0: 6973 7420 6f66 2073 7472 696e 6773 2041 ist of strings A │ │ │ +0001cdf0: 5247 5320 746f 2074 6865 2041 6764 6132 RGS to the Agda2 │ │ │ +0001ce00: 2069 6e74 6572 7072 6574 6572 2c20 7761 interpreter, wa │ │ │ +0001ce10: 6974 730a 666f 7220 6f75 7470 7574 2061 its.for output a │ │ │ +0001ce20: 6e64 2065 7865 6375 7465 7320 7468 6520 nd executes the │ │ │ +0001ce30: 7265 7370 6f6e 7365 732c 2069 6620 616e responses, if an │ │ │ +0001ce40: 792e 0a0a 4966 2053 4156 4520 6973 205c y...If SAVE is \ │ │ │ +0001ce50: 5c3d 2773 6176 652c 2074 6865 6e20 7468 \='save, then th │ │ │ +0001ce60: 6520 6275 6666 6572 2069 7320 7361 7665 e buffer is save │ │ │ +0001ce70: 6420 6669 7273 742e 0a0a 4966 2048 4947 d first...If HIG │ │ │ +0001ce80: 484c 4947 4854 2069 7320 6e6f 6e2d 6e69 HLIGHT is non-ni │ │ │ +0001ce90: 6c2c 2074 6865 6e20 7468 6520 6275 6666 l, then the buff │ │ │ +0001cea0: 6572 2773 2073 796e 7461 7820 6869 6768 er's syntax high │ │ │ +0001ceb0: 6c69 6768 7469 6e67 0a6d 6179 2062 6520 lighting.may be │ │ │ +0001cec0: 7570 6461 7465 642e 2054 6869 7320 6973 updated. This is │ │ │ +0001ced0: 2061 6c73 6f20 7468 6520 6361 7365 2069 also the case i │ │ │ +0001cee0: 6620 7468 6520 4167 6461 2070 726f 6365 f the Agda proce │ │ │ +0001cef0: 7373 2069 730a 6275 7379 2028 6f72 2060 ss is.busy (or ` │ │ │ +0001cf00: 6e6f 742d 736f 2d62 7573 7927 2920 616e not-so-busy') an │ │ │ +0001cf10: 6420 6061 6764 6132 2d68 6967 686c 6967 d `agda2-highlig │ │ │ +0001cf20: 6874 2d69 6e2d 7072 6f63 6573 7327 2069 ht-in-process' i │ │ │ +0001cf30: 730a 6e6f 6e2d 6e69 6c2e 0a0a 5468 6520 s.non-nil...The │ │ │ +0001cf40: 7661 6c75 6520 484f 572d 4255 5359 2073 value HOW-BUSY s │ │ │ +0001cf50: 686f 756c 6420 6265 2060 6275 7379 2720 hould be `busy' │ │ │ +0001cf60: 6966 2069 7420 7368 6f75 6c64 206e 6f74 if it should not │ │ │ +0001cf70: 2062 6520 706f 7373 6962 6c65 0a74 6f20 be possible.to │ │ │ +0001cf80: 696e 766f 6b65 206f 7468 6572 2063 6f6d invoke other com │ │ │ +0001cf90: 6d61 6e64 7320 7768 696c 6520 7468 6973 mands while this │ │ │ +0001cfa0: 2063 6f6d 6d61 6e64 2069 7320 7275 6e6e command is runn │ │ │ +0001cfb0: 696e 6720 2877 6974 6820 7468 650a 6578 ing (with the.ex │ │ │ +0001cfc0: 6365 7074 696f 6e20 6f66 2063 6f6d 6d61 ception of comma │ │ │ +0001cfd0: 6e64 7320 666f 7220 7768 6963 6820 444f nds for which DO │ │ │ +0001cfe0: 2d41 424f 5254 2069 7320 6e69 6c29 2e20 -ABORT is nil). │ │ │ +0001cff0: 4f74 6865 7277 6973 6520 6974 0a73 686f Otherwise it.sho │ │ │ +0001d000: 756c 6420 6265 2060 6e6f 742d 736f 2d62 uld be `not-so-b │ │ │ +0001d010: 7573 7927 2028 7768 6963 6820 7368 6f75 usy' (which shou │ │ │ +0001d020: 6c64 206f 6e6c 7920 6265 2075 7365 6420 ld only be used │ │ │ +0001d030: 666f 7220 636f 6d6d 616e 6473 0a74 6861 for commands.tha │ │ │ +0001d040: 7420 7479 7069 6361 6c6c 7920 7465 726d t typically term │ │ │ +0001d050: 696e 6174 6520 6661 6972 6c79 2071 7569 inate fairly qui │ │ │ +0001d060: 636b 6c79 292e 0a0a 4966 2074 6865 2041 ckly)...If the A │ │ │ +0001d070: 6764 6120 7072 6f63 6573 7320 6973 2062 gda process is b │ │ │ +0001d080: 7573 7920 286f 7220 606e 6f74 2d73 6f2d usy (or `not-so- │ │ │ +0001d090: 6275 7379 2729 2c20 616e 6420 7468 6520 busy'), and the │ │ │ +0001d0a0: 6375 7272 656e 740a 6275 6666 6572 2064 current.buffer d │ │ │ +0001d0b0: 6f65 7320 6e6f 7420 6d61 7463 6820 6061 oes not match `a │ │ │ +0001d0c0: 6764 6132 2d66 696c 652d 6275 6666 6572 gda2-file-buffer │ │ │ +0001d0d0: 272c 2074 6865 6e20 7468 6520 636f 6d6d ', then the comm │ │ │ +0001d0e0: 616e 6420 6973 0a6e 6f74 2065 7865 6375 and is.not execu │ │ │ +0001d0f0: 7465 6420 616e 6420 616e 2065 7272 6f72 ted and an error │ │ │ +0001d100: 2069 7320 7261 6973 6564 2e20 5468 6520 is raised. The │ │ │ +0001d110: 7361 6d65 2061 7070 6c69 6573 2069 6620 same applies if │ │ │ +0001d120: 444f 2d41 424f 5254 0a69 7320 6e6f 6e2d DO-ABORT.is non- │ │ │ +0001d130: 6e69 6c20 616e 6420 7468 6520 4167 6461 nil and the Agda │ │ │ +0001d140: 2070 726f 6365 7373 2069 7320 6062 7573 process is `bus │ │ │ +0001d150: 7927 2e22 0a0a 2020 3b20 4368 6563 6b20 y'.".. ; Check │ │ │ +0001d160: 7468 6174 2068 6f77 2d62 7573 7920 6973 that how-busy is │ │ │ +0001d170: 2077 656c 6c2d 666f 726d 6564 2e0a 2020 well-formed.. │ │ │ +0001d180: 2863 6c2d 6173 7365 7274 2028 6f72 2028 (cl-assert (or ( │ │ │ +0001d190: 6571 7561 6c20 686f 772d 6275 7379 2027 equal how-busy ' │ │ │ +0001d1a0: 6275 7379 290a 2020 2020 2020 2020 2020 busy). │ │ │ +0001d1b0: 2020 2020 2865 7175 616c 2068 6f77 2d62 (equal how-b │ │ │ +0001d1c0: 7573 7920 276e 6f74 2d73 6f2d 6275 7379 usy 'not-so-busy │ │ │ +0001d1d0: 2929 290a 0a20 2028 7768 656e 2028 616e ))).. (when (an │ │ │ +0001d1e0: 6420 6167 6461 322d 696e 2d70 726f 6772 d agda2-in-progr │ │ │ +0001d1f0: 6573 730a 2020 2020 2020 2020 2020 2020 ess. │ │ │ +0001d200: 2028 6e6f 7420 2865 7175 616c 2061 6764 (not (equal agd │ │ │ +0001d210: 6132 2d66 696c 652d 6275 6666 6572 0a20 a2-file-buffer. │ │ │ 0001d220: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0001d230: 2020 2020 2020 2028 6375 7272 656e 742d (current- │ │ │ -0001d240: 6275 6666 6572 2929 2929 0a20 2020 2028 buffer)))). ( │ │ │ -0001d250: 6572 726f 7220 2241 6764 6120 6973 2062 error "Agda is b │ │ │ -0001d260: 7573 7920 7769 7468 2073 6f6d 6574 6869 usy with somethi │ │ │ -0001d270: 6e67 2069 6e20 7468 6520 6275 6666 6572 ng in the buffer │ │ │ -0001d280: 2025 7322 0a20 2020 2020 2020 2020 2020 %s". │ │ │ -0001d290: 6167 6461 322d 6669 6c65 2d62 7566 6665 agda2-file-buffe │ │ │ -0001d2a0: 7229 290a 0a20 2028 7768 656e 2028 616e r)).. (when (an │ │ │ -0001d2b0: 6420 646f 2d61 626f 7274 0a20 2020 2020 d do-abort. │ │ │ -0001d2c0: 2020 2020 2020 2020 2865 7175 616c 2061 (equal a │ │ │ -0001d2d0: 6764 6132 2d69 6e2d 7072 6f67 7265 7373 gda2-in-progress │ │ │ -0001d2e0: 2027 6275 7379 2929 0a20 2020 2028 6572 'busy)). (er │ │ │ -0001d2f0: 726f 7220 2241 6764 6120 6973 2062 7573 ror "Agda is bus │ │ │ -0001d300: 7920 7769 7468 2073 6f6d 6574 6869 6e67 y with something │ │ │ -0001d310: 0a5c 2879 6f75 2068 6176 6520 7468 6520 .\(you have the │ │ │ -0001d320: 6f70 7469 6f6e 2074 6f20 6162 6f72 7420 option to abort │ │ │ -0001d330: 6f72 2072 6573 7461 7274 2041 6764 6129 or restart Agda) │ │ │ -0001d340: 2229 290a 0a20 2028 7365 7471 2061 6764 ")).. (setq agd │ │ │ -0001d350: 6132 2d66 696c 652d 6275 6666 6572 2028 a2-file-buffer ( │ │ │ -0001d360: 6375 7272 656e 742d 6275 6666 6572 2929 current-buffer)) │ │ │ -0001d370: 0a0a 2020 2873 6574 7120 6167 6461 322d .. (setq agda2- │ │ │ -0001d380: 6869 6768 6c69 6768 742d 696e 2d70 726f highlight-in-pro │ │ │ -0001d390: 6772 6573 730a 2020 2020 2020 2020 286f gress. (o │ │ │ -0001d3a0: 7220 6869 6768 6c69 6768 740a 2020 2020 r highlight. │ │ │ -0001d3b0: 2020 2020 2020 2020 2861 6e64 2061 6764 (and agd │ │ │ -0001d3c0: 6132 2d69 6e2d 7072 6f67 7265 7373 0a20 a2-in-progress. │ │ │ +0001d230: 2020 2020 2020 2020 2863 7572 7265 6e74 (current │ │ │ +0001d240: 2d62 7566 6665 7229 2929 290a 2020 2020 -buffer)))). │ │ │ +0001d250: 2865 7272 6f72 2022 4167 6461 2069 7320 (error "Agda is │ │ │ +0001d260: 6275 7379 2077 6974 6820 736f 6d65 7468 busy with someth │ │ │ +0001d270: 696e 6720 696e 2074 6865 2062 7566 6665 ing in the buffe │ │ │ +0001d280: 7220 2573 220a 2020 2020 2020 2020 2020 r %s". │ │ │ +0001d290: 2061 6764 6132 2d66 696c 652d 6275 6666 agda2-file-buff │ │ │ +0001d2a0: 6572 2929 0a0a 2020 2877 6865 6e20 2861 er)).. (when (a │ │ │ +0001d2b0: 6e64 2064 6f2d 6162 6f72 740a 2020 2020 nd do-abort. │ │ │ +0001d2c0: 2020 2020 2020 2020 2028 6571 7561 6c20 (equal │ │ │ +0001d2d0: 6167 6461 322d 696e 2d70 726f 6772 6573 agda2-in-progres │ │ │ +0001d2e0: 7320 2762 7573 7929 290a 2020 2020 2865 s 'busy)). (e │ │ │ +0001d2f0: 7272 6f72 2022 4167 6461 2069 7320 6275 rror "Agda is bu │ │ │ +0001d300: 7379 2077 6974 6820 736f 6d65 7468 696e sy with somethin │ │ │ +0001d310: 670a 5c28 796f 7520 6861 7665 2074 6865 g.\(you have the │ │ │ +0001d320: 206f 7074 696f 6e20 746f 2061 626f 7274 option to abort │ │ │ +0001d330: 206f 7220 7265 7374 6172 7420 4167 6461 or restart Agda │ │ │ +0001d340: 2922 2929 0a0a 2020 2873 6574 7120 6167 )")).. (setq ag │ │ │ +0001d350: 6461 322d 6669 6c65 2d62 7566 6665 7220 da2-file-buffer │ │ │ +0001d360: 2863 7572 7265 6e74 2d62 7566 6665 7229 (current-buffer) │ │ │ +0001d370: 290a 0a20 2028 7365 7471 2061 6764 6132 ).. (setq agda2 │ │ │ +0001d380: 2d68 6967 686c 6967 6874 2d69 6e2d 7072 -highlight-in-pr │ │ │ +0001d390: 6f67 7265 7373 0a20 2020 2020 2020 2028 ogress. ( │ │ │ +0001d3a0: 6f72 2068 6967 686c 6967 6874 0a20 2020 or highlight. │ │ │ +0001d3b0: 2020 2020 2020 2020 2028 616e 6420 6167 (and ag │ │ │ +0001d3c0: 6461 322d 696e 2d70 726f 6772 6573 730a da2-in-progress. │ │ │ 0001d3d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0001d3e0: 6167 6461 322d 6869 6768 6c69 6768 742d agda2-highlight- │ │ │ -0001d3f0: 696e 2d70 726f 6772 6573 7329 2929 0a0a in-progress))).. │ │ │ -0001d400: 2020 2875 6e6c 6573 7320 6167 6461 322d (unless agda2- │ │ │ -0001d410: 696e 2d70 726f 6772 6573 730a 2020 2020 in-progress. │ │ │ -0001d420: 2873 6574 7120 6167 6461 322d 6f75 7470 (setq agda2-outp │ │ │ -0001d430: 7574 2d63 6875 6e6b 2d69 6e63 6f6d 706c ut-chunk-incompl │ │ │ -0001d440: 6574 6520 2861 6764 6132 2d71 7565 7565 ete (agda2-queue │ │ │ -0001d450: 2d65 6d70 7479 2929 290a 0a20 2028 7365 -empty))).. (se │ │ │ -0001d460: 7471 2061 6764 6132 2d69 6e2d 7072 6f67 tq agda2-in-prog │ │ │ -0001d470: 7265 7373 0a20 2020 2020 2020 2028 6966 ress. (if │ │ │ -0001d480: 2028 6f72 2028 6571 7561 6c20 686f 772d (or (equal how- │ │ │ -0001d490: 6275 7379 2027 6275 7379 290a 2020 2020 busy 'busy). │ │ │ -0001d4a0: 2020 2020 2020 2020 2020 2020 2865 7175 (equ │ │ │ -0001d4b0: 616c 2061 6764 6132 2d69 6e2d 7072 6f67 al agda2-in-prog │ │ │ -0001d4c0: 7265 7373 2027 6275 7379 2929 0a20 2020 ress 'busy)). │ │ │ -0001d4d0: 2020 2020 2020 2020 2027 6275 7379 0a20 'busy. │ │ │ -0001d4e0: 2020 2020 2020 2020 2027 6e6f 742d 736f 'not-so │ │ │ -0001d4f0: 2d62 7573 7929 290a 0a20 2028 7768 656e -busy)).. (when │ │ │ -0001d500: 2028 6571 7561 6c20 7361 7665 2027 7361 (equal save 'sa │ │ │ -0001d510: 7665 2920 2873 6176 652d 6275 6666 6572 ve) (save-buffer │ │ │ -0001d520: 2929 0a0a 2020 2861 7070 6c79 2027 6167 )).. (apply 'ag │ │ │ -0001d530: 6461 322d 7365 6e64 2d63 6f6d 6d61 6e64 da2-send-command │ │ │ -0001d540: 0a20 2020 2020 2020 2020 2772 6573 7461 . 'resta │ │ │ -0001d550: 7274 0a20 2020 2020 2020 2020 2249 4f54 rt. "IOT │ │ │ -0001d560: 434d 220a 2020 2020 2020 2020 2028 6167 CM". (ag │ │ │ -0001d570: 6461 322d 7374 7269 6e67 2d71 756f 7465 da2-string-quote │ │ │ -0001d580: 2028 6275 6666 6572 2d66 696c 652d 6e61 (buffer-file-na │ │ │ -0001d590: 6d65 2929 0a20 2020 2020 2020 2020 2869 me)). (i │ │ │ -0001d5a0: 6620 6869 6768 6c69 6768 7420 2861 6764 f highlight (agd │ │ │ -0001d5b0: 6132 2d68 6967 686c 6967 6874 2d6c 6576 a2-highlight-lev │ │ │ -0001d5c0: 656c 2920 224e 6f6e 6522 290a 2020 2020 el) "None"). │ │ │ -0001d5d0: 2020 2020 2022 496e 6469 7265 6374 220a "Indirect". │ │ │ -0001d5e0: 2020 2020 2020 2020 2022 2822 0a20 2020 "(". │ │ │ -0001d5f0: 2020 2020 2020 2861 7070 656e 6420 6172 (append ar │ │ │ -0001d600: 6773 2027 2822 2922 2929 2929 0a0a 2864 gs '(")"))))..(d │ │ │ -0001d610: 6566 756e 2061 6764 6132 2d61 626f 7274 efun agda2-abort │ │ │ -0001d620: 2028 290a 2020 2254 7269 6573 2074 6f20 (). "Tries to │ │ │ -0001d630: 6162 6f72 7420 7468 6520 6375 7272 656e abort the curren │ │ │ -0001d640: 7420 636f 6d70 7574 6174 696f 6e2c 2069 t computation, i │ │ │ -0001d650: 6620 616e 792e 0a4d 6179 2062 6520 6d6f f any..May be mo │ │ │ -0001d660: 7265 2065 6666 6963 6965 6e74 2074 6861 re efficient tha │ │ │ -0001d670: 6e20 7265 7374 6172 7469 6e67 2041 6764 n restarting Agd │ │ │ -0001d680: 612e 220a 2020 2869 6e74 6572 6163 7469 a.". (interacti │ │ │ -0001d690: 7665 290a 2020 2861 6764 6132 2d73 656e ve). (agda2-sen │ │ │ -0001d6a0: 642d 636f 6d6d 616e 6420 6e69 6c0a 2020 d-command nil. │ │ │ +0001d3e0: 2061 6764 6132 2d68 6967 686c 6967 6874 agda2-highlight │ │ │ +0001d3f0: 2d69 6e2d 7072 6f67 7265 7373 2929 290a -in-progress))). │ │ │ +0001d400: 0a20 2028 756e 6c65 7373 2061 6764 6132 . (unless agda2 │ │ │ +0001d410: 2d69 6e2d 7072 6f67 7265 7373 0a20 2020 -in-progress. │ │ │ +0001d420: 2028 7365 7471 2061 6764 6132 2d6f 7574 (setq agda2-out │ │ │ +0001d430: 7075 742d 6368 756e 6b2d 696e 636f 6d70 put-chunk-incomp │ │ │ +0001d440: 6c65 7465 2028 6167 6461 322d 7175 6575 lete (agda2-queu │ │ │ +0001d450: 652d 656d 7074 7929 2929 0a0a 2020 2873 e-empty))).. (s │ │ │ +0001d460: 6574 7120 6167 6461 322d 696e 2d70 726f etq agda2-in-pro │ │ │ +0001d470: 6772 6573 730a 2020 2020 2020 2020 2869 gress. (i │ │ │ +0001d480: 6620 286f 7220 2865 7175 616c 2068 6f77 f (or (equal how │ │ │ +0001d490: 2d62 7573 7920 2762 7573 7929 0a20 2020 -busy 'busy). │ │ │ +0001d4a0: 2020 2020 2020 2020 2020 2020 2028 6571 (eq │ │ │ +0001d4b0: 7561 6c20 6167 6461 322d 696e 2d70 726f ual agda2-in-pro │ │ │ +0001d4c0: 6772 6573 7320 2762 7573 7929 290a 2020 gress 'busy)). │ │ │ +0001d4d0: 2020 2020 2020 2020 2020 2762 7573 790a 'busy. │ │ │ +0001d4e0: 2020 2020 2020 2020 2020 276e 6f74 2d73 'not-s │ │ │ +0001d4f0: 6f2d 6275 7379 2929 0a0a 2020 2877 6865 o-busy)).. (whe │ │ │ +0001d500: 6e20 2865 7175 616c 2073 6176 6520 2773 n (equal save 's │ │ │ +0001d510: 6176 6529 2028 7361 7665 2d62 7566 6665 ave) (save-buffe │ │ │ +0001d520: 7229 290a 0a20 2028 6170 706c 7920 2761 r)).. (apply 'a │ │ │ +0001d530: 6764 6132 2d73 656e 642d 636f 6d6d 616e gda2-send-comman │ │ │ +0001d540: 640a 2020 2020 2020 2020 2027 7265 7374 d. 'rest │ │ │ +0001d550: 6172 740a 2020 2020 2020 2020 2022 494f art. "IO │ │ │ +0001d560: 5443 4d22 0a20 2020 2020 2020 2020 2861 TCM". (a │ │ │ +0001d570: 6764 6132 2d73 7472 696e 672d 7175 6f74 gda2-string-quot │ │ │ +0001d580: 6520 2862 7566 6665 722d 6669 6c65 2d6e e (buffer-file-n │ │ │ +0001d590: 616d 6529 290a 2020 2020 2020 2020 2028 ame)). ( │ │ │ +0001d5a0: 6966 2068 6967 686c 6967 6874 2028 6167 if highlight (ag │ │ │ +0001d5b0: 6461 322d 6869 6768 6c69 6768 742d 6c65 da2-highlight-le │ │ │ +0001d5c0: 7665 6c29 2022 4e6f 6e65 2229 0a20 2020 vel) "None"). │ │ │ +0001d5d0: 2020 2020 2020 2249 6e64 6972 6563 7422 "Indirect" │ │ │ +0001d5e0: 0a20 2020 2020 2020 2020 2228 220a 2020 . "(". │ │ │ +0001d5f0: 2020 2020 2020 2028 6170 7065 6e64 2061 (append a │ │ │ +0001d600: 7267 7320 2728 2229 2229 2929 290a 0a28 rgs '(")"))))..( │ │ │ +0001d610: 6465 6675 6e20 6167 6461 322d 6162 6f72 defun agda2-abor │ │ │ +0001d620: 7420 2829 0a20 2022 5472 6965 7320 746f t (). "Tries to │ │ │ +0001d630: 2061 626f 7274 2074 6865 2063 7572 7265 abort the curre │ │ │ +0001d640: 6e74 2063 6f6d 7075 7461 7469 6f6e 2c20 nt computation, │ │ │ +0001d650: 6966 2061 6e79 2e0a 4d61 7920 6265 206d if any..May be m │ │ │ +0001d660: 6f72 6520 6566 6669 6369 656e 7420 7468 ore efficient th │ │ │ +0001d670: 616e 2072 6573 7461 7274 696e 6720 4167 an restarting Ag │ │ │ +0001d680: 6461 2e22 0a20 2028 696e 7465 7261 6374 da.". (interact │ │ │ +0001d690: 6976 6529 0a20 2028 6167 6461 322d 7365 ive). (agda2-se │ │ │ +0001d6a0: 6e64 2d63 6f6d 6d61 6e64 206e 696c 0a20 nd-command nil. │ │ │ 0001d6b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0001d6c0: 2020 2020 2249 4f54 434d 220a 2020 2020 "IOTCM". │ │ │ +0001d6c0: 2020 2020 2022 494f 5443 4d22 0a20 2020 "IOTCM". │ │ │ 0001d6d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0001d6e0: 2020 2861 6764 6132 2d73 7472 696e 672d (agda2-string- │ │ │ -0001d6f0: 7175 6f74 6520 2862 7566 6665 722d 6669 quote (buffer-fi │ │ │ -0001d700: 6c65 2d6e 616d 6529 290a 2020 2020 2020 le-name)). │ │ │ +0001d6e0: 2020 2028 6167 6461 322d 7374 7269 6e67 (agda2-string │ │ │ +0001d6f0: 2d71 756f 7465 2028 6275 6666 6572 2d66 -quote (buffer-f │ │ │ +0001d700: 696c 652d 6e61 6d65 2929 0a20 2020 2020 ile-name)). │ │ │ 0001d710: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0001d720: 224e 6f6e 6522 0a20 2020 2020 2020 2020 "None". │ │ │ -0001d730: 2020 2020 2020 2020 2020 2020 2022 496e "In │ │ │ -0001d740: 6469 7265 6374 220a 2020 2020 2020 2020 direct". │ │ │ -0001d750: 2020 2020 2020 2020 2020 2020 2020 2243 "C │ │ │ -0001d760: 6d64 5f61 626f 7274 2229 290a 0a28 6465 md_abort"))..(de │ │ │ -0001d770: 6675 6e20 6167 6461 322d 6162 6f72 742d fun agda2-abort- │ │ │ -0001d780: 646f 6e65 2028 290a 2020 2252 6573 6574 done (). "Reset │ │ │ -0001d790: 7320 6365 7274 6169 6e20 7661 7269 6162 s certain variab │ │ │ -0001d7a0: 6c65 732e 0a49 6e74 656e 6465 6420 746f les..Intended to │ │ │ -0001d7b0: 2062 6520 7573 6564 2062 7920 7468 6520 be used by the │ │ │ -0001d7c0: 6261 636b 656e 6420 6966 2061 6e20 6162 backend if an ab │ │ │ -0001d7d0: 6f72 7420 636f 6d6d 616e 6420 7761 730a ort command was. │ │ │ -0001d7e0: 7375 6363 6573 7366 756c 2e22 0a20 2028 successful.". ( │ │ │ -0001d7f0: 6167 6461 322d 696e 666f 2d61 6374 696f agda2-info-actio │ │ │ -0001d800: 6e20 222a 4162 6f72 7465 642a 2220 2241 n "*Aborted*" "A │ │ │ -0001d810: 626f 7274 6564 2e22 2074 290a 2020 2873 borted." t). (s │ │ │ -0001d820: 6574 7120 6167 6461 322d 6869 6768 6c69 etq agda2-highli │ │ │ -0001d830: 6768 742d 696e 2d70 726f 6772 6573 7320 ght-in-progress │ │ │ -0001d840: 6e69 6c0a 2020 2020 2020 2020 6167 6461 nil. agda │ │ │ -0001d850: 322d 6c61 7374 2d72 6573 706f 6e73 6573 2-last-responses │ │ │ -0001d860: 2020 2020 2020 2020 6e69 6c29 290a 0a28 nil))..( │ │ │ -0001d870: 6465 6675 6e20 6167 6461 322d 6f75 7470 defun agda2-outp │ │ │ -0001d880: 7574 2d66 696c 7465 7220 285f 7072 6f63 ut-filter (_proc │ │ │ -0001d890: 2063 6875 6e6b 290a 2020 2245 7661 6c75 chunk). "Evalu │ │ │ -0001d8a0: 6174 6520 7468 6520 4167 6461 2070 726f ate the Agda pro │ │ │ -0001d8b0: 6365 7373 2773 2063 6f6d 6d61 6e64 732e cess's commands. │ │ │ -0001d8c0: 0a54 6869 7320 6669 6c74 6572 2066 756e .This filter fun │ │ │ -0001d8d0: 6374 696f 6e20 6173 7375 6d65 7320 7468 ction assumes th │ │ │ -0001d8e0: 6174 2065 7665 7279 206c 696e 6520 636f at every line co │ │ │ -0001d8f0: 6e74 6169 6e73 2065 6974 6865 7220 736f ntains either so │ │ │ -0001d900: 6d65 0a6b 696e 6420 6f66 2065 7272 6f72 me.kind of error │ │ │ -0001d910: 206d 6573 7361 6765 2028 7768 6963 6820 message (which │ │ │ -0001d920: 6361 6e6e 6f74 2062 6520 7061 7273 6564 cannot be parsed │ │ │ -0001d930: 2061 7320 6120 6c69 7374 292c 206f 720a as a list), or. │ │ │ -0001d940: 6578 6163 746c 7920 6f6e 6520 636f 6d6d exactly one comm │ │ │ -0001d950: 616e 642e 2049 6e63 6f6d 706c 6574 6520 and. Incomplete │ │ │ -0001d960: 6c69 6e65 7320 6172 6520 7374 6f72 6564 lines are stored │ │ │ -0001d970: 2069 6e20 610a 6275 6666 6572 2028 6061 in a.buffer (`a │ │ │ -0001d980: 6764 6132 2d6f 7574 7075 742d 6368 756e gda2-output-chun │ │ │ -0001d990: 6b2d 696e 636f 6d70 6c65 7465 2729 2e0a k-incomplete').. │ │ │ -0001d9a0: 0a45 7665 7279 2063 6f6d 6d61 6e64 2069 .Every command i │ │ │ -0001d9b0: 7320 7275 6e20 6279 2074 6869 7320 6675 s run by this fu │ │ │ -0001d9c0: 6e63 7469 6f6e 2c20 756e 6c65 7373 2069 nction, unless i │ │ │ -0001d9d0: 7420 6861 7320 7468 6520 666f 726d 0a5c t has the form.\ │ │ │ -0001d9e0: 2228 2827 6c61 7374 202e 2070 7269 6f72 "(('last . prior │ │ │ -0001d9f0: 6974 7929 202e 2063 6d64 295c 222c 2069 ity) . cmd)\", i │ │ │ -0001da00: 6e20 7768 6963 6820 6361 7365 2069 7420 n which case it │ │ │ -0001da10: 6973 2072 756e 2062 790a 6061 6764 6132 is run by.`agda2 │ │ │ -0001da20: 2d72 756e 2d6c 6173 742d 636f 6d6d 616e -run-last-comman │ │ │ -0001da30: 6473 2720 6174 2074 6865 2065 6e64 2c20 ds' at the end, │ │ │ -0001da40: 6166 7465 7220 7468 6520 4167 6461 3220 after the Agda2 │ │ │ -0001da50: 7072 6f6d 7074 0a68 6173 2072 6561 7070 prompt.has reapp │ │ │ -0001da60: 6561 7265 642c 2061 6674 6572 2061 6c6c eared, after all │ │ │ -0001da70: 206e 6f6e 2d6c 6173 7420 636f 6d6d 616e non-last comman │ │ │ -0001da80: 6473 2c20 616e 6420 6166 7465 7220 616c ds, and after al │ │ │ -0001da90: 6c0a 696e 7465 7261 6374 6976 6520 6869 l.interactive hi │ │ │ -0001daa0: 6768 6c69 6768 7469 6e67 2069 7320 636f ghlighting is co │ │ │ -0001dab0: 6d70 6c65 7465 2e20 5468 6520 6c61 7374 mplete. The last │ │ │ -0001dac0: 2063 6f6d 6d61 6e64 7320 6361 6e20 6861 commands can ha │ │ │ -0001dad0: 7665 0a64 6966 6665 7265 6e74 2069 6e74 ve.different int │ │ │ -0001dae0: 6567 6572 2070 7269 6f72 6974 6965 733b eger priorities; │ │ │ -0001daf0: 2074 686f 7365 2077 6974 6820 7468 6520 those with the │ │ │ -0001db00: 6c6f 7765 7374 2070 7269 6f72 6974 7920 lowest priority │ │ │ -0001db10: 6172 650a 6578 6563 7574 6564 2066 6972 are.executed fir │ │ │ -0001db20: 7374 2e0a 0a4e 6f6e 2d6c 6173 7420 636f st...Non-last co │ │ │ -0001db30: 6d6d 616e 6473 2073 686f 756c 6420 6e6f mmands should no │ │ │ -0001db40: 7420 6361 6c6c 2074 6865 2041 6764 6120 t call the Agda │ │ │ -0001db50: 7072 6f63 6573 732e 0a0a 416c 6c20 636f process...All co │ │ │ -0001db60: 6d6d 616e 6473 2061 7265 2065 6368 6f65 mmands are echoe │ │ │ -0001db70: 6420 746f 2074 6865 202a 6167 6461 322a d to the *agda2* │ │ │ -0001db80: 2062 7566 6665 722c 2077 6974 6820 7468 buffer, with th │ │ │ -0001db90: 6520 6578 6365 7074 696f 6e0a 6f66 2063 e exception.of c │ │ │ -0001dba0: 6f6d 6d61 6e64 7320 6f66 2074 6865 2066 ommands of the f │ │ │ -0001dbb0: 6f72 6d20 5c22 2861 6764 6132 2d68 6967 orm \"(agda2-hig │ │ │ -0001dbc0: 686c 6967 6874 2d2e 2e2e 202e 2e2e 295c hlight-... ...)\ │ │ │ -0001dbd0: 222e 0a0a 5468 6520 6e6f 6e2d 6c61 7374 "...The non-last │ │ │ -0001dbe0: 2063 6f6d 6d61 6e64 7320 6172 6520 7275 commands are ru │ │ │ -0001dbf0: 6e20 696e 2074 6865 206f 7264 6572 2069 n in the order i │ │ │ -0001dc00: 6e20 7768 6963 6820 7468 6579 2061 7070 n which they app │ │ │ -0001dc10: 6561 722e 0a0a 5768 656e 2074 6865 2070 ear...When the p │ │ │ -0001dc20: 726f 6d70 7420 6861 7320 6265 656e 2072 rompt has been r │ │ │ -0001dc30: 6561 6368 6564 2068 6967 686c 6967 6874 eached highlight │ │ │ -0001dc40: 696e 6720 616e 6e6f 7461 7469 6f6e 7320 ing annotations │ │ │ -0001dc50: 6172 650a 7265 6c6f 6164 6564 2066 726f are.reloaded fro │ │ │ -0001dc60: 6d20 6061 6764 6132 2d68 6967 686c 6967 m `agda2-highlig │ │ │ -0001dc70: 6874 696e 672d 6669 6c65 272c 2075 6e6c hting-file', unl │ │ │ -0001dc80: 6573 730a 6061 6764 6132 2d68 6967 686c ess.`agda2-highl │ │ │ -0001dc90: 6967 6874 696e 672d 696e 2d70 726f 6772 ighting-in-progr │ │ │ -0001dca0: 6573 7327 2069 7320 6e69 6c2e 220a 0a20 ess' is nil.".. │ │ │ -0001dcb0: 203b 3b20 4265 7761 7265 3a20 7468 6520 ;; Beware: the │ │ │ -0001dcc0: 6275 6666 6572 206d 6179 2068 6176 6520 buffer may have │ │ │ -0001dcd0: 6265 656e 206b 696c 6c65 6420 696e 2074 been killed in t │ │ │ -0001dce0: 6865 206d 6561 6e20 7469 6d65 2e20 2045 he mean time. E │ │ │ -0001dcf0: 2e67 2e20 7768 656e 0a20 203b 3b20 7669 .g. when. ;; vi │ │ │ -0001dd00: 6577 696e 6720 616e 2061 7474 6163 686d ewing an attachm │ │ │ -0001dd10: 656e 7420 636f 6e74 6169 6e69 6e67 2041 ent containing A │ │ │ -0001dd20: 6764 6120 636f 6465 2069 6e20 476e 7573 gda code in Gnus │ │ │ -0001dd30: 2c20 476e 7573 2077 696c 6c0a 2020 3b3b , Gnus will. ;; │ │ │ -0001dd40: 2063 7265 6174 6520 6120 7465 6d70 2062 create a temp b │ │ │ -0001dd50: 7566 6665 722c 2073 6574 2069 7420 696e uffer, set it in │ │ │ -0001dd60: 2061 6764 6132 2d6d 6f64 652c 2063 616c agda2-mode, cal │ │ │ -0001dd70: 6c20 666f 6e74 2d6c 6f63 6b2d 656e 7375 l font-lock-ensu │ │ │ -0001dd80: 7265 206f 6e20 6974 0a20 203b 3b20 2877 re on it. ;; (w │ │ │ -0001dd90: 6869 6368 2077 6f6e 2774 206b 6e6f 7720 hich won't know │ │ │ -0001dda0: 7468 6174 2069 7420 6e65 6564 7320 746f that it needs to │ │ │ -0001ddb0: 2077 6169 7420 666f 7220 736f 6d65 2070 wait for some p │ │ │ -0001ddc0: 726f 6365 7373 2074 6f20 7265 706c 7929 rocess to reply) │ │ │ -0001ddd0: 2c20 7468 656e 0a20 203b 3b20 6578 7472 , then. ;; extr │ │ │ -0001dde0: 6163 7420 7468 6520 666f 6e74 6966 6965 act the fontifie │ │ │ -0001ddf0: 6420 7465 7874 2061 6e64 206b 696c 6c20 d text and kill │ │ │ -0001de00: 7468 6520 7465 6d70 2062 7566 6665 723b the temp buffer; │ │ │ -0001de10: 2073 6f20 7768 656e 2041 6764 610a 2020 so when Agda. │ │ │ -0001de20: 3b3b 2066 696e 616c 6c79 2061 6e73 7765 ;; finally answe │ │ │ -0001de30: 7273 2c20 7468 6520 7465 6d70 2062 7566 rs, the temp buf │ │ │ -0001de40: 6665 7220 6973 206c 6f6e 6720 676f 6e65 fer is long gone │ │ │ -0001de50: 2e0a 2020 2877 6865 6e20 2862 7566 6665 .. (when (buffe │ │ │ -0001de60: 722d 6c69 7665 2d70 2061 6764 6132 2d66 r-live-p agda2-f │ │ │ -0001de70: 696c 652d 6275 6666 6572 290a 2020 2873 ile-buffer). (s │ │ │ -0001de80: 6574 7120 6167 6461 322d 696e 2d61 6764 etq agda2-in-agd │ │ │ -0001de90: 6132 2d66 696c 652d 6275 6666 6572 0a20 a2-file-buffer. │ │ │ -0001dea0: 2020 2020 2020 2028 616e 6420 6167 6461 (and agda │ │ │ -0001deb0: 322d 6669 6c65 2d62 7566 6665 720a 2020 2-file-buffer. │ │ │ -0001dec0: 2020 2020 2020 2020 2020 2028 6571 7561 (equa │ │ │ -0001ded0: 6c20 2863 7572 7265 6e74 2d62 7566 6665 l (current-buffe │ │ │ -0001dee0: 7229 2061 6764 6132 2d66 696c 652d 6275 r) agda2-file-bu │ │ │ -0001def0: 6666 6572 2929 290a 2020 286c 6574 2028 ffer))). (let ( │ │ │ -0001df00: 3b3b 2054 6865 2069 6e70 7574 206c 696e ;; The input lin │ │ │ -0001df10: 6573 2069 6e20 7468 6520 6375 7272 656e es in the curren │ │ │ -0001df20: 7420 6368 756e 6b2e 0a20 2020 2020 2020 t chunk.. │ │ │ -0001df30: 2028 6c69 6e65 7320 2873 706c 6974 2d73 (lines (split-s │ │ │ -0001df40: 7472 696e 6720 6368 756e 6b20 225c 6e22 tring chunk "\n" │ │ │ -0001df50: 2929 0a0a 2020 2020 2020 2020 3b3b 204e )).. ;; N │ │ │ -0001df60: 6f6e 2d6c 6173 7420 636f 6d6d 616e 6473 on-last commands │ │ │ -0001df70: 2066 6f75 6e64 2069 6e20 7468 6520 6375 found in the cu │ │ │ -0001df80: 7272 656e 7420 6368 756e 6b20 2872 6576 rrent chunk (rev │ │ │ -0001df90: 6572 7365 6429 2e0a 2020 2020 2020 2020 ersed).. │ │ │ -0001dfa0: 286e 6f6e 2d6c 6173 742d 636f 6d6d 616e (non-last-comman │ │ │ -0001dfb0: 6473 2028 2929 0a0a 2020 2020 2020 2020 ds ()).. │ │ │ -0001dfc0: 3b3b 204c 6173 7420 696e 636f 6d70 6c65 ;; Last incomple │ │ │ -0001dfd0: 7465 206c 696e 652c 2069 6620 616e 792e te line, if any. │ │ │ -0001dfe0: 0a20 2020 2020 2020 2028 6f75 7470 7574 . (output │ │ │ -0001dff0: 2d63 6875 6e6b 2d69 6e63 6f6d 706c 6574 -chunk-incomplet │ │ │ -0001e000: 6520 2222 2929 0a20 2020 2028 7769 7468 e "")). (with │ │ │ -0001e010: 2d63 7572 7265 6e74 2d62 7566 6665 7220 -current-buffer │ │ │ -0001e020: 6167 6461 322d 6669 6c65 2d62 7566 6665 agda2-file-buffe │ │ │ -0001e030: 720a 2020 2020 2020 2877 6865 6e20 2863 r. (when (c │ │ │ -0001e040: 6f6e 7370 206c 696e 6573 290a 2020 2020 onsp lines). │ │ │ -0001e050: 2020 2020 2861 6764 6132 2d71 7565 7565 (agda2-queue │ │ │ -0001e060: 2d65 6e71 7565 7565 2061 6764 6132 2d6f -enqueue agda2-o │ │ │ -0001e070: 7574 7075 742d 6368 756e 6b2d 696e 636f utput-chunk-inco │ │ │ -0001e080: 6d70 6c65 7465 2028 706f 7020 6c69 6e65 mplete (pop line │ │ │ -0001e090: 7329 290a 2020 2020 2020 2020 2877 6865 s)). (whe │ │ │ -0001e0a0: 6e20 2863 6f6e 7370 206c 696e 6573 290a n (consp lines). │ │ │ -0001e0b0: 2020 2020 2020 2020 2020 3b3b 2054 6865 ;; The │ │ │ -0001e0c0: 2070 7265 7669 6f75 7320 756e 636f 6d70 previous uncomp │ │ │ -0001e0d0: 6c65 7465 2063 6875 6e6b 2069 7320 6e6f lete chunk is no │ │ │ -0001e0e0: 7720 636f 6d70 6c65 7465 2e0a 2020 2020 w complete.. │ │ │ -0001e0f0: 2020 2020 2020 2870 7573 6820 2861 6764 (push (agd │ │ │ -0001e100: 6132 2d71 7565 7565 2d74 6f2d 7374 7269 a2-queue-to-stri │ │ │ -0001e110: 6e67 2061 6764 6132 2d6f 7574 7075 742d ng agda2-output- │ │ │ -0001e120: 6368 756e 6b2d 696e 636f 6d70 6c65 7465 chunk-incomplete │ │ │ -0001e130: 290a 2020 2020 2020 2020 2020 2020 2020 ). │ │ │ -0001e140: 2020 6c69 6e65 7329 0a0a 2020 2020 2020 lines).. │ │ │ -0001e150: 2020 2020 3b3b 2053 7461 7368 2061 7761 ;; Stash awa │ │ │ -0001e160: 7920 7468 6520 6c61 7374 2069 6e63 6f6d y the last incom │ │ │ -0001e170: 706c 6574 6520 6c69 6e65 2c20 6966 2061 plete line, if a │ │ │ -0001e180: 6e79 2e20 284e 6f74 6520 7468 6174 0a20 ny. (Note that. │ │ │ -0001e190: 2020 2020 2020 2020 203b 3b20 2873 706c ;; (spl │ │ │ -0001e1a0: 6974 2d73 7472 696e 6720 222e 2e2e 5c6e it-string "...\n │ │ │ -0001e1b0: 2220 225c 6e22 2920 6576 616c 7561 7465 " "\n") evaluate │ │ │ -0001e1c0: 7320 746f 2028 2e2e 2e20 2222 292e 290a s to (... "").). │ │ │ -0001e1d0: 2020 2020 2020 2020 2020 2873 6574 7120 (setq │ │ │ -0001e1e0: 6f75 7470 7574 2d63 6875 6e6b 2d69 6e63 output-chunk-inc │ │ │ -0001e1f0: 6f6d 706c 6574 6520 2863 6172 2028 6c61 omplete (car (la │ │ │ -0001e200: 7374 206c 696e 6573 2929 0a20 2020 2020 st lines)). │ │ │ -0001e210: 2020 2020 2020 2020 2020 2061 6764 6132 agda2 │ │ │ -0001e220: 2d6f 7574 7075 742d 6368 756e 6b2d 696e -output-chunk-in │ │ │ -0001e230: 636f 6d70 6c65 7465 0a20 2020 2020 2020 complete. │ │ │ -0001e240: 2020 2020 2020 2020 2028 6167 6461 322d (agda2- │ │ │ -0001e250: 7175 6575 652d 6672 6f6d 2d73 7472 696e queue-from-strin │ │ │ -0001e260: 6720 6f75 7470 7574 2d63 6875 6e6b 2d69 g output-chunk-i │ │ │ -0001e270: 6e63 6f6d 706c 6574 6529 290a 0a20 2020 ncomplete)).. │ │ │ -0001e280: 2020 2020 2020 203b 3b20 4861 6e64 6c65 ;; Handle │ │ │ -0001e290: 2065 7665 7279 2063 6f6d 706c 6574 6520 every complete │ │ │ -0001e2a0: 6c69 6e65 2e0a 2020 2020 2020 2020 2020 line.. │ │ │ -0001e2b0: 2864 6f6c 6973 7420 286c 696e 6520 2862 (dolist (line (b │ │ │ -0001e2c0: 7574 6c61 7374 206c 696e 6573 2929 0a20 utlast lines)). │ │ │ -0001e2d0: 2020 2020 2020 2020 2020 2028 6c65 742a (let* │ │ │ -0001e2e0: 2028 3b3b 2054 6865 2063 6f6d 6d61 6e64 (;; The command │ │ │ -0001e2f0: 2e20 4c69 6e65 7320 7768 6963 6820 6361 . Lines which ca │ │ │ -0001e300: 6e6e 6f74 2062 6520 7061 7273 6564 2061 nnot be parsed a │ │ │ -0001e310: 7320 6120 7369 6e67 6c65 0a20 2020 2020 s a single. │ │ │ -0001e320: 2020 2020 2020 2020 2020 2020 2020 3b3b ;; │ │ │ -0001e330: 206c 6973 742c 2077 6974 686f 7574 2061 list, without a │ │ │ -0001e340: 6e79 206a 756e 6b2c 2061 7265 2069 676e ny junk, are ign │ │ │ -0001e350: 6f72 6564 2e0a 2020 2020 2020 2020 2020 ored.. │ │ │ -0001e360: 2020 2020 2020 2020 2028 636d 6420 2863 (cmd (c │ │ │ -0001e370: 6f6e 6469 7469 6f6e 2d63 6173 6520 6e69 ondition-case ni │ │ │ -0001e380: 6c0a 2020 2020 2020 2020 2020 2020 2020 l. │ │ │ -0001e390: 2020 2020 2020 2020 2020 2020 2020 286c (l │ │ │ -0001e3a0: 6574 2028 2872 6573 756c 7420 2872 6561 et ((result (rea │ │ │ -0001e3b0: 642d 6672 6f6d 2d73 7472 696e 6720 6c69 d-from-string li │ │ │ -0001e3c0: 6e65 2929 290a 2020 2020 2020 2020 2020 ne))). │ │ │ +0001d720: 2022 4e6f 6e65 220a 2020 2020 2020 2020 "None". │ │ │ +0001d730: 2020 2020 2020 2020 2020 2020 2020 2249 "I │ │ │ +0001d740: 6e64 6972 6563 7422 0a20 2020 2020 2020 ndirect". │ │ │ +0001d750: 2020 2020 2020 2020 2020 2020 2020 2022 " │ │ │ +0001d760: 436d 645f 6162 6f72 7422 2929 0a0a 2864 Cmd_abort"))..(d │ │ │ +0001d770: 6566 756e 2061 6764 6132 2d61 626f 7274 efun agda2-abort │ │ │ +0001d780: 2d64 6f6e 6520 2829 0a20 2022 5265 7365 -done (). "Rese │ │ │ +0001d790: 7473 2063 6572 7461 696e 2076 6172 6961 ts certain varia │ │ │ +0001d7a0: 626c 6573 2e0a 496e 7465 6e64 6564 2074 bles..Intended t │ │ │ +0001d7b0: 6f20 6265 2075 7365 6420 6279 2074 6865 o be used by the │ │ │ +0001d7c0: 2062 6163 6b65 6e64 2069 6620 616e 2061 backend if an a │ │ │ +0001d7d0: 626f 7274 2063 6f6d 6d61 6e64 2077 6173 bort command was │ │ │ +0001d7e0: 0a73 7563 6365 7373 6675 6c2e 220a 2020 .successful.". │ │ │ +0001d7f0: 2861 6764 6132 2d69 6e66 6f2d 6163 7469 (agda2-info-acti │ │ │ +0001d800: 6f6e 2022 2a41 626f 7274 6564 2a22 2022 on "*Aborted*" " │ │ │ +0001d810: 4162 6f72 7465 642e 2220 7429 0a20 2028 Aborted." t). ( │ │ │ +0001d820: 7365 7471 2061 6764 6132 2d68 6967 686c setq agda2-highl │ │ │ +0001d830: 6967 6874 2d69 6e2d 7072 6f67 7265 7373 ight-in-progress │ │ │ +0001d840: 206e 696c 0a20 2020 2020 2020 2061 6764 nil. agd │ │ │ +0001d850: 6132 2d6c 6173 742d 7265 7370 6f6e 7365 a2-last-response │ │ │ +0001d860: 7320 2020 2020 2020 206e 696c 2929 0a0a s nil)).. │ │ │ +0001d870: 2864 6566 756e 2061 6764 6132 2d6f 7574 (defun agda2-out │ │ │ +0001d880: 7075 742d 6669 6c74 6572 2028 5f70 726f put-filter (_pro │ │ │ +0001d890: 6320 6368 756e 6b29 0a20 2022 4576 616c c chunk). "Eval │ │ │ +0001d8a0: 7561 7465 2074 6865 2041 6764 6120 7072 uate the Agda pr │ │ │ +0001d8b0: 6f63 6573 7327 7320 636f 6d6d 616e 6473 ocess's commands │ │ │ +0001d8c0: 2e0a 5468 6973 2066 696c 7465 7220 6675 ..This filter fu │ │ │ +0001d8d0: 6e63 7469 6f6e 2061 7373 756d 6573 2074 nction assumes t │ │ │ +0001d8e0: 6861 7420 6576 6572 7920 6c69 6e65 2063 hat every line c │ │ │ +0001d8f0: 6f6e 7461 696e 7320 6569 7468 6572 2073 ontains either s │ │ │ +0001d900: 6f6d 650a 6b69 6e64 206f 6620 6572 726f ome.kind of erro │ │ │ +0001d910: 7220 6d65 7373 6167 6520 2877 6869 6368 r message (which │ │ │ +0001d920: 2063 616e 6e6f 7420 6265 2070 6172 7365 cannot be parse │ │ │ +0001d930: 6420 6173 2061 206c 6973 7429 2c20 6f72 d as a list), or │ │ │ +0001d940: 0a65 7861 6374 6c79 206f 6e65 2063 6f6d .exactly one com │ │ │ +0001d950: 6d61 6e64 2e20 496e 636f 6d70 6c65 7465 mand. Incomplete │ │ │ +0001d960: 206c 696e 6573 2061 7265 2073 746f 7265 lines are store │ │ │ +0001d970: 6420 696e 2061 0a62 7566 6665 7220 2860 d in a.buffer (` │ │ │ +0001d980: 6167 6461 322d 6f75 7470 7574 2d63 6875 agda2-output-chu │ │ │ +0001d990: 6e6b 2d69 6e63 6f6d 706c 6574 6527 292e nk-incomplete'). │ │ │ +0001d9a0: 0a0a 4576 6572 7920 636f 6d6d 616e 6420 ..Every command │ │ │ +0001d9b0: 6973 2072 756e 2062 7920 7468 6973 2066 is run by this f │ │ │ +0001d9c0: 756e 6374 696f 6e2c 2075 6e6c 6573 7320 unction, unless │ │ │ +0001d9d0: 6974 2068 6173 2074 6865 2066 6f72 6d0a it has the form. │ │ │ +0001d9e0: 5c22 2828 276c 6173 7420 2e20 7072 696f \"(('last . prio │ │ │ +0001d9f0: 7269 7479 2920 2e20 636d 6429 5c22 2c20 rity) . cmd)\", │ │ │ +0001da00: 696e 2077 6869 6368 2063 6173 6520 6974 in which case it │ │ │ +0001da10: 2069 7320 7275 6e20 6279 0a60 6167 6461 is run by.`agda │ │ │ +0001da20: 322d 7275 6e2d 6c61 7374 2d63 6f6d 6d61 2-run-last-comma │ │ │ +0001da30: 6e64 7327 2061 7420 7468 6520 656e 642c nds' at the end, │ │ │ +0001da40: 2061 6674 6572 2074 6865 2041 6764 6132 after the Agda2 │ │ │ +0001da50: 2070 726f 6d70 740a 6861 7320 7265 6170 prompt.has reap │ │ │ +0001da60: 7065 6172 6564 2c20 6166 7465 7220 616c peared, after al │ │ │ +0001da70: 6c20 6e6f 6e2d 6c61 7374 2063 6f6d 6d61 l non-last comma │ │ │ +0001da80: 6e64 732c 2061 6e64 2061 6674 6572 2061 nds, and after a │ │ │ +0001da90: 6c6c 0a69 6e74 6572 6163 7469 7665 2068 ll.interactive h │ │ │ +0001daa0: 6967 686c 6967 6874 696e 6720 6973 2063 ighlighting is c │ │ │ +0001dab0: 6f6d 706c 6574 652e 2054 6865 206c 6173 omplete. The las │ │ │ +0001dac0: 7420 636f 6d6d 616e 6473 2063 616e 2068 t commands can h │ │ │ +0001dad0: 6176 650a 6469 6666 6572 656e 7420 696e ave.different in │ │ │ +0001dae0: 7465 6765 7220 7072 696f 7269 7469 6573 teger priorities │ │ │ +0001daf0: 3b20 7468 6f73 6520 7769 7468 2074 6865 ; those with the │ │ │ +0001db00: 206c 6f77 6573 7420 7072 696f 7269 7479 lowest priority │ │ │ +0001db10: 2061 7265 0a65 7865 6375 7465 6420 6669 are.executed fi │ │ │ +0001db20: 7273 742e 0a0a 4e6f 6e2d 6c61 7374 2063 rst...Non-last c │ │ │ +0001db30: 6f6d 6d61 6e64 7320 7368 6f75 6c64 206e ommands should n │ │ │ +0001db40: 6f74 2063 616c 6c20 7468 6520 4167 6461 ot call the Agda │ │ │ +0001db50: 2070 726f 6365 7373 2e0a 0a41 6c6c 2063 process...All c │ │ │ +0001db60: 6f6d 6d61 6e64 7320 6172 6520 6563 686f ommands are echo │ │ │ +0001db70: 6564 2074 6f20 7468 6520 2a61 6764 6132 ed to the *agda2 │ │ │ +0001db80: 2a20 6275 6666 6572 2c20 7769 7468 2074 * buffer, with t │ │ │ +0001db90: 6865 2065 7863 6570 7469 6f6e 0a6f 6620 he exception.of │ │ │ +0001dba0: 636f 6d6d 616e 6473 206f 6620 7468 6520 commands of the │ │ │ +0001dbb0: 666f 726d 205c 2228 6167 6461 322d 6869 form \"(agda2-hi │ │ │ +0001dbc0: 6768 6c69 6768 742d 2e2e 2e20 2e2e 2e29 ghlight-... ...) │ │ │ +0001dbd0: 5c22 2e0a 0a54 6865 206e 6f6e 2d6c 6173 \"...The non-las │ │ │ +0001dbe0: 7420 636f 6d6d 616e 6473 2061 7265 2072 t commands are r │ │ │ +0001dbf0: 756e 2069 6e20 7468 6520 6f72 6465 7220 un in the order │ │ │ +0001dc00: 696e 2077 6869 6368 2074 6865 7920 6170 in which they ap │ │ │ +0001dc10: 7065 6172 2e0a 0a57 6865 6e20 7468 6520 pear...When the │ │ │ +0001dc20: 7072 6f6d 7074 2068 6173 2062 6565 6e20 prompt has been │ │ │ +0001dc30: 7265 6163 6865 6420 6869 6768 6c69 6768 reached highligh │ │ │ +0001dc40: 7469 6e67 2061 6e6e 6f74 6174 696f 6e73 ting annotations │ │ │ +0001dc50: 2061 7265 0a72 656c 6f61 6465 6420 6672 are.reloaded fr │ │ │ +0001dc60: 6f6d 2060 6167 6461 322d 6869 6768 6c69 om `agda2-highli │ │ │ +0001dc70: 6768 7469 6e67 2d66 696c 6527 2c20 756e ghting-file', un │ │ │ +0001dc80: 6c65 7373 0a60 6167 6461 322d 6869 6768 less.`agda2-high │ │ │ +0001dc90: 6c69 6768 7469 6e67 2d69 6e2d 7072 6f67 lighting-in-prog │ │ │ +0001dca0: 7265 7373 2720 6973 206e 696c 2e22 0a0a ress' is nil.".. │ │ │ +0001dcb0: 2020 3b3b 2042 6577 6172 653a 2074 6865 ;; Beware: the │ │ │ +0001dcc0: 2062 7566 6665 7220 6d61 7920 6861 7665 buffer may have │ │ │ +0001dcd0: 2062 6565 6e20 6b69 6c6c 6564 2069 6e20 been killed in │ │ │ +0001dce0: 7468 6520 6d65 616e 2074 696d 652e 2020 the mean time. │ │ │ +0001dcf0: 452e 672e 2077 6865 6e0a 2020 3b3b 2076 E.g. when. ;; v │ │ │ +0001dd00: 6965 7769 6e67 2061 6e20 6174 7461 6368 iewing an attach │ │ │ +0001dd10: 6d65 6e74 2063 6f6e 7461 696e 696e 6720 ment containing │ │ │ +0001dd20: 4167 6461 2063 6f64 6520 696e 2047 6e75 Agda code in Gnu │ │ │ +0001dd30: 732c 2047 6e75 7320 7769 6c6c 0a20 203b s, Gnus will. ; │ │ │ +0001dd40: 3b20 6372 6561 7465 2061 2074 656d 7020 ; create a temp │ │ │ +0001dd50: 6275 6666 6572 2c20 7365 7420 6974 2069 buffer, set it i │ │ │ +0001dd60: 6e20 6167 6461 322d 6d6f 6465 2c20 6361 n agda2-mode, ca │ │ │ +0001dd70: 6c6c 2066 6f6e 742d 6c6f 636b 2d65 6e73 ll font-lock-ens │ │ │ +0001dd80: 7572 6520 6f6e 2069 740a 2020 3b3b 2028 ure on it. ;; ( │ │ │ +0001dd90: 7768 6963 6820 776f 6e27 7420 6b6e 6f77 which won't know │ │ │ +0001dda0: 2074 6861 7420 6974 206e 6565 6473 2074 that it needs t │ │ │ +0001ddb0: 6f20 7761 6974 2066 6f72 2073 6f6d 6520 o wait for some │ │ │ +0001ddc0: 7072 6f63 6573 7320 746f 2072 6570 6c79 process to reply │ │ │ +0001ddd0: 292c 2074 6865 6e0a 2020 3b3b 2065 7874 ), then. ;; ext │ │ │ +0001dde0: 7261 6374 2074 6865 2066 6f6e 7469 6669 ract the fontifi │ │ │ +0001ddf0: 6564 2074 6578 7420 616e 6420 6b69 6c6c ed text and kill │ │ │ +0001de00: 2074 6865 2074 656d 7020 6275 6666 6572 the temp buffer │ │ │ +0001de10: 3b20 736f 2077 6865 6e20 4167 6461 0a20 ; so when Agda. │ │ │ +0001de20: 203b 3b20 6669 6e61 6c6c 7920 616e 7377 ;; finally answ │ │ │ +0001de30: 6572 732c 2074 6865 2074 656d 7020 6275 ers, the temp bu │ │ │ +0001de40: 6666 6572 2069 7320 6c6f 6e67 2067 6f6e ffer is long gon │ │ │ +0001de50: 652e 0a20 2028 7768 656e 2028 6275 6666 e.. (when (buff │ │ │ +0001de60: 6572 2d6c 6976 652d 7020 6167 6461 322d er-live-p agda2- │ │ │ +0001de70: 6669 6c65 2d62 7566 6665 7229 0a20 2028 file-buffer). ( │ │ │ +0001de80: 7365 7471 2061 6764 6132 2d69 6e2d 6167 setq agda2-in-ag │ │ │ +0001de90: 6461 322d 6669 6c65 2d62 7566 6665 720a da2-file-buffer. │ │ │ +0001dea0: 2020 2020 2020 2020 2861 6e64 2061 6764 (and agd │ │ │ +0001deb0: 6132 2d66 696c 652d 6275 6666 6572 0a20 a2-file-buffer. │ │ │ +0001dec0: 2020 2020 2020 2020 2020 2020 2865 7175 (equ │ │ │ +0001ded0: 616c 2028 6375 7272 656e 742d 6275 6666 al (current-buff │ │ │ +0001dee0: 6572 2920 6167 6461 322d 6669 6c65 2d62 er) agda2-file-b │ │ │ +0001def0: 7566 6665 7229 2929 0a20 2028 6c65 7420 uffer))). (let │ │ │ +0001df00: 283b 3b20 5468 6520 696e 7075 7420 6c69 (;; The input li │ │ │ +0001df10: 6e65 7320 696e 2074 6865 2063 7572 7265 nes in the curre │ │ │ +0001df20: 6e74 2063 6875 6e6b 2e0a 2020 2020 2020 nt chunk.. │ │ │ +0001df30: 2020 286c 696e 6573 2028 7370 6c69 742d (lines (split- │ │ │ +0001df40: 7374 7269 6e67 2063 6875 6e6b 2022 5c6e string chunk "\n │ │ │ +0001df50: 2229 290a 0a20 2020 2020 2020 203b 3b20 ")).. ;; │ │ │ +0001df60: 4e6f 6e2d 6c61 7374 2063 6f6d 6d61 6e64 Non-last command │ │ │ +0001df70: 7320 666f 756e 6420 696e 2074 6865 2063 s found in the c │ │ │ +0001df80: 7572 7265 6e74 2063 6875 6e6b 2028 7265 urrent chunk (re │ │ │ +0001df90: 7665 7273 6564 292e 0a20 2020 2020 2020 versed).. │ │ │ +0001dfa0: 2028 6e6f 6e2d 6c61 7374 2d63 6f6d 6d61 (non-last-comma │ │ │ +0001dfb0: 6e64 7320 2829 290a 0a20 2020 2020 2020 nds ()).. │ │ │ +0001dfc0: 203b 3b20 4c61 7374 2069 6e63 6f6d 706c ;; Last incompl │ │ │ +0001dfd0: 6574 6520 6c69 6e65 2c20 6966 2061 6e79 ete line, if any │ │ │ +0001dfe0: 2e0a 2020 2020 2020 2020 286f 7574 7075 .. (outpu │ │ │ +0001dff0: 742d 6368 756e 6b2d 696e 636f 6d70 6c65 t-chunk-incomple │ │ │ +0001e000: 7465 2022 2229 290a 2020 2020 2877 6974 te "")). (wit │ │ │ +0001e010: 682d 6375 7272 656e 742d 6275 6666 6572 h-current-buffer │ │ │ +0001e020: 2061 6764 6132 2d66 696c 652d 6275 6666 agda2-file-buff │ │ │ +0001e030: 6572 0a20 2020 2020 2028 7768 656e 2028 er. (when ( │ │ │ +0001e040: 636f 6e73 7020 6c69 6e65 7329 0a20 2020 consp lines). │ │ │ +0001e050: 2020 2020 2028 6167 6461 322d 7175 6575 (agda2-queu │ │ │ +0001e060: 652d 656e 7175 6575 6520 6167 6461 322d e-enqueue agda2- │ │ │ +0001e070: 6f75 7470 7574 2d63 6875 6e6b 2d69 6e63 output-chunk-inc │ │ │ +0001e080: 6f6d 706c 6574 6520 2870 6f70 206c 696e omplete (pop lin │ │ │ +0001e090: 6573 2929 0a20 2020 2020 2020 2028 7768 es)). (wh │ │ │ +0001e0a0: 656e 2028 636f 6e73 7020 6c69 6e65 7329 en (consp lines) │ │ │ +0001e0b0: 0a20 2020 2020 2020 2020 203b 3b20 5468 . ;; Th │ │ │ +0001e0c0: 6520 7072 6576 696f 7573 2075 6e63 6f6d e previous uncom │ │ │ +0001e0d0: 706c 6574 6520 6368 756e 6b20 6973 206e plete chunk is n │ │ │ +0001e0e0: 6f77 2063 6f6d 706c 6574 652e 0a20 2020 ow complete.. │ │ │ +0001e0f0: 2020 2020 2020 2028 7075 7368 2028 6167 (push (ag │ │ │ +0001e100: 6461 322d 7175 6575 652d 746f 2d73 7472 da2-queue-to-str │ │ │ +0001e110: 696e 6720 6167 6461 322d 6f75 7470 7574 ing agda2-output │ │ │ +0001e120: 2d63 6875 6e6b 2d69 6e63 6f6d 706c 6574 -chunk-incomplet │ │ │ +0001e130: 6529 0a20 2020 2020 2020 2020 2020 2020 e). │ │ │ +0001e140: 2020 206c 696e 6573 290a 0a20 2020 2020 lines).. │ │ │ +0001e150: 2020 2020 203b 3b20 5374 6173 6820 6177 ;; Stash aw │ │ │ +0001e160: 6179 2074 6865 206c 6173 7420 696e 636f ay the last inco │ │ │ +0001e170: 6d70 6c65 7465 206c 696e 652c 2069 6620 mplete line, if │ │ │ +0001e180: 616e 792e 2028 4e6f 7465 2074 6861 740a any. (Note that. │ │ │ +0001e190: 2020 2020 2020 2020 2020 3b3b 2028 7370 ;; (sp │ │ │ +0001e1a0: 6c69 742d 7374 7269 6e67 2022 2e2e 2e5c lit-string "...\ │ │ │ +0001e1b0: 6e22 2022 5c6e 2229 2065 7661 6c75 6174 n" "\n") evaluat │ │ │ +0001e1c0: 6573 2074 6f20 282e 2e2e 2022 2229 2e29 es to (... "").) │ │ │ +0001e1d0: 0a20 2020 2020 2020 2020 2028 7365 7471 . (setq │ │ │ +0001e1e0: 206f 7574 7075 742d 6368 756e 6b2d 696e output-chunk-in │ │ │ +0001e1f0: 636f 6d70 6c65 7465 2028 6361 7220 286c complete (car (l │ │ │ +0001e200: 6173 7420 6c69 6e65 7329 290a 2020 2020 ast lines)). │ │ │ +0001e210: 2020 2020 2020 2020 2020 2020 6167 6461 agda │ │ │ +0001e220: 322d 6f75 7470 7574 2d63 6875 6e6b 2d69 2-output-chunk-i │ │ │ +0001e230: 6e63 6f6d 706c 6574 650a 2020 2020 2020 ncomplete. │ │ │ +0001e240: 2020 2020 2020 2020 2020 2861 6764 6132 (agda2 │ │ │ +0001e250: 2d71 7565 7565 2d66 726f 6d2d 7374 7269 -queue-from-stri │ │ │ +0001e260: 6e67 206f 7574 7075 742d 6368 756e 6b2d ng output-chunk- │ │ │ +0001e270: 696e 636f 6d70 6c65 7465 2929 0a0a 2020 incomplete)).. │ │ │ +0001e280: 2020 2020 2020 2020 3b3b 2048 616e 646c ;; Handl │ │ │ +0001e290: 6520 6576 6572 7920 636f 6d70 6c65 7465 e every complete │ │ │ +0001e2a0: 206c 696e 652e 0a20 2020 2020 2020 2020 line.. │ │ │ +0001e2b0: 2028 646f 6c69 7374 2028 6c69 6e65 2028 (dolist (line ( │ │ │ +0001e2c0: 6275 746c 6173 7420 6c69 6e65 7329 290a butlast lines)). │ │ │ +0001e2d0: 2020 2020 2020 2020 2020 2020 286c 6574 (let │ │ │ +0001e2e0: 2a20 283b 3b20 5468 6520 636f 6d6d 616e * (;; The comman │ │ │ +0001e2f0: 642e 204c 696e 6573 2077 6869 6368 2063 d. Lines which c │ │ │ +0001e300: 616e 6e6f 7420 6265 2070 6172 7365 6420 annot be parsed │ │ │ +0001e310: 6173 2061 2073 696e 676c 650a 2020 2020 as a single. │ │ │ +0001e320: 2020 2020 2020 2020 2020 2020 2020 203b ; │ │ │ +0001e330: 3b20 6c69 7374 2c20 7769 7468 6f75 7420 ; list, without │ │ │ +0001e340: 616e 7920 6a75 6e6b 2c20 6172 6520 6967 any junk, are ig │ │ │ +0001e350: 6e6f 7265 642e 0a20 2020 2020 2020 2020 nored.. │ │ │ +0001e360: 2020 2020 2020 2020 2020 2863 6d64 2028 (cmd ( │ │ │ +0001e370: 636f 6e64 6974 696f 6e2d 6361 7365 206e condition-case n │ │ │ +0001e380: 696c 0a20 2020 2020 2020 2020 2020 2020 il. │ │ │ +0001e390: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ +0001e3a0: 6c65 7420 2828 7265 7375 6c74 2028 7265 let ((result (re │ │ │ +0001e3b0: 6164 2d66 726f 6d2d 7374 7269 6e67 206c ad-from-string l │ │ │ +0001e3c0: 696e 6529 2929 0a20 2020 2020 2020 2020 ine))). │ │ │ 0001e3d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0001e3e0: 2020 2020 2869 6620 2861 6e64 2028 6c69 (if (and (li │ │ │ -0001e3f0: 7374 7020 2863 6172 2072 6573 756c 7429 stp (car result) │ │ │ -0001e400: 290a 2020 2020 2020 2020 2020 2020 2020 ). │ │ │ +0001e3e0: 2020 2020 2028 6966 2028 616e 6420 286c (if (and (l │ │ │ +0001e3f0: 6973 7470 2028 6361 7220 7265 7375 6c74 istp (car result │ │ │ +0001e400: 2929 0a20 2020 2020 2020 2020 2020 2020 )). │ │ │ 0001e410: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0001e420: 2020 2020 2020 2020 2028 3d20 2863 6472 (= (cdr │ │ │ -0001e430: 2072 6573 756c 7429 2028 6c65 6e67 7468 result) (length │ │ │ -0001e440: 206c 696e 6529 2929 0a20 2020 2020 2020 line))). │ │ │ +0001e420: 2020 2020 2020 2020 2020 283d 2028 6364 (= (cd │ │ │ +0001e430: 7220 7265 7375 6c74 2920 286c 656e 6774 r result) (lengt │ │ │ +0001e440: 6820 6c69 6e65 2929 290a 2020 2020 2020 h line))). │ │ │ 0001e450: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0001e460: 2020 2020 2020 2020 2020 2028 6361 7220 (car │ │ │ -0001e470: 7265 7375 6c74 2929 290a 2020 2020 2020 result))). │ │ │ +0001e460: 2020 2020 2020 2020 2020 2020 2863 6172 (car │ │ │ +0001e470: 2072 6573 756c 7429 2929 0a20 2020 2020 result))). │ │ │ 0001e480: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0001e490: 2020 2020 2865 7272 6f72 206e 696c 2929 (error nil)) │ │ │ -0001e4a0: 290a 2020 2020 2020 2020 2020 2020 2020 ). │ │ │ -0001e4b0: 2020 2020 2028 6973 2d68 6967 686c 6967 (is-highlig │ │ │ -0001e4c0: 6874 696e 672d 636f 6d6d 616e 640a 2020 hting-command. │ │ │ +0001e490: 2020 2020 2028 6572 726f 7220 6e69 6c29 (error nil) │ │ │ +0001e4a0: 2929 0a20 2020 2020 2020 2020 2020 2020 )). │ │ │ +0001e4b0: 2020 2020 2020 2869 732d 6869 6768 6c69 (is-highli │ │ │ +0001e4c0: 6768 7469 6e67 2d63 6f6d 6d61 6e64 0a20 ghting-command. │ │ │ 0001e4d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0001e4e0: 2020 2861 6e64 2063 6d64 0a20 2020 2020 (and cmd. │ │ │ +0001e4e0: 2020 2028 616e 6420 636d 640a 2020 2020 (and cmd. │ │ │ 0001e4f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0001e500: 2020 2020 2873 796d 626f 6c70 2028 6361 (symbolp (ca │ │ │ -0001e510: 7220 636d 6429 290a 2020 2020 2020 2020 r cmd)). │ │ │ +0001e500: 2020 2020 2028 7379 6d62 6f6c 7020 2863 (symbolp (c │ │ │ +0001e510: 6172 2063 6d64 2929 0a20 2020 2020 2020 ar cmd)). │ │ │ 0001e520: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0001e530: 2028 6c65 7420 2828 6361 7365 2d66 6f6c (let ((case-fol │ │ │ -0001e540: 642d 7365 6172 6368 206e 696c 2929 0a20 d-search nil)). │ │ │ +0001e530: 2020 286c 6574 2028 2863 6173 652d 666f (let ((case-fo │ │ │ +0001e540: 6c64 2d73 6561 7263 6820 6e69 6c29 290a ld-search nil)). │ │ │ 0001e550: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0001e560: 2020 2020 2020 2020 2020 2873 7472 696e (strin │ │ │ -0001e570: 672d 6d61 7463 6820 225e 6167 6461 322d g-match "^agda2- │ │ │ -0001e580: 6869 6768 6c69 6768 742d 220a 2020 2020 highlight-". │ │ │ +0001e560: 2020 2020 2020 2020 2020 2028 7374 7269 (stri │ │ │ +0001e570: 6e67 2d6d 6174 6368 2022 5e61 6764 6132 ng-match "^agda2 │ │ │ +0001e580: 2d68 6967 686c 6967 6874 2d22 0a20 2020 -highlight-". │ │ │ 0001e590: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 0001e5a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0001e5b0: 2020 2020 2028 7379 6d62 6f6c 2d6e 616d (symbol-nam │ │ │ -0001e5c0: 6520 2863 6172 2063 6d64 2929 2929 2929 e (car cmd)))))) │ │ │ -0001e5d0: 290a 0a20 2020 2020 2020 2020 2020 2020 ).. │ │ │ -0001e5e0: 203b 3b20 446f 206e 6f74 2065 6368 6f20 ;; Do not echo │ │ │ -0001e5f0: 6869 6768 6c69 6768 7469 6e67 2063 6f6d highlighting com │ │ │ -0001e600: 6d61 6e64 732e 0a20 2020 2020 2020 2020 mands.. │ │ │ -0001e610: 2020 2020 2028 756e 6c65 7373 2069 732d (unless is- │ │ │ -0001e620: 6869 6768 6c69 6768 7469 6e67 2d63 6f6d highlighting-com │ │ │ -0001e630: 6d61 6e64 0a20 2020 2020 2020 2020 2020 mand. │ │ │ -0001e640: 2020 2020 2028 7769 7468 2d63 7572 7265 (with-curre │ │ │ -0001e650: 6e74 2d62 7566 6665 7220 6167 6461 322d nt-buffer agda2- │ │ │ -0001e660: 7072 6f63 6573 732d 6275 6666 6572 0a20 process-buffer. │ │ │ +0001e5b0: 2020 2020 2020 2873 796d 626f 6c2d 6e61 (symbol-na │ │ │ +0001e5c0: 6d65 2028 6361 7220 636d 6429 2929 2929 me (car cmd))))) │ │ │ +0001e5d0: 2929 0a0a 2020 2020 2020 2020 2020 2020 )).. │ │ │ +0001e5e0: 2020 3b3b 2044 6f20 6e6f 7420 6563 686f ;; Do not echo │ │ │ +0001e5f0: 2068 6967 686c 6967 6874 696e 6720 636f highlighting co │ │ │ +0001e600: 6d6d 616e 6473 2e0a 2020 2020 2020 2020 mmands.. │ │ │ +0001e610: 2020 2020 2020 2875 6e6c 6573 7320 6973 (unless is │ │ │ +0001e620: 2d68 6967 686c 6967 6874 696e 672d 636f -highlighting-co │ │ │ +0001e630: 6d6d 616e 640a 2020 2020 2020 2020 2020 mmand. │ │ │ +0001e640: 2020 2020 2020 2877 6974 682d 6375 7272 (with-curr │ │ │ +0001e650: 656e 742d 6275 6666 6572 2061 6764 6132 ent-buffer agda2 │ │ │ +0001e660: 2d70 726f 6365 7373 2d62 7566 6665 720a -process-buffer. │ │ │ 0001e670: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0001e680: 2028 7361 7665 2d65 7863 7572 7369 6f6e (save-excursion │ │ │ -0001e690: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ -0001e6a0: 2020 2020 2028 676f 746f 2d63 6861 7220 (goto-char │ │ │ -0001e6b0: 2870 6f69 6e74 2d6d 6178 2929 0a20 2020 (point-max)). │ │ │ +0001e680: 2020 2873 6176 652d 6578 6375 7273 696f (save-excursio │ │ │ +0001e690: 6e0a 2020 2020 2020 2020 2020 2020 2020 n. │ │ │ +0001e6a0: 2020 2020 2020 2867 6f74 6f2d 6368 6172 (goto-char │ │ │ +0001e6b0: 2028 706f 696e 742d 6d61 7829 290a 2020 (point-max)). │ │ │ 0001e6c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0001e6d0: 2028 696e 7365 7274 206c 696e 6529 0a20 (insert line). │ │ │ +0001e6d0: 2020 2869 6e73 6572 7420 6c69 6e65 290a (insert line). │ │ │ 0001e6e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0001e6f0: 2020 2028 696e 7365 7274 2022 5c6e 2229 (insert "\n") │ │ │ -0001e700: 2929 290a 2020 2020 2020 2020 2020 2020 ))). │ │ │ -0001e710: 2020 2877 6865 6e20 636d 640a 2020 2020 (when cmd. │ │ │ -0001e720: 2020 2020 2020 2020 2020 2020 2869 6620 (if │ │ │ -0001e730: 2865 7175 616c 2027 6c61 7374 2028 6361 (equal 'last (ca │ │ │ -0001e740: 722d 7361 6665 2028 6361 7220 636d 6429 r-safe (car cmd) │ │ │ -0001e750: 2929 0a20 2020 2020 2020 2020 2020 2020 )). │ │ │ -0001e760: 2020 2020 2020 2028 7075 7368 2028 636f (push (co │ │ │ -0001e770: 6e73 2028 6364 7220 2863 6172 2063 6d64 ns (cdr (car cmd │ │ │ -0001e780: 2929 2028 6364 7220 636d 6429 290a 2020 )) (cdr cmd)). │ │ │ +0001e6f0: 2020 2020 2869 6e73 6572 7420 225c 6e22 (insert "\n" │ │ │ +0001e700: 2929 2929 0a20 2020 2020 2020 2020 2020 )))). │ │ │ +0001e710: 2020 2028 7768 656e 2063 6d64 0a20 2020 (when cmd. │ │ │ +0001e720: 2020 2020 2020 2020 2020 2020 2028 6966 (if │ │ │ +0001e730: 2028 6571 7561 6c20 276c 6173 7420 2863 (equal 'last (c │ │ │ +0001e740: 6172 2d73 6166 6520 2863 6172 2063 6d64 ar-safe (car cmd │ │ │ +0001e750: 2929 290a 2020 2020 2020 2020 2020 2020 ))). │ │ │ +0001e760: 2020 2020 2020 2020 2870 7573 6820 2863 (push (c │ │ │ +0001e770: 6f6e 7320 2863 6472 2028 6361 7220 636d ons (cdr (car cm │ │ │ +0001e780: 6429 2920 2863 6472 2063 6d64 2929 0a20 d)) (cdr cmd)). │ │ │ 0001e790: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0001e7a0: 2020 2020 2020 2020 6167 6461 322d 6c61 agda2-la │ │ │ -0001e7b0: 7374 2d72 6573 706f 6e73 6573 290a 2020 st-responses). │ │ │ +0001e7a0: 2020 2020 2020 2020 2061 6764 6132 2d6c agda2-l │ │ │ +0001e7b0: 6173 742d 7265 7370 6f6e 7365 7329 0a20 ast-responses). │ │ │ 0001e7c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0001e7d0: 2870 7573 6820 636d 6420 6e6f 6e2d 6c61 (push cmd non-la │ │ │ -0001e7e0: 7374 2d63 6f6d 6d61 6e64 7329 2929 2929 st-commands))))) │ │ │ -0001e7f0: 0a0a 2020 2020 2020 2020 2020 3b3b 2052 .. ;; R │ │ │ -0001e800: 756e 206e 6f6e 2d6c 6173 7420 636f 6d6d un non-last comm │ │ │ -0001e810: 616e 6473 2e0a 2020 2020 2020 2020 2020 ands.. │ │ │ -0001e820: 286d 6170 6320 2761 6764 6132 2d65 7865 (mapc 'agda2-exe │ │ │ -0001e830: 632d 7265 7370 6f6e 7365 2028 6e72 6576 c-response (nrev │ │ │ -0001e840: 6572 7365 206e 6f6e 2d6c 6173 742d 636f erse non-last-co │ │ │ -0001e850: 6d6d 616e 6473 2929 290a 0a20 2020 2020 mmands))).. │ │ │ -0001e860: 2020 203b 3b20 4368 6563 6b20 6966 2074 ;; Check if t │ │ │ -0001e870: 6865 2070 726f 6d70 7420 6861 7320 6265 he prompt has be │ │ │ -0001e880: 656e 2072 6561 6368 6564 2e20 5468 6973 en reached. This │ │ │ -0001e890: 2066 756e 6374 696f 6e20 6173 7375 6d65 function assume │ │ │ -0001e8a0: 730a 2020 2020 2020 2020 3b3b 2074 6861 s. ;; tha │ │ │ -0001e8b0: 7420 7468 6520 7072 6f6d 7074 2064 6f65 t the prompt doe │ │ │ -0001e8c0: 7320 6e6f 7420 696e 636c 7564 6520 616e s not include an │ │ │ -0001e8d0: 7920 6e65 776c 696e 6520 6368 6172 6163 y newline charac │ │ │ -0001e8e0: 7465 7273 2e0a 2020 2020 2020 2020 2877 ters.. (w │ │ │ -0001e8f0: 6865 6e20 2861 6764 6132 2d71 7565 7565 hen (agda2-queue │ │ │ -0001e900: 2d69 732d 7072 6566 6978 2d6f 6620 6167 -is-prefix-of ag │ │ │ -0001e910: 6461 322d 6f75 7470 7574 2d70 726f 6d70 da2-output-promp │ │ │ -0001e920: 740a 2020 2020 2020 2020 2020 2020 2020 t. │ │ │ +0001e7d0: 2028 7075 7368 2063 6d64 206e 6f6e 2d6c (push cmd non-l │ │ │ +0001e7e0: 6173 742d 636f 6d6d 616e 6473 2929 2929 ast-commands)))) │ │ │ +0001e7f0: 290a 0a20 2020 2020 2020 2020 203b 3b20 ).. ;; │ │ │ +0001e800: 5275 6e20 6e6f 6e2d 6c61 7374 2063 6f6d Run non-last com │ │ │ +0001e810: 6d61 6e64 732e 0a20 2020 2020 2020 2020 mands.. │ │ │ +0001e820: 2028 6d61 7063 2027 6167 6461 322d 6578 (mapc 'agda2-ex │ │ │ +0001e830: 6563 2d72 6573 706f 6e73 6520 286e 7265 ec-response (nre │ │ │ +0001e840: 7665 7273 6520 6e6f 6e2d 6c61 7374 2d63 verse non-last-c │ │ │ +0001e850: 6f6d 6d61 6e64 7329 2929 0a0a 2020 2020 ommands))).. │ │ │ +0001e860: 2020 2020 3b3b 2043 6865 636b 2069 6620 ;; Check if │ │ │ +0001e870: 7468 6520 7072 6f6d 7074 2068 6173 2062 the prompt has b │ │ │ +0001e880: 6565 6e20 7265 6163 6865 642e 2054 6869 een reached. Thi │ │ │ +0001e890: 7320 6675 6e63 7469 6f6e 2061 7373 756d s function assum │ │ │ +0001e8a0: 6573 0a20 2020 2020 2020 203b 3b20 7468 es. ;; th │ │ │ +0001e8b0: 6174 2074 6865 2070 726f 6d70 7420 646f at the prompt do │ │ │ +0001e8c0: 6573 206e 6f74 2069 6e63 6c75 6465 2061 es not include a │ │ │ +0001e8d0: 6e79 206e 6577 6c69 6e65 2063 6861 7261 ny newline chara │ │ │ +0001e8e0: 6374 6572 732e 0a20 2020 2020 2020 2028 cters.. ( │ │ │ +0001e8f0: 7768 656e 2028 6167 6461 322d 7175 6575 when (agda2-queu │ │ │ +0001e900: 652d 6973 2d70 7265 6669 782d 6f66 2061 e-is-prefix-of a │ │ │ +0001e910: 6764 6132 2d6f 7574 7075 742d 7072 6f6d gda2-output-prom │ │ │ +0001e920: 7074 0a20 2020 2020 2020 2020 2020 2020 pt. │ │ │ 0001e930: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0001e940: 2020 2020 2020 2020 2020 6167 6461 322d agda2- │ │ │ -0001e950: 6f75 7470 7574 2d63 6875 6e6b 2d69 6e63 output-chunk-inc │ │ │ -0001e960: 6f6d 706c 6574 6529 0a20 2020 2020 2020 omplete). │ │ │ -0001e970: 2020 2028 7769 7468 2d63 7572 7265 6e74 (with-current │ │ │ -0001e980: 2d62 7566 6665 7220 6167 6461 322d 7072 -buffer agda2-pr │ │ │ -0001e990: 6f63 6573 732d 6275 6666 6572 0a20 2020 ocess-buffer. │ │ │ -0001e9a0: 2020 2020 2020 2020 2028 696e 7365 7274 (insert │ │ │ -0001e9b0: 206f 7574 7075 742d 6368 756e 6b2d 696e output-chunk-in │ │ │ -0001e9c0: 636f 6d70 6c65 7465 2929 0a20 2020 2020 complete)). │ │ │ -0001e9d0: 2020 2020 2028 7365 7471 2061 6764 6132 (setq agda2 │ │ │ -0001e9e0: 2d6f 7574 7075 742d 6368 756e 6b2d 696e -output-chunk-in │ │ │ -0001e9f0: 636f 6d70 6c65 7465 2028 6167 6461 322d complete (agda2- │ │ │ -0001ea00: 7175 6575 652d 656d 7074 7929 0a20 2020 queue-empty). │ │ │ -0001ea10: 2020 2020 2020 2020 2020 2020 2061 6764 agd │ │ │ -0001ea20: 6132 2d69 6e2d 7072 6f67 7265 7373 206e a2-in-progress n │ │ │ -0001ea30: 696c 0a20 2020 2020 2020 2020 2020 2020 il. │ │ │ -0001ea40: 2020 2061 6764 6132 2d6c 6173 742d 7265 agda2-last-re │ │ │ -0001ea50: 7370 6f6e 7365 7320 286e 7265 7665 7273 sponses (nrevers │ │ │ -0001ea60: 6520 6167 6461 322d 6c61 7374 2d72 6573 e agda2-last-res │ │ │ -0001ea70: 706f 6e73 6573 2929 0a0a 2020 2020 2020 ponses)).. │ │ │ -0001ea80: 2020 2020 2861 6764 6132 2d72 756e 2d6c (agda2-run-l │ │ │ -0001ea90: 6173 742d 636f 6d6d 616e 6473 2929 2929 ast-commands)))) │ │ │ -0001eaa0: 2929 290a 0a28 6465 6675 6e20 6167 6461 )))..(defun agda │ │ │ -0001eab0: 322d 7275 6e2d 6c61 7374 2d63 6f6d 6d61 2-run-last-comma │ │ │ -0001eac0: 6e64 7320 6e69 6c0a 2020 2245 7865 6375 nds nil. "Execu │ │ │ -0001ead0: 7465 2074 6865 206c 6173 7420 636f 6d6d te the last comm │ │ │ -0001eae0: 616e 6473 2069 6e20 7468 6520 7269 6768 ands in the righ │ │ │ -0001eaf0: 7420 6f72 6465 722e 0a5c 2841 6674 6572 t order..\(After │ │ │ -0001eb00: 2074 6865 2070 726f 6d70 7420 6861 7320 the prompt has │ │ │ -0001eb10: 7265 6170 7065 6172 6564 2e29 2053 6565 reappeared.) See │ │ │ -0001eb20: 2060 6167 6461 322d 6f75 7470 7574 2d66 `agda2-output-f │ │ │ -0001eb30: 696c 7465 7227 2e22 0a0a 2020 3b3b 2077 ilter'.".. ;; w │ │ │ -0001eb40: 6974 682d 6375 7272 656e 742d 6275 6666 ith-current-buff │ │ │ -0001eb50: 6572 2069 7320 7573 6564 2072 6570 6561 er is used repea │ │ │ -0001eb60: 7465 646c 7920 6265 6c6f 772c 2062 6563 tedly below, bec │ │ │ -0001eb70: 6175 7365 2073 6f6d 6520 6c61 7374 0a20 ause some last. │ │ │ -0001eb80: 203b 3b20 636f 6d6d 616e 6473 206d 6179 ;; commands may │ │ │ -0001eb90: 2073 7769 7463 6820 7468 6520 666f 6375 switch the focu │ │ │ -0001eba0: 7320 746f 2061 6e6f 7468 6572 2062 7566 s to another buf │ │ │ -0001ebb0: 6665 722e 0a0a 2020 2877 6869 6c65 2028 fer... (while ( │ │ │ -0001ebc0: 7769 7468 2d63 7572 7265 6e74 2d62 7566 with-current-buf │ │ │ -0001ebd0: 6665 7220 6167 6461 322d 6669 6c65 2d62 fer agda2-file-b │ │ │ -0001ebe0: 7566 6665 720a 2020 2020 2020 2020 2020 uffer. │ │ │ -0001ebf0: 2028 616e 6420 286e 6f74 2061 6764 6132 (and (not agda2 │ │ │ -0001ec00: 2d69 6e2d 7072 6f67 7265 7373 2920 2863 -in-progress) (c │ │ │ -0001ec10: 6f6e 7370 2061 6764 6132 2d6c 6173 742d onsp agda2-last- │ │ │ -0001ec20: 7265 7370 6f6e 7365 7329 2929 0a20 2020 responses))). │ │ │ -0001ec30: 2028 7769 7468 2d63 7572 7265 6e74 2d62 (with-current-b │ │ │ -0001ec40: 7566 6665 7220 6167 6461 322d 6669 6c65 uffer agda2-file │ │ │ -0001ec50: 2d62 7566 6665 720a 2020 2020 2020 3b3b -buffer. ;; │ │ │ -0001ec60: 2054 6865 206c 6973 7420 6973 2073 6f72 The list is sor │ │ │ -0001ec70: 7465 6420 7265 7065 6174 6564 6c79 2062 ted repeatedly b │ │ │ -0001ec80: 6563 6175 7365 2074 6869 7320 6675 6e63 ecause this func │ │ │ -0001ec90: 7469 6f6e 206d 6179 2062 650a 2020 2020 tion may be. │ │ │ -0001eca0: 2020 3b3b 2063 616c 6c65 6420 7265 6375 ;; called recu │ │ │ -0001ecb0: 7273 6976 656c 7920 2876 6961 2060 6167 rsively (via `ag │ │ │ -0001ecc0: 6461 322d 6578 6563 2d72 6573 706f 6e73 da2-exec-respons │ │ │ -0001ecd0: 6527 292e 0a20 2020 2020 2028 7365 7471 e').. (setq │ │ │ -0001ece0: 2061 6764 6132 2d6c 6173 742d 7265 7370 agda2-last-resp │ │ │ -0001ecf0: 6f6e 7365 7320 2873 6f72 7420 6167 6461 onses (sort agda │ │ │ -0001ed00: 322d 6c61 7374 2d72 6573 706f 6e73 6573 2-last-responses │ │ │ -0001ed10: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ +0001e940: 2020 2020 2020 2020 2020 2061 6764 6132 agda2 │ │ │ +0001e950: 2d6f 7574 7075 742d 6368 756e 6b2d 696e -output-chunk-in │ │ │ +0001e960: 636f 6d70 6c65 7465 290a 2020 2020 2020 complete). │ │ │ +0001e970: 2020 2020 2877 6974 682d 6375 7272 656e (with-curren │ │ │ +0001e980: 742d 6275 6666 6572 2061 6764 6132 2d70 t-buffer agda2-p │ │ │ +0001e990: 726f 6365 7373 2d62 7566 6665 720a 2020 rocess-buffer. │ │ │ +0001e9a0: 2020 2020 2020 2020 2020 2869 6e73 6572 (inser │ │ │ +0001e9b0: 7420 6f75 7470 7574 2d63 6875 6e6b 2d69 t output-chunk-i │ │ │ +0001e9c0: 6e63 6f6d 706c 6574 6529 290a 2020 2020 ncomplete)). │ │ │ +0001e9d0: 2020 2020 2020 2873 6574 7120 6167 6461 (setq agda │ │ │ +0001e9e0: 322d 6f75 7470 7574 2d63 6875 6e6b 2d69 2-output-chunk-i │ │ │ +0001e9f0: 6e63 6f6d 706c 6574 6520 2861 6764 6132 ncomplete (agda2 │ │ │ +0001ea00: 2d71 7565 7565 2d65 6d70 7479 290a 2020 -queue-empty). │ │ │ +0001ea10: 2020 2020 2020 2020 2020 2020 2020 6167 ag │ │ │ +0001ea20: 6461 322d 696e 2d70 726f 6772 6573 7320 da2-in-progress │ │ │ +0001ea30: 6e69 6c0a 2020 2020 2020 2020 2020 2020 nil. │ │ │ +0001ea40: 2020 2020 6167 6461 322d 6c61 7374 2d72 agda2-last-r │ │ │ +0001ea50: 6573 706f 6e73 6573 2028 6e72 6576 6572 esponses (nrever │ │ │ +0001ea60: 7365 2061 6764 6132 2d6c 6173 742d 7265 se agda2-last-re │ │ │ +0001ea70: 7370 6f6e 7365 7329 290a 0a20 2020 2020 sponses)).. │ │ │ +0001ea80: 2020 2020 2028 6167 6461 322d 7275 6e2d (agda2-run- │ │ │ +0001ea90: 6c61 7374 2d63 6f6d 6d61 6e64 7329 2929 last-commands))) │ │ │ +0001eaa0: 2929 2929 0a0a 2864 6566 756e 2061 6764 ))))..(defun agd │ │ │ +0001eab0: 6132 2d72 756e 2d6c 6173 742d 636f 6d6d a2-run-last-comm │ │ │ +0001eac0: 616e 6473 206e 696c 0a20 2022 4578 6563 ands nil. "Exec │ │ │ +0001ead0: 7574 6520 7468 6520 6c61 7374 2063 6f6d ute the last com │ │ │ +0001eae0: 6d61 6e64 7320 696e 2074 6865 2072 6967 mands in the rig │ │ │ +0001eaf0: 6874 206f 7264 6572 2e0a 5c28 4166 7465 ht order..\(Afte │ │ │ +0001eb00: 7220 7468 6520 7072 6f6d 7074 2068 6173 r the prompt has │ │ │ +0001eb10: 2072 6561 7070 6561 7265 642e 2920 5365 reappeared.) Se │ │ │ +0001eb20: 6520 6061 6764 6132 2d6f 7574 7075 742d e `agda2-output- │ │ │ +0001eb30: 6669 6c74 6572 272e 220a 0a20 203b 3b20 filter'.".. ;; │ │ │ +0001eb40: 7769 7468 2d63 7572 7265 6e74 2d62 7566 with-current-buf │ │ │ +0001eb50: 6665 7220 6973 2075 7365 6420 7265 7065 fer is used repe │ │ │ +0001eb60: 6174 6564 6c79 2062 656c 6f77 2c20 6265 atedly below, be │ │ │ +0001eb70: 6361 7573 6520 736f 6d65 206c 6173 740a cause some last. │ │ │ +0001eb80: 2020 3b3b 2063 6f6d 6d61 6e64 7320 6d61 ;; commands ma │ │ │ +0001eb90: 7920 7377 6974 6368 2074 6865 2066 6f63 y switch the foc │ │ │ +0001eba0: 7573 2074 6f20 616e 6f74 6865 7220 6275 us to another bu │ │ │ +0001ebb0: 6666 6572 2e0a 0a20 2028 7768 696c 6520 ffer... (while │ │ │ +0001ebc0: 2877 6974 682d 6375 7272 656e 742d 6275 (with-current-bu │ │ │ +0001ebd0: 6666 6572 2061 6764 6132 2d66 696c 652d ffer agda2-file- │ │ │ +0001ebe0: 6275 6666 6572 0a20 2020 2020 2020 2020 buffer. │ │ │ +0001ebf0: 2020 2861 6e64 2028 6e6f 7420 6167 6461 (and (not agda │ │ │ +0001ec00: 322d 696e 2d70 726f 6772 6573 7329 2028 2-in-progress) ( │ │ │ +0001ec10: 636f 6e73 7020 6167 6461 322d 6c61 7374 consp agda2-last │ │ │ +0001ec20: 2d72 6573 706f 6e73 6573 2929 290a 2020 -responses))). │ │ │ +0001ec30: 2020 2877 6974 682d 6375 7272 656e 742d (with-current- │ │ │ +0001ec40: 6275 6666 6572 2061 6764 6132 2d66 696c buffer agda2-fil │ │ │ +0001ec50: 652d 6275 6666 6572 0a20 2020 2020 203b e-buffer. ; │ │ │ +0001ec60: 3b20 5468 6520 6c69 7374 2069 7320 736f ; The list is so │ │ │ +0001ec70: 7274 6564 2072 6570 6561 7465 646c 7920 rted repeatedly │ │ │ +0001ec80: 6265 6361 7573 6520 7468 6973 2066 756e because this fun │ │ │ +0001ec90: 6374 696f 6e20 6d61 7920 6265 0a20 2020 ction may be. │ │ │ +0001eca0: 2020 203b 3b20 6361 6c6c 6564 2072 6563 ;; called rec │ │ │ +0001ecb0: 7572 7369 7665 6c79 2028 7669 6120 6061 ursively (via `a │ │ │ +0001ecc0: 6764 6132 2d65 7865 632d 7265 7370 6f6e gda2-exec-respon │ │ │ +0001ecd0: 7365 2729 2e0a 2020 2020 2020 2873 6574 se').. (set │ │ │ +0001ece0: 7120 6167 6461 322d 6c61 7374 2d72 6573 q agda2-last-res │ │ │ +0001ecf0: 706f 6e73 6573 2028 736f 7274 2061 6764 ponses (sort agd │ │ │ +0001ed00: 6132 2d6c 6173 742d 7265 7370 6f6e 7365 a2-last-response │ │ │ +0001ed10: 730a 2020 2020 2020 2020 2020 2020 2020 s. │ │ │ 0001ed20: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0001ed30: 2020 2020 2020 2020 286c 616d 6264 6120 (lambda │ │ │ -0001ed40: 2878 2079 2920 283c 3d20 2863 6172 2078 (x y) (<= (car x │ │ │ -0001ed50: 2920 2863 6172 2079 2929 2929 290a 2020 ) (car y))))). │ │ │ -0001ed60: 2020 2020 286c 6574 2028 2872 2028 706f (let ((r (po │ │ │ -0001ed70: 7020 6167 6461 322d 6c61 7374 2d72 6573 p agda2-last-res │ │ │ -0001ed80: 706f 6e73 6573 2929 290a 2020 2020 2020 ponses))). │ │ │ -0001ed90: 2020 2861 6764 6132 2d65 7865 632d 7265 (agda2-exec-re │ │ │ -0001eda0: 7370 6f6e 7365 2028 6364 7220 7229 2929 sponse (cdr r))) │ │ │ -0001edb0: 2929 0a0a 2020 3b3b 2055 6e73 6574 2061 )).. ;; Unset a │ │ │ -0001edc0: 6764 6132 2d68 6967 686c 6967 6874 2d69 gda2-highlight-i │ │ │ -0001edd0: 6e2d 7072 6f67 7265 7373 2077 6865 6e20 n-progress when │ │ │ -0001ede0: 616c 6c20 7468 6520 6173 796e 6368 726f all the asynchro │ │ │ -0001edf0: 6e6f 7573 0a20 203b 3b20 636f 6d6d 616e nous. ;; comman │ │ │ -0001ee00: 6473 2068 6176 6520 7465 726d 696e 6174 ds have terminat │ │ │ -0001ee10: 6564 2e0a 2020 2875 6e6c 6573 7320 6167 ed.. (unless ag │ │ │ -0001ee20: 6461 322d 696e 2d70 726f 6772 6573 730a da2-in-progress. │ │ │ -0001ee30: 2020 2020 2020 2873 6574 7120 6167 6461 (setq agda │ │ │ -0001ee40: 322d 6869 6768 6c69 6768 742d 696e 2d70 2-highlight-in-p │ │ │ -0001ee50: 726f 6772 6573 7320 6e69 6c29 2929 0a0a rogress nil))).. │ │ │ -0001ee60: 2864 6566 756e 2061 6764 6132 2d61 626f (defun agda2-abo │ │ │ -0001ee70: 7274 2d68 6967 686c 6967 6874 696e 6720 rt-highlighting │ │ │ -0001ee80: 6e69 6c0a 2020 2241 626f 7274 2061 6e79 nil. "Abort any │ │ │ -0001ee90: 2069 6e74 6572 6163 7469 7665 2068 6967 interactive hig │ │ │ -0001eea0: 686c 6967 6874 696e 672e 0a54 6869 7320 hlighting..This │ │ │ -0001eeb0: 6675 6e63 7469 6f6e 2073 686f 756c 6420 function should │ │ │ -0001eec0: 6265 2075 7365 6420 696e 2060 6669 7273 be used in `firs │ │ │ -0001eed0: 742d 6368 616e 6765 2d68 6f6f 6b27 2e22 t-change-hook'." │ │ │ -0001eee0: 0a20 2028 7768 656e 2061 6764 6132 2d68 . (when agda2-h │ │ │ -0001eef0: 6967 686c 6967 6874 2d69 6e2d 7072 6f67 ighlight-in-prog │ │ │ -0001ef00: 7265 7373 0a20 2020 2028 7365 7471 2061 ress. (setq a │ │ │ -0001ef10: 6764 6132 2d68 6967 686c 6967 6874 2d69 gda2-highlight-i │ │ │ -0001ef20: 6e2d 7072 6f67 7265 7373 206e 696c 290a n-progress nil). │ │ │ -0001ef30: 2020 2020 286d 6573 7361 6765 2022 5c22 (message "\" │ │ │ -0001ef40: 2573 5c22 2068 6173 2062 6565 6e20 6d6f %s\" has been mo │ │ │ -0001ef50: 6469 6669 6564 2e20 496e 7465 7272 7570 dified. Interrup │ │ │ -0001ef60: 7469 6e67 2068 6967 686c 6967 6874 696e ting highlightin │ │ │ -0001ef70: 672e 220a 2020 2020 2020 2020 2020 2020 g.". │ │ │ -0001ef80: 2028 6275 6666 6572 2d6e 616d 6520 2863 (buffer-name (c │ │ │ -0001ef90: 7572 7265 6e74 2d62 7566 6665 7229 2929 urrent-buffer))) │ │ │ -0001efa0: 2929 0a0a 2864 6566 756e 2061 6764 6132 ))..(defun agda2 │ │ │ -0001efb0: 2d67 6f61 6c2d 636d 6420 2863 6d64 2073 -goal-cmd (cmd s │ │ │ -0001efc0: 6176 6520 266f 7074 696f 6e61 6c20 7761 ave &optional wa │ │ │ -0001efd0: 6e74 2061 736b 2026 7265 7374 2061 7267 nt ask &rest arg │ │ │ -0001efe0: 7329 0a20 2022 5265 6164 7320 696e 7075 s). "Reads inpu │ │ │ -0001eff0: 7420 6672 6f6d 2067 6f61 6c20 6f72 206d t from goal or m │ │ │ -0001f000: 696e 6962 7566 6665 7220 616e 6420 7365 inibuffer and se │ │ │ -0001f010: 6e64 7320 636f 6d6d 616e 6420 746f 2041 nds command to A │ │ │ -0001f020: 6764 612e 0a0a 416e 2065 7272 6f72 2069 gda...An error i │ │ │ -0001f030: 7320 7261 6973 6564 2069 6620 706f 696e s raised if poin │ │ │ -0001f040: 7420 6973 206e 6f74 2069 6e20 6120 676f t is not in a go │ │ │ -0001f050: 616c 2e0a 0a54 6865 2063 6f6d 6d61 6e64 al...The command │ │ │ -0001f060: 2073 656e 7420 746f 2041 6764 6120 6973 sent to Agda is │ │ │ -0001f070: 0a0a 2020 434d 4420 3c67 6f61 6c20 6e75 .. CMD │ │ │ -0001f0a0: 4152 4753 2e0a 0a54 6865 2075 7365 7220 ARGS...The user │ │ │ -0001f0b0: 696e 7075 7420 6973 2063 6f6d 7075 7465 input is compute │ │ │ -0001f0c0: 6420 6173 2066 6f6c 6c6f 7773 3a0a 0a2a d as follows:..* │ │ │ -0001f0d0: 2049 6620 5741 4e54 2069 7320 6e69 6c2c If WANT is nil, │ │ │ -0001f0e0: 2074 6865 6e20 7468 6520 7573 6572 2069 then the user i │ │ │ -0001f0f0: 6e70 7574 2069 7320 7468 6520 656d 7074 nput is the empt │ │ │ -0001f100: 7920 7374 7269 6e67 2e0a 0a2a 2049 6620 y string...* If │ │ │ -0001f110: 5741 4e54 2069 7320 6120 7374 7269 6e67 WANT is a string │ │ │ -0001f120: 2c20 616e 6420 6569 7468 6572 2041 534b , and either ASK │ │ │ -0001f130: 2069 7320 6e6f 6e2d 6e69 6c20 6f72 2074 is non-nil or t │ │ │ -0001f140: 6865 2067 6f61 6c20 6f6e 6c79 0a20 2063 he goal only. c │ │ │ -0001f150: 6f6e 7461 696e 7320 7768 6974 6573 7061 ontains whitespa │ │ │ -0001f160: 6365 2c20 7468 656e 2074 6865 2069 6e70 ce, then the inp │ │ │ -0001f170: 7574 2069 7320 7461 6b65 6e20 6672 6f6d ut is taken from │ │ │ -0001f180: 2074 6865 0a20 206d 696e 6962 7566 6665 the. minibuffe │ │ │ -0001f190: 722e 2049 6e20 7468 6973 2063 6173 6520 r. In this case │ │ │ -0001f1a0: 5741 4e54 2069 7320 7573 6564 2061 7320 WANT is used as │ │ │ -0001f1b0: 7468 6520 7072 6f6d 7074 2073 7472 696e the prompt strin │ │ │ -0001f1c0: 672e 0a0a 2a20 4f74 6865 7277 6973 6520 g...* Otherwise │ │ │ -0001f1d0: 2869 6e63 6c75 6469 6e67 2069 6620 5741 (including if WA │ │ │ -0001f1e0: 4e54 2069 7320 5c5c 3d27 676f 616c 2920 NT is \\='goal) │ │ │ -0001f1f0: 7468 6520 676f 616c 2063 6f6e 7465 6e74 the goal content │ │ │ -0001f200: 7320 6172 650a 2020 7573 6564 2e0a 0a49 s are. used...I │ │ │ -0001f210: 6620 7468 6520 7573 6572 2069 6e70 7574 f the user input │ │ │ -0001f220: 2069 7320 6e6f 7420 7461 6b65 6e20 6672 is not taken fr │ │ │ -0001f230: 6f6d 2074 6865 2067 6f61 6c2c 2074 6865 om the goal, the │ │ │ -0001f240: 6e20 616e 2065 6d70 7479 2067 6f61 6c0a n an empty goal. │ │ │ -0001f250: 7261 6e67 6520 6973 2067 6976 656e 2e0a range is given.. │ │ │ -0001f260: 0a49 6620 5341 5645 2069 7320 5c5c 3d27 .If SAVE is \\=' │ │ │ -0001f270: 7361 7665 2c20 7468 656e 2074 6865 2062 save, then the b │ │ │ -0001f280: 7566 6665 7220 6973 2073 6176 6564 206a uffer is saved j │ │ │ -0001f290: 7573 7420 6265 666f 7265 2074 6865 0a63 ust before the.c │ │ │ -0001f2a0: 6f6d 6d61 6e64 2069 7320 7365 6e74 2074 ommand is sent t │ │ │ -0001f2b0: 6f20 4167 6461 2028 6966 2069 7420 6973 o Agda (if it is │ │ │ -0001f2c0: 2073 656e 7429 2e22 0a20 2028 636c 2d6d sent).". (cl-m │ │ │ -0001f2d0: 756c 7469 706c 652d 7661 6c75 652d 6269 ultiple-value-bi │ │ │ -0001f2e0: 6e64 2028 6f20 6729 2028 6167 6461 322d nd (o g) (agda2- │ │ │ -0001f2f0: 676f 616c 2d61 7420 2870 6f69 6e74 2929 goal-at (point)) │ │ │ -0001f300: 0a20 2020 2028 756e 6c65 7373 2067 2028 . (unless g ( │ │ │ -0001f310: 6572 726f 7220 2246 6f72 2074 6869 7320 error "For this │ │ │ -0001f320: 636f 6d6d 616e 642c 2070 6c65 6173 6520 command, please │ │ │ -0001f330: 706c 6163 6520 7468 6520 6375 7273 6f72 place the cursor │ │ │ -0001f340: 2069 6e20 6120 676f 616c 2229 290a 2020 in a goal")). │ │ │ -0001f350: 2020 286c 6574 2028 2874 7874 2028 6275 (let ((txt (bu │ │ │ -0001f360: 6666 6572 2d73 7562 7374 7269 6e67 2d6e ffer-substring-n │ │ │ -0001f370: 6f2d 7072 6f70 6572 7469 6573 2028 2b20 o-properties (+ │ │ │ -0001f380: 286f 7665 726c 6179 2d73 7461 7274 206f (overlay-start o │ │ │ -0001f390: 2920 3229 0a20 2020 2020 2020 2020 2020 ) 2). │ │ │ +0001ed30: 2020 2020 2020 2020 2028 6c61 6d62 6461 (lambda │ │ │ +0001ed40: 2028 7820 7929 2028 3c3d 2028 6361 7220 (x y) (<= (car │ │ │ +0001ed50: 7829 2028 6361 7220 7929 2929 2929 0a20 x) (car y))))). │ │ │ +0001ed60: 2020 2020 2028 6c65 7420 2828 7220 2870 (let ((r (p │ │ │ +0001ed70: 6f70 2061 6764 6132 2d6c 6173 742d 7265 op agda2-last-re │ │ │ +0001ed80: 7370 6f6e 7365 7329 2929 0a20 2020 2020 sponses))). │ │ │ +0001ed90: 2020 2028 6167 6461 322d 6578 6563 2d72 (agda2-exec-r │ │ │ +0001eda0: 6573 706f 6e73 6520 2863 6472 2072 2929 esponse (cdr r)) │ │ │ +0001edb0: 2929 290a 0a20 203b 3b20 556e 7365 7420 ))).. ;; Unset │ │ │ +0001edc0: 6167 6461 322d 6869 6768 6c69 6768 742d agda2-highlight- │ │ │ +0001edd0: 696e 2d70 726f 6772 6573 7320 7768 656e in-progress when │ │ │ +0001ede0: 2061 6c6c 2074 6865 2061 7379 6e63 6872 all the asynchr │ │ │ +0001edf0: 6f6e 6f75 730a 2020 3b3b 2063 6f6d 6d61 onous. ;; comma │ │ │ +0001ee00: 6e64 7320 6861 7665 2074 6572 6d69 6e61 nds have termina │ │ │ +0001ee10: 7465 642e 0a20 2028 756e 6c65 7373 2061 ted.. (unless a │ │ │ +0001ee20: 6764 6132 2d69 6e2d 7072 6f67 7265 7373 gda2-in-progress │ │ │ +0001ee30: 0a20 2020 2020 2028 7365 7471 2061 6764 . (setq agd │ │ │ +0001ee40: 6132 2d68 6967 686c 6967 6874 2d69 6e2d a2-highlight-in- │ │ │ +0001ee50: 7072 6f67 7265 7373 206e 696c 2929 290a progress nil))). │ │ │ +0001ee60: 0a28 6465 6675 6e20 6167 6461 322d 6162 .(defun agda2-ab │ │ │ +0001ee70: 6f72 742d 6869 6768 6c69 6768 7469 6e67 ort-highlighting │ │ │ +0001ee80: 206e 696c 0a20 2022 4162 6f72 7420 616e nil. "Abort an │ │ │ +0001ee90: 7920 696e 7465 7261 6374 6976 6520 6869 y interactive hi │ │ │ +0001eea0: 6768 6c69 6768 7469 6e67 2e0a 5468 6973 ghlighting..This │ │ │ +0001eeb0: 2066 756e 6374 696f 6e20 7368 6f75 6c64 function should │ │ │ +0001eec0: 2062 6520 7573 6564 2069 6e20 6066 6972 be used in `fir │ │ │ +0001eed0: 7374 2d63 6861 6e67 652d 686f 6f6b 272e st-change-hook'. │ │ │ +0001eee0: 220a 2020 2877 6865 6e20 6167 6461 322d ". (when agda2- │ │ │ +0001eef0: 6869 6768 6c69 6768 742d 696e 2d70 726f highlight-in-pro │ │ │ +0001ef00: 6772 6573 730a 2020 2020 2873 6574 7120 gress. (setq │ │ │ +0001ef10: 6167 6461 322d 6869 6768 6c69 6768 742d agda2-highlight- │ │ │ +0001ef20: 696e 2d70 726f 6772 6573 7320 6e69 6c29 in-progress nil) │ │ │ +0001ef30: 0a20 2020 2028 6d65 7373 6167 6520 225c . (message "\ │ │ │ +0001ef40: 2225 735c 2220 6861 7320 6265 656e 206d "%s\" has been m │ │ │ +0001ef50: 6f64 6966 6965 642e 2049 6e74 6572 7275 odified. Interru │ │ │ +0001ef60: 7074 696e 6720 6869 6768 6c69 6768 7469 pting highlighti │ │ │ +0001ef70: 6e67 2e22 0a20 2020 2020 2020 2020 2020 ng.". │ │ │ +0001ef80: 2020 2862 7566 6665 722d 6e61 6d65 2028 (buffer-name ( │ │ │ +0001ef90: 6375 7272 656e 742d 6275 6666 6572 2929 current-buffer)) │ │ │ +0001efa0: 2929 290a 0a28 6465 6675 6e20 6167 6461 )))..(defun agda │ │ │ +0001efb0: 322d 676f 616c 2d63 6d64 2028 636d 6420 2-goal-cmd (cmd │ │ │ +0001efc0: 7361 7665 2026 6f70 7469 6f6e 616c 2077 save &optional w │ │ │ +0001efd0: 616e 7420 6173 6b20 2672 6573 7420 6172 ant ask &rest ar │ │ │ +0001efe0: 6773 290a 2020 2252 6561 6473 2069 6e70 gs). "Reads inp │ │ │ +0001eff0: 7574 2066 726f 6d20 676f 616c 206f 7220 ut from goal or │ │ │ +0001f000: 6d69 6e69 6275 6666 6572 2061 6e64 2073 minibuffer and s │ │ │ +0001f010: 656e 6473 2063 6f6d 6d61 6e64 2074 6f20 ends command to │ │ │ +0001f020: 4167 6461 2e0a 0a41 6e20 6572 726f 7220 Agda...An error │ │ │ +0001f030: 6973 2072 6169 7365 6420 6966 2070 6f69 is raised if poi │ │ │ +0001f040: 6e74 2069 7320 6e6f 7420 696e 2061 2067 nt is not in a g │ │ │ +0001f050: 6f61 6c2e 0a0a 5468 6520 636f 6d6d 616e oal...The comman │ │ │ +0001f060: 6420 7365 6e74 2074 6f20 4167 6461 2069 d sent to Agda i │ │ │ +0001f070: 730a 0a20 2043 4d44 203c 676f 616c 206e s.. CMD │ │ │ +0001f0a0: 2041 5247 532e 0a0a 5468 6520 7573 6572 ARGS...The user │ │ │ +0001f0b0: 2069 6e70 7574 2069 7320 636f 6d70 7574 input is comput │ │ │ +0001f0c0: 6564 2061 7320 666f 6c6c 6f77 733a 0a0a ed as follows:.. │ │ │ +0001f0d0: 2a20 4966 2057 414e 5420 6973 206e 696c * If WANT is nil │ │ │ +0001f0e0: 2c20 7468 656e 2074 6865 2075 7365 7220 , then the user │ │ │ +0001f0f0: 696e 7075 7420 6973 2074 6865 2065 6d70 input is the emp │ │ │ +0001f100: 7479 2073 7472 696e 672e 0a0a 2a20 4966 ty string...* If │ │ │ +0001f110: 2057 414e 5420 6973 2061 2073 7472 696e WANT is a strin │ │ │ +0001f120: 672c 2061 6e64 2065 6974 6865 7220 4153 g, and either AS │ │ │ +0001f130: 4b20 6973 206e 6f6e 2d6e 696c 206f 7220 K is non-nil or │ │ │ +0001f140: 7468 6520 676f 616c 206f 6e6c 790a 2020 the goal only. │ │ │ +0001f150: 636f 6e74 6169 6e73 2077 6869 7465 7370 contains whitesp │ │ │ +0001f160: 6163 652c 2074 6865 6e20 7468 6520 696e ace, then the in │ │ │ +0001f170: 7075 7420 6973 2074 616b 656e 2066 726f put is taken fro │ │ │ +0001f180: 6d20 7468 650a 2020 6d69 6e69 6275 6666 m the. minibuff │ │ │ +0001f190: 6572 2e20 496e 2074 6869 7320 6361 7365 er. In this case │ │ │ +0001f1a0: 2057 414e 5420 6973 2075 7365 6420 6173 WANT is used as │ │ │ +0001f1b0: 2074 6865 2070 726f 6d70 7420 7374 7269 the prompt stri │ │ │ +0001f1c0: 6e67 2e0a 0a2a 204f 7468 6572 7769 7365 ng...* Otherwise │ │ │ +0001f1d0: 2028 696e 636c 7564 696e 6720 6966 2057 (including if W │ │ │ +0001f1e0: 414e 5420 6973 205c 5c3d 2767 6f61 6c29 ANT is \\='goal) │ │ │ +0001f1f0: 2074 6865 2067 6f61 6c20 636f 6e74 656e the goal conten │ │ │ +0001f200: 7473 2061 7265 0a20 2075 7365 642e 0a0a ts are. used... │ │ │ +0001f210: 4966 2074 6865 2075 7365 7220 696e 7075 If the user inpu │ │ │ +0001f220: 7420 6973 206e 6f74 2074 616b 656e 2066 t is not taken f │ │ │ +0001f230: 726f 6d20 7468 6520 676f 616c 2c20 7468 rom the goal, th │ │ │ +0001f240: 656e 2061 6e20 656d 7074 7920 676f 616c en an empty goal │ │ │ +0001f250: 0a72 616e 6765 2069 7320 6769 7665 6e2e .range is given. │ │ │ +0001f260: 0a0a 4966 2053 4156 4520 6973 205c 5c3d ..If SAVE is \\= │ │ │ +0001f270: 2773 6176 652c 2074 6865 6e20 7468 6520 'save, then the │ │ │ +0001f280: 6275 6666 6572 2069 7320 7361 7665 6420 buffer is saved │ │ │ +0001f290: 6a75 7374 2062 6566 6f72 6520 7468 650a just before the. │ │ │ +0001f2a0: 636f 6d6d 616e 6420 6973 2073 656e 7420 command is sent │ │ │ +0001f2b0: 746f 2041 6764 6120 2869 6620 6974 2069 to Agda (if it i │ │ │ +0001f2c0: 7320 7365 6e74 292e 220a 2020 2863 6c2d s sent).". (cl- │ │ │ +0001f2d0: 6d75 6c74 6970 6c65 2d76 616c 7565 2d62 multiple-value-b │ │ │ +0001f2e0: 696e 6420 286f 2067 2920 2861 6764 6132 ind (o g) (agda2 │ │ │ +0001f2f0: 2d67 6f61 6c2d 6174 2028 706f 696e 7429 -goal-at (point) │ │ │ +0001f300: 290a 2020 2020 2875 6e6c 6573 7320 6720 ). (unless g │ │ │ +0001f310: 2865 7272 6f72 2022 466f 7220 7468 6973 (error "For this │ │ │ +0001f320: 2063 6f6d 6d61 6e64 2c20 706c 6561 7365 command, please │ │ │ +0001f330: 2070 6c61 6365 2074 6865 2063 7572 736f place the curso │ │ │ +0001f340: 7220 696e 2061 2067 6f61 6c22 2929 0a20 r in a goal")). │ │ │ +0001f350: 2020 2028 6c65 7420 2828 7478 7420 2862 (let ((txt (b │ │ │ +0001f360: 7566 6665 722d 7375 6273 7472 696e 672d uffer-substring- │ │ │ +0001f370: 6e6f 2d70 726f 7065 7274 6965 7320 282b no-properties (+ │ │ │ +0001f380: 2028 6f76 6572 6c61 792d 7374 6172 7420 (overlay-start │ │ │ +0001f390: 6f29 2032 290a 2020 2020 2020 2020 2020 o) 2). │ │ │ 0001f3a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 0001f3b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0001f3c0: 2020 2020 282d 2028 6f76 6572 6c61 792d (- (overlay- │ │ │ -0001f3d0: 656e 6420 2020 6f29 2032 2929 290a 2020 end o) 2))). │ │ │ -0001f3e0: 2020 2020 2020 2020 2869 6e70 7574 2d66 (input-f │ │ │ -0001f3f0: 726f 6d2d 676f 616c 206e 696c 2929 0a20 rom-goal nil)). │ │ │ -0001f400: 2020 2020 2028 636f 6e64 2028 286e 756c (cond ((nul │ │ │ -0001f410: 6c20 7761 6e74 2920 2873 6574 7120 7478 l want) (setq tx │ │ │ -0001f420: 7420 2222 2929 0a20 2020 2020 2020 2020 t "")). │ │ │ -0001f430: 2020 2028 2861 6e64 2028 7374 7269 6e67 ((and (string │ │ │ -0001f440: 7020 7761 6e74 290a 2020 2020 2020 2020 p want). │ │ │ -0001f450: 2020 2020 2020 2020 2020 286f 7220 6173 (or as │ │ │ -0001f460: 6b20 2873 7472 696e 672d 6d61 7463 6820 k (string-match │ │ │ -0001f470: 225c 5c60 5c5c 7320 2a5c 5c27 2220 7478 "\\`\\s *\\'" tx │ │ │ -0001f480: 7429 2929 0a20 2020 2020 2020 2020 2020 t))). │ │ │ -0001f490: 2020 2873 6574 7120 7478 7420 2872 6561 (setq txt (rea │ │ │ -0001f4a0: 642d 7374 7269 6e67 2028 636f 6e63 6174 d-string (concat │ │ │ -0001f4b0: 2077 616e 7420 223a 2022 2920 6e69 6c20 want ": ") nil │ │ │ -0001f4c0: 6e69 6c20 7478 7420 7429 2929 0a20 2020 nil txt t))). │ │ │ -0001f4d0: 2020 2020 2020 2020 2028 7420 2873 6574 (t (set │ │ │ -0001f4e0: 7120 696e 7075 742d 6672 6f6d 2d67 6f61 q input-from-goa │ │ │ -0001f4f0: 6c20 7429 2929 0a20 2020 2020 2028 6170 l t))). (ap │ │ │ -0001f500: 706c 7920 2761 6764 6132 2d67 6f20 7361 ply 'agda2-go sa │ │ │ -0001f510: 7665 2069 6e70 7574 2d66 726f 6d2d 676f ve input-from-go │ │ │ -0001f520: 616c 2027 6275 7379 2074 2063 6d64 0a20 al 'busy t cmd. │ │ │ -0001f530: 2020 2020 2020 2020 2020 2020 2866 6f72 (for │ │ │ -0001f540: 6d61 7420 2225 6422 2067 290a 2020 2020 mat "%d" g). │ │ │ -0001f550: 2020 2020 2020 2020 2028 6966 2069 6e70 (if inp │ │ │ -0001f560: 7574 2d66 726f 6d2d 676f 616c 2028 6167 ut-from-goal (ag │ │ │ -0001f570: 6461 322d 676f 616c 2d52 616e 6765 206f da2-goal-Range o │ │ │ -0001f580: 2920 2861 6764 6132 2d6d 6b52 616e 6765 ) (agda2-mkRange │ │ │ -0001f590: 206e 696c 2929 0a20 2020 2020 2020 2020 nil)). │ │ │ -0001f5a0: 2020 2020 2861 6764 6132 2d73 7472 696e (agda2-strin │ │ │ -0001f5b0: 672d 7175 6f74 6520 7478 7429 2061 7267 g-quote txt) arg │ │ │ -0001f5c0: 7329 2929 290a 0a3b 3b20 4e6f 7465 2074 s))))..;; Note t │ │ │ -0001f5d0: 6861 7420 7468 6520 666f 6c6c 6f77 696e hat the followin │ │ │ -0001f5e0: 6720 6675 6e63 7469 6f6e 2069 7320 6120 g function is a │ │ │ -0001f5f0: 7365 6375 7269 7479 2072 6973 6b2c 2073 security risk, s │ │ │ -0001f600: 696e 6365 2069 740a 3b3b 2065 7661 6c75 ince it.;; evalu │ │ │ -0001f610: 6174 6573 2063 6f64 6520 7769 7468 6f75 ates code withou │ │ │ -0001f620: 7420 6669 7273 7420 696e 7370 6563 7469 t first inspecti │ │ │ -0001f630: 6e67 2069 742e 2054 6865 2063 6f64 6520 ng it. The code │ │ │ -0001f640: 2873 7570 706f 7365 646c 7929 0a3b 3b20 (supposedly).;; │ │ │ -0001f650: 636f 6d65 7320 6672 6f6d 2074 6865 2041 comes from the A │ │ │ -0001f660: 6764 6120 6261 636b 656e 642c 2062 7574 gda backend, but │ │ │ -0001f670: 2074 6865 7265 2063 6f75 6c64 2062 6520 there could be │ │ │ -0001f680: 6275 6773 2069 6e20 7468 6520 6261 636b bugs in the back │ │ │ -0001f690: 656e 640a 3b3b 2077 6869 6368 2063 616e end.;; which can │ │ │ -0001f6a0: 2062 6520 6578 706c 6f69 7465 6420 6279 be exploited by │ │ │ -0001f6b0: 2061 6e20 6174 7461 636b 6572 2077 6869 an attacker whi │ │ │ -0001f6c0: 6368 206d 616e 6167 6573 2074 6f20 7472 ch manages to tr │ │ │ -0001f6d0: 6963 6b0a 3b3b 2073 6f6d 656f 6e65 2069 ick.;; someone i │ │ │ -0001f6e0: 6e74 6f20 7479 7065 2d63 6865 636b 696e nto type-checkin │ │ │ -0001f6f0: 6720 636f 6d70 726f 6d69 7365 6420 4167 g compromised Ag │ │ │ -0001f700: 6461 2063 6f64 652e 0a0a 2864 6566 756e da code...(defun │ │ │ -0001f710: 2061 6764 6132 2d65 7865 632d 7265 7370 agda2-exec-resp │ │ │ -0001f720: 6f6e 7365 2028 7265 7370 6f6e 7365 290a onse (response). │ │ │ -0001f730: 2020 2249 6e74 6572 7072 6574 7320 7265 "Interprets re │ │ │ -0001f740: 7370 6f6e 7365 2e22 0a20 2028 6c65 7420 sponse.". (let │ │ │ -0001f750: 2828 696e 6869 6269 742d 7265 6164 2d6f ((inhibit-read-o │ │ │ -0001f760: 6e6c 7920 7429 290a 2020 2020 2865 7661 nly t)). (eva │ │ │ -0001f770: 6c20 7265 7370 6f6e 7365 2929 290a 0a3b l response)))..; │ │ │ +0001f3c0: 2020 2020 2028 2d20 286f 7665 726c 6179 (- (overlay │ │ │ +0001f3d0: 2d65 6e64 2020 206f 2920 3229 2929 0a20 -end o) 2))). │ │ │ +0001f3e0: 2020 2020 2020 2020 2028 696e 7075 742d (input- │ │ │ +0001f3f0: 6672 6f6d 2d67 6f61 6c20 6e69 6c29 290a from-goal nil)). │ │ │ +0001f400: 2020 2020 2020 2863 6f6e 6420 2828 6e75 (cond ((nu │ │ │ +0001f410: 6c6c 2077 616e 7429 2028 7365 7471 2074 ll want) (setq t │ │ │ +0001f420: 7874 2022 2229 290a 2020 2020 2020 2020 xt "")). │ │ │ +0001f430: 2020 2020 2828 616e 6420 2873 7472 696e ((and (strin │ │ │ +0001f440: 6770 2077 616e 7429 0a20 2020 2020 2020 gp want). │ │ │ +0001f450: 2020 2020 2020 2020 2020 2028 6f72 2061 (or a │ │ │ +0001f460: 736b 2028 7374 7269 6e67 2d6d 6174 6368 sk (string-match │ │ │ +0001f470: 2022 5c5c 605c 5c73 202a 5c5c 2722 2074 "\\`\\s *\\'" t │ │ │ +0001f480: 7874 2929 290a 2020 2020 2020 2020 2020 xt))). │ │ │ +0001f490: 2020 2028 7365 7471 2074 7874 2028 7265 (setq txt (re │ │ │ +0001f4a0: 6164 2d73 7472 696e 6720 2863 6f6e 6361 ad-string (conca │ │ │ +0001f4b0: 7420 7761 6e74 2022 3a20 2229 206e 696c t want ": ") nil │ │ │ +0001f4c0: 206e 696c 2074 7874 2074 2929 290a 2020 nil txt t))). │ │ │ +0001f4d0: 2020 2020 2020 2020 2020 2874 2028 7365 (t (se │ │ │ +0001f4e0: 7471 2069 6e70 7574 2d66 726f 6d2d 676f tq input-from-go │ │ │ +0001f4f0: 616c 2074 2929 290a 2020 2020 2020 2861 al t))). (a │ │ │ +0001f500: 7070 6c79 2027 6167 6461 322d 676f 2073 pply 'agda2-go s │ │ │ +0001f510: 6176 6520 696e 7075 742d 6672 6f6d 2d67 ave input-from-g │ │ │ +0001f520: 6f61 6c20 2762 7573 7920 7420 636d 640a oal 'busy t cmd. │ │ │ +0001f530: 2020 2020 2020 2020 2020 2020 2028 666f (fo │ │ │ +0001f540: 726d 6174 2022 2564 2220 6729 0a20 2020 rmat "%d" g). │ │ │ +0001f550: 2020 2020 2020 2020 2020 2869 6620 696e (if in │ │ │ +0001f560: 7075 742d 6672 6f6d 2d67 6f61 6c20 2861 put-from-goal (a │ │ │ +0001f570: 6764 6132 2d67 6f61 6c2d 5261 6e67 6520 gda2-goal-Range │ │ │ +0001f580: 6f29 2028 6167 6461 322d 6d6b 5261 6e67 o) (agda2-mkRang │ │ │ +0001f590: 6520 6e69 6c29 290a 2020 2020 2020 2020 e nil)). │ │ │ +0001f5a0: 2020 2020 2028 6167 6461 322d 7374 7269 (agda2-stri │ │ │ +0001f5b0: 6e67 2d71 756f 7465 2074 7874 2920 6172 ng-quote txt) ar │ │ │ +0001f5c0: 6773 2929 2929 0a0a 3b3b 204e 6f74 6520 gs))))..;; Note │ │ │ +0001f5d0: 7468 6174 2074 6865 2066 6f6c 6c6f 7769 that the followi │ │ │ +0001f5e0: 6e67 2066 756e 6374 696f 6e20 6973 2061 ng function is a │ │ │ +0001f5f0: 2073 6563 7572 6974 7920 7269 736b 2c20 security risk, │ │ │ +0001f600: 7369 6e63 6520 6974 0a3b 3b20 6576 616c since it.;; eval │ │ │ +0001f610: 7561 7465 7320 636f 6465 2077 6974 686f uates code witho │ │ │ +0001f620: 7574 2066 6972 7374 2069 6e73 7065 6374 ut first inspect │ │ │ +0001f630: 696e 6720 6974 2e20 5468 6520 636f 6465 ing it. The code │ │ │ +0001f640: 2028 7375 7070 6f73 6564 6c79 290a 3b3b (supposedly).;; │ │ │ +0001f650: 2063 6f6d 6573 2066 726f 6d20 7468 6520 comes from the │ │ │ +0001f660: 4167 6461 2062 6163 6b65 6e64 2c20 6275 Agda backend, bu │ │ │ +0001f670: 7420 7468 6572 6520 636f 756c 6420 6265 t there could be │ │ │ +0001f680: 2062 7567 7320 696e 2074 6865 2062 6163 bugs in the bac │ │ │ +0001f690: 6b65 6e64 0a3b 3b20 7768 6963 6820 6361 kend.;; which ca │ │ │ +0001f6a0: 6e20 6265 2065 7870 6c6f 6974 6564 2062 n be exploited b │ │ │ +0001f6b0: 7920 616e 2061 7474 6163 6b65 7220 7768 y an attacker wh │ │ │ +0001f6c0: 6963 6820 6d61 6e61 6765 7320 746f 2074 ich manages to t │ │ │ +0001f6d0: 7269 636b 0a3b 3b20 736f 6d65 6f6e 6520 rick.;; someone │ │ │ +0001f6e0: 696e 746f 2074 7970 652d 6368 6563 6b69 into type-checki │ │ │ +0001f6f0: 6e67 2063 6f6d 7072 6f6d 6973 6564 2041 ng compromised A │ │ │ +0001f700: 6764 6120 636f 6465 2e0a 0a28 6465 6675 gda code...(defu │ │ │ +0001f710: 6e20 6167 6461 322d 6578 6563 2d72 6573 n agda2-exec-res │ │ │ +0001f720: 706f 6e73 6520 2872 6573 706f 6e73 6529 ponse (response) │ │ │ +0001f730: 0a20 2022 496e 7465 7270 7265 7473 2072 . "Interprets r │ │ │ +0001f740: 6573 706f 6e73 652e 220a 2020 286c 6574 esponse.". (let │ │ │ +0001f750: 2028 2869 6e68 6962 6974 2d72 6561 642d ((inhibit-read- │ │ │ +0001f760: 6f6e 6c79 2074 2929 0a20 2020 2028 6576 only t)). (ev │ │ │ +0001f770: 616c 2072 6573 706f 6e73 6529 2929 0a0a al response))).. │ │ │ 0001f780: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 0001f790: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 0001f7a0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 0001f7b0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ -0001f7c0: 3b3b 3b3b 3b3b 3b0a 3b3b 3b3b 2055 7365 ;;;;;;;.;;;; Use │ │ │ -0001f7d0: 7220 636f 6d6d 616e 6473 2061 6e64 2072 r commands and r │ │ │ -0001f7e0: 6573 706f 6e73 6520 7072 6f63 6573 7369 esponse processi │ │ │ -0001f7f0: 6e67 0a0a 2864 6566 756e 2061 6764 6132 ng..(defun agda2 │ │ │ -0001f800: 2d6c 6f61 6420 2829 0a20 2022 4c6f 6164 -load (). "Load │ │ │ -0001f810: 2063 7572 7265 6e74 2062 7566 6665 722e current buffer. │ │ │ -0001f820: 220a 2020 2869 6e74 6572 6163 7469 7665 ". (interactive │ │ │ -0001f830: 290a 2020 2861 6764 6132 2d67 6f20 2773 ). (agda2-go 's │ │ │ -0001f840: 6176 6520 7420 2762 7573 7920 7420 2243 ave t 'busy t "C │ │ │ -0001f850: 6d64 5f6c 6f61 6422 0a20 2020 2020 2020 md_load". │ │ │ -0001f860: 2020 2020 2028 6167 6461 322d 7374 7269 (agda2-stri │ │ │ -0001f870: 6e67 2d71 756f 7465 2028 6275 6666 6572 ng-quote (buffer │ │ │ -0001f880: 2d66 696c 652d 6e61 6d65 2929 0a20 2020 -file-name)). │ │ │ -0001f890: 2020 2020 2020 2020 2028 6167 6461 322d (agda2- │ │ │ -0001f8a0: 6c69 7374 2d71 756f 7465 2061 6764 6132 list-quote agda2 │ │ │ -0001f8b0: 2d70 726f 6772 616d 2d61 7267 7329 0a20 -program-args). │ │ │ -0001f8c0: 2020 2020 2020 2020 2020 2029 290a 0a28 ))..( │ │ │ -0001f8d0: 6465 6675 6e20 6167 6461 322d 7265 6164 defun agda2-read │ │ │ -0001f8e0: 2d62 6163 6b65 6e64 2028 290a 2020 2247 -backend (). "G │ │ │ -0001f8f0: 6574 2074 6865 2063 7572 7265 6e74 6c79 et the currently │ │ │ -0001f900: 2073 6574 2062 6163 6b65 6e64 2066 726f set backend fro │ │ │ -0001f910: 6d20 7468 6520 6061 6764 6132 2d62 6163 m the `agda2-bac │ │ │ -0001f920: 6b65 6e64 2720 7661 7269 6162 6c65 2c0a kend' variable,. │ │ │ -0001f930: 6f72 2061 736b 2074 6865 2075 7365 7220 or ask the user │ │ │ -0001f940: 666f 7220 696e 7075 7420 696e 2063 6173 for input in cas │ │ │ -0001f950: 6520 7468 6520 7661 7269 6162 6c65 2069 e the variable i │ │ │ -0001f960: 7320 6e6f 7420 7365 742e 220a 2020 286c s not set.". (l │ │ │ -0001f970: 6574 2028 286e 616d 6520 2863 6f6e 640a et ((name (cond. │ │ │ -0001f980: 2020 2020 2828 6571 7561 6c20 6167 6461 ((equal agda │ │ │ -0001f990: 322d 6261 636b 656e 6420 224d 416c 6f6e 2-backend "MAlon │ │ │ -0001f9a0: 7a6f 2229 2020 2020 2020 2022 4748 4322 zo") "GHC" │ │ │ -0001f9b0: 290a 2020 2020 2828 6571 7561 6c20 6167 ). ((equal ag │ │ │ -0001f9c0: 6461 322d 6261 636b 656e 6420 224d 416c da2-backend "MAl │ │ │ -0001f9d0: 6f6e 7a6f 4e6f 4d61 696e 2229 2022 4748 onzoNoMain") "GH │ │ │ -0001f9e0: 434e 6f4d 6169 6e22 290a 2020 2020 2828 CNoMain"). (( │ │ │ -0001f9f0: 6571 7561 6c20 6167 6461 322d 6261 636b equal agda2-back │ │ │ -0001fa00: 656e 6420 6e69 6c29 0a20 2020 2020 2028 end nil). ( │ │ │ -0001fa10: 636f 6d70 6c65 7469 6e67 2d72 6561 6420 completing-read │ │ │ -0001fa20: 2242 6163 6b65 6e64 3a20 2220 6167 6461 "Backend: " agda │ │ │ -0001fa30: 322d 6261 636b 656e 6473 206e 696c 206e 2-backends nil n │ │ │ -0001fa40: 696c 206e 696c 206e 696c 206e 696c 2027 il nil nil nil ' │ │ │ -0001fa50: 696e 6865 7269 742d 696e 7075 742d 6d65 inherit-input-me │ │ │ -0001fa60: 7468 6f64 2929 0a20 2020 2028 7420 6167 thod)). (t ag │ │ │ -0001fa70: 6461 322d 6261 636b 656e 6429 2929 290a da2-backend)))). │ │ │ -0001fa80: 2020 2877 6865 6e20 2865 7175 616c 206e (when (equal n │ │ │ -0001fa90: 616d 6520 2222 2920 2865 7272 6f72 2022 ame "") (error " │ │ │ -0001faa0: 4e6f 2062 6163 6b65 6e64 2063 686f 7365 No backend chose │ │ │ -0001fab0: 6e22 2929 0a20 206e 616d 6529 290a 0a28 n")). name))..( │ │ │ -0001fac0: 6465 6675 6e20 6167 6461 322d 636f 6d70 defun agda2-comp │ │ │ -0001fad0: 696c 6520 2862 6163 6b65 6e64 290a 2020 ile (backend). │ │ │ -0001fae0: 2243 6f6d 7069 6c65 2074 6865 2063 7572 "Compile the cur │ │ │ -0001faf0: 7265 6e74 206d 6f64 756c 6520 7573 696e rent module usin │ │ │ -0001fb00: 6720 4241 434b 454e 442e 0a0a 5468 6520 g BACKEND...The │ │ │ -0001fb10: 7661 7269 6162 6c65 2060 6167 6461 322d variable `agda2- │ │ │ -0001fb20: 6261 636b 656e 6427 2064 6574 6572 6d69 backend' determi │ │ │ -0001fb30: 6e65 7320 7768 6963 6820 6261 636b 656e nes which backen │ │ │ -0001fb40: 6420 6973 2075 7365 642e 220a 2020 2869 d is used.". (i │ │ │ -0001fb50: 6e74 6572 6163 7469 7665 2028 6c69 7374 nteractive (list │ │ │ -0001fb60: 2028 6167 6461 322d 7265 6164 2d62 6163 (agda2-read-bac │ │ │ -0001fb70: 6b65 6e64 2929 290a 2020 2861 6764 6132 kend))). (agda2 │ │ │ -0001fb80: 2d67 6f20 2773 6176 6520 7420 2762 7573 -go 'save t 'bus │ │ │ -0001fb90: 7920 7420 2243 6d64 5f63 6f6d 7069 6c65 y t "Cmd_compile │ │ │ -0001fba0: 220a 2020 2020 2020 2020 2020 2020 6261 ". ba │ │ │ -0001fbb0: 636b 656e 640a 2020 2020 2020 2020 2020 ckend. │ │ │ -0001fbc0: 2020 2861 6764 6132 2d73 7472 696e 672d (agda2-string- │ │ │ -0001fbd0: 7175 6f74 6520 2862 7566 6665 722d 6669 quote (buffer-fi │ │ │ -0001fbe0: 6c65 2d6e 616d 6529 290a 2020 2020 2020 le-name)). │ │ │ -0001fbf0: 2020 2020 2020 2861 6764 6132 2d6c 6973 (agda2-lis │ │ │ -0001fc00: 742d 7175 6f74 6520 6167 6461 322d 7072 t-quote agda2-pr │ │ │ -0001fc10: 6f67 7261 6d2d 6172 6773 290a 2020 2020 ogram-args). │ │ │ -0001fc20: 2020 2020 2020 2020 2929 0a0a 2864 6566 ))..(def │ │ │ -0001fc30: 756e 2061 6764 6132 2d62 6163 6b65 6e64 un agda2-backend │ │ │ -0001fc40: 2d63 6d64 2028 6261 636b 656e 6420 7061 -cmd (backend pa │ │ │ -0001fc50: 796c 6f61 6429 0a20 2022 5275 6e20 7468 yload). "Run th │ │ │ -0001fc60: 6520 6375 7272 656e 7420 6261 636b 656e e current backen │ │ │ -0001fc70: 6427 7320 2866 726f 6d20 7661 7269 6162 d's (from variab │ │ │ -0001fc80: 6c65 2060 6167 6461 322d 6261 636b 656e le `agda2-backen │ │ │ -0001fc90: 6460 2920 696e 7465 7261 6374 696f 6e20 d`) interaction │ │ │ -0001fca0: 636f 6d6d 616e 642e 220a 2020 2869 6e74 command.". (int │ │ │ -0001fcb0: 6572 6163 7469 7665 2028 6c69 7374 2028 eractive (list ( │ │ │ -0001fcc0: 6167 6461 322d 7265 6164 2d62 6163 6b65 agda2-read-backe │ │ │ -0001fcd0: 6e64 2920 286f 7220 6167 6461 322d 6261 nd) (or agda2-ba │ │ │ -0001fce0: 636b 656e 642d 6465 6661 756c 742d 7061 ckend-default-pa │ │ │ -0001fcf0: 796c 6f61 6420 2872 6561 642d 7374 7269 yload (read-stri │ │ │ -0001fd00: 6e67 2022 5061 796c 6f61 643a 2022 2929 ng "Payload: ")) │ │ │ -0001fd10: 2929 0a20 2028 6966 2028 6167 6461 322d )). (if (agda2- │ │ │ -0001fd20: 676f 616c 2d61 7420 2870 6f69 6e74 2929 goal-at (point)) │ │ │ -0001fd30: 0a20 2020 2020 2861 6764 6132 2d67 6f61 . (agda2-goa │ │ │ -0001fd40: 6c2d 636d 6420 2243 6d64 5f62 6163 6b65 l-cmd "Cmd_backe │ │ │ -0001fd50: 6e64 5f68 6f6c 6522 206e 696c 2027 676f nd_hole" nil 'go │ │ │ -0001fd60: 616c 206e 696c 2062 6163 6b65 6e64 2028 al nil backend ( │ │ │ -0001fd70: 6167 6461 322d 7374 7269 6e67 2d71 756f agda2-string-quo │ │ │ -0001fd80: 7465 2070 6179 6c6f 6164 2929 0a20 2020 te payload)). │ │ │ -0001fd90: 2020 2861 6764 6132 2d67 6f20 2773 6176 (agda2-go 'sav │ │ │ -0001fda0: 6520 7420 2762 7573 7920 7420 2243 6d64 e t 'busy t "Cmd │ │ │ -0001fdb0: 5f62 6163 6b65 6e64 5f74 6f70 2220 6261 _backend_top" ba │ │ │ -0001fdc0: 636b 656e 6420 2861 6764 6132 2d73 7472 ckend (agda2-str │ │ │ -0001fdd0: 696e 672d 7175 6f74 6520 7061 796c 6f61 ing-quote payloa │ │ │ -0001fde0: 6429 290a 2020 290a 290a 0a28 6465 666d d)). ).)..(defm │ │ │ -0001fdf0: 6163 726f 2061 6764 6132 2d6d 6179 6265 acro agda2-maybe │ │ │ -0001fe00: 2d66 6f72 6365 6420 286e 616d 6520 636f -forced (name co │ │ │ -0001fe10: 6d6d 656e 7420 636d 6420 7361 7665 2077 mment cmd save w │ │ │ -0001fe20: 616e 7429 0a20 2022 5468 6973 206d 6163 ant). "This mac │ │ │ -0001fe30: 726f 2063 6f6e 7374 7275 6374 7320 6120 ro constructs a │ │ │ -0001fe40: 6675 6e63 7469 6f6e 204e 414d 4520 7768 function NAME wh │ │ │ -0001fe50: 6963 6820 7275 6e73 2043 4d44 2e0a 434f ich runs CMD..CO │ │ │ -0001fe60: 4d4d 454e 5420 6973 2075 7365 6420 746f MMENT is used to │ │ │ -0001fe70: 2062 7569 6c64 2074 6865 2066 756e 6374 build the funct │ │ │ -0001fe80: 696f 6e27 7320 636f 6d6d 656e 742e 2054 ion's comment. T │ │ │ -0001fe90: 6865 2066 756e 6374 696f 6e0a 4e41 4d45 he function.NAME │ │ │ -0001fea0: 2074 616b 6573 2061 2070 7265 6669 7820 takes a prefix │ │ │ -0001feb0: 6172 6775 6d65 6e74 2077 6869 6368 2074 argument which t │ │ │ -0001fec0: 656c 6c73 2077 6865 7468 6572 2069 7420 ells whether it │ │ │ -0001fed0: 7368 6f75 6c64 0a61 7070 6c79 2066 6f72 should.apply for │ │ │ -0001fee0: 6365 206f 7220 6e6f 7420 7768 656e 2072 ce or not when r │ │ │ -0001fef0: 756e 6e69 6e67 2043 4d44 2028 7468 726f unning CMD (thro │ │ │ -0001ff00: 7567 680a 6061 6764 6132 2d67 6f61 6c2d ugh.`agda2-goal- │ │ │ -0001ff10: 636d 6427 3b0a 5341 5645 2069 7320 7573 cmd';.SAVE is us │ │ │ -0001ff20: 6564 2061 7320 6061 6764 6132 2d67 6f61 ed as `agda2-goa │ │ │ -0001ff30: 6c2d 636d 6427 7320 5341 5645 2061 7267 l-cmd's SAVE arg │ │ │ -0001ff40: 756d 656e 7420 616e 640a 5741 4e54 2069 ument and.WANT i │ │ │ -0001ff50: 7320 7573 6564 2061 7320 6061 6764 6132 s used as `agda2 │ │ │ -0001ff60: 2d67 6f61 6c2d 636d 6427 7320 5741 4e54 -goal-cmd's WANT │ │ │ -0001ff70: 2061 7267 756d 656e 7429 2e22 0a20 2028 argument).". ( │ │ │ -0001ff80: 6c65 7420 2828 6576 616c 2028 6d61 6b65 let ((eval (make │ │ │ -0001ff90: 2d73 796d 626f 6c20 2265 7661 6c22 2929 -symbol "eval")) │ │ │ -0001ffa0: 290a 2020 6028 6465 6675 6e20 2c6e 616d ). `(defun ,nam │ │ │ -0001ffb0: 6520 2826 6f70 7469 6f6e 616c 2070 7265 e (&optional pre │ │ │ -0001ffc0: 6669 7829 0a20 2020 2020 2c28 636f 6e63 fix). ,(conc │ │ │ -0001ffd0: 6174 2063 6f6d 6d65 6e74 2022 2e0a 0a54 at comment "...T │ │ │ -0001ffe0: 6865 2061 6374 696f 6e20 6465 7065 6e64 he action depend │ │ │ -0001fff0: 7320 6f6e 2074 6865 2070 7265 6669 7820 s on the prefix │ │ │ -00020000: 6172 6775 6d65 6e74 3a0a 0a2a 2049 6620 argument:..* If │ │ │ -00020010: 7468 6520 7072 6566 6978 2061 7267 756d the prefix argum │ │ │ -00020020: 656e 7420 6973 2060 6e69 6c27 2028 692e ent is `nil' (i. │ │ │ -00020030: 652e 2c20 6966 206e 6f20 7072 6566 6978 e., if no prefix │ │ │ -00020040: 2061 7267 756d 656e 7420 6973 0a20 2067 argument is. g │ │ │ -00020050: 6976 656e 292c 2074 6865 6e20 6e6f 2066 iven), then no f │ │ │ -00020060: 6f72 6365 2069 7320 6170 706c 6965 642e orce is applied. │ │ │ -00020070: 0a0a 2a20 4966 2061 6e79 206f 7468 6572 ..* If any other │ │ │ -00020080: 2070 7265 6669 7820 6172 6775 6d65 6e74 prefix argument │ │ │ -00020090: 2069 7320 7573 6564 2028 666f 7220 696e is used (for in │ │ │ -000200a0: 7374 616e 6365 2c20 6966 2043 2d75 2069 stance, if C-u i │ │ │ -000200b0: 730a 2020 7479 7065 6420 6f6e 6365 206f s. typed once o │ │ │ -000200c0: 7220 7477 6963 6520 7269 6768 7420 6265 r twice right be │ │ │ -000200d0: 666f 7265 2074 6865 2063 6f6d 6d61 6e64 fore the command │ │ │ -000200e0: 2069 7320 696e 766f 6b65 6429 2c20 7468 is invoked), th │ │ │ -000200f0: 656e 0a20 2066 6f72 6365 2069 7320 6170 en. force is ap │ │ │ -00020100: 706c 6965 642e 2229 0a20 2020 2020 2869 plied."). (i │ │ │ -00020110: 6e74 6572 6163 7469 7665 2022 5022 290a nteractive "P"). │ │ │ -00020120: 2020 2020 2028 6c65 7420 2828 2c65 7661 (let ((,eva │ │ │ -00020130: 6c20 2863 6f6e 6420 2828 6571 7561 6c20 l (cond ((equal │ │ │ -00020140: 7072 6566 6978 206e 696c 2920 2257 6974 prefix nil) "Wit │ │ │ -00020150: 686f 7574 466f 7263 6522 290a 2020 2020 houtForce"). │ │ │ +0001f7c0: 3b3b 3b3b 3b3b 3b3b 0a3b 3b3b 3b20 5573 ;;;;;;;;.;;;; Us │ │ │ +0001f7d0: 6572 2063 6f6d 6d61 6e64 7320 616e 6420 er commands and │ │ │ +0001f7e0: 7265 7370 6f6e 7365 2070 726f 6365 7373 response process │ │ │ +0001f7f0: 696e 670a 0a28 6465 6675 6e20 6167 6461 ing..(defun agda │ │ │ +0001f800: 322d 6c6f 6164 2028 290a 2020 224c 6f61 2-load (). "Loa │ │ │ +0001f810: 6420 6375 7272 656e 7420 6275 6666 6572 d current buffer │ │ │ +0001f820: 2e22 0a20 2028 696e 7465 7261 6374 6976 .". (interactiv │ │ │ +0001f830: 6529 0a20 2028 6167 6461 322d 676f 2027 e). (agda2-go ' │ │ │ +0001f840: 7361 7665 2074 2027 6275 7379 2074 2022 save t 'busy t " │ │ │ +0001f850: 436d 645f 6c6f 6164 220a 2020 2020 2020 Cmd_load". │ │ │ +0001f860: 2020 2020 2020 2861 6764 6132 2d73 7472 (agda2-str │ │ │ +0001f870: 696e 672d 7175 6f74 6520 2862 7566 6665 ing-quote (buffe │ │ │ +0001f880: 722d 6669 6c65 2d6e 616d 6529 290a 2020 r-file-name)). │ │ │ +0001f890: 2020 2020 2020 2020 2020 2861 6764 6132 (agda2 │ │ │ +0001f8a0: 2d6c 6973 742d 7175 6f74 6520 6167 6461 -list-quote agda │ │ │ +0001f8b0: 322d 7072 6f67 7261 6d2d 6172 6773 290a 2-program-args). │ │ │ +0001f8c0: 2020 2020 2020 2020 2020 2020 2929 0a0a )).. │ │ │ +0001f8d0: 2864 6566 756e 2061 6764 6132 2d72 6561 (defun agda2-rea │ │ │ +0001f8e0: 642d 6261 636b 656e 6420 2829 0a20 2022 d-backend (). " │ │ │ +0001f8f0: 4765 7420 7468 6520 6375 7272 656e 746c Get the currentl │ │ │ +0001f900: 7920 7365 7420 6261 636b 656e 6420 6672 y set backend fr │ │ │ +0001f910: 6f6d 2074 6865 2060 6167 6461 322d 6261 om the `agda2-ba │ │ │ +0001f920: 636b 656e 6427 2076 6172 6961 626c 652c ckend' variable, │ │ │ +0001f930: 0a6f 7220 6173 6b20 7468 6520 7573 6572 .or ask the user │ │ │ +0001f940: 2066 6f72 2069 6e70 7574 2069 6e20 6361 for input in ca │ │ │ +0001f950: 7365 2074 6865 2076 6172 6961 626c 6520 se the variable │ │ │ +0001f960: 6973 206e 6f74 2073 6574 2e22 0a20 2028 is not set.". ( │ │ │ +0001f970: 6c65 7420 2828 6e61 6d65 2028 636f 6e64 let ((name (cond │ │ │ +0001f980: 0a20 2020 2028 2865 7175 616c 2061 6764 . ((equal agd │ │ │ +0001f990: 6132 2d62 6163 6b65 6e64 2022 4d41 6c6f a2-backend "MAlo │ │ │ +0001f9a0: 6e7a 6f22 2920 2020 2020 2020 2247 4843 nzo") "GHC │ │ │ +0001f9b0: 2229 0a20 2020 2028 2865 7175 616c 2061 "). ((equal a │ │ │ +0001f9c0: 6764 6132 2d62 6163 6b65 6e64 2022 4d41 gda2-backend "MA │ │ │ +0001f9d0: 6c6f 6e7a 6f4e 6f4d 6169 6e22 2920 2247 lonzoNoMain") "G │ │ │ +0001f9e0: 4843 4e6f 4d61 696e 2229 0a20 2020 2028 HCNoMain"). ( │ │ │ +0001f9f0: 2865 7175 616c 2061 6764 6132 2d62 6163 (equal agda2-bac │ │ │ +0001fa00: 6b65 6e64 206e 696c 290a 2020 2020 2020 kend nil). │ │ │ +0001fa10: 2863 6f6d 706c 6574 696e 672d 7265 6164 (completing-read │ │ │ +0001fa20: 2022 4261 636b 656e 643a 2022 2061 6764 "Backend: " agd │ │ │ +0001fa30: 6132 2d62 6163 6b65 6e64 7320 6e69 6c20 a2-backends nil │ │ │ +0001fa40: 6e69 6c20 6e69 6c20 6e69 6c20 6e69 6c20 nil nil nil nil │ │ │ +0001fa50: 2769 6e68 6572 6974 2d69 6e70 7574 2d6d 'inherit-input-m │ │ │ +0001fa60: 6574 686f 6429 290a 2020 2020 2874 2061 ethod)). (t a │ │ │ +0001fa70: 6764 6132 2d62 6163 6b65 6e64 2929 2929 gda2-backend)))) │ │ │ +0001fa80: 0a20 2028 7768 656e 2028 6571 7561 6c20 . (when (equal │ │ │ +0001fa90: 6e61 6d65 2022 2229 2028 6572 726f 7220 name "") (error │ │ │ +0001faa0: 224e 6f20 6261 636b 656e 6420 6368 6f73 "No backend chos │ │ │ +0001fab0: 656e 2229 290a 2020 6e61 6d65 2929 0a0a en")). name)).. │ │ │ +0001fac0: 2864 6566 756e 2061 6764 6132 2d63 6f6d (defun agda2-com │ │ │ +0001fad0: 7069 6c65 2028 6261 636b 656e 6429 0a20 pile (backend). │ │ │ +0001fae0: 2022 436f 6d70 696c 6520 7468 6520 6375 "Compile the cu │ │ │ +0001faf0: 7272 656e 7420 6d6f 6475 6c65 2075 7369 rrent module usi │ │ │ +0001fb00: 6e67 2042 4143 4b45 4e44 2e0a 0a54 6865 ng BACKEND...The │ │ │ +0001fb10: 2076 6172 6961 626c 6520 6061 6764 6132 variable `agda2 │ │ │ +0001fb20: 2d62 6163 6b65 6e64 2720 6465 7465 726d -backend' determ │ │ │ +0001fb30: 696e 6573 2077 6869 6368 2062 6163 6b65 ines which backe │ │ │ +0001fb40: 6e64 2069 7320 7573 6564 2e22 0a20 2028 nd is used.". ( │ │ │ +0001fb50: 696e 7465 7261 6374 6976 6520 286c 6973 interactive (lis │ │ │ +0001fb60: 7420 2861 6764 6132 2d72 6561 642d 6261 t (agda2-read-ba │ │ │ +0001fb70: 636b 656e 6429 2929 0a20 2028 6167 6461 ckend))). (agda │ │ │ +0001fb80: 322d 676f 2027 7361 7665 2074 2027 6275 2-go 'save t 'bu │ │ │ +0001fb90: 7379 2074 2022 436d 645f 636f 6d70 696c sy t "Cmd_compil │ │ │ +0001fba0: 6522 0a20 2020 2020 2020 2020 2020 2062 e". b │ │ │ +0001fbb0: 6163 6b65 6e64 0a20 2020 2020 2020 2020 ackend. │ │ │ +0001fbc0: 2020 2028 6167 6461 322d 7374 7269 6e67 (agda2-string │ │ │ +0001fbd0: 2d71 756f 7465 2028 6275 6666 6572 2d66 -quote (buffer-f │ │ │ +0001fbe0: 696c 652d 6e61 6d65 2929 0a20 2020 2020 ile-name)). │ │ │ +0001fbf0: 2020 2020 2020 2028 6167 6461 322d 6c69 (agda2-li │ │ │ +0001fc00: 7374 2d71 756f 7465 2061 6764 6132 2d70 st-quote agda2-p │ │ │ +0001fc10: 726f 6772 616d 2d61 7267 7329 0a20 2020 rogram-args). │ │ │ +0001fc20: 2020 2020 2020 2020 2029 290a 0a28 6465 ))..(de │ │ │ +0001fc30: 6675 6e20 6167 6461 322d 6261 636b 656e fun agda2-backen │ │ │ +0001fc40: 642d 636d 6420 2862 6163 6b65 6e64 2070 d-cmd (backend p │ │ │ +0001fc50: 6179 6c6f 6164 290a 2020 2252 756e 2074 ayload). "Run t │ │ │ +0001fc60: 6865 2063 7572 7265 6e74 2062 6163 6b65 he current backe │ │ │ +0001fc70: 6e64 2773 2028 6672 6f6d 2076 6172 6961 nd's (from varia │ │ │ +0001fc80: 626c 6520 6061 6764 6132 2d62 6163 6b65 ble `agda2-backe │ │ │ +0001fc90: 6e64 6029 2069 6e74 6572 6163 7469 6f6e nd`) interaction │ │ │ +0001fca0: 2063 6f6d 6d61 6e64 2e22 0a20 2028 696e command.". (in │ │ │ +0001fcb0: 7465 7261 6374 6976 6520 286c 6973 7420 teractive (list │ │ │ +0001fcc0: 2861 6764 6132 2d72 6561 642d 6261 636b (agda2-read-back │ │ │ +0001fcd0: 656e 6429 2028 6f72 2061 6764 6132 2d62 end) (or agda2-b │ │ │ +0001fce0: 6163 6b65 6e64 2d64 6566 6175 6c74 2d70 ackend-default-p │ │ │ +0001fcf0: 6179 6c6f 6164 2028 7265 6164 2d73 7472 ayload (read-str │ │ │ +0001fd00: 696e 6720 2250 6179 6c6f 6164 3a20 2229 ing "Payload: ") │ │ │ +0001fd10: 2929 290a 2020 2869 6620 2861 6764 6132 ))). (if (agda2 │ │ │ +0001fd20: 2d67 6f61 6c2d 6174 2028 706f 696e 7429 -goal-at (point) │ │ │ +0001fd30: 290a 2020 2020 2028 6167 6461 322d 676f ). (agda2-go │ │ │ +0001fd40: 616c 2d63 6d64 2022 436d 645f 6261 636b al-cmd "Cmd_back │ │ │ +0001fd50: 656e 645f 686f 6c65 2220 6e69 6c20 2767 end_hole" nil 'g │ │ │ +0001fd60: 6f61 6c20 6e69 6c20 6261 636b 656e 6420 oal nil backend │ │ │ +0001fd70: 2861 6764 6132 2d73 7472 696e 672d 7175 (agda2-string-qu │ │ │ +0001fd80: 6f74 6520 7061 796c 6f61 6429 290a 2020 ote payload)). │ │ │ +0001fd90: 2020 2028 6167 6461 322d 676f 2027 7361 (agda2-go 'sa │ │ │ +0001fda0: 7665 2074 2027 6275 7379 2074 2022 436d ve t 'busy t "Cm │ │ │ +0001fdb0: 645f 6261 636b 656e 645f 746f 7022 2062 d_backend_top" b │ │ │ +0001fdc0: 6163 6b65 6e64 2028 6167 6461 322d 7374 ackend (agda2-st │ │ │ +0001fdd0: 7269 6e67 2d71 756f 7465 2070 6179 6c6f ring-quote paylo │ │ │ +0001fde0: 6164 2929 0a20 2029 0a29 0a0a 2864 6566 ad)). ).)..(def │ │ │ +0001fdf0: 6d61 6372 6f20 6167 6461 322d 6d61 7962 macro agda2-mayb │ │ │ +0001fe00: 652d 666f 7263 6564 2028 6e61 6d65 2063 e-forced (name c │ │ │ +0001fe10: 6f6d 6d65 6e74 2063 6d64 2073 6176 6520 omment cmd save │ │ │ +0001fe20: 7761 6e74 290a 2020 2254 6869 7320 6d61 want). "This ma │ │ │ +0001fe30: 6372 6f20 636f 6e73 7472 7563 7473 2061 cro constructs a │ │ │ +0001fe40: 2066 756e 6374 696f 6e20 4e41 4d45 2077 function NAME w │ │ │ +0001fe50: 6869 6368 2072 756e 7320 434d 442e 0a43 hich runs CMD..C │ │ │ +0001fe60: 4f4d 4d45 4e54 2069 7320 7573 6564 2074 OMMENT is used t │ │ │ +0001fe70: 6f20 6275 696c 6420 7468 6520 6675 6e63 o build the func │ │ │ +0001fe80: 7469 6f6e 2773 2063 6f6d 6d65 6e74 2e20 tion's comment. │ │ │ +0001fe90: 5468 6520 6675 6e63 7469 6f6e 0a4e 414d The function.NAM │ │ │ +0001fea0: 4520 7461 6b65 7320 6120 7072 6566 6978 E takes a prefix │ │ │ +0001feb0: 2061 7267 756d 656e 7420 7768 6963 6820 argument which │ │ │ +0001fec0: 7465 6c6c 7320 7768 6574 6865 7220 6974 tells whether it │ │ │ +0001fed0: 2073 686f 756c 640a 6170 706c 7920 666f should.apply fo │ │ │ +0001fee0: 7263 6520 6f72 206e 6f74 2077 6865 6e20 rce or not when │ │ │ +0001fef0: 7275 6e6e 696e 6720 434d 4420 2874 6872 running CMD (thr │ │ │ +0001ff00: 6f75 6768 0a60 6167 6461 322d 676f 616c ough.`agda2-goal │ │ │ +0001ff10: 2d63 6d64 273b 0a53 4156 4520 6973 2075 -cmd';.SAVE is u │ │ │ +0001ff20: 7365 6420 6173 2060 6167 6461 322d 676f sed as `agda2-go │ │ │ +0001ff30: 616c 2d63 6d64 2773 2053 4156 4520 6172 al-cmd's SAVE ar │ │ │ +0001ff40: 6775 6d65 6e74 2061 6e64 0a57 414e 5420 gument and.WANT │ │ │ +0001ff50: 6973 2075 7365 6420 6173 2060 6167 6461 is used as `agda │ │ │ +0001ff60: 322d 676f 616c 2d63 6d64 2773 2057 414e 2-goal-cmd's WAN │ │ │ +0001ff70: 5420 6172 6775 6d65 6e74 292e 220a 2020 T argument).". │ │ │ +0001ff80: 286c 6574 2028 2865 7661 6c20 286d 616b (let ((eval (mak │ │ │ +0001ff90: 652d 7379 6d62 6f6c 2022 6576 616c 2229 e-symbol "eval") │ │ │ +0001ffa0: 2929 0a20 2060 2864 6566 756e 202c 6e61 )). `(defun ,na │ │ │ +0001ffb0: 6d65 2028 266f 7074 696f 6e61 6c20 7072 me (&optional pr │ │ │ +0001ffc0: 6566 6978 290a 2020 2020 202c 2863 6f6e efix). ,(con │ │ │ +0001ffd0: 6361 7420 636f 6d6d 656e 7420 222e 0a0a cat comment "... │ │ │ +0001ffe0: 5468 6520 6163 7469 6f6e 2064 6570 656e The action depen │ │ │ +0001fff0: 6473 206f 6e20 7468 6520 7072 6566 6978 ds on the prefix │ │ │ +00020000: 2061 7267 756d 656e 743a 0a0a 2a20 4966 argument:..* If │ │ │ +00020010: 2074 6865 2070 7265 6669 7820 6172 6775 the prefix argu │ │ │ +00020020: 6d65 6e74 2069 7320 606e 696c 2720 2869 ment is `nil' (i │ │ │ +00020030: 2e65 2e2c 2069 6620 6e6f 2070 7265 6669 .e., if no prefi │ │ │ +00020040: 7820 6172 6775 6d65 6e74 2069 730a 2020 x argument is. │ │ │ +00020050: 6769 7665 6e29 2c20 7468 656e 206e 6f20 given), then no │ │ │ +00020060: 666f 7263 6520 6973 2061 7070 6c69 6564 force is applied │ │ │ +00020070: 2e0a 0a2a 2049 6620 616e 7920 6f74 6865 ...* If any othe │ │ │ +00020080: 7220 7072 6566 6978 2061 7267 756d 656e r prefix argumen │ │ │ +00020090: 7420 6973 2075 7365 6420 2866 6f72 2069 t is used (for i │ │ │ +000200a0: 6e73 7461 6e63 652c 2069 6620 432d 7520 nstance, if C-u │ │ │ +000200b0: 6973 0a20 2074 7970 6564 206f 6e63 6520 is. typed once │ │ │ +000200c0: 6f72 2074 7769 6365 2072 6967 6874 2062 or twice right b │ │ │ +000200d0: 6566 6f72 6520 7468 6520 636f 6d6d 616e efore the comman │ │ │ +000200e0: 6420 6973 2069 6e76 6f6b 6564 292c 2074 d is invoked), t │ │ │ +000200f0: 6865 6e0a 2020 666f 7263 6520 6973 2061 hen. force is a │ │ │ +00020100: 7070 6c69 6564 2e22 290a 2020 2020 2028 pplied."). ( │ │ │ +00020110: 696e 7465 7261 6374 6976 6520 2250 2229 interactive "P") │ │ │ +00020120: 0a20 2020 2020 286c 6574 2028 282c 6576 . (let ((,ev │ │ │ +00020130: 616c 2028 636f 6e64 2028 2865 7175 616c al (cond ((equal │ │ │ +00020140: 2070 7265 6669 7820 6e69 6c29 2022 5769 prefix nil) "Wi │ │ │ +00020150: 7468 6f75 7446 6f72 6365 2229 0a20 2020 thoutForce"). │ │ │ 00020160: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00020170: 2020 2020 2822 5769 7468 466f 7263 6522 ("WithForce" │ │ │ -00020180: 2929 2929 0a20 2020 2020 2020 2861 6764 )))). (agd │ │ │ -00020190: 6132 2d67 6f61 6c2d 636d 6420 2863 6f6e a2-goal-cmd (con │ │ │ -000201a0: 6361 7420 2c63 6d64 2022 2022 202c 6576 cat ,cmd " " ,ev │ │ │ -000201b0: 616c 290a 2020 2020 2020 2020 2020 2020 al). │ │ │ -000201c0: 2020 2020 2020 2020 2020 202c 7361 7665 ,save │ │ │ -000201d0: 202c 7761 6e74 2929 2929 290a 0a28 6167 ,want)))))..(ag │ │ │ -000201e0: 6461 322d 6d61 7962 652d 666f 7263 6564 da2-maybe-forced │ │ │ -000201f0: 0a20 2061 6764 6132 2d67 6976 650a 2020 . agda2-give. │ │ │ -00020200: 2247 6976 6520 746f 2074 6865 2067 6f61 "Give to the goa │ │ │ -00020210: 6c20 6174 2070 6f69 6e74 2074 6865 2065 l at point the e │ │ │ -00020220: 7870 7265 7373 696f 6e20 696e 2069 7422 xpression in it" │ │ │ -00020230: 0a20 2022 436d 645f 6769 7665 220a 2020 . "Cmd_give". │ │ │ -00020240: 2773 6176 650a 2020 2265 7870 7265 7373 'save. "express │ │ │ -00020250: 696f 6e20 746f 2067 6976 6522 290a 0a3b ion to give")..; │ │ │ -00020260: 3b20 2864 6566 756e 2061 6764 6132 2d67 ; (defun agda2-g │ │ │ -00020270: 6976 6528 290a 3b3b 2020 2022 4769 7665 ive().;; "Give │ │ │ -00020280: 2074 6f20 7468 6520 676f 616c 2061 7420 to the goal at │ │ │ -00020290: 706f 696e 7420 7468 6520 6578 7072 6573 point the expres │ │ │ -000202a0: 7369 6f6e 2069 6e20 6974 2220 2869 6e74 sion in it" (int │ │ │ -000202b0: 6572 6163 7469 7665 290a 3b3b 2020 2028 eractive).;; ( │ │ │ -000202c0: 6167 6461 322d 676f 616c 2d63 6d64 2022 agda2-goal-cmd " │ │ │ -000202d0: 436d 645f 6769 7665 2220 2773 6176 6520 Cmd_give" 'save │ │ │ -000202e0: 2265 7870 7265 7373 696f 6e20 746f 2067 "expression to g │ │ │ -000202f0: 6976 6522 2929 0a0a 2864 6566 756e 2061 ive"))..(defun a │ │ │ -00020300: 6764 6132 2d67 6976 652d 6163 7469 6f6e gda2-give-action │ │ │ -00020310: 2028 6f6c 642d 6720 7061 7265 6e29 0a20 (old-g paren). │ │ │ -00020320: 2022 5570 6461 7465 2074 6865 2067 6f61 "Update the goa │ │ │ -00020330: 6c20 4f4c 442d 4720 7769 7468 2074 6865 l OLD-G with the │ │ │ -00020340: 2065 7870 7265 7373 696f 6e20 696e 2069 expression in i │ │ │ -00020350: 742e 220a 2020 286c 6574 0a20 2020 2020 t.". (let. │ │ │ -00020360: 3b3b 2044 6f6e 2774 2072 756e 206d 6f64 ;; Don't run mod │ │ │ -00020370: 6966 6963 6174 696f 6e20 686f 6f6b 733a ification hooks: │ │ │ -00020380: 2077 6520 646f 6e27 7420 7761 6e74 2074 we don't want t │ │ │ -00020390: 6869 7320 746f 0a20 2020 2020 203b 3b20 his to. ;; │ │ │ -000203a0: 7472 6967 6765 7220 6167 6461 322d 6162 trigger agda2-ab │ │ │ -000203b0: 6f72 742d 6869 6768 6c69 6768 7469 6e67 ort-highlighting │ │ │ -000203c0: 2e0a 2020 2020 2020 2828 696e 6869 6269 .. ((inhibi │ │ │ -000203d0: 742d 6d6f 6469 6669 6361 7469 6f6e 2d68 t-modification-h │ │ │ -000203e0: 6f6f 6b73 2074 2929 0a20 2028 6167 6461 ooks t)). (agda │ │ │ -000203f0: 322d 7570 6461 7465 206f 6c64 2d67 2070 2-update old-g p │ │ │ -00020400: 6172 656e 2929 290a 0a28 6465 6675 6e20 aren)))..(defun │ │ │ -00020410: 6167 6461 322d 7265 6669 6e65 2028 706d agda2-refine (pm │ │ │ -00020420: 6c61 6d62 6461 290a 2020 2252 6566 696e lambda). "Refin │ │ │ -00020430: 6520 7468 6520 676f 616c 2061 7420 706f e the goal at po │ │ │ -00020440: 696e 742e 0a49 6620 7468 6520 676f 616c int..If the goal │ │ │ -00020450: 2063 6f6e 7461 696e 7320 616e 2065 7870 contains an exp │ │ │ -00020460: 7265 7373 696f 6e20 652c 2061 6e64 2073 ression e, and s │ │ │ -00020470: 6f6d 6520 5c22 7375 6666 6978 5c22 206f ome \"suffix\" o │ │ │ -00020480: 6620 7468 650a 7479 7065 206f 6620 6520 f the.type of e │ │ │ -00020490: 756e 6966 6965 7320 7769 7468 2074 6865 unifies with the │ │ │ -000204a0: 2067 6f61 6c20 7479 7065 2c20 7468 656e goal type, then │ │ │ -000204b0: 2074 6865 2067 6f61 6c20 6973 2072 6570 the goal is rep │ │ │ -000204c0: 6c61 6365 640a 6279 2065 2061 7070 6c69 laced.by e appli │ │ │ -000204d0: 6564 2074 6f20 6120 7375 6974 6162 6c65 ed to a suitable │ │ │ -000204e0: 206e 756d 6265 7220 6f66 206e 6577 2067 number of new g │ │ │ -000204f0: 6f61 6c73 2e0a 0a50 4d4c 414d 4244 4120 oals...PMLAMBDA │ │ │ -00020500: 6973 206f 6e6c 7920 7573 6564 2069 6620 is only used if │ │ │ -00020510: 7468 6520 676f 616c 2068 6173 2061 2066 the goal has a f │ │ │ -00020520: 756e 6374 696f 6e61 6c20 7479 7065 2e0a unctional type.. │ │ │ -00020530: 5768 656e 2074 6865 2070 7265 6669 7820 When the prefix │ │ │ -00020540: 6172 6775 6d65 6e74 2069 7320 6769 7665 argument is give │ │ │ -00020550: 6e20 6120 7061 7474 6572 6e20 6d61 6368 n a pattern mach │ │ │ -00020560: 696e 6720 6c61 6d62 6461 2077 696c 6c0a ing lambda will. │ │ │ -00020570: 6265 2069 6e73 6572 7465 642c 206f 7468 be inserted, oth │ │ │ -00020580: 6572 7769 7365 2061 2073 7461 6e64 6172 erwise a standar │ │ │ -00020590: 6420 6c61 6d62 6461 2077 696c 6c20 6265 d lambda will be │ │ │ -000205a0: 2075 7365 642e 0a0a 4966 2074 6865 2067 used...If the g │ │ │ -000205b0: 6f61 6c20 6973 2065 6d70 7479 2c20 7468 oal is empty, th │ │ │ -000205c0: 6520 676f 616c 2074 7970 6520 6973 2061 e goal type is a │ │ │ -000205d0: 2064 6174 6120 7479 7065 2c20 616e 6420 data type, and │ │ │ -000205e0: 7468 6572 6520 6973 0a65 7861 6374 6c79 there is.exactly │ │ │ -000205f0: 206f 6e65 2063 6f6e 7374 7275 6374 6f72 one constructor │ │ │ -00020600: 2077 6869 6368 2075 6e69 6669 6573 2077 which unifies w │ │ │ -00020610: 6974 6820 7468 6973 2074 7970 652c 2074 ith this type, t │ │ │ -00020620: 6865 6e20 7468 650a 676f 616c 2069 7320 hen the.goal is │ │ │ -00020630: 7265 706c 6163 6564 2062 7920 7468 6520 replaced by the │ │ │ -00020640: 636f 6e73 7472 7563 746f 7220 6170 706c constructor appl │ │ │ -00020650: 6965 6420 746f 2061 2073 7569 7461 626c ied to a suitabl │ │ │ -00020660: 6520 6e75 6d62 6572 0a6f 6620 6e65 7720 e number.of new │ │ │ -00020670: 676f 616c 732e 220a 2020 2869 6e74 6572 goals.". (inter │ │ │ -00020680: 6163 7469 7665 2022 5022 290a 2020 2869 active "P"). (i │ │ │ -00020690: 6620 706d 6c61 6d62 6461 0a20 2020 2020 f pmlambda. │ │ │ -000206a0: 2028 6167 6461 322d 676f 616c 2d63 6d64 (agda2-goal-cmd │ │ │ -000206b0: 2022 436d 645f 7265 6669 6e65 5f6f 725f "Cmd_refine_or_ │ │ │ -000206c0: 696e 7472 6f20 5472 7565 2220 2773 6176 intro True" 'sav │ │ │ -000206d0: 6520 2767 6f61 6c29 0a20 2020 2028 6167 e 'goal). (ag │ │ │ -000206e0: 6461 322d 676f 616c 2d63 6d64 2022 436d da2-goal-cmd "Cm │ │ │ -000206f0: 645f 7265 6669 6e65 5f6f 725f 696e 7472 d_refine_or_intr │ │ │ -00020700: 6f20 4661 6c73 6522 2027 7361 7665 2027 o False" 'save ' │ │ │ -00020710: 676f 616c 2929 290a 0a28 6465 6675 6e20 goal)))..(defun │ │ │ -00020720: 6167 6461 322d 6d61 6b65 2d63 6173 6520 agda2-make-case │ │ │ -00020730: 2829 0a20 2022 5265 6669 6e65 2074 6865 (). "Refine the │ │ │ -00020740: 2070 6174 7465 726e 2076 6172 6961 626c pattern variabl │ │ │ -00020750: 6573 2067 6976 656e 2069 6e20 7468 6520 es given in the │ │ │ -00020760: 676f 616c 2e0a 4173 7375 6d65 7320 7468 goal..Assumes th │ │ │ -00020770: 6174 203c 636c 6175 7365 3e20 3d20 7b21 at = {! │ │ │ -00020780: 3c76 6172 6961 626c 6573 3e21 7d20 6973 !} is │ │ │ -00020790: 206f 6e20 6f6e 6520 6c69 6e65 2e22 0a20 on one line.". │ │ │ -000207a0: 2028 696e 7465 7261 6374 6976 6529 0a20 (interactive). │ │ │ -000207b0: 2028 6167 6461 322d 676f 616c 2d63 6d64 (agda2-goal-cmd │ │ │ -000207c0: 2022 436d 645f 6d61 6b65 5f63 6173 6522 "Cmd_make_case" │ │ │ -000207d0: 2027 7361 7665 2022 7061 7474 6572 6e20 'save "pattern │ │ │ -000207e0: 7661 7269 6162 6c65 7320 746f 2063 6173 variables to cas │ │ │ -000207f0: 6520 2865 6d70 7479 2066 6f72 2073 706c e (empty for spl │ │ │ -00020800: 6974 206f 6e20 7265 7375 6c74 2922 2929 it on result)")) │ │ │ -00020810: 0a0a 2864 6566 756e 2061 6764 6132 2d6d ..(defun agda2-m │ │ │ -00020820: 616b 652d 6361 7365 2d61 6374 696f 6e20 ake-case-action │ │ │ -00020830: 286e 6577 636c 7329 0a20 2022 5265 706c (newcls). "Repl │ │ │ -00020840: 6163 6520 7468 6520 6c69 6e65 2061 7420 ace the line at │ │ │ -00020850: 706f 696e 7420 7769 7468 206e 6577 2063 point with new c │ │ │ -00020860: 6c61 7573 6573 204e 4557 434c 5320 616e lauses NEWCLS an │ │ │ -00020870: 6420 7265 6c6f 6164 2e22 0a20 2028 6167 d reload.". (ag │ │ │ -00020880: 6461 322d 666f 7267 6574 2d61 6c6c 2d67 da2-forget-all-g │ │ │ -00020890: 6f61 6c73 293b 3b20 7765 2072 656c 6f61 oals);; we reloa │ │ │ -000208a0: 6420 6c61 7465 7220 616e 7977 6179 2e0a d later anyway.. │ │ │ -000208b0: 2020 286c 6574 2a20 2828 7030 2028 706f (let* ((p0 (po │ │ │ -000208c0: 696e 7429 290a 2020 2020 2020 2020 2028 int)). ( │ │ │ -000208d0: 7031 2028 676f 746f 2d63 6861 7220 282b p1 (goto-char (+ │ │ │ -000208e0: 2028 6375 7272 656e 742d 696e 6465 6e74 (current-indent │ │ │ -000208f0: 6174 696f 6e29 2028 6c69 6e65 2d62 6567 ation) (line-beg │ │ │ -00020900: 696e 6e69 6e67 2d70 6f73 6974 696f 6e29 inning-position) │ │ │ -00020910: 2929 290a 2020 2020 2020 2020 2028 696e ))). (in │ │ │ -00020920: 6465 6e74 2028 6375 7272 656e 742d 636f dent (current-co │ │ │ -00020930: 6c75 6d6e 2929 0a20 2020 2020 2020 2020 lumn)). │ │ │ -00020940: 636c 290a 2020 2020 2864 656c 6574 652d cl). (delete- │ │ │ -00020950: 7265 6769 6f6e 2070 3120 286c 696e 652d region p1 (line- │ │ │ -00020960: 656e 642d 706f 7369 7469 6f6e 2929 0a20 end-position)). │ │ │ -00020970: 2020 2028 7768 696c 6520 2873 6574 7120 (while (setq │ │ │ -00020980: 636c 2028 706f 7020 6e65 7763 6c73 2929 cl (pop newcls)) │ │ │ -00020990: 0a20 2020 2020 2028 696e 7365 7274 2063 . (insert c │ │ │ -000209a0: 6c29 0a20 2020 2020 2028 6966 206e 6577 l). (if new │ │ │ -000209b0: 636c 7320 2869 6e73 6572 7420 225c 6e22 cls (insert "\n" │ │ │ -000209c0: 2028 6d61 6b65 2d73 7472 696e 6720 696e (make-string in │ │ │ -000209d0: 6465 6e74 203f 2020 2929 2929 0a20 2020 dent ? )))). │ │ │ -000209e0: 2028 676f 746f 2d63 6861 7220 7030 2929 (goto-char p0)) │ │ │ -000209f0: 0a20 2028 6167 6461 322d 6c6f 6164 2929 . (agda2-load)) │ │ │ -00020a00: 0a0a 2864 6566 756e 2061 6764 6132 2d6d ..(defun agda2-m │ │ │ -00020a10: 616b 652d 6361 7365 2d61 6374 696f 6e2d ake-case-action- │ │ │ -00020a20: 6578 7465 6e64 6c61 6d20 286e 6577 636c extendlam (newcl │ │ │ -00020a30: 7329 0a20 2022 5265 706c 6163 6520 6465 s). "Replace de │ │ │ -00020a40: 6669 6e69 7469 6f6e 206f 6620 6578 7465 finition of exte │ │ │ -00020a50: 6e64 6564 206c 616d 6264 6120 7769 7468 nded lambda with │ │ │ -00020a60: 206e 6577 2063 6c61 7573 6573 204e 4557 new clauses NEW │ │ │ -00020a70: 434c 5320 616e 6420 7265 6c6f 6164 2e22 CLS and reload." │ │ │ -00020a80: 0a20 2028 6167 6461 322d 666f 7267 6574 . (agda2-forget │ │ │ -00020a90: 2d61 6c6c 2d67 6f61 6c73 293b 3b20 7765 -all-goals);; we │ │ │ -00020aa0: 2072 656c 6f61 6420 6c61 7465 7220 616e reload later an │ │ │ -00020ab0: 7977 6179 2e0a 2020 286c 6574 2a20 2828 yway.. (let* (( │ │ │ -00020ac0: 7030 2028 706f 696e 7429 290a 2020 2020 p0 (point)). │ │ │ -00020ad0: 2020 2020 2028 706d 6178 2028 7265 2d73 (pmax (re-s │ │ │ -00020ae0: 6561 7263 682d 666f 7277 6172 6420 2221 earch-forward "! │ │ │ -00020af0: 7d22 2929 0a20 2020 2020 2020 2020 2862 }")). (b │ │ │ -00020b00: 7261 636b 6574 436f 756e 7420 3029 0a20 racketCount 0). │ │ │ -00020b10: 2020 2020 2020 2020 2870 3120 2867 6f74 (p1 (got │ │ │ -00020b20: 6f2d 6368 6172 2028 2b20 2863 7572 7265 o-char (+ (curre │ │ │ -00020b30: 6e74 2d69 6e64 656e 7461 7469 6f6e 2920 nt-indentation) │ │ │ -00020b40: 286c 696e 652d 6265 6769 6e6e 696e 672d (line-beginning- │ │ │ -00020b50: 706f 7369 7469 6f6e 2929 2929 0a20 2020 position)))). │ │ │ -00020b60: 2020 2020 2020 2869 6e64 656e 7420 2863 (indent (c │ │ │ -00020b70: 7572 7265 6e74 2d63 6f6c 756d 6e29 290a urrent-column)). │ │ │ -00020b80: 2020 2020 2020 2020 2063 6c29 0a20 2020 cl). │ │ │ -00020b90: 2028 676f 746f 2d63 6861 7220 7030 290a (goto-char p0). │ │ │ -00020ba0: 2020 2020 2872 652d 7365 6172 6368 2d62 (re-search-b │ │ │ -00020bb0: 6163 6b77 6172 6420 227b 2122 290a 2020 ackward "{!"). │ │ │ -00020bc0: 2020 2877 6869 6c65 2028 616e 6420 286e (while (and (n │ │ │ -00020bd0: 6f74 2028 6571 7561 6c20 2870 7265 6365 ot (equal (prece │ │ │ -00020be0: 6469 6e67 2d63 6861 7229 203f 5c3b 2929 ding-char) ?\;)) │ │ │ -00020bf0: 2028 3e3d 2062 7261 636b 6574 436f 756e (>= bracketCoun │ │ │ -00020c00: 7420 3029 2028 3e20 2870 6f69 6e74 2920 t 0) (> (point) │ │ │ -00020c10: 7031 2929 0a20 2020 2020 2028 6261 636b p1)). (back │ │ │ -00020c20: 7761 7264 2d63 6861 7229 0a20 2020 2020 ward-char). │ │ │ -00020c30: 2028 6966 2028 6571 7561 6c20 2870 7265 (if (equal (pre │ │ │ -00020c40: 6365 6469 6e67 2d63 6861 7229 203f 7d29 ceding-char) ?}) │ │ │ -00020c50: 2028 636c 2d69 6e63 6620 6272 6163 6b65 (cl-incf bracke │ │ │ -00020c60: 7443 6f75 6e74 2929 0a20 2020 2020 2028 tCount)). ( │ │ │ -00020c70: 6966 2028 6571 7561 6c20 2870 7265 6365 if (equal (prece │ │ │ -00020c80: 6469 6e67 2d63 6861 7229 203f 7b29 2028 ding-char) ?{) ( │ │ │ -00020c90: 636c 2d64 6563 6620 6272 6163 6b65 7443 cl-decf bracketC │ │ │ -00020ca0: 6f75 6e74 2929 290a 2020 2020 286c 6574 ount))). (let │ │ │ -00020cb0: 2a20 2828 6973 2d6c 616d 6264 612d 7768 * ((is-lambda-wh │ │ │ -00020cc0: 6572 6520 283d 2028 706f 696e 7429 2070 ere (= (point) p │ │ │ -00020cd0: 3129 290a 2020 2020 2020 2020 2020 2028 1)). ( │ │ │ -00020ce0: 7020 2870 6f69 6e74 2929 290a 2020 2020 p (point))). │ │ │ -00020cf0: 2020 2864 656c 6574 652d 7265 6769 6f6e (delete-region │ │ │ -00020d00: 2028 706f 696e 7429 2070 6d61 7829 0a20 (point) pmax). │ │ │ -00020d10: 2020 2020 2028 6966 2028 6e6f 7420 6973 (if (not is │ │ │ -00020d20: 2d6c 616d 6264 612d 7768 6572 6529 2028 -lambda-where) ( │ │ │ -00020d30: 696e 7365 7274 2022 2022 2929 0a20 2020 insert " ")). │ │ │ -00020d40: 2020 2028 7768 696c 6520 2873 6574 7120 (while (setq │ │ │ -00020d50: 636c 2028 706f 7020 6e65 7763 6c73 2929 cl (pop newcls)) │ │ │ -00020d60: 0a20 2020 2020 2020 2028 696e 7365 7274 . (insert │ │ │ -00020d70: 2063 6c29 0a20 2020 2020 2020 2028 6966 cl). (if │ │ │ -00020d80: 206e 6577 636c 7320 2869 6620 6973 2d6c newcls (if is-l │ │ │ -00020d90: 616d 6264 612d 7768 6572 6520 2869 6e73 ambda-where (ins │ │ │ -00020da0: 6572 7420 225c 6e22 2028 6d61 6b65 2d73 ert "\n" (make-s │ │ │ -00020db0: 7472 696e 6720 696e 6465 6e74 203f 2029 tring indent ? ) │ │ │ -00020dc0: 2920 2869 6e73 6572 7420 2220 3b20 2229 ) (insert " ; ") │ │ │ -00020dd0: 2929 290a 2020 2020 2020 2867 6f74 6f2d ))). (goto- │ │ │ -00020de0: 6368 6172 2070 2929 290a 2020 2861 6764 char p))). (agd │ │ │ -00020df0: 6132 2d6c 6f61 6429 290a 0a28 6465 6675 a2-load))..(defu │ │ │ -00020e00: 6e20 6167 6461 322d 7374 6174 7573 2d61 n agda2-status-a │ │ │ -00020e10: 6374 696f 6e20 2873 7461 7475 7329 0a20 ction (status). │ │ │ -00020e20: 2022 4469 7370 6c61 7920 7468 6520 7374 "Display the st │ │ │ -00020e30: 7269 6e67 2053 5441 5455 5320 696e 2074 ring STATUS in t │ │ │ -00020e40: 6865 2063 7572 7265 6e74 2062 7566 6665 he current buffe │ │ │ -00020e50: 7227 7320 6d6f 6465 206c 696e 652e 0a5c r's mode line..\ │ │ │ -00020e60: 2870 7265 636f 6e64 6974 696f 6e3a 2074 (precondition: t │ │ │ -00020e70: 6865 2063 7572 7265 6e74 2062 7566 6665 he current buffe │ │ │ -00020e80: 7220 6861 7320 746f 2075 7365 2074 6865 r has to use the │ │ │ -00020e90: 2041 6764 6120 6d6f 6465 2061 7320 7468 Agda mode as th │ │ │ -00020ea0: 650a 6d61 6a6f 7220 6d6f 6465 292e 220a e.major mode).". │ │ │ -00020eb0: 2020 2873 6574 7120 6167 6461 322d 6275 (setq agda2-bu │ │ │ -00020ec0: 6666 6572 2d65 7874 6572 6e61 6c2d 7374 ffer-external-st │ │ │ -00020ed0: 6174 7573 2073 7461 7475 7329 0a20 2028 atus status). ( │ │ │ -00020ee0: 666f 7263 652d 6d6f 6465 2d6c 696e 652d force-mode-line- │ │ │ -00020ef0: 7570 6461 7465 2929 0a0a 2864 6566 6d61 update))..(defma │ │ │ -00020f00: 6372 6f20 6167 6461 322d 696e 666f 726d cro agda2-inform │ │ │ -00020f10: 6174 696f 6e2d 6275 6666 6572 2028 6275 ation-buffer (bu │ │ │ -00020f20: 6666 6572 206b 696e 6420 7469 746c 6529 ffer kind title) │ │ │ -00020f30: 0a20 2022 5573 6564 2074 6f20 6465 6669 . "Used to defi │ │ │ -00020f40: 6e65 2066 756e 6374 696f 6e73 206c 696b ne functions lik │ │ │ -00020f50: 6520 6061 6764 6132 2d69 6e66 6f2d 6275 e `agda2-info-bu │ │ │ -00020f60: 6666 6572 272e 220a 2020 6028 6465 6675 ffer'.". `(defu │ │ │ -00020f70: 6e20 2c62 7566 6665 7220 6e69 6c0a 2020 n ,buffer nil. │ │ │ -00020f80: 2020 202c 2863 6f6e 6361 7420 2243 7265 ,(concat "Cre │ │ │ -00020f90: 6174 6573 2074 6865 2041 6764 6120 2220 ates the Agda " │ │ │ -00020fa0: 6b69 6e64 0a20 2020 2020 2020 2020 2020 kind. │ │ │ -00020fb0: 2020 2022 2062 7566 6665 722c 2069 6620 " buffer, if │ │ │ -00020fc0: 6974 2064 6f65 7320 6e6f 7420 616c 7265 it does not alre │ │ │ -00020fd0: 6164 7920 6578 6973 742e 0a54 6865 2062 ady exist..The b │ │ │ -00020fe0: 7566 6665 7220 6973 2072 6574 7572 6e65 uffer is returne │ │ │ -00020ff0: 642e 2229 0a20 2028 756e 6c65 7373 2028 d."). (unless ( │ │ │ -00021000: 6275 6666 6572 2d6c 6976 652d 7020 2c62 buffer-live-p ,b │ │ │ -00021010: 7566 6665 7229 0a20 2020 2028 7365 7471 uffer). (setq │ │ │ -00021020: 202c 6275 6666 6572 0a20 2020 2020 2020 ,buffer. │ │ │ -00021030: 2020 2028 6765 6e65 7261 7465 2d6e 6577 (generate-new │ │ │ -00021040: 2d62 7566 6665 7220 2c74 6974 6c65 2929 -buffer ,title)) │ │ │ -00021050: 0a0a 2020 2020 2877 6974 682d 6375 7272 .. (with-curr │ │ │ -00021060: 656e 742d 6275 6666 6572 202c 6275 6666 ent-buffer ,buff │ │ │ -00021070: 6572 0a20 2020 2020 2028 636f 6d70 696c er. (compil │ │ │ -00021080: 6174 696f 6e2d 6d6f 6465 2022 4167 6461 ation-mode "Agda │ │ │ -00021090: 496e 666f 2229 0a20 2020 2020 203b 3b20 Info"). ;; │ │ │ -000210a0: 5375 7070 6f72 7420 666f 7220 6a75 6d70 Support for jump │ │ │ -000210b0: 696e 6720 746f 2070 6f73 6974 696f 6e73 ing to positions │ │ │ -000210c0: 206d 656e 7469 6f6e 6564 2069 6e20 7468 mentioned in th │ │ │ -000210d0: 6520 7465 7874 2e0a 2020 2020 2020 2873 e text.. (s │ │ │ -000210e0: 6574 2028 6d61 6b65 2d6c 6f63 616c 2d76 et (make-local-v │ │ │ -000210f0: 6172 6961 626c 6520 2763 6f6d 7069 6c61 ariable 'compila │ │ │ -00021100: 7469 6f6e 2d65 7272 6f72 2d72 6567 6578 tion-error-regex │ │ │ -00021110: 702d 616c 6973 7429 0a20 2020 2020 2020 p-alist). │ │ │ -00021120: 2020 2020 2728 2822 5c5c 285b 5c5c 5c5c '(("\\([\\\\ │ │ │ -00021130: 2f5d 5b5e 5b3a 7370 6163 653a 5d5d 2a5c /][^[:space:]]*\ │ │ │ -00021140: 5c29 3a5c 5c28 5b30 2d39 5d2b 5c5c 295c \):\\([0-9]+\\)\ │ │ │ -00021150: 5c2e 5c5c 285b 302d 395d 2b5c 5c29 5c5c \.\\([0-9]+\\)\\ │ │ │ -00021160: 282d 5c5c 285c 5c28 5b30 2d39 5d2b 5c5c (-\\(\\([0-9]+\\ │ │ │ -00021170: 295c 5c2e 5c5c 293f 5c5c 285b 302d 395d )\\.\\)?\\([0-9] │ │ │ -00021180: 2b5c 5c29 5c5c 293f 220a 2020 2020 2020 +\\)\\)?". │ │ │ -00021190: 2020 2020 2020 2020 3120 2832 202e 2036 1 (2 . 6 │ │ │ -000211a0: 2920 2833 202e 2037 2929 2929 0a20 2020 ) (3 . 7)))). │ │ │ -000211b0: 2020 203b 3b20 446f 206e 6f74 2073 6b69 ;; Do not ski │ │ │ -000211c0: 7020 6572 726f 7273 2074 6861 7420 7374 p errors that st │ │ │ -000211d0: 6172 7420 696e 2074 6865 2073 616d 6520 art in the same │ │ │ -000211e0: 706f 7369 7469 6f6e 2061 7320 7468 650a position as the. │ │ │ -000211f0: 2020 2020 2020 3b3b 2063 7572 7265 6e74 ;; current │ │ │ -00021200: 206f 6e65 2e0a 2020 2020 2020 2873 6574 one.. (set │ │ │ -00021210: 2028 6d61 6b65 2d6c 6f63 616c 2d76 6172 (make-local-var │ │ │ -00021220: 6961 626c 6520 2763 6f6d 7069 6c61 7469 iable 'compilati │ │ │ -00021230: 6f6e 2d73 6b69 702d 746f 2d6e 6578 742d on-skip-to-next- │ │ │ -00021240: 6c6f 6361 7469 6f6e 2920 6e69 6c29 0a20 location) nil). │ │ │ -00021250: 2020 2020 203b 3b20 4e6f 2073 7570 706f ;; No suppo │ │ │ -00021260: 7274 2066 6f72 2072 6563 6f6d 7069 6c61 rt for recompila │ │ │ -00021270: 7469 6f6e 2e20 5468 6520 6b65 7920 6269 tion. The key bi │ │ │ -00021280: 6e64 696e 6720 6973 2072 656d 6f76 6564 nding is removed │ │ │ -00021290: 2c20 616e 640a 2020 2020 2020 3b3b 2061 , and. ;; a │ │ │ -000212a0: 7474 656d 7074 7320 746f 2072 756e 2060 ttempts to run ` │ │ │ -000212b0: 7265 636f 6d70 696c 6527 2077 696c 6c20 recompile' will │ │ │ -000212c0: 2868 6f70 6566 756c 6c79 2920 7265 7375 (hopefully) resu │ │ │ -000212d0: 6c74 2069 6e20 616e 0a20 2020 2020 203b lt in an. ; │ │ │ -000212e0: 3b20 6572 726f 722e 0a20 2020 2020 2028 ; error.. ( │ │ │ -000212f0: 6c65 7420 2828 6d61 7020 2863 6f70 792d let ((map (copy- │ │ │ -00021300: 6b65 796d 6170 2028 6375 7272 656e 742d keymap (current- │ │ │ -00021310: 6c6f 6361 6c2d 6d61 7029 2929 290a 2020 local-map)))). │ │ │ -00021320: 2020 2020 2020 2864 6566 696e 652d 6b65 (define-ke │ │ │ -00021330: 7920 6d61 7020 286b 6264 2022 6722 2920 y map (kbd "g") │ │ │ -00021340: 2775 6e64 6566 696e 6564 290a 2020 2020 'undefined). │ │ │ -00021350: 2020 2020 2875 7365 2d6c 6f63 616c 2d6d (use-local-m │ │ │ -00021360: 6170 206d 6170 2929 0a20 2020 2020 2028 ap map)). ( │ │ │ -00021370: 7365 7420 286d 616b 652d 6c6f 6361 6c2d set (make-local- │ │ │ -00021380: 7661 7269 6162 6c65 2027 636f 6d70 696c variable 'compil │ │ │ -00021390: 652d 636f 6d6d 616e 6429 0a20 2020 2020 e-command). │ │ │ -000213a0: 2020 2020 2020 2761 6764 6132 2d64 6f65 'agda2-doe │ │ │ -000213b0: 732d 6e6f 742d 7375 7070 6f72 742d 636f s-not-support-co │ │ │ -000213c0: 6d70 696c 6174 696f 6e2d 7669 612d 7468 mpilation-via-th │ │ │ -000213d0: 652d 636f 6d70 696c 6174 696f 6e2d 6d6f e-compilation-mo │ │ │ -000213e0: 6465 290a 0a20 2020 2020 2028 7365 742d de).. (set- │ │ │ -000213f0: 7379 6e74 6178 2d74 6162 6c65 2061 6764 syntax-table agd │ │ │ -00021400: 6132 2d6d 6f64 652d 7379 6e74 6178 2d74 a2-mode-syntax-t │ │ │ -00021410: 6162 6c65 290a 2020 2020 2020 2873 6574 able). (set │ │ │ -00021420: 2028 6d61 6b65 2d6c 6f63 616c 2d76 6172 (make-local-var │ │ │ -00021430: 6961 626c 6520 2777 6f72 642d 636f 6d62 iable 'word-comb │ │ │ -00021440: 696e 696e 672d 6361 7465 676f 7269 6573 ining-categories │ │ │ -00021450: 2920 2863 6f6e 7320 2728 6e69 6c20 2e20 ) (cons '(nil . │ │ │ -00021460: 6e69 6c29 2077 6f72 642d 636f 6d62 696e nil) word-combin │ │ │ -00021470: 696e 672d 6361 7465 676f 7269 6573 2929 ing-categories)) │ │ │ -00021480: 0a20 2020 2020 2028 7365 742d 696e 7075 . (set-inpu │ │ │ -00021490: 742d 6d65 7468 6f64 2022 4167 6461 2229 t-method "Agda") │ │ │ -000214a0: 2929 0a0a 2020 2c62 7566 6665 7229 290a )).. ,buffer)). │ │ │ -000214b0: 0a28 6167 6461 322d 696e 666f 726d 6174 .(agda2-informat │ │ │ -000214c0: 696f 6e2d 6275 6666 6572 2061 6764 6132 ion-buffer agda2 │ │ │ -000214d0: 2d69 6e66 6f2d 6275 6666 6572 2022 696e -info-buffer "in │ │ │ -000214e0: 666f 2220 222a 4167 6461 2069 6e66 6f72 fo" "*Agda infor │ │ │ -000214f0: 6d61 7469 6f6e 2a22 290a 0a28 6465 6675 mation*")..(defu │ │ │ -00021500: 6e20 6167 6461 322d 696e 666f 2d61 6374 n agda2-info-act │ │ │ -00021510: 696f 6e20 286e 616d 6520 7465 7874 2026 ion (name text & │ │ │ -00021520: 6f70 7469 6f6e 616c 2061 7070 656e 6429 optional append) │ │ │ -00021530: 0a20 2022 496e 7365 7274 2054 4558 5420 . "Insert TEXT │ │ │ -00021540: 696e 746f 2074 6865 2041 6764 6120 696e into the Agda in │ │ │ -00021550: 666f 2062 7566 6665 7220 616e 6420 6469 fo buffer and di │ │ │ -00021560: 7370 6c61 7920 6974 2e0a 4e41 4d45 2069 splay it..NAME i │ │ │ -00021570: 7320 6469 7370 6c61 7965 6420 696e 2074 s displayed in t │ │ │ -00021580: 6865 2062 7566 6665 7227 7320 6d6f 6465 he buffer's mode │ │ │ -00021590: 206c 696e 652e 0a0a 4966 2041 5050 454e line...If APPEN │ │ │ -000215a0: 4420 6973 206e 6f6e 2d6e 696c 2c20 7468 D is non-nil, th │ │ │ -000215b0: 656e 2054 4558 5420 6973 2061 7070 656e en TEXT is appen │ │ │ -000215c0: 6465 6420 6174 2074 6865 2065 6e64 206f ded at the end o │ │ │ -000215d0: 6620 7468 650a 6275 6666 6572 2c20 616e f the.buffer, an │ │ │ -000215e0: 6420 706f 696e 7420 706c 6163 6564 2061 d point placed a │ │ │ -000215f0: 6674 6572 2074 6869 7320 7465 7874 2e0a fter this text.. │ │ │ -00021600: 0a49 6620 4150 5045 4e44 2069 7320 6e69 .If APPEND is ni │ │ │ -00021610: 6c2c 2074 6865 6e20 616e 7920 7072 6576 l, then any prev │ │ │ -00021620: 696f 7573 2074 6578 7420 6973 2072 656d ious text is rem │ │ │ -00021630: 6f76 6564 2062 6566 6f72 6520 5445 5854 oved before TEXT │ │ │ -00021640: 0a69 7320 696e 7365 7274 6564 2c20 616e .is inserted, an │ │ │ -00021650: 6420 706f 696e 7420 6973 2070 6c61 6365 d point is place │ │ │ -00021660: 6420 6265 666f 7265 2074 6869 7320 7465 d before this te │ │ │ -00021670: 7874 2e22 0a20 2028 696e 7465 7261 6374 xt.". (interact │ │ │ -00021680: 6976 6529 0a20 2028 6c65 7420 2828 6275 ive). (let ((bu │ │ │ -00021690: 6620 2861 6764 6132 2d69 6e66 6f2d 6275 f (agda2-info-bu │ │ │ -000216a0: 6666 6572 2929 290a 2020 2020 2877 6974 ffer))). (wit │ │ │ -000216b0: 682d 6375 7272 656e 742d 6275 6666 6572 h-current-buffer │ │ │ -000216c0: 2062 7566 0a20 2020 2020 203b 3b20 496e buf. ;; In │ │ │ -000216d0: 2073 6f6d 6520 6361 7365 7320 7468 6520 some cases the │ │ │ -000216e0: 6a75 6d70 2d74 6f2d 706f 7369 7469 6f6e jump-to-position │ │ │ -000216f0: 2d6d 656e 7469 6f6e 6564 2d69 6e2d 7465 -mentioned-in-te │ │ │ -00021700: 7874 0a20 2020 2020 203b 3b20 6675 6e63 xt. ;; func │ │ │ -00021710: 7469 6f6e 616c 6974 7920 2873 6565 2063 tionality (see c │ │ │ -00021720: 6f6d 7069 6c61 7469 6f6e 2d65 7272 6f72 ompilation-error │ │ │ -00021730: 2d72 6567 6578 702d 616c 6973 7420 6162 -regexp-alist ab │ │ │ -00021740: 6f76 6529 0a20 2020 2020 203b 3b20 6469 ove). ;; di │ │ │ -00021750: 646e 2774 2077 6f72 6b3a 2045 6d61 6373 dn't work: Emacs │ │ │ -00021760: 206a 756d 7065 6420 746f 2074 6865 2077 jumped to the w │ │ │ -00021770: 726f 6e67 2070 6f73 6974 696f 6e2e 2048 rong position. H │ │ │ -00021780: 6f77 6576 6572 2c20 6974 0a20 2020 2020 owever, it. │ │ │ -00021790: 203b 3b20 7365 656d 7320 746f 2077 6f72 ;; seems to wor │ │ │ -000217a0: 6b20 6966 2063 6f6d 7069 6c61 7469 6f6e k if compilation │ │ │ -000217b0: 2d66 6f72 6765 742d 6572 726f 7273 2069 -forget-errors i │ │ │ -000217c0: 7320 7573 6564 2e20 5468 6973 0a20 2020 s used. This. │ │ │ -000217d0: 2020 203b 3b20 7072 6f62 6c65 6d20 6d61 ;; problem ma │ │ │ -000217e0: 7920 6265 2072 656c 6174 6564 2074 6f20 y be related to │ │ │ -000217f0: 456d 6163 7320 6275 6720 2339 3637 390a Emacs bug #9679. │ │ │ -00021800: 2020 2020 2020 3b3b 2028 6874 7470 3a2f ;; (http:/ │ │ │ -00021810: 2f64 6562 6275 6773 2e67 6e75 2e6f 7267 /debbugs.gnu.org │ │ │ -00021820: 2f63 6769 2f62 7567 7265 706f 7274 2e63 /cgi/bugreport.c │ │ │ -00021830: 6769 3f62 7567 3d39 3637 3929 2e20 5468 gi?bug=9679). Th │ │ │ -00021840: 6520 6964 6561 0a20 2020 2020 203b 3b20 e idea. ;; │ │ │ -00021850: 746f 2075 7365 2063 6f6d 7069 6c61 7469 to use compilati │ │ │ -00021860: 6f6e 2d66 6f72 6765 742d 6572 726f 7273 on-forget-errors │ │ │ -00021870: 2063 6f6d 6573 2066 726f 6d20 6120 636f comes from a co │ │ │ -00021880: 6d6d 656e 7420 6475 6520 746f 0a20 2020 mment due to. │ │ │ -00021890: 2020 203b 3b20 4f6c 656b 7361 6e64 7220 ;; Oleksandr │ │ │ -000218a0: 4d61 6e7a 7975 6b0a 2020 2020 2020 3b3b Manzyuk. ;; │ │ │ -000218b0: 2028 6874 7470 733a 2f2f 6769 7468 7562 (https://github │ │ │ -000218c0: 2e63 6f6d 2f68 6173 6b65 6c6c 2f68 6173 .com/haskell/has │ │ │ -000218d0: 6b65 6c6c 2d6d 6f64 652f 6973 7375 6573 kell-mode/issues │ │ │ -000218e0: 2f36 3729 2e0a 2020 2020 2020 2863 6f6d /67).. (com │ │ │ -000218f0: 7069 6c61 7469 6f6e 2d66 6f72 6765 742d pilation-forget- │ │ │ -00021900: 6572 726f 7273 290a 2020 2020 2020 2875 errors). (u │ │ │ -00021910: 6e6c 6573 7320 6170 7065 6e64 2028 6572 nless append (er │ │ │ -00021920: 6173 652d 6275 6666 6572 2929 0a20 2020 ase-buffer)). │ │ │ -00021930: 2020 2028 7361 7665 2d65 7863 7572 7369 (save-excursi │ │ │ -00021940: 6f6e 0a20 2020 2020 2020 2028 676f 746f on. (goto │ │ │ -00021950: 2d63 6861 7220 2870 6f69 6e74 2d6d 6178 -char (point-max │ │ │ -00021960: 2929 0a20 2020 2020 2020 2028 696e 7365 )). (inse │ │ │ -00021970: 7274 2074 6578 7429 290a 2020 2020 2020 rt text)). │ │ │ -00021980: 2870 7574 2d74 6578 742d 7072 6f70 6572 (put-text-proper │ │ │ -00021990: 7479 2030 2028 6c65 6e67 7468 206e 616d ty 0 (length nam │ │ │ -000219a0: 6529 2027 6661 6365 2027 283a 7765 6967 e) 'face '(:weig │ │ │ -000219b0: 6874 2062 6f6c 6429 206e 616d 6529 0a20 ht bold) name). │ │ │ -000219c0: 2020 2020 2028 7365 7471 206d 6f64 652d (setq mode- │ │ │ -000219d0: 6c69 6e65 2d62 7566 6665 722d 6964 656e line-buffer-iden │ │ │ -000219e0: 7469 6669 6361 7469 6f6e 206e 616d 6529 tification name) │ │ │ -000219f0: 0a20 2020 2020 2028 666f 7263 652d 6d6f . (force-mo │ │ │ -00021a00: 6465 2d6c 696e 652d 7570 6461 7465 2929 de-line-update)) │ │ │ -00021a10: 0a20 2020 203b 3b20 4966 2074 6865 2063 . ;; If the c │ │ │ -00021a20: 7572 7265 6e74 2077 696e 646f 7720 6469 urrent window di │ │ │ -00021a30: 7370 6c61 7973 2074 6865 2069 6e66 6f72 splays the infor │ │ │ -00021a40: 6d61 7469 6f6e 2062 7566 6665 722c 2074 mation buffer, t │ │ │ -00021a50: 6865 6e20 7468 650a 2020 2020 3b3b 2077 hen the. ;; w │ │ │ -00021a60: 696e 646f 7720 636f 6e66 6967 7572 6174 indow configurat │ │ │ -00021a70: 696f 6e20 6973 206c 6566 7420 756e 746f ion is left unto │ │ │ -00021a80: 7563 6865 642e 0a20 2020 2028 756e 6c65 uched.. (unle │ │ │ -00021a90: 7373 2028 6571 7561 6c20 2877 696e 646f ss (equal (windo │ │ │ -00021aa0: 772d 6275 6666 6572 2920 6275 6629 0a20 w-buffer) buf). │ │ │ -00021ab0: 2020 2020 2028 6c65 7420 2828 6167 6461 (let ((agda │ │ │ -00021ac0: 2d77 696e 646f 770a 2020 2020 2020 2020 -window. │ │ │ -00021ad0: 2020 2020 2020 2861 6e64 2061 6764 6132 (and agda2 │ │ │ -00021ae0: 2d66 696c 652d 6275 6666 6572 0a20 2020 -file-buffer. │ │ │ +00020170: 2020 2020 2028 2257 6974 6846 6f72 6365 ("WithForce │ │ │ +00020180: 2229 2929 290a 2020 2020 2020 2028 6167 ")))). (ag │ │ │ +00020190: 6461 322d 676f 616c 2d63 6d64 2028 636f da2-goal-cmd (co │ │ │ +000201a0: 6e63 6174 202c 636d 6420 2220 2220 2c65 ncat ,cmd " " ,e │ │ │ +000201b0: 7661 6c29 0a20 2020 2020 2020 2020 2020 val). │ │ │ +000201c0: 2020 2020 2020 2020 2020 2020 2c73 6176 ,sav │ │ │ +000201d0: 6520 2c77 616e 7429 2929 2929 0a0a 2861 e ,want)))))..(a │ │ │ +000201e0: 6764 6132 2d6d 6179 6265 2d66 6f72 6365 gda2-maybe-force │ │ │ +000201f0: 640a 2020 6167 6461 322d 6769 7665 0a20 d. agda2-give. │ │ │ +00020200: 2022 4769 7665 2074 6f20 7468 6520 676f "Give to the go │ │ │ +00020210: 616c 2061 7420 706f 696e 7420 7468 6520 al at point the │ │ │ +00020220: 6578 7072 6573 7369 6f6e 2069 6e20 6974 expression in it │ │ │ +00020230: 220a 2020 2243 6d64 5f67 6976 6522 0a20 ". "Cmd_give". │ │ │ +00020240: 2027 7361 7665 0a20 2022 6578 7072 6573 'save. "expres │ │ │ +00020250: 7369 6f6e 2074 6f20 6769 7665 2229 0a0a sion to give").. │ │ │ +00020260: 3b3b 2028 6465 6675 6e20 6167 6461 322d ;; (defun agda2- │ │ │ +00020270: 6769 7665 2829 0a3b 3b20 2020 2247 6976 give().;; "Giv │ │ │ +00020280: 6520 746f 2074 6865 2067 6f61 6c20 6174 e to the goal at │ │ │ +00020290: 2070 6f69 6e74 2074 6865 2065 7870 7265 point the expre │ │ │ +000202a0: 7373 696f 6e20 696e 2069 7422 2028 696e ssion in it" (in │ │ │ +000202b0: 7465 7261 6374 6976 6529 0a3b 3b20 2020 teractive).;; │ │ │ +000202c0: 2861 6764 6132 2d67 6f61 6c2d 636d 6420 (agda2-goal-cmd │ │ │ +000202d0: 2243 6d64 5f67 6976 6522 2027 7361 7665 "Cmd_give" 'save │ │ │ +000202e0: 2022 6578 7072 6573 7369 6f6e 2074 6f20 "expression to │ │ │ +000202f0: 6769 7665 2229 290a 0a28 6465 6675 6e20 give"))..(defun │ │ │ +00020300: 6167 6461 322d 6769 7665 2d61 6374 696f agda2-give-actio │ │ │ +00020310: 6e20 286f 6c64 2d67 2070 6172 656e 290a n (old-g paren). │ │ │ +00020320: 2020 2255 7064 6174 6520 7468 6520 676f "Update the go │ │ │ +00020330: 616c 204f 4c44 2d47 2077 6974 6820 7468 al OLD-G with th │ │ │ +00020340: 6520 6578 7072 6573 7369 6f6e 2069 6e20 e expression in │ │ │ +00020350: 6974 2e22 0a20 2028 6c65 740a 2020 2020 it.". (let. │ │ │ +00020360: 203b 3b20 446f 6e27 7420 7275 6e20 6d6f ;; Don't run mo │ │ │ +00020370: 6469 6669 6361 7469 6f6e 2068 6f6f 6b73 dification hooks │ │ │ +00020380: 3a20 7765 2064 6f6e 2774 2077 616e 7420 : we don't want │ │ │ +00020390: 7468 6973 2074 6f0a 2020 2020 2020 3b3b this to. ;; │ │ │ +000203a0: 2074 7269 6767 6572 2061 6764 6132 2d61 trigger agda2-a │ │ │ +000203b0: 626f 7274 2d68 6967 686c 6967 6874 696e bort-highlightin │ │ │ +000203c0: 672e 0a20 2020 2020 2028 2869 6e68 6962 g.. ((inhib │ │ │ +000203d0: 6974 2d6d 6f64 6966 6963 6174 696f 6e2d it-modification- │ │ │ +000203e0: 686f 6f6b 7320 7429 290a 2020 2861 6764 hooks t)). (agd │ │ │ +000203f0: 6132 2d75 7064 6174 6520 6f6c 642d 6720 a2-update old-g │ │ │ +00020400: 7061 7265 6e29 2929 0a0a 2864 6566 756e paren)))..(defun │ │ │ +00020410: 2061 6764 6132 2d72 6566 696e 6520 2870 agda2-refine (p │ │ │ +00020420: 6d6c 616d 6264 6129 0a20 2022 5265 6669 mlambda). "Refi │ │ │ +00020430: 6e65 2074 6865 2067 6f61 6c20 6174 2070 ne the goal at p │ │ │ +00020440: 6f69 6e74 2e0a 4966 2074 6865 2067 6f61 oint..If the goa │ │ │ +00020450: 6c20 636f 6e74 6169 6e73 2061 6e20 6578 l contains an ex │ │ │ +00020460: 7072 6573 7369 6f6e 2065 2c20 616e 6420 pression e, and │ │ │ +00020470: 736f 6d65 205c 2273 7566 6669 785c 2220 some \"suffix\" │ │ │ +00020480: 6f66 2074 6865 0a74 7970 6520 6f66 2065 of the.type of e │ │ │ +00020490: 2075 6e69 6669 6573 2077 6974 6820 7468 unifies with th │ │ │ +000204a0: 6520 676f 616c 2074 7970 652c 2074 6865 e goal type, the │ │ │ +000204b0: 6e20 7468 6520 676f 616c 2069 7320 7265 n the goal is re │ │ │ +000204c0: 706c 6163 6564 0a62 7920 6520 6170 706c placed.by e appl │ │ │ +000204d0: 6965 6420 746f 2061 2073 7569 7461 626c ied to a suitabl │ │ │ +000204e0: 6520 6e75 6d62 6572 206f 6620 6e65 7720 e number of new │ │ │ +000204f0: 676f 616c 732e 0a0a 504d 4c41 4d42 4441 goals...PMLAMBDA │ │ │ +00020500: 2069 7320 6f6e 6c79 2075 7365 6420 6966 is only used if │ │ │ +00020510: 2074 6865 2067 6f61 6c20 6861 7320 6120 the goal has a │ │ │ +00020520: 6675 6e63 7469 6f6e 616c 2074 7970 652e functional type. │ │ │ +00020530: 0a57 6865 6e20 7468 6520 7072 6566 6978 .When the prefix │ │ │ +00020540: 2061 7267 756d 656e 7420 6973 2067 6976 argument is giv │ │ │ +00020550: 656e 2061 2070 6174 7465 726e 206d 6163 en a pattern mac │ │ │ +00020560: 6869 6e67 206c 616d 6264 6120 7769 6c6c hing lambda will │ │ │ +00020570: 0a62 6520 696e 7365 7274 6564 2c20 6f74 .be inserted, ot │ │ │ +00020580: 6865 7277 6973 6520 6120 7374 616e 6461 herwise a standa │ │ │ +00020590: 7264 206c 616d 6264 6120 7769 6c6c 2062 rd lambda will b │ │ │ +000205a0: 6520 7573 6564 2e0a 0a49 6620 7468 6520 e used...If the │ │ │ +000205b0: 676f 616c 2069 7320 656d 7074 792c 2074 goal is empty, t │ │ │ +000205c0: 6865 2067 6f61 6c20 7479 7065 2069 7320 he goal type is │ │ │ +000205d0: 6120 6461 7461 2074 7970 652c 2061 6e64 a data type, and │ │ │ +000205e0: 2074 6865 7265 2069 730a 6578 6163 746c there is.exactl │ │ │ +000205f0: 7920 6f6e 6520 636f 6e73 7472 7563 746f y one constructo │ │ │ +00020600: 7220 7768 6963 6820 756e 6966 6965 7320 r which unifies │ │ │ +00020610: 7769 7468 2074 6869 7320 7479 7065 2c20 with this type, │ │ │ +00020620: 7468 656e 2074 6865 0a67 6f61 6c20 6973 then the.goal is │ │ │ +00020630: 2072 6570 6c61 6365 6420 6279 2074 6865 replaced by the │ │ │ +00020640: 2063 6f6e 7374 7275 6374 6f72 2061 7070 constructor app │ │ │ +00020650: 6c69 6564 2074 6f20 6120 7375 6974 6162 lied to a suitab │ │ │ +00020660: 6c65 206e 756d 6265 720a 6f66 206e 6577 le number.of new │ │ │ +00020670: 2067 6f61 6c73 2e22 0a20 2028 696e 7465 goals.". (inte │ │ │ +00020680: 7261 6374 6976 6520 2250 2229 0a20 2028 ractive "P"). ( │ │ │ +00020690: 6966 2070 6d6c 616d 6264 610a 2020 2020 if pmlambda. │ │ │ +000206a0: 2020 2861 6764 6132 2d67 6f61 6c2d 636d (agda2-goal-cm │ │ │ +000206b0: 6420 2243 6d64 5f72 6566 696e 655f 6f72 d "Cmd_refine_or │ │ │ +000206c0: 5f69 6e74 726f 2054 7275 6522 2027 7361 _intro True" 'sa │ │ │ +000206d0: 7665 2027 676f 616c 290a 2020 2020 2861 ve 'goal). (a │ │ │ +000206e0: 6764 6132 2d67 6f61 6c2d 636d 6420 2243 gda2-goal-cmd "C │ │ │ +000206f0: 6d64 5f72 6566 696e 655f 6f72 5f69 6e74 md_refine_or_int │ │ │ +00020700: 726f 2046 616c 7365 2220 2773 6176 6520 ro False" 'save │ │ │ +00020710: 2767 6f61 6c29 2929 0a0a 2864 6566 756e 'goal)))..(defun │ │ │ +00020720: 2061 6764 6132 2d6d 616b 652d 6361 7365 agda2-make-case │ │ │ +00020730: 2028 290a 2020 2252 6566 696e 6520 7468 (). "Refine th │ │ │ +00020740: 6520 7061 7474 6572 6e20 7661 7269 6162 e pattern variab │ │ │ +00020750: 6c65 7320 6769 7665 6e20 696e 2074 6865 les given in the │ │ │ +00020760: 2067 6f61 6c2e 0a41 7373 756d 6573 2074 goal..Assumes t │ │ │ +00020770: 6861 7420 3c63 6c61 7573 653e 203d 207b hat = { │ │ │ +00020780: 213c 7661 7269 6162 6c65 733e 217d 2069 !!} i │ │ │ +00020790: 7320 6f6e 206f 6e65 206c 696e 652e 220a s on one line.". │ │ │ +000207a0: 2020 2869 6e74 6572 6163 7469 7665 290a (interactive). │ │ │ +000207b0: 2020 2861 6764 6132 2d67 6f61 6c2d 636d (agda2-goal-cm │ │ │ +000207c0: 6420 2243 6d64 5f6d 616b 655f 6361 7365 d "Cmd_make_case │ │ │ +000207d0: 2220 2773 6176 6520 2270 6174 7465 726e " 'save "pattern │ │ │ +000207e0: 2076 6172 6961 626c 6573 2074 6f20 6361 variables to ca │ │ │ +000207f0: 7365 2028 656d 7074 7920 666f 7220 7370 se (empty for sp │ │ │ +00020800: 6c69 7420 6f6e 2072 6573 756c 7429 2229 lit on result)") │ │ │ +00020810: 290a 0a28 6465 6675 6e20 6167 6461 322d )..(defun agda2- │ │ │ +00020820: 6d61 6b65 2d63 6173 652d 6163 7469 6f6e make-case-action │ │ │ +00020830: 2028 6e65 7763 6c73 290a 2020 2252 6570 (newcls). "Rep │ │ │ +00020840: 6c61 6365 2074 6865 206c 696e 6520 6174 lace the line at │ │ │ +00020850: 2070 6f69 6e74 2077 6974 6820 6e65 7720 point with new │ │ │ +00020860: 636c 6175 7365 7320 4e45 5743 4c53 2061 clauses NEWCLS a │ │ │ +00020870: 6e64 2072 656c 6f61 642e 220a 2020 2861 nd reload.". (a │ │ │ +00020880: 6764 6132 2d66 6f72 6765 742d 616c 6c2d gda2-forget-all- │ │ │ +00020890: 676f 616c 7329 3b3b 2077 6520 7265 6c6f goals);; we relo │ │ │ +000208a0: 6164 206c 6174 6572 2061 6e79 7761 792e ad later anyway. │ │ │ +000208b0: 0a20 2028 6c65 742a 2028 2870 3020 2870 . (let* ((p0 (p │ │ │ +000208c0: 6f69 6e74 2929 0a20 2020 2020 2020 2020 oint)). │ │ │ +000208d0: 2870 3120 2867 6f74 6f2d 6368 6172 2028 (p1 (goto-char ( │ │ │ +000208e0: 2b20 2863 7572 7265 6e74 2d69 6e64 656e + (current-inden │ │ │ +000208f0: 7461 7469 6f6e 2920 286c 696e 652d 6265 tation) (line-be │ │ │ +00020900: 6769 6e6e 696e 672d 706f 7369 7469 6f6e ginning-position │ │ │ +00020910: 2929 2929 0a20 2020 2020 2020 2020 2869 )))). (i │ │ │ +00020920: 6e64 656e 7420 2863 7572 7265 6e74 2d63 ndent (current-c │ │ │ +00020930: 6f6c 756d 6e29 290a 2020 2020 2020 2020 olumn)). │ │ │ +00020940: 2063 6c29 0a20 2020 2028 6465 6c65 7465 cl). (delete │ │ │ +00020950: 2d72 6567 696f 6e20 7031 2028 6c69 6e65 -region p1 (line │ │ │ +00020960: 2d65 6e64 2d70 6f73 6974 696f 6e29 290a -end-position)). │ │ │ +00020970: 2020 2020 2877 6869 6c65 2028 7365 7471 (while (setq │ │ │ +00020980: 2063 6c20 2870 6f70 206e 6577 636c 7329 cl (pop newcls) │ │ │ +00020990: 290a 2020 2020 2020 2869 6e73 6572 7420 ). (insert │ │ │ +000209a0: 636c 290a 2020 2020 2020 2869 6620 6e65 cl). (if ne │ │ │ +000209b0: 7763 6c73 2028 696e 7365 7274 2022 5c6e wcls (insert "\n │ │ │ +000209c0: 2220 286d 616b 652d 7374 7269 6e67 2069 " (make-string i │ │ │ +000209d0: 6e64 656e 7420 3f20 2029 2929 290a 2020 ndent ? )))). │ │ │ +000209e0: 2020 2867 6f74 6f2d 6368 6172 2070 3029 (goto-char p0) │ │ │ +000209f0: 290a 2020 2861 6764 6132 2d6c 6f61 6429 ). (agda2-load) │ │ │ +00020a00: 290a 0a28 6465 6675 6e20 6167 6461 322d )..(defun agda2- │ │ │ +00020a10: 6d61 6b65 2d63 6173 652d 6163 7469 6f6e make-case-action │ │ │ +00020a20: 2d65 7874 656e 646c 616d 2028 6e65 7763 -extendlam (newc │ │ │ +00020a30: 6c73 290a 2020 2252 6570 6c61 6365 2064 ls). "Replace d │ │ │ +00020a40: 6566 696e 6974 696f 6e20 6f66 2065 7874 efinition of ext │ │ │ +00020a50: 656e 6465 6420 6c61 6d62 6461 2077 6974 ended lambda wit │ │ │ +00020a60: 6820 6e65 7720 636c 6175 7365 7320 4e45 h new clauses NE │ │ │ +00020a70: 5743 4c53 2061 6e64 2072 656c 6f61 642e WCLS and reload. │ │ │ +00020a80: 220a 2020 2861 6764 6132 2d66 6f72 6765 ". (agda2-forge │ │ │ +00020a90: 742d 616c 6c2d 676f 616c 7329 3b3b 2077 t-all-goals);; w │ │ │ +00020aa0: 6520 7265 6c6f 6164 206c 6174 6572 2061 e reload later a │ │ │ +00020ab0: 6e79 7761 792e 0a20 2028 6c65 742a 2028 nyway.. (let* ( │ │ │ +00020ac0: 2870 3020 2870 6f69 6e74 2929 0a20 2020 (p0 (point)). │ │ │ +00020ad0: 2020 2020 2020 2870 6d61 7820 2872 652d (pmax (re- │ │ │ +00020ae0: 7365 6172 6368 2d66 6f72 7761 7264 2022 search-forward " │ │ │ +00020af0: 217d 2229 290a 2020 2020 2020 2020 2028 !}")). ( │ │ │ +00020b00: 6272 6163 6b65 7443 6f75 6e74 2030 290a bracketCount 0). │ │ │ +00020b10: 2020 2020 2020 2020 2028 7031 2028 676f (p1 (go │ │ │ +00020b20: 746f 2d63 6861 7220 282b 2028 6375 7272 to-char (+ (curr │ │ │ +00020b30: 656e 742d 696e 6465 6e74 6174 696f 6e29 ent-indentation) │ │ │ +00020b40: 2028 6c69 6e65 2d62 6567 696e 6e69 6e67 (line-beginning │ │ │ +00020b50: 2d70 6f73 6974 696f 6e29 2929 290a 2020 -position)))). │ │ │ +00020b60: 2020 2020 2020 2028 696e 6465 6e74 2028 (indent ( │ │ │ +00020b70: 6375 7272 656e 742d 636f 6c75 6d6e 2929 current-column)) │ │ │ +00020b80: 0a20 2020 2020 2020 2020 636c 290a 2020 . cl). │ │ │ +00020b90: 2020 2867 6f74 6f2d 6368 6172 2070 3029 (goto-char p0) │ │ │ +00020ba0: 0a20 2020 2028 7265 2d73 6561 7263 682d . (re-search- │ │ │ +00020bb0: 6261 636b 7761 7264 2022 7b21 2229 0a20 backward "{!"). │ │ │ +00020bc0: 2020 2028 7768 696c 6520 2861 6e64 2028 (while (and ( │ │ │ +00020bd0: 6e6f 7420 2865 7175 616c 2028 7072 6563 not (equal (prec │ │ │ +00020be0: 6564 696e 672d 6368 6172 2920 3f5c 3b29 eding-char) ?\;) │ │ │ +00020bf0: 2920 283e 3d20 6272 6163 6b65 7443 6f75 ) (>= bracketCou │ │ │ +00020c00: 6e74 2030 2920 283e 2028 706f 696e 7429 nt 0) (> (point) │ │ │ +00020c10: 2070 3129 290a 2020 2020 2020 2862 6163 p1)). (bac │ │ │ +00020c20: 6b77 6172 642d 6368 6172 290a 2020 2020 kward-char). │ │ │ +00020c30: 2020 2869 6620 2865 7175 616c 2028 7072 (if (equal (pr │ │ │ +00020c40: 6563 6564 696e 672d 6368 6172 2920 3f7d eceding-char) ?} │ │ │ +00020c50: 2920 2863 6c2d 696e 6366 2062 7261 636b ) (cl-incf brack │ │ │ +00020c60: 6574 436f 756e 7429 290a 2020 2020 2020 etCount)). │ │ │ +00020c70: 2869 6620 2865 7175 616c 2028 7072 6563 (if (equal (prec │ │ │ +00020c80: 6564 696e 672d 6368 6172 2920 3f7b 2920 eding-char) ?{) │ │ │ +00020c90: 2863 6c2d 6465 6366 2062 7261 636b 6574 (cl-decf bracket │ │ │ +00020ca0: 436f 756e 7429 2929 0a20 2020 2028 6c65 Count))). (le │ │ │ +00020cb0: 742a 2028 2869 732d 6c61 6d62 6461 2d77 t* ((is-lambda-w │ │ │ +00020cc0: 6865 7265 2028 3d20 2870 6f69 6e74 2920 here (= (point) │ │ │ +00020cd0: 7031 2929 0a20 2020 2020 2020 2020 2020 p1)). │ │ │ +00020ce0: 2870 2028 706f 696e 7429 2929 0a20 2020 (p (point))). │ │ │ +00020cf0: 2020 2028 6465 6c65 7465 2d72 6567 696f (delete-regio │ │ │ +00020d00: 6e20 2870 6f69 6e74 2920 706d 6178 290a n (point) pmax). │ │ │ +00020d10: 2020 2020 2020 2869 6620 286e 6f74 2069 (if (not i │ │ │ +00020d20: 732d 6c61 6d62 6461 2d77 6865 7265 2920 s-lambda-where) │ │ │ +00020d30: 2869 6e73 6572 7420 2220 2229 290a 2020 (insert " ")). │ │ │ +00020d40: 2020 2020 2877 6869 6c65 2028 7365 7471 (while (setq │ │ │ +00020d50: 2063 6c20 2870 6f70 206e 6577 636c 7329 cl (pop newcls) │ │ │ +00020d60: 290a 2020 2020 2020 2020 2869 6e73 6572 ). (inser │ │ │ +00020d70: 7420 636c 290a 2020 2020 2020 2020 2869 t cl). (i │ │ │ +00020d80: 6620 6e65 7763 6c73 2028 6966 2069 732d f newcls (if is- │ │ │ +00020d90: 6c61 6d62 6461 2d77 6865 7265 2028 696e lambda-where (in │ │ │ +00020da0: 7365 7274 2022 5c6e 2220 286d 616b 652d sert "\n" (make- │ │ │ +00020db0: 7374 7269 6e67 2069 6e64 656e 7420 3f20 string indent ? │ │ │ +00020dc0: 2929 2028 696e 7365 7274 2022 203b 2022 )) (insert " ; " │ │ │ +00020dd0: 2929 2929 0a20 2020 2020 2028 676f 746f )))). (goto │ │ │ +00020de0: 2d63 6861 7220 7029 2929 0a20 2028 6167 -char p))). (ag │ │ │ +00020df0: 6461 322d 6c6f 6164 2929 0a0a 2864 6566 da2-load))..(def │ │ │ +00020e00: 756e 2061 6764 6132 2d73 7461 7475 732d un agda2-status- │ │ │ +00020e10: 6163 7469 6f6e 2028 7374 6174 7573 290a action (status). │ │ │ +00020e20: 2020 2244 6973 706c 6179 2074 6865 2073 "Display the s │ │ │ +00020e30: 7472 696e 6720 5354 4154 5553 2069 6e20 tring STATUS in │ │ │ +00020e40: 7468 6520 6375 7272 656e 7420 6275 6666 the current buff │ │ │ +00020e50: 6572 2773 206d 6f64 6520 6c69 6e65 2e0a er's mode line.. │ │ │ +00020e60: 5c28 7072 6563 6f6e 6469 7469 6f6e 3a20 \(precondition: │ │ │ +00020e70: 7468 6520 6375 7272 656e 7420 6275 6666 the current buff │ │ │ +00020e80: 6572 2068 6173 2074 6f20 7573 6520 7468 er has to use th │ │ │ +00020e90: 6520 4167 6461 206d 6f64 6520 6173 2074 e Agda mode as t │ │ │ +00020ea0: 6865 0a6d 616a 6f72 206d 6f64 6529 2e22 he.major mode)." │ │ │ +00020eb0: 0a20 2028 7365 7471 2061 6764 6132 2d62 . (setq agda2-b │ │ │ +00020ec0: 7566 6665 722d 6578 7465 726e 616c 2d73 uffer-external-s │ │ │ +00020ed0: 7461 7475 7320 7374 6174 7573 290a 2020 tatus status). │ │ │ +00020ee0: 2866 6f72 6365 2d6d 6f64 652d 6c69 6e65 (force-mode-line │ │ │ +00020ef0: 2d75 7064 6174 6529 290a 0a28 6465 666d -update))..(defm │ │ │ +00020f00: 6163 726f 2061 6764 6132 2d69 6e66 6f72 acro agda2-infor │ │ │ +00020f10: 6d61 7469 6f6e 2d62 7566 6665 7220 2862 mation-buffer (b │ │ │ +00020f20: 7566 6665 7220 6b69 6e64 2074 6974 6c65 uffer kind title │ │ │ +00020f30: 290a 2020 2255 7365 6420 746f 2064 6566 ). "Used to def │ │ │ +00020f40: 696e 6520 6675 6e63 7469 6f6e 7320 6c69 ine functions li │ │ │ +00020f50: 6b65 2060 6167 6461 322d 696e 666f 2d62 ke `agda2-info-b │ │ │ +00020f60: 7566 6665 7227 2e22 0a20 2060 2864 6566 uffer'.". `(def │ │ │ +00020f70: 756e 202c 6275 6666 6572 206e 696c 0a20 un ,buffer nil. │ │ │ +00020f80: 2020 2020 2c28 636f 6e63 6174 2022 4372 ,(concat "Cr │ │ │ +00020f90: 6561 7465 7320 7468 6520 4167 6461 2022 eates the Agda " │ │ │ +00020fa0: 206b 696e 640a 2020 2020 2020 2020 2020 kind. │ │ │ +00020fb0: 2020 2020 2220 6275 6666 6572 2c20 6966 " buffer, if │ │ │ +00020fc0: 2069 7420 646f 6573 206e 6f74 2061 6c72 it does not alr │ │ │ +00020fd0: 6561 6479 2065 7869 7374 2e0a 5468 6520 eady exist..The │ │ │ +00020fe0: 6275 6666 6572 2069 7320 7265 7475 726e buffer is return │ │ │ +00020ff0: 6564 2e22 290a 2020 2875 6e6c 6573 7320 ed."). (unless │ │ │ +00021000: 2862 7566 6665 722d 6c69 7665 2d70 202c (buffer-live-p , │ │ │ +00021010: 6275 6666 6572 290a 2020 2020 2873 6574 buffer). (set │ │ │ +00021020: 7120 2c62 7566 6665 720a 2020 2020 2020 q ,buffer. │ │ │ +00021030: 2020 2020 2867 656e 6572 6174 652d 6e65 (generate-ne │ │ │ +00021040: 772d 6275 6666 6572 202c 7469 746c 6529 w-buffer ,title) │ │ │ +00021050: 290a 0a20 2020 2028 7769 7468 2d63 7572 ).. (with-cur │ │ │ +00021060: 7265 6e74 2d62 7566 6665 7220 2c62 7566 rent-buffer ,buf │ │ │ +00021070: 6665 720a 2020 2020 2020 2863 6f6d 7069 fer. (compi │ │ │ +00021080: 6c61 7469 6f6e 2d6d 6f64 6520 2241 6764 lation-mode "Agd │ │ │ +00021090: 6149 6e66 6f22 290a 2020 2020 2020 3b3b aInfo"). ;; │ │ │ +000210a0: 2053 7570 706f 7274 2066 6f72 206a 756d Support for jum │ │ │ +000210b0: 7069 6e67 2074 6f20 706f 7369 7469 6f6e ping to position │ │ │ +000210c0: 7320 6d65 6e74 696f 6e65 6420 696e 2074 s mentioned in t │ │ │ +000210d0: 6865 2074 6578 742e 0a20 2020 2020 2028 he text.. ( │ │ │ +000210e0: 7365 7420 286d 616b 652d 6c6f 6361 6c2d set (make-local- │ │ │ +000210f0: 7661 7269 6162 6c65 2027 636f 6d70 696c variable 'compil │ │ │ +00021100: 6174 696f 6e2d 6572 726f 722d 7265 6765 ation-error-rege │ │ │ +00021110: 7870 2d61 6c69 7374 290a 2020 2020 2020 xp-alist). │ │ │ +00021120: 2020 2020 2027 2828 225c 5c28 5b5c 5c5c '(("\\([\\\ │ │ │ +00021130: 5c2f 5d5b 5e5b 3a73 7061 6365 3a5d 5d2a \/][^[:space:]]* │ │ │ +00021140: 5c5c 293a 5c5c 285b 302d 395d 2b5c 5c29 \\):\\([0-9]+\\) │ │ │ +00021150: 5c5c 2e5c 5c28 5b30 2d39 5d2b 5c5c 295c \\.\\([0-9]+\\)\ │ │ │ +00021160: 5c28 2d5c 5c28 5c5c 285b 302d 395d 2b5c \(-\\(\\([0-9]+\ │ │ │ +00021170: 5c29 5c5c 2e5c 5c29 3f5c 5c28 5b30 2d39 \)\\.\\)?\\([0-9 │ │ │ +00021180: 5d2b 5c5c 295c 5c29 3f22 0a20 2020 2020 ]+\\)\\)?". │ │ │ +00021190: 2020 2020 2020 2020 2031 2028 3220 2e20 1 (2 . │ │ │ +000211a0: 3629 2028 3320 2e20 3729 2929 290a 2020 6) (3 . 7)))). │ │ │ +000211b0: 2020 2020 3b3b 2044 6f20 6e6f 7420 736b ;; Do not sk │ │ │ +000211c0: 6970 2065 7272 6f72 7320 7468 6174 2073 ip errors that s │ │ │ +000211d0: 7461 7274 2069 6e20 7468 6520 7361 6d65 tart in the same │ │ │ +000211e0: 2070 6f73 6974 696f 6e20 6173 2074 6865 position as the │ │ │ +000211f0: 0a20 2020 2020 203b 3b20 6375 7272 656e . ;; curren │ │ │ +00021200: 7420 6f6e 652e 0a20 2020 2020 2028 7365 t one.. (se │ │ │ +00021210: 7420 286d 616b 652d 6c6f 6361 6c2d 7661 t (make-local-va │ │ │ +00021220: 7269 6162 6c65 2027 636f 6d70 696c 6174 riable 'compilat │ │ │ +00021230: 696f 6e2d 736b 6970 2d74 6f2d 6e65 7874 ion-skip-to-next │ │ │ +00021240: 2d6c 6f63 6174 696f 6e29 206e 696c 290a -location) nil). │ │ │ +00021250: 2020 2020 2020 3b3b 204e 6f20 7375 7070 ;; No supp │ │ │ +00021260: 6f72 7420 666f 7220 7265 636f 6d70 696c ort for recompil │ │ │ +00021270: 6174 696f 6e2e 2054 6865 206b 6579 2062 ation. The key b │ │ │ +00021280: 696e 6469 6e67 2069 7320 7265 6d6f 7665 inding is remove │ │ │ +00021290: 642c 2061 6e64 0a20 2020 2020 203b 3b20 d, and. ;; │ │ │ +000212a0: 6174 7465 6d70 7473 2074 6f20 7275 6e20 attempts to run │ │ │ +000212b0: 6072 6563 6f6d 7069 6c65 2720 7769 6c6c `recompile' will │ │ │ +000212c0: 2028 686f 7065 6675 6c6c 7929 2072 6573 (hopefully) res │ │ │ +000212d0: 756c 7420 696e 2061 6e0a 2020 2020 2020 ult in an. │ │ │ +000212e0: 3b3b 2065 7272 6f72 2e0a 2020 2020 2020 ;; error.. │ │ │ +000212f0: 286c 6574 2028 286d 6170 2028 636f 7079 (let ((map (copy │ │ │ +00021300: 2d6b 6579 6d61 7020 2863 7572 7265 6e74 -keymap (current │ │ │ +00021310: 2d6c 6f63 616c 2d6d 6170 2929 2929 0a20 -local-map)))). │ │ │ +00021320: 2020 2020 2020 2028 6465 6669 6e65 2d6b (define-k │ │ │ +00021330: 6579 206d 6170 2028 6b62 6420 2267 2229 ey map (kbd "g") │ │ │ +00021340: 2027 756e 6465 6669 6e65 6429 0a20 2020 'undefined). │ │ │ +00021350: 2020 2020 2028 7573 652d 6c6f 6361 6c2d (use-local- │ │ │ +00021360: 6d61 7020 6d61 7029 290a 2020 2020 2020 map map)). │ │ │ +00021370: 2873 6574 2028 6d61 6b65 2d6c 6f63 616c (set (make-local │ │ │ +00021380: 2d76 6172 6961 626c 6520 2763 6f6d 7069 -variable 'compi │ │ │ +00021390: 6c65 2d63 6f6d 6d61 6e64 290a 2020 2020 le-command). │ │ │ +000213a0: 2020 2020 2020 2027 6167 6461 322d 646f 'agda2-do │ │ │ +000213b0: 6573 2d6e 6f74 2d73 7570 706f 7274 2d63 es-not-support-c │ │ │ +000213c0: 6f6d 7069 6c61 7469 6f6e 2d76 6961 2d74 ompilation-via-t │ │ │ +000213d0: 6865 2d63 6f6d 7069 6c61 7469 6f6e 2d6d he-compilation-m │ │ │ +000213e0: 6f64 6529 0a0a 2020 2020 2020 2873 6574 ode).. (set │ │ │ +000213f0: 2d73 796e 7461 782d 7461 626c 6520 6167 -syntax-table ag │ │ │ +00021400: 6461 322d 6d6f 6465 2d73 796e 7461 782d da2-mode-syntax- │ │ │ +00021410: 7461 626c 6529 0a20 2020 2020 2028 7365 table). (se │ │ │ +00021420: 7420 286d 616b 652d 6c6f 6361 6c2d 7661 t (make-local-va │ │ │ +00021430: 7269 6162 6c65 2027 776f 7264 2d63 6f6d riable 'word-com │ │ │ +00021440: 6269 6e69 6e67 2d63 6174 6567 6f72 6965 bining-categorie │ │ │ +00021450: 7329 2028 636f 6e73 2027 286e 696c 202e s) (cons '(nil . │ │ │ +00021460: 206e 696c 2920 776f 7264 2d63 6f6d 6269 nil) word-combi │ │ │ +00021470: 6e69 6e67 2d63 6174 6567 6f72 6965 7329 ning-categories) │ │ │ +00021480: 290a 2020 2020 2020 2873 6574 2d69 6e70 ). (set-inp │ │ │ +00021490: 7574 2d6d 6574 686f 6420 2241 6764 6122 ut-method "Agda" │ │ │ +000214a0: 2929 290a 0a20 202c 6275 6666 6572 2929 ))).. ,buffer)) │ │ │ +000214b0: 0a0a 2861 6764 6132 2d69 6e66 6f72 6d61 ..(agda2-informa │ │ │ +000214c0: 7469 6f6e 2d62 7566 6665 7220 6167 6461 tion-buffer agda │ │ │ +000214d0: 322d 696e 666f 2d62 7566 6665 7220 2269 2-info-buffer "i │ │ │ +000214e0: 6e66 6f22 2022 2a41 6764 6120 696e 666f nfo" "*Agda info │ │ │ +000214f0: 726d 6174 696f 6e2a 2229 0a0a 2864 6566 rmation*")..(def │ │ │ +00021500: 756e 2061 6764 6132 2d69 6e66 6f2d 6163 un agda2-info-ac │ │ │ +00021510: 7469 6f6e 2028 6e61 6d65 2074 6578 7420 tion (name text │ │ │ +00021520: 266f 7074 696f 6e61 6c20 6170 7065 6e64 &optional append │ │ │ +00021530: 290a 2020 2249 6e73 6572 7420 5445 5854 ). "Insert TEXT │ │ │ +00021540: 2069 6e74 6f20 7468 6520 4167 6461 2069 into the Agda i │ │ │ +00021550: 6e66 6f20 6275 6666 6572 2061 6e64 2064 nfo buffer and d │ │ │ +00021560: 6973 706c 6179 2069 742e 0a4e 414d 4520 isplay it..NAME │ │ │ +00021570: 6973 2064 6973 706c 6179 6564 2069 6e20 is displayed in │ │ │ +00021580: 7468 6520 6275 6666 6572 2773 206d 6f64 the buffer's mod │ │ │ +00021590: 6520 6c69 6e65 2e0a 0a49 6620 4150 5045 e line...If APPE │ │ │ +000215a0: 4e44 2069 7320 6e6f 6e2d 6e69 6c2c 2074 ND is non-nil, t │ │ │ +000215b0: 6865 6e20 5445 5854 2069 7320 6170 7065 hen TEXT is appe │ │ │ +000215c0: 6e64 6564 2061 7420 7468 6520 656e 6420 nded at the end │ │ │ +000215d0: 6f66 2074 6865 0a62 7566 6665 722c 2061 of the.buffer, a │ │ │ +000215e0: 6e64 2070 6f69 6e74 2070 6c61 6365 6420 nd point placed │ │ │ +000215f0: 6166 7465 7220 7468 6973 2074 6578 742e after this text. │ │ │ +00021600: 0a0a 4966 2041 5050 454e 4420 6973 206e ..If APPEND is n │ │ │ +00021610: 696c 2c20 7468 656e 2061 6e79 2070 7265 il, then any pre │ │ │ +00021620: 7669 6f75 7320 7465 7874 2069 7320 7265 vious text is re │ │ │ +00021630: 6d6f 7665 6420 6265 666f 7265 2054 4558 moved before TEX │ │ │ +00021640: 540a 6973 2069 6e73 6572 7465 642c 2061 T.is inserted, a │ │ │ +00021650: 6e64 2070 6f69 6e74 2069 7320 706c 6163 nd point is plac │ │ │ +00021660: 6564 2062 6566 6f72 6520 7468 6973 2074 ed before this t │ │ │ +00021670: 6578 742e 220a 2020 2869 6e74 6572 6163 ext.". (interac │ │ │ +00021680: 7469 7665 290a 2020 286c 6574 2028 2862 tive). (let ((b │ │ │ +00021690: 7566 2028 6167 6461 322d 696e 666f 2d62 uf (agda2-info-b │ │ │ +000216a0: 7566 6665 7229 2929 0a20 2020 2028 7769 uffer))). (wi │ │ │ +000216b0: 7468 2d63 7572 7265 6e74 2d62 7566 6665 th-current-buffe │ │ │ +000216c0: 7220 6275 660a 2020 2020 2020 3b3b 2049 r buf. ;; I │ │ │ +000216d0: 6e20 736f 6d65 2063 6173 6573 2074 6865 n some cases the │ │ │ +000216e0: 206a 756d 702d 746f 2d70 6f73 6974 696f jump-to-positio │ │ │ +000216f0: 6e2d 6d65 6e74 696f 6e65 642d 696e 2d74 n-mentioned-in-t │ │ │ +00021700: 6578 740a 2020 2020 2020 3b3b 2066 756e ext. ;; fun │ │ │ +00021710: 6374 696f 6e61 6c69 7479 2028 7365 6520 ctionality (see │ │ │ +00021720: 636f 6d70 696c 6174 696f 6e2d 6572 726f compilation-erro │ │ │ +00021730: 722d 7265 6765 7870 2d61 6c69 7374 2061 r-regexp-alist a │ │ │ +00021740: 626f 7665 290a 2020 2020 2020 3b3b 2064 bove). ;; d │ │ │ +00021750: 6964 6e27 7420 776f 726b 3a20 456d 6163 idn't work: Emac │ │ │ +00021760: 7320 6a75 6d70 6564 2074 6f20 7468 6520 s jumped to the │ │ │ +00021770: 7772 6f6e 6720 706f 7369 7469 6f6e 2e20 wrong position. │ │ │ +00021780: 486f 7765 7665 722c 2069 740a 2020 2020 However, it. │ │ │ +00021790: 2020 3b3b 2073 6565 6d73 2074 6f20 776f ;; seems to wo │ │ │ +000217a0: 726b 2069 6620 636f 6d70 696c 6174 696f rk if compilatio │ │ │ +000217b0: 6e2d 666f 7267 6574 2d65 7272 6f72 7320 n-forget-errors │ │ │ +000217c0: 6973 2075 7365 642e 2054 6869 730a 2020 is used. This. │ │ │ +000217d0: 2020 2020 3b3b 2070 726f 626c 656d 206d ;; problem m │ │ │ +000217e0: 6179 2062 6520 7265 6c61 7465 6420 746f ay be related to │ │ │ +000217f0: 2045 6d61 6373 2062 7567 2023 3936 3739 Emacs bug #9679 │ │ │ +00021800: 0a20 2020 2020 203b 3b20 2868 7474 703a . ;; (http: │ │ │ +00021810: 2f2f 6465 6262 7567 732e 676e 752e 6f72 //debbugs.gnu.or │ │ │ +00021820: 672f 6367 692f 6275 6772 6570 6f72 742e g/cgi/bugreport. │ │ │ +00021830: 6367 693f 6275 673d 3936 3739 292e 2054 cgi?bug=9679). T │ │ │ +00021840: 6865 2069 6465 610a 2020 2020 2020 3b3b he idea. ;; │ │ │ +00021850: 2074 6f20 7573 6520 636f 6d70 696c 6174 to use compilat │ │ │ +00021860: 696f 6e2d 666f 7267 6574 2d65 7272 6f72 ion-forget-error │ │ │ +00021870: 7320 636f 6d65 7320 6672 6f6d 2061 2063 s comes from a c │ │ │ +00021880: 6f6d 6d65 6e74 2064 7565 2074 6f0a 2020 omment due to. │ │ │ +00021890: 2020 2020 3b3b 204f 6c65 6b73 616e 6472 ;; Oleksandr │ │ │ +000218a0: 204d 616e 7a79 756b 0a20 2020 2020 203b Manzyuk. ; │ │ │ +000218b0: 3b20 2868 7474 7073 3a2f 2f67 6974 6875 ; (https://githu │ │ │ +000218c0: 622e 636f 6d2f 6861 736b 656c 6c2f 6861 b.com/haskell/ha │ │ │ +000218d0: 736b 656c 6c2d 6d6f 6465 2f69 7373 7565 skell-mode/issue │ │ │ +000218e0: 732f 3637 292e 0a20 2020 2020 2028 636f s/67).. (co │ │ │ +000218f0: 6d70 696c 6174 696f 6e2d 666f 7267 6574 mpilation-forget │ │ │ +00021900: 2d65 7272 6f72 7329 0a20 2020 2020 2028 -errors). ( │ │ │ +00021910: 756e 6c65 7373 2061 7070 656e 6420 2865 unless append (e │ │ │ +00021920: 7261 7365 2d62 7566 6665 7229 290a 2020 rase-buffer)). │ │ │ +00021930: 2020 2020 2873 6176 652d 6578 6375 7273 (save-excurs │ │ │ +00021940: 696f 6e0a 2020 2020 2020 2020 2867 6f74 ion. (got │ │ │ +00021950: 6f2d 6368 6172 2028 706f 696e 742d 6d61 o-char (point-ma │ │ │ +00021960: 7829 290a 2020 2020 2020 2020 2869 6e73 x)). (ins │ │ │ +00021970: 6572 7420 7465 7874 2929 0a20 2020 2020 ert text)). │ │ │ +00021980: 2028 7075 742d 7465 7874 2d70 726f 7065 (put-text-prope │ │ │ +00021990: 7274 7920 3020 286c 656e 6774 6820 6e61 rty 0 (length na │ │ │ +000219a0: 6d65 2920 2766 6163 6520 2728 3a77 6569 me) 'face '(:wei │ │ │ +000219b0: 6768 7420 626f 6c64 2920 6e61 6d65 290a ght bold) name). │ │ │ +000219c0: 2020 2020 2020 2873 6574 7120 6d6f 6465 (setq mode │ │ │ +000219d0: 2d6c 696e 652d 6275 6666 6572 2d69 6465 -line-buffer-ide │ │ │ +000219e0: 6e74 6966 6963 6174 696f 6e20 6e61 6d65 ntification name │ │ │ +000219f0: 290a 2020 2020 2020 2866 6f72 6365 2d6d ). (force-m │ │ │ +00021a00: 6f64 652d 6c69 6e65 2d75 7064 6174 6529 ode-line-update) │ │ │ +00021a10: 290a 2020 2020 3b3b 2049 6620 7468 6520 ). ;; If the │ │ │ +00021a20: 6375 7272 656e 7420 7769 6e64 6f77 2064 current window d │ │ │ +00021a30: 6973 706c 6179 7320 7468 6520 696e 666f isplays the info │ │ │ +00021a40: 726d 6174 696f 6e20 6275 6666 6572 2c20 rmation buffer, │ │ │ +00021a50: 7468 656e 2074 6865 0a20 2020 203b 3b20 then the. ;; │ │ │ +00021a60: 7769 6e64 6f77 2063 6f6e 6669 6775 7261 window configura │ │ │ +00021a70: 7469 6f6e 2069 7320 6c65 6674 2075 6e74 tion is left unt │ │ │ +00021a80: 6f75 6368 6564 2e0a 2020 2020 2875 6e6c ouched.. (unl │ │ │ +00021a90: 6573 7320 2865 7175 616c 2028 7769 6e64 ess (equal (wind │ │ │ +00021aa0: 6f77 2d62 7566 6665 7229 2062 7566 290a ow-buffer) buf). │ │ │ +00021ab0: 2020 2020 2020 286c 6574 2028 2861 6764 (let ((agd │ │ │ +00021ac0: 612d 7769 6e64 6f77 0a20 2020 2020 2020 a-window. │ │ │ +00021ad0: 2020 2020 2020 2028 616e 6420 6167 6461 (and agda │ │ │ +00021ae0: 322d 6669 6c65 2d62 7566 6665 720a 2020 2-file-buffer. │ │ │ 00021af0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00021b00: 2863 6172 2d73 6166 650a 2020 2020 2020 (car-safe. │ │ │ -00021b10: 2020 2020 2020 2020 2020 2020 2020 203b ; │ │ │ -00021b20: 3b20 416c 6c20 7769 6e64 6f77 732c 2069 ; All windows, i │ │ │ -00021b30: 6e63 6c75 6469 6e67 206d 696e 6962 7566 ncluding minibuf │ │ │ -00021b40: 6665 7273 2c20 6f6e 2061 6e79 0a20 2020 fers, on any. │ │ │ +00021b00: 2028 6361 722d 7361 6665 0a20 2020 2020 (car-safe. │ │ │ +00021b10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +00021b20: 3b3b 2041 6c6c 2077 696e 646f 7773 2c20 ;; All windows, │ │ │ +00021b30: 696e 636c 7564 696e 6720 6d69 6e69 6275 including minibu │ │ │ +00021b40: 6666 6572 732c 206f 6e20 616e 790a 2020 ffers, on any. │ │ │ 00021b50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00021b60: 2020 3b3b 2066 7261 6d65 206f 6e20 7468 ;; frame on th │ │ │ -00021b70: 6520 6375 7272 656e 7420 7465 726d 696e e current termin │ │ │ -00021b80: 616c 2c20 6469 7370 6c61 7969 6e67 2074 al, displaying t │ │ │ -00021b90: 6865 0a20 2020 2020 2020 2020 2020 2020 he. │ │ │ -00021ba0: 2020 2020 2020 2020 3b3b 2070 7265 7365 ;; prese │ │ │ -00021bb0: 6e74 2041 6764 6120 6669 6c65 2062 7566 nt Agda file buf │ │ │ -00021bc0: 6665 722e 0a20 2020 2020 2020 2020 2020 fer.. │ │ │ -00021bd0: 2020 2020 2020 2020 2020 2867 6574 2d62 (get-b │ │ │ -00021be0: 7566 6665 722d 7769 6e64 6f77 2d6c 6973 uffer-window-lis │ │ │ -00021bf0: 7420 6167 6461 322d 6669 6c65 2d62 7566 t agda2-file-buf │ │ │ -00021c00: 6665 7220 7420 3029 2929 2929 0a20 2020 fer t 0))))). │ │ │ -00021c10: 2020 2020 2028 7361 7665 2d73 656c 6563 (save-selec │ │ │ -00021c20: 7465 642d 7769 6e64 6f77 0a20 2020 2020 ted-window. │ │ │ -00021c30: 2020 2020 203b 3b20 5365 6c65 6374 2061 ;; Select a │ │ │ -00021c40: 2077 696e 646f 7720 6469 7370 6c61 7969 window displayi │ │ │ -00021c50: 6e67 2074 6865 2041 6764 6120 6669 6c65 ng the Agda file │ │ │ -00021c60: 2062 7566 6665 7220 2869 6620 7375 6368 buffer (if such │ │ │ -00021c70: 0a20 2020 2020 2020 2020 203b 3b20 6120 . ;; a │ │ │ -00021c80: 7769 6e64 6f77 2065 7869 7374 7329 2e20 window exists). │ │ │ -00021c90: 5769 7468 2063 6572 7461 696e 2063 6f6e With certain con │ │ │ -00021ca0: 6669 6775 7261 7469 6f6e 7320 6f66 0a20 figurations of. │ │ │ -00021cb0: 2020 2020 2020 2020 203b 3b20 6469 7370 ;; disp │ │ │ -00021cc0: 6c61 792d 6275 6666 6572 2074 6869 7320 lay-buffer this │ │ │ -00021cd0: 7368 6f75 6c64 2069 6e63 7265 6173 6520 should increase │ │ │ -00021ce0: 7468 6520 6c69 6b65 6c69 686f 6f64 2074 the likelihood t │ │ │ -00021cf0: 6861 740a 2020 2020 2020 2020 2020 3b3b hat. ;; │ │ │ -00021d00: 2074 6865 2069 6e66 6f20 6275 6666 6572 the info buffer │ │ │ -00021d10: 2077 696c 6c20 6265 2064 6973 706c 6179 will be display │ │ │ -00021d20: 6564 206f 6e20 7468 6520 7361 6d65 2066 ed on the same f │ │ │ -00021d30: 7261 6d65 2e0a 2020 2020 2020 2020 2020 rame.. │ │ │ -00021d40: 2877 6865 6e20 6167 6461 2d77 696e 646f (when agda-windo │ │ │ -00021d50: 770a 2020 2020 2020 2020 2020 2020 2873 w. (s │ │ │ -00021d60: 656c 6563 742d 7769 6e64 6f77 2061 6764 elect-window agd │ │ │ -00021d70: 612d 7769 6e64 6f77 2027 6e6f 2d72 6563 a-window 'no-rec │ │ │ -00021d80: 6f72 6429 290a 2020 2020 2020 2020 2020 ord)). │ │ │ -00021d90: 286c 6574 2a20 283b 3b20 4966 2074 6865 (let* (;; If the │ │ │ -00021da0: 7265 2069 7320 6f6e 6c79 206f 6e65 2077 re is only one w │ │ │ -00021db0: 696e 646f 772c 2074 6865 6e20 7468 6520 indow, then the │ │ │ -00021dc0: 696e 666f 2077 696e 646f 770a 2020 2020 info window. │ │ │ -00021dd0: 2020 2020 2020 2020 2020 2020 203b 3b20 ;; │ │ │ -00021de0: 7368 6f75 6c64 2062 6520 6372 6561 7465 should be create │ │ │ -00021df0: 6420 6162 6f76 6520 6f72 2062 656c 6f77 d above or below │ │ │ -00021e00: 2074 6865 2063 6f64 6520 7769 6e64 6f77 the code window │ │ │ -00021e10: 2c0a 2020 2020 2020 2020 2020 2020 2020 ,. │ │ │ -00021e20: 2020 203b 3b20 6e6f 7420 746f 2074 6865 ;; not to the │ │ │ -00021e30: 206c 6566 7420 6f72 2072 6967 6874 2e0a left or right.. │ │ │ -00021e40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00021e50: 2028 7370 6c69 742d 7769 6474 682d 7468 (split-width-th │ │ │ -00021e60: 7265 7368 6f6c 6420 6e69 6c29 0a20 2020 reshold nil). │ │ │ -00021e70: 2020 2020 2020 2020 2020 2020 2020 2877 (w │ │ │ -00021e80: 696e 646f 770a 2020 2020 2020 2020 2020 indow. │ │ │ -00021e90: 2020 2020 2020 2020 2028 6469 7370 6c61 (displa │ │ │ -00021ea0: 792d 6275 6666 6572 0a20 2020 2020 2020 y-buffer. │ │ │ -00021eb0: 2020 2020 2020 2020 2020 2020 2020 6275 bu │ │ │ -00021ec0: 660a 2020 2020 2020 2020 2020 2020 2020 f. │ │ │ -00021ed0: 2020 2020 2020 203b 3b20 556e 6465 7220 ;; Under │ │ │ -00021ee0: 456d 6163 7320 3233 2074 6865 2065 6666 Emacs 23 the eff │ │ │ -00021ef0: 6563 7420 6f66 2074 6865 2066 6f6c 6c6f ect of the follo │ │ │ -00021f00: 7769 6e67 0a20 2020 2020 2020 2020 2020 wing. │ │ │ -00021f10: 2020 2020 2020 2020 2020 3b3b 2061 7267 ;; arg │ │ │ -00021f20: 756d 656e 7420 6973 206f 6e6c 7920 7468 ument is only th │ │ │ -00021f30: 6174 2074 6865 2063 7572 7265 6e74 2077 at the current w │ │ │ -00021f40: 696e 646f 770a 2020 2020 2020 2020 2020 indow. │ │ │ -00021f50: 2020 2020 2020 2020 2020 203b 3b20 7368 ;; sh │ │ │ -00021f60: 6f75 6c64 206e 6f74 2062 6520 7573 6564 ould not be used │ │ │ -00021f70: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. │ │ │ -00021f80: 2020 2020 2020 2027 286e 696c 0a20 2020 '(nil. │ │ │ +00021b60: 2020 203b 3b20 6672 616d 6520 6f6e 2074 ;; frame on t │ │ │ +00021b70: 6865 2063 7572 7265 6e74 2074 6572 6d69 he current termi │ │ │ +00021b80: 6e61 6c2c 2064 6973 706c 6179 696e 6720 nal, displaying │ │ │ +00021b90: 7468 650a 2020 2020 2020 2020 2020 2020 the. │ │ │ +00021ba0: 2020 2020 2020 2020 203b 3b20 7072 6573 ;; pres │ │ │ +00021bb0: 656e 7420 4167 6461 2066 696c 6520 6275 ent Agda file bu │ │ │ +00021bc0: 6666 6572 2e0a 2020 2020 2020 2020 2020 ffer.. │ │ │ +00021bd0: 2020 2020 2020 2020 2020 2028 6765 742d (get- │ │ │ +00021be0: 6275 6666 6572 2d77 696e 646f 772d 6c69 buffer-window-li │ │ │ +00021bf0: 7374 2061 6764 6132 2d66 696c 652d 6275 st agda2-file-bu │ │ │ +00021c00: 6666 6572 2074 2030 2929 2929 290a 2020 ffer t 0))))). │ │ │ +00021c10: 2020 2020 2020 2873 6176 652d 7365 6c65 (save-sele │ │ │ +00021c20: 6374 6564 2d77 696e 646f 770a 2020 2020 cted-window. │ │ │ +00021c30: 2020 2020 2020 3b3b 2053 656c 6563 7420 ;; Select │ │ │ +00021c40: 6120 7769 6e64 6f77 2064 6973 706c 6179 a window display │ │ │ +00021c50: 696e 6720 7468 6520 4167 6461 2066 696c ing the Agda fil │ │ │ +00021c60: 6520 6275 6666 6572 2028 6966 2073 7563 e buffer (if suc │ │ │ +00021c70: 680a 2020 2020 2020 2020 2020 3b3b 2061 h. ;; a │ │ │ +00021c80: 2077 696e 646f 7720 6578 6973 7473 292e window exists). │ │ │ +00021c90: 2057 6974 6820 6365 7274 6169 6e20 636f With certain co │ │ │ +00021ca0: 6e66 6967 7572 6174 696f 6e73 206f 660a nfigurations of. │ │ │ +00021cb0: 2020 2020 2020 2020 2020 3b3b 2064 6973 ;; dis │ │ │ +00021cc0: 706c 6179 2d62 7566 6665 7220 7468 6973 play-buffer this │ │ │ +00021cd0: 2073 686f 756c 6420 696e 6372 6561 7365 should increase │ │ │ +00021ce0: 2074 6865 206c 696b 656c 6968 6f6f 6420 the likelihood │ │ │ +00021cf0: 7468 6174 0a20 2020 2020 2020 2020 203b that. ; │ │ │ +00021d00: 3b20 7468 6520 696e 666f 2062 7566 6665 ; the info buffe │ │ │ +00021d10: 7220 7769 6c6c 2062 6520 6469 7370 6c61 r will be displa │ │ │ +00021d20: 7965 6420 6f6e 2074 6865 2073 616d 6520 yed on the same │ │ │ +00021d30: 6672 616d 652e 0a20 2020 2020 2020 2020 frame.. │ │ │ +00021d40: 2028 7768 656e 2061 6764 612d 7769 6e64 (when agda-wind │ │ │ +00021d50: 6f77 0a20 2020 2020 2020 2020 2020 2028 ow. ( │ │ │ +00021d60: 7365 6c65 6374 2d77 696e 646f 7720 6167 select-window ag │ │ │ +00021d70: 6461 2d77 696e 646f 7720 276e 6f2d 7265 da-window 'no-re │ │ │ +00021d80: 636f 7264 2929 0a20 2020 2020 2020 2020 cord)). │ │ │ +00021d90: 2028 6c65 742a 2028 3b3b 2049 6620 7468 (let* (;; If th │ │ │ +00021da0: 6572 6520 6973 206f 6e6c 7920 6f6e 6520 ere is only one │ │ │ +00021db0: 7769 6e64 6f77 2c20 7468 656e 2074 6865 window, then the │ │ │ +00021dc0: 2069 6e66 6f20 7769 6e64 6f77 0a20 2020 info window. │ │ │ +00021dd0: 2020 2020 2020 2020 2020 2020 2020 3b3b ;; │ │ │ +00021de0: 2073 686f 756c 6420 6265 2063 7265 6174 should be creat │ │ │ +00021df0: 6564 2061 626f 7665 206f 7220 6265 6c6f ed above or belo │ │ │ +00021e00: 7720 7468 6520 636f 6465 2077 696e 646f w the code windo │ │ │ +00021e10: 772c 0a20 2020 2020 2020 2020 2020 2020 w,. │ │ │ +00021e20: 2020 2020 3b3b 206e 6f74 2074 6f20 7468 ;; not to th │ │ │ +00021e30: 6520 6c65 6674 206f 7220 7269 6768 742e e left or right. │ │ │ +00021e40: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ +00021e50: 2020 2873 706c 6974 2d77 6964 7468 2d74 (split-width-t │ │ │ +00021e60: 6872 6573 686f 6c64 206e 696c 290a 2020 hreshold nil). │ │ │ +00021e70: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ +00021e80: 7769 6e64 6f77 0a20 2020 2020 2020 2020 window. │ │ │ +00021e90: 2020 2020 2020 2020 2020 2864 6973 706c (displ │ │ │ +00021ea0: 6179 2d62 7566 6665 720a 2020 2020 2020 ay-buffer. │ │ │ +00021eb0: 2020 2020 2020 2020 2020 2020 2020 2062 b │ │ │ +00021ec0: 7566 0a20 2020 2020 2020 2020 2020 2020 uf. │ │ │ +00021ed0: 2020 2020 2020 2020 3b3b 2055 6e64 6572 ;; Under │ │ │ +00021ee0: 2045 6d61 6373 2032 3320 7468 6520 6566 Emacs 23 the ef │ │ │ +00021ef0: 6665 6374 206f 6620 7468 6520 666f 6c6c fect of the foll │ │ │ +00021f00: 6f77 696e 670a 2020 2020 2020 2020 2020 owing. │ │ │ +00021f10: 2020 2020 2020 2020 2020 203b 3b20 6172 ;; ar │ │ │ +00021f20: 6775 6d65 6e74 2069 7320 6f6e 6c79 2074 gument is only t │ │ │ +00021f30: 6861 7420 7468 6520 6375 7272 656e 7420 hat the current │ │ │ +00021f40: 7769 6e64 6f77 0a20 2020 2020 2020 2020 window. │ │ │ +00021f50: 2020 2020 2020 2020 2020 2020 3b3b 2073 ;; s │ │ │ +00021f60: 686f 756c 6420 6e6f 7420 6265 2075 7365 hould not be use │ │ │ +00021f70: 642e 0a20 2020 2020 2020 2020 2020 2020 d.. │ │ │ +00021f80: 2020 2020 2020 2020 2728 6e69 6c0a 2020 '(nil. │ │ │ 00021f90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00021fa0: 2020 2020 2e0a 2020 2020 2020 2020 2020 .. │ │ │ -00021fb0: 2020 2020 2020 2020 2020 2020 2028 3b3b (;; │ │ │ -00021fc0: 2044 6f20 6e6f 7420 7573 6520 7468 6520 Do not use the │ │ │ -00021fd0: 7361 6d65 2077 696e 646f 772e 0a20 2020 same window.. │ │ │ +00021fa0: 2020 2020 202e 0a20 2020 2020 2020 2020 .. │ │ │ +00021fb0: 2020 2020 2020 2020 2020 2020 2020 283b (; │ │ │ +00021fc0: 3b20 446f 206e 6f74 2075 7365 2074 6865 ; Do not use the │ │ │ +00021fd0: 2073 616d 6520 7769 6e64 6f77 2e0a 2020 same window.. │ │ │ 00021fe0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00021ff0: 2020 2020 2028 696e 6869 6269 742d 7361 (inhibit-sa │ │ │ -00022000: 6d65 2d77 696e 646f 7720 2e20 7429 0a20 me-window . t). │ │ │ +00021ff0: 2020 2020 2020 2869 6e68 6962 6974 2d73 (inhibit-s │ │ │ +00022000: 616d 652d 7769 6e64 6f77 202e 2074 290a ame-window . t). │ │ │ 00022010: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00022020: 2020 2020 2020 203b 3b20 446f 206e 6f74 ;; Do not │ │ │ -00022030: 2072 6169 7365 206f 7220 7365 6c65 6374 raise or select │ │ │ -00022040: 2061 6e6f 7468 6572 2066 7261 6d65 2e0a another frame.. │ │ │ -00022050: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00022060: 2020 2020 2020 2020 2869 6e68 6962 6974 (inhibit │ │ │ -00022070: 2d73 7769 7463 682d 6672 616d 6520 2e20 -switch-frame . │ │ │ -00022080: 7429 2929 2929 290a 2020 2020 2020 2020 t)))))). │ │ │ -00022090: 2020 2020 2869 6620 7769 6e64 6f77 0a20 (if window. │ │ │ -000220a0: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ -000220b0: 6669 742d 7769 6e64 6f77 2d74 6f2d 6275 fit-window-to-bu │ │ │ -000220c0: 6666 6572 2077 696e 646f 770a 2020 2020 ffer window. │ │ │ -000220d0: 2020 2020 2020 2020 2020 2020 2020 2874 (t │ │ │ -000220e0: 7275 6e63 6174 650a 2020 2020 2020 2020 runcate. │ │ │ -000220f0: 2020 2020 2020 2020 2020 2020 282a 2028 (* ( │ │ │ -00022100: 6672 616d 652d 6865 6967 6874 290a 2020 frame-height). │ │ │ +00022020: 2020 2020 2020 2020 3b3b 2044 6f20 6e6f ;; Do no │ │ │ +00022030: 7420 7261 6973 6520 6f72 2073 656c 6563 t raise or selec │ │ │ +00022040: 7420 616e 6f74 6865 7220 6672 616d 652e t another frame. │ │ │ +00022050: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ +00022060: 2020 2020 2020 2020 2028 696e 6869 6269 (inhibi │ │ │ +00022070: 742d 7377 6974 6368 2d66 7261 6d65 202e t-switch-frame . │ │ │ +00022080: 2074 2929 2929 2929 0a20 2020 2020 2020 t)))))). │ │ │ +00022090: 2020 2020 2028 6966 2077 696e 646f 770a (if window. │ │ │ +000220a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +000220b0: 2866 6974 2d77 696e 646f 772d 746f 2d62 (fit-window-to-b │ │ │ +000220c0: 7566 6665 7220 7769 6e64 6f77 0a20 2020 uffer window. │ │ │ +000220d0: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ +000220e0: 7472 756e 6361 7465 0a20 2020 2020 2020 truncate. │ │ │ +000220f0: 2020 2020 2020 2020 2020 2020 2028 2a20 (* │ │ │ +00022100: 2866 7261 6d65 2d68 6569 6768 7429 0a20 (frame-height). │ │ │ 00022110: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00022120: 2020 2020 2061 6764 6132 2d69 6e66 6f72 agda2-infor │ │ │ -00022130: 6d61 7469 6f6e 2d77 696e 646f 772d 6d61 mation-window-ma │ │ │ -00022140: 782d 6865 6967 6874 2929 2929 2929 2929 x-height)))))))) │ │ │ -00022150: 0a20 2020 203b 3b20 4d6f 7665 2070 6f69 . ;; Move poi │ │ │ -00022160: 6e74 2069 6e20 6576 6572 7920 7769 6e64 nt in every wind │ │ │ -00022170: 6f77 2064 6973 706c 6179 696e 6720 7468 ow displaying th │ │ │ -00022180: 6520 696e 666f 726d 6174 696f 6e20 6275 e information bu │ │ │ -00022190: 6666 6572 2e0a 2020 2020 3b3b 2045 7863 ffer.. ;; Exc │ │ │ -000221a0: 6570 7469 6f6e 3a20 4966 2077 6520 6172 eption: If we ar │ │ │ -000221b0: 6520 6170 7065 6e64 696e 672c 2064 6f6e e appending, don │ │ │ -000221c0: 2774 206d 6f76 6520 706f 696e 7420 696e 't move point in │ │ │ -000221d0: 2073 656c 6563 7465 640a 2020 2020 3b3b selected. ;; │ │ │ -000221e0: 2077 696e 646f 7773 2e0a 2020 2020 2864 windows.. (d │ │ │ -000221f0: 6f6c 6973 7420 2877 696e 646f 7720 2867 olist (window (g │ │ │ -00022200: 6574 2d62 7566 6665 722d 7769 6e64 6f77 et-buffer-window │ │ │ -00022210: 2d6c 6973 7420 6275 6620 276e 6f2d 6d69 -list buf 'no-mi │ │ │ -00022220: 6e69 6275 6666 6572 2074 2929 0a20 2020 nibuffer t)). │ │ │ -00022230: 2020 2028 756e 6c65 7373 2028 616e 6420 (unless (and │ │ │ -00022240: 6170 7065 6e64 0a20 2020 2020 2020 2020 append. │ │ │ -00022250: 2020 2020 2020 2020 2020 2865 7175 616c (equal │ │ │ -00022260: 2077 696e 646f 7720 2873 656c 6563 7465 window (selecte │ │ │ -00022270: 642d 7769 6e64 6f77 2929 290a 2020 2020 d-window))). │ │ │ -00022280: 2020 2020 2877 6974 682d 7365 6c65 6374 (with-select │ │ │ -00022290: 6564 2d77 696e 646f 7720 7769 6e64 6f77 ed-window window │ │ │ -000222a0: 0a20 2020 2020 2020 2020 2028 6966 2061 . (if a │ │ │ -000222b0: 7070 656e 640a 2020 2020 2020 2020 2020 ppend. │ │ │ -000222c0: 2020 2020 2867 6f74 6f2d 6368 6172 2028 (goto-char ( │ │ │ -000222d0: 706f 696e 742d 6d61 7829 290a 2020 2020 point-max)). │ │ │ -000222e0: 2020 2020 2020 2020 2867 6f74 6f2d 6368 (goto-ch │ │ │ -000222f0: 6172 2028 706f 696e 742d 6d69 6e29 2929 ar (point-min))) │ │ │ -00022300: 2929 2929 290a 0a28 6465 6675 6e20 6167 )))))..(defun ag │ │ │ -00022310: 6461 322d 696e 666f 2d61 6374 696f 6e2d da2-info-action- │ │ │ -00022320: 616e 642d 636f 7079 2028 6e61 6d65 2074 and-copy (name t │ │ │ -00022330: 6578 7420 266f 7074 696f 6e61 6c20 6170 ext &optional ap │ │ │ -00022340: 7065 6e64 290a 2020 2253 616d 6520 6173 pend). "Same as │ │ │ -00022350: 2061 6764 6132 2d69 6e66 6f2d 6163 7469 agda2-info-acti │ │ │ -00022360: 6f6e 2062 7574 2061 6c73 6f20 7075 7473 on but also puts │ │ │ -00022370: 2054 4558 5420 696e 2074 6865 206b 696c TEXT in the kil │ │ │ -00022380: 6c20 7269 6e67 2e22 0a20 2028 6b69 6c6c l ring.". (kill │ │ │ -00022390: 2d6e 6577 2074 6578 7429 0a20 2028 6167 -new text). (ag │ │ │ -000223a0: 6461 322d 696e 666f 2d61 6374 696f 6e20 da2-info-action │ │ │ -000223b0: 6e61 6d65 2074 6578 7420 6170 7065 6e64 name text append │ │ │ -000223c0: 2929 0a0a 2864 6566 756e 2061 6764 6132 ))..(defun agda2 │ │ │ -000223d0: 2d73 686f 772d 636f 6e73 7472 6169 6e74 -show-constraint │ │ │ -000223e0: 7328 290a 2020 2253 686f 7720 636f 6e73 s(). "Show cons │ │ │ -000223f0: 7472 6169 6e74 732e 2220 2869 6e74 6572 traints." (inter │ │ │ -00022400: 6163 7469 7665 290a 2020 2861 6764 6132 active). (agda2 │ │ │ -00022410: 2d67 6f20 6e69 6c20 7420 2762 7573 7920 -go nil t 'busy │ │ │ -00022420: 7420 2243 6d64 5f63 6f6e 7374 7261 696e t "Cmd_constrain │ │ │ -00022430: 7473 2229 290a 0a28 6465 6675 6e20 6167 ts"))..(defun ag │ │ │ -00022440: 6461 322d 7265 6d6f 7665 2d61 6e6e 6f74 da2-remove-annot │ │ │ -00022450: 6174 696f 6e73 2028 290a 2020 2252 656d ations (). "Rem │ │ │ -00022460: 6f76 6573 2062 7566 6665 7220 616e 6e6f oves buffer anno │ │ │ -00022470: 7461 7469 6f6e 7320 286f 7665 726c 6179 tations (overlay │ │ │ -00022480: 7320 616e 6420 7465 7874 2070 726f 7065 s and text prope │ │ │ -00022490: 7274 6965 7329 2e22 0a20 2028 696e 7465 rties).". (inte │ │ │ -000224a0: 7261 6374 6976 6529 0a20 2028 646f 6c69 ractive). (doli │ │ │ -000224b0: 7374 2028 6f20 286f 7665 726c 6179 732d st (o (overlays- │ │ │ -000224c0: 696e 2028 706f 696e 742d 6d69 6e29 2028 in (point-min) ( │ │ │ -000224d0: 706f 696e 742d 6d61 7829 2929 0a20 2020 point-max))). │ │ │ -000224e0: 2028 6465 6c65 7465 2d6f 7665 726c 6179 (delete-overlay │ │ │ -000224f0: 206f 2929 0a20 2028 6c65 7420 2828 696e o)). (let ((in │ │ │ -00022500: 6869 6269 742d 7265 6164 2d6f 6e6c 7920 hibit-read-only │ │ │ -00022510: 7429 290a 2020 2020 2861 6e6e 6f74 6174 t)). (annotat │ │ │ -00022520: 696f 6e2d 7072 6573 6572 7665 2d6d 6f64 ion-preserve-mod │ │ │ -00022530: 2d70 2d61 6e64 2d75 6e64 6f0a 2020 2020 -p-and-undo. │ │ │ -00022540: 2028 7365 742d 7465 7874 2d70 726f 7065 (set-text-prope │ │ │ -00022550: 7274 6965 7320 2870 6f69 6e74 2d6d 696e rties (point-min │ │ │ -00022560: 2920 2870 6f69 6e74 2d6d 6178 2920 2728 ) (point-max) '( │ │ │ -00022570: 2929 290a 2020 2020 2866 6f72 6365 2d6d ))). (force-m │ │ │ -00022580: 6f64 652d 6c69 6e65 2d75 7064 6174 6529 ode-line-update) │ │ │ -00022590: 2929 0a0a 2864 6566 756e 2061 6764 6132 ))..(defun agda2 │ │ │ -000225a0: 2d6e 6578 742d 676f 616c 2028 2920 2020 -next-goal () │ │ │ -000225b0: 2020 2247 6f20 746f 2074 6865 206e 6578 "Go to the nex │ │ │ -000225c0: 7420 676f 616c 2c20 6966 2061 6e79 2e22 t goal, if any." │ │ │ -000225d0: 2020 2020 2028 696e 7465 7261 6374 6976 (interactiv │ │ │ -000225e0: 6529 0a20 2028 6167 6461 322d 6d76 2d67 e). (agda2-mv-g │ │ │ -000225f0: 6f61 6c20 276e 6578 742d 7369 6e67 6c65 oal 'next-single │ │ │ -00022600: 2d70 726f 7065 7274 792d 6368 616e 6765 -property-change │ │ │ -00022610: 2020 2020 2027 6167 6461 322d 6465 6c69 'agda2-deli │ │ │ -00022620: 6d32 2031 2028 706f 696e 742d 6d69 6e29 m2 1 (point-min) │ │ │ -00022630: 2929 0a28 6465 6675 6e20 6167 6461 322d )).(defun agda2- │ │ │ -00022640: 7072 6576 696f 7573 2d67 6f61 6c20 2829 previous-goal () │ │ │ -00022650: 2022 476f 2074 6f20 7468 6520 7072 6576 "Go to the prev │ │ │ -00022660: 696f 7573 2067 6f61 6c2c 2069 6620 616e ious goal, if an │ │ │ -00022670: 792e 2220 2869 6e74 6572 6163 7469 7665 y." (interactive │ │ │ -00022680: 290a 2020 2861 6764 6132 2d6d 762d 676f ). (agda2-mv-go │ │ │ -00022690: 616c 2027 7072 6576 696f 7573 2d73 696e al 'previous-sin │ │ │ -000226a0: 676c 652d 7072 6f70 6572 7479 2d63 6861 gle-property-cha │ │ │ -000226b0: 6e67 6520 2761 6764 6132 2d64 656c 696d nge 'agda2-delim │ │ │ -000226c0: 3320 3020 2870 6f69 6e74 2d6d 6178 2929 3 0 (point-max)) │ │ │ -000226d0: 290a 2864 6566 756e 2061 6764 6132 2d6d ).(defun agda2-m │ │ │ -000226e0: 762d 676f 616c 2028 6368 616e 6765 2064 v-goal (change d │ │ │ -000226f0: 656c 696d 2061 646a 7573 7420 7772 6170 elim adjust wrap │ │ │ -00022700: 7065 6429 0a20 2028 6167 6461 322d 6c65 ped). (agda2-le │ │ │ -00022710: 7420 2829 0a20 2020 2020 2028 2867 6f20 t (). ((go │ │ │ -00022720: 2870 2920 2877 6869 6c65 2028 616e 6420 (p) (while (and │ │ │ -00022730: 2873 6574 7120 7020 2866 756e 6361 6c6c (setq p (funcall │ │ │ -00022740: 2063 6861 6e67 6520 7020 2763 6174 6567 change p 'categ │ │ │ -00022750: 6f72 7929 290a 2020 2020 2020 2020 2020 ory)). │ │ │ +00022120: 2020 2020 2020 6167 6461 322d 696e 666f agda2-info │ │ │ +00022130: 726d 6174 696f 6e2d 7769 6e64 6f77 2d6d rmation-window-m │ │ │ +00022140: 6178 2d68 6569 6768 7429 2929 2929 2929 ax-height))))))) │ │ │ +00022150: 290a 2020 2020 3b3b 204d 6f76 6520 706f ). ;; Move po │ │ │ +00022160: 696e 7420 696e 2065 7665 7279 2077 696e int in every win │ │ │ +00022170: 646f 7720 6469 7370 6c61 7969 6e67 2074 dow displaying t │ │ │ +00022180: 6865 2069 6e66 6f72 6d61 7469 6f6e 2062 he information b │ │ │ +00022190: 7566 6665 722e 0a20 2020 203b 3b20 4578 uffer.. ;; Ex │ │ │ +000221a0: 6365 7074 696f 6e3a 2049 6620 7765 2061 ception: If we a │ │ │ +000221b0: 7265 2061 7070 656e 6469 6e67 2c20 646f re appending, do │ │ │ +000221c0: 6e27 7420 6d6f 7665 2070 6f69 6e74 2069 n't move point i │ │ │ +000221d0: 6e20 7365 6c65 6374 6564 0a20 2020 203b n selected. ; │ │ │ +000221e0: 3b20 7769 6e64 6f77 732e 0a20 2020 2028 ; windows.. ( │ │ │ +000221f0: 646f 6c69 7374 2028 7769 6e64 6f77 2028 dolist (window ( │ │ │ +00022200: 6765 742d 6275 6666 6572 2d77 696e 646f get-buffer-windo │ │ │ +00022210: 772d 6c69 7374 2062 7566 2027 6e6f 2d6d w-list buf 'no-m │ │ │ +00022220: 696e 6962 7566 6665 7220 7429 290a 2020 inibuffer t)). │ │ │ +00022230: 2020 2020 2875 6e6c 6573 7320 2861 6e64 (unless (and │ │ │ +00022240: 2061 7070 656e 640a 2020 2020 2020 2020 append. │ │ │ +00022250: 2020 2020 2020 2020 2020 2028 6571 7561 (equa │ │ │ +00022260: 6c20 7769 6e64 6f77 2028 7365 6c65 6374 l window (select │ │ │ +00022270: 6564 2d77 696e 646f 7729 2929 0a20 2020 ed-window))). │ │ │ +00022280: 2020 2020 2028 7769 7468 2d73 656c 6563 (with-selec │ │ │ +00022290: 7465 642d 7769 6e64 6f77 2077 696e 646f ted-window windo │ │ │ +000222a0: 770a 2020 2020 2020 2020 2020 2869 6620 w. (if │ │ │ +000222b0: 6170 7065 6e64 0a20 2020 2020 2020 2020 append. │ │ │ +000222c0: 2020 2020 2028 676f 746f 2d63 6861 7220 (goto-char │ │ │ +000222d0: 2870 6f69 6e74 2d6d 6178 2929 0a20 2020 (point-max)). │ │ │ +000222e0: 2020 2020 2020 2020 2028 676f 746f 2d63 (goto-c │ │ │ +000222f0: 6861 7220 2870 6f69 6e74 2d6d 696e 2929 har (point-min)) │ │ │ +00022300: 2929 2929 2929 0a0a 2864 6566 756e 2061 ))))))..(defun a │ │ │ +00022310: 6764 6132 2d69 6e66 6f2d 6163 7469 6f6e gda2-info-action │ │ │ +00022320: 2d61 6e64 2d63 6f70 7920 286e 616d 6520 -and-copy (name │ │ │ +00022330: 7465 7874 2026 6f70 7469 6f6e 616c 2061 text &optional a │ │ │ +00022340: 7070 656e 6429 0a20 2022 5361 6d65 2061 ppend). "Same a │ │ │ +00022350: 7320 6167 6461 322d 696e 666f 2d61 6374 s agda2-info-act │ │ │ +00022360: 696f 6e20 6275 7420 616c 736f 2070 7574 ion but also put │ │ │ +00022370: 7320 5445 5854 2069 6e20 7468 6520 6b69 s TEXT in the ki │ │ │ +00022380: 6c6c 2072 696e 672e 220a 2020 286b 696c ll ring.". (kil │ │ │ +00022390: 6c2d 6e65 7720 7465 7874 290a 2020 2861 l-new text). (a │ │ │ +000223a0: 6764 6132 2d69 6e66 6f2d 6163 7469 6f6e gda2-info-action │ │ │ +000223b0: 206e 616d 6520 7465 7874 2061 7070 656e name text appen │ │ │ +000223c0: 6429 290a 0a28 6465 6675 6e20 6167 6461 d))..(defun agda │ │ │ +000223d0: 322d 7368 6f77 2d63 6f6e 7374 7261 696e 2-show-constrain │ │ │ +000223e0: 7473 2829 0a20 2022 5368 6f77 2063 6f6e ts(). "Show con │ │ │ +000223f0: 7374 7261 696e 7473 2e22 2028 696e 7465 straints." (inte │ │ │ +00022400: 7261 6374 6976 6529 0a20 2028 6167 6461 ractive). (agda │ │ │ +00022410: 322d 676f 206e 696c 2074 2027 6275 7379 2-go nil t 'busy │ │ │ +00022420: 2074 2022 436d 645f 636f 6e73 7472 6169 t "Cmd_constrai │ │ │ +00022430: 6e74 7322 2929 0a0a 2864 6566 756e 2061 nts"))..(defun a │ │ │ +00022440: 6764 6132 2d72 656d 6f76 652d 616e 6e6f gda2-remove-anno │ │ │ +00022450: 7461 7469 6f6e 7320 2829 0a20 2022 5265 tations (). "Re │ │ │ +00022460: 6d6f 7665 7320 6275 6666 6572 2061 6e6e moves buffer ann │ │ │ +00022470: 6f74 6174 696f 6e73 2028 6f76 6572 6c61 otations (overla │ │ │ +00022480: 7973 2061 6e64 2074 6578 7420 7072 6f70 ys and text prop │ │ │ +00022490: 6572 7469 6573 292e 220a 2020 2869 6e74 erties).". (int │ │ │ +000224a0: 6572 6163 7469 7665 290a 2020 2864 6f6c eractive). (dol │ │ │ +000224b0: 6973 7420 286f 2028 6f76 6572 6c61 7973 ist (o (overlays │ │ │ +000224c0: 2d69 6e20 2870 6f69 6e74 2d6d 696e 2920 -in (point-min) │ │ │ +000224d0: 2870 6f69 6e74 2d6d 6178 2929 290a 2020 (point-max))). │ │ │ +000224e0: 2020 2864 656c 6574 652d 6f76 6572 6c61 (delete-overla │ │ │ +000224f0: 7920 6f29 290a 2020 286c 6574 2028 2869 y o)). (let ((i │ │ │ +00022500: 6e68 6962 6974 2d72 6561 642d 6f6e 6c79 nhibit-read-only │ │ │ +00022510: 2074 2929 0a20 2020 2028 616e 6e6f 7461 t)). (annota │ │ │ +00022520: 7469 6f6e 2d70 7265 7365 7276 652d 6d6f tion-preserve-mo │ │ │ +00022530: 642d 702d 616e 642d 756e 646f 0a20 2020 d-p-and-undo. │ │ │ +00022540: 2020 2873 6574 2d74 6578 742d 7072 6f70 (set-text-prop │ │ │ +00022550: 6572 7469 6573 2028 706f 696e 742d 6d69 erties (point-mi │ │ │ +00022560: 6e29 2028 706f 696e 742d 6d61 7829 2027 n) (point-max) ' │ │ │ +00022570: 2829 2929 0a20 2020 2028 666f 7263 652d ())). (force- │ │ │ +00022580: 6d6f 6465 2d6c 696e 652d 7570 6461 7465 mode-line-update │ │ │ +00022590: 2929 290a 0a28 6465 6675 6e20 6167 6461 )))..(defun agda │ │ │ +000225a0: 322d 6e65 7874 2d67 6f61 6c20 2829 2020 2-next-goal () │ │ │ +000225b0: 2020 2022 476f 2074 6f20 7468 6520 6e65 "Go to the ne │ │ │ +000225c0: 7874 2067 6f61 6c2c 2069 6620 616e 792e xt goal, if any. │ │ │ +000225d0: 2220 2020 2020 2869 6e74 6572 6163 7469 " (interacti │ │ │ +000225e0: 7665 290a 2020 2861 6764 6132 2d6d 762d ve). (agda2-mv- │ │ │ +000225f0: 676f 616c 2027 6e65 7874 2d73 696e 676c goal 'next-singl │ │ │ +00022600: 652d 7072 6f70 6572 7479 2d63 6861 6e67 e-property-chang │ │ │ +00022610: 6520 2020 2020 2761 6764 6132 2d64 656c e 'agda2-del │ │ │ +00022620: 696d 3220 3120 2870 6f69 6e74 2d6d 696e im2 1 (point-min │ │ │ +00022630: 2929 290a 2864 6566 756e 2061 6764 6132 ))).(defun agda2 │ │ │ +00022640: 2d70 7265 7669 6f75 732d 676f 616c 2028 -previous-goal ( │ │ │ +00022650: 2920 2247 6f20 746f 2074 6865 2070 7265 ) "Go to the pre │ │ │ +00022660: 7669 6f75 7320 676f 616c 2c20 6966 2061 vious goal, if a │ │ │ +00022670: 6e79 2e22 2028 696e 7465 7261 6374 6976 ny." (interactiv │ │ │ +00022680: 6529 0a20 2028 6167 6461 322d 6d76 2d67 e). (agda2-mv-g │ │ │ +00022690: 6f61 6c20 2770 7265 7669 6f75 732d 7369 oal 'previous-si │ │ │ +000226a0: 6e67 6c65 2d70 726f 7065 7274 792d 6368 ngle-property-ch │ │ │ +000226b0: 616e 6765 2027 6167 6461 322d 6465 6c69 ange 'agda2-deli │ │ │ +000226c0: 6d33 2030 2028 706f 696e 742d 6d61 7829 m3 0 (point-max) │ │ │ +000226d0: 2929 0a28 6465 6675 6e20 6167 6461 322d )).(defun agda2- │ │ │ +000226e0: 6d76 2d67 6f61 6c20 2863 6861 6e67 6520 mv-goal (change │ │ │ +000226f0: 6465 6c69 6d20 6164 6a75 7374 2077 7261 delim adjust wra │ │ │ +00022700: 7070 6564 290a 2020 2861 6764 6132 2d6c pped). (agda2-l │ │ │ +00022710: 6574 2028 290a 2020 2020 2020 2828 676f et (). ((go │ │ │ +00022720: 2028 7029 2028 7768 696c 6520 2861 6e64 (p) (while (and │ │ │ +00022730: 2028 7365 7471 2070 2028 6675 6e63 616c (setq p (funcal │ │ │ +00022740: 6c20 6368 616e 6765 2070 2027 6361 7465 l change p 'cate │ │ │ +00022750: 676f 7279 2929 0a20 2020 2020 2020 2020 gory)). │ │ │ 00022760: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00022770: 2028 6e6f 7420 2865 7120 2867 6574 2d74 (not (eq (get-t │ │ │ -00022780: 6578 742d 7072 6f70 6572 7479 2070 2027 ext-property p ' │ │ │ -00022790: 6361 7465 676f 7279 2920 6465 6c69 6d29 category) delim) │ │ │ -000227a0: 2929 290a 2020 2020 2020 2020 2020 2028 ))). ( │ │ │ -000227b0: 6966 2070 2028 676f 746f 2d63 6861 7220 if p (goto-char │ │ │ -000227c0: 282b 2061 646a 7573 7420 7029 2929 2929 (+ adjust p))))) │ │ │ -000227d0: 0a20 2020 2028 6f72 2028 676f 2028 706f . (or (go (po │ │ │ -000227e0: 696e 7429 2920 2867 6f20 7772 6170 7065 int)) (go wrappe │ │ │ -000227f0: 6429 2028 6d65 7373 6167 6520 224e 6f20 d) (message "No │ │ │ -00022800: 676f 616c 7320 696e 2074 6865 2062 7566 goals in the buf │ │ │ -00022810: 6665 7222 2929 2929 0a0a 2864 6566 756e fer"))))..(defun │ │ │ -00022820: 2061 6764 6132 2d71 7569 7420 2829 0a20 agda2-quit (). │ │ │ -00022830: 2022 5175 6974 2061 6e64 2063 6c65 616e "Quit and clean │ │ │ -00022840: 2075 7020 6166 7465 7220 6167 6461 322e up after agda2. │ │ │ -00022850: 220a 2020 2869 6e74 6572 6163 7469 7665 ". (interactive │ │ │ -00022860: 290a 2020 2872 656d 6f76 652d 686f 6f6b ). (remove-hook │ │ │ -00022870: 2027 6669 7273 742d 6368 616e 6765 2d68 'first-change-h │ │ │ -00022880: 6f6f 6b20 2761 6764 6132 2d61 626f 7274 ook 'agda2-abort │ │ │ -00022890: 2d68 6967 686c 6967 6874 696e 6720 276c -highlighting 'l │ │ │ -000228a0: 6f63 616c 290a 2020 2872 656d 6f76 652d ocal). (remove- │ │ │ -000228b0: 686f 6f6b 2027 6166 7465 722d 7361 7665 hook 'after-save │ │ │ -000228c0: 2d68 6f6f 6b20 2761 6764 6132 2d68 6967 -hook 'agda2-hig │ │ │ -000228d0: 686c 6967 6874 2d74 6f6b 656e 7320 276c hlight-tokens 'l │ │ │ -000228e0: 6f63 616c 290a 2020 2861 6764 6132 2d72 ocal). (agda2-r │ │ │ -000228f0: 656d 6f76 652d 616e 6e6f 7461 7469 6f6e emove-annotation │ │ │ -00022900: 7329 0a20 2028 6167 6461 322d 7465 726d s). (agda2-term │ │ │ -00022910: 2929 0a0a 2864 6566 756e 2061 6764 6132 ))..(defun agda2 │ │ │ -00022920: 2d74 6572 6d20 2826 6f70 7469 6f6e 616c -term (&optional │ │ │ -00022930: 206e 6963 656c 7929 0a20 2022 496e 7465 nicely). "Inte │ │ │ -00022940: 7272 7570 7420 7468 6520 4167 6461 2070 rrupt the Agda p │ │ │ -00022950: 726f 6365 7373 2061 6e64 206b 696c 6c20 rocess and kill │ │ │ -00022960: 6974 7320 6275 6666 6572 2e0a 4966 2074 its buffer..If t │ │ │ -00022970: 6869 7320 6675 6e63 7469 6f6e 2069 7320 his function is │ │ │ -00022980: 696e 766f 6b65 6420 7769 7468 2061 2070 invoked with a p │ │ │ -00022990: 7265 6669 7820 6172 6775 6d65 6e74 2c20 refix argument, │ │ │ -000229a0: 7468 656e 2041 6764 6120 6973 0a61 736b then Agda is.ask │ │ │ -000229b0: 6564 206e 6963 656c 7920 746f 2074 6572 ed nicely to ter │ │ │ -000229c0: 6d69 6e61 7465 2069 7473 656c 6620 6166 minate itself af │ │ │ -000229d0: 7465 7220 616e 7920 7072 6576 696f 7573 ter any previous │ │ │ -000229e0: 6c79 2069 6e76 6f6b 6564 0a63 6f6d 6d61 ly invoked.comma │ │ │ -000229f0: 6e64 7320 6861 7665 2063 6f6d 706c 6574 nds have complet │ │ │ -00022a00: 6564 2e22 0a20 2028 696e 7465 7261 6374 ed.". (interact │ │ │ -00022a10: 6976 6520 2250 2229 0a20 2028 6966 206e ive "P"). (if n │ │ │ -00022a20: 6963 656c 790a 2020 2020 2020 2870 726f icely. (pro │ │ │ -00022a30: 676e 0a20 2020 2020 2020 203b 3b20 5365 gn. ;; Se │ │ │ -00022a40: 7420 7570 2074 6869 6e67 7320 736f 2074 t up things so t │ │ │ -00022a50: 6861 7420 6966 2074 6865 2041 6764 6120 hat if the Agda │ │ │ -00022a60: 7072 6f63 6573 7320 7465 726d 696e 6174 process terminat │ │ │ -00022a70: 6573 2c20 7468 656e 0a20 2020 2020 2020 es, then. │ │ │ -00022a80: 203b 3b20 6974 7320 6275 6666 6572 2069 ;; its buffer i │ │ │ -00022a90: 7320 6b69 6c6c 6564 2e0a 2020 2020 2020 s killed.. │ │ │ -00022aa0: 2020 2877 6865 6e20 2861 6e64 2061 6764 (when (and agd │ │ │ -00022ab0: 6132 2d70 726f 6365 7373 0a20 2020 2020 a2-process. │ │ │ -00022ac0: 2020 2020 2020 2020 2020 2020 2020 2870 (p │ │ │ -00022ad0: 726f 6365 7373 2d73 7461 7475 7320 6167 rocess-status ag │ │ │ -00022ae0: 6461 322d 7072 6f63 6573 7329 290a 2020 da2-process)). │ │ │ -00022af0: 2020 2020 2020 2020 2873 6574 2d70 726f (set-pro │ │ │ -00022b00: 6365 7373 2d73 656e 7469 6e65 6c20 6167 cess-sentinel ag │ │ │ -00022b10: 6461 322d 7072 6f63 6573 7320 2761 6764 da2-process 'agd │ │ │ -00022b20: 6132 2d6b 696c 6c2d 7072 6f63 6573 732d a2-kill-process- │ │ │ -00022b30: 6275 6666 6572 2929 0a20 2020 2020 2020 buffer)). │ │ │ -00022b40: 203b 3b20 4b69 6c6c 2074 6865 2070 726f ;; Kill the pro │ │ │ -00022b50: 6365 7373 2062 7566 6665 7220 6966 2074 cess buffer if t │ │ │ -00022b60: 6865 2041 6764 6120 7072 6f63 6573 7320 he Agda process │ │ │ -00022b70: 6861 7320 616c 7265 6164 790a 2020 2020 has already. │ │ │ -00022b80: 2020 2020 3b3b 2062 6565 6e20 6b69 6c6c ;; been kill │ │ │ -00022b90: 6564 2e0a 2020 2020 2020 2020 2861 6764 ed.. (agd │ │ │ -00022ba0: 6132 2d6b 696c 6c2d 7072 6f63 6573 732d a2-kill-process- │ │ │ -00022bb0: 6275 6666 6572 290a 2020 2020 2020 2020 buffer). │ │ │ -00022bc0: 3b3b 2054 7279 2074 6f20 6b69 6c6c 2074 ;; Try to kill t │ │ │ -00022bd0: 6865 2041 6764 6120 7072 6f63 6573 732e he Agda process. │ │ │ -00022be0: 0a20 2020 2020 2020 2028 6167 6461 322d . (agda2- │ │ │ -00022bf0: 7365 6e64 2d63 6f6d 6d61 6e64 206e 696c send-command nil │ │ │ -00022c00: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ -00022c10: 2020 2020 2020 2020 2020 2020 2022 494f "IO │ │ │ -00022c20: 5443 4d22 0a20 2020 2020 2020 2020 2020 TCM". │ │ │ +00022770: 2020 286e 6f74 2028 6571 2028 6765 742d (not (eq (get- │ │ │ +00022780: 7465 7874 2d70 726f 7065 7274 7920 7020 text-property p │ │ │ +00022790: 2763 6174 6567 6f72 7929 2064 656c 696d 'category) delim │ │ │ +000227a0: 2929 2929 0a20 2020 2020 2020 2020 2020 )))). │ │ │ +000227b0: 2869 6620 7020 2867 6f74 6f2d 6368 6172 (if p (goto-char │ │ │ +000227c0: 2028 2b20 6164 6a75 7374 2070 2929 2929 (+ adjust p)))) │ │ │ +000227d0: 290a 2020 2020 286f 7220 2867 6f20 2870 ). (or (go (p │ │ │ +000227e0: 6f69 6e74 2929 2028 676f 2077 7261 7070 oint)) (go wrapp │ │ │ +000227f0: 6564 2920 286d 6573 7361 6765 2022 4e6f ed) (message "No │ │ │ +00022800: 2067 6f61 6c73 2069 6e20 7468 6520 6275 goals in the bu │ │ │ +00022810: 6666 6572 2229 2929 290a 0a28 6465 6675 ffer"))))..(defu │ │ │ +00022820: 6e20 6167 6461 322d 7175 6974 2028 290a n agda2-quit (). │ │ │ +00022830: 2020 2251 7569 7420 616e 6420 636c 6561 "Quit and clea │ │ │ +00022840: 6e20 7570 2061 6674 6572 2061 6764 6132 n up after agda2 │ │ │ +00022850: 2e22 0a20 2028 696e 7465 7261 6374 6976 .". (interactiv │ │ │ +00022860: 6529 0a20 2028 7265 6d6f 7665 2d68 6f6f e). (remove-hoo │ │ │ +00022870: 6b20 2766 6972 7374 2d63 6861 6e67 652d k 'first-change- │ │ │ +00022880: 686f 6f6b 2027 6167 6461 322d 6162 6f72 hook 'agda2-abor │ │ │ +00022890: 742d 6869 6768 6c69 6768 7469 6e67 2027 t-highlighting ' │ │ │ +000228a0: 6c6f 6361 6c29 0a20 2028 7265 6d6f 7665 local). (remove │ │ │ +000228b0: 2d68 6f6f 6b20 2761 6674 6572 2d73 6176 -hook 'after-sav │ │ │ +000228c0: 652d 686f 6f6b 2027 6167 6461 322d 6869 e-hook 'agda2-hi │ │ │ +000228d0: 6768 6c69 6768 742d 746f 6b65 6e73 2027 ghlight-tokens ' │ │ │ +000228e0: 6c6f 6361 6c29 0a20 2028 6167 6461 322d local). (agda2- │ │ │ +000228f0: 7265 6d6f 7665 2d61 6e6e 6f74 6174 696f remove-annotatio │ │ │ +00022900: 6e73 290a 2020 2861 6764 6132 2d74 6572 ns). (agda2-ter │ │ │ +00022910: 6d29 290a 0a28 6465 6675 6e20 6167 6461 m))..(defun agda │ │ │ +00022920: 322d 7465 726d 2028 266f 7074 696f 6e61 2-term (&optiona │ │ │ +00022930: 6c20 6e69 6365 6c79 290a 2020 2249 6e74 l nicely). "Int │ │ │ +00022940: 6572 7275 7074 2074 6865 2041 6764 6120 errupt the Agda │ │ │ +00022950: 7072 6f63 6573 7320 616e 6420 6b69 6c6c process and kill │ │ │ +00022960: 2069 7473 2062 7566 6665 722e 0a49 6620 its buffer..If │ │ │ +00022970: 7468 6973 2066 756e 6374 696f 6e20 6973 this function is │ │ │ +00022980: 2069 6e76 6f6b 6564 2077 6974 6820 6120 invoked with a │ │ │ +00022990: 7072 6566 6978 2061 7267 756d 656e 742c prefix argument, │ │ │ +000229a0: 2074 6865 6e20 4167 6461 2069 730a 6173 then Agda is.as │ │ │ +000229b0: 6b65 6420 6e69 6365 6c79 2074 6f20 7465 ked nicely to te │ │ │ +000229c0: 726d 696e 6174 6520 6974 7365 6c66 2061 rminate itself a │ │ │ +000229d0: 6674 6572 2061 6e79 2070 7265 7669 6f75 fter any previou │ │ │ +000229e0: 736c 7920 696e 766f 6b65 640a 636f 6d6d sly invoked.comm │ │ │ +000229f0: 616e 6473 2068 6176 6520 636f 6d70 6c65 ands have comple │ │ │ +00022a00: 7465 642e 220a 2020 2869 6e74 6572 6163 ted.". (interac │ │ │ +00022a10: 7469 7665 2022 5022 290a 2020 2869 6620 tive "P"). (if │ │ │ +00022a20: 6e69 6365 6c79 0a20 2020 2020 2028 7072 nicely. (pr │ │ │ +00022a30: 6f67 6e0a 2020 2020 2020 2020 3b3b 2053 ogn. ;; S │ │ │ +00022a40: 6574 2075 7020 7468 696e 6773 2073 6f20 et up things so │ │ │ +00022a50: 7468 6174 2069 6620 7468 6520 4167 6461 that if the Agda │ │ │ +00022a60: 2070 726f 6365 7373 2074 6572 6d69 6e61 process termina │ │ │ +00022a70: 7465 732c 2074 6865 6e0a 2020 2020 2020 tes, then. │ │ │ +00022a80: 2020 3b3b 2069 7473 2062 7566 6665 7220 ;; its buffer │ │ │ +00022a90: 6973 206b 696c 6c65 642e 0a20 2020 2020 is killed.. │ │ │ +00022aa0: 2020 2028 7768 656e 2028 616e 6420 6167 (when (and ag │ │ │ +00022ab0: 6461 322d 7072 6f63 6573 730a 2020 2020 da2-process. │ │ │ +00022ac0: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ +00022ad0: 7072 6f63 6573 732d 7374 6174 7573 2061 process-status a │ │ │ +00022ae0: 6764 6132 2d70 726f 6365 7373 2929 0a20 gda2-process)). │ │ │ +00022af0: 2020 2020 2020 2020 2028 7365 742d 7072 (set-pr │ │ │ +00022b00: 6f63 6573 732d 7365 6e74 696e 656c 2061 ocess-sentinel a │ │ │ +00022b10: 6764 6132 2d70 726f 6365 7373 2027 6167 gda2-process 'ag │ │ │ +00022b20: 6461 322d 6b69 6c6c 2d70 726f 6365 7373 da2-kill-process │ │ │ +00022b30: 2d62 7566 6665 7229 290a 2020 2020 2020 -buffer)). │ │ │ +00022b40: 2020 3b3b 204b 696c 6c20 7468 6520 7072 ;; Kill the pr │ │ │ +00022b50: 6f63 6573 7320 6275 6666 6572 2069 6620 ocess buffer if │ │ │ +00022b60: 7468 6520 4167 6461 2070 726f 6365 7373 the Agda process │ │ │ +00022b70: 2068 6173 2061 6c72 6561 6479 0a20 2020 has already. │ │ │ +00022b80: 2020 2020 203b 3b20 6265 656e 206b 696c ;; been kil │ │ │ +00022b90: 6c65 642e 0a20 2020 2020 2020 2028 6167 led.. (ag │ │ │ +00022ba0: 6461 322d 6b69 6c6c 2d70 726f 6365 7373 da2-kill-process │ │ │ +00022bb0: 2d62 7566 6665 7229 0a20 2020 2020 2020 -buffer). │ │ │ +00022bc0: 203b 3b20 5472 7920 746f 206b 696c 6c20 ;; Try to kill │ │ │ +00022bd0: 7468 6520 4167 6461 2070 726f 6365 7373 the Agda process │ │ │ +00022be0: 2e0a 2020 2020 2020 2020 2861 6764 6132 .. (agda2 │ │ │ +00022bf0: 2d73 656e 642d 636f 6d6d 616e 6420 6e69 -send-command ni │ │ │ +00022c00: 6c0a 2020 2020 2020 2020 2020 2020 2020 l. │ │ │ +00022c10: 2020 2020 2020 2020 2020 2020 2020 2249 "I │ │ │ +00022c20: 4f54 434d 220a 2020 2020 2020 2020 2020 OTCM". │ │ │ 00022c30: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00022c40: 2028 6167 6461 322d 7374 7269 6e67 2d71 (agda2-string-q │ │ │ -00022c50: 756f 7465 2028 6275 6666 6572 2d66 696c uote (buffer-fil │ │ │ -00022c60: 652d 6e61 6d65 2929 0a20 2020 2020 2020 e-name)). │ │ │ +00022c40: 2020 2861 6764 6132 2d73 7472 696e 672d (agda2-string- │ │ │ +00022c50: 7175 6f74 6520 2862 7566 6665 722d 6669 quote (buffer-fi │ │ │ +00022c60: 6c65 2d6e 616d 6529 290a 2020 2020 2020 le-name)). │ │ │ 00022c70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00022c80: 2020 2020 2022 4e6f 6e65 220a 2020 2020 "None". │ │ │ +00022c80: 2020 2020 2020 224e 6f6e 6522 0a20 2020 "None". │ │ │ 00022c90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00022ca0: 2020 2020 2020 2020 2249 6e64 6972 6563 "Indirec │ │ │ -00022cb0: 7422 0a20 2020 2020 2020 2020 2020 2020 t". │ │ │ -00022cc0: 2020 2020 2020 2020 2020 2020 2020 2022 " │ │ │ -00022cd0: 436d 645f 6578 6974 2229 290a 2020 2020 Cmd_exit")). │ │ │ -00022ce0: 3b3b 2054 7279 2074 6f20 6b69 6c6c 2074 ;; Try to kill t │ │ │ -00022cf0: 6865 2041 6764 6120 7072 6f63 6573 7320 he Agda process │ │ │ -00022d00: 616e 6420 7468 6520 7072 6f63 6573 7320 and the process │ │ │ -00022d10: 6275 6666 6572 2e0a 2020 2020 2877 6865 buffer.. (whe │ │ │ -00022d20: 6e20 2861 6e64 2061 6764 6132 2d70 726f n (and agda2-pro │ │ │ -00022d30: 6365 7373 0a20 2020 2020 2020 2020 2020 cess. │ │ │ -00022d40: 2020 2020 2870 726f 6365 7373 2d73 7461 (process-sta │ │ │ -00022d50: 7475 7320 6167 6461 322d 7072 6f63 6573 tus agda2-proces │ │ │ -00022d60: 7329 290a 2020 2020 2020 2869 6e74 6572 s)). (inter │ │ │ -00022d70: 7275 7074 2d70 726f 6365 7373 2061 6764 rupt-process agd │ │ │ -00022d80: 6132 2d70 726f 6365 7373 2929 0a20 2020 a2-process)). │ │ │ -00022d90: 2028 7768 656e 2028 6275 6666 6572 2d6c (when (buffer-l │ │ │ -00022da0: 6976 652d 7020 6167 6461 322d 7072 6f63 ive-p agda2-proc │ │ │ -00022db0: 6573 732d 6275 6666 6572 290a 2020 2020 ess-buffer). │ │ │ -00022dc0: 2020 286b 696c 6c2d 6275 6666 6572 2061 (kill-buffer a │ │ │ -00022dd0: 6764 6132 2d70 726f 6365 7373 2d62 7566 gda2-process-buf │ │ │ -00022de0: 6665 7229 2929 290a 0a28 6465 6675 6e20 fer))))..(defun │ │ │ -00022df0: 6167 6461 322d 6b69 6c6c 2d70 726f 6365 agda2-kill-proce │ │ │ -00022e00: 7373 2d62 7566 6665 7220 2826 6f70 7469 ss-buffer (&opti │ │ │ -00022e10: 6f6e 616c 205f 7072 6f63 6573 7320 5f65 onal _process _e │ │ │ -00022e20: 7665 6e74 290a 2020 224b 696c 6c73 2074 vent). "Kills t │ │ │ -00022e30: 6865 2041 6764 6120 7072 6f63 6573 7320 he Agda process │ │ │ -00022e40: 6275 6666 6572 2c20 6966 2061 6e79 2e0a buffer, if any.. │ │ │ -00022e50: 4275 7420 6f6e 6c79 2069 6620 7468 6520 But only if the │ │ │ -00022e60: 4167 6461 2070 726f 6365 7373 2064 6f65 Agda process doe │ │ │ -00022e70: 7320 6e6f 7420 6578 6973 7420 6f72 2068 s not exist or h │ │ │ -00022e80: 6173 2074 6572 6d69 6e61 7465 642e 0a0a as terminated... │ │ │ -00022e90: 5468 6973 2066 756e 6374 696f 6e20 6361 This function ca │ │ │ -00022ea0: 6e20 6265 2075 7365 6420 6173 2061 2070 n be used as a p │ │ │ -00022eb0: 726f 6365 7373 2073 656e 7469 6e65 6c2e rocess sentinel. │ │ │ -00022ec0: 220a 2020 2877 6865 6e20 2861 6e64 2028 ". (when (and ( │ │ │ -00022ed0: 6f72 2028 6e75 6c6c 2061 6764 6132 2d70 or (null agda2-p │ │ │ -00022ee0: 726f 6365 7373 290a 2020 2020 2020 2020 rocess). │ │ │ -00022ef0: 2020 2020 2020 2020 2028 6d65 6d62 6572 (member │ │ │ -00022f00: 2028 7072 6f63 6573 732d 7374 6174 7573 (process-status │ │ │ -00022f10: 2061 6764 6132 2d70 726f 6365 7373 290a agda2-process). │ │ │ -00022f20: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00022f30: 2020 2020 2020 2020 2027 2865 7869 7420 '(exit │ │ │ -00022f40: 7369 676e 616c 2066 6169 6c65 6420 6e69 signal failed ni │ │ │ -00022f50: 6c29 2929 0a20 2020 2020 2020 2020 2020 l))). │ │ │ -00022f60: 2020 2862 7566 6665 722d 6c69 7665 2d70 (buffer-live-p │ │ │ -00022f70: 2061 6764 6132 2d70 726f 6365 7373 2d62 agda2-process-b │ │ │ -00022f80: 7566 6665 7229 290a 2020 2020 286b 696c uffer)). (kil │ │ │ -00022f90: 6c2d 6275 6666 6572 2061 6764 6132 2d70 l-buffer agda2-p │ │ │ -00022fa0: 726f 6365 7373 2d62 7566 6665 7229 2929 rocess-buffer))) │ │ │ -00022fb0: 0a0a 2863 6c2d 6465 666d 6163 726f 2061 ..(cl-defmacro a │ │ │ -00022fc0: 6764 6132 2d2d 7769 7468 2d67 656e 7379 gda2--with-gensy │ │ │ -00022fd0: 6d73 2028 2826 7265 7374 206e 616d 6573 ms ((&rest names │ │ │ -00022fe0: 2920 2662 6f64 7920 626f 6479 290a 2020 ) &body body). │ │ │ -00022ff0: 2242 696e 6420 4e41 4d45 5320 746f 2066 "Bind NAMES to f │ │ │ -00023000: 7265 7368 2073 796d 626f 6c73 2069 6e20 resh symbols in │ │ │ -00023010: 424f 4459 220a 2020 2864 6563 6c61 7265 BODY". (declare │ │ │ -00023020: 2028 696e 6465 6e74 2031 2929 0a20 2060 (indent 1)). ` │ │ │ -00023030: 286c 6574 202c 2863 6c2d 6c6f 6f70 2066 (let ,(cl-loop f │ │ │ -00023040: 6f72 2078 2069 6e20 6e61 6d65 7320 636f or x in names co │ │ │ -00023050: 6c6c 6563 7469 6e67 2060 282c 7820 286d llecting `(,x (m │ │ │ -00023060: 616b 652d 7379 6d62 6f6c 2028 7379 6d62 ake-symbol (symb │ │ │ -00023070: 6f6c 2d6e 616d 6527 2c78 2929 2929 0a20 ol-name',x)))). │ │ │ -00023080: 2020 2020 2c40 626f 6479 2929 0a0a 3b3b ,@body))..;; │ │ │ -00023090: 2054 6869 7320 6d61 6372 6f20 6973 206d This macro is m │ │ │ -000230a0: 6561 6e74 2074 6f20 6265 2075 7365 6420 eant to be used │ │ │ -000230b0: 746f 2067 656e 6572 6174 6520 6f74 6865 to generate othe │ │ │ -000230c0: 7220 6d61 6372 6f73 2077 6869 6368 2064 r macros which d │ │ │ -000230d0: 6566 696e 650a 3b3b 2066 756e 6374 696f efine.;; functio │ │ │ -000230e0: 6e73 2077 6869 6368 2063 616e 2062 6520 ns which can be │ │ │ -000230f0: 7573 6564 2065 6974 6865 7220 6469 7265 used either dire │ │ │ -00023100: 6374 6c79 2066 726f 6d20 6120 676f 616c ctly from a goal │ │ │ -00023110: 206f 7220 6174 2061 2067 6c6f 6261 6c0a or at a global. │ │ │ -00023120: 3b3b 206c 6576 656c 2061 6e64 2061 7265 ;; level and are │ │ │ -00023130: 206d 6f64 6966 6961 626c 6520 7573 696e modifiable usin │ │ │ -00023140: 6720 6f6e 6520 6f66 2074 6872 6565 206c g one of three l │ │ │ -00023150: 6576 656c 7320 6f66 206e 6f72 6d61 6c69 evels of normali │ │ │ -00023160: 7361 7469 6f6e 2e0a 0a28 6465 666d 6163 sation...(defmac │ │ │ -00023170: 726f 2061 6764 6132 2d70 726f 746f 2d6d ro agda2-proto-m │ │ │ -00023180: 6179 6265 2d6e 6f72 6d61 6c69 7365 6420 aybe-normalised │ │ │ -00023190: 286e 616d 6520 636f 6d6d 656e 7420 636d (name comment cm │ │ │ -000231a0: 6420 6e6f 726d 3020 6e6f 726d 3120 6e6f d norm0 norm1 no │ │ │ -000231b0: 726d 3220 6e6f 726d 3320 7370 6563 290a rm2 norm3 spec). │ │ │ -000231c0: 2020 2254 6869 7320 6d61 6372 6f20 636f "This macro co │ │ │ -000231d0: 6e73 7472 7563 7473 2061 2066 756e 6374 nstructs a funct │ │ │ -000231e0: 696f 6e20 4e41 4d45 2077 6869 6368 2072 ion NAME which r │ │ │ -000231f0: 756e 7320 434d 442e 0a43 4f4d 4d45 4e54 uns CMD..COMMENT │ │ │ -00023200: 2069 7320 7573 6564 2074 6f20 6275 696c is used to buil │ │ │ -00023210: 6420 7468 6520 6675 6e63 7469 6f6e 2773 d the function's │ │ │ -00023220: 2063 6f6d 6d65 6e74 2e0a 5468 6520 6675 comment..The fu │ │ │ -00023230: 6e63 7469 6f6e 204e 414d 4520 7461 6b65 nction NAME take │ │ │ -00023240: 7320 6120 7072 6566 6978 2061 7267 756d s a prefix argum │ │ │ -00023250: 656e 7420 7768 6963 6820 7465 6c6c 7320 ent which tells │ │ │ -00023260: 7768 6574 6865 7220 6974 0a73 686f 756c whether it.shoul │ │ │ -00023270: 6420 6e6f 726d 616c 6973 6520 7479 7065 d normalise type │ │ │ -00023280: 7320 6163 636f 7264 696e 6720 746f 2065 s according to e │ │ │ -00023290: 6974 6865 7220 4e4f 524d 302c 204e 4f52 ither NORM0, NOR │ │ │ -000232a0: 4d31 2c20 4e4f 524d 322c 206f 7220 4e4f M1, NORM2, or NO │ │ │ -000232b0: 524d 330a 7768 656e 2072 756e 6e69 6e67 RM3.when running │ │ │ -000232c0: 2043 4d44 2074 6872 6f75 6768 2060 6167 CMD through `ag │ │ │ -000232d0: 6461 322d 676f 616c 2d63 6d64 602e 0a53 da2-goal-cmd`..S │ │ │ -000232e0: 5045 4320 6361 6e20 6265 2065 6974 6865 PEC can be eithe │ │ │ -000232f0: 7220 2866 726f 6d67 6f61 6c20 7761 6e74 r (fromgoal want │ │ │ -00023300: 2920 6f72 2028 676c 6f62 616c 2070 726f ) or (global pro │ │ │ -00023310: 6d70 7429 2e0a 220a 0a20 203b 3b20 4e61 mpt)..".. ;; Na │ │ │ -00023320: 6d65 7320 626f 756e 6420 696e 2061 206d mes bound in a m │ │ │ -00023330: 6163 726f 2073 686f 756c 6420 6265 2060 acro should be ` │ │ │ -00023340: 6075 6e69 6e74 6572 6e65 6427 2720 746f `uninterned'' to │ │ │ -00023350: 2061 766f 6964 206e 616d 6520 6361 7074 avoid name capt │ │ │ -00023360: 7572 650a 2020 3b3b 2057 6520 7573 6520 ure. ;; We use │ │ │ -00023370: 7468 6520 6d61 6372 6f20 6061 6764 6132 the macro `agda2 │ │ │ -00023380: 2d2d 7769 7468 2d67 656e 7379 6d73 2720 --with-gensyms' │ │ │ -00023390: 746f 2062 696e 6420 7468 6573 652e 0a20 to bind these.. │ │ │ -000233a0: 2028 6167 6461 322d 2d77 6974 682d 6765 (agda2--with-ge │ │ │ -000233b0: 6e73 796d 7320 2865 7661 6c20 7072 6566 nsyms (eval pref │ │ │ -000233c0: 6978 2061 7267 7329 0a20 2020 2060 2864 ix args). `(d │ │ │ -000233d0: 6566 756e 202c 6e61 6d65 2028 2c70 7265 efun ,name (,pre │ │ │ -000233e0: 6669 7820 2672 6573 7420 2c61 7267 7329 fix &rest ,args) │ │ │ -000233f0: 0a20 2020 2020 2020 2c28 666f 726d 6174 . ,(format │ │ │ -00023400: 2022 2573 2e0a 0a54 6865 2066 6f72 6d20 "%s...The form │ │ │ -00023410: 6f66 2074 6865 2072 6573 756c 7420 6465 of the result de │ │ │ -00023420: 7065 6e64 7320 6f6e 2074 6865 2070 7265 pends on the pre │ │ │ -00023430: 6669 7820 6172 6775 6d65 6e74 3a0a 0a2a fix argument:..* │ │ │ -00023440: 2049 6620 7468 6520 7072 6566 6978 2061 If the prefix a │ │ │ -00023450: 7267 756d 656e 7420 6973 2060 6e69 6c27 rgument is `nil' │ │ │ -00023460: 2028 692e 652e 2c20 6966 206e 6f20 7072 (i.e., if no pr │ │ │ -00023470: 6566 6978 2061 7267 756d 656e 7420 6973 efix argument is │ │ │ -00023480: 0a20 2067 6976 656e 292c 2074 6865 6e20 . given), then │ │ │ -00023490: 7468 6520 7265 7375 6c74 2069 7320 2573 the result is %s │ │ │ -000234a0: 2e0a 0a2a 2049 6620 7468 6520 7072 6566 ...* If the pref │ │ │ -000234b0: 6978 2061 7267 756d 656e 7420 6973 2060 ix argument is ` │ │ │ -000234c0: 2834 2927 2028 666f 7220 696e 7374 616e (4)' (for instan │ │ │ -000234d0: 6365 2069 6620 432d 7520 6973 2074 7970 ce if C-u is typ │ │ │ -000234e0: 6564 0a20 2065 7861 6374 6c79 206f 6e63 ed. exactly onc │ │ │ -000234f0: 6520 7269 6768 7420 6265 666f 7265 2074 e right before t │ │ │ -00023500: 6865 2063 6f6d 6d61 6e64 2069 7320 696e he command is in │ │ │ -00023510: 766f 6b65 6429 2c20 7468 656e 2074 6865 voked), then the │ │ │ -00023520: 0a20 2072 6573 756c 7420 6973 2025 732e . result is %s. │ │ │ -00023530: 0a0a 2a20 4966 2074 6865 2070 7265 6669 ..* If the prefi │ │ │ -00023540: 7820 6172 6775 6d65 6e74 2069 7320 6028 x argument is `( │ │ │ -00023550: 3136 2927 2028 666f 7220 696e 7374 616e 16)' (for instan │ │ │ -00023560: 6365 2069 6620 432d 7520 6973 2074 7970 ce if C-u is typ │ │ │ -00023570: 6564 0a20 2065 7861 6374 6c79 2074 7769 ed. exactly twi │ │ │ -00023580: 6365 2072 6967 6874 2062 6566 6f72 6520 ce right before │ │ │ -00023590: 7468 6520 636f 6d6d 616e 6420 6973 2069 the command is i │ │ │ -000235a0: 6e76 6f6b 6564 292c 2074 6865 6e20 7468 nvoked), then th │ │ │ -000235b0: 650a 2020 7265 7375 6c74 2069 7320 2573 e. result is %s │ │ │ -000235c0: 2e0a 0a2a 2049 6620 616e 7920 6f74 6865 ...* If any othe │ │ │ -000235d0: 7220 7072 6566 6978 2061 7267 756d 656e r prefix argumen │ │ │ -000235e0: 7420 6973 2075 7365 6420 2866 6f72 2069 t is used (for i │ │ │ -000235f0: 6e73 7461 6e63 6520 6966 2043 2d75 2069 nstance if C-u i │ │ │ -00023600: 730a 2020 7479 7065 6420 7468 7269 6365 s. typed thrice │ │ │ -00023610: 2072 6967 6874 2062 6566 6f72 6520 7468 right before th │ │ │ -00023620: 6520 636f 6d6d 616e 6420 6973 2069 6e76 e command is inv │ │ │ -00023630: 6f6b 6564 292c 2074 6865 6e20 7468 650a oked), then the. │ │ │ -00023640: 2020 7265 7375 6c74 2069 7320 2573 2e22 result is %s." │ │ │ -00023650: 2063 6f6d 6d65 6e74 2028 6e74 6820 3120 comment (nth 1 │ │ │ -00023660: 6e6f 726d 3029 2028 6e74 6820 3120 6e6f norm0) (nth 1 no │ │ │ -00023670: 726d 3129 2028 6e74 6820 3120 6e6f 726d rm1) (nth 1 norm │ │ │ -00023680: 3229 2028 6e74 6820 3120 6e6f 726d 3329 2) (nth 1 norm3) │ │ │ -00023690: 290a 0a20 2020 2020 2020 3b3b 2041 6c6c ).. ;; All │ │ │ -000236a0: 2074 6865 2063 6f6d 6d61 6e64 7320 6765 the commands ge │ │ │ -000236b0: 6e65 7261 7465 6420 6279 2074 6865 206d nerated by the m │ │ │ -000236c0: 6163 726f 2061 7265 2069 6e74 6572 6163 acro are interac │ │ │ -000236d0: 7469 7665 2e0a 2020 2020 2020 203b 3b20 tive.. ;; │ │ │ -000236e0: 5468 6f73 6520 6361 6c6c 6564 2066 726f Those called fro │ │ │ -000236f0: 6d20 6120 676f 616c 2c20 6772 6162 2074 m a goal, grab t │ │ │ -00023700: 6865 2076 616c 7565 2070 7265 7365 6e74 he value present │ │ │ -00023710: 2074 6865 7265 2028 6966 2061 6e79 290a there (if any). │ │ │ -00023720: 2020 2020 2020 203b 3b20 5768 6572 6561 ;; Wherea │ │ │ -00023730: 7320 7468 6f73 6520 6361 6c6c 6564 2067 s those called g │ │ │ -00023740: 6c6f 6261 6c6c 7920 616c 7761 7973 2075 lobally always u │ │ │ -00023750: 7365 2061 2070 726f 6d70 740a 2020 2020 se a prompt. │ │ │ -00023760: 2020 2028 696e 7465 7261 6374 6976 6520 (interactive │ │ │ -00023770: 2c28 7063 6173 6520 7370 6563 0a20 2020 ,(pcase spec. │ │ │ +00022ca0: 2020 2020 2020 2020 2022 496e 6469 7265 "Indire │ │ │ +00022cb0: 6374 220a 2020 2020 2020 2020 2020 2020 ct". │ │ │ +00022cc0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +00022cd0: 2243 6d64 5f65 7869 7422 2929 0a20 2020 "Cmd_exit")). │ │ │ +00022ce0: 203b 3b20 5472 7920 746f 206b 696c 6c20 ;; Try to kill │ │ │ +00022cf0: 7468 6520 4167 6461 2070 726f 6365 7373 the Agda process │ │ │ +00022d00: 2061 6e64 2074 6865 2070 726f 6365 7373 and the process │ │ │ +00022d10: 2062 7566 6665 722e 0a20 2020 2028 7768 buffer.. (wh │ │ │ +00022d20: 656e 2028 616e 6420 6167 6461 322d 7072 en (and agda2-pr │ │ │ +00022d30: 6f63 6573 730a 2020 2020 2020 2020 2020 ocess. │ │ │ +00022d40: 2020 2020 2028 7072 6f63 6573 732d 7374 (process-st │ │ │ +00022d50: 6174 7573 2061 6764 6132 2d70 726f 6365 atus agda2-proce │ │ │ +00022d60: 7373 2929 0a20 2020 2020 2028 696e 7465 ss)). (inte │ │ │ +00022d70: 7272 7570 742d 7072 6f63 6573 7320 6167 rrupt-process ag │ │ │ +00022d80: 6461 322d 7072 6f63 6573 7329 290a 2020 da2-process)). │ │ │ +00022d90: 2020 2877 6865 6e20 2862 7566 6665 722d (when (buffer- │ │ │ +00022da0: 6c69 7665 2d70 2061 6764 6132 2d70 726f live-p agda2-pro │ │ │ +00022db0: 6365 7373 2d62 7566 6665 7229 0a20 2020 cess-buffer). │ │ │ +00022dc0: 2020 2028 6b69 6c6c 2d62 7566 6665 7220 (kill-buffer │ │ │ +00022dd0: 6167 6461 322d 7072 6f63 6573 732d 6275 agda2-process-bu │ │ │ +00022de0: 6666 6572 2929 2929 0a0a 2864 6566 756e ffer))))..(defun │ │ │ +00022df0: 2061 6764 6132 2d6b 696c 6c2d 7072 6f63 agda2-kill-proc │ │ │ +00022e00: 6573 732d 6275 6666 6572 2028 266f 7074 ess-buffer (&opt │ │ │ +00022e10: 696f 6e61 6c20 5f70 726f 6365 7373 205f ional _process _ │ │ │ +00022e20: 6576 656e 7429 0a20 2022 4b69 6c6c 7320 event). "Kills │ │ │ +00022e30: 7468 6520 4167 6461 2070 726f 6365 7373 the Agda process │ │ │ +00022e40: 2062 7566 6665 722c 2069 6620 616e 792e buffer, if any. │ │ │ +00022e50: 0a42 7574 206f 6e6c 7920 6966 2074 6865 .But only if the │ │ │ +00022e60: 2041 6764 6120 7072 6f63 6573 7320 646f Agda process do │ │ │ +00022e70: 6573 206e 6f74 2065 7869 7374 206f 7220 es not exist or │ │ │ +00022e80: 6861 7320 7465 726d 696e 6174 6564 2e0a has terminated.. │ │ │ +00022e90: 0a54 6869 7320 6675 6e63 7469 6f6e 2063 .This function c │ │ │ +00022ea0: 616e 2062 6520 7573 6564 2061 7320 6120 an be used as a │ │ │ +00022eb0: 7072 6f63 6573 7320 7365 6e74 696e 656c process sentinel │ │ │ +00022ec0: 2e22 0a20 2028 7768 656e 2028 616e 6420 .". (when (and │ │ │ +00022ed0: 286f 7220 286e 756c 6c20 6167 6461 322d (or (null agda2- │ │ │ +00022ee0: 7072 6f63 6573 7329 0a20 2020 2020 2020 process). │ │ │ +00022ef0: 2020 2020 2020 2020 2020 286d 656d 6265 (membe │ │ │ +00022f00: 7220 2870 726f 6365 7373 2d73 7461 7475 r (process-statu │ │ │ +00022f10: 7320 6167 6461 322d 7072 6f63 6573 7329 s agda2-process) │ │ │ +00022f20: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ +00022f30: 2020 2020 2020 2020 2020 2728 6578 6974 '(exit │ │ │ +00022f40: 2073 6967 6e61 6c20 6661 696c 6564 206e signal failed n │ │ │ +00022f50: 696c 2929 290a 2020 2020 2020 2020 2020 il))). │ │ │ +00022f60: 2020 2028 6275 6666 6572 2d6c 6976 652d (buffer-live- │ │ │ +00022f70: 7020 6167 6461 322d 7072 6f63 6573 732d p agda2-process- │ │ │ +00022f80: 6275 6666 6572 2929 0a20 2020 2028 6b69 buffer)). (ki │ │ │ +00022f90: 6c6c 2d62 7566 6665 7220 6167 6461 322d ll-buffer agda2- │ │ │ +00022fa0: 7072 6f63 6573 732d 6275 6666 6572 2929 process-buffer)) │ │ │ +00022fb0: 290a 0a28 636c 2d64 6566 6d61 6372 6f20 )..(cl-defmacro │ │ │ +00022fc0: 6167 6461 322d 2d77 6974 682d 6765 6e73 agda2--with-gens │ │ │ +00022fd0: 796d 7320 2828 2672 6573 7420 6e61 6d65 yms ((&rest name │ │ │ +00022fe0: 7329 2026 626f 6479 2062 6f64 7929 0a20 s) &body body). │ │ │ +00022ff0: 2022 4269 6e64 204e 414d 4553 2074 6f20 "Bind NAMES to │ │ │ +00023000: 6672 6573 6820 7379 6d62 6f6c 7320 696e fresh symbols in │ │ │ +00023010: 2042 4f44 5922 0a20 2028 6465 636c 6172 BODY". (declar │ │ │ +00023020: 6520 2869 6e64 656e 7420 3129 290a 2020 e (indent 1)). │ │ │ +00023030: 6028 6c65 7420 2c28 636c 2d6c 6f6f 7020 `(let ,(cl-loop │ │ │ +00023040: 666f 7220 7820 696e 206e 616d 6573 2063 for x in names c │ │ │ +00023050: 6f6c 6c65 6374 696e 6720 6028 2c78 2028 ollecting `(,x ( │ │ │ +00023060: 6d61 6b65 2d73 796d 626f 6c20 2873 796d make-symbol (sym │ │ │ +00023070: 626f 6c2d 6e61 6d65 272c 7829 2929 290a bol-name',x)))). │ │ │ +00023080: 2020 2020 202c 4062 6f64 7929 290a 0a3b ,@body))..; │ │ │ +00023090: 3b20 5468 6973 206d 6163 726f 2069 7320 ; This macro is │ │ │ +000230a0: 6d65 616e 7420 746f 2062 6520 7573 6564 meant to be used │ │ │ +000230b0: 2074 6f20 6765 6e65 7261 7465 206f 7468 to generate oth │ │ │ +000230c0: 6572 206d 6163 726f 7320 7768 6963 6820 er macros which │ │ │ +000230d0: 6465 6669 6e65 0a3b 3b20 6675 6e63 7469 define.;; functi │ │ │ +000230e0: 6f6e 7320 7768 6963 6820 6361 6e20 6265 ons which can be │ │ │ +000230f0: 2075 7365 6420 6569 7468 6572 2064 6972 used either dir │ │ │ +00023100: 6563 746c 7920 6672 6f6d 2061 2067 6f61 ectly from a goa │ │ │ +00023110: 6c20 6f72 2061 7420 6120 676c 6f62 616c l or at a global │ │ │ +00023120: 0a3b 3b20 6c65 7665 6c20 616e 6420 6172 .;; level and ar │ │ │ +00023130: 6520 6d6f 6469 6669 6162 6c65 2075 7369 e modifiable usi │ │ │ +00023140: 6e67 206f 6e65 206f 6620 7468 7265 6520 ng one of three │ │ │ +00023150: 6c65 7665 6c73 206f 6620 6e6f 726d 616c levels of normal │ │ │ +00023160: 6973 6174 696f 6e2e 0a0a 2864 6566 6d61 isation...(defma │ │ │ +00023170: 6372 6f20 6167 6461 322d 7072 6f74 6f2d cro agda2-proto- │ │ │ +00023180: 6d61 7962 652d 6e6f 726d 616c 6973 6564 maybe-normalised │ │ │ +00023190: 2028 6e61 6d65 2063 6f6d 6d65 6e74 2063 (name comment c │ │ │ +000231a0: 6d64 206e 6f72 6d30 206e 6f72 6d31 206e md norm0 norm1 n │ │ │ +000231b0: 6f72 6d32 206e 6f72 6d33 2073 7065 6329 orm2 norm3 spec) │ │ │ +000231c0: 0a20 2022 5468 6973 206d 6163 726f 2063 . "This macro c │ │ │ +000231d0: 6f6e 7374 7275 6374 7320 6120 6675 6e63 onstructs a func │ │ │ +000231e0: 7469 6f6e 204e 414d 4520 7768 6963 6820 tion NAME which │ │ │ +000231f0: 7275 6e73 2043 4d44 2e0a 434f 4d4d 454e runs CMD..COMMEN │ │ │ +00023200: 5420 6973 2075 7365 6420 746f 2062 7569 T is used to bui │ │ │ +00023210: 6c64 2074 6865 2066 756e 6374 696f 6e27 ld the function' │ │ │ +00023220: 7320 636f 6d6d 656e 742e 0a54 6865 2066 s comment..The f │ │ │ +00023230: 756e 6374 696f 6e20 4e41 4d45 2074 616b unction NAME tak │ │ │ +00023240: 6573 2061 2070 7265 6669 7820 6172 6775 es a prefix argu │ │ │ +00023250: 6d65 6e74 2077 6869 6368 2074 656c 6c73 ment which tells │ │ │ +00023260: 2077 6865 7468 6572 2069 740a 7368 6f75 whether it.shou │ │ │ +00023270: 6c64 206e 6f72 6d61 6c69 7365 2074 7970 ld normalise typ │ │ │ +00023280: 6573 2061 6363 6f72 6469 6e67 2074 6f20 es according to │ │ │ +00023290: 6569 7468 6572 204e 4f52 4d30 2c20 4e4f either NORM0, NO │ │ │ +000232a0: 524d 312c 204e 4f52 4d32 2c20 6f72 204e RM1, NORM2, or N │ │ │ +000232b0: 4f52 4d33 0a77 6865 6e20 7275 6e6e 696e ORM3.when runnin │ │ │ +000232c0: 6720 434d 4420 7468 726f 7567 6820 6061 g CMD through `a │ │ │ +000232d0: 6764 6132 2d67 6f61 6c2d 636d 6460 2e0a gda2-goal-cmd`.. │ │ │ +000232e0: 5350 4543 2063 616e 2062 6520 6569 7468 SPEC can be eith │ │ │ +000232f0: 6572 2028 6672 6f6d 676f 616c 2077 616e er (fromgoal wan │ │ │ +00023300: 7429 206f 7220 2867 6c6f 6261 6c20 7072 t) or (global pr │ │ │ +00023310: 6f6d 7074 292e 0a22 0a0a 2020 3b3b 204e ompt)..".. ;; N │ │ │ +00023320: 616d 6573 2062 6f75 6e64 2069 6e20 6120 ames bound in a │ │ │ +00023330: 6d61 6372 6f20 7368 6f75 6c64 2062 6520 macro should be │ │ │ +00023340: 6060 756e 696e 7465 726e 6564 2727 2074 ``uninterned'' t │ │ │ +00023350: 6f20 6176 6f69 6420 6e61 6d65 2063 6170 o avoid name cap │ │ │ +00023360: 7475 7265 0a20 203b 3b20 5765 2075 7365 ture. ;; We use │ │ │ +00023370: 2074 6865 206d 6163 726f 2060 6167 6461 the macro `agda │ │ │ +00023380: 322d 2d77 6974 682d 6765 6e73 796d 7327 2--with-gensyms' │ │ │ +00023390: 2074 6f20 6269 6e64 2074 6865 7365 2e0a to bind these.. │ │ │ +000233a0: 2020 2861 6764 6132 2d2d 7769 7468 2d67 (agda2--with-g │ │ │ +000233b0: 656e 7379 6d73 2028 6576 616c 2070 7265 ensyms (eval pre │ │ │ +000233c0: 6669 7820 6172 6773 290a 2020 2020 6028 fix args). `( │ │ │ +000233d0: 6465 6675 6e20 2c6e 616d 6520 282c 7072 defun ,name (,pr │ │ │ +000233e0: 6566 6978 2026 7265 7374 202c 6172 6773 efix &rest ,args │ │ │ +000233f0: 290a 2020 2020 2020 202c 2866 6f72 6d61 ). ,(forma │ │ │ +00023400: 7420 2225 732e 0a0a 5468 6520 666f 726d t "%s...The form │ │ │ +00023410: 206f 6620 7468 6520 7265 7375 6c74 2064 of the result d │ │ │ +00023420: 6570 656e 6473 206f 6e20 7468 6520 7072 epends on the pr │ │ │ +00023430: 6566 6978 2061 7267 756d 656e 743a 0a0a efix argument:.. │ │ │ +00023440: 2a20 4966 2074 6865 2070 7265 6669 7820 * If the prefix │ │ │ +00023450: 6172 6775 6d65 6e74 2069 7320 606e 696c argument is `nil │ │ │ +00023460: 2720 2869 2e65 2e2c 2069 6620 6e6f 2070 ' (i.e., if no p │ │ │ +00023470: 7265 6669 7820 6172 6775 6d65 6e74 2069 refix argument i │ │ │ +00023480: 730a 2020 6769 7665 6e29 2c20 7468 656e s. given), then │ │ │ +00023490: 2074 6865 2072 6573 756c 7420 6973 2025 the result is % │ │ │ +000234a0: 732e 0a0a 2a20 4966 2074 6865 2070 7265 s...* If the pre │ │ │ +000234b0: 6669 7820 6172 6775 6d65 6e74 2069 7320 fix argument is │ │ │ +000234c0: 6028 3429 2720 2866 6f72 2069 6e73 7461 `(4)' (for insta │ │ │ +000234d0: 6e63 6520 6966 2043 2d75 2069 7320 7479 nce if C-u is ty │ │ │ +000234e0: 7065 640a 2020 6578 6163 746c 7920 6f6e ped. exactly on │ │ │ +000234f0: 6365 2072 6967 6874 2062 6566 6f72 6520 ce right before │ │ │ +00023500: 7468 6520 636f 6d6d 616e 6420 6973 2069 the command is i │ │ │ +00023510: 6e76 6f6b 6564 292c 2074 6865 6e20 7468 nvoked), then th │ │ │ +00023520: 650a 2020 7265 7375 6c74 2069 7320 2573 e. result is %s │ │ │ +00023530: 2e0a 0a2a 2049 6620 7468 6520 7072 6566 ...* If the pref │ │ │ +00023540: 6978 2061 7267 756d 656e 7420 6973 2060 ix argument is ` │ │ │ +00023550: 2831 3629 2720 2866 6f72 2069 6e73 7461 (16)' (for insta │ │ │ +00023560: 6e63 6520 6966 2043 2d75 2069 7320 7479 nce if C-u is ty │ │ │ +00023570: 7065 640a 2020 6578 6163 746c 7920 7477 ped. exactly tw │ │ │ +00023580: 6963 6520 7269 6768 7420 6265 666f 7265 ice right before │ │ │ +00023590: 2074 6865 2063 6f6d 6d61 6e64 2069 7320 the command is │ │ │ +000235a0: 696e 766f 6b65 6429 2c20 7468 656e 2074 invoked), then t │ │ │ +000235b0: 6865 0a20 2072 6573 756c 7420 6973 2025 he. result is % │ │ │ +000235c0: 732e 0a0a 2a20 4966 2061 6e79 206f 7468 s...* If any oth │ │ │ +000235d0: 6572 2070 7265 6669 7820 6172 6775 6d65 er prefix argume │ │ │ +000235e0: 6e74 2069 7320 7573 6564 2028 666f 7220 nt is used (for │ │ │ +000235f0: 696e 7374 616e 6365 2069 6620 432d 7520 instance if C-u │ │ │ +00023600: 6973 0a20 2074 7970 6564 2074 6872 6963 is. typed thric │ │ │ +00023610: 6520 7269 6768 7420 6265 666f 7265 2074 e right before t │ │ │ +00023620: 6865 2063 6f6d 6d61 6e64 2069 7320 696e he command is in │ │ │ +00023630: 766f 6b65 6429 2c20 7468 656e 2074 6865 voked), then the │ │ │ +00023640: 0a20 2072 6573 756c 7420 6973 2025 732e . result is %s. │ │ │ +00023650: 2220 636f 6d6d 656e 7420 286e 7468 2031 " comment (nth 1 │ │ │ +00023660: 206e 6f72 6d30 2920 286e 7468 2031 206e norm0) (nth 1 n │ │ │ +00023670: 6f72 6d31 2920 286e 7468 2031 206e 6f72 orm1) (nth 1 nor │ │ │ +00023680: 6d32 2920 286e 7468 2031 206e 6f72 6d33 m2) (nth 1 norm3 │ │ │ +00023690: 2929 0a0a 2020 2020 2020 203b 3b20 416c )).. ;; Al │ │ │ +000236a0: 6c20 7468 6520 636f 6d6d 616e 6473 2067 l the commands g │ │ │ +000236b0: 656e 6572 6174 6564 2062 7920 7468 6520 enerated by the │ │ │ +000236c0: 6d61 6372 6f20 6172 6520 696e 7465 7261 macro are intera │ │ │ +000236d0: 6374 6976 652e 0a20 2020 2020 2020 3b3b ctive.. ;; │ │ │ +000236e0: 2054 686f 7365 2063 616c 6c65 6420 6672 Those called fr │ │ │ +000236f0: 6f6d 2061 2067 6f61 6c2c 2067 7261 6220 om a goal, grab │ │ │ +00023700: 7468 6520 7661 6c75 6520 7072 6573 656e the value presen │ │ │ +00023710: 7420 7468 6572 6520 2869 6620 616e 7929 t there (if any) │ │ │ +00023720: 0a20 2020 2020 2020 3b3b 2057 6865 7265 . ;; Where │ │ │ +00023730: 6173 2074 686f 7365 2063 616c 6c65 6420 as those called │ │ │ +00023740: 676c 6f62 616c 6c79 2061 6c77 6179 7320 globally always │ │ │ +00023750: 7573 6520 6120 7072 6f6d 7074 0a20 2020 use a prompt. │ │ │ +00023760: 2020 2020 2869 6e74 6572 6163 7469 7665 (interactive │ │ │ +00023770: 202c 2870 6361 7365 2073 7065 630a 2020 ,(pcase spec. │ │ │ 00023780: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00023790: 2020 2020 2860 2866 726f 6d67 6f61 6c20 (`(fromgoal │ │ │ -000237a0: 2c5f 7761 6e74 290a 2020 2020 2020 2020 ,_want). │ │ │ +00023790: 2020 2020 2028 6028 6672 6f6d 676f 616c (`(fromgoal │ │ │ +000237a0: 202c 5f77 616e 7429 0a20 2020 2020 2020 ,_want). │ │ │ 000237b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -000237c0: 2250 2229 0a20 2020 2020 2020 2020 2020 "P"). │ │ │ -000237d0: 2020 2020 2020 2020 2020 2020 2860 2867 (`(g │ │ │ -000237e0: 6c6f 6261 6c20 2c70 726f 6d70 7429 0a20 lobal ,prompt). │ │ │ +000237c0: 2022 5022 290a 2020 2020 2020 2020 2020 "P"). │ │ │ +000237d0: 2020 2020 2020 2020 2020 2020 2028 6028 (`( │ │ │ +000237e0: 676c 6f62 616c 202c 7072 6f6d 7074 290a global ,prompt). │ │ │ 000237f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00023800: 2020 2020 2020 2028 6966 2070 726f 6d70 (if promp │ │ │ -00023810: 740a 2020 2020 2020 2020 2020 2020 2020 t. │ │ │ -00023820: 2020 2020 2020 2020 2020 2020 2020 2863 (c │ │ │ -00023830: 6f6e 6361 7420 2250 5c6e 4d22 2070 726f oncat "P\nM" pro │ │ │ -00023840: 6d70 7420 223a 2022 290a 2020 2020 2020 mpt ": "). │ │ │ +00023800: 2020 2020 2020 2020 2869 6620 7072 6f6d (if prom │ │ │ +00023810: 7074 0a20 2020 2020 2020 2020 2020 2020 pt. │ │ │ +00023820: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ +00023830: 636f 6e63 6174 2022 505c 6e4d 2220 7072 concat "P\nM" pr │ │ │ +00023840: 6f6d 7074 2022 3a20 2229 0a20 2020 2020 ompt ": "). │ │ │ 00023850: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00023860: 2020 2020 2250 2229 2929 290a 2020 2020 "P")))). │ │ │ -00023870: 2020 203b 3b20 4465 7065 6e64 696e 6720 ;; Depending │ │ │ -00023880: 6f6e 2074 6865 2070 7265 6669 7827 7320 on the prefix's │ │ │ -00023890: 7661 6c75 6520 7765 2070 6963 6b20 6f6e value we pick on │ │ │ -000238a0: 6520 6f66 2074 6865 2074 6872 6565 0a20 e of the three. │ │ │ -000238b0: 2020 2020 2020 3b3b 206e 6f72 6d61 6c69 ;; normali │ │ │ -000238c0: 7361 7469 6f6e 206c 6576 656c 730a 2020 sation levels. │ │ │ -000238d0: 2020 2020 2028 6c65 7420 2828 2c65 7661 (let ((,eva │ │ │ -000238e0: 6c20 2863 6f6e 6420 2828 6e75 6c6c 202c l (cond ((null , │ │ │ -000238f0: 7072 6566 6978 290a 2020 2020 2020 2020 prefix). │ │ │ +00023860: 2020 2020 2022 5022 2929 2929 0a20 2020 "P")))). │ │ │ +00023870: 2020 2020 3b3b 2044 6570 656e 6469 6e67 ;; Depending │ │ │ +00023880: 206f 6e20 7468 6520 7072 6566 6978 2773 on the prefix's │ │ │ +00023890: 2076 616c 7565 2077 6520 7069 636b 206f value we pick o │ │ │ +000238a0: 6e65 206f 6620 7468 6520 7468 7265 650a ne of the three. │ │ │ +000238b0: 2020 2020 2020 203b 3b20 6e6f 726d 616c ;; normal │ │ │ +000238c0: 6973 6174 696f 6e20 6c65 7665 6c73 0a20 isation levels. │ │ │ +000238d0: 2020 2020 2020 286c 6574 2028 282c 6576 (let ((,ev │ │ │ +000238e0: 616c 2028 636f 6e64 2028 286e 756c 6c20 al (cond ((null │ │ │ +000238f0: 2c70 7265 6669 7829 0a20 2020 2020 2020 ,prefix). │ │ │ 00023900: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00023910: 2020 202c 2863 6172 206e 6f72 6d30 2929 ,(car norm0)) │ │ │ -00023920: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ -00023930: 2020 2020 2020 2020 2020 2028 2865 7175 ((equ │ │ │ -00023940: 616c 202c 7072 6566 6978 2027 2834 2929 al ,prefix '(4)) │ │ │ -00023950: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ -00023960: 2020 2020 2020 2020 2020 2020 2c28 6361 ,(ca │ │ │ -00023970: 7220 6e6f 726d 3129 290a 2020 2020 2020 r norm1)). │ │ │ +00023910: 2020 2020 2c28 6361 7220 6e6f 726d 3029 ,(car norm0) │ │ │ +00023920: 290a 2020 2020 2020 2020 2020 2020 2020 ). │ │ │ +00023930: 2020 2020 2020 2020 2020 2020 2828 6571 ((eq │ │ │ +00023940: 7561 6c20 2c70 7265 6669 7820 2728 3429 ual ,prefix '(4) │ │ │ +00023950: 290a 2020 2020 2020 2020 2020 2020 2020 ). │ │ │ +00023960: 2020 2020 2020 2020 2020 2020 202c 2863 ,(c │ │ │ +00023970: 6172 206e 6f72 6d31 2929 0a20 2020 2020 ar norm1)). │ │ │ 00023980: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00023990: 2020 2020 2828 6571 7561 6c20 2c70 7265 ((equal ,pre │ │ │ -000239a0: 6669 7820 2728 3136 2929 0a20 2020 2020 fix '(16)). │ │ │ +00023990: 2020 2020 2028 2865 7175 616c 202c 7072 ((equal ,pr │ │ │ +000239a0: 6566 6978 2027 2831 3629 290a 2020 2020 efix '(16)). │ │ │ 000239b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -000239c0: 2020 2020 2020 2c28 6361 7220 6e6f 726d ,(car norm │ │ │ -000239d0: 3229 290a 2020 2020 2020 2020 2020 2020 2)). │ │ │ -000239e0: 2020 2020 2020 2020 2020 2020 2020 2874 (t │ │ │ -000239f0: 202c 2863 6172 206e 6f72 6d33 2929 2929 ,(car norm3)))) │ │ │ -00023a00: 290a 2020 2020 2020 203b 3b20 4669 6e61 ). ;; Fina │ │ │ -00023a10: 6c6c 792c 2069 6620 7468 6520 636f 6d6d lly, if the comm │ │ │ -00023a20: 616e 6420 6973 2063 616c 6c65 6420 6672 and is called fr │ │ │ -00023a30: 6f6d 2061 2067 6f61 6c2c 2077 6520 7573 om a goal, we us │ │ │ -00023a40: 6520 6061 6764 6132 2d67 6f61 6c2d 636d e `agda2-goal-cm │ │ │ -00023a50: 6427 0a20 2020 2020 2020 3b3b 204f 7468 d'. ;; Oth │ │ │ -00023a60: 6572 7769 7365 2077 6520 7265 736f 7274 erwise we resort │ │ │ -00023a70: 2074 6f20 6061 6764 6132 2d67 6f27 0a20 to `agda2-go'. │ │ │ -00023a80: 2020 2020 2020 2020 2c28 7063 6173 6520 ,(pcase │ │ │ -00023a90: 7370 6563 0a20 2020 2020 2020 2020 2020 spec. │ │ │ -00023aa0: 2028 6028 6672 6f6d 676f 616c 202c 7761 (`(fromgoal ,wa │ │ │ -00023ab0: 6e74 290a 2020 2020 2020 2020 2020 2020 nt). │ │ │ -00023ac0: 2060 2861 6764 6132 2d67 6f61 6c2d 636d `(agda2-goal-cm │ │ │ -00023ad0: 6420 2863 6f6e 6361 7420 2c63 6d64 2022 d (concat ,cmd " │ │ │ -00023ae0: 2022 202c 6576 616c 2920 6e69 6c20 2c77 " ,eval) nil ,w │ │ │ -00023af0: 616e 7429 290a 2020 2020 2020 2020 2020 ant)). │ │ │ -00023b00: 2020 2860 2867 6c6f 6261 6c20 2c70 726f (`(global ,pro │ │ │ -00023b10: 6d70 7429 0a20 2020 2020 2020 2020 2020 mpt). │ │ │ -00023b20: 2020 6028 6167 6461 322d 676f 206e 696c `(agda2-go nil │ │ │ -00023b30: 2074 2027 6275 7379 2074 0a20 2020 2020 t 'busy t. │ │ │ +000239c0: 2020 2020 2020 202c 2863 6172 206e 6f72 ,(car nor │ │ │ +000239d0: 6d32 2929 0a20 2020 2020 2020 2020 2020 m2)). │ │ │ +000239e0: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ +000239f0: 7420 2c28 6361 7220 6e6f 726d 3329 2929 t ,(car norm3))) │ │ │ +00023a00: 2929 0a20 2020 2020 2020 3b3b 2046 696e )). ;; Fin │ │ │ +00023a10: 616c 6c79 2c20 6966 2074 6865 2063 6f6d ally, if the com │ │ │ +00023a20: 6d61 6e64 2069 7320 6361 6c6c 6564 2066 mand is called f │ │ │ +00023a30: 726f 6d20 6120 676f 616c 2c20 7765 2075 rom a goal, we u │ │ │ +00023a40: 7365 2060 6167 6461 322d 676f 616c 2d63 se `agda2-goal-c │ │ │ +00023a50: 6d64 270a 2020 2020 2020 203b 3b20 4f74 md'. ;; Ot │ │ │ +00023a60: 6865 7277 6973 6520 7765 2072 6573 6f72 herwise we resor │ │ │ +00023a70: 7420 746f 2060 6167 6461 322d 676f 270a t to `agda2-go'. │ │ │ +00023a80: 2020 2020 2020 2020 202c 2870 6361 7365 ,(pcase │ │ │ +00023a90: 2073 7065 630a 2020 2020 2020 2020 2020 spec. │ │ │ +00023aa0: 2020 2860 2866 726f 6d67 6f61 6c20 2c77 (`(fromgoal ,w │ │ │ +00023ab0: 616e 7429 0a20 2020 2020 2020 2020 2020 ant). │ │ │ +00023ac0: 2020 6028 6167 6461 322d 676f 616c 2d63 `(agda2-goal-c │ │ │ +00023ad0: 6d64 2028 636f 6e63 6174 202c 636d 6420 md (concat ,cmd │ │ │ +00023ae0: 2220 2220 2c65 7661 6c29 206e 696c 202c " " ,eval) nil , │ │ │ +00023af0: 7761 6e74 2929 0a20 2020 2020 2020 2020 want)). │ │ │ +00023b00: 2020 2028 6028 676c 6f62 616c 202c 7072 (`(global ,pr │ │ │ +00023b10: 6f6d 7074 290a 2020 2020 2020 2020 2020 ompt). │ │ │ +00023b20: 2020 2060 2861 6764 6132 2d67 6f20 6e69 `(agda2-go ni │ │ │ +00023b30: 6c20 7420 2762 7573 7920 740a 2020 2020 l t 'busy t. │ │ │ 00023b40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00023b50: 2020 2028 636f 6e63 6174 202c 636d 6420 (concat ,cmd │ │ │ -00023b60: 2220 220a 2020 2020 2020 2020 2020 2020 " ". │ │ │ +00023b50: 2020 2020 2863 6f6e 6361 7420 2c63 6d64 (concat ,cmd │ │ │ +00023b60: 2022 2022 0a20 2020 2020 2020 2020 2020 " ". │ │ │ 00023b70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00023b80: 2020 2020 2c65 7661 6c20 2220 220a 2020 ,eval " ". │ │ │ +00023b80: 2020 2020 202c 6576 616c 2022 2022 0a20 ,eval " ". │ │ │ 00023b90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00023ba0: 2020 2020 2020 2020 2020 2020 2020 2869 (i │ │ │ -00023bb0: 6620 2c70 726f 6d70 740a 2020 2020 2020 f ,prompt. │ │ │ +00023ba0: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ +00023bb0: 6966 202c 7072 6f6d 7074 0a20 2020 2020 if ,prompt. │ │ │ 00023bc0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00023bd0: 2020 2020 2020 2020 2020 2020 2020 2861 (a │ │ │ -00023be0: 6764 6132 2d73 7472 696e 672d 7175 6f74 gda2-string-quot │ │ │ -00023bf0: 6520 2863 6172 202c 6172 6773 2929 0a20 e (car ,args)). │ │ │ +00023bd0: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ +00023be0: 6167 6461 322d 7374 7269 6e67 2d71 756f agda2-string-quo │ │ │ +00023bf0: 7465 2028 6361 7220 2c61 7267 7329 290a te (car ,args)). │ │ │ 00023c00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 00023c10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00023c20: 2020 2022 2229 2929 2929 2929 2929 0a0a ""))))))))).. │ │ │ -00023c30: 2864 6566 6d61 6372 6f20 6167 6461 322d (defmacro agda2- │ │ │ -00023c40: 6d61 7962 652d 6e6f 726d 616c 6973 6564 maybe-normalised │ │ │ -00023c50: 2028 6e61 6d65 2063 6f6d 6d65 6e74 2063 (name comment c │ │ │ -00023c60: 6d64 2077 616e 7429 0a20 2060 2861 6764 md want). `(agd │ │ │ -00023c70: 6132 2d70 726f 746f 2d6d 6179 6265 2d6e a2-proto-maybe-n │ │ │ -00023c80: 6f72 6d61 6c69 7365 640a 2020 2020 2c6e ormalised. ,n │ │ │ -00023c90: 616d 6520 2c63 6f6d 6d65 6e74 202c 636d ame ,comment ,cm │ │ │ -00023ca0: 640a 2020 2020 2822 5369 6d70 6c69 6669 d. ("Simplifi │ │ │ -00023cb0: 6564 2220 2020 2273 696d 706c 6966 6965 ed" "simplifie │ │ │ -00023cc0: 6422 290a 2020 2020 2822 496e 7374 616e d"). ("Instan │ │ │ -00023cd0: 7469 6174 6564 2220 226e 6569 7468 6572 tiated" "neither │ │ │ -00023ce0: 2065 7870 6c69 6369 746c 7920 6e6f 726d explicitly norm │ │ │ -00023cf0: 616c 6973 6564 206e 6f72 2073 696d 706c alised nor simpl │ │ │ -00023d00: 6966 6965 6422 290a 2020 2020 2822 4e6f ified"). ("No │ │ │ -00023d10: 726d 616c 6973 6564 2220 2020 226e 6f72 rmalised" "nor │ │ │ -00023d20: 6d61 6c69 7365 6422 290a 2020 2020 2822 malised"). (" │ │ │ -00023d30: 4865 6164 4e6f 726d 616c 2220 2020 2268 HeadNormal" "h │ │ │ -00023d40: 6561 6420 6e6f 726d 616c 6973 6564 2229 ead normalised") │ │ │ -00023d50: 0a20 2020 2028 6672 6f6d 676f 616c 202c . (fromgoal , │ │ │ -00023d60: 7761 6e74 2929 290a 0a28 6465 666d 6163 want)))..(defmac │ │ │ -00023d70: 726f 2061 6764 6132 2d6d 6179 6265 2d6e ro agda2-maybe-n │ │ │ -00023d80: 6f72 6d61 6c69 7365 642d 6173 6973 2028 ormalised-asis ( │ │ │ -00023d90: 6e61 6d65 2063 6f6d 6d65 6e74 2063 6d64 name comment cmd │ │ │ -00023da0: 2077 616e 7429 0a20 2060 2861 6764 6132 want). `(agda2 │ │ │ -00023db0: 2d70 726f 746f 2d6d 6179 6265 2d6e 6f72 -proto-maybe-nor │ │ │ -00023dc0: 6d61 6c69 7365 640a 2020 2020 2c6e 616d malised. ,nam │ │ │ -00023dd0: 6520 2c63 6f6d 6d65 6e74 202c 636d 640a e ,comment ,cmd. │ │ │ -00023de0: 2020 2020 2822 4173 4973 2220 2020 2020 ("AsIs" │ │ │ -00023df0: 2020 2272 6574 7572 6e65 6420 6173 2069 "returned as i │ │ │ -00023e00: 7322 290a 2020 2020 2822 5369 6d70 6c69 s"). ("Simpli │ │ │ -00023e10: 6669 6564 2220 2273 696d 706c 6966 6965 fied" "simplifie │ │ │ -00023e20: 6422 290a 2020 2020 2822 4e6f 726d 616c d"). ("Normal │ │ │ -00023e30: 6973 6564 2220 226e 6f72 6d61 6c69 7365 ised" "normalise │ │ │ -00023e40: 6422 290a 2020 2020 2822 4865 6164 4e6f d"). ("HeadNo │ │ │ -00023e50: 726d 616c 2220 2268 6561 6420 6e6f 726d rmal" "head norm │ │ │ -00023e60: 616c 6973 6564 2229 0a20 2020 2028 6672 alised"). (fr │ │ │ -00023e70: 6f6d 676f 616c 202c 7761 6e74 2929 290a omgoal ,want))). │ │ │ -00023e80: 0a28 6465 666d 6163 726f 2061 6764 6132 .(defmacro agda2 │ │ │ -00023e90: 2d6d 6179 6265 2d6e 6f72 6d61 6c69 7365 -maybe-normalise │ │ │ -00023ea0: 642d 746f 706c 6576 656c 2028 6e61 6d65 d-toplevel (name │ │ │ -00023eb0: 2063 6f6d 6d65 6e74 2063 6d64 2070 726f comment cmd pro │ │ │ -00023ec0: 6d70 7429 0a20 2060 2861 6764 6132 2d70 mpt). `(agda2-p │ │ │ -00023ed0: 726f 746f 2d6d 6179 6265 2d6e 6f72 6d61 roto-maybe-norma │ │ │ -00023ee0: 6c69 7365 640a 2020 2020 2c6e 616d 6520 lised. ,name │ │ │ -00023ef0: 2c63 6f6d 6d65 6e74 202c 636d 640a 2020 ,comment ,cmd. │ │ │ -00023f00: 2020 2822 5369 6d70 6c69 6669 6564 2220 ("Simplified" │ │ │ -00023f10: 2020 2273 696d 706c 6966 6965 6422 290a "simplified"). │ │ │ -00023f20: 2020 2020 2822 496e 7374 616e 7469 6174 ("Instantiat │ │ │ -00023f30: 6564 2220 226e 6569 7468 6572 2065 7870 ed" "neither exp │ │ │ -00023f40: 6c69 6369 746c 7920 6e6f 726d 616c 6973 licitly normalis │ │ │ -00023f50: 6564 206e 6f72 2073 696d 706c 6966 6965 ed nor simplifie │ │ │ -00023f60: 6422 290a 2020 2020 2822 4e6f 726d 616c d"). ("Normal │ │ │ -00023f70: 6973 6564 2220 2020 226e 6f72 6d61 6c69 ised" "normali │ │ │ -00023f80: 7365 6422 290a 2020 2020 2822 4865 6164 sed"). ("Head │ │ │ -00023f90: 4e6f 726d 616c 2220 2020 2268 6561 6420 Normal" "head │ │ │ -00023fa0: 6e6f 726d 616c 6973 6564 2229 0a20 2020 normalised"). │ │ │ -00023fb0: 2028 676c 6f62 616c 202c 7072 6f6d 7074 (global ,prompt │ │ │ -00023fc0: 2929 290a 0a28 6465 666d 6163 726f 2061 )))..(defmacro a │ │ │ -00023fd0: 6764 6132 2d6d 6179 6265 2d6e 6f72 6d61 gda2-maybe-norma │ │ │ -00023fe0: 6c69 7365 642d 746f 706c 6576 656c 2d61 lised-toplevel-a │ │ │ -00023ff0: 7369 732d 6e6f 7072 6f6d 7074 2028 6e61 sis-noprompt (na │ │ │ -00024000: 6d65 2063 6f6d 6d65 6e74 2063 6d64 290a me comment cmd). │ │ │ -00024010: 2020 6028 6167 6461 322d 7072 6f74 6f2d `(agda2-proto- │ │ │ -00024020: 6d61 7962 652d 6e6f 726d 616c 6973 6564 maybe-normalised │ │ │ -00024030: 0a20 2020 202c 6e61 6d65 202c 636f 6d6d . ,name ,comm │ │ │ -00024040: 656e 7420 2c63 6d64 0a20 2020 2028 2241 ent ,cmd. ("A │ │ │ -00024050: 7349 7322 2020 2020 2020 2022 7265 7475 sIs" "retu │ │ │ -00024060: 726e 6564 2061 7320 6973 2229 0a20 2020 rned as is"). │ │ │ -00024070: 2028 2253 696d 706c 6966 6965 6422 2022 ("Simplified" " │ │ │ -00024080: 7369 6d70 6c69 6669 6564 2229 0a20 2020 simplified"). │ │ │ -00024090: 2028 224e 6f72 6d61 6c69 7365 6422 2022 ("Normalised" " │ │ │ -000240a0: 6e6f 726d 616c 6973 6564 2229 0a20 2020 normalised"). │ │ │ -000240b0: 2028 2248 6561 644e 6f72 6d61 6c22 2022 ("HeadNormal" " │ │ │ -000240c0: 6865 6164 206e 6f72 6d61 6c69 7365 6422 head normalised" │ │ │ -000240d0: 290a 2020 2020 2867 6c6f 6261 6c20 6e69 ). (global ni │ │ │ -000240e0: 6c29 2929 0a0a 2861 6764 6132 2d6d 6179 l)))..(agda2-may │ │ │ -000240f0: 6265 2d6e 6f72 6d61 6c69 7365 640a 2061 be-normalised. a │ │ │ -00024100: 6764 6132 2d67 6f61 6c2d 7479 7065 0a20 gda2-goal-type. │ │ │ -00024110: 2253 686f 7720 7468 6520 7479 7065 206f "Show the type o │ │ │ -00024120: 6620 7468 6520 676f 616c 2061 7420 706f f the goal at po │ │ │ -00024130: 696e 7422 0a20 2243 6d64 5f67 6f61 6c5f int". "Cmd_goal_ │ │ │ -00024140: 7479 7065 220a 206e 696c 290a 0a28 6167 type". nil)..(ag │ │ │ -00024150: 6461 322d 6d61 7962 652d 6e6f 726d 616c da2-maybe-normal │ │ │ -00024160: 6973 6564 0a20 6167 6461 322d 696e 6665 ised. agda2-infe │ │ │ -00024170: 722d 7479 7065 0a20 2249 6e66 6572 2074 r-type. "Infer t │ │ │ -00024180: 6865 2074 7970 6520 6f66 2074 6865 2067 he type of the g │ │ │ -00024190: 6f61 6c20 6174 2070 6f69 6e74 220a 2022 oal at point". " │ │ │ -000241a0: 436d 645f 696e 6665 7222 0a20 2265 7870 Cmd_infer". "exp │ │ │ -000241b0: 7265 7373 696f 6e20 746f 2074 7970 6522 ression to type" │ │ │ -000241c0: 290a 0a28 6167 6461 322d 6d61 7962 652d )..(agda2-maybe- │ │ │ -000241d0: 6e6f 726d 616c 6973 6564 2d74 6f70 6c65 normalised-tople │ │ │ -000241e0: 7665 6c0a 2020 2061 6764 6132 2d69 6e66 vel. agda2-inf │ │ │ -000241f0: 6572 2d74 7970 652d 746f 706c 6576 656c er-type-toplevel │ │ │ -00024200: 0a20 2020 2249 6e66 6572 7320 7468 6520 . "Infers the │ │ │ -00024210: 7479 7065 206f 6620 7468 6520 6769 7665 type of the give │ │ │ -00024220: 6e20 6578 7072 6573 7369 6f6e 2e20 5468 n expression. Th │ │ │ -00024230: 6520 7363 6f70 6520 7573 6564 2066 6f72 e scope used for │ │ │ -00024240: 0a74 6865 2065 7870 7265 7373 696f 6e20 .the expression │ │ │ -00024250: 6973 2074 6861 7420 6f66 2074 6865 206c is that of the l │ │ │ -00024260: 6173 7420 706f 696e 7420 696e 7369 6465 ast point inside │ │ │ -00024270: 2074 6865 2063 7572 7265 6e74 0a74 6f70 the current.top │ │ │ -00024280: 2d6c 6576 656c 206d 6f64 756c 6522 0a20 -level module". │ │ │ -00024290: 2020 2243 6d64 5f69 6e66 6572 5f74 6f70 "Cmd_infer_top │ │ │ -000242a0: 6c65 7665 6c22 0a20 2020 2245 7870 7265 level". "Expre │ │ │ -000242b0: 7373 696f 6e22 290a 0a28 6465 6675 6e20 ssion")..(defun │ │ │ -000242c0: 6167 6461 322d 696e 6665 722d 7479 7065 agda2-infer-type │ │ │ -000242d0: 2d6d 6179 6265 2d74 6f70 6c65 7665 6c20 -maybe-toplevel │ │ │ -000242e0: 2829 0a20 2022 496e 6665 7273 2074 6865 (). "Infers the │ │ │ -000242f0: 2074 7970 6520 6f66 2074 6865 2067 6976 type of the giv │ │ │ -00024300: 656e 2065 7870 7265 7373 696f 6e2e 0a45 en expression..E │ │ │ -00024310: 6974 6865 7220 7573 6573 2074 6865 2073 ither uses the s │ │ │ -00024320: 636f 7065 206f 6620 7468 6520 6375 7272 cope of the curr │ │ │ -00024330: 656e 7420 676f 616c 206f 722c 2069 6620 ent goal or, if │ │ │ -00024340: 706f 696e 7420 6973 206e 6f74 2069 6e20 point is not in │ │ │ -00024350: 6120 676f 616c 2c20 7468 650a 746f 702d a goal, the.top- │ │ │ -00024360: 6c65 7665 6c20 7363 6f70 652e 220a 2020 level scope.". │ │ │ -00024370: 2869 6e74 6572 6163 7469 7665 290a 2020 (interactive). │ │ │ -00024380: 2863 616c 6c2d 696e 7465 7261 6374 6976 (call-interactiv │ │ │ -00024390: 656c 7920 2869 6620 2861 6764 6132 2d67 ely (if (agda2-g │ │ │ -000243a0: 6f61 6c2d 6174 2028 706f 696e 7429 290a oal-at (point)). │ │ │ -000243b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -000243c0: 2020 2020 2020 2020 2020 2761 6764 6132 'agda2 │ │ │ -000243d0: 2d69 6e66 6572 2d74 7970 650a 2020 2020 -infer-type. │ │ │ +00023c20: 2020 2020 2222 2929 2929 2929 2929 290a ""))))))))). │ │ │ +00023c30: 0a28 6465 666d 6163 726f 2061 6764 6132 .(defmacro agda2 │ │ │ +00023c40: 2d6d 6179 6265 2d6e 6f72 6d61 6c69 7365 -maybe-normalise │ │ │ +00023c50: 6420 286e 616d 6520 636f 6d6d 656e 7420 d (name comment │ │ │ +00023c60: 636d 6420 7761 6e74 290a 2020 6028 6167 cmd want). `(ag │ │ │ +00023c70: 6461 322d 7072 6f74 6f2d 6d61 7962 652d da2-proto-maybe- │ │ │ +00023c80: 6e6f 726d 616c 6973 6564 0a20 2020 202c normalised. , │ │ │ +00023c90: 6e61 6d65 202c 636f 6d6d 656e 7420 2c63 name ,comment ,c │ │ │ +00023ca0: 6d64 0a20 2020 2028 2253 696d 706c 6966 md. ("Simplif │ │ │ +00023cb0: 6965 6422 2020 2022 7369 6d70 6c69 6669 ied" "simplifi │ │ │ +00023cc0: 6564 2229 0a20 2020 2028 2249 6e73 7461 ed"). ("Insta │ │ │ +00023cd0: 6e74 6961 7465 6422 2022 6e65 6974 6865 ntiated" "neithe │ │ │ +00023ce0: 7220 6578 706c 6963 6974 6c79 206e 6f72 r explicitly nor │ │ │ +00023cf0: 6d61 6c69 7365 6420 6e6f 7220 7369 6d70 malised nor simp │ │ │ +00023d00: 6c69 6669 6564 2229 0a20 2020 2028 224e lified"). ("N │ │ │ +00023d10: 6f72 6d61 6c69 7365 6422 2020 2022 6e6f ormalised" "no │ │ │ +00023d20: 726d 616c 6973 6564 2229 0a20 2020 2028 rmalised"). ( │ │ │ +00023d30: 2248 6561 644e 6f72 6d61 6c22 2020 2022 "HeadNormal" " │ │ │ +00023d40: 6865 6164 206e 6f72 6d61 6c69 7365 6422 head normalised" │ │ │ +00023d50: 290a 2020 2020 2866 726f 6d67 6f61 6c20 ). (fromgoal │ │ │ +00023d60: 2c77 616e 7429 2929 0a0a 2864 6566 6d61 ,want)))..(defma │ │ │ +00023d70: 6372 6f20 6167 6461 322d 6d61 7962 652d cro agda2-maybe- │ │ │ +00023d80: 6e6f 726d 616c 6973 6564 2d61 7369 7320 normalised-asis │ │ │ +00023d90: 286e 616d 6520 636f 6d6d 656e 7420 636d (name comment cm │ │ │ +00023da0: 6420 7761 6e74 290a 2020 6028 6167 6461 d want). `(agda │ │ │ +00023db0: 322d 7072 6f74 6f2d 6d61 7962 652d 6e6f 2-proto-maybe-no │ │ │ +00023dc0: 726d 616c 6973 6564 0a20 2020 202c 6e61 rmalised. ,na │ │ │ +00023dd0: 6d65 202c 636f 6d6d 656e 7420 2c63 6d64 me ,comment ,cmd │ │ │ +00023de0: 0a20 2020 2028 2241 7349 7322 2020 2020 . ("AsIs" │ │ │ +00023df0: 2020 2022 7265 7475 726e 6564 2061 7320 "returned as │ │ │ +00023e00: 6973 2229 0a20 2020 2028 2253 696d 706c is"). ("Simpl │ │ │ +00023e10: 6966 6965 6422 2022 7369 6d70 6c69 6669 ified" "simplifi │ │ │ +00023e20: 6564 2229 0a20 2020 2028 224e 6f72 6d61 ed"). ("Norma │ │ │ +00023e30: 6c69 7365 6422 2022 6e6f 726d 616c 6973 lised" "normalis │ │ │ +00023e40: 6564 2229 0a20 2020 2028 2248 6561 644e ed"). ("HeadN │ │ │ +00023e50: 6f72 6d61 6c22 2022 6865 6164 206e 6f72 ormal" "head nor │ │ │ +00023e60: 6d61 6c69 7365 6422 290a 2020 2020 2866 malised"). (f │ │ │ +00023e70: 726f 6d67 6f61 6c20 2c77 616e 7429 2929 romgoal ,want))) │ │ │ +00023e80: 0a0a 2864 6566 6d61 6372 6f20 6167 6461 ..(defmacro agda │ │ │ +00023e90: 322d 6d61 7962 652d 6e6f 726d 616c 6973 2-maybe-normalis │ │ │ +00023ea0: 6564 2d74 6f70 6c65 7665 6c20 286e 616d ed-toplevel (nam │ │ │ +00023eb0: 6520 636f 6d6d 656e 7420 636d 6420 7072 e comment cmd pr │ │ │ +00023ec0: 6f6d 7074 290a 2020 6028 6167 6461 322d ompt). `(agda2- │ │ │ +00023ed0: 7072 6f74 6f2d 6d61 7962 652d 6e6f 726d proto-maybe-norm │ │ │ +00023ee0: 616c 6973 6564 0a20 2020 202c 6e61 6d65 alised. ,name │ │ │ +00023ef0: 202c 636f 6d6d 656e 7420 2c63 6d64 0a20 ,comment ,cmd. │ │ │ +00023f00: 2020 2028 2253 696d 706c 6966 6965 6422 ("Simplified" │ │ │ +00023f10: 2020 2022 7369 6d70 6c69 6669 6564 2229 "simplified") │ │ │ +00023f20: 0a20 2020 2028 2249 6e73 7461 6e74 6961 . ("Instantia │ │ │ +00023f30: 7465 6422 2022 6e65 6974 6865 7220 6578 ted" "neither ex │ │ │ +00023f40: 706c 6963 6974 6c79 206e 6f72 6d61 6c69 plicitly normali │ │ │ +00023f50: 7365 6420 6e6f 7220 7369 6d70 6c69 6669 sed nor simplifi │ │ │ +00023f60: 6564 2229 0a20 2020 2028 224e 6f72 6d61 ed"). ("Norma │ │ │ +00023f70: 6c69 7365 6422 2020 2022 6e6f 726d 616c lised" "normal │ │ │ +00023f80: 6973 6564 2229 0a20 2020 2028 2248 6561 ised"). ("Hea │ │ │ +00023f90: 644e 6f72 6d61 6c22 2020 2022 6865 6164 dNormal" "head │ │ │ +00023fa0: 206e 6f72 6d61 6c69 7365 6422 290a 2020 normalised"). │ │ │ +00023fb0: 2020 2867 6c6f 6261 6c20 2c70 726f 6d70 (global ,promp │ │ │ +00023fc0: 7429 2929 0a0a 2864 6566 6d61 6372 6f20 t)))..(defmacro │ │ │ +00023fd0: 6167 6461 322d 6d61 7962 652d 6e6f 726d agda2-maybe-norm │ │ │ +00023fe0: 616c 6973 6564 2d74 6f70 6c65 7665 6c2d alised-toplevel- │ │ │ +00023ff0: 6173 6973 2d6e 6f70 726f 6d70 7420 286e asis-noprompt (n │ │ │ +00024000: 616d 6520 636f 6d6d 656e 7420 636d 6429 ame comment cmd) │ │ │ +00024010: 0a20 2060 2861 6764 6132 2d70 726f 746f . `(agda2-proto │ │ │ +00024020: 2d6d 6179 6265 2d6e 6f72 6d61 6c69 7365 -maybe-normalise │ │ │ +00024030: 640a 2020 2020 2c6e 616d 6520 2c63 6f6d d. ,name ,com │ │ │ +00024040: 6d65 6e74 202c 636d 640a 2020 2020 2822 ment ,cmd. (" │ │ │ +00024050: 4173 4973 2220 2020 2020 2020 2272 6574 AsIs" "ret │ │ │ +00024060: 7572 6e65 6420 6173 2069 7322 290a 2020 urned as is"). │ │ │ +00024070: 2020 2822 5369 6d70 6c69 6669 6564 2220 ("Simplified" │ │ │ +00024080: 2273 696d 706c 6966 6965 6422 290a 2020 "simplified"). │ │ │ +00024090: 2020 2822 4e6f 726d 616c 6973 6564 2220 ("Normalised" │ │ │ +000240a0: 226e 6f72 6d61 6c69 7365 6422 290a 2020 "normalised"). │ │ │ +000240b0: 2020 2822 4865 6164 4e6f 726d 616c 2220 ("HeadNormal" │ │ │ +000240c0: 2268 6561 6420 6e6f 726d 616c 6973 6564 "head normalised │ │ │ +000240d0: 2229 0a20 2020 2028 676c 6f62 616c 206e "). (global n │ │ │ +000240e0: 696c 2929 290a 0a28 6167 6461 322d 6d61 il)))..(agda2-ma │ │ │ +000240f0: 7962 652d 6e6f 726d 616c 6973 6564 0a20 ybe-normalised. │ │ │ +00024100: 6167 6461 322d 676f 616c 2d74 7970 650a agda2-goal-type. │ │ │ +00024110: 2022 5368 6f77 2074 6865 2074 7970 6520 "Show the type │ │ │ +00024120: 6f66 2074 6865 2067 6f61 6c20 6174 2070 of the goal at p │ │ │ +00024130: 6f69 6e74 220a 2022 436d 645f 676f 616c oint". "Cmd_goal │ │ │ +00024140: 5f74 7970 6522 0a20 6e69 6c29 0a0a 2861 _type". nil)..(a │ │ │ +00024150: 6764 6132 2d6d 6179 6265 2d6e 6f72 6d61 gda2-maybe-norma │ │ │ +00024160: 6c69 7365 640a 2061 6764 6132 2d69 6e66 lised. agda2-inf │ │ │ +00024170: 6572 2d74 7970 650a 2022 496e 6665 7220 er-type. "Infer │ │ │ +00024180: 7468 6520 7479 7065 206f 6620 7468 6520 the type of the │ │ │ +00024190: 676f 616c 2061 7420 706f 696e 7422 0a20 goal at point". │ │ │ +000241a0: 2243 6d64 5f69 6e66 6572 220a 2022 6578 "Cmd_infer". "ex │ │ │ +000241b0: 7072 6573 7369 6f6e 2074 6f20 7479 7065 pression to type │ │ │ +000241c0: 2229 0a0a 2861 6764 6132 2d6d 6179 6265 ")..(agda2-maybe │ │ │ +000241d0: 2d6e 6f72 6d61 6c69 7365 642d 746f 706c -normalised-topl │ │ │ +000241e0: 6576 656c 0a20 2020 6167 6461 322d 696e evel. agda2-in │ │ │ +000241f0: 6665 722d 7479 7065 2d74 6f70 6c65 7665 fer-type-topleve │ │ │ +00024200: 6c0a 2020 2022 496e 6665 7273 2074 6865 l. "Infers the │ │ │ +00024210: 2074 7970 6520 6f66 2074 6865 2067 6976 type of the giv │ │ │ +00024220: 656e 2065 7870 7265 7373 696f 6e2e 2054 en expression. T │ │ │ +00024230: 6865 2073 636f 7065 2075 7365 6420 666f he scope used fo │ │ │ +00024240: 720a 7468 6520 6578 7072 6573 7369 6f6e r.the expression │ │ │ +00024250: 2069 7320 7468 6174 206f 6620 7468 6520 is that of the │ │ │ +00024260: 6c61 7374 2070 6f69 6e74 2069 6e73 6964 last point insid │ │ │ +00024270: 6520 7468 6520 6375 7272 656e 740a 746f e the current.to │ │ │ +00024280: 702d 6c65 7665 6c20 6d6f 6475 6c65 220a p-level module". │ │ │ +00024290: 2020 2022 436d 645f 696e 6665 725f 746f "Cmd_infer_to │ │ │ +000242a0: 706c 6576 656c 220a 2020 2022 4578 7072 plevel". "Expr │ │ │ +000242b0: 6573 7369 6f6e 2229 0a0a 2864 6566 756e ession")..(defun │ │ │ +000242c0: 2061 6764 6132 2d69 6e66 6572 2d74 7970 agda2-infer-typ │ │ │ +000242d0: 652d 6d61 7962 652d 746f 706c 6576 656c e-maybe-toplevel │ │ │ +000242e0: 2028 290a 2020 2249 6e66 6572 7320 7468 (). "Infers th │ │ │ +000242f0: 6520 7479 7065 206f 6620 7468 6520 6769 e type of the gi │ │ │ +00024300: 7665 6e20 6578 7072 6573 7369 6f6e 2e0a ven expression.. │ │ │ +00024310: 4569 7468 6572 2075 7365 7320 7468 6520 Either uses the │ │ │ +00024320: 7363 6f70 6520 6f66 2074 6865 2063 7572 scope of the cur │ │ │ +00024330: 7265 6e74 2067 6f61 6c20 6f72 2c20 6966 rent goal or, if │ │ │ +00024340: 2070 6f69 6e74 2069 7320 6e6f 7420 696e point is not in │ │ │ +00024350: 2061 2067 6f61 6c2c 2074 6865 0a74 6f70 a goal, the.top │ │ │ +00024360: 2d6c 6576 656c 2073 636f 7065 2e22 0a20 -level scope.". │ │ │ +00024370: 2028 696e 7465 7261 6374 6976 6529 0a20 (interactive). │ │ │ +00024380: 2028 6361 6c6c 2d69 6e74 6572 6163 7469 (call-interacti │ │ │ +00024390: 7665 6c79 2028 6966 2028 6167 6461 322d vely (if (agda2- │ │ │ +000243a0: 676f 616c 2d61 7420 2870 6f69 6e74 2929 goal-at (point)) │ │ │ +000243b0: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ +000243c0: 2020 2020 2020 2020 2020 2027 6167 6461 'agda │ │ │ +000243d0: 322d 696e 6665 722d 7479 7065 0a20 2020 2-infer-type. │ │ │ 000243e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -000243f0: 2020 2020 2761 6764 6132 2d69 6e66 6572 'agda2-infer │ │ │ -00024400: 2d74 7970 652d 746f 706c 6576 656c 2929 -type-toplevel)) │ │ │ -00024410: 290a 0a28 6465 6675 6e20 6167 6461 322d )..(defun agda2- │ │ │ -00024420: 7768 792d 696e 2d73 636f 7065 2028 290a why-in-scope (). │ │ │ -00024430: 2020 2245 7870 6c61 696e 2077 6879 2073 "Explain why s │ │ │ -00024440: 6f6d 6574 6869 6e67 2069 7320 696e 2073 omething is in s │ │ │ -00024450: 636f 7065 2069 6e20 6120 676f 616c 2e22 cope in a goal." │ │ │ -00024460: 0a20 2028 696e 7465 7261 6374 6976 6529 . (interactive) │ │ │ -00024470: 0a20 2028 6167 6461 322d 676f 616c 2d63 . (agda2-goal-c │ │ │ -00024480: 6d64 2022 436d 645f 7768 795f 696e 5f73 md "Cmd_why_in_s │ │ │ -00024490: 636f 7065 2220 6e69 6c20 224e 616d 6522 cope" nil "Name" │ │ │ -000244a0: 2929 0a0a 2864 6566 756e 2061 6764 6132 ))..(defun agda2 │ │ │ -000244b0: 2d77 6879 2d69 6e2d 7363 6f70 652d 746f -why-in-scope-to │ │ │ -000244c0: 706c 6576 656c 2028 6e61 6d65 290a 2020 plevel (name). │ │ │ -000244d0: 2245 7870 6c61 696e 2077 6879 2073 6f6d "Explain why som │ │ │ -000244e0: 6574 6869 6e67 2069 7320 696e 2073 636f ething is in sco │ │ │ -000244f0: 7065 2061 7420 7468 6520 746f 7020 6c65 pe at the top le │ │ │ -00024500: 7665 6c2e 220a 2020 2869 6e74 6572 6163 vel.". (interac │ │ │ -00024510: 7469 7665 2022 4d4e 616d 653a 2022 290a tive "MName: "). │ │ │ -00024520: 2020 2861 6764 6132 2d67 6f20 6e69 6c20 (agda2-go nil │ │ │ -00024530: 7420 2762 7573 7920 740a 2020 2020 2020 t 'busy t. │ │ │ -00024540: 2020 2020 2020 2243 6d64 5f77 6879 5f69 "Cmd_why_i │ │ │ -00024550: 6e5f 7363 6f70 655f 746f 706c 6576 656c n_scope_toplevel │ │ │ -00024560: 220a 2020 2020 2020 2020 2020 2020 2861 ". (a │ │ │ -00024570: 6764 6132 2d73 7472 696e 672d 7175 6f74 gda2-string-quot │ │ │ -00024580: 6520 6e61 6d65 2929 290a 0a28 6465 6675 e name)))..(defu │ │ │ -00024590: 6e20 6167 6461 322d 7768 792d 696e 2d73 n agda2-why-in-s │ │ │ -000245a0: 636f 7065 2d6d 6179 6265 2d74 6f70 6c65 cope-maybe-tople │ │ │ -000245b0: 7665 6c20 2829 0a20 2022 4578 706c 6169 vel (). "Explai │ │ │ -000245c0: 6e73 2077 6879 2061 2067 6976 656e 206e ns why a given n │ │ │ -000245d0: 616d 6520 6973 2069 6e20 7363 6f70 652e ame is in scope. │ │ │ -000245e0: 220a 2020 2869 6e74 6572 6163 7469 7665 ". (interactive │ │ │ -000245f0: 290a 2020 2863 616c 6c2d 696e 7465 7261 ). (call-intera │ │ │ -00024600: 6374 6976 656c 7920 2869 6620 2861 6764 ctively (if (agd │ │ │ -00024610: 6132 2d67 6f61 6c2d 6174 2028 706f 696e a2-goal-at (poin │ │ │ -00024620: 7429 290a 2020 2020 2020 2020 2020 2020 t)). │ │ │ -00024630: 2020 2020 2020 2020 2020 2020 2020 2761 'a │ │ │ -00024640: 6764 6132 2d77 6879 2d69 6e2d 7363 6f70 gda2-why-in-scop │ │ │ -00024650: 650a 2020 2020 2020 2020 2020 2020 2020 e. │ │ │ -00024660: 2020 2020 2020 2020 2020 2020 2761 6764 'agd │ │ │ -00024670: 6132 2d77 6879 2d69 6e2d 7363 6f70 652d a2-why-in-scope- │ │ │ -00024680: 746f 706c 6576 656c 2929 290a 0a28 6167 toplevel)))..(ag │ │ │ -00024690: 6461 322d 6d61 7962 652d 6e6f 726d 616c da2-maybe-normal │ │ │ -000246a0: 6973 6564 0a20 6167 6461 322d 656c 6162 ised. agda2-elab │ │ │ -000246b0: 6f72 6174 652d 6769 7665 0a20 2245 6c61 orate-give. "Ela │ │ │ -000246c0: 626f 7261 7465 2063 6865 636b 2074 6865 borate check the │ │ │ -000246d0: 2067 6976 656e 2065 7870 7265 7373 696f given expressio │ │ │ -000246e0: 6e20 6167 6169 6e73 7420 7468 6520 686f n against the ho │ │ │ -000246f0: 6c65 2773 2074 7970 6520 616e 6420 6669 le's type and fi │ │ │ -00024700: 6c6c 2069 6e20 7468 650a 2068 6f6c 6520 ll in the. hole │ │ │ -00024710: 7769 7468 2074 6865 2065 6c61 626f 7261 with the elabora │ │ │ -00024720: 7465 6420 7465 726d 220a 2022 436d 645f ted term". "Cmd_ │ │ │ -00024730: 656c 6162 6f72 6174 655f 6769 7665 220a elaborate_give". │ │ │ -00024740: 2022 6578 7072 6573 7369 6f6e 2074 6f20 "expression to │ │ │ -00024750: 656c 6162 6f72 6174 6520 616e 6420 6769 elaborate and gi │ │ │ -00024760: 7665 2229 0a0a 2861 6764 6132 2d6d 6179 ve")..(agda2-may │ │ │ -00024770: 6265 2d6e 6f72 6d61 6c69 7365 640a 2061 be-normalised. a │ │ │ -00024780: 6764 6132 2d67 6f61 6c2d 616e 642d 636f gda2-goal-and-co │ │ │ -00024790: 6e74 6578 740a 2022 5368 6f77 7320 7468 ntext. "Shows th │ │ │ -000247a0: 6520 7479 7065 206f 6620 7468 6520 676f e type of the go │ │ │ -000247b0: 616c 2061 7420 706f 696e 7420 616e 6420 al at point and │ │ │ -000247c0: 7468 6520 6375 7272 6563 7420 636f 6e74 the currect cont │ │ │ -000247d0: 6578 7422 0a20 2243 6d64 5f67 6f61 6c5f ext". "Cmd_goal_ │ │ │ -000247e0: 7479 7065 5f63 6f6e 7465 7874 220a 206e type_context". n │ │ │ -000247f0: 696c 290a 0a28 6167 6461 322d 6d61 7962 il)..(agda2-mayb │ │ │ -00024800: 652d 6e6f 726d 616c 6973 6564 0a20 6167 e-normalised. ag │ │ │ -00024810: 6461 322d 676f 616c 2d61 6e64 2d63 6f6e da2-goal-and-con │ │ │ -00024820: 7465 7874 2d61 6e64 2d69 6e66 6572 7265 text-and-inferre │ │ │ -00024830: 640a 2022 5368 6f77 7320 7468 6520 636f d. "Shows the co │ │ │ -00024840: 6e74 6578 742c 2074 6865 2067 6f61 6c20 ntext, the goal │ │ │ -00024850: 616e 6420 7468 6520 6769 7665 6e20 6578 and the given ex │ │ │ -00024860: 7072 6573 7369 6f6e 2773 2069 6e66 6572 pression's infer │ │ │ -00024870: 7265 6420 7479 7065 220a 2022 436d 645f red type". "Cmd_ │ │ │ -00024880: 676f 616c 5f74 7970 655f 636f 6e74 6578 goal_type_contex │ │ │ -00024890: 745f 696e 6665 7222 0a20 2265 7870 7265 t_infer". "expre │ │ │ -000248a0: 7373 696f 6e20 746f 2074 7970 6522 290a ssion to type"). │ │ │ -000248b0: 0a28 6167 6461 322d 6d61 7962 652d 6e6f .(agda2-maybe-no │ │ │ -000248c0: 726d 616c 6973 6564 0a20 6167 6461 322d rmalised. agda2- │ │ │ -000248d0: 676f 616c 2d61 6e64 2d63 6f6e 7465 7874 goal-and-context │ │ │ -000248e0: 2d61 6e64 2d63 6865 636b 6564 0a20 2253 -and-checked. "S │ │ │ -000248f0: 686f 7773 2074 6865 2063 6f6e 7465 7874 hows the context │ │ │ -00024900: 2c20 7468 6520 676f 616c 2061 6e64 2063 , the goal and c │ │ │ -00024910: 6865 636b 2074 6865 2067 6976 656e 2065 heck the given e │ │ │ -00024920: 7870 7265 7373 696f 6e27 7320 6167 6169 xpression's agai │ │ │ -00024930: 6e73 740a 2074 6865 2068 6f6c 6527 7320 nst. the hole's │ │ │ -00024940: 7479 7065 220a 2022 436d 645f 676f 616c type". "Cmd_goal │ │ │ -00024950: 5f74 7970 655f 636f 6e74 6578 745f 6368 _type_context_ch │ │ │ -00024960: 6563 6b22 0a20 2265 7870 7265 7373 696f eck". "expressio │ │ │ -00024970: 6e20 746f 2074 7970 6522 290a 0a28 6167 n to type")..(ag │ │ │ -00024980: 6461 322d 6d61 7962 652d 6e6f 726d 616c da2-maybe-normal │ │ │ -00024990: 6973 6564 0a20 6167 6461 322d 7368 6f77 ised. agda2-show │ │ │ -000249a0: 2d63 6f6e 7465 7874 0a20 2253 686f 7720 -context. "Show │ │ │ -000249b0: 7468 6520 636f 6e74 6578 7420 6f66 2074 the context of t │ │ │ -000249c0: 6865 2067 6f61 6c20 6174 2070 6f69 6e74 he goal at point │ │ │ -000249d0: 220a 2022 436d 645f 636f 6e74 6578 7422 ". "Cmd_context" │ │ │ -000249e0: 0a20 6e69 6c29 0a0a 2861 6764 6132 2d6d . nil)..(agda2-m │ │ │ -000249f0: 6179 6265 2d6e 6f72 6d61 6c69 7365 642d aybe-normalised- │ │ │ -00024a00: 6173 6973 0a20 6167 6461 322d 6865 6c70 asis. agda2-help │ │ │ -00024a10: 6572 2d66 756e 6374 696f 6e2d 7479 7065 er-function-type │ │ │ -00024a20: 0a20 2022 436f 6d70 7574 6520 7468 6520 . "Compute the │ │ │ -00024a30: 7479 7065 206f 6620 6120 6879 706f 7468 type of a hypoth │ │ │ -00024a40: 6574 6963 616c 2068 656c 7065 7220 6675 etical helper fu │ │ │ -00024a50: 6e63 7469 6f6e 2e22 0a20 2022 436d 645f nction.". "Cmd_ │ │ │ -00024a60: 6865 6c70 6572 5f66 756e 6374 696f 6e22 helper_function" │ │ │ -00024a70: 0a20 2022 4578 7072 6573 7369 6f6e 2229 . "Expression") │ │ │ -00024a80: 0a0a 2861 6764 6132 2d6d 6179 6265 2d6e ..(agda2-maybe-n │ │ │ -00024a90: 6f72 6d61 6c69 7365 640a 2020 6167 6461 ormalised. agda │ │ │ -00024aa0: 322d 6d6f 6475 6c65 2d63 6f6e 7465 6e74 2-module-content │ │ │ -00024ab0: 730a 2020 2253 686f 7773 2061 6c6c 2074 s. "Shows all t │ │ │ -00024ac0: 6865 2074 6f70 2d6c 6576 656c 206e 616d he top-level nam │ │ │ -00024ad0: 6573 2069 6e20 7468 6520 6769 7665 6e20 es in the given │ │ │ -00024ae0: 6d6f 6475 6c65 2e0a 416c 6f6e 6720 7769 module..Along wi │ │ │ -00024af0: 7468 2074 6865 6972 2074 7970 6573 2e22 th their types." │ │ │ -00024b00: 0a20 2022 436d 645f 7368 6f77 5f6d 6f64 . "Cmd_show_mod │ │ │ -00024b10: 756c 655f 636f 6e74 656e 7473 220a 2020 ule_contents". │ │ │ -00024b20: 224d 6f64 756c 6520 6e61 6d65 2028 656d "Module name (em │ │ │ -00024b30: 7074 7920 666f 7220 6375 7272 656e 7420 pty for current │ │ │ -00024b40: 6d6f 6475 6c65 2922 290a 0a28 6167 6461 module)")..(agda │ │ │ -00024b50: 322d 6d61 7962 652d 6e6f 726d 616c 6973 2-maybe-normalis │ │ │ -00024b60: 6564 2d74 6f70 6c65 7665 6c0a 2020 6167 ed-toplevel. ag │ │ │ -00024b70: 6461 322d 6d6f 6475 6c65 2d63 6f6e 7465 da2-module-conte │ │ │ -00024b80: 6e74 732d 746f 706c 6576 656c 0a20 2022 nts-toplevel. " │ │ │ -00024b90: 5368 6f77 7320 616c 6c20 7468 6520 746f Shows all the to │ │ │ -00024ba0: 702d 6c65 7665 6c20 6e61 6d65 7320 696e p-level names in │ │ │ -00024bb0: 2074 6865 2067 6976 656e 206d 6f64 756c the given modul │ │ │ -00024bc0: 652e 0a41 6c6f 6e67 2077 6974 6820 7468 e..Along with th │ │ │ -00024bd0: 6569 7220 7479 7065 732e 220a 2020 2243 eir types.". "C │ │ │ -00024be0: 6d64 5f73 686f 775f 6d6f 6475 6c65 5f63 md_show_module_c │ │ │ -00024bf0: 6f6e 7465 6e74 735f 746f 706c 6576 656c ontents_toplevel │ │ │ -00024c00: 220a 2020 224d 6f64 756c 6520 6e61 6d65 ". "Module name │ │ │ -00024c10: 2028 656d 7074 7920 666f 7220 746f 702d (empty for top- │ │ │ -00024c20: 6c65 7665 6c20 6d6f 6475 6c65 2922 0a29 level module)".) │ │ │ -00024c30: 0a0a 2861 6764 6132 2d6d 6179 6265 2d6e ..(agda2-maybe-n │ │ │ -00024c40: 6f72 6d61 6c69 7365 642d 746f 706c 6576 ormalised-toplev │ │ │ -00024c50: 656c 0a20 2061 6764 6132 2d73 6561 7263 el. agda2-searc │ │ │ -00024c60: 682d 6162 6f75 742d 746f 706c 6576 656c h-about-toplevel │ │ │ -00024c70: 0a20 2022 5365 6172 6368 2041 626f 7574 . "Search About │ │ │ -00024c80: 2061 6e20 6964 656e 7469 6669 6572 220a an identifier". │ │ │ -00024c90: 2020 2243 6d64 5f73 6561 7263 685f 6162 "Cmd_search_ab │ │ │ -00024ca0: 6f75 745f 746f 706c 6576 656c 220a 2020 out_toplevel". │ │ │ -00024cb0: 224e 616d 6522 0a29 0a0a 2864 6566 756e "Name".)..(defun │ │ │ -00024cc0: 2061 6764 6132 2d6d 6f64 756c 652d 636f agda2-module-co │ │ │ -00024cd0: 6e74 656e 7473 2d6d 6179 6265 2d74 6f70 ntents-maybe-top │ │ │ -00024ce0: 6c65 7665 6c20 2829 0a20 2022 5368 6f77 level (). "Show │ │ │ -00024cf0: 7320 616c 6c20 7468 6520 746f 702d 6c65 s all the top-le │ │ │ -00024d00: 7665 6c20 6e61 6d65 7320 696e 2074 6865 vel names in the │ │ │ -00024d10: 2067 6976 656e 206d 6f64 756c 652e 0a41 given module..A │ │ │ -00024d20: 6c6f 6e67 2077 6974 6820 7468 6569 7220 long with their │ │ │ -00024d30: 7479 7065 732e 0a0a 5573 6573 2065 6974 types...Uses eit │ │ │ -00024d40: 6865 7220 7468 6520 7363 6f70 6520 6f66 her the scope of │ │ │ -00024d50: 2074 6865 2063 7572 7265 6e74 2067 6f61 the current goa │ │ │ -00024d60: 6c20 6f72 2c20 6966 2070 6f69 6e74 2069 l or, if point i │ │ │ -00024d70: 7320 6e6f 7420 696e 0a61 2067 6f61 6c2c s not in.a goal, │ │ │ -00024d80: 2074 6865 2074 6f70 2d6c 6576 656c 2073 the top-level s │ │ │ -00024d90: 636f 7065 2e22 0a20 2028 696e 7465 7261 cope.". (intera │ │ │ -00024da0: 6374 6976 6529 0a20 2028 6361 6c6c 2d69 ctive). (call-i │ │ │ -00024db0: 6e74 6572 6163 7469 7665 6c79 2028 6966 nteractively (if │ │ │ -00024dc0: 2028 6167 6461 322d 676f 616c 2d61 7420 (agda2-goal-at │ │ │ -00024dd0: 2870 6f69 6e74 2929 0a20 2020 2020 2020 (point)). │ │ │ +000243f0: 2020 2020 2027 6167 6461 322d 696e 6665 'agda2-infe │ │ │ +00024400: 722d 7479 7065 2d74 6f70 6c65 7665 6c29 r-type-toplevel) │ │ │ +00024410: 2929 0a0a 2864 6566 756e 2061 6764 6132 ))..(defun agda2 │ │ │ +00024420: 2d77 6879 2d69 6e2d 7363 6f70 6520 2829 -why-in-scope () │ │ │ +00024430: 0a20 2022 4578 706c 6169 6e20 7768 7920 . "Explain why │ │ │ +00024440: 736f 6d65 7468 696e 6720 6973 2069 6e20 something is in │ │ │ +00024450: 7363 6f70 6520 696e 2061 2067 6f61 6c2e scope in a goal. │ │ │ +00024460: 220a 2020 2869 6e74 6572 6163 7469 7665 ". (interactive │ │ │ +00024470: 290a 2020 2861 6764 6132 2d67 6f61 6c2d ). (agda2-goal- │ │ │ +00024480: 636d 6420 2243 6d64 5f77 6879 5f69 6e5f cmd "Cmd_why_in_ │ │ │ +00024490: 7363 6f70 6522 206e 696c 2022 4e61 6d65 scope" nil "Name │ │ │ +000244a0: 2229 290a 0a28 6465 6675 6e20 6167 6461 "))..(defun agda │ │ │ +000244b0: 322d 7768 792d 696e 2d73 636f 7065 2d74 2-why-in-scope-t │ │ │ +000244c0: 6f70 6c65 7665 6c20 286e 616d 6529 0a20 oplevel (name). │ │ │ +000244d0: 2022 4578 706c 6169 6e20 7768 7920 736f "Explain why so │ │ │ +000244e0: 6d65 7468 696e 6720 6973 2069 6e20 7363 mething is in sc │ │ │ +000244f0: 6f70 6520 6174 2074 6865 2074 6f70 206c ope at the top l │ │ │ +00024500: 6576 656c 2e22 0a20 2028 696e 7465 7261 evel.". (intera │ │ │ +00024510: 6374 6976 6520 224d 4e61 6d65 3a20 2229 ctive "MName: ") │ │ │ +00024520: 0a20 2028 6167 6461 322d 676f 206e 696c . (agda2-go nil │ │ │ +00024530: 2074 2027 6275 7379 2074 0a20 2020 2020 t 'busy t. │ │ │ +00024540: 2020 2020 2020 2022 436d 645f 7768 795f "Cmd_why_ │ │ │ +00024550: 696e 5f73 636f 7065 5f74 6f70 6c65 7665 in_scope_topleve │ │ │ +00024560: 6c22 0a20 2020 2020 2020 2020 2020 2028 l". ( │ │ │ +00024570: 6167 6461 322d 7374 7269 6e67 2d71 756f agda2-string-quo │ │ │ +00024580: 7465 206e 616d 6529 2929 0a0a 2864 6566 te name)))..(def │ │ │ +00024590: 756e 2061 6764 6132 2d77 6879 2d69 6e2d un agda2-why-in- │ │ │ +000245a0: 7363 6f70 652d 6d61 7962 652d 746f 706c scope-maybe-topl │ │ │ +000245b0: 6576 656c 2028 290a 2020 2245 7870 6c61 evel (). "Expla │ │ │ +000245c0: 696e 7320 7768 7920 6120 6769 7665 6e20 ins why a given │ │ │ +000245d0: 6e61 6d65 2069 7320 696e 2073 636f 7065 name is in scope │ │ │ +000245e0: 2e22 0a20 2028 696e 7465 7261 6374 6976 .". (interactiv │ │ │ +000245f0: 6529 0a20 2028 6361 6c6c 2d69 6e74 6572 e). (call-inter │ │ │ +00024600: 6163 7469 7665 6c79 2028 6966 2028 6167 actively (if (ag │ │ │ +00024610: 6461 322d 676f 616c 2d61 7420 2870 6f69 da2-goal-at (poi │ │ │ +00024620: 6e74 2929 0a20 2020 2020 2020 2020 2020 nt)). │ │ │ +00024630: 2020 2020 2020 2020 2020 2020 2020 2027 ' │ │ │ +00024640: 6167 6461 322d 7768 792d 696e 2d73 636f agda2-why-in-sco │ │ │ +00024650: 7065 0a20 2020 2020 2020 2020 2020 2020 pe. │ │ │ +00024660: 2020 2020 2020 2020 2020 2020 2027 6167 'ag │ │ │ +00024670: 6461 322d 7768 792d 696e 2d73 636f 7065 da2-why-in-scope │ │ │ +00024680: 2d74 6f70 6c65 7665 6c29 2929 0a0a 2861 -toplevel)))..(a │ │ │ +00024690: 6764 6132 2d6d 6179 6265 2d6e 6f72 6d61 gda2-maybe-norma │ │ │ +000246a0: 6c69 7365 640a 2061 6764 6132 2d65 6c61 lised. agda2-ela │ │ │ +000246b0: 626f 7261 7465 2d67 6976 650a 2022 456c borate-give. "El │ │ │ +000246c0: 6162 6f72 6174 6520 6368 6563 6b20 7468 aborate check th │ │ │ +000246d0: 6520 6769 7665 6e20 6578 7072 6573 7369 e given expressi │ │ │ +000246e0: 6f6e 2061 6761 696e 7374 2074 6865 2068 on against the h │ │ │ +000246f0: 6f6c 6527 7320 7479 7065 2061 6e64 2066 ole's type and f │ │ │ +00024700: 696c 6c20 696e 2074 6865 0a20 686f 6c65 ill in the. hole │ │ │ +00024710: 2077 6974 6820 7468 6520 656c 6162 6f72 with the elabor │ │ │ +00024720: 6174 6564 2074 6572 6d22 0a20 2243 6d64 ated term". "Cmd │ │ │ +00024730: 5f65 6c61 626f 7261 7465 5f67 6976 6522 _elaborate_give" │ │ │ +00024740: 0a20 2265 7870 7265 7373 696f 6e20 746f . "expression to │ │ │ +00024750: 2065 6c61 626f 7261 7465 2061 6e64 2067 elaborate and g │ │ │ +00024760: 6976 6522 290a 0a28 6167 6461 322d 6d61 ive")..(agda2-ma │ │ │ +00024770: 7962 652d 6e6f 726d 616c 6973 6564 0a20 ybe-normalised. │ │ │ +00024780: 6167 6461 322d 676f 616c 2d61 6e64 2d63 agda2-goal-and-c │ │ │ +00024790: 6f6e 7465 7874 0a20 2253 686f 7773 2074 ontext. "Shows t │ │ │ +000247a0: 6865 2074 7970 6520 6f66 2074 6865 2067 he type of the g │ │ │ +000247b0: 6f61 6c20 6174 2070 6f69 6e74 2061 6e64 oal at point and │ │ │ +000247c0: 2074 6865 2063 7572 7265 6374 2063 6f6e the currect con │ │ │ +000247d0: 7465 7874 220a 2022 436d 645f 676f 616c text". "Cmd_goal │ │ │ +000247e0: 5f74 7970 655f 636f 6e74 6578 7422 0a20 _type_context". │ │ │ +000247f0: 6e69 6c29 0a0a 2861 6764 6132 2d6d 6179 nil)..(agda2-may │ │ │ +00024800: 6265 2d6e 6f72 6d61 6c69 7365 640a 2061 be-normalised. a │ │ │ +00024810: 6764 6132 2d67 6f61 6c2d 616e 642d 636f gda2-goal-and-co │ │ │ +00024820: 6e74 6578 742d 616e 642d 696e 6665 7272 ntext-and-inferr │ │ │ +00024830: 6564 0a20 2253 686f 7773 2074 6865 2063 ed. "Shows the c │ │ │ +00024840: 6f6e 7465 7874 2c20 7468 6520 676f 616c ontext, the goal │ │ │ +00024850: 2061 6e64 2074 6865 2067 6976 656e 2065 and the given e │ │ │ +00024860: 7870 7265 7373 696f 6e27 7320 696e 6665 xpression's infe │ │ │ +00024870: 7272 6564 2074 7970 6522 0a20 2243 6d64 rred type". "Cmd │ │ │ +00024880: 5f67 6f61 6c5f 7479 7065 5f63 6f6e 7465 _goal_type_conte │ │ │ +00024890: 7874 5f69 6e66 6572 220a 2022 6578 7072 xt_infer". "expr │ │ │ +000248a0: 6573 7369 6f6e 2074 6f20 7479 7065 2229 ession to type") │ │ │ +000248b0: 0a0a 2861 6764 6132 2d6d 6179 6265 2d6e ..(agda2-maybe-n │ │ │ +000248c0: 6f72 6d61 6c69 7365 640a 2061 6764 6132 ormalised. agda2 │ │ │ +000248d0: 2d67 6f61 6c2d 616e 642d 636f 6e74 6578 -goal-and-contex │ │ │ +000248e0: 742d 616e 642d 6368 6563 6b65 640a 2022 t-and-checked. " │ │ │ +000248f0: 5368 6f77 7320 7468 6520 636f 6e74 6578 Shows the contex │ │ │ +00024900: 742c 2074 6865 2067 6f61 6c20 616e 6420 t, the goal and │ │ │ +00024910: 6368 6563 6b20 7468 6520 6769 7665 6e20 check the given │ │ │ +00024920: 6578 7072 6573 7369 6f6e 2773 2061 6761 expression's aga │ │ │ +00024930: 696e 7374 0a20 7468 6520 686f 6c65 2773 inst. the hole's │ │ │ +00024940: 2074 7970 6522 0a20 2243 6d64 5f67 6f61 type". "Cmd_goa │ │ │ +00024950: 6c5f 7479 7065 5f63 6f6e 7465 7874 5f63 l_type_context_c │ │ │ +00024960: 6865 636b 220a 2022 6578 7072 6573 7369 heck". "expressi │ │ │ +00024970: 6f6e 2074 6f20 7479 7065 2229 0a0a 2861 on to type")..(a │ │ │ +00024980: 6764 6132 2d6d 6179 6265 2d6e 6f72 6d61 gda2-maybe-norma │ │ │ +00024990: 6c69 7365 640a 2061 6764 6132 2d73 686f lised. agda2-sho │ │ │ +000249a0: 772d 636f 6e74 6578 740a 2022 5368 6f77 w-context. "Show │ │ │ +000249b0: 2074 6865 2063 6f6e 7465 7874 206f 6620 the context of │ │ │ +000249c0: 7468 6520 676f 616c 2061 7420 706f 696e the goal at poin │ │ │ +000249d0: 7422 0a20 2243 6d64 5f63 6f6e 7465 7874 t". "Cmd_context │ │ │ +000249e0: 220a 206e 696c 290a 0a28 6167 6461 322d ". nil)..(agda2- │ │ │ +000249f0: 6d61 7962 652d 6e6f 726d 616c 6973 6564 maybe-normalised │ │ │ +00024a00: 2d61 7369 730a 2061 6764 6132 2d68 656c -asis. agda2-hel │ │ │ +00024a10: 7065 722d 6675 6e63 7469 6f6e 2d74 7970 per-function-typ │ │ │ +00024a20: 650a 2020 2243 6f6d 7075 7465 2074 6865 e. "Compute the │ │ │ +00024a30: 2074 7970 6520 6f66 2061 2068 7970 6f74 type of a hypot │ │ │ +00024a40: 6865 7469 6361 6c20 6865 6c70 6572 2066 hetical helper f │ │ │ +00024a50: 756e 6374 696f 6e2e 220a 2020 2243 6d64 unction.". "Cmd │ │ │ +00024a60: 5f68 656c 7065 725f 6675 6e63 7469 6f6e _helper_function │ │ │ +00024a70: 220a 2020 2245 7870 7265 7373 696f 6e22 ". "Expression" │ │ │ +00024a80: 290a 0a28 6167 6461 322d 6d61 7962 652d )..(agda2-maybe- │ │ │ +00024a90: 6e6f 726d 616c 6973 6564 0a20 2061 6764 normalised. agd │ │ │ +00024aa0: 6132 2d6d 6f64 756c 652d 636f 6e74 656e a2-module-conten │ │ │ +00024ab0: 7473 0a20 2022 5368 6f77 7320 616c 6c20 ts. "Shows all │ │ │ +00024ac0: 7468 6520 746f 702d 6c65 7665 6c20 6e61 the top-level na │ │ │ +00024ad0: 6d65 7320 696e 2074 6865 2067 6976 656e mes in the given │ │ │ +00024ae0: 206d 6f64 756c 652e 0a41 6c6f 6e67 2077 module..Along w │ │ │ +00024af0: 6974 6820 7468 6569 7220 7479 7065 732e ith their types. │ │ │ +00024b00: 220a 2020 2243 6d64 5f73 686f 775f 6d6f ". "Cmd_show_mo │ │ │ +00024b10: 6475 6c65 5f63 6f6e 7465 6e74 7322 0a20 dule_contents". │ │ │ +00024b20: 2022 4d6f 6475 6c65 206e 616d 6520 2865 "Module name (e │ │ │ +00024b30: 6d70 7479 2066 6f72 2063 7572 7265 6e74 mpty for current │ │ │ +00024b40: 206d 6f64 756c 6529 2229 0a0a 2861 6764 module)")..(agd │ │ │ +00024b50: 6132 2d6d 6179 6265 2d6e 6f72 6d61 6c69 a2-maybe-normali │ │ │ +00024b60: 7365 642d 746f 706c 6576 656c 0a20 2061 sed-toplevel. a │ │ │ +00024b70: 6764 6132 2d6d 6f64 756c 652d 636f 6e74 gda2-module-cont │ │ │ +00024b80: 656e 7473 2d74 6f70 6c65 7665 6c0a 2020 ents-toplevel. │ │ │ +00024b90: 2253 686f 7773 2061 6c6c 2074 6865 2074 "Shows all the t │ │ │ +00024ba0: 6f70 2d6c 6576 656c 206e 616d 6573 2069 op-level names i │ │ │ +00024bb0: 6e20 7468 6520 6769 7665 6e20 6d6f 6475 n the given modu │ │ │ +00024bc0: 6c65 2e0a 416c 6f6e 6720 7769 7468 2074 le..Along with t │ │ │ +00024bd0: 6865 6972 2074 7970 6573 2e22 0a20 2022 heir types.". " │ │ │ +00024be0: 436d 645f 7368 6f77 5f6d 6f64 756c 655f Cmd_show_module_ │ │ │ +00024bf0: 636f 6e74 656e 7473 5f74 6f70 6c65 7665 contents_topleve │ │ │ +00024c00: 6c22 0a20 2022 4d6f 6475 6c65 206e 616d l". "Module nam │ │ │ +00024c10: 6520 2865 6d70 7479 2066 6f72 2074 6f70 e (empty for top │ │ │ +00024c20: 2d6c 6576 656c 206d 6f64 756c 6529 220a -level module)". │ │ │ +00024c30: 290a 0a28 6167 6461 322d 6d61 7962 652d )..(agda2-maybe- │ │ │ +00024c40: 6e6f 726d 616c 6973 6564 2d74 6f70 6c65 normalised-tople │ │ │ +00024c50: 7665 6c0a 2020 6167 6461 322d 7365 6172 vel. agda2-sear │ │ │ +00024c60: 6368 2d61 626f 7574 2d74 6f70 6c65 7665 ch-about-topleve │ │ │ +00024c70: 6c0a 2020 2253 6561 7263 6820 4162 6f75 l. "Search Abou │ │ │ +00024c80: 7420 616e 2069 6465 6e74 6966 6965 7222 t an identifier" │ │ │ +00024c90: 0a20 2022 436d 645f 7365 6172 6368 5f61 . "Cmd_search_a │ │ │ +00024ca0: 626f 7574 5f74 6f70 6c65 7665 6c22 0a20 bout_toplevel". │ │ │ +00024cb0: 2022 4e61 6d65 220a 290a 0a28 6465 6675 "Name".)..(defu │ │ │ +00024cc0: 6e20 6167 6461 322d 6d6f 6475 6c65 2d63 n agda2-module-c │ │ │ +00024cd0: 6f6e 7465 6e74 732d 6d61 7962 652d 746f ontents-maybe-to │ │ │ +00024ce0: 706c 6576 656c 2028 290a 2020 2253 686f plevel (). "Sho │ │ │ +00024cf0: 7773 2061 6c6c 2074 6865 2074 6f70 2d6c ws all the top-l │ │ │ +00024d00: 6576 656c 206e 616d 6573 2069 6e20 7468 evel names in th │ │ │ +00024d10: 6520 6769 7665 6e20 6d6f 6475 6c65 2e0a e given module.. │ │ │ +00024d20: 416c 6f6e 6720 7769 7468 2074 6865 6972 Along with their │ │ │ +00024d30: 2074 7970 6573 2e0a 0a55 7365 7320 6569 types...Uses ei │ │ │ +00024d40: 7468 6572 2074 6865 2073 636f 7065 206f ther the scope o │ │ │ +00024d50: 6620 7468 6520 6375 7272 656e 7420 676f f the current go │ │ │ +00024d60: 616c 206f 722c 2069 6620 706f 696e 7420 al or, if point │ │ │ +00024d70: 6973 206e 6f74 2069 6e0a 6120 676f 616c is not in.a goal │ │ │ +00024d80: 2c20 7468 6520 746f 702d 6c65 7665 6c20 , the top-level │ │ │ +00024d90: 7363 6f70 652e 220a 2020 2869 6e74 6572 scope.". (inter │ │ │ +00024da0: 6163 7469 7665 290a 2020 2863 616c 6c2d active). (call- │ │ │ +00024db0: 696e 7465 7261 6374 6976 656c 7920 2869 interactively (i │ │ │ +00024dc0: 6620 2861 6764 6132 2d67 6f61 6c2d 6174 f (agda2-goal-at │ │ │ +00024dd0: 2028 706f 696e 7429 290a 2020 2020 2020 (point)). │ │ │ 00024de0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00024df0: 2020 2027 6167 6461 322d 6d6f 6475 6c65 'agda2-module │ │ │ -00024e00: 2d63 6f6e 7465 6e74 730a 2020 2020 2020 -contents. │ │ │ +00024df0: 2020 2020 2761 6764 6132 2d6d 6f64 756c 'agda2-modul │ │ │ +00024e00: 652d 636f 6e74 656e 7473 0a20 2020 2020 e-contents. │ │ │ 00024e10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00024e20: 2020 2761 6764 6132 2d6d 6f64 756c 652d 'agda2-module- │ │ │ -00024e30: 636f 6e74 656e 7473 2d74 6f70 6c65 7665 contents-topleve │ │ │ -00024e40: 6c29 2929 0a0a 2864 6566 756e 2061 6764 l)))..(defun agd │ │ │ -00024e50: 6132 2d73 6f6c 7665 2d6d 6179 6265 2d61 a2-solve-maybe-a │ │ │ -00024e60: 6c6c 2028 290a 2020 2253 6f6c 7665 7320 ll (). "Solves │ │ │ -00024e70: 676f 616c 7320 7468 6174 2061 7265 2061 goals that are a │ │ │ -00024e80: 6c72 6561 6479 2069 6e73 7461 6e74 6961 lready instantia │ │ │ -00024e90: 7465 6420 696e 7465 726e 616c 6c79 2e0a ted internally.. │ │ │ -00024ea0: 4569 7468 6572 206f 6e6c 7920 6f6e 6520 Either only one │ │ │ -00024eb0: 6966 2070 6f69 6e74 2069 7320 6120 676f if point is a go │ │ │ -00024ec0: 616c 2c20 6f72 2061 6c6c 206f 6620 7468 al, or all of th │ │ │ -00024ed0: 656d 2e22 0a20 2028 696e 7465 7261 6374 em.". (interact │ │ │ -00024ee0: 6976 6529 0a20 2028 6361 6c6c 2d69 6e74 ive). (call-int │ │ │ -00024ef0: 6572 6163 7469 7665 6c79 2028 6966 2028 eractively (if ( │ │ │ -00024f00: 6167 6461 322d 676f 616c 2d61 7420 2870 agda2-goal-at (p │ │ │ -00024f10: 6f69 6e74 2929 0a20 2020 2020 2020 2020 oint)). │ │ │ +00024e20: 2020 2027 6167 6461 322d 6d6f 6475 6c65 'agda2-module │ │ │ +00024e30: 2d63 6f6e 7465 6e74 732d 746f 706c 6576 -contents-toplev │ │ │ +00024e40: 656c 2929 290a 0a28 6465 6675 6e20 6167 el)))..(defun ag │ │ │ +00024e50: 6461 322d 736f 6c76 652d 6d61 7962 652d da2-solve-maybe- │ │ │ +00024e60: 616c 6c20 2829 0a20 2022 536f 6c76 6573 all (). "Solves │ │ │ +00024e70: 2067 6f61 6c73 2074 6861 7420 6172 6520 goals that are │ │ │ +00024e80: 616c 7265 6164 7920 696e 7374 616e 7469 already instanti │ │ │ +00024e90: 6174 6564 2069 6e74 6572 6e61 6c6c 792e ated internally. │ │ │ +00024ea0: 0a45 6974 6865 7220 6f6e 6c79 206f 6e65 .Either only one │ │ │ +00024eb0: 2069 6620 706f 696e 7420 6973 2061 2067 if point is a g │ │ │ +00024ec0: 6f61 6c2c 206f 7220 616c 6c20 6f66 2074 oal, or all of t │ │ │ +00024ed0: 6865 6d2e 220a 2020 2869 6e74 6572 6163 hem.". (interac │ │ │ +00024ee0: 7469 7665 290a 2020 2863 616c 6c2d 696e tive). (call-in │ │ │ +00024ef0: 7465 7261 6374 6976 656c 7920 2869 6620 teractively (if │ │ │ +00024f00: 2861 6764 6132 2d67 6f61 6c2d 6174 2028 (agda2-goal-at ( │ │ │ +00024f10: 706f 696e 7429 290a 2020 2020 2020 2020 point)). │ │ │ 00024f20: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00024f30: 2027 6167 6461 322d 736f 6c76 654f 6e65 'agda2-solveOne │ │ │ -00024f40: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ -00024f50: 2020 2020 2020 2020 2020 2027 6167 6461 'agda │ │ │ -00024f60: 322d 736f 6c76 6541 6c6c 2929 0a29 0a0a 2-solveAll)).).. │ │ │ -00024f70: 2864 6566 756e 2061 6764 6132 2d6d 696d (defun agda2-mim │ │ │ -00024f80: 6572 2d6d 6179 6265 2d61 6c6c 2028 290a er-maybe-all (). │ │ │ -00024f90: 2020 2252 756e 2070 726f 6f66 2073 6561 "Run proof sea │ │ │ -00024fa0: 7263 682e 0a45 6974 6865 7220 6f6e 6c79 rch..Either only │ │ │ -00024fb0: 206f 6e65 2069 6620 706f 696e 7420 6973 one if point is │ │ │ -00024fc0: 2061 2067 6f61 6c2c 206f 7220 616c 6c20 a goal, or all │ │ │ -00024fd0: 6f66 2074 6865 6d2e 220a 2020 2869 6e74 of them.". (int │ │ │ -00024fe0: 6572 6163 7469 7665 290a 2020 2863 616c eractive). (cal │ │ │ -00024ff0: 6c2d 696e 7465 7261 6374 6976 656c 7920 l-interactively │ │ │ -00025000: 2869 6620 2861 6764 6132 2d67 6f61 6c2d (if (agda2-goal- │ │ │ -00025010: 6174 2028 706f 696e 7429 290a 2020 2020 at (point)). │ │ │ +00024f30: 2020 2761 6764 6132 2d73 6f6c 7665 4f6e 'agda2-solveOn │ │ │ +00024f40: 650a 2020 2020 2020 2020 2020 2020 2020 e. │ │ │ +00024f50: 2020 2020 2020 2020 2020 2020 2761 6764 'agd │ │ │ +00024f60: 6132 2d73 6f6c 7665 416c 6c29 290a 290a a2-solveAll)).). │ │ │ +00024f70: 0a28 6465 6675 6e20 6167 6461 322d 6d69 .(defun agda2-mi │ │ │ +00024f80: 6d65 722d 6d61 7962 652d 616c 6c20 2829 mer-maybe-all () │ │ │ +00024f90: 0a20 2022 5275 6e20 7072 6f6f 6620 7365 . "Run proof se │ │ │ +00024fa0: 6172 6368 2e0a 4569 7468 6572 206f 6e6c arch..Either onl │ │ │ +00024fb0: 7920 6f6e 6520 6966 2070 6f69 6e74 2069 y one if point i │ │ │ +00024fc0: 7320 6120 676f 616c 2c20 6f72 2061 6c6c s a goal, or all │ │ │ +00024fd0: 206f 6620 7468 656d 2e22 0a20 2028 696e of them.". (in │ │ │ +00024fe0: 7465 7261 6374 6976 6529 0a20 2028 6361 teractive). (ca │ │ │ +00024ff0: 6c6c 2d69 6e74 6572 6163 7469 7665 6c79 ll-interactively │ │ │ +00025000: 2028 6966 2028 6167 6461 322d 676f 616c (if (agda2-goal │ │ │ +00025010: 2d61 7420 2870 6f69 6e74 2929 0a20 2020 -at (point)). │ │ │ 00025020: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00025030: 2020 2020 2020 2761 6764 6132 2d6d 696d 'agda2-mim │ │ │ -00025040: 6572 0a20 2020 2020 2020 2020 2020 2020 er. │ │ │ -00025050: 2020 2020 2020 2020 2020 2020 2027 6167 'ag │ │ │ -00025060: 6461 322d 6d69 6d65 7241 6c6c 2929 0a29 da2-mimerAll)).) │ │ │ -00025070: 0a0a 2861 6764 6132 2d6d 6179 6265 2d6e ..(agda2-maybe-n │ │ │ -00025080: 6f72 6d61 6c69 7365 642d 6173 6973 0a20 ormalised-asis. │ │ │ -00025090: 2061 6764 6132 2d6d 696d 6572 0a20 2022 agda2-mimer. " │ │ │ -000250a0: 5275 6e20 7072 6f6f 6620 7365 6172 6368 Run proof search │ │ │ -000250b0: 206f 6e20 6120 676f 616c 2e22 0a20 2022 on a goal.". " │ │ │ -000250c0: 436d 645f 6175 746f 4f6e 6522 0a20 2027 Cmd_autoOne". ' │ │ │ -000250d0: 676f 616c 0a29 0a0a 2861 6764 6132 2d6d goal.)..(agda2-m │ │ │ -000250e0: 6179 6265 2d6e 6f72 6d61 6c69 7365 642d aybe-normalised- │ │ │ -000250f0: 746f 706c 6576 656c 2d61 7369 732d 6e6f toplevel-asis-no │ │ │ -00025100: 7072 6f6d 7074 0a20 2061 6764 6132 2d6d prompt. agda2-m │ │ │ -00025110: 696d 6572 416c 6c0a 2020 2253 6f6c 7665 imerAll. "Solve │ │ │ -00025120: 7320 616c 6c20 676f 616c 7320 6279 2073 s all goals by s │ │ │ -00025130: 696d 706c 6520 7072 6f6f 6620 7365 6172 imple proof sear │ │ │ -00025140: 6368 2e22 0a20 2022 436d 645f 6175 746f ch.". "Cmd_auto │ │ │ -00025150: 416c 6c22 0a29 0a0a 2861 6764 6132 2d6d All".)..(agda2-m │ │ │ -00025160: 6179 6265 2d6e 6f72 6d61 6c69 7365 642d aybe-normalised- │ │ │ -00025170: 746f 706c 6576 656c 2d61 7369 732d 6e6f toplevel-asis-no │ │ │ -00025180: 7072 6f6d 7074 0a20 6167 6461 322d 7368 prompt. agda2-sh │ │ │ -00025190: 6f77 2d67 6f61 6c73 0a20 2253 686f 7720 ow-goals. "Show │ │ │ -000251a0: 616c 6c20 676f 616c 732e 220a 2022 436d all goals.". "Cm │ │ │ -000251b0: 645f 6d65 7461 7322 0a20 290a 0a28 6167 d_metas". )..(ag │ │ │ -000251c0: 6461 322d 6d61 7962 652d 6e6f 726d 616c da2-maybe-normal │ │ │ -000251d0: 6973 6564 2d74 6f70 6c65 7665 6c2d 6173 ised-toplevel-as │ │ │ -000251e0: 6973 2d6e 6f70 726f 6d70 740a 2061 6764 is-noprompt. agd │ │ │ -000251f0: 6132 2d73 6f6c 7665 416c 6c0a 2022 536f a2-solveAll. "So │ │ │ -00025200: 6c76 6573 2061 6c6c 2067 6f61 6c73 2074 lves all goals t │ │ │ -00025210: 6861 7420 6172 6520 616c 7265 6164 7920 hat are already │ │ │ -00025220: 696e 7374 616e 7469 6174 6564 2069 6e74 instantiated int │ │ │ -00025230: 6572 6e61 6c6c 792e 220a 2022 436d 645f ernally.". "Cmd_ │ │ │ -00025240: 736f 6c76 6541 6c6c 220a 2029 0a0a 2861 solveAll". )..(a │ │ │ -00025250: 6764 6132 2d6d 6179 6265 2d6e 6f72 6d61 gda2-maybe-norma │ │ │ -00025260: 6c69 7365 640a 2020 6167 6461 322d 736f lised. agda2-so │ │ │ -00025270: 6c76 654f 6e65 0a20 2022 536f 6c76 6573 lveOne. "Solves │ │ │ -00025280: 2074 6865 2067 6f61 6c20 6174 2070 6f69 the goal at poi │ │ │ -00025290: 6e74 2069 6620 6974 2069 7320 616c 7265 nt if it is alre │ │ │ -000252a0: 6164 7920 696e 7374 616e 7469 6174 6564 ady instantiated │ │ │ -000252b0: 2069 6e74 6572 6e61 6c6c 7922 0a20 2022 internally". " │ │ │ -000252c0: 436d 645f 736f 6c76 654f 6e65 220a 2020 Cmd_solveOne". │ │ │ -000252d0: 6e69 6c0a 290a 0a28 6465 6675 6e20 6167 nil.)..(defun ag │ │ │ -000252e0: 6461 322d 736f 6c76 6541 6c6c 2d61 6374 da2-solveAll-act │ │ │ -000252f0: 696f 6e20 2869 7373 290a 2020 2877 6869 ion (iss). (whi │ │ │ -00025300: 6c65 2069 7373 0a20 2020 2028 6c65 742a le iss. (let* │ │ │ -00025310: 2028 2867 2028 706f 7020 6973 7329 2920 ((g (pop iss)) │ │ │ -00025320: 2874 7874 2028 706f 7020 6973 7329 290a (txt (pop iss)). │ │ │ -00025330: 2020 2020 2020 2020 2020 2028 636d 6420 (cmd │ │ │ -00025340: 2863 6f6e 7320 2761 6764 6132 2d73 6f6c (cons 'agda2-sol │ │ │ -00025350: 7665 2d61 6374 696f 6e20 2863 6f6e 7320 ve-action (cons │ │ │ -00025360: 6720 2863 6f6e 7320 7478 7420 6e69 6c29 g (cons txt nil) │ │ │ -00025370: 2929 2929 0a20 2020 2020 2028 6966 2028 )))). (if ( │ │ │ -00025380: 6e75 6c6c 2061 6764 6132 2d6c 6173 742d null agda2-last- │ │ │ -00025390: 7265 7370 6f6e 7365 7329 0a20 2020 2020 responses). │ │ │ -000253a0: 2020 2020 2028 7075 7368 2028 636f 6e73 (push (cons │ │ │ -000253b0: 2031 2063 6d64 2920 6167 6461 322d 6c61 1 cmd) agda2-la │ │ │ -000253c0: 7374 2d72 6573 706f 6e73 6573 290a 2020 st-responses). │ │ │ -000253d0: 2020 2020 2020 286e 636f 6e63 2061 6764 (nconc agd │ │ │ -000253e0: 6132 2d6c 6173 742d 7265 7370 6f6e 7365 a2-last-response │ │ │ -000253f0: 7320 2863 6f6e 7320 2863 6f6e 7320 3320 s (cons (cons 3 │ │ │ -00025400: 636d 6429 206e 696c 2929 2929 2929 0a0a cmd) nil)))))).. │ │ │ -00025410: 2864 6566 756e 2061 6764 6132 2d73 6f6c (defun agda2-sol │ │ │ -00025420: 7665 2d61 6374 696f 6e20 2867 2074 7874 ve-action (g txt │ │ │ -00025430: 290a 2020 2873 6176 652d 6578 6375 7273 ). (save-excurs │ │ │ -00025440: 696f 6e0a 2020 2020 2861 6764 6132 2d72 ion. (agda2-r │ │ │ -00025450: 6570 6c61 6365 2d67 6f61 6c20 6720 7478 eplace-goal g tx │ │ │ -00025460: 7429 0a20 2020 2028 6167 6461 322d 676f t). (agda2-go │ │ │ -00025470: 746f 2d67 6f61 6c20 6729 0a20 2020 2028 to-goal g). ( │ │ │ -00025480: 6167 6461 322d 6769 7665 2929 290a 0a28 agda2-give)))..( │ │ │ -00025490: 6465 6675 6e20 6167 6461 322d 636f 6d70 defun agda2-comp │ │ │ -000254a0: 7574 652d 6e6f 726d 616c 6973 6564 2028 ute-normalised ( │ │ │ -000254b0: 266f 7074 696f 6e61 6c20 6172 6729 0a20 &optional arg). │ │ │ -000254c0: 2022 436f 6d70 7574 6520 7468 6520 6e6f "Compute the no │ │ │ -000254d0: 726d 616c 2066 6f72 6d20 6f66 2074 6865 rmal form of the │ │ │ -000254e0: 2065 7870 7265 7373 696f 6e20 696e 2074 expression in t │ │ │ -000254f0: 6865 2067 6f61 6c20 6174 2070 6f69 6e74 he goal at point │ │ │ -00025500: 2e0a 0a57 6974 6820 7468 6520 7072 6566 ...With the pref │ │ │ -00025510: 6978 2061 7267 756d 656e 7420 6028 3429 ix argument `(4) │ │ │ -00025520: 2720 5c22 6162 7374 7261 6374 5c22 2069 ' \"abstract\" i │ │ │ -00025530: 7320 6967 6e6f 7265 6420 6475 7269 6e67 s ignored during │ │ │ -00025540: 2074 6865 0a63 6f6d 7075 7461 7469 6f6e the.computation │ │ │ -00025550: 2e0a 0a57 6974 6820 6120 7072 6566 6978 ...With a prefix │ │ │ -00025560: 2061 7267 756d 656e 7420 6028 3136 2927 argument `(16)' │ │ │ -00025570: 2074 6865 206e 6f72 6d61 6c20 666f 726d the normal form │ │ │ -00025580: 206f 660a 5c22 7368 6f77 203c 6578 7072 of.\"show \" is com │ │ │ -000255a0: 7075 7465 642c 2061 6e64 2074 6865 6e20 puted, and then │ │ │ -000255b0: 7468 6520 7265 7375 6c74 696e 6720 7374 the resulting st │ │ │ -000255c0: 7269 6e67 0a69 7320 7072 696e 7465 642e ring.is printed. │ │ │ -000255d0: 0a0a 5769 7468 2061 6e79 206f 7468 6572 ..With any other │ │ │ -000255e0: 2070 7265 6669 7820 7468 6520 6865 6164 prefix the head │ │ │ -000255f0: 206e 6f72 6d61 6c20 666f 726d 2069 7320 normal form is │ │ │ -00025600: 636f 6d70 7574 6564 2e22 0a20 2028 696e computed.". (in │ │ │ -00025610: 7465 7261 6374 6976 6520 2250 2229 0a20 teractive "P"). │ │ │ -00025620: 2028 6c65 7420 2828 636d 6420 2863 6f6e (let ((cmd (con │ │ │ -00025630: 6361 7420 2243 6d64 5f63 6f6d 7075 7465 cat "Cmd_compute │ │ │ -00025640: 220a 2020 2020 2020 2020 2020 2020 2020 ". │ │ │ -00025650: 2020 2020 2020 2020 2863 6f6e 6420 2828 (cond (( │ │ │ -00025660: 6571 7561 6c20 6172 6720 6e69 6c29 2022 equal arg nil) " │ │ │ -00025670: 2044 6566 6175 6c74 436f 6d70 7574 6522 DefaultCompute" │ │ │ -00025680: 290a 2020 2020 2020 2020 2020 2020 2020 ). │ │ │ -00025690: 2020 2020 2020 2020 2020 2020 2020 2828 (( │ │ │ -000256a0: 6571 7561 6c20 6172 6720 2728 3429 2920 equal arg '(4)) │ │ │ -000256b0: 2220 4967 6e6f 7265 4162 7374 7261 6374 " IgnoreAbstract │ │ │ -000256c0: 2229 0a20 2020 2020 2020 2020 2020 2020 "). │ │ │ -000256d0: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ -000256e0: 2865 7175 616c 2061 7267 2027 2831 3629 (equal arg '(16) │ │ │ -000256f0: 2920 2220 5573 6553 686f 7749 6e73 7461 ) " UseShowInsta │ │ │ -00025700: 6e63 6522 290a 2020 2020 2020 2020 2020 nce"). │ │ │ +00025030: 2020 2020 2020 2027 6167 6461 322d 6d69 'agda2-mi │ │ │ +00025040: 6d65 720a 2020 2020 2020 2020 2020 2020 mer. │ │ │ +00025050: 2020 2020 2020 2020 2020 2020 2020 2761 'a │ │ │ +00025060: 6764 6132 2d6d 696d 6572 416c 6c29 290a gda2-mimerAll)). │ │ │ +00025070: 290a 0a28 6167 6461 322d 6d61 7962 652d )..(agda2-maybe- │ │ │ +00025080: 6e6f 726d 616c 6973 6564 2d61 7369 730a normalised-asis. │ │ │ +00025090: 2020 6167 6461 322d 6d69 6d65 720a 2020 agda2-mimer. │ │ │ +000250a0: 2252 756e 2070 726f 6f66 2073 6561 7263 "Run proof searc │ │ │ +000250b0: 6820 6f6e 2061 2067 6f61 6c2e 220a 2020 h on a goal.". │ │ │ +000250c0: 2243 6d64 5f61 7574 6f4f 6e65 220a 2020 "Cmd_autoOne". │ │ │ +000250d0: 2767 6f61 6c0a 290a 0a28 6167 6461 322d 'goal.)..(agda2- │ │ │ +000250e0: 6d61 7962 652d 6e6f 726d 616c 6973 6564 maybe-normalised │ │ │ +000250f0: 2d74 6f70 6c65 7665 6c2d 6173 6973 2d6e -toplevel-asis-n │ │ │ +00025100: 6f70 726f 6d70 740a 2020 6167 6461 322d oprompt. agda2- │ │ │ +00025110: 6d69 6d65 7241 6c6c 0a20 2022 536f 6c76 mimerAll. "Solv │ │ │ +00025120: 6573 2061 6c6c 2067 6f61 6c73 2062 7920 es all goals by │ │ │ +00025130: 7369 6d70 6c65 2070 726f 6f66 2073 6561 simple proof sea │ │ │ +00025140: 7263 682e 220a 2020 2243 6d64 5f61 7574 rch.". "Cmd_aut │ │ │ +00025150: 6f41 6c6c 220a 290a 0a28 6167 6461 322d oAll".)..(agda2- │ │ │ +00025160: 6d61 7962 652d 6e6f 726d 616c 6973 6564 maybe-normalised │ │ │ +00025170: 2d74 6f70 6c65 7665 6c2d 6173 6973 2d6e -toplevel-asis-n │ │ │ +00025180: 6f70 726f 6d70 740a 2061 6764 6132 2d73 oprompt. agda2-s │ │ │ +00025190: 686f 772d 676f 616c 730a 2022 5368 6f77 how-goals. "Show │ │ │ +000251a0: 2061 6c6c 2067 6f61 6c73 2e22 0a20 2243 all goals.". "C │ │ │ +000251b0: 6d64 5f6d 6574 6173 220a 2029 0a0a 2861 md_metas". )..(a │ │ │ +000251c0: 6764 6132 2d6d 6179 6265 2d6e 6f72 6d61 gda2-maybe-norma │ │ │ +000251d0: 6c69 7365 642d 746f 706c 6576 656c 2d61 lised-toplevel-a │ │ │ +000251e0: 7369 732d 6e6f 7072 6f6d 7074 0a20 6167 sis-noprompt. ag │ │ │ +000251f0: 6461 322d 736f 6c76 6541 6c6c 0a20 2253 da2-solveAll. "S │ │ │ +00025200: 6f6c 7665 7320 616c 6c20 676f 616c 7320 olves all goals │ │ │ +00025210: 7468 6174 2061 7265 2061 6c72 6561 6479 that are already │ │ │ +00025220: 2069 6e73 7461 6e74 6961 7465 6420 696e instantiated in │ │ │ +00025230: 7465 726e 616c 6c79 2e22 0a20 2243 6d64 ternally.". "Cmd │ │ │ +00025240: 5f73 6f6c 7665 416c 6c22 0a20 290a 0a28 _solveAll". )..( │ │ │ +00025250: 6167 6461 322d 6d61 7962 652d 6e6f 726d agda2-maybe-norm │ │ │ +00025260: 616c 6973 6564 0a20 2061 6764 6132 2d73 alised. agda2-s │ │ │ +00025270: 6f6c 7665 4f6e 650a 2020 2253 6f6c 7665 olveOne. "Solve │ │ │ +00025280: 7320 7468 6520 676f 616c 2061 7420 706f s the goal at po │ │ │ +00025290: 696e 7420 6966 2069 7420 6973 2061 6c72 int if it is alr │ │ │ +000252a0: 6561 6479 2069 6e73 7461 6e74 6961 7465 eady instantiate │ │ │ +000252b0: 6420 696e 7465 726e 616c 6c79 220a 2020 d internally". │ │ │ +000252c0: 2243 6d64 5f73 6f6c 7665 4f6e 6522 0a20 "Cmd_solveOne". │ │ │ +000252d0: 206e 696c 0a29 0a0a 2864 6566 756e 2061 nil.)..(defun a │ │ │ +000252e0: 6764 6132 2d73 6f6c 7665 416c 6c2d 6163 gda2-solveAll-ac │ │ │ +000252f0: 7469 6f6e 2028 6973 7329 0a20 2028 7768 tion (iss). (wh │ │ │ +00025300: 696c 6520 6973 730a 2020 2020 286c 6574 ile iss. (let │ │ │ +00025310: 2a20 2828 6720 2870 6f70 2069 7373 2929 * ((g (pop iss)) │ │ │ +00025320: 2028 7478 7420 2870 6f70 2069 7373 2929 (txt (pop iss)) │ │ │ +00025330: 0a20 2020 2020 2020 2020 2020 2863 6d64 . (cmd │ │ │ +00025340: 2028 636f 6e73 2027 6167 6461 322d 736f (cons 'agda2-so │ │ │ +00025350: 6c76 652d 6163 7469 6f6e 2028 636f 6e73 lve-action (cons │ │ │ +00025360: 2067 2028 636f 6e73 2074 7874 206e 696c g (cons txt nil │ │ │ +00025370: 2929 2929 290a 2020 2020 2020 2869 6620 ))))). (if │ │ │ +00025380: 286e 756c 6c20 6167 6461 322d 6c61 7374 (null agda2-last │ │ │ +00025390: 2d72 6573 706f 6e73 6573 290a 2020 2020 -responses). │ │ │ +000253a0: 2020 2020 2020 2870 7573 6820 2863 6f6e (push (con │ │ │ +000253b0: 7320 3120 636d 6429 2061 6764 6132 2d6c s 1 cmd) agda2-l │ │ │ +000253c0: 6173 742d 7265 7370 6f6e 7365 7329 0a20 ast-responses). │ │ │ +000253d0: 2020 2020 2020 2028 6e63 6f6e 6320 6167 (nconc ag │ │ │ +000253e0: 6461 322d 6c61 7374 2d72 6573 706f 6e73 da2-last-respons │ │ │ +000253f0: 6573 2028 636f 6e73 2028 636f 6e73 2033 es (cons (cons 3 │ │ │ +00025400: 2063 6d64 2920 6e69 6c29 2929 2929 290a cmd) nil)))))). │ │ │ +00025410: 0a28 6465 6675 6e20 6167 6461 322d 736f .(defun agda2-so │ │ │ +00025420: 6c76 652d 6163 7469 6f6e 2028 6720 7478 lve-action (g tx │ │ │ +00025430: 7429 0a20 2028 7361 7665 2d65 7863 7572 t). (save-excur │ │ │ +00025440: 7369 6f6e 0a20 2020 2028 6167 6461 322d sion. (agda2- │ │ │ +00025450: 7265 706c 6163 652d 676f 616c 2067 2074 replace-goal g t │ │ │ +00025460: 7874 290a 2020 2020 2861 6764 6132 2d67 xt). (agda2-g │ │ │ +00025470: 6f74 6f2d 676f 616c 2067 290a 2020 2020 oto-goal g). │ │ │ +00025480: 2861 6764 6132 2d67 6976 6529 2929 0a0a (agda2-give))).. │ │ │ +00025490: 2864 6566 756e 2061 6764 6132 2d63 6f6d (defun agda2-com │ │ │ +000254a0: 7075 7465 2d6e 6f72 6d61 6c69 7365 6420 pute-normalised │ │ │ +000254b0: 2826 6f70 7469 6f6e 616c 2061 7267 290a (&optional arg). │ │ │ +000254c0: 2020 2243 6f6d 7075 7465 2074 6865 206e "Compute the n │ │ │ +000254d0: 6f72 6d61 6c20 666f 726d 206f 6620 7468 ormal form of th │ │ │ +000254e0: 6520 6578 7072 6573 7369 6f6e 2069 6e20 e expression in │ │ │ +000254f0: 7468 6520 676f 616c 2061 7420 706f 696e the goal at poin │ │ │ +00025500: 742e 0a0a 5769 7468 2074 6865 2070 7265 t...With the pre │ │ │ +00025510: 6669 7820 6172 6775 6d65 6e74 2060 2834 fix argument `(4 │ │ │ +00025520: 2927 205c 2261 6273 7472 6163 745c 2220 )' \"abstract\" │ │ │ +00025530: 6973 2069 676e 6f72 6564 2064 7572 696e is ignored durin │ │ │ +00025540: 6720 7468 650a 636f 6d70 7574 6174 696f g the.computatio │ │ │ +00025550: 6e2e 0a0a 5769 7468 2061 2070 7265 6669 n...With a prefi │ │ │ +00025560: 7820 6172 6775 6d65 6e74 2060 2831 3629 x argument `(16) │ │ │ +00025570: 2720 7468 6520 6e6f 726d 616c 2066 6f72 ' the normal for │ │ │ +00025580: 6d20 6f66 0a5c 2273 686f 7720 3c65 7870 m of.\"show \" is co │ │ │ +000255a0: 6d70 7574 6564 2c20 616e 6420 7468 656e mputed, and then │ │ │ +000255b0: 2074 6865 2072 6573 756c 7469 6e67 2073 the resulting s │ │ │ +000255c0: 7472 696e 670a 6973 2070 7269 6e74 6564 tring.is printed │ │ │ +000255d0: 2e0a 0a57 6974 6820 616e 7920 6f74 6865 ...With any othe │ │ │ +000255e0: 7220 7072 6566 6978 2074 6865 2068 6561 r prefix the hea │ │ │ +000255f0: 6420 6e6f 726d 616c 2066 6f72 6d20 6973 d normal form is │ │ │ +00025600: 2063 6f6d 7075 7465 642e 220a 2020 2869 computed.". (i │ │ │ +00025610: 6e74 6572 6163 7469 7665 2022 5022 290a nteractive "P"). │ │ │ +00025620: 2020 286c 6574 2028 2863 6d64 2028 636f (let ((cmd (co │ │ │ +00025630: 6e63 6174 2022 436d 645f 636f 6d70 7574 ncat "Cmd_comput │ │ │ +00025640: 6522 0a20 2020 2020 2020 2020 2020 2020 e". │ │ │ +00025650: 2020 2020 2020 2020 2028 636f 6e64 2028 (cond ( │ │ │ +00025660: 2865 7175 616c 2061 7267 206e 696c 2920 (equal arg nil) │ │ │ +00025670: 2220 4465 6661 756c 7443 6f6d 7075 7465 " DefaultCompute │ │ │ +00025680: 2229 0a20 2020 2020 2020 2020 2020 2020 "). │ │ │ +00025690: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ +000256a0: 2865 7175 616c 2061 7267 2027 2834 2929 (equal arg '(4)) │ │ │ +000256b0: 2022 2049 676e 6f72 6541 6273 7472 6163 " IgnoreAbstrac │ │ │ +000256c0: 7422 290a 2020 2020 2020 2020 2020 2020 t"). │ │ │ +000256d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +000256e0: 2828 6571 7561 6c20 6172 6720 2728 3136 ((equal arg '(16 │ │ │ +000256f0: 2929 2022 2055 7365 5368 6f77 496e 7374 )) " UseShowInst │ │ │ +00025700: 616e 6365 2229 0a20 2020 2020 2020 2020 ance"). │ │ │ 00025710: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00025720: 2020 2822 2048 6561 6443 6f6d 7075 7465 (" HeadCompute │ │ │ -00025730: 2229 2929 2929 0a20 2020 2028 6167 6461 "))))). (agda │ │ │ -00025740: 322d 676f 616c 2d63 6d64 2063 6d64 206e 2-goal-cmd cmd n │ │ │ -00025750: 696c 2022 6578 7072 6573 7369 6f6e 2074 il "expression t │ │ │ -00025760: 6f20 6e6f 726d 616c 6973 6522 2929 290a o normalise"))). │ │ │ -00025770: 0a28 6465 6675 6e20 6167 6461 322d 636f .(defun agda2-co │ │ │ -00025780: 6d70 7574 652d 6e6f 726d 616c 6973 6564 mpute-normalised │ │ │ -00025790: 2d74 6f70 6c65 7665 6c20 2865 7870 7220 -toplevel (expr │ │ │ -000257a0: 266f 7074 696f 6e61 6c20 6172 6729 0a20 &optional arg). │ │ │ -000257b0: 2022 436f 6d70 7574 6520 7468 6520 6e6f "Compute the no │ │ │ -000257c0: 726d 616c 2066 6f72 6d20 6f66 2074 6865 rmal form of the │ │ │ -000257d0: 2067 6976 656e 2065 7870 7265 7373 696f given expressio │ │ │ -000257e0: 6e2e 0a54 6865 2073 636f 7065 2075 7365 n..The scope use │ │ │ -000257f0: 6420 666f 7220 7468 6520 6578 7072 6573 d for the expres │ │ │ -00025800: 7369 6f6e 2069 7320 7468 6174 206f 6620 sion is that of │ │ │ -00025810: 7468 6520 6c61 7374 2070 6f69 6e74 0a69 the last point.i │ │ │ -00025820: 6e73 6964 6520 7468 6520 6375 7272 656e nside the curren │ │ │ -00025830: 7420 746f 702d 6c65 7665 6c20 6d6f 6475 t top-level modu │ │ │ -00025840: 6c65 2e0a 0a57 6974 6820 6120 7072 6566 le...With a pref │ │ │ -00025850: 6978 2061 7267 756d 656e 7420 6469 7374 ix argument dist │ │ │ -00025860: 696e 6374 2066 726f 6d20 6028 3429 2720 inct from `(4)' │ │ │ -00025870: 7468 6520 6e6f 726d 616c 2066 6f72 6d20 the normal form │ │ │ -00025880: 6f66 0a5c 2273 686f 7720 3c65 7870 7265 of.\"show \" is comp │ │ │ -000258a0: 7574 6564 2c20 616e 6420 7468 656e 2074 uted, and then t │ │ │ -000258b0: 6865 2072 6573 756c 7469 6e67 2073 7472 he resulting str │ │ │ -000258c0: 696e 670a 6973 2070 7269 6e74 6564 2e0a ing.is printed.. │ │ │ -000258d0: 0a57 6974 6820 7468 6520 7072 6566 6978 .With the prefix │ │ │ -000258e0: 2061 7267 756d 656e 7420 6028 3429 2720 argument `(4)' │ │ │ -000258f0: 5c22 6162 7374 7261 6374 5c22 2069 7320 \"abstract\" is │ │ │ -00025900: 6967 6e6f 7265 6420 6475 7269 6e67 2074 ignored during t │ │ │ -00025910: 6865 0a63 6f6d 7075 7461 7469 6f6e 2e22 he.computation." │ │ │ -00025920: 0a20 2028 696e 7465 7261 6374 6976 6520 . (interactive │ │ │ -00025930: 224d 4578 7072 6573 7369 6f6e 3a20 5c6e "MExpression: \n │ │ │ -00025940: 5022 290a 2020 286c 6574 2028 2863 6d64 P"). (let ((cmd │ │ │ -00025950: 2028 636f 6e63 6174 2022 436d 645f 636f (concat "Cmd_co │ │ │ -00025960: 6d70 7574 655f 746f 706c 6576 656c 220a mpute_toplevel". │ │ │ -00025970: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00025980: 2020 2020 2028 636f 6e64 2028 2865 7175 (cond ((equ │ │ │ -00025990: 616c 2061 7267 206e 696c 2920 2220 4465 al arg nil) " De │ │ │ -000259a0: 6661 756c 7443 6f6d 7075 7465 2229 0a20 faultCompute"). │ │ │ +00025720: 2020 2028 2220 4865 6164 436f 6d70 7574 (" HeadComput │ │ │ +00025730: 6522 2929 2929 290a 2020 2020 2861 6764 e"))))). (agd │ │ │ +00025740: 6132 2d67 6f61 6c2d 636d 6420 636d 6420 a2-goal-cmd cmd │ │ │ +00025750: 6e69 6c20 2265 7870 7265 7373 696f 6e20 nil "expression │ │ │ +00025760: 746f 206e 6f72 6d61 6c69 7365 2229 2929 to normalise"))) │ │ │ +00025770: 0a0a 2864 6566 756e 2061 6764 6132 2d63 ..(defun agda2-c │ │ │ +00025780: 6f6d 7075 7465 2d6e 6f72 6d61 6c69 7365 ompute-normalise │ │ │ +00025790: 642d 746f 706c 6576 656c 2028 6578 7072 d-toplevel (expr │ │ │ +000257a0: 2026 6f70 7469 6f6e 616c 2061 7267 290a &optional arg). │ │ │ +000257b0: 2020 2243 6f6d 7075 7465 2074 6865 206e "Compute the n │ │ │ +000257c0: 6f72 6d61 6c20 666f 726d 206f 6620 7468 ormal form of th │ │ │ +000257d0: 6520 6769 7665 6e20 6578 7072 6573 7369 e given expressi │ │ │ +000257e0: 6f6e 2e0a 5468 6520 7363 6f70 6520 7573 on..The scope us │ │ │ +000257f0: 6564 2066 6f72 2074 6865 2065 7870 7265 ed for the expre │ │ │ +00025800: 7373 696f 6e20 6973 2074 6861 7420 6f66 ssion is that of │ │ │ +00025810: 2074 6865 206c 6173 7420 706f 696e 740a the last point. │ │ │ +00025820: 696e 7369 6465 2074 6865 2063 7572 7265 inside the curre │ │ │ +00025830: 6e74 2074 6f70 2d6c 6576 656c 206d 6f64 nt top-level mod │ │ │ +00025840: 756c 652e 0a0a 5769 7468 2061 2070 7265 ule...With a pre │ │ │ +00025850: 6669 7820 6172 6775 6d65 6e74 2064 6973 fix argument dis │ │ │ +00025860: 7469 6e63 7420 6672 6f6d 2060 2834 2927 tinct from `(4)' │ │ │ +00025870: 2074 6865 206e 6f72 6d61 6c20 666f 726d the normal form │ │ │ +00025880: 206f 660a 5c22 7368 6f77 203c 6578 7072 of.\"show \" is com │ │ │ +000258a0: 7075 7465 642c 2061 6e64 2074 6865 6e20 puted, and then │ │ │ +000258b0: 7468 6520 7265 7375 6c74 696e 6720 7374 the resulting st │ │ │ +000258c0: 7269 6e67 0a69 7320 7072 696e 7465 642e ring.is printed. │ │ │ +000258d0: 0a0a 5769 7468 2074 6865 2070 7265 6669 ..With the prefi │ │ │ +000258e0: 7820 6172 6775 6d65 6e74 2060 2834 2927 x argument `(4)' │ │ │ +000258f0: 205c 2261 6273 7472 6163 745c 2220 6973 \"abstract\" is │ │ │ +00025900: 2069 676e 6f72 6564 2064 7572 696e 6720 ignored during │ │ │ +00025910: 7468 650a 636f 6d70 7574 6174 696f 6e2e the.computation. │ │ │ +00025920: 220a 2020 2869 6e74 6572 6163 7469 7665 ". (interactive │ │ │ +00025930: 2022 4d45 7870 7265 7373 696f 6e3a 205c "MExpression: \ │ │ │ +00025940: 6e50 2229 0a20 2028 6c65 7420 2828 636d nP"). (let ((cm │ │ │ +00025950: 6420 2863 6f6e 6361 7420 2243 6d64 5f63 d (concat "Cmd_c │ │ │ +00025960: 6f6d 7075 7465 5f74 6f70 6c65 7665 6c22 ompute_toplevel" │ │ │ +00025970: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ +00025980: 2020 2020 2020 2863 6f6e 6420 2828 6571 (cond ((eq │ │ │ +00025990: 7561 6c20 6172 6720 6e69 6c29 2022 2044 ual arg nil) " D │ │ │ +000259a0: 6566 6175 6c74 436f 6d70 7574 6522 290a efaultCompute"). │ │ │ 000259b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -000259c0: 2020 2020 2020 2020 2020 2028 2865 7175 ((equ │ │ │ -000259d0: 616c 2061 7267 2027 2834 2929 2022 2049 al arg '(4)) " I │ │ │ -000259e0: 676e 6f72 6541 6273 7472 6163 7422 290a gnoreAbstract"). │ │ │ -000259f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00025a00: 2020 2020 2020 2020 2020 2020 2828 6571 ((eq │ │ │ -00025a10: 7561 6c20 6172 6720 2728 3136 2929 2022 ual arg '(16)) " │ │ │ -00025a20: 2055 7365 5368 6f77 496e 7374 616e 6365 UseShowInstance │ │ │ -00025a30: 2229 0a20 2020 2020 2020 2020 2020 2020 "). │ │ │ -00025a40: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ -00025a50: 2220 4865 6164 436f 6d70 7574 6522 2929 " HeadCompute")) │ │ │ -00025a60: 2022 2022 2929 290a 2020 2020 2861 6764 " "))). (agd │ │ │ -00025a70: 6132 2d67 6f20 6e69 6c20 7420 2762 7573 a2-go nil t 'bus │ │ │ -00025a80: 7920 740a 2020 2020 2020 2020 2020 2020 y t. │ │ │ -00025a90: 2020 2863 6f6e 6361 7420 636d 6420 2861 (concat cmd (a │ │ │ -00025aa0: 6764 6132 2d73 7472 696e 672d 7175 6f74 gda2-string-quot │ │ │ -00025ab0: 6520 6578 7072 2929 2929 290a 0a28 6465 e expr)))))..(de │ │ │ -00025ac0: 6675 6e20 6167 6461 322d 636f 6d70 7574 fun agda2-comput │ │ │ -00025ad0: 652d 6e6f 726d 616c 6973 6564 2d6d 6179 e-normalised-may │ │ │ -00025ae0: 6265 2d74 6f70 6c65 7665 6c20 2829 0a20 be-toplevel (). │ │ │ -00025af0: 2022 436f 6d70 7574 6520 7468 6520 6e6f "Compute the no │ │ │ -00025b00: 726d 616c 2066 6f72 6d20 6f66 2074 6865 rmal form of the │ │ │ -00025b10: 2067 6976 656e 2065 7870 7265 7373 696f given expressio │ │ │ -00025b20: 6e2e 0a54 6865 2073 636f 7065 2075 7365 n..The scope use │ │ │ -00025b30: 6420 666f 7220 7468 6520 6578 7072 6573 d for the expres │ │ │ -00025b40: 7369 6f6e 2069 7320 7468 6174 206f 6620 sion is that of │ │ │ -00025b50: 7468 6520 6c61 7374 2070 6f69 6e74 0a69 the last point.i │ │ │ -00025b60: 6e73 6964 6520 7468 6520 6375 7272 656e nside the curren │ │ │ -00025b70: 7420 746f 702d 6c65 7665 6c20 6d6f 6475 t top-level modu │ │ │ -00025b80: 6c65 2e0a 0a57 6974 6820 6120 7072 6566 le...With a pref │ │ │ -00025b90: 6978 2061 7267 756d 656e 7420 6469 7374 ix argument dist │ │ │ -00025ba0: 696e 6374 2066 726f 6d20 6028 3429 2720 inct from `(4)' │ │ │ -00025bb0: 7468 6520 6e6f 726d 616c 2066 6f72 6d20 the normal form │ │ │ -00025bc0: 6f66 0a5c 2273 686f 7720 3c65 7870 7265 of.\"show \" is comp │ │ │ -00025be0: 7574 6564 2c20 616e 6420 7468 656e 2074 uted, and then t │ │ │ -00025bf0: 6865 2072 6573 756c 7469 6e67 2073 7472 he resulting str │ │ │ -00025c00: 696e 670a 6973 2070 7269 6e74 6564 2e0a ing.is printed.. │ │ │ -00025c10: 0a57 6974 6820 7468 6520 7072 6566 6978 .With the prefix │ │ │ -00025c20: 2061 7267 756d 656e 7420 6028 3429 2720 argument `(4)' │ │ │ -00025c30: 5c22 6162 7374 7261 6374 5c22 2069 7320 \"abstract\" is │ │ │ -00025c40: 6967 6e6f 7265 6420 6475 7269 6e67 2074 ignored during t │ │ │ -00025c50: 6865 0a63 6f6d 7075 7461 7469 6f6e 2e22 he.computation." │ │ │ -00025c60: 0a20 2028 696e 7465 7261 6374 6976 6529 . (interactive) │ │ │ -00025c70: 0a20 2028 6966 2028 6167 6461 322d 676f . (if (agda2-go │ │ │ -00025c80: 616c 2d61 7420 2870 6f69 6e74 2929 0a20 al-at (point)). │ │ │ -00025c90: 2020 2020 2028 6361 6c6c 2d69 6e74 6572 (call-inter │ │ │ -00025ca0: 6163 7469 7665 6c79 2027 6167 6461 322d actively 'agda2- │ │ │ -00025cb0: 636f 6d70 7574 652d 6e6f 726d 616c 6973 compute-normalis │ │ │ -00025cc0: 6564 290a 2020 2020 2863 616c 6c2d 696e ed). (call-in │ │ │ -00025cd0: 7465 7261 6374 6976 656c 7920 2761 6764 teractively 'agd │ │ │ -00025ce0: 6132 2d63 6f6d 7075 7465 2d6e 6f72 6d61 a2-compute-norma │ │ │ -00025cf0: 6c69 7365 642d 746f 706c 6576 656c 2929 lised-toplevel)) │ │ │ -00025d00: 290a 0a28 6465 6675 6e20 6167 6461 322d )..(defun agda2- │ │ │ -00025d10: 6469 7370 6c61 792d 7072 6f67 7261 6d2d display-program- │ │ │ -00025d20: 7665 7273 696f 6e20 2829 0a20 2022 4469 version (). "Di │ │ │ -00025d30: 7370 6c61 7920 7665 7273 696f 6e20 6f66 splay version of │ │ │ -00025d40: 2041 6764 6122 0a20 2028 696e 7465 7261 Agda". (intera │ │ │ -00025d50: 6374 6976 6529 0a20 2028 6167 6461 322d ctive). (agda2- │ │ │ -00025d60: 676f 206e 696c 206e 696c 2027 6275 7379 go nil nil 'busy │ │ │ -00025d70: 2074 2022 436d 645f 7368 6f77 5f76 6572 t "Cmd_show_ver │ │ │ -00025d80: 7369 6f6e 2229 290a 0a3b 3b3b 3b3b 3b3b sion"))..;;;;;;; │ │ │ +000259c0: 2020 2020 2020 2020 2020 2020 2828 6571 ((eq │ │ │ +000259d0: 7561 6c20 6172 6720 2728 3429 2920 2220 ual arg '(4)) " │ │ │ +000259e0: 4967 6e6f 7265 4162 7374 7261 6374 2229 IgnoreAbstract") │ │ │ +000259f0: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ +00025a00: 2020 2020 2020 2020 2020 2020 2028 2865 ((e │ │ │ +00025a10: 7175 616c 2061 7267 2027 2831 3629 2920 qual arg '(16)) │ │ │ +00025a20: 2220 5573 6553 686f 7749 6e73 7461 6e63 " UseShowInstanc │ │ │ +00025a30: 6522 290a 2020 2020 2020 2020 2020 2020 e"). │ │ │ +00025a40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +00025a50: 2822 2048 6561 6443 6f6d 7075 7465 2229 (" HeadCompute") │ │ │ +00025a60: 2920 2220 2229 2929 0a20 2020 2028 6167 ) " "))). (ag │ │ │ +00025a70: 6461 322d 676f 206e 696c 2074 2027 6275 da2-go nil t 'bu │ │ │ +00025a80: 7379 2074 0a20 2020 2020 2020 2020 2020 sy t. │ │ │ +00025a90: 2020 2028 636f 6e63 6174 2063 6d64 2028 (concat cmd ( │ │ │ +00025aa0: 6167 6461 322d 7374 7269 6e67 2d71 756f agda2-string-quo │ │ │ +00025ab0: 7465 2065 7870 7229 2929 2929 0a0a 2864 te expr)))))..(d │ │ │ +00025ac0: 6566 756e 2061 6764 6132 2d63 6f6d 7075 efun agda2-compu │ │ │ +00025ad0: 7465 2d6e 6f72 6d61 6c69 7365 642d 6d61 te-normalised-ma │ │ │ +00025ae0: 7962 652d 746f 706c 6576 656c 2028 290a ybe-toplevel (). │ │ │ +00025af0: 2020 2243 6f6d 7075 7465 2074 6865 206e "Compute the n │ │ │ +00025b00: 6f72 6d61 6c20 666f 726d 206f 6620 7468 ormal form of th │ │ │ +00025b10: 6520 6769 7665 6e20 6578 7072 6573 7369 e given expressi │ │ │ +00025b20: 6f6e 2e0a 5468 6520 7363 6f70 6520 7573 on..The scope us │ │ │ +00025b30: 6564 2066 6f72 2074 6865 2065 7870 7265 ed for the expre │ │ │ +00025b40: 7373 696f 6e20 6973 2074 6861 7420 6f66 ssion is that of │ │ │ +00025b50: 2074 6865 206c 6173 7420 706f 696e 740a the last point. │ │ │ +00025b60: 696e 7369 6465 2074 6865 2063 7572 7265 inside the curre │ │ │ +00025b70: 6e74 2074 6f70 2d6c 6576 656c 206d 6f64 nt top-level mod │ │ │ +00025b80: 756c 652e 0a0a 5769 7468 2061 2070 7265 ule...With a pre │ │ │ +00025b90: 6669 7820 6172 6775 6d65 6e74 2064 6973 fix argument dis │ │ │ +00025ba0: 7469 6e63 7420 6672 6f6d 2060 2834 2927 tinct from `(4)' │ │ │ +00025bb0: 2074 6865 206e 6f72 6d61 6c20 666f 726d the normal form │ │ │ +00025bc0: 206f 660a 5c22 7368 6f77 203c 6578 7072 of.\"show \" is com │ │ │ +00025be0: 7075 7465 642c 2061 6e64 2074 6865 6e20 puted, and then │ │ │ +00025bf0: 7468 6520 7265 7375 6c74 696e 6720 7374 the resulting st │ │ │ +00025c00: 7269 6e67 0a69 7320 7072 696e 7465 642e ring.is printed. │ │ │ +00025c10: 0a0a 5769 7468 2074 6865 2070 7265 6669 ..With the prefi │ │ │ +00025c20: 7820 6172 6775 6d65 6e74 2060 2834 2927 x argument `(4)' │ │ │ +00025c30: 205c 2261 6273 7472 6163 745c 2220 6973 \"abstract\" is │ │ │ +00025c40: 2069 676e 6f72 6564 2064 7572 696e 6720 ignored during │ │ │ +00025c50: 7468 650a 636f 6d70 7574 6174 696f 6e2e the.computation. │ │ │ +00025c60: 220a 2020 2869 6e74 6572 6163 7469 7665 ". (interactive │ │ │ +00025c70: 290a 2020 2869 6620 2861 6764 6132 2d67 ). (if (agda2-g │ │ │ +00025c80: 6f61 6c2d 6174 2028 706f 696e 7429 290a oal-at (point)). │ │ │ +00025c90: 2020 2020 2020 2863 616c 6c2d 696e 7465 (call-inte │ │ │ +00025ca0: 7261 6374 6976 656c 7920 2761 6764 6132 ractively 'agda2 │ │ │ +00025cb0: 2d63 6f6d 7075 7465 2d6e 6f72 6d61 6c69 -compute-normali │ │ │ +00025cc0: 7365 6429 0a20 2020 2028 6361 6c6c 2d69 sed). (call-i │ │ │ +00025cd0: 6e74 6572 6163 7469 7665 6c79 2027 6167 nteractively 'ag │ │ │ +00025ce0: 6461 322d 636f 6d70 7574 652d 6e6f 726d da2-compute-norm │ │ │ +00025cf0: 616c 6973 6564 2d74 6f70 6c65 7665 6c29 alised-toplevel) │ │ │ +00025d00: 2929 0a0a 2864 6566 756e 2061 6764 6132 ))..(defun agda2 │ │ │ +00025d10: 2d64 6973 706c 6179 2d70 726f 6772 616d -display-program │ │ │ +00025d20: 2d76 6572 7369 6f6e 2028 290a 2020 2244 -version (). "D │ │ │ +00025d30: 6973 706c 6179 2076 6572 7369 6f6e 206f isplay version o │ │ │ +00025d40: 6620 4167 6461 220a 2020 2869 6e74 6572 f Agda". (inter │ │ │ +00025d50: 6163 7469 7665 290a 2020 2861 6764 6132 active). (agda2 │ │ │ +00025d60: 2d67 6f20 6e69 6c20 6e69 6c20 2762 7573 -go nil nil 'bus │ │ │ +00025d70: 7920 7420 2243 6d64 5f73 686f 775f 7665 y t "Cmd_show_ve │ │ │ +00025d80: 7273 696f 6e22 2929 0a0a 3b3b 3b3b 3b3b rsion"))..;;;;;; │ │ │ 00025d90: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00025da0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00025db0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00025dc0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ -00025dd0: 3b0a 3b3b 3b3b 0a0a 2864 6566 756e 2061 ;.;;;;..(defun a │ │ │ -00025de0: 6764 6132 2d68 6967 686c 6967 6874 2d72 gda2-highlight-r │ │ │ -00025df0: 656c 6f61 6420 6e69 6c0a 2020 224c 6f61 eload nil. "Loa │ │ │ -00025e00: 6473 2070 7265 636f 6d70 7574 6564 2073 ds precomputed s │ │ │ -00025e10: 796e 7461 7820 6869 6768 6c69 6768 7469 yntax highlighti │ │ │ -00025e20: 6e67 2069 6e66 6f20 666f 7220 7468 6520 ng info for the │ │ │ -00025e30: 6375 7272 656e 7420 6275 6666 6572 2e0a current buffer.. │ │ │ -00025e40: 4f6e 6c79 2069 6620 7468 6520 6275 6666 Only if the buff │ │ │ -00025e50: 6572 2069 7320 756e 6d6f 6469 6669 6564 er is unmodified │ │ │ -00025e60: 2c20 616e 6420 6f6e 6c79 2069 6620 7468 , and only if th │ │ │ -00025e70: 6572 6520 6973 2061 6e79 7468 696e 6720 ere is anything │ │ │ -00025e80: 746f 206c 6f61 642e 220a 2028 756e 6c65 to load.". (unle │ │ │ -00025e90: 7373 2028 6275 6666 6572 2d6d 6f64 6966 ss (buffer-modif │ │ │ -00025ea0: 6965 642d 7029 0a20 2020 2861 6764 6132 ied-p). (agda2 │ │ │ -00025eb0: 2d67 6f20 6e69 6c20 7420 276e 6f74 2d73 -go nil t 'not-s │ │ │ -00025ec0: 6f2d 6275 7379 2074 0a20 2020 2020 2020 o-busy t. │ │ │ -00025ed0: 2020 2020 2020 2243 6d64 5f6c 6f61 645f "Cmd_load_ │ │ │ -00025ee0: 6869 6768 6c69 6768 7469 6e67 5f69 6e66 highlighting_inf │ │ │ -00025ef0: 6f22 0a20 2020 2020 2020 2020 2020 2020 o". │ │ │ -00025f00: 2861 6764 6132 2d73 7472 696e 672d 7175 (agda2-string-qu │ │ │ -00025f10: 6f74 6520 2862 7566 6665 722d 6669 6c65 ote (buffer-file │ │ │ -00025f20: 2d6e 616d 6529 2929 2929 0a0a 2864 6566 -name)))))..(def │ │ │ -00025f30: 756e 2061 6764 6132 2d6c 6974 6572 6174 un agda2-literat │ │ │ -00025f40: 652d 7020 2829 0a20 2022 4973 2074 6865 e-p (). "Is the │ │ │ -00025f50: 2063 7572 7265 6e74 2062 7566 6665 7220 current buffer │ │ │ -00025f60: 6120 6c69 7465 7261 7465 2041 6764 6120 a literate Agda │ │ │ -00025f70: 6275 6666 6572 3f22 0a20 2028 6e6f 7420 buffer?". (not │ │ │ -00025f80: 2865 7175 616c 2028 6669 6c65 2d6e 616d (equal (file-nam │ │ │ -00025f90: 652d 6578 7465 6e73 696f 6e20 2862 7566 e-extension (buf │ │ │ -00025fa0: 6665 722d 6669 6c65 2d6e 616d 6529 2920 fer-file-name)) │ │ │ -00025fb0: 2261 6764 6122 2929 290a 0a28 6465 666d "agda")))..(defm │ │ │ -00025fc0: 6163 726f 2061 6764 6132 2d2d 6361 7365 acro agda2--case │ │ │ -00025fd0: 2028 6578 7020 2672 6573 7420 6272 616e (exp &rest bran │ │ │ -00025fe0: 6368 6573 2920 3b46 4958 4d45 3a20 5573 ches) ;FIXME: Us │ │ │ -00025ff0: 6520 6070 6361 7365 2720 696e 7374 6561 e `pcase' instea │ │ │ -00026000: 6421 0a20 2028 6465 636c 6172 6520 2864 d!. (declare (d │ │ │ -00026010: 6562 7567 2074 2920 2869 6e64 656e 7420 ebug t) (indent │ │ │ -00026020: 3129 290a 2020 286c 6574 2028 2873 2028 1)). (let ((s ( │ │ │ -00026030: 6d61 6b65 2d73 796d 626f 6c20 2276 2229 make-symbol "v") │ │ │ -00026040: 2929 0a20 2020 2060 286c 6574 2028 282c )). `(let ((, │ │ │ -00026050: 7320 2c65 7870 2929 0a20 2020 2020 2020 s ,exp)). │ │ │ -00026060: 2863 6f6e 640a 2020 2020 2020 2020 202c (cond. , │ │ │ -00026070: 4028 6d61 7063 6172 2028 6c61 6d62 6461 @(mapcar (lambda │ │ │ -00026080: 2028 6272 616e 6368 290a 2020 2020 2020 (branch). │ │ │ -00026090: 2020 2020 2020 2020 2020 2020 2020 2060 ` │ │ │ -000260a0: 2828 6571 7561 6c20 2c73 202c 2863 6172 ((equal ,s ,(car │ │ │ -000260b0: 2062 7261 6e63 6829 2920 2c40 2863 6472 branch)) ,@(cdr │ │ │ -000260c0: 2062 7261 6e63 6829 2929 0a20 2020 2020 branch))). │ │ │ -000260d0: 2020 2020 2020 2020 2020 2020 2020 6272 br │ │ │ -000260e0: 616e 6368 6573 2929 2929 290a 0a28 6465 anches)))))..(de │ │ │ -000260f0: 6675 6e20 6167 6461 322d 676f 616c 732d fun agda2-goals- │ │ │ -00026100: 6163 7469 6f6e 2028 676f 616c 7329 0a20 action (goals). │ │ │ -00026110: 2022 416e 6e6f 7461 7465 7320 7468 6520 "Annotates the │ │ │ -00026120: 676f 616c 7320 696e 2074 6865 2063 7572 goals in the cur │ │ │ -00026130: 7265 6e74 2062 7566 6665 7220 7769 7468 rent buffer with │ │ │ -00026140: 2074 6578 7420 7072 6f70 6572 7469 6573 text properties │ │ │ -00026150: 2e0a 474f 414c 5320 6973 2061 206c 6973 ..GOALS is a lis │ │ │ -00026160: 7420 6f66 2074 6865 2062 7566 6665 7227 t of the buffer' │ │ │ -00026170: 7320 676f 616c 206e 756d 6265 7273 2c20 s goal numbers, │ │ │ -00026180: 696e 2074 6865 206f 7264 6572 2069 6e0a in the order in. │ │ │ -00026190: 7768 6963 6820 7468 6579 2061 7070 6561 which they appea │ │ │ -000261a0: 7220 696e 2074 6865 2062 7566 6665 722e r in the buffer. │ │ │ -000261b0: 204e 6f74 6520 7468 6174 2074 6869 7320 Note that this │ │ │ -000261c0: 6675 6e63 7469 6f6e 2073 686f 756c 640a function should. │ │ │ -000261d0: 6265 2072 756e 202f 6166 7465 722f 2073 be run /after/ s │ │ │ -000261e0: 796e 7461 7820 6869 6768 6c69 6768 7469 yntax highlighti │ │ │ -000261f0: 6e67 2069 6e66 6f72 6d61 7469 6f6e 2068 ng information h │ │ │ -00026200: 6173 2062 6565 6e20 6c6f 6164 6564 2c0a as been loaded,. │ │ │ -00026210: 6265 6361 7573 6520 7468 6520 7477 6f20 because the two │ │ │ -00026220: 6869 6768 6c69 6768 7469 6e67 206d 6563 highlighting mec │ │ │ -00026230: 6861 6e69 736d 7320 696e 7465 7261 6374 hanisms interact │ │ │ -00026240: 2069 6e20 756e 666f 7274 756e 6174 650a in unfortunate. │ │ │ -00026250: 7761 7973 2e22 0a20 2028 6167 6461 322d ways.". (agda2- │ │ │ -00026260: 666f 7267 6574 2d61 6c6c 2d67 6f61 6c73 forget-all-goals │ │ │ -00026270: 290a 2020 2861 6764 6132 2d6c 6574 0a20 ). (agda2-let. │ │ │ -00026280: 2020 2020 2028 286c 6974 6572 6174 6520 ((literate │ │ │ -00026290: 2861 6764 6132 2d6c 6974 6572 6174 652d (agda2-literate- │ │ │ -000262a0: 7029 290a 2020 2020 2020 2073 746b 0a20 p)). stk. │ │ │ -000262b0: 2020 2020 2020 746f 700a 2020 2020 2020 top. │ │ │ -000262c0: 203b 3b20 446f 6e27 7420 7275 6e20 6d6f ;; Don't run mo │ │ │ -000262d0: 6469 6669 6361 7469 6f6e 2068 6f6f 6b73 dification hooks │ │ │ -000262e0: 3a20 7765 2064 6f6e 2774 2077 616e 7420 : we don't want │ │ │ -000262f0: 7468 6973 2066 756e 6374 696f 6e20 746f this function to │ │ │ -00026300: 0a20 2020 2020 2020 3b3b 2074 7269 6767 . ;; trigg │ │ │ -00026310: 6572 2061 6764 6132 2d61 626f 7274 2d68 er agda2-abort-h │ │ │ -00026320: 6967 686c 6967 6874 696e 672e 0a20 2020 ighlighting.. │ │ │ -00026330: 2020 2020 2869 6e68 6962 6974 2d6d 6f64 (inhibit-mod │ │ │ -00026340: 6966 6963 6174 696f 6e2d 686f 6f6b 7320 ification-hooks │ │ │ -00026350: 7429 290a 2020 2020 2020 2828 6465 6c69 t)). ((deli │ │ │ -00026360: 6d73 2829 2028 7265 2d73 6561 7263 682d ms() (re-search- │ │ │ -00026370: 666f 7277 6172 6420 225b 3f5d 5c5c 7c5b forward "[?]\\|[ │ │ │ -00026380: 7b5d 5b2d 215d 5c5c 7c5b 2d21 5d5b 7d5d {][-!]\\|[-!][}] │ │ │ -00026390: 5c5c 7c2d 2d5c 5c7c 5e25 2e2a 5c5c 5c5c \\|--\\|^%.*\\\\ │ │ │ -000263a0: 6265 6769 6e7b 636f 6465 7d5c 5c7c 5c5c begin{code}\\|\\ │ │ │ -000263b0: 5c5c 6265 6769 6e7b 636f 6465 7d5c 5c7c \\begin{code}\\| │ │ │ -000263c0: 5c5c 5c5c 656e 647b 636f 6465 7d5c 5c7c \\\\end{code}\\| │ │ │ -000263d0: 6060 605c 5c7c 5c5c 235c 5c2b 6265 6769 ```\\|\\#\\+begi │ │ │ -000263e0: 6e5f 7372 6320 6167 6461 325c 5c7c 5c5c n_src agda2\\|\\ │ │ │ -000263f0: 235c 5c2b 656e 645f 7372 6322 206e 696c #\\+end_src" nil │ │ │ -00026400: 2074 2929 0a20 2020 2020 2020 3b3b 2069 t)). ;; i │ │ │ -00026410: 732d 7072 6f70 6572 2063 6865 636b 7320 s-proper checks │ │ │ -00026420: 7768 6574 6865 7220 7374 7269 6e67 2073 whether string s │ │ │ -00026430: 2028 652e 672e 2022 3f22 206f 7220 222d (e.g. "?" or "- │ │ │ -00026440: 2d22 2920 6973 2070 726f 7065 720a 2020 -") is proper. │ │ │ -00026450: 2020 2020 203b 3b20 692e 652e 2c20 6973 ;; i.e., is │ │ │ -00026460: 206e 6f74 2070 6172 7420 6f66 2061 6e20 not part of an │ │ │ -00026470: 6964 656e 7469 6669 6572 2e0a 2020 2020 identifier.. │ │ │ -00026480: 2020 203b 3b20 636f 6d6d 656e 742d 7374 ;; comment-st │ │ │ -00026490: 6172 7465 7220 6973 2074 7275 6520 6966 arter is true if │ │ │ -000264a0: 2073 2073 7461 7274 7320 6120 636f 6d6d s starts a comm │ │ │ -000264b0: 656e 7420 2865 2e67 2e20 222d 2d22 290a ent (e.g. "--"). │ │ │ -000264c0: 2020 2020 2020 2028 6973 2d70 726f 7065 (is-prope │ │ │ -000264d0: 7220 2873 2063 6f6d 6d65 6e74 2d73 7461 r (s comment-sta │ │ │ -000264e0: 7274 6572 290a 2020 2020 2020 2020 2020 rter). │ │ │ -000264f0: 2873 6176 652d 6578 6375 7273 696f 6e0a (save-excursion. │ │ │ -00026500: 2020 2020 2020 2020 2020 2020 2873 6176 (sav │ │ │ -00026510: 652d 6d61 7463 682d 6461 7461 0a20 2020 e-match-data. │ │ │ -00026520: 2020 2020 2020 2020 2020 2028 6261 636b (back │ │ │ -00026530: 7761 7264 2d63 6861 7220 286c 656e 6774 ward-char (lengt │ │ │ -00026540: 6820 7329 290a 2020 2020 2020 2020 2020 h s)). │ │ │ -00026550: 2020 2020 2875 6e6c 6573 7320 2862 6f6c (unless (bol │ │ │ -00026560: 7029 2028 6261 636b 7761 7264 2d63 6861 p) (backward-cha │ │ │ -00026570: 7220 3129 2920 203b 3b20 626f 6c70 203d r 1)) ;; bolp = │ │ │ -00026580: 2070 6f69 6e74 6572 2061 7420 6265 6769 pointer at begi │ │ │ -00026590: 6e6e 696e 6720 6f66 206c 696e 650a 2020 nning of line. │ │ │ -000265a0: 2020 2020 2020 2020 2020 2020 3b3b 2041 ;; A │ │ │ -000265b0: 6e64 7265 6173 2c20 3230 3134 2d30 352d ndreas, 2014-05- │ │ │ -000265c0: 3137 2049 7373 7565 2031 3133 320a 2020 17 Issue 1132. │ │ │ -000265d0: 2020 2020 2020 2020 2020 2020 3b3b 2041 ;; A │ │ │ -000265e0: 2071 7565 7374 696f 6e6d 6172 6b20 6361 questionmark ca │ │ │ -000265f0: 6e20 616c 736f 2066 6f6c 6c6f 7720 696d n also follow im │ │ │ -00026600: 6d65 6469 6174 656c 7920 6166 7465 7220 mediately after │ │ │ -00026610: 6120 2e0a 2020 2020 2020 2020 2020 2020 a .. │ │ │ -00026620: 2020 3b3b 2066 6f72 2069 6e73 7461 6e63 ;; for instanc │ │ │ -00026630: 6520 746f 2062 6520 6120 706c 6163 6520 e to be a place │ │ │ -00026640: 686f 6c64 6572 2066 6f72 2061 2064 6f74 holder for a dot │ │ │ -00026650: 2070 6174 7465 726e 2e0a 2020 2020 2020 pattern.. │ │ │ -00026660: 2020 2020 2020 2020 286c 6f6f 6b69 6e67 (looking │ │ │ -00026670: 2d61 7420 2863 6f6e 6361 7420 225c 5c28 -at (concat "\\( │ │ │ -00026680: 5b2e 7b7d 2829 3b5d 5c5c 7c5e 5c5c 7c5c [.{}();]\\|^\\|\ │ │ │ -00026690: 5c73 205c 5c29 2220 203b 3b20 5c5c 7320 \s \\)" ;; \\s │ │ │ -000266a0: 3d20 7768 6974 6573 7061 6365 0a20 2020 = whitespace. │ │ │ +00025dd0: 3b3b 0a3b 3b3b 3b0a 0a28 6465 6675 6e20 ;;.;;;;..(defun │ │ │ +00025de0: 6167 6461 322d 6869 6768 6c69 6768 742d agda2-highlight- │ │ │ +00025df0: 7265 6c6f 6164 206e 696c 0a20 2022 4c6f reload nil. "Lo │ │ │ +00025e00: 6164 7320 7072 6563 6f6d 7075 7465 6420 ads precomputed │ │ │ +00025e10: 7379 6e74 6178 2068 6967 686c 6967 6874 syntax highlight │ │ │ +00025e20: 696e 6720 696e 666f 2066 6f72 2074 6865 ing info for the │ │ │ +00025e30: 2063 7572 7265 6e74 2062 7566 6665 722e current buffer. │ │ │ +00025e40: 0a4f 6e6c 7920 6966 2074 6865 2062 7566 .Only if the buf │ │ │ +00025e50: 6665 7220 6973 2075 6e6d 6f64 6966 6965 fer is unmodifie │ │ │ +00025e60: 642c 2061 6e64 206f 6e6c 7920 6966 2074 d, and only if t │ │ │ +00025e70: 6865 7265 2069 7320 616e 7974 6869 6e67 here is anything │ │ │ +00025e80: 2074 6f20 6c6f 6164 2e22 0a20 2875 6e6c to load.". (unl │ │ │ +00025e90: 6573 7320 2862 7566 6665 722d 6d6f 6469 ess (buffer-modi │ │ │ +00025ea0: 6669 6564 2d70 290a 2020 2028 6167 6461 fied-p). (agda │ │ │ +00025eb0: 322d 676f 206e 696c 2074 2027 6e6f 742d 2-go nil t 'not- │ │ │ +00025ec0: 736f 2d62 7573 7920 740a 2020 2020 2020 so-busy t. │ │ │ +00025ed0: 2020 2020 2020 2022 436d 645f 6c6f 6164 "Cmd_load │ │ │ +00025ee0: 5f68 6967 686c 6967 6874 696e 675f 696e _highlighting_in │ │ │ +00025ef0: 666f 220a 2020 2020 2020 2020 2020 2020 fo". │ │ │ +00025f00: 2028 6167 6461 322d 7374 7269 6e67 2d71 (agda2-string-q │ │ │ +00025f10: 756f 7465 2028 6275 6666 6572 2d66 696c uote (buffer-fil │ │ │ +00025f20: 652d 6e61 6d65 2929 2929 290a 0a28 6465 e-name)))))..(de │ │ │ +00025f30: 6675 6e20 6167 6461 322d 6c69 7465 7261 fun agda2-litera │ │ │ +00025f40: 7465 2d70 2028 290a 2020 2249 7320 7468 te-p (). "Is th │ │ │ +00025f50: 6520 6375 7272 656e 7420 6275 6666 6572 e current buffer │ │ │ +00025f60: 2061 206c 6974 6572 6174 6520 4167 6461 a literate Agda │ │ │ +00025f70: 2062 7566 6665 723f 220a 2020 286e 6f74 buffer?". (not │ │ │ +00025f80: 2028 6571 7561 6c20 2866 696c 652d 6e61 (equal (file-na │ │ │ +00025f90: 6d65 2d65 7874 656e 7369 6f6e 2028 6275 me-extension (bu │ │ │ +00025fa0: 6666 6572 2d66 696c 652d 6e61 6d65 2929 ffer-file-name)) │ │ │ +00025fb0: 2022 6167 6461 2229 2929 0a0a 2864 6566 "agda")))..(def │ │ │ +00025fc0: 6d61 6372 6f20 6167 6461 322d 2d63 6173 macro agda2--cas │ │ │ +00025fd0: 6520 2865 7870 2026 7265 7374 2062 7261 e (exp &rest bra │ │ │ +00025fe0: 6e63 6865 7329 203b 4649 584d 453a 2055 nches) ;FIXME: U │ │ │ +00025ff0: 7365 2060 7063 6173 6527 2069 6e73 7465 se `pcase' inste │ │ │ +00026000: 6164 210a 2020 2864 6563 6c61 7265 2028 ad!. (declare ( │ │ │ +00026010: 6465 6275 6720 7429 2028 696e 6465 6e74 debug t) (indent │ │ │ +00026020: 2031 2929 0a20 2028 6c65 7420 2828 7320 1)). (let ((s │ │ │ +00026030: 286d 616b 652d 7379 6d62 6f6c 2022 7622 (make-symbol "v" │ │ │ +00026040: 2929 290a 2020 2020 6028 6c65 7420 2828 ))). `(let (( │ │ │ +00026050: 2c73 202c 6578 7029 290a 2020 2020 2020 ,s ,exp)). │ │ │ +00026060: 2028 636f 6e64 0a20 2020 2020 2020 2020 (cond. │ │ │ +00026070: 2c40 286d 6170 6361 7220 286c 616d 6264 ,@(mapcar (lambd │ │ │ +00026080: 6120 2862 7261 6e63 6829 0a20 2020 2020 a (branch). │ │ │ +00026090: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +000260a0: 6028 2865 7175 616c 202c 7320 2c28 6361 `((equal ,s ,(ca │ │ │ +000260b0: 7220 6272 616e 6368 2929 202c 4028 6364 r branch)) ,@(cd │ │ │ +000260c0: 7220 6272 616e 6368 2929 290a 2020 2020 r branch))). │ │ │ +000260d0: 2020 2020 2020 2020 2020 2020 2020 2062 b │ │ │ +000260e0: 7261 6e63 6865 7329 2929 2929 0a0a 2864 ranches)))))..(d │ │ │ +000260f0: 6566 756e 2061 6764 6132 2d67 6f61 6c73 efun agda2-goals │ │ │ +00026100: 2d61 6374 696f 6e20 2867 6f61 6c73 290a -action (goals). │ │ │ +00026110: 2020 2241 6e6e 6f74 6174 6573 2074 6865 "Annotates the │ │ │ +00026120: 2067 6f61 6c73 2069 6e20 7468 6520 6375 goals in the cu │ │ │ +00026130: 7272 656e 7420 6275 6666 6572 2077 6974 rrent buffer wit │ │ │ +00026140: 6820 7465 7874 2070 726f 7065 7274 6965 h text propertie │ │ │ +00026150: 732e 0a47 4f41 4c53 2069 7320 6120 6c69 s..GOALS is a li │ │ │ +00026160: 7374 206f 6620 7468 6520 6275 6666 6572 st of the buffer │ │ │ +00026170: 2773 2067 6f61 6c20 6e75 6d62 6572 732c 's goal numbers, │ │ │ +00026180: 2069 6e20 7468 6520 6f72 6465 7220 696e in the order in │ │ │ +00026190: 0a77 6869 6368 2074 6865 7920 6170 7065 .which they appe │ │ │ +000261a0: 6172 2069 6e20 7468 6520 6275 6666 6572 ar in the buffer │ │ │ +000261b0: 2e20 4e6f 7465 2074 6861 7420 7468 6973 . Note that this │ │ │ +000261c0: 2066 756e 6374 696f 6e20 7368 6f75 6c64 function should │ │ │ +000261d0: 0a62 6520 7275 6e20 2f61 6674 6572 2f20 .be run /after/ │ │ │ +000261e0: 7379 6e74 6178 2068 6967 686c 6967 6874 syntax highlight │ │ │ +000261f0: 696e 6720 696e 666f 726d 6174 696f 6e20 ing information │ │ │ +00026200: 6861 7320 6265 656e 206c 6f61 6465 642c has been loaded, │ │ │ +00026210: 0a62 6563 6175 7365 2074 6865 2074 776f .because the two │ │ │ +00026220: 2068 6967 686c 6967 6874 696e 6720 6d65 highlighting me │ │ │ +00026230: 6368 616e 6973 6d73 2069 6e74 6572 6163 chanisms interac │ │ │ +00026240: 7420 696e 2075 6e66 6f72 7475 6e61 7465 t in unfortunate │ │ │ +00026250: 0a77 6179 732e 220a 2020 2861 6764 6132 .ways.". (agda2 │ │ │ +00026260: 2d66 6f72 6765 742d 616c 6c2d 676f 616c -forget-all-goal │ │ │ +00026270: 7329 0a20 2028 6167 6461 322d 6c65 740a s). (agda2-let. │ │ │ +00026280: 2020 2020 2020 2828 6c69 7465 7261 7465 ((literate │ │ │ +00026290: 2028 6167 6461 322d 6c69 7465 7261 7465 (agda2-literate │ │ │ +000262a0: 2d70 2929 0a20 2020 2020 2020 7374 6b0a -p)). stk. │ │ │ +000262b0: 2020 2020 2020 2074 6f70 0a20 2020 2020 top. │ │ │ +000262c0: 2020 3b3b 2044 6f6e 2774 2072 756e 206d ;; Don't run m │ │ │ +000262d0: 6f64 6966 6963 6174 696f 6e20 686f 6f6b odification hook │ │ │ +000262e0: 733a 2077 6520 646f 6e27 7420 7761 6e74 s: we don't want │ │ │ +000262f0: 2074 6869 7320 6675 6e63 7469 6f6e 2074 this function t │ │ │ +00026300: 6f0a 2020 2020 2020 203b 3b20 7472 6967 o. ;; trig │ │ │ +00026310: 6765 7220 6167 6461 322d 6162 6f72 742d ger agda2-abort- │ │ │ +00026320: 6869 6768 6c69 6768 7469 6e67 2e0a 2020 highlighting.. │ │ │ +00026330: 2020 2020 2028 696e 6869 6269 742d 6d6f (inhibit-mo │ │ │ +00026340: 6469 6669 6361 7469 6f6e 2d68 6f6f 6b73 dification-hooks │ │ │ +00026350: 2074 2929 0a20 2020 2020 2028 2864 656c t)). ((del │ │ │ +00026360: 696d 7328 2920 2872 652d 7365 6172 6368 ims() (re-search │ │ │ +00026370: 2d66 6f72 7761 7264 2022 5b3f 5d5c 5c7c -forward "[?]\\| │ │ │ +00026380: 5b7b 5d5b 2d21 5d5c 5c7c 5b2d 215d 5b7d [{][-!]\\|[-!][} │ │ │ +00026390: 5d5c 5c7c 2d2d 5c5c 7c5e 252e 2a5c 5c5c ]\\|--\\|^%.*\\\ │ │ │ +000263a0: 5c62 6567 696e 7b63 6f64 657d 5c5c 7c5c \begin{code}\\|\ │ │ │ +000263b0: 5c5c 5c62 6567 696e 7b63 6f64 657d 5c5c \\\begin{code}\\ │ │ │ +000263c0: 7c5c 5c5c 5c65 6e64 7b63 6f64 657d 5c5c |\\\\end{code}\\ │ │ │ +000263d0: 7c60 6060 5c5c 7c5c 5c23 5c5c 2b62 6567 |```\\|\\#\\+beg │ │ │ +000263e0: 696e 5f73 7263 2061 6764 6132 5c5c 7c5c in_src agda2\\|\ │ │ │ +000263f0: 5c23 5c5c 2b65 6e64 5f73 7263 2220 6e69 \#\\+end_src" ni │ │ │ +00026400: 6c20 7429 290a 2020 2020 2020 203b 3b20 l t)). ;; │ │ │ +00026410: 6973 2d70 726f 7065 7220 6368 6563 6b73 is-proper checks │ │ │ +00026420: 2077 6865 7468 6572 2073 7472 696e 6720 whether string │ │ │ +00026430: 7320 2865 2e67 2e20 223f 2220 6f72 2022 s (e.g. "?" or " │ │ │ +00026440: 2d2d 2229 2069 7320 7072 6f70 6572 0a20 --") is proper. │ │ │ +00026450: 2020 2020 2020 3b3b 2069 2e65 2e2c 2069 ;; i.e., i │ │ │ +00026460: 7320 6e6f 7420 7061 7274 206f 6620 616e s not part of an │ │ │ +00026470: 2069 6465 6e74 6966 6965 722e 0a20 2020 identifier.. │ │ │ +00026480: 2020 2020 3b3b 2063 6f6d 6d65 6e74 2d73 ;; comment-s │ │ │ +00026490: 7461 7274 6572 2069 7320 7472 7565 2069 tarter is true i │ │ │ +000264a0: 6620 7320 7374 6172 7473 2061 2063 6f6d f s starts a com │ │ │ +000264b0: 6d65 6e74 2028 652e 672e 2022 2d2d 2229 ment (e.g. "--") │ │ │ +000264c0: 0a20 2020 2020 2020 2869 732d 7072 6f70 . (is-prop │ │ │ +000264d0: 6572 2028 7320 636f 6d6d 656e 742d 7374 er (s comment-st │ │ │ +000264e0: 6172 7465 7229 0a20 2020 2020 2020 2020 arter). │ │ │ +000264f0: 2028 7361 7665 2d65 7863 7572 7369 6f6e (save-excursion │ │ │ +00026500: 0a20 2020 2020 2020 2020 2020 2028 7361 . (sa │ │ │ +00026510: 7665 2d6d 6174 6368 2d64 6174 610a 2020 ve-match-data. │ │ │ +00026520: 2020 2020 2020 2020 2020 2020 2862 6163 (bac │ │ │ +00026530: 6b77 6172 642d 6368 6172 2028 6c65 6e67 kward-char (leng │ │ │ +00026540: 7468 2073 2929 0a20 2020 2020 2020 2020 th s)). │ │ │ +00026550: 2020 2020 2028 756e 6c65 7373 2028 626f (unless (bo │ │ │ +00026560: 6c70 2920 2862 6163 6b77 6172 642d 6368 lp) (backward-ch │ │ │ +00026570: 6172 2031 2929 2020 3b3b 2062 6f6c 7020 ar 1)) ;; bolp │ │ │ +00026580: 3d20 706f 696e 7465 7220 6174 2062 6567 = pointer at beg │ │ │ +00026590: 696e 6e69 6e67 206f 6620 6c69 6e65 0a20 inning of line. │ │ │ +000265a0: 2020 2020 2020 2020 2020 2020 203b 3b20 ;; │ │ │ +000265b0: 416e 6472 6561 732c 2032 3031 342d 3035 Andreas, 2014-05 │ │ │ +000265c0: 2d31 3720 4973 7375 6520 3131 3332 0a20 -17 Issue 1132. │ │ │ +000265d0: 2020 2020 2020 2020 2020 2020 203b 3b20 ;; │ │ │ +000265e0: 4120 7175 6573 7469 6f6e 6d61 726b 2063 A questionmark c │ │ │ +000265f0: 616e 2061 6c73 6f20 666f 6c6c 6f77 2069 an also follow i │ │ │ +00026600: 6d6d 6564 6961 7465 6c79 2061 6674 6572 mmediately after │ │ │ +00026610: 2061 202e 0a20 2020 2020 2020 2020 2020 a .. │ │ │ +00026620: 2020 203b 3b20 666f 7220 696e 7374 616e ;; for instan │ │ │ +00026630: 6365 2074 6f20 6265 2061 2070 6c61 6365 ce to be a place │ │ │ +00026640: 2068 6f6c 6465 7220 666f 7220 6120 646f holder for a do │ │ │ +00026650: 7420 7061 7474 6572 6e2e 0a20 2020 2020 t pattern.. │ │ │ +00026660: 2020 2020 2020 2020 2028 6c6f 6f6b 696e (lookin │ │ │ +00026670: 672d 6174 2028 636f 6e63 6174 2022 5c5c g-at (concat "\\ │ │ │ +00026680: 285b 2e7b 7d28 293b 5d5c 5c7c 5e5c 5c7c ([.{}();]\\|^\\| │ │ │ +00026690: 5c5c 7320 5c5c 2922 2020 3b3b 205c 5c73 \\s \\)" ;; \\s │ │ │ +000266a0: 203d 2077 6869 7465 7370 6163 650a 2020 = whitespace. │ │ │ 000266b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -000266c0: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ -000266d0: 7265 6765 7870 2d71 756f 7465 2073 290a regexp-quote s). │ │ │ -000266e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +000266c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +000266d0: 2872 6567 6578 702d 7175 6f74 6520 7329 (regexp-quote s) │ │ │ +000266e0: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ 000266f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00026700: 2020 2875 6e6c 6573 7320 636f 6d6d 656e (unless commen │ │ │ -00026710: 742d 7374 6172 7465 720a 2020 2020 2020 t-starter. │ │ │ +00026700: 2020 2028 756e 6c65 7373 2063 6f6d 6d65 (unless comme │ │ │ +00026710: 6e74 2d73 7461 7274 6572 0a20 2020 2020 nt-starter. │ │ │ 00026720: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00026730: 2020 2020 2020 2020 2020 2020 2020 225c "\ │ │ │ -00026740: 5c28 5b7b 7d28 293b 5d5c 5c7c 245c 5c7c \([{}();]\\|$\\| │ │ │ -00026750: 5c5c 7320 5c5c 2922 2929 2929 2929 0a20 \\s \\)")))))). │ │ │ -00026760: 2020 2020 2020 286d 616b 6528 7029 2020 (make(p) │ │ │ -00026770: 2861 6764 6132 2d6d 616b 652d 676f 616c (agda2-make-goal │ │ │ -00026780: 2070 2028 706f 696e 7429 2028 706f 7020 p (point) (pop │ │ │ -00026790: 676f 616c 7329 2929 0a20 2020 2020 2020 goals))). │ │ │ -000267a0: 2869 6e73 6964 652d 636f 6d6d 656e 7428 (inside-comment( │ │ │ -000267b0: 2920 2861 6e64 2073 746b 2028 6e75 6c6c ) (and stk (null │ │ │ -000267c0: 2020 2020 2028 6361 7220 7374 6b29 2929 (car stk))) │ │ │ -000267d0: 290a 2020 2020 2020 2028 696e 7369 6465 ). (inside │ │ │ -000267e0: 2d67 6f61 6c28 2920 2020 2028 616e 6420 -goal() (and │ │ │ -000267f0: 7374 6b20 2869 6e74 6567 6572 7020 2863 stk (integerp (c │ │ │ -00026800: 6172 2073 746b 2929 2929 0a20 2020 2020 ar stk)))). │ │ │ -00026810: 2020 286f 7574 7369 6465 2d63 6f64 6528 (outside-code( │ │ │ -00026820: 2920 2020 2861 6e64 2073 746b 2028 6571 ) (and stk (eq │ │ │ -00026830: 2028 6361 7220 7374 6b29 2027 6f75 7473 (car stk) 'outs │ │ │ -00026840: 6964 6529 2929 0a20 2020 2020 2020 2869 ide))). (i │ │ │ -00026850: 6e73 6964 652d 636f 6465 2829 2020 2020 nside-code() │ │ │ -00026860: 286e 6f74 2028 6f75 7473 6964 652d 636f (not (outside-co │ │ │ -00026870: 6465 2929 290a 2020 2020 2020 203b 3b20 de))). ;; │ │ │ -00026880: 696e 7369 6465 2061 206d 756c 7469 2d6c inside a multi-l │ │ │ -00026890: 696e 6520 636f 6d6d 656e 7420 6967 6e6f ine comment igno │ │ │ -000268a0: 7265 2065 7665 7279 7468 696e 6720 6275 re everything bu │ │ │ -000268b0: 7420 7468 6520 6d75 6c74 692d 6c69 6e65 t the multi-line │ │ │ -000268c0: 2063 6f6d 6d65 6e74 206d 6172 6b65 7273 comment markers │ │ │ -000268d0: 0a20 2020 2020 2020 2873 6166 652d 6465 . (safe-de │ │ │ -000268e0: 6c69 6d73 2829 0a20 2020 2020 2020 2020 lims(). │ │ │ -000268f0: 2028 6966 2028 696e 7369 6465 2d63 6f6d (if (inside-com │ │ │ -00026900: 6d65 6e74 290a 2020 2020 2020 2020 2020 ment). │ │ │ -00026910: 2020 2020 2028 7265 2d73 6561 7263 682d (re-search- │ │ │ -00026920: 666f 7277 6172 6420 227b 2d5c 5c7c 2d7d forward "{-\\|-} │ │ │ -00026930: 2220 6e69 6c20 7429 0a20 2020 2020 2020 " nil t). │ │ │ -00026940: 2020 2020 2028 6465 6c69 6d73 2929 2929 (delims)))) │ │ │ -00026950: 0a20 2020 2028 7361 7665 2d65 7863 7572 . (save-excur │ │ │ -00026960: 7369 6f6e 0a20 2020 2020 203b 3b20 496e sion. ;; In │ │ │ -00026970: 206c 6974 6572 6174 6520 6d6f 6465 2077 literate mode w │ │ │ -00026980: 6520 7368 6f75 6c64 2073 7461 7274 206f e should start o │ │ │ -00026990: 7574 2069 6e20 7468 6520 226f 7574 7369 ut in the "outsi │ │ │ -000269a0: 6465 206f 6620 636f 6465 220a 2020 2020 de of code". │ │ │ -000269b0: 2020 3b3b 2073 7461 7465 2e0a 2020 2020 ;; state.. │ │ │ -000269c0: 2020 2869 6620 6c69 7465 7261 7465 2028 (if literate ( │ │ │ -000269d0: 7075 7368 2027 6f75 7473 6964 6520 7374 push 'outside st │ │ │ -000269e0: 6b29 290a 2020 2020 2020 2867 6f74 6f2d k)). (goto- │ │ │ -000269f0: 6368 6172 2028 706f 696e 742d 6d69 6e29 char (point-min) │ │ │ -00026a00: 290a 2020 2020 2020 2877 6869 6c65 2028 ). (while ( │ │ │ -00026a10: 616e 6420 676f 616c 7320 2873 6166 652d and goals (safe- │ │ │ -00026a20: 6465 6c69 6d73 2929 0a20 2020 2020 2020 delims)). │ │ │ -00026a30: 2028 6167 6461 322d 2d63 6173 6520 286d (agda2--case (m │ │ │ -00026a40: 6174 6368 2d73 7472 696e 6720 3029 0a20 atch-string 0). │ │ │ -00026a50: 2020 2020 2020 2020 2028 225c 5c62 6567 ("\\beg │ │ │ -00026a60: 696e 7b63 6f64 657d 2220 2020 2020 2877 in{code}" (w │ │ │ -00026a70: 6865 6e20 286f 7574 7369 6465 2d63 6f64 hen (outside-cod │ │ │ -00026a80: 6529 2020 2020 2020 2020 2020 2020 2020 e) │ │ │ -00026a90: 2028 706f 7020 7374 6b29 2929 0a20 2020 (pop stk))). │ │ │ -00026aa0: 2020 2020 2020 2028 225c 5c65 6e64 7b63 ("\\end{c │ │ │ -00026ab0: 6f64 657d 2220 2020 2020 2020 2877 6865 ode}" (whe │ │ │ -00026ac0: 6e20 286e 6f74 2073 746b 2920 2020 2020 n (not stk) │ │ │ -00026ad0: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ -00026ae0: 7075 7368 2027 6f75 7473 6964 6520 7374 push 'outside st │ │ │ -00026af0: 6b29 2929 0a20 2020 2020 2020 2020 2028 k))). ( │ │ │ -00026b00: 2223 2b62 6567 696e 5f73 7263 2061 6764 "#+begin_src agd │ │ │ -00026b10: 6132 2220 2877 6865 6e20 286f 7574 7369 a2" (when (outsi │ │ │ -00026b20: 6465 2d63 6f64 6529 2020 2020 2020 2020 de-code) │ │ │ -00026b30: 2020 2020 2020 2028 706f 7020 7374 6b29 (pop stk) │ │ │ -00026b40: 2929 0a20 2020 2020 2020 2020 2028 2223 )). ("# │ │ │ -00026b50: 2b65 6e64 5f73 7263 2220 2020 2020 2020 +end_src" │ │ │ -00026b60: 2020 2877 6865 6e20 286e 6f74 2073 746b (when (not stk │ │ │ -00026b70: 2920 2020 2020 2020 2020 2020 2020 2020 ) │ │ │ -00026b80: 2020 2020 2028 7075 7368 2027 6f75 7473 (push 'outs │ │ │ -00026b90: 6964 6520 7374 6b29 2929 0a20 2020 2020 ide stk))). │ │ │ -00026ba0: 2020 2020 2028 2260 6060 2220 2020 2020 ("```" │ │ │ -00026bb0: 2020 2020 2020 2020 2020 2869 6620 2020 (if │ │ │ -00026bc0: 286f 7574 7369 6465 2d63 6f64 6529 2020 (outside-code) │ │ │ -00026bd0: 2020 2020 2020 2020 2020 2020 2028 706f (po │ │ │ -00026be0: 7020 7374 6b29 0a20 2020 2020 2020 2020 p stk). │ │ │ +00026730: 2020 2020 2020 2020 2020 2020 2020 2022 " │ │ │ +00026740: 5c5c 285b 7b7d 2829 3b5d 5c5c 7c24 5c5c \\([{}();]\\|$\\ │ │ │ +00026750: 7c5c 5c73 205c 5c29 2229 2929 2929 290a |\\s \\)")))))). │ │ │ +00026760: 2020 2020 2020 2028 6d61 6b65 2870 2920 (make(p) │ │ │ +00026770: 2028 6167 6461 322d 6d61 6b65 2d67 6f61 (agda2-make-goa │ │ │ +00026780: 6c20 7020 2870 6f69 6e74 2920 2870 6f70 l p (point) (pop │ │ │ +00026790: 2067 6f61 6c73 2929 290a 2020 2020 2020 goals))). │ │ │ +000267a0: 2028 696e 7369 6465 2d63 6f6d 6d65 6e74 (inside-comment │ │ │ +000267b0: 2829 2028 616e 6420 7374 6b20 286e 756c () (and stk (nul │ │ │ +000267c0: 6c20 2020 2020 2863 6172 2073 746b 2929 l (car stk)) │ │ │ +000267d0: 2929 0a20 2020 2020 2020 2869 6e73 6964 )). (insid │ │ │ +000267e0: 652d 676f 616c 2829 2020 2020 2861 6e64 e-goal() (and │ │ │ +000267f0: 2073 746b 2028 696e 7465 6765 7270 2028 stk (integerp ( │ │ │ +00026800: 6361 7220 7374 6b29 2929 290a 2020 2020 car stk)))). │ │ │ +00026810: 2020 2028 6f75 7473 6964 652d 636f 6465 (outside-code │ │ │ +00026820: 2829 2020 2028 616e 6420 7374 6b20 2865 () (and stk (e │ │ │ +00026830: 7120 2863 6172 2073 746b 2920 276f 7574 q (car stk) 'out │ │ │ +00026840: 7369 6465 2929 290a 2020 2020 2020 2028 side))). ( │ │ │ +00026850: 696e 7369 6465 2d63 6f64 6528 2920 2020 inside-code() │ │ │ +00026860: 2028 6e6f 7420 286f 7574 7369 6465 2d63 (not (outside-c │ │ │ +00026870: 6f64 6529 2929 0a20 2020 2020 2020 3b3b ode))). ;; │ │ │ +00026880: 2069 6e73 6964 6520 6120 6d75 6c74 692d inside a multi- │ │ │ +00026890: 6c69 6e65 2063 6f6d 6d65 6e74 2069 676e line comment ign │ │ │ +000268a0: 6f72 6520 6576 6572 7974 6869 6e67 2062 ore everything b │ │ │ +000268b0: 7574 2074 6865 206d 756c 7469 2d6c 696e ut the multi-lin │ │ │ +000268c0: 6520 636f 6d6d 656e 7420 6d61 726b 6572 e comment marker │ │ │ +000268d0: 730a 2020 2020 2020 2028 7361 6665 2d64 s. (safe-d │ │ │ +000268e0: 656c 696d 7328 290a 2020 2020 2020 2020 elims(). │ │ │ +000268f0: 2020 2869 6620 2869 6e73 6964 652d 636f (if (inside-co │ │ │ +00026900: 6d6d 656e 7429 0a20 2020 2020 2020 2020 mment). │ │ │ +00026910: 2020 2020 2020 2872 652d 7365 6172 6368 (re-search │ │ │ +00026920: 2d66 6f72 7761 7264 2022 7b2d 5c5c 7c2d -forward "{-\\|- │ │ │ +00026930: 7d22 206e 696c 2074 290a 2020 2020 2020 }" nil t). │ │ │ +00026940: 2020 2020 2020 2864 656c 696d 7329 2929 (delims))) │ │ │ +00026950: 290a 2020 2020 2873 6176 652d 6578 6375 ). (save-excu │ │ │ +00026960: 7273 696f 6e0a 2020 2020 2020 3b3b 2049 rsion. ;; I │ │ │ +00026970: 6e20 6c69 7465 7261 7465 206d 6f64 6520 n literate mode │ │ │ +00026980: 7765 2073 686f 756c 6420 7374 6172 7420 we should start │ │ │ +00026990: 6f75 7420 696e 2074 6865 2022 6f75 7473 out in the "outs │ │ │ +000269a0: 6964 6520 6f66 2063 6f64 6522 0a20 2020 ide of code". │ │ │ +000269b0: 2020 203b 3b20 7374 6174 652e 0a20 2020 ;; state.. │ │ │ +000269c0: 2020 2028 6966 206c 6974 6572 6174 6520 (if literate │ │ │ +000269d0: 2870 7573 6820 276f 7574 7369 6465 2073 (push 'outside s │ │ │ +000269e0: 746b 2929 0a20 2020 2020 2028 676f 746f tk)). (goto │ │ │ +000269f0: 2d63 6861 7220 2870 6f69 6e74 2d6d 696e -char (point-min │ │ │ +00026a00: 2929 0a20 2020 2020 2028 7768 696c 6520 )). (while │ │ │ +00026a10: 2861 6e64 2067 6f61 6c73 2028 7361 6665 (and goals (safe │ │ │ +00026a20: 2d64 656c 696d 7329 290a 2020 2020 2020 -delims)). │ │ │ +00026a30: 2020 2861 6764 6132 2d2d 6361 7365 2028 (agda2--case ( │ │ │ +00026a40: 6d61 7463 682d 7374 7269 6e67 2030 290a match-string 0). │ │ │ +00026a50: 2020 2020 2020 2020 2020 2822 5c5c 6265 ("\\be │ │ │ +00026a60: 6769 6e7b 636f 6465 7d22 2020 2020 2028 gin{code}" ( │ │ │ +00026a70: 7768 656e 2028 6f75 7473 6964 652d 636f when (outside-co │ │ │ +00026a80: 6465 2920 2020 2020 2020 2020 2020 2020 de) │ │ │ +00026a90: 2020 2870 6f70 2073 746b 2929 290a 2020 (pop stk))). │ │ │ +00026aa0: 2020 2020 2020 2020 2822 5c5c 656e 647b ("\\end{ │ │ │ +00026ab0: 636f 6465 7d22 2020 2020 2020 2028 7768 code}" (wh │ │ │ +00026ac0: 656e 2028 6e6f 7420 7374 6b29 2020 2020 en (not stk) │ │ │ +00026ad0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +00026ae0: 2870 7573 6820 276f 7574 7369 6465 2073 (push 'outside s │ │ │ +00026af0: 746b 2929 290a 2020 2020 2020 2020 2020 tk))). │ │ │ +00026b00: 2822 232b 6265 6769 6e5f 7372 6320 6167 ("#+begin_src ag │ │ │ +00026b10: 6461 3222 2028 7768 656e 2028 6f75 7473 da2" (when (outs │ │ │ +00026b20: 6964 652d 636f 6465 2920 2020 2020 2020 ide-code) │ │ │ +00026b30: 2020 2020 2020 2020 2870 6f70 2073 746b (pop stk │ │ │ +00026b40: 2929 290a 2020 2020 2020 2020 2020 2822 ))). (" │ │ │ +00026b50: 232b 656e 645f 7372 6322 2020 2020 2020 #+end_src" │ │ │ +00026b60: 2020 2028 7768 656e 2028 6e6f 7420 7374 (when (not st │ │ │ +00026b70: 6b29 2020 2020 2020 2020 2020 2020 2020 k) │ │ │ +00026b80: 2020 2020 2020 2870 7573 6820 276f 7574 (push 'out │ │ │ +00026b90: 7369 6465 2073 746b 2929 290a 2020 2020 side stk))). │ │ │ +00026ba0: 2020 2020 2020 2822 6060 6022 2020 2020 ("```" │ │ │ +00026bb0: 2020 2020 2020 2020 2020 2028 6966 2020 (if │ │ │ +00026bc0: 2028 6f75 7473 6964 652d 636f 6465 2920 (outside-code) │ │ │ +00026bd0: 2020 2020 2020 2020 2020 2020 2020 2870 (p │ │ │ +00026be0: 6f70 2073 746b 290a 2020 2020 2020 2020 op stk). │ │ │ 00026bf0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00026c00: 2020 2020 2020 2877 6865 6e20 286e 6f74 (when (not │ │ │ -00026c10: 2073 746b 2920 2020 2020 2020 2020 2020 stk) │ │ │ -00026c20: 2020 2020 2020 2020 2028 7075 7368 2027 (push ' │ │ │ -00026c30: 6f75 7473 6964 6520 7374 6b29 2929 290a outside stk)))). │ │ │ -00026c40: 2020 2020 2020 2020 2020 2822 2d2d 2220 ("--" │ │ │ -00026c50: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ -00026c60: 7768 656e 2028 616e 6420 286e 6f74 2073 when (and (not s │ │ │ -00026c70: 746b 290a 2020 2020 2020 2020 2020 2020 tk). │ │ │ +00026c00: 2020 2020 2020 2028 7768 656e 2028 6e6f (when (no │ │ │ +00026c10: 7420 7374 6b29 2020 2020 2020 2020 2020 t stk) │ │ │ +00026c20: 2020 2020 2020 2020 2020 2870 7573 6820 (push │ │ │ +00026c30: 276f 7574 7369 6465 2073 746b 2929 2929 'outside stk)))) │ │ │ +00026c40: 0a20 2020 2020 2020 2020 2028 222d 2d22 . ("--" │ │ │ +00026c50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +00026c60: 2877 6865 6e20 2861 6e64 2028 6e6f 7420 (when (and (not │ │ │ +00026c70: 7374 6b29 0a20 2020 2020 2020 2020 2020 stk). │ │ │ 00026c80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00026c90: 2020 2020 2020 2020 2020 2020 2020 2869 (i │ │ │ -00026ca0: 732d 7072 6f70 6572 2022 2d2d 2220 7429 s-proper "--" t) │ │ │ -00026cb0: 2920 2020 2020 2865 6e64 2d6f 662d 6c69 ) (end-of-li │ │ │ -00026cc0: 6e65 2929 290a 2020 2020 2020 2020 2020 ne))). │ │ │ -00026cd0: 2822 7b2d 2220 2020 2020 2020 2020 2020 ("{-" │ │ │ -00026ce0: 2020 2020 2028 7768 656e 2028 616e 6420 (when (and │ │ │ -00026cf0: 2869 6e73 6964 652d 636f 6465 290a 2020 (inside-code). │ │ │ +00026c90: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ +00026ca0: 6973 2d70 726f 7065 7220 222d 2d22 2074 is-proper "--" t │ │ │ +00026cb0: 2929 2020 2020 2028 656e 642d 6f66 2d6c )) (end-of-l │ │ │ +00026cc0: 696e 6529 2929 0a20 2020 2020 2020 2020 ine))). │ │ │ +00026cd0: 2028 227b 2d22 2020 2020 2020 2020 2020 ("{-" │ │ │ +00026ce0: 2020 2020 2020 2877 6865 6e20 2861 6e64 (when (and │ │ │ +00026cf0: 2028 696e 7369 6465 2d63 6f64 6529 0a20 (inside-code). │ │ │ 00026d00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 00026d10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00026d20: 2020 2020 2020 2020 286e 6f74 2028 696e (not (in │ │ │ -00026d30: 7369 6465 2d67 6f61 6c29 2929 2020 2020 side-goal))) │ │ │ -00026d40: 2870 7573 6820 6e69 6c20 2020 2020 2020 (push nil │ │ │ -00026d50: 2020 2020 7374 6b29 2929 0a20 2020 2020 stk))). │ │ │ -00026d60: 2020 2020 2028 222d 7d22 2020 2020 2020 ("-}" │ │ │ -00026d70: 2020 2020 2020 2020 2020 2877 6865 6e20 (when │ │ │ -00026d80: 2869 6e73 6964 652d 636f 6d6d 656e 7429 (inside-comment) │ │ │ -00026d90: 2020 2020 2020 2020 2020 2020 2028 706f (po │ │ │ -00026da0: 7020 7374 6b29 2929 0a20 2020 2020 2020 p stk))). │ │ │ -00026db0: 2020 2028 227b 2122 2020 2020 2020 2020 ("{!" │ │ │ -00026dc0: 2020 2020 2020 2020 2877 6865 6e20 2861 (when (a │ │ │ -00026dd0: 6e64 2028 696e 7369 6465 2d63 6f64 6529 nd (inside-code) │ │ │ -00026de0: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ +00026d20: 2020 2020 2020 2020 2028 6e6f 7420 2869 (not (i │ │ │ +00026d30: 6e73 6964 652d 676f 616c 2929 2920 2020 nside-goal))) │ │ │ +00026d40: 2028 7075 7368 206e 696c 2020 2020 2020 (push nil │ │ │ +00026d50: 2020 2020 2073 746b 2929 290a 2020 2020 stk))). │ │ │ +00026d60: 2020 2020 2020 2822 2d7d 2220 2020 2020 ("-}" │ │ │ +00026d70: 2020 2020 2020 2020 2020 2028 7768 656e (when │ │ │ +00026d80: 2028 696e 7369 6465 2d63 6f6d 6d65 6e74 (inside-comment │ │ │ +00026d90: 2920 2020 2020 2020 2020 2020 2020 2870 ) (p │ │ │ +00026da0: 6f70 2073 746b 2929 290a 2020 2020 2020 op stk))). │ │ │ +00026db0: 2020 2020 2822 7b21 2220 2020 2020 2020 ("{!" │ │ │ +00026dc0: 2020 2020 2020 2020 2028 7768 656e 2028 (when ( │ │ │ +00026dd0: 616e 6420 2869 6e73 6964 652d 636f 6465 and (inside-code │ │ │ +00026de0: 290a 2020 2020 2020 2020 2020 2020 2020 ). │ │ │ 00026df0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00026e00: 2020 2020 2020 2020 2020 2028 6e6f 7420 (not │ │ │ -00026e10: 2869 6e73 6964 652d 636f 6d6d 656e 7429 (inside-comment) │ │ │ -00026e20: 2929 2028 7075 7368 2028 2d20 2870 6f69 )) (push (- (poi │ │ │ -00026e30: 6e74 2920 3229 2073 746b 2929 290a 2020 nt) 2) stk))). │ │ │ -00026e40: 2020 2020 2020 2020 2822 217d 2220 2020 ("!}" │ │ │ -00026e50: 2020 2020 2020 2020 2020 2020 2028 7768 (wh │ │ │ -00026e60: 656e 2028 696e 7369 6465 2d67 6f61 6c29 en (inside-goal) │ │ │ -00026e70: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ +00026e00: 2020 2020 2020 2020 2020 2020 286e 6f74 (not │ │ │ +00026e10: 2028 696e 7369 6465 2d63 6f6d 6d65 6e74 (inside-comment │ │ │ +00026e20: 2929 2920 2870 7573 6820 282d 2028 706f ))) (push (- (po │ │ │ +00026e30: 696e 7429 2032 2920 7374 6b29 2929 0a20 int) 2) stk))). │ │ │ +00026e40: 2020 2020 2020 2020 2028 2221 7d22 2020 ("!}" │ │ │ +00026e50: 2020 2020 2020 2020 2020 2020 2020 2877 (w │ │ │ +00026e60: 6865 6e20 2869 6e73 6964 652d 676f 616c hen (inside-goal │ │ │ +00026e70: 290a 2020 2020 2020 2020 2020 2020 2020 ). │ │ │ 00026e80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00026e90: 2020 2873 6574 7120 746f 7020 2870 6f70 (setq top (pop │ │ │ -00026ea0: 2073 746b 2929 0a20 2020 2020 2020 2020 stk)). │ │ │ +00026e90: 2020 2028 7365 7471 2074 6f70 2028 706f (setq top (po │ │ │ +00026ea0: 7020 7374 6b29 290a 2020 2020 2020 2020 p stk)). │ │ │ 00026eb0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00026ec0: 2020 2020 2020 2020 2875 6e6c 6573 7320 (unless │ │ │ -00026ed0: 7374 6b20 286d 616b 6520 746f 7029 2929 stk (make top))) │ │ │ -00026ee0: 290a 2020 2020 2020 2020 2020 2822 3f22 ). ("?" │ │ │ -00026ef0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00026f00: 2028 7072 6f67 6e0a 2020 2020 2020 2020 (progn. │ │ │ +00026ec0: 2020 2020 2020 2020 2028 756e 6c65 7373 (unless │ │ │ +00026ed0: 2073 746b 2028 6d61 6b65 2074 6f70 2929 stk (make top)) │ │ │ +00026ee0: 2929 0a20 2020 2020 2020 2020 2028 223f )). ("? │ │ │ +00026ef0: 2220 2020 2020 2020 2020 2020 2020 2020 " │ │ │ +00026f00: 2020 2870 726f 676e 0a20 2020 2020 2020 (progn. │ │ │ 00026f10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00026f20: 2020 2020 2020 2020 2028 7768 656e 2028 (when ( │ │ │ -00026f30: 616e 6420 286e 6f74 2073 746b 2920 2869 and (not stk) (i │ │ │ -00026f40: 732d 7072 6f70 6572 2022 3f22 206e 696c s-proper "?" nil │ │ │ -00026f50: 2929 0a20 2020 2020 2020 2020 2020 2020 )). │ │ │ +00026f20: 2020 2020 2020 2020 2020 2877 6865 6e20 (when │ │ │ +00026f30: 2861 6e64 2028 6e6f 7420 7374 6b29 2028 (and (not stk) ( │ │ │ +00026f40: 6973 2d70 726f 7065 7220 223f 2220 6e69 is-proper "?" ni │ │ │ +00026f50: 6c29 290a 2020 2020 2020 2020 2020 2020 l)). │ │ │ 00026f60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00026f70: 2020 2020 2020 2864 656c 6574 652d 6368 (delete-ch │ │ │ -00026f80: 6172 202d 3129 0a20 2020 2020 2020 2020 ar -1). │ │ │ +00026f70: 2020 2020 2020 2028 6465 6c65 7465 2d63 (delete-c │ │ │ +00026f80: 6861 7220 2d31 290a 2020 2020 2020 2020 har -1). │ │ │ 00026f90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00026fa0: 2020 2020 2020 2020 2020 2869 6e73 6572 (inser │ │ │ -00026fb0: 7420 227b 2121 7d22 290a 2020 2020 2020 t "{!!}"). │ │ │ +00026fa0: 2020 2020 2020 2020 2020 2028 696e 7365 (inse │ │ │ +00026fb0: 7274 2022 7b21 217d 2229 0a20 2020 2020 rt "{!!}"). │ │ │ 00026fc0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00026fd0: 2020 2020 2020 2020 2020 2020 2028 6d61 (ma │ │ │ -00026fe0: 6b65 2028 2d20 2870 6f69 6e74 2920 3429 ke (- (point) 4) │ │ │ -00026ff0: 2929 2929 2929 2929 290a 0a28 6465 6675 )))))))))..(defu │ │ │ -00027000: 6e20 6167 6461 322d 6d61 6b65 2d67 6f61 n agda2-make-goa │ │ │ -00027010: 6c20 2870 2071 206e 290a 2020 224d 616b l (p q n). "Mak │ │ │ -00027020: 6520 6120 676f 616c 2077 6974 6820 6e75 e a goal with nu │ │ │ -00027030: 6d62 6572 204e 2061 7420 3c50 3e7b 212e mber N at

{!. │ │ │ -00027040: 2e2e 217d 3c51 3e2e 2020 4173 7375 6d65 ..!}. Assume │ │ │ -00027050: 2074 6865 2072 6567 696f 6e20 6973 2063 the region is c │ │ │ -00027060: 6c65 616e 2e22 0a20 2028 616e 6e6f 7461 lean.". (annota │ │ │ -00027070: 7469 6f6e 2d70 7265 7365 7276 652d 6d6f tion-preserve-mo │ │ │ -00027080: 642d 702d 616e 642d 756e 646f 0a20 2020 d-p-and-undo. │ │ │ -00027090: 286c 6574 2028 2861 7470 2028 6c61 6d62 (let ((atp (lamb │ │ │ -000270a0: 6461 2028 7820 7073 2920 2861 6464 2d74 da (x ps) (add-t │ │ │ -000270b0: 6578 742d 7072 6f70 6572 7469 6573 2078 ext-properties x │ │ │ -000270c0: 2028 312b 2078 2920 7073 2929 2929 0a20 (1+ x) ps)))). │ │ │ -000270d0: 2020 2020 2866 756e 6361 6c6c 2061 7470 (funcall atp │ │ │ -000270e0: 2070 2020 2020 2020 2027 2863 6174 6567 p '(categ │ │ │ -000270f0: 6f72 7920 6167 6461 322d 6465 6c69 6d31 ory agda2-delim1 │ │ │ -00027100: 2929 0a20 2020 2020 2866 756e 6361 6c6c )). (funcall │ │ │ -00027110: 2061 7470 2028 312b 2070 2920 2027 2863 atp (1+ p) '(c │ │ │ -00027120: 6174 6567 6f72 7920 6167 6461 322d 6465 ategory agda2-de │ │ │ -00027130: 6c69 6d32 2929 0a20 2020 2020 2866 756e lim2)). (fun │ │ │ -00027140: 6361 6c6c 2061 7470 2028 2d20 7120 3229 call atp (- q 2) │ │ │ -00027150: 2027 2863 6174 6567 6f72 7920 6167 6461 '(category agda │ │ │ -00027160: 322d 6465 6c69 6d33 2929 0a20 2020 2020 2-delim3)). │ │ │ -00027170: 2866 756e 6361 6c6c 2061 7470 2028 312d (funcall atp (1- │ │ │ -00027180: 2071 2920 2027 2863 6174 6567 6f72 7920 q) '(category │ │ │ -00027190: 6167 6461 322d 6465 6c69 6d34 2929 290a agda2-delim4))). │ │ │ -000271a0: 2020 2028 6c65 7420 2828 6f20 286d 616b (let ((o (mak │ │ │ -000271b0: 652d 6f76 6572 6c61 7920 7020 7120 6e69 e-overlay p q ni │ │ │ -000271c0: 6c20 7420 6e69 6c29 2929 0a20 2020 2020 l t nil))). │ │ │ -000271d0: 286f 7665 726c 6179 2d70 7574 206f 2027 (overlay-put o ' │ │ │ -000271e0: 6d6f 6469 6669 6361 7469 6f6e 2d68 6f6f modification-hoo │ │ │ -000271f0: 6b73 2027 2861 6764 6132 2d70 726f 7465 ks '(agda2-prote │ │ │ -00027200: 6374 2d67 6f61 6c2d 6d61 726b 6572 7329 ct-goal-markers) │ │ │ -00027210: 290a 2020 2020 2028 6f76 6572 6c61 792d ). (overlay- │ │ │ -00027220: 7075 7420 6f20 2761 6764 6132 2d67 6e20 put o 'agda2-gn │ │ │ -00027230: 2020 2020 2020 2020 2020 6e29 0a20 2020 n). │ │ │ -00027240: 2020 286f 7665 726c 6179 2d70 7574 206f (overlay-put o │ │ │ -00027250: 2027 6661 6365 2020 2020 2020 2020 2020 'face │ │ │ -00027260: 2020 2020 2027 6869 6768 6c69 6768 7429 'highlight) │ │ │ -00027270: 0a20 2020 2020 286f 7665 726c 6179 2d70 . (overlay-p │ │ │ -00027280: 7574 206f 2027 6166 7465 722d 7374 7269 ut o 'after-stri │ │ │ -00027290: 6e67 2020 2020 2020 2028 7072 6f70 6572 ng (proper │ │ │ -000272a0: 7469 7a65 2028 666f 726d 6174 2022 2573 tize (format "%s │ │ │ -000272b0: 2220 6e29 2027 6661 6365 2027 6869 6768 " n) 'face 'high │ │ │ -000272c0: 6c69 6768 7429 2929 2929 0a0a 2864 6566 light)))))..(def │ │ │ -000272d0: 756e 2061 6764 6132 2d70 726f 7465 6374 un agda2-protect │ │ │ -000272e0: 2d67 6f61 6c2d 6d61 726b 6572 7320 286f -goal-markers (o │ │ │ -000272f0: 6c20 6163 7469 6f6e 2062 6567 2065 6e64 l action beg end │ │ │ -00027300: 2026 6f70 7469 6f6e 616c 205f 6c65 6e67 &optional _leng │ │ │ -00027310: 7468 290a 2020 2245 6e73 7572 6573 2074 th). "Ensures t │ │ │ -00027320: 6861 7420 7468 6520 676f 616c 206d 6172 hat the goal mar │ │ │ -00027330: 6b65 7273 2063 616e 6e6f 7420 6265 2074 kers cannot be t │ │ │ -00027340: 616d 7065 7265 6420 7769 7468 2e0a 4578 ampered with..Ex │ │ │ -00027350: 6365 7074 2069 6620 6069 6e68 6962 6974 cept if `inhibit │ │ │ -00027360: 2d72 6561 642d 6f6e 6c79 2720 6973 206e -read-only' is n │ │ │ -00027370: 6f6e 2d6e 696c 206f 7220 2f61 6c6c 2f20 on-nil or /all/ │ │ │ -00027380: 6f66 2074 6865 2067 6f61 6c20 6973 0a6d of the goal is.m │ │ │ -00027390: 6f64 6966 6965 642e 220a 2020 2869 6620 odified.". (if │ │ │ -000273a0: 6163 7469 6f6e 0a20 2020 2020 203b 3b20 action. ;; │ │ │ -000273b0: 5468 6973 2069 7320 7468 6520 6166 7465 This is the afte │ │ │ -000273c0: 722d 6368 616e 6765 2068 6f6f 6b2e 0a20 r-change hook.. │ │ │ -000273d0: 2020 2020 206e 696c 0a20 2020 203b 3b20 nil. ;; │ │ │ -000273e0: 5468 6973 2069 7320 7468 6520 6265 666f This is the befo │ │ │ -000273f0: 7265 2d63 6861 6e67 6520 686f 6f6b 2e0a re-change hook.. │ │ │ -00027400: 2020 2020 2863 6f6e 640a 2020 2020 2028 (cond. ( │ │ │ -00027410: 2861 6e64 2028 3c3d 2062 6567 2028 6f76 (and (<= beg (ov │ │ │ -00027420: 6572 6c61 792d 7374 6172 7420 6f6c 2929 erlay-start ol)) │ │ │ -00027430: 2028 3e3d 2065 6e64 2028 6f76 6572 6c61 (>= end (overla │ │ │ -00027440: 792d 656e 6420 6f6c 2929 290a 2020 2020 y-end ol))). │ │ │ -00027450: 2020 3b3b 2054 6865 2075 7365 7220 6973 ;; The user is │ │ │ -00027460: 2074 7279 696e 6720 746f 2072 656d 6f76 trying to remov │ │ │ -00027470: 6520 7468 6520 7768 6f6c 6520 676f 616c e the whole goal │ │ │ -00027480: 3a0a 2020 2020 2020 3b3b 206d 616e 7561 :. ;; manua │ │ │ -00027490: 6c6c 7920 6576 6170 6f72 6174 6520 7468 lly evaporate th │ │ │ -000274a0: 6520 6f76 6572 6c61 7920 616e 6420 6164 e overlay and ad │ │ │ -000274b0: 6420 616e 2075 6e64 6f2d 6c6f 6720 656e d an undo-log en │ │ │ -000274c0: 7472 7920 736f 0a20 2020 2020 203b 3b20 try so. ;; │ │ │ -000274d0: 6974 2067 6574 7320 7265 2d61 6464 6564 it gets re-added │ │ │ -000274e0: 2069 6620 6e65 6564 6564 2e0a 2020 2020 if needed.. │ │ │ -000274f0: 2020 2877 6865 6e20 286c 6973 7470 2062 (when (listp b │ │ │ -00027500: 7566 6665 722d 756e 646f 2d6c 6973 7429 uffer-undo-list) │ │ │ -00027510: 0a20 2020 2020 2020 2028 7075 7368 2028 . (push ( │ │ │ -00027520: 6c69 7374 2027 6170 706c 7920 3020 286f list 'apply 0 (o │ │ │ -00027530: 7665 726c 6179 2d73 7461 7274 206f 6c29 verlay-start ol) │ │ │ -00027540: 2028 6f76 6572 6c61 792d 656e 6420 6f6c (overlay-end ol │ │ │ -00027550: 290a 2020 2020 2020 2020 2020 2020 2020 ). │ │ │ -00027560: 2020 2020 2020 276d 6f76 652d 6f76 6572 'move-over │ │ │ -00027570: 6c61 7920 6f6c 2028 6f76 6572 6c61 792d lay ol (overlay- │ │ │ -00027580: 7374 6172 7420 6f6c 2920 286f 7665 726c start ol) (overl │ │ │ -00027590: 6179 2d65 6e64 206f 6c29 290a 2020 2020 ay-end ol)). │ │ │ -000275a0: 2020 2020 2020 2020 2020 6275 6666 6572 buffer │ │ │ -000275b0: 2d75 6e64 6f2d 6c69 7374 2929 0a20 2020 -undo-list)). │ │ │ -000275c0: 2020 2028 6465 6c65 7465 2d6f 7665 726c (delete-overl │ │ │ -000275d0: 6179 206f 6c29 290a 2020 2020 2028 286f ay ol)). ((o │ │ │ -000275e0: 7220 283c 2062 6567 2028 2b20 286f 7665 r (< beg (+ (ove │ │ │ -000275f0: 726c 6179 2d73 7461 7274 206f 6c29 2032 rlay-start ol) 2 │ │ │ -00027600: 2929 0a20 2020 2020 2020 2020 2028 3e20 )). (> │ │ │ -00027610: 656e 6420 282d 2028 6f76 6572 6c61 792d end (- (overlay- │ │ │ -00027620: 656e 6420 6f6c 2920 3229 2929 0a20 2020 end ol) 2))). │ │ │ -00027630: 2020 2028 756e 6c65 7373 2069 6e68 6962 (unless inhib │ │ │ -00027640: 6974 2d72 6561 642d 6f6e 6c79 0a20 2020 it-read-only. │ │ │ -00027650: 2020 2020 2028 7369 676e 616c 2027 7465 (signal 'te │ │ │ -00027660: 7874 2d72 6561 642d 6f6e 6c79 206e 696c xt-read-only nil │ │ │ -00027670: 2929 2929 2929 0a0a 2864 6566 756e 2061 ))))))..(defun a │ │ │ -00027680: 6764 6132 2d75 7064 6174 6520 286f 6c64 gda2-update (old │ │ │ -00027690: 2d67 206e 6577 2d74 7874 290a 2020 2255 -g new-txt). "U │ │ │ -000276a0: 7064 6174 6520 7468 6520 676f 616c 204f pdate the goal O │ │ │ -000276b0: 4c44 2d47 2e0a 4966 204e 4557 2d54 5854 LD-G..If NEW-TXT │ │ │ -000276c0: 2069 7320 6120 7374 7269 6e67 2c20 7468 is a string, th │ │ │ -000276d0: 656e 2074 6865 2067 6f61 6c20 6973 2072 en the goal is r │ │ │ -000276e0: 6570 6c61 6365 6420 6279 2074 6865 2073 eplaced by the s │ │ │ -000276f0: 7472 696e 672c 0a61 6e64 206f 7468 6572 tring,.and other │ │ │ -00027700: 7769 7365 2074 6865 2074 6578 7420 696e wise the text in │ │ │ -00027710: 7369 6465 2074 6865 2067 6f61 6c20 6973 side the goal is │ │ │ -00027720: 2072 6574 6169 6e65 6420 2870 6172 656e retained (paren │ │ │ -00027730: 7468 6573 6973 6564 0a69 6620 4e45 572d thesised.if NEW- │ │ │ -00027740: 5458 5420 6973 2060 2770 6172 656e 2729 TXT is `'paren') │ │ │ -00027750: 2e0a 0a52 656d 6f76 6573 2074 6865 2067 ...Removes the g │ │ │ -00027760: 6f61 6c20 6272 6163 6573 2c20 6275 7420 oal braces, but │ │ │ -00027770: 646f 6573 206e 6f74 2072 656d 6f76 6520 does not remove │ │ │ -00027780: 7468 6520 676f 616c 206f 7665 726c 6179 the goal overlay │ │ │ -00027790: 206f 720a 7465 7874 2070 726f 7065 7274 or.text propert │ │ │ -000277a0: 6965 732e 220a 2020 2863 6c2d 6d75 6c74 ies.". (cl-mult │ │ │ -000277b0: 6970 6c65 2d76 616c 7565 2d62 696e 6420 iple-value-bind │ │ │ -000277c0: 2870 2071 2920 2861 6764 6132 2d72 616e (p q) (agda2-ran │ │ │ -000277d0: 6765 2d6f 662d 676f 616c 206f 6c64 2d67 ge-of-goal old-g │ │ │ -000277e0: 290a 2020 2020 2873 6176 652d 6578 6375 ). (save-excu │ │ │ -000277f0: 7273 696f 6e0a 2020 2020 2020 2863 6f6e rsion. (con │ │ │ -00027800: 6420 2828 7374 7269 6e67 7020 6e65 772d d ((stringp new- │ │ │ -00027810: 7478 7429 0a20 2020 2020 2020 2020 2020 txt). │ │ │ -00027820: 2020 2861 6764 6132 2d72 6570 6c61 6365 (agda2-replace │ │ │ -00027830: 2d67 6f61 6c20 6f6c 642d 6720 6e65 772d -goal old-g new- │ │ │ -00027840: 7478 7429 290a 2020 2020 2020 2020 2020 txt)). │ │ │ -00027850: 2020 2828 6571 7561 6c20 6e65 772d 7478 ((equal new-tx │ │ │ -00027860: 7420 2770 6172 656e 290a 2020 2020 2020 t 'paren). │ │ │ -00027870: 2020 2020 2020 2028 676f 746f 2d63 6861 (goto-cha │ │ │ -00027880: 7220 282d 2071 2032 2929 2028 696e 7365 r (- q 2)) (inse │ │ │ -00027890: 7274 2022 2922 290a 2020 2020 2020 2020 rt ")"). │ │ │ -000278a0: 2020 2020 2028 676f 746f 2d63 6861 7220 (goto-char │ │ │ -000278b0: 282b 2070 2032 2929 2028 696e 7365 7274 (+ p 2)) (insert │ │ │ -000278c0: 2022 2822 2929 290a 2020 2020 2020 2863 "("))). (c │ │ │ -000278d0: 6c2d 6d75 6c74 6970 6c65 2d76 616c 7565 l-multiple-value │ │ │ -000278e0: 2d62 696e 6420 2870 2071 2920 2861 6764 -bind (p q) (agd │ │ │ -000278f0: 6132 2d72 616e 6765 2d6f 662d 676f 616c a2-range-of-goal │ │ │ -00027900: 206f 6c64 2d67 290a 2020 2020 2020 2020 old-g). │ │ │ -00027910: 2864 656c 6574 652d 7265 6769 6f6e 2028 (delete-region ( │ │ │ -00027920: 2d20 7120 3229 2071 290a 2020 2020 2020 - q 2) q). │ │ │ -00027930: 2020 2864 656c 6574 652d 7265 6769 6f6e (delete-region │ │ │ -00027940: 2070 2028 2b20 7020 3229 2929 0a20 2020 p (+ p 2))). │ │ │ -00027950: 2020 2020 203b 3b20 5570 6461 7465 2068 ;; Update h │ │ │ -00027960: 6967 686c 6967 6874 696e 670a 2020 2020 ighlighting. │ │ │ -00027970: 2020 2020 2869 6620 2861 6e64 2028 6e6f (if (and (no │ │ │ -00027980: 7420 2865 7175 616c 206e 6577 2d74 7874 t (equal new-txt │ │ │ -00027990: 2027 7061 7265 6e29 2920 286e 6f74 2028 'paren)) (not ( │ │ │ -000279a0: 6571 7561 6c20 6e65 772d 7478 7420 276e equal new-txt 'n │ │ │ -000279b0: 6f2d 7061 7265 6e29 2929 0a20 2020 2020 o-paren))). │ │ │ -000279c0: 2020 2020 2020 2028 6170 706c 7920 2761 (apply 'a │ │ │ -000279d0: 6764 6132 2d67 6f20 2773 6176 6520 7420 gda2-go 'save t │ │ │ -000279e0: 2762 7573 7920 6e69 6c20 2243 6d64 5f68 'busy nil "Cmd_h │ │ │ -000279f0: 6967 686c 6967 6874 220a 2020 2020 2020 ighlight". │ │ │ -00027a00: 2020 2020 2020 2020 2866 6f72 6d61 7420 (format │ │ │ -00027a10: 2225 6422 206f 6c64 2d67 290a 2020 2020 "%d" old-g). │ │ │ -00027a20: 2020 2020 2020 2020 2020 2861 6764 6132 (agda2 │ │ │ -00027a30: 2d6d 6b52 616e 6765 2060 282c 7020 2c28 -mkRange `(,p ,( │ │ │ -00027a40: 2d20 7120 3229 2929 0a20 2020 2020 2020 - q 2))). │ │ │ -00027a50: 2020 2020 2020 2028 6167 6461 322d 7374 (agda2-st │ │ │ -00027a60: 7269 6e67 2d71 756f 7465 206e 6577 2d74 ring-quote new-t │ │ │ -00027a70: 7874 2920 6e69 6c29 290a 2020 2020 2929 xt) nil)). )) │ │ │ -00027a80: 290a 0a3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b )..;;;;;;;;;;;;; │ │ │ +00026fd0: 2020 2020 2020 2020 2020 2020 2020 286d (m │ │ │ +00026fe0: 616b 6520 282d 2028 706f 696e 7429 2034 ake (- (point) 4 │ │ │ +00026ff0: 2929 2929 2929 2929 2929 0a0a 2864 6566 ))))))))))..(def │ │ │ +00027000: 756e 2061 6764 6132 2d6d 616b 652d 676f un agda2-make-go │ │ │ +00027010: 616c 2028 7020 7120 6e29 0a20 2022 4d61 al (p q n). "Ma │ │ │ +00027020: 6b65 2061 2067 6f61 6c20 7769 7468 206e ke a goal with n │ │ │ +00027030: 756d 6265 7220 4e20 6174 203c 503e 7b21 umber N at

{! │ │ │ +00027040: 2e2e 2e21 7d3c 513e 2e20 2041 7373 756d ...!}. Assum │ │ │ +00027050: 6520 7468 6520 7265 6769 6f6e 2069 7320 e the region is │ │ │ +00027060: 636c 6561 6e2e 220a 2020 2861 6e6e 6f74 clean.". (annot │ │ │ +00027070: 6174 696f 6e2d 7072 6573 6572 7665 2d6d ation-preserve-m │ │ │ +00027080: 6f64 2d70 2d61 6e64 2d75 6e64 6f0a 2020 od-p-and-undo. │ │ │ +00027090: 2028 6c65 7420 2828 6174 7020 286c 616d (let ((atp (lam │ │ │ +000270a0: 6264 6120 2878 2070 7329 2028 6164 642d bda (x ps) (add- │ │ │ +000270b0: 7465 7874 2d70 726f 7065 7274 6965 7320 text-properties │ │ │ +000270c0: 7820 2831 2b20 7829 2070 7329 2929 290a x (1+ x) ps)))). │ │ │ +000270d0: 2020 2020 2028 6675 6e63 616c 6c20 6174 (funcall at │ │ │ +000270e0: 7020 7020 2020 2020 2020 2728 6361 7465 p p '(cate │ │ │ +000270f0: 676f 7279 2061 6764 6132 2d64 656c 696d gory agda2-delim │ │ │ +00027100: 3129 290a 2020 2020 2028 6675 6e63 616c 1)). (funcal │ │ │ +00027110: 6c20 6174 7020 2831 2b20 7029 2020 2728 l atp (1+ p) '( │ │ │ +00027120: 6361 7465 676f 7279 2061 6764 6132 2d64 category agda2-d │ │ │ +00027130: 656c 696d 3229 290a 2020 2020 2028 6675 elim2)). (fu │ │ │ +00027140: 6e63 616c 6c20 6174 7020 282d 2071 2032 ncall atp (- q 2 │ │ │ +00027150: 2920 2728 6361 7465 676f 7279 2061 6764 ) '(category agd │ │ │ +00027160: 6132 2d64 656c 696d 3329 290a 2020 2020 a2-delim3)). │ │ │ +00027170: 2028 6675 6e63 616c 6c20 6174 7020 2831 (funcall atp (1 │ │ │ +00027180: 2d20 7129 2020 2728 6361 7465 676f 7279 - q) '(category │ │ │ +00027190: 2061 6764 6132 2d64 656c 696d 3429 2929 agda2-delim4))) │ │ │ +000271a0: 0a20 2020 286c 6574 2028 286f 2028 6d61 . (let ((o (ma │ │ │ +000271b0: 6b65 2d6f 7665 726c 6179 2070 2071 206e ke-overlay p q n │ │ │ +000271c0: 696c 2074 206e 696c 2929 290a 2020 2020 il t nil))). │ │ │ +000271d0: 2028 6f76 6572 6c61 792d 7075 7420 6f20 (overlay-put o │ │ │ +000271e0: 276d 6f64 6966 6963 6174 696f 6e2d 686f 'modification-ho │ │ │ +000271f0: 6f6b 7320 2728 6167 6461 322d 7072 6f74 oks '(agda2-prot │ │ │ +00027200: 6563 742d 676f 616c 2d6d 6172 6b65 7273 ect-goal-markers │ │ │ +00027210: 2929 0a20 2020 2020 286f 7665 726c 6179 )). (overlay │ │ │ +00027220: 2d70 7574 206f 2027 6167 6461 322d 676e -put o 'agda2-gn │ │ │ +00027230: 2020 2020 2020 2020 2020 206e 290a 2020 n). │ │ │ +00027240: 2020 2028 6f76 6572 6c61 792d 7075 7420 (overlay-put │ │ │ +00027250: 6f20 2766 6163 6520 2020 2020 2020 2020 o 'face │ │ │ +00027260: 2020 2020 2020 2768 6967 686c 6967 6874 'highlight │ │ │ +00027270: 290a 2020 2020 2028 6f76 6572 6c61 792d ). (overlay- │ │ │ +00027280: 7075 7420 6f20 2761 6674 6572 2d73 7472 put o 'after-str │ │ │ +00027290: 696e 6720 2020 2020 2020 2870 726f 7065 ing (prope │ │ │ +000272a0: 7274 697a 6520 2866 6f72 6d61 7420 2225 rtize (format "% │ │ │ +000272b0: 7322 206e 2920 2766 6163 6520 2768 6967 s" n) 'face 'hig │ │ │ +000272c0: 686c 6967 6874 2929 2929 290a 0a28 6465 hlight)))))..(de │ │ │ +000272d0: 6675 6e20 6167 6461 322d 7072 6f74 6563 fun agda2-protec │ │ │ +000272e0: 742d 676f 616c 2d6d 6172 6b65 7273 2028 t-goal-markers ( │ │ │ +000272f0: 6f6c 2061 6374 696f 6e20 6265 6720 656e ol action beg en │ │ │ +00027300: 6420 266f 7074 696f 6e61 6c20 5f6c 656e d &optional _len │ │ │ +00027310: 6774 6829 0a20 2022 456e 7375 7265 7320 gth). "Ensures │ │ │ +00027320: 7468 6174 2074 6865 2067 6f61 6c20 6d61 that the goal ma │ │ │ +00027330: 726b 6572 7320 6361 6e6e 6f74 2062 6520 rkers cannot be │ │ │ +00027340: 7461 6d70 6572 6564 2077 6974 682e 0a45 tampered with..E │ │ │ +00027350: 7863 6570 7420 6966 2060 696e 6869 6269 xcept if `inhibi │ │ │ +00027360: 742d 7265 6164 2d6f 6e6c 7927 2069 7320 t-read-only' is │ │ │ +00027370: 6e6f 6e2d 6e69 6c20 6f72 202f 616c 6c2f non-nil or /all/ │ │ │ +00027380: 206f 6620 7468 6520 676f 616c 2069 730a of the goal is. │ │ │ +00027390: 6d6f 6469 6669 6564 2e22 0a20 2028 6966 modified.". (if │ │ │ +000273a0: 2061 6374 696f 6e0a 2020 2020 2020 3b3b action. ;; │ │ │ +000273b0: 2054 6869 7320 6973 2074 6865 2061 6674 This is the aft │ │ │ +000273c0: 6572 2d63 6861 6e67 6520 686f 6f6b 2e0a er-change hook.. │ │ │ +000273d0: 2020 2020 2020 6e69 6c0a 2020 2020 3b3b nil. ;; │ │ │ +000273e0: 2054 6869 7320 6973 2074 6865 2062 6566 This is the bef │ │ │ +000273f0: 6f72 652d 6368 616e 6765 2068 6f6f 6b2e ore-change hook. │ │ │ +00027400: 0a20 2020 2028 636f 6e64 0a20 2020 2020 . (cond. │ │ │ +00027410: 2828 616e 6420 283c 3d20 6265 6720 286f ((and (<= beg (o │ │ │ +00027420: 7665 726c 6179 2d73 7461 7274 206f 6c29 verlay-start ol) │ │ │ +00027430: 2920 283e 3d20 656e 6420 286f 7665 726c ) (>= end (overl │ │ │ +00027440: 6179 2d65 6e64 206f 6c29 2929 0a20 2020 ay-end ol))). │ │ │ +00027450: 2020 203b 3b20 5468 6520 7573 6572 2069 ;; The user i │ │ │ +00027460: 7320 7472 7969 6e67 2074 6f20 7265 6d6f s trying to remo │ │ │ +00027470: 7665 2074 6865 2077 686f 6c65 2067 6f61 ve the whole goa │ │ │ +00027480: 6c3a 0a20 2020 2020 203b 3b20 6d61 6e75 l:. ;; manu │ │ │ +00027490: 616c 6c79 2065 7661 706f 7261 7465 2074 ally evaporate t │ │ │ +000274a0: 6865 206f 7665 726c 6179 2061 6e64 2061 he overlay and a │ │ │ +000274b0: 6464 2061 6e20 756e 646f 2d6c 6f67 2065 dd an undo-log e │ │ │ +000274c0: 6e74 7279 2073 6f0a 2020 2020 2020 3b3b ntry so. ;; │ │ │ +000274d0: 2069 7420 6765 7473 2072 652d 6164 6465 it gets re-adde │ │ │ +000274e0: 6420 6966 206e 6565 6465 642e 0a20 2020 d if needed.. │ │ │ +000274f0: 2020 2028 7768 656e 2028 6c69 7374 7020 (when (listp │ │ │ +00027500: 6275 6666 6572 2d75 6e64 6f2d 6c69 7374 buffer-undo-list │ │ │ +00027510: 290a 2020 2020 2020 2020 2870 7573 6820 ). (push │ │ │ +00027520: 286c 6973 7420 2761 7070 6c79 2030 2028 (list 'apply 0 ( │ │ │ +00027530: 6f76 6572 6c61 792d 7374 6172 7420 6f6c overlay-start ol │ │ │ +00027540: 2920 286f 7665 726c 6179 2d65 6e64 206f ) (overlay-end o │ │ │ +00027550: 6c29 0a20 2020 2020 2020 2020 2020 2020 l). │ │ │ +00027560: 2020 2020 2020 2027 6d6f 7665 2d6f 7665 'move-ove │ │ │ +00027570: 726c 6179 206f 6c20 286f 7665 726c 6179 rlay ol (overlay │ │ │ +00027580: 2d73 7461 7274 206f 6c29 2028 6f76 6572 -start ol) (over │ │ │ +00027590: 6c61 792d 656e 6420 6f6c 2929 0a20 2020 lay-end ol)). │ │ │ +000275a0: 2020 2020 2020 2020 2020 2062 7566 6665 buffe │ │ │ +000275b0: 722d 756e 646f 2d6c 6973 7429 290a 2020 r-undo-list)). │ │ │ +000275c0: 2020 2020 2864 656c 6574 652d 6f76 6572 (delete-over │ │ │ +000275d0: 6c61 7920 6f6c 2929 0a20 2020 2020 2828 lay ol)). (( │ │ │ +000275e0: 6f72 2028 3c20 6265 6720 282b 2028 6f76 or (< beg (+ (ov │ │ │ +000275f0: 6572 6c61 792d 7374 6172 7420 6f6c 2920 erlay-start ol) │ │ │ +00027600: 3229 290a 2020 2020 2020 2020 2020 283e 2)). (> │ │ │ +00027610: 2065 6e64 2028 2d20 286f 7665 726c 6179 end (- (overlay │ │ │ +00027620: 2d65 6e64 206f 6c29 2032 2929 290a 2020 -end ol) 2))). │ │ │ +00027630: 2020 2020 2875 6e6c 6573 7320 696e 6869 (unless inhi │ │ │ +00027640: 6269 742d 7265 6164 2d6f 6e6c 790a 2020 bit-read-only. │ │ │ +00027650: 2020 2020 2020 2873 6967 6e61 6c20 2774 (signal 't │ │ │ +00027660: 6578 742d 7265 6164 2d6f 6e6c 7920 6e69 ext-read-only ni │ │ │ +00027670: 6c29 2929 2929 290a 0a28 6465 6675 6e20 l))))))..(defun │ │ │ +00027680: 6167 6461 322d 7570 6461 7465 2028 6f6c agda2-update (ol │ │ │ +00027690: 642d 6720 6e65 772d 7478 7429 0a20 2022 d-g new-txt). " │ │ │ +000276a0: 5570 6461 7465 2074 6865 2067 6f61 6c20 Update the goal │ │ │ +000276b0: 4f4c 442d 472e 0a49 6620 4e45 572d 5458 OLD-G..If NEW-TX │ │ │ +000276c0: 5420 6973 2061 2073 7472 696e 672c 2074 T is a string, t │ │ │ +000276d0: 6865 6e20 7468 6520 676f 616c 2069 7320 hen the goal is │ │ │ +000276e0: 7265 706c 6163 6564 2062 7920 7468 6520 replaced by the │ │ │ +000276f0: 7374 7269 6e67 2c0a 616e 6420 6f74 6865 string,.and othe │ │ │ +00027700: 7277 6973 6520 7468 6520 7465 7874 2069 rwise the text i │ │ │ +00027710: 6e73 6964 6520 7468 6520 676f 616c 2069 nside the goal i │ │ │ +00027720: 7320 7265 7461 696e 6564 2028 7061 7265 s retained (pare │ │ │ +00027730: 6e74 6865 7369 7365 640a 6966 204e 4557 nthesised.if NEW │ │ │ +00027740: 2d54 5854 2069 7320 6027 7061 7265 6e27 -TXT is `'paren' │ │ │ +00027750: 292e 0a0a 5265 6d6f 7665 7320 7468 6520 )...Removes the │ │ │ +00027760: 676f 616c 2062 7261 6365 732c 2062 7574 goal braces, but │ │ │ +00027770: 2064 6f65 7320 6e6f 7420 7265 6d6f 7665 does not remove │ │ │ +00027780: 2074 6865 2067 6f61 6c20 6f76 6572 6c61 the goal overla │ │ │ +00027790: 7920 6f72 0a74 6578 7420 7072 6f70 6572 y or.text proper │ │ │ +000277a0: 7469 6573 2e22 0a20 2028 636c 2d6d 756c ties.". (cl-mul │ │ │ +000277b0: 7469 706c 652d 7661 6c75 652d 6269 6e64 tiple-value-bind │ │ │ +000277c0: 2028 7020 7129 2028 6167 6461 322d 7261 (p q) (agda2-ra │ │ │ +000277d0: 6e67 652d 6f66 2d67 6f61 6c20 6f6c 642d nge-of-goal old- │ │ │ +000277e0: 6729 0a20 2020 2028 7361 7665 2d65 7863 g). (save-exc │ │ │ +000277f0: 7572 7369 6f6e 0a20 2020 2020 2028 636f ursion. (co │ │ │ +00027800: 6e64 2028 2873 7472 696e 6770 206e 6577 nd ((stringp new │ │ │ +00027810: 2d74 7874 290a 2020 2020 2020 2020 2020 -txt). │ │ │ +00027820: 2020 2028 6167 6461 322d 7265 706c 6163 (agda2-replac │ │ │ +00027830: 652d 676f 616c 206f 6c64 2d67 206e 6577 e-goal old-g new │ │ │ +00027840: 2d74 7874 2929 0a20 2020 2020 2020 2020 -txt)). │ │ │ +00027850: 2020 2028 2865 7175 616c 206e 6577 2d74 ((equal new-t │ │ │ +00027860: 7874 2027 7061 7265 6e29 0a20 2020 2020 xt 'paren). │ │ │ +00027870: 2020 2020 2020 2020 2867 6f74 6f2d 6368 (goto-ch │ │ │ +00027880: 6172 2028 2d20 7120 3229 2920 2869 6e73 ar (- q 2)) (ins │ │ │ +00027890: 6572 7420 2229 2229 0a20 2020 2020 2020 ert ")"). │ │ │ +000278a0: 2020 2020 2020 2867 6f74 6f2d 6368 6172 (goto-char │ │ │ +000278b0: 2028 2b20 7020 3229 2920 2869 6e73 6572 (+ p 2)) (inser │ │ │ +000278c0: 7420 2228 2229 2929 0a20 2020 2020 2028 t "("))). ( │ │ │ +000278d0: 636c 2d6d 756c 7469 706c 652d 7661 6c75 cl-multiple-valu │ │ │ +000278e0: 652d 6269 6e64 2028 7020 7129 2028 6167 e-bind (p q) (ag │ │ │ +000278f0: 6461 322d 7261 6e67 652d 6f66 2d67 6f61 da2-range-of-goa │ │ │ +00027900: 6c20 6f6c 642d 6729 0a20 2020 2020 2020 l old-g). │ │ │ +00027910: 2028 6465 6c65 7465 2d72 6567 696f 6e20 (delete-region │ │ │ +00027920: 282d 2071 2032 2920 7129 0a20 2020 2020 (- q 2) q). │ │ │ +00027930: 2020 2028 6465 6c65 7465 2d72 6567 696f (delete-regio │ │ │ +00027940: 6e20 7020 282b 2070 2032 2929 290a 2020 n p (+ p 2))). │ │ │ +00027950: 2020 2020 2020 3b3b 2055 7064 6174 6520 ;; Update │ │ │ +00027960: 6869 6768 6c69 6768 7469 6e67 0a20 2020 highlighting. │ │ │ +00027970: 2020 2020 2028 6966 2028 616e 6420 286e (if (and (n │ │ │ +00027980: 6f74 2028 6571 7561 6c20 6e65 772d 7478 ot (equal new-tx │ │ │ +00027990: 7420 2770 6172 656e 2929 2028 6e6f 7420 t 'paren)) (not │ │ │ +000279a0: 2865 7175 616c 206e 6577 2d74 7874 2027 (equal new-txt ' │ │ │ +000279b0: 6e6f 2d70 6172 656e 2929 290a 2020 2020 no-paren))). │ │ │ +000279c0: 2020 2020 2020 2020 2861 7070 6c79 2027 (apply ' │ │ │ +000279d0: 6167 6461 322d 676f 2027 7361 7665 2074 agda2-go 'save t │ │ │ +000279e0: 2027 6275 7379 206e 696c 2022 436d 645f 'busy nil "Cmd_ │ │ │ +000279f0: 6869 6768 6c69 6768 7422 0a20 2020 2020 highlight". │ │ │ +00027a00: 2020 2020 2020 2020 2028 666f 726d 6174 (format │ │ │ +00027a10: 2022 2564 2220 6f6c 642d 6729 0a20 2020 "%d" old-g). │ │ │ +00027a20: 2020 2020 2020 2020 2020 2028 6167 6461 (agda │ │ │ +00027a30: 322d 6d6b 5261 6e67 6520 6028 2c70 202c 2-mkRange `(,p , │ │ │ +00027a40: 282d 2071 2032 2929 290a 2020 2020 2020 (- q 2))). │ │ │ +00027a50: 2020 2020 2020 2020 2861 6764 6132 2d73 (agda2-s │ │ │ +00027a60: 7472 696e 672d 7175 6f74 6520 6e65 772d tring-quote new- │ │ │ +00027a70: 7478 7429 206e 696c 2929 0a20 2020 2029 txt) nil)). ) │ │ │ +00027a80: 2929 0a0a 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ))..;;;;;;;;;;;; │ │ │ 00027a90: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00027aa0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00027ab0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ -00027ac0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b0a 3b3b 3b3b ;;;;;;;;;;;.;;;; │ │ │ -00027ad0: 204d 6973 630a 0a28 6465 6675 6e20 6167 Misc..(defun ag │ │ │ -00027ae0: 6461 322d 7072 6f63 6573 732d 7374 6174 da2-process-stat │ │ │ -00027af0: 7573 2028 290a 2020 2253 7461 7475 7320 us (). "Status │ │ │ -00027b00: 6f66 2060 6167 6461 322d 7072 6f63 6573 of `agda2-proces │ │ │ -00027b10: 732d 6275 6666 6572 272c 206f 7220 5c22 s-buffer', or \" │ │ │ -00027b20: 6e6f 2070 726f 6365 7373 5c22 2e22 0a20 no process\".". │ │ │ -00027b30: 2028 636f 6e64 6974 696f 6e2d 6361 7365 (condition-case │ │ │ -00027b40: 206e 696c 0a20 2020 2020 2028 7072 6f63 nil. (proc │ │ │ -00027b50: 6573 732d 7374 6174 7573 2061 6764 6132 ess-status agda2 │ │ │ -00027b60: 2d70 726f 6365 7373 290a 2020 2020 2865 -process). (e │ │ │ -00027b70: 7272 6f72 2022 6e6f 2070 726f 6365 7373 rror "no process │ │ │ -00027b80: 2229 2929 0a0a 2864 6566 756e 2061 6764 ")))..(defun agd │ │ │ -00027b90: 6132 2d69 6e74 6572 7370 6572 7365 2028 a2-intersperse ( │ │ │ -00027ba0: 7365 7020 7873 290a 2020 286c 6574 2028 sep xs). (let ( │ │ │ -00027bb0: 7973 290a 2020 2020 2877 6869 6c65 2078 ys). (while x │ │ │ -00027bc0: 730a 2020 2020 2020 2870 7573 6820 2870 s. (push (p │ │ │ -00027bd0: 6f70 2078 7329 2079 7329 0a20 2020 2020 op xs) ys). │ │ │ -00027be0: 2028 7075 7368 2073 6570 2079 7329 290a (push sep ys)). │ │ │ -00027bf0: 2020 2020 2870 6f70 2079 7329 0a20 2020 (pop ys). │ │ │ -00027c00: 2028 6e72 6576 6572 7365 2079 7329 2929 (nreverse ys))) │ │ │ -00027c10: 0a0a 2864 6566 756e 2061 6764 6132 2d67 ..(defun agda2-g │ │ │ -00027c20: 6f61 6c2d 5261 6e67 6520 286f 290a 2020 oal-Range (o). │ │ │ -00027c30: 2254 6865 2048 6173 6b65 6c6c 2052 616e "The Haskell Ran │ │ │ -00027c40: 6765 206f 6620 676f 616c 206f 7665 726c ge of goal overl │ │ │ -00027c50: 6179 204f 2e22 0a20 2028 6167 6461 322d ay O.". (agda2- │ │ │ -00027c60: 6d6b 5261 6e67 6520 6028 2c28 2b20 286f mkRange `(,(+ (o │ │ │ -00027c70: 7665 726c 6179 2d73 7461 7274 206f 2920 verlay-start o) │ │ │ -00027c80: 3229 0a20 2020 2020 2020 2020 2020 2020 2). │ │ │ -00027c90: 2020 2020 2020 2c28 2d20 286f 7665 726c ,(- (overl │ │ │ -00027ca0: 6179 2d65 6e64 2020 206f 2920 3229 2929 ay-end o) 2))) │ │ │ -00027cb0: 290a 0a28 6465 6675 6e20 6167 6461 322d )..(defun agda2- │ │ │ -00027cc0: 6d6b 5261 6e67 6520 2870 6f69 6e74 7329 mkRange (points) │ │ │ -00027cd0: 0a20 2022 4120 7374 7269 6e67 2072 6570 . "A string rep │ │ │ -00027ce0: 7265 7365 6e74 696e 6720 6120 7261 6e67 resenting a rang │ │ │ -00027cf0: 6520 636f 7272 6573 706f 6e64 696e 6720 e corresponding │ │ │ -00027d00: 746f 2050 4f49 4e54 532e 0a50 4f49 4e54 to POINTS..POINT │ │ │ -00027d10: 5320 6d75 7374 2062 6520 6120 6c69 7374 S must be a list │ │ │ -00027d20: 206f 6620 696e 7465 6765 7273 2c20 616e of integers, an │ │ │ -00027d30: 6420 6974 7320 6c65 6e67 7468 206d 7573 d its length mus │ │ │ -00027d40: 7420 6265 2030 206f 7220 322e 220a 2020 t be 0 or 2.". │ │ │ -00027d50: 2869 6620 706f 696e 7473 0a20 2020 2020 (if points. │ │ │ -00027d60: 2028 666f 726d 6174 2022 2869 6e74 6572 (format "(inter │ │ │ -00027d70: 7661 6c73 546f 5261 6e67 6520 284a 7573 valsToRange (Jus │ │ │ -00027d80: 7420 286d 6b41 6273 6f6c 7574 6520 2573 t (mkAbsolute %s │ │ │ -00027d90: 2929 2025 7329 220a 2020 2020 2020 2020 )) %s)". │ │ │ -00027da0: 2020 2020 2020 2861 6764 6132 2d73 7472 (agda2-str │ │ │ -00027db0: 696e 672d 7175 6f74 6520 2866 696c 652d ing-quote (file- │ │ │ -00027dc0: 7472 7565 6e61 6d65 2028 6275 6666 6572 truename (buffer │ │ │ -00027dd0: 2d66 696c 652d 6e61 6d65 2929 290a 2020 -file-name))). │ │ │ -00027de0: 2020 2020 2020 2020 2020 2020 2866 6f72 (for │ │ │ -00027df0: 6d61 7420 225b 496e 7465 7276 616c 2028 mat "[Interval ( │ │ │ -00027e00: 2920 2573 2025 735d 220a 2020 2020 2020 ) %s %s]". │ │ │ +00027ac0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 0a3b 3b3b ;;;;;;;;;;;;.;;; │ │ │ +00027ad0: 3b20 4d69 7363 0a0a 2864 6566 756e 2061 ; Misc..(defun a │ │ │ +00027ae0: 6764 6132 2d70 726f 6365 7373 2d73 7461 gda2-process-sta │ │ │ +00027af0: 7475 7320 2829 0a20 2022 5374 6174 7573 tus (). "Status │ │ │ +00027b00: 206f 6620 6061 6764 6132 2d70 726f 6365 of `agda2-proce │ │ │ +00027b10: 7373 2d62 7566 6665 7227 2c20 6f72 205c ss-buffer', or \ │ │ │ +00027b20: 226e 6f20 7072 6f63 6573 735c 222e 220a "no process\".". │ │ │ +00027b30: 2020 2863 6f6e 6469 7469 6f6e 2d63 6173 (condition-cas │ │ │ +00027b40: 6520 6e69 6c0a 2020 2020 2020 2870 726f e nil. (pro │ │ │ +00027b50: 6365 7373 2d73 7461 7475 7320 6167 6461 cess-status agda │ │ │ +00027b60: 322d 7072 6f63 6573 7329 0a20 2020 2028 2-process). ( │ │ │ +00027b70: 6572 726f 7220 226e 6f20 7072 6f63 6573 error "no proces │ │ │ +00027b80: 7322 2929 290a 0a28 6465 6675 6e20 6167 s")))..(defun ag │ │ │ +00027b90: 6461 322d 696e 7465 7273 7065 7273 6520 da2-intersperse │ │ │ +00027ba0: 2873 6570 2078 7329 0a20 2028 6c65 7420 (sep xs). (let │ │ │ +00027bb0: 2879 7329 0a20 2020 2028 7768 696c 6520 (ys). (while │ │ │ +00027bc0: 7873 0a20 2020 2020 2028 7075 7368 2028 xs. (push ( │ │ │ +00027bd0: 706f 7020 7873 2920 7973 290a 2020 2020 pop xs) ys). │ │ │ +00027be0: 2020 2870 7573 6820 7365 7020 7973 2929 (push sep ys)) │ │ │ +00027bf0: 0a20 2020 2028 706f 7020 7973 290a 2020 . (pop ys). │ │ │ +00027c00: 2020 286e 7265 7665 7273 6520 7973 2929 (nreverse ys)) │ │ │ +00027c10: 290a 0a28 6465 6675 6e20 6167 6461 322d )..(defun agda2- │ │ │ +00027c20: 676f 616c 2d52 616e 6765 2028 6f29 0a20 goal-Range (o). │ │ │ +00027c30: 2022 5468 6520 4861 736b 656c 6c20 5261 "The Haskell Ra │ │ │ +00027c40: 6e67 6520 6f66 2067 6f61 6c20 6f76 6572 nge of goal over │ │ │ +00027c50: 6c61 7920 4f2e 220a 2020 2861 6764 6132 lay O.". (agda2 │ │ │ +00027c60: 2d6d 6b52 616e 6765 2060 282c 282b 2028 -mkRange `(,(+ ( │ │ │ +00027c70: 6f76 6572 6c61 792d 7374 6172 7420 6f29 overlay-start o) │ │ │ +00027c80: 2032 290a 2020 2020 2020 2020 2020 2020 2). │ │ │ +00027c90: 2020 2020 2020 202c 282d 2028 6f76 6572 ,(- (over │ │ │ +00027ca0: 6c61 792d 656e 6420 2020 6f29 2032 2929 lay-end o) 2)) │ │ │ +00027cb0: 2929 0a0a 2864 6566 756e 2061 6764 6132 ))..(defun agda2 │ │ │ +00027cc0: 2d6d 6b52 616e 6765 2028 706f 696e 7473 -mkRange (points │ │ │ +00027cd0: 290a 2020 2241 2073 7472 696e 6720 7265 ). "A string re │ │ │ +00027ce0: 7072 6573 656e 7469 6e67 2061 2072 616e presenting a ran │ │ │ +00027cf0: 6765 2063 6f72 7265 7370 6f6e 6469 6e67 ge corresponding │ │ │ +00027d00: 2074 6f20 504f 494e 5453 2e0a 504f 494e to POINTS..POIN │ │ │ +00027d10: 5453 206d 7573 7420 6265 2061 206c 6973 TS must be a lis │ │ │ +00027d20: 7420 6f66 2069 6e74 6567 6572 732c 2061 t of integers, a │ │ │ +00027d30: 6e64 2069 7473 206c 656e 6774 6820 6d75 nd its length mu │ │ │ +00027d40: 7374 2062 6520 3020 6f72 2032 2e22 0a20 st be 0 or 2.". │ │ │ +00027d50: 2028 6966 2070 6f69 6e74 730a 2020 2020 (if points. │ │ │ +00027d60: 2020 2866 6f72 6d61 7420 2228 696e 7465 (format "(inte │ │ │ +00027d70: 7276 616c 7354 6f52 616e 6765 2028 4a75 rvalsToRange (Ju │ │ │ +00027d80: 7374 2028 6d6b 4162 736f 6c75 7465 2025 st (mkAbsolute % │ │ │ +00027d90: 7329 2920 2573 2922 0a20 2020 2020 2020 s)) %s)". │ │ │ +00027da0: 2020 2020 2020 2028 6167 6461 322d 7374 (agda2-st │ │ │ +00027db0: 7269 6e67 2d71 756f 7465 2028 6669 6c65 ring-quote (file │ │ │ +00027dc0: 2d74 7275 656e 616d 6520 2862 7566 6665 -truename (buffe │ │ │ +00027dd0: 722d 6669 6c65 2d6e 616d 6529 2929 0a20 r-file-name))). │ │ │ +00027de0: 2020 2020 2020 2020 2020 2020 2028 666f (fo │ │ │ +00027df0: 726d 6174 2022 5b49 6e74 6572 7661 6c20 rmat "[Interval │ │ │ +00027e00: 2829 2025 7320 2573 5d22 0a20 2020 2020 () %s %s]". │ │ │ 00027e10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00027e20: 2861 6764 6132 2d6d 6b50 6f73 2028 6361 (agda2-mkPos (ca │ │ │ -00027e30: 7220 706f 696e 7473 2929 0a20 2020 2020 r points)). │ │ │ +00027e20: 2028 6167 6461 322d 6d6b 506f 7320 2863 (agda2-mkPos (c │ │ │ +00027e30: 6172 2070 6f69 6e74 7329 290a 2020 2020 ar points)). │ │ │ 00027e40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00027e50: 2028 6167 6461 322d 6d6b 506f 7320 2863 (agda2-mkPos (c │ │ │ -00027e60: 6164 7220 706f 696e 7473 2929 2929 0a20 adr points)))). │ │ │ -00027e70: 2020 2022 6e6f 5261 6e67 6522 2929 0a0a "noRange")).. │ │ │ -00027e80: 2864 6566 756e 2061 6764 6132 2d6d 6b50 (defun agda2-mkP │ │ │ -00027e90: 6f73 2028 266f 7074 696f 6e61 6c20 7029 os (&optional p) │ │ │ -00027ea0: 0a20 2022 5468 6520 4861 736b 656c 6c20 . "The Haskell │ │ │ -00027eb0: 506f 7369 7469 6f6e 5769 7468 6f75 7446 PositionWithoutF │ │ │ -00027ec0: 696c 6520 636f 7272 6573 706f 6e64 696e ile correspondin │ │ │ -00027ed0: 6720 746f 2050 206f 7220 6070 6f69 6e74 g to P or `point │ │ │ -00027ee0: 272e 220a 2020 2873 6176 652d 6578 6375 '.". (save-excu │ │ │ -00027ef0: 7273 696f 6e0a 2020 2020 2873 6176 652d rsion. (save- │ │ │ -00027f00: 7265 7374 7269 6374 696f 6e0a 2020 2020 restriction. │ │ │ -00027f10: 2020 2877 6964 656e 290a 2020 2020 2020 (widen). │ │ │ -00027f20: 2869 6620 7020 2867 6f74 6f2d 6368 6172 (if p (goto-char │ │ │ -00027f30: 2070 2929 0a20 2020 2020 2028 666f 726d p)). (form │ │ │ -00027f40: 6174 2022 2850 6e20 2829 2025 6420 2564 at "(Pn () %d %d │ │ │ -00027f50: 2025 6429 220a 2020 2020 2020 2020 2020 %d)". │ │ │ -00027f60: 2020 2020 2870 6f69 6e74 290a 2020 2020 (point). │ │ │ -00027f70: 2020 2020 2020 2020 2020 2863 6f75 6e74 (count │ │ │ -00027f80: 2d6c 696e 6573 2028 706f 696e 742d 6d69 -lines (point-mi │ │ │ -00027f90: 6e29 2028 706f 696e 7429 290a 2020 2020 n) (point)). │ │ │ -00027fa0: 2020 2020 2020 2020 2020 2831 2b20 2863 (1+ (c │ │ │ -00027fb0: 7572 7265 6e74 2d63 6f6c 756d 6e29 2929 urrent-column))) │ │ │ -00027fc0: 2929 290a 0a28 6465 6675 6e20 6167 6461 )))..(defun agda │ │ │ -00027fd0: 322d 6368 6172 2d71 756f 7465 2028 6329 2-char-quote (c) │ │ │ -00027fe0: 0a20 2022 436f 6e76 6572 7420 6368 6172 . "Convert char │ │ │ -00027ff0: 6163 7465 7220 4320 746f 2074 6865 206e acter C to the n │ │ │ -00028000: 6f74 6174 696f 6e20 7573 6564 2069 6e20 otation used in │ │ │ -00028010: 4861 736b 656c 6c20 7374 7269 6e67 732e Haskell strings. │ │ │ -00028020: 0a54 6865 206e 6f6e 2d41 5343 4949 2063 .The non-ASCII c │ │ │ -00028030: 6861 7261 6374 6572 7320 6172 6520 6163 haracters are ac │ │ │ -00028040: 7475 616c 6c79 2072 656e 6465 7265 6420 tually rendered │ │ │ -00028050: 6173 0a5c 225c 5c78 4e4e 4e4e 5c5c 265c as.\"\\xNNNN\\&\ │ │ │ -00028060: 222c 2069 2e65 2e20 666f 6c6c 6f77 6564 ", i.e. followed │ │ │ -00028070: 2062 7920 6120 5c22 6e75 6c6c 2063 6861 by a \"null cha │ │ │ -00028080: 7261 6374 6572 5c22 2c20 746f 2061 766f racter\", to avo │ │ │ -00028090: 6964 0a70 726f 626c 656d 7320 6966 2074 id.problems if t │ │ │ -000280a0: 6865 7920 6172 6520 666f 6c6c 6f77 6564 hey are followed │ │ │ -000280b0: 2062 7920 6469 6769 7473 2e20 2041 5343 by digits. ASC │ │ │ -000280c0: 4949 2063 6861 7261 6374 6572 7320 2863 II characters (c │ │ │ -000280d0: 6f64 650a 706f 696e 7473 203c 2031 3238 ode.points < 128 │ │ │ -000280e0: 2920 6172 6520 636f 6e76 6572 7465 6420 ) are converted │ │ │ -000280f0: 746f 2073 696e 676c 6574 6f6e 2073 7472 to singleton str │ │ │ -00028100: 696e 6773 2e22 0a20 2028 6966 2028 3c20 ings.". (if (< │ │ │ -00028110: 6320 3132 3829 0a20 2020 2020 2028 6c69 c 128). (li │ │ │ -00028120: 7374 2063 290a 2020 2020 3b3b 2046 4958 st c). ;; FIX │ │ │ -00028130: 4d45 3a20 5768 7920 7265 7475 726e 2061 ME: Why return a │ │ │ -00028140: 206c 6973 7420 7261 7468 6572 2074 6861 list rather tha │ │ │ -00028150: 6e20 6120 7374 7269 6e67 3f20 202d 2d53 n a string? --S │ │ │ -00028160: 7465 660a 2020 2020 2861 7070 656e 6420 tef. (append │ │ │ -00028170: 2866 6f72 6d61 7420 225c 5c78 2578 5c5c (format "\\x%x\\ │ │ │ -00028180: 2622 2028 656e 636f 6465 2d63 6861 7220 &" (encode-char │ │ │ -00028190: 6320 2775 6373 2929 206e 696c 2929 290a c 'ucs)) nil))). │ │ │ -000281a0: 0a28 6465 6675 6e20 6167 6461 322d 7374 .(defun agda2-st │ │ │ -000281b0: 7269 6e67 2d71 756f 7465 2028 7329 0a20 ring-quote (s). │ │ │ -000281c0: 2022 466f 726d 6174 2053 2061 7320 6120 "Format S as a │ │ │ -000281d0: 4861 736b 656c 6c20 7374 7269 6e67 206c Haskell string l │ │ │ -000281e0: 6974 6572 616c 2e0a 5265 6d6f 7665 7320 iteral..Removes │ │ │ -000281f0: 616e 7920 7465 7874 2070 726f 7065 7274 any text propert │ │ │ -00028200: 6965 732c 2065 7363 6170 6573 206e 6577 ies, escapes new │ │ │ -00028210: 6c69 6e65 732c 2064 6f75 626c 6520 7175 lines, double qu │ │ │ -00028220: 6f74 6573 2c0a 6574 632e 2c20 6164 6473 otes,.etc., adds │ │ │ -00028230: 2073 7572 726f 756e 6469 6e67 2064 6f75 surrounding dou │ │ │ -00028240: 626c 6520 7175 6f74 6573 2c20 616e 6420 ble quotes, and │ │ │ -00028250: 636f 6e76 6572 7473 206e 6f6e 2d41 5343 converts non-ASC │ │ │ -00028260: 4949 0a63 6861 7261 6374 6572 7320 746f II.characters to │ │ │ -00028270: 2074 6865 205c 5c78 4e4e 4e4e 206e 6f74 the \\xNNNN not │ │ │ -00028280: 6174 696f 6e20 7573 6564 2069 6e20 4861 ation used in Ha │ │ │ -00028290: 736b 656c 6c20 7374 7269 6e67 732e 220a skell strings.". │ │ │ -000282a0: 2020 286c 6574 2028 2870 7269 6e74 2d65 (let ((print-e │ │ │ -000282b0: 7363 6170 652d 6e65 776c 696e 6573 2074 scape-newlines t │ │ │ -000282c0: 290a 2020 2020 2020 2020 2873 3220 2863 ). (s2 (c │ │ │ -000282d0: 6f70 792d 7365 7175 656e 6365 2073 2929 opy-sequence s)) │ │ │ -000282e0: 290a 2020 2020 2873 6574 2d74 6578 742d ). (set-text- │ │ │ -000282f0: 7072 6f70 6572 7469 6573 2030 2028 6c65 properties 0 (le │ │ │ -00028300: 6e67 7468 2073 3229 206e 696c 2073 3229 ngth s2) nil s2) │ │ │ -00028310: 0a20 2020 2028 6d61 7063 6f6e 6361 7420 . (mapconcat │ │ │ -00028320: 2761 6764 6132 2d63 6861 722d 7175 6f74 'agda2-char-quot │ │ │ -00028330: 6520 2870 7269 6e31 2d74 6f2d 7374 7269 e (prin1-to-stri │ │ │ -00028340: 6e67 2073 3229 2022 2229 2929 0a0a 2864 ng s2) "")))..(d │ │ │ -00028350: 6566 756e 2061 6764 6132 2d6c 6973 742d efun agda2-list- │ │ │ -00028360: 7175 6f74 6520 2873 7472 696e 6773 290a quote (strings). │ │ │ -00028370: 2020 2243 6f6e 7665 7274 2061 206c 6973 "Convert a lis │ │ │ -00028380: 7420 6f66 2053 5452 494e 4753 2069 6e74 t of STRINGS int │ │ │ -00028390: 6f20 6120 7374 7269 6e67 2072 6570 7265 o a string repre │ │ │ -000283a0: 7365 6e74 696e 6720 6974 2069 6e20 4861 senting it in Ha │ │ │ -000283b0: 736b 656c 6c20 7379 6e74 6178 2e22 0a20 skell syntax.". │ │ │ -000283c0: 2028 636f 6e63 6174 2022 5b22 2028 6d61 (concat "[" (ma │ │ │ -000283d0: 7063 6f6e 6361 7420 2761 6764 6132 2d73 pconcat 'agda2-s │ │ │ -000283e0: 7472 696e 672d 7175 6f74 6520 7374 7269 tring-quote stri │ │ │ -000283f0: 6e67 7320 222c 2022 2920 225d 2229 290a ngs ", ") "]")). │ │ │ -00028400: 0a28 6465 6675 6e20 6167 6461 322d 676f .(defun agda2-go │ │ │ -00028410: 616c 2d61 7428 706f 7329 0a20 2022 5265 al-at(pos). "Re │ │ │ -00028420: 7475 726e 2028 676f 616c 206f 7665 726c turn (goal overl │ │ │ -00028430: 6179 2c20 676f 616c 206e 756d 6265 7229 ay, goal number) │ │ │ -00028440: 2061 7420 504f 532c 206f 7220 6e69 6c2e at POS, or nil. │ │ │ -00028450: 220a 2020 286c 6574 2028 286f 7320 2861 ". (let ((os (a │ │ │ -00028460: 6e64 2070 6f73 2028 6f76 6572 6c61 7973 nd pos (overlays │ │ │ -00028470: 2d61 7420 706f 7329 2929 206f 2067 290a -at pos))) o g). │ │ │ -00028480: 2020 2020 2877 6869 6c65 2028 616e 6420 (while (and │ │ │ -00028490: 6f73 2028 6e6f 7428 7365 7471 2067 2028 os (not(setq g ( │ │ │ -000284a0: 6f76 6572 6c61 792d 6765 7420 2873 6574 overlay-get (set │ │ │ -000284b0: 7120 6f20 2870 6f70 206f 7329 2920 2761 q o (pop os)) 'a │ │ │ -000284c0: 6764 6132 2d67 6e29 2929 2929 0a20 2020 gda2-gn))))). │ │ │ -000284d0: 2028 6966 2067 2028 6c69 7374 206f 2067 (if g (list o g │ │ │ -000284e0: 2929 2929 0a0a 2864 6566 756e 2061 6764 ))))..(defun agd │ │ │ -000284f0: 6132 2d67 6f61 6c2d 6f76 6572 6c61 7920 a2-goal-overlay │ │ │ -00028500: 2867 290a 2020 2252 6574 7572 6e73 2074 (g). "Returns t │ │ │ -00028510: 6865 206f 7665 726c 6179 206f 6620 676f he overlay of go │ │ │ -00028520: 616c 206e 756d 6265 7220 472c 2069 6620 al number G, if │ │ │ -00028530: 616e 792e 220a 2020 2863 6172 0a20 2020 any.". (car. │ │ │ -00028540: 2872 656d 6f76 6520 6e69 6c0a 2020 2020 (remove nil. │ │ │ -00028550: 2020 2020 2020 2028 6d61 7063 6172 2028 (mapcar ( │ │ │ -00028560: 6c61 6d62 6461 2028 6f29 2028 6966 2028 lambda (o) (if ( │ │ │ -00028570: 6571 7561 6c20 286f 7665 726c 6179 2d67 equal (overlay-g │ │ │ -00028580: 6574 206f 2027 6167 6461 322d 676e 2920 et o 'agda2-gn) │ │ │ -00028590: 6729 206f 2929 0a20 2020 2020 2020 2020 g) o)). │ │ │ -000285a0: 2020 2020 2020 2020 2020 286f 7665 726c (overl │ │ │ -000285b0: 6179 732d 696e 2028 706f 696e 742d 6d69 ays-in (point-mi │ │ │ -000285c0: 6e29 2028 706f 696e 742d 6d61 7829 2929 n) (point-max))) │ │ │ -000285d0: 2929 290a 0a28 6465 6675 6e20 6167 6461 )))..(defun agda │ │ │ -000285e0: 322d 7261 6e67 652d 6f66 2d67 6f61 6c20 2-range-of-goal │ │ │ -000285f0: 2867 290a 2020 2254 6865 2072 616e 6765 (g). "The range │ │ │ -00028600: 206f 6620 676f 616c 2047 2e22 0a20 2028 of goal G.". ( │ │ │ -00028610: 6c65 7420 2828 6f20 2861 6764 6132 2d67 let ((o (agda2-g │ │ │ -00028620: 6f61 6c2d 6f76 6572 6c61 7920 6729 2929 oal-overlay g))) │ │ │ -00028630: 0a20 2020 2028 6966 206f 2028 6c69 7374 . (if o (list │ │ │ -00028640: 2028 6f76 6572 6c61 792d 7374 6172 7420 (overlay-start │ │ │ -00028650: 6f29 2028 6f76 6572 6c61 792d 656e 6420 o) (overlay-end │ │ │ -00028660: 6f29 2929 2929 0a0a 2864 6566 756e 2061 o)))))..(defun a │ │ │ -00028670: 6764 6132 2d67 6f74 6f2d 676f 616c 2028 gda2-goto-goal ( │ │ │ -00028680: 6729 0a20 2028 6c65 7420 2828 7020 282b g). (let ((p (+ │ │ │ -00028690: 2032 2028 6361 7220 2861 6764 6132 2d72 2 (car (agda2-r │ │ │ -000286a0: 616e 6765 2d6f 662d 676f 616c 2067 2929 ange-of-goal g)) │ │ │ -000286b0: 2929 290a 2020 2020 2869 6620 7020 2867 ))). (if p (g │ │ │ -000286c0: 6f74 6f2d 6368 6172 2070 2929 2929 0a0a oto-char p)))).. │ │ │ -000286d0: 2864 6566 756e 2061 6764 6132 2d72 6570 (defun agda2-rep │ │ │ -000286e0: 6c61 6365 2d67 6f61 6c20 2867 206e 6577 lace-goal (g new │ │ │ -000286f0: 7478 7429 0a20 2022 5265 706c 6163 6520 txt). "Replace │ │ │ -00028700: 7468 6520 636f 6e74 656e 7420 6f66 2067 the content of g │ │ │ -00028710: 6f61 6c20 4720 7769 7468 204e 4557 5458 oal G with NEWTX │ │ │ -00028720: 542e 2220 2869 6e74 6572 6163 7469 7665 T." (interactive │ │ │ -00028730: 290a 2020 2873 6176 652d 6578 6375 7273 ). (save-excurs │ │ │ -00028740: 696f 6e0a 2020 2020 2863 6c2d 6d75 6c74 ion. (cl-mult │ │ │ -00028750: 6970 6c65 2d76 616c 7565 2d62 696e 6420 iple-value-bind │ │ │ -00028760: 2870 2071 2920 2861 6764 6132 2d72 616e (p q) (agda2-ran │ │ │ -00028770: 6765 2d6f 662d 676f 616c 2067 290a 2020 ge-of-goal g). │ │ │ -00028780: 2020 2020 2873 6574 7120 7020 282b 2070 (setq p (+ p │ │ │ -00028790: 2032 2920 7120 282d 2071 2032 2929 0a20 2) q (- q 2)). │ │ │ -000287a0: 2020 2020 2028 6c65 7420 2828 696e 6465 (let ((inde │ │ │ -000287b0: 6e74 2028 616e 6420 2867 6f74 6f2d 6368 nt (and (goto-ch │ │ │ -000287c0: 6172 2070 2920 2863 7572 7265 6e74 2d63 ar p) (current-c │ │ │ -000287d0: 6f6c 756d 6e29 2929 290a 2020 2020 2020 olumn)))). │ │ │ -000287e0: 2020 2864 656c 6574 652d 7265 6769 6f6e (delete-region │ │ │ -000287f0: 2070 2071 2920 2869 6e73 6572 7420 6e65 p q) (insert ne │ │ │ -00028800: 7774 7874 290a 2020 2020 2020 2020 2877 wtxt). (w │ │ │ -00028810: 6869 6c65 2028 7265 2d73 6561 7263 682d hile (re-search- │ │ │ -00028820: 6261 636b 7761 7264 2022 5e22 2070 2074 backward "^" p t │ │ │ -00028830: 290a 2020 2020 2020 2020 2020 2869 6e73 ). (ins │ │ │ -00028840: 6572 742d 6368 6172 203f 2020 696e 6465 ert-char ? inde │ │ │ -00028850: 6e74 2920 2862 6163 6b77 6172 642d 6368 nt) (backward-ch │ │ │ -00028860: 6172 2028 312b 2069 6e64 656e 7429 2929 ar (1+ indent))) │ │ │ -00028870: 2929 2929 0a0a 2864 6566 756e 2061 6764 ))))..(defun agd │ │ │ -00028880: 6132 2d66 6f72 6765 742d 616c 6c2d 676f a2-forget-all-go │ │ │ -00028890: 616c 7320 2829 0a20 2022 5265 6d6f 7665 als (). "Remove │ │ │ -000288a0: 2061 6c6c 2067 6f61 6c20 616e 6e6f 7461 all goal annota │ │ │ -000288b0: 7469 6f6e 732e 0a5c 2849 6e63 6c75 6469 tions..\(Includi │ │ │ -000288c0: 6e67 2073 6f6d 6520 7465 7874 2070 726f ng some text pro │ │ │ -000288d0: 7065 7274 6965 7320 7768 6963 6820 6d69 perties which mi │ │ │ -000288e0: 6768 7420 6265 2075 7365 6420 6279 206f ght be used by o │ │ │ -000288f0: 7468 6572 0a5c 286d 696e 6f72 2920 6d6f ther.\(minor) mo │ │ │ -00028900: 6465 732e 2922 0a20 2028 616e 6e6f 7461 des.)". (annota │ │ │ -00028910: 7469 6f6e 2d70 7265 7365 7276 652d 6d6f tion-preserve-mo │ │ │ -00028920: 642d 702d 616e 642d 756e 646f 0a20 2020 d-p-and-undo. │ │ │ -00028930: 2872 656d 6f76 652d 7465 7874 2d70 726f (remove-text-pro │ │ │ -00028940: 7065 7274 6965 7320 2870 6f69 6e74 2d6d perties (point-m │ │ │ -00028950: 696e 2920 2870 6f69 6e74 2d6d 6178 290a in) (point-max). │ │ │ -00028960: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00028970: 2020 2020 2020 2020 2020 2027 2863 6174 '(cat │ │ │ -00028980: 6567 6f72 7920 6e69 6c20 6167 6461 322d egory nil agda2- │ │ │ -00028990: 6465 6c69 6d32 206e 696c 2061 6764 6132 delim2 nil agda2 │ │ │ -000289a0: 2d64 656c 696d 3320 6e69 6c0a 2020 2020 -delim3 nil. │ │ │ +00027e50: 2020 2861 6764 6132 2d6d 6b50 6f73 2028 (agda2-mkPos ( │ │ │ +00027e60: 6361 6472 2070 6f69 6e74 7329 2929 290a cadr points)))). │ │ │ +00027e70: 2020 2020 226e 6f52 616e 6765 2229 290a "noRange")). │ │ │ +00027e80: 0a28 6465 6675 6e20 6167 6461 322d 6d6b .(defun agda2-mk │ │ │ +00027e90: 506f 7320 2826 6f70 7469 6f6e 616c 2070 Pos (&optional p │ │ │ +00027ea0: 290a 2020 2254 6865 2048 6173 6b65 6c6c ). "The Haskell │ │ │ +00027eb0: 2050 6f73 6974 696f 6e57 6974 686f 7574 PositionWithout │ │ │ +00027ec0: 4669 6c65 2063 6f72 7265 7370 6f6e 6469 File correspondi │ │ │ +00027ed0: 6e67 2074 6f20 5020 6f72 2060 706f 696e ng to P or `poin │ │ │ +00027ee0: 7427 2e22 0a20 2028 7361 7665 2d65 7863 t'.". (save-exc │ │ │ +00027ef0: 7572 7369 6f6e 0a20 2020 2028 7361 7665 ursion. (save │ │ │ +00027f00: 2d72 6573 7472 6963 7469 6f6e 0a20 2020 -restriction. │ │ │ +00027f10: 2020 2028 7769 6465 6e29 0a20 2020 2020 (widen). │ │ │ +00027f20: 2028 6966 2070 2028 676f 746f 2d63 6861 (if p (goto-cha │ │ │ +00027f30: 7220 7029 290a 2020 2020 2020 2866 6f72 r p)). (for │ │ │ +00027f40: 6d61 7420 2228 506e 2028 2920 2564 2025 mat "(Pn () %d % │ │ │ +00027f50: 6420 2564 2922 0a20 2020 2020 2020 2020 d %d)". │ │ │ +00027f60: 2020 2020 2028 706f 696e 7429 0a20 2020 (point). │ │ │ +00027f70: 2020 2020 2020 2020 2020 2028 636f 756e (coun │ │ │ +00027f80: 742d 6c69 6e65 7320 2870 6f69 6e74 2d6d t-lines (point-m │ │ │ +00027f90: 696e 2920 2870 6f69 6e74 2929 0a20 2020 in) (point)). │ │ │ +00027fa0: 2020 2020 2020 2020 2020 2028 312b 2028 (1+ ( │ │ │ +00027fb0: 6375 7272 656e 742d 636f 6c75 6d6e 2929 current-column)) │ │ │ +00027fc0: 2929 2929 0a0a 2864 6566 756e 2061 6764 ))))..(defun agd │ │ │ +00027fd0: 6132 2d63 6861 722d 7175 6f74 6520 2863 a2-char-quote (c │ │ │ +00027fe0: 290a 2020 2243 6f6e 7665 7274 2063 6861 ). "Convert cha │ │ │ +00027ff0: 7261 6374 6572 2043 2074 6f20 7468 6520 racter C to the │ │ │ +00028000: 6e6f 7461 7469 6f6e 2075 7365 6420 696e notation used in │ │ │ +00028010: 2048 6173 6b65 6c6c 2073 7472 696e 6773 Haskell strings │ │ │ +00028020: 2e0a 5468 6520 6e6f 6e2d 4153 4349 4920 ..The non-ASCII │ │ │ +00028030: 6368 6172 6163 7465 7273 2061 7265 2061 characters are a │ │ │ +00028040: 6374 7561 6c6c 7920 7265 6e64 6572 6564 ctually rendered │ │ │ +00028050: 2061 730a 5c22 5c5c 784e 4e4e 4e5c 5c26 as.\"\\xNNNN\\& │ │ │ +00028060: 5c22 2c20 692e 652e 2066 6f6c 6c6f 7765 \", i.e. followe │ │ │ +00028070: 6420 6279 2061 205c 226e 756c 6c20 6368 d by a \"null ch │ │ │ +00028080: 6172 6163 7465 725c 222c 2074 6f20 6176 aracter\", to av │ │ │ +00028090: 6f69 640a 7072 6f62 6c65 6d73 2069 6620 oid.problems if │ │ │ +000280a0: 7468 6579 2061 7265 2066 6f6c 6c6f 7765 they are followe │ │ │ +000280b0: 6420 6279 2064 6967 6974 732e 2020 4153 d by digits. AS │ │ │ +000280c0: 4349 4920 6368 6172 6163 7465 7273 2028 CII characters ( │ │ │ +000280d0: 636f 6465 0a70 6f69 6e74 7320 3c20 3132 code.points < 12 │ │ │ +000280e0: 3829 2061 7265 2063 6f6e 7665 7274 6564 8) are converted │ │ │ +000280f0: 2074 6f20 7369 6e67 6c65 746f 6e20 7374 to singleton st │ │ │ +00028100: 7269 6e67 732e 220a 2020 2869 6620 283c rings.". (if (< │ │ │ +00028110: 2063 2031 3238 290a 2020 2020 2020 286c c 128). (l │ │ │ +00028120: 6973 7420 6329 0a20 2020 203b 3b20 4649 ist c). ;; FI │ │ │ +00028130: 584d 453a 2057 6879 2072 6574 7572 6e20 XME: Why return │ │ │ +00028140: 6120 6c69 7374 2072 6174 6865 7220 7468 a list rather th │ │ │ +00028150: 616e 2061 2073 7472 696e 673f 2020 2d2d an a string? -- │ │ │ +00028160: 5374 6566 0a20 2020 2028 6170 7065 6e64 Stef. (append │ │ │ +00028170: 2028 666f 726d 6174 2022 5c5c 7825 785c (format "\\x%x\ │ │ │ +00028180: 5c26 2220 2865 6e63 6f64 652d 6368 6172 \&" (encode-char │ │ │ +00028190: 2063 2027 7563 7329 2920 6e69 6c29 2929 c 'ucs)) nil))) │ │ │ +000281a0: 0a0a 2864 6566 756e 2061 6764 6132 2d73 ..(defun agda2-s │ │ │ +000281b0: 7472 696e 672d 7175 6f74 6520 2873 290a tring-quote (s). │ │ │ +000281c0: 2020 2246 6f72 6d61 7420 5320 6173 2061 "Format S as a │ │ │ +000281d0: 2048 6173 6b65 6c6c 2073 7472 696e 6720 Haskell string │ │ │ +000281e0: 6c69 7465 7261 6c2e 0a52 656d 6f76 6573 literal..Removes │ │ │ +000281f0: 2061 6e79 2074 6578 7420 7072 6f70 6572 any text proper │ │ │ +00028200: 7469 6573 2c20 6573 6361 7065 7320 6e65 ties, escapes ne │ │ │ +00028210: 776c 696e 6573 2c20 646f 7562 6c65 2071 wlines, double q │ │ │ +00028220: 756f 7465 732c 0a65 7463 2e2c 2061 6464 uotes,.etc., add │ │ │ +00028230: 7320 7375 7272 6f75 6e64 696e 6720 646f s surrounding do │ │ │ +00028240: 7562 6c65 2071 756f 7465 732c 2061 6e64 uble quotes, and │ │ │ +00028250: 2063 6f6e 7665 7274 7320 6e6f 6e2d 4153 converts non-AS │ │ │ +00028260: 4349 490a 6368 6172 6163 7465 7273 2074 CII.characters t │ │ │ +00028270: 6f20 7468 6520 5c5c 784e 4e4e 4e20 6e6f o the \\xNNNN no │ │ │ +00028280: 7461 7469 6f6e 2075 7365 6420 696e 2048 tation used in H │ │ │ +00028290: 6173 6b65 6c6c 2073 7472 696e 6773 2e22 askell strings." │ │ │ +000282a0: 0a20 2028 6c65 7420 2828 7072 696e 742d . (let ((print- │ │ │ +000282b0: 6573 6361 7065 2d6e 6577 6c69 6e65 7320 escape-newlines │ │ │ +000282c0: 7429 0a20 2020 2020 2020 2028 7332 2028 t). (s2 ( │ │ │ +000282d0: 636f 7079 2d73 6571 7565 6e63 6520 7329 copy-sequence s) │ │ │ +000282e0: 2929 0a20 2020 2028 7365 742d 7465 7874 )). (set-text │ │ │ +000282f0: 2d70 726f 7065 7274 6965 7320 3020 286c -properties 0 (l │ │ │ +00028300: 656e 6774 6820 7332 2920 6e69 6c20 7332 ength s2) nil s2 │ │ │ +00028310: 290a 2020 2020 286d 6170 636f 6e63 6174 ). (mapconcat │ │ │ +00028320: 2027 6167 6461 322d 6368 6172 2d71 756f 'agda2-char-quo │ │ │ +00028330: 7465 2028 7072 696e 312d 746f 2d73 7472 te (prin1-to-str │ │ │ +00028340: 696e 6720 7332 2920 2222 2929 290a 0a28 ing s2) "")))..( │ │ │ +00028350: 6465 6675 6e20 6167 6461 322d 6c69 7374 defun agda2-list │ │ │ +00028360: 2d71 756f 7465 2028 7374 7269 6e67 7329 -quote (strings) │ │ │ +00028370: 0a20 2022 436f 6e76 6572 7420 6120 6c69 . "Convert a li │ │ │ +00028380: 7374 206f 6620 5354 5249 4e47 5320 696e st of STRINGS in │ │ │ +00028390: 746f 2061 2073 7472 696e 6720 7265 7072 to a string repr │ │ │ +000283a0: 6573 656e 7469 6e67 2069 7420 696e 2048 esenting it in H │ │ │ +000283b0: 6173 6b65 6c6c 2073 796e 7461 782e 220a askell syntax.". │ │ │ +000283c0: 2020 2863 6f6e 6361 7420 225b 2220 286d (concat "[" (m │ │ │ +000283d0: 6170 636f 6e63 6174 2027 6167 6461 322d apconcat 'agda2- │ │ │ +000283e0: 7374 7269 6e67 2d71 756f 7465 2073 7472 string-quote str │ │ │ +000283f0: 696e 6773 2022 2c20 2229 2022 5d22 2929 ings ", ") "]")) │ │ │ +00028400: 0a0a 2864 6566 756e 2061 6764 6132 2d67 ..(defun agda2-g │ │ │ +00028410: 6f61 6c2d 6174 2870 6f73 290a 2020 2252 oal-at(pos). "R │ │ │ +00028420: 6574 7572 6e20 2867 6f61 6c20 6f76 6572 eturn (goal over │ │ │ +00028430: 6c61 792c 2067 6f61 6c20 6e75 6d62 6572 lay, goal number │ │ │ +00028440: 2920 6174 2050 4f53 2c20 6f72 206e 696c ) at POS, or nil │ │ │ +00028450: 2e22 0a20 2028 6c65 7420 2828 6f73 2028 .". (let ((os ( │ │ │ +00028460: 616e 6420 706f 7320 286f 7665 726c 6179 and pos (overlay │ │ │ +00028470: 732d 6174 2070 6f73 2929 2920 6f20 6729 s-at pos))) o g) │ │ │ +00028480: 0a20 2020 2028 7768 696c 6520 2861 6e64 . (while (and │ │ │ +00028490: 206f 7320 286e 6f74 2873 6574 7120 6720 os (not(setq g │ │ │ +000284a0: 286f 7665 726c 6179 2d67 6574 2028 7365 (overlay-get (se │ │ │ +000284b0: 7471 206f 2028 706f 7020 6f73 2929 2027 tq o (pop os)) ' │ │ │ +000284c0: 6167 6461 322d 676e 2929 2929 290a 2020 agda2-gn))))). │ │ │ +000284d0: 2020 2869 6620 6720 286c 6973 7420 6f20 (if g (list o │ │ │ +000284e0: 6729 2929 290a 0a28 6465 6675 6e20 6167 g))))..(defun ag │ │ │ +000284f0: 6461 322d 676f 616c 2d6f 7665 726c 6179 da2-goal-overlay │ │ │ +00028500: 2028 6729 0a20 2022 5265 7475 726e 7320 (g). "Returns │ │ │ +00028510: 7468 6520 6f76 6572 6c61 7920 6f66 2067 the overlay of g │ │ │ +00028520: 6f61 6c20 6e75 6d62 6572 2047 2c20 6966 oal number G, if │ │ │ +00028530: 2061 6e79 2e22 0a20 2028 6361 720a 2020 any.". (car. │ │ │ +00028540: 2028 7265 6d6f 7665 206e 696c 0a20 2020 (remove nil. │ │ │ +00028550: 2020 2020 2020 2020 286d 6170 6361 7220 (mapcar │ │ │ +00028560: 286c 616d 6264 6120 286f 2920 2869 6620 (lambda (o) (if │ │ │ +00028570: 2865 7175 616c 2028 6f76 6572 6c61 792d (equal (overlay- │ │ │ +00028580: 6765 7420 6f20 2761 6764 6132 2d67 6e29 get o 'agda2-gn) │ │ │ +00028590: 2067 2920 6f29 290a 2020 2020 2020 2020 g) o)). │ │ │ +000285a0: 2020 2020 2020 2020 2020 2028 6f76 6572 (over │ │ │ +000285b0: 6c61 7973 2d69 6e20 2870 6f69 6e74 2d6d lays-in (point-m │ │ │ +000285c0: 696e 2920 2870 6f69 6e74 2d6d 6178 2929 in) (point-max)) │ │ │ +000285d0: 2929 2929 0a0a 2864 6566 756e 2061 6764 ))))..(defun agd │ │ │ +000285e0: 6132 2d72 616e 6765 2d6f 662d 676f 616c a2-range-of-goal │ │ │ +000285f0: 2028 6729 0a20 2022 5468 6520 7261 6e67 (g). "The rang │ │ │ +00028600: 6520 6f66 2067 6f61 6c20 472e 220a 2020 e of goal G.". │ │ │ +00028610: 286c 6574 2028 286f 2028 6167 6461 322d (let ((o (agda2- │ │ │ +00028620: 676f 616c 2d6f 7665 726c 6179 2067 2929 goal-overlay g)) │ │ │ +00028630: 290a 2020 2020 2869 6620 6f20 286c 6973 ). (if o (lis │ │ │ +00028640: 7420 286f 7665 726c 6179 2d73 7461 7274 t (overlay-start │ │ │ +00028650: 206f 2920 286f 7665 726c 6179 2d65 6e64 o) (overlay-end │ │ │ +00028660: 206f 2929 2929 290a 0a28 6465 6675 6e20 o)))))..(defun │ │ │ +00028670: 6167 6461 322d 676f 746f 2d67 6f61 6c20 agda2-goto-goal │ │ │ +00028680: 2867 290a 2020 286c 6574 2028 2870 2028 (g). (let ((p ( │ │ │ +00028690: 2b20 3220 2863 6172 2028 6167 6461 322d + 2 (car (agda2- │ │ │ +000286a0: 7261 6e67 652d 6f66 2d67 6f61 6c20 6729 range-of-goal g) │ │ │ +000286b0: 2929 2929 0a20 2020 2028 6966 2070 2028 )))). (if p ( │ │ │ +000286c0: 676f 746f 2d63 6861 7220 7029 2929 290a goto-char p)))). │ │ │ +000286d0: 0a28 6465 6675 6e20 6167 6461 322d 7265 .(defun agda2-re │ │ │ +000286e0: 706c 6163 652d 676f 616c 2028 6720 6e65 place-goal (g ne │ │ │ +000286f0: 7774 7874 290a 2020 2252 6570 6c61 6365 wtxt). "Replace │ │ │ +00028700: 2074 6865 2063 6f6e 7465 6e74 206f 6620 the content of │ │ │ +00028710: 676f 616c 2047 2077 6974 6820 4e45 5754 goal G with NEWT │ │ │ +00028720: 5854 2e22 2028 696e 7465 7261 6374 6976 XT." (interactiv │ │ │ +00028730: 6529 0a20 2028 7361 7665 2d65 7863 7572 e). (save-excur │ │ │ +00028740: 7369 6f6e 0a20 2020 2028 636c 2d6d 756c sion. (cl-mul │ │ │ +00028750: 7469 706c 652d 7661 6c75 652d 6269 6e64 tiple-value-bind │ │ │ +00028760: 2028 7020 7129 2028 6167 6461 322d 7261 (p q) (agda2-ra │ │ │ +00028770: 6e67 652d 6f66 2d67 6f61 6c20 6729 0a20 nge-of-goal g). │ │ │ +00028780: 2020 2020 2028 7365 7471 2070 2028 2b20 (setq p (+ │ │ │ +00028790: 7020 3229 2071 2028 2d20 7120 3229 290a p 2) q (- q 2)). │ │ │ +000287a0: 2020 2020 2020 286c 6574 2028 2869 6e64 (let ((ind │ │ │ +000287b0: 656e 7420 2861 6e64 2028 676f 746f 2d63 ent (and (goto-c │ │ │ +000287c0: 6861 7220 7029 2028 6375 7272 656e 742d har p) (current- │ │ │ +000287d0: 636f 6c75 6d6e 2929 2929 0a20 2020 2020 column)))). │ │ │ +000287e0: 2020 2028 6465 6c65 7465 2d72 6567 696f (delete-regio │ │ │ +000287f0: 6e20 7020 7129 2028 696e 7365 7274 206e n p q) (insert n │ │ │ +00028800: 6577 7478 7429 0a20 2020 2020 2020 2028 ewtxt). ( │ │ │ +00028810: 7768 696c 6520 2872 652d 7365 6172 6368 while (re-search │ │ │ +00028820: 2d62 6163 6b77 6172 6420 225e 2220 7020 -backward "^" p │ │ │ +00028830: 7429 0a20 2020 2020 2020 2020 2028 696e t). (in │ │ │ +00028840: 7365 7274 2d63 6861 7220 3f20 2069 6e64 sert-char ? ind │ │ │ +00028850: 656e 7429 2028 6261 636b 7761 7264 2d63 ent) (backward-c │ │ │ +00028860: 6861 7220 2831 2b20 696e 6465 6e74 2929 har (1+ indent)) │ │ │ +00028870: 2929 2929 290a 0a28 6465 6675 6e20 6167 )))))..(defun ag │ │ │ +00028880: 6461 322d 666f 7267 6574 2d61 6c6c 2d67 da2-forget-all-g │ │ │ +00028890: 6f61 6c73 2028 290a 2020 2252 656d 6f76 oals (). "Remov │ │ │ +000288a0: 6520 616c 6c20 676f 616c 2061 6e6e 6f74 e all goal annot │ │ │ +000288b0: 6174 696f 6e73 2e0a 5c28 496e 636c 7564 ations..\(Includ │ │ │ +000288c0: 696e 6720 736f 6d65 2074 6578 7420 7072 ing some text pr │ │ │ +000288d0: 6f70 6572 7469 6573 2077 6869 6368 206d operties which m │ │ │ +000288e0: 6967 6874 2062 6520 7573 6564 2062 7920 ight be used by │ │ │ +000288f0: 6f74 6865 720a 5c28 6d69 6e6f 7229 206d other.\(minor) m │ │ │ +00028900: 6f64 6573 2e29 220a 2020 2861 6e6e 6f74 odes.)". (annot │ │ │ +00028910: 6174 696f 6e2d 7072 6573 6572 7665 2d6d ation-preserve-m │ │ │ +00028920: 6f64 2d70 2d61 6e64 2d75 6e64 6f0a 2020 od-p-and-undo. │ │ │ +00028930: 2028 7265 6d6f 7665 2d74 6578 742d 7072 (remove-text-pr │ │ │ +00028940: 6f70 6572 7469 6573 2028 706f 696e 742d operties (point- │ │ │ +00028950: 6d69 6e29 2028 706f 696e 742d 6d61 7829 min) (point-max) │ │ │ +00028960: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ +00028970: 2020 2020 2020 2020 2020 2020 2728 6361 '(ca │ │ │ +00028980: 7465 676f 7279 206e 696c 2061 6764 6132 tegory nil agda2 │ │ │ +00028990: 2d64 656c 696d 3220 6e69 6c20 6167 6461 -delim2 nil agda │ │ │ +000289a0: 322d 6465 6c69 6d33 206e 696c 0a20 2020 2-delim3 nil. │ │ │ 000289b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -000289c0: 2020 2020 2020 2020 2064 6973 706c 6179 display │ │ │ -000289d0: 206e 696c 2072 6561 722d 6e6f 6e73 7469 nil rear-nonsti │ │ │ -000289e0: 636b 7920 6e69 6c29 2929 0a20 2028 6c65 cky nil))). (le │ │ │ -000289f0: 7420 2828 7020 2870 6f69 6e74 2d6d 696e t ((p (point-min │ │ │ -00028a00: 2929 290a 2020 2020 2877 6869 6c65 2028 ))). (while ( │ │ │ -00028a10: 3c20 2873 6574 7120 7020 286e 6578 742d < (setq p (next- │ │ │ -00028a20: 7369 6e67 6c65 2d63 6861 722d 7072 6f70 single-char-prop │ │ │ -00028a30: 6572 7479 2d63 6861 6e67 6520 7020 2761 erty-change p 'a │ │ │ -00028a40: 6764 6132 2d67 6e29 290a 2020 2020 2020 gda2-gn)). │ │ │ -00028a50: 2020 2020 2020 2020 2870 6f69 6e74 2d6d (point-m │ │ │ -00028a60: 6178 2929 0a20 2020 2020 2028 6465 6c65 ax)). (dele │ │ │ -00028a70: 7465 2d6f 7665 726c 6179 2028 6361 7220 te-overlay (car │ │ │ -00028a80: 2861 6764 6132 2d67 6f61 6c2d 6174 2070 (agda2-goal-at p │ │ │ -00028a90: 2929 2929 2929 0a0a 2864 6566 756e 2061 ))))))..(defun a │ │ │ -00028aa0: 6764 6132 2d64 6563 6c2d 6265 6769 6e6e gda2-decl-beginn │ │ │ -00028ab0: 696e 6720 2829 0a20 2022 4669 6e64 2074 ing (). "Find t │ │ │ -00028ac0: 6865 2062 6567 696e 6e69 6e67 2070 6f69 he beginning poi │ │ │ -00028ad0: 6e74 206f 6620 7468 6520 6465 636c 6172 nt of the declar │ │ │ -00028ae0: 6174 696f 6e20 636f 6e74 6169 6e69 6e67 ation containing │ │ │ -00028af0: 2074 6865 2070 6f69 6e74 2e0a 546f 2064 the point..To d │ │ │ -00028b00: 6f3a 2064 6561 6c69 6e67 2077 6974 6820 o: dealing with │ │ │ -00028b10: 7365 6d69 636f 6c6f 6e20 7365 7061 7261 semicolon separa │ │ │ -00028b20: 7465 6420 6465 636c 732e 220a 2020 2869 ted decls.". (i │ │ │ -00028b30: 6e74 6572 6163 7469 7665 290a 2020 2873 nteractive). (s │ │ │ -00028b40: 6176 652d 6578 6375 7273 696f 6e0a 2020 ave-excursion. │ │ │ -00028b50: 2020 286c 6574 2a20 2828 7045 6e64 2028 (let* ((pEnd ( │ │ │ -00028b60: 706f 696e 7429 290a 2020 2020 2020 2020 point)). │ │ │ -00028b70: 2020 2028 7044 6566 2028 7072 6f67 6e20 (pDef (progn │ │ │ -00028b80: 2867 6f74 6f2d 6368 6172 2028 706f 696e (goto-char (poin │ │ │ -00028b90: 742d 6d69 6e29 290a 2020 2020 2020 2020 t-min)). │ │ │ +000289c0: 2020 2020 2020 2020 2020 6469 7370 6c61 displa │ │ │ +000289d0: 7920 6e69 6c20 7265 6172 2d6e 6f6e 7374 y nil rear-nonst │ │ │ +000289e0: 6963 6b79 206e 696c 2929 290a 2020 286c icky nil))). (l │ │ │ +000289f0: 6574 2028 2870 2028 706f 696e 742d 6d69 et ((p (point-mi │ │ │ +00028a00: 6e29 2929 0a20 2020 2028 7768 696c 6520 n))). (while │ │ │ +00028a10: 283c 2028 7365 7471 2070 2028 6e65 7874 (< (setq p (next │ │ │ +00028a20: 2d73 696e 676c 652d 6368 6172 2d70 726f -single-char-pro │ │ │ +00028a30: 7065 7274 792d 6368 616e 6765 2070 2027 perty-change p ' │ │ │ +00028a40: 6167 6461 322d 676e 2929 0a20 2020 2020 agda2-gn)). │ │ │ +00028a50: 2020 2020 2020 2020 2028 706f 696e 742d (point- │ │ │ +00028a60: 6d61 7829 290a 2020 2020 2020 2864 656c max)). (del │ │ │ +00028a70: 6574 652d 6f76 6572 6c61 7920 2863 6172 ete-overlay (car │ │ │ +00028a80: 2028 6167 6461 322d 676f 616c 2d61 7420 (agda2-goal-at │ │ │ +00028a90: 7029 2929 2929 290a 0a28 6465 6675 6e20 p))))))..(defun │ │ │ +00028aa0: 6167 6461 322d 6465 636c 2d62 6567 696e agda2-decl-begin │ │ │ +00028ab0: 6e69 6e67 2028 290a 2020 2246 696e 6420 ning (). "Find │ │ │ +00028ac0: 7468 6520 6265 6769 6e6e 696e 6720 706f the beginning po │ │ │ +00028ad0: 696e 7420 6f66 2074 6865 2064 6563 6c61 int of the decla │ │ │ +00028ae0: 7261 7469 6f6e 2063 6f6e 7461 696e 696e ration containin │ │ │ +00028af0: 6720 7468 6520 706f 696e 742e 0a54 6f20 g the point..To │ │ │ +00028b00: 646f 3a20 6465 616c 696e 6720 7769 7468 do: dealing with │ │ │ +00028b10: 2073 656d 6963 6f6c 6f6e 2073 6570 6172 semicolon separ │ │ │ +00028b20: 6174 6564 2064 6563 6c73 2e22 0a20 2028 ated decls.". ( │ │ │ +00028b30: 696e 7465 7261 6374 6976 6529 0a20 2028 interactive). ( │ │ │ +00028b40: 7361 7665 2d65 7863 7572 7369 6f6e 0a20 save-excursion. │ │ │ +00028b50: 2020 2028 6c65 742a 2028 2870 456e 6420 (let* ((pEnd │ │ │ +00028b60: 2870 6f69 6e74 2929 0a20 2020 2020 2020 (point)). │ │ │ +00028b70: 2020 2020 2870 4465 6620 2870 726f 676e (pDef (progn │ │ │ +00028b80: 2028 676f 746f 2d63 6861 7220 2870 6f69 (goto-char (poi │ │ │ +00028b90: 6e74 2d6d 696e 2929 0a20 2020 2020 2020 nt-min)). │ │ │ 00028ba0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00028bb0: 2872 652d 7365 6172 6368 2d66 6f72 7761 (re-search-forwa │ │ │ -00028bc0: 7264 2022 5c5c 7320 2a22 2070 456e 6420 rd "\\s *" pEnd │ │ │ -00028bd0: 7429 2929 0a20 2020 2020 2020 2020 2020 t))). │ │ │ -00028be0: 2863 4465 6620 2863 7572 7265 6e74 2d63 (cDef (current-c │ │ │ -00028bf0: 6f6c 756d 6e29 2929 0a20 2020 2020 2028 olumn))). ( │ │ │ -00028c00: 7768 696c 6520 2872 652d 7365 6172 6368 while (re-search │ │ │ -00028c10: 2d66 6f72 7761 7264 0a20 2020 2020 2020 -forward. │ │ │ -00028c20: 2020 2020 2020 2022 7768 6572 655c 5c28 "where\\( │ │ │ -00028c30: 5c5c 7320 2b5c 5c29 5c5c 5320 5c5c 7c5e \\s +\\)\\S \\|^ │ │ │ -00028c40: 5c5c 285c 5c73 202a 5c5c 295c 5c53 2022 \\(\\s *\\)\\S " │ │ │ -00028c50: 2070 456e 6420 7429 0a20 2020 2020 2020 pEnd t). │ │ │ -00028c60: 2028 6966 2028 6d61 7463 682d 656e 6420 (if (match-end │ │ │ -00028c70: 3129 0a20 2020 2020 2020 2020 2020 2028 1). ( │ │ │ -00028c80: 7365 7471 2070 4465 6620 2867 6f74 6f2d setq pDef (goto- │ │ │ -00028c90: 6368 6172 2028 6d61 7463 682d 656e 6420 char (match-end │ │ │ -00028ca0: 3129 290a 2020 2020 2020 2020 2020 2020 1)). │ │ │ -00028cb0: 2020 2020 2020 6344 6566 2028 6375 7272 cDef (curr │ │ │ -00028cc0: 656e 742d 636f 6c75 6d6e 2929 0a20 2020 ent-column)). │ │ │ -00028cd0: 2020 2020 2020 2028 676f 746f 2d63 6861 (goto-cha │ │ │ -00028ce0: 7220 286d 6174 6368 2d65 6e64 2032 2929 r (match-end 2)) │ │ │ -00028cf0: 0a20 2020 2020 2020 2020 2028 6966 2028 . (if ( │ │ │ -00028d00: 3e3d 2063 4465 6620 2863 7572 7265 6e74 >= cDef (current │ │ │ -00028d10: 2d63 6f6c 756d 6e29 290a 2020 2020 2020 -column)). │ │ │ -00028d20: 2020 2020 2020 2020 2873 6574 7120 7044 (setq pD │ │ │ -00028d30: 6566 2028 706f 696e 7429 0a20 2020 2020 ef (point). │ │ │ -00028d40: 2020 2020 2020 2020 2020 2020 2020 2063 c │ │ │ -00028d50: 4465 6620 2863 7572 7265 6e74 2d63 6f6c Def (current-col │ │ │ -00028d60: 756d 6e29 2929 290a 2020 2020 2020 2020 umn)))). │ │ │ -00028d70: 2866 6f72 7761 7264 2d63 6861 7229 290a (forward-char)). │ │ │ -00028d80: 2020 2020 2020 2867 6f74 6f2d 6368 6172 (goto-char │ │ │ -00028d90: 2070 4465 6629 0a20 2020 2020 2028 6966 pDef). (if │ │ │ -00028da0: 2028 6571 7561 6c20 2863 7572 7265 6e74 (equal (current │ │ │ -00028db0: 2d77 6f72 6429 2022 6d75 7475 616c 2229 -word) "mutual") │ │ │ -00028dc0: 0a20 2020 2020 2020 2020 2028 6f72 2028 . (or ( │ │ │ -00028dd0: 6d61 7463 682d 656e 6420 3229 2028 6d61 match-end 2) (ma │ │ │ -00028de0: 7463 682d 656e 6420 3129 290a 2020 2020 tch-end 1)). │ │ │ -00028df0: 2020 2020 7044 6566 2929 2929 0a0a 2864 pDef))))..(d │ │ │ -00028e00: 6566 756e 2061 6764 6132 2d62 6567 696e efun agda2-begin │ │ │ -00028e10: 6e69 6e67 2d6f 662d 6465 636c 2028 290a ning-of-decl (). │ │ │ -00028e20: 2020 2869 6e74 6572 6163 7469 7665 290a (interactive). │ │ │ -00028e30: 2020 2867 6f74 6f2d 6368 6172 2028 6167 (goto-char (ag │ │ │ -00028e40: 6461 322d 6465 636c 2d62 6567 696e 6e69 da2-decl-beginni │ │ │ -00028e50: 6e67 2929 290a 0a28 6465 6676 6172 2061 ng)))..(defvar a │ │ │ -00028e60: 6764 6132 2d64 6562 7567 2d62 7566 6665 gda2-debug-buffe │ │ │ -00028e70: 722d 6e61 6d65 2022 2a41 6764 6120 6465 r-name "*Agda de │ │ │ -00028e80: 6275 672a 220a 2020 2254 6865 206e 616d bug*". "The nam │ │ │ -00028e90: 6520 6f66 2074 6865 2062 7566 6665 7220 e of the buffer │ │ │ -00028ea0: 7573 6564 2066 6f72 2041 6764 6120 6465 used for Agda de │ │ │ -00028eb0: 6275 6720 6d65 7373 6167 6573 2e22 290a bug messages."). │ │ │ -00028ec0: 0a28 6465 6675 6e20 6167 6461 322d 7665 .(defun agda2-ve │ │ │ -00028ed0: 7262 6f73 6520 286d 7367 290a 2020 2241 rbose (msg). "A │ │ │ -00028ee0: 7070 656e 6473 2074 6865 2073 7472 696e ppends the strin │ │ │ -00028ef0: 6720 4d53 4720 746f 2074 6865 2060 6167 g MSG to the `ag │ │ │ -00028f00: 6461 322d 6465 6275 672d 6275 6666 6572 da2-debug-buffer │ │ │ -00028f10: 2d6e 616d 6527 2062 7566 6665 722e 0a4e -name' buffer..N │ │ │ -00028f20: 6f74 6520 7468 6174 2074 6869 7320 6275 ote that this bu │ │ │ -00028f30: 6666 6572 2773 2063 6f6e 7465 6e74 7320 ffer's contents │ │ │ -00028f40: 6973 206e 6f74 2065 7261 7365 6420 6175 is not erased au │ │ │ -00028f50: 746f 6d61 7469 6361 6c6c 7920 7768 656e tomatically when │ │ │ -00028f60: 0a61 2066 696c 6520 6973 206c 6f61 6465 .a file is loade │ │ │ -00028f70: 642e 220a 2020 2877 6974 682d 6375 7272 d.". (with-curr │ │ │ -00028f80: 656e 742d 6275 6666 6572 2028 6765 742d ent-buffer (get- │ │ │ -00028f90: 6275 6666 6572 2d63 7265 6174 6520 6167 buffer-create ag │ │ │ -00028fa0: 6461 322d 6465 6275 672d 6275 6666 6572 da2-debug-buffer │ │ │ -00028fb0: 2d6e 616d 6529 0a20 2020 2028 7361 7665 -name). (save │ │ │ -00028fc0: 2d65 7863 7572 7369 6f6e 0a20 2020 2020 -excursion. │ │ │ -00028fd0: 2028 676f 746f 2d63 6861 7220 2870 6f69 (goto-char (poi │ │ │ -00028fe0: 6e74 2d6d 6178 2929 0a20 2020 2020 2028 nt-max)). ( │ │ │ -00028ff0: 696e 7365 7274 206d 7367 2929 2929 0a0a insert msg)))).. │ │ │ -00029000: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ +00028bb0: 2028 7265 2d73 6561 7263 682d 666f 7277 (re-search-forw │ │ │ +00028bc0: 6172 6420 225c 5c73 202a 2220 7045 6e64 ard "\\s *" pEnd │ │ │ +00028bd0: 2074 2929 290a 2020 2020 2020 2020 2020 t))). │ │ │ +00028be0: 2028 6344 6566 2028 6375 7272 656e 742d (cDef (current- │ │ │ +00028bf0: 636f 6c75 6d6e 2929 290a 2020 2020 2020 column))). │ │ │ +00028c00: 2877 6869 6c65 2028 7265 2d73 6561 7263 (while (re-searc │ │ │ +00028c10: 682d 666f 7277 6172 640a 2020 2020 2020 h-forward. │ │ │ +00028c20: 2020 2020 2020 2020 2277 6865 7265 5c5c "where\\ │ │ │ +00028c30: 285c 5c73 202b 5c5c 295c 5c53 205c 5c7c (\\s +\\)\\S \\| │ │ │ +00028c40: 5e5c 5c28 5c5c 7320 2a5c 5c29 5c5c 5320 ^\\(\\s *\\)\\S │ │ │ +00028c50: 2220 7045 6e64 2074 290a 2020 2020 2020 " pEnd t). │ │ │ +00028c60: 2020 2869 6620 286d 6174 6368 2d65 6e64 (if (match-end │ │ │ +00028c70: 2031 290a 2020 2020 2020 2020 2020 2020 1). │ │ │ +00028c80: 2873 6574 7120 7044 6566 2028 676f 746f (setq pDef (goto │ │ │ +00028c90: 2d63 6861 7220 286d 6174 6368 2d65 6e64 -char (match-end │ │ │ +00028ca0: 2031 2929 0a20 2020 2020 2020 2020 2020 1)). │ │ │ +00028cb0: 2020 2020 2020 2063 4465 6620 2863 7572 cDef (cur │ │ │ +00028cc0: 7265 6e74 2d63 6f6c 756d 6e29 290a 2020 rent-column)). │ │ │ +00028cd0: 2020 2020 2020 2020 2867 6f74 6f2d 6368 (goto-ch │ │ │ +00028ce0: 6172 2028 6d61 7463 682d 656e 6420 3229 ar (match-end 2) │ │ │ +00028cf0: 290a 2020 2020 2020 2020 2020 2869 6620 ). (if │ │ │ +00028d00: 283e 3d20 6344 6566 2028 6375 7272 656e (>= cDef (curren │ │ │ +00028d10: 742d 636f 6c75 6d6e 2929 0a20 2020 2020 t-column)). │ │ │ +00028d20: 2020 2020 2020 2020 2028 7365 7471 2070 (setq p │ │ │ +00028d30: 4465 6620 2870 6f69 6e74 290a 2020 2020 Def (point). │ │ │ +00028d40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +00028d50: 6344 6566 2028 6375 7272 656e 742d 636f cDef (current-co │ │ │ +00028d60: 6c75 6d6e 2929 2929 0a20 2020 2020 2020 lumn)))). │ │ │ +00028d70: 2028 666f 7277 6172 642d 6368 6172 2929 (forward-char)) │ │ │ +00028d80: 0a20 2020 2020 2028 676f 746f 2d63 6861 . (goto-cha │ │ │ +00028d90: 7220 7044 6566 290a 2020 2020 2020 2869 r pDef). (i │ │ │ +00028da0: 6620 2865 7175 616c 2028 6375 7272 656e f (equal (curren │ │ │ +00028db0: 742d 776f 7264 2920 226d 7574 7561 6c22 t-word) "mutual" │ │ │ +00028dc0: 290a 2020 2020 2020 2020 2020 286f 7220 ). (or │ │ │ +00028dd0: 286d 6174 6368 2d65 6e64 2032 2920 286d (match-end 2) (m │ │ │ +00028de0: 6174 6368 2d65 6e64 2031 2929 0a20 2020 atch-end 1)). │ │ │ +00028df0: 2020 2020 2070 4465 6629 2929 290a 0a28 pDef))))..( │ │ │ +00028e00: 6465 6675 6e20 6167 6461 322d 6265 6769 defun agda2-begi │ │ │ +00028e10: 6e6e 696e 672d 6f66 2d64 6563 6c20 2829 nning-of-decl () │ │ │ +00028e20: 0a20 2028 696e 7465 7261 6374 6976 6529 . (interactive) │ │ │ +00028e30: 0a20 2028 676f 746f 2d63 6861 7220 2861 . (goto-char (a │ │ │ +00028e40: 6764 6132 2d64 6563 6c2d 6265 6769 6e6e gda2-decl-beginn │ │ │ +00028e50: 696e 6729 2929 0a0a 2864 6566 7661 7220 ing)))..(defvar │ │ │ +00028e60: 6167 6461 322d 6465 6275 672d 6275 6666 agda2-debug-buff │ │ │ +00028e70: 6572 2d6e 616d 6520 222a 4167 6461 2064 er-name "*Agda d │ │ │ +00028e80: 6562 7567 2a22 0a20 2022 5468 6520 6e61 ebug*". "The na │ │ │ +00028e90: 6d65 206f 6620 7468 6520 6275 6666 6572 me of the buffer │ │ │ +00028ea0: 2075 7365 6420 666f 7220 4167 6461 2064 used for Agda d │ │ │ +00028eb0: 6562 7567 206d 6573 7361 6765 732e 2229 ebug messages.") │ │ │ +00028ec0: 0a0a 2864 6566 756e 2061 6764 6132 2d76 ..(defun agda2-v │ │ │ +00028ed0: 6572 626f 7365 2028 6d73 6729 0a20 2022 erbose (msg). " │ │ │ +00028ee0: 4170 7065 6e64 7320 7468 6520 7374 7269 Appends the stri │ │ │ +00028ef0: 6e67 204d 5347 2074 6f20 7468 6520 6061 ng MSG to the `a │ │ │ +00028f00: 6764 6132 2d64 6562 7567 2d62 7566 6665 gda2-debug-buffe │ │ │ +00028f10: 722d 6e61 6d65 2720 6275 6666 6572 2e0a r-name' buffer.. │ │ │ +00028f20: 4e6f 7465 2074 6861 7420 7468 6973 2062 Note that this b │ │ │ +00028f30: 7566 6665 7227 7320 636f 6e74 656e 7473 uffer's contents │ │ │ +00028f40: 2069 7320 6e6f 7420 6572 6173 6564 2061 is not erased a │ │ │ +00028f50: 7574 6f6d 6174 6963 616c 6c79 2077 6865 utomatically whe │ │ │ +00028f60: 6e0a 6120 6669 6c65 2069 7320 6c6f 6164 n.a file is load │ │ │ +00028f70: 6564 2e22 0a20 2028 7769 7468 2d63 7572 ed.". (with-cur │ │ │ +00028f80: 7265 6e74 2d62 7566 6665 7220 2867 6574 rent-buffer (get │ │ │ +00028f90: 2d62 7566 6665 722d 6372 6561 7465 2061 -buffer-create a │ │ │ +00028fa0: 6764 6132 2d64 6562 7567 2d62 7566 6665 gda2-debug-buffe │ │ │ +00028fb0: 722d 6e61 6d65 290a 2020 2020 2873 6176 r-name). (sav │ │ │ +00028fc0: 652d 6578 6375 7273 696f 6e0a 2020 2020 e-excursion. │ │ │ +00028fd0: 2020 2867 6f74 6f2d 6368 6172 2028 706f (goto-char (po │ │ │ +00028fe0: 696e 742d 6d61 7829 290a 2020 2020 2020 int-max)). │ │ │ +00028ff0: 2869 6e73 6572 7420 6d73 6729 2929 290a (insert msg)))). │ │ │ +00029000: 0a3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b .;;;;;;;;;;;;;;; │ │ │ 00029010: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00029020: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00029030: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ -00029040: 3b3b 3b3b 3b3b 3b3b 0a3b 3b20 436f 6d6d ;;;;;;;;.;; Comm │ │ │ -00029050: 656e 7473 2061 6e64 2070 6172 6167 7261 ents and paragra │ │ │ -00029060: 7068 730a 0a28 6465 6675 6e20 6167 6461 phs..(defun agda │ │ │ -00029070: 322d 636f 6d6d 656e 7473 2d61 6e64 2d70 2-comments-and-p │ │ │ -00029080: 6172 6167 7261 7068 732d 7365 7475 7020 aragraphs-setup │ │ │ -00029090: 6e69 6c0a 2020 2253 6574 2075 7020 636f nil. "Set up co │ │ │ -000290a0: 6d6d 656e 7420 616e 6420 7061 7261 6772 mment and paragr │ │ │ -000290b0: 6170 6820 6861 6e64 6c69 6e67 2066 6f72 aph handling for │ │ │ -000290c0: 2074 6865 2041 6764 6120 6d6f 6465 2e22 the Agda mode." │ │ │ -000290d0: 0a0a 2020 3b3b 2045 6d70 7479 206c 696e .. ;; Empty lin │ │ │ -000290e0: 6573 2028 616c 6c20 7768 6974 6520 7370 es (all white sp │ │ │ -000290f0: 6163 6520 6163 636f 7264 696e 6720 746f ace according to │ │ │ -00029100: 2045 6d61 6373 2920 6465 6c69 6d69 740a Emacs) delimit. │ │ │ -00029110: 2020 3b3b 2070 6172 6167 7261 7068 732e ;; paragraphs. │ │ │ -00029120: 0a20 2028 7365 7420 286d 616b 652d 6c6f . (set (make-lo │ │ │ -00029130: 6361 6c2d 7661 7269 6162 6c65 2027 7061 cal-variable 'pa │ │ │ -00029140: 7261 6772 6170 682d 7374 6172 7429 2022 ragraph-start) " │ │ │ -00029150: 5c5c 732d 2a24 2229 0a20 2028 7365 7420 \\s-*$"). (set │ │ │ -00029160: 286d 616b 652d 6c6f 6361 6c2d 7661 7269 (make-local-vari │ │ │ -00029170: 6162 6c65 2027 7061 7261 6772 6170 682d able 'paragraph- │ │ │ -00029180: 7365 7061 7261 7465 2920 7061 7261 6772 separate) paragr │ │ │ -00029190: 6170 682d 7374 6172 7429 0a0a 2020 3b3b aph-start).. ;; │ │ │ -000291a0: 2053 7570 706f 7274 2066 6f72 2061 6464 Support for add │ │ │ -000291b0: 696e 672f 7265 6d6f 7669 6e67 2063 6f6d ing/removing com │ │ │ -000291c0: 6d65 6e74 732e 0a20 2028 7365 7420 286d ments.. (set (m │ │ │ -000291d0: 616b 652d 6c6f 6361 6c2d 7661 7269 6162 ake-local-variab │ │ │ -000291e0: 6c65 2027 636f 6d6d 656e 742d 7374 6172 le 'comment-star │ │ │ -000291f0: 7429 2022 2d2d 2022 290a 0a20 203b 3b20 t) "-- ").. ;; │ │ │ -00029200: 5573 6520 7468 6520 7379 6e74 6178 2074 Use the syntax t │ │ │ -00029210: 6162 6c65 2074 6f20 6c6f 6361 7465 2063 able to locate c │ │ │ -00029220: 6f6d 6d65 6e74 7320 2861 6e64 2070 6f73 omments (and pos │ │ │ -00029230: 7369 626c 7920 6f74 6865 720a 2020 3b3b sibly other. ;; │ │ │ -00029240: 2074 6869 6e67 7329 2e20 5379 6e74 6178 things). Syntax │ │ │ -00029250: 2074 6162 6c65 2073 6574 7570 2066 6f72 table setup for │ │ │ -00029260: 2063 6f6d 6d65 6e74 7320 6973 2064 6f6e comments is don │ │ │ -00029270: 6520 656c 7365 7768 6572 652e 0a20 2028 e elsewhere.. ( │ │ │ -00029280: 7365 7420 286d 616b 652d 6c6f 6361 6c2d set (make-local- │ │ │ -00029290: 7661 7269 6162 6c65 2027 636f 6d6d 656e variable 'commen │ │ │ -000292a0: 742d 7573 652d 7379 6e74 6178 2920 7429 t-use-syntax) t) │ │ │ -000292b0: 0a0a 2020 3b3b 2055 7064 6174 6520 746f .. ;; Update to │ │ │ -000292c0: 6b65 6e2d 6261 7365 6420 6869 6768 6c69 ken-based highli │ │ │ -000292d0: 6768 7469 6e67 2061 6674 6572 2074 6865 ghting after the │ │ │ -000292e0: 2062 7566 6665 7220 6861 7320 6265 656e buffer has been │ │ │ -000292f0: 2073 6176 6564 2e0a 2020 2861 6464 2d68 saved.. (add-h │ │ │ -00029300: 6f6f 6b20 2761 6674 6572 2d73 6176 652d ook 'after-save- │ │ │ -00029310: 686f 6f6b 2027 6167 6461 322d 6869 6768 hook 'agda2-high │ │ │ -00029320: 6c69 6768 742d 746f 6b65 6e73 206e 696c light-tokens nil │ │ │ -00029330: 2027 6c6f 6361 6c29 0a0a 2020 3b3b 2053 'local).. ;; S │ │ │ -00029340: 7570 706f 7274 2066 6f72 2070 726f 7065 upport for prope │ │ │ -00029350: 7220 6669 6c6c 696e 6720 6f66 2074 6578 r filling of tex │ │ │ -00029360: 7420 696e 2063 6f6d 6d65 6e74 7320 2872 t in comments (r │ │ │ -00029370: 6571 7569 7265 7320 7468 6174 0a20 203b equires that. ; │ │ │ -00029380: 3b20 4669 6c6c 6164 6170 7420 6973 2061 ; Filladapt is a │ │ │ -00029390: 6374 6976 6174 6564 292e 0a20 2028 7768 ctivated).. (wh │ │ │ -000293a0: 656e 2028 6665 6174 7572 6570 2027 6669 en (featurep 'fi │ │ │ -000293b0: 6c6c 6164 6170 7429 0a20 2020 2028 6164 lladapt). (ad │ │ │ -000293c0: 642d 746f 2d6c 6973 7420 286d 616b 652d d-to-list (make- │ │ │ -000293d0: 6c6f 6361 6c2d 7661 7269 6162 6c65 0a20 local-variable. │ │ │ +00029040: 3b3b 3b3b 3b3b 3b3b 3b0a 3b3b 2043 6f6d ;;;;;;;;;.;; Com │ │ │ +00029050: 6d65 6e74 7320 616e 6420 7061 7261 6772 ments and paragr │ │ │ +00029060: 6170 6873 0a0a 2864 6566 756e 2061 6764 aphs..(defun agd │ │ │ +00029070: 6132 2d63 6f6d 6d65 6e74 732d 616e 642d a2-comments-and- │ │ │ +00029080: 7061 7261 6772 6170 6873 2d73 6574 7570 paragraphs-setup │ │ │ +00029090: 206e 696c 0a20 2022 5365 7420 7570 2063 nil. "Set up c │ │ │ +000290a0: 6f6d 6d65 6e74 2061 6e64 2070 6172 6167 omment and parag │ │ │ +000290b0: 7261 7068 2068 616e 646c 696e 6720 666f raph handling fo │ │ │ +000290c0: 7220 7468 6520 4167 6461 206d 6f64 652e r the Agda mode. │ │ │ +000290d0: 220a 0a20 203b 3b20 456d 7074 7920 6c69 ".. ;; Empty li │ │ │ +000290e0: 6e65 7320 2861 6c6c 2077 6869 7465 2073 nes (all white s │ │ │ +000290f0: 7061 6365 2061 6363 6f72 6469 6e67 2074 pace according t │ │ │ +00029100: 6f20 456d 6163 7329 2064 656c 696d 6974 o Emacs) delimit │ │ │ +00029110: 0a20 203b 3b20 7061 7261 6772 6170 6873 . ;; paragraphs │ │ │ +00029120: 2e0a 2020 2873 6574 2028 6d61 6b65 2d6c .. (set (make-l │ │ │ +00029130: 6f63 616c 2d76 6172 6961 626c 6520 2770 ocal-variable 'p │ │ │ +00029140: 6172 6167 7261 7068 2d73 7461 7274 2920 aragraph-start) │ │ │ +00029150: 225c 5c73 2d2a 2422 290a 2020 2873 6574 "\\s-*$"). (set │ │ │ +00029160: 2028 6d61 6b65 2d6c 6f63 616c 2d76 6172 (make-local-var │ │ │ +00029170: 6961 626c 6520 2770 6172 6167 7261 7068 iable 'paragraph │ │ │ +00029180: 2d73 6570 6172 6174 6529 2070 6172 6167 -separate) parag │ │ │ +00029190: 7261 7068 2d73 7461 7274 290a 0a20 203b raph-start).. ; │ │ │ +000291a0: 3b20 5375 7070 6f72 7420 666f 7220 6164 ; Support for ad │ │ │ +000291b0: 6469 6e67 2f72 656d 6f76 696e 6720 636f ding/removing co │ │ │ +000291c0: 6d6d 656e 7473 2e0a 2020 2873 6574 2028 mments.. (set ( │ │ │ +000291d0: 6d61 6b65 2d6c 6f63 616c 2d76 6172 6961 make-local-varia │ │ │ +000291e0: 626c 6520 2763 6f6d 6d65 6e74 2d73 7461 ble 'comment-sta │ │ │ +000291f0: 7274 2920 222d 2d20 2229 0a0a 2020 3b3b rt) "-- ").. ;; │ │ │ +00029200: 2055 7365 2074 6865 2073 796e 7461 7820 Use the syntax │ │ │ +00029210: 7461 626c 6520 746f 206c 6f63 6174 6520 table to locate │ │ │ +00029220: 636f 6d6d 656e 7473 2028 616e 6420 706f comments (and po │ │ │ +00029230: 7373 6962 6c79 206f 7468 6572 0a20 203b ssibly other. ; │ │ │ +00029240: 3b20 7468 696e 6773 292e 2053 796e 7461 ; things). Synta │ │ │ +00029250: 7820 7461 626c 6520 7365 7475 7020 666f x table setup fo │ │ │ +00029260: 7220 636f 6d6d 656e 7473 2069 7320 646f r comments is do │ │ │ +00029270: 6e65 2065 6c73 6577 6865 7265 2e0a 2020 ne elsewhere.. │ │ │ +00029280: 2873 6574 2028 6d61 6b65 2d6c 6f63 616c (set (make-local │ │ │ +00029290: 2d76 6172 6961 626c 6520 2763 6f6d 6d65 -variable 'comme │ │ │ +000292a0: 6e74 2d75 7365 2d73 796e 7461 7829 2074 nt-use-syntax) t │ │ │ +000292b0: 290a 0a20 203b 3b20 5570 6461 7465 2074 ).. ;; Update t │ │ │ +000292c0: 6f6b 656e 2d62 6173 6564 2068 6967 686c oken-based highl │ │ │ +000292d0: 6967 6874 696e 6720 6166 7465 7220 7468 ighting after th │ │ │ +000292e0: 6520 6275 6666 6572 2068 6173 2062 6565 e buffer has bee │ │ │ +000292f0: 6e20 7361 7665 642e 0a20 2028 6164 642d n saved.. (add- │ │ │ +00029300: 686f 6f6b 2027 6166 7465 722d 7361 7665 hook 'after-save │ │ │ +00029310: 2d68 6f6f 6b20 2761 6764 6132 2d68 6967 -hook 'agda2-hig │ │ │ +00029320: 686c 6967 6874 2d74 6f6b 656e 7320 6e69 hlight-tokens ni │ │ │ +00029330: 6c20 276c 6f63 616c 290a 0a20 203b 3b20 l 'local).. ;; │ │ │ +00029340: 5375 7070 6f72 7420 666f 7220 7072 6f70 Support for prop │ │ │ +00029350: 6572 2066 696c 6c69 6e67 206f 6620 7465 er filling of te │ │ │ +00029360: 7874 2069 6e20 636f 6d6d 656e 7473 2028 xt in comments ( │ │ │ +00029370: 7265 7175 6972 6573 2074 6861 740a 2020 requires that. │ │ │ +00029380: 3b3b 2046 696c 6c61 6461 7074 2069 7320 ;; Filladapt is │ │ │ +00029390: 6163 7469 7661 7465 6429 2e0a 2020 2877 activated).. (w │ │ │ +000293a0: 6865 6e20 2866 6561 7475 7265 7020 2766 hen (featurep 'f │ │ │ +000293b0: 696c 6c61 6461 7074 290a 2020 2020 2861 illadapt). (a │ │ │ +000293c0: 6464 2d74 6f2d 6c69 7374 2028 6d61 6b65 dd-to-list (make │ │ │ +000293d0: 2d6c 6f63 616c 2d76 6172 6961 626c 650a -local-variable. │ │ │ 000293e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -000293f0: 2027 6669 6c6c 6164 6170 742d 746f 6b65 'filladapt-toke │ │ │ -00029400: 6e2d 7461 626c 6529 0a20 2020 2020 2020 n-table). │ │ │ -00029410: 2020 2020 2020 2020 2020 2728 222d 2d22 '("--" │ │ │ -00029420: 2061 6764 6132 2d63 6f6d 6d65 6e74 2929 agda2-comment)) │ │ │ -00029430: 0a20 2020 2028 6164 642d 746f 2d6c 6973 . (add-to-lis │ │ │ -00029440: 7420 286d 616b 652d 6c6f 6361 6c2d 7661 t (make-local-va │ │ │ -00029450: 7269 6162 6c65 2027 6669 6c6c 6164 6170 riable 'filladap │ │ │ -00029460: 742d 746f 6b65 6e2d 6d61 7463 682d 7461 t-token-match-ta │ │ │ -00029470: 626c 6529 0a20 2020 2020 2020 2020 2020 ble). │ │ │ -00029480: 2020 2020 2020 2728 6167 6461 322d 636f '(agda2-co │ │ │ -00029490: 6d6d 656e 7420 6167 6461 322d 636f 6d6d mment agda2-comm │ │ │ -000294a0: 656e 7429 2074 290a 2020 2020 2861 6464 ent) t). (add │ │ │ -000294b0: 2d74 6f2d 6c69 7374 2028 6d61 6b65 2d6c -to-list (make-l │ │ │ -000294c0: 6f63 616c 2d76 6172 6961 626c 6520 2766 ocal-variable 'f │ │ │ -000294d0: 696c 6c61 6461 7074 2d74 6f6b 656e 2d63 illadapt-token-c │ │ │ -000294e0: 6f6e 7665 7273 696f 6e2d 7461 626c 6529 onversion-table) │ │ │ -000294f0: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ -00029500: 2020 2728 6167 6461 322d 636f 6d6d 656e '(agda2-commen │ │ │ -00029510: 7420 2e20 6578 6163 7429 2929 290a 0a28 t . exact))))..( │ │ │ -00029520: 6465 6675 6e20 6167 6461 322d 636f 6d6d defun agda2-comm │ │ │ -00029530: 656e 742d 6477 696d 2d72 6573 742d 6f66 ent-dwim-rest-of │ │ │ -00029540: 2d62 7566 6665 7220 2829 0a20 2022 436f -buffer (). "Co │ │ │ -00029550: 6d6d 656e 7420 6f72 2075 6e63 6f6d 6d65 mment or uncomme │ │ │ -00029560: 6e74 2074 6865 2072 6573 7420 6f66 2074 nt the rest of t │ │ │ -00029570: 6865 2062 7566 6665 722e 0a46 726f 6d20 he buffer..From │ │ │ -00029580: 7468 6520 6265 6769 6e6e 696e 6720 6f66 the beginning of │ │ │ -00029590: 2074 6865 2063 7572 7265 6e74 206c 696e the current lin │ │ │ -000295a0: 6520 746f 2074 6865 2065 6e64 206f 6620 e to the end of │ │ │ -000295b0: 7468 6520 6275 6666 6572 2e22 0a20 2028 the buffer.". ( │ │ │ -000295c0: 696e 7465 7261 6374 6976 6529 0a20 2028 interactive). ( │ │ │ -000295d0: 7361 7665 2d65 7863 7572 7369 6f6e 0a20 save-excursion. │ │ │ -000295e0: 2020 2028 666f 7277 6172 642d 6c69 6e65 (forward-line │ │ │ -000295f0: 2030 290a 2020 2020 2870 7573 682d 6d61 0). (push-ma │ │ │ -00029600: 726b 2028 706f 696e 7429 2027 6e6f 2d6d rk (point) 'no-m │ │ │ -00029610: 6573 7361 6765 2027 6163 7469 7661 7465 essage 'activate │ │ │ -00029620: 2d6d 6172 6b29 0a20 2020 2028 756e 7769 -mark). (unwi │ │ │ -00029630: 6e64 2d70 726f 7465 6374 0a20 2020 2020 nd-protect. │ │ │ -00029640: 2020 2028 7072 6f67 6e0a 2020 2020 2020 (progn. │ │ │ -00029650: 2020 2020 2867 6f74 6f2d 6368 6172 2028 (goto-char ( │ │ │ -00029660: 706f 696e 742d 6d61 7829 290a 2020 2020 point-max)). │ │ │ -00029670: 2020 2020 2020 2863 6f6d 6d65 6e74 2d64 (comment-d │ │ │ -00029680: 7769 6d20 6e69 6c29 290a 2020 2020 2020 wim nil)). │ │ │ -00029690: 2870 6f70 2d6d 6172 6b29 2929 290a 0a28 (pop-mark))))..( │ │ │ -000296a0: 6465 6675 6e20 6167 6461 322d 6869 6768 defun agda2-high │ │ │ -000296b0: 6c69 6768 742d 746f 6b65 6e73 206e 696c light-tokens nil │ │ │ -000296c0: 0a20 2022 436f 6d70 7574 6520 746f 6b65 . "Compute toke │ │ │ -000296d0: 6e2d 6261 7365 6420 6869 6768 6c69 6768 n-based highligh │ │ │ -000296e0: 7469 6e67 2069 6e66 6f72 6d61 7469 6f6e ting information │ │ │ -000296f0: 2e0a 0a55 6e6c 6573 7320 6061 6764 6132 ...Unless `agda2 │ │ │ -00029700: 2d68 6967 686c 6967 6874 2d6c 6576 656c -highlight-level │ │ │ -00029710: 2720 6973 2060 6e6f 6e65 2720 6f72 2074 ' is `none' or t │ │ │ -00029720: 6865 2041 6764 6120 7072 6f63 6573 7320 he Agda process │ │ │ -00029730: 6973 0a62 7573 7920 286f 7220 606e 6f74 is.busy (or `not │ │ │ -00029740: 2d73 6f2d 6275 7379 2729 2077 6974 6820 -so-busy') with │ │ │ -00029750: 736f 6d65 7468 696e 672e 2054 6869 7320 something. This │ │ │ -00029760: 636f 6d6d 616e 6420 6d69 6768 7420 7361 command might sa │ │ │ -00029770: 7665 0a74 6865 2062 7566 6665 722e 220a ve.the buffer.". │ │ │ -00029780: 2020 2875 6e6c 6573 7320 286f 7220 6167 (unless (or ag │ │ │ -00029790: 6461 322d 696e 2d70 726f 6772 6573 730a da2-in-progress. │ │ │ -000297a0: 2020 2020 2020 2020 2020 2020 2020 2865 (e │ │ │ -000297b0: 7175 616c 2061 6764 6132 2d68 6967 686c qual agda2-highl │ │ │ -000297c0: 6967 6874 2d6c 6576 656c 2027 6e6f 6e65 ight-level 'none │ │ │ -000297d0: 2929 0a20 2020 2028 6167 6461 322d 676f )). (agda2-go │ │ │ -000297e0: 2027 7361 7665 2074 2027 6e6f 742d 736f 'save t 'not-so │ │ │ -000297f0: 2d62 7573 7920 740a 2020 2020 2020 2020 -busy t. │ │ │ -00029800: 2020 2020 2020 2243 6d64 5f74 6f6b 656e "Cmd_token │ │ │ -00029810: 4869 6768 6c69 6768 7469 6e67 220a 2020 Highlighting". │ │ │ -00029820: 2020 2020 2020 2020 2020 2020 2861 6764 (agd │ │ │ -00029830: 6132 2d73 7472 696e 672d 7175 6f74 6520 a2-string-quote │ │ │ -00029840: 2862 7566 6665 722d 6669 6c65 2d6e 616d (buffer-file-nam │ │ │ -00029850: 6529 290a 2020 2020 2020 2020 2020 2020 e)). │ │ │ -00029860: 2020 224b 6565 7022 2929 290a 0a3b 3b3b "Keep")))..;;; │ │ │ +000293f0: 2020 2766 696c 6c61 6461 7074 2d74 6f6b 'filladapt-tok │ │ │ +00029400: 656e 2d74 6162 6c65 290a 2020 2020 2020 en-table). │ │ │ +00029410: 2020 2020 2020 2020 2020 2027 2822 2d2d '("-- │ │ │ +00029420: 2220 6167 6461 322d 636f 6d6d 656e 7429 " agda2-comment) │ │ │ +00029430: 290a 2020 2020 2861 6464 2d74 6f2d 6c69 ). (add-to-li │ │ │ +00029440: 7374 2028 6d61 6b65 2d6c 6f63 616c 2d76 st (make-local-v │ │ │ +00029450: 6172 6961 626c 6520 2766 696c 6c61 6461 ariable 'fillada │ │ │ +00029460: 7074 2d74 6f6b 656e 2d6d 6174 6368 2d74 pt-token-match-t │ │ │ +00029470: 6162 6c65 290a 2020 2020 2020 2020 2020 able). │ │ │ +00029480: 2020 2020 2020 2027 2861 6764 6132 2d63 '(agda2-c │ │ │ +00029490: 6f6d 6d65 6e74 2061 6764 6132 2d63 6f6d omment agda2-com │ │ │ +000294a0: 6d65 6e74 2920 7429 0a20 2020 2028 6164 ment) t). (ad │ │ │ +000294b0: 642d 746f 2d6c 6973 7420 286d 616b 652d d-to-list (make- │ │ │ +000294c0: 6c6f 6361 6c2d 7661 7269 6162 6c65 2027 local-variable ' │ │ │ +000294d0: 6669 6c6c 6164 6170 742d 746f 6b65 6e2d filladapt-token- │ │ │ +000294e0: 636f 6e76 6572 7369 6f6e 2d74 6162 6c65 conversion-table │ │ │ +000294f0: 290a 2020 2020 2020 2020 2020 2020 2020 ). │ │ │ +00029500: 2020 2027 2861 6764 6132 2d63 6f6d 6d65 '(agda2-comme │ │ │ +00029510: 6e74 202e 2065 7861 6374 2929 2929 0a0a nt . exact)))).. │ │ │ +00029520: 2864 6566 756e 2061 6764 6132 2d63 6f6d (defun agda2-com │ │ │ +00029530: 6d65 6e74 2d64 7769 6d2d 7265 7374 2d6f ment-dwim-rest-o │ │ │ +00029540: 662d 6275 6666 6572 2028 290a 2020 2243 f-buffer (). "C │ │ │ +00029550: 6f6d 6d65 6e74 206f 7220 756e 636f 6d6d omment or uncomm │ │ │ +00029560: 656e 7420 7468 6520 7265 7374 206f 6620 ent the rest of │ │ │ +00029570: 7468 6520 6275 6666 6572 2e0a 4672 6f6d the buffer..From │ │ │ +00029580: 2074 6865 2062 6567 696e 6e69 6e67 206f the beginning o │ │ │ +00029590: 6620 7468 6520 6375 7272 656e 7420 6c69 f the current li │ │ │ +000295a0: 6e65 2074 6f20 7468 6520 656e 6420 6f66 ne to the end of │ │ │ +000295b0: 2074 6865 2062 7566 6665 722e 220a 2020 the buffer.". │ │ │ +000295c0: 2869 6e74 6572 6163 7469 7665 290a 2020 (interactive). │ │ │ +000295d0: 2873 6176 652d 6578 6375 7273 696f 6e0a (save-excursion. │ │ │ +000295e0: 2020 2020 2866 6f72 7761 7264 2d6c 696e (forward-lin │ │ │ +000295f0: 6520 3029 0a20 2020 2028 7075 7368 2d6d e 0). (push-m │ │ │ +00029600: 6172 6b20 2870 6f69 6e74 2920 276e 6f2d ark (point) 'no- │ │ │ +00029610: 6d65 7373 6167 6520 2761 6374 6976 6174 message 'activat │ │ │ +00029620: 652d 6d61 726b 290a 2020 2020 2875 6e77 e-mark). (unw │ │ │ +00029630: 696e 642d 7072 6f74 6563 740a 2020 2020 ind-protect. │ │ │ +00029640: 2020 2020 2870 726f 676e 0a20 2020 2020 (progn. │ │ │ +00029650: 2020 2020 2028 676f 746f 2d63 6861 7220 (goto-char │ │ │ +00029660: 2870 6f69 6e74 2d6d 6178 2929 0a20 2020 (point-max)). │ │ │ +00029670: 2020 2020 2020 2028 636f 6d6d 656e 742d (comment- │ │ │ +00029680: 6477 696d 206e 696c 2929 0a20 2020 2020 dwim nil)). │ │ │ +00029690: 2028 706f 702d 6d61 726b 2929 2929 0a0a (pop-mark)))).. │ │ │ +000296a0: 2864 6566 756e 2061 6764 6132 2d68 6967 (defun agda2-hig │ │ │ +000296b0: 686c 6967 6874 2d74 6f6b 656e 7320 6e69 hlight-tokens ni │ │ │ +000296c0: 6c0a 2020 2243 6f6d 7075 7465 2074 6f6b l. "Compute tok │ │ │ +000296d0: 656e 2d62 6173 6564 2068 6967 686c 6967 en-based highlig │ │ │ +000296e0: 6874 696e 6720 696e 666f 726d 6174 696f hting informatio │ │ │ +000296f0: 6e2e 0a0a 556e 6c65 7373 2060 6167 6461 n...Unless `agda │ │ │ +00029700: 322d 6869 6768 6c69 6768 742d 6c65 7665 2-highlight-leve │ │ │ +00029710: 6c27 2069 7320 606e 6f6e 6527 206f 7220 l' is `none' or │ │ │ +00029720: 7468 6520 4167 6461 2070 726f 6365 7373 the Agda process │ │ │ +00029730: 2069 730a 6275 7379 2028 6f72 2060 6e6f is.busy (or `no │ │ │ +00029740: 742d 736f 2d62 7573 7927 2920 7769 7468 t-so-busy') with │ │ │ +00029750: 2073 6f6d 6574 6869 6e67 2e20 5468 6973 something. This │ │ │ +00029760: 2063 6f6d 6d61 6e64 206d 6967 6874 2073 command might s │ │ │ +00029770: 6176 650a 7468 6520 6275 6666 6572 2e22 ave.the buffer." │ │ │ +00029780: 0a20 2028 756e 6c65 7373 2028 6f72 2061 . (unless (or a │ │ │ +00029790: 6764 6132 2d69 6e2d 7072 6f67 7265 7373 gda2-in-progress │ │ │ +000297a0: 0a20 2020 2020 2020 2020 2020 2020 2028 . ( │ │ │ +000297b0: 6571 7561 6c20 6167 6461 322d 6869 6768 equal agda2-high │ │ │ +000297c0: 6c69 6768 742d 6c65 7665 6c20 276e 6f6e light-level 'non │ │ │ +000297d0: 6529 290a 2020 2020 2861 6764 6132 2d67 e)). (agda2-g │ │ │ +000297e0: 6f20 2773 6176 6520 7420 276e 6f74 2d73 o 'save t 'not-s │ │ │ +000297f0: 6f2d 6275 7379 2074 0a20 2020 2020 2020 o-busy t. │ │ │ +00029800: 2020 2020 2020 2022 436d 645f 746f 6b65 "Cmd_toke │ │ │ +00029810: 6e48 6967 686c 6967 6874 696e 6722 0a20 nHighlighting". │ │ │ +00029820: 2020 2020 2020 2020 2020 2020 2028 6167 (ag │ │ │ +00029830: 6461 322d 7374 7269 6e67 2d71 756f 7465 da2-string-quote │ │ │ +00029840: 2028 6275 6666 6572 2d66 696c 652d 6e61 (buffer-file-na │ │ │ +00029850: 6d65 2929 0a20 2020 2020 2020 2020 2020 me)). │ │ │ +00029860: 2020 2022 4b65 6570 2229 2929 0a0a 3b3b "Keep")))..;; │ │ │ 00029870: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00029880: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00029890: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 000298a0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ -000298b0: 3b3b 3b3b 3b0a 3b3b 2047 6f20 746f 2064 ;;;;;.;; Go to d │ │ │ -000298c0: 6566 696e 6974 696f 6e20 7369 7465 0a0a efinition site.. │ │ │ -000298d0: 2864 6566 756e 2061 6764 6132 2d67 6f74 (defun agda2-got │ │ │ -000298e0: 6f2d 6465 6669 6e69 7469 6f6e 2d6b 6579 o-definition-key │ │ │ -000298f0: 626f 6172 6420 2826 6f70 7469 6f6e 616c board (&optional │ │ │ -00029900: 206f 7468 6572 2d77 696e 646f 7729 0a20 other-window). │ │ │ -00029910: 2022 476f 2074 6f20 7468 6520 6465 6669 "Go to the defi │ │ │ -00029920: 6e69 7469 6f6e 2073 6974 6520 6f66 2074 nition site of t │ │ │ -00029930: 6865 206e 616d 6520 756e 6465 7220 706f he name under po │ │ │ -00029940: 696e 7420 2869 6620 616e 7929 2e0a 4966 int (if any)..If │ │ │ -00029950: 2074 6869 7320 6675 6e63 7469 6f6e 2069 this function i │ │ │ -00029960: 7320 696e 766f 6b65 6420 7769 7468 2061 s invoked with a │ │ │ -00029970: 2070 7265 6669 7820 6172 6775 6d65 6e74 prefix argument │ │ │ -00029980: 2074 6865 6e20 616e 6f74 6865 7220 7769 then another wi │ │ │ -00029990: 6e64 6f77 2069 7320 7573 6564 0a74 6f20 ndow is used.to │ │ │ -000299a0: 6469 7370 6c61 7920 7468 6520 6769 7665 display the give │ │ │ -000299b0: 6e20 706f 7369 7469 6f6e 2e22 0a20 2028 n position.". ( │ │ │ -000299c0: 696e 7465 7261 6374 6976 6520 2250 2229 interactive "P") │ │ │ -000299d0: 0a20 2028 616e 6e6f 7461 7469 6f6e 2d67 . (annotation-g │ │ │ -000299e0: 6f74 6f2d 696e 6469 7265 6374 2028 706f oto-indirect (po │ │ │ -000299f0: 696e 7429 206f 7468 6572 2d77 696e 646f int) other-windo │ │ │ -00029a00: 7729 290a 0a28 6465 6675 6e20 6167 6461 w))..(defun agda │ │ │ -00029a10: 322d 676f 746f 2d64 6566 696e 6974 696f 2-goto-definitio │ │ │ -00029a20: 6e2d 6d6f 7573 6520 2865 7629 0a20 2022 n-mouse (ev). " │ │ │ -00029a30: 476f 2074 6f20 7468 6520 6465 6669 6e69 Go to the defini │ │ │ -00029a40: 7469 6f6e 2073 6974 6520 6f66 2074 6865 tion site of the │ │ │ -00029a50: 206e 616d 6520 636c 6963 6b65 6420 6f6e name clicked on │ │ │ -00029a60: 2c20 6966 2061 6e79 2e0a 4f74 6865 7277 , if any..Otherw │ │ │ -00029a70: 6973 652c 2079 616e 6b20 2873 6565 2060 ise, yank (see ` │ │ │ -00029a80: 6d6f 7573 652d 7961 6e6b 2d70 7269 6d61 mouse-yank-prima │ │ │ -00029a90: 7279 2729 2e22 0a20 2028 696e 7465 7261 ry').". (intera │ │ │ -00029aa0: 6374 6976 6520 2265 2229 0a20 2028 756e ctive "e"). (un │ │ │ -00029ab0: 6c65 7373 2028 616e 6e6f 7461 7469 6f6e less (annotation │ │ │ -00029ac0: 2d67 6f74 6f2d 696e 6469 7265 6374 2065 -goto-indirect e │ │ │ -00029ad0: 7629 0a20 2020 203b 3b20 4649 584d 453a v). ;; FIXME: │ │ │ -00029ae0: 2053 686f 756c 646e 2774 2077 6520 7573 Shouldn't we us │ │ │ -00029af0: 6520 736f 6d65 7468 696e 6720 6c69 6b65 e something like │ │ │ -00029b00: 0a20 2020 203b 3b20 2863 616c 6c2d 696e . ;; (call-in │ │ │ -00029b10: 7465 7261 6374 6976 656c 7920 286b 6579 teractively (key │ │ │ -00029b20: 2d62 696e 6469 6e67 2065 7629 293f 2020 -binding ev))? │ │ │ -00029b30: 2d2d 5374 6566 0a20 2020 2028 6d6f 7573 --Stef. (mous │ │ │ -00029b40: 652d 7961 6e6b 2d70 7269 6d61 7279 2065 e-yank-primary e │ │ │ -00029b50: 7629 2929 0a0a 2864 6566 756e 2061 6764 v)))..(defun agd │ │ │ -00029b60: 6132 2d67 6f2d 6261 636b 206e 696c 0a20 a2-go-back nil. │ │ │ -00029b70: 2022 476f 2062 6163 6b20 746f 2074 6865 "Go back to the │ │ │ -00029b80: 2070 7265 7669 6f75 7320 706f 7369 7469 previous positi │ │ │ -00029b90: 6f6e 2069 6e20 7768 6963 680a 6061 6764 on in which.`agd │ │ │ -00029ba0: 6132 2d67 6f74 6f2d 6465 6669 6e69 7469 a2-goto-definiti │ │ │ -00029bb0: 6f6e 2d6b 6579 626f 6172 6427 206f 7220 on-keyboard' or │ │ │ -00029bc0: 6061 6764 6132 2d67 6f74 6f2d 6465 6669 `agda2-goto-defi │ │ │ -00029bd0: 6e69 7469 6f6e 2d6d 6f75 7365 2720 7761 nition-mouse' wa │ │ │ -00029be0: 730a 696e 766f 6b65 642e 220a 2020 2869 s.invoked.". (i │ │ │ -00029bf0: 6e74 6572 6163 7469 7665 290a 2020 2861 nteractive). (a │ │ │ -00029c00: 6e6e 6f74 6174 696f 6e2d 676f 2d62 6163 nnotation-go-bac │ │ │ -00029c10: 6b29 290a 0a28 6465 6675 6e20 6167 6461 k))..(defun agda │ │ │ -00029c20: 322d 6d61 7962 652d 676f 746f 2028 6669 2-maybe-goto (fi │ │ │ -00029c30: 6c65 706f 7329 0a20 2022 4d69 6768 7420 lepos). "Might │ │ │ -00029c40: 6d6f 7665 2070 6f69 6e74 2074 6f20 7468 move point to th │ │ │ -00029c50: 6520 6769 7665 6e20 6572 726f 722e 0a46 e given error..F │ │ │ -00029c60: 494c 4550 4f53 2073 686f 756c 6420 6861 ILEPOS should ha │ │ │ -00029c70: 7665 2074 6865 2066 6f72 6d20 2846 494c ve the form (FIL │ │ │ -00029c80: 4520 2e20 504f 5349 5449 4f4e 292e 0a0a E . POSITION)... │ │ │ -00029c90: 4966 2060 6167 6461 322d 6869 6768 6c69 If `agda2-highli │ │ │ -00029ca0: 6768 742d 696e 2d70 726f 6772 6573 7327 ght-in-progress' │ │ │ -00029cb0: 2069 7320 6e69 6c2c 2074 6865 6e20 6e6f is nil, then no │ │ │ -00029cc0: 7468 696e 6720 6861 7070 656e 732e 0a4f thing happens..O │ │ │ -00029cd0: 7468 6572 7769 7365 2c20 6966 2074 6865 therwise, if the │ │ │ -00029ce0: 2063 7572 7265 6e74 2062 7566 6665 7220 current buffer │ │ │ -00029cf0: 6973 2074 6865 206f 6e65 2074 6861 7420 is the one that │ │ │ -00029d00: 6973 2063 6f6e 6e65 6374 6564 2074 6f0a is connected to. │ │ │ -00029d10: 7468 6520 4167 6461 2070 726f 6365 7373 the Agda process │ │ │ -00029d20: 2c20 7468 656e 2070 6f69 6e74 2069 7320 , then point is │ │ │ -00029d30: 6d6f 7665 6420 746f 2050 4f53 4954 494f moved to POSITIO │ │ │ -00029d40: 4e20 696e 0a46 494c 4520 2861 7373 756d N in.FILE (assum │ │ │ -00029d50: 696e 6720 7468 6174 2074 6865 2046 494c ing that the FIL │ │ │ -00029d60: 4520 6973 2072 6561 6461 626c 6529 2e20 E is readable). │ │ │ -00029d70: 4f74 6865 7277 6973 6520 706f 696e 7420 Otherwise point │ │ │ -00029d80: 6973 0a6d 6f76 6564 2074 6f20 7468 6520 is.moved to the │ │ │ -00029d90: 6769 7665 6e20 706f 7369 7469 6f6e 2069 given position i │ │ │ -00029da0: 6e20 7468 6520 6275 6666 6572 2076 6973 n the buffer vis │ │ │ -00029db0: 6974 696e 6720 7468 6520 6669 6c65 2c20 iting the file, │ │ │ -00029dc0: 6966 0a61 6e79 2c20 616e 6420 696e 2065 if.any, and in e │ │ │ -00029dd0: 7665 7279 2077 696e 646f 7720 6469 7370 very window disp │ │ │ -00029de0: 6c61 7969 6e67 2074 6865 2062 7566 6665 laying the buffe │ │ │ -00029df0: 722c 2062 7574 2074 6865 2077 696e 646f r, but the windo │ │ │ -00029e00: 770a 636f 6e66 6967 7572 6174 696f 6e20 w.configuration │ │ │ -00029e10: 616e 6420 7468 6520 7365 6c65 6374 6564 and the selected │ │ │ -00029e20: 2077 696e 646f 7720 6172 6520 6e6f 7420 window are not │ │ │ -00029e30: 6368 616e 6765 642e 220a 2020 2877 6865 changed.". (whe │ │ │ -00029e40: 6e20 2861 6e64 2061 6764 6132 2d68 6967 n (and agda2-hig │ │ │ -00029e50: 686c 6967 6874 2d69 6e2d 7072 6f67 7265 hlight-in-progre │ │ │ -00029e60: 7373 0a20 2020 2020 2020 2020 2020 2020 ss. │ │ │ -00029e70: 2863 6f6e 7370 2066 696c 6570 6f73 290a (consp filepos). │ │ │ -00029e80: 2020 2020 2020 2020 2020 2020 2028 7374 (st │ │ │ -00029e90: 7269 6e67 7020 2863 6172 2066 696c 6570 ringp (car filep │ │ │ -00029ea0: 6f73 2929 0a20 2020 2020 2020 2020 2020 os)). │ │ │ -00029eb0: 2020 2869 6e74 6567 6572 7020 2863 6472 (integerp (cdr │ │ │ -00029ec0: 2066 696c 6570 6f73 2929 290a 2020 2020 filepos))). │ │ │ -00029ed0: 2869 6620 6167 6461 322d 696e 2d61 6764 (if agda2-in-agd │ │ │ -00029ee0: 6132 2d66 696c 652d 6275 6666 6572 0a20 a2-file-buffer. │ │ │ -00029ef0: 2020 2020 2020 2028 616e 6e6f 7461 7469 (annotati │ │ │ -00029f00: 6f6e 2d67 6f74 6f2d 616e 642d 7075 7368 on-goto-and-push │ │ │ -00029f10: 2028 6375 7272 656e 742d 6275 6666 6572 (current-buffer │ │ │ -00029f20: 2920 2870 6f69 6e74 2920 6669 6c65 706f ) (point) filepo │ │ │ -00029f30: 7329 0a20 2020 2020 2028 7361 7665 2d65 s). (save-e │ │ │ -00029f40: 7863 7572 7369 6f6e 0a20 2020 2020 2020 xcursion. │ │ │ -00029f50: 2028 6c65 7420 2828 6275 6666 6572 2028 (let ((buffer ( │ │ │ -00029f60: 6669 6e64 2d62 7566 6665 722d 7669 7369 find-buffer-visi │ │ │ -00029f70: 7469 6e67 2028 6361 7220 6669 6c65 706f ting (car filepo │ │ │ -00029f80: 7329 2929 290a 2020 2020 2020 2020 2020 s)))). │ │ │ -00029f90: 2877 6865 6e20 6275 6666 6572 0a20 2020 (when buffer. │ │ │ -00029fa0: 2020 2020 2020 2020 2028 6c65 7420 2828 (let (( │ │ │ -00029fb0: 7769 6e64 6f77 7320 2867 6574 2d62 7566 windows (get-buf │ │ │ -00029fc0: 6665 722d 7769 6e64 6f77 2d6c 6973 7420 fer-window-list │ │ │ -00029fd0: 6275 6666 6572 0a20 2020 2020 2020 2020 buffer. │ │ │ +000298b0: 3b3b 3b3b 3b3b 0a3b 3b20 476f 2074 6f20 ;;;;;;.;; Go to │ │ │ +000298c0: 6465 6669 6e69 7469 6f6e 2073 6974 650a definition site. │ │ │ +000298d0: 0a28 6465 6675 6e20 6167 6461 322d 676f .(defun agda2-go │ │ │ +000298e0: 746f 2d64 6566 696e 6974 696f 6e2d 6b65 to-definition-ke │ │ │ +000298f0: 7962 6f61 7264 2028 266f 7074 696f 6e61 yboard (&optiona │ │ │ +00029900: 6c20 6f74 6865 722d 7769 6e64 6f77 290a l other-window). │ │ │ +00029910: 2020 2247 6f20 746f 2074 6865 2064 6566 "Go to the def │ │ │ +00029920: 696e 6974 696f 6e20 7369 7465 206f 6620 inition site of │ │ │ +00029930: 7468 6520 6e61 6d65 2075 6e64 6572 2070 the name under p │ │ │ +00029940: 6f69 6e74 2028 6966 2061 6e79 292e 0a49 oint (if any)..I │ │ │ +00029950: 6620 7468 6973 2066 756e 6374 696f 6e20 f this function │ │ │ +00029960: 6973 2069 6e76 6f6b 6564 2077 6974 6820 is invoked with │ │ │ +00029970: 6120 7072 6566 6978 2061 7267 756d 656e a prefix argumen │ │ │ +00029980: 7420 7468 656e 2061 6e6f 7468 6572 2077 t then another w │ │ │ +00029990: 696e 646f 7720 6973 2075 7365 640a 746f indow is used.to │ │ │ +000299a0: 2064 6973 706c 6179 2074 6865 2067 6976 display the giv │ │ │ +000299b0: 656e 2070 6f73 6974 696f 6e2e 220a 2020 en position.". │ │ │ +000299c0: 2869 6e74 6572 6163 7469 7665 2022 5022 (interactive "P" │ │ │ +000299d0: 290a 2020 2861 6e6e 6f74 6174 696f 6e2d ). (annotation- │ │ │ +000299e0: 676f 746f 2d69 6e64 6972 6563 7420 2870 goto-indirect (p │ │ │ +000299f0: 6f69 6e74 2920 6f74 6865 722d 7769 6e64 oint) other-wind │ │ │ +00029a00: 6f77 2929 0a0a 2864 6566 756e 2061 6764 ow))..(defun agd │ │ │ +00029a10: 6132 2d67 6f74 6f2d 6465 6669 6e69 7469 a2-goto-definiti │ │ │ +00029a20: 6f6e 2d6d 6f75 7365 2028 6576 290a 2020 on-mouse (ev). │ │ │ +00029a30: 2247 6f20 746f 2074 6865 2064 6566 696e "Go to the defin │ │ │ +00029a40: 6974 696f 6e20 7369 7465 206f 6620 7468 ition site of th │ │ │ +00029a50: 6520 6e61 6d65 2063 6c69 636b 6564 206f e name clicked o │ │ │ +00029a60: 6e2c 2069 6620 616e 792e 0a4f 7468 6572 n, if any..Other │ │ │ +00029a70: 7769 7365 2c20 7961 6e6b 2028 7365 6520 wise, yank (see │ │ │ +00029a80: 606d 6f75 7365 2d79 616e 6b2d 7072 696d `mouse-yank-prim │ │ │ +00029a90: 6172 7927 292e 220a 2020 2869 6e74 6572 ary').". (inter │ │ │ +00029aa0: 6163 7469 7665 2022 6522 290a 2020 2875 active "e"). (u │ │ │ +00029ab0: 6e6c 6573 7320 2861 6e6e 6f74 6174 696f nless (annotatio │ │ │ +00029ac0: 6e2d 676f 746f 2d69 6e64 6972 6563 7420 n-goto-indirect │ │ │ +00029ad0: 6576 290a 2020 2020 3b3b 2046 4958 4d45 ev). ;; FIXME │ │ │ +00029ae0: 3a20 5368 6f75 6c64 6e27 7420 7765 2075 : Shouldn't we u │ │ │ +00029af0: 7365 2073 6f6d 6574 6869 6e67 206c 696b se something lik │ │ │ +00029b00: 650a 2020 2020 3b3b 2028 6361 6c6c 2d69 e. ;; (call-i │ │ │ +00029b10: 6e74 6572 6163 7469 7665 6c79 2028 6b65 nteractively (ke │ │ │ +00029b20: 792d 6269 6e64 696e 6720 6576 2929 3f20 y-binding ev))? │ │ │ +00029b30: 202d 2d53 7465 660a 2020 2020 286d 6f75 --Stef. (mou │ │ │ +00029b40: 7365 2d79 616e 6b2d 7072 696d 6172 7920 se-yank-primary │ │ │ +00029b50: 6576 2929 290a 0a28 6465 6675 6e20 6167 ev)))..(defun ag │ │ │ +00029b60: 6461 322d 676f 2d62 6163 6b20 6e69 6c0a da2-go-back nil. │ │ │ +00029b70: 2020 2247 6f20 6261 636b 2074 6f20 7468 "Go back to th │ │ │ +00029b80: 6520 7072 6576 696f 7573 2070 6f73 6974 e previous posit │ │ │ +00029b90: 696f 6e20 696e 2077 6869 6368 0a60 6167 ion in which.`ag │ │ │ +00029ba0: 6461 322d 676f 746f 2d64 6566 696e 6974 da2-goto-definit │ │ │ +00029bb0: 696f 6e2d 6b65 7962 6f61 7264 2720 6f72 ion-keyboard' or │ │ │ +00029bc0: 2060 6167 6461 322d 676f 746f 2d64 6566 `agda2-goto-def │ │ │ +00029bd0: 696e 6974 696f 6e2d 6d6f 7573 6527 2077 inition-mouse' w │ │ │ +00029be0: 6173 0a69 6e76 6f6b 6564 2e22 0a20 2028 as.invoked.". ( │ │ │ +00029bf0: 696e 7465 7261 6374 6976 6529 0a20 2028 interactive). ( │ │ │ +00029c00: 616e 6e6f 7461 7469 6f6e 2d67 6f2d 6261 annotation-go-ba │ │ │ +00029c10: 636b 2929 0a0a 2864 6566 756e 2061 6764 ck))..(defun agd │ │ │ +00029c20: 6132 2d6d 6179 6265 2d67 6f74 6f20 2866 a2-maybe-goto (f │ │ │ +00029c30: 696c 6570 6f73 290a 2020 224d 6967 6874 ilepos). "Might │ │ │ +00029c40: 206d 6f76 6520 706f 696e 7420 746f 2074 move point to t │ │ │ +00029c50: 6865 2067 6976 656e 2065 7272 6f72 2e0a he given error.. │ │ │ +00029c60: 4649 4c45 504f 5320 7368 6f75 6c64 2068 FILEPOS should h │ │ │ +00029c70: 6176 6520 7468 6520 666f 726d 2028 4649 ave the form (FI │ │ │ +00029c80: 4c45 202e 2050 4f53 4954 494f 4e29 2e0a LE . POSITION).. │ │ │ +00029c90: 0a49 6620 6061 6764 6132 2d68 6967 686c .If `agda2-highl │ │ │ +00029ca0: 6967 6874 2d69 6e2d 7072 6f67 7265 7373 ight-in-progress │ │ │ +00029cb0: 2720 6973 206e 696c 2c20 7468 656e 206e ' is nil, then n │ │ │ +00029cc0: 6f74 6869 6e67 2068 6170 7065 6e73 2e0a othing happens.. │ │ │ +00029cd0: 4f74 6865 7277 6973 652c 2069 6620 7468 Otherwise, if th │ │ │ +00029ce0: 6520 6375 7272 656e 7420 6275 6666 6572 e current buffer │ │ │ +00029cf0: 2069 7320 7468 6520 6f6e 6520 7468 6174 is the one that │ │ │ +00029d00: 2069 7320 636f 6e6e 6563 7465 6420 746f is connected to │ │ │ +00029d10: 0a74 6865 2041 6764 6120 7072 6f63 6573 .the Agda proces │ │ │ +00029d20: 732c 2074 6865 6e20 706f 696e 7420 6973 s, then point is │ │ │ +00029d30: 206d 6f76 6564 2074 6f20 504f 5349 5449 moved to POSITI │ │ │ +00029d40: 4f4e 2069 6e0a 4649 4c45 2028 6173 7375 ON in.FILE (assu │ │ │ +00029d50: 6d69 6e67 2074 6861 7420 7468 6520 4649 ming that the FI │ │ │ +00029d60: 4c45 2069 7320 7265 6164 6162 6c65 292e LE is readable). │ │ │ +00029d70: 204f 7468 6572 7769 7365 2070 6f69 6e74 Otherwise point │ │ │ +00029d80: 2069 730a 6d6f 7665 6420 746f 2074 6865 is.moved to the │ │ │ +00029d90: 2067 6976 656e 2070 6f73 6974 696f 6e20 given position │ │ │ +00029da0: 696e 2074 6865 2062 7566 6665 7220 7669 in the buffer vi │ │ │ +00029db0: 7369 7469 6e67 2074 6865 2066 696c 652c siting the file, │ │ │ +00029dc0: 2069 660a 616e 792c 2061 6e64 2069 6e20 if.any, and in │ │ │ +00029dd0: 6576 6572 7920 7769 6e64 6f77 2064 6973 every window dis │ │ │ +00029de0: 706c 6179 696e 6720 7468 6520 6275 6666 playing the buff │ │ │ +00029df0: 6572 2c20 6275 7420 7468 6520 7769 6e64 er, but the wind │ │ │ +00029e00: 6f77 0a63 6f6e 6669 6775 7261 7469 6f6e ow.configuration │ │ │ +00029e10: 2061 6e64 2074 6865 2073 656c 6563 7465 and the selecte │ │ │ +00029e20: 6420 7769 6e64 6f77 2061 7265 206e 6f74 d window are not │ │ │ +00029e30: 2063 6861 6e67 6564 2e22 0a20 2028 7768 changed.". (wh │ │ │ +00029e40: 656e 2028 616e 6420 6167 6461 322d 6869 en (and agda2-hi │ │ │ +00029e50: 6768 6c69 6768 742d 696e 2d70 726f 6772 ghlight-in-progr │ │ │ +00029e60: 6573 730a 2020 2020 2020 2020 2020 2020 ess. │ │ │ +00029e70: 2028 636f 6e73 7020 6669 6c65 706f 7329 (consp filepos) │ │ │ +00029e80: 0a20 2020 2020 2020 2020 2020 2020 2873 . (s │ │ │ +00029e90: 7472 696e 6770 2028 6361 7220 6669 6c65 tringp (car file │ │ │ +00029ea0: 706f 7329 290a 2020 2020 2020 2020 2020 pos)). │ │ │ +00029eb0: 2020 2028 696e 7465 6765 7270 2028 6364 (integerp (cd │ │ │ +00029ec0: 7220 6669 6c65 706f 7329 2929 0a20 2020 r filepos))). │ │ │ +00029ed0: 2028 6966 2061 6764 6132 2d69 6e2d 6167 (if agda2-in-ag │ │ │ +00029ee0: 6461 322d 6669 6c65 2d62 7566 6665 720a da2-file-buffer. │ │ │ +00029ef0: 2020 2020 2020 2020 2861 6e6e 6f74 6174 (annotat │ │ │ +00029f00: 696f 6e2d 676f 746f 2d61 6e64 2d70 7573 ion-goto-and-pus │ │ │ +00029f10: 6820 2863 7572 7265 6e74 2d62 7566 6665 h (current-buffe │ │ │ +00029f20: 7229 2028 706f 696e 7429 2066 696c 6570 r) (point) filep │ │ │ +00029f30: 6f73 290a 2020 2020 2020 2873 6176 652d os). (save- │ │ │ +00029f40: 6578 6375 7273 696f 6e0a 2020 2020 2020 excursion. │ │ │ +00029f50: 2020 286c 6574 2028 2862 7566 6665 7220 (let ((buffer │ │ │ +00029f60: 2866 696e 642d 6275 6666 6572 2d76 6973 (find-buffer-vis │ │ │ +00029f70: 6974 696e 6720 2863 6172 2066 696c 6570 iting (car filep │ │ │ +00029f80: 6f73 2929 2929 0a20 2020 2020 2020 2020 os)))). │ │ │ +00029f90: 2028 7768 656e 2062 7566 6665 720a 2020 (when buffer. │ │ │ +00029fa0: 2020 2020 2020 2020 2020 286c 6574 2028 (let ( │ │ │ +00029fb0: 2877 696e 646f 7773 2028 6765 742d 6275 (windows (get-bu │ │ │ +00029fc0: 6666 6572 2d77 696e 646f 772d 6c69 7374 ffer-window-list │ │ │ +00029fd0: 2062 7566 6665 720a 2020 2020 2020 2020 buffer. │ │ │ 00029fe0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 00029ff0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0002a000: 2020 2020 2020 2020 2020 276e 6f2d 6d69 'no-mi │ │ │ -0002a010: 6e69 6275 6666 6572 2074 2929 290a 2020 nibuffer t))). │ │ │ -0002a020: 2020 2020 2020 2020 2020 2020 2869 6620 (if │ │ │ -0002a030: 7769 6e64 6f77 730a 2020 2020 2020 2020 windows. │ │ │ -0002a040: 2020 2020 2020 2020 2020 2864 6f6c 6973 (dolis │ │ │ -0002a050: 7420 2877 696e 646f 7720 7769 6e64 6f77 t (window window │ │ │ -0002a060: 7329 0a20 2020 2020 2020 2020 2020 2020 s). │ │ │ -0002a070: 2020 2020 2020 2028 7769 7468 2d73 656c (with-sel │ │ │ -0002a080: 6563 7465 642d 7769 6e64 6f77 2077 696e ected-window win │ │ │ -0002a090: 646f 770a 2020 2020 2020 2020 2020 2020 dow. │ │ │ -0002a0a0: 2020 2020 2020 2020 2020 2867 6f74 6f2d (goto- │ │ │ -0002a0b0: 6368 6172 2028 6364 7220 6669 6c65 706f char (cdr filepo │ │ │ -0002a0c0: 7329 2929 290a 2020 2020 2020 2020 2020 s)))). │ │ │ -0002a0d0: 2020 2020 2020 2877 6974 682d 6375 7272 (with-curr │ │ │ -0002a0e0: 656e 742d 6275 6666 6572 2062 7566 6665 ent-buffer buffe │ │ │ -0002a0f0: 720a 2020 2020 2020 2020 2020 2020 2020 r. │ │ │ -0002a100: 2020 2020 2867 6f74 6f2d 6368 6172 2028 (goto-char ( │ │ │ -0002a110: 6364 7220 6669 6c65 706f 7329 2929 2929 cdr filepos))))) │ │ │ -0002a120: 2929 2929 2929 0a0a 3b3b 3b3b 3b3b 3b3b ))))))..;;;;;;;; │ │ │ +0002a000: 2020 2020 2020 2020 2020 2027 6e6f 2d6d 'no-m │ │ │ +0002a010: 696e 6962 7566 6665 7220 7429 2929 0a20 inibuffer t))). │ │ │ +0002a020: 2020 2020 2020 2020 2020 2020 2028 6966 (if │ │ │ +0002a030: 2077 696e 646f 7773 0a20 2020 2020 2020 windows. │ │ │ +0002a040: 2020 2020 2020 2020 2020 2028 646f 6c69 (doli │ │ │ +0002a050: 7374 2028 7769 6e64 6f77 2077 696e 646f st (window windo │ │ │ +0002a060: 7773 290a 2020 2020 2020 2020 2020 2020 ws). │ │ │ +0002a070: 2020 2020 2020 2020 2877 6974 682d 7365 (with-se │ │ │ +0002a080: 6c65 6374 6564 2d77 696e 646f 7720 7769 lected-window wi │ │ │ +0002a090: 6e64 6f77 0a20 2020 2020 2020 2020 2020 ndow. │ │ │ +0002a0a0: 2020 2020 2020 2020 2020 2028 676f 746f (goto │ │ │ +0002a0b0: 2d63 6861 7220 2863 6472 2066 696c 6570 -char (cdr filep │ │ │ +0002a0c0: 6f73 2929 2929 0a20 2020 2020 2020 2020 os)))). │ │ │ +0002a0d0: 2020 2020 2020 2028 7769 7468 2d63 7572 (with-cur │ │ │ +0002a0e0: 7265 6e74 2d62 7566 6665 7220 6275 6666 rent-buffer buff │ │ │ +0002a0f0: 6572 0a20 2020 2020 2020 2020 2020 2020 er. │ │ │ +0002a100: 2020 2020 2028 676f 746f 2d63 6861 7220 (goto-char │ │ │ +0002a110: 2863 6472 2066 696c 6570 6f73 2929 2929 (cdr filepos)))) │ │ │ +0002a120: 2929 2929 2929 290a 0a3b 3b3b 3b3b 3b3b )))))))..;;;;;;; │ │ │ 0002a130: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 0002a140: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 0002a150: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 0002a160: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ -0002a170: 0a3b 3b20 496d 706c 6963 6974 2061 7267 .;; Implicit arg │ │ │ -0002a180: 756d 656e 7473 0a0a 2864 6566 756e 2061 uments..(defun a │ │ │ -0002a190: 6764 6132 2d64 6973 706c 6179 2d69 6d70 gda2-display-imp │ │ │ -0002a1a0: 6c69 6369 742d 6172 6775 6d65 6e74 7320 licit-arguments │ │ │ -0002a1b0: 2826 6f70 7469 6f6e 616c 2061 7267 290a (&optional arg). │ │ │ -0002a1c0: 2020 2254 6f67 676c 6520 6469 7370 6c61 "Toggle displa │ │ │ -0002a1d0: 7920 6f66 2069 6d70 6c69 6369 7420 6172 y of implicit ar │ │ │ -0002a1e0: 6775 6d65 6e74 732e 0a57 6974 6820 7072 guments..With pr │ │ │ -0002a1f0: 6566 6978 2061 7267 756d 656e 742c 2074 efix argument, t │ │ │ -0002a200: 7572 6e20 6f6e 2064 6973 706c 6179 206f urn on display o │ │ │ -0002a210: 6620 696d 706c 6963 6974 2061 7267 756d f implicit argum │ │ │ -0002a220: 656e 7473 2069 660a 7468 6520 6172 6775 ents if.the argu │ │ │ -0002a230: 6d65 6e74 2069 7320 6120 706f 7369 7469 ment is a positi │ │ │ -0002a240: 7665 206e 756d 6265 722c 206f 7468 6572 ve number, other │ │ │ -0002a250: 7769 7365 2074 7572 6e20 6974 206f 6666 wise turn it off │ │ │ -0002a260: 2e22 0a20 2028 696e 7465 7261 6374 6976 .". (interactiv │ │ │ -0002a270: 6520 2250 2229 0a20 2028 636f 6e64 0a20 e "P"). (cond. │ │ │ -0002a280: 2020 2828 6571 2061 7267 206e 696c 290a ((eq arg nil). │ │ │ -0002a290: 2020 2020 2020 2861 6764 6132 2d67 6f20 (agda2-go │ │ │ -0002a2a0: 6e69 6c20 7420 276e 6f74 2d73 6f2d 6275 nil t 'not-so-bu │ │ │ -0002a2b0: 7379 2074 2022 546f 6767 6c65 496d 706c sy t "ToggleImpl │ │ │ -0002a2c0: 6963 6974 4172 6773 2229 290a 2020 2028 icitArgs")). ( │ │ │ -0002a2d0: 2861 6e64 2028 6e75 6d62 6572 7020 6172 (and (numberp ar │ │ │ -0002a2e0: 6729 2028 3e20 6172 6720 3029 290a 2020 g) (> arg 0)). │ │ │ -0002a2f0: 2020 2020 2861 6764 6132 2d67 6f20 6e69 (agda2-go ni │ │ │ -0002a300: 6c20 7420 276e 6f74 2d73 6f2d 6275 7379 l t 'not-so-busy │ │ │ -0002a310: 2074 2022 5368 6f77 496d 706c 6963 6974 t "ShowImplicit │ │ │ -0002a320: 4172 6773 2220 2254 7275 6522 2929 0a20 Args" "True")). │ │ │ -0002a330: 2020 2874 2028 6167 6461 322d 676f 206e (t (agda2-go n │ │ │ -0002a340: 696c 2074 2027 6e6f 742d 736f 2d62 7573 il t 'not-so-bus │ │ │ -0002a350: 7920 7420 2253 686f 7749 6d70 6c69 6369 y t "ShowImplici │ │ │ -0002a360: 7441 7267 7322 2022 4661 6c73 6522 2929 tArgs" "False")) │ │ │ -0002a370: 2929 0a0a 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ))..;;;;;;;;;;;; │ │ │ +0002a170: 3b0a 3b3b 2049 6d70 6c69 6369 7420 6172 ;.;; Implicit ar │ │ │ +0002a180: 6775 6d65 6e74 730a 0a28 6465 6675 6e20 guments..(defun │ │ │ +0002a190: 6167 6461 322d 6469 7370 6c61 792d 696d agda2-display-im │ │ │ +0002a1a0: 706c 6963 6974 2d61 7267 756d 656e 7473 plicit-arguments │ │ │ +0002a1b0: 2028 266f 7074 696f 6e61 6c20 6172 6729 (&optional arg) │ │ │ +0002a1c0: 0a20 2022 546f 6767 6c65 2064 6973 706c . "Toggle displ │ │ │ +0002a1d0: 6179 206f 6620 696d 706c 6963 6974 2061 ay of implicit a │ │ │ +0002a1e0: 7267 756d 656e 7473 2e0a 5769 7468 2070 rguments..With p │ │ │ +0002a1f0: 7265 6669 7820 6172 6775 6d65 6e74 2c20 refix argument, │ │ │ +0002a200: 7475 726e 206f 6e20 6469 7370 6c61 7920 turn on display │ │ │ +0002a210: 6f66 2069 6d70 6c69 6369 7420 6172 6775 of implicit argu │ │ │ +0002a220: 6d65 6e74 7320 6966 0a74 6865 2061 7267 ments if.the arg │ │ │ +0002a230: 756d 656e 7420 6973 2061 2070 6f73 6974 ument is a posit │ │ │ +0002a240: 6976 6520 6e75 6d62 6572 2c20 6f74 6865 ive number, othe │ │ │ +0002a250: 7277 6973 6520 7475 726e 2069 7420 6f66 rwise turn it of │ │ │ +0002a260: 662e 220a 2020 2869 6e74 6572 6163 7469 f.". (interacti │ │ │ +0002a270: 7665 2022 5022 290a 2020 2863 6f6e 640a ve "P"). (cond. │ │ │ +0002a280: 2020 2028 2865 7120 6172 6720 6e69 6c29 ((eq arg nil) │ │ │ +0002a290: 0a20 2020 2020 2028 6167 6461 322d 676f . (agda2-go │ │ │ +0002a2a0: 206e 696c 2074 2027 6e6f 742d 736f 2d62 nil t 'not-so-b │ │ │ +0002a2b0: 7573 7920 7420 2254 6f67 676c 6549 6d70 usy t "ToggleImp │ │ │ +0002a2c0: 6c69 6369 7441 7267 7322 2929 0a20 2020 licitArgs")). │ │ │ +0002a2d0: 2828 616e 6420 286e 756d 6265 7270 2061 ((and (numberp a │ │ │ +0002a2e0: 7267 2920 283e 2061 7267 2030 2929 0a20 rg) (> arg 0)). │ │ │ +0002a2f0: 2020 2020 2028 6167 6461 322d 676f 206e (agda2-go n │ │ │ +0002a300: 696c 2074 2027 6e6f 742d 736f 2d62 7573 il t 'not-so-bus │ │ │ +0002a310: 7920 7420 2253 686f 7749 6d70 6c69 6369 y t "ShowImplici │ │ │ +0002a320: 7441 7267 7322 2022 5472 7565 2229 290a tArgs" "True")). │ │ │ +0002a330: 2020 2028 7420 2861 6764 6132 2d67 6f20 (t (agda2-go │ │ │ +0002a340: 6e69 6c20 7420 276e 6f74 2d73 6f2d 6275 nil t 'not-so-bu │ │ │ +0002a350: 7379 2074 2022 5368 6f77 496d 706c 6963 sy t "ShowImplic │ │ │ +0002a360: 6974 4172 6773 2220 2246 616c 7365 2229 itArgs" "False") │ │ │ +0002a370: 2929 290a 0a3b 3b3b 3b3b 3b3b 3b3b 3b3b )))..;;;;;;;;;;; │ │ │ 0002a380: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 0002a390: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 0002a3a0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ -0002a3b0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 0a3b 3b20 ;;;;;;;;;;;;.;; │ │ │ -0002a3c0: 4972 7265 6c65 7661 6e74 2061 7267 756d Irrelevant argum │ │ │ -0002a3d0: 656e 7473 0a0a 2864 6566 756e 2061 6764 ents..(defun agd │ │ │ -0002a3e0: 6132 2d64 6973 706c 6179 2d69 7272 656c a2-display-irrel │ │ │ -0002a3f0: 6576 616e 742d 6172 6775 6d65 6e74 7320 evant-arguments │ │ │ -0002a400: 2826 6f70 7469 6f6e 616c 2061 7267 290a (&optional arg). │ │ │ -0002a410: 2020 2254 6f67 676c 6520 6469 7370 6c61 "Toggle displa │ │ │ -0002a420: 7920 6f66 2069 7272 656c 6576 616e 7420 y of irrelevant │ │ │ -0002a430: 6172 6775 6d65 6e74 732e 0a57 6974 6820 arguments..With │ │ │ -0002a440: 7072 6566 6978 2061 7267 756d 656e 742c prefix argument, │ │ │ -0002a450: 2074 7572 6e20 6f6e 2064 6973 706c 6179 turn on display │ │ │ -0002a460: 206f 6620 6972 7265 6c65 7661 6e74 2061 of irrelevant a │ │ │ -0002a470: 7267 756d 656e 7473 2069 660a 7468 6520 rguments if.the │ │ │ -0002a480: 6172 6775 6d65 6e74 2069 7320 6120 706f argument is a po │ │ │ -0002a490: 7369 7469 7665 206e 756d 6265 722c 206f sitive number, o │ │ │ -0002a4a0: 7468 6572 7769 7365 2074 7572 6e20 6974 therwise turn it │ │ │ -0002a4b0: 206f 6666 2e22 0a20 2028 696e 7465 7261 off.". (intera │ │ │ -0002a4c0: 6374 6976 6520 2250 2229 0a20 2028 636f ctive "P"). (co │ │ │ -0002a4d0: 6e64 0a20 2020 2828 6571 2061 7267 206e nd. ((eq arg n │ │ │ -0002a4e0: 696c 290a 2020 2020 2020 2861 6764 6132 il). (agda2 │ │ │ -0002a4f0: 2d67 6f20 6e69 6c20 7420 276e 6f74 2d73 -go nil t 'not-s │ │ │ -0002a500: 6f2d 6275 7379 2074 2022 546f 6767 6c65 o-busy t "Toggle │ │ │ -0002a510: 4972 7265 6c65 7661 6e74 4172 6773 2229 IrrelevantArgs") │ │ │ -0002a520: 290a 2020 2028 2861 6e64 2028 6e75 6d62 ). ((and (numb │ │ │ -0002a530: 6572 7020 6172 6729 2028 3e20 6172 6720 erp arg) (> arg │ │ │ -0002a540: 3029 290a 2020 2020 2020 2861 6764 6132 0)). (agda2 │ │ │ -0002a550: 2d67 6f20 6e69 6c20 7420 276e 6f74 2d73 -go nil t 'not-s │ │ │ -0002a560: 6f2d 6275 7379 2074 2022 5368 6f77 4972 o-busy t "ShowIr │ │ │ -0002a570: 7265 6c65 7661 6e74 4172 6773 2220 2254 relevantArgs" "T │ │ │ -0002a580: 7275 6522 2929 0a20 2020 2874 2028 6167 rue")). (t (ag │ │ │ -0002a590: 6461 322d 676f 206e 696c 2074 2027 6e6f da2-go nil t 'no │ │ │ -0002a5a0: 742d 736f 2d62 7573 7920 7420 2253 686f t-so-busy t "Sho │ │ │ -0002a5b0: 7749 7272 656c 6576 616e 7441 7267 7322 wIrrelevantArgs" │ │ │ -0002a5c0: 2022 4661 6c73 6522 2929 2929 0a0a 3b3b "False"))))..;; │ │ │ +0002a3b0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b0a 3b3b ;;;;;;;;;;;;;.;; │ │ │ +0002a3c0: 2049 7272 656c 6576 616e 7420 6172 6775 Irrelevant argu │ │ │ +0002a3d0: 6d65 6e74 730a 0a28 6465 6675 6e20 6167 ments..(defun ag │ │ │ +0002a3e0: 6461 322d 6469 7370 6c61 792d 6972 7265 da2-display-irre │ │ │ +0002a3f0: 6c65 7661 6e74 2d61 7267 756d 656e 7473 levant-arguments │ │ │ +0002a400: 2028 266f 7074 696f 6e61 6c20 6172 6729 (&optional arg) │ │ │ +0002a410: 0a20 2022 546f 6767 6c65 2064 6973 706c . "Toggle displ │ │ │ +0002a420: 6179 206f 6620 6972 7265 6c65 7661 6e74 ay of irrelevant │ │ │ +0002a430: 2061 7267 756d 656e 7473 2e0a 5769 7468 arguments..With │ │ │ +0002a440: 2070 7265 6669 7820 6172 6775 6d65 6e74 prefix argument │ │ │ +0002a450: 2c20 7475 726e 206f 6e20 6469 7370 6c61 , turn on displa │ │ │ +0002a460: 7920 6f66 2069 7272 656c 6576 616e 7420 y of irrelevant │ │ │ +0002a470: 6172 6775 6d65 6e74 7320 6966 0a74 6865 arguments if.the │ │ │ +0002a480: 2061 7267 756d 656e 7420 6973 2061 2070 argument is a p │ │ │ +0002a490: 6f73 6974 6976 6520 6e75 6d62 6572 2c20 ositive number, │ │ │ +0002a4a0: 6f74 6865 7277 6973 6520 7475 726e 2069 otherwise turn i │ │ │ +0002a4b0: 7420 6f66 662e 220a 2020 2869 6e74 6572 t off.". (inter │ │ │ +0002a4c0: 6163 7469 7665 2022 5022 290a 2020 2863 active "P"). (c │ │ │ +0002a4d0: 6f6e 640a 2020 2028 2865 7120 6172 6720 ond. ((eq arg │ │ │ +0002a4e0: 6e69 6c29 0a20 2020 2020 2028 6167 6461 nil). (agda │ │ │ +0002a4f0: 322d 676f 206e 696c 2074 2027 6e6f 742d 2-go nil t 'not- │ │ │ +0002a500: 736f 2d62 7573 7920 7420 2254 6f67 676c so-busy t "Toggl │ │ │ +0002a510: 6549 7272 656c 6576 616e 7441 7267 7322 eIrrelevantArgs" │ │ │ +0002a520: 2929 0a20 2020 2828 616e 6420 286e 756d )). ((and (num │ │ │ +0002a530: 6265 7270 2061 7267 2920 283e 2061 7267 berp arg) (> arg │ │ │ +0002a540: 2030 2929 0a20 2020 2020 2028 6167 6461 0)). (agda │ │ │ +0002a550: 322d 676f 206e 696c 2074 2027 6e6f 742d 2-go nil t 'not- │ │ │ +0002a560: 736f 2d62 7573 7920 7420 2253 686f 7749 so-busy t "ShowI │ │ │ +0002a570: 7272 656c 6576 616e 7441 7267 7322 2022 rrelevantArgs" " │ │ │ +0002a580: 5472 7565 2229 290a 2020 2028 7420 2861 True")). (t (a │ │ │ +0002a590: 6764 6132 2d67 6f20 6e69 6c20 7420 276e gda2-go nil t 'n │ │ │ +0002a5a0: 6f74 2d73 6f2d 6275 7379 2074 2022 5368 ot-so-busy t "Sh │ │ │ +0002a5b0: 6f77 4972 7265 6c65 7661 6e74 4172 6773 owIrrelevantArgs │ │ │ +0002a5c0: 2220 2246 616c 7365 2229 2929 290a 0a3b " "False"))))..; │ │ │ 0002a5d0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 0002a5e0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 0002a5f0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 0002a600: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ -0002a610: 3b3b 3b3b 3b3b 0a3b 3b3b 3b0a 0a28 6465 ;;;;;;.;;;;..(de │ │ │ -0002a620: 6675 6e20 6167 6461 322d 706f 7075 702d fun agda2-popup- │ │ │ -0002a630: 6d65 6e75 2d33 2028 6576 290a 2020 2249 menu-3 (ev). "I │ │ │ -0002a640: 6620 696e 2061 2067 6f61 6c2c 2070 6f70 f in a goal, pop │ │ │ -0002a650: 7570 2074 6865 2067 6f61 6c20 6d65 6e75 up the goal menu │ │ │ -0002a660: 2061 6e64 2063 616c 6c20 6368 6f73 656e and call chosen │ │ │ -0002a670: 2063 6f6d 6d61 6e64 2e22 0a20 2028 696e command.". (in │ │ │ -0002a680: 7465 7261 6374 6976 6520 2265 2229 0a20 teractive "e"). │ │ │ -0002a690: 2028 6c65 7420 2863 686f 6963 6529 0a20 (let (choice). │ │ │ -0002a6a0: 2020 2028 7361 7665 2d65 7863 7572 7369 (save-excursi │ │ │ -0002a6b0: 6f6e 0a20 2020 2020 2028 616e 6420 2861 on. (and (a │ │ │ -0002a6c0: 6764 6132 2d67 6f61 6c2d 6174 2028 676f gda2-goal-at (go │ │ │ -0002a6d0: 746f 2d63 6861 7220 2870 6f73 6e2d 706f to-char (posn-po │ │ │ -0002a6e0: 696e 7420 2865 7665 6e74 2d65 6e64 2065 int (event-end e │ │ │ -0002a6f0: 7629 2929 290a 2020 2020 2020 2020 2020 v)))). │ │ │ -0002a700: 2028 7365 7471 2063 686f 6963 6520 2878 (setq choice (x │ │ │ -0002a710: 2d70 6f70 7570 2d6d 656e 7520 6576 2061 -popup-menu ev a │ │ │ -0002a720: 6764 6132 2d67 6f61 6c2d 6d61 7029 290a gda2-goal-map)). │ │ │ -0002a730: 2020 2020 2020 2020 2020 2028 6361 6c6c (call │ │ │ -0002a740: 2d69 6e74 6572 6163 7469 7665 6c79 0a20 -interactively. │ │ │ -0002a750: 2020 2020 2020 2020 2020 2028 6c6f 6f6b (look │ │ │ -0002a760: 7570 2d6b 6579 2061 6764 6132 2d67 6f61 up-key agda2-goa │ │ │ -0002a770: 6c2d 6d61 7020 2861 7070 6c79 2027 7665 l-map (apply 've │ │ │ -0002a780: 6374 6f72 2063 686f 6963 6529 2929 2929 ctor choice))))) │ │ │ -0002a790: 2929 0a0a 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ))..;;;;;;;;;;;; │ │ │ +0002a610: 3b3b 3b3b 3b3b 3b0a 3b3b 3b3b 0a0a 2864 ;;;;;;;.;;;;..(d │ │ │ +0002a620: 6566 756e 2061 6764 6132 2d70 6f70 7570 efun agda2-popup │ │ │ +0002a630: 2d6d 656e 752d 3320 2865 7629 0a20 2022 -menu-3 (ev). " │ │ │ +0002a640: 4966 2069 6e20 6120 676f 616c 2c20 706f If in a goal, po │ │ │ +0002a650: 7075 7020 7468 6520 676f 616c 206d 656e pup the goal men │ │ │ +0002a660: 7520 616e 6420 6361 6c6c 2063 686f 7365 u and call chose │ │ │ +0002a670: 6e20 636f 6d6d 616e 642e 220a 2020 2869 n command.". (i │ │ │ +0002a680: 6e74 6572 6163 7469 7665 2022 6522 290a nteractive "e"). │ │ │ +0002a690: 2020 286c 6574 2028 6368 6f69 6365 290a (let (choice). │ │ │ +0002a6a0: 2020 2020 2873 6176 652d 6578 6375 7273 (save-excurs │ │ │ +0002a6b0: 696f 6e0a 2020 2020 2020 2861 6e64 2028 ion. (and ( │ │ │ +0002a6c0: 6167 6461 322d 676f 616c 2d61 7420 2867 agda2-goal-at (g │ │ │ +0002a6d0: 6f74 6f2d 6368 6172 2028 706f 736e 2d70 oto-char (posn-p │ │ │ +0002a6e0: 6f69 6e74 2028 6576 656e 742d 656e 6420 oint (event-end │ │ │ +0002a6f0: 6576 2929 2929 0a20 2020 2020 2020 2020 ev)))). │ │ │ +0002a700: 2020 2873 6574 7120 6368 6f69 6365 2028 (setq choice ( │ │ │ +0002a710: 782d 706f 7075 702d 6d65 6e75 2065 7620 x-popup-menu ev │ │ │ +0002a720: 6167 6461 322d 676f 616c 2d6d 6170 2929 agda2-goal-map)) │ │ │ +0002a730: 0a20 2020 2020 2020 2020 2020 2863 616c . (cal │ │ │ +0002a740: 6c2d 696e 7465 7261 6374 6976 656c 790a l-interactively. │ │ │ +0002a750: 2020 2020 2020 2020 2020 2020 286c 6f6f (loo │ │ │ +0002a760: 6b75 702d 6b65 7920 6167 6461 322d 676f kup-key agda2-go │ │ │ +0002a770: 616c 2d6d 6170 2028 6170 706c 7920 2776 al-map (apply 'v │ │ │ +0002a780: 6563 746f 7220 6368 6f69 6365 2929 2929 ector choice)))) │ │ │ +0002a790: 2929 290a 0a3b 3b3b 3b3b 3b3b 3b3b 3b3b )))..;;;;;;;;;;; │ │ │ 0002a7a0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 0002a7b0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 0002a7c0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ -0002a7d0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 0a3b 3b20 ;;;;;;;;;;;;.;; │ │ │ -0002a7e0: 5377 6974 6368 696e 6720 746f 2061 2064 Switching to a d │ │ │ -0002a7f0: 6966 6665 7265 6e74 2076 6572 7369 6f6e ifferent version │ │ │ -0002a800: 206f 6620 4167 6461 0a0a 2864 6566 756e of Agda..(defun │ │ │ -0002a810: 2061 6764 6132 2d67 6574 2d61 6764 612d agda2-get-agda- │ │ │ -0002a820: 7072 6f67 7261 6d2d 7665 7273 696f 6e73 program-versions │ │ │ -0002a830: 2028 290a 2020 2247 6574 2073 7566 6669 (). "Get suffi │ │ │ -0002a840: 7865 7320 285c 2276 6572 7369 6f6e 2073 xes (\"version s │ │ │ -0002a850: 7472 696e 6773 5c22 2920 6f66 2065 7865 trings\") of exe │ │ │ -0002a860: 6375 7461 626c 6573 2073 7461 7274 696e cutables startin │ │ │ -0002a870: 6720 7769 7468 0a5c 5c3d 2761 6764 612d g with.\\='agda- │ │ │ -0002a880: 5c5c 3d27 2069 6e20 6578 6563 2d70 6174 \\=' in exec-pat │ │ │ -0002a890: 682e 220a 2020 2869 6e74 6572 6163 7469 h.". (interacti │ │ │ -0002a8a0: 7665 2920 3b3b 2066 6f72 2064 6562 7567 ve) ;; for debug │ │ │ -0002a8b0: 6769 6e67 2070 7572 706f 7365 730a 2020 ging purposes. │ │ │ -0002a8c0: 2864 656c 6574 652d 6475 7073 0a20 2020 (delete-dups. │ │ │ -0002a8d0: 286d 6170 6361 7220 286c 616d 6264 6120 (mapcar (lambda │ │ │ -0002a8e0: 2870 6174 6829 0a20 2020 2020 2020 2020 (path). │ │ │ -0002a8f0: 2020 2020 3b3b 2073 7472 6970 2027 6167 ;; strip 'ag │ │ │ -0002a900: 6461 2d27 2070 7265 6669 780a 2020 2020 da-' prefix. │ │ │ -0002a910: 2020 2020 2020 2020 2028 7265 706c 6163 (replac │ │ │ -0002a920: 652d 7265 6765 7870 2d69 6e2d 7374 7269 e-regexp-in-stri │ │ │ -0002a930: 6e67 2022 5e61 6764 612d 3f22 2022 220a ng "^agda-?" "". │ │ │ -0002a940: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +0002a7d0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b0a 3b3b ;;;;;;;;;;;;;.;; │ │ │ +0002a7e0: 2053 7769 7463 6869 6e67 2074 6f20 6120 Switching to a │ │ │ +0002a7f0: 6469 6666 6572 656e 7420 7665 7273 696f different versio │ │ │ +0002a800: 6e20 6f66 2041 6764 610a 0a28 6465 6675 n of Agda..(defu │ │ │ +0002a810: 6e20 6167 6461 322d 6765 742d 6167 6461 n agda2-get-agda │ │ │ +0002a820: 2d70 726f 6772 616d 2d76 6572 7369 6f6e -program-version │ │ │ +0002a830: 7320 2829 0a20 2022 4765 7420 7375 6666 s (). "Get suff │ │ │ +0002a840: 6978 6573 2028 5c22 7665 7273 696f 6e20 ixes (\"version │ │ │ +0002a850: 7374 7269 6e67 735c 2229 206f 6620 6578 strings\") of ex │ │ │ +0002a860: 6563 7574 6162 6c65 7320 7374 6172 7469 ecutables starti │ │ │ +0002a870: 6e67 2077 6974 680a 5c5c 3d27 6167 6461 ng with.\\='agda │ │ │ +0002a880: 2d5c 5c3d 2720 696e 2065 7865 632d 7061 -\\=' in exec-pa │ │ │ +0002a890: 7468 2e22 0a20 2028 696e 7465 7261 6374 th.". (interact │ │ │ +0002a8a0: 6976 6529 203b 3b20 666f 7220 6465 6275 ive) ;; for debu │ │ │ +0002a8b0: 6767 696e 6720 7075 7270 6f73 6573 0a20 gging purposes. │ │ │ +0002a8c0: 2028 6465 6c65 7465 2d64 7570 730a 2020 (delete-dups. │ │ │ +0002a8d0: 2028 6d61 7063 6172 2028 6c61 6d62 6461 (mapcar (lambda │ │ │ +0002a8e0: 2028 7061 7468 290a 2020 2020 2020 2020 (path). │ │ │ +0002a8f0: 2020 2020 203b 3b20 7374 7269 7020 2761 ;; strip 'a │ │ │ +0002a900: 6764 612d 2720 7072 6566 6978 0a20 2020 gda-' prefix. │ │ │ +0002a910: 2020 2020 2020 2020 2020 2872 6570 6c61 (repla │ │ │ +0002a920: 6365 2d72 6567 6578 702d 696e 2d73 7472 ce-regexp-in-str │ │ │ +0002a930: 696e 6720 225e 6167 6461 2d3f 2220 2222 ing "^agda-?" "" │ │ │ +0002a940: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ 0002a950: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0002a960: 2020 2020 2020 2028 6669 6c65 2d6e 616d (file-nam │ │ │ -0002a970: 652d 6e6f 6e64 6972 6563 746f 7279 2070 e-nondirectory p │ │ │ -0002a980: 6174 6829 2929 0a20 2020 2020 2020 2020 ath))). │ │ │ -0002a990: 2020 2863 6c2d 7265 6d6f 7665 2d69 662d (cl-remove-if- │ │ │ -0002a9a0: 6e6f 7420 2766 696c 652d 6578 6563 7574 not 'file-execut │ │ │ -0002a9b0: 6162 6c65 2d70 0a20 2020 2020 2020 2020 able-p. │ │ │ -0002a9c0: 2020 2020 3b3b 2063 6f6e 6361 7465 6e61 ;; concatena │ │ │ -0002a9d0: 7465 2072 6573 756c 740a 2020 2020 2020 te result. │ │ │ -0002a9e0: 2020 2020 2020 2028 636c 2d72 6564 7563 (cl-reduc │ │ │ -0002a9f0: 6520 2761 7070 656e 640a 2020 2020 2020 e 'append. │ │ │ -0002aa00: 2020 2020 2020 2020 2020 2020 2020 203b ; │ │ │ -0002aa10: 3b20 666f 7220 6561 6368 2064 6972 6563 ; for each direc │ │ │ -0002aa20: 746f 7279 2069 6e20 6578 6563 2d70 6174 tory in exec-pat │ │ │ -0002aa30: 682c 2067 6574 206c 6973 7420 6f66 0a20 h, get list of. │ │ │ +0002a960: 2020 2020 2020 2020 2866 696c 652d 6e61 (file-na │ │ │ +0002a970: 6d65 2d6e 6f6e 6469 7265 6374 6f72 7920 me-nondirectory │ │ │ +0002a980: 7061 7468 2929 290a 2020 2020 2020 2020 path))). │ │ │ +0002a990: 2020 2028 636c 2d72 656d 6f76 652d 6966 (cl-remove-if │ │ │ +0002a9a0: 2d6e 6f74 2027 6669 6c65 2d65 7865 6375 -not 'file-execu │ │ │ +0002a9b0: 7461 626c 652d 700a 2020 2020 2020 2020 table-p. │ │ │ +0002a9c0: 2020 2020 203b 3b20 636f 6e63 6174 656e ;; concaten │ │ │ +0002a9d0: 6174 6520 7265 7375 6c74 0a20 2020 2020 ate result. │ │ │ +0002a9e0: 2020 2020 2020 2020 2863 6c2d 7265 6475 (cl-redu │ │ │ +0002a9f0: 6365 2027 6170 7065 6e64 0a20 2020 2020 ce 'append. │ │ │ +0002aa00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +0002aa10: 3b3b 2066 6f72 2065 6163 6820 6469 7265 ;; for each dire │ │ │ +0002aa20: 6374 6f72 7920 696e 2065 7865 632d 7061 ctory in exec-pa │ │ │ +0002aa30: 7468 2c20 6765 7420 6c69 7374 206f 660a th, get list of. │ │ │ 0002aa40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0002aa50: 2020 2020 3b3b 2066 696c 6573 2077 686f ;; files who │ │ │ -0002aa60: 7365 206e 616d 6520 7374 6172 7473 2077 se name starts w │ │ │ -0002aa70: 6974 6820 2761 6764 612d 270a 2020 2020 ith 'agda-'. │ │ │ +0002aa50: 2020 2020 203b 3b20 6669 6c65 7320 7768 ;; files wh │ │ │ +0002aa60: 6f73 6520 6e61 6d65 2073 7461 7274 7320 ose name starts │ │ │ +0002aa70: 7769 7468 2027 6167 6461 2d27 0a20 2020 with 'agda-'. │ │ │ 0002aa80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0002aa90: 2028 6d61 7063 6172 2028 6c61 6d62 6461 (mapcar (lambda │ │ │ -0002aaa0: 2028 7061 7468 290a 2020 2020 2020 2020 (path). │ │ │ +0002aa90: 2020 286d 6170 6361 7220 286c 616d 6264 (mapcar (lambd │ │ │ +0002aaa0: 6120 2870 6174 6829 0a20 2020 2020 2020 a (path). │ │ │ 0002aab0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0002aac0: 2020 2020 2020 2028 7768 656e 2028 6669 (when (fi │ │ │ -0002aad0: 6c65 2d61 6363 6573 7369 626c 652d 6469 le-accessible-di │ │ │ -0002aae0: 7265 6374 6f72 792d 7020 7061 7468 290a rectory-p path). │ │ │ -0002aaf0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +0002aac0: 2020 2020 2020 2020 2877 6865 6e20 2866 (when (f │ │ │ +0002aad0: 696c 652d 6163 6365 7373 6962 6c65 2d64 ile-accessible-d │ │ │ +0002aae0: 6972 6563 746f 7279 2d70 2070 6174 6829 irectory-p path) │ │ │ +0002aaf0: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ 0002ab00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0002ab10: 2028 6469 7265 6374 6f72 792d 6669 6c65 (directory-file │ │ │ -0002ab20: 7320 7061 7468 2027 7420 225e 6167 6461 s path 't "^agda │ │ │ -0002ab30: 2d22 2929 290a 2020 2020 2020 2020 2020 -"))). │ │ │ +0002ab10: 2020 2864 6972 6563 746f 7279 2d66 696c (directory-fil │ │ │ +0002ab20: 6573 2070 6174 6820 2774 2022 5e61 6764 es path 't "^agd │ │ │ +0002ab30: 612d 2229 2929 0a20 2020 2020 2020 2020 a-"))). │ │ │ 0002ab40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0002ab50: 2020 2065 7865 632d 7061 7468 2929 2929 exec-path)))) │ │ │ -0002ab60: 2929 0a0a 0a28 6465 6675 6e20 6167 6461 ))...(defun agda │ │ │ -0002ab70: 322d 6f6c 642d 7665 7273 696f 6e20 2876 2-old-version (v │ │ │ -0002ab80: 6572 7369 6f6e 290a 2020 2243 6865 636b ersion). "Check │ │ │ -0002ab90: 2069 6620 7468 6520 6769 7665 6e20 7665 if the given ve │ │ │ -0002aba0: 7273 696f 6e20 6973 206c 6573 7320 7468 rsion is less th │ │ │ -0002abb0: 6174 2032 2e38 2e0a 0a41 6764 6120 322e at 2.8...Agda 2. │ │ │ -0002abc0: 3820 6973 2074 6865 2076 6572 7369 6f6e 8 is the version │ │ │ -0002abd0: 2077 6865 7265 2074 6865 2061 6764 612d where the agda- │ │ │ -0002abe0: 6d6f 6465 2065 7865 6375 7461 626c 6520 mode executable │ │ │ -0002abf0: 7761 7320 6465 7072 6563 6174 6564 2e0a was deprecated.. │ │ │ -0002ac00: 0a49 6620 7468 6520 7665 7273 696f 6e20 .If the version │ │ │ -0002ac10: 6361 6e6e 6f74 2062 6520 7061 7273 6564 cannot be parsed │ │ │ -0002ac20: 2c20 7468 6520 616e 7377 6572 2069 7320 , the answer is │ │ │ -0002ac30: 6e6f 2e0a 536f 2065 2e67 2e20 6167 6461 no..So e.g. agda │ │ │ -0002ac40: 2d66 6173 7420 776f 756c 6420 6265 2069 -fast would be i │ │ │ -0002ac50: 6e74 6572 7072 6574 6564 2061 7320 6e6f nterpreted as no │ │ │ -0002ac60: 7420 6f6c 6465 7220 7468 616e 0a61 6764 t older than.agd │ │ │ -0002ac70: 612d 322e 382e 3022 0a20 203b 3b20 4966 a-2.8.0". ;; If │ │ │ -0002ac80: 2074 6865 2067 6976 656e 2073 7472 696e the given strin │ │ │ -0002ac90: 6720 646f 6573 206e 6f74 2068 6176 6520 g does not have │ │ │ -0002aca0: 6120 6e75 6d65 7269 6320 7072 6566 6978 a numeric prefix │ │ │ -0002acb0: 2c20 7765 2061 6e73 7765 7220 6e6f 2e0a , we answer no.. │ │ │ -0002acc0: 2020 2861 6e64 2028 7374 7269 6e67 2d6d (and (string-m │ │ │ -0002acd0: 6174 6368 2022 5e5b 302d 395d 5b30 2d39 atch "^[0-9][0-9 │ │ │ -0002ace0: 2e5d 2a22 2076 6572 7369 6f6e 290a 2020 .]*" version). │ │ │ -0002acf0: 2020 2020 2028 7665 7273 696f 6e3c 2028 (version< ( │ │ │ -0002ad00: 6d61 7463 682d 7374 7269 6e67 2030 2076 match-string 0 v │ │ │ -0002ad10: 6572 7369 6f6e 2920 2232 2e38 2229 2929 ersion) "2.8"))) │ │ │ -0002ad20: 0a0a 3b3b 204e 6f74 6520 7468 6174 206f ..;; Note that o │ │ │ -0002ad30: 7468 6572 2076 6572 7369 6f6e 7320 6f66 ther versions of │ │ │ -0002ad40: 2041 6764 6120 6d61 7920 7573 6520 6469 Agda may use di │ │ │ -0002ad50: 6666 6572 656e 7420 7072 6f74 6f63 6f6c fferent protocol │ │ │ -0002ad60: 732c 2073 6f0a 3b3b 2074 6869 7320 6675 s, so.;; this fu │ │ │ -0002ad70: 6e63 7469 6f6e 2075 6e6c 6f61 6473 2074 nction unloads t │ │ │ -0002ad80: 6865 2045 6d61 6373 206d 6f64 652e 0a0a he Emacs mode... │ │ │ -0002ad90: 2864 6566 756e 2061 6764 6132 2d73 6574 (defun agda2-set │ │ │ -0002ada0: 2d70 726f 6772 616d 2d76 6572 7369 6f6e -program-version │ │ │ -0002adb0: 2028 7665 7273 696f 6e29 0a20 2022 5472 (version). "Tr │ │ │ -0002adc0: 6965 7320 746f 2073 7769 7463 6820 746f ies to switch to │ │ │ -0002add0: 2041 6764 6120 7665 7273 696f 6e20 5645 Agda version VE │ │ │ -0002ade0: 5253 494f 4e2e 0a0a 5468 6973 2063 6f6d RSION...This com │ │ │ -0002adf0: 6d61 6e64 2061 7373 756d 6573 2074 6861 mand assumes tha │ │ │ -0002ae00: 7420 7468 6520 6167 6461 2061 6e64 2061 t the agda and a │ │ │ -0002ae10: 6764 612d 6d6f 6465 2065 7865 6375 7461 gda-mode executa │ │ │ -0002ae20: 626c 6573 2066 6f72 0a41 6764 6120 7665 bles for.Agda ve │ │ │ -0002ae30: 7273 696f 6e20 5645 5253 494f 4e20 6172 rsion VERSION ar │ │ │ -0002ae40: 6520 6361 6c6c 6564 2061 6764 612d 5645 e called agda-VE │ │ │ -0002ae50: 5253 494f 4e20 616e 6420 6167 6461 2d6d RSION and agda-m │ │ │ -0002ae60: 6f64 652d 5645 5253 494f 4e2e 0a49 7420 ode-VERSION..It │ │ │ -0002ae70: 7365 6172 6368 6573 2066 6f72 2074 6865 searches for the │ │ │ -0002ae80: 7365 2065 7865 6375 7461 626c 6573 206f se executables o │ │ │ -0002ae90: 6e20 7468 6520 6578 6563 2d70 6174 680a n the exec-path. │ │ │ -0002aea0: 7768 6963 6820 6973 206f 6674 656e 2069 which is often i │ │ │ -0002aeb0: 6465 6e74 6963 616c 2074 6f20 5041 5448 dentical to PATH │ │ │ -0002aec0: 2062 7574 2063 616e 2062 6520 6469 6666 but can be diff │ │ │ -0002aed0: 6572 656e 740a 6465 7065 6e64 696e 6720 erent.depending │ │ │ -0002aee0: 686f 7720 456d 6163 7320 6973 2063 6f6e how Emacs is con │ │ │ -0002aef0: 6669 6775 7265 6420 616e 6420 696e 766f figured and invo │ │ │ -0002af00: 6b65 642e 0a0a 4f6e 6c79 2069 6620 5645 ked...Only if VE │ │ │ -0002af10: 5253 494f 4e20 6973 206e 756d 6572 6963 RSION is numeric │ │ │ -0002af20: 2061 6e64 206c 6573 7320 7468 616e 205c and less than \ │ │ │ -0002af30: 2232 2e38 5c22 0a74 6865 2061 6764 612d "2.8\".the agda- │ │ │ -0002af40: 6d6f 6465 2065 7865 6375 7461 626c 6520 mode executable │ │ │ -0002af50: 6973 2075 7365 6420 746f 206c 6f63 6174 is used to locat │ │ │ -0002af60: 6520 7468 6520 7265 7370 6563 7469 7665 e the respective │ │ │ -0002af70: 2061 6764 6132 2e65 6c2c 0a6f 7468 6572 agda2.el,.other │ │ │ -0002af80: 7769 7365 205c 2261 6764 6120 2d2d 656d wise \"agda --em │ │ │ -0002af90: 6163 732d 6d6f 6465 206c 6f63 6174 655c acs-mode locate\ │ │ │ -0002afa0: 2220 6973 2069 6e76 6f6b 6564 2e0a 0a49 " is invoked...I │ │ │ -0002afb0: 6620 5645 5253 494f 4e20 6973 2065 6d70 f VERSION is emp │ │ │ -0002afc0: 7479 206f 7220 5c22 6167 6461 5c22 2c20 ty or \"agda\", │ │ │ -0002afd0: 7468 656e 2061 6764 6120 6973 2075 7365 then agda is use │ │ │ -0002afe0: 642e 0a41 2070 7265 6669 7820 5c22 6167 d..A prefix \"ag │ │ │ -0002aff0: 6461 2d5c 2220 6973 2073 7472 6970 7065 da-\" is strippe │ │ │ -0002b000: 6420 6672 6f6d 2056 4552 5349 4f4e 2c0a d from VERSION,. │ │ │ -0002b010: 736f 206f 6e65 2063 616e 2069 6e76 6f6b so one can invok │ │ │ -0002b020: 6520 7468 6973 2066 756e 6374 696f 6e20 e this function │ │ │ -0002b030: 652e 672e 2077 6974 680a 5c22 6167 6461 e.g. with.\"agda │ │ │ -0002b040: 2d32 2e38 2e30 5c22 2069 6e73 7465 6164 -2.8.0\" instead │ │ │ -0002b050: 206f 6620 5c22 322e 382e 305c 222e 0a0a of \"2.8.0\"... │ │ │ -0002b060: 416e 2061 7474 656d 7074 2069 7320 6d61 An attempt is ma │ │ │ -0002b070: 6465 2074 6f20 7072 6573 6572 7665 2074 de to preserve t │ │ │ -0002b080: 6865 2064 6566 6175 6c74 2076 616c 7565 he default value │ │ │ -0002b090: 206f 6620 6061 6764 6132 2d6d 6f64 652d of `agda2-mode- │ │ │ -0002b0a0: 686f 6f6b 272e 220a 2020 2869 6e74 6572 hook'.". (inter │ │ │ -0002b0b0: 6163 7469 7665 0a20 2020 286c 6973 7420 active. (list │ │ │ -0002b0c0: 2863 6f6d 706c 6574 696e 672d 7265 6164 (completing-read │ │ │ -0002b0d0: 2022 5665 7273 696f 6e3a 2022 2028 6167 "Version: " (ag │ │ │ -0002b0e0: 6461 322d 6765 742d 6167 6461 2d70 726f da2-get-agda-pro │ │ │ -0002b0f0: 6772 616d 2d76 6572 7369 6f6e 7329 2929 gram-versions))) │ │ │ -0002b100: 290a 0a20 2028 6c65 742a 0a20 2020 2020 ).. (let*. │ │ │ -0002b110: 2028 2861 6764 612d 6275 6666 6572 730a ((agda-buffers. │ │ │ -0002b120: 2020 2020 2020 2020 2863 6c2d 6d61 7063 (cl-mapc │ │ │ -0002b130: 616e 2028 6c61 6d62 6461 2028 6275 6629 an (lambda (buf) │ │ │ -0002b140: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ -0002b150: 2020 2028 7769 7468 2d63 7572 7265 6e74 (with-current │ │ │ -0002b160: 2d62 7566 6665 7220 6275 660a 2020 2020 -buffer buf. │ │ │ +0002ab50: 2020 2020 6578 6563 2d70 6174 6829 2929 exec-path))) │ │ │ +0002ab60: 2929 290a 0a0a 2864 6566 756e 2061 6764 )))...(defun agd │ │ │ +0002ab70: 6132 2d6f 6c64 2d76 6572 7369 6f6e 2028 a2-old-version ( │ │ │ +0002ab80: 7665 7273 696f 6e29 0a20 2022 4368 6563 version). "Chec │ │ │ +0002ab90: 6b20 6966 2074 6865 2067 6976 656e 2076 k if the given v │ │ │ +0002aba0: 6572 7369 6f6e 2069 7320 6c65 7373 2074 ersion is less t │ │ │ +0002abb0: 6861 7420 322e 382e 0a0a 4167 6461 2032 hat 2.8...Agda 2 │ │ │ +0002abc0: 2e38 2069 7320 7468 6520 7665 7273 696f .8 is the versio │ │ │ +0002abd0: 6e20 7768 6572 6520 7468 6520 6167 6461 n where the agda │ │ │ +0002abe0: 2d6d 6f64 6520 6578 6563 7574 6162 6c65 -mode executable │ │ │ +0002abf0: 2077 6173 2064 6570 7265 6361 7465 642e was deprecated. │ │ │ +0002ac00: 0a0a 4966 2074 6865 2076 6572 7369 6f6e ..If the version │ │ │ +0002ac10: 2063 616e 6e6f 7420 6265 2070 6172 7365 cannot be parse │ │ │ +0002ac20: 642c 2074 6865 2061 6e73 7765 7220 6973 d, the answer is │ │ │ +0002ac30: 206e 6f2e 0a53 6f20 652e 672e 2061 6764 no..So e.g. agd │ │ │ +0002ac40: 612d 6661 7374 2077 6f75 6c64 2062 6520 a-fast would be │ │ │ +0002ac50: 696e 7465 7270 7265 7465 6420 6173 206e interpreted as n │ │ │ +0002ac60: 6f74 206f 6c64 6572 2074 6861 6e0a 6167 ot older than.ag │ │ │ +0002ac70: 6461 2d32 2e38 2e30 220a 2020 3b3b 2049 da-2.8.0". ;; I │ │ │ +0002ac80: 6620 7468 6520 6769 7665 6e20 7374 7269 f the given stri │ │ │ +0002ac90: 6e67 2064 6f65 7320 6e6f 7420 6861 7665 ng does not have │ │ │ +0002aca0: 2061 206e 756d 6572 6963 2070 7265 6669 a numeric prefi │ │ │ +0002acb0: 782c 2077 6520 616e 7377 6572 206e 6f2e x, we answer no. │ │ │ +0002acc0: 0a20 2028 616e 6420 2873 7472 696e 672d . (and (string- │ │ │ +0002acd0: 6d61 7463 6820 225e 5b30 2d39 5d5b 302d match "^[0-9][0- │ │ │ +0002ace0: 392e 5d2a 2220 7665 7273 696f 6e29 0a20 9.]*" version). │ │ │ +0002acf0: 2020 2020 2020 2876 6572 7369 6f6e 3c20 (version< │ │ │ +0002ad00: 286d 6174 6368 2d73 7472 696e 6720 3020 (match-string 0 │ │ │ +0002ad10: 7665 7273 696f 6e29 2022 322e 3822 2929 version) "2.8")) │ │ │ +0002ad20: 290a 0a3b 3b20 4e6f 7465 2074 6861 7420 )..;; Note that │ │ │ +0002ad30: 6f74 6865 7220 7665 7273 696f 6e73 206f other versions o │ │ │ +0002ad40: 6620 4167 6461 206d 6179 2075 7365 2064 f Agda may use d │ │ │ +0002ad50: 6966 6665 7265 6e74 2070 726f 746f 636f ifferent protoco │ │ │ +0002ad60: 6c73 2c20 736f 0a3b 3b20 7468 6973 2066 ls, so.;; this f │ │ │ +0002ad70: 756e 6374 696f 6e20 756e 6c6f 6164 7320 unction unloads │ │ │ +0002ad80: 7468 6520 456d 6163 7320 6d6f 6465 2e0a the Emacs mode.. │ │ │ +0002ad90: 0a28 6465 6675 6e20 6167 6461 322d 7365 .(defun agda2-se │ │ │ +0002ada0: 742d 7072 6f67 7261 6d2d 7665 7273 696f t-program-versio │ │ │ +0002adb0: 6e20 2876 6572 7369 6f6e 290a 2020 2254 n (version). "T │ │ │ +0002adc0: 7269 6573 2074 6f20 7377 6974 6368 2074 ries to switch t │ │ │ +0002add0: 6f20 4167 6461 2076 6572 7369 6f6e 2056 o Agda version V │ │ │ +0002ade0: 4552 5349 4f4e 2e0a 0a54 6869 7320 636f ERSION...This co │ │ │ +0002adf0: 6d6d 616e 6420 6173 7375 6d65 7320 7468 mmand assumes th │ │ │ +0002ae00: 6174 2074 6865 2061 6764 6120 616e 6420 at the agda and │ │ │ +0002ae10: 6167 6461 2d6d 6f64 6520 6578 6563 7574 agda-mode execut │ │ │ +0002ae20: 6162 6c65 7320 666f 720a 4167 6461 2076 ables for.Agda v │ │ │ +0002ae30: 6572 7369 6f6e 2056 4552 5349 4f4e 2061 ersion VERSION a │ │ │ +0002ae40: 7265 2063 616c 6c65 6420 6167 6461 2d56 re called agda-V │ │ │ +0002ae50: 4552 5349 4f4e 2061 6e64 2061 6764 612d ERSION and agda- │ │ │ +0002ae60: 6d6f 6465 2d56 4552 5349 4f4e 2e0a 4974 mode-VERSION..It │ │ │ +0002ae70: 2073 6561 7263 6865 7320 666f 7220 7468 searches for th │ │ │ +0002ae80: 6573 6520 6578 6563 7574 6162 6c65 7320 ese executables │ │ │ +0002ae90: 6f6e 2074 6865 2065 7865 632d 7061 7468 on the exec-path │ │ │ +0002aea0: 0a77 6869 6368 2069 7320 6f66 7465 6e20 .which is often │ │ │ +0002aeb0: 6964 656e 7469 6361 6c20 746f 2050 4154 identical to PAT │ │ │ +0002aec0: 4820 6275 7420 6361 6e20 6265 2064 6966 H but can be dif │ │ │ +0002aed0: 6665 7265 6e74 0a64 6570 656e 6469 6e67 ferent.depending │ │ │ +0002aee0: 2068 6f77 2045 6d61 6373 2069 7320 636f how Emacs is co │ │ │ +0002aef0: 6e66 6967 7572 6564 2061 6e64 2069 6e76 nfigured and inv │ │ │ +0002af00: 6f6b 6564 2e0a 0a4f 6e6c 7920 6966 2056 oked...Only if V │ │ │ +0002af10: 4552 5349 4f4e 2069 7320 6e75 6d65 7269 ERSION is numeri │ │ │ +0002af20: 6320 616e 6420 6c65 7373 2074 6861 6e20 c and less than │ │ │ +0002af30: 5c22 322e 385c 220a 7468 6520 6167 6461 \"2.8\".the agda │ │ │ +0002af40: 2d6d 6f64 6520 6578 6563 7574 6162 6c65 -mode executable │ │ │ +0002af50: 2069 7320 7573 6564 2074 6f20 6c6f 6361 is used to loca │ │ │ +0002af60: 7465 2074 6865 2072 6573 7065 6374 6976 te the respectiv │ │ │ +0002af70: 6520 6167 6461 322e 656c 2c0a 6f74 6865 e agda2.el,.othe │ │ │ +0002af80: 7277 6973 6520 5c22 6167 6461 202d 2d65 rwise \"agda --e │ │ │ +0002af90: 6d61 6373 2d6d 6f64 6520 6c6f 6361 7465 macs-mode locate │ │ │ +0002afa0: 5c22 2069 7320 696e 766f 6b65 642e 0a0a \" is invoked... │ │ │ +0002afb0: 4966 2056 4552 5349 4f4e 2069 7320 656d If VERSION is em │ │ │ +0002afc0: 7074 7920 6f72 205c 2261 6764 615c 222c pty or \"agda\", │ │ │ +0002afd0: 2074 6865 6e20 6167 6461 2069 7320 7573 then agda is us │ │ │ +0002afe0: 6564 2e0a 4120 7072 6566 6978 205c 2261 ed..A prefix \"a │ │ │ +0002aff0: 6764 612d 5c22 2069 7320 7374 7269 7070 gda-\" is stripp │ │ │ +0002b000: 6564 2066 726f 6d20 5645 5253 494f 4e2c ed from VERSION, │ │ │ +0002b010: 0a73 6f20 6f6e 6520 6361 6e20 696e 766f .so one can invo │ │ │ +0002b020: 6b65 2074 6869 7320 6675 6e63 7469 6f6e ke this function │ │ │ +0002b030: 2065 2e67 2e20 7769 7468 0a5c 2261 6764 e.g. with.\"agd │ │ │ +0002b040: 612d 322e 382e 305c 2220 696e 7374 6561 a-2.8.0\" instea │ │ │ +0002b050: 6420 6f66 205c 2232 2e38 2e30 5c22 2e0a d of \"2.8.0\".. │ │ │ +0002b060: 0a41 6e20 6174 7465 6d70 7420 6973 206d .An attempt is m │ │ │ +0002b070: 6164 6520 746f 2070 7265 7365 7276 6520 ade to preserve │ │ │ +0002b080: 7468 6520 6465 6661 756c 7420 7661 6c75 the default valu │ │ │ +0002b090: 6520 6f66 2060 6167 6461 322d 6d6f 6465 e of `agda2-mode │ │ │ +0002b0a0: 2d68 6f6f 6b27 2e22 0a20 2028 696e 7465 -hook'.". (inte │ │ │ +0002b0b0: 7261 6374 6976 650a 2020 2028 6c69 7374 ractive. (list │ │ │ +0002b0c0: 2028 636f 6d70 6c65 7469 6e67 2d72 6561 (completing-rea │ │ │ +0002b0d0: 6420 2256 6572 7369 6f6e 3a20 2220 2861 d "Version: " (a │ │ │ +0002b0e0: 6764 6132 2d67 6574 2d61 6764 612d 7072 gda2-get-agda-pr │ │ │ +0002b0f0: 6f67 7261 6d2d 7665 7273 696f 6e73 2929 ogram-versions)) │ │ │ +0002b100: 2929 0a0a 2020 286c 6574 2a0a 2020 2020 )).. (let*. │ │ │ +0002b110: 2020 2828 6167 6461 2d62 7566 6665 7273 ((agda-buffers │ │ │ +0002b120: 0a20 2020 2020 2020 2028 636c 2d6d 6170 . (cl-map │ │ │ +0002b130: 6361 6e20 286c 616d 6264 6120 2862 7566 can (lambda (buf │ │ │ +0002b140: 290a 2020 2020 2020 2020 2020 2020 2020 ). │ │ │ +0002b150: 2020 2020 2877 6974 682d 6375 7272 656e (with-curren │ │ │ +0002b160: 742d 6275 6666 6572 2062 7566 0a20 2020 t-buffer buf. │ │ │ 0002b170: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0002b180: 2877 6865 6e20 2865 7175 616c 206d 616a (when (equal maj │ │ │ -0002b190: 6f72 2d6d 6f64 6520 2761 6764 6132 2d6d or-mode 'agda2-m │ │ │ -0002b1a0: 6f64 6529 0a20 2020 2020 2020 2020 2020 ode). │ │ │ -0002b1b0: 2020 2020 2020 2020 2020 2028 6c69 7374 (list │ │ │ -0002b1c0: 2062 7566 2929 2929 0a20 2020 2020 2020 buf)))). │ │ │ -0002b1d0: 2020 2020 2020 2020 2028 6275 6666 6572 (buffer │ │ │ -0002b1e0: 2d6c 6973 7429 2929 0a0a 2020 2020 2020 -list))).. │ │ │ -0002b1f0: 2028 6465 6661 756c 742d 686f 6f6b 2028 (default-hook ( │ │ │ -0002b200: 6465 6661 756c 742d 7661 6c75 6520 2761 default-value 'a │ │ │ -0002b210: 6764 6132 2d6d 6f64 652d 686f 6f6b 2929 gda2-mode-hook)) │ │ │ -0002b220: 0a0a 2020 2020 2020 203b 3b20 5361 6e69 .. ;; Sani │ │ │ -0002b230: 7469 7a65 2076 6572 7369 6f6e 2e0a 2020 tize version.. │ │ │ -0002b240: 2020 2020 203b 3b20 2a20 5374 7269 7020 ;; * Strip │ │ │ -0002b250: 2261 6764 612d 2220 7072 6566 6978 2066 "agda-" prefix f │ │ │ -0002b260: 726f 6d20 7665 7273 696f 6e2e 0a20 2020 rom version.. │ │ │ -0002b270: 2020 2020 3b3b 202a 2052 6570 6c61 6365 ;; * Replace │ │ │ -0002b280: 2076 6572 7369 6f6e 2022 6167 6461 2220 version "agda" │ │ │ -0002b290: 6279 206a 7573 7420 2222 2e0a 2020 2020 by just "".. │ │ │ -0002b2a0: 2020 203b 3b0a 2020 2020 2020 203b 3b20 ;;. ;; │ │ │ -0002b2b0: 5261 7469 6f6e 616c 653a 0a20 2020 2020 Rationale:. │ │ │ -0002b2c0: 2020 3b3b 2054 6865 2075 7365 7220 6d69 ;; The user mi │ │ │ -0002b2d0: 6768 7420 6279 2061 6363 6964 656e 7420 ght by accident │ │ │ -0002b2e0: 656e 7465 7220 2261 6764 612d 322e 382e enter "agda-2.8. │ │ │ -0002b2f0: 3022 2069 6e73 7465 6164 206f 6620 2232 0" instead of "2 │ │ │ -0002b300: 2e38 2e30 222c 0a20 2020 2020 2020 3b3b .8.0",. ;; │ │ │ -0002b310: 206f 7220 2261 6764 6122 2069 6e73 7465 or "agda" inste │ │ │ -0002b320: 6164 206f 6620 2222 2e0a 2020 2020 2020 ad of "".. │ │ │ -0002b330: 2028 7665 7273 696f 6e0a 2020 2020 2020 (version. │ │ │ -0002b340: 2020 2863 6f6e 640a 2020 2020 2020 2020 (cond. │ │ │ -0002b350: 203b 3b20 5374 7269 7020 2261 6764 612d ;; Strip "agda- │ │ │ -0002b360: 2220 7072 6566 6978 2066 726f 6d20 7665 " prefix from ve │ │ │ -0002b370: 7273 696f 6e2e 0a20 2020 2020 2020 2020 rsion.. │ │ │ -0002b380: 2828 7374 7269 6e67 2d70 7265 6669 782d ((string-prefix- │ │ │ -0002b390: 7020 2261 6764 612d 2220 7665 7273 696f p "agda-" versio │ │ │ -0002b3a0: 6e29 2028 7375 6273 7472 696e 6720 7665 n) (substring ve │ │ │ -0002b3b0: 7273 696f 6e20 286c 656e 6774 6820 2261 rsion (length "a │ │ │ -0002b3c0: 6764 612d 2229 2929 0a20 2020 2020 2020 gda-"))). │ │ │ -0002b3d0: 2020 3b3b 2052 6570 6c61 6365 2076 6572 ;; Replace ver │ │ │ -0002b3e0: 7369 6f6e 2022 6167 6461 2220 6279 206a sion "agda" by j │ │ │ -0002b3f0: 7573 7420 2222 2e0a 2020 2020 2020 2020 ust "".. │ │ │ -0002b400: 2028 2865 7175 616c 2076 6572 7369 6f6e ((equal version │ │ │ -0002b410: 2022 6167 6461 2229 2022 2229 0a20 2020 "agda") ""). │ │ │ -0002b420: 2020 2020 2020 3b3b 2044 6566 6175 6c74 ;; Default │ │ │ -0002b430: 2e0a 2020 2020 2020 2020 2028 7420 7665 .. (t ve │ │ │ -0002b440: 7273 696f 6e29 2929 0a0a 2020 2020 2020 rsion))).. │ │ │ -0002b450: 2028 7665 7273 696f 6e2d 7375 6666 6978 (version-suffix │ │ │ -0002b460: 2028 6966 2028 6f72 2028 6571 7561 6c20 (if (or (equal │ │ │ -0002b470: 7665 7273 696f 6e20 2222 290a 2020 2020 version ""). │ │ │ +0002b180: 2028 7768 656e 2028 6571 7561 6c20 6d61 (when (equal ma │ │ │ +0002b190: 6a6f 722d 6d6f 6465 2027 6167 6461 322d jor-mode 'agda2- │ │ │ +0002b1a0: 6d6f 6465 290a 2020 2020 2020 2020 2020 mode). │ │ │ +0002b1b0: 2020 2020 2020 2020 2020 2020 286c 6973 (lis │ │ │ +0002b1c0: 7420 6275 6629 2929 290a 2020 2020 2020 t buf)))). │ │ │ +0002b1d0: 2020 2020 2020 2020 2020 2862 7566 6665 (buffe │ │ │ +0002b1e0: 722d 6c69 7374 2929 290a 0a20 2020 2020 r-list))).. │ │ │ +0002b1f0: 2020 2864 6566 6175 6c74 2d68 6f6f 6b20 (default-hook │ │ │ +0002b200: 2864 6566 6175 6c74 2d76 616c 7565 2027 (default-value ' │ │ │ +0002b210: 6167 6461 322d 6d6f 6465 2d68 6f6f 6b29 agda2-mode-hook) │ │ │ +0002b220: 290a 0a20 2020 2020 2020 3b3b 2053 616e ).. ;; San │ │ │ +0002b230: 6974 697a 6520 7665 7273 696f 6e2e 0a20 itize version.. │ │ │ +0002b240: 2020 2020 2020 3b3b 202a 2053 7472 6970 ;; * Strip │ │ │ +0002b250: 2022 6167 6461 2d22 2070 7265 6669 7820 "agda-" prefix │ │ │ +0002b260: 6672 6f6d 2076 6572 7369 6f6e 2e0a 2020 from version.. │ │ │ +0002b270: 2020 2020 203b 3b20 2a20 5265 706c 6163 ;; * Replac │ │ │ +0002b280: 6520 7665 7273 696f 6e20 2261 6764 6122 e version "agda" │ │ │ +0002b290: 2062 7920 6a75 7374 2022 222e 0a20 2020 by just "".. │ │ │ +0002b2a0: 2020 2020 3b3b 0a20 2020 2020 2020 3b3b ;;. ;; │ │ │ +0002b2b0: 2052 6174 696f 6e61 6c65 3a0a 2020 2020 Rationale:. │ │ │ +0002b2c0: 2020 203b 3b20 5468 6520 7573 6572 206d ;; The user m │ │ │ +0002b2d0: 6967 6874 2062 7920 6163 6369 6465 6e74 ight by accident │ │ │ +0002b2e0: 2065 6e74 6572 2022 6167 6461 2d32 2e38 enter "agda-2.8 │ │ │ +0002b2f0: 2e30 2220 696e 7374 6561 6420 6f66 2022 .0" instead of " │ │ │ +0002b300: 322e 382e 3022 2c0a 2020 2020 2020 203b 2.8.0",. ; │ │ │ +0002b310: 3b20 6f72 2022 6167 6461 2220 696e 7374 ; or "agda" inst │ │ │ +0002b320: 6561 6420 6f66 2022 222e 0a20 2020 2020 ead of "".. │ │ │ +0002b330: 2020 2876 6572 7369 6f6e 0a20 2020 2020 (version. │ │ │ +0002b340: 2020 2028 636f 6e64 0a20 2020 2020 2020 (cond. │ │ │ +0002b350: 2020 3b3b 2053 7472 6970 2022 6167 6461 ;; Strip "agda │ │ │ +0002b360: 2d22 2070 7265 6669 7820 6672 6f6d 2076 -" prefix from v │ │ │ +0002b370: 6572 7369 6f6e 2e0a 2020 2020 2020 2020 ersion.. │ │ │ +0002b380: 2028 2873 7472 696e 672d 7072 6566 6978 ((string-prefix │ │ │ +0002b390: 2d70 2022 6167 6461 2d22 2076 6572 7369 -p "agda-" versi │ │ │ +0002b3a0: 6f6e 2920 2873 7562 7374 7269 6e67 2076 on) (substring v │ │ │ +0002b3b0: 6572 7369 6f6e 2028 6c65 6e67 7468 2022 ersion (length " │ │ │ +0002b3c0: 6167 6461 2d22 2929 290a 2020 2020 2020 agda-"))). │ │ │ +0002b3d0: 2020 203b 3b20 5265 706c 6163 6520 7665 ;; Replace ve │ │ │ +0002b3e0: 7273 696f 6e20 2261 6764 6122 2062 7920 rsion "agda" by │ │ │ +0002b3f0: 6a75 7374 2022 222e 0a20 2020 2020 2020 just "".. │ │ │ +0002b400: 2020 2828 6571 7561 6c20 7665 7273 696f ((equal versio │ │ │ +0002b410: 6e20 2261 6764 6122 2920 2222 290a 2020 n "agda") ""). │ │ │ +0002b420: 2020 2020 2020 203b 3b20 4465 6661 756c ;; Defaul │ │ │ +0002b430: 742e 0a20 2020 2020 2020 2020 2874 2076 t.. (t v │ │ │ +0002b440: 6572 7369 6f6e 2929 290a 0a20 2020 2020 ersion))).. │ │ │ +0002b450: 2020 2876 6572 7369 6f6e 2d73 7566 6669 (version-suffi │ │ │ +0002b460: 7820 2869 6620 286f 7220 2865 7175 616c x (if (or (equal │ │ │ +0002b470: 2076 6572 7369 6f6e 2022 2229 0a20 2020 version ""). │ │ │ 0002b480: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0002b490: 2020 2020 2020 2020 2020 2028 6571 7561 (equa │ │ │ -0002b4a0: 6c20 7665 7273 696f 6e20 6e69 6c29 290a l version nil)). │ │ │ -0002b4b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0002b4c0: 2020 2020 2020 2020 2020 2022 220a 2020 "". │ │ │ +0002b490: 2020 2020 2020 2020 2020 2020 2865 7175 (equ │ │ │ +0002b4a0: 616c 2076 6572 7369 6f6e 206e 696c 2929 al version nil)) │ │ │ +0002b4b0: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ +0002b4c0: 2020 2020 2020 2020 2020 2020 2222 0a20 "". │ │ │ 0002b4d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0002b4e0: 2020 2020 2020 2028 636f 6e63 6174 2022 (concat " │ │ │ -0002b4f0: 2d22 2076 6572 7369 6f6e 2929 290a 0a20 -" version))).. │ │ │ -0002b500: 2020 2020 2020 3b3b 2052 756e 2061 6764 ;; Run agd │ │ │ -0002b510: 612d 6d6f 6465 3c76 6572 7369 6f6e 2d73 a-mode and make │ │ │ -0002b530: 7375 7265 2074 6861 7420 6974 2072 6574 sure that it ret │ │ │ -0002b540: 7572 6e73 0a20 2020 2020 2020 3b3b 2073 urns. ;; s │ │ │ -0002b550: 7563 6365 7373 6675 6c6c 792e 0a20 2020 uccessfully.. │ │ │ -0002b560: 2020 2020 2863 6f64 696e 672d 7379 7374 (coding-syst │ │ │ -0002b570: 656d 2d66 6f72 2d72 6561 6420 2775 7466 em-for-read 'utf │ │ │ -0002b580: 2d38 290a 2020 2020 2020 2028 6f6c 642d -8). (old- │ │ │ -0002b590: 6167 6461 2028 6167 6461 322d 6f6c 642d agda (agda2-old- │ │ │ -0002b5a0: 7665 7273 696f 6e20 7665 7273 696f 6e29 version version) │ │ │ -0002b5b0: 290a 2020 2020 2020 2028 6167 6461 2d6d ). (agda-m │ │ │ -0002b5c0: 6f64 652d 7072 6f67 2028 636f 6e63 6174 ode-prog (concat │ │ │ -0002b5d0: 2028 6966 206f 6c64 2d61 6764 6120 2261 (if old-agda "a │ │ │ -0002b5e0: 6764 612d 6d6f 6465 2220 2261 6764 6122 gda-mode" "agda" │ │ │ -0002b5f0: 2920 7665 7273 696f 6e2d 7375 6666 6978 ) version-suffix │ │ │ -0002b600: 2929 0a20 2020 2020 2020 2861 6764 612d )). (agda- │ │ │ -0002b610: 6d6f 6465 2d70 6174 680a 2020 2020 2020 mode-path. │ │ │ -0002b620: 2020 2863 6f6e 6469 7469 6f6e 2d63 6173 (condition-cas │ │ │ -0002b630: 6520 6e69 6c0a 2020 2020 2020 2020 2020 e nil. │ │ │ -0002b640: 2020 2877 6974 682d 7465 6d70 2d62 7566 (with-temp-buf │ │ │ -0002b650: 6665 720a 2020 2020 2020 2020 2020 2020 fer. │ │ │ -0002b660: 2020 2875 6e6c 6573 730a 2020 2020 2020 (unless. │ │ │ -0002b670: 2020 2020 2020 2020 2020 2020 2865 7175 (equ │ │ │ -0002b680: 616c 2030 0a20 2020 2020 2020 2020 2020 al 0. │ │ │ -0002b690: 2020 2020 2020 2020 2028 6966 206f 6c64 (if old │ │ │ -0002b6a0: 2d61 6764 610a 2020 2020 2020 2020 2020 -agda. │ │ │ -0002b6b0: 2020 2020 2020 2020 2020 2020 2020 2863 (c │ │ │ -0002b6c0: 616c 6c2d 7072 6f63 6573 7320 6167 6461 all-process agda │ │ │ -0002b6d0: 2d6d 6f64 652d 7072 6f67 206e 696c 2028 -mode-prog nil ( │ │ │ -0002b6e0: 6375 7272 656e 742d 6275 6666 6572 2920 current-buffer) │ │ │ -0002b6f0: 6e69 6c20 226c 6f63 6174 6522 290a 2020 nil "locate"). │ │ │ +0002b4e0: 2020 2020 2020 2020 2863 6f6e 6361 7420 (concat │ │ │ +0002b4f0: 222d 2220 7665 7273 696f 6e29 2929 0a0a "-" version))).. │ │ │ +0002b500: 2020 2020 2020 203b 3b20 5275 6e20 6167 ;; Run ag │ │ │ +0002b510: 6461 2d6d 6f64 653c 7665 7273 696f 6e2d da-mode and make │ │ │ +0002b530: 2073 7572 6520 7468 6174 2069 7420 7265 sure that it re │ │ │ +0002b540: 7475 726e 730a 2020 2020 2020 203b 3b20 turns. ;; │ │ │ +0002b550: 7375 6363 6573 7366 756c 6c79 2e0a 2020 successfully.. │ │ │ +0002b560: 2020 2020 2028 636f 6469 6e67 2d73 7973 (coding-sys │ │ │ +0002b570: 7465 6d2d 666f 722d 7265 6164 2027 7574 tem-for-read 'ut │ │ │ +0002b580: 662d 3829 0a20 2020 2020 2020 286f 6c64 f-8). (old │ │ │ +0002b590: 2d61 6764 6120 2861 6764 6132 2d6f 6c64 -agda (agda2-old │ │ │ +0002b5a0: 2d76 6572 7369 6f6e 2076 6572 7369 6f6e -version version │ │ │ +0002b5b0: 2929 0a20 2020 2020 2020 2861 6764 612d )). (agda- │ │ │ +0002b5c0: 6d6f 6465 2d70 726f 6720 2863 6f6e 6361 mode-prog (conca │ │ │ +0002b5d0: 7420 2869 6620 6f6c 642d 6167 6461 2022 t (if old-agda " │ │ │ +0002b5e0: 6167 6461 2d6d 6f64 6522 2022 6167 6461 agda-mode" "agda │ │ │ +0002b5f0: 2229 2076 6572 7369 6f6e 2d73 7566 6669 ") version-suffi │ │ │ +0002b600: 7829 290a 2020 2020 2020 2028 6167 6461 x)). (agda │ │ │ +0002b610: 2d6d 6f64 652d 7061 7468 0a20 2020 2020 -mode-path. │ │ │ +0002b620: 2020 2028 636f 6e64 6974 696f 6e2d 6361 (condition-ca │ │ │ +0002b630: 7365 206e 696c 0a20 2020 2020 2020 2020 se nil. │ │ │ +0002b640: 2020 2028 7769 7468 2d74 656d 702d 6275 (with-temp-bu │ │ │ +0002b650: 6666 6572 0a20 2020 2020 2020 2020 2020 ffer. │ │ │ +0002b660: 2020 2028 756e 6c65 7373 0a20 2020 2020 (unless. │ │ │ +0002b670: 2020 2020 2020 2020 2020 2020 2028 6571 (eq │ │ │ +0002b680: 7561 6c20 300a 2020 2020 2020 2020 2020 ual 0. │ │ │ +0002b690: 2020 2020 2020 2020 2020 2869 6620 6f6c (if ol │ │ │ +0002b6a0: 642d 6167 6461 0a20 2020 2020 2020 2020 d-agda. │ │ │ +0002b6b0: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ +0002b6c0: 6361 6c6c 2d70 726f 6365 7373 2061 6764 call-process agd │ │ │ +0002b6d0: 612d 6d6f 6465 2d70 726f 6720 6e69 6c20 a-mode-prog nil │ │ │ +0002b6e0: 2863 7572 7265 6e74 2d62 7566 6665 7229 (current-buffer) │ │ │ +0002b6f0: 206e 696c 2022 6c6f 6361 7465 2229 0a20 nil "locate"). │ │ │ 0002b700: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0002b710: 2020 2020 2020 2863 616c 6c2d 7072 6f63 (call-proc │ │ │ -0002b720: 6573 7320 6167 6461 2d6d 6f64 652d 7072 ess agda-mode-pr │ │ │ -0002b730: 6f67 206e 696c 2028 6375 7272 656e 742d og nil (current- │ │ │ -0002b740: 6275 6666 6572 2920 6e69 6c20 222d 2d65 buffer) nil "--e │ │ │ -0002b750: 6d61 6373 2d6d 6f64 6522 2022 6c6f 6361 macs-mode" "loca │ │ │ -0002b760: 7465 2229 2929 0a20 2020 2020 2020 2020 te"))). │ │ │ -0002b770: 2020 2020 2020 2028 6572 726f 7220 2225 (error "% │ │ │ -0002b780: 7322 2028 636f 6e63 6174 2022 4572 726f s" (concat "Erro │ │ │ -0002b790: 7220 7768 656e 2072 756e 6e69 6e67 2022 r when running " │ │ │ -0002b7a0: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ +0002b710: 2020 2020 2020 2028 6361 6c6c 2d70 726f (call-pro │ │ │ +0002b720: 6365 7373 2061 6764 612d 6d6f 6465 2d70 cess agda-mode-p │ │ │ +0002b730: 726f 6720 6e69 6c20 2863 7572 7265 6e74 rog nil (current │ │ │ +0002b740: 2d62 7566 6665 7229 206e 696c 2022 2d2d -buffer) nil "-- │ │ │ +0002b750: 656d 6163 732d 6d6f 6465 2220 226c 6f63 emacs-mode" "loc │ │ │ +0002b760: 6174 6522 2929 290a 2020 2020 2020 2020 ate"))). │ │ │ +0002b770: 2020 2020 2020 2020 2865 7272 6f72 2022 (error " │ │ │ +0002b780: 2573 2220 2863 6f6e 6361 7420 2245 7272 %s" (concat "Err │ │ │ +0002b790: 6f72 2077 6865 6e20 7275 6e6e 696e 6720 or when running │ │ │ +0002b7a0: 220a 2020 2020 2020 2020 2020 2020 2020 ". │ │ │ 0002b7b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0002b7c0: 2020 2020 2061 6764 612d 6d6f 6465 2d70 agda-mode-p │ │ │ -0002b7d0: 726f 6729 2929 0a20 2020 2020 2020 2020 rog))). │ │ │ -0002b7e0: 2020 2020 2028 6275 6666 6572 2d73 7472 (buffer-str │ │ │ -0002b7f0: 696e 6729 290a 2020 2020 2020 2020 2020 ing)). │ │ │ -0002b800: 2866 696c 652d 6572 726f 720a 2020 2020 (file-error. │ │ │ -0002b810: 2020 2020 2020 2028 6572 726f 7220 2225 (error "% │ │ │ -0002b820: 7322 2028 636f 6e63 6174 2022 436f 756c s" (concat "Coul │ │ │ -0002b830: 6420 6e6f 7420 6669 6e64 2022 2061 6764 d not find " agd │ │ │ -0002b840: 612d 6d6f 6465 2d70 726f 6729 2929 2929 a-mode-prog))))) │ │ │ -0002b850: 290a 0a20 2020 203b 3b20 4d61 6b65 2073 ).. ;; Make s │ │ │ -0002b860: 7572 6520 7468 6174 2061 6764 612d 6d6f ure that agda-mo │ │ │ -0002b870: 6465 3c76 6572 7369 6f6e 2d73 7566 6669 de returns a val │ │ │ -0002b890: 6964 2066 696c 652e 0a20 2020 2028 756e id file.. (un │ │ │ -0002b8a0: 6c65 7373 2028 6669 6c65 2d72 6561 6461 less (file-reada │ │ │ -0002b8b0: 626c 652d 7020 6167 6461 2d6d 6f64 652d ble-p agda-mode- │ │ │ -0002b8c0: 7061 7468 290a 2020 2020 2020 2865 7272 path). (err │ │ │ -0002b8d0: 6f72 2022 2573 2220 2863 6f6e 6361 7420 or "%s" (concat │ │ │ -0002b8e0: 2243 6f75 6c64 206e 6f74 2072 6561 6420 "Could not read │ │ │ -0002b8f0: 2220 6167 6461 2d6d 6f64 652d 7061 7468 " agda-mode-path │ │ │ -0002b900: 2929 290a 0a20 2020 203b 3b20 5475 726e ))).. ;; Turn │ │ │ -0002b910: 206f 6666 2074 6865 2041 6764 6120 6d6f off the Agda mo │ │ │ -0002b920: 6465 2e0a 2020 2020 2861 6764 6132 2d71 de.. (agda2-q │ │ │ -0002b930: 7569 7429 0a0a 2020 2020 3b3b 204b 696c uit).. ;; Kil │ │ │ -0002b940: 6c20 736f 6d65 2062 7566 6665 7273 2072 l some buffers r │ │ │ -0002b950: 656c 6174 6564 2074 6f20 4167 6461 2e0a elated to Agda.. │ │ │ -0002b960: 2020 2020 2877 6865 6e20 2862 7566 6665 (when (buffe │ │ │ -0002b970: 722d 6c69 7665 2d70 2061 6764 6132 2d69 r-live-p agda2-i │ │ │ -0002b980: 6e66 6f2d 6275 6666 6572 290a 2020 2020 nfo-buffer). │ │ │ -0002b990: 2020 286b 696c 6c2d 6275 6666 6572 2061 (kill-buffer a │ │ │ -0002b9a0: 6764 6132 2d69 6e66 6f2d 6275 6666 6572 gda2-info-buffer │ │ │ -0002b9b0: 2929 0a20 2020 2028 7768 656e 2028 616e )). (when (an │ │ │ -0002b9c0: 6420 6167 6461 322d 6465 6275 672d 6275 d agda2-debug-bu │ │ │ -0002b9d0: 6666 6572 2d6e 616d 650a 2020 2020 2020 ffer-name. │ │ │ -0002b9e0: 2020 2020 2020 2020 2028 6765 742d 6275 (get-bu │ │ │ -0002b9f0: 6666 6572 2061 6764 6132 2d64 6562 7567 ffer agda2-debug │ │ │ -0002ba00: 2d62 7566 6665 722d 6e61 6d65 2929 0a20 -buffer-name)). │ │ │ -0002ba10: 2020 2020 2028 6b69 6c6c 2d62 7566 6665 (kill-buffe │ │ │ -0002ba20: 7220 6167 6461 322d 6465 6275 672d 6275 r agda2-debug-bu │ │ │ -0002ba30: 6666 6572 2d6e 616d 6529 290a 0a20 2020 ffer-name)).. │ │ │ -0002ba40: 203b 3b20 5265 6d6f 7665 2074 6865 2041 ;; Remove the A │ │ │ -0002ba50: 6764 6120 6d6f 6465 2064 6972 6563 746f gda mode directo │ │ │ -0002ba60: 7279 2066 726f 6d20 7468 6520 6c6f 6164 ry from the load │ │ │ -0002ba70: 2070 6174 682e 0a20 2020 2028 7365 7471 path.. (setq │ │ │ -0002ba80: 206c 6f61 642d 7061 7468 2028 6465 6c65 load-path (dele │ │ │ -0002ba90: 7465 2061 6764 6132 2d64 6972 6563 746f te agda2-directo │ │ │ -0002baa0: 7279 206c 6f61 642d 7061 7468 2929 0a0a ry load-path)).. │ │ │ -0002bab0: 2020 2020 3b3b 2055 6e6c 6f61 6420 7468 ;; Unload th │ │ │ -0002bac0: 6520 4167 6461 206d 6f64 6520 616e 6420 e Agda mode and │ │ │ -0002bad0: 6974 7320 6465 7065 6e64 656e 6369 6573 its dependencies │ │ │ -0002bae0: 2e0a 2020 2020 2875 6e6c 6f61 642d 6665 .. (unload-fe │ │ │ -0002baf0: 6174 7572 6520 2761 6764 6132 2d6d 6f64 ature 'agda2-mod │ │ │ -0002bb00: 6520 2020 2020 2027 666f 7263 6529 0a20 e 'force). │ │ │ -0002bb10: 2020 2028 756e 6c6f 6164 2d66 6561 7475 (unload-featu │ │ │ -0002bb20: 7265 2027 6167 6461 3220 2020 2020 2020 re 'agda2 │ │ │ -0002bb30: 2020 2020 2766 6f72 6365 290a 2020 2020 'force). │ │ │ -0002bb40: 2875 6e6c 6f61 642d 6665 6174 7572 6520 (unload-feature │ │ │ -0002bb50: 2765 7269 2020 2020 2020 2020 2020 2020 'eri │ │ │ -0002bb60: 2027 666f 7263 6529 0a20 2020 2028 756e 'force). (un │ │ │ -0002bb70: 6c6f 6164 2d66 6561 7475 7265 2027 616e load-feature 'an │ │ │ -0002bb80: 6e6f 7461 7469 6f6e 2020 2020 2020 2766 notation 'f │ │ │ -0002bb90: 6f72 6365 290a 2020 2020 2875 6e6c 6f61 orce). (unloa │ │ │ -0002bba0: 642d 6665 6174 7572 6520 2761 6764 612d d-feature 'agda- │ │ │ -0002bbb0: 696e 7075 7420 2020 2020 2027 666f 7263 input 'forc │ │ │ -0002bbc0: 6529 0a20 2020 2028 756e 6c6f 6164 2d66 e). (unload-f │ │ │ -0002bbd0: 6561 7475 7265 2027 6167 6461 322d 6869 eature 'agda2-hi │ │ │ -0002bbe0: 6768 6c69 6768 7420 2766 6f72 6365 290a ghlight 'force). │ │ │ -0002bbf0: 2020 2020 2875 6e6c 6f61 642d 6665 6174 (unload-feat │ │ │ -0002bc00: 7572 6520 2761 6764 6132 2d61 6262 7265 ure 'agda2-abbre │ │ │ -0002bc10: 7673 2020 2027 666f 7263 6529 0a20 2020 vs 'force). │ │ │ -0002bc20: 2028 756e 6c6f 6164 2d66 6561 7475 7265 (unload-feature │ │ │ -0002bc30: 2027 6167 6461 322d 7175 6575 6520 2020 'agda2-queue │ │ │ -0002bc40: 2020 2766 6f72 6365 290a 0a20 2020 203b 'force).. ; │ │ │ -0002bc50: 3b20 4c6f 6164 2074 6865 206e 6577 2076 ; Load the new v │ │ │ -0002bc60: 6572 7369 6f6e 206f 6620 4167 6461 2e0a ersion of Agda.. │ │ │ -0002bc70: 2020 2020 286c 6f61 642d 6669 6c65 2061 (load-file a │ │ │ -0002bc80: 6764 612d 6d6f 6465 2d70 6174 6829 0a20 gda-mode-path). │ │ │ -0002bc90: 2020 2028 7265 7175 6972 6520 2761 6764 (require 'agd │ │ │ -0002bca0: 6132 2d6d 6f64 6529 0a20 2020 2028 7365 a2-mode). (se │ │ │ -0002bcb0: 7471 2061 6764 6132 2d70 726f 6772 616d tq agda2-program │ │ │ -0002bcc0: 2d6e 616d 6520 2863 6f6e 6361 7420 2261 -name (concat "a │ │ │ -0002bcd0: 6764 6122 2076 6572 7369 6f6e 2d73 7566 gda" version-suf │ │ │ -0002bce0: 6669 7829 290a 0a20 2020 203b 3b20 5265 fix)).. ;; Re │ │ │ -0002bcf0: 7374 6f72 6520 7468 6520 4167 6461 206d store the Agda m │ │ │ -0002bd00: 6f64 6527 7320 6465 6661 756c 7420 686f ode's default ho │ │ │ -0002bd10: 6f6b 2028 6966 2061 6e79 292e 0a20 2020 ok (if any).. │ │ │ -0002bd20: 2028 7768 656e 2064 6566 6175 6c74 2d68 (when default-h │ │ │ -0002bd30: 6f6f 6b0a 2020 2020 2020 2873 6574 2d64 ook. (set-d │ │ │ -0002bd40: 6566 6175 6c74 2027 6167 6461 322d 6d6f efault 'agda2-mo │ │ │ -0002bd50: 6465 2d68 6f6f 6b20 6465 6661 756c 742d de-hook default- │ │ │ -0002bd60: 686f 6f6b 2929 0a0a 2020 2020 3b3b 2052 hook)).. ;; R │ │ │ -0002bd70: 6573 7461 7274 2074 6865 2041 6764 6120 estart the Agda │ │ │ -0002bd80: 6d6f 6465 2069 6e20 616c 6c20 666f 726d mode in all form │ │ │ -0002bd90: 6572 2041 6764 6120 6d6f 6465 2062 7566 er Agda mode buf │ │ │ -0002bda0: 6665 7273 2e0a 2020 2020 286d 6170 6320 fers.. (mapc │ │ │ -0002bdb0: 286c 616d 6264 6120 2862 7566 290a 2020 (lambda (buf). │ │ │ -0002bdc0: 2020 2020 2020 2020 2020 2877 6974 682d (with- │ │ │ -0002bdd0: 6375 7272 656e 742d 6275 6666 6572 2062 current-buffer b │ │ │ -0002bde0: 7566 0a20 2020 2020 2020 2020 2020 2020 uf. │ │ │ -0002bdf0: 2028 6167 6461 322d 6d6f 6465 2929 290a (agda2-mode))). │ │ │ -0002be00: 2020 2020 2020 2020 2020 6167 6461 2d62 agda-b │ │ │ -0002be10: 7566 6665 7273 2929 290a 0a28 7072 6f76 uffers)))..(prov │ │ │ -0002be20: 6964 6520 2761 6764 6132 2d6d 6f64 6529 ide 'agda2-mode) │ │ │ -0002be30: 0a3b 3b3b 2061 6764 6132 2d6d 6f64 652e .;;; agda2-mode. │ │ │ -0002be40: 656c 2065 6e64 7320 6865 7265 0aca f9af el ends here.... │ │ │ -0002be50: f3f0 95bd 9381 0184 b890 befa bbe1 f20a ................ │ │ │ -0002be60: 009a 0100 02be 8b05 2000 0001 0004 0408 ........ ....... │ │ │ -0002be70: 0307 025e 0200 0003 0f00 0505 050b 5f0b ...^.........._. │ │ │ -0002be80: 9b01 0b61 0906 0100 bdb8 018a cd96 aebe ...a............ │ │ │ -0002be90: d3a8 c821 d7b8 b9d3 f0ae b68c 6d00 9b01 ...!........m... │ │ │ -0002bea0: 0003 1afa 0582 8080 e608 0000 0100 0304 ................ │ │ │ -0002beb0: 0704 0200 0003 0f00 0901 bdb8 013b 3b20 .............;; │ │ │ -0002bec0: 2d2a 2d20 6c65 7869 6361 6c2d 6269 6e64 -*- lexical-bind │ │ │ -0002bed0: 696e 673a 2074 202d 2a2d 0a3b 3b3b 2061 ing: t -*-.;;; a │ │ │ -0002bee0: 6764 6132 2d68 6967 686c 6967 6874 2e65 gda2-highlight.e │ │ │ -0002bef0: 6c20 2d2d 2d20 5379 6e74 6178 2068 6967 l --- Syntax hig │ │ │ -0002bf00: 686c 6967 6874 696e 6720 666f 7220 4167 hlighting for Ag │ │ │ -0002bf10: 6461 2028 7665 7273 696f 6e20 e289 a520 da (version ... │ │ │ -0002bf20: 3229 0a3b 3b20 5350 4458 2d4c 6963 656e 2).;; SPDX-Licen │ │ │ -0002bf30: 7365 2d49 6465 6e74 6966 6965 723a 204d se-Identifier: M │ │ │ -0002bf40: 4954 204c 6963 656e 7365 0a0a 3b3b 3b20 IT License..;;; │ │ │ -0002bf50: 436f 6d6d 656e 7461 7279 3a0a 0a3b 3b20 Commentary:..;; │ │ │ -0002bf60: 436f 6465 2074 6f20 6170 706c 7920 7379 Code to apply sy │ │ │ -0002bf70: 6e74 6163 7469 6320 6869 6768 6c69 6768 ntactic highligh │ │ │ -0002bf80: 7469 6e67 2074 6f20 4167 6461 2073 6f75 ting to Agda sou │ │ │ -0002bf90: 7263 6520 636f 6465 2e20 5468 6973 2075 rce code. This u │ │ │ -0002bfa0: 7365 730a 3b3b 2041 6764 6127 7320 6f77 ses.;; Agda's ow │ │ │ -0002bfb0: 6e20 616e 6e6f 7461 7469 6f6e 7320 746f n annotations to │ │ │ -0002bfc0: 2066 6967 7572 6520 6f75 7420 7768 6174 figure out what │ │ │ -0002bfd0: 2069 7320 7768 6174 2c20 736f 2074 6865 is what, so the │ │ │ -0002bfe0: 2070 6172 7369 6e67 0a3b 3b20 6973 2061 parsing.;; is a │ │ │ -0002bff0: 6c77 6179 7320 646f 6e65 2063 6f72 7265 lways done corre │ │ │ -0002c000: 6374 6c79 2c20 6275 7420 6869 6768 6c69 ctly, but highli │ │ │ -0002c010: 6768 7469 6e67 2069 7320 6e6f 7420 646f ghting is not do │ │ │ -0002c020: 6e65 206f 6e20 7468 6520 666c 792e 0a0a ne on the fly... │ │ │ -0002c030: 3b3b 3b20 436f 6465 3a0a 0a28 7265 7175 ;;; Code:..(requ │ │ │ -0002c040: 6972 6520 2761 6e6e 6f74 6174 696f 6e29 ire 'annotation) │ │ │ -0002c050: 0a28 7265 7175 6972 6520 2766 6f6e 742d .(require 'font- │ │ │ -0002c060: 6c6f 636b 290a 0a28 6465 6667 726f 7570 lock)..(defgroup │ │ │ -0002c070: 2061 6764 6132 2d68 6967 686c 6967 6874 agda2-highlight │ │ │ -0002c080: 206e 696c 0a20 2022 5379 6e74 6178 2068 nil. "Syntax h │ │ │ -0002c090: 6967 686c 6967 6874 696e 6720 666f 7220 ighlighting for │ │ │ -0002c0a0: 4167 6461 2e22 0a20 203a 6772 6f75 7020 Agda.". :group │ │ │ -0002c0b0: 2761 6764 6132 290a 0a28 6465 6663 7573 'agda2)..(defcus │ │ │ -0002c0c0: 746f 6d20 6167 6461 322d 6869 6768 6c69 tom agda2-highli │ │ │ -0002c0d0: 6768 742d 6c65 7665 6c20 276e 6f6e 2d69 ght-level 'non-i │ │ │ -0002c0e0: 6e74 6572 6163 7469 7665 0a20 2022 486f nteractive. "Ho │ │ │ -0002c0f0: 7720 6d75 6368 2073 796e 7461 7820 6869 w much syntax hi │ │ │ -0002c100: 6768 6c69 6768 7469 6e67 2073 686f 756c ghlighting shoul │ │ │ -0002c110: 6420 6265 2070 726f 6475 6365 643f 0a49 d be produced?.I │ │ │ -0002c120: 6e74 6572 6163 7469 7665 2068 6967 686c nteractive highl │ │ │ -0002c130: 6967 6874 696e 6720 696e 636c 7564 6573 ighting includes │ │ │ -0002c140: 2068 6967 686c 6967 6874 696e 6720 6f66 highlighting of │ │ │ -0002c150: 2074 6865 2065 7870 7265 7373 696f 6e0a the expression. │ │ │ -0002c160: 7468 6174 2069 7320 6375 7272 656e 746c that is currentl │ │ │ -0002c170: 7920 6265 696e 6720 7479 7065 2d63 6865 y being type-che │ │ │ -0002c180: 636b 6564 2e22 0a20 203a 7479 7065 2027 cked.". :type ' │ │ │ -0002c190: 2863 686f 6963 650a 2020 2020 2020 2020 (choice. │ │ │ -0002c1a0: 2020 2863 6f6e 7374 203a 7461 6720 224e (const :tag "N │ │ │ -0002c1b0: 6f6e 6522 2020 2020 2020 2020 2020 2020 one" │ │ │ -0002c1c0: 6e6f 6e65 290a 2020 2020 2020 2020 2020 none). │ │ │ -0002c1d0: 2863 6f6e 7374 203a 7461 6720 224e 6f6e (const :tag "Non │ │ │ -0002c1e0: 2d69 6e74 6572 6163 7469 7665 2220 6e6f -interactive" no │ │ │ -0002c1f0: 6e2d 696e 7465 7261 6374 6976 6529 0a20 n-interactive). │ │ │ -0002c200: 2020 2020 2020 2020 2028 636f 6e73 7420 (const │ │ │ -0002c210: 3a74 6167 2022 496e 7465 7261 6374 6976 :tag "Interactiv │ │ │ -0002c220: 6522 2020 2020 2069 6e74 6572 6163 7469 e" interacti │ │ │ -0002c230: 7665 2929 0a20 203a 6772 6f75 7020 2761 ve)). :group 'a │ │ │ -0002c240: 6764 6132 2d68 6967 686c 6967 6874 290a gda2-highlight). │ │ │ -0002c250: 0a28 6465 6675 6e20 6167 6461 322d 6869 .(defun agda2-hi │ │ │ -0002c260: 6768 6c69 6768 742d 6c65 7665 6c20 6e69 ghlight-level ni │ │ │ -0002c270: 6c0a 2020 2246 6f72 6d61 7473 2074 6865 l. "Formats the │ │ │ -0002c280: 2068 6967 686c 6967 6874 696e 6720 6c65 highlighting le │ │ │ -0002c290: 7665 6c20 696e 2061 2048 6173 6b65 6c6c vel in a Haskell │ │ │ -0002c2a0: 7920 7761 792e 220a 2020 2863 6f6e 6420 y way.". (cond │ │ │ -0002c2b0: 2828 6571 7561 6c20 6167 6461 322d 6869 ((equal agda2-hi │ │ │ -0002c2c0: 6768 6c69 6768 742d 6c65 7665 6c20 276e ghlight-level 'n │ │ │ -0002c2d0: 6f6e 6529 2020 2020 2020 2020 2020 2020 one) │ │ │ -0002c2e0: 224e 6f6e 6522 290a 2020 2020 2020 2020 "None"). │ │ │ -0002c2f0: 2828 6571 7561 6c20 6167 6461 322d 6869 ((equal agda2-hi │ │ │ -0002c300: 6768 6c69 6768 742d 6c65 7665 6c20 276e ghlight-level 'n │ │ │ -0002c310: 6f6e 2d69 6e74 6572 6163 7469 7665 2920 on-interactive) │ │ │ -0002c320: 224e 6f6e 496e 7465 7261 6374 6976 6522 "NonInteractive" │ │ │ -0002c330: 290a 2020 2020 2020 2020 2828 6571 7561 ). ((equa │ │ │ -0002c340: 6c20 6167 6461 322d 6869 6768 6c69 6768 l agda2-highligh │ │ │ -0002c350: 742d 6c65 7665 6c20 2769 6e74 6572 6163 t-level 'interac │ │ │ -0002c360: 7469 7665 2920 2020 2020 2249 6e74 6572 tive) "Inter │ │ │ -0002c370: 6163 7469 7665 2229 0a20 2020 2020 2020 active"). │ │ │ -0002c380: 2028 7420 2020 2020 2020 2020 2020 2020 (t │ │ │ +0002b7c0: 2020 2020 2020 6167 6461 2d6d 6f64 652d agda-mode- │ │ │ +0002b7d0: 7072 6f67 2929 290a 2020 2020 2020 2020 prog))). │ │ │ +0002b7e0: 2020 2020 2020 2862 7566 6665 722d 7374 (buffer-st │ │ │ +0002b7f0: 7269 6e67 2929 0a20 2020 2020 2020 2020 ring)). │ │ │ +0002b800: 2028 6669 6c65 2d65 7272 6f72 0a20 2020 (file-error. │ │ │ +0002b810: 2020 2020 2020 2020 2865 7272 6f72 2022 (error " │ │ │ +0002b820: 2573 2220 2863 6f6e 6361 7420 2243 6f75 %s" (concat "Cou │ │ │ +0002b830: 6c64 206e 6f74 2066 696e 6420 2220 6167 ld not find " ag │ │ │ +0002b840: 6461 2d6d 6f64 652d 7072 6f67 2929 2929 da-mode-prog)))) │ │ │ +0002b850: 2929 0a0a 2020 2020 3b3b 204d 616b 6520 )).. ;; Make │ │ │ +0002b860: 7375 7265 2074 6861 7420 6167 6461 2d6d sure that agda-m │ │ │ +0002b870: 6f64 653c 7665 7273 696f 6e2d 7375 6666 ode returns a va │ │ │ +0002b890: 6c69 6420 6669 6c65 2e0a 2020 2020 2875 lid file.. (u │ │ │ +0002b8a0: 6e6c 6573 7320 2866 696c 652d 7265 6164 nless (file-read │ │ │ +0002b8b0: 6162 6c65 2d70 2061 6764 612d 6d6f 6465 able-p agda-mode │ │ │ +0002b8c0: 2d70 6174 6829 0a20 2020 2020 2028 6572 -path). (er │ │ │ +0002b8d0: 726f 7220 2225 7322 2028 636f 6e63 6174 ror "%s" (concat │ │ │ +0002b8e0: 2022 436f 756c 6420 6e6f 7420 7265 6164 "Could not read │ │ │ +0002b8f0: 2022 2061 6764 612d 6d6f 6465 2d70 6174 " agda-mode-pat │ │ │ +0002b900: 6829 2929 0a0a 2020 2020 3b3b 2054 7572 h))).. ;; Tur │ │ │ +0002b910: 6e20 6f66 6620 7468 6520 4167 6461 206d n off the Agda m │ │ │ +0002b920: 6f64 652e 0a20 2020 2028 6167 6461 322d ode.. (agda2- │ │ │ +0002b930: 7175 6974 290a 0a20 2020 203b 3b20 4b69 quit).. ;; Ki │ │ │ +0002b940: 6c6c 2073 6f6d 6520 6275 6666 6572 7320 ll some buffers │ │ │ +0002b950: 7265 6c61 7465 6420 746f 2041 6764 612e related to Agda. │ │ │ +0002b960: 0a20 2020 2028 7768 656e 2028 6275 6666 . (when (buff │ │ │ +0002b970: 6572 2d6c 6976 652d 7020 6167 6461 322d er-live-p agda2- │ │ │ +0002b980: 696e 666f 2d62 7566 6665 7229 0a20 2020 info-buffer). │ │ │ +0002b990: 2020 2028 6b69 6c6c 2d62 7566 6665 7220 (kill-buffer │ │ │ +0002b9a0: 6167 6461 322d 696e 666f 2d62 7566 6665 agda2-info-buffe │ │ │ +0002b9b0: 7229 290a 2020 2020 2877 6865 6e20 2861 r)). (when (a │ │ │ +0002b9c0: 6e64 2061 6764 6132 2d64 6562 7567 2d62 nd agda2-debug-b │ │ │ +0002b9d0: 7566 6665 722d 6e61 6d65 0a20 2020 2020 uffer-name. │ │ │ +0002b9e0: 2020 2020 2020 2020 2020 2867 6574 2d62 (get-b │ │ │ +0002b9f0: 7566 6665 7220 6167 6461 322d 6465 6275 uffer agda2-debu │ │ │ +0002ba00: 672d 6275 6666 6572 2d6e 616d 6529 290a g-buffer-name)). │ │ │ +0002ba10: 2020 2020 2020 286b 696c 6c2d 6275 6666 (kill-buff │ │ │ +0002ba20: 6572 2061 6764 6132 2d64 6562 7567 2d62 er agda2-debug-b │ │ │ +0002ba30: 7566 6665 722d 6e61 6d65 2929 0a0a 2020 uffer-name)).. │ │ │ +0002ba40: 2020 3b3b 2052 656d 6f76 6520 7468 6520 ;; Remove the │ │ │ +0002ba50: 4167 6461 206d 6f64 6520 6469 7265 6374 Agda mode direct │ │ │ +0002ba60: 6f72 7920 6672 6f6d 2074 6865 206c 6f61 ory from the loa │ │ │ +0002ba70: 6420 7061 7468 2e0a 2020 2020 2873 6574 d path.. (set │ │ │ +0002ba80: 7120 6c6f 6164 2d70 6174 6820 2864 656c q load-path (del │ │ │ +0002ba90: 6574 6520 6167 6461 322d 6469 7265 6374 ete agda2-direct │ │ │ +0002baa0: 6f72 7920 6c6f 6164 2d70 6174 6829 290a ory load-path)). │ │ │ +0002bab0: 0a20 2020 203b 3b20 556e 6c6f 6164 2074 . ;; Unload t │ │ │ +0002bac0: 6865 2041 6764 6120 6d6f 6465 2061 6e64 he Agda mode and │ │ │ +0002bad0: 2069 7473 2064 6570 656e 6465 6e63 6965 its dependencie │ │ │ +0002bae0: 732e 0a20 2020 2028 756e 6c6f 6164 2d66 s.. (unload-f │ │ │ +0002baf0: 6561 7475 7265 2027 6167 6461 322d 6d6f eature 'agda2-mo │ │ │ +0002bb00: 6465 2020 2020 2020 2766 6f72 6365 290a de 'force). │ │ │ +0002bb10: 2020 2020 2875 6e6c 6f61 642d 6665 6174 (unload-feat │ │ │ +0002bb20: 7572 6520 2761 6764 6132 2020 2020 2020 ure 'agda2 │ │ │ +0002bb30: 2020 2020 2027 666f 7263 6529 0a20 2020 'force). │ │ │ +0002bb40: 2028 756e 6c6f 6164 2d66 6561 7475 7265 (unload-feature │ │ │ +0002bb50: 2027 6572 6920 2020 2020 2020 2020 2020 'eri │ │ │ +0002bb60: 2020 2766 6f72 6365 290a 2020 2020 2875 'force). (u │ │ │ +0002bb70: 6e6c 6f61 642d 6665 6174 7572 6520 2761 nload-feature 'a │ │ │ +0002bb80: 6e6e 6f74 6174 696f 6e20 2020 2020 2027 nnotation ' │ │ │ +0002bb90: 666f 7263 6529 0a20 2020 2028 756e 6c6f force). (unlo │ │ │ +0002bba0: 6164 2d66 6561 7475 7265 2027 6167 6461 ad-feature 'agda │ │ │ +0002bbb0: 2d69 6e70 7574 2020 2020 2020 2766 6f72 -input 'for │ │ │ +0002bbc0: 6365 290a 2020 2020 2875 6e6c 6f61 642d ce). (unload- │ │ │ +0002bbd0: 6665 6174 7572 6520 2761 6764 6132 2d68 feature 'agda2-h │ │ │ +0002bbe0: 6967 686c 6967 6874 2027 666f 7263 6529 ighlight 'force) │ │ │ +0002bbf0: 0a20 2020 2028 756e 6c6f 6164 2d66 6561 . (unload-fea │ │ │ +0002bc00: 7475 7265 2027 6167 6461 322d 6162 6272 ture 'agda2-abbr │ │ │ +0002bc10: 6576 7320 2020 2766 6f72 6365 290a 2020 evs 'force). │ │ │ +0002bc20: 2020 2875 6e6c 6f61 642d 6665 6174 7572 (unload-featur │ │ │ +0002bc30: 6520 2761 6764 6132 2d71 7565 7565 2020 e 'agda2-queue │ │ │ +0002bc40: 2020 2027 666f 7263 6529 0a0a 2020 2020 'force).. │ │ │ +0002bc50: 3b3b 204c 6f61 6420 7468 6520 6e65 7720 ;; Load the new │ │ │ +0002bc60: 7665 7273 696f 6e20 6f66 2041 6764 612e version of Agda. │ │ │ +0002bc70: 0a20 2020 2028 6c6f 6164 2d66 696c 6520 . (load-file │ │ │ +0002bc80: 6167 6461 2d6d 6f64 652d 7061 7468 290a agda-mode-path). │ │ │ +0002bc90: 2020 2020 2872 6571 7569 7265 2027 6167 (require 'ag │ │ │ +0002bca0: 6461 322d 6d6f 6465 290a 2020 2020 2873 da2-mode). (s │ │ │ +0002bcb0: 6574 7120 6167 6461 322d 7072 6f67 7261 etq agda2-progra │ │ │ +0002bcc0: 6d2d 6e61 6d65 2028 636f 6e63 6174 2022 m-name (concat " │ │ │ +0002bcd0: 6167 6461 2220 7665 7273 696f 6e2d 7375 agda" version-su │ │ │ +0002bce0: 6666 6978 2929 0a0a 2020 2020 3b3b 2052 ffix)).. ;; R │ │ │ +0002bcf0: 6573 746f 7265 2074 6865 2041 6764 6120 estore the Agda │ │ │ +0002bd00: 6d6f 6465 2773 2064 6566 6175 6c74 2068 mode's default h │ │ │ +0002bd10: 6f6f 6b20 2869 6620 616e 7929 2e0a 2020 ook (if any).. │ │ │ +0002bd20: 2020 2877 6865 6e20 6465 6661 756c 742d (when default- │ │ │ +0002bd30: 686f 6f6b 0a20 2020 2020 2028 7365 742d hook. (set- │ │ │ +0002bd40: 6465 6661 756c 7420 2761 6764 6132 2d6d default 'agda2-m │ │ │ +0002bd50: 6f64 652d 686f 6f6b 2064 6566 6175 6c74 ode-hook default │ │ │ +0002bd60: 2d68 6f6f 6b29 290a 0a20 2020 203b 3b20 -hook)).. ;; │ │ │ +0002bd70: 5265 7374 6172 7420 7468 6520 4167 6461 Restart the Agda │ │ │ +0002bd80: 206d 6f64 6520 696e 2061 6c6c 2066 6f72 mode in all for │ │ │ +0002bd90: 6d65 7220 4167 6461 206d 6f64 6520 6275 mer Agda mode bu │ │ │ +0002bda0: 6666 6572 732e 0a20 2020 2028 6d61 7063 ffers.. (mapc │ │ │ +0002bdb0: 2028 6c61 6d62 6461 2028 6275 6629 0a20 (lambda (buf). │ │ │ +0002bdc0: 2020 2020 2020 2020 2020 2028 7769 7468 (with │ │ │ +0002bdd0: 2d63 7572 7265 6e74 2d62 7566 6665 7220 -current-buffer │ │ │ +0002bde0: 6275 660a 2020 2020 2020 2020 2020 2020 buf. │ │ │ +0002bdf0: 2020 2861 6764 6132 2d6d 6f64 6529 2929 (agda2-mode))) │ │ │ +0002be00: 0a20 2020 2020 2020 2020 2061 6764 612d . agda- │ │ │ +0002be10: 6275 6666 6572 7329 2929 0a0a 2870 726f buffers)))..(pro │ │ │ +0002be20: 7669 6465 2027 6167 6461 322d 6d6f 6465 vide 'agda2-mode │ │ │ +0002be30: 290a 3b3b 3b20 6167 6461 322d 6d6f 6465 ).;;; agda2-mode │ │ │ +0002be40: 2e65 6c20 656e 6473 2068 6572 650a caf9 .el ends here... │ │ │ +0002be50: aff3 f095 bd93 8101 84b8 90be fabb e1f2 ................ │ │ │ +0002be60: 0a00 9a01 0002 be8c 0520 0000 0100 0404 ......... ...... │ │ │ +0002be70: 0803 0702 5e02 0000 030f 0005 0505 0b5f ....^.........._ │ │ │ +0002be80: 0b9b 010b 6109 0601 00bd b801 8acd 96ae ....a........... │ │ │ +0002be90: bed3 a8c8 21d7 b8b9 d3f0 aeb6 8c6d 009b ....!........m.. │ │ │ +0002bea0: 0100 031a fb05 8280 80e6 0800 0001 0003 ................ │ │ │ +0002beb0: 0407 0402 0000 030f 0009 01bd b801 3b3b ..............;; │ │ │ +0002bec0: 202d 2a2d 206c 6578 6963 616c 2d62 696e -*- lexical-bin │ │ │ +0002bed0: 6469 6e67 3a20 7420 2d2a 2d0a 3b3b 3b20 ding: t -*-.;;; │ │ │ +0002bee0: 6167 6461 322d 6869 6768 6c69 6768 742e agda2-highlight. │ │ │ +0002bef0: 656c 202d 2d2d 2053 796e 7461 7820 6869 el --- Syntax hi │ │ │ +0002bf00: 6768 6c69 6768 7469 6e67 2066 6f72 2041 ghlighting for A │ │ │ +0002bf10: 6764 6120 2876 6572 7369 6f6e 20e2 89a5 gda (version ... │ │ │ +0002bf20: 2032 290a 3b3b 2053 5044 582d 4c69 6365 2).;; SPDX-Lice │ │ │ +0002bf30: 6e73 652d 4964 656e 7469 6669 6572 3a20 nse-Identifier: │ │ │ +0002bf40: 4d49 5420 4c69 6365 6e73 650a 0a3b 3b3b MIT License..;;; │ │ │ +0002bf50: 2043 6f6d 6d65 6e74 6172 793a 0a0a 3b3b Commentary:..;; │ │ │ +0002bf60: 2043 6f64 6520 746f 2061 7070 6c79 2073 Code to apply s │ │ │ +0002bf70: 796e 7461 6374 6963 2068 6967 686c 6967 yntactic highlig │ │ │ +0002bf80: 6874 696e 6720 746f 2041 6764 6120 736f hting to Agda so │ │ │ +0002bf90: 7572 6365 2063 6f64 652e 2054 6869 7320 urce code. This │ │ │ +0002bfa0: 7573 6573 0a3b 3b20 4167 6461 2773 206f uses.;; Agda's o │ │ │ +0002bfb0: 776e 2061 6e6e 6f74 6174 696f 6e73 2074 wn annotations t │ │ │ +0002bfc0: 6f20 6669 6775 7265 206f 7574 2077 6861 o figure out wha │ │ │ +0002bfd0: 7420 6973 2077 6861 742c 2073 6f20 7468 t is what, so th │ │ │ +0002bfe0: 6520 7061 7273 696e 670a 3b3b 2069 7320 e parsing.;; is │ │ │ +0002bff0: 616c 7761 7973 2064 6f6e 6520 636f 7272 always done corr │ │ │ +0002c000: 6563 746c 792c 2062 7574 2068 6967 686c ectly, but highl │ │ │ +0002c010: 6967 6874 696e 6720 6973 206e 6f74 2064 ighting is not d │ │ │ +0002c020: 6f6e 6520 6f6e 2074 6865 2066 6c79 2e0a one on the fly.. │ │ │ +0002c030: 0a3b 3b3b 2043 6f64 653a 0a0a 2872 6571 .;;; Code:..(req │ │ │ +0002c040: 7569 7265 2027 616e 6e6f 7461 7469 6f6e uire 'annotation │ │ │ +0002c050: 290a 2872 6571 7569 7265 2027 666f 6e74 ).(require 'font │ │ │ +0002c060: 2d6c 6f63 6b29 0a0a 2864 6566 6772 6f75 -lock)..(defgrou │ │ │ +0002c070: 7020 6167 6461 322d 6869 6768 6c69 6768 p agda2-highligh │ │ │ +0002c080: 7420 6e69 6c0a 2020 2253 796e 7461 7820 t nil. "Syntax │ │ │ +0002c090: 6869 6768 6c69 6768 7469 6e67 2066 6f72 highlighting for │ │ │ +0002c0a0: 2041 6764 612e 220a 2020 3a67 726f 7570 Agda.". :group │ │ │ +0002c0b0: 2027 6167 6461 3229 0a0a 2864 6566 6375 'agda2)..(defcu │ │ │ +0002c0c0: 7374 6f6d 2061 6764 6132 2d68 6967 686c stom agda2-highl │ │ │ +0002c0d0: 6967 6874 2d6c 6576 656c 2027 6e6f 6e2d ight-level 'non- │ │ │ +0002c0e0: 696e 7465 7261 6374 6976 650a 2020 2248 interactive. "H │ │ │ +0002c0f0: 6f77 206d 7563 6820 7379 6e74 6178 2068 ow much syntax h │ │ │ +0002c100: 6967 686c 6967 6874 696e 6720 7368 6f75 ighlighting shou │ │ │ +0002c110: 6c64 2062 6520 7072 6f64 7563 6564 3f0a ld be produced?. │ │ │ +0002c120: 496e 7465 7261 6374 6976 6520 6869 6768 Interactive high │ │ │ +0002c130: 6c69 6768 7469 6e67 2069 6e63 6c75 6465 lighting include │ │ │ +0002c140: 7320 6869 6768 6c69 6768 7469 6e67 206f s highlighting o │ │ │ +0002c150: 6620 7468 6520 6578 7072 6573 7369 6f6e f the expression │ │ │ +0002c160: 0a74 6861 7420 6973 2063 7572 7265 6e74 .that is current │ │ │ +0002c170: 6c79 2062 6569 6e67 2074 7970 652d 6368 ly being type-ch │ │ │ +0002c180: 6563 6b65 642e 220a 2020 3a74 7970 6520 ecked.". :type │ │ │ +0002c190: 2728 6368 6f69 6365 0a20 2020 2020 2020 '(choice. │ │ │ +0002c1a0: 2020 2028 636f 6e73 7420 3a74 6167 2022 (const :tag " │ │ │ +0002c1b0: 4e6f 6e65 2220 2020 2020 2020 2020 2020 None" │ │ │ +0002c1c0: 206e 6f6e 6529 0a20 2020 2020 2020 2020 none). │ │ │ +0002c1d0: 2028 636f 6e73 7420 3a74 6167 2022 4e6f (const :tag "No │ │ │ +0002c1e0: 6e2d 696e 7465 7261 6374 6976 6522 206e n-interactive" n │ │ │ +0002c1f0: 6f6e 2d69 6e74 6572 6163 7469 7665 290a on-interactive). │ │ │ +0002c200: 2020 2020 2020 2020 2020 2863 6f6e 7374 (const │ │ │ +0002c210: 203a 7461 6720 2249 6e74 6572 6163 7469 :tag "Interacti │ │ │ +0002c220: 7665 2220 2020 2020 696e 7465 7261 6374 ve" interact │ │ │ +0002c230: 6976 6529 290a 2020 3a67 726f 7570 2027 ive)). :group ' │ │ │ +0002c240: 6167 6461 322d 6869 6768 6c69 6768 7429 agda2-highlight) │ │ │ +0002c250: 0a0a 2864 6566 756e 2061 6764 6132 2d68 ..(defun agda2-h │ │ │ +0002c260: 6967 686c 6967 6874 2d6c 6576 656c 206e ighlight-level n │ │ │ +0002c270: 696c 0a20 2022 466f 726d 6174 7320 7468 il. "Formats th │ │ │ +0002c280: 6520 6869 6768 6c69 6768 7469 6e67 206c e highlighting l │ │ │ +0002c290: 6576 656c 2069 6e20 6120 4861 736b 656c evel in a Haskel │ │ │ +0002c2a0: 6c79 2077 6179 2e22 0a20 2028 636f 6e64 ly way.". (cond │ │ │ +0002c2b0: 2028 2865 7175 616c 2061 6764 6132 2d68 ((equal agda2-h │ │ │ +0002c2c0: 6967 686c 6967 6874 2d6c 6576 656c 2027 ighlight-level ' │ │ │ +0002c2d0: 6e6f 6e65 2920 2020 2020 2020 2020 2020 none) │ │ │ +0002c2e0: 2022 4e6f 6e65 2229 0a20 2020 2020 2020 "None"). │ │ │ +0002c2f0: 2028 2865 7175 616c 2061 6764 6132 2d68 ((equal agda2-h │ │ │ +0002c300: 6967 686c 6967 6874 2d6c 6576 656c 2027 ighlight-level ' │ │ │ +0002c310: 6e6f 6e2d 696e 7465 7261 6374 6976 6529 non-interactive) │ │ │ +0002c320: 2022 4e6f 6e49 6e74 6572 6163 7469 7665 "NonInteractive │ │ │ +0002c330: 2229 0a20 2020 2020 2020 2028 2865 7175 "). ((equ │ │ │ +0002c340: 616c 2061 6764 6132 2d68 6967 686c 6967 al agda2-highlig │ │ │ +0002c350: 6874 2d6c 6576 656c 2027 696e 7465 7261 ht-level 'intera │ │ │ +0002c360: 6374 6976 6529 2020 2020 2022 496e 7465 ctive) "Inte │ │ │ +0002c370: 7261 6374 6976 6522 290a 2020 2020 2020 ractive"). │ │ │ +0002c380: 2020 2874 2020 2020 2020 2020 2020 2020 (t │ │ │ 0002c390: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 0002c3a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0002c3b0: 2022 4e6f 6e65 2229 2929 0a0a 3b3b 3b3b "None")))..;;;; │ │ │ +0002c3b0: 2020 224e 6f6e 6522 2929 290a 0a3b 3b3b "None")))..;;; │ │ │ 0002c3c0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 0002c3d0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 0002c3e0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 0002c3f0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ -0002c400: 3b3b 3b3b 0a3b 3b20 4675 6e63 7469 6f6e ;;;;.;; Function │ │ │ -0002c410: 7320 666f 7220 7365 7474 696e 6720 6661 s for setting fa │ │ │ -0002c420: 6365 730a 0a28 6465 6675 6e20 6167 6461 ces..(defun agda │ │ │ -0002c430: 322d 6869 6768 6c69 6768 742d 7365 742d 2-highlight-set- │ │ │ -0002c440: 6661 6365 2d61 7474 7269 6275 7465 2028 face-attribute ( │ │ │ -0002c450: 6661 6365 2061 7474 7273 290a 2020 2252 face attrs). "R │ │ │ -0002c460: 6573 6574 2028 676c 6f62 616c 6c79 2920 eset (globally) │ │ │ -0002c470: 616c 6c20 6174 7472 6962 7574 6573 206f all attributes o │ │ │ -0002c480: 6620 7468 6520 6661 6365 2046 4143 4520 f the face FACE │ │ │ -0002c490: 6163 636f 7264 696e 6720 746f 2041 5454 according to ATT │ │ │ -0002c4a0: 5253 2e0a 4966 2074 6865 2066 6163 6520 RS..If the face │ │ │ -0002c4b0: 646f 6573 206e 6f74 2065 7869 7374 2c20 does not exist, │ │ │ -0002c4c0: 7468 656e 2069 7420 6973 2063 7265 6174 then it is creat │ │ │ -0002c4d0: 6564 2066 6972 7374 2e22 0a20 2028 6d61 ed first.". (ma │ │ │ -0002c4e0: 6b65 2d66 6163 6520 6661 6365 290a 2020 ke-face face). │ │ │ -0002c4f0: 2873 6574 2d66 6163 652d 6174 7472 6962 (set-face-attrib │ │ │ -0002c500: 7574 6520 6661 6365 206e 696c 0a20 2020 ute face nil. │ │ │ +0002c400: 3b3b 3b3b 3b0a 3b3b 2046 756e 6374 696f ;;;;;.;; Functio │ │ │ +0002c410: 6e73 2066 6f72 2073 6574 7469 6e67 2066 ns for setting f │ │ │ +0002c420: 6163 6573 0a0a 2864 6566 756e 2061 6764 aces..(defun agd │ │ │ +0002c430: 6132 2d68 6967 686c 6967 6874 2d73 6574 a2-highlight-set │ │ │ +0002c440: 2d66 6163 652d 6174 7472 6962 7574 6520 -face-attribute │ │ │ +0002c450: 2866 6163 6520 6174 7472 7329 0a20 2022 (face attrs). " │ │ │ +0002c460: 5265 7365 7420 2867 6c6f 6261 6c6c 7929 Reset (globally) │ │ │ +0002c470: 2061 6c6c 2061 7474 7269 6275 7465 7320 all attributes │ │ │ +0002c480: 6f66 2074 6865 2066 6163 6520 4641 4345 of the face FACE │ │ │ +0002c490: 2061 6363 6f72 6469 6e67 2074 6f20 4154 according to AT │ │ │ +0002c4a0: 5452 532e 0a49 6620 7468 6520 6661 6365 TRS..If the face │ │ │ +0002c4b0: 2064 6f65 7320 6e6f 7420 6578 6973 742c does not exist, │ │ │ +0002c4c0: 2074 6865 6e20 6974 2069 7320 6372 6561 then it is crea │ │ │ +0002c4d0: 7465 6420 6669 7273 742e 220a 2020 286d ted first.". (m │ │ │ +0002c4e0: 616b 652d 6661 6365 2066 6163 6529 0a20 ake-face face). │ │ │ +0002c4f0: 2028 7365 742d 6661 6365 2d61 7474 7269 (set-face-attri │ │ │ +0002c500: 6275 7465 2066 6163 6520 6e69 6c0a 2020 bute face nil. │ │ │ 0002c510: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0002c520: 2020 203a 6661 6d69 6c79 2020 2020 2020 :family │ │ │ -0002c530: 2020 2027 756e 7370 6563 6966 6965 640a 'unspecified. │ │ │ -0002c540: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0002c550: 2020 2020 2020 3a77 6964 7468 2020 2020 :width │ │ │ -0002c560: 2020 2020 2020 2775 6e73 7065 6369 6669 'unspecifi │ │ │ -0002c570: 6564 0a20 2020 2020 2020 2020 2020 2020 ed. │ │ │ -0002c580: 2020 2020 2020 2020 203a 6865 6967 6874 :height │ │ │ -0002c590: 2020 2020 2020 2020 2027 756e 7370 6563 'unspec │ │ │ -0002c5a0: 6966 6965 640a 2020 2020 2020 2020 2020 ified. │ │ │ -0002c5b0: 2020 2020 2020 2020 2020 2020 3a77 6569 :wei │ │ │ -0002c5c0: 6768 7420 2020 2020 2020 2020 2775 6e73 ght 'uns │ │ │ -0002c5d0: 7065 6369 6669 6564 0a20 2020 2020 2020 pecified. │ │ │ -0002c5e0: 2020 2020 2020 2020 2020 2020 2020 203a : │ │ │ -0002c5f0: 736c 616e 7420 2020 2020 2020 2020 2027 slant ' │ │ │ -0002c600: 756e 7370 6563 6966 6965 640a 2020 2020 unspecified. │ │ │ +0002c520: 2020 2020 3a66 616d 696c 7920 2020 2020 :family │ │ │ +0002c530: 2020 2020 2775 6e73 7065 6369 6669 6564 'unspecified │ │ │ +0002c540: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ +0002c550: 2020 2020 2020 203a 7769 6474 6820 2020 :width │ │ │ +0002c560: 2020 2020 2020 2027 756e 7370 6563 6966 'unspecif │ │ │ +0002c570: 6965 640a 2020 2020 2020 2020 2020 2020 ied. │ │ │ +0002c580: 2020 2020 2020 2020 2020 3a68 6569 6768 :heigh │ │ │ +0002c590: 7420 2020 2020 2020 2020 2775 6e73 7065 t 'unspe │ │ │ +0002c5a0: 6369 6669 6564 0a20 2020 2020 2020 2020 cified. │ │ │ +0002c5b0: 2020 2020 2020 2020 2020 2020 203a 7765 :we │ │ │ +0002c5c0: 6967 6874 2020 2020 2020 2020 2027 756e ight 'un │ │ │ +0002c5d0: 7370 6563 6966 6965 640a 2020 2020 2020 specified. │ │ │ +0002c5e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +0002c5f0: 3a73 6c61 6e74 2020 2020 2020 2020 2020 :slant │ │ │ +0002c600: 2775 6e73 7065 6369 6669 6564 0a20 2020 'unspecified. │ │ │ 0002c610: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0002c620: 2020 3a66 6f72 6567 726f 756e 6420 2020 :foreground │ │ │ -0002c630: 2020 2775 6e73 7065 6369 6669 6564 0a20 'unspecified. │ │ │ +0002c620: 2020 203a 666f 7265 6772 6f75 6e64 2020 :foreground │ │ │ +0002c630: 2020 2027 756e 7370 6563 6966 6965 640a 'unspecified. │ │ │ 0002c640: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0002c650: 2020 2020 203a 6261 636b 6772 6f75 6e64 :background │ │ │ -0002c660: 2020 2020 2027 756e 7370 6563 6966 6965 'unspecifie │ │ │ -0002c670: 640a 2020 2020 2020 2020 2020 2020 2020 d. │ │ │ -0002c680: 2020 2020 2020 2020 3a69 6e76 6572 7365 :inverse │ │ │ -0002c690: 2d76 6964 656f 2020 2775 6e73 7065 6369 -video 'unspeci │ │ │ -0002c6a0: 6669 6564 0a20 2020 2020 2020 2020 2020 fied. │ │ │ -0002c6b0: 2020 2020 2020 2020 2020 203a 7374 6970 :stip │ │ │ -0002c6c0: 706c 6520 2020 2020 2020 2027 756e 7370 ple 'unsp │ │ │ -0002c6d0: 6563 6966 6965 640a 2020 2020 2020 2020 ecified. │ │ │ -0002c6e0: 2020 2020 2020 2020 2020 2020 2020 3a75 :u │ │ │ -0002c6f0: 6e64 6572 6c69 6e65 2020 2020 2020 2775 nderline 'u │ │ │ -0002c700: 6e73 7065 6369 6669 6564 0a20 2020 2020 nspecified. │ │ │ +0002c650: 2020 2020 2020 3a62 6163 6b67 726f 756e :backgroun │ │ │ +0002c660: 6420 2020 2020 2775 6e73 7065 6369 6669 d 'unspecifi │ │ │ +0002c670: 6564 0a20 2020 2020 2020 2020 2020 2020 ed. │ │ │ +0002c680: 2020 2020 2020 2020 203a 696e 7665 7273 :invers │ │ │ +0002c690: 652d 7669 6465 6f20 2027 756e 7370 6563 e-video 'unspec │ │ │ +0002c6a0: 6966 6965 640a 2020 2020 2020 2020 2020 ified. │ │ │ +0002c6b0: 2020 2020 2020 2020 2020 2020 3a73 7469 :sti │ │ │ +0002c6c0: 7070 6c65 2020 2020 2020 2020 2775 6e73 pple 'uns │ │ │ +0002c6d0: 7065 6369 6669 6564 0a20 2020 2020 2020 pecified. │ │ │ +0002c6e0: 2020 2020 2020 2020 2020 2020 2020 203a : │ │ │ +0002c6f0: 756e 6465 726c 696e 6520 2020 2020 2027 underline ' │ │ │ +0002c700: 756e 7370 6563 6966 6965 640a 2020 2020 unspecified. │ │ │ 0002c710: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0002c720: 203a 6f76 6572 6c69 6e65 2020 2020 2020 :overline │ │ │ -0002c730: 2027 756e 7370 6563 6966 6965 640a 2020 'unspecified. │ │ │ +0002c720: 2020 3a6f 7665 726c 696e 6520 2020 2020 :overline │ │ │ +0002c730: 2020 2775 6e73 7065 6369 6669 6564 0a20 'unspecified. │ │ │ 0002c740: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0002c750: 2020 2020 3a73 7472 696b 652d 7468 726f :strike-thro │ │ │ -0002c760: 7567 6820 2775 6e73 7065 6369 6669 6564 ugh 'unspecified │ │ │ -0002c770: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ -0002c780: 2020 2020 2020 203a 696e 6865 7269 7420 :inherit │ │ │ -0002c790: 2020 2020 2020 2027 756e 7370 6563 6966 'unspecif │ │ │ -0002c7a0: 6965 640a 2020 2020 2020 2020 2020 2020 ied. │ │ │ -0002c7b0: 2020 2020 2020 2020 2020 3a62 6f78 2020 :box │ │ │ -0002c7c0: 2020 2020 2020 2020 2020 2775 6e73 7065 'unspe │ │ │ -0002c7d0: 6369 6669 6564 0a20 2020 2020 2020 2020 cified. │ │ │ -0002c7e0: 2020 2020 2020 2020 2020 2020 203a 666f :fo │ │ │ -0002c7f0: 6e74 2020 2020 2020 2020 2020 2027 756e nt 'un │ │ │ -0002c800: 7370 6563 6966 6965 6429 0a20 2028 6576 specified). (ev │ │ │ -0002c810: 616c 2060 2873 6574 2d66 6163 652d 6174 al `(set-face-at │ │ │ -0002c820: 7472 6962 7574 6520 272c 6661 6365 206e tribute ',face n │ │ │ -0002c830: 696c 202c 4061 7474 7273 2929 290a 0a28 il ,@attrs)))..( │ │ │ -0002c840: 6465 6675 6e20 6167 6461 322d 6869 6768 defun agda2-high │ │ │ -0002c850: 6c69 6768 742d 7365 742d 6661 6365 7320 light-set-faces │ │ │ -0002c860: 2876 6172 6961 626c 6520 6772 6f75 7029 (variable group) │ │ │ -0002c870: 0a20 2022 5365 7420 616c 6c20 4167 6461 . "Set all Agda │ │ │ -0002c880: 2066 6163 6573 2061 6363 6f72 6469 6e67 faces according │ │ │ -0002c890: 2074 6f20 7468 6520 7661 6c75 6520 6f66 to the value of │ │ │ -0002c8a0: 2047 524f 5550 2e0a 416c 736f 2073 6574 GROUP..Also set │ │ │ -0002c8b0: 7320 7468 6520 6465 6661 756c 7420 7661 s the default va │ │ │ -0002c8c0: 6c75 6520 6f66 2056 4152 4941 424c 4520 lue of VARIABLE │ │ │ -0002c8d0: 746f 2047 524f 5550 2e22 0a20 2028 7365 to GROUP.". (se │ │ │ -0002c8e0: 742d 6465 6661 756c 7420 7661 7269 6162 t-default variab │ │ │ -0002c8f0: 6c65 2067 726f 7570 290a 2020 286d 6170 le group). (map │ │ │ -0002c900: 6320 286c 616d 6264 6120 2866 6163 652d c (lambda (face- │ │ │ -0002c910: 616e 642d 6174 7472 7329 0a20 2020 2020 and-attrs). │ │ │ -0002c920: 2020 2020 2028 6167 6461 322d 6869 6768 (agda2-high │ │ │ -0002c930: 6c69 6768 742d 7365 742d 6661 6365 2d61 light-set-face-a │ │ │ -0002c940: 7474 7269 6275 7465 0a20 2020 2020 2020 ttribute. │ │ │ -0002c950: 2020 2020 2863 6172 2066 6163 652d 616e (car face-an │ │ │ -0002c960: 642d 6174 7472 7329 2028 6364 7220 6661 d-attrs) (cdr fa │ │ │ -0002c970: 6365 2d61 6e64 2d61 7474 7273 2929 290a ce-and-attrs))). │ │ │ -0002c980: 2020 2020 2020 2020 2863 6f6e 640a 2020 (cond. │ │ │ -0002c990: 2020 2020 2020 2028 2865 7175 616c 2067 ((equal g │ │ │ -0002c9a0: 726f 7570 2027 636f 6e6f 7229 0a20 2020 roup 'conor). │ │ │ -0002c9b0: 2020 2020 2020 2027 2828 6167 6461 322d '((agda2- │ │ │ -0002c9c0: 6869 6768 6c69 6768 742d 6b65 7977 6f72 highlight-keywor │ │ │ -0002c9d0: 642d 6661 6365 0a20 2020 2020 2020 2020 d-face. │ │ │ -0002c9e0: 2020 2020 3a62 6f6c 6420 7429 0a20 2020 :bold t). │ │ │ -0002c9f0: 2020 2020 2020 2020 2028 6167 6461 322d (agda2- │ │ │ -0002ca00: 6869 6768 6c69 6768 742d 7374 7269 6e67 highlight-string │ │ │ -0002ca10: 2d66 6163 650a 2020 2020 2020 2020 2020 -face. │ │ │ -0002ca20: 2020 203a 666f 7265 6772 6f75 6e64 2022 :foreground " │ │ │ -0002ca30: 6669 7265 6272 6963 6b33 2229 0a20 2020 firebrick3"). │ │ │ -0002ca40: 2020 2020 2020 2020 2028 6167 6461 322d (agda2- │ │ │ -0002ca50: 6869 6768 6c69 6768 742d 6e75 6d62 6572 highlight-number │ │ │ -0002ca60: 2d66 6163 650a 2020 2020 2020 2020 2020 -face. │ │ │ -0002ca70: 2020 203a 666f 7265 6772 6f75 6e64 2022 :foreground " │ │ │ -0002ca80: 6669 7265 6272 6963 6b33 2229 0a20 2020 firebrick3"). │ │ │ -0002ca90: 2020 2020 2020 2020 2028 6167 6461 322d (agda2- │ │ │ -0002caa0: 6869 6768 6c69 6768 742d 7379 6d62 6f6c highlight-symbol │ │ │ -0002cab0: 2d66 6163 650a 2020 2020 2020 2020 2020 -face. │ │ │ -0002cac0: 2020 203a 666f 7265 6772 6f75 6e64 2022 :foreground " │ │ │ -0002cad0: 6772 6579 3235 2229 0a20 2020 2020 2020 grey25"). │ │ │ -0002cae0: 2020 2020 2028 6167 6461 322d 6869 6768 (agda2-high │ │ │ -0002caf0: 6c69 6768 742d 7072 696d 6974 6976 652d light-primitive- │ │ │ -0002cb00: 7479 7065 2d66 6163 650a 2020 2020 2020 type-face. │ │ │ -0002cb10: 2020 2020 2020 203a 666f 7265 6772 6f75 :foregrou │ │ │ -0002cb20: 6e64 2022 6d65 6469 756d 2062 6c75 6522 nd "medium blue" │ │ │ -0002cb30: 290a 2020 2020 2020 2020 2020 2020 2861 ). (a │ │ │ -0002cb40: 6764 6132 2d68 6967 686c 6967 6874 2d62 gda2-highlight-b │ │ │ -0002cb50: 6f75 6e64 2d76 6172 6961 626c 652d 6661 ound-variable-fa │ │ │ -0002cb60: 6365 0a20 2020 2020 2020 2020 2020 2020 ce. │ │ │ -0002cb70: 3a66 6f72 6567 726f 756e 6420 2270 7572 :foreground "pur │ │ │ -0002cb80: 706c 6522 290a 2020 2020 2020 2020 2020 ple"). │ │ │ -0002cb90: 2020 2861 6764 6132 2d68 6967 686c 6967 (agda2-highlig │ │ │ -0002cba0: 6874 2d67 656e 6572 616c 697a 6162 6c65 ht-generalizable │ │ │ -0002cbb0: 2d76 6172 6961 626c 652d 6661 6365 0a20 -variable-face. │ │ │ -0002cbc0: 2020 2020 2020 2020 2020 2020 3a66 6f72 :for │ │ │ -0002cbd0: 6567 726f 756e 6420 2270 7572 706c 6522 eground "purple" │ │ │ -0002cbe0: 290a 2020 2020 2020 2020 2020 2020 2861 ). (a │ │ │ -0002cbf0: 6764 6132 2d68 6967 686c 6967 6874 2d69 gda2-highlight-i │ │ │ -0002cc00: 6e64 7563 7469 7665 2d63 6f6e 7374 7275 nductive-constru │ │ │ -0002cc10: 6374 6f72 2d66 6163 650a 2020 2020 2020 ctor-face. │ │ │ -0002cc20: 2020 2020 2020 203a 666f 7265 6772 6f75 :foregrou │ │ │ -0002cc30: 6e64 2022 6669 7265 6272 6963 6b33 2229 nd "firebrick3") │ │ │ -0002cc40: 0a20 2020 2020 2020 2020 2020 2028 6167 . (ag │ │ │ -0002cc50: 6461 322d 6869 6768 6c69 6768 742d 636f da2-highlight-co │ │ │ -0002cc60: 696e 6475 6374 6976 652d 636f 6e73 7472 inductive-constr │ │ │ -0002cc70: 7563 746f 722d 6661 6365 0a20 2020 2020 uctor-face. │ │ │ -0002cc80: 2020 2020 2020 2020 3a66 6f72 6567 726f :foregro │ │ │ -0002cc90: 756e 6420 2266 6972 6562 7269 636b 3322 und "firebrick3" │ │ │ -0002cca0: 290a 2020 2020 2020 2020 2020 2020 2861 ). (a │ │ │ -0002ccb0: 6764 6132 2d68 6967 686c 6967 6874 2d64 gda2-highlight-d │ │ │ -0002ccc0: 6174 6174 7970 652d 6661 6365 0a20 2020 atatype-face. │ │ │ -0002ccd0: 2020 2020 2020 2020 2020 3a66 6f72 6567 :foreg │ │ │ -0002cce0: 726f 756e 6420 226d 6564 6975 6d20 626c round "medium bl │ │ │ -0002ccf0: 7565 2229 0a20 2020 2020 2020 2020 2020 ue"). │ │ │ -0002cd00: 2028 6167 6461 322d 6869 6768 6c69 6768 (agda2-highligh │ │ │ -0002cd10: 742d 6669 656c 642d 6661 6365 0a20 2020 t-field-face. │ │ │ -0002cd20: 2020 2020 2020 2020 2020 3a66 6f72 6567 :foreg │ │ │ -0002cd30: 726f 756e 6420 2264 6565 7070 696e 6b22 round "deeppink" │ │ │ -0002cd40: 290a 2020 2020 2020 2020 2020 2020 2861 ). (a │ │ │ -0002cd50: 6764 6132 2d68 6967 686c 6967 6874 2d66 gda2-highlight-f │ │ │ -0002cd60: 756e 6374 696f 6e2d 6661 6365 0a20 2020 unction-face. │ │ │ -0002cd70: 2020 2020 2020 2020 2020 3a66 6f72 6567 :foreg │ │ │ -0002cd80: 726f 756e 6420 2264 6172 6b67 7265 656e round "darkgreen │ │ │ -0002cd90: 2229 0a20 2020 2020 2020 2020 2020 2028 "). ( │ │ │ -0002cda0: 6167 6461 322d 6869 6768 6c69 6768 742d agda2-highlight- │ │ │ -0002cdb0: 6d6f 6475 6c65 2d66 6163 650a 2020 2020 module-face. │ │ │ -0002cdc0: 2020 2020 2020 2020 203a 666f 7265 6772 :foregr │ │ │ -0002cdd0: 6f75 6e64 2022 6d65 6469 756d 2062 6c75 ound "medium blu │ │ │ -0002cde0: 6522 290a 2020 2020 2020 2020 2020 2020 e"). │ │ │ -0002cdf0: 2861 6764 6132 2d68 6967 686c 6967 6874 (agda2-highlight │ │ │ -0002ce00: 2d70 6f73 7475 6c61 7465 2d66 6163 650a -postulate-face. │ │ │ -0002ce10: 2020 2020 2020 2020 2020 2020 203a 666f :fo │ │ │ -0002ce20: 7265 6772 6f75 6e64 2022 6461 726b 6772 reground "darkgr │ │ │ -0002ce30: 6565 6e22 290a 2020 2020 2020 2020 2020 een"). │ │ │ -0002ce40: 2020 2861 6764 6132 2d68 6967 686c 6967 (agda2-highlig │ │ │ -0002ce50: 6874 2d70 7269 6d69 7469 7665 2d66 6163 ht-primitive-fac │ │ │ -0002ce60: 650a 2020 2020 2020 2020 2020 2020 203a e. : │ │ │ -0002ce70: 666f 7265 6772 6f75 6e64 2022 6461 726b foreground "dark │ │ │ -0002ce80: 6772 6565 6e22 290a 2020 2020 2020 2020 green"). │ │ │ -0002ce90: 2020 2020 2861 6764 6132 2d68 6967 686c (agda2-highl │ │ │ -0002cea0: 6967 6874 2d6d 6163 726f 2d66 6163 650a ight-macro-face. │ │ │ -0002ceb0: 2020 2020 2020 2020 2020 2020 203a 666f :fo │ │ │ -0002cec0: 7265 6772 6f75 6e64 2022 6171 7561 6d61 reground "aquama │ │ │ -0002ced0: 7269 6e65 3422 290a 2020 2020 2020 2020 rine4"). │ │ │ -0002cee0: 2020 2020 2861 6764 6132 2d68 6967 686c (agda2-highl │ │ │ -0002cef0: 6967 6874 2d72 6563 6f72 642d 6661 6365 ight-record-face │ │ │ -0002cf00: 0a20 2020 2020 2020 2020 2020 2020 3a66 . :f │ │ │ -0002cf10: 6f72 6567 726f 756e 6420 226d 6564 6975 oreground "mediu │ │ │ -0002cf20: 6d20 626c 7565 2229 0a20 2020 2020 2020 m blue"). │ │ │ -0002cf30: 2020 2020 2028 6167 6461 322d 6869 6768 (agda2-high │ │ │ -0002cf40: 6c69 6768 742d 646f 7474 6564 2d66 6163 light-dotted-fac │ │ │ -0002cf50: 6529 0a20 2020 2020 2020 2020 2020 2028 e). ( │ │ │ -0002cf60: 6167 6461 322d 6869 6768 6c69 6768 742d agda2-highlight- │ │ │ -0002cf70: 6572 726f 722d 6661 6365 0a20 2020 2020 error-face. │ │ │ -0002cf80: 2020 2020 2020 2020 3a66 6f72 6567 726f :foregro │ │ │ -0002cf90: 756e 6420 2272 6564 220a 2020 2020 2020 und "red". │ │ │ -0002cfa0: 2020 2020 2020 203a 756e 6465 726c 696e :underlin │ │ │ -0002cfb0: 6520 7429 0a20 2020 2020 2020 2020 2020 e t). │ │ │ -0002cfc0: 2028 6167 6461 322d 6869 6768 6c69 6768 (agda2-highligh │ │ │ -0002cfd0: 742d 6572 726f 722d 7761 726e 696e 672d t-error-warning- │ │ │ -0002cfe0: 6661 6365 0a20 2020 2020 2020 2020 2020 face. │ │ │ -0002cff0: 2020 3a62 6163 6b67 726f 756e 6420 226c :background "l │ │ │ -0002d000: 6967 6874 2063 6f72 616c 220a 2020 2020 ight coral". │ │ │ -0002d010: 2020 2020 2020 2020 203a 756e 6465 726c :underl │ │ │ -0002d020: 696e 6520 7429 0a20 2020 2020 2020 2020 ine t). │ │ │ -0002d030: 2020 2028 6167 6461 322d 6869 6768 6c69 (agda2-highli │ │ │ -0002d040: 6768 742d 756e 736f 6c76 6564 2d6d 6574 ght-unsolved-met │ │ │ -0002d050: 612d 6661 6365 0a20 2020 2020 2020 2020 a-face. │ │ │ -0002d060: 2020 2020 3a66 6f72 6567 726f 756e 6420 :foreground │ │ │ -0002d070: 2262 6c61 636b 220a 2020 2020 2020 2020 "black". │ │ │ -0002d080: 2020 2020 203a 6261 636b 6772 6f75 6e64 :background │ │ │ -0002d090: 2022 7965 6c6c 6f77 2229 0a20 2020 2020 "yellow"). │ │ │ -0002d0a0: 2020 2020 2020 2028 6167 6461 322d 6869 (agda2-hi │ │ │ -0002d0b0: 6768 6c69 6768 742d 756e 736f 6c76 6564 ghlight-unsolved │ │ │ -0002d0c0: 2d63 6f6e 7374 7261 696e 742d 6661 6365 -constraint-face │ │ │ -0002d0d0: 0a20 2020 2020 2020 2020 2020 2020 3a66 . :f │ │ │ -0002d0e0: 6f72 6567 726f 756e 6420 2262 6c61 636b oreground "black │ │ │ -0002d0f0: 220a 2020 2020 2020 2020 2020 2020 203a ". : │ │ │ -0002d100: 6261 636b 6772 6f75 6e64 2022 7965 6c6c background "yell │ │ │ -0002d110: 6f77 2229 0a20 2020 2020 2020 2020 2020 ow"). │ │ │ -0002d120: 2028 6167 6461 322d 6869 6768 6c69 6768 (agda2-highligh │ │ │ -0002d130: 742d 7465 726d 696e 6174 696f 6e2d 7072 t-termination-pr │ │ │ -0002d140: 6f62 6c65 6d2d 6661 6365 0a20 2020 2020 oblem-face. │ │ │ -0002d150: 2020 2020 2020 2020 3a66 6f72 6567 726f :foregro │ │ │ -0002d160: 756e 6420 2262 6c61 636b 220a 2020 2020 und "black". │ │ │ -0002d170: 2020 2020 2020 2020 203a 6261 636b 6772 :backgr │ │ │ -0002d180: 6f75 6e64 2022 6c69 6768 7420 7361 6c6d ound "light salm │ │ │ -0002d190: 6f6e 2229 0a20 2020 2020 2020 2020 2020 on"). │ │ │ -0002d1a0: 2028 6167 6461 322d 6869 6768 6c69 6768 (agda2-highligh │ │ │ -0002d1b0: 742d 706f 7369 7469 7669 7479 2d70 726f t-positivity-pro │ │ │ -0002d1c0: 626c 656d 2d66 6163 650a 2020 2020 2020 blem-face. │ │ │ -0002d1d0: 2020 2020 2020 203a 666f 7265 6772 6f75 :foregrou │ │ │ -0002d1e0: 6e64 2022 626c 6163 6b22 0a20 2020 2020 nd "black". │ │ │ -0002d1f0: 2020 2020 2020 2020 3a62 6163 6b67 726f :backgro │ │ │ -0002d200: 756e 6420 2270 6572 7522 290a 2020 2020 und "peru"). │ │ │ -0002d210: 2020 2020 2020 2020 2861 6764 6132 2d68 (agda2-h │ │ │ -0002d220: 6967 686c 6967 6874 2d69 6e63 6f6d 706c ighlight-incompl │ │ │ -0002d230: 6574 652d 7061 7474 6572 6e2d 6661 6365 ete-pattern-face │ │ │ -0002d240: 0a20 2020 2020 2020 2020 2020 2020 3a66 . :f │ │ │ -0002d250: 6f72 6567 726f 756e 6420 2262 6c61 636b oreground "black │ │ │ -0002d260: 220a 2020 2020 2020 2020 2020 2020 203a ". : │ │ │ -0002d270: 6261 636b 6772 6f75 6e64 2022 7075 7270 background "purp │ │ │ -0002d280: 6c65 2229 0a20 2020 2020 2020 2020 2020 le"). │ │ │ -0002d290: 2028 6167 6461 322d 6869 6768 6c69 6768 (agda2-highligh │ │ │ -0002d2a0: 742d 7479 7065 6368 6563 6b73 2d66 6163 t-typechecks-fac │ │ │ -0002d2b0: 650a 2020 2020 2020 2020 2020 2020 203a e. : │ │ │ -0002d2c0: 666f 7265 6772 6f75 6e64 2022 626c 6163 foreground "blac │ │ │ -0002d2d0: 6b22 0a20 2020 2020 2020 2020 2020 2020 k". │ │ │ -0002d2e0: 3a62 6163 6b67 726f 756e 6420 226c 6967 :background "lig │ │ │ -0002d2f0: 6874 2062 6c75 6522 2929 290a 2020 2020 ht blue"))). │ │ │ -0002d300: 2020 2020 2028 2865 7175 616c 2067 726f ((equal gro │ │ │ -0002d310: 7570 2027 6465 6661 756c 742d 6661 6365 up 'default-face │ │ │ -0002d320: 7329 0a20 2020 2020 2020 2020 2028 6c69 s). (li │ │ │ -0002d330: 7374 2028 636f 6e73 2027 6167 6461 322d st (cons 'agda2- │ │ │ -0002d340: 6869 6768 6c69 6768 742d 6b65 7977 6f72 highlight-keywor │ │ │ -0002d350: 642d 6661 6365 0a20 2020 2020 2020 2020 d-face. │ │ │ -0002d360: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ -0002d370: 7374 203a 696e 6865 7269 7420 666f 6e74 st :inherit font │ │ │ -0002d380: 2d6c 6f63 6b2d 6b65 7977 6f72 642d 6661 -lock-keyword-fa │ │ │ -0002d390: 6365 2929 0a20 2020 2020 2020 2020 2020 ce)). │ │ │ -0002d3a0: 2020 2020 2028 636f 6e73 2027 6167 6461 (cons 'agda │ │ │ -0002d3b0: 322d 6869 6768 6c69 6768 742d 7374 7269 2-highlight-stri │ │ │ -0002d3c0: 6e67 2d66 6163 650a 2020 2020 2020 2020 ng-face. │ │ │ -0002d3d0: 2020 2020 2020 2020 2020 2020 2020 286c (l │ │ │ -0002d3e0: 6973 7420 3a69 6e68 6572 6974 2066 6f6e ist :inherit fon │ │ │ -0002d3f0: 742d 6c6f 636b 2d73 7472 696e 672d 6661 t-lock-string-fa │ │ │ -0002d400: 6365 2929 0a20 2020 2020 2020 2020 2020 ce)). │ │ │ -0002d410: 2020 2020 2028 636f 6e73 2027 6167 6461 (cons 'agda │ │ │ -0002d420: 322d 6869 6768 6c69 6768 742d 6e75 6d62 2-highlight-numb │ │ │ -0002d430: 6572 2d66 6163 650a 2020 2020 2020 2020 er-face. │ │ │ -0002d440: 2020 2020 2020 2020 2020 2020 2020 286c (l │ │ │ -0002d450: 6973 7420 3a69 6e68 6572 6974 2066 6f6e ist :inherit fon │ │ │ -0002d460: 742d 6c6f 636b 2d63 6f6e 7374 616e 742d t-lock-constant- │ │ │ -0002d470: 6661 6365 2929 0a20 2020 2020 2020 2020 face)). │ │ │ -0002d480: 2020 2020 2020 2028 636f 6e73 2027 6167 (cons 'ag │ │ │ -0002d490: 6461 322d 6869 6768 6c69 6768 742d 7379 da2-highlight-sy │ │ │ -0002d4a0: 6d62 6f6c 2d66 6163 650a 2020 2020 2020 mbol-face. │ │ │ +0002c750: 2020 2020 203a 7374 7269 6b65 2d74 6872 :strike-thr │ │ │ +0002c760: 6f75 6768 2027 756e 7370 6563 6966 6965 ough 'unspecifie │ │ │ +0002c770: 640a 2020 2020 2020 2020 2020 2020 2020 d. │ │ │ +0002c780: 2020 2020 2020 2020 3a69 6e68 6572 6974 :inherit │ │ │ +0002c790: 2020 2020 2020 2020 2775 6e73 7065 6369 'unspeci │ │ │ +0002c7a0: 6669 6564 0a20 2020 2020 2020 2020 2020 fied. │ │ │ +0002c7b0: 2020 2020 2020 2020 2020 203a 626f 7820 :box │ │ │ +0002c7c0: 2020 2020 2020 2020 2020 2027 756e 7370 'unsp │ │ │ +0002c7d0: 6563 6966 6965 640a 2020 2020 2020 2020 ecified. │ │ │ +0002c7e0: 2020 2020 2020 2020 2020 2020 2020 3a66 :f │ │ │ +0002c7f0: 6f6e 7420 2020 2020 2020 2020 2020 2775 ont 'u │ │ │ +0002c800: 6e73 7065 6369 6669 6564 290a 2020 2865 nspecified). (e │ │ │ +0002c810: 7661 6c20 6028 7365 742d 6661 6365 2d61 val `(set-face-a │ │ │ +0002c820: 7474 7269 6275 7465 2027 2c66 6163 6520 ttribute ',face │ │ │ +0002c830: 6e69 6c20 2c40 6174 7472 7329 2929 0a0a nil ,@attrs))).. │ │ │ +0002c840: 2864 6566 756e 2061 6764 6132 2d68 6967 (defun agda2-hig │ │ │ +0002c850: 686c 6967 6874 2d73 6574 2d66 6163 6573 hlight-set-faces │ │ │ +0002c860: 2028 7661 7269 6162 6c65 2067 726f 7570 (variable group │ │ │ +0002c870: 290a 2020 2253 6574 2061 6c6c 2041 6764 ). "Set all Agd │ │ │ +0002c880: 6120 6661 6365 7320 6163 636f 7264 696e a faces accordin │ │ │ +0002c890: 6720 746f 2074 6865 2076 616c 7565 206f g to the value o │ │ │ +0002c8a0: 6620 4752 4f55 502e 0a41 6c73 6f20 7365 f GROUP..Also se │ │ │ +0002c8b0: 7473 2074 6865 2064 6566 6175 6c74 2076 ts the default v │ │ │ +0002c8c0: 616c 7565 206f 6620 5641 5249 4142 4c45 alue of VARIABLE │ │ │ +0002c8d0: 2074 6f20 4752 4f55 502e 220a 2020 2873 to GROUP.". (s │ │ │ +0002c8e0: 6574 2d64 6566 6175 6c74 2076 6172 6961 et-default varia │ │ │ +0002c8f0: 626c 6520 6772 6f75 7029 0a20 2028 6d61 ble group). (ma │ │ │ +0002c900: 7063 2028 6c61 6d62 6461 2028 6661 6365 pc (lambda (face │ │ │ +0002c910: 2d61 6e64 2d61 7474 7273 290a 2020 2020 -and-attrs). │ │ │ +0002c920: 2020 2020 2020 2861 6764 6132 2d68 6967 (agda2-hig │ │ │ +0002c930: 686c 6967 6874 2d73 6574 2d66 6163 652d hlight-set-face- │ │ │ +0002c940: 6174 7472 6962 7574 650a 2020 2020 2020 attribute. │ │ │ +0002c950: 2020 2020 2028 6361 7220 6661 6365 2d61 (car face-a │ │ │ +0002c960: 6e64 2d61 7474 7273 2920 2863 6472 2066 nd-attrs) (cdr f │ │ │ +0002c970: 6163 652d 616e 642d 6174 7472 7329 2929 ace-and-attrs))) │ │ │ +0002c980: 0a20 2020 2020 2020 2028 636f 6e64 0a20 . (cond. │ │ │ +0002c990: 2020 2020 2020 2020 2828 6571 7561 6c20 ((equal │ │ │ +0002c9a0: 6772 6f75 7020 2763 6f6e 6f72 290a 2020 group 'conor). │ │ │ +0002c9b0: 2020 2020 2020 2020 2728 2861 6764 6132 '((agda2 │ │ │ +0002c9c0: 2d68 6967 686c 6967 6874 2d6b 6579 776f -highlight-keywo │ │ │ +0002c9d0: 7264 2d66 6163 650a 2020 2020 2020 2020 rd-face. │ │ │ +0002c9e0: 2020 2020 203a 626f 6c64 2074 290a 2020 :bold t). │ │ │ +0002c9f0: 2020 2020 2020 2020 2020 2861 6764 6132 (agda2 │ │ │ +0002ca00: 2d68 6967 686c 6967 6874 2d73 7472 696e -highlight-strin │ │ │ +0002ca10: 672d 6661 6365 0a20 2020 2020 2020 2020 g-face. │ │ │ +0002ca20: 2020 2020 3a66 6f72 6567 726f 756e 6420 :foreground │ │ │ +0002ca30: 2266 6972 6562 7269 636b 3322 290a 2020 "firebrick3"). │ │ │ +0002ca40: 2020 2020 2020 2020 2020 2861 6764 6132 (agda2 │ │ │ +0002ca50: 2d68 6967 686c 6967 6874 2d6e 756d 6265 -highlight-numbe │ │ │ +0002ca60: 722d 6661 6365 0a20 2020 2020 2020 2020 r-face. │ │ │ +0002ca70: 2020 2020 3a66 6f72 6567 726f 756e 6420 :foreground │ │ │ +0002ca80: 2266 6972 6562 7269 636b 3322 290a 2020 "firebrick3"). │ │ │ +0002ca90: 2020 2020 2020 2020 2020 2861 6764 6132 (agda2 │ │ │ +0002caa0: 2d68 6967 686c 6967 6874 2d73 796d 626f -highlight-symbo │ │ │ +0002cab0: 6c2d 6661 6365 0a20 2020 2020 2020 2020 l-face. │ │ │ +0002cac0: 2020 2020 3a66 6f72 6567 726f 756e 6420 :foreground │ │ │ +0002cad0: 2267 7265 7932 3522 290a 2020 2020 2020 "grey25"). │ │ │ +0002cae0: 2020 2020 2020 2861 6764 6132 2d68 6967 (agda2-hig │ │ │ +0002caf0: 686c 6967 6874 2d70 7269 6d69 7469 7665 hlight-primitive │ │ │ +0002cb00: 2d74 7970 652d 6661 6365 0a20 2020 2020 -type-face. │ │ │ +0002cb10: 2020 2020 2020 2020 3a66 6f72 6567 726f :foregro │ │ │ +0002cb20: 756e 6420 226d 6564 6975 6d20 626c 7565 und "medium blue │ │ │ +0002cb30: 2229 0a20 2020 2020 2020 2020 2020 2028 "). ( │ │ │ +0002cb40: 6167 6461 322d 6869 6768 6c69 6768 742d agda2-highlight- │ │ │ +0002cb50: 626f 756e 642d 7661 7269 6162 6c65 2d66 bound-variable-f │ │ │ +0002cb60: 6163 650a 2020 2020 2020 2020 2020 2020 ace. │ │ │ +0002cb70: 203a 666f 7265 6772 6f75 6e64 2022 7075 :foreground "pu │ │ │ +0002cb80: 7270 6c65 2229 0a20 2020 2020 2020 2020 rple"). │ │ │ +0002cb90: 2020 2028 6167 6461 322d 6869 6768 6c69 (agda2-highli │ │ │ +0002cba0: 6768 742d 6765 6e65 7261 6c69 7a61 626c ght-generalizabl │ │ │ +0002cbb0: 652d 7661 7269 6162 6c65 2d66 6163 650a e-variable-face. │ │ │ +0002cbc0: 2020 2020 2020 2020 2020 2020 203a 666f :fo │ │ │ +0002cbd0: 7265 6772 6f75 6e64 2022 7075 7270 6c65 reground "purple │ │ │ +0002cbe0: 2229 0a20 2020 2020 2020 2020 2020 2028 "). ( │ │ │ +0002cbf0: 6167 6461 322d 6869 6768 6c69 6768 742d agda2-highlight- │ │ │ +0002cc00: 696e 6475 6374 6976 652d 636f 6e73 7472 inductive-constr │ │ │ +0002cc10: 7563 746f 722d 6661 6365 0a20 2020 2020 uctor-face. │ │ │ +0002cc20: 2020 2020 2020 2020 3a66 6f72 6567 726f :foregro │ │ │ +0002cc30: 756e 6420 2266 6972 6562 7269 636b 3322 und "firebrick3" │ │ │ +0002cc40: 290a 2020 2020 2020 2020 2020 2020 2861 ). (a │ │ │ +0002cc50: 6764 6132 2d68 6967 686c 6967 6874 2d63 gda2-highlight-c │ │ │ +0002cc60: 6f69 6e64 7563 7469 7665 2d63 6f6e 7374 oinductive-const │ │ │ +0002cc70: 7275 6374 6f72 2d66 6163 650a 2020 2020 ructor-face. │ │ │ +0002cc80: 2020 2020 2020 2020 203a 666f 7265 6772 :foregr │ │ │ +0002cc90: 6f75 6e64 2022 6669 7265 6272 6963 6b33 ound "firebrick3 │ │ │ +0002cca0: 2229 0a20 2020 2020 2020 2020 2020 2028 "). ( │ │ │ +0002ccb0: 6167 6461 322d 6869 6768 6c69 6768 742d agda2-highlight- │ │ │ +0002ccc0: 6461 7461 7479 7065 2d66 6163 650a 2020 datatype-face. │ │ │ +0002ccd0: 2020 2020 2020 2020 2020 203a 666f 7265 :fore │ │ │ +0002cce0: 6772 6f75 6e64 2022 6d65 6469 756d 2062 ground "medium b │ │ │ +0002ccf0: 6c75 6522 290a 2020 2020 2020 2020 2020 lue"). │ │ │ +0002cd00: 2020 2861 6764 6132 2d68 6967 686c 6967 (agda2-highlig │ │ │ +0002cd10: 6874 2d66 6965 6c64 2d66 6163 650a 2020 ht-field-face. │ │ │ +0002cd20: 2020 2020 2020 2020 2020 203a 666f 7265 :fore │ │ │ +0002cd30: 6772 6f75 6e64 2022 6465 6570 7069 6e6b ground "deeppink │ │ │ +0002cd40: 2229 0a20 2020 2020 2020 2020 2020 2028 "). ( │ │ │ +0002cd50: 6167 6461 322d 6869 6768 6c69 6768 742d agda2-highlight- │ │ │ +0002cd60: 6675 6e63 7469 6f6e 2d66 6163 650a 2020 function-face. │ │ │ +0002cd70: 2020 2020 2020 2020 2020 203a 666f 7265 :fore │ │ │ +0002cd80: 6772 6f75 6e64 2022 6461 726b 6772 6565 ground "darkgree │ │ │ +0002cd90: 6e22 290a 2020 2020 2020 2020 2020 2020 n"). │ │ │ +0002cda0: 2861 6764 6132 2d68 6967 686c 6967 6874 (agda2-highlight │ │ │ +0002cdb0: 2d6d 6f64 756c 652d 6661 6365 0a20 2020 -module-face. │ │ │ +0002cdc0: 2020 2020 2020 2020 2020 3a66 6f72 6567 :foreg │ │ │ +0002cdd0: 726f 756e 6420 226d 6564 6975 6d20 626c round "medium bl │ │ │ +0002cde0: 7565 2229 0a20 2020 2020 2020 2020 2020 ue"). │ │ │ +0002cdf0: 2028 6167 6461 322d 6869 6768 6c69 6768 (agda2-highligh │ │ │ +0002ce00: 742d 706f 7374 756c 6174 652d 6661 6365 t-postulate-face │ │ │ +0002ce10: 0a20 2020 2020 2020 2020 2020 2020 3a66 . :f │ │ │ +0002ce20: 6f72 6567 726f 756e 6420 2264 6172 6b67 oreground "darkg │ │ │ +0002ce30: 7265 656e 2229 0a20 2020 2020 2020 2020 reen"). │ │ │ +0002ce40: 2020 2028 6167 6461 322d 6869 6768 6c69 (agda2-highli │ │ │ +0002ce50: 6768 742d 7072 696d 6974 6976 652d 6661 ght-primitive-fa │ │ │ +0002ce60: 6365 0a20 2020 2020 2020 2020 2020 2020 ce. │ │ │ +0002ce70: 3a66 6f72 6567 726f 756e 6420 2264 6172 :foreground "dar │ │ │ +0002ce80: 6b67 7265 656e 2229 0a20 2020 2020 2020 kgreen"). │ │ │ +0002ce90: 2020 2020 2028 6167 6461 322d 6869 6768 (agda2-high │ │ │ +0002cea0: 6c69 6768 742d 6d61 6372 6f2d 6661 6365 light-macro-face │ │ │ +0002ceb0: 0a20 2020 2020 2020 2020 2020 2020 3a66 . :f │ │ │ +0002cec0: 6f72 6567 726f 756e 6420 2261 7175 616d oreground "aquam │ │ │ +0002ced0: 6172 696e 6534 2229 0a20 2020 2020 2020 arine4"). │ │ │ +0002cee0: 2020 2020 2028 6167 6461 322d 6869 6768 (agda2-high │ │ │ +0002cef0: 6c69 6768 742d 7265 636f 7264 2d66 6163 light-record-fac │ │ │ +0002cf00: 650a 2020 2020 2020 2020 2020 2020 203a e. : │ │ │ +0002cf10: 666f 7265 6772 6f75 6e64 2022 6d65 6469 foreground "medi │ │ │ +0002cf20: 756d 2062 6c75 6522 290a 2020 2020 2020 um blue"). │ │ │ +0002cf30: 2020 2020 2020 2861 6764 6132 2d68 6967 (agda2-hig │ │ │ +0002cf40: 686c 6967 6874 2d64 6f74 7465 642d 6661 hlight-dotted-fa │ │ │ +0002cf50: 6365 290a 2020 2020 2020 2020 2020 2020 ce). │ │ │ +0002cf60: 2861 6764 6132 2d68 6967 686c 6967 6874 (agda2-highlight │ │ │ +0002cf70: 2d65 7272 6f72 2d66 6163 650a 2020 2020 -error-face. │ │ │ +0002cf80: 2020 2020 2020 2020 203a 666f 7265 6772 :foregr │ │ │ +0002cf90: 6f75 6e64 2022 7265 6422 0a20 2020 2020 ound "red". │ │ │ +0002cfa0: 2020 2020 2020 2020 3a75 6e64 6572 6c69 :underli │ │ │ +0002cfb0: 6e65 2074 290a 2020 2020 2020 2020 2020 ne t). │ │ │ +0002cfc0: 2020 2861 6764 6132 2d68 6967 686c 6967 (agda2-highlig │ │ │ +0002cfd0: 6874 2d65 7272 6f72 2d77 6172 6e69 6e67 ht-error-warning │ │ │ +0002cfe0: 2d66 6163 650a 2020 2020 2020 2020 2020 -face. │ │ │ +0002cff0: 2020 203a 6261 636b 6772 6f75 6e64 2022 :background " │ │ │ +0002d000: 6c69 6768 7420 636f 7261 6c22 0a20 2020 light coral". │ │ │ +0002d010: 2020 2020 2020 2020 2020 3a75 6e64 6572 :under │ │ │ +0002d020: 6c69 6e65 2074 290a 2020 2020 2020 2020 line t). │ │ │ +0002d030: 2020 2020 2861 6764 6132 2d68 6967 686c (agda2-highl │ │ │ +0002d040: 6967 6874 2d75 6e73 6f6c 7665 642d 6d65 ight-unsolved-me │ │ │ +0002d050: 7461 2d66 6163 650a 2020 2020 2020 2020 ta-face. │ │ │ +0002d060: 2020 2020 203a 666f 7265 6772 6f75 6e64 :foreground │ │ │ +0002d070: 2022 626c 6163 6b22 0a20 2020 2020 2020 "black". │ │ │ +0002d080: 2020 2020 2020 3a62 6163 6b67 726f 756e :backgroun │ │ │ +0002d090: 6420 2279 656c 6c6f 7722 290a 2020 2020 d "yellow"). │ │ │ +0002d0a0: 2020 2020 2020 2020 2861 6764 6132 2d68 (agda2-h │ │ │ +0002d0b0: 6967 686c 6967 6874 2d75 6e73 6f6c 7665 ighlight-unsolve │ │ │ +0002d0c0: 642d 636f 6e73 7472 6169 6e74 2d66 6163 d-constraint-fac │ │ │ +0002d0d0: 650a 2020 2020 2020 2020 2020 2020 203a e. : │ │ │ +0002d0e0: 666f 7265 6772 6f75 6e64 2022 626c 6163 foreground "blac │ │ │ +0002d0f0: 6b22 0a20 2020 2020 2020 2020 2020 2020 k". │ │ │ +0002d100: 3a62 6163 6b67 726f 756e 6420 2279 656c :background "yel │ │ │ +0002d110: 6c6f 7722 290a 2020 2020 2020 2020 2020 low"). │ │ │ +0002d120: 2020 2861 6764 6132 2d68 6967 686c 6967 (agda2-highlig │ │ │ +0002d130: 6874 2d74 6572 6d69 6e61 7469 6f6e 2d70 ht-termination-p │ │ │ +0002d140: 726f 626c 656d 2d66 6163 650a 2020 2020 roblem-face. │ │ │ +0002d150: 2020 2020 2020 2020 203a 666f 7265 6772 :foregr │ │ │ +0002d160: 6f75 6e64 2022 626c 6163 6b22 0a20 2020 ound "black". │ │ │ +0002d170: 2020 2020 2020 2020 2020 3a62 6163 6b67 :backg │ │ │ +0002d180: 726f 756e 6420 226c 6967 6874 2073 616c round "light sal │ │ │ +0002d190: 6d6f 6e22 290a 2020 2020 2020 2020 2020 mon"). │ │ │ +0002d1a0: 2020 2861 6764 6132 2d68 6967 686c 6967 (agda2-highlig │ │ │ +0002d1b0: 6874 2d70 6f73 6974 6976 6974 792d 7072 ht-positivity-pr │ │ │ +0002d1c0: 6f62 6c65 6d2d 6661 6365 0a20 2020 2020 oblem-face. │ │ │ +0002d1d0: 2020 2020 2020 2020 3a66 6f72 6567 726f :foregro │ │ │ +0002d1e0: 756e 6420 2262 6c61 636b 220a 2020 2020 und "black". │ │ │ +0002d1f0: 2020 2020 2020 2020 203a 6261 636b 6772 :backgr │ │ │ +0002d200: 6f75 6e64 2022 7065 7275 2229 0a20 2020 ound "peru"). │ │ │ +0002d210: 2020 2020 2020 2020 2028 6167 6461 322d (agda2- │ │ │ +0002d220: 6869 6768 6c69 6768 742d 696e 636f 6d70 highlight-incomp │ │ │ +0002d230: 6c65 7465 2d70 6174 7465 726e 2d66 6163 lete-pattern-fac │ │ │ +0002d240: 650a 2020 2020 2020 2020 2020 2020 203a e. : │ │ │ +0002d250: 666f 7265 6772 6f75 6e64 2022 626c 6163 foreground "blac │ │ │ +0002d260: 6b22 0a20 2020 2020 2020 2020 2020 2020 k". │ │ │ +0002d270: 3a62 6163 6b67 726f 756e 6420 2270 7572 :background "pur │ │ │ +0002d280: 706c 6522 290a 2020 2020 2020 2020 2020 ple"). │ │ │ +0002d290: 2020 2861 6764 6132 2d68 6967 686c 6967 (agda2-highlig │ │ │ +0002d2a0: 6874 2d74 7970 6563 6865 636b 732d 6661 ht-typechecks-fa │ │ │ +0002d2b0: 6365 0a20 2020 2020 2020 2020 2020 2020 ce. │ │ │ +0002d2c0: 3a66 6f72 6567 726f 756e 6420 2262 6c61 :foreground "bla │ │ │ +0002d2d0: 636b 220a 2020 2020 2020 2020 2020 2020 ck". │ │ │ +0002d2e0: 203a 6261 636b 6772 6f75 6e64 2022 6c69 :background "li │ │ │ +0002d2f0: 6768 7420 626c 7565 2229 2929 0a20 2020 ght blue"))). │ │ │ +0002d300: 2020 2020 2020 2828 6571 7561 6c20 6772 ((equal gr │ │ │ +0002d310: 6f75 7020 2764 6566 6175 6c74 2d66 6163 oup 'default-fac │ │ │ +0002d320: 6573 290a 2020 2020 2020 2020 2020 286c es). (l │ │ │ +0002d330: 6973 7420 2863 6f6e 7320 2761 6764 6132 ist (cons 'agda2 │ │ │ +0002d340: 2d68 6967 686c 6967 6874 2d6b 6579 776f -highlight-keywo │ │ │ +0002d350: 7264 2d66 6163 650a 2020 2020 2020 2020 rd-face. │ │ │ +0002d360: 2020 2020 2020 2020 2020 2020 2020 286c (l │ │ │ +0002d370: 6973 7420 3a69 6e68 6572 6974 2066 6f6e ist :inherit fon │ │ │ +0002d380: 742d 6c6f 636b 2d6b 6579 776f 7264 2d66 t-lock-keyword-f │ │ │ +0002d390: 6163 6529 290a 2020 2020 2020 2020 2020 ace)). │ │ │ +0002d3a0: 2020 2020 2020 2863 6f6e 7320 2761 6764 (cons 'agd │ │ │ +0002d3b0: 6132 2d68 6967 686c 6967 6874 2d73 7472 a2-highlight-str │ │ │ +0002d3c0: 696e 672d 6661 6365 0a20 2020 2020 2020 ing-face. │ │ │ +0002d3d0: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ +0002d3e0: 6c69 7374 203a 696e 6865 7269 7420 666f list :inherit fo │ │ │ +0002d3f0: 6e74 2d6c 6f63 6b2d 7374 7269 6e67 2d66 nt-lock-string-f │ │ │ +0002d400: 6163 6529 290a 2020 2020 2020 2020 2020 ace)). │ │ │ +0002d410: 2020 2020 2020 2863 6f6e 7320 2761 6764 (cons 'agd │ │ │ +0002d420: 6132 2d68 6967 686c 6967 6874 2d6e 756d a2-highlight-num │ │ │ +0002d430: 6265 722d 6661 6365 0a20 2020 2020 2020 ber-face. │ │ │ +0002d440: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ +0002d450: 6c69 7374 203a 696e 6865 7269 7420 666f list :inherit fo │ │ │ +0002d460: 6e74 2d6c 6f63 6b2d 636f 6e73 7461 6e74 nt-lock-constant │ │ │ +0002d470: 2d66 6163 6529 290a 2020 2020 2020 2020 -face)). │ │ │ +0002d480: 2020 2020 2020 2020 2863 6f6e 7320 2761 (cons 'a │ │ │ +0002d490: 6764 6132 2d68 6967 686c 6967 6874 2d73 gda2-highlight-s │ │ │ +0002d4a0: 796d 626f 6c2d 6661 6365 0a20 2020 2020 ymbol-face. │ │ │ 0002d4b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0002d4c0: 286c 6973 7420 3a69 6e68 6572 6974 2066 (list :inherit f │ │ │ -0002d4d0: 6f6e 742d 6c6f 636b 2d6b 6579 776f 7264 ont-lock-keyword │ │ │ -0002d4e0: 2d66 6163 6529 290a 2020 2020 2020 2020 -face)). │ │ │ -0002d4f0: 2020 2020 2020 2020 2863 6f6e 7320 2761 (cons 'a │ │ │ -0002d500: 6764 6132 2d68 6967 686c 6967 6874 2d70 gda2-highlight-p │ │ │ -0002d510: 7269 6d69 7469 7665 2d74 7970 652d 6661 rimitive-type-fa │ │ │ -0002d520: 6365 0a20 2020 2020 2020 2020 2020 2020 ce. │ │ │ -0002d530: 2020 2020 2020 2020 2028 6c69 7374 203a (list : │ │ │ -0002d540: 696e 6865 7269 7420 666f 6e74 2d6c 6f63 inherit font-loc │ │ │ -0002d550: 6b2d 6b65 7977 6f72 642d 6661 6365 2929 k-keyword-face)) │ │ │ -0002d560: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ -0002d570: 2028 636f 6e73 2027 6167 6461 322d 6869 (cons 'agda2-hi │ │ │ -0002d580: 6768 6c69 6768 742d 626f 756e 642d 7661 ghlight-bound-va │ │ │ -0002d590: 7269 6162 6c65 2d66 6163 650a 2020 2020 riable-face. │ │ │ +0002d4c0: 2028 6c69 7374 203a 696e 6865 7269 7420 (list :inherit │ │ │ +0002d4d0: 666f 6e74 2d6c 6f63 6b2d 6b65 7977 6f72 font-lock-keywor │ │ │ +0002d4e0: 642d 6661 6365 2929 0a20 2020 2020 2020 d-face)). │ │ │ +0002d4f0: 2020 2020 2020 2020 2028 636f 6e73 2027 (cons ' │ │ │ +0002d500: 6167 6461 322d 6869 6768 6c69 6768 742d agda2-highlight- │ │ │ +0002d510: 7072 696d 6974 6976 652d 7479 7065 2d66 primitive-type-f │ │ │ +0002d520: 6163 650a 2020 2020 2020 2020 2020 2020 ace. │ │ │ +0002d530: 2020 2020 2020 2020 2020 286c 6973 7420 (list │ │ │ +0002d540: 3a69 6e68 6572 6974 2066 6f6e 742d 6c6f :inherit font-lo │ │ │ +0002d550: 636b 2d6b 6579 776f 7264 2d66 6163 6529 ck-keyword-face) │ │ │ +0002d560: 290a 2020 2020 2020 2020 2020 2020 2020 ). │ │ │ +0002d570: 2020 2863 6f6e 7320 2761 6764 6132 2d68 (cons 'agda2-h │ │ │ +0002d580: 6967 686c 6967 6874 2d62 6f75 6e64 2d76 ighlight-bound-v │ │ │ +0002d590: 6172 6961 626c 652d 6661 6365 0a20 2020 ariable-face. │ │ │ 0002d5a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0002d5b0: 2020 286c 6973 7420 3a69 6e68 6572 6974 (list :inherit │ │ │ -0002d5c0: 2066 6f6e 742d 6c6f 636b 2d76 6172 6961 font-lock-varia │ │ │ -0002d5d0: 626c 652d 6e61 6d65 2d66 6163 6529 290a ble-name-face)). │ │ │ -0002d5e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0002d5f0: 2863 6f6e 7320 2761 6764 6132 2d68 6967 (cons 'agda2-hig │ │ │ -0002d600: 686c 6967 6874 2d67 656e 6572 616c 697a hlight-generaliz │ │ │ -0002d610: 6162 6c65 2d76 6172 6961 626c 652d 6661 able-variable-fa │ │ │ -0002d620: 6365 0a20 2020 2020 2020 2020 2020 2020 ce. │ │ │ -0002d630: 2020 2020 2020 2020 2028 6c69 7374 203a (list : │ │ │ -0002d640: 696e 6865 7269 7420 666f 6e74 2d6c 6f63 inherit font-loc │ │ │ -0002d650: 6b2d 7661 7269 6162 6c65 2d6e 616d 652d k-variable-name- │ │ │ -0002d660: 6661 6365 2929 0a20 2020 2020 2020 2020 face)). │ │ │ -0002d670: 2020 2020 2020 2028 636f 6e73 2027 6167 (cons 'ag │ │ │ -0002d680: 6461 322d 6869 6768 6c69 6768 742d 696e da2-highlight-in │ │ │ -0002d690: 6475 6374 6976 652d 636f 6e73 7472 7563 ductive-construc │ │ │ -0002d6a0: 746f 722d 6661 6365 0a20 2020 2020 2020 tor-face. │ │ │ -0002d6b0: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ -0002d6c0: 6c69 7374 203a 696e 6865 7269 7420 666f list :inherit fo │ │ │ -0002d6d0: 6e74 2d6c 6f63 6b2d 7479 7065 2d66 6163 nt-lock-type-fac │ │ │ -0002d6e0: 6529 290a 2020 2020 2020 2020 2020 2020 e)). │ │ │ -0002d6f0: 2020 2020 2863 6f6e 7320 2761 6764 6132 (cons 'agda2 │ │ │ -0002d700: 2d68 6967 686c 6967 6874 2d63 6f69 6e64 -highlight-coind │ │ │ -0002d710: 7563 7469 7665 2d63 6f6e 7374 7275 6374 uctive-construct │ │ │ -0002d720: 6f72 2d66 6163 650a 2020 2020 2020 2020 or-face. │ │ │ -0002d730: 2020 2020 2020 2020 2020 2020 2020 286c (l │ │ │ -0002d740: 6973 7420 3a69 6e68 6572 6974 2066 6f6e ist :inherit fon │ │ │ -0002d750: 742d 6c6f 636b 2d74 7970 652d 6661 6365 t-lock-type-face │ │ │ -0002d760: 2929 0a20 2020 2020 2020 2020 2020 2020 )). │ │ │ -0002d770: 2020 2028 636f 6e73 2027 6167 6461 322d (cons 'agda2- │ │ │ -0002d780: 6869 6768 6c69 6768 742d 6461 7461 7479 highlight-dataty │ │ │ -0002d790: 7065 2d66 6163 650a 2020 2020 2020 2020 pe-face. │ │ │ -0002d7a0: 2020 2020 2020 2020 2020 2020 2020 286c (l │ │ │ -0002d7b0: 6973 7420 3a69 6e68 6572 6974 2066 6f6e ist :inherit fon │ │ │ -0002d7c0: 742d 6c6f 636b 2d74 7970 652d 6661 6365 t-lock-type-face │ │ │ -0002d7d0: 2929 0a20 2020 2020 2020 2020 2020 2020 )). │ │ │ -0002d7e0: 2020 2028 636f 6e73 2027 6167 6461 322d (cons 'agda2- │ │ │ -0002d7f0: 6869 6768 6c69 6768 742d 6669 656c 642d highlight-field- │ │ │ -0002d800: 6661 6365 0a20 2020 2020 2020 2020 2020 face. │ │ │ -0002d810: 2020 2020 2020 2020 2020 2028 6c69 7374 (list │ │ │ -0002d820: 203a 696e 6865 7269 7420 666f 6e74 2d6c :inherit font-l │ │ │ -0002d830: 6f63 6b2d 7661 7269 6162 6c65 2d6e 616d ock-variable-nam │ │ │ -0002d840: 652d 6661 6365 2929 0a20 2020 2020 2020 e-face)). │ │ │ -0002d850: 2020 2020 2020 2020 2028 636f 6e73 2027 (cons ' │ │ │ -0002d860: 6167 6461 322d 6869 6768 6c69 6768 742d agda2-highlight- │ │ │ -0002d870: 6675 6e63 7469 6f6e 2d66 6163 650a 2020 function-face. │ │ │ +0002d5b0: 2020 2028 6c69 7374 203a 696e 6865 7269 (list :inheri │ │ │ +0002d5c0: 7420 666f 6e74 2d6c 6f63 6b2d 7661 7269 t font-lock-vari │ │ │ +0002d5d0: 6162 6c65 2d6e 616d 652d 6661 6365 2929 able-name-face)) │ │ │ +0002d5e0: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ +0002d5f0: 2028 636f 6e73 2027 6167 6461 322d 6869 (cons 'agda2-hi │ │ │ +0002d600: 6768 6c69 6768 742d 6765 6e65 7261 6c69 ghlight-generali │ │ │ +0002d610: 7a61 626c 652d 7661 7269 6162 6c65 2d66 zable-variable-f │ │ │ +0002d620: 6163 650a 2020 2020 2020 2020 2020 2020 ace. │ │ │ +0002d630: 2020 2020 2020 2020 2020 286c 6973 7420 (list │ │ │ +0002d640: 3a69 6e68 6572 6974 2066 6f6e 742d 6c6f :inherit font-lo │ │ │ +0002d650: 636b 2d76 6172 6961 626c 652d 6e61 6d65 ck-variable-name │ │ │ +0002d660: 2d66 6163 6529 290a 2020 2020 2020 2020 -face)). │ │ │ +0002d670: 2020 2020 2020 2020 2863 6f6e 7320 2761 (cons 'a │ │ │ +0002d680: 6764 6132 2d68 6967 686c 6967 6874 2d69 gda2-highlight-i │ │ │ +0002d690: 6e64 7563 7469 7665 2d63 6f6e 7374 7275 nductive-constru │ │ │ +0002d6a0: 6374 6f72 2d66 6163 650a 2020 2020 2020 ctor-face. │ │ │ +0002d6b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +0002d6c0: 286c 6973 7420 3a69 6e68 6572 6974 2066 (list :inherit f │ │ │ +0002d6d0: 6f6e 742d 6c6f 636b 2d74 7970 652d 6661 ont-lock-type-fa │ │ │ +0002d6e0: 6365 2929 0a20 2020 2020 2020 2020 2020 ce)). │ │ │ +0002d6f0: 2020 2020 2028 636f 6e73 2027 6167 6461 (cons 'agda │ │ │ +0002d700: 322d 6869 6768 6c69 6768 742d 636f 696e 2-highlight-coin │ │ │ +0002d710: 6475 6374 6976 652d 636f 6e73 7472 7563 ductive-construc │ │ │ +0002d720: 746f 722d 6661 6365 0a20 2020 2020 2020 tor-face. │ │ │ +0002d730: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ +0002d740: 6c69 7374 203a 696e 6865 7269 7420 666f list :inherit fo │ │ │ +0002d750: 6e74 2d6c 6f63 6b2d 7479 7065 2d66 6163 nt-lock-type-fac │ │ │ +0002d760: 6529 290a 2020 2020 2020 2020 2020 2020 e)). │ │ │ +0002d770: 2020 2020 2863 6f6e 7320 2761 6764 6132 (cons 'agda2 │ │ │ +0002d780: 2d68 6967 686c 6967 6874 2d64 6174 6174 -highlight-datat │ │ │ +0002d790: 7970 652d 6661 6365 0a20 2020 2020 2020 ype-face. │ │ │ +0002d7a0: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ +0002d7b0: 6c69 7374 203a 696e 6865 7269 7420 666f list :inherit fo │ │ │ +0002d7c0: 6e74 2d6c 6f63 6b2d 7479 7065 2d66 6163 nt-lock-type-fac │ │ │ +0002d7d0: 6529 290a 2020 2020 2020 2020 2020 2020 e)). │ │ │ +0002d7e0: 2020 2020 2863 6f6e 7320 2761 6764 6132 (cons 'agda2 │ │ │ +0002d7f0: 2d68 6967 686c 6967 6874 2d66 6965 6c64 -highlight-field │ │ │ +0002d800: 2d66 6163 650a 2020 2020 2020 2020 2020 -face. │ │ │ +0002d810: 2020 2020 2020 2020 2020 2020 286c 6973 (lis │ │ │ +0002d820: 7420 3a69 6e68 6572 6974 2066 6f6e 742d t :inherit font- │ │ │ +0002d830: 6c6f 636b 2d76 6172 6961 626c 652d 6e61 lock-variable-na │ │ │ +0002d840: 6d65 2d66 6163 6529 290a 2020 2020 2020 me-face)). │ │ │ +0002d850: 2020 2020 2020 2020 2020 2863 6f6e 7320 (cons │ │ │ +0002d860: 2761 6764 6132 2d68 6967 686c 6967 6874 'agda2-highlight │ │ │ +0002d870: 2d66 756e 6374 696f 6e2d 6661 6365 0a20 -function-face. │ │ │ 0002d880: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0002d890: 2020 2020 286c 6973 7420 3a69 6e68 6572 (list :inher │ │ │ -0002d8a0: 6974 2066 6f6e 742d 6c6f 636b 2d66 756e it font-lock-fun │ │ │ -0002d8b0: 6374 696f 6e2d 6e61 6d65 2d66 6163 6529 ction-name-face) │ │ │ -0002d8c0: 290a 2020 2020 2020 2020 2020 2020 2020 ). │ │ │ -0002d8d0: 2020 2863 6f6e 7320 2761 6764 6132 2d68 (cons 'agda2-h │ │ │ -0002d8e0: 6967 686c 6967 6874 2d6d 6f64 756c 652d ighlight-module- │ │ │ -0002d8f0: 6661 6365 0a20 2020 2020 2020 2020 2020 face. │ │ │ -0002d900: 2020 2020 2020 2020 2020 2028 6c69 7374 (list │ │ │ -0002d910: 203a 696e 6865 7269 7420 666f 6e74 2d6c :inherit font-l │ │ │ -0002d920: 6f63 6b2d 7479 7065 2d66 6163 6529 290a ock-type-face)). │ │ │ -0002d930: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0002d940: 2863 6f6e 7320 2761 6764 6132 2d68 6967 (cons 'agda2-hig │ │ │ -0002d950: 686c 6967 6874 2d70 6f73 7475 6c61 7465 hlight-postulate │ │ │ -0002d960: 2d66 6163 650a 2020 2020 2020 2020 2020 -face. │ │ │ -0002d970: 2020 2020 2020 2020 2020 2020 286c 6973 (lis │ │ │ -0002d980: 7420 3a69 6e68 6572 6974 2066 6f6e 742d t :inherit font- │ │ │ -0002d990: 6c6f 636b 2d74 7970 652d 6661 6365 2929 lock-type-face)) │ │ │ -0002d9a0: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ -0002d9b0: 2028 636f 6e73 2027 6167 6461 322d 6869 (cons 'agda2-hi │ │ │ -0002d9c0: 6768 6c69 6768 742d 7072 696d 6974 6976 ghlight-primitiv │ │ │ -0002d9d0: 652d 6661 6365 0a20 2020 2020 2020 2020 e-face. │ │ │ -0002d9e0: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ -0002d9f0: 7374 203a 696e 6865 7269 7420 666f 6e74 st :inherit font │ │ │ -0002da00: 2d6c 6f63 6b2d 636f 6e73 7461 6e74 2d66 -lock-constant-f │ │ │ -0002da10: 6163 6529 290a 2020 2020 2020 2020 2020 ace)). │ │ │ -0002da20: 2020 2020 2020 2863 6f6e 7320 2761 6764 (cons 'agd │ │ │ -0002da30: 6132 2d68 6967 686c 6967 6874 2d6d 6163 a2-highlight-mac │ │ │ -0002da40: 726f 2d66 6163 650a 2020 2020 2020 2020 ro-face. │ │ │ -0002da50: 2020 2020 2020 2020 2020 2020 2020 286c (l │ │ │ -0002da60: 6973 7420 3a69 6e68 6572 6974 2066 6f6e ist :inherit fon │ │ │ -0002da70: 742d 6c6f 636b 2d66 756e 6374 696f 6e2d t-lock-function- │ │ │ -0002da80: 6e61 6d65 2d66 6163 6529 290a 2020 2020 name-face)). │ │ │ -0002da90: 2020 2020 2020 2020 2020 2020 2863 6f6e (con │ │ │ -0002daa0: 7320 2761 6764 6132 2d68 6967 686c 6967 s 'agda2-highlig │ │ │ -0002dab0: 6874 2d72 6563 6f72 642d 6661 6365 0a20 ht-record-face. │ │ │ +0002d890: 2020 2020 2028 6c69 7374 203a 696e 6865 (list :inhe │ │ │ +0002d8a0: 7269 7420 666f 6e74 2d6c 6f63 6b2d 6675 rit font-lock-fu │ │ │ +0002d8b0: 6e63 7469 6f6e 2d6e 616d 652d 6661 6365 nction-name-face │ │ │ +0002d8c0: 2929 0a20 2020 2020 2020 2020 2020 2020 )). │ │ │ +0002d8d0: 2020 2028 636f 6e73 2027 6167 6461 322d (cons 'agda2- │ │ │ +0002d8e0: 6869 6768 6c69 6768 742d 6d6f 6475 6c65 highlight-module │ │ │ +0002d8f0: 2d66 6163 650a 2020 2020 2020 2020 2020 -face. │ │ │ +0002d900: 2020 2020 2020 2020 2020 2020 286c 6973 (lis │ │ │ +0002d910: 7420 3a69 6e68 6572 6974 2066 6f6e 742d t :inherit font- │ │ │ +0002d920: 6c6f 636b 2d74 7970 652d 6661 6365 2929 lock-type-face)) │ │ │ +0002d930: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ +0002d940: 2028 636f 6e73 2027 6167 6461 322d 6869 (cons 'agda2-hi │ │ │ +0002d950: 6768 6c69 6768 742d 706f 7374 756c 6174 ghlight-postulat │ │ │ +0002d960: 652d 6661 6365 0a20 2020 2020 2020 2020 e-face. │ │ │ +0002d970: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ +0002d980: 7374 203a 696e 6865 7269 7420 666f 6e74 st :inherit font │ │ │ +0002d990: 2d6c 6f63 6b2d 7479 7065 2d66 6163 6529 -lock-type-face) │ │ │ +0002d9a0: 290a 2020 2020 2020 2020 2020 2020 2020 ). │ │ │ +0002d9b0: 2020 2863 6f6e 7320 2761 6764 6132 2d68 (cons 'agda2-h │ │ │ +0002d9c0: 6967 686c 6967 6874 2d70 7269 6d69 7469 ighlight-primiti │ │ │ +0002d9d0: 7665 2d66 6163 650a 2020 2020 2020 2020 ve-face. │ │ │ +0002d9e0: 2020 2020 2020 2020 2020 2020 2020 286c (l │ │ │ +0002d9f0: 6973 7420 3a69 6e68 6572 6974 2066 6f6e ist :inherit fon │ │ │ +0002da00: 742d 6c6f 636b 2d63 6f6e 7374 616e 742d t-lock-constant- │ │ │ +0002da10: 6661 6365 2929 0a20 2020 2020 2020 2020 face)). │ │ │ +0002da20: 2020 2020 2020 2028 636f 6e73 2027 6167 (cons 'ag │ │ │ +0002da30: 6461 322d 6869 6768 6c69 6768 742d 6d61 da2-highlight-ma │ │ │ +0002da40: 6372 6f2d 6661 6365 0a20 2020 2020 2020 cro-face. │ │ │ +0002da50: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ +0002da60: 6c69 7374 203a 696e 6865 7269 7420 666f list :inherit fo │ │ │ +0002da70: 6e74 2d6c 6f63 6b2d 6675 6e63 7469 6f6e nt-lock-function │ │ │ +0002da80: 2d6e 616d 652d 6661 6365 2929 0a20 2020 -name-face)). │ │ │ +0002da90: 2020 2020 2020 2020 2020 2020 2028 636f (co │ │ │ +0002daa0: 6e73 2027 6167 6461 322d 6869 6768 6c69 ns 'agda2-highli │ │ │ +0002dab0: 6768 742d 7265 636f 7264 2d66 6163 650a ght-record-face. │ │ │ 0002dac0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0002dad0: 2020 2020 2028 6c69 7374 203a 696e 6865 (list :inhe │ │ │ -0002dae0: 7269 7420 666f 6e74 2d6c 6f63 6b2d 7661 rit font-lock-va │ │ │ -0002daf0: 7269 6162 6c65 2d6e 616d 652d 6661 6365 riable-name-face │ │ │ -0002db00: 2929 0a20 2020 2020 2020 2020 2020 2020 )). │ │ │ -0002db10: 2020 2028 636f 6e73 2027 6167 6461 322d (cons 'agda2- │ │ │ -0002db20: 6869 6768 6c69 6768 742d 646f 7474 6564 highlight-dotted │ │ │ -0002db30: 2d66 6163 650a 2020 2020 2020 2020 2020 -face. │ │ │ -0002db40: 2020 2020 2020 2020 2020 2020 286c 6973 (lis │ │ │ -0002db50: 7420 3a69 6e68 6572 6974 2066 6f6e 742d t :inherit font- │ │ │ -0002db60: 6c6f 636b 2d76 6172 6961 626c 652d 6e61 lock-variable-na │ │ │ -0002db70: 6d65 2d66 6163 6529 290a 2020 2020 2020 me-face)). │ │ │ -0002db80: 2020 2020 2020 2020 2020 2863 6f6e 7320 (cons │ │ │ -0002db90: 2761 6764 6132 2d68 6967 686c 6967 6874 'agda2-highlight │ │ │ -0002dba0: 2d6f 7065 7261 746f 722d 6661 6365 0a20 -operator-face. │ │ │ +0002dad0: 2020 2020 2020 286c 6973 7420 3a69 6e68 (list :inh │ │ │ +0002dae0: 6572 6974 2066 6f6e 742d 6c6f 636b 2d76 erit font-lock-v │ │ │ +0002daf0: 6172 6961 626c 652d 6e61 6d65 2d66 6163 ariable-name-fac │ │ │ +0002db00: 6529 290a 2020 2020 2020 2020 2020 2020 e)). │ │ │ +0002db10: 2020 2020 2863 6f6e 7320 2761 6764 6132 (cons 'agda2 │ │ │ +0002db20: 2d68 6967 686c 6967 6874 2d64 6f74 7465 -highlight-dotte │ │ │ +0002db30: 642d 6661 6365 0a20 2020 2020 2020 2020 d-face. │ │ │ +0002db40: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ +0002db50: 7374 203a 696e 6865 7269 7420 666f 6e74 st :inherit font │ │ │ +0002db60: 2d6c 6f63 6b2d 7661 7269 6162 6c65 2d6e -lock-variable-n │ │ │ +0002db70: 616d 652d 6661 6365 2929 0a20 2020 2020 ame-face)). │ │ │ +0002db80: 2020 2020 2020 2020 2020 2028 636f 6e73 (cons │ │ │ +0002db90: 2027 6167 6461 322d 6869 6768 6c69 6768 'agda2-highligh │ │ │ +0002dba0: 742d 6f70 6572 6174 6f72 2d66 6163 650a t-operator-face. │ │ │ 0002dbb0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0002dbc0: 2020 2020 2028 6c69 7374 203a 696e 6865 (list :inhe │ │ │ -0002dbd0: 7269 7420 666f 6e74 2d6c 6f63 6b2d 6675 rit font-lock-fu │ │ │ -0002dbe0: 6e63 7469 6f6e 2d6e 616d 652d 6661 6365 nction-name-face │ │ │ -0002dbf0: 2929 0a20 2020 2020 2020 2020 2020 2020 )). │ │ │ -0002dc00: 2020 2028 636f 6e73 2027 6167 6461 322d (cons 'agda2- │ │ │ -0002dc10: 6869 6768 6c69 6768 742d 6572 726f 722d highlight-error- │ │ │ -0002dc20: 6661 6365 0a20 2020 2020 2020 2020 2020 face. │ │ │ -0002dc30: 2020 2020 2020 2020 2020 2028 6c69 7374 (list │ │ │ -0002dc40: 203a 696e 6865 7269 7420 666f 6e74 2d6c :inherit font-l │ │ │ -0002dc50: 6f63 6b2d 7761 726e 696e 672d 6661 6365 ock-warning-face │ │ │ -0002dc60: 2929 0a20 2020 2020 2020 2020 2020 2020 )). │ │ │ -0002dc70: 2020 2028 636f 6e73 2027 6167 6461 322d (cons 'agda2- │ │ │ -0002dc80: 6869 6768 6c69 6768 742d 7479 7065 6368 highlight-typech │ │ │ -0002dc90: 6563 6b73 2d66 6163 650a 2020 2020 2020 ecks-face. │ │ │ +0002dbc0: 2020 2020 2020 286c 6973 7420 3a69 6e68 (list :inh │ │ │ +0002dbd0: 6572 6974 2066 6f6e 742d 6c6f 636b 2d66 erit font-lock-f │ │ │ +0002dbe0: 756e 6374 696f 6e2d 6e61 6d65 2d66 6163 unction-name-fac │ │ │ +0002dbf0: 6529 290a 2020 2020 2020 2020 2020 2020 e)). │ │ │ +0002dc00: 2020 2020 2863 6f6e 7320 2761 6764 6132 (cons 'agda2 │ │ │ +0002dc10: 2d68 6967 686c 6967 6874 2d65 7272 6f72 -highlight-error │ │ │ +0002dc20: 2d66 6163 650a 2020 2020 2020 2020 2020 -face. │ │ │ +0002dc30: 2020 2020 2020 2020 2020 2020 286c 6973 (lis │ │ │ +0002dc40: 7420 3a69 6e68 6572 6974 2066 6f6e 742d t :inherit font- │ │ │ +0002dc50: 6c6f 636b 2d77 6172 6e69 6e67 2d66 6163 lock-warning-fac │ │ │ +0002dc60: 6529 290a 2020 2020 2020 2020 2020 2020 e)). │ │ │ +0002dc70: 2020 2020 2863 6f6e 7320 2761 6764 6132 (cons 'agda2 │ │ │ +0002dc80: 2d68 6967 686c 6967 6874 2d74 7970 6563 -highlight-typec │ │ │ +0002dc90: 6865 636b 732d 6661 6365 0a20 2020 2020 hecks-face. │ │ │ 0002dca0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0002dcb0: 286c 6973 7420 3a69 6e68 6572 6974 2066 (list :inherit f │ │ │ -0002dcc0: 6f6e 742d 6c6f 636b 2d74 7970 652d 6661 ont-lock-type-fa │ │ │ -0002dcd0: 6365 2929 0a20 2020 2020 2020 2020 2020 ce)). │ │ │ -0002dce0: 2020 2020 2028 636f 6e73 2027 6167 6461 (cons 'agda │ │ │ -0002dcf0: 322d 6869 6768 6c69 6768 742d 7479 7065 2-highlight-type │ │ │ -0002dd00: 6368 6563 6b69 6e67 2d66 6163 650a 2020 checking-face. │ │ │ +0002dcb0: 2028 6c69 7374 203a 696e 6865 7269 7420 (list :inherit │ │ │ +0002dcc0: 666f 6e74 2d6c 6f63 6b2d 7479 7065 2d66 font-lock-type-f │ │ │ +0002dcd0: 6163 6529 290a 2020 2020 2020 2020 2020 ace)). │ │ │ +0002dce0: 2020 2020 2020 2863 6f6e 7320 2761 6764 (cons 'agd │ │ │ +0002dcf0: 6132 2d68 6967 686c 6967 6874 2d74 7970 a2-highlight-typ │ │ │ +0002dd00: 6563 6865 636b 696e 672d 6661 6365 0a20 echecking-face. │ │ │ 0002dd10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0002dd20: 2020 2020 286c 6973 7420 3a69 6e68 6572 (list :inher │ │ │ -0002dd30: 6974 2066 6f6e 742d 6c6f 636b 2d70 7265 it font-lock-pre │ │ │ -0002dd40: 7072 6f63 6573 736f 722d 6661 6365 2929 processor-face)) │ │ │ -0002dd50: 2929 2929 290a 0a3b 3b3b 3b3b 3b3b 3b3b )))))..;;;;;;;;; │ │ │ +0002dd20: 2020 2020 2028 6c69 7374 203a 696e 6865 (list :inhe │ │ │ +0002dd30: 7269 7420 666f 6e74 2d6c 6f63 6b2d 7072 rit font-lock-pr │ │ │ +0002dd40: 6570 726f 6365 7373 6f72 2d66 6163 6529 eprocessor-face) │ │ │ +0002dd50: 2929 2929 2929 0a0a 3b3b 3b3b 3b3b 3b3b ))))))..;;;;;;;; │ │ │ 0002dd60: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 0002dd70: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 0002dd80: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ -0002dd90: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b0a ;;;;;;;;;;;;;;;. │ │ │ -0002dda0: 3b3b 2046 6163 6573 0a0a 2864 6566 6375 ;; Faces..(defcu │ │ │ -0002ddb0: 7374 6f6d 2061 6764 6132 2d68 6967 686c stom agda2-highl │ │ │ -0002ddc0: 6967 6874 2d66 6163 652d 6772 6f75 7073 ight-face-groups │ │ │ -0002ddd0: 206e 696c 0a20 2022 436f 6c6f 7572 2073 nil. "Colour s │ │ │ -0002dde0: 6368 656d 6520 7573 6564 2069 6e20 4167 cheme used in Ag │ │ │ -0002ddf0: 6461 2062 7566 6665 7273 2e0a 4368 616e da buffers..Chan │ │ │ -0002de00: 6765 7320 746f 2074 6869 7320 7661 7269 ges to this vari │ │ │ -0002de10: 6162 6c65 206d 6179 206e 6f74 2074 616b able may not tak │ │ │ -0002de20: 6520 6675 6c6c 2065 6666 6563 7420 756e e full effect un │ │ │ -0002de30: 7469 6c20 796f 7520 6861 7665 0a72 6573 til you have.res │ │ │ -0002de40: 7461 7274 6564 2045 6d61 6373 2e20 4e6f tarted Emacs. No │ │ │ -0002de50: 7465 2061 6c73 6f20 7468 6174 2069 6620 te also that if │ │ │ -0002de60: 796f 7520 6172 6520 7573 696e 6720 7468 you are using th │ │ │ -0002de70: 650a 6465 6661 756c 742d 6661 6365 7320 e.default-faces │ │ │ -0002de80: 6f70 7469 6f6e 2061 6e64 2063 6861 6e67 option and chang │ │ │ -0002de90: 6520 796f 7572 2063 6f6c 6f75 7220 7468 e your colour th │ │ │ -0002dea0: 656d 652c 2074 6865 6e20 7468 650a 6368 eme, then the.ch │ │ │ -0002deb0: 616e 6765 7320 6d61 7920 6e6f 7420 7461 anges may not ta │ │ │ -0002dec0: 6b65 2065 6666 6563 7420 696e 2041 6764 ke effect in Agd │ │ │ -0002ded0: 6120 6275 6666 6572 7320 756e 7469 6c20 a buffers until │ │ │ -0002dee0: 796f 7520 6861 7665 0a72 6573 7461 7274 you have.restart │ │ │ -0002def0: 6564 2045 6d61 6373 2e22 0a20 203a 7479 ed Emacs.". :ty │ │ │ -0002df00: 7065 2027 2863 686f 6963 650a 2020 2020 pe '(choice. │ │ │ -0002df10: 2020 2020 2020 2863 6f6e 7374 203a 7461 (const :ta │ │ │ -0002df20: 6720 2255 7365 2074 6865 2073 6574 7469 g "Use the setti │ │ │ -0002df30: 6e67 7320 696e 2074 6865 205c 2241 6764 ngs in the \"Agd │ │ │ -0002df40: 6132 2048 6967 686c 6967 6874 2046 6163 a2 Highlight Fac │ │ │ -0002df50: 6573 5c22 2073 7562 6772 6f75 702e 2220 es\" subgroup." │ │ │ -0002df60: 6e69 6c29 0a20 2020 2020 2020 2020 2028 nil). ( │ │ │ -0002df70: 636f 6e73 7420 3a74 6167 2022 5573 6520 const :tag "Use │ │ │ -0002df80: 616e 2061 7070 726f 7869 6d61 7469 6f6e an approximation │ │ │ -0002df90: 206f 6620 436f 6e6f 7220 4d63 4272 6964 of Conor McBrid │ │ │ -0002dfa0: 6527 7320 636f 6c6f 7572 2073 6368 656d e's colour schem │ │ │ -0002dfb0: 652e 220a 2020 2020 2020 2020 2020 2020 e.". │ │ │ -0002dfc0: 2020 2020 2063 6f6e 6f72 290a 2020 2020 conor). │ │ │ -0002dfd0: 2020 2020 2020 2863 6f6e 7374 203a 7461 (const :ta │ │ │ -0002dfe0: 6720 2255 7365 2073 696d 706c 6966 6965 g "Use simplifie │ │ │ -0002dff0: 6420 6869 6768 6c69 6768 7469 6e67 2061 d highlighting a │ │ │ -0002e000: 6e64 2064 6566 6175 6c74 2066 6f6e 742d nd default font- │ │ │ -0002e010: 6c6f 636b 2066 6163 6573 2e22 0a20 2020 lock faces.". │ │ │ -0002e020: 2020 2020 2020 2020 2020 2020 2020 6465 de │ │ │ -0002e030: 6661 756c 742d 6661 6365 7329 290a 2020 fault-faces)). │ │ │ -0002e040: 3a67 726f 7570 2027 6167 6461 322d 6869 :group 'agda2-hi │ │ │ -0002e050: 6768 6c69 6768 740a 2020 3a73 6574 2027 ghlight. :set ' │ │ │ -0002e060: 6167 6461 322d 6869 6768 6c69 6768 742d agda2-highlight- │ │ │ -0002e070: 7365 742d 6661 6365 7329 0a0a 2864 6566 set-faces)..(def │ │ │ -0002e080: 6772 6f75 7020 6167 6461 322d 6869 6768 group agda2-high │ │ │ -0002e090: 6c69 6768 742d 6661 6365 7320 6e69 6c0a light-faces nil. │ │ │ -0002e0a0: 2020 2246 6163 6573 2075 7365 6420 746f "Faces used to │ │ │ -0002e0b0: 2068 6967 686c 6967 6874 2041 6764 6120 highlight Agda │ │ │ -0002e0c0: 636f 6465 2e0a 4966 2060 6167 6461 322d code..If `agda2- │ │ │ -0002e0d0: 6869 6768 6c69 6768 742d 6661 6365 2d67 highlight-face-g │ │ │ -0002e0e0: 726f 7570 7327 2069 7320 6e69 6c2e 220a roups' is nil.". │ │ │ -0002e0f0: 2020 3a67 726f 7570 2027 6167 6461 322d :group 'agda2- │ │ │ -0002e100: 6869 6768 6c69 6768 7429 0a0a 2864 6566 highlight)..(def │ │ │ -0002e110: 6661 6365 2061 6764 6132 2d68 6967 686c face agda2-highl │ │ │ -0002e120: 6967 6874 2d6b 6579 776f 7264 2d66 6163 ight-keyword-fac │ │ │ -0002e130: 650a 2020 2728 2828 2862 6163 6b67 726f e. '((((backgro │ │ │ -0002e140: 756e 6420 6c69 6768 7429 290a 2020 2020 und light)). │ │ │ -0002e150: 2028 3a66 6f72 6567 726f 756e 6420 2244 (:foreground "D │ │ │ -0002e160: 6172 6b4f 7261 6e67 6533 2229 290a 2020 arkOrange3")). │ │ │ -0002e170: 2020 2828 2862 6163 6b67 726f 756e 6420 (((background │ │ │ -0002e180: 6461 726b 2929 0a20 2020 2020 283a 666f dark)). (:fo │ │ │ -0002e190: 7265 6772 6f75 6e64 2022 2346 4639 3933 reground "#FF993 │ │ │ -0002e1a0: 3222 2929 290a 2020 2254 6865 2066 6163 2"))). "The fac │ │ │ -0002e1b0: 6520 7573 6564 2066 6f72 206b 6579 776f e used for keywo │ │ │ -0002e1c0: 7264 732e 220a 2020 3a67 726f 7570 2027 rds.". :group ' │ │ │ -0002e1d0: 6167 6461 322d 6869 6768 6c69 6768 742d agda2-highlight- │ │ │ -0002e1e0: 6661 6365 7329 0a0a 2864 6566 6661 6365 faces)..(defface │ │ │ -0002e1f0: 2061 6764 6132 2d68 6967 686c 6967 6874 agda2-highlight │ │ │ -0002e200: 2d73 7472 696e 672d 6661 6365 0a20 2027 -string-face. ' │ │ │ -0002e210: 2828 2828 6261 636b 6772 6f75 6e64 206c ((((background l │ │ │ -0002e220: 6967 6874 2929 0a20 2020 2020 283a 666f ight)). (:fo │ │ │ -0002e230: 7265 6772 6f75 6e64 2022 6669 7265 6272 reground "firebr │ │ │ -0002e240: 6963 6b22 2929 0a20 2020 2028 2828 6261 ick")). (((ba │ │ │ -0002e250: 636b 6772 6f75 6e64 2064 6172 6b29 290a ckground dark)). │ │ │ -0002e260: 2020 2020 2028 3a66 6f72 6567 726f 756e (:foregroun │ │ │ -0002e270: 6420 2223 4444 3444 3444 2229 2929 0a20 d "#DD4D4D"))). │ │ │ -0002e280: 2022 5468 6520 6661 6365 2075 7365 6420 "The face used │ │ │ -0002e290: 666f 7220 7374 7269 6e67 732e 220a 2020 for strings.". │ │ │ -0002e2a0: 3a67 726f 7570 2027 6167 6461 322d 6869 :group 'agda2-hi │ │ │ -0002e2b0: 6768 6c69 6768 742d 6661 6365 7329 0a0a ghlight-faces).. │ │ │ -0002e2c0: 2864 6566 6661 6365 2061 6764 6132 2d68 (defface agda2-h │ │ │ -0002e2d0: 6967 686c 6967 6874 2d6e 756d 6265 722d ighlight-number- │ │ │ -0002e2e0: 6661 6365 0a20 2027 2828 2828 6261 636b face. '((((back │ │ │ -0002e2f0: 6772 6f75 6e64 206c 6967 6874 2929 0a20 ground light)). │ │ │ -0002e300: 2020 2020 283a 666f 7265 6772 6f75 6e64 (:foreground │ │ │ -0002e310: 2022 7075 7270 6c65 2229 290a 2020 2020 "purple")). │ │ │ -0002e320: 2828 2862 6163 6b67 726f 756e 6420 6461 (((background da │ │ │ -0002e330: 726b 2929 0a20 2020 2020 283a 666f 7265 rk)). (:fore │ │ │ -0002e340: 6772 6f75 6e64 2022 2339 3031 3045 3022 ground "#9010E0" │ │ │ -0002e350: 2929 290a 2020 2254 6865 2066 6163 6520 ))). "The face │ │ │ -0002e360: 7573 6564 2066 6f72 206e 756d 6265 7273 used for numbers │ │ │ -0002e370: 2e22 0a20 203a 6772 6f75 7020 2761 6764 .". :group 'agd │ │ │ -0002e380: 6132 2d68 6967 686c 6967 6874 2d66 6163 a2-highlight-fac │ │ │ -0002e390: 6573 290a 0a28 6465 6666 6163 6520 6167 es)..(defface ag │ │ │ -0002e3a0: 6461 322d 6869 6768 6c69 6768 742d 7379 da2-highlight-sy │ │ │ -0002e3b0: 6d62 6f6c 2d66 6163 650a 2020 2728 2828 mbol-face. '((( │ │ │ -0002e3c0: 2862 6163 6b67 726f 756e 6420 6c69 6768 (background ligh │ │ │ -0002e3d0: 7429 290a 2020 2020 2028 3a66 6f72 6567 t)). (:foreg │ │ │ -0002e3e0: 726f 756e 6420 2267 7261 7932 3522 2929 round "gray25")) │ │ │ -0002e3f0: 0a20 2020 2028 2828 6261 636b 6772 6f75 . (((backgrou │ │ │ -0002e400: 6e64 2064 6172 6b29 290a 2020 2020 2028 nd dark)). ( │ │ │ -0002e410: 3a66 6f72 6567 726f 756e 6420 2267 7261 :foreground "gra │ │ │ -0002e420: 7937 3522 2929 290a 2020 2254 6865 2066 y75"))). "The f │ │ │ -0002e430: 6163 6520 7573 6564 2066 6f72 2073 796d ace used for sym │ │ │ -0002e440: 626f 6c73 206c 696b 6520 666f 7261 6c6c bols like forall │ │ │ -0002e450: 2c20 3d2c 202d 3e2c 2065 7463 2e22 0a20 , =, ->, etc.". │ │ │ -0002e460: 203a 6772 6f75 7020 2761 6764 6132 2d68 :group 'agda2-h │ │ │ -0002e470: 6967 686c 6967 6874 2d66 6163 6573 290a ighlight-faces). │ │ │ -0002e480: 0a28 6465 6666 6163 6520 6167 6461 322d .(defface agda2- │ │ │ -0002e490: 6869 6768 6c69 6768 742d 7072 696d 6974 highlight-primit │ │ │ -0002e4a0: 6976 652d 7479 7065 2d66 6163 650a 2020 ive-type-face. │ │ │ -0002e4b0: 2728 2828 2862 6163 6b67 726f 756e 6420 '((((background │ │ │ -0002e4c0: 6c69 6768 7429 290a 2020 2020 2028 3a66 light)). (:f │ │ │ -0002e4d0: 6f72 6567 726f 756e 6420 226d 6564 6975 oreground "mediu │ │ │ -0002e4e0: 6d20 626c 7565 2229 290a 2020 2020 2828 m blue")). (( │ │ │ -0002e4f0: 2862 6163 6b67 726f 756e 6420 6461 726b (background dark │ │ │ -0002e500: 2929 0a20 2020 2020 283a 666f 7265 6772 )). (:foregr │ │ │ -0002e510: 6f75 6e64 2022 2338 3038 3046 4622 2929 ound "#8080FF")) │ │ │ -0002e520: 290a 2020 2254 6865 2066 6163 6520 7573 ). "The face us │ │ │ -0002e530: 6564 2066 6f72 2070 7269 6d69 7469 7665 ed for primitive │ │ │ -0002e540: 2074 7970 6573 2028 6c69 6b65 2053 6574 types (like Set │ │ │ -0002e550: 2061 6e64 2050 726f 7029 2e22 0a20 203a and Prop).". : │ │ │ -0002e560: 6772 6f75 7020 2761 6764 6132 2d68 6967 group 'agda2-hig │ │ │ -0002e570: 686c 6967 6874 2d66 6163 6573 290a 0a28 hlight-faces)..( │ │ │ -0002e580: 6465 6666 6163 6520 6167 6461 322d 6869 defface agda2-hi │ │ │ -0002e590: 6768 6c69 6768 742d 626f 756e 642d 7661 ghlight-bound-va │ │ │ -0002e5a0: 7269 6162 6c65 2d66 6163 650a 2020 2728 riable-face. '( │ │ │ -0002e5b0: 2874 206e 696c 2929 0a20 2022 5468 6520 (t nil)). "The │ │ │ -0002e5c0: 6661 6365 2075 7365 6420 666f 7220 626f face used for bo │ │ │ -0002e5d0: 756e 6420 7661 7269 6162 6c65 732e 220a und variables.". │ │ │ -0002e5e0: 2020 3a67 726f 7570 2027 6167 6461 322d :group 'agda2- │ │ │ -0002e5f0: 6869 6768 6c69 6768 742d 6661 6365 7329 highlight-faces) │ │ │ -0002e600: 0a0a 2864 6566 6661 6365 2061 6764 6132 ..(defface agda2 │ │ │ -0002e610: 2d68 6967 686c 6967 6874 2d67 656e 6572 -highlight-gener │ │ │ -0002e620: 616c 697a 6162 6c65 2d76 6172 6961 626c alizable-variabl │ │ │ -0002e630: 652d 6661 6365 0a20 2027 2828 7420 6e69 e-face. '((t ni │ │ │ -0002e640: 6c29 290a 2020 2254 6865 2066 6163 6520 l)). "The face │ │ │ -0002e650: 7573 6564 2066 6f72 2067 656e 6572 616c used for general │ │ │ -0002e660: 697a 6162 6c65 2076 6172 6961 626c 6573 izable variables │ │ │ -0002e670: 2e22 0a20 203a 6772 6f75 7020 2761 6764 .". :group 'agd │ │ │ -0002e680: 6132 2d68 6967 686c 6967 6874 2d66 6163 a2-highlight-fac │ │ │ -0002e690: 6573 290a 0a28 6465 6666 6163 6520 6167 es)..(defface ag │ │ │ -0002e6a0: 6461 322d 6869 6768 6c69 6768 742d 696e da2-highlight-in │ │ │ -0002e6b0: 6475 6374 6976 652d 636f 6e73 7472 7563 ductive-construc │ │ │ -0002e6c0: 746f 722d 6661 6365 0a20 2027 2828 2828 tor-face. '(((( │ │ │ -0002e6d0: 6261 636b 6772 6f75 6e64 206c 6967 6874 background light │ │ │ -0002e6e0: 2929 0a20 2020 2020 3a66 6f72 6567 726f )). :foregro │ │ │ -0002e6f0: 756e 6420 2267 7265 656e 3422 290a 2020 und "green4"). │ │ │ -0002e700: 2020 2828 2862 6163 6b67 726f 756e 6420 (((background │ │ │ -0002e710: 6461 726b 2929 0a20 2020 2020 3a66 6f72 dark)). :for │ │ │ -0002e720: 6567 726f 756e 6420 2223 3239 4343 3239 eground "#29CC29 │ │ │ -0002e730: 2229 290a 2020 2254 6865 2066 6163 6520 ")). "The face │ │ │ -0002e740: 7573 6564 2066 6f72 2069 6e64 7563 7469 used for inducti │ │ │ -0002e750: 7665 2063 6f6e 7374 7275 6374 6f72 732e ve constructors. │ │ │ -0002e760: 220a 2020 3a67 726f 7570 2027 6167 6461 ". :group 'agda │ │ │ -0002e770: 322d 6869 6768 6c69 6768 742d 6661 6365 2-highlight-face │ │ │ -0002e780: 7329 0a0a 2864 6566 6661 6365 2061 6764 s)..(defface agd │ │ │ -0002e790: 6132 2d68 6967 686c 6967 6874 2d63 6f69 a2-highlight-coi │ │ │ -0002e7a0: 6e64 7563 7469 7665 2d63 6f6e 7374 7275 nductive-constru │ │ │ -0002e7b0: 6374 6f72 2d66 6163 650a 2020 2728 2828 ctor-face. '((( │ │ │ -0002e7c0: 2862 6163 6b67 726f 756e 6420 6c69 6768 (background ligh │ │ │ -0002e7d0: 7429 290a 2020 2020 203a 666f 7265 6772 t)). :foregr │ │ │ -0002e7e0: 6f75 6e64 2022 676f 6c64 3422 290a 2020 ound "gold4"). │ │ │ -0002e7f0: 2020 2828 2862 6163 6b67 726f 756e 6420 (((background │ │ │ -0002e800: 6461 726b 2929 0a20 2020 2020 3a66 6f72 dark)). :for │ │ │ -0002e810: 6567 726f 756e 6420 2223 4646 4541 3735 eground "#FFEA75 │ │ │ -0002e820: 2229 290a 2020 2254 6865 2066 6163 6520 ")). "The face │ │ │ -0002e830: 7573 6564 2066 6f72 2063 6f69 6e64 7563 used for coinduc │ │ │ -0002e840: 7469 7665 2063 6f6e 7374 7275 6374 6f72 tive constructor │ │ │ -0002e850: 732e 220a 2020 3a67 726f 7570 2027 6167 s.". :group 'ag │ │ │ -0002e860: 6461 322d 6869 6768 6c69 6768 742d 6661 da2-highlight-fa │ │ │ -0002e870: 6365 7329 0a0a 2864 6566 6661 6365 2061 ces)..(defface a │ │ │ -0002e880: 6764 6132 2d68 6967 686c 6967 6874 2d64 gda2-highlight-d │ │ │ -0002e890: 6174 6174 7970 652d 6661 6365 0a20 2027 atatype-face. ' │ │ │ -0002e8a0: 2828 2828 6261 636b 6772 6f75 6e64 206c ((((background l │ │ │ -0002e8b0: 6967 6874 2929 0a20 2020 2020 283a 666f ight)). (:fo │ │ │ -0002e8c0: 7265 6772 6f75 6e64 2022 6d65 6469 756d reground "medium │ │ │ -0002e8d0: 2062 6c75 6522 2929 0a20 2020 2028 2828 blue")). ((( │ │ │ -0002e8e0: 6261 636b 6772 6f75 6e64 2064 6172 6b29 background dark) │ │ │ -0002e8f0: 290a 2020 2020 2028 3a66 6f72 6567 726f ). (:foregro │ │ │ -0002e900: 756e 6420 2223 3830 3830 4646 2229 2929 und "#8080FF"))) │ │ │ -0002e910: 0a20 2022 5468 6520 6661 6365 2075 7365 . "The face use │ │ │ -0002e920: 6420 666f 7220 6461 7461 7479 7065 732e d for datatypes. │ │ │ -0002e930: 220a 2020 3a67 726f 7570 2027 6167 6461 ". :group 'agda │ │ │ -0002e940: 322d 6869 6768 6c69 6768 742d 6661 6365 2-highlight-face │ │ │ -0002e950: 7329 0a0a 2864 6566 6661 6365 2061 6764 s)..(defface agd │ │ │ -0002e960: 6132 2d68 6967 686c 6967 6874 2d66 6965 a2-highlight-fie │ │ │ -0002e970: 6c64 2d66 6163 650a 2020 2728 2828 2862 ld-face. '((((b │ │ │ -0002e980: 6163 6b67 726f 756e 6420 6c69 6768 7429 ackground light) │ │ │ -0002e990: 290a 2020 2020 2028 3a66 6f72 6567 726f ). (:foregro │ │ │ -0002e9a0: 756e 6420 2244 6565 7050 696e 6b32 2229 und "DeepPink2") │ │ │ -0002e9b0: 290a 2020 2020 2828 2862 6163 6b67 726f ). (((backgro │ │ │ -0002e9c0: 756e 6420 6461 726b 2929 0a20 2020 2020 und dark)). │ │ │ -0002e9d0: 283a 666f 7265 6772 6f75 6e64 2022 2346 (:foreground "#F │ │ │ -0002e9e0: 3537 3042 3722 2929 290a 2020 2254 6865 570B7"))). "The │ │ │ -0002e9f0: 2066 6163 6520 7573 6564 2066 6f72 2072 face used for r │ │ │ -0002ea00: 6563 6f72 6420 6669 656c 6473 2e22 0a20 ecord fields.". │ │ │ -0002ea10: 203a 6772 6f75 7020 2761 6764 6132 2d68 :group 'agda2-h │ │ │ -0002ea20: 6967 686c 6967 6874 2d66 6163 6573 290a ighlight-faces). │ │ │ -0002ea30: 0a28 6465 6666 6163 6520 6167 6461 322d .(defface agda2- │ │ │ -0002ea40: 6869 6768 6c69 6768 742d 6675 6e63 7469 highlight-functi │ │ │ -0002ea50: 6f6e 2d66 6163 650a 2020 2728 2828 2862 on-face. '((((b │ │ │ -0002ea60: 6163 6b67 726f 756e 6420 6c69 6768 7429 ackground light) │ │ │ -0002ea70: 290a 2020 2020 2028 3a66 6f72 6567 726f ). (:foregro │ │ │ -0002ea80: 756e 6420 226d 6564 6975 6d20 626c 7565 und "medium blue │ │ │ -0002ea90: 2229 290a 2020 2020 2828 2862 6163 6b67 ")). (((backg │ │ │ -0002eaa0: 726f 756e 6420 6461 726b 2929 0a20 2020 round dark)). │ │ │ -0002eab0: 2020 283a 666f 7265 6772 6f75 6e64 2022 (:foreground " │ │ │ -0002eac0: 2338 3038 3046 4622 2929 290a 2020 2254 #8080FF"))). "T │ │ │ -0002ead0: 6865 2066 6163 6520 7573 6564 2066 6f72 he face used for │ │ │ -0002eae0: 2066 756e 6374 696f 6e73 2e22 0a20 203a functions.". : │ │ │ -0002eaf0: 6772 6f75 7020 2761 6764 6132 2d68 6967 group 'agda2-hig │ │ │ -0002eb00: 686c 6967 6874 2d66 6163 6573 290a 0a28 hlight-faces)..( │ │ │ -0002eb10: 6465 6666 6163 6520 6167 6461 322d 6869 defface agda2-hi │ │ │ -0002eb20: 6768 6c69 6768 742d 6d6f 6475 6c65 2d66 ghlight-module-f │ │ │ -0002eb30: 6163 650a 2020 2728 2828 2862 6163 6b67 ace. '((((backg │ │ │ -0002eb40: 726f 756e 6420 6c69 6768 7429 290a 2020 round light)). │ │ │ -0002eb50: 2020 2028 3a66 6f72 6567 726f 756e 6420 (:foreground │ │ │ -0002eb60: 2270 7572 706c 6522 2929 0a20 2020 2028 "purple")). ( │ │ │ -0002eb70: 2828 6261 636b 6772 6f75 6e64 2064 6172 ((background dar │ │ │ -0002eb80: 6b29 290a 2020 2020 2028 3a66 6f72 6567 k)). (:foreg │ │ │ -0002eb90: 726f 756e 6420 2223 4344 3830 4646 2229 round "#CD80FF") │ │ │ -0002eba0: 2929 0a20 2022 5468 6520 6661 6365 2075 )). "The face u │ │ │ -0002ebb0: 7365 6420 666f 7220 6d6f 6475 6c65 206e sed for module n │ │ │ -0002ebc0: 616d 6573 2e22 0a20 203a 6772 6f75 7020 ames.". :group │ │ │ -0002ebd0: 2761 6764 6132 2d68 6967 686c 6967 6874 'agda2-highlight │ │ │ -0002ebe0: 2d66 6163 6573 290a 0a28 6465 6666 6163 -faces)..(deffac │ │ │ -0002ebf0: 6520 6167 6461 322d 6869 6768 6c69 6768 e agda2-highligh │ │ │ -0002ec00: 742d 706f 7374 756c 6174 652d 6661 6365 t-postulate-face │ │ │ -0002ec10: 0a20 2027 2828 2828 6261 636b 6772 6f75 . '((((backgrou │ │ │ -0002ec20: 6e64 206c 6967 6874 2929 0a20 2020 2020 nd light)). │ │ │ -0002ec30: 283a 666f 7265 6772 6f75 6e64 2022 6d65 (:foreground "me │ │ │ -0002ec40: 6469 756d 2062 6c75 6522 2929 0a20 2020 dium blue")). │ │ │ -0002ec50: 2028 2828 6261 636b 6772 6f75 6e64 2064 (((background d │ │ │ -0002ec60: 6172 6b29 290a 2020 2020 2028 3a66 6f72 ark)). (:for │ │ │ -0002ec70: 6567 726f 756e 6420 2223 3830 3830 4646 eground "#8080FF │ │ │ -0002ec80: 2229 2929 0a20 2022 5468 6520 6661 6365 "))). "The face │ │ │ -0002ec90: 2075 7365 6420 666f 7220 706f 7374 756c used for postul │ │ │ -0002eca0: 6174 6573 2e22 0a20 203a 6772 6f75 7020 ates.". :group │ │ │ -0002ecb0: 2761 6764 6132 2d68 6967 686c 6967 6874 'agda2-highlight │ │ │ -0002ecc0: 2d66 6163 6573 290a 0a28 6465 6666 6163 -faces)..(deffac │ │ │ -0002ecd0: 6520 6167 6461 322d 6869 6768 6c69 6768 e agda2-highligh │ │ │ -0002ece0: 742d 7072 6167 6d61 2d66 6163 650a 2020 t-pragma-face. │ │ │ -0002ecf0: 2728 2874 206e 696c 2929 0a20 2022 5468 '((t nil)). "Th │ │ │ -0002ed00: 6520 6661 6365 2075 7365 6420 666f 7220 e face used for │ │ │ -0002ed10: 2873 6f6d 6520 7465 7874 2069 6e29 2070 (some text in) p │ │ │ -0002ed20: 7261 676d 6173 2e22 0a20 203a 6772 6f75 ragmas.". :grou │ │ │ -0002ed30: 7020 2761 6764 6132 2d68 6967 686c 6967 p 'agda2-highlig │ │ │ -0002ed40: 6874 2d66 6163 6573 290a 0a28 6465 6666 ht-faces)..(deff │ │ │ -0002ed50: 6163 6520 6167 6461 322d 6869 6768 6c69 ace agda2-highli │ │ │ -0002ed60: 6768 742d 7072 696d 6974 6976 652d 6661 ght-primitive-fa │ │ │ -0002ed70: 6365 0a20 2027 2828 2828 6261 636b 6772 ce. '((((backgr │ │ │ -0002ed80: 6f75 6e64 206c 6967 6874 2929 0a20 2020 ound light)). │ │ │ -0002ed90: 2020 283a 666f 7265 6772 6f75 6e64 2022 (:foreground " │ │ │ -0002eda0: 6d65 6469 756d 2062 6c75 6522 2929 0a20 medium blue")). │ │ │ -0002edb0: 2020 2028 2828 6261 636b 6772 6f75 6e64 (((background │ │ │ -0002edc0: 2064 6172 6b29 290a 2020 2020 2028 3a66 dark)). (:f │ │ │ -0002edd0: 6f72 6567 726f 756e 6420 2223 3830 3830 oreground "#8080 │ │ │ -0002ede0: 4646 2229 2929 0a20 2022 5468 6520 6661 FF"))). "The fa │ │ │ -0002edf0: 6365 2075 7365 6420 666f 7220 7072 696d ce used for prim │ │ │ -0002ee00: 6974 6976 6520 6675 6e63 7469 6f6e 732e itive functions. │ │ │ -0002ee10: 220a 2020 3a67 726f 7570 2027 6167 6461 ". :group 'agda │ │ │ -0002ee20: 322d 6869 6768 6c69 6768 742d 6661 6365 2-highlight-face │ │ │ -0002ee30: 7329 0a0a 2864 6566 6661 6365 2061 6764 s)..(defface agd │ │ │ -0002ee40: 6132 2d68 6967 686c 6967 6874 2d6d 6163 a2-highlight-mac │ │ │ -0002ee50: 726f 2d66 6163 650a 2020 2728 2828 2862 ro-face. '((((b │ │ │ -0002ee60: 6163 6b67 726f 756e 6420 6c69 6768 7429 ackground light) │ │ │ -0002ee70: 290a 2020 2020 2028 3a66 6f72 6567 726f ). (:foregro │ │ │ -0002ee80: 756e 6420 2261 7175 616d 6172 696e 6534 und "aquamarine4 │ │ │ -0002ee90: 2229 290a 2020 2020 2828 2862 6163 6b67 ")). (((backg │ │ │ -0002eea0: 726f 756e 6420 6461 726b 2929 0a20 2020 round dark)). │ │ │ -0002eeb0: 2020 283a 666f 7265 6772 6f75 6e64 2022 (:foreground " │ │ │ -0002eec0: 2337 3342 4141 3222 2929 290a 2020 2254 #73BAA2"))). "T │ │ │ -0002eed0: 6865 2066 6163 6520 7573 6564 2066 6f72 he face used for │ │ │ -0002eee0: 206d 6163 726f 732e 220a 2020 3a67 726f macros.". :gro │ │ │ -0002eef0: 7570 2027 6167 6461 322d 6869 6768 6c69 up 'agda2-highli │ │ │ -0002ef00: 6768 742d 6661 6365 7329 0a0a 2864 6566 ght-faces)..(def │ │ │ -0002ef10: 6661 6365 2061 6764 6132 2d68 6967 686c face agda2-highl │ │ │ -0002ef20: 6967 6874 2d72 6563 6f72 642d 6661 6365 ight-record-face │ │ │ -0002ef30: 0a20 2027 2828 2828 6261 636b 6772 6f75 . '((((backgrou │ │ │ -0002ef40: 6e64 206c 6967 6874 2929 0a20 2020 2020 nd light)). │ │ │ -0002ef50: 283a 666f 7265 6772 6f75 6e64 2022 6d65 (:foreground "me │ │ │ -0002ef60: 6469 756d 2062 6c75 6522 2929 0a20 2020 dium blue")). │ │ │ -0002ef70: 2028 2828 6261 636b 6772 6f75 6e64 2064 (((background d │ │ │ -0002ef80: 6172 6b29 290a 2020 2020 2028 3a66 6f72 ark)). (:for │ │ │ -0002ef90: 6567 726f 756e 6420 2223 3830 3830 4646 eground "#8080FF │ │ │ -0002efa0: 2229 2929 0a20 2022 5468 6520 6661 6365 "))). "The face │ │ │ -0002efb0: 2075 7365 6420 666f 7220 7265 636f 7264 used for record │ │ │ -0002efc0: 2074 7970 6573 2e22 0a20 203a 6772 6f75 types.". :grou │ │ │ -0002efd0: 7020 2761 6764 6132 2d68 6967 686c 6967 p 'agda2-highlig │ │ │ -0002efe0: 6874 2d66 6163 6573 290a 0a28 6465 6666 ht-faces)..(deff │ │ │ -0002eff0: 6163 6520 6167 6461 322d 6869 6768 6c69 ace agda2-highli │ │ │ -0002f000: 6768 742d 646f 7474 6564 2d66 6163 650a ght-dotted-face. │ │ │ -0002f010: 2020 2728 2874 206e 696c 2929 0a20 2022 '((t nil)). " │ │ │ -0002f020: 5468 6520 6661 6365 2075 7365 6420 666f The face used fo │ │ │ -0002f030: 7220 646f 7474 6564 2070 6174 7465 726e r dotted pattern │ │ │ -0002f040: 732e 220a 2020 3a67 726f 7570 2027 6167 s.". :group 'ag │ │ │ -0002f050: 6461 322d 6869 6768 6c69 6768 742d 6661 da2-highlight-fa │ │ │ -0002f060: 6365 7329 0a0a 2864 6566 6661 6365 2061 ces)..(defface a │ │ │ -0002f070: 6764 6132 2d68 6967 686c 6967 6874 2d6f gda2-highlight-o │ │ │ -0002f080: 7065 7261 746f 722d 6661 6365 0a20 2027 perator-face. ' │ │ │ -0002f090: 2828 7420 6e69 6c29 290a 2020 2254 6865 ((t nil)). "The │ │ │ -0002f0a0: 2066 6163 6520 7573 6564 2066 6f72 206f face used for o │ │ │ -0002f0b0: 7065 7261 746f 7273 2e22 0a20 203a 6772 perators.". :gr │ │ │ -0002f0c0: 6f75 7020 2761 6764 6132 2d68 6967 686c oup 'agda2-highl │ │ │ -0002f0d0: 6967 6874 2d66 6163 6573 290a 0a28 6465 ight-faces)..(de │ │ │ -0002f0e0: 6666 6163 6520 6167 6461 322d 6869 6768 fface agda2-high │ │ │ -0002f0f0: 6c69 6768 742d 6572 726f 722d 6661 6365 light-error-face │ │ │ -0002f100: 0a20 2027 2828 2828 6261 636b 6772 6f75 . '((((backgrou │ │ │ -0002f110: 6e64 206c 6967 6874 2929 0a20 2020 2020 nd light)). │ │ │ -0002f120: 283a 666f 7265 6772 6f75 6e64 2022 7265 (:foreground "re │ │ │ -0002f130: 6422 203a 756e 6465 726c 696e 6520 7429 d" :underline t) │ │ │ -0002f140: 290a 2020 2020 2828 2862 6163 6b67 726f ). (((backgro │ │ │ -0002f150: 756e 6420 6461 726b 2929 0a20 2020 2020 und dark)). │ │ │ -0002f160: 283a 666f 7265 6772 6f75 6e64 2022 2346 (:foreground "#F │ │ │ -0002f170: 4630 3030 3022 203a 756e 6465 726c 696e F0000" :underlin │ │ │ -0002f180: 6520 7429 2929 0a20 2022 5468 6520 6661 e t))). "The fa │ │ │ -0002f190: 6365 2075 7365 6420 666f 7220 6572 726f ce used for erro │ │ │ -0002f1a0: 7273 2e22 0a20 203a 6772 6f75 7020 2761 rs.". :group 'a │ │ │ -0002f1b0: 6764 6132 2d68 6967 686c 6967 6874 2d66 gda2-highlight-f │ │ │ -0002f1c0: 6163 6573 290a 0a28 6465 6666 6163 6520 aces)..(defface │ │ │ -0002f1d0: 6167 6461 322d 6869 6768 6c69 6768 742d agda2-highlight- │ │ │ -0002f1e0: 6572 726f 722d 7761 726e 696e 672d 6661 error-warning-fa │ │ │ -0002f1f0: 6365 0a20 2027 2828 2828 6261 636b 6772 ce. '((((backgr │ │ │ -0002f200: 6f75 6e64 206c 6967 6874 2929 0a20 2020 ound light)). │ │ │ -0002f210: 2020 283a 6261 636b 6772 6f75 6e64 2022 (:background " │ │ │ -0002f220: 6c69 6768 7420 636f 7261 6c22 203a 756e light coral" :un │ │ │ -0002f230: 6465 726c 696e 6520 7429 290a 2020 2020 derline t)). │ │ │ -0002f240: 2828 2862 6163 6b67 726f 756e 6420 6461 (((background da │ │ │ -0002f250: 726b 2929 0a20 2020 2020 283a 6261 636b rk)). (:back │ │ │ -0002f260: 6772 6f75 6e64 2022 2338 3032 3430 3022 ground "#802400" │ │ │ -0002f270: 203a 756e 6465 726c 696e 6520 7429 2929 :underline t))) │ │ │ -0002f280: 0a20 2022 5468 6520 6661 6365 2075 7365 . "The face use │ │ │ -0002f290: 6420 666f 7220 6661 7461 6c20 7761 726e d for fatal warn │ │ │ -0002f2a0: 696e 6773 2e22 0a20 203a 6772 6f75 7020 ings.". :group │ │ │ -0002f2b0: 2761 6764 6132 2d68 6967 686c 6967 6874 'agda2-highlight │ │ │ -0002f2c0: 2d66 6163 6573 290a 0a28 6465 6666 6163 -faces)..(deffac │ │ │ -0002f2d0: 6520 6167 6461 322d 6869 6768 6c69 6768 e agda2-highligh │ │ │ -0002f2e0: 742d 756e 736f 6c76 6564 2d6d 6574 612d t-unsolved-meta- │ │ │ -0002f2f0: 6661 6365 0a20 2027 2828 2828 6261 636b face. '((((back │ │ │ -0002f300: 6772 6f75 6e64 206c 6967 6874 2929 0a20 ground light)). │ │ │ -0002f310: 2020 2020 283a 6261 636b 6772 6f75 6e64 (:background │ │ │ -0002f320: 2022 7965 6c6c 6f77 2229 290a 2020 2020 "yellow")). │ │ │ -0002f330: 2828 2862 6163 6b67 726f 756e 6420 6461 (((background da │ │ │ -0002f340: 726b 2929 0a20 2020 2020 283a 6261 636b rk)). (:back │ │ │ -0002f350: 6772 6f75 6e64 2022 2338 3036 4230 3022 ground "#806B00" │ │ │ -0002f360: 2929 290a 2020 2254 6865 2066 6163 6520 ))). "The face │ │ │ -0002f370: 7573 6564 2066 6f72 2075 6e73 6f6c 7665 used for unsolve │ │ │ -0002f380: 6420 6d65 7461 2076 6172 6961 626c 6573 d meta variables │ │ │ -0002f390: 2e22 0a20 203a 6772 6f75 7020 2761 6764 .". :group 'agd │ │ │ -0002f3a0: 6132 2d68 6967 686c 6967 6874 2d66 6163 a2-highlight-fac │ │ │ -0002f3b0: 6573 290a 0a28 6465 6666 6163 6520 6167 es)..(defface ag │ │ │ -0002f3c0: 6461 322d 6869 6768 6c69 6768 742d 756e da2-highlight-un │ │ │ -0002f3d0: 736f 6c76 6564 2d63 6f6e 7374 7261 696e solved-constrain │ │ │ -0002f3e0: 742d 6661 6365 0a20 2027 2828 2828 6261 t-face. '((((ba │ │ │ -0002f3f0: 636b 6772 6f75 6e64 206c 6967 6874 2929 ckground light)) │ │ │ -0002f400: 0a20 2020 2020 283a 6261 636b 6772 6f75 . (:backgrou │ │ │ -0002f410: 6e64 2022 7965 6c6c 6f77 2229 290a 2020 nd "yellow")). │ │ │ -0002f420: 2020 2828 2862 6163 6b67 726f 756e 6420 (((background │ │ │ -0002f430: 6461 726b 2929 0a20 2020 2020 283a 6261 dark)). (:ba │ │ │ -0002f440: 636b 6772 6f75 6e64 2022 2338 3036 4230 ckground "#806B0 │ │ │ -0002f450: 3022 2929 290a 2020 2254 6865 2066 6163 0"))). "The fac │ │ │ -0002f460: 6520 7573 6564 2066 6f72 2075 6e73 6f6c e used for unsol │ │ │ -0002f470: 7665 6420 636f 6e73 7472 6169 6e74 7320 ved constraints │ │ │ -0002f480: 7768 6963 6820 6172 6520 6e6f 7420 636f which are not co │ │ │ -0002f490: 6e6e 6563 7465 6420 746f 206d 6574 6173 nnected to metas │ │ │ -0002f4a0: 2e22 0a20 203a 6772 6f75 7020 2761 6764 .". :group 'agd │ │ │ -0002f4b0: 6132 2d68 6967 686c 6967 6874 2d66 6163 a2-highlight-fac │ │ │ -0002f4c0: 6573 290a 0a28 6465 6666 6163 6520 6167 es)..(defface ag │ │ │ -0002f4d0: 6461 322d 6869 6768 6c69 6768 742d 7465 da2-highlight-te │ │ │ -0002f4e0: 726d 696e 6174 696f 6e2d 7072 6f62 6c65 rmination-proble │ │ │ -0002f4f0: 6d2d 6661 6365 0a20 2027 2828 2828 6261 m-face. '((((ba │ │ │ -0002f500: 636b 6772 6f75 6e64 206c 6967 6874 2929 ckground light)) │ │ │ -0002f510: 0a20 2020 2020 283a 6261 636b 6772 6f75 . (:backgrou │ │ │ -0002f520: 6e64 2022 6c69 6768 7420 7361 6c6d 6f6e nd "light salmon │ │ │ -0002f530: 2229 290a 2020 2020 2828 2862 6163 6b67 ")). (((backg │ │ │ -0002f540: 726f 756e 6420 6461 726b 2929 0a20 2020 round dark)). │ │ │ -0002f550: 2020 283a 6261 636b 6772 6f75 6e64 2022 (:background " │ │ │ -0002f560: 2338 3032 3430 3022 2929 290a 2020 2254 #802400"))). "T │ │ │ -0002f570: 6865 2066 6163 6520 7573 6564 2066 6f72 he face used for │ │ │ -0002f580: 2074 6572 6d69 6e61 7469 6f6e 2070 726f termination pro │ │ │ -0002f590: 626c 656d 732e 220a 2020 3a67 726f 7570 blems.". :group │ │ │ -0002f5a0: 2027 6167 6461 322d 6869 6768 6c69 6768 'agda2-highligh │ │ │ -0002f5b0: 742d 6661 6365 7329 0a0a 2864 6566 6661 t-faces)..(deffa │ │ │ -0002f5c0: 6365 2061 6764 6132 2d68 6967 686c 6967 ce agda2-highlig │ │ │ -0002f5d0: 6874 2d70 6f73 6974 6976 6974 792d 7072 ht-positivity-pr │ │ │ -0002f5e0: 6f62 6c65 6d2d 6661 6365 0a20 2027 2828 oblem-face. '(( │ │ │ -0002f5f0: 2828 6261 636b 6772 6f75 6e64 206c 6967 ((background lig │ │ │ -0002f600: 6874 2929 0a20 2020 2020 283a 6261 636b ht)). (:back │ │ │ -0002f610: 6772 6f75 6e64 2022 7065 7275 2229 290a ground "peru")). │ │ │ -0002f620: 2020 2020 2828 2862 6163 6b67 726f 756e (((backgroun │ │ │ -0002f630: 6420 6461 726b 2929 0a20 2020 2020 283a d dark)). (: │ │ │ -0002f640: 6261 636b 6772 6f75 6e64 2022 2338 3033 background "#803 │ │ │ -0002f650: 4630 3022 2929 290a 2020 2254 6865 2066 F00"))). "The f │ │ │ -0002f660: 6163 6520 7573 6564 2066 6f72 2070 6f73 ace used for pos │ │ │ -0002f670: 6974 6976 6974 7920 7072 6f62 6c65 6d73 itivity problems │ │ │ -0002f680: 2e22 0a20 203a 6772 6f75 7020 2761 6764 .". :group 'agd │ │ │ -0002f690: 6132 2d68 6967 686c 6967 6874 2d66 6163 a2-highlight-fac │ │ │ -0002f6a0: 6573 290a 0a28 6465 6666 6163 6520 6167 es)..(defface ag │ │ │ -0002f6b0: 6461 322d 6869 6768 6c69 6768 742d 6465 da2-highlight-de │ │ │ -0002f6c0: 6164 636f 6465 2d66 6163 650a 2020 2728 adcode-face. '( │ │ │ -0002f6d0: 2828 2862 6163 6b67 726f 756e 6420 6c69 (((background li │ │ │ -0002f6e0: 6768 7429 290a 2020 2020 2028 3a62 6163 ght)). (:bac │ │ │ -0002f6f0: 6b67 726f 756e 6420 2264 6172 6b20 6772 kground "dark gr │ │ │ -0002f700: 6179 2229 290a 2020 2020 2828 2862 6163 ay")). (((bac │ │ │ -0002f710: 6b67 726f 756e 6420 6461 726b 2929 0a20 kground dark)). │ │ │ -0002f720: 2020 2020 283a 6261 636b 6772 6f75 6e64 (:background │ │ │ -0002f730: 2022 2338 3038 3038 3022 2929 290a 2020 "#808080"))). │ │ │ -0002f740: 2254 6865 2066 6163 6520 7573 6564 2066 "The face used f │ │ │ -0002f750: 6f72 2064 6561 6420 636f 6465 2028 756e or dead code (un │ │ │ -0002f760: 7265 6163 6861 626c 6520 636c 6175 7365 reachable clause │ │ │ -0002f770: 732c 2065 7463 2e29 2e22 0a20 203a 6772 s, etc.).". :gr │ │ │ -0002f780: 6f75 7020 2761 6764 6132 2d68 6967 686c oup 'agda2-highl │ │ │ -0002f790: 6967 6874 2d66 6163 6573 290a 0a28 6465 ight-faces)..(de │ │ │ -0002f7a0: 6666 6163 6520 6167 6461 322d 6869 6768 fface agda2-high │ │ │ -0002f7b0: 6c69 6768 742d 7368 6164 6f77 696e 672d light-shadowing- │ │ │ -0002f7c0: 696e 2d74 656c 6573 636f 7065 2d66 6163 in-telescope-fac │ │ │ -0002f7d0: 650a 2020 2728 2828 2862 6163 6b67 726f e. '((((backgro │ │ │ -0002f7e0: 756e 6420 6c69 6768 7429 290a 2020 2020 und light)). │ │ │ -0002f7f0: 2028 3a62 6163 6b67 726f 756e 6420 2264 (:background "d │ │ │ -0002f800: 6172 6b20 6772 6179 2229 290a 2020 2020 ark gray")). │ │ │ -0002f810: 2828 2862 6163 6b67 726f 756e 6420 6461 (((background da │ │ │ -0002f820: 726b 2929 0a20 2020 2020 283a 6261 636b rk)). (:back │ │ │ -0002f830: 6772 6f75 6e64 2022 2338 3038 3038 3022 ground "#808080" │ │ │ -0002f840: 2929 290a 2020 2254 6865 2066 6163 6520 ))). "The face │ │ │ -0002f850: 7573 6564 2066 6f72 2073 6861 646f 7765 used for shadowe │ │ │ -0002f860: 6420 7265 7065 6174 6564 2076 6172 6961 d repeated varia │ │ │ -0002f870: 626c 6520 6e61 6d65 7320 696e 2074 656c ble names in tel │ │ │ -0002f880: 6573 636f 7065 732e 220a 2020 3a67 726f escopes.". :gro │ │ │ -0002f890: 7570 2027 6167 6461 322d 6869 6768 6c69 up 'agda2-highli │ │ │ -0002f8a0: 6768 742d 6661 6365 7329 0a0a 2864 6566 ght-faces)..(def │ │ │ -0002f8b0: 6661 6365 2061 6764 6132 2d68 6967 686c face agda2-highl │ │ │ -0002f8c0: 6967 6874 2d63 6f76 6572 6167 652d 7072 ight-coverage-pr │ │ │ -0002f8d0: 6f62 6c65 6d2d 6661 6365 0a20 2027 2828 oblem-face. '(( │ │ │ -0002f8e0: 2828 6261 636b 6772 6f75 6e64 206c 6967 ((background lig │ │ │ -0002f8f0: 6874 2929 0a20 2020 2020 283a 6261 636b ht)). (:back │ │ │ -0002f900: 6772 6f75 6e64 2022 7768 6561 7422 2929 ground "wheat")) │ │ │ -0002f910: 0a20 2020 2028 2828 6261 636b 6772 6f75 . (((backgrou │ │ │ -0002f920: 6e64 2064 6172 6b29 290a 2020 2020 2028 nd dark)). ( │ │ │ -0002f930: 3a62 6163 6b67 726f 756e 6420 2223 3830 :background "#80 │ │ │ -0002f940: 3533 3030 2229 2929 0a20 2022 5468 6520 5300"))). "The │ │ │ -0002f950: 6661 6365 2075 7365 6420 666f 7220 636f face used for co │ │ │ -0002f960: 7665 7261 6765 2070 726f 626c 656d 732e verage problems. │ │ │ -0002f970: 220a 2020 3a67 726f 7570 2027 6167 6461 ". :group 'agda │ │ │ -0002f980: 322d 6869 6768 6c69 6768 742d 6661 6365 2-highlight-face │ │ │ -0002f990: 7329 0a0a 2864 6566 6661 6365 2061 6764 s)..(defface agd │ │ │ -0002f9a0: 6132 2d68 6967 686c 6967 6874 2d63 6174 a2-highlight-cat │ │ │ -0002f9b0: 6368 616c 6c2d 636c 6175 7365 2d66 6163 chall-clause-fac │ │ │ -0002f9c0: 650a 2020 2728 2828 2862 6163 6b67 726f e. '((((backgro │ │ │ -0002f9d0: 756e 6420 6c69 6768 7429 290a 2020 2020 und light)). │ │ │ -0002f9e0: 2028 3a62 6163 6b67 726f 756e 6420 2277 (:background "w │ │ │ -0002f9f0: 6869 7465 2073 6d6f 6b65 2229 290a 2020 hite smoke")). │ │ │ -0002fa00: 2020 2828 2862 6163 6b67 726f 756e 6420 (((background │ │ │ -0002fa10: 6461 726b 2929 0a20 2020 2020 283a 6261 dark)). (:ba │ │ │ -0002fa20: 636b 6772 6f75 6e64 2022 2334 3034 3034 ckground "#40404 │ │ │ -0002fa30: 3022 2929 290a 2020 2254 6865 2066 6163 0"))). "The fac │ │ │ -0002fa40: 6520 7573 6564 2066 6f72 2063 6174 6368 e used for catch │ │ │ -0002fa50: 616c 6c20 636c 6175 7365 732e 220a 2020 all clauses.". │ │ │ -0002fa60: 3a67 726f 7570 2027 6167 6461 322d 6869 :group 'agda2-hi │ │ │ -0002fa70: 6768 6c69 6768 742d 6661 6365 7329 0a0a ghlight-faces).. │ │ │ -0002fa80: 2864 6566 6661 6365 2061 6764 6132 2d68 (defface agda2-h │ │ │ -0002fa90: 6967 686c 6967 6874 2d63 6f73 6d65 7469 ighlight-cosmeti │ │ │ -0002faa0: 632d 7072 6f62 6c65 6d2d 6661 6365 0a20 c-problem-face. │ │ │ -0002fab0: 2027 2828 2828 6261 636b 6772 6f75 6e64 '((((background │ │ │ -0002fac0: 206c 6967 6874 2929 0a20 2020 2020 283a light)). (: │ │ │ -0002fad0: 6261 636b 6772 6f75 6e64 2022 7768 6974 background "whit │ │ │ -0002fae0: 6520 736d 6f6b 6522 2929 0a20 2020 2028 e smoke")). ( │ │ │ -0002faf0: 2828 6261 636b 6772 6f75 6e64 2064 6172 ((background dar │ │ │ -0002fb00: 6b29 290a 2020 2020 2028 3a62 6163 6b67 k)). (:backg │ │ │ -0002fb10: 726f 756e 6420 2223 3430 3430 3430 2229 round "#404040") │ │ │ -0002fb20: 2929 0a20 2022 5468 6520 6661 6365 2075 )). "The face u │ │ │ -0002fb30: 7365 6420 666f 7220 636f 736d 6574 6963 sed for cosmetic │ │ │ -0002fb40: 2070 726f 626c 656d 732e 220a 2020 3a67 problems.". :g │ │ │ -0002fb50: 726f 7570 2027 6167 6461 322d 6869 6768 roup 'agda2-high │ │ │ -0002fb60: 6c69 6768 742d 6661 6365 7329 0a0a 2864 light-faces)..(d │ │ │ -0002fb70: 6566 6661 6365 2061 6764 6132 2d68 6967 efface agda2-hig │ │ │ -0002fb80: 686c 6967 6874 2d63 6f6e 666c 7565 6e63 hlight-confluenc │ │ │ -0002fb90: 652d 7072 6f62 6c65 6d2d 6661 6365 0a20 e-problem-face. │ │ │ -0002fba0: 2027 2828 2828 6261 636b 6772 6f75 6e64 '((((background │ │ │ -0002fbb0: 206c 6967 6874 2929 0a20 2020 2020 283a light)). (: │ │ │ -0002fbc0: 6261 636b 6772 6f75 6e64 2022 7069 6e6b background "pink │ │ │ -0002fbd0: 2229 290a 2020 2020 2828 2862 6163 6b67 ")). (((backg │ │ │ -0002fbe0: 726f 756e 6420 6461 726b 2929 0a20 2020 round dark)). │ │ │ -0002fbf0: 2020 283a 6261 636b 6772 6f75 6e64 2022 (:background " │ │ │ -0002fc00: 2338 3030 3038 3022 2929 290a 2020 2254 #800080"))). "T │ │ │ -0002fc10: 6865 2066 6163 6520 7573 6564 2066 6f72 he face used for │ │ │ -0002fc20: 2063 6f6e 666c 7565 6e63 6520 7072 6f62 confluence prob │ │ │ -0002fc30: 6c65 6d73 2e22 0a20 203a 6772 6f75 7020 lems.". :group │ │ │ -0002fc40: 2761 6764 6132 2d68 6967 686c 6967 6874 'agda2-highlight │ │ │ -0002fc50: 2d66 6163 6573 290a 0a28 6465 6666 6163 -faces)..(deffac │ │ │ -0002fc60: 6520 6167 6461 322d 6869 6768 6c69 6768 e agda2-highligh │ │ │ -0002fc70: 742d 696e 7374 616e 6365 2d70 726f 626c t-instance-probl │ │ │ -0002fc80: 656d 2d66 6163 650a 2020 2728 2828 2862 em-face. '((((b │ │ │ -0002fc90: 6163 6b67 726f 756e 6420 6c69 6768 7429 ackground light) │ │ │ -0002fca0: 290a 2020 2020 2028 3a62 6163 6b67 726f ). (:backgro │ │ │ -0002fcb0: 756e 6420 2277 6865 6174 2229 290a 2020 und "wheat")). │ │ │ -0002fcc0: 2020 2828 2862 6163 6b67 726f 756e 6420 (((background │ │ │ -0002fcd0: 6461 726b 2929 0a20 2020 2020 283a 6261 dark)). (:ba │ │ │ -0002fce0: 636b 6772 6f75 6e64 2022 2338 3035 3330 ckground "#80530 │ │ │ -0002fcf0: 3022 2929 290a 2020 2254 6865 2066 6163 0"))). "The fac │ │ │ -0002fd00: 6520 7573 6564 2066 6f72 2069 6e73 7461 e used for insta │ │ │ -0002fd10: 6e63 6520 7072 6f62 6c65 6d73 2e22 0a20 nce problems.". │ │ │ -0002fd20: 203a 6772 6f75 7020 2761 6764 6132 2d68 :group 'agda2-h │ │ │ -0002fd30: 6967 686c 6967 6874 2d66 6163 6573 290a ighlight-faces). │ │ │ -0002fd40: 0a28 6465 6666 6163 6520 6167 6461 322d .(defface agda2- │ │ │ -0002fd50: 6869 6768 6c69 6768 742d 6d69 7373 696e highlight-missin │ │ │ -0002fd60: 672d 6465 6669 6e69 7469 6f6e 2d66 6163 g-definition-fac │ │ │ -0002fd70: 650a 2020 2728 2828 2862 6163 6b67 726f e. '((((backgro │ │ │ -0002fd80: 756e 6420 6c69 6768 7429 290a 2020 2020 und light)). │ │ │ -0002fd90: 2028 3a62 6163 6b67 726f 756e 6420 226f (:background "o │ │ │ -0002fda0: 7261 6e67 6522 2929 0a20 2020 2028 2828 range")). ((( │ │ │ -0002fdb0: 6261 636b 6772 6f75 6e64 2064 6172 6b29 background dark) │ │ │ -0002fdc0: 290a 2020 2020 2028 3a62 6163 6b67 726f ). (:backgro │ │ │ -0002fdd0: 756e 6420 2223 3830 3430 3430 2229 2929 und "#804040"))) │ │ │ -0002fde0: 0a20 2022 5468 6520 6661 6365 2075 7365 . "The face use │ │ │ -0002fdf0: 6420 666f 7220 7479 7065 2064 6563 6c61 d for type decla │ │ │ -0002fe00: 7261 7469 6f6e 7320 7769 7468 206d 6973 rations with mis │ │ │ -0002fe10: 7369 6e67 2064 6566 696e 6974 696f 6e73 sing definitions │ │ │ -0002fe20: 2e22 0a20 203a 6772 6f75 7020 2761 6764 .". :group 'agd │ │ │ -0002fe30: 6132 2d68 6967 686c 6967 6874 2d66 6163 a2-highlight-fac │ │ │ -0002fe40: 6573 290a 0a28 6465 6666 6163 6520 6167 es)..(defface ag │ │ │ -0002fe50: 6461 322d 6869 6768 6c69 6768 742d 7479 da2-highlight-ty │ │ │ -0002fe60: 7065 6368 6563 6b73 2d66 6163 650a 2020 pechecks-face. │ │ │ -0002fe70: 2728 2828 2862 6163 6b67 726f 756e 6420 '((((background │ │ │ -0002fe80: 6c69 6768 7429 290a 2020 2020 2028 3a62 light)). (:b │ │ │ -0002fe90: 6163 6b67 726f 756e 6420 226c 6967 6874 ackground "light │ │ │ -0002fea0: 2062 6c75 6522 203a 666f 7265 6772 6f75 blue" :foregrou │ │ │ -0002feb0: 6e64 2022 626c 6163 6b22 2929 0a20 2020 nd "black")). │ │ │ -0002fec0: 2028 2828 6261 636b 6772 6f75 6e64 2064 (((background d │ │ │ -0002fed0: 6172 6b29 290a 2020 2020 2028 3a62 6163 ark)). (:bac │ │ │ -0002fee0: 6b67 726f 756e 6420 2223 3030 3630 3830 kground "#006080 │ │ │ -0002fef0: 2220 3a66 6f72 6567 726f 756e 6420 2277 " :foreground "w │ │ │ -0002ff00: 6869 7465 2229 2929 0a20 2022 5468 6520 hite"))). "The │ │ │ -0002ff10: 6661 6365 2075 7365 6420 666f 7220 636f face used for co │ │ │ -0002ff20: 6465 2077 6869 6368 2069 7320 6265 696e de which is bein │ │ │ -0002ff30: 6720 7479 7065 2d63 6865 636b 6564 2e22 g type-checked." │ │ │ -0002ff40: 0a20 203a 6772 6f75 7020 2761 6764 6132 . :group 'agda2 │ │ │ -0002ff50: 2d68 6967 686c 6967 6874 2d66 6163 6573 -highlight-faces │ │ │ -0002ff60: 290a 0a28 6465 6676 6172 2061 6764 6132 )..(defvar agda2 │ │ │ -0002ff70: 2d68 6967 686c 6967 6874 2d66 6163 6573 -highlight-faces │ │ │ -0002ff80: 0a20 2027 2828 6b65 7977 6f72 6420 2020 . '((keyword │ │ │ -0002ff90: 2020 2020 2020 2020 2020 2020 202e 2061 . a │ │ │ -0002ffa0: 6764 6132 2d68 6967 686c 6967 6874 2d6b gda2-highlight-k │ │ │ -0002ffb0: 6579 776f 7264 2d66 6163 6529 0a20 2020 eyword-face). │ │ │ -0002ffc0: 2028 636f 6d6d 656e 7420 2020 2020 2020 (comment │ │ │ -0002ffd0: 2020 2020 2020 2020 202e 2066 6f6e 742d . font- │ │ │ -0002ffe0: 6c6f 636b 2d63 6f6d 6d65 6e74 2d66 6163 lock-comment-fac │ │ │ -0002fff0: 6529 0a20 2020 2028 6261 636b 6772 6f75 e). (backgrou │ │ │ -00030000: 6e64 2020 2020 2020 2020 2020 2020 202e nd . │ │ │ -00030010: 2064 6566 6175 6c74 290a 2020 2020 286d default). (m │ │ │ -00030020: 6172 6b75 7020 2020 2020 2020 2020 2020 arkup │ │ │ -00030030: 2020 2020 2020 2e20 666f 6e74 2d6c 6f63 . font-loc │ │ │ -00030040: 6b2d 636f 6d6d 656e 742d 6465 6c69 6d69 k-comment-delimi │ │ │ -00030050: 7465 722d 6661 6365 290a 2020 2020 2873 ter-face). (s │ │ │ -00030060: 7472 696e 6720 2020 2020 2020 2020 2020 tring │ │ │ -00030070: 2020 2020 2020 2e20 6167 6461 322d 6869 . agda2-hi │ │ │ -00030080: 6768 6c69 6768 742d 7374 7269 6e67 2d66 ghlight-string-f │ │ │ -00030090: 6163 6529 0a20 2020 2028 6e75 6d62 6572 ace). (number │ │ │ -000300a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -000300b0: 202e 2061 6764 6132 2d68 6967 686c 6967 . agda2-highlig │ │ │ -000300c0: 6874 2d6e 756d 6265 722d 6661 6365 290a ht-number-face). │ │ │ -000300d0: 2020 2020 2873 796d 626f 6c20 2020 2020 (symbol │ │ │ -000300e0: 2020 2020 2020 2020 2020 2020 2e20 6167 . ag │ │ │ -000300f0: 6461 322d 6869 6768 6c69 6768 742d 7379 da2-highlight-sy │ │ │ -00030100: 6d62 6f6c 2d66 6163 6529 0a20 2020 2028 mbol-face). ( │ │ │ -00030110: 7072 696d 6974 6976 6574 7970 6520 2020 primitivetype │ │ │ -00030120: 2020 2020 2020 202e 2061 6764 6132 2d68 . agda2-h │ │ │ -00030130: 6967 686c 6967 6874 2d70 7269 6d69 7469 ighlight-primiti │ │ │ -00030140: 7665 2d74 7970 652d 6661 6365 290a 2020 ve-type-face). │ │ │ -00030150: 2020 2862 6f75 6e64 2020 2020 2020 2020 (bound │ │ │ -00030160: 2020 2020 2020 2020 2020 2e20 6167 6461 . agda │ │ │ -00030170: 322d 6869 6768 6c69 6768 742d 626f 756e 2-highlight-boun │ │ │ -00030180: 642d 7661 7269 6162 6c65 2d66 6163 6529 d-variable-face) │ │ │ -00030190: 0a20 2020 2028 6765 6e65 7261 6c69 7a61 . (generaliza │ │ │ -000301a0: 626c 6520 2020 2020 2020 2020 202e 2061 ble . a │ │ │ -000301b0: 6764 6132 2d68 6967 686c 6967 6874 2d67 gda2-highlight-g │ │ │ -000301c0: 656e 6572 616c 697a 6162 6c65 2d76 6172 eneralizable-var │ │ │ -000301d0: 6961 626c 652d 6661 6365 290a 2020 2020 iable-face). │ │ │ -000301e0: 2869 6e64 7563 7469 7665 636f 6e73 7472 (inductiveconstr │ │ │ -000301f0: 7563 746f 7220 2020 2e20 6167 6461 322d uctor . agda2- │ │ │ -00030200: 6869 6768 6c69 6768 742d 696e 6475 6374 highlight-induct │ │ │ -00030210: 6976 652d 636f 6e73 7472 7563 746f 722d ive-constructor- │ │ │ -00030220: 6661 6365 290a 2020 2020 2863 6f69 6e64 face). (coind │ │ │ -00030230: 7563 7469 7665 636f 6e73 7472 7563 746f uctiveconstructo │ │ │ -00030240: 7220 2e20 6167 6461 322d 6869 6768 6c69 r . agda2-highli │ │ │ -00030250: 6768 742d 636f 696e 6475 6374 6976 652d ght-coinductive- │ │ │ -00030260: 636f 6e73 7472 7563 746f 722d 6661 6365 constructor-face │ │ │ -00030270: 290a 2020 2020 2864 6174 6174 7970 6520 ). (datatype │ │ │ -00030280: 2020 2020 2020 2020 2020 2020 2020 2e20 . │ │ │ -00030290: 6167 6461 322d 6869 6768 6c69 6768 742d agda2-highlight- │ │ │ -000302a0: 6461 7461 7479 7065 2d66 6163 6529 0a20 datatype-face). │ │ │ -000302b0: 2020 2028 6669 656c 6420 2020 2020 2020 (field │ │ │ -000302c0: 2020 2020 2020 2020 2020 202e 2061 6764 . agd │ │ │ -000302d0: 6132 2d68 6967 686c 6967 6874 2d66 6965 a2-highlight-fie │ │ │ -000302e0: 6c64 2d66 6163 6529 0a20 2020 2028 6675 ld-face). (fu │ │ │ -000302f0: 6e63 7469 6f6e 2020 2020 2020 2020 2020 nction │ │ │ -00030300: 2020 2020 202e 2061 6764 6132 2d68 6967 . agda2-hig │ │ │ -00030310: 686c 6967 6874 2d66 756e 6374 696f 6e2d hlight-function- │ │ │ -00030320: 6661 6365 290a 2020 2020 286d 6f64 756c face). (modul │ │ │ -00030330: 6520 2020 2020 2020 2020 2020 2020 2020 e │ │ │ -00030340: 2020 2e20 6167 6461 322d 6869 6768 6c69 . agda2-highli │ │ │ -00030350: 6768 742d 6d6f 6475 6c65 2d66 6163 6529 ght-module-face) │ │ │ -00030360: 0a20 2020 2028 706f 7374 756c 6174 6520 . (postulate │ │ │ -00030370: 2020 2020 2020 2020 2020 2020 202e 2061 . a │ │ │ -00030380: 6764 6132 2d68 6967 686c 6967 6874 2d70 gda2-highlight-p │ │ │ -00030390: 6f73 7475 6c61 7465 2d66 6163 6529 0a20 ostulate-face). │ │ │ -000303a0: 2020 2028 7072 6167 6d61 2020 2020 2020 (pragma │ │ │ -000303b0: 2020 2020 2020 2020 2020 202e 2061 6764 . agd │ │ │ -000303c0: 6132 2d68 6967 686c 6967 6874 2d70 7261 a2-highlight-pra │ │ │ -000303d0: 676d 612d 6661 6365 290a 2020 2020 2870 gma-face). (p │ │ │ -000303e0: 7269 6d69 7469 7665 2020 2020 2020 2020 rimitive │ │ │ -000303f0: 2020 2020 2020 2e20 6167 6461 322d 6869 . agda2-hi │ │ │ -00030400: 6768 6c69 6768 742d 7072 696d 6974 6976 ghlight-primitiv │ │ │ -00030410: 652d 6661 6365 290a 2020 2020 286d 6163 e-face). (mac │ │ │ -00030420: 726f 2020 2020 2020 2020 2020 2020 2020 ro │ │ │ -00030430: 2020 2020 2e20 6167 6461 322d 6869 6768 . agda2-high │ │ │ -00030440: 6c69 6768 742d 6d61 6372 6f2d 6661 6365 light-macro-face │ │ │ -00030450: 290a 2020 2020 2872 6563 6f72 6420 2020 ). (record │ │ │ -00030460: 2020 2020 2020 2020 2020 2020 2020 2e20 . │ │ │ -00030470: 6167 6461 322d 6869 6768 6c69 6768 742d agda2-highlight- │ │ │ -00030480: 7265 636f 7264 2d66 6163 6529 0a20 2020 record-face). │ │ │ -00030490: 2028 646f 7474 6564 2020 2020 2020 2020 (dotted │ │ │ -000304a0: 2020 2020 2020 2020 202e 2061 6764 6132 . agda2 │ │ │ -000304b0: 2d68 6967 686c 6967 6874 2d64 6f74 7465 -highlight-dotte │ │ │ -000304c0: 642d 6661 6365 290a 2020 2020 286f 7065 d-face). (ope │ │ │ -000304d0: 7261 746f 7220 2020 2020 2020 2020 2020 rator │ │ │ -000304e0: 2020 2020 2e20 6167 6461 322d 6869 6768 . agda2-high │ │ │ -000304f0: 6c69 6768 742d 6f70 6572 6174 6f72 2d66 light-operator-f │ │ │ -00030500: 6163 6529 0a20 2020 2028 6572 726f 7220 ace). (error │ │ │ +0002dd90: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ +0002dda0: 0a3b 3b20 4661 6365 730a 0a28 6465 6663 .;; Faces..(defc │ │ │ +0002ddb0: 7573 746f 6d20 6167 6461 322d 6869 6768 ustom agda2-high │ │ │ +0002ddc0: 6c69 6768 742d 6661 6365 2d67 726f 7570 light-face-group │ │ │ +0002ddd0: 7320 6e69 6c0a 2020 2243 6f6c 6f75 7220 s nil. "Colour │ │ │ +0002dde0: 7363 6865 6d65 2075 7365 6420 696e 2041 scheme used in A │ │ │ +0002ddf0: 6764 6120 6275 6666 6572 732e 0a43 6861 gda buffers..Cha │ │ │ +0002de00: 6e67 6573 2074 6f20 7468 6973 2076 6172 nges to this var │ │ │ +0002de10: 6961 626c 6520 6d61 7920 6e6f 7420 7461 iable may not ta │ │ │ +0002de20: 6b65 2066 756c 6c20 6566 6665 6374 2075 ke full effect u │ │ │ +0002de30: 6e74 696c 2079 6f75 2068 6176 650a 7265 ntil you have.re │ │ │ +0002de40: 7374 6172 7465 6420 456d 6163 732e 204e started Emacs. N │ │ │ +0002de50: 6f74 6520 616c 736f 2074 6861 7420 6966 ote also that if │ │ │ +0002de60: 2079 6f75 2061 7265 2075 7369 6e67 2074 you are using t │ │ │ +0002de70: 6865 0a64 6566 6175 6c74 2d66 6163 6573 he.default-faces │ │ │ +0002de80: 206f 7074 696f 6e20 616e 6420 6368 616e option and chan │ │ │ +0002de90: 6765 2079 6f75 7220 636f 6c6f 7572 2074 ge your colour t │ │ │ +0002dea0: 6865 6d65 2c20 7468 656e 2074 6865 0a63 heme, then the.c │ │ │ +0002deb0: 6861 6e67 6573 206d 6179 206e 6f74 2074 hanges may not t │ │ │ +0002dec0: 616b 6520 6566 6665 6374 2069 6e20 4167 ake effect in Ag │ │ │ +0002ded0: 6461 2062 7566 6665 7273 2075 6e74 696c da buffers until │ │ │ +0002dee0: 2079 6f75 2068 6176 650a 7265 7374 6172 you have.restar │ │ │ +0002def0: 7465 6420 456d 6163 732e 220a 2020 3a74 ted Emacs.". :t │ │ │ +0002df00: 7970 6520 2728 6368 6f69 6365 0a20 2020 ype '(choice. │ │ │ +0002df10: 2020 2020 2020 2028 636f 6e73 7420 3a74 (const :t │ │ │ +0002df20: 6167 2022 5573 6520 7468 6520 7365 7474 ag "Use the sett │ │ │ +0002df30: 696e 6773 2069 6e20 7468 6520 5c22 4167 ings in the \"Ag │ │ │ +0002df40: 6461 3220 4869 6768 6c69 6768 7420 4661 da2 Highlight Fa │ │ │ +0002df50: 6365 735c 2220 7375 6267 726f 7570 2e22 ces\" subgroup." │ │ │ +0002df60: 206e 696c 290a 2020 2020 2020 2020 2020 nil). │ │ │ +0002df70: 2863 6f6e 7374 203a 7461 6720 2255 7365 (const :tag "Use │ │ │ +0002df80: 2061 6e20 6170 7072 6f78 696d 6174 696f an approximatio │ │ │ +0002df90: 6e20 6f66 2043 6f6e 6f72 204d 6342 7269 n of Conor McBri │ │ │ +0002dfa0: 6465 2773 2063 6f6c 6f75 7220 7363 6865 de's colour sche │ │ │ +0002dfb0: 6d65 2e22 0a20 2020 2020 2020 2020 2020 me.". │ │ │ +0002dfc0: 2020 2020 2020 636f 6e6f 7229 0a20 2020 conor). │ │ │ +0002dfd0: 2020 2020 2020 2028 636f 6e73 7420 3a74 (const :t │ │ │ +0002dfe0: 6167 2022 5573 6520 7369 6d70 6c69 6669 ag "Use simplifi │ │ │ +0002dff0: 6564 2068 6967 686c 6967 6874 696e 6720 ed highlighting │ │ │ +0002e000: 616e 6420 6465 6661 756c 7420 666f 6e74 and default font │ │ │ +0002e010: 2d6c 6f63 6b20 6661 6365 732e 220a 2020 -lock faces.". │ │ │ +0002e020: 2020 2020 2020 2020 2020 2020 2020 2064 d │ │ │ +0002e030: 6566 6175 6c74 2d66 6163 6573 2929 0a20 efault-faces)). │ │ │ +0002e040: 203a 6772 6f75 7020 2761 6764 6132 2d68 :group 'agda2-h │ │ │ +0002e050: 6967 686c 6967 6874 0a20 203a 7365 7420 ighlight. :set │ │ │ +0002e060: 2761 6764 6132 2d68 6967 686c 6967 6874 'agda2-highlight │ │ │ +0002e070: 2d73 6574 2d66 6163 6573 290a 0a28 6465 -set-faces)..(de │ │ │ +0002e080: 6667 726f 7570 2061 6764 6132 2d68 6967 fgroup agda2-hig │ │ │ +0002e090: 686c 6967 6874 2d66 6163 6573 206e 696c hlight-faces nil │ │ │ +0002e0a0: 0a20 2022 4661 6365 7320 7573 6564 2074 . "Faces used t │ │ │ +0002e0b0: 6f20 6869 6768 6c69 6768 7420 4167 6461 o highlight Agda │ │ │ +0002e0c0: 2063 6f64 652e 0a49 6620 6061 6764 6132 code..If `agda2 │ │ │ +0002e0d0: 2d68 6967 686c 6967 6874 2d66 6163 652d -highlight-face- │ │ │ +0002e0e0: 6772 6f75 7073 2720 6973 206e 696c 2e22 groups' is nil." │ │ │ +0002e0f0: 0a20 203a 6772 6f75 7020 2761 6764 6132 . :group 'agda2 │ │ │ +0002e100: 2d68 6967 686c 6967 6874 290a 0a28 6465 -highlight)..(de │ │ │ +0002e110: 6666 6163 6520 6167 6461 322d 6869 6768 fface agda2-high │ │ │ +0002e120: 6c69 6768 742d 6b65 7977 6f72 642d 6661 light-keyword-fa │ │ │ +0002e130: 6365 0a20 2027 2828 2828 6261 636b 6772 ce. '((((backgr │ │ │ +0002e140: 6f75 6e64 206c 6967 6874 2929 0a20 2020 ound light)). │ │ │ +0002e150: 2020 283a 666f 7265 6772 6f75 6e64 2022 (:foreground " │ │ │ +0002e160: 4461 726b 4f72 616e 6765 3322 2929 0a20 DarkOrange3")). │ │ │ +0002e170: 2020 2028 2828 6261 636b 6772 6f75 6e64 (((background │ │ │ +0002e180: 2064 6172 6b29 290a 2020 2020 2028 3a66 dark)). (:f │ │ │ +0002e190: 6f72 6567 726f 756e 6420 2223 4646 3939 oreground "#FF99 │ │ │ +0002e1a0: 3332 2229 2929 0a20 2022 5468 6520 6661 32"))). "The fa │ │ │ +0002e1b0: 6365 2075 7365 6420 666f 7220 6b65 7977 ce used for keyw │ │ │ +0002e1c0: 6f72 6473 2e22 0a20 203a 6772 6f75 7020 ords.". :group │ │ │ +0002e1d0: 2761 6764 6132 2d68 6967 686c 6967 6874 'agda2-highlight │ │ │ +0002e1e0: 2d66 6163 6573 290a 0a28 6465 6666 6163 -faces)..(deffac │ │ │ +0002e1f0: 6520 6167 6461 322d 6869 6768 6c69 6768 e agda2-highligh │ │ │ +0002e200: 742d 7374 7269 6e67 2d66 6163 650a 2020 t-string-face. │ │ │ +0002e210: 2728 2828 2862 6163 6b67 726f 756e 6420 '((((background │ │ │ +0002e220: 6c69 6768 7429 290a 2020 2020 2028 3a66 light)). (:f │ │ │ +0002e230: 6f72 6567 726f 756e 6420 2266 6972 6562 oreground "fireb │ │ │ +0002e240: 7269 636b 2229 290a 2020 2020 2828 2862 rick")). (((b │ │ │ +0002e250: 6163 6b67 726f 756e 6420 6461 726b 2929 ackground dark)) │ │ │ +0002e260: 0a20 2020 2020 283a 666f 7265 6772 6f75 . (:foregrou │ │ │ +0002e270: 6e64 2022 2344 4434 4434 4422 2929 290a nd "#DD4D4D"))). │ │ │ +0002e280: 2020 2254 6865 2066 6163 6520 7573 6564 "The face used │ │ │ +0002e290: 2066 6f72 2073 7472 696e 6773 2e22 0a20 for strings.". │ │ │ +0002e2a0: 203a 6772 6f75 7020 2761 6764 6132 2d68 :group 'agda2-h │ │ │ +0002e2b0: 6967 686c 6967 6874 2d66 6163 6573 290a ighlight-faces). │ │ │ +0002e2c0: 0a28 6465 6666 6163 6520 6167 6461 322d .(defface agda2- │ │ │ +0002e2d0: 6869 6768 6c69 6768 742d 6e75 6d62 6572 highlight-number │ │ │ +0002e2e0: 2d66 6163 650a 2020 2728 2828 2862 6163 -face. '((((bac │ │ │ +0002e2f0: 6b67 726f 756e 6420 6c69 6768 7429 290a kground light)). │ │ │ +0002e300: 2020 2020 2028 3a66 6f72 6567 726f 756e (:foregroun │ │ │ +0002e310: 6420 2270 7572 706c 6522 2929 0a20 2020 d "purple")). │ │ │ +0002e320: 2028 2828 6261 636b 6772 6f75 6e64 2064 (((background d │ │ │ +0002e330: 6172 6b29 290a 2020 2020 2028 3a66 6f72 ark)). (:for │ │ │ +0002e340: 6567 726f 756e 6420 2223 3930 3130 4530 eground "#9010E0 │ │ │ +0002e350: 2229 2929 0a20 2022 5468 6520 6661 6365 "))). "The face │ │ │ +0002e360: 2075 7365 6420 666f 7220 6e75 6d62 6572 used for number │ │ │ +0002e370: 732e 220a 2020 3a67 726f 7570 2027 6167 s.". :group 'ag │ │ │ +0002e380: 6461 322d 6869 6768 6c69 6768 742d 6661 da2-highlight-fa │ │ │ +0002e390: 6365 7329 0a0a 2864 6566 6661 6365 2061 ces)..(defface a │ │ │ +0002e3a0: 6764 6132 2d68 6967 686c 6967 6874 2d73 gda2-highlight-s │ │ │ +0002e3b0: 796d 626f 6c2d 6661 6365 0a20 2027 2828 ymbol-face. '(( │ │ │ +0002e3c0: 2828 6261 636b 6772 6f75 6e64 206c 6967 ((background lig │ │ │ +0002e3d0: 6874 2929 0a20 2020 2020 283a 666f 7265 ht)). (:fore │ │ │ +0002e3e0: 6772 6f75 6e64 2022 6772 6179 3235 2229 ground "gray25") │ │ │ +0002e3f0: 290a 2020 2020 2828 2862 6163 6b67 726f ). (((backgro │ │ │ +0002e400: 756e 6420 6461 726b 2929 0a20 2020 2020 und dark)). │ │ │ +0002e410: 283a 666f 7265 6772 6f75 6e64 2022 6772 (:foreground "gr │ │ │ +0002e420: 6179 3735 2229 2929 0a20 2022 5468 6520 ay75"))). "The │ │ │ +0002e430: 6661 6365 2075 7365 6420 666f 7220 7379 face used for sy │ │ │ +0002e440: 6d62 6f6c 7320 6c69 6b65 2066 6f72 616c mbols like foral │ │ │ +0002e450: 6c2c 203d 2c20 2d3e 2c20 6574 632e 220a l, =, ->, etc.". │ │ │ +0002e460: 2020 3a67 726f 7570 2027 6167 6461 322d :group 'agda2- │ │ │ +0002e470: 6869 6768 6c69 6768 742d 6661 6365 7329 highlight-faces) │ │ │ +0002e480: 0a0a 2864 6566 6661 6365 2061 6764 6132 ..(defface agda2 │ │ │ +0002e490: 2d68 6967 686c 6967 6874 2d70 7269 6d69 -highlight-primi │ │ │ +0002e4a0: 7469 7665 2d74 7970 652d 6661 6365 0a20 tive-type-face. │ │ │ +0002e4b0: 2027 2828 2828 6261 636b 6772 6f75 6e64 '((((background │ │ │ +0002e4c0: 206c 6967 6874 2929 0a20 2020 2020 283a light)). (: │ │ │ +0002e4d0: 666f 7265 6772 6f75 6e64 2022 6d65 6469 foreground "medi │ │ │ +0002e4e0: 756d 2062 6c75 6522 2929 0a20 2020 2028 um blue")). ( │ │ │ +0002e4f0: 2828 6261 636b 6772 6f75 6e64 2064 6172 ((background dar │ │ │ +0002e500: 6b29 290a 2020 2020 2028 3a66 6f72 6567 k)). (:foreg │ │ │ +0002e510: 726f 756e 6420 2223 3830 3830 4646 2229 round "#8080FF") │ │ │ +0002e520: 2929 0a20 2022 5468 6520 6661 6365 2075 )). "The face u │ │ │ +0002e530: 7365 6420 666f 7220 7072 696d 6974 6976 sed for primitiv │ │ │ +0002e540: 6520 7479 7065 7320 286c 696b 6520 5365 e types (like Se │ │ │ +0002e550: 7420 616e 6420 5072 6f70 292e 220a 2020 t and Prop).". │ │ │ +0002e560: 3a67 726f 7570 2027 6167 6461 322d 6869 :group 'agda2-hi │ │ │ +0002e570: 6768 6c69 6768 742d 6661 6365 7329 0a0a ghlight-faces).. │ │ │ +0002e580: 2864 6566 6661 6365 2061 6764 6132 2d68 (defface agda2-h │ │ │ +0002e590: 6967 686c 6967 6874 2d62 6f75 6e64 2d76 ighlight-bound-v │ │ │ +0002e5a0: 6172 6961 626c 652d 6661 6365 0a20 2027 ariable-face. ' │ │ │ +0002e5b0: 2828 7420 6e69 6c29 290a 2020 2254 6865 ((t nil)). "The │ │ │ +0002e5c0: 2066 6163 6520 7573 6564 2066 6f72 2062 face used for b │ │ │ +0002e5d0: 6f75 6e64 2076 6172 6961 626c 6573 2e22 ound variables." │ │ │ +0002e5e0: 0a20 203a 6772 6f75 7020 2761 6764 6132 . :group 'agda2 │ │ │ +0002e5f0: 2d68 6967 686c 6967 6874 2d66 6163 6573 -highlight-faces │ │ │ +0002e600: 290a 0a28 6465 6666 6163 6520 6167 6461 )..(defface agda │ │ │ +0002e610: 322d 6869 6768 6c69 6768 742d 6765 6e65 2-highlight-gene │ │ │ +0002e620: 7261 6c69 7a61 626c 652d 7661 7269 6162 ralizable-variab │ │ │ +0002e630: 6c65 2d66 6163 650a 2020 2728 2874 206e le-face. '((t n │ │ │ +0002e640: 696c 2929 0a20 2022 5468 6520 6661 6365 il)). "The face │ │ │ +0002e650: 2075 7365 6420 666f 7220 6765 6e65 7261 used for genera │ │ │ +0002e660: 6c69 7a61 626c 6520 7661 7269 6162 6c65 lizable variable │ │ │ +0002e670: 732e 220a 2020 3a67 726f 7570 2027 6167 s.". :group 'ag │ │ │ +0002e680: 6461 322d 6869 6768 6c69 6768 742d 6661 da2-highlight-fa │ │ │ +0002e690: 6365 7329 0a0a 2864 6566 6661 6365 2061 ces)..(defface a │ │ │ +0002e6a0: 6764 6132 2d68 6967 686c 6967 6874 2d69 gda2-highlight-i │ │ │ +0002e6b0: 6e64 7563 7469 7665 2d63 6f6e 7374 7275 nductive-constru │ │ │ +0002e6c0: 6374 6f72 2d66 6163 650a 2020 2728 2828 ctor-face. '((( │ │ │ +0002e6d0: 2862 6163 6b67 726f 756e 6420 6c69 6768 (background ligh │ │ │ +0002e6e0: 7429 290a 2020 2020 203a 666f 7265 6772 t)). :foregr │ │ │ +0002e6f0: 6f75 6e64 2022 6772 6565 6e34 2229 0a20 ound "green4"). │ │ │ +0002e700: 2020 2028 2828 6261 636b 6772 6f75 6e64 (((background │ │ │ +0002e710: 2064 6172 6b29 290a 2020 2020 203a 666f dark)). :fo │ │ │ +0002e720: 7265 6772 6f75 6e64 2022 2332 3943 4332 reground "#29CC2 │ │ │ +0002e730: 3922 2929 0a20 2022 5468 6520 6661 6365 9")). "The face │ │ │ +0002e740: 2075 7365 6420 666f 7220 696e 6475 6374 used for induct │ │ │ +0002e750: 6976 6520 636f 6e73 7472 7563 746f 7273 ive constructors │ │ │ +0002e760: 2e22 0a20 203a 6772 6f75 7020 2761 6764 .". :group 'agd │ │ │ +0002e770: 6132 2d68 6967 686c 6967 6874 2d66 6163 a2-highlight-fac │ │ │ +0002e780: 6573 290a 0a28 6465 6666 6163 6520 6167 es)..(defface ag │ │ │ +0002e790: 6461 322d 6869 6768 6c69 6768 742d 636f da2-highlight-co │ │ │ +0002e7a0: 696e 6475 6374 6976 652d 636f 6e73 7472 inductive-constr │ │ │ +0002e7b0: 7563 746f 722d 6661 6365 0a20 2027 2828 uctor-face. '(( │ │ │ +0002e7c0: 2828 6261 636b 6772 6f75 6e64 206c 6967 ((background lig │ │ │ +0002e7d0: 6874 2929 0a20 2020 2020 3a66 6f72 6567 ht)). :foreg │ │ │ +0002e7e0: 726f 756e 6420 2267 6f6c 6434 2229 0a20 round "gold4"). │ │ │ +0002e7f0: 2020 2028 2828 6261 636b 6772 6f75 6e64 (((background │ │ │ +0002e800: 2064 6172 6b29 290a 2020 2020 203a 666f dark)). :fo │ │ │ +0002e810: 7265 6772 6f75 6e64 2022 2346 4645 4137 reground "#FFEA7 │ │ │ +0002e820: 3522 2929 0a20 2022 5468 6520 6661 6365 5")). "The face │ │ │ +0002e830: 2075 7365 6420 666f 7220 636f 696e 6475 used for coindu │ │ │ +0002e840: 6374 6976 6520 636f 6e73 7472 7563 746f ctive constructo │ │ │ +0002e850: 7273 2e22 0a20 203a 6772 6f75 7020 2761 rs.". :group 'a │ │ │ +0002e860: 6764 6132 2d68 6967 686c 6967 6874 2d66 gda2-highlight-f │ │ │ +0002e870: 6163 6573 290a 0a28 6465 6666 6163 6520 aces)..(defface │ │ │ +0002e880: 6167 6461 322d 6869 6768 6c69 6768 742d agda2-highlight- │ │ │ +0002e890: 6461 7461 7479 7065 2d66 6163 650a 2020 datatype-face. │ │ │ +0002e8a0: 2728 2828 2862 6163 6b67 726f 756e 6420 '((((background │ │ │ +0002e8b0: 6c69 6768 7429 290a 2020 2020 2028 3a66 light)). (:f │ │ │ +0002e8c0: 6f72 6567 726f 756e 6420 226d 6564 6975 oreground "mediu │ │ │ +0002e8d0: 6d20 626c 7565 2229 290a 2020 2020 2828 m blue")). (( │ │ │ +0002e8e0: 2862 6163 6b67 726f 756e 6420 6461 726b (background dark │ │ │ +0002e8f0: 2929 0a20 2020 2020 283a 666f 7265 6772 )). (:foregr │ │ │ +0002e900: 6f75 6e64 2022 2338 3038 3046 4622 2929 ound "#8080FF")) │ │ │ +0002e910: 290a 2020 2254 6865 2066 6163 6520 7573 ). "The face us │ │ │ +0002e920: 6564 2066 6f72 2064 6174 6174 7970 6573 ed for datatypes │ │ │ +0002e930: 2e22 0a20 203a 6772 6f75 7020 2761 6764 .". :group 'agd │ │ │ +0002e940: 6132 2d68 6967 686c 6967 6874 2d66 6163 a2-highlight-fac │ │ │ +0002e950: 6573 290a 0a28 6465 6666 6163 6520 6167 es)..(defface ag │ │ │ +0002e960: 6461 322d 6869 6768 6c69 6768 742d 6669 da2-highlight-fi │ │ │ +0002e970: 656c 642d 6661 6365 0a20 2027 2828 2828 eld-face. '(((( │ │ │ +0002e980: 6261 636b 6772 6f75 6e64 206c 6967 6874 background light │ │ │ +0002e990: 2929 0a20 2020 2020 283a 666f 7265 6772 )). (:foregr │ │ │ +0002e9a0: 6f75 6e64 2022 4465 6570 5069 6e6b 3222 ound "DeepPink2" │ │ │ +0002e9b0: 2929 0a20 2020 2028 2828 6261 636b 6772 )). (((backgr │ │ │ +0002e9c0: 6f75 6e64 2064 6172 6b29 290a 2020 2020 ound dark)). │ │ │ +0002e9d0: 2028 3a66 6f72 6567 726f 756e 6420 2223 (:foreground "# │ │ │ +0002e9e0: 4635 3730 4237 2229 2929 0a20 2022 5468 F570B7"))). "Th │ │ │ +0002e9f0: 6520 6661 6365 2075 7365 6420 666f 7220 e face used for │ │ │ +0002ea00: 7265 636f 7264 2066 6965 6c64 732e 220a record fields.". │ │ │ +0002ea10: 2020 3a67 726f 7570 2027 6167 6461 322d :group 'agda2- │ │ │ +0002ea20: 6869 6768 6c69 6768 742d 6661 6365 7329 highlight-faces) │ │ │ +0002ea30: 0a0a 2864 6566 6661 6365 2061 6764 6132 ..(defface agda2 │ │ │ +0002ea40: 2d68 6967 686c 6967 6874 2d66 756e 6374 -highlight-funct │ │ │ +0002ea50: 696f 6e2d 6661 6365 0a20 2027 2828 2828 ion-face. '(((( │ │ │ +0002ea60: 6261 636b 6772 6f75 6e64 206c 6967 6874 background light │ │ │ +0002ea70: 2929 0a20 2020 2020 283a 666f 7265 6772 )). (:foregr │ │ │ +0002ea80: 6f75 6e64 2022 6d65 6469 756d 2062 6c75 ound "medium blu │ │ │ +0002ea90: 6522 2929 0a20 2020 2028 2828 6261 636b e")). (((back │ │ │ +0002eaa0: 6772 6f75 6e64 2064 6172 6b29 290a 2020 ground dark)). │ │ │ +0002eab0: 2020 2028 3a66 6f72 6567 726f 756e 6420 (:foreground │ │ │ +0002eac0: 2223 3830 3830 4646 2229 2929 0a20 2022 "#8080FF"))). " │ │ │ +0002ead0: 5468 6520 6661 6365 2075 7365 6420 666f The face used fo │ │ │ +0002eae0: 7220 6675 6e63 7469 6f6e 732e 220a 2020 r functions.". │ │ │ +0002eaf0: 3a67 726f 7570 2027 6167 6461 322d 6869 :group 'agda2-hi │ │ │ +0002eb00: 6768 6c69 6768 742d 6661 6365 7329 0a0a ghlight-faces).. │ │ │ +0002eb10: 2864 6566 6661 6365 2061 6764 6132 2d68 (defface agda2-h │ │ │ +0002eb20: 6967 686c 6967 6874 2d6d 6f64 756c 652d ighlight-module- │ │ │ +0002eb30: 6661 6365 0a20 2027 2828 2828 6261 636b face. '((((back │ │ │ +0002eb40: 6772 6f75 6e64 206c 6967 6874 2929 0a20 ground light)). │ │ │ +0002eb50: 2020 2020 283a 666f 7265 6772 6f75 6e64 (:foreground │ │ │ +0002eb60: 2022 7075 7270 6c65 2229 290a 2020 2020 "purple")). │ │ │ +0002eb70: 2828 2862 6163 6b67 726f 756e 6420 6461 (((background da │ │ │ +0002eb80: 726b 2929 0a20 2020 2020 283a 666f 7265 rk)). (:fore │ │ │ +0002eb90: 6772 6f75 6e64 2022 2343 4438 3046 4622 ground "#CD80FF" │ │ │ +0002eba0: 2929 290a 2020 2254 6865 2066 6163 6520 ))). "The face │ │ │ +0002ebb0: 7573 6564 2066 6f72 206d 6f64 756c 6520 used for module │ │ │ +0002ebc0: 6e61 6d65 732e 220a 2020 3a67 726f 7570 names.". :group │ │ │ +0002ebd0: 2027 6167 6461 322d 6869 6768 6c69 6768 'agda2-highligh │ │ │ +0002ebe0: 742d 6661 6365 7329 0a0a 2864 6566 6661 t-faces)..(deffa │ │ │ +0002ebf0: 6365 2061 6764 6132 2d68 6967 686c 6967 ce agda2-highlig │ │ │ +0002ec00: 6874 2d70 6f73 7475 6c61 7465 2d66 6163 ht-postulate-fac │ │ │ +0002ec10: 650a 2020 2728 2828 2862 6163 6b67 726f e. '((((backgro │ │ │ +0002ec20: 756e 6420 6c69 6768 7429 290a 2020 2020 und light)). │ │ │ +0002ec30: 2028 3a66 6f72 6567 726f 756e 6420 226d (:foreground "m │ │ │ +0002ec40: 6564 6975 6d20 626c 7565 2229 290a 2020 edium blue")). │ │ │ +0002ec50: 2020 2828 2862 6163 6b67 726f 756e 6420 (((background │ │ │ +0002ec60: 6461 726b 2929 0a20 2020 2020 283a 666f dark)). (:fo │ │ │ +0002ec70: 7265 6772 6f75 6e64 2022 2338 3038 3046 reground "#8080F │ │ │ +0002ec80: 4622 2929 290a 2020 2254 6865 2066 6163 F"))). "The fac │ │ │ +0002ec90: 6520 7573 6564 2066 6f72 2070 6f73 7475 e used for postu │ │ │ +0002eca0: 6c61 7465 732e 220a 2020 3a67 726f 7570 lates.". :group │ │ │ +0002ecb0: 2027 6167 6461 322d 6869 6768 6c69 6768 'agda2-highligh │ │ │ +0002ecc0: 742d 6661 6365 7329 0a0a 2864 6566 6661 t-faces)..(deffa │ │ │ +0002ecd0: 6365 2061 6764 6132 2d68 6967 686c 6967 ce agda2-highlig │ │ │ +0002ece0: 6874 2d70 7261 676d 612d 6661 6365 0a20 ht-pragma-face. │ │ │ +0002ecf0: 2027 2828 7420 6e69 6c29 290a 2020 2254 '((t nil)). "T │ │ │ +0002ed00: 6865 2066 6163 6520 7573 6564 2066 6f72 he face used for │ │ │ +0002ed10: 2028 736f 6d65 2074 6578 7420 696e 2920 (some text in) │ │ │ +0002ed20: 7072 6167 6d61 732e 220a 2020 3a67 726f pragmas.". :gro │ │ │ +0002ed30: 7570 2027 6167 6461 322d 6869 6768 6c69 up 'agda2-highli │ │ │ +0002ed40: 6768 742d 6661 6365 7329 0a0a 2864 6566 ght-faces)..(def │ │ │ +0002ed50: 6661 6365 2061 6764 6132 2d68 6967 686c face agda2-highl │ │ │ +0002ed60: 6967 6874 2d70 7269 6d69 7469 7665 2d66 ight-primitive-f │ │ │ +0002ed70: 6163 650a 2020 2728 2828 2862 6163 6b67 ace. '((((backg │ │ │ +0002ed80: 726f 756e 6420 6c69 6768 7429 290a 2020 round light)). │ │ │ +0002ed90: 2020 2028 3a66 6f72 6567 726f 756e 6420 (:foreground │ │ │ +0002eda0: 226d 6564 6975 6d20 626c 7565 2229 290a "medium blue")). │ │ │ +0002edb0: 2020 2020 2828 2862 6163 6b67 726f 756e (((backgroun │ │ │ +0002edc0: 6420 6461 726b 2929 0a20 2020 2020 283a d dark)). (: │ │ │ +0002edd0: 666f 7265 6772 6f75 6e64 2022 2338 3038 foreground "#808 │ │ │ +0002ede0: 3046 4622 2929 290a 2020 2254 6865 2066 0FF"))). "The f │ │ │ +0002edf0: 6163 6520 7573 6564 2066 6f72 2070 7269 ace used for pri │ │ │ +0002ee00: 6d69 7469 7665 2066 756e 6374 696f 6e73 mitive functions │ │ │ +0002ee10: 2e22 0a20 203a 6772 6f75 7020 2761 6764 .". :group 'agd │ │ │ +0002ee20: 6132 2d68 6967 686c 6967 6874 2d66 6163 a2-highlight-fac │ │ │ +0002ee30: 6573 290a 0a28 6465 6666 6163 6520 6167 es)..(defface ag │ │ │ +0002ee40: 6461 322d 6869 6768 6c69 6768 742d 6d61 da2-highlight-ma │ │ │ +0002ee50: 6372 6f2d 6661 6365 0a20 2027 2828 2828 cro-face. '(((( │ │ │ +0002ee60: 6261 636b 6772 6f75 6e64 206c 6967 6874 background light │ │ │ +0002ee70: 2929 0a20 2020 2020 283a 666f 7265 6772 )). (:foregr │ │ │ +0002ee80: 6f75 6e64 2022 6171 7561 6d61 7269 6e65 ound "aquamarine │ │ │ +0002ee90: 3422 2929 0a20 2020 2028 2828 6261 636b 4")). (((back │ │ │ +0002eea0: 6772 6f75 6e64 2064 6172 6b29 290a 2020 ground dark)). │ │ │ +0002eeb0: 2020 2028 3a66 6f72 6567 726f 756e 6420 (:foreground │ │ │ +0002eec0: 2223 3733 4241 4132 2229 2929 0a20 2022 "#73BAA2"))). " │ │ │ +0002eed0: 5468 6520 6661 6365 2075 7365 6420 666f The face used fo │ │ │ +0002eee0: 7220 6d61 6372 6f73 2e22 0a20 203a 6772 r macros.". :gr │ │ │ +0002eef0: 6f75 7020 2761 6764 6132 2d68 6967 686c oup 'agda2-highl │ │ │ +0002ef00: 6967 6874 2d66 6163 6573 290a 0a28 6465 ight-faces)..(de │ │ │ +0002ef10: 6666 6163 6520 6167 6461 322d 6869 6768 fface agda2-high │ │ │ +0002ef20: 6c69 6768 742d 7265 636f 7264 2d66 6163 light-record-fac │ │ │ +0002ef30: 650a 2020 2728 2828 2862 6163 6b67 726f e. '((((backgro │ │ │ +0002ef40: 756e 6420 6c69 6768 7429 290a 2020 2020 und light)). │ │ │ +0002ef50: 2028 3a66 6f72 6567 726f 756e 6420 226d (:foreground "m │ │ │ +0002ef60: 6564 6975 6d20 626c 7565 2229 290a 2020 edium blue")). │ │ │ +0002ef70: 2020 2828 2862 6163 6b67 726f 756e 6420 (((background │ │ │ +0002ef80: 6461 726b 2929 0a20 2020 2020 283a 666f dark)). (:fo │ │ │ +0002ef90: 7265 6772 6f75 6e64 2022 2338 3038 3046 reground "#8080F │ │ │ +0002efa0: 4622 2929 290a 2020 2254 6865 2066 6163 F"))). "The fac │ │ │ +0002efb0: 6520 7573 6564 2066 6f72 2072 6563 6f72 e used for recor │ │ │ +0002efc0: 6420 7479 7065 732e 220a 2020 3a67 726f d types.". :gro │ │ │ +0002efd0: 7570 2027 6167 6461 322d 6869 6768 6c69 up 'agda2-highli │ │ │ +0002efe0: 6768 742d 6661 6365 7329 0a0a 2864 6566 ght-faces)..(def │ │ │ +0002eff0: 6661 6365 2061 6764 6132 2d68 6967 686c face agda2-highl │ │ │ +0002f000: 6967 6874 2d64 6f74 7465 642d 6661 6365 ight-dotted-face │ │ │ +0002f010: 0a20 2027 2828 7420 6e69 6c29 290a 2020 . '((t nil)). │ │ │ +0002f020: 2254 6865 2066 6163 6520 7573 6564 2066 "The face used f │ │ │ +0002f030: 6f72 2064 6f74 7465 6420 7061 7474 6572 or dotted patter │ │ │ +0002f040: 6e73 2e22 0a20 203a 6772 6f75 7020 2761 ns.". :group 'a │ │ │ +0002f050: 6764 6132 2d68 6967 686c 6967 6874 2d66 gda2-highlight-f │ │ │ +0002f060: 6163 6573 290a 0a28 6465 6666 6163 6520 aces)..(defface │ │ │ +0002f070: 6167 6461 322d 6869 6768 6c69 6768 742d agda2-highlight- │ │ │ +0002f080: 6f70 6572 6174 6f72 2d66 6163 650a 2020 operator-face. │ │ │ +0002f090: 2728 2874 206e 696c 2929 0a20 2022 5468 '((t nil)). "Th │ │ │ +0002f0a0: 6520 6661 6365 2075 7365 6420 666f 7220 e face used for │ │ │ +0002f0b0: 6f70 6572 6174 6f72 732e 220a 2020 3a67 operators.". :g │ │ │ +0002f0c0: 726f 7570 2027 6167 6461 322d 6869 6768 roup 'agda2-high │ │ │ +0002f0d0: 6c69 6768 742d 6661 6365 7329 0a0a 2864 light-faces)..(d │ │ │ +0002f0e0: 6566 6661 6365 2061 6764 6132 2d68 6967 efface agda2-hig │ │ │ +0002f0f0: 686c 6967 6874 2d65 7272 6f72 2d66 6163 hlight-error-fac │ │ │ +0002f100: 650a 2020 2728 2828 2862 6163 6b67 726f e. '((((backgro │ │ │ +0002f110: 756e 6420 6c69 6768 7429 290a 2020 2020 und light)). │ │ │ +0002f120: 2028 3a66 6f72 6567 726f 756e 6420 2272 (:foreground "r │ │ │ +0002f130: 6564 2220 3a75 6e64 6572 6c69 6e65 2074 ed" :underline t │ │ │ +0002f140: 2929 0a20 2020 2028 2828 6261 636b 6772 )). (((backgr │ │ │ +0002f150: 6f75 6e64 2064 6172 6b29 290a 2020 2020 ound dark)). │ │ │ +0002f160: 2028 3a66 6f72 6567 726f 756e 6420 2223 (:foreground "# │ │ │ +0002f170: 4646 3030 3030 2220 3a75 6e64 6572 6c69 FF0000" :underli │ │ │ +0002f180: 6e65 2074 2929 290a 2020 2254 6865 2066 ne t))). "The f │ │ │ +0002f190: 6163 6520 7573 6564 2066 6f72 2065 7272 ace used for err │ │ │ +0002f1a0: 6f72 732e 220a 2020 3a67 726f 7570 2027 ors.". :group ' │ │ │ +0002f1b0: 6167 6461 322d 6869 6768 6c69 6768 742d agda2-highlight- │ │ │ +0002f1c0: 6661 6365 7329 0a0a 2864 6566 6661 6365 faces)..(defface │ │ │ +0002f1d0: 2061 6764 6132 2d68 6967 686c 6967 6874 agda2-highlight │ │ │ +0002f1e0: 2d65 7272 6f72 2d77 6172 6e69 6e67 2d66 -error-warning-f │ │ │ +0002f1f0: 6163 650a 2020 2728 2828 2862 6163 6b67 ace. '((((backg │ │ │ +0002f200: 726f 756e 6420 6c69 6768 7429 290a 2020 round light)). │ │ │ +0002f210: 2020 2028 3a62 6163 6b67 726f 756e 6420 (:background │ │ │ +0002f220: 226c 6967 6874 2063 6f72 616c 2220 3a75 "light coral" :u │ │ │ +0002f230: 6e64 6572 6c69 6e65 2074 2929 0a20 2020 nderline t)). │ │ │ +0002f240: 2028 2828 6261 636b 6772 6f75 6e64 2064 (((background d │ │ │ +0002f250: 6172 6b29 290a 2020 2020 2028 3a62 6163 ark)). (:bac │ │ │ +0002f260: 6b67 726f 756e 6420 2223 3830 3234 3030 kground "#802400 │ │ │ +0002f270: 2220 3a75 6e64 6572 6c69 6e65 2074 2929 " :underline t)) │ │ │ +0002f280: 290a 2020 2254 6865 2066 6163 6520 7573 ). "The face us │ │ │ +0002f290: 6564 2066 6f72 2066 6174 616c 2077 6172 ed for fatal war │ │ │ +0002f2a0: 6e69 6e67 732e 220a 2020 3a67 726f 7570 nings.". :group │ │ │ +0002f2b0: 2027 6167 6461 322d 6869 6768 6c69 6768 'agda2-highligh │ │ │ +0002f2c0: 742d 6661 6365 7329 0a0a 2864 6566 6661 t-faces)..(deffa │ │ │ +0002f2d0: 6365 2061 6764 6132 2d68 6967 686c 6967 ce agda2-highlig │ │ │ +0002f2e0: 6874 2d75 6e73 6f6c 7665 642d 6d65 7461 ht-unsolved-meta │ │ │ +0002f2f0: 2d66 6163 650a 2020 2728 2828 2862 6163 -face. '((((bac │ │ │ +0002f300: 6b67 726f 756e 6420 6c69 6768 7429 290a kground light)). │ │ │ +0002f310: 2020 2020 2028 3a62 6163 6b67 726f 756e (:backgroun │ │ │ +0002f320: 6420 2279 656c 6c6f 7722 2929 0a20 2020 d "yellow")). │ │ │ +0002f330: 2028 2828 6261 636b 6772 6f75 6e64 2064 (((background d │ │ │ +0002f340: 6172 6b29 290a 2020 2020 2028 3a62 6163 ark)). (:bac │ │ │ +0002f350: 6b67 726f 756e 6420 2223 3830 3642 3030 kground "#806B00 │ │ │ +0002f360: 2229 2929 0a20 2022 5468 6520 6661 6365 "))). "The face │ │ │ +0002f370: 2075 7365 6420 666f 7220 756e 736f 6c76 used for unsolv │ │ │ +0002f380: 6564 206d 6574 6120 7661 7269 6162 6c65 ed meta variable │ │ │ +0002f390: 732e 220a 2020 3a67 726f 7570 2027 6167 s.". :group 'ag │ │ │ +0002f3a0: 6461 322d 6869 6768 6c69 6768 742d 6661 da2-highlight-fa │ │ │ +0002f3b0: 6365 7329 0a0a 2864 6566 6661 6365 2061 ces)..(defface a │ │ │ +0002f3c0: 6764 6132 2d68 6967 686c 6967 6874 2d75 gda2-highlight-u │ │ │ +0002f3d0: 6e73 6f6c 7665 642d 636f 6e73 7472 6169 nsolved-constrai │ │ │ +0002f3e0: 6e74 2d66 6163 650a 2020 2728 2828 2862 nt-face. '((((b │ │ │ +0002f3f0: 6163 6b67 726f 756e 6420 6c69 6768 7429 ackground light) │ │ │ +0002f400: 290a 2020 2020 2028 3a62 6163 6b67 726f ). (:backgro │ │ │ +0002f410: 756e 6420 2279 656c 6c6f 7722 2929 0a20 und "yellow")). │ │ │ +0002f420: 2020 2028 2828 6261 636b 6772 6f75 6e64 (((background │ │ │ +0002f430: 2064 6172 6b29 290a 2020 2020 2028 3a62 dark)). (:b │ │ │ +0002f440: 6163 6b67 726f 756e 6420 2223 3830 3642 ackground "#806B │ │ │ +0002f450: 3030 2229 2929 0a20 2022 5468 6520 6661 00"))). "The fa │ │ │ +0002f460: 6365 2075 7365 6420 666f 7220 756e 736f ce used for unso │ │ │ +0002f470: 6c76 6564 2063 6f6e 7374 7261 696e 7473 lved constraints │ │ │ +0002f480: 2077 6869 6368 2061 7265 206e 6f74 2063 which are not c │ │ │ +0002f490: 6f6e 6e65 6374 6564 2074 6f20 6d65 7461 onnected to meta │ │ │ +0002f4a0: 732e 220a 2020 3a67 726f 7570 2027 6167 s.". :group 'ag │ │ │ +0002f4b0: 6461 322d 6869 6768 6c69 6768 742d 6661 da2-highlight-fa │ │ │ +0002f4c0: 6365 7329 0a0a 2864 6566 6661 6365 2061 ces)..(defface a │ │ │ +0002f4d0: 6764 6132 2d68 6967 686c 6967 6874 2d74 gda2-highlight-t │ │ │ +0002f4e0: 6572 6d69 6e61 7469 6f6e 2d70 726f 626c ermination-probl │ │ │ +0002f4f0: 656d 2d66 6163 650a 2020 2728 2828 2862 em-face. '((((b │ │ │ +0002f500: 6163 6b67 726f 756e 6420 6c69 6768 7429 ackground light) │ │ │ +0002f510: 290a 2020 2020 2028 3a62 6163 6b67 726f ). (:backgro │ │ │ +0002f520: 756e 6420 226c 6967 6874 2073 616c 6d6f und "light salmo │ │ │ +0002f530: 6e22 2929 0a20 2020 2028 2828 6261 636b n")). (((back │ │ │ +0002f540: 6772 6f75 6e64 2064 6172 6b29 290a 2020 ground dark)). │ │ │ +0002f550: 2020 2028 3a62 6163 6b67 726f 756e 6420 (:background │ │ │ +0002f560: 2223 3830 3234 3030 2229 2929 0a20 2022 "#802400"))). " │ │ │ +0002f570: 5468 6520 6661 6365 2075 7365 6420 666f The face used fo │ │ │ +0002f580: 7220 7465 726d 696e 6174 696f 6e20 7072 r termination pr │ │ │ +0002f590: 6f62 6c65 6d73 2e22 0a20 203a 6772 6f75 oblems.". :grou │ │ │ +0002f5a0: 7020 2761 6764 6132 2d68 6967 686c 6967 p 'agda2-highlig │ │ │ +0002f5b0: 6874 2d66 6163 6573 290a 0a28 6465 6666 ht-faces)..(deff │ │ │ +0002f5c0: 6163 6520 6167 6461 322d 6869 6768 6c69 ace agda2-highli │ │ │ +0002f5d0: 6768 742d 706f 7369 7469 7669 7479 2d70 ght-positivity-p │ │ │ +0002f5e0: 726f 626c 656d 2d66 6163 650a 2020 2728 roblem-face. '( │ │ │ +0002f5f0: 2828 2862 6163 6b67 726f 756e 6420 6c69 (((background li │ │ │ +0002f600: 6768 7429 290a 2020 2020 2028 3a62 6163 ght)). (:bac │ │ │ +0002f610: 6b67 726f 756e 6420 2270 6572 7522 2929 kground "peru")) │ │ │ +0002f620: 0a20 2020 2028 2828 6261 636b 6772 6f75 . (((backgrou │ │ │ +0002f630: 6e64 2064 6172 6b29 290a 2020 2020 2028 nd dark)). ( │ │ │ +0002f640: 3a62 6163 6b67 726f 756e 6420 2223 3830 :background "#80 │ │ │ +0002f650: 3346 3030 2229 2929 0a20 2022 5468 6520 3F00"))). "The │ │ │ +0002f660: 6661 6365 2075 7365 6420 666f 7220 706f face used for po │ │ │ +0002f670: 7369 7469 7669 7479 2070 726f 626c 656d sitivity problem │ │ │ +0002f680: 732e 220a 2020 3a67 726f 7570 2027 6167 s.". :group 'ag │ │ │ +0002f690: 6461 322d 6869 6768 6c69 6768 742d 6661 da2-highlight-fa │ │ │ +0002f6a0: 6365 7329 0a0a 2864 6566 6661 6365 2061 ces)..(defface a │ │ │ +0002f6b0: 6764 6132 2d68 6967 686c 6967 6874 2d64 gda2-highlight-d │ │ │ +0002f6c0: 6561 6463 6f64 652d 6661 6365 0a20 2027 eadcode-face. ' │ │ │ +0002f6d0: 2828 2828 6261 636b 6772 6f75 6e64 206c ((((background l │ │ │ +0002f6e0: 6967 6874 2929 0a20 2020 2020 283a 6261 ight)). (:ba │ │ │ +0002f6f0: 636b 6772 6f75 6e64 2022 6461 726b 2067 ckground "dark g │ │ │ +0002f700: 7261 7922 2929 0a20 2020 2028 2828 6261 ray")). (((ba │ │ │ +0002f710: 636b 6772 6f75 6e64 2064 6172 6b29 290a ckground dark)). │ │ │ +0002f720: 2020 2020 2028 3a62 6163 6b67 726f 756e (:backgroun │ │ │ +0002f730: 6420 2223 3830 3830 3830 2229 2929 0a20 d "#808080"))). │ │ │ +0002f740: 2022 5468 6520 6661 6365 2075 7365 6420 "The face used │ │ │ +0002f750: 666f 7220 6465 6164 2063 6f64 6520 2875 for dead code (u │ │ │ +0002f760: 6e72 6561 6368 6162 6c65 2063 6c61 7573 nreachable claus │ │ │ +0002f770: 6573 2c20 6574 632e 292e 220a 2020 3a67 es, etc.).". :g │ │ │ +0002f780: 726f 7570 2027 6167 6461 322d 6869 6768 roup 'agda2-high │ │ │ +0002f790: 6c69 6768 742d 6661 6365 7329 0a0a 2864 light-faces)..(d │ │ │ +0002f7a0: 6566 6661 6365 2061 6764 6132 2d68 6967 efface agda2-hig │ │ │ +0002f7b0: 686c 6967 6874 2d73 6861 646f 7769 6e67 hlight-shadowing │ │ │ +0002f7c0: 2d69 6e2d 7465 6c65 7363 6f70 652d 6661 -in-telescope-fa │ │ │ +0002f7d0: 6365 0a20 2027 2828 2828 6261 636b 6772 ce. '((((backgr │ │ │ +0002f7e0: 6f75 6e64 206c 6967 6874 2929 0a20 2020 ound light)). │ │ │ +0002f7f0: 2020 283a 6261 636b 6772 6f75 6e64 2022 (:background " │ │ │ +0002f800: 6461 726b 2067 7261 7922 2929 0a20 2020 dark gray")). │ │ │ +0002f810: 2028 2828 6261 636b 6772 6f75 6e64 2064 (((background d │ │ │ +0002f820: 6172 6b29 290a 2020 2020 2028 3a62 6163 ark)). (:bac │ │ │ +0002f830: 6b67 726f 756e 6420 2223 3830 3830 3830 kground "#808080 │ │ │ +0002f840: 2229 2929 0a20 2022 5468 6520 6661 6365 "))). "The face │ │ │ +0002f850: 2075 7365 6420 666f 7220 7368 6164 6f77 used for shadow │ │ │ +0002f860: 6564 2072 6570 6561 7465 6420 7661 7269 ed repeated vari │ │ │ +0002f870: 6162 6c65 206e 616d 6573 2069 6e20 7465 able names in te │ │ │ +0002f880: 6c65 7363 6f70 6573 2e22 0a20 203a 6772 lescopes.". :gr │ │ │ +0002f890: 6f75 7020 2761 6764 6132 2d68 6967 686c oup 'agda2-highl │ │ │ +0002f8a0: 6967 6874 2d66 6163 6573 290a 0a28 6465 ight-faces)..(de │ │ │ +0002f8b0: 6666 6163 6520 6167 6461 322d 6869 6768 fface agda2-high │ │ │ +0002f8c0: 6c69 6768 742d 636f 7665 7261 6765 2d70 light-coverage-p │ │ │ +0002f8d0: 726f 626c 656d 2d66 6163 650a 2020 2728 roblem-face. '( │ │ │ +0002f8e0: 2828 2862 6163 6b67 726f 756e 6420 6c69 (((background li │ │ │ +0002f8f0: 6768 7429 290a 2020 2020 2028 3a62 6163 ght)). (:bac │ │ │ +0002f900: 6b67 726f 756e 6420 2277 6865 6174 2229 kground "wheat") │ │ │ +0002f910: 290a 2020 2020 2828 2862 6163 6b67 726f ). (((backgro │ │ │ +0002f920: 756e 6420 6461 726b 2929 0a20 2020 2020 und dark)). │ │ │ +0002f930: 283a 6261 636b 6772 6f75 6e64 2022 2338 (:background "#8 │ │ │ +0002f940: 3035 3330 3022 2929 290a 2020 2254 6865 05300"))). "The │ │ │ +0002f950: 2066 6163 6520 7573 6564 2066 6f72 2063 face used for c │ │ │ +0002f960: 6f76 6572 6167 6520 7072 6f62 6c65 6d73 overage problems │ │ │ +0002f970: 2e22 0a20 203a 6772 6f75 7020 2761 6764 .". :group 'agd │ │ │ +0002f980: 6132 2d68 6967 686c 6967 6874 2d66 6163 a2-highlight-fac │ │ │ +0002f990: 6573 290a 0a28 6465 6666 6163 6520 6167 es)..(defface ag │ │ │ +0002f9a0: 6461 322d 6869 6768 6c69 6768 742d 6361 da2-highlight-ca │ │ │ +0002f9b0: 7463 6861 6c6c 2d63 6c61 7573 652d 6661 tchall-clause-fa │ │ │ +0002f9c0: 6365 0a20 2027 2828 2828 6261 636b 6772 ce. '((((backgr │ │ │ +0002f9d0: 6f75 6e64 206c 6967 6874 2929 0a20 2020 ound light)). │ │ │ +0002f9e0: 2020 283a 6261 636b 6772 6f75 6e64 2022 (:background " │ │ │ +0002f9f0: 7768 6974 6520 736d 6f6b 6522 2929 0a20 white smoke")). │ │ │ +0002fa00: 2020 2028 2828 6261 636b 6772 6f75 6e64 (((background │ │ │ +0002fa10: 2064 6172 6b29 290a 2020 2020 2028 3a62 dark)). (:b │ │ │ +0002fa20: 6163 6b67 726f 756e 6420 2223 3430 3430 ackground "#4040 │ │ │ +0002fa30: 3430 2229 2929 0a20 2022 5468 6520 6661 40"))). "The fa │ │ │ +0002fa40: 6365 2075 7365 6420 666f 7220 6361 7463 ce used for catc │ │ │ +0002fa50: 6861 6c6c 2063 6c61 7573 6573 2e22 0a20 hall clauses.". │ │ │ +0002fa60: 203a 6772 6f75 7020 2761 6764 6132 2d68 :group 'agda2-h │ │ │ +0002fa70: 6967 686c 6967 6874 2d66 6163 6573 290a ighlight-faces). │ │ │ +0002fa80: 0a28 6465 6666 6163 6520 6167 6461 322d .(defface agda2- │ │ │ +0002fa90: 6869 6768 6c69 6768 742d 636f 736d 6574 highlight-cosmet │ │ │ +0002faa0: 6963 2d70 726f 626c 656d 2d66 6163 650a ic-problem-face. │ │ │ +0002fab0: 2020 2728 2828 2862 6163 6b67 726f 756e '((((backgroun │ │ │ +0002fac0: 6420 6c69 6768 7429 290a 2020 2020 2028 d light)). ( │ │ │ +0002fad0: 3a62 6163 6b67 726f 756e 6420 2277 6869 :background "whi │ │ │ +0002fae0: 7465 2073 6d6f 6b65 2229 290a 2020 2020 te smoke")). │ │ │ +0002faf0: 2828 2862 6163 6b67 726f 756e 6420 6461 (((background da │ │ │ +0002fb00: 726b 2929 0a20 2020 2020 283a 6261 636b rk)). (:back │ │ │ +0002fb10: 6772 6f75 6e64 2022 2334 3034 3034 3022 ground "#404040" │ │ │ +0002fb20: 2929 290a 2020 2254 6865 2066 6163 6520 ))). "The face │ │ │ +0002fb30: 7573 6564 2066 6f72 2063 6f73 6d65 7469 used for cosmeti │ │ │ +0002fb40: 6320 7072 6f62 6c65 6d73 2e22 0a20 203a c problems.". : │ │ │ +0002fb50: 6772 6f75 7020 2761 6764 6132 2d68 6967 group 'agda2-hig │ │ │ +0002fb60: 686c 6967 6874 2d66 6163 6573 290a 0a28 hlight-faces)..( │ │ │ +0002fb70: 6465 6666 6163 6520 6167 6461 322d 6869 defface agda2-hi │ │ │ +0002fb80: 6768 6c69 6768 742d 636f 6e66 6c75 656e ghlight-confluen │ │ │ +0002fb90: 6365 2d70 726f 626c 656d 2d66 6163 650a ce-problem-face. │ │ │ +0002fba0: 2020 2728 2828 2862 6163 6b67 726f 756e '((((backgroun │ │ │ +0002fbb0: 6420 6c69 6768 7429 290a 2020 2020 2028 d light)). ( │ │ │ +0002fbc0: 3a62 6163 6b67 726f 756e 6420 2270 696e :background "pin │ │ │ +0002fbd0: 6b22 2929 0a20 2020 2028 2828 6261 636b k")). (((back │ │ │ +0002fbe0: 6772 6f75 6e64 2064 6172 6b29 290a 2020 ground dark)). │ │ │ +0002fbf0: 2020 2028 3a62 6163 6b67 726f 756e 6420 (:background │ │ │ +0002fc00: 2223 3830 3030 3830 2229 2929 0a20 2022 "#800080"))). " │ │ │ +0002fc10: 5468 6520 6661 6365 2075 7365 6420 666f The face used fo │ │ │ +0002fc20: 7220 636f 6e66 6c75 656e 6365 2070 726f r confluence pro │ │ │ +0002fc30: 626c 656d 732e 220a 2020 3a67 726f 7570 blems.". :group │ │ │ +0002fc40: 2027 6167 6461 322d 6869 6768 6c69 6768 'agda2-highligh │ │ │ +0002fc50: 742d 6661 6365 7329 0a0a 2864 6566 6661 t-faces)..(deffa │ │ │ +0002fc60: 6365 2061 6764 6132 2d68 6967 686c 6967 ce agda2-highlig │ │ │ +0002fc70: 6874 2d69 6e73 7461 6e63 652d 7072 6f62 ht-instance-prob │ │ │ +0002fc80: 6c65 6d2d 6661 6365 0a20 2027 2828 2828 lem-face. '(((( │ │ │ +0002fc90: 6261 636b 6772 6f75 6e64 206c 6967 6874 background light │ │ │ +0002fca0: 2929 0a20 2020 2020 283a 6261 636b 6772 )). (:backgr │ │ │ +0002fcb0: 6f75 6e64 2022 7768 6561 7422 2929 0a20 ound "wheat")). │ │ │ +0002fcc0: 2020 2028 2828 6261 636b 6772 6f75 6e64 (((background │ │ │ +0002fcd0: 2064 6172 6b29 290a 2020 2020 2028 3a62 dark)). (:b │ │ │ +0002fce0: 6163 6b67 726f 756e 6420 2223 3830 3533 ackground "#8053 │ │ │ +0002fcf0: 3030 2229 2929 0a20 2022 5468 6520 6661 00"))). "The fa │ │ │ +0002fd00: 6365 2075 7365 6420 666f 7220 696e 7374 ce used for inst │ │ │ +0002fd10: 616e 6365 2070 726f 626c 656d 732e 220a ance problems.". │ │ │ +0002fd20: 2020 3a67 726f 7570 2027 6167 6461 322d :group 'agda2- │ │ │ +0002fd30: 6869 6768 6c69 6768 742d 6661 6365 7329 highlight-faces) │ │ │ +0002fd40: 0a0a 2864 6566 6661 6365 2061 6764 6132 ..(defface agda2 │ │ │ +0002fd50: 2d68 6967 686c 6967 6874 2d6d 6973 7369 -highlight-missi │ │ │ +0002fd60: 6e67 2d64 6566 696e 6974 696f 6e2d 6661 ng-definition-fa │ │ │ +0002fd70: 6365 0a20 2027 2828 2828 6261 636b 6772 ce. '((((backgr │ │ │ +0002fd80: 6f75 6e64 206c 6967 6874 2929 0a20 2020 ound light)). │ │ │ +0002fd90: 2020 283a 6261 636b 6772 6f75 6e64 2022 (:background " │ │ │ +0002fda0: 6f72 616e 6765 2229 290a 2020 2020 2828 orange")). (( │ │ │ +0002fdb0: 2862 6163 6b67 726f 756e 6420 6461 726b (background dark │ │ │ +0002fdc0: 2929 0a20 2020 2020 283a 6261 636b 6772 )). (:backgr │ │ │ +0002fdd0: 6f75 6e64 2022 2338 3034 3034 3022 2929 ound "#804040")) │ │ │ +0002fde0: 290a 2020 2254 6865 2066 6163 6520 7573 ). "The face us │ │ │ +0002fdf0: 6564 2066 6f72 2074 7970 6520 6465 636c ed for type decl │ │ │ +0002fe00: 6172 6174 696f 6e73 2077 6974 6820 6d69 arations with mi │ │ │ +0002fe10: 7373 696e 6720 6465 6669 6e69 7469 6f6e ssing definition │ │ │ +0002fe20: 732e 220a 2020 3a67 726f 7570 2027 6167 s.". :group 'ag │ │ │ +0002fe30: 6461 322d 6869 6768 6c69 6768 742d 6661 da2-highlight-fa │ │ │ +0002fe40: 6365 7329 0a0a 2864 6566 6661 6365 2061 ces)..(defface a │ │ │ +0002fe50: 6764 6132 2d68 6967 686c 6967 6874 2d74 gda2-highlight-t │ │ │ +0002fe60: 7970 6563 6865 636b 732d 6661 6365 0a20 ypechecks-face. │ │ │ +0002fe70: 2027 2828 2828 6261 636b 6772 6f75 6e64 '((((background │ │ │ +0002fe80: 206c 6967 6874 2929 0a20 2020 2020 283a light)). (: │ │ │ +0002fe90: 6261 636b 6772 6f75 6e64 2022 6c69 6768 background "ligh │ │ │ +0002fea0: 7420 626c 7565 2220 3a66 6f72 6567 726f t blue" :foregro │ │ │ +0002feb0: 756e 6420 2262 6c61 636b 2229 290a 2020 und "black")). │ │ │ +0002fec0: 2020 2828 2862 6163 6b67 726f 756e 6420 (((background │ │ │ +0002fed0: 6461 726b 2929 0a20 2020 2020 283a 6261 dark)). (:ba │ │ │ +0002fee0: 636b 6772 6f75 6e64 2022 2330 3036 3038 ckground "#00608 │ │ │ +0002fef0: 3022 203a 666f 7265 6772 6f75 6e64 2022 0" :foreground " │ │ │ +0002ff00: 7768 6974 6522 2929 290a 2020 2254 6865 white"))). "The │ │ │ +0002ff10: 2066 6163 6520 7573 6564 2066 6f72 2063 face used for c │ │ │ +0002ff20: 6f64 6520 7768 6963 6820 6973 2062 6569 ode which is bei │ │ │ +0002ff30: 6e67 2074 7970 652d 6368 6563 6b65 642e ng type-checked. │ │ │ +0002ff40: 220a 2020 3a67 726f 7570 2027 6167 6461 ". :group 'agda │ │ │ +0002ff50: 322d 6869 6768 6c69 6768 742d 6661 6365 2-highlight-face │ │ │ +0002ff60: 7329 0a0a 2864 6566 7661 7220 6167 6461 s)..(defvar agda │ │ │ +0002ff70: 322d 6869 6768 6c69 6768 742d 6661 6365 2-highlight-face │ │ │ +0002ff80: 730a 2020 2728 286b 6579 776f 7264 2020 s. '((keyword │ │ │ +0002ff90: 2020 2020 2020 2020 2020 2020 2020 2e20 . │ │ │ +0002ffa0: 6167 6461 322d 6869 6768 6c69 6768 742d agda2-highlight- │ │ │ +0002ffb0: 6b65 7977 6f72 642d 6661 6365 290a 2020 keyword-face). │ │ │ +0002ffc0: 2020 2863 6f6d 6d65 6e74 2020 2020 2020 (comment │ │ │ +0002ffd0: 2020 2020 2020 2020 2020 2e20 666f 6e74 . font │ │ │ +0002ffe0: 2d6c 6f63 6b2d 636f 6d6d 656e 742d 6661 -lock-comment-fa │ │ │ +0002fff0: 6365 290a 2020 2020 2862 6163 6b67 726f ce). (backgro │ │ │ +00030000: 756e 6420 2020 2020 2020 2020 2020 2020 und │ │ │ +00030010: 2e20 6465 6661 756c 7429 0a20 2020 2028 . default). ( │ │ │ +00030020: 6d61 726b 7570 2020 2020 2020 2020 2020 markup │ │ │ +00030030: 2020 2020 2020 202e 2066 6f6e 742d 6c6f . font-lo │ │ │ +00030040: 636b 2d63 6f6d 6d65 6e74 2d64 656c 696d ck-comment-delim │ │ │ +00030050: 6974 6572 2d66 6163 6529 0a20 2020 2028 iter-face). ( │ │ │ +00030060: 7374 7269 6e67 2020 2020 2020 2020 2020 string │ │ │ +00030070: 2020 2020 2020 202e 2061 6764 6132 2d68 . agda2-h │ │ │ +00030080: 6967 686c 6967 6874 2d73 7472 696e 672d ighlight-string- │ │ │ +00030090: 6661 6365 290a 2020 2020 286e 756d 6265 face). (numbe │ │ │ +000300a0: 7220 2020 2020 2020 2020 2020 2020 2020 r │ │ │ +000300b0: 2020 2e20 6167 6461 322d 6869 6768 6c69 . agda2-highli │ │ │ +000300c0: 6768 742d 6e75 6d62 6572 2d66 6163 6529 ght-number-face) │ │ │ +000300d0: 0a20 2020 2028 7379 6d62 6f6c 2020 2020 . (symbol │ │ │ +000300e0: 2020 2020 2020 2020 2020 2020 202e 2061 . a │ │ │ +000300f0: 6764 6132 2d68 6967 686c 6967 6874 2d73 gda2-highlight-s │ │ │ +00030100: 796d 626f 6c2d 6661 6365 290a 2020 2020 ymbol-face). │ │ │ +00030110: 2870 7269 6d69 7469 7665 7479 7065 2020 (primitivetype │ │ │ +00030120: 2020 2020 2020 2020 2e20 6167 6461 322d . agda2- │ │ │ +00030130: 6869 6768 6c69 6768 742d 7072 696d 6974 highlight-primit │ │ │ +00030140: 6976 652d 7479 7065 2d66 6163 6529 0a20 ive-type-face). │ │ │ +00030150: 2020 2028 626f 756e 6420 2020 2020 2020 (bound │ │ │ +00030160: 2020 2020 2020 2020 2020 202e 2061 6764 . agd │ │ │ +00030170: 6132 2d68 6967 686c 6967 6874 2d62 6f75 a2-highlight-bou │ │ │ +00030180: 6e64 2d76 6172 6961 626c 652d 6661 6365 nd-variable-face │ │ │ +00030190: 290a 2020 2020 2867 656e 6572 616c 697a ). (generaliz │ │ │ +000301a0: 6162 6c65 2020 2020 2020 2020 2020 2e20 able . │ │ │ +000301b0: 6167 6461 322d 6869 6768 6c69 6768 742d agda2-highlight- │ │ │ +000301c0: 6765 6e65 7261 6c69 7a61 626c 652d 7661 generalizable-va │ │ │ +000301d0: 7269 6162 6c65 2d66 6163 6529 0a20 2020 riable-face). │ │ │ +000301e0: 2028 696e 6475 6374 6976 6563 6f6e 7374 (inductiveconst │ │ │ +000301f0: 7275 6374 6f72 2020 202e 2061 6764 6132 ructor . agda2 │ │ │ +00030200: 2d68 6967 686c 6967 6874 2d69 6e64 7563 -highlight-induc │ │ │ +00030210: 7469 7665 2d63 6f6e 7374 7275 6374 6f72 tive-constructor │ │ │ +00030220: 2d66 6163 6529 0a20 2020 2028 636f 696e -face). (coin │ │ │ +00030230: 6475 6374 6976 6563 6f6e 7374 7275 6374 ductiveconstruct │ │ │ +00030240: 6f72 202e 2061 6764 6132 2d68 6967 686c or . agda2-highl │ │ │ +00030250: 6967 6874 2d63 6f69 6e64 7563 7469 7665 ight-coinductive │ │ │ +00030260: 2d63 6f6e 7374 7275 6374 6f72 2d66 6163 -constructor-fac │ │ │ +00030270: 6529 0a20 2020 2028 6461 7461 7479 7065 e). (datatype │ │ │ +00030280: 2020 2020 2020 2020 2020 2020 2020 202e . │ │ │ +00030290: 2061 6764 6132 2d68 6967 686c 6967 6874 agda2-highlight │ │ │ +000302a0: 2d64 6174 6174 7970 652d 6661 6365 290a -datatype-face). │ │ │ +000302b0: 2020 2020 2866 6965 6c64 2020 2020 2020 (field │ │ │ +000302c0: 2020 2020 2020 2020 2020 2020 2e20 6167 . ag │ │ │ +000302d0: 6461 322d 6869 6768 6c69 6768 742d 6669 da2-highlight-fi │ │ │ +000302e0: 656c 642d 6661 6365 290a 2020 2020 2866 eld-face). (f │ │ │ +000302f0: 756e 6374 696f 6e20 2020 2020 2020 2020 unction │ │ │ +00030300: 2020 2020 2020 2e20 6167 6461 322d 6869 . agda2-hi │ │ │ +00030310: 6768 6c69 6768 742d 6675 6e63 7469 6f6e ghlight-function │ │ │ +00030320: 2d66 6163 6529 0a20 2020 2028 6d6f 6475 -face). (modu │ │ │ +00030330: 6c65 2020 2020 2020 2020 2020 2020 2020 le │ │ │ +00030340: 2020 202e 2061 6764 6132 2d68 6967 686c . agda2-highl │ │ │ +00030350: 6967 6874 2d6d 6f64 756c 652d 6661 6365 ight-module-face │ │ │ +00030360: 290a 2020 2020 2870 6f73 7475 6c61 7465 ). (postulate │ │ │ +00030370: 2020 2020 2020 2020 2020 2020 2020 2e20 . │ │ │ +00030380: 6167 6461 322d 6869 6768 6c69 6768 742d agda2-highlight- │ │ │ +00030390: 706f 7374 756c 6174 652d 6661 6365 290a postulate-face). │ │ │ +000303a0: 2020 2020 2870 7261 676d 6120 2020 2020 (pragma │ │ │ +000303b0: 2020 2020 2020 2020 2020 2020 2e20 6167 . ag │ │ │ +000303c0: 6461 322d 6869 6768 6c69 6768 742d 7072 da2-highlight-pr │ │ │ +000303d0: 6167 6d61 2d66 6163 6529 0a20 2020 2028 agma-face). ( │ │ │ +000303e0: 7072 696d 6974 6976 6520 2020 2020 2020 primitive │ │ │ +000303f0: 2020 2020 2020 202e 2061 6764 6132 2d68 . agda2-h │ │ │ +00030400: 6967 686c 6967 6874 2d70 7269 6d69 7469 ighlight-primiti │ │ │ +00030410: 7665 2d66 6163 6529 0a20 2020 2028 6d61 ve-face). (ma │ │ │ +00030420: 6372 6f20 2020 2020 2020 2020 2020 2020 cro │ │ │ +00030430: 2020 2020 202e 2061 6764 6132 2d68 6967 . agda2-hig │ │ │ +00030440: 686c 6967 6874 2d6d 6163 726f 2d66 6163 hlight-macro-fac │ │ │ +00030450: 6529 0a20 2020 2028 7265 636f 7264 2020 e). (record │ │ │ +00030460: 2020 2020 2020 2020 2020 2020 2020 202e . │ │ │ +00030470: 2061 6764 6132 2d68 6967 686c 6967 6874 agda2-highlight │ │ │ +00030480: 2d72 6563 6f72 642d 6661 6365 290a 2020 -record-face). │ │ │ +00030490: 2020 2864 6f74 7465 6420 2020 2020 2020 (dotted │ │ │ +000304a0: 2020 2020 2020 2020 2020 2e20 6167 6461 . agda │ │ │ +000304b0: 322d 6869 6768 6c69 6768 742d 646f 7474 2-highlight-dott │ │ │ +000304c0: 6564 2d66 6163 6529 0a20 2020 2028 6f70 ed-face). (op │ │ │ +000304d0: 6572 6174 6f72 2020 2020 2020 2020 2020 erator │ │ │ +000304e0: 2020 2020 202e 2061 6764 6132 2d68 6967 . agda2-hig │ │ │ +000304f0: 686c 6967 6874 2d6f 7065 7261 746f 722d hlight-operator- │ │ │ +00030500: 6661 6365 290a 2020 2020 2865 7272 6f72 face). (error │ │ │ 00030510: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00030520: 202e 2061 6764 6132 2d68 6967 686c 6967 . agda2-highlig │ │ │ -00030530: 6874 2d65 7272 6f72 2d66 6163 6529 0a20 ht-error-face). │ │ │ -00030540: 2020 2028 6572 726f 7277 6172 6e69 6e67 (errorwarning │ │ │ -00030550: 2020 2020 2020 2020 2020 202e 2061 6764 . agd │ │ │ -00030560: 6132 2d68 6967 686c 6967 6874 2d65 7272 a2-highlight-err │ │ │ -00030570: 6f72 2d77 6172 6e69 6e67 2d66 6163 6529 or-warning-face) │ │ │ -00030580: 0a20 2020 2028 756e 736f 6c76 6564 6d65 . (unsolvedme │ │ │ -00030590: 7461 2020 2020 2020 2020 2020 202e 2061 ta . a │ │ │ -000305a0: 6764 6132 2d68 6967 686c 6967 6874 2d75 gda2-highlight-u │ │ │ -000305b0: 6e73 6f6c 7665 642d 6d65 7461 2d66 6163 nsolved-meta-fac │ │ │ -000305c0: 6529 0a20 2020 2028 756e 736f 6c76 6564 e). (unsolved │ │ │ -000305d0: 636f 6e73 7472 6169 6e74 2020 2020 202e constraint . │ │ │ -000305e0: 2061 6764 6132 2d68 6967 686c 6967 6874 agda2-highlight │ │ │ -000305f0: 2d75 6e73 6f6c 7665 642d 636f 6e73 7472 -unsolved-constr │ │ │ -00030600: 6169 6e74 2d66 6163 6529 0a20 2020 2028 aint-face). ( │ │ │ -00030610: 7465 726d 696e 6174 696f 6e70 726f 626c terminationprobl │ │ │ -00030620: 656d 2020 2020 202e 2061 6764 6132 2d68 em . agda2-h │ │ │ -00030630: 6967 686c 6967 6874 2d74 6572 6d69 6e61 ighlight-termina │ │ │ -00030640: 7469 6f6e 2d70 726f 626c 656d 2d66 6163 tion-problem-fac │ │ │ -00030650: 6529 0a20 2020 2028 6465 6164 636f 6465 e). (deadcode │ │ │ -00030660: 2020 2020 2020 2020 2020 2020 2020 202e . │ │ │ -00030670: 2061 6764 6132 2d68 6967 686c 6967 6874 agda2-highlight │ │ │ -00030680: 2d64 6561 6463 6f64 652d 6661 6365 290a -deadcode-face). │ │ │ -00030690: 2020 2020 2873 6861 646f 7769 6e67 696e (shadowingin │ │ │ -000306a0: 7465 6c65 7363 6f70 6520 2020 2e20 6167 telescope . ag │ │ │ -000306b0: 6461 322d 6869 6768 6c69 6768 742d 7368 da2-highlight-sh │ │ │ -000306c0: 6164 6f77 696e 672d 696e 2d74 656c 6573 adowing-in-teles │ │ │ -000306d0: 636f 7065 2d66 6163 6529 0a20 2020 2028 cope-face). ( │ │ │ -000306e0: 636f 7665 7261 6765 7072 6f62 6c65 6d20 coverageproblem │ │ │ -000306f0: 2020 2020 2020 202e 2061 6764 6132 2d68 . agda2-h │ │ │ -00030700: 6967 686c 6967 6874 2d63 6f76 6572 6167 ighlight-coverag │ │ │ -00030710: 652d 7072 6f62 6c65 6d2d 6661 6365 290a e-problem-face). │ │ │ -00030720: 2020 2020 2870 6f73 6974 6976 6974 7970 (positivityp │ │ │ -00030730: 726f 626c 656d 2020 2020 2020 2e20 6167 roblem . ag │ │ │ -00030740: 6461 322d 6869 6768 6c69 6768 742d 706f da2-highlight-po │ │ │ -00030750: 7369 7469 7669 7479 2d70 726f 626c 656d sitivity-problem │ │ │ -00030760: 2d66 6163 6529 0a20 2020 2028 696e 636f -face). (inco │ │ │ -00030770: 6d70 6c65 7465 7061 7474 6572 6e20 2020 mpletepattern │ │ │ -00030780: 2020 202e 2061 6764 6132 2d68 6967 686c . agda2-highl │ │ │ -00030790: 6967 6874 2d69 6e63 6f6d 706c 6574 652d ight-incomplete- │ │ │ -000307a0: 7061 7474 6572 6e2d 6661 6365 290a 2020 pattern-face). │ │ │ -000307b0: 2020 2863 6174 6368 616c 6c63 6c61 7573 (catchallclaus │ │ │ -000307c0: 6520 2020 2020 2020 2020 2e20 6167 6461 e . agda │ │ │ -000307d0: 322d 6869 6768 6c69 6768 742d 6361 7463 2-highlight-catc │ │ │ -000307e0: 6861 6c6c 2d63 6c61 7573 652d 6661 6365 hall-clause-face │ │ │ -000307f0: 290a 2020 2020 2863 6f6e 666c 7565 6e63 ). (confluenc │ │ │ -00030800: 6570 726f 626c 656d 2020 2020 2020 2e20 eproblem . │ │ │ -00030810: 6167 6461 322d 6869 6768 6c69 6768 742d agda2-highlight- │ │ │ -00030820: 636f 6e66 6c75 656e 6365 2d70 726f 626c confluence-probl │ │ │ -00030830: 656d 2d66 6163 6529 0a20 2020 2028 636f em-face). (co │ │ │ -00030840: 736d 6574 6963 7072 6f62 6c65 6d20 2020 smeticproblem │ │ │ -00030850: 2020 2020 202e 2061 6764 6132 2d68 6967 . agda2-hig │ │ │ -00030860: 686c 6967 6874 2d63 6f73 6d65 7469 632d hlight-cosmetic- │ │ │ -00030870: 7072 6f62 6c65 6d2d 6661 6365 290a 2020 problem-face). │ │ │ -00030880: 2020 2869 6e73 7461 6e63 6570 726f 626c (instanceprobl │ │ │ -00030890: 656d 2020 2020 2020 2020 2e20 6167 6461 em . agda │ │ │ -000308a0: 322d 6869 6768 6c69 6768 742d 696e 7374 2-highlight-inst │ │ │ -000308b0: 616e 6365 2d70 726f 626c 656d 2d66 6163 ance-problem-fac │ │ │ -000308c0: 6529 0a20 2020 2028 6d69 7373 696e 6764 e). (missingd │ │ │ -000308d0: 6566 696e 6974 696f 6e20 2020 2020 202e efinition . │ │ │ -000308e0: 2061 6764 6132 2d68 6967 686c 6967 6874 agda2-highlight │ │ │ -000308f0: 2d6d 6973 7369 6e67 2d64 6566 696e 6974 -missing-definit │ │ │ -00030900: 696f 6e2d 6661 6365 290a 2020 2020 2874 ion-face). (t │ │ │ -00030910: 7970 6563 6865 636b 7320 2020 2020 2020 ypechecks │ │ │ -00030920: 2020 2020 2020 2e20 6167 6461 322d 6869 . agda2-hi │ │ │ -00030930: 6768 6c69 6768 742d 7479 7065 6368 6563 ghlight-typechec │ │ │ -00030940: 6b73 2d66 6163 6529 290a 2020 2241 6c69 ks-face)). "Ali │ │ │ -00030950: 7374 206d 6170 7069 6e67 2063 6f64 6520 st mapping code │ │ │ -00030960: 6173 7065 6374 7320 746f 2074 6865 2066 aspects to the f │ │ │ -00030970: 6163 6520 7573 6564 2077 6865 6e20 6469 ace used when di │ │ │ -00030980: 7370 6c61 7969 6e67 2074 6865 6d2e 0a0a splaying them... │ │ │ -00030990: 5468 6520 6173 7065 6374 7320 6375 7272 The aspects curr │ │ │ -000309a0: 656e 746c 7920 7265 636f 676e 6973 6564 ently recognised │ │ │ -000309b0: 2061 7265 2074 6865 2066 6f6c 6c6f 7769 are the followi │ │ │ -000309c0: 6e67 3a0a 0a60 6261 636b 6772 6f75 6e64 ng:..`background │ │ │ -000309d0: 2720 2020 2020 2020 2020 2020 2020 4e6f ' No │ │ │ -000309e0: 6e2d 4167 6461 2063 6f64 6520 636f 6e74 n-Agda code cont │ │ │ -000309f0: 656e 7473 2069 6e20 6c69 7465 7261 7465 ents in literate │ │ │ -00030a00: 206d 6f64 652e 0a60 626f 756e 6427 2020 mode..`bound' │ │ │ +00030520: 2020 2e20 6167 6461 322d 6869 6768 6c69 . agda2-highli │ │ │ +00030530: 6768 742d 6572 726f 722d 6661 6365 290a ght-error-face). │ │ │ +00030540: 2020 2020 2865 7272 6f72 7761 726e 696e (errorwarnin │ │ │ +00030550: 6720 2020 2020 2020 2020 2020 2e20 6167 g . ag │ │ │ +00030560: 6461 322d 6869 6768 6c69 6768 742d 6572 da2-highlight-er │ │ │ +00030570: 726f 722d 7761 726e 696e 672d 6661 6365 ror-warning-face │ │ │ +00030580: 290a 2020 2020 2875 6e73 6f6c 7665 646d ). (unsolvedm │ │ │ +00030590: 6574 6120 2020 2020 2020 2020 2020 2e20 eta . │ │ │ +000305a0: 6167 6461 322d 6869 6768 6c69 6768 742d agda2-highlight- │ │ │ +000305b0: 756e 736f 6c76 6564 2d6d 6574 612d 6661 unsolved-meta-fa │ │ │ +000305c0: 6365 290a 2020 2020 2875 6e73 6f6c 7665 ce). (unsolve │ │ │ +000305d0: 6463 6f6e 7374 7261 696e 7420 2020 2020 dconstraint │ │ │ +000305e0: 2e20 6167 6461 322d 6869 6768 6c69 6768 . agda2-highligh │ │ │ +000305f0: 742d 756e 736f 6c76 6564 2d63 6f6e 7374 t-unsolved-const │ │ │ +00030600: 7261 696e 742d 6661 6365 290a 2020 2020 raint-face). │ │ │ +00030610: 2874 6572 6d69 6e61 7469 6f6e 7072 6f62 (terminationprob │ │ │ +00030620: 6c65 6d20 2020 2020 2e20 6167 6461 322d lem . agda2- │ │ │ +00030630: 6869 6768 6c69 6768 742d 7465 726d 696e highlight-termin │ │ │ +00030640: 6174 696f 6e2d 7072 6f62 6c65 6d2d 6661 ation-problem-fa │ │ │ +00030650: 6365 290a 2020 2020 2864 6561 6463 6f64 ce). (deadcod │ │ │ +00030660: 6520 2020 2020 2020 2020 2020 2020 2020 e │ │ │ +00030670: 2e20 6167 6461 322d 6869 6768 6c69 6768 . agda2-highligh │ │ │ +00030680: 742d 6465 6164 636f 6465 2d66 6163 6529 t-deadcode-face) │ │ │ +00030690: 0a20 2020 2028 7368 6164 6f77 696e 6769 . (shadowingi │ │ │ +000306a0: 6e74 656c 6573 636f 7065 2020 202e 2061 ntelescope . a │ │ │ +000306b0: 6764 6132 2d68 6967 686c 6967 6874 2d73 gda2-highlight-s │ │ │ +000306c0: 6861 646f 7769 6e67 2d69 6e2d 7465 6c65 hadowing-in-tele │ │ │ +000306d0: 7363 6f70 652d 6661 6365 290a 2020 2020 scope-face). │ │ │ +000306e0: 2863 6f76 6572 6167 6570 726f 626c 656d (coverageproblem │ │ │ +000306f0: 2020 2020 2020 2020 2e20 6167 6461 322d . agda2- │ │ │ +00030700: 6869 6768 6c69 6768 742d 636f 7665 7261 highlight-covera │ │ │ +00030710: 6765 2d70 726f 626c 656d 2d66 6163 6529 ge-problem-face) │ │ │ +00030720: 0a20 2020 2028 706f 7369 7469 7669 7479 . (positivity │ │ │ +00030730: 7072 6f62 6c65 6d20 2020 2020 202e 2061 problem . a │ │ │ +00030740: 6764 6132 2d68 6967 686c 6967 6874 2d70 gda2-highlight-p │ │ │ +00030750: 6f73 6974 6976 6974 792d 7072 6f62 6c65 ositivity-proble │ │ │ +00030760: 6d2d 6661 6365 290a 2020 2020 2869 6e63 m-face). (inc │ │ │ +00030770: 6f6d 706c 6574 6570 6174 7465 726e 2020 ompletepattern │ │ │ +00030780: 2020 2020 2e20 6167 6461 322d 6869 6768 . agda2-high │ │ │ +00030790: 6c69 6768 742d 696e 636f 6d70 6c65 7465 light-incomplete │ │ │ +000307a0: 2d70 6174 7465 726e 2d66 6163 6529 0a20 -pattern-face). │ │ │ +000307b0: 2020 2028 6361 7463 6861 6c6c 636c 6175 (catchallclau │ │ │ +000307c0: 7365 2020 2020 2020 2020 202e 2061 6764 se . agd │ │ │ +000307d0: 6132 2d68 6967 686c 6967 6874 2d63 6174 a2-highlight-cat │ │ │ +000307e0: 6368 616c 6c2d 636c 6175 7365 2d66 6163 chall-clause-fac │ │ │ +000307f0: 6529 0a20 2020 2028 636f 6e66 6c75 656e e). (confluen │ │ │ +00030800: 6365 7072 6f62 6c65 6d20 2020 2020 202e ceproblem . │ │ │ +00030810: 2061 6764 6132 2d68 6967 686c 6967 6874 agda2-highlight │ │ │ +00030820: 2d63 6f6e 666c 7565 6e63 652d 7072 6f62 -confluence-prob │ │ │ +00030830: 6c65 6d2d 6661 6365 290a 2020 2020 2863 lem-face). (c │ │ │ +00030840: 6f73 6d65 7469 6370 726f 626c 656d 2020 osmeticproblem │ │ │ +00030850: 2020 2020 2020 2e20 6167 6461 322d 6869 . agda2-hi │ │ │ +00030860: 6768 6c69 6768 742d 636f 736d 6574 6963 ghlight-cosmetic │ │ │ +00030870: 2d70 726f 626c 656d 2d66 6163 6529 0a20 -problem-face). │ │ │ +00030880: 2020 2028 696e 7374 616e 6365 7072 6f62 (instanceprob │ │ │ +00030890: 6c65 6d20 2020 2020 2020 202e 2061 6764 lem . agd │ │ │ +000308a0: 6132 2d68 6967 686c 6967 6874 2d69 6e73 a2-highlight-ins │ │ │ +000308b0: 7461 6e63 652d 7072 6f62 6c65 6d2d 6661 tance-problem-fa │ │ │ +000308c0: 6365 290a 2020 2020 286d 6973 7369 6e67 ce). (missing │ │ │ +000308d0: 6465 6669 6e69 7469 6f6e 2020 2020 2020 definition │ │ │ +000308e0: 2e20 6167 6461 322d 6869 6768 6c69 6768 . agda2-highligh │ │ │ +000308f0: 742d 6d69 7373 696e 672d 6465 6669 6e69 t-missing-defini │ │ │ +00030900: 7469 6f6e 2d66 6163 6529 0a20 2020 2028 tion-face). ( │ │ │ +00030910: 7479 7065 6368 6563 6b73 2020 2020 2020 typechecks │ │ │ +00030920: 2020 2020 2020 202e 2061 6764 6132 2d68 . agda2-h │ │ │ +00030930: 6967 686c 6967 6874 2d74 7970 6563 6865 ighlight-typeche │ │ │ +00030940: 636b 732d 6661 6365 2929 0a20 2022 416c cks-face)). "Al │ │ │ +00030950: 6973 7420 6d61 7070 696e 6720 636f 6465 ist mapping code │ │ │ +00030960: 2061 7370 6563 7473 2074 6f20 7468 6520 aspects to the │ │ │ +00030970: 6661 6365 2075 7365 6420 7768 656e 2064 face used when d │ │ │ +00030980: 6973 706c 6179 696e 6720 7468 656d 2e0a isplaying them.. │ │ │ +00030990: 0a54 6865 2061 7370 6563 7473 2063 7572 .The aspects cur │ │ │ +000309a0: 7265 6e74 6c79 2072 6563 6f67 6e69 7365 rently recognise │ │ │ +000309b0: 6420 6172 6520 7468 6520 666f 6c6c 6f77 d are the follow │ │ │ +000309c0: 696e 673a 0a0a 6062 6163 6b67 726f 756e ing:..`backgroun │ │ │ +000309d0: 6427 2020 2020 2020 2020 2020 2020 204e d' N │ │ │ +000309e0: 6f6e 2d41 6764 6120 636f 6465 2063 6f6e on-Agda code con │ │ │ +000309f0: 7465 6e74 7320 696e 206c 6974 6572 6174 tents in literat │ │ │ +00030a00: 6520 6d6f 6465 2e0a 6062 6f75 6e64 2720 e mode..`bound' │ │ │ 00030a10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00030a20: 426f 756e 6420 7661 7269 6162 6c65 732e Bound variables. │ │ │ -00030a30: 0a60 6361 7463 6861 6c6c 636c 6175 7365 .`catchallclause │ │ │ -00030a40: 2720 2020 2020 2020 2020 436c 6175 7365 ' Clause │ │ │ -00030a50: 206e 6f74 2068 6f6c 6469 6e67 2064 6566 not holding def │ │ │ -00030a60: 696e 6974 696f 6e61 6c6c 792e 0a60 636f initionally..`co │ │ │ -00030a70: 696e 6475 6374 6976 6563 6f6e 7374 7275 inductiveconstru │ │ │ -00030a80: 6374 6f72 2720 436f 696e 6475 6374 6976 ctor' Coinductiv │ │ │ -00030a90: 6520 636f 6e73 7472 7563 746f 7273 2e0a e constructors.. │ │ │ -00030aa0: 6063 6f6d 6d65 6e74 2720 2020 2020 2020 `comment' │ │ │ -00030ab0: 2020 2020 2020 2020 2043 6f6d 6d65 6e74 Comment │ │ │ -00030ac0: 732e 0a60 636f 736d 6574 6963 7072 6f62 s..`cosmeticprob │ │ │ -00030ad0: 6c65 6d27 2020 2020 2020 2020 436f 6465 lem' Code │ │ │ -00030ae0: 2074 6861 7420 636f 756c 6420 6265 2070 that could be p │ │ │ -00030af0: 7265 7474 6965 722e 0a60 636f 7665 7261 rettier..`covera │ │ │ -00030b00: 6765 7072 6f62 6c65 6d27 2020 2020 2020 geproblem' │ │ │ -00030b10: 2020 436f 7665 7261 6765 2070 726f 626c Coverage probl │ │ │ -00030b20: 656d 732e 0a60 6461 7461 7479 7065 2720 ems..`datatype' │ │ │ -00030b30: 2020 2020 2020 2020 2020 2020 2020 4461 Da │ │ │ -00030b40: 7461 2074 7970 6573 2e0a 6064 6561 6463 ta types..`deadc │ │ │ -00030b50: 6f64 6527 2020 2020 2020 2020 2020 2020 ode' │ │ │ -00030b60: 2020 2044 6561 6463 6f64 6520 286c 696b Deadcode (lik │ │ │ -00030b70: 6520 756e 7265 6163 6861 626c 6520 636c e unreachable cl │ │ │ -00030b80: 6175 7365 7320 6f72 2052 4853 292e 0a60 auses or RHS)..` │ │ │ -00030b90: 646f 7474 6564 2720 2020 2020 2020 2020 dotted' │ │ │ -00030ba0: 2020 2020 2020 2020 446f 7474 6564 2070 Dotted p │ │ │ -00030bb0: 6174 7465 726e 732e 0a60 6572 726f 7227 atterns..`error' │ │ │ -00030bc0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00030bd0: 2020 4572 726f 7273 2e0a 6065 7272 6f72 Errors..`error │ │ │ -00030be0: 7761 726e 696e 6727 2020 2020 2020 2020 warning' │ │ │ -00030bf0: 2020 2046 6174 616c 2077 6172 6e69 6e67 Fatal warning │ │ │ -00030c00: 732e 0a60 6669 656c 6427 2020 2020 2020 s..`field' │ │ │ -00030c10: 2020 2020 2020 2020 2020 2020 5265 636f Reco │ │ │ -00030c20: 7264 2066 6965 6c64 732e 0a60 6675 6e63 rd fields..`func │ │ │ -00030c30: 7469 6f6e 2720 2020 2020 2020 2020 2020 tion' │ │ │ -00030c40: 2020 2020 4675 6e63 7469 6f6e 732e 0a60 Functions..` │ │ │ -00030c50: 6765 6e65 7261 6c69 7a61 626c 6527 2020 generalizable' │ │ │ -00030c60: 2020 2020 2020 2020 4765 6e65 7261 6c69 Generali │ │ │ -00030c70: 7a61 626c 6520 7661 7269 6162 6c65 732e zable variables. │ │ │ -00030c80: 0a60 696e 636f 6d70 6c65 7465 7061 7474 .`incompletepatt │ │ │ -00030c90: 6572 6e27 2020 2020 2020 496e 636f 6d70 ern' Incomp │ │ │ -00030ca0: 6c65 7465 2070 6174 7465 726e 732e 0a60 lete patterns..` │ │ │ -00030cb0: 696e 6475 6374 6976 6563 6f6e 7374 7275 inductiveconstru │ │ │ -00030cc0: 6374 6f72 2720 2020 496e 6475 6374 6976 ctor' Inductiv │ │ │ -00030cd0: 6520 636f 6e73 7472 7563 746f 7273 2e0a e constructors.. │ │ │ -00030ce0: 6069 6e73 7461 6e63 6570 726f 626c 656d `instanceproblem │ │ │ -00030cf0: 2720 2020 2020 2020 2055 6e75 7361 626c ' Unusabl │ │ │ -00030d00: 6520 696e 7374 616e 6365 2861 7267 756d e instance(argum │ │ │ -00030d10: 656e 7429 732e 0a60 6b65 7977 6f72 6427 ent)s..`keyword' │ │ │ -00030d20: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00030d30: 4b65 7977 6f72 6473 2e0a 606d 6163 726f Keywords..`macro │ │ │ -00030d40: 2720 2020 2020 2020 2020 2020 2020 2020 ' │ │ │ -00030d50: 2020 204d 6163 726f 732e 0a60 6d61 726b Macros..`mark │ │ │ -00030d60: 7570 2720 2020 2020 2020 2020 2020 2020 up' │ │ │ -00030d70: 2020 2020 4465 6c69 6d69 7465 7273 2074 Delimiters t │ │ │ -00030d80: 6f20 7365 7061 7261 7465 2074 6865 2041 o separate the A │ │ │ -00030d90: 6764 6120 636f 6465 2062 6c6f 636b 730a gda code blocks. │ │ │ -00030da0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00030db0: 2020 2020 2020 2020 2020 2066 726f 6d20 from │ │ │ -00030dc0: 6f74 6865 7220 636f 6e74 656e 7473 2e0a other contents.. │ │ │ -00030dd0: 606d 6f64 756c 6527 2020 2020 2020 2020 `module' │ │ │ -00030de0: 2020 2020 2020 2020 204d 6f64 756c 6520 Module │ │ │ -00030df0: 6e61 6d65 732e 0a60 6e75 6d62 6572 2720 names..`number' │ │ │ +00030a20: 2042 6f75 6e64 2076 6172 6961 626c 6573 Bound variables │ │ │ +00030a30: 2e0a 6063 6174 6368 616c 6c63 6c61 7573 ..`catchallclaus │ │ │ +00030a40: 6527 2020 2020 2020 2020 2043 6c61 7573 e' Claus │ │ │ +00030a50: 6520 6e6f 7420 686f 6c64 696e 6720 6465 e not holding de │ │ │ +00030a60: 6669 6e69 7469 6f6e 616c 6c79 2e0a 6063 finitionally..`c │ │ │ +00030a70: 6f69 6e64 7563 7469 7665 636f 6e73 7472 oinductiveconstr │ │ │ +00030a80: 7563 746f 7227 2043 6f69 6e64 7563 7469 uctor' Coinducti │ │ │ +00030a90: 7665 2063 6f6e 7374 7275 6374 6f72 732e ve constructors. │ │ │ +00030aa0: 0a60 636f 6d6d 656e 7427 2020 2020 2020 .`comment' │ │ │ +00030ab0: 2020 2020 2020 2020 2020 436f 6d6d 656e Commen │ │ │ +00030ac0: 7473 2e0a 6063 6f73 6d65 7469 6370 726f ts..`cosmeticpro │ │ │ +00030ad0: 626c 656d 2720 2020 2020 2020 2043 6f64 blem' Cod │ │ │ +00030ae0: 6520 7468 6174 2063 6f75 6c64 2062 6520 e that could be │ │ │ +00030af0: 7072 6574 7469 6572 2e0a 6063 6f76 6572 prettier..`cover │ │ │ +00030b00: 6167 6570 726f 626c 656d 2720 2020 2020 ageproblem' │ │ │ +00030b10: 2020 2043 6f76 6572 6167 6520 7072 6f62 Coverage prob │ │ │ +00030b20: 6c65 6d73 2e0a 6064 6174 6174 7970 6527 lems..`datatype' │ │ │ +00030b30: 2020 2020 2020 2020 2020 2020 2020 2044 D │ │ │ +00030b40: 6174 6120 7479 7065 732e 0a60 6465 6164 ata types..`dead │ │ │ +00030b50: 636f 6465 2720 2020 2020 2020 2020 2020 code' │ │ │ +00030b60: 2020 2020 4465 6164 636f 6465 2028 6c69 Deadcode (li │ │ │ +00030b70: 6b65 2075 6e72 6561 6368 6162 6c65 2063 ke unreachable c │ │ │ +00030b80: 6c61 7573 6573 206f 7220 5248 5329 2e0a lauses or RHS).. │ │ │ +00030b90: 6064 6f74 7465 6427 2020 2020 2020 2020 `dotted' │ │ │ +00030ba0: 2020 2020 2020 2020 2044 6f74 7465 6420 Dotted │ │ │ +00030bb0: 7061 7474 6572 6e73 2e0a 6065 7272 6f72 patterns..`error │ │ │ +00030bc0: 2720 2020 2020 2020 2020 2020 2020 2020 ' │ │ │ +00030bd0: 2020 2045 7272 6f72 732e 0a60 6572 726f Errors..`erro │ │ │ +00030be0: 7277 6172 6e69 6e67 2720 2020 2020 2020 rwarning' │ │ │ +00030bf0: 2020 2020 4661 7461 6c20 7761 726e 696e Fatal warnin │ │ │ +00030c00: 6773 2e0a 6066 6965 6c64 2720 2020 2020 gs..`field' │ │ │ +00030c10: 2020 2020 2020 2020 2020 2020 2052 6563 Rec │ │ │ +00030c20: 6f72 6420 6669 656c 6473 2e0a 6066 756e ord fields..`fun │ │ │ +00030c30: 6374 696f 6e27 2020 2020 2020 2020 2020 ction' │ │ │ +00030c40: 2020 2020 2046 756e 6374 696f 6e73 2e0a Functions.. │ │ │ +00030c50: 6067 656e 6572 616c 697a 6162 6c65 2720 `generalizable' │ │ │ +00030c60: 2020 2020 2020 2020 2047 656e 6572 616c General │ │ │ +00030c70: 697a 6162 6c65 2076 6172 6961 626c 6573 izable variables │ │ │ +00030c80: 2e0a 6069 6e63 6f6d 706c 6574 6570 6174 ..`incompletepat │ │ │ +00030c90: 7465 726e 2720 2020 2020 2049 6e63 6f6d tern' Incom │ │ │ +00030ca0: 706c 6574 6520 7061 7474 6572 6e73 2e0a plete patterns.. │ │ │ +00030cb0: 6069 6e64 7563 7469 7665 636f 6e73 7472 `inductiveconstr │ │ │ +00030cc0: 7563 746f 7227 2020 2049 6e64 7563 7469 uctor' Inducti │ │ │ +00030cd0: 7665 2063 6f6e 7374 7275 6374 6f72 732e ve constructors. │ │ │ +00030ce0: 0a60 696e 7374 616e 6365 7072 6f62 6c65 .`instanceproble │ │ │ +00030cf0: 6d27 2020 2020 2020 2020 556e 7573 6162 m' Unusab │ │ │ +00030d00: 6c65 2069 6e73 7461 6e63 6528 6172 6775 le instance(argu │ │ │ +00030d10: 6d65 6e74 2973 2e0a 606b 6579 776f 7264 ment)s..`keyword │ │ │ +00030d20: 2720 2020 2020 2020 2020 2020 2020 2020 ' │ │ │ +00030d30: 204b 6579 776f 7264 732e 0a60 6d61 6372 Keywords..`macr │ │ │ +00030d40: 6f27 2020 2020 2020 2020 2020 2020 2020 o' │ │ │ +00030d50: 2020 2020 4d61 6372 6f73 2e0a 606d 6172 Macros..`mar │ │ │ +00030d60: 6b75 7027 2020 2020 2020 2020 2020 2020 kup' │ │ │ +00030d70: 2020 2020 2044 656c 696d 6974 6572 7320 Delimiters │ │ │ +00030d80: 746f 2073 6570 6172 6174 6520 7468 6520 to separate the │ │ │ +00030d90: 4167 6461 2063 6f64 6520 626c 6f63 6b73 Agda code blocks │ │ │ +00030da0: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ +00030db0: 2020 2020 2020 2020 2020 2020 6672 6f6d from │ │ │ +00030dc0: 206f 7468 6572 2063 6f6e 7465 6e74 732e other contents. │ │ │ +00030dd0: 0a60 6d6f 6475 6c65 2720 2020 2020 2020 .`module' │ │ │ +00030de0: 2020 2020 2020 2020 2020 4d6f 6475 6c65 Module │ │ │ +00030df0: 206e 616d 6573 2e0a 606e 756d 6265 7227 names..`number' │ │ │ 00030e00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00030e10: 4e75 6d62 6572 732e 0a60 6f70 6572 6174 Numbers..`operat │ │ │ -00030e20: 6f72 2720 2020 2020 2020 2020 2020 2020 or' │ │ │ -00030e30: 2020 4f70 6572 6174 6f72 732e 0a60 706f Operators..`po │ │ │ -00030e40: 7369 7469 7669 7479 7072 6f62 6c65 6d27 sitivityproblem' │ │ │ -00030e50: 2020 2020 2020 506f 7369 7469 7669 7479 Positivity │ │ │ -00030e60: 2070 726f 626c 656d 732e 0a60 706f 7374 problems..`post │ │ │ -00030e70: 756c 6174 6527 2020 2020 2020 2020 2020 ulate' │ │ │ -00030e80: 2020 2020 506f 7374 756c 6174 6573 2e0a Postulates.. │ │ │ -00030e90: 6070 7261 676d 6127 2020 2020 2020 2020 `pragma' │ │ │ -00030ea0: 2020 2020 2020 2020 2054 6578 7420 6f63 Text oc │ │ │ -00030eb0: 6375 7272 696e 6720 696e 2070 7261 676d curring in pragm │ │ │ -00030ec0: 6173 2074 6861 7420 646f 6573 206e 6f74 as that does not │ │ │ -00030ed0: 2068 6176 650a 2020 2020 2020 2020 2020 have. │ │ │ +00030e10: 204e 756d 6265 7273 2e0a 606f 7065 7261 Numbers..`opera │ │ │ +00030e20: 746f 7227 2020 2020 2020 2020 2020 2020 tor' │ │ │ +00030e30: 2020 204f 7065 7261 746f 7273 2e0a 6070 Operators..`p │ │ │ +00030e40: 6f73 6974 6976 6974 7970 726f 626c 656d ositivityproblem │ │ │ +00030e50: 2720 2020 2020 2050 6f73 6974 6976 6974 ' Positivit │ │ │ +00030e60: 7920 7072 6f62 6c65 6d73 2e0a 6070 6f73 y problems..`pos │ │ │ +00030e70: 7475 6c61 7465 2720 2020 2020 2020 2020 tulate' │ │ │ +00030e80: 2020 2020 2050 6f73 7475 6c61 7465 732e Postulates. │ │ │ +00030e90: 0a60 7072 6167 6d61 2720 2020 2020 2020 .`pragma' │ │ │ +00030ea0: 2020 2020 2020 2020 2020 5465 7874 206f Text o │ │ │ +00030eb0: 6363 7572 7269 6e67 2069 6e20 7072 6167 ccurring in prag │ │ │ +00030ec0: 6d61 7320 7468 6174 2064 6f65 7320 6e6f mas that does no │ │ │ +00030ed0: 7420 6861 7665 0a20 2020 2020 2020 2020 t have. │ │ │ 00030ee0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00030ef0: 2061 206d 6f72 6520 7370 6563 6966 6963 a more specific │ │ │ -00030f00: 2028 7379 6e74 6163 7469 6329 2061 7370 (syntactic) asp │ │ │ -00030f10: 6563 742e 0a60 7072 696d 6974 6976 6527 ect..`primitive' │ │ │ -00030f20: 2020 2020 2020 2020 2020 2020 2020 5072 Pr │ │ │ -00030f30: 696d 6974 6976 6520 6675 6e63 7469 6f6e imitive function │ │ │ -00030f40: 732e 0a60 7072 696d 6974 6976 6574 7970 s..`primitivetyp │ │ │ -00030f50: 6527 2020 2020 2020 2020 2020 5072 696d e' Prim │ │ │ -00030f60: 6974 6976 6520 7479 7065 7320 286c 696b itive types (lik │ │ │ -00030f70: 6520 5365 7420 616e 6420 5072 6f70 292e e Set and Prop). │ │ │ -00030f80: 0a60 7265 636f 7264 2720 2020 2020 2020 .`record' │ │ │ -00030f90: 2020 2020 2020 2020 2020 5265 636f 7264 Record │ │ │ -00030fa0: 2074 7970 6573 2e0a 6073 6861 646f 7769 types..`shadowi │ │ │ -00030fb0: 6e67 696e 7465 6c65 7363 6f70 6527 2020 ngintelescope' │ │ │ -00030fc0: 2053 6861 646f 7765 6420 7265 7065 6174 Shadowed repeat │ │ │ -00030fd0: 6564 2076 6172 6961 626c 6520 6e61 6d65 ed variable name │ │ │ -00030fe0: 7320 696e 2074 656c 6573 636f 7065 732e s in telescopes. │ │ │ -00030ff0: 0a60 7374 7269 6e67 2720 2020 2020 2020 .`string' │ │ │ -00031000: 2020 2020 2020 2020 2020 5374 7269 6e67 String │ │ │ -00031010: 732e 0a60 7379 6d62 6f6c 2720 2020 2020 s..`symbol' │ │ │ -00031020: 2020 2020 2020 2020 2020 2020 5379 6d62 Symb │ │ │ -00031030: 6f6c 7320 6c69 6b65 2066 6f72 616c 6c2c ols like forall, │ │ │ -00031040: 203d 2c20 2d3e 2c20 6574 632e 0a60 7465 =, ->, etc..`te │ │ │ -00031050: 726d 696e 6174 696f 6e70 726f 626c 656d rminationproblem │ │ │ -00031060: 2720 2020 2020 5465 726d 696e 6174 696f ' Terminatio │ │ │ -00031070: 6e20 7072 6f62 6c65 6d73 2e0a 6074 7970 n problems..`typ │ │ │ -00031080: 6563 6865 636b 7327 2020 2020 2020 2020 echecks' │ │ │ -00031090: 2020 2020 2043 6f64 6520 7768 6963 6820 Code which │ │ │ -000310a0: 6973 2062 6569 6e67 2074 7970 652d 6368 is being type-ch │ │ │ -000310b0: 6563 6b65 642e 0a60 756e 736f 6c76 6564 ecked..`unsolved │ │ │ -000310c0: 636f 6e73 7472 6169 6e74 2720 2020 2020 constraint' │ │ │ -000310d0: 556e 736f 6c76 6564 2063 6f6e 7374 7261 Unsolved constra │ │ │ -000310e0: 696e 7473 2c20 6e6f 7420 636f 6e6e 6563 ints, not connec │ │ │ -000310f0: 7465 6420 746f 206d 6574 610a 2020 2020 ted to meta. │ │ │ +00030ef0: 2020 6120 6d6f 7265 2073 7065 6369 6669 a more specifi │ │ │ +00030f00: 6320 2873 796e 7461 6374 6963 2920 6173 c (syntactic) as │ │ │ +00030f10: 7065 6374 2e0a 6070 7269 6d69 7469 7665 pect..`primitive │ │ │ +00030f20: 2720 2020 2020 2020 2020 2020 2020 2050 ' P │ │ │ +00030f30: 7269 6d69 7469 7665 2066 756e 6374 696f rimitive functio │ │ │ +00030f40: 6e73 2e0a 6070 7269 6d69 7469 7665 7479 ns..`primitivety │ │ │ +00030f50: 7065 2720 2020 2020 2020 2020 2050 7269 pe' Pri │ │ │ +00030f60: 6d69 7469 7665 2074 7970 6573 2028 6c69 mitive types (li │ │ │ +00030f70: 6b65 2053 6574 2061 6e64 2050 726f 7029 ke Set and Prop) │ │ │ +00030f80: 2e0a 6072 6563 6f72 6427 2020 2020 2020 ..`record' │ │ │ +00030f90: 2020 2020 2020 2020 2020 2052 6563 6f72 Recor │ │ │ +00030fa0: 6420 7479 7065 732e 0a60 7368 6164 6f77 d types..`shadow │ │ │ +00030fb0: 696e 6769 6e74 656c 6573 636f 7065 2720 ingintelescope' │ │ │ +00030fc0: 2020 5368 6164 6f77 6564 2072 6570 6561 Shadowed repea │ │ │ +00030fd0: 7465 6420 7661 7269 6162 6c65 206e 616d ted variable nam │ │ │ +00030fe0: 6573 2069 6e20 7465 6c65 7363 6f70 6573 es in telescopes │ │ │ +00030ff0: 2e0a 6073 7472 696e 6727 2020 2020 2020 ..`string' │ │ │ +00031000: 2020 2020 2020 2020 2020 2053 7472 696e Strin │ │ │ +00031010: 6773 2e0a 6073 796d 626f 6c27 2020 2020 gs..`symbol' │ │ │ +00031020: 2020 2020 2020 2020 2020 2020 2053 796d Sym │ │ │ +00031030: 626f 6c73 206c 696b 6520 666f 7261 6c6c bols like forall │ │ │ +00031040: 2c20 3d2c 202d 3e2c 2065 7463 2e0a 6074 , =, ->, etc..`t │ │ │ +00031050: 6572 6d69 6e61 7469 6f6e 7072 6f62 6c65 erminationproble │ │ │ +00031060: 6d27 2020 2020 2054 6572 6d69 6e61 7469 m' Terminati │ │ │ +00031070: 6f6e 2070 726f 626c 656d 732e 0a60 7479 on problems..`ty │ │ │ +00031080: 7065 6368 6563 6b73 2720 2020 2020 2020 pechecks' │ │ │ +00031090: 2020 2020 2020 436f 6465 2077 6869 6368 Code which │ │ │ +000310a0: 2069 7320 6265 696e 6720 7479 7065 2d63 is being type-c │ │ │ +000310b0: 6865 636b 6564 2e0a 6075 6e73 6f6c 7665 hecked..`unsolve │ │ │ +000310c0: 6463 6f6e 7374 7261 696e 7427 2020 2020 dconstraint' │ │ │ +000310d0: 2055 6e73 6f6c 7665 6420 636f 6e73 7472 Unsolved constr │ │ │ +000310e0: 6169 6e74 732c 206e 6f74 2063 6f6e 6e65 aints, not conne │ │ │ +000310f0: 6374 6564 2074 6f20 6d65 7461 0a20 2020 cted to meta. │ │ │ 00031100: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00031110: 2020 2020 2020 2076 6172 6961 626c 6573 variables │ │ │ -00031120: 2e0a 6075 6e73 6f6c 7665 646d 6574 6127 ..`unsolvedmeta' │ │ │ -00031130: 2020 2020 2020 2020 2020 2055 6e73 6f6c Unsol │ │ │ -00031140: 7665 6420 6d65 7461 2076 6172 6961 626c ved meta variabl │ │ │ -00031150: 6573 2e22 290a 0a3b 3b3b 3b3b 3b3b 3b3b es.")..;;;;;;;;; │ │ │ +00031110: 2020 2020 2020 2020 7661 7269 6162 6c65 variable │ │ │ +00031120: 732e 0a60 756e 736f 6c76 6564 6d65 7461 s..`unsolvedmeta │ │ │ +00031130: 2720 2020 2020 2020 2020 2020 556e 736f ' Unso │ │ │ +00031140: 6c76 6564 206d 6574 6120 7661 7269 6162 lved meta variab │ │ │ +00031150: 6c65 732e 2229 0a0a 3b3b 3b3b 3b3b 3b3b les.")..;;;;;;;; │ │ │ 00031160: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00031170: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00031180: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ -00031190: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b0a ;;;;;;;;;;;;;;;. │ │ │ -000311a0: 3b3b 2056 6172 6961 626c 6573 0a0a 2864 ;; Variables..(d │ │ │ -000311b0: 6566 7661 7220 6167 6461 322d 6869 6768 efvar agda2-high │ │ │ -000311c0: 6c69 6768 742d 696e 2d70 726f 6772 6573 light-in-progres │ │ │ -000311d0: 7320 6e69 6c0a 2020 2249 6620 6e69 6c2c s nil. "If nil, │ │ │ -000311e0: 2074 6865 6e20 6869 6768 6c69 6768 7469 then highlighti │ │ │ -000311f0: 6e67 2061 6e6e 6f74 6174 696f 6e73 2061 ng annotations a │ │ │ -00031200: 7265 206e 6f74 2061 7070 6c69 6564 2e22 re not applied." │ │ │ -00031210: 290a 286d 616b 652d 7661 7269 6162 6c65 ).(make-variable │ │ │ -00031220: 2d62 7566 6665 722d 6c6f 6361 6c20 2761 -buffer-local 'a │ │ │ -00031230: 6764 6132 2d68 6967 686c 6967 6874 2d69 gda2-highlight-i │ │ │ -00031240: 6e2d 7072 6f67 7265 7373 290a 0a3b 3b3b n-progress)..;;; │ │ │ +00031190: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ +000311a0: 0a3b 3b20 5661 7269 6162 6c65 730a 0a28 .;; Variables..( │ │ │ +000311b0: 6465 6676 6172 2061 6764 6132 2d68 6967 defvar agda2-hig │ │ │ +000311c0: 686c 6967 6874 2d69 6e2d 7072 6f67 7265 hlight-in-progre │ │ │ +000311d0: 7373 206e 696c 0a20 2022 4966 206e 696c ss nil. "If nil │ │ │ +000311e0: 2c20 7468 656e 2068 6967 686c 6967 6874 , then highlight │ │ │ +000311f0: 696e 6720 616e 6e6f 7461 7469 6f6e 7320 ing annotations │ │ │ +00031200: 6172 6520 6e6f 7420 6170 706c 6965 642e are not applied. │ │ │ +00031210: 2229 0a28 6d61 6b65 2d76 6172 6961 626c ").(make-variabl │ │ │ +00031220: 652d 6275 6666 6572 2d6c 6f63 616c 2027 e-buffer-local ' │ │ │ +00031230: 6167 6461 322d 6869 6768 6c69 6768 742d agda2-highlight- │ │ │ +00031240: 696e 2d70 726f 6772 6573 7329 0a0a 3b3b in-progress)..;; │ │ │ 00031250: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00031260: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00031270: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00031280: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ -00031290: 3b3b 3b3b 3b0a 3b3b 2046 756e 6374 696f ;;;;;.;; Functio │ │ │ -000312a0: 6e73 0a0a 2864 6566 756e 2061 6764 6132 ns..(defun agda2 │ │ │ -000312b0: 2d68 6967 686c 6967 6874 2d73 6574 7570 -highlight-setup │ │ │ -000312c0: 206e 696c 0a20 2022 5365 7420 7570 2074 nil. "Set up t │ │ │ -000312d0: 6865 2060 616e 6e6f 7461 7469 6f6e 2720 he `annotation' │ │ │ -000312e0: 6c69 6272 6172 7920 666f 7220 7573 6520 library for use │ │ │ -000312f0: 7769 7468 2060 6167 6461 322d 6d6f 6465 with `agda2-mode │ │ │ -00031300: 272e 220a 2020 2861 6764 6132 2d68 6967 '.". (agda2-hig │ │ │ -00031310: 686c 6967 6874 2d73 6574 2d66 6163 6573 hlight-set-faces │ │ │ -00031320: 2027 6167 6461 322d 6869 6768 6c69 6768 'agda2-highligh │ │ │ -00031330: 742d 6661 6365 2d67 726f 7570 7320 6167 t-face-groups ag │ │ │ -00031340: 6461 322d 6869 6768 6c69 6768 742d 6661 da2-highlight-fa │ │ │ -00031350: 6365 2d67 726f 7570 7329 0a20 2028 7365 ce-groups). (se │ │ │ -00031360: 7471 2061 6e6e 6f74 6174 696f 6e2d 6269 tq annotation-bi │ │ │ -00031370: 6e64 696e 6773 2061 6764 6132 2d68 6967 ndings agda2-hig │ │ │ -00031380: 686c 6967 6874 2d66 6163 6573 2929 0a0a hlight-faces)).. │ │ │ -00031390: 2864 6566 756e 2061 6764 6132 2d68 6967 (defun agda2-hig │ │ │ -000313a0: 686c 6967 6874 2d61 7070 6c79 2028 7265 hlight-apply (re │ │ │ -000313b0: 6d6f 7665 2026 7265 7374 2063 6d64 7329 move &rest cmds) │ │ │ -000313c0: 0a20 2022 4164 6473 2074 6865 2073 796e . "Adds the syn │ │ │ -000313d0: 7461 7820 6869 6768 6c69 6768 7469 6e67 tax highlighting │ │ │ -000313e0: 2069 6e66 6f72 6d61 7469 6f6e 2069 6e20 information in │ │ │ -000313f0: 7468 6520 616e 6e6f 7461 7469 6f6e 206c the annotation l │ │ │ -00031400: 6973 7420 434d 4453 2e0a 0a49 6620 5245 ist CMDS...If RE │ │ │ -00031410: 4d4f 5645 2069 7320 6e69 6c2c 2074 6865 MOVE is nil, the │ │ │ -00031420: 6e20 6f6c 6420 7379 6e74 6178 2068 6967 n old syntax hig │ │ │ -00031430: 686c 6967 6874 696e 6720 696e 666f 726d hlighting inform │ │ │ -00031440: 6174 696f 6e20 6973 206e 6f74 0a72 656d ation is not.rem │ │ │ -00031450: 6f76 6564 2e20 4f74 6865 7277 6973 6520 oved. Otherwise │ │ │ -00031460: 616c 6c20 746f 6b65 6e2d 6261 7365 6420 all token-based │ │ │ -00031470: 7379 6e74 6178 2068 6967 686c 6967 6874 syntax highlight │ │ │ -00031480: 696e 6720 6973 2072 656d 6f76 6564 2e22 ing is removed." │ │ │ -00031490: 0a20 2028 6c65 7420 283b 3b20 4967 6e6f . (let (;; Igno │ │ │ -000314a0: 7265 2072 6561 642d 6f6e 6c79 2073 7461 re read-only sta │ │ │ -000314b0: 7475 732c 206f 7468 6572 7769 7365 2074 tus, otherwise t │ │ │ -000314c0: 6869 7320 6675 6e63 7469 6f6e 206d 6179 his function may │ │ │ -000314d0: 2066 6169 6c2e 0a20 2020 2020 2020 2028 fail.. ( │ │ │ -000314e0: 696e 6869 6269 742d 7265 6164 2d6f 6e6c inhibit-read-onl │ │ │ -000314f0: 7920 7429 290a 2020 2020 2861 7070 6c79 y t)). (apply │ │ │ -00031500: 2027 616e 6e6f 7461 7469 6f6e 2d6c 6f61 'annotation-loa │ │ │ -00031510: 640a 2020 2020 2020 2020 2020 2022 436c d. "Cl │ │ │ -00031520: 6963 6b20 6d6f 7573 652d 3220 746f 206a ick mouse-2 to j │ │ │ -00031530: 756d 7020 746f 2064 6566 696e 6974 696f ump to definitio │ │ │ -00031540: 6e22 0a20 2020 2020 2020 2020 2020 7265 n". re │ │ │ -00031550: 6d6f 7665 0a20 2020 2020 2020 2020 2020 move. │ │ │ -00031560: 636d 6473 2929 290a 0a28 6465 6675 6e20 cmds)))..(defun │ │ │ -00031570: 6167 6461 322d 6869 6768 6c69 6768 742d agda2-highlight- │ │ │ -00031580: 6164 642d 616e 6e6f 7461 7469 6f6e 7320 add-annotations │ │ │ -00031590: 2872 656d 6f76 6520 2672 6573 7420 636d (remove &rest cm │ │ │ -000315a0: 6473 290a 2020 224c 696b 6520 6061 6764 ds). "Like `agd │ │ │ -000315b0: 6132 2d68 6967 686c 6967 6874 2d61 7070 a2-highlight-app │ │ │ -000315c0: 6c79 272e 0a42 7574 206f 6e6c 7920 6966 ly'..But only if │ │ │ -000315d0: 2060 6167 6461 322d 6869 6768 6c69 6768 `agda2-highligh │ │ │ -000315e0: 742d 696e 2d70 726f 6772 6573 7327 2069 t-in-progress' i │ │ │ -000315f0: 7320 6e6f 6e2d 6e69 6c2e 220a 2020 2869 s non-nil.". (i │ │ │ -00031600: 6620 6167 6461 322d 6869 6768 6c69 6768 f agda2-highligh │ │ │ -00031610: 742d 696e 2d70 726f 6772 6573 730a 2020 t-in-progress. │ │ │ -00031620: 2020 2020 2861 7070 6c79 2027 6167 6461 (apply 'agda │ │ │ -00031630: 322d 6869 6768 6c69 6768 742d 6170 706c 2-highlight-appl │ │ │ -00031640: 7920 7265 6d6f 7665 2063 6d64 7329 2929 y remove cmds))) │ │ │ -00031650: 0a0a 2864 6566 756e 2061 6764 6132 2d68 ..(defun agda2-h │ │ │ -00031660: 6967 686c 6967 6874 2d6c 6f61 6420 2866 ighlight-load (f │ │ │ -00031670: 696c 6529 0a20 2022 4c6f 6164 2073 796e ile). "Load syn │ │ │ -00031680: 7461 7820 6869 6768 6c69 6768 7469 6e67 tax highlighting │ │ │ -00031690: 2069 6e66 6f72 6d61 7469 6f6e 2066 726f information fro │ │ │ -000316a0: 6d20 4649 4c45 2e0a 0a4f 6c64 2073 796e m FILE...Old syn │ │ │ -000316b0: 7461 7820 6869 6768 6c69 6768 7469 6e67 tax highlighting │ │ │ -000316c0: 2069 6e66 6f72 6d61 7469 6f6e 2069 7320 information is │ │ │ -000316d0: 6e6f 7420 7265 6d6f 7665 642e 220a 2020 not removed.". │ │ │ -000316e0: 286c 6574 2a20 2828 636f 6469 6e67 2d73 (let* ((coding-s │ │ │ -000316f0: 7973 7465 6d2d 666f 722d 7265 6164 2027 ystem-for-read ' │ │ │ -00031700: 7574 662d 3829 0a20 2020 2020 2020 2020 utf-8). │ │ │ -00031710: 2863 6d64 7320 2877 6974 682d 7465 6d70 (cmds (with-temp │ │ │ -00031720: 2d62 7566 6665 720a 2020 2020 2020 2020 -buffer. │ │ │ -00031730: 2020 2020 2020 2020 2028 696e 7365 7274 (insert │ │ │ -00031740: 2d66 696c 652d 636f 6e74 656e 7473 2066 -file-contents f │ │ │ -00031750: 696c 6529 0a20 2020 2020 2020 2020 2020 ile). │ │ │ -00031760: 2020 2020 2020 2867 6f74 6f2d 6368 6172 (goto-char │ │ │ -00031770: 2028 706f 696e 742d 6d69 6e29 290a 2020 (point-min)). │ │ │ -00031780: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ -00031790: 7265 6164 2028 6375 7272 656e 742d 6275 read (current-bu │ │ │ -000317a0: 6666 6572 2929 2929 290a 2020 2020 2020 ffer))))). │ │ │ -000317b0: 2861 7070 6c79 2027 6167 6461 322d 6869 (apply 'agda2-hi │ │ │ -000317c0: 6768 6c69 6768 742d 6170 706c 7920 636d ghlight-apply cm │ │ │ -000317d0: 6473 2929 290a 0a28 6465 6675 6e20 6167 ds)))..(defun ag │ │ │ -000317e0: 6461 322d 6869 6768 6c69 6768 742d 6c6f da2-highlight-lo │ │ │ -000317f0: 6164 2d61 6e64 2d64 656c 6574 652d 6163 ad-and-delete-ac │ │ │ -00031800: 7469 6f6e 2028 6669 6c65 290a 2020 224c tion (file). "L │ │ │ -00031810: 696b 6520 6061 6764 6132 2d68 6967 686c ike `agda2-highl │ │ │ -00031820: 6967 6874 2d6c 6f61 6427 2c20 6275 7420 ight-load', but │ │ │ -00031830: 6465 6c65 7465 7320 4649 4c45 2077 6865 deletes FILE whe │ │ │ -00031840: 6e20 646f 6e65 2e0a 416e 6420 6869 6768 n done..And high │ │ │ -00031850: 6c69 6768 7469 6e67 2069 7320 6f6e 6c79 lighting is only │ │ │ -00031860: 2075 7064 6174 6564 2069 6620 6061 6764 updated if `agd │ │ │ -00031870: 6132 2d68 6967 686c 6967 6874 2d69 6e2d a2-highlight-in- │ │ │ -00031880: 7072 6f67 7265 7373 270a 6973 206e 6f6e progress'.is non │ │ │ -00031890: 2d6e 696c 2e22 0a20 2028 756e 7769 6e64 -nil.". (unwind │ │ │ -000318a0: 2d70 726f 7465 6374 0a20 2020 2020 2028 -protect. ( │ │ │ -000318b0: 6966 2061 6764 6132 2d68 6967 686c 6967 if agda2-highlig │ │ │ -000318c0: 6874 2d69 6e2d 7072 6f67 7265 7373 0a20 ht-in-progress. │ │ │ -000318d0: 2020 2020 2020 2020 2028 6167 6461 322d (agda2- │ │ │ -000318e0: 6869 6768 6c69 6768 742d 6c6f 6164 2066 highlight-load f │ │ │ -000318f0: 696c 6529 290a 2020 2020 2864 656c 6574 ile)). (delet │ │ │ -00031900: 652d 6669 6c65 2066 696c 6529 2929 0a0a e-file file))).. │ │ │ -00031910: 2864 6566 756e 2061 6764 6132 2d68 6967 (defun agda2-hig │ │ │ -00031920: 686c 6967 6874 2d63 6c65 6172 2028 266f hlight-clear (&o │ │ │ -00031930: 7074 696f 6e61 6c20 746f 6b65 6e2d 6261 ptional token-ba │ │ │ -00031940: 7365 6429 0a20 2022 5265 6d6f 7665 2061 sed). "Remove a │ │ │ -00031950: 6c6c 2073 796e 7461 7820 6869 6768 6c69 ll syntax highli │ │ │ -00031960: 6768 7469 6e67 2e0a 0a49 6620 544f 4b45 ghting...If TOKE │ │ │ -00031970: 4e2d 4241 5345 4420 6973 206e 6f6e 2d6e N-BASED is non-n │ │ │ -00031980: 696c 2c20 7468 656e 206f 6e6c 7920 746f il, then only to │ │ │ -00031990: 6b65 6e2d 6261 7365 6420 6869 6768 6c69 ken-based highli │ │ │ -000319a0: 6768 7469 6e67 2069 730a 7265 6d6f 7665 ghting is.remove │ │ │ -000319b0: 642e 220a 2020 2869 6e74 6572 6163 7469 d.". (interacti │ │ │ -000319c0: 7665 290a 2020 286c 6574 2028 2869 6e68 ve). (let ((inh │ │ │ -000319d0: 6962 6974 2d72 6561 642d 6f6e 6c79 2074 ibit-read-only t │ │ │ -000319e0: 2929 0a20 2020 2020 2020 3b20 4967 6e6f )). ; Igno │ │ │ -000319f0: 7265 2072 6561 642d 6f6e 6c79 2073 7461 re read-only sta │ │ │ -00031a00: 7475 732c 206f 7468 6572 7769 7365 2074 tus, otherwise t │ │ │ -00031a10: 6869 7320 6675 6e63 7469 6f6e 206d 6179 his function may │ │ │ -00031a20: 2066 6169 6c2e 0a20 2020 2028 616e 6e6f fail.. (anno │ │ │ -00031a30: 7461 7469 6f6e 2d72 656d 6f76 652d 616e tation-remove-an │ │ │ -00031a40: 6e6f 7461 7469 6f6e 7320 746f 6b65 6e2d notations token- │ │ │ -00031a50: 6261 7365 6429 2929 0a0a 3b3b 3b3b 3b3b based)))..;;;;;; │ │ │ +00031290: 3b3b 3b3b 3b3b 0a3b 3b20 4675 6e63 7469 ;;;;;;.;; Functi │ │ │ +000312a0: 6f6e 730a 0a28 6465 6675 6e20 6167 6461 ons..(defun agda │ │ │ +000312b0: 322d 6869 6768 6c69 6768 742d 7365 7475 2-highlight-setu │ │ │ +000312c0: 7020 6e69 6c0a 2020 2253 6574 2075 7020 p nil. "Set up │ │ │ +000312d0: 7468 6520 6061 6e6e 6f74 6174 696f 6e27 the `annotation' │ │ │ +000312e0: 206c 6962 7261 7279 2066 6f72 2075 7365 library for use │ │ │ +000312f0: 2077 6974 6820 6061 6764 6132 2d6d 6f64 with `agda2-mod │ │ │ +00031300: 6527 2e22 0a20 2028 6167 6461 322d 6869 e'.". (agda2-hi │ │ │ +00031310: 6768 6c69 6768 742d 7365 742d 6661 6365 ghlight-set-face │ │ │ +00031320: 7320 2761 6764 6132 2d68 6967 686c 6967 s 'agda2-highlig │ │ │ +00031330: 6874 2d66 6163 652d 6772 6f75 7073 2061 ht-face-groups a │ │ │ +00031340: 6764 6132 2d68 6967 686c 6967 6874 2d66 gda2-highlight-f │ │ │ +00031350: 6163 652d 6772 6f75 7073 290a 2020 2873 ace-groups). (s │ │ │ +00031360: 6574 7120 616e 6e6f 7461 7469 6f6e 2d62 etq annotation-b │ │ │ +00031370: 696e 6469 6e67 7320 6167 6461 322d 6869 indings agda2-hi │ │ │ +00031380: 6768 6c69 6768 742d 6661 6365 7329 290a ghlight-faces)). │ │ │ +00031390: 0a28 6465 6675 6e20 6167 6461 322d 6869 .(defun agda2-hi │ │ │ +000313a0: 6768 6c69 6768 742d 6170 706c 7920 2872 ghlight-apply (r │ │ │ +000313b0: 656d 6f76 6520 2672 6573 7420 636d 6473 emove &rest cmds │ │ │ +000313c0: 290a 2020 2241 6464 7320 7468 6520 7379 ). "Adds the sy │ │ │ +000313d0: 6e74 6178 2068 6967 686c 6967 6874 696e ntax highlightin │ │ │ +000313e0: 6720 696e 666f 726d 6174 696f 6e20 696e g information in │ │ │ +000313f0: 2074 6865 2061 6e6e 6f74 6174 696f 6e20 the annotation │ │ │ +00031400: 6c69 7374 2043 4d44 532e 0a0a 4966 2052 list CMDS...If R │ │ │ +00031410: 454d 4f56 4520 6973 206e 696c 2c20 7468 EMOVE is nil, th │ │ │ +00031420: 656e 206f 6c64 2073 796e 7461 7820 6869 en old syntax hi │ │ │ +00031430: 6768 6c69 6768 7469 6e67 2069 6e66 6f72 ghlighting infor │ │ │ +00031440: 6d61 7469 6f6e 2069 7320 6e6f 740a 7265 mation is not.re │ │ │ +00031450: 6d6f 7665 642e 204f 7468 6572 7769 7365 moved. Otherwise │ │ │ +00031460: 2061 6c6c 2074 6f6b 656e 2d62 6173 6564 all token-based │ │ │ +00031470: 2073 796e 7461 7820 6869 6768 6c69 6768 syntax highligh │ │ │ +00031480: 7469 6e67 2069 7320 7265 6d6f 7665 642e ting is removed. │ │ │ +00031490: 220a 2020 286c 6574 2028 3b3b 2049 676e ". (let (;; Ign │ │ │ +000314a0: 6f72 6520 7265 6164 2d6f 6e6c 7920 7374 ore read-only st │ │ │ +000314b0: 6174 7573 2c20 6f74 6865 7277 6973 6520 atus, otherwise │ │ │ +000314c0: 7468 6973 2066 756e 6374 696f 6e20 6d61 this function ma │ │ │ +000314d0: 7920 6661 696c 2e0a 2020 2020 2020 2020 y fail.. │ │ │ +000314e0: 2869 6e68 6962 6974 2d72 6561 642d 6f6e (inhibit-read-on │ │ │ +000314f0: 6c79 2074 2929 0a20 2020 2028 6170 706c ly t)). (appl │ │ │ +00031500: 7920 2761 6e6e 6f74 6174 696f 6e2d 6c6f y 'annotation-lo │ │ │ +00031510: 6164 0a20 2020 2020 2020 2020 2020 2243 ad. "C │ │ │ +00031520: 6c69 636b 206d 6f75 7365 2d32 2074 6f20 lick mouse-2 to │ │ │ +00031530: 6a75 6d70 2074 6f20 6465 6669 6e69 7469 jump to definiti │ │ │ +00031540: 6f6e 220a 2020 2020 2020 2020 2020 2072 on". r │ │ │ +00031550: 656d 6f76 650a 2020 2020 2020 2020 2020 emove. │ │ │ +00031560: 2063 6d64 7329 2929 0a0a 2864 6566 756e cmds)))..(defun │ │ │ +00031570: 2061 6764 6132 2d68 6967 686c 6967 6874 agda2-highlight │ │ │ +00031580: 2d61 6464 2d61 6e6e 6f74 6174 696f 6e73 -add-annotations │ │ │ +00031590: 2028 7265 6d6f 7665 2026 7265 7374 2063 (remove &rest c │ │ │ +000315a0: 6d64 7329 0a20 2022 4c69 6b65 2060 6167 mds). "Like `ag │ │ │ +000315b0: 6461 322d 6869 6768 6c69 6768 742d 6170 da2-highlight-ap │ │ │ +000315c0: 706c 7927 2e0a 4275 7420 6f6e 6c79 2069 ply'..But only i │ │ │ +000315d0: 6620 6061 6764 6132 2d68 6967 686c 6967 f `agda2-highlig │ │ │ +000315e0: 6874 2d69 6e2d 7072 6f67 7265 7373 2720 ht-in-progress' │ │ │ +000315f0: 6973 206e 6f6e 2d6e 696c 2e22 0a20 2028 is non-nil.". ( │ │ │ +00031600: 6966 2061 6764 6132 2d68 6967 686c 6967 if agda2-highlig │ │ │ +00031610: 6874 2d69 6e2d 7072 6f67 7265 7373 0a20 ht-in-progress. │ │ │ +00031620: 2020 2020 2028 6170 706c 7920 2761 6764 (apply 'agd │ │ │ +00031630: 6132 2d68 6967 686c 6967 6874 2d61 7070 a2-highlight-app │ │ │ +00031640: 6c79 2072 656d 6f76 6520 636d 6473 2929 ly remove cmds)) │ │ │ +00031650: 290a 0a28 6465 6675 6e20 6167 6461 322d )..(defun agda2- │ │ │ +00031660: 6869 6768 6c69 6768 742d 6c6f 6164 2028 highlight-load ( │ │ │ +00031670: 6669 6c65 290a 2020 224c 6f61 6420 7379 file). "Load sy │ │ │ +00031680: 6e74 6178 2068 6967 686c 6967 6874 696e ntax highlightin │ │ │ +00031690: 6720 696e 666f 726d 6174 696f 6e20 6672 g information fr │ │ │ +000316a0: 6f6d 2046 494c 452e 0a0a 4f6c 6420 7379 om FILE...Old sy │ │ │ +000316b0: 6e74 6178 2068 6967 686c 6967 6874 696e ntax highlightin │ │ │ +000316c0: 6720 696e 666f 726d 6174 696f 6e20 6973 g information is │ │ │ +000316d0: 206e 6f74 2072 656d 6f76 6564 2e22 0a20 not removed.". │ │ │ +000316e0: 2028 6c65 742a 2028 2863 6f64 696e 672d (let* ((coding- │ │ │ +000316f0: 7379 7374 656d 2d66 6f72 2d72 6561 6420 system-for-read │ │ │ +00031700: 2775 7466 2d38 290a 2020 2020 2020 2020 'utf-8). │ │ │ +00031710: 2028 636d 6473 2028 7769 7468 2d74 656d (cmds (with-tem │ │ │ +00031720: 702d 6275 6666 6572 0a20 2020 2020 2020 p-buffer. │ │ │ +00031730: 2020 2020 2020 2020 2020 2869 6e73 6572 (inser │ │ │ +00031740: 742d 6669 6c65 2d63 6f6e 7465 6e74 7320 t-file-contents │ │ │ +00031750: 6669 6c65 290a 2020 2020 2020 2020 2020 file). │ │ │ +00031760: 2020 2020 2020 2028 676f 746f 2d63 6861 (goto-cha │ │ │ +00031770: 7220 2870 6f69 6e74 2d6d 696e 2929 0a20 r (point-min)). │ │ │ +00031780: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +00031790: 2872 6561 6420 2863 7572 7265 6e74 2d62 (read (current-b │ │ │ +000317a0: 7566 6665 7229 2929 2929 0a20 2020 2020 uffer))))). │ │ │ +000317b0: 2028 6170 706c 7920 2761 6764 6132 2d68 (apply 'agda2-h │ │ │ +000317c0: 6967 686c 6967 6874 2d61 7070 6c79 2063 ighlight-apply c │ │ │ +000317d0: 6d64 7329 2929 0a0a 2864 6566 756e 2061 mds)))..(defun a │ │ │ +000317e0: 6764 6132 2d68 6967 686c 6967 6874 2d6c gda2-highlight-l │ │ │ +000317f0: 6f61 642d 616e 642d 6465 6c65 7465 2d61 oad-and-delete-a │ │ │ +00031800: 6374 696f 6e20 2866 696c 6529 0a20 2022 ction (file). " │ │ │ +00031810: 4c69 6b65 2060 6167 6461 322d 6869 6768 Like `agda2-high │ │ │ +00031820: 6c69 6768 742d 6c6f 6164 272c 2062 7574 light-load', but │ │ │ +00031830: 2064 656c 6574 6573 2046 494c 4520 7768 deletes FILE wh │ │ │ +00031840: 656e 2064 6f6e 652e 0a41 6e64 2068 6967 en done..And hig │ │ │ +00031850: 686c 6967 6874 696e 6720 6973 206f 6e6c hlighting is onl │ │ │ +00031860: 7920 7570 6461 7465 6420 6966 2060 6167 y updated if `ag │ │ │ +00031870: 6461 322d 6869 6768 6c69 6768 742d 696e da2-highlight-in │ │ │ +00031880: 2d70 726f 6772 6573 7327 0a69 7320 6e6f -progress'.is no │ │ │ +00031890: 6e2d 6e69 6c2e 220a 2020 2875 6e77 696e n-nil.". (unwin │ │ │ +000318a0: 642d 7072 6f74 6563 740a 2020 2020 2020 d-protect. │ │ │ +000318b0: 2869 6620 6167 6461 322d 6869 6768 6c69 (if agda2-highli │ │ │ +000318c0: 6768 742d 696e 2d70 726f 6772 6573 730a ght-in-progress. │ │ │ +000318d0: 2020 2020 2020 2020 2020 2861 6764 6132 (agda2 │ │ │ +000318e0: 2d68 6967 686c 6967 6874 2d6c 6f61 6420 -highlight-load │ │ │ +000318f0: 6669 6c65 2929 0a20 2020 2028 6465 6c65 file)). (dele │ │ │ +00031900: 7465 2d66 696c 6520 6669 6c65 2929 290a te-file file))). │ │ │ +00031910: 0a28 6465 6675 6e20 6167 6461 322d 6869 .(defun agda2-hi │ │ │ +00031920: 6768 6c69 6768 742d 636c 6561 7220 2826 ghlight-clear (& │ │ │ +00031930: 6f70 7469 6f6e 616c 2074 6f6b 656e 2d62 optional token-b │ │ │ +00031940: 6173 6564 290a 2020 2252 656d 6f76 6520 ased). "Remove │ │ │ +00031950: 616c 6c20 7379 6e74 6178 2068 6967 686c all syntax highl │ │ │ +00031960: 6967 6874 696e 672e 0a0a 4966 2054 4f4b ighting...If TOK │ │ │ +00031970: 454e 2d42 4153 4544 2069 7320 6e6f 6e2d EN-BASED is non- │ │ │ +00031980: 6e69 6c2c 2074 6865 6e20 6f6e 6c79 2074 nil, then only t │ │ │ +00031990: 6f6b 656e 2d62 6173 6564 2068 6967 686c oken-based highl │ │ │ +000319a0: 6967 6874 696e 6720 6973 0a72 656d 6f76 ighting is.remov │ │ │ +000319b0: 6564 2e22 0a20 2028 696e 7465 7261 6374 ed.". (interact │ │ │ +000319c0: 6976 6529 0a20 2028 6c65 7420 2828 696e ive). (let ((in │ │ │ +000319d0: 6869 6269 742d 7265 6164 2d6f 6e6c 7920 hibit-read-only │ │ │ +000319e0: 7429 290a 2020 2020 2020 203b 2049 676e t)). ; Ign │ │ │ +000319f0: 6f72 6520 7265 6164 2d6f 6e6c 7920 7374 ore read-only st │ │ │ +00031a00: 6174 7573 2c20 6f74 6865 7277 6973 6520 atus, otherwise │ │ │ +00031a10: 7468 6973 2066 756e 6374 696f 6e20 6d61 this function ma │ │ │ +00031a20: 7920 6661 696c 2e0a 2020 2020 2861 6e6e y fail.. (ann │ │ │ +00031a30: 6f74 6174 696f 6e2d 7265 6d6f 7665 2d61 otation-remove-a │ │ │ +00031a40: 6e6e 6f74 6174 696f 6e73 2074 6f6b 656e nnotations token │ │ │ +00031a50: 2d62 6173 6564 2929 290a 0a3b 3b3b 3b3b -based)))..;;;;; │ │ │ 00031a60: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00031a70: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00031a80: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00031a90: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ -00031aa0: 3b3b 0a3b 3b20 4164 6d69 6e69 7374 7261 ;;.;; Administra │ │ │ -00031ab0: 7469 7665 2064 6574 6169 6c73 0a0a 2870 tive details..(p │ │ │ -00031ac0: 726f 7669 6465 2027 6167 6461 322d 6869 rovide 'agda2-hi │ │ │ -00031ad0: 6768 6c69 6768 7429 0a3b 3b3b 2061 6764 ghlight).;;; agd │ │ │ -00031ae0: 6132 2d68 6967 686c 6967 6874 2e65 6c20 a2-highlight.el │ │ │ -00031af0: 656e 6473 2068 6572 650a efc7 f6b9 c39c ends here....... │ │ │ -00031b00: d79a 0f99 8dbc aae9 b2de bc88 0100 9c01 ................ │ │ │ -00031b10: 0003 1b38 0520 0000 0100 0404 0803 0702 ...8. .......... │ │ │ -00031b20: 5e02 0000 030f 0005 0505 0b5f 0b9d 010b ^.........._.... │ │ │ -00031b30: 6109 0601 008c e302 a89c b2d8 808c d8cf a............... │ │ │ -00031b40: 22f0 bcc3 f2cf e4f0 f8a2 0100 9d01 0003 "............... │ │ │ -00031b50: ccf7 0582 8080 e608 0000 0100 0304 0704 ................ │ │ │ -00031b60: 0200 0003 0f00 0901 8ce3 023b 3b3b 202d ...........;;; - │ │ │ -00031b70: 2a2d 206c 6578 6963 616c 2d62 696e 6469 *- lexical-bindi │ │ │ -00031b80: 6e67 3a20 743b 202d 2a2d 0a3b 3b3b 2061 ng: t; -*-.;;; a │ │ │ -00031b90: 6764 612d 696e 7075 742e 656c 202d 2d2d gda-input.el --- │ │ │ -00031ba0: 2054 6865 2041 6764 6120 696e 7075 7420 The Agda input │ │ │ -00031bb0: 6d65 7468 6f64 0a0a 3b3b 2053 5044 582d method..;; SPDX- │ │ │ -00031bc0: 4c69 6365 6e73 652d 4964 656e 7469 6669 License-Identifi │ │ │ -00031bd0: 6572 3a20 4d49 5420 4c69 6365 6e73 650a er: MIT License. │ │ │ -00031be0: 3b3b 3b20 436f 6d6d 656e 7461 7279 3a0a ;;; Commentary:. │ │ │ -00031bf0: 0a3b 3b20 4120 6869 6768 6c79 2063 7573 .;; A highly cus │ │ │ -00031c00: 746f 6d69 7361 626c 6520 696e 7075 7420 tomisable input │ │ │ -00031c10: 6d65 7468 6f64 2077 6869 6368 2063 616e method which can │ │ │ -00031c20: 2069 6e68 6572 6974 2066 726f 6d20 6f74 inherit from ot │ │ │ -00031c30: 6865 720a 3b3b 2051 7561 696c 2069 6e70 her.;; Quail inp │ │ │ -00031c40: 7574 206d 6574 686f 6473 2e20 4279 2064 ut methods. By d │ │ │ -00031c50: 6566 6175 6c74 2074 6865 2069 6e70 7574 efault the input │ │ │ -00031c60: 206d 6574 686f 6420 6973 2067 6561 7265 method is geare │ │ │ -00031c70: 6420 746f 7761 7264 730a 3b3b 2074 6865 d towards.;; the │ │ │ -00031c80: 2069 6e70 7574 206f 6620 6d61 7468 656d input of mathem │ │ │ -00031c90: 6174 6963 616c 2061 6e64 206f 7468 6572 atical and other │ │ │ -00031ca0: 2073 796d 626f 6c73 2069 6e20 4167 6461 symbols in Agda │ │ │ -00031cb0: 2070 726f 6772 616d 732e 0a3b 3b0a 3b3b programs..;;.;; │ │ │ -00031cc0: 2055 7365 204d 2d78 2063 7573 746f 6d69 Use M-x customi │ │ │ -00031cd0: 7a65 2d67 726f 7570 2061 6764 612d 696e ze-group agda-in │ │ │ -00031ce0: 7075 7420 746f 2063 7573 746f 6d69 7365 put to customise │ │ │ -00031cf0: 2074 6869 7320 696e 7075 7420 6d65 7468 this input meth │ │ │ -00031d00: 6f64 2e0a 3b3b 204e 6f74 6520 7468 6174 od..;; Note that │ │ │ -00031d10: 2074 6865 2066 756e 6374 696f 6e73 2064 the functions d │ │ │ -00031d20: 6566 696e 6564 2075 6e64 6572 2022 4675 efined under "Fu │ │ │ -00031d30: 6e63 7469 6f6e 7320 7573 6564 2074 6f20 nctions used to │ │ │ -00031d40: 7477 6561 6b0a 3b3b 2074 7261 6e73 6c61 tweak.;; transla │ │ │ -00031d50: 7469 6f6e 2070 6169 7273 2220 6265 6c6f tion pairs" belo │ │ │ -00031d60: 7720 6361 6e20 6265 2075 7365 6420 746f w can be used to │ │ │ -00031d70: 2074 7765 616b 2062 6f74 6820 7468 6520 tweak both the │ │ │ -00031d80: 6b65 790a 3b3b 2074 7261 6e73 6c61 7469 key.;; translati │ │ │ -00031d90: 6f6e 7320 696e 6865 7269 7465 6420 6672 ons inherited fr │ │ │ -00031da0: 6f6d 206f 7468 6572 2069 6e70 7574 206d om other input m │ │ │ -00031db0: 6574 686f 6473 2061 7320 7765 6c6c 2061 ethods as well a │ │ │ -00031dc0: 7320 7468 650a 3b3b 206f 6e65 7320 6164 s the.;; ones ad │ │ │ -00031dd0: 6465 6420 7370 6563 6966 6963 616c 6c79 ded specifically │ │ │ -00031de0: 2066 6f72 2074 6869 7320 6f6e 652e 0a3b for this one..; │ │ │ -00031df0: 3b0a 3b3b 2055 7365 2061 6764 612d 696e ;.;; Use agda-in │ │ │ -00031e00: 7075 742d 7368 6f77 2d74 7261 6e73 6c61 put-show-transla │ │ │ -00031e10: 7469 6f6e 7320 746f 2073 6565 2061 6c6c tions to see all │ │ │ -00031e20: 2074 6865 2063 6861 7261 6374 6572 7320 the characters │ │ │ -00031e30: 7768 6963 680a 3b3b 2063 616e 2062 6520 which.;; can be │ │ │ -00031e40: 7479 7065 6420 7573 696e 6720 7468 6973 typed using this │ │ │ -00031e50: 2069 6e70 7574 206d 6574 686f 6420 2865 input method (e │ │ │ -00031e60: 7863 6570 7420 666f 7220 7468 6f73 650a xcept for those. │ │ │ -00031e70: 3b3b 2063 6f72 7265 7370 6f6e 6469 6e67 ;; corresponding │ │ │ -00031e80: 2074 6f20 4153 4349 4920 6368 6172 6163 to ASCII charac │ │ │ -00031e90: 7465 7273 292e 0a0a 3b3b 3b20 436f 6465 ters)...;;; Code │ │ │ -00031ea0: 3a0a 0a28 7265 7175 6972 6520 2771 7561 :..(require 'qua │ │ │ -00031eb0: 696c 290a 2872 6571 7569 7265 2027 636c il).(require 'cl │ │ │ -00031ec0: 2d6c 6962 290a 3b3b 2051 7561 696c 2069 -lib).;; Quail i │ │ │ -00031ed0: 7320 7175 6974 6520 7374 6174 6566 756c s quite stateful │ │ │ -00031ee0: 2c20 736f 2062 6520 6361 7265 6675 6c20 , so be careful │ │ │ -00031ef0: 7768 656e 2065 6469 7469 6e67 2074 6869 when editing thi │ │ │ -00031f00: 7320 636f 6465 2e20 204e 6f74 650a 3b3b s code. Note.;; │ │ │ -00031f10: 2074 6861 7420 7769 7468 2d74 656d 702d that with-temp- │ │ │ -00031f20: 6275 6666 6572 2069 7320 7573 6564 2062 buffer is used b │ │ │ -00031f30: 656c 6f77 2077 6865 6e65 7665 7220 6275 elow whenever bu │ │ │ -00031f40: 6666 6572 2d6c 6f63 616c 2073 7461 7465 ffer-local state │ │ │ -00031f50: 2069 730a 3b3b 206d 6f64 6966 6965 642e is.;; modified. │ │ │ -00031f60: 0a0a 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ..;;;;;;;;;;;;;; │ │ │ +00031aa0: 3b3b 3b0a 3b3b 2041 646d 696e 6973 7472 ;;;.;; Administr │ │ │ +00031ab0: 6174 6976 6520 6465 7461 696c 730a 0a28 ative details..( │ │ │ +00031ac0: 7072 6f76 6964 6520 2761 6764 6132 2d68 provide 'agda2-h │ │ │ +00031ad0: 6967 686c 6967 6874 290a 3b3b 3b20 6167 ighlight).;;; ag │ │ │ +00031ae0: 6461 322d 6869 6768 6c69 6768 742e 656c da2-highlight.el │ │ │ +00031af0: 2065 6e64 7320 6865 7265 0aef c7f6 b9c3 ends here...... │ │ │ +00031b00: 9cd7 9a0f 998d bcaa e9b2 debc 8801 009c ................ │ │ │ +00031b10: 0100 031b 3905 2000 0001 0004 0408 0307 ....9. ......... │ │ │ +00031b20: 025e 0200 0003 0f00 0505 050b 5f0b 9d01 .^.........._... │ │ │ +00031b30: 0b61 0906 0100 8ce3 02a8 9cb2 d880 8cd8 .a.............. │ │ │ +00031b40: cf22 f0bc c3f2 cfe4 f0f8 a201 009d 0100 .".............. │ │ │ +00031b50: 03cc f805 8280 80e6 0800 0001 0003 0407 ................ │ │ │ +00031b60: 0402 0000 030f 0009 018c e302 3b3b 3b20 ............;;; │ │ │ +00031b70: 2d2a 2d20 6c65 7869 6361 6c2d 6269 6e64 -*- lexical-bind │ │ │ +00031b80: 696e 673a 2074 3b20 2d2a 2d0a 3b3b 3b20 ing: t; -*-.;;; │ │ │ +00031b90: 6167 6461 2d69 6e70 7574 2e65 6c20 2d2d agda-input.el -- │ │ │ +00031ba0: 2d20 5468 6520 4167 6461 2069 6e70 7574 - The Agda input │ │ │ +00031bb0: 206d 6574 686f 640a 0a3b 3b20 5350 4458 method..;; SPDX │ │ │ +00031bc0: 2d4c 6963 656e 7365 2d49 6465 6e74 6966 -License-Identif │ │ │ +00031bd0: 6965 723a 204d 4954 204c 6963 656e 7365 ier: MIT License │ │ │ +00031be0: 0a3b 3b3b 2043 6f6d 6d65 6e74 6172 793a .;;; Commentary: │ │ │ +00031bf0: 0a0a 3b3b 2041 2068 6967 686c 7920 6375 ..;; A highly cu │ │ │ +00031c00: 7374 6f6d 6973 6162 6c65 2069 6e70 7574 stomisable input │ │ │ +00031c10: 206d 6574 686f 6420 7768 6963 6820 6361 method which ca │ │ │ +00031c20: 6e20 696e 6865 7269 7420 6672 6f6d 206f n inherit from o │ │ │ +00031c30: 7468 6572 0a3b 3b20 5175 6169 6c20 696e ther.;; Quail in │ │ │ +00031c40: 7075 7420 6d65 7468 6f64 732e 2042 7920 put methods. By │ │ │ +00031c50: 6465 6661 756c 7420 7468 6520 696e 7075 default the inpu │ │ │ +00031c60: 7420 6d65 7468 6f64 2069 7320 6765 6172 t method is gear │ │ │ +00031c70: 6564 2074 6f77 6172 6473 0a3b 3b20 7468 ed towards.;; th │ │ │ +00031c80: 6520 696e 7075 7420 6f66 206d 6174 6865 e input of mathe │ │ │ +00031c90: 6d61 7469 6361 6c20 616e 6420 6f74 6865 matical and othe │ │ │ +00031ca0: 7220 7379 6d62 6f6c 7320 696e 2041 6764 r symbols in Agd │ │ │ +00031cb0: 6120 7072 6f67 7261 6d73 2e0a 3b3b 0a3b a programs..;;.; │ │ │ +00031cc0: 3b20 5573 6520 4d2d 7820 6375 7374 6f6d ; Use M-x custom │ │ │ +00031cd0: 697a 652d 6772 6f75 7020 6167 6461 2d69 ize-group agda-i │ │ │ +00031ce0: 6e70 7574 2074 6f20 6375 7374 6f6d 6973 nput to customis │ │ │ +00031cf0: 6520 7468 6973 2069 6e70 7574 206d 6574 e this input met │ │ │ +00031d00: 686f 642e 0a3b 3b20 4e6f 7465 2074 6861 hod..;; Note tha │ │ │ +00031d10: 7420 7468 6520 6675 6e63 7469 6f6e 7320 t the functions │ │ │ +00031d20: 6465 6669 6e65 6420 756e 6465 7220 2246 defined under "F │ │ │ +00031d30: 756e 6374 696f 6e73 2075 7365 6420 746f unctions used to │ │ │ +00031d40: 2074 7765 616b 0a3b 3b20 7472 616e 736c tweak.;; transl │ │ │ +00031d50: 6174 696f 6e20 7061 6972 7322 2062 656c ation pairs" bel │ │ │ +00031d60: 6f77 2063 616e 2062 6520 7573 6564 2074 ow can be used t │ │ │ +00031d70: 6f20 7477 6561 6b20 626f 7468 2074 6865 o tweak both the │ │ │ +00031d80: 206b 6579 0a3b 3b20 7472 616e 736c 6174 key.;; translat │ │ │ +00031d90: 696f 6e73 2069 6e68 6572 6974 6564 2066 ions inherited f │ │ │ +00031da0: 726f 6d20 6f74 6865 7220 696e 7075 7420 rom other input │ │ │ +00031db0: 6d65 7468 6f64 7320 6173 2077 656c 6c20 methods as well │ │ │ +00031dc0: 6173 2074 6865 0a3b 3b20 6f6e 6573 2061 as the.;; ones a │ │ │ +00031dd0: 6464 6564 2073 7065 6369 6669 6361 6c6c dded specificall │ │ │ +00031de0: 7920 666f 7220 7468 6973 206f 6e65 2e0a y for this one.. │ │ │ +00031df0: 3b3b 0a3b 3b20 5573 6520 6167 6461 2d69 ;;.;; Use agda-i │ │ │ +00031e00: 6e70 7574 2d73 686f 772d 7472 616e 736c nput-show-transl │ │ │ +00031e10: 6174 696f 6e73 2074 6f20 7365 6520 616c ations to see al │ │ │ +00031e20: 6c20 7468 6520 6368 6172 6163 7465 7273 l the characters │ │ │ +00031e30: 2077 6869 6368 0a3b 3b20 6361 6e20 6265 which.;; can be │ │ │ +00031e40: 2074 7970 6564 2075 7369 6e67 2074 6869 typed using thi │ │ │ +00031e50: 7320 696e 7075 7420 6d65 7468 6f64 2028 s input method ( │ │ │ +00031e60: 6578 6365 7074 2066 6f72 2074 686f 7365 except for those │ │ │ +00031e70: 0a3b 3b20 636f 7272 6573 706f 6e64 696e .;; correspondin │ │ │ +00031e80: 6720 746f 2041 5343 4949 2063 6861 7261 g to ASCII chara │ │ │ +00031e90: 6374 6572 7329 2e0a 0a3b 3b3b 2043 6f64 cters)...;;; Cod │ │ │ +00031ea0: 653a 0a0a 2872 6571 7569 7265 2027 7175 e:..(require 'qu │ │ │ +00031eb0: 6169 6c29 0a28 7265 7175 6972 6520 2763 ail).(require 'c │ │ │ +00031ec0: 6c2d 6c69 6229 0a3b 3b20 5175 6169 6c20 l-lib).;; Quail │ │ │ +00031ed0: 6973 2071 7569 7465 2073 7461 7465 6675 is quite statefu │ │ │ +00031ee0: 6c2c 2073 6f20 6265 2063 6172 6566 756c l, so be careful │ │ │ +00031ef0: 2077 6865 6e20 6564 6974 696e 6720 7468 when editing th │ │ │ +00031f00: 6973 2063 6f64 652e 2020 4e6f 7465 0a3b is code. Note.; │ │ │ +00031f10: 3b20 7468 6174 2077 6974 682d 7465 6d70 ; that with-temp │ │ │ +00031f20: 2d62 7566 6665 7220 6973 2075 7365 6420 -buffer is used │ │ │ +00031f30: 6265 6c6f 7720 7768 656e 6576 6572 2062 below whenever b │ │ │ +00031f40: 7566 6665 722d 6c6f 6361 6c20 7374 6174 uffer-local stat │ │ │ +00031f50: 6520 6973 0a3b 3b20 6d6f 6469 6669 6564 e is.;; modified │ │ │ +00031f60: 2e0a 0a3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ...;;;;;;;;;;;;; │ │ │ 00031f70: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00031f80: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00031f90: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ -00031fa0: 3b3b 3b3b 3b3b 3b3b 3b3b 0a3b 3b20 5574 ;;;;;;;;;;.;; Ut │ │ │ -00031fb0: 696c 6974 7920 6675 6e63 7469 6f6e 730a ility functions. │ │ │ -00031fc0: 0a28 6465 6675 6e20 6167 6461 2d69 6e70 .(defun agda-inp │ │ │ -00031fd0: 7574 2d63 6f6e 6361 742d 6d61 7020 2866 ut-concat-map (f │ │ │ -00031fe0: 2078 7329 0a20 2022 436f 6e63 6174 2028 xs). "Concat ( │ │ │ -00031ff0: 6d61 7020 4620 5853 292e 220a 2020 2861 map F XS).". (a │ │ │ -00032000: 7070 6c79 2027 6170 7065 6e64 2028 6d61 pply 'append (ma │ │ │ -00032010: 7063 6172 2066 2078 7329 2929 0a0a 2864 pcar f xs)))..(d │ │ │ -00032020: 6566 756e 2061 6764 612d 696e 7075 742d efun agda-input- │ │ │ -00032030: 746f 2d73 7472 696e 672d 6c69 7374 2028 to-string-list ( │ │ │ -00032040: 7329 0a20 2022 436f 6e76 6572 7420 6120 s). "Convert a │ │ │ -00032050: 7374 7269 6e67 2053 2074 6f20 6120 6c69 string S to a li │ │ │ -00032060: 7374 206f 6620 6f6e 652d 6368 6172 6163 st of one-charac │ │ │ -00032070: 7465 7220 7374 7269 6e67 732c 2061 6674 ter strings, aft │ │ │ -00032080: 6572 0a72 656d 6f76 696e 6720 616c 6c20 er.removing all │ │ │ -00032090: 7370 6163 6520 616e 6420 6e65 776c 696e space and newlin │ │ │ -000320a0: 6520 6368 6172 6163 7465 7273 2e22 0a20 e characters.". │ │ │ -000320b0: 2028 6167 6461 2d69 6e70 7574 2d63 6f6e (agda-input-con │ │ │ -000320c0: 6361 742d 6d61 700a 2020 2028 6c61 6d62 cat-map. (lamb │ │ │ -000320d0: 6461 2028 6329 2028 6966 2028 6d65 6d62 da (c) (if (memb │ │ │ -000320e0: 6572 2063 2028 7374 7269 6e67 2d74 6f2d er c (string-to- │ │ │ -000320f0: 6c69 7374 2022 205c 6e22 2929 0a20 2020 list " \n")). │ │ │ -00032100: 2020 2020 2020 2020 2020 206e 696c 0a20 nil. │ │ │ -00032110: 2020 2020 2020 2020 2020 2028 6c69 7374 (list │ │ │ -00032120: 2028 7374 7269 6e67 2063 2929 2929 0a20 (string c)))). │ │ │ -00032130: 2020 2873 7472 696e 672d 746f 2d6c 6973 (string-to-lis │ │ │ -00032140: 7420 7329 2929 0a0a 2864 6566 756e 2061 t s)))..(defun a │ │ │ -00032150: 6764 612d 696e 7075 742d 6368 6172 6163 gda-input-charac │ │ │ -00032160: 7465 722d 7261 6e67 6520 2866 726f 6d20 ter-range (from │ │ │ -00032170: 746f 290a 2020 2241 2073 7472 696e 6720 to). "A string │ │ │ -00032180: 636f 6e73 6973 7469 6e67 206f 6620 7468 consisting of th │ │ │ -00032190: 6520 6368 6172 6163 7465 7273 2066 726f e characters fro │ │ │ -000321a0: 6d20 4652 4f4d 2074 6f20 544f 2e22 0a20 m FROM to TO.". │ │ │ -000321b0: 2028 6c65 7420 2873 6571 290a 2020 2020 (let (seq). │ │ │ -000321c0: 2864 6f74 696d 6573 2028 6920 2831 2b20 (dotimes (i (1+ │ │ │ -000321d0: 282d 2074 6f20 6672 6f6d 2929 290a 2020 (- to from))). │ │ │ -000321e0: 2020 2020 2873 6574 7120 7365 7120 2863 (setq seq (c │ │ │ -000321f0: 6f6e 7320 282b 2066 726f 6d20 6929 2073 ons (+ from i) s │ │ │ -00032200: 6571 2929 290a 2020 2020 2863 6f6e 6361 eq))). (conca │ │ │ -00032210: 7420 286e 7265 7665 7273 6520 7365 7129 t (nreverse seq) │ │ │ -00032220: 2929 290a 0a3b 3b3b 3b3b 3b3b 3b3b 3b3b )))..;;;;;;;;;;; │ │ │ +00031fa0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b0a 3b3b 2055 ;;;;;;;;;;;.;; U │ │ │ +00031fb0: 7469 6c69 7479 2066 756e 6374 696f 6e73 tility functions │ │ │ +00031fc0: 0a0a 2864 6566 756e 2061 6764 612d 696e ..(defun agda-in │ │ │ +00031fd0: 7075 742d 636f 6e63 6174 2d6d 6170 2028 put-concat-map ( │ │ │ +00031fe0: 6620 7873 290a 2020 2243 6f6e 6361 7420 f xs). "Concat │ │ │ +00031ff0: 286d 6170 2046 2058 5329 2e22 0a20 2028 (map F XS).". ( │ │ │ +00032000: 6170 706c 7920 2761 7070 656e 6420 286d apply 'append (m │ │ │ +00032010: 6170 6361 7220 6620 7873 2929 290a 0a28 apcar f xs)))..( │ │ │ +00032020: 6465 6675 6e20 6167 6461 2d69 6e70 7574 defun agda-input │ │ │ +00032030: 2d74 6f2d 7374 7269 6e67 2d6c 6973 7420 -to-string-list │ │ │ +00032040: 2873 290a 2020 2243 6f6e 7665 7274 2061 (s). "Convert a │ │ │ +00032050: 2073 7472 696e 6720 5320 746f 2061 206c string S to a l │ │ │ +00032060: 6973 7420 6f66 206f 6e65 2d63 6861 7261 ist of one-chara │ │ │ +00032070: 6374 6572 2073 7472 696e 6773 2c20 6166 cter strings, af │ │ │ +00032080: 7465 720a 7265 6d6f 7669 6e67 2061 6c6c ter.removing all │ │ │ +00032090: 2073 7061 6365 2061 6e64 206e 6577 6c69 space and newli │ │ │ +000320a0: 6e65 2063 6861 7261 6374 6572 732e 220a ne characters.". │ │ │ +000320b0: 2020 2861 6764 612d 696e 7075 742d 636f (agda-input-co │ │ │ +000320c0: 6e63 6174 2d6d 6170 0a20 2020 286c 616d ncat-map. (lam │ │ │ +000320d0: 6264 6120 2863 2920 2869 6620 286d 656d bda (c) (if (mem │ │ │ +000320e0: 6265 7220 6320 2873 7472 696e 672d 746f ber c (string-to │ │ │ +000320f0: 2d6c 6973 7420 2220 5c6e 2229 290a 2020 -list " \n")). │ │ │ +00032100: 2020 2020 2020 2020 2020 2020 6e69 6c0a nil. │ │ │ +00032110: 2020 2020 2020 2020 2020 2020 286c 6973 (lis │ │ │ +00032120: 7420 2873 7472 696e 6720 6329 2929 290a t (string c)))). │ │ │ +00032130: 2020 2028 7374 7269 6e67 2d74 6f2d 6c69 (string-to-li │ │ │ +00032140: 7374 2073 2929 290a 0a28 6465 6675 6e20 st s)))..(defun │ │ │ +00032150: 6167 6461 2d69 6e70 7574 2d63 6861 7261 agda-input-chara │ │ │ +00032160: 6374 6572 2d72 616e 6765 2028 6672 6f6d cter-range (from │ │ │ +00032170: 2074 6f29 0a20 2022 4120 7374 7269 6e67 to). "A string │ │ │ +00032180: 2063 6f6e 7369 7374 696e 6720 6f66 2074 consisting of t │ │ │ +00032190: 6865 2063 6861 7261 6374 6572 7320 6672 he characters fr │ │ │ +000321a0: 6f6d 2046 524f 4d20 746f 2054 4f2e 220a om FROM to TO.". │ │ │ +000321b0: 2020 286c 6574 2028 7365 7129 0a20 2020 (let (seq). │ │ │ +000321c0: 2028 646f 7469 6d65 7320 2869 2028 312b (dotimes (i (1+ │ │ │ +000321d0: 2028 2d20 746f 2066 726f 6d29 2929 0a20 (- to from))). │ │ │ +000321e0: 2020 2020 2028 7365 7471 2073 6571 2028 (setq seq ( │ │ │ +000321f0: 636f 6e73 2028 2b20 6672 6f6d 2069 2920 cons (+ from i) │ │ │ +00032200: 7365 7129 2929 0a20 2020 2028 636f 6e63 seq))). (conc │ │ │ +00032210: 6174 2028 6e72 6576 6572 7365 2073 6571 at (nreverse seq │ │ │ +00032220: 2929 2929 0a0a 3b3b 3b3b 3b3b 3b3b 3b3b ))))..;;;;;;;;;; │ │ │ 00032230: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00032240: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00032250: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ -00032260: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b0a 3b3b ;;;;;;;;;;;;;.;; │ │ │ -00032270: 2046 756e 6374 696f 6e73 2075 7365 6420 Functions used │ │ │ -00032280: 746f 2074 7765 616b 2074 7261 6e73 6c61 to tweak transla │ │ │ -00032290: 7469 6f6e 2070 6169 7273 0a0a 2864 6566 tion pairs..(def │ │ │ -000322a0: 756e 2061 6764 612d 696e 7075 742d 636f un agda-input-co │ │ │ -000322b0: 6d70 6f73 6520 2866 2067 290a 2020 22ce mpose (f g). ". │ │ │ -000322c0: bb20 7820 2d3e 2063 6f6e 6361 744d 6170 . x -> concatMap │ │ │ -000322d0: 2046 2028 4720 7829 220a 2020 2020 286c F (G x)". (l │ │ │ -000322e0: 616d 6264 6120 2878 2920 2861 6764 612d ambda (x) (agda- │ │ │ -000322f0: 696e 7075 742d 636f 6e63 6174 2d6d 6170 input-concat-map │ │ │ -00032300: 2066 2028 6675 6e63 616c 6c20 6720 7829 f (funcall g x) │ │ │ -00032310: 2929 290a 0a28 6465 6675 6e20 6167 6461 )))..(defun agda │ │ │ -00032320: 2d69 6e70 7574 2d6f 7220 2866 2067 290a -input-or (f g). │ │ │ -00032330: 2020 22ce bb20 7820 2d3e 2046 2078 202b ".. x -> F x + │ │ │ -00032340: 2b20 4720 7822 0a20 2020 2028 6c61 6d62 + G x". (lamb │ │ │ -00032350: 6461 2028 7829 2028 6170 7065 6e64 2028 da (x) (append ( │ │ │ -00032360: 6675 6e63 616c 6c20 6620 7829 2028 6675 funcall f x) (fu │ │ │ -00032370: 6e63 616c 6c20 6720 7829 2929 290a 0a28 ncall g x))))..( │ │ │ -00032380: 6465 6675 6e20 6167 6461 2d69 6e70 7574 defun agda-input │ │ │ -00032390: 2d6e 6f6e 656d 7074 7920 2829 0a20 2022 -nonempty (). " │ │ │ -000323a0: 4f6e 6c79 206b 6565 7020 7061 6972 7320 Only keep pairs │ │ │ -000323b0: 7769 7468 2061 206e 6f6e 2d65 6d70 7479 with a non-empty │ │ │ -000323c0: 2066 6972 7374 2063 6f6d 706f 6e65 6e74 first component │ │ │ -000323d0: 2e22 0a20 2028 6c61 6d62 6461 2028 7829 .". (lambda (x) │ │ │ -000323e0: 2028 6966 2028 3e20 286c 656e 6774 6820 (if (> (length │ │ │ -000323f0: 2863 6172 2078 2929 2030 2920 286c 6973 (car x)) 0) (lis │ │ │ -00032400: 7420 7829 2929 290a 0a28 6465 6675 6e20 t x))))..(defun │ │ │ -00032410: 6167 6461 2d69 6e70 7574 2d70 7265 7065 agda-input-prepe │ │ │ -00032420: 6e64 2028 7072 6566 6978 290a 2020 2250 nd (prefix). "P │ │ │ -00032430: 7265 7065 6e64 2050 5245 4649 5820 746f repend PREFIX to │ │ │ -00032440: 2061 6c6c 206b 6579 2073 6571 7565 6e63 all key sequenc │ │ │ -00032450: 6573 2e22 0a20 2020 2028 6c61 6d62 6461 es.". (lambda │ │ │ -00032460: 2028 7829 2060 2828 2c28 636f 6e63 6174 (x) `((,(concat │ │ │ -00032470: 2070 7265 6669 7820 2863 6172 2078 2929 prefix (car x)) │ │ │ -00032480: 202e 202c 2863 6472 2078 2929 2929 290a . ,(cdr x))))). │ │ │ -00032490: 0a28 6465 6675 6e20 6167 6461 2d69 6e70 .(defun agda-inp │ │ │ -000324a0: 7574 2d70 7265 6669 7820 2870 7265 6669 ut-prefix (prefi │ │ │ -000324b0: 7829 0a20 2022 4f6e 6c79 206b 6565 7020 x). "Only keep │ │ │ -000324c0: 7061 6972 7320 7768 6f73 6520 6b65 7920 pairs whose key │ │ │ -000324d0: 7365 7175 656e 6365 2073 7461 7274 7320 sequence starts │ │ │ -000324e0: 7769 7468 2050 5245 4649 582e 220a 2020 with PREFIX.". │ │ │ -000324f0: 2020 286c 616d 6264 6120 2878 290a 2020 (lambda (x). │ │ │ -00032500: 2020 2020 2869 6620 2865 7175 616c 2028 (if (equal ( │ │ │ -00032510: 7375 6273 7472 696e 6720 2863 6172 2078 substring (car x │ │ │ -00032520: 2920 3020 286c 656e 6774 6820 7072 6566 ) 0 (length pref │ │ │ -00032530: 6978 2929 2070 7265 6669 7829 0a20 2020 ix)) prefix). │ │ │ -00032540: 2020 2020 2020 2028 6c69 7374 2078 2929 (list x)) │ │ │ -00032550: 2929 0a0a 2864 6566 756e 2061 6764 612d ))..(defun agda- │ │ │ -00032560: 696e 7075 742d 7375 6666 6978 2028 7375 input-suffix (su │ │ │ -00032570: 6666 6978 290a 2020 224f 6e6c 7920 6b65 ffix). "Only ke │ │ │ -00032580: 6570 2070 6169 7273 2077 686f 7365 206b ep pairs whose k │ │ │ -00032590: 6579 2073 6571 7565 6e63 6520 656e 6473 ey sequence ends │ │ │ -000325a0: 2077 6974 6820 5355 4646 4958 2e22 0a20 with SUFFIX.". │ │ │ -000325b0: 2020 2028 6c61 6d62 6461 2028 7829 0a20 (lambda (x). │ │ │ -000325c0: 2020 2020 2028 6966 2028 6571 7561 6c20 (if (equal │ │ │ -000325d0: 2873 7562 7374 7269 6e67 2028 6361 7220 (substring (car │ │ │ -000325e0: 7829 0a20 2020 2020 2020 2020 2020 2020 x). │ │ │ -000325f0: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ -00032600: 2d20 286c 656e 6774 6820 2863 6172 2078 - (length (car x │ │ │ -00032610: 2929 2028 6c65 6e67 7468 2073 7566 6669 )) (length suffi │ │ │ -00032620: 7829 2929 0a20 2020 2020 2020 2020 2020 x))). │ │ │ -00032630: 2020 2020 2020 7375 6666 6978 290a 2020 suffix). │ │ │ -00032640: 2020 2020 2020 2020 286c 6973 7420 7829 (list x) │ │ │ -00032650: 2929 290a 0a28 6465 6675 6e20 6167 6461 )))..(defun agda │ │ │ -00032660: 2d69 6e70 7574 2d64 726f 7020 2873 7329 -input-drop (ss) │ │ │ -00032670: 0a20 2022 4472 6f70 2070 6169 7273 206d . "Drop pairs m │ │ │ -00032680: 6174 6368 696e 6720 6f6e 6520 6f66 2074 atching one of t │ │ │ -00032690: 6865 2067 6976 656e 206b 6579 2073 6571 he given key seq │ │ │ -000326a0: 7565 6e63 6573 2e0a 5353 2073 686f 756c uences..SS shoul │ │ │ -000326b0: 6420 6265 2061 206c 6973 7420 6f66 2073 d be a list of s │ │ │ -000326c0: 7472 696e 6773 2e22 0a20 2020 2028 6c61 trings.". (la │ │ │ -000326d0: 6d62 6461 2028 7829 2028 756e 6c65 7373 mbda (x) (unless │ │ │ -000326e0: 2028 6d65 6d62 6572 2028 6361 7220 7829 (member (car x) │ │ │ -000326f0: 2073 7329 2028 6c69 7374 2078 2929 2929 ss) (list x)))) │ │ │ -00032700: 0a0a 2864 6566 756e 2061 6764 612d 696e ..(defun agda-in │ │ │ -00032710: 7075 742d 6472 6f70 2d62 6567 696e 6e69 put-drop-beginni │ │ │ -00032720: 6e67 2028 6e29 0a20 2022 4472 6f70 204e ng (n). "Drop N │ │ │ -00032730: 2063 6861 7261 6374 6572 7320 6672 6f6d characters from │ │ │ -00032740: 2074 6865 2062 6567 696e 6e69 6e67 206f the beginning o │ │ │ -00032750: 6620 6561 6368 206b 6579 2073 6571 7565 f each key seque │ │ │ -00032760: 6e63 652e 220a 2020 2020 286c 616d 6264 nce.". (lambd │ │ │ -00032770: 6120 2878 2920 6028 282c 2873 7562 7374 a (x) `((,(subst │ │ │ -00032780: 7269 6e67 2028 6361 7220 7829 206e 2920 ring (car x) n) │ │ │ -00032790: 2e20 2c28 6364 7220 7829 2929 2929 0a0a . ,(cdr x))))).. │ │ │ -000327a0: 2864 6566 756e 2061 6764 612d 696e 7075 (defun agda-inpu │ │ │ -000327b0: 742d 6472 6f70 2d65 6e64 2028 6e29 0a20 t-drop-end (n). │ │ │ -000327c0: 2022 4472 6f70 204e 2063 6861 7261 6374 "Drop N charact │ │ │ -000327d0: 6572 7320 6672 6f6d 2074 6865 2065 6e64 ers from the end │ │ │ -000327e0: 206f 6620 6561 6368 206b 6579 2073 6571 of each key seq │ │ │ -000327f0: 7565 6e63 652e 220a 2020 2020 286c 616d uence.". (lam │ │ │ -00032800: 6264 6120 2878 290a 2020 2020 2020 6028 bda (x). `( │ │ │ -00032810: 282c 2873 7562 7374 7269 6e67 2028 6361 (,(substring (ca │ │ │ -00032820: 7220 7829 2030 2028 2d20 286c 656e 6774 r x) 0 (- (lengt │ │ │ -00032830: 6820 2863 6172 2078 2929 206e 2929 202e h (car x)) n)) . │ │ │ -00032840: 0a20 2020 2020 2020 2020 2c28 6364 7220 . ,(cdr │ │ │ -00032850: 7829 2929 2929 0a0a 2864 6566 756e 2061 x)))))..(defun a │ │ │ -00032860: 6764 612d 696e 7075 742d 6472 6f70 2d70 gda-input-drop-p │ │ │ -00032870: 7265 6669 7820 2870 7265 6669 7829 0a20 refix (prefix). │ │ │ -00032880: 2022 4f6e 6c79 206b 6565 7020 7061 6972 "Only keep pair │ │ │ -00032890: 7320 7768 6f73 6520 6b65 7920 7365 7175 s whose key sequ │ │ │ -000328a0: 656e 6365 2073 7461 7274 7320 7769 7468 ence starts with │ │ │ -000328b0: 2050 5245 4649 582e 0a54 6869 7320 7072 PREFIX..This pr │ │ │ -000328c0: 6566 6978 2069 7320 6472 6f70 7065 642e efix is dropped. │ │ │ -000328d0: 220a 2020 2861 6764 612d 696e 7075 742d ". (agda-input- │ │ │ -000328e0: 636f 6d70 6f73 650a 2020 2028 6167 6461 compose. (agda │ │ │ -000328f0: 2d69 6e70 7574 2d64 726f 702d 6265 6769 -input-drop-begi │ │ │ -00032900: 6e6e 696e 6720 286c 656e 6774 6820 7072 nning (length pr │ │ │ -00032910: 6566 6978 2929 0a20 2020 2861 6764 612d efix)). (agda- │ │ │ -00032920: 696e 7075 742d 7072 6566 6978 2070 7265 input-prefix pre │ │ │ -00032930: 6669 7829 2929 0a0a 2864 6566 756e 2061 fix)))..(defun a │ │ │ -00032940: 6764 612d 696e 7075 742d 6472 6f70 2d73 gda-input-drop-s │ │ │ -00032950: 7566 6669 7820 2873 7566 6669 7829 0a20 uffix (suffix). │ │ │ -00032960: 2022 4f6e 6c79 206b 6565 7020 7061 6972 "Only keep pair │ │ │ -00032970: 7320 7768 6f73 6520 6b65 7920 7365 7175 s whose key sequ │ │ │ -00032980: 656e 6365 2065 6e64 7320 7769 7468 2053 ence ends with S │ │ │ -00032990: 5546 4649 582e 0a54 6869 7320 7375 6666 UFFIX..This suff │ │ │ -000329a0: 6978 2069 7320 6472 6f70 7065 642e 220a ix is dropped.". │ │ │ -000329b0: 2020 2020 2861 6764 612d 696e 7075 742d (agda-input- │ │ │ -000329c0: 636f 6d70 6f73 650a 2020 2020 2028 6167 compose. (ag │ │ │ -000329d0: 6461 2d69 6e70 7574 2d64 726f 702d 656e da-input-drop-en │ │ │ -000329e0: 6420 286c 656e 6774 6820 7375 6666 6978 d (length suffix │ │ │ -000329f0: 2929 0a20 2020 2020 2861 6764 612d 696e )). (agda-in │ │ │ -00032a00: 7075 742d 7375 6666 6978 2073 7566 6669 put-suffix suffi │ │ │ -00032a10: 7829 2929 0a0a 3b3b 3b3b 3b3b 3b3b 3b3b x)))..;;;;;;;;;; │ │ │ +00032260: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 0a3b ;;;;;;;;;;;;;;.; │ │ │ +00032270: 3b20 4675 6e63 7469 6f6e 7320 7573 6564 ; Functions used │ │ │ +00032280: 2074 6f20 7477 6561 6b20 7472 616e 736c to tweak transl │ │ │ +00032290: 6174 696f 6e20 7061 6972 730a 0a28 6465 ation pairs..(de │ │ │ +000322a0: 6675 6e20 6167 6461 2d69 6e70 7574 2d63 fun agda-input-c │ │ │ +000322b0: 6f6d 706f 7365 2028 6620 6729 0a20 2022 ompose (f g). " │ │ │ +000322c0: cebb 2078 202d 3e20 636f 6e63 6174 4d61 .. x -> concatMa │ │ │ +000322d0: 7020 4620 2847 2078 2922 0a20 2020 2028 p F (G x)". ( │ │ │ +000322e0: 6c61 6d62 6461 2028 7829 2028 6167 6461 lambda (x) (agda │ │ │ +000322f0: 2d69 6e70 7574 2d63 6f6e 6361 742d 6d61 -input-concat-ma │ │ │ +00032300: 7020 6620 2866 756e 6361 6c6c 2067 2078 p f (funcall g x │ │ │ +00032310: 2929 2929 0a0a 2864 6566 756e 2061 6764 ))))..(defun agd │ │ │ +00032320: 612d 696e 7075 742d 6f72 2028 6620 6729 a-input-or (f g) │ │ │ +00032330: 0a20 2022 cebb 2078 202d 3e20 4620 7820 . ".. x -> F x │ │ │ +00032340: 2b2b 2047 2078 220a 2020 2020 286c 616d ++ G x". (lam │ │ │ +00032350: 6264 6120 2878 2920 2861 7070 656e 6420 bda (x) (append │ │ │ +00032360: 2866 756e 6361 6c6c 2066 2078 2920 2866 (funcall f x) (f │ │ │ +00032370: 756e 6361 6c6c 2067 2078 2929 2929 0a0a uncall g x)))).. │ │ │ +00032380: 2864 6566 756e 2061 6764 612d 696e 7075 (defun agda-inpu │ │ │ +00032390: 742d 6e6f 6e65 6d70 7479 2028 290a 2020 t-nonempty (). │ │ │ +000323a0: 224f 6e6c 7920 6b65 6570 2070 6169 7273 "Only keep pairs │ │ │ +000323b0: 2077 6974 6820 6120 6e6f 6e2d 656d 7074 with a non-empt │ │ │ +000323c0: 7920 6669 7273 7420 636f 6d70 6f6e 656e y first componen │ │ │ +000323d0: 742e 220a 2020 286c 616d 6264 6120 2878 t.". (lambda (x │ │ │ +000323e0: 2920 2869 6620 283e 2028 6c65 6e67 7468 ) (if (> (length │ │ │ +000323f0: 2028 6361 7220 7829 2920 3029 2028 6c69 (car x)) 0) (li │ │ │ +00032400: 7374 2078 2929 2929 0a0a 2864 6566 756e st x))))..(defun │ │ │ +00032410: 2061 6764 612d 696e 7075 742d 7072 6570 agda-input-prep │ │ │ +00032420: 656e 6420 2870 7265 6669 7829 0a20 2022 end (prefix). " │ │ │ +00032430: 5072 6570 656e 6420 5052 4546 4958 2074 Prepend PREFIX t │ │ │ +00032440: 6f20 616c 6c20 6b65 7920 7365 7175 656e o all key sequen │ │ │ +00032450: 6365 732e 220a 2020 2020 286c 616d 6264 ces.". (lambd │ │ │ +00032460: 6120 2878 2920 6028 282c 2863 6f6e 6361 a (x) `((,(conca │ │ │ +00032470: 7420 7072 6566 6978 2028 6361 7220 7829 t prefix (car x) │ │ │ +00032480: 2920 2e20 2c28 6364 7220 7829 2929 2929 ) . ,(cdr x))))) │ │ │ +00032490: 0a0a 2864 6566 756e 2061 6764 612d 696e ..(defun agda-in │ │ │ +000324a0: 7075 742d 7072 6566 6978 2028 7072 6566 put-prefix (pref │ │ │ +000324b0: 6978 290a 2020 224f 6e6c 7920 6b65 6570 ix). "Only keep │ │ │ +000324c0: 2070 6169 7273 2077 686f 7365 206b 6579 pairs whose key │ │ │ +000324d0: 2073 6571 7565 6e63 6520 7374 6172 7473 sequence starts │ │ │ +000324e0: 2077 6974 6820 5052 4546 4958 2e22 0a20 with PREFIX.". │ │ │ +000324f0: 2020 2028 6c61 6d62 6461 2028 7829 0a20 (lambda (x). │ │ │ +00032500: 2020 2020 2028 6966 2028 6571 7561 6c20 (if (equal │ │ │ +00032510: 2873 7562 7374 7269 6e67 2028 6361 7220 (substring (car │ │ │ +00032520: 7829 2030 2028 6c65 6e67 7468 2070 7265 x) 0 (length pre │ │ │ +00032530: 6669 7829 2920 7072 6566 6978 290a 2020 fix)) prefix). │ │ │ +00032540: 2020 2020 2020 2020 286c 6973 7420 7829 (list x) │ │ │ +00032550: 2929 290a 0a28 6465 6675 6e20 6167 6461 )))..(defun agda │ │ │ +00032560: 2d69 6e70 7574 2d73 7566 6669 7820 2873 -input-suffix (s │ │ │ +00032570: 7566 6669 7829 0a20 2022 4f6e 6c79 206b uffix). "Only k │ │ │ +00032580: 6565 7020 7061 6972 7320 7768 6f73 6520 eep pairs whose │ │ │ +00032590: 6b65 7920 7365 7175 656e 6365 2065 6e64 key sequence end │ │ │ +000325a0: 7320 7769 7468 2053 5546 4649 582e 220a s with SUFFIX.". │ │ │ +000325b0: 2020 2020 286c 616d 6264 6120 2878 290a (lambda (x). │ │ │ +000325c0: 2020 2020 2020 2869 6620 2865 7175 616c (if (equal │ │ │ +000325d0: 2028 7375 6273 7472 696e 6720 2863 6172 (substring (car │ │ │ +000325e0: 2078 290a 2020 2020 2020 2020 2020 2020 x). │ │ │ +000325f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +00032600: 282d 2028 6c65 6e67 7468 2028 6361 7220 (- (length (car │ │ │ +00032610: 7829 2920 286c 656e 6774 6820 7375 6666 x)) (length suff │ │ │ +00032620: 6978 2929 290a 2020 2020 2020 2020 2020 ix))). │ │ │ +00032630: 2020 2020 2020 2073 7566 6669 7829 0a20 suffix). │ │ │ +00032640: 2020 2020 2020 2020 2028 6c69 7374 2078 (list x │ │ │ +00032650: 2929 2929 0a0a 2864 6566 756e 2061 6764 ))))..(defun agd │ │ │ +00032660: 612d 696e 7075 742d 6472 6f70 2028 7373 a-input-drop (ss │ │ │ +00032670: 290a 2020 2244 726f 7020 7061 6972 7320 ). "Drop pairs │ │ │ +00032680: 6d61 7463 6869 6e67 206f 6e65 206f 6620 matching one of │ │ │ +00032690: 7468 6520 6769 7665 6e20 6b65 7920 7365 the given key se │ │ │ +000326a0: 7175 656e 6365 732e 0a53 5320 7368 6f75 quences..SS shou │ │ │ +000326b0: 6c64 2062 6520 6120 6c69 7374 206f 6620 ld be a list of │ │ │ +000326c0: 7374 7269 6e67 732e 220a 2020 2020 286c strings.". (l │ │ │ +000326d0: 616d 6264 6120 2878 2920 2875 6e6c 6573 ambda (x) (unles │ │ │ +000326e0: 7320 286d 656d 6265 7220 2863 6172 2078 s (member (car x │ │ │ +000326f0: 2920 7373 2920 286c 6973 7420 7829 2929 ) ss) (list x))) │ │ │ +00032700: 290a 0a28 6465 6675 6e20 6167 6461 2d69 )..(defun agda-i │ │ │ +00032710: 6e70 7574 2d64 726f 702d 6265 6769 6e6e nput-drop-beginn │ │ │ +00032720: 696e 6720 286e 290a 2020 2244 726f 7020 ing (n). "Drop │ │ │ +00032730: 4e20 6368 6172 6163 7465 7273 2066 726f N characters fro │ │ │ +00032740: 6d20 7468 6520 6265 6769 6e6e 696e 6720 m the beginning │ │ │ +00032750: 6f66 2065 6163 6820 6b65 7920 7365 7175 of each key sequ │ │ │ +00032760: 656e 6365 2e22 0a20 2020 2028 6c61 6d62 ence.". (lamb │ │ │ +00032770: 6461 2028 7829 2060 2828 2c28 7375 6273 da (x) `((,(subs │ │ │ +00032780: 7472 696e 6720 2863 6172 2078 2920 6e29 tring (car x) n) │ │ │ +00032790: 202e 202c 2863 6472 2078 2929 2929 290a . ,(cdr x))))). │ │ │ +000327a0: 0a28 6465 6675 6e20 6167 6461 2d69 6e70 .(defun agda-inp │ │ │ +000327b0: 7574 2d64 726f 702d 656e 6420 286e 290a ut-drop-end (n). │ │ │ +000327c0: 2020 2244 726f 7020 4e20 6368 6172 6163 "Drop N charac │ │ │ +000327d0: 7465 7273 2066 726f 6d20 7468 6520 656e ters from the en │ │ │ +000327e0: 6420 6f66 2065 6163 6820 6b65 7920 7365 d of each key se │ │ │ +000327f0: 7175 656e 6365 2e22 0a20 2020 2028 6c61 quence.". (la │ │ │ +00032800: 6d62 6461 2028 7829 0a20 2020 2020 2060 mbda (x). ` │ │ │ +00032810: 2828 2c28 7375 6273 7472 696e 6720 2863 ((,(substring (c │ │ │ +00032820: 6172 2078 2920 3020 282d 2028 6c65 6e67 ar x) 0 (- (leng │ │ │ +00032830: 7468 2028 6361 7220 7829 2920 6e29 2920 th (car x)) n)) │ │ │ +00032840: 2e0a 2020 2020 2020 2020 202c 2863 6472 .. ,(cdr │ │ │ +00032850: 2078 2929 2929 290a 0a28 6465 6675 6e20 x)))))..(defun │ │ │ +00032860: 6167 6461 2d69 6e70 7574 2d64 726f 702d agda-input-drop- │ │ │ +00032870: 7072 6566 6978 2028 7072 6566 6978 290a prefix (prefix). │ │ │ +00032880: 2020 224f 6e6c 7920 6b65 6570 2070 6169 "Only keep pai │ │ │ +00032890: 7273 2077 686f 7365 206b 6579 2073 6571 rs whose key seq │ │ │ +000328a0: 7565 6e63 6520 7374 6172 7473 2077 6974 uence starts wit │ │ │ +000328b0: 6820 5052 4546 4958 2e0a 5468 6973 2070 h PREFIX..This p │ │ │ +000328c0: 7265 6669 7820 6973 2064 726f 7070 6564 refix is dropped │ │ │ +000328d0: 2e22 0a20 2028 6167 6461 2d69 6e70 7574 .". (agda-input │ │ │ +000328e0: 2d63 6f6d 706f 7365 0a20 2020 2861 6764 -compose. (agd │ │ │ +000328f0: 612d 696e 7075 742d 6472 6f70 2d62 6567 a-input-drop-beg │ │ │ +00032900: 696e 6e69 6e67 2028 6c65 6e67 7468 2070 inning (length p │ │ │ +00032910: 7265 6669 7829 290a 2020 2028 6167 6461 refix)). (agda │ │ │ +00032920: 2d69 6e70 7574 2d70 7265 6669 7820 7072 -input-prefix pr │ │ │ +00032930: 6566 6978 2929 290a 0a28 6465 6675 6e20 efix)))..(defun │ │ │ +00032940: 6167 6461 2d69 6e70 7574 2d64 726f 702d agda-input-drop- │ │ │ +00032950: 7375 6666 6978 2028 7375 6666 6978 290a suffix (suffix). │ │ │ +00032960: 2020 224f 6e6c 7920 6b65 6570 2070 6169 "Only keep pai │ │ │ +00032970: 7273 2077 686f 7365 206b 6579 2073 6571 rs whose key seq │ │ │ +00032980: 7565 6e63 6520 656e 6473 2077 6974 6820 uence ends with │ │ │ +00032990: 5355 4646 4958 2e0a 5468 6973 2073 7566 SUFFIX..This suf │ │ │ +000329a0: 6669 7820 6973 2064 726f 7070 6564 2e22 fix is dropped." │ │ │ +000329b0: 0a20 2020 2028 6167 6461 2d69 6e70 7574 . (agda-input │ │ │ +000329c0: 2d63 6f6d 706f 7365 0a20 2020 2020 2861 -compose. (a │ │ │ +000329d0: 6764 612d 696e 7075 742d 6472 6f70 2d65 gda-input-drop-e │ │ │ +000329e0: 6e64 2028 6c65 6e67 7468 2073 7566 6669 nd (length suffi │ │ │ +000329f0: 7829 290a 2020 2020 2028 6167 6461 2d69 x)). (agda-i │ │ │ +00032a00: 6e70 7574 2d73 7566 6669 7820 7375 6666 nput-suffix suff │ │ │ +00032a10: 6978 2929 290a 0a3b 3b3b 3b3b 3b3b 3b3b ix)))..;;;;;;;;; │ │ │ 00032a20: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00032a30: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00032a40: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ -00032a50: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 0a3b ;;;;;;;;;;;;;;.; │ │ │ -00032a60: 3b20 4375 7374 6f6d 697a 6174 696f 6e0a ; Customization. │ │ │ -00032a70: 0a3b 3b20 5468 6520 3a73 6574 206b 6579 .;; The :set key │ │ │ -00032a80: 776f 7264 2069 7320 7365 7420 746f 2027 word is set to ' │ │ │ -00032a90: 6167 6461 2d69 6e70 7574 2d69 6e63 6f72 agda-input-incor │ │ │ -00032aa0: 706f 7261 7465 2d63 6861 6e67 6564 2d73 porate-changed-s │ │ │ -00032ab0: 6574 7469 6e67 0a3b 3b20 736f 2074 6861 etting.;; so tha │ │ │ -00032ac0: 7420 7468 6520 696e 7075 7420 6d65 7468 t the input meth │ │ │ -00032ad0: 6f64 2067 6574 7320 7570 6461 7465 6420 od gets updated │ │ │ -00032ae0: 696d 6d65 6469 6174 656c 7920 7768 656e immediately when │ │ │ -00032af0: 2075 7365 7273 0a3b 3b20 6375 7374 6f6d users.;; custom │ │ │ -00032b00: 697a 6520 6974 2e20 486f 7765 7665 722c ize it. However, │ │ │ -00032b10: 2074 6865 2073 6574 7570 2066 756e 6374 the setup funct │ │ │ -00032b20: 696f 6e73 2063 616e 6e6f 7420 6265 2072 ions cannot be r │ │ │ -00032b30: 756e 2062 6566 6f72 6520 616c 6c0a 3b3b un before all.;; │ │ │ -00032b40: 2076 6172 6961 626c 6573 2068 6176 6520 variables have │ │ │ -00032b50: 6265 656e 2064 6566 696e 6564 2e20 4865 been defined. He │ │ │ -00032b60: 6e63 6520 7468 6520 3a69 6e69 7469 616c nce the :initial │ │ │ -00032b70: 697a 6520 6b65 7977 6f72 6420 6973 2073 ize keyword is s │ │ │ -00032b80: 6574 2074 6f0a 3b3b 2027 6375 7374 6f6d et to.;; 'custom │ │ │ -00032b90: 2d69 6e69 7469 616c 697a 652d 6465 6661 -initialize-defa │ │ │ -00032ba0: 756c 7420 746f 2065 6e73 7572 6520 7468 ult to ensure th │ │ │ -00032bb0: 6174 2074 6865 2073 6574 7570 2069 7320 at the setup is │ │ │ -00032bc0: 6e6f 7420 7065 7266 6f72 6d65 640a 3b3b not performed.;; │ │ │ -00032bd0: 2075 6e74 696c 2061 6764 612d 696e 7075 until agda-inpu │ │ │ -00032be0: 742d 7365 7475 7020 6973 2063 616c 6c65 t-setup is calle │ │ │ -00032bf0: 6420 6174 2074 6865 2065 6e64 206f 6620 d at the end of │ │ │ -00032c00: 7468 6973 2066 696c 652e 0a0a 2864 6566 this file...(def │ │ │ -00032c10: 6772 6f75 7020 6167 6461 2d69 6e70 7574 group agda-input │ │ │ -00032c20: 206e 696c 0a20 2022 5468 6520 4167 6461 nil. "The Agda │ │ │ -00032c30: 2069 6e70 7574 206d 6574 686f 642e 0a41 input method..A │ │ │ -00032c40: 6674 6572 2074 7765 616b 696e 6720 7468 fter tweaking th │ │ │ -00032c50: 6573 6520 7365 7474 696e 6773 2079 6f75 ese settings you │ │ │ -00032c60: 206d 6179 2077 616e 7420 746f 2069 6e73 may want to ins │ │ │ -00032c70: 7065 6374 2074 6865 2072 6573 756c 7469 pect the resulti │ │ │ -00032c80: 6e67 0a74 7261 6e73 6c61 7469 6f6e 7320 ng.translations │ │ │ -00032c90: 7573 696e 6720 6061 6764 612d 696e 7075 using `agda-inpu │ │ │ -00032ca0: 742d 7368 6f77 2d74 7261 6e73 6c61 7469 t-show-translati │ │ │ -00032cb0: 6f6e 7327 2e22 0a20 203a 6772 6f75 7020 ons'.". :group │ │ │ -00032cc0: 2761 6764 6132 0a20 203a 6772 6f75 7020 'agda2. :group │ │ │ -00032cd0: 276c 6569 6d29 0a0a 2864 6566 6375 7374 'leim)..(defcust │ │ │ -00032ce0: 6f6d 2061 6764 612d 696e 7075 742d 7477 om agda-input-tw │ │ │ -00032cf0: 6561 6b2d 616c 6c0a 2020 2728 6167 6461 eak-all. '(agda │ │ │ -00032d00: 2d69 6e70 7574 2d63 6f6d 706f 7365 0a20 -input-compose. │ │ │ -00032d10: 2020 2028 6167 6461 2d69 6e70 7574 2d70 (agda-input-p │ │ │ -00032d20: 7265 7065 6e64 2022 5c5c 2229 0a20 2020 repend "\\"). │ │ │ -00032d30: 2028 6167 6461 2d69 6e70 7574 2d6e 6f6e (agda-input-non │ │ │ -00032d40: 656d 7074 7929 290a 2020 2241 6e20 6578 empty)). "An ex │ │ │ -00032d50: 7072 6573 7369 6f6e 2079 6965 6c64 696e pression yieldin │ │ │ -00032d60: 6720 6120 6675 6e63 7469 6f6e 2077 6869 g a function whi │ │ │ -00032d70: 6368 2063 616e 2062 6520 7573 6564 2074 ch can be used t │ │ │ -00032d80: 6f20 7477 6561 6b0a 616c 6c20 7472 616e o tweak.all tran │ │ │ -00032d90: 736c 6174 696f 6e73 2062 6566 6f72 6520 slations before │ │ │ -00032da0: 7468 6579 2061 7265 2069 6e63 6c75 6465 they are include │ │ │ -00032db0: 6420 696e 2074 6865 2069 6e70 7574 206d d in the input m │ │ │ -00032dc0: 6574 686f 642e 0a54 6865 2072 6573 756c ethod..The resul │ │ │ -00032dd0: 7469 6e67 2066 756e 6374 696f 6e20 2869 ting function (i │ │ │ -00032de0: 6620 6e6f 6e2d 6e69 6c29 2069 7320 6170 f non-nil) is ap │ │ │ -00032df0: 706c 6965 6420 746f 2065 7665 7279 0a5c plied to every.\ │ │ │ -00032e00: 284b 4559 2d53 4551 5545 4e43 4520 2e20 (KEY-SEQUENCE . │ │ │ -00032e10: 5452 414e 534c 4154 494f 4e29 2070 6169 TRANSLATION) pai │ │ │ -00032e20: 7220 616e 6420 7368 6f75 6c64 2072 6574 r and should ret │ │ │ -00032e30: 7572 6e20 6120 6c69 7374 206f 6620 7375 urn a list of su │ │ │ -00032e40: 6368 0a70 6169 7273 2e20 284e 6f74 6520 ch.pairs. (Note │ │ │ -00032e50: 7468 6174 2074 6865 2074 7261 6e73 6c61 that the transla │ │ │ -00032e60: 7469 6f6e 7320 6361 6e20 6265 2061 6e79 tions can be any │ │ │ -00032e70: 7468 696e 6720 6163 6365 7074 6564 2062 thing accepted b │ │ │ -00032e80: 790a 6071 7561 696c 2d64 6566 7275 6c65 y.`quail-defrule │ │ │ -00032e90: 272e 290a 0a49 6620 796f 7520 6368 616e '.)..If you chan │ │ │ -00032ea0: 6765 2074 6869 7320 7365 7474 696e 6720 ge this setting │ │ │ -00032eb0: 6d61 6e75 616c 6c79 2028 7769 7468 6f75 manually (withou │ │ │ -00032ec0: 7420 7573 696e 6720 7468 650a 6375 7374 t using the.cust │ │ │ -00032ed0: 6f6d 697a 6174 696f 6e20 6275 6666 6572 omization buffer │ │ │ -00032ee0: 2920 796f 7520 6e65 6564 2074 6f20 6361 ) you need to ca │ │ │ -00032ef0: 6c6c 2060 6167 6461 2d69 6e70 7574 2d73 ll `agda-input-s │ │ │ -00032f00: 6574 7570 2720 696e 0a6f 7264 6572 2066 etup' in.order f │ │ │ -00032f10: 6f72 2074 6865 2063 6861 6e67 6520 746f or the change to │ │ │ -00032f20: 2074 616b 6520 6566 6665 6374 2e22 0a20 take effect.". │ │ │ -00032f30: 203a 6772 6f75 7020 2761 6764 612d 696e :group 'agda-in │ │ │ -00032f40: 7075 740a 2020 3a73 6574 2027 6167 6461 put. :set 'agda │ │ │ -00032f50: 2d69 6e70 7574 2d69 6e63 6f72 706f 7261 -input-incorpora │ │ │ -00032f60: 7465 2d63 6861 6e67 6564 2d73 6574 7469 te-changed-setti │ │ │ -00032f70: 6e67 0a20 203a 696e 6974 6961 6c69 7a65 ng. :initialize │ │ │ -00032f80: 2027 6375 7374 6f6d 2d69 6e69 7469 616c 'custom-initial │ │ │ -00032f90: 697a 652d 6465 6661 756c 740a 2020 3a74 ize-default. :t │ │ │ -00032fa0: 7970 6520 2773 6578 7029 0a0a 2864 6566 ype 'sexp)..(def │ │ │ -00032fb0: 6375 7374 6f6d 2061 6764 612d 696e 7075 custom agda-inpu │ │ │ -00032fc0: 742d 696e 6865 7269 740a 2020 6028 2822 t-inherit. `((" │ │ │ -00032fd0: 5465 5822 202e 2028 6167 6461 2d69 6e70 TeX" . (agda-inp │ │ │ -00032fe0: 7574 2d63 6f6d 706f 7365 0a20 2020 2020 ut-compose. │ │ │ -00032ff0: 2020 2020 2020 2020 2028 6167 6461 2d69 (agda-i │ │ │ -00033000: 6e70 7574 2d64 726f 7020 2728 2267 6571 nput-drop '("geq │ │ │ -00033010: 2220 226c 6571 2220 2262 756c 6c65 7422 " "leq" "bullet" │ │ │ -00033020: 2022 7165 6422 2022 7061 7222 2929 0a20 "qed" "par")). │ │ │ -00033030: 2020 2020 2020 2020 2020 2020 2028 6167 (ag │ │ │ -00033040: 6461 2d69 6e70 7574 2d6f 720a 2020 2020 da-input-or. │ │ │ -00033050: 2020 2020 2020 2020 2020 2028 6167 6461 (agda │ │ │ -00033060: 2d69 6e70 7574 2d64 726f 702d 7072 6566 -input-drop-pref │ │ │ -00033070: 6978 2022 5c5c 2229 0a20 2020 2020 2020 ix "\\"). │ │ │ -00033080: 2020 2020 2020 2020 2861 6764 612d 696e (agda-in │ │ │ -00033090: 7075 742d 6f72 0a20 2020 2020 2020 2020 put-or. │ │ │ -000330a0: 2020 2020 2020 2028 6167 6461 2d69 6e70 (agda-inp │ │ │ -000330b0: 7574 2d63 6f6d 706f 7365 0a20 2020 2020 ut-compose. │ │ │ -000330c0: 2020 2020 2020 2020 2020 2020 2861 6764 (agd │ │ │ -000330d0: 612d 696e 7075 742d 6472 6f70 2027 2822 a-input-drop '(" │ │ │ -000330e0: 5e6c 2220 225e 6f22 2022 5e72 2220 225e ^l" "^o" "^r" "^ │ │ │ -000330f0: 7622 2929 0a20 2020 2020 2020 2020 2020 v")). │ │ │ -00033100: 2020 2020 2020 2861 6764 612d 696e 7075 (agda-inpu │ │ │ -00033110: 742d 7072 6566 6978 2022 5e22 2929 0a20 t-prefix "^")). │ │ │ -00033120: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ -00033130: 6167 6461 2d69 6e70 7574 2d70 7265 6669 agda-input-prefi │ │ │ -00033140: 7820 225f 2229 2929 2929 0a20 2020 2029 x "_"))))). ) │ │ │ -00033150: 0a20 2022 4120 6c69 7374 206f 6620 5175 . "A list of Qu │ │ │ -00033160: 6169 6c20 696e 7075 7420 6d65 7468 6f64 ail input method │ │ │ -00033170: 7320 7768 6f73 6520 7472 616e 736c 6174 s whose translat │ │ │ -00033180: 696f 6e73 2073 686f 756c 6420 6265 0a69 ions should be.i │ │ │ -00033190: 6e68 6572 6974 6564 2062 7920 7468 6520 nherited by the │ │ │ -000331a0: 4167 6461 2069 6e70 7574 206d 6574 686f Agda input metho │ │ │ -000331b0: 6420 2877 6974 6820 7468 6520 6578 6365 d (with the exce │ │ │ -000331c0: 7074 696f 6e20 6f66 0a74 7261 6e73 6c61 ption of.transla │ │ │ -000331d0: 7469 6f6e 7320 636f 7272 6573 706f 6e64 tions correspond │ │ │ -000331e0: 696e 6720 746f 2041 5343 4949 2063 6861 ing to ASCII cha │ │ │ -000331f0: 7261 6374 6572 7329 2e0a 0a54 6865 206c racters)...The l │ │ │ -00033200: 6973 7420 636f 6e73 6973 7473 206f 6620 ist consists of │ │ │ -00033210: 7061 6972 7320 2871 7020 2e20 7477 6561 pairs (qp . twea │ │ │ -00033220: 6b29 2c20 7768 6572 6520 7170 2069 7320 k), where qp is │ │ │ -00033230: 7468 6520 6e61 6d65 206f 660a 6120 5175 the name of.a Qu │ │ │ -00033240: 6169 6c20 7061 636b 6167 652c 2061 6e64 ail package, and │ │ │ -00033250: 2074 7765 616b 2069 7320 616e 2065 7870 tweak is an exp │ │ │ -00033260: 7265 7373 696f 6e20 6f66 2074 6865 2073 ression of the s │ │ │ -00033270: 616d 6520 6b69 6e64 2061 730a 6061 6764 ame kind as.`agd │ │ │ -00033280: 612d 696e 7075 742d 7477 6561 6b2d 616c a-input-tweak-al │ │ │ -00033290: 6c27 2077 6869 6368 2069 7320 7573 6564 l' which is used │ │ │ -000332a0: 2074 6f20 7477 6561 6b20 7468 6520 7472 to tweak the tr │ │ │ -000332b0: 616e 736c 6174 696f 6e0a 7061 6972 7320 anslation.pairs │ │ │ -000332c0: 6f66 2074 6865 2069 6e70 7574 206d 6574 of the input met │ │ │ -000332d0: 686f 642e 0a0a 5468 6520 696e 6865 7269 hod...The inheri │ │ │ -000332e0: 7465 6420 7472 616e 736c 6174 696f 6e20 ted translation │ │ │ -000332f0: 7061 6972 7320 6172 6520 6164 6465 6420 pairs are added │ │ │ -00033300: 6c61 7374 2c20 6166 7465 720a 6061 6764 last, after.`agd │ │ │ -00033310: 612d 696e 7075 742d 7573 6572 2d74 7261 a-input-user-tra │ │ │ -00033320: 6e73 6c61 7469 6f6e 7327 2061 6e64 2060 nslations' and ` │ │ │ -00033330: 6167 6461 2d69 6e70 7574 2d74 7261 6e73 agda-input-trans │ │ │ -00033340: 6c61 7469 6f6e 7327 2e0a 0a49 6620 796f lations'...If yo │ │ │ -00033350: 7520 6368 616e 6765 2074 6869 7320 7365 u change this se │ │ │ -00033360: 7474 696e 6720 6d61 6e75 616c 6c79 2028 tting manually ( │ │ │ -00033370: 7769 7468 6f75 7420 7573 696e 6720 7468 without using th │ │ │ -00033380: 650a 6375 7374 6f6d 697a 6174 696f 6e20 e.customization │ │ │ -00033390: 6275 6666 6572 2920 796f 7520 6e65 6564 buffer) you need │ │ │ -000333a0: 2074 6f20 6361 6c6c 2060 6167 6461 2d69 to call `agda-i │ │ │ -000333b0: 6e70 7574 2d73 6574 7570 2720 696e 0a6f nput-setup' in.o │ │ │ -000333c0: 7264 6572 2066 6f72 2074 6865 2063 6861 rder for the cha │ │ │ -000333d0: 6e67 6520 746f 2074 616b 6520 6566 6665 nge to take effe │ │ │ -000333e0: 6374 2e22 0a20 203a 6772 6f75 7020 2761 ct.". :group 'a │ │ │ -000333f0: 6764 612d 696e 7075 740a 2020 3a73 6574 gda-input. :set │ │ │ -00033400: 2027 6167 6461 2d69 6e70 7574 2d69 6e63 'agda-input-inc │ │ │ -00033410: 6f72 706f 7261 7465 2d63 6861 6e67 6564 orporate-changed │ │ │ -00033420: 2d73 6574 7469 6e67 0a20 203a 696e 6974 -setting. :init │ │ │ -00033430: 6961 6c69 7a65 2027 6375 7374 6f6d 2d69 ialize 'custom-i │ │ │ -00033440: 6e69 7469 616c 697a 652d 6465 6661 756c nitialize-defaul │ │ │ -00033450: 740a 2020 3a74 7970 6520 2728 7265 7065 t. :type '(repe │ │ │ -00033460: 6174 2028 636f 6e73 2028 7374 7269 6e67 at (cons (string │ │ │ -00033470: 203a 7461 6720 2251 7561 696c 2070 6163 :tag "Quail pac │ │ │ -00033480: 6b61 6765 2229 0a20 2020 2020 2020 2020 kage"). │ │ │ -00033490: 2020 2020 2020 2020 2020 2020 2020 2873 (s │ │ │ -000334a0: 6578 7020 3a74 6167 2022 5477 6561 6b69 exp :tag "Tweaki │ │ │ -000334b0: 6e67 2066 756e 6374 696f 6e22 2929 2929 ng function")))) │ │ │ -000334c0: 0a0a 2864 6566 6375 7374 6f6d 2061 6764 ..(defcustom agd │ │ │ -000334d0: 612d 696e 7075 742d 7472 616e 736c 6174 a-input-translat │ │ │ -000334e0: 696f 6e73 0a20 2028 6c65 7420 2828 6d61 ions. (let ((ma │ │ │ -000334f0: 782d 6c69 7370 2d65 7661 6c2d 6465 7074 x-lisp-eval-dept │ │ │ -00033500: 6820 3238 3030 2929 2060 280a 0a20 203b h 2800)) `(.. ; │ │ │ -00033510: 3b20 4571 7561 6c69 7479 2061 6e64 2073 ; Equality and s │ │ │ -00033520: 696d 696c 6172 2073 796d 626f 6c73 2e0a imilar symbols.. │ │ │ -00033530: 0a20 2028 2265 7122 2020 2e20 2c28 6167 . ("eq" . ,(ag │ │ │ -00033540: 6461 2d69 6e70 7574 2d74 6f2d 7374 7269 da-input-to-stri │ │ │ -00033550: 6e67 2d6c 6973 7420 223d e288 bce2 88bd ng-list "=...... │ │ │ -00033560: e289 88e2 898b e288 bbe2 88be e288 bfe2 ................ │ │ │ -00033570: 8980 e289 83e2 8b8d e289 82e2 8985 20e2 .............. . │ │ │ -00033580: 898c e289 8ae2 89a1 e289 a3e2 8990 e289 ................ │ │ │ -00033590: 91e2 8992 e289 93e2 8994 e289 95e2 8996 ................ │ │ │ -000335a0: e289 97e2 8998 e289 99e2 899a e289 9be2 ................ │ │ │ -000335b0: 899c e289 9de2 899e e289 9fe2 898d e289 ................ │ │ │ -000335c0: 8ee2 898f e289 ace2 8b95 efbc 9d22 2929 .............")) │ │ │ -000335d0: 0a20 2028 2265 716e 2220 2e20 2c28 6167 . ("eqn" . ,(ag │ │ │ -000335e0: 6461 2d69 6e70 7574 2d74 6f2d 7374 7269 da-input-to-stri │ │ │ -000335f0: 6e67 2d6c 6973 7420 22e2 89a0 e289 8120 ng-list "...... │ │ │ -00033600: e289 8920 2020 2020 e289 8420 20e2 8987 ... ... ... │ │ │ -00033610: e289 8620 20e2 89a2 2020 2020 2020 2020 ... ... │ │ │ -00033620: 2020 2020 2020 2020 20e2 89ad 2020 2020 ... │ │ │ -00033630: 2229 290a 0a20 2020 2020 2020 2020 2020 ")).. │ │ │ -00033640: 2020 2020 2020 2020 2028 223d 6e22 2020 ("=n" │ │ │ -00033650: 2e20 2822 e289 a022 2929 0a20 2028 227e . ("...")). ("~ │ │ │ -00033660: 2220 2020 202e 202c 2861 6764 612d 696e " . ,(agda-in │ │ │ -00033670: 7075 742d 746f 2d73 7472 696e 672d 6c69 put-to-string-li │ │ │ -00033680: 7374 2022 e288 bcef bd9e 2229 290a 2020 st "......")). │ │ │ +00032a50: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b0a ;;;;;;;;;;;;;;;. │ │ │ +00032a60: 3b3b 2043 7573 746f 6d69 7a61 7469 6f6e ;; Customization │ │ │ +00032a70: 0a0a 3b3b 2054 6865 203a 7365 7420 6b65 ..;; The :set ke │ │ │ +00032a80: 7977 6f72 6420 6973 2073 6574 2074 6f20 yword is set to │ │ │ +00032a90: 2761 6764 612d 696e 7075 742d 696e 636f 'agda-input-inco │ │ │ +00032aa0: 7270 6f72 6174 652d 6368 616e 6765 642d rporate-changed- │ │ │ +00032ab0: 7365 7474 696e 670a 3b3b 2073 6f20 7468 setting.;; so th │ │ │ +00032ac0: 6174 2074 6865 2069 6e70 7574 206d 6574 at the input met │ │ │ +00032ad0: 686f 6420 6765 7473 2075 7064 6174 6564 hod gets updated │ │ │ +00032ae0: 2069 6d6d 6564 6961 7465 6c79 2077 6865 immediately whe │ │ │ +00032af0: 6e20 7573 6572 730a 3b3b 2063 7573 746f n users.;; custo │ │ │ +00032b00: 6d69 7a65 2069 742e 2048 6f77 6576 6572 mize it. However │ │ │ +00032b10: 2c20 7468 6520 7365 7475 7020 6675 6e63 , the setup func │ │ │ +00032b20: 7469 6f6e 7320 6361 6e6e 6f74 2062 6520 tions cannot be │ │ │ +00032b30: 7275 6e20 6265 666f 7265 2061 6c6c 0a3b run before all.; │ │ │ +00032b40: 3b20 7661 7269 6162 6c65 7320 6861 7665 ; variables have │ │ │ +00032b50: 2062 6565 6e20 6465 6669 6e65 642e 2048 been defined. H │ │ │ +00032b60: 656e 6365 2074 6865 203a 696e 6974 6961 ence the :initia │ │ │ +00032b70: 6c69 7a65 206b 6579 776f 7264 2069 7320 lize keyword is │ │ │ +00032b80: 7365 7420 746f 0a3b 3b20 2763 7573 746f set to.;; 'custo │ │ │ +00032b90: 6d2d 696e 6974 6961 6c69 7a65 2d64 6566 m-initialize-def │ │ │ +00032ba0: 6175 6c74 2074 6f20 656e 7375 7265 2074 ault to ensure t │ │ │ +00032bb0: 6861 7420 7468 6520 7365 7475 7020 6973 hat the setup is │ │ │ +00032bc0: 206e 6f74 2070 6572 666f 726d 6564 0a3b not performed.; │ │ │ +00032bd0: 3b20 756e 7469 6c20 6167 6461 2d69 6e70 ; until agda-inp │ │ │ +00032be0: 7574 2d73 6574 7570 2069 7320 6361 6c6c ut-setup is call │ │ │ +00032bf0: 6564 2061 7420 7468 6520 656e 6420 6f66 ed at the end of │ │ │ +00032c00: 2074 6869 7320 6669 6c65 2e0a 0a28 6465 this file...(de │ │ │ +00032c10: 6667 726f 7570 2061 6764 612d 696e 7075 fgroup agda-inpu │ │ │ +00032c20: 7420 6e69 6c0a 2020 2254 6865 2041 6764 t nil. "The Agd │ │ │ +00032c30: 6120 696e 7075 7420 6d65 7468 6f64 2e0a a input method.. │ │ │ +00032c40: 4166 7465 7220 7477 6561 6b69 6e67 2074 After tweaking t │ │ │ +00032c50: 6865 7365 2073 6574 7469 6e67 7320 796f hese settings yo │ │ │ +00032c60: 7520 6d61 7920 7761 6e74 2074 6f20 696e u may want to in │ │ │ +00032c70: 7370 6563 7420 7468 6520 7265 7375 6c74 spect the result │ │ │ +00032c80: 696e 670a 7472 616e 736c 6174 696f 6e73 ing.translations │ │ │ +00032c90: 2075 7369 6e67 2060 6167 6461 2d69 6e70 using `agda-inp │ │ │ +00032ca0: 7574 2d73 686f 772d 7472 616e 736c 6174 ut-show-translat │ │ │ +00032cb0: 696f 6e73 272e 220a 2020 3a67 726f 7570 ions'.". :group │ │ │ +00032cc0: 2027 6167 6461 320a 2020 3a67 726f 7570 'agda2. :group │ │ │ +00032cd0: 2027 6c65 696d 290a 0a28 6465 6663 7573 'leim)..(defcus │ │ │ +00032ce0: 746f 6d20 6167 6461 2d69 6e70 7574 2d74 tom agda-input-t │ │ │ +00032cf0: 7765 616b 2d61 6c6c 0a20 2027 2861 6764 weak-all. '(agd │ │ │ +00032d00: 612d 696e 7075 742d 636f 6d70 6f73 650a a-input-compose. │ │ │ +00032d10: 2020 2020 2861 6764 612d 696e 7075 742d (agda-input- │ │ │ +00032d20: 7072 6570 656e 6420 225c 5c22 290a 2020 prepend "\\"). │ │ │ +00032d30: 2020 2861 6764 612d 696e 7075 742d 6e6f (agda-input-no │ │ │ +00032d40: 6e65 6d70 7479 2929 0a20 2022 416e 2065 nempty)). "An e │ │ │ +00032d50: 7870 7265 7373 696f 6e20 7969 656c 6469 xpression yieldi │ │ │ +00032d60: 6e67 2061 2066 756e 6374 696f 6e20 7768 ng a function wh │ │ │ +00032d70: 6963 6820 6361 6e20 6265 2075 7365 6420 ich can be used │ │ │ +00032d80: 746f 2074 7765 616b 0a61 6c6c 2074 7261 to tweak.all tra │ │ │ +00032d90: 6e73 6c61 7469 6f6e 7320 6265 666f 7265 nslations before │ │ │ +00032da0: 2074 6865 7920 6172 6520 696e 636c 7564 they are includ │ │ │ +00032db0: 6564 2069 6e20 7468 6520 696e 7075 7420 ed in the input │ │ │ +00032dc0: 6d65 7468 6f64 2e0a 5468 6520 7265 7375 method..The resu │ │ │ +00032dd0: 6c74 696e 6720 6675 6e63 7469 6f6e 2028 lting function ( │ │ │ +00032de0: 6966 206e 6f6e 2d6e 696c 2920 6973 2061 if non-nil) is a │ │ │ +00032df0: 7070 6c69 6564 2074 6f20 6576 6572 790a pplied to every. │ │ │ +00032e00: 5c28 4b45 592d 5345 5155 454e 4345 202e \(KEY-SEQUENCE . │ │ │ +00032e10: 2054 5241 4e53 4c41 5449 4f4e 2920 7061 TRANSLATION) pa │ │ │ +00032e20: 6972 2061 6e64 2073 686f 756c 6420 7265 ir and should re │ │ │ +00032e30: 7475 726e 2061 206c 6973 7420 6f66 2073 turn a list of s │ │ │ +00032e40: 7563 680a 7061 6972 732e 2028 4e6f 7465 uch.pairs. (Note │ │ │ +00032e50: 2074 6861 7420 7468 6520 7472 616e 736c that the transl │ │ │ +00032e60: 6174 696f 6e73 2063 616e 2062 6520 616e ations can be an │ │ │ +00032e70: 7974 6869 6e67 2061 6363 6570 7465 6420 ything accepted │ │ │ +00032e80: 6279 0a60 7175 6169 6c2d 6465 6672 756c by.`quail-defrul │ │ │ +00032e90: 6527 2e29 0a0a 4966 2079 6f75 2063 6861 e'.)..If you cha │ │ │ +00032ea0: 6e67 6520 7468 6973 2073 6574 7469 6e67 nge this setting │ │ │ +00032eb0: 206d 616e 7561 6c6c 7920 2877 6974 686f manually (witho │ │ │ +00032ec0: 7574 2075 7369 6e67 2074 6865 0a63 7573 ut using the.cus │ │ │ +00032ed0: 746f 6d69 7a61 7469 6f6e 2062 7566 6665 tomization buffe │ │ │ +00032ee0: 7229 2079 6f75 206e 6565 6420 746f 2063 r) you need to c │ │ │ +00032ef0: 616c 6c20 6061 6764 612d 696e 7075 742d all `agda-input- │ │ │ +00032f00: 7365 7475 7027 2069 6e0a 6f72 6465 7220 setup' in.order │ │ │ +00032f10: 666f 7220 7468 6520 6368 616e 6765 2074 for the change t │ │ │ +00032f20: 6f20 7461 6b65 2065 6666 6563 742e 220a o take effect.". │ │ │ +00032f30: 2020 3a67 726f 7570 2027 6167 6461 2d69 :group 'agda-i │ │ │ +00032f40: 6e70 7574 0a20 203a 7365 7420 2761 6764 nput. :set 'agd │ │ │ +00032f50: 612d 696e 7075 742d 696e 636f 7270 6f72 a-input-incorpor │ │ │ +00032f60: 6174 652d 6368 616e 6765 642d 7365 7474 ate-changed-sett │ │ │ +00032f70: 696e 670a 2020 3a69 6e69 7469 616c 697a ing. :initializ │ │ │ +00032f80: 6520 2763 7573 746f 6d2d 696e 6974 6961 e 'custom-initia │ │ │ +00032f90: 6c69 7a65 2d64 6566 6175 6c74 0a20 203a lize-default. : │ │ │ +00032fa0: 7479 7065 2027 7365 7870 290a 0a28 6465 type 'sexp)..(de │ │ │ +00032fb0: 6663 7573 746f 6d20 6167 6461 2d69 6e70 fcustom agda-inp │ │ │ +00032fc0: 7574 2d69 6e68 6572 6974 0a20 2060 2828 ut-inherit. `(( │ │ │ +00032fd0: 2254 6558 2220 2e20 2861 6764 612d 696e "TeX" . (agda-in │ │ │ +00032fe0: 7075 742d 636f 6d70 6f73 650a 2020 2020 put-compose. │ │ │ +00032ff0: 2020 2020 2020 2020 2020 2861 6764 612d (agda- │ │ │ +00033000: 696e 7075 742d 6472 6f70 2027 2822 6765 input-drop '("ge │ │ │ +00033010: 7122 2022 6c65 7122 2022 6275 6c6c 6574 q" "leq" "bullet │ │ │ +00033020: 2220 2271 6564 2220 2270 6172 2229 290a " "qed" "par")). │ │ │ +00033030: 2020 2020 2020 2020 2020 2020 2020 2861 (a │ │ │ +00033040: 6764 612d 696e 7075 742d 6f72 0a20 2020 gda-input-or. │ │ │ +00033050: 2020 2020 2020 2020 2020 2020 2861 6764 (agd │ │ │ +00033060: 612d 696e 7075 742d 6472 6f70 2d70 7265 a-input-drop-pre │ │ │ +00033070: 6669 7820 225c 5c22 290a 2020 2020 2020 fix "\\"). │ │ │ +00033080: 2020 2020 2020 2020 2028 6167 6461 2d69 (agda-i │ │ │ +00033090: 6e70 7574 2d6f 720a 2020 2020 2020 2020 nput-or. │ │ │ +000330a0: 2020 2020 2020 2020 2861 6764 612d 696e (agda-in │ │ │ +000330b0: 7075 742d 636f 6d70 6f73 650a 2020 2020 put-compose. │ │ │ +000330c0: 2020 2020 2020 2020 2020 2020 2028 6167 (ag │ │ │ +000330d0: 6461 2d69 6e70 7574 2d64 726f 7020 2728 da-input-drop '( │ │ │ +000330e0: 225e 6c22 2022 5e6f 2220 225e 7222 2022 "^l" "^o" "^r" " │ │ │ +000330f0: 5e76 2229 290a 2020 2020 2020 2020 2020 ^v")). │ │ │ +00033100: 2020 2020 2020 2028 6167 6461 2d69 6e70 (agda-inp │ │ │ +00033110: 7574 2d70 7265 6669 7820 225e 2229 290a ut-prefix "^")). │ │ │ +00033120: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +00033130: 2861 6764 612d 696e 7075 742d 7072 6566 (agda-input-pref │ │ │ +00033140: 6978 2022 5f22 2929 2929 290a 2020 2020 ix "_"))))). │ │ │ +00033150: 290a 2020 2241 206c 6973 7420 6f66 2051 ). "A list of Q │ │ │ +00033160: 7561 696c 2069 6e70 7574 206d 6574 686f uail input metho │ │ │ +00033170: 6473 2077 686f 7365 2074 7261 6e73 6c61 ds whose transla │ │ │ +00033180: 7469 6f6e 7320 7368 6f75 6c64 2062 650a tions should be. │ │ │ +00033190: 696e 6865 7269 7465 6420 6279 2074 6865 inherited by the │ │ │ +000331a0: 2041 6764 6120 696e 7075 7420 6d65 7468 Agda input meth │ │ │ +000331b0: 6f64 2028 7769 7468 2074 6865 2065 7863 od (with the exc │ │ │ +000331c0: 6570 7469 6f6e 206f 660a 7472 616e 736c eption of.transl │ │ │ +000331d0: 6174 696f 6e73 2063 6f72 7265 7370 6f6e ations correspon │ │ │ +000331e0: 6469 6e67 2074 6f20 4153 4349 4920 6368 ding to ASCII ch │ │ │ +000331f0: 6172 6163 7465 7273 292e 0a0a 5468 6520 aracters)...The │ │ │ +00033200: 6c69 7374 2063 6f6e 7369 7374 7320 6f66 list consists of │ │ │ +00033210: 2070 6169 7273 2028 7170 202e 2074 7765 pairs (qp . twe │ │ │ +00033220: 616b 292c 2077 6865 7265 2071 7020 6973 ak), where qp is │ │ │ +00033230: 2074 6865 206e 616d 6520 6f66 0a61 2051 the name of.a Q │ │ │ +00033240: 7561 696c 2070 6163 6b61 6765 2c20 616e uail package, an │ │ │ +00033250: 6420 7477 6561 6b20 6973 2061 6e20 6578 d tweak is an ex │ │ │ +00033260: 7072 6573 7369 6f6e 206f 6620 7468 6520 pression of the │ │ │ +00033270: 7361 6d65 206b 696e 6420 6173 0a60 6167 same kind as.`ag │ │ │ +00033280: 6461 2d69 6e70 7574 2d74 7765 616b 2d61 da-input-tweak-a │ │ │ +00033290: 6c6c 2720 7768 6963 6820 6973 2075 7365 ll' which is use │ │ │ +000332a0: 6420 746f 2074 7765 616b 2074 6865 2074 d to tweak the t │ │ │ +000332b0: 7261 6e73 6c61 7469 6f6e 0a70 6169 7273 ranslation.pairs │ │ │ +000332c0: 206f 6620 7468 6520 696e 7075 7420 6d65 of the input me │ │ │ +000332d0: 7468 6f64 2e0a 0a54 6865 2069 6e68 6572 thod...The inher │ │ │ +000332e0: 6974 6564 2074 7261 6e73 6c61 7469 6f6e ited translation │ │ │ +000332f0: 2070 6169 7273 2061 7265 2061 6464 6564 pairs are added │ │ │ +00033300: 206c 6173 742c 2061 6674 6572 0a60 6167 last, after.`ag │ │ │ +00033310: 6461 2d69 6e70 7574 2d75 7365 722d 7472 da-input-user-tr │ │ │ +00033320: 616e 736c 6174 696f 6e73 2720 616e 6420 anslations' and │ │ │ +00033330: 6061 6764 612d 696e 7075 742d 7472 616e `agda-input-tran │ │ │ +00033340: 736c 6174 696f 6e73 272e 0a0a 4966 2079 slations'...If y │ │ │ +00033350: 6f75 2063 6861 6e67 6520 7468 6973 2073 ou change this s │ │ │ +00033360: 6574 7469 6e67 206d 616e 7561 6c6c 7920 etting manually │ │ │ +00033370: 2877 6974 686f 7574 2075 7369 6e67 2074 (without using t │ │ │ +00033380: 6865 0a63 7573 746f 6d69 7a61 7469 6f6e he.customization │ │ │ +00033390: 2062 7566 6665 7229 2079 6f75 206e 6565 buffer) you nee │ │ │ +000333a0: 6420 746f 2063 616c 6c20 6061 6764 612d d to call `agda- │ │ │ +000333b0: 696e 7075 742d 7365 7475 7027 2069 6e0a input-setup' in. │ │ │ +000333c0: 6f72 6465 7220 666f 7220 7468 6520 6368 order for the ch │ │ │ +000333d0: 616e 6765 2074 6f20 7461 6b65 2065 6666 ange to take eff │ │ │ +000333e0: 6563 742e 220a 2020 3a67 726f 7570 2027 ect.". :group ' │ │ │ +000333f0: 6167 6461 2d69 6e70 7574 0a20 203a 7365 agda-input. :se │ │ │ +00033400: 7420 2761 6764 612d 696e 7075 742d 696e t 'agda-input-in │ │ │ +00033410: 636f 7270 6f72 6174 652d 6368 616e 6765 corporate-change │ │ │ +00033420: 642d 7365 7474 696e 670a 2020 3a69 6e69 d-setting. :ini │ │ │ +00033430: 7469 616c 697a 6520 2763 7573 746f 6d2d tialize 'custom- │ │ │ +00033440: 696e 6974 6961 6c69 7a65 2d64 6566 6175 initialize-defau │ │ │ +00033450: 6c74 0a20 203a 7479 7065 2027 2872 6570 lt. :type '(rep │ │ │ +00033460: 6561 7420 2863 6f6e 7320 2873 7472 696e eat (cons (strin │ │ │ +00033470: 6720 3a74 6167 2022 5175 6169 6c20 7061 g :tag "Quail pa │ │ │ +00033480: 636b 6167 6522 290a 2020 2020 2020 2020 ckage"). │ │ │ +00033490: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ +000334a0: 7365 7870 203a 7461 6720 2254 7765 616b sexp :tag "Tweak │ │ │ +000334b0: 696e 6720 6675 6e63 7469 6f6e 2229 2929 ing function"))) │ │ │ +000334c0: 290a 0a28 6465 6663 7573 746f 6d20 6167 )..(defcustom ag │ │ │ +000334d0: 6461 2d69 6e70 7574 2d74 7261 6e73 6c61 da-input-transla │ │ │ +000334e0: 7469 6f6e 730a 2020 286c 6574 2028 286d tions. (let ((m │ │ │ +000334f0: 6178 2d6c 6973 702d 6576 616c 2d64 6570 ax-lisp-eval-dep │ │ │ +00033500: 7468 2032 3830 3029 2920 6028 0a0a 2020 th 2800)) `(.. │ │ │ +00033510: 3b3b 2045 7175 616c 6974 7920 616e 6420 ;; Equality and │ │ │ +00033520: 7369 6d69 6c61 7220 7379 6d62 6f6c 732e similar symbols. │ │ │ +00033530: 0a0a 2020 2822 6571 2220 202e 202c 2861 .. ("eq" . ,(a │ │ │ +00033540: 6764 612d 696e 7075 742d 746f 2d73 7472 gda-input-to-str │ │ │ +00033550: 696e 672d 6c69 7374 2022 3de2 88bc e288 ing-list "=..... │ │ │ +00033560: bde2 8988 e289 8be2 88bb e288 bee2 88bf ................ │ │ │ +00033570: e289 80e2 8983 e28b 8de2 8982 e289 8520 ............... │ │ │ +00033580: e289 8ce2 898a e289 a1e2 89a3 e289 90e2 ................ │ │ │ +00033590: 8991 e289 92e2 8993 e289 94e2 8995 e289 ................ │ │ │ +000335a0: 96e2 8997 e289 98e2 8999 e289 9ae2 899b ................ │ │ │ +000335b0: e289 9ce2 899d e289 9ee2 899f e289 8de2 ................ │ │ │ +000335c0: 898e e289 8fe2 89ac e28b 95ef bc9d 2229 ..............") │ │ │ +000335d0: 290a 2020 2822 6571 6e22 202e 202c 2861 ). ("eqn" . ,(a │ │ │ +000335e0: 6764 612d 696e 7075 742d 746f 2d73 7472 gda-input-to-str │ │ │ +000335f0: 696e 672d 6c69 7374 2022 e289 a0e2 8981 ing-list "...... │ │ │ +00033600: 20e2 8989 2020 2020 20e2 8984 2020 e289 ... ... .. │ │ │ +00033610: 87e2 8986 2020 e289 a220 2020 2020 2020 .... ... │ │ │ +00033620: 2020 2020 2020 2020 2020 e289 ad20 2020 ... │ │ │ +00033630: 2022 2929 0a0a 2020 2020 2020 2020 2020 ")).. │ │ │ +00033640: 2020 2020 2020 2020 2020 2822 3d6e 2220 ("=n" │ │ │ +00033650: 202e 2028 22e2 89a0 2229 290a 2020 2822 . ("...")). (" │ │ │ +00033660: 7e22 2020 2020 2e20 2c28 6167 6461 2d69 ~" . ,(agda-i │ │ │ +00033670: 6e70 7574 2d74 6f2d 7374 7269 6e67 2d6c nput-to-string-l │ │ │ +00033680: 6973 7420 22e2 88bc efbd 9e22 2929 0a20 ist "......")). │ │ │ 00033690: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -000336a0: 2020 2822 7e6e 2220 202e 2028 22e2 8981 ("~n" . ("... │ │ │ -000336b0: 2229 290a 2020 2822 7e7e 2220 2020 2e20 ")). ("~~" . │ │ │ -000336c0: 2822 e289 8822 2929 2020 2822 7e7e 6e22 ("...")) ("~~n" │ │ │ -000336d0: 202e 2028 22e2 8989 2229 290a 2020 2822 . ("...")). (" │ │ │ -000336e0: 7e7e 7e22 2020 2e20 2822 e289 8b22 2929 ~~~" . ("...")) │ │ │ -000336f0: 0a20 2028 223a 7e22 2020 202e 2028 22e2 . (":~" . (". │ │ │ -00033700: 88bb 2229 290a 2020 2822 7e2d 2220 2020 ..")). ("~-" │ │ │ -00033710: 2e20 2822 e289 8322 2929 2020 2822 7e2d . ("...")) ("~- │ │ │ -00033720: 6e22 202e 2028 22e2 8984 2229 290a 2020 n" . ("...")). │ │ │ -00033730: 2822 2d7e 2220 2020 2e20 2822 e289 8222 ("-~" . ("..." │ │ │ -00033740: 2929 0a20 2028 227e 3d22 2020 202e 2028 )). ("~=" . ( │ │ │ -00033750: 22e2 8985 2229 2920 2028 227e 3d6e 2220 "...")) ("~=n" │ │ │ -00033760: 2e20 2822 e289 8722 2929 0a20 2028 227e . ("...")). ("~ │ │ │ -00033770: 7e2d 2220 202e 2028 22e2 898a 2229 290a ~-" . ("...")). │ │ │ -00033780: 2020 2822 3d3d 2220 2020 2e20 2822 e289 ("==" . (".. │ │ │ -00033790: a122 2929 2020 2822 3d3d 6e22 202e 2028 .")) ("==n" . ( │ │ │ -000337a0: 22e2 89a2 2229 290a 2020 2822 3d3d 3d22 "...")). ("===" │ │ │ -000337b0: 2020 2e20 2822 e289 a322 2929 0a20 2028 . ("...")). ( │ │ │ -000337c0: 223d 2220 2020 202e 2028 22ef bc9d 2229 "=" . ("...") │ │ │ -000337d0: 290a 2020 2822 2e3d 2220 2020 2e20 2822 ). (".=" . (" │ │ │ -000337e0: e289 9022 2929 2020 2822 2e3d 2e22 202e ...")) (".=." . │ │ │ -000337f0: 2028 22e2 8991 2229 290a 2020 2822 3a3d ("...")). (":= │ │ │ -00033800: 2220 2020 2e20 2822 e289 9422 2929 2020 " . ("...")) │ │ │ -00033810: 2822 3d3a 2220 202e 2028 22e2 8995 2229 ("=:" . ("...") │ │ │ -00033820: 290a 2020 2822 3d6f 2220 2020 2e20 2822 ). ("=o" . (" │ │ │ -00033830: e289 9722 2929 0a20 2028 2228 3d22 2020 ...")). ("(=" │ │ │ -00033840: 202e 2028 22e2 8998 2229 290a 2020 2822 . ("...")). (" │ │ │ -00033850: 616e 643d 2220 2e20 2822 e289 9922 2929 and=" . ("...")) │ │ │ -00033860: 2020 2822 6f72 3d22 202e 2028 22e2 899a ("or=" . ("... │ │ │ -00033870: 2229 290a 2020 2822 2a3d 2220 2020 2e20 ")). ("*=" . │ │ │ -00033880: 2822 e289 9b22 2929 0a20 2028 2274 3d22 ("...")). ("t=" │ │ │ -00033890: 2020 202e 2028 22e2 899c 2229 290a 2020 . ("...")). │ │ │ -000338a0: 2822 6465 663d 2220 2e20 2822 e289 9d22 ("def=" . ("..." │ │ │ -000338b0: 2929 0a20 2028 226d 3d22 2020 202e 2028 )). ("m=" . ( │ │ │ -000338c0: 22e2 899e 2229 290a 2020 2822 3f3d 2220 "...")). ("?=" │ │ │ -000338d0: 2020 2e20 2822 e289 9f22 2929 0a0a 2020 . ("...")).. │ │ │ -000338e0: 3b3b 2049 6e65 7175 616c 6974 7920 616e ;; Inequality an │ │ │ -000338f0: 6420 7369 6d69 6c61 7220 7379 6d62 6f6c d similar symbol │ │ │ -00033900: 732e 0a0a 2020 2822 6c65 7122 2020 2e20 s... ("leq" . │ │ │ -00033910: 2c28 6167 6461 2d69 6e70 7574 2d74 6f2d ,(agda-input-to- │ │ │ -00033920: 7374 7269 6e67 2d6c 6973 7420 223c e289 string-list "<.. │ │ │ -00033930: aae2 8b98 e289 a4e2 89a6 e289 b220 e289 ............. .. │ │ │ -00033940: b6e2 89ba e289 bce2 89be e28a 82e2 8a86 ................ │ │ │ -00033950: e2ab 87e2 ab89 20e2 8b90 e28a 8fe2 8a91 ...... ......... │ │ │ -00033960: 20e2 8ab0 e28a b2e2 8ab4 e28b 96e2 8b9a ............... │ │ │ -00033970: e28b 9ce2 8b9e efbc 9c22 2929 0a20 2028 .........")). ( │ │ │ -00033980: 226c 6571 6e22 202e 202c 2861 6764 612d "leqn" . ,(agda- │ │ │ -00033990: 696e 7075 742d 746f 2d73 7472 696e 672d input-to-string- │ │ │ -000339a0: 6c69 7374 2022 e289 ae20 20e2 89b0 e289 list "... ..... │ │ │ -000339b0: a8e2 89b4 e28b a6e2 89b8 e28a 8020 e28b ............. .. │ │ │ -000339c0: a8e2 8a84 e28a 88e2 8a8a 2020 e28b a2e2 .......... .... │ │ │ -000339d0: 8ba4 20e2 8baa e28b ac20 2020 e28b a022 .. ...... ..." │ │ │ -000339e0: 2929 0a20 2028 2267 6571 2220 202e 202c )). ("geq" . , │ │ │ -000339f0: 2861 6764 612d 696e 7075 742d 746f 2d73 (agda-input-to-s │ │ │ -00033a00: 7472 696e 672d 6c69 7374 2022 3ee2 89ab tring-list ">... │ │ │ -00033a10: e28b 99e2 89a5 e289 a7e2 89b3 20e2 89b7 ............ ... │ │ │ -00033a20: e289 bbe2 89bd e289 bfe2 8a83 e28a 87e2 ................ │ │ │ -00033a30: ab88 e2ab 8a20 e28b 91e2 8a90 e28a 9220 ..... ......... │ │ │ -00033a40: e28a b1e2 8ab3 e28a b5e2 8b97 e28b 9be2 ................ │ │ │ -00033a50: 8b9d e28b 9fef bc9e 2229 290a 2020 2822 ........")). (" │ │ │ -00033a60: 6765 716e 2220 2e20 2c28 6167 6461 2d69 geqn" . ,(agda-i │ │ │ -00033a70: 6e70 7574 2d74 6f2d 7374 7269 6e67 2d6c nput-to-string-l │ │ │ -00033a80: 6973 7420 22e2 89af 2020 e289 b1e2 89a9 ist "... ...... │ │ │ -00033a90: e289 b5e2 8ba7 e289 b9e2 8a81 20e2 8ba9 ............ ... │ │ │ -00033aa0: e28a 85e2 8a89 e28a 8b20 20e2 8ba3 e28b ......... ..... │ │ │ -00033ab0: a520 e28b abe2 8bad 2020 20e2 8ba1 2229 . ...... ...") │ │ │ -00033ac0: 290a 0a20 2028 223c 3d22 2020 202e 2028 ).. ("<=" . ( │ │ │ -00033ad0: 22e2 89a4 2229 2920 2028 223e 3d22 2020 "...")) (">=" │ │ │ -00033ae0: 202e 2028 22e2 89a5 2229 290a 2020 2822 . ("...")). (" │ │ │ -00033af0: 3c3d 6e22 2020 2e20 2822 e289 b022 2929 <=n" . ("...")) │ │ │ -00033b00: 2020 2822 3e3d 6e22 2020 2e20 2822 e289 (">=n" . (".. │ │ │ -00033b10: b122 2929 0a20 2028 226c 656e 2220 202e .")). ("len" . │ │ │ -00033b20: 2028 22e2 89b0 2229 2920 2028 2267 656e ("...")) ("gen │ │ │ -00033b30: 2220 202e 2028 22e2 89b1 2229 290a 2020 " . ("...")). │ │ │ -00033b40: 2822 3c6e 2220 2020 2e20 2822 e289 ae22 ("n" . (" │ │ │ -00033b60: e289 af22 2929 0a20 2028 223c 7e22 2020 ...")). ("<~" │ │ │ -00033b70: 202e 2028 22e2 89b2 2229 2920 2028 223e . ("...")) ("> │ │ │ -00033b80: 7e22 2020 202e 2028 22e2 89b3 2229 290a ~" . ("...")). │ │ │ -00033b90: 2020 2822 3c7e 6e22 2020 2e20 2822 e28b ("<~n" . (".. │ │ │ -00033ba0: a622 2929 2020 2822 3e7e 6e22 2020 2e20 .")) (">~n" . │ │ │ -00033bb0: 2822 e28b a722 2929 0a20 2028 223c 7e6e ("...")). ("<~n │ │ │ -00033bc0: 6e22 202e 2028 22e2 89b4 2229 2920 2028 n" . ("...")) ( │ │ │ -00033bd0: 223e 7e6e 6e22 202e 2028 22e2 89b5 2229 ">~nn" . ("...") │ │ │ -00033be0: 290a 0a20 2028 2273 7562 2220 2020 2e20 ).. ("sub" . │ │ │ -00033bf0: 2822 e28a 8222 2929 2020 2822 7375 7022 ("...")) ("sup" │ │ │ -00033c00: 2020 202e 2028 22e2 8a83 2229 290a 2020 . ("...")). │ │ │ -00033c10: 2822 7375 626e 2220 202e 2028 22e2 8a84 ("subn" . ("... │ │ │ -00033c20: 2229 2920 2028 2273 7570 6e22 2020 2e20 ")) ("supn" . │ │ │ -00033c30: 2822 e28a 8522 2929 0a20 2028 2273 7562 ("...")). ("sub │ │ │ -00033c40: 3d22 2020 2e20 2822 e28a 8622 2929 2020 =" . ("...")) │ │ │ -00033c50: 2822 7375 703d 2220 202e 2028 22e2 8a87 ("sup=" . ("... │ │ │ -00033c60: 2229 290a 2020 2822 7375 623d 6e22 202e ")). ("sub=n" . │ │ │ -00033c70: 2028 22e2 8a88 2229 2920 2028 2273 7570 ("...")) ("sup │ │ │ -00033c80: 3d6e 2220 2e20 2822 e28a 8922 2929 0a20 =n" . ("...")). │ │ │ -00033c90: 2028 2273 7562 7e22 2020 2e20 2822 e2ab ("sub~" . (".. │ │ │ -00033ca0: 8722 2929 2020 2822 7375 707e 2220 202e .")) ("sup~" . │ │ │ -00033cb0: 2028 22e2 ab88 2229 290a 2020 2822 7375 ("...")). ("su │ │ │ -00033cc0: 627e 7e22 2020 2e20 2822 e2ab 8922 2929 b~~" . ("...")) │ │ │ -00033cd0: 2020 2822 7375 707e 7e22 2020 2e20 2822 ("sup~~" . (" │ │ │ -00033ce0: e2ab 8a22 2929 0a0a 2020 2822 7371 7562 ...")).. ("squb │ │ │ -00033cf0: 2220 2020 2e20 2822 e28a 8f22 2929 2020 " . ("...")) │ │ │ -00033d00: 2822 7371 7570 2220 2020 2e20 2822 e28a ("squp" . (".. │ │ │ -00033d10: 9022 2929 0a20 2028 2273 7175 623d 2220 .")). ("squb=" │ │ │ -00033d20: 202e 2028 22e2 8a91 2229 2920 2028 2273 . ("...")) ("s │ │ │ -00033d30: 7175 703d 2220 202e 2028 22e2 8a92 2229 qup=" . ("...") │ │ │ -00033d40: 290a 2020 2822 7371 7562 3d6e 2220 2e20 ). ("squb=n" . │ │ │ -00033d50: 2822 e28b a222 2929 2020 2822 7371 7570 ("...")) ("squp │ │ │ -00033d60: 3d6e 2220 2e20 2822 e28b a322 2929 0a0a =n" . ("...")).. │ │ │ -00033d70: 2020 3b3b 2053 6574 206d 656d 6265 7273 ;; Set members │ │ │ -00033d80: 6869 7020 6574 632e 0a0a 2020 2822 6d65 hip etc... ("me │ │ │ -00033d90: 6d62 6572 2220 2e20 2c28 6167 6461 2d69 mber" . ,(agda-i │ │ │ -00033da0: 6e70 7574 2d74 6f2d 7374 7269 6e67 2d6c nput-to-string-l │ │ │ -00033db0: 6973 7420 22e2 8888 e288 89e2 888a e288 ist "........... │ │ │ -00033dc0: 8be2 888c e288 8de2 8bb2 e28b b3e2 8bb4 ................ │ │ │ -00033dd0: e28b b5e2 8bb6 e28b b7e2 8bb8 e28b b9e2 ................ │ │ │ -00033de0: 8bba e28b bbe2 8bbc e28b bde2 8bbe e28b ................ │ │ │ -00033df0: bf22 2929 0a0a 2020 2822 696e 6e22 202e .")).. ("inn" . │ │ │ -00033e00: 2028 22e2 8889 2229 290a 2020 2822 6e69 ("...")). ("ni │ │ │ -00033e10: 6e22 202e 2028 22e2 888c 2229 290a 0a20 n" . ("...")).. │ │ │ -00033e20: 203b 3b20 496e 7465 7273 6563 7469 6f6e ;; Intersection │ │ │ -00033e30: 732c 2075 6e69 6f6e 7320 6574 632e 0a0a s, unions etc... │ │ │ -00033e40: 2020 2822 696e 7465 7273 6563 7469 6f6e ("intersection │ │ │ -00033e50: 2220 2e20 2c28 6167 6461 2d69 6e70 7574 " . ,(agda-input │ │ │ -00033e60: 2d74 6f2d 7374 7269 6e67 2d6c 6973 7420 -to-string-list │ │ │ -00033e70: 22e2 88a9 e28b 82e2 88a7 e28b 80e2 8b8f "............... │ │ │ -00033e80: e2a8 87e2 8a93 e2a8 85e2 8b92 e288 8f20 ............... │ │ │ -00033e90: e28a bc20 2020 2020 20e2 a889 2229 290a ... ...")). │ │ │ -00033ea0: 2020 2822 756e 696f 6e22 2020 2020 2020 ("union" │ │ │ -00033eb0: 2020 2e20 2c28 6167 6461 2d69 6e70 7574 . ,(agda-input │ │ │ -00033ec0: 2d74 6f2d 7374 7269 6e67 2d6c 6973 7420 -to-string-list │ │ │ -00033ed0: 22e2 88aa e28b 83e2 88a8 e28b 81e2 8b8e "............... │ │ │ -00033ee0: e2a8 88e2 8a94 e2a8 86e2 8b93 e288 90e2 ................ │ │ │ -00033ef0: a8bf e28a bde2 8abb e28a 8de2 a883 e28a ................ │ │ │ -00033f00: 8ee2 a884 e28a 8ce2 8891 e285 8022 2929 .............")) │ │ │ -00033f10: 0a0a 2020 2822 616e 6422 202e 2028 22e2 .. ("and" . (". │ │ │ -00033f20: 88a7 2229 2920 2028 226f 7222 2020 2e20 ..")) ("or" . │ │ │ -00033f30: 2822 e288 a822 2929 0a20 2028 2241 6e64 ("...")). ("And │ │ │ -00033f40: 2220 2e20 2822 e28b 8022 2929 2020 2822 " . ("...")) (" │ │ │ -00033f50: 4f72 2220 202e 2028 22e2 8b81 2229 290a Or" . ("...")). │ │ │ -00033f60: 2020 2822 6922 2020 202e 2028 22e2 88a9 ("i" . ("... │ │ │ -00033f70: 2229 2920 2028 2275 6e22 2020 2e20 2822 ")) ("un" . (" │ │ │ -00033f80: e288 aa22 2929 2020 2822 752b 2220 2e20 ...")) ("u+" . │ │ │ -00033f90: 2822 e28a 8e22 2929 2020 2822 752e 2220 ("...")) ("u." │ │ │ -00033fa0: 2e20 2822 e28a 8d22 2929 0a20 2028 2249 . ("...")). ("I │ │ │ -00033fb0: 2220 2020 2e20 2822 e28b 8222 2929 2020 " . ("...")) │ │ │ -00033fc0: 2822 556e 2220 202e 2028 22e2 8b83 2229 ("Un" . ("...") │ │ │ -00033fd0: 2920 2028 2255 2b22 202e 2028 22e2 a884 ) ("U+" . ("... │ │ │ -00033fe0: 2229 2920 2028 2255 2e22 202e 2028 22e2 ")) ("U." . (". │ │ │ -00033ff0: a883 2229 290a 2020 2822 676c 6222 202e ..")). ("glb" . │ │ │ -00034000: 2028 22e2 8a93 2229 2920 2028 226c 7562 ("...")) ("lub │ │ │ -00034010: 2220 2e20 2822 e28a 9422 2929 0a20 2028 " . ("...")). ( │ │ │ -00034020: 2247 6c62 2220 2e20 2822 e2a8 8522 2929 "Glb" . ("...")) │ │ │ -00034030: 2020 2822 4c75 6222 202e 2028 22e2 a886 ("Lub" . ("... │ │ │ -00034040: 2229 290a 0a20 203b 3b20 456e 7461 696c ")).. ;; Entail │ │ │ -00034050: 6d65 6e74 2c20 7461 636b 732c 2065 7463 ment, tacks, etc │ │ │ -00034060: 2e0a 0a20 2028 2265 6e74 6169 6c73 2220 ... ("entails" │ │ │ -00034070: 2e20 2c28 6167 6461 2d69 6e70 7574 2d74 . ,(agda-input-t │ │ │ -00034080: 6f2d 7374 7269 6e67 2d6c 6973 7420 22e2 o-string-list ". │ │ │ -00034090: 8aa2 e28a a3e2 8aa4 e28a a5e2 8aa6 e28a ................ │ │ │ -000340a0: a7e2 8aa8 e28a a9e2 8aaa e28a abe2 8aac ................ │ │ │ -000340b0: e28a ade2 8aae e28a af22 2929 0a0a 2020 .........")).. │ │ │ -000340c0: 2822 7c2d 2220 2020 2e20 2822 e28a a222 ("|-" . ("..." │ │ │ -000340d0: 2929 2020 2822 7c2d 6e22 2020 2e20 2822 )) ("|-n" . (" │ │ │ -000340e0: e28a ac22 2929 0a20 2028 222d 7c22 2020 ...")). ("-|" │ │ │ -000340f0: 202e 2028 22e2 8aa3 2229 290a 2020 2822 . ("...")). (" │ │ │ -00034100: 7c3d 2220 2020 2e20 2822 e28a a822 2929 |=" . ("...")) │ │ │ -00034110: 2020 2822 7c3d 6e22 2020 2e20 2822 e28a ("|=n" . (".. │ │ │ -00034120: ad22 2929 0a20 2028 227c 7c2d 2220 202e .")). ("||-" . │ │ │ -00034130: 2028 22e2 8aa9 2229 2920 2028 227c 7c2d ("...")) ("||- │ │ │ -00034140: 6e22 202e 2028 22e2 8aae 2229 290a 2020 n" . ("...")). │ │ │ -00034150: 2822 7c7c 3d22 2020 2e20 2822 e28a ab22 ("||=" . ("..." │ │ │ -00034160: 2929 2020 2822 7c7c 3d6e 2220 2e20 2822 )) ("||=n" . (" │ │ │ -00034170: e28a af22 2929 0a20 2028 227c 7c7c 2d22 ...")). ("|||-" │ │ │ -00034180: 202e 2028 22e2 8aaa 2229 290a 0a0a 2020 . ("..."))... │ │ │ -00034190: 2822 7461 636b 2220 2e20 2c28 6167 6461 ("tack" . ,(agda │ │ │ -000341a0: 2d69 6e70 7574 2d74 6f2d 7374 7269 6e67 -input-to-string │ │ │ -000341b0: 2d6c 6973 7420 22e2 9f98 e29f 99e2 9f9b -list "......... │ │ │ -000341c0: e29f 9de2 9f9e e2ab abe2 abaa 2229 290a ............")). │ │ │ -000341d0: 2020 2822 426f 7422 2020 2e20 2822 e29f ("Bot" . (".. │ │ │ -000341e0: 9822 2929 203b 3b20 7369 6d69 6c61 7220 .")) ;; similar │ │ │ -000341f0: 746f 2047 6c62 2f4c 7562 2076 732e 2067 to Glb/Lub vs. g │ │ │ -00034200: 6c62 2f6c 7562 0a20 2028 2254 6f70 2220 lb/lub. ("Top" │ │ │ -00034210: 202e 2028 22e2 9f99 2229 290a 2020 2822 . ("...")). (" │ │ │ -00034220: 2d7c 7c2d 2220 2e20 2822 e29f 9b22 2929 -||-" . ("...")) │ │ │ -00034230: 0a20 2028 227c 2d2d 2220 202e 2028 22e2 . ("|--" . (". │ │ │ -00034240: 9f9d 2229 290a 2020 2822 2d2d 7c22 2020 ..")). ("--|" │ │ │ -00034250: 2e20 2822 e29f 9e22 2929 0a20 2028 2262 . ("...")). ("b │ │ │ -00034260: 626f 7422 202e 2028 22e2 abab 2229 2920 bot" . ("...")) │ │ │ -00034270: 3b3b 2073 696d 696c 6172 2074 6f20 624e ;; similar to bN │ │ │ -00034280: 2066 6f72 2062 6c61 636b 626f 6172 6420 for blackboard │ │ │ -00034290: 4e0a 2020 2822 6274 6f70 2220 2e20 2822 N. ("btop" . (" │ │ │ -000342a0: e2ab aa22 2929 0a0a 2020 3b3b 2044 6976 ...")).. ;; Div │ │ │ -000342b0: 6973 6962 696c 6974 792c 2070 6172 616c isibility, paral │ │ │ -000342c0: 6c65 6c69 7479 2e0a 0a20 2028 227c 2220 lelity... ("|" │ │ │ -000342d0: 202e 2028 22e2 88a3 2229 2920 2028 227c . ("...")) ("| │ │ │ -000342e0: 6e22 2020 2e20 2822 e288 a422 2929 0a20 n" . ("...")). │ │ │ -000342f0: 2028 227c 7c22 202e 2028 22e2 88a5 2229 ("||" . ("...") │ │ │ -00034300: 2920 2028 227c 7c6e 2220 2e20 2822 e288 ) ("||n" . (".. │ │ │ -00034310: a622 2929 0a0a 2020 3b3b 2053 6f6d 6520 .")).. ;; Some │ │ │ -00034320: 7379 6d62 6f6c 7320 6672 6f6d 206c 6f67 symbols from log │ │ │ -00034330: 6963 2061 6e64 2073 6574 2074 6865 6f72 ic and set theor │ │ │ -00034340: 792e 0a0a 2020 2822 616c 6c22 202e 2028 y... ("all" . ( │ │ │ -00034350: 22e2 8880 2229 290a 2020 2822 6578 2220 "...")). ("ex" │ │ │ -00034360: 202e 2028 22e2 8883 2229 290a 2020 2822 . ("...")). (" │ │ │ -00034370: 6578 6e22 202e 2028 22e2 8884 2229 290a exn" . ("...")). │ │ │ -00034380: 2020 2822 3022 2020 202e 2028 22e2 8885 ("0" . ("... │ │ │ -00034390: 2229 290a 2020 2822 4322 2020 202e 2028 ")). ("C" . ( │ │ │ -000343a0: 22e2 8881 2229 290a 2020 2822 7569 6e22 "...")). ("uin" │ │ │ -000343b0: 2020 2020 2e20 2822 e29f 9222 2929 0a20 . ("...")). │ │ │ -000343c0: 2028 2264 696e 2220 2020 202e 2028 22e2 ("din" . (". │ │ │ -000343d0: ab99 2229 290a 0a20 203b 3b20 436f 726e ..")).. ;; Corn │ │ │ -000343e0: 6572 732c 2063 6569 6c69 6e67 7320 616e ers, ceilings an │ │ │ -000343f0: 6420 666c 6f6f 7273 2e0a 0a20 2028 2263 d floors... ("c │ │ │ -00034400: 2220 202e 202c 2861 6764 612d 696e 7075 " . ,(agda-inpu │ │ │ -00034410: 742d 746f 2d73 7472 696e 672d 6c69 7374 t-to-string-list │ │ │ -00034420: 2022 e28c 9ce2 8c9d e28c 9ee2 8c9f e28c ".............. │ │ │ -00034430: 88e2 8c89 e28c 8ae2 8c8b 2229 290a 2020 ..........")). │ │ │ -00034440: 2822 6375 2220 2e20 2c28 6167 6461 2d69 ("cu" . ,(agda-i │ │ │ -00034450: 6e70 7574 2d74 6f2d 7374 7269 6e67 2d6c nput-to-string-l │ │ │ -00034460: 6973 7420 22e2 8c9c e28c 9d20 20e2 8c88 ist "...... ... │ │ │ -00034470: e28c 8920 2022 2929 0a20 2028 2263 6c22 ... ")). ("cl" │ │ │ -00034480: 202e 202c 2861 6764 612d 696e 7075 742d . ,(agda-input- │ │ │ -00034490: 746f 2d73 7472 696e 672d 6c69 7374 2022 to-string-list " │ │ │ -000344a0: 2020 e28c 9ee2 8c9f 2020 e28c 8ae2 8c8b ...... ...... │ │ │ -000344b0: 2229 290a 0a20 2028 2263 756c 2220 2e20 ")).. ("cul" . │ │ │ -000344c0: 2822 e28c 9c22 2929 2020 2822 6375 4c22 ("...")) ("cuL" │ │ │ -000344d0: 202e 2028 22e2 8c88 2229 290a 2020 2822 . ("...")). (" │ │ │ -000344e0: 6375 7222 202e 2028 22e2 8c9d 2229 2920 cur" . ("...")) │ │ │ -000344f0: 2028 2263 7552 2220 2e20 2822 e28c 8922 ("cuR" . ("..." │ │ │ -00034500: 2929 0a20 2028 2263 6c6c 2220 2e20 2822 )). ("cll" . (" │ │ │ -00034510: e28c 9e22 2929 2020 2822 636c 4c22 202e ...")) ("clL" . │ │ │ -00034520: 2028 22e2 8c8a 2229 290a 2020 2822 636c ("...")). ("cl │ │ │ -00034530: 7222 202e 2028 22e2 8c9f 2229 2920 2028 r" . ("...")) ( │ │ │ -00034540: 2263 6c52 2220 2e20 2822 e28c 8b22 2929 "clR" . ("...")) │ │ │ -00034550: 0a0a 2020 3b3b 2056 6172 696f 7573 206f .. ;; Various o │ │ │ -00034560: 7065 7261 746f 7273 2f73 796d 626f 6c73 perators/symbols │ │ │ -00034570: 2e0a 0a20 2028 2271 6564 2220 2020 2020 ... ("qed" │ │ │ -00034580: 2020 2e20 2822 e288 8e22 2929 0a20 2028 . ("...")). ( │ │ │ -00034590: 2278 2220 2020 2020 2020 2020 2e20 2822 "x" . (" │ │ │ -000345a0: c397 2229 290a 2020 2822 6f22 2020 2020 ..")). ("o" │ │ │ -000345b0: 2020 2020 202e 2028 22e2 8898 2229 290a . ("...")). │ │ │ -000345c0: 2020 2822 636f 6d70 2220 2020 2020 202e ("comp" . │ │ │ -000345d0: 2028 22e2 8898 2229 290a 2020 2822 2e22 ("...")). ("." │ │ │ -000345e0: 2020 2020 2020 2020 202e 202c 2861 6764 . ,(agd │ │ │ -000345f0: 612d 696e 7075 742d 746f 2d73 7472 696e a-input-to-strin │ │ │ -00034600: 672d 6c69 7374 2022 e288 99ef bc8e 2229 g-list "......") │ │ │ -00034610: 290a 2020 2822 2a22 2020 2020 2020 2020 ). ("*" │ │ │ -00034620: 202e 2028 22e2 8b86 2229 290a 2020 2822 . ("...")). (" │ │ │ -00034630: 2e2b 2220 2020 2020 2020 202e 2028 22e2 .+" . (". │ │ │ -00034640: 8894 2229 290a 2020 2822 2e2d 2220 2020 ..")). (".-" │ │ │ -00034650: 2020 2020 202e 2028 22e2 88b8 2229 290a . ("...")). │ │ │ -00034660: 2020 2822 3a22 2020 2020 2020 2020 202e (":" . │ │ │ -00034670: 202c 2861 6764 612d 696e 7075 742d 746f ,(agda-input-to │ │ │ -00034680: 2d73 7472 696e 672d 6c69 7374 2022 e288 -string-list ".. │ │ │ -00034690: b6e2 a682 cb90 ea9e 89cb b8e1 8da5 e18d ................ │ │ │ -000346a0: a6ef bc9a efb9 95ef b893 2229 290a 2020 ..........")). │ │ │ -000346b0: 2822 2c22 2020 2020 2020 2020 202e 202c ("," . , │ │ │ -000346c0: 2861 6764 612d 696e 7075 742d 746f 2d73 (agda-input-to-s │ │ │ -000346d0: 7472 696e 672d 6c69 7374 2022 cabb d88c tring-list ".... │ │ │ -000346e0: e2b8 b2e2 b8b4 e2b9 81e2 b989 e380 81ef ................ │ │ │ -000346f0: b890 efb8 91ef b990 efb9 91ef bc8c efbd ................ │ │ │ -00034700: a422 2929 0a20 2028 223b 2220 2020 2020 .")). (";" │ │ │ -00034710: 2020 2020 2e20 2c28 6167 6461 2d69 6e70 . ,(agda-inp │ │ │ -00034720: 7574 2d74 6f2d 7374 7269 6e67 2d6c 6973 ut-to-string-lis │ │ │ -00034730: 7420 22e2 a8be e2a8 9fe2 818f e18d a4ea t "............. │ │ │ -00034740: 9bb6 efbc 9bef b894 efb9 94e2 8dae e2b8 ................ │ │ │ -00034750: b5cd be22 2929 0a20 2028 222b 2b22 2020 ...")). ("++" │ │ │ -00034760: 2020 2020 2020 2e20 2822 e2a7 ba22 2929 . ("...")) │ │ │ -00034770: 0a20 2028 223a 3a22 2020 2020 2020 2020 . ("::" │ │ │ -00034780: 2e20 2822 e288 b722 2929 0a20 2028 223a . ("...")). (": │ │ │ -00034790: 3a2d 2220 2020 2020 2020 2e20 2822 e288 :-" . (".. │ │ │ -000347a0: ba22 2929 0a20 2028 222d 3a22 2020 2020 .")). ("-:" │ │ │ -000347b0: 2020 2020 2e20 2822 e288 b922 2929 0a20 . ("...")). │ │ │ -000347c0: 2028 222b 2022 2020 2020 2020 2020 2e20 ("+ " . │ │ │ -000347d0: 2822 e28a b922 2929 0a20 2028 222b 2220 ("...")). ("+" │ │ │ -000347e0: 2020 2020 2020 2020 2e20 2822 efbc 8b22 . ("..." │ │ │ -000347f0: 2929 0a20 2028 2273 7172 7422 2020 2020 )). ("sqrt" │ │ │ -00034800: 2020 2e20 2822 e288 9a22 2929 0a20 2028 . ("...")). ( │ │ │ -00034810: 2273 7572 6422 2020 2020 2020 2e20 2822 "surd" . (" │ │ │ -00034820: e288 9a22 2929 0a20 2028 2273 7572 6433 ...")). ("surd3 │ │ │ -00034830: 2220 2020 2020 2e20 2822 e288 9b22 2929 " . ("...")) │ │ │ -00034840: 0a20 2028 2273 7572 6434 2220 2020 2020 . ("surd4" │ │ │ -00034850: 2e20 2822 e288 9c22 2929 0a20 2028 2269 . ("...")). ("i │ │ │ -00034860: 6e63 7265 6d65 6e74 2220 2e20 2822 e288 ncrement" . (".. │ │ │ -00034870: 8622 2929 0a20 2028 2269 6e66 2220 2020 .")). ("inf" │ │ │ -00034880: 2020 2020 2e20 2822 e288 9e22 2929 0a20 . ("...")). │ │ │ -00034890: 2028 2226 2220 2020 2020 2020 2020 2e20 ("&" . │ │ │ -000348a0: 2c28 6167 6461 2d69 6e70 7574 2d74 6f2d ,(agda-input-to- │ │ │ -000348b0: 7374 7269 6e67 2d6c 6973 7420 22e2 858b string-list "... │ │ │ -000348c0: efb9 a0ef bc86 2229 290a 2020 2822 7a3b ......")). ("z; │ │ │ -000348d0: 2220 2020 2020 2020 202e 202c 2861 6764 " . ,(agd │ │ │ -000348e0: 612d 696e 7075 742d 746f 2d73 7472 696e a-input-to-strin │ │ │ -000348f0: 672d 6c69 7374 2022 e2a8 9fe2 a8be 2229 g-list "......") │ │ │ -00034900: 290a 2020 2822 7a3a 2220 2020 2020 2020 ). ("z:" │ │ │ -00034910: 202e 2028 22e2 a682 2229 290a 2020 2822 . ("...")). (" │ │ │ -00034920: 6174 2220 2020 2020 2020 202e 202c 2861 at" . ,(a │ │ │ -00034930: 6764 612d 696e 7075 742d 746f 2d73 7472 gda-input-to-str │ │ │ -00034940: 696e 672d 6c69 7374 2022 40ef b9ab efbc ing-list "@..... │ │ │ -00034950: a022 2929 0a0a 2020 3b3b 2043 6972 636c .")).. ;; Circl │ │ │ -00034960: 6564 206f 7065 7261 746f 7273 2e0a 0a20 ed operators... │ │ │ -00034970: 2028 226f 2b22 2020 2e20 2822 e28a 9522 ("o+" . ("..." │ │ │ -00034980: 2929 0a20 2028 226f 2d2d 2220 2e20 2822 )). ("o--" . (" │ │ │ -00034990: e28a 9622 2929 0a20 2028 226f 7822 2020 ...")). ("ox" │ │ │ -000349a0: 2e20 2822 e28a 9722 2929 0a20 2028 226f . ("...")). ("o │ │ │ -000349b0: 2f22 2020 2e20 2822 e28a 9822 2929 0a20 /" . ("...")). │ │ │ -000349c0: 2028 226f 2e22 2020 2e20 2822 e28a 9922 ("o." . ("..." │ │ │ -000349d0: 2929 0a20 2028 226f 6f22 2020 2e20 2822 )). ("oo" . (" │ │ │ -000349e0: e28a 9a22 2929 0a20 2028 226f 2a22 2020 ...")). ("o*" │ │ │ -000349f0: 2e20 2822 e28a 9b22 2929 0a20 2028 226f . ("...")). ("o │ │ │ -00034a00: 3d22 2020 2e20 2822 e28a 9c22 2929 0a20 =" . ("...")). │ │ │ -00034a10: 2028 226f 2d22 2020 2e20 2c28 6167 6461 ("o-" . ,(agda │ │ │ -00034a20: 2d69 6e70 7574 2d74 6f2d 7374 7269 6e67 -input-to-string │ │ │ -00034a30: 2d6c 6973 7420 22e2 8a9d e29f 9c22 2929 -list "......")) │ │ │ -00034a40: 0a0a 2020 2822 4f2b 2220 202e 2028 22e2 .. ("O+" . (". │ │ │ -00034a50: a881 2229 290a 2020 2822 4f78 2220 202e ..")). ("Ox" . │ │ │ -00034a60: 2028 22e2 a882 2229 290a 2020 2822 4f2e ("...")). ("O. │ │ │ -00034a70: 2220 202e 2028 22e2 a880 2229 290a 2020 " . ("...")). │ │ │ -00034a80: 2822 4f2a 2220 202e 2028 22e2 8d9f 2229 ("O*" . ("...") │ │ │ -00034a90: 290a 0a20 203b 3b20 426f 7865 6420 6f70 ).. ;; Boxed op │ │ │ -00034aa0: 6572 6174 6f72 732e 0a0a 2020 2822 622b erators... ("b+ │ │ │ -00034ab0: 2220 202e 2028 22e2 8a9e 2229 290a 2020 " . ("...")). │ │ │ -00034ac0: 2822 622d 2220 202e 2028 22e2 8a9f 2229 ("b-" . ("...") │ │ │ -00034ad0: 290a 2020 2822 6278 2220 202e 2028 22e2 ). ("bx" . (". │ │ │ -00034ae0: 8aa0 2229 290a 2020 2822 622e 2220 202e ..")). ("b." . │ │ │ -00034af0: 2028 22e2 8aa1 2229 290a 0a20 2028 2262 ("...")).. ("b │ │ │ -00034b00: 2f22 2020 2e20 2822 e2a7 8422 2929 0a20 /" . ("...")). │ │ │ -00034b10: 2028 2262 5c5c 2220 2e20 2822 e2a7 8522 ("b\\" . ("..." │ │ │ -00034b20: 2929 0a20 2028 2262 2a22 2020 2e20 2822 )). ("b*" . (" │ │ │ -00034b30: e2a7 8622 2929 0a20 2028 2262 6f22 2020 ...")). ("bo" │ │ │ -00034b40: 2e20 2822 e2a7 8722 2929 0a20 2028 2262 . ("...")). ("b │ │ │ -00034b50: 7371 2220 2e20 2822 e2a7 8822 2929 0a0a sq" . ("...")).. │ │ │ -00034b60: 2020 3b3b 2041 504c 2062 6f78 6564 206f ;; APL boxed o │ │ │ -00034b70: 7065 7261 746f 7273 2e0a 0a20 2028 2262 perators... ("b │ │ │ -00034b80: 6f78 3d22 2020 2020 2020 202e 2028 22e2 ox=" . (". │ │ │ -00034b90: 8cb8 2229 290a 2020 2822 626f 783f 2220 ..")). ("box?" │ │ │ -00034ba0: 2020 2020 2020 2e20 2822 e28d b022 2929 . ("...")) │ │ │ -00034bb0: 0a20 2028 2262 6f78 2722 2020 2020 2020 . ("box'" │ │ │ -00034bc0: 202e 2028 22e2 8d9e 2229 290a 2020 2822 . ("...")). (" │ │ │ -00034bd0: 626f 783a 2220 2020 2020 2020 2e20 2822 box:" . (" │ │ │ -00034be0: e28d a022 2929 0a20 2028 2262 6f78 2f22 ...")). ("box/" │ │ │ -00034bf0: 2020 2020 2020 202e 2028 22e2 8d81 2229 . ("...") │ │ │ -00034c00: 290a 2020 2822 626f 785c 5c22 2020 2020 ). ("box\\" │ │ │ -00034c10: 2020 2e20 2822 e28d 8222 2929 0a20 2028 . ("...")). ( │ │ │ -00034c20: 2262 6f78 3c22 2020 2020 2020 202e 2028 "box<" . ( │ │ │ -00034c30: 22e2 8d83 2229 290a 2020 2822 626f 783e "...")). ("box> │ │ │ -00034c40: 2220 2020 2020 2020 2e20 2822 e28d 8422 " . ("..." │ │ │ -00034c50: 2929 0a20 2028 2262 6f78 6f22 2020 2020 )). ("boxo" │ │ │ -00034c60: 2020 202e 2028 22e2 8cbb 2229 290a 2020 . ("...")). │ │ │ -00034c70: 2822 626f 784f 2220 2020 2020 2020 2e20 ("boxO" . │ │ │ -00034c80: 2822 e28c bc22 2929 0a0a 2020 2822 626f ("...")).. ("bo │ │ │ -00034c90: 7863 6f6d 7022 2020 2020 2e20 2822 e28c xcomp" . (".. │ │ │ -00034ca0: bb22 2929 0a20 2028 2262 6f78 6369 7263 .")). ("boxcirc │ │ │ -00034cb0: 6c65 2220 202e 2028 22e2 8cbc 2229 290a le" . ("...")). │ │ │ -00034cc0: 2020 2822 626f 7865 7122 2020 2020 2020 ("boxeq" │ │ │ -00034cd0: 2e20 2822 e28c b822 2929 0a20 2028 2262 . ("...")). ("b │ │ │ -00034ce0: 6f78 6e65 7122 2020 2020 202e 2028 22e2 oxneq" . (". │ │ │ -00034cf0: 8daf 2229 290a 2020 2822 626f 7865 716e ..")). ("boxeqn │ │ │ -00034d00: 2220 2020 2020 2e20 2822 e28d af22 2929 " . ("...")) │ │ │ -00034d10: 0a0a 2020 2822 626f 786c 2220 2020 2020 .. ("boxl" │ │ │ -00034d20: 2020 2e20 2822 e28d 8722 2929 0a20 2028 . ("...")). ( │ │ │ -00034d30: 2262 6f78 7222 2020 2020 2020 202e 2028 "boxr" . ( │ │ │ -00034d40: 22e2 8d88 2229 290a 2020 2822 626f 7875 "...")). ("boxu │ │ │ -00034d50: 2220 2020 2020 2020 2e20 2822 e28d 9022 " . ("..." │ │ │ -00034d60: 2929 0a20 2028 2262 6f78 6422 2020 2020 )). ("boxd" │ │ │ -00034d70: 2020 202e 2028 22e2 8d97 2229 290a 0a20 . ("...")).. │ │ │ -00034d80: 2028 2262 6f78 6469 2220 2020 2020 202e ("boxdi" . │ │ │ -00034d90: 2028 22e2 8cba 2229 290a 2020 2822 626f ("...")). ("bo │ │ │ -00034da0: 7864 6976 2220 2020 2020 2e20 2822 e28c xdiv" . (".. │ │ │ -00034db0: b922 2929 0a20 2028 2262 6f78 7765 6467 .")). ("boxwedg │ │ │ -00034dc0: 6522 2020 202e 2028 22e2 8d93 2229 290a e" . ("...")). │ │ │ -00034dd0: 2020 2822 626f 7876 6565 2220 2020 2020 ("boxvee" │ │ │ -00034de0: 2e20 2822 e28d 8c22 2929 0a20 2028 2262 . ("...")). ("b │ │ │ -00034df0: 6f78 6465 6c74 6122 2020 202e 2028 22e2 oxdelta" . (". │ │ │ -00034e00: 8d8d 2229 290a 2020 2822 626f 786e 6162 ..")). ("boxnab │ │ │ -00034e10: 6c61 2220 2020 2e20 2822 e28d 9422 2929 la" . ("...")) │ │ │ -00034e20: 0a0a 2020 3b3b 2056 6172 696f 7573 2073 .. ;; Various s │ │ │ -00034e30: 796d 626f 6c73 2e0a 0a20 2028 2269 6e74 ymbols... ("int │ │ │ -00034e40: 6567 7261 6c22 202e 202c 2861 6764 612d egral" . ,(agda- │ │ │ -00034e50: 696e 7075 742d 746f 2d73 7472 696e 672d input-to-string- │ │ │ -00034e60: 6c69 7374 2022 e288 abe2 88ac e288 ade2 list ".......... │ │ │ -00034e70: 88ae e288 afe2 88b0 e288 b1e2 88b2 e288 ................ │ │ │ -00034e80: b322 2929 0a20 2028 2261 6e67 6c65 2220 .")). ("angle" │ │ │ -00034e90: 2020 202e 202c 2861 6764 612d 696e 7075 . ,(agda-inpu │ │ │ -00034ea0: 742d 746f 2d73 7472 696e 672d 6c69 7374 t-to-string-list │ │ │ -00034eb0: 2022 e288 9fe2 88a1 e288 a2e2 8abe e28a ".............. │ │ │ -00034ec0: bf22 2929 0a20 2028 226a 6f69 6e22 2020 .")). ("join" │ │ │ -00034ed0: 2020 202e 202c 2861 6764 612d 696e 7075 . ,(agda-inpu │ │ │ -00034ee0: 742d 746f 2d73 7472 696e 672d 6c69 7374 t-to-string-list │ │ │ -00034ef0: 2022 e28b 88e2 8b89 e28b 8ae2 8b8b e28b ".............. │ │ │ -00034f00: 8ce2 a89d e29f 95e2 9f96 e29f 9722 2929 .............")) │ │ │ -00034f10: 0a20 2028 2265 7368 2220 2020 2020 202e . ("esh" . │ │ │ -00034f20: 2028 22ca 8322 2929 0a0a 2020 3b3b 2041 ("..")).. ;; A │ │ │ -00034f30: 7272 6f77 732e 0a0a 2020 2822 6c22 2020 rrows... ("l" │ │ │ -00034f40: 2e20 2c28 6167 6461 2d69 6e70 7574 2d74 . ,(agda-input-t │ │ │ -00034f50: 6f2d 7374 7269 6e67 2d6c 6973 7420 22e2 o-string-list ". │ │ │ -00034f60: 8690 e287 90e2 879a e2ad 85e2 8787 e287 ................ │ │ │ -00034f70: 86e2 86a4 e287 a6e2 869e e286 bce2 86bd ................ │ │ │ -00034f80: e287 a0e2 87ba e286 9ce2 87bd e29f b5e2 ................ │ │ │ -00034f90: 9fb8 e286 9ae2 878d e287 b720 e286 b920 ........... ... │ │ │ -00034fa0: 2020 2020 e286 a2e2 86a9 e286 abe2 878b ............ │ │ │ -00034fb0: e287 9ce2 87a4 e29f bbe2 9fbd e2a4 86e2 ................ │ │ │ -00034fc0: 86b6 e286 bae2 9fb2 2020 2020 2020 2020 ........ │ │ │ +000336a0: 2020 2028 227e 6e22 2020 2e20 2822 e289 ("~n" . (".. │ │ │ +000336b0: 8122 2929 0a20 2028 227e 7e22 2020 202e .")). ("~~" . │ │ │ +000336c0: 2028 22e2 8988 2229 2920 2028 227e 7e6e ("...")) ("~~n │ │ │ +000336d0: 2220 2e20 2822 e289 8922 2929 0a20 2028 " . ("...")). ( │ │ │ +000336e0: 227e 7e7e 2220 202e 2028 22e2 898b 2229 "~~~" . ("...") │ │ │ +000336f0: 290a 2020 2822 3a7e 2220 2020 2e20 2822 ). (":~" . (" │ │ │ +00033700: e288 bb22 2929 0a20 2028 227e 2d22 2020 ...")). ("~-" │ │ │ +00033710: 202e 2028 22e2 8983 2229 2920 2028 227e . ("...")) ("~ │ │ │ +00033720: 2d6e 2220 2e20 2822 e289 8422 2929 0a20 -n" . ("...")). │ │ │ +00033730: 2028 222d 7e22 2020 202e 2028 22e2 8982 ("-~" . ("... │ │ │ +00033740: 2229 290a 2020 2822 7e3d 2220 2020 2e20 ")). ("~=" . │ │ │ +00033750: 2822 e289 8522 2929 2020 2822 7e3d 6e22 ("...")) ("~=n" │ │ │ +00033760: 202e 2028 22e2 8987 2229 290a 2020 2822 . ("...")). (" │ │ │ +00033770: 7e7e 2d22 2020 2e20 2822 e289 8a22 2929 ~~-" . ("...")) │ │ │ +00033780: 0a20 2028 223d 3d22 2020 202e 2028 22e2 . ("==" . (". │ │ │ +00033790: 89a1 2229 2920 2028 223d 3d6e 2220 2e20 ..")) ("==n" . │ │ │ +000337a0: 2822 e289 a222 2929 0a20 2028 223d 3d3d ("...")). ("=== │ │ │ +000337b0: 2220 202e 2028 22e2 89a3 2229 290a 2020 " . ("...")). │ │ │ +000337c0: 2822 3d22 2020 2020 2e20 2822 efbc 9d22 ("=" . ("..." │ │ │ +000337d0: 2929 0a20 2028 222e 3d22 2020 202e 2028 )). (".=" . ( │ │ │ +000337e0: 22e2 8990 2229 2920 2028 222e 3d2e 2220 "...")) (".=." │ │ │ +000337f0: 2e20 2822 e289 9122 2929 0a20 2028 223a . ("...")). (": │ │ │ +00033800: 3d22 2020 202e 2028 22e2 8994 2229 2920 =" . ("...")) │ │ │ +00033810: 2028 223d 3a22 2020 2e20 2822 e289 9522 ("=:" . ("..." │ │ │ +00033820: 2929 0a20 2028 223d 6f22 2020 202e 2028 )). ("=o" . ( │ │ │ +00033830: 22e2 8997 2229 290a 2020 2822 283d 2220 "...")). ("(=" │ │ │ +00033840: 2020 2e20 2822 e289 9822 2929 0a20 2028 . ("...")). ( │ │ │ +00033850: 2261 6e64 3d22 202e 2028 22e2 8999 2229 "and=" . ("...") │ │ │ +00033860: 2920 2028 226f 723d 2220 2e20 2822 e289 ) ("or=" . (".. │ │ │ +00033870: 9a22 2929 0a20 2028 222a 3d22 2020 202e .")). ("*=" . │ │ │ +00033880: 2028 22e2 899b 2229 290a 2020 2822 743d ("...")). ("t= │ │ │ +00033890: 2220 2020 2e20 2822 e289 9c22 2929 0a20 " . ("...")). │ │ │ +000338a0: 2028 2264 6566 3d22 202e 2028 22e2 899d ("def=" . ("... │ │ │ +000338b0: 2229 290a 2020 2822 6d3d 2220 2020 2e20 ")). ("m=" . │ │ │ +000338c0: 2822 e289 9e22 2929 0a20 2028 223f 3d22 ("...")). ("?=" │ │ │ +000338d0: 2020 202e 2028 22e2 899f 2229 290a 0a20 . ("...")).. │ │ │ +000338e0: 203b 3b20 496e 6571 7561 6c69 7479 2061 ;; Inequality a │ │ │ +000338f0: 6e64 2073 696d 696c 6172 2073 796d 626f nd similar symbo │ │ │ +00033900: 6c73 2e0a 0a20 2028 226c 6571 2220 202e ls... ("leq" . │ │ │ +00033910: 202c 2861 6764 612d 696e 7075 742d 746f ,(agda-input-to │ │ │ +00033920: 2d73 7472 696e 672d 6c69 7374 2022 3ce2 -string-list "<. │ │ │ +00033930: 89aa e28b 98e2 89a4 e289 a6e2 89b2 20e2 .............. . │ │ │ +00033940: 89b6 e289 bae2 89bc e289 bee2 8a82 e28a ................ │ │ │ +00033950: 86e2 ab87 e2ab 8920 e28b 90e2 8a8f e28a ....... ........ │ │ │ +00033960: 9120 e28a b0e2 8ab2 e28a b4e2 8b96 e28b . .............. │ │ │ +00033970: 9ae2 8b9c e28b 9eef bc9c 2229 290a 2020 ..........")). │ │ │ +00033980: 2822 6c65 716e 2220 2e20 2c28 6167 6461 ("leqn" . ,(agda │ │ │ +00033990: 2d69 6e70 7574 2d74 6f2d 7374 7269 6e67 -input-to-string │ │ │ +000339a0: 2d6c 6973 7420 22e2 89ae 2020 e289 b0e2 -list "... .... │ │ │ +000339b0: 89a8 e289 b4e2 8ba6 e289 b8e2 8a80 20e2 .............. . │ │ │ +000339c0: 8ba8 e28a 84e2 8a88 e28a 8a20 20e2 8ba2 ........... ... │ │ │ +000339d0: e28b a420 e28b aae2 8bac 2020 20e2 8ba0 ... ...... ... │ │ │ +000339e0: 2229 290a 2020 2822 6765 7122 2020 2e20 ")). ("geq" . │ │ │ +000339f0: 2c28 6167 6461 2d69 6e70 7574 2d74 6f2d ,(agda-input-to- │ │ │ +00033a00: 7374 7269 6e67 2d6c 6973 7420 223e e289 string-list ">.. │ │ │ +00033a10: abe2 8b99 e289 a5e2 89a7 e289 b320 e289 ............. .. │ │ │ +00033a20: b7e2 89bb e289 bde2 89bf e28a 83e2 8a87 ................ │ │ │ +00033a30: e2ab 88e2 ab8a 20e2 8b91 e28a 90e2 8a92 ...... ......... │ │ │ +00033a40: 20e2 8ab1 e28a b3e2 8ab5 e28b 97e2 8b9b ............... │ │ │ +00033a50: e28b 9de2 8b9f efbc 9e22 2929 0a20 2028 .........")). ( │ │ │ +00033a60: 2267 6571 6e22 202e 202c 2861 6764 612d "geqn" . ,(agda- │ │ │ +00033a70: 696e 7075 742d 746f 2d73 7472 696e 672d input-to-string- │ │ │ +00033a80: 6c69 7374 2022 e289 af20 20e2 89b1 e289 list "... ..... │ │ │ +00033a90: a9e2 89b5 e28b a7e2 89b9 e28a 8120 e28b ............. .. │ │ │ +00033aa0: a9e2 8a85 e28a 89e2 8a8b 2020 e28b a3e2 .......... .... │ │ │ +00033ab0: 8ba5 20e2 8bab e28b ad20 2020 e28b a122 .. ...... ..." │ │ │ +00033ac0: 2929 0a0a 2020 2822 3c3d 2220 2020 2e20 )).. ("<=" . │ │ │ +00033ad0: 2822 e289 a422 2929 2020 2822 3e3d 2220 ("...")) (">=" │ │ │ +00033ae0: 2020 2e20 2822 e289 a522 2929 0a20 2028 . ("...")). ( │ │ │ +00033af0: 223c 3d6e 2220 202e 2028 22e2 89b0 2229 "<=n" . ("...") │ │ │ +00033b00: 2920 2028 223e 3d6e 2220 202e 2028 22e2 ) (">=n" . (". │ │ │ +00033b10: 89b1 2229 290a 2020 2822 6c65 6e22 2020 ..")). ("len" │ │ │ +00033b20: 2e20 2822 e289 b022 2929 2020 2822 6765 . ("...")) ("ge │ │ │ +00033b30: 6e22 2020 2e20 2822 e289 b122 2929 0a20 n" . ("...")). │ │ │ +00033b40: 2028 223c 6e22 2020 202e 2028 22e2 89ae ("n" . ( │ │ │ +00033b60: 22e2 89af 2229 290a 2020 2822 3c7e 2220 "...")). ("<~" │ │ │ +00033b70: 2020 2e20 2822 e289 b222 2929 2020 2822 . ("...")) (" │ │ │ +00033b80: 3e7e 2220 2020 2e20 2822 e289 b322 2929 >~" . ("...")) │ │ │ +00033b90: 0a20 2028 223c 7e6e 2220 202e 2028 22e2 . ("<~n" . (". │ │ │ +00033ba0: 8ba6 2229 2920 2028 223e 7e6e 2220 202e ..")) (">~n" . │ │ │ +00033bb0: 2028 22e2 8ba7 2229 290a 2020 2822 3c7e ("...")). ("<~ │ │ │ +00033bc0: 6e6e 2220 2e20 2822 e289 b422 2929 2020 nn" . ("...")) │ │ │ +00033bd0: 2822 3e7e 6e6e 2220 2e20 2822 e289 b522 (">~nn" . ("..." │ │ │ +00033be0: 2929 0a0a 2020 2822 7375 6222 2020 202e )).. ("sub" . │ │ │ +00033bf0: 2028 22e2 8a82 2229 2920 2028 2273 7570 ("...")) ("sup │ │ │ +00033c00: 2220 2020 2e20 2822 e28a 8322 2929 0a20 " . ("...")). │ │ │ +00033c10: 2028 2273 7562 6e22 2020 2e20 2822 e28a ("subn" . (".. │ │ │ +00033c20: 8422 2929 2020 2822 7375 706e 2220 202e .")) ("supn" . │ │ │ +00033c30: 2028 22e2 8a85 2229 290a 2020 2822 7375 ("...")). ("su │ │ │ +00033c40: 623d 2220 202e 2028 22e2 8a86 2229 2920 b=" . ("...")) │ │ │ +00033c50: 2028 2273 7570 3d22 2020 2e20 2822 e28a ("sup=" . (".. │ │ │ +00033c60: 8722 2929 0a20 2028 2273 7562 3d6e 2220 .")). ("sub=n" │ │ │ +00033c70: 2e20 2822 e28a 8822 2929 2020 2822 7375 . ("...")) ("su │ │ │ +00033c80: 703d 6e22 202e 2028 22e2 8a89 2229 290a p=n" . ("...")). │ │ │ +00033c90: 2020 2822 7375 627e 2220 202e 2028 22e2 ("sub~" . (". │ │ │ +00033ca0: ab87 2229 2920 2028 2273 7570 7e22 2020 ..")) ("sup~" │ │ │ +00033cb0: 2e20 2822 e2ab 8822 2929 0a20 2028 2273 . ("...")). ("s │ │ │ +00033cc0: 7562 7e7e 2220 202e 2028 22e2 ab89 2229 ub~~" . ("...") │ │ │ +00033cd0: 2920 2028 2273 7570 7e7e 2220 202e 2028 ) ("sup~~" . ( │ │ │ +00033ce0: 22e2 ab8a 2229 290a 0a20 2028 2273 7175 "...")).. ("squ │ │ │ +00033cf0: 6222 2020 202e 2028 22e2 8a8f 2229 2920 b" . ("...")) │ │ │ +00033d00: 2028 2273 7175 7022 2020 202e 2028 22e2 ("squp" . (". │ │ │ +00033d10: 8a90 2229 290a 2020 2822 7371 7562 3d22 ..")). ("squb=" │ │ │ +00033d20: 2020 2e20 2822 e28a 9122 2929 2020 2822 . ("...")) (" │ │ │ +00033d30: 7371 7570 3d22 2020 2e20 2822 e28a 9222 squp=" . ("..." │ │ │ +00033d40: 2929 0a20 2028 2273 7175 623d 6e22 202e )). ("squb=n" . │ │ │ +00033d50: 2028 22e2 8ba2 2229 2920 2028 2273 7175 ("...")) ("squ │ │ │ +00033d60: 703d 6e22 202e 2028 22e2 8ba3 2229 290a p=n" . ("...")). │ │ │ +00033d70: 0a20 203b 3b20 5365 7420 6d65 6d62 6572 . ;; Set member │ │ │ +00033d80: 7368 6970 2065 7463 2e0a 0a20 2028 226d ship etc... ("m │ │ │ +00033d90: 656d 6265 7222 202e 202c 2861 6764 612d ember" . ,(agda- │ │ │ +00033da0: 696e 7075 742d 746f 2d73 7472 696e 672d input-to-string- │ │ │ +00033db0: 6c69 7374 2022 e288 88e2 8889 e288 8ae2 list ".......... │ │ │ +00033dc0: 888b e288 8ce2 888d e28b b2e2 8bb3 e28b ................ │ │ │ +00033dd0: b4e2 8bb5 e28b b6e2 8bb7 e28b b8e2 8bb9 ................ │ │ │ +00033de0: e28b bae2 8bbb e28b bce2 8bbd e28b bee2 ................ │ │ │ +00033df0: 8bbf 2229 290a 0a20 2028 2269 6e6e 2220 ..")).. ("inn" │ │ │ +00033e00: 2e20 2822 e288 8922 2929 0a20 2028 226e . ("...")). ("n │ │ │ +00033e10: 696e 2220 2e20 2822 e288 8c22 2929 0a0a in" . ("...")).. │ │ │ +00033e20: 2020 3b3b 2049 6e74 6572 7365 6374 696f ;; Intersectio │ │ │ +00033e30: 6e73 2c20 756e 696f 6e73 2065 7463 2e0a ns, unions etc.. │ │ │ +00033e40: 0a20 2028 2269 6e74 6572 7365 6374 696f . ("intersectio │ │ │ +00033e50: 6e22 202e 202c 2861 6764 612d 696e 7075 n" . ,(agda-inpu │ │ │ +00033e60: 742d 746f 2d73 7472 696e 672d 6c69 7374 t-to-string-list │ │ │ +00033e70: 2022 e288 a9e2 8b82 e288 a7e2 8b80 e28b ".............. │ │ │ +00033e80: 8fe2 a887 e28a 93e2 a885 e28b 92e2 888f ................ │ │ │ +00033e90: 20e2 8abc 2020 2020 2020 e2a8 8922 2929 ... ...")) │ │ │ +00033ea0: 0a20 2028 2275 6e69 6f6e 2220 2020 2020 . ("union" │ │ │ +00033eb0: 2020 202e 202c 2861 6764 612d 696e 7075 . ,(agda-inpu │ │ │ +00033ec0: 742d 746f 2d73 7472 696e 672d 6c69 7374 t-to-string-list │ │ │ +00033ed0: 2022 e288 aae2 8b83 e288 a8e2 8b81 e28b ".............. │ │ │ +00033ee0: 8ee2 a888 e28a 94e2 a886 e28b 93e2 8890 ................ │ │ │ +00033ef0: e2a8 bfe2 8abd e28a bbe2 8a8d e2a8 83e2 ................ │ │ │ +00033f00: 8a8e e2a8 84e2 8a8c e288 91e2 8580 2229 ..............") │ │ │ +00033f10: 290a 0a20 2028 2261 6e64 2220 2e20 2822 ).. ("and" . (" │ │ │ +00033f20: e288 a722 2929 2020 2822 6f72 2220 202e ...")) ("or" . │ │ │ +00033f30: 2028 22e2 88a8 2229 290a 2020 2822 416e ("...")). ("An │ │ │ +00033f40: 6422 202e 2028 22e2 8b80 2229 2920 2028 d" . ("...")) ( │ │ │ +00033f50: 224f 7222 2020 2e20 2822 e28b 8122 2929 "Or" . ("...")) │ │ │ +00033f60: 0a20 2028 2269 2220 2020 2e20 2822 e288 . ("i" . (".. │ │ │ +00033f70: a922 2929 2020 2822 756e 2220 202e 2028 .")) ("un" . ( │ │ │ +00033f80: 22e2 88aa 2229 2920 2028 2275 2b22 202e "...")) ("u+" . │ │ │ +00033f90: 2028 22e2 8a8e 2229 2920 2028 2275 2e22 ("...")) ("u." │ │ │ +00033fa0: 202e 2028 22e2 8a8d 2229 290a 2020 2822 . ("...")). (" │ │ │ +00033fb0: 4922 2020 202e 2028 22e2 8b82 2229 2920 I" . ("...")) │ │ │ +00033fc0: 2028 2255 6e22 2020 2e20 2822 e28b 8322 ("Un" . ("..." │ │ │ +00033fd0: 2929 2020 2822 552b 2220 2e20 2822 e2a8 )) ("U+" . (".. │ │ │ +00033fe0: 8422 2929 2020 2822 552e 2220 2e20 2822 .")) ("U." . (" │ │ │ +00033ff0: e2a8 8322 2929 0a20 2028 2267 6c62 2220 ...")). ("glb" │ │ │ +00034000: 2e20 2822 e28a 9322 2929 2020 2822 6c75 . ("...")) ("lu │ │ │ +00034010: 6222 202e 2028 22e2 8a94 2229 290a 2020 b" . ("...")). │ │ │ +00034020: 2822 476c 6222 202e 2028 22e2 a885 2229 ("Glb" . ("...") │ │ │ +00034030: 2920 2028 224c 7562 2220 2e20 2822 e2a8 ) ("Lub" . (".. │ │ │ +00034040: 8622 2929 0a0a 2020 3b3b 2045 6e74 6169 .")).. ;; Entai │ │ │ +00034050: 6c6d 656e 742c 2074 6163 6b73 2c20 6574 lment, tacks, et │ │ │ +00034060: 632e 0a0a 2020 2822 656e 7461 696c 7322 c... ("entails" │ │ │ +00034070: 202e 202c 2861 6764 612d 696e 7075 742d . ,(agda-input- │ │ │ +00034080: 746f 2d73 7472 696e 672d 6c69 7374 2022 to-string-list " │ │ │ +00034090: e28a a2e2 8aa3 e28a a4e2 8aa5 e28a a6e2 ................ │ │ │ +000340a0: 8aa7 e28a a8e2 8aa9 e28a aae2 8aab e28a ................ │ │ │ +000340b0: ace2 8aad e28a aee2 8aaf 2229 290a 0a20 ..........")).. │ │ │ +000340c0: 2028 227c 2d22 2020 202e 2028 22e2 8aa2 ("|-" . ("... │ │ │ +000340d0: 2229 2920 2028 227c 2d6e 2220 202e 2028 ")) ("|-n" . ( │ │ │ +000340e0: 22e2 8aac 2229 290a 2020 2822 2d7c 2220 "...")). ("-|" │ │ │ +000340f0: 2020 2e20 2822 e28a a322 2929 0a20 2028 . ("...")). ( │ │ │ +00034100: 227c 3d22 2020 202e 2028 22e2 8aa8 2229 "|=" . ("...") │ │ │ +00034110: 2920 2028 227c 3d6e 2220 202e 2028 22e2 ) ("|=n" . (". │ │ │ +00034120: 8aad 2229 290a 2020 2822 7c7c 2d22 2020 ..")). ("||-" │ │ │ +00034130: 2e20 2822 e28a a922 2929 2020 2822 7c7c . ("...")) ("|| │ │ │ +00034140: 2d6e 2220 2e20 2822 e28a ae22 2929 0a20 -n" . ("...")). │ │ │ +00034150: 2028 227c 7c3d 2220 202e 2028 22e2 8aab ("||=" . ("... │ │ │ +00034160: 2229 2920 2028 227c 7c3d 6e22 202e 2028 ")) ("||=n" . ( │ │ │ +00034170: 22e2 8aaf 2229 290a 2020 2822 7c7c 7c2d "...")). ("|||- │ │ │ +00034180: 2220 2e20 2822 e28a aa22 2929 0a0a 0a20 " . ("..."))... │ │ │ +00034190: 2028 2274 6163 6b22 202e 202c 2861 6764 ("tack" . ,(agd │ │ │ +000341a0: 612d 696e 7075 742d 746f 2d73 7472 696e a-input-to-strin │ │ │ +000341b0: 672d 6c69 7374 2022 e29f 98e2 9f99 e29f g-list "........ │ │ │ +000341c0: 9be2 9f9d e29f 9ee2 abab e2ab aa22 2929 .............")) │ │ │ +000341d0: 0a20 2028 2242 6f74 2220 202e 2028 22e2 . ("Bot" . (". │ │ │ +000341e0: 9f98 2229 2920 3b3b 2073 696d 696c 6172 ..")) ;; similar │ │ │ +000341f0: 2074 6f20 476c 622f 4c75 6220 7673 2e20 to Glb/Lub vs. │ │ │ +00034200: 676c 622f 6c75 620a 2020 2822 546f 7022 glb/lub. ("Top" │ │ │ +00034210: 2020 2e20 2822 e29f 9922 2929 0a20 2028 . ("...")). ( │ │ │ +00034220: 222d 7c7c 2d22 202e 2028 22e2 9f9b 2229 "-||-" . ("...") │ │ │ +00034230: 290a 2020 2822 7c2d 2d22 2020 2e20 2822 ). ("|--" . (" │ │ │ +00034240: e29f 9d22 2929 0a20 2028 222d 2d7c 2220 ...")). ("--|" │ │ │ +00034250: 202e 2028 22e2 9f9e 2229 290a 2020 2822 . ("...")). (" │ │ │ +00034260: 6262 6f74 2220 2e20 2822 e2ab ab22 2929 bbot" . ("...")) │ │ │ +00034270: 203b 3b20 7369 6d69 6c61 7220 746f 2062 ;; similar to b │ │ │ +00034280: 4e20 666f 7220 626c 6163 6b62 6f61 7264 N for blackboard │ │ │ +00034290: 204e 0a20 2028 2262 746f 7022 202e 2028 N. ("btop" . ( │ │ │ +000342a0: 22e2 abaa 2229 290a 0a20 203b 3b20 4469 "...")).. ;; Di │ │ │ +000342b0: 7669 7369 6269 6c69 7479 2c20 7061 7261 visibility, para │ │ │ +000342c0: 6c6c 656c 6974 792e 0a0a 2020 2822 7c22 llelity... ("|" │ │ │ +000342d0: 2020 2e20 2822 e288 a322 2929 2020 2822 . ("...")) (" │ │ │ +000342e0: 7c6e 2220 202e 2028 22e2 88a4 2229 290a |n" . ("...")). │ │ │ +000342f0: 2020 2822 7c7c 2220 2e20 2822 e288 a522 ("||" . ("..." │ │ │ +00034300: 2929 2020 2822 7c7c 6e22 202e 2028 22e2 )) ("||n" . (". │ │ │ +00034310: 88a6 2229 290a 0a20 203b 3b20 536f 6d65 ..")).. ;; Some │ │ │ +00034320: 2073 796d 626f 6c73 2066 726f 6d20 6c6f symbols from lo │ │ │ +00034330: 6769 6320 616e 6420 7365 7420 7468 656f gic and set theo │ │ │ +00034340: 7279 2e0a 0a20 2028 2261 6c6c 2220 2e20 ry... ("all" . │ │ │ +00034350: 2822 e288 8022 2929 0a20 2028 2265 7822 ("...")). ("ex" │ │ │ +00034360: 2020 2e20 2822 e288 8322 2929 0a20 2028 . ("...")). ( │ │ │ +00034370: 2265 786e 2220 2e20 2822 e288 8422 2929 "exn" . ("...")) │ │ │ +00034380: 0a20 2028 2230 2220 2020 2e20 2822 e288 . ("0" . (".. │ │ │ +00034390: 8522 2929 0a20 2028 2243 2220 2020 2e20 .")). ("C" . │ │ │ +000343a0: 2822 e288 8122 2929 0a20 2028 2275 696e ("...")). ("uin │ │ │ +000343b0: 2220 2020 202e 2028 22e2 9f92 2229 290a " . ("...")). │ │ │ +000343c0: 2020 2822 6469 6e22 2020 2020 2e20 2822 ("din" . (" │ │ │ +000343d0: e2ab 9922 2929 0a0a 2020 3b3b 2043 6f72 ...")).. ;; Cor │ │ │ +000343e0: 6e65 7273 2c20 6365 696c 696e 6773 2061 ners, ceilings a │ │ │ +000343f0: 6e64 2066 6c6f 6f72 732e 0a0a 2020 2822 nd floors... (" │ │ │ +00034400: 6322 2020 2e20 2c28 6167 6461 2d69 6e70 c" . ,(agda-inp │ │ │ +00034410: 7574 2d74 6f2d 7374 7269 6e67 2d6c 6973 ut-to-string-lis │ │ │ +00034420: 7420 22e2 8c9c e28c 9de2 8c9e e28c 9fe2 t "............. │ │ │ +00034430: 8c88 e28c 89e2 8c8a e28c 8b22 2929 0a20 ...........")). │ │ │ +00034440: 2028 2263 7522 202e 202c 2861 6764 612d ("cu" . ,(agda- │ │ │ +00034450: 696e 7075 742d 746f 2d73 7472 696e 672d input-to-string- │ │ │ +00034460: 6c69 7374 2022 e28c 9ce2 8c9d 2020 e28c list "...... .. │ │ │ +00034470: 88e2 8c89 2020 2229 290a 2020 2822 636c .... ")). ("cl │ │ │ +00034480: 2220 2e20 2c28 6167 6461 2d69 6e70 7574 " . ,(agda-input │ │ │ +00034490: 2d74 6f2d 7374 7269 6e67 2d6c 6973 7420 -to-string-list │ │ │ +000344a0: 2220 20e2 8c9e e28c 9f20 20e2 8c8a e28c " ...... ..... │ │ │ +000344b0: 8b22 2929 0a0a 2020 2822 6375 6c22 202e .")).. ("cul" . │ │ │ +000344c0: 2028 22e2 8c9c 2229 2920 2028 2263 754c ("...")) ("cuL │ │ │ +000344d0: 2220 2e20 2822 e28c 8822 2929 0a20 2028 " . ("...")). ( │ │ │ +000344e0: 2263 7572 2220 2e20 2822 e28c 9d22 2929 "cur" . ("...")) │ │ │ +000344f0: 2020 2822 6375 5222 202e 2028 22e2 8c89 ("cuR" . ("... │ │ │ +00034500: 2229 290a 2020 2822 636c 6c22 202e 2028 ")). ("cll" . ( │ │ │ +00034510: 22e2 8c9e 2229 2920 2028 2263 6c4c 2220 "...")) ("clL" │ │ │ +00034520: 2e20 2822 e28c 8a22 2929 0a20 2028 2263 . ("...")). ("c │ │ │ +00034530: 6c72 2220 2e20 2822 e28c 9f22 2929 2020 lr" . ("...")) │ │ │ +00034540: 2822 636c 5222 202e 2028 22e2 8c8b 2229 ("clR" . ("...") │ │ │ +00034550: 290a 0a20 203b 3b20 5661 7269 6f75 7320 ).. ;; Various │ │ │ +00034560: 6f70 6572 6174 6f72 732f 7379 6d62 6f6c operators/symbol │ │ │ +00034570: 732e 0a0a 2020 2822 7165 6422 2020 2020 s... ("qed" │ │ │ +00034580: 2020 202e 2028 22e2 888e 2229 290a 2020 . ("...")). │ │ │ +00034590: 2822 7822 2020 2020 2020 2020 202e 2028 ("x" . ( │ │ │ +000345a0: 22c3 9722 2929 0a20 2028 226f 2220 2020 "..")). ("o" │ │ │ +000345b0: 2020 2020 2020 2e20 2822 e288 9822 2929 . ("...")) │ │ │ +000345c0: 0a20 2028 2263 6f6d 7022 2020 2020 2020 . ("comp" │ │ │ +000345d0: 2e20 2822 e288 9822 2929 0a20 2028 222e . ("...")). (". │ │ │ +000345e0: 2220 2020 2020 2020 2020 2e20 2c28 6167 " . ,(ag │ │ │ +000345f0: 6461 2d69 6e70 7574 2d74 6f2d 7374 7269 da-input-to-stri │ │ │ +00034600: 6e67 2d6c 6973 7420 22e2 8899 efbc 8e22 ng-list "......" │ │ │ +00034610: 2929 0a20 2028 222a 2220 2020 2020 2020 )). ("*" │ │ │ +00034620: 2020 2e20 2822 e28b 8622 2929 0a20 2028 . ("...")). ( │ │ │ +00034630: 222e 2b22 2020 2020 2020 2020 2e20 2822 ".+" . (" │ │ │ +00034640: e288 9422 2929 0a20 2028 222e 2d22 2020 ...")). (".-" │ │ │ +00034650: 2020 2020 2020 2e20 2822 e288 b822 2929 . ("...")) │ │ │ +00034660: 0a20 2028 223a 2220 2020 2020 2020 2020 . (":" │ │ │ +00034670: 2e20 2c28 6167 6461 2d69 6e70 7574 2d74 . ,(agda-input-t │ │ │ +00034680: 6f2d 7374 7269 6e67 2d6c 6973 7420 22e2 o-string-list ". │ │ │ +00034690: 88b6 e2a6 82cb 90ea 9e89 cbb8 e18d a5e1 ................ │ │ │ +000346a0: 8da6 efbc 9aef b995 efb8 9322 2929 0a20 ...........")). │ │ │ +000346b0: 2028 222c 2220 2020 2020 2020 2020 2e20 ("," . │ │ │ +000346c0: 2c28 6167 6461 2d69 6e70 7574 2d74 6f2d ,(agda-input-to- │ │ │ +000346d0: 7374 7269 6e67 2d6c 6973 7420 22ca bbd8 string-list "... │ │ │ +000346e0: 8ce2 b8b2 e2b8 b4e2 b981 e2b9 89e3 8081 ................ │ │ │ +000346f0: efb8 90ef b891 efb9 90ef b991 efbc 8cef ................ │ │ │ +00034700: bda4 2229 290a 2020 2822 3b22 2020 2020 ..")). (";" │ │ │ +00034710: 2020 2020 202e 202c 2861 6764 612d 696e . ,(agda-in │ │ │ +00034720: 7075 742d 746f 2d73 7472 696e 672d 6c69 put-to-string-li │ │ │ +00034730: 7374 2022 e2a8 bee2 a89f e281 8fe1 8da4 st "............ │ │ │ +00034740: ea9b b6ef bc9b efb8 94ef b994 e28d aee2 ................ │ │ │ +00034750: b8b5 cdbe 2229 290a 2020 2822 2b2b 2220 ....")). ("++" │ │ │ +00034760: 2020 2020 2020 202e 2028 22e2 a7ba 2229 . ("...") │ │ │ +00034770: 290a 2020 2822 3a3a 2220 2020 2020 2020 ). ("::" │ │ │ +00034780: 202e 2028 22e2 88b7 2229 290a 2020 2822 . ("...")). (" │ │ │ +00034790: 3a3a 2d22 2020 2020 2020 202e 2028 22e2 ::-" . (". │ │ │ +000347a0: 88ba 2229 290a 2020 2822 2d3a 2220 2020 ..")). ("-:" │ │ │ +000347b0: 2020 2020 202e 2028 22e2 88b9 2229 290a . ("...")). │ │ │ +000347c0: 2020 2822 2b20 2220 2020 2020 2020 202e ("+ " . │ │ │ +000347d0: 2028 22e2 8ab9 2229 290a 2020 2822 2b22 ("...")). ("+" │ │ │ +000347e0: 2020 2020 2020 2020 202e 2028 22ef bc8b . ("... │ │ │ +000347f0: 2229 290a 2020 2822 7371 7274 2220 2020 ")). ("sqrt" │ │ │ +00034800: 2020 202e 2028 22e2 889a 2229 290a 2020 . ("...")). │ │ │ +00034810: 2822 7375 7264 2220 2020 2020 202e 2028 ("surd" . ( │ │ │ +00034820: 22e2 889a 2229 290a 2020 2822 7375 7264 "...")). ("surd │ │ │ +00034830: 3322 2020 2020 202e 2028 22e2 889b 2229 3" . ("...") │ │ │ +00034840: 290a 2020 2822 7375 7264 3422 2020 2020 ). ("surd4" │ │ │ +00034850: 202e 2028 22e2 889c 2229 290a 2020 2822 . ("...")). (" │ │ │ +00034860: 696e 6372 656d 656e 7422 202e 2028 22e2 increment" . (". │ │ │ +00034870: 8886 2229 290a 2020 2822 696e 6622 2020 ..")). ("inf" │ │ │ +00034880: 2020 2020 202e 2028 22e2 889e 2229 290a . ("...")). │ │ │ +00034890: 2020 2822 2622 2020 2020 2020 2020 202e ("&" . │ │ │ +000348a0: 202c 2861 6764 612d 696e 7075 742d 746f ,(agda-input-to │ │ │ +000348b0: 2d73 7472 696e 672d 6c69 7374 2022 e285 -string-list ".. │ │ │ +000348c0: 8bef b9a0 efbc 8622 2929 0a20 2028 227a .......")). ("z │ │ │ +000348d0: 3b22 2020 2020 2020 2020 2e20 2c28 6167 ;" . ,(ag │ │ │ +000348e0: 6461 2d69 6e70 7574 2d74 6f2d 7374 7269 da-input-to-stri │ │ │ +000348f0: 6e67 2d6c 6973 7420 22e2 a89f e2a8 be22 ng-list "......" │ │ │ +00034900: 2929 0a20 2028 227a 3a22 2020 2020 2020 )). ("z:" │ │ │ +00034910: 2020 2e20 2822 e2a6 8222 2929 0a20 2028 . ("...")). ( │ │ │ +00034920: 2261 7422 2020 2020 2020 2020 2e20 2c28 "at" . ,( │ │ │ +00034930: 6167 6461 2d69 6e70 7574 2d74 6f2d 7374 agda-input-to-st │ │ │ +00034940: 7269 6e67 2d6c 6973 7420 2240 efb9 abef ring-list "@.... │ │ │ +00034950: bca0 2229 290a 0a20 203b 3b20 4369 7263 ..")).. ;; Circ │ │ │ +00034960: 6c65 6420 6f70 6572 6174 6f72 732e 0a0a led operators... │ │ │ +00034970: 2020 2822 6f2b 2220 202e 2028 22e2 8a95 ("o+" . ("... │ │ │ +00034980: 2229 290a 2020 2822 6f2d 2d22 202e 2028 ")). ("o--" . ( │ │ │ +00034990: 22e2 8a96 2229 290a 2020 2822 6f78 2220 "...")). ("ox" │ │ │ +000349a0: 202e 2028 22e2 8a97 2229 290a 2020 2822 . ("...")). (" │ │ │ +000349b0: 6f2f 2220 202e 2028 22e2 8a98 2229 290a o/" . ("...")). │ │ │ +000349c0: 2020 2822 6f2e 2220 202e 2028 22e2 8a99 ("o." . ("... │ │ │ +000349d0: 2229 290a 2020 2822 6f6f 2220 202e 2028 ")). ("oo" . ( │ │ │ +000349e0: 22e2 8a9a 2229 290a 2020 2822 6f2a 2220 "...")). ("o*" │ │ │ +000349f0: 202e 2028 22e2 8a9b 2229 290a 2020 2822 . ("...")). (" │ │ │ +00034a00: 6f3d 2220 202e 2028 22e2 8a9c 2229 290a o=" . ("...")). │ │ │ +00034a10: 2020 2822 6f2d 2220 202e 202c 2861 6764 ("o-" . ,(agd │ │ │ +00034a20: 612d 696e 7075 742d 746f 2d73 7472 696e a-input-to-strin │ │ │ +00034a30: 672d 6c69 7374 2022 e28a 9de2 9f9c 2229 g-list "......") │ │ │ +00034a40: 290a 0a20 2028 224f 2b22 2020 2e20 2822 ).. ("O+" . (" │ │ │ +00034a50: e2a8 8122 2929 0a20 2028 224f 7822 2020 ...")). ("Ox" │ │ │ +00034a60: 2e20 2822 e2a8 8222 2929 0a20 2028 224f . ("...")). ("O │ │ │ +00034a70: 2e22 2020 2e20 2822 e2a8 8022 2929 0a20 ." . ("...")). │ │ │ +00034a80: 2028 224f 2a22 2020 2e20 2822 e28d 9f22 ("O*" . ("..." │ │ │ +00034a90: 2929 0a0a 2020 3b3b 2042 6f78 6564 206f )).. ;; Boxed o │ │ │ +00034aa0: 7065 7261 746f 7273 2e0a 0a20 2028 2262 perators... ("b │ │ │ +00034ab0: 2b22 2020 2e20 2822 e28a 9e22 2929 0a20 +" . ("...")). │ │ │ +00034ac0: 2028 2262 2d22 2020 2e20 2822 e28a 9f22 ("b-" . ("..." │ │ │ +00034ad0: 2929 0a20 2028 2262 7822 2020 2e20 2822 )). ("bx" . (" │ │ │ +00034ae0: e28a a022 2929 0a20 2028 2262 2e22 2020 ...")). ("b." │ │ │ +00034af0: 2e20 2822 e28a a122 2929 0a0a 2020 2822 . ("...")).. (" │ │ │ +00034b00: 622f 2220 202e 2028 22e2 a784 2229 290a b/" . ("...")). │ │ │ +00034b10: 2020 2822 625c 5c22 202e 2028 22e2 a785 ("b\\" . ("... │ │ │ +00034b20: 2229 290a 2020 2822 622a 2220 202e 2028 ")). ("b*" . ( │ │ │ +00034b30: 22e2 a786 2229 290a 2020 2822 626f 2220 "...")). ("bo" │ │ │ +00034b40: 202e 2028 22e2 a787 2229 290a 2020 2822 . ("...")). (" │ │ │ +00034b50: 6273 7122 202e 2028 22e2 a788 2229 290a bsq" . ("...")). │ │ │ +00034b60: 0a20 203b 3b20 4150 4c20 626f 7865 6420 . ;; APL boxed │ │ │ +00034b70: 6f70 6572 6174 6f72 732e 0a0a 2020 2822 operators... (" │ │ │ +00034b80: 626f 783d 2220 2020 2020 2020 2e20 2822 box=" . (" │ │ │ +00034b90: e28c b822 2929 0a20 2028 2262 6f78 3f22 ...")). ("box?" │ │ │ +00034ba0: 2020 2020 2020 202e 2028 22e2 8db0 2229 . ("...") │ │ │ +00034bb0: 290a 2020 2822 626f 7827 2220 2020 2020 ). ("box'" │ │ │ +00034bc0: 2020 2e20 2822 e28d 9e22 2929 0a20 2028 . ("...")). ( │ │ │ +00034bd0: 2262 6f78 3a22 2020 2020 2020 202e 2028 "box:" . ( │ │ │ +00034be0: 22e2 8da0 2229 290a 2020 2822 626f 782f "...")). ("box/ │ │ │ +00034bf0: 2220 2020 2020 2020 2e20 2822 e28d 8122 " . ("..." │ │ │ +00034c00: 2929 0a20 2028 2262 6f78 5c5c 2220 2020 )). ("box\\" │ │ │ +00034c10: 2020 202e 2028 22e2 8d82 2229 290a 2020 . ("...")). │ │ │ +00034c20: 2822 626f 783c 2220 2020 2020 2020 2e20 ("box<" . │ │ │ +00034c30: 2822 e28d 8322 2929 0a20 2028 2262 6f78 ("...")). ("box │ │ │ +00034c40: 3e22 2020 2020 2020 202e 2028 22e2 8d84 >" . ("... │ │ │ +00034c50: 2229 290a 2020 2822 626f 786f 2220 2020 ")). ("boxo" │ │ │ +00034c60: 2020 2020 2e20 2822 e28c bb22 2929 0a20 . ("...")). │ │ │ +00034c70: 2028 2262 6f78 4f22 2020 2020 2020 202e ("boxO" . │ │ │ +00034c80: 2028 22e2 8cbc 2229 290a 0a20 2028 2262 ("...")).. ("b │ │ │ +00034c90: 6f78 636f 6d70 2220 2020 202e 2028 22e2 oxcomp" . (". │ │ │ +00034ca0: 8cbb 2229 290a 2020 2822 626f 7863 6972 ..")). ("boxcir │ │ │ +00034cb0: 636c 6522 2020 2e20 2822 e28c bc22 2929 cle" . ("...")) │ │ │ +00034cc0: 0a20 2028 2262 6f78 6571 2220 2020 2020 . ("boxeq" │ │ │ +00034cd0: 202e 2028 22e2 8cb8 2229 290a 2020 2822 . ("...")). (" │ │ │ +00034ce0: 626f 786e 6571 2220 2020 2020 2e20 2822 boxneq" . (" │ │ │ +00034cf0: e28d af22 2929 0a20 2028 2262 6f78 6571 ...")). ("boxeq │ │ │ +00034d00: 6e22 2020 2020 202e 2028 22e2 8daf 2229 n" . ("...") │ │ │ +00034d10: 290a 0a20 2028 2262 6f78 6c22 2020 2020 ).. ("boxl" │ │ │ +00034d20: 2020 202e 2028 22e2 8d87 2229 290a 2020 . ("...")). │ │ │ +00034d30: 2822 626f 7872 2220 2020 2020 2020 2e20 ("boxr" . │ │ │ +00034d40: 2822 e28d 8822 2929 0a20 2028 2262 6f78 ("...")). ("box │ │ │ +00034d50: 7522 2020 2020 2020 202e 2028 22e2 8d90 u" . ("... │ │ │ +00034d60: 2229 290a 2020 2822 626f 7864 2220 2020 ")). ("boxd" │ │ │ +00034d70: 2020 2020 2e20 2822 e28d 9722 2929 0a0a . ("...")).. │ │ │ +00034d80: 2020 2822 626f 7864 6922 2020 2020 2020 ("boxdi" │ │ │ +00034d90: 2e20 2822 e28c ba22 2929 0a20 2028 2262 . ("...")). ("b │ │ │ +00034da0: 6f78 6469 7622 2020 2020 202e 2028 22e2 oxdiv" . (". │ │ │ +00034db0: 8cb9 2229 290a 2020 2822 626f 7877 6564 ..")). ("boxwed │ │ │ +00034dc0: 6765 2220 2020 2e20 2822 e28d 9322 2929 ge" . ("...")) │ │ │ +00034dd0: 0a20 2028 2262 6f78 7665 6522 2020 2020 . ("boxvee" │ │ │ +00034de0: 202e 2028 22e2 8d8c 2229 290a 2020 2822 . ("...")). (" │ │ │ +00034df0: 626f 7864 656c 7461 2220 2020 2e20 2822 boxdelta" . (" │ │ │ +00034e00: e28d 8d22 2929 0a20 2028 2262 6f78 6e61 ...")). ("boxna │ │ │ +00034e10: 626c 6122 2020 202e 2028 22e2 8d94 2229 bla" . ("...") │ │ │ +00034e20: 290a 0a20 203b 3b20 5661 7269 6f75 7320 ).. ;; Various │ │ │ +00034e30: 7379 6d62 6f6c 732e 0a0a 2020 2822 696e symbols... ("in │ │ │ +00034e40: 7465 6772 616c 2220 2e20 2c28 6167 6461 tegral" . ,(agda │ │ │ +00034e50: 2d69 6e70 7574 2d74 6f2d 7374 7269 6e67 -input-to-string │ │ │ +00034e60: 2d6c 6973 7420 22e2 88ab e288 ace2 88ad -list "......... │ │ │ +00034e70: e288 aee2 88af e288 b0e2 88b1 e288 b2e2 ................ │ │ │ +00034e80: 88b3 2229 290a 2020 2822 616e 676c 6522 ..")). ("angle" │ │ │ +00034e90: 2020 2020 2e20 2c28 6167 6461 2d69 6e70 . ,(agda-inp │ │ │ +00034ea0: 7574 2d74 6f2d 7374 7269 6e67 2d6c 6973 ut-to-string-lis │ │ │ +00034eb0: 7420 22e2 889f e288 a1e2 88a2 e28a bee2 t "............. │ │ │ +00034ec0: 8abf 2229 290a 2020 2822 6a6f 696e 2220 ..")). ("join" │ │ │ +00034ed0: 2020 2020 2e20 2c28 6167 6461 2d69 6e70 . ,(agda-inp │ │ │ +00034ee0: 7574 2d74 6f2d 7374 7269 6e67 2d6c 6973 ut-to-string-lis │ │ │ +00034ef0: 7420 22e2 8b88 e28b 89e2 8b8a e28b 8be2 t "............. │ │ │ +00034f00: 8b8c e2a8 9de2 9f95 e29f 96e2 9f97 2229 ..............") │ │ │ +00034f10: 290a 2020 2822 6573 6822 2020 2020 2020 ). ("esh" │ │ │ +00034f20: 2e20 2822 ca83 2229 290a 0a20 203b 3b20 . ("..")).. ;; │ │ │ +00034f30: 4172 726f 7773 2e0a 0a20 2028 226c 2220 Arrows... ("l" │ │ │ +00034f40: 202e 202c 2861 6764 612d 696e 7075 742d . ,(agda-input- │ │ │ +00034f50: 746f 2d73 7472 696e 672d 6c69 7374 2022 to-string-list " │ │ │ +00034f60: e286 90e2 8790 e287 9ae2 ad85 e287 87e2 ................ │ │ │ +00034f70: 8786 e286 a4e2 87a6 e286 9ee2 86bc e286 ................ │ │ │ +00034f80: bde2 87a0 e287 bae2 869c e287 bde2 9fb5 ................ │ │ │ +00034f90: e29f b8e2 869a e287 8de2 87b7 20e2 86b9 ............ ... │ │ │ +00034fa0: 2020 2020 20e2 86a2 e286 a9e2 86ab e287 ........... │ │ │ +00034fb0: 8be2 879c e287 a4e2 9fbb e29f bde2 a486 ................ │ │ │ +00034fc0: e286 b6e2 86ba e29f b220 2020 2020 2020 ......... │ │ │ 00034fd0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00034fe0: 2020 2020 2020 2020 2020 2020 2022 2929 ")) │ │ │ -00034ff0: 0a20 2028 2272 2220 202e 202c 2861 6764 . ("r" . ,(agd │ │ │ -00035000: 612d 696e 7075 742d 746f 2d73 7472 696e a-input-to-strin │ │ │ -00035010: 672d 6c69 7374 2022 e286 92e2 8792 e287 g-list "........ │ │ │ -00035020: 9be2 ad86 e287 89e2 8784 e286 a6e2 87a8 ................ │ │ │ -00035030: e286 a0e2 8780 e287 81e2 87a2 e287 bbe2 ................ │ │ │ -00035040: 869d e287 bee2 9fb6 e29f b9e2 869b e287 ................ │ │ │ -00035050: 8fe2 87b8 e287 b620 e286 b420 2020 20e2 ....... ... . │ │ │ -00035060: 86a3 e286 aae2 86ac e287 8ce2 879d e287 ................ │ │ │ -00035070: a5e2 9fbc e29f bee2 a487 e286 b7e2 86bb ................ │ │ │ -00035080: e29f b3e2 87b0 e287 b4e2 9fb4 e29f bf20 ............... │ │ │ -00035090: e29e b5e2 9eb8 e29e 99e2 9e94 e29e 9be2 ................ │ │ │ -000350a0: 9e9c e29e 9de2 9e9e e29e 9fe2 9ea0 e29e ................ │ │ │ -000350b0: a1e2 9ea2 e29e a3e2 9ea4 e29e a7e2 9ea8 ................ │ │ │ -000350c0: e29e a9e2 9eaa e29e abe2 9eac e29e ade2 ................ │ │ │ -000350d0: 9eae e29e afe2 9eb1 e29e b2e2 9eb3 e29e ................ │ │ │ -000350e0: bae2 9ebb e29e bce2 9ebd e29e bee2 8ab8 ................ │ │ │ -000350f0: 2229 290a 2020 2822 7522 2020 2e20 2c28 ")). ("u" . ,( │ │ │ -00035100: 6167 6461 2d69 6e70 7574 2d74 6f2d 7374 agda-input-to-st │ │ │ -00035110: 7269 6e67 2d6c 6973 7420 22e2 8691 e287 ring-list "..... │ │ │ -00035120: 91e2 a48a e29f b0e2 8788 e287 85e2 86a5 ................ │ │ │ -00035130: e287 a7e2 869f e286 bfe2 86be e287 a1e2 ................ │ │ │ -00035140: 879e 2020 2020 2020 2020 2020 e286 b0e2 .. .... │ │ │ -00035150: 86b1 e29e a620 e287 aae2 87ab e287 ace2 ..... .......... │ │ │ -00035160: 87ad e287 aee2 87af 2020 2020 2020 2020 ........ │ │ │ +00034fe0: 2020 2020 2020 2020 2020 2020 2020 2229 ") │ │ │ +00034ff0: 290a 2020 2822 7222 2020 2e20 2c28 6167 ). ("r" . ,(ag │ │ │ +00035000: 6461 2d69 6e70 7574 2d74 6f2d 7374 7269 da-input-to-stri │ │ │ +00035010: 6e67 2d6c 6973 7420 22e2 8692 e287 92e2 ng-list "....... │ │ │ +00035020: 879b e2ad 86e2 8789 e287 84e2 86a6 e287 ................ │ │ │ +00035030: a8e2 86a0 e287 80e2 8781 e287 a2e2 87bb ................ │ │ │ +00035040: e286 9de2 87be e29f b6e2 9fb9 e286 9be2 ................ │ │ │ +00035050: 878f e287 b8e2 87b6 20e2 86b4 2020 2020 ........ ... │ │ │ +00035060: e286 a3e2 86aa e286 ace2 878c e287 9de2 ................ │ │ │ +00035070: 87a5 e29f bce2 9fbe e2a4 87e2 86b7 e286 ................ │ │ │ +00035080: bbe2 9fb3 e287 b0e2 87b4 e29f b4e2 9fbf ................ │ │ │ +00035090: 20e2 9eb5 e29e b8e2 9e99 e29e 94e2 9e9b ............... │ │ │ +000350a0: e29e 9ce2 9e9d e29e 9ee2 9e9f e29e a0e2 ................ │ │ │ +000350b0: 9ea1 e29e a2e2 9ea3 e29e a4e2 9ea7 e29e ................ │ │ │ +000350c0: a8e2 9ea9 e29e aae2 9eab e29e ace2 9ead ................ │ │ │ +000350d0: e29e aee2 9eaf e29e b1e2 9eb2 e29e b3e2 ................ │ │ │ +000350e0: 9eba e29e bbe2 9ebc e29e bde2 9ebe e28a ................ │ │ │ +000350f0: b822 2929 0a20 2028 2275 2220 202e 202c .")). ("u" . , │ │ │ +00035100: 2861 6764 612d 696e 7075 742d 746f 2d73 (agda-input-to-s │ │ │ +00035110: 7472 696e 672d 6c69 7374 2022 e286 91e2 tring-list ".... │ │ │ +00035120: 8791 e2a4 8ae2 9fb0 e287 88e2 8785 e286 ................ │ │ │ +00035130: a5e2 87a7 e286 9fe2 86bf e286 bee2 87a1 ................ │ │ │ +00035140: e287 9e20 2020 2020 2020 2020 20e2 86b0 ... ... │ │ │ +00035150: e286 b1e2 9ea6 20e2 87aa e287 abe2 87ac ...... ......... │ │ │ +00035160: e287 ade2 87ae e287 af20 2020 2020 2020 ......... │ │ │ 00035170: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 00035180: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00035190: 2020 2022 2929 0a20 2028 2264 2220 202e ")). ("d" . │ │ │ -000351a0: 202c 2861 6764 612d 696e 7075 742d 746f ,(agda-input-to │ │ │ -000351b0: 2d73 7472 696e 672d 6c69 7374 2022 e286 -string-list ".. │ │ │ -000351c0: 93e2 8793 e2a4 8be2 9fb1 e287 8ae2 87b5 ................ │ │ │ -000351d0: e286 a7e2 87a9 e286 a1e2 8783 e287 82e2 ................ │ │ │ -000351e0: 87a3 e287 9f20 2020 2020 2020 2020 e286 ..... .. │ │ │ -000351f0: b5e2 86b2 e286 b3e2 9ea5 20e2 86af 2020 .......... ... │ │ │ +00035190: 2020 2020 2229 290a 2020 2822 6422 2020 ")). ("d" │ │ │ +000351a0: 2e20 2c28 6167 6461 2d69 6e70 7574 2d74 . ,(agda-input-t │ │ │ +000351b0: 6f2d 7374 7269 6e67 2d6c 6973 7420 22e2 o-string-list ". │ │ │ +000351c0: 8693 e287 93e2 a48b e29f b1e2 878a e287 ................ │ │ │ +000351d0: b5e2 86a7 e287 a9e2 86a1 e287 83e2 8782 ................ │ │ │ +000351e0: e287 a3e2 879f 2020 2020 2020 2020 20e2 ...... . │ │ │ +000351f0: 86b5 e286 b2e2 86b3 e29e a520 e286 af20 ........... ... │ │ │ 00035200: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 00035210: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00035220: 2020 2020 2020 2020 2020 2020 2020 2229 ") │ │ │ -00035230: 290a 2020 2822 7564 2220 2e20 2c28 6167 ). ("ud" . ,(ag │ │ │ -00035240: 6461 2d69 6e70 7574 2d74 6f2d 7374 7269 da-input-to-stri │ │ │ -00035250: 6e67 2d6c 6973 7420 22e2 8695 e287 9520 ng-list "...... │ │ │ -00035260: 2020 e286 a8e2 87b3 2020 2020 2020 2020 ...... │ │ │ +00035220: 2020 2020 2020 2020 2020 2020 2020 2022 " │ │ │ +00035230: 2929 0a20 2028 2275 6422 202e 202c 2861 )). ("ud" . ,(a │ │ │ +00035240: 6764 612d 696e 7075 742d 746f 2d73 7472 gda-input-to-str │ │ │ +00035250: 696e 672d 6c69 7374 2022 e286 95e2 8795 ing-list "...... │ │ │ +00035260: 2020 20e2 86a8 e287 b320 2020 2020 2020 ...... │ │ │ 00035270: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 00035280: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 00035290: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -000352a0: 2020 2020 2020 2020 2020 2020 2229 290a ")). │ │ │ -000352b0: 2020 2822 6c72 2220 2e20 2c28 6167 6461 ("lr" . ,(agda │ │ │ -000352c0: 2d69 6e70 7574 2d74 6f2d 7374 7269 6e67 -input-to-string │ │ │ -000352d0: 2d6c 6973 7420 22e2 8694 e287 9420 2020 -list "...... │ │ │ -000352e0: 2020 2020 2020 e287 bce2 86ad e287 bfe2 .......... │ │ │ -000352f0: 9fb7 e29f bae2 86ae e287 8ee2 87b9 2020 .............. │ │ │ +000352a0: 2020 2020 2020 2020 2020 2020 2022 2929 ")) │ │ │ +000352b0: 0a20 2028 226c 7222 202e 202c 2861 6764 . ("lr" . ,(agd │ │ │ +000352c0: 612d 696e 7075 742d 746f 2d73 7472 696e a-input-to-strin │ │ │ +000352d0: 672d 6c69 7374 2022 e286 94e2 8794 2020 g-list "...... │ │ │ +000352e0: 2020 2020 2020 20e2 87bc e286 ade2 87bf ......... │ │ │ +000352f0: e29f b7e2 9fba e286 aee2 878e e287 b920 ............... │ │ │ 00035300: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 00035310: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 00035320: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00035330: 2020 2020 2020 2229 290a 2020 2822 756c ")). ("ul │ │ │ -00035340: 2220 2e20 2c28 6167 6461 2d69 6e70 7574 " . ,(agda-input │ │ │ -00035350: 2d74 6f2d 7374 7269 6e67 2d6c 6973 7420 -to-string-list │ │ │ -00035360: 22e2 8696 e287 9620 2020 2020 2020 2020 "...... │ │ │ -00035370: 2020 2020 2020 2020 2020 2020 2020 20e2 . │ │ │ -00035380: 87b1 e286 b820 2020 2020 2020 2020 2020 ..... │ │ │ +00035330: 2020 2020 2020 2022 2929 0a20 2028 2275 ")). ("u │ │ │ +00035340: 6c22 202e 202c 2861 6764 612d 696e 7075 l" . ,(agda-inpu │ │ │ +00035350: 742d 746f 2d73 7472 696e 672d 6c69 7374 t-to-string-list │ │ │ +00035360: 2022 e286 96e2 8796 2020 2020 2020 2020 "...... │ │ │ +00035370: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +00035380: e287 b1e2 86b8 2020 2020 2020 2020 2020 ...... │ │ │ 00035390: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 000353a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -000353b0: 2020 2020 2229 290a 2020 2822 7572 2220 ")). ("ur" │ │ │ -000353c0: 2e20 2c28 6167 6461 2d69 6e70 7574 2d74 . ,(agda-input-t │ │ │ -000353d0: 6f2d 7374 7269 6e67 2d6c 6973 7420 22e2 o-string-list ". │ │ │ -000353e0: 8697 e287 9720 2020 2020 2020 2020 2020 ..... │ │ │ +000353b0: 2020 2020 2022 2929 0a20 2028 2275 7222 ")). ("ur" │ │ │ +000353c0: 202e 202c 2861 6764 612d 696e 7075 742d . ,(agda-input- │ │ │ +000353d0: 746f 2d73 7472 696e 672d 6c69 7374 2022 to-string-list " │ │ │ +000353e0: e286 97e2 8797 2020 2020 2020 2020 2020 ...... │ │ │ 000353f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00035400: 2020 2020 2020 2020 2020 2020 2020 e29e .. │ │ │ -00035410: b6e2 9eb9 e29e 9a20 2020 2020 2020 2020 ....... │ │ │ +00035400: 2020 2020 2020 2020 2020 2020 2020 20e2 . │ │ │ +00035410: 9eb6 e29e b9e2 9e9a 2020 2020 2020 2020 ........ │ │ │ 00035420: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00035430: 2020 2020 2229 290a 2020 2822 6472 2220 ")). ("dr" │ │ │ -00035440: 2e20 2c28 6167 6461 2d69 6e70 7574 2d74 . ,(agda-input-t │ │ │ -00035450: 6f2d 7374 7269 6e67 2d6c 6973 7420 22e2 o-string-list ". │ │ │ -00035460: 8698 e287 9820 2020 2020 2020 2020 2020 ..... │ │ │ -00035470: 2020 2020 2020 2020 2020 2020 20e2 87b2 ... │ │ │ -00035480: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00035490: e29e b4e2 9eb7 e29e 9820 2020 2020 2020 ......... │ │ │ +00035430: 2020 2020 2022 2929 0a20 2028 2264 7222 ")). ("dr" │ │ │ +00035440: 202e 202c 2861 6764 612d 696e 7075 742d . ,(agda-input- │ │ │ +00035450: 746f 2d73 7472 696e 672d 6c69 7374 2022 to-string-list " │ │ │ +00035460: e286 98e2 8798 2020 2020 2020 2020 2020 ...... │ │ │ +00035470: 2020 2020 2020 2020 2020 2020 2020 e287 .. │ │ │ +00035480: b220 2020 2020 2020 2020 2020 2020 2020 . │ │ │ +00035490: 20e2 9eb4 e29e b7e2 9e98 2020 2020 2020 ......... │ │ │ 000354a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -000354b0: 2020 2020 2020 2229 290a 2020 2822 646c ")). ("dl │ │ │ -000354c0: 2220 2e20 2c28 6167 6461 2d69 6e70 7574 " . ,(agda-input │ │ │ -000354d0: 2d74 6f2d 7374 7269 6e67 2d6c 6973 7420 -to-string-list │ │ │ -000354e0: 22e2 8699 e287 9920 2020 2020 2020 2020 "...... │ │ │ +000354b0: 2020 2020 2020 2022 2929 0a20 2028 2264 ")). ("d │ │ │ +000354c0: 6c22 202e 202c 2861 6764 612d 696e 7075 l" . ,(agda-inpu │ │ │ +000354d0: 742d 746f 2d73 7472 696e 672d 6c69 7374 t-to-string-list │ │ │ +000354e0: 2022 e286 99e2 8799 2020 2020 2020 2020 "...... │ │ │ 000354f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 00035500: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 00035510: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 00035520: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00035530: 2229 290a 0a20 2028 226c 2d22 2020 2e20 ")).. ("l-" . │ │ │ -00035540: 2822 e286 9022 2929 2020 2822 3c2d 2220 ("...")) ("<-" │ │ │ -00035550: 202e 2028 22e2 8690 2229 2920 2028 226c . ("...")) ("l │ │ │ -00035560: 3d22 2020 2e20 2822 e287 9022 2929 2020 =" . ("...")) │ │ │ -00035570: 2822 3c3d 2220 202e 2028 22e2 8790 2229 ("<=" . ("...") │ │ │ -00035580: 290a 2020 2822 722d 2220 202e 2028 22e2 ). ("r-" . (". │ │ │ -00035590: 8692 2229 2920 2028 222d 3e22 2020 2e20 ..")) ("->" . │ │ │ -000355a0: 2822 e286 9222 2929 2020 2822 723d 2220 ("...")) ("r=" │ │ │ -000355b0: 202e 2028 22e2 8792 2229 2920 2028 223d . ("...")) ("= │ │ │ -000355c0: 3e22 2020 2e20 2822 e287 9222 2929 0a20 >" . ("...")). │ │ │ -000355d0: 2028 2275 2d22 2020 2e20 2822 e286 9122 ("u-" . ("..." │ │ │ -000355e0: 2929 2020 2020 2020 2020 2020 2020 2020 )) │ │ │ -000355f0: 2020 2020 2028 2275 3d22 2020 2e20 2822 ("u=" . (" │ │ │ -00035600: e287 9122 2929 0a20 2028 2264 2d22 2020 ...")). ("d-" │ │ │ -00035610: 2e20 2822 e286 9322 2929 2020 2020 2020 . ("...")) │ │ │ -00035620: 2020 2020 2020 2020 2020 2020 2028 2264 ("d │ │ │ -00035630: 3d22 2020 2e20 2822 e287 9322 2929 0a20 =" . ("...")). │ │ │ -00035640: 2028 2275 642d 2220 2e20 2822 e286 9522 ("ud-" . ("..." │ │ │ -00035650: 2929 2020 2020 2020 2020 2020 2020 2020 )) │ │ │ -00035660: 2020 2020 2028 2275 643d 2220 2e20 2822 ("ud=" . (" │ │ │ -00035670: e287 9522 2929 0a20 2028 226c 722d 2220 ...")). ("lr-" │ │ │ -00035680: 2e20 2822 e286 9422 2929 2020 2822 3c2d . ("...")) ("<- │ │ │ -00035690: 3e22 202e 2028 22e2 8694 2229 2920 2028 >" . ("...")) ( │ │ │ -000356a0: 226c 723d 2220 2e20 2822 e287 9422 2929 "lr=" . ("...")) │ │ │ -000356b0: 2020 2822 3c3d 3e22 202e 2028 22e2 8794 ("<=>" . ("... │ │ │ -000356c0: 2229 290a 2020 2822 756c 2d22 202e 2028 ")). ("ul-" . ( │ │ │ -000356d0: 22e2 8696 2229 2920 2020 2020 2020 2020 "...")) │ │ │ -000356e0: 2020 2020 2020 2020 2020 2822 756c 3d22 ("ul=" │ │ │ -000356f0: 202e 2028 22e2 8796 2229 290a 2020 2822 . ("...")). (" │ │ │ -00035700: 7572 2d22 202e 2028 22e2 8697 2229 2920 ur-" . ("...")) │ │ │ +00035530: 2022 2929 0a0a 2020 2822 6c2d 2220 202e ")).. ("l-" . │ │ │ +00035540: 2028 22e2 8690 2229 2920 2028 223c 2d22 ("...")) ("<-" │ │ │ +00035550: 2020 2e20 2822 e286 9022 2929 2020 2822 . ("...")) (" │ │ │ +00035560: 6c3d 2220 202e 2028 22e2 8790 2229 2920 l=" . ("...")) │ │ │ +00035570: 2028 223c 3d22 2020 2e20 2822 e287 9022 ("<=" . ("..." │ │ │ +00035580: 2929 0a20 2028 2272 2d22 2020 2e20 2822 )). ("r-" . (" │ │ │ +00035590: e286 9222 2929 2020 2822 2d3e 2220 202e ...")) ("->" . │ │ │ +000355a0: 2028 22e2 8692 2229 2920 2028 2272 3d22 ("...")) ("r=" │ │ │ +000355b0: 2020 2e20 2822 e287 9222 2929 2020 2822 . ("...")) (" │ │ │ +000355c0: 3d3e 2220 202e 2028 22e2 8792 2229 290a =>" . ("...")). │ │ │ +000355d0: 2020 2822 752d 2220 202e 2028 22e2 8691 ("u-" . ("... │ │ │ +000355e0: 2229 2920 2020 2020 2020 2020 2020 2020 ")) │ │ │ +000355f0: 2020 2020 2020 2822 753d 2220 202e 2028 ("u=" . ( │ │ │ +00035600: 22e2 8791 2229 290a 2020 2822 642d 2220 "...")). ("d-" │ │ │ +00035610: 202e 2028 22e2 8693 2229 2920 2020 2020 . ("...")) │ │ │ +00035620: 2020 2020 2020 2020 2020 2020 2020 2822 (" │ │ │ +00035630: 643d 2220 202e 2028 22e2 8793 2229 290a d=" . ("...")). │ │ │ +00035640: 2020 2822 7564 2d22 202e 2028 22e2 8695 ("ud-" . ("... │ │ │ +00035650: 2229 2920 2020 2020 2020 2020 2020 2020 ")) │ │ │ +00035660: 2020 2020 2020 2822 7564 3d22 202e 2028 ("ud=" . ( │ │ │ +00035670: 22e2 8795 2229 290a 2020 2822 6c72 2d22 "...")). ("lr-" │ │ │ +00035680: 202e 2028 22e2 8694 2229 2920 2028 223c . ("...")) ("< │ │ │ +00035690: 2d3e 2220 2e20 2822 e286 9422 2929 2020 ->" . ("...")) │ │ │ +000356a0: 2822 6c72 3d22 202e 2028 22e2 8794 2229 ("lr=" . ("...") │ │ │ +000356b0: 2920 2028 223c 3d3e 2220 2e20 2822 e287 ) ("<=>" . (".. │ │ │ +000356c0: 9422 2929 0a20 2028 2275 6c2d 2220 2e20 .")). ("ul-" . │ │ │ +000356d0: 2822 e286 9622 2929 2020 2020 2020 2020 ("...")) │ │ │ +000356e0: 2020 2020 2020 2020 2020 2028 2275 6c3d ("ul= │ │ │ +000356f0: 2220 2e20 2822 e287 9622 2929 0a20 2028 " . ("...")). ( │ │ │ +00035700: 2275 722d 2220 2e20 2822 e286 9722 2929 "ur-" . ("...")) │ │ │ 00035710: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00035720: 2020 2822 7572 3d22 202e 2028 22e2 8797 ("ur=" . ("... │ │ │ -00035730: 2229 290a 2020 2822 6472 2d22 202e 2028 ")). ("dr-" . ( │ │ │ -00035740: 22e2 8698 2229 2920 2020 2020 2020 2020 "...")) │ │ │ -00035750: 2020 2020 2020 2020 2020 2822 6472 3d22 ("dr=" │ │ │ -00035760: 202e 2028 22e2 8798 2229 290a 2020 2822 . ("...")). (" │ │ │ -00035770: 646c 2d22 202e 2028 22e2 8699 2229 2920 dl-" . ("...")) │ │ │ +00035720: 2020 2028 2275 723d 2220 2e20 2822 e287 ("ur=" . (".. │ │ │ +00035730: 9722 2929 0a20 2028 2264 722d 2220 2e20 .")). ("dr-" . │ │ │ +00035740: 2822 e286 9822 2929 2020 2020 2020 2020 ("...")) │ │ │ +00035750: 2020 2020 2020 2020 2020 2028 2264 723d ("dr= │ │ │ +00035760: 2220 2e20 2822 e287 9822 2929 0a20 2028 " . ("...")). ( │ │ │ +00035770: 2264 6c2d 2220 2e20 2822 e286 9922 2929 "dl-" . ("...")) │ │ │ 00035780: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00035790: 2020 2822 646c 3d22 202e 2028 22e2 8799 ("dl=" . ("... │ │ │ -000357a0: 2229 290a 0a20 2028 226c 3d3d 2220 2e20 ")).. ("l==" . │ │ │ -000357b0: 2822 e287 9a22 2929 2020 2822 6c2d 3222 ("...")) ("l-2" │ │ │ -000357c0: 202e 2028 22e2 8787 2229 2920 2020 2020 . ("...")) │ │ │ -000357d0: 2020 2020 2020 2020 2020 2020 2020 2822 (" │ │ │ -000357e0: 6c2d 722d 2220 2e20 2822 e287 8622 2929 l-r-" . ("...")) │ │ │ -000357f0: 0a20 2028 2272 3d3d 2220 2e20 2822 e287 . ("r==" . (".. │ │ │ -00035800: 9b22 2929 2020 2822 722d 3222 202e 2028 .")) ("r-2" . ( │ │ │ -00035810: 22e2 8789 2229 2920 2028 2272 2d33 2220 "...")) ("r-3" │ │ │ -00035820: 2e20 2822 e287 b622 2929 2020 2822 722d . ("...")) ("r- │ │ │ -00035830: 6c2d 2220 2e20 2822 e287 8422 2929 0a20 l-" . ("...")). │ │ │ -00035840: 2028 2275 3d3d 2220 2e20 2822 e29f b022 ("u==" . ("..." │ │ │ -00035850: 2929 2020 2822 752d 3222 202e 2028 22e2 )) ("u-2" . (". │ │ │ -00035860: 8788 2229 2920 2020 2020 2020 2020 2020 ..")) │ │ │ -00035870: 2020 2020 2020 2020 2822 752d 642d 2220 ("u-d-" │ │ │ -00035880: 2e20 2822 e287 8522 2929 0a20 2028 2264 . ("...")). ("d │ │ │ -00035890: 3d3d 2220 2e20 2822 e29f b122 2929 2020 ==" . ("...")) │ │ │ -000358a0: 2822 642d 3222 202e 2028 22e2 878a 2229 ("d-2" . ("...") │ │ │ -000358b0: 2920 2020 2020 2020 2020 2020 2020 2020 ) │ │ │ -000358c0: 2020 2020 2822 642d 752d 2220 2e20 2822 ("d-u-" . (" │ │ │ -000358d0: e287 b522 2929 0a0a 2020 2822 6c2d 2d22 ...")).. ("l--" │ │ │ -000358e0: 2020 2e20 2822 e29f b522 2929 2020 2822 . ("...")) (" │ │ │ -000358f0: 3c2d 2d22 2020 2e20 2822 e29f b522 2929 <--" . ("...")) │ │ │ -00035900: 2020 2822 6c7e 2220 202e 2028 22e2 869c ("l~" . ("... │ │ │ -00035910: 2220 22e2 879c 2229 290a 2020 2822 722d " "...")). ("r- │ │ │ -00035920: 2d22 2020 2e20 2822 e29f b622 2929 2020 -" . ("...")) │ │ │ -00035930: 2822 2d2d 3e22 2020 2e20 2822 e29f b622 ("-->" . ("..." │ │ │ -00035940: 2929 2020 2822 727e 2220 202e 2028 22e2 )) ("r~" . (". │ │ │ -00035950: 869d 2220 22e2 879d 2220 22e2 9fbf 2229 .." "..." "...") │ │ │ -00035960: 290a 2020 2822 6c72 2d2d 2220 2e20 2822 ). ("lr--" . (" │ │ │ -00035970: e29f b722 2929 2020 2822 3c2d 2d3e 2220 ...")) ("<-->" │ │ │ -00035980: 2e20 2822 e29f b722 2929 2020 2822 6c72 . ("...")) ("lr │ │ │ -00035990: 7e22 202e 2028 22e2 86ad 2229 290a 0a20 ~" . ("...")).. │ │ │ -000359a0: 2028 226c 2d6e 2220 202e 2028 22e2 869a ("l-n" . ("... │ │ │ -000359b0: 2229 2920 2028 223c 2d6e 2220 202e 2028 ")) ("<-n" . ( │ │ │ -000359c0: 22e2 869a 2229 2920 2028 226c 3d6e 2220 "...")) ("l=n" │ │ │ -000359d0: 202e 2028 22e2 878d 2229 290a 2020 2822 . ("...")). (" │ │ │ -000359e0: 722d 6e22 2020 2e20 2822 e286 9b22 2929 r-n" . ("...")) │ │ │ -000359f0: 2020 2822 2d3e 6e22 2020 2e20 2822 e286 ("->n" . (".. │ │ │ -00035a00: 9b22 2929 2020 2822 723d 6e22 2020 2e20 .")) ("r=n" . │ │ │ -00035a10: 2822 e287 8f22 2929 2020 2822 3d3e 6e22 ("...")) ("=>n" │ │ │ -00035a20: 2020 2e20 2822 e287 8f22 2929 0a20 2028 . ("...")). ( │ │ │ -00035a30: 226c 722d 6e22 202e 2028 22e2 86ae 2229 "lr-n" . ("...") │ │ │ -00035a40: 2920 2028 223c 2d3e 6e22 202e 2028 22e2 ) ("<->n" . (". │ │ │ -00035a50: 86ae 2229 2920 2028 226c 723d 6e22 202e ..")) ("lr=n" . │ │ │ -00035a60: 2028 22e2 878e 2229 2920 2028 223c 3d3e ("...")) ("<=> │ │ │ -00035a70: 6e22 202e 2028 22e2 878e 2229 290a 0a20 n" . ("...")).. │ │ │ -00035a80: 2028 226c 2d7c 2220 202e 2028 22e2 86a4 ("l-|" . ("... │ │ │ -00035a90: 2229 2920 2028 226c 6c2d 2220 2e20 2822 ")) ("ll-" . (" │ │ │ -00035aa0: e286 9e22 2929 0a20 2028 2272 2d7c 2220 ...")). ("r-|" │ │ │ -00035ab0: 202e 2028 22e2 86a6 2229 2920 2028 2272 . ("...")) ("r │ │ │ -00035ac0: 722d 2220 2e20 2822 e286 a022 2929 0a20 r-" . ("...")). │ │ │ -00035ad0: 2028 2275 2d7c 2220 202e 2028 22e2 86a5 ("u-|" . ("... │ │ │ -00035ae0: 2229 2920 2028 2275 752d 2220 2e20 2822 ")) ("uu-" . (" │ │ │ -00035af0: e286 9f22 2929 0a20 2028 2264 2d7c 2220 ...")). ("d-|" │ │ │ -00035b00: 202e 2028 22e2 86a7 2229 2920 2028 2264 . ("...")) ("d │ │ │ -00035b10: 642d 2220 2e20 2822 e286 a122 2929 0a20 d-" . ("...")). │ │ │ -00035b20: 2028 2275 642d 7c22 202e 2028 22e2 86a8 ("ud-|" . ("... │ │ │ -00035b30: 2229 290a 0a20 2028 226c 2d3e 2220 2e20 ")).. ("l->" . │ │ │ -00035b40: 2822 e286 a222 2929 0a20 2028 2272 2d3e ("...")). ("r-> │ │ │ -00035b50: 2220 2e20 2822 e286 a322 2929 0a0a 2020 " . ("...")).. │ │ │ -00035b60: 2822 722d 6f22 202e 2028 22e2 8ab8 2229 ("r-o" . ("...") │ │ │ -00035b70: 2920 2028 222d 6f22 2020 2e20 2822 e28a ) ("-o" . (".. │ │ │ -00035b80: b822 2929 0a20 2028 226c 2d6f 2220 2e20 .")). ("l-o" . │ │ │ -00035b90: 2822 e29f 9c22 2929 0a0a 2020 2822 647a ("...")).. ("dz │ │ │ -00035ba0: 2220 2e20 2822 e286 af22 2929 0a0a 2020 " . ("...")).. │ │ │ -00035bb0: 3b3b 2045 6c6c 6970 7369 732e 0a0a 2020 ;; Ellipsis... │ │ │ -00035bc0: 2822 2e2e 2e22 202e 202c 2861 6764 612d ("..." . ,(agda- │ │ │ -00035bd0: 696e 7075 742d 746f 2d73 7472 696e 672d input-to-string- │ │ │ -00035be0: 6c69 7374 2022 e28b afe2 8bae e28b b0e2 list ".......... │ │ │ -00035bf0: 8bb1 2229 290a 0a20 203b 3b20 426f 782d ..")).. ;; Box- │ │ │ -00035c00: 6472 6177 696e 6720 6368 6172 6163 7465 drawing characte │ │ │ -00035c10: 7273 2e0a 0a20 2028 222d 2d2d 2220 2e20 rs... ("---" . │ │ │ -00035c20: 2c28 6167 6461 2d69 6e70 7574 2d74 6f2d ,(agda-input-to- │ │ │ -00035c30: 7374 7269 6e67 2d6c 6973 7420 22e2 9480 string-list "... │ │ │ -00035c40: e294 82e2 948c e294 90e2 9494 e294 98e2 ................ │ │ │ -00035c50: 949c e294 a4e2 94ac e294 bce2 94b4 e295 ................ │ │ │ -00035c60: b4e2 95b5 e295 b6e2 95b7 e295 ade2 95ae ................ │ │ │ -00035c70: e295 afe2 95b0 e295 b1e2 95b2 e295 b322 ..............." │ │ │ -00035c80: 2929 0a20 2028 222d 2d3d 2220 2e20 2c28 )). ("--=" . ,( │ │ │ -00035c90: 6167 6461 2d69 6e70 7574 2d74 6f2d 7374 agda-input-to-st │ │ │ -00035ca0: 7269 6e67 2d6c 6973 7420 22e2 9590 e295 ring-list "..... │ │ │ -00035cb0: 91e2 9594 e295 97e2 959a e295 9de2 95a0 ................ │ │ │ -00035cc0: e295 a3e2 95a6 e295 ace2 95a9 2020 2020 ............ │ │ │ -00035cd0: 20e2 9592 e295 95e2 9598 e295 9be2 959e ............... │ │ │ -00035ce0: e295 a1e2 95a4 e295 aae2 95a7 20e2 9593 ............ ... │ │ │ -00035cf0: e295 96e2 9599 e295 9ce2 959f e295 a2e2 ................ │ │ │ -00035d00: 95a5 e295 abe2 95a8 2229 290a 2020 2822 ........")). (" │ │ │ -00035d10: 2d2d 5f22 202e 202c 2861 6764 612d 696e --_" . ,(agda-in │ │ │ -00035d20: 7075 742d 746f 2d73 7472 696e 672d 6c69 put-to-string-li │ │ │ -00035d30: 7374 2022 e294 81e2 9483 e294 8fe2 9493 st "............ │ │ │ -00035d40: e294 97e2 949b e294 a3e2 94ab e294 b3e2 ................ │ │ │ -00035d50: 958b e294 bbe2 95b8 e295 b9e2 95ba e295 ................ │ │ │ -00035d60: bb0a 2020 2020 2020 2020 2020 2020 2020 .. │ │ │ +00035790: 2020 2028 2264 6c3d 2220 2e20 2822 e287 ("dl=" . (".. │ │ │ +000357a0: 9922 2929 0a0a 2020 2822 6c3d 3d22 202e .")).. ("l==" . │ │ │ +000357b0: 2028 22e2 879a 2229 2920 2028 226c 2d32 ("...")) ("l-2 │ │ │ +000357c0: 2220 2e20 2822 e287 8722 2929 2020 2020 " . ("...")) │ │ │ +000357d0: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ +000357e0: 226c 2d72 2d22 202e 2028 22e2 8786 2229 "l-r-" . ("...") │ │ │ +000357f0: 290a 2020 2822 723d 3d22 202e 2028 22e2 ). ("r==" . (". │ │ │ +00035800: 879b 2229 2920 2028 2272 2d32 2220 2e20 ..")) ("r-2" . │ │ │ +00035810: 2822 e287 8922 2929 2020 2822 722d 3322 ("...")) ("r-3" │ │ │ +00035820: 202e 2028 22e2 87b6 2229 2920 2028 2272 . ("...")) ("r │ │ │ +00035830: 2d6c 2d22 202e 2028 22e2 8784 2229 290a -l-" . ("...")). │ │ │ +00035840: 2020 2822 753d 3d22 202e 2028 22e2 9fb0 ("u==" . ("... │ │ │ +00035850: 2229 2920 2028 2275 2d32 2220 2e20 2822 ")) ("u-2" . (" │ │ │ +00035860: e287 8822 2929 2020 2020 2020 2020 2020 ...")) │ │ │ +00035870: 2020 2020 2020 2020 2028 2275 2d64 2d22 ("u-d-" │ │ │ +00035880: 202e 2028 22e2 8785 2229 290a 2020 2822 . ("...")). (" │ │ │ +00035890: 643d 3d22 202e 2028 22e2 9fb1 2229 2920 d==" . ("...")) │ │ │ +000358a0: 2028 2264 2d32 2220 2e20 2822 e287 8a22 ("d-2" . ("..." │ │ │ +000358b0: 2929 2020 2020 2020 2020 2020 2020 2020 )) │ │ │ +000358c0: 2020 2020 2028 2264 2d75 2d22 202e 2028 ("d-u-" . ( │ │ │ +000358d0: 22e2 87b5 2229 290a 0a20 2028 226c 2d2d "...")).. ("l-- │ │ │ +000358e0: 2220 202e 2028 22e2 9fb5 2229 2920 2028 " . ("...")) ( │ │ │ +000358f0: 223c 2d2d 2220 202e 2028 22e2 9fb5 2229 "<--" . ("...") │ │ │ +00035900: 2920 2028 226c 7e22 2020 2e20 2822 e286 ) ("l~" . (".. │ │ │ +00035910: 9c22 2022 e287 9c22 2929 0a20 2028 2272 ." "...")). ("r │ │ │ +00035920: 2d2d 2220 202e 2028 22e2 9fb6 2229 2920 --" . ("...")) │ │ │ +00035930: 2028 222d 2d3e 2220 202e 2028 22e2 9fb6 ("-->" . ("... │ │ │ +00035940: 2229 2920 2028 2272 7e22 2020 2e20 2822 ")) ("r~" . (" │ │ │ +00035950: e286 9d22 2022 e287 9d22 2022 e29f bf22 ..." "..." "..." │ │ │ +00035960: 2929 0a20 2028 226c 722d 2d22 202e 2028 )). ("lr--" . ( │ │ │ +00035970: 22e2 9fb7 2229 2920 2028 223c 2d2d 3e22 "...")) ("<-->" │ │ │ +00035980: 202e 2028 22e2 9fb7 2229 2920 2028 226c . ("...")) ("l │ │ │ +00035990: 727e 2220 2e20 2822 e286 ad22 2929 0a0a r~" . ("...")).. │ │ │ +000359a0: 2020 2822 6c2d 6e22 2020 2e20 2822 e286 ("l-n" . (".. │ │ │ +000359b0: 9a22 2929 2020 2822 3c2d 6e22 2020 2e20 .")) ("<-n" . │ │ │ +000359c0: 2822 e286 9a22 2929 2020 2822 6c3d 6e22 ("...")) ("l=n" │ │ │ +000359d0: 2020 2e20 2822 e287 8d22 2929 0a20 2028 . ("...")). ( │ │ │ +000359e0: 2272 2d6e 2220 202e 2028 22e2 869b 2229 "r-n" . ("...") │ │ │ +000359f0: 2920 2028 222d 3e6e 2220 202e 2028 22e2 ) ("->n" . (". │ │ │ +00035a00: 869b 2229 2920 2028 2272 3d6e 2220 202e ..")) ("r=n" . │ │ │ +00035a10: 2028 22e2 878f 2229 2920 2028 223d 3e6e ("...")) ("=>n │ │ │ +00035a20: 2220 202e 2028 22e2 878f 2229 290a 2020 " . ("...")). │ │ │ +00035a30: 2822 6c72 2d6e 2220 2e20 2822 e286 ae22 ("lr-n" . ("..." │ │ │ +00035a40: 2929 2020 2822 3c2d 3e6e 2220 2e20 2822 )) ("<->n" . (" │ │ │ +00035a50: e286 ae22 2929 2020 2822 6c72 3d6e 2220 ...")) ("lr=n" │ │ │ +00035a60: 2e20 2822 e287 8e22 2929 2020 2822 3c3d . ("...")) ("<= │ │ │ +00035a70: 3e6e 2220 2e20 2822 e287 8e22 2929 0a0a >n" . ("...")).. │ │ │ +00035a80: 2020 2822 6c2d 7c22 2020 2e20 2822 e286 ("l-|" . (".. │ │ │ +00035a90: a422 2929 2020 2822 6c6c 2d22 202e 2028 .")) ("ll-" . ( │ │ │ +00035aa0: 22e2 869e 2229 290a 2020 2822 722d 7c22 "...")). ("r-|" │ │ │ +00035ab0: 2020 2e20 2822 e286 a622 2929 2020 2822 . ("...")) (" │ │ │ +00035ac0: 7272 2d22 202e 2028 22e2 86a0 2229 290a rr-" . ("...")). │ │ │ +00035ad0: 2020 2822 752d 7c22 2020 2e20 2822 e286 ("u-|" . (".. │ │ │ +00035ae0: a522 2929 2020 2822 7575 2d22 202e 2028 .")) ("uu-" . ( │ │ │ +00035af0: 22e2 869f 2229 290a 2020 2822 642d 7c22 "...")). ("d-|" │ │ │ +00035b00: 2020 2e20 2822 e286 a722 2929 2020 2822 . ("...")) (" │ │ │ +00035b10: 6464 2d22 202e 2028 22e2 86a1 2229 290a dd-" . ("...")). │ │ │ +00035b20: 2020 2822 7564 2d7c 2220 2e20 2822 e286 ("ud-|" . (".. │ │ │ +00035b30: a822 2929 0a0a 2020 2822 6c2d 3e22 202e .")).. ("l->" . │ │ │ +00035b40: 2028 22e2 86a2 2229 290a 2020 2822 722d ("...")). ("r- │ │ │ +00035b50: 3e22 202e 2028 22e2 86a3 2229 290a 0a20 >" . ("...")).. │ │ │ +00035b60: 2028 2272 2d6f 2220 2e20 2822 e28a b822 ("r-o" . ("..." │ │ │ +00035b70: 2929 2020 2822 2d6f 2220 202e 2028 22e2 )) ("-o" . (". │ │ │ +00035b80: 8ab8 2229 290a 2020 2822 6c2d 6f22 202e ..")). ("l-o" . │ │ │ +00035b90: 2028 22e2 9f9c 2229 290a 0a20 2028 2264 ("...")).. ("d │ │ │ +00035ba0: 7a22 202e 2028 22e2 86af 2229 290a 0a20 z" . ("...")).. │ │ │ +00035bb0: 203b 3b20 456c 6c69 7073 6973 2e0a 0a20 ;; Ellipsis... │ │ │ +00035bc0: 2028 222e 2e2e 2220 2e20 2c28 6167 6461 ("..." . ,(agda │ │ │ +00035bd0: 2d69 6e70 7574 2d74 6f2d 7374 7269 6e67 -input-to-string │ │ │ +00035be0: 2d6c 6973 7420 22e2 8baf e28b aee2 8bb0 -list "......... │ │ │ +00035bf0: e28b b122 2929 0a0a 2020 3b3b 2042 6f78 ...")).. ;; Box │ │ │ +00035c00: 2d64 7261 7769 6e67 2063 6861 7261 6374 -drawing charact │ │ │ +00035c10: 6572 732e 0a0a 2020 2822 2d2d 2d22 202e ers... ("---" . │ │ │ +00035c20: 202c 2861 6764 612d 696e 7075 742d 746f ,(agda-input-to │ │ │ +00035c30: 2d73 7472 696e 672d 6c69 7374 2022 e294 -string-list ".. │ │ │ +00035c40: 80e2 9482 e294 8ce2 9490 e294 94e2 9498 ................ │ │ │ +00035c50: e294 9ce2 94a4 e294 ace2 94bc e294 b4e2 ................ │ │ │ +00035c60: 95b4 e295 b5e2 95b6 e295 b7e2 95ad e295 ................ │ │ │ +00035c70: aee2 95af e295 b0e2 95b1 e295 b2e2 95b3 ................ │ │ │ +00035c80: 2229 290a 2020 2822 2d2d 3d22 202e 202c ")). ("--=" . , │ │ │ +00035c90: 2861 6764 612d 696e 7075 742d 746f 2d73 (agda-input-to-s │ │ │ +00035ca0: 7472 696e 672d 6c69 7374 2022 e295 90e2 tring-list ".... │ │ │ +00035cb0: 9591 e295 94e2 9597 e295 9ae2 959d e295 ................ │ │ │ +00035cc0: a0e2 95a3 e295 a6e2 95ac e295 a920 2020 ............. │ │ │ +00035cd0: 2020 e295 92e2 9595 e295 98e2 959b e295 .............. │ │ │ +00035ce0: 9ee2 95a1 e295 a4e2 95aa e295 a720 e295 ............. .. │ │ │ +00035cf0: 93e2 9596 e295 99e2 959c e295 9fe2 95a2 ................ │ │ │ +00035d00: e295 a5e2 95ab e295 a822 2929 0a20 2028 .........")). ( │ │ │ +00035d10: 222d 2d5f 2220 2e20 2c28 6167 6461 2d69 "--_" . ,(agda-i │ │ │ +00035d20: 6e70 7574 2d74 6f2d 7374 7269 6e67 2d6c nput-to-string-l │ │ │ +00035d30: 6973 7420 22e2 9481 e294 83e2 948f e294 ist "........... │ │ │ +00035d40: 93e2 9497 e294 9be2 94a3 e294 abe2 94b3 ................ │ │ │ +00035d50: e295 8be2 94bb e295 b8e2 95b9 e295 bae2 ................ │ │ │ +00035d60: 95bb 0a20 2020 2020 2020 2020 2020 2020 ... │ │ │ 00035d70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00035d80: 2020 2020 2020 2020 2020 e294 8de2 94af ...... │ │ │ -00035d90: e294 91e2 9495 e294 b7e2 9499 e294 9de2 ................ │ │ │ -00035da0: 94bf e294 a5e2 948e e294 b0e2 9492 e294 ................ │ │ │ -00035db0: 96e2 94b8 e294 9ae2 94a0 e295 82e2 94a8 ................ │ │ │ -00035dc0: e294 9ee2 9580 e294 a6e2 949f e295 81e2 ................ │ │ │ -00035dd0: 94a7 e294 a2e2 9588 e294 aae2 94a1 e295 ................ │ │ │ -00035de0: 87e2 94a9 0a20 2020 2020 2020 2020 2020 ..... │ │ │ +00035d80: 2020 2020 2020 2020 2020 20e2 948d e294 ..... │ │ │ +00035d90: afe2 9491 e294 95e2 94b7 e294 99e2 949d ................ │ │ │ +00035da0: e294 bfe2 94a5 e294 8ee2 94b0 e294 92e2 ................ │ │ │ +00035db0: 9496 e294 b8e2 949a e294 a0e2 9582 e294 ................ │ │ │ +00035dc0: a8e2 949e e295 80e2 94a6 e294 9fe2 9581 ................ │ │ │ +00035dd0: e294 a7e2 94a2 e295 88e2 94aa e294 a1e2 ................ │ │ │ +00035de0: 9587 e294 a90a 2020 2020 2020 2020 2020 ...... │ │ │ 00035df0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00035e00: 2020 2020 2020 2020 2020 2020 20e2 94ae ... │ │ │ -00035e10: e294 ade2 94b6 e294 b5e2 94be e294 bde2 ................ │ │ │ -00035e20: 94b2 e294 b1e2 94ba e294 b9e2 958a e295 ................ │ │ │ -00035e30: 89e2 9586 e295 85e2 9584 e295 8320 e295 ............. .. │ │ │ -00035e40: bfe2 95bd e295 bce2 95be 2229 290a 2020 ..........")). │ │ │ -00035e50: 2822 2d2d 2e22 202e 202c 2861 6764 612d ("--." . ,(agda- │ │ │ -00035e60: 696e 7075 742d 746f 2d73 7472 696e 672d input-to-string- │ │ │ -00035e70: 6c69 7374 2022 e295 8ce2 958e e294 84e2 list ".......... │ │ │ -00035e80: 9486 e294 88e2 948a 0a20 2020 2020 2020 ......... │ │ │ +00035e00: 2020 2020 2020 2020 2020 2020 2020 e294 .. │ │ │ +00035e10: aee2 94ad e294 b6e2 94b5 e294 bee2 94bd ................ │ │ │ +00035e20: e294 b2e2 94b1 e294 bae2 94b9 e295 8ae2 ................ │ │ │ +00035e30: 9589 e295 86e2 9585 e295 84e2 9583 20e2 .............. . │ │ │ +00035e40: 95bf e295 bde2 95bc e295 be22 2929 0a20 ...........")). │ │ │ +00035e50: 2028 222d 2d2e 2220 2e20 2c28 6167 6461 ("--." . ,(agda │ │ │ +00035e60: 2d69 6e70 7574 2d74 6f2d 7374 7269 6e67 -input-to-string │ │ │ +00035e70: 2d6c 6973 7420 22e2 958c e295 8ee2 9484 -list "......... │ │ │ +00035e80: e294 86e2 9488 e294 8a0a 2020 2020 2020 .......... │ │ │ 00035e90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 00035ea0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00035eb0: 20e2 958d e295 8fe2 9485 e294 87e2 9489 ............... │ │ │ -00035ec0: e294 8b22 2929 0a0a 2020 3b3b 2054 7269 ...")).. ;; Tri │ │ │ -00035ed0: 616e 676c 6573 2e0a 0a20 203b 3b20 4269 angles... ;; Bi │ │ │ -00035ee0: 672f 736d 616c 6c2c 2062 6c61 636b 2f77 g/small, black/w │ │ │ -00035ef0: 6869 7465 2e0a 0a20 2028 2274 2220 2e20 hite... ("t" . │ │ │ -00035f00: 2c28 6167 6461 2d69 6e70 7574 2d74 6f2d ,(agda-input-to- │ │ │ -00035f10: 7374 7269 6e67 2d6c 6973 7420 22e2 9782 string-list "... │ │ │ -00035f20: e297 83e2 9784 e297 85e2 96b8 e296 b9e2 ................ │ │ │ -00035f30: 96ba e296 bbe2 96b4 e296 b5e2 96be e296 ................ │ │ │ -00035f40: bfe2 97a2 e297 bfe2 97a3 e297 bae2 97a4 ................ │ │ │ -00035f50: e297 b8e2 97a5 e297 b922 2929 0a20 2028 .........")). ( │ │ │ -00035f60: 2254 2220 2e20 2c28 6167 6461 2d69 6e70 "T" . ,(agda-inp │ │ │ -00035f70: 7574 2d74 6f2d 7374 7269 6e67 2d6c 6973 ut-to-string-lis │ │ │ -00035f80: 7420 22e2 9780 e297 81e2 96b6 e296 b7e2 t "............. │ │ │ -00035f90: 96b2 e296 b3e2 96bc e296 bde2 97ac e297 ................ │ │ │ -00035fa0: ade2 97ae 2229 290a 0a20 2028 2274 6222 ....")).. ("tb" │ │ │ -00035fb0: 202e 202c 2861 6764 612d 696e 7075 742d . ,(agda-input- │ │ │ -00035fc0: 746f 2d73 7472 696e 672d 6c69 7374 2022 to-string-list " │ │ │ -00035fd0: e297 82e2 96b8 e296 b4e2 96be e297 84e2 ................ │ │ │ -00035fe0: 96ba e297 a2e2 97a3 e297 a4e2 97a5 2229 ..............") │ │ │ -00035ff0: 290a 2020 2822 7477 2220 2e20 2c28 6167 ). ("tw" . ,(ag │ │ │ -00036000: 6461 2d69 6e70 7574 2d74 6f2d 7374 7269 da-input-to-stri │ │ │ -00036010: 6e67 2d6c 6973 7420 22e2 9783 e296 b9e2 ng-list "....... │ │ │ -00036020: 96b5 e296 bfe2 9785 e296 bbe2 97bf e297 ................ │ │ │ -00036030: bae2 97b8 e297 b922 2929 0a0a 2020 2822 .......")).. (" │ │ │ -00036040: 5462 2220 2e20 2c28 6167 6461 2d69 6e70 Tb" . ,(agda-inp │ │ │ -00036050: 7574 2d74 6f2d 7374 7269 6e67 2d6c 6973 ut-to-string-lis │ │ │ -00036060: 7420 22e2 9780 e296 b6e2 96b2 e296 bc22 t "............" │ │ │ -00036070: 2929 0a20 2028 2254 7722 202e 202c 2861 )). ("Tw" . ,(a │ │ │ -00036080: 6764 612d 696e 7075 742d 746f 2d73 7472 gda-input-to-str │ │ │ -00036090: 696e 672d 6c69 7374 2022 e297 81e2 96b7 ing-list "...... │ │ │ -000360a0: e296 b3e2 96bd 2229 290a 0a20 203b 3b20 ......")).. ;; │ │ │ -000360b0: 5371 7561 7265 732e 0a0a 2020 2822 7371 Squares... ("sq │ │ │ -000360c0: 2220 202e 202c 2861 6764 612d 696e 7075 " . ,(agda-inpu │ │ │ -000360d0: 742d 746f 2d73 7472 696e 672d 6c69 7374 t-to-string-list │ │ │ -000360e0: 2022 e296 a0e2 96a1 e297 bce2 97bb e297 ".............. │ │ │ -000360f0: bee2 97bd e296 a3e2 96a2 e296 a4e2 96a5 ................ │ │ │ -00036100: e296 a6e2 96a7 e296 a8e2 96a9 e297 a7e2 ................ │ │ │ -00036110: 97a8 e297 a9e2 97aa e297 abe2 97b0 e297 ................ │ │ │ -00036120: b1e2 97b2 e297 b322 2929 0a20 2028 2273 .......")). ("s │ │ │ -00036130: 7162 2220 2e20 2c28 6167 6461 2d69 6e70 qb" . ,(agda-inp │ │ │ -00036140: 7574 2d74 6f2d 7374 7269 6e67 2d6c 6973 ut-to-string-lis │ │ │ -00036150: 7420 22e2 96a0 e297 bce2 97be 2229 290a t ".........")). │ │ │ -00036160: 2020 2822 7371 7722 202e 202c 2861 6764 ("sqw" . ,(agd │ │ │ -00036170: 612d 696e 7075 742d 746f 2d73 7472 696e a-input-to-strin │ │ │ -00036180: 672d 6c69 7374 2022 e296 a1e2 97bb e297 g-list "........ │ │ │ -00036190: bd22 2929 0a20 2028 2273 712e 2220 2e20 .")). ("sq." . │ │ │ -000361a0: 2822 e296 a322 2929 0a20 2028 2273 716f ("...")). ("sqo │ │ │ -000361b0: 2220 2e20 2822 e296 a222 2929 0a0a 2020 " . ("...")).. │ │ │ -000361c0: 3b3b 2052 6563 7461 6e67 6c65 732e 0a0a ;; Rectangles... │ │ │ -000361d0: 2020 2822 7265 2220 202e 202c 2861 6764 ("re" . ,(agd │ │ │ -000361e0: 612d 696e 7075 742d 746f 2d73 7472 696e a-input-to-strin │ │ │ -000361f0: 672d 6c69 7374 2022 e296 ace2 96ad e296 g-list "........ │ │ │ -00036200: aee2 96af 2229 290a 2020 2822 7265 6222 ....")). ("reb" │ │ │ -00036210: 202e 202c 2861 6764 612d 696e 7075 742d . ,(agda-input- │ │ │ -00036220: 746f 2d73 7472 696e 672d 6c69 7374 2022 to-string-list " │ │ │ -00036230: e296 ace2 96ae 2229 290a 2020 2822 7265 ......")). ("re │ │ │ -00036240: 7722 202e 202c 2861 6764 612d 696e 7075 w" . ,(agda-inpu │ │ │ -00036250: 742d 746f 2d73 7472 696e 672d 6c69 7374 t-to-string-list │ │ │ -00036260: 2022 e296 ade2 96af 2229 290a 0a20 203b "......")).. ; │ │ │ -00036270: 3b20 5061 7261 6c6c 656c 6f67 7261 6d73 ; Parallelograms │ │ │ -00036280: 2e0a 0a20 2028 2270 6122 2020 2e20 2c28 ... ("pa" . ,( │ │ │ -00036290: 6167 6461 2d69 6e70 7574 2d74 6f2d 7374 agda-input-to-st │ │ │ -000362a0: 7269 6e67 2d6c 6973 7420 22e2 96b0 e296 ring-list "..... │ │ │ -000362b0: b122 2929 0a20 2028 2270 6162 2220 2e20 .")). ("pab" . │ │ │ -000362c0: 2822 e296 b022 2929 0a20 2028 2270 6177 ("...")). ("paw │ │ │ -000362d0: 2220 2e20 2822 e296 b122 2929 0a0a 2020 " . ("...")).. │ │ │ -000362e0: 3b3b 2044 6961 6d6f 6e64 732e 0a0a 2020 ;; Diamonds... │ │ │ -000362f0: 2822 6469 2220 202e 202c 2861 6764 612d ("di" . ,(agda- │ │ │ -00036300: 696e 7075 742d 746f 2d73 7472 696e 672d input-to-string- │ │ │ -00036310: 6c69 7374 2022 e297 86e2 9787 e297 8822 list "........." │ │ │ -00036320: 2929 0a20 2028 2264 6962 2220 2e20 2822 )). ("dib" . (" │ │ │ -00036330: e297 8622 2929 0a20 2028 2264 6977 2220 ...")). ("diw" │ │ │ -00036340: 2e20 2822 e297 8722 2929 0a20 2028 2264 . ("...")). ("d │ │ │ -00036350: 692e 2220 2e20 2822 e297 8822 2929 0a0a i." . ("...")).. │ │ │ -00036360: 2020 3b3b 2043 6972 636c 6573 2e0a 0a20 ;; Circles... │ │ │ -00036370: 2028 2263 6922 2020 202e 202c 2861 6764 ("ci" . ,(agd │ │ │ -00036380: 612d 696e 7075 742d 746f 2d73 7472 696e a-input-to-strin │ │ │ -00036390: 672d 6c69 7374 2022 e297 8fe2 978b e297 g-list "........ │ │ │ -000363a0: 8ee2 978c e297 afe2 978d e297 90e2 9791 ................ │ │ │ -000363b0: e297 92e2 9793 e297 94e2 9795 e297 96e2 ................ │ │ │ -000363c0: 9797 e297 a0e2 97a1 e297 b4e2 97b5 e297 ................ │ │ │ -000363d0: b6e2 97b7 e29a 86e2 9a87 e29a 88e2 9a89 ................ │ │ │ -000363e0: 2229 290a 2020 2822 6369 6222 2020 2e20 ")). ("cib" . │ │ │ -000363f0: 2822 e297 8f22 2929 0a20 2028 2263 6977 ("...")). ("ciw │ │ │ -00036400: 2220 202e 2028 22e2 978b 2229 290a 2020 " . ("...")). │ │ │ -00036410: 2822 6369 2e22 2020 2e20 2822 e297 8e22 ("ci." . ("..." │ │ │ -00036420: 2929 0a20 2028 2263 692e 2e22 202e 2028 )). ("ci.." . ( │ │ │ -00036430: 22e2 978c 2229 290a 2020 2822 6369 4f22 "...")). ("ciO" │ │ │ -00036440: 2020 2e20 2822 e297 af22 2929 0a0a 2020 . ("...")).. │ │ │ -00036450: 3b3b 2053 7461 7273 2e0a 0a20 2028 2273 ;; Stars... ("s │ │ │ -00036460: 7422 2020 202e 202c 2861 6764 612d 696e t" . ,(agda-in │ │ │ -00036470: 7075 742d 746f 2d73 7472 696e 672d 6c69 put-to-string-li │ │ │ -00036480: 7374 2022 e28b 86e2 9ca6 e29c a7e2 9cb6 st "............ │ │ │ -00036490: e29c b4e2 9cb9 20e2 9885 e298 86e2 9caa ...... ......... │ │ │ -000364a0: e29c abe2 9caf e29c b0e2 9cb5 e29c b7e2 ................ │ │ │ -000364b0: 9cb8 2229 290a 2020 2822 7374 3422 2020 ..")). ("st4" │ │ │ -000364c0: 2e20 2c28 6167 6461 2d69 6e70 7574 2d74 . ,(agda-input-t │ │ │ -000364d0: 6f2d 7374 7269 6e67 2d6c 6973 7420 22e2 o-string-list ". │ │ │ -000364e0: 9ca6 e29c a722 2929 0a20 2028 2273 7436 .....")). ("st6 │ │ │ -000364f0: 2220 202e 2028 22e2 9cb6 2229 290a 2020 " . ("...")). │ │ │ -00036500: 2822 7374 3822 2020 2e20 2822 e29c b422 ("st8" . ("..." │ │ │ -00036510: 2929 0a20 2028 2273 7431 3222 202e 2028 )). ("st12" . ( │ │ │ -00036520: 22e2 9cb9 2229 290a 0a20 203b 3b20 426c "...")).. ;; Bl │ │ │ -00036530: 6163 6b62 6f61 7264 2062 6f6c 6420 6c65 ackboard bold le │ │ │ -00036540: 7474 6572 732e 0a0a 2020 2822 6241 2220 tters... ("bA" │ │ │ -00036550: 2020 2e20 2822 f09d 94b8 2229 290a 2020 . ("....")). │ │ │ -00036560: 2822 6242 2220 2020 2e20 2822 f09d 94b9 ("bB" . (".... │ │ │ -00036570: 2229 290a 2020 2822 6243 2220 2020 2e20 ")). ("bC" . │ │ │ -00036580: 2822 e284 8222 2929 0a20 2028 2262 4422 ("...")). ("bD" │ │ │ -00036590: 2020 202e 2028 22f0 9d94 bb22 2929 0a20 . ("....")). │ │ │ -000365a0: 2028 2262 4522 2020 202e 2028 22f0 9d94 ("bE" . ("... │ │ │ -000365b0: bc22 2929 0a20 2028 2262 4622 2020 202e .")). ("bF" . │ │ │ -000365c0: 2028 22f0 9d94 bd22 2929 0a20 2028 2262 ("....")). ("b │ │ │ -000365d0: 4722 2020 202e 2028 22f0 9d94 be22 2929 G" . ("....")) │ │ │ -000365e0: 0a20 2028 2262 4822 2020 202e 2028 22e2 . ("bH" . (". │ │ │ -000365f0: 848d 2229 290a 2020 2822 6249 2220 2020 ..")). ("bI" │ │ │ -00036600: 2e20 2822 f09d 9580 2229 290a 2020 2822 . ("....")). (" │ │ │ -00036610: 624a 2220 2020 2e20 2822 f09d 9581 2229 bJ" . ("....") │ │ │ -00036620: 290a 2020 2822 624b 2220 2020 2e20 2822 ). ("bK" . (" │ │ │ -00036630: f09d 9582 2229 290a 2020 2822 624c 2220 ....")). ("bL" │ │ │ -00036640: 2020 2e20 2822 f09d 9583 2229 290a 2020 . ("....")). │ │ │ -00036650: 2822 624d 2220 2020 2e20 2822 f09d 9584 ("bM" . (".... │ │ │ -00036660: 2229 290a 2020 2822 624e 2220 2020 2e20 ")). ("bN" . │ │ │ -00036670: 2822 e284 9522 2929 0a20 2028 2262 4f22 ("...")). ("bO" │ │ │ -00036680: 2020 202e 2028 22f0 9d95 8622 2929 0a20 . ("....")). │ │ │ -00036690: 2028 2262 5022 2020 202e 2028 22e2 8499 ("bP" . ("... │ │ │ -000366a0: 2229 290a 2020 2822 6251 2220 2020 2e20 ")). ("bQ" . │ │ │ -000366b0: 2822 e284 9a22 2929 0a20 2028 2262 5222 ("...")). ("bR" │ │ │ -000366c0: 2020 202e 2028 22e2 849d 2229 290a 2020 . ("...")). │ │ │ -000366d0: 2822 6253 2220 2020 2e20 2822 f09d 958a ("bS" . (".... │ │ │ -000366e0: 2229 290a 2020 2822 6254 2220 2020 2e20 ")). ("bT" . │ │ │ -000366f0: 2822 f09d 958b 2229 290a 2020 2822 6255 ("....")). ("bU │ │ │ -00036700: 2220 2020 2e20 2822 f09d 958c 2229 290a " . ("....")). │ │ │ -00036710: 2020 2822 6256 2220 2020 2e20 2822 f09d ("bV" . (".. │ │ │ -00036720: 958d 2229 290a 2020 2822 6257 2220 2020 ..")). ("bW" │ │ │ -00036730: 2e20 2822 f09d 958e 2229 290a 2020 2822 . ("....")). (" │ │ │ -00036740: 6258 2220 2020 2e20 2822 f09d 958f 2229 bX" . ("....") │ │ │ -00036750: 290a 2020 2822 6259 2220 2020 2e20 2822 ). ("bY" . (" │ │ │ -00036760: f09d 9590 2229 290a 2020 2822 625a 2220 ....")). ("bZ" │ │ │ -00036770: 2020 2e20 2822 e284 a422 2929 0a20 2028 . ("...")). ( │ │ │ -00036780: 2262 4747 2220 202e 2028 22e2 84be 2229 "bGG" . ("...") │ │ │ -00036790: 290a 2020 2822 6247 5022 2020 2e20 2822 ). ("bGP" . (" │ │ │ -000367a0: e284 bf22 2929 0a20 2028 2262 4753 2220 ...")). ("bGS" │ │ │ -000367b0: 202e 2028 22e2 8580 2229 290a 2020 2822 . ("...")). (" │ │ │ -000367c0: 6261 2220 2020 2e20 2822 f09d 9592 2229 ba" . ("....") │ │ │ -000367d0: 290a 2020 2822 6262 2220 2020 2e20 2822 ). ("bb" . (" │ │ │ -000367e0: f09d 9593 2229 290a 2020 2822 6263 2220 ....")). ("bc" │ │ │ -000367f0: 2020 2e20 2822 f09d 9594 2229 290a 2020 . ("....")). │ │ │ -00036800: 2822 6264 2220 2020 2e20 2822 f09d 9595 ("bd" . (".... │ │ │ -00036810: 2229 290a 2020 2822 6265 2220 2020 2e20 ")). ("be" . │ │ │ -00036820: 2822 f09d 9596 2229 290a 2020 2822 6266 ("....")). ("bf │ │ │ -00036830: 2220 2020 2e20 2822 f09d 9597 2229 290a " . ("....")). │ │ │ -00036840: 2020 2822 6267 2220 2020 2e20 2822 f09d ("bg" . (".. │ │ │ -00036850: 9598 2229 290a 2020 2822 6268 2220 2020 ..")). ("bh" │ │ │ -00036860: 2e20 2822 f09d 9599 2229 290a 2020 2822 . ("....")). (" │ │ │ -00036870: 6269 2220 2020 2e20 2822 f09d 959a 2229 bi" . ("....") │ │ │ -00036880: 290a 2020 2822 626a 2220 2020 2e20 2822 ). ("bj" . (" │ │ │ -00036890: f09d 959b 2229 290a 2020 2822 626b 2220 ....")). ("bk" │ │ │ -000368a0: 2020 2e20 2822 f09d 959c 2229 290a 2020 . ("....")). │ │ │ -000368b0: 2822 626c 2220 2020 2e20 2822 f09d 959d ("bl" . (".... │ │ │ -000368c0: 2229 290a 2020 2822 626d 2220 2020 2e20 ")). ("bm" . │ │ │ -000368d0: 2822 f09d 959e 2229 290a 2020 2822 626e ("....")). ("bn │ │ │ -000368e0: 2220 2020 2e20 2822 f09d 959f 2229 290a " . ("....")). │ │ │ -000368f0: 2020 2822 626f 2220 2020 2e20 2822 f09d ("bo" . (".. │ │ │ -00036900: 95a0 2229 290a 2020 2822 6270 2220 2020 ..")). ("bp" │ │ │ -00036910: 2e20 2822 f09d 95a1 2229 290a 2020 2822 . ("....")). (" │ │ │ -00036920: 6271 2220 2020 2e20 2822 f09d 95a2 2229 bq" . ("....") │ │ │ -00036930: 290a 2020 2822 6272 2220 2020 2e20 2822 ). ("br" . (" │ │ │ -00036940: f09d 95a3 2229 290a 2020 2822 6273 2220 ....")). ("bs" │ │ │ -00036950: 2020 2e20 2822 f09d 95a4 2229 290a 2020 . ("....")). │ │ │ -00036960: 2822 6274 2220 2020 2e20 2822 f09d 95a5 ("bt" . (".... │ │ │ -00036970: 2229 290a 2020 2822 6275 2220 2020 2e20 ")). ("bu" . │ │ │ -00036980: 2822 f09d 95a6 2229 290a 2020 2822 6276 ("....")). ("bv │ │ │ -00036990: 2220 2020 2e20 2822 f09d 95a7 2229 290a " . ("....")). │ │ │ -000369a0: 2020 2822 6277 2220 2020 2e20 2822 f09d ("bw" . (".. │ │ │ -000369b0: 95a8 2229 290a 2020 2822 6278 2220 2020 ..")). ("bx" │ │ │ -000369c0: 2e20 2822 f09d 95a9 2229 290a 2020 2822 . ("....")). (" │ │ │ -000369d0: 6279 2220 2020 2e20 2822 f09d 95aa 2229 by" . ("....") │ │ │ -000369e0: 290a 2020 2822 627a 2220 2020 2e20 2822 ). ("bz" . (" │ │ │ -000369f0: f09d 95ab 2229 290a 2020 2822 6247 6722 ....")). ("bGg" │ │ │ -00036a00: 2020 2e20 2822 e284 bd22 2929 0a20 2028 . ("...")). ( │ │ │ -00036a10: 2262 4770 2220 202e 2028 22e2 84bc 2229 "bGp" . ("...") │ │ │ -00036a20: 290a 0a20 203b 3b20 426c 6163 6b62 6f61 ).. ;; Blackboa │ │ │ -00036a30: 7264 2062 6f6c 6420 6e75 6d62 6572 732e rd bold numbers. │ │ │ -00036a40: 0a0a 2020 2822 6230 2220 2020 2e20 2822 .. ("b0" . (" │ │ │ -00036a50: f09d 9f98 2229 290a 2020 2822 6231 2220 ....")). ("b1" │ │ │ -00036a60: 2020 2e20 2822 f09d 9f99 2229 290a 2020 . ("....")). │ │ │ -00036a70: 2822 6232 2220 2020 2e20 2822 f09d 9f9a ("b2" . (".... │ │ │ -00036a80: 2229 290a 2020 2822 6233 2220 2020 2e20 ")). ("b3" . │ │ │ -00036a90: 2822 f09d 9f9b 2229 290a 2020 2822 6234 ("....")). ("b4 │ │ │ -00036aa0: 2220 2020 2e20 2822 f09d 9f9c 2229 290a " . ("....")). │ │ │ -00036ab0: 2020 2822 6235 2220 2020 2e20 2822 f09d ("b5" . (".. │ │ │ -00036ac0: 9f9d 2229 290a 2020 2822 6236 2220 2020 ..")). ("b6" │ │ │ -00036ad0: 2e20 2822 f09d 9f9e 2229 290a 2020 2822 . ("....")). (" │ │ │ -00036ae0: 6237 2220 2020 2e20 2822 f09d 9f9f 2229 b7" . ("....") │ │ │ -00036af0: 290a 2020 2822 6238 2220 2020 2e20 2822 ). ("b8" . (" │ │ │ -00036b00: f09d 9fa0 2229 290a 2020 2822 6239 2220 ....")). ("b9" │ │ │ -00036b10: 2020 2e20 2822 f09d 9fa1 2229 290a 0a20 . ("....")).. │ │ │ -00036b20: 203b 3b20 4d61 7468 656d 6174 6963 616c ;; Mathematical │ │ │ -00036b30: 2062 6f6c 6420 6c65 7474 6572 732e 0a0a bold letters... │ │ │ -00036b40: 2020 2822 4241 2220 2020 2e20 2822 f09d ("BA" . (".. │ │ │ -00036b50: 9080 2229 290a 2020 2822 4242 2220 2020 ..")). ("BB" │ │ │ -00036b60: 2e20 2822 f09d 9081 2229 290a 2020 2822 . ("....")). (" │ │ │ -00036b70: 4243 2220 2020 2e20 2822 f09d 9082 2229 BC" . ("....") │ │ │ -00036b80: 290a 2020 2822 4244 2220 2020 2e20 2822 ). ("BD" . (" │ │ │ -00036b90: f09d 9083 2229 290a 2020 2822 4245 2220 ....")). ("BE" │ │ │ -00036ba0: 2020 2e20 2822 f09d 9084 2229 290a 2020 . ("....")). │ │ │ -00036bb0: 2822 4246 2220 2020 2e20 2822 f09d 9085 ("BF" . (".... │ │ │ -00036bc0: 2229 290a 2020 2822 4247 2220 2020 2e20 ")). ("BG" . │ │ │ -00036bd0: 2822 f09d 9086 2229 290a 2020 2822 4248 ("....")). ("BH │ │ │ -00036be0: 2220 2020 2e20 2822 f09d 9087 2229 290a " . ("....")). │ │ │ -00036bf0: 2020 2822 4249 2220 2020 2e20 2822 f09d ("BI" . (".. │ │ │ -00036c00: 9088 2229 290a 2020 2822 424a 2220 2020 ..")). ("BJ" │ │ │ -00036c10: 2e20 2822 f09d 9089 2229 290a 2020 2822 . ("....")). (" │ │ │ -00036c20: 424b 2220 2020 2e20 2822 f09d 908a 2229 BK" . ("....") │ │ │ -00036c30: 290a 2020 2822 424c 2220 2020 2e20 2822 ). ("BL" . (" │ │ │ -00036c40: f09d 908b 2229 290a 2020 2822 424d 2220 ....")). ("BM" │ │ │ -00036c50: 2020 2e20 2822 f09d 908c 2229 290a 2020 . ("....")). │ │ │ -00036c60: 2822 424e 2220 2020 2e20 2822 f09d 908d ("BN" . (".... │ │ │ -00036c70: 2229 290a 2020 2822 424f 2220 2020 2e20 ")). ("BO" . │ │ │ -00036c80: 2822 f09d 908e 2229 290a 2020 2822 4250 ("....")). ("BP │ │ │ -00036c90: 2220 2020 2e20 2822 f09d 908f 2229 290a " . ("....")). │ │ │ -00036ca0: 2020 2822 4251 2220 2020 2e20 2822 f09d ("BQ" . (".. │ │ │ -00036cb0: 9090 2229 290a 2020 2822 4252 2220 2020 ..")). ("BR" │ │ │ -00036cc0: 2e20 2822 f09d 9091 2229 290a 2020 2822 . ("....")). (" │ │ │ -00036cd0: 4253 2220 2020 2e20 2822 f09d 9092 2229 BS" . ("....") │ │ │ -00036ce0: 290a 2020 2822 4254 2220 2020 2e20 2822 ). ("BT" . (" │ │ │ -00036cf0: f09d 9093 2229 290a 2020 2822 4255 2220 ....")). ("BU" │ │ │ -00036d00: 2020 2e20 2822 f09d 9094 2229 290a 2020 . ("....")). │ │ │ -00036d10: 2822 4256 2220 2020 2e20 2822 f09d 9095 ("BV" . (".... │ │ │ -00036d20: 2229 290a 2020 2822 4257 2220 2020 2e20 ")). ("BW" . │ │ │ -00036d30: 2822 f09d 9096 2229 290a 2020 2822 4258 ("....")). ("BX │ │ │ -00036d40: 2220 2020 2e20 2822 f09d 9097 2229 290a " . ("....")). │ │ │ -00036d50: 2020 2822 4259 2220 2020 2e20 2822 f09d ("BY" . (".. │ │ │ -00036d60: 9098 2229 290a 2020 2822 425a 2220 2020 ..")). ("BZ" │ │ │ -00036d70: 2e20 2822 f09d 9099 2229 290a 2020 2822 . ("....")). (" │ │ │ -00036d80: 4261 2220 2020 2e20 2822 f09d 909a 2229 Ba" . ("....") │ │ │ -00036d90: 290a 2020 2822 4262 2220 2020 2e20 2822 ). ("Bb" . (" │ │ │ -00036da0: f09d 909b 2229 290a 2020 2822 4263 2220 ....")). ("Bc" │ │ │ -00036db0: 2020 2e20 2822 f09d 909c 2229 290a 2020 . ("....")). │ │ │ -00036dc0: 2822 4264 2220 2020 2e20 2822 f09d 909d ("Bd" . (".... │ │ │ -00036dd0: 2229 290a 2020 2822 4265 2220 2020 2e20 ")). ("Be" . │ │ │ -00036de0: 2822 f09d 909e 2229 290a 2020 2822 4266 ("....")). ("Bf │ │ │ -00036df0: 2220 2020 2e20 2822 f09d 909f 2229 290a " . ("....")). │ │ │ -00036e00: 2020 2822 4267 2220 2020 2e20 2822 f09d ("Bg" . (".. │ │ │ -00036e10: 90a0 2229 290a 2020 2822 4268 2220 2020 ..")). ("Bh" │ │ │ -00036e20: 2e20 2822 f09d 90a1 2229 290a 2020 2822 . ("....")). (" │ │ │ -00036e30: 4269 2220 2020 2e20 2822 f09d 90a2 2229 Bi" . ("....") │ │ │ -00036e40: 290a 2020 2822 426a 2220 2020 2e20 2822 ). ("Bj" . (" │ │ │ -00036e50: f09d 90a3 2229 290a 2020 2822 426b 2220 ....")). ("Bk" │ │ │ -00036e60: 2020 2e20 2822 f09d 90a4 2229 290a 2020 . ("....")). │ │ │ -00036e70: 2822 426c 2220 2020 2e20 2822 f09d 90a5 ("Bl" . (".... │ │ │ -00036e80: 2229 290a 2020 2822 426d 2220 2020 2e20 ")). ("Bm" . │ │ │ -00036e90: 2822 f09d 90a6 2229 290a 2020 2822 426e ("....")). ("Bn │ │ │ -00036ea0: 2220 2020 2e20 2822 f09d 90a7 2229 290a " . ("....")). │ │ │ -00036eb0: 2020 2822 426f 2220 2020 2e20 2822 f09d ("Bo" . (".. │ │ │ -00036ec0: 90a8 2229 290a 2020 2822 4270 2220 2020 ..")). ("Bp" │ │ │ -00036ed0: 2e20 2822 f09d 90a9 2229 290a 2020 2822 . ("....")). (" │ │ │ -00036ee0: 4271 2220 2020 2e20 2822 f09d 90aa 2229 Bq" . ("....") │ │ │ -00036ef0: 290a 2020 2822 4272 2220 2020 2e20 2822 ). ("Br" . (" │ │ │ -00036f00: f09d 90ab 2229 290a 2020 2822 4273 2220 ....")). ("Bs" │ │ │ -00036f10: 2020 2e20 2822 f09d 90ac 2229 290a 2020 . ("....")). │ │ │ -00036f20: 2822 4274 2220 2020 2e20 2822 f09d 90ad ("Bt" . (".... │ │ │ -00036f30: 2229 290a 2020 2822 4275 2220 2020 2e20 ")). ("Bu" . │ │ │ -00036f40: 2822 f09d 90ae 2229 290a 2020 2822 4276 ("....")). ("Bv │ │ │ -00036f50: 2220 2020 2e20 2822 f09d 90af 2229 290a " . ("....")). │ │ │ -00036f60: 2020 2822 4277 2220 2020 2e20 2822 f09d ("Bw" . (".. │ │ │ -00036f70: 90b0 2229 290a 2020 2822 4278 2220 2020 ..")). ("Bx" │ │ │ -00036f80: 2e20 2822 f09d 90b1 2229 290a 2020 2822 . ("....")). (" │ │ │ -00036f90: 4279 2220 2020 2e20 2822 f09d 90b2 2229 By" . ("....") │ │ │ -00036fa0: 290a 2020 2822 427a 2220 2020 2e20 2822 ). ("Bz" . (" │ │ │ -00036fb0: f09d 90b3 2229 290a 0a20 203b 3b20 4d61 ....")).. ;; Ma │ │ │ -00036fc0: 7468 656d 6174 6963 616c 2062 6f6c 6420 thematical bold │ │ │ -00036fd0: 4772 6565 6b20 6c65 7474 6572 732e 0a0a Greek letters... │ │ │ -00036fe0: 2020 2822 4247 4122 2020 2e20 2822 f09d ("BGA" . (".. │ │ │ -00036ff0: 9aa8 2229 290a 2020 2822 4247 4222 2020 ..")). ("BGB" │ │ │ -00037000: 2e20 2822 f09d 9aa9 2229 290a 2020 2822 . ("....")). (" │ │ │ -00037010: 4247 4322 2020 2e20 2822 f09d 9abe 2229 BGC" . ("....") │ │ │ -00037020: 290a 2020 2822 4247 4422 2020 2e20 2822 ). ("BGD" . (" │ │ │ -00037030: f09d 9aab 2229 290a 2020 2822 4247 4522 ....")). ("BGE" │ │ │ -00037040: 2020 2e20 2822 f09d 9aac 2229 290a 2020 . ("....")). │ │ │ -00037050: 2822 4247 4722 2020 2e20 2822 f09d 9aaa ("BGG" . (".... │ │ │ -00037060: 2229 290a 2020 2822 4247 4822 2020 2e20 ")). ("BGH" . │ │ │ -00037070: 2822 f09d 9aae 2229 290a 2020 2822 4247 ("....")). ("BG │ │ │ -00037080: 4922 2020 2e20 2822 f09d 9ab0 2229 290a I" . ("....")). │ │ │ -00037090: 2020 2822 4247 4b22 2020 2e20 2822 f09d ("BGK" . (".. │ │ │ -000370a0: 9ab1 2229 290a 2020 2822 4247 4c22 2020 ..")). ("BGL" │ │ │ -000370b0: 2e20 2822 f09d 9ab2 2229 290a 2020 2822 . ("....")). (" │ │ │ -000370c0: 4247 4d22 2020 2e20 2822 f09d 9ab3 2229 BGM" . ("....") │ │ │ -000370d0: 290a 2020 2822 4247 4e22 2020 2e20 2822 ). ("BGN" . (" │ │ │ -000370e0: f09d 9ab4 2229 290a 2020 2822 4247 4f22 ....")). ("BGO" │ │ │ -000370f0: 2020 2e20 2822 f09d 9b80 2229 290a 2020 . ("....")). │ │ │ -00037100: 2822 424f 6d69 6372 6f6e 2220 2e20 2822 ("BOmicron" . (" │ │ │ -00037110: f09d 9ab6 2229 290a 2020 2822 4247 4622 ....")). ("BGF" │ │ │ -00037120: 2020 2e20 2822 f09d 9abd 2229 290a 2020 . ("....")). │ │ │ -00037130: 2822 4250 6922 2020 2e20 2822 f09d 9ab7 ("BPi" . (".... │ │ │ -00037140: 2229 290a 2020 2822 4247 5022 2020 2e20 ")). ("BGP" . │ │ │ -00037150: 2822 f09d 9abf 2229 290a 2020 2822 4247 ("....")). ("BG │ │ │ -00037160: 5222 2020 2e20 2822 f09d 9ab8 2229 290a R" . ("....")). │ │ │ -00037170: 2020 2822 4247 5322 2020 2e20 2822 f09d ("BGS" . (".. │ │ │ -00037180: 9aba 2229 290a 2020 2822 4247 5422 2020 ..")). ("BGT" │ │ │ -00037190: 2e20 2822 f09d 9abb 2229 290a 2020 2822 . ("....")). (" │ │ │ -000371a0: 4247 5448 2220 2e20 2822 f09d 9aaf 2229 BGTH" . ("....") │ │ │ -000371b0: 290a 2020 2822 4247 5522 2020 2e20 2822 ). ("BGU" . (" │ │ │ -000371c0: f09d 9abc 2229 290a 2020 2822 4247 5822 ....")). ("BGX" │ │ │ -000371d0: 2020 2e20 2822 f09d 9ab5 2229 290a 2020 . ("....")). │ │ │ -000371e0: 2822 4247 5a22 2020 2e20 2822 f09d 9aad ("BGZ" . (".... │ │ │ -000371f0: 2229 290a 2020 2822 4247 6122 2020 2e20 ")). ("BGa" . │ │ │ -00037200: 2822 f09d 9b82 2229 290a 2020 2822 4247 ("....")). ("BG │ │ │ -00037210: 6222 2020 2e20 2822 f09d 9b83 2229 290a b" . ("....")). │ │ │ -00037220: 2020 2822 4247 6322 2020 2e20 2822 f09d ("BGc" . (".. │ │ │ -00037230: 9b98 2229 290a 2020 2822 4247 6422 2020 ..")). ("BGd" │ │ │ -00037240: 2e20 2822 f09d 9b85 2229 290a 2020 2822 . ("....")). (" │ │ │ -00037250: 4247 6522 2020 2e20 2822 f09d 9b86 2229 BGe" . ("....") │ │ │ -00037260: 290a 2020 2822 4247 6722 2020 2e20 2822 ). ("BGg" . (" │ │ │ -00037270: f09d 9b84 2229 290a 2020 2822 4247 6822 ....")). ("BGh" │ │ │ -00037280: 2020 2e20 2822 f09d 9b88 2229 290a 2020 . ("....")). │ │ │ -00037290: 2822 4247 6922 2020 2e20 2822 f09d 9b8a ("BGi" . (".... │ │ │ -000372a0: 2229 290a 2020 2822 4247 6b22 2020 2e20 ")). ("BGk" . │ │ │ -000372b0: 2822 f09d 9b8b 2229 290a 2020 2822 4247 ("....")). ("BG │ │ │ -000372c0: 6c22 2020 2e20 2822 f09d 9b8c 2229 290a l" . ("....")). │ │ │ -000372d0: 2020 2822 4247 6d22 2020 2e20 2822 f09d ("BGm" . (".. │ │ │ -000372e0: 9b8d 2229 290a 2020 2822 4247 6e22 2020 ..")). ("BGn" │ │ │ -000372f0: 2e20 2822 f09d 9b8e 2229 290a 2020 2822 . ("....")). (" │ │ │ -00037300: 4247 6f22 2020 2e20 2822 f09d 9b9a 2229 BGo" . ("....") │ │ │ -00037310: 290a 2020 2822 426f 6d69 6372 6f6e 2220 ). ("Bomicron" │ │ │ -00037320: 2e20 2822 f09d 9b90 2229 290a 2020 2822 . ("....")). (" │ │ │ -00037330: 4247 6622 2020 2e20 2822 f09d 9b97 2229 BGf" . ("....") │ │ │ -00037340: 290a 2020 2822 4270 6922 2020 2e20 2822 ). ("Bpi" . (" │ │ │ -00037350: f09d 9b91 2229 290a 2020 2822 4247 7022 ....")). ("BGp" │ │ │ -00037360: 2020 2e20 2822 f09d 9b99 2229 290a 2020 . ("....")). │ │ │ -00037370: 2822 4247 7222 2020 2e20 2822 f09d 9b92 ("BGr" . (".... │ │ │ -00037380: 2229 290a 2020 2822 4247 7322 2020 2e20 ")). ("BGs" . │ │ │ -00037390: 2822 f09d 9b94 2229 290a 2020 2822 4247 ("....")). ("BG │ │ │ -000373a0: 7422 2020 2e20 2822 f09d 9b95 2229 290a t" . ("....")). │ │ │ -000373b0: 2020 2822 4247 7468 2220 2e20 2822 f09d ("BGth" . (".. │ │ │ -000373c0: 9b89 2229 290a 2020 2822 4247 7522 2020 ..")). ("BGu" │ │ │ -000373d0: 2e20 2822 f09d 9b96 2229 290a 2020 2822 . ("....")). (" │ │ │ -000373e0: 4247 7822 2020 2e20 2822 f09d 9b8f 2229 BGx" . ("....") │ │ │ -000373f0: 290a 2020 2822 4247 7a22 2020 2e20 2822 ). ("BGz" . (" │ │ │ -00037400: f09d 9b87 2229 290a 0a20 203b 3b20 4d61 ....")).. ;; Ma │ │ │ -00037410: 7468 656d 6174 6963 616c 2062 6f6c 6420 thematical bold │ │ │ -00037420: 6469 6769 7473 2e0a 0a20 2028 2242 3022 digits... ("B0" │ │ │ -00037430: 2020 202e 2028 22f0 9d9f 8e22 2929 0a20 . ("....")). │ │ │ -00037440: 2028 2242 3122 2020 202e 2028 22f0 9d9f ("B1" . ("... │ │ │ -00037450: 8f22 2929 0a20 2028 2242 3222 2020 202e .")). ("B2" . │ │ │ -00037460: 2028 22f0 9d9f 9022 2929 0a20 2028 2242 ("....")). ("B │ │ │ -00037470: 3322 2020 202e 2028 22f0 9d9f 9122 2929 3" . ("....")) │ │ │ -00037480: 0a20 2028 2242 3422 2020 202e 2028 22f0 . ("B4" . (". │ │ │ -00037490: 9d9f 9222 2929 0a20 2028 2242 3522 2020 ...")). ("B5" │ │ │ -000374a0: 202e 2028 22f0 9d9f 9322 2929 0a20 2028 . ("....")). ( │ │ │ -000374b0: 2242 3622 2020 202e 2028 22f0 9d9f 9422 "B6" . ("...." │ │ │ -000374c0: 2929 0a20 2028 2242 3722 2020 202e 2028 )). ("B7" . ( │ │ │ -000374d0: 22f0 9d9f 9522 2929 0a20 2028 2242 3822 "....")). ("B8" │ │ │ -000374e0: 2020 202e 2028 22f0 9d9f 9622 2929 0a20 . ("....")). │ │ │ -000374f0: 2028 2242 3922 2020 202e 2028 22f0 9d9f ("B9" . ("... │ │ │ -00037500: 9722 2929 0a0a 2020 3b3b 2046 756c 6c77 .")).. ;; Fullw │ │ │ -00037510: 6964 7468 206c 6574 7465 7273 2e0a 0a20 idth letters... │ │ │ -00037520: 2028 2246 4122 2020 202e 2028 22ef bca1 ("FA" . ("... │ │ │ -00037530: 2229 290a 2020 2822 4642 2220 2020 2e20 ")). ("FB" . │ │ │ -00037540: 2822 efbc a222 2929 0a20 2028 2246 4322 ("...")). ("FC" │ │ │ -00037550: 2020 202e 2028 22ef bca3 2229 290a 2020 . ("...")). │ │ │ -00037560: 2822 4644 2220 2020 2e20 2822 efbc a422 ("FD" . ("..." │ │ │ -00037570: 2929 0a20 2028 2246 4522 2020 202e 2028 )). ("FE" . ( │ │ │ -00037580: 22ef bca5 2229 290a 2020 2822 4646 2220 "...")). ("FF" │ │ │ -00037590: 2020 2e20 2822 efbc a622 2929 0a20 2028 . ("...")). ( │ │ │ -000375a0: 2246 4722 2020 202e 2028 22ef bca7 2229 "FG" . ("...") │ │ │ -000375b0: 290a 2020 2822 4648 2220 2020 2e20 2822 ). ("FH" . (" │ │ │ -000375c0: efbc a822 2929 0a20 2028 2246 4922 2020 ...")). ("FI" │ │ │ -000375d0: 202e 2028 22ef bca9 2229 290a 2020 2822 . ("...")). (" │ │ │ -000375e0: 464a 2220 2020 2e20 2822 efbc aa22 2929 FJ" . ("...")) │ │ │ -000375f0: 0a20 2028 2246 4b22 2020 202e 2028 22ef . ("FK" . (". │ │ │ -00037600: bcab 2229 290a 2020 2822 464c 2220 2020 ..")). ("FL" │ │ │ -00037610: 2e20 2822 efbc ac22 2929 0a20 2028 2246 . ("...")). ("F │ │ │ -00037620: 4d22 2020 202e 2028 22ef bcad 2229 290a M" . ("...")). │ │ │ -00037630: 2020 2822 464e 2220 2020 2e20 2822 efbc ("FN" . (".. │ │ │ -00037640: ae22 2929 0a20 2028 2246 4f22 2020 202e .")). ("FO" . │ │ │ -00037650: 2028 22ef bcaf 2229 290a 2020 2822 4650 ("...")). ("FP │ │ │ -00037660: 2220 2020 2e20 2822 efbc b022 2929 0a20 " . ("...")). │ │ │ -00037670: 2028 2246 5122 2020 202e 2028 22ef bcb1 ("FQ" . ("... │ │ │ -00037680: 2229 290a 2020 2822 4652 2220 2020 2e20 ")). ("FR" . │ │ │ -00037690: 2822 efbc b222 2929 0a20 2028 2246 5322 ("...")). ("FS" │ │ │ -000376a0: 2020 202e 2028 22ef bcb3 2229 290a 2020 . ("...")). │ │ │ -000376b0: 2822 4654 2220 2020 2e20 2822 efbc b422 ("FT" . ("..." │ │ │ -000376c0: 2929 0a20 2028 2246 5522 2020 202e 2028 )). ("FU" . ( │ │ │ -000376d0: 22ef bcb5 2229 290a 2020 2822 4656 2220 "...")). ("FV" │ │ │ -000376e0: 2020 2e20 2822 efbc b622 2929 0a20 2028 . ("...")). ( │ │ │ -000376f0: 2246 5722 2020 202e 2028 22ef bcb7 2229 "FW" . ("...") │ │ │ -00037700: 290a 2020 2822 4658 2220 2020 2e20 2822 ). ("FX" . (" │ │ │ -00037710: efbc b822 2929 0a20 2028 2246 5922 2020 ...")). ("FY" │ │ │ -00037720: 202e 2028 22ef bcb9 2229 290a 2020 2822 . ("...")). (" │ │ │ -00037730: 465a 2220 2020 2e20 2822 efbc ba22 2929 FZ" . ("...")) │ │ │ -00037740: 0a20 2028 2246 6122 2020 202e 2028 22ef . ("Fa" . (". │ │ │ -00037750: bd81 2229 290a 2020 2822 4662 2220 2020 ..")). ("Fb" │ │ │ -00037760: 2e20 2822 efbd 8222 2929 0a20 2028 2246 . ("...")). ("F │ │ │ -00037770: 6322 2020 202e 2028 22ef bd83 2229 290a c" . ("...")). │ │ │ -00037780: 2020 2822 4664 2220 2020 2e20 2822 efbd ("Fd" . (".. │ │ │ -00037790: 8422 2929 0a20 2028 2246 6522 2020 202e .")). ("Fe" . │ │ │ -000377a0: 2028 22ef bd85 2229 290a 2020 2822 4666 ("...")). ("Ff │ │ │ -000377b0: 2220 2020 2e20 2822 efbd 8622 2929 0a20 " . ("...")). │ │ │ -000377c0: 2028 2246 6722 2020 202e 2028 22ef bd87 ("Fg" . ("... │ │ │ -000377d0: 2229 290a 2020 2822 4668 2220 2020 2e20 ")). ("Fh" . │ │ │ -000377e0: 2822 efbd 8822 2929 0a20 2028 2246 6922 ("...")). ("Fi" │ │ │ -000377f0: 2020 202e 2028 22ef bd89 2229 290a 2020 . ("...")). │ │ │ -00037800: 2822 466a 2220 2020 2e20 2822 efbd 8a22 ("Fj" . ("..." │ │ │ -00037810: 2929 0a20 2028 2246 6b22 2020 202e 2028 )). ("Fk" . ( │ │ │ -00037820: 22ef bd8b 2229 290a 2020 2822 466c 2220 "...")). ("Fl" │ │ │ -00037830: 2020 2e20 2822 efbd 8c22 2929 0a20 2028 . ("...")). ( │ │ │ -00037840: 2246 6d22 2020 202e 2028 22ef bd8d 2229 "Fm" . ("...") │ │ │ -00037850: 290a 2020 2822 466e 2220 2020 2e20 2822 ). ("Fn" . (" │ │ │ -00037860: efbd 8e22 2929 0a20 2028 2246 6f22 2020 ...")). ("Fo" │ │ │ -00037870: 202e 2028 22ef bd8f 2229 290a 2020 2822 . ("...")). (" │ │ │ -00037880: 4670 2220 2020 2e20 2822 efbd 9022 2929 Fp" . ("...")) │ │ │ -00037890: 0a20 2028 2246 7122 2020 202e 2028 22ef . ("Fq" . (". │ │ │ -000378a0: bd91 2229 290a 2020 2822 4672 2220 2020 ..")). ("Fr" │ │ │ -000378b0: 2e20 2822 efbd 9222 2929 0a20 2028 2246 . ("...")). ("F │ │ │ -000378c0: 7322 2020 202e 2028 22ef bd93 2229 290a s" . ("...")). │ │ │ -000378d0: 2020 2822 4674 2220 2020 2e20 2822 efbd ("Ft" . (".. │ │ │ -000378e0: 9422 2929 0a20 2028 2246 7522 2020 202e .")). ("Fu" . │ │ │ -000378f0: 2028 22ef bd95 2229 290a 2020 2822 4676 ("...")). ("Fv │ │ │ -00037900: 2220 2020 2e20 2822 efbd 9622 2929 0a20 " . ("...")). │ │ │ -00037910: 2028 2246 7722 2020 202e 2028 22ef bd97 ("Fw" . ("... │ │ │ -00037920: 2229 290a 2020 2822 4678 2220 2020 2e20 ")). ("Fx" . │ │ │ -00037930: 2822 efbd 9822 2929 0a20 2028 2246 7922 ("...")). ("Fy" │ │ │ -00037940: 2020 202e 2028 22ef bd99 2229 290a 2020 . ("...")). │ │ │ -00037950: 2822 467a 2220 2020 2e20 2822 efbd 9a22 ("Fz" . ("..." │ │ │ -00037960: 2929 0a0a 2020 3b3b 2046 756c 6c77 6964 )).. ;; Fullwid │ │ │ -00037970: 7468 2064 6967 6974 732e 0a0a 2020 2822 th digits... (" │ │ │ -00037980: 4630 2220 2020 2e20 2822 efbc 9022 2929 F0" . ("...")) │ │ │ -00037990: 0a20 2028 2246 3122 2020 202e 2028 22ef . ("F1" . (". │ │ │ -000379a0: bc91 2229 290a 2020 2822 4632 2220 2020 ..")). ("F2" │ │ │ -000379b0: 2e20 2822 efbc 9222 2929 0a20 2028 2246 . ("...")). ("F │ │ │ -000379c0: 3322 2020 202e 2028 22ef bc93 2229 290a 3" . ("...")). │ │ │ -000379d0: 2020 2822 4634 2220 2020 2e20 2822 efbc ("F4" . (".. │ │ │ -000379e0: 9422 2929 0a20 2028 2246 3522 2020 202e .")). ("F5" . │ │ │ -000379f0: 2028 22ef bc95 2229 290a 2020 2822 4636 ("...")). ("F6 │ │ │ -00037a00: 2220 2020 2e20 2822 efbc 9622 2929 0a20 " . ("...")). │ │ │ -00037a10: 2028 2246 3722 2020 202e 2028 22ef bc97 ("F7" . ("... │ │ │ -00037a20: 2229 290a 2020 2822 4638 2220 2020 2e20 ")). ("F8" . │ │ │ -00037a30: 2822 efbc 9822 2929 0a20 2028 2246 3922 ("...")). ("F9" │ │ │ -00037a40: 2020 202e 2028 22ef bc99 2229 290a 0a20 . ("...")).. │ │ │ -00037a50: 203b 3b20 4675 6c6c 7769 6474 6820 7379 ;; Fullwidth sy │ │ │ -00037a60: 6d62 6f6c 732e 0a0a 2020 2822 4621 2220 mbols... ("F!" │ │ │ -00037a70: 2020 2e20 2822 efbc 8122 2929 0a20 2028 . ("...")). ( │ │ │ -00037a80: 2246 5c22 2220 202e 2028 22ef bc82 2229 "F\"" . ("...") │ │ │ -00037a90: 290a 2020 2822 4623 2220 2020 2e20 2822 ). ("F#" . (" │ │ │ -00037aa0: efbc 8322 2929 0a20 2028 2246 2422 2020 ...")). ("F$" │ │ │ -00037ab0: 202e 2028 22ef bc84 2229 290a 2020 2822 . ("...")). (" │ │ │ -00037ac0: 4625 2220 2020 2e20 2822 efbc 8522 2929 F%" . ("...")) │ │ │ -00037ad0: 0a20 2028 2246 2622 2020 202e 2028 22ef . ("F&" . (". │ │ │ -00037ae0: bc86 2229 290a 2020 2822 4627 2220 2020 ..")). ("F'" │ │ │ -00037af0: 2e20 2822 efbc 8722 2929 0a20 2028 2246 . ("...")). ("F │ │ │ -00037b00: 2822 2020 202e 2028 22ef bc88 2229 290a (" . ("...")). │ │ │ -00037b10: 2020 2822 4629 2220 2020 2e20 2822 efbc ("F)" . (".. │ │ │ -00037b20: 8922 2929 0a20 2028 2246 2a22 2020 202e .")). ("F*" . │ │ │ -00037b30: 2028 22ef bc8a 2229 290a 2020 2822 462b ("...")). ("F+ │ │ │ -00037b40: 2220 2020 2e20 2822 efbc 8b22 2929 0a20 " . ("...")). │ │ │ -00037b50: 2028 2246 2c22 2020 202e 2028 22ef bc8c ("F," . ("... │ │ │ -00037b60: 2229 290a 2020 2822 462d 2220 2020 2e20 ")). ("F-" . │ │ │ -00037b70: 2822 efbc 8d22 2929 0a20 2028 2246 2e22 ("...")). ("F." │ │ │ -00037b80: 2020 202e 2028 22ef bc8e 2229 290a 2020 . ("...")). │ │ │ -00037b90: 2822 462f 2220 2020 2e20 2822 efbc 8f22 ("F/" . ("..." │ │ │ -00037ba0: 2929 0a20 2028 2246 3a22 2020 202e 2028 )). ("F:" . ( │ │ │ -00037bb0: 22ef bc9a 2229 290a 2020 2822 463b 2220 "...")). ("F;" │ │ │ -00037bc0: 2020 2e20 2822 efbc 9b22 2929 0a20 2028 . ("...")). ( │ │ │ -00037bd0: 2246 3c22 2020 202e 2028 22ef bc9c 2229 "F<" . ("...") │ │ │ -00037be0: 290a 2020 2822 463d 2220 2020 2e20 2822 ). ("F=" . (" │ │ │ -00037bf0: efbc 9d22 2929 0a20 2028 2246 3e22 2020 ...")). ("F>" │ │ │ -00037c00: 202e 2028 22ef bc9e 2229 290a 2020 2822 . ("...")). (" │ │ │ -00037c10: 463f 2220 2020 2e20 2822 efbc 9f22 2929 F?" . ("...")) │ │ │ -00037c20: 0a20 2028 2246 4022 2020 202e 2028 22ef . ("F@" . (". │ │ │ -00037c30: bca0 2229 290a 2020 2822 465b 2220 2020 ..")). ("F[" │ │ │ -00037c40: 2e20 2822 efbc bb22 2929 0a20 2028 2246 . ("...")). ("F │ │ │ -00037c50: 5c5c 2220 202e 2028 22ef bcbc 2229 290a \\" . ("...")). │ │ │ -00037c60: 2020 2822 465d 2220 2020 2e20 2822 efbc ("F]" . (".. │ │ │ -00037c70: bd22 2929 0a20 2028 2246 5f22 2020 202e .")). ("F_" . │ │ │ -00037c80: 2028 22ef bcbf 2229 290a 2020 2822 467b ("...")). ("F{ │ │ │ -00037c90: 2220 2020 2e20 2822 efbd 9b22 2929 0a20 " . ("...")). │ │ │ -00037ca0: 2028 2246 7c22 2020 202e 2028 22ef bd9c ("F|" . ("... │ │ │ -00037cb0: 2229 290a 2020 2822 467d 2220 2020 2e20 ")). ("F}" . │ │ │ -00037cc0: 2822 efbd 9d22 2929 0a20 2028 2246 7e22 ("...")). ("F~" │ │ │ -00037cd0: 2020 202e 2028 22ef bd9e 2229 290a 2020 . ("...")). │ │ │ -00037ce0: 2822 4628 2822 2020 2e20 2822 efbd 9f22 ("F((" . ("..." │ │ │ -00037cf0: 2929 0a20 2028 2246 2929 2220 202e 2028 )). ("F))" . ( │ │ │ -00037d00: 22ef bda0 2229 290a 2020 2822 466e 6567 "...")). ("Fneg │ │ │ -00037d10: 2220 2e20 2822 efbf a222 2929 0a0a 2020 " . ("...")).. │ │ │ -00037d20: 3b3b 2050 6172 656e 7468 6573 6573 2e0a ;; Parentheses.. │ │ │ -00037d30: 0a20 2028 2228 2220 2e20 2c28 6167 6461 . ("(" . ,(agda │ │ │ -00037d40: 2d69 6e70 7574 2d74 6f2d 7374 7269 6e67 -input-to-string │ │ │ -00037d50: 2d6c 6973 7420 2228 5b7b e281 85e2 81bd -list "([{...... │ │ │ -00037d60: e282 8de2 8ca9 e28e b4e2 9f85 e29f a6e2 ................ │ │ │ -00037d70: 9fa8 e29f aae2 a683 e380 88e3 808a e380 ................ │ │ │ -00037d80: 8ce3 808e e380 90e3 8094 e380 96e3 809a ................ │ │ │ -00037d90: efb8 b5ef b8b7 efb8 b9ef b8bb efb8 bdef ................ │ │ │ -00037da0: b8bf efb9 81ef b983 efb9 99ef b99b efb9 ................ │ │ │ -00037db0: 9def bc88 efbc bbef bd9b efbd a2e2 9daa ................ │ │ │ -00037dc0: e29d ace2 9db0 e29d b2e2 9db4 e29f aee2 ................ │ │ │ -00037dd0: a685 e2a6 97e2 a7bc e2b8 a8e2 9dae e2a6 ................ │ │ │ -00037de0: 87e2 a689 2229 290a 2020 2822 2922 202e ....")). (")" . │ │ │ -00037df0: 202c 2861 6764 612d 696e 7075 742d 746f ,(agda-input-to │ │ │ -00037e00: 2d73 7472 696e 672d 6c69 7374 2022 295d -string-list ")] │ │ │ -00037e10: 7de2 8186 e281 bee2 828e e28c aae2 8eb5 }............... │ │ │ -00037e20: e29f 86e2 9fa7 e29f a9e2 9fab e2a6 84e3 ................ │ │ │ -00037e30: 8089 e380 8be3 808d e380 8fe3 8091 e380 ................ │ │ │ -00037e40: 95e3 8097 e380 9bef b8b6 efb8 b8ef b8ba ................ │ │ │ -00037e50: efb8 bcef b8be efb9 80ef b982 efb9 84ef ................ │ │ │ -00037e60: b99a efb9 9cef b99e efbc 89ef bcbd efbd ................ │ │ │ -00037e70: 9def bda3 e29d abe2 9dad e29d b1e2 9db3 ................ │ │ │ -00037e80: e29d b5e2 9faf e2a6 86e2 a698 e2a7 bde2 ................ │ │ │ -00037e90: b8a9 e29d afe2 a688 e2a6 8a22 2929 0a0a ...........")).. │ │ │ -00037ea0: 2020 2822 5b5b 2220 2e20 2822 e29f a622 ("[[" . ("..." │ │ │ -00037eb0: 2929 0a20 2028 225d 5d22 202e 2028 22e2 )). ("]]" . (". │ │ │ -00037ec0: 9fa7 2229 290a 2020 2822 3c22 2020 2e20 ..")). ("<" . │ │ │ -00037ed0: 2c28 6167 6461 2d69 6e70 7574 2d74 6f2d ,(agda-input-to- │ │ │ -00037ee0: 7374 7269 6e67 2d6c 6973 7420 22e2 9fa8 string-list "... │ │ │ -00037ef0: 3ce2 89aa e28b 98e2 89ba e28a 82e2 8b90 <............... │ │ │ -00037f00: e28a 8fe2 8ab0 e28a b2e2 8b96 efbc 9c22 ..............." │ │ │ -00037f10: 2929 0a20 2028 223e 2220 202e 202c 2861 )). (">" . ,(a │ │ │ -00037f20: 6764 612d 696e 7075 742d 746f 2d73 7472 gda-input-to-str │ │ │ -00037f30: 696e 672d 6c69 7374 2022 e29f a93e e289 ing-list "...>.. │ │ │ -00037f40: abe2 8b99 e289 bbe2 8a83 e28b 91e2 8a90 ................ │ │ │ -00037f50: e28a b1e2 8ab3 e28b 97ef bc9e 2229 290a ............")). │ │ │ -00037f60: 2020 2822 3c3c 2220 2e20 2822 e29f aa22 ("<<" . ("..." │ │ │ -00037f70: 2929 0a20 2028 223e 3e22 202e 2028 22e2 )). (">>" . (". │ │ │ -00037f80: 9fab 2229 290a 2020 2822 7b7b 2220 2e20 ..")). ("{{" . │ │ │ -00037f90: 2822 e2a6 8322 2929 0a20 2028 227d 7d22 ("...")). ("}}" │ │ │ -00037fa0: 202e 2028 22e2 a684 2229 290a 0a20 2028 . ("...")).. ( │ │ │ -00037fb0: 2228 6222 202e 2028 22e2 9f85 2229 290a "(b" . ("...")). │ │ │ -00037fc0: 2020 2822 2962 2220 2e20 2822 e29f 8622 (")b" . ("..." │ │ │ -00037fd0: 2929 0a0a 2020 2822 6c62 6167 2220 2e20 )).. ("lbag" . │ │ │ -00037fe0: 2822 e29f 8522 2929 0a20 2028 2272 6261 ("...")). ("rba │ │ │ -00037ff0: 6722 202e 2028 22e2 9f86 2229 290a 0a20 g" . ("...")).. │ │ │ -00038000: 2028 223c 7c22 202e 2028 22e2 a689 2229 ("<|" . ("...") │ │ │ -00038010: 2920 203b 3b20 416e 676c 6520 6261 7220 ) ;; Angle bar │ │ │ -00038020: 6272 6163 6b65 7473 0a20 2028 227c 3e22 brackets. ("|>" │ │ │ -00038030: 202e 2028 22e2 a68a 2229 290a 0a20 2028 . ("...")).. ( │ │ │ -00038040: 2228 7c22 202e 2028 22e2 a687 2229 2920 "(|" . ("...")) │ │ │ -00038050: 203b 3b20 4964 696f 6d20 6272 6163 6b65 ;; Idiom bracke │ │ │ -00038060: 7473 0a20 2028 227c 2922 202e 2028 22e2 ts. ("|)" . (". │ │ │ -00038070: a688 2229 290a 0a20 2028 2228 2822 202e ..")).. ("((" . │ │ │ -00038080: 202c 2861 6764 612d 696e 7075 742d 746f ,(agda-input-to │ │ │ -00038090: 2d73 7472 696e 672d 6c69 7374 2022 e2a6 -string-list ".. │ │ │ -000380a0: 85ef bd9f 2229 2920 203b 3b20 4261 6e61 ....")) ;; Bana │ │ │ -000380b0: 6e61 2062 7261 636b 6574 730a 2020 2822 na brackets. (" │ │ │ -000380c0: 2929 2220 2e20 2c28 6167 6461 2d69 6e70 ))" . ,(agda-inp │ │ │ -000380d0: 7574 2d74 6f2d 7374 7269 6e67 2d6c 6973 ut-to-string-lis │ │ │ -000380e0: 7420 22e2 a686 efbd a022 2929 0a0a 2020 t "......")).. │ │ │ -000380f0: 3b3b 2050 7269 6d65 732e 0a0a 2020 2822 ;; Primes... (" │ │ │ -00038100: 2722 202e 202c 2861 6764 612d 696e 7075 '" . ,(agda-inpu │ │ │ -00038110: 742d 746f 2d73 7472 696e 672d 6c69 7374 t-to-string-list │ │ │ -00038120: 2022 e280 b2e2 80b3 e280 b4e2 8197 efbc ".............. │ │ │ -00038130: 8722 2929 0a20 2028 2260 2220 2e20 2c28 .")). ("`" . ,( │ │ │ -00038140: 6167 6461 2d69 6e70 7574 2d74 6f2d 7374 agda-input-to-st │ │ │ -00038150: 7269 6e67 2d6c 6973 7420 22e2 80b5 e280 ring-list "..... │ │ │ -00038160: b6e2 80b7 efbd 8022 2929 0a0a 2020 3b3b .......")).. ;; │ │ │ -00038170: 2046 7261 6374 696f 6e73 2e0a 0a20 2028 Fractions... ( │ │ │ -00038180: 2266 7261 6322 202e 202c 2861 6764 612d "frac" . ,(agda- │ │ │ -00038190: 696e 7075 742d 746f 2d73 7472 696e 672d input-to-string- │ │ │ -000381a0: 6c69 7374 2022 c2bc c2bd c2be e285 93e2 list ".......... │ │ │ -000381b0: 8594 e285 95e2 8596 e285 97e2 8598 e285 ................ │ │ │ -000381c0: 99e2 859a e285 9be2 859c e285 9de2 859e ................ │ │ │ -000381d0: e285 9f22 2929 0a0a 2020 3b3b 2042 756c ...")).. ;; Bul │ │ │ -000381e0: 6c65 7473 2e0a 0a20 2028 2262 7522 2020 lets... ("bu" │ │ │ -000381f0: 2e20 2c28 6167 6461 2d69 6e70 7574 2d74 . ,(agda-input-t │ │ │ -00038200: 6f2d 7374 7269 6e67 2d6c 6973 7420 22e2 o-string-list ". │ │ │ -00038210: 80a2 e297 a6e2 80a3 e281 8ce2 818d 2229 ..............") │ │ │ -00038220: 290a 2020 2822 6275 6222 202e 2028 22e2 ). ("bub" . (". │ │ │ -00038230: 80a2 2229 290a 2020 2822 6275 7722 202e ..")). ("buw" . │ │ │ -00038240: 2028 22e2 97a6 2229 290a 2020 2822 6275 ("...")). ("bu │ │ │ -00038250: 7422 202e 2028 22e2 80a3 2229 290a 0a20 t" . ("...")).. │ │ │ -00038260: 203b 3b20 4d75 7369 6361 6c20 7379 6d62 ;; Musical symb │ │ │ -00038270: 6f6c 732e 0a0a 2020 2822 6e6f 7465 2220 ols... ("note" │ │ │ -00038280: 2020 202e 202c 2861 6764 612d 696e 7075 . ,(agda-inpu │ │ │ -00038290: 742d 746f 2d73 7472 696e 672d 6c69 7374 t-to-string-list │ │ │ -000382a0: 2022 e299 a9e2 99aa e299 abe2 99ac 2229 "............") │ │ │ -000382b0: 290a 2020 2822 6222 2020 2020 2020 202e ). ("b" . │ │ │ -000382c0: 2028 22e2 99ad 2229 290a 2020 2822 2322 ("...")). ("#" │ │ │ -000382d0: 2020 2020 2020 202e 2028 22e2 99af 2229 . ("...") │ │ │ -000382e0: 290a 2020 2822 6262 2220 2020 2020 202e ). ("bb" . │ │ │ -000382f0: 2028 22f0 9d84 ab22 2929 0a20 2028 2223 ("....")). ("# │ │ │ -00038300: 2322 2020 2020 2020 2e20 2822 f09d 84aa #" . (".... │ │ │ -00038310: 2229 290a 0a20 203b 3b20 4f74 6865 7220 ")).. ;; Other │ │ │ -00038320: 7075 6e63 7475 6174 696f 6e20 616e 6420 punctuation and │ │ │ -00038330: 7379 6d62 6f6c 732e 0a0a 2020 2822 5c5c symbols... ("\\ │ │ │ -00038340: 2220 2020 2020 2020 2020 2e20 2822 5c5c " . ("\\ │ │ │ -00038350: 2229 290a 2020 2822 656e 2220 2020 2020 ")). ("en" │ │ │ -00038360: 2020 2020 2e20 2822 e280 9322 2929 0a20 . ("...")). │ │ │ -00038370: 2028 2265 6d22 2020 2020 2020 2020 202e ("em" . │ │ │ -00038380: 2028 22e2 8094 2229 290a 2020 2822 2122 ("...")). ("!" │ │ │ -00038390: 2020 2020 2020 2020 2020 2e20 2822 efbc . (".. │ │ │ -000383a0: 8122 2929 0a20 2028 2221 2122 2020 2020 .")). ("!!" │ │ │ -000383b0: 2020 2020 202e 2028 22e2 80bc 2229 290a . ("...")). │ │ │ -000383c0: 2020 2822 3f22 2020 2020 2020 2020 2020 ("?" │ │ │ -000383d0: 2e20 2822 efbc 9f22 2929 0a20 2028 223f . ("...")). ("? │ │ │ -000383e0: 3f22 2020 2020 2020 2020 202e 2028 22e2 ?" . (". │ │ │ -000383f0: 8187 2229 290a 2020 2822 3f21 2220 2020 ..")). ("?!" │ │ │ -00038400: 2020 2020 2020 2e20 2822 e280 bd22 2022 . ("..." " │ │ │ -00038410: e281 8822 2929 0a20 2028 2221 3f22 2020 ...")). ("!?" │ │ │ -00038420: 2020 2020 2020 202e 2028 22e2 8189 2229 . ("...") │ │ │ -00038430: 290a 2020 2822 6469 6522 2020 2020 2020 ). ("die" │ │ │ -00038440: 2020 2e20 2c28 6167 6461 2d69 6e70 7574 . ,(agda-input │ │ │ -00038450: 2d74 6f2d 7374 7269 6e67 2d6c 6973 7420 -to-string-list │ │ │ -00038460: 22e2 9a80 e29a 81e2 9a82 e29a 83e2 9a84 "............... │ │ │ -00038470: e29a 8522 2929 0a20 2028 2261 7374 6572 ...")). ("aster │ │ │ -00038480: 6973 6b22 2020 202e 202c 2861 6764 612d isk" . ,(agda- │ │ │ -00038490: 696e 7075 742d 746f 2d73 7472 696e 672d input-to-string- │ │ │ -000384a0: 6c69 7374 2022 e281 8ee2 8191 e281 82e2 list ".......... │ │ │ -000384b0: 9ca2 e29c a3e2 9ca4 e29c a5e2 9cb1 e29c ................ │ │ │ -000384c0: b2e2 9cb3 e29c bae2 9cbb e29c bce2 9cbd ................ │ │ │ -000384d0: e29d 83e2 9d89 e29d 8ae2 9d8b efbc 8a22 ..............." │ │ │ -000384e0: 2929 0a20 2028 2238 3c22 2020 2020 2020 )). ("8<" │ │ │ -000384f0: 2020 202e 2028 22e2 9c82 2220 22e2 9c84 . ("..." "... │ │ │ -00038500: 2229 290a 2020 2822 7469 6522 2020 2020 ")). ("tie" │ │ │ -00038510: 2020 2020 2e20 2822 e281 8022 2929 0a20 . ("...")). │ │ │ -00038520: 2028 2275 6e64 6572 7469 6522 2020 202e ("undertie" . │ │ │ -00038530: 2028 22e2 80bf 2229 290a 2020 2822 6170 ("...")). ("ap │ │ │ -00038540: 6c22 2020 2020 2020 2020 2e20 2c28 6167 l" . ,(ag │ │ │ -00038550: 6461 2d69 6e70 7574 2d74 6f2d 7374 7269 da-input-to-stri │ │ │ -00038560: 6e67 2d6c 6973 7420 22e2 8cb6 e28c b7e2 ng-list "....... │ │ │ -00038570: 8cb8 e28c b9e2 8cba e28c bbe2 8cbc e28c ................ │ │ │ -00038580: bde2 8cbe e28c bfe2 8d80 e28d 81e2 8d82 ................ │ │ │ -00038590: e28d 83e2 8d84 e28d 85e2 8d86 e28d 87e2 ................ │ │ │ -000385a0: 8d88 0a20 2020 2020 2020 2020 2020 2020 ... │ │ │ +00035eb0: 2020 e295 8de2 958f e294 85e2 9487 e294 .............. │ │ │ +00035ec0: 89e2 948b 2229 290a 0a20 203b 3b20 5472 ....")).. ;; Tr │ │ │ +00035ed0: 6961 6e67 6c65 732e 0a0a 2020 3b3b 2042 iangles... ;; B │ │ │ +00035ee0: 6967 2f73 6d61 6c6c 2c20 626c 6163 6b2f ig/small, black/ │ │ │ +00035ef0: 7768 6974 652e 0a0a 2020 2822 7422 202e white... ("t" . │ │ │ +00035f00: 202c 2861 6764 612d 696e 7075 742d 746f ,(agda-input-to │ │ │ +00035f10: 2d73 7472 696e 672d 6c69 7374 2022 e297 -string-list ".. │ │ │ +00035f20: 82e2 9783 e297 84e2 9785 e296 b8e2 96b9 ................ │ │ │ +00035f30: e296 bae2 96bb e296 b4e2 96b5 e296 bee2 ................ │ │ │ +00035f40: 96bf e297 a2e2 97bf e297 a3e2 97ba e297 ................ │ │ │ +00035f50: a4e2 97b8 e297 a5e2 97b9 2229 290a 2020 ..........")). │ │ │ +00035f60: 2822 5422 202e 202c 2861 6764 612d 696e ("T" . ,(agda-in │ │ │ +00035f70: 7075 742d 746f 2d73 7472 696e 672d 6c69 put-to-string-li │ │ │ +00035f80: 7374 2022 e297 80e2 9781 e296 b6e2 96b7 st "............ │ │ │ +00035f90: e296 b2e2 96b3 e296 bce2 96bd e297 ace2 ................ │ │ │ +00035fa0: 97ad e297 ae22 2929 0a0a 2020 2822 7462 .....")).. ("tb │ │ │ +00035fb0: 2220 2e20 2c28 6167 6461 2d69 6e70 7574 " . ,(agda-input │ │ │ +00035fc0: 2d74 6f2d 7374 7269 6e67 2d6c 6973 7420 -to-string-list │ │ │ +00035fd0: 22e2 9782 e296 b8e2 96b4 e296 bee2 9784 "............... │ │ │ +00035fe0: e296 bae2 97a2 e297 a3e2 97a4 e297 a522 ..............." │ │ │ +00035ff0: 2929 0a20 2028 2274 7722 202e 202c 2861 )). ("tw" . ,(a │ │ │ +00036000: 6764 612d 696e 7075 742d 746f 2d73 7472 gda-input-to-str │ │ │ +00036010: 696e 672d 6c69 7374 2022 e297 83e2 96b9 ing-list "...... │ │ │ +00036020: e296 b5e2 96bf e297 85e2 96bb e297 bfe2 ................ │ │ │ +00036030: 97ba e297 b8e2 97b9 2229 290a 0a20 2028 ........")).. ( │ │ │ +00036040: 2254 6222 202e 202c 2861 6764 612d 696e "Tb" . ,(agda-in │ │ │ +00036050: 7075 742d 746f 2d73 7472 696e 672d 6c69 put-to-string-li │ │ │ +00036060: 7374 2022 e297 80e2 96b6 e296 b2e2 96bc st "............ │ │ │ +00036070: 2229 290a 2020 2822 5477 2220 2e20 2c28 ")). ("Tw" . ,( │ │ │ +00036080: 6167 6461 2d69 6e70 7574 2d74 6f2d 7374 agda-input-to-st │ │ │ +00036090: 7269 6e67 2d6c 6973 7420 22e2 9781 e296 ring-list "..... │ │ │ +000360a0: b7e2 96b3 e296 bd22 2929 0a0a 2020 3b3b .......")).. ;; │ │ │ +000360b0: 2053 7175 6172 6573 2e0a 0a20 2028 2273 Squares... ("s │ │ │ +000360c0: 7122 2020 2e20 2c28 6167 6461 2d69 6e70 q" . ,(agda-inp │ │ │ +000360d0: 7574 2d74 6f2d 7374 7269 6e67 2d6c 6973 ut-to-string-lis │ │ │ +000360e0: 7420 22e2 96a0 e296 a1e2 97bc e297 bbe2 t "............. │ │ │ +000360f0: 97be e297 bde2 96a3 e296 a2e2 96a4 e296 ................ │ │ │ +00036100: a5e2 96a6 e296 a7e2 96a8 e296 a9e2 97a7 ................ │ │ │ +00036110: e297 a8e2 97a9 e297 aae2 97ab e297 b0e2 ................ │ │ │ +00036120: 97b1 e297 b2e2 97b3 2229 290a 2020 2822 ........")). (" │ │ │ +00036130: 7371 6222 202e 202c 2861 6764 612d 696e sqb" . ,(agda-in │ │ │ +00036140: 7075 742d 746f 2d73 7472 696e 672d 6c69 put-to-string-li │ │ │ +00036150: 7374 2022 e296 a0e2 97bc e297 be22 2929 st ".........")) │ │ │ +00036160: 0a20 2028 2273 7177 2220 2e20 2c28 6167 . ("sqw" . ,(ag │ │ │ +00036170: 6461 2d69 6e70 7574 2d74 6f2d 7374 7269 da-input-to-stri │ │ │ +00036180: 6e67 2d6c 6973 7420 22e2 96a1 e297 bbe2 ng-list "....... │ │ │ +00036190: 97bd 2229 290a 2020 2822 7371 2e22 202e ..")). ("sq." . │ │ │ +000361a0: 2028 22e2 96a3 2229 290a 2020 2822 7371 ("...")). ("sq │ │ │ +000361b0: 6f22 202e 2028 22e2 96a2 2229 290a 0a20 o" . ("...")).. │ │ │ +000361c0: 203b 3b20 5265 6374 616e 676c 6573 2e0a ;; Rectangles.. │ │ │ +000361d0: 0a20 2028 2272 6522 2020 2e20 2c28 6167 . ("re" . ,(ag │ │ │ +000361e0: 6461 2d69 6e70 7574 2d74 6f2d 7374 7269 da-input-to-stri │ │ │ +000361f0: 6e67 2d6c 6973 7420 22e2 96ac e296 ade2 ng-list "....... │ │ │ +00036200: 96ae e296 af22 2929 0a20 2028 2272 6562 .....")). ("reb │ │ │ +00036210: 2220 2e20 2c28 6167 6461 2d69 6e70 7574 " . ,(agda-input │ │ │ +00036220: 2d74 6f2d 7374 7269 6e67 2d6c 6973 7420 -to-string-list │ │ │ +00036230: 22e2 96ac e296 ae22 2929 0a20 2028 2272 "......")). ("r │ │ │ +00036240: 6577 2220 2e20 2c28 6167 6461 2d69 6e70 ew" . ,(agda-inp │ │ │ +00036250: 7574 2d74 6f2d 7374 7269 6e67 2d6c 6973 ut-to-string-lis │ │ │ +00036260: 7420 22e2 96ad e296 af22 2929 0a0a 2020 t "......")).. │ │ │ +00036270: 3b3b 2050 6172 616c 6c65 6c6f 6772 616d ;; Parallelogram │ │ │ +00036280: 732e 0a0a 2020 2822 7061 2220 202e 202c s... ("pa" . , │ │ │ +00036290: 2861 6764 612d 696e 7075 742d 746f 2d73 (agda-input-to-s │ │ │ +000362a0: 7472 696e 672d 6c69 7374 2022 e296 b0e2 tring-list ".... │ │ │ +000362b0: 96b1 2229 290a 2020 2822 7061 6222 202e ..")). ("pab" . │ │ │ +000362c0: 2028 22e2 96b0 2229 290a 2020 2822 7061 ("...")). ("pa │ │ │ +000362d0: 7722 202e 2028 22e2 96b1 2229 290a 0a20 w" . ("...")).. │ │ │ +000362e0: 203b 3b20 4469 616d 6f6e 6473 2e0a 0a20 ;; Diamonds... │ │ │ +000362f0: 2028 2264 6922 2020 2e20 2c28 6167 6461 ("di" . ,(agda │ │ │ +00036300: 2d69 6e70 7574 2d74 6f2d 7374 7269 6e67 -input-to-string │ │ │ +00036310: 2d6c 6973 7420 22e2 9786 e297 87e2 9788 -list "......... │ │ │ +00036320: 2229 290a 2020 2822 6469 6222 202e 2028 ")). ("dib" . ( │ │ │ +00036330: 22e2 9786 2229 290a 2020 2822 6469 7722 "...")). ("diw" │ │ │ +00036340: 202e 2028 22e2 9787 2229 290a 2020 2822 . ("...")). (" │ │ │ +00036350: 6469 2e22 202e 2028 22e2 9788 2229 290a di." . ("...")). │ │ │ +00036360: 0a20 203b 3b20 4369 7263 6c65 732e 0a0a . ;; Circles... │ │ │ +00036370: 2020 2822 6369 2220 2020 2e20 2c28 6167 ("ci" . ,(ag │ │ │ +00036380: 6461 2d69 6e70 7574 2d74 6f2d 7374 7269 da-input-to-stri │ │ │ +00036390: 6e67 2d6c 6973 7420 22e2 978f e297 8be2 ng-list "....... │ │ │ +000363a0: 978e e297 8ce2 97af e297 8de2 9790 e297 ................ │ │ │ +000363b0: 91e2 9792 e297 93e2 9794 e297 95e2 9796 ................ │ │ │ +000363c0: e297 97e2 97a0 e297 a1e2 97b4 e297 b5e2 ................ │ │ │ +000363d0: 97b6 e297 b7e2 9a86 e29a 87e2 9a88 e29a ................ │ │ │ +000363e0: 8922 2929 0a20 2028 2263 6962 2220 202e .")). ("cib" . │ │ │ +000363f0: 2028 22e2 978f 2229 290a 2020 2822 6369 ("...")). ("ci │ │ │ +00036400: 7722 2020 2e20 2822 e297 8b22 2929 0a20 w" . ("...")). │ │ │ +00036410: 2028 2263 692e 2220 202e 2028 22e2 978e ("ci." . ("... │ │ │ +00036420: 2229 290a 2020 2822 6369 2e2e 2220 2e20 ")). ("ci.." . │ │ │ +00036430: 2822 e297 8c22 2929 0a20 2028 2263 694f ("...")). ("ciO │ │ │ +00036440: 2220 202e 2028 22e2 97af 2229 290a 0a20 " . ("...")).. │ │ │ +00036450: 203b 3b20 5374 6172 732e 0a0a 2020 2822 ;; Stars... (" │ │ │ +00036460: 7374 2220 2020 2e20 2c28 6167 6461 2d69 st" . ,(agda-i │ │ │ +00036470: 6e70 7574 2d74 6f2d 7374 7269 6e67 2d6c nput-to-string-l │ │ │ +00036480: 6973 7420 22e2 8b86 e29c a6e2 9ca7 e29c ist "........... │ │ │ +00036490: b6e2 9cb4 e29c b920 e298 85e2 9886 e29c ....... ........ │ │ │ +000364a0: aae2 9cab e29c afe2 9cb0 e29c b5e2 9cb7 ................ │ │ │ +000364b0: e29c b822 2929 0a20 2028 2273 7434 2220 ...")). ("st4" │ │ │ +000364c0: 202e 202c 2861 6764 612d 696e 7075 742d . ,(agda-input- │ │ │ +000364d0: 746f 2d73 7472 696e 672d 6c69 7374 2022 to-string-list " │ │ │ +000364e0: e29c a6e2 9ca7 2229 290a 2020 2822 7374 ......")). ("st │ │ │ +000364f0: 3622 2020 2e20 2822 e29c b622 2929 0a20 6" . ("...")). │ │ │ +00036500: 2028 2273 7438 2220 202e 2028 22e2 9cb4 ("st8" . ("... │ │ │ +00036510: 2229 290a 2020 2822 7374 3132 2220 2e20 ")). ("st12" . │ │ │ +00036520: 2822 e29c b922 2929 0a0a 2020 3b3b 2042 ("...")).. ;; B │ │ │ +00036530: 6c61 636b 626f 6172 6420 626f 6c64 206c lackboard bold l │ │ │ +00036540: 6574 7465 7273 2e0a 0a20 2028 2262 4122 etters... ("bA" │ │ │ +00036550: 2020 202e 2028 22f0 9d94 b822 2929 0a20 . ("....")). │ │ │ +00036560: 2028 2262 4222 2020 202e 2028 22f0 9d94 ("bB" . ("... │ │ │ +00036570: b922 2929 0a20 2028 2262 4322 2020 202e .")). ("bC" . │ │ │ +00036580: 2028 22e2 8482 2229 290a 2020 2822 6244 ("...")). ("bD │ │ │ +00036590: 2220 2020 2e20 2822 f09d 94bb 2229 290a " . ("....")). │ │ │ +000365a0: 2020 2822 6245 2220 2020 2e20 2822 f09d ("bE" . (".. │ │ │ +000365b0: 94bc 2229 290a 2020 2822 6246 2220 2020 ..")). ("bF" │ │ │ +000365c0: 2e20 2822 f09d 94bd 2229 290a 2020 2822 . ("....")). (" │ │ │ +000365d0: 6247 2220 2020 2e20 2822 f09d 94be 2229 bG" . ("....") │ │ │ +000365e0: 290a 2020 2822 6248 2220 2020 2e20 2822 ). ("bH" . (" │ │ │ +000365f0: e284 8d22 2929 0a20 2028 2262 4922 2020 ...")). ("bI" │ │ │ +00036600: 202e 2028 22f0 9d95 8022 2929 0a20 2028 . ("....")). ( │ │ │ +00036610: 2262 4a22 2020 202e 2028 22f0 9d95 8122 "bJ" . ("...." │ │ │ +00036620: 2929 0a20 2028 2262 4b22 2020 202e 2028 )). ("bK" . ( │ │ │ +00036630: 22f0 9d95 8222 2929 0a20 2028 2262 4c22 "....")). ("bL" │ │ │ +00036640: 2020 202e 2028 22f0 9d95 8322 2929 0a20 . ("....")). │ │ │ +00036650: 2028 2262 4d22 2020 202e 2028 22f0 9d95 ("bM" . ("... │ │ │ +00036660: 8422 2929 0a20 2028 2262 4e22 2020 202e .")). ("bN" . │ │ │ +00036670: 2028 22e2 8495 2229 290a 2020 2822 624f ("...")). ("bO │ │ │ +00036680: 2220 2020 2e20 2822 f09d 9586 2229 290a " . ("....")). │ │ │ +00036690: 2020 2822 6250 2220 2020 2e20 2822 e284 ("bP" . (".. │ │ │ +000366a0: 9922 2929 0a20 2028 2262 5122 2020 202e .")). ("bQ" . │ │ │ +000366b0: 2028 22e2 849a 2229 290a 2020 2822 6252 ("...")). ("bR │ │ │ +000366c0: 2220 2020 2e20 2822 e284 9d22 2929 0a20 " . ("...")). │ │ │ +000366d0: 2028 2262 5322 2020 202e 2028 22f0 9d95 ("bS" . ("... │ │ │ +000366e0: 8a22 2929 0a20 2028 2262 5422 2020 202e .")). ("bT" . │ │ │ +000366f0: 2028 22f0 9d95 8b22 2929 0a20 2028 2262 ("....")). ("b │ │ │ +00036700: 5522 2020 202e 2028 22f0 9d95 8c22 2929 U" . ("....")) │ │ │ +00036710: 0a20 2028 2262 5622 2020 202e 2028 22f0 . ("bV" . (". │ │ │ +00036720: 9d95 8d22 2929 0a20 2028 2262 5722 2020 ...")). ("bW" │ │ │ +00036730: 202e 2028 22f0 9d95 8e22 2929 0a20 2028 . ("....")). ( │ │ │ +00036740: 2262 5822 2020 202e 2028 22f0 9d95 8f22 "bX" . ("...." │ │ │ +00036750: 2929 0a20 2028 2262 5922 2020 202e 2028 )). ("bY" . ( │ │ │ +00036760: 22f0 9d95 9022 2929 0a20 2028 2262 5a22 "....")). ("bZ" │ │ │ +00036770: 2020 202e 2028 22e2 84a4 2229 290a 2020 . ("...")). │ │ │ +00036780: 2822 6247 4722 2020 2e20 2822 e284 be22 ("bGG" . ("..." │ │ │ +00036790: 2929 0a20 2028 2262 4750 2220 202e 2028 )). ("bGP" . ( │ │ │ +000367a0: 22e2 84bf 2229 290a 2020 2822 6247 5322 "...")). ("bGS" │ │ │ +000367b0: 2020 2e20 2822 e285 8022 2929 0a20 2028 . ("...")). ( │ │ │ +000367c0: 2262 6122 2020 202e 2028 22f0 9d95 9222 "ba" . ("...." │ │ │ +000367d0: 2929 0a20 2028 2262 6222 2020 202e 2028 )). ("bb" . ( │ │ │ +000367e0: 22f0 9d95 9322 2929 0a20 2028 2262 6322 "....")). ("bc" │ │ │ +000367f0: 2020 202e 2028 22f0 9d95 9422 2929 0a20 . ("....")). │ │ │ +00036800: 2028 2262 6422 2020 202e 2028 22f0 9d95 ("bd" . ("... │ │ │ +00036810: 9522 2929 0a20 2028 2262 6522 2020 202e .")). ("be" . │ │ │ +00036820: 2028 22f0 9d95 9622 2929 0a20 2028 2262 ("....")). ("b │ │ │ +00036830: 6622 2020 202e 2028 22f0 9d95 9722 2929 f" . ("....")) │ │ │ +00036840: 0a20 2028 2262 6722 2020 202e 2028 22f0 . ("bg" . (". │ │ │ +00036850: 9d95 9822 2929 0a20 2028 2262 6822 2020 ...")). ("bh" │ │ │ +00036860: 202e 2028 22f0 9d95 9922 2929 0a20 2028 . ("....")). ( │ │ │ +00036870: 2262 6922 2020 202e 2028 22f0 9d95 9a22 "bi" . ("...." │ │ │ +00036880: 2929 0a20 2028 2262 6a22 2020 202e 2028 )). ("bj" . ( │ │ │ +00036890: 22f0 9d95 9b22 2929 0a20 2028 2262 6b22 "....")). ("bk" │ │ │ +000368a0: 2020 202e 2028 22f0 9d95 9c22 2929 0a20 . ("....")). │ │ │ +000368b0: 2028 2262 6c22 2020 202e 2028 22f0 9d95 ("bl" . ("... │ │ │ +000368c0: 9d22 2929 0a20 2028 2262 6d22 2020 202e .")). ("bm" . │ │ │ +000368d0: 2028 22f0 9d95 9e22 2929 0a20 2028 2262 ("....")). ("b │ │ │ +000368e0: 6e22 2020 202e 2028 22f0 9d95 9f22 2929 n" . ("....")) │ │ │ +000368f0: 0a20 2028 2262 6f22 2020 202e 2028 22f0 . ("bo" . (". │ │ │ +00036900: 9d95 a022 2929 0a20 2028 2262 7022 2020 ...")). ("bp" │ │ │ +00036910: 202e 2028 22f0 9d95 a122 2929 0a20 2028 . ("....")). ( │ │ │ +00036920: 2262 7122 2020 202e 2028 22f0 9d95 a222 "bq" . ("...." │ │ │ +00036930: 2929 0a20 2028 2262 7222 2020 202e 2028 )). ("br" . ( │ │ │ +00036940: 22f0 9d95 a322 2929 0a20 2028 2262 7322 "....")). ("bs" │ │ │ +00036950: 2020 202e 2028 22f0 9d95 a422 2929 0a20 . ("....")). │ │ │ +00036960: 2028 2262 7422 2020 202e 2028 22f0 9d95 ("bt" . ("... │ │ │ +00036970: a522 2929 0a20 2028 2262 7522 2020 202e .")). ("bu" . │ │ │ +00036980: 2028 22f0 9d95 a622 2929 0a20 2028 2262 ("....")). ("b │ │ │ +00036990: 7622 2020 202e 2028 22f0 9d95 a722 2929 v" . ("....")) │ │ │ +000369a0: 0a20 2028 2262 7722 2020 202e 2028 22f0 . ("bw" . (". │ │ │ +000369b0: 9d95 a822 2929 0a20 2028 2262 7822 2020 ...")). ("bx" │ │ │ +000369c0: 202e 2028 22f0 9d95 a922 2929 0a20 2028 . ("....")). ( │ │ │ +000369d0: 2262 7922 2020 202e 2028 22f0 9d95 aa22 "by" . ("...." │ │ │ +000369e0: 2929 0a20 2028 2262 7a22 2020 202e 2028 )). ("bz" . ( │ │ │ +000369f0: 22f0 9d95 ab22 2929 0a20 2028 2262 4767 "....")). ("bGg │ │ │ +00036a00: 2220 202e 2028 22e2 84bd 2229 290a 2020 " . ("...")). │ │ │ +00036a10: 2822 6247 7022 2020 2e20 2822 e284 bc22 ("bGp" . ("..." │ │ │ +00036a20: 2929 0a0a 2020 3b3b 2042 6c61 636b 626f )).. ;; Blackbo │ │ │ +00036a30: 6172 6420 626f 6c64 206e 756d 6265 7273 ard bold numbers │ │ │ +00036a40: 2e0a 0a20 2028 2262 3022 2020 202e 2028 ... ("b0" . ( │ │ │ +00036a50: 22f0 9d9f 9822 2929 0a20 2028 2262 3122 "....")). ("b1" │ │ │ +00036a60: 2020 202e 2028 22f0 9d9f 9922 2929 0a20 . ("....")). │ │ │ +00036a70: 2028 2262 3222 2020 202e 2028 22f0 9d9f ("b2" . ("... │ │ │ +00036a80: 9a22 2929 0a20 2028 2262 3322 2020 202e .")). ("b3" . │ │ │ +00036a90: 2028 22f0 9d9f 9b22 2929 0a20 2028 2262 ("....")). ("b │ │ │ +00036aa0: 3422 2020 202e 2028 22f0 9d9f 9c22 2929 4" . ("....")) │ │ │ +00036ab0: 0a20 2028 2262 3522 2020 202e 2028 22f0 . ("b5" . (". │ │ │ +00036ac0: 9d9f 9d22 2929 0a20 2028 2262 3622 2020 ...")). ("b6" │ │ │ +00036ad0: 202e 2028 22f0 9d9f 9e22 2929 0a20 2028 . ("....")). ( │ │ │ +00036ae0: 2262 3722 2020 202e 2028 22f0 9d9f 9f22 "b7" . ("...." │ │ │ +00036af0: 2929 0a20 2028 2262 3822 2020 202e 2028 )). ("b8" . ( │ │ │ +00036b00: 22f0 9d9f a022 2929 0a20 2028 2262 3922 "....")). ("b9" │ │ │ +00036b10: 2020 202e 2028 22f0 9d9f a122 2929 0a0a . ("....")).. │ │ │ +00036b20: 2020 3b3b 204d 6174 6865 6d61 7469 6361 ;; Mathematica │ │ │ +00036b30: 6c20 626f 6c64 206c 6574 7465 7273 2e0a l bold letters.. │ │ │ +00036b40: 0a20 2028 2242 4122 2020 202e 2028 22f0 . ("BA" . (". │ │ │ +00036b50: 9d90 8022 2929 0a20 2028 2242 4222 2020 ...")). ("BB" │ │ │ +00036b60: 202e 2028 22f0 9d90 8122 2929 0a20 2028 . ("....")). ( │ │ │ +00036b70: 2242 4322 2020 202e 2028 22f0 9d90 8222 "BC" . ("...." │ │ │ +00036b80: 2929 0a20 2028 2242 4422 2020 202e 2028 )). ("BD" . ( │ │ │ +00036b90: 22f0 9d90 8322 2929 0a20 2028 2242 4522 "....")). ("BE" │ │ │ +00036ba0: 2020 202e 2028 22f0 9d90 8422 2929 0a20 . ("....")). │ │ │ +00036bb0: 2028 2242 4622 2020 202e 2028 22f0 9d90 ("BF" . ("... │ │ │ +00036bc0: 8522 2929 0a20 2028 2242 4722 2020 202e .")). ("BG" . │ │ │ +00036bd0: 2028 22f0 9d90 8622 2929 0a20 2028 2242 ("....")). ("B │ │ │ +00036be0: 4822 2020 202e 2028 22f0 9d90 8722 2929 H" . ("....")) │ │ │ +00036bf0: 0a20 2028 2242 4922 2020 202e 2028 22f0 . ("BI" . (". │ │ │ +00036c00: 9d90 8822 2929 0a20 2028 2242 4a22 2020 ...")). ("BJ" │ │ │ +00036c10: 202e 2028 22f0 9d90 8922 2929 0a20 2028 . ("....")). ( │ │ │ +00036c20: 2242 4b22 2020 202e 2028 22f0 9d90 8a22 "BK" . ("...." │ │ │ +00036c30: 2929 0a20 2028 2242 4c22 2020 202e 2028 )). ("BL" . ( │ │ │ +00036c40: 22f0 9d90 8b22 2929 0a20 2028 2242 4d22 "....")). ("BM" │ │ │ +00036c50: 2020 202e 2028 22f0 9d90 8c22 2929 0a20 . ("....")). │ │ │ +00036c60: 2028 2242 4e22 2020 202e 2028 22f0 9d90 ("BN" . ("... │ │ │ +00036c70: 8d22 2929 0a20 2028 2242 4f22 2020 202e .")). ("BO" . │ │ │ +00036c80: 2028 22f0 9d90 8e22 2929 0a20 2028 2242 ("....")). ("B │ │ │ +00036c90: 5022 2020 202e 2028 22f0 9d90 8f22 2929 P" . ("....")) │ │ │ +00036ca0: 0a20 2028 2242 5122 2020 202e 2028 22f0 . ("BQ" . (". │ │ │ +00036cb0: 9d90 9022 2929 0a20 2028 2242 5222 2020 ...")). ("BR" │ │ │ +00036cc0: 202e 2028 22f0 9d90 9122 2929 0a20 2028 . ("....")). ( │ │ │ +00036cd0: 2242 5322 2020 202e 2028 22f0 9d90 9222 "BS" . ("...." │ │ │ +00036ce0: 2929 0a20 2028 2242 5422 2020 202e 2028 )). ("BT" . ( │ │ │ +00036cf0: 22f0 9d90 9322 2929 0a20 2028 2242 5522 "....")). ("BU" │ │ │ +00036d00: 2020 202e 2028 22f0 9d90 9422 2929 0a20 . ("....")). │ │ │ +00036d10: 2028 2242 5622 2020 202e 2028 22f0 9d90 ("BV" . ("... │ │ │ +00036d20: 9522 2929 0a20 2028 2242 5722 2020 202e .")). ("BW" . │ │ │ +00036d30: 2028 22f0 9d90 9622 2929 0a20 2028 2242 ("....")). ("B │ │ │ +00036d40: 5822 2020 202e 2028 22f0 9d90 9722 2929 X" . ("....")) │ │ │ +00036d50: 0a20 2028 2242 5922 2020 202e 2028 22f0 . ("BY" . (". │ │ │ +00036d60: 9d90 9822 2929 0a20 2028 2242 5a22 2020 ...")). ("BZ" │ │ │ +00036d70: 202e 2028 22f0 9d90 9922 2929 0a20 2028 . ("....")). ( │ │ │ +00036d80: 2242 6122 2020 202e 2028 22f0 9d90 9a22 "Ba" . ("...." │ │ │ +00036d90: 2929 0a20 2028 2242 6222 2020 202e 2028 )). ("Bb" . ( │ │ │ +00036da0: 22f0 9d90 9b22 2929 0a20 2028 2242 6322 "....")). ("Bc" │ │ │ +00036db0: 2020 202e 2028 22f0 9d90 9c22 2929 0a20 . ("....")). │ │ │ +00036dc0: 2028 2242 6422 2020 202e 2028 22f0 9d90 ("Bd" . ("... │ │ │ +00036dd0: 9d22 2929 0a20 2028 2242 6522 2020 202e .")). ("Be" . │ │ │ +00036de0: 2028 22f0 9d90 9e22 2929 0a20 2028 2242 ("....")). ("B │ │ │ +00036df0: 6622 2020 202e 2028 22f0 9d90 9f22 2929 f" . ("....")) │ │ │ +00036e00: 0a20 2028 2242 6722 2020 202e 2028 22f0 . ("Bg" . (". │ │ │ +00036e10: 9d90 a022 2929 0a20 2028 2242 6822 2020 ...")). ("Bh" │ │ │ +00036e20: 202e 2028 22f0 9d90 a122 2929 0a20 2028 . ("....")). ( │ │ │ +00036e30: 2242 6922 2020 202e 2028 22f0 9d90 a222 "Bi" . ("...." │ │ │ +00036e40: 2929 0a20 2028 2242 6a22 2020 202e 2028 )). ("Bj" . ( │ │ │ +00036e50: 22f0 9d90 a322 2929 0a20 2028 2242 6b22 "....")). ("Bk" │ │ │ +00036e60: 2020 202e 2028 22f0 9d90 a422 2929 0a20 . ("....")). │ │ │ +00036e70: 2028 2242 6c22 2020 202e 2028 22f0 9d90 ("Bl" . ("... │ │ │ +00036e80: a522 2929 0a20 2028 2242 6d22 2020 202e .")). ("Bm" . │ │ │ +00036e90: 2028 22f0 9d90 a622 2929 0a20 2028 2242 ("....")). ("B │ │ │ +00036ea0: 6e22 2020 202e 2028 22f0 9d90 a722 2929 n" . ("....")) │ │ │ +00036eb0: 0a20 2028 2242 6f22 2020 202e 2028 22f0 . ("Bo" . (". │ │ │ +00036ec0: 9d90 a822 2929 0a20 2028 2242 7022 2020 ...")). ("Bp" │ │ │ +00036ed0: 202e 2028 22f0 9d90 a922 2929 0a20 2028 . ("....")). ( │ │ │ +00036ee0: 2242 7122 2020 202e 2028 22f0 9d90 aa22 "Bq" . ("...." │ │ │ +00036ef0: 2929 0a20 2028 2242 7222 2020 202e 2028 )). ("Br" . ( │ │ │ +00036f00: 22f0 9d90 ab22 2929 0a20 2028 2242 7322 "....")). ("Bs" │ │ │ +00036f10: 2020 202e 2028 22f0 9d90 ac22 2929 0a20 . ("....")). │ │ │ +00036f20: 2028 2242 7422 2020 202e 2028 22f0 9d90 ("Bt" . ("... │ │ │ +00036f30: ad22 2929 0a20 2028 2242 7522 2020 202e .")). ("Bu" . │ │ │ +00036f40: 2028 22f0 9d90 ae22 2929 0a20 2028 2242 ("....")). ("B │ │ │ +00036f50: 7622 2020 202e 2028 22f0 9d90 af22 2929 v" . ("....")) │ │ │ +00036f60: 0a20 2028 2242 7722 2020 202e 2028 22f0 . ("Bw" . (". │ │ │ +00036f70: 9d90 b022 2929 0a20 2028 2242 7822 2020 ...")). ("Bx" │ │ │ +00036f80: 202e 2028 22f0 9d90 b122 2929 0a20 2028 . ("....")). ( │ │ │ +00036f90: 2242 7922 2020 202e 2028 22f0 9d90 b222 "By" . ("...." │ │ │ +00036fa0: 2929 0a20 2028 2242 7a22 2020 202e 2028 )). ("Bz" . ( │ │ │ +00036fb0: 22f0 9d90 b322 2929 0a0a 2020 3b3b 204d "....")).. ;; M │ │ │ +00036fc0: 6174 6865 6d61 7469 6361 6c20 626f 6c64 athematical bold │ │ │ +00036fd0: 2047 7265 656b 206c 6574 7465 7273 2e0a Greek letters.. │ │ │ +00036fe0: 0a20 2028 2242 4741 2220 202e 2028 22f0 . ("BGA" . (". │ │ │ +00036ff0: 9d9a a822 2929 0a20 2028 2242 4742 2220 ...")). ("BGB" │ │ │ +00037000: 202e 2028 22f0 9d9a a922 2929 0a20 2028 . ("....")). ( │ │ │ +00037010: 2242 4743 2220 202e 2028 22f0 9d9a be22 "BGC" . ("...." │ │ │ +00037020: 2929 0a20 2028 2242 4744 2220 202e 2028 )). ("BGD" . ( │ │ │ +00037030: 22f0 9d9a ab22 2929 0a20 2028 2242 4745 "....")). ("BGE │ │ │ +00037040: 2220 202e 2028 22f0 9d9a ac22 2929 0a20 " . ("....")). │ │ │ +00037050: 2028 2242 4747 2220 202e 2028 22f0 9d9a ("BGG" . ("... │ │ │ +00037060: aa22 2929 0a20 2028 2242 4748 2220 202e .")). ("BGH" . │ │ │ +00037070: 2028 22f0 9d9a ae22 2929 0a20 2028 2242 ("....")). ("B │ │ │ +00037080: 4749 2220 202e 2028 22f0 9d9a b022 2929 GI" . ("....")) │ │ │ +00037090: 0a20 2028 2242 474b 2220 202e 2028 22f0 . ("BGK" . (". │ │ │ +000370a0: 9d9a b122 2929 0a20 2028 2242 474c 2220 ...")). ("BGL" │ │ │ +000370b0: 202e 2028 22f0 9d9a b222 2929 0a20 2028 . ("....")). ( │ │ │ +000370c0: 2242 474d 2220 202e 2028 22f0 9d9a b322 "BGM" . ("...." │ │ │ +000370d0: 2929 0a20 2028 2242 474e 2220 202e 2028 )). ("BGN" . ( │ │ │ +000370e0: 22f0 9d9a b422 2929 0a20 2028 2242 474f "....")). ("BGO │ │ │ +000370f0: 2220 202e 2028 22f0 9d9b 8022 2929 0a20 " . ("....")). │ │ │ +00037100: 2028 2242 4f6d 6963 726f 6e22 202e 2028 ("BOmicron" . ( │ │ │ +00037110: 22f0 9d9a b622 2929 0a20 2028 2242 4746 "....")). ("BGF │ │ │ +00037120: 2220 202e 2028 22f0 9d9a bd22 2929 0a20 " . ("....")). │ │ │ +00037130: 2028 2242 5069 2220 202e 2028 22f0 9d9a ("BPi" . ("... │ │ │ +00037140: b722 2929 0a20 2028 2242 4750 2220 202e .")). ("BGP" . │ │ │ +00037150: 2028 22f0 9d9a bf22 2929 0a20 2028 2242 ("....")). ("B │ │ │ +00037160: 4752 2220 202e 2028 22f0 9d9a b822 2929 GR" . ("....")) │ │ │ +00037170: 0a20 2028 2242 4753 2220 202e 2028 22f0 . ("BGS" . (". │ │ │ +00037180: 9d9a ba22 2929 0a20 2028 2242 4754 2220 ...")). ("BGT" │ │ │ +00037190: 202e 2028 22f0 9d9a bb22 2929 0a20 2028 . ("....")). ( │ │ │ +000371a0: 2242 4754 4822 202e 2028 22f0 9d9a af22 "BGTH" . ("...." │ │ │ +000371b0: 2929 0a20 2028 2242 4755 2220 202e 2028 )). ("BGU" . ( │ │ │ +000371c0: 22f0 9d9a bc22 2929 0a20 2028 2242 4758 "....")). ("BGX │ │ │ +000371d0: 2220 202e 2028 22f0 9d9a b522 2929 0a20 " . ("....")). │ │ │ +000371e0: 2028 2242 475a 2220 202e 2028 22f0 9d9a ("BGZ" . ("... │ │ │ +000371f0: ad22 2929 0a20 2028 2242 4761 2220 202e .")). ("BGa" . │ │ │ +00037200: 2028 22f0 9d9b 8222 2929 0a20 2028 2242 ("....")). ("B │ │ │ +00037210: 4762 2220 202e 2028 22f0 9d9b 8322 2929 Gb" . ("....")) │ │ │ +00037220: 0a20 2028 2242 4763 2220 202e 2028 22f0 . ("BGc" . (". │ │ │ +00037230: 9d9b 9822 2929 0a20 2028 2242 4764 2220 ...")). ("BGd" │ │ │ +00037240: 202e 2028 22f0 9d9b 8522 2929 0a20 2028 . ("....")). ( │ │ │ +00037250: 2242 4765 2220 202e 2028 22f0 9d9b 8622 "BGe" . ("...." │ │ │ +00037260: 2929 0a20 2028 2242 4767 2220 202e 2028 )). ("BGg" . ( │ │ │ +00037270: 22f0 9d9b 8422 2929 0a20 2028 2242 4768 "....")). ("BGh │ │ │ +00037280: 2220 202e 2028 22f0 9d9b 8822 2929 0a20 " . ("....")). │ │ │ +00037290: 2028 2242 4769 2220 202e 2028 22f0 9d9b ("BGi" . ("... │ │ │ +000372a0: 8a22 2929 0a20 2028 2242 476b 2220 202e .")). ("BGk" . │ │ │ +000372b0: 2028 22f0 9d9b 8b22 2929 0a20 2028 2242 ("....")). ("B │ │ │ +000372c0: 476c 2220 202e 2028 22f0 9d9b 8c22 2929 Gl" . ("....")) │ │ │ +000372d0: 0a20 2028 2242 476d 2220 202e 2028 22f0 . ("BGm" . (". │ │ │ +000372e0: 9d9b 8d22 2929 0a20 2028 2242 476e 2220 ...")). ("BGn" │ │ │ +000372f0: 202e 2028 22f0 9d9b 8e22 2929 0a20 2028 . ("....")). ( │ │ │ +00037300: 2242 476f 2220 202e 2028 22f0 9d9b 9a22 "BGo" . ("...." │ │ │ +00037310: 2929 0a20 2028 2242 6f6d 6963 726f 6e22 )). ("Bomicron" │ │ │ +00037320: 202e 2028 22f0 9d9b 9022 2929 0a20 2028 . ("....")). ( │ │ │ +00037330: 2242 4766 2220 202e 2028 22f0 9d9b 9722 "BGf" . ("...." │ │ │ +00037340: 2929 0a20 2028 2242 7069 2220 202e 2028 )). ("Bpi" . ( │ │ │ +00037350: 22f0 9d9b 9122 2929 0a20 2028 2242 4770 "....")). ("BGp │ │ │ +00037360: 2220 202e 2028 22f0 9d9b 9922 2929 0a20 " . ("....")). │ │ │ +00037370: 2028 2242 4772 2220 202e 2028 22f0 9d9b ("BGr" . ("... │ │ │ +00037380: 9222 2929 0a20 2028 2242 4773 2220 202e .")). ("BGs" . │ │ │ +00037390: 2028 22f0 9d9b 9422 2929 0a20 2028 2242 ("....")). ("B │ │ │ +000373a0: 4774 2220 202e 2028 22f0 9d9b 9522 2929 Gt" . ("....")) │ │ │ +000373b0: 0a20 2028 2242 4774 6822 202e 2028 22f0 . ("BGth" . (". │ │ │ +000373c0: 9d9b 8922 2929 0a20 2028 2242 4775 2220 ...")). ("BGu" │ │ │ +000373d0: 202e 2028 22f0 9d9b 9622 2929 0a20 2028 . ("....")). ( │ │ │ +000373e0: 2242 4778 2220 202e 2028 22f0 9d9b 8f22 "BGx" . ("...." │ │ │ +000373f0: 2929 0a20 2028 2242 477a 2220 202e 2028 )). ("BGz" . ( │ │ │ +00037400: 22f0 9d9b 8722 2929 0a0a 2020 3b3b 204d "....")).. ;; M │ │ │ +00037410: 6174 6865 6d61 7469 6361 6c20 626f 6c64 athematical bold │ │ │ +00037420: 2064 6967 6974 732e 0a0a 2020 2822 4230 digits... ("B0 │ │ │ +00037430: 2220 2020 2e20 2822 f09d 9f8e 2229 290a " . ("....")). │ │ │ +00037440: 2020 2822 4231 2220 2020 2e20 2822 f09d ("B1" . (".. │ │ │ +00037450: 9f8f 2229 290a 2020 2822 4232 2220 2020 ..")). ("B2" │ │ │ +00037460: 2e20 2822 f09d 9f90 2229 290a 2020 2822 . ("....")). (" │ │ │ +00037470: 4233 2220 2020 2e20 2822 f09d 9f91 2229 B3" . ("....") │ │ │ +00037480: 290a 2020 2822 4234 2220 2020 2e20 2822 ). ("B4" . (" │ │ │ +00037490: f09d 9f92 2229 290a 2020 2822 4235 2220 ....")). ("B5" │ │ │ +000374a0: 2020 2e20 2822 f09d 9f93 2229 290a 2020 . ("....")). │ │ │ +000374b0: 2822 4236 2220 2020 2e20 2822 f09d 9f94 ("B6" . (".... │ │ │ +000374c0: 2229 290a 2020 2822 4237 2220 2020 2e20 ")). ("B7" . │ │ │ +000374d0: 2822 f09d 9f95 2229 290a 2020 2822 4238 ("....")). ("B8 │ │ │ +000374e0: 2220 2020 2e20 2822 f09d 9f96 2229 290a " . ("....")). │ │ │ +000374f0: 2020 2822 4239 2220 2020 2e20 2822 f09d ("B9" . (".. │ │ │ +00037500: 9f97 2229 290a 0a20 203b 3b20 4675 6c6c ..")).. ;; Full │ │ │ +00037510: 7769 6474 6820 6c65 7474 6572 732e 0a0a width letters... │ │ │ +00037520: 2020 2822 4641 2220 2020 2e20 2822 efbc ("FA" . (".. │ │ │ +00037530: a122 2929 0a20 2028 2246 4222 2020 202e .")). ("FB" . │ │ │ +00037540: 2028 22ef bca2 2229 290a 2020 2822 4643 ("...")). ("FC │ │ │ +00037550: 2220 2020 2e20 2822 efbc a322 2929 0a20 " . ("...")). │ │ │ +00037560: 2028 2246 4422 2020 202e 2028 22ef bca4 ("FD" . ("... │ │ │ +00037570: 2229 290a 2020 2822 4645 2220 2020 2e20 ")). ("FE" . │ │ │ +00037580: 2822 efbc a522 2929 0a20 2028 2246 4622 ("...")). ("FF" │ │ │ +00037590: 2020 202e 2028 22ef bca6 2229 290a 2020 . ("...")). │ │ │ +000375a0: 2822 4647 2220 2020 2e20 2822 efbc a722 ("FG" . ("..." │ │ │ +000375b0: 2929 0a20 2028 2246 4822 2020 202e 2028 )). ("FH" . ( │ │ │ +000375c0: 22ef bca8 2229 290a 2020 2822 4649 2220 "...")). ("FI" │ │ │ +000375d0: 2020 2e20 2822 efbc a922 2929 0a20 2028 . ("...")). ( │ │ │ +000375e0: 2246 4a22 2020 202e 2028 22ef bcaa 2229 "FJ" . ("...") │ │ │ +000375f0: 290a 2020 2822 464b 2220 2020 2e20 2822 ). ("FK" . (" │ │ │ +00037600: efbc ab22 2929 0a20 2028 2246 4c22 2020 ...")). ("FL" │ │ │ +00037610: 202e 2028 22ef bcac 2229 290a 2020 2822 . ("...")). (" │ │ │ +00037620: 464d 2220 2020 2e20 2822 efbc ad22 2929 FM" . ("...")) │ │ │ +00037630: 0a20 2028 2246 4e22 2020 202e 2028 22ef . ("FN" . (". │ │ │ +00037640: bcae 2229 290a 2020 2822 464f 2220 2020 ..")). ("FO" │ │ │ +00037650: 2e20 2822 efbc af22 2929 0a20 2028 2246 . ("...")). ("F │ │ │ +00037660: 5022 2020 202e 2028 22ef bcb0 2229 290a P" . ("...")). │ │ │ +00037670: 2020 2822 4651 2220 2020 2e20 2822 efbc ("FQ" . (".. │ │ │ +00037680: b122 2929 0a20 2028 2246 5222 2020 202e .")). ("FR" . │ │ │ +00037690: 2028 22ef bcb2 2229 290a 2020 2822 4653 ("...")). ("FS │ │ │ +000376a0: 2220 2020 2e20 2822 efbc b322 2929 0a20 " . ("...")). │ │ │ +000376b0: 2028 2246 5422 2020 202e 2028 22ef bcb4 ("FT" . ("... │ │ │ +000376c0: 2229 290a 2020 2822 4655 2220 2020 2e20 ")). ("FU" . │ │ │ +000376d0: 2822 efbc b522 2929 0a20 2028 2246 5622 ("...")). ("FV" │ │ │ +000376e0: 2020 202e 2028 22ef bcb6 2229 290a 2020 . ("...")). │ │ │ +000376f0: 2822 4657 2220 2020 2e20 2822 efbc b722 ("FW" . ("..." │ │ │ +00037700: 2929 0a20 2028 2246 5822 2020 202e 2028 )). ("FX" . ( │ │ │ +00037710: 22ef bcb8 2229 290a 2020 2822 4659 2220 "...")). ("FY" │ │ │ +00037720: 2020 2e20 2822 efbc b922 2929 0a20 2028 . ("...")). ( │ │ │ +00037730: 2246 5a22 2020 202e 2028 22ef bcba 2229 "FZ" . ("...") │ │ │ +00037740: 290a 2020 2822 4661 2220 2020 2e20 2822 ). ("Fa" . (" │ │ │ +00037750: efbd 8122 2929 0a20 2028 2246 6222 2020 ...")). ("Fb" │ │ │ +00037760: 202e 2028 22ef bd82 2229 290a 2020 2822 . ("...")). (" │ │ │ +00037770: 4663 2220 2020 2e20 2822 efbd 8322 2929 Fc" . ("...")) │ │ │ +00037780: 0a20 2028 2246 6422 2020 202e 2028 22ef . ("Fd" . (". │ │ │ +00037790: bd84 2229 290a 2020 2822 4665 2220 2020 ..")). ("Fe" │ │ │ +000377a0: 2e20 2822 efbd 8522 2929 0a20 2028 2246 . ("...")). ("F │ │ │ +000377b0: 6622 2020 202e 2028 22ef bd86 2229 290a f" . ("...")). │ │ │ +000377c0: 2020 2822 4667 2220 2020 2e20 2822 efbd ("Fg" . (".. │ │ │ +000377d0: 8722 2929 0a20 2028 2246 6822 2020 202e .")). ("Fh" . │ │ │ +000377e0: 2028 22ef bd88 2229 290a 2020 2822 4669 ("...")). ("Fi │ │ │ +000377f0: 2220 2020 2e20 2822 efbd 8922 2929 0a20 " . ("...")). │ │ │ +00037800: 2028 2246 6a22 2020 202e 2028 22ef bd8a ("Fj" . ("... │ │ │ +00037810: 2229 290a 2020 2822 466b 2220 2020 2e20 ")). ("Fk" . │ │ │ +00037820: 2822 efbd 8b22 2929 0a20 2028 2246 6c22 ("...")). ("Fl" │ │ │ +00037830: 2020 202e 2028 22ef bd8c 2229 290a 2020 . ("...")). │ │ │ +00037840: 2822 466d 2220 2020 2e20 2822 efbd 8d22 ("Fm" . ("..." │ │ │ +00037850: 2929 0a20 2028 2246 6e22 2020 202e 2028 )). ("Fn" . ( │ │ │ +00037860: 22ef bd8e 2229 290a 2020 2822 466f 2220 "...")). ("Fo" │ │ │ +00037870: 2020 2e20 2822 efbd 8f22 2929 0a20 2028 . ("...")). ( │ │ │ +00037880: 2246 7022 2020 202e 2028 22ef bd90 2229 "Fp" . ("...") │ │ │ +00037890: 290a 2020 2822 4671 2220 2020 2e20 2822 ). ("Fq" . (" │ │ │ +000378a0: efbd 9122 2929 0a20 2028 2246 7222 2020 ...")). ("Fr" │ │ │ +000378b0: 202e 2028 22ef bd92 2229 290a 2020 2822 . ("...")). (" │ │ │ +000378c0: 4673 2220 2020 2e20 2822 efbd 9322 2929 Fs" . ("...")) │ │ │ +000378d0: 0a20 2028 2246 7422 2020 202e 2028 22ef . ("Ft" . (". │ │ │ +000378e0: bd94 2229 290a 2020 2822 4675 2220 2020 ..")). ("Fu" │ │ │ +000378f0: 2e20 2822 efbd 9522 2929 0a20 2028 2246 . ("...")). ("F │ │ │ +00037900: 7622 2020 202e 2028 22ef bd96 2229 290a v" . ("...")). │ │ │ +00037910: 2020 2822 4677 2220 2020 2e20 2822 efbd ("Fw" . (".. │ │ │ +00037920: 9722 2929 0a20 2028 2246 7822 2020 202e .")). ("Fx" . │ │ │ +00037930: 2028 22ef bd98 2229 290a 2020 2822 4679 ("...")). ("Fy │ │ │ +00037940: 2220 2020 2e20 2822 efbd 9922 2929 0a20 " . ("...")). │ │ │ +00037950: 2028 2246 7a22 2020 202e 2028 22ef bd9a ("Fz" . ("... │ │ │ +00037960: 2229 290a 0a20 203b 3b20 4675 6c6c 7769 ")).. ;; Fullwi │ │ │ +00037970: 6474 6820 6469 6769 7473 2e0a 0a20 2028 dth digits... ( │ │ │ +00037980: 2246 3022 2020 202e 2028 22ef bc90 2229 "F0" . ("...") │ │ │ +00037990: 290a 2020 2822 4631 2220 2020 2e20 2822 ). ("F1" . (" │ │ │ +000379a0: efbc 9122 2929 0a20 2028 2246 3222 2020 ...")). ("F2" │ │ │ +000379b0: 202e 2028 22ef bc92 2229 290a 2020 2822 . ("...")). (" │ │ │ +000379c0: 4633 2220 2020 2e20 2822 efbc 9322 2929 F3" . ("...")) │ │ │ +000379d0: 0a20 2028 2246 3422 2020 202e 2028 22ef . ("F4" . (". │ │ │ +000379e0: bc94 2229 290a 2020 2822 4635 2220 2020 ..")). ("F5" │ │ │ +000379f0: 2e20 2822 efbc 9522 2929 0a20 2028 2246 . ("...")). ("F │ │ │ +00037a00: 3622 2020 202e 2028 22ef bc96 2229 290a 6" . ("...")). │ │ │ +00037a10: 2020 2822 4637 2220 2020 2e20 2822 efbc ("F7" . (".. │ │ │ +00037a20: 9722 2929 0a20 2028 2246 3822 2020 202e .")). ("F8" . │ │ │ +00037a30: 2028 22ef bc98 2229 290a 2020 2822 4639 ("...")). ("F9 │ │ │ +00037a40: 2220 2020 2e20 2822 efbc 9922 2929 0a0a " . ("...")).. │ │ │ +00037a50: 2020 3b3b 2046 756c 6c77 6964 7468 2073 ;; Fullwidth s │ │ │ +00037a60: 796d 626f 6c73 2e0a 0a20 2028 2246 2122 ymbols... ("F!" │ │ │ +00037a70: 2020 202e 2028 22ef bc81 2229 290a 2020 . ("...")). │ │ │ +00037a80: 2822 465c 2222 2020 2e20 2822 efbc 8222 ("F\"" . ("..." │ │ │ +00037a90: 2929 0a20 2028 2246 2322 2020 202e 2028 )). ("F#" . ( │ │ │ +00037aa0: 22ef bc83 2229 290a 2020 2822 4624 2220 "...")). ("F$" │ │ │ +00037ab0: 2020 2e20 2822 efbc 8422 2929 0a20 2028 . ("...")). ( │ │ │ +00037ac0: 2246 2522 2020 202e 2028 22ef bc85 2229 "F%" . ("...") │ │ │ +00037ad0: 290a 2020 2822 4626 2220 2020 2e20 2822 ). ("F&" . (" │ │ │ +00037ae0: efbc 8622 2929 0a20 2028 2246 2722 2020 ...")). ("F'" │ │ │ +00037af0: 202e 2028 22ef bc87 2229 290a 2020 2822 . ("...")). (" │ │ │ +00037b00: 4628 2220 2020 2e20 2822 efbc 8822 2929 F(" . ("...")) │ │ │ +00037b10: 0a20 2028 2246 2922 2020 202e 2028 22ef . ("F)" . (". │ │ │ +00037b20: bc89 2229 290a 2020 2822 462a 2220 2020 ..")). ("F*" │ │ │ +00037b30: 2e20 2822 efbc 8a22 2929 0a20 2028 2246 . ("...")). ("F │ │ │ +00037b40: 2b22 2020 202e 2028 22ef bc8b 2229 290a +" . ("...")). │ │ │ +00037b50: 2020 2822 462c 2220 2020 2e20 2822 efbc ("F," . (".. │ │ │ +00037b60: 8c22 2929 0a20 2028 2246 2d22 2020 202e .")). ("F-" . │ │ │ +00037b70: 2028 22ef bc8d 2229 290a 2020 2822 462e ("...")). ("F. │ │ │ +00037b80: 2220 2020 2e20 2822 efbc 8e22 2929 0a20 " . ("...")). │ │ │ +00037b90: 2028 2246 2f22 2020 202e 2028 22ef bc8f ("F/" . ("... │ │ │ +00037ba0: 2229 290a 2020 2822 463a 2220 2020 2e20 ")). ("F:" . │ │ │ +00037bb0: 2822 efbc 9a22 2929 0a20 2028 2246 3b22 ("...")). ("F;" │ │ │ +00037bc0: 2020 202e 2028 22ef bc9b 2229 290a 2020 . ("...")). │ │ │ +00037bd0: 2822 463c 2220 2020 2e20 2822 efbc 9c22 ("F<" . ("..." │ │ │ +00037be0: 2929 0a20 2028 2246 3d22 2020 202e 2028 )). ("F=" . ( │ │ │ +00037bf0: 22ef bc9d 2229 290a 2020 2822 463e 2220 "...")). ("F>" │ │ │ +00037c00: 2020 2e20 2822 efbc 9e22 2929 0a20 2028 . ("...")). ( │ │ │ +00037c10: 2246 3f22 2020 202e 2028 22ef bc9f 2229 "F?" . ("...") │ │ │ +00037c20: 290a 2020 2822 4640 2220 2020 2e20 2822 ). ("F@" . (" │ │ │ +00037c30: efbc a022 2929 0a20 2028 2246 5b22 2020 ...")). ("F[" │ │ │ +00037c40: 202e 2028 22ef bcbb 2229 290a 2020 2822 . ("...")). (" │ │ │ +00037c50: 465c 5c22 2020 2e20 2822 efbc bc22 2929 F\\" . ("...")) │ │ │ +00037c60: 0a20 2028 2246 5d22 2020 202e 2028 22ef . ("F]" . (". │ │ │ +00037c70: bcbd 2229 290a 2020 2822 465f 2220 2020 ..")). ("F_" │ │ │ +00037c80: 2e20 2822 efbc bf22 2929 0a20 2028 2246 . ("...")). ("F │ │ │ +00037c90: 7b22 2020 202e 2028 22ef bd9b 2229 290a {" . ("...")). │ │ │ +00037ca0: 2020 2822 467c 2220 2020 2e20 2822 efbd ("F|" . (".. │ │ │ +00037cb0: 9c22 2929 0a20 2028 2246 7d22 2020 202e .")). ("F}" . │ │ │ +00037cc0: 2028 22ef bd9d 2229 290a 2020 2822 467e ("...")). ("F~ │ │ │ +00037cd0: 2220 2020 2e20 2822 efbd 9e22 2929 0a20 " . ("...")). │ │ │ +00037ce0: 2028 2246 2828 2220 202e 2028 22ef bd9f ("F((" . ("... │ │ │ +00037cf0: 2229 290a 2020 2822 4629 2922 2020 2e20 ")). ("F))" . │ │ │ +00037d00: 2822 efbd a022 2929 0a20 2028 2246 6e65 ("...")). ("Fne │ │ │ +00037d10: 6722 202e 2028 22ef bfa2 2229 290a 0a20 g" . ("...")).. │ │ │ +00037d20: 203b 3b20 5061 7265 6e74 6865 7365 732e ;; Parentheses. │ │ │ +00037d30: 0a0a 2020 2822 2822 202e 202c 2861 6764 .. ("(" . ,(agd │ │ │ +00037d40: 612d 696e 7075 742d 746f 2d73 7472 696e a-input-to-strin │ │ │ +00037d50: 672d 6c69 7374 2022 285b 7be2 8185 e281 g-list "([{..... │ │ │ +00037d60: bde2 828d e28c a9e2 8eb4 e29f 85e2 9fa6 ................ │ │ │ +00037d70: e29f a8e2 9faa e2a6 83e3 8088 e380 8ae3 ................ │ │ │ +00037d80: 808c e380 8ee3 8090 e380 94e3 8096 e380 ................ │ │ │ +00037d90: 9aef b8b5 efb8 b7ef b8b9 efb8 bbef b8bd ................ │ │ │ +00037da0: efb8 bfef b981 efb9 83ef b999 efb9 9bef ................ │ │ │ +00037db0: b99d efbc 88ef bcbb efbd 9bef bda2 e29d ................ │ │ │ +00037dc0: aae2 9dac e29d b0e2 9db2 e29d b4e2 9fae ................ │ │ │ +00037dd0: e2a6 85e2 a697 e2a7 bce2 b8a8 e29d aee2 ................ │ │ │ +00037de0: a687 e2a6 8922 2929 0a20 2028 2229 2220 .....")). (")" │ │ │ +00037df0: 2e20 2c28 6167 6461 2d69 6e70 7574 2d74 . ,(agda-input-t │ │ │ +00037e00: 6f2d 7374 7269 6e67 2d6c 6973 7420 2229 o-string-list ") │ │ │ +00037e10: 5d7d e281 86e2 81be e282 8ee2 8caa e28e ]}.............. │ │ │ +00037e20: b5e2 9f86 e29f a7e2 9fa9 e29f abe2 a684 ................ │ │ │ +00037e30: e380 89e3 808b e380 8de3 808f e380 91e3 ................ │ │ │ +00037e40: 8095 e380 97e3 809b efb8 b6ef b8b8 efb8 ................ │ │ │ +00037e50: baef b8bc efb8 beef b980 efb9 82ef b984 ................ │ │ │ +00037e60: efb9 9aef b99c efb9 9eef bc89 efbc bdef ................ │ │ │ +00037e70: bd9d efbd a3e2 9dab e29d ade2 9db1 e29d ................ │ │ │ +00037e80: b3e2 9db5 e29f afe2 a686 e2a6 98e2 a7bd ................ │ │ │ +00037e90: e2b8 a9e2 9daf e2a6 88e2 a68a 2229 290a ............")). │ │ │ +00037ea0: 0a20 2028 225b 5b22 202e 2028 22e2 9fa6 . ("[[" . ("... │ │ │ +00037eb0: 2229 290a 2020 2822 5d5d 2220 2e20 2822 ")). ("]]" . (" │ │ │ +00037ec0: e29f a722 2929 0a20 2028 223c 2220 202e ...")). ("<" . │ │ │ +00037ed0: 202c 2861 6764 612d 696e 7075 742d 746f ,(agda-input-to │ │ │ +00037ee0: 2d73 7472 696e 672d 6c69 7374 2022 e29f -string-list ".. │ │ │ +00037ef0: a83c e289 aae2 8b98 e289 bae2 8a82 e28b .<.............. │ │ │ +00037f00: 90e2 8a8f e28a b0e2 8ab2 e28b 96ef bc9c ................ │ │ │ +00037f10: 2229 290a 2020 2822 3e22 2020 2e20 2c28 ")). (">" . ,( │ │ │ +00037f20: 6167 6461 2d69 6e70 7574 2d74 6f2d 7374 agda-input-to-st │ │ │ +00037f30: 7269 6e67 2d6c 6973 7420 22e2 9fa9 3ee2 ring-list "...>. │ │ │ +00037f40: 89ab e28b 99e2 89bb e28a 83e2 8b91 e28a ................ │ │ │ +00037f50: 90e2 8ab1 e28a b3e2 8b97 efbc 9e22 2929 .............")) │ │ │ +00037f60: 0a20 2028 223c 3c22 202e 2028 22e2 9faa . ("<<" . ("... │ │ │ +00037f70: 2229 290a 2020 2822 3e3e 2220 2e20 2822 ")). (">>" . (" │ │ │ +00037f80: e29f ab22 2929 0a20 2028 227b 7b22 202e ...")). ("{{" . │ │ │ +00037f90: 2028 22e2 a683 2229 290a 2020 2822 7d7d ("...")). ("}} │ │ │ +00037fa0: 2220 2e20 2822 e2a6 8422 2929 0a0a 2020 " . ("...")).. │ │ │ +00037fb0: 2822 2862 2220 2e20 2822 e29f 8522 2929 ("(b" . ("...")) │ │ │ +00037fc0: 0a20 2028 2229 6222 202e 2028 22e2 9f86 . (")b" . ("... │ │ │ +00037fd0: 2229 290a 0a20 2028 226c 6261 6722 202e ")).. ("lbag" . │ │ │ +00037fe0: 2028 22e2 9f85 2229 290a 2020 2822 7262 ("...")). ("rb │ │ │ +00037ff0: 6167 2220 2e20 2822 e29f 8622 2929 0a0a ag" . ("...")).. │ │ │ +00038000: 2020 2822 3c7c 2220 2e20 2822 e2a6 8922 ("<|" . ("..." │ │ │ +00038010: 2929 2020 3b3b 2041 6e67 6c65 2062 6172 )) ;; Angle bar │ │ │ +00038020: 2062 7261 636b 6574 730a 2020 2822 7c3e brackets. ("|> │ │ │ +00038030: 2220 2e20 2822 e2a6 8a22 2929 0a0a 2020 " . ("...")).. │ │ │ +00038040: 2822 287c 2220 2e20 2822 e2a6 8722 2929 ("(|" . ("...")) │ │ │ +00038050: 2020 3b3b 2049 6469 6f6d 2062 7261 636b ;; Idiom brack │ │ │ +00038060: 6574 730a 2020 2822 7c29 2220 2e20 2822 ets. ("|)" . (" │ │ │ +00038070: e2a6 8822 2929 0a0a 2020 2822 2828 2220 ...")).. ("((" │ │ │ +00038080: 2e20 2c28 6167 6461 2d69 6e70 7574 2d74 . ,(agda-input-t │ │ │ +00038090: 6f2d 7374 7269 6e67 2d6c 6973 7420 22e2 o-string-list ". │ │ │ +000380a0: a685 efbd 9f22 2929 2020 3b3b 2042 616e .....")) ;; Ban │ │ │ +000380b0: 616e 6120 6272 6163 6b65 7473 0a20 2028 ana brackets. ( │ │ │ +000380c0: 2229 2922 202e 202c 2861 6764 612d 696e "))" . ,(agda-in │ │ │ +000380d0: 7075 742d 746f 2d73 7472 696e 672d 6c69 put-to-string-li │ │ │ +000380e0: 7374 2022 e2a6 86ef bda0 2229 290a 0a20 st "......")).. │ │ │ +000380f0: 203b 3b20 5072 696d 6573 2e0a 0a20 2028 ;; Primes... ( │ │ │ +00038100: 2227 2220 2e20 2c28 6167 6461 2d69 6e70 "'" . ,(agda-inp │ │ │ +00038110: 7574 2d74 6f2d 7374 7269 6e67 2d6c 6973 ut-to-string-lis │ │ │ +00038120: 7420 22e2 80b2 e280 b3e2 80b4 e281 97ef t "............. │ │ │ +00038130: bc87 2229 290a 2020 2822 6022 202e 202c ..")). ("`" . , │ │ │ +00038140: 2861 6764 612d 696e 7075 742d 746f 2d73 (agda-input-to-s │ │ │ +00038150: 7472 696e 672d 6c69 7374 2022 e280 b5e2 tring-list ".... │ │ │ +00038160: 80b6 e280 b7ef bd80 2229 290a 0a20 203b ........")).. ; │ │ │ +00038170: 3b20 4672 6163 7469 6f6e 732e 0a0a 2020 ; Fractions... │ │ │ +00038180: 2822 6672 6163 2220 2e20 2c28 6167 6461 ("frac" . ,(agda │ │ │ +00038190: 2d69 6e70 7574 2d74 6f2d 7374 7269 6e67 -input-to-string │ │ │ +000381a0: 2d6c 6973 7420 22c2 bcc2 bdc2 bee2 8593 -list "......... │ │ │ +000381b0: e285 94e2 8595 e285 96e2 8597 e285 98e2 ................ │ │ │ +000381c0: 8599 e285 9ae2 859b e285 9ce2 859d e285 ................ │ │ │ +000381d0: 9ee2 859f 2229 290a 0a20 203b 3b20 4275 ....")).. ;; Bu │ │ │ +000381e0: 6c6c 6574 732e 0a0a 2020 2822 6275 2220 llets... ("bu" │ │ │ +000381f0: 202e 202c 2861 6764 612d 696e 7075 742d . ,(agda-input- │ │ │ +00038200: 746f 2d73 7472 696e 672d 6c69 7374 2022 to-string-list " │ │ │ +00038210: e280 a2e2 97a6 e280 a3e2 818c e281 8d22 ..............." │ │ │ +00038220: 2929 0a20 2028 2262 7562 2220 2e20 2822 )). ("bub" . (" │ │ │ +00038230: e280 a222 2929 0a20 2028 2262 7577 2220 ...")). ("buw" │ │ │ +00038240: 2e20 2822 e297 a622 2929 0a20 2028 2262 . ("...")). ("b │ │ │ +00038250: 7574 2220 2e20 2822 e280 a322 2929 0a0a ut" . ("...")).. │ │ │ +00038260: 2020 3b3b 204d 7573 6963 616c 2073 796d ;; Musical sym │ │ │ +00038270: 626f 6c73 2e0a 0a20 2028 226e 6f74 6522 bols... ("note" │ │ │ +00038280: 2020 2020 2e20 2c28 6167 6461 2d69 6e70 . ,(agda-inp │ │ │ +00038290: 7574 2d74 6f2d 7374 7269 6e67 2d6c 6973 ut-to-string-lis │ │ │ +000382a0: 7420 22e2 99a9 e299 aae2 99ab e299 ac22 t "............" │ │ │ +000382b0: 2929 0a20 2028 2262 2220 2020 2020 2020 )). ("b" │ │ │ +000382c0: 2e20 2822 e299 ad22 2929 0a20 2028 2223 . ("...")). ("# │ │ │ +000382d0: 2220 2020 2020 2020 2e20 2822 e299 af22 " . ("..." │ │ │ +000382e0: 2929 0a20 2028 2262 6222 2020 2020 2020 )). ("bb" │ │ │ +000382f0: 2e20 2822 f09d 84ab 2229 290a 2020 2822 . ("....")). (" │ │ │ +00038300: 2323 2220 2020 2020 202e 2028 22f0 9d84 ##" . ("... │ │ │ +00038310: aa22 2929 0a0a 2020 3b3b 204f 7468 6572 .")).. ;; Other │ │ │ +00038320: 2070 756e 6374 7561 7469 6f6e 2061 6e64 punctuation and │ │ │ +00038330: 2073 796d 626f 6c73 2e0a 0a20 2028 225c symbols... ("\ │ │ │ +00038340: 5c22 2020 2020 2020 2020 202e 2028 225c \" . ("\ │ │ │ +00038350: 5c22 2929 0a20 2028 2265 6e22 2020 2020 \")). ("en" │ │ │ +00038360: 2020 2020 202e 2028 22e2 8093 2229 290a . ("...")). │ │ │ +00038370: 2020 2822 656d 2220 2020 2020 2020 2020 ("em" │ │ │ +00038380: 2e20 2822 e280 9422 2929 0a20 2028 2221 . ("...")). ("! │ │ │ +00038390: 2220 2020 2020 2020 2020 202e 2028 22ef " . (". │ │ │ +000383a0: bc81 2229 290a 2020 2822 2121 2220 2020 ..")). ("!!" │ │ │ +000383b0: 2020 2020 2020 2e20 2822 e280 bc22 2929 . ("...")) │ │ │ +000383c0: 0a20 2028 223f 2220 2020 2020 2020 2020 . ("?" │ │ │ +000383d0: 202e 2028 22ef bc9f 2229 290a 2020 2822 . ("...")). (" │ │ │ +000383e0: 3f3f 2220 2020 2020 2020 2020 2e20 2822 ??" . (" │ │ │ +000383f0: e281 8722 2929 0a20 2028 223f 2122 2020 ...")). ("?!" │ │ │ +00038400: 2020 2020 2020 202e 2028 22e2 80bd 2220 . ("..." │ │ │ +00038410: 22e2 8188 2229 290a 2020 2822 213f 2220 "...")). ("!?" │ │ │ +00038420: 2020 2020 2020 2020 2e20 2822 e281 8922 . ("..." │ │ │ +00038430: 2929 0a20 2028 2264 6965 2220 2020 2020 )). ("die" │ │ │ +00038440: 2020 202e 202c 2861 6764 612d 696e 7075 . ,(agda-inpu │ │ │ +00038450: 742d 746f 2d73 7472 696e 672d 6c69 7374 t-to-string-list │ │ │ +00038460: 2022 e29a 80e2 9a81 e29a 82e2 9a83 e29a ".............. │ │ │ +00038470: 84e2 9a85 2229 290a 2020 2822 6173 7465 ....")). ("aste │ │ │ +00038480: 7269 736b 2220 2020 2e20 2c28 6167 6461 risk" . ,(agda │ │ │ +00038490: 2d69 6e70 7574 2d74 6f2d 7374 7269 6e67 -input-to-string │ │ │ +000384a0: 2d6c 6973 7420 22e2 818e e281 91e2 8182 -list "......... │ │ │ +000384b0: e29c a2e2 9ca3 e29c a4e2 9ca5 e29c b1e2 ................ │ │ │ +000384c0: 9cb2 e29c b3e2 9cba e29c bbe2 9cbc e29c ................ │ │ │ +000384d0: bde2 9d83 e29d 89e2 9d8a e29d 8bef bc8a ................ │ │ │ +000384e0: 2229 290a 2020 2822 383c 2220 2020 2020 ")). ("8<" │ │ │ +000384f0: 2020 2020 2e20 2822 e29c 8222 2022 e29c . ("..." ".. │ │ │ +00038500: 8422 2929 0a20 2028 2274 6965 2220 2020 .")). ("tie" │ │ │ +00038510: 2020 2020 202e 2028 22e2 8180 2229 290a . ("...")). │ │ │ +00038520: 2020 2822 756e 6465 7274 6965 2220 2020 ("undertie" │ │ │ +00038530: 2e20 2822 e280 bf22 2929 0a20 2028 2261 . ("...")). ("a │ │ │ +00038540: 706c 2220 2020 2020 2020 202e 202c 2861 pl" . ,(a │ │ │ +00038550: 6764 612d 696e 7075 742d 746f 2d73 7472 gda-input-to-str │ │ │ +00038560: 696e 672d 6c69 7374 2022 e28c b6e2 8cb7 ing-list "...... │ │ │ +00038570: e28c b8e2 8cb9 e28c bae2 8cbb e28c bce2 ................ │ │ │ +00038580: 8cbd e28c bee2 8cbf e28d 80e2 8d81 e28d ................ │ │ │ +00038590: 82e2 8d83 e28d 84e2 8d85 e28d 86e2 8d87 ................ │ │ │ +000385a0: e28d 880a 2020 2020 2020 2020 2020 2020 .... │ │ │ 000385b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 000385c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -000385d0: 2020 e28d 89e2 8d8a e28d 8be2 8d8c e28d .............. │ │ │ -000385e0: 8de2 8d8e e28d 8fe2 8d90 e28d 91e2 8d92 ................ │ │ │ -000385f0: e28d 93e2 8d94 e28d 95e2 8d96 e28d 97e2 ................ │ │ │ -00038600: 8d98 e28d 99e2 8d9a e28d 9b0a 2020 2020 ............ │ │ │ +000385d0: 2020 20e2 8d89 e28d 8ae2 8d8b e28d 8ce2 ............. │ │ │ +000385e0: 8d8d e28d 8ee2 8d8f e28d 90e2 8d91 e28d ................ │ │ │ +000385f0: 92e2 8d93 e28d 94e2 8d95 e28d 96e2 8d97 ................ │ │ │ +00038600: e28d 98e2 8d99 e28d 9ae2 8d9b 0a20 2020 ............. │ │ │ 00038610: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 00038620: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00038630: 2020 2020 2020 2020 2020 20e2 8d9c e28d ..... │ │ │ -00038640: 9de2 8d9e e28d 9fe2 8da0 e28d a1e2 8da2 ................ │ │ │ -00038650: e28d a3e2 8da4 e28d a5e2 8da6 e28d a7e2 ................ │ │ │ -00038660: 8da8 e28d a9e2 8daa e28d abe2 8dac e28d ................ │ │ │ -00038670: ade2 8dae 0a20 2020 2020 2020 2020 2020 ..... │ │ │ +00038630: 2020 2020 2020 2020 2020 2020 e28d 9ce2 .... │ │ │ +00038640: 8d9d e28d 9ee2 8d9f e28d a0e2 8da1 e28d ................ │ │ │ +00038650: a2e2 8da3 e28d a4e2 8da5 e28d a6e2 8da7 ................ │ │ │ +00038660: e28d a8e2 8da9 e28d aae2 8dab e28d ace2 ................ │ │ │ +00038670: 8dad e28d ae0a 2020 2020 2020 2020 2020 ...... │ │ │ 00038680: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 00038690: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -000386a0: 2020 2020 e28d afe2 8db0 e28d b1e2 8db2 ............ │ │ │ -000386b0: e28d b3e2 8db4 e28d b5e2 8db6 e28d b7e2 ................ │ │ │ -000386c0: 8db8 e28d b9e2 8dba e28e 9522 2929 0a20 ...........")). │ │ │ -000386d0: 2028 2223 2220 2020 2020 2020 2020 202e ("#" . │ │ │ -000386e0: 2028 22ef bc83 2229 290a 2020 2822 2522 ("...")). ("%" │ │ │ -000386f0: 2020 2020 2020 2020 2020 2e20 2822 efbc . (".. │ │ │ -00038700: 8522 2929 0a20 2028 2226 2220 2020 2020 .")). ("&" │ │ │ -00038710: 2020 2020 202e 2028 22ef bc86 2229 290a . ("...")). │ │ │ -00038720: 2020 2822 2a22 2020 2020 2020 2020 2020 ("*" │ │ │ -00038730: 2e20 2822 efbc 8a22 2929 0a20 2028 222f . ("...")). ("/ │ │ │ -00038740: 2220 2020 2020 2020 2020 202e 202c 2861 " . ,(a │ │ │ -00038750: 6764 612d 696e 7075 742d 746f 2d73 7472 gda-input-to-str │ │ │ -00038760: 696e 672d 6c69 7374 2022 efbc 8fef bcbc ing-list "...... │ │ │ -00038770: 2229 290a 2020 2822 4022 2020 2020 2020 ")). ("@" │ │ │ -00038780: 2020 2020 2e20 2822 efbc a022 2929 0a20 . ("...")). │ │ │ -00038790: 2028 225f 5f22 2020 2020 2020 2020 202e ("__" . │ │ │ -000387a0: 2028 22ef bcbf 2229 290a 2020 2822 5c22 ("...")). ("\" │ │ │ -000387b0: 2220 2020 2020 2020 2020 2e20 2822 efbc " . (".. │ │ │ -000387c0: 8222 2929 0a20 2028 2263 726f 7373 6d61 .")). ("crossma │ │ │ -000387d0: 726b 2220 202e 2028 22e2 9c97 2229 290a rk" . ("...")). │ │ │ -000387e0: 0a20 203b 3b20 536f 6d65 2063 6f6d 6269 . ;; Some combi │ │ │ -000387f0: 6e69 6e67 2063 6861 7261 6374 6572 732e ning characters. │ │ │ -00038800: 0a20 203b 3b0a 2020 3b3b 2054 6865 2066 . ;;. ;; The f │ │ │ -00038810: 6f6c 6c6f 7769 6e67 2063 6f6d 6269 6e69 ollowing combini │ │ │ -00038820: 6e67 2063 6861 7261 6374 6572 7320 616c ng characters al │ │ │ -00038830: 736f 2068 6176 6520 286f 7468 6572 290a so have (other). │ │ │ -00038840: 2020 3b3b 2074 7261 6e73 6c61 7469 6f6e ;; translation │ │ │ -00038850: 733a 0a20 203b 3b0a 0a20 2028 225e 2d2d s:. ;;.. ("^-- │ │ │ -00038860: 2220 2e20 2c28 6167 6461 2d69 6e70 7574 " . ,(agda-input │ │ │ -00038870: 2d74 6f2d 7374 7269 6e67 2d6c 6973 7422 -to-string-list" │ │ │ -00038880: cc85 ccbf 2229 290a 2020 2822 5f2d 2d22 ....")). ("_--" │ │ │ -00038890: 202e 202c 2861 6764 612d 696e 7075 742d . ,(agda-input- │ │ │ -000388a0: 746f 2d73 7472 696e 672d 6c69 7374 22cc to-string-list". │ │ │ -000388b0: b2cc b322 2929 0a20 2028 225e 7e22 2020 ...")). ("^~" │ │ │ -000388c0: 2e20 2c28 6167 6461 2d69 6e70 7574 2d74 . ,(agda-input-t │ │ │ -000388d0: 6f2d 7374 7269 6e67 2d6c 6973 7422 cc83 o-string-list".. │ │ │ -000388e0: cd8c 2229 290a 2020 2822 5f7e 2220 202e ..")). ("_~" . │ │ │ -000388f0: 2020 2820 2020 2020 2020 2020 2020 2020 ( │ │ │ -00038900: 2020 2020 2020 2020 2020 2020 22cc b022 ".." │ │ │ -00038910: 2929 0a20 2028 225e 2e22 2020 2e20 2c28 )). ("^." . ,( │ │ │ -00038920: 6167 6461 2d69 6e70 7574 2d74 6f2d 7374 agda-input-to-st │ │ │ -00038930: 7269 6e67 2d6c 6973 7422 cc87 cc88 e283 ring-list"...... │ │ │ -00038940: 9be2 839c 2229 290a 2020 2822 5f2e 2220 ....")). ("_." │ │ │ -00038950: 202e 202c 2861 6764 612d 696e 7075 742d . ,(agda-input- │ │ │ -00038960: 746f 2d73 7472 696e 672d 6c69 7374 22cc to-string-list". │ │ │ -00038970: a3cc a422 2929 0a20 2028 225e 6c22 2020 ...")). ("^l" │ │ │ -00038980: 2e20 2c28 6167 6461 2d69 6e70 7574 2d74 . ,(agda-input-t │ │ │ -00038990: 6f2d 7374 7269 6e67 2d6c 6973 7422 e283 o-string-list".. │ │ │ -000389a0: 96e2 8390 e283 9422 2929 0a20 2028 225e .......")). ("^ │ │ │ -000389b0: 6c2d 2220 2e20 2028 2020 2020 2020 2020 l-" . ( │ │ │ +000386a0: 2020 2020 20e2 8daf e28d b0e2 8db1 e28d ........... │ │ │ +000386b0: b2e2 8db3 e28d b4e2 8db5 e28d b6e2 8db7 ................ │ │ │ +000386c0: e28d b8e2 8db9 e28d bae2 8e95 2229 290a ............")). │ │ │ +000386d0: 2020 2822 2322 2020 2020 2020 2020 2020 ("#" │ │ │ +000386e0: 2e20 2822 efbc 8322 2929 0a20 2028 2225 . ("...")). ("% │ │ │ +000386f0: 2220 2020 2020 2020 2020 202e 2028 22ef " . (". │ │ │ +00038700: bc85 2229 290a 2020 2822 2622 2020 2020 ..")). ("&" │ │ │ +00038710: 2020 2020 2020 2e20 2822 efbc 8622 2929 . ("...")) │ │ │ +00038720: 0a20 2028 222a 2220 2020 2020 2020 2020 . ("*" │ │ │ +00038730: 202e 2028 22ef bc8a 2229 290a 2020 2822 . ("...")). (" │ │ │ +00038740: 2f22 2020 2020 2020 2020 2020 2e20 2c28 /" . ,( │ │ │ +00038750: 6167 6461 2d69 6e70 7574 2d74 6f2d 7374 agda-input-to-st │ │ │ +00038760: 7269 6e67 2d6c 6973 7420 22ef bc8f efbc ring-list "..... │ │ │ +00038770: bc22 2929 0a20 2028 2240 2220 2020 2020 .")). ("@" │ │ │ +00038780: 2020 2020 202e 2028 22ef bca0 2229 290a . ("...")). │ │ │ +00038790: 2020 2822 5f5f 2220 2020 2020 2020 2020 ("__" │ │ │ +000387a0: 2e20 2822 efbc bf22 2929 0a20 2028 225c . ("...")). ("\ │ │ │ +000387b0: 2222 2020 2020 2020 2020 202e 2028 22ef "" . (". │ │ │ +000387c0: bc82 2229 290a 2020 2822 6372 6f73 736d ..")). ("crossm │ │ │ +000387d0: 6172 6b22 2020 2e20 2822 e29c 9722 2929 ark" . ("...")) │ │ │ +000387e0: 0a0a 2020 3b3b 2053 6f6d 6520 636f 6d62 .. ;; Some comb │ │ │ +000387f0: 696e 696e 6720 6368 6172 6163 7465 7273 ining characters │ │ │ +00038800: 2e0a 2020 3b3b 0a20 203b 3b20 5468 6520 .. ;;. ;; The │ │ │ +00038810: 666f 6c6c 6f77 696e 6720 636f 6d62 696e following combin │ │ │ +00038820: 696e 6720 6368 6172 6163 7465 7273 2061 ing characters a │ │ │ +00038830: 6c73 6f20 6861 7665 2028 6f74 6865 7229 lso have (other) │ │ │ +00038840: 0a20 203b 3b20 7472 616e 736c 6174 696f . ;; translatio │ │ │ +00038850: 6e73 3a0a 2020 3b3b 0a0a 2020 2822 5e2d ns:. ;;.. ("^- │ │ │ +00038860: 2d22 202e 202c 2861 6764 612d 696e 7075 -" . ,(agda-inpu │ │ │ +00038870: 742d 746f 2d73 7472 696e 672d 6c69 7374 t-to-string-list │ │ │ +00038880: 22cc 85cc bf22 2929 0a20 2028 225f 2d2d "....")). ("_-- │ │ │ +00038890: 2220 2e20 2c28 6167 6461 2d69 6e70 7574 " . ,(agda-input │ │ │ +000388a0: 2d74 6f2d 7374 7269 6e67 2d6c 6973 7422 -to-string-list" │ │ │ +000388b0: ccb2 ccb3 2229 290a 2020 2822 5e7e 2220 ....")). ("^~" │ │ │ +000388c0: 202e 202c 2861 6764 612d 696e 7075 742d . ,(agda-input- │ │ │ +000388d0: 746f 2d73 7472 696e 672d 6c69 7374 22cc to-string-list". │ │ │ +000388e0: 83cd 8c22 2929 0a20 2028 225f 7e22 2020 ...")). ("_~" │ │ │ +000388f0: 2e20 2028 2020 2020 2020 2020 2020 2020 . ( │ │ │ +00038900: 2020 2020 2020 2020 2020 2020 2022 ccb0 ".. │ │ │ +00038910: 2229 290a 2020 2822 5e2e 2220 202e 202c ")). ("^." . , │ │ │ +00038920: 2861 6764 612d 696e 7075 742d 746f 2d73 (agda-input-to-s │ │ │ +00038930: 7472 696e 672d 6c69 7374 22cc 87cc 88e2 tring-list"..... │ │ │ +00038940: 839b e283 9c22 2929 0a20 2028 225f 2e22 .....")). ("_." │ │ │ +00038950: 2020 2e20 2c28 6167 6461 2d69 6e70 7574 . ,(agda-input │ │ │ +00038960: 2d74 6f2d 7374 7269 6e67 2d6c 6973 7422 -to-string-list" │ │ │ +00038970: cca3 cca4 2229 290a 2020 2822 5e6c 2220 ....")). ("^l" │ │ │ +00038980: 202e 202c 2861 6764 612d 696e 7075 742d . ,(agda-input- │ │ │ +00038990: 746f 2d73 7472 696e 672d 6c69 7374 22e2 to-string-list". │ │ │ +000389a0: 8396 e283 90e2 8394 2229 290a 2020 2822 ........")). (" │ │ │ +000389b0: 5e6c 2d22 202e 2020 2820 2020 2020 2020 ^l-" . ( │ │ │ 000389c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -000389d0: 2022 e283 9622 2929 0a20 2028 225e 7222 "...")). ("^r" │ │ │ -000389e0: 2020 2e20 2c28 6167 6461 2d69 6e70 7574 . ,(agda-input │ │ │ -000389f0: 2d74 6f2d 7374 7269 6e67 2d6c 6973 7422 -to-string-list" │ │ │ -00038a00: e283 97e2 8391 e283 9522 2929 0a20 2028 .........")). ( │ │ │ -00038a10: 225e 722d 2220 2e20 2028 2020 2020 2020 "^r-" . ( │ │ │ +000389d0: 2020 22e2 8396 2229 290a 2020 2822 5e72 "...")). ("^r │ │ │ +000389e0: 2220 202e 202c 2861 6764 612d 696e 7075 " . ,(agda-inpu │ │ │ +000389f0: 742d 746f 2d73 7472 696e 672d 6c69 7374 t-to-string-list │ │ │ +00038a00: 22e2 8397 e283 91e2 8395 2229 290a 2020 ".........")). │ │ │ +00038a10: 2822 5e72 2d22 202e 2020 2820 2020 2020 ("^r-" . ( │ │ │ 00038a20: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00038a30: 2020 2022 e283 9722 2929 0a20 2028 225e "...")). ("^ │ │ │ -00038a40: 6c72 2220 2e20 2028 2020 2020 2020 2020 lr" . ( │ │ │ +00038a30: 2020 2020 22e2 8397 2229 290a 2020 2822 "...")). (" │ │ │ +00038a40: 5e6c 7222 202e 2020 2820 2020 2020 2020 ^lr" . ( │ │ │ 00038a50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00038a60: 2022 e283 a122 2929 0a20 2028 225f 6c72 "...")). ("_lr │ │ │ -00038a70: 2220 2e20 2028 2020 2020 2020 2020 2020 " . ( │ │ │ -00038a80: 2020 2020 2020 2020 2020 2020 2020 2022 " │ │ │ -00038a90: cd8d 2229 290a 2020 2822 5e5e 2220 202e ..")). ("^^" . │ │ │ -00038aa0: 202c 2861 6764 612d 696e 7075 742d 746f ,(agda-input-to │ │ │ -00038ab0: 2d73 7472 696e 672d 6c69 7374 22cc 82cc -string-list"... │ │ │ -00038ac0: 91cd 8622 2929 0a20 2028 225f 5e22 2020 ...")). ("_^" │ │ │ -00038ad0: 2e20 2c28 6167 6461 2d69 6e70 7574 2d74 . ,(agda-input-t │ │ │ -00038ae0: 6f2d 7374 7269 6e67 2d6c 6973 7422 ccad o-string-list".. │ │ │ -00038af0: ccaf ccaa 2229 290a 2020 2822 5e76 2220 ....")). ("^v" │ │ │ -00038b00: 202e 202c 2861 6764 612d 696e 7075 742d . ,(agda-input- │ │ │ -00038b10: 746f 2d73 7472 696e 672d 6c69 7374 22cc to-string-list". │ │ │ -00038b20: 8ccc 8622 2929 0a20 2028 225f 7622 2020 ...")). ("_v" │ │ │ -00038b30: 2e20 2c28 6167 6461 2d69 6e70 7574 2d74 . ,(agda-input-t │ │ │ -00038b40: 6f2d 7374 7269 6e67 2d6c 6973 7422 ccac o-string-list".. │ │ │ -00038b50: ccae ccba 2229 290a 0a20 203b 3b20 5368 ....")).. ;; Sh │ │ │ -00038b60: 6f72 7465 7220 666f 726d 7320 6f66 206d orter forms of m │ │ │ -00038b70: 616e 7920 6772 6565 6b20 6c65 7474 6572 any greek letter │ │ │ -00038b80: 7320 706c 7573 20c6 9b2e 0a0a 2020 2822 s plus ..... (" │ │ │ -00038b90: 4761 2220 202e 2028 22ce b122 2929 2020 Ga" . ("..")) │ │ │ -00038ba0: 2822 4741 2220 202e 2028 22ce 9122 2929 ("GA" . ("..")) │ │ │ -00038bb0: 0a20 2028 2247 6222 2020 2e20 2822 ceb2 . ("Gb" . (".. │ │ │ -00038bc0: 2229 2920 2028 2247 4222 2020 2e20 2822 ")) ("GB" . (" │ │ │ -00038bd0: ce92 2229 290a 2020 2822 4767 2220 202e ..")). ("Gg" . │ │ │ -00038be0: 2028 22ce b322 2929 2020 2822 4747 2220 ("..")) ("GG" │ │ │ -00038bf0: 202e 2028 22ce 9322 2929 0a20 2028 2247 . ("..")). ("G │ │ │ -00038c00: 6422 2020 2e20 2822 ceb4 2229 2920 2028 d" . ("..")) ( │ │ │ -00038c10: 2247 4422 2020 2e20 2822 ce94 2229 290a "GD" . ("..")). │ │ │ -00038c20: 2020 2822 4765 2220 202e 2028 22ce b522 ("Ge" . (".." │ │ │ -00038c30: 2929 2020 2822 4745 2220 202e 2028 22ce )) ("GE" . (". │ │ │ -00038c40: 9522 2929 0a20 2028 2247 7a22 2020 2e20 .")). ("Gz" . │ │ │ -00038c50: 2822 ceb6 2229 2920 2028 2247 5a22 2020 ("..")) ("GZ" │ │ │ -00038c60: 2e20 2822 ce96 2229 290a 2020 2822 4768 . ("..")). ("Gh │ │ │ -00038c70: 2220 202e 2028 22ce b722 2929 2020 2822 " . ("..")) (" │ │ │ -00038c80: 4748 2220 202e 2028 22ce 9722 2929 0a20 GH" . ("..")). │ │ │ -00038c90: 2028 2247 7468 2220 2e20 2822 ceb8 2229 ("Gth" . ("..") │ │ │ -00038ca0: 2920 2028 2247 5448 2220 2e20 2822 ce98 ) ("GTH" . (".. │ │ │ -00038cb0: 2229 290a 2020 2822 4769 2220 202e 2028 ")). ("Gi" . ( │ │ │ -00038cc0: 22ce b922 2929 2020 2822 4749 2220 202e "..")) ("GI" . │ │ │ -00038cd0: 2028 22ce 9922 2929 0a20 2028 2247 6b22 ("..")). ("Gk" │ │ │ -00038ce0: 2020 2e20 2822 ceba 2229 2920 2028 2247 . ("..")) ("G │ │ │ -00038cf0: 4b22 2020 2e20 2822 ce9a 2229 290a 2020 K" . ("..")). │ │ │ -00038d00: 2822 476c 2220 202e 2028 22ce bb22 2929 ("Gl" . ("..")) │ │ │ -00038d10: 2020 2822 474c 2220 202e 2028 22ce 9b22 ("GL" . (".." │ │ │ -00038d20: 2929 2020 2822 476c 2d22 202e 2028 22c6 )) ("Gl-" . (". │ │ │ -00038d30: 9b22 2929 0a20 2028 2247 6d22 2020 2e20 .")). ("Gm" . │ │ │ -00038d40: 2822 cebc 2229 2920 2028 2247 4d22 2020 ("..")) ("GM" │ │ │ -00038d50: 2e20 2822 ce9c 2229 290a 2020 2822 476e . ("..")). ("Gn │ │ │ -00038d60: 2220 202e 2028 22ce bd22 2929 2020 2822 " . ("..")) (" │ │ │ -00038d70: 474e 2220 202e 2028 22ce 9d22 2929 0a20 GN" . ("..")). │ │ │ -00038d80: 2028 2247 7822 2020 2e20 2822 cebe 2229 ("Gx" . ("..") │ │ │ -00038d90: 2920 2028 2247 5822 2020 2e20 2822 ce9e ) ("GX" . (".. │ │ │ -00038da0: 2229 290a 2020 3b3b 205c 6f6d 6963 726f ")). ;; \omicro │ │ │ -00038db0: 6e20 5c4f 6d69 6372 6f6e 0a20 203b 3b20 n \Omicron. ;; │ │ │ -00038dc0: 5c70 6920 5c50 690a 2020 2822 4772 2220 \pi \Pi. ("Gr" │ │ │ -00038dd0: 202e 2028 22cf 8122 2929 2020 2822 4752 . ("..")) ("GR │ │ │ -00038de0: 2220 202e 2028 22ce a122 2929 0a20 2028 " . ("..")). ( │ │ │ -00038df0: 2247 7322 2020 2e20 2822 cf83 2229 2920 "Gs" . ("..")) │ │ │ -00038e00: 2028 2247 5322 2020 2e20 2822 cea3 2229 ("GS" . ("..") │ │ │ -00038e10: 290a 2020 2822 4774 2220 202e 2028 22cf ). ("Gt" . (". │ │ │ -00038e20: 8422 2929 2020 2822 4754 2220 202e 2028 .")) ("GT" . ( │ │ │ -00038e30: 22ce a422 2929 0a20 2028 2247 7522 2020 "..")). ("Gu" │ │ │ -00038e40: 2e20 2822 cf85 2229 2920 2028 2247 5522 . ("..")) ("GU" │ │ │ -00038e50: 2020 2e20 2822 cea5 2229 290a 2020 2822 . ("..")). (" │ │ │ -00038e60: 4766 2220 202e 2028 22cf 8622 2929 2020 Gf" . ("..")) │ │ │ -00038e70: 2822 4746 2220 202e 2028 22ce a622 2929 ("GF" . ("..")) │ │ │ -00038e80: 0a20 2028 2247 6322 2020 2e20 2822 cf87 . ("Gc" . (".. │ │ │ -00038e90: 2229 2920 2028 2247 4322 2020 2e20 2822 ")) ("GC" . (" │ │ │ -00038ea0: cea7 2229 290a 2020 2822 4770 2220 202e ..")). ("Gp" . │ │ │ -00038eb0: 2028 22cf 8822 2929 2020 2822 4750 2220 ("..")) ("GP" │ │ │ -00038ec0: 202e 2028 22ce a822 2929 0a20 2028 2247 . ("..")). ("G │ │ │ -00038ed0: 6f22 2020 2e20 2822 cf89 2229 2920 2028 o" . ("..")) ( │ │ │ -00038ee0: 2247 4f22 2020 2e20 2822 cea9 2229 290a "GO" . ("..")). │ │ │ -00038ef0: 0a20 203b 3b20 4d61 7468 656d 6174 6963 . ;; Mathematic │ │ │ -00038f00: 616c 2063 6861 7261 6374 6572 732e 0a0a al characters... │ │ │ -00038f10: 2020 2822 4d69 4122 202e 2028 22f0 9d90 ("MiA" . ("... │ │ │ -00038f20: b422 2929 0a20 2028 224d 6942 2220 2e20 .")). ("MiB" . │ │ │ -00038f30: 2822 f09d 90b5 2229 290a 2020 2822 4d69 ("....")). ("Mi │ │ │ -00038f40: 4322 202e 2028 22f0 9d90 b622 2929 0a20 C" . ("....")). │ │ │ -00038f50: 2028 224d 6944 2220 2e20 2822 f09d 90b7 ("MiD" . (".... │ │ │ -00038f60: 2229 290a 2020 2822 4d69 4522 202e 2028 ")). ("MiE" . ( │ │ │ -00038f70: 22f0 9d90 b822 2929 0a20 2028 224d 6946 "....")). ("MiF │ │ │ -00038f80: 2220 2e20 2822 f09d 90b9 2229 290a 2020 " . ("....")). │ │ │ -00038f90: 2822 4d69 4722 202e 2028 22f0 9d90 ba22 ("MiG" . ("...." │ │ │ -00038fa0: 2929 0a20 2028 224d 6948 2220 2e20 2822 )). ("MiH" . (" │ │ │ -00038fb0: f09d 90bb 2229 290a 2020 2822 4d69 4922 ....")). ("MiI" │ │ │ -00038fc0: 202e 2028 22f0 9d90 bc22 2929 0a20 2028 . ("....")). ( │ │ │ -00038fd0: 224d 694a 2220 2e20 2822 f09d 90bd 2229 "MiJ" . ("....") │ │ │ -00038fe0: 290a 2020 2822 4d69 4b22 202e 2028 22f0 ). ("MiK" . (". │ │ │ -00038ff0: 9d90 be22 2929 0a20 2028 224d 694c 2220 ...")). ("MiL" │ │ │ -00039000: 2e20 2822 f09d 90bf 2229 290a 2020 2822 . ("....")). (" │ │ │ -00039010: 4d69 4d22 202e 2028 22f0 9d91 8022 2929 MiM" . ("....")) │ │ │ -00039020: 0a20 2028 224d 694e 2220 2e20 2822 f09d . ("MiN" . (".. │ │ │ -00039030: 9181 2229 290a 2020 2822 4d69 4f22 202e ..")). ("MiO" . │ │ │ -00039040: 2028 22f0 9d91 8222 2929 0a20 2028 224d ("....")). ("M │ │ │ -00039050: 6950 2220 2e20 2822 f09d 9183 2229 290a iP" . ("....")). │ │ │ -00039060: 2020 2822 4d69 5122 202e 2028 22f0 9d91 ("MiQ" . ("... │ │ │ -00039070: 8422 2929 0a20 2028 224d 6952 2220 2e20 .")). ("MiR" . │ │ │ -00039080: 2822 f09d 9185 2229 290a 2020 2822 4d69 ("....")). ("Mi │ │ │ -00039090: 5322 202e 2028 22f0 9d91 8622 2929 0a20 S" . ("....")). │ │ │ -000390a0: 2028 224d 6954 2220 2e20 2822 f09d 9187 ("MiT" . (".... │ │ │ -000390b0: 2229 290a 2020 2822 4d69 5522 202e 2028 ")). ("MiU" . ( │ │ │ -000390c0: 22f0 9d91 8822 2929 0a20 2028 224d 6956 "....")). ("MiV │ │ │ -000390d0: 2220 2e20 2822 f09d 9189 2229 290a 2020 " . ("....")). │ │ │ -000390e0: 2822 4d69 5722 202e 2028 22f0 9d91 8a22 ("MiW" . ("...." │ │ │ -000390f0: 2929 0a20 2028 224d 6958 2220 2e20 2822 )). ("MiX" . (" │ │ │ -00039100: f09d 918b 2229 290a 2020 2822 4d69 5922 ....")). ("MiY" │ │ │ -00039110: 202e 2028 22f0 9d91 8c22 2929 0a20 2028 . ("....")). ( │ │ │ -00039120: 224d 695a 2220 2e20 2822 f09d 918d 2229 "MiZ" . ("....") │ │ │ -00039130: 290a 2020 2822 4d69 6122 202e 2028 22f0 ). ("Mia" . (". │ │ │ -00039140: 9d91 8e22 2929 0a20 2028 224d 6962 2220 ...")). ("Mib" │ │ │ -00039150: 2e20 2822 f09d 918f 2229 290a 2020 2822 . ("....")). (" │ │ │ -00039160: 4d69 6322 202e 2028 22f0 9d91 9022 2929 Mic" . ("....")) │ │ │ -00039170: 0a20 2028 224d 6964 2220 2e20 2822 f09d . ("Mid" . (".. │ │ │ -00039180: 9191 2229 290a 2020 2822 4d69 6522 202e ..")). ("Mie" . │ │ │ -00039190: 2028 22f0 9d91 9222 2929 0a20 2028 224d ("....")). ("M │ │ │ -000391a0: 6966 2220 2e20 2822 f09d 9193 2229 290a if" . ("....")). │ │ │ -000391b0: 2020 2822 4d69 6722 202e 2028 22f0 9d91 ("Mig" . ("... │ │ │ -000391c0: 9422 2929 0a20 2028 224d 6968 2220 2e20 .")). ("Mih" . │ │ │ -000391d0: 2822 e284 8e22 2929 0a20 2028 224d 6969 ("...")). ("Mii │ │ │ -000391e0: 2220 2e20 2822 f09d 9196 2229 290a 2020 " . ("....")). │ │ │ -000391f0: 2822 4d69 6a22 202e 2028 22f0 9d91 9722 ("Mij" . ("...." │ │ │ -00039200: 2929 0a20 2028 224d 696b 2220 2e20 2822 )). ("Mik" . (" │ │ │ -00039210: f09d 9198 2229 290a 2020 2822 4d69 6c22 ....")). ("Mil" │ │ │ -00039220: 202e 2028 22f0 9d91 9922 2929 0a20 2028 . ("....")). ( │ │ │ -00039230: 224d 696d 2220 2e20 2822 f09d 919a 2229 "Mim" . ("....") │ │ │ -00039240: 290a 2020 2822 4d69 6e22 202e 2028 22f0 ). ("Min" . (". │ │ │ -00039250: 9d91 9b22 2929 0a20 2028 224d 696f 2220 ...")). ("Mio" │ │ │ -00039260: 2e20 2822 f09d 919c 2229 290a 2020 2822 . ("....")). (" │ │ │ -00039270: 4d69 7022 202e 2028 22f0 9d91 9d22 2929 Mip" . ("....")) │ │ │ -00039280: 0a20 2028 224d 6971 2220 2e20 2822 f09d . ("Miq" . (".. │ │ │ -00039290: 919e 2229 290a 2020 2822 4d69 7222 202e ..")). ("Mir" . │ │ │ -000392a0: 2028 22f0 9d91 9f22 2929 0a20 2028 224d ("....")). ("M │ │ │ -000392b0: 6973 2220 2e20 2822 f09d 91a0 2229 290a is" . ("....")). │ │ │ -000392c0: 2020 2822 4d69 7422 202e 2028 22f0 9d91 ("Mit" . ("... │ │ │ -000392d0: a122 2929 0a20 2028 224d 6975 2220 2e20 .")). ("Miu" . │ │ │ -000392e0: 2822 f09d 91a2 2229 290a 2020 2822 4d69 ("....")). ("Mi │ │ │ -000392f0: 7622 202e 2028 22f0 9d91 a322 2929 0a20 v" . ("....")). │ │ │ -00039300: 2028 224d 6977 2220 2e20 2822 f09d 91a4 ("Miw" . (".... │ │ │ -00039310: 2229 290a 2020 2822 4d69 7822 202e 2028 ")). ("Mix" . ( │ │ │ -00039320: 22f0 9d91 a522 2929 0a20 2028 224d 6979 "....")). ("Miy │ │ │ -00039330: 2220 2e20 2822 f09d 91a6 2229 290a 2020 " . ("....")). │ │ │ -00039340: 2822 4d69 7a22 202e 2028 22f0 9d91 a722 ("Miz" . ("...." │ │ │ -00039350: 2929 0a0a 2020 2822 4d49 4122 202e 2028 )).. ("MIA" . ( │ │ │ -00039360: 22f0 9d91 a822 2929 0a20 2028 224d 4942 "....")). ("MIB │ │ │ -00039370: 2220 2e20 2822 f09d 91a9 2229 290a 2020 " . ("....")). │ │ │ -00039380: 2822 4d49 4322 202e 2028 22f0 9d91 aa22 ("MIC" . ("...." │ │ │ -00039390: 2929 0a20 2028 224d 4944 2220 2e20 2822 )). ("MID" . (" │ │ │ -000393a0: f09d 91ab 2229 290a 2020 2822 4d49 4522 ....")). ("MIE" │ │ │ -000393b0: 202e 2028 22f0 9d91 ac22 2929 0a20 2028 . ("....")). ( │ │ │ -000393c0: 224d 4946 2220 2e20 2822 f09d 91ad 2229 "MIF" . ("....") │ │ │ -000393d0: 290a 2020 2822 4d49 4722 202e 2028 22f0 ). ("MIG" . (". │ │ │ -000393e0: 9d91 ae22 2929 0a20 2028 224d 4948 2220 ...")). ("MIH" │ │ │ -000393f0: 2e20 2822 f09d 91af 2229 290a 2020 2822 . ("....")). (" │ │ │ -00039400: 4d49 4922 202e 2028 22f0 9d91 b022 2929 MII" . ("....")) │ │ │ -00039410: 0a20 2028 224d 494a 2220 2e20 2822 f09d . ("MIJ" . (".. │ │ │ -00039420: 91b1 2229 290a 2020 2822 4d49 4b22 202e ..")). ("MIK" . │ │ │ -00039430: 2028 22f0 9d91 b222 2929 0a20 2028 224d ("....")). ("M │ │ │ -00039440: 494c 2220 2e20 2822 f09d 91b3 2229 290a IL" . ("....")). │ │ │ -00039450: 2020 2822 4d49 4d22 202e 2028 22f0 9d91 ("MIM" . ("... │ │ │ -00039460: b422 2929 0a20 2028 224d 494e 2220 2e20 .")). ("MIN" . │ │ │ -00039470: 2822 f09d 91b5 2229 290a 2020 2822 4d49 ("....")). ("MI │ │ │ -00039480: 4f22 202e 2028 22f0 9d91 b622 2929 0a20 O" . ("....")). │ │ │ -00039490: 2028 224d 4950 2220 2e20 2822 f09d 91b7 ("MIP" . (".... │ │ │ -000394a0: 2229 290a 2020 2822 4d49 5122 202e 2028 ")). ("MIQ" . ( │ │ │ -000394b0: 22f0 9d91 b822 2929 0a20 2028 224d 4952 "....")). ("MIR │ │ │ -000394c0: 2220 2e20 2822 f09d 91b9 2229 290a 2020 " . ("....")). │ │ │ -000394d0: 2822 4d49 5322 202e 2028 22f0 9d91 ba22 ("MIS" . ("...." │ │ │ -000394e0: 2929 0a20 2028 224d 4954 2220 2e20 2822 )). ("MIT" . (" │ │ │ -000394f0: f09d 91bb 2229 290a 2020 2822 4d49 5522 ....")). ("MIU" │ │ │ -00039500: 202e 2028 22f0 9d91 bc22 2929 0a20 2028 . ("....")). ( │ │ │ -00039510: 224d 4956 2220 2e20 2822 f09d 91bd 2229 "MIV" . ("....") │ │ │ -00039520: 290a 2020 2822 4d49 5722 202e 2028 22f0 ). ("MIW" . (". │ │ │ -00039530: 9d91 be22 2929 0a20 2028 224d 4958 2220 ...")). ("MIX" │ │ │ -00039540: 2e20 2822 f09d 91bf 2229 290a 2020 2822 . ("....")). (" │ │ │ -00039550: 4d49 5922 202e 2028 22f0 9d92 8022 2929 MIY" . ("....")) │ │ │ -00039560: 0a20 2028 224d 495a 2220 2e20 2822 f09d . ("MIZ" . (".. │ │ │ -00039570: 9281 2229 290a 0a20 2028 224d 4961 2220 ..")).. ("MIa" │ │ │ -00039580: 2e20 2822 f09d 9282 2229 290a 2020 2822 . ("....")). (" │ │ │ -00039590: 4d49 6222 202e 2028 22f0 9d92 8322 2929 MIb" . ("....")) │ │ │ -000395a0: 0a20 2028 224d 4963 2220 2e20 2822 f09d . ("MIc" . (".. │ │ │ -000395b0: 9284 2229 290a 2020 2822 4d49 6422 202e ..")). ("MId" . │ │ │ -000395c0: 2028 22f0 9d92 8522 2929 0a20 2028 224d ("....")). ("M │ │ │ -000395d0: 4965 2220 2e20 2822 f09d 9286 2229 290a Ie" . ("....")). │ │ │ -000395e0: 2020 2822 4d49 6622 202e 2028 22f0 9d92 ("MIf" . ("... │ │ │ -000395f0: 8722 2929 0a20 2028 224d 4967 2220 2e20 .")). ("MIg" . │ │ │ -00039600: 2822 f09d 9288 2229 290a 2020 2822 4d49 ("....")). ("MI │ │ │ -00039610: 6822 202e 2028 22f0 9d92 8922 2929 0a20 h" . ("....")). │ │ │ -00039620: 2028 224d 4969 2220 2e20 2822 f09d 928a ("MIi" . (".... │ │ │ -00039630: 2229 290a 2020 2822 4d49 6a22 202e 2028 ")). ("MIj" . ( │ │ │ -00039640: 22f0 9d92 8b22 2929 0a20 2028 224d 496b "....")). ("MIk │ │ │ -00039650: 2220 2e20 2822 f09d 928c 2229 290a 2020 " . ("....")). │ │ │ -00039660: 2822 4d49 6c22 202e 2028 22f0 9d92 8d22 ("MIl" . ("...." │ │ │ -00039670: 2929 0a20 2028 224d 496d 2220 2e20 2822 )). ("MIm" . (" │ │ │ -00039680: f09d 928e 2229 290a 2020 2822 4d49 6e22 ....")). ("MIn" │ │ │ -00039690: 202e 2028 22f0 9d92 8f22 2929 0a20 2028 . ("....")). ( │ │ │ -000396a0: 224d 496f 2220 2e20 2822 f09d 9290 2229 "MIo" . ("....") │ │ │ -000396b0: 290a 2020 2822 4d49 7022 202e 2028 22f0 ). ("MIp" . (". │ │ │ -000396c0: 9d92 9122 2929 0a20 2028 224d 4971 2220 ...")). ("MIq" │ │ │ -000396d0: 2e20 2822 f09d 9292 2229 290a 2020 2822 . ("....")). (" │ │ │ -000396e0: 4d49 7222 202e 2028 22f0 9d92 9322 2929 MIr" . ("....")) │ │ │ -000396f0: 0a20 2028 224d 4973 2220 2e20 2822 f09d . ("MIs" . (".. │ │ │ -00039700: 9294 2229 290a 2020 2822 4d49 7422 202e ..")). ("MIt" . │ │ │ -00039710: 2028 22f0 9d92 9522 2929 0a20 2028 224d ("....")). ("M │ │ │ -00039720: 4975 2220 2e20 2822 f09d 9296 2229 290a Iu" . ("....")). │ │ │ -00039730: 2020 2822 4d49 7622 202e 2028 22f0 9d92 ("MIv" . ("... │ │ │ -00039740: 9722 2929 0a20 2028 224d 4977 2220 2e20 .")). ("MIw" . │ │ │ -00039750: 2822 f09d 9298 2229 290a 2020 2822 4d49 ("....")). ("MI │ │ │ -00039760: 7822 202e 2028 22f0 9d92 9922 2929 0a20 x" . ("....")). │ │ │ -00039770: 2028 224d 4979 2220 2e20 2822 f09d 929a ("MIy" . (".... │ │ │ -00039780: 2229 290a 2020 2822 4d49 7a22 202e 2028 ")). ("MIz" . ( │ │ │ -00039790: 22f0 9d92 9b22 2929 0a0a 2020 2822 4d63 "....")).. ("Mc │ │ │ -000397a0: 4122 202e 2028 22f0 9d92 9c22 2929 0a20 A" . ("....")). │ │ │ -000397b0: 2028 224d 6342 2220 2e20 2822 e284 ac22 ("McB" . ("..." │ │ │ -000397c0: 2929 0a20 2028 224d 6343 2220 2e20 2822 )). ("McC" . (" │ │ │ -000397d0: f09d 929e 2229 290a 2020 2822 4d63 4422 ....")). ("McD" │ │ │ -000397e0: 202e 2028 22f0 9d92 9f22 2929 0a20 2028 . ("....")). ( │ │ │ -000397f0: 224d 6345 2220 2e20 2822 e284 b022 2929 "McE" . ("...")) │ │ │ -00039800: 0a20 2028 224d 6346 2220 2e20 2822 e284 . ("McF" . (".. │ │ │ -00039810: b122 2929 0a20 2028 224d 6347 2220 2e20 .")). ("McG" . │ │ │ -00039820: 2822 f09d 92a2 2229 290a 2020 2822 4d63 ("....")). ("Mc │ │ │ -00039830: 4822 202e 2028 22e2 848b 2229 290a 2020 H" . ("...")). │ │ │ -00039840: 2822 4d63 4922 202e 2028 22e2 8490 2229 ("McI" . ("...") │ │ │ -00039850: 290a 2020 2822 4d63 4a22 202e 2028 22f0 ). ("McJ" . (". │ │ │ -00039860: 9d92 a522 2929 0a20 2028 224d 634b 2220 ...")). ("McK" │ │ │ -00039870: 2e20 2822 f09d 92a6 2229 290a 2020 2822 . ("....")). (" │ │ │ -00039880: 4d63 4c22 202e 2028 22e2 8492 2229 290a McL" . ("...")). │ │ │ -00039890: 2020 2822 4d63 4d22 202e 2028 22e2 84b3 ("McM" . ("... │ │ │ -000398a0: 2229 290a 2020 2822 4d63 4e22 202e 2028 ")). ("McN" . ( │ │ │ -000398b0: 22f0 9d92 a922 2929 0a20 2028 224d 634f "....")). ("McO │ │ │ -000398c0: 2220 2e20 2822 f09d 92aa 2229 290a 2020 " . ("....")). │ │ │ -000398d0: 2822 4d63 5022 202e 2028 22f0 9d92 ab22 ("McP" . ("...." │ │ │ -000398e0: 2929 0a20 2028 224d 6351 2220 2e20 2822 )). ("McQ" . (" │ │ │ -000398f0: f09d 92ac 2229 290a 2020 2822 4d63 5222 ....")). ("McR" │ │ │ -00039900: 202e 2028 22e2 849b 2229 290a 2020 2822 . ("...")). (" │ │ │ -00039910: 4d63 5322 202e 2028 22f0 9d92 ae22 2929 McS" . ("....")) │ │ │ -00039920: 0a20 2028 224d 6354 2220 2e20 2822 f09d . ("McT" . (".. │ │ │ -00039930: 92af 2229 290a 2020 2822 4d63 5522 202e ..")). ("McU" . │ │ │ -00039940: 2028 22f0 9d92 b022 2929 0a20 2028 224d ("....")). ("M │ │ │ -00039950: 6356 2220 2e20 2822 f09d 92b1 2229 290a cV" . ("....")). │ │ │ -00039960: 2020 2822 4d63 5722 202e 2028 22f0 9d92 ("McW" . ("... │ │ │ -00039970: b222 2929 0a20 2028 224d 6358 2220 2e20 .")). ("McX" . │ │ │ -00039980: 2822 f09d 92b3 2229 290a 2020 2822 4d63 ("....")). ("Mc │ │ │ -00039990: 5922 202e 2028 22f0 9d92 b422 2929 0a20 Y" . ("....")). │ │ │ -000399a0: 2028 224d 635a 2220 2e20 2822 f09d 92b5 ("McZ" . (".... │ │ │ -000399b0: 2229 290a 2020 2822 4d63 6122 202e 2028 ")). ("Mca" . ( │ │ │ -000399c0: 22f0 9d92 b622 2929 0a20 2028 224d 6362 "....")). ("Mcb │ │ │ -000399d0: 2220 2e20 2822 f09d 92b7 2229 290a 2020 " . ("....")). │ │ │ -000399e0: 2822 4d63 6322 202e 2028 22f0 9d92 b822 ("Mcc" . ("...." │ │ │ -000399f0: 2929 0a20 2028 224d 6364 2220 2e20 2822 )). ("Mcd" . (" │ │ │ -00039a00: f09d 92b9 2229 290a 2020 2822 4d63 6522 ....")). ("Mce" │ │ │ -00039a10: 202e 2028 22e2 84af 2229 290a 2020 2822 . ("...")). (" │ │ │ -00039a20: 4d63 6622 202e 2028 22f0 9d92 bb22 2929 Mcf" . ("....")) │ │ │ -00039a30: 0a20 2028 224d 6367 2220 2e20 2822 e284 . ("Mcg" . (".. │ │ │ -00039a40: 8a22 2929 0a20 2028 224d 6368 2220 2e20 .")). ("Mch" . │ │ │ -00039a50: 2822 f09d 92bd 2229 290a 2020 2822 4d63 ("....")). ("Mc │ │ │ -00039a60: 6922 202e 2028 22f0 9d92 be22 2929 0a20 i" . ("....")). │ │ │ -00039a70: 2028 224d 636a 2220 2e20 2822 f09d 92bf ("Mcj" . (".... │ │ │ -00039a80: 2229 290a 2020 2822 4d63 6b22 202e 2028 ")). ("Mck" . ( │ │ │ -00039a90: 22f0 9d93 8022 2929 0a20 2028 224d 636c "....")). ("Mcl │ │ │ -00039aa0: 2220 2e20 2822 f09d 9381 2229 290a 2020 " . ("....")). │ │ │ -00039ab0: 2822 4d63 6d22 202e 2028 22f0 9d93 8222 ("Mcm" . ("...." │ │ │ -00039ac0: 2929 0a20 2028 224d 636e 2220 2e20 2822 )). ("Mcn" . (" │ │ │ -00039ad0: f09d 9383 2229 290a 2020 2822 4d63 6f22 ....")). ("Mco" │ │ │ -00039ae0: 202e 2028 22e2 84b4 2229 290a 2020 2822 . ("...")). (" │ │ │ -00039af0: 4d63 7022 202e 2028 22f0 9d93 8522 2929 Mcp" . ("....")) │ │ │ -00039b00: 0a20 2028 224d 6371 2220 2e20 2822 f09d . ("Mcq" . (".. │ │ │ -00039b10: 9386 2229 290a 2020 2822 4d63 7222 202e ..")). ("Mcr" . │ │ │ -00039b20: 2028 22f0 9d93 8722 2929 0a20 2028 224d ("....")). ("M │ │ │ -00039b30: 6373 2220 2e20 2822 f09d 9388 2229 290a cs" . ("....")). │ │ │ -00039b40: 2020 2822 4d63 7422 202e 2028 22f0 9d93 ("Mct" . ("... │ │ │ -00039b50: 8922 2929 0a20 2028 224d 6375 2220 2e20 .")). ("Mcu" . │ │ │ -00039b60: 2822 f09d 938a 2229 290a 2020 2822 4d63 ("....")). ("Mc │ │ │ -00039b70: 7622 202e 2028 22f0 9d93 8b22 2929 0a20 v" . ("....")). │ │ │ -00039b80: 2028 224d 6377 2220 2e20 2822 f09d 938c ("Mcw" . (".... │ │ │ -00039b90: 2229 290a 2020 2822 4d63 7822 202e 2028 ")). ("Mcx" . ( │ │ │ -00039ba0: 22f0 9d93 8d22 2929 0a20 2028 224d 6379 "....")). ("Mcy │ │ │ -00039bb0: 2220 2e20 2822 f09d 938e 2229 290a 2020 " . ("....")). │ │ │ -00039bc0: 2822 4d63 7a22 202e 2028 22f0 9d93 8f22 ("Mcz" . ("...." │ │ │ -00039bd0: 2929 0a0a 2020 2822 4d43 4122 202e 2028 )).. ("MCA" . ( │ │ │ -00039be0: 22f0 9d93 9022 2929 0a20 2028 224d 4342 "....")). ("MCB │ │ │ -00039bf0: 2220 2e20 2822 f09d 9391 2229 290a 2020 " . ("....")). │ │ │ -00039c00: 2822 4d43 4322 202e 2028 22f0 9d93 9222 ("MCC" . ("...." │ │ │ -00039c10: 2929 0a20 2028 224d 4344 2220 2e20 2822 )). ("MCD" . (" │ │ │ -00039c20: f09d 9393 2229 290a 2020 2822 4d43 4522 ....")). ("MCE" │ │ │ -00039c30: 202e 2028 22f0 9d93 9422 2929 0a20 2028 . ("....")). ( │ │ │ -00039c40: 224d 4346 2220 2e20 2822 f09d 9395 2229 "MCF" . ("....") │ │ │ -00039c50: 290a 2020 2822 4d43 4722 202e 2028 22f0 ). ("MCG" . (". │ │ │ -00039c60: 9d93 9622 2929 0a20 2028 224d 4348 2220 ...")). ("MCH" │ │ │ -00039c70: 2e20 2822 f09d 9397 2229 290a 2020 2822 . ("....")). (" │ │ │ -00039c80: 4d43 4922 202e 2028 22f0 9d93 9822 2929 MCI" . ("....")) │ │ │ -00039c90: 0a20 2028 224d 434a 2220 2e20 2822 f09d . ("MCJ" . (".. │ │ │ -00039ca0: 9399 2229 290a 2020 2822 4d43 4b22 202e ..")). ("MCK" . │ │ │ -00039cb0: 2028 22f0 9d93 9a22 2929 0a20 2028 224d ("....")). ("M │ │ │ -00039cc0: 434c 2220 2e20 2822 f09d 939b 2229 290a CL" . ("....")). │ │ │ -00039cd0: 2020 2822 4d43 4d22 202e 2028 22f0 9d93 ("MCM" . ("... │ │ │ -00039ce0: 9c22 2929 0a20 2028 224d 434e 2220 2e20 .")). ("MCN" . │ │ │ -00039cf0: 2822 f09d 939d 2229 290a 2020 2822 4d43 ("....")). ("MC │ │ │ -00039d00: 4f22 202e 2028 22f0 9d93 9e22 2929 0a20 O" . ("....")). │ │ │ -00039d10: 2028 224d 4350 2220 2e20 2822 f09d 939f ("MCP" . (".... │ │ │ -00039d20: 2229 290a 2020 2822 4d43 5122 202e 2028 ")). ("MCQ" . ( │ │ │ -00039d30: 22f0 9d93 a022 2929 0a20 2028 224d 4352 "....")). ("MCR │ │ │ -00039d40: 2220 2e20 2822 f09d 93a1 2229 290a 2020 " . ("....")). │ │ │ -00039d50: 2822 4d43 5322 202e 2028 22f0 9d93 a222 ("MCS" . ("...." │ │ │ -00039d60: 2929 0a20 2028 224d 4354 2220 2e20 2822 )). ("MCT" . (" │ │ │ -00039d70: f09d 93a3 2229 290a 2020 2822 4d43 5522 ....")). ("MCU" │ │ │ -00039d80: 202e 2028 22f0 9d93 a422 2929 0a20 2028 . ("....")). ( │ │ │ -00039d90: 224d 4356 2220 2e20 2822 f09d 93a5 2229 "MCV" . ("....") │ │ │ -00039da0: 290a 2020 2822 4d43 5722 202e 2028 22f0 ). ("MCW" . (". │ │ │ -00039db0: 9d93 a622 2929 0a20 2028 224d 4358 2220 ...")). ("MCX" │ │ │ -00039dc0: 2e20 2822 f09d 93a7 2229 290a 2020 2822 . ("....")). (" │ │ │ -00039dd0: 4d43 5922 202e 2028 22f0 9d93 a822 2929 MCY" . ("....")) │ │ │ -00039de0: 0a20 2028 224d 435a 2220 2e20 2822 f09d . ("MCZ" . (".. │ │ │ -00039df0: 93a9 2229 290a 2020 2822 4d43 6122 202e ..")). ("MCa" . │ │ │ -00039e00: 2028 22f0 9d93 aa22 2929 0a20 2028 224d ("....")). ("M │ │ │ -00039e10: 4362 2220 2e20 2822 f09d 93ab 2229 290a Cb" . ("....")). │ │ │ -00039e20: 2020 2822 4d43 6322 202e 2028 22f0 9d93 ("MCc" . ("... │ │ │ -00039e30: ac22 2929 0a20 2028 224d 4364 2220 2e20 .")). ("MCd" . │ │ │ -00039e40: 2822 f09d 93ad 2229 290a 2020 2822 4d43 ("....")). ("MC │ │ │ -00039e50: 6522 202e 2028 22f0 9d93 ae22 2929 0a20 e" . ("....")). │ │ │ -00039e60: 2028 224d 4366 2220 2e20 2822 f09d 93af ("MCf" . (".... │ │ │ -00039e70: 2229 290a 2020 2822 4d43 6722 202e 2028 ")). ("MCg" . ( │ │ │ -00039e80: 22f0 9d93 b022 2929 0a20 2028 224d 4368 "....")). ("MCh │ │ │ -00039e90: 2220 2e20 2822 f09d 93b1 2229 290a 2020 " . ("....")). │ │ │ -00039ea0: 2822 4d43 6922 202e 2028 22f0 9d93 b222 ("MCi" . ("...." │ │ │ -00039eb0: 2929 0a20 2028 224d 436a 2220 2e20 2822 )). ("MCj" . (" │ │ │ -00039ec0: f09d 93b3 2229 290a 2020 2822 4d43 6b22 ....")). ("MCk" │ │ │ -00039ed0: 202e 2028 22f0 9d93 b422 2929 0a20 2028 . ("....")). ( │ │ │ -00039ee0: 224d 436c 2220 2e20 2822 f09d 93b5 2229 "MCl" . ("....") │ │ │ -00039ef0: 290a 2020 2822 4d43 6d22 202e 2028 22f0 ). ("MCm" . (". │ │ │ -00039f00: 9d93 b622 2929 0a20 2028 224d 436e 2220 ...")). ("MCn" │ │ │ -00039f10: 2e20 2822 f09d 93b7 2229 290a 2020 2822 . ("....")). (" │ │ │ -00039f20: 4d43 6f22 202e 2028 22f0 9d93 b822 2929 MCo" . ("....")) │ │ │ -00039f30: 0a20 2028 224d 4370 2220 2e20 2822 f09d . ("MCp" . (".. │ │ │ -00039f40: 93b9 2229 290a 2020 2822 4d43 7122 202e ..")). ("MCq" . │ │ │ -00039f50: 2028 22f0 9d93 ba22 2929 0a20 2028 224d ("....")). ("M │ │ │ -00039f60: 4372 2220 2e20 2822 f09d 93bb 2229 290a Cr" . ("....")). │ │ │ -00039f70: 2020 2822 4d43 7322 202e 2028 22f0 9d93 ("MCs" . ("... │ │ │ -00039f80: bc22 2929 0a20 2028 224d 4374 2220 2e20 .")). ("MCt" . │ │ │ -00039f90: 2822 f09d 93bd 2229 290a 2020 2822 4d43 ("....")). ("MC │ │ │ -00039fa0: 7522 202e 2028 22f0 9d93 be22 2929 0a20 u" . ("....")). │ │ │ -00039fb0: 2028 224d 4376 2220 2e20 2822 f09d 93bf ("MCv" . (".... │ │ │ -00039fc0: 2229 290a 2020 2822 4d43 7722 202e 2028 ")). ("MCw" . ( │ │ │ -00039fd0: 22f0 9d94 8022 2929 0a20 2028 224d 4378 "....")). ("MCx │ │ │ -00039fe0: 2220 2e20 2822 f09d 9481 2229 290a 2020 " . ("....")). │ │ │ -00039ff0: 2822 4d43 7922 202e 2028 22f0 9d94 8222 ("MCy" . ("...." │ │ │ -0003a000: 2929 0a20 2028 224d 437a 2220 2e20 2822 )). ("MCz" . (" │ │ │ -0003a010: f09d 9483 2229 290a 0a20 2028 224d 6641 ....")).. ("MfA │ │ │ -0003a020: 2220 2e20 2822 f09d 9484 2229 290a 2020 " . ("....")). │ │ │ -0003a030: 2822 4d66 4222 202e 2028 22f0 9d94 8522 ("MfB" . ("...." │ │ │ -0003a040: 2929 0a20 2028 224d 6643 2220 2e20 2822 )). ("MfC" . (" │ │ │ -0003a050: e284 ad22 2929 0a20 2028 224d 6644 2220 ...")). ("MfD" │ │ │ -0003a060: 2e20 2822 f09d 9487 2229 290a 2020 2822 . ("....")). (" │ │ │ -0003a070: 4d66 4522 202e 2028 22f0 9d94 8822 2929 MfE" . ("....")) │ │ │ -0003a080: 0a20 2028 224d 6646 2220 2e20 2822 f09d . ("MfF" . (".. │ │ │ -0003a090: 9489 2229 290a 2020 2822 4d66 4722 202e ..")). ("MfG" . │ │ │ -0003a0a0: 2028 22f0 9d94 8a22 2929 0a20 2028 224d ("....")). ("M │ │ │ -0003a0b0: 6648 2220 2e20 2822 e284 8c22 2929 0a20 fH" . ("...")). │ │ │ -0003a0c0: 2028 224d 6649 2220 2e20 2822 e284 9122 ("MfI" . ("..." │ │ │ -0003a0d0: 2929 0a20 2028 224d 664a 2220 2e20 2822 )). ("MfJ" . (" │ │ │ -0003a0e0: f09d 948d 2229 290a 2020 2822 4d66 4b22 ....")). ("MfK" │ │ │ -0003a0f0: 202e 2028 22f0 9d94 8e22 2929 0a20 2028 . ("....")). ( │ │ │ -0003a100: 224d 664c 2220 2e20 2822 f09d 948f 2229 "MfL" . ("....") │ │ │ -0003a110: 290a 2020 2822 4d66 4d22 202e 2028 22f0 ). ("MfM" . (". │ │ │ -0003a120: 9d94 9022 2929 0a20 2028 224d 664e 2220 ...")). ("MfN" │ │ │ -0003a130: 2e20 2822 f09d 9491 2229 290a 2020 2822 . ("....")). (" │ │ │ -0003a140: 4d66 4f22 202e 2028 22f0 9d94 9222 2929 MfO" . ("....")) │ │ │ -0003a150: 0a20 2028 224d 6650 2220 2e20 2822 f09d . ("MfP" . (".. │ │ │ -0003a160: 9493 2229 290a 2020 2822 4d66 5122 202e ..")). ("MfQ" . │ │ │ -0003a170: 2028 22f0 9d94 9422 2929 0a20 2028 224d ("....")). ("M │ │ │ -0003a180: 6652 2220 2e20 2822 e284 9c22 2929 0a20 fR" . ("...")). │ │ │ -0003a190: 2028 224d 6653 2220 2e20 2822 f09d 9496 ("MfS" . (".... │ │ │ -0003a1a0: 2229 290a 2020 2822 4d66 5422 202e 2028 ")). ("MfT" . ( │ │ │ -0003a1b0: 22f0 9d94 9722 2929 0a20 2028 224d 6655 "....")). ("MfU │ │ │ -0003a1c0: 2220 2e20 2822 f09d 9498 2229 290a 2020 " . ("....")). │ │ │ -0003a1d0: 2822 4d66 5622 202e 2028 22f0 9d94 9922 ("MfV" . ("...." │ │ │ -0003a1e0: 2929 0a20 2028 224d 6657 2220 2e20 2822 )). ("MfW" . (" │ │ │ -0003a1f0: f09d 949a 2229 290a 2020 2822 4d66 5822 ....")). ("MfX" │ │ │ -0003a200: 202e 2028 22f0 9d94 9b22 2929 0a20 2028 . ("....")). ( │ │ │ -0003a210: 224d 6659 2220 2e20 2822 f09d 949c 2229 "MfY" . ("....") │ │ │ -0003a220: 290a 2020 2822 4d66 5a22 202e 2028 22e2 ). ("MfZ" . (". │ │ │ -0003a230: 84a8 2229 290a 2020 2822 4d66 6122 202e ..")). ("Mfa" . │ │ │ -0003a240: 2028 22f0 9d94 9e22 2929 0a20 2028 224d ("....")). ("M │ │ │ -0003a250: 6662 2220 2e20 2822 f09d 949f 2229 290a fb" . ("....")). │ │ │ -0003a260: 2020 2822 4d66 6322 202e 2028 22f0 9d94 ("Mfc" . ("... │ │ │ -0003a270: a022 2929 0a20 2028 224d 6664 2220 2e20 .")). ("Mfd" . │ │ │ -0003a280: 2822 f09d 94a1 2229 290a 2020 2822 4d66 ("....")). ("Mf │ │ │ -0003a290: 6522 202e 2028 22f0 9d94 a222 2929 0a20 e" . ("....")). │ │ │ -0003a2a0: 2028 224d 6666 2220 2e20 2822 f09d 94a3 ("Mff" . (".... │ │ │ -0003a2b0: 2229 290a 2020 2822 4d66 6722 202e 2028 ")). ("Mfg" . ( │ │ │ -0003a2c0: 22f0 9d94 a422 2929 0a20 2028 224d 6668 "....")). ("Mfh │ │ │ -0003a2d0: 2220 2e20 2822 f09d 94a5 2229 290a 2020 " . ("....")). │ │ │ -0003a2e0: 2822 4d66 6922 202e 2028 22f0 9d94 a622 ("Mfi" . ("...." │ │ │ -0003a2f0: 2929 0a20 2028 224d 666a 2220 2e20 2822 )). ("Mfj" . (" │ │ │ -0003a300: f09d 94a7 2229 290a 2020 2822 4d66 6b22 ....")). ("Mfk" │ │ │ -0003a310: 202e 2028 22f0 9d94 a822 2929 0a20 2028 . ("....")). ( │ │ │ -0003a320: 224d 666c 2220 2e20 2822 f09d 94a9 2229 "Mfl" . ("....") │ │ │ -0003a330: 290a 2020 2822 4d66 6d22 202e 2028 22f0 ). ("Mfm" . (". │ │ │ -0003a340: 9d94 aa22 2929 0a20 2028 224d 666e 2220 ...")). ("Mfn" │ │ │ -0003a350: 2e20 2822 f09d 94ab 2229 290a 2020 2822 . ("....")). (" │ │ │ -0003a360: 4d66 6f22 202e 2028 22f0 9d94 ac22 2929 Mfo" . ("....")) │ │ │ -0003a370: 0a20 2028 224d 6670 2220 2e20 2822 f09d . ("Mfp" . (".. │ │ │ -0003a380: 94ad 2229 290a 2020 2822 4d66 7122 202e ..")). ("Mfq" . │ │ │ -0003a390: 2028 22f0 9d94 ae22 2929 0a20 2028 224d ("....")). ("M │ │ │ -0003a3a0: 6672 2220 2e20 2822 f09d 94af 2229 290a fr" . ("....")). │ │ │ -0003a3b0: 2020 2822 4d66 7322 202e 2028 22f0 9d94 ("Mfs" . ("... │ │ │ -0003a3c0: b022 2929 0a20 2028 224d 6674 2220 2e20 .")). ("Mft" . │ │ │ -0003a3d0: 2822 f09d 94b1 2229 290a 2020 2822 4d66 ("....")). ("Mf │ │ │ -0003a3e0: 7522 202e 2028 22f0 9d94 b222 2929 0a20 u" . ("....")). │ │ │ -0003a3f0: 2028 224d 6676 2220 2e20 2822 f09d 94b3 ("Mfv" . (".... │ │ │ -0003a400: 2229 290a 2020 2822 4d66 7722 202e 2028 ")). ("Mfw" . ( │ │ │ -0003a410: 22f0 9d94 b422 2929 0a20 2028 224d 6678 "....")). ("Mfx │ │ │ -0003a420: 2220 2e20 2822 f09d 94b5 2229 290a 2020 " . ("....")). │ │ │ -0003a430: 2822 4d66 7922 202e 2028 22f0 9d94 b622 ("Mfy" . ("...." │ │ │ -0003a440: 2929 0a20 2028 224d 667a 2220 2e20 2822 )). ("Mfz" . (" │ │ │ -0003a450: f09d 94b7 2229 290a 0a20 203b 3b20 2853 ....")).. ;; (S │ │ │ -0003a460: 7562 202f 2053 7570 6572 2920 7363 7269 ub / Super) scri │ │ │ -0003a470: 7074 732e 0a20 203b 3b0a 2020 3b3b 2055 pts.. ;;. ;; U │ │ │ -0003a480: 6e69 636f 6465 2031 322e 3120 6f6d 6974 nicode 12.1 omit │ │ │ -0003a490: 7320 7365 7665 7261 6c20 6c61 7469 6e20 s several latin │ │ │ -0003a4a0: 6368 6172 6163 7465 7273 2066 726f 6d20 characters from │ │ │ -0003a4b0: 7375 622f 7375 7065 7273 6372 6970 742e sub/superscript. │ │ │ -0003a4c0: 0a20 203b 3b20 6874 7470 733a 2f2f 7777 . ;; https://ww │ │ │ -0003a4d0: 772e 7175 6f72 612e 636f 6d2f 5768 792d w.quora.com/Why- │ │ │ -0003a4e0: 6973 2d74 6865 7265 2d6e 6f2d 6368 6172 is-there-no-char │ │ │ -0003a4f0: 6163 7465 722d 666f 722d 7375 7065 7273 acter-for-supers │ │ │ -0003a500: 6372 6970 742d 712d 696e 2d55 6e69 636f cript-q-in-Unico │ │ │ -0003a510: 6465 0a20 203b 3b0a 2020 3b3b 2050 6572 de. ;;. ;; Per │ │ │ -0003a520: 6861 7073 2074 6865 7920 7769 6c6c 2062 haps they will b │ │ │ -0003a530: 6520 6164 6465 6420 696e 2066 7574 7572 e added in futur │ │ │ -0003a540: 6520 7665 7273 696f 6e73 2c20 686f 7765 e versions, howe │ │ │ -0003a550: 7665 7220 7468 6572 6520 6172 6520 6e6f ver there are no │ │ │ -0003a560: 0a20 203b 3b20 7072 6f70 6f73 616c 7320 . ;; proposals │ │ │ -0003a570: 666f 7220 6974 2063 7572 7265 6e74 6c79 for it currently │ │ │ -0003a580: 2069 6e20 7468 6520 7069 7065 6c69 6e65 in the pipeline │ │ │ -0003a590: 3a0a 2020 3b3b 2068 7474 7073 3a2f 2f77 :. ;; https://w │ │ │ -0003a5a0: 7777 2e75 6e69 636f 6465 2e6f 7267 2f61 ww.unicode.org/a │ │ │ -0003a5b0: 6c6c 6f63 2f50 6970 656c 696e 652e 6874 lloc/Pipeline.ht │ │ │ -0003a5c0: 6d6c 0a0a 2020 2822 5f61 2220 2e20 2822 ml.. ("_a" . (" │ │ │ -0003a5d0: e282 9022 2929 0a20 203b 3b20 2822 5f62 ...")). ;; ("_b │ │ │ -0003a5e0: 2220 2e20 2822 6222 2929 0a20 203b 3b20 " . ("b")). ;; │ │ │ -0003a5f0: 2822 5f63 2220 2e20 2822 6322 2929 0a20 ("_c" . ("c")). │ │ │ -0003a600: 203b 3b20 2822 5f64 2220 2e20 2822 6422 ;; ("_d" . ("d" │ │ │ -0003a610: 2929 0a20 2028 225f 6522 202e 2028 22e2 )). ("_e" . (". │ │ │ -0003a620: 8291 2229 290a 2020 3b3b 2028 225f 6622 ..")). ;; ("_f" │ │ │ -0003a630: 202e 2028 2266 2229 290a 2020 3b3b 2028 . ("f")). ;; ( │ │ │ -0003a640: 225f 6722 202e 2028 2267 2229 290a 2020 "_g" . ("g")). │ │ │ -0003a650: 2822 5f68 2220 2e20 2822 e282 9522 2929 ("_h" . ("...")) │ │ │ -0003a660: 0a20 2028 225f 6922 202e 2028 22e1 b5a2 . ("_i" . ("... │ │ │ -0003a670: 2229 290a 2020 2822 5f6a 2220 2e20 2822 ")). ("_j" . (" │ │ │ -0003a680: e2b1 bc22 2929 0a20 2028 225f 6b22 202e ...")). ("_k" . │ │ │ -0003a690: 2028 22e2 8296 2229 290a 2020 2822 5f6c ("...")). ("_l │ │ │ -0003a6a0: 2220 2e20 2822 e282 9722 2929 0a20 2028 " . ("...")). ( │ │ │ -0003a6b0: 225f 6d22 202e 2028 22e2 8298 2229 290a "_m" . ("...")). │ │ │ -0003a6c0: 2020 2822 5f6e 2220 2e20 2822 e282 9922 ("_n" . ("..." │ │ │ -0003a6d0: 2929 0a20 2028 225f 6f22 202e 2028 22e2 )). ("_o" . (". │ │ │ -0003a6e0: 8292 2229 290a 2020 2822 5f70 2220 2e20 ..")). ("_p" . │ │ │ -0003a6f0: 2822 e282 9a22 2929 0a20 203b 3b20 2822 ("...")). ;; (" │ │ │ -0003a700: 5f71 2220 2e20 2822 7122 2929 0a20 2028 _q" . ("q")). ( │ │ │ -0003a710: 225f 7222 202e 2028 22e1 b5a3 2229 290a "_r" . ("...")). │ │ │ -0003a720: 2020 2822 5f73 2220 2e20 2822 e282 9b22 ("_s" . ("..." │ │ │ -0003a730: 2929 0a20 2028 225f 7422 202e 2028 22e2 )). ("_t" . (". │ │ │ -0003a740: 829c 2229 290a 2020 2822 5f75 2220 2e20 ..")). ("_u" . │ │ │ -0003a750: 2822 e1b5 a422 2929 0a20 2028 225f 7622 ("...")). ("_v" │ │ │ -0003a760: 202e 2028 22e1 b5a5 2229 290a 2020 3b3b . ("...")). ;; │ │ │ -0003a770: 2028 225f 7722 202e 2028 2277 2229 290a ("_w" . ("w")). │ │ │ -0003a780: 2020 2822 5f78 2220 2e20 2822 e282 9322 ("_x" . ("..." │ │ │ -0003a790: 2929 0a20 203b 3b20 2822 5f79 2220 2e20 )). ;; ("_y" . │ │ │ -0003a7a0: 2822 7922 2929 0a20 203b 3b20 2822 5f7a ("y")). ;; ("_z │ │ │ -0003a7b0: 2220 2e20 2822 7a22 2929 0a0a 2020 2822 " . ("z")).. (" │ │ │ -0003a7c0: 5f47 6222 202e 2028 22e1 b5a6 2229 290a _Gb" . ("...")). │ │ │ -0003a7d0: 2020 2822 5f47 6722 202e 2028 22e1 b5a7 ("_Gg" . ("... │ │ │ -0003a7e0: 2229 290a 2020 2822 5f47 7222 202e 2028 ")). ("_Gr" . ( │ │ │ -0003a7f0: 22e1 b5a8 2229 290a 2020 2822 5f47 6622 "...")). ("_Gf" │ │ │ -0003a800: 202e 2028 22e1 b5a9 2229 290a 2020 2822 . ("...")). (" │ │ │ -0003a810: 5f47 6322 202e 2028 22e1 b5aa 2229 290a _Gc" . ("...")). │ │ │ -0003a820: 0a20 2028 225e 6122 202e 2028 22e1 b583 . ("^a" . ("... │ │ │ -0003a830: 2229 290a 2020 2822 5e62 2220 2e20 2822 ")). ("^b" . (" │ │ │ -0003a840: e1b5 8722 2929 0a20 2028 225e 6322 202e ...")). ("^c" . │ │ │ -0003a850: 2028 22e1 b69c 2229 290a 2020 2822 5e64 ("...")). ("^d │ │ │ -0003a860: 2220 2e20 2822 e1b5 8822 2929 0a20 2028 " . ("...")). ( │ │ │ -0003a870: 225e 6522 202e 2028 22e1 b589 2229 290a "^e" . ("...")). │ │ │ -0003a880: 2020 2822 5e66 2220 2e20 2822 e1b6 a022 ("^f" . ("..." │ │ │ -0003a890: 2929 0a20 2028 225e 6722 202e 2028 22e1 )). ("^g" . (". │ │ │ -0003a8a0: b58d 2229 290a 2020 2822 5e68 2220 2e20 ..")). ("^h" . │ │ │ -0003a8b0: 2822 cab0 2229 290a 2020 2822 5e69 2220 ("..")). ("^i" │ │ │ -0003a8c0: 2e20 2822 e281 b122 2929 0a20 2028 225e . ("...")). ("^ │ │ │ -0003a8d0: 6a22 202e 2028 22ca b222 2929 0a20 2028 j" . ("..")). ( │ │ │ -0003a8e0: 225e 6b22 202e 2028 22e1 b58f 2229 290a "^k" . ("...")). │ │ │ -0003a8f0: 2020 2822 5e6c 2220 2e20 2822 cba1 2229 ("^l" . ("..") │ │ │ -0003a900: 290a 2020 2822 5e6d 2220 2e20 2822 e1b5 ). ("^m" . (".. │ │ │ -0003a910: 9022 2929 0a20 2028 225e 6e22 202e 2028 .")). ("^n" . ( │ │ │ -0003a920: 22e2 81bf 2229 290a 2020 2822 5e6f 2220 "...")). ("^o" │ │ │ -0003a930: 2e20 2822 e1b5 9222 2929 0a20 2028 225e . ("...")). ("^ │ │ │ -0003a940: 7022 202e 2028 22e1 b596 2229 290a 2020 p" . ("...")). │ │ │ -0003a950: 3b3b 2028 225e 7122 202e 2028 2271 2229 ;; ("^q" . ("q") │ │ │ -0003a960: 290a 2020 2822 5e72 2220 2e20 2822 cab3 ). ("^r" . (".. │ │ │ -0003a970: 2229 290a 2020 2822 5e73 2220 2e20 2822 ")). ("^s" . (" │ │ │ -0003a980: cba2 2229 290a 2020 2822 5e74 2220 2e20 ..")). ("^t" . │ │ │ -0003a990: 2822 e1b5 9722 2929 0a20 2028 225e 7522 ("...")). ("^u" │ │ │ -0003a9a0: 202e 2028 22e1 b598 2229 290a 2020 2822 . ("...")). (" │ │ │ -0003a9b0: 5e76 2220 2e20 2822 e1b5 9b22 2929 0a20 ^v" . ("...")). │ │ │ -0003a9c0: 2028 225e 7722 202e 2028 22ca b722 2929 ("^w" . ("..")) │ │ │ -0003a9d0: 0a20 2028 225e 7822 202e 2028 22cb a322 . ("^x" . (".." │ │ │ -0003a9e0: 2929 0a20 2028 225e 7922 202e 2028 22ca )). ("^y" . (". │ │ │ -0003a9f0: b822 2929 0a20 2028 225e 7a22 202e 2028 .")). ("^z" . ( │ │ │ -0003aa00: 22e1 b6bb 2229 290a 0a20 2028 225e 4122 "...")).. ("^A" │ │ │ -0003aa10: 202e 2028 22e1 b4ac 2229 290a 2020 2822 . ("...")). (" │ │ │ -0003aa20: 5e42 2220 2e20 2822 e1b4 ae22 2929 0a20 ^B" . ("...")). │ │ │ -0003aa30: 203b 3b20 2822 5e43 2220 2e20 2822 4322 ;; ("^C" . ("C" │ │ │ -0003aa40: 2929 0a20 2028 225e 4422 202e 2028 22e1 )). ("^D" . (". │ │ │ -0003aa50: b4b0 2229 290a 2020 2822 5e45 2220 2e20 ..")). ("^E" . │ │ │ -0003aa60: 2822 e1b4 b122 2929 0a20 203b 3b20 2822 ("...")). ;; (" │ │ │ -0003aa70: 5e46 2220 2e20 2822 4622 2929 0a20 2028 ^F" . ("F")). ( │ │ │ -0003aa80: 225e 4722 202e 2028 22e1 b4b3 2229 290a "^G" . ("...")). │ │ │ -0003aa90: 2020 2822 5e48 2220 2e20 2822 e1b4 b422 ("^H" . ("..." │ │ │ -0003aaa0: 2929 0a20 2028 225e 4922 202e 2028 22e1 )). ("^I" . (". │ │ │ -0003aab0: b4b5 2229 290a 2020 2822 5e4a 2220 2e20 ..")). ("^J" . │ │ │ -0003aac0: 2822 e1b4 b622 2929 0a20 2028 225e 4b22 ("...")). ("^K" │ │ │ -0003aad0: 202e 2028 22e1 b4b7 2229 290a 2020 2822 . ("...")). (" │ │ │ -0003aae0: 5e4c 2220 2e20 2822 e1b4 b822 2929 0a20 ^L" . ("...")). │ │ │ -0003aaf0: 2028 225e 4d22 202e 2028 22e1 b4b9 2229 ("^M" . ("...") │ │ │ -0003ab00: 290a 2020 2822 5e4e 2220 2e20 2822 e1b4 ). ("^N" . (".. │ │ │ -0003ab10: ba22 2929 0a20 2028 225e 4f22 202e 2028 .")). ("^O" . ( │ │ │ -0003ab20: 22e1 b4bc 2229 290a 2020 2822 5e50 2220 "...")). ("^P" │ │ │ -0003ab30: 2e20 2822 e1b4 be22 2929 0a20 203b 3b20 . ("...")). ;; │ │ │ -0003ab40: 2822 5e51 2220 2e20 2822 5122 2929 0a20 ("^Q" . ("Q")). │ │ │ -0003ab50: 2028 225e 5222 202e 2028 22e1 b4bf 2229 ("^R" . ("...") │ │ │ -0003ab60: 290a 2020 3b3b 2028 225e 5322 202e 2028 ). ;; ("^S" . ( │ │ │ -0003ab70: 2253 2229 290a 2020 2822 5e54 2220 2e20 "S")). ("^T" . │ │ │ -0003ab80: 2822 e1b5 8022 2929 0a20 2028 225e 5522 ("...")). ("^U" │ │ │ -0003ab90: 202e 2028 22e1 b581 2229 290a 2020 2822 . ("...")). (" │ │ │ -0003aba0: 5e56 2220 2e20 2822 e2b1 bd22 2929 0a20 ^V" . ("...")). │ │ │ -0003abb0: 2028 225e 5722 202e 2028 22e1 b582 2229 ("^W" . ("...") │ │ │ -0003abc0: 290a 2020 3b3b 2028 225e 5822 202e 2028 ). ;; ("^X" . ( │ │ │ -0003abd0: 2258 2229 290a 2020 3b3b 2028 225e 5922 "X")). ;; ("^Y" │ │ │ -0003abe0: 202e 2028 2259 2229 290a 2020 3b3b 2028 . ("Y")). ;; ( │ │ │ -0003abf0: 225e 5a22 202e 2028 225a 2229 290a 0a20 "^Z" . ("Z")).. │ │ │ -0003ac00: 2028 225e 4761 2220 2e20 2822 e1b5 8522 ("^Ga" . ("..." │ │ │ -0003ac10: 2929 0a20 2028 225e 4762 2220 2e20 2822 )). ("^Gb" . (" │ │ │ -0003ac20: e1b5 9d22 2929 0a20 2028 225e 4767 2220 ...")). ("^Gg" │ │ │ -0003ac30: 2e20 2822 e1b5 9e22 2929 0a20 2028 225e . ("...")). ("^ │ │ │ -0003ac40: 4764 2220 2e20 2822 e1b5 9f22 2929 0a20 Gd" . ("...")). │ │ │ -0003ac50: 2028 225e 4765 2220 2e20 2822 e1b5 8b22 ("^Ge" . ("..." │ │ │ -0003ac60: 2929 0a20 2028 225e 4774 6822 202e 2028 )). ("^Gth" . ( │ │ │ -0003ac70: 22e1 b6bf 2229 290a 2020 2822 5e47 6922 "...")). ("^Gi" │ │ │ -0003ac80: 202e 2028 22e1 b6a5 2229 290a 2020 2822 . ("...")). (" │ │ │ -0003ac90: 5e47 6622 202e 2028 22e1 b5a0 2229 290a ^Gf" . ("...")). │ │ │ -0003aca0: 2020 2822 5e47 6322 202e 2028 22e1 b5a1 ("^Gc" . ("... │ │ │ -0003acb0: 2229 290a 0a20 2028 225e 4746 2220 2e20 ")).. ("^GF" . │ │ │ -0003acc0: 2822 e1b6 b222 2929 0a0a 2020 3b3b 2053 ("...")).. ;; S │ │ │ -0003acd0: 6f6d 6520 4953 4f38 3835 392d 3120 6368 ome ISO8859-1 ch │ │ │ -0003ace0: 6172 6163 7465 7273 2e0a 0a20 2028 2220 aracters... (" │ │ │ -0003acf0: 2220 2020 2020 2020 2020 2e20 2822 c2a0 " . (".. │ │ │ -0003ad00: 2229 290a 2020 2822 2122 2020 2020 2020 ")). ("!" │ │ │ -0003ad10: 2020 202e 2028 22c2 a122 2929 0a20 2028 . ("..")). ( │ │ │ -0003ad20: 2263 656e 7422 2020 2020 2020 2e20 2822 "cent" . (" │ │ │ -0003ad30: c2a2 2229 290a 2020 2822 6272 6f6b 656e ..")). ("broken │ │ │ -0003ad40: 6261 7222 202e 2028 22c2 a622 2929 0a20 bar" . ("..")). │ │ │ -0003ad50: 2028 2264 6567 7265 6522 2020 2020 2e20 ("degree" . │ │ │ -0003ad60: 2822 c2b0 2229 290a 2020 2822 3f22 2020 ("..")). ("?" │ │ │ -0003ad70: 2020 2020 2020 202e 2028 22c2 bf22 2929 . ("..")) │ │ │ -0003ad80: 0a20 2028 225e 615f 2220 2020 2020 2020 . ("^a_" │ │ │ -0003ad90: 2e20 2822 c2aa 2229 290a 2020 2822 5e6f . ("..")). ("^o │ │ │ -0003ada0: 5f22 2020 2020 2020 202e 2028 22c2 ba22 _" . (".." │ │ │ -0003adb0: 2929 0a0a 2020 3b3b 2043 6972 636c 6564 )).. ;; Circled │ │ │ -0003adc0: 2c20 7061 7265 6e74 6865 7369 7365 6420 , parenthesised │ │ │ -0003add0: 6574 632e 206e 756d 6265 7273 2061 6e64 etc. numbers and │ │ │ -0003ade0: 206c 6574 7465 7273 2e0a 0a20 2028 2022 letters... ( " │ │ │ -0003adf0: 2830 2922 202e 202c 2861 6764 612d 696e (0)" . ,(agda-in │ │ │ -0003ae00: 7075 742d 746f 2d73 7472 696e 672d 6c69 put-to-string-li │ │ │ -0003ae10: 7374 2022 20e2 93aa f09f 8480 e293 bff0 st " ........... │ │ │ -0003ae20: 9f84 8bf0 9f84 8c22 2929 0a20 2028 2022 .......")). ( " │ │ │ -0003ae30: 2831 2922 202e 202c 2861 6764 612d 696e (1)" . ,(agda-in │ │ │ -0003ae40: 7075 742d 746f 2d73 7472 696e 672d 6c69 put-to-string-li │ │ │ -0003ae50: 7374 2022 e291 b4e2 91a0 e292 88e2 9db6 st "............ │ │ │ -0003ae60: e29e 80e2 9e8a 2229 290a 2020 2820 2228 ......")). ( "( │ │ │ -0003ae70: 3229 2220 2e20 2c28 6167 6461 2d69 6e70 2)" . ,(agda-inp │ │ │ -0003ae80: 7574 2d74 6f2d 7374 7269 6e67 2d6c 6973 ut-to-string-lis │ │ │ -0003ae90: 7420 22e2 91b5 e291 a1e2 9289 e29d b7e2 t "............. │ │ │ -0003aea0: 9e81 e29e 8b22 2929 0a20 2028 2022 2833 .....")). ( "(3 │ │ │ -0003aeb0: 2922 202e 202c 2861 6764 612d 696e 7075 )" . ,(agda-inpu │ │ │ -0003aec0: 742d 746f 2d73 7472 696e 672d 6c69 7374 t-to-string-list │ │ │ -0003aed0: 2022 e291 b6e2 91a2 e292 8ae2 9db8 e29e ".............. │ │ │ -0003aee0: 82e2 9e8c 2229 290a 2020 2820 2228 3429 ....")). ( "(4) │ │ │ -0003aef0: 2220 2e20 2c28 6167 6461 2d69 6e70 7574 " . ,(agda-input │ │ │ -0003af00: 2d74 6f2d 7374 7269 6e67 2d6c 6973 7420 -to-string-list │ │ │ -0003af10: 22e2 91b7 e291 a3e2 928b e29d b9e2 9e83 "............... │ │ │ -0003af20: e29e 8d22 2929 0a20 2028 2022 2835 2922 ...")). ( "(5)" │ │ │ -0003af30: 202e 202c 2861 6764 612d 696e 7075 742d . ,(agda-input- │ │ │ -0003af40: 746f 2d73 7472 696e 672d 6c69 7374 2022 to-string-list " │ │ │ -0003af50: e291 b8e2 91a4 e292 8ce2 9dba e29e 84e2 ................ │ │ │ -0003af60: 9e8e 2229 290a 2020 2820 2228 3629 2220 ..")). ( "(6)" │ │ │ -0003af70: 2e20 2c28 6167 6461 2d69 6e70 7574 2d74 . ,(agda-input-t │ │ │ -0003af80: 6f2d 7374 7269 6e67 2d6c 6973 7420 22e2 o-string-list ". │ │ │ -0003af90: 91b9 e291 a5e2 928d e29d bbe2 9e85 e29e ................ │ │ │ -0003afa0: 8f22 2929 0a20 2028 2022 2837 2922 202e .")). ( "(7)" . │ │ │ -0003afb0: 202c 2861 6764 612d 696e 7075 742d 746f ,(agda-input-to │ │ │ -0003afc0: 2d73 7472 696e 672d 6c69 7374 2022 e291 -string-list ".. │ │ │ -0003afd0: bae2 91a6 e292 8ee2 9dbc e29e 86e2 9e90 ................ │ │ │ -0003afe0: 2229 290a 2020 2820 2228 3829 2220 2e20 ")). ( "(8)" . │ │ │ -0003aff0: 2c28 6167 6461 2d69 6e70 7574 2d74 6f2d ,(agda-input-to- │ │ │ -0003b000: 7374 7269 6e67 2d6c 6973 7420 22e2 91bb string-list "... │ │ │ -0003b010: e291 a7e2 928f e29d bde2 9e87 e29e 9122 ..............." │ │ │ -0003b020: 2929 0a20 2028 2022 2839 2922 202e 202c )). ( "(9)" . , │ │ │ -0003b030: 2861 6764 612d 696e 7075 742d 746f 2d73 (agda-input-to-s │ │ │ -0003b040: 7472 696e 672d 6c69 7374 2022 e291 bce2 tring-list ".... │ │ │ -0003b050: 91a8 e292 90e2 9dbe e29e 88e2 9e92 2229 ..............") │ │ │ -0003b060: 290a 2020 2822 2831 3029 2220 2e20 2c28 ). ("(10)" . ,( │ │ │ -0003b070: 6167 6461 2d69 6e70 7574 2d74 6f2d 7374 agda-input-to-st │ │ │ -0003b080: 7269 6e67 2d6c 6973 7420 22e2 91bd e291 ring-list "..... │ │ │ -0003b090: a9e2 9291 e29d bfe2 9e89 e29e 9322 2929 .............")) │ │ │ -0003b0a0: 0a20 2028 2228 3131 2922 202e 202c 2861 . ("(11)" . ,(a │ │ │ -0003b0b0: 6764 612d 696e 7075 742d 746f 2d73 7472 gda-input-to-str │ │ │ -0003b0c0: 696e 672d 6c69 7374 2022 e291 bee2 91aa ing-list "...... │ │ │ -0003b0d0: e292 92e2 93ab 2229 290a 2020 2822 2831 ......")). ("(1 │ │ │ -0003b0e0: 3229 2220 2e20 2c28 6167 6461 2d69 6e70 2)" . ,(agda-inp │ │ │ -0003b0f0: 7574 2d74 6f2d 7374 7269 6e67 2d6c 6973 ut-to-string-lis │ │ │ -0003b100: 7420 22e2 91bf e291 abe2 9293 e293 ac22 t "............" │ │ │ -0003b110: 2929 0a20 2028 2228 3133 2922 202e 202c )). ("(13)" . , │ │ │ -0003b120: 2861 6764 612d 696e 7075 742d 746f 2d73 (agda-input-to-s │ │ │ -0003b130: 7472 696e 672d 6c69 7374 2022 e292 80e2 tring-list ".... │ │ │ -0003b140: 91ac e292 94e2 93ad 2229 290a 2020 2822 ........")). (" │ │ │ -0003b150: 2831 3429 2220 2e20 2c28 6167 6461 2d69 (14)" . ,(agda-i │ │ │ -0003b160: 6e70 7574 2d74 6f2d 7374 7269 6e67 2d6c nput-to-string-l │ │ │ -0003b170: 6973 7420 22e2 9281 e291 ade2 9295 e293 ist "........... │ │ │ -0003b180: ae22 2929 0a20 2028 2228 3135 2922 202e .")). ("(15)" . │ │ │ -0003b190: 202c 2861 6764 612d 696e 7075 742d 746f ,(agda-input-to │ │ │ -0003b1a0: 2d73 7472 696e 672d 6c69 7374 2022 e292 -string-list ".. │ │ │ -0003b1b0: 82e2 91ae e292 96e2 93af 2229 290a 2020 ..........")). │ │ │ -0003b1c0: 2822 2831 3629 2220 2e20 2c28 6167 6461 ("(16)" . ,(agda │ │ │ -0003b1d0: 2d69 6e70 7574 2d74 6f2d 7374 7269 6e67 -input-to-string │ │ │ -0003b1e0: 2d6c 6973 7420 22e2 9283 e291 afe2 9297 -list "......... │ │ │ -0003b1f0: e293 b022 2929 0a20 2028 2228 3137 2922 ...")). ("(17)" │ │ │ -0003b200: 202e 202c 2861 6764 612d 696e 7075 742d . ,(agda-input- │ │ │ -0003b210: 746f 2d73 7472 696e 672d 6c69 7374 2022 to-string-list " │ │ │ -0003b220: e292 84e2 91b0 e292 98e2 93b1 2229 290a ............")). │ │ │ -0003b230: 2020 2822 2831 3829 2220 2e20 2c28 6167 ("(18)" . ,(ag │ │ │ -0003b240: 6461 2d69 6e70 7574 2d74 6f2d 7374 7269 da-input-to-stri │ │ │ -0003b250: 6e67 2d6c 6973 7420 22e2 9285 e291 b1e2 ng-list "....... │ │ │ -0003b260: 9299 e293 b222 2929 0a20 2028 2228 3139 .....")). ("(19 │ │ │ -0003b270: 2922 202e 202c 2861 6764 612d 696e 7075 )" . ,(agda-inpu │ │ │ -0003b280: 742d 746f 2d73 7472 696e 672d 6c69 7374 t-to-string-list │ │ │ -0003b290: 2022 e292 86e2 91b2 e292 9ae2 93b3 2229 "............") │ │ │ -0003b2a0: 290a 2020 2822 2832 3029 2220 2e20 2c28 ). ("(20)" . ,( │ │ │ -0003b2b0: 6167 6461 2d69 6e70 7574 2d74 6f2d 7374 agda-input-to-st │ │ │ -0003b2c0: 7269 6e67 2d6c 6973 7420 22e2 9287 e291 ring-list "..... │ │ │ -0003b2d0: b3e2 929b e293 b422 2929 0a0a 2020 2822 .......")).. (" │ │ │ -0003b2e0: 2861 2922 2020 2e20 2c28 6167 6461 2d69 (a)" . ,(agda-i │ │ │ -0003b2f0: 6e70 7574 2d74 6f2d 7374 7269 6e67 2d6c nput-to-string-l │ │ │ -0003b300: 6973 7420 22e2 929c e292 b6e2 9390 f09f ist "........... │ │ │ -0003b310: 8590 f09f 84b0 f09f 85b0 2229 290a 2020 ..........")). │ │ │ -0003b320: 2822 2862 2922 2020 2e20 2c28 6167 6461 ("(b)" . ,(agda │ │ │ -0003b330: 2d69 6e70 7574 2d74 6f2d 7374 7269 6e67 -input-to-string │ │ │ -0003b340: 2d6c 6973 7420 22e2 929d e292 b7e2 9391 -list "......... │ │ │ -0003b350: f09f 8591 f09f 84b1 f09f 85b1 2229 290a ............")). │ │ │ -0003b360: 2020 2822 2863 2922 2020 2e20 2c28 6167 ("(c)" . ,(ag │ │ │ -0003b370: 6461 2d69 6e70 7574 2d74 6f2d 7374 7269 da-input-to-stri │ │ │ -0003b380: 6e67 2d6c 6973 7420 22e2 929e e292 b8e2 ng-list "....... │ │ │ -0003b390: 9392 f09f 8592 f09f 84b2 f09f 85b2 2229 ..............") │ │ │ -0003b3a0: 290a 2020 2822 2864 2922 2020 2e20 2c28 ). ("(d)" . ,( │ │ │ -0003b3b0: 6167 6461 2d69 6e70 7574 2d74 6f2d 7374 agda-input-to-st │ │ │ -0003b3c0: 7269 6e67 2d6c 6973 7420 22e2 929f e292 ring-list "..... │ │ │ -0003b3d0: b9e2 9393 f09f 8593 f09f 84b3 f09f 85b3 ................ │ │ │ -0003b3e0: 2229 290a 2020 2822 2865 2922 2020 2e20 ")). ("(e)" . │ │ │ -0003b3f0: 2c28 6167 6461 2d69 6e70 7574 2d74 6f2d ,(agda-input-to- │ │ │ -0003b400: 7374 7269 6e67 2d6c 6973 7420 22e2 92a0 string-list "... │ │ │ -0003b410: e292 bae2 9394 f09f 8594 f09f 84b4 f09f ................ │ │ │ -0003b420: 85b4 2229 290a 2020 2822 2866 2922 2020 ..")). ("(f)" │ │ │ -0003b430: 2e20 2c28 6167 6461 2d69 6e70 7574 2d74 . ,(agda-input-t │ │ │ -0003b440: 6f2d 7374 7269 6e67 2d6c 6973 7420 22e2 o-string-list ". │ │ │ -0003b450: 92a1 e292 bbe2 9395 f09f 8595 f09f 84b5 ................ │ │ │ -0003b460: f09f 85b5 2229 290a 2020 2822 2867 2922 ....")). ("(g)" │ │ │ -0003b470: 2020 2e20 2c28 6167 6461 2d69 6e70 7574 . ,(agda-input │ │ │ -0003b480: 2d74 6f2d 7374 7269 6e67 2d6c 6973 7420 -to-string-list │ │ │ -0003b490: 22e2 92a2 e292 bce2 9396 f09f 8596 f09f "............... │ │ │ -0003b4a0: 84b6 f09f 85b6 2229 290a 2020 2822 2868 ......")). ("(h │ │ │ -0003b4b0: 2922 2020 2e20 2c28 6167 6461 2d69 6e70 )" . ,(agda-inp │ │ │ -0003b4c0: 7574 2d74 6f2d 7374 7269 6e67 2d6c 6973 ut-to-string-lis │ │ │ -0003b4d0: 7420 22e2 92a3 e292 bde2 9397 f09f 8597 t "............. │ │ │ -0003b4e0: f09f 84b7 f09f 85b7 2229 290a 2020 2822 ........")). (" │ │ │ -0003b4f0: 2869 2922 2020 2e20 2c28 6167 6461 2d69 (i)" . ,(agda-i │ │ │ -0003b500: 6e70 7574 2d74 6f2d 7374 7269 6e67 2d6c nput-to-string-l │ │ │ -0003b510: 6973 7420 22e2 92a4 e292 bee2 9398 f09f ist "........... │ │ │ -0003b520: 8598 f09f 84b8 f09f 85b8 2229 290a 2020 ..........")). │ │ │ -0003b530: 2822 286a 2922 2020 2e20 2c28 6167 6461 ("(j)" . ,(agda │ │ │ -0003b540: 2d69 6e70 7574 2d74 6f2d 7374 7269 6e67 -input-to-string │ │ │ -0003b550: 2d6c 6973 7420 22e2 92a5 e292 bfe2 9399 -list "......... │ │ │ -0003b560: f09f 8599 f09f 84b9 f09f 85b9 2229 290a ............")). │ │ │ -0003b570: 2020 2822 286b 2922 2020 2e20 2c28 6167 ("(k)" . ,(ag │ │ │ -0003b580: 6461 2d69 6e70 7574 2d74 6f2d 7374 7269 da-input-to-stri │ │ │ -0003b590: 6e67 2d6c 6973 7420 22e2 92a6 e293 80e2 ng-list "....... │ │ │ -0003b5a0: 939a f09f 859a f09f 84ba f09f 85ba 2229 ..............") │ │ │ -0003b5b0: 290a 2020 2822 286c 2922 2020 2e20 2c28 ). ("(l)" . ,( │ │ │ -0003b5c0: 6167 6461 2d69 6e70 7574 2d74 6f2d 7374 agda-input-to-st │ │ │ -0003b5d0: 7269 6e67 2d6c 6973 7420 22e2 92a7 e293 ring-list "..... │ │ │ -0003b5e0: 81e2 939b f09f 859b f09f 84bb f09f 85bb ................ │ │ │ -0003b5f0: 2229 290a 2020 2822 286d 2922 2020 2e20 ")). ("(m)" . │ │ │ -0003b600: 2c28 6167 6461 2d69 6e70 7574 2d74 6f2d ,(agda-input-to- │ │ │ -0003b610: 7374 7269 6e67 2d6c 6973 7420 22e2 92a8 string-list "... │ │ │ -0003b620: e293 82e2 939c f09f 859c f09f 84bc f09f ................ │ │ │ -0003b630: 85bc 2229 290a 2020 2822 286e 2922 2020 ..")). ("(n)" │ │ │ -0003b640: 2e20 2c28 6167 6461 2d69 6e70 7574 2d74 . ,(agda-input-t │ │ │ -0003b650: 6f2d 7374 7269 6e67 2d6c 6973 7420 22e2 o-string-list ". │ │ │ -0003b660: 92a9 e293 83e2 939d f09f 859d f09f 84bd ................ │ │ │ -0003b670: f09f 85bd 2229 290a 2020 2822 286f 2922 ....")). ("(o)" │ │ │ -0003b680: 2020 2e20 2c28 6167 6461 2d69 6e70 7574 . ,(agda-input │ │ │ -0003b690: 2d74 6f2d 7374 7269 6e67 2d6c 6973 7420 -to-string-list │ │ │ -0003b6a0: 22e2 92aa e293 84e2 939e f09f 859e f09f "............... │ │ │ -0003b6b0: 84be f09f 85be 2229 290a 2020 2822 2870 ......")). ("(p │ │ │ -0003b6c0: 2922 2020 2e20 2c28 6167 6461 2d69 6e70 )" . ,(agda-inp │ │ │ -0003b6d0: 7574 2d74 6f2d 7374 7269 6e67 2d6c 6973 ut-to-string-lis │ │ │ -0003b6e0: 7420 22e2 92ab e293 85e2 939f f09f 859f t "............. │ │ │ -0003b6f0: f09f 84bf f09f 85bf 2229 290a 2020 2822 ........")). (" │ │ │ -0003b700: 2871 2922 2020 2e20 2c28 6167 6461 2d69 (q)" . ,(agda-i │ │ │ -0003b710: 6e70 7574 2d74 6f2d 7374 7269 6e67 2d6c nput-to-string-l │ │ │ -0003b720: 6973 7420 22e2 92ac e293 86e2 93a0 f09f ist "........... │ │ │ -0003b730: 85a0 f09f 8580 f09f 8680 2229 290a 2020 ..........")). │ │ │ -0003b740: 2822 2872 2922 2020 2e20 2c28 6167 6461 ("(r)" . ,(agda │ │ │ -0003b750: 2d69 6e70 7574 2d74 6f2d 7374 7269 6e67 -input-to-string │ │ │ -0003b760: 2d6c 6973 7420 22e2 92ad e293 87e2 93a1 -list "......... │ │ │ -0003b770: f09f 85a1 f09f 8581 f09f 8681 2229 290a ............")). │ │ │ -0003b780: 2020 2822 2873 2922 2020 2e20 2c28 6167 ("(s)" . ,(ag │ │ │ -0003b790: 6461 2d69 6e70 7574 2d74 6f2d 7374 7269 da-input-to-stri │ │ │ -0003b7a0: 6e67 2d6c 6973 7420 22e2 92ae e293 88e2 ng-list "....... │ │ │ -0003b7b0: 93a2 f09f 85a2 f09f 8582 f09f 8682 2229 ..............") │ │ │ -0003b7c0: 290a 2020 2822 2874 2922 2020 2e20 2c28 ). ("(t)" . ,( │ │ │ -0003b7d0: 6167 6461 2d69 6e70 7574 2d74 6f2d 7374 agda-input-to-st │ │ │ -0003b7e0: 7269 6e67 2d6c 6973 7420 22e2 92af e293 ring-list "..... │ │ │ -0003b7f0: 89e2 93a3 f09f 85a3 f09f 8583 f09f 8683 ................ │ │ │ -0003b800: 2229 290a 2020 2822 2875 2922 2020 2e20 ")). ("(u)" . │ │ │ -0003b810: 2c28 6167 6461 2d69 6e70 7574 2d74 6f2d ,(agda-input-to- │ │ │ -0003b820: 7374 7269 6e67 2d6c 6973 7420 22e2 92b0 string-list "... │ │ │ -0003b830: e293 8ae2 93a4 f09f 85a4 f09f 8584 f09f ................ │ │ │ -0003b840: 8684 2229 290a 2020 2822 2876 2922 2020 ..")). ("(v)" │ │ │ -0003b850: 2e20 2c28 6167 6461 2d69 6e70 7574 2d74 . ,(agda-input-t │ │ │ -0003b860: 6f2d 7374 7269 6e67 2d6c 6973 7420 22e2 o-string-list ". │ │ │ -0003b870: 92b1 e293 8be2 93a5 f09f 85a5 f09f 8585 ................ │ │ │ -0003b880: f09f 8685 2229 290a 2020 2822 2877 2922 ....")). ("(w)" │ │ │ -0003b890: 2020 2e20 2c28 6167 6461 2d69 6e70 7574 . ,(agda-input │ │ │ -0003b8a0: 2d74 6f2d 7374 7269 6e67 2d6c 6973 7420 -to-string-list │ │ │ -0003b8b0: 22e2 92b2 e293 8ce2 93a6 f09f 85a6 f09f "............... │ │ │ -0003b8c0: 8586 f09f 8686 2229 290a 2020 2822 2878 ......")). ("(x │ │ │ -0003b8d0: 2922 2020 2e20 2c28 6167 6461 2d69 6e70 )" . ,(agda-inp │ │ │ -0003b8e0: 7574 2d74 6f2d 7374 7269 6e67 2d6c 6973 ut-to-string-lis │ │ │ -0003b8f0: 7420 22e2 92b3 e293 8de2 93a7 f09f 85a7 t "............. │ │ │ -0003b900: f09f 8587 f09f 8687 2229 290a 2020 2822 ........")). (" │ │ │ -0003b910: 2879 2922 2020 2e20 2c28 6167 6461 2d69 (y)" . ,(agda-i │ │ │ -0003b920: 6e70 7574 2d74 6f2d 7374 7269 6e67 2d6c nput-to-string-l │ │ │ -0003b930: 6973 7420 22e2 92b4 e293 8ee2 93a8 f09f ist "........... │ │ │ -0003b940: 85a8 f09f 8588 f09f 8688 2229 290a 2020 ..........")). │ │ │ -0003b950: 2822 287a 2922 2020 2e20 2c28 6167 6461 ("(z)" . ,(agda │ │ │ -0003b960: 2d69 6e70 7574 2d74 6f2d 7374 7269 6e67 -input-to-string │ │ │ -0003b970: 2d6c 6973 7420 22e2 92b5 e293 8fe2 93a9 -list "......... │ │ │ -0003b980: f09f 85a9 f09f 8589 f09f 8689 2229 290a ............")). │ │ │ -0003b990: 0a20 2029 290a 2020 2241 206c 6973 7420 . )). "A list │ │ │ -0003b9a0: 6f66 2074 7261 6e73 6c61 7469 6f6e 7320 of translations │ │ │ -0003b9b0: 7370 6563 6966 6963 2074 6f20 7468 6520 specific to the │ │ │ -0003b9c0: 4167 6461 2069 6e70 7574 206d 6574 686f Agda input metho │ │ │ -0003b9d0: 642e 0a45 6163 6820 656c 656d 656e 7420 d..Each element │ │ │ -0003b9e0: 6973 2061 2070 6169 7220 284b 4559 2d53 is a pair (KEY-S │ │ │ -0003b9f0: 4551 5545 4e43 452d 5354 5249 4e47 202e EQUENCE-STRING . │ │ │ -0003ba00: 204c 4953 542d 4f46 2d54 5241 4e53 4c41 LIST-OF-TRANSLA │ │ │ -0003ba10: 5449 4f4e 2d53 5452 494e 4753 292e 0a41 TION-STRINGS)..A │ │ │ -0003ba20: 6c6c 2074 6865 2074 7261 6e73 6c61 7469 ll the translati │ │ │ -0003ba30: 6f6e 2073 7472 696e 6773 2061 7265 2070 on strings are p │ │ │ -0003ba40: 6f73 7369 626c 6520 7472 616e 736c 6174 ossible translat │ │ │ -0003ba50: 696f 6e73 0a6f 6620 7468 6520 6769 7665 ions.of the give │ │ │ -0003ba60: 6e20 6b65 7920 7365 7175 656e 6365 3b20 n key sequence; │ │ │ -0003ba70: 6966 2074 6865 7265 2069 7320 6d6f 7265 if there is more │ │ │ -0003ba80: 2074 6861 6e20 6f6e 6520 796f 7520 6361 than one you ca │ │ │ -0003ba90: 6e20 6368 6f6f 7365 0a62 6574 7765 656e n choose.between │ │ │ -0003baa0: 2074 6865 6d20 7573 696e 6720 7468 6520 them using the │ │ │ -0003bab0: 6172 726f 7720 6b65 7973 2e0a 0a4e 6f74 arrow keys...Not │ │ │ -0003bac0: 6520 7468 6174 2069 6620 796f 7520 6375 e that if you cu │ │ │ -0003bad0: 7374 6f6d 697a 6520 7468 6973 2073 6574 stomize this set │ │ │ -0003bae0: 7469 6e67 2079 6f75 2077 696c 6c20 6e6f ting you will no │ │ │ -0003baf0: 740a 6175 746f 6d61 7469 6361 6c6c 7920 t.automatically │ │ │ -0003bb00: 6265 6e65 6669 7420 286f 7220 7375 6666 benefit (or suff │ │ │ -0003bb10: 6572 2920 6672 6f6d 206d 6f64 6966 6963 er) from modific │ │ │ -0003bb20: 6174 696f 6e73 2074 6f20 6974 730a 6465 ations to its.de │ │ │ -0003bb30: 6661 756c 7420 7661 6c75 6520 7768 656e fault value when │ │ │ -0003bb40: 2074 6865 206c 6962 7261 7279 2069 7320 the library is │ │ │ -0003bb50: 7570 6461 7465 642e 2020 4966 2079 6f75 updated. If you │ │ │ -0003bb60: 206a 7573 7420 7761 6e74 2074 6f0a 6164 just want to.ad │ │ │ -0003bb70: 6420 736f 6d65 2062 696e 6469 6e67 7320 d some bindings │ │ │ -0003bb80: 6974 2069 7320 7072 6f62 6162 6c79 2061 it is probably a │ │ │ -0003bb90: 2062 6574 7465 7220 6964 6561 2074 6f20 better idea to │ │ │ -0003bba0: 6375 7374 6f6d 697a 650a 6061 6764 612d customize.`agda- │ │ │ -0003bbb0: 696e 7075 742d 7573 6572 2d74 7261 6e73 input-user-trans │ │ │ -0003bbc0: 6c61 7469 6f6e 7327 2e0a 0a54 6865 7365 lations'...These │ │ │ -0003bbd0: 2074 7261 6e73 6c61 7469 6f6e 2070 6169 translation pai │ │ │ -0003bbe0: 7273 2061 7265 2069 6e63 6c75 6465 6420 rs are included │ │ │ -0003bbf0: 6166 7465 7220 7468 6f73 6520 696e 0a60 after those in.` │ │ │ -0003bc00: 6167 6461 2d69 6e70 7574 2d75 7365 722d agda-input-user- │ │ │ -0003bc10: 7472 616e 736c 6174 696f 6e73 272c 2062 translations', b │ │ │ -0003bc20: 7574 2062 6566 6f72 6520 7468 6520 6f6e ut before the on │ │ │ -0003bc30: 6573 2069 6e68 6572 6974 6564 0a66 726f es inherited.fro │ │ │ -0003bc40: 6d20 6f74 6865 7220 696e 7075 7420 6d65 m other input me │ │ │ -0003bc50: 7468 6f64 7320 2873 6565 2060 6167 6461 thods (see `agda │ │ │ -0003bc60: 2d69 6e70 7574 2d69 6e68 6572 6974 2729 -input-inherit') │ │ │ -0003bc70: 2e0a 0a49 6620 796f 7520 6368 616e 6765 ...If you change │ │ │ -0003bc80: 2074 6869 7320 7365 7474 696e 6720 6d61 this setting ma │ │ │ -0003bc90: 6e75 616c 6c79 2028 7769 7468 6f75 7420 nually (without │ │ │ -0003bca0: 7573 696e 6720 7468 650a 6375 7374 6f6d using the.custom │ │ │ -0003bcb0: 697a 6174 696f 6e20 6275 6666 6572 2920 ization buffer) │ │ │ -0003bcc0: 796f 7520 6e65 6564 2074 6f20 6361 6c6c you need to call │ │ │ -0003bcd0: 2060 6167 6461 2d69 6e70 7574 2d73 6574 `agda-input-set │ │ │ -0003bce0: 7570 2720 696e 0a6f 7264 6572 2066 6f72 up' in.order for │ │ │ -0003bcf0: 2074 6865 2063 6861 6e67 6520 746f 2074 the change to t │ │ │ -0003bd00: 616b 6520 6566 6665 6374 2e22 0a20 203a ake effect.". : │ │ │ -0003bd10: 6772 6f75 7020 2761 6764 612d 696e 7075 group 'agda-inpu │ │ │ -0003bd20: 740a 2020 3a73 6574 2027 6167 6461 2d69 t. :set 'agda-i │ │ │ -0003bd30: 6e70 7574 2d69 6e63 6f72 706f 7261 7465 nput-incorporate │ │ │ -0003bd40: 2d63 6861 6e67 6564 2d73 6574 7469 6e67 -changed-setting │ │ │ -0003bd50: 0a20 203a 696e 6974 6961 6c69 7a65 2027 . :initialize ' │ │ │ -0003bd60: 6375 7374 6f6d 2d69 6e69 7469 616c 697a custom-initializ │ │ │ -0003bd70: 652d 6465 6661 756c 740a 2020 3a74 7970 e-default. :typ │ │ │ -0003bd80: 6520 2728 7265 7065 6174 2028 636f 6e73 e '(repeat (cons │ │ │ -0003bd90: 2028 7374 7269 6e67 203a 7461 6720 224b (string :tag "K │ │ │ -0003bda0: 6579 2073 6571 7565 6e63 6522 290a 2020 ey sequence"). │ │ │ +00038a60: 2020 22e2 83a1 2229 290a 2020 2822 5f6c "...")). ("_l │ │ │ +00038a70: 7222 202e 2020 2820 2020 2020 2020 2020 r" . ( │ │ │ +00038a80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +00038a90: 22cd 8d22 2929 0a20 2028 225e 5e22 2020 "..")). ("^^" │ │ │ +00038aa0: 2e20 2c28 6167 6461 2d69 6e70 7574 2d74 . ,(agda-input-t │ │ │ +00038ab0: 6f2d 7374 7269 6e67 2d6c 6973 7422 cc82 o-string-list".. │ │ │ +00038ac0: cc91 cd86 2229 290a 2020 2822 5f5e 2220 ....")). ("_^" │ │ │ +00038ad0: 202e 202c 2861 6764 612d 696e 7075 742d . ,(agda-input- │ │ │ +00038ae0: 746f 2d73 7472 696e 672d 6c69 7374 22cc to-string-list". │ │ │ +00038af0: adcc afcc aa22 2929 0a20 2028 225e 7622 .....")). ("^v" │ │ │ +00038b00: 2020 2e20 2c28 6167 6461 2d69 6e70 7574 . ,(agda-input │ │ │ +00038b10: 2d74 6f2d 7374 7269 6e67 2d6c 6973 7422 -to-string-list" │ │ │ +00038b20: cc8c cc86 2229 290a 2020 2822 5f76 2220 ....")). ("_v" │ │ │ +00038b30: 202e 202c 2861 6764 612d 696e 7075 742d . ,(agda-input- │ │ │ +00038b40: 746f 2d73 7472 696e 672d 6c69 7374 22cc to-string-list". │ │ │ +00038b50: accc aecc ba22 2929 0a0a 2020 3b3b 2053 .....")).. ;; S │ │ │ +00038b60: 686f 7274 6572 2066 6f72 6d73 206f 6620 horter forms of │ │ │ +00038b70: 6d61 6e79 2067 7265 656b 206c 6574 7465 many greek lette │ │ │ +00038b80: 7273 2070 6c75 7320 c69b 2e0a 0a20 2028 rs plus ..... ( │ │ │ +00038b90: 2247 6122 2020 2e20 2822 ceb1 2229 2920 "Ga" . ("..")) │ │ │ +00038ba0: 2028 2247 4122 2020 2e20 2822 ce91 2229 ("GA" . ("..") │ │ │ +00038bb0: 290a 2020 2822 4762 2220 202e 2028 22ce ). ("Gb" . (". │ │ │ +00038bc0: b222 2929 2020 2822 4742 2220 202e 2028 .")) ("GB" . ( │ │ │ +00038bd0: 22ce 9222 2929 0a20 2028 2247 6722 2020 "..")). ("Gg" │ │ │ +00038be0: 2e20 2822 ceb3 2229 2920 2028 2247 4722 . ("..")) ("GG" │ │ │ +00038bf0: 2020 2e20 2822 ce93 2229 290a 2020 2822 . ("..")). (" │ │ │ +00038c00: 4764 2220 202e 2028 22ce b422 2929 2020 Gd" . ("..")) │ │ │ +00038c10: 2822 4744 2220 202e 2028 22ce 9422 2929 ("GD" . ("..")) │ │ │ +00038c20: 0a20 2028 2247 6522 2020 2e20 2822 ceb5 . ("Ge" . (".. │ │ │ +00038c30: 2229 2920 2028 2247 4522 2020 2e20 2822 ")) ("GE" . (" │ │ │ +00038c40: ce95 2229 290a 2020 2822 477a 2220 202e ..")). ("Gz" . │ │ │ +00038c50: 2028 22ce b622 2929 2020 2822 475a 2220 ("..")) ("GZ" │ │ │ +00038c60: 202e 2028 22ce 9622 2929 0a20 2028 2247 . ("..")). ("G │ │ │ +00038c70: 6822 2020 2e20 2822 ceb7 2229 2920 2028 h" . ("..")) ( │ │ │ +00038c80: 2247 4822 2020 2e20 2822 ce97 2229 290a "GH" . ("..")). │ │ │ +00038c90: 2020 2822 4774 6822 202e 2028 22ce b822 ("Gth" . (".." │ │ │ +00038ca0: 2929 2020 2822 4754 4822 202e 2028 22ce )) ("GTH" . (". │ │ │ +00038cb0: 9822 2929 0a20 2028 2247 6922 2020 2e20 .")). ("Gi" . │ │ │ +00038cc0: 2822 ceb9 2229 2920 2028 2247 4922 2020 ("..")) ("GI" │ │ │ +00038cd0: 2e20 2822 ce99 2229 290a 2020 2822 476b . ("..")). ("Gk │ │ │ +00038ce0: 2220 202e 2028 22ce ba22 2929 2020 2822 " . ("..")) (" │ │ │ +00038cf0: 474b 2220 202e 2028 22ce 9a22 2929 0a20 GK" . ("..")). │ │ │ +00038d00: 2028 2247 6c22 2020 2e20 2822 cebb 2229 ("Gl" . ("..") │ │ │ +00038d10: 2920 2028 2247 4c22 2020 2e20 2822 ce9b ) ("GL" . (".. │ │ │ +00038d20: 2229 2920 2028 2247 6c2d 2220 2e20 2822 ")) ("Gl-" . (" │ │ │ +00038d30: c69b 2229 290a 2020 2822 476d 2220 202e ..")). ("Gm" . │ │ │ +00038d40: 2028 22ce bc22 2929 2020 2822 474d 2220 ("..")) ("GM" │ │ │ +00038d50: 202e 2028 22ce 9c22 2929 0a20 2028 2247 . ("..")). ("G │ │ │ +00038d60: 6e22 2020 2e20 2822 cebd 2229 2920 2028 n" . ("..")) ( │ │ │ +00038d70: 2247 4e22 2020 2e20 2822 ce9d 2229 290a "GN" . ("..")). │ │ │ +00038d80: 2020 2822 4778 2220 202e 2028 22ce be22 ("Gx" . (".." │ │ │ +00038d90: 2929 2020 2822 4758 2220 202e 2028 22ce )) ("GX" . (". │ │ │ +00038da0: 9e22 2929 0a20 203b 3b20 5c6f 6d69 6372 .")). ;; \omicr │ │ │ +00038db0: 6f6e 205c 4f6d 6963 726f 6e0a 2020 3b3b on \Omicron. ;; │ │ │ +00038dc0: 205c 7069 205c 5069 0a20 2028 2247 7222 \pi \Pi. ("Gr" │ │ │ +00038dd0: 2020 2e20 2822 cf81 2229 2920 2028 2247 . ("..")) ("G │ │ │ +00038de0: 5222 2020 2e20 2822 cea1 2229 290a 2020 R" . ("..")). │ │ │ +00038df0: 2822 4773 2220 202e 2028 22cf 8322 2929 ("Gs" . ("..")) │ │ │ +00038e00: 2020 2822 4753 2220 202e 2028 22ce a322 ("GS" . (".." │ │ │ +00038e10: 2929 0a20 2028 2247 7422 2020 2e20 2822 )). ("Gt" . (" │ │ │ +00038e20: cf84 2229 2920 2028 2247 5422 2020 2e20 ..")) ("GT" . │ │ │ +00038e30: 2822 cea4 2229 290a 2020 2822 4775 2220 ("..")). ("Gu" │ │ │ +00038e40: 202e 2028 22cf 8522 2929 2020 2822 4755 . ("..")) ("GU │ │ │ +00038e50: 2220 202e 2028 22ce a522 2929 0a20 2028 " . ("..")). ( │ │ │ +00038e60: 2247 6622 2020 2e20 2822 cf86 2229 2920 "Gf" . ("..")) │ │ │ +00038e70: 2028 2247 4622 2020 2e20 2822 cea6 2229 ("GF" . ("..") │ │ │ +00038e80: 290a 2020 2822 4763 2220 202e 2028 22cf ). ("Gc" . (". │ │ │ +00038e90: 8722 2929 2020 2822 4743 2220 202e 2028 .")) ("GC" . ( │ │ │ +00038ea0: 22ce a722 2929 0a20 2028 2247 7022 2020 "..")). ("Gp" │ │ │ +00038eb0: 2e20 2822 cf88 2229 2920 2028 2247 5022 . ("..")) ("GP" │ │ │ +00038ec0: 2020 2e20 2822 cea8 2229 290a 2020 2822 . ("..")). (" │ │ │ +00038ed0: 476f 2220 202e 2028 22cf 8922 2929 2020 Go" . ("..")) │ │ │ +00038ee0: 2822 474f 2220 202e 2028 22ce a922 2929 ("GO" . ("..")) │ │ │ +00038ef0: 0a0a 2020 3b3b 204d 6174 6865 6d61 7469 .. ;; Mathemati │ │ │ +00038f00: 6361 6c20 6368 6172 6163 7465 7273 2e0a cal characters.. │ │ │ +00038f10: 0a20 2028 224d 6941 2220 2e20 2822 f09d . ("MiA" . (".. │ │ │ +00038f20: 90b4 2229 290a 2020 2822 4d69 4222 202e ..")). ("MiB" . │ │ │ +00038f30: 2028 22f0 9d90 b522 2929 0a20 2028 224d ("....")). ("M │ │ │ +00038f40: 6943 2220 2e20 2822 f09d 90b6 2229 290a iC" . ("....")). │ │ │ +00038f50: 2020 2822 4d69 4422 202e 2028 22f0 9d90 ("MiD" . ("... │ │ │ +00038f60: b722 2929 0a20 2028 224d 6945 2220 2e20 .")). ("MiE" . │ │ │ +00038f70: 2822 f09d 90b8 2229 290a 2020 2822 4d69 ("....")). ("Mi │ │ │ +00038f80: 4622 202e 2028 22f0 9d90 b922 2929 0a20 F" . ("....")). │ │ │ +00038f90: 2028 224d 6947 2220 2e20 2822 f09d 90ba ("MiG" . (".... │ │ │ +00038fa0: 2229 290a 2020 2822 4d69 4822 202e 2028 ")). ("MiH" . ( │ │ │ +00038fb0: 22f0 9d90 bb22 2929 0a20 2028 224d 6949 "....")). ("MiI │ │ │ +00038fc0: 2220 2e20 2822 f09d 90bc 2229 290a 2020 " . ("....")). │ │ │ +00038fd0: 2822 4d69 4a22 202e 2028 22f0 9d90 bd22 ("MiJ" . ("...." │ │ │ +00038fe0: 2929 0a20 2028 224d 694b 2220 2e20 2822 )). ("MiK" . (" │ │ │ +00038ff0: f09d 90be 2229 290a 2020 2822 4d69 4c22 ....")). ("MiL" │ │ │ +00039000: 202e 2028 22f0 9d90 bf22 2929 0a20 2028 . ("....")). ( │ │ │ +00039010: 224d 694d 2220 2e20 2822 f09d 9180 2229 "MiM" . ("....") │ │ │ +00039020: 290a 2020 2822 4d69 4e22 202e 2028 22f0 ). ("MiN" . (". │ │ │ +00039030: 9d91 8122 2929 0a20 2028 224d 694f 2220 ...")). ("MiO" │ │ │ +00039040: 2e20 2822 f09d 9182 2229 290a 2020 2822 . ("....")). (" │ │ │ +00039050: 4d69 5022 202e 2028 22f0 9d91 8322 2929 MiP" . ("....")) │ │ │ +00039060: 0a20 2028 224d 6951 2220 2e20 2822 f09d . ("MiQ" . (".. │ │ │ +00039070: 9184 2229 290a 2020 2822 4d69 5222 202e ..")). ("MiR" . │ │ │ +00039080: 2028 22f0 9d91 8522 2929 0a20 2028 224d ("....")). ("M │ │ │ +00039090: 6953 2220 2e20 2822 f09d 9186 2229 290a iS" . ("....")). │ │ │ +000390a0: 2020 2822 4d69 5422 202e 2028 22f0 9d91 ("MiT" . ("... │ │ │ +000390b0: 8722 2929 0a20 2028 224d 6955 2220 2e20 .")). ("MiU" . │ │ │ +000390c0: 2822 f09d 9188 2229 290a 2020 2822 4d69 ("....")). ("Mi │ │ │ +000390d0: 5622 202e 2028 22f0 9d91 8922 2929 0a20 V" . ("....")). │ │ │ +000390e0: 2028 224d 6957 2220 2e20 2822 f09d 918a ("MiW" . (".... │ │ │ +000390f0: 2229 290a 2020 2822 4d69 5822 202e 2028 ")). ("MiX" . ( │ │ │ +00039100: 22f0 9d91 8b22 2929 0a20 2028 224d 6959 "....")). ("MiY │ │ │ +00039110: 2220 2e20 2822 f09d 918c 2229 290a 2020 " . ("....")). │ │ │ +00039120: 2822 4d69 5a22 202e 2028 22f0 9d91 8d22 ("MiZ" . ("...." │ │ │ +00039130: 2929 0a20 2028 224d 6961 2220 2e20 2822 )). ("Mia" . (" │ │ │ +00039140: f09d 918e 2229 290a 2020 2822 4d69 6222 ....")). ("Mib" │ │ │ +00039150: 202e 2028 22f0 9d91 8f22 2929 0a20 2028 . ("....")). ( │ │ │ +00039160: 224d 6963 2220 2e20 2822 f09d 9190 2229 "Mic" . ("....") │ │ │ +00039170: 290a 2020 2822 4d69 6422 202e 2028 22f0 ). ("Mid" . (". │ │ │ +00039180: 9d91 9122 2929 0a20 2028 224d 6965 2220 ...")). ("Mie" │ │ │ +00039190: 2e20 2822 f09d 9192 2229 290a 2020 2822 . ("....")). (" │ │ │ +000391a0: 4d69 6622 202e 2028 22f0 9d91 9322 2929 Mif" . ("....")) │ │ │ +000391b0: 0a20 2028 224d 6967 2220 2e20 2822 f09d . ("Mig" . (".. │ │ │ +000391c0: 9194 2229 290a 2020 2822 4d69 6822 202e ..")). ("Mih" . │ │ │ +000391d0: 2028 22e2 848e 2229 290a 2020 2822 4d69 ("...")). ("Mi │ │ │ +000391e0: 6922 202e 2028 22f0 9d91 9622 2929 0a20 i" . ("....")). │ │ │ +000391f0: 2028 224d 696a 2220 2e20 2822 f09d 9197 ("Mij" . (".... │ │ │ +00039200: 2229 290a 2020 2822 4d69 6b22 202e 2028 ")). ("Mik" . ( │ │ │ +00039210: 22f0 9d91 9822 2929 0a20 2028 224d 696c "....")). ("Mil │ │ │ +00039220: 2220 2e20 2822 f09d 9199 2229 290a 2020 " . ("....")). │ │ │ +00039230: 2822 4d69 6d22 202e 2028 22f0 9d91 9a22 ("Mim" . ("...." │ │ │ +00039240: 2929 0a20 2028 224d 696e 2220 2e20 2822 )). ("Min" . (" │ │ │ +00039250: f09d 919b 2229 290a 2020 2822 4d69 6f22 ....")). ("Mio" │ │ │ +00039260: 202e 2028 22f0 9d91 9c22 2929 0a20 2028 . ("....")). ( │ │ │ +00039270: 224d 6970 2220 2e20 2822 f09d 919d 2229 "Mip" . ("....") │ │ │ +00039280: 290a 2020 2822 4d69 7122 202e 2028 22f0 ). ("Miq" . (". │ │ │ +00039290: 9d91 9e22 2929 0a20 2028 224d 6972 2220 ...")). ("Mir" │ │ │ +000392a0: 2e20 2822 f09d 919f 2229 290a 2020 2822 . ("....")). (" │ │ │ +000392b0: 4d69 7322 202e 2028 22f0 9d91 a022 2929 Mis" . ("....")) │ │ │ +000392c0: 0a20 2028 224d 6974 2220 2e20 2822 f09d . ("Mit" . (".. │ │ │ +000392d0: 91a1 2229 290a 2020 2822 4d69 7522 202e ..")). ("Miu" . │ │ │ +000392e0: 2028 22f0 9d91 a222 2929 0a20 2028 224d ("....")). ("M │ │ │ +000392f0: 6976 2220 2e20 2822 f09d 91a3 2229 290a iv" . ("....")). │ │ │ +00039300: 2020 2822 4d69 7722 202e 2028 22f0 9d91 ("Miw" . ("... │ │ │ +00039310: a422 2929 0a20 2028 224d 6978 2220 2e20 .")). ("Mix" . │ │ │ +00039320: 2822 f09d 91a5 2229 290a 2020 2822 4d69 ("....")). ("Mi │ │ │ +00039330: 7922 202e 2028 22f0 9d91 a622 2929 0a20 y" . ("....")). │ │ │ +00039340: 2028 224d 697a 2220 2e20 2822 f09d 91a7 ("Miz" . (".... │ │ │ +00039350: 2229 290a 0a20 2028 224d 4941 2220 2e20 ")).. ("MIA" . │ │ │ +00039360: 2822 f09d 91a8 2229 290a 2020 2822 4d49 ("....")). ("MI │ │ │ +00039370: 4222 202e 2028 22f0 9d91 a922 2929 0a20 B" . ("....")). │ │ │ +00039380: 2028 224d 4943 2220 2e20 2822 f09d 91aa ("MIC" . (".... │ │ │ +00039390: 2229 290a 2020 2822 4d49 4422 202e 2028 ")). ("MID" . ( │ │ │ +000393a0: 22f0 9d91 ab22 2929 0a20 2028 224d 4945 "....")). ("MIE │ │ │ +000393b0: 2220 2e20 2822 f09d 91ac 2229 290a 2020 " . ("....")). │ │ │ +000393c0: 2822 4d49 4622 202e 2028 22f0 9d91 ad22 ("MIF" . ("...." │ │ │ +000393d0: 2929 0a20 2028 224d 4947 2220 2e20 2822 )). ("MIG" . (" │ │ │ +000393e0: f09d 91ae 2229 290a 2020 2822 4d49 4822 ....")). ("MIH" │ │ │ +000393f0: 202e 2028 22f0 9d91 af22 2929 0a20 2028 . ("....")). ( │ │ │ +00039400: 224d 4949 2220 2e20 2822 f09d 91b0 2229 "MII" . ("....") │ │ │ +00039410: 290a 2020 2822 4d49 4a22 202e 2028 22f0 ). ("MIJ" . (". │ │ │ +00039420: 9d91 b122 2929 0a20 2028 224d 494b 2220 ...")). ("MIK" │ │ │ +00039430: 2e20 2822 f09d 91b2 2229 290a 2020 2822 . ("....")). (" │ │ │ +00039440: 4d49 4c22 202e 2028 22f0 9d91 b322 2929 MIL" . ("....")) │ │ │ +00039450: 0a20 2028 224d 494d 2220 2e20 2822 f09d . ("MIM" . (".. │ │ │ +00039460: 91b4 2229 290a 2020 2822 4d49 4e22 202e ..")). ("MIN" . │ │ │ +00039470: 2028 22f0 9d91 b522 2929 0a20 2028 224d ("....")). ("M │ │ │ +00039480: 494f 2220 2e20 2822 f09d 91b6 2229 290a IO" . ("....")). │ │ │ +00039490: 2020 2822 4d49 5022 202e 2028 22f0 9d91 ("MIP" . ("... │ │ │ +000394a0: b722 2929 0a20 2028 224d 4951 2220 2e20 .")). ("MIQ" . │ │ │ +000394b0: 2822 f09d 91b8 2229 290a 2020 2822 4d49 ("....")). ("MI │ │ │ +000394c0: 5222 202e 2028 22f0 9d91 b922 2929 0a20 R" . ("....")). │ │ │ +000394d0: 2028 224d 4953 2220 2e20 2822 f09d 91ba ("MIS" . (".... │ │ │ +000394e0: 2229 290a 2020 2822 4d49 5422 202e 2028 ")). ("MIT" . ( │ │ │ +000394f0: 22f0 9d91 bb22 2929 0a20 2028 224d 4955 "....")). ("MIU │ │ │ +00039500: 2220 2e20 2822 f09d 91bc 2229 290a 2020 " . ("....")). │ │ │ +00039510: 2822 4d49 5622 202e 2028 22f0 9d91 bd22 ("MIV" . ("...." │ │ │ +00039520: 2929 0a20 2028 224d 4957 2220 2e20 2822 )). ("MIW" . (" │ │ │ +00039530: f09d 91be 2229 290a 2020 2822 4d49 5822 ....")). ("MIX" │ │ │ +00039540: 202e 2028 22f0 9d91 bf22 2929 0a20 2028 . ("....")). ( │ │ │ +00039550: 224d 4959 2220 2e20 2822 f09d 9280 2229 "MIY" . ("....") │ │ │ +00039560: 290a 2020 2822 4d49 5a22 202e 2028 22f0 ). ("MIZ" . (". │ │ │ +00039570: 9d92 8122 2929 0a0a 2020 2822 4d49 6122 ...")).. ("MIa" │ │ │ +00039580: 202e 2028 22f0 9d92 8222 2929 0a20 2028 . ("....")). ( │ │ │ +00039590: 224d 4962 2220 2e20 2822 f09d 9283 2229 "MIb" . ("....") │ │ │ +000395a0: 290a 2020 2822 4d49 6322 202e 2028 22f0 ). ("MIc" . (". │ │ │ +000395b0: 9d92 8422 2929 0a20 2028 224d 4964 2220 ...")). ("MId" │ │ │ +000395c0: 2e20 2822 f09d 9285 2229 290a 2020 2822 . ("....")). (" │ │ │ +000395d0: 4d49 6522 202e 2028 22f0 9d92 8622 2929 MIe" . ("....")) │ │ │ +000395e0: 0a20 2028 224d 4966 2220 2e20 2822 f09d . ("MIf" . (".. │ │ │ +000395f0: 9287 2229 290a 2020 2822 4d49 6722 202e ..")). ("MIg" . │ │ │ +00039600: 2028 22f0 9d92 8822 2929 0a20 2028 224d ("....")). ("M │ │ │ +00039610: 4968 2220 2e20 2822 f09d 9289 2229 290a Ih" . ("....")). │ │ │ +00039620: 2020 2822 4d49 6922 202e 2028 22f0 9d92 ("MIi" . ("... │ │ │ +00039630: 8a22 2929 0a20 2028 224d 496a 2220 2e20 .")). ("MIj" . │ │ │ +00039640: 2822 f09d 928b 2229 290a 2020 2822 4d49 ("....")). ("MI │ │ │ +00039650: 6b22 202e 2028 22f0 9d92 8c22 2929 0a20 k" . ("....")). │ │ │ +00039660: 2028 224d 496c 2220 2e20 2822 f09d 928d ("MIl" . (".... │ │ │ +00039670: 2229 290a 2020 2822 4d49 6d22 202e 2028 ")). ("MIm" . ( │ │ │ +00039680: 22f0 9d92 8e22 2929 0a20 2028 224d 496e "....")). ("MIn │ │ │ +00039690: 2220 2e20 2822 f09d 928f 2229 290a 2020 " . ("....")). │ │ │ +000396a0: 2822 4d49 6f22 202e 2028 22f0 9d92 9022 ("MIo" . ("...." │ │ │ +000396b0: 2929 0a20 2028 224d 4970 2220 2e20 2822 )). ("MIp" . (" │ │ │ +000396c0: f09d 9291 2229 290a 2020 2822 4d49 7122 ....")). ("MIq" │ │ │ +000396d0: 202e 2028 22f0 9d92 9222 2929 0a20 2028 . ("....")). ( │ │ │ +000396e0: 224d 4972 2220 2e20 2822 f09d 9293 2229 "MIr" . ("....") │ │ │ +000396f0: 290a 2020 2822 4d49 7322 202e 2028 22f0 ). ("MIs" . (". │ │ │ +00039700: 9d92 9422 2929 0a20 2028 224d 4974 2220 ...")). ("MIt" │ │ │ +00039710: 2e20 2822 f09d 9295 2229 290a 2020 2822 . ("....")). (" │ │ │ +00039720: 4d49 7522 202e 2028 22f0 9d92 9622 2929 MIu" . ("....")) │ │ │ +00039730: 0a20 2028 224d 4976 2220 2e20 2822 f09d . ("MIv" . (".. │ │ │ +00039740: 9297 2229 290a 2020 2822 4d49 7722 202e ..")). ("MIw" . │ │ │ +00039750: 2028 22f0 9d92 9822 2929 0a20 2028 224d ("....")). ("M │ │ │ +00039760: 4978 2220 2e20 2822 f09d 9299 2229 290a Ix" . ("....")). │ │ │ +00039770: 2020 2822 4d49 7922 202e 2028 22f0 9d92 ("MIy" . ("... │ │ │ +00039780: 9a22 2929 0a20 2028 224d 497a 2220 2e20 .")). ("MIz" . │ │ │ +00039790: 2822 f09d 929b 2229 290a 0a20 2028 224d ("....")).. ("M │ │ │ +000397a0: 6341 2220 2e20 2822 f09d 929c 2229 290a cA" . ("....")). │ │ │ +000397b0: 2020 2822 4d63 4222 202e 2028 22e2 84ac ("McB" . ("... │ │ │ +000397c0: 2229 290a 2020 2822 4d63 4322 202e 2028 ")). ("McC" . ( │ │ │ +000397d0: 22f0 9d92 9e22 2929 0a20 2028 224d 6344 "....")). ("McD │ │ │ +000397e0: 2220 2e20 2822 f09d 929f 2229 290a 2020 " . ("....")). │ │ │ +000397f0: 2822 4d63 4522 202e 2028 22e2 84b0 2229 ("McE" . ("...") │ │ │ +00039800: 290a 2020 2822 4d63 4622 202e 2028 22e2 ). ("McF" . (". │ │ │ +00039810: 84b1 2229 290a 2020 2822 4d63 4722 202e ..")). ("McG" . │ │ │ +00039820: 2028 22f0 9d92 a222 2929 0a20 2028 224d ("....")). ("M │ │ │ +00039830: 6348 2220 2e20 2822 e284 8b22 2929 0a20 cH" . ("...")). │ │ │ +00039840: 2028 224d 6349 2220 2e20 2822 e284 9022 ("McI" . ("..." │ │ │ +00039850: 2929 0a20 2028 224d 634a 2220 2e20 2822 )). ("McJ" . (" │ │ │ +00039860: f09d 92a5 2229 290a 2020 2822 4d63 4b22 ....")). ("McK" │ │ │ +00039870: 202e 2028 22f0 9d92 a622 2929 0a20 2028 . ("....")). ( │ │ │ +00039880: 224d 634c 2220 2e20 2822 e284 9222 2929 "McL" . ("...")) │ │ │ +00039890: 0a20 2028 224d 634d 2220 2e20 2822 e284 . ("McM" . (".. │ │ │ +000398a0: b322 2929 0a20 2028 224d 634e 2220 2e20 .")). ("McN" . │ │ │ +000398b0: 2822 f09d 92a9 2229 290a 2020 2822 4d63 ("....")). ("Mc │ │ │ +000398c0: 4f22 202e 2028 22f0 9d92 aa22 2929 0a20 O" . ("....")). │ │ │ +000398d0: 2028 224d 6350 2220 2e20 2822 f09d 92ab ("McP" . (".... │ │ │ +000398e0: 2229 290a 2020 2822 4d63 5122 202e 2028 ")). ("McQ" . ( │ │ │ +000398f0: 22f0 9d92 ac22 2929 0a20 2028 224d 6352 "....")). ("McR │ │ │ +00039900: 2220 2e20 2822 e284 9b22 2929 0a20 2028 " . ("...")). ( │ │ │ +00039910: 224d 6353 2220 2e20 2822 f09d 92ae 2229 "McS" . ("....") │ │ │ +00039920: 290a 2020 2822 4d63 5422 202e 2028 22f0 ). ("McT" . (". │ │ │ +00039930: 9d92 af22 2929 0a20 2028 224d 6355 2220 ...")). ("McU" │ │ │ +00039940: 2e20 2822 f09d 92b0 2229 290a 2020 2822 . ("....")). (" │ │ │ +00039950: 4d63 5622 202e 2028 22f0 9d92 b122 2929 McV" . ("....")) │ │ │ +00039960: 0a20 2028 224d 6357 2220 2e20 2822 f09d . ("McW" . (".. │ │ │ +00039970: 92b2 2229 290a 2020 2822 4d63 5822 202e ..")). ("McX" . │ │ │ +00039980: 2028 22f0 9d92 b322 2929 0a20 2028 224d ("....")). ("M │ │ │ +00039990: 6359 2220 2e20 2822 f09d 92b4 2229 290a cY" . ("....")). │ │ │ +000399a0: 2020 2822 4d63 5a22 202e 2028 22f0 9d92 ("McZ" . ("... │ │ │ +000399b0: b522 2929 0a20 2028 224d 6361 2220 2e20 .")). ("Mca" . │ │ │ +000399c0: 2822 f09d 92b6 2229 290a 2020 2822 4d63 ("....")). ("Mc │ │ │ +000399d0: 6222 202e 2028 22f0 9d92 b722 2929 0a20 b" . ("....")). │ │ │ +000399e0: 2028 224d 6363 2220 2e20 2822 f09d 92b8 ("Mcc" . (".... │ │ │ +000399f0: 2229 290a 2020 2822 4d63 6422 202e 2028 ")). ("Mcd" . ( │ │ │ +00039a00: 22f0 9d92 b922 2929 0a20 2028 224d 6365 "....")). ("Mce │ │ │ +00039a10: 2220 2e20 2822 e284 af22 2929 0a20 2028 " . ("...")). ( │ │ │ +00039a20: 224d 6366 2220 2e20 2822 f09d 92bb 2229 "Mcf" . ("....") │ │ │ +00039a30: 290a 2020 2822 4d63 6722 202e 2028 22e2 ). ("Mcg" . (". │ │ │ +00039a40: 848a 2229 290a 2020 2822 4d63 6822 202e ..")). ("Mch" . │ │ │ +00039a50: 2028 22f0 9d92 bd22 2929 0a20 2028 224d ("....")). ("M │ │ │ +00039a60: 6369 2220 2e20 2822 f09d 92be 2229 290a ci" . ("....")). │ │ │ +00039a70: 2020 2822 4d63 6a22 202e 2028 22f0 9d92 ("Mcj" . ("... │ │ │ +00039a80: bf22 2929 0a20 2028 224d 636b 2220 2e20 .")). ("Mck" . │ │ │ +00039a90: 2822 f09d 9380 2229 290a 2020 2822 4d63 ("....")). ("Mc │ │ │ +00039aa0: 6c22 202e 2028 22f0 9d93 8122 2929 0a20 l" . ("....")). │ │ │ +00039ab0: 2028 224d 636d 2220 2e20 2822 f09d 9382 ("Mcm" . (".... │ │ │ +00039ac0: 2229 290a 2020 2822 4d63 6e22 202e 2028 ")). ("Mcn" . ( │ │ │ +00039ad0: 22f0 9d93 8322 2929 0a20 2028 224d 636f "....")). ("Mco │ │ │ +00039ae0: 2220 2e20 2822 e284 b422 2929 0a20 2028 " . ("...")). ( │ │ │ +00039af0: 224d 6370 2220 2e20 2822 f09d 9385 2229 "Mcp" . ("....") │ │ │ +00039b00: 290a 2020 2822 4d63 7122 202e 2028 22f0 ). ("Mcq" . (". │ │ │ +00039b10: 9d93 8622 2929 0a20 2028 224d 6372 2220 ...")). ("Mcr" │ │ │ +00039b20: 2e20 2822 f09d 9387 2229 290a 2020 2822 . ("....")). (" │ │ │ +00039b30: 4d63 7322 202e 2028 22f0 9d93 8822 2929 Mcs" . ("....")) │ │ │ +00039b40: 0a20 2028 224d 6374 2220 2e20 2822 f09d . ("Mct" . (".. │ │ │ +00039b50: 9389 2229 290a 2020 2822 4d63 7522 202e ..")). ("Mcu" . │ │ │ +00039b60: 2028 22f0 9d93 8a22 2929 0a20 2028 224d ("....")). ("M │ │ │ +00039b70: 6376 2220 2e20 2822 f09d 938b 2229 290a cv" . ("....")). │ │ │ +00039b80: 2020 2822 4d63 7722 202e 2028 22f0 9d93 ("Mcw" . ("... │ │ │ +00039b90: 8c22 2929 0a20 2028 224d 6378 2220 2e20 .")). ("Mcx" . │ │ │ +00039ba0: 2822 f09d 938d 2229 290a 2020 2822 4d63 ("....")). ("Mc │ │ │ +00039bb0: 7922 202e 2028 22f0 9d93 8e22 2929 0a20 y" . ("....")). │ │ │ +00039bc0: 2028 224d 637a 2220 2e20 2822 f09d 938f ("Mcz" . (".... │ │ │ +00039bd0: 2229 290a 0a20 2028 224d 4341 2220 2e20 ")).. ("MCA" . │ │ │ +00039be0: 2822 f09d 9390 2229 290a 2020 2822 4d43 ("....")). ("MC │ │ │ +00039bf0: 4222 202e 2028 22f0 9d93 9122 2929 0a20 B" . ("....")). │ │ │ +00039c00: 2028 224d 4343 2220 2e20 2822 f09d 9392 ("MCC" . (".... │ │ │ +00039c10: 2229 290a 2020 2822 4d43 4422 202e 2028 ")). ("MCD" . ( │ │ │ +00039c20: 22f0 9d93 9322 2929 0a20 2028 224d 4345 "....")). ("MCE │ │ │ +00039c30: 2220 2e20 2822 f09d 9394 2229 290a 2020 " . ("....")). │ │ │ +00039c40: 2822 4d43 4622 202e 2028 22f0 9d93 9522 ("MCF" . ("...." │ │ │ +00039c50: 2929 0a20 2028 224d 4347 2220 2e20 2822 )). ("MCG" . (" │ │ │ +00039c60: f09d 9396 2229 290a 2020 2822 4d43 4822 ....")). ("MCH" │ │ │ +00039c70: 202e 2028 22f0 9d93 9722 2929 0a20 2028 . ("....")). ( │ │ │ +00039c80: 224d 4349 2220 2e20 2822 f09d 9398 2229 "MCI" . ("....") │ │ │ +00039c90: 290a 2020 2822 4d43 4a22 202e 2028 22f0 ). ("MCJ" . (". │ │ │ +00039ca0: 9d93 9922 2929 0a20 2028 224d 434b 2220 ...")). ("MCK" │ │ │ +00039cb0: 2e20 2822 f09d 939a 2229 290a 2020 2822 . ("....")). (" │ │ │ +00039cc0: 4d43 4c22 202e 2028 22f0 9d93 9b22 2929 MCL" . ("....")) │ │ │ +00039cd0: 0a20 2028 224d 434d 2220 2e20 2822 f09d . ("MCM" . (".. │ │ │ +00039ce0: 939c 2229 290a 2020 2822 4d43 4e22 202e ..")). ("MCN" . │ │ │ +00039cf0: 2028 22f0 9d93 9d22 2929 0a20 2028 224d ("....")). ("M │ │ │ +00039d00: 434f 2220 2e20 2822 f09d 939e 2229 290a CO" . ("....")). │ │ │ +00039d10: 2020 2822 4d43 5022 202e 2028 22f0 9d93 ("MCP" . ("... │ │ │ +00039d20: 9f22 2929 0a20 2028 224d 4351 2220 2e20 .")). ("MCQ" . │ │ │ +00039d30: 2822 f09d 93a0 2229 290a 2020 2822 4d43 ("....")). ("MC │ │ │ +00039d40: 5222 202e 2028 22f0 9d93 a122 2929 0a20 R" . ("....")). │ │ │ +00039d50: 2028 224d 4353 2220 2e20 2822 f09d 93a2 ("MCS" . (".... │ │ │ +00039d60: 2229 290a 2020 2822 4d43 5422 202e 2028 ")). ("MCT" . ( │ │ │ +00039d70: 22f0 9d93 a322 2929 0a20 2028 224d 4355 "....")). ("MCU │ │ │ +00039d80: 2220 2e20 2822 f09d 93a4 2229 290a 2020 " . ("....")). │ │ │ +00039d90: 2822 4d43 5622 202e 2028 22f0 9d93 a522 ("MCV" . ("...." │ │ │ +00039da0: 2929 0a20 2028 224d 4357 2220 2e20 2822 )). ("MCW" . (" │ │ │ +00039db0: f09d 93a6 2229 290a 2020 2822 4d43 5822 ....")). ("MCX" │ │ │ +00039dc0: 202e 2028 22f0 9d93 a722 2929 0a20 2028 . ("....")). ( │ │ │ +00039dd0: 224d 4359 2220 2e20 2822 f09d 93a8 2229 "MCY" . ("....") │ │ │ +00039de0: 290a 2020 2822 4d43 5a22 202e 2028 22f0 ). ("MCZ" . (". │ │ │ +00039df0: 9d93 a922 2929 0a20 2028 224d 4361 2220 ...")). ("MCa" │ │ │ +00039e00: 2e20 2822 f09d 93aa 2229 290a 2020 2822 . ("....")). (" │ │ │ +00039e10: 4d43 6222 202e 2028 22f0 9d93 ab22 2929 MCb" . ("....")) │ │ │ +00039e20: 0a20 2028 224d 4363 2220 2e20 2822 f09d . ("MCc" . (".. │ │ │ +00039e30: 93ac 2229 290a 2020 2822 4d43 6422 202e ..")). ("MCd" . │ │ │ +00039e40: 2028 22f0 9d93 ad22 2929 0a20 2028 224d ("....")). ("M │ │ │ +00039e50: 4365 2220 2e20 2822 f09d 93ae 2229 290a Ce" . ("....")). │ │ │ +00039e60: 2020 2822 4d43 6622 202e 2028 22f0 9d93 ("MCf" . ("... │ │ │ +00039e70: af22 2929 0a20 2028 224d 4367 2220 2e20 .")). ("MCg" . │ │ │ +00039e80: 2822 f09d 93b0 2229 290a 2020 2822 4d43 ("....")). ("MC │ │ │ +00039e90: 6822 202e 2028 22f0 9d93 b122 2929 0a20 h" . ("....")). │ │ │ +00039ea0: 2028 224d 4369 2220 2e20 2822 f09d 93b2 ("MCi" . (".... │ │ │ +00039eb0: 2229 290a 2020 2822 4d43 6a22 202e 2028 ")). ("MCj" . ( │ │ │ +00039ec0: 22f0 9d93 b322 2929 0a20 2028 224d 436b "....")). ("MCk │ │ │ +00039ed0: 2220 2e20 2822 f09d 93b4 2229 290a 2020 " . ("....")). │ │ │ +00039ee0: 2822 4d43 6c22 202e 2028 22f0 9d93 b522 ("MCl" . ("...." │ │ │ +00039ef0: 2929 0a20 2028 224d 436d 2220 2e20 2822 )). ("MCm" . (" │ │ │ +00039f00: f09d 93b6 2229 290a 2020 2822 4d43 6e22 ....")). ("MCn" │ │ │ +00039f10: 202e 2028 22f0 9d93 b722 2929 0a20 2028 . ("....")). ( │ │ │ +00039f20: 224d 436f 2220 2e20 2822 f09d 93b8 2229 "MCo" . ("....") │ │ │ +00039f30: 290a 2020 2822 4d43 7022 202e 2028 22f0 ). ("MCp" . (". │ │ │ +00039f40: 9d93 b922 2929 0a20 2028 224d 4371 2220 ...")). ("MCq" │ │ │ +00039f50: 2e20 2822 f09d 93ba 2229 290a 2020 2822 . ("....")). (" │ │ │ +00039f60: 4d43 7222 202e 2028 22f0 9d93 bb22 2929 MCr" . ("....")) │ │ │ +00039f70: 0a20 2028 224d 4373 2220 2e20 2822 f09d . ("MCs" . (".. │ │ │ +00039f80: 93bc 2229 290a 2020 2822 4d43 7422 202e ..")). ("MCt" . │ │ │ +00039f90: 2028 22f0 9d93 bd22 2929 0a20 2028 224d ("....")). ("M │ │ │ +00039fa0: 4375 2220 2e20 2822 f09d 93be 2229 290a Cu" . ("....")). │ │ │ +00039fb0: 2020 2822 4d43 7622 202e 2028 22f0 9d93 ("MCv" . ("... │ │ │ +00039fc0: bf22 2929 0a20 2028 224d 4377 2220 2e20 .")). ("MCw" . │ │ │ +00039fd0: 2822 f09d 9480 2229 290a 2020 2822 4d43 ("....")). ("MC │ │ │ +00039fe0: 7822 202e 2028 22f0 9d94 8122 2929 0a20 x" . ("....")). │ │ │ +00039ff0: 2028 224d 4379 2220 2e20 2822 f09d 9482 ("MCy" . (".... │ │ │ +0003a000: 2229 290a 2020 2822 4d43 7a22 202e 2028 ")). ("MCz" . ( │ │ │ +0003a010: 22f0 9d94 8322 2929 0a0a 2020 2822 4d66 "....")).. ("Mf │ │ │ +0003a020: 4122 202e 2028 22f0 9d94 8422 2929 0a20 A" . ("....")). │ │ │ +0003a030: 2028 224d 6642 2220 2e20 2822 f09d 9485 ("MfB" . (".... │ │ │ +0003a040: 2229 290a 2020 2822 4d66 4322 202e 2028 ")). ("MfC" . ( │ │ │ +0003a050: 22e2 84ad 2229 290a 2020 2822 4d66 4422 "...")). ("MfD" │ │ │ +0003a060: 202e 2028 22f0 9d94 8722 2929 0a20 2028 . ("....")). ( │ │ │ +0003a070: 224d 6645 2220 2e20 2822 f09d 9488 2229 "MfE" . ("....") │ │ │ +0003a080: 290a 2020 2822 4d66 4622 202e 2028 22f0 ). ("MfF" . (". │ │ │ +0003a090: 9d94 8922 2929 0a20 2028 224d 6647 2220 ...")). ("MfG" │ │ │ +0003a0a0: 2e20 2822 f09d 948a 2229 290a 2020 2822 . ("....")). (" │ │ │ +0003a0b0: 4d66 4822 202e 2028 22e2 848c 2229 290a MfH" . ("...")). │ │ │ +0003a0c0: 2020 2822 4d66 4922 202e 2028 22e2 8491 ("MfI" . ("... │ │ │ +0003a0d0: 2229 290a 2020 2822 4d66 4a22 202e 2028 ")). ("MfJ" . ( │ │ │ +0003a0e0: 22f0 9d94 8d22 2929 0a20 2028 224d 664b "....")). ("MfK │ │ │ +0003a0f0: 2220 2e20 2822 f09d 948e 2229 290a 2020 " . ("....")). │ │ │ +0003a100: 2822 4d66 4c22 202e 2028 22f0 9d94 8f22 ("MfL" . ("...." │ │ │ +0003a110: 2929 0a20 2028 224d 664d 2220 2e20 2822 )). ("MfM" . (" │ │ │ +0003a120: f09d 9490 2229 290a 2020 2822 4d66 4e22 ....")). ("MfN" │ │ │ +0003a130: 202e 2028 22f0 9d94 9122 2929 0a20 2028 . ("....")). ( │ │ │ +0003a140: 224d 664f 2220 2e20 2822 f09d 9492 2229 "MfO" . ("....") │ │ │ +0003a150: 290a 2020 2822 4d66 5022 202e 2028 22f0 ). ("MfP" . (". │ │ │ +0003a160: 9d94 9322 2929 0a20 2028 224d 6651 2220 ...")). ("MfQ" │ │ │ +0003a170: 2e20 2822 f09d 9494 2229 290a 2020 2822 . ("....")). (" │ │ │ +0003a180: 4d66 5222 202e 2028 22e2 849c 2229 290a MfR" . ("...")). │ │ │ +0003a190: 2020 2822 4d66 5322 202e 2028 22f0 9d94 ("MfS" . ("... │ │ │ +0003a1a0: 9622 2929 0a20 2028 224d 6654 2220 2e20 .")). ("MfT" . │ │ │ +0003a1b0: 2822 f09d 9497 2229 290a 2020 2822 4d66 ("....")). ("Mf │ │ │ +0003a1c0: 5522 202e 2028 22f0 9d94 9822 2929 0a20 U" . ("....")). │ │ │ +0003a1d0: 2028 224d 6656 2220 2e20 2822 f09d 9499 ("MfV" . (".... │ │ │ +0003a1e0: 2229 290a 2020 2822 4d66 5722 202e 2028 ")). ("MfW" . ( │ │ │ +0003a1f0: 22f0 9d94 9a22 2929 0a20 2028 224d 6658 "....")). ("MfX │ │ │ +0003a200: 2220 2e20 2822 f09d 949b 2229 290a 2020 " . ("....")). │ │ │ +0003a210: 2822 4d66 5922 202e 2028 22f0 9d94 9c22 ("MfY" . ("...." │ │ │ +0003a220: 2929 0a20 2028 224d 665a 2220 2e20 2822 )). ("MfZ" . (" │ │ │ +0003a230: e284 a822 2929 0a20 2028 224d 6661 2220 ...")). ("Mfa" │ │ │ +0003a240: 2e20 2822 f09d 949e 2229 290a 2020 2822 . ("....")). (" │ │ │ +0003a250: 4d66 6222 202e 2028 22f0 9d94 9f22 2929 Mfb" . ("....")) │ │ │ +0003a260: 0a20 2028 224d 6663 2220 2e20 2822 f09d . ("Mfc" . (".. │ │ │ +0003a270: 94a0 2229 290a 2020 2822 4d66 6422 202e ..")). ("Mfd" . │ │ │ +0003a280: 2028 22f0 9d94 a122 2929 0a20 2028 224d ("....")). ("M │ │ │ +0003a290: 6665 2220 2e20 2822 f09d 94a2 2229 290a fe" . ("....")). │ │ │ +0003a2a0: 2020 2822 4d66 6622 202e 2028 22f0 9d94 ("Mff" . ("... │ │ │ +0003a2b0: a322 2929 0a20 2028 224d 6667 2220 2e20 .")). ("Mfg" . │ │ │ +0003a2c0: 2822 f09d 94a4 2229 290a 2020 2822 4d66 ("....")). ("Mf │ │ │ +0003a2d0: 6822 202e 2028 22f0 9d94 a522 2929 0a20 h" . ("....")). │ │ │ +0003a2e0: 2028 224d 6669 2220 2e20 2822 f09d 94a6 ("Mfi" . (".... │ │ │ +0003a2f0: 2229 290a 2020 2822 4d66 6a22 202e 2028 ")). ("Mfj" . ( │ │ │ +0003a300: 22f0 9d94 a722 2929 0a20 2028 224d 666b "....")). ("Mfk │ │ │ +0003a310: 2220 2e20 2822 f09d 94a8 2229 290a 2020 " . ("....")). │ │ │ +0003a320: 2822 4d66 6c22 202e 2028 22f0 9d94 a922 ("Mfl" . ("...." │ │ │ +0003a330: 2929 0a20 2028 224d 666d 2220 2e20 2822 )). ("Mfm" . (" │ │ │ +0003a340: f09d 94aa 2229 290a 2020 2822 4d66 6e22 ....")). ("Mfn" │ │ │ +0003a350: 202e 2028 22f0 9d94 ab22 2929 0a20 2028 . ("....")). ( │ │ │ +0003a360: 224d 666f 2220 2e20 2822 f09d 94ac 2229 "Mfo" . ("....") │ │ │ +0003a370: 290a 2020 2822 4d66 7022 202e 2028 22f0 ). ("Mfp" . (". │ │ │ +0003a380: 9d94 ad22 2929 0a20 2028 224d 6671 2220 ...")). ("Mfq" │ │ │ +0003a390: 2e20 2822 f09d 94ae 2229 290a 2020 2822 . ("....")). (" │ │ │ +0003a3a0: 4d66 7222 202e 2028 22f0 9d94 af22 2929 Mfr" . ("....")) │ │ │ +0003a3b0: 0a20 2028 224d 6673 2220 2e20 2822 f09d . ("Mfs" . (".. │ │ │ +0003a3c0: 94b0 2229 290a 2020 2822 4d66 7422 202e ..")). ("Mft" . │ │ │ +0003a3d0: 2028 22f0 9d94 b122 2929 0a20 2028 224d ("....")). ("M │ │ │ +0003a3e0: 6675 2220 2e20 2822 f09d 94b2 2229 290a fu" . ("....")). │ │ │ +0003a3f0: 2020 2822 4d66 7622 202e 2028 22f0 9d94 ("Mfv" . ("... │ │ │ +0003a400: b322 2929 0a20 2028 224d 6677 2220 2e20 .")). ("Mfw" . │ │ │ +0003a410: 2822 f09d 94b4 2229 290a 2020 2822 4d66 ("....")). ("Mf │ │ │ +0003a420: 7822 202e 2028 22f0 9d94 b522 2929 0a20 x" . ("....")). │ │ │ +0003a430: 2028 224d 6679 2220 2e20 2822 f09d 94b6 ("Mfy" . (".... │ │ │ +0003a440: 2229 290a 2020 2822 4d66 7a22 202e 2028 ")). ("Mfz" . ( │ │ │ +0003a450: 22f0 9d94 b722 2929 0a0a 2020 3b3b 2028 "....")).. ;; ( │ │ │ +0003a460: 5375 6220 2f20 5375 7065 7229 2073 6372 Sub / Super) scr │ │ │ +0003a470: 6970 7473 2e0a 2020 3b3b 0a20 203b 3b20 ipts.. ;;. ;; │ │ │ +0003a480: 556e 6963 6f64 6520 3132 2e31 206f 6d69 Unicode 12.1 omi │ │ │ +0003a490: 7473 2073 6576 6572 616c 206c 6174 696e ts several latin │ │ │ +0003a4a0: 2063 6861 7261 6374 6572 7320 6672 6f6d characters from │ │ │ +0003a4b0: 2073 7562 2f73 7570 6572 7363 7269 7074 sub/superscript │ │ │ +0003a4c0: 2e0a 2020 3b3b 2068 7474 7073 3a2f 2f77 .. ;; https://w │ │ │ +0003a4d0: 7777 2e71 756f 7261 2e63 6f6d 2f57 6879 ww.quora.com/Why │ │ │ +0003a4e0: 2d69 732d 7468 6572 652d 6e6f 2d63 6861 -is-there-no-cha │ │ │ +0003a4f0: 7261 6374 6572 2d66 6f72 2d73 7570 6572 racter-for-super │ │ │ +0003a500: 7363 7269 7074 2d71 2d69 6e2d 556e 6963 script-q-in-Unic │ │ │ +0003a510: 6f64 650a 2020 3b3b 0a20 203b 3b20 5065 ode. ;;. ;; Pe │ │ │ +0003a520: 7268 6170 7320 7468 6579 2077 696c 6c20 rhaps they will │ │ │ +0003a530: 6265 2061 6464 6564 2069 6e20 6675 7475 be added in futu │ │ │ +0003a540: 7265 2076 6572 7369 6f6e 732c 2068 6f77 re versions, how │ │ │ +0003a550: 6576 6572 2074 6865 7265 2061 7265 206e ever there are n │ │ │ +0003a560: 6f0a 2020 3b3b 2070 726f 706f 7361 6c73 o. ;; proposals │ │ │ +0003a570: 2066 6f72 2069 7420 6375 7272 656e 746c for it currentl │ │ │ +0003a580: 7920 696e 2074 6865 2070 6970 656c 696e y in the pipelin │ │ │ +0003a590: 653a 0a20 203b 3b20 6874 7470 733a 2f2f e:. ;; https:// │ │ │ +0003a5a0: 7777 772e 756e 6963 6f64 652e 6f72 672f www.unicode.org/ │ │ │ +0003a5b0: 616c 6c6f 632f 5069 7065 6c69 6e65 2e68 alloc/Pipeline.h │ │ │ +0003a5c0: 746d 6c0a 0a20 2028 225f 6122 202e 2028 tml.. ("_a" . ( │ │ │ +0003a5d0: 22e2 8290 2229 290a 2020 3b3b 2028 225f "...")). ;; ("_ │ │ │ +0003a5e0: 6222 202e 2028 2262 2229 290a 2020 3b3b b" . ("b")). ;; │ │ │ +0003a5f0: 2028 225f 6322 202e 2028 2263 2229 290a ("_c" . ("c")). │ │ │ +0003a600: 2020 3b3b 2028 225f 6422 202e 2028 2264 ;; ("_d" . ("d │ │ │ +0003a610: 2229 290a 2020 2822 5f65 2220 2e20 2822 ")). ("_e" . (" │ │ │ +0003a620: e282 9122 2929 0a20 203b 3b20 2822 5f66 ...")). ;; ("_f │ │ │ +0003a630: 2220 2e20 2822 6622 2929 0a20 203b 3b20 " . ("f")). ;; │ │ │ +0003a640: 2822 5f67 2220 2e20 2822 6722 2929 0a20 ("_g" . ("g")). │ │ │ +0003a650: 2028 225f 6822 202e 2028 22e2 8295 2229 ("_h" . ("...") │ │ │ +0003a660: 290a 2020 2822 5f69 2220 2e20 2822 e1b5 ). ("_i" . (".. │ │ │ +0003a670: a222 2929 0a20 2028 225f 6a22 202e 2028 .")). ("_j" . ( │ │ │ +0003a680: 22e2 b1bc 2229 290a 2020 2822 5f6b 2220 "...")). ("_k" │ │ │ +0003a690: 2e20 2822 e282 9622 2929 0a20 2028 225f . ("...")). ("_ │ │ │ +0003a6a0: 6c22 202e 2028 22e2 8297 2229 290a 2020 l" . ("...")). │ │ │ +0003a6b0: 2822 5f6d 2220 2e20 2822 e282 9822 2929 ("_m" . ("...")) │ │ │ +0003a6c0: 0a20 2028 225f 6e22 202e 2028 22e2 8299 . ("_n" . ("... │ │ │ +0003a6d0: 2229 290a 2020 2822 5f6f 2220 2e20 2822 ")). ("_o" . (" │ │ │ +0003a6e0: e282 9222 2929 0a20 2028 225f 7022 202e ...")). ("_p" . │ │ │ +0003a6f0: 2028 22e2 829a 2229 290a 2020 3b3b 2028 ("...")). ;; ( │ │ │ +0003a700: 225f 7122 202e 2028 2271 2229 290a 2020 "_q" . ("q")). │ │ │ +0003a710: 2822 5f72 2220 2e20 2822 e1b5 a322 2929 ("_r" . ("...")) │ │ │ +0003a720: 0a20 2028 225f 7322 202e 2028 22e2 829b . ("_s" . ("... │ │ │ +0003a730: 2229 290a 2020 2822 5f74 2220 2e20 2822 ")). ("_t" . (" │ │ │ +0003a740: e282 9c22 2929 0a20 2028 225f 7522 202e ...")). ("_u" . │ │ │ +0003a750: 2028 22e1 b5a4 2229 290a 2020 2822 5f76 ("...")). ("_v │ │ │ +0003a760: 2220 2e20 2822 e1b5 a522 2929 0a20 203b " . ("...")). ; │ │ │ +0003a770: 3b20 2822 5f77 2220 2e20 2822 7722 2929 ; ("_w" . ("w")) │ │ │ +0003a780: 0a20 2028 225f 7822 202e 2028 22e2 8293 . ("_x" . ("... │ │ │ +0003a790: 2229 290a 2020 3b3b 2028 225f 7922 202e ")). ;; ("_y" . │ │ │ +0003a7a0: 2028 2279 2229 290a 2020 3b3b 2028 225f ("y")). ;; ("_ │ │ │ +0003a7b0: 7a22 202e 2028 227a 2229 290a 0a20 2028 z" . ("z")).. ( │ │ │ +0003a7c0: 225f 4762 2220 2e20 2822 e1b5 a622 2929 "_Gb" . ("...")) │ │ │ +0003a7d0: 0a20 2028 225f 4767 2220 2e20 2822 e1b5 . ("_Gg" . (".. │ │ │ +0003a7e0: a722 2929 0a20 2028 225f 4772 2220 2e20 .")). ("_Gr" . │ │ │ +0003a7f0: 2822 e1b5 a822 2929 0a20 2028 225f 4766 ("...")). ("_Gf │ │ │ +0003a800: 2220 2e20 2822 e1b5 a922 2929 0a20 2028 " . ("...")). ( │ │ │ +0003a810: 225f 4763 2220 2e20 2822 e1b5 aa22 2929 "_Gc" . ("...")) │ │ │ +0003a820: 0a0a 2020 2822 5e61 2220 2e20 2822 e1b5 .. ("^a" . (".. │ │ │ +0003a830: 8322 2929 0a20 2028 225e 6222 202e 2028 .")). ("^b" . ( │ │ │ +0003a840: 22e1 b587 2229 290a 2020 2822 5e63 2220 "...")). ("^c" │ │ │ +0003a850: 2e20 2822 e1b6 9c22 2929 0a20 2028 225e . ("...")). ("^ │ │ │ +0003a860: 6422 202e 2028 22e1 b588 2229 290a 2020 d" . ("...")). │ │ │ +0003a870: 2822 5e65 2220 2e20 2822 e1b5 8922 2929 ("^e" . ("...")) │ │ │ +0003a880: 0a20 2028 225e 6622 202e 2028 22e1 b6a0 . ("^f" . ("... │ │ │ +0003a890: 2229 290a 2020 2822 5e67 2220 2e20 2822 ")). ("^g" . (" │ │ │ +0003a8a0: e1b5 8d22 2929 0a20 2028 225e 6822 202e ...")). ("^h" . │ │ │ +0003a8b0: 2028 22ca b022 2929 0a20 2028 225e 6922 ("..")). ("^i" │ │ │ +0003a8c0: 202e 2028 22e2 81b1 2229 290a 2020 2822 . ("...")). (" │ │ │ +0003a8d0: 5e6a 2220 2e20 2822 cab2 2229 290a 2020 ^j" . ("..")). │ │ │ +0003a8e0: 2822 5e6b 2220 2e20 2822 e1b5 8f22 2929 ("^k" . ("...")) │ │ │ +0003a8f0: 0a20 2028 225e 6c22 202e 2028 22cb a122 . ("^l" . (".." │ │ │ +0003a900: 2929 0a20 2028 225e 6d22 202e 2028 22e1 )). ("^m" . (". │ │ │ +0003a910: b590 2229 290a 2020 2822 5e6e 2220 2e20 ..")). ("^n" . │ │ │ +0003a920: 2822 e281 bf22 2929 0a20 2028 225e 6f22 ("...")). ("^o" │ │ │ +0003a930: 202e 2028 22e1 b592 2229 290a 2020 2822 . ("...")). (" │ │ │ +0003a940: 5e70 2220 2e20 2822 e1b5 9622 2929 0a20 ^p" . ("...")). │ │ │ +0003a950: 203b 3b20 2822 5e71 2220 2e20 2822 7122 ;; ("^q" . ("q" │ │ │ +0003a960: 2929 0a20 2028 225e 7222 202e 2028 22ca )). ("^r" . (". │ │ │ +0003a970: b322 2929 0a20 2028 225e 7322 202e 2028 .")). ("^s" . ( │ │ │ +0003a980: 22cb a222 2929 0a20 2028 225e 7422 202e "..")). ("^t" . │ │ │ +0003a990: 2028 22e1 b597 2229 290a 2020 2822 5e75 ("...")). ("^u │ │ │ +0003a9a0: 2220 2e20 2822 e1b5 9822 2929 0a20 2028 " . ("...")). ( │ │ │ +0003a9b0: 225e 7622 202e 2028 22e1 b59b 2229 290a "^v" . ("...")). │ │ │ +0003a9c0: 2020 2822 5e77 2220 2e20 2822 cab7 2229 ("^w" . ("..") │ │ │ +0003a9d0: 290a 2020 2822 5e78 2220 2e20 2822 cba3 ). ("^x" . (".. │ │ │ +0003a9e0: 2229 290a 2020 2822 5e79 2220 2e20 2822 ")). ("^y" . (" │ │ │ +0003a9f0: cab8 2229 290a 2020 2822 5e7a 2220 2e20 ..")). ("^z" . │ │ │ +0003aa00: 2822 e1b6 bb22 2929 0a0a 2020 2822 5e41 ("...")).. ("^A │ │ │ +0003aa10: 2220 2e20 2822 e1b4 ac22 2929 0a20 2028 " . ("...")). ( │ │ │ +0003aa20: 225e 4222 202e 2028 22e1 b4ae 2229 290a "^B" . ("...")). │ │ │ +0003aa30: 2020 3b3b 2028 225e 4322 202e 2028 2243 ;; ("^C" . ("C │ │ │ +0003aa40: 2229 290a 2020 2822 5e44 2220 2e20 2822 ")). ("^D" . (" │ │ │ +0003aa50: e1b4 b022 2929 0a20 2028 225e 4522 202e ...")). ("^E" . │ │ │ +0003aa60: 2028 22e1 b4b1 2229 290a 2020 3b3b 2028 ("...")). ;; ( │ │ │ +0003aa70: 225e 4622 202e 2028 2246 2229 290a 2020 "^F" . ("F")). │ │ │ +0003aa80: 2822 5e47 2220 2e20 2822 e1b4 b322 2929 ("^G" . ("...")) │ │ │ +0003aa90: 0a20 2028 225e 4822 202e 2028 22e1 b4b4 . ("^H" . ("... │ │ │ +0003aaa0: 2229 290a 2020 2822 5e49 2220 2e20 2822 ")). ("^I" . (" │ │ │ +0003aab0: e1b4 b522 2929 0a20 2028 225e 4a22 202e ...")). ("^J" . │ │ │ +0003aac0: 2028 22e1 b4b6 2229 290a 2020 2822 5e4b ("...")). ("^K │ │ │ +0003aad0: 2220 2e20 2822 e1b4 b722 2929 0a20 2028 " . ("...")). ( │ │ │ +0003aae0: 225e 4c22 202e 2028 22e1 b4b8 2229 290a "^L" . ("...")). │ │ │ +0003aaf0: 2020 2822 5e4d 2220 2e20 2822 e1b4 b922 ("^M" . ("..." │ │ │ +0003ab00: 2929 0a20 2028 225e 4e22 202e 2028 22e1 )). ("^N" . (". │ │ │ +0003ab10: b4ba 2229 290a 2020 2822 5e4f 2220 2e20 ..")). ("^O" . │ │ │ +0003ab20: 2822 e1b4 bc22 2929 0a20 2028 225e 5022 ("...")). ("^P" │ │ │ +0003ab30: 202e 2028 22e1 b4be 2229 290a 2020 3b3b . ("...")). ;; │ │ │ +0003ab40: 2028 225e 5122 202e 2028 2251 2229 290a ("^Q" . ("Q")). │ │ │ +0003ab50: 2020 2822 5e52 2220 2e20 2822 e1b4 bf22 ("^R" . ("..." │ │ │ +0003ab60: 2929 0a20 203b 3b20 2822 5e53 2220 2e20 )). ;; ("^S" . │ │ │ +0003ab70: 2822 5322 2929 0a20 2028 225e 5422 202e ("S")). ("^T" . │ │ │ +0003ab80: 2028 22e1 b580 2229 290a 2020 2822 5e55 ("...")). ("^U │ │ │ +0003ab90: 2220 2e20 2822 e1b5 8122 2929 0a20 2028 " . ("...")). ( │ │ │ +0003aba0: 225e 5622 202e 2028 22e2 b1bd 2229 290a "^V" . ("...")). │ │ │ +0003abb0: 2020 2822 5e57 2220 2e20 2822 e1b5 8222 ("^W" . ("..." │ │ │ +0003abc0: 2929 0a20 203b 3b20 2822 5e58 2220 2e20 )). ;; ("^X" . │ │ │ +0003abd0: 2822 5822 2929 0a20 203b 3b20 2822 5e59 ("X")). ;; ("^Y │ │ │ +0003abe0: 2220 2e20 2822 5922 2929 0a20 203b 3b20 " . ("Y")). ;; │ │ │ +0003abf0: 2822 5e5a 2220 2e20 2822 5a22 2929 0a0a ("^Z" . ("Z")).. │ │ │ +0003ac00: 2020 2822 5e47 6122 202e 2028 22e1 b585 ("^Ga" . ("... │ │ │ +0003ac10: 2229 290a 2020 2822 5e47 6222 202e 2028 ")). ("^Gb" . ( │ │ │ +0003ac20: 22e1 b59d 2229 290a 2020 2822 5e47 6722 "...")). ("^Gg" │ │ │ +0003ac30: 202e 2028 22e1 b59e 2229 290a 2020 2822 . ("...")). (" │ │ │ +0003ac40: 5e47 6422 202e 2028 22e1 b59f 2229 290a ^Gd" . ("...")). │ │ │ +0003ac50: 2020 2822 5e47 6522 202e 2028 22e1 b58b ("^Ge" . ("... │ │ │ +0003ac60: 2229 290a 2020 2822 5e47 7468 2220 2e20 ")). ("^Gth" . │ │ │ +0003ac70: 2822 e1b6 bf22 2929 0a20 2028 225e 4769 ("...")). ("^Gi │ │ │ +0003ac80: 2220 2e20 2822 e1b6 a522 2929 0a20 2028 " . ("...")). ( │ │ │ +0003ac90: 225e 4766 2220 2e20 2822 e1b5 a022 2929 "^Gf" . ("...")) │ │ │ +0003aca0: 0a20 2028 225e 4763 2220 2e20 2822 e1b5 . ("^Gc" . (".. │ │ │ +0003acb0: a122 2929 0a0a 2020 2822 5e47 4622 202e .")).. ("^GF" . │ │ │ +0003acc0: 2028 22e1 b6b2 2229 290a 0a20 203b 3b20 ("...")).. ;; │ │ │ +0003acd0: 536f 6d65 2049 534f 3838 3539 2d31 2063 Some ISO8859-1 c │ │ │ +0003ace0: 6861 7261 6374 6572 732e 0a0a 2020 2822 haracters... (" │ │ │ +0003acf0: 2022 2020 2020 2020 2020 202e 2028 22c2 " . (". │ │ │ +0003ad00: a022 2929 0a20 2028 2221 2220 2020 2020 .")). ("!" │ │ │ +0003ad10: 2020 2020 2e20 2822 c2a1 2229 290a 2020 . ("..")). │ │ │ +0003ad20: 2822 6365 6e74 2220 2020 2020 202e 2028 ("cent" . ( │ │ │ +0003ad30: 22c2 a222 2929 0a20 2028 2262 726f 6b65 "..")). ("broke │ │ │ +0003ad40: 6e62 6172 2220 2e20 2822 c2a6 2229 290a nbar" . ("..")). │ │ │ +0003ad50: 2020 2822 6465 6772 6565 2220 2020 202e ("degree" . │ │ │ +0003ad60: 2028 22c2 b022 2929 0a20 2028 223f 2220 ("..")). ("?" │ │ │ +0003ad70: 2020 2020 2020 2020 2e20 2822 c2bf 2229 . ("..") │ │ │ +0003ad80: 290a 2020 2822 5e61 5f22 2020 2020 2020 ). ("^a_" │ │ │ +0003ad90: 202e 2028 22c2 aa22 2929 0a20 2028 225e . ("..")). ("^ │ │ │ +0003ada0: 6f5f 2220 2020 2020 2020 2e20 2822 c2ba o_" . (".. │ │ │ +0003adb0: 2229 290a 0a20 203b 3b20 4369 7263 6c65 ")).. ;; Circle │ │ │ +0003adc0: 642c 2070 6172 656e 7468 6573 6973 6564 d, parenthesised │ │ │ +0003add0: 2065 7463 2e20 6e75 6d62 6572 7320 616e etc. numbers an │ │ │ +0003ade0: 6420 6c65 7474 6572 732e 0a0a 2020 2820 d letters... ( │ │ │ +0003adf0: 2228 3029 2220 2e20 2c28 6167 6461 2d69 "(0)" . ,(agda-i │ │ │ +0003ae00: 6e70 7574 2d74 6f2d 7374 7269 6e67 2d6c nput-to-string-l │ │ │ +0003ae10: 6973 7420 2220 e293 aaf0 9f84 80e2 93bf ist " .......... │ │ │ +0003ae20: f09f 848b f09f 848c 2229 290a 2020 2820 ........")). ( │ │ │ +0003ae30: 2228 3129 2220 2e20 2c28 6167 6461 2d69 "(1)" . ,(agda-i │ │ │ +0003ae40: 6e70 7574 2d74 6f2d 7374 7269 6e67 2d6c nput-to-string-l │ │ │ +0003ae50: 6973 7420 22e2 91b4 e291 a0e2 9288 e29d ist "........... │ │ │ +0003ae60: b6e2 9e80 e29e 8a22 2929 0a20 2028 2022 .......")). ( " │ │ │ +0003ae70: 2832 2922 202e 202c 2861 6764 612d 696e (2)" . ,(agda-in │ │ │ +0003ae80: 7075 742d 746f 2d73 7472 696e 672d 6c69 put-to-string-li │ │ │ +0003ae90: 7374 2022 e291 b5e2 91a1 e292 89e2 9db7 st "............ │ │ │ +0003aea0: e29e 81e2 9e8b 2229 290a 2020 2820 2228 ......")). ( "( │ │ │ +0003aeb0: 3329 2220 2e20 2c28 6167 6461 2d69 6e70 3)" . ,(agda-inp │ │ │ +0003aec0: 7574 2d74 6f2d 7374 7269 6e67 2d6c 6973 ut-to-string-lis │ │ │ +0003aed0: 7420 22e2 91b6 e291 a2e2 928a e29d b8e2 t "............. │ │ │ +0003aee0: 9e82 e29e 8c22 2929 0a20 2028 2022 2834 .....")). ( "(4 │ │ │ +0003aef0: 2922 202e 202c 2861 6764 612d 696e 7075 )" . ,(agda-inpu │ │ │ +0003af00: 742d 746f 2d73 7472 696e 672d 6c69 7374 t-to-string-list │ │ │ +0003af10: 2022 e291 b7e2 91a3 e292 8be2 9db9 e29e ".............. │ │ │ +0003af20: 83e2 9e8d 2229 290a 2020 2820 2228 3529 ....")). ( "(5) │ │ │ +0003af30: 2220 2e20 2c28 6167 6461 2d69 6e70 7574 " . ,(agda-input │ │ │ +0003af40: 2d74 6f2d 7374 7269 6e67 2d6c 6973 7420 -to-string-list │ │ │ +0003af50: 22e2 91b8 e291 a4e2 928c e29d bae2 9e84 "............... │ │ │ +0003af60: e29e 8e22 2929 0a20 2028 2022 2836 2922 ...")). ( "(6)" │ │ │ +0003af70: 202e 202c 2861 6764 612d 696e 7075 742d . ,(agda-input- │ │ │ +0003af80: 746f 2d73 7472 696e 672d 6c69 7374 2022 to-string-list " │ │ │ +0003af90: e291 b9e2 91a5 e292 8de2 9dbb e29e 85e2 ................ │ │ │ +0003afa0: 9e8f 2229 290a 2020 2820 2228 3729 2220 ..")). ( "(7)" │ │ │ +0003afb0: 2e20 2c28 6167 6461 2d69 6e70 7574 2d74 . ,(agda-input-t │ │ │ +0003afc0: 6f2d 7374 7269 6e67 2d6c 6973 7420 22e2 o-string-list ". │ │ │ +0003afd0: 91ba e291 a6e2 928e e29d bce2 9e86 e29e ................ │ │ │ +0003afe0: 9022 2929 0a20 2028 2022 2838 2922 202e .")). ( "(8)" . │ │ │ +0003aff0: 202c 2861 6764 612d 696e 7075 742d 746f ,(agda-input-to │ │ │ +0003b000: 2d73 7472 696e 672d 6c69 7374 2022 e291 -string-list ".. │ │ │ +0003b010: bbe2 91a7 e292 8fe2 9dbd e29e 87e2 9e91 ................ │ │ │ +0003b020: 2229 290a 2020 2820 2228 3929 2220 2e20 ")). ( "(9)" . │ │ │ +0003b030: 2c28 6167 6461 2d69 6e70 7574 2d74 6f2d ,(agda-input-to- │ │ │ +0003b040: 7374 7269 6e67 2d6c 6973 7420 22e2 91bc string-list "... │ │ │ +0003b050: e291 a8e2 9290 e29d bee2 9e88 e29e 9222 ..............." │ │ │ +0003b060: 2929 0a20 2028 2228 3130 2922 202e 202c )). ("(10)" . , │ │ │ +0003b070: 2861 6764 612d 696e 7075 742d 746f 2d73 (agda-input-to-s │ │ │ +0003b080: 7472 696e 672d 6c69 7374 2022 e291 bde2 tring-list ".... │ │ │ +0003b090: 91a9 e292 91e2 9dbf e29e 89e2 9e93 2229 ..............") │ │ │ +0003b0a0: 290a 2020 2822 2831 3129 2220 2e20 2c28 ). ("(11)" . ,( │ │ │ +0003b0b0: 6167 6461 2d69 6e70 7574 2d74 6f2d 7374 agda-input-to-st │ │ │ +0003b0c0: 7269 6e67 2d6c 6973 7420 22e2 91be e291 ring-list "..... │ │ │ +0003b0d0: aae2 9292 e293 ab22 2929 0a20 2028 2228 .......")). ("( │ │ │ +0003b0e0: 3132 2922 202e 202c 2861 6764 612d 696e 12)" . ,(agda-in │ │ │ +0003b0f0: 7075 742d 746f 2d73 7472 696e 672d 6c69 put-to-string-li │ │ │ +0003b100: 7374 2022 e291 bfe2 91ab e292 93e2 93ac st "............ │ │ │ +0003b110: 2229 290a 2020 2822 2831 3329 2220 2e20 ")). ("(13)" . │ │ │ +0003b120: 2c28 6167 6461 2d69 6e70 7574 2d74 6f2d ,(agda-input-to- │ │ │ +0003b130: 7374 7269 6e67 2d6c 6973 7420 22e2 9280 string-list "... │ │ │ +0003b140: e291 ace2 9294 e293 ad22 2929 0a20 2028 .........")). ( │ │ │ +0003b150: 2228 3134 2922 202e 202c 2861 6764 612d "(14)" . ,(agda- │ │ │ +0003b160: 696e 7075 742d 746f 2d73 7472 696e 672d input-to-string- │ │ │ +0003b170: 6c69 7374 2022 e292 81e2 91ad e292 95e2 list ".......... │ │ │ +0003b180: 93ae 2229 290a 2020 2822 2831 3529 2220 ..")). ("(15)" │ │ │ +0003b190: 2e20 2c28 6167 6461 2d69 6e70 7574 2d74 . ,(agda-input-t │ │ │ +0003b1a0: 6f2d 7374 7269 6e67 2d6c 6973 7420 22e2 o-string-list ". │ │ │ +0003b1b0: 9282 e291 aee2 9296 e293 af22 2929 0a20 ...........")). │ │ │ +0003b1c0: 2028 2228 3136 2922 202e 202c 2861 6764 ("(16)" . ,(agd │ │ │ +0003b1d0: 612d 696e 7075 742d 746f 2d73 7472 696e a-input-to-strin │ │ │ +0003b1e0: 672d 6c69 7374 2022 e292 83e2 91af e292 g-list "........ │ │ │ +0003b1f0: 97e2 93b0 2229 290a 2020 2822 2831 3729 ....")). ("(17) │ │ │ +0003b200: 2220 2e20 2c28 6167 6461 2d69 6e70 7574 " . ,(agda-input │ │ │ +0003b210: 2d74 6f2d 7374 7269 6e67 2d6c 6973 7420 -to-string-list │ │ │ +0003b220: 22e2 9284 e291 b0e2 9298 e293 b122 2929 "............")) │ │ │ +0003b230: 0a20 2028 2228 3138 2922 202e 202c 2861 . ("(18)" . ,(a │ │ │ +0003b240: 6764 612d 696e 7075 742d 746f 2d73 7472 gda-input-to-str │ │ │ +0003b250: 696e 672d 6c69 7374 2022 e292 85e2 91b1 ing-list "...... │ │ │ +0003b260: e292 99e2 93b2 2229 290a 2020 2822 2831 ......")). ("(1 │ │ │ +0003b270: 3929 2220 2e20 2c28 6167 6461 2d69 6e70 9)" . ,(agda-inp │ │ │ +0003b280: 7574 2d74 6f2d 7374 7269 6e67 2d6c 6973 ut-to-string-lis │ │ │ +0003b290: 7420 22e2 9286 e291 b2e2 929a e293 b322 t "............" │ │ │ +0003b2a0: 2929 0a20 2028 2228 3230 2922 202e 202c )). ("(20)" . , │ │ │ +0003b2b0: 2861 6764 612d 696e 7075 742d 746f 2d73 (agda-input-to-s │ │ │ +0003b2c0: 7472 696e 672d 6c69 7374 2022 e292 87e2 tring-list ".... │ │ │ +0003b2d0: 91b3 e292 9be2 93b4 2229 290a 0a20 2028 ........")).. ( │ │ │ +0003b2e0: 2228 6129 2220 202e 202c 2861 6764 612d "(a)" . ,(agda- │ │ │ +0003b2f0: 696e 7075 742d 746f 2d73 7472 696e 672d input-to-string- │ │ │ +0003b300: 6c69 7374 2022 e292 9ce2 92b6 e293 90f0 list ".......... │ │ │ +0003b310: 9f85 90f0 9f84 b0f0 9f85 b022 2929 0a20 ...........")). │ │ │ +0003b320: 2028 2228 6229 2220 202e 202c 2861 6764 ("(b)" . ,(agd │ │ │ +0003b330: 612d 696e 7075 742d 746f 2d73 7472 696e a-input-to-strin │ │ │ +0003b340: 672d 6c69 7374 2022 e292 9de2 92b7 e293 g-list "........ │ │ │ +0003b350: 91f0 9f85 91f0 9f84 b1f0 9f85 b122 2929 .............")) │ │ │ +0003b360: 0a20 2028 2228 6329 2220 202e 202c 2861 . ("(c)" . ,(a │ │ │ +0003b370: 6764 612d 696e 7075 742d 746f 2d73 7472 gda-input-to-str │ │ │ +0003b380: 696e 672d 6c69 7374 2022 e292 9ee2 92b8 ing-list "...... │ │ │ +0003b390: e293 92f0 9f85 92f0 9f84 b2f0 9f85 b222 ..............." │ │ │ +0003b3a0: 2929 0a20 2028 2228 6429 2220 202e 202c )). ("(d)" . , │ │ │ +0003b3b0: 2861 6764 612d 696e 7075 742d 746f 2d73 (agda-input-to-s │ │ │ +0003b3c0: 7472 696e 672d 6c69 7374 2022 e292 9fe2 tring-list ".... │ │ │ +0003b3d0: 92b9 e293 93f0 9f85 93f0 9f84 b3f0 9f85 ................ │ │ │ +0003b3e0: b322 2929 0a20 2028 2228 6529 2220 202e .")). ("(e)" . │ │ │ +0003b3f0: 202c 2861 6764 612d 696e 7075 742d 746f ,(agda-input-to │ │ │ +0003b400: 2d73 7472 696e 672d 6c69 7374 2022 e292 -string-list ".. │ │ │ +0003b410: a0e2 92ba e293 94f0 9f85 94f0 9f84 b4f0 ................ │ │ │ +0003b420: 9f85 b422 2929 0a20 2028 2228 6629 2220 ...")). ("(f)" │ │ │ +0003b430: 202e 202c 2861 6764 612d 696e 7075 742d . ,(agda-input- │ │ │ +0003b440: 746f 2d73 7472 696e 672d 6c69 7374 2022 to-string-list " │ │ │ +0003b450: e292 a1e2 92bb e293 95f0 9f85 95f0 9f84 ................ │ │ │ +0003b460: b5f0 9f85 b522 2929 0a20 2028 2228 6729 .....")). ("(g) │ │ │ +0003b470: 2220 202e 202c 2861 6764 612d 696e 7075 " . ,(agda-inpu │ │ │ +0003b480: 742d 746f 2d73 7472 696e 672d 6c69 7374 t-to-string-list │ │ │ +0003b490: 2022 e292 a2e2 92bc e293 96f0 9f85 96f0 ".............. │ │ │ +0003b4a0: 9f84 b6f0 9f85 b622 2929 0a20 2028 2228 .......")). ("( │ │ │ +0003b4b0: 6829 2220 202e 202c 2861 6764 612d 696e h)" . ,(agda-in │ │ │ +0003b4c0: 7075 742d 746f 2d73 7472 696e 672d 6c69 put-to-string-li │ │ │ +0003b4d0: 7374 2022 e292 a3e2 92bd e293 97f0 9f85 st "............ │ │ │ +0003b4e0: 97f0 9f84 b7f0 9f85 b722 2929 0a20 2028 .........")). ( │ │ │ +0003b4f0: 2228 6929 2220 202e 202c 2861 6764 612d "(i)" . ,(agda- │ │ │ +0003b500: 696e 7075 742d 746f 2d73 7472 696e 672d input-to-string- │ │ │ +0003b510: 6c69 7374 2022 e292 a4e2 92be e293 98f0 list ".......... │ │ │ +0003b520: 9f85 98f0 9f84 b8f0 9f85 b822 2929 0a20 ...........")). │ │ │ +0003b530: 2028 2228 6a29 2220 202e 202c 2861 6764 ("(j)" . ,(agd │ │ │ +0003b540: 612d 696e 7075 742d 746f 2d73 7472 696e a-input-to-strin │ │ │ +0003b550: 672d 6c69 7374 2022 e292 a5e2 92bf e293 g-list "........ │ │ │ +0003b560: 99f0 9f85 99f0 9f84 b9f0 9f85 b922 2929 .............")) │ │ │ +0003b570: 0a20 2028 2228 6b29 2220 202e 202c 2861 . ("(k)" . ,(a │ │ │ +0003b580: 6764 612d 696e 7075 742d 746f 2d73 7472 gda-input-to-str │ │ │ +0003b590: 696e 672d 6c69 7374 2022 e292 a6e2 9380 ing-list "...... │ │ │ +0003b5a0: e293 9af0 9f85 9af0 9f84 baf0 9f85 ba22 ..............." │ │ │ +0003b5b0: 2929 0a20 2028 2228 6c29 2220 202e 202c )). ("(l)" . , │ │ │ +0003b5c0: 2861 6764 612d 696e 7075 742d 746f 2d73 (agda-input-to-s │ │ │ +0003b5d0: 7472 696e 672d 6c69 7374 2022 e292 a7e2 tring-list ".... │ │ │ +0003b5e0: 9381 e293 9bf0 9f85 9bf0 9f84 bbf0 9f85 ................ │ │ │ +0003b5f0: bb22 2929 0a20 2028 2228 6d29 2220 202e .")). ("(m)" . │ │ │ +0003b600: 202c 2861 6764 612d 696e 7075 742d 746f ,(agda-input-to │ │ │ +0003b610: 2d73 7472 696e 672d 6c69 7374 2022 e292 -string-list ".. │ │ │ +0003b620: a8e2 9382 e293 9cf0 9f85 9cf0 9f84 bcf0 ................ │ │ │ +0003b630: 9f85 bc22 2929 0a20 2028 2228 6e29 2220 ...")). ("(n)" │ │ │ +0003b640: 202e 202c 2861 6764 612d 696e 7075 742d . ,(agda-input- │ │ │ +0003b650: 746f 2d73 7472 696e 672d 6c69 7374 2022 to-string-list " │ │ │ +0003b660: e292 a9e2 9383 e293 9df0 9f85 9df0 9f84 ................ │ │ │ +0003b670: bdf0 9f85 bd22 2929 0a20 2028 2228 6f29 .....")). ("(o) │ │ │ +0003b680: 2220 202e 202c 2861 6764 612d 696e 7075 " . ,(agda-inpu │ │ │ +0003b690: 742d 746f 2d73 7472 696e 672d 6c69 7374 t-to-string-list │ │ │ +0003b6a0: 2022 e292 aae2 9384 e293 9ef0 9f85 9ef0 ".............. │ │ │ +0003b6b0: 9f84 bef0 9f85 be22 2929 0a20 2028 2228 .......")). ("( │ │ │ +0003b6c0: 7029 2220 202e 202c 2861 6764 612d 696e p)" . ,(agda-in │ │ │ +0003b6d0: 7075 742d 746f 2d73 7472 696e 672d 6c69 put-to-string-li │ │ │ +0003b6e0: 7374 2022 e292 abe2 9385 e293 9ff0 9f85 st "............ │ │ │ +0003b6f0: 9ff0 9f84 bff0 9f85 bf22 2929 0a20 2028 .........")). ( │ │ │ +0003b700: 2228 7129 2220 202e 202c 2861 6764 612d "(q)" . ,(agda- │ │ │ +0003b710: 696e 7075 742d 746f 2d73 7472 696e 672d input-to-string- │ │ │ +0003b720: 6c69 7374 2022 e292 ace2 9386 e293 a0f0 list ".......... │ │ │ +0003b730: 9f85 a0f0 9f85 80f0 9f86 8022 2929 0a20 ...........")). │ │ │ +0003b740: 2028 2228 7229 2220 202e 202c 2861 6764 ("(r)" . ,(agd │ │ │ +0003b750: 612d 696e 7075 742d 746f 2d73 7472 696e a-input-to-strin │ │ │ +0003b760: 672d 6c69 7374 2022 e292 ade2 9387 e293 g-list "........ │ │ │ +0003b770: a1f0 9f85 a1f0 9f85 81f0 9f86 8122 2929 .............")) │ │ │ +0003b780: 0a20 2028 2228 7329 2220 202e 202c 2861 . ("(s)" . ,(a │ │ │ +0003b790: 6764 612d 696e 7075 742d 746f 2d73 7472 gda-input-to-str │ │ │ +0003b7a0: 696e 672d 6c69 7374 2022 e292 aee2 9388 ing-list "...... │ │ │ +0003b7b0: e293 a2f0 9f85 a2f0 9f85 82f0 9f86 8222 ..............." │ │ │ +0003b7c0: 2929 0a20 2028 2228 7429 2220 202e 202c )). ("(t)" . , │ │ │ +0003b7d0: 2861 6764 612d 696e 7075 742d 746f 2d73 (agda-input-to-s │ │ │ +0003b7e0: 7472 696e 672d 6c69 7374 2022 e292 afe2 tring-list ".... │ │ │ +0003b7f0: 9389 e293 a3f0 9f85 a3f0 9f85 83f0 9f86 ................ │ │ │ +0003b800: 8322 2929 0a20 2028 2228 7529 2220 202e .")). ("(u)" . │ │ │ +0003b810: 202c 2861 6764 612d 696e 7075 742d 746f ,(agda-input-to │ │ │ +0003b820: 2d73 7472 696e 672d 6c69 7374 2022 e292 -string-list ".. │ │ │ +0003b830: b0e2 938a e293 a4f0 9f85 a4f0 9f85 84f0 ................ │ │ │ +0003b840: 9f86 8422 2929 0a20 2028 2228 7629 2220 ...")). ("(v)" │ │ │ +0003b850: 202e 202c 2861 6764 612d 696e 7075 742d . ,(agda-input- │ │ │ +0003b860: 746f 2d73 7472 696e 672d 6c69 7374 2022 to-string-list " │ │ │ +0003b870: e292 b1e2 938b e293 a5f0 9f85 a5f0 9f85 ................ │ │ │ +0003b880: 85f0 9f86 8522 2929 0a20 2028 2228 7729 .....")). ("(w) │ │ │ +0003b890: 2220 202e 202c 2861 6764 612d 696e 7075 " . ,(agda-inpu │ │ │ +0003b8a0: 742d 746f 2d73 7472 696e 672d 6c69 7374 t-to-string-list │ │ │ +0003b8b0: 2022 e292 b2e2 938c e293 a6f0 9f85 a6f0 ".............. │ │ │ +0003b8c0: 9f85 86f0 9f86 8622 2929 0a20 2028 2228 .......")). ("( │ │ │ +0003b8d0: 7829 2220 202e 202c 2861 6764 612d 696e x)" . ,(agda-in │ │ │ +0003b8e0: 7075 742d 746f 2d73 7472 696e 672d 6c69 put-to-string-li │ │ │ +0003b8f0: 7374 2022 e292 b3e2 938d e293 a7f0 9f85 st "............ │ │ │ +0003b900: a7f0 9f85 87f0 9f86 8722 2929 0a20 2028 .........")). ( │ │ │ +0003b910: 2228 7929 2220 202e 202c 2861 6764 612d "(y)" . ,(agda- │ │ │ +0003b920: 696e 7075 742d 746f 2d73 7472 696e 672d input-to-string- │ │ │ +0003b930: 6c69 7374 2022 e292 b4e2 938e e293 a8f0 list ".......... │ │ │ +0003b940: 9f85 a8f0 9f85 88f0 9f86 8822 2929 0a20 ...........")). │ │ │ +0003b950: 2028 2228 7a29 2220 202e 202c 2861 6764 ("(z)" . ,(agd │ │ │ +0003b960: 612d 696e 7075 742d 746f 2d73 7472 696e a-input-to-strin │ │ │ +0003b970: 672d 6c69 7374 2022 e292 b5e2 938f e293 g-list "........ │ │ │ +0003b980: a9f0 9f85 a9f0 9f85 89f0 9f86 8922 2929 .............")) │ │ │ +0003b990: 0a0a 2020 2929 0a20 2022 4120 6c69 7374 .. )). "A list │ │ │ +0003b9a0: 206f 6620 7472 616e 736c 6174 696f 6e73 of translations │ │ │ +0003b9b0: 2073 7065 6369 6669 6320 746f 2074 6865 specific to the │ │ │ +0003b9c0: 2041 6764 6120 696e 7075 7420 6d65 7468 Agda input meth │ │ │ +0003b9d0: 6f64 2e0a 4561 6368 2065 6c65 6d65 6e74 od..Each element │ │ │ +0003b9e0: 2069 7320 6120 7061 6972 2028 4b45 592d is a pair (KEY- │ │ │ +0003b9f0: 5345 5155 454e 4345 2d53 5452 494e 4720 SEQUENCE-STRING │ │ │ +0003ba00: 2e20 4c49 5354 2d4f 462d 5452 414e 534c . LIST-OF-TRANSL │ │ │ +0003ba10: 4154 494f 4e2d 5354 5249 4e47 5329 2e0a ATION-STRINGS).. │ │ │ +0003ba20: 416c 6c20 7468 6520 7472 616e 736c 6174 All the translat │ │ │ +0003ba30: 696f 6e20 7374 7269 6e67 7320 6172 6520 ion strings are │ │ │ +0003ba40: 706f 7373 6962 6c65 2074 7261 6e73 6c61 possible transla │ │ │ +0003ba50: 7469 6f6e 730a 6f66 2074 6865 2067 6976 tions.of the giv │ │ │ +0003ba60: 656e 206b 6579 2073 6571 7565 6e63 653b en key sequence; │ │ │ +0003ba70: 2069 6620 7468 6572 6520 6973 206d 6f72 if there is mor │ │ │ +0003ba80: 6520 7468 616e 206f 6e65 2079 6f75 2063 e than one you c │ │ │ +0003ba90: 616e 2063 686f 6f73 650a 6265 7477 6565 an choose.betwee │ │ │ +0003baa0: 6e20 7468 656d 2075 7369 6e67 2074 6865 n them using the │ │ │ +0003bab0: 2061 7272 6f77 206b 6579 732e 0a0a 4e6f arrow keys...No │ │ │ +0003bac0: 7465 2074 6861 7420 6966 2079 6f75 2063 te that if you c │ │ │ +0003bad0: 7573 746f 6d69 7a65 2074 6869 7320 7365 ustomize this se │ │ │ +0003bae0: 7474 696e 6720 796f 7520 7769 6c6c 206e tting you will n │ │ │ +0003baf0: 6f74 0a61 7574 6f6d 6174 6963 616c 6c79 ot.automatically │ │ │ +0003bb00: 2062 656e 6566 6974 2028 6f72 2073 7566 benefit (or suf │ │ │ +0003bb10: 6665 7229 2066 726f 6d20 6d6f 6469 6669 fer) from modifi │ │ │ +0003bb20: 6361 7469 6f6e 7320 746f 2069 7473 0a64 cations to its.d │ │ │ +0003bb30: 6566 6175 6c74 2076 616c 7565 2077 6865 efault value whe │ │ │ +0003bb40: 6e20 7468 6520 6c69 6272 6172 7920 6973 n the library is │ │ │ +0003bb50: 2075 7064 6174 6564 2e20 2049 6620 796f updated. If yo │ │ │ +0003bb60: 7520 6a75 7374 2077 616e 7420 746f 0a61 u just want to.a │ │ │ +0003bb70: 6464 2073 6f6d 6520 6269 6e64 696e 6773 dd some bindings │ │ │ +0003bb80: 2069 7420 6973 2070 726f 6261 626c 7920 it is probably │ │ │ +0003bb90: 6120 6265 7474 6572 2069 6465 6120 746f a better idea to │ │ │ +0003bba0: 2063 7573 746f 6d69 7a65 0a60 6167 6461 customize.`agda │ │ │ +0003bbb0: 2d69 6e70 7574 2d75 7365 722d 7472 616e -input-user-tran │ │ │ +0003bbc0: 736c 6174 696f 6e73 272e 0a0a 5468 6573 slations'...Thes │ │ │ +0003bbd0: 6520 7472 616e 736c 6174 696f 6e20 7061 e translation pa │ │ │ +0003bbe0: 6972 7320 6172 6520 696e 636c 7564 6564 irs are included │ │ │ +0003bbf0: 2061 6674 6572 2074 686f 7365 2069 6e0a after those in. │ │ │ +0003bc00: 6061 6764 612d 696e 7075 742d 7573 6572 `agda-input-user │ │ │ +0003bc10: 2d74 7261 6e73 6c61 7469 6f6e 7327 2c20 -translations', │ │ │ +0003bc20: 6275 7420 6265 666f 7265 2074 6865 206f but before the o │ │ │ +0003bc30: 6e65 7320 696e 6865 7269 7465 640a 6672 nes inherited.fr │ │ │ +0003bc40: 6f6d 206f 7468 6572 2069 6e70 7574 206d om other input m │ │ │ +0003bc50: 6574 686f 6473 2028 7365 6520 6061 6764 ethods (see `agd │ │ │ +0003bc60: 612d 696e 7075 742d 696e 6865 7269 7427 a-input-inherit' │ │ │ +0003bc70: 292e 0a0a 4966 2079 6f75 2063 6861 6e67 )...If you chang │ │ │ +0003bc80: 6520 7468 6973 2073 6574 7469 6e67 206d e this setting m │ │ │ +0003bc90: 616e 7561 6c6c 7920 2877 6974 686f 7574 anually (without │ │ │ +0003bca0: 2075 7369 6e67 2074 6865 0a63 7573 746f using the.custo │ │ │ +0003bcb0: 6d69 7a61 7469 6f6e 2062 7566 6665 7229 mization buffer) │ │ │ +0003bcc0: 2079 6f75 206e 6565 6420 746f 2063 616c you need to cal │ │ │ +0003bcd0: 6c20 6061 6764 612d 696e 7075 742d 7365 l `agda-input-se │ │ │ +0003bce0: 7475 7027 2069 6e0a 6f72 6465 7220 666f tup' in.order fo │ │ │ +0003bcf0: 7220 7468 6520 6368 616e 6765 2074 6f20 r the change to │ │ │ +0003bd00: 7461 6b65 2065 6666 6563 742e 220a 2020 take effect.". │ │ │ +0003bd10: 3a67 726f 7570 2027 6167 6461 2d69 6e70 :group 'agda-inp │ │ │ +0003bd20: 7574 0a20 203a 7365 7420 2761 6764 612d ut. :set 'agda- │ │ │ +0003bd30: 696e 7075 742d 696e 636f 7270 6f72 6174 input-incorporat │ │ │ +0003bd40: 652d 6368 616e 6765 642d 7365 7474 696e e-changed-settin │ │ │ +0003bd50: 670a 2020 3a69 6e69 7469 616c 697a 6520 g. :initialize │ │ │ +0003bd60: 2763 7573 746f 6d2d 696e 6974 6961 6c69 'custom-initiali │ │ │ +0003bd70: 7a65 2d64 6566 6175 6c74 0a20 203a 7479 ze-default. :ty │ │ │ +0003bd80: 7065 2027 2872 6570 6561 7420 2863 6f6e pe '(repeat (con │ │ │ +0003bd90: 7320 2873 7472 696e 6720 3a74 6167 2022 s (string :tag " │ │ │ +0003bda0: 4b65 7920 7365 7175 656e 6365 2229 0a20 Key sequence"). │ │ │ 0003bdb0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0003bdc0: 2020 2020 2028 7265 7065 6174 203a 7461 (repeat :ta │ │ │ -0003bdd0: 6720 2254 7261 6e73 6c61 7469 6f6e 7322 g "Translations" │ │ │ -0003bde0: 2073 7472 696e 6729 2929 290a 0a28 6465 string))))..(de │ │ │ -0003bdf0: 6663 7573 746f 6d20 6167 6461 2d69 6e70 fcustom agda-inp │ │ │ -0003be00: 7574 2d75 7365 722d 7472 616e 736c 6174 ut-user-translat │ │ │ -0003be10: 696f 6e73 206e 696c 0a20 2022 4c69 6b65 ions nil. "Like │ │ │ -0003be20: 2060 6167 6461 2d69 6e70 7574 2d74 7261 `agda-input-tra │ │ │ -0003be30: 6e73 6c61 7469 6f6e 7327 2c20 6275 7420 nslations', but │ │ │ -0003be40: 6d6f 7265 2073 7569 7461 626c 6520 666f more suitable fo │ │ │ -0003be50: 7220 7573 6572 0a63 7573 746f 6d69 7a61 r user.customiza │ │ │ -0003be60: 7469 6f6e 7320 7369 6e63 6520 6279 2064 tions since by d │ │ │ -0003be70: 6566 6175 6c74 2069 7420 6973 2065 6d70 efault it is emp │ │ │ -0003be80: 7479 2e0a 0a54 6865 7365 2074 7261 6e73 ty...These trans │ │ │ -0003be90: 6c61 7469 6f6e 2070 6169 7273 2061 7265 lation pairs are │ │ │ -0003bea0: 2069 6e63 6c75 6465 6420 6669 7273 742c included first, │ │ │ -0003beb0: 2062 6566 6f72 6520 7468 6f73 6520 696e before those in │ │ │ -0003bec0: 0a60 6167 6461 2d69 6e70 7574 2d74 7261 .`agda-input-tra │ │ │ -0003bed0: 6e73 6c61 7469 6f6e 7327 2061 6e64 2074 nslations' and t │ │ │ -0003bee0: 6865 206f 6e65 7320 696e 6865 7269 7465 he ones inherite │ │ │ -0003bef0: 6420 6672 6f6d 206f 7468 6572 2069 6e70 d from other inp │ │ │ -0003bf00: 7574 0a6d 6574 686f 6473 2e22 0a20 203a ut.methods.". : │ │ │ -0003bf10: 6772 6f75 7020 2761 6764 612d 696e 7075 group 'agda-inpu │ │ │ -0003bf20: 740a 2020 3a73 6574 2027 6167 6461 2d69 t. :set 'agda-i │ │ │ -0003bf30: 6e70 7574 2d69 6e63 6f72 706f 7261 7465 nput-incorporate │ │ │ -0003bf40: 2d63 6861 6e67 6564 2d73 6574 7469 6e67 -changed-setting │ │ │ -0003bf50: 0a20 203a 696e 6974 6961 6c69 7a65 2027 . :initialize ' │ │ │ -0003bf60: 6375 7374 6f6d 2d69 6e69 7469 616c 697a custom-initializ │ │ │ -0003bf70: 652d 6465 6661 756c 740a 2020 3a74 7970 e-default. :typ │ │ │ -0003bf80: 6520 2728 7265 7065 6174 2028 636f 6e73 e '(repeat (cons │ │ │ -0003bf90: 2028 7374 7269 6e67 203a 7461 6720 224b (string :tag "K │ │ │ -0003bfa0: 6579 2073 6571 7565 6e63 6522 290a 2020 ey sequence"). │ │ │ +0003bdc0: 2020 2020 2020 2872 6570 6561 7420 3a74 (repeat :t │ │ │ +0003bdd0: 6167 2022 5472 616e 736c 6174 696f 6e73 ag "Translations │ │ │ +0003bde0: 2220 7374 7269 6e67 2929 2929 0a0a 2864 " string))))..(d │ │ │ +0003bdf0: 6566 6375 7374 6f6d 2061 6764 612d 696e efcustom agda-in │ │ │ +0003be00: 7075 742d 7573 6572 2d74 7261 6e73 6c61 put-user-transla │ │ │ +0003be10: 7469 6f6e 7320 6e69 6c0a 2020 224c 696b tions nil. "Lik │ │ │ +0003be20: 6520 6061 6764 612d 696e 7075 742d 7472 e `agda-input-tr │ │ │ +0003be30: 616e 736c 6174 696f 6e73 272c 2062 7574 anslations', but │ │ │ +0003be40: 206d 6f72 6520 7375 6974 6162 6c65 2066 more suitable f │ │ │ +0003be50: 6f72 2075 7365 720a 6375 7374 6f6d 697a or user.customiz │ │ │ +0003be60: 6174 696f 6e73 2073 696e 6365 2062 7920 ations since by │ │ │ +0003be70: 6465 6661 756c 7420 6974 2069 7320 656d default it is em │ │ │ +0003be80: 7074 792e 0a0a 5468 6573 6520 7472 616e pty...These tran │ │ │ +0003be90: 736c 6174 696f 6e20 7061 6972 7320 6172 slation pairs ar │ │ │ +0003bea0: 6520 696e 636c 7564 6564 2066 6972 7374 e included first │ │ │ +0003beb0: 2c20 6265 666f 7265 2074 686f 7365 2069 , before those i │ │ │ +0003bec0: 6e0a 6061 6764 612d 696e 7075 742d 7472 n.`agda-input-tr │ │ │ +0003bed0: 616e 736c 6174 696f 6e73 2720 616e 6420 anslations' and │ │ │ +0003bee0: 7468 6520 6f6e 6573 2069 6e68 6572 6974 the ones inherit │ │ │ +0003bef0: 6564 2066 726f 6d20 6f74 6865 7220 696e ed from other in │ │ │ +0003bf00: 7075 740a 6d65 7468 6f64 732e 220a 2020 put.methods.". │ │ │ +0003bf10: 3a67 726f 7570 2027 6167 6461 2d69 6e70 :group 'agda-inp │ │ │ +0003bf20: 7574 0a20 203a 7365 7420 2761 6764 612d ut. :set 'agda- │ │ │ +0003bf30: 696e 7075 742d 696e 636f 7270 6f72 6174 input-incorporat │ │ │ +0003bf40: 652d 6368 616e 6765 642d 7365 7474 696e e-changed-settin │ │ │ +0003bf50: 670a 2020 3a69 6e69 7469 616c 697a 6520 g. :initialize │ │ │ +0003bf60: 2763 7573 746f 6d2d 696e 6974 6961 6c69 'custom-initiali │ │ │ +0003bf70: 7a65 2d64 6566 6175 6c74 0a20 203a 7479 ze-default. :ty │ │ │ +0003bf80: 7065 2027 2872 6570 6561 7420 2863 6f6e pe '(repeat (con │ │ │ +0003bf90: 7320 2873 7472 696e 6720 3a74 6167 2022 s (string :tag " │ │ │ +0003bfa0: 4b65 7920 7365 7175 656e 6365 2229 0a20 Key sequence"). │ │ │ 0003bfb0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0003bfc0: 2020 2020 2028 7265 7065 6174 203a 7461 (repeat :ta │ │ │ -0003bfd0: 6720 2254 7261 6e73 6c61 7469 6f6e 7322 g "Translations" │ │ │ -0003bfe0: 2073 7472 696e 6729 2929 290a 0a3b 3b3b string))))..;;; │ │ │ +0003bfc0: 2020 2020 2020 2872 6570 6561 7420 3a74 (repeat :t │ │ │ +0003bfd0: 6167 2022 5472 616e 736c 6174 696f 6e73 ag "Translations │ │ │ +0003bfe0: 2220 7374 7269 6e67 2929 2929 0a0a 3b3b " string))))..;; │ │ │ 0003bff0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 0003c000: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 0003c010: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 0003c020: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ -0003c030: 3b3b 3b3b 3b0a 3b3b 2049 6e73 7065 6374 ;;;;;.;; Inspect │ │ │ -0003c040: 696e 6720 616e 6420 6d6f 6469 6679 696e ing and modifyin │ │ │ -0003c050: 6720 7472 616e 736c 6174 696f 6e20 6d61 g translation ma │ │ │ -0003c060: 7073 0a0a 2864 6566 756e 2061 6764 612d ps..(defun agda- │ │ │ -0003c070: 696e 7075 742d 6765 742d 7472 616e 736c input-get-transl │ │ │ -0003c080: 6174 696f 6e73 2028 7170 290a 2020 2252 ations (qp). "R │ │ │ -0003c090: 6574 7572 6e20 6120 6c69 7374 2063 6f6e eturn a list con │ │ │ -0003c0a0: 7461 696e 696e 6720 616c 6c20 7472 616e taining all tran │ │ │ -0003c0b0: 736c 6174 696f 6e73 2066 726f 6d20 7468 slations from th │ │ │ -0003c0c0: 6520 5175 6169 6c0a 7061 636b 6167 6520 e Quail.package │ │ │ -0003c0d0: 5150 2028 6578 6365 7074 2066 6f72 2074 QP (except for t │ │ │ -0003c0e0: 686f 7365 2063 6f72 7265 7370 6f6e 6469 hose correspondi │ │ │ -0003c0f0: 6e67 2074 6f20 4153 4349 4929 2e0a 4561 ng to ASCII)..Ea │ │ │ -0003c100: 6368 2070 6169 7220 696e 2074 6865 206c ch pair in the l │ │ │ -0003c110: 6973 7420 6861 7320 7468 6520 666f 726d ist has the form │ │ │ -0003c120: 2028 4b45 592d 5345 5155 454e 4345 202e (KEY-SEQUENCE . │ │ │ -0003c130: 2054 5241 4e53 4c41 5449 4f4e 292e 220a TRANSLATION).". │ │ │ -0003c140: 2020 2877 6974 682d 7465 6d70 2d62 7566 (with-temp-buf │ │ │ -0003c150: 6665 720a 2020 2020 2861 6374 6976 6174 fer. (activat │ │ │ -0003c160: 652d 696e 7075 742d 6d65 7468 6f64 2071 e-input-method q │ │ │ -0003c170: 7029 203b 2054 6f20 6d61 6b65 2073 7572 p) ; To make sur │ │ │ -0003c180: 6520 7468 6174 2074 6865 2070 6163 6b61 e that the packa │ │ │ -0003c190: 6765 2069 7320 6c6f 6164 6564 2e0a 2020 ge is loaded.. │ │ │ -0003c1a0: 2020 2875 6e6c 6573 7320 2871 7561 696c (unless (quail │ │ │ -0003c1b0: 2d70 6163 6b61 6765 2071 7029 0a20 2020 -package qp). │ │ │ -0003c1c0: 2020 2028 6572 726f 7220 2225 7320 6973 (error "%s is │ │ │ -0003c1d0: 206e 6f74 2061 2051 7561 696c 2070 6163 not a Quail pac │ │ │ -0003c1e0: 6b61 6765 2e22 2071 7029 290a 2020 2020 kage." qp)). │ │ │ -0003c1f0: 286c 6574 2028 2864 6563 6f64 652d 6d61 (let ((decode-ma │ │ │ -0003c200: 7020 286c 6973 7420 2764 6563 6f64 652d p (list 'decode- │ │ │ -0003c210: 6d61 7029 2929 0a20 2020 2020 2028 7175 map))). (qu │ │ │ -0003c220: 6169 6c2d 6275 696c 642d 6465 636f 6465 ail-build-decode │ │ │ -0003c230: 2d6d 6170 2028 6c69 7374 2028 7175 6169 -map (list (quai │ │ │ -0003c240: 6c2d 6d61 7029 2920 2222 2064 6563 6f64 l-map)) "" decod │ │ │ -0003c250: 652d 6d61 7020 3029 0a20 2020 2020 2028 e-map 0). ( │ │ │ -0003c260: 6364 7220 6465 636f 6465 2d6d 6170 2929 cdr decode-map)) │ │ │ -0003c270: 2929 0a0a 2864 6566 756e 2061 6764 612d ))..(defun agda- │ │ │ -0003c280: 696e 7075 742d 7368 6f77 2d74 7261 6e73 input-show-trans │ │ │ -0003c290: 6c61 7469 6f6e 7320 2871 7029 0a20 2022 lations (qp). " │ │ │ -0003c2a0: 4469 7370 6c61 7920 616c 6c20 7472 616e Display all tran │ │ │ -0003c2b0: 736c 6174 696f 6e73 2075 7365 6420 6279 slations used by │ │ │ -0003c2c0: 2074 6865 2051 7561 696c 2070 6163 6b61 the Quail packa │ │ │ -0003c2d0: 6765 2051 5020 2861 2073 7472 696e 6729 ge QP (a string) │ │ │ -0003c2e0: 2e0a 5c28 4578 6365 7074 2066 6f72 2074 ..\(Except for t │ │ │ -0003c2f0: 686f 7365 2063 6f72 7265 7370 6f6e 6469 hose correspondi │ │ │ -0003c300: 6e67 2074 6f20 4153 4349 4929 2e22 0a20 ng to ASCII).". │ │ │ -0003c310: 2028 696e 7465 7261 6374 6976 6520 286c (interactive (l │ │ │ -0003c320: 6973 7420 2872 6561 642d 696e 7075 742d ist (read-input- │ │ │ -0003c330: 6d65 7468 6f64 2d6e 616d 650a 2020 2020 method-name. │ │ │ +0003c030: 3b3b 3b3b 3b3b 0a3b 3b20 496e 7370 6563 ;;;;;;.;; Inspec │ │ │ +0003c040: 7469 6e67 2061 6e64 206d 6f64 6966 7969 ting and modifyi │ │ │ +0003c050: 6e67 2074 7261 6e73 6c61 7469 6f6e 206d ng translation m │ │ │ +0003c060: 6170 730a 0a28 6465 6675 6e20 6167 6461 aps..(defun agda │ │ │ +0003c070: 2d69 6e70 7574 2d67 6574 2d74 7261 6e73 -input-get-trans │ │ │ +0003c080: 6c61 7469 6f6e 7320 2871 7029 0a20 2022 lations (qp). " │ │ │ +0003c090: 5265 7475 726e 2061 206c 6973 7420 636f Return a list co │ │ │ +0003c0a0: 6e74 6169 6e69 6e67 2061 6c6c 2074 7261 ntaining all tra │ │ │ +0003c0b0: 6e73 6c61 7469 6f6e 7320 6672 6f6d 2074 nslations from t │ │ │ +0003c0c0: 6865 2051 7561 696c 0a70 6163 6b61 6765 he Quail.package │ │ │ +0003c0d0: 2051 5020 2865 7863 6570 7420 666f 7220 QP (except for │ │ │ +0003c0e0: 7468 6f73 6520 636f 7272 6573 706f 6e64 those correspond │ │ │ +0003c0f0: 696e 6720 746f 2041 5343 4949 292e 0a45 ing to ASCII)..E │ │ │ +0003c100: 6163 6820 7061 6972 2069 6e20 7468 6520 ach pair in the │ │ │ +0003c110: 6c69 7374 2068 6173 2074 6865 2066 6f72 list has the for │ │ │ +0003c120: 6d20 284b 4559 2d53 4551 5545 4e43 4520 m (KEY-SEQUENCE │ │ │ +0003c130: 2e20 5452 414e 534c 4154 494f 4e29 2e22 . TRANSLATION)." │ │ │ +0003c140: 0a20 2028 7769 7468 2d74 656d 702d 6275 . (with-temp-bu │ │ │ +0003c150: 6666 6572 0a20 2020 2028 6163 7469 7661 ffer. (activa │ │ │ +0003c160: 7465 2d69 6e70 7574 2d6d 6574 686f 6420 te-input-method │ │ │ +0003c170: 7170 2920 3b20 546f 206d 616b 6520 7375 qp) ; To make su │ │ │ +0003c180: 7265 2074 6861 7420 7468 6520 7061 636b re that the pack │ │ │ +0003c190: 6167 6520 6973 206c 6f61 6465 642e 0a20 age is loaded.. │ │ │ +0003c1a0: 2020 2028 756e 6c65 7373 2028 7175 6169 (unless (quai │ │ │ +0003c1b0: 6c2d 7061 636b 6167 6520 7170 290a 2020 l-package qp). │ │ │ +0003c1c0: 2020 2020 2865 7272 6f72 2022 2573 2069 (error "%s i │ │ │ +0003c1d0: 7320 6e6f 7420 6120 5175 6169 6c20 7061 s not a Quail pa │ │ │ +0003c1e0: 636b 6167 652e 2220 7170 2929 0a20 2020 ckage." qp)). │ │ │ +0003c1f0: 2028 6c65 7420 2828 6465 636f 6465 2d6d (let ((decode-m │ │ │ +0003c200: 6170 2028 6c69 7374 2027 6465 636f 6465 ap (list 'decode │ │ │ +0003c210: 2d6d 6170 2929 290a 2020 2020 2020 2871 -map))). (q │ │ │ +0003c220: 7561 696c 2d62 7569 6c64 2d64 6563 6f64 uail-build-decod │ │ │ +0003c230: 652d 6d61 7020 286c 6973 7420 2871 7561 e-map (list (qua │ │ │ +0003c240: 696c 2d6d 6170 2929 2022 2220 6465 636f il-map)) "" deco │ │ │ +0003c250: 6465 2d6d 6170 2030 290a 2020 2020 2020 de-map 0). │ │ │ +0003c260: 2863 6472 2064 6563 6f64 652d 6d61 7029 (cdr decode-map) │ │ │ +0003c270: 2929 290a 0a28 6465 6675 6e20 6167 6461 )))..(defun agda │ │ │ +0003c280: 2d69 6e70 7574 2d73 686f 772d 7472 616e -input-show-tran │ │ │ +0003c290: 736c 6174 696f 6e73 2028 7170 290a 2020 slations (qp). │ │ │ +0003c2a0: 2244 6973 706c 6179 2061 6c6c 2074 7261 "Display all tra │ │ │ +0003c2b0: 6e73 6c61 7469 6f6e 7320 7573 6564 2062 nslations used b │ │ │ +0003c2c0: 7920 7468 6520 5175 6169 6c20 7061 636b y the Quail pack │ │ │ +0003c2d0: 6167 6520 5150 2028 6120 7374 7269 6e67 age QP (a string │ │ │ +0003c2e0: 292e 0a5c 2845 7863 6570 7420 666f 7220 )..\(Except for │ │ │ +0003c2f0: 7468 6f73 6520 636f 7272 6573 706f 6e64 those correspond │ │ │ +0003c300: 696e 6720 746f 2041 5343 4949 292e 220a ing to ASCII).". │ │ │ +0003c310: 2020 2869 6e74 6572 6163 7469 7665 2028 (interactive ( │ │ │ +0003c320: 6c69 7374 2028 7265 6164 2d69 6e70 7574 list (read-input │ │ │ +0003c330: 2d6d 6574 686f 642d 6e61 6d65 0a20 2020 -method-name. │ │ │ 0003c340: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0003c350: 2020 2251 7561 696c 2069 6e70 7574 206d "Quail input m │ │ │ -0003c360: 6574 686f 6420 2864 6566 6175 6c74 2025 ethod (default % │ │ │ -0003c370: 7329 3a20 2220 2241 6764 6122 2929 290a s): " "Agda"))). │ │ │ -0003c380: 2020 286c 6574 2028 2862 7566 2028 636f (let ((buf (co │ │ │ -0003c390: 6e63 6174 2022 2a22 2071 7020 2220 696e ncat "*" qp " in │ │ │ -0003c3a0: 7075 7420 6d65 7468 6f64 2074 7261 6e73 put method trans │ │ │ -0003c3b0: 6c61 7469 6f6e 732a 2229 2929 0a20 2020 lations*"))). │ │ │ -0003c3c0: 2028 7769 7468 2d6f 7574 7075 742d 746f (with-output-to │ │ │ -0003c3d0: 2d74 656d 702d 6275 6666 6572 2062 7566 -temp-buffer buf │ │ │ -0003c3e0: 0a20 2020 2020 2028 7769 7468 2d63 7572 . (with-cur │ │ │ -0003c3f0: 7265 6e74 2d62 7566 6665 7220 6275 660a rent-buffer buf. │ │ │ -0003c400: 2020 2020 2020 2020 2871 7561 696c 2d69 (quail-i │ │ │ -0003c410: 6e73 6572 742d 6465 636f 6465 2d6d 6170 nsert-decode-map │ │ │ -0003c420: 0a20 2020 2020 2020 2020 2863 6f6e 7320 . (cons │ │ │ -0003c430: 2764 6563 6f64 652d 6d61 7020 2861 6764 'decode-map (agd │ │ │ -0003c440: 612d 696e 7075 742d 6765 742d 7472 616e a-input-get-tran │ │ │ -0003c450: 736c 6174 696f 6e73 2071 7029 2929 2929 slations qp))))) │ │ │ -0003c460: 2929 0a0a 2864 6566 756e 2061 6764 612d ))..(defun agda- │ │ │ -0003c470: 696e 7075 742d 6164 642d 7472 616e 736c input-add-transl │ │ │ -0003c480: 6174 696f 6e73 2028 7472 616e 7329 0a20 ations (trans). │ │ │ -0003c490: 2022 4164 6420 7468 6520 6769 7665 6e20 "Add the given │ │ │ -0003c4a0: 7472 616e 736c 6174 696f 6e73 2054 5241 translations TRA │ │ │ -0003c4b0: 4e53 2074 6f20 7468 6520 4167 6461 2069 NS to the Agda i │ │ │ -0003c4c0: 6e70 7574 206d 6574 686f 642e 0a54 5241 nput method..TRA │ │ │ -0003c4d0: 4e53 2069 7320 6120 6c69 7374 206f 6620 NS is a list of │ │ │ -0003c4e0: 7061 6972 7320 284b 4559 2d53 4551 5545 pairs (KEY-SEQUE │ │ │ -0003c4f0: 4e43 4520 2e20 5452 414e 534c 4154 494f NCE . TRANSLATIO │ │ │ -0003c500: 4e29 2e20 5468 650a 7472 616e 736c 6174 N). The.translat │ │ │ -0003c510: 696f 6e73 2061 7265 2061 7070 656e 6465 ions are appende │ │ │ -0003c520: 6420 746f 2074 6865 2063 7572 7265 6e74 d to the current │ │ │ -0003c530: 2074 7261 6e73 6c61 7469 6f6e 732e 220a translations.". │ │ │ -0003c540: 2020 2877 6974 682d 7465 6d70 2d62 7566 (with-temp-buf │ │ │ -0003c550: 6665 720a 2020 2020 2864 6f6c 6973 7420 fer. (dolist │ │ │ -0003c560: 2874 7220 2861 6764 612d 696e 7075 742d (tr (agda-input- │ │ │ -0003c570: 636f 6e63 6174 2d6d 6170 2028 6576 616c concat-map (eval │ │ │ -0003c580: 2061 6764 612d 696e 7075 742d 7477 6561 agda-input-twea │ │ │ -0003c590: 6b2d 616c 6c29 2074 7261 6e73 2929 0a20 k-all) trans)). │ │ │ -0003c5a0: 2020 2020 2028 7175 6169 6c2d 6465 6672 (quail-defr │ │ │ -0003c5b0: 756c 6520 2863 6172 2074 7229 2028 6364 ule (car tr) (cd │ │ │ -0003c5c0: 7220 7472 2920 2241 6764 6122 2074 2929 r tr) "Agda" t)) │ │ │ -0003c5d0: 2929 0a0a 2864 6566 756e 2061 6764 612d ))..(defun agda- │ │ │ -0003c5e0: 696e 7075 742d 696e 6865 7269 742d 7061 input-inherit-pa │ │ │ -0003c5f0: 636b 6167 6520 2871 7020 266f 7074 696f ckage (qp &optio │ │ │ -0003c600: 6e61 6c20 6675 6e29 0a20 2022 4c65 7420 nal fun). "Let │ │ │ -0003c610: 7468 6520 4167 6461 2069 6e70 7574 206d the Agda input m │ │ │ -0003c620: 6574 686f 6420 696e 6865 7269 7420 7468 ethod inherit th │ │ │ -0003c630: 6520 7472 616e 736c 6174 696f 6e73 2066 e translations f │ │ │ -0003c640: 726f 6d20 7468 650a 5175 6169 6c20 7061 rom the.Quail pa │ │ │ -0003c650: 636b 6167 6520 5150 2028 6578 6365 7074 ckage QP (except │ │ │ -0003c660: 2066 6f72 2074 686f 7365 2063 6f72 7265 for those corre │ │ │ -0003c670: 7370 6f6e 6469 6e67 2074 6f20 4153 4349 sponding to ASCI │ │ │ -0003c680: 4929 2e0a 0a54 6865 206f 7074 696f 6e61 I)...The optiona │ │ │ -0003c690: 6c20 6675 6e63 7469 6f6e 2046 554e 2063 l function FUN c │ │ │ -0003c6a0: 616e 2062 6520 7573 6564 2074 6f20 6d6f an be used to mo │ │ │ -0003c6b0: 6469 6679 2074 6865 2074 7261 6e73 6c61 dify the transla │ │ │ -0003c6c0: 7469 6f6e 732e 0a49 7420 6973 2067 6976 tions..It is giv │ │ │ -0003c6d0: 656e 2061 2070 6169 7220 284b 4559 2d53 en a pair (KEY-S │ │ │ -0003c6e0: 4551 5545 4e43 4520 2e20 5452 414e 534c EQUENCE . TRANSL │ │ │ -0003c6f0: 4154 494f 4e29 2061 6e64 2073 686f 756c ATION) and shoul │ │ │ -0003c700: 6420 7265 7475 726e 0a61 206c 6973 7420 d return.a list │ │ │ -0003c710: 6f66 2073 7563 6820 7061 6972 732e 220a of such pairs.". │ │ │ -0003c720: 2020 286c 6574 2028 2874 7261 6e73 2028 (let ((trans ( │ │ │ -0003c730: 6167 6461 2d69 6e70 7574 2d67 6574 2d74 agda-input-get-t │ │ │ -0003c740: 7261 6e73 6c61 7469 6f6e 7320 7170 2929 ranslations qp)) │ │ │ -0003c750: 290a 2020 2020 2861 6764 612d 696e 7075 ). (agda-inpu │ │ │ -0003c760: 742d 6164 642d 7472 616e 736c 6174 696f t-add-translatio │ │ │ -0003c770: 6e73 0a20 2020 2020 2869 6620 6675 6e20 ns. (if fun │ │ │ -0003c780: 2861 6764 612d 696e 7075 742d 636f 6e63 (agda-input-conc │ │ │ -0003c790: 6174 2d6d 6170 2066 756e 2074 7261 6e73 at-map fun trans │ │ │ -0003c7a0: 290a 2020 2020 2020 2074 7261 6e73 2929 ). trans)) │ │ │ -0003c7b0: 2929 0a0a 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ))..;;;;;;;;;;;; │ │ │ +0003c350: 2020 2022 5175 6169 6c20 696e 7075 7420 "Quail input │ │ │ +0003c360: 6d65 7468 6f64 2028 6465 6661 756c 7420 method (default │ │ │ +0003c370: 2573 293a 2022 2022 4167 6461 2229 2929 %s): " "Agda"))) │ │ │ +0003c380: 0a20 2028 6c65 7420 2828 6275 6620 2863 . (let ((buf (c │ │ │ +0003c390: 6f6e 6361 7420 222a 2220 7170 2022 2069 oncat "*" qp " i │ │ │ +0003c3a0: 6e70 7574 206d 6574 686f 6420 7472 616e nput method tran │ │ │ +0003c3b0: 736c 6174 696f 6e73 2a22 2929 290a 2020 slations*"))). │ │ │ +0003c3c0: 2020 2877 6974 682d 6f75 7470 7574 2d74 (with-output-t │ │ │ +0003c3d0: 6f2d 7465 6d70 2d62 7566 6665 7220 6275 o-temp-buffer bu │ │ │ +0003c3e0: 660a 2020 2020 2020 2877 6974 682d 6375 f. (with-cu │ │ │ +0003c3f0: 7272 656e 742d 6275 6666 6572 2062 7566 rrent-buffer buf │ │ │ +0003c400: 0a20 2020 2020 2020 2028 7175 6169 6c2d . (quail- │ │ │ +0003c410: 696e 7365 7274 2d64 6563 6f64 652d 6d61 insert-decode-ma │ │ │ +0003c420: 700a 2020 2020 2020 2020 2028 636f 6e73 p. (cons │ │ │ +0003c430: 2027 6465 636f 6465 2d6d 6170 2028 6167 'decode-map (ag │ │ │ +0003c440: 6461 2d69 6e70 7574 2d67 6574 2d74 7261 da-input-get-tra │ │ │ +0003c450: 6e73 6c61 7469 6f6e 7320 7170 2929 2929 nslations qp)))) │ │ │ +0003c460: 2929 290a 0a28 6465 6675 6e20 6167 6461 )))..(defun agda │ │ │ +0003c470: 2d69 6e70 7574 2d61 6464 2d74 7261 6e73 -input-add-trans │ │ │ +0003c480: 6c61 7469 6f6e 7320 2874 7261 6e73 290a lations (trans). │ │ │ +0003c490: 2020 2241 6464 2074 6865 2067 6976 656e "Add the given │ │ │ +0003c4a0: 2074 7261 6e73 6c61 7469 6f6e 7320 5452 translations TR │ │ │ +0003c4b0: 414e 5320 746f 2074 6865 2041 6764 6120 ANS to the Agda │ │ │ +0003c4c0: 696e 7075 7420 6d65 7468 6f64 2e0a 5452 input method..TR │ │ │ +0003c4d0: 414e 5320 6973 2061 206c 6973 7420 6f66 ANS is a list of │ │ │ +0003c4e0: 2070 6169 7273 2028 4b45 592d 5345 5155 pairs (KEY-SEQU │ │ │ +0003c4f0: 454e 4345 202e 2054 5241 4e53 4c41 5449 ENCE . TRANSLATI │ │ │ +0003c500: 4f4e 292e 2054 6865 0a74 7261 6e73 6c61 ON). The.transla │ │ │ +0003c510: 7469 6f6e 7320 6172 6520 6170 7065 6e64 tions are append │ │ │ +0003c520: 6564 2074 6f20 7468 6520 6375 7272 656e ed to the curren │ │ │ +0003c530: 7420 7472 616e 736c 6174 696f 6e73 2e22 t translations." │ │ │ +0003c540: 0a20 2028 7769 7468 2d74 656d 702d 6275 . (with-temp-bu │ │ │ +0003c550: 6666 6572 0a20 2020 2028 646f 6c69 7374 ffer. (dolist │ │ │ +0003c560: 2028 7472 2028 6167 6461 2d69 6e70 7574 (tr (agda-input │ │ │ +0003c570: 2d63 6f6e 6361 742d 6d61 7020 2865 7661 -concat-map (eva │ │ │ +0003c580: 6c20 6167 6461 2d69 6e70 7574 2d74 7765 l agda-input-twe │ │ │ +0003c590: 616b 2d61 6c6c 2920 7472 616e 7329 290a ak-all) trans)). │ │ │ +0003c5a0: 2020 2020 2020 2871 7561 696c 2d64 6566 (quail-def │ │ │ +0003c5b0: 7275 6c65 2028 6361 7220 7472 2920 2863 rule (car tr) (c │ │ │ +0003c5c0: 6472 2074 7229 2022 4167 6461 2220 7429 dr tr) "Agda" t) │ │ │ +0003c5d0: 2929 290a 0a28 6465 6675 6e20 6167 6461 )))..(defun agda │ │ │ +0003c5e0: 2d69 6e70 7574 2d69 6e68 6572 6974 2d70 -input-inherit-p │ │ │ +0003c5f0: 6163 6b61 6765 2028 7170 2026 6f70 7469 ackage (qp &opti │ │ │ +0003c600: 6f6e 616c 2066 756e 290a 2020 224c 6574 onal fun). "Let │ │ │ +0003c610: 2074 6865 2041 6764 6120 696e 7075 7420 the Agda input │ │ │ +0003c620: 6d65 7468 6f64 2069 6e68 6572 6974 2074 method inherit t │ │ │ +0003c630: 6865 2074 7261 6e73 6c61 7469 6f6e 7320 he translations │ │ │ +0003c640: 6672 6f6d 2074 6865 0a51 7561 696c 2070 from the.Quail p │ │ │ +0003c650: 6163 6b61 6765 2051 5020 2865 7863 6570 ackage QP (excep │ │ │ +0003c660: 7420 666f 7220 7468 6f73 6520 636f 7272 t for those corr │ │ │ +0003c670: 6573 706f 6e64 696e 6720 746f 2041 5343 esponding to ASC │ │ │ +0003c680: 4949 292e 0a0a 5468 6520 6f70 7469 6f6e II)...The option │ │ │ +0003c690: 616c 2066 756e 6374 696f 6e20 4655 4e20 al function FUN │ │ │ +0003c6a0: 6361 6e20 6265 2075 7365 6420 746f 206d can be used to m │ │ │ +0003c6b0: 6f64 6966 7920 7468 6520 7472 616e 736c odify the transl │ │ │ +0003c6c0: 6174 696f 6e73 2e0a 4974 2069 7320 6769 ations..It is gi │ │ │ +0003c6d0: 7665 6e20 6120 7061 6972 2028 4b45 592d ven a pair (KEY- │ │ │ +0003c6e0: 5345 5155 454e 4345 202e 2054 5241 4e53 SEQUENCE . TRANS │ │ │ +0003c6f0: 4c41 5449 4f4e 2920 616e 6420 7368 6f75 LATION) and shou │ │ │ +0003c700: 6c64 2072 6574 7572 6e0a 6120 6c69 7374 ld return.a list │ │ │ +0003c710: 206f 6620 7375 6368 2070 6169 7273 2e22 of such pairs." │ │ │ +0003c720: 0a20 2028 6c65 7420 2828 7472 616e 7320 . (let ((trans │ │ │ +0003c730: 2861 6764 612d 696e 7075 742d 6765 742d (agda-input-get- │ │ │ +0003c740: 7472 616e 736c 6174 696f 6e73 2071 7029 translations qp) │ │ │ +0003c750: 2929 0a20 2020 2028 6167 6461 2d69 6e70 )). (agda-inp │ │ │ +0003c760: 7574 2d61 6464 2d74 7261 6e73 6c61 7469 ut-add-translati │ │ │ +0003c770: 6f6e 730a 2020 2020 2028 6966 2066 756e ons. (if fun │ │ │ +0003c780: 2028 6167 6461 2d69 6e70 7574 2d63 6f6e (agda-input-con │ │ │ +0003c790: 6361 742d 6d61 7020 6675 6e20 7472 616e cat-map fun tran │ │ │ +0003c7a0: 7329 0a20 2020 2020 2020 7472 616e 7329 s). trans) │ │ │ +0003c7b0: 2929 290a 0a3b 3b3b 3b3b 3b3b 3b3b 3b3b )))..;;;;;;;;;;; │ │ │ 0003c7c0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 0003c7d0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 0003c7e0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ -0003c7f0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 0a3b 3b20 ;;;;;;;;;;;;.;; │ │ │ -0003c800: 5365 7474 696e 6720 7570 2074 6865 2069 Setting up the i │ │ │ -0003c810: 6e70 7574 206d 6574 686f 640a 0a28 6465 nput method..(de │ │ │ -0003c820: 6675 6e20 6167 6461 2d69 6e70 7574 2d73 fun agda-input-s │ │ │ -0003c830: 6574 7570 2028 290a 2020 2253 6574 2075 etup (). "Set u │ │ │ -0003c840: 7020 7468 6520 4167 6461 2069 6e70 7574 p the Agda input │ │ │ -0003c850: 206d 6574 686f 6420 6261 7365 6420 6f6e method based on │ │ │ -0003c860: 2074 6865 2063 7573 746f 6d69 7361 626c the customisabl │ │ │ -0003c870: 650a 7661 7269 6162 6c65 7320 616e 6420 e.variables and │ │ │ -0003c880: 756e 6465 726c 7969 6e67 2069 6e70 7574 underlying input │ │ │ -0003c890: 206d 6574 686f 6473 2e22 0a0a 2020 3b3b methods.".. ;; │ │ │ -0003c8a0: 2043 7265 6174 6520 286f 7220 7265 7365 Create (or rese │ │ │ -0003c8b0: 7429 2074 6865 2069 6e70 7574 206d 6574 t) the input met │ │ │ -0003c8c0: 686f 642e 0a20 2028 7769 7468 2d74 656d hod.. (with-tem │ │ │ -0003c8d0: 702d 6275 6666 6572 0a20 2020 2028 7175 p-buffer. (qu │ │ │ -0003c8e0: 6169 6c2d 6465 6669 6e65 2d70 6163 6b61 ail-define-packa │ │ │ -0003c8f0: 6765 2022 4167 6461 2220 2255 5446 2d38 ge "Agda" "UTF-8 │ │ │ -0003c900: 2220 22e2 888f 2220 7420 3b20 6775 6964 " "..." t ; guid │ │ │ -0003c910: 616e 6365 0a20 2020 2020 2241 6764 6120 ance. "Agda │ │ │ -0003c920: 696e 7075 7420 6d65 7468 6f64 2e0a 5468 input method..Th │ │ │ -0003c930: 6520 7075 7270 6f73 6520 6f66 2074 6869 e purpose of thi │ │ │ -0003c940: 7320 696e 7075 7420 6d65 7468 6f64 2069 s input method i │ │ │ -0003c950: 7320 746f 2065 6469 7420 4167 6461 2070 s to edit Agda p │ │ │ -0003c960: 726f 6772 616d 732c 2062 7574 0a73 696e rograms, but.sin │ │ │ -0003c970: 6365 2069 7420 6973 2068 6967 686c 7920 ce it is highly │ │ │ -0003c980: 6375 7374 6f6d 6973 6162 6c65 2069 7420 customisable it │ │ │ -0003c990: 6361 6e20 6265 206d 6164 6520 7573 6566 can be made usef │ │ │ -0003c9a0: 756c 2066 6f72 206f 7468 6572 0a74 6173 ul for other.tas │ │ │ -0003c9b0: 6b73 2061 7320 7765 6c6c 2e22 0a20 2020 ks as well.". │ │ │ -0003c9c0: 2020 6e69 6c20 6e69 6c20 6e69 6c20 6e69 nil nil nil ni │ │ │ -0003c9d0: 6c20 6e69 6c20 6e69 6c20 7420 3b20 6d61 l nil nil t ; ma │ │ │ -0003c9e0: 7869 6d75 6d2d 7368 6f72 7465 7374 0a20 ximum-shortest. │ │ │ -0003c9f0: 2020 2020 2929 0a0a 2020 2861 6764 612d )).. (agda- │ │ │ -0003ca00: 696e 7075 742d 6164 642d 7472 616e 736c input-add-transl │ │ │ -0003ca10: 6174 696f 6e73 0a20 2020 286d 6170 6361 ations. (mapca │ │ │ -0003ca20: 7220 286c 616d 6264 6120 2874 7229 2028 r (lambda (tr) ( │ │ │ -0003ca30: 636f 6e73 2028 6361 7220 7472 2920 2876 cons (car tr) (v │ │ │ -0003ca40: 636f 6e63 6174 2028 6364 7220 7472 2929 concat (cdr tr)) │ │ │ -0003ca50: 2929 0a20 2020 2020 2020 2020 2020 2861 )). (a │ │ │ -0003ca60: 7070 656e 6420 6167 6461 2d69 6e70 7574 ppend agda-input │ │ │ -0003ca70: 2d75 7365 722d 7472 616e 736c 6174 696f -user-translatio │ │ │ -0003ca80: 6e73 0a20 2020 2020 2020 2020 2020 2020 ns. │ │ │ -0003ca90: 2020 2020 2020 6167 6461 2d69 6e70 7574 agda-input │ │ │ -0003caa0: 2d74 7261 6e73 6c61 7469 6f6e 7329 2929 -translations))) │ │ │ -0003cab0: 0a20 2028 646f 6c69 7374 2028 6465 6620 . (dolist (def │ │ │ -0003cac0: 6167 6461 2d69 6e70 7574 2d69 6e68 6572 agda-input-inher │ │ │ -0003cad0: 6974 290a 2020 2020 2861 6764 612d 696e it). (agda-in │ │ │ -0003cae0: 7075 742d 696e 6865 7269 742d 7061 636b put-inherit-pack │ │ │ -0003caf0: 6167 6520 2863 6172 2064 6566 290a 2020 age (car def). │ │ │ +0003c7f0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b0a 3b3b ;;;;;;;;;;;;;.;; │ │ │ +0003c800: 2053 6574 7469 6e67 2075 7020 7468 6520 Setting up the │ │ │ +0003c810: 696e 7075 7420 6d65 7468 6f64 0a0a 2864 input method..(d │ │ │ +0003c820: 6566 756e 2061 6764 612d 696e 7075 742d efun agda-input- │ │ │ +0003c830: 7365 7475 7020 2829 0a20 2022 5365 7420 setup (). "Set │ │ │ +0003c840: 7570 2074 6865 2041 6764 6120 696e 7075 up the Agda inpu │ │ │ +0003c850: 7420 6d65 7468 6f64 2062 6173 6564 206f t method based o │ │ │ +0003c860: 6e20 7468 6520 6375 7374 6f6d 6973 6162 n the customisab │ │ │ +0003c870: 6c65 0a76 6172 6961 626c 6573 2061 6e64 le.variables and │ │ │ +0003c880: 2075 6e64 6572 6c79 696e 6720 696e 7075 underlying inpu │ │ │ +0003c890: 7420 6d65 7468 6f64 732e 220a 0a20 203b t methods.".. ; │ │ │ +0003c8a0: 3b20 4372 6561 7465 2028 6f72 2072 6573 ; Create (or res │ │ │ +0003c8b0: 6574 2920 7468 6520 696e 7075 7420 6d65 et) the input me │ │ │ +0003c8c0: 7468 6f64 2e0a 2020 2877 6974 682d 7465 thod.. (with-te │ │ │ +0003c8d0: 6d70 2d62 7566 6665 720a 2020 2020 2871 mp-buffer. (q │ │ │ +0003c8e0: 7561 696c 2d64 6566 696e 652d 7061 636b uail-define-pack │ │ │ +0003c8f0: 6167 6520 2241 6764 6122 2022 5554 462d age "Agda" "UTF- │ │ │ +0003c900: 3822 2022 e288 8f22 2074 203b 2067 7569 8" "..." t ; gui │ │ │ +0003c910: 6461 6e63 650a 2020 2020 2022 4167 6461 dance. "Agda │ │ │ +0003c920: 2069 6e70 7574 206d 6574 686f 642e 0a54 input method..T │ │ │ +0003c930: 6865 2070 7572 706f 7365 206f 6620 7468 he purpose of th │ │ │ +0003c940: 6973 2069 6e70 7574 206d 6574 686f 6420 is input method │ │ │ +0003c950: 6973 2074 6f20 6564 6974 2041 6764 6120 is to edit Agda │ │ │ +0003c960: 7072 6f67 7261 6d73 2c20 6275 740a 7369 programs, but.si │ │ │ +0003c970: 6e63 6520 6974 2069 7320 6869 6768 6c79 nce it is highly │ │ │ +0003c980: 2063 7573 746f 6d69 7361 626c 6520 6974 customisable it │ │ │ +0003c990: 2063 616e 2062 6520 6d61 6465 2075 7365 can be made use │ │ │ +0003c9a0: 6675 6c20 666f 7220 6f74 6865 720a 7461 ful for other.ta │ │ │ +0003c9b0: 736b 7320 6173 2077 656c 6c2e 220a 2020 sks as well.". │ │ │ +0003c9c0: 2020 206e 696c 206e 696c 206e 696c 206e nil nil nil n │ │ │ +0003c9d0: 696c 206e 696c 206e 696c 2074 203b 206d il nil nil t ; m │ │ │ +0003c9e0: 6178 696d 756d 2d73 686f 7274 6573 740a aximum-shortest. │ │ │ +0003c9f0: 2020 2020 2029 290a 0a20 2028 6167 6461 )).. (agda │ │ │ +0003ca00: 2d69 6e70 7574 2d61 6464 2d74 7261 6e73 -input-add-trans │ │ │ +0003ca10: 6c61 7469 6f6e 730a 2020 2028 6d61 7063 lations. (mapc │ │ │ +0003ca20: 6172 2028 6c61 6d62 6461 2028 7472 2920 ar (lambda (tr) │ │ │ +0003ca30: 2863 6f6e 7320 2863 6172 2074 7229 2028 (cons (car tr) ( │ │ │ +0003ca40: 7663 6f6e 6361 7420 2863 6472 2074 7229 vconcat (cdr tr) │ │ │ +0003ca50: 2929 290a 2020 2020 2020 2020 2020 2028 ))). ( │ │ │ +0003ca60: 6170 7065 6e64 2061 6764 612d 696e 7075 append agda-inpu │ │ │ +0003ca70: 742d 7573 6572 2d74 7261 6e73 6c61 7469 t-user-translati │ │ │ +0003ca80: 6f6e 730a 2020 2020 2020 2020 2020 2020 ons. │ │ │ +0003ca90: 2020 2020 2020 2061 6764 612d 696e 7075 agda-inpu │ │ │ +0003caa0: 742d 7472 616e 736c 6174 696f 6e73 2929 t-translations)) │ │ │ +0003cab0: 290a 2020 2864 6f6c 6973 7420 2864 6566 ). (dolist (def │ │ │ +0003cac0: 2061 6764 612d 696e 7075 742d 696e 6865 agda-input-inhe │ │ │ +0003cad0: 7269 7429 0a20 2020 2028 6167 6461 2d69 rit). (agda-i │ │ │ +0003cae0: 6e70 7574 2d69 6e68 6572 6974 2d70 6163 nput-inherit-pac │ │ │ +0003caf0: 6b61 6765 2028 6361 7220 6465 6629 0a20 kage (car def). │ │ │ 0003cb00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0003cb10: 2020 2020 2020 2020 2020 2020 2020 2865 (e │ │ │ -0003cb20: 7661 6c20 2863 6472 2064 6566 2929 2929 val (cdr def)))) │ │ │ -0003cb30: 290a 0a28 6465 6675 6e20 6167 6461 2d69 )..(defun agda-i │ │ │ -0003cb40: 6e70 7574 2d69 6e63 6f72 706f 7261 7465 nput-incorporate │ │ │ -0003cb50: 2d63 6861 6e67 6564 2d73 6574 7469 6e67 -changed-setting │ │ │ -0003cb60: 2028 7379 6d20 7661 6c29 0a20 2022 5570 (sym val). "Up │ │ │ -0003cb70: 6461 7465 2074 6865 2041 6764 6120 696e date the Agda in │ │ │ -0003cb80: 7075 7420 6d65 7468 6f64 2062 6173 6564 put method based │ │ │ -0003cb90: 206f 6e20 7468 6520 6375 7374 6f6d 6973 on the customis │ │ │ -0003cba0: 6162 6c65 0a76 6172 6961 626c 6573 2061 able.variables a │ │ │ -0003cbb0: 6e64 2075 6e64 6572 6c79 696e 6720 696e nd underlying in │ │ │ -0003cbc0: 7075 7420 6d65 7468 6f64 732e 0a53 7569 put methods..Sui │ │ │ -0003cbd0: 7461 626c 6520 666f 7220 7573 6520 696e table for use in │ │ │ -0003cbe0: 2074 6865 203a 7365 7420 6669 656c 6420 the :set field │ │ │ -0003cbf0: 6f66 2060 6465 6663 7573 746f 6d27 2e22 of `defcustom'." │ │ │ -0003cc00: 0a20 2028 7365 742d 6465 6661 756c 7420 . (set-default │ │ │ -0003cc10: 7379 6d20 7661 6c29 0a20 2028 6167 6461 sym val). (agda │ │ │ -0003cc20: 2d69 6e70 7574 2d73 6574 7570 2929 0a0a -input-setup)).. │ │ │ -0003cc30: 3b3b 2053 6574 2075 7020 7468 6520 696e ;; Set up the in │ │ │ -0003cc40: 7075 7420 6d65 7468 6f64 2e0a 0a28 6167 put method...(ag │ │ │ -0003cc50: 6461 2d69 6e70 7574 2d73 6574 7570 290a da-input-setup). │ │ │ -0003cc60: 0a3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b .;;;;;;;;;;;;;;; │ │ │ +0003cb10: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ +0003cb20: 6576 616c 2028 6364 7220 6465 6629 2929 eval (cdr def))) │ │ │ +0003cb30: 2929 0a0a 2864 6566 756e 2061 6764 612d ))..(defun agda- │ │ │ +0003cb40: 696e 7075 742d 696e 636f 7270 6f72 6174 input-incorporat │ │ │ +0003cb50: 652d 6368 616e 6765 642d 7365 7474 696e e-changed-settin │ │ │ +0003cb60: 6720 2873 796d 2076 616c 290a 2020 2255 g (sym val). "U │ │ │ +0003cb70: 7064 6174 6520 7468 6520 4167 6461 2069 pdate the Agda i │ │ │ +0003cb80: 6e70 7574 206d 6574 686f 6420 6261 7365 nput method base │ │ │ +0003cb90: 6420 6f6e 2074 6865 2063 7573 746f 6d69 d on the customi │ │ │ +0003cba0: 7361 626c 650a 7661 7269 6162 6c65 7320 sable.variables │ │ │ +0003cbb0: 616e 6420 756e 6465 726c 7969 6e67 2069 and underlying i │ │ │ +0003cbc0: 6e70 7574 206d 6574 686f 6473 2e0a 5375 nput methods..Su │ │ │ +0003cbd0: 6974 6162 6c65 2066 6f72 2075 7365 2069 itable for use i │ │ │ +0003cbe0: 6e20 7468 6520 3a73 6574 2066 6965 6c64 n the :set field │ │ │ +0003cbf0: 206f 6620 6064 6566 6375 7374 6f6d 272e of `defcustom'. │ │ │ +0003cc00: 220a 2020 2873 6574 2d64 6566 6175 6c74 ". (set-default │ │ │ +0003cc10: 2073 796d 2076 616c 290a 2020 2861 6764 sym val). (agd │ │ │ +0003cc20: 612d 696e 7075 742d 7365 7475 7029 290a a-input-setup)). │ │ │ +0003cc30: 0a3b 3b20 5365 7420 7570 2074 6865 2069 .;; Set up the i │ │ │ +0003cc40: 6e70 7574 206d 6574 686f 642e 0a0a 2861 nput method...(a │ │ │ +0003cc50: 6764 612d 696e 7075 742d 7365 7475 7029 gda-input-setup) │ │ │ +0003cc60: 0a0a 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ..;;;;;;;;;;;;;; │ │ │ 0003cc70: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 0003cc80: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 0003cc90: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ -0003cca0: 3b3b 3b3b 3b3b 3b3b 3b0a 3b3b 2041 646d ;;;;;;;;;.;; Adm │ │ │ -0003ccb0: 696e 6973 7472 6174 6976 6520 6465 7461 inistrative deta │ │ │ -0003ccc0: 696c 730a 0a28 7072 6f76 6964 6520 2761 ils..(provide 'a │ │ │ -0003ccd0: 6764 612d 696e 7075 7429 0a3b 3b3b 2061 gda-input).;;; a │ │ │ -0003cce0: 6764 612d 696e 7075 742e 656c 2065 6e64 gda-input.el end │ │ │ -0003ccf0: 7320 6865 7265 0ae7 d19e 92dd d8b7 8a13 s here.......... │ │ │ -0003cd00: 9cf5 e892 e6a4 ecee 0100 9e01 0003 cd33 ...............3 │ │ │ -0003cd10: 0520 0000 0100 0404 0803 0702 5e02 0000 . ..........^... │ │ │ -0003cd20: 030f 0005 0505 0b5f 0b9f 010b 6109 0601 ......._....a... │ │ │ -0003cd30: 00f4 04d0 f2d9 d193 b0af e20d b396 b2db ................ │ │ │ -0003cd40: 85c5 a6d3 f901 009f 0100 03cf d905 8280 ................ │ │ │ -0003cd50: 80e6 0800 0001 0003 0407 0402 0000 030f ................ │ │ │ -0003cd60: 0009 01f4 043b 3b20 2d2a 2d20 6c65 7869 .....;; -*- lexi │ │ │ -0003cd70: 6361 6c2d 6269 6e64 696e 673a 2074 202d cal-binding: t - │ │ │ -0003cd80: 2a2d 0a3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b *-.;;;;;;;;;;;;; │ │ │ +0003cca0: 3b3b 3b3b 3b3b 3b3b 3b3b 0a3b 3b20 4164 ;;;;;;;;;;.;; Ad │ │ │ +0003ccb0: 6d69 6e69 7374 7261 7469 7665 2064 6574 ministrative det │ │ │ +0003ccc0: 6169 6c73 0a0a 2870 726f 7669 6465 2027 ails..(provide ' │ │ │ +0003ccd0: 6167 6461 2d69 6e70 7574 290a 3b3b 3b20 agda-input).;;; │ │ │ +0003cce0: 6167 6461 2d69 6e70 7574 2e65 6c20 656e agda-input.el en │ │ │ +0003ccf0: 6473 2068 6572 650a e7d1 9e92 ddd8 b78a ds here......... │ │ │ +0003cd00: 139c f5e8 92e6 a4ec ee01 009e 0100 03cd ................ │ │ │ +0003cd10: 3405 2000 0001 0004 0408 0307 025e 0200 4. ..........^.. │ │ │ +0003cd20: 0003 0f00 0505 050b 5f0b 9f01 0b61 0906 ........_....a.. │ │ │ +0003cd30: 0100 f404 d0f2 d9d1 93b0 afe2 0db3 96b2 ................ │ │ │ +0003cd40: db85 c5a6 d3f9 0100 9f01 0003 cfda 0582 ................ │ │ │ +0003cd50: 8080 e608 0000 0100 0304 0704 0200 0003 ................ │ │ │ +0003cd60: 0f00 0901 f404 3b3b 202d 2a2d 206c 6578 ......;; -*- lex │ │ │ +0003cd70: 6963 616c 2d62 696e 6469 6e67 3a20 7420 ical-binding: t │ │ │ +0003cd80: 2d2a 2d0a 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b -*-.;;;;;;;;;;;; │ │ │ 0003cd90: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 0003cda0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 0003cdb0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ -0003cdc0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b0a 3b3b 2041 ;;;;;;;;;;;.;; A │ │ │ -0003cdd0: 6764 6120 6d6f 6465 2063 6f64 6520 7768 gda mode code wh │ │ │ -0003cde0: 6963 6820 7368 6f75 6c64 2072 756e 2062 ich should run b │ │ │ -0003cdf0: 6566 6f72 6520 7468 6520 6669 7273 7420 efore the first │ │ │ -0003ce00: 4167 6461 2066 696c 6520 6973 0a3b 3b20 Agda file is.;; │ │ │ -0003ce10: 6c6f 6164 6564 0a3b 3b20 5350 4458 2d4c loaded.;; SPDX-L │ │ │ -0003ce20: 6963 656e 7365 2d49 6465 6e74 6966 6965 icense-Identifie │ │ │ -0003ce30: 723a 204d 4954 204c 6963 656e 7365 0a0a r: MIT License.. │ │ │ -0003ce40: 2864 6566 7661 7220 6167 6461 322d 6469 (defvar agda2-di │ │ │ -0003ce50: 7265 6374 6f72 7920 2866 696c 652d 6e61 rectory (file-na │ │ │ -0003ce60: 6d65 2d64 6972 6563 746f 7279 206c 6f61 me-directory loa │ │ │ -0003ce70: 642d 6669 6c65 2d6e 616d 6529 0a20 2022 d-file-name). " │ │ │ -0003ce80: 5061 7468 2074 6f20 7468 6520 6469 7265 Path to the dire │ │ │ -0003ce90: 6374 6f72 7920 7468 6174 2063 6f6e 7461 ctory that conta │ │ │ -0003cea0: 696e 7320 6167 6461 322e 656c 2863 292e ins agda2.el(c). │ │ │ -0003ceb0: 2229 0a0a 2861 6464 2d74 6f2d 6c69 7374 ")..(add-to-list │ │ │ -0003cec0: 2027 6c6f 6164 2d70 6174 6820 286f 7220 'load-path (or │ │ │ -0003ced0: 6167 6461 322d 6469 7265 6374 6f72 7920 agda2-directory │ │ │ -0003cee0: 2863 6172 206c 6f61 642d 7061 7468 2929 (car load-path)) │ │ │ -0003cef0: 290a 0a28 6175 746f 6c6f 6164 2027 6167 )..(autoload 'ag │ │ │ -0003cf00: 6461 322d 6d6f 6465 2022 6167 6461 322d da2-mode "agda2- │ │ │ -0003cf10: 6d6f 6465 220a 2020 224d 616a 6f72 206d mode". "Major m │ │ │ -0003cf20: 6f64 6520 666f 7220 6564 6974 696e 6720 ode for editing │ │ │ -0003cf30: 4167 6461 2066 696c 6573 2028 7665 7273 Agda files (vers │ │ │ -0003cf40: 696f 6e20 e289 a520 3229 2e22 2074 290a ion ... 2)." t). │ │ │ -0003cf50: 2861 6464 2d74 6f2d 6c69 7374 2027 6175 (add-to-list 'au │ │ │ -0003cf60: 746f 2d6d 6f64 652d 616c 6973 7420 2728 to-mode-alist '( │ │ │ -0003cf70: 225c 5c2e 6c3f 6167 6461 5c5c 2722 202e "\\.l?agda\\'" . │ │ │ -0003cf80: 2061 6764 6132 2d6d 6f64 6529 290a 286d agda2-mode)).(m │ │ │ -0003cf90: 6f64 6966 792d 636f 6469 6e67 2d73 7973 odify-coding-sys │ │ │ -0003cfa0: 7465 6d2d 616c 6973 7420 2766 696c 6520 tem-alist 'file │ │ │ -0003cfb0: 225c 5c2e 6c3f 6167 6461 5c5c 2722 2027 "\\.l?agda\\'" ' │ │ │ -0003cfc0: 7574 662d 3829 0a0a 2870 726f 7669 6465 utf-8)..(provide │ │ │ -0003cfd0: 2027 6167 6461 3229 0a87 e59e b9b6 d2bf 'agda2)........ │ │ │ -0003cfe0: fff6 01ce e79d a4bc 9ca3 9a81 0100 9701 ................ │ │ │ -0003cff0: 0003 d02b 05b4 8080 e608 0000 0005 2000 ...+.......... . │ │ │ -0003d000: 0001 0001 0004 0408 0307 0286 8080 ec08 ................ │ │ │ -0003d010: 0200 0003 0f00 0505 050b 8780 80ec 0801 ................ │ │ │ -0003d020: 0520 0000 010b 9001 0ba0 01c6 a88b fedb . .............. │ │ │ -0003d030: 96ac 827e d9c5 9ba0 80b1 8ab7 b501 00a1 ...~............ │ │ │ -0003d040: 0100 03d0 6805 2000 0001 0004 0408 0307 ....h. ......... │ │ │ -0003d050: 025e 0200 0003 0f00 0505 050b 5f0b a201 .^.........._... │ │ │ -0003d060: 0b61 0906 0100 eb37 f9e4 86a4 8382 8188 .a.....7........ │ │ │ -0003d070: 7bab a6ef c4f1 b98f 9354 00a2 0100 03ec {........T...... │ │ │ -0003d080: 8405 8280 80e6 0800 0001 0003 0407 0402 ................ │ │ │ -0003d090: 0000 030f 0009 01eb 373b 3b20 2d2a 2d20 ........7;; -*- │ │ │ -0003d0a0: 6c65 7869 6361 6c2d 6269 6e64 696e 673a lexical-binding: │ │ │ -0003d0b0: 2074 202d 2a2d 0a3b 3b3b 2065 7269 2e65 t -*-.;;; eri.e │ │ │ -0003d0c0: 6c20 2d2d 2d20 456e 6861 6e63 6564 2072 l --- Enhanced r │ │ │ -0003d0d0: 656c 6174 6976 6520 696e 6465 6e74 6174 elative indentat │ │ │ -0003d0e0: 696f 6e20 2865 7269 290a 0a3b 3b20 5350 ion (eri)..;; SP │ │ │ -0003d0f0: 4458 2d4c 6963 656e 7365 2d49 6465 6e74 DX-License-Ident │ │ │ -0003d100: 6966 6965 723a 204d 4954 204c 6963 656e ifier: MIT Licen │ │ │ -0003d110: 7365 0a3b 3b20 5552 4c3a 2068 7474 7073 se.;; URL: https │ │ │ -0003d120: 3a2f 2f67 6974 6875 622e 636f 6d2f 6167 ://github.com/ag │ │ │ -0003d130: 6461 2f61 6764 610a 3b3b 2056 6572 7369 da/agda.;; Versi │ │ │ -0003d140: 6f6e 3a20 312e 300a 0a3b 3b3b 2043 6f6d on: 1.0..;;; Com │ │ │ -0003d150: 6d65 6e74 6172 793a 0a0a 3b3b 2043 7963 mentary:..;; Cyc │ │ │ -0003d160: 6c65 2062 6574 7765 656e 2069 6e64 656e le between inden │ │ │ -0003d170: 7461 7469 6f6e 2070 6f69 6e74 7320 7769 tation points wi │ │ │ -0003d180: 7468 2065 6e68 616e 6365 6420 7265 6c61 th enhanced rela │ │ │ -0003d190: 7469 7665 2069 6e64 656e 7461 7469 6f6e tive indentation │ │ │ -0003d1a0: 2e0a 0a3b 3b3b 2043 6f64 653a 0a0a 2872 ...;;; Code:..(r │ │ │ -0003d1b0: 6571 7569 7265 2027 636c 2d6c 6962 290a equire 'cl-lib). │ │ │ -0003d1c0: 0a28 6465 6675 6e20 6572 692d 6375 7272 .(defun eri-curr │ │ │ -0003d1d0: 656e 742d 6c69 6e65 2d6c 656e 6774 6820 ent-line-length │ │ │ -0003d1e0: 6e69 6c0a 2020 2243 616c 6375 6c61 7465 nil. "Calculate │ │ │ -0003d1f0: 206c 656e 6774 6820 6f66 2063 7572 7265 length of curre │ │ │ -0003d200: 6e74 206c 696e 652e 220a 2020 282d 2028 nt line.". (- ( │ │ │ -0003d210: 6c69 6e65 2d65 6e64 2d70 6f73 6974 696f line-end-positio │ │ │ -0003d220: 6e29 2028 6c69 6e65 2d62 6567 696e 6e69 n) (line-beginni │ │ │ -0003d230: 6e67 2d70 6f73 6974 696f 6e29 2929 0a0a ng-position))).. │ │ │ -0003d240: 2864 6566 756e 2065 7269 2d63 7572 7265 (defun eri-curre │ │ │ -0003d250: 6e74 2d6c 696e 652d 656d 7074 7920 6e69 nt-line-empty ni │ │ │ -0003d260: 6c0a 2020 2252 6574 7572 6e20 6e6f 6e2d l. "Return non- │ │ │ -0003d270: 6e69 6c20 6966 2074 6865 2063 7572 7265 nil if the curre │ │ │ -0003d280: 6e74 206c 696e 6520 6973 2065 6d70 7479 nt line is empty │ │ │ -0003d290: 2028 6e6f 7420 636f 756e 7469 6e67 2077 (not counting w │ │ │ -0003d2a0: 6869 7465 2073 7061 6365 292e 220a 2020 hite space).". │ │ │ -0003d2b0: 2865 7175 616c 2028 6375 7272 656e 742d (equal (current- │ │ │ -0003d2c0: 696e 6465 6e74 6174 696f 6e29 0a20 2020 indentation). │ │ │ -0003d2d0: 2020 2020 2020 2865 7269 2d63 7572 7265 (eri-curre │ │ │ -0003d2e0: 6e74 2d6c 696e 652d 6c65 6e67 7468 2929 nt-line-length)) │ │ │ -0003d2f0: 290a 0a28 6465 6675 6e20 6572 692d 6d61 )..(defun eri-ma │ │ │ -0003d300: 7869 6d75 6d20 2878 7329 0a20 2022 4361 ximum (xs). "Ca │ │ │ -0003d310: 6c63 756c 6174 6520 6d61 7869 6d75 6d20 lculate maximum │ │ │ -0003d320: 656c 656d 656e 7420 696e 2058 532e 0a52 element in XS..R │ │ │ -0003d330: 6574 7572 6e73 206e 696c 2069 6620 7468 eturns nil if th │ │ │ -0003d340: 6520 6c69 7374 2069 7320 656d 7074 792e e list is empty. │ │ │ -0003d350: 220a 2020 2869 6620 7873 2028 6170 706c ". (if xs (appl │ │ │ -0003d360: 7920 276d 6178 2078 7329 2929 0a0a 2864 y 'max xs)))..(d │ │ │ -0003d370: 6566 756e 2065 7269 2d74 616b 6520 286e efun eri-take (n │ │ │ -0003d380: 2078 7329 0a20 2022 5265 7475 726e 2074 xs). "Return t │ │ │ -0003d390: 6865 2066 6972 7374 204e 2065 6c65 6d65 he first N eleme │ │ │ -0003d3a0: 6e74 7320 6f66 2058 532e 220a 2020 2862 nts of XS.". (b │ │ │ -0003d3b0: 7574 6c61 7374 2078 7320 282d 2028 6c65 utlast xs (- (le │ │ │ -0003d3c0: 6e67 7468 2078 7329 206e 2929 290a 0a28 ngth xs) n)))..( │ │ │ -0003d3d0: 6465 6675 6e20 6572 692d 7370 6c69 7420 defun eri-split │ │ │ -0003d3e0: 2878 2078 7329 0a20 2022 5265 7475 726e (x xs). "Return │ │ │ -0003d3f0: 2061 2070 6169 7220 6f66 206c 6973 7473 a pair of lists │ │ │ -0003d400: 2028 5853 3120 2e20 5853 3229 2e0a 4966 (XS1 . XS2)..If │ │ │ -0003d410: 2058 5320 6973 2073 6f72 7465 642c 2074 XS is sorted, t │ │ │ -0003d420: 6865 6e20 5853 203d 2028 6170 7065 6e64 hen XS = (append │ │ │ -0003d430: 2058 5331 2058 5332 292c 2061 6e64 2061 XS1 XS2), and a │ │ │ -0003d440: 6c6c 2065 6c65 6d65 6e74 7320 696e 0a58 ll elements in.X │ │ │ -0003d450: 5331 2061 7265 203c 3d20 582c 2077 6865 S1 are <= X, whe │ │ │ -0003d460: 7265 6173 2061 6c6c 2065 6c65 6d65 6e74 reas all element │ │ │ -0003d470: 7320 696e 2058 5332 2061 7265 203e 2058 s in XS2 are > X │ │ │ -0003d480: 2e22 0a20 2028 6c65 742a 2028 2870 6f73 .". (let* ((pos │ │ │ -0003d490: 2028 6f72 2028 636c 2d70 6f73 6974 696f (or (cl-positio │ │ │ -0003d4a0: 6e2d 6966 2028 6c61 6d62 6461 2028 7929 n-if (lambda (y) │ │ │ -0003d4b0: 2028 3e20 7920 7829 2920 7873 2920 286c (> y x)) xs) (l │ │ │ -0003d4c0: 656e 6774 6820 7873 2929 290a 2020 2020 ength xs))). │ │ │ -0003d4d0: 2020 2020 2028 7873 3120 2865 7269 2d74 (xs1 (eri-t │ │ │ -0003d4e0: 616b 6520 706f 7320 7873 2929 0a20 2020 ake pos xs)). │ │ │ -0003d4f0: 2020 2020 2020 2878 7332 2028 6e74 6863 (xs2 (nthc │ │ │ -0003d500: 6472 2070 6f73 2078 7329 2929 0a20 2020 dr pos xs))). │ │ │ -0003d510: 2028 636f 6e73 2078 7331 2078 7332 2929 (cons xs1 xs2)) │ │ │ -0003d520: 290a 0a28 6465 6675 6e20 6572 692d 6361 )..(defun eri-ca │ │ │ -0003d530: 6c63 756c 6174 652d 696e 6465 6e74 6174 lculate-indentat │ │ │ -0003d540: 696f 6e2d 706f 696e 7473 2d6f 6e2d 6c69 ion-points-on-li │ │ │ -0003d550: 6e65 2028 6d61 7829 0a20 2022 4361 6c63 ne (max). "Calc │ │ │ -0003d560: 756c 6174 6520 696e 6465 6e74 6174 696f ulate indentatio │ │ │ -0003d570: 6e20 706f 696e 7473 206f 6e20 6375 7272 n points on curr │ │ │ -0003d580: 656e 7420 6c69 6e65 2e0a 4f6e 6c79 2070 ent line..Only p │ │ │ -0003d590: 6f69 6e74 7320 6c65 6674 206f 6620 636f oints left of co │ │ │ -0003d5a0: 6c75 6d6e 206e 756d 6265 7220 4d41 5820 lumn number MAX │ │ │ -0003d5b0: 6172 6520 696e 636c 7564 6564 2e20 4966 are included. If │ │ │ -0003d5c0: 204d 4158 2069 730a 6e69 6c2c 2074 6865 MAX is.nil, the │ │ │ -0003d5d0: 6e20 616c 6c20 706f 696e 7473 2061 7265 n all points are │ │ │ -0003d5e0: 2069 6e63 6c75 6465 642e 2050 6f69 6e74 included. Point │ │ │ -0003d5f0: 7320 6172 6520 7265 7475 726e 6564 2069 s are returned i │ │ │ -0003d600: 6e0a 6173 6365 6e64 696e 6720 6f72 6465 n.ascending orde │ │ │ -0003d610: 722e 0a0a 4578 616d 706c 6520 2870 6f73 r...Example (pos │ │ │ -0003d620: 6974 696f 6e73 206d 6172 6b65 6420 7769 itions marked wi │ │ │ -0003d630: 7468 205e 2061 7265 2072 6574 7572 6e65 th ^ are returne │ │ │ -0003d640: 6429 3a0a 0a20 2066 2078 2079 203d 2067 d):.. f x y = g │ │ │ -0003d650: 2033 2028 4a75 7374 2079 2920 3520 340a 3 (Just y) 5 4. │ │ │ -0003d660: 2020 5e20 5e20 5e20 5e20 5e20 5e20 5e20 ^ ^ ^ ^ ^ ^ ^ │ │ │ -0003d670: 2020 2020 5e20 207c 0a20 2020 2020 2020 ^ |. │ │ │ +0003cdc0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 0a3b 3b20 ;;;;;;;;;;;;.;; │ │ │ +0003cdd0: 4167 6461 206d 6f64 6520 636f 6465 2077 Agda mode code w │ │ │ +0003cde0: 6869 6368 2073 686f 756c 6420 7275 6e20 hich should run │ │ │ +0003cdf0: 6265 666f 7265 2074 6865 2066 6972 7374 before the first │ │ │ +0003ce00: 2041 6764 6120 6669 6c65 2069 730a 3b3b Agda file is.;; │ │ │ +0003ce10: 206c 6f61 6465 640a 3b3b 2053 5044 582d loaded.;; SPDX- │ │ │ +0003ce20: 4c69 6365 6e73 652d 4964 656e 7469 6669 License-Identifi │ │ │ +0003ce30: 6572 3a20 4d49 5420 4c69 6365 6e73 650a er: MIT License. │ │ │ +0003ce40: 0a28 6465 6676 6172 2061 6764 6132 2d64 .(defvar agda2-d │ │ │ +0003ce50: 6972 6563 746f 7279 2028 6669 6c65 2d6e irectory (file-n │ │ │ +0003ce60: 616d 652d 6469 7265 6374 6f72 7920 6c6f ame-directory lo │ │ │ +0003ce70: 6164 2d66 696c 652d 6e61 6d65 290a 2020 ad-file-name). │ │ │ +0003ce80: 2250 6174 6820 746f 2074 6865 2064 6972 "Path to the dir │ │ │ +0003ce90: 6563 746f 7279 2074 6861 7420 636f 6e74 ectory that cont │ │ │ +0003cea0: 6169 6e73 2061 6764 6132 2e65 6c28 6329 ains agda2.el(c) │ │ │ +0003ceb0: 2e22 290a 0a28 6164 642d 746f 2d6c 6973 .")..(add-to-lis │ │ │ +0003cec0: 7420 276c 6f61 642d 7061 7468 2028 6f72 t 'load-path (or │ │ │ +0003ced0: 2061 6764 6132 2d64 6972 6563 746f 7279 agda2-directory │ │ │ +0003cee0: 2028 6361 7220 6c6f 6164 2d70 6174 6829 (car load-path) │ │ │ +0003cef0: 2929 0a0a 2861 7574 6f6c 6f61 6420 2761 ))..(autoload 'a │ │ │ +0003cf00: 6764 6132 2d6d 6f64 6520 2261 6764 6132 gda2-mode "agda2 │ │ │ +0003cf10: 2d6d 6f64 6522 0a20 2022 4d61 6a6f 7220 -mode". "Major │ │ │ +0003cf20: 6d6f 6465 2066 6f72 2065 6469 7469 6e67 mode for editing │ │ │ +0003cf30: 2041 6764 6120 6669 6c65 7320 2876 6572 Agda files (ver │ │ │ +0003cf40: 7369 6f6e 20e2 89a5 2032 292e 2220 7429 sion ... 2)." t) │ │ │ +0003cf50: 0a28 6164 642d 746f 2d6c 6973 7420 2761 .(add-to-list 'a │ │ │ +0003cf60: 7574 6f2d 6d6f 6465 2d61 6c69 7374 2027 uto-mode-alist ' │ │ │ +0003cf70: 2822 5c5c 2e6c 3f61 6764 615c 5c27 2220 ("\\.l?agda\\'" │ │ │ +0003cf80: 2e20 6167 6461 322d 6d6f 6465 2929 0a28 . agda2-mode)).( │ │ │ +0003cf90: 6d6f 6469 6679 2d63 6f64 696e 672d 7379 modify-coding-sy │ │ │ +0003cfa0: 7374 656d 2d61 6c69 7374 2027 6669 6c65 stem-alist 'file │ │ │ +0003cfb0: 2022 5c5c 2e6c 3f61 6764 615c 5c27 2220 "\\.l?agda\\'" │ │ │ +0003cfc0: 2775 7466 2d38 290a 0a28 7072 6f76 6964 'utf-8)..(provid │ │ │ +0003cfd0: 6520 2761 6764 6132 290a 87e5 9eb9 b6d2 e 'agda2)....... │ │ │ +0003cfe0: bfff f601 cee7 9da4 bc9c a39a 8101 0097 ................ │ │ │ +0003cff0: 0100 03d0 2c05 b480 80e6 0800 0000 0520 ....,.......... │ │ │ +0003d000: 0000 0100 0100 0404 0803 0702 8680 80ec ................ │ │ │ +0003d010: 0802 0000 030f 0005 0505 0b87 8080 ec08 ................ │ │ │ +0003d020: 0105 2000 0001 0b90 010b a001 c6a8 8bfe .. ............. │ │ │ +0003d030: db96 ac82 7ed9 c59b a080 b18a b7b5 0100 ....~........... │ │ │ +0003d040: a101 0003 d069 0520 0000 0100 0404 0803 .....i. ........ │ │ │ +0003d050: 0702 5e02 0000 030f 0005 0505 0b5f 0ba2 ..^.........._.. │ │ │ +0003d060: 010b 6109 0601 00eb 37f9 e486 a483 8281 ..a.....7....... │ │ │ +0003d070: 887b aba6 efc4 f1b9 8f93 5400 a201 0003 .{........T..... │ │ │ +0003d080: ec85 0582 8080 e608 0000 0100 0304 0704 ................ │ │ │ +0003d090: 0200 0003 0f00 0901 eb37 3b3b 202d 2a2d .........7;; -*- │ │ │ +0003d0a0: 206c 6578 6963 616c 2d62 696e 6469 6e67 lexical-binding │ │ │ +0003d0b0: 3a20 7420 2d2a 2d0a 3b3b 3b20 6572 692e : t -*-.;;; eri. │ │ │ +0003d0c0: 656c 202d 2d2d 2045 6e68 616e 6365 6420 el --- Enhanced │ │ │ +0003d0d0: 7265 6c61 7469 7665 2069 6e64 656e 7461 relative indenta │ │ │ +0003d0e0: 7469 6f6e 2028 6572 6929 0a0a 3b3b 2053 tion (eri)..;; S │ │ │ +0003d0f0: 5044 582d 4c69 6365 6e73 652d 4964 656e PDX-License-Iden │ │ │ +0003d100: 7469 6669 6572 3a20 4d49 5420 4c69 6365 tifier: MIT Lice │ │ │ +0003d110: 6e73 650a 3b3b 2055 524c 3a20 6874 7470 nse.;; URL: http │ │ │ +0003d120: 733a 2f2f 6769 7468 7562 2e63 6f6d 2f61 s://github.com/a │ │ │ +0003d130: 6764 612f 6167 6461 0a3b 3b20 5665 7273 gda/agda.;; Vers │ │ │ +0003d140: 696f 6e3a 2031 2e30 0a0a 3b3b 3b20 436f ion: 1.0..;;; Co │ │ │ +0003d150: 6d6d 656e 7461 7279 3a0a 0a3b 3b20 4379 mmentary:..;; Cy │ │ │ +0003d160: 636c 6520 6265 7477 6565 6e20 696e 6465 cle between inde │ │ │ +0003d170: 6e74 6174 696f 6e20 706f 696e 7473 2077 ntation points w │ │ │ +0003d180: 6974 6820 656e 6861 6e63 6564 2072 656c ith enhanced rel │ │ │ +0003d190: 6174 6976 6520 696e 6465 6e74 6174 696f ative indentatio │ │ │ +0003d1a0: 6e2e 0a0a 3b3b 3b20 436f 6465 3a0a 0a28 n...;;; Code:..( │ │ │ +0003d1b0: 7265 7175 6972 6520 2763 6c2d 6c69 6229 require 'cl-lib) │ │ │ +0003d1c0: 0a0a 2864 6566 756e 2065 7269 2d63 7572 ..(defun eri-cur │ │ │ +0003d1d0: 7265 6e74 2d6c 696e 652d 6c65 6e67 7468 rent-line-length │ │ │ +0003d1e0: 206e 696c 0a20 2022 4361 6c63 756c 6174 nil. "Calculat │ │ │ +0003d1f0: 6520 6c65 6e67 7468 206f 6620 6375 7272 e length of curr │ │ │ +0003d200: 656e 7420 6c69 6e65 2e22 0a20 2028 2d20 ent line.". (- │ │ │ +0003d210: 286c 696e 652d 656e 642d 706f 7369 7469 (line-end-positi │ │ │ +0003d220: 6f6e 2920 286c 696e 652d 6265 6769 6e6e on) (line-beginn │ │ │ +0003d230: 696e 672d 706f 7369 7469 6f6e 2929 290a ing-position))). │ │ │ +0003d240: 0a28 6465 6675 6e20 6572 692d 6375 7272 .(defun eri-curr │ │ │ +0003d250: 656e 742d 6c69 6e65 2d65 6d70 7479 206e ent-line-empty n │ │ │ +0003d260: 696c 0a20 2022 5265 7475 726e 206e 6f6e il. "Return non │ │ │ +0003d270: 2d6e 696c 2069 6620 7468 6520 6375 7272 -nil if the curr │ │ │ +0003d280: 656e 7420 6c69 6e65 2069 7320 656d 7074 ent line is empt │ │ │ +0003d290: 7920 286e 6f74 2063 6f75 6e74 696e 6720 y (not counting │ │ │ +0003d2a0: 7768 6974 6520 7370 6163 6529 2e22 0a20 white space).". │ │ │ +0003d2b0: 2028 6571 7561 6c20 2863 7572 7265 6e74 (equal (current │ │ │ +0003d2c0: 2d69 6e64 656e 7461 7469 6f6e 290a 2020 -indentation). │ │ │ +0003d2d0: 2020 2020 2020 2028 6572 692d 6375 7272 (eri-curr │ │ │ +0003d2e0: 656e 742d 6c69 6e65 2d6c 656e 6774 6829 ent-line-length) │ │ │ +0003d2f0: 2929 0a0a 2864 6566 756e 2065 7269 2d6d ))..(defun eri-m │ │ │ +0003d300: 6178 696d 756d 2028 7873 290a 2020 2243 aximum (xs). "C │ │ │ +0003d310: 616c 6375 6c61 7465 206d 6178 696d 756d alculate maximum │ │ │ +0003d320: 2065 6c65 6d65 6e74 2069 6e20 5853 2e0a element in XS.. │ │ │ +0003d330: 5265 7475 726e 7320 6e69 6c20 6966 2074 Returns nil if t │ │ │ +0003d340: 6865 206c 6973 7420 6973 2065 6d70 7479 he list is empty │ │ │ +0003d350: 2e22 0a20 2028 6966 2078 7320 2861 7070 .". (if xs (app │ │ │ +0003d360: 6c79 2027 6d61 7820 7873 2929 290a 0a28 ly 'max xs)))..( │ │ │ +0003d370: 6465 6675 6e20 6572 692d 7461 6b65 2028 defun eri-take ( │ │ │ +0003d380: 6e20 7873 290a 2020 2252 6574 7572 6e20 n xs). "Return │ │ │ +0003d390: 7468 6520 6669 7273 7420 4e20 656c 656d the first N elem │ │ │ +0003d3a0: 656e 7473 206f 6620 5853 2e22 0a20 2028 ents of XS.". ( │ │ │ +0003d3b0: 6275 746c 6173 7420 7873 2028 2d20 286c butlast xs (- (l │ │ │ +0003d3c0: 656e 6774 6820 7873 2920 6e29 2929 0a0a ength xs) n))).. │ │ │ +0003d3d0: 2864 6566 756e 2065 7269 2d73 706c 6974 (defun eri-split │ │ │ +0003d3e0: 2028 7820 7873 290a 2020 2252 6574 7572 (x xs). "Retur │ │ │ +0003d3f0: 6e20 6120 7061 6972 206f 6620 6c69 7374 n a pair of list │ │ │ +0003d400: 7320 2858 5331 202e 2058 5332 292e 0a49 s (XS1 . XS2)..I │ │ │ +0003d410: 6620 5853 2069 7320 736f 7274 6564 2c20 f XS is sorted, │ │ │ +0003d420: 7468 656e 2058 5320 3d20 2861 7070 656e then XS = (appen │ │ │ +0003d430: 6420 5853 3120 5853 3229 2c20 616e 6420 d XS1 XS2), and │ │ │ +0003d440: 616c 6c20 656c 656d 656e 7473 2069 6e0a all elements in. │ │ │ +0003d450: 5853 3120 6172 6520 3c3d 2058 2c20 7768 XS1 are <= X, wh │ │ │ +0003d460: 6572 6561 7320 616c 6c20 656c 656d 656e ereas all elemen │ │ │ +0003d470: 7473 2069 6e20 5853 3220 6172 6520 3e20 ts in XS2 are > │ │ │ +0003d480: 582e 220a 2020 286c 6574 2a20 2828 706f X.". (let* ((po │ │ │ +0003d490: 7320 286f 7220 2863 6c2d 706f 7369 7469 s (or (cl-positi │ │ │ +0003d4a0: 6f6e 2d69 6620 286c 616d 6264 6120 2879 on-if (lambda (y │ │ │ +0003d4b0: 2920 283e 2079 2078 2929 2078 7329 2028 ) (> y x)) xs) ( │ │ │ +0003d4c0: 6c65 6e67 7468 2078 7329 2929 0a20 2020 length xs))). │ │ │ +0003d4d0: 2020 2020 2020 2878 7331 2028 6572 692d (xs1 (eri- │ │ │ +0003d4e0: 7461 6b65 2070 6f73 2078 7329 290a 2020 take pos xs)). │ │ │ +0003d4f0: 2020 2020 2020 2028 7873 3220 286e 7468 (xs2 (nth │ │ │ +0003d500: 6364 7220 706f 7320 7873 2929 290a 2020 cdr pos xs))). │ │ │ +0003d510: 2020 2863 6f6e 7320 7873 3120 7873 3229 (cons xs1 xs2) │ │ │ +0003d520: 2929 0a0a 2864 6566 756e 2065 7269 2d63 ))..(defun eri-c │ │ │ +0003d530: 616c 6375 6c61 7465 2d69 6e64 656e 7461 alculate-indenta │ │ │ +0003d540: 7469 6f6e 2d70 6f69 6e74 732d 6f6e 2d6c tion-points-on-l │ │ │ +0003d550: 696e 6520 286d 6178 290a 2020 2243 616c ine (max). "Cal │ │ │ +0003d560: 6375 6c61 7465 2069 6e64 656e 7461 7469 culate indentati │ │ │ +0003d570: 6f6e 2070 6f69 6e74 7320 6f6e 2063 7572 on points on cur │ │ │ +0003d580: 7265 6e74 206c 696e 652e 0a4f 6e6c 7920 rent line..Only │ │ │ +0003d590: 706f 696e 7473 206c 6566 7420 6f66 2063 points left of c │ │ │ +0003d5a0: 6f6c 756d 6e20 6e75 6d62 6572 204d 4158 olumn number MAX │ │ │ +0003d5b0: 2061 7265 2069 6e63 6c75 6465 642e 2049 are included. I │ │ │ +0003d5c0: 6620 4d41 5820 6973 0a6e 696c 2c20 7468 f MAX is.nil, th │ │ │ +0003d5d0: 656e 2061 6c6c 2070 6f69 6e74 7320 6172 en all points ar │ │ │ +0003d5e0: 6520 696e 636c 7564 6564 2e20 506f 696e e included. Poin │ │ │ +0003d5f0: 7473 2061 7265 2072 6574 7572 6e65 6420 ts are returned │ │ │ +0003d600: 696e 0a61 7363 656e 6469 6e67 206f 7264 in.ascending ord │ │ │ +0003d610: 6572 2e0a 0a45 7861 6d70 6c65 2028 706f er...Example (po │ │ │ +0003d620: 7369 7469 6f6e 7320 6d61 726b 6564 2077 sitions marked w │ │ │ +0003d630: 6974 6820 5e20 6172 6520 7265 7475 726e ith ^ are return │ │ │ +0003d640: 6564 293a 0a0a 2020 6620 7820 7920 3d20 ed):.. f x y = │ │ │ +0003d650: 6720 3320 284a 7573 7420 7929 2035 2034 g 3 (Just y) 5 4 │ │ │ +0003d660: 0a20 205e 205e 205e 205e 205e 205e 205e . ^ ^ ^ ^ ^ ^ ^ │ │ │ +0003d670: 2020 2020 205e 2020 7c0a 2020 2020 2020 ^ |. │ │ │ 0003d680: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0003d690: 7c0a 2020 2020 2020 2020 2020 2020 2020 |. │ │ │ -0003d6a0: 2020 2020 2020 2020 204d 4158 220a 2020 MAX". │ │ │ -0003d6b0: 286c 6574 2028 2872 6573 756c 7420 6e69 (let ((result ni │ │ │ -0003d6c0: 6c29 290a 2020 2020 2873 6176 652d 6578 l)). (save-ex │ │ │ -0003d6d0: 6375 7273 696f 6e0a 2020 2020 2020 2873 cursion. (s │ │ │ -0003d6e0: 6176 652d 7265 7374 7269 6374 696f 6e0a ave-restriction. │ │ │ -0003d6f0: 2020 2020 2020 2020 2862 6567 696e 6e69 (beginni │ │ │ -0003d700: 6e67 2d6f 662d 6c69 6e65 290a 2020 2020 ng-of-line). │ │ │ -0003d710: 2020 2020 3b20 546f 206d 616b 6520 5c5c ; To make \\ │ │ │ -0003d720: 6020 776f 726b 2069 6e20 7468 6520 7265 ` work in the re │ │ │ -0003d730: 6765 7870 2062 656c 6f77 3a0a 2020 2020 gexp below:. │ │ │ -0003d740: 2020 2020 286e 6172 726f 772d 746f 2d72 (narrow-to-r │ │ │ -0003d750: 6567 696f 6e20 286c 696e 652d 6265 6769 egion (line-begi │ │ │ -0003d760: 6e6e 696e 672d 706f 7369 7469 6f6e 2920 nning-position) │ │ │ -0003d770: 286c 696e 652d 656e 642d 706f 7369 7469 (line-end-positi │ │ │ -0003d780: 6f6e 2929 0a20 2020 2020 2020 2028 7768 on)). (wh │ │ │ -0003d790: 696c 650a 2020 2020 2020 2020 2020 2020 ile. │ │ │ -0003d7a0: 2870 726f 676e 0a20 2020 2020 2020 2020 (progn. │ │ │ -0003d7b0: 2020 2020 2028 6c65 7420 2828 706f 7320 (let ((pos │ │ │ -0003d7c0: 2861 6e64 2028 7365 6172 6368 2d66 6f72 (and (search-for │ │ │ -0003d7d0: 7761 7264 2d72 6567 6578 700a 2020 2020 ward-regexp. │ │ │ +0003d690: 207c 0a20 2020 2020 2020 2020 2020 2020 |. │ │ │ +0003d6a0: 2020 2020 2020 2020 2020 4d41 5822 0a20 MAX". │ │ │ +0003d6b0: 2028 6c65 7420 2828 7265 7375 6c74 206e (let ((result n │ │ │ +0003d6c0: 696c 2929 0a20 2020 2028 7361 7665 2d65 il)). (save-e │ │ │ +0003d6d0: 7863 7572 7369 6f6e 0a20 2020 2020 2028 xcursion. ( │ │ │ +0003d6e0: 7361 7665 2d72 6573 7472 6963 7469 6f6e save-restriction │ │ │ +0003d6f0: 0a20 2020 2020 2020 2028 6265 6769 6e6e . (beginn │ │ │ +0003d700: 696e 672d 6f66 2d6c 696e 6529 0a20 2020 ing-of-line). │ │ │ +0003d710: 2020 2020 203b 2054 6f20 6d61 6b65 205c ; To make \ │ │ │ +0003d720: 5c60 2077 6f72 6b20 696e 2074 6865 2072 \` work in the r │ │ │ +0003d730: 6567 6578 7020 6265 6c6f 773a 0a20 2020 egexp below:. │ │ │ +0003d740: 2020 2020 2028 6e61 7272 6f77 2d74 6f2d (narrow-to- │ │ │ +0003d750: 7265 6769 6f6e 2028 6c69 6e65 2d62 6567 region (line-beg │ │ │ +0003d760: 696e 6e69 6e67 2d70 6f73 6974 696f 6e29 inning-position) │ │ │ +0003d770: 2028 6c69 6e65 2d65 6e64 2d70 6f73 6974 (line-end-posit │ │ │ +0003d780: 696f 6e29 290a 2020 2020 2020 2020 2877 ion)). (w │ │ │ +0003d790: 6869 6c65 0a20 2020 2020 2020 2020 2020 hile. │ │ │ +0003d7a0: 2028 7072 6f67 6e0a 2020 2020 2020 2020 (progn. │ │ │ +0003d7b0: 2020 2020 2020 286c 6574 2028 2870 6f73 (let ((pos │ │ │ +0003d7c0: 2028 616e 6420 2873 6561 7263 682d 666f (and (search-fo │ │ │ +0003d7d0: 7277 6172 642d 7265 6765 7870 0a20 2020 rward-regexp. │ │ │ 0003d7e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0003d7f0: 2020 2020 2020 2020 2020 2022 5c5c 283f "\\(? │ │ │ -0003d800: 3a5c 5c73 2d5c 5c7c 5c5c 605c 5c29 5c5c :\\s-\\|\\`\\)\\ │ │ │ -0003d810: 285c 5c53 2d5c 5c29 2220 6e69 6c20 7429 (\\S-\\)" nil t) │ │ │ -0003d820: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ -0003d830: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ -0003d840: 6d61 7463 682d 6265 6769 6e6e 696e 6720 match-beginning │ │ │ -0003d850: 3129 2929 290a 2020 2020 2020 2020 2020 1)))). │ │ │ -0003d860: 2020 2020 2020 2877 6865 6e20 286e 6f74 (when (not │ │ │ -0003d870: 2028 6e75 6c6c 2070 6f73 2929 0a20 2020 (null pos)). │ │ │ -0003d880: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ -0003d890: 6c65 7420 2828 706f 7331 2028 2d20 706f let ((pos1 (- po │ │ │ -0003d8a0: 7320 286c 696e 652d 6265 6769 6e6e 696e s (line-beginnin │ │ │ -0003d8b0: 672d 706f 7369 7469 6f6e 2929 2929 0a20 g-position)))). │ │ │ +0003d7f0: 2020 2020 2020 2020 2020 2020 225c 5c28 "\\( │ │ │ +0003d800: 3f3a 5c5c 732d 5c5c 7c5c 5c60 5c5c 295c ?:\\s-\\|\\`\\)\ │ │ │ +0003d810: 5c28 5c5c 532d 5c5c 2922 206e 696c 2074 \(\\S-\\)" nil t │ │ │ +0003d820: 290a 2020 2020 2020 2020 2020 2020 2020 ). │ │ │ +0003d830: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +0003d840: 286d 6174 6368 2d62 6567 696e 6e69 6e67 (match-beginning │ │ │ +0003d850: 2031 2929 2929 0a20 2020 2020 2020 2020 1)))). │ │ │ +0003d860: 2020 2020 2020 2028 7768 656e 2028 6e6f (when (no │ │ │ +0003d870: 7420 286e 756c 6c20 706f 7329 290a 2020 t (null pos)). │ │ │ +0003d880: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +0003d890: 286c 6574 2028 2870 6f73 3120 282d 2070 (let ((pos1 (- p │ │ │ +0003d8a0: 6f73 2028 6c69 6e65 2d62 6567 696e 6e69 os (line-beginni │ │ │ +0003d8b0: 6e67 2d70 6f73 6974 696f 6e29 2929 290a ng-position)))). │ │ │ 0003d8c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0003d8d0: 2020 2028 7768 656e 2028 6f72 2028 6e75 (when (or (nu │ │ │ -0003d8e0: 6c6c 206d 6178 2920 283c 2070 6f73 3120 ll max) (< pos1 │ │ │ -0003d8f0: 6d61 7829 290a 2020 2020 2020 2020 2020 max)). │ │ │ -0003d900: 2020 2020 2020 2020 2020 2020 2863 6c2d (cl- │ │ │ -0003d910: 7075 7368 6e65 7720 706f 7331 2072 6573 pushnew pos1 res │ │ │ -0003d920: 756c 7429 2929 290a 2020 2020 2020 2020 ult)))). │ │ │ -0003d930: 2020 2020 2020 2020 2861 6e64 2070 6f73 (and pos │ │ │ -0003d940: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ -0003d950: 2020 2020 2020 283c 2028 706f 696e 7429 (< (point) │ │ │ -0003d960: 2028 6c69 6e65 2d65 6e64 2d70 6f73 6974 (line-end-posit │ │ │ -0003d970: 696f 6e29 290a 2020 2020 2020 2020 2020 ion)). │ │ │ -0003d980: 2020 2020 2020 2020 2020 2028 6f72 2028 (or ( │ │ │ -0003d990: 6e75 6c6c 206d 6178 2920 283c 2028 6375 null max) (< (cu │ │ │ -0003d9a0: 7272 656e 742d 636f 6c75 6d6e 2920 6d61 rrent-column) ma │ │ │ -0003d9b0: 7829 2929 2929 290a 2020 2020 2020 2020 x)))))). │ │ │ -0003d9c0: 286e 7265 7665 7273 6520 7265 7375 6c74 (nreverse result │ │ │ -0003d9d0: 2920 3b20 4465 7374 7275 6374 6976 6520 ) ; Destructive │ │ │ -0003d9e0: 6f70 6572 6174 696f 6e2e 0a20 2020 2020 operation.. │ │ │ -0003d9f0: 2020 2029 2929 290a 0a28 6465 6675 6e20 ))))..(defun │ │ │ -0003da00: 6572 692d 6e65 772d 696e 6465 6e74 6174 eri-new-indentat │ │ │ -0003da10: 696f 6e2d 706f 696e 7473 2028 290a 2020 ion-points (). │ │ │ -0003da20: 2243 616c 6375 6c61 7465 206e 6577 2069 "Calculate new i │ │ │ -0003da30: 6e64 656e 7461 7469 6f6e 2070 6f69 6e74 ndentation point │ │ │ -0003da40: 732e 0a52 6574 7572 6e73 2061 2073 696e s..Returns a sin │ │ │ -0003da50: 676c 6574 6f6e 206c 6973 7420 636f 6e74 gleton list cont │ │ │ -0003da60: 6169 6e69 6e67 2074 6865 2063 6f6c 756d aining the colum │ │ │ -0003da70: 6e20 6e75 6d62 6572 2074 776f 2073 7465 n number two ste │ │ │ -0003da80: 7073 0a69 6e20 6672 6f6d 2074 6865 2069 ps.in from the i │ │ │ -0003da90: 6e64 656e 7461 7469 6f6e 206f 6620 7468 ndentation of th │ │ │ -0003daa0: 6520 6669 7273 7420 6e6f 6e2d 656d 7074 e first non-empt │ │ │ -0003dab0: 7920 6c69 6e65 2028 7768 6974 6520 7370 y line (white sp │ │ │ -0003dac0: 6163 650a 6578 636c 7564 6564 2920 6162 ace.excluded) ab │ │ │ -0003dad0: 6f76 6520 7468 6520 6375 7272 656e 7420 ove the current │ │ │ -0003dae0: 6c69 6e65 2e20 4966 2074 6865 7265 2069 line. If there i │ │ │ -0003daf0: 7320 6e6f 2073 7563 6820 6c69 6e65 2c0a s no such line,. │ │ │ -0003db00: 7468 656e 2074 6865 2065 6d70 7479 206c then the empty l │ │ │ -0003db10: 6973 7420 6973 2072 6574 7572 6e65 642e ist is returned. │ │ │ -0003db20: 220a 2020 286c 6574 2028 2873 7461 7274 ". (let ((start │ │ │ -0003db30: 2028 6c69 6e65 2d62 6567 696e 6e69 6e67 (line-beginning │ │ │ -0003db40: 2d70 6f73 6974 696f 6e29 2929 0a20 2020 -position))). │ │ │ -0003db50: 2028 7361 7665 2d65 7863 7572 7369 6f6e (save-excursion │ │ │ -0003db60: 0a20 2020 2020 203b 2046 696e 6420 6120 . ; Find a │ │ │ -0003db70: 6e6f 6e2d 656d 7074 7920 6c69 6e65 2061 non-empty line a │ │ │ -0003db80: 626f 7665 2074 6865 2063 7572 7265 6e74 bove the current │ │ │ -0003db90: 206f 6e65 2c20 6966 2061 6e79 2e0a 2020 one, if any.. │ │ │ -0003dba0: 2020 2020 2877 6869 6c65 0a20 2020 2020 (while. │ │ │ -0003dbb0: 2020 2020 2028 7072 6f67 6e0a 2020 2020 (progn. │ │ │ -0003dbc0: 2020 2020 2020 2020 2866 6f72 7761 7264 (forward │ │ │ -0003dbd0: 2d6c 696e 6520 2d31 290a 2020 2020 2020 -line -1). │ │ │ -0003dbe0: 2020 2020 2020 286e 6f74 2028 6f72 2028 (not (or ( │ │ │ -0003dbf0: 626f 6270 290a 2020 2020 2020 2020 2020 bobp). │ │ │ -0003dc00: 2020 2020 2020 2020 2020 2028 6e6f 7420 (not │ │ │ -0003dc10: 2865 7269 2d63 7572 7265 6e74 2d6c 696e (eri-current-lin │ │ │ -0003dc20: 652d 656d 7074 7929 2929 2929 290a 2020 e-empty)))))). │ │ │ -0003dc30: 2020 2020 2869 6620 286f 7220 2865 7175 (if (or (equ │ │ │ -0003dc40: 616c 2028 706f 696e 7429 2073 7461 7274 al (point) start │ │ │ -0003dc50: 290a 2020 2020 2020 2020 2020 2020 2020 ). │ │ │ -0003dc60: 2865 7269 2d63 7572 7265 6e74 2d6c 696e (eri-current-lin │ │ │ -0003dc70: 652d 656d 7074 7929 290a 2020 2020 2020 e-empty)). │ │ │ -0003dc80: 2020 2020 6e69 6c0a 2020 2020 2020 2020 nil. │ │ │ -0003dc90: 286c 6973 7420 282b 2032 2028 6375 7272 (list (+ 2 (curr │ │ │ -0003dca0: 656e 742d 696e 6465 6e74 6174 696f 6e29 ent-indentation) │ │ │ -0003dcb0: 2929 2929 2929 0a0a 2864 6566 756e 2065 ))))))..(defun e │ │ │ -0003dcc0: 7269 2d63 616c 6375 6c61 7465 2d69 6e64 ri-calculate-ind │ │ │ -0003dcd0: 656e 7461 7469 6f6e 2d70 6f69 6e74 7320 entation-points │ │ │ -0003dce0: 2872 6576 6572 7365 290a 2020 2243 616c (reverse). "Cal │ │ │ -0003dcf0: 6375 6c61 7465 2070 6f69 6e74 7320 7573 culate points us │ │ │ -0003dd00: 6564 2074 6f20 696e 6465 6e74 2074 6865 ed to indent the │ │ │ -0003dd10: 2063 7572 7265 6e74 206c 696e 652e 0a54 current line..T │ │ │ -0003dd20: 6865 2070 6f69 6e74 7320 6172 6520 6769 he points are gi │ │ │ -0003dd30: 7665 6e20 696e 2072 6576 6572 7365 206f ven in reverse o │ │ │ -0003dd40: 7264 6572 2069 6620 5245 5645 5253 4520 rder if REVERSE │ │ │ -0003dd50: 6973 206e 6f6e 2d6e 696c 2e20 5365 650a is non-nil. See. │ │ │ -0003dd60: 6065 7269 2d69 6e64 656e 7427 2066 6f72 `eri-indent' for │ │ │ -0003dd70: 2061 2064 6573 6372 6970 7469 6f6e 206f a description o │ │ │ -0003dd80: 6620 686f 7720 7468 6520 696e 6465 6e74 f how the indent │ │ │ -0003dd90: 6174 696f 6e20 706f 696e 7473 2061 7265 ation points are │ │ │ -0003dda0: 0a63 616c 6375 6c61 7465 643b 206e 6f74 .calculated; not │ │ │ -0003ddb0: 6520 7468 6174 2074 6865 2063 7572 7265 e that the curre │ │ │ -0003ddc0: 6e74 2069 6e64 656e 7461 7469 6f6e 2069 nt indentation i │ │ │ -0003ddd0: 7320 6e6f 7420 696e 636c 7564 6564 2069 s not included i │ │ │ -0003dde0: 6e0a 7468 6520 7265 7475 726e 6564 206c n.the returned l │ │ │ -0003ddf0: 6973 742e 220a 2020 3b3b 2046 6972 7374 ist.". ;; First │ │ │ -0003de00: 2066 696e 6420 6120 6275 6e63 6820 6f66 find a bunch of │ │ │ -0003de10: 2069 6e64 656e 7461 7469 6f6e 7320 7573 indentations us │ │ │ -0003de20: 6564 2061 626f 7665 2074 6865 2063 7572 ed above the cur │ │ │ -0003de30: 7265 6e74 206c 696e 652e 0a20 2028 6c65 rent line.. (le │ │ │ -0003de40: 7420 2828 706f 696e 7473 290a 2020 2020 t ((points). │ │ │ -0003de50: 2020 2020 286d 6178 290a 2020 2020 2020 (max). │ │ │ -0003de60: 2020 2873 7461 7274 2028 6c69 6e65 2d62 (start (line-b │ │ │ -0003de70: 6567 696e 6e69 6e67 2d70 6f73 6974 696f eginning-positio │ │ │ -0003de80: 6e29 2929 0a20 2020 2028 7361 7665 2d65 n))). (save-e │ │ │ -0003de90: 7863 7572 7369 6f6e 0a20 2020 2020 2028 xcursion. ( │ │ │ -0003dea0: 7768 696c 650a 2020 2020 2020 2020 2020 while. │ │ │ -0003deb0: 2870 726f 676e 0a20 2020 2020 2020 2020 (progn. │ │ │ -0003dec0: 2020 2028 666f 7277 6172 642d 6c69 6e65 (forward-line │ │ │ -0003ded0: 202d 3129 0a20 2020 2020 2020 2020 2020 -1). │ │ │ -0003dee0: 203b 2053 6b69 7020 7468 6520 6c69 6e65 ; Skip the line │ │ │ -0003def0: 2077 6520 7374 6172 7465 6420 6672 6f6d we started from │ │ │ -0003df00: 2061 6e64 206c 696e 6573 2077 6974 6820 and lines with │ │ │ -0003df10: 6e6f 7468 696e 6720 6275 740a 2020 2020 nothing but. │ │ │ -0003df20: 2020 2020 2020 2020 3b20 7768 6974 6520 ; white │ │ │ -0003df30: 7370 6163 652e 0a20 2020 2020 2020 2020 space.. │ │ │ -0003df40: 2020 2028 756e 6c65 7373 2028 6f72 2028 (unless (or ( │ │ │ -0003df50: 6571 7561 6c20 2870 6f69 6e74 2920 7374 equal (point) st │ │ │ -0003df60: 6172 7429 0a20 2020 2020 2020 2020 2020 art). │ │ │ -0003df70: 2020 2020 2020 2020 2020 2020 2028 6572 (er │ │ │ -0003df80: 692d 6375 7272 656e 742d 6c69 6e65 2d65 i-current-line-e │ │ │ -0003df90: 6d70 7479 2929 0a20 2020 2020 2020 2020 mpty)). │ │ │ -0003dfa0: 2020 2020 2028 7365 7471 2070 6f69 6e74 (setq point │ │ │ -0003dfb0: 730a 2020 2020 2020 2020 2020 2020 2020 s. │ │ │ -0003dfc0: 2020 2020 2020 2861 7070 656e 640a 2020 (append. │ │ │ +0003d8d0: 2020 2020 2877 6865 6e20 286f 7220 286e (when (or (n │ │ │ +0003d8e0: 756c 6c20 6d61 7829 2028 3c20 706f 7331 ull max) (< pos1 │ │ │ +0003d8f0: 206d 6178 2929 0a20 2020 2020 2020 2020 max)). │ │ │ +0003d900: 2020 2020 2020 2020 2020 2020 2028 636c (cl │ │ │ +0003d910: 2d70 7573 686e 6577 2070 6f73 3120 7265 -pushnew pos1 re │ │ │ +0003d920: 7375 6c74 2929 2929 0a20 2020 2020 2020 sult)))). │ │ │ +0003d930: 2020 2020 2020 2020 2028 616e 6420 706f (and po │ │ │ +0003d940: 730a 2020 2020 2020 2020 2020 2020 2020 s. │ │ │ +0003d950: 2020 2020 2020 2028 3c20 2870 6f69 6e74 (< (point │ │ │ +0003d960: 2920 286c 696e 652d 656e 642d 706f 7369 ) (line-end-posi │ │ │ +0003d970: 7469 6f6e 2929 0a20 2020 2020 2020 2020 tion)). │ │ │ +0003d980: 2020 2020 2020 2020 2020 2020 286f 7220 (or │ │ │ +0003d990: 286e 756c 6c20 6d61 7829 2028 3c20 2863 (null max) (< (c │ │ │ +0003d9a0: 7572 7265 6e74 2d63 6f6c 756d 6e29 206d urrent-column) m │ │ │ +0003d9b0: 6178 2929 2929 2929 0a20 2020 2020 2020 ax)))))). │ │ │ +0003d9c0: 2028 6e72 6576 6572 7365 2072 6573 756c (nreverse resul │ │ │ +0003d9d0: 7429 203b 2044 6573 7472 7563 7469 7665 t) ; Destructive │ │ │ +0003d9e0: 206f 7065 7261 7469 6f6e 2e0a 2020 2020 operation.. │ │ │ +0003d9f0: 2020 2020 2929 2929 0a0a 2864 6566 756e ))))..(defun │ │ │ +0003da00: 2065 7269 2d6e 6577 2d69 6e64 656e 7461 eri-new-indenta │ │ │ +0003da10: 7469 6f6e 2d70 6f69 6e74 7320 2829 0a20 tion-points (). │ │ │ +0003da20: 2022 4361 6c63 756c 6174 6520 6e65 7720 "Calculate new │ │ │ +0003da30: 696e 6465 6e74 6174 696f 6e20 706f 696e indentation poin │ │ │ +0003da40: 7473 2e0a 5265 7475 726e 7320 6120 7369 ts..Returns a si │ │ │ +0003da50: 6e67 6c65 746f 6e20 6c69 7374 2063 6f6e ngleton list con │ │ │ +0003da60: 7461 696e 696e 6720 7468 6520 636f 6c75 taining the colu │ │ │ +0003da70: 6d6e 206e 756d 6265 7220 7477 6f20 7374 mn number two st │ │ │ +0003da80: 6570 730a 696e 2066 726f 6d20 7468 6520 eps.in from the │ │ │ +0003da90: 696e 6465 6e74 6174 696f 6e20 6f66 2074 indentation of t │ │ │ +0003daa0: 6865 2066 6972 7374 206e 6f6e 2d65 6d70 he first non-emp │ │ │ +0003dab0: 7479 206c 696e 6520 2877 6869 7465 2073 ty line (white s │ │ │ +0003dac0: 7061 6365 0a65 7863 6c75 6465 6429 2061 pace.excluded) a │ │ │ +0003dad0: 626f 7665 2074 6865 2063 7572 7265 6e74 bove the current │ │ │ +0003dae0: 206c 696e 652e 2049 6620 7468 6572 6520 line. If there │ │ │ +0003daf0: 6973 206e 6f20 7375 6368 206c 696e 652c is no such line, │ │ │ +0003db00: 0a74 6865 6e20 7468 6520 656d 7074 7920 .then the empty │ │ │ +0003db10: 6c69 7374 2069 7320 7265 7475 726e 6564 list is returned │ │ │ +0003db20: 2e22 0a20 2028 6c65 7420 2828 7374 6172 .". (let ((star │ │ │ +0003db30: 7420 286c 696e 652d 6265 6769 6e6e 696e t (line-beginnin │ │ │ +0003db40: 672d 706f 7369 7469 6f6e 2929 290a 2020 g-position))). │ │ │ +0003db50: 2020 2873 6176 652d 6578 6375 7273 696f (save-excursio │ │ │ +0003db60: 6e0a 2020 2020 2020 3b20 4669 6e64 2061 n. ; Find a │ │ │ +0003db70: 206e 6f6e 2d65 6d70 7479 206c 696e 6520 non-empty line │ │ │ +0003db80: 6162 6f76 6520 7468 6520 6375 7272 656e above the curren │ │ │ +0003db90: 7420 6f6e 652c 2069 6620 616e 792e 0a20 t one, if any.. │ │ │ +0003dba0: 2020 2020 2028 7768 696c 650a 2020 2020 (while. │ │ │ +0003dbb0: 2020 2020 2020 2870 726f 676e 0a20 2020 (progn. │ │ │ +0003dbc0: 2020 2020 2020 2020 2028 666f 7277 6172 (forwar │ │ │ +0003dbd0: 642d 6c69 6e65 202d 3129 0a20 2020 2020 d-line -1). │ │ │ +0003dbe0: 2020 2020 2020 2028 6e6f 7420 286f 7220 (not (or │ │ │ +0003dbf0: 2862 6f62 7029 0a20 2020 2020 2020 2020 (bobp). │ │ │ +0003dc00: 2020 2020 2020 2020 2020 2020 286e 6f74 (not │ │ │ +0003dc10: 2028 6572 692d 6375 7272 656e 742d 6c69 (eri-current-li │ │ │ +0003dc20: 6e65 2d65 6d70 7479 2929 2929 2929 0a20 ne-empty)))))). │ │ │ +0003dc30: 2020 2020 2028 6966 2028 6f72 2028 6571 (if (or (eq │ │ │ +0003dc40: 7561 6c20 2870 6f69 6e74 2920 7374 6172 ual (point) star │ │ │ +0003dc50: 7429 0a20 2020 2020 2020 2020 2020 2020 t). │ │ │ +0003dc60: 2028 6572 692d 6375 7272 656e 742d 6c69 (eri-current-li │ │ │ +0003dc70: 6e65 2d65 6d70 7479 2929 0a20 2020 2020 ne-empty)). │ │ │ +0003dc80: 2020 2020 206e 696c 0a20 2020 2020 2020 nil. │ │ │ +0003dc90: 2028 6c69 7374 2028 2b20 3220 2863 7572 (list (+ 2 (cur │ │ │ +0003dca0: 7265 6e74 2d69 6e64 656e 7461 7469 6f6e rent-indentation │ │ │ +0003dcb0: 2929 2929 2929 290a 0a28 6465 6675 6e20 )))))))..(defun │ │ │ +0003dcc0: 6572 692d 6361 6c63 756c 6174 652d 696e eri-calculate-in │ │ │ +0003dcd0: 6465 6e74 6174 696f 6e2d 706f 696e 7473 dentation-points │ │ │ +0003dce0: 2028 7265 7665 7273 6529 0a20 2022 4361 (reverse). "Ca │ │ │ +0003dcf0: 6c63 756c 6174 6520 706f 696e 7473 2075 lculate points u │ │ │ +0003dd00: 7365 6420 746f 2069 6e64 656e 7420 7468 sed to indent th │ │ │ +0003dd10: 6520 6375 7272 656e 7420 6c69 6e65 2e0a e current line.. │ │ │ +0003dd20: 5468 6520 706f 696e 7473 2061 7265 2067 The points are g │ │ │ +0003dd30: 6976 656e 2069 6e20 7265 7665 7273 6520 iven in reverse │ │ │ +0003dd40: 6f72 6465 7220 6966 2052 4556 4552 5345 order if REVERSE │ │ │ +0003dd50: 2069 7320 6e6f 6e2d 6e69 6c2e 2053 6565 is non-nil. See │ │ │ +0003dd60: 0a60 6572 692d 696e 6465 6e74 2720 666f .`eri-indent' fo │ │ │ +0003dd70: 7220 6120 6465 7363 7269 7074 696f 6e20 r a description │ │ │ +0003dd80: 6f66 2068 6f77 2074 6865 2069 6e64 656e of how the inden │ │ │ +0003dd90: 7461 7469 6f6e 2070 6f69 6e74 7320 6172 tation points ar │ │ │ +0003dda0: 650a 6361 6c63 756c 6174 6564 3b20 6e6f e.calculated; no │ │ │ +0003ddb0: 7465 2074 6861 7420 7468 6520 6375 7272 te that the curr │ │ │ +0003ddc0: 656e 7420 696e 6465 6e74 6174 696f 6e20 ent indentation │ │ │ +0003ddd0: 6973 206e 6f74 2069 6e63 6c75 6465 6420 is not included │ │ │ +0003dde0: 696e 0a74 6865 2072 6574 7572 6e65 6420 in.the returned │ │ │ +0003ddf0: 6c69 7374 2e22 0a20 203b 3b20 4669 7273 list.". ;; Firs │ │ │ +0003de00: 7420 6669 6e64 2061 2062 756e 6368 206f t find a bunch o │ │ │ +0003de10: 6620 696e 6465 6e74 6174 696f 6e73 2075 f indentations u │ │ │ +0003de20: 7365 6420 6162 6f76 6520 7468 6520 6375 sed above the cu │ │ │ +0003de30: 7272 656e 7420 6c69 6e65 2e0a 2020 286c rrent line.. (l │ │ │ +0003de40: 6574 2028 2870 6f69 6e74 7329 0a20 2020 et ((points). │ │ │ +0003de50: 2020 2020 2028 6d61 7829 0a20 2020 2020 (max). │ │ │ +0003de60: 2020 2028 7374 6172 7420 286c 696e 652d (start (line- │ │ │ +0003de70: 6265 6769 6e6e 696e 672d 706f 7369 7469 beginning-positi │ │ │ +0003de80: 6f6e 2929 290a 2020 2020 2873 6176 652d on))). (save- │ │ │ +0003de90: 6578 6375 7273 696f 6e0a 2020 2020 2020 excursion. │ │ │ +0003dea0: 2877 6869 6c65 0a20 2020 2020 2020 2020 (while. │ │ │ +0003deb0: 2028 7072 6f67 6e0a 2020 2020 2020 2020 (progn. │ │ │ +0003dec0: 2020 2020 2866 6f72 7761 7264 2d6c 696e (forward-lin │ │ │ +0003ded0: 6520 2d31 290a 2020 2020 2020 2020 2020 e -1). │ │ │ +0003dee0: 2020 3b20 536b 6970 2074 6865 206c 696e ; Skip the lin │ │ │ +0003def0: 6520 7765 2073 7461 7274 6564 2066 726f e we started fro │ │ │ +0003df00: 6d20 616e 6420 6c69 6e65 7320 7769 7468 m and lines with │ │ │ +0003df10: 206e 6f74 6869 6e67 2062 7574 0a20 2020 nothing but. │ │ │ +0003df20: 2020 2020 2020 2020 203b 2077 6869 7465 ; white │ │ │ +0003df30: 2073 7061 6365 2e0a 2020 2020 2020 2020 space.. │ │ │ +0003df40: 2020 2020 2875 6e6c 6573 7320 286f 7220 (unless (or │ │ │ +0003df50: 2865 7175 616c 2028 706f 696e 7429 2073 (equal (point) s │ │ │ +0003df60: 7461 7274 290a 2020 2020 2020 2020 2020 tart). │ │ │ +0003df70: 2020 2020 2020 2020 2020 2020 2020 2865 (e │ │ │ +0003df80: 7269 2d63 7572 7265 6e74 2d6c 696e 652d ri-current-line- │ │ │ +0003df90: 656d 7074 7929 290a 2020 2020 2020 2020 empty)). │ │ │ +0003dfa0: 2020 2020 2020 2873 6574 7120 706f 696e (setq poin │ │ │ +0003dfb0: 7473 0a20 2020 2020 2020 2020 2020 2020 ts. │ │ │ +0003dfc0: 2020 2020 2020 2028 6170 7065 6e64 0a20 (append. │ │ │ 0003dfd0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0003dfe0: 2020 2028 6572 692d 6361 6c63 756c 6174 (eri-calculat │ │ │ -0003dff0: 652d 696e 6465 6e74 6174 696f 6e2d 706f e-indentation-po │ │ │ -0003e000: 696e 7473 2d6f 6e2d 6c69 6e65 206d 6178 ints-on-line max │ │ │ -0003e010: 290a 2020 2020 2020 2020 2020 2020 2020 ). │ │ │ -0003e020: 2020 2020 2020 2070 6f69 6e74 7329 290a points)). │ │ │ -0003e030: 2020 2020 2020 2020 2020 2020 2020 2873 (s │ │ │ -0003e040: 6574 7120 6d61 7820 2863 6172 2070 6f69 etq max (car poi │ │ │ -0003e050: 6e74 7329 2929 0a20 2020 2020 2020 2020 nts))). │ │ │ -0003e060: 2020 203b 3b20 5374 6f70 2061 6674 6572 ;; Stop after │ │ │ -0003e070: 2068 6974 7469 6e67 2074 6865 2062 6567 hitting the beg │ │ │ -0003e080: 696e 6e69 6e67 206f 6620 7468 6520 6275 inning of the bu │ │ │ -0003e090: 6666 6572 206f 7220 610a 2020 2020 2020 ffer or a. │ │ │ -0003e0a0: 2020 2020 2020 3b3b 206e 6f6e 2d65 6d70 ;; non-emp │ │ │ -0003e0b0: 7479 2c20 6e6f 6e2d 696e 6465 6e74 6564 ty, non-indented │ │ │ -0003e0c0: 206c 696e 652e 0a20 2020 2020 2020 2020 line.. │ │ │ -0003e0d0: 2020 2028 6e6f 7420 286f 7220 2862 6f62 (not (or (bob │ │ │ -0003e0e0: 7029 0a20 2020 2020 2020 2020 2020 2020 p). │ │ │ -0003e0f0: 2020 2020 2020 2020 2861 6e64 2028 6571 (and (eq │ │ │ -0003e100: 7561 6c20 2863 7572 7265 6e74 2d69 6e64 ual (current-ind │ │ │ -0003e110: 656e 7461 7469 6f6e 2920 3029 0a20 2020 entation) 0). │ │ │ +0003dfe0: 2020 2020 2865 7269 2d63 616c 6375 6c61 (eri-calcula │ │ │ +0003dff0: 7465 2d69 6e64 656e 7461 7469 6f6e 2d70 te-indentation-p │ │ │ +0003e000: 6f69 6e74 732d 6f6e 2d6c 696e 6520 6d61 oints-on-line ma │ │ │ +0003e010: 7829 0a20 2020 2020 2020 2020 2020 2020 x). │ │ │ +0003e020: 2020 2020 2020 2020 706f 696e 7473 2929 points)) │ │ │ +0003e030: 0a20 2020 2020 2020 2020 2020 2020 2028 . ( │ │ │ +0003e040: 7365 7471 206d 6178 2028 6361 7220 706f setq max (car po │ │ │ +0003e050: 696e 7473 2929 290a 2020 2020 2020 2020 ints))). │ │ │ +0003e060: 2020 2020 3b3b 2053 746f 7020 6166 7465 ;; Stop afte │ │ │ +0003e070: 7220 6869 7474 696e 6720 7468 6520 6265 r hitting the be │ │ │ +0003e080: 6769 6e6e 696e 6720 6f66 2074 6865 2062 ginning of the b │ │ │ +0003e090: 7566 6665 7220 6f72 2061 0a20 2020 2020 uffer or a. │ │ │ +0003e0a0: 2020 2020 2020 203b 3b20 6e6f 6e2d 656d ;; non-em │ │ │ +0003e0b0: 7074 792c 206e 6f6e 2d69 6e64 656e 7465 pty, non-indente │ │ │ +0003e0c0: 6420 6c69 6e65 2e0a 2020 2020 2020 2020 d line.. │ │ │ +0003e0d0: 2020 2020 286e 6f74 2028 6f72 2028 626f (not (or (bo │ │ │ +0003e0e0: 6270 290a 2020 2020 2020 2020 2020 2020 bp). │ │ │ +0003e0f0: 2020 2020 2020 2020 2028 616e 6420 2865 (and (e │ │ │ +0003e100: 7175 616c 2028 6375 7272 656e 742d 696e qual (current-in │ │ │ +0003e110: 6465 6e74 6174 696f 6e29 2030 290a 2020 dentation) 0). │ │ │ 0003e120: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0003e130: 2020 2020 2020 2028 3e20 2865 7269 2d63 (> (eri-c │ │ │ -0003e140: 7572 7265 6e74 2d6c 696e 652d 6c65 6e67 urrent-line-leng │ │ │ -0003e150: 7468 2920 3029 2929 2929 2929 0a20 2020 th) 0))))))). │ │ │ -0003e160: 203b 3b20 4164 6420 6e65 7720 696e 6465 ;; Add new inde │ │ │ -0003e170: 6e74 6174 696f 6e20 706f 696e 7473 2c20 ntation points, │ │ │ -0003e180: 6275 7420 7265 6d6f 7665 2074 6865 2063 but remove the c │ │ │ -0003e190: 7572 7265 6e74 2069 6e64 656e 7461 7469 urrent indentati │ │ │ -0003e1a0: 6f6e 2e0a 2020 2020 3b3b 2053 6f72 7420 on.. ;; Sort │ │ │ -0003e1b0: 7468 6520 696e 6465 6e74 6174 696f 6e73 the indentations │ │ │ -0003e1c0: 2e20 5265 6172 7261 6e67 6520 7468 6520 . Rearrange the │ │ │ -0003e1d0: 706f 696e 7473 2073 6f20 7468 6174 2074 points so that t │ │ │ -0003e1e0: 6865 206e 6578 740a 2020 2020 3b3b 2070 he next. ;; p │ │ │ -0003e1f0: 6f69 6e74 2069 7320 7468 6520 6f6e 6520 oint is the one │ │ │ -0003e200: 6166 7465 7220 7468 6520 6375 7272 656e after the curren │ │ │ -0003e210: 7420 6f6e 652e 2052 6576 6572 7365 2069 t one. Reverse i │ │ │ -0003e220: 6620 6e65 6365 7373 6172 792e 0a20 2020 f necessary.. │ │ │ -0003e230: 203b 3b0a 2020 2020 3b3b 204e 6f74 653a ;;. ;; Note: │ │ │ -0003e240: 2073 6f72 7420 616e 6420 6e72 6576 6572 sort and nrever │ │ │ -0003e250: 7365 2061 7265 2064 6573 7472 7563 7469 se are destructi │ │ │ -0003e260: 7665 2e0a 2020 2020 286c 6574 2a20 2828 ve.. (let* (( │ │ │ -0003e270: 7073 3020 2872 656d 6f76 6520 2863 7572 ps0 (remove (cur │ │ │ -0003e280: 7265 6e74 2d69 6e64 656e 7461 7469 6f6e rent-indentation │ │ │ -0003e290: 290a 2020 2020 2020 2020 2020 2020 2020 ). │ │ │ -0003e2a0: 2020 2020 2020 2020 2020 2861 7070 656e (appen │ │ │ -0003e2b0: 6420 2865 7269 2d6e 6577 2d69 6e64 656e d (eri-new-inden │ │ │ -0003e2c0: 7461 7469 6f6e 2d70 6f69 6e74 7329 2070 tation-points) p │ │ │ -0003e2d0: 6f69 6e74 7329 2929 0a20 2020 2020 2020 oints))). │ │ │ -0003e2e0: 2020 2020 2870 7331 2028 6572 692d 7370 (ps1 (eri-sp │ │ │ -0003e2f0: 6c69 7420 2863 7572 7265 6e74 2d69 6e64 lit (current-ind │ │ │ -0003e300: 656e 7461 7469 6f6e 2920 2873 6f72 7420 entation) (sort │ │ │ -0003e310: 7073 3020 273c 2929 290a 2020 2020 2020 ps0 '<))). │ │ │ -0003e320: 2020 2020 2028 7073 3220 2861 7070 656e (ps2 (appen │ │ │ -0003e330: 6420 2863 6472 2070 7331 2920 2863 6172 d (cdr ps1) (car │ │ │ -0003e340: 2070 7331 2929 2929 0a20 2020 2020 2028 ps1)))). ( │ │ │ -0003e350: 6966 2072 6576 6572 7365 0a20 2020 2020 if reverse. │ │ │ -0003e360: 2020 2020 2028 6e72 6576 6572 7365 2070 (nreverse p │ │ │ -0003e370: 7332 290a 2020 2020 2020 2020 7073 3229 s2). ps2) │ │ │ -0003e380: 2929 290a 0a28 6465 6675 6e20 6572 692d )))..(defun eri- │ │ │ -0003e390: 696e 6465 6e74 2028 266f 7074 696f 6e61 indent (&optiona │ │ │ -0003e3a0: 6c20 7265 7665 7273 6529 0a20 2022 4379 l reverse). "Cy │ │ │ -0003e3b0: 636c 6520 6265 7477 6565 6e20 736f 6d65 cle between some │ │ │ -0003e3c0: 2070 6f73 7369 626c 6520 696e 6465 6e74 possible indent │ │ │ -0003e3d0: 6174 696f 6e20 706f 696e 7473 2e0a 5769 ation points..Wi │ │ │ -0003e3e0: 7468 2070 7265 6669 7820 6172 6775 6d65 th prefix argume │ │ │ -0003e3f0: 6e74 2052 4556 4552 5345 2c20 6379 636c nt REVERSE, cycl │ │ │ -0003e400: 6520 696e 2072 6576 6572 7365 206f 7264 e in reverse ord │ │ │ -0003e410: 6572 2e0a 0a41 7373 756d 6520 7468 6174 er...Assume that │ │ │ -0003e420: 2061 2066 696c 6520 636f 6e74 6169 6e73 a file contains │ │ │ -0003e430: 2074 6865 2066 6f6c 6c6f 7769 6e67 206c the following l │ │ │ -0003e440: 696e 6573 206f 6620 636f 6465 2c20 7769 ines of code, wi │ │ │ -0003e450: 7468 0a70 6f69 6e74 206f 6e20 7468 6520 th.point on the │ │ │ -0003e460: 6c69 6e65 2077 6974 6820 7468 7265 6520 line with three │ │ │ -0003e470: 646f 7473 3a0a 0a66 726f 6220 3d20 6c6f dots:..frob = lo │ │ │ +0003e130: 2020 2020 2020 2020 283e 2028 6572 692d (> (eri- │ │ │ +0003e140: 6375 7272 656e 742d 6c69 6e65 2d6c 656e current-line-len │ │ │ +0003e150: 6774 6829 2030 2929 2929 2929 290a 2020 gth) 0))))))). │ │ │ +0003e160: 2020 3b3b 2041 6464 206e 6577 2069 6e64 ;; Add new ind │ │ │ +0003e170: 656e 7461 7469 6f6e 2070 6f69 6e74 732c entation points, │ │ │ +0003e180: 2062 7574 2072 656d 6f76 6520 7468 6520 but remove the │ │ │ +0003e190: 6375 7272 656e 7420 696e 6465 6e74 6174 current indentat │ │ │ +0003e1a0: 696f 6e2e 0a20 2020 203b 3b20 536f 7274 ion.. ;; Sort │ │ │ +0003e1b0: 2074 6865 2069 6e64 656e 7461 7469 6f6e the indentation │ │ │ +0003e1c0: 732e 2052 6561 7272 616e 6765 2074 6865 s. Rearrange the │ │ │ +0003e1d0: 2070 6f69 6e74 7320 736f 2074 6861 7420 points so that │ │ │ +0003e1e0: 7468 6520 6e65 7874 0a20 2020 203b 3b20 the next. ;; │ │ │ +0003e1f0: 706f 696e 7420 6973 2074 6865 206f 6e65 point is the one │ │ │ +0003e200: 2061 6674 6572 2074 6865 2063 7572 7265 after the curre │ │ │ +0003e210: 6e74 206f 6e65 2e20 5265 7665 7273 6520 nt one. Reverse │ │ │ +0003e220: 6966 206e 6563 6573 7361 7279 2e0a 2020 if necessary.. │ │ │ +0003e230: 2020 3b3b 0a20 2020 203b 3b20 4e6f 7465 ;;. ;; Note │ │ │ +0003e240: 3a20 736f 7274 2061 6e64 206e 7265 7665 : sort and nreve │ │ │ +0003e250: 7273 6520 6172 6520 6465 7374 7275 6374 rse are destruct │ │ │ +0003e260: 6976 652e 0a20 2020 2028 6c65 742a 2028 ive.. (let* ( │ │ │ +0003e270: 2870 7330 2028 7265 6d6f 7665 2028 6375 (ps0 (remove (cu │ │ │ +0003e280: 7272 656e 742d 696e 6465 6e74 6174 696f rrent-indentatio │ │ │ +0003e290: 6e29 0a20 2020 2020 2020 2020 2020 2020 n). │ │ │ +0003e2a0: 2020 2020 2020 2020 2020 2028 6170 7065 (appe │ │ │ +0003e2b0: 6e64 2028 6572 692d 6e65 772d 696e 6465 nd (eri-new-inde │ │ │ +0003e2c0: 6e74 6174 696f 6e2d 706f 696e 7473 2920 ntation-points) │ │ │ +0003e2d0: 706f 696e 7473 2929 290a 2020 2020 2020 points))). │ │ │ +0003e2e0: 2020 2020 2028 7073 3120 2865 7269 2d73 (ps1 (eri-s │ │ │ +0003e2f0: 706c 6974 2028 6375 7272 656e 742d 696e plit (current-in │ │ │ +0003e300: 6465 6e74 6174 696f 6e29 2028 736f 7274 dentation) (sort │ │ │ +0003e310: 2070 7330 2027 3c29 2929 0a20 2020 2020 ps0 '<))). │ │ │ +0003e320: 2020 2020 2020 2870 7332 2028 6170 7065 (ps2 (appe │ │ │ +0003e330: 6e64 2028 6364 7220 7073 3129 2028 6361 nd (cdr ps1) (ca │ │ │ +0003e340: 7220 7073 3129 2929 290a 2020 2020 2020 r ps1)))). │ │ │ +0003e350: 2869 6620 7265 7665 7273 650a 2020 2020 (if reverse. │ │ │ +0003e360: 2020 2020 2020 286e 7265 7665 7273 6520 (nreverse │ │ │ +0003e370: 7073 3229 0a20 2020 2020 2020 2070 7332 ps2). ps2 │ │ │ +0003e380: 2929 2929 0a0a 2864 6566 756e 2065 7269 ))))..(defun eri │ │ │ +0003e390: 2d69 6e64 656e 7420 2826 6f70 7469 6f6e -indent (&option │ │ │ +0003e3a0: 616c 2072 6576 6572 7365 290a 2020 2243 al reverse). "C │ │ │ +0003e3b0: 7963 6c65 2062 6574 7765 656e 2073 6f6d ycle between som │ │ │ +0003e3c0: 6520 706f 7373 6962 6c65 2069 6e64 656e e possible inden │ │ │ +0003e3d0: 7461 7469 6f6e 2070 6f69 6e74 732e 0a57 tation points..W │ │ │ +0003e3e0: 6974 6820 7072 6566 6978 2061 7267 756d ith prefix argum │ │ │ +0003e3f0: 656e 7420 5245 5645 5253 452c 2063 7963 ent REVERSE, cyc │ │ │ +0003e400: 6c65 2069 6e20 7265 7665 7273 6520 6f72 le in reverse or │ │ │ +0003e410: 6465 722e 0a0a 4173 7375 6d65 2074 6861 der...Assume tha │ │ │ +0003e420: 7420 6120 6669 6c65 2063 6f6e 7461 696e t a file contain │ │ │ +0003e430: 7320 7468 6520 666f 6c6c 6f77 696e 6720 s the following │ │ │ +0003e440: 6c69 6e65 7320 6f66 2063 6f64 652c 2077 lines of code, w │ │ │ +0003e450: 6974 680a 706f 696e 7420 6f6e 2074 6865 ith.point on the │ │ │ +0003e460: 206c 696e 6520 7769 7468 2074 6872 6565 line with three │ │ │ +0003e470: 2064 6f74 733a 0a0a 6672 6f62 203d 206c dots:..frob = l │ │ │ 0003e480: 6f6f 6f6f 6f6f 6f6f 6f6f 6f6f 6f6f 6f6f oooooooooooooooo │ │ │ -0003e490: 6f6f 6f6f 6f6f 6f6f 6f6e 6720 6964 656e ooooooooong iden │ │ │ -0003e4a0: 7469 6669 6572 0a66 6f6f 203d 2066 2061 tifier.foo = f a │ │ │ -0003e4b0: 2062 0a20 2077 6865 7265 0a20 2020 2066 b. where. f │ │ │ -0003e4c0: 2028 466f 6f20 7829 2079 203d 206c 6574 (Foo x) y = let │ │ │ -0003e4d0: 2062 6172 203d 2078 0a20 2020 2020 2020 bar = x. │ │ │ -0003e4e0: 2020 2020 2020 2020 2020 2020 2020 2062 b │ │ │ -0003e4f0: 617a 203d 2033 202b 2035 0a0a 2e2e 2e0a az = 3 + 5...... │ │ │ -0003e500: 0a5e 205e 205e 205e 2020 2020 5e20 205e .^ ^ ^ ^ ^ ^ │ │ │ -0003e510: 205e 205e 2020 205e 202a 205e 205e 205e ^ ^ ^ * ^ ^ ^ │ │ │ -0003e520: 205e 0a0a 5468 656e 2074 6865 205e 2773 ^..Then the ^'s │ │ │ -0003e530: 2061 6e64 2074 6865 202a 206d 6172 6b20 and the * mark │ │ │ -0003e540: 7468 6520 696e 6465 6e74 6174 696f 6e20 the indentation │ │ │ -0003e550: 706f 696e 7473 2074 6861 7420 7468 6973 points that this │ │ │ -0003e560: 0a66 756e 6374 696f 6e20 6379 636c 6573 .function cycles │ │ │ -0003e570: 2074 6872 6f75 6768 2e20 5468 6520 696e through. The in │ │ │ -0003e580: 6465 6e74 6174 696f 6e20 706f 696e 7473 dentation points │ │ │ -0003e590: 2061 7265 2073 656c 6563 7465 6420 6173 are selected as │ │ │ -0003e5a0: 0a66 6f6c 6c6f 7773 3a0a 0a20 202a 2041 .follows:.. * A │ │ │ -0003e5b0: 6c6c 206c 696e 6573 2062 6566 6f72 6520 ll lines before │ │ │ -0003e5c0: 7468 6520 6375 7272 656e 7420 6f6e 652c the current one, │ │ │ -0003e5d0: 2075 7020 746f 2061 6e64 2069 6e63 6c75 up to and inclu │ │ │ -0003e5e0: 6469 6e67 2074 6865 0a20 2020 2066 6972 ding the. fir │ │ │ -0003e5f0: 7374 206e 6f6e 2d69 6e64 656e 7465 6420 st non-indented │ │ │ -0003e600: 6c69 6e65 2028 6f72 2074 6865 2062 6567 line (or the beg │ │ │ -0003e610: 696e 6e69 6e67 206f 6620 7468 6520 6275 inning of the bu │ │ │ -0003e620: 6666 6572 2920 6172 650a 2020 2020 636f ffer) are. co │ │ │ -0003e630: 6e73 6964 6572 6564 2e0a 0a20 2020 2020 nsidered... │ │ │ -0003e640: 2066 6f6f 203d 2066 2061 2062 0a20 2020 foo = f a b. │ │ │ -0003e650: 2020 2020 2077 6865 7265 0a20 2020 2020 where. │ │ │ -0003e660: 2020 2020 2066 2028 466f 6f20 7829 2079 f (Foo x) y │ │ │ -0003e670: 203d 206c 6574 2062 6172 203d 2078 0a20 = let bar = x. │ │ │ +0003e490: 6f6f 6f6f 6f6f 6f6f 6f6f 6e67 2069 6465 oooooooooong ide │ │ │ +0003e4a0: 6e74 6966 6965 720a 666f 6f20 3d20 6620 ntifier.foo = f │ │ │ +0003e4b0: 6120 620a 2020 7768 6572 650a 2020 2020 a b. where. │ │ │ +0003e4c0: 6620 2846 6f6f 2078 2920 7920 3d20 6c65 f (Foo x) y = le │ │ │ +0003e4d0: 7420 6261 7220 3d20 780a 2020 2020 2020 t bar = x. │ │ │ +0003e4e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +0003e4f0: 6261 7a20 3d20 3320 2b20 350a 0a2e 2e2e baz = 3 + 5..... │ │ │ +0003e500: 0a0a 5e20 5e20 5e20 5e20 2020 205e 2020 ..^ ^ ^ ^ ^ │ │ │ +0003e510: 5e20 5e20 5e20 2020 5e20 2a20 5e20 5e20 ^ ^ ^ ^ * ^ ^ │ │ │ +0003e520: 5e20 5e0a 0a54 6865 6e20 7468 6520 5e27 ^ ^..Then the ^' │ │ │ +0003e530: 7320 616e 6420 7468 6520 2a20 6d61 726b s and the * mark │ │ │ +0003e540: 2074 6865 2069 6e64 656e 7461 7469 6f6e the indentation │ │ │ +0003e550: 2070 6f69 6e74 7320 7468 6174 2074 6869 points that thi │ │ │ +0003e560: 730a 6675 6e63 7469 6f6e 2063 7963 6c65 s.function cycle │ │ │ +0003e570: 7320 7468 726f 7567 682e 2054 6865 2069 s through. The i │ │ │ +0003e580: 6e64 656e 7461 7469 6f6e 2070 6f69 6e74 ndentation point │ │ │ +0003e590: 7320 6172 6520 7365 6c65 6374 6564 2061 s are selected a │ │ │ +0003e5a0: 730a 666f 6c6c 6f77 733a 0a0a 2020 2a20 s.follows:.. * │ │ │ +0003e5b0: 416c 6c20 6c69 6e65 7320 6265 666f 7265 All lines before │ │ │ +0003e5c0: 2074 6865 2063 7572 7265 6e74 206f 6e65 the current one │ │ │ +0003e5d0: 2c20 7570 2074 6f20 616e 6420 696e 636c , up to and incl │ │ │ +0003e5e0: 7564 696e 6720 7468 650a 2020 2020 6669 uding the. fi │ │ │ +0003e5f0: 7273 7420 6e6f 6e2d 696e 6465 6e74 6564 rst non-indented │ │ │ +0003e600: 206c 696e 6520 286f 7220 7468 6520 6265 line (or the be │ │ │ +0003e610: 6769 6e6e 696e 6720 6f66 2074 6865 2062 ginning of the b │ │ │ +0003e620: 7566 6665 7229 2061 7265 0a20 2020 2063 uffer) are. c │ │ │ +0003e630: 6f6e 7369 6465 7265 642e 0a0a 2020 2020 onsidered... │ │ │ +0003e640: 2020 666f 6f20 3d20 6620 6120 620a 2020 foo = f a b. │ │ │ +0003e650: 2020 2020 2020 7768 6572 650a 2020 2020 where. │ │ │ +0003e660: 2020 2020 2020 6620 2846 6f6f 2078 2920 f (Foo x) │ │ │ +0003e670: 7920 3d20 6c65 7420 6261 7220 3d20 780a y = let bar = x. │ │ │ 0003e680: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0003e690: 2020 2020 2020 2020 2020 2062 617a 203d baz = │ │ │ -0003e6a0: 2033 202b 2035 0a0a 2020 2a20 4f6e 2074 3 + 5.. * On t │ │ │ -0003e6b0: 6865 7365 206c 696e 6573 2c20 6572 6173 hese lines, eras │ │ │ -0003e6c0: 6520 616c 6c20 6368 6172 6163 7465 7273 e all characters │ │ │ -0003e6d0: 2074 6861 7420 7374 616e 6420 746f 2074 that stand to t │ │ │ -0003e6e0: 6865 2072 6967 6874 0a20 2020 206f 6620 he right. of │ │ │ -0003e6f0: 736f 6d65 206e 6f6e 2d77 6869 7465 2073 some non-white s │ │ │ -0003e700: 7061 6365 2063 6861 7261 6374 6572 206f pace character o │ │ │ -0003e710: 6e20 6120 6c6f 7765 7220 6c69 6e65 2e0a n a lower line.. │ │ │ -0003e720: 0a20 2020 2020 2066 6f6f 0a20 2020 2020 . foo. │ │ │ -0003e730: 2020 2077 6865 0a20 2020 2020 2020 2020 whe. │ │ │ -0003e740: 2066 2028 466f 6f20 7829 2079 203d 206c f (Foo x) y = l │ │ │ -0003e750: 6574 2062 0a20 2020 2020 2020 2020 2020 et b. │ │ │ +0003e690: 2020 2020 2020 2020 2020 2020 6261 7a20 baz │ │ │ +0003e6a0: 3d20 3320 2b20 350a 0a20 202a 204f 6e20 = 3 + 5.. * On │ │ │ +0003e6b0: 7468 6573 6520 6c69 6e65 732c 2065 7261 these lines, era │ │ │ +0003e6c0: 7365 2061 6c6c 2063 6861 7261 6374 6572 se all character │ │ │ +0003e6d0: 7320 7468 6174 2073 7461 6e64 2074 6f20 s that stand to │ │ │ +0003e6e0: 7468 6520 7269 6768 740a 2020 2020 6f66 the right. of │ │ │ +0003e6f0: 2073 6f6d 6520 6e6f 6e2d 7768 6974 6520 some non-white │ │ │ +0003e700: 7370 6163 6520 6368 6172 6163 7465 7220 space character │ │ │ +0003e710: 6f6e 2061 206c 6f77 6572 206c 696e 652e on a lower line. │ │ │ +0003e720: 0a0a 2020 2020 2020 666f 6f0a 2020 2020 .. foo. │ │ │ +0003e730: 2020 2020 7768 650a 2020 2020 2020 2020 whe. │ │ │ +0003e740: 2020 6620 2846 6f6f 2078 2920 7920 3d20 f (Foo x) y = │ │ │ +0003e750: 6c65 7420 620a 2020 2020 2020 2020 2020 let b. │ │ │ 0003e760: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0003e770: 2062 617a 203d 2033 202b 2035 0a0a 2020 baz = 3 + 5.. │ │ │ -0003e780: 2a20 416c 736f 2065 7261 7365 2061 6c6c * Also erase all │ │ │ -0003e790: 2063 6861 7261 6374 6572 7320 6e6f 7420 characters not │ │ │ -0003e7a0: 696d 6d65 6469 6174 656c 7920 7072 6563 immediately prec │ │ │ -0003e7b0: 6564 6564 2062 7920 7768 6974 650a 2020 eded by white. │ │ │ -0003e7c0: 2020 7370 6163 652e 0a0a 2020 2020 2020 space... │ │ │ -0003e7d0: 660a 2020 2020 2020 2020 770a 2020 2020 f. w. │ │ │ -0003e7e0: 2020 2020 2020 6620 2820 2020 2078 2020 f ( x │ │ │ -0003e7f0: 7920 3d20 6c20 2020 620a 2020 2020 2020 y = l b. │ │ │ +0003e770: 2020 6261 7a20 3d20 3320 2b20 350a 0a20 baz = 3 + 5.. │ │ │ +0003e780: 202a 2041 6c73 6f20 6572 6173 6520 616c * Also erase al │ │ │ +0003e790: 6c20 6368 6172 6163 7465 7273 206e 6f74 l characters not │ │ │ +0003e7a0: 2069 6d6d 6564 6961 7465 6c79 2070 7265 immediately pre │ │ │ +0003e7b0: 6365 6465 6420 6279 2077 6869 7465 0a20 ceded by white. │ │ │ +0003e7c0: 2020 2073 7061 6365 2e0a 0a20 2020 2020 space... │ │ │ +0003e7d0: 2066 0a20 2020 2020 2020 2077 0a20 2020 f. w. │ │ │ +0003e7e0: 2020 2020 2020 2066 2028 2020 2020 7820 f ( x │ │ │ +0003e7f0: 2079 203d 206c 2020 2062 0a20 2020 2020 y = l b. │ │ │ 0003e800: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0003e810: 2020 2020 2020 6220 2020 3d20 3320 2b20 b = 3 + │ │ │ -0003e820: 350a 0a20 202a 2054 6865 2063 6f6c 756d 5.. * The colum │ │ │ -0003e830: 6e73 206f 6620 616c 6c20 7265 6d61 696e ns of all remain │ │ │ -0003e840: 696e 6720 6368 6172 6163 7465 7273 2061 ing characters a │ │ │ -0003e850: 7265 2069 6e64 656e 7461 7469 6f6e 0a20 re indentation. │ │ │ -0003e860: 2020 2070 6f69 6e74 732e 0a0a 2020 2020 points... │ │ │ -0003e870: 2020 6620 7720 6620 2820 2020 2078 2020 f w f ( x │ │ │ -0003e880: 7920 3d20 6c20 2020 6220 2020 3d20 3320 y = l b = 3 │ │ │ -0003e890: 2b20 350a 2020 2020 2020 5e20 5e20 5e20 + 5. ^ ^ ^ │ │ │ -0003e8a0: 5e20 2020 205e 2020 5e20 5e20 5e20 2020 ^ ^ ^ ^ ^ │ │ │ -0003e8b0: 5e20 2020 5e20 5e20 5e20 5e0a 0a20 202a ^ ^ ^ ^ ^.. * │ │ │ -0003e8c0: 2041 206e 6577 2069 6e64 656e 7461 7469 A new indentati │ │ │ -0003e8d0: 6f6e 2070 6f69 6e74 2069 7320 616c 736f on point is also │ │ │ -0003e8e0: 2061 6464 6564 2c20 7477 6f20 7374 6570 added, two step │ │ │ -0003e8f0: 7320 696e 2066 726f 6d20 7468 650a 2020 s in from the. │ │ │ -0003e900: 2020 696e 6465 6e74 6174 696f 6e20 6f66 indentation of │ │ │ -0003e910: 2074 6865 2066 6972 7374 206e 6f6e 2d65 the first non-e │ │ │ -0003e920: 6d70 7479 206c 696e 6520 2877 6869 7465 mpty line (white │ │ │ -0003e930: 2073 7061 6365 0a20 2020 2065 7863 6c75 space. exclu │ │ │ -0003e940: 6465 6429 2061 626f 7665 2074 6865 2063 ded) above the c │ │ │ -0003e950: 7572 7265 6e74 206c 696e 6520 2869 6620 urrent line (if │ │ │ -0003e960: 7468 6572 6520 6973 2073 7563 6820 6120 there is such a │ │ │ -0003e970: 6c69 6e65 292e 0a0a 2020 2020 2020 6620 line)... f │ │ │ -0003e980: 7720 6620 2820 2020 2078 2020 7920 3d20 w f ( x y = │ │ │ -0003e990: 6c20 2020 6220 2020 3d20 3320 2b20 350a l b = 3 + 5. │ │ │ -0003e9a0: 2020 2020 2020 5e20 5e20 5e20 5e20 2020 ^ ^ ^ ^ │ │ │ -0003e9b0: 205e 2020 5e20 5e20 5e20 2020 5e20 2a20 ^ ^ ^ ^ ^ * │ │ │ -0003e9c0: 5e20 5e20 5e20 5e22 0a20 2028 696e 7465 ^ ^ ^ ^". (inte │ │ │ -0003e9d0: 7261 6374 6976 6520 2250 2229 0a20 2028 ractive "P"). ( │ │ │ -0003e9e0: 6c65 742a 2028 2870 6f69 6e74 7320 2865 let* ((points (e │ │ │ -0003e9f0: 7269 2d63 616c 6375 6c61 7465 2d69 6e64 ri-calculate-ind │ │ │ -0003ea00: 656e 7461 7469 6f6e 2d70 6f69 6e74 7320 entation-points │ │ │ -0003ea10: 7265 7665 7273 6529 290a 2020 2020 2020 reverse)). │ │ │ -0003ea20: 2020 2028 7265 6d61 696e 696e 672d 706f (remaining-po │ │ │ -0003ea30: 696e 7473 2028 6364 7220 286d 656d 6265 ints (cdr (membe │ │ │ -0003ea40: 7220 2863 7572 7265 6e74 2d69 6e64 656e r (current-inden │ │ │ -0003ea50: 7461 7469 6f6e 2920 706f 696e 7473 2929 tation) points)) │ │ │ -0003ea60: 290a 2020 2020 2020 2020 2028 696e 6465 ). (inde │ │ │ -0003ea70: 6e74 6174 696f 6e20 2869 6620 7265 6d61 ntation (if rema │ │ │ -0003ea80: 696e 696e 672d 706f 696e 7473 0a20 2020 ining-points. │ │ │ +0003e810: 2020 2020 2020 2062 2020 203d 2033 202b b = 3 + │ │ │ +0003e820: 2035 0a0a 2020 2a20 5468 6520 636f 6c75 5.. * The colu │ │ │ +0003e830: 6d6e 7320 6f66 2061 6c6c 2072 656d 6169 mns of all remai │ │ │ +0003e840: 6e69 6e67 2063 6861 7261 6374 6572 7320 ning characters │ │ │ +0003e850: 6172 6520 696e 6465 6e74 6174 696f 6e0a are indentation. │ │ │ +0003e860: 2020 2020 706f 696e 7473 2e0a 0a20 2020 points... │ │ │ +0003e870: 2020 2066 2077 2066 2028 2020 2020 7820 f w f ( x │ │ │ +0003e880: 2079 203d 206c 2020 2062 2020 203d 2033 y = l b = 3 │ │ │ +0003e890: 202b 2035 0a20 2020 2020 205e 205e 205e + 5. ^ ^ ^ │ │ │ +0003e8a0: 205e 2020 2020 5e20 205e 205e 205e 2020 ^ ^ ^ ^ ^ │ │ │ +0003e8b0: 205e 2020 205e 205e 205e 205e 0a0a 2020 ^ ^ ^ ^ ^.. │ │ │ +0003e8c0: 2a20 4120 6e65 7720 696e 6465 6e74 6174 * A new indentat │ │ │ +0003e8d0: 696f 6e20 706f 696e 7420 6973 2061 6c73 ion point is als │ │ │ +0003e8e0: 6f20 6164 6465 642c 2074 776f 2073 7465 o added, two ste │ │ │ +0003e8f0: 7073 2069 6e20 6672 6f6d 2074 6865 0a20 ps in from the. │ │ │ +0003e900: 2020 2069 6e64 656e 7461 7469 6f6e 206f indentation o │ │ │ +0003e910: 6620 7468 6520 6669 7273 7420 6e6f 6e2d f the first non- │ │ │ +0003e920: 656d 7074 7920 6c69 6e65 2028 7768 6974 empty line (whit │ │ │ +0003e930: 6520 7370 6163 650a 2020 2020 6578 636c e space. excl │ │ │ +0003e940: 7564 6564 2920 6162 6f76 6520 7468 6520 uded) above the │ │ │ +0003e950: 6375 7272 656e 7420 6c69 6e65 2028 6966 current line (if │ │ │ +0003e960: 2074 6865 7265 2069 7320 7375 6368 2061 there is such a │ │ │ +0003e970: 206c 696e 6529 2e0a 0a20 2020 2020 2066 line)... f │ │ │ +0003e980: 2077 2066 2028 2020 2020 7820 2079 203d w f ( x y = │ │ │ +0003e990: 206c 2020 2062 2020 203d 2033 202b 2035 l b = 3 + 5 │ │ │ +0003e9a0: 0a20 2020 2020 205e 205e 205e 205e 2020 . ^ ^ ^ ^ │ │ │ +0003e9b0: 2020 5e20 205e 205e 205e 2020 205e 202a ^ ^ ^ ^ ^ * │ │ │ +0003e9c0: 205e 205e 205e 205e 220a 2020 2869 6e74 ^ ^ ^ ^". (int │ │ │ +0003e9d0: 6572 6163 7469 7665 2022 5022 290a 2020 eractive "P"). │ │ │ +0003e9e0: 286c 6574 2a20 2828 706f 696e 7473 2028 (let* ((points ( │ │ │ +0003e9f0: 6572 692d 6361 6c63 756c 6174 652d 696e eri-calculate-in │ │ │ +0003ea00: 6465 6e74 6174 696f 6e2d 706f 696e 7473 dentation-points │ │ │ +0003ea10: 2072 6576 6572 7365 2929 0a20 2020 2020 reverse)). │ │ │ +0003ea20: 2020 2020 2872 656d 6169 6e69 6e67 2d70 (remaining-p │ │ │ +0003ea30: 6f69 6e74 7320 2863 6472 2028 6d65 6d62 oints (cdr (memb │ │ │ +0003ea40: 6572 2028 6375 7272 656e 742d 696e 6465 er (current-inde │ │ │ +0003ea50: 6e74 6174 696f 6e29 2070 6f69 6e74 7329 ntation) points) │ │ │ +0003ea60: 2929 0a20 2020 2020 2020 2020 2869 6e64 )). (ind │ │ │ +0003ea70: 656e 7461 7469 6f6e 2028 6966 2072 656d entation (if rem │ │ │ +0003ea80: 6169 6e69 6e67 2d70 6f69 6e74 730a 2020 aining-points. │ │ │ 0003ea90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0003eaa0: 2020 2020 2020 2028 6361 7220 7265 6d61 (car rema │ │ │ -0003eab0: 696e 696e 672d 706f 696e 7473 290a 2020 ining-points). │ │ │ +0003eaa0: 2020 2020 2020 2020 2863 6172 2072 656d (car rem │ │ │ +0003eab0: 6169 6e69 6e67 2d70 6f69 6e74 7329 0a20 aining-points). │ │ │ 0003eac0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0003ead0: 2020 2020 2020 2863 6172 2070 6f69 6e74 (car point │ │ │ -0003eae0: 7329 2929 290a 2020 2020 2877 6865 6e20 s)))). (when │ │ │ -0003eaf0: 696e 6465 6e74 6174 696f 6e0a 2020 2020 indentation. │ │ │ -0003eb00: 2020 2873 6176 652d 6578 6375 7273 696f (save-excursio │ │ │ -0003eb10: 6e20 2869 6e64 656e 742d 6c69 6e65 2d74 n (indent-line-t │ │ │ -0003eb20: 6f20 696e 6465 6e74 6174 696f 6e29 290a o indentation)). │ │ │ -0003eb30: 2020 2020 2020 2869 6620 283c 2028 6375 (if (< (cu │ │ │ -0003eb40: 7272 656e 742d 636f 6c75 6d6e 2920 696e rrent-column) in │ │ │ -0003eb50: 6465 6e74 6174 696f 6e29 0a20 2020 2020 dentation). │ │ │ -0003eb60: 2020 2020 2028 696e 6465 6e74 2d6c 696e (indent-lin │ │ │ -0003eb70: 652d 746f 2069 6e64 656e 7461 7469 6f6e e-to indentation │ │ │ -0003eb80: 2929 2929 290a 0a28 6465 6675 6e20 6572 )))))..(defun er │ │ │ -0003eb90: 692d 696e 6465 6e74 2d72 6576 6572 7365 i-indent-reverse │ │ │ -0003eba0: 206e 696c 0a20 2022 4379 636c 6520 6265 nil. "Cycle be │ │ │ -0003ebb0: 7477 6565 6e20 736f 6d65 2070 6f73 7369 tween some possi │ │ │ -0003ebc0: 626c 6520 696e 6465 6e74 6174 696f 6e20 ble indentation │ │ │ -0003ebd0: 706f 696e 7473 2028 696e 2072 6576 6572 points (in rever │ │ │ -0003ebe0: 7365 206f 7264 6572 292e 0a53 6565 2060 se order)..See ` │ │ │ -0003ebf0: 6572 692d 696e 6465 6e74 2720 666f 7220 eri-indent' for │ │ │ -0003ec00: 6120 6465 7363 7269 7074 696f 6e20 6f66 a description of │ │ │ -0003ec10: 2068 6f77 2074 6865 2069 6e64 656e 7461 how the indenta │ │ │ -0003ec20: 7469 6f6e 2070 6f69 6e74 730a 6172 6520 tion points.are │ │ │ -0003ec30: 6361 6c63 756c 6174 6564 2e22 0a20 2028 calculated.". ( │ │ │ -0003ec40: 696e 7465 7261 6374 6976 6529 0a20 2028 interactive). ( │ │ │ -0003ec50: 6572 692d 696e 6465 6e74 2074 2929 0a0a eri-indent t)).. │ │ │ -0003ec60: 2870 726f 7669 6465 2027 6572 6929 0a3b (provide 'eri).; │ │ │ -0003ec70: 3b3b 2065 7269 2e65 6c20 656e 6473 2068 ;; eri.el ends h │ │ │ -0003ec80: 6572 650a 9ce8 ddf1 82ad c2ab c301 d288 ere............. │ │ │ -0003ec90: f4b1 b2f8 b0d0 3000 a301 0003 ecc1 0520 ......0........ │ │ │ -0003eca0: 0000 0100 0404 0803 0702 5e02 0000 030f ..........^..... │ │ │ -0003ecb0: 0005 0505 0b5f 0ba4 010b 6109 0601 00ed ....._....a..... │ │ │ -0003ecc0: 0b82 f9f3 cba0 b6e5 ad0d e699 bde8 c9b8 ................ │ │ │ -0003ecd0: b2b3 5a00 a401 0003 f2df 0582 8080 e608 ..Z............. │ │ │ -0003ece0: 0000 0100 0304 0704 0200 0003 0f00 0901 ................ │ │ │ -0003ecf0: ed0b 3b3b 202d 2a2d 206c 6578 6963 616c ..;; -*- lexical │ │ │ -0003ed00: 2d62 696e 6469 6e67 3a20 7420 2d2a 2d0a -binding: t -*-. │ │ │ -0003ed10: 3b3b 3b20 6167 6461 322d 7175 6575 652e ;;; agda2-queue. │ │ │ -0003ed20: 656c 202d 2d2d 2053 696d 706c 6520 4649 el --- Simple FI │ │ │ -0003ed30: 464f 2063 6861 7261 6374 6572 2071 7565 FO character que │ │ │ -0003ed40: 7565 732e 0a3b 3b20 5350 4458 2d4c 6963 ues..;; SPDX-Lic │ │ │ -0003ed50: 656e 7365 2d49 6465 6e74 6966 6965 723a ense-Identifier: │ │ │ -0003ed60: 204d 4954 204c 6963 656e 7365 0a0a 2864 MIT License..(d │ │ │ -0003ed70: 6566 756e 2061 6764 6132 2d71 7565 7565 efun agda2-queue │ │ │ -0003ed80: 2d65 6d70 7479 2028 290a 2020 2243 7265 -empty (). "Cre │ │ │ -0003ed90: 6174 6573 2061 206e 6577 2065 6d70 7479 ates a new empty │ │ │ -0003eda0: 2046 4946 4f20 6368 6172 6163 7465 7220 FIFO character │ │ │ -0003edb0: 7175 6575 652e 0a51 7565 7565 7320 6172 queue..Queues ar │ │ │ -0003edc0: 6520 7265 7072 6573 656e 7465 6420 6173 e represented as │ │ │ -0003edd0: 2070 6169 7273 2e20 5468 6520 6361 7220 pairs. The car │ │ │ -0003ede0: 636f 6e74 6169 6e73 2074 6865 2071 7565 contains the que │ │ │ -0003edf0: 7565 2e20 4966 0a74 6865 2071 7565 7565 ue. If.the queue │ │ │ -0003ee00: 2069 7320 656d 7074 792c 2074 6865 6e20 is empty, then │ │ │ -0003ee10: 7468 6520 6364 7220 636f 6e74 6169 6e73 the cdr contains │ │ │ -0003ee20: 2074 6865 2073 796d 626f 6c20 6e69 6c2c the symbol nil, │ │ │ -0003ee30: 2061 6e64 0a6f 7468 6572 7769 7365 2069 and.otherwise i │ │ │ -0003ee40: 7420 706f 696e 7473 2074 6f20 7468 6520 t points to the │ │ │ -0003ee50: 7175 6575 6527 7320 6c61 7374 2063 6f6e queue's last con │ │ │ -0003ee60: 732d 6365 6c6c 2e22 0a20 2028 636f 6e73 s-cell.". (cons │ │ │ -0003ee70: 206e 696c 206e 696c 2929 0a0a 2864 6566 nil nil))..(def │ │ │ -0003ee80: 756e 2061 6764 6132 2d71 7565 7565 2d69 un agda2-queue-i │ │ │ -0003ee90: 732d 7072 6566 6978 2d6f 6620 2870 7265 s-prefix-of (pre │ │ │ -0003eea0: 6669 7820 7175 6575 6529 0a20 2022 5265 fix queue). "Re │ │ │ -0003eeb0: 7475 726e 7320 6120 6e6f 6e2d 6e69 6c20 turns a non-nil │ │ │ -0003eec0: 7265 7375 6c74 2069 6666 2074 6865 2073 result iff the s │ │ │ -0003eed0: 7472 696e 6720 5052 4546 4958 2069 7320 tring PREFIX is │ │ │ -0003eee0: 6120 7072 6566 6978 206f 6620 5155 4555 a prefix of QUEU │ │ │ -0003eef0: 452e 0a4c 696e 6561 7220 696e 2074 6865 E..Linear in the │ │ │ -0003ef00: 206c 656e 6774 6820 6f66 2050 5245 4649 length of PREFI │ │ │ -0003ef10: 582e 220a 2020 286c 6574 2028 2871 7565 X.". (let ((que │ │ │ -0003ef20: 7565 2020 2863 6172 2071 7565 7565 2929 ue (car queue)) │ │ │ -0003ef30: 0a20 2020 2020 2020 2028 7072 6566 6978 . (prefix │ │ │ -0003ef40: 2028 6170 7065 6e64 2070 7265 6669 7820 (append prefix │ │ │ -0003ef50: 6e69 6c29 2929 0a20 2020 2028 7768 696c nil))). (whil │ │ │ -0003ef60: 6520 2861 6e64 2028 636f 6e73 7020 7175 e (and (consp qu │ │ │ -0003ef70: 6575 6529 2028 636f 6e73 7020 7072 6566 eue) (consp pref │ │ │ -0003ef80: 6978 290a 2020 2020 2020 2020 2020 2020 ix). │ │ │ -0003ef90: 2020 2020 2865 7175 616c 2028 6361 7220 (equal (car │ │ │ -0003efa0: 7175 6575 6529 2028 6361 7220 7072 6566 queue) (car pref │ │ │ -0003efb0: 6978 2929 290a 2020 2020 2020 2870 6f70 ix))). (pop │ │ │ -0003efc0: 2071 7565 7565 290a 2020 2020 2020 2870 queue). (p │ │ │ -0003efd0: 6f70 2070 7265 6669 7829 290a 2020 2020 op prefix)). │ │ │ -0003efe0: 286e 756c 6c20 7072 6566 6978 2929 290a (null prefix))). │ │ │ -0003eff0: 0a28 6465 6675 6e20 6167 6461 322d 7175 .(defun agda2-qu │ │ │ -0003f000: 6575 652d 656e 7175 6575 6520 2871 7565 eue-enqueue (que │ │ │ -0003f010: 7565 2073 7472 696e 6729 0a20 2022 4164 ue string). "Ad │ │ │ -0003f020: 6473 2074 6865 2063 6861 7261 6374 6572 ds the character │ │ │ -0003f030: 7320 696e 2053 5452 494e 4720 746f 2074 s in STRING to t │ │ │ -0003f040: 6865 2065 6e64 206f 6620 5155 4555 452e he end of QUEUE. │ │ │ -0003f050: 0a54 6869 7320 6675 6e63 7469 6f6e 2075 .This function u │ │ │ -0003f060: 7064 6174 6573 2051 5545 5545 2064 6573 pdates QUEUE des │ │ │ -0003f070: 7472 7563 7469 7665 6c79 2c20 616e 6420 tructively, and │ │ │ -0003f080: 6973 206c 696e 6561 7220 696e 2074 6865 is linear in the │ │ │ -0003f090: 0a6c 656e 6774 6820 6f66 2053 5452 494e .length of STRIN │ │ │ -0003f0a0: 472e 220a 2020 286c 6574 2028 2863 6861 G.". (let ((cha │ │ │ -0003f0b0: 7273 2028 6170 7065 6e64 2073 7472 696e rs (append strin │ │ │ -0003f0c0: 6720 6e69 6c29 2929 0a20 2020 2028 7768 g nil))). (wh │ │ │ -0003f0d0: 656e 2028 636f 6e73 7020 6368 6172 7329 en (consp chars) │ │ │ -0003f0e0: 0a20 2020 2020 2028 6966 2028 6e75 6c6c . (if (null │ │ │ -0003f0f0: 2028 6364 7220 7175 6575 6529 290a 2020 (cdr queue)). │ │ │ -0003f100: 2020 2020 2020 2020 2873 6574 6361 7220 (setcar │ │ │ -0003f110: 7175 6575 6520 6368 6172 7329 0a20 2020 queue chars). │ │ │ -0003f120: 2020 2020 2028 7365 7463 6472 2028 6364 (setcdr (cd │ │ │ -0003f130: 7220 7175 6575 6529 2063 6861 7273 2929 r queue) chars)) │ │ │ -0003f140: 0a20 2020 2020 2028 7365 7463 6472 2071 . (setcdr q │ │ │ -0003f150: 7565 7565 2028 6c61 7374 2063 6861 7273 ueue (last chars │ │ │ -0003f160: 2929 2929 0a20 2071 7565 7565 290a 0a28 )))). queue)..( │ │ │ -0003f170: 6465 6675 6e20 6167 6461 322d 7175 6575 defun agda2-queu │ │ │ -0003f180: 652d 6672 6f6d 2d73 7472 696e 6720 2873 e-from-string (s │ │ │ -0003f190: 7472 696e 6729 0a20 2022 4372 6561 7465 tring). "Create │ │ │ -0003f1a0: 7320 6120 6e65 7720 4649 464f 2063 6f6e s a new FIFO con │ │ │ -0003f1b0: 7461 696e 696e 6720 7468 6520 6368 6172 taining the char │ │ │ -0003f1c0: 6163 7465 7273 2069 6e20 5354 5249 4e47 acters in STRING │ │ │ -0003f1d0: 2e0a 4c69 6e65 6172 2069 6e20 7468 6520 ..Linear in the │ │ │ -0003f1e0: 6c65 6e67 7468 206f 6620 5354 5249 4e47 length of STRING │ │ │ -0003f1f0: 2e22 0a20 2028 6167 6461 322d 7175 6575 .". (agda2-queu │ │ │ -0003f200: 652d 656e 7175 6575 6520 2861 6764 6132 e-enqueue (agda2 │ │ │ -0003f210: 2d71 7565 7565 2d65 6d70 7479 2920 7374 -queue-empty) st │ │ │ -0003f220: 7269 6e67 2929 0a0a 2864 6566 756e 2061 ring))..(defun a │ │ │ -0003f230: 6764 6132 2d71 7565 7565 2d74 6f2d 7374 gda2-queue-to-st │ │ │ -0003f240: 7269 6e67 2028 7175 6575 6529 0a20 2022 ring (queue). " │ │ │ -0003f250: 436f 6e73 7472 7563 7473 2061 2073 7472 Constructs a str │ │ │ -0003f260: 696e 6720 636f 6e74 6169 6e69 6e67 2061 ing containing a │ │ │ -0003f270: 6c6c 2074 6865 2063 6861 7261 6374 6572 ll the character │ │ │ -0003f280: 7320 696e 2051 5545 5545 2e0a 4c69 6e65 s in QUEUE..Line │ │ │ -0003f290: 6172 2069 6e20 7468 6520 6c65 6e67 7468 ar in the length │ │ │ -0003f2a0: 206f 6620 5155 4555 452e 220a 2020 2863 of QUEUE.". (c │ │ │ -0003f2b0: 6f6e 6361 7420 2222 2028 6361 7220 7175 oncat "" (car qu │ │ │ -0003f2c0: 6575 6529 2929 0a0a 2870 726f 7669 6465 eue)))..(provide │ │ │ -0003f2d0: 2027 6167 6461 322d 7175 6575 6529 0a89 'agda2-queue).. │ │ │ -0003f2e0: f5ce 9e83 f8ea adb2 01ca 80f8 82ea f9f9 ................ │ │ │ -0003f2f0: f805 00a5 0100 03f3 1d05 2000 0001 0004 .......... ..... │ │ │ -0003f300: 0408 0307 025e 0200 0003 0f00 0505 050b .....^.......... │ │ │ -0003f310: 5f0b a601 0b61 0906 0100 dcdd 00c0 87d5 _....a.......... │ │ │ -0003f320: 81e8 ffb5 83a7 01ff 88de 9ffc f7ee 8c85 ................ │ │ │ -0003f330: 0100 a601 0004 222d 0582 8080 e608 0000 ......"-........ │ │ │ -0003f340: 0100 0304 0704 0200 0003 0f00 0901 dcdd ................ │ │ │ -0003f350: 003b 3b20 2d2a 2d20 6c65 7869 6361 6c2d .;; -*- lexical- │ │ │ -0003f360: 6269 6e64 696e 673a 2074 202d 2a2d 0a3b binding: t -*-.; │ │ │ -0003f370: 3b3b 2061 6e6e 6f74 6174 696f 6e2e 656c ;; annotation.el │ │ │ -0003f380: 202d 2d2d 2046 756e 6374 696f 6e73 2066 --- Functions f │ │ │ -0003f390: 6f72 2061 6e6e 6f74 6174 696e 6720 7465 or annotating te │ │ │ -0003f3a0: 7874 2077 6974 6820 6661 6365 7320 616e xt with faces an │ │ │ -0003f3b0: 6420 6865 6c70 2062 7562 626c 6573 0a0a d help bubbles.. │ │ │ -0003f3c0: 3b3b 2056 6572 7369 6f6e 3a20 312e 300a ;; Version: 1.0. │ │ │ -0003f3d0: 0a3b 3b20 5350 4458 2d4c 6963 656e 7365 .;; SPDX-License │ │ │ -0003f3e0: 2d49 6465 6e74 6966 6965 723a 204d 4954 -Identifier: MIT │ │ │ -0003f3f0: 204c 6963 656e 7365 0a3b 3b20 5552 4c3a License.;; URL: │ │ │ -0003f400: 2068 7474 7073 3a2f 2f67 6974 6875 622e https://github. │ │ │ -0003f410: 636f 6d2f 6167 6461 2f61 6764 610a 3b3b com/agda/agda.;; │ │ │ -0003f420: 2056 6572 7369 6f6e 3a20 312e 300a 0a3b Version: 1.0..; │ │ │ -0003f430: 3b3b 2043 6f6d 6d65 6e74 6172 793a 0a0a ;; Commentary:.. │ │ │ -0003f440: 3b3b 204e 6f74 6520 7468 6174 2074 6869 ;; Note that thi │ │ │ -0003f450: 7320 6c69 6272 6172 7920 656e 756d 6572 s library enumer │ │ │ -0003f460: 6174 6573 2062 7566 6665 7220 706f 7369 ates buffer posi │ │ │ -0003f470: 7469 6f6e 7320 7374 6172 7469 6e67 2066 tions starting f │ │ │ -0003f480: 726f 6d20 312c 0a3b 3b20 6a75 7374 206c rom 1,.;; just l │ │ │ -0003f490: 696b 6520 456d 6163 732e 0a0a 2872 6571 ike Emacs...(req │ │ │ -0003f4a0: 7569 7265 2027 636c 2d6c 6962 290a 0a28 uire 'cl-lib)..( │ │ │ -0003f4b0: 6465 6676 6172 2061 6e6e 6f74 6174 696f defvar annotatio │ │ │ -0003f4c0: 6e2d 6269 6e64 696e 6773 206e 696c 0a20 n-bindings nil. │ │ │ -0003f4d0: 2022 416e 2061 7373 6f63 6961 7469 6f6e "An association │ │ │ -0003f4e0: 206c 6973 7420 6d61 7070 696e 6720 7379 list mapping sy │ │ │ -0003f4f0: 6d62 6f6c 7320 746f 2066 6163 6573 2e22 mbols to faces." │ │ │ -0003f500: 290a 286d 616b 652d 7661 7269 6162 6c65 ).(make-variable │ │ │ -0003f510: 2d62 7566 6665 722d 6c6f 6361 6c20 2761 -buffer-local 'a │ │ │ -0003f520: 6e6e 6f74 6174 696f 6e2d 6269 6e64 696e nnotation-bindin │ │ │ -0003f530: 6773 290a 0a28 6465 6676 6172 2061 6e6e gs)..(defvar ann │ │ │ -0003f540: 6f74 6174 696f 6e2d 676f 746f 2d73 7461 otation-goto-sta │ │ │ -0003f550: 636b 206e 696c 0a20 2022 506f 7369 7469 ck nil. "Positi │ │ │ -0003f560: 6f6e 7320 6672 6f6d 2077 6869 6368 2060 ons from which ` │ │ │ -0003f570: 616e 6e6f 7461 7469 6f6e 2d67 6f74 6f27 annotation-goto' │ │ │ -0003f580: 2077 6173 2069 6e76 6f6b 6564 2e22 290a was invoked."). │ │ │ -0003f590: 0a28 6465 6675 6e20 616e 6e6f 7461 7469 .(defun annotati │ │ │ -0003f5a0: 6f6e 2d67 6f74 6f2d 696e 6469 7265 6374 on-goto-indirect │ │ │ -0003f5b0: 2028 6c69 6e6b 2026 6f70 7469 6f6e 616c (link &optional │ │ │ -0003f5c0: 206f 7468 6572 2d77 696e 646f 7729 0a20 other-window). │ │ │ -0003f5d0: 2022 466f 6c6c 6f77 2074 6865 2060 616e "Follow the `an │ │ │ -0003f5e0: 6e6f 7461 7469 6f6e 2d67 6f74 6f27 2068 notation-goto' h │ │ │ -0003f5f0: 7970 6572 6c69 6e6b 2070 6f69 6e74 6564 yperlink pointed │ │ │ -0003f600: 2074 6f20 6279 204c 494e 4b2c 2069 6620 to by LINK, if │ │ │ -0003f610: 616e 792e 0a0a 4c49 4e4b 2073 686f 756c any...LINK shoul │ │ │ -0003f620: 6420 6265 2061 2062 7566 6665 7220 706f d be a buffer po │ │ │ -0003f630: 7369 7469 6f6e 2c20 6f72 2061 6e20 6576 sition, or an ev │ │ │ -0003f640: 656e 7420 6f62 6a65 6374 2028 696e 2077 ent object (in w │ │ │ -0003f650: 6869 6368 0a63 6173 6520 7468 6520 656e hich.case the en │ │ │ -0003f660: 6469 6e67 2070 6f73 6974 696f 6e20 6973 ding position is │ │ │ -0003f670: 2075 7365 6429 2e0a 0a49 6620 7468 6520 used)...If the │ │ │ -0003f680: 6879 7065 726c 696e 6b20 6578 6973 7473 hyperlink exists │ │ │ -0003f690: 2061 6e64 2074 6865 206a 756d 7020 6973 and the jump is │ │ │ -0003f6a0: 2070 6572 666f 726d 6564 2073 7563 6365 performed succe │ │ │ -0003f6b0: 7373 6675 6c6c 792c 0a74 6865 6e20 6074 ssfully,.then `t │ │ │ -0003f6c0: 2720 6973 2072 6574 7572 6e65 642c 2061 ' is returned, a │ │ │ -0003f6d0: 6e64 206f 7468 6572 7769 7365 2060 6e69 nd otherwise `ni │ │ │ -0003f6e0: 6c27 2028 756e 6c65 7373 2061 6e20 6572 l' (unless an er │ │ │ -0003f6f0: 726f 7220 6973 0a72 6169 7365 6429 2e0a ror is.raised).. │ │ │ -0003f700: 0a49 6620 4f54 4845 522d 5749 4e44 4f57 .If OTHER-WINDOW │ │ │ -0003f710: 2069 7320 6e6f 6e2d 6e69 6c2c 2074 6865 is non-nil, the │ │ │ -0003f720: 6e20 616e 6f74 6865 7220 7769 6e64 6f77 n another window │ │ │ -0003f730: 2069 7320 7573 6564 2074 6f0a 6469 7370 is used to.disp │ │ │ -0003f740: 6c61 7920 7468 6520 7461 7267 6574 2070 lay the target p │ │ │ -0003f750: 6f73 6974 696f 6e2e 220a 2020 286c 6574 osition.". (let │ │ │ -0003f760: 2028 736f 7572 6365 2d70 6f73 0a20 2020 (source-pos. │ │ │ -0003f770: 2020 2020 2073 6f75 7263 652d 7769 6e64 source-wind │ │ │ -0003f780: 6f77 0a20 2020 2020 2020 2073 6f75 7263 ow. sourc │ │ │ -0003f790: 652d 6275 6666 6572 0a20 2020 2020 2020 e-buffer. │ │ │ -0003f7a0: 2074 6172 6765 7429 0a20 2020 2028 636f target). (co │ │ │ -0003f7b0: 6e64 2028 2865 7665 6e74 7020 6c69 6e6b nd ((eventp link │ │ │ -0003f7c0: 290a 2020 2020 2020 2020 2020 2028 6c65 ). (le │ │ │ -0003f7d0: 7420 2828 706e 2028 6576 656e 742d 656e t ((pn (event-en │ │ │ -0003f7e0: 6420 6c69 6e6b 2929 290a 2020 2020 2020 d link))). │ │ │ -0003f7f0: 2020 2020 2020 2028 7768 656e 2028 6e6f (when (no │ │ │ -0003f800: 7420 2870 6f73 6e2d 6172 6561 2070 6e29 t (posn-area pn) │ │ │ -0003f810: 290a 2020 2020 2020 2020 2020 2020 2020 ). │ │ │ -0003f820: 2028 7365 7471 2073 6f75 7263 652d 706f (setq source-po │ │ │ -0003f830: 7320 2870 6f73 6e2d 706f 696e 7420 706e s (posn-point pn │ │ │ -0003f840: 2929 0a20 2020 2020 2020 2020 2020 2020 )). │ │ │ -0003f850: 2020 2873 6574 7120 736f 7572 6365 2d77 (setq source-w │ │ │ -0003f860: 696e 646f 7720 2870 6f73 6e2d 7769 6e64 indow (posn-wind │ │ │ -0003f870: 6f77 2070 6e29 290a 2020 2020 2020 2020 ow pn)). │ │ │ -0003f880: 2020 2020 2020 2028 7365 7471 2073 6f75 (setq sou │ │ │ -0003f890: 7263 652d 6275 6666 6572 2028 7769 6e64 rce-buffer (wind │ │ │ -0003f8a0: 6f77 2d62 7566 6665 7220 736f 7572 6365 ow-buffer source │ │ │ -0003f8b0: 2d77 696e 646f 7729 2929 2929 0a20 2020 -window))))). │ │ │ -0003f8c0: 2020 2020 2020 2028 2869 6e74 6567 6572 ((integer │ │ │ -0003f8d0: 7020 6c69 6e6b 290a 2020 2020 2020 2020 p link). │ │ │ -0003f8e0: 2020 2028 7365 7471 2073 6f75 7263 652d (setq source- │ │ │ -0003f8f0: 706f 7320 6c69 6e6b 290a 2020 2020 2020 pos link). │ │ │ -0003f900: 2020 2020 2028 7365 7471 2073 6f75 7263 (setq sourc │ │ │ -0003f910: 652d 7769 6e64 6f77 2028 7365 6c65 6374 e-window (select │ │ │ -0003f920: 6564 2d77 696e 646f 7729 290a 2020 2020 ed-window)). │ │ │ -0003f930: 2020 2020 2020 2028 7365 7471 2073 6f75 (setq sou │ │ │ -0003f940: 7263 652d 6275 6666 6572 2028 6375 7272 rce-buffer (curr │ │ │ -0003f950: 656e 742d 6275 6666 6572 2929 290a 2020 ent-buffer))). │ │ │ -0003f960: 2020 2020 2020 2020 2874 2028 6572 726f (t (erro │ │ │ -0003f970: 7220 224e 6f74 2061 6e20 696e 7465 6765 r "Not an intege │ │ │ -0003f980: 7220 6f72 2065 7665 6e74 206f 626a 6563 r or event objec │ │ │ -0003f990: 743a 2025 5322 206c 696e 6b29 2929 0a20 t: %S" link))). │ │ │ -0003f9a0: 2020 2028 7768 656e 2028 616e 6420 736f (when (and so │ │ │ -0003f9b0: 7572 6365 2d70 6f73 2073 6f75 7263 652d urce-pos source- │ │ │ -0003f9c0: 6275 6666 6572 290a 2020 2020 2020 2877 buffer). (w │ │ │ -0003f9d0: 6974 682d 6375 7272 656e 742d 6275 6666 ith-current-buff │ │ │ -0003f9e0: 6572 2073 6f75 7263 652d 6275 6666 6572 er source-buffer │ │ │ -0003f9f0: 0a20 2020 2020 2020 2028 7365 7471 2074 . (setq t │ │ │ -0003fa00: 6172 6765 7420 2867 6574 2d74 6578 742d arget (get-text- │ │ │ -0003fa10: 7072 6f70 6572 7479 2073 6f75 7263 652d property source- │ │ │ -0003fa20: 706f 7320 2761 6e6e 6f74 6174 696f 6e2d pos 'annotation- │ │ │ -0003fa30: 676f 746f 2929 290a 2020 2020 2020 2877 goto))). (w │ │ │ -0003fa40: 6865 6e20 7461 7267 6574 0a20 2020 2020 hen target. │ │ │ -0003fa50: 2020 2028 756e 6c65 7373 2028 6571 7561 (unless (equa │ │ │ -0003fa60: 6c20 736f 7572 6365 2d77 696e 646f 7720 l source-window │ │ │ -0003fa70: 2873 656c 6563 7465 642d 7769 6e64 6f77 (selected-window │ │ │ -0003fa80: 2929 0a20 2020 2020 2020 2020 2028 7365 )). (se │ │ │ -0003fa90: 6c65 6374 2d77 696e 646f 7720 736f 7572 lect-window sour │ │ │ -0003faa0: 6365 2d77 696e 646f 7729 290a 2020 2020 ce-window)). │ │ │ -0003fab0: 2020 2020 2861 6e6e 6f74 6174 696f 6e2d (annotation- │ │ │ -0003fac0: 676f 746f 2d61 6e64 2d70 7573 6820 736f goto-and-push so │ │ │ -0003fad0: 7572 6365 2d62 7566 6665 7220 736f 7572 urce-buffer sour │ │ │ -0003fae0: 6365 2d70 6f73 2074 6172 6765 740a 2020 ce-pos target. │ │ │ +0003ead0: 2020 2020 2020 2028 6361 7220 706f 696e (car poin │ │ │ +0003eae0: 7473 2929 2929 0a20 2020 2028 7768 656e ts)))). (when │ │ │ +0003eaf0: 2069 6e64 656e 7461 7469 6f6e 0a20 2020 indentation. │ │ │ +0003eb00: 2020 2028 7361 7665 2d65 7863 7572 7369 (save-excursi │ │ │ +0003eb10: 6f6e 2028 696e 6465 6e74 2d6c 696e 652d on (indent-line- │ │ │ +0003eb20: 746f 2069 6e64 656e 7461 7469 6f6e 2929 to indentation)) │ │ │ +0003eb30: 0a20 2020 2020 2028 6966 2028 3c20 2863 . (if (< (c │ │ │ +0003eb40: 7572 7265 6e74 2d63 6f6c 756d 6e29 2069 urrent-column) i │ │ │ +0003eb50: 6e64 656e 7461 7469 6f6e 290a 2020 2020 ndentation). │ │ │ +0003eb60: 2020 2020 2020 2869 6e64 656e 742d 6c69 (indent-li │ │ │ +0003eb70: 6e65 2d74 6f20 696e 6465 6e74 6174 696f ne-to indentatio │ │ │ +0003eb80: 6e29 2929 2929 0a0a 2864 6566 756e 2065 n)))))..(defun e │ │ │ +0003eb90: 7269 2d69 6e64 656e 742d 7265 7665 7273 ri-indent-revers │ │ │ +0003eba0: 6520 6e69 6c0a 2020 2243 7963 6c65 2062 e nil. "Cycle b │ │ │ +0003ebb0: 6574 7765 656e 2073 6f6d 6520 706f 7373 etween some poss │ │ │ +0003ebc0: 6962 6c65 2069 6e64 656e 7461 7469 6f6e ible indentation │ │ │ +0003ebd0: 2070 6f69 6e74 7320 2869 6e20 7265 7665 points (in reve │ │ │ +0003ebe0: 7273 6520 6f72 6465 7229 2e0a 5365 6520 rse order)..See │ │ │ +0003ebf0: 6065 7269 2d69 6e64 656e 7427 2066 6f72 `eri-indent' for │ │ │ +0003ec00: 2061 2064 6573 6372 6970 7469 6f6e 206f a description o │ │ │ +0003ec10: 6620 686f 7720 7468 6520 696e 6465 6e74 f how the indent │ │ │ +0003ec20: 6174 696f 6e20 706f 696e 7473 0a61 7265 ation points.are │ │ │ +0003ec30: 2063 616c 6375 6c61 7465 642e 220a 2020 calculated.". │ │ │ +0003ec40: 2869 6e74 6572 6163 7469 7665 290a 2020 (interactive). │ │ │ +0003ec50: 2865 7269 2d69 6e64 656e 7420 7429 290a (eri-indent t)). │ │ │ +0003ec60: 0a28 7072 6f76 6964 6520 2765 7269 290a .(provide 'eri). │ │ │ +0003ec70: 3b3b 3b20 6572 692e 656c 2065 6e64 7320 ;;; eri.el ends │ │ │ +0003ec80: 6865 7265 0a9c e8dd f182 adc2 abc3 01d2 here............ │ │ │ +0003ec90: 88f4 b1b2 f8b0 d030 00a3 0100 03ec c205 .......0........ │ │ │ +0003eca0: 2000 0001 0004 0408 0307 025e 0200 0003 ..........^.... │ │ │ +0003ecb0: 0f00 0505 050b 5f0b a401 0b61 0906 0100 ......_....a.... │ │ │ +0003ecc0: ed0b 82f9 f3cb a0b6 e5ad 0de6 99bd e8c9 ................ │ │ │ +0003ecd0: b8b2 b35a 00a4 0100 03f2 e005 8280 80e6 ...Z............ │ │ │ +0003ece0: 0800 0001 0003 0407 0402 0000 030f 0009 ................ │ │ │ +0003ecf0: 01ed 0b3b 3b20 2d2a 2d20 6c65 7869 6361 ...;; -*- lexica │ │ │ +0003ed00: 6c2d 6269 6e64 696e 673a 2074 202d 2a2d l-binding: t -*- │ │ │ +0003ed10: 0a3b 3b3b 2061 6764 6132 2d71 7565 7565 .;;; agda2-queue │ │ │ +0003ed20: 2e65 6c20 2d2d 2d20 5369 6d70 6c65 2046 .el --- Simple F │ │ │ +0003ed30: 4946 4f20 6368 6172 6163 7465 7220 7175 IFO character qu │ │ │ +0003ed40: 6575 6573 2e0a 3b3b 2053 5044 582d 4c69 eues..;; SPDX-Li │ │ │ +0003ed50: 6365 6e73 652d 4964 656e 7469 6669 6572 cense-Identifier │ │ │ +0003ed60: 3a20 4d49 5420 4c69 6365 6e73 650a 0a28 : MIT License..( │ │ │ +0003ed70: 6465 6675 6e20 6167 6461 322d 7175 6575 defun agda2-queu │ │ │ +0003ed80: 652d 656d 7074 7920 2829 0a20 2022 4372 e-empty (). "Cr │ │ │ +0003ed90: 6561 7465 7320 6120 6e65 7720 656d 7074 eates a new empt │ │ │ +0003eda0: 7920 4649 464f 2063 6861 7261 6374 6572 y FIFO character │ │ │ +0003edb0: 2071 7565 7565 2e0a 5175 6575 6573 2061 queue..Queues a │ │ │ +0003edc0: 7265 2072 6570 7265 7365 6e74 6564 2061 re represented a │ │ │ +0003edd0: 7320 7061 6972 732e 2054 6865 2063 6172 s pairs. The car │ │ │ +0003ede0: 2063 6f6e 7461 696e 7320 7468 6520 7175 contains the qu │ │ │ +0003edf0: 6575 652e 2049 660a 7468 6520 7175 6575 eue. If.the queu │ │ │ +0003ee00: 6520 6973 2065 6d70 7479 2c20 7468 656e e is empty, then │ │ │ +0003ee10: 2074 6865 2063 6472 2063 6f6e 7461 696e the cdr contain │ │ │ +0003ee20: 7320 7468 6520 7379 6d62 6f6c 206e 696c s the symbol nil │ │ │ +0003ee30: 2c20 616e 640a 6f74 6865 7277 6973 6520 , and.otherwise │ │ │ +0003ee40: 6974 2070 6f69 6e74 7320 746f 2074 6865 it points to the │ │ │ +0003ee50: 2071 7565 7565 2773 206c 6173 7420 636f queue's last co │ │ │ +0003ee60: 6e73 2d63 656c 6c2e 220a 2020 2863 6f6e ns-cell.". (con │ │ │ +0003ee70: 7320 6e69 6c20 6e69 6c29 290a 0a28 6465 s nil nil))..(de │ │ │ +0003ee80: 6675 6e20 6167 6461 322d 7175 6575 652d fun agda2-queue- │ │ │ +0003ee90: 6973 2d70 7265 6669 782d 6f66 2028 7072 is-prefix-of (pr │ │ │ +0003eea0: 6566 6978 2071 7565 7565 290a 2020 2252 efix queue). "R │ │ │ +0003eeb0: 6574 7572 6e73 2061 206e 6f6e 2d6e 696c eturns a non-nil │ │ │ +0003eec0: 2072 6573 756c 7420 6966 6620 7468 6520 result iff the │ │ │ +0003eed0: 7374 7269 6e67 2050 5245 4649 5820 6973 string PREFIX is │ │ │ +0003eee0: 2061 2070 7265 6669 7820 6f66 2051 5545 a prefix of QUE │ │ │ +0003eef0: 5545 2e0a 4c69 6e65 6172 2069 6e20 7468 UE..Linear in th │ │ │ +0003ef00: 6520 6c65 6e67 7468 206f 6620 5052 4546 e length of PREF │ │ │ +0003ef10: 4958 2e22 0a20 2028 6c65 7420 2828 7175 IX.". (let ((qu │ │ │ +0003ef20: 6575 6520 2028 6361 7220 7175 6575 6529 eue (car queue) │ │ │ +0003ef30: 290a 2020 2020 2020 2020 2870 7265 6669 ). (prefi │ │ │ +0003ef40: 7820 2861 7070 656e 6420 7072 6566 6978 x (append prefix │ │ │ +0003ef50: 206e 696c 2929 290a 2020 2020 2877 6869 nil))). (whi │ │ │ +0003ef60: 6c65 2028 616e 6420 2863 6f6e 7370 2071 le (and (consp q │ │ │ +0003ef70: 7565 7565 2920 2863 6f6e 7370 2070 7265 ueue) (consp pre │ │ │ +0003ef80: 6669 7829 0a20 2020 2020 2020 2020 2020 fix). │ │ │ +0003ef90: 2020 2020 2028 6571 7561 6c20 2863 6172 (equal (car │ │ │ +0003efa0: 2071 7565 7565 2920 2863 6172 2070 7265 queue) (car pre │ │ │ +0003efb0: 6669 7829 2929 0a20 2020 2020 2028 706f fix))). (po │ │ │ +0003efc0: 7020 7175 6575 6529 0a20 2020 2020 2028 p queue). ( │ │ │ +0003efd0: 706f 7020 7072 6566 6978 2929 0a20 2020 pop prefix)). │ │ │ +0003efe0: 2028 6e75 6c6c 2070 7265 6669 7829 2929 (null prefix))) │ │ │ +0003eff0: 0a0a 2864 6566 756e 2061 6764 6132 2d71 ..(defun agda2-q │ │ │ +0003f000: 7565 7565 2d65 6e71 7565 7565 2028 7175 ueue-enqueue (qu │ │ │ +0003f010: 6575 6520 7374 7269 6e67 290a 2020 2241 eue string). "A │ │ │ +0003f020: 6464 7320 7468 6520 6368 6172 6163 7465 dds the characte │ │ │ +0003f030: 7273 2069 6e20 5354 5249 4e47 2074 6f20 rs in STRING to │ │ │ +0003f040: 7468 6520 656e 6420 6f66 2051 5545 5545 the end of QUEUE │ │ │ +0003f050: 2e0a 5468 6973 2066 756e 6374 696f 6e20 ..This function │ │ │ +0003f060: 7570 6461 7465 7320 5155 4555 4520 6465 updates QUEUE de │ │ │ +0003f070: 7374 7275 6374 6976 656c 792c 2061 6e64 structively, and │ │ │ +0003f080: 2069 7320 6c69 6e65 6172 2069 6e20 7468 is linear in th │ │ │ +0003f090: 650a 6c65 6e67 7468 206f 6620 5354 5249 e.length of STRI │ │ │ +0003f0a0: 4e47 2e22 0a20 2028 6c65 7420 2828 6368 NG.". (let ((ch │ │ │ +0003f0b0: 6172 7320 2861 7070 656e 6420 7374 7269 ars (append stri │ │ │ +0003f0c0: 6e67 206e 696c 2929 290a 2020 2020 2877 ng nil))). (w │ │ │ +0003f0d0: 6865 6e20 2863 6f6e 7370 2063 6861 7273 hen (consp chars │ │ │ +0003f0e0: 290a 2020 2020 2020 2869 6620 286e 756c ). (if (nul │ │ │ +0003f0f0: 6c20 2863 6472 2071 7565 7565 2929 0a20 l (cdr queue)). │ │ │ +0003f100: 2020 2020 2020 2020 2028 7365 7463 6172 (setcar │ │ │ +0003f110: 2071 7565 7565 2063 6861 7273 290a 2020 queue chars). │ │ │ +0003f120: 2020 2020 2020 2873 6574 6364 7220 2863 (setcdr (c │ │ │ +0003f130: 6472 2071 7565 7565 2920 6368 6172 7329 dr queue) chars) │ │ │ +0003f140: 290a 2020 2020 2020 2873 6574 6364 7220 ). (setcdr │ │ │ +0003f150: 7175 6575 6520 286c 6173 7420 6368 6172 queue (last char │ │ │ +0003f160: 7329 2929 290a 2020 7175 6575 6529 0a0a s)))). queue).. │ │ │ +0003f170: 2864 6566 756e 2061 6764 6132 2d71 7565 (defun agda2-que │ │ │ +0003f180: 7565 2d66 726f 6d2d 7374 7269 6e67 2028 ue-from-string ( │ │ │ +0003f190: 7374 7269 6e67 290a 2020 2243 7265 6174 string). "Creat │ │ │ +0003f1a0: 6573 2061 206e 6577 2046 4946 4f20 636f es a new FIFO co │ │ │ +0003f1b0: 6e74 6169 6e69 6e67 2074 6865 2063 6861 ntaining the cha │ │ │ +0003f1c0: 7261 6374 6572 7320 696e 2053 5452 494e racters in STRIN │ │ │ +0003f1d0: 472e 0a4c 696e 6561 7220 696e 2074 6865 G..Linear in the │ │ │ +0003f1e0: 206c 656e 6774 6820 6f66 2053 5452 494e length of STRIN │ │ │ +0003f1f0: 472e 220a 2020 2861 6764 6132 2d71 7565 G.". (agda2-que │ │ │ +0003f200: 7565 2d65 6e71 7565 7565 2028 6167 6461 ue-enqueue (agda │ │ │ +0003f210: 322d 7175 6575 652d 656d 7074 7929 2073 2-queue-empty) s │ │ │ +0003f220: 7472 696e 6729 290a 0a28 6465 6675 6e20 tring))..(defun │ │ │ +0003f230: 6167 6461 322d 7175 6575 652d 746f 2d73 agda2-queue-to-s │ │ │ +0003f240: 7472 696e 6720 2871 7565 7565 290a 2020 tring (queue). │ │ │ +0003f250: 2243 6f6e 7374 7275 6374 7320 6120 7374 "Constructs a st │ │ │ +0003f260: 7269 6e67 2063 6f6e 7461 696e 696e 6720 ring containing │ │ │ +0003f270: 616c 6c20 7468 6520 6368 6172 6163 7465 all the characte │ │ │ +0003f280: 7273 2069 6e20 5155 4555 452e 0a4c 696e rs in QUEUE..Lin │ │ │ +0003f290: 6561 7220 696e 2074 6865 206c 656e 6774 ear in the lengt │ │ │ +0003f2a0: 6820 6f66 2051 5545 5545 2e22 0a20 2028 h of QUEUE.". ( │ │ │ +0003f2b0: 636f 6e63 6174 2022 2220 2863 6172 2071 concat "" (car q │ │ │ +0003f2c0: 7565 7565 2929 290a 0a28 7072 6f76 6964 ueue)))..(provid │ │ │ +0003f2d0: 6520 2761 6764 6132 2d71 7565 7565 290a e 'agda2-queue). │ │ │ +0003f2e0: 89f5 ce9e 83f8 eaad b201 ca80 f882 eaf9 ................ │ │ │ +0003f2f0: f9f8 0500 a501 0003 f31e 0520 0000 0100 ........... .... │ │ │ +0003f300: 0404 0803 0702 5e02 0000 030f 0005 0505 ......^......... │ │ │ +0003f310: 0b5f 0ba6 010b 6109 0601 00dc dd00 c087 ._....a......... │ │ │ +0003f320: d581 e8ff b583 a701 ff88 de9f fcf7 ee8c ................ │ │ │ +0003f330: 8501 00a6 0100 0422 2e05 8280 80e6 0800 ......."........ │ │ │ +0003f340: 0001 0003 0407 0402 0000 030f 0009 01dc ................ │ │ │ +0003f350: dd00 3b3b 202d 2a2d 206c 6578 6963 616c ..;; -*- lexical │ │ │ +0003f360: 2d62 696e 6469 6e67 3a20 7420 2d2a 2d0a -binding: t -*-. │ │ │ +0003f370: 3b3b 3b20 616e 6e6f 7461 7469 6f6e 2e65 ;;; annotation.e │ │ │ +0003f380: 6c20 2d2d 2d20 4675 6e63 7469 6f6e 7320 l --- Functions │ │ │ +0003f390: 666f 7220 616e 6e6f 7461 7469 6e67 2074 for annotating t │ │ │ +0003f3a0: 6578 7420 7769 7468 2066 6163 6573 2061 ext with faces a │ │ │ +0003f3b0: 6e64 2068 656c 7020 6275 6262 6c65 730a nd help bubbles. │ │ │ +0003f3c0: 0a3b 3b20 5665 7273 696f 6e3a 2031 2e30 .;; Version: 1.0 │ │ │ +0003f3d0: 0a0a 3b3b 2053 5044 582d 4c69 6365 6e73 ..;; SPDX-Licens │ │ │ +0003f3e0: 652d 4964 656e 7469 6669 6572 3a20 4d49 e-Identifier: MI │ │ │ +0003f3f0: 5420 4c69 6365 6e73 650a 3b3b 2055 524c T License.;; URL │ │ │ +0003f400: 3a20 6874 7470 733a 2f2f 6769 7468 7562 : https://github │ │ │ +0003f410: 2e63 6f6d 2f61 6764 612f 6167 6461 0a3b .com/agda/agda.; │ │ │ +0003f420: 3b20 5665 7273 696f 6e3a 2031 2e30 0a0a ; Version: 1.0.. │ │ │ +0003f430: 3b3b 3b20 436f 6d6d 656e 7461 7279 3a0a ;;; Commentary:. │ │ │ +0003f440: 0a3b 3b20 4e6f 7465 2074 6861 7420 7468 .;; Note that th │ │ │ +0003f450: 6973 206c 6962 7261 7279 2065 6e75 6d65 is library enume │ │ │ +0003f460: 7261 7465 7320 6275 6666 6572 2070 6f73 rates buffer pos │ │ │ +0003f470: 6974 696f 6e73 2073 7461 7274 696e 6720 itions starting │ │ │ +0003f480: 6672 6f6d 2031 2c0a 3b3b 206a 7573 7420 from 1,.;; just │ │ │ +0003f490: 6c69 6b65 2045 6d61 6373 2e0a 0a28 7265 like Emacs...(re │ │ │ +0003f4a0: 7175 6972 6520 2763 6c2d 6c69 6229 0a0a quire 'cl-lib).. │ │ │ +0003f4b0: 2864 6566 7661 7220 616e 6e6f 7461 7469 (defvar annotati │ │ │ +0003f4c0: 6f6e 2d62 696e 6469 6e67 7320 6e69 6c0a on-bindings nil. │ │ │ +0003f4d0: 2020 2241 6e20 6173 736f 6369 6174 696f "An associatio │ │ │ +0003f4e0: 6e20 6c69 7374 206d 6170 7069 6e67 2073 n list mapping s │ │ │ +0003f4f0: 796d 626f 6c73 2074 6f20 6661 6365 732e ymbols to faces. │ │ │ +0003f500: 2229 0a28 6d61 6b65 2d76 6172 6961 626c ").(make-variabl │ │ │ +0003f510: 652d 6275 6666 6572 2d6c 6f63 616c 2027 e-buffer-local ' │ │ │ +0003f520: 616e 6e6f 7461 7469 6f6e 2d62 696e 6469 annotation-bindi │ │ │ +0003f530: 6e67 7329 0a0a 2864 6566 7661 7220 616e ngs)..(defvar an │ │ │ +0003f540: 6e6f 7461 7469 6f6e 2d67 6f74 6f2d 7374 notation-goto-st │ │ │ +0003f550: 6163 6b20 6e69 6c0a 2020 2250 6f73 6974 ack nil. "Posit │ │ │ +0003f560: 696f 6e73 2066 726f 6d20 7768 6963 6820 ions from which │ │ │ +0003f570: 6061 6e6e 6f74 6174 696f 6e2d 676f 746f `annotation-goto │ │ │ +0003f580: 2720 7761 7320 696e 766f 6b65 642e 2229 ' was invoked.") │ │ │ +0003f590: 0a0a 2864 6566 756e 2061 6e6e 6f74 6174 ..(defun annotat │ │ │ +0003f5a0: 696f 6e2d 676f 746f 2d69 6e64 6972 6563 ion-goto-indirec │ │ │ +0003f5b0: 7420 286c 696e 6b20 266f 7074 696f 6e61 t (link &optiona │ │ │ +0003f5c0: 6c20 6f74 6865 722d 7769 6e64 6f77 290a l other-window). │ │ │ +0003f5d0: 2020 2246 6f6c 6c6f 7720 7468 6520 6061 "Follow the `a │ │ │ +0003f5e0: 6e6e 6f74 6174 696f 6e2d 676f 746f 2720 nnotation-goto' │ │ │ +0003f5f0: 6879 7065 726c 696e 6b20 706f 696e 7465 hyperlink pointe │ │ │ +0003f600: 6420 746f 2062 7920 4c49 4e4b 2c20 6966 d to by LINK, if │ │ │ +0003f610: 2061 6e79 2e0a 0a4c 494e 4b20 7368 6f75 any...LINK shou │ │ │ +0003f620: 6c64 2062 6520 6120 6275 6666 6572 2070 ld be a buffer p │ │ │ +0003f630: 6f73 6974 696f 6e2c 206f 7220 616e 2065 osition, or an e │ │ │ +0003f640: 7665 6e74 206f 626a 6563 7420 2869 6e20 vent object (in │ │ │ +0003f650: 7768 6963 680a 6361 7365 2074 6865 2065 which.case the e │ │ │ +0003f660: 6e64 696e 6720 706f 7369 7469 6f6e 2069 nding position i │ │ │ +0003f670: 7320 7573 6564 292e 0a0a 4966 2074 6865 s used)...If the │ │ │ +0003f680: 2068 7970 6572 6c69 6e6b 2065 7869 7374 hyperlink exist │ │ │ +0003f690: 7320 616e 6420 7468 6520 6a75 6d70 2069 s and the jump i │ │ │ +0003f6a0: 7320 7065 7266 6f72 6d65 6420 7375 6363 s performed succ │ │ │ +0003f6b0: 6573 7366 756c 6c79 2c0a 7468 656e 2060 essfully,.then ` │ │ │ +0003f6c0: 7427 2069 7320 7265 7475 726e 6564 2c20 t' is returned, │ │ │ +0003f6d0: 616e 6420 6f74 6865 7277 6973 6520 606e and otherwise `n │ │ │ +0003f6e0: 696c 2720 2875 6e6c 6573 7320 616e 2065 il' (unless an e │ │ │ +0003f6f0: 7272 6f72 2069 730a 7261 6973 6564 292e rror is.raised). │ │ │ +0003f700: 0a0a 4966 204f 5448 4552 2d57 494e 444f ..If OTHER-WINDO │ │ │ +0003f710: 5720 6973 206e 6f6e 2d6e 696c 2c20 7468 W is non-nil, th │ │ │ +0003f720: 656e 2061 6e6f 7468 6572 2077 696e 646f en another windo │ │ │ +0003f730: 7720 6973 2075 7365 6420 746f 0a64 6973 w is used to.dis │ │ │ +0003f740: 706c 6179 2074 6865 2074 6172 6765 7420 play the target │ │ │ +0003f750: 706f 7369 7469 6f6e 2e22 0a20 2028 6c65 position.". (le │ │ │ +0003f760: 7420 2873 6f75 7263 652d 706f 730a 2020 t (source-pos. │ │ │ +0003f770: 2020 2020 2020 736f 7572 6365 2d77 696e source-win │ │ │ +0003f780: 646f 770a 2020 2020 2020 2020 736f 7572 dow. sour │ │ │ +0003f790: 6365 2d62 7566 6665 720a 2020 2020 2020 ce-buffer. │ │ │ +0003f7a0: 2020 7461 7267 6574 290a 2020 2020 2863 target). (c │ │ │ +0003f7b0: 6f6e 6420 2828 6576 656e 7470 206c 696e ond ((eventp lin │ │ │ +0003f7c0: 6b29 0a20 2020 2020 2020 2020 2020 286c k). (l │ │ │ +0003f7d0: 6574 2028 2870 6e20 2865 7665 6e74 2d65 et ((pn (event-e │ │ │ +0003f7e0: 6e64 206c 696e 6b29 2929 0a20 2020 2020 nd link))). │ │ │ +0003f7f0: 2020 2020 2020 2020 2877 6865 6e20 286e (when (n │ │ │ +0003f800: 6f74 2028 706f 736e 2d61 7265 6120 706e ot (posn-area pn │ │ │ +0003f810: 2929 0a20 2020 2020 2020 2020 2020 2020 )). │ │ │ +0003f820: 2020 2873 6574 7120 736f 7572 6365 2d70 (setq source-p │ │ │ +0003f830: 6f73 2028 706f 736e 2d70 6f69 6e74 2070 os (posn-point p │ │ │ +0003f840: 6e29 290a 2020 2020 2020 2020 2020 2020 n)). │ │ │ +0003f850: 2020 2028 7365 7471 2073 6f75 7263 652d (setq source- │ │ │ +0003f860: 7769 6e64 6f77 2028 706f 736e 2d77 696e window (posn-win │ │ │ +0003f870: 646f 7720 706e 2929 0a20 2020 2020 2020 dow pn)). │ │ │ +0003f880: 2020 2020 2020 2020 2873 6574 7120 736f (setq so │ │ │ +0003f890: 7572 6365 2d62 7566 6665 7220 2877 696e urce-buffer (win │ │ │ +0003f8a0: 646f 772d 6275 6666 6572 2073 6f75 7263 dow-buffer sourc │ │ │ +0003f8b0: 652d 7769 6e64 6f77 2929 2929 290a 2020 e-window))))). │ │ │ +0003f8c0: 2020 2020 2020 2020 2828 696e 7465 6765 ((intege │ │ │ +0003f8d0: 7270 206c 696e 6b29 0a20 2020 2020 2020 rp link). │ │ │ +0003f8e0: 2020 2020 2873 6574 7120 736f 7572 6365 (setq source │ │ │ +0003f8f0: 2d70 6f73 206c 696e 6b29 0a20 2020 2020 -pos link). │ │ │ +0003f900: 2020 2020 2020 2873 6574 7120 736f 7572 (setq sour │ │ │ +0003f910: 6365 2d77 696e 646f 7720 2873 656c 6563 ce-window (selec │ │ │ +0003f920: 7465 642d 7769 6e64 6f77 2929 0a20 2020 ted-window)). │ │ │ +0003f930: 2020 2020 2020 2020 2873 6574 7120 736f (setq so │ │ │ +0003f940: 7572 6365 2d62 7566 6665 7220 2863 7572 urce-buffer (cur │ │ │ +0003f950: 7265 6e74 2d62 7566 6665 7229 2929 0a20 rent-buffer))). │ │ │ +0003f960: 2020 2020 2020 2020 2028 7420 2865 7272 (t (err │ │ │ +0003f970: 6f72 2022 4e6f 7420 616e 2069 6e74 6567 or "Not an integ │ │ │ +0003f980: 6572 206f 7220 6576 656e 7420 6f62 6a65 er or event obje │ │ │ +0003f990: 6374 3a20 2553 2220 6c69 6e6b 2929 290a ct: %S" link))). │ │ │ +0003f9a0: 2020 2020 2877 6865 6e20 2861 6e64 2073 (when (and s │ │ │ +0003f9b0: 6f75 7263 652d 706f 7320 736f 7572 6365 ource-pos source │ │ │ +0003f9c0: 2d62 7566 6665 7229 0a20 2020 2020 2028 -buffer). ( │ │ │ +0003f9d0: 7769 7468 2d63 7572 7265 6e74 2d62 7566 with-current-buf │ │ │ +0003f9e0: 6665 7220 736f 7572 6365 2d62 7566 6665 fer source-buffe │ │ │ +0003f9f0: 720a 2020 2020 2020 2020 2873 6574 7120 r. (setq │ │ │ +0003fa00: 7461 7267 6574 2028 6765 742d 7465 7874 target (get-text │ │ │ +0003fa10: 2d70 726f 7065 7274 7920 736f 7572 6365 -property source │ │ │ +0003fa20: 2d70 6f73 2027 616e 6e6f 7461 7469 6f6e -pos 'annotation │ │ │ +0003fa30: 2d67 6f74 6f29 2929 0a20 2020 2020 2028 -goto))). ( │ │ │ +0003fa40: 7768 656e 2074 6172 6765 740a 2020 2020 when target. │ │ │ +0003fa50: 2020 2020 2875 6e6c 6573 7320 2865 7175 (unless (equ │ │ │ +0003fa60: 616c 2073 6f75 7263 652d 7769 6e64 6f77 al source-window │ │ │ +0003fa70: 2028 7365 6c65 6374 6564 2d77 696e 646f (selected-windo │ │ │ +0003fa80: 7729 290a 2020 2020 2020 2020 2020 2873 w)). (s │ │ │ +0003fa90: 656c 6563 742d 7769 6e64 6f77 2073 6f75 elect-window sou │ │ │ +0003faa0: 7263 652d 7769 6e64 6f77 2929 0a20 2020 rce-window)). │ │ │ +0003fab0: 2020 2020 2028 616e 6e6f 7461 7469 6f6e (annotation │ │ │ +0003fac0: 2d67 6f74 6f2d 616e 642d 7075 7368 2073 -goto-and-push s │ │ │ +0003fad0: 6f75 7263 652d 6275 6666 6572 2073 6f75 ource-buffer sou │ │ │ +0003fae0: 7263 652d 706f 7320 7461 7267 6574 0a20 rce-pos target. │ │ │ 0003faf0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 0003fb00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0003fb10: 6f74 6865 722d 7769 6e64 6f77 2929 2929 other-window)))) │ │ │ -0003fb20: 290a 0a28 6465 6675 6e20 616e 6e6f 7461 )..(defun annota │ │ │ -0003fb30: 7469 6f6e 2d67 6f2d 6261 636b 206e 696c tion-go-back nil │ │ │ -0003fb40: 0a20 2022 476f 2062 6163 6b20 746f 2074 . "Go back to t │ │ │ -0003fb50: 6865 2070 7265 7669 6f75 7320 706f 7369 he previous posi │ │ │ -0003fb60: 7469 6f6e 2e0a 5468 6520 7072 6576 696f tion..The previo │ │ │ -0003fb70: 7573 2070 6f73 6974 696f 6e20 696e 2077 us position in w │ │ │ -0003fb80: 6869 6368 2060 616e 6e6f 7461 7469 6f6e hich `annotation │ │ │ -0003fb90: 2d67 6f74 6f2d 616e 642d 7075 7368 2720 -goto-and-push' │ │ │ -0003fba0: 7761 730a 7375 6363 6573 7366 756c 6c79 was.successfully │ │ │ -0003fbb0: 2069 6e76 6f6b 6564 2e22 0a20 2028 7768 invoked.". (wh │ │ │ -0003fbc0: 656e 2061 6e6e 6f74 6174 696f 6e2d 676f en annotation-go │ │ │ -0003fbd0: 746f 2d73 7461 636b 0a20 2020 2028 6c65 to-stack. (le │ │ │ -0003fbe0: 7420 2828 706f 7320 2870 6f70 2061 6e6e t ((pos (pop ann │ │ │ -0003fbf0: 6f74 6174 696f 6e2d 676f 746f 2d73 7461 otation-goto-sta │ │ │ -0003fc00: 636b 2929 290a 2020 2020 2020 2861 6e6e ck))). (ann │ │ │ -0003fc10: 6f74 6174 696f 6e2d 676f 746f 2070 6f73 otation-goto pos │ │ │ -0003fc20: 2929 2929 0a0a 2864 6566 756e 2061 6e6e ))))..(defun ann │ │ │ -0003fc30: 6f74 6174 696f 6e2d 676f 746f 2d61 6e64 otation-goto-and │ │ │ -0003fc40: 2d70 7573 6820 2873 6f75 7263 652d 6275 -push (source-bu │ │ │ -0003fc50: 6666 6572 2073 6f75 7263 652d 706f 7320 ffer source-pos │ │ │ -0003fc60: 6669 6c65 706f 7320 266f 7074 696f 6e61 filepos &optiona │ │ │ -0003fc70: 6c20 6f74 6865 722d 7769 6e64 6f77 290a l other-window). │ │ │ -0003fc80: 2020 224c 696b 6520 6061 6e6e 6f74 6174 "Like `annotat │ │ │ -0003fc90: 696f 6e2d 676f 746f 272c 2062 7574 2070 ion-goto', but p │ │ │ -0003fca0: 7573 6865 7320 6120 706f 7369 7469 6f6e ushes a position │ │ │ -0003fcb0: 2077 6865 6e20 7375 6363 6573 7366 756c when successful │ │ │ -0003fcc0: 2e0a 5468 6520 706f 7369 7469 6f6e 2063 ..The position c │ │ │ -0003fcd0: 6f6e 7369 7374 7320 6f66 2074 6865 2066 onsists of the f │ │ │ -0003fce0: 696c 6520 7669 7369 7465 6420 6279 2053 ile visited by S │ │ │ -0003fcf0: 4f55 5243 452d 4255 4646 4552 2c20 616e OURCE-BUFFER, an │ │ │ -0003fd00: 640a 7468 6520 706f 7369 7469 6f6e 2067 d.the position g │ │ │ -0003fd10: 6976 656e 2062 7920 534f 5552 4345 2d50 iven by SOURCE-P │ │ │ -0003fd20: 4f53 2e22 0a20 2028 6c65 7420 2873 6f75 OS.". (let (sou │ │ │ -0003fd30: 7263 652d 6669 6c65 2d6e 616d 6529 0a20 rce-file-name). │ │ │ -0003fd40: 2020 2028 7769 7468 2d63 7572 7265 6e74 (with-current │ │ │ -0003fd50: 2d62 7566 6665 7220 736f 7572 6365 2d62 -buffer source-b │ │ │ -0003fd60: 7566 6665 720a 2020 2020 2020 2873 6574 uffer. (set │ │ │ -0003fd70: 7120 736f 7572 6365 2d66 696c 652d 6e61 q source-file-na │ │ │ -0003fd80: 6d65 2062 7566 6665 722d 6669 6c65 2d6e me buffer-file-n │ │ │ -0003fd90: 616d 6529 290a 2020 2020 2877 6865 6e20 ame)). (when │ │ │ -0003fda0: 2861 6e6e 6f74 6174 696f 6e2d 676f 746f (annotation-goto │ │ │ -0003fdb0: 2066 696c 6570 6f73 206f 7468 6572 2d77 filepos other-w │ │ │ -0003fdc0: 696e 646f 7729 0a20 2020 2020 2028 756e indow). (un │ │ │ -0003fdd0: 6c65 7373 2028 616e 6420 2865 7175 616c less (and (equal │ │ │ -0003fde0: 2073 6f75 7263 652d 6275 6666 6572 2028 source-buffer ( │ │ │ -0003fdf0: 6375 7272 656e 742d 6275 6666 6572 2929 current-buffer)) │ │ │ -0003fe00: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ -0003fe10: 2020 2020 2865 7120 736f 7572 6365 2d70 (eq source-p │ │ │ -0003fe20: 6f73 2028 706f 696e 7429 2929 0a20 2020 os (point))). │ │ │ -0003fe30: 2020 2020 2028 7075 7368 2060 282c 736f (push `(,so │ │ │ -0003fe40: 7572 6365 2d66 696c 652d 6e61 6d65 202e urce-file-name . │ │ │ -0003fe50: 202c 736f 7572 6365 2d70 6f73 290a 2020 ,source-pos). │ │ │ -0003fe60: 2020 2020 2020 2020 2020 2020 616e 6e6f anno │ │ │ -0003fe70: 7461 7469 6f6e 2d67 6f74 6f2d 7374 6163 tation-goto-stac │ │ │ -0003fe80: 6b29 290a 2020 2020 2020 7429 2929 0a0a k)). t))).. │ │ │ -0003fe90: 2864 6566 756e 2061 6e6e 6f74 6174 696f (defun annotatio │ │ │ -0003fea0: 6e2d 676f 746f 2028 6669 6c65 706f 7320 n-goto (filepos │ │ │ -0003feb0: 266f 7074 696f 6e61 6c20 6f74 6865 722d &optional other- │ │ │ -0003fec0: 7769 6e64 6f77 290a 2020 2247 6f20 746f window). "Go to │ │ │ -0003fed0: 2066 696c 6520 706f 7369 7469 6f6e 2046 file position F │ │ │ -0003fee0: 494c 4550 4f53 2069 6620 7468 6520 6669 ILEPOS if the fi │ │ │ -0003fef0: 6c65 2069 7320 7265 6164 6162 6c65 2e0a le is readable.. │ │ │ -0003ff00: 4649 4c45 504f 5320 7368 6f75 6c64 2068 FILEPOS should h │ │ │ -0003ff10: 6176 6520 7468 6520 666f 726d 2028 4649 ave the form (FI │ │ │ -0003ff20: 4c45 202e 2050 4f53 292e 2020 5265 7475 LE . POS). Retu │ │ │ -0003ff30: 726e 2074 2069 6620 7375 6363 6573 7366 rn t if successf │ │ │ -0003ff40: 756c 2e0a 0a49 6620 4f54 4845 522d 5749 ul...If OTHER-WI │ │ │ -0003ff50: 4e44 4f57 2069 7320 6e6f 6e2d 6e69 6c2c NDOW is non-nil, │ │ │ -0003ff60: 2075 7365 2061 6e6f 7468 6572 2077 696e use another win │ │ │ -0003ff70: 646f 7720 746f 2064 6973 706c 6179 2074 dow to display t │ │ │ -0003ff80: 6865 0a67 6976 656e 2070 6f73 6974 696f he.given positio │ │ │ -0003ff90: 6e2e 220a 2020 2877 6865 6e20 2863 6f6e n.". (when (con │ │ │ -0003ffa0: 7370 2066 696c 6570 6f73 290a 2020 2020 sp filepos). │ │ │ -0003ffb0: 286c 6574 2028 2866 696c 6520 2863 6172 (let ((file (car │ │ │ -0003ffc0: 2066 696c 6570 6f73 2929 290a 2020 2020 filepos))). │ │ │ -0003ffd0: 2020 2869 6620 2866 696c 652d 7265 6164 (if (file-read │ │ │ -0003ffe0: 6162 6c65 2d70 2066 696c 6529 0a20 2020 able-p file). │ │ │ -0003fff0: 2020 2020 2020 2028 7072 6f67 6e0a 2020 (progn. │ │ │ -00040000: 2020 2020 2020 2020 2020 2869 6620 6f74 (if ot │ │ │ -00040010: 6865 722d 7769 6e64 6f77 0a20 2020 2020 her-window. │ │ │ -00040020: 2020 2020 2020 2020 2020 2028 6669 6e64 (find │ │ │ -00040030: 2d66 696c 652d 6f74 6865 722d 7769 6e64 -file-other-wind │ │ │ -00040040: 6f77 2066 696c 6529 0a20 2020 2020 2020 ow file). │ │ │ -00040050: 2020 2020 2020 2028 6669 6e64 2d66 696c (find-fil │ │ │ -00040060: 6520 6669 6c65 2929 0a20 2020 2020 2020 e file)). │ │ │ -00040070: 2020 2020 2028 676f 746f 2d63 6861 7220 (goto-char │ │ │ -00040080: 2863 6472 2066 696c 6570 6f73 2929 0a20 (cdr filepos)). │ │ │ -00040090: 2020 2020 2020 2020 2020 2074 290a 2020 t). │ │ │ -000400a0: 2020 2020 2020 2865 7272 6f72 2022 4669 (error "Fi │ │ │ -000400b0: 6c65 2064 6f65 7320 6e6f 7420 6578 6973 le does not exis │ │ │ -000400c0: 7420 6f72 2069 7320 756e 7265 6164 6162 t or is unreadab │ │ │ -000400d0: 6c65 3a20 2573 2e22 2066 696c 6529 2929 le: %s." file))) │ │ │ -000400e0: 2929 0a0a 2864 6566 756e 2061 6e6e 6f74 ))..(defun annot │ │ │ -000400f0: 6174 696f 6e2d 6d65 7267 652d 6661 6365 ation-merge-face │ │ │ -00040100: 7320 2873 7461 7274 2065 6e64 2066 6163 s (start end fac │ │ │ -00040110: 6573 290a 2020 2248 656c 7065 7220 7072 es). "Helper pr │ │ │ -00040120: 6f63 6564 7572 6520 7573 6564 2062 7920 ocedure used by │ │ │ -00040130: 6061 6e6e 6f74 6174 696f 6e2d 616e 6e6f `annotation-anno │ │ │ -00040140: 7461 7465 272e 0a46 6f72 2065 6163 6820 tate'..For each │ │ │ -00040150: 706f 7369 7469 6f6e 2069 6e20 7468 6520 position in the │ │ │ -00040160: 7261 6e67 6520 7468 6520 4641 4345 5320 range the FACES │ │ │ -00040170: 6172 6520 6d65 7267 6564 0a77 6974 6820 are merged.with │ │ │ -00040180: 7468 6520 6375 7272 656e 7420 7661 6c75 the current valu │ │ │ -00040190: 6520 6f66 2074 6865 2061 6e6e 6f74 6174 e of the annotat │ │ │ -000401a0: 696f 6e2d 6661 6365 7320 7465 7874 2070 ion-faces text p │ │ │ -000401b0: 726f 7065 7274 792c 2061 6e64 0a62 6f74 roperty, and.bot │ │ │ -000401c0: 6820 7468 6520 6661 6365 2061 6e64 2074 h the face and t │ │ │ -000401d0: 6865 2061 6e6e 6f74 6174 696f 6e2d 6661 he annotation-fa │ │ │ -000401e0: 6365 7320 7465 7874 2070 726f 7065 7274 ces text propert │ │ │ -000401f0: 6965 7320 6172 6520 7365 7420 746f 0a74 ies are set to.t │ │ │ -00040200: 6865 2072 6573 756c 7469 6e67 206c 6973 he resulting lis │ │ │ -00040210: 7420 6f66 2066 6163 6573 2e0a 0a50 7265 t of faces...Pre │ │ │ -00040220: 636f 6e64 6974 696f 6e3a 2053 5441 5254 condition: START │ │ │ -00040230: 2061 6e64 2045 4e44 206d 7573 7420 6265 and END must be │ │ │ -00040240: 206e 756d 6265 7273 2c20 616e 6420 5354 numbers, and ST │ │ │ -00040250: 4152 5420 6d75 7374 2062 650a 6c65 7373 ART must be.less │ │ │ -00040260: 2074 6861 6e20 454e 442e 220a 2020 2863 than END.". (c │ │ │ -00040270: 6c2d 6173 7365 7274 2028 636f 6e64 6974 l-assert (condit │ │ │ -00040280: 696f 6e2d 6361 7365 206e 696c 2028 3c20 ion-case nil (< │ │ │ -00040290: 7374 6172 7420 656e 6429 2028 6572 726f start end) (erro │ │ │ -000402a0: 7220 6e69 6c29 2929 0a20 2028 6c65 7420 r nil))). (let │ │ │ -000402b0: 2828 706f 7320 7374 6172 7429 0a20 2020 ((pos start). │ │ │ -000402c0: 2020 2020 206d 6964 290a 2020 2020 2877 mid). (w │ │ │ -000402d0: 6869 6c65 2028 3c20 706f 7320 656e 6429 hile (< pos end) │ │ │ -000402e0: 0a20 2020 2020 2028 7365 7471 206d 6964 . (setq mid │ │ │ -000402f0: 2028 6e65 7874 2d73 696e 676c 652d 7072 (next-single-pr │ │ │ -00040300: 6f70 6572 7479 2d63 6861 6e67 6520 706f operty-change po │ │ │ -00040310: 7320 2761 6e6e 6f74 6174 696f 6e2d 6661 s 'annotation-fa │ │ │ -00040320: 6365 730a 2020 2020 2020 2020 2020 2020 ces. │ │ │ +0003fb10: 206f 7468 6572 2d77 696e 646f 7729 2929 other-window))) │ │ │ +0003fb20: 2929 0a0a 2864 6566 756e 2061 6e6e 6f74 ))..(defun annot │ │ │ +0003fb30: 6174 696f 6e2d 676f 2d62 6163 6b20 6e69 ation-go-back ni │ │ │ +0003fb40: 6c0a 2020 2247 6f20 6261 636b 2074 6f20 l. "Go back to │ │ │ +0003fb50: 7468 6520 7072 6576 696f 7573 2070 6f73 the previous pos │ │ │ +0003fb60: 6974 696f 6e2e 0a54 6865 2070 7265 7669 ition..The previ │ │ │ +0003fb70: 6f75 7320 706f 7369 7469 6f6e 2069 6e20 ous position in │ │ │ +0003fb80: 7768 6963 6820 6061 6e6e 6f74 6174 696f which `annotatio │ │ │ +0003fb90: 6e2d 676f 746f 2d61 6e64 2d70 7573 6827 n-goto-and-push' │ │ │ +0003fba0: 2077 6173 0a73 7563 6365 7373 6675 6c6c was.successfull │ │ │ +0003fbb0: 7920 696e 766f 6b65 642e 220a 2020 2877 y invoked.". (w │ │ │ +0003fbc0: 6865 6e20 616e 6e6f 7461 7469 6f6e 2d67 hen annotation-g │ │ │ +0003fbd0: 6f74 6f2d 7374 6163 6b0a 2020 2020 286c oto-stack. (l │ │ │ +0003fbe0: 6574 2028 2870 6f73 2028 706f 7020 616e et ((pos (pop an │ │ │ +0003fbf0: 6e6f 7461 7469 6f6e 2d67 6f74 6f2d 7374 notation-goto-st │ │ │ +0003fc00: 6163 6b29 2929 0a20 2020 2020 2028 616e ack))). (an │ │ │ +0003fc10: 6e6f 7461 7469 6f6e 2d67 6f74 6f20 706f notation-goto po │ │ │ +0003fc20: 7329 2929 290a 0a28 6465 6675 6e20 616e s))))..(defun an │ │ │ +0003fc30: 6e6f 7461 7469 6f6e 2d67 6f74 6f2d 616e notation-goto-an │ │ │ +0003fc40: 642d 7075 7368 2028 736f 7572 6365 2d62 d-push (source-b │ │ │ +0003fc50: 7566 6665 7220 736f 7572 6365 2d70 6f73 uffer source-pos │ │ │ +0003fc60: 2066 696c 6570 6f73 2026 6f70 7469 6f6e filepos &option │ │ │ +0003fc70: 616c 206f 7468 6572 2d77 696e 646f 7729 al other-window) │ │ │ +0003fc80: 0a20 2022 4c69 6b65 2060 616e 6e6f 7461 . "Like `annota │ │ │ +0003fc90: 7469 6f6e 2d67 6f74 6f27 2c20 6275 7420 tion-goto', but │ │ │ +0003fca0: 7075 7368 6573 2061 2070 6f73 6974 696f pushes a positio │ │ │ +0003fcb0: 6e20 7768 656e 2073 7563 6365 7373 6675 n when successfu │ │ │ +0003fcc0: 6c2e 0a54 6865 2070 6f73 6974 696f 6e20 l..The position │ │ │ +0003fcd0: 636f 6e73 6973 7473 206f 6620 7468 6520 consists of the │ │ │ +0003fce0: 6669 6c65 2076 6973 6974 6564 2062 7920 file visited by │ │ │ +0003fcf0: 534f 5552 4345 2d42 5546 4645 522c 2061 SOURCE-BUFFER, a │ │ │ +0003fd00: 6e64 0a74 6865 2070 6f73 6974 696f 6e20 nd.the position │ │ │ +0003fd10: 6769 7665 6e20 6279 2053 4f55 5243 452d given by SOURCE- │ │ │ +0003fd20: 504f 532e 220a 2020 286c 6574 2028 736f POS.". (let (so │ │ │ +0003fd30: 7572 6365 2d66 696c 652d 6e61 6d65 290a urce-file-name). │ │ │ +0003fd40: 2020 2020 2877 6974 682d 6375 7272 656e (with-curren │ │ │ +0003fd50: 742d 6275 6666 6572 2073 6f75 7263 652d t-buffer source- │ │ │ +0003fd60: 6275 6666 6572 0a20 2020 2020 2028 7365 buffer. (se │ │ │ +0003fd70: 7471 2073 6f75 7263 652d 6669 6c65 2d6e tq source-file-n │ │ │ +0003fd80: 616d 6520 6275 6666 6572 2d66 696c 652d ame buffer-file- │ │ │ +0003fd90: 6e61 6d65 2929 0a20 2020 2028 7768 656e name)). (when │ │ │ +0003fda0: 2028 616e 6e6f 7461 7469 6f6e 2d67 6f74 (annotation-got │ │ │ +0003fdb0: 6f20 6669 6c65 706f 7320 6f74 6865 722d o filepos other- │ │ │ +0003fdc0: 7769 6e64 6f77 290a 2020 2020 2020 2875 window). (u │ │ │ +0003fdd0: 6e6c 6573 7320 2861 6e64 2028 6571 7561 nless (and (equa │ │ │ +0003fde0: 6c20 736f 7572 6365 2d62 7566 6665 7220 l source-buffer │ │ │ +0003fdf0: 2863 7572 7265 6e74 2d62 7566 6665 7229 (current-buffer) │ │ │ +0003fe00: 290a 2020 2020 2020 2020 2020 2020 2020 ). │ │ │ +0003fe10: 2020 2020 2028 6571 2073 6f75 7263 652d (eq source- │ │ │ +0003fe20: 706f 7320 2870 6f69 6e74 2929 290a 2020 pos (point))). │ │ │ +0003fe30: 2020 2020 2020 2870 7573 6820 6028 2c73 (push `(,s │ │ │ +0003fe40: 6f75 7263 652d 6669 6c65 2d6e 616d 6520 ource-file-name │ │ │ +0003fe50: 2e20 2c73 6f75 7263 652d 706f 7329 0a20 . ,source-pos). │ │ │ +0003fe60: 2020 2020 2020 2020 2020 2020 2061 6e6e ann │ │ │ +0003fe70: 6f74 6174 696f 6e2d 676f 746f 2d73 7461 otation-goto-sta │ │ │ +0003fe80: 636b 2929 0a20 2020 2020 2074 2929 290a ck)). t))). │ │ │ +0003fe90: 0a28 6465 6675 6e20 616e 6e6f 7461 7469 .(defun annotati │ │ │ +0003fea0: 6f6e 2d67 6f74 6f20 2866 696c 6570 6f73 on-goto (filepos │ │ │ +0003feb0: 2026 6f70 7469 6f6e 616c 206f 7468 6572 &optional other │ │ │ +0003fec0: 2d77 696e 646f 7729 0a20 2022 476f 2074 -window). "Go t │ │ │ +0003fed0: 6f20 6669 6c65 2070 6f73 6974 696f 6e20 o file position │ │ │ +0003fee0: 4649 4c45 504f 5320 6966 2074 6865 2066 FILEPOS if the f │ │ │ +0003fef0: 696c 6520 6973 2072 6561 6461 626c 652e ile is readable. │ │ │ +0003ff00: 0a46 494c 4550 4f53 2073 686f 756c 6420 .FILEPOS should │ │ │ +0003ff10: 6861 7665 2074 6865 2066 6f72 6d20 2846 have the form (F │ │ │ +0003ff20: 494c 4520 2e20 504f 5329 2e20 2052 6574 ILE . POS). Ret │ │ │ +0003ff30: 7572 6e20 7420 6966 2073 7563 6365 7373 urn t if success │ │ │ +0003ff40: 6675 6c2e 0a0a 4966 204f 5448 4552 2d57 ful...If OTHER-W │ │ │ +0003ff50: 494e 444f 5720 6973 206e 6f6e 2d6e 696c INDOW is non-nil │ │ │ +0003ff60: 2c20 7573 6520 616e 6f74 6865 7220 7769 , use another wi │ │ │ +0003ff70: 6e64 6f77 2074 6f20 6469 7370 6c61 7920 ndow to display │ │ │ +0003ff80: 7468 650a 6769 7665 6e20 706f 7369 7469 the.given positi │ │ │ +0003ff90: 6f6e 2e22 0a20 2028 7768 656e 2028 636f on.". (when (co │ │ │ +0003ffa0: 6e73 7020 6669 6c65 706f 7329 0a20 2020 nsp filepos). │ │ │ +0003ffb0: 2028 6c65 7420 2828 6669 6c65 2028 6361 (let ((file (ca │ │ │ +0003ffc0: 7220 6669 6c65 706f 7329 2929 0a20 2020 r filepos))). │ │ │ +0003ffd0: 2020 2028 6966 2028 6669 6c65 2d72 6561 (if (file-rea │ │ │ +0003ffe0: 6461 626c 652d 7020 6669 6c65 290a 2020 dable-p file). │ │ │ +0003fff0: 2020 2020 2020 2020 2870 726f 676e 0a20 (progn. │ │ │ +00040000: 2020 2020 2020 2020 2020 2028 6966 206f (if o │ │ │ +00040010: 7468 6572 2d77 696e 646f 770a 2020 2020 ther-window. │ │ │ +00040020: 2020 2020 2020 2020 2020 2020 2866 696e (fin │ │ │ +00040030: 642d 6669 6c65 2d6f 7468 6572 2d77 696e d-file-other-win │ │ │ +00040040: 646f 7720 6669 6c65 290a 2020 2020 2020 dow file). │ │ │ +00040050: 2020 2020 2020 2020 2866 696e 642d 6669 (find-fi │ │ │ +00040060: 6c65 2066 696c 6529 290a 2020 2020 2020 le file)). │ │ │ +00040070: 2020 2020 2020 2867 6f74 6f2d 6368 6172 (goto-char │ │ │ +00040080: 2028 6364 7220 6669 6c65 706f 7329 290a (cdr filepos)). │ │ │ +00040090: 2020 2020 2020 2020 2020 2020 7429 0a20 t). │ │ │ +000400a0: 2020 2020 2020 2028 6572 726f 7220 2246 (error "F │ │ │ +000400b0: 696c 6520 646f 6573 206e 6f74 2065 7869 ile does not exi │ │ │ +000400c0: 7374 206f 7220 6973 2075 6e72 6561 6461 st or is unreada │ │ │ +000400d0: 626c 653a 2025 732e 2220 6669 6c65 2929 ble: %s." file)) │ │ │ +000400e0: 2929 290a 0a28 6465 6675 6e20 616e 6e6f )))..(defun anno │ │ │ +000400f0: 7461 7469 6f6e 2d6d 6572 6765 2d66 6163 tation-merge-fac │ │ │ +00040100: 6573 2028 7374 6172 7420 656e 6420 6661 es (start end fa │ │ │ +00040110: 6365 7329 0a20 2022 4865 6c70 6572 2070 ces). "Helper p │ │ │ +00040120: 726f 6365 6475 7265 2075 7365 6420 6279 rocedure used by │ │ │ +00040130: 2060 616e 6e6f 7461 7469 6f6e 2d61 6e6e `annotation-ann │ │ │ +00040140: 6f74 6174 6527 2e0a 466f 7220 6561 6368 otate'..For each │ │ │ +00040150: 2070 6f73 6974 696f 6e20 696e 2074 6865 position in the │ │ │ +00040160: 2072 616e 6765 2074 6865 2046 4143 4553 range the FACES │ │ │ +00040170: 2061 7265 206d 6572 6765 640a 7769 7468 are merged.with │ │ │ +00040180: 2074 6865 2063 7572 7265 6e74 2076 616c the current val │ │ │ +00040190: 7565 206f 6620 7468 6520 616e 6e6f 7461 ue of the annota │ │ │ +000401a0: 7469 6f6e 2d66 6163 6573 2074 6578 7420 tion-faces text │ │ │ +000401b0: 7072 6f70 6572 7479 2c20 616e 640a 626f property, and.bo │ │ │ +000401c0: 7468 2074 6865 2066 6163 6520 616e 6420 th the face and │ │ │ +000401d0: 7468 6520 616e 6e6f 7461 7469 6f6e 2d66 the annotation-f │ │ │ +000401e0: 6163 6573 2074 6578 7420 7072 6f70 6572 aces text proper │ │ │ +000401f0: 7469 6573 2061 7265 2073 6574 2074 6f0a ties are set to. │ │ │ +00040200: 7468 6520 7265 7375 6c74 696e 6720 6c69 the resulting li │ │ │ +00040210: 7374 206f 6620 6661 6365 732e 0a0a 5072 st of faces...Pr │ │ │ +00040220: 6563 6f6e 6469 7469 6f6e 3a20 5354 4152 econdition: STAR │ │ │ +00040230: 5420 616e 6420 454e 4420 6d75 7374 2062 T and END must b │ │ │ +00040240: 6520 6e75 6d62 6572 732c 2061 6e64 2053 e numbers, and S │ │ │ +00040250: 5441 5254 206d 7573 7420 6265 0a6c 6573 TART must be.les │ │ │ +00040260: 7320 7468 616e 2045 4e44 2e22 0a20 2028 s than END.". ( │ │ │ +00040270: 636c 2d61 7373 6572 7420 2863 6f6e 6469 cl-assert (condi │ │ │ +00040280: 7469 6f6e 2d63 6173 6520 6e69 6c20 283c tion-case nil (< │ │ │ +00040290: 2073 7461 7274 2065 6e64 2920 2865 7272 start end) (err │ │ │ +000402a0: 6f72 206e 696c 2929 290a 2020 286c 6574 or nil))). (let │ │ │ +000402b0: 2028 2870 6f73 2073 7461 7274 290a 2020 ((pos start). │ │ │ +000402c0: 2020 2020 2020 6d69 6429 0a20 2020 2028 mid). ( │ │ │ +000402d0: 7768 696c 6520 283c 2070 6f73 2065 6e64 while (< pos end │ │ │ +000402e0: 290a 2020 2020 2020 2873 6574 7120 6d69 ). (setq mi │ │ │ +000402f0: 6420 286e 6578 742d 7369 6e67 6c65 2d70 d (next-single-p │ │ │ +00040300: 726f 7065 7274 792d 6368 616e 6765 2070 roperty-change p │ │ │ +00040310: 6f73 2027 616e 6e6f 7461 7469 6f6e 2d66 os 'annotation-f │ │ │ +00040320: 6163 6573 0a20 2020 2020 2020 2020 2020 aces. │ │ │ 00040330: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 00040340: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00040350: 206e 696c 2065 6e64 2929 0a20 2020 2020 nil end)). │ │ │ -00040360: 2028 6c65 742a 2028 286f 6c64 2d66 6163 (let* ((old-fac │ │ │ -00040370: 6573 2028 6765 742d 7465 7874 2d70 726f es (get-text-pro │ │ │ -00040380: 7065 7274 7920 706f 7320 2761 6e6e 6f74 perty pos 'annot │ │ │ -00040390: 6174 696f 6e2d 6661 6365 7329 290a 2020 ation-faces)). │ │ │ -000403a0: 2020 2020 2020 2020 2020 2028 616c 6c2d (all- │ │ │ -000403b0: 6661 6365 7320 2863 6c2d 756e 696f 6e20 faces (cl-union │ │ │ -000403c0: 6f6c 642d 6661 6365 7320 6661 6365 7329 old-faces faces) │ │ │ -000403d0: 2929 0a20 2020 2020 2020 2028 6d61 7063 )). (mapc │ │ │ -000403e0: 2028 6c61 6d62 6461 2028 7072 6f70 2920 (lambda (prop) │ │ │ -000403f0: 2870 7574 2d74 6578 742d 7072 6f70 6572 (put-text-proper │ │ │ -00040400: 7479 2070 6f73 206d 6964 2070 726f 7020 ty pos mid prop │ │ │ -00040410: 616c 6c2d 6661 6365 7329 290a 2020 2020 all-faces)). │ │ │ -00040420: 2020 2020 2020 2020 2020 2728 616e 6e6f '(anno │ │ │ -00040430: 7461 7469 6f6e 2d66 6163 6573 2066 6163 tation-faces fac │ │ │ -00040440: 6529 290a 2020 2020 2020 2020 2873 6574 e)). (set │ │ │ -00040450: 7120 706f 7320 6d69 6429 2929 2929 0a0a q pos mid))))).. │ │ │ -00040460: 2864 6566 756e 2061 6e6e 6f74 6174 696f (defun annotatio │ │ │ -00040470: 6e2d 616e 6e6f 7461 7465 0a20 2020 2028 n-annotate. ( │ │ │ -00040480: 7374 6172 7420 656e 6420 616e 6e73 2026 start end anns & │ │ │ -00040490: 6f70 7469 6f6e 616c 2074 6f6b 656e 2d62 optional token-b │ │ │ -000404a0: 6173 6564 2069 6e66 6f20 676f 746f 290a ased info goto). │ │ │ -000404b0: 2020 2241 6e6e 6f74 6174 6520 7465 7874 "Annotate text │ │ │ -000404c0: 2062 6574 7765 656e 2053 5441 5254 2061 between START a │ │ │ -000404d0: 6e64 2045 4e44 2069 6e20 7468 6520 6375 nd END in the cu │ │ │ -000404e0: 7272 656e 7420 6275 6666 6572 2e0a 0a4e rrent buffer...N │ │ │ -000404f0: 6f74 6869 6e67 2068 6170 7065 6e73 2069 othing happens i │ │ │ -00040500: 6620 6569 7468 6572 2053 5441 5254 206f f either START o │ │ │ -00040510: 7220 454e 4420 6172 6520 6f75 7420 6f66 r END are out of │ │ │ -00040520: 2062 6f75 6e64 7320 666f 7220 7468 650a bounds for the. │ │ │ -00040530: 6375 7272 656e 7420 2870 6f73 7369 626c current (possibl │ │ │ -00040540: 7920 6e61 7272 6f77 6564 2920 6275 6666 y narrowed) buff │ │ │ -00040550: 6572 2c20 6f72 2045 4e44 203c 3d20 5354 er, or END <= ST │ │ │ -00040560: 4152 542e 0a0a 4966 2041 4e4e 5320 6973 ART...If ANNS is │ │ │ -00040570: 206e 696c 2c20 7468 656e 2074 686f 7365 nil, then those │ │ │ -00040580: 2074 6578 7420 7072 6f70 6572 7469 6573 text properties │ │ │ -00040590: 2062 6574 7765 656e 2053 5441 5254 2061 between START a │ │ │ -000405a0: 6e64 2045 4e44 0a74 6861 7420 6861 7665 nd END.that have │ │ │ -000405b0: 2062 6565 6e20 7365 7420 6279 2074 6869 been set by thi │ │ │ -000405c0: 7320 6675 6e63 7469 6f6e 2061 7265 2064 s function are d │ │ │ -000405d0: 656c 6574 6564 2e20 4f74 6865 7277 6973 eleted. Otherwis │ │ │ -000405e0: 6520 7468 650a 666f 6c6c 6f77 696e 6720 e the.following │ │ │ -000405f0: 6861 7070 656e 732e 0a0a 416c 6c20 7468 happens...All th │ │ │ -00040600: 6520 7379 6d62 6f6c 7320 696e 2041 4e4e e symbols in ANN │ │ │ -00040610: 5320 6172 6520 6c6f 6f6b 6564 2075 7020 S are looked up │ │ │ -00040620: 696e 2060 616e 6e6f 7461 7469 6f6e 2d62 in `annotation-b │ │ │ -00040630: 696e 6469 6e67 7327 2c0a 616e 6420 7468 indings',.and th │ │ │ -00040640: 6520 7265 7375 6c74 696e 6720 6c69 7374 e resulting list │ │ │ -00040650: 206f 6620 6661 6365 7320 6973 2075 7365 of faces is use │ │ │ -00040660: 6420 746f 2073 6574 2074 6865 2066 6163 d to set the fac │ │ │ -00040670: 6520 7465 7874 0a70 726f 7065 7274 792e e text.property. │ │ │ -00040680: 2046 6f72 2065 6163 6820 706f 7369 7469 For each positi │ │ │ -00040690: 6f6e 2069 6e20 7468 6520 7261 6e67 6520 on in the range │ │ │ -000406a0: 7468 6520 6661 6365 7320 6172 6520 6d65 the faces are me │ │ │ -000406b0: 7267 6564 0a77 6974 6820 7468 6520 6375 rged.with the cu │ │ │ -000406c0: 7272 656e 7420 7661 6c75 6520 6f66 2074 rrent value of t │ │ │ -000406d0: 6865 2061 6e6e 6f74 6174 696f 6e2d 6661 he annotation-fa │ │ │ -000406e0: 6365 7320 7465 7874 2070 726f 7065 7274 ces text propert │ │ │ -000406f0: 792c 2061 6e64 0a62 6f74 6820 7468 6520 y, and.both the │ │ │ -00040700: 6661 6365 2061 6e64 2074 6865 2061 6e6e face and the ann │ │ │ -00040710: 6f74 6174 696f 6e2d 6661 6365 7320 7465 otation-faces te │ │ │ -00040720: 7874 2070 726f 7065 7274 6965 7320 6172 xt properties ar │ │ │ -00040730: 6520 7365 7420 746f 0a74 6865 2072 6573 e set to.the res │ │ │ -00040740: 756c 7469 6e67 206c 6973 7420 6f66 2066 ulting list of f │ │ │ -00040750: 6163 6573 2e0a 0a49 6620 544f 4b45 4e2d aces...If TOKEN- │ │ │ -00040760: 4241 5345 4420 6973 206e 6f6e 2d6e 696c BASED is non-nil │ │ │ -00040770: 2c20 7468 656e 2074 6865 2061 6e6e 6f74 , then the annot │ │ │ -00040780: 6174 696f 6e2d 746f 6b65 6e2d 6261 7365 ation-token-base │ │ │ -00040790: 640a 7072 6f70 6572 7479 2069 7320 7365 d.property is se │ │ │ -000407a0: 7420 746f 2074 2e20 5468 6973 206d 6561 t to t. This mea │ │ │ -000407b0: 6e73 2074 6861 7420 616c 6c20 7465 7874 ns that all text │ │ │ -000407c0: 2070 726f 7065 7274 6965 7320 7365 7420 properties set │ │ │ -000407d0: 6279 0a60 616e 6e6f 7461 7469 6f6e 2d61 by.`annotation-a │ │ │ -000407e0: 6e6e 6f74 6174 6527 2069 6e20 7468 6973 nnotate' in this │ │ │ -000407f0: 2072 616e 6765 2061 7265 2069 6e74 6572 range are inter │ │ │ -00040800: 7072 6574 6564 2061 7320 6265 696e 670a preted as being. │ │ │ -00040810: 746f 6b65 6e2d 6261 7365 642c 2069 6e63 token-based, inc │ │ │ -00040820: 6c75 6469 6e67 2074 686f 7365 2073 6574 luding those set │ │ │ -00040830: 2062 7920 7072 6576 696f 7573 2063 616c by previous cal │ │ │ -00040840: 6c73 2074 6f20 7468 6973 0a70 726f 6365 ls to this.proce │ │ │ -00040850: 6475 7265 2e0a 0a49 6620 7468 6520 7374 dure...If the st │ │ │ -00040860: 7269 6e67 2049 4e46 4f20 6973 206e 6f6e ring INFO is non │ │ │ -00040870: 2d6e 696c 2c20 7468 6520 6d6f 7573 652d -nil, the mouse- │ │ │ -00040880: 6661 6365 0a70 726f 7065 7274 7920 6973 face.property is │ │ │ -00040890: 2073 6574 2074 6f20 6869 6768 6c69 6768 set to highligh │ │ │ -000408a0: 742c 2061 6e64 2049 4e46 4f20 6973 2075 t, and INFO is u │ │ │ -000408b0: 7365 6420 6173 2074 6865 2068 656c 702d sed as the help- │ │ │ -000408c0: 6563 686f 0a73 7472 696e 672e 2049 6620 echo.string. If │ │ │ -000408d0: 474f 544f 2068 6173 2074 6865 2066 6f72 GOTO has the for │ │ │ -000408e0: 6d20 2846 494c 454e 414d 4520 2e20 504f m (FILENAME . PO │ │ │ -000408f0: 5349 5449 4f4e 292c 2074 6865 6e20 7468 SITION), then th │ │ │ -00040900: 650a 6d6f 7573 652d 6661 6365 2070 726f e.mouse-face pro │ │ │ -00040910: 7065 7274 7920 6973 2073 6574 2074 6f20 perty is set to │ │ │ -00040920: 6869 6768 6c69 6768 742c 2061 6e64 2074 highlight, and t │ │ │ -00040930: 6865 2067 6976 656e 0a66 696c 656e 616d he given.filenam │ │ │ -00040940: 652f 706f 7369 7469 6f6e 2077 696c 6c20 e/position will │ │ │ -00040950: 6265 2075 7365 6420 6279 2060 616e 6e6f be used by `anno │ │ │ -00040960: 7461 7469 6f6e 2d67 6f74 6f2d 696e 6469 tation-goto-indi │ │ │ -00040970: 7265 6374 2720 7768 656e 0a69 7420 6973 rect' when.it is │ │ │ -00040980: 2069 6e76 6f6b 6564 2077 6974 6820 6120 invoked with a │ │ │ -00040990: 706f 7369 7469 6f6e 2069 6e20 7468 6520 position in the │ │ │ -000409a0: 6769 7665 6e20 7261 6e67 652e 0a0a 4e6f given range...No │ │ │ -000409b0: 7465 2074 6861 7420 6966 2061 2067 6976 te that if a giv │ │ │ -000409c0: 656e 2061 7474 7269 6275 7465 2069 7320 en attribute is │ │ │ -000409d0: 6465 6669 6e65 6420 6279 2073 6576 6572 defined by sever │ │ │ -000409e0: 616c 2066 6163 6573 2c20 7468 656e 0a74 al faces, then.t │ │ │ -000409f0: 6865 2066 6972 7374 2066 6163 6527 7320 he first face's │ │ │ -00040a00: 7365 7474 696e 6720 7461 6b65 7320 7072 setting takes pr │ │ │ -00040a10: 6563 6564 656e 6365 2e0a 0a41 6c6c 2063 ecedence...All c │ │ │ -00040a20: 6861 7261 6374 6572 7320 7768 6f73 6520 haracters whose │ │ │ -00040a30: 7465 7874 2070 726f 7065 7274 6965 7320 text properties │ │ │ -00040a40: 6765 7420 7365 7420 616c 736f 2068 6176 get set also hav │ │ │ -00040a50: 6520 7468 650a 616e 6e6f 7461 7469 6f6e e the.annotation │ │ │ -00040a60: 2d61 6e6e 6f74 6174 6564 2070 726f 7065 -annotated prope │ │ │ -00040a70: 7274 7920 7365 7420 746f 2074 2c20 616e rty set to t, an │ │ │ -00040a80: 640a 616e 6e6f 7461 7469 6f6e 2d61 6e6e d.annotation-ann │ │ │ -00040a90: 6f74 6174 696f 6e73 2069 7320 7365 7420 otations is set │ │ │ -00040aa0: 746f 2061 206c 6973 7420 7769 7468 2061 to a list with a │ │ │ -00040ab0: 6c6c 2074 6865 2070 726f 7065 7274 6965 ll the propertie │ │ │ -00040ac0: 730a 7468 6174 2068 6176 6520 6265 656e s.that have been │ │ │ -00040ad0: 2073 6574 3b20 7468 6973 2065 6e73 7572 set; this ensur │ │ │ -00040ae0: 6573 2074 6861 7420 7468 6520 7465 7874 es that the text │ │ │ -00040af0: 2070 726f 7065 7274 6965 7320 6361 6e0a properties can. │ │ │ -00040b00: 6c61 7465 7220 6265 2072 656d 6f76 6564 later be removed │ │ │ -00040b10: 2028 6966 2074 6865 2061 6e6e 6f74 6174 (if the annotat │ │ │ -00040b20: 696f 6e2d 2a20 7072 6f70 6572 7469 6573 ion-* properties │ │ │ -00040b30: 2061 7265 206e 6f74 2074 616d 7065 7265 are not tampere │ │ │ -00040b40: 640a 7769 7468 292e 220a 2020 2877 6865 d.with).". (whe │ │ │ -00040b50: 6e20 2861 6e64 2028 3c3d 2028 706f 696e n (and (<= (poin │ │ │ -00040b60: 742d 6d69 6e29 2073 7461 7274 290a 2020 t-min) start). │ │ │ -00040b70: 2020 2020 2020 2020 2020 2028 3c20 7374 (< st │ │ │ -00040b80: 6172 7420 656e 6429 0a20 2020 2020 2020 art end). │ │ │ -00040b90: 2020 2020 2020 283c 3d20 656e 6420 2870 (<= end (p │ │ │ -00040ba0: 6f69 6e74 2d6d 6178 2929 290a 2020 2020 oint-max))). │ │ │ -00040bb0: 2869 6620 286e 756c 6c20 616e 6e73 290a (if (null anns). │ │ │ -00040bc0: 2020 2020 2020 2020 2861 6e6e 6f74 6174 (annotat │ │ │ -00040bd0: 696f 6e2d 7265 6d6f 7665 2d61 6e6e 6f74 ion-remove-annot │ │ │ -00040be0: 6174 696f 6e73 206e 696c 2073 7461 7274 ations nil start │ │ │ -00040bf0: 2065 6e64 290a 2020 2020 2020 286c 6574 end). (let │ │ │ -00040c00: 2028 2866 6163 6573 2028 6465 6c71 206e ((faces (delq n │ │ │ -00040c10: 696c 0a20 2020 2020 2020 2020 2020 2020 il. │ │ │ -00040c20: 2020 2020 2020 2020 2020 2020 286d 6170 (map │ │ │ -00040c30: 6361 7220 286c 616d 6264 6120 2861 6e6e car (lambda (ann │ │ │ -00040c40: 290a 2020 2020 2020 2020 2020 2020 2020 ). │ │ │ +00040350: 2020 6e69 6c20 656e 6429 290a 2020 2020 nil end)). │ │ │ +00040360: 2020 286c 6574 2a20 2828 6f6c 642d 6661 (let* ((old-fa │ │ │ +00040370: 6365 7320 2867 6574 2d74 6578 742d 7072 ces (get-text-pr │ │ │ +00040380: 6f70 6572 7479 2070 6f73 2027 616e 6e6f operty pos 'anno │ │ │ +00040390: 7461 7469 6f6e 2d66 6163 6573 2929 0a20 tation-faces)). │ │ │ +000403a0: 2020 2020 2020 2020 2020 2020 2861 6c6c (all │ │ │ +000403b0: 2d66 6163 6573 2028 636c 2d75 6e69 6f6e -faces (cl-union │ │ │ +000403c0: 206f 6c64 2d66 6163 6573 2066 6163 6573 old-faces faces │ │ │ +000403d0: 2929 290a 2020 2020 2020 2020 286d 6170 ))). (map │ │ │ +000403e0: 6320 286c 616d 6264 6120 2870 726f 7029 c (lambda (prop) │ │ │ +000403f0: 2028 7075 742d 7465 7874 2d70 726f 7065 (put-text-prope │ │ │ +00040400: 7274 7920 706f 7320 6d69 6420 7072 6f70 rty pos mid prop │ │ │ +00040410: 2061 6c6c 2d66 6163 6573 2929 0a20 2020 all-faces)). │ │ │ +00040420: 2020 2020 2020 2020 2020 2027 2861 6e6e '(ann │ │ │ +00040430: 6f74 6174 696f 6e2d 6661 6365 7320 6661 otation-faces fa │ │ │ +00040440: 6365 2929 0a20 2020 2020 2020 2028 7365 ce)). (se │ │ │ +00040450: 7471 2070 6f73 206d 6964 2929 2929 290a tq pos mid))))). │ │ │ +00040460: 0a28 6465 6675 6e20 616e 6e6f 7461 7469 .(defun annotati │ │ │ +00040470: 6f6e 2d61 6e6e 6f74 6174 650a 2020 2020 on-annotate. │ │ │ +00040480: 2873 7461 7274 2065 6e64 2061 6e6e 7320 (start end anns │ │ │ +00040490: 266f 7074 696f 6e61 6c20 746f 6b65 6e2d &optional token- │ │ │ +000404a0: 6261 7365 6420 696e 666f 2067 6f74 6f29 based info goto) │ │ │ +000404b0: 0a20 2022 416e 6e6f 7461 7465 2074 6578 . "Annotate tex │ │ │ +000404c0: 7420 6265 7477 6565 6e20 5354 4152 5420 t between START │ │ │ +000404d0: 616e 6420 454e 4420 696e 2074 6865 2063 and END in the c │ │ │ +000404e0: 7572 7265 6e74 2062 7566 6665 722e 0a0a urrent buffer... │ │ │ +000404f0: 4e6f 7468 696e 6720 6861 7070 656e 7320 Nothing happens │ │ │ +00040500: 6966 2065 6974 6865 7220 5354 4152 5420 if either START │ │ │ +00040510: 6f72 2045 4e44 2061 7265 206f 7574 206f or END are out o │ │ │ +00040520: 6620 626f 756e 6473 2066 6f72 2074 6865 f bounds for the │ │ │ +00040530: 0a63 7572 7265 6e74 2028 706f 7373 6962 .current (possib │ │ │ +00040540: 6c79 206e 6172 726f 7765 6429 2062 7566 ly narrowed) buf │ │ │ +00040550: 6665 722c 206f 7220 454e 4420 3c3d 2053 fer, or END <= S │ │ │ +00040560: 5441 5254 2e0a 0a49 6620 414e 4e53 2069 TART...If ANNS i │ │ │ +00040570: 7320 6e69 6c2c 2074 6865 6e20 7468 6f73 s nil, then thos │ │ │ +00040580: 6520 7465 7874 2070 726f 7065 7274 6965 e text propertie │ │ │ +00040590: 7320 6265 7477 6565 6e20 5354 4152 5420 s between START │ │ │ +000405a0: 616e 6420 454e 440a 7468 6174 2068 6176 and END.that hav │ │ │ +000405b0: 6520 6265 656e 2073 6574 2062 7920 7468 e been set by th │ │ │ +000405c0: 6973 2066 756e 6374 696f 6e20 6172 6520 is function are │ │ │ +000405d0: 6465 6c65 7465 642e 204f 7468 6572 7769 deleted. Otherwi │ │ │ +000405e0: 7365 2074 6865 0a66 6f6c 6c6f 7769 6e67 se the.following │ │ │ +000405f0: 2068 6170 7065 6e73 2e0a 0a41 6c6c 2074 happens...All t │ │ │ +00040600: 6865 2073 796d 626f 6c73 2069 6e20 414e he symbols in AN │ │ │ +00040610: 4e53 2061 7265 206c 6f6f 6b65 6420 7570 NS are looked up │ │ │ +00040620: 2069 6e20 6061 6e6e 6f74 6174 696f 6e2d in `annotation- │ │ │ +00040630: 6269 6e64 696e 6773 272c 0a61 6e64 2074 bindings',.and t │ │ │ +00040640: 6865 2072 6573 756c 7469 6e67 206c 6973 he resulting lis │ │ │ +00040650: 7420 6f66 2066 6163 6573 2069 7320 7573 t of faces is us │ │ │ +00040660: 6564 2074 6f20 7365 7420 7468 6520 6661 ed to set the fa │ │ │ +00040670: 6365 2074 6578 740a 7072 6f70 6572 7479 ce text.property │ │ │ +00040680: 2e20 466f 7220 6561 6368 2070 6f73 6974 . For each posit │ │ │ +00040690: 696f 6e20 696e 2074 6865 2072 616e 6765 ion in the range │ │ │ +000406a0: 2074 6865 2066 6163 6573 2061 7265 206d the faces are m │ │ │ +000406b0: 6572 6765 640a 7769 7468 2074 6865 2063 erged.with the c │ │ │ +000406c0: 7572 7265 6e74 2076 616c 7565 206f 6620 urrent value of │ │ │ +000406d0: 7468 6520 616e 6e6f 7461 7469 6f6e 2d66 the annotation-f │ │ │ +000406e0: 6163 6573 2074 6578 7420 7072 6f70 6572 aces text proper │ │ │ +000406f0: 7479 2c20 616e 640a 626f 7468 2074 6865 ty, and.both the │ │ │ +00040700: 2066 6163 6520 616e 6420 7468 6520 616e face and the an │ │ │ +00040710: 6e6f 7461 7469 6f6e 2d66 6163 6573 2074 notation-faces t │ │ │ +00040720: 6578 7420 7072 6f70 6572 7469 6573 2061 ext properties a │ │ │ +00040730: 7265 2073 6574 2074 6f0a 7468 6520 7265 re set to.the re │ │ │ +00040740: 7375 6c74 696e 6720 6c69 7374 206f 6620 sulting list of │ │ │ +00040750: 6661 6365 732e 0a0a 4966 2054 4f4b 454e faces...If TOKEN │ │ │ +00040760: 2d42 4153 4544 2069 7320 6e6f 6e2d 6e69 -BASED is non-ni │ │ │ +00040770: 6c2c 2074 6865 6e20 7468 6520 616e 6e6f l, then the anno │ │ │ +00040780: 7461 7469 6f6e 2d74 6f6b 656e 2d62 6173 tation-token-bas │ │ │ +00040790: 6564 0a70 726f 7065 7274 7920 6973 2073 ed.property is s │ │ │ +000407a0: 6574 2074 6f20 742e 2054 6869 7320 6d65 et to t. This me │ │ │ +000407b0: 616e 7320 7468 6174 2061 6c6c 2074 6578 ans that all tex │ │ │ +000407c0: 7420 7072 6f70 6572 7469 6573 2073 6574 t properties set │ │ │ +000407d0: 2062 790a 6061 6e6e 6f74 6174 696f 6e2d by.`annotation- │ │ │ +000407e0: 616e 6e6f 7461 7465 2720 696e 2074 6869 annotate' in thi │ │ │ +000407f0: 7320 7261 6e67 6520 6172 6520 696e 7465 s range are inte │ │ │ +00040800: 7270 7265 7465 6420 6173 2062 6569 6e67 rpreted as being │ │ │ +00040810: 0a74 6f6b 656e 2d62 6173 6564 2c20 696e .token-based, in │ │ │ +00040820: 636c 7564 696e 6720 7468 6f73 6520 7365 cluding those se │ │ │ +00040830: 7420 6279 2070 7265 7669 6f75 7320 6361 t by previous ca │ │ │ +00040840: 6c6c 7320 746f 2074 6869 730a 7072 6f63 lls to this.proc │ │ │ +00040850: 6564 7572 652e 0a0a 4966 2074 6865 2073 edure...If the s │ │ │ +00040860: 7472 696e 6720 494e 464f 2069 7320 6e6f tring INFO is no │ │ │ +00040870: 6e2d 6e69 6c2c 2074 6865 206d 6f75 7365 n-nil, the mouse │ │ │ +00040880: 2d66 6163 650a 7072 6f70 6572 7479 2069 -face.property i │ │ │ +00040890: 7320 7365 7420 746f 2068 6967 686c 6967 s set to highlig │ │ │ +000408a0: 6874 2c20 616e 6420 494e 464f 2069 7320 ht, and INFO is │ │ │ +000408b0: 7573 6564 2061 7320 7468 6520 6865 6c70 used as the help │ │ │ +000408c0: 2d65 6368 6f0a 7374 7269 6e67 2e20 4966 -echo.string. If │ │ │ +000408d0: 2047 4f54 4f20 6861 7320 7468 6520 666f GOTO has the fo │ │ │ +000408e0: 726d 2028 4649 4c45 4e41 4d45 202e 2050 rm (FILENAME . P │ │ │ +000408f0: 4f53 4954 494f 4e29 2c20 7468 656e 2074 OSITION), then t │ │ │ +00040900: 6865 0a6d 6f75 7365 2d66 6163 6520 7072 he.mouse-face pr │ │ │ +00040910: 6f70 6572 7479 2069 7320 7365 7420 746f operty is set to │ │ │ +00040920: 2068 6967 686c 6967 6874 2c20 616e 6420 highlight, and │ │ │ +00040930: 7468 6520 6769 7665 6e0a 6669 6c65 6e61 the given.filena │ │ │ +00040940: 6d65 2f70 6f73 6974 696f 6e20 7769 6c6c me/position will │ │ │ +00040950: 2062 6520 7573 6564 2062 7920 6061 6e6e be used by `ann │ │ │ +00040960: 6f74 6174 696f 6e2d 676f 746f 2d69 6e64 otation-goto-ind │ │ │ +00040970: 6972 6563 7427 2077 6865 6e0a 6974 2069 irect' when.it i │ │ │ +00040980: 7320 696e 766f 6b65 6420 7769 7468 2061 s invoked with a │ │ │ +00040990: 2070 6f73 6974 696f 6e20 696e 2074 6865 position in the │ │ │ +000409a0: 2067 6976 656e 2072 616e 6765 2e0a 0a4e given range...N │ │ │ +000409b0: 6f74 6520 7468 6174 2069 6620 6120 6769 ote that if a gi │ │ │ +000409c0: 7665 6e20 6174 7472 6962 7574 6520 6973 ven attribute is │ │ │ +000409d0: 2064 6566 696e 6564 2062 7920 7365 7665 defined by seve │ │ │ +000409e0: 7261 6c20 6661 6365 732c 2074 6865 6e0a ral faces, then. │ │ │ +000409f0: 7468 6520 6669 7273 7420 6661 6365 2773 the first face's │ │ │ +00040a00: 2073 6574 7469 6e67 2074 616b 6573 2070 setting takes p │ │ │ +00040a10: 7265 6365 6465 6e63 652e 0a0a 416c 6c20 recedence...All │ │ │ +00040a20: 6368 6172 6163 7465 7273 2077 686f 7365 characters whose │ │ │ +00040a30: 2074 6578 7420 7072 6f70 6572 7469 6573 text properties │ │ │ +00040a40: 2067 6574 2073 6574 2061 6c73 6f20 6861 get set also ha │ │ │ +00040a50: 7665 2074 6865 0a61 6e6e 6f74 6174 696f ve the.annotatio │ │ │ +00040a60: 6e2d 616e 6e6f 7461 7465 6420 7072 6f70 n-annotated prop │ │ │ +00040a70: 6572 7479 2073 6574 2074 6f20 742c 2061 erty set to t, a │ │ │ +00040a80: 6e64 0a61 6e6e 6f74 6174 696f 6e2d 616e nd.annotation-an │ │ │ +00040a90: 6e6f 7461 7469 6f6e 7320 6973 2073 6574 notations is set │ │ │ +00040aa0: 2074 6f20 6120 6c69 7374 2077 6974 6820 to a list with │ │ │ +00040ab0: 616c 6c20 7468 6520 7072 6f70 6572 7469 all the properti │ │ │ +00040ac0: 6573 0a74 6861 7420 6861 7665 2062 6565 es.that have bee │ │ │ +00040ad0: 6e20 7365 743b 2074 6869 7320 656e 7375 n set; this ensu │ │ │ +00040ae0: 7265 7320 7468 6174 2074 6865 2074 6578 res that the tex │ │ │ +00040af0: 7420 7072 6f70 6572 7469 6573 2063 616e t properties can │ │ │ +00040b00: 0a6c 6174 6572 2062 6520 7265 6d6f 7665 .later be remove │ │ │ +00040b10: 6420 2869 6620 7468 6520 616e 6e6f 7461 d (if the annota │ │ │ +00040b20: 7469 6f6e 2d2a 2070 726f 7065 7274 6965 tion-* propertie │ │ │ +00040b30: 7320 6172 6520 6e6f 7420 7461 6d70 6572 s are not tamper │ │ │ +00040b40: 6564 0a77 6974 6829 2e22 0a20 2028 7768 ed.with).". (wh │ │ │ +00040b50: 656e 2028 616e 6420 283c 3d20 2870 6f69 en (and (<= (poi │ │ │ +00040b60: 6e74 2d6d 696e 2920 7374 6172 7429 0a20 nt-min) start). │ │ │ +00040b70: 2020 2020 2020 2020 2020 2020 283c 2073 (< s │ │ │ +00040b80: 7461 7274 2065 6e64 290a 2020 2020 2020 tart end). │ │ │ +00040b90: 2020 2020 2020 2028 3c3d 2065 6e64 2028 (<= end ( │ │ │ +00040ba0: 706f 696e 742d 6d61 7829 2929 0a20 2020 point-max))). │ │ │ +00040bb0: 2028 6966 2028 6e75 6c6c 2061 6e6e 7329 (if (null anns) │ │ │ +00040bc0: 0a20 2020 2020 2020 2028 616e 6e6f 7461 . (annota │ │ │ +00040bd0: 7469 6f6e 2d72 656d 6f76 652d 616e 6e6f tion-remove-anno │ │ │ +00040be0: 7461 7469 6f6e 7320 6e69 6c20 7374 6172 tations nil star │ │ │ +00040bf0: 7420 656e 6429 0a20 2020 2020 2028 6c65 t end). (le │ │ │ +00040c00: 7420 2828 6661 6365 7320 2864 656c 7120 t ((faces (delq │ │ │ +00040c10: 6e69 6c0a 2020 2020 2020 2020 2020 2020 nil. │ │ │ +00040c20: 2020 2020 2020 2020 2020 2020 2028 6d61 (ma │ │ │ +00040c30: 7063 6172 2028 6c61 6d62 6461 2028 616e pcar (lambda (an │ │ │ +00040c40: 6e29 0a20 2020 2020 2020 2020 2020 2020 n). │ │ │ 00040c50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00040c60: 2020 2020 2028 6364 7220 2861 7373 6f63 (cdr (assoc │ │ │ -00040c70: 2061 6e6e 2061 6e6e 6f74 6174 696f 6e2d ann annotation- │ │ │ -00040c80: 6269 6e64 696e 6773 2929 290a 2020 2020 bindings))). │ │ │ +00040c60: 2020 2020 2020 2863 6472 2028 6173 736f (cdr (asso │ │ │ +00040c70: 6320 616e 6e20 616e 6e6f 7461 7469 6f6e c ann annotation │ │ │ +00040c80: 2d62 696e 6469 6e67 7329 2929 0a20 2020 -bindings))). │ │ │ 00040c90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00040ca0: 2020 2020 2020 2020 2020 2020 2061 6e6e ann │ │ │ -00040cb0: 7329 2929 0a20 2020 2020 2020 2020 2020 s))). │ │ │ -00040cc0: 2028 7072 6f70 7320 6e69 6c29 290a 2020 (props nil)). │ │ │ -00040cd0: 2020 2020 2020 2877 6865 6e20 6661 6365 (when face │ │ │ -00040ce0: 730a 2020 2020 2020 2020 2020 2861 6e6e s. (ann │ │ │ -00040cf0: 6f74 6174 696f 6e2d 6d65 7267 652d 6661 otation-merge-fa │ │ │ -00040d00: 6365 7320 7374 6172 7420 656e 6420 6661 ces start end fa │ │ │ -00040d10: 6365 7329 0a20 2020 2020 2020 2020 2028 ces). ( │ │ │ -00040d20: 636c 2d70 7573 686e 6577 2027 6661 6365 cl-pushnew 'face │ │ │ -00040d30: 2070 726f 7073 290a 2020 2020 2020 2020 props). │ │ │ -00040d40: 2020 2863 6c2d 7075 7368 6e65 7720 2761 (cl-pushnew 'a │ │ │ -00040d50: 6e6e 6f74 6174 696f 6e2d 6661 6365 7320 nnotation-faces │ │ │ -00040d60: 7072 6f70 7329 290a 2020 2020 2020 2020 props)). │ │ │ -00040d70: 2877 6865 6e20 746f 6b65 6e2d 6261 7365 (when token-base │ │ │ -00040d80: 640a 2020 2020 2020 2020 2020 2861 6464 d. (add │ │ │ -00040d90: 2d74 6578 742d 7072 6f70 6572 7469 6573 -text-properties │ │ │ -00040da0: 2073 7461 7274 2065 6e64 0a20 2020 2020 start end. │ │ │ +00040ca0: 2020 2020 2020 2020 2020 2020 2020 616e an │ │ │ +00040cb0: 6e73 2929 290a 2020 2020 2020 2020 2020 ns))). │ │ │ +00040cc0: 2020 2870 726f 7073 206e 696c 2929 0a20 (props nil)). │ │ │ +00040cd0: 2020 2020 2020 2028 7768 656e 2066 6163 (when fac │ │ │ +00040ce0: 6573 0a20 2020 2020 2020 2020 2028 616e es. (an │ │ │ +00040cf0: 6e6f 7461 7469 6f6e 2d6d 6572 6765 2d66 notation-merge-f │ │ │ +00040d00: 6163 6573 2073 7461 7274 2065 6e64 2066 aces start end f │ │ │ +00040d10: 6163 6573 290a 2020 2020 2020 2020 2020 aces). │ │ │ +00040d20: 2863 6c2d 7075 7368 6e65 7720 2766 6163 (cl-pushnew 'fac │ │ │ +00040d30: 6520 7072 6f70 7329 0a20 2020 2020 2020 e props). │ │ │ +00040d40: 2020 2028 636c 2d70 7573 686e 6577 2027 (cl-pushnew ' │ │ │ +00040d50: 616e 6e6f 7461 7469 6f6e 2d66 6163 6573 annotation-faces │ │ │ +00040d60: 2070 726f 7073 2929 0a20 2020 2020 2020 props)). │ │ │ +00040d70: 2028 7768 656e 2074 6f6b 656e 2d62 6173 (when token-bas │ │ │ +00040d80: 6564 0a20 2020 2020 2020 2020 2028 6164 ed. (ad │ │ │ +00040d90: 642d 7465 7874 2d70 726f 7065 7274 6965 d-text-propertie │ │ │ +00040da0: 7320 7374 6172 7420 656e 640a 2020 2020 s start end. │ │ │ 00040db0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00040dc0: 2020 2020 2020 2020 2020 6028 616e 6e6f `(anno │ │ │ -00040dd0: 7461 7469 6f6e 2d74 6f6b 656e 2d62 6173 tation-token-bas │ │ │ -00040de0: 6564 2074 2929 0a20 2020 2020 2020 2020 ed t)). │ │ │ -00040df0: 2028 636c 2d70 7573 686e 6577 2027 616e (cl-pushnew 'an │ │ │ -00040e00: 6e6f 7461 7469 6f6e 2d74 6f6b 656e 2d62 notation-token-b │ │ │ -00040e10: 6173 6564 2070 726f 7073 2929 0a20 2020 ased props)). │ │ │ -00040e20: 2020 2020 2028 7768 656e 2028 636f 6e73 (when (cons │ │ │ -00040e30: 7020 676f 746f 290a 2020 2020 2020 2020 p goto). │ │ │ -00040e40: 2020 2861 6464 2d74 6578 742d 7072 6f70 (add-text-prop │ │ │ -00040e50: 6572 7469 6573 2073 7461 7274 2065 6e64 erties start end │ │ │ -00040e60: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ +00040dc0: 2020 2020 2020 2020 2020 2060 2861 6e6e `(ann │ │ │ +00040dd0: 6f74 6174 696f 6e2d 746f 6b65 6e2d 6261 otation-token-ba │ │ │ +00040de0: 7365 6420 7429 290a 2020 2020 2020 2020 sed t)). │ │ │ +00040df0: 2020 2863 6c2d 7075 7368 6e65 7720 2761 (cl-pushnew 'a │ │ │ +00040e00: 6e6e 6f74 6174 696f 6e2d 746f 6b65 6e2d nnotation-token- │ │ │ +00040e10: 6261 7365 6420 7072 6f70 7329 290a 2020 based props)). │ │ │ +00040e20: 2020 2020 2020 2877 6865 6e20 2863 6f6e (when (con │ │ │ +00040e30: 7370 2067 6f74 6f29 0a20 2020 2020 2020 sp goto). │ │ │ +00040e40: 2020 2028 6164 642d 7465 7874 2d70 726f (add-text-pro │ │ │ +00040e50: 7065 7274 6965 7320 7374 6172 7420 656e perties start en │ │ │ +00040e60: 640a 2020 2020 2020 2020 2020 2020 2020 d. │ │ │ 00040e70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00040e80: 6028 616e 6e6f 7461 7469 6f6e 2d67 6f74 `(annotation-got │ │ │ -00040e90: 6f20 2c67 6f74 6f0a 2020 2020 2020 2020 o ,goto. │ │ │ +00040e80: 2060 2861 6e6e 6f74 6174 696f 6e2d 676f `(annotation-go │ │ │ +00040e90: 746f 202c 676f 746f 0a20 2020 2020 2020 to ,goto. │ │ │ 00040ea0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00040eb0: 2020 2020 2020 2020 206d 6f75 7365 2d66 mouse-f │ │ │ -00040ec0: 6163 6520 6869 6768 6c69 6768 7429 290a ace highlight)). │ │ │ -00040ed0: 2020 2020 2020 2020 2020 2863 6c2d 7075 (cl-pu │ │ │ -00040ee0: 7368 6e65 7720 2761 6e6e 6f74 6174 696f shnew 'annotatio │ │ │ -00040ef0: 6e2d 676f 746f 2070 726f 7073 290a 2020 n-goto props). │ │ │ -00040f00: 2020 2020 2020 2020 2863 6c2d 7075 7368 (cl-push │ │ │ -00040f10: 6e65 7720 276d 6f75 7365 2d66 6163 6520 new 'mouse-face │ │ │ -00040f20: 7072 6f70 7329 290a 2020 2020 2020 2020 props)). │ │ │ -00040f30: 2877 6865 6e20 696e 666f 0a20 2020 2020 (when info. │ │ │ -00040f40: 2020 2020 2028 6164 642d 7465 7874 2d70 (add-text-p │ │ │ -00040f50: 726f 7065 7274 6965 7320 7374 6172 7420 roperties start │ │ │ -00040f60: 656e 640a 2020 2020 2020 2020 2020 2020 end. │ │ │ +00040eb0: 2020 2020 2020 2020 2020 6d6f 7573 652d mouse- │ │ │ +00040ec0: 6661 6365 2068 6967 686c 6967 6874 2929 face highlight)) │ │ │ +00040ed0: 0a20 2020 2020 2020 2020 2028 636c 2d70 . (cl-p │ │ │ +00040ee0: 7573 686e 6577 2027 616e 6e6f 7461 7469 ushnew 'annotati │ │ │ +00040ef0: 6f6e 2d67 6f74 6f20 7072 6f70 7329 0a20 on-goto props). │ │ │ +00040f00: 2020 2020 2020 2020 2028 636c 2d70 7573 (cl-pus │ │ │ +00040f10: 686e 6577 2027 6d6f 7573 652d 6661 6365 hnew 'mouse-face │ │ │ +00040f20: 2070 726f 7073 2929 0a20 2020 2020 2020 props)). │ │ │ +00040f30: 2028 7768 656e 2069 6e66 6f0a 2020 2020 (when info. │ │ │ +00040f40: 2020 2020 2020 2861 6464 2d74 6578 742d (add-text- │ │ │ +00040f50: 7072 6f70 6572 7469 6573 2073 7461 7274 properties start │ │ │ +00040f60: 2065 6e64 0a20 2020 2020 2020 2020 2020 end. │ │ │ 00040f70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00040f80: 2020 2060 286d 6f75 7365 2d66 6163 6520 `(mouse-face │ │ │ -00040f90: 6869 6768 6c69 6768 7420 6865 6c70 2d65 highlight help-e │ │ │ -00040fa0: 6368 6f20 2c69 6e66 6f29 290a 2020 2020 cho ,info)). │ │ │ -00040fb0: 2020 2020 2020 2863 6c2d 7075 7368 6e65 (cl-pushne │ │ │ -00040fc0: 7720 276d 6f75 7365 2d66 6163 6520 7072 w 'mouse-face pr │ │ │ -00040fd0: 6f70 7329 0a20 2020 2020 2020 2020 2028 ops). ( │ │ │ -00040fe0: 636c 2d70 7573 686e 6577 2027 6865 6c70 cl-pushnew 'help │ │ │ -00040ff0: 2d65 6368 6f20 7072 6f70 7329 290a 2020 -echo props)). │ │ │ -00041000: 2020 2020 2020 2877 6865 6e20 7072 6f70 (when prop │ │ │ -00041010: 730a 2020 2020 2020 2020 2020 2863 6c2d s. (cl- │ │ │ -00041020: 7075 7368 6e65 7720 2761 6e6e 6f74 6174 pushnew 'annotat │ │ │ -00041030: 696f 6e2d 616e 6e6f 7461 7465 6420 7072 ion-annotated pr │ │ │ -00041040: 6f70 7329 0a20 2020 2020 2020 2020 2028 ops). ( │ │ │ -00041050: 6c65 7420 2828 706f 7320 7374 6172 7429 let ((pos start) │ │ │ -00041060: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ -00041070: 206d 6964 290a 2020 2020 2020 2020 2020 mid). │ │ │ -00041080: 2020 2877 6869 6c65 2028 3c20 706f 7320 (while (< pos │ │ │ -00041090: 656e 6429 0a20 2020 2020 2020 2020 2020 end). │ │ │ -000410a0: 2020 2028 7365 7471 206d 6964 2028 6e65 (setq mid (ne │ │ │ -000410b0: 7874 2d73 696e 676c 652d 7072 6f70 6572 xt-single-proper │ │ │ -000410c0: 7479 2d63 6861 6e67 6520 706f 730a 2020 ty-change pos. │ │ │ +00040f80: 2020 2020 6028 6d6f 7573 652d 6661 6365 `(mouse-face │ │ │ +00040f90: 2068 6967 686c 6967 6874 2068 656c 702d highlight help- │ │ │ +00040fa0: 6563 686f 202c 696e 666f 2929 0a20 2020 echo ,info)). │ │ │ +00040fb0: 2020 2020 2020 2028 636c 2d70 7573 686e (cl-pushn │ │ │ +00040fc0: 6577 2027 6d6f 7573 652d 6661 6365 2070 ew 'mouse-face p │ │ │ +00040fd0: 726f 7073 290a 2020 2020 2020 2020 2020 rops). │ │ │ +00040fe0: 2863 6c2d 7075 7368 6e65 7720 2768 656c (cl-pushnew 'hel │ │ │ +00040ff0: 702d 6563 686f 2070 726f 7073 2929 0a20 p-echo props)). │ │ │ +00041000: 2020 2020 2020 2028 7768 656e 2070 726f (when pro │ │ │ +00041010: 7073 0a20 2020 2020 2020 2020 2028 636c ps. (cl │ │ │ +00041020: 2d70 7573 686e 6577 2027 616e 6e6f 7461 -pushnew 'annota │ │ │ +00041030: 7469 6f6e 2d61 6e6e 6f74 6174 6564 2070 tion-annotated p │ │ │ +00041040: 726f 7073 290a 2020 2020 2020 2020 2020 rops). │ │ │ +00041050: 286c 6574 2028 2870 6f73 2073 7461 7274 (let ((pos start │ │ │ +00041060: 290a 2020 2020 2020 2020 2020 2020 2020 ). │ │ │ +00041070: 2020 6d69 6429 0a20 2020 2020 2020 2020 mid). │ │ │ +00041080: 2020 2028 7768 696c 6520 283c 2070 6f73 (while (< pos │ │ │ +00041090: 2065 6e64 290a 2020 2020 2020 2020 2020 end). │ │ │ +000410a0: 2020 2020 2873 6574 7120 6d69 6420 286e (setq mid (n │ │ │ +000410b0: 6578 742d 7369 6e67 6c65 2d70 726f 7065 ext-single-prope │ │ │ +000410c0: 7274 792d 6368 616e 6765 2070 6f73 0a20 rty-change pos. │ │ │ 000410d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -000410e0: 2020 2020 2020 2020 2027 616e 6e6f 7461 'annota │ │ │ -000410f0: 7469 6f6e 2d61 6e6e 6f74 6174 696f 6e73 tion-annotations │ │ │ -00041100: 206e 696c 2065 6e64 2929 0a20 2020 2020 nil end)). │ │ │ -00041110: 2020 2020 2020 2020 2028 6c65 742a 2028 (let* ( │ │ │ -00041120: 286f 6c64 2d70 726f 7073 2028 6765 742d (old-props (get- │ │ │ -00041130: 7465 7874 2d70 726f 7065 7274 7920 706f text-property po │ │ │ -00041140: 7320 2761 6e6e 6f74 6174 696f 6e2d 616e s 'annotation-an │ │ │ -00041150: 6e6f 7461 7469 6f6e 7329 290a 2020 2020 notations)). │ │ │ +000410e0: 2020 2020 2020 2020 2020 2761 6e6e 6f74 'annot │ │ │ +000410f0: 6174 696f 6e2d 616e 6e6f 7461 7469 6f6e ation-annotation │ │ │ +00041100: 7320 6e69 6c20 656e 6429 290a 2020 2020 s nil end)). │ │ │ +00041110: 2020 2020 2020 2020 2020 286c 6574 2a20 (let* │ │ │ +00041120: 2828 6f6c 642d 7072 6f70 7320 2867 6574 ((old-props (get │ │ │ +00041130: 2d74 6578 742d 7072 6f70 6572 7479 2070 -text-property p │ │ │ +00041140: 6f73 2027 616e 6e6f 7461 7469 6f6e 2d61 os 'annotation-a │ │ │ +00041150: 6e6e 6f74 6174 696f 6e73 2929 0a20 2020 nnotations)). │ │ │ 00041160: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00041170: 2028 616c 6c2d 7072 6f70 7320 2863 6c2d (all-props (cl- │ │ │ -00041180: 756e 696f 6e20 6f6c 642d 7072 6f70 7320 union old-props │ │ │ -00041190: 7072 6f70 7329 2929 0a20 2020 2020 2020 props))). │ │ │ -000411a0: 2020 2020 2020 2020 2028 6164 642d 7465 (add-te │ │ │ -000411b0: 7874 2d70 726f 7065 7274 6965 7320 706f xt-properties po │ │ │ -000411c0: 7320 6d69 640a 2020 2020 2020 2020 2020 s mid. │ │ │ -000411d0: 2020 2020 2020 2020 2060 2861 6e6e 6f74 `(annot │ │ │ -000411e0: 6174 696f 6e2d 616e 6e6f 7461 7465 6420 ation-annotated │ │ │ -000411f0: 7420 616e 6e6f 7461 7469 6f6e 2d61 6e6e t annotation-ann │ │ │ -00041200: 6f74 6174 696f 6e73 202c 616c 6c2d 7072 otations ,all-pr │ │ │ -00041210: 6f70 7329 290a 2020 2020 2020 2020 2020 ops)). │ │ │ -00041220: 2020 2020 2020 2873 6574 7120 706f 7320 (setq pos │ │ │ -00041230: 6d69 6429 2929 2929 2929 2929 0a0a 2864 mid)))))))))..(d │ │ │ -00041240: 6566 6d61 6372 6f20 616e 6e6f 7461 7469 efmacro annotati │ │ │ -00041250: 6f6e 2d70 7265 7365 7276 652d 6d6f 642d on-preserve-mod- │ │ │ -00041260: 702d 616e 642d 756e 646f 2028 2672 6573 p-and-undo (&res │ │ │ -00041270: 7420 636f 6465 290a 2020 2252 756e 2043 t code). "Run C │ │ │ -00041280: 4f44 4520 7072 6573 6572 7669 6e67 2062 ODE preserving b │ │ │ -00041290: 6f74 6820 7468 6520 756e 646f 2064 6174 oth the undo dat │ │ │ -000412a0: 6120 616e 6420 7468 6520 6d6f 6469 6669 a and the modifi │ │ │ -000412b0: 6361 7469 6f6e 2062 6974 2e0a 4d6f 6469 cation bit..Modi │ │ │ -000412c0: 6669 6361 7469 6f6e 2068 6f6f 6b73 2061 fication hooks a │ │ │ -000412d0: 7265 2061 6c73 6f20 6469 7361 626c 6564 re also disabled │ │ │ -000412e0: 2e22 0a20 2028 6465 636c 6172 6520 2864 .". (declare (d │ │ │ -000412f0: 6562 7567 2028 2672 6573 7420 666f 726d ebug (&rest form │ │ │ -00041300: 2929 290a 2020 286c 6574 2028 286d 6f64 ))). (let ((mod │ │ │ -00041310: 7020 286d 616b 652d 7379 6d62 6f6c 2022 p (make-symbol " │ │ │ -00041320: 6d6f 6470 2229 2929 0a20 2060 286c 6574 modp"))). `(let │ │ │ -00041330: 2028 282c 6d6f 6470 2028 6275 6666 6572 ((,modp (buffer │ │ │ -00041340: 2d6d 6f64 6966 6965 642d 7029 290a 2020 -modified-p)). │ │ │ -00041350: 2020 2020 2020 203b 3b20 446f 6e27 7420 ;; Don't │ │ │ -00041360: 6368 6563 6b20 6966 2074 6865 2066 696c check if the fil │ │ │ -00041370: 6520 6973 2062 6569 6e67 206d 6f64 6966 e is being modif │ │ │ -00041380: 6965 6420 6279 2073 6f6d 6520 6f74 6865 ied by some othe │ │ │ -00041390: 7220 7072 6f63 6573 732e 0a20 2020 2020 r process.. │ │ │ -000413a0: 2020 2020 2862 7566 6665 722d 6669 6c65 (buffer-file │ │ │ -000413b0: 2d6e 616d 6520 6e69 6c29 0a20 2020 2020 -name nil). │ │ │ -000413c0: 2020 2020 3b3b 2044 6f6e 2774 2072 6563 ;; Don't rec │ │ │ -000413d0: 6f72 6420 7468 6f73 6520 6368 616e 6765 ord those change │ │ │ -000413e0: 7320 6f6e 2074 6865 2075 6e64 6f2d 6c6f s on the undo-lo │ │ │ -000413f0: 672e 0a20 2020 2020 2020 2020 2862 7566 g.. (buf │ │ │ -00041400: 6665 722d 756e 646f 2d6c 6973 7420 7429 fer-undo-list t) │ │ │ -00041410: 0a20 2020 2020 2020 2020 3b3b 2044 6f6e . ;; Don │ │ │ -00041420: 2774 2072 756e 206d 6f64 6966 6963 6174 't run modificat │ │ │ -00041430: 696f 6e20 686f 6f6b 732e 0a20 2020 2020 ion hooks.. │ │ │ -00041440: 2020 2020 2869 6e68 6962 6974 2d6d 6f64 (inhibit-mod │ │ │ -00041450: 6966 6963 6174 696f 6e2d 686f 6f6b 7320 ification-hooks │ │ │ -00041460: 7429 290a 2020 2020 2028 756e 7769 6e64 t)). (unwind │ │ │ -00041470: 2d70 726f 7465 6374 0a20 2020 2020 2020 -protect. │ │ │ -00041480: 2020 2870 726f 676e 202c 4063 6f64 6529 (progn ,@code) │ │ │ -00041490: 0a20 2020 2020 2020 2872 6573 746f 7265 . (restore │ │ │ -000414a0: 2d62 7566 6665 722d 6d6f 6469 6669 6564 -buffer-modified │ │ │ -000414b0: 2d70 202c 6d6f 6470 2929 2929 290a 0a28 -p ,modp)))))..( │ │ │ -000414c0: 6465 6675 6e20 616e 6e6f 7461 7469 6f6e defun annotation │ │ │ -000414d0: 2d72 656d 6f76 652d 616e 6e6f 7461 7469 -remove-annotati │ │ │ -000414e0: 6f6e 7320 2826 6f70 7469 6f6e 616c 2074 ons (&optional t │ │ │ -000414f0: 6f6b 656e 2d62 6173 6564 2073 7461 7274 oken-based start │ │ │ -00041500: 2065 6e64 290a 2020 2252 656d 6f76 6520 end). "Remove │ │ │ -00041510: 7465 7874 2070 726f 7065 7274 6965 7320 text properties │ │ │ -00041520: 7365 7420 6279 2060 616e 6e6f 7461 7469 set by `annotati │ │ │ -00041530: 6f6e 2d61 6e6e 6f74 6174 6527 2e0a 0a49 on-annotate'...I │ │ │ -00041540: 6e20 7468 6520 6375 7272 656e 7420 6275 n the current bu │ │ │ -00041550: 6666 6572 2e20 4966 2053 5441 5254 2061 ffer. If START a │ │ │ -00041560: 6e64 2045 4e44 2061 7265 2067 6976 656e nd END are given │ │ │ -00041570: 2c20 7468 656e 0a70 726f 7065 7274 6965 , then.propertie │ │ │ -00041580: 7320 6172 6520 6f6e 6c79 2072 656d 6f76 s are only remov │ │ │ -00041590: 6564 2062 6574 7765 656e 2074 6865 7365 ed between these │ │ │ -000415a0: 2070 6f73 6974 696f 6e73 2e20 4966 0a54 positions. If.T │ │ │ -000415b0: 4f4b 454e 2d42 4153 4544 2069 7320 6e6f OKEN-BASED is no │ │ │ -000415c0: 6e2d 6e69 6c2c 2074 6865 6e20 6f6e 6c79 n-nil, then only │ │ │ -000415d0: 2074 6f6b 656e 2d62 6173 6564 2070 726f token-based pro │ │ │ -000415e0: 7065 7274 6965 7320 6172 650a 7265 6d6f perties are.remo │ │ │ -000415f0: 7665 642e 0a0a 5468 6973 2066 756e 6374 ved...This funct │ │ │ -00041600: 696f 6e20 7072 6573 6572 7665 7320 7468 ion preserves th │ │ │ -00041610: 6520 6669 6c65 206d 6f64 6966 6963 6174 e file modificat │ │ │ -00041620: 696f 6e20 7374 616d 7020 6f66 2074 6865 ion stamp of the │ │ │ -00041630: 0a63 7572 7265 6e74 2062 7566 6665 722c .current buffer, │ │ │ -00041640: 2064 6f65 7320 6e6f 7420 6d6f 6469 6679 does not modify │ │ │ -00041650: 2074 6865 2075 6e64 6f20 6c69 7374 2c20 the undo list, │ │ │ -00041660: 616e 6420 7465 6d70 6f72 6172 696c 790a and temporarily. │ │ │ -00041670: 6469 7361 626c 6573 2061 6c6c 206d 6f64 disables all mod │ │ │ -00041680: 6966 6963 6174 696f 6e20 686f 6f6b 732e ification hooks. │ │ │ -00041690: 0a0a 4e6f 7465 3a20 5468 6973 2066 756e ..Note: This fun │ │ │ -000416a0: 6374 696f 6e20 6d61 7920 6661 696c 2069 ction may fail i │ │ │ -000416b0: 6620 7468 6572 6520 6973 2072 6561 642d f there is read- │ │ │ -000416c0: 6f6e 6c79 2074 6578 7420 696e 2074 6865 only text in the │ │ │ -000416d0: 0a62 7566 6665 722e 220a 0a20 203b 3b20 .buffer.".. ;; │ │ │ -000416e0: 7265 6d6f 7665 2d74 6578 742d 7072 6f70 remove-text-prop │ │ │ -000416f0: 6572 7469 6573 2066 6169 6c73 2066 6f72 erties fails for │ │ │ -00041700: 2072 6561 642d 6f6e 6c79 2074 6578 742e read-only text. │ │ │ -00041710: 0a0a 2020 2861 6e6e 6f74 6174 696f 6e2d .. (annotation- │ │ │ -00041720: 7072 6573 6572 7665 2d6d 6f64 2d70 2d61 preserve-mod-p-a │ │ │ -00041730: 6e64 2d75 6e64 6f0a 2020 2028 6c65 7420 nd-undo. (let │ │ │ -00041740: 2828 7461 6720 2869 6620 746f 6b65 6e2d ((tag (if token- │ │ │ -00041750: 6261 7365 640a 2020 2020 2020 2020 2020 based. │ │ │ -00041760: 2020 2020 2020 2020 2761 6e6e 6f74 6174 'annotat │ │ │ -00041770: 696f 6e2d 746f 6b65 6e2d 6261 7365 640a ion-token-based. │ │ │ -00041780: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00041790: 2761 6e6e 6f74 6174 696f 6e2d 616e 6e6f 'annotation-anno │ │ │ -000417a0: 7461 7465 6429 290a 2020 2020 2020 2020 tated)). │ │ │ -000417b0: 2028 706f 7320 286f 7220 7374 6172 7420 (pos (or start │ │ │ -000417c0: 2870 6f69 6e74 2d6d 696e 2929 290a 2020 (point-min))). │ │ │ -000417d0: 2020 2020 2020 2028 656e 6420 286f 7220 (end (or │ │ │ -000417e0: 656e 6420 2870 6f69 6e74 2d6d 6178 2929 end (point-max)) │ │ │ -000417f0: 290a 2020 2020 2020 2020 2070 6f73 3229 ). pos2) │ │ │ -00041800: 0a20 2020 2020 2877 6869 6c65 2070 6f73 . (while pos │ │ │ -00041810: 0a20 2020 2020 2020 286c 6574 2028 2870 . (let ((p │ │ │ -00041820: 726f 7073 2028 6765 742d 7465 7874 2d70 rops (get-text-p │ │ │ -00041830: 726f 7065 7274 7920 706f 7320 2761 6e6e roperty pos 'ann │ │ │ -00041840: 6f74 6174 696f 6e2d 616e 6e6f 7461 7469 otation-annotati │ │ │ -00041850: 6f6e 7329 2929 0a20 2020 2020 2020 2020 ons))). │ │ │ -00041860: 2873 6574 7120 706f 7332 2028 6e65 7874 (setq pos2 (next │ │ │ -00041870: 2d73 696e 676c 652d 7072 6f70 6572 7479 -single-property │ │ │ -00041880: 2d63 6861 6e67 6520 706f 7320 7461 6720 -change pos tag │ │ │ -00041890: 6e69 6c20 656e 6429 290a 2020 2020 2020 nil end)). │ │ │ -000418a0: 2020 2028 7768 656e 2028 616e 6420 7072 (when (and pr │ │ │ -000418b0: 6f70 730a 2020 2020 2020 2020 2020 2020 ops. │ │ │ -000418c0: 2020 2020 2020 2020 286f 7220 286e 6f74 (or (not │ │ │ -000418d0: 2074 6f6b 656e 2d62 6173 6564 290a 2020 token-based). │ │ │ +00041170: 2020 2861 6c6c 2d70 726f 7073 2028 636c (all-props (cl │ │ │ +00041180: 2d75 6e69 6f6e 206f 6c64 2d70 726f 7073 -union old-props │ │ │ +00041190: 2070 726f 7073 2929 290a 2020 2020 2020 props))). │ │ │ +000411a0: 2020 2020 2020 2020 2020 2861 6464 2d74 (add-t │ │ │ +000411b0: 6578 742d 7072 6f70 6572 7469 6573 2070 ext-properties p │ │ │ +000411c0: 6f73 206d 6964 0a20 2020 2020 2020 2020 os mid. │ │ │ +000411d0: 2020 2020 2020 2020 2020 6028 616e 6e6f `(anno │ │ │ +000411e0: 7461 7469 6f6e 2d61 6e6e 6f74 6174 6564 tation-annotated │ │ │ +000411f0: 2074 2061 6e6e 6f74 6174 696f 6e2d 616e t annotation-an │ │ │ +00041200: 6e6f 7461 7469 6f6e 7320 2c61 6c6c 2d70 notations ,all-p │ │ │ +00041210: 726f 7073 2929 0a20 2020 2020 2020 2020 rops)). │ │ │ +00041220: 2020 2020 2020 2028 7365 7471 2070 6f73 (setq pos │ │ │ +00041230: 206d 6964 2929 2929 2929 2929 290a 0a28 mid)))))))))..( │ │ │ +00041240: 6465 666d 6163 726f 2061 6e6e 6f74 6174 defmacro annotat │ │ │ +00041250: 696f 6e2d 7072 6573 6572 7665 2d6d 6f64 ion-preserve-mod │ │ │ +00041260: 2d70 2d61 6e64 2d75 6e64 6f20 2826 7265 -p-and-undo (&re │ │ │ +00041270: 7374 2063 6f64 6529 0a20 2022 5275 6e20 st code). "Run │ │ │ +00041280: 434f 4445 2070 7265 7365 7276 696e 6720 CODE preserving │ │ │ +00041290: 626f 7468 2074 6865 2075 6e64 6f20 6461 both the undo da │ │ │ +000412a0: 7461 2061 6e64 2074 6865 206d 6f64 6966 ta and the modif │ │ │ +000412b0: 6963 6174 696f 6e20 6269 742e 0a4d 6f64 ication bit..Mod │ │ │ +000412c0: 6966 6963 6174 696f 6e20 686f 6f6b 7320 ification hooks │ │ │ +000412d0: 6172 6520 616c 736f 2064 6973 6162 6c65 are also disable │ │ │ +000412e0: 642e 220a 2020 2864 6563 6c61 7265 2028 d.". (declare ( │ │ │ +000412f0: 6465 6275 6720 2826 7265 7374 2066 6f72 debug (&rest for │ │ │ +00041300: 6d29 2929 0a20 2028 6c65 7420 2828 6d6f m))). (let ((mo │ │ │ +00041310: 6470 2028 6d61 6b65 2d73 796d 626f 6c20 dp (make-symbol │ │ │ +00041320: 226d 6f64 7022 2929 290a 2020 6028 6c65 "modp"))). `(le │ │ │ +00041330: 7420 2828 2c6d 6f64 7020 2862 7566 6665 t ((,modp (buffe │ │ │ +00041340: 722d 6d6f 6469 6669 6564 2d70 2929 0a20 r-modified-p)). │ │ │ +00041350: 2020 2020 2020 2020 3b3b 2044 6f6e 2774 ;; Don't │ │ │ +00041360: 2063 6865 636b 2069 6620 7468 6520 6669 check if the fi │ │ │ +00041370: 6c65 2069 7320 6265 696e 6720 6d6f 6469 le is being modi │ │ │ +00041380: 6669 6564 2062 7920 736f 6d65 206f 7468 fied by some oth │ │ │ +00041390: 6572 2070 726f 6365 7373 2e0a 2020 2020 er process.. │ │ │ +000413a0: 2020 2020 2028 6275 6666 6572 2d66 696c (buffer-fil │ │ │ +000413b0: 652d 6e61 6d65 206e 696c 290a 2020 2020 e-name nil). │ │ │ +000413c0: 2020 2020 203b 3b20 446f 6e27 7420 7265 ;; Don't re │ │ │ +000413d0: 636f 7264 2074 686f 7365 2063 6861 6e67 cord those chang │ │ │ +000413e0: 6573 206f 6e20 7468 6520 756e 646f 2d6c es on the undo-l │ │ │ +000413f0: 6f67 2e0a 2020 2020 2020 2020 2028 6275 og.. (bu │ │ │ +00041400: 6666 6572 2d75 6e64 6f2d 6c69 7374 2074 ffer-undo-list t │ │ │ +00041410: 290a 2020 2020 2020 2020 203b 3b20 446f ). ;; Do │ │ │ +00041420: 6e27 7420 7275 6e20 6d6f 6469 6669 6361 n't run modifica │ │ │ +00041430: 7469 6f6e 2068 6f6f 6b73 2e0a 2020 2020 tion hooks.. │ │ │ +00041440: 2020 2020 2028 696e 6869 6269 742d 6d6f (inhibit-mo │ │ │ +00041450: 6469 6669 6361 7469 6f6e 2d68 6f6f 6b73 dification-hooks │ │ │ +00041460: 2074 2929 0a20 2020 2020 2875 6e77 696e t)). (unwin │ │ │ +00041470: 642d 7072 6f74 6563 740a 2020 2020 2020 d-protect. │ │ │ +00041480: 2020 2028 7072 6f67 6e20 2c40 636f 6465 (progn ,@code │ │ │ +00041490: 290a 2020 2020 2020 2028 7265 7374 6f72 ). (restor │ │ │ +000414a0: 652d 6275 6666 6572 2d6d 6f64 6966 6965 e-buffer-modifie │ │ │ +000414b0: 642d 7020 2c6d 6f64 7029 2929 2929 0a0a d-p ,modp))))).. │ │ │ +000414c0: 2864 6566 756e 2061 6e6e 6f74 6174 696f (defun annotatio │ │ │ +000414d0: 6e2d 7265 6d6f 7665 2d61 6e6e 6f74 6174 n-remove-annotat │ │ │ +000414e0: 696f 6e73 2028 266f 7074 696f 6e61 6c20 ions (&optional │ │ │ +000414f0: 746f 6b65 6e2d 6261 7365 6420 7374 6172 token-based star │ │ │ +00041500: 7420 656e 6429 0a20 2022 5265 6d6f 7665 t end). "Remove │ │ │ +00041510: 2074 6578 7420 7072 6f70 6572 7469 6573 text properties │ │ │ +00041520: 2073 6574 2062 7920 6061 6e6e 6f74 6174 set by `annotat │ │ │ +00041530: 696f 6e2d 616e 6e6f 7461 7465 272e 0a0a ion-annotate'... │ │ │ +00041540: 496e 2074 6865 2063 7572 7265 6e74 2062 In the current b │ │ │ +00041550: 7566 6665 722e 2049 6620 5354 4152 5420 uffer. If START │ │ │ +00041560: 616e 6420 454e 4420 6172 6520 6769 7665 and END are give │ │ │ +00041570: 6e2c 2074 6865 6e0a 7072 6f70 6572 7469 n, then.properti │ │ │ +00041580: 6573 2061 7265 206f 6e6c 7920 7265 6d6f es are only remo │ │ │ +00041590: 7665 6420 6265 7477 6565 6e20 7468 6573 ved between thes │ │ │ +000415a0: 6520 706f 7369 7469 6f6e 732e 2049 660a e positions. If. │ │ │ +000415b0: 544f 4b45 4e2d 4241 5345 4420 6973 206e TOKEN-BASED is n │ │ │ +000415c0: 6f6e 2d6e 696c 2c20 7468 656e 206f 6e6c on-nil, then onl │ │ │ +000415d0: 7920 746f 6b65 6e2d 6261 7365 6420 7072 y token-based pr │ │ │ +000415e0: 6f70 6572 7469 6573 2061 7265 0a72 656d operties are.rem │ │ │ +000415f0: 6f76 6564 2e0a 0a54 6869 7320 6675 6e63 oved...This func │ │ │ +00041600: 7469 6f6e 2070 7265 7365 7276 6573 2074 tion preserves t │ │ │ +00041610: 6865 2066 696c 6520 6d6f 6469 6669 6361 he file modifica │ │ │ +00041620: 7469 6f6e 2073 7461 6d70 206f 6620 7468 tion stamp of th │ │ │ +00041630: 650a 6375 7272 656e 7420 6275 6666 6572 e.current buffer │ │ │ +00041640: 2c20 646f 6573 206e 6f74 206d 6f64 6966 , does not modif │ │ │ +00041650: 7920 7468 6520 756e 646f 206c 6973 742c y the undo list, │ │ │ +00041660: 2061 6e64 2074 656d 706f 7261 7269 6c79 and temporarily │ │ │ +00041670: 0a64 6973 6162 6c65 7320 616c 6c20 6d6f .disables all mo │ │ │ +00041680: 6469 6669 6361 7469 6f6e 2068 6f6f 6b73 dification hooks │ │ │ +00041690: 2e0a 0a4e 6f74 653a 2054 6869 7320 6675 ...Note: This fu │ │ │ +000416a0: 6e63 7469 6f6e 206d 6179 2066 6169 6c20 nction may fail │ │ │ +000416b0: 6966 2074 6865 7265 2069 7320 7265 6164 if there is read │ │ │ +000416c0: 2d6f 6e6c 7920 7465 7874 2069 6e20 7468 -only text in th │ │ │ +000416d0: 650a 6275 6666 6572 2e22 0a0a 2020 3b3b e.buffer.".. ;; │ │ │ +000416e0: 2072 656d 6f76 652d 7465 7874 2d70 726f remove-text-pro │ │ │ +000416f0: 7065 7274 6965 7320 6661 696c 7320 666f perties fails fo │ │ │ +00041700: 7220 7265 6164 2d6f 6e6c 7920 7465 7874 r read-only text │ │ │ +00041710: 2e0a 0a20 2028 616e 6e6f 7461 7469 6f6e ... (annotation │ │ │ +00041720: 2d70 7265 7365 7276 652d 6d6f 642d 702d -preserve-mod-p- │ │ │ +00041730: 616e 642d 756e 646f 0a20 2020 286c 6574 and-undo. (let │ │ │ +00041740: 2028 2874 6167 2028 6966 2074 6f6b 656e ((tag (if token │ │ │ +00041750: 2d62 6173 6564 0a20 2020 2020 2020 2020 -based. │ │ │ +00041760: 2020 2020 2020 2020 2027 616e 6e6f 7461 'annota │ │ │ +00041770: 7469 6f6e 2d74 6f6b 656e 2d62 6173 6564 tion-token-based │ │ │ +00041780: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ +00041790: 2027 616e 6e6f 7461 7469 6f6e 2d61 6e6e 'annotation-ann │ │ │ +000417a0: 6f74 6174 6564 2929 0a20 2020 2020 2020 otated)). │ │ │ +000417b0: 2020 2870 6f73 2028 6f72 2073 7461 7274 (pos (or start │ │ │ +000417c0: 2028 706f 696e 742d 6d69 6e29 2929 0a20 (point-min))). │ │ │ +000417d0: 2020 2020 2020 2020 2865 6e64 2028 6f72 (end (or │ │ │ +000417e0: 2065 6e64 2028 706f 696e 742d 6d61 7829 end (point-max) │ │ │ +000417f0: 2929 0a20 2020 2020 2020 2020 706f 7332 )). pos2 │ │ │ +00041800: 290a 2020 2020 2028 7768 696c 6520 706f ). (while po │ │ │ +00041810: 730a 2020 2020 2020 2028 6c65 7420 2828 s. (let (( │ │ │ +00041820: 7072 6f70 7320 2867 6574 2d74 6578 742d props (get-text- │ │ │ +00041830: 7072 6f70 6572 7479 2070 6f73 2027 616e property pos 'an │ │ │ +00041840: 6e6f 7461 7469 6f6e 2d61 6e6e 6f74 6174 notation-annotat │ │ │ +00041850: 696f 6e73 2929 290a 2020 2020 2020 2020 ions))). │ │ │ +00041860: 2028 7365 7471 2070 6f73 3220 286e 6578 (setq pos2 (nex │ │ │ +00041870: 742d 7369 6e67 6c65 2d70 726f 7065 7274 t-single-propert │ │ │ +00041880: 792d 6368 616e 6765 2070 6f73 2074 6167 y-change pos tag │ │ │ +00041890: 206e 696c 2065 6e64 2929 0a20 2020 2020 nil end)). │ │ │ +000418a0: 2020 2020 2877 6865 6e20 2861 6e64 2070 (when (and p │ │ │ +000418b0: 726f 7073 0a20 2020 2020 2020 2020 2020 rops. │ │ │ +000418c0: 2020 2020 2020 2020 2028 6f72 2028 6e6f (or (no │ │ │ +000418d0: 7420 746f 6b65 6e2d 6261 7365 6429 0a20 t token-based). │ │ │ 000418e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -000418f0: 2020 2020 2020 286d 656d 6265 7220 2761 (member 'a │ │ │ -00041900: 6e6e 6f74 6174 696f 6e2d 746f 6b65 6e2d nnotation-token- │ │ │ -00041910: 6261 7365 6420 7072 6f70 7329 2929 0a20 based props))). │ │ │ -00041920: 2020 2020 2020 2020 2020 2872 656d 6f76 (remov │ │ │ -00041930: 652d 7465 7874 2d70 726f 7065 7274 6965 e-text-propertie │ │ │ -00041940: 7320 706f 7320 286f 7220 706f 7332 2028 s pos (or pos2 ( │ │ │ -00041950: 706f 696e 742d 6d61 7829 290a 2020 2020 point-max)). │ │ │ -00041960: 2020 2020 2020 2020 2020 2863 6c2d 6d61 (cl-ma │ │ │ -00041970: 7063 616e 2028 6c61 6d62 6461 2028 7072 pcan (lambda (pr │ │ │ -00041980: 6f70 2920 286c 6973 7420 7072 6f70 206e op) (list prop n │ │ │ -00041990: 696c 2929 0a20 2020 2020 2020 2020 2020 il)). │ │ │ -000419a0: 2020 2020 2020 2020 2020 2028 636f 6e73 (cons │ │ │ -000419b0: 2027 616e 6e6f 7461 7469 6f6e 2d61 6e6e 'annotation-ann │ │ │ -000419c0: 6f74 6174 696f 6e73 2070 726f 7073 2929 otations props)) │ │ │ -000419d0: 2929 290a 2020 2020 2020 2028 7365 7471 ))). (setq │ │ │ -000419e0: 2070 6f73 2028 756e 6c65 7373 2028 6f72 pos (unless (or │ │ │ -000419f0: 2028 6e6f 7420 706f 7332 2920 283e 3d20 (not pos2) (>= │ │ │ -00041a00: 706f 7332 2065 6e64 2929 2070 6f73 3229 pos2 end)) pos2) │ │ │ -00041a10: 2929 2929 290a 0a28 6465 6675 6e20 616e )))))..(defun an │ │ │ -00041a20: 6e6f 7461 7469 6f6e 2d6c 6f61 6420 2867 notation-load (g │ │ │ -00041a30: 6f74 6f2d 6865 6c70 2072 656d 6f76 6520 oto-help remove │ │ │ -00041a40: 2672 6573 7420 636d 6473 290a 2020 2241 &rest cmds). "A │ │ │ -00041a50: 7070 6c79 2068 6967 686c 6967 6874 696e pply highlightin │ │ │ -00041a60: 6720 616e 6e6f 7461 7469 6f6e 7320 696e g annotations in │ │ │ -00041a70: 2043 4d44 5320 696e 2074 6865 2063 7572 CMDS in the cur │ │ │ -00041a80: 7265 6e74 2062 7566 6665 722e 0a0a 5468 rent buffer...Th │ │ │ -00041a90: 6520 6172 6775 6d65 6e74 2043 4d44 5320 e argument CMDS │ │ │ -00041aa0: 7368 6f75 6c64 2062 6520 6120 6c69 7374 should be a list │ │ │ -00041ab0: 206f 6620 6c69 7374 7320 2873 7461 7274 of lists (start │ │ │ -00041ac0: 2065 6e64 2061 6e6e 730a 266f 7074 696f end anns.&optio │ │ │ -00041ad0: 6e61 6c20 696e 666f 2067 6f74 6f29 2e20 nal info goto). │ │ │ -00041ae0: 5465 7874 2062 6574 7765 656e 2073 7461 Text between sta │ │ │ -00041af0: 7274 2061 6e64 2065 6e64 2077 696c 6c20 rt and end will │ │ │ -00041b00: 6265 0a61 6e6e 6f74 6174 6564 2077 6974 be.annotated wit │ │ │ -00041b10: 6820 7468 6520 616e 6e6f 7461 7469 6f6e h the annotation │ │ │ -00041b20: 7320 696e 2074 6865 206c 6973 7420 616e s in the list an │ │ │ -00041b30: 6e73 2028 7573 696e 670a 6061 6e6e 6f74 ns (using.`annot │ │ │ -00041b40: 6174 696f 6e2d 616e 6e6f 7461 7465 2729 ation-annotate') │ │ │ -00041b50: 2e20 4966 2069 6e66 6f20 616e 642f 6f72 . If info and/or │ │ │ -00041b60: 2067 6f74 6f20 6172 6520 7072 6573 656e goto are presen │ │ │ -00041b70: 7420 7468 6579 2077 696c 6c0a 6265 2075 t they will.be u │ │ │ -00041b80: 7365 6420 6173 2074 6865 2063 6f72 7265 sed as the corre │ │ │ -00041b90: 7370 6f6e 6469 6e67 2061 7267 756d 656e sponding argumen │ │ │ -00041ba0: 7473 2074 6f20 6061 6e6e 6f74 6174 696f ts to `annotatio │ │ │ -00041bb0: 6e2d 616e 6e6f 7461 7465 272e 0a0a 4966 n-annotate'...If │ │ │ -00041bc0: 2049 4e46 4f20 6973 206e 696c 2069 6e20 INFO is nil in │ │ │ -00041bd0: 6120 6361 6c6c 2074 6f20 6061 6e6e 6f74 a call to `annot │ │ │ -00041be0: 6174 696f 6e2d 616e 6e6f 7461 7465 272c ation-annotate', │ │ │ -00041bf0: 2061 6e64 2074 6865 2047 4f54 4f0a 6172 and the GOTO.ar │ │ │ -00041c00: 6775 6d65 6e74 2069 7320 6120 636f 6e73 gument is a cons │ │ │ -00041c10: 2d63 656c 6c2c 2074 6865 6e20 7468 6520 -cell, then the │ │ │ -00041c20: 494e 464f 2061 7267 756d 656e 7420 6973 INFO argument is │ │ │ -00041c30: 2073 6574 2074 6f0a 474f 544f 2d48 454c set to.GOTO-HEL │ │ │ -00041c40: 502e 2054 6865 2069 6e74 656e 7469 6f6e P. The intention │ │ │ -00041c50: 2069 7320 7468 6174 2074 6865 2064 6566 is that the def │ │ │ -00041c60: 6175 6c74 2068 656c 7020 7465 7874 2073 ault help text s │ │ │ -00041c70: 686f 756c 640a 696e 666f 726d 2074 6865 hould.inform the │ │ │ -00041c80: 2075 7365 7220 6162 6f75 7420 7468 6520 user about the │ │ │ -00041c90: 5c22 676f 746f 5c22 2066 6163 696c 6974 \"goto\" facilit │ │ │ -00041ca0: 792e 0a0a 4966 2052 454d 4f56 4520 6973 y...If REMOVE is │ │ │ -00041cb0: 206e 696c 2c20 7468 656e 206f 6c64 2073 nil, then old s │ │ │ -00041cc0: 796e 7461 7820 6869 6768 6c69 6768 7469 yntax highlighti │ │ │ -00041cd0: 6e67 2069 6e66 6f72 6d61 7469 6f6e 2069 ng information i │ │ │ -00041ce0: 7320 6e6f 740a 7265 6d6f 7665 642e 204f s not.removed. O │ │ │ -00041cf0: 7468 6572 7769 7365 2061 6c6c 2074 6f6b therwise all tok │ │ │ -00041d00: 656e 2d62 6173 6564 2073 796e 7461 7820 en-based syntax │ │ │ -00041d10: 6869 6768 6c69 6768 7469 6e67 2069 730a highlighting is. │ │ │ -00041d20: 7265 6d6f 7665 642e 2049 6e20 6f72 6465 removed. In orde │ │ │ -00041d30: 7220 746f 2072 6564 7563 6520 7468 6520 r to reduce the │ │ │ -00041d40: 7269 736b 206f 6620 666c 6963 6b65 7220 risk of flicker │ │ │ -00041d50: 7468 6973 2068 6967 686c 6967 6874 696e this highlightin │ │ │ -00041d60: 670a 6973 2072 656d 6f76 6564 2073 7465 g.is removed ste │ │ │ -00041d70: 7020 6279 2073 7465 702c 2069 6e20 636f p by step, in co │ │ │ -00041d80: 6e6a 756e 6374 696f 6e20 7769 7468 2074 njunction with t │ │ │ -00041d90: 6865 2061 6464 6974 696f 6e20 6f66 206e he addition of n │ │ │ -00041da0: 6577 0a68 6967 686c 6967 6874 696e 672e ew.highlighting. │ │ │ -00041db0: 2028 5468 6973 2070 726f 6365 7373 2061 (This process a │ │ │ -00041dc0: 7373 756d 6573 2074 6861 7420 434d 4453 ssumes that CMDS │ │ │ -00041dd0: 2069 7320 6f72 6465 7265 6420 6279 2074 is ordered by t │ │ │ -00041de0: 6865 0a70 6f73 6974 696f 6e73 206f 6620 he.positions of │ │ │ -00041df0: 7468 6520 616e 6e6f 7461 7469 6f6e 732e the annotations. │ │ │ -00041e00: 2049 6620 6974 2069 736e 2774 2c20 7468 If it isn't, th │ │ │ -00041e10: 656e 2074 6865 2068 6967 686c 6967 6874 en the highlight │ │ │ -00041e20: 696e 670a 6973 2073 7469 6c6c 2061 7070 ing.is still app │ │ │ -00041e30: 6c69 6564 2063 6f72 7265 6374 6c79 2c20 lied correctly, │ │ │ -00041e40: 6275 7420 7065 7268 6170 7320 7769 7468 but perhaps with │ │ │ -00041e50: 206d 6f72 6520 666c 6963 6b65 722e 290a more flicker.). │ │ │ -00041e60: 0a54 6869 7320 6675 6e63 7469 6f6e 2070 .This function p │ │ │ -00041e70: 7265 7365 7276 6573 2074 6865 2066 696c reserves the fil │ │ │ -00041e80: 6520 6d6f 6469 6669 6361 7469 6f6e 2073 e modification s │ │ │ -00041e90: 7461 6d70 206f 6620 7468 650a 6375 7272 tamp of the.curr │ │ │ -00041ea0: 656e 7420 6275 6666 6572 2c20 646f 6573 ent buffer, does │ │ │ -00041eb0: 206e 6f74 206d 6f64 6966 7920 7468 6520 not modify the │ │ │ -00041ec0: 756e 646f 206c 6973 742c 2061 6e64 2074 undo list, and t │ │ │ -00041ed0: 656d 706f 7261 7269 6c79 0a64 6973 6162 emporarily.disab │ │ │ -00041ee0: 6c65 7320 616c 6c20 6d6f 6469 6669 6361 les all modifica │ │ │ -00041ef0: 7469 6f6e 2068 6f6f 6b73 2e0a 0a4e 6f74 tion hooks...Not │ │ │ -00041f00: 653a 2054 6869 7320 6675 6e63 7469 6f6e e: This function │ │ │ -00041f10: 206d 6179 2066 6169 6c20 6966 2074 6865 may fail if the │ │ │ -00041f20: 7265 2069 7320 7265 6164 2d6f 6e6c 7920 re is read-only │ │ │ -00041f30: 7465 7874 2069 6e20 7468 650a 6275 6666 text in the.buff │ │ │ -00041f40: 6572 2e22 0a20 2028 616e 6e6f 7461 7469 er.". (annotati │ │ │ -00041f50: 6f6e 2d70 7265 7365 7276 652d 6d6f 642d on-preserve-mod- │ │ │ -00041f60: 702d 616e 642d 756e 646f 0a20 2020 2028 p-and-undo. ( │ │ │ -00041f70: 7768 656e 2028 6c69 7374 7020 636d 6473 when (listp cmds │ │ │ -00041f80: 290a 2020 2020 2020 286c 6574 2028 2870 ). (let ((p │ │ │ -00041f90: 6f73 2028 706f 696e 742d 6d69 6e29 2929 os (point-min))) │ │ │ -00041fa0: 0a20 2020 2020 2020 2028 646f 6c69 7374 . (dolist │ │ │ -00041fb0: 2028 636d 6420 636d 6473 290a 2020 2020 (cmd cmds). │ │ │ -00041fc0: 2020 2020 2020 2863 6c2d 6465 7374 7275 (cl-destru │ │ │ -00041fd0: 6374 7572 696e 672d 6269 6e64 0a20 2020 cturing-bind. │ │ │ -00041fe0: 2020 2020 2020 2020 2020 2028 7374 6172 (star │ │ │ -00041ff0: 7420 656e 6420 616e 6e73 2026 6f70 7469 t end anns &opti │ │ │ -00042000: 6f6e 616c 2074 6f6b 656e 2d62 6173 6564 onal token-based │ │ │ -00042010: 2069 6e66 6f20 676f 746f 2920 636d 640a info goto) cmd. │ │ │ -00042020: 2020 2020 2020 2020 2020 2020 286c 6574 (let │ │ │ -00042030: 2028 2869 6e66 6f20 2869 6620 2861 6e64 ((info (if (and │ │ │ -00042040: 2028 6e6f 7420 696e 666f 2920 2863 6f6e (not info) (con │ │ │ -00042050: 7370 2067 6f74 6f29 290a 2020 2020 2020 sp goto)). │ │ │ +000418f0: 2020 2020 2020 2028 6d65 6d62 6572 2027 (member ' │ │ │ +00041900: 616e 6e6f 7461 7469 6f6e 2d74 6f6b 656e annotation-token │ │ │ +00041910: 2d62 6173 6564 2070 726f 7073 2929 290a -based props))). │ │ │ +00041920: 2020 2020 2020 2020 2020 2028 7265 6d6f (remo │ │ │ +00041930: 7665 2d74 6578 742d 7072 6f70 6572 7469 ve-text-properti │ │ │ +00041940: 6573 2070 6f73 2028 6f72 2070 6f73 3220 es pos (or pos2 │ │ │ +00041950: 2870 6f69 6e74 2d6d 6178 2929 0a20 2020 (point-max)). │ │ │ +00041960: 2020 2020 2020 2020 2020 2028 636c 2d6d (cl-m │ │ │ +00041970: 6170 6361 6e20 286c 616d 6264 6120 2870 apcan (lambda (p │ │ │ +00041980: 726f 7029 2028 6c69 7374 2070 726f 7020 rop) (list prop │ │ │ +00041990: 6e69 6c29 290a 2020 2020 2020 2020 2020 nil)). │ │ │ +000419a0: 2020 2020 2020 2020 2020 2020 2863 6f6e (con │ │ │ +000419b0: 7320 2761 6e6e 6f74 6174 696f 6e2d 616e s 'annotation-an │ │ │ +000419c0: 6e6f 7461 7469 6f6e 7320 7072 6f70 7329 notations props) │ │ │ +000419d0: 2929 2929 0a20 2020 2020 2020 2873 6574 )))). (set │ │ │ +000419e0: 7120 706f 7320 2875 6e6c 6573 7320 286f q pos (unless (o │ │ │ +000419f0: 7220 286e 6f74 2070 6f73 3229 2028 3e3d r (not pos2) (>= │ │ │ +00041a00: 2070 6f73 3220 656e 6429 2920 706f 7332 pos2 end)) pos2 │ │ │ +00041a10: 2929 2929 2929 0a0a 2864 6566 756e 2061 ))))))..(defun a │ │ │ +00041a20: 6e6e 6f74 6174 696f 6e2d 6c6f 6164 2028 nnotation-load ( │ │ │ +00041a30: 676f 746f 2d68 656c 7020 7265 6d6f 7665 goto-help remove │ │ │ +00041a40: 2026 7265 7374 2063 6d64 7329 0a20 2022 &rest cmds). " │ │ │ +00041a50: 4170 706c 7920 6869 6768 6c69 6768 7469 Apply highlighti │ │ │ +00041a60: 6e67 2061 6e6e 6f74 6174 696f 6e73 2069 ng annotations i │ │ │ +00041a70: 6e20 434d 4453 2069 6e20 7468 6520 6375 n CMDS in the cu │ │ │ +00041a80: 7272 656e 7420 6275 6666 6572 2e0a 0a54 rrent buffer...T │ │ │ +00041a90: 6865 2061 7267 756d 656e 7420 434d 4453 he argument CMDS │ │ │ +00041aa0: 2073 686f 756c 6420 6265 2061 206c 6973 should be a lis │ │ │ +00041ab0: 7420 6f66 206c 6973 7473 2028 7374 6172 t of lists (star │ │ │ +00041ac0: 7420 656e 6420 616e 6e73 0a26 6f70 7469 t end anns.&opti │ │ │ +00041ad0: 6f6e 616c 2069 6e66 6f20 676f 746f 292e onal info goto). │ │ │ +00041ae0: 2054 6578 7420 6265 7477 6565 6e20 7374 Text between st │ │ │ +00041af0: 6172 7420 616e 6420 656e 6420 7769 6c6c art and end will │ │ │ +00041b00: 2062 650a 616e 6e6f 7461 7465 6420 7769 be.annotated wi │ │ │ +00041b10: 7468 2074 6865 2061 6e6e 6f74 6174 696f th the annotatio │ │ │ +00041b20: 6e73 2069 6e20 7468 6520 6c69 7374 2061 ns in the list a │ │ │ +00041b30: 6e6e 7320 2875 7369 6e67 0a60 616e 6e6f nns (using.`anno │ │ │ +00041b40: 7461 7469 6f6e 2d61 6e6e 6f74 6174 6527 tation-annotate' │ │ │ +00041b50: 292e 2049 6620 696e 666f 2061 6e64 2f6f ). If info and/o │ │ │ +00041b60: 7220 676f 746f 2061 7265 2070 7265 7365 r goto are prese │ │ │ +00041b70: 6e74 2074 6865 7920 7769 6c6c 0a62 6520 nt they will.be │ │ │ +00041b80: 7573 6564 2061 7320 7468 6520 636f 7272 used as the corr │ │ │ +00041b90: 6573 706f 6e64 696e 6720 6172 6775 6d65 esponding argume │ │ │ +00041ba0: 6e74 7320 746f 2060 616e 6e6f 7461 7469 nts to `annotati │ │ │ +00041bb0: 6f6e 2d61 6e6e 6f74 6174 6527 2e0a 0a49 on-annotate'...I │ │ │ +00041bc0: 6620 494e 464f 2069 7320 6e69 6c20 696e f INFO is nil in │ │ │ +00041bd0: 2061 2063 616c 6c20 746f 2060 616e 6e6f a call to `anno │ │ │ +00041be0: 7461 7469 6f6e 2d61 6e6e 6f74 6174 6527 tation-annotate' │ │ │ +00041bf0: 2c20 616e 6420 7468 6520 474f 544f 0a61 , and the GOTO.a │ │ │ +00041c00: 7267 756d 656e 7420 6973 2061 2063 6f6e rgument is a con │ │ │ +00041c10: 732d 6365 6c6c 2c20 7468 656e 2074 6865 s-cell, then the │ │ │ +00041c20: 2049 4e46 4f20 6172 6775 6d65 6e74 2069 INFO argument i │ │ │ +00041c30: 7320 7365 7420 746f 0a47 4f54 4f2d 4845 s set to.GOTO-HE │ │ │ +00041c40: 4c50 2e20 5468 6520 696e 7465 6e74 696f LP. The intentio │ │ │ +00041c50: 6e20 6973 2074 6861 7420 7468 6520 6465 n is that the de │ │ │ +00041c60: 6661 756c 7420 6865 6c70 2074 6578 7420 fault help text │ │ │ +00041c70: 7368 6f75 6c64 0a69 6e66 6f72 6d20 7468 should.inform th │ │ │ +00041c80: 6520 7573 6572 2061 626f 7574 2074 6865 e user about the │ │ │ +00041c90: 205c 2267 6f74 6f5c 2220 6661 6369 6c69 \"goto\" facili │ │ │ +00041ca0: 7479 2e0a 0a49 6620 5245 4d4f 5645 2069 ty...If REMOVE i │ │ │ +00041cb0: 7320 6e69 6c2c 2074 6865 6e20 6f6c 6420 s nil, then old │ │ │ +00041cc0: 7379 6e74 6178 2068 6967 686c 6967 6874 syntax highlight │ │ │ +00041cd0: 696e 6720 696e 666f 726d 6174 696f 6e20 ing information │ │ │ +00041ce0: 6973 206e 6f74 0a72 656d 6f76 6564 2e20 is not.removed. │ │ │ +00041cf0: 4f74 6865 7277 6973 6520 616c 6c20 746f Otherwise all to │ │ │ +00041d00: 6b65 6e2d 6261 7365 6420 7379 6e74 6178 ken-based syntax │ │ │ +00041d10: 2068 6967 686c 6967 6874 696e 6720 6973 highlighting is │ │ │ +00041d20: 0a72 656d 6f76 6564 2e20 496e 206f 7264 .removed. In ord │ │ │ +00041d30: 6572 2074 6f20 7265 6475 6365 2074 6865 er to reduce the │ │ │ +00041d40: 2072 6973 6b20 6f66 2066 6c69 636b 6572 risk of flicker │ │ │ +00041d50: 2074 6869 7320 6869 6768 6c69 6768 7469 this highlighti │ │ │ +00041d60: 6e67 0a69 7320 7265 6d6f 7665 6420 7374 ng.is removed st │ │ │ +00041d70: 6570 2062 7920 7374 6570 2c20 696e 2063 ep by step, in c │ │ │ +00041d80: 6f6e 6a75 6e63 7469 6f6e 2077 6974 6820 onjunction with │ │ │ +00041d90: 7468 6520 6164 6469 7469 6f6e 206f 6620 the addition of │ │ │ +00041da0: 6e65 770a 6869 6768 6c69 6768 7469 6e67 new.highlighting │ │ │ +00041db0: 2e20 2854 6869 7320 7072 6f63 6573 7320 . (This process │ │ │ +00041dc0: 6173 7375 6d65 7320 7468 6174 2043 4d44 assumes that CMD │ │ │ +00041dd0: 5320 6973 206f 7264 6572 6564 2062 7920 S is ordered by │ │ │ +00041de0: 7468 650a 706f 7369 7469 6f6e 7320 6f66 the.positions of │ │ │ +00041df0: 2074 6865 2061 6e6e 6f74 6174 696f 6e73 the annotations │ │ │ +00041e00: 2e20 4966 2069 7420 6973 6e27 742c 2074 . If it isn't, t │ │ │ +00041e10: 6865 6e20 7468 6520 6869 6768 6c69 6768 hen the highligh │ │ │ +00041e20: 7469 6e67 0a69 7320 7374 696c 6c20 6170 ting.is still ap │ │ │ +00041e30: 706c 6965 6420 636f 7272 6563 746c 792c plied correctly, │ │ │ +00041e40: 2062 7574 2070 6572 6861 7073 2077 6974 but perhaps wit │ │ │ +00041e50: 6820 6d6f 7265 2066 6c69 636b 6572 2e29 h more flicker.) │ │ │ +00041e60: 0a0a 5468 6973 2066 756e 6374 696f 6e20 ..This function │ │ │ +00041e70: 7072 6573 6572 7665 7320 7468 6520 6669 preserves the fi │ │ │ +00041e80: 6c65 206d 6f64 6966 6963 6174 696f 6e20 le modification │ │ │ +00041e90: 7374 616d 7020 6f66 2074 6865 0a63 7572 stamp of the.cur │ │ │ +00041ea0: 7265 6e74 2062 7566 6665 722c 2064 6f65 rent buffer, doe │ │ │ +00041eb0: 7320 6e6f 7420 6d6f 6469 6679 2074 6865 s not modify the │ │ │ +00041ec0: 2075 6e64 6f20 6c69 7374 2c20 616e 6420 undo list, and │ │ │ +00041ed0: 7465 6d70 6f72 6172 696c 790a 6469 7361 temporarily.disa │ │ │ +00041ee0: 626c 6573 2061 6c6c 206d 6f64 6966 6963 bles all modific │ │ │ +00041ef0: 6174 696f 6e20 686f 6f6b 732e 0a0a 4e6f ation hooks...No │ │ │ +00041f00: 7465 3a20 5468 6973 2066 756e 6374 696f te: This functio │ │ │ +00041f10: 6e20 6d61 7920 6661 696c 2069 6620 7468 n may fail if th │ │ │ +00041f20: 6572 6520 6973 2072 6561 642d 6f6e 6c79 ere is read-only │ │ │ +00041f30: 2074 6578 7420 696e 2074 6865 0a62 7566 text in the.buf │ │ │ +00041f40: 6665 722e 220a 2020 2861 6e6e 6f74 6174 fer.". (annotat │ │ │ +00041f50: 696f 6e2d 7072 6573 6572 7665 2d6d 6f64 ion-preserve-mod │ │ │ +00041f60: 2d70 2d61 6e64 2d75 6e64 6f0a 2020 2020 -p-and-undo. │ │ │ +00041f70: 2877 6865 6e20 286c 6973 7470 2063 6d64 (when (listp cmd │ │ │ +00041f80: 7329 0a20 2020 2020 2028 6c65 7420 2828 s). (let (( │ │ │ +00041f90: 706f 7320 2870 6f69 6e74 2d6d 696e 2929 pos (point-min)) │ │ │ +00041fa0: 290a 2020 2020 2020 2020 2864 6f6c 6973 ). (dolis │ │ │ +00041fb0: 7420 2863 6d64 2063 6d64 7329 0a20 2020 t (cmd cmds). │ │ │ +00041fc0: 2020 2020 2020 2028 636c 2d64 6573 7472 (cl-destr │ │ │ +00041fd0: 7563 7475 7269 6e67 2d62 696e 640a 2020 ucturing-bind. │ │ │ +00041fe0: 2020 2020 2020 2020 2020 2020 2873 7461 (sta │ │ │ +00041ff0: 7274 2065 6e64 2061 6e6e 7320 266f 7074 rt end anns &opt │ │ │ +00042000: 696f 6e61 6c20 746f 6b65 6e2d 6261 7365 ional token-base │ │ │ +00042010: 6420 696e 666f 2067 6f74 6f29 2063 6d64 d info goto) cmd │ │ │ +00042020: 0a20 2020 2020 2020 2020 2020 2028 6c65 . (le │ │ │ +00042030: 7420 2828 696e 666f 2028 6966 2028 616e t ((info (if (an │ │ │ +00042040: 6420 286e 6f74 2069 6e66 6f29 2028 636f d (not info) (co │ │ │ +00042050: 6e73 7020 676f 746f 2929 0a20 2020 2020 nsp goto)). │ │ │ 00042060: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00042070: 2020 2020 2020 676f 746f 2d68 656c 700a goto-help. │ │ │ -00042080: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00042090: 2020 2020 2020 2020 2020 696e 666f 2929 info)) │ │ │ -000420a0: 290a 2020 2020 2020 2020 2020 2020 2020 ). │ │ │ -000420b0: 2877 6865 6e20 7265 6d6f 7665 0a20 2020 (when remove. │ │ │ -000420c0: 2020 2020 2020 2020 2020 2020 2028 616e (an │ │ │ -000420d0: 6e6f 7461 7469 6f6e 2d72 656d 6f76 652d notation-remove- │ │ │ -000420e0: 616e 6e6f 7461 7469 6f6e 730a 2020 2020 annotations. │ │ │ -000420f0: 2020 2020 2020 2020 2020 2020 2027 746f 'to │ │ │ -00042100: 6b65 6e2d 6261 7365 6420 706f 7320 656e ken-based pos en │ │ │ -00042110: 6429 0a20 2020 2020 2020 2020 2020 2020 d). │ │ │ -00042120: 2020 2028 7365 7471 2070 6f73 2065 6e64 (setq pos end │ │ │ -00042130: 2929 0a20 2020 2020 2020 2020 2020 2020 )). │ │ │ -00042140: 2028 616e 6e6f 7461 7469 6f6e 2d61 6e6e (annotation-ann │ │ │ -00042150: 6f74 6174 650a 2020 2020 2020 2020 2020 otate. │ │ │ -00042160: 2020 2020 2073 7461 7274 2065 6e64 2061 start end a │ │ │ -00042170: 6e6e 7320 746f 6b65 6e2d 6261 7365 6420 nns token-based │ │ │ -00042180: 696e 666f 2067 6f74 6f29 2929 290a 2020 info goto)))). │ │ │ -00042190: 2020 2020 2020 2877 6865 6e20 7265 6d6f (when remo │ │ │ -000421a0: 7665 0a20 2020 2020 2020 2020 2028 616e ve. (an │ │ │ -000421b0: 6e6f 7461 7469 6f6e 2d72 656d 6f76 652d notation-remove- │ │ │ -000421c0: 616e 6e6f 7461 7469 6f6e 730a 2020 2020 annotations. │ │ │ -000421d0: 2020 2020 2020 2027 746f 6b65 6e2d 6261 'token-ba │ │ │ -000421e0: 7365 6420 706f 7320 2870 6f69 6e74 2d6d sed pos (point-m │ │ │ -000421f0: 6178 2929 2929 2929 290a 0a28 7072 6f76 ax)))))))..(prov │ │ │ -00042200: 6964 6520 2761 6e6e 6f74 6174 696f 6e29 ide 'annotation) │ │ │ -00042210: 0a3b 3b3b 2061 6e6e 6f74 6174 696f 6e2e .;;; annotation. │ │ │ -00042220: 656c 2065 6e64 7320 6865 7265 0a97 95f7 el ends here.... │ │ │ -00042230: 9bdd fef9 a3f1 01af a399 f49e f78d 8bef ................ │ │ │ -00042240: 0100 a701 0004 226b 0520 0000 0100 0404 ......"k. ...... │ │ │ -00042250: 0803 0702 5e02 0000 030f 0005 0505 0b5f ....^.........._ │ │ │ -00042260: 0ba8 010b 6109 0601 0085 15ec 9ef2 a0a3 ....a........... │ │ │ -00042270: 93c0 a03d 99e2 c9a7 80ba fab8 2d00 a801 ...=........-... │ │ │ -00042280: 0004 2d21 0582 8080 e608 0000 0100 0304 ..-!............ │ │ │ -00042290: 0704 0200 0003 0f00 0901 8515 3b3b 202d ............;; - │ │ │ -000422a0: 2a2d 206c 6578 6963 616c 2d62 696e 6469 *- lexical-bindi │ │ │ -000422b0: 6e67 3a20 7420 2d2a 2d0a 3b3b 2061 6764 ng: t -*-.;; agd │ │ │ -000422c0: 6132 2d61 6262 7265 7673 2e65 6c20 2d2d a2-abbrevs.el -- │ │ │ -000422d0: 2d20 4465 6661 756c 7420 4167 6461 2061 - Default Agda a │ │ │ -000422e0: 6262 7265 7673 0a3b 3b20 5350 4458 2d4c bbrevs.;; SPDX-L │ │ │ -000422f0: 6963 656e 7365 2d49 6465 6e74 6966 6965 icense-Identifie │ │ │ -00042300: 723a 204d 4954 204c 6963 656e 7365 0a0a r: MIT License.. │ │ │ -00042310: 3b3b 3b20 436f 6d6d 656e 7461 7279 3a0a ;;; Commentary:. │ │ │ -00042320: 0a3b 3b3b 2043 6f64 653a 0a0a 3b3b 2053 .;;; Code:..;; S │ │ │ -00042330: 6b65 6c65 746f 6e73 0a0a 2872 6571 7569 keletons..(requi │ │ │ -00042340: 7265 2027 736b 656c 6574 6f6e 290a 0a28 re 'skeleton)..( │ │ │ -00042350: 6465 6669 6e65 2d73 6b65 6c65 746f 6e20 define-skeleton │ │ │ -00042360: 6167 6461 322d 6162 6272 6576 732d 6d6f agda2-abbrevs-mo │ │ │ -00042370: 6475 6c65 0a20 2022 496e 7365 7274 7320 dule. "Inserts │ │ │ -00042380: 6120 6d6f 6475 6c65 2068 6561 6465 7220 a module header │ │ │ -00042390: 7465 6d70 6c61 7465 2e22 0a20 206e 696c template.". nil │ │ │ -000423a0: 0a20 2022 6d6f 6475 6c65 2022 205f 2022 . "module " _ " │ │ │ -000423b0: 2077 6865 7265 5c6e 2229 0a0a 2864 6566 where\n")..(def │ │ │ -000423c0: 696e 652d 736b 656c 6574 6f6e 2061 6764 ine-skeleton agd │ │ │ -000423d0: 6132 2d61 6262 7265 7673 2d64 6174 610a a2-abbrevs-data. │ │ │ -000423e0: 2020 2249 6e73 6572 7473 2061 2064 6174 "Inserts a dat │ │ │ -000423f0: 6120 7465 6d70 6c61 7465 2e22 0a20 206e a template.". n │ │ │ -00042400: 696c 0a20 2022 6461 7461 2022 205f 2022 il. "data " _ " │ │ │ -00042410: 203a 2053 6574 2077 6865 7265 5c6e 2229 : Set where\n") │ │ │ -00042420: 0a0a 2864 6566 696e 652d 736b 656c 6574 ..(define-skelet │ │ │ -00042430: 6f6e 2061 6764 6132 2d61 6262 7265 7673 on agda2-abbrevs │ │ │ -00042440: 2d72 6563 6f72 640a 2020 2249 6e73 6572 -record. "Inser │ │ │ -00042450: 7473 2061 2072 6563 6f72 6420 7479 7065 ts a record type │ │ │ -00042460: 2074 656d 706c 6174 652e 220a 2020 6e69 template.". ni │ │ │ -00042470: 6c0a 2020 2272 6563 6f72 6420 2220 5f20 l. "record " _ │ │ │ -00042480: 2220 3a20 5365 7420 7768 6572 655c 6e22 " : Set where\n" │ │ │ -00042490: 0a20 2022 2020 6669 656c 645c 6e22 290a . " field\n"). │ │ │ -000424a0: 0a28 6465 6669 6e65 2d73 6b65 6c65 746f .(define-skeleto │ │ │ -000424b0: 6e20 6167 6461 322d 6162 6272 6576 732d n agda2-abbrevs- │ │ │ -000424c0: 7265 636f 7264 2d76 616c 7565 0a20 2022 record-value. " │ │ │ -000424d0: 496e 7365 7274 7320 6120 7265 636f 7264 Inserts a record │ │ │ -000424e0: 2076 616c 7565 2074 656d 706c 6174 652e value template. │ │ │ -000424f0: 220a 2020 6e69 6c0a 2020 2272 6563 6f72 ". nil. "recor │ │ │ -00042500: 6420 7b22 205f 2022 7d22 290a 0a28 6465 d {" _ "}")..(de │ │ │ -00042510: 6669 6e65 2d73 6b65 6c65 746f 6e20 6167 fine-skeleton ag │ │ │ -00042520: 6461 322d 6162 6272 6576 732d 7573 696e da2-abbrevs-usin │ │ │ -00042530: 670a 2020 2249 6e73 6572 7473 2061 2075 g. "Inserts a u │ │ │ -00042540: 7369 6e67 2074 656d 706c 6174 652e 220a sing template.". │ │ │ -00042550: 2020 6e69 6c0a 2020 2275 7369 6e67 2028 nil. "using ( │ │ │ -00042560: 2220 5f20 2229 2229 0a0a 2864 6566 696e " _ ")")..(defin │ │ │ -00042570: 652d 736b 656c 6574 6f6e 2061 6764 6132 e-skeleton agda2 │ │ │ -00042580: 2d61 6262 7265 7673 2d68 6964 696e 670a -abbrevs-hiding. │ │ │ -00042590: 2020 2249 6e73 6572 7473 2061 2068 6964 "Inserts a hid │ │ │ -000425a0: 696e 6720 7465 6d70 6c61 7465 2e22 0a20 ing template.". │ │ │ -000425b0: 206e 696c 0a20 2022 6869 6469 6e67 2028 nil. "hiding ( │ │ │ -000425c0: 2220 5f20 2229 2229 0a0a 2864 6566 696e " _ ")")..(defin │ │ │ -000425d0: 652d 736b 656c 6574 6f6e 2061 6764 6132 e-skeleton agda2 │ │ │ -000425e0: 2d61 6262 7265 7673 2d72 656e 616d 696e -abbrevs-renamin │ │ │ -000425f0: 670a 2020 2249 6e73 6572 7473 2061 2072 g. "Inserts a r │ │ │ -00042600: 656e 616d 696e 6720 7465 6d70 6c61 7465 enaming template │ │ │ -00042610: 2e22 0a20 206e 696c 0a20 2022 7265 6e61 .". nil. "rena │ │ │ -00042620: 6d69 6e67 2028 2220 5f20 2220 746f 2022 ming (" _ " to " │ │ │ -00042630: 205f 2022 2922 290a 0a28 6465 6669 6e65 _ ")")..(define │ │ │ -00042640: 2d73 6b65 6c65 746f 6e20 6167 6461 322d -skeleton agda2- │ │ │ -00042650: 6162 6272 6576 732d 666f 7261 6c6c 0a20 abbrevs-forall. │ │ │ -00042660: 2022 496e 7365 7274 7320 6120 666f 7261 "Inserts a fora │ │ │ -00042670: 6c6c 2074 656d 706c 6174 652e 220a 2020 ll template.". │ │ │ -00042680: 6e69 6c0a 2020 22e2 8880 207b 2220 5f20 nil. "... {" _ │ │ │ -00042690: 227d 2022 290a 0a28 6465 6669 6e65 2d73 "} ")..(define-s │ │ │ -000426a0: 6b65 6c65 746f 6e20 6167 6461 322d 6162 keleton agda2-ab │ │ │ -000426b0: 6272 6576 732d 636f 6465 2d62 6c6f 636b brevs-code-block │ │ │ -000426c0: 0a20 2022 496e 7365 7274 7320 6120 636f . "Inserts a co │ │ │ -000426d0: 6465 2062 6c6f 636b 2e22 0a20 206e 696c de block.". nil │ │ │ -000426e0: 0a20 2022 5c5c 6265 6769 6e7b 636f 6465 . "\\begin{code │ │ │ -000426f0: 7d5c 6e20 2022 205f 2022 5c6e 5c5c 656e }\n " _ "\n\\en │ │ │ -00042700: 647b 636f 6465 7d5c 6e22 290a 0a3b 3b3b d{code}\n")..;;; │ │ │ +00042070: 2020 2020 2020 2067 6f74 6f2d 6865 6c70 goto-help │ │ │ +00042080: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ +00042090: 2020 2020 2020 2020 2020 2069 6e66 6f29 info) │ │ │ +000420a0: 2929 0a20 2020 2020 2020 2020 2020 2020 )). │ │ │ +000420b0: 2028 7768 656e 2072 656d 6f76 650a 2020 (when remove. │ │ │ +000420c0: 2020 2020 2020 2020 2020 2020 2020 2861 (a │ │ │ +000420d0: 6e6e 6f74 6174 696f 6e2d 7265 6d6f 7665 nnotation-remove │ │ │ +000420e0: 2d61 6e6e 6f74 6174 696f 6e73 0a20 2020 -annotations. │ │ │ +000420f0: 2020 2020 2020 2020 2020 2020 2020 2774 't │ │ │ +00042100: 6f6b 656e 2d62 6173 6564 2070 6f73 2065 oken-based pos e │ │ │ +00042110: 6e64 290a 2020 2020 2020 2020 2020 2020 nd). │ │ │ +00042120: 2020 2020 2873 6574 7120 706f 7320 656e (setq pos en │ │ │ +00042130: 6429 290a 2020 2020 2020 2020 2020 2020 d)). │ │ │ +00042140: 2020 2861 6e6e 6f74 6174 696f 6e2d 616e (annotation-an │ │ │ +00042150: 6e6f 7461 7465 0a20 2020 2020 2020 2020 notate. │ │ │ +00042160: 2020 2020 2020 7374 6172 7420 656e 6420 start end │ │ │ +00042170: 616e 6e73 2074 6f6b 656e 2d62 6173 6564 anns token-based │ │ │ +00042180: 2069 6e66 6f20 676f 746f 2929 2929 0a20 info goto)))). │ │ │ +00042190: 2020 2020 2020 2028 7768 656e 2072 656d (when rem │ │ │ +000421a0: 6f76 650a 2020 2020 2020 2020 2020 2861 ove. (a │ │ │ +000421b0: 6e6e 6f74 6174 696f 6e2d 7265 6d6f 7665 nnotation-remove │ │ │ +000421c0: 2d61 6e6e 6f74 6174 696f 6e73 0a20 2020 -annotations. │ │ │ +000421d0: 2020 2020 2020 2020 2774 6f6b 656e 2d62 'token-b │ │ │ +000421e0: 6173 6564 2070 6f73 2028 706f 696e 742d ased pos (point- │ │ │ +000421f0: 6d61 7829 2929 2929 2929 0a0a 2870 726f max)))))))..(pro │ │ │ +00042200: 7669 6465 2027 616e 6e6f 7461 7469 6f6e vide 'annotation │ │ │ +00042210: 290a 3b3b 3b20 616e 6e6f 7461 7469 6f6e ).;;; annotation │ │ │ +00042220: 2e65 6c20 656e 6473 2068 6572 650a 9795 .el ends here... │ │ │ +00042230: f79b ddfe f9a3 f101 afa3 99f4 9ef7 8d8b ................ │ │ │ +00042240: ef01 00a7 0100 0422 6c05 2000 0001 0004 ......."l. ..... │ │ │ +00042250: 0408 0307 025e 0200 0003 0f00 0505 050b .....^.......... │ │ │ +00042260: 5f0b a801 0b61 0906 0100 8515 ec9e f2a0 _....a.......... │ │ │ +00042270: a393 c0a0 3d99 e2c9 a780 bafa b82d 00a8 ....=........-.. │ │ │ +00042280: 0100 042d 2205 8280 80e6 0800 0001 0003 ...-"........... │ │ │ +00042290: 0407 0402 0000 030f 0009 0185 153b 3b20 .............;; │ │ │ +000422a0: 2d2a 2d20 6c65 7869 6361 6c2d 6269 6e64 -*- lexical-bind │ │ │ +000422b0: 696e 673a 2074 202d 2a2d 0a3b 3b20 6167 ing: t -*-.;; ag │ │ │ +000422c0: 6461 322d 6162 6272 6576 732e 656c 202d da2-abbrevs.el - │ │ │ +000422d0: 2d2d 2044 6566 6175 6c74 2041 6764 6120 -- Default Agda │ │ │ +000422e0: 6162 6272 6576 730a 3b3b 2053 5044 582d abbrevs.;; SPDX- │ │ │ +000422f0: 4c69 6365 6e73 652d 4964 656e 7469 6669 License-Identifi │ │ │ +00042300: 6572 3a20 4d49 5420 4c69 6365 6e73 650a er: MIT License. │ │ │ +00042310: 0a3b 3b3b 2043 6f6d 6d65 6e74 6172 793a .;;; Commentary: │ │ │ +00042320: 0a0a 3b3b 3b20 436f 6465 3a0a 0a3b 3b20 ..;;; Code:..;; │ │ │ +00042330: 536b 656c 6574 6f6e 730a 0a28 7265 7175 Skeletons..(requ │ │ │ +00042340: 6972 6520 2773 6b65 6c65 746f 6e29 0a0a ire 'skeleton).. │ │ │ +00042350: 2864 6566 696e 652d 736b 656c 6574 6f6e (define-skeleton │ │ │ +00042360: 2061 6764 6132 2d61 6262 7265 7673 2d6d agda2-abbrevs-m │ │ │ +00042370: 6f64 756c 650a 2020 2249 6e73 6572 7473 odule. "Inserts │ │ │ +00042380: 2061 206d 6f64 756c 6520 6865 6164 6572 a module header │ │ │ +00042390: 2074 656d 706c 6174 652e 220a 2020 6e69 template.". ni │ │ │ +000423a0: 6c0a 2020 226d 6f64 756c 6520 2220 5f20 l. "module " _ │ │ │ +000423b0: 2220 7768 6572 655c 6e22 290a 0a28 6465 " where\n")..(de │ │ │ +000423c0: 6669 6e65 2d73 6b65 6c65 746f 6e20 6167 fine-skeleton ag │ │ │ +000423d0: 6461 322d 6162 6272 6576 732d 6461 7461 da2-abbrevs-data │ │ │ +000423e0: 0a20 2022 496e 7365 7274 7320 6120 6461 . "Inserts a da │ │ │ +000423f0: 7461 2074 656d 706c 6174 652e 220a 2020 ta template.". │ │ │ +00042400: 6e69 6c0a 2020 2264 6174 6120 2220 5f20 nil. "data " _ │ │ │ +00042410: 2220 3a20 5365 7420 7768 6572 655c 6e22 " : Set where\n" │ │ │ +00042420: 290a 0a28 6465 6669 6e65 2d73 6b65 6c65 )..(define-skele │ │ │ +00042430: 746f 6e20 6167 6461 322d 6162 6272 6576 ton agda2-abbrev │ │ │ +00042440: 732d 7265 636f 7264 0a20 2022 496e 7365 s-record. "Inse │ │ │ +00042450: 7274 7320 6120 7265 636f 7264 2074 7970 rts a record typ │ │ │ +00042460: 6520 7465 6d70 6c61 7465 2e22 0a20 206e e template.". n │ │ │ +00042470: 696c 0a20 2022 7265 636f 7264 2022 205f il. "record " _ │ │ │ +00042480: 2022 203a 2053 6574 2077 6865 7265 5c6e " : Set where\n │ │ │ +00042490: 220a 2020 2220 2066 6965 6c64 5c6e 2229 ". " field\n") │ │ │ +000424a0: 0a0a 2864 6566 696e 652d 736b 656c 6574 ..(define-skelet │ │ │ +000424b0: 6f6e 2061 6764 6132 2d61 6262 7265 7673 on agda2-abbrevs │ │ │ +000424c0: 2d72 6563 6f72 642d 7661 6c75 650a 2020 -record-value. │ │ │ +000424d0: 2249 6e73 6572 7473 2061 2072 6563 6f72 "Inserts a recor │ │ │ +000424e0: 6420 7661 6c75 6520 7465 6d70 6c61 7465 d value template │ │ │ +000424f0: 2e22 0a20 206e 696c 0a20 2022 7265 636f .". nil. "reco │ │ │ +00042500: 7264 207b 2220 5f20 227d 2229 0a0a 2864 rd {" _ "}")..(d │ │ │ +00042510: 6566 696e 652d 736b 656c 6574 6f6e 2061 efine-skeleton a │ │ │ +00042520: 6764 6132 2d61 6262 7265 7673 2d75 7369 gda2-abbrevs-usi │ │ │ +00042530: 6e67 0a20 2022 496e 7365 7274 7320 6120 ng. "Inserts a │ │ │ +00042540: 7573 696e 6720 7465 6d70 6c61 7465 2e22 using template." │ │ │ +00042550: 0a20 206e 696c 0a20 2022 7573 696e 6720 . nil. "using │ │ │ +00042560: 2822 205f 2022 2922 290a 0a28 6465 6669 (" _ ")")..(defi │ │ │ +00042570: 6e65 2d73 6b65 6c65 746f 6e20 6167 6461 ne-skeleton agda │ │ │ +00042580: 322d 6162 6272 6576 732d 6869 6469 6e67 2-abbrevs-hiding │ │ │ +00042590: 0a20 2022 496e 7365 7274 7320 6120 6869 . "Inserts a hi │ │ │ +000425a0: 6469 6e67 2074 656d 706c 6174 652e 220a ding template.". │ │ │ +000425b0: 2020 6e69 6c0a 2020 2268 6964 696e 6720 nil. "hiding │ │ │ +000425c0: 2822 205f 2022 2922 290a 0a28 6465 6669 (" _ ")")..(defi │ │ │ +000425d0: 6e65 2d73 6b65 6c65 746f 6e20 6167 6461 ne-skeleton agda │ │ │ +000425e0: 322d 6162 6272 6576 732d 7265 6e61 6d69 2-abbrevs-renami │ │ │ +000425f0: 6e67 0a20 2022 496e 7365 7274 7320 6120 ng. "Inserts a │ │ │ +00042600: 7265 6e61 6d69 6e67 2074 656d 706c 6174 renaming templat │ │ │ +00042610: 652e 220a 2020 6e69 6c0a 2020 2272 656e e.". nil. "ren │ │ │ +00042620: 616d 696e 6720 2822 205f 2022 2074 6f20 aming (" _ " to │ │ │ +00042630: 2220 5f20 2229 2229 0a0a 2864 6566 696e " _ ")")..(defin │ │ │ +00042640: 652d 736b 656c 6574 6f6e 2061 6764 6132 e-skeleton agda2 │ │ │ +00042650: 2d61 6262 7265 7673 2d66 6f72 616c 6c0a -abbrevs-forall. │ │ │ +00042660: 2020 2249 6e73 6572 7473 2061 2066 6f72 "Inserts a for │ │ │ +00042670: 616c 6c20 7465 6d70 6c61 7465 2e22 0a20 all template.". │ │ │ +00042680: 206e 696c 0a20 2022 e288 8020 7b22 205f nil. "... {" _ │ │ │ +00042690: 2022 7d20 2229 0a0a 2864 6566 696e 652d "} ")..(define- │ │ │ +000426a0: 736b 656c 6574 6f6e 2061 6764 6132 2d61 skeleton agda2-a │ │ │ +000426b0: 6262 7265 7673 2d63 6f64 652d 626c 6f63 bbrevs-code-bloc │ │ │ +000426c0: 6b0a 2020 2249 6e73 6572 7473 2061 2063 k. "Inserts a c │ │ │ +000426d0: 6f64 6520 626c 6f63 6b2e 220a 2020 6e69 ode block.". ni │ │ │ +000426e0: 6c0a 2020 225c 5c62 6567 696e 7b63 6f64 l. "\\begin{cod │ │ │ +000426f0: 657d 5c6e 2020 2220 5f20 225c 6e5c 5c65 e}\n " _ "\n\\e │ │ │ +00042700: 6e64 7b63 6f64 657d 5c6e 2229 0a0a 3b3b nd{code}\n")..;; │ │ │ 00042710: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00042720: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00042730: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00042740: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ -00042750: 3b3b 3b3b 3b0a 3b3b 2041 6262 7265 7673 ;;;;;.;; Abbrevs │ │ │ -00042760: 0a0a 2864 6566 7661 7220 6167 6461 322d ..(defvar agda2- │ │ │ -00042770: 6162 6272 6576 732d 6465 6661 756c 7473 abbrevs-defaults │ │ │ -00042780: 2027 280a 2020 2822 6d22 2020 2022 2220 '(. ("m" "" │ │ │ -00042790: 6167 6461 322d 6162 6272 6576 732d 6d6f agda2-abbrevs-mo │ │ │ -000427a0: 6475 6c65 290a 2020 2822 6422 2020 2022 dule). ("d" " │ │ │ -000427b0: 2220 6167 6461 322d 6162 6272 6576 732d " agda2-abbrevs- │ │ │ -000427c0: 6461 7461 290a 2020 2822 6322 2020 2022 data). ("c" " │ │ │ -000427d0: 2220 6167 6461 322d 6162 6272 6576 732d " agda2-abbrevs- │ │ │ -000427e0: 636f 6465 2d62 6c6f 636b 290a 2020 2822 code-block). (" │ │ │ -000427f0: 7265 2220 2022 2220 6167 6461 322d 6162 re" "" agda2-ab │ │ │ -00042800: 6272 6576 732d 7265 636f 7264 290a 2020 brevs-record). │ │ │ -00042810: 2822 7265 6322 2022 2220 6167 6461 322d ("rec" "" agda2- │ │ │ -00042820: 6162 6272 6576 732d 7265 636f 7264 2d76 abbrevs-record-v │ │ │ -00042830: 616c 7565 290a 2020 2822 7522 2020 2022 alue). ("u" " │ │ │ -00042840: 2220 6167 6461 322d 6162 6272 6576 732d " agda2-abbrevs- │ │ │ -00042850: 7573 696e 6729 0a20 2028 2268 2220 2020 using). ("h" │ │ │ -00042860: 2222 2061 6764 6132 2d61 6262 7265 7673 "" agda2-abbrevs │ │ │ -00042870: 2d68 6964 696e 6729 0a20 2028 2272 2220 -hiding). ("r" │ │ │ -00042880: 2020 2222 2061 6764 6132 2d61 6262 7265 "" agda2-abbre │ │ │ -00042890: 7673 2d72 656e 616d 696e 6729 0a20 2028 vs-renaming). ( │ │ │ -000428a0: 2277 2220 2020 2277 6865 7265 5c6e 2229 "w" "where\n") │ │ │ -000428b0: 0a20 2028 2270 6f22 2020 2270 6f73 7475 . ("po" "postu │ │ │ -000428c0: 6c61 7465 2229 0a20 2028 2261 2220 2020 late"). ("a" │ │ │ -000428d0: 2261 6273 7472 6163 745c 6e22 290a 2020 "abstract\n"). │ │ │ -000428e0: 2822 7072 2220 2022 7072 6976 6174 655c ("pr" "private\ │ │ │ -000428f0: 6e22 290a 2020 2822 7075 2220 2022 7075 n"). ("pu" "pu │ │ │ -00042900: 626c 6963 2229 0a20 2028 226d 7522 2020 blic"). ("mu" │ │ │ -00042910: 226d 7574 7561 6c5c 6e22 290a 2020 2822 "mutual\n"). (" │ │ │ -00042920: 6622 2020 2022 2220 6167 6461 322d 6162 f" "" agda2-ab │ │ │ -00042930: 6272 6576 732d 666f 7261 6c6c 290a 2020 brevs-forall). │ │ │ -00042940: 2822 6f69 2220 2022 6f70 656e 2069 6d70 ("oi" "open imp │ │ │ -00042950: 6f72 7420 2229 290a 2020 2241 6262 7265 ort ")). "Abbre │ │ │ -00042960: 7669 6174 696f 6e73 2064 6566 696e 6564 viations defined │ │ │ -00042970: 2062 7920 6465 6661 756c 7420 696e 2074 by default in t │ │ │ -00042980: 6865 2041 6764 6120 6d6f 6465 2e22 290a he Agda mode."). │ │ │ -00042990: 0a28 6465 6663 7573 746f 6d20 6167 6461 .(defcustom agda │ │ │ -000429a0: 322d 6d6f 6465 2d61 6262 7265 7673 2d75 2-mode-abbrevs-u │ │ │ -000429b0: 7365 2d64 6566 6175 6c74 7320 6e69 6c0a se-defaults nil. │ │ │ -000429c0: 2020 2249 6620 6e6f 6e2d 6e69 6c20 696e "If non-nil in │ │ │ -000429d0: 636c 7564 6520 7468 6520 6465 6661 756c clude the defaul │ │ │ -000429e0: 7420 4167 6461 206d 6f64 6520 6162 6272 t Agda mode abbr │ │ │ -000429f0: 6576 7320 696e 2060 6167 6461 322d 6d6f evs in `agda2-mo │ │ │ -00042a00: 6465 2d61 6262 7265 762d 7461 626c 6527 de-abbrev-table' │ │ │ -00042a10: 2e0a 5468 6520 6162 6272 6576 7320 6172 ..The abbrevs ar │ │ │ -00042a20: 6520 6465 7369 676e 6564 2074 6f20 6265 e designed to be │ │ │ -00042a30: 2065 7870 616e 6465 6420 6578 706c 6963 expanded explic │ │ │ -00042a40: 6974 6c79 2c20 736f 2075 7365 7273 206f itly, so users o │ │ │ -00042a50: 6620 6061 6262 7265 762d 6d6f 6465 270a f `abbrev-mode'. │ │ │ -00042a60: 7072 6f62 6162 6c79 2064 6f20 6e6f 7420 probably do not │ │ │ -00042a70: 7761 6e74 2074 6f20 696e 636c 7564 6520 want to include │ │ │ -00042a80: 7468 656d 2e0a 0a52 6573 7461 7274 2045 them...Restart E │ │ │ -00042a90: 6d61 6373 2069 6e20 6f72 6465 7220 666f macs in order fo │ │ │ -00042aa0: 7220 7468 6973 2063 6861 6e67 6520 746f r this change to │ │ │ -00042ab0: 2074 616b 6520 6566 6665 6374 2e22 0a20 take effect.". │ │ │ -00042ac0: 203a 6772 6f75 7020 2761 6764 6132 0a20 :group 'agda2. │ │ │ -00042ad0: 203a 7479 7065 2027 2863 686f 6963 6520 :type '(choice │ │ │ -00042ae0: 2863 6f6e 7374 203a 7461 6720 2259 6573 (const :tag "Yes │ │ │ -00042af0: 2220 7429 0a20 2020 2020 2020 2020 2020 " t). │ │ │ -00042b00: 2020 2020 2020 2863 6f6e 7374 203a 7461 (const :ta │ │ │ -00042b10: 6720 224e 6f22 206e 696c 2929 290a 0a28 g "No" nil)))..( │ │ │ -00042b20: 6465 6676 6172 2061 6764 6132 2d6d 6f64 defvar agda2-mod │ │ │ -00042b30: 652d 6162 6272 6576 2d74 6162 6c65 206e e-abbrev-table n │ │ │ -00042b40: 696c 0a20 2022 4167 6461 206d 6f64 6520 il. "Agda mode │ │ │ -00042b50: 6162 6272 6576 2074 6162 6c65 2e22 290a abbrev table."). │ │ │ -00042b60: 0a28 6465 6669 6e65 2d61 6262 7265 762d .(define-abbrev- │ │ │ -00042b70: 7461 626c 650a 2020 2761 6764 6132 2d6d table. 'agda2-m │ │ │ -00042b80: 6f64 652d 6162 6272 6576 2d74 6162 6c65 ode-abbrev-table │ │ │ -00042b90: 0a20 2028 6966 2061 6764 6132 2d6d 6f64 . (if agda2-mod │ │ │ -00042ba0: 652d 6162 6272 6576 732d 7573 652d 6465 e-abbrevs-use-de │ │ │ -00042bb0: 6661 756c 7473 0a20 2020 2020 2028 6d61 faults. (ma │ │ │ -00042bc0: 7063 6172 2028 6c61 6d62 6461 2028 6162 pcar (lambda (ab │ │ │ -00042bd0: 6272 6576 290a 2020 2020 2020 2020 2020 brev). │ │ │ -00042be0: 2020 2020 2020 2861 7070 656e 6420 6162 (append ab │ │ │ -00042bf0: 6272 6576 0a20 2020 2020 2020 2020 2020 brev. │ │ │ -00042c00: 2020 2020 2020 2020 2020 2020 2028 6d61 (ma │ │ │ -00042c10: 6b65 2d6c 6973 7420 282d 2034 2028 6c65 ke-list (- 4 (le │ │ │ -00042c20: 6e67 7468 2061 6262 7265 7629 2920 6e69 ngth abbrev)) ni │ │ │ -00042c30: 6c29 0a20 2020 2020 2020 2020 2020 2020 l). │ │ │ -00042c40: 2020 2020 2020 2020 2020 2027 2828 3a73 '((:s │ │ │ -00042c50: 7973 7465 6d20 7429 2929 290a 2020 2020 ystem t)))). │ │ │ -00042c60: 2020 2020 2020 2020 2020 6167 6461 322d agda2- │ │ │ -00042c70: 6162 6272 6576 732d 6465 6661 756c 7473 abbrevs-defaults │ │ │ -00042c80: 2929 290a 0a3b 3b3b 3b3b 3b3b 3b3b 3b3b )))..;;;;;;;;;;; │ │ │ +00042750: 3b3b 3b3b 3b3b 0a3b 3b20 4162 6272 6576 ;;;;;;.;; Abbrev │ │ │ +00042760: 730a 0a28 6465 6676 6172 2061 6764 6132 s..(defvar agda2 │ │ │ +00042770: 2d61 6262 7265 7673 2d64 6566 6175 6c74 -abbrevs-default │ │ │ +00042780: 7320 2728 0a20 2028 226d 2220 2020 2222 s '(. ("m" "" │ │ │ +00042790: 2061 6764 6132 2d61 6262 7265 7673 2d6d agda2-abbrevs-m │ │ │ +000427a0: 6f64 756c 6529 0a20 2028 2264 2220 2020 odule). ("d" │ │ │ +000427b0: 2222 2061 6764 6132 2d61 6262 7265 7673 "" agda2-abbrevs │ │ │ +000427c0: 2d64 6174 6129 0a20 2028 2263 2220 2020 -data). ("c" │ │ │ +000427d0: 2222 2061 6764 6132 2d61 6262 7265 7673 "" agda2-abbrevs │ │ │ +000427e0: 2d63 6f64 652d 626c 6f63 6b29 0a20 2028 -code-block). ( │ │ │ +000427f0: 2272 6522 2020 2222 2061 6764 6132 2d61 "re" "" agda2-a │ │ │ +00042800: 6262 7265 7673 2d72 6563 6f72 6429 0a20 bbrevs-record). │ │ │ +00042810: 2028 2272 6563 2220 2222 2061 6764 6132 ("rec" "" agda2 │ │ │ +00042820: 2d61 6262 7265 7673 2d72 6563 6f72 642d -abbrevs-record- │ │ │ +00042830: 7661 6c75 6529 0a20 2028 2275 2220 2020 value). ("u" │ │ │ +00042840: 2222 2061 6764 6132 2d61 6262 7265 7673 "" agda2-abbrevs │ │ │ +00042850: 2d75 7369 6e67 290a 2020 2822 6822 2020 -using). ("h" │ │ │ +00042860: 2022 2220 6167 6461 322d 6162 6272 6576 "" agda2-abbrev │ │ │ +00042870: 732d 6869 6469 6e67 290a 2020 2822 7222 s-hiding). ("r" │ │ │ +00042880: 2020 2022 2220 6167 6461 322d 6162 6272 "" agda2-abbr │ │ │ +00042890: 6576 732d 7265 6e61 6d69 6e67 290a 2020 evs-renaming). │ │ │ +000428a0: 2822 7722 2020 2022 7768 6572 655c 6e22 ("w" "where\n" │ │ │ +000428b0: 290a 2020 2822 706f 2220 2022 706f 7374 ). ("po" "post │ │ │ +000428c0: 756c 6174 6522 290a 2020 2822 6122 2020 ulate"). ("a" │ │ │ +000428d0: 2022 6162 7374 7261 6374 5c6e 2229 0a20 "abstract\n"). │ │ │ +000428e0: 2028 2270 7222 2020 2270 7269 7661 7465 ("pr" "private │ │ │ +000428f0: 5c6e 2229 0a20 2028 2270 7522 2020 2270 \n"). ("pu" "p │ │ │ +00042900: 7562 6c69 6322 290a 2020 2822 6d75 2220 ublic"). ("mu" │ │ │ +00042910: 2022 6d75 7475 616c 5c6e 2229 0a20 2028 "mutual\n"). ( │ │ │ +00042920: 2266 2220 2020 2222 2061 6764 6132 2d61 "f" "" agda2-a │ │ │ +00042930: 6262 7265 7673 2d66 6f72 616c 6c29 0a20 bbrevs-forall). │ │ │ +00042940: 2028 226f 6922 2020 226f 7065 6e20 696d ("oi" "open im │ │ │ +00042950: 706f 7274 2022 2929 0a20 2022 4162 6272 port ")). "Abbr │ │ │ +00042960: 6576 6961 7469 6f6e 7320 6465 6669 6e65 eviations define │ │ │ +00042970: 6420 6279 2064 6566 6175 6c74 2069 6e20 d by default in │ │ │ +00042980: 7468 6520 4167 6461 206d 6f64 652e 2229 the Agda mode.") │ │ │ +00042990: 0a0a 2864 6566 6375 7374 6f6d 2061 6764 ..(defcustom agd │ │ │ +000429a0: 6132 2d6d 6f64 652d 6162 6272 6576 732d a2-mode-abbrevs- │ │ │ +000429b0: 7573 652d 6465 6661 756c 7473 206e 696c use-defaults nil │ │ │ +000429c0: 0a20 2022 4966 206e 6f6e 2d6e 696c 2069 . "If non-nil i │ │ │ +000429d0: 6e63 6c75 6465 2074 6865 2064 6566 6175 nclude the defau │ │ │ +000429e0: 6c74 2041 6764 6120 6d6f 6465 2061 6262 lt Agda mode abb │ │ │ +000429f0: 7265 7673 2069 6e20 6061 6764 6132 2d6d revs in `agda2-m │ │ │ +00042a00: 6f64 652d 6162 6272 6576 2d74 6162 6c65 ode-abbrev-table │ │ │ +00042a10: 272e 0a54 6865 2061 6262 7265 7673 2061 '..The abbrevs a │ │ │ +00042a20: 7265 2064 6573 6967 6e65 6420 746f 2062 re designed to b │ │ │ +00042a30: 6520 6578 7061 6e64 6564 2065 7870 6c69 e expanded expli │ │ │ +00042a40: 6369 746c 792c 2073 6f20 7573 6572 7320 citly, so users │ │ │ +00042a50: 6f66 2060 6162 6272 6576 2d6d 6f64 6527 of `abbrev-mode' │ │ │ +00042a60: 0a70 726f 6261 626c 7920 646f 206e 6f74 .probably do not │ │ │ +00042a70: 2077 616e 7420 746f 2069 6e63 6c75 6465 want to include │ │ │ +00042a80: 2074 6865 6d2e 0a0a 5265 7374 6172 7420 them...Restart │ │ │ +00042a90: 456d 6163 7320 696e 206f 7264 6572 2066 Emacs in order f │ │ │ +00042aa0: 6f72 2074 6869 7320 6368 616e 6765 2074 or this change t │ │ │ +00042ab0: 6f20 7461 6b65 2065 6666 6563 742e 220a o take effect.". │ │ │ +00042ac0: 2020 3a67 726f 7570 2027 6167 6461 320a :group 'agda2. │ │ │ +00042ad0: 2020 3a74 7970 6520 2728 6368 6f69 6365 :type '(choice │ │ │ +00042ae0: 2028 636f 6e73 7420 3a74 6167 2022 5965 (const :tag "Ye │ │ │ +00042af0: 7322 2074 290a 2020 2020 2020 2020 2020 s" t). │ │ │ +00042b00: 2020 2020 2020 2028 636f 6e73 7420 3a74 (const :t │ │ │ +00042b10: 6167 2022 4e6f 2220 6e69 6c29 2929 0a0a ag "No" nil))).. │ │ │ +00042b20: 2864 6566 7661 7220 6167 6461 322d 6d6f (defvar agda2-mo │ │ │ +00042b30: 6465 2d61 6262 7265 762d 7461 626c 6520 de-abbrev-table │ │ │ +00042b40: 6e69 6c0a 2020 2241 6764 6120 6d6f 6465 nil. "Agda mode │ │ │ +00042b50: 2061 6262 7265 7620 7461 626c 652e 2229 abbrev table.") │ │ │ +00042b60: 0a0a 2864 6566 696e 652d 6162 6272 6576 ..(define-abbrev │ │ │ +00042b70: 2d74 6162 6c65 0a20 2027 6167 6461 322d -table. 'agda2- │ │ │ +00042b80: 6d6f 6465 2d61 6262 7265 762d 7461 626c mode-abbrev-tabl │ │ │ +00042b90: 650a 2020 2869 6620 6167 6461 322d 6d6f e. (if agda2-mo │ │ │ +00042ba0: 6465 2d61 6262 7265 7673 2d75 7365 2d64 de-abbrevs-use-d │ │ │ +00042bb0: 6566 6175 6c74 730a 2020 2020 2020 286d efaults. (m │ │ │ +00042bc0: 6170 6361 7220 286c 616d 6264 6120 2861 apcar (lambda (a │ │ │ +00042bd0: 6262 7265 7629 0a20 2020 2020 2020 2020 bbrev). │ │ │ +00042be0: 2020 2020 2020 2028 6170 7065 6e64 2061 (append a │ │ │ +00042bf0: 6262 7265 760a 2020 2020 2020 2020 2020 bbrev. │ │ │ +00042c00: 2020 2020 2020 2020 2020 2020 2020 286d (m │ │ │ +00042c10: 616b 652d 6c69 7374 2028 2d20 3420 286c ake-list (- 4 (l │ │ │ +00042c20: 656e 6774 6820 6162 6272 6576 2929 206e ength abbrev)) n │ │ │ +00042c30: 696c 290a 2020 2020 2020 2020 2020 2020 il). │ │ │ +00042c40: 2020 2020 2020 2020 2020 2020 2728 283a '((: │ │ │ +00042c50: 7379 7374 656d 2074 2929 2929 0a20 2020 system t)))). │ │ │ +00042c60: 2020 2020 2020 2020 2020 2061 6764 6132 agda2 │ │ │ +00042c70: 2d61 6262 7265 7673 2d64 6566 6175 6c74 -abbrevs-default │ │ │ +00042c80: 7329 2929 0a0a 3b3b 3b3b 3b3b 3b3b 3b3b s)))..;;;;;;;;;; │ │ │ 00042c90: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00042ca0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00042cb0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ -00042cc0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b0a 3b3b ;;;;;;;;;;;;;.;; │ │ │ -00042cd0: 2041 646d 696e 6973 7472 6174 6976 6520 Administrative │ │ │ -00042ce0: 6465 7461 696c 730a 0a28 7072 6f76 6964 details..(provid │ │ │ -00042cf0: 6520 2761 6764 6132 2d61 6262 7265 7673 e 'agda2-abbrevs │ │ │ -00042d00: 290a 3b3b 3b20 6167 6461 322d 6162 6272 ).;;; agda2-abbr │ │ │ -00042d10: 6576 732e 656c 2065 6e64 7320 6865 7265 evs.el ends here │ │ │ -00042d20: 0ac6 96a6 b196 c59d a8ea 0183 fdcf 99d3 ................ │ │ │ -00042d30: 95ad d8da 0100 2900 042d 5a05 8280 80e6 ......)..-Z..... │ │ │ -00042d40: 0800 0001 0003 0407 0402 0000 030f 0009 ................ │ │ │ -00042d50: 0108 5772 6974 696e 6720 9dd1 b59b 87e8 ..Writing ...... │ │ │ -00042d60: 9bba af01 e990 acff f9a9 e58d c301 0017 ................ │ │ │ -00042d70: 0004 2d9b 0515 0000 0100 0207 0101 0002 ..-............. │ │ │ -00042d80: 0000 0300 0005 0505 0ba9 0101 0590 8080 ................ │ │ │ -00042d90: e608 0000 010b aa01 0bab 019b e9e7 e5c5 ................ │ │ │ -00042da0: b3bf be5b acf5 bdb5 8990 f3bd b001 00a0 ...[............ │ │ │ -00042db0: 0100 042d ec05 b480 80e6 0800 0000 0520 ...-........... │ │ │ -00042dc0: 0000 0100 0100 0404 0803 0702 8680 80ec ................ │ │ │ -00042dd0: 0802 0000 030f 0005 0505 0b87 8080 ec08 ................ │ │ │ -00042de0: 0105 2000 0001 0b8c 010b ac01 e2d1 e6a8 .. ............. │ │ │ -00042df0: b4f3 fbfc 7d9a ccdf eaba a39e f74b 00ab ....}........K.. │ │ │ -00042e00: 0100 042e 5105 b480 80e6 0800 0000 05b4 ....Q........... │ │ │ -00042e10: 8080 e608 0000 0005 9080 80e6 0800 0001 ................ │ │ │ -00042e20: 0001 0001 0002 0701 0100 0200 0003 0000 ................ │ │ │ -00042e30: 0505 050b ad01 0105 b480 80e6 0800 0000 ................ │ │ │ -00042e40: 0590 8080 e608 0000 0100 010b ae01 0baf ................ │ │ │ -00042e50: 01ab ad96 d9a6 fadc eec7 01a5 ff8f 9eea ................ │ │ │ -00042e60: cbcf fba9 0100 af01 0004 2ed9 05b4 8080 ................ │ │ │ -00042e70: e608 0000 0005 b480 80e6 0800 0000 0590 ................ │ │ │ -00042e80: 8080 e608 0000 0100 0100 0100 0308 0307 ................ │ │ │ -00042e90: 0286 8080 ec08 0200 0003 0f00 0505 050b ................ │ │ │ -00042ea0: 8780 80ec 0801 05b4 8080 e608 0000 0005 ................ │ │ │ -00042eb0: 9080 80e6 0800 0001 0001 0bb0 0105 0b9f ................ │ │ │ -00042ec0: 8080 ec08 0105 b480 80e6 0800 0000 0590 ................ │ │ │ -00042ed0: 8080 e608 0000 0100 019e b0a8 b7c6 e5a6 ................ │ │ │ -00042ee0: d80f cebf 99b1 e4d9 9bc2 5900 ae01 0004 ..........Y..... │ │ │ -00042ef0: 2f1c 05b4 8080 e608 0000 0005 9080 80e6 /............... │ │ │ -00042f00: 0800 0001 0001 0002 0701 0100 0200 0003 ................ │ │ │ -00042f10: 0500 050b 9580 80e0 080b b101 e086 a0ab ................ │ │ │ -00042f20: f9f5 90f1 e101 aa94 ec9b e79a ee9e 3000 ..............0. │ │ │ -00042f30: b101 0004 2f4e 0582 8080 e608 0000 0100 ..../N.......... │ │ │ -00042f40: 0304 0704 0200 0003 0f00 0901 012d 869e .............-.. │ │ │ -00042f50: b89b b6d0 ebff 6cae b0e8 ddfd b0cc e67e ......l........~ │ │ │ -00042f60: 00aa 0100 042f 9105 b480 80e6 0800 0000 ...../.......... │ │ │ -00042f70: 0590 8080 e608 0000 0100 0100 0207 0101 ................ │ │ │ -00042f80: 0002 0000 0305 0005 0b95 8080 e008 0bb2 ................ │ │ │ -00042f90: 01a7 c0be 9de5 8d84 e333 aad5 b5dd eaae .........3...... │ │ │ -00042fa0: d29d fc01 00b2 0100 042f c705 8280 80e6 ........./...... │ │ │ -00042fb0: 0800 0001 0003 0407 0402 0000 030f 0009 ................ │ │ │ -00042fc0: 0105 2e6c 6f63 6be8 e8b7 8eb1 a1ec 8a9b ...lock......... │ │ │ -00042fd0: 0188 8b87 95cc b495 d663 00ac 0100 0430 .........c.....0 │ │ │ -00042fe0: 1805 b480 80e6 0800 0000 0520 0000 0100 ........... .... │ │ │ -00042ff0: 0100 0404 0803 0702 8680 80ec 0802 0000 ................ │ │ │ -00043000: 030f 0005 0505 0b87 8080 ec08 0105 2000 .............. . │ │ │ -00043010: 0001 0b8a 010b b301 c1ac f880 b78f baf8 ................ │ │ │ -00043020: 0cd4 9cfd 9da4 d68d f0cb 0100 b301 0004 ................ │ │ │ -00043030: 3069 05b4 8080 e608 0000 0005 2000 0001 0i.......... ... │ │ │ -00043040: 0001 0004 0408 0307 0286 8080 ec08 0200 ................ │ │ │ -00043050: 0003 0f00 0505 050b 8780 80ec 0801 0520 ............... │ │ │ -00043060: 0000 010b 8801 0bb4 0182 89c3 83a4 8d9f ................ │ │ │ -00043070: c33f cf98 ae82 b1b3 c2e2 e301 0030 0004 .?...........0.. │ │ │ -00043080: 3338 0300 05e2 8280 ec08 0100 0105 2c00 38............,. │ │ │ -00043090: 0001 0300 05e2 8280 ec08 0100 0105 e480 ................ │ │ │ -000430a0: 80e6 0800 0000 05ca 8080 e608 0000 0100 ................ │ │ │ -000430b0: 0108 0100 0005 c881 80e6 0800 0001 0100 ................ │ │ │ -000430c0: 05c4 8180 e608 0000 0101 0005 e480 80e6 ................ │ │ │ -000430d0: 0800 0000 05ca 8080 e608 0000 0100 0100 ................ │ │ │ -000430e0: 0005 a881 80e6 0800 0000 052b 0000 0100 ...........+.... │ │ │ -000430f0: 0008 0000 0100 0100 0100 0507 0002 0002 ................ │ │ │ -00043100: 0100 0203 0201 0304 0201 0604 0001 0202 ................ │ │ │ -00043110: 0001 0202 0001 0202 0001 0202 0001 0202 ................ │ │ │ -00043120: 0001 0202 0001 0202 0001 0202 0001 0206 ................ │ │ │ -00043130: 0203 0102 0002 0102 0000 020f 0102 0100 ................ │ │ │ -00043140: 0400 05e2 8280 ec08 0100 01ea 0105 2c00 ..............,. │ │ │ -00043150: 0001 0104 0005 e282 80ec 0801 0001 c701 ................ │ │ │ -00043160: 05e4 8080 e608 0000 0005 ca80 80e6 0800 ................ │ │ │ -00043170: 0001 0001 0106 00ea 01b5 0101 01b5 0104 ................ │ │ │ -00043180: eb01 ec01 ed01 ee01 0605 0505 0505 050b ................ │ │ │ -00043190: b601 0105 b081 80e6 0800 0001 0105 b081 ................ │ │ │ -000431a0: 80e6 0800 0001 0101 eb01 0105 2b00 0001 ............+... │ │ │ -000431b0: 0c05 050b b701 0101 eb01 00ec 0108 b801 ................ │ │ │ -000431c0: 0002 0105 b081 80e6 0800 0001 0101 eb01 ................ │ │ │ -000431d0: 0bb9 01c8 0102 018c 8080 ec08 0005 0505 ................ │ │ │ -000431e0: 0505 050b e689 80f2 0801 0588 8280 ec08 ................ │ │ │ -000431f0: 0100 0101 05c4 8180 e608 0000 0101 052c ..............., │ │ │ -00043200: 0000 0101 05a8 8180 e608 0000 0005 2b00 ..............+. │ │ │ -00043210: 0001 0000 0800 0001 0001 00b5 0100 c701 ................ │ │ │ -00043220: 01aa 8080 ec08 0006 0505 050b ba84 80e0 ................ │ │ │ -00043230: 0801 05b0 8180 e608 0000 0101 05ba 0100 ................ │ │ │ -00043240: 0000 05d8 8280 e608 0000 0005 b081 80e6 ................ │ │ │ -00043250: 0800 0001 0100 0901 0000 0001 0100 05d8 ................ │ │ │ -00043260: 8280 e608 0000 0005 b081 80e6 0800 0001 ................ │ │ │ -00043270: 0100 0901 0000 0001 0100 05d8 8280 e608 ................ │ │ │ -00043280: 0000 0005 d882 80e6 0800 0000 05b0 8180 ................ │ │ │ -00043290: e608 0000 0101 0009 0100 0000 0101 0009 ................ │ │ │ -000432a0: 0100 0100 0100 0005 d882 80e6 0800 0000 ................ │ │ │ -000432b0: 05d8 8280 e608 0000 0005 b081 80e6 0800 ................ │ │ │ -000432c0: 0001 0100 0901 0000 0001 0100 0901 0001 ................ │ │ │ -000432d0: 0001 0001 0105 ba01 0000 0005 b081 80e6 ................ │ │ │ -000432e0: 0800 0001 0100 05b0 8180 e608 0000 0101 ................ │ │ │ -000432f0: 0001 eb01 0000 052b 0000 0100 01cb 0101 .......+........ │ │ │ -00043300: 01dc 8280 ec08 01ef 0103 0102 00c7 0105 ................ │ │ │ -00043310: 0505 0bbb 0101 052b 0000 0101 0800 0001 .......+........ │ │ │ -00043320: 0c00 ee01 0b10 0c00 0201 1007 ef01 100c ................ │ │ │ -00043330: 0003 0110 0a07 ef01 b7ed 89e7 bb99 db99 ................ │ │ │ -00043340: ca01 ffc5 a2ce d694 b588 7700 b401 0004 ..........w..... │ │ │ -00043350: 3389 05b4 8080 e608 0000 0005 2000 0001 3........... ... │ │ │ -00043360: 0001 0004 0408 0307 0286 8080 ec08 0200 ................ │ │ │ -00043370: 0003 0f00 0505 050b 8780 80ec 0801 0520 ............... │ │ │ -00043380: 0000 010b 8601 0bbc 01a0 fbdd b089 84cc ................ │ │ │ -00043390: 87d8 01f1 97e0 f3bd bdda a675 00bc 0100 ...........u.... │ │ │ -000433a0: 0433 da05 b480 80e6 0800 0000 0520 0000 .3........... .. │ │ │ -000433b0: 0100 0100 0404 0803 0702 8680 80ec 0802 ................ │ │ │ -000433c0: 0000 030f 0005 0505 0b87 8080 ec08 0105 ................ │ │ │ -000433d0: 2000 0001 0b84 010b bd01 ef94 c7e9 8a89 ............... │ │ │ -000433e0: 80bc f601 b0bf 91b0 b6a9 f4cf 8201 00bd ................ │ │ │ -000433f0: 0100 0434 2c05 b480 80e6 0800 0000 0520 ...4,.......... │ │ │ -00043400: 0000 0100 0100 0404 0803 0702 8680 80ec ................ │ │ │ -00043410: 0802 0000 030f 0005 0505 0b87 8080 ec08 ................ │ │ │ -00043420: 0105 2000 0001 0b80 010b be01 fd8b 99d8 .. ............. │ │ │ -00043430: 9fae b2ac 8401 cea1 8bee 9db7 94bb 4600 ..............F. │ │ │ -00043440: be01 0004 347c 05b4 8080 e608 0000 0005 ....4|.......... │ │ │ -00043450: 2000 0001 0001 0004 0408 0307 0286 8080 ............... │ │ │ -00043460: ec08 0200 0003 0f00 0505 050b 8780 80ec ................ │ │ │ -00043470: 0801 0520 0000 010b 7e0b bf01 e389 8a9c ... ....~....... │ │ │ -00043480: e8cf e7b5 1ba5 d2ac e29c a38a e4b3 0100 ................ │ │ │ -00043490: bf01 0004 34cc 05b4 8080 e608 0000 0005 ....4........... │ │ │ -000434a0: 2000 0001 0001 0004 0408 0307 0286 8080 ............... │ │ │ -000434b0: ec08 0200 0003 0f00 0505 050b 8780 80ec ................ │ │ │ -000434c0: 0801 0520 0000 010b 7c0b c001 a19b c0ff ... ....|....... │ │ │ -000434d0: edca a0fb 1dc3 988b d489 89cb abea 0100 ................ │ │ │ -000434e0: c001 0004 351c 05b4 8080 e608 0000 0005 ....5........... │ │ │ -000434f0: 2000 0001 0001 0004 0408 0307 0286 8080 ............... │ │ │ -00043500: ec08 0200 0003 0f00 0505 050b 8780 80ec ................ │ │ │ -00043510: 0801 0520 0000 010b 7a0b c101 a4f0 f3dc ... ....z....... │ │ │ -00043520: c3e4 dac2 5180 9492 cfd4 d4c7 a995 0100 ....Q........... │ │ │ -00043530: c101 0004 356c 05b4 8080 e608 0000 0005 ....5l.......... │ │ │ -00043540: 2000 0001 0001 0004 0408 0307 0286 8080 ............... │ │ │ -00043550: ec08 0200 0003 0f00 0505 050b 8780 80ec ................ │ │ │ -00043560: 0801 0520 0000 010b 780b c201 b4ac dec5 ... ....x....... │ │ │ -00043570: c5c4 d8b4 c001 c893 f599 d495 a5ab 1e00 ................ │ │ │ -00043580: c201 0004 35bc 05b4 8080 e608 0000 0005 ....5........... │ │ │ -00043590: 2000 0001 0001 0004 0408 0307 0286 8080 ............... │ │ │ -000435a0: ec08 0200 0003 0f00 0505 050b 8780 80ec ................ │ │ │ -000435b0: 0801 0520 0000 010b 740b c301 e196 c0f6 ... ....t....... │ │ │ -000435c0: f180 c189 7efb f9d8 99ad c3cc d711 00c3 ....~........... │ │ │ -000435d0: 0100 0436 0b05 b480 80e6 0800 0000 0520 ...6........... │ │ │ -000435e0: 0000 0100 0100 0404 0803 0702 8680 80ec ................ │ │ │ -000435f0: 0802 0000 030f 0005 0505 0b87 8080 ec08 ................ │ │ │ -00043600: 0105 2000 0001 0b72 0bc4 01f1 c0c0 d7a6 .. ....r........ │ │ │ -00043610: 97f7 86e7 01fc cfa7 c894 c0e1 aab8 0100 ................ │ │ │ -00043620: c401 0004 365c 05b4 8080 e608 0000 0005 ....6\.......... │ │ │ -00043630: 2000 0001 0001 0004 0408 0307 0286 8080 ............... │ │ │ -00043640: ec08 0200 0003 0f00 0505 050b 8780 80ec ................ │ │ │ -00043650: 0801 0520 0000 010b 700b c501 daa2 bdb5 ... ....p....... │ │ │ -00043660: b9ed eda6 15d3 c2ff a8a0 ebac 869c 0100 ................ │ │ │ -00043670: 3500 0436 ac05 b480 80e6 0800 0000 0520 5..6........... │ │ │ -00043680: 0000 0100 0100 0404 0803 0702 8680 80ec ................ │ │ │ -00043690: 0802 0000 030f 0005 0505 0b87 8080 ec08 ................ │ │ │ -000436a0: 0105 2000 0001 0ba7 010b c601 e989 8997 .. ............. │ │ │ -000436b0: fde3 caf4 1489 da95 ddd7 e8ff 842d 00c5 .............-.. │ │ │ -000436c0: 0100 0436 fb05 b480 80e6 0800 0000 0520 ...6........... │ │ │ -000436d0: 0000 0100 0100 0404 0803 0702 8680 80ec ................ │ │ │ -000436e0: 0802 0000 030f 0005 0505 0b87 8080 ec08 ................ │ │ │ -000436f0: 0105 2000 0001 0b6e 0bc7 01c2 92bf e099 .. ....n........ │ │ │ -00043700: a8a0 d6ac 01f9 a3f3 fcde ec83 85a0 0100 ................ │ │ │ -00043710: c701 0004 374c 05b4 8080 e608 0000 0005 ....7L.......... │ │ │ -00043720: 2000 0001 0001 0004 0408 0307 0286 8080 ............... │ │ │ -00043730: ec08 0200 0003 0f00 0505 050b 8780 80ec ................ │ │ │ -00043740: 0801 0520 0000 010b 6c0b c801 c9bb fcb3 ... ....l....... │ │ │ -00043750: eda2 f5a9 a301 c6e3 ecea e2f2 a8e4 8301 ................ │ │ │ -00043760: 00c8 0100 0437 9d05 b480 80e6 0800 0000 .....7.......... │ │ │ -00043770: 0520 0000 0100 0100 0404 0803 0702 8680 . .............. │ │ │ -00043780: 80ec 0802 0000 030f 0005 0505 0b87 8080 ................ │ │ │ -00043790: ec08 0105 2000 0001 0b68 0bc9 01af eb80 .... ....h...... │ │ │ -000437a0: 91dc fc95 d58e 01de f4db daab d3e3 f8a1 ................ │ │ │ -000437b0: 0100 c901 0004 37ee 05b4 8080 e608 0000 ......7......... │ │ │ -000437c0: 0005 2000 0001 0001 0004 0408 0307 0286 .. ............. │ │ │ -000437d0: 8080 ec08 0200 0003 0f00 0505 050b 8780 ................ │ │ │ -000437e0: 80ec 0801 0520 0000 010b 660b ca01 c0c2 ..... ....f..... │ │ │ -000437f0: f6c6 b0a1 cedf 11a5 cbc8 ecb6 d99b ec94 ................ │ │ │ -00043800: 0100 ca01 0004 383e 05b4 8080 e608 0000 ......8>........ │ │ │ -00043810: 0005 2000 0001 0001 0004 0408 0307 0286 .. ............. │ │ │ -00043820: 8080 ec08 0200 0003 0f00 0505 050b 8780 ................ │ │ │ -00043830: 80ec 0801 0520 0000 010b 640b cb01 e3f0 ..... ....d..... │ │ │ -00043840: d4b9 ffab afbd 72fb 80fb 9490 879b 9a3f ......r........? │ │ │ -00043850: 00cb 0100 0438 8d05 b480 80e6 0800 0000 .....8.......... │ │ │ -00043860: 0520 0000 0100 0100 0404 0803 0702 8680 . .............. │ │ │ -00043870: 80ec 0802 0000 030f 0005 0505 0b87 8080 ................ │ │ │ -00043880: ec08 0105 2000 0001 0b62 0bcc 01ce 80d6 .... ....b...... │ │ │ -00043890: cba9 d5e2 de15 a8e7 fee6 dbea fbba fb01 ................ │ │ │ -000438a0: 00cc 0100 0438 dd05 b480 80e6 0800 0000 .....8.......... │ │ │ -000438b0: 0520 0000 0100 0100 0404 0803 0702 8680 . .............. │ │ │ -000438c0: 80ec 0802 0000 030f 0005 0505 0b87 8080 ................ │ │ │ -000438d0: ec08 0105 2000 0001 0b5d 0bcd 01c5 e884 .... ....]...... │ │ │ -000438e0: cae3 aa8c c7b9 01e6 f0cc cb93 a099 9c39 ...............9 │ │ │ -000438f0: 00cd 0100 0439 2e05 b480 80e6 0800 0000 .....9.......... │ │ │ -00043900: 0520 0000 0100 0100 0404 0803 0702 8680 . .............. │ │ │ -00043910: 80ec 0802 0000 030f 0005 0505 0b87 8080 ................ │ │ │ -00043920: ec08 0105 2000 0001 0bce 010b cf01 b1a7 .... ........... │ │ │ -00043930: c3ed a591 f0d2 fb01 8fe1 e3a4 90ff 9a8c ................ │ │ │ -00043940: d701 00cf 0100 0439 8005 b480 80e6 0800 .......9........ │ │ │ -00043950: 0000 0520 0000 0100 0100 0404 0803 0702 ... ............ │ │ │ -00043960: 8680 80ec 0802 0000 030f 0005 0505 0b87 ................ │ │ │ -00043970: 8080 ec08 0105 2000 0001 0bd0 010b d101 ...... ......... │ │ │ -00043980: cbf2 e590 e9b1 ebff 8201 d0cb d3dd 9594 ................ │ │ │ -00043990: aff9 8301 00d1 0100 0439 d205 b480 80e6 .........9...... │ │ │ -000439a0: 0800 0000 0520 0000 0100 0100 0404 0803 ..... .......... │ │ │ -000439b0: 0702 8680 80ec 0802 0000 030f 0005 0505 ................ │ │ │ -000439c0: 0b87 8080 ec08 0105 2000 0001 0bd2 010b ........ ....... │ │ │ -000439d0: d301 cfbd 95cc f8fe b690 c801 9bb1 d4ed ................ │ │ │ -000439e0: c0d1 f3f8 7e00 c601 0004 3a23 05b4 8080 ....~.....:#.... │ │ │ -000439f0: e608 0000 0005 2000 0001 0001 0004 0408 ...... ......... │ │ │ -00043a00: 0307 0286 8080 ec08 0200 0003 0f00 0505 ................ │ │ │ -00043a10: 050b 8780 80ec 0801 0520 0000 010b a501 ......... ...... │ │ │ -00043a20: 0bd4 01f4 8cdd dfe2 82dc e240 e0df 82bb ...........@.... │ │ │ -00043a30: 84bf c7d9 5b00 d301 0004 3a73 05b4 8080 ....[.....:s.... │ │ │ -00043a40: e608 0000 0005 2000 0001 0001 0004 0408 ...... ......... │ │ │ -00043a50: 0307 0286 8080 ec08 0200 0003 0f00 0505 ................ │ │ │ -00043a60: 050b 8780 80ec 0801 0520 0000 010b d501 ......... ...... │ │ │ -00043a70: 0bd6 0180 e5ef d6d4 f8ad 36ac a0a1 da93 ..........6..... │ │ │ -00043a80: a7e3 a55b 00d6 0100 043a c205 b480 80e6 ...[.....:...... │ │ │ -00043a90: 0800 0000 0520 0000 0100 0100 0404 0803 ..... .......... │ │ │ -00043aa0: 0702 8680 80ec 0802 0000 030f 0005 0505 ................ │ │ │ -00043ab0: 0b87 8080 ec08 0105 2000 0001 0bd7 010b ........ ....... │ │ │ -00043ac0: d801 d292 a9aa c7ea bee2 5180 96bb 9fd2 ..........Q..... │ │ │ -00043ad0: e088 f35d 00d8 0100 043b 1205 b480 80e6 ...].....;...... │ │ │ -00043ae0: 0800 0000 0520 0000 0100 0100 0404 0803 ..... .......... │ │ │ -00043af0: 0702 8680 80ec 0802 0000 030f 0005 0505 ................ │ │ │ -00043b00: 0b87 8080 ec08 0105 2000 0001 0bd9 010b ........ ....... │ │ │ -00043b10: da01 f2f8 c6e4 a293 a9a8 f301 9dc8 a5f6 ................ │ │ │ -00043b20: e48b f8b4 c001 00da 0100 043b 6405 b480 ...........;d... │ │ │ -00043b30: 80e6 0800 0000 0520 0000 0100 0100 0404 ....... ........ │ │ │ -00043b40: 0803 0702 8680 80ec 0802 0000 030f 0005 ................ │ │ │ -00043b50: 0505 0b87 8080 ec08 0105 2000 0001 0bdb .......... ..... │ │ │ -00043b60: 010b dc01 8d8c 8ae7 d1d1 edc9 bb01 839e ................ │ │ │ -00043b70: de96 9cee d0da 5f00 dc01 0004 3bb5 05b4 ......_.....;... │ │ │ -00043b80: 8080 e608 0000 0005 2000 0001 0001 0004 ........ ....... │ │ │ -00043b90: 0408 0307 0286 8080 ec08 0200 0003 0f00 ................ │ │ │ -00043ba0: 0505 050b 8780 80ec 0801 0520 0000 010b ........... .... │ │ │ -00043bb0: dd01 0bde 01c8 b0fe 92d8 b497 bcb5 01d3 ................ │ │ │ -00043bc0: f8a4 c4b9 8ab3 ebc3 0100 de01 0004 3c07 ..............<. │ │ │ -00043bd0: 05b4 8080 e608 0000 0005 2000 0001 0001 .......... ..... │ │ │ -00043be0: 0004 0408 0307 0286 8080 ec08 0200 0003 ................ │ │ │ -00043bf0: 0f00 0505 050b 8780 80ec 0801 0520 0000 ............. .. │ │ │ -00043c00: 010b df01 0be0 01c9 ec88 8980 d695 b492 ................ │ │ │ -00043c10: 01ee 99f5 f8aa 97b0 fa6a 00e0 0100 043c .........j.....< │ │ │ -00043c20: 5805 b480 80e6 0800 0000 0520 0000 0100 X.......... .... │ │ │ -00043c30: 0100 0404 0803 0702 8680 80ec 0802 0000 ................ │ │ │ -00043c40: 030f 0005 0505 0b87 8080 ec08 0105 2000 .............. . │ │ │ -00043c50: 0001 0be1 010b e201 b38e 8ed1 c7ed f9c1 ................ │ │ │ -00043c60: 66d3 a7a1 baa5 c6dd 913b 00e2 0100 043c f........;.....< │ │ │ -00043c70: a805 b480 80e6 0800 0000 0520 0000 0100 ........... .... │ │ │ -00043c80: 0100 0404 0803 0702 8680 80ec 0802 0000 ................ │ │ │ -00043c90: 030f 0005 0505 0b87 8080 ec08 0105 2000 .............. . │ │ │ -00043ca0: 0001 0be3 010b e401 98f1 ab83 e3b1 b9a3 ................ │ │ │ -00043cb0: f501 d483 9cde c6b6 a1f7 0200 e401 0004 ................ │ │ │ -00043cc0: 3cf9 05b4 8080 e608 0000 0005 2000 0001 <........... ... │ │ │ -00043cd0: 0001 0004 0408 0307 0286 8080 ec08 0200 ................ │ │ │ -00043ce0: 0003 0f00 0505 050b 8780 80ec 0801 0520 ............... │ │ │ -00043cf0: 0000 010b e501 0be6 0197 dbd1 aef4 cbe4 ................ │ │ │ -00043d00: d184 01ba d182 cad3 f9b5 ac7b 00e6 0100 ...........{.... │ │ │ -00043d10: 043d 4a05 b480 80e6 0800 0000 0520 0000 .=J.......... .. │ │ │ -00043d20: 0100 0100 0404 0803 0702 8680 80ec 0802 ................ │ │ │ -00043d30: 0000 030f 0005 0505 0b87 8080 ec08 0105 ................ │ │ │ -00043d40: 2000 0001 0be7 010b e801 e8c1 e4de 9f81 ............... │ │ │ -00043d50: 96da ca01 cac0 c1e0 fdf9 ff97 e801 00d4 ................ │ │ │ -00043d60: 0100 043d 9c05 b480 80e6 0800 0000 0520 ...=........... │ │ │ -00043d70: 0000 0100 0100 0404 0803 0702 8680 80ec ................ │ │ │ -00043d80: 0802 0000 030f 0005 0505 0b87 8080 ec08 ................ │ │ │ -00043d90: 0105 2000 0001 0ba3 010b e901 ef99 96fb .. ............. │ │ │ -00043da0: dd9b eef7 7683 fbba a3ff cdf5 c773 00e8 ....v........s.. │ │ │ -00043db0: 0100 043d ec05 b480 80e6 0800 0000 0520 ...=........... │ │ │ -00043dc0: 0000 0100 0100 0404 0803 0702 8680 80ec ................ │ │ │ -00043dd0: 0802 0000 030f 0005 0505 0b87 8080 ec08 ................ │ │ │ -00043de0: 0105 2000 0001 0bea 010b eb01 e6de fce2 .. ............. │ │ │ -00043df0: 81cd 88b1 22ea 9cf4 8487 9cce eb7c 00eb ...."........|.. │ │ │ -00043e00: 0100 043e 3c05 b480 80e6 0800 0000 0520 ...><.......... │ │ │ -00043e10: 0000 0100 0100 0404 0803 0702 8680 80ec ................ │ │ │ -00043e20: 0802 0000 030f 0005 0505 0b87 8080 ec08 ................ │ │ │ -00043e30: 0105 2000 0001 0bec 010b ed01 f691 d29f .. ............. │ │ │ -00043e40: bd86 8edc b001 adaa a8f5 b0e9 c497 1400 ................ │ │ │ -00043e50: ed01 0004 3e8d 05b4 8080 e608 0000 0005 ....>........... │ │ │ -00043e60: 2000 0001 0001 0004 0408 0307 0286 8080 ............... │ │ │ -00043e70: ec08 0200 0003 0f00 0505 050b 8780 80ec ................ │ │ │ -00043e80: 0801 0520 0000 010b ee01 0bef 01ae 92db ... ............ │ │ │ -00043e90: c697 b8be c28e 01d5 c3a9 c2a6 e79a 9093 ................ │ │ │ -00043ea0: 0100 ef01 0004 3edf 05b4 8080 e608 0000 ......>......... │ │ │ -00043eb0: 0005 2000 0001 0001 0004 0408 0307 0286 .. ............. │ │ │ -00043ec0: 8080 ec08 0200 0003 0f00 0505 050b 8780 ................ │ │ │ -00043ed0: 80ec 0801 0520 0000 010b f001 0bf1 01ec ..... .......... │ │ │ -00043ee0: 9bb2 d4ae d2d1 ae4c e488 f9a4 b182 99d0 .......L........ │ │ │ -00043ef0: 7200 f101 0004 3f2f 05b4 8080 e608 0000 r.....?/........ │ │ │ -00043f00: 0005 2000 0001 0001 0004 0408 0307 0286 .. ............. │ │ │ -00043f10: 8080 ec08 0200 0003 0f00 0505 050b 8780 ................ │ │ │ -00043f20: 80ec 0801 0520 0000 010b f201 0bf3 01d9 ..... .......... │ │ │ -00043f30: 83f2 f6bd e7ef a4e3 01e7 d2d4 9ee8 909a ................ │ │ │ -00043f40: a3f0 0100 f301 0004 3f81 05b4 8080 e608 ........?....... │ │ │ -00043f50: 0000 0005 2000 0001 0001 0004 0408 0307 .... ........... │ │ │ -00043f60: 0286 8080 ec08 0200 0003 0f00 0505 050b ................ │ │ │ -00043f70: 8780 80ec 0801 0520 0000 010b f401 0bf5 ....... ........ │ │ │ -00043f80: 01a8 e3ac a5a3 d384 60c3 b58f c6bf eab4 ........`....... │ │ │ -00043f90: c331 00f5 0100 043f d005 b480 80e6 0800 .1.....?........ │ │ │ -00043fa0: 0000 0520 0000 0100 0100 0404 0803 0702 ... ............ │ │ │ -00043fb0: 8680 80ec 0802 0000 030f 0005 0505 0b87 ................ │ │ │ -00043fc0: 8080 ec08 0105 2000 0001 0bf6 010b f701 ...... ......... │ │ │ -00043fd0: b8f7 e090 b6d3 8ed5 f601 c59f d4ac eef0 ................ │ │ │ -00043fe0: 96c3 0e00 f701 0004 402b 05b4 8080 e608 ........@+...... │ │ │ -00043ff0: 0000 0005 2000 0001 0001 0004 0408 0307 .... ........... │ │ │ -00044000: 0286 8080 ec08 0200 0003 0f00 0505 050b ................ │ │ │ -00044010: 8780 80ec 0801 0520 0000 010b f801 050b ....... ........ │ │ │ -00044020: 9f80 80ec 0801 0520 0000 01dd 82f8 a0b2 ....... ........ │ │ │ -00044030: abcb b65f 99ef eaad eba2 ad88 c801 00f8 ..._............ │ │ │ -00044040: 0100 0440 6905 2000 0001 0004 0408 0307 ...@i. ......... │ │ │ -00044050: 025e 0200 0003 0f00 0505 050b 5f0b f901 .^.........._... │ │ │ -00044060: 0b61 0906 0100 b6c3 00b8 f9fe aca5 bdf8 .a.............. │ │ │ -00044070: e4e2 01f1 a18f aedb e7a6 de1d 00f9 0100 ................ │ │ │ -00044080: 0462 5205 8280 80e6 0800 0001 0003 0407 .bR............. │ │ │ -00044090: 0402 0000 030f 0009 01b6 c300 7b2d 2320 ............{-# │ │ │ -000440a0: 4c41 4e47 5541 4745 2043 5050 2023 2d7d LANGUAGE CPP #-} │ │ │ -000440b0: 0a0a 6d6f 6475 6c65 204d 416c 6f6e 7a6f ..module MAlonzo │ │ │ -000440c0: 2e52 5445 2e46 6c6f 6174 2077 6865 7265 .RTE.Float where │ │ │ -000440d0: 0a0a 696d 706f 7274 2050 7265 6c75 6465 ..import Prelude │ │ │ -000440e0: 0a20 2028 2042 6f6f 6c2c 2044 6f75 626c . ( Bool, Doubl │ │ │ -000440f0: 652c 2049 6e74 2c20 496e 7465 6765 722c e, Int, Integer, │ │ │ -00044100: 204d 6179 6265 282e 2e29 2c20 4f72 6465 Maybe(..), Orde │ │ │ -00044110: 7269 6e67 282e 2e29 0a20 202c 2045 7128 ring(..). , Eq( │ │ │ -00044120: 2e2e 292c 204f 7264 282e 2e29 2c20 4675 ..), Ord(..), Fu │ │ │ -00044130: 6e63 746f 7228 2e2e 290a 2020 2c20 466c nctor(..). , Fl │ │ │ -00044140: 6f61 7469 6e67 282e 2e29 2c20 4672 6163 oating(..), Frac │ │ │ -00044150: 7469 6f6e 616c 282e 2e29 2c20 496e 7465 tional(..), Inte │ │ │ -00044160: 6772 616c 282e 2e29 2c20 4e75 6d28 2e2e gral(..), Num(.. │ │ │ -00044170: 292c 2052 6561 6c28 2e2e 292c 2052 6561 ), Real(..), Rea │ │ │ -00044180: 6c46 6c6f 6174 282e 2e29 2c20 5265 616c lFloat(..), Real │ │ │ -00044190: 4672 6163 282e 2e29 0a20 202c 2028 2429 Frac(..). , ($) │ │ │ -000441a0: 2c20 282e 292c 206f 7468 6572 7769 7365 , (.), otherwise │ │ │ -000441b0: 2c20 756e 6375 7272 792c 2075 6e64 6566 , uncurry, undef │ │ │ -000441c0: 696e 6564 0a20 202c 2028 2626 292c 2066 ined. , (&&), f │ │ │ -000441d0: 7374 2c20 736e 640a 2020 2c20 285e 292c st, snd. , (^), │ │ │ -000441e0: 2065 7665 6e2c 2066 726f 6d49 6e74 6567 even, fromInteg │ │ │ -000441f0: 7261 6c0a 2020 290a 0a69 6d70 6f72 7420 ral. )..import │ │ │ -00044200: 4461 7461 2e42 6966 756e 6374 6f72 2020 Data.Bifunctor │ │ │ -00044210: 2028 2062 696d 6170 2c20 7365 636f 6e64 ( bimap, second │ │ │ -00044220: 2029 0a69 6d70 6f72 7420 4461 7461 2e46 ).import Data.F │ │ │ -00044230: 756e 6374 696f 6e20 2020 2028 206f 6e20 unction ( on │ │ │ -00044240: 290a 696d 706f 7274 2044 6174 612e 4d61 ).import Data.Ma │ │ │ -00044250: 7962 6520 2020 2020 2020 2820 6672 6f6d ybe ( from │ │ │ -00044260: 4d61 7962 6520 290a 696d 706f 7274 2044 Maybe ).import D │ │ │ -00044270: 6174 612e 5261 7469 6f20 2020 2020 2020 ata.Ratio │ │ │ -00044280: 2820 2825 292c 206e 756d 6572 6174 6f72 ( (%), numerator │ │ │ -00044290: 2c20 6465 6e6f 6d69 6e61 746f 7220 290a , denominator ). │ │ │ -000442a0: 696d 706f 7274 2044 6174 612e 576f 7264 import Data.Word │ │ │ -000442b0: 2020 2020 2020 2020 2820 576f 7264 3634 ( Word64 │ │ │ -000442c0: 2029 0a0a 2369 6620 5f5f 474c 4153 474f )..#if __GLASGO │ │ │ -000442d0: 575f 4841 534b 454c 4c5f 5f20 3e3d 2038 W_HASKELL__ >= 8 │ │ │ -000442e0: 3034 0a69 6d70 6f72 7420 4748 432e 466c 04.import GHC.Fl │ │ │ -000442f0: 6f61 7420 2863 6173 7444 6f75 626c 6554 oat (castDoubleT │ │ │ -00044300: 6f57 6f72 6436 342c 2063 6173 7457 6f72 oWord64, castWor │ │ │ -00044310: 6436 3454 6f44 6f75 626c 6529 0a23 656c d64ToDouble).#el │ │ │ -00044320: 7365 0a69 6d70 6f72 7420 5379 7374 656d se.import System │ │ │ -00044330: 2e49 4f2e 556e 7361 6665 2028 756e 7361 .IO.Unsafe (unsa │ │ │ -00044340: 6665 5065 7266 6f72 6d49 4f29 0a69 6d70 fePerformIO).imp │ │ │ -00044350: 6f72 7420 7175 616c 6966 6965 6420 466f ort qualified Fo │ │ │ -00044360: 7265 6967 6e20 2020 2020 2020 2020 2061 reign a │ │ │ -00044370: 7320 460a 696d 706f 7274 2071 7561 6c69 s F.import quali │ │ │ -00044380: 6669 6564 2046 6f72 6569 676e 2e53 746f fied Foreign.Sto │ │ │ -00044390: 7261 626c 6520 6173 2046 0a23 656e 6469 rable as F.#endi │ │ │ -000443a0: 660a 0a23 6966 205f 5f47 4c41 5347 4f57 f..#if __GLASGOW │ │ │ -000443b0: 5f48 4153 4b45 4c4c 5f5f 203c 2038 3034 _HASKELL__ < 804 │ │ │ -000443c0: 0a63 6173 7444 6f75 626c 6554 6f57 6f72 .castDoubleToWor │ │ │ -000443d0: 6436 3420 3a3a 2044 6f75 626c 6520 2d3e d64 :: Double -> │ │ │ -000443e0: 2057 6f72 6436 340a 6361 7374 446f 7562 Word64.castDoub │ │ │ -000443f0: 6c65 546f 576f 7264 3634 2066 6c6f 6174 leToWord64 float │ │ │ -00044400: 203d 2075 6e73 6166 6550 6572 666f 726d = unsafePerform │ │ │ -00044410: 494f 2024 2046 2e61 6c6c 6f63 6120 2420 IO $ F.alloca $ │ │ │ -00044420: 5c62 7566 202d 3e20 646f 0a20 2046 2e70 \buf -> do. F.p │ │ │ -00044430: 6f6b 6520 2846 2e63 6173 7450 7472 2062 oke (F.castPtr b │ │ │ -00044440: 7566 2920 666c 6f61 740a 2020 462e 7065 uf) float. F.pe │ │ │ -00044450: 656b 2062 7566 0a0a 6361 7374 576f 7264 ek buf..castWord │ │ │ -00044460: 3634 546f 446f 7562 6c65 203a 3a20 576f 64ToDouble :: Wo │ │ │ -00044470: 7264 3634 202d 3e20 446f 7562 6c65 0a63 rd64 -> Double.c │ │ │ -00044480: 6173 7457 6f72 6436 3454 6f44 6f75 626c astWord64ToDoubl │ │ │ -00044490: 6520 776f 7264 203d 2075 6e73 6166 6550 e word = unsafeP │ │ │ -000444a0: 6572 666f 726d 494f 2024 2046 2e61 6c6c erformIO $ F.all │ │ │ -000444b0: 6f63 6120 2420 5c62 7566 202d 3e20 646f oca $ \buf -> do │ │ │ -000444c0: 0a20 2046 2e70 6f6b 6520 2846 2e63 6173 . F.poke (F.cas │ │ │ -000444d0: 7450 7472 2062 7566 2920 776f 7264 0a20 tPtr buf) word. │ │ │ -000444e0: 2046 2e70 6565 6b20 6275 660a 2365 6e64 F.peek buf.#end │ │ │ -000444f0: 6966 0a0a 7b2d 2320 494e 4c49 4e45 2064 if..{-# INLINE d │ │ │ -00044500: 6f75 626c 6545 7120 232d 7d0a 646f 7562 oubleEq #-}.doub │ │ │ -00044510: 6c65 4571 203a 3a20 446f 7562 6c65 202d leEq :: Double - │ │ │ -00044520: 3e20 446f 7562 6c65 202d 3e20 426f 6f6c > Double -> Bool │ │ │ -00044530: 0a64 6f75 626c 6545 7120 3d20 283d 3d29 .doubleEq = (==) │ │ │ -00044540: 0a0a 7b2d 2320 494e 4c49 4e45 2064 6f75 ..{-# INLINE dou │ │ │ -00044550: 626c 654c 6520 232d 7d0a 646f 7562 6c65 bleLe #-}.double │ │ │ -00044560: 4c65 203a 3a20 446f 7562 6c65 202d 3e20 Le :: Double -> │ │ │ -00044570: 446f 7562 6c65 202d 3e20 426f 6f6c 0a64 Double -> Bool.d │ │ │ -00044580: 6f75 626c 654c 6520 3d20 283c 3d29 0a0a oubleLe = (<=).. │ │ │ -00044590: 7b2d 2320 494e 4c49 4e45 2064 6f75 626c {-# INLINE doubl │ │ │ -000445a0: 654c 7420 232d 7d0a 646f 7562 6c65 4c74 eLt #-}.doubleLt │ │ │ -000445b0: 203a 3a20 446f 7562 6c65 202d 3e20 446f :: Double -> Do │ │ │ -000445c0: 7562 6c65 202d 3e20 426f 6f6c 0a64 6f75 uble -> Bool.dou │ │ │ -000445d0: 626c 654c 7420 3d20 283c 290a 0a74 7275 bleLt = (<)..tru │ │ │ -000445e0: 6e63 6174 6544 6f75 626c 6520 3a3a 2044 ncateDouble :: D │ │ │ -000445f0: 6f75 626c 6520 2d3e 2044 6f75 626c 650a ouble -> Double. │ │ │ -00044600: 7472 756e 6361 7465 446f 7562 6c65 203d truncateDouble = │ │ │ -00044610: 2063 6173 7457 6f72 6436 3454 6f44 6f75 castWord64ToDou │ │ │ -00044620: 626c 6520 2e20 6361 7374 446f 7562 6c65 ble . castDouble │ │ │ -00044630: 546f 576f 7264 3634 0a0a 7b2d 2320 494e ToWord64..{-# IN │ │ │ -00044640: 4c49 4e45 2069 6e74 546f 446f 7562 6c65 LINE intToDouble │ │ │ -00044650: 2023 2d7d 0a69 6e74 546f 446f 7562 6c65 #-}.intToDouble │ │ │ -00044660: 203a 3a20 496e 7465 6772 616c 2061 203d :: Integral a = │ │ │ -00044670: 3e20 6120 2d3e 2044 6f75 626c 650a 696e > a -> Double.in │ │ │ -00044680: 7454 6f44 6f75 626c 6520 3d20 7472 756e tToDouble = trun │ │ │ -00044690: 6361 7465 446f 7562 6c65 202e 2066 726f cateDouble . fro │ │ │ -000446a0: 6d49 6e74 6567 7261 6c0a 0a7b 2d23 2049 mIntegral..{-# I │ │ │ -000446b0: 4e4c 494e 4520 646f 7562 6c65 506c 7573 NLINE doublePlus │ │ │ -000446c0: 2023 2d7d 0a64 6f75 626c 6550 6c75 7320 #-}.doublePlus │ │ │ -000446d0: 3a3a 2044 6f75 626c 6520 2d3e 2044 6f75 :: Double -> Dou │ │ │ -000446e0: 626c 6520 2d3e 2044 6f75 626c 650a 646f ble -> Double.do │ │ │ -000446f0: 7562 6c65 506c 7573 2078 2079 203d 2074 ublePlus x y = t │ │ │ -00044700: 7275 6e63 6174 6544 6f75 626c 6520 2878 runcateDouble (x │ │ │ -00044710: 202b 2079 290a 0a7b 2d23 2049 4e4c 494e + y)..{-# INLIN │ │ │ -00044720: 4520 646f 7562 6c65 4d69 6e75 7320 232d E doubleMinus #- │ │ │ -00044730: 7d0a 646f 7562 6c65 4d69 6e75 7320 3a3a }.doubleMinus :: │ │ │ -00044740: 2044 6f75 626c 6520 2d3e 2044 6f75 626c Double -> Doubl │ │ │ -00044750: 6520 2d3e 2044 6f75 626c 650a 646f 7562 e -> Double.doub │ │ │ -00044760: 6c65 4d69 6e75 7320 7820 7920 3d20 7472 leMinus x y = tr │ │ │ -00044770: 756e 6361 7465 446f 7562 6c65 2028 7820 uncateDouble (x │ │ │ -00044780: 2d20 7929 0a0a 7b2d 2320 494e 4c49 4e45 - y)..{-# INLINE │ │ │ -00044790: 2064 6f75 626c 6554 696d 6573 2023 2d7d doubleTimes #-} │ │ │ -000447a0: 0a64 6f75 626c 6554 696d 6573 203a 3a20 .doubleTimes :: │ │ │ -000447b0: 446f 7562 6c65 202d 3e20 446f 7562 6c65 Double -> Double │ │ │ -000447c0: 202d 3e20 446f 7562 6c65 0a64 6f75 626c -> Double.doubl │ │ │ -000447d0: 6554 696d 6573 2078 2079 203d 2074 7275 eTimes x y = tru │ │ │ -000447e0: 6e63 6174 6544 6f75 626c 6520 2878 202a ncateDouble (x * │ │ │ -000447f0: 2079 290a 0a7b 2d23 2049 4e4c 494e 4520 y)..{-# INLINE │ │ │ -00044800: 646f 7562 6c65 4e65 6761 7465 2023 2d7d doubleNegate #-} │ │ │ -00044810: 0a64 6f75 626c 654e 6567 6174 6520 3a3a .doubleNegate :: │ │ │ -00044820: 2044 6f75 626c 6520 2d3e 2044 6f75 626c Double -> Doubl │ │ │ -00044830: 650a 646f 7562 6c65 4e65 6761 7465 203d e.doubleNegate = │ │ │ -00044840: 206e 6567 6174 6520 2d2d 204e 4f54 453a negate -- NOTE: │ │ │ -00044850: 2064 6f65 736e 2774 2063 6175 7365 2075 doesn't cause u │ │ │ -00044860: 6e64 6572 666c 6f77 2f6f 7665 7266 6c6f nderflow/overflo │ │ │ -00044870: 770a 0a7b 2d23 2049 4e4c 494e 4520 646f w..{-# INLINE do │ │ │ -00044880: 7562 6c65 4469 7620 232d 7d0a 646f 7562 ubleDiv #-}.doub │ │ │ -00044890: 6c65 4469 7620 3a3a 2044 6f75 626c 6520 leDiv :: Double │ │ │ -000448a0: 2d3e 2044 6f75 626c 6520 2d3e 2044 6f75 -> Double -> Dou │ │ │ -000448b0: 626c 650a 646f 7562 6c65 4469 7620 3d20 ble.doubleDiv = │ │ │ -000448c0: 282f 2920 2d2d 204e 4f54 453a 2064 6f65 (/) -- NOTE: doe │ │ │ -000448d0: 736e 2774 2063 6175 7365 2075 6e64 6572 sn't cause under │ │ │ -000448e0: 666c 6f77 2f6f 7665 7266 6c6f 770a 0a7b flow/overflow..{ │ │ │ -000448f0: 2d23 2049 4e4c 494e 4520 646f 7562 6c65 -# INLINE double │ │ │ -00044900: 506f 7720 232d 7d0a 646f 7562 6c65 506f Pow #-}.doublePo │ │ │ -00044910: 7720 3a3a 2044 6f75 626c 6520 2d3e 2044 w :: Double -> D │ │ │ -00044920: 6f75 626c 6520 2d3e 2044 6f75 626c 650a ouble -> Double. │ │ │ -00044930: 646f 7562 6c65 506f 7720 7820 7920 3d20 doublePow x y = │ │ │ -00044940: 7472 756e 6361 7465 446f 7562 6c65 2028 truncateDouble ( │ │ │ -00044950: 7820 2a2a 2079 290a 0a7b 2d23 2049 4e4c x ** y)..{-# INL │ │ │ -00044960: 494e 4520 646f 7562 6c65 5371 7274 2023 INE doubleSqrt # │ │ │ -00044970: 2d7d 0a64 6f75 626c 6553 7172 7420 3a3a -}.doubleSqrt :: │ │ │ -00044980: 2044 6f75 626c 6520 2d3e 2044 6f75 626c Double -> Doubl │ │ │ -00044990: 650a 646f 7562 6c65 5371 7274 203d 2073 e.doubleSqrt = s │ │ │ -000449a0: 7172 7420 2d2d 204e 4f54 453a 2064 6f65 qrt -- NOTE: doe │ │ │ -000449b0: 736e 2774 2063 6175 7365 2075 6e64 6572 sn't cause under │ │ │ -000449c0: 666c 6f77 2f6f 7665 7266 6c6f 770a 0a7b flow/overflow..{ │ │ │ -000449d0: 2d23 2049 4e4c 494e 4520 646f 7562 6c65 -# INLINE double │ │ │ -000449e0: 4578 7020 232d 7d0a 646f 7562 6c65 4578 Exp #-}.doubleEx │ │ │ -000449f0: 7020 3a3a 2044 6f75 626c 6520 2d3e 2044 p :: Double -> D │ │ │ -00044a00: 6f75 626c 650a 646f 7562 6c65 4578 7020 ouble.doubleExp │ │ │ -00044a10: 7820 3d20 7472 756e 6361 7465 446f 7562 x = truncateDoub │ │ │ -00044a20: 6c65 2028 6578 7020 7829 0a0a 7b2d 2320 le (exp x)..{-# │ │ │ -00044a30: 494e 4c49 4e45 2064 6f75 626c 654c 6f67 INLINE doubleLog │ │ │ -00044a40: 2023 2d7d 0a64 6f75 626c 654c 6f67 203a #-}.doubleLog : │ │ │ -00044a50: 3a20 446f 7562 6c65 202d 3e20 446f 7562 : Double -> Doub │ │ │ -00044a60: 6c65 0a64 6f75 626c 654c 6f67 203d 206c le.doubleLog = l │ │ │ -00044a70: 6f67 202d 2d20 4e4f 5445 3a20 646f 6573 og -- NOTE: does │ │ │ -00044a80: 6e27 7420 6361 7573 6520 756e 6465 7266 n't cause underf │ │ │ -00044a90: 6c6f 772f 6f76 6572 666c 6f77 0a0a 7b2d low/overflow..{- │ │ │ -00044aa0: 2320 494e 4c49 4e45 2064 6f75 626c 6553 # INLINE doubleS │ │ │ -00044ab0: 696e 2023 2d7d 0a64 6f75 626c 6553 696e in #-}.doubleSin │ │ │ -00044ac0: 203a 3a20 446f 7562 6c65 202d 3e20 446f :: Double -> Do │ │ │ -00044ad0: 7562 6c65 0a64 6f75 626c 6553 696e 203d uble.doubleSin = │ │ │ -00044ae0: 2073 696e 202d 2d20 4e4f 5445 3a20 646f sin -- NOTE: do │ │ │ -00044af0: 6573 6e27 7420 6361 7573 6520 756e 6465 esn't cause unde │ │ │ -00044b00: 7266 6c6f 772f 6f76 6572 666c 6f77 0a0a rflow/overflow.. │ │ │ -00044b10: 7b2d 2320 494e 4c49 4e45 2064 6f75 626c {-# INLINE doubl │ │ │ -00044b20: 6543 6f73 2023 2d7d 0a64 6f75 626c 6543 eCos #-}.doubleC │ │ │ -00044b30: 6f73 203a 3a20 446f 7562 6c65 202d 3e20 os :: Double -> │ │ │ -00044b40: 446f 7562 6c65 0a64 6f75 626c 6543 6f73 Double.doubleCos │ │ │ -00044b50: 203d 2063 6f73 202d 2d20 4e4f 5445 3a20 = cos -- NOTE: │ │ │ -00044b60: 646f 6573 6e27 7420 6361 7573 6520 756e doesn't cause un │ │ │ -00044b70: 6465 7266 6c6f 772f 6f76 6572 666c 6f77 derflow/overflow │ │ │ -00044b80: 0a0a 7b2d 2320 494e 4c49 4e45 2064 6f75 ..{-# INLINE dou │ │ │ -00044b90: 626c 6554 616e 2023 2d7d 0a64 6f75 626c bleTan #-}.doubl │ │ │ -00044ba0: 6554 616e 203a 3a20 446f 7562 6c65 202d eTan :: Double - │ │ │ -00044bb0: 3e20 446f 7562 6c65 0a64 6f75 626c 6554 > Double.doubleT │ │ │ -00044bc0: 616e 203d 2074 616e 202d 2d20 4e4f 5445 an = tan -- NOTE │ │ │ -00044bd0: 3a20 646f 6573 6e27 7420 6361 7573 6520 : doesn't cause │ │ │ -00044be0: 756e 6465 7266 6c6f 772f 6f76 6572 666c underflow/overfl │ │ │ -00044bf0: 6f77 0a0a 7b2d 2320 494e 4c49 4e45 2064 ow..{-# INLINE d │ │ │ -00044c00: 6f75 626c 6541 5369 6e20 232d 7d0a 646f oubleASin #-}.do │ │ │ -00044c10: 7562 6c65 4153 696e 203a 3a20 446f 7562 ubleASin :: Doub │ │ │ -00044c20: 6c65 202d 3e20 446f 7562 6c65 0a64 6f75 le -> Double.dou │ │ │ -00044c30: 626c 6541 5369 6e20 3d20 6173 696e 202d bleASin = asin - │ │ │ -00044c40: 2d20 4e4f 5445 3a20 646f 6573 6e27 7420 - NOTE: doesn't │ │ │ -00044c50: 6361 7573 6520 756e 6465 7266 6c6f 772f cause underflow/ │ │ │ -00044c60: 6f76 6572 666c 6f77 0a0a 7b2d 2320 494e overflow..{-# IN │ │ │ -00044c70: 4c49 4e45 2064 6f75 626c 6541 436f 7320 LINE doubleACos │ │ │ -00044c80: 232d 7d0a 646f 7562 6c65 4143 6f73 203a #-}.doubleACos : │ │ │ -00044c90: 3a20 446f 7562 6c65 202d 3e20 446f 7562 : Double -> Doub │ │ │ -00044ca0: 6c65 0a64 6f75 626c 6541 436f 7320 3d20 le.doubleACos = │ │ │ -00044cb0: 6163 6f73 202d 2d20 4e4f 5445 3a20 646f acos -- NOTE: do │ │ │ -00044cc0: 6573 6e27 7420 6361 7573 6520 756e 6465 esn't cause unde │ │ │ -00044cd0: 7266 6c6f 772f 6f76 6572 666c 6f77 0a0a rflow/overflow.. │ │ │ -00044ce0: 7b2d 2320 494e 4c49 4e45 2064 6f75 626c {-# INLINE doubl │ │ │ -00044cf0: 6541 5461 6e20 232d 7d0a 646f 7562 6c65 eATan #-}.double │ │ │ -00044d00: 4154 616e 203a 3a20 446f 7562 6c65 202d ATan :: Double - │ │ │ -00044d10: 3e20 446f 7562 6c65 0a64 6f75 626c 6541 > Double.doubleA │ │ │ -00044d20: 5461 6e20 3d20 6174 616e 202d 2d20 4e4f Tan = atan -- NO │ │ │ -00044d30: 5445 3a20 646f 6573 6e27 7420 6361 7573 TE: doesn't caus │ │ │ -00044d40: 6520 756e 6465 7266 6c6f 772f 6f76 6572 e underflow/over │ │ │ -00044d50: 666c 6f77 0a0a 7b2d 2320 494e 4c49 4e45 flow..{-# INLINE │ │ │ -00044d60: 2064 6f75 626c 6541 5461 6e32 2023 2d7d doubleATan2 #-} │ │ │ -00044d70: 0a64 6f75 626c 6541 5461 6e32 203a 3a20 .doubleATan2 :: │ │ │ -00044d80: 446f 7562 6c65 202d 3e20 446f 7562 6c65 Double -> Double │ │ │ -00044d90: 202d 3e20 446f 7562 6c65 0a64 6f75 626c -> Double.doubl │ │ │ -00044da0: 6541 5461 6e32 203d 2061 7461 6e32 202d eATan2 = atan2 - │ │ │ -00044db0: 2d20 4e4f 5445 3a20 646f 6573 6e27 7420 - NOTE: doesn't │ │ │ -00044dc0: 6361 7573 6520 756e 6465 7266 6c6f 772f cause underflow/ │ │ │ -00044dd0: 6f76 6572 666c 6f77 0a0a 7b2d 2320 494e overflow..{-# IN │ │ │ -00044de0: 4c49 4e45 2064 6f75 626c 6553 696e 6820 LINE doubleSinh │ │ │ -00044df0: 232d 7d0a 646f 7562 6c65 5369 6e68 203a #-}.doubleSinh : │ │ │ -00044e00: 3a20 446f 7562 6c65 202d 3e20 446f 7562 : Double -> Doub │ │ │ -00044e10: 6c65 0a64 6f75 626c 6553 696e 6820 3d20 le.doubleSinh = │ │ │ -00044e20: 7369 6e68 202d 2d20 4e4f 5445 3a20 646f sinh -- NOTE: do │ │ │ -00044e30: 6573 6e27 7420 6361 7573 6520 756e 6465 esn't cause unde │ │ │ -00044e40: 7266 6c6f 772f 6f76 6572 666c 6f77 0a0a rflow/overflow.. │ │ │ -00044e50: 7b2d 2320 494e 4c49 4e45 2064 6f75 626c {-# INLINE doubl │ │ │ -00044e60: 6543 6f73 6820 232d 7d0a 646f 7562 6c65 eCosh #-}.double │ │ │ -00044e70: 436f 7368 203a 3a20 446f 7562 6c65 202d Cosh :: Double - │ │ │ -00044e80: 3e20 446f 7562 6c65 0a64 6f75 626c 6543 > Double.doubleC │ │ │ -00044e90: 6f73 6820 3d20 636f 7368 202d 2d20 4e4f osh = cosh -- NO │ │ │ -00044ea0: 5445 3a20 646f 6573 6e27 7420 6361 7573 TE: doesn't caus │ │ │ -00044eb0: 6520 756e 6465 7266 6c6f 772f 6f76 6572 e underflow/over │ │ │ -00044ec0: 666c 6f77 0a0a 7b2d 2320 494e 4c49 4e45 flow..{-# INLINE │ │ │ -00044ed0: 2064 6f75 626c 6554 616e 6820 232d 7d0a doubleTanh #-}. │ │ │ -00044ee0: 646f 7562 6c65 5461 6e68 203a 3a20 446f doubleTanh :: Do │ │ │ -00044ef0: 7562 6c65 202d 3e20 446f 7562 6c65 0a64 uble -> Double.d │ │ │ -00044f00: 6f75 626c 6554 616e 6820 3d20 7461 6e68 oubleTanh = tanh │ │ │ -00044f10: 202d 2d20 4e4f 5445 3a20 646f 6573 6e27 -- NOTE: doesn' │ │ │ -00044f20: 7420 6361 7573 6520 756e 6465 7266 6c6f t cause underflo │ │ │ -00044f30: 772f 6f76 6572 666c 6f77 0a0a 7b2d 2320 w/overflow..{-# │ │ │ -00044f40: 494e 4c49 4e45 2064 6f75 626c 6541 5369 INLINE doubleASi │ │ │ -00044f50: 6e68 2023 2d7d 0a64 6f75 626c 6541 5369 nh #-}.doubleASi │ │ │ -00044f60: 6e68 203a 3a20 446f 7562 6c65 202d 3e20 nh :: Double -> │ │ │ -00044f70: 446f 7562 6c65 0a64 6f75 626c 6541 5369 Double.doubleASi │ │ │ -00044f80: 6e68 203d 2061 7369 6e68 202d 2d20 4e4f nh = asinh -- NO │ │ │ -00044f90: 5445 3a20 646f 6573 6e27 7420 6361 7573 TE: doesn't caus │ │ │ -00044fa0: 6520 756e 6465 7266 6c6f 772f 6f76 6572 e underflow/over │ │ │ -00044fb0: 666c 6f77 0a0a 7b2d 2320 494e 4c49 4e45 flow..{-# INLINE │ │ │ -00044fc0: 2064 6f75 626c 6541 436f 7368 2023 2d7d doubleACosh #-} │ │ │ -00044fd0: 0a64 6f75 626c 6541 436f 7368 203a 3a20 .doubleACosh :: │ │ │ -00044fe0: 446f 7562 6c65 202d 3e20 446f 7562 6c65 Double -> Double │ │ │ -00044ff0: 0a64 6f75 626c 6541 436f 7368 203d 2061 .doubleACosh = a │ │ │ -00045000: 636f 7368 202d 2d20 4e4f 5445 3a20 646f cosh -- NOTE: do │ │ │ -00045010: 6573 6e27 7420 6361 7573 6520 756e 6465 esn't cause unde │ │ │ -00045020: 7266 6c6f 772f 6f76 6572 666c 6f77 0a0a rflow/overflow.. │ │ │ -00045030: 7b2d 2320 494e 4c49 4e45 2064 6f75 626c {-# INLINE doubl │ │ │ -00045040: 6541 5461 6e68 2023 2d7d 0a64 6f75 626c eATanh #-}.doubl │ │ │ -00045050: 6541 5461 6e68 203a 3a20 446f 7562 6c65 eATanh :: Double │ │ │ -00045060: 202d 3e20 446f 7562 6c65 0a64 6f75 626c -> Double.doubl │ │ │ -00045070: 6541 5461 6e68 203d 2061 7461 6e68 202d eATanh = atanh - │ │ │ -00045080: 2d20 4e4f 5445 3a20 646f 6573 6e27 7420 - NOTE: doesn't │ │ │ -00045090: 6361 7573 6520 756e 6465 7266 6c6f 772f cause underflow/ │ │ │ -000450a0: 6f76 6572 666c 6f77 0a0a 7b2d 2320 494e overflow..{-# IN │ │ │ -000450b0: 4c49 4e45 206e 6567 6174 6976 655a 6572 LINE negativeZer │ │ │ -000450c0: 6f20 232d 7d0a 6e65 6761 7469 7665 5a65 o #-}.negativeZe │ │ │ -000450d0: 726f 203a 3a20 446f 7562 6c65 0a6e 6567 ro :: Double.neg │ │ │ -000450e0: 6174 6976 655a 6572 6f20 3d20 2d30 2e30 ativeZero = -0.0 │ │ │ -000450f0: 0a0a 706f 7369 7469 7665 496e 6669 6e69 ..positiveInfini │ │ │ -00045100: 7479 203a 3a20 446f 7562 6c65 0a70 6f73 ty :: Double.pos │ │ │ -00045110: 6974 6976 6549 6e66 696e 6974 7920 3d20 itiveInfinity = │ │ │ -00045120: 312e 3020 2f20 302e 300a 0a6e 6567 6174 1.0 / 0.0..negat │ │ │ -00045130: 6976 6549 6e66 696e 6974 7920 3a3a 2044 iveInfinity :: D │ │ │ -00045140: 6f75 626c 650a 6e65 6761 7469 7665 496e ouble.negativeIn │ │ │ -00045150: 6669 6e69 7479 203d 202d 706f 7369 7469 finity = -positi │ │ │ -00045160: 7665 496e 6669 6e69 7479 0a0a 6e61 6e20 veInfinity..nan │ │ │ -00045170: 3a3a 2044 6f75 626c 650a 6e61 6e20 3d20 :: Double.nan = │ │ │ -00045180: 302e 3020 2f20 302e 300a 0a69 7350 6f73 0.0 / 0.0..isPos │ │ │ -00045190: 496e 6620 3a3a 2044 6f75 626c 6520 2d3e Inf :: Double -> │ │ │ -000451a0: 2042 6f6f 6c0a 6973 506f 7349 6e66 2078 Bool.isPosInf x │ │ │ -000451b0: 203d 2078 203e 2030 2e30 2026 2620 6973 = x > 0.0 && is │ │ │ -000451c0: 496e 6669 6e69 7465 2078 0a0a 6973 4e65 Infinite x..isNe │ │ │ -000451d0: 6749 6e66 203a 3a20 446f 7562 6c65 202d gInf :: Double - │ │ │ -000451e0: 3e20 426f 6f6c 0a69 734e 6567 496e 6620 > Bool.isNegInf │ │ │ -000451f0: 7820 3d20 7820 3c20 302e 3020 2626 2069 x = x < 0.0 && i │ │ │ -00045200: 7349 6e66 696e 6974 6520 780a 0a69 7350 sInfinite x..isP │ │ │ -00045210: 6f73 5a65 726f 203a 3a20 446f 7562 6c65 osZero :: Double │ │ │ -00045220: 202d 3e20 426f 6f6c 0a69 7350 6f73 5a65 -> Bool.isPosZe │ │ │ -00045230: 726f 2078 203d 2064 6f75 626c 6544 656e ro x = doubleDen │ │ │ -00045240: 6f74 4571 2078 2030 2e30 0a0a 6973 4e65 otEq x 0.0..isNe │ │ │ -00045250: 675a 6572 6f20 3a3a 2044 6f75 626c 6520 gZero :: Double │ │ │ -00045260: 2d3e 2042 6f6f 6c0a 6973 4e65 675a 6572 -> Bool.isNegZer │ │ │ -00045270: 6f20 7820 3d20 646f 7562 6c65 4465 6e6f o x = doubleDeno │ │ │ -00045280: 7445 7120 7820 282d 302e 3029 0a0a 646f tEq x (-0.0)..do │ │ │ -00045290: 7562 6c65 526f 756e 6420 3a3a 2044 6f75 ubleRound :: Dou │ │ │ -000452a0: 626c 6520 2d3e 204d 6179 6265 2049 6e74 ble -> Maybe Int │ │ │ -000452b0: 6567 6572 0a64 6f75 626c 6552 6f75 6e64 eger.doubleRound │ │ │ -000452c0: 203d 2066 6d61 7020 726f 756e 6420 2e20 = fmap round . │ │ │ -000452d0: 6173 4669 6e69 7465 0a0a 646f 7562 6c65 asFinite..double │ │ │ -000452e0: 466c 6f6f 7220 3a3a 2044 6f75 626c 6520 Floor :: Double │ │ │ -000452f0: 2d3e 204d 6179 6265 2049 6e74 6567 6572 -> Maybe Integer │ │ │ -00045300: 0a64 6f75 626c 6546 6c6f 6f72 203d 2066 .doubleFloor = f │ │ │ -00045310: 6d61 7020 666c 6f6f 7220 2e20 6173 4669 map floor . asFi │ │ │ -00045320: 6e69 7465 0a0a 646f 7562 6c65 4365 696c nite..doubleCeil │ │ │ -00045330: 696e 6720 3a3a 2044 6f75 626c 6520 2d3e ing :: Double -> │ │ │ -00045340: 204d 6179 6265 2049 6e74 6567 6572 0a64 Maybe Integer.d │ │ │ -00045350: 6f75 626c 6543 6569 6c69 6e67 203d 2066 oubleCeiling = f │ │ │ -00045360: 6d61 7020 6365 696c 696e 6720 2e20 6173 map ceiling . as │ │ │ -00045370: 4669 6e69 7465 0a0a 6e6f 726d 616c 6973 Finite..normalis │ │ │ -00045380: 654e 614e 203a 3a20 446f 7562 6c65 202d eNaN :: Double - │ │ │ -00045390: 3e20 446f 7562 6c65 0a6e 6f72 6d61 6c69 > Double.normali │ │ │ -000453a0: 7365 4e61 4e20 780a 2020 7c20 6973 4e61 seNaN x. | isNa │ │ │ -000453b0: 4e20 7820 2020 3d20 6e61 6e0a 2020 7c20 N x = nan. | │ │ │ -000453c0: 6f74 6865 7277 6973 6520 3d20 780a 0a64 otherwise = x..d │ │ │ -000453d0: 6f75 626c 6554 6f57 6f72 6436 3420 3a3a oubleToWord64 :: │ │ │ -000453e0: 2044 6f75 626c 6520 2d3e 204d 6179 6265 Double -> Maybe │ │ │ -000453f0: 2057 6f72 6436 340a 646f 7562 6c65 546f Word64.doubleTo │ │ │ -00045400: 576f 7264 3634 2078 0a20 207c 2069 734e Word64 x. | isN │ │ │ -00045410: 614e 2078 2020 203d 204e 6f74 6869 6e67 aN x = Nothing │ │ │ -00045420: 0a20 207c 206f 7468 6572 7769 7365 203d . | otherwise = │ │ │ -00045430: 204a 7573 7420 2863 6173 7444 6f75 626c Just (castDoubl │ │ │ -00045440: 6554 6f57 6f72 6436 3420 7829 0a0a 2d2d eToWord64 x)..-- │ │ │ -00045450: 207c 4465 6e6f 7461 7469 6f6e 616c 2065 |Denotational e │ │ │ -00045460: 7175 616c 6974 7920 666f 7220 666c 6f61 quality for floa │ │ │ -00045470: 7469 6e67 2070 6f69 6e74 206e 756d 6265 ting point numbe │ │ │ -00045480: 7273 2c20 6368 6563 6b73 2062 6974 7769 rs, checks bitwi │ │ │ -00045490: 7365 2065 7175 616c 6974 792e 0a2d 2d0a se equality..--. │ │ │ -000454a0: 2d2d 2020 4e4f 5445 3a20 4465 6e6f 7461 -- NOTE: Denota │ │ │ -000454b0: 7469 6f6e 616c 2065 7175 616c 6974 7920 tional equality │ │ │ -000454c0: 6469 7374 696e 6775 6973 6865 7320 4e61 distinguishes Na │ │ │ -000454d0: 4e73 2c20 736f 2069 7473 2072 6573 756c Ns, so its resul │ │ │ -000454e0: 7473 206d 6179 2076 6172 790a 2d2d 2020 ts may vary.-- │ │ │ -000454f0: 2020 2020 2020 6465 7065 6e64 696e 6720 depending │ │ │ -00045500: 6f6e 2074 6865 2061 7263 6869 7465 6374 on the architect │ │ │ -00045510: 7572 6520 616e 6420 636f 6d70 696c 6174 ure and compilat │ │ │ -00045520: 696f 6e20 666c 6167 732e 2055 6e66 6f72 ion flags. Unfor │ │ │ -00045530: 7475 6e61 7465 6c79 2c0a 2d2d 2020 2020 tunately,.-- │ │ │ -00045540: 2020 2020 7468 6973 2069 7320 6120 7072 this is a pr │ │ │ -00045550: 6f62 6c65 6d20 7769 7468 2066 6c6f 6174 oblem with float │ │ │ -00045560: 696e 672d 706f 696e 7420 6e75 6d62 6572 ing-point number │ │ │ -00045570: 7320 696e 2067 656e 6572 616c 2e0a 2d2d s in general..-- │ │ │ -00045580: 0a64 6f75 626c 6544 656e 6f74 4571 203a .doubleDenotEq : │ │ │ -00045590: 3a20 446f 7562 6c65 202d 3e20 446f 7562 : Double -> Doub │ │ │ -000455a0: 6c65 202d 3e20 426f 6f6c 0a64 6f75 626c le -> Bool.doubl │ │ │ -000455b0: 6544 656e 6f74 4571 203d 2028 3d3d 2920 eDenotEq = (==) │ │ │ -000455c0: 606f 6e60 2064 6f75 626c 6554 6f57 6f72 `on` doubleToWor │ │ │ -000455d0: 6436 340a 0a2d 2d20 7c49 2067 7565 7373 d64..-- |I guess │ │ │ -000455e0: 2022 6465 6e6f 7461 7469 6f6e 616c 206f "denotational o │ │ │ -000455f0: 7264 6572 696e 6773 2220 6172 6520 6e6f rderings" are no │ │ │ -00045600: 7720 6120 7468 696e 673f 2054 6865 2070 w a thing? The p │ │ │ -00045610: 6f69 6e74 2069 7320 7468 6174 2077 6520 oint is that we │ │ │ -00045620: 6e65 6564 0a2d 2d20 2061 6e20 4f72 6420 need.-- an Ord │ │ │ -00045630: 696e 7374 616e 6365 2077 6869 6368 2070 instance which p │ │ │ -00045640: 726f 7669 6465 7320 6120 746f 7461 6c20 rovides a total │ │ │ -00045650: 6f72 6465 7269 6e67 2c20 616e 6420 6973 ordering, and is │ │ │ -00045660: 2063 6f6e 7369 7374 656e 7420 7769 7468 consistent with │ │ │ -00045670: 2074 6865 0a2d 2d20 2064 656e 6f74 6174 the.-- denotat │ │ │ -00045680: 696f 6e61 6c20 6571 7561 6c69 7479 2e0a ional equality.. │ │ │ -00045690: 2d2d 0a2d 2d20 204e 4f54 453a 2054 6865 --.-- NOTE: The │ │ │ -000456a0: 206f 7264 6572 696e 6720 696e 6475 6365 ordering induce │ │ │ -000456b0: 6420 7669 6120 6064 6f75 626c 6554 6f57 d via `doubleToW │ │ │ -000456c0: 6f72 6436 3460 2069 7320 746f 7461 6c2c ord64` is total, │ │ │ -000456d0: 2061 6e64 2069 7320 636f 6e73 6973 7465 and is consiste │ │ │ -000456e0: 6e74 0a2d 2d20 2020 2020 2020 2077 6974 nt.-- wit │ │ │ -000456f0: 6820 6064 6f75 626c 6544 656e 6f74 4571 h `doubleDenotEq │ │ │ -00045700: 602e 2048 6f77 6576 6572 2c20 6974 2069 `. However, it i │ │ │ -00045710: 7320 2a64 6565 706c 792a 2075 6e69 6e74 s *deeply* unint │ │ │ -00045720: 7569 7469 7665 2e20 466f 7220 6f6e 652c uitive. For one, │ │ │ -00045730: 2069 740a 2d2d 2020 2020 2020 2020 636f it.-- co │ │ │ -00045740: 6e73 6964 6572 7320 616c 6c20 6e65 6761 nsiders all nega │ │ │ -00045750: 7469 7665 206e 756d 6265 7273 2074 6f20 tive numbers to │ │ │ -00045760: 6265 206c 6172 6765 7220 7468 616e 2070 be larger than p │ │ │ -00045770: 6f73 6974 6976 6520 6e75 6d62 6572 732e ositive numbers. │ │ │ -00045780: 0a2d 2d0a 646f 7562 6c65 4465 6e6f 744f .--.doubleDenotO │ │ │ -00045790: 7264 203a 3a20 446f 7562 6c65 202d 3e20 rd :: Double -> │ │ │ -000457a0: 446f 7562 6c65 202d 3e20 4f72 6465 7269 Double -> Orderi │ │ │ -000457b0: 6e67 0a64 6f75 626c 6544 656e 6f74 4f72 ng.doubleDenotOr │ │ │ -000457c0: 6420 3d20 636f 6d70 6172 6520 606f 6e60 d = compare `on` │ │ │ -000457d0: 2064 6f75 626c 6554 6f57 6f72 6436 340a doubleToWord64. │ │ │ -000457e0: 0a2d 2d20 7c52 6574 7572 6e20 4a75 7374 .-- |Return Just │ │ │ -000457f0: 2078 2069 6620 6974 2773 2061 2066 696e x if it's a fin │ │ │ -00045800: 6974 6520 6e75 6d62 6572 2c20 6f74 6865 ite number, othe │ │ │ -00045810: 7277 6973 6520 7265 7475 726e 204e 6f74 rwise return Not │ │ │ -00045820: 6869 6e67 2e0a 6173 4669 6e69 7465 203a hing..asFinite : │ │ │ -00045830: 3a20 446f 7562 6c65 202d 3e20 4d61 7962 : Double -> Mayb │ │ │ -00045840: 6520 446f 7562 6c65 0a61 7346 696e 6974 e Double.asFinit │ │ │ -00045850: 6520 780a 2020 7c20 6973 4e61 4e20 2020 e x. | isNaN │ │ │ -00045860: 2020 2078 203d 204e 6f74 6869 6e67 0a20 x = Nothing. │ │ │ -00045870: 207c 2069 7349 6e66 696e 6974 6520 7820 | isInfinite x │ │ │ -00045880: 3d20 4e6f 7468 696e 670a 2020 7c20 6f74 = Nothing. | ot │ │ │ -00045890: 6865 7277 6973 6520 2020 203d 204a 7573 herwise = Jus │ │ │ -000458a0: 7420 780a 0a2d 2d20 7c44 6563 6f64 6520 t x..-- |Decode │ │ │ -000458b0: 6120 446f 7562 6c65 2074 6f20 616e 2069 a Double to an i │ │ │ -000458c0: 6e74 6567 6572 2072 6174 696f 2e0a 646f nteger ratio..do │ │ │ -000458d0: 7562 6c65 546f 5261 7469 6f20 3a3a 2044 ubleToRatio :: D │ │ │ -000458e0: 6f75 626c 6520 2d3e 2028 496e 7465 6765 ouble -> (Intege │ │ │ -000458f0: 722c 2049 6e74 6567 6572 290a 646f 7562 r, Integer).doub │ │ │ -00045900: 6c65 546f 5261 7469 6f20 780a 2020 7c20 leToRatio x. | │ │ │ -00045910: 6973 4e61 4e20 2020 2020 2078 203d 2028 isNaN x = ( │ │ │ -00045920: 302c 2030 290a 2020 7c20 6973 496e 6669 0, 0). | isInfi │ │ │ -00045930: 6e69 7465 2078 203d 2028 7369 676e 756d nite x = (signum │ │ │ -00045940: 2028 666c 6f6f 7220 7829 2c20 3029 0a20 (floor x), 0). │ │ │ -00045950: 207c 206f 7468 6572 7769 7365 2020 2020 | otherwise │ │ │ -00045960: 3d20 6c65 7420 7220 3d20 746f 5261 7469 = let r = toRati │ │ │ -00045970: 6f6e 616c 2078 2069 6e20 286e 756d 6572 onal x in (numer │ │ │ -00045980: 6174 6f72 2072 2c20 6465 6e6f 6d69 6e61 ator r, denomina │ │ │ -00045990: 746f 7220 7229 0a0a 2d2d 207c 456e 636f tor r)..-- |Enco │ │ │ -000459a0: 6465 2061 6e20 696e 7465 6765 7220 7261 de an integer ra │ │ │ -000459b0: 7469 6f20 6173 2061 2064 6f75 626c 652e tio as a double. │ │ │ -000459c0: 0a72 6174 696f 546f 446f 7562 6c65 203a .ratioToDouble : │ │ │ -000459d0: 3a20 496e 7465 6765 7220 2d3e 2049 6e74 : Integer -> Int │ │ │ -000459e0: 6567 6572 202d 3e20 446f 7562 6c65 0a72 eger -> Double.r │ │ │ -000459f0: 6174 696f 546f 446f 7562 6c65 206e 2064 atioToDouble n d │ │ │ -00045a00: 0a20 207c 2064 203d 3d20 3020 3d20 6361 . | d == 0 = ca │ │ │ -00045a10: 7365 2063 6f6d 7061 7265 206e 2030 206f se compare n 0 o │ │ │ -00045a20: 660a 2020 2020 2020 4c54 202d 3e20 6e65 f. LT -> ne │ │ │ -00045a30: 6761 7469 7665 496e 6669 6e69 7479 0a20 gativeInfinity. │ │ │ -00045a40: 2020 2020 2045 5120 2d3e 206e 616e 0a20 EQ -> nan. │ │ │ -00045a50: 2020 2020 2047 5420 2d3e 2070 6f73 6974 GT -> posit │ │ │ -00045a60: 6976 6549 6e66 696e 6974 790a 2020 7c20 iveInfinity. | │ │ │ -00045a70: 6f74 6865 7277 6973 6520 3d20 6672 6f6d otherwise = from │ │ │ -00045a80: 5261 7469 6f6e 616c 2028 6e20 2520 6429 Rational (n % d) │ │ │ -00045a90: 0a0a 2d2d 207c 4465 636f 6465 2061 2044 ..-- |Decode a D │ │ │ -00045aa0: 6f75 626c 6520 746f 2069 7473 206d 616e ouble to its man │ │ │ -00045ab0: 7469 7373 6120 616e 6420 6974 7320 6578 tissa and its ex │ │ │ -00045ac0: 706f 6e65 6e74 2c20 6e6f 726d 616c 6973 ponent, normalis │ │ │ -00045ad0: 6564 2073 7563 6820 7468 6174 2074 6865 ed such that the │ │ │ -00045ae0: 0a2d 2d20 206d 616e 7469 7373 6120 6973 .-- mantissa is │ │ │ -00045af0: 2074 6865 2073 6d61 6c6c 6573 7420 706f the smallest po │ │ │ -00045b00: 7373 6962 6c65 206e 756d 6265 7220 7769 ssible number wi │ │ │ -00045b10: 7468 6f75 7420 6c6f 7373 206f 6620 6163 thout loss of ac │ │ │ -00045b20: 6375 7261 6379 2e0a 646f 7562 6c65 4465 curacy..doubleDe │ │ │ -00045b30: 636f 6465 203a 3a20 446f 7562 6c65 202d code :: Double - │ │ │ -00045b40: 3e20 4d61 7962 6520 2849 6e74 6567 6572 > Maybe (Integer │ │ │ -00045b50: 2c20 496e 7465 6765 7229 0a64 6f75 626c , Integer).doubl │ │ │ -00045b60: 6544 6563 6f64 6520 780a 2020 7c20 6973 eDecode x. | is │ │ │ -00045b70: 4e61 4e20 2020 2020 2078 203d 204e 6f74 NaN x = Not │ │ │ -00045b80: 6869 6e67 0a20 207c 2069 7349 6e66 696e hing. | isInfin │ │ │ -00045b90: 6974 6520 7820 3d20 4e6f 7468 696e 670a ite x = Nothing. │ │ │ -00045ba0: 2020 7c20 6f74 6865 7277 6973 6520 2020 | otherwise │ │ │ -00045bb0: 203d 204a 7573 7420 2875 6e63 7572 7279 = Just (uncurry │ │ │ -00045bc0: 206e 6f72 6d61 6c69 7365 2028 7365 636f normalise (seco │ │ │ -00045bd0: 6e64 2074 6f49 6e74 6567 6572 2028 6465 nd toInteger (de │ │ │ -00045be0: 636f 6465 466c 6f61 7420 7829 2929 0a20 codeFloat x))). │ │ │ -00045bf0: 2077 6865 7265 0a20 2020 206e 6f72 6d61 where. norma │ │ │ -00045c00: 6c69 7365 203a 3a20 496e 7465 6765 7220 lise :: Integer │ │ │ -00045c10: 2d3e 2049 6e74 6567 6572 202d 3e20 2849 -> Integer -> (I │ │ │ -00045c20: 6e74 6567 6572 2c20 496e 7465 6765 7229 nteger, Integer) │ │ │ -00045c30: 0a20 2020 206e 6f72 6d61 6c69 7365 206d . normalise m │ │ │ -00045c40: 616e 7469 7373 6120 6578 706f 6e65 6e74 antissa exponent │ │ │ -00045c50: 0a20 2020 2020 207c 2065 7665 6e20 6d61 . | even ma │ │ │ -00045c60: 6e74 6973 7361 203d 206e 6f72 6d61 6c69 ntissa = normali │ │ │ -00045c70: 7365 2028 6d61 6e74 6973 7361 2060 6469 se (mantissa `di │ │ │ -00045c80: 7660 2032 2920 2865 7870 6f6e 656e 7420 v` 2) (exponent │ │ │ -00045c90: 2b20 3129 0a20 2020 2020 207c 206f 7468 + 1). | oth │ │ │ -00045ca0: 6572 7769 7365 203d 2028 6d61 6e74 6973 erwise = (mantis │ │ │ -00045cb0: 7361 2c20 6578 706f 6e65 6e74 290a 0a2d sa, exponent)..- │ │ │ -00045cc0: 2d20 7c43 6865 636b 7320 7768 6574 6865 - |Checks whethe │ │ │ -00045cd0: 7220 6f72 206e 6f74 2074 6865 2044 6f75 r or not the Dou │ │ │ -00045ce0: 626c 6520 6973 2077 6974 6869 6e20 6120 ble is within a │ │ │ -00045cf0: 7361 6665 2072 616e 6765 206f 6620 6f70 safe range of op │ │ │ -00045d00: 6572 6174 696f 6e2e 0a69 7353 6166 6549 eration..isSafeI │ │ │ -00045d10: 6e74 6567 6572 203a 3a20 446f 7562 6c65 nteger :: Double │ │ │ -00045d20: 202d 3e20 426f 6f6c 0a69 7353 6166 6549 -> Bool.isSafeI │ │ │ -00045d30: 6e74 6567 6572 2078 203d 2063 6173 6520 nteger x = case │ │ │ -00045d40: 7072 6f70 6572 4672 6163 7469 6f6e 2078 properFraction x │ │ │ -00045d50: 206f 660a 2020 286e 2c20 6629 202d 3e20 of. (n, f) -> │ │ │ -00045d60: 6620 3d3d 2030 2e30 2026 2620 6d69 6e4d f == 0.0 && minM │ │ │ -00045d70: 616e 7469 7373 6120 3c3d 206e 2026 2620 antissa <= n && │ │ │ -00045d80: 6e20 3c3d 206d 6178 4d61 6e74 6973 7361 n <= maxMantissa │ │ │ -00045d90: 0a0a 646f 7562 6c65 5261 6469 7820 3a3a ..doubleRadix :: │ │ │ -00045da0: 2049 6e74 6567 6572 0a64 6f75 626c 6552 Integer.doubleR │ │ │ -00045db0: 6164 6978 203d 2066 6c6f 6174 5261 6469 adix = floatRadi │ │ │ -00045dc0: 7820 2875 6e64 6566 696e 6564 203a 3a20 x (undefined :: │ │ │ -00045dd0: 446f 7562 6c65 290a 0a64 6f75 626c 6544 Double)..doubleD │ │ │ -00045de0: 6967 6974 7320 3a3a 2049 6e74 0a64 6f75 igits :: Int.dou │ │ │ -00045df0: 626c 6544 6967 6974 7320 3d20 666c 6f61 bleDigits = floa │ │ │ -00045e00: 7444 6967 6974 7320 2875 6e64 6566 696e tDigits (undefin │ │ │ -00045e10: 6564 203a 3a20 446f 7562 6c65 290a 0a64 ed :: Double)..d │ │ │ -00045e20: 6f75 626c 6552 616e 6765 203a 3a20 2849 oubleRange :: (I │ │ │ -00045e30: 6e74 2c20 496e 7429 0a64 6f75 626c 6552 nt, Int).doubleR │ │ │ -00045e40: 616e 6765 203d 2066 6c6f 6174 5261 6e67 ange = floatRang │ │ │ -00045e50: 6520 2875 6e64 6566 696e 6564 203a 3a20 e (undefined :: │ │ │ -00045e60: 446f 7562 6c65 290a 0a2d 2d20 7c54 6865 Double)..-- |The │ │ │ -00045e70: 2073 6d61 6c6c 6573 7420 7265 7072 6573 smallest repres │ │ │ -00045e80: 656e 7461 626c 6520 6d61 6e74 6973 7361 entable mantissa │ │ │ -00045e90: 2e20 5369 6d75 6c74 616e 656f 7573 6c79 . Simultaneously │ │ │ -00045ea0: 2c20 7468 6520 736d 616c 6c65 7374 2069 , the smallest i │ │ │ -00045eb0: 6e74 6567 6572 2077 6869 6368 2063 616e nteger which can │ │ │ -00045ec0: 2062 650a 2d2d 2020 7265 7072 6573 656e be.-- represen │ │ │ -00045ed0: 7465 6420 6173 2061 2044 6f75 626c 6520 ted as a Double │ │ │ -00045ee0: 7769 7468 6f75 7420 6c6f 7373 206f 6620 without loss of │ │ │ -00045ef0: 7072 6563 6973 696f 6e2e 0a6d 696e 4d61 precision..minMa │ │ │ -00045f00: 6e74 6973 7361 203a 3a20 496e 7465 6765 ntissa :: Intege │ │ │ -00045f10: 720a 6d69 6e4d 616e 7469 7373 6120 3d20 r.minMantissa = │ │ │ -00045f20: 2d20 6d61 784d 616e 7469 7373 610a 0a2d - maxMantissa..- │ │ │ -00045f30: 2d20 7c54 6865 206c 6172 6765 7374 2072 - |The largest r │ │ │ -00045f40: 6570 7265 7365 6e74 6162 6c65 206d 616e epresentable man │ │ │ -00045f50: 7469 7373 612e 2053 696d 756c 7461 6e65 tissa. Simultane │ │ │ -00045f60: 6f75 736c 792c 2074 6865 206c 6172 6765 ously, the large │ │ │ -00045f70: 7374 2069 6e74 6567 6572 2077 6869 6368 st integer which │ │ │ -00045f80: 2063 616e 2062 650a 2d2d 2020 7265 7072 can be.-- repr │ │ │ -00045f90: 6573 656e 7465 6420 6173 2061 2044 6f75 esented as a Dou │ │ │ -00045fa0: 626c 6520 7769 7468 6f75 7420 6c6f 7373 ble without loss │ │ │ -00045fb0: 206f 6620 7072 6563 6973 696f 6e2e 0a6d of precision..m │ │ │ -00045fc0: 6178 4d61 6e74 6973 7361 203a 3a20 496e axMantissa :: In │ │ │ -00045fd0: 7465 6765 720a 6d61 784d 616e 7469 7373 teger.maxMantiss │ │ │ -00045fe0: 6120 3d20 2864 6f75 626c 6552 6164 6978 a = (doubleRadix │ │ │ -00045ff0: 205e 2074 6f49 6e74 6567 6572 2064 6f75 ^ toInteger dou │ │ │ -00046000: 626c 6544 6967 6974 7329 202d 2031 0a0a bleDigits) - 1.. │ │ │ -00046010: 2d2d 207c 5468 6520 6c61 7267 6573 7420 -- |The largest │ │ │ -00046020: 7265 7072 6573 656e 7461 626c 6520 6578 representable ex │ │ │ -00046030: 706f 6e65 6e74 2e0a 6d69 6e45 7870 6f6e ponent..minExpon │ │ │ -00046040: 656e 7420 3a3a 2049 6e74 6567 6572 0a6d ent :: Integer.m │ │ │ -00046050: 696e 4578 706f 6e65 6e74 203d 2074 6f49 inExponent = toI │ │ │ -00046060: 6e74 6567 6572 2024 2028 6673 7420 646f nteger $ (fst do │ │ │ -00046070: 7562 6c65 5261 6e67 6520 2d20 646f 7562 ubleRange - doub │ │ │ -00046080: 6c65 4469 6769 7473 2920 2d20 310a 0a2d leDigits) - 1..- │ │ │ -00046090: 2d20 7c54 6865 2073 6d61 6c6c 6573 7420 - |The smallest │ │ │ -000460a0: 7265 7072 6573 656e 7461 626c 6520 6578 representable ex │ │ │ -000460b0: 706f 6e65 6e74 2e0a 6d61 7845 7870 6f6e ponent..maxExpon │ │ │ -000460c0: 656e 7420 3a3a 2049 6e74 6567 6572 0a6d ent :: Integer.m │ │ │ -000460d0: 6178 4578 706f 6e65 6e74 203d 2074 6f49 axExponent = toI │ │ │ -000460e0: 6e74 6567 6572 2024 2073 6e64 2064 6f75 nteger $ snd dou │ │ │ -000460f0: 626c 6552 616e 6765 202d 2064 6f75 626c bleRange - doubl │ │ │ -00046100: 6544 6967 6974 730a 0a2d 2d20 7c45 6e63 eDigits..-- |Enc │ │ │ -00046110: 6f64 6520 6120 6d61 6e74 6973 7361 2061 ode a mantissa a │ │ │ -00046120: 6e64 2061 6e20 6578 706f 6e65 6e74 2061 nd an exponent a │ │ │ -00046130: 7320 6120 446f 7562 6c65 2e0a 646f 7562 s a Double..doub │ │ │ -00046140: 6c65 456e 636f 6465 203a 3a20 496e 7465 leEncode :: Inte │ │ │ -00046150: 6765 7220 2d3e 2049 6e74 6567 6572 202d ger -> Integer - │ │ │ -00046160: 3e20 4d61 7962 6520 446f 7562 6c65 0a64 > Maybe Double.d │ │ │ -00046170: 6f75 626c 6545 6e63 6f64 6520 6d61 6e74 oubleEncode mant │ │ │ -00046180: 6973 7361 2065 7870 6f6e 656e 740a 2020 issa exponent. │ │ │ -00046190: 3d20 6966 206d 696e 4d61 6e74 6973 7361 = if minMantissa │ │ │ -000461a0: 203c 3d20 6d61 6e74 6973 7361 2026 2620 <= mantissa && │ │ │ -000461b0: 6d61 6e74 6973 7361 203c 3d20 6d61 784d mantissa <= maxM │ │ │ -000461c0: 616e 7469 7373 6120 2626 0a20 2020 2020 antissa &&. │ │ │ -000461d0: 2020 6d69 6e45 7870 6f6e 656e 7420 3c3d minExponent <= │ │ │ -000461e0: 2065 7870 6f6e 656e 7420 2626 2065 7870 exponent && exp │ │ │ -000461f0: 6f6e 656e 7420 3c3d 206d 6178 4578 706f onent <= maxExpo │ │ │ -00046200: 6e65 6e74 0a20 2020 2074 6865 6e20 4a75 nent. then Ju │ │ │ -00046210: 7374 2028 656e 636f 6465 466c 6f61 7420 st (encodeFloat │ │ │ -00046220: 6d61 6e74 6973 7361 2028 6672 6f6d 496e mantissa (fromIn │ │ │ -00046230: 7465 6765 7220 6578 706f 6e65 6e74 2929 teger exponent)) │ │ │ -00046240: 0a20 2020 2065 6c73 6520 4e6f 7468 696e . else Nothin │ │ │ -00046250: 670a b3fb b7ca b88f f081 59fd b3b3 80c8 g.........Y..... │ │ │ -00046260: a2bb ccb7 0100 e901 0004 62a3 05b4 8080 ..........b..... │ │ │ -00046270: e608 0000 0005 2000 0001 0001 0004 0408 ...... ......... │ │ │ -00046280: 0307 0286 8080 ec08 0200 0003 0f00 0505 ................ │ │ │ -00046290: 050b 8780 80ec 0801 0520 0000 010b a101 ......... ...... │ │ │ -000462a0: 0bfa 01d4 8fb0 eab0 899b eb98 01dc 84e1 ................ │ │ │ -000462b0: 96a0 8be1 8efc 0100 f601 0004 62e1 0520 ............b.. │ │ │ -000462c0: 0000 0100 0404 0803 0702 5e02 0000 030f ..........^..... │ │ │ -000462d0: 0005 0505 0b5f 0bfb 010b 6109 0601 00ab ....._....a..... │ │ │ -000462e0: 16eb cdf9 dac6 d581 9ce3 01a0 cbaf f0bf ................ │ │ │ -000462f0: a29d ceb0 0100 fb01 0004 6e3f 0582 8080 ..........n?.... │ │ │ -00046300: e608 0000 0100 0304 0704 0200 0003 0f00 ................ │ │ │ -00046310: 0901 ab16 7b2d 2320 4c41 4e47 5541 4745 ....{-# LANGUAGE │ │ │ -00046320: 2050 6f6c 794b 696e 6473 2023 2d7d 0a0a PolyKinds #-}.. │ │ │ -00046330: 6d6f 6475 6c65 204d 416c 6f6e 7a6f 2e52 module MAlonzo.R │ │ │ -00046340: 5445 2077 6865 7265 0a0a 696d 706f 7274 TE where..import │ │ │ -00046350: 2050 7265 6c75 6465 0a20 2028 2042 6f6f Prelude. ( Boo │ │ │ -00046360: 6c2c 2043 6861 722c 2044 6f75 626c 652c l, Char, Double, │ │ │ -00046370: 2049 6e74 6567 6572 2c20 5374 7269 6e67 Integer, String │ │ │ -00046380: 0a20 202c 2045 6e75 6d28 2e2e 292c 2045 . , Enum(..), E │ │ │ -00046390: 7128 2e2e 292c 204f 7264 282e 2e29 2c20 q(..), Ord(..), │ │ │ -000463a0: 496e 7465 6772 616c 282e 2e29 2c20 4e75 Integral(..), Nu │ │ │ -000463b0: 6d28 2e2e 290a 2020 2c20 2824 292c 2065 m(..). , ($), e │ │ │ -000463c0: 7272 6f72 2c20 6f74 6865 7277 6973 650a rror, otherwise. │ │ │ -000463d0: 2020 2c20 282b 2b29 2c20 6672 6f6d 496e , (++), fromIn │ │ │ -000463e0: 7465 6772 616c 0a20 2029 0a0a 696d 706f tegral. )..impo │ │ │ -000463f0: 7274 2044 6174 612e 4368 6172 2028 2047 rt Data.Char ( G │ │ │ -00046400: 656e 6572 616c 4361 7465 676f 7279 2853 eneralCategory(S │ │ │ -00046410: 7572 726f 6761 7465 292c 2067 656e 6572 urrogate), gener │ │ │ -00046420: 616c 4361 7465 676f 7279 2029 0a69 6d70 alCategory ).imp │ │ │ -00046430: 6f72 7420 4461 7461 2e4b 696e 6420 2820 ort Data.Kind ( │ │ │ -00046440: 5479 7065 290a 696d 706f 7274 2071 7561 Type).import qua │ │ │ -00046450: 6c69 6669 6564 2044 6174 612e 576f 7264 lified Data.Word │ │ │ -00046460: 0a69 6d70 6f72 7420 7175 616c 6966 6965 .import qualifie │ │ │ -00046470: 6420 4748 432e 4578 7473 2061 7320 4748 d GHC.Exts as GH │ │ │ -00046480: 4320 2820 416e 7920 290a 696d 706f 7274 C ( Any ).import │ │ │ -00046490: 2055 6e73 6166 652e 436f 6572 6365 2028 Unsafe.Coerce ( │ │ │ -000464a0: 2075 6e73 6166 6543 6f65 7263 6520 290a unsafeCoerce ). │ │ │ -000464b0: 0a74 7970 6520 4167 6461 416e 7920 3d20 .type AgdaAny = │ │ │ -000464c0: 4748 432e 416e 790a 0a2d 2d20 5370 6563 GHC.Any..-- Spec │ │ │ -000464d0: 6961 6c20 7665 7273 696f 6e20 6f66 2063 ial version of c │ │ │ -000464e0: 6f65 7263 6520 7468 6174 2070 6c61 7973 oerce that plays │ │ │ -000464f0: 2077 656c 6c20 7769 7468 2072 756c 6573 well with rules │ │ │ -00046500: 2e0a 7b2d 2320 494e 4c49 4e45 205b 315d ..{-# INLINE [1] │ │ │ -00046510: 2063 6f65 2023 2d7d 0a63 6f65 203a 3a20 coe #-}.coe :: │ │ │ -00046520: 6120 2d3e 2062 0a63 6f65 203d 2075 6e73 a -> b.coe = uns │ │ │ -00046530: 6166 6543 6f65 7263 650a 7b2d 2320 5255 afeCoerce.{-# RU │ │ │ -00046540: 4c45 5320 2263 6f65 7263 652d 6964 2220 LES "coerce-id" │ │ │ -00046550: 666f 7261 6c6c 2028 7820 3a3a 2061 2920 forall (x :: a) │ │ │ -00046560: 2e20 636f 6520 7820 3d20 7820 232d 7d0a . coe x = x #-}. │ │ │ -00046570: 0a2d 2d20 4275 696c 7469 6e20 514e 616d .-- Builtin QNam │ │ │ -00046580: 6573 2e0a 6461 7461 2051 4e61 6d65 203d es..data QName = │ │ │ -00046590: 2051 4e61 6d65 207b 206e 616d 6549 642c QName { nameId, │ │ │ -000465a0: 206d 6f64 756c 6549 6420 3a3a 2049 6e74 moduleId :: Int │ │ │ -000465b0: 6567 6572 2c20 716e 616d 6553 7472 696e eger, qnameStrin │ │ │ -000465c0: 6720 3a3a 2053 7472 696e 672c 2071 6e61 g :: String, qna │ │ │ -000465d0: 6d65 4669 7869 7479 203a 3a20 4669 7869 meFixity :: Fixi │ │ │ -000465e0: 7479 207d 0a0a 6461 7461 2041 7373 6f63 ty }..data Assoc │ │ │ -000465f0: 2020 2020 2020 3d20 4e6f 6e41 7373 6f63 = NonAssoc │ │ │ -00046600: 207c 204c 6566 7441 7373 6f63 207c 2052 | LeftAssoc | R │ │ │ -00046610: 6967 6874 4173 736f 630a 6461 7461 2050 ightAssoc.data P │ │ │ -00046620: 7265 6365 6465 6e63 6520 3d20 556e 7265 recedence = Unre │ │ │ -00046630: 6c61 7465 6420 7c20 5265 6c61 7465 6420 lated | Related │ │ │ -00046640: 5072 6563 6564 656e 6365 4c65 7665 6c0a PrecedenceLevel. │ │ │ -00046650: 6461 7461 2046 6978 6974 7920 2020 2020 data Fixity │ │ │ -00046660: 3d20 4669 7869 7479 2041 7373 6f63 2050 = Fixity Assoc P │ │ │ -00046670: 7265 6365 6465 6e63 650a 7479 7065 2050 recedence.type P │ │ │ -00046680: 7265 6365 6465 6e63 654c 6576 656c 203d recedenceLevel = │ │ │ -00046690: 2044 6f75 626c 650a 0a69 6e73 7461 6e63 Double..instanc │ │ │ -000466a0: 6520 4571 2051 4e61 6d65 2077 6865 7265 e Eq QName where │ │ │ -000466b0: 0a20 2051 4e61 6d65 2061 2062 205f 205f . QName a b _ _ │ │ │ -000466c0: 203d 3d20 514e 616d 6520 6320 6420 5f20 == QName c d _ │ │ │ -000466d0: 5f20 3d20 2861 2c20 6229 203d 3d20 2863 _ = (a, b) == (c │ │ │ -000466e0: 2c20 6429 0a0a 696e 7374 616e 6365 204f , d)..instance O │ │ │ -000466f0: 7264 2051 4e61 6d65 2077 6865 7265 0a20 rd QName where. │ │ │ -00046700: 2063 6f6d 7061 7265 2028 514e 616d 6520 compare (QName │ │ │ -00046710: 6120 6220 5f20 5f29 2028 514e 616d 6520 a b _ _) (QName │ │ │ -00046720: 6320 6420 5f20 5f29 203d 2063 6f6d 7061 c d _ _) = compa │ │ │ -00046730: 7265 2028 612c 2062 2920 2863 2c20 6429 re (a, b) (c, d) │ │ │ -00046740: 0a0a 6572 6173 6564 203a 3a20 610a 6572 ..erased :: a.er │ │ │ -00046750: 6173 6564 203d 2063 6f65 2028 5c20 5f20 ased = coe (\ _ │ │ │ -00046760: 2d3e 2065 7261 7365 6429 0a0a 6d61 7a55 -> erased)..mazU │ │ │ -00046770: 6e72 6561 6368 6162 6c65 4572 726f 7220 nreachableError │ │ │ -00046780: 3a3a 2061 0a6d 617a 556e 7265 6163 6861 :: a.mazUnreacha │ │ │ -00046790: 626c 6545 7272 6f72 203d 2065 7272 6f72 bleError = error │ │ │ -000467a0: 2028 2241 6764 613a 2075 6e72 6561 6368 ("Agda: unreach │ │ │ -000467b0: 6162 6c65 2063 6f64 6520 7265 6163 6865 able code reache │ │ │ -000467c0: 642e 2229 0a0a 6d61 7a48 6f6c 6520 3a3a d.")..mazHole :: │ │ │ -000467d0: 2053 7472 696e 6720 2d3e 2061 0a6d 617a String -> a.maz │ │ │ -000467e0: 486f 6c65 2073 203d 2065 7272 6f72 2028 Hole s = error ( │ │ │ -000467f0: 2241 6764 613a 2072 6561 6368 6564 2068 "Agda: reached h │ │ │ -00046800: 6f6c 653a 2022 202b 2b20 7329 0a0a 6164 ole: " ++ s)..ad │ │ │ -00046810: 6449 6e74 203a 3a20 496e 7465 6765 7220 dInt :: Integer │ │ │ -00046820: 2d3e 2049 6e74 6567 6572 202d 3e20 496e -> Integer -> In │ │ │ -00046830: 7465 6765 720a 6164 6449 6e74 203d 2028 teger.addInt = ( │ │ │ -00046840: 2b29 0a0a 7375 6249 6e74 203a 3a20 496e +)..subInt :: In │ │ │ -00046850: 7465 6765 7220 2d3e 2049 6e74 6567 6572 teger -> Integer │ │ │ -00046860: 202d 3e20 496e 7465 6765 720a 7375 6249 -> Integer.subI │ │ │ -00046870: 6e74 203d 2028 2d29 0a0a 6d75 6c49 6e74 nt = (-)..mulInt │ │ │ -00046880: 203a 3a20 496e 7465 6765 7220 2d3e 2049 :: Integer -> I │ │ │ -00046890: 6e74 6567 6572 202d 3e20 496e 7465 6765 nteger -> Intege │ │ │ -000468a0: 720a 6d75 6c49 6e74 203d 2028 2a29 0a0a r.mulInt = (*).. │ │ │ -000468b0: 6765 7149 6e74 203a 3a20 496e 7465 6765 geqInt :: Intege │ │ │ -000468c0: 7220 2d3e 2049 6e74 6567 6572 202d 3e20 r -> Integer -> │ │ │ -000468d0: 426f 6f6c 0a67 6571 496e 7420 3d20 283e Bool.geqInt = (> │ │ │ -000468e0: 3d29 0a0a 6c74 496e 7420 3a3a 2049 6e74 =)..ltInt :: Int │ │ │ -000468f0: 6567 6572 202d 3e20 496e 7465 6765 7220 eger -> Integer │ │ │ -00046900: 2d3e 2042 6f6f 6c0a 6c74 496e 7420 3d20 -> Bool.ltInt = │ │ │ -00046910: 283c 290a 0a65 7149 6e74 203a 3a20 496e (<)..eqInt :: In │ │ │ -00046920: 7465 6765 7220 2d3e 2049 6e74 6567 6572 teger -> Integer │ │ │ -00046930: 202d 3e20 426f 6f6c 0a65 7149 6e74 203d -> Bool.eqInt = │ │ │ -00046940: 2028 3d3d 290a 0a71 756f 7449 6e74 203a (==)..quotInt : │ │ │ -00046950: 3a20 496e 7465 6765 7220 2d3e 2049 6e74 : Integer -> Int │ │ │ -00046960: 6567 6572 202d 3e20 496e 7465 6765 720a eger -> Integer. │ │ │ -00046970: 7175 6f74 496e 7420 3d20 7175 6f74 0a0a quotInt = quot.. │ │ │ -00046980: 7265 6d49 6e74 203a 3a20 496e 7465 6765 remInt :: Intege │ │ │ -00046990: 7220 2d3e 2049 6e74 6567 6572 202d 3e20 r -> Integer -> │ │ │ -000469a0: 496e 7465 6765 720a 7265 6d49 6e74 203d Integer.remInt = │ │ │ -000469b0: 2072 656d 0a0a 2d2d 2023 3439 3939 3a20 rem..-- #4999: │ │ │ -000469c0: 4461 7461 2e54 6578 7420 6d61 7073 2073 Data.Text maps s │ │ │ -000469d0: 7572 726f 6761 7465 2063 6f64 6520 706f urrogate code po │ │ │ -000469e0: 696e 7473 2028 5c78 4438 3030 202d 205c ints (\xD800 - \ │ │ │ -000469f0: 7844 4646 4629 2074 6f20 7468 6520 7265 xDFFF) to the re │ │ │ -00046a00: 706c 6163 656d 656e 7420 6368 6172 6163 placement charac │ │ │ -00046a10: 7465 720a 2d2d 205c 7846 4646 442c 2073 ter.-- \xFFFD, s │ │ │ -00046a20: 6f20 746f 206b 6565 7020 7374 7269 6e67 o to keep string │ │ │ -00046a30: 7320 6973 6f6d 6f72 7068 6963 2074 6f20 s isomorphic to │ │ │ -00046a40: 6c69 7374 206f 6620 6368 6172 6163 7465 list of characte │ │ │ -00046a50: 7273 2077 6520 646f 2074 6865 2073 616d rs we do the sam │ │ │ -00046a60: 6520 666f 7220 6368 6172 6163 7465 7273 e for characters │ │ │ -00046a70: 2e0a 6e61 7454 6f43 6861 7220 3a3a 2049 ..natToChar :: I │ │ │ -00046a80: 6e74 6567 6572 202d 3e20 4368 6172 0a6e nteger -> Char.n │ │ │ -00046a90: 6174 546f 4368 6172 206e 207c 2067 656e atToChar n | gen │ │ │ -00046aa0: 6572 616c 4361 7465 676f 7279 2063 203d eralCategory c = │ │ │ -00046ab0: 3d20 5375 7272 6f67 6174 6520 3d20 275c = Surrogate = '\ │ │ │ -00046ac0: 7846 4646 4427 0a20 2020 2020 2020 2020 xFFFD'. │ │ │ -00046ad0: 2020 207c 206f 7468 6572 7769 7365 2020 | otherwise │ │ │ +00042cc0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 0a3b ;;;;;;;;;;;;;;.; │ │ │ +00042cd0: 3b20 4164 6d69 6e69 7374 7261 7469 7665 ; Administrative │ │ │ +00042ce0: 2064 6574 6169 6c73 0a0a 2870 726f 7669 details..(provi │ │ │ +00042cf0: 6465 2027 6167 6461 322d 6162 6272 6576 de 'agda2-abbrev │ │ │ +00042d00: 7329 0a3b 3b3b 2061 6764 6132 2d61 6262 s).;;; agda2-abb │ │ │ +00042d10: 7265 7673 2e65 6c20 656e 6473 2068 6572 revs.el ends her │ │ │ +00042d20: 650a c696 a6b1 96c5 9da8 ea01 83fd cf99 e............... │ │ │ +00042d30: d395 add8 da01 0029 0004 2d5b 0582 8080 .......)..-[.... │ │ │ +00042d40: e608 0000 0100 0304 0704 0200 0003 0f00 ................ │ │ │ +00042d50: 0901 0857 7269 7469 6e67 209d d1b5 9b87 ...Writing ..... │ │ │ +00042d60: e89b baaf 01e9 90ac fff9 a9e5 8dc3 0100 ................ │ │ │ +00042d70: 1700 042d 9c05 1500 0001 0002 0701 0100 ...-............ │ │ │ +00042d80: 0200 0003 0000 0505 050b a901 0105 9080 ................ │ │ │ +00042d90: 80e6 0800 0001 0baa 010b ab01 9be9 e7e5 ................ │ │ │ +00042da0: c5b3 bfbe 5bac f5bd b589 90f3 bdb0 0100 ....[........... │ │ │ +00042db0: a001 0004 2ded 05b4 8080 e608 0000 0005 ....-........... │ │ │ +00042dc0: 2000 0001 0001 0004 0408 0307 0286 8080 ............... │ │ │ +00042dd0: ec08 0200 0003 0f00 0505 050b 8780 80ec ................ │ │ │ +00042de0: 0801 0520 0000 010b 8c01 0bac 01e2 d1e6 ... ............ │ │ │ +00042df0: a8b4 f3fb fc7d 9acc dfea baa3 9ef7 4b00 .....}........K. │ │ │ +00042e00: ab01 0004 2e52 05b4 8080 e608 0000 0005 .....R.......... │ │ │ +00042e10: b480 80e6 0800 0000 0590 8080 e608 0000 ................ │ │ │ +00042e20: 0100 0100 0100 0207 0101 0002 0000 0300 ................ │ │ │ +00042e30: 0005 0505 0bad 0101 05b4 8080 e608 0000 ................ │ │ │ +00042e40: 0005 9080 80e6 0800 0001 0001 0bae 010b ................ │ │ │ +00042e50: af01 abad 96d9 a6fa dcee c701 a5ff 8f9e ................ │ │ │ +00042e60: eacb cffb a901 00af 0100 042e da05 b480 ................ │ │ │ +00042e70: 80e6 0800 0000 05b4 8080 e608 0000 0005 ................ │ │ │ +00042e80: 9080 80e6 0800 0001 0001 0001 0003 0803 ................ │ │ │ +00042e90: 0702 8680 80ec 0802 0000 030f 0005 0505 ................ │ │ │ +00042ea0: 0b87 8080 ec08 0105 b480 80e6 0800 0000 ................ │ │ │ +00042eb0: 0590 8080 e608 0000 0100 010b b001 050b ................ │ │ │ +00042ec0: 9f80 80ec 0801 05b4 8080 e608 0000 0005 ................ │ │ │ +00042ed0: 9080 80e6 0800 0001 0001 9eb0 a8b7 c6e5 ................ │ │ │ +00042ee0: a6d8 0fce bf99 b1e4 d99b c259 00ae 0100 ...........Y.... │ │ │ +00042ef0: 042f 1d05 b480 80e6 0800 0000 0590 8080 ./.............. │ │ │ +00042f00: e608 0000 0100 0100 0207 0101 0002 0000 ................ │ │ │ +00042f10: 0305 0005 0b95 8080 e008 0bb1 01e0 86a0 ................ │ │ │ +00042f20: abf9 f590 f1e1 01aa 94ec 9be7 9aee 9e30 ...............0 │ │ │ +00042f30: 00b1 0100 042f 4f05 8280 80e6 0800 0001 ...../O......... │ │ │ +00042f40: 0003 0407 0402 0000 030f 0009 0101 2d86 ..............-. │ │ │ +00042f50: 9eb8 9bb6 d0eb ff6c aeb0 e8dd fdb0 cce6 .......l........ │ │ │ +00042f60: 7e00 aa01 0004 2f92 05b4 8080 e608 0000 ~...../......... │ │ │ +00042f70: 0005 9080 80e6 0800 0001 0001 0002 0701 ................ │ │ │ +00042f80: 0100 0200 0003 0500 050b 9580 80e0 080b ................ │ │ │ +00042f90: b201 a7c0 be9d e58d 84e3 33aa d5b5 ddea ..........3..... │ │ │ +00042fa0: aed2 9dfc 0100 b201 0004 2fc8 0582 8080 ........../..... │ │ │ +00042fb0: e608 0000 0100 0304 0704 0200 0003 0f00 ................ │ │ │ +00042fc0: 0901 052e 6c6f 636b e8e8 b78e b1a1 ec8a ....lock........ │ │ │ +00042fd0: 9b01 888b 8795 ccb4 95d6 6300 ac01 0004 ..........c..... │ │ │ +00042fe0: 3019 05b4 8080 e608 0000 0005 2000 0001 0........... ... │ │ │ +00042ff0: 0001 0004 0408 0307 0286 8080 ec08 0200 ................ │ │ │ +00043000: 0003 0f00 0505 050b 8780 80ec 0801 0520 ............... │ │ │ +00043010: 0000 010b 8a01 0bb3 01c1 acf8 80b7 8fba ................ │ │ │ +00043020: f80c d49c fd9d a4d6 8df0 cb01 00b3 0100 ................ │ │ │ +00043030: 0430 6a05 b480 80e6 0800 0000 0520 0000 .0j.......... .. │ │ │ +00043040: 0100 0100 0404 0803 0702 8680 80ec 0802 ................ │ │ │ +00043050: 0000 030f 0005 0505 0b87 8080 ec08 0105 ................ │ │ │ +00043060: 2000 0001 0b88 010b b401 8289 c383 a48d ............... │ │ │ +00043070: 9fc3 3fcf 98ae 82b1 b3c2 e2e3 0100 3000 ..?...........0. │ │ │ +00043080: 0433 3903 0005 e282 80ec 0801 0001 052c .39............, │ │ │ +00043090: 0000 0103 0005 e282 80ec 0801 0001 05e4 ................ │ │ │ +000430a0: 8080 e608 0000 0005 ca80 80e6 0800 0001 ................ │ │ │ +000430b0: 0001 0801 0000 05c8 8180 e608 0000 0101 ................ │ │ │ +000430c0: 0005 c481 80e6 0800 0001 0100 05e4 8080 ................ │ │ │ +000430d0: e608 0000 0005 ca80 80e6 0800 0001 0001 ................ │ │ │ +000430e0: 0000 05a8 8180 e608 0000 0005 2b00 0001 ............+... │ │ │ +000430f0: 0000 0800 0001 0001 0001 0005 0700 0200 ................ │ │ │ +00043100: 0201 0002 0302 0103 0402 0106 0400 0102 ................ │ │ │ +00043110: 0200 0102 0200 0102 0200 0102 0200 0102 ................ │ │ │ +00043120: 0200 0102 0200 0102 0200 0102 0200 0102 ................ │ │ │ +00043130: 0602 0301 0200 0201 0200 0002 0f01 0201 ................ │ │ │ +00043140: 0004 0005 e282 80ec 0801 0001 ea01 052c ..............., │ │ │ +00043150: 0000 0101 0400 05e2 8280 ec08 0100 01c7 ................ │ │ │ +00043160: 0105 e480 80e6 0800 0000 05ca 8080 e608 ................ │ │ │ +00043170: 0000 0100 0101 0600 ea01 b501 0101 b501 ................ │ │ │ +00043180: 04eb 01ec 01ed 01ee 0106 0505 0505 0505 ................ │ │ │ +00043190: 0bb6 0101 05b0 8180 e608 0000 0101 05b0 ................ │ │ │ +000431a0: 8180 e608 0000 0101 01eb 0101 052b 0000 .............+.. │ │ │ +000431b0: 010c 0505 0bb7 0101 01eb 0100 ec01 08b8 ................ │ │ │ +000431c0: 0100 0201 05b0 8180 e608 0000 0101 01eb ................ │ │ │ +000431d0: 010b b901 c801 0201 8c80 80ec 0800 0505 ................ │ │ │ +000431e0: 0505 0505 0be6 8980 f208 0105 8882 80ec ................ │ │ │ +000431f0: 0801 0001 0105 c481 80e6 0800 0001 0105 ................ │ │ │ +00043200: 2c00 0001 0105 a881 80e6 0800 0000 052b ,..............+ │ │ │ +00043210: 0000 0100 0008 0000 0100 0100 b501 00c7 ................ │ │ │ +00043220: 0101 aa80 80ec 0800 0605 0505 0bba 8480 ................ │ │ │ +00043230: e008 0105 b081 80e6 0800 0001 0105 ba01 ................ │ │ │ +00043240: 0000 0005 d882 80e6 0800 0000 05b0 8180 ................ │ │ │ +00043250: e608 0000 0101 0009 0100 0000 0101 0005 ................ │ │ │ +00043260: d882 80e6 0800 0000 05b0 8180 e608 0000 ................ │ │ │ +00043270: 0101 0009 0100 0000 0101 0005 d882 80e6 ................ │ │ │ +00043280: 0800 0000 05d8 8280 e608 0000 0005 b081 ................ │ │ │ +00043290: 80e6 0800 0001 0100 0901 0000 0001 0100 ................ │ │ │ +000432a0: 0901 0001 0001 0000 05d8 8280 e608 0000 ................ │ │ │ +000432b0: 0005 d882 80e6 0800 0000 05b0 8180 e608 ................ │ │ │ +000432c0: 0000 0101 0009 0100 0000 0101 0009 0100 ................ │ │ │ +000432d0: 0100 0100 0101 05ba 0100 0000 05b0 8180 ................ │ │ │ +000432e0: e608 0000 0101 0005 b081 80e6 0800 0001 ................ │ │ │ +000432f0: 0100 01eb 0100 0005 2b00 0001 0001 cb01 ........+....... │ │ │ +00043300: 0101 dc82 80ec 0801 ef01 0301 0200 c701 ................ │ │ │ +00043310: 0505 050b bb01 0105 2b00 0001 0108 0000 ........+....... │ │ │ +00043320: 010c 00ee 010b 100c 0002 0110 07ef 0110 ................ │ │ │ +00043330: 0c00 0301 100a 07ef 01b7 ed89 e7bb 99db ................ │ │ │ +00043340: 99ca 01ff c5a2 ced6 94b5 8877 00b4 0100 ...........w.... │ │ │ +00043350: 0433 8a05 b480 80e6 0800 0000 0520 0000 .3........... .. │ │ │ +00043360: 0100 0100 0404 0803 0702 8680 80ec 0802 ................ │ │ │ +00043370: 0000 030f 0005 0505 0b87 8080 ec08 0105 ................ │ │ │ +00043380: 2000 0001 0b86 010b bc01 a0fb ddb0 8984 ............... │ │ │ +00043390: cc87 d801 f197 e0f3 bdbd daa6 7500 bc01 ............u... │ │ │ +000433a0: 0004 33db 05b4 8080 e608 0000 0005 2000 ..3........... . │ │ │ +000433b0: 0001 0001 0004 0408 0307 0286 8080 ec08 ................ │ │ │ +000433c0: 0200 0003 0f00 0505 050b 8780 80ec 0801 ................ │ │ │ +000433d0: 0520 0000 010b 8401 0bbd 01ef 94c7 e98a . .............. │ │ │ +000433e0: 8980 bcf6 01b0 bf91 b0b6 a9f4 cf82 0100 ................ │ │ │ +000433f0: bd01 0004 342d 05b4 8080 e608 0000 0005 ....4-.......... │ │ │ +00043400: 2000 0001 0001 0004 0408 0307 0286 8080 ............... │ │ │ +00043410: ec08 0200 0003 0f00 0505 050b 8780 80ec ................ │ │ │ +00043420: 0801 0520 0000 010b 8001 0bbe 01fd 8b99 ... ............ │ │ │ +00043430: d89f aeb2 ac84 01ce a18b ee9d b794 bb46 ...............F │ │ │ +00043440: 00be 0100 0434 7d05 b480 80e6 0800 0000 .....4}......... │ │ │ +00043450: 0520 0000 0100 0100 0404 0803 0702 8680 . .............. │ │ │ +00043460: 80ec 0802 0000 030f 0005 0505 0b87 8080 ................ │ │ │ +00043470: ec08 0105 2000 0001 0b7e 0bbf 01e3 898a .... ....~...... │ │ │ +00043480: 9ce8 cfe7 b51b a5d2 ace2 9ca3 8ae4 b301 ................ │ │ │ +00043490: 00bf 0100 0434 cd05 b480 80e6 0800 0000 .....4.......... │ │ │ +000434a0: 0520 0000 0100 0100 0404 0803 0702 8680 . .............. │ │ │ +000434b0: 80ec 0802 0000 030f 0005 0505 0b87 8080 ................ │ │ │ +000434c0: ec08 0105 2000 0001 0b7c 0bc0 01a1 9bc0 .... ....|...... │ │ │ +000434d0: ffed caa0 fb1d c398 8bd4 8989 cbab ea01 ................ │ │ │ +000434e0: 00c0 0100 0435 1d05 b480 80e6 0800 0000 .....5.......... │ │ │ +000434f0: 0520 0000 0100 0100 0404 0803 0702 8680 . .............. │ │ │ +00043500: 80ec 0802 0000 030f 0005 0505 0b87 8080 ................ │ │ │ +00043510: ec08 0105 2000 0001 0b7a 0bc1 01a4 f0f3 .... ....z...... │ │ │ +00043520: dcc3 e4da c251 8094 92cf d4d4 c7a9 9501 .....Q.......... │ │ │ +00043530: 00c1 0100 0435 6d05 b480 80e6 0800 0000 .....5m......... │ │ │ +00043540: 0520 0000 0100 0100 0404 0803 0702 8680 . .............. │ │ │ +00043550: 80ec 0802 0000 030f 0005 0505 0b87 8080 ................ │ │ │ +00043560: ec08 0105 2000 0001 0b78 0bc2 01b4 acde .... ....x...... │ │ │ +00043570: c5c5 c4d8 b4c0 01c8 93f5 99d4 95a5 ab1e ................ │ │ │ +00043580: 00c2 0100 0435 bd05 b480 80e6 0800 0000 .....5.......... │ │ │ +00043590: 0520 0000 0100 0100 0404 0803 0702 8680 . .............. │ │ │ +000435a0: 80ec 0802 0000 030f 0005 0505 0b87 8080 ................ │ │ │ +000435b0: ec08 0105 2000 0001 0b74 0bc3 01e1 96c0 .... ....t...... │ │ │ +000435c0: f6f1 80c1 897e fbf9 d899 adc3 ccd7 1100 .....~.......... │ │ │ +000435d0: c301 0004 360c 05b4 8080 e608 0000 0005 ....6........... │ │ │ +000435e0: 2000 0001 0001 0004 0408 0307 0286 8080 ............... │ │ │ +000435f0: ec08 0200 0003 0f00 0505 050b 8780 80ec ................ │ │ │ +00043600: 0801 0520 0000 010b 720b c401 f1c0 c0d7 ... ....r....... │ │ │ +00043610: a697 f786 e701 fccf a7c8 94c0 e1aa b801 ................ │ │ │ +00043620: 00c4 0100 0436 5d05 b480 80e6 0800 0000 .....6]......... │ │ │ +00043630: 0520 0000 0100 0100 0404 0803 0702 8680 . .............. │ │ │ +00043640: 80ec 0802 0000 030f 0005 0505 0b87 8080 ................ │ │ │ +00043650: ec08 0105 2000 0001 0b70 0bc5 01da a2bd .... ....p...... │ │ │ +00043660: b5b9 eded a615 d3c2 ffa8 a0eb ac86 9c01 ................ │ │ │ +00043670: 0035 0004 36ad 05b4 8080 e608 0000 0005 .5..6........... │ │ │ +00043680: 2000 0001 0001 0004 0408 0307 0286 8080 ............... │ │ │ +00043690: ec08 0200 0003 0f00 0505 050b 8780 80ec ................ │ │ │ +000436a0: 0801 0520 0000 010b a701 0bc6 01e9 8989 ... ............ │ │ │ +000436b0: 97fd e3ca f414 89da 95dd d7e8 ff84 2d00 ..............-. │ │ │ +000436c0: c501 0004 36fc 05b4 8080 e608 0000 0005 ....6........... │ │ │ +000436d0: 2000 0001 0001 0004 0408 0307 0286 8080 ............... │ │ │ +000436e0: ec08 0200 0003 0f00 0505 050b 8780 80ec ................ │ │ │ +000436f0: 0801 0520 0000 010b 6e0b c701 c292 bfe0 ... ....n....... │ │ │ +00043700: 99a8 a0d6 ac01 f9a3 f3fc deec 8385 a001 ................ │ │ │ +00043710: 00c7 0100 0437 4d05 b480 80e6 0800 0000 .....7M......... │ │ │ +00043720: 0520 0000 0100 0100 0404 0803 0702 8680 . .............. │ │ │ +00043730: 80ec 0802 0000 030f 0005 0505 0b87 8080 ................ │ │ │ +00043740: ec08 0105 2000 0001 0b6c 0bc8 01c9 bbfc .... ....l...... │ │ │ +00043750: b3ed a2f5 a9a3 01c6 e3ec eae2 f2a8 e483 ................ │ │ │ +00043760: 0100 c801 0004 379e 05b4 8080 e608 0000 ......7......... │ │ │ +00043770: 0005 2000 0001 0001 0004 0408 0307 0286 .. ............. │ │ │ +00043780: 8080 ec08 0200 0003 0f00 0505 050b 8780 ................ │ │ │ +00043790: 80ec 0801 0520 0000 010b 680b c901 afeb ..... ....h..... │ │ │ +000437a0: 8091 dcfc 95d5 8e01 def4 dbda abd3 e3f8 ................ │ │ │ +000437b0: a101 00c9 0100 0437 ef05 b480 80e6 0800 .......7........ │ │ │ +000437c0: 0000 0520 0000 0100 0100 0404 0803 0702 ... ............ │ │ │ +000437d0: 8680 80ec 0802 0000 030f 0005 0505 0b87 ................ │ │ │ +000437e0: 8080 ec08 0105 2000 0001 0b66 0bca 01c0 ...... ....f.... │ │ │ +000437f0: c2f6 c6b0 a1ce df11 a5cb c8ec b6d9 9bec ................ │ │ │ +00043800: 9401 00ca 0100 0438 3f05 b480 80e6 0800 .......8?....... │ │ │ +00043810: 0000 0520 0000 0100 0100 0404 0803 0702 ... ............ │ │ │ +00043820: 8680 80ec 0802 0000 030f 0005 0505 0b87 ................ │ │ │ +00043830: 8080 ec08 0105 2000 0001 0b64 0bcb 01e3 ...... ....d.... │ │ │ +00043840: f0d4 b9ff abaf bd72 fb80 fb94 9087 9b9a .......r........ │ │ │ +00043850: 3f00 cb01 0004 388e 05b4 8080 e608 0000 ?.....8......... │ │ │ +00043860: 0005 2000 0001 0001 0004 0408 0307 0286 .. ............. │ │ │ +00043870: 8080 ec08 0200 0003 0f00 0505 050b 8780 ................ │ │ │ +00043880: 80ec 0801 0520 0000 010b 620b cc01 ce80 ..... ....b..... │ │ │ +00043890: d6cb a9d5 e2de 15a8 e7fe e6db eafb bafb ................ │ │ │ +000438a0: 0100 cc01 0004 38de 05b4 8080 e608 0000 ......8......... │ │ │ +000438b0: 0005 2000 0001 0001 0004 0408 0307 0286 .. ............. │ │ │ +000438c0: 8080 ec08 0200 0003 0f00 0505 050b 8780 ................ │ │ │ +000438d0: 80ec 0801 0520 0000 010b 5d0b cd01 c5e8 ..... ....]..... │ │ │ +000438e0: 84ca e3aa 8cc7 b901 e6f0 cccb 93a0 999c ................ │ │ │ +000438f0: 3900 cd01 0004 392f 05b4 8080 e608 0000 9.....9/........ │ │ │ +00043900: 0005 2000 0001 0001 0004 0408 0307 0286 .. ............. │ │ │ +00043910: 8080 ec08 0200 0003 0f00 0505 050b 8780 ................ │ │ │ +00043920: 80ec 0801 0520 0000 010b ce01 0bcf 01b1 ..... .......... │ │ │ +00043930: a7c3 eda5 91f0 d2fb 018f e1e3 a490 ff9a ................ │ │ │ +00043940: 8cd7 0100 cf01 0004 3981 05b4 8080 e608 ........9....... │ │ │ +00043950: 0000 0005 2000 0001 0001 0004 0408 0307 .... ........... │ │ │ +00043960: 0286 8080 ec08 0200 0003 0f00 0505 050b ................ │ │ │ +00043970: 8780 80ec 0801 0520 0000 010b d001 0bd1 ....... ........ │ │ │ +00043980: 01cb f2e5 90e9 b1eb ff82 01d0 cbd3 dd95 ................ │ │ │ +00043990: 94af f983 0100 d101 0004 39d3 05b4 8080 ..........9..... │ │ │ +000439a0: e608 0000 0005 2000 0001 0001 0004 0408 ...... ......... │ │ │ +000439b0: 0307 0286 8080 ec08 0200 0003 0f00 0505 ................ │ │ │ +000439c0: 050b 8780 80ec 0801 0520 0000 010b d201 ......... ...... │ │ │ +000439d0: 0bd3 01cf bd95 ccf8 feb6 90c8 019b b1d4 ................ │ │ │ +000439e0: edc0 d1f3 f87e 00c6 0100 043a 2405 b480 .....~.....:$... │ │ │ +000439f0: 80e6 0800 0000 0520 0000 0100 0100 0404 ....... ........ │ │ │ +00043a00: 0803 0702 8680 80ec 0802 0000 030f 0005 ................ │ │ │ +00043a10: 0505 0b87 8080 ec08 0105 2000 0001 0ba5 .......... ..... │ │ │ +00043a20: 010b d401 f48c dddf e282 dce2 40e0 df82 ............@... │ │ │ +00043a30: bb84 bfc7 d95b 00d3 0100 043a 7405 b480 .....[.....:t... │ │ │ +00043a40: 80e6 0800 0000 0520 0000 0100 0100 0404 ....... ........ │ │ │ +00043a50: 0803 0702 8680 80ec 0802 0000 030f 0005 ................ │ │ │ +00043a60: 0505 0b87 8080 ec08 0105 2000 0001 0bd5 .......... ..... │ │ │ +00043a70: 010b d601 80e5 efd6 d4f8 ad36 aca0 a1da ...........6.... │ │ │ +00043a80: 93a7 e3a5 5b00 d601 0004 3ac3 05b4 8080 ....[.....:..... │ │ │ +00043a90: e608 0000 0005 2000 0001 0001 0004 0408 ...... ......... │ │ │ +00043aa0: 0307 0286 8080 ec08 0200 0003 0f00 0505 ................ │ │ │ +00043ab0: 050b 8780 80ec 0801 0520 0000 010b d701 ......... ...... │ │ │ +00043ac0: 0bd8 01d2 92a9 aac7 eabe e251 8096 bb9f ...........Q.... │ │ │ +00043ad0: d2e0 88f3 5d00 d801 0004 3b13 05b4 8080 ....].....;..... │ │ │ +00043ae0: e608 0000 0005 2000 0001 0001 0004 0408 ...... ......... │ │ │ +00043af0: 0307 0286 8080 ec08 0200 0003 0f00 0505 ................ │ │ │ +00043b00: 050b 8780 80ec 0801 0520 0000 010b d901 ......... ...... │ │ │ +00043b10: 0bda 01f2 f8c6 e4a2 93a9 a8f3 019d c8a5 ................ │ │ │ +00043b20: f6e4 8bf8 b4c0 0100 da01 0004 3b65 05b4 ............;e.. │ │ │ +00043b30: 8080 e608 0000 0005 2000 0001 0001 0004 ........ ....... │ │ │ +00043b40: 0408 0307 0286 8080 ec08 0200 0003 0f00 ................ │ │ │ +00043b50: 0505 050b 8780 80ec 0801 0520 0000 010b ........... .... │ │ │ +00043b60: db01 0bdc 018d 8c8a e7d1 d1ed c9bb 0183 ................ │ │ │ +00043b70: 9ede 969c eed0 da5f 00dc 0100 043b b605 ......._.....;.. │ │ │ +00043b80: b480 80e6 0800 0000 0520 0000 0100 0100 ......... ...... │ │ │ +00043b90: 0404 0803 0702 8680 80ec 0802 0000 030f ................ │ │ │ +00043ba0: 0005 0505 0b87 8080 ec08 0105 2000 0001 ............ ... │ │ │ +00043bb0: 0bdd 010b de01 c8b0 fe92 d8b4 97bc b501 ................ │ │ │ +00043bc0: d3f8 a4c4 b98a b3eb c301 00de 0100 043c ...............< │ │ │ +00043bd0: 0805 b480 80e6 0800 0000 0520 0000 0100 ........... .... │ │ │ +00043be0: 0100 0404 0803 0702 8680 80ec 0802 0000 ................ │ │ │ +00043bf0: 030f 0005 0505 0b87 8080 ec08 0105 2000 .............. . │ │ │ +00043c00: 0001 0bdf 010b e001 c9ec 8889 80d6 95b4 ................ │ │ │ +00043c10: 9201 ee99 f5f8 aa97 b0fa 6a00 e001 0004 ..........j..... │ │ │ +00043c20: 3c59 05b4 8080 e608 0000 0005 2000 0001 =.......... │ │ │ +00043e10: 2000 0001 0001 0004 0408 0307 0286 8080 ............... │ │ │ +00043e20: ec08 0200 0003 0f00 0505 050b 8780 80ec ................ │ │ │ +00043e30: 0801 0520 0000 010b ec01 0bed 01f6 91d2 ... ............ │ │ │ +00043e40: 9fbd 868e dcb0 01ad aaa8 f5b0 e9c4 9714 ................ │ │ │ +00043e50: 00ed 0100 043e 8e05 b480 80e6 0800 0000 .....>.......... │ │ │ +00043e60: 0520 0000 0100 0100 0404 0803 0702 8680 . .............. │ │ │ +00043e70: 80ec 0802 0000 030f 0005 0505 0b87 8080 ................ │ │ │ +00043e80: ec08 0105 2000 0001 0bee 010b ef01 ae92 .... ........... │ │ │ +00043e90: dbc6 97b8 bec2 8e01 d5c3 a9c2 a6e7 9a90 ................ │ │ │ +00043ea0: 9301 00ef 0100 043e e005 b480 80e6 0800 .......>........ │ │ │ +00043eb0: 0000 0520 0000 0100 0100 0404 0803 0702 ... ............ │ │ │ +00043ec0: 8680 80ec 0802 0000 030f 0005 0505 0b87 ................ │ │ │ +00043ed0: 8080 ec08 0105 2000 0001 0bf0 010b f101 ...... ......... │ │ │ +00043ee0: ec9b b2d4 aed2 d1ae 4ce4 88f9 a4b1 8299 ........L....... │ │ │ +00043ef0: d072 00f1 0100 043f 3005 b480 80e6 0800 .r.....?0....... │ │ │ +00043f00: 0000 0520 0000 0100 0100 0404 0803 0702 ... ............ │ │ │ +00043f10: 8680 80ec 0802 0000 030f 0005 0505 0b87 ................ │ │ │ +00043f20: 8080 ec08 0105 2000 0001 0bf2 010b f301 ...... ......... │ │ │ +00043f30: d983 f2f6 bde7 efa4 e301 e7d2 d49e e890 ................ │ │ │ +00043f40: 9aa3 f001 00f3 0100 043f 8205 b480 80e6 .........?...... │ │ │ +00043f50: 0800 0000 0520 0000 0100 0100 0404 0803 ..... .......... │ │ │ +00043f60: 0702 8680 80ec 0802 0000 030f 0005 0505 ................ │ │ │ +00043f70: 0b87 8080 ec08 0105 2000 0001 0bf4 010b ........ ....... │ │ │ +00043f80: f501 a8e3 aca5 a3d3 8460 c3b5 8fc6 bfea .........`...... │ │ │ +00043f90: b4c3 3100 f501 0004 3fd1 05b4 8080 e608 ..1.....?....... │ │ │ +00043fa0: 0000 0005 2000 0001 0001 0004 0408 0307 .... ........... │ │ │ +00043fb0: 0286 8080 ec08 0200 0003 0f00 0505 050b ................ │ │ │ +00043fc0: 8780 80ec 0801 0520 0000 010b f601 0bf7 ....... ........ │ │ │ +00043fd0: 01b8 f7e0 90b6 d38e d5f6 01c5 9fd4 acee ................ │ │ │ +00043fe0: f096 c30e 00f7 0100 0440 2c05 b480 80e6 .........@,..... │ │ │ +00043ff0: 0800 0000 0520 0000 0100 0100 0404 0803 ..... .......... │ │ │ +00044000: 0702 8680 80ec 0802 0000 030f 0005 0505 ................ │ │ │ +00044010: 0b87 8080 ec08 0105 2000 0001 0bf8 0105 ........ ....... │ │ │ +00044020: 0b9f 8080 ec08 0105 2000 0001 dd82 f8a0 ........ ....... │ │ │ +00044030: b2ab cbb6 5f99 efea adeb a2ad 88c8 0100 ...._........... │ │ │ +00044040: f801 0004 406a 0520 0000 0100 0404 0803 ....@j. ........ │ │ │ +00044050: 0702 5e02 0000 030f 0005 0505 0b5f 0bf9 ..^.........._.. │ │ │ +00044060: 010b 6109 0601 00b6 c300 b8f9 feac a5bd ..a............. │ │ │ +00044070: f8e4 e201 f1a1 8fae dbe7 a6de 1d00 f901 ................ │ │ │ +00044080: 0004 6253 0582 8080 e608 0000 0100 0304 ..bS............ │ │ │ +00044090: 0704 0200 0003 0f00 0901 b6c3 007b 2d23 .............{-# │ │ │ +000440a0: 204c 414e 4755 4147 4520 4350 5020 232d LANGUAGE CPP #- │ │ │ +000440b0: 7d0a 0a6d 6f64 756c 6520 4d41 6c6f 6e7a }..module MAlonz │ │ │ +000440c0: 6f2e 5254 452e 466c 6f61 7420 7768 6572 o.RTE.Float wher │ │ │ +000440d0: 650a 0a69 6d70 6f72 7420 5072 656c 7564 e..import Prelud │ │ │ +000440e0: 650a 2020 2820 426f 6f6c 2c20 446f 7562 e. ( Bool, Doub │ │ │ +000440f0: 6c65 2c20 496e 742c 2049 6e74 6567 6572 le, Int, Integer │ │ │ +00044100: 2c20 4d61 7962 6528 2e2e 292c 204f 7264 , Maybe(..), Ord │ │ │ +00044110: 6572 696e 6728 2e2e 290a 2020 2c20 4571 ering(..). , Eq │ │ │ +00044120: 282e 2e29 2c20 4f72 6428 2e2e 292c 2046 (..), Ord(..), F │ │ │ +00044130: 756e 6374 6f72 282e 2e29 0a20 202c 2046 unctor(..). , F │ │ │ +00044140: 6c6f 6174 696e 6728 2e2e 292c 2046 7261 loating(..), Fra │ │ │ +00044150: 6374 696f 6e61 6c28 2e2e 292c 2049 6e74 ctional(..), Int │ │ │ +00044160: 6567 7261 6c28 2e2e 292c 204e 756d 282e egral(..), Num(. │ │ │ +00044170: 2e29 2c20 5265 616c 282e 2e29 2c20 5265 .), Real(..), Re │ │ │ +00044180: 616c 466c 6f61 7428 2e2e 292c 2052 6561 alFloat(..), Rea │ │ │ +00044190: 6c46 7261 6328 2e2e 290a 2020 2c20 2824 lFrac(..). , ($ │ │ │ +000441a0: 292c 2028 2e29 2c20 6f74 6865 7277 6973 ), (.), otherwis │ │ │ +000441b0: 652c 2075 6e63 7572 7279 2c20 756e 6465 e, uncurry, unde │ │ │ +000441c0: 6669 6e65 640a 2020 2c20 2826 2629 2c20 fined. , (&&), │ │ │ +000441d0: 6673 742c 2073 6e64 0a20 202c 2028 5e29 fst, snd. , (^) │ │ │ +000441e0: 2c20 6576 656e 2c20 6672 6f6d 496e 7465 , even, fromInte │ │ │ +000441f0: 6772 616c 0a20 2029 0a0a 696d 706f 7274 gral. )..import │ │ │ +00044200: 2044 6174 612e 4269 6675 6e63 746f 7220 Data.Bifunctor │ │ │ +00044210: 2020 2820 6269 6d61 702c 2073 6563 6f6e ( bimap, secon │ │ │ +00044220: 6420 290a 696d 706f 7274 2044 6174 612e d ).import Data. │ │ │ +00044230: 4675 6e63 7469 6f6e 2020 2020 2820 6f6e Function ( on │ │ │ +00044240: 2029 0a69 6d70 6f72 7420 4461 7461 2e4d ).import Data.M │ │ │ +00044250: 6179 6265 2020 2020 2020 2028 2066 726f aybe ( fro │ │ │ +00044260: 6d4d 6179 6265 2029 0a69 6d70 6f72 7420 mMaybe ).import │ │ │ +00044270: 4461 7461 2e52 6174 696f 2020 2020 2020 Data.Ratio │ │ │ +00044280: 2028 2028 2529 2c20 6e75 6d65 7261 746f ( (%), numerato │ │ │ +00044290: 722c 2064 656e 6f6d 696e 6174 6f72 2029 r, denominator ) │ │ │ +000442a0: 0a69 6d70 6f72 7420 4461 7461 2e57 6f72 .import Data.Wor │ │ │ +000442b0: 6420 2020 2020 2020 2028 2057 6f72 6436 d ( Word6 │ │ │ +000442c0: 3420 290a 0a23 6966 205f 5f47 4c41 5347 4 )..#if __GLASG │ │ │ +000442d0: 4f57 5f48 4153 4b45 4c4c 5f5f 203e 3d20 OW_HASKELL__ >= │ │ │ +000442e0: 3830 340a 696d 706f 7274 2047 4843 2e46 804.import GHC.F │ │ │ +000442f0: 6c6f 6174 2028 6361 7374 446f 7562 6c65 loat (castDouble │ │ │ +00044300: 546f 576f 7264 3634 2c20 6361 7374 576f ToWord64, castWo │ │ │ +00044310: 7264 3634 546f 446f 7562 6c65 290a 2365 rd64ToDouble).#e │ │ │ +00044320: 6c73 650a 696d 706f 7274 2053 7973 7465 lse.import Syste │ │ │ +00044330: 6d2e 494f 2e55 6e73 6166 6520 2875 6e73 m.IO.Unsafe (uns │ │ │ +00044340: 6166 6550 6572 666f 726d 494f 290a 696d afePerformIO).im │ │ │ +00044350: 706f 7274 2071 7561 6c69 6669 6564 2046 port qualified F │ │ │ +00044360: 6f72 6569 676e 2020 2020 2020 2020 2020 oreign │ │ │ +00044370: 6173 2046 0a69 6d70 6f72 7420 7175 616c as F.import qual │ │ │ +00044380: 6966 6965 6420 466f 7265 6967 6e2e 5374 ified Foreign.St │ │ │ +00044390: 6f72 6162 6c65 2061 7320 460a 2365 6e64 orable as F.#end │ │ │ +000443a0: 6966 0a0a 2369 6620 5f5f 474c 4153 474f if..#if __GLASGO │ │ │ +000443b0: 575f 4841 534b 454c 4c5f 5f20 3c20 3830 W_HASKELL__ < 80 │ │ │ +000443c0: 340a 6361 7374 446f 7562 6c65 546f 576f 4.castDoubleToWo │ │ │ +000443d0: 7264 3634 203a 3a20 446f 7562 6c65 202d rd64 :: Double - │ │ │ +000443e0: 3e20 576f 7264 3634 0a63 6173 7444 6f75 > Word64.castDou │ │ │ +000443f0: 626c 6554 6f57 6f72 6436 3420 666c 6f61 bleToWord64 floa │ │ │ +00044400: 7420 3d20 756e 7361 6665 5065 7266 6f72 t = unsafePerfor │ │ │ +00044410: 6d49 4f20 2420 462e 616c 6c6f 6361 2024 mIO $ F.alloca $ │ │ │ +00044420: 205c 6275 6620 2d3e 2064 6f0a 2020 462e \buf -> do. F. │ │ │ +00044430: 706f 6b65 2028 462e 6361 7374 5074 7220 poke (F.castPtr │ │ │ +00044440: 6275 6629 2066 6c6f 6174 0a20 2046 2e70 buf) float. F.p │ │ │ +00044450: 6565 6b20 6275 660a 0a63 6173 7457 6f72 eek buf..castWor │ │ │ +00044460: 6436 3454 6f44 6f75 626c 6520 3a3a 2057 d64ToDouble :: W │ │ │ +00044470: 6f72 6436 3420 2d3e 2044 6f75 626c 650a ord64 -> Double. │ │ │ +00044480: 6361 7374 576f 7264 3634 546f 446f 7562 castWord64ToDoub │ │ │ +00044490: 6c65 2077 6f72 6420 3d20 756e 7361 6665 le word = unsafe │ │ │ +000444a0: 5065 7266 6f72 6d49 4f20 2420 462e 616c PerformIO $ F.al │ │ │ +000444b0: 6c6f 6361 2024 205c 6275 6620 2d3e 2064 loca $ \buf -> d │ │ │ +000444c0: 6f0a 2020 462e 706f 6b65 2028 462e 6361 o. F.poke (F.ca │ │ │ +000444d0: 7374 5074 7220 6275 6629 2077 6f72 640a stPtr buf) word. │ │ │ +000444e0: 2020 462e 7065 656b 2062 7566 0a23 656e F.peek buf.#en │ │ │ +000444f0: 6469 660a 0a7b 2d23 2049 4e4c 494e 4520 dif..{-# INLINE │ │ │ +00044500: 646f 7562 6c65 4571 2023 2d7d 0a64 6f75 doubleEq #-}.dou │ │ │ +00044510: 626c 6545 7120 3a3a 2044 6f75 626c 6520 bleEq :: Double │ │ │ +00044520: 2d3e 2044 6f75 626c 6520 2d3e 2042 6f6f -> Double -> Boo │ │ │ +00044530: 6c0a 646f 7562 6c65 4571 203d 2028 3d3d l.doubleEq = (== │ │ │ +00044540: 290a 0a7b 2d23 2049 4e4c 494e 4520 646f )..{-# INLINE do │ │ │ +00044550: 7562 6c65 4c65 2023 2d7d 0a64 6f75 626c ubleLe #-}.doubl │ │ │ +00044560: 654c 6520 3a3a 2044 6f75 626c 6520 2d3e eLe :: Double -> │ │ │ +00044570: 2044 6f75 626c 6520 2d3e 2042 6f6f 6c0a Double -> Bool. │ │ │ +00044580: 646f 7562 6c65 4c65 203d 2028 3c3d 290a doubleLe = (<=). │ │ │ +00044590: 0a7b 2d23 2049 4e4c 494e 4520 646f 7562 .{-# INLINE doub │ │ │ +000445a0: 6c65 4c74 2023 2d7d 0a64 6f75 626c 654c leLt #-}.doubleL │ │ │ +000445b0: 7420 3a3a 2044 6f75 626c 6520 2d3e 2044 t :: Double -> D │ │ │ +000445c0: 6f75 626c 6520 2d3e 2042 6f6f 6c0a 646f ouble -> Bool.do │ │ │ +000445d0: 7562 6c65 4c74 203d 2028 3c29 0a0a 7472 ubleLt = (<)..tr │ │ │ +000445e0: 756e 6361 7465 446f 7562 6c65 203a 3a20 uncateDouble :: │ │ │ +000445f0: 446f 7562 6c65 202d 3e20 446f 7562 6c65 Double -> Double │ │ │ +00044600: 0a74 7275 6e63 6174 6544 6f75 626c 6520 .truncateDouble │ │ │ +00044610: 3d20 6361 7374 576f 7264 3634 546f 446f = castWord64ToDo │ │ │ +00044620: 7562 6c65 202e 2063 6173 7444 6f75 626c uble . castDoubl │ │ │ +00044630: 6554 6f57 6f72 6436 340a 0a7b 2d23 2049 eToWord64..{-# I │ │ │ +00044640: 4e4c 494e 4520 696e 7454 6f44 6f75 626c NLINE intToDoubl │ │ │ +00044650: 6520 232d 7d0a 696e 7454 6f44 6f75 626c e #-}.intToDoubl │ │ │ +00044660: 6520 3a3a 2049 6e74 6567 7261 6c20 6120 e :: Integral a │ │ │ +00044670: 3d3e 2061 202d 3e20 446f 7562 6c65 0a69 => a -> Double.i │ │ │ +00044680: 6e74 546f 446f 7562 6c65 203d 2074 7275 ntToDouble = tru │ │ │ +00044690: 6e63 6174 6544 6f75 626c 6520 2e20 6672 ncateDouble . fr │ │ │ +000446a0: 6f6d 496e 7465 6772 616c 0a0a 7b2d 2320 omIntegral..{-# │ │ │ +000446b0: 494e 4c49 4e45 2064 6f75 626c 6550 6c75 INLINE doublePlu │ │ │ +000446c0: 7320 232d 7d0a 646f 7562 6c65 506c 7573 s #-}.doublePlus │ │ │ +000446d0: 203a 3a20 446f 7562 6c65 202d 3e20 446f :: Double -> Do │ │ │ +000446e0: 7562 6c65 202d 3e20 446f 7562 6c65 0a64 uble -> Double.d │ │ │ +000446f0: 6f75 626c 6550 6c75 7320 7820 7920 3d20 oublePlus x y = │ │ │ +00044700: 7472 756e 6361 7465 446f 7562 6c65 2028 truncateDouble ( │ │ │ +00044710: 7820 2b20 7929 0a0a 7b2d 2320 494e 4c49 x + y)..{-# INLI │ │ │ +00044720: 4e45 2064 6f75 626c 654d 696e 7573 2023 NE doubleMinus # │ │ │ +00044730: 2d7d 0a64 6f75 626c 654d 696e 7573 203a -}.doubleMinus : │ │ │ +00044740: 3a20 446f 7562 6c65 202d 3e20 446f 7562 : Double -> Doub │ │ │ +00044750: 6c65 202d 3e20 446f 7562 6c65 0a64 6f75 le -> Double.dou │ │ │ +00044760: 626c 654d 696e 7573 2078 2079 203d 2074 bleMinus x y = t │ │ │ +00044770: 7275 6e63 6174 6544 6f75 626c 6520 2878 runcateDouble (x │ │ │ +00044780: 202d 2079 290a 0a7b 2d23 2049 4e4c 494e - y)..{-# INLIN │ │ │ +00044790: 4520 646f 7562 6c65 5469 6d65 7320 232d E doubleTimes #- │ │ │ +000447a0: 7d0a 646f 7562 6c65 5469 6d65 7320 3a3a }.doubleTimes :: │ │ │ +000447b0: 2044 6f75 626c 6520 2d3e 2044 6f75 626c Double -> Doubl │ │ │ +000447c0: 6520 2d3e 2044 6f75 626c 650a 646f 7562 e -> Double.doub │ │ │ +000447d0: 6c65 5469 6d65 7320 7820 7920 3d20 7472 leTimes x y = tr │ │ │ +000447e0: 756e 6361 7465 446f 7562 6c65 2028 7820 uncateDouble (x │ │ │ +000447f0: 2a20 7929 0a0a 7b2d 2320 494e 4c49 4e45 * y)..{-# INLINE │ │ │ +00044800: 2064 6f75 626c 654e 6567 6174 6520 232d doubleNegate #- │ │ │ +00044810: 7d0a 646f 7562 6c65 4e65 6761 7465 203a }.doubleNegate : │ │ │ +00044820: 3a20 446f 7562 6c65 202d 3e20 446f 7562 : Double -> Doub │ │ │ +00044830: 6c65 0a64 6f75 626c 654e 6567 6174 6520 le.doubleNegate │ │ │ +00044840: 3d20 6e65 6761 7465 202d 2d20 4e4f 5445 = negate -- NOTE │ │ │ +00044850: 3a20 646f 6573 6e27 7420 6361 7573 6520 : doesn't cause │ │ │ +00044860: 756e 6465 7266 6c6f 772f 6f76 6572 666c underflow/overfl │ │ │ +00044870: 6f77 0a0a 7b2d 2320 494e 4c49 4e45 2064 ow..{-# INLINE d │ │ │ +00044880: 6f75 626c 6544 6976 2023 2d7d 0a64 6f75 oubleDiv #-}.dou │ │ │ +00044890: 626c 6544 6976 203a 3a20 446f 7562 6c65 bleDiv :: Double │ │ │ +000448a0: 202d 3e20 446f 7562 6c65 202d 3e20 446f -> Double -> Do │ │ │ +000448b0: 7562 6c65 0a64 6f75 626c 6544 6976 203d uble.doubleDiv = │ │ │ +000448c0: 2028 2f29 202d 2d20 4e4f 5445 3a20 646f (/) -- NOTE: do │ │ │ +000448d0: 6573 6e27 7420 6361 7573 6520 756e 6465 esn't cause unde │ │ │ +000448e0: 7266 6c6f 772f 6f76 6572 666c 6f77 0a0a rflow/overflow.. │ │ │ +000448f0: 7b2d 2320 494e 4c49 4e45 2064 6f75 626c {-# INLINE doubl │ │ │ +00044900: 6550 6f77 2023 2d7d 0a64 6f75 626c 6550 ePow #-}.doubleP │ │ │ +00044910: 6f77 203a 3a20 446f 7562 6c65 202d 3e20 ow :: Double -> │ │ │ +00044920: 446f 7562 6c65 202d 3e20 446f 7562 6c65 Double -> Double │ │ │ +00044930: 0a64 6f75 626c 6550 6f77 2078 2079 203d .doublePow x y = │ │ │ +00044940: 2074 7275 6e63 6174 6544 6f75 626c 6520 truncateDouble │ │ │ +00044950: 2878 202a 2a20 7929 0a0a 7b2d 2320 494e (x ** y)..{-# IN │ │ │ +00044960: 4c49 4e45 2064 6f75 626c 6553 7172 7420 LINE doubleSqrt │ │ │ +00044970: 232d 7d0a 646f 7562 6c65 5371 7274 203a #-}.doubleSqrt : │ │ │ +00044980: 3a20 446f 7562 6c65 202d 3e20 446f 7562 : Double -> Doub │ │ │ +00044990: 6c65 0a64 6f75 626c 6553 7172 7420 3d20 le.doubleSqrt = │ │ │ +000449a0: 7371 7274 202d 2d20 4e4f 5445 3a20 646f sqrt -- NOTE: do │ │ │ +000449b0: 6573 6e27 7420 6361 7573 6520 756e 6465 esn't cause unde │ │ │ +000449c0: 7266 6c6f 772f 6f76 6572 666c 6f77 0a0a rflow/overflow.. │ │ │ +000449d0: 7b2d 2320 494e 4c49 4e45 2064 6f75 626c {-# INLINE doubl │ │ │ +000449e0: 6545 7870 2023 2d7d 0a64 6f75 626c 6545 eExp #-}.doubleE │ │ │ +000449f0: 7870 203a 3a20 446f 7562 6c65 202d 3e20 xp :: Double -> │ │ │ +00044a00: 446f 7562 6c65 0a64 6f75 626c 6545 7870 Double.doubleExp │ │ │ +00044a10: 2078 203d 2074 7275 6e63 6174 6544 6f75 x = truncateDou │ │ │ +00044a20: 626c 6520 2865 7870 2078 290a 0a7b 2d23 ble (exp x)..{-# │ │ │ +00044a30: 2049 4e4c 494e 4520 646f 7562 6c65 4c6f INLINE doubleLo │ │ │ +00044a40: 6720 232d 7d0a 646f 7562 6c65 4c6f 6720 g #-}.doubleLog │ │ │ +00044a50: 3a3a 2044 6f75 626c 6520 2d3e 2044 6f75 :: Double -> Dou │ │ │ +00044a60: 626c 650a 646f 7562 6c65 4c6f 6720 3d20 ble.doubleLog = │ │ │ +00044a70: 6c6f 6720 2d2d 204e 4f54 453a 2064 6f65 log -- NOTE: doe │ │ │ +00044a80: 736e 2774 2063 6175 7365 2075 6e64 6572 sn't cause under │ │ │ +00044a90: 666c 6f77 2f6f 7665 7266 6c6f 770a 0a7b flow/overflow..{ │ │ │ +00044aa0: 2d23 2049 4e4c 494e 4520 646f 7562 6c65 -# INLINE double │ │ │ +00044ab0: 5369 6e20 232d 7d0a 646f 7562 6c65 5369 Sin #-}.doubleSi │ │ │ +00044ac0: 6e20 3a3a 2044 6f75 626c 6520 2d3e 2044 n :: Double -> D │ │ │ +00044ad0: 6f75 626c 650a 646f 7562 6c65 5369 6e20 ouble.doubleSin │ │ │ +00044ae0: 3d20 7369 6e20 2d2d 204e 4f54 453a 2064 = sin -- NOTE: d │ │ │ +00044af0: 6f65 736e 2774 2063 6175 7365 2075 6e64 oesn't cause und │ │ │ +00044b00: 6572 666c 6f77 2f6f 7665 7266 6c6f 770a erflow/overflow. │ │ │ +00044b10: 0a7b 2d23 2049 4e4c 494e 4520 646f 7562 .{-# INLINE doub │ │ │ +00044b20: 6c65 436f 7320 232d 7d0a 646f 7562 6c65 leCos #-}.double │ │ │ +00044b30: 436f 7320 3a3a 2044 6f75 626c 6520 2d3e Cos :: Double -> │ │ │ +00044b40: 2044 6f75 626c 650a 646f 7562 6c65 436f Double.doubleCo │ │ │ +00044b50: 7320 3d20 636f 7320 2d2d 204e 4f54 453a s = cos -- NOTE: │ │ │ +00044b60: 2064 6f65 736e 2774 2063 6175 7365 2075 doesn't cause u │ │ │ +00044b70: 6e64 6572 666c 6f77 2f6f 7665 7266 6c6f nderflow/overflo │ │ │ +00044b80: 770a 0a7b 2d23 2049 4e4c 494e 4520 646f w..{-# INLINE do │ │ │ +00044b90: 7562 6c65 5461 6e20 232d 7d0a 646f 7562 ubleTan #-}.doub │ │ │ +00044ba0: 6c65 5461 6e20 3a3a 2044 6f75 626c 6520 leTan :: Double │ │ │ +00044bb0: 2d3e 2044 6f75 626c 650a 646f 7562 6c65 -> Double.double │ │ │ +00044bc0: 5461 6e20 3d20 7461 6e20 2d2d 204e 4f54 Tan = tan -- NOT │ │ │ +00044bd0: 453a 2064 6f65 736e 2774 2063 6175 7365 E: doesn't cause │ │ │ +00044be0: 2075 6e64 6572 666c 6f77 2f6f 7665 7266 underflow/overf │ │ │ +00044bf0: 6c6f 770a 0a7b 2d23 2049 4e4c 494e 4520 low..{-# INLINE │ │ │ +00044c00: 646f 7562 6c65 4153 696e 2023 2d7d 0a64 doubleASin #-}.d │ │ │ +00044c10: 6f75 626c 6541 5369 6e20 3a3a 2044 6f75 oubleASin :: Dou │ │ │ +00044c20: 626c 6520 2d3e 2044 6f75 626c 650a 646f ble -> Double.do │ │ │ +00044c30: 7562 6c65 4153 696e 203d 2061 7369 6e20 ubleASin = asin │ │ │ +00044c40: 2d2d 204e 4f54 453a 2064 6f65 736e 2774 -- NOTE: doesn't │ │ │ +00044c50: 2063 6175 7365 2075 6e64 6572 666c 6f77 cause underflow │ │ │ +00044c60: 2f6f 7665 7266 6c6f 770a 0a7b 2d23 2049 /overflow..{-# I │ │ │ +00044c70: 4e4c 494e 4520 646f 7562 6c65 4143 6f73 NLINE doubleACos │ │ │ +00044c80: 2023 2d7d 0a64 6f75 626c 6541 436f 7320 #-}.doubleACos │ │ │ +00044c90: 3a3a 2044 6f75 626c 6520 2d3e 2044 6f75 :: Double -> Dou │ │ │ +00044ca0: 626c 650a 646f 7562 6c65 4143 6f73 203d ble.doubleACos = │ │ │ +00044cb0: 2061 636f 7320 2d2d 204e 4f54 453a 2064 acos -- NOTE: d │ │ │ +00044cc0: 6f65 736e 2774 2063 6175 7365 2075 6e64 oesn't cause und │ │ │ +00044cd0: 6572 666c 6f77 2f6f 7665 7266 6c6f 770a erflow/overflow. │ │ │ +00044ce0: 0a7b 2d23 2049 4e4c 494e 4520 646f 7562 .{-# INLINE doub │ │ │ +00044cf0: 6c65 4154 616e 2023 2d7d 0a64 6f75 626c leATan #-}.doubl │ │ │ +00044d00: 6541 5461 6e20 3a3a 2044 6f75 626c 6520 eATan :: Double │ │ │ +00044d10: 2d3e 2044 6f75 626c 650a 646f 7562 6c65 -> Double.double │ │ │ +00044d20: 4154 616e 203d 2061 7461 6e20 2d2d 204e ATan = atan -- N │ │ │ +00044d30: 4f54 453a 2064 6f65 736e 2774 2063 6175 OTE: doesn't cau │ │ │ +00044d40: 7365 2075 6e64 6572 666c 6f77 2f6f 7665 se underflow/ove │ │ │ +00044d50: 7266 6c6f 770a 0a7b 2d23 2049 4e4c 494e rflow..{-# INLIN │ │ │ +00044d60: 4520 646f 7562 6c65 4154 616e 3220 232d E doubleATan2 #- │ │ │ +00044d70: 7d0a 646f 7562 6c65 4154 616e 3220 3a3a }.doubleATan2 :: │ │ │ +00044d80: 2044 6f75 626c 6520 2d3e 2044 6f75 626c Double -> Doubl │ │ │ +00044d90: 6520 2d3e 2044 6f75 626c 650a 646f 7562 e -> Double.doub │ │ │ +00044da0: 6c65 4154 616e 3220 3d20 6174 616e 3220 leATan2 = atan2 │ │ │ +00044db0: 2d2d 204e 4f54 453a 2064 6f65 736e 2774 -- NOTE: doesn't │ │ │ +00044dc0: 2063 6175 7365 2075 6e64 6572 666c 6f77 cause underflow │ │ │ +00044dd0: 2f6f 7665 7266 6c6f 770a 0a7b 2d23 2049 /overflow..{-# I │ │ │ +00044de0: 4e4c 494e 4520 646f 7562 6c65 5369 6e68 NLINE doubleSinh │ │ │ +00044df0: 2023 2d7d 0a64 6f75 626c 6553 696e 6820 #-}.doubleSinh │ │ │ +00044e00: 3a3a 2044 6f75 626c 6520 2d3e 2044 6f75 :: Double -> Dou │ │ │ +00044e10: 626c 650a 646f 7562 6c65 5369 6e68 203d ble.doubleSinh = │ │ │ +00044e20: 2073 696e 6820 2d2d 204e 4f54 453a 2064 sinh -- NOTE: d │ │ │ +00044e30: 6f65 736e 2774 2063 6175 7365 2075 6e64 oesn't cause und │ │ │ +00044e40: 6572 666c 6f77 2f6f 7665 7266 6c6f 770a erflow/overflow. │ │ │ +00044e50: 0a7b 2d23 2049 4e4c 494e 4520 646f 7562 .{-# INLINE doub │ │ │ +00044e60: 6c65 436f 7368 2023 2d7d 0a64 6f75 626c leCosh #-}.doubl │ │ │ +00044e70: 6543 6f73 6820 3a3a 2044 6f75 626c 6520 eCosh :: Double │ │ │ +00044e80: 2d3e 2044 6f75 626c 650a 646f 7562 6c65 -> Double.double │ │ │ +00044e90: 436f 7368 203d 2063 6f73 6820 2d2d 204e Cosh = cosh -- N │ │ │ +00044ea0: 4f54 453a 2064 6f65 736e 2774 2063 6175 OTE: doesn't cau │ │ │ +00044eb0: 7365 2075 6e64 6572 666c 6f77 2f6f 7665 se underflow/ove │ │ │ +00044ec0: 7266 6c6f 770a 0a7b 2d23 2049 4e4c 494e rflow..{-# INLIN │ │ │ +00044ed0: 4520 646f 7562 6c65 5461 6e68 2023 2d7d E doubleTanh #-} │ │ │ +00044ee0: 0a64 6f75 626c 6554 616e 6820 3a3a 2044 .doubleTanh :: D │ │ │ +00044ef0: 6f75 626c 6520 2d3e 2044 6f75 626c 650a ouble -> Double. │ │ │ +00044f00: 646f 7562 6c65 5461 6e68 203d 2074 616e doubleTanh = tan │ │ │ +00044f10: 6820 2d2d 204e 4f54 453a 2064 6f65 736e h -- NOTE: doesn │ │ │ +00044f20: 2774 2063 6175 7365 2075 6e64 6572 666c 't cause underfl │ │ │ +00044f30: 6f77 2f6f 7665 7266 6c6f 770a 0a7b 2d23 ow/overflow..{-# │ │ │ +00044f40: 2049 4e4c 494e 4520 646f 7562 6c65 4153 INLINE doubleAS │ │ │ +00044f50: 696e 6820 232d 7d0a 646f 7562 6c65 4153 inh #-}.doubleAS │ │ │ +00044f60: 696e 6820 3a3a 2044 6f75 626c 6520 2d3e inh :: Double -> │ │ │ +00044f70: 2044 6f75 626c 650a 646f 7562 6c65 4153 Double.doubleAS │ │ │ +00044f80: 696e 6820 3d20 6173 696e 6820 2d2d 204e inh = asinh -- N │ │ │ +00044f90: 4f54 453a 2064 6f65 736e 2774 2063 6175 OTE: doesn't cau │ │ │ +00044fa0: 7365 2075 6e64 6572 666c 6f77 2f6f 7665 se underflow/ove │ │ │ +00044fb0: 7266 6c6f 770a 0a7b 2d23 2049 4e4c 494e rflow..{-# INLIN │ │ │ +00044fc0: 4520 646f 7562 6c65 4143 6f73 6820 232d E doubleACosh #- │ │ │ +00044fd0: 7d0a 646f 7562 6c65 4143 6f73 6820 3a3a }.doubleACosh :: │ │ │ +00044fe0: 2044 6f75 626c 6520 2d3e 2044 6f75 626c Double -> Doubl │ │ │ +00044ff0: 650a 646f 7562 6c65 4143 6f73 6820 3d20 e.doubleACosh = │ │ │ +00045000: 6163 6f73 6820 2d2d 204e 4f54 453a 2064 acosh -- NOTE: d │ │ │ +00045010: 6f65 736e 2774 2063 6175 7365 2075 6e64 oesn't cause und │ │ │ +00045020: 6572 666c 6f77 2f6f 7665 7266 6c6f 770a erflow/overflow. │ │ │ +00045030: 0a7b 2d23 2049 4e4c 494e 4520 646f 7562 .{-# INLINE doub │ │ │ +00045040: 6c65 4154 616e 6820 232d 7d0a 646f 7562 leATanh #-}.doub │ │ │ +00045050: 6c65 4154 616e 6820 3a3a 2044 6f75 626c leATanh :: Doubl │ │ │ +00045060: 6520 2d3e 2044 6f75 626c 650a 646f 7562 e -> Double.doub │ │ │ +00045070: 6c65 4154 616e 6820 3d20 6174 616e 6820 leATanh = atanh │ │ │ +00045080: 2d2d 204e 4f54 453a 2064 6f65 736e 2774 -- NOTE: doesn't │ │ │ +00045090: 2063 6175 7365 2075 6e64 6572 666c 6f77 cause underflow │ │ │ +000450a0: 2f6f 7665 7266 6c6f 770a 0a7b 2d23 2049 /overflow..{-# I │ │ │ +000450b0: 4e4c 494e 4520 6e65 6761 7469 7665 5a65 NLINE negativeZe │ │ │ +000450c0: 726f 2023 2d7d 0a6e 6567 6174 6976 655a ro #-}.negativeZ │ │ │ +000450d0: 6572 6f20 3a3a 2044 6f75 626c 650a 6e65 ero :: Double.ne │ │ │ +000450e0: 6761 7469 7665 5a65 726f 203d 202d 302e gativeZero = -0. │ │ │ +000450f0: 300a 0a70 6f73 6974 6976 6549 6e66 696e 0..positiveInfin │ │ │ +00045100: 6974 7920 3a3a 2044 6f75 626c 650a 706f ity :: Double.po │ │ │ +00045110: 7369 7469 7665 496e 6669 6e69 7479 203d sitiveInfinity = │ │ │ +00045120: 2031 2e30 202f 2030 2e30 0a0a 6e65 6761 1.0 / 0.0..nega │ │ │ +00045130: 7469 7665 496e 6669 6e69 7479 203a 3a20 tiveInfinity :: │ │ │ +00045140: 446f 7562 6c65 0a6e 6567 6174 6976 6549 Double.negativeI │ │ │ +00045150: 6e66 696e 6974 7920 3d20 2d70 6f73 6974 nfinity = -posit │ │ │ +00045160: 6976 6549 6e66 696e 6974 790a 0a6e 616e iveInfinity..nan │ │ │ +00045170: 203a 3a20 446f 7562 6c65 0a6e 616e 203d :: Double.nan = │ │ │ +00045180: 2030 2e30 202f 2030 2e30 0a0a 6973 506f 0.0 / 0.0..isPo │ │ │ +00045190: 7349 6e66 203a 3a20 446f 7562 6c65 202d sInf :: Double - │ │ │ +000451a0: 3e20 426f 6f6c 0a69 7350 6f73 496e 6620 > Bool.isPosInf │ │ │ +000451b0: 7820 3d20 7820 3e20 302e 3020 2626 2069 x = x > 0.0 && i │ │ │ +000451c0: 7349 6e66 696e 6974 6520 780a 0a69 734e sInfinite x..isN │ │ │ +000451d0: 6567 496e 6620 3a3a 2044 6f75 626c 6520 egInf :: Double │ │ │ +000451e0: 2d3e 2042 6f6f 6c0a 6973 4e65 6749 6e66 -> Bool.isNegInf │ │ │ +000451f0: 2078 203d 2078 203c 2030 2e30 2026 2620 x = x < 0.0 && │ │ │ +00045200: 6973 496e 6669 6e69 7465 2078 0a0a 6973 isInfinite x..is │ │ │ +00045210: 506f 735a 6572 6f20 3a3a 2044 6f75 626c PosZero :: Doubl │ │ │ +00045220: 6520 2d3e 2042 6f6f 6c0a 6973 506f 735a e -> Bool.isPosZ │ │ │ +00045230: 6572 6f20 7820 3d20 646f 7562 6c65 4465 ero x = doubleDe │ │ │ +00045240: 6e6f 7445 7120 7820 302e 300a 0a69 734e notEq x 0.0..isN │ │ │ +00045250: 6567 5a65 726f 203a 3a20 446f 7562 6c65 egZero :: Double │ │ │ +00045260: 202d 3e20 426f 6f6c 0a69 734e 6567 5a65 -> Bool.isNegZe │ │ │ +00045270: 726f 2078 203d 2064 6f75 626c 6544 656e ro x = doubleDen │ │ │ +00045280: 6f74 4571 2078 2028 2d30 2e30 290a 0a64 otEq x (-0.0)..d │ │ │ +00045290: 6f75 626c 6552 6f75 6e64 203a 3a20 446f oubleRound :: Do │ │ │ +000452a0: 7562 6c65 202d 3e20 4d61 7962 6520 496e uble -> Maybe In │ │ │ +000452b0: 7465 6765 720a 646f 7562 6c65 526f 756e teger.doubleRoun │ │ │ +000452c0: 6420 3d20 666d 6170 2072 6f75 6e64 202e d = fmap round . │ │ │ +000452d0: 2061 7346 696e 6974 650a 0a64 6f75 626c asFinite..doubl │ │ │ +000452e0: 6546 6c6f 6f72 203a 3a20 446f 7562 6c65 eFloor :: Double │ │ │ +000452f0: 202d 3e20 4d61 7962 6520 496e 7465 6765 -> Maybe Intege │ │ │ +00045300: 720a 646f 7562 6c65 466c 6f6f 7220 3d20 r.doubleFloor = │ │ │ +00045310: 666d 6170 2066 6c6f 6f72 202e 2061 7346 fmap floor . asF │ │ │ +00045320: 696e 6974 650a 0a64 6f75 626c 6543 6569 inite..doubleCei │ │ │ +00045330: 6c69 6e67 203a 3a20 446f 7562 6c65 202d ling :: Double - │ │ │ +00045340: 3e20 4d61 7962 6520 496e 7465 6765 720a > Maybe Integer. │ │ │ +00045350: 646f 7562 6c65 4365 696c 696e 6720 3d20 doubleCeiling = │ │ │ +00045360: 666d 6170 2063 6569 6c69 6e67 202e 2061 fmap ceiling . a │ │ │ +00045370: 7346 696e 6974 650a 0a6e 6f72 6d61 6c69 sFinite..normali │ │ │ +00045380: 7365 4e61 4e20 3a3a 2044 6f75 626c 6520 seNaN :: Double │ │ │ +00045390: 2d3e 2044 6f75 626c 650a 6e6f 726d 616c -> Double.normal │ │ │ +000453a0: 6973 654e 614e 2078 0a20 207c 2069 734e iseNaN x. | isN │ │ │ +000453b0: 614e 2078 2020 203d 206e 616e 0a20 207c aN x = nan. | │ │ │ +000453c0: 206f 7468 6572 7769 7365 203d 2078 0a0a otherwise = x.. │ │ │ +000453d0: 646f 7562 6c65 546f 576f 7264 3634 203a doubleToWord64 : │ │ │ +000453e0: 3a20 446f 7562 6c65 202d 3e20 4d61 7962 : Double -> Mayb │ │ │ +000453f0: 6520 576f 7264 3634 0a64 6f75 626c 6554 e Word64.doubleT │ │ │ +00045400: 6f57 6f72 6436 3420 780a 2020 7c20 6973 oWord64 x. | is │ │ │ +00045410: 4e61 4e20 7820 2020 3d20 4e6f 7468 696e NaN x = Nothin │ │ │ +00045420: 670a 2020 7c20 6f74 6865 7277 6973 6520 g. | otherwise │ │ │ +00045430: 3d20 4a75 7374 2028 6361 7374 446f 7562 = Just (castDoub │ │ │ +00045440: 6c65 546f 576f 7264 3634 2078 290a 0a2d leToWord64 x)..- │ │ │ +00045450: 2d20 7c44 656e 6f74 6174 696f 6e61 6c20 - |Denotational │ │ │ +00045460: 6571 7561 6c69 7479 2066 6f72 2066 6c6f equality for flo │ │ │ +00045470: 6174 696e 6720 706f 696e 7420 6e75 6d62 ating point numb │ │ │ +00045480: 6572 732c 2063 6865 636b 7320 6269 7477 ers, checks bitw │ │ │ +00045490: 6973 6520 6571 7561 6c69 7479 2e0a 2d2d ise equality..-- │ │ │ +000454a0: 0a2d 2d20 204e 4f54 453a 2044 656e 6f74 .-- NOTE: Denot │ │ │ +000454b0: 6174 696f 6e61 6c20 6571 7561 6c69 7479 ational equality │ │ │ +000454c0: 2064 6973 7469 6e67 7569 7368 6573 204e distinguishes N │ │ │ +000454d0: 614e 732c 2073 6f20 6974 7320 7265 7375 aNs, so its resu │ │ │ +000454e0: 6c74 7320 6d61 7920 7661 7279 0a2d 2d20 lts may vary.-- │ │ │ +000454f0: 2020 2020 2020 2064 6570 656e 6469 6e67 depending │ │ │ +00045500: 206f 6e20 7468 6520 6172 6368 6974 6563 on the architec │ │ │ +00045510: 7475 7265 2061 6e64 2063 6f6d 7069 6c61 ture and compila │ │ │ +00045520: 7469 6f6e 2066 6c61 6773 2e20 556e 666f tion flags. Unfo │ │ │ +00045530: 7274 756e 6174 656c 792c 0a2d 2d20 2020 rtunately,.-- │ │ │ +00045540: 2020 2020 2074 6869 7320 6973 2061 2070 this is a p │ │ │ +00045550: 726f 626c 656d 2077 6974 6820 666c 6f61 roblem with floa │ │ │ +00045560: 7469 6e67 2d70 6f69 6e74 206e 756d 6265 ting-point numbe │ │ │ +00045570: 7273 2069 6e20 6765 6e65 7261 6c2e 0a2d rs in general..- │ │ │ +00045580: 2d0a 646f 7562 6c65 4465 6e6f 7445 7120 -.doubleDenotEq │ │ │ +00045590: 3a3a 2044 6f75 626c 6520 2d3e 2044 6f75 :: Double -> Dou │ │ │ +000455a0: 626c 6520 2d3e 2042 6f6f 6c0a 646f 7562 ble -> Bool.doub │ │ │ +000455b0: 6c65 4465 6e6f 7445 7120 3d20 283d 3d29 leDenotEq = (==) │ │ │ +000455c0: 2060 6f6e 6020 646f 7562 6c65 546f 576f `on` doubleToWo │ │ │ +000455d0: 7264 3634 0a0a 2d2d 207c 4920 6775 6573 rd64..-- |I gues │ │ │ +000455e0: 7320 2264 656e 6f74 6174 696f 6e61 6c20 s "denotational │ │ │ +000455f0: 6f72 6465 7269 6e67 7322 2061 7265 206e orderings" are n │ │ │ +00045600: 6f77 2061 2074 6869 6e67 3f20 5468 6520 ow a thing? The │ │ │ +00045610: 706f 696e 7420 6973 2074 6861 7420 7765 point is that we │ │ │ +00045620: 206e 6565 640a 2d2d 2020 616e 204f 7264 need.-- an Ord │ │ │ +00045630: 2069 6e73 7461 6e63 6520 7768 6963 6820 instance which │ │ │ +00045640: 7072 6f76 6964 6573 2061 2074 6f74 616c provides a total │ │ │ +00045650: 206f 7264 6572 696e 672c 2061 6e64 2069 ordering, and i │ │ │ +00045660: 7320 636f 6e73 6973 7465 6e74 2077 6974 s consistent wit │ │ │ +00045670: 6820 7468 650a 2d2d 2020 6465 6e6f 7461 h the.-- denota │ │ │ +00045680: 7469 6f6e 616c 2065 7175 616c 6974 792e tional equality. │ │ │ +00045690: 0a2d 2d0a 2d2d 2020 4e4f 5445 3a20 5468 .--.-- NOTE: Th │ │ │ +000456a0: 6520 6f72 6465 7269 6e67 2069 6e64 7563 e ordering induc │ │ │ +000456b0: 6564 2076 6961 2060 646f 7562 6c65 546f ed via `doubleTo │ │ │ +000456c0: 576f 7264 3634 6020 6973 2074 6f74 616c Word64` is total │ │ │ +000456d0: 2c20 616e 6420 6973 2063 6f6e 7369 7374 , and is consist │ │ │ +000456e0: 656e 740a 2d2d 2020 2020 2020 2020 7769 ent.-- wi │ │ │ +000456f0: 7468 2060 646f 7562 6c65 4465 6e6f 7445 th `doubleDenotE │ │ │ +00045700: 7160 2e20 486f 7765 7665 722c 2069 7420 q`. However, it │ │ │ +00045710: 6973 202a 6465 6570 6c79 2a20 756e 696e is *deeply* unin │ │ │ +00045720: 7475 6974 6976 652e 2046 6f72 206f 6e65 tuitive. For one │ │ │ +00045730: 2c20 6974 0a2d 2d20 2020 2020 2020 2063 , it.-- c │ │ │ +00045740: 6f6e 7369 6465 7273 2061 6c6c 206e 6567 onsiders all neg │ │ │ +00045750: 6174 6976 6520 6e75 6d62 6572 7320 746f ative numbers to │ │ │ +00045760: 2062 6520 6c61 7267 6572 2074 6861 6e20 be larger than │ │ │ +00045770: 706f 7369 7469 7665 206e 756d 6265 7273 positive numbers │ │ │ +00045780: 2e0a 2d2d 0a64 6f75 626c 6544 656e 6f74 ..--.doubleDenot │ │ │ +00045790: 4f72 6420 3a3a 2044 6f75 626c 6520 2d3e Ord :: Double -> │ │ │ +000457a0: 2044 6f75 626c 6520 2d3e 204f 7264 6572 Double -> Order │ │ │ +000457b0: 696e 670a 646f 7562 6c65 4465 6e6f 744f ing.doubleDenotO │ │ │ +000457c0: 7264 203d 2063 6f6d 7061 7265 2060 6f6e rd = compare `on │ │ │ +000457d0: 6020 646f 7562 6c65 546f 576f 7264 3634 ` doubleToWord64 │ │ │ +000457e0: 0a0a 2d2d 207c 5265 7475 726e 204a 7573 ..-- |Return Jus │ │ │ +000457f0: 7420 7820 6966 2069 7427 7320 6120 6669 t x if it's a fi │ │ │ +00045800: 6e69 7465 206e 756d 6265 722c 206f 7468 nite number, oth │ │ │ +00045810: 6572 7769 7365 2072 6574 7572 6e20 4e6f erwise return No │ │ │ +00045820: 7468 696e 672e 0a61 7346 696e 6974 6520 thing..asFinite │ │ │ +00045830: 3a3a 2044 6f75 626c 6520 2d3e 204d 6179 :: Double -> May │ │ │ +00045840: 6265 2044 6f75 626c 650a 6173 4669 6e69 be Double.asFini │ │ │ +00045850: 7465 2078 0a20 207c 2069 734e 614e 2020 te x. | isNaN │ │ │ +00045860: 2020 2020 7820 3d20 4e6f 7468 696e 670a x = Nothing. │ │ │ +00045870: 2020 7c20 6973 496e 6669 6e69 7465 2078 | isInfinite x │ │ │ +00045880: 203d 204e 6f74 6869 6e67 0a20 207c 206f = Nothing. | o │ │ │ +00045890: 7468 6572 7769 7365 2020 2020 3d20 4a75 therwise = Ju │ │ │ +000458a0: 7374 2078 0a0a 2d2d 207c 4465 636f 6465 st x..-- |Decode │ │ │ +000458b0: 2061 2044 6f75 626c 6520 746f 2061 6e20 a Double to an │ │ │ +000458c0: 696e 7465 6765 7220 7261 7469 6f2e 0a64 integer ratio..d │ │ │ +000458d0: 6f75 626c 6554 6f52 6174 696f 203a 3a20 oubleToRatio :: │ │ │ +000458e0: 446f 7562 6c65 202d 3e20 2849 6e74 6567 Double -> (Integ │ │ │ +000458f0: 6572 2c20 496e 7465 6765 7229 0a64 6f75 er, Integer).dou │ │ │ +00045900: 626c 6554 6f52 6174 696f 2078 0a20 207c bleToRatio x. | │ │ │ +00045910: 2069 734e 614e 2020 2020 2020 7820 3d20 isNaN x = │ │ │ +00045920: 2830 2c20 3029 0a20 207c 2069 7349 6e66 (0, 0). | isInf │ │ │ +00045930: 696e 6974 6520 7820 3d20 2873 6967 6e75 inite x = (signu │ │ │ +00045940: 6d20 2866 6c6f 6f72 2078 292c 2030 290a m (floor x), 0). │ │ │ +00045950: 2020 7c20 6f74 6865 7277 6973 6520 2020 | otherwise │ │ │ +00045960: 203d 206c 6574 2072 203d 2074 6f52 6174 = let r = toRat │ │ │ +00045970: 696f 6e61 6c20 7820 696e 2028 6e75 6d65 ional x in (nume │ │ │ +00045980: 7261 746f 7220 722c 2064 656e 6f6d 696e rator r, denomin │ │ │ +00045990: 6174 6f72 2072 290a 0a2d 2d20 7c45 6e63 ator r)..-- |Enc │ │ │ +000459a0: 6f64 6520 616e 2069 6e74 6567 6572 2072 ode an integer r │ │ │ +000459b0: 6174 696f 2061 7320 6120 646f 7562 6c65 atio as a double │ │ │ +000459c0: 2e0a 7261 7469 6f54 6f44 6f75 626c 6520 ..ratioToDouble │ │ │ +000459d0: 3a3a 2049 6e74 6567 6572 202d 3e20 496e :: Integer -> In │ │ │ +000459e0: 7465 6765 7220 2d3e 2044 6f75 626c 650a teger -> Double. │ │ │ +000459f0: 7261 7469 6f54 6f44 6f75 626c 6520 6e20 ratioToDouble n │ │ │ +00045a00: 640a 2020 7c20 6420 3d3d 2030 203d 2063 d. | d == 0 = c │ │ │ +00045a10: 6173 6520 636f 6d70 6172 6520 6e20 3020 ase compare n 0 │ │ │ +00045a20: 6f66 0a20 2020 2020 204c 5420 2d3e 206e of. LT -> n │ │ │ +00045a30: 6567 6174 6976 6549 6e66 696e 6974 790a egativeInfinity. │ │ │ +00045a40: 2020 2020 2020 4551 202d 3e20 6e61 6e0a EQ -> nan. │ │ │ +00045a50: 2020 2020 2020 4754 202d 3e20 706f 7369 GT -> posi │ │ │ +00045a60: 7469 7665 496e 6669 6e69 7479 0a20 207c tiveInfinity. | │ │ │ +00045a70: 206f 7468 6572 7769 7365 203d 2066 726f otherwise = fro │ │ │ +00045a80: 6d52 6174 696f 6e61 6c20 286e 2025 2064 mRational (n % d │ │ │ +00045a90: 290a 0a2d 2d20 7c44 6563 6f64 6520 6120 )..-- |Decode a │ │ │ +00045aa0: 446f 7562 6c65 2074 6f20 6974 7320 6d61 Double to its ma │ │ │ +00045ab0: 6e74 6973 7361 2061 6e64 2069 7473 2065 ntissa and its e │ │ │ +00045ac0: 7870 6f6e 656e 742c 206e 6f72 6d61 6c69 xponent, normali │ │ │ +00045ad0: 7365 6420 7375 6368 2074 6861 7420 7468 sed such that th │ │ │ +00045ae0: 650a 2d2d 2020 6d61 6e74 6973 7361 2069 e.-- mantissa i │ │ │ +00045af0: 7320 7468 6520 736d 616c 6c65 7374 2070 s the smallest p │ │ │ +00045b00: 6f73 7369 626c 6520 6e75 6d62 6572 2077 ossible number w │ │ │ +00045b10: 6974 686f 7574 206c 6f73 7320 6f66 2061 ithout loss of a │ │ │ +00045b20: 6363 7572 6163 792e 0a64 6f75 626c 6544 ccuracy..doubleD │ │ │ +00045b30: 6563 6f64 6520 3a3a 2044 6f75 626c 6520 ecode :: Double │ │ │ +00045b40: 2d3e 204d 6179 6265 2028 496e 7465 6765 -> Maybe (Intege │ │ │ +00045b50: 722c 2049 6e74 6567 6572 290a 646f 7562 r, Integer).doub │ │ │ +00045b60: 6c65 4465 636f 6465 2078 0a20 207c 2069 leDecode x. | i │ │ │ +00045b70: 734e 614e 2020 2020 2020 7820 3d20 4e6f sNaN x = No │ │ │ +00045b80: 7468 696e 670a 2020 7c20 6973 496e 6669 thing. | isInfi │ │ │ +00045b90: 6e69 7465 2078 203d 204e 6f74 6869 6e67 nite x = Nothing │ │ │ +00045ba0: 0a20 207c 206f 7468 6572 7769 7365 2020 . | otherwise │ │ │ +00045bb0: 2020 3d20 4a75 7374 2028 756e 6375 7272 = Just (uncurr │ │ │ +00045bc0: 7920 6e6f 726d 616c 6973 6520 2873 6563 y normalise (sec │ │ │ +00045bd0: 6f6e 6420 746f 496e 7465 6765 7220 2864 ond toInteger (d │ │ │ +00045be0: 6563 6f64 6546 6c6f 6174 2078 2929 290a ecodeFloat x))). │ │ │ +00045bf0: 2020 7768 6572 650a 2020 2020 6e6f 726d where. norm │ │ │ +00045c00: 616c 6973 6520 3a3a 2049 6e74 6567 6572 alise :: Integer │ │ │ +00045c10: 202d 3e20 496e 7465 6765 7220 2d3e 2028 -> Integer -> ( │ │ │ +00045c20: 496e 7465 6765 722c 2049 6e74 6567 6572 Integer, Integer │ │ │ +00045c30: 290a 2020 2020 6e6f 726d 616c 6973 6520 ). normalise │ │ │ +00045c40: 6d61 6e74 6973 7361 2065 7870 6f6e 656e mantissa exponen │ │ │ +00045c50: 740a 2020 2020 2020 7c20 6576 656e 206d t. | even m │ │ │ +00045c60: 616e 7469 7373 6120 3d20 6e6f 726d 616c antissa = normal │ │ │ +00045c70: 6973 6520 286d 616e 7469 7373 6120 6064 ise (mantissa `d │ │ │ +00045c80: 6976 6020 3229 2028 6578 706f 6e65 6e74 iv` 2) (exponent │ │ │ +00045c90: 202b 2031 290a 2020 2020 2020 7c20 6f74 + 1). | ot │ │ │ +00045ca0: 6865 7277 6973 6520 3d20 286d 616e 7469 herwise = (manti │ │ │ +00045cb0: 7373 612c 2065 7870 6f6e 656e 7429 0a0a ssa, exponent).. │ │ │ +00045cc0: 2d2d 207c 4368 6563 6b73 2077 6865 7468 -- |Checks wheth │ │ │ +00045cd0: 6572 206f 7220 6e6f 7420 7468 6520 446f er or not the Do │ │ │ +00045ce0: 7562 6c65 2069 7320 7769 7468 696e 2061 uble is within a │ │ │ +00045cf0: 2073 6166 6520 7261 6e67 6520 6f66 206f safe range of o │ │ │ +00045d00: 7065 7261 7469 6f6e 2e0a 6973 5361 6665 peration..isSafe │ │ │ +00045d10: 496e 7465 6765 7220 3a3a 2044 6f75 626c Integer :: Doubl │ │ │ +00045d20: 6520 2d3e 2042 6f6f 6c0a 6973 5361 6665 e -> Bool.isSafe │ │ │ +00045d30: 496e 7465 6765 7220 7820 3d20 6361 7365 Integer x = case │ │ │ +00045d40: 2070 726f 7065 7246 7261 6374 696f 6e20 properFraction │ │ │ +00045d50: 7820 6f66 0a20 2028 6e2c 2066 2920 2d3e x of. (n, f) -> │ │ │ +00045d60: 2066 203d 3d20 302e 3020 2626 206d 696e f == 0.0 && min │ │ │ +00045d70: 4d61 6e74 6973 7361 203c 3d20 6e20 2626 Mantissa <= n && │ │ │ +00045d80: 206e 203c 3d20 6d61 784d 616e 7469 7373 n <= maxMantiss │ │ │ +00045d90: 610a 0a64 6f75 626c 6552 6164 6978 203a a..doubleRadix : │ │ │ +00045da0: 3a20 496e 7465 6765 720a 646f 7562 6c65 : Integer.double │ │ │ +00045db0: 5261 6469 7820 3d20 666c 6f61 7452 6164 Radix = floatRad │ │ │ +00045dc0: 6978 2028 756e 6465 6669 6e65 6420 3a3a ix (undefined :: │ │ │ +00045dd0: 2044 6f75 626c 6529 0a0a 646f 7562 6c65 Double)..double │ │ │ +00045de0: 4469 6769 7473 203a 3a20 496e 740a 646f Digits :: Int.do │ │ │ +00045df0: 7562 6c65 4469 6769 7473 203d 2066 6c6f ubleDigits = flo │ │ │ +00045e00: 6174 4469 6769 7473 2028 756e 6465 6669 atDigits (undefi │ │ │ +00045e10: 6e65 6420 3a3a 2044 6f75 626c 6529 0a0a ned :: Double).. │ │ │ +00045e20: 646f 7562 6c65 5261 6e67 6520 3a3a 2028 doubleRange :: ( │ │ │ +00045e30: 496e 742c 2049 6e74 290a 646f 7562 6c65 Int, Int).double │ │ │ +00045e40: 5261 6e67 6520 3d20 666c 6f61 7452 616e Range = floatRan │ │ │ +00045e50: 6765 2028 756e 6465 6669 6e65 6420 3a3a ge (undefined :: │ │ │ +00045e60: 2044 6f75 626c 6529 0a0a 2d2d 207c 5468 Double)..-- |Th │ │ │ +00045e70: 6520 736d 616c 6c65 7374 2072 6570 7265 e smallest repre │ │ │ +00045e80: 7365 6e74 6162 6c65 206d 616e 7469 7373 sentable mantiss │ │ │ +00045e90: 612e 2053 696d 756c 7461 6e65 6f75 736c a. Simultaneousl │ │ │ +00045ea0: 792c 2074 6865 2073 6d61 6c6c 6573 7420 y, the smallest │ │ │ +00045eb0: 696e 7465 6765 7220 7768 6963 6820 6361 integer which ca │ │ │ +00045ec0: 6e20 6265 0a2d 2d20 2072 6570 7265 7365 n be.-- represe │ │ │ +00045ed0: 6e74 6564 2061 7320 6120 446f 7562 6c65 nted as a Double │ │ │ +00045ee0: 2077 6974 686f 7574 206c 6f73 7320 6f66 without loss of │ │ │ +00045ef0: 2070 7265 6369 7369 6f6e 2e0a 6d69 6e4d precision..minM │ │ │ +00045f00: 616e 7469 7373 6120 3a3a 2049 6e74 6567 antissa :: Integ │ │ │ +00045f10: 6572 0a6d 696e 4d61 6e74 6973 7361 203d er.minMantissa = │ │ │ +00045f20: 202d 206d 6178 4d61 6e74 6973 7361 0a0a - maxMantissa.. │ │ │ +00045f30: 2d2d 207c 5468 6520 6c61 7267 6573 7420 -- |The largest │ │ │ +00045f40: 7265 7072 6573 656e 7461 626c 6520 6d61 representable ma │ │ │ +00045f50: 6e74 6973 7361 2e20 5369 6d75 6c74 616e ntissa. Simultan │ │ │ +00045f60: 656f 7573 6c79 2c20 7468 6520 6c61 7267 eously, the larg │ │ │ +00045f70: 6573 7420 696e 7465 6765 7220 7768 6963 est integer whic │ │ │ +00045f80: 6820 6361 6e20 6265 0a2d 2d20 2072 6570 h can be.-- rep │ │ │ +00045f90: 7265 7365 6e74 6564 2061 7320 6120 446f resented as a Do │ │ │ +00045fa0: 7562 6c65 2077 6974 686f 7574 206c 6f73 uble without los │ │ │ +00045fb0: 7320 6f66 2070 7265 6369 7369 6f6e 2e0a s of precision.. │ │ │ +00045fc0: 6d61 784d 616e 7469 7373 6120 3a3a 2049 maxMantissa :: I │ │ │ +00045fd0: 6e74 6567 6572 0a6d 6178 4d61 6e74 6973 nteger.maxMantis │ │ │ +00045fe0: 7361 203d 2028 646f 7562 6c65 5261 6469 sa = (doubleRadi │ │ │ +00045ff0: 7820 5e20 746f 496e 7465 6765 7220 646f x ^ toInteger do │ │ │ +00046000: 7562 6c65 4469 6769 7473 2920 2d20 310a ubleDigits) - 1. │ │ │ +00046010: 0a2d 2d20 7c54 6865 206c 6172 6765 7374 .-- |The largest │ │ │ +00046020: 2072 6570 7265 7365 6e74 6162 6c65 2065 representable e │ │ │ +00046030: 7870 6f6e 656e 742e 0a6d 696e 4578 706f xponent..minExpo │ │ │ +00046040: 6e65 6e74 203a 3a20 496e 7465 6765 720a nent :: Integer. │ │ │ +00046050: 6d69 6e45 7870 6f6e 656e 7420 3d20 746f minExponent = to │ │ │ +00046060: 496e 7465 6765 7220 2420 2866 7374 2064 Integer $ (fst d │ │ │ +00046070: 6f75 626c 6552 616e 6765 202d 2064 6f75 oubleRange - dou │ │ │ +00046080: 626c 6544 6967 6974 7329 202d 2031 0a0a bleDigits) - 1.. │ │ │ +00046090: 2d2d 207c 5468 6520 736d 616c 6c65 7374 -- |The smallest │ │ │ +000460a0: 2072 6570 7265 7365 6e74 6162 6c65 2065 representable e │ │ │ +000460b0: 7870 6f6e 656e 742e 0a6d 6178 4578 706f xponent..maxExpo │ │ │ +000460c0: 6e65 6e74 203a 3a20 496e 7465 6765 720a nent :: Integer. │ │ │ +000460d0: 6d61 7845 7870 6f6e 656e 7420 3d20 746f maxExponent = to │ │ │ +000460e0: 496e 7465 6765 7220 2420 736e 6420 646f Integer $ snd do │ │ │ +000460f0: 7562 6c65 5261 6e67 6520 2d20 646f 7562 ubleRange - doub │ │ │ +00046100: 6c65 4469 6769 7473 0a0a 2d2d 207c 456e leDigits..-- |En │ │ │ +00046110: 636f 6465 2061 206d 616e 7469 7373 6120 code a mantissa │ │ │ +00046120: 616e 6420 616e 2065 7870 6f6e 656e 7420 and an exponent │ │ │ +00046130: 6173 2061 2044 6f75 626c 652e 0a64 6f75 as a Double..dou │ │ │ +00046140: 626c 6545 6e63 6f64 6520 3a3a 2049 6e74 bleEncode :: Int │ │ │ +00046150: 6567 6572 202d 3e20 496e 7465 6765 7220 eger -> Integer │ │ │ +00046160: 2d3e 204d 6179 6265 2044 6f75 626c 650a -> Maybe Double. │ │ │ +00046170: 646f 7562 6c65 456e 636f 6465 206d 616e doubleEncode man │ │ │ +00046180: 7469 7373 6120 6578 706f 6e65 6e74 0a20 tissa exponent. │ │ │ +00046190: 203d 2069 6620 6d69 6e4d 616e 7469 7373 = if minMantiss │ │ │ +000461a0: 6120 3c3d 206d 616e 7469 7373 6120 2626 a <= mantissa && │ │ │ +000461b0: 206d 616e 7469 7373 6120 3c3d 206d 6178 mantissa <= max │ │ │ +000461c0: 4d61 6e74 6973 7361 2026 260a 2020 2020 Mantissa &&. │ │ │ +000461d0: 2020 206d 696e 4578 706f 6e65 6e74 203c minExponent < │ │ │ +000461e0: 3d20 6578 706f 6e65 6e74 2026 2620 6578 = exponent && ex │ │ │ +000461f0: 706f 6e65 6e74 203c 3d20 6d61 7845 7870 ponent <= maxExp │ │ │ +00046200: 6f6e 656e 740a 2020 2020 7468 656e 204a onent. then J │ │ │ +00046210: 7573 7420 2865 6e63 6f64 6546 6c6f 6174 ust (encodeFloat │ │ │ +00046220: 206d 616e 7469 7373 6120 2866 726f 6d49 mantissa (fromI │ │ │ +00046230: 6e74 6567 6572 2065 7870 6f6e 656e 7429 nteger exponent) │ │ │ +00046240: 290a 2020 2020 656c 7365 204e 6f74 6869 ). else Nothi │ │ │ +00046250: 6e67 0ab3 fbb7 cab8 8ff0 8159 fdb3 b380 ng.........Y.... │ │ │ +00046260: c8a2 bbcc b701 00e9 0100 0462 a405 b480 ...........b.... │ │ │ +00046270: 80e6 0800 0000 0520 0000 0100 0100 0404 ....... ........ │ │ │ +00046280: 0803 0702 8680 80ec 0802 0000 030f 0005 ................ │ │ │ +00046290: 0505 0b87 8080 ec08 0105 2000 0001 0ba1 .......... ..... │ │ │ +000462a0: 010b fa01 d48f b0ea b089 9beb 9801 dc84 ................ │ │ │ +000462b0: e196 a08b e18e fc01 00f6 0100 0462 e205 .............b.. │ │ │ +000462c0: 2000 0001 0004 0408 0307 025e 0200 0003 ..........^.... │ │ │ +000462d0: 0f00 0505 050b 5f0b fb01 0b61 0906 0100 ......_....a.... │ │ │ +000462e0: ab16 ebcd f9da c6d5 819c e301 a0cb aff0 ................ │ │ │ +000462f0: bfa2 9dce b001 00fb 0100 046e 4005 8280 ...........n@... │ │ │ +00046300: 80e6 0800 0001 0003 0407 0402 0000 030f ................ │ │ │ +00046310: 0009 01ab 167b 2d23 204c 414e 4755 4147 .....{-# LANGUAG │ │ │ +00046320: 4520 506f 6c79 4b69 6e64 7320 232d 7d0a E PolyKinds #-}. │ │ │ +00046330: 0a6d 6f64 756c 6520 4d41 6c6f 6e7a 6f2e .module MAlonzo. │ │ │ +00046340: 5254 4520 7768 6572 650a 0a69 6d70 6f72 RTE where..impor │ │ │ +00046350: 7420 5072 656c 7564 650a 2020 2820 426f t Prelude. ( Bo │ │ │ +00046360: 6f6c 2c20 4368 6172 2c20 446f 7562 6c65 ol, Char, Double │ │ │ +00046370: 2c20 496e 7465 6765 722c 2053 7472 696e , Integer, Strin │ │ │ +00046380: 670a 2020 2c20 456e 756d 282e 2e29 2c20 g. , Enum(..), │ │ │ +00046390: 4571 282e 2e29 2c20 4f72 6428 2e2e 292c Eq(..), Ord(..), │ │ │ +000463a0: 2049 6e74 6567 7261 6c28 2e2e 292c 204e Integral(..), N │ │ │ +000463b0: 756d 282e 2e29 0a20 202c 2028 2429 2c20 um(..). , ($), │ │ │ +000463c0: 6572 726f 722c 206f 7468 6572 7769 7365 error, otherwise │ │ │ +000463d0: 0a20 202c 2028 2b2b 292c 2066 726f 6d49 . , (++), fromI │ │ │ +000463e0: 6e74 6567 7261 6c0a 2020 290a 0a69 6d70 ntegral. )..imp │ │ │ +000463f0: 6f72 7420 4461 7461 2e43 6861 7220 2820 ort Data.Char ( │ │ │ +00046400: 4765 6e65 7261 6c43 6174 6567 6f72 7928 GeneralCategory( │ │ │ +00046410: 5375 7272 6f67 6174 6529 2c20 6765 6e65 Surrogate), gene │ │ │ +00046420: 7261 6c43 6174 6567 6f72 7920 290a 696d ralCategory ).im │ │ │ +00046430: 706f 7274 2044 6174 612e 4b69 6e64 2028 port Data.Kind ( │ │ │ +00046440: 2054 7970 6529 0a69 6d70 6f72 7420 7175 Type).import qu │ │ │ +00046450: 616c 6966 6965 6420 4461 7461 2e57 6f72 alified Data.Wor │ │ │ +00046460: 640a 696d 706f 7274 2071 7561 6c69 6669 d.import qualifi │ │ │ +00046470: 6564 2047 4843 2e45 7874 7320 6173 2047 ed GHC.Exts as G │ │ │ +00046480: 4843 2028 2041 6e79 2029 0a69 6d70 6f72 HC ( Any ).impor │ │ │ +00046490: 7420 556e 7361 6665 2e43 6f65 7263 6520 t Unsafe.Coerce │ │ │ +000464a0: 2820 756e 7361 6665 436f 6572 6365 2029 ( unsafeCoerce ) │ │ │ +000464b0: 0a0a 7479 7065 2041 6764 6141 6e79 203d ..type AgdaAny = │ │ │ +000464c0: 2047 4843 2e41 6e79 0a0a 2d2d 2053 7065 GHC.Any..-- Spe │ │ │ +000464d0: 6369 616c 2076 6572 7369 6f6e 206f 6620 cial version of │ │ │ +000464e0: 636f 6572 6365 2074 6861 7420 706c 6179 coerce that play │ │ │ +000464f0: 7320 7765 6c6c 2077 6974 6820 7275 6c65 s well with rule │ │ │ +00046500: 732e 0a7b 2d23 2049 4e4c 494e 4520 5b31 s..{-# INLINE [1 │ │ │ +00046510: 5d20 636f 6520 232d 7d0a 636f 6520 3a3a ] coe #-}.coe :: │ │ │ +00046520: 2061 202d 3e20 620a 636f 6520 3d20 756e a -> b.coe = un │ │ │ +00046530: 7361 6665 436f 6572 6365 0a7b 2d23 2052 safeCoerce.{-# R │ │ │ +00046540: 554c 4553 2022 636f 6572 6365 2d69 6422 ULES "coerce-id" │ │ │ +00046550: 2066 6f72 616c 6c20 2878 203a 3a20 6129 forall (x :: a) │ │ │ +00046560: 202e 2063 6f65 2078 203d 2078 2023 2d7d . coe x = x #-} │ │ │ +00046570: 0a0a 2d2d 2042 7569 6c74 696e 2051 4e61 ..-- Builtin QNa │ │ │ +00046580: 6d65 732e 0a64 6174 6120 514e 616d 6520 mes..data QName │ │ │ +00046590: 3d20 514e 616d 6520 7b20 6e61 6d65 4964 = QName { nameId │ │ │ +000465a0: 2c20 6d6f 6475 6c65 4964 203a 3a20 496e , moduleId :: In │ │ │ +000465b0: 7465 6765 722c 2071 6e61 6d65 5374 7269 teger, qnameStri │ │ │ +000465c0: 6e67 203a 3a20 5374 7269 6e67 2c20 716e ng :: String, qn │ │ │ +000465d0: 616d 6546 6978 6974 7920 3a3a 2046 6978 ameFixity :: Fix │ │ │ +000465e0: 6974 7920 7d0a 0a64 6174 6120 4173 736f ity }..data Asso │ │ │ +000465f0: 6320 2020 2020 203d 204e 6f6e 4173 736f c = NonAsso │ │ │ +00046600: 6320 7c20 4c65 6674 4173 736f 6320 7c20 c | LeftAssoc | │ │ │ +00046610: 5269 6768 7441 7373 6f63 0a64 6174 6120 RightAssoc.data │ │ │ +00046620: 5072 6563 6564 656e 6365 203d 2055 6e72 Precedence = Unr │ │ │ +00046630: 656c 6174 6564 207c 2052 656c 6174 6564 elated | Related │ │ │ +00046640: 2050 7265 6365 6465 6e63 654c 6576 656c PrecedenceLevel │ │ │ +00046650: 0a64 6174 6120 4669 7869 7479 2020 2020 .data Fixity │ │ │ +00046660: 203d 2046 6978 6974 7920 4173 736f 6320 = Fixity Assoc │ │ │ +00046670: 5072 6563 6564 656e 6365 0a74 7970 6520 Precedence.type │ │ │ +00046680: 5072 6563 6564 656e 6365 4c65 7665 6c20 PrecedenceLevel │ │ │ +00046690: 3d20 446f 7562 6c65 0a0a 696e 7374 616e = Double..instan │ │ │ +000466a0: 6365 2045 7120 514e 616d 6520 7768 6572 ce Eq QName wher │ │ │ +000466b0: 650a 2020 514e 616d 6520 6120 6220 5f20 e. QName a b _ │ │ │ +000466c0: 5f20 3d3d 2051 4e61 6d65 2063 2064 205f _ == QName c d _ │ │ │ +000466d0: 205f 203d 2028 612c 2062 2920 3d3d 2028 _ = (a, b) == ( │ │ │ +000466e0: 632c 2064 290a 0a69 6e73 7461 6e63 6520 c, d)..instance │ │ │ +000466f0: 4f72 6420 514e 616d 6520 7768 6572 650a Ord QName where. │ │ │ +00046700: 2020 636f 6d70 6172 6520 2851 4e61 6d65 compare (QName │ │ │ +00046710: 2061 2062 205f 205f 2920 2851 4e61 6d65 a b _ _) (QName │ │ │ +00046720: 2063 2064 205f 205f 2920 3d20 636f 6d70 c d _ _) = comp │ │ │ +00046730: 6172 6520 2861 2c20 6229 2028 632c 2064 are (a, b) (c, d │ │ │ +00046740: 290a 0a65 7261 7365 6420 3a3a 2061 0a65 )..erased :: a.e │ │ │ +00046750: 7261 7365 6420 3d20 636f 6520 285c 205f rased = coe (\ _ │ │ │ +00046760: 202d 3e20 6572 6173 6564 290a 0a6d 617a -> erased)..maz │ │ │ +00046770: 556e 7265 6163 6861 626c 6545 7272 6f72 UnreachableError │ │ │ +00046780: 203a 3a20 610a 6d61 7a55 6e72 6561 6368 :: a.mazUnreach │ │ │ +00046790: 6162 6c65 4572 726f 7220 3d20 6572 726f ableError = erro │ │ │ +000467a0: 7220 2822 4167 6461 3a20 756e 7265 6163 r ("Agda: unreac │ │ │ +000467b0: 6861 626c 6520 636f 6465 2072 6561 6368 hable code reach │ │ │ +000467c0: 6564 2e22 290a 0a6d 617a 486f 6c65 203a ed.")..mazHole : │ │ │ +000467d0: 3a20 5374 7269 6e67 202d 3e20 610a 6d61 : String -> a.ma │ │ │ +000467e0: 7a48 6f6c 6520 7320 3d20 6572 726f 7220 zHole s = error │ │ │ +000467f0: 2822 4167 6461 3a20 7265 6163 6865 6420 ("Agda: reached │ │ │ +00046800: 686f 6c65 3a20 2220 2b2b 2073 290a 0a61 hole: " ++ s)..a │ │ │ +00046810: 6464 496e 7420 3a3a 2049 6e74 6567 6572 ddInt :: Integer │ │ │ +00046820: 202d 3e20 496e 7465 6765 7220 2d3e 2049 -> Integer -> I │ │ │ +00046830: 6e74 6567 6572 0a61 6464 496e 7420 3d20 nteger.addInt = │ │ │ +00046840: 282b 290a 0a73 7562 496e 7420 3a3a 2049 (+)..subInt :: I │ │ │ +00046850: 6e74 6567 6572 202d 3e20 496e 7465 6765 nteger -> Intege │ │ │ +00046860: 7220 2d3e 2049 6e74 6567 6572 0a73 7562 r -> Integer.sub │ │ │ +00046870: 496e 7420 3d20 282d 290a 0a6d 756c 496e Int = (-)..mulIn │ │ │ +00046880: 7420 3a3a 2049 6e74 6567 6572 202d 3e20 t :: Integer -> │ │ │ +00046890: 496e 7465 6765 7220 2d3e 2049 6e74 6567 Integer -> Integ │ │ │ +000468a0: 6572 0a6d 756c 496e 7420 3d20 282a 290a er.mulInt = (*). │ │ │ +000468b0: 0a67 6571 496e 7420 3a3a 2049 6e74 6567 .geqInt :: Integ │ │ │ +000468c0: 6572 202d 3e20 496e 7465 6765 7220 2d3e er -> Integer -> │ │ │ +000468d0: 2042 6f6f 6c0a 6765 7149 6e74 203d 2028 Bool.geqInt = ( │ │ │ +000468e0: 3e3d 290a 0a6c 7449 6e74 203a 3a20 496e >=)..ltInt :: In │ │ │ +000468f0: 7465 6765 7220 2d3e 2049 6e74 6567 6572 teger -> Integer │ │ │ +00046900: 202d 3e20 426f 6f6c 0a6c 7449 6e74 203d -> Bool.ltInt = │ │ │ +00046910: 2028 3c29 0a0a 6571 496e 7420 3a3a 2049 (<)..eqInt :: I │ │ │ +00046920: 6e74 6567 6572 202d 3e20 496e 7465 6765 nteger -> Intege │ │ │ +00046930: 7220 2d3e 2042 6f6f 6c0a 6571 496e 7420 r -> Bool.eqInt │ │ │ +00046940: 3d20 283d 3d29 0a0a 7175 6f74 496e 7420 = (==)..quotInt │ │ │ +00046950: 3a3a 2049 6e74 6567 6572 202d 3e20 496e :: Integer -> In │ │ │ +00046960: 7465 6765 7220 2d3e 2049 6e74 6567 6572 teger -> Integer │ │ │ +00046970: 0a71 756f 7449 6e74 203d 2071 756f 740a .quotInt = quot. │ │ │ +00046980: 0a72 656d 496e 7420 3a3a 2049 6e74 6567 .remInt :: Integ │ │ │ +00046990: 6572 202d 3e20 496e 7465 6765 7220 2d3e er -> Integer -> │ │ │ +000469a0: 2049 6e74 6567 6572 0a72 656d 496e 7420 Integer.remInt │ │ │ +000469b0: 3d20 7265 6d0a 0a2d 2d20 2334 3939 393a = rem..-- #4999: │ │ │ +000469c0: 2044 6174 612e 5465 7874 206d 6170 7320 Data.Text maps │ │ │ +000469d0: 7375 7272 6f67 6174 6520 636f 6465 2070 surrogate code p │ │ │ +000469e0: 6f69 6e74 7320 285c 7844 3830 3020 2d20 oints (\xD800 - │ │ │ +000469f0: 5c78 4446 4646 2920 746f 2074 6865 2072 \xDFFF) to the r │ │ │ +00046a00: 6570 6c61 6365 6d65 6e74 2063 6861 7261 eplacement chara │ │ │ +00046a10: 6374 6572 0a2d 2d20 5c78 4646 4644 2c20 cter.-- \xFFFD, │ │ │ +00046a20: 736f 2074 6f20 6b65 6570 2073 7472 696e so to keep strin │ │ │ +00046a30: 6773 2069 736f 6d6f 7270 6869 6320 746f gs isomorphic to │ │ │ +00046a40: 206c 6973 7420 6f66 2063 6861 7261 6374 list of charact │ │ │ +00046a50: 6572 7320 7765 2064 6f20 7468 6520 7361 ers we do the sa │ │ │ +00046a60: 6d65 2066 6f72 2063 6861 7261 6374 6572 me for character │ │ │ +00046a70: 732e 0a6e 6174 546f 4368 6172 203a 3a20 s..natToChar :: │ │ │ +00046a80: 496e 7465 6765 7220 2d3e 2043 6861 720a Integer -> Char. │ │ │ +00046a90: 6e61 7454 6f43 6861 7220 6e20 7c20 6765 natToChar n | ge │ │ │ +00046aa0: 6e65 7261 6c43 6174 6567 6f72 7920 6320 neralCategory c │ │ │ +00046ab0: 3d3d 2053 7572 726f 6761 7465 203d 2027 == Surrogate = ' │ │ │ +00046ac0: 5c78 4646 4644 270a 2020 2020 2020 2020 \xFFFD'. │ │ │ +00046ad0: 2020 2020 7c20 6f74 6865 7277 6973 6520 | otherwise │ │ │ 00046ae0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00046af0: 2020 2020 3d20 630a 2020 7768 6572 6520 = c. where │ │ │ -00046b00: 6320 3d20 746f 456e 756d 2024 2066 726f c = toEnum $ fro │ │ │ -00046b10: 6d49 6e74 6567 7261 6c20 2420 6d6f 6420 mIntegral $ mod │ │ │ -00046b20: 6e20 3078 3131 3030 3030 0a0a 2d2d 2057 n 0x110000..-- W │ │ │ -00046b30: 6f72 6473 202d 2d0a 0a74 7970 6520 576f ords --..type Wo │ │ │ -00046b40: 7264 3634 203d 2044 6174 612e 576f 7264 rd64 = Data.Word │ │ │ -00046b50: 2e57 6f72 6436 340a 0a77 6f72 6436 3454 .Word64..word64T │ │ │ -00046b60: 6f4e 6174 203a 3a20 576f 7264 3634 202d oNat :: Word64 - │ │ │ -00046b70: 3e20 496e 7465 6765 720a 776f 7264 3634 > Integer.word64 │ │ │ -00046b80: 546f 4e61 7420 3d20 6672 6f6d 496e 7465 ToNat = fromInte │ │ │ -00046b90: 6772 616c 0a0a 776f 7264 3634 4672 6f6d gral..word64From │ │ │ -00046ba0: 4e61 7420 3a3a 2049 6e74 6567 6572 202d Nat :: Integer - │ │ │ -00046bb0: 3e20 576f 7264 3634 0a77 6f72 6436 3446 > Word64.word64F │ │ │ -00046bc0: 726f 6d4e 6174 203d 2066 726f 6d49 6e74 romNat = fromInt │ │ │ -00046bd0: 6567 7261 6c0a 0a7b 2d23 2049 4e4c 494e egral..{-# INLIN │ │ │ -00046be0: 4520 6164 6436 3420 232d 7d0a 6164 6436 E add64 #-}.add6 │ │ │ -00046bf0: 3420 3a3a 2057 6f72 6436 3420 2d3e 2057 4 :: Word64 -> W │ │ │ -00046c00: 6f72 6436 3420 2d3e 2057 6f72 6436 340a ord64 -> Word64. │ │ │ -00046c10: 6164 6436 3420 3d20 282b 290a 0a7b 2d23 add64 = (+)..{-# │ │ │ -00046c20: 2049 4e4c 494e 4520 7375 6236 3420 232d INLINE sub64 #- │ │ │ -00046c30: 7d0a 7375 6236 3420 3a3a 2057 6f72 6436 }.sub64 :: Word6 │ │ │ -00046c40: 3420 2d3e 2057 6f72 6436 3420 2d3e 2057 4 -> Word64 -> W │ │ │ -00046c50: 6f72 6436 340a 7375 6236 3420 3d20 282d ord64.sub64 = (- │ │ │ -00046c60: 290a 0a7b 2d23 2049 4e4c 494e 4520 6d75 )..{-# INLINE mu │ │ │ -00046c70: 6c36 3420 232d 7d0a 6d75 6c36 3420 3a3a l64 #-}.mul64 :: │ │ │ -00046c80: 2057 6f72 6436 3420 2d3e 2057 6f72 6436 Word64 -> Word6 │ │ │ -00046c90: 3420 2d3e 2057 6f72 6436 340a 6d75 6c36 4 -> Word64.mul6 │ │ │ -00046ca0: 3420 3d20 282a 290a 0a7b 2d23 2049 4e4c 4 = (*)..{-# INL │ │ │ -00046cb0: 494e 4520 7175 6f74 3634 2023 2d7d 0a71 INE quot64 #-}.q │ │ │ -00046cc0: 756f 7436 3420 3a3a 2057 6f72 6436 3420 uot64 :: Word64 │ │ │ -00046cd0: 2d3e 2057 6f72 6436 3420 2d3e 2057 6f72 -> Word64 -> Wor │ │ │ -00046ce0: 6436 340a 7175 6f74 3634 203d 2071 756f d64.quot64 = quo │ │ │ -00046cf0: 740a 0a7b 2d23 2049 4e4c 494e 4520 7265 t..{-# INLINE re │ │ │ -00046d00: 6d36 3420 232d 7d0a 7265 6d36 3420 3a3a m64 #-}.rem64 :: │ │ │ -00046d10: 2057 6f72 6436 3420 2d3e 2057 6f72 6436 Word64 -> Word6 │ │ │ -00046d20: 3420 2d3e 2057 6f72 6436 340a 7265 6d36 4 -> Word64.rem6 │ │ │ -00046d30: 3420 3d20 7265 6d0a 0a7b 2d23 2049 4e4c 4 = rem..{-# INL │ │ │ -00046d40: 494e 4520 6571 3634 2023 2d7d 0a65 7136 INE eq64 #-}.eq6 │ │ │ -00046d50: 3420 3a3a 2057 6f72 6436 3420 2d3e 2057 4 :: Word64 -> W │ │ │ -00046d60: 6f72 6436 3420 2d3e 2042 6f6f 6c0a 6571 ord64 -> Bool.eq │ │ │ -00046d70: 3634 203d 2028 3d3d 290a 0a7b 2d23 2049 64 = (==)..{-# I │ │ │ -00046d80: 4e4c 494e 4520 6c74 3634 2023 2d7d 0a6c NLINE lt64 #-}.l │ │ │ -00046d90: 7436 3420 3a3a 2057 6f72 6436 3420 2d3e t64 :: Word64 -> │ │ │ -00046da0: 2057 6f72 6436 3420 2d3e 2042 6f6f 6c0a Word64 -> Bool. │ │ │ -00046db0: 6c74 3634 203d 2028 3c29 0a0a 2d2d 2053 lt64 = (<)..-- S │ │ │ -00046dc0: 7570 706f 7274 2066 6f72 206d 7573 6963 upport for music │ │ │ -00046dd0: 616c 2063 6f69 6e64 7563 7469 6f6e 2e0a al coinduction.. │ │ │ -00046de0: 0a64 6174 6120 496e 6620 2020 2020 2020 .data Inf │ │ │ -00046df0: 2020 2020 2020 2020 2020 2020 2020 2061 a │ │ │ -00046e00: 203d 2053 6861 7270 207b 2066 6c61 7420 = Sharp { flat │ │ │ -00046e10: 3a3a 2061 207d 0a74 7970 6520 496e 6669 :: a }.type Infi │ │ │ -00046e20: 6e69 7479 2028 6c65 7665 6c20 3a3a 2054 nity (level :: T │ │ │ -00046e30: 7970 6529 2061 203d 2049 6e66 2061 0ae6 ype) a = Inf a.. │ │ │ -00046e40: f687 fd83 ae9e ce43 e5c6 97ab ce81 90c1 .......C........ │ │ │ -00046e50: 7000 f401 0004 6e7b 0520 0000 0100 0404 p.....n{. ...... │ │ │ -00046e60: 0803 0702 5e02 0000 030f 0005 0505 0b5f ....^.........._ │ │ │ -00046e70: 0bfc 010b 6109 0601 00c0 11c5 d88e 8fce ....a........... │ │ │ -00046e80: d8b4 fa50 81b8 978b a4db b9f9 a901 00fc ...P............ │ │ │ -00046e90: 0100 0477 6d05 8280 80e6 0800 0001 0003 ...wm........... │ │ │ -00046ea0: 0407 0402 0000 030f 0009 01c0 117b 2d23 .............{-# │ │ │ -00046eb0: 204f 5054 494f 4e53 202d 2d65 7261 7365 OPTIONS --erase │ │ │ -00046ec0: 642d 6375 6269 6361 6c20 232d 7d0a 0a6d d-cubical #-}..m │ │ │ -00046ed0: 6f64 756c 6520 4167 6461 2e50 7269 6d69 odule Agda.Primi │ │ │ -00046ee0: 7469 7665 2e43 7562 6963 616c 2077 6865 tive.Cubical whe │ │ │ -00046ef0: 7265 0a0a 7b2d 2320 4255 494c 5449 4e20 re..{-# BUILTIN │ │ │ -00046f00: 4355 4245 494e 5445 5256 414c 554e 4956 CUBEINTERVALUNIV │ │ │ -00046f10: 2049 556e 6976 2023 2d7d 2020 2d2d 2049 IUniv #-} -- I │ │ │ -00046f20: 556e 6976 203a 2053 5365 74e2 8281 0a7b Univ : SSet....{ │ │ │ -00046f30: 2d23 2042 5549 4c54 494e 2049 4e54 4552 -# BUILTIN INTER │ │ │ -00046f40: 5641 4c20 4920 2023 2d7d 2020 2d2d 2049 VAL I #-} -- I │ │ │ -00046f50: 203a 2049 556e 6976 0a0a 7b2d 2320 4255 : IUniv..{-# BU │ │ │ -00046f60: 494c 5449 4e20 495a 4552 4f20 2020 2069 ILTIN IZERO i │ │ │ -00046f70: 3020 232d 7d0a 7b2d 2320 4255 494c 5449 0 #-}.{-# BUILTI │ │ │ -00046f80: 4e20 494f 4e45 2020 2020 2069 3120 232d N IONE i1 #- │ │ │ -00046f90: 7d0a 0a2d 2d20 4920 6973 2074 7265 6174 }..-- I is treat │ │ │ -00046fa0: 6564 2061 7320 7468 6520 7479 7065 206f ed as the type o │ │ │ -00046fb0: 6620 626f 6f6c 6561 6e73 2e0a 7b2d 2320 f booleans..{-# │ │ │ -00046fc0: 434f 4d50 494c 4520 4a53 2069 3020 3d20 COMPILE JS i0 = │ │ │ -00046fd0: 6661 6c73 6520 232d 7d0a 7b2d 2320 434f false #-}.{-# CO │ │ │ -00046fe0: 4d50 494c 4520 4a53 2069 3120 3d20 7472 MPILE JS i1 = tr │ │ │ -00046ff0: 7565 2020 232d 7d0a 0a69 6e66 6978 2020 ue #-}..infix │ │ │ -00047000: 3330 2070 7269 6d49 4e65 670a 696e 6669 30 primINeg.infi │ │ │ -00047010: 7872 2032 3020 7072 696d 494d 696e 2070 xr 20 primIMin p │ │ │ -00047020: 7269 6d49 4d61 780a 0a70 7269 6d69 7469 rimIMax..primiti │ │ │ -00047030: 7665 0a20 2020 2070 7269 6d49 4d69 6e20 ve. primIMin │ │ │ -00047040: 3a20 4920 e286 9220 4920 e286 9220 490a : I ... I ... I. │ │ │ -00047050: 2020 2020 7072 696d 494d 6178 203a 2049 primIMax : I │ │ │ -00047060: 20e2 8692 2049 20e2 8692 2049 0a20 2020 ... I ... I. │ │ │ -00047070: 2070 7269 6d49 4e65 6720 3a20 4920 e286 primINeg : I .. │ │ │ -00047080: 9220 490a 0a7b 2d23 2042 5549 4c54 494e . I..{-# BUILTIN │ │ │ -00047090: 2049 534f 4e45 2020 2020 4973 4f6e 6520 ISONE IsOne │ │ │ -000470a0: 2020 2023 2d7d 2020 2d2d 2049 734f 6e65 #-} -- IsOne │ │ │ -000470b0: 203a 2049 20e2 8692 2053 6574 cf89 0a0a : I ... Set.... │ │ │ -000470c0: 706f 7374 756c 6174 650a 2020 6974 4973 postulate. itIs │ │ │ -000470d0: 4f6e 6520 3a20 4973 4f6e 6520 6931 0a20 One : IsOne i1. │ │ │ -000470e0: 2049 734f 6e65 3120 203a 20e2 8880 2069 IsOne1 : ... i │ │ │ -000470f0: 206a 20e2 8692 2049 734f 6e65 2069 20e2 j ... IsOne i . │ │ │ -00047100: 8692 2049 734f 6e65 2028 7072 696d 494d .. IsOne (primIM │ │ │ -00047110: 6178 2069 206a 290a 2020 4973 4f6e 6532 ax i j). IsOne2 │ │ │ -00047120: 2020 3a20 e288 8020 6920 6a20 e286 9220 : ... i j ... │ │ │ -00047130: 4973 4f6e 6520 6a20 e286 9220 4973 4f6e IsOne j ... IsOn │ │ │ -00047140: 6520 2870 7269 6d49 4d61 7820 6920 6a29 e (primIMax i j) │ │ │ -00047150: 0a0a 7b2d 2320 4255 494c 5449 4e20 4954 ..{-# BUILTIN IT │ │ │ -00047160: 4953 4f4e 4520 2069 7449 734f 6e65 2020 ISONE itIsOne │ │ │ -00047170: 232d 7d0a 7b2d 2320 4255 494c 5449 4e20 #-}.{-# BUILTIN │ │ │ -00047180: 4953 4f4e 4531 2020 2049 734f 6e65 3120 ISONE1 IsOne1 │ │ │ -00047190: 2020 232d 7d0a 7b2d 2320 4255 494c 5449 #-}.{-# BUILTI │ │ │ -000471a0: 4e20 4953 4f4e 4532 2020 2049 734f 6e65 N ISONE2 IsOne │ │ │ -000471b0: 3220 2020 232d 7d0a 0a2d 2d20 4973 4f6e 2 #-}..-- IsOn │ │ │ -000471c0: 65c2 a069 2069 7320 7472 6561 7465 6420 e..i is treated │ │ │ -000471d0: 6173 2074 6865 2075 6e69 7420 7479 7065 as the unit type │ │ │ -000471e0: 2e0a 7b2d 2320 434f 4d50 494c 4520 4a53 ..{-# COMPILE JS │ │ │ -000471f0: 2069 7449 734f 6e65 203d 207b 2022 7474 itIsOne = { "tt │ │ │ -00047200: 2220 3a20 6120 3d3e 2061 5b22 7474 225d " : a => a["tt"] │ │ │ -00047210: 2829 207d 2023 2d7d 0a7b 2d23 2043 4f4d () } #-}.{-# COM │ │ │ -00047220: 5049 4c45 204a 5320 4973 4f6e 6531 203d PILE JS IsOne1 = │ │ │ -00047230: 0a20 205f 203d 3e20 5f20 3d3e 205f 203d . _ => _ => _ = │ │ │ -00047240: 3e20 7b20 7265 7475 726e 207b 2022 7474 > { return { "tt │ │ │ -00047250: 2220 3a20 6120 3d3e 2061 5b22 7474 225d " : a => a["tt"] │ │ │ -00047260: 2829 207d 207d 0a20 2023 2d7d 0a7b 2d23 () } }. #-}.{-# │ │ │ -00047270: 2043 4f4d 5049 4c45 204a 5320 4973 4f6e COMPILE JS IsOn │ │ │ -00047280: 6532 203d 0a20 205f 203d 3e20 5f20 3d3e e2 =. _ => _ => │ │ │ -00047290: 205f 203d 3e20 7b20 7265 7475 726e 207b _ => { return { │ │ │ -000472a0: 2022 7474 2220 3a20 6120 3d3e 2061 5b22 "tt" : a => a[" │ │ │ -000472b0: 7474 225d 2829 207d 207d 0a20 2023 2d7d tt"]() } }. #-} │ │ │ -000472c0: 0a0a 2d2d 2050 6172 7469 616c 203a 20e2 ..-- Partial : . │ │ │ -000472d0: 8880 7be2 8493 7d20 2869 203a 2049 2920 ..{...} (i : I) │ │ │ -000472e0: 2841 203a 2053 6574 20e2 8493 2920 e286 (A : Set ...) .. │ │ │ -000472f0: 9220 5365 7420 e284 930a 2d2d 2050 6172 . Set ....-- Par │ │ │ -00047300: 7469 616c 2069 2041 203d 2049 734f 6e65 tial i A = IsOne │ │ │ -00047310: 2069 20e2 8692 2041 0a0a 7b2d 2320 4255 i ... A..{-# BU │ │ │ -00047320: 494c 5449 4e20 5041 5254 4941 4c20 2050 ILTIN PARTIAL P │ │ │ -00047330: 6172 7469 616c 2020 232d 7d0a 7b2d 2320 artial #-}.{-# │ │ │ -00047340: 4255 494c 5449 4e20 5041 5254 4941 4c50 BUILTIN PARTIALP │ │ │ -00047350: 2050 6172 7469 616c 5020 232d 7d0a 0a70 PartialP #-}..p │ │ │ -00047360: 6f73 7475 6c61 7465 0a20 2069 734f 6e65 ostulate. isOne │ │ │ -00047370: 456d 7074 7920 3a20 e288 8020 7be2 8493 Empty : ... {... │ │ │ -00047380: 7d20 7b41 203a 2050 6172 7469 616c 2069 } {A : Partial i │ │ │ -00047390: 3020 2853 6574 20e2 8493 297d 20e2 8692 0 (Set ...)} ... │ │ │ -000473a0: 2050 6172 7469 616c 5020 6930 2041 0a0a PartialP i0 A.. │ │ │ -000473b0: 7b2d 2320 4255 494c 5449 4e20 4953 4f4e {-# BUILTIN ISON │ │ │ -000473c0: 4545 4d50 5459 2069 734f 6e65 456d 7074 EEMPTY isOneEmpt │ │ │ -000473d0: 7920 232d 7d0a 0a2d 2d20 5061 7274 6961 y #-}..-- Partia │ │ │ -000473e0: 6cc2 a069 c2a0 4120 616e 6420 5061 7274 l..i..A and Part │ │ │ -000473f0: 6961 6c50 c2a0 69c2 a041 2061 7265 2074 ialP..i..A are t │ │ │ -00047400: 7265 6174 6564 2061 7320 4973 4f6e 65c2 reated as IsOne. │ │ │ -00047410: a069 c2a0 e286 92c2 a041 2e0a 7b2d 2320 .i.......A..{-# │ │ │ -00047420: 434f 4d50 494c 4520 4a53 2069 734f 6e65 COMPILE JS isOne │ │ │ -00047430: 456d 7074 7920 3d0a 2020 5f20 3d3e 2078 Empty =. _ => x │ │ │ -00047440: 203d 3e20 5f20 3d3e 2078 287b 2022 7474 => _ => x({ "tt │ │ │ -00047450: 2220 3a20 6120 3d3e 2061 5b22 7474 225d " : a => a["tt"] │ │ │ -00047460: 2829 207d 290a 2020 232d 7d0a 0a70 7269 () }). #-}..pri │ │ │ -00047470: 6d69 7469 7665 0a20 2070 7269 6d50 4f72 mitive. primPOr │ │ │ -00047480: 203a 20e2 8880 207b e284 937d 2028 6920 : ... {...} (i │ │ │ -00047490: 6a20 3a20 4929 207b 4120 3a20 5061 7274 j : I) {A : Part │ │ │ -000474a0: 6961 6c20 2870 7269 6d49 4d61 7820 6920 ial (primIMax i │ │ │ -000474b0: 6a29 2028 5365 7420 e284 9329 7d0a 2020 j) (Set ...)}. │ │ │ -000474c0: 2020 2020 2020 2020 2020 e286 9220 2875 ... (u │ │ │ -000474d0: 203a 2050 6172 7469 616c 5020 6920 28ce : PartialP i (. │ │ │ -000474e0: bb20 7a20 e286 9220 4120 2849 734f 6e65 . z ... A (IsOne │ │ │ -000474f0: 3120 6920 6a20 7a29 2929 0a20 2020 2020 1 i j z))). │ │ │ -00047500: 2020 2020 2020 20e2 8692 2028 7620 3a20 ... (v : │ │ │ -00047510: 5061 7274 6961 6c50 206a 2028 cebb 207a PartialP j (.. z │ │ │ -00047520: 20e2 8692 2041 2028 4973 4f6e 6532 2069 ... A (IsOne2 i │ │ │ -00047530: 206a 207a 2929 290a 2020 2020 2020 2020 j z))). │ │ │ -00047540: 2020 2020 e286 9220 5061 7274 6961 6c50 ... PartialP │ │ │ -00047550: 2028 7072 696d 494d 6178 2069 206a 2920 (primIMax i j) │ │ │ -00047560: 410a 0a20 202d 2d20 436f 6d70 7574 6573 A.. -- Computes │ │ │ -00047570: 2069 6e20 7465 726d 7320 6f66 2070 7269 in terms of pri │ │ │ -00047580: 6d48 436f 6d70 2061 6e64 2070 7269 6d54 mHComp and primT │ │ │ -00047590: 7261 6e73 700a 2020 7072 696d 436f 6d70 ransp. primComp │ │ │ -000475a0: 203a 20e2 8880 207b e284 937d 2028 4120 : ... {...} (A │ │ │ -000475b0: 3a20 2869 203a 2049 2920 e286 9220 5365 : (i : I) ... Se │ │ │ -000475c0: 7420 28e2 8493 2069 2929 207b cf86 203a t (... i)) {.. : │ │ │ -000475d0: 2049 7d20 2875 203a 20e2 8880 2069 20e2 I} (u : ... i . │ │ │ -000475e0: 8692 2050 6172 7469 616c 20cf 8620 2841 .. Partial .. (A │ │ │ -000475f0: 2069 2929 2028 6120 3a20 4120 6930 2920 i)) (a : A i0) │ │ │ -00047600: e286 9220 4120 6931 0a0a 7379 6e74 6178 ... A i1..syntax │ │ │ -00047610: 2070 7269 6d50 4f72 2070 2071 2075 2074 primPOr p q u t │ │ │ -00047620: 203d 205b 2070 20e2 86a6 2075 202c 2071 = [ p ... u , q │ │ │ -00047630: 20e2 86a6 2074 205d 0a0a 7072 696d 6974 ... t ]..primit │ │ │ -00047640: 6976 650a 2020 7072 696d 5472 616e 7370 ive. primTransp │ │ │ -00047650: 203a 20e2 8880 207b e284 937d 2028 4120 : ... {...} (A │ │ │ -00047660: 3a20 2869 203a 2049 2920 e286 9220 5365 : (i : I) ... Se │ │ │ -00047670: 7420 28e2 8493 2069 2929 2028 cf86 203a t (... i)) (.. : │ │ │ -00047680: 2049 2920 2861 203a 2041 2069 3029 20e2 I) (a : A i0) . │ │ │ -00047690: 8692 2041 2069 310a 2020 7072 696d 4843 .. A i1. primHC │ │ │ -000476a0: 6f6d 7020 203a 20e2 8880 207b e284 937d omp : ... {...} │ │ │ -000476b0: 207b 4120 3a20 5365 7420 e284 937d 207b {A : Set ...} { │ │ │ -000476c0: cf86 203a 2049 7d20 2875 203a 20e2 8880 .. : I} (u : ... │ │ │ -000476d0: 2069 20e2 8692 2050 6172 7469 616c 20cf i ... Partial . │ │ │ -000476e0: 8620 4129 2028 6120 3a20 4129 20e2 8692 . A) (a : A) ... │ │ │ -000476f0: 2041 0a0a 0a70 6f73 7475 6c61 7465 0a20 A...postulate. │ │ │ -00047700: 2050 6174 6850 203a 20e2 8880 207b e284 PathP : ... {.. │ │ │ -00047710: 937d 2028 4120 3a20 4920 e286 9220 5365 .} (A : I ... Se │ │ │ -00047720: 7420 e284 9329 20e2 8692 2041 2069 3020 t ...) ... A i0 │ │ │ -00047730: e286 9220 4120 6931 20e2 8692 2053 6574 ... A i1 ... Set │ │ │ -00047740: 20e2 8493 0a0a 7b2d 2320 4255 494c 5449 .....{-# BUILTI │ │ │ -00047750: 4e20 5041 5448 5020 2020 2020 2020 2050 N PATHP P │ │ │ -00047760: 6174 6850 2020 2020 2023 2d7d 0af7 d289 athP #-}.... │ │ │ -00047770: fdd6 a382 c38a 01bf f08f eebf 90b6 992c ..............., │ │ │ -00047780: 00f2 0100 0477 aa05 2000 0001 0004 0408 .....w.. ....... │ │ │ -00047790: 0307 025e 0200 0003 0f00 0505 050b 5f0b ...^.........._. │ │ │ -000477a0: fd01 0b61 0906 0100 d808 c0e1 f3b3 a0c3 ...a............ │ │ │ -000477b0: ddab 21f7 8cfb dc99 b3a9 b064 00fd 0100 ..!........d.... │ │ │ -000477c0: 047c 3305 8280 80e6 0800 0001 0003 0407 .|3............. │ │ │ -000477d0: 0402 0000 030f 0009 01d8 082d 2d20 5468 ...........-- Th │ │ │ -000477e0: 6520 4167 6461 2070 7269 6d69 7469 7665 e Agda primitive │ │ │ -000477f0: 7320 2870 7265 6c6f 6164 6564 292e 0a0a s (preloaded)... │ │ │ -00047800: 7b2d 2320 4f50 5449 4f4e 5320 2d2d 6375 {-# OPTIONS --cu │ │ │ -00047810: 6269 6361 6c2d 636f 6d70 6174 6962 6c65 bical-compatible │ │ │ -00047820: 202d 2d6e 6f2d 696d 706f 7274 2d73 6f72 --no-import-sor │ │ │ -00047830: 7473 202d 2d6c 6576 656c 2d75 6e69 7665 ts --level-unive │ │ │ -00047840: 7273 6520 232d 7d0a 0a6d 6f64 756c 6520 rse #-}..module │ │ │ -00047850: 4167 6461 2e50 7269 6d69 7469 7665 2077 Agda.Primitive w │ │ │ -00047860: 6865 7265 0a0a 2d2d 2d2d 2d2d 2d2d 2d2d here..---------- │ │ │ +00046af0: 2020 2020 203d 2063 0a20 2077 6865 7265 = c. where │ │ │ +00046b00: 2063 203d 2074 6f45 6e75 6d20 2420 6672 c = toEnum $ fr │ │ │ +00046b10: 6f6d 496e 7465 6772 616c 2024 206d 6f64 omIntegral $ mod │ │ │ +00046b20: 206e 2030 7831 3130 3030 300a 0a2d 2d20 n 0x110000..-- │ │ │ +00046b30: 576f 7264 7320 2d2d 0a0a 7479 7065 2057 Words --..type W │ │ │ +00046b40: 6f72 6436 3420 3d20 4461 7461 2e57 6f72 ord64 = Data.Wor │ │ │ +00046b50: 642e 576f 7264 3634 0a0a 776f 7264 3634 d.Word64..word64 │ │ │ +00046b60: 546f 4e61 7420 3a3a 2057 6f72 6436 3420 ToNat :: Word64 │ │ │ +00046b70: 2d3e 2049 6e74 6567 6572 0a77 6f72 6436 -> Integer.word6 │ │ │ +00046b80: 3454 6f4e 6174 203d 2066 726f 6d49 6e74 4ToNat = fromInt │ │ │ +00046b90: 6567 7261 6c0a 0a77 6f72 6436 3446 726f egral..word64Fro │ │ │ +00046ba0: 6d4e 6174 203a 3a20 496e 7465 6765 7220 mNat :: Integer │ │ │ +00046bb0: 2d3e 2057 6f72 6436 340a 776f 7264 3634 -> Word64.word64 │ │ │ +00046bc0: 4672 6f6d 4e61 7420 3d20 6672 6f6d 496e FromNat = fromIn │ │ │ +00046bd0: 7465 6772 616c 0a0a 7b2d 2320 494e 4c49 tegral..{-# INLI │ │ │ +00046be0: 4e45 2061 6464 3634 2023 2d7d 0a61 6464 NE add64 #-}.add │ │ │ +00046bf0: 3634 203a 3a20 576f 7264 3634 202d 3e20 64 :: Word64 -> │ │ │ +00046c00: 576f 7264 3634 202d 3e20 576f 7264 3634 Word64 -> Word64 │ │ │ +00046c10: 0a61 6464 3634 203d 2028 2b29 0a0a 7b2d .add64 = (+)..{- │ │ │ +00046c20: 2320 494e 4c49 4e45 2073 7562 3634 2023 # INLINE sub64 # │ │ │ +00046c30: 2d7d 0a73 7562 3634 203a 3a20 576f 7264 -}.sub64 :: Word │ │ │ +00046c40: 3634 202d 3e20 576f 7264 3634 202d 3e20 64 -> Word64 -> │ │ │ +00046c50: 576f 7264 3634 0a73 7562 3634 203d 2028 Word64.sub64 = ( │ │ │ +00046c60: 2d29 0a0a 7b2d 2320 494e 4c49 4e45 206d -)..{-# INLINE m │ │ │ +00046c70: 756c 3634 2023 2d7d 0a6d 756c 3634 203a ul64 #-}.mul64 : │ │ │ +00046c80: 3a20 576f 7264 3634 202d 3e20 576f 7264 : Word64 -> Word │ │ │ +00046c90: 3634 202d 3e20 576f 7264 3634 0a6d 756c 64 -> Word64.mul │ │ │ +00046ca0: 3634 203d 2028 2a29 0a0a 7b2d 2320 494e 64 = (*)..{-# IN │ │ │ +00046cb0: 4c49 4e45 2071 756f 7436 3420 232d 7d0a LINE quot64 #-}. │ │ │ +00046cc0: 7175 6f74 3634 203a 3a20 576f 7264 3634 quot64 :: Word64 │ │ │ +00046cd0: 202d 3e20 576f 7264 3634 202d 3e20 576f -> Word64 -> Wo │ │ │ +00046ce0: 7264 3634 0a71 756f 7436 3420 3d20 7175 rd64.quot64 = qu │ │ │ +00046cf0: 6f74 0a0a 7b2d 2320 494e 4c49 4e45 2072 ot..{-# INLINE r │ │ │ +00046d00: 656d 3634 2023 2d7d 0a72 656d 3634 203a em64 #-}.rem64 : │ │ │ +00046d10: 3a20 576f 7264 3634 202d 3e20 576f 7264 : Word64 -> Word │ │ │ +00046d20: 3634 202d 3e20 576f 7264 3634 0a72 656d 64 -> Word64.rem │ │ │ +00046d30: 3634 203d 2072 656d 0a0a 7b2d 2320 494e 64 = rem..{-# IN │ │ │ +00046d40: 4c49 4e45 2065 7136 3420 232d 7d0a 6571 LINE eq64 #-}.eq │ │ │ +00046d50: 3634 203a 3a20 576f 7264 3634 202d 3e20 64 :: Word64 -> │ │ │ +00046d60: 576f 7264 3634 202d 3e20 426f 6f6c 0a65 Word64 -> Bool.e │ │ │ +00046d70: 7136 3420 3d20 283d 3d29 0a0a 7b2d 2320 q64 = (==)..{-# │ │ │ +00046d80: 494e 4c49 4e45 206c 7436 3420 232d 7d0a INLINE lt64 #-}. │ │ │ +00046d90: 6c74 3634 203a 3a20 576f 7264 3634 202d lt64 :: Word64 - │ │ │ +00046da0: 3e20 576f 7264 3634 202d 3e20 426f 6f6c > Word64 -> Bool │ │ │ +00046db0: 0a6c 7436 3420 3d20 283c 290a 0a2d 2d20 .lt64 = (<)..-- │ │ │ +00046dc0: 5375 7070 6f72 7420 666f 7220 6d75 7369 Support for musi │ │ │ +00046dd0: 6361 6c20 636f 696e 6475 6374 696f 6e2e cal coinduction. │ │ │ +00046de0: 0a0a 6461 7461 2049 6e66 2020 2020 2020 ..data Inf │ │ │ +00046df0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +00046e00: 6120 3d20 5368 6172 7020 7b20 666c 6174 a = Sharp { flat │ │ │ +00046e10: 203a 3a20 6120 7d0a 7479 7065 2049 6e66 :: a }.type Inf │ │ │ +00046e20: 696e 6974 7920 286c 6576 656c 203a 3a20 inity (level :: │ │ │ +00046e30: 5479 7065 2920 6120 3d20 496e 6620 610a Type) a = Inf a. │ │ │ +00046e40: e6f6 87fd 83ae 9ece 43e5 c697 abce 8190 ........C....... │ │ │ +00046e50: c170 00f4 0100 046e 7c05 2000 0001 0004 .p.....n|. ..... │ │ │ +00046e60: 0408 0307 025e 0200 0003 0f00 0505 050b .....^.......... │ │ │ +00046e70: 5f0b fc01 0b61 0906 0100 c011 c5d8 8e8f _....a.......... │ │ │ +00046e80: ced8 b4fa 5081 b897 8ba4 dbb9 f9a9 0100 ....P........... │ │ │ +00046e90: fc01 0004 776e 0582 8080 e608 0000 0100 ....wn.......... │ │ │ +00046ea0: 0304 0704 0200 0003 0f00 0901 c011 7b2d ..............{- │ │ │ +00046eb0: 2320 4f50 5449 4f4e 5320 2d2d 6572 6173 # OPTIONS --eras │ │ │ +00046ec0: 6564 2d63 7562 6963 616c 2023 2d7d 0a0a ed-cubical #-}.. │ │ │ +00046ed0: 6d6f 6475 6c65 2041 6764 612e 5072 696d module Agda.Prim │ │ │ +00046ee0: 6974 6976 652e 4375 6269 6361 6c20 7768 itive.Cubical wh │ │ │ +00046ef0: 6572 650a 0a7b 2d23 2042 5549 4c54 494e ere..{-# BUILTIN │ │ │ +00046f00: 2043 5542 4549 4e54 4552 5641 4c55 4e49 CUBEINTERVALUNI │ │ │ +00046f10: 5620 4955 6e69 7620 232d 7d20 202d 2d20 V IUniv #-} -- │ │ │ +00046f20: 4955 6e69 7620 3a20 5353 6574 e282 810a IUniv : SSet.... │ │ │ +00046f30: 7b2d 2320 4255 494c 5449 4e20 494e 5445 {-# BUILTIN INTE │ │ │ +00046f40: 5256 414c 2049 2020 232d 7d20 202d 2d20 RVAL I #-} -- │ │ │ +00046f50: 4920 3a20 4955 6e69 760a 0a7b 2d23 2042 I : IUniv..{-# B │ │ │ +00046f60: 5549 4c54 494e 2049 5a45 524f 2020 2020 UILTIN IZERO │ │ │ +00046f70: 6930 2023 2d7d 0a7b 2d23 2042 5549 4c54 i0 #-}.{-# BUILT │ │ │ +00046f80: 494e 2049 4f4e 4520 2020 2020 6931 2023 IN IONE i1 # │ │ │ +00046f90: 2d7d 0a0a 2d2d 2049 2069 7320 7472 6561 -}..-- I is trea │ │ │ +00046fa0: 7465 6420 6173 2074 6865 2074 7970 6520 ted as the type │ │ │ +00046fb0: 6f66 2062 6f6f 6c65 616e 732e 0a7b 2d23 of booleans..{-# │ │ │ +00046fc0: 2043 4f4d 5049 4c45 204a 5320 6930 203d COMPILE JS i0 = │ │ │ +00046fd0: 2066 616c 7365 2023 2d7d 0a7b 2d23 2043 false #-}.{-# C │ │ │ +00046fe0: 4f4d 5049 4c45 204a 5320 6931 203d 2074 OMPILE JS i1 = t │ │ │ +00046ff0: 7275 6520 2023 2d7d 0a0a 696e 6669 7820 rue #-}..infix │ │ │ +00047000: 2033 3020 7072 696d 494e 6567 0a69 6e66 30 primINeg.inf │ │ │ +00047010: 6978 7220 3230 2070 7269 6d49 4d69 6e20 ixr 20 primIMin │ │ │ +00047020: 7072 696d 494d 6178 0a0a 7072 696d 6974 primIMax..primit │ │ │ +00047030: 6976 650a 2020 2020 7072 696d 494d 696e ive. primIMin │ │ │ +00047040: 203a 2049 20e2 8692 2049 20e2 8692 2049 : I ... I ... I │ │ │ +00047050: 0a20 2020 2070 7269 6d49 4d61 7820 3a20 . primIMax : │ │ │ +00047060: 4920 e286 9220 4920 e286 9220 490a 2020 I ... I ... I. │ │ │ +00047070: 2020 7072 696d 494e 6567 203a 2049 20e2 primINeg : I . │ │ │ +00047080: 8692 2049 0a0a 7b2d 2320 4255 494c 5449 .. I..{-# BUILTI │ │ │ +00047090: 4e20 4953 4f4e 4520 2020 2049 734f 6e65 N ISONE IsOne │ │ │ +000470a0: 2020 2020 232d 7d20 202d 2d20 4973 4f6e #-} -- IsOn │ │ │ +000470b0: 6520 3a20 4920 e286 9220 5365 74cf 890a e : I ... Set... │ │ │ +000470c0: 0a70 6f73 7475 6c61 7465 0a20 2069 7449 .postulate. itI │ │ │ +000470d0: 734f 6e65 203a 2049 734f 6e65 2069 310a sOne : IsOne i1. │ │ │ +000470e0: 2020 4973 4f6e 6531 2020 3a20 e288 8020 IsOne1 : ... │ │ │ +000470f0: 6920 6a20 e286 9220 4973 4f6e 6520 6920 i j ... IsOne i │ │ │ +00047100: e286 9220 4973 4f6e 6520 2870 7269 6d49 ... IsOne (primI │ │ │ +00047110: 4d61 7820 6920 6a29 0a20 2049 734f 6e65 Max i j). IsOne │ │ │ +00047120: 3220 203a 20e2 8880 2069 206a 20e2 8692 2 : ... i j ... │ │ │ +00047130: 2049 734f 6e65 206a 20e2 8692 2049 734f IsOne j ... IsO │ │ │ +00047140: 6e65 2028 7072 696d 494d 6178 2069 206a ne (primIMax i j │ │ │ +00047150: 290a 0a7b 2d23 2042 5549 4c54 494e 2049 )..{-# BUILTIN I │ │ │ +00047160: 5449 534f 4e45 2020 6974 4973 4f6e 6520 TISONE itIsOne │ │ │ +00047170: 2023 2d7d 0a7b 2d23 2042 5549 4c54 494e #-}.{-# BUILTIN │ │ │ +00047180: 2049 534f 4e45 3120 2020 4973 4f6e 6531 ISONE1 IsOne1 │ │ │ +00047190: 2020 2023 2d7d 0a7b 2d23 2042 5549 4c54 #-}.{-# BUILT │ │ │ +000471a0: 494e 2049 534f 4e45 3220 2020 4973 4f6e IN ISONE2 IsOn │ │ │ +000471b0: 6532 2020 2023 2d7d 0a0a 2d2d 2049 734f e2 #-}..-- IsO │ │ │ +000471c0: 6e65 c2a0 6920 6973 2074 7265 6174 6564 ne..i is treated │ │ │ +000471d0: 2061 7320 7468 6520 756e 6974 2074 7970 as the unit typ │ │ │ +000471e0: 652e 0a7b 2d23 2043 4f4d 5049 4c45 204a e..{-# COMPILE J │ │ │ +000471f0: 5320 6974 4973 4f6e 6520 3d20 7b20 2274 S itIsOne = { "t │ │ │ +00047200: 7422 203a 2061 203d 3e20 615b 2274 7422 t" : a => a["tt" │ │ │ +00047210: 5d28 2920 7d20 232d 7d0a 7b2d 2320 434f ]() } #-}.{-# CO │ │ │ +00047220: 4d50 494c 4520 4a53 2049 734f 6e65 3120 MPILE JS IsOne1 │ │ │ +00047230: 3d0a 2020 5f20 3d3e 205f 203d 3e20 5f20 =. _ => _ => _ │ │ │ +00047240: 3d3e 207b 2072 6574 7572 6e20 7b20 2274 => { return { "t │ │ │ +00047250: 7422 203a 2061 203d 3e20 615b 2274 7422 t" : a => a["tt" │ │ │ +00047260: 5d28 2920 7d20 7d0a 2020 232d 7d0a 7b2d ]() } }. #-}.{- │ │ │ +00047270: 2320 434f 4d50 494c 4520 4a53 2049 734f # COMPILE JS IsO │ │ │ +00047280: 6e65 3220 3d0a 2020 5f20 3d3e 205f 203d ne2 =. _ => _ = │ │ │ +00047290: 3e20 5f20 3d3e 207b 2072 6574 7572 6e20 > _ => { return │ │ │ +000472a0: 7b20 2274 7422 203a 2061 203d 3e20 615b { "tt" : a => a[ │ │ │ +000472b0: 2274 7422 5d28 2920 7d20 7d0a 2020 232d "tt"]() } }. #- │ │ │ +000472c0: 7d0a 0a2d 2d20 5061 7274 6961 6c20 3a20 }..-- Partial : │ │ │ +000472d0: e288 807b e284 937d 2028 6920 3a20 4929 ...{...} (i : I) │ │ │ +000472e0: 2028 4120 3a20 5365 7420 e284 9329 20e2 (A : Set ...) . │ │ │ +000472f0: 8692 2053 6574 20e2 8493 0a2d 2d20 5061 .. Set ....-- Pa │ │ │ +00047300: 7274 6961 6c20 6920 4120 3d20 4973 4f6e rtial i A = IsOn │ │ │ +00047310: 6520 6920 e286 9220 410a 0a7b 2d23 2042 e i ... A..{-# B │ │ │ +00047320: 5549 4c54 494e 2050 4152 5449 414c 2020 UILTIN PARTIAL │ │ │ +00047330: 5061 7274 6961 6c20 2023 2d7d 0a7b 2d23 Partial #-}.{-# │ │ │ +00047340: 2042 5549 4c54 494e 2050 4152 5449 414c BUILTIN PARTIAL │ │ │ +00047350: 5020 5061 7274 6961 6c50 2023 2d7d 0a0a P PartialP #-}.. │ │ │ +00047360: 706f 7374 756c 6174 650a 2020 6973 4f6e postulate. isOn │ │ │ +00047370: 6545 6d70 7479 203a 20e2 8880 207b e284 eEmpty : ... {.. │ │ │ +00047380: 937d 207b 4120 3a20 5061 7274 6961 6c20 .} {A : Partial │ │ │ +00047390: 6930 2028 5365 7420 e284 9329 7d20 e286 i0 (Set ...)} .. │ │ │ +000473a0: 9220 5061 7274 6961 6c50 2069 3020 410a . PartialP i0 A. │ │ │ +000473b0: 0a7b 2d23 2042 5549 4c54 494e 2049 534f .{-# BUILTIN ISO │ │ │ +000473c0: 4e45 454d 5054 5920 6973 4f6e 6545 6d70 NEEMPTY isOneEmp │ │ │ +000473d0: 7479 2023 2d7d 0a0a 2d2d 2050 6172 7469 ty #-}..-- Parti │ │ │ +000473e0: 616c c2a0 69c2 a041 2061 6e64 2050 6172 al..i..A and Par │ │ │ +000473f0: 7469 616c 50c2 a069 c2a0 4120 6172 6520 tialP..i..A are │ │ │ +00047400: 7472 6561 7465 6420 6173 2049 734f 6e65 treated as IsOne │ │ │ +00047410: c2a0 69c2 a0e2 8692 c2a0 412e 0a7b 2d23 ..i.......A..{-# │ │ │ +00047420: 2043 4f4d 5049 4c45 204a 5320 6973 4f6e COMPILE JS isOn │ │ │ +00047430: 6545 6d70 7479 203d 0a20 205f 203d 3e20 eEmpty =. _ => │ │ │ +00047440: 7820 3d3e 205f 203d 3e20 7828 7b20 2274 x => _ => x({ "t │ │ │ +00047450: 7422 203a 2061 203d 3e20 615b 2274 7422 t" : a => a["tt" │ │ │ +00047460: 5d28 2920 7d29 0a20 2023 2d7d 0a0a 7072 ]() }). #-}..pr │ │ │ +00047470: 696d 6974 6976 650a 2020 7072 696d 504f imitive. primPO │ │ │ +00047480: 7220 3a20 e288 8020 7be2 8493 7d20 2869 r : ... {...} (i │ │ │ +00047490: 206a 203a 2049 2920 7b41 203a 2050 6172 j : I) {A : Par │ │ │ +000474a0: 7469 616c 2028 7072 696d 494d 6178 2069 tial (primIMax i │ │ │ +000474b0: 206a 2920 2853 6574 20e2 8493 297d 0a20 j) (Set ...)}. │ │ │ +000474c0: 2020 2020 2020 2020 2020 20e2 8692 2028 ... ( │ │ │ +000474d0: 7520 3a20 5061 7274 6961 6c50 2069 2028 u : PartialP i ( │ │ │ +000474e0: cebb 207a 20e2 8692 2041 2028 4973 4f6e .. z ... A (IsOn │ │ │ +000474f0: 6531 2069 206a 207a 2929 290a 2020 2020 e1 i j z))). │ │ │ +00047500: 2020 2020 2020 2020 e286 9220 2876 203a ... (v : │ │ │ +00047510: 2050 6172 7469 616c 5020 6a20 28ce bb20 PartialP j (.. │ │ │ +00047520: 7a20 e286 9220 4120 2849 734f 6e65 3220 z ... A (IsOne2 │ │ │ +00047530: 6920 6a20 7a29 2929 0a20 2020 2020 2020 i j z))). │ │ │ +00047540: 2020 2020 20e2 8692 2050 6172 7469 616c ... Partial │ │ │ +00047550: 5020 2870 7269 6d49 4d61 7820 6920 6a29 P (primIMax i j) │ │ │ +00047560: 2041 0a0a 2020 2d2d 2043 6f6d 7075 7465 A.. -- Compute │ │ │ +00047570: 7320 696e 2074 6572 6d73 206f 6620 7072 s in terms of pr │ │ │ +00047580: 696d 4843 6f6d 7020 616e 6420 7072 696d imHComp and prim │ │ │ +00047590: 5472 616e 7370 0a20 2070 7269 6d43 6f6d Transp. primCom │ │ │ +000475a0: 7020 3a20 e288 8020 7be2 8493 7d20 2841 p : ... {...} (A │ │ │ +000475b0: 203a 2028 6920 3a20 4929 20e2 8692 2053 : (i : I) ... S │ │ │ +000475c0: 6574 2028 e284 9320 6929 2920 7bcf 8620 et (... i)) {.. │ │ │ +000475d0: 3a20 497d 2028 7520 3a20 e288 8020 6920 : I} (u : ... i │ │ │ +000475e0: e286 9220 5061 7274 6961 6c20 cf86 2028 ... Partial .. ( │ │ │ +000475f0: 4120 6929 2920 2861 203a 2041 2069 3029 A i)) (a : A i0) │ │ │ +00047600: 20e2 8692 2041 2069 310a 0a73 796e 7461 ... A i1..synta │ │ │ +00047610: 7820 7072 696d 504f 7220 7020 7120 7520 x primPOr p q u │ │ │ +00047620: 7420 3d20 5b20 7020 e286 a620 7520 2c20 t = [ p ... u , │ │ │ +00047630: 7120 e286 a620 7420 5d0a 0a70 7269 6d69 q ... t ]..primi │ │ │ +00047640: 7469 7665 0a20 2070 7269 6d54 7261 6e73 tive. primTrans │ │ │ +00047650: 7020 3a20 e288 8020 7be2 8493 7d20 2841 p : ... {...} (A │ │ │ +00047660: 203a 2028 6920 3a20 4929 20e2 8692 2053 : (i : I) ... S │ │ │ +00047670: 6574 2028 e284 9320 6929 2920 28cf 8620 et (... i)) (.. │ │ │ +00047680: 3a20 4929 2028 6120 3a20 4120 6930 2920 : I) (a : A i0) │ │ │ +00047690: e286 9220 4120 6931 0a20 2070 7269 6d48 ... A i1. primH │ │ │ +000476a0: 436f 6d70 2020 3a20 e288 8020 7be2 8493 Comp : ... {... │ │ │ +000476b0: 7d20 7b41 203a 2053 6574 20e2 8493 7d20 } {A : Set ...} │ │ │ +000476c0: 7bcf 8620 3a20 497d 2028 7520 3a20 e288 {.. : I} (u : .. │ │ │ +000476d0: 8020 6920 e286 9220 5061 7274 6961 6c20 . i ... Partial │ │ │ +000476e0: cf86 2041 2920 2861 203a 2041 2920 e286 .. A) (a : A) .. │ │ │ +000476f0: 9220 410a 0a0a 706f 7374 756c 6174 650a . A...postulate. │ │ │ +00047700: 2020 5061 7468 5020 3a20 e288 8020 7be2 PathP : ... {. │ │ │ +00047710: 8493 7d20 2841 203a 2049 20e2 8692 2053 ..} (A : I ... S │ │ │ +00047720: 6574 20e2 8493 2920 e286 9220 4120 6930 et ...) ... A i0 │ │ │ +00047730: 20e2 8692 2041 2069 3120 e286 9220 5365 ... A i1 ... Se │ │ │ +00047740: 7420 e284 930a 0a7b 2d23 2042 5549 4c54 t .....{-# BUILT │ │ │ +00047750: 494e 2050 4154 4850 2020 2020 2020 2020 IN PATHP │ │ │ +00047760: 5061 7468 5020 2020 2020 232d 7d0a f7d2 PathP #-}... │ │ │ +00047770: 89fd d6a3 82c3 8a01 bff0 8fee bf90 b699 ................ │ │ │ +00047780: 2c00 f201 0004 77ab 0520 0000 0100 0404 ,.....w.. ...... │ │ │ +00047790: 0803 0702 5e02 0000 030f 0005 0505 0b5f ....^.........._ │ │ │ +000477a0: 0bfd 010b 6109 0601 00d8 08c0 e1f3 b3a0 ....a........... │ │ │ +000477b0: c3dd ab21 f78c fbdc 99b3 a9b0 6400 fd01 ...!........d... │ │ │ +000477c0: 0004 7c34 0582 8080 e608 0000 0100 0304 ..|4............ │ │ │ +000477d0: 0704 0200 0003 0f00 0901 d808 2d2d 2054 ............-- T │ │ │ +000477e0: 6865 2041 6764 6120 7072 696d 6974 6976 he Agda primitiv │ │ │ +000477f0: 6573 2028 7072 656c 6f61 6465 6429 2e0a es (preloaded).. │ │ │ +00047800: 0a7b 2d23 204f 5054 494f 4e53 202d 2d63 .{-# OPTIONS --c │ │ │ +00047810: 7562 6963 616c 2d63 6f6d 7061 7469 626c ubical-compatibl │ │ │ +00047820: 6520 2d2d 6e6f 2d69 6d70 6f72 742d 736f e --no-import-so │ │ │ +00047830: 7274 7320 2d2d 6c65 7665 6c2d 756e 6976 rts --level-univ │ │ │ +00047840: 6572 7365 2023 2d7d 0a0a 6d6f 6475 6c65 erse #-}..module │ │ │ +00047850: 2041 6764 612e 5072 696d 6974 6976 6520 Agda.Primitive │ │ │ +00047860: 7768 6572 650a 0a2d 2d2d 2d2d 2d2d 2d2d where..--------- │ │ │ 00047870: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 00047880: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 00047890: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ -000478a0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a2d --------------.- │ │ │ -000478b0: 2d20 556e 6976 6572 7365 206c 6576 656c - Universe level │ │ │ -000478c0: 730a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d s.-------------- │ │ │ +000478a0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a ---------------. │ │ │ +000478b0: 2d2d 2055 6e69 7665 7273 6520 6c65 7665 -- Universe leve │ │ │ +000478c0: 6c73 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ls.------------- │ │ │ 000478d0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 000478e0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 000478f0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ -00047900: 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 696e 6669 ----------..infi │ │ │ -00047910: 786c 2036 205f e28a 945f 0a0a 7b2d 2320 xl 6 _..._..{-# │ │ │ -00047920: 4255 494c 5449 4e20 5052 4f50 2020 2020 BUILTIN PROP │ │ │ -00047930: 2020 2020 2020 2050 726f 7020 2020 2020 Prop │ │ │ -00047940: 2023 2d7d 0a7b 2d23 2042 5549 4c54 494e #-}.{-# BUILTIN │ │ │ -00047950: 2054 5950 4520 2020 2020 2020 2020 2020 TYPE │ │ │ -00047960: 5365 7420 2020 2020 2020 232d 7d0a 7b2d Set #-}.{- │ │ │ -00047970: 2320 4255 494c 5449 4e20 5354 5249 4354 # BUILTIN STRICT │ │ │ -00047980: 5345 5420 2020 2020 2053 5365 7420 2020 SET SSet │ │ │ -00047990: 2020 2023 2d7d 0a0a 7b2d 2320 4255 494c #-}..{-# BUIL │ │ │ -000479a0: 5449 4e20 5052 4f50 4f4d 4547 4120 2020 TIN PROPOMEGA │ │ │ -000479b0: 2020 2050 726f 70cf 8920 2020 2020 232d Prop.. #- │ │ │ -000479c0: 7d0a 7b2d 2320 4255 494c 5449 4e20 5345 }.{-# BUILTIN SE │ │ │ -000479d0: 544f 4d45 4741 2020 2020 2020 2053 6574 TOMEGA Set │ │ │ -000479e0: cf89 2020 2020 2020 232d 7d0a 7b2d 2320 .. #-}.{-# │ │ │ -000479f0: 4255 494c 5449 4e20 5354 5249 4354 5345 BUILTIN STRICTSE │ │ │ -00047a00: 544f 4d45 4741 2053 5365 74cf 8920 2020 TOMEGA SSet.. │ │ │ -00047a10: 2020 232d 7d0a 0a7b 2d23 2042 5549 4c54 #-}..{-# BUILT │ │ │ -00047a20: 494e 204c 4556 454c 554e 4956 2020 2020 IN LEVELUNIV │ │ │ -00047a30: 2020 4c65 7665 6c55 6e69 7620 232d 7d0a LevelUniv #-}. │ │ │ -00047a40: 0a2d 2d20 4c65 7665 6c20 6973 2074 6865 .-- Level is the │ │ │ -00047a50: 2066 6972 7374 2074 6869 6e67 2077 6520 first thing we │ │ │ -00047a60: 6e65 6564 2074 6f20 6465 6669 6e65 2e0a need to define.. │ │ │ -00047a70: 2d2d 2054 6865 206f 7468 6572 2070 6f73 -- The other pos │ │ │ -00047a80: 7475 6c61 7465 7320 6361 6e20 6f6e 6c79 tulates can only │ │ │ -00047a90: 2062 6520 6368 6563 6b65 6420 6966 2062 be checked if b │ │ │ -00047aa0: 7569 6c74 2d69 6e20 4c65 7665 6c20 6973 uilt-in Level is │ │ │ -00047ab0: 206b 6e6f 776e 2e0a 0a70 6f73 7475 6c61 known...postula │ │ │ -00047ac0: 7465 0a20 204c 6576 656c 203a 204c 6576 te. Level : Lev │ │ │ -00047ad0: 656c 556e 6976 0a0a 2d2d 204d 416c 6f6e elUniv..-- MAlon │ │ │ -00047ae0: 7a6f 2063 6f6d 7069 6c65 7320 4c65 7665 zo compiles Leve │ │ │ -00047af0: 6c20 746f 2028 292e 2054 6869 7320 7368 l to (). This sh │ │ │ -00047b00: 6f75 6c64 2062 6520 7361 6665 2c20 6265 ould be safe, be │ │ │ -00047b10: 6361 7573 6520 6974 2069 730a 2d2d 206e cause it is.-- n │ │ │ -00047b20: 6f74 2070 6f73 7369 626c 6520 746f 2070 ot possible to p │ │ │ -00047b30: 6174 7465 726e 206d 6174 6368 206f 6e20 attern match on │ │ │ -00047b40: 6c65 7665 6c73 2e0a 0a7b 2d23 2042 5549 levels...{-# BUI │ │ │ -00047b50: 4c54 494e 204c 4556 454c 204c 6576 656c LTIN LEVEL Level │ │ │ -00047b60: 2023 2d7d 0a0a 706f 7374 756c 6174 650a #-}..postulate. │ │ │ -00047b70: 2020 6c7a 6572 6f20 3a20 4c65 7665 6c0a lzero : Level. │ │ │ -00047b80: 2020 6c73 7563 2020 3a20 28e2 8493 203a lsuc : (... : │ │ │ -00047b90: 204c 6576 656c 2920 e286 9220 4c65 7665 Level) ... Leve │ │ │ -00047ba0: 6c0a 2020 5fe2 8a94 5f20 2020 3a20 28e2 l. _..._ : (. │ │ │ -00047bb0: 8493 e282 8120 e284 93e2 8282 203a 204c ..... ...... : L │ │ │ -00047bc0: 6576 656c 2920 e286 9220 4c65 7665 6c0a evel) ... Level. │ │ │ -00047bd0: 0a7b 2d23 2042 5549 4c54 494e 204c 4556 .{-# BUILTIN LEV │ │ │ -00047be0: 454c 5a45 524f 206c 7a65 726f 2023 2d7d ELZERO lzero #-} │ │ │ -00047bf0: 0a7b 2d23 2042 5549 4c54 494e 204c 4556 .{-# BUILTIN LEV │ │ │ -00047c00: 454c 5355 4320 206c 7375 6320 2023 2d7d ELSUC lsuc #-} │ │ │ -00047c10: 0a7b 2d23 2042 5549 4c54 494e 204c 4556 .{-# BUILTIN LEV │ │ │ -00047c20: 454c 4d41 5820 205f e28a 945f 2020 2023 ELMAX _..._ # │ │ │ -00047c30: 2d7d 0a92 a285 c9fa f4b0 89eb 01a0 cbcb -}.............. │ │ │ -00047c40: afdf f3f2 d5a3 0100 f001 0004 7c71 0520 ............|q. │ │ │ -00047c50: 0000 0100 0404 0803 0702 5e02 0000 030f ..........^..... │ │ │ -00047c60: 0005 0505 0b5f 0bfe 010b 6109 0601 00b4 ....._....a..... │ │ │ -00047c70: 02ff 819e edee 9fd4 e7f8 01ec c4d2 c4bb ................ │ │ │ -00047c80: abb0 8dbc 0100 fe01 0004 7dd8 0582 8080 ..........}..... │ │ │ -00047c90: e608 0000 0100 0304 0704 0200 0003 0f00 ................ │ │ │ -00047ca0: 0901 b402 7b2d 2320 4f50 5449 4f4e 5320 ....{-# OPTIONS │ │ │ -00047cb0: 2d2d 6375 6269 6361 6c2d 636f 6d70 6174 --cubical-compat │ │ │ -00047cc0: 6962 6c65 202d 2d73 6166 6520 2d2d 6e6f ible --safe --no │ │ │ -00047cd0: 2d73 697a 6564 2d74 7970 6573 202d 2d6e -sized-types --n │ │ │ -00047ce0: 6f2d 6775 6172 6465 646e 6573 7320 2d2d o-guardedness -- │ │ │ -00047cf0: 6c65 7665 6c2d 756e 6976 6572 7365 2023 level-universe # │ │ │ -00047d00: 2d7d 0a0a 6d6f 6475 6c65 2041 6764 612e -}..module Agda. │ │ │ -00047d10: 4275 696c 7469 6e2e 576f 7264 2e50 726f Builtin.Word.Pro │ │ │ -00047d20: 7065 7274 6965 7320 7768 6572 650a 0a6f perties where..o │ │ │ -00047d30: 7065 6e20 696d 706f 7274 2041 6764 612e pen import Agda. │ │ │ -00047d40: 4275 696c 7469 6e2e 576f 7264 0a6f 7065 Builtin.Word.ope │ │ │ -00047d50: 6e20 696d 706f 7274 2041 6764 612e 4275 n import Agda.Bu │ │ │ -00047d60: 696c 7469 6e2e 4571 7561 6c69 7479 0a0a iltin.Equality.. │ │ │ -00047d70: 7072 696d 6974 6976 650a 0a20 2070 7269 primitive.. pri │ │ │ -00047d80: 6d57 6f72 6436 3454 6f4e 6174 496e 6a65 mWord64ToNatInje │ │ │ -00047d90: 6374 6976 6520 3a20 e288 8020 6120 6220 ctive : ... a b │ │ │ -00047da0: e286 9220 7072 696d 576f 7264 3634 546f ... primWord64To │ │ │ -00047db0: 4e61 7420 6120 e289 a120 7072 696d 576f Nat a ... primWo │ │ │ -00047dc0: 7264 3634 546f 4e61 7420 6220 e286 9220 rd64ToNat b ... │ │ │ -00047dd0: 6120 e289 a120 620a 87be f1c5 dcfc a8b3 a ... b......... │ │ │ -00047de0: 50c5 98a1 868c ccab 878d 0100 ee01 0004 P............... │ │ │ -00047df0: 7e15 0520 0000 0100 0404 0803 0702 5e02 ~.. ..........^. │ │ │ -00047e00: 0000 030f 0005 0505 0b5f 0bff 010b 6109 ........._....a. │ │ │ -00047e10: 0601 00cf 02dd f5bb aba4 e1ec b1af 01aa ................ │ │ │ -00047e20: aaca a8b6 d7d9 967f 00ff 0100 047f 9605 ................ │ │ │ -00047e30: 8280 80e6 0800 0001 0003 0407 0402 0000 ................ │ │ │ -00047e40: 030f 0009 01cf 027b 2d23 204f 5054 494f .......{-# OPTIO │ │ │ -00047e50: 4e53 202d 2d63 7562 6963 616c 2d63 6f6d NS --cubical-com │ │ │ -00047e60: 7061 7469 626c 6520 2d2d 7361 6665 202d patible --safe - │ │ │ -00047e70: 2d6e 6f2d 756e 6976 6572 7365 2d70 6f6c -no-universe-pol │ │ │ -00047e80: 796d 6f72 7068 6973 6d0a 2020 2020 2020 ymorphism. │ │ │ -00047e90: 2020 2020 2020 2d2d 6e6f 2d73 697a 6564 --no-sized │ │ │ -00047ea0: 2d74 7970 6573 202d 2d6e 6f2d 6775 6172 -types --no-guar │ │ │ -00047eb0: 6465 646e 6573 7320 2d2d 6c65 7665 6c2d dedness --level- │ │ │ -00047ec0: 756e 6976 6572 7365 2023 2d7d 0a0a 6d6f universe #-}..mo │ │ │ -00047ed0: 6475 6c65 2041 6764 612e 4275 696c 7469 dule Agda.Builti │ │ │ -00047ee0: 6e2e 576f 7264 2077 6865 7265 0a0a 6f70 n.Word where..op │ │ │ -00047ef0: 656e 2069 6d70 6f72 7420 4167 6461 2e42 en import Agda.B │ │ │ -00047f00: 7569 6c74 696e 2e4e 6174 0a0a 706f 7374 uiltin.Nat..post │ │ │ -00047f10: 756c 6174 6520 576f 7264 3634 203a 2053 ulate Word64 : S │ │ │ -00047f20: 6574 0a7b 2d23 2042 5549 4c54 494e 2057 et.{-# BUILTIN W │ │ │ -00047f30: 4f52 4436 3420 576f 7264 3634 2023 2d7d ORD64 Word64 #-} │ │ │ -00047f40: 0a0a 7072 696d 6974 6976 650a 2020 7072 ..primitive. pr │ │ │ -00047f50: 696d 576f 7264 3634 546f 4e61 7420 2020 imWord64ToNat │ │ │ -00047f60: 3a20 576f 7264 3634 20e2 8692 204e 6174 : Word64 ... Nat │ │ │ -00047f70: 0a20 2070 7269 6d57 6f72 6436 3446 726f . primWord64Fro │ │ │ -00047f80: 6d4e 6174 203a 204e 6174 20e2 8692 2057 mNat : Nat ... W │ │ │ -00047f90: 6f72 6436 340a 9cb8 97e1 d1c2 92fd 5ecb ord64.........^. │ │ │ -00047fa0: d198 eccf ffbc da5e 00fa 0100 047f e605 .......^........ │ │ │ -00047fb0: b480 80e6 0800 0000 0520 0000 0100 0100 ......... ...... │ │ │ -00047fc0: 0404 0803 0702 8680 80ec 0802 0000 030f ................ │ │ │ -00047fd0: 0005 0505 0b87 8080 ec08 0105 2000 0001 ............ ... │ │ │ -00047fe0: 0b9e 010b 8002 c9e4 8ad6 e2e3 ffd3 bc01 ................ │ │ │ -00047ff0: afd3 cdda cfd6 edde 5200 ec01 0004 8023 ........R......# │ │ │ -00048000: 0520 0000 0100 0404 0803 0702 5e02 0000 . ..........^... │ │ │ -00048010: 030f 0005 0505 0b5f 0b81 020b 6109 0601 ......._....a... │ │ │ -00048020: 0099 02a8 f4ab b6f6 ffcc fd55 8cbe f1c2 ...........U.... │ │ │ -00048030: 8de4 ceef 2300 8102 0004 816d 0582 8080 ....#......m.... │ │ │ -00048040: e608 0000 0100 0304 0704 0200 0003 0f00 ................ │ │ │ -00048050: 0901 9902 7b2d 2320 4f50 5449 4f4e 5320 ....{-# OPTIONS │ │ │ -00048060: 2d2d 6375 6269 6361 6c2d 636f 6d70 6174 --cubical-compat │ │ │ -00048070: 6962 6c65 202d 2d73 6166 6520 2d2d 6e6f ible --safe --no │ │ │ -00048080: 2d75 6e69 7665 7273 652d 706f 6c79 6d6f -universe-polymo │ │ │ -00048090: 7270 6869 736d 0a20 2020 2020 2020 2020 rphism. │ │ │ -000480a0: 2020 202d 2d6e 6f2d 7369 7a65 642d 7479 --no-sized-ty │ │ │ -000480b0: 7065 7320 2d2d 6e6f 2d67 7561 7264 6564 pes --no-guarded │ │ │ -000480c0: 6e65 7373 202d 2d6c 6576 656c 2d75 6e69 ness --level-uni │ │ │ -000480d0: 7665 7273 6520 232d 7d0a 0a6d 6f64 756c verse #-}..modul │ │ │ -000480e0: 6520 4167 6461 2e42 7569 6c74 696e 2e55 e Agda.Builtin.U │ │ │ -000480f0: 6e69 7420 7768 6572 650a 0a72 6563 6f72 nit where..recor │ │ │ -00048100: 6420 e28a a420 3a20 5365 7420 7768 6572 d ... : Set wher │ │ │ -00048110: 650a 2020 696e 7374 616e 6365 2063 6f6e e. instance con │ │ │ -00048120: 7374 7275 6374 6f72 2074 740a 0a7b 2d23 structor tt..{-# │ │ │ -00048130: 2042 5549 4c54 494e 2055 4e49 5420 e28a BUILTIN UNIT .. │ │ │ -00048140: a420 232d 7d0a 7b2d 2320 434f 4d50 494c . #-}.{-# COMPIL │ │ │ -00048150: 4520 4748 4320 e28a a420 3d20 6461 7461 E GHC ... = data │ │ │ -00048160: 2028 2920 2828 2929 2023 2d7d 0aa7 ab83 () (()) #-}.... │ │ │ -00048170: e497 a8bf e946 dfed a0c4 91c8 f4ff c501 .....F.......... │ │ │ -00048180: 00ea 0100 0481 aa05 2000 0001 0004 0408 ........ ....... │ │ │ -00048190: 0307 025e 0200 0003 0f00 0505 050b 5f0b ...^.........._. │ │ │ -000481a0: 8202 0b61 0906 0100 b603 e4a4 e4c6 8dc8 ...a............ │ │ │ -000481b0: cb99 f501 8bb4 f0b4 9784 8bef c101 0082 ................ │ │ │ -000481c0: 0200 0483 9305 8280 80e6 0800 0001 0003 ................ │ │ │ -000481d0: 0407 0402 0000 030f 0009 01b6 037b 2d23 .............{-# │ │ │ -000481e0: 204f 5054 494f 4e53 202d 2d6e 6f2d 7369 OPTIONS --no-si │ │ │ -000481f0: 7a65 642d 7479 7065 7320 2d2d 6e6f 2d67 zed-types --no-g │ │ │ -00048200: 7561 7264 6564 6e65 7373 202d 2d6c 6576 uardedness --lev │ │ │ -00048210: 656c 2d75 6e69 7665 7273 6520 232d 7d0a el-universe #-}. │ │ │ -00048220: 0a6d 6f64 756c 6520 4167 6461 2e42 7569 .module Agda.Bui │ │ │ -00048230: 6c74 696e 2e54 7275 7374 4d65 2077 6865 ltin.TrustMe whe │ │ │ -00048240: 7265 0a0a 6f70 656e 2069 6d70 6f72 7420 re..open import │ │ │ -00048250: 4167 6461 2e42 7569 6c74 696e 2e45 7175 Agda.Builtin.Equ │ │ │ -00048260: 616c 6974 790a 6f70 656e 2069 6d70 6f72 ality.open impor │ │ │ -00048270: 7420 4167 6461 2e42 7569 6c74 696e 2e45 t Agda.Builtin.E │ │ │ -00048280: 7175 616c 6974 792e 4572 6173 650a 0a70 quality.Erase..p │ │ │ -00048290: 7269 7661 7465 0a20 2070 6f73 7475 6c61 rivate. postula │ │ │ -000482a0: 7465 0a20 2020 2075 6e73 6166 6550 7269 te. unsafePri │ │ │ -000482b0: 6d54 7275 7374 4d65 203a 20e2 8880 207b mTrustMe : ... { │ │ │ -000482c0: 617d 207b 4120 3a20 5365 7420 617d 207b a} {A : Set a} { │ │ │ -000482d0: 7820 7920 3a20 417d 20e2 8692 2078 20e2 x y : A} ... x . │ │ │ -000482e0: 89a1 2079 0a0a 7072 696d 5472 7573 744d .. y..primTrustM │ │ │ -000482f0: 6520 3a20 e288 8020 7b61 7d20 7b41 203a e : ... {a} {A : │ │ │ -00048300: 2053 6574 2061 7d20 7b78 2079 203a 2041 Set a} {x y : A │ │ │ -00048310: 7d20 e286 9220 7820 e289 a120 790a 7072 } ... x ... y.pr │ │ │ -00048320: 696d 5472 7573 744d 6520 3d20 7072 696d imTrustMe = prim │ │ │ -00048330: 4572 6173 6545 7175 616c 6974 7920 756e EraseEquality un │ │ │ -00048340: 7361 6665 5072 696d 5472 7573 744d 650a safePrimTrustMe. │ │ │ -00048350: 0a7b 2d23 2044 4953 504c 4159 2070 7269 .{-# DISPLAY pri │ │ │ -00048360: 6d45 7261 7365 4571 7561 6c69 7479 2075 mEraseEquality u │ │ │ -00048370: 6e73 6166 6550 7269 6d54 7275 7374 4d65 nsafePrimTrustMe │ │ │ -00048380: 203d 2070 7269 6d54 7275 7374 4d65 2023 = primTrustMe # │ │ │ -00048390: 2d7d 0afb 86f7 c59b b1d7 fe45 b58c ada8 -}.........E.... │ │ │ -000483a0: a0f7 a082 6700 e701 0004 83cf 0520 0000 ....g........ .. │ │ │ -000483b0: 0100 0404 0803 0702 5e02 0000 030f 0005 ........^....... │ │ │ -000483c0: 0505 0b5f 0b83 020b 6109 0601 00a1 0381 ..._....a....... │ │ │ -000483d0: b4a5 dfe2 82f7 ac81 01f5 bebb f69a e2c0 ................ │ │ │ -000483e0: fbd2 0100 8302 0004 85a3 0582 8080 e608 ................ │ │ │ -000483f0: 0000 0100 0304 0704 0200 0003 0f00 0901 ................ │ │ │ -00048400: a103 7b2d 2320 4f50 5449 4f4e 5320 2d2d ..{-# OPTIONS -- │ │ │ -00048410: 6375 6269 6361 6c2d 636f 6d70 6174 6962 cubical-compatib │ │ │ -00048420: 6c65 202d 2d73 6166 6520 2d2d 6e6f 2d73 le --safe --no-s │ │ │ -00048430: 697a 6564 2d74 7970 6573 202d 2d6e 6f2d ized-types --no- │ │ │ -00048440: 6775 6172 6465 646e 6573 7320 2d2d 6c65 guardedness --le │ │ │ -00048450: 7665 6c2d 756e 6976 6572 7365 2023 2d7d vel-universe #-} │ │ │ -00048460: 0a0a 6d6f 6475 6c65 2041 6764 612e 4275 ..module Agda.Bu │ │ │ -00048470: 696c 7469 6e2e 5374 7269 6e67 2e50 726f iltin.String.Pro │ │ │ -00048480: 7065 7274 6965 7320 7768 6572 650a 0a6f perties where..o │ │ │ -00048490: 7065 6e20 696d 706f 7274 2041 6764 612e pen import Agda. │ │ │ -000484a0: 4275 696c 7469 6e2e 5374 7269 6e67 0a6f Builtin.String.o │ │ │ -000484b0: 7065 6e20 696d 706f 7274 2041 6764 612e pen import Agda. │ │ │ -000484c0: 4275 696c 7469 6e2e 4571 7561 6c69 7479 Builtin.Equality │ │ │ -000484d0: 0a0a 7072 696d 6974 6976 650a 0a20 2070 ..primitive.. p │ │ │ -000484e0: 7269 6d53 7472 696e 6754 6f4c 6973 7449 rimStringToListI │ │ │ -000484f0: 6e6a 6563 7469 7665 203a 20e2 8880 2061 njective : ... a │ │ │ -00048500: 2062 20e2 8692 2070 7269 6d53 7472 696e b ... primStrin │ │ │ -00048510: 6754 6f4c 6973 7420 6120 e289 a120 7072 gToList a ... pr │ │ │ -00048520: 696d 5374 7269 6e67 546f 4c69 7374 2062 imStringToList b │ │ │ -00048530: 20e2 8692 2061 20e2 89a1 2062 0a20 2070 ... a ... b. p │ │ │ -00048540: 7269 6d53 7472 696e 6746 726f 6d4c 6973 rimStringFromLis │ │ │ -00048550: 7449 6e6a 6563 7469 7665 203a 20e2 8880 tInjective : ... │ │ │ -00048560: 2061 2062 20e2 8692 2070 7269 6d53 7472 a b ... primStr │ │ │ -00048570: 696e 6746 726f 6d4c 6973 7420 6120 e289 ingFromList a .. │ │ │ -00048580: a120 7072 696d 5374 7269 6e67 4672 6f6d . primStringFrom │ │ │ -00048590: 4c69 7374 2062 20e2 8692 2061 20e2 89a1 List b ... a ... │ │ │ -000485a0: 2062 0af0 fdb8 8296 d5f7 e069 eb9b 87fc b.........i.... │ │ │ -000485b0: c7d4 91a4 5b00 e501 0004 85df 0520 0000 ....[........ .. │ │ │ -000485c0: 0100 0404 0803 0702 5e02 0000 030f 0005 ........^....... │ │ │ -000485d0: 0505 0b5f 0b84 020b 6109 0601 00a4 0cbd ..._....a....... │ │ │ -000485e0: 85d8 a4d6 ce85 819d 01e9 e9b5 d0be a5a5 ................ │ │ │ -000485f0: faf2 0100 8402 0004 8c36 0582 8080 e608 .........6...... │ │ │ -00048600: 0000 0100 0304 0704 0200 0003 0f00 0901 ................ │ │ │ -00048610: a40c 7b2d 2320 4f50 5449 4f4e 5320 2d2d ..{-# OPTIONS -- │ │ │ -00048620: 6375 6269 6361 6c2d 636f 6d70 6174 6962 cubical-compatib │ │ │ -00048630: 6c65 202d 2d73 6166 6520 2d2d 6e6f 2d73 le --safe --no-s │ │ │ -00048640: 697a 6564 2d74 7970 6573 202d 2d6e 6f2d ized-types --no- │ │ │ -00048650: 6775 6172 6465 646e 6573 7320 2d2d 6c65 guardedness --le │ │ │ -00048660: 7665 6c2d 756e 6976 6572 7365 2023 2d7d vel-universe #-} │ │ │ -00048670: 0a0a 6d6f 6475 6c65 2041 6764 612e 4275 ..module Agda.Bu │ │ │ -00048680: 696c 7469 6e2e 5374 7269 6e67 2077 6865 iltin.String whe │ │ │ -00048690: 7265 0a0a 6f70 656e 2069 6d70 6f72 7420 re..open import │ │ │ -000486a0: 4167 6461 2e42 7569 6c74 696e 2e42 6f6f Agda.Builtin.Boo │ │ │ -000486b0: 6c0a 6f70 656e 2069 6d70 6f72 7420 4167 l.open import Ag │ │ │ -000486c0: 6461 2e42 7569 6c74 696e 2e43 6861 720a da.Builtin.Char. │ │ │ -000486d0: 6f70 656e 2069 6d70 6f72 7420 4167 6461 open import Agda │ │ │ -000486e0: 2e42 7569 6c74 696e 2e4c 6973 740a 6f70 .Builtin.List.op │ │ │ -000486f0: 656e 2069 6d70 6f72 7420 4167 6461 2e42 en import Agda.B │ │ │ -00048700: 7569 6c74 696e 2e4d 6179 6265 0a6f 7065 uiltin.Maybe.ope │ │ │ -00048710: 6e20 696d 706f 7274 2041 6764 612e 4275 n import Agda.Bu │ │ │ -00048720: 696c 7469 6e2e 4e61 7420 7573 696e 6720 iltin.Nat using │ │ │ -00048730: 284e 6174 290a 6f70 656e 2069 6d70 6f72 (Nat).open impor │ │ │ -00048740: 7420 4167 6461 2e42 7569 6c74 696e 2e53 t Agda.Builtin.S │ │ │ -00048750: 6967 6d61 0a0a 706f 7374 756c 6174 6520 igma..postulate │ │ │ -00048760: 5374 7269 6e67 203a 2053 6574 0a7b 2d23 String : Set.{-# │ │ │ -00048770: 2042 5549 4c54 494e 2053 5452 494e 4720 BUILTIN STRING │ │ │ -00048780: 5374 7269 6e67 2023 2d7d 0a0a 7072 696d String #-}..prim │ │ │ -00048790: 6974 6976 650a 2020 7072 696d 5374 7269 itive. primStri │ │ │ -000487a0: 6e67 556e 636f 6e73 2020 203a 2053 7472 ngUncons : Str │ │ │ -000487b0: 696e 6720 e286 9220 4d61 7962 6520 28ce ing ... Maybe (. │ │ │ -000487c0: a320 4368 6172 2028 cebb 205f 20e2 8692 . Char (.. _ ... │ │ │ -000487d0: 2053 7472 696e 6729 290a 2020 7072 696d String)). prim │ │ │ -000487e0: 5374 7269 6e67 546f 4c69 7374 2020 203a StringToList : │ │ │ -000487f0: 2053 7472 696e 6720 e286 9220 4c69 7374 String ... List │ │ │ -00048800: 2043 6861 720a 2020 7072 696d 5374 7269 Char. primStri │ │ │ -00048810: 6e67 4672 6f6d 4c69 7374 203a 204c 6973 ngFromList : Lis │ │ │ -00048820: 7420 4368 6172 20e2 8692 2053 7472 696e t Char ... Strin │ │ │ -00048830: 670a 2020 7072 696d 5374 7269 6e67 4170 g. primStringAp │ │ │ -00048840: 7065 6e64 2020 203a 2053 7472 696e 6720 pend : String │ │ │ -00048850: e286 9220 5374 7269 6e67 20e2 8692 2053 ... String ... S │ │ │ -00048860: 7472 696e 670a 2020 7072 696d 5374 7269 tring. primStri │ │ │ -00048870: 6e67 4571 7561 6c69 7479 203a 2053 7472 ngEquality : Str │ │ │ -00048880: 696e 6720 e286 9220 5374 7269 6e67 20e2 ing ... String . │ │ │ -00048890: 8692 2042 6f6f 6c0a 2020 7072 696d 5368 .. Bool. primSh │ │ │ -000488a0: 6f77 4368 6172 2020 2020 2020 203a 2043 owChar : C │ │ │ -000488b0: 6861 7220 e286 9220 5374 7269 6e67 0a20 har ... String. │ │ │ -000488c0: 2070 7269 6d53 686f 7753 7472 696e 6720 primShowString │ │ │ -000488d0: 2020 2020 3a20 5374 7269 6e67 20e2 8692 : String ... │ │ │ -000488e0: 2053 7472 696e 670a 2020 7072 696d 5368 String. primSh │ │ │ -000488f0: 6f77 4e61 7420 2020 2020 2020 203a 204e owNat : N │ │ │ -00048900: 6174 20e2 8692 2053 7472 696e 670a 0a7b at ... String..{ │ │ │ -00048910: 2d23 2043 4f4d 5049 4c45 204a 5320 7072 -# COMPILE JS pr │ │ │ -00048920: 696d 5374 7269 6e67 556e 636f 6e73 203d imStringUncons = │ │ │ -00048930: 2066 756e 6374 696f 6e28 7829 207b 0a20 function(x) {. │ │ │ -00048940: 2020 6966 2028 7820 3d3d 3d20 2222 2920 if (x === "") │ │ │ -00048950: 7b20 7265 7475 726e 207a 5f6a 4167 6461 { return z_jAgda │ │ │ -00048960: 5f41 6764 615f 4275 696c 7469 6e5f 4d61 _Agda_Builtin_Ma │ │ │ -00048970: 7962 655b 224d 6179 6265 225d 5b22 6e6f ybe["Maybe"]["no │ │ │ -00048980: 7468 696e 6722 5d3b 207d 3b0a 2020 2072 thing"]; };. r │ │ │ -00048990: 6574 7572 6e20 7a5f 6a41 6764 615f 4167 eturn z_jAgda_Ag │ │ │ -000489a0: 6461 5f42 7569 6c74 696e 5f4d 6179 6265 da_Builtin_Maybe │ │ │ -000489b0: 5b22 4d61 7962 6522 5d5b 226a 7573 7422 ["Maybe"]["just" │ │ │ -000489c0: 5d28 7a5f 6a41 6764 615f 4167 6461 5f42 ](z_jAgda_Agda_B │ │ │ -000489d0: 7569 6c74 696e 5f53 6967 6d61 5b22 5f2c uiltin_Sigma["_, │ │ │ -000489e0: 5f22 5d28 782e 6368 6172 4174 2830 2929 _"](x.charAt(0)) │ │ │ -000489f0: 2878 2e73 6c69 6365 2831 2929 293b 0a20 (x.slice(1)));. │ │ │ -00048a00: 2020 7d0a 2023 2d7d 0a7b 2d23 2043 4f4d }. #-}.{-# COM │ │ │ -00048a10: 5049 4c45 204a 5320 7072 696d 5374 7269 PILE JS primStri │ │ │ -00048a20: 6e67 546f 4c69 7374 203d 2066 756e 6374 ngToList = funct │ │ │ -00048a30: 696f 6e28 7829 207b 2072 6574 7572 6e20 ion(x) { return │ │ │ -00048a40: 782e 7370 6c69 7428 2222 293b 207d 2023 x.split(""); } # │ │ │ -00048a50: 2d7d 0a7b 2d23 2043 4f4d 5049 4c45 204a -}.{-# COMPILE J │ │ │ -00048a60: 5320 7072 696d 5374 7269 6e67 4672 6f6d S primStringFrom │ │ │ -00048a70: 4c69 7374 203d 2066 756e 6374 696f 6e28 List = function( │ │ │ -00048a80: 7829 207b 2072 6574 7572 6e20 782e 6a6f x) { return x.jo │ │ │ -00048a90: 696e 2822 2229 3b20 7d20 232d 7d0a 7b2d in(""); } #-}.{- │ │ │ -00048aa0: 2320 434f 4d50 494c 4520 4a53 2070 7269 # COMPILE JS pri │ │ │ -00048ab0: 6d53 7472 696e 6741 7070 656e 6420 3d20 mStringAppend = │ │ │ -00048ac0: 6675 6e63 7469 6f6e 2878 2920 7b20 7265 function(x) { re │ │ │ -00048ad0: 7475 726e 2066 756e 6374 696f 6e28 7929 turn function(y) │ │ │ -00048ae0: 207b 2072 6574 7572 6e20 782b 793b 207d { return x+y; } │ │ │ -00048af0: 3b20 7d20 232d 7d0a 7b2d 2320 434f 4d50 ; } #-}.{-# COMP │ │ │ -00048b00: 494c 4520 4a53 2070 7269 6d53 7472 696e ILE JS primStrin │ │ │ -00048b10: 6745 7175 616c 6974 7920 3d20 6675 6e63 gEquality = func │ │ │ -00048b20: 7469 6f6e 2878 2920 7b20 7265 7475 726e tion(x) { return │ │ │ -00048b30: 2066 756e 6374 696f 6e28 7929 207b 2072 function(y) { r │ │ │ -00048b40: 6574 7572 6e20 783d 3d3d 793b 207d 3b20 eturn x===y; }; │ │ │ -00048b50: 7d20 232d 7d0a 7b2d 2320 434f 4d50 494c } #-}.{-# COMPIL │ │ │ -00048b60: 4520 4a53 2070 7269 6d53 686f 7743 6861 E JS primShowCha │ │ │ -00048b70: 7220 3d20 6675 6e63 7469 6f6e 2878 2920 r = function(x) │ │ │ -00048b80: 7b20 7265 7475 726e 204a 534f 4e2e 7374 { return JSON.st │ │ │ -00048b90: 7269 6e67 6966 7928 7829 3b20 7d20 232d ringify(x); } #- │ │ │ -00048ba0: 7d0a 7b2d 2320 434f 4d50 494c 4520 4a53 }.{-# COMPILE JS │ │ │ -00048bb0: 2070 7269 6d53 686f 7753 7472 696e 6720 primShowString │ │ │ -00048bc0: 3d20 6675 6e63 7469 6f6e 2878 2920 7b20 = function(x) { │ │ │ -00048bd0: 7265 7475 726e 204a 534f 4e2e 7374 7269 return JSON.stri │ │ │ -00048be0: 6e67 6966 7928 7829 3b20 7d20 232d 7d0a ngify(x); } #-}. │ │ │ -00048bf0: 7b2d 2320 434f 4d50 494c 4520 4a53 2070 {-# COMPILE JS p │ │ │ -00048c00: 7269 6d53 686f 774e 6174 203d 2066 756e rimShowNat = fun │ │ │ -00048c10: 6374 696f 6e28 7829 207b 2072 6574 7572 ction(x) { retur │ │ │ -00048c20: 6e20 782e 746f 5374 7269 6e67 2829 3b20 n x.toString(); │ │ │ -00048c30: 7d20 232d 7d0a d0e9 a8e7 d0c0 b2e6 fb01 } #-}........... │ │ │ -00048c40: d284 96e5 efd5 ceb4 6f00 e301 0004 8c73 ........o......s │ │ │ -00048c50: 0520 0000 0100 0404 0803 0702 5e02 0000 . ..........^... │ │ │ -00048c60: 030f 0005 0505 0b5f 0b85 020b 6109 0601 ......._....a... │ │ │ -00048c70: 00ff 02ff cbb6 b8f2 f287 ed14 c3d4 b2c4 ................ │ │ │ -00048c80: a0b5 cfa9 4200 8502 0004 8e23 0582 8080 ....B......#.... │ │ │ -00048c90: e608 0000 0100 0304 0704 0200 0003 0f00 ................ │ │ │ -00048ca0: 0901 ff02 7b2d 2320 4f50 5449 4f4e 5320 ....{-# OPTIONS │ │ │ -00048cb0: 2d2d 6375 6269 6361 6c2d 636f 6d70 6174 --cubical-compat │ │ │ -00048cc0: 6962 6c65 202d 2d73 6166 6520 2d2d 6e6f ible --safe --no │ │ │ -00048cd0: 2d73 697a 6564 2d74 7970 6573 202d 2d6e -sized-types --n │ │ │ -00048ce0: 6f2d 6775 6172 6465 646e 6573 7320 2d2d o-guardedness -- │ │ │ -00048cf0: 6c65 7665 6c2d 756e 6976 6572 7365 2023 level-universe # │ │ │ -00048d00: 2d7d 0a0a 6d6f 6475 6c65 2041 6764 612e -}..module Agda. │ │ │ -00048d10: 4275 696c 7469 6e2e 5374 7269 6374 2077 Builtin.Strict w │ │ │ -00048d20: 6865 7265 0a0a 6f70 656e 2069 6d70 6f72 here..open impor │ │ │ -00048d30: 7420 4167 6461 2e42 7569 6c74 696e 2e45 t Agda.Builtin.E │ │ │ -00048d40: 7175 616c 6974 790a 0a70 7269 6d69 7469 quality..primiti │ │ │ -00048d50: 7665 0a20 2070 7269 6d46 6f72 6365 2020 ve. primForce │ │ │ -00048d60: 2020 2020 3a20 e288 8020 7b61 2062 7d20 : ... {a b} │ │ │ -00048d70: 7b41 203a 2053 6574 2061 7d20 7b42 203a {A : Set a} {B : │ │ │ -00048d80: 2041 20e2 8692 2053 6574 2062 7d20 2878 A ... Set b} (x │ │ │ -00048d90: 203a 2041 2920 e286 9220 28e2 8880 2078 : A) ... (... x │ │ │ -00048da0: 20e2 8692 2042 2078 2920 e286 9220 4220 ... B x) ... B │ │ │ -00048db0: 780a 2020 7072 696d 466f 7263 654c 656d x. primForceLem │ │ │ -00048dc0: 6d61 203a 20e2 8880 207b 6120 627d 207b ma : ... {a b} { │ │ │ -00048dd0: 4120 3a20 5365 7420 617d 207b 4220 3a20 A : Set a} {B : │ │ │ -00048de0: 4120 e286 9220 5365 7420 627d 2028 7820 A ... Set b} (x │ │ │ -00048df0: 3a20 4129 2028 6620 3a20 e288 8020 7820 : A) (f : ... x │ │ │ -00048e00: e286 9220 4220 7829 20e2 8692 2070 7269 ... B x) ... pri │ │ │ -00048e10: 6d46 6f72 6365 2078 2066 20e2 89a1 2066 mForce x f ... f │ │ │ -00048e20: 2078 0ab5 a3b3 f78e 92d7 c4d7 01a4 c4e5 x.............. │ │ │ -00048e30: cf91 a8f1 d81a 0080 0200 048e 7405 b480 ............t... │ │ │ -00048e40: 80e6 0800 0000 0520 0000 0100 0100 0404 ....... ........ │ │ │ -00048e50: 0803 0702 8680 80ec 0802 0000 030f 0005 ................ │ │ │ -00048e60: 0505 0b87 8080 ec08 0105 2000 0001 0b9c .......... ..... │ │ │ -00048e70: 010b 8602 94b3 f0f6 e5c9 87c0 7a81 d1cc ............z... │ │ │ -00048e80: a3ea bbac cca7 0100 e101 0004 8eb1 0520 ............... │ │ │ -00048e90: 0000 0100 0404 0803 0702 5e02 0000 030f ..........^..... │ │ │ -00048ea0: 0005 0505 0b5f 0b87 020b 6109 0601 00f1 ....._....a..... │ │ │ -00048eb0: 0494 bbfe 9998 b9d0 b285 01d1 8d94 bfb4 ................ │ │ │ -00048ec0: cce5 a284 0100 8702 0004 9155 0582 8080 ...........U.... │ │ │ -00048ed0: e608 0000 0100 0304 0704 0200 0003 0f00 ................ │ │ │ -00048ee0: 0901 f104 7b2d 2320 4f50 5449 4f4e 5320 ....{-# OPTIONS │ │ │ -00048ef0: 2d2d 6375 6269 6361 6c2d 636f 6d70 6174 --cubical-compat │ │ │ -00048f00: 6962 6c65 202d 2d6e 6f2d 756e 6976 6572 ible --no-univer │ │ │ -00048f10: 7365 2d70 6f6c 796d 6f72 7068 6973 6d20 se-polymorphism │ │ │ -00048f20: 2d2d 7369 7a65 642d 7479 7065 730a 2020 --sized-types. │ │ │ -00048f30: 2020 2020 2020 2020 2020 2d2d 6e6f 2d67 --no-g │ │ │ -00048f40: 7561 7264 6564 6e65 7373 202d 2d6c 6576 uardedness --lev │ │ │ -00048f50: 656c 2d75 6e69 7665 7273 6520 232d 7d0a el-universe #-}. │ │ │ -00048f60: 0a6d 6f64 756c 6520 4167 6461 2e42 7569 .module Agda.Bui │ │ │ -00048f70: 6c74 696e 2e53 697a 6520 7768 6572 650a ltin.Size where. │ │ │ -00048f80: 0a7b 2d23 2042 5549 4c54 494e 2053 495a .{-# BUILTIN SIZ │ │ │ -00048f90: 4555 4e49 5620 5369 7a65 556e 6976 2023 EUNIV SizeUniv # │ │ │ -00048fa0: 2d7d 0a7b 2d23 2042 5549 4c54 494e 2053 -}.{-# BUILTIN S │ │ │ -00048fb0: 495a 4520 2020 2020 5369 7a65 2020 2020 IZE Size │ │ │ -00048fc0: 2023 2d7d 0a7b 2d23 2042 5549 4c54 494e #-}.{-# BUILTIN │ │ │ -00048fd0: 2053 495a 454c 5420 2020 5369 7a65 3c5f SIZELT Size<_ │ │ │ -00048fe0: 2020 2023 2d7d 0a7b 2d23 2042 5549 4c54 #-}.{-# BUILT │ │ │ -00048ff0: 494e 2053 495a 4553 5543 2020 e286 915f IN SIZESUC ..._ │ │ │ -00049000: 2020 2020 2020 2023 2d7d 0a7b 2d23 2042 #-}.{-# B │ │ │ -00049010: 5549 4c54 494e 2053 495a 4549 4e46 2020 UILTIN SIZEINF │ │ │ -00049020: e288 9e20 2020 2020 2020 2023 2d7d 0a7b ... #-}.{ │ │ │ -00049030: 2d23 2042 5549 4c54 494e 2053 495a 454d -# BUILTIN SIZEM │ │ │ -00049040: 4158 2020 5fe2 8a94 cba2 5f20 2020 2020 AX _....._ │ │ │ -00049050: 232d 7d0a 0a7b 2d23 2046 4f52 4549 474e #-}..{-# FOREIGN │ │ │ -00049060: 2047 4843 0a20 2074 7970 6520 5369 7a65 GHC. type Size │ │ │ -00049070: 4c54 2069 203d 2028 290a 2020 232d 7d0a LT i = (). #-}. │ │ │ -00049080: 0a7b 2d23 2043 4f4d 5049 4c45 2047 4843 .{-# COMPILE GHC │ │ │ -00049090: 2053 697a 6520 2020 3d20 7479 7065 2028 Size = type ( │ │ │ -000490a0: 2920 2020 2020 232d 7d0a 7b2d 2320 434f ) #-}.{-# CO │ │ │ -000490b0: 4d50 494c 4520 4748 4320 5369 7a65 3c5f MPILE GHC Size<_ │ │ │ -000490c0: 203d 2074 7970 6520 5369 7a65 4c54 2023 = type SizeLT # │ │ │ -000490d0: 2d7d 0a7b 2d23 2043 4f4d 5049 4c45 2047 -}.{-# COMPILE G │ │ │ -000490e0: 4843 20e2 8691 5f20 2020 2020 3d20 5c5f HC ..._ = \_ │ │ │ -000490f0: 202d 3e20 2829 2020 2020 232d 7d0a 7b2d -> () #-}.{- │ │ │ -00049100: 2320 434f 4d50 494c 4520 4748 4320 e288 # COMPILE GHC .. │ │ │ -00049110: 9e20 2020 2020 203d 2028 2920 2020 2020 . = () │ │ │ -00049120: 2020 2020 2023 2d7d 0a7b 2d23 2043 4f4d #-}.{-# COM │ │ │ -00049130: 5049 4c45 2047 4843 205f e28a 94cb a25f PILE GHC _....._ │ │ │ -00049140: 2020 203d 205c 5f20 5f20 2d3e 2028 2920 = \_ _ -> () │ │ │ -00049150: 2023 2d7d 0a86 c1a9 ffb0 a6bf db30 afea #-}.........0.. │ │ │ -00049160: c4ab d5d8 c9a9 e901 00df 0100 0491 9205 ................ │ │ │ -00049170: 2000 0001 0004 0408 0307 025e 0200 0003 ..........^.... │ │ │ -00049180: 0f00 0505 050b 5f0b 8802 0b61 0906 0100 ......_....a.... │ │ │ -00049190: cf02 e1ba b4bb e5be fbd8 6cef fad3 c7ea ..........l..... │ │ │ -000491a0: d9fb 8bfd 0100 8802 0004 9313 0582 8080 ................ │ │ │ -000491b0: e608 0000 0100 0304 0704 0200 0003 0f00 ................ │ │ │ -000491c0: 0901 cf02 7b2d 2320 4f50 5449 4f4e 5320 ....{-# OPTIONS │ │ │ -000491d0: 2d2d 6375 6269 6361 6c2d 636f 6d70 6174 --cubical-compat │ │ │ -000491e0: 6962 6c65 202d 2d73 6166 6520 2d2d 6e6f ible --safe --no │ │ │ -000491f0: 2d73 697a 6564 2d74 7970 6573 202d 2d6e -sized-types --n │ │ │ -00049200: 6f2d 6775 6172 6465 646e 6573 7320 2d2d o-guardedness -- │ │ │ -00049210: 6c65 7665 6c2d 756e 6976 6572 7365 2023 level-universe # │ │ │ -00049220: 2d7d 0a0a 6d6f 6475 6c65 2041 6764 612e -}..module Agda. │ │ │ -00049230: 4275 696c 7469 6e2e 5369 676d 6120 7768 Builtin.Sigma wh │ │ │ -00049240: 6572 650a 0a6f 7065 6e20 696d 706f 7274 ere..open import │ │ │ -00049250: 2041 6764 612e 5072 696d 6974 6976 650a Agda.Primitive. │ │ │ -00049260: 0a72 6563 6f72 6420 cea3 207b 6120 627d .record .. {a b} │ │ │ -00049270: 2028 4120 3a20 5365 7420 6129 2028 4220 (A : Set a) (B │ │ │ -00049280: 3a20 4120 e286 9220 5365 7420 6229 203a : A ... Set b) : │ │ │ -00049290: 2053 6574 2028 6120 e28a 9420 6229 2077 Set (a ... b) w │ │ │ -000492a0: 6865 7265 0a20 2063 6f6e 7374 7275 6374 here. construct │ │ │ -000492b0: 6f72 205f 2c5f 0a20 2066 6965 6c64 0a20 or _,_. field. │ │ │ -000492c0: 2020 2066 7374 203a 2041 0a20 2020 2073 fst : A. s │ │ │ -000492d0: 6e64 203a 2042 2066 7374 0a0a 6f70 656e nd : B fst..open │ │ │ -000492e0: 20ce a320 7075 626c 6963 0a0a 696e 6669 .. public..infi │ │ │ -000492f0: 7872 2034 205f 2c5f 0a0a 7b2d 2320 4255 xr 4 _,_..{-# BU │ │ │ -00049300: 494c 5449 4e20 5349 474d 4120 cea3 2023 ILTIN SIGMA .. # │ │ │ -00049310: 2d7d 0ac6 e1df 9dbc ae92 ba9b 019d e29e -}.............. │ │ │ -00049320: f585 e49f b0a8 0100 dd01 0004 9351 0520 .............Q. │ │ │ -00049330: 0000 0100 0404 0803 0702 5e02 0000 030f ..........^..... │ │ │ -00049340: 0005 0505 0b5f 0b89 020b 6109 0601 00a0 ....._....a..... │ │ │ -00049350: 03a6 85cd a8fd eef3 d282 01f2 fbb4 c7bd ................ │ │ │ -00049360: 96fd c5de 0100 8902 0004 9524 0582 8080 ...........$.... │ │ │ -00049370: e608 0000 0100 0304 0704 0200 0003 0f00 ................ │ │ │ -00049380: 0901 a003 7b2d 2320 4f50 5449 4f4e 5320 ....{-# OPTIONS │ │ │ -00049390: 2d2d 6375 6269 6361 6c2d 636f 6d70 6174 --cubical-compat │ │ │ -000493a0: 6962 6c65 202d 2d73 6166 6520 2d2d 6e6f ible --safe --no │ │ │ -000493b0: 2d73 697a 6564 2d74 7970 6573 202d 2d6e -sized-types --n │ │ │ -000493c0: 6f2d 6775 6172 6465 646e 6573 7320 2d2d o-guardedness -- │ │ │ -000493d0: 6c65 7665 6c2d 756e 6976 6572 7365 2023 level-universe # │ │ │ -000493e0: 2d7d 0a0a 6d6f 6475 6c65 2041 6764 612e -}..module Agda. │ │ │ -000493f0: 4275 696c 7469 6e2e 5265 666c 6563 7469 Builtin.Reflecti │ │ │ -00049400: 6f6e 2e50 726f 7065 7274 6965 7320 7768 on.Properties wh │ │ │ -00049410: 6572 650a 0a6f 7065 6e20 696d 706f 7274 ere..open import │ │ │ -00049420: 2041 6764 612e 4275 696c 7469 6e2e 5265 Agda.Builtin.Re │ │ │ -00049430: 666c 6563 7469 6f6e 0a6f 7065 6e20 696d flection.open im │ │ │ -00049440: 706f 7274 2041 6764 612e 4275 696c 7469 port Agda.Builti │ │ │ -00049450: 6e2e 4571 7561 6c69 7479 0a0a 7072 696d n.Equality..prim │ │ │ -00049460: 6974 6976 650a 0a20 2070 7269 6d4d 6574 itive.. primMet │ │ │ -00049470: 6154 6f4e 6174 496e 6a65 6374 6976 6520 aToNatInjective │ │ │ -00049480: 3a20 e288 8020 6120 6220 e286 9220 7072 : ... a b ... pr │ │ │ -00049490: 696d 4d65 7461 546f 4e61 7420 6120 e289 imMetaToNat a .. │ │ │ -000494a0: a120 7072 696d 4d65 7461 546f 4e61 7420 . primMetaToNat │ │ │ -000494b0: 6220 e286 9220 6120 e289 a120 620a 2020 b ... a ... b. │ │ │ -000494c0: 7072 696d 514e 616d 6554 6f57 6f72 6436 primQNameToWord6 │ │ │ -000494d0: 3473 496e 6a65 6374 6976 6520 3a20 e288 4sInjective : .. │ │ │ -000494e0: 8020 6120 6220 e286 9220 7072 696d 514e . a b ... primQN │ │ │ -000494f0: 616d 6554 6f57 6f72 6436 3473 2061 20e2 ameToWord64s a . │ │ │ -00049500: 89a1 2070 7269 6d51 4e61 6d65 546f 576f .. primQNameToWo │ │ │ -00049510: 7264 3634 7320 6220 e286 9220 6120 e289 rd64s b ... a .. │ │ │ -00049520: a120 620a bffe 86fe bb8e aeb1 4a9c d7bf . b.........J... │ │ │ -00049530: 9aba fdd3 e865 00db 0100 0495 6005 2000 .....e......`. . │ │ │ -00049540: 0001 0004 0408 0307 025e 0200 0003 0f00 .........^...... │ │ │ -00049550: 0505 050b 5f0b 8a02 0b61 0906 0100 ff03 ...._....a...... │ │ │ -00049560: 96ef c1ae ebf5 c3d2 be01 8bd6 a2a3 89fc ................ │ │ │ -00049570: f8f2 dd01 008a 0200 0497 9205 8280 80e6 ................ │ │ │ -00049580: 0800 0001 0003 0407 0402 0000 030f 0009 ................ │ │ │ -00049590: 01ff 037b 2d23 204f 5054 494f 4e53 202d ...{-# OPTIONS - │ │ │ -000495a0: 2d63 7562 6963 616c 2d63 6f6d 7061 7469 -cubical-compati │ │ │ -000495b0: 626c 6520 2d2d 7361 6665 202d 2d6e 6f2d ble --safe --no- │ │ │ -000495c0: 7369 7a65 642d 7479 7065 7320 2d2d 6e6f sized-types --no │ │ │ -000495d0: 2d67 7561 7264 6564 6e65 7373 202d 2d6c -guardedness --l │ │ │ -000495e0: 6576 656c 2d75 6e69 7665 7273 6520 232d evel-universe #- │ │ │ -000495f0: 7d0a 0a6d 6f64 756c 6520 4167 6461 2e42 }..module Agda.B │ │ │ -00049600: 7569 6c74 696e 2e52 6566 6c65 6374 696f uiltin.Reflectio │ │ │ -00049610: 6e2e 4578 7465 726e 616c 2077 6865 7265 n.External where │ │ │ -00049620: 0a0a 6f70 656e 2069 6d70 6f72 7420 4167 ..open import Ag │ │ │ -00049630: 6461 2e42 7569 6c74 696e 2e4c 6973 740a da.Builtin.List. │ │ │ -00049640: 6f70 656e 2069 6d70 6f72 7420 4167 6461 open import Agda │ │ │ -00049650: 2e42 7569 6c74 696e 2e4e 6174 0a6f 7065 .Builtin.Nat.ope │ │ │ -00049660: 6e20 696d 706f 7274 2041 6764 612e 4275 n import Agda.Bu │ │ │ -00049670: 696c 7469 6e2e 5369 676d 610a 6f70 656e iltin.Sigma.open │ │ │ -00049680: 2069 6d70 6f72 7420 4167 6461 2e42 7569 import Agda.Bui │ │ │ -00049690: 6c74 696e 2e53 7472 696e 670a 6f70 656e ltin.String.open │ │ │ -000496a0: 2069 6d70 6f72 7420 4167 6461 2e42 7569 import Agda.Bui │ │ │ -000496b0: 6c74 696e 2e52 6566 6c65 6374 696f 6e0a ltin.Reflection. │ │ │ -000496c0: 0a70 6f73 7475 6c61 7465 0a20 2065 7865 .postulate. exe │ │ │ -000496d0: 6354 4320 3a20 5374 7269 6e67 20e2 8692 cTC : String ... │ │ │ -000496e0: 204c 6973 7420 5374 7269 6e67 20e2 8692 List String ... │ │ │ -000496f0: 2053 7472 696e 670a 2020 2020 2020 2020 String. │ │ │ -00049700: 20e2 8692 2054 4320 28ce a320 4e61 7420 ... TC (.. Nat │ │ │ -00049710: 28ce bb20 5f20 e286 9220 cea3 2053 7472 (.. _ ... .. Str │ │ │ -00049720: 696e 6720 28ce bb20 5f20 e286 9220 5374 ing (.. _ ... St │ │ │ -00049730: 7269 6e67 2929 290a 0a7b 2d23 2042 5549 ring)))..{-# BUI │ │ │ -00049740: 4c54 494e 2041 4744 4154 434d 4558 4543 LTIN AGDATCMEXEC │ │ │ -00049750: 2065 7865 6354 4320 232d 7d0a 0a7b 2d23 execTC #-}..{-# │ │ │ -00049760: 2043 4f4d 5049 4c45 204a 5320 6578 6563 COMPILE JS exec │ │ │ -00049770: 5443 203d 205f 203d 3e20 5f20 3d3e 205f TC = _ => _ => _ │ │ │ -00049780: 203d 3e20 756e 6465 6669 6e65 6420 232d => undefined #- │ │ │ -00049790: 7d0a de8b 939e b2fd dcff a501 d6dd ef91 }............... │ │ │ -000497a0: c4b7 e6f8 b301 00d9 0100 0497 d105 2000 .............. . │ │ │ -000497b0: 0001 0004 0408 0307 025e 0200 0003 0f00 .........^...... │ │ │ -000497c0: 0505 050b 5f0b 8b02 0b61 0906 0100 d7a2 ...._....a...... │ │ │ -000497d0: 0183 96c5 d9d3 dfbf dd5b 91e6 ceb5 e6f8 .........[...... │ │ │ -000497e0: 86f6 bd01 008b 0200 04e9 5b05 8280 80e6 ..........[..... │ │ │ -000497f0: 0800 0001 0003 0407 0402 0000 030f 0009 ................ │ │ │ -00049800: 01d7 a201 7b2d 2320 4f50 5449 4f4e 5320 ....{-# OPTIONS │ │ │ -00049810: 2d2d 6375 6269 6361 6c2d 636f 6d70 6174 --cubical-compat │ │ │ -00049820: 6962 6c65 202d 2d73 6166 6520 2d2d 6e6f ible --safe --no │ │ │ -00049830: 2d73 697a 6564 2d74 7970 6573 202d 2d6e -sized-types --n │ │ │ -00049840: 6f2d 6775 6172 6465 646e 6573 7320 2d2d o-guardedness -- │ │ │ -00049850: 6c65 7665 6c2d 756e 6976 6572 7365 2023 level-universe # │ │ │ -00049860: 2d7d 0a0a 6d6f 6475 6c65 2041 6764 612e -}..module Agda. │ │ │ -00049870: 4275 696c 7469 6e2e 5265 666c 6563 7469 Builtin.Reflecti │ │ │ -00049880: 6f6e 2077 6865 7265 0a0a 6f70 656e 2069 on where..open i │ │ │ -00049890: 6d70 6f72 7420 4167 6461 2e42 7569 6c74 mport Agda.Built │ │ │ -000498a0: 696e 2e55 6e69 740a 6f70 656e 2069 6d70 in.Unit.open imp │ │ │ -000498b0: 6f72 7420 4167 6461 2e42 7569 6c74 696e ort Agda.Builtin │ │ │ -000498c0: 2e42 6f6f 6c0a 6f70 656e 2069 6d70 6f72 .Bool.open impor │ │ │ -000498d0: 7420 4167 6461 2e42 7569 6c74 696e 2e4e t Agda.Builtin.N │ │ │ -000498e0: 6174 0a6f 7065 6e20 696d 706f 7274 2041 at.open import A │ │ │ -000498f0: 6764 612e 4275 696c 7469 6e2e 576f 7264 gda.Builtin.Word │ │ │ -00049900: 0a6f 7065 6e20 696d 706f 7274 2041 6764 .open import Agd │ │ │ -00049910: 612e 4275 696c 7469 6e2e 4c69 7374 0a6f a.Builtin.List.o │ │ │ -00049920: 7065 6e20 696d 706f 7274 2041 6764 612e pen import Agda. │ │ │ -00049930: 4275 696c 7469 6e2e 5374 7269 6e67 0a6f Builtin.String.o │ │ │ -00049940: 7065 6e20 696d 706f 7274 2041 6764 612e pen import Agda. │ │ │ -00049950: 4275 696c 7469 6e2e 4368 6172 0a6f 7065 Builtin.Char.ope │ │ │ -00049960: 6e20 696d 706f 7274 2041 6764 612e 4275 n import Agda.Bu │ │ │ -00049970: 696c 7469 6e2e 466c 6f61 740a 6f70 656e iltin.Float.open │ │ │ -00049980: 2069 6d70 6f72 7420 4167 6461 2e42 7569 import Agda.Bui │ │ │ -00049990: 6c74 696e 2e49 6e74 0a6f 7065 6e20 696d ltin.Int.open im │ │ │ -000499a0: 706f 7274 2041 6764 612e 4275 696c 7469 port Agda.Builti │ │ │ -000499b0: 6e2e 5369 676d 610a 6f70 656e 2069 6d70 n.Sigma.open imp │ │ │ -000499c0: 6f72 7420 4167 6461 2e50 7269 6d69 7469 ort Agda.Primiti │ │ │ -000499d0: 7665 0a0a 2d2d 204e 616d 6573 202d 2d0a ve..-- Names --. │ │ │ -000499e0: 0a70 6f73 7475 6c61 7465 204e 616d 6520 .postulate Name │ │ │ -000499f0: 3a20 5365 740a 7b2d 2320 4255 494c 5449 : Set.{-# BUILTI │ │ │ -00049a00: 4e20 514e 414d 4520 4e61 6d65 2023 2d7d N QNAME Name #-} │ │ │ -00049a10: 0a0a 7072 696d 6974 6976 650a 2020 7072 ..primitive. pr │ │ │ -00049a20: 696d 514e 616d 6545 7175 616c 6974 7920 imQNameEquality │ │ │ -00049a30: 3a20 4e61 6d65 20e2 8692 204e 616d 6520 : Name ... Name │ │ │ -00049a40: e286 9220 426f 6f6c 0a20 2070 7269 6d51 ... Bool. primQ │ │ │ -00049a50: 4e61 6d65 4c65 7373 2020 2020 203a 204e NameLess : N │ │ │ -00049a60: 616d 6520 e286 9220 4e61 6d65 20e2 8692 ame ... Name ... │ │ │ -00049a70: 2042 6f6f 6c0a 2020 7072 696d 5368 6f77 Bool. primShow │ │ │ -00049a80: 514e 616d 6520 2020 2020 3a20 4e61 6d65 QName : Name │ │ │ -00049a90: 20e2 8692 2053 7472 696e 670a 0a2d 2d20 ... String..-- │ │ │ -00049aa0: 4669 7869 7479 202d 2d0a 0a64 6174 6120 Fixity --..data │ │ │ -00049ab0: 4173 736f 6369 6174 6976 6974 7920 3a20 Associativity : │ │ │ -00049ac0: 5365 7420 7768 6572 650a 2020 6c65 6674 Set where. left │ │ │ -00049ad0: 2d61 7373 6f63 2020 3a20 4173 736f 6369 -assoc : Associ │ │ │ -00049ae0: 6174 6976 6974 790a 2020 7269 6768 742d ativity. right- │ │ │ -00049af0: 6173 736f 6320 3a20 4173 736f 6369 6174 assoc : Associat │ │ │ -00049b00: 6976 6974 790a 2020 6e6f 6e2d 6173 736f ivity. non-asso │ │ │ -00049b10: 6320 2020 3a20 4173 736f 6369 6174 6976 c : Associativ │ │ │ -00049b20: 6974 790a 0a64 6174 6120 5072 6563 6564 ity..data Preced │ │ │ -00049b30: 656e 6365 203a 2053 6574 2077 6865 7265 ence : Set where │ │ │ -00049b40: 0a20 2072 656c 6174 6564 2020 203a 2046 . related : F │ │ │ -00049b50: 6c6f 6174 20e2 8692 2050 7265 6365 6465 loat ... Precede │ │ │ -00049b60: 6e63 650a 2020 756e 7265 6c61 7465 6420 nce. unrelated │ │ │ -00049b70: 3a20 5072 6563 6564 656e 6365 0a0a 6461 : Precedence..da │ │ │ -00049b80: 7461 2046 6978 6974 7920 3a20 5365 7420 ta Fixity : Set │ │ │ -00049b90: 7768 6572 650a 2020 6669 7869 7479 203a where. fixity : │ │ │ -00049ba0: 2041 7373 6f63 6961 7469 7669 7479 20e2 Associativity . │ │ │ -00049bb0: 8692 2050 7265 6365 6465 6e63 6520 e286 .. Precedence .. │ │ │ -00049bc0: 9220 4669 7869 7479 0a0a 7b2d 2320 4255 . Fixity..{-# BU │ │ │ -00049bd0: 494c 5449 4e20 4153 534f 4320 2020 2020 ILTIN ASSOC │ │ │ -00049be0: 2041 7373 6f63 6961 7469 7669 7479 2023 Associativity # │ │ │ -00049bf0: 2d7d 0a7b 2d23 2042 5549 4c54 494e 2041 -}.{-# BUILTIN A │ │ │ -00049c00: 5353 4f43 4c45 4654 2020 6c65 6674 2d61 SSOCLEFT left-a │ │ │ -00049c10: 7373 6f63 2020 2020 232d 7d0a 7b2d 2320 ssoc #-}.{-# │ │ │ -00049c20: 4255 494c 5449 4e20 4153 534f 4352 4947 BUILTIN ASSOCRIG │ │ │ -00049c30: 4854 2072 6967 6874 2d61 7373 6f63 2020 HT right-assoc │ │ │ -00049c40: 2023 2d7d 0a7b 2d23 2042 5549 4c54 494e #-}.{-# BUILTIN │ │ │ -00049c50: 2041 5353 4f43 4e4f 4e20 2020 6e6f 6e2d ASSOCNON non- │ │ │ -00049c60: 6173 736f 6320 2020 2020 232d 7d0a 0a7b assoc #-}..{ │ │ │ -00049c70: 2d23 2042 5549 4c54 494e 2050 5245 4345 -# BUILTIN PRECE │ │ │ -00049c80: 4445 4e43 4520 2020 2050 7265 6365 6465 DENCE Precede │ │ │ -00049c90: 6e63 6520 232d 7d0a 7b2d 2320 4255 494c nce #-}.{-# BUIL │ │ │ -00049ca0: 5449 4e20 5052 4543 5245 4c41 5445 4420 TIN PRECRELATED │ │ │ -00049cb0: 2020 7265 6c61 7465 6420 2020 2023 2d7d related #-} │ │ │ -00049cc0: 0a7b 2d23 2042 5549 4c54 494e 2050 5245 .{-# BUILTIN PRE │ │ │ -00049cd0: 4355 4e52 454c 4154 4544 2075 6e72 656c CUNRELATED unrel │ │ │ -00049ce0: 6174 6564 2020 232d 7d0a 0a7b 2d23 2042 ated #-}..{-# B │ │ │ -00049cf0: 5549 4c54 494e 2046 4958 4954 5920 2020 UILTIN FIXITY │ │ │ -00049d00: 2020 2020 4669 7869 7479 2023 2d7d 0a7b Fixity #-}.{ │ │ │ -00049d10: 2d23 2042 5549 4c54 494e 2046 4958 4954 -# BUILTIN FIXIT │ │ │ -00049d20: 5946 4958 4954 5920 6669 7869 7479 2023 YFIXITY fixity # │ │ │ -00049d30: 2d7d 0a0a 7b2d 2320 434f 4d50 494c 4520 -}..{-# COMPILE │ │ │ -00049d40: 4748 4320 4173 736f 6369 6174 6976 6974 GHC Associativit │ │ │ -00049d50: 7920 3d20 6461 7461 204d 416c 6f6e 7a6f y = data MAlonzo │ │ │ -00049d60: 2e52 5445 2e41 7373 6f63 2028 4d41 6c6f .RTE.Assoc (MAlo │ │ │ -00049d70: 6e7a 6f2e 5254 452e 4c65 6674 4173 736f nzo.RTE.LeftAsso │ │ │ -00049d80: 6320 7c20 4d41 6c6f 6e7a 6f2e 5254 452e c | MAlonzo.RTE. │ │ │ -00049d90: 5269 6768 7441 7373 6f63 207c 204d 416c RightAssoc | MAl │ │ │ -00049da0: 6f6e 7a6f 2e52 5445 2e4e 6f6e 4173 736f onzo.RTE.NonAsso │ │ │ -00049db0: 6329 2023 2d7d 0a7b 2d23 2043 4f4d 5049 c) #-}.{-# COMPI │ │ │ -00049dc0: 4c45 2047 4843 2050 7265 6365 6465 6e63 LE GHC Precedenc │ │ │ -00049dd0: 6520 2020 203d 2064 6174 6120 4d41 6c6f e = data MAlo │ │ │ -00049de0: 6e7a 6f2e 5254 452e 5072 6563 6564 656e nzo.RTE.Preceden │ │ │ -00049df0: 6365 2028 4d41 6c6f 6e7a 6f2e 5254 452e ce (MAlonzo.RTE. │ │ │ -00049e00: 5265 6c61 7465 6420 7c20 4d41 6c6f 6e7a Related | MAlonz │ │ │ -00049e10: 6f2e 5254 452e 556e 7265 6c61 7465 6429 o.RTE.Unrelated) │ │ │ -00049e20: 2023 2d7d 0a7b 2d23 2043 4f4d 5049 4c45 #-}.{-# COMPILE │ │ │ -00049e30: 2047 4843 2046 6978 6974 7920 2020 2020 GHC Fixity │ │ │ -00049e40: 2020 203d 2064 6174 6120 4d41 6c6f 6e7a = data MAlonz │ │ │ -00049e50: 6f2e 5254 452e 4669 7869 7479 2028 4d41 o.RTE.Fixity (MA │ │ │ -00049e60: 6c6f 6e7a 6f2e 5254 452e 4669 7869 7479 lonzo.RTE.Fixity │ │ │ -00049e70: 2920 232d 7d0a 0a7b 2d23 2043 4f4d 5049 ) #-}..{-# COMPI │ │ │ -00049e80: 4c45 204a 5320 4173 736f 6369 6174 6976 LE JS Associativ │ │ │ -00049e90: 6974 7920 203d 2066 756e 6374 696f 6e20 ity = function │ │ │ -00049ea0: 2878 2c76 2920 7b20 7265 7475 726e 2076 (x,v) { return v │ │ │ -00049eb0: 5b78 5d28 293b 207d 2023 2d7d 0a7b 2d23 [x](); } #-}.{-# │ │ │ -00049ec0: 2043 4f4d 5049 4c45 204a 5320 6c65 6674 COMPILE JS left │ │ │ -00049ed0: 2d61 7373 6f63 2020 2020 203d 2022 6c65 -assoc = "le │ │ │ -00049ee0: 6674 2d61 7373 6f63 2220 2023 2d7d 0a7b ft-assoc" #-}.{ │ │ │ -00049ef0: 2d23 2043 4f4d 5049 4c45 204a 5320 7269 -# COMPILE JS ri │ │ │ -00049f00: 6768 742d 6173 736f 6320 2020 203d 2022 ght-assoc = " │ │ │ -00049f10: 7269 6768 742d 6173 736f 6322 2023 2d7d right-assoc" #-} │ │ │ -00049f20: 0a7b 2d23 2043 4f4d 5049 4c45 204a 5320 .{-# COMPILE JS │ │ │ -00049f30: 6e6f 6e2d 6173 736f 6320 2020 2020 203d non-assoc = │ │ │ -00049f40: 2022 6e6f 6e2d 6173 736f 6322 2020 2023 "non-assoc" # │ │ │ -00049f50: 2d7d 0a0a 7b2d 2320 434f 4d50 494c 4520 -}..{-# COMPILE │ │ │ -00049f60: 4a53 2050 7265 6365 6465 6e63 6520 2020 JS Precedence │ │ │ -00049f70: 2020 3d0a 2020 6675 6e63 7469 6f6e 2028 =. function ( │ │ │ -00049f80: 782c 7629 207b 0a20 2020 2069 6620 2878 x,v) {. if (x │ │ │ -00049f90: 203d 3d3d 2022 756e 7265 6c61 7465 6422 === "unrelated" │ │ │ -00049fa0: 2920 7b20 7265 7475 726e 2076 5b78 5d28 ) { return v[x]( │ │ │ -00049fb0: 293b 207d 2065 6c73 6520 7b20 7265 7475 ); } else { retu │ │ │ -00049fc0: 726e 2076 5b22 7265 6c61 7465 6422 5d28 rn v["related"]( │ │ │ -00049fd0: 7829 3b20 7d7d 2023 2d7d 0a7b 2d23 2043 x); }} #-}.{-# C │ │ │ -00049fe0: 4f4d 5049 4c45 204a 5320 7265 6c61 7465 OMPILE JS relate │ │ │ -00049ff0: 6420 2020 2020 2020 203d 2066 756e 6374 d = funct │ │ │ -0004a000: 696f 6e28 7829 207b 2072 6574 7572 6e20 ion(x) { return │ │ │ -0004a010: 783b 207d 2023 2d7d 0a7b 2d23 2043 4f4d x; } #-}.{-# COM │ │ │ -0004a020: 5049 4c45 204a 5320 756e 7265 6c61 7465 PILE JS unrelate │ │ │ -0004a030: 6420 2020 2020 203d 2022 756e 7265 6c61 d = "unrela │ │ │ -0004a040: 7465 6422 2020 2020 2020 2020 2020 2020 ted" │ │ │ -0004a050: 2020 2023 2d7d 0a0a 7b2d 2320 434f 4d50 #-}..{-# COMP │ │ │ -0004a060: 494c 4520 4a53 2046 6978 6974 7920 2020 ILE JS Fixity │ │ │ -0004a070: 2020 2020 2020 3d20 6675 6e63 7469 6f6e = function │ │ │ -0004a080: 2028 782c 7629 207b 2072 6574 7572 6e20 (x,v) { return │ │ │ -0004a090: 765b 2266 6978 6974 7922 5d28 785b 2261 v["fixity"](x["a │ │ │ -0004a0a0: 7373 6f63 225d 2c20 785b 2270 7265 6322 ssoc"], x["prec" │ │ │ -0004a0b0: 5d29 3b20 7d20 232d 7d0a 7b2d 2320 434f ]); } #-}.{-# CO │ │ │ -0004a0c0: 4d50 494c 4520 4a53 2066 6978 6974 7920 MPILE JS fixity │ │ │ -0004a0d0: 2020 2020 2020 2020 3d20 6675 6e63 7469 = functi │ │ │ -0004a0e0: 6f6e 2028 7829 207b 2072 6574 7572 6e20 on (x) { return │ │ │ -0004a0f0: 6675 6e63 7469 6f6e 2028 7929 207b 2072 function (y) { r │ │ │ -0004a100: 6574 7572 6e20 7b20 2261 7373 6f63 223a eturn { "assoc": │ │ │ -0004a110: 2078 2c20 2270 7265 6322 3a20 797d 3b20 x, "prec": y}; │ │ │ -0004a120: 7d3b 207d 2023 2d7d 0a0a 7072 696d 6974 }; } #-}..primit │ │ │ -0004a130: 6976 650a 2020 7072 696d 514e 616d 6546 ive. primQNameF │ │ │ -0004a140: 6978 6974 7920 3a20 4e61 6d65 20e2 8692 ixity : Name ... │ │ │ -0004a150: 2046 6978 6974 790a 2020 7072 696d 514e Fixity. primQN │ │ │ -0004a160: 616d 6554 6f57 6f72 6436 3473 203a 204e ameToWord64s : N │ │ │ -0004a170: 616d 6520 e286 9220 cea3 2057 6f72 6436 ame ... .. Word6 │ │ │ -0004a180: 3420 28ce bb20 5f20 e286 9220 576f 7264 4 (.. _ ... Word │ │ │ -0004a190: 3634 290a 0a2d 2d20 4d65 7461 7661 7269 64)..-- Metavari │ │ │ -0004a1a0: 6162 6c65 7320 2d2d 0a0a 706f 7374 756c ables --..postul │ │ │ -0004a1b0: 6174 6520 4d65 7461 203a 2053 6574 0a7b ate Meta : Set.{ │ │ │ -0004a1c0: 2d23 2042 5549 4c54 494e 2041 4744 414d -# BUILTIN AGDAM │ │ │ -0004a1d0: 4554 4120 4d65 7461 2023 2d7d 0a0a 7072 ETA Meta #-}..pr │ │ │ -0004a1e0: 696d 6974 6976 650a 2020 7072 696d 4d65 imitive. primMe │ │ │ -0004a1f0: 7461 4571 7561 6c69 7479 203a 204d 6574 taEquality : Met │ │ │ -0004a200: 6120 e286 9220 4d65 7461 20e2 8692 2042 a ... Meta ... B │ │ │ -0004a210: 6f6f 6c0a 2020 7072 696d 4d65 7461 4c65 ool. primMetaLe │ │ │ -0004a220: 7373 2020 2020 203a 204d 6574 6120 e286 ss : Meta .. │ │ │ -0004a230: 9220 4d65 7461 20e2 8692 2042 6f6f 6c0a . Meta ... Bool. │ │ │ -0004a240: 2020 7072 696d 5368 6f77 4d65 7461 2020 primShowMeta │ │ │ -0004a250: 2020 203a 204d 6574 6120 e286 9220 5374 : Meta ... St │ │ │ -0004a260: 7269 6e67 0a20 2070 7269 6d4d 6574 6154 ring. primMetaT │ │ │ -0004a270: 6f4e 6174 2020 2020 3a20 4d65 7461 20e2 oNat : Meta . │ │ │ -0004a280: 8692 204e 6174 0a0a 2d2d 2041 7267 756d .. Nat..-- Argum │ │ │ -0004a290: 656e 7473 202d 2d0a 0a2d 2d20 4172 6775 ents --..-- Argu │ │ │ -0004a2a0: 6d65 6e74 7320 6361 6e20 6265 2028 7669 ments can be (vi │ │ │ -0004a2b0: 7369 626c 6529 2c20 7b68 6964 6465 6e7d sible), {hidden} │ │ │ -0004a2c0: 2c20 6f72 207b 7b69 6e73 7461 6e63 657d , or {{instance} │ │ │ -0004a2d0: 7d2e 0a64 6174 6120 5669 7369 6269 6c69 }..data Visibili │ │ │ -0004a2e0: 7479 203a 2053 6574 2077 6865 7265 0a20 ty : Set where. │ │ │ -0004a2f0: 2076 6973 6962 6c65 2068 6964 6465 6e20 visible hidden │ │ │ -0004a300: 696e 7374 616e 6365 e280 b220 3a20 5669 instance... : Vi │ │ │ -0004a310: 7369 6269 6c69 7479 0a0a 7b2d 2320 4255 sibility..{-# BU │ │ │ -0004a320: 494c 5449 4e20 4849 4449 4e47 2020 2056 ILTIN HIDING V │ │ │ -0004a330: 6973 6962 696c 6974 7920 232d 7d0a 7b2d isibility #-}.{- │ │ │ -0004a340: 2320 4255 494c 5449 4e20 5649 5349 424c # BUILTIN VISIBL │ │ │ -0004a350: 4520 2076 6973 6962 6c65 2020 2020 232d E visible #- │ │ │ -0004a360: 7d0a 7b2d 2320 4255 494c 5449 4e20 4849 }.{-# BUILTIN HI │ │ │ -0004a370: 4444 454e 2020 2068 6964 6465 6e20 2020 DDEN hidden │ │ │ -0004a380: 2020 232d 7d0a 7b2d 2320 4255 494c 5449 #-}.{-# BUILTI │ │ │ -0004a390: 4e20 494e 5354 414e 4345 2069 6e73 7461 N INSTANCE insta │ │ │ -0004a3a0: 6e63 65e2 80b2 2020 232d 7d0a 0a2d 2d20 nce... #-}..-- │ │ │ -0004a3b0: 4172 6775 6d65 6e74 7320 6361 6e20 6265 Arguments can be │ │ │ -0004a3c0: 2072 656c 6576 616e 7420 6f72 2069 7272 relevant or irr │ │ │ -0004a3d0: 656c 6576 616e 742e 0a64 6174 6120 5265 elevant..data Re │ │ │ -0004a3e0: 6c65 7661 6e63 6520 3a20 5365 7420 7768 levance : Set wh │ │ │ -0004a3f0: 6572 650a 2020 7265 6c65 7661 6e74 2069 ere. relevant i │ │ │ -0004a400: 7272 656c 6576 616e 7420 3a20 5265 6c65 rrelevant : Rele │ │ │ -0004a410: 7661 6e63 650a 0a7b 2d23 2042 5549 4c54 vance..{-# BUILT │ │ │ -0004a420: 494e 2052 454c 4556 414e 4345 2020 5265 IN RELEVANCE Re │ │ │ -0004a430: 6c65 7661 6e63 6520 2023 2d7d 0a7b 2d23 levance #-}.{-# │ │ │ -0004a440: 2042 5549 4c54 494e 2052 454c 4556 414e BUILTIN RELEVAN │ │ │ -0004a450: 5420 2020 7265 6c65 7661 6e74 2020 2023 T relevant # │ │ │ -0004a460: 2d7d 0a7b 2d23 2042 5549 4c54 494e 2049 -}.{-# BUILTIN I │ │ │ -0004a470: 5252 454c 4556 414e 5420 6972 7265 6c65 RRELEVANT irrele │ │ │ -0004a480: 7661 6e74 2023 2d7d 0a0a 2d2d 2041 7267 vant #-}..-- Arg │ │ │ -0004a490: 756d 656e 7473 2061 6c73 6f20 6861 7665 uments also have │ │ │ -0004a4a0: 2061 2071 7561 6e74 6974 792e 0a64 6174 a quantity..dat │ │ │ -0004a4b0: 6120 5175 616e 7469 7479 203a 2053 6574 a Quantity : Set │ │ │ -0004a4c0: 2077 6865 7265 0a20 2071 7561 6e74 6974 where. quantit │ │ │ -0004a4d0: 792d 3020 7175 616e 7469 7479 2dcf 8920 y-0 quantity-.. │ │ │ -0004a4e0: 3a20 5175 616e 7469 7479 0a0a 7b2d 2320 : Quantity..{-# │ │ │ -0004a4f0: 4255 494c 5449 4e20 5155 414e 5449 5459 BUILTIN QUANTITY │ │ │ -0004a500: 2020 2051 7561 6e74 6974 7920 2020 232d Quantity #- │ │ │ -0004a510: 7d0a 7b2d 2320 4255 494c 5449 4e20 5155 }.{-# BUILTIN QU │ │ │ -0004a520: 414e 5449 5459 2d30 2071 7561 6e74 6974 ANTITY-0 quantit │ │ │ -0004a530: 792d 3020 232d 7d0a 7b2d 2320 4255 494c y-0 #-}.{-# BUIL │ │ │ -0004a540: 5449 4e20 5155 414e 5449 5459 2dcf 8920 TIN QUANTITY-.. │ │ │ -0004a550: 7175 616e 7469 7479 2dcf 8920 232d 7d0a quantity-.. #-}. │ │ │ -0004a560: 0a2d 2d20 5265 6c65 7661 6e63 6520 616e .-- Relevance an │ │ │ -0004a570: 6420 7175 616e 7469 7479 2061 7265 2063 d quantity are c │ │ │ -0004a580: 6f6d 6269 6e65 6420 696e 746f 2061 206d ombined into a m │ │ │ -0004a590: 6f64 616c 6974 792e 0a64 6174 6120 4d6f odality..data Mo │ │ │ -0004a5a0: 6461 6c69 7479 203a 2053 6574 2077 6865 dality : Set whe │ │ │ -0004a5b0: 7265 0a20 206d 6f64 616c 6974 7920 3a20 re. modality : │ │ │ -0004a5c0: 2872 203a 2052 656c 6576 616e 6365 2920 (r : Relevance) │ │ │ -0004a5d0: 2871 203a 2051 7561 6e74 6974 7929 20e2 (q : Quantity) . │ │ │ -0004a5e0: 8692 204d 6f64 616c 6974 790a 0a7b 2d23 .. Modality..{-# │ │ │ -0004a5f0: 2042 5549 4c54 494e 204d 4f44 414c 4954 BUILTIN MODALIT │ │ │ -0004a600: 5920 2020 2020 2020 2020 2020 2020 4d6f Y Mo │ │ │ -0004a610: 6461 6c69 7479 2023 2d7d 0a7b 2d23 2042 dality #-}.{-# B │ │ │ -0004a620: 5549 4c54 494e 204d 4f44 414c 4954 592d UILTIN MODALITY- │ │ │ -0004a630: 434f 4e53 5452 5543 544f 5220 6d6f 6461 CONSTRUCTOR moda │ │ │ -0004a640: 6c69 7479 2023 2d7d 0a0a 6461 7461 2041 lity #-}..data A │ │ │ -0004a650: 7267 496e 666f 203a 2053 6574 2077 6865 rgInfo : Set whe │ │ │ -0004a660: 7265 0a20 2061 7267 2d69 6e66 6f20 3a20 re. arg-info : │ │ │ -0004a670: 2876 203a 2056 6973 6962 696c 6974 7929 (v : Visibility) │ │ │ -0004a680: 2028 6d20 3a20 4d6f 6461 6c69 7479 2920 (m : Modality) │ │ │ -0004a690: e286 9220 4172 6749 6e66 6f0a 0a64 6174 ... ArgInfo..dat │ │ │ -0004a6a0: 6120 4172 6720 7b61 7d20 2841 203a 2053 a Arg {a} (A : S │ │ │ -0004a6b0: 6574 2061 2920 3a20 5365 7420 6120 7768 et a) : Set a wh │ │ │ -0004a6c0: 6572 650a 2020 6172 6720 3a20 2869 203a ere. arg : (i : │ │ │ -0004a6d0: 2041 7267 496e 666f 2920 2878 203a 2041 ArgInfo) (x : A │ │ │ -0004a6e0: 2920 e286 9220 4172 6720 410a 0a7b 2d23 ) ... Arg A..{-# │ │ │ -0004a6f0: 2042 5549 4c54 494e 2041 5247 494e 464f BUILTIN ARGINFO │ │ │ -0004a700: 2020 2020 4172 6749 6e66 6f20 2023 2d7d ArgInfo #-} │ │ │ -0004a710: 0a7b 2d23 2042 5549 4c54 494e 2041 5247 .{-# BUILTIN ARG │ │ │ -0004a720: 4152 4749 4e46 4f20 6172 672d 696e 666f ARGINFO arg-info │ │ │ -0004a730: 2023 2d7d 0a7b 2d23 2042 5549 4c54 494e #-}.{-# BUILTIN │ │ │ -0004a740: 2041 5247 2020 2020 2020 2020 4172 6720 ARG Arg │ │ │ -0004a750: 2020 2020 2023 2d7d 0a7b 2d23 2042 5549 #-}.{-# BUI │ │ │ -0004a760: 4c54 494e 2041 5247 4152 4720 2020 2020 LTIN ARGARG │ │ │ -0004a770: 6172 6720 2020 2020 2023 2d7d 0a0a 6461 arg #-}..da │ │ │ -0004a780: 7461 2042 6c6f 636b 6572 203a 2053 6574 ta Blocker : Set │ │ │ -0004a790: 2077 6865 7265 0a20 2062 6c6f 636b 6572 where. blocker │ │ │ -0004a7a0: 416e 7920 203a 204c 6973 7420 426c 6f63 Any : List Bloc │ │ │ -0004a7b0: 6b65 7220 e286 9220 426c 6f63 6b65 720a ker ... Blocker. │ │ │ -0004a7c0: 2020 626c 6f63 6b65 7241 6c6c 2020 3a20 blockerAll : │ │ │ -0004a7d0: 4c69 7374 2042 6c6f 636b 6572 20e2 8692 List Blocker ... │ │ │ -0004a7e0: 2042 6c6f 636b 6572 0a20 2062 6c6f 636b Blocker. block │ │ │ -0004a7f0: 6572 4d65 7461 203a 204d 6574 6120 e286 erMeta : Meta .. │ │ │ -0004a800: 9220 426c 6f63 6b65 720a 0a7b 2d23 2042 . Blocker..{-# B │ │ │ -0004a810: 5549 4c54 494e 2041 4744 4142 4c4f 434b UILTIN AGDABLOCK │ │ │ -0004a820: 4552 2020 2020 2042 6c6f 636b 6572 2023 ER Blocker # │ │ │ -0004a830: 2d7d 0a7b 2d23 2042 5549 4c54 494e 2041 -}.{-# BUILTIN A │ │ │ -0004a840: 4744 4142 4c4f 434b 4552 414e 5920 2062 GDABLOCKERANY b │ │ │ -0004a850: 6c6f 636b 6572 416e 7920 232d 7d0a 7b2d lockerAny #-}.{- │ │ │ -0004a860: 2320 4255 494c 5449 4e20 4147 4441 424c # BUILTIN AGDABL │ │ │ -0004a870: 4f43 4b45 5241 4c4c 2020 626c 6f63 6b65 OCKERALL blocke │ │ │ -0004a880: 7241 6c6c 2023 2d7d 0a7b 2d23 2042 5549 rAll #-}.{-# BUI │ │ │ -0004a890: 4c54 494e 2041 4744 4142 4c4f 434b 4552 LTIN AGDABLOCKER │ │ │ -0004a8a0: 4d45 5441 2062 6c6f 636b 6572 4d65 7461 META blockerMeta │ │ │ -0004a8b0: 2023 2d7d 0a0a 2d2d 204e 616d 6520 6162 #-}..-- Name ab │ │ │ -0004a8c0: 7374 7261 6374 696f 6e20 2d2d 0a0a 6461 straction --..da │ │ │ -0004a8d0: 7461 2041 6273 207b 617d 2028 4120 3a20 ta Abs {a} (A : │ │ │ -0004a8e0: 5365 7420 6129 203a 2053 6574 2061 2077 Set a) : Set a w │ │ │ -0004a8f0: 6865 7265 0a20 2061 6273 203a 2028 7320 here. abs : (s │ │ │ -0004a900: 3a20 5374 7269 6e67 2920 2878 203a 2041 : String) (x : A │ │ │ -0004a910: 2920 e286 9220 4162 7320 410a 0a7b 2d23 ) ... Abs A..{-# │ │ │ -0004a920: 2042 5549 4c54 494e 2041 4253 2020 2020 BUILTIN ABS │ │ │ -0004a930: 4162 7320 232d 7d0a 7b2d 2320 4255 494c Abs #-}.{-# BUIL │ │ │ -0004a940: 5449 4e20 4142 5341 4253 2061 6273 2023 TIN ABSABS abs # │ │ │ -0004a950: 2d7d 0a0a 2d2d 204c 6974 6572 616c 7320 -}..-- Literals │ │ │ -0004a960: 2d2d 0a0a 6461 7461 204c 6974 6572 616c --..data Literal │ │ │ -0004a970: 203a 2053 6574 2077 6865 7265 0a20 206e : Set where. n │ │ │ -0004a980: 6174 2020 2020 3a20 286e 203a 204e 6174 at : (n : Nat │ │ │ -0004a990: 2920 2020 20e2 8692 204c 6974 6572 616c ) ... Literal │ │ │ -0004a9a0: 0a20 2077 6f72 6436 3420 3a20 286e 203a . word64 : (n : │ │ │ -0004a9b0: 2057 6f72 6436 3429 20e2 8692 204c 6974 Word64) ... Lit │ │ │ -0004a9c0: 6572 616c 0a20 2066 6c6f 6174 2020 3a20 eral. float : │ │ │ -0004a9d0: 2878 203a 2046 6c6f 6174 2920 20e2 8692 (x : Float) ... │ │ │ -0004a9e0: 204c 6974 6572 616c 0a20 2063 6861 7220 Literal. char │ │ │ -0004a9f0: 2020 3a20 2863 203a 2043 6861 7229 2020 : (c : Char) │ │ │ -0004aa00: 20e2 8692 204c 6974 6572 616c 0a20 2073 ... Literal. s │ │ │ -0004aa10: 7472 696e 6720 3a20 2873 203a 2053 7472 tring : (s : Str │ │ │ -0004aa20: 696e 6729 20e2 8692 204c 6974 6572 616c ing) ... Literal │ │ │ -0004aa30: 0a20 206e 616d 6520 2020 3a20 2878 203a . name : (x : │ │ │ -0004aa40: 204e 616d 6529 2020 20e2 8692 204c 6974 Name) ... Lit │ │ │ -0004aa50: 6572 616c 0a20 206d 6574 6120 2020 3a20 eral. meta : │ │ │ -0004aa60: 2878 203a 204d 6574 6129 2020 20e2 8692 (x : Meta) ... │ │ │ -0004aa70: 204c 6974 6572 616c 0a0a 7b2d 2320 4255 Literal..{-# BU │ │ │ -0004aa80: 494c 5449 4e20 4147 4441 4c49 5445 5241 ILTIN AGDALITERA │ │ │ -0004aa90: 4c20 2020 4c69 7465 7261 6c20 232d 7d0a L Literal #-}. │ │ │ -0004aaa0: 7b2d 2320 4255 494c 5449 4e20 4147 4441 {-# BUILTIN AGDA │ │ │ -0004aab0: 4c49 544e 4154 2020 2020 6e61 7420 2020 LITNAT nat │ │ │ -0004aac0: 2020 232d 7d0a 7b2d 2320 4255 494c 5449 #-}.{-# BUILTI │ │ │ -0004aad0: 4e20 4147 4441 4c49 5457 4f52 4436 3420 N AGDALITWORD64 │ │ │ -0004aae0: 776f 7264 3634 2020 232d 7d0a 7b2d 2320 word64 #-}.{-# │ │ │ -0004aaf0: 4255 494c 5449 4e20 4147 4441 4c49 5446 BUILTIN AGDALITF │ │ │ -0004ab00: 4c4f 4154 2020 666c 6f61 7420 2020 232d LOAT float #- │ │ │ -0004ab10: 7d0a 7b2d 2320 4255 494c 5449 4e20 4147 }.{-# BUILTIN AG │ │ │ -0004ab20: 4441 4c49 5443 4841 5220 2020 6368 6172 DALITCHAR char │ │ │ -0004ab30: 2020 2020 232d 7d0a 7b2d 2320 4255 494c #-}.{-# BUIL │ │ │ -0004ab40: 5449 4e20 4147 4441 4c49 5453 5452 494e TIN AGDALITSTRIN │ │ │ -0004ab50: 4720 7374 7269 6e67 2020 232d 7d0a 7b2d G string #-}.{- │ │ │ -0004ab60: 2320 4255 494c 5449 4e20 4147 4441 4c49 # BUILTIN AGDALI │ │ │ -0004ab70: 5451 4e41 4d45 2020 6e61 6d65 2020 2020 TQNAME name │ │ │ -0004ab80: 232d 7d0a 7b2d 2320 4255 494c 5449 4e20 #-}.{-# BUILTIN │ │ │ -0004ab90: 4147 4441 4c49 544d 4554 4120 2020 6d65 AGDALITMETA me │ │ │ -0004aba0: 7461 2020 2020 232d 7d0a 0a0a 2d2d 2054 ta #-}...-- T │ │ │ -0004abb0: 6572 6d73 2061 6e64 2070 6174 7465 726e erms and pattern │ │ │ -0004abc0: 7320 2d2d 0a0a 6461 7461 2054 6572 6d20 s --..data Term │ │ │ -0004abd0: 2020 203a 2053 6574 0a64 6174 6120 536f : Set.data So │ │ │ -0004abe0: 7274 2020 2020 3a20 5365 740a 6461 7461 rt : Set.data │ │ │ -0004abf0: 2050 6174 7465 726e 203a 2053 6574 0a64 Pattern : Set.d │ │ │ -0004ac00: 6174 6120 436c 6175 7365 2020 3a20 5365 ata Clause : Se │ │ │ -0004ac10: 740a 5479 7065 203d 2054 6572 6d0a 5465 t.Type = Term.Te │ │ │ -0004ac20: 6c65 7363 6f70 6520 3d20 4c69 7374 2028 lescope = List ( │ │ │ -0004ac30: cea3 2053 7472 696e 6720 cebb 205f 20e2 .. String .. _ . │ │ │ -0004ac40: 8692 2041 7267 2054 7970 6529 0a0a 6461 .. Arg Type)..da │ │ │ -0004ac50: 7461 2054 6572 6d20 7768 6572 650a 2020 ta Term where. │ │ │ -0004ac60: 7661 7220 2020 2020 2020 3a20 2878 203a var : (x : │ │ │ -0004ac70: 204e 6174 2920 2861 7267 7320 3a20 4c69 Nat) (args : Li │ │ │ -0004ac80: 7374 2028 4172 6720 5465 726d 2929 20e2 st (Arg Term)) . │ │ │ -0004ac90: 8692 2054 6572 6d0a 2020 636f 6e20 2020 .. Term. con │ │ │ -0004aca0: 2020 2020 3a20 2863 203a 204e 616d 6529 : (c : Name) │ │ │ -0004acb0: 2028 6172 6773 203a 204c 6973 7420 2841 (args : List (A │ │ │ -0004acc0: 7267 2054 6572 6d29 2920 e286 9220 5465 rg Term)) ... Te │ │ │ -0004acd0: 726d 0a20 2064 6566 2020 2020 2020 203a rm. def : │ │ │ -0004ace0: 2028 6620 3a20 4e61 6d65 2920 2861 7267 (f : Name) (arg │ │ │ -0004acf0: 7320 3a20 4c69 7374 2028 4172 6720 5465 s : List (Arg Te │ │ │ -0004ad00: 726d 2929 20e2 8692 2054 6572 6d0a 2020 rm)) ... Term. │ │ │ -0004ad10: 6c61 6d20 2020 2020 2020 3a20 2876 203a lam : (v : │ │ │ -0004ad20: 2056 6973 6962 696c 6974 7929 2028 7420 Visibility) (t │ │ │ -0004ad30: 3a20 4162 7320 5465 726d 2920 e286 9220 : Abs Term) ... │ │ │ -0004ad40: 5465 726d 0a20 2070 6174 2d6c 616d 2020 Term. pat-lam │ │ │ -0004ad50: 203a 2028 6373 203a 204c 6973 7420 436c : (cs : List Cl │ │ │ -0004ad60: 6175 7365 2920 2861 7267 7320 3a20 4c69 ause) (args : Li │ │ │ -0004ad70: 7374 2028 4172 6720 5465 726d 2929 20e2 st (Arg Term)) . │ │ │ -0004ad80: 8692 2054 6572 6d0a 2020 7069 2020 2020 .. Term. pi │ │ │ -0004ad90: 2020 2020 3a20 2861 203a 2041 7267 2054 : (a : Arg T │ │ │ -0004ada0: 7970 6529 2028 6220 3a20 4162 7320 5479 ype) (b : Abs Ty │ │ │ -0004adb0: 7065 2920 e286 9220 5465 726d 0a20 2061 pe) ... Term. a │ │ │ -0004adc0: 6764 612d 736f 7274 203a 2028 7320 3a20 gda-sort : (s : │ │ │ -0004add0: 536f 7274 2920 e286 9220 5465 726d 0a20 Sort) ... Term. │ │ │ -0004ade0: 206c 6974 2020 2020 2020 203a 2028 6c20 lit : (l │ │ │ -0004adf0: 3a20 4c69 7465 7261 6c29 20e2 8692 2054 : Literal) ... T │ │ │ -0004ae00: 6572 6d0a 2020 6d65 7461 2020 2020 2020 erm. meta │ │ │ -0004ae10: 3a20 2878 203a 204d 6574 6129 20e2 8692 : (x : Meta) ... │ │ │ -0004ae20: 204c 6973 7420 2841 7267 2054 6572 6d29 List (Arg Term) │ │ │ -0004ae30: 20e2 8692 2054 6572 6d0a 2020 756e 6b6e ... Term. unkn │ │ │ -0004ae40: 6f77 6e20 2020 3a20 5465 726d 0a0a 6461 own : Term..da │ │ │ -0004ae50: 7461 2053 6f72 7420 7768 6572 650a 2020 ta Sort where. │ │ │ -0004ae60: 7365 7420 2020 2020 3a20 2874 203a 2054 set : (t : T │ │ │ -0004ae70: 6572 6d29 20e2 8692 2053 6f72 740a 2020 erm) ... Sort. │ │ │ -0004ae80: 6c69 7420 2020 2020 3a20 286e 203a 204e lit : (n : N │ │ │ -0004ae90: 6174 2920 e286 9220 536f 7274 0a20 2070 at) ... Sort. p │ │ │ -0004aea0: 726f 7020 2020 203a 2028 7420 3a20 5465 rop : (t : Te │ │ │ -0004aeb0: 726d 2920 e286 9220 536f 7274 0a20 2070 rm) ... Sort. p │ │ │ -0004aec0: 726f 704c 6974 203a 2028 6e20 3a20 4e61 ropLit : (n : Na │ │ │ -0004aed0: 7429 20e2 8692 2053 6f72 740a 2020 696e t) ... Sort. in │ │ │ -0004aee0: 6620 2020 2020 3a20 286e 203a 204e 6174 f : (n : Nat │ │ │ -0004aef0: 2920 e286 9220 536f 7274 0a20 2075 6e6b ) ... Sort. unk │ │ │ -0004af00: 6e6f 776e 203a 2053 6f72 740a 0a64 6174 nown : Sort..dat │ │ │ -0004af10: 6120 5061 7474 6572 6e20 7768 6572 650a a Pattern where. │ │ │ -0004af20: 2020 636f 6e20 2020 203a 2028 6320 3a20 con : (c : │ │ │ -0004af30: 4e61 6d65 2920 2870 7320 3a20 4c69 7374 Name) (ps : List │ │ │ -0004af40: 2028 4172 6720 5061 7474 6572 6e29 2920 (Arg Pattern)) │ │ │ -0004af50: e286 9220 5061 7474 6572 6e0a 2020 646f ... Pattern. do │ │ │ -0004af60: 7420 2020 203a 2028 7420 3a20 5465 726d t : (t : Term │ │ │ -0004af70: 2920 2020 20e2 8692 2050 6174 7465 726e ) ... Pattern │ │ │ -0004af80: 0a20 2076 6172 2020 2020 3a20 2878 203a . var : (x : │ │ │ -0004af90: 204e 6174 2920 2020 2020 e286 9220 5061 Nat) ... Pa │ │ │ -0004afa0: 7474 6572 6e0a 2020 6c69 7420 2020 203a ttern. lit : │ │ │ -0004afb0: 2028 6c20 3a20 4c69 7465 7261 6c29 20e2 (l : Literal) . │ │ │ -0004afc0: 8692 2050 6174 7465 726e 0a20 2070 726f .. Pattern. pro │ │ │ -0004afd0: 6a20 2020 3a20 2866 203a 204e 616d 6529 j : (f : Name) │ │ │ -0004afe0: 2020 2020 e286 9220 5061 7474 6572 6e0a ... Pattern. │ │ │ -0004aff0: 2020 6162 7375 7264 203a 2028 7820 3a20 absurd : (x : │ │ │ -0004b000: 4e61 7429 2020 2020 20e2 8692 2050 6174 Nat) ... Pat │ │ │ -0004b010: 7465 726e 2020 2d2d 2061 6273 7572 6420 tern -- absurd │ │ │ -0004b020: 7061 7474 6572 6e73 2063 6f75 6e74 7320 patterns counts │ │ │ -0004b030: 6173 2076 6172 6961 626c 6573 0a0a 6461 as variables..da │ │ │ -0004b040: 7461 2043 6c61 7573 6520 7768 6572 650a ta Clause where. │ │ │ -0004b050: 2020 636c 6175 7365 2020 2020 2020 2020 clause │ │ │ -0004b060: 3a20 2874 656c 203a 2054 656c 6573 636f : (tel : Telesco │ │ │ -0004b070: 7065 2920 2870 7320 3a20 4c69 7374 2028 pe) (ps : List ( │ │ │ -0004b080: 4172 6720 5061 7474 6572 6e29 2920 2874 Arg Pattern)) (t │ │ │ -0004b090: 203a 2054 6572 6d29 20e2 8692 2043 6c61 : Term) ... Cla │ │ │ -0004b0a0: 7573 650a 2020 6162 7375 7264 2d63 6c61 use. absurd-cla │ │ │ -0004b0b0: 7573 6520 3a20 2874 656c 203a 2054 656c use : (tel : Tel │ │ │ -0004b0c0: 6573 636f 7065 2920 2870 7320 3a20 4c69 escope) (ps : Li │ │ │ -0004b0d0: 7374 2028 4172 6720 5061 7474 6572 6e29 st (Arg Pattern) │ │ │ -0004b0e0: 2920 e286 9220 436c 6175 7365 0a0a 7b2d ) ... Clause..{- │ │ │ -0004b0f0: 2320 4255 494c 5449 4e20 4147 4441 5445 # BUILTIN AGDATE │ │ │ -0004b100: 524d 2020 2020 2020 5465 726d 2020 2020 RM Term │ │ │ -0004b110: 232d 7d0a 7b2d 2320 4255 494c 5449 4e20 #-}.{-# BUILTIN │ │ │ -0004b120: 4147 4441 534f 5254 2020 2020 2020 536f AGDASORT So │ │ │ -0004b130: 7274 2020 2020 232d 7d0a 7b2d 2320 4255 rt #-}.{-# BU │ │ │ -0004b140: 494c 5449 4e20 4147 4441 5041 5454 4552 ILTIN AGDAPATTER │ │ │ -0004b150: 4e20 2020 5061 7474 6572 6e20 232d 7d0a N Pattern #-}. │ │ │ -0004b160: 7b2d 2320 4255 494c 5449 4e20 4147 4441 {-# BUILTIN AGDA │ │ │ -0004b170: 434c 4155 5345 2020 2020 436c 6175 7365 CLAUSE Clause │ │ │ -0004b180: 2020 232d 7d0a 0a7b 2d23 2042 5549 4c54 #-}..{-# BUILT │ │ │ -0004b190: 494e 2041 4744 4154 4552 4d56 4152 2020 IN AGDATERMVAR │ │ │ -0004b1a0: 2020 2020 2020 2076 6172 2020 2020 2020 var │ │ │ -0004b1b0: 2023 2d7d 0a7b 2d23 2042 5549 4c54 494e #-}.{-# BUILTIN │ │ │ -0004b1c0: 2041 4744 4154 4552 4d43 4f4e 2020 2020 AGDATERMCON │ │ │ -0004b1d0: 2020 2020 2063 6f6e 2020 2020 2020 2023 con # │ │ │ -0004b1e0: 2d7d 0a7b 2d23 2042 5549 4c54 494e 2041 -}.{-# BUILTIN A │ │ │ -0004b1f0: 4744 4154 4552 4d44 4546 2020 2020 2020 GDATERMDEF │ │ │ -0004b200: 2020 2064 6566 2020 2020 2020 2023 2d7d def #-} │ │ │ -0004b210: 0a7b 2d23 2042 5549 4c54 494e 2041 4744 .{-# BUILTIN AGD │ │ │ -0004b220: 4154 4552 4d4d 4554 4120 2020 2020 2020 ATERMMETA │ │ │ -0004b230: 206d 6574 6120 2020 2020 2023 2d7d 0a7b meta #-}.{ │ │ │ -0004b240: 2d23 2042 5549 4c54 494e 2041 4744 4154 -# BUILTIN AGDAT │ │ │ -0004b250: 4552 4d4c 414d 2020 2020 2020 2020 206c ERMLAM l │ │ │ -0004b260: 616d 2020 2020 2020 2023 2d7d 0a7b 2d23 am #-}.{-# │ │ │ -0004b270: 2042 5549 4c54 494e 2041 4744 4154 4552 BUILTIN AGDATER │ │ │ -0004b280: 4d45 5854 4c41 4d20 2020 2020 2070 6174 MEXTLAM pat │ │ │ -0004b290: 2d6c 616d 2020 2023 2d7d 0a7b 2d23 2042 -lam #-}.{-# B │ │ │ -0004b2a0: 5549 4c54 494e 2041 4744 4154 4552 4d50 UILTIN AGDATERMP │ │ │ -0004b2b0: 4920 2020 2020 2020 2020 2070 6920 2020 I pi │ │ │ -0004b2c0: 2020 2020 2023 2d7d 0a7b 2d23 2042 5549 #-}.{-# BUI │ │ │ -0004b2d0: 4c54 494e 2041 4744 4154 4552 4d53 4f52 LTIN AGDATERMSOR │ │ │ -0004b2e0: 5420 2020 2020 2020 2061 6764 612d 736f T agda-so │ │ │ -0004b2f0: 7274 2023 2d7d 0a7b 2d23 2042 5549 4c54 rt #-}.{-# BUILT │ │ │ -0004b300: 494e 2041 4744 4154 4552 4d4c 4954 2020 IN AGDATERMLIT │ │ │ -0004b310: 2020 2020 2020 206c 6974 2020 2020 2020 lit │ │ │ -0004b320: 2023 2d7d 0a7b 2d23 2042 5549 4c54 494e #-}.{-# BUILTIN │ │ │ -0004b330: 2041 4744 4154 4552 4d55 4e53 5550 504f AGDATERMUNSUPPO │ │ │ -0004b340: 5254 4544 2075 6e6b 6e6f 776e 2020 2023 RTED unknown # │ │ │ -0004b350: 2d7d 0a0a 7b2d 2320 4255 494c 5449 4e20 -}..{-# BUILTIN │ │ │ -0004b360: 4147 4441 534f 5254 5345 5420 2020 2020 AGDASORTSET │ │ │ -0004b370: 2020 2020 7365 7420 2020 2020 232d 7d0a set #-}. │ │ │ -0004b380: 7b2d 2320 4255 494c 5449 4e20 4147 4441 {-# BUILTIN AGDA │ │ │ -0004b390: 534f 5254 4c49 5420 2020 2020 2020 2020 SORTLIT │ │ │ -0004b3a0: 6c69 7420 2020 2020 232d 7d0a 7b2d 2320 lit #-}.{-# │ │ │ -0004b3b0: 4255 494c 5449 4e20 4147 4441 534f 5254 BUILTIN AGDASORT │ │ │ -0004b3c0: 5052 4f50 2020 2020 2020 2020 7072 6f70 PROP prop │ │ │ -0004b3d0: 2020 2020 232d 7d0a 7b2d 2320 4255 494c #-}.{-# BUIL │ │ │ -0004b3e0: 5449 4e20 4147 4441 534f 5254 5052 4f50 TIN AGDASORTPROP │ │ │ -0004b3f0: 4c49 5420 2020 2020 7072 6f70 4c69 7420 LIT propLit │ │ │ -0004b400: 232d 7d0a 7b2d 2320 4255 494c 5449 4e20 #-}.{-# BUILTIN │ │ │ -0004b410: 4147 4441 534f 5254 494e 4620 2020 2020 AGDASORTINF │ │ │ -0004b420: 2020 2020 696e 6620 2020 2020 232d 7d0a inf #-}. │ │ │ -0004b430: 7b2d 2320 4255 494c 5449 4e20 4147 4441 {-# BUILTIN AGDA │ │ │ -0004b440: 534f 5254 554e 5355 5050 4f52 5445 4420 SORTUNSUPPORTED │ │ │ -0004b450: 756e 6b6e 6f77 6e20 232d 7d0a 0a7b 2d23 unknown #-}..{-# │ │ │ -0004b460: 2042 5549 4c54 494e 2041 4744 4150 4154 BUILTIN AGDAPAT │ │ │ -0004b470: 434f 4e20 2020 2063 6f6e 2020 2020 2023 CON con # │ │ │ -0004b480: 2d7d 0a7b 2d23 2042 5549 4c54 494e 2041 -}.{-# BUILTIN A │ │ │ -0004b490: 4744 4150 4154 444f 5420 2020 2064 6f74 GDAPATDOT dot │ │ │ -0004b4a0: 2020 2020 2023 2d7d 0a7b 2d23 2042 5549 #-}.{-# BUI │ │ │ -0004b4b0: 4c54 494e 2041 4744 4150 4154 5641 5220 LTIN AGDAPATVAR │ │ │ -0004b4c0: 2020 2076 6172 2020 2020 2023 2d7d 0a7b var #-}.{ │ │ │ -0004b4d0: 2d23 2042 5549 4c54 494e 2041 4744 4150 -# BUILTIN AGDAP │ │ │ -0004b4e0: 4154 4c49 5420 2020 206c 6974 2020 2020 ATLIT lit │ │ │ -0004b4f0: 2023 2d7d 0a7b 2d23 2042 5549 4c54 494e #-}.{-# BUILTIN │ │ │ -0004b500: 2041 4744 4150 4154 5052 4f4a 2020 2070 AGDAPATPROJ p │ │ │ -0004b510: 726f 6a20 2020 2023 2d7d 0a7b 2d23 2042 roj #-}.{-# B │ │ │ -0004b520: 5549 4c54 494e 2041 4744 4150 4154 4142 UILTIN AGDAPATAB │ │ │ -0004b530: 5355 5244 2061 6273 7572 6420 2023 2d7d SURD absurd #-} │ │ │ -0004b540: 0a0a 7b2d 2320 4255 494c 5449 4e20 4147 ..{-# BUILTIN AG │ │ │ -0004b550: 4441 434c 4155 5345 434c 4155 5345 2063 DACLAUSECLAUSE c │ │ │ -0004b560: 6c61 7573 6520 2020 2020 2020 2023 2d7d lause #-} │ │ │ -0004b570: 0a7b 2d23 2042 5549 4c54 494e 2041 4744 .{-# BUILTIN AGD │ │ │ -0004b580: 4143 4c41 5553 4541 4253 5552 4420 6162 ACLAUSEABSURD ab │ │ │ -0004b590: 7375 7264 2d63 6c61 7573 6520 232d 7d0a surd-clause #-}. │ │ │ -0004b5a0: 0a2d 2d20 4465 6669 6e69 7469 6f6e 7320 .-- Definitions │ │ │ -0004b5b0: 2d2d 0a0a 6461 7461 2044 6566 696e 6974 --..data Definit │ │ │ -0004b5c0: 696f 6e20 3a20 5365 7420 7768 6572 650a ion : Set where. │ │ │ -0004b5d0: 2020 6675 6e63 7469 6f6e 2020 2020 3a20 function : │ │ │ -0004b5e0: 2863 7320 3a20 4c69 7374 2043 6c61 7573 (cs : List Claus │ │ │ -0004b5f0: 6529 20e2 8692 2044 6566 696e 6974 696f e) ... Definitio │ │ │ -0004b600: 6e0a 2020 6461 7461 2d74 7970 6520 2020 n. data-type │ │ │ -0004b610: 3a20 2870 6172 7320 3a20 4e61 7429 2028 : (pars : Nat) ( │ │ │ -0004b620: 6373 203a 204c 6973 7420 4e61 6d65 2920 cs : List Name) │ │ │ -0004b630: e286 9220 4465 6669 6e69 7469 6f6e 0a20 ... Definition. │ │ │ -0004b640: 2072 6563 6f72 642d 7479 7065 203a 2028 record-type : ( │ │ │ -0004b650: 6320 3a20 4e61 6d65 2920 2866 7320 3a20 c : Name) (fs : │ │ │ -0004b660: 4c69 7374 2028 4172 6720 4e61 6d65 2929 List (Arg Name)) │ │ │ -0004b670: 20e2 8692 2044 6566 696e 6974 696f 6e0a ... Definition. │ │ │ -0004b680: 2020 6461 7461 2d63 6f6e 7320 2020 3a20 data-cons : │ │ │ -0004b690: 2864 203a 204e 616d 6529 2028 7120 3a20 (d : Name) (q : │ │ │ -0004b6a0: 5175 616e 7469 7479 2920 e286 9220 4465 Quantity) ... De │ │ │ -0004b6b0: 6669 6e69 7469 6f6e 0a20 2061 7869 6f6d finition. axiom │ │ │ -0004b6c0: 2020 2020 2020 203a 2044 6566 696e 6974 : Definit │ │ │ -0004b6d0: 696f 6e0a 2020 7072 696d 2d66 756e 2020 ion. prim-fun │ │ │ -0004b6e0: 2020 3a20 4465 6669 6e69 7469 6f6e 0a0a : Definition.. │ │ │ -0004b6f0: 7b2d 2320 4255 494c 5449 4e20 4147 4441 {-# BUILTIN AGDA │ │ │ -0004b700: 4445 4649 4e49 5449 4f4e 2020 2020 2020 DEFINITION │ │ │ -0004b710: 2020 2020 2020 2020 2020 4465 6669 6e69 Defini │ │ │ -0004b720: 7469 6f6e 2020 232d 7d0a 7b2d 2320 4255 tion #-}.{-# BU │ │ │ -0004b730: 494c 5449 4e20 4147 4441 4445 4649 4e49 ILTIN AGDADEFINI │ │ │ -0004b740: 5449 4f4e 4655 4e44 4546 2020 2020 2020 TIONFUNDEF │ │ │ -0004b750: 2020 2020 6675 6e63 7469 6f6e 2020 2020 function │ │ │ -0004b760: 232d 7d0a 7b2d 2320 4255 494c 5449 4e20 #-}.{-# BUILTIN │ │ │ -0004b770: 4147 4441 4445 4649 4e49 5449 4f4e 4441 AGDADEFINITIONDA │ │ │ -0004b780: 5441 4445 4620 2020 2020 2020 2020 6461 TADEF da │ │ │ -0004b790: 7461 2d74 7970 6520 2020 232d 7d0a 7b2d ta-type #-}.{- │ │ │ -0004b7a0: 2320 4255 494c 5449 4e20 4147 4441 4445 # BUILTIN AGDADE │ │ │ -0004b7b0: 4649 4e49 5449 4f4e 5245 434f 5244 4445 FINITIONRECORDDE │ │ │ -0004b7c0: 4620 2020 2020 2020 7265 636f 7264 2d74 F record-t │ │ │ -0004b7d0: 7970 6520 232d 7d0a 7b2d 2320 4255 494c ype #-}.{-# BUIL │ │ │ -0004b7e0: 5449 4e20 4147 4441 4445 4649 4e49 5449 TIN AGDADEFINITI │ │ │ -0004b7f0: 4f4e 4441 5441 434f 4e53 5452 5543 544f ONDATACONSTRUCTO │ │ │ -0004b800: 5220 6461 7461 2d63 6f6e 7320 2020 232d R data-cons #- │ │ │ -0004b810: 7d0a 7b2d 2320 4255 494c 5449 4e20 4147 }.{-# BUILTIN AG │ │ │ -0004b820: 4441 4445 4649 4e49 5449 4f4e 504f 5354 DADEFINITIONPOST │ │ │ -0004b830: 554c 4154 4520 2020 2020 2020 6178 696f ULATE axio │ │ │ -0004b840: 6d20 2020 2020 2020 232d 7d0a 7b2d 2320 m #-}.{-# │ │ │ -0004b850: 4255 494c 5449 4e20 4147 4441 4445 4649 BUILTIN AGDADEFI │ │ │ -0004b860: 4e49 5449 4f4e 5052 494d 4954 4956 4520 NITIONPRIMITIVE │ │ │ -0004b870: 2020 2020 2020 7072 696d 2d66 756e 2020 prim-fun │ │ │ -0004b880: 2020 232d 7d0a 0a2d 2d20 4572 726f 7273 #-}..-- Errors │ │ │ -0004b890: 202d 2d0a 0a64 6174 6120 4572 726f 7250 --..data ErrorP │ │ │ -0004b8a0: 6172 7420 3a20 5365 7420 7768 6572 650a art : Set where. │ │ │ -0004b8b0: 2020 7374 7245 7272 2020 3a20 5374 7269 strErr : Stri │ │ │ -0004b8c0: 6e67 20e2 8692 2045 7272 6f72 5061 7274 ng ... ErrorPart │ │ │ -0004b8d0: 0a20 2074 6572 6d45 7272 203a 2054 6572 . termErr : Ter │ │ │ -0004b8e0: 6d20 e286 9220 4572 726f 7250 6172 740a m ... ErrorPart. │ │ │ -0004b8f0: 2020 7061 7474 4572 7220 3a20 5061 7474 pattErr : Patt │ │ │ -0004b900: 6572 6e20 e286 9220 4572 726f 7250 6172 ern ... ErrorPar │ │ │ -0004b910: 740a 2020 6e61 6d65 4572 7220 3a20 4e61 t. nameErr : Na │ │ │ -0004b920: 6d65 20e2 8692 2045 7272 6f72 5061 7274 me ... ErrorPart │ │ │ -0004b930: 0a0a 7b2d 2320 4255 494c 5449 4e20 4147 ..{-# BUILTIN AG │ │ │ -0004b940: 4441 4552 524f 5250 4152 5420 2020 2020 DAERRORPART │ │ │ -0004b950: 2020 4572 726f 7250 6172 7420 232d 7d0a ErrorPart #-}. │ │ │ -0004b960: 7b2d 2320 4255 494c 5449 4e20 4147 4441 {-# BUILTIN AGDA │ │ │ -0004b970: 4552 524f 5250 4152 5453 5452 494e 4720 ERRORPARTSTRING │ │ │ -0004b980: 7374 7245 7272 2020 2020 232d 7d0a 7b2d strErr #-}.{- │ │ │ -0004b990: 2320 4255 494c 5449 4e20 4147 4441 4552 # BUILTIN AGDAER │ │ │ -0004b9a0: 524f 5250 4152 5454 4552 4d20 2020 7465 RORPARTTERM te │ │ │ -0004b9b0: 726d 4572 7220 2020 232d 7d0a 7b2d 2320 rmErr #-}.{-# │ │ │ -0004b9c0: 4255 494c 5449 4e20 4147 4441 4552 524f BUILTIN AGDAERRO │ │ │ -0004b9d0: 5250 4152 5450 4154 5420 2020 7061 7474 RPARTPATT patt │ │ │ -0004b9e0: 4572 7220 2020 232d 7d0a 7b2d 2320 4255 Err #-}.{-# BU │ │ │ -0004b9f0: 494c 5449 4e20 4147 4441 4552 524f 5250 ILTIN AGDAERRORP │ │ │ -0004ba00: 4152 544e 414d 4520 2020 6e61 6d65 4572 ARTNAME nameEr │ │ │ -0004ba10: 7220 2020 232d 7d0a 0a2d 2d20 5443 206d r #-}..-- TC m │ │ │ -0004ba20: 6f6e 6164 202d 2d0a 0a70 6f73 7475 6c61 onad --..postula │ │ │ -0004ba30: 7465 0a20 2054 4320 2020 2020 2020 2020 te. TC │ │ │ -0004ba40: 2020 2020 2020 3a20 e288 8020 7b61 7d20 : ... {a} │ │ │ -0004ba50: e286 9220 5365 7420 6120 e286 9220 5365 ... Set a ... Se │ │ │ -0004ba60: 7420 610a 2020 7265 7475 726e 5443 2020 t a. returnTC │ │ │ -0004ba70: 2020 2020 2020 203a 20e2 8880 207b 617d : ... {a} │ │ │ -0004ba80: 207b 4120 3a20 5365 7420 617d 20e2 8692 {A : Set a} ... │ │ │ -0004ba90: 2041 20e2 8692 2054 4320 410a 2020 6269 A ... TC A. bi │ │ │ -0004baa0: 6e64 5443 2020 2020 2020 2020 2020 203a ndTC : │ │ │ -0004bab0: 20e2 8880 207b 6120 627d 207b 4120 3a20 ... {a b} {A : │ │ │ -0004bac0: 5365 7420 617d 207b 4220 3a20 5365 7420 Set a} {B : Set │ │ │ -0004bad0: 627d 20e2 8692 2054 4320 4120 e286 9220 b} ... TC A ... │ │ │ -0004bae0: 2841 20e2 8692 2054 4320 4229 20e2 8692 (A ... TC B) ... │ │ │ -0004baf0: 2054 4320 420a 2020 756e 6966 7920 2020 TC B. unify │ │ │ -0004bb00: 2020 2020 2020 2020 203a 2054 6572 6d20 : Term │ │ │ -0004bb10: e286 9220 5465 726d 20e2 8692 2054 4320 ... Term ... TC │ │ │ -0004bb20: e28a a40a 2020 7479 7065 4572 726f 7220 .... typeError │ │ │ -0004bb30: 2020 2020 2020 203a 20e2 8880 207b 617d : ... {a} │ │ │ -0004bb40: 207b 4120 3a20 5365 7420 617d 20e2 8692 {A : Set a} ... │ │ │ -0004bb50: 204c 6973 7420 4572 726f 7250 6172 7420 List ErrorPart │ │ │ -0004bb60: e286 9220 5443 2041 0a20 2069 6e66 6572 ... TC A. infer │ │ │ -0004bb70: 5479 7065 2020 2020 2020 2020 3a20 5465 Type : Te │ │ │ -0004bb80: 726d 20e2 8692 2054 4320 5479 7065 0a20 rm ... TC Type. │ │ │ -0004bb90: 2063 6865 636b 5479 7065 2020 2020 2020 checkType │ │ │ -0004bba0: 2020 3a20 5465 726d 20e2 8692 2054 7970 : Term ... Typ │ │ │ -0004bbb0: 6520 e286 9220 5443 2054 6572 6d0a 2020 e ... TC Term. │ │ │ -0004bbc0: 6e6f 726d 616c 6973 6520 2020 2020 2020 normalise │ │ │ -0004bbd0: 203a 2054 6572 6d20 e286 9220 5443 2054 : Term ... TC T │ │ │ -0004bbe0: 6572 6d0a 2020 7265 6475 6365 2020 2020 erm. reduce │ │ │ -0004bbf0: 2020 2020 2020 203a 2054 6572 6d20 e286 : Term .. │ │ │ -0004bc00: 9220 5443 2054 6572 6d0a 2020 6361 7463 . TC Term. catc │ │ │ -0004bc10: 6854 4320 2020 2020 2020 2020 203a 20e2 hTC : . │ │ │ -0004bc20: 8880 207b 617d 207b 4120 3a20 5365 7420 .. {a} {A : Set │ │ │ -0004bc30: 617d 20e2 8692 2054 4320 4120 e286 9220 a} ... TC A ... │ │ │ -0004bc40: 5443 2041 20e2 8692 2054 4320 410a 2020 TC A ... TC A. │ │ │ -0004bc50: 7175 6f74 6554 4320 2020 2020 2020 2020 quoteTC │ │ │ -0004bc60: 203a 20e2 8880 207b 617d 207b 4120 3a20 : ... {a} {A : │ │ │ -0004bc70: 5365 7420 617d 20e2 8692 2041 20e2 8692 Set a} ... A ... │ │ │ -0004bc80: 2054 4320 5465 726d 0a20 2075 6e71 756f TC Term. unquo │ │ │ -0004bc90: 7465 5443 2020 2020 2020 2020 3a20 e288 teTC : .. │ │ │ -0004bca0: 8020 7b61 7d20 7b41 203a 2053 6574 2061 . {a} {A : Set a │ │ │ -0004bcb0: 7d20 e286 9220 5465 726d 20e2 8692 2054 } ... Term ... T │ │ │ -0004bcc0: 4320 410a 2020 7175 6f74 65cf 8954 4320 C A. quote..TC │ │ │ -0004bcd0: 2020 2020 2020 2020 3a20 e288 8020 7b41 : ... {A │ │ │ -0004bce0: 203a 2053 6574 cf89 7d20 e286 9220 4120 : Set..} ... A │ │ │ -0004bcf0: e286 9220 5443 2054 6572 6d0a 2020 6765 ... TC Term. ge │ │ │ -0004bd00: 7443 6f6e 7465 7874 2020 2020 2020 203a tContext : │ │ │ -0004bd10: 2054 4320 5465 6c65 7363 6f70 650a 2020 TC Telescope. │ │ │ -0004bd20: 6578 7465 6e64 436f 6e74 6578 7420 2020 extendContext │ │ │ -0004bd30: 203a 20e2 8880 207b 617d 207b 4120 3a20 : ... {a} {A : │ │ │ -0004bd40: 5365 7420 617d 20e2 8692 2053 7472 696e Set a} ... Strin │ │ │ -0004bd50: 6720 e286 9220 4172 6720 5479 7065 20e2 g ... Arg Type . │ │ │ -0004bd60: 8692 2054 4320 4120 e286 9220 5443 2041 .. TC A ... TC A │ │ │ -0004bd70: 0a20 2069 6e43 6f6e 7465 7874 2020 2020 . inContext │ │ │ -0004bd80: 2020 2020 3a20 e288 8020 7b61 7d20 7b41 : ... {a} {A │ │ │ -0004bd90: 203a 2053 6574 2061 7d20 e286 9220 5465 : Set a} ... Te │ │ │ -0004bda0: 6c65 7363 6f70 6520 e286 9220 5443 2041 lescope ... TC A │ │ │ -0004bdb0: 20e2 8692 2054 4320 410a 2020 6672 6573 ... TC A. fres │ │ │ -0004bdc0: 684e 616d 6520 2020 2020 2020 203a 2053 hName : S │ │ │ -0004bdd0: 7472 696e 6720 e286 9220 5443 204e 616d tring ... TC Nam │ │ │ -0004bde0: 650a 2020 6465 636c 6172 6544 6566 2020 e. declareDef │ │ │ -0004bdf0: 2020 2020 203a 2041 7267 204e 616d 6520 : Arg Name │ │ │ -0004be00: e286 9220 5479 7065 20e2 8692 2054 4320 ... Type ... TC │ │ │ -0004be10: e28a a40a 2020 6465 636c 6172 6550 6f73 .... declarePos │ │ │ -0004be20: 7475 6c61 7465 203a 2041 7267 204e 616d tulate : Arg Nam │ │ │ -0004be30: 6520 e286 9220 5479 7065 20e2 8692 2054 e ... Type ... T │ │ │ -0004be40: 4320 e28a a40a 2020 6465 636c 6172 6544 C .... declareD │ │ │ -0004be50: 6174 6120 2020 2020 203a 204e 616d 6520 ata : Name │ │ │ -0004be60: e286 9220 4e61 7420 e286 9220 5479 7065 ... Nat ... Type │ │ │ -0004be70: 20e2 8692 2054 4320 e28a a40a 2020 6465 ... TC .... de │ │ │ -0004be80: 6669 6e65 4461 7461 2020 2020 2020 203a fineData : │ │ │ -0004be90: 204e 616d 6520 e286 9220 4c69 7374 2028 Name ... List ( │ │ │ -0004bea0: cea3 204e 616d 6520 28ce bb20 5f20 e286 .. Name (.. _ .. │ │ │ -0004beb0: 9220 cea3 2051 7561 6e74 6974 7920 28ce . .. Quantity (. │ │ │ -0004bec0: bb20 5f20 e286 9220 5479 7065 2929 2920 . _ ... Type))) │ │ │ -0004bed0: e286 9220 5443 20e2 8aa4 0a20 2064 6566 ... TC .... def │ │ │ -0004bee0: 696e 6546 756e 2020 2020 2020 2020 3a20 ineFun : │ │ │ -0004bef0: 4e61 6d65 20e2 8692 204c 6973 7420 436c Name ... List Cl │ │ │ -0004bf00: 6175 7365 20e2 8692 2054 4320 e28a a40a ause ... TC .... │ │ │ -0004bf10: 2020 6765 7454 7970 6520 2020 2020 2020 getType │ │ │ -0004bf20: 2020 203a 204e 616d 6520 e286 9220 5443 : Name ... TC │ │ │ -0004bf30: 2054 7970 650a 2020 6765 7444 6566 696e Type. getDefin │ │ │ -0004bf40: 6974 696f 6e20 2020 203a 204e 616d 6520 ition : Name │ │ │ -0004bf50: e286 9220 5443 2044 6566 696e 6974 696f ... TC Definitio │ │ │ -0004bf60: 6e0a 2020 626c 6f63 6b54 4320 2020 2020 n. blockTC │ │ │ -0004bf70: 2020 2020 203a 20e2 8880 207b 617d 207b : ... {a} { │ │ │ -0004bf80: 4120 3a20 5365 7420 617d 20e2 8692 2042 A : Set a} ... B │ │ │ -0004bf90: 6c6f 636b 6572 20e2 8692 2054 4320 410a locker ... TC A. │ │ │ -0004bfa0: 2020 636f 6d6d 6974 5443 2020 2020 2020 commitTC │ │ │ -0004bfb0: 2020 203a 2054 4320 e28a a40a 2020 6973 : TC .... is │ │ │ -0004bfc0: 4d61 6372 6f20 2020 2020 2020 2020 203a Macro : │ │ │ -0004bfd0: 204e 616d 6520 e286 9220 5443 2042 6f6f Name ... TC Boo │ │ │ -0004bfe0: 6c0a 2020 7072 6167 6d61 466f 7265 6967 l. pragmaForeig │ │ │ -0004bff0: 6e20 2020 203a 2053 7472 696e 6720 e286 n : String .. │ │ │ -0004c000: 9220 5374 7269 6e67 20e2 8692 2054 4320 . String ... TC │ │ │ -0004c010: e28a a40a 2020 7072 6167 6d61 436f 6d70 .... pragmaComp │ │ │ -0004c020: 696c 6520 2020 203a 2053 7472 696e 6720 ile : String │ │ │ -0004c030: e286 9220 4e61 6d65 20e2 8692 2053 7472 ... Name ... Str │ │ │ -0004c040: 696e 6720 e286 9220 5443 20e2 8aa4 0a0a ing ... TC ..... │ │ │ -0004c050: 2020 2d2d 2049 6620 2774 7275 6527 2c20 -- If 'true', │ │ │ -0004c060: 6d61 6b65 7320 7468 6520 666f 6c6c 6f77 makes the follow │ │ │ -0004c070: 696e 6720 7072 696d 6974 6976 6573 2061 ing primitives a │ │ │ -0004c080: 6c73 6f20 6e6f 726d 616c 6973 650a 2020 lso normalise. │ │ │ -0004c090: 2d2d 2074 6865 6972 2072 6573 756c 7473 -- their results │ │ │ -0004c0a0: 3a20 696e 6665 7254 7970 652c 2063 6865 : inferType, che │ │ │ -0004c0b0: 636b 5479 7065 2c20 7175 6f74 6554 432c ckType, quoteTC, │ │ │ -0004c0c0: 2067 6574 5479 7065 2c20 616e 6420 6765 getType, and ge │ │ │ -0004c0d0: 7443 6f6e 7465 7874 0a20 2077 6974 684e tContext. withN │ │ │ -0004c0e0: 6f72 6d61 6c69 7361 7469 6f6e 203a 20e2 ormalisation : . │ │ │ -0004c0f0: 8880 207b 617d 207b 4120 3a20 5365 7420 .. {a} {A : Set │ │ │ -0004c100: 617d 20e2 8692 2042 6f6f 6c20 e286 9220 a} ... Bool ... │ │ │ -0004c110: 5443 2041 20e2 8692 2054 4320 410a 2020 TC A ... TC A. │ │ │ -0004c120: 6173 6b4e 6f72 6d61 6c69 7361 7469 6f6e askNormalisation │ │ │ -0004c130: 2020 3a20 5443 2042 6f6f 6c0a 0a20 202d : TC Bool.. - │ │ │ -0004c140: 2d20 4966 2027 7472 7565 272c 206d 616b - If 'true', mak │ │ │ -0004c150: 6573 2074 6865 2066 6f6c 6c6f 7769 6e67 es the following │ │ │ -0004c160: 2070 7269 6d69 7469 7665 7320 746f 2072 primitives to r │ │ │ -0004c170: 6563 6f6e 7374 7275 6374 2068 6964 6465 econstruct hidde │ │ │ -0004c180: 6e20 6172 6775 6d65 6e74 733a 0a20 202d n arguments:. - │ │ │ -0004c190: 2d20 6765 7444 6566 696e 6974 696f 6e2c - getDefinition, │ │ │ -0004c1a0: 206e 6f72 6d61 6c69 7365 2c20 7265 6475 normalise, redu │ │ │ -0004c1b0: 6365 2c20 696e 6665 7254 7970 652c 2063 ce, inferType, c │ │ │ -0004c1c0: 6865 636b 5479 7065 2061 6e64 2067 6574 heckType and get │ │ │ -0004c1d0: 436f 6e74 6578 740a 2020 7769 7468 5265 Context. withRe │ │ │ -0004c1e0: 636f 6e73 7472 7563 7465 6420 3a20 e288 constructed : .. │ │ │ -0004c1f0: 8020 7b61 7d20 7b41 203a 2053 6574 2061 . {a} {A : Set a │ │ │ -0004c200: 7d20 e286 9220 426f 6f6c 20e2 8692 2054 } ... Bool ... T │ │ │ -0004c210: 4320 4120 e286 9220 5443 2041 0a20 2061 C A ... TC A. a │ │ │ -0004c220: 736b 5265 636f 6e73 7472 7563 7465 6420 skReconstructed │ │ │ -0004c230: 203a 2054 4320 426f 6f6c 0a0a 2020 2d2d : TC Bool.. -- │ │ │ -0004c240: 2057 6865 7468 6572 2069 6d70 6c69 6369 Whether implici │ │ │ -0004c250: 7420 6172 6775 6d65 6e74 7320 6174 2074 t arguments at t │ │ │ -0004c260: 6865 2065 6e64 2073 686f 756c 6420 6265 he end should be │ │ │ -0004c270: 2074 7572 6e65 6420 696e 746f 206d 6574 turned into met │ │ │ -0004c280: 6176 6172 6961 626c 6573 0a20 2077 6974 avariables. wit │ │ │ -0004c290: 6845 7870 616e 644c 6173 7420 3a20 e288 hExpandLast : .. │ │ │ -0004c2a0: 8020 7b61 7d20 7b41 203a 2053 6574 2061 . {a} {A : Set a │ │ │ -0004c2b0: 7d20 e286 9220 426f 6f6c 20e2 8692 2054 } ... Bool ... T │ │ │ -0004c2c0: 4320 4120 e286 9220 5443 2041 0a20 2061 C A ... TC A. a │ │ │ -0004c2d0: 736b 4578 7061 6e64 4c61 7374 2020 3a20 skExpandLast : │ │ │ -0004c2e0: 5443 2042 6f6f 6c0a 0a20 202d 2d20 5768 TC Bool.. -- Wh │ │ │ -0004c2f0: 6974 652f 626c 6163 6b6c 6973 7420 7370 ite/blacklist sp │ │ │ -0004c300: 6563 6966 6963 2064 6566 696e 6974 696f ecific definitio │ │ │ -0004c310: 6e73 2066 6f72 2072 6564 7563 7469 6f6e ns for reduction │ │ │ -0004c320: 2077 6869 6c65 2065 7865 6375 7469 6e67 while executing │ │ │ -0004c330: 2074 6865 2054 4320 636f 6d70 7574 6174 the TC computat │ │ │ -0004c340: 696f 6e0a 2020 2d2d 2027 7472 7565 2720 ion. -- 'true' │ │ │ -0004c350: 666f 7220 7768 6974 656c 6973 742c 2027 for whitelist, ' │ │ │ -0004c360: 6661 6c73 6527 2066 6f72 2062 6c61 636b false' for black │ │ │ -0004c370: 6c69 7374 0a20 2077 6974 6852 6564 7563 list. withReduc │ │ │ -0004c380: 6544 6566 7320 3a20 e288 8020 7b61 7d20 eDefs : ... {a} │ │ │ -0004c390: 7b41 203a 2053 6574 2061 7d20 e286 9220 {A : Set a} ... │ │ │ -0004c3a0: 28ce a320 426f 6f6c 20ce bb20 5f20 e286 (.. Bool .. _ .. │ │ │ -0004c3b0: 9220 4c69 7374 204e 616d 6529 20e2 8692 . List Name) ... │ │ │ -0004c3c0: 2054 4320 4120 e286 9220 5443 2041 0a20 TC A ... TC A. │ │ │ -0004c3d0: 2061 736b 5265 6475 6365 4465 6673 2020 askReduceDefs │ │ │ -0004c3e0: 3a20 5443 2028 cea3 2042 6f6f 6c20 cebb : TC (.. Bool .. │ │ │ -0004c3f0: 205f 20e2 8692 204c 6973 7420 4e61 6d65 _ ... List Name │ │ │ -0004c400: 290a 0a20 2066 6f72 6d61 7445 7272 6f72 ).. formatError │ │ │ -0004c410: 5061 7274 7320 3a20 4c69 7374 2045 7272 Parts : List Err │ │ │ -0004c420: 6f72 5061 7274 20e2 8692 2054 4320 5374 orPart ... TC St │ │ │ -0004c430: 7269 6e67 0a20 202d 2d20 5072 696e 7473 ring. -- Prints │ │ │ -0004c440: 2074 6865 2074 6869 7264 2061 7267 756d the third argum │ │ │ -0004c450: 656e 7420 6966 2074 6865 2063 6f72 7265 ent if the corre │ │ │ -0004c460: 7370 6f6e 6469 6e67 2076 6572 626f 7369 sponding verbosi │ │ │ -0004c470: 7479 206c 6576 656c 2069 7320 7475 726e ty level is turn │ │ │ -0004c480: 6564 0a20 202d 2d20 6f6e 2028 7769 7468 ed. -- on (with │ │ │ -0004c490: 2074 6865 202d 7620 666c 6167 2074 6f20 the -v flag to │ │ │ -0004c4a0: 4167 6461 292e 0a20 2064 6562 7567 5072 Agda).. debugPr │ │ │ -0004c4b0: 696e 7420 3a20 5374 7269 6e67 20e2 8692 int : String ... │ │ │ -0004c4c0: 204e 6174 20e2 8692 204c 6973 7420 4572 Nat ... List Er │ │ │ -0004c4d0: 726f 7250 6172 7420 e286 9220 5443 20e2 rorPart ... TC . │ │ │ -0004c4e0: 8aa4 0a0a 2020 2d2d 2046 6169 6c20 6966 .... -- Fail if │ │ │ -0004c4f0: 2074 6865 2067 6976 656e 2063 6f6d 7075 the given compu │ │ │ -0004c500: 7461 7469 6f6e 2067 6976 6573 2072 6973 tation gives ris │ │ │ -0004c510: 6520 746f 206e 6577 2c20 756e 736f 6c76 e to new, unsolv │ │ │ -0004c520: 6564 0a20 202d 2d20 2262 6c6f 636b 696e ed. -- "blockin │ │ │ -0004c530: 6722 2063 6f6e 7374 7261 696e 7473 2e0a g" constraints.. │ │ │ -0004c540: 2020 6e6f 436f 6e73 7472 6169 6e74 7320 noConstraints │ │ │ -0004c550: 3a20 e288 8020 7b61 7d20 7b41 203a 2053 : ... {a} {A : S │ │ │ -0004c560: 6574 2061 7d20 e286 9220 5443 2041 20e2 et a} ... TC A . │ │ │ -0004c570: 8692 2054 4320 410a 0a20 202d 2d20 5275 .. TC A.. -- Ru │ │ │ -0004c580: 6e20 7468 6520 6769 7665 6e20 636f 6d70 n the given comp │ │ │ -0004c590: 7574 6174 696f 6e20 6174 2074 6865 2074 utation at the t │ │ │ -0004c5a0: 7970 6520 6c65 7665 6c2c 2061 6c6c 6f77 ype level, allow │ │ │ -0004c5b0: 696e 6720 7573 6520 6f66 2065 7261 7365 ing use of erase │ │ │ -0004c5c0: 6420 7468 696e 6773 2e0a 2020 776f 726b d things.. work │ │ │ -0004c5d0: 4f6e 5479 7065 7320 3a20 e288 8020 7b61 OnTypes : ... {a │ │ │ -0004c5e0: 7d20 7b41 203a 2053 6574 2061 7d20 e286 } {A : Set a} .. │ │ │ -0004c5f0: 9220 5443 2041 20e2 8692 2054 4320 410a . TC A ... TC A. │ │ │ -0004c600: 0a20 202d 2d20 5275 6e20 7468 6520 6769 . -- Run the gi │ │ │ -0004c610: 7665 6e20 5443 2061 6374 696f 6e20 616e ven TC action an │ │ │ -0004c620: 6420 7265 7475 726e 2074 6865 2066 6972 d return the fir │ │ │ -0004c630: 7374 2063 6f6d 706f 6e65 6e74 2e20 5265 st component. Re │ │ │ -0004c640: 7365 7473 2074 6f0a 2020 2d2d 2074 6865 sets to. -- the │ │ │ -0004c650: 206f 6c64 2054 4320 7374 6174 6520 6966 old TC state if │ │ │ -0004c660: 2074 6865 2073 6563 6f6e 6420 636f 6d70 the second comp │ │ │ -0004c670: 6f6e 656e 7420 6973 2027 6661 6c73 6527 onent is 'false' │ │ │ -0004c680: 2c20 6f72 206b 6565 7020 7468 650a 2020 , or keep the. │ │ │ -0004c690: 2d2d 206e 6577 2054 4320 7374 6174 6520 -- new TC state │ │ │ -0004c6a0: 6966 2069 7420 6973 2027 7472 7565 272e if it is 'true'. │ │ │ -0004c6b0: 0a20 2072 756e 5370 6563 756c 6174 6976 . runSpeculativ │ │ │ -0004c6c0: 6520 3a20 e288 8020 7b61 7d20 7b41 203a e : ... {a} {A : │ │ │ -0004c6d0: 2053 6574 2061 7d20 e286 9220 5443 2028 Set a} ... TC ( │ │ │ -0004c6e0: cea3 2041 20ce bb20 5f20 e286 9220 426f .. A .. _ ... Bo │ │ │ -0004c6f0: 6f6c 2920 e286 9220 5443 2041 0a0a 2020 ol) ... TC A.. │ │ │ -0004c700: 2d2d 2047 6574 2061 206c 6973 7420 6f66 -- Get a list of │ │ │ -0004c710: 2061 6c6c 2070 6f73 7369 626c 6520 696e all possible in │ │ │ -0004c720: 7374 616e 6365 2063 616e 6469 6461 7465 stance candidate │ │ │ -0004c730: 7320 666f 7220 7468 6520 6769 7665 6e20 s for the given │ │ │ -0004c740: 6d65 7461 0a20 202d 2d20 7661 7269 6162 meta. -- variab │ │ │ -0004c750: 6c65 2028 6974 2064 6f65 7320 6e6f 7420 le (it does not │ │ │ -0004c760: 6861 7665 2074 6f20 6265 2061 6e20 696e have to be an in │ │ │ -0004c770: 7374 616e 6365 206d 6574 6129 2e0a 2020 stance meta).. │ │ │ -0004c780: 6765 7449 6e73 7461 6e63 6573 203a 204d getInstances : M │ │ │ -0004c790: 6574 6120 e286 9220 5443 2028 4c69 7374 eta ... TC (List │ │ │ -0004c7a0: 2054 6572 6d29 0a0a 2020 2d2d 2054 7279 Term).. -- Try │ │ │ -0004c7b0: 2074 6f20 736f 6c76 6520 6f70 656e 2069 to solve open i │ │ │ -0004c7c0: 6e73 7461 6e63 6520 636f 6e73 7472 6169 nstance constrai │ │ │ -0004c7d0: 6e74 732e 2057 6865 6e20 7772 6170 7065 nts. When wrappe │ │ │ -0004c7e0: 6420 696e 2060 6e6f 436f 6e73 7472 6169 d in `noConstrai │ │ │ -0004c7f0: 6e74 7360 2c0a 2020 2d2d 2066 6169 6c73 nts`,. -- fails │ │ │ -0004c800: 2069 6620 7468 6572 6520 6172 6520 756e if there are un │ │ │ -0004c810: 736f 6c76 6564 2069 6e73 7461 6e63 6520 solved instance │ │ │ -0004c820: 636f 6e73 7472 6169 6e74 7320 6c65 6674 constraints left │ │ │ -0004c830: 206f 7665 7220 7468 6174 206f 7269 6769 over that origi │ │ │ -0004c840: 6e61 7465 0a20 202d 2d20 6672 6f6d 2074 nate. -- from t │ │ │ -0004c850: 6865 2063 7572 7265 6e74 206d 6163 726f he current macro │ │ │ -0004c860: 2069 6e76 6f6b 6174 696f 6e2e 204f 7574 invokation. Out │ │ │ -0004c870: 7369 6465 2063 6f6e 7374 7261 696e 7473 side constraints │ │ │ -0004c880: 2061 7265 2073 7469 6c6c 2061 7474 656d are still attem │ │ │ -0004c890: 7074 6564 2c0a 2020 2d2d 2062 7574 2066 pted,. -- but f │ │ │ -0004c8a0: 6169 6c75 7265 2074 6f20 736f 6c76 6520 ailure to solve │ │ │ -0004c8b0: 7468 656d 2061 7265 2069 676e 6f72 6564 them are ignored │ │ │ -0004c8c0: 2062 7920 606e 6f43 6f6e 7374 7261 696e by `noConstrain │ │ │ -0004c8d0: 7473 602e 0a20 2073 6f6c 7665 496e 7374 ts`.. solveInst │ │ │ -0004c8e0: 616e 6365 436f 6e73 7472 6169 6e74 7320 anceConstraints │ │ │ -0004c8f0: 3a20 5443 20e2 8aa4 0a0a 2020 2d2d 2050 : TC ..... -- P │ │ │ -0004c900: 6172 7365 2061 6e64 2074 7970 6520 6368 arse and type ch │ │ │ -0004c910: 6563 6b20 7468 6520 6769 7665 6e20 7374 eck the given st │ │ │ -0004c920: 7269 6e67 2061 6761 696e 7374 2074 6865 ring against the │ │ │ -0004c930: 2067 6976 656e 2074 7970 652c 2072 6574 given type, ret │ │ │ -0004c940: 7572 6e69 6e67 0a20 202d 2d20 7468 6520 urning. -- the │ │ │ -0004c950: 7265 7375 6c74 696e 6720 7465 726d 2028 resulting term ( │ │ │ -0004c960: 7768 656e 2073 7563 6365 7373 6675 6c29 when successful) │ │ │ -0004c970: 2e0a 2020 6368 6563 6b46 726f 6d53 7472 .. checkFromStr │ │ │ -0004c980: 696e 6754 4320 3a20 5374 7269 6e67 20e2 ingTC : String . │ │ │ -0004c990: 8692 2054 7970 6520 e286 9220 5443 2054 .. Type ... TC T │ │ │ -0004c9a0: 6572 6d0a 0a7b 2d23 2042 5549 4c54 494e erm..{-# BUILTIN │ │ │ -0004c9b0: 2041 4744 4154 434d 2020 2020 2020 2020 AGDATCM │ │ │ +00047900: 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a69 6e66 -----------..inf │ │ │ +00047910: 6978 6c20 3620 5fe2 8a94 5f0a 0a7b 2d23 ixl 6 _..._..{-# │ │ │ +00047920: 2042 5549 4c54 494e 2050 524f 5020 2020 BUILTIN PROP │ │ │ +00047930: 2020 2020 2020 2020 5072 6f70 2020 2020 Prop │ │ │ +00047940: 2020 232d 7d0a 7b2d 2320 4255 494c 5449 #-}.{-# BUILTI │ │ │ +00047950: 4e20 5459 5045 2020 2020 2020 2020 2020 N TYPE │ │ │ +00047960: 2053 6574 2020 2020 2020 2023 2d7d 0a7b Set #-}.{ │ │ │ +00047970: 2d23 2042 5549 4c54 494e 2053 5452 4943 -# BUILTIN STRIC │ │ │ +00047980: 5453 4554 2020 2020 2020 5353 6574 2020 TSET SSet │ │ │ +00047990: 2020 2020 232d 7d0a 0a7b 2d23 2042 5549 #-}..{-# BUI │ │ │ +000479a0: 4c54 494e 2050 524f 504f 4d45 4741 2020 LTIN PROPOMEGA │ │ │ +000479b0: 2020 2020 5072 6f70 cf89 2020 2020 2023 Prop.. # │ │ │ +000479c0: 2d7d 0a7b 2d23 2042 5549 4c54 494e 2053 -}.{-# BUILTIN S │ │ │ +000479d0: 4554 4f4d 4547 4120 2020 2020 2020 5365 ETOMEGA Se │ │ │ +000479e0: 74cf 8920 2020 2020 2023 2d7d 0a7b 2d23 t.. #-}.{-# │ │ │ +000479f0: 2042 5549 4c54 494e 2053 5452 4943 5453 BUILTIN STRICTS │ │ │ +00047a00: 4554 4f4d 4547 4120 5353 6574 cf89 2020 ETOMEGA SSet.. │ │ │ +00047a10: 2020 2023 2d7d 0a0a 7b2d 2320 4255 494c #-}..{-# BUIL │ │ │ +00047a20: 5449 4e20 4c45 5645 4c55 4e49 5620 2020 TIN LEVELUNIV │ │ │ +00047a30: 2020 204c 6576 656c 556e 6976 2023 2d7d LevelUniv #-} │ │ │ +00047a40: 0a0a 2d2d 204c 6576 656c 2069 7320 7468 ..-- Level is th │ │ │ +00047a50: 6520 6669 7273 7420 7468 696e 6720 7765 e first thing we │ │ │ +00047a60: 206e 6565 6420 746f 2064 6566 696e 652e need to define. │ │ │ +00047a70: 0a2d 2d20 5468 6520 6f74 6865 7220 706f .-- The other po │ │ │ +00047a80: 7374 756c 6174 6573 2063 616e 206f 6e6c stulates can onl │ │ │ +00047a90: 7920 6265 2063 6865 636b 6564 2069 6620 y be checked if │ │ │ +00047aa0: 6275 696c 742d 696e 204c 6576 656c 2069 built-in Level i │ │ │ +00047ab0: 7320 6b6e 6f77 6e2e 0a0a 706f 7374 756c s known...postul │ │ │ +00047ac0: 6174 650a 2020 4c65 7665 6c20 3a20 4c65 ate. Level : Le │ │ │ +00047ad0: 7665 6c55 6e69 760a 0a2d 2d20 4d41 6c6f velUniv..-- MAlo │ │ │ +00047ae0: 6e7a 6f20 636f 6d70 696c 6573 204c 6576 nzo compiles Lev │ │ │ +00047af0: 656c 2074 6f20 2829 2e20 5468 6973 2073 el to (). This s │ │ │ +00047b00: 686f 756c 6420 6265 2073 6166 652c 2062 hould be safe, b │ │ │ +00047b10: 6563 6175 7365 2069 7420 6973 0a2d 2d20 ecause it is.-- │ │ │ +00047b20: 6e6f 7420 706f 7373 6962 6c65 2074 6f20 not possible to │ │ │ +00047b30: 7061 7474 6572 6e20 6d61 7463 6820 6f6e pattern match on │ │ │ +00047b40: 206c 6576 656c 732e 0a0a 7b2d 2320 4255 levels...{-# BU │ │ │ +00047b50: 494c 5449 4e20 4c45 5645 4c20 4c65 7665 ILTIN LEVEL Leve │ │ │ +00047b60: 6c20 232d 7d0a 0a70 6f73 7475 6c61 7465 l #-}..postulate │ │ │ +00047b70: 0a20 206c 7a65 726f 203a 204c 6576 656c . lzero : Level │ │ │ +00047b80: 0a20 206c 7375 6320 203a 2028 e284 9320 . lsuc : (... │ │ │ +00047b90: 3a20 4c65 7665 6c29 20e2 8692 204c 6576 : Level) ... Lev │ │ │ +00047ba0: 656c 0a20 205f e28a 945f 2020 203a 2028 el. _..._ : ( │ │ │ +00047bb0: e284 93e2 8281 20e2 8493 e282 8220 3a20 ...... ...... : │ │ │ +00047bc0: 4c65 7665 6c29 20e2 8692 204c 6576 656c Level) ... Level │ │ │ +00047bd0: 0a0a 7b2d 2320 4255 494c 5449 4e20 4c45 ..{-# BUILTIN LE │ │ │ +00047be0: 5645 4c5a 4552 4f20 6c7a 6572 6f20 232d VELZERO lzero #- │ │ │ +00047bf0: 7d0a 7b2d 2320 4255 494c 5449 4e20 4c45 }.{-# BUILTIN LE │ │ │ +00047c00: 5645 4c53 5543 2020 6c73 7563 2020 232d VELSUC lsuc #- │ │ │ +00047c10: 7d0a 7b2d 2320 4255 494c 5449 4e20 4c45 }.{-# BUILTIN LE │ │ │ +00047c20: 5645 4c4d 4158 2020 5fe2 8a94 5f20 2020 VELMAX _..._ │ │ │ +00047c30: 232d 7d0a 92a2 85c9 faf4 b089 eb01 a0cb #-}............. │ │ │ +00047c40: cbaf dff3 f2d5 a301 00f0 0100 047c 7205 .............|r. │ │ │ +00047c50: 2000 0001 0004 0408 0307 025e 0200 0003 ..........^.... │ │ │ +00047c60: 0f00 0505 050b 5f0b fe01 0b61 0906 0100 ......_....a.... │ │ │ +00047c70: b402 ff81 9eed ee9f d4e7 f801 ecc4 d2c4 ................ │ │ │ +00047c80: bbab b08d bc01 00fe 0100 047d d905 8280 ...........}.... │ │ │ +00047c90: 80e6 0800 0001 0003 0407 0402 0000 030f ................ │ │ │ +00047ca0: 0009 01b4 027b 2d23 204f 5054 494f 4e53 .....{-# OPTIONS │ │ │ +00047cb0: 202d 2d63 7562 6963 616c 2d63 6f6d 7061 --cubical-compa │ │ │ +00047cc0: 7469 626c 6520 2d2d 7361 6665 202d 2d6e tible --safe --n │ │ │ +00047cd0: 6f2d 7369 7a65 642d 7479 7065 7320 2d2d o-sized-types -- │ │ │ +00047ce0: 6e6f 2d67 7561 7264 6564 6e65 7373 202d no-guardedness - │ │ │ +00047cf0: 2d6c 6576 656c 2d75 6e69 7665 7273 6520 -level-universe │ │ │ +00047d00: 232d 7d0a 0a6d 6f64 756c 6520 4167 6461 #-}..module Agda │ │ │ +00047d10: 2e42 7569 6c74 696e 2e57 6f72 642e 5072 .Builtin.Word.Pr │ │ │ +00047d20: 6f70 6572 7469 6573 2077 6865 7265 0a0a operties where.. │ │ │ +00047d30: 6f70 656e 2069 6d70 6f72 7420 4167 6461 open import Agda │ │ │ +00047d40: 2e42 7569 6c74 696e 2e57 6f72 640a 6f70 .Builtin.Word.op │ │ │ +00047d50: 656e 2069 6d70 6f72 7420 4167 6461 2e42 en import Agda.B │ │ │ +00047d60: 7569 6c74 696e 2e45 7175 616c 6974 790a uiltin.Equality. │ │ │ +00047d70: 0a70 7269 6d69 7469 7665 0a0a 2020 7072 .primitive.. pr │ │ │ +00047d80: 696d 576f 7264 3634 546f 4e61 7449 6e6a imWord64ToNatInj │ │ │ +00047d90: 6563 7469 7665 203a 20e2 8880 2061 2062 ective : ... a b │ │ │ +00047da0: 20e2 8692 2070 7269 6d57 6f72 6436 3454 ... primWord64T │ │ │ +00047db0: 6f4e 6174 2061 20e2 89a1 2070 7269 6d57 oNat a ... primW │ │ │ +00047dc0: 6f72 6436 3454 6f4e 6174 2062 20e2 8692 ord64ToNat b ... │ │ │ +00047dd0: 2061 20e2 89a1 2062 0a87 bef1 c5dc fca8 a ... b........ │ │ │ +00047de0: b350 c598 a186 8ccc ab87 8d01 00ee 0100 .P.............. │ │ │ +00047df0: 047e 1605 2000 0001 0004 0408 0307 025e .~.. ..........^ │ │ │ +00047e00: 0200 0003 0f00 0505 050b 5f0b ff01 0b61 .........._....a │ │ │ +00047e10: 0906 0100 cf02 ddf5 bbab a4e1 ecb1 af01 ................ │ │ │ +00047e20: aaaa caa8 b6d7 d996 7f00 ff01 0004 7f97 ................ │ │ │ +00047e30: 0582 8080 e608 0000 0100 0304 0704 0200 ................ │ │ │ +00047e40: 0003 0f00 0901 cf02 7b2d 2320 4f50 5449 ........{-# OPTI │ │ │ +00047e50: 4f4e 5320 2d2d 6375 6269 6361 6c2d 636f ONS --cubical-co │ │ │ +00047e60: 6d70 6174 6962 6c65 202d 2d73 6166 6520 mpatible --safe │ │ │ +00047e70: 2d2d 6e6f 2d75 6e69 7665 7273 652d 706f --no-universe-po │ │ │ +00047e80: 6c79 6d6f 7270 6869 736d 0a20 2020 2020 lymorphism. │ │ │ +00047e90: 2020 2020 2020 202d 2d6e 6f2d 7369 7a65 --no-size │ │ │ +00047ea0: 642d 7479 7065 7320 2d2d 6e6f 2d67 7561 d-types --no-gua │ │ │ +00047eb0: 7264 6564 6e65 7373 202d 2d6c 6576 656c rdedness --level │ │ │ +00047ec0: 2d75 6e69 7665 7273 6520 232d 7d0a 0a6d -universe #-}..m │ │ │ +00047ed0: 6f64 756c 6520 4167 6461 2e42 7569 6c74 odule Agda.Built │ │ │ +00047ee0: 696e 2e57 6f72 6420 7768 6572 650a 0a6f in.Word where..o │ │ │ +00047ef0: 7065 6e20 696d 706f 7274 2041 6764 612e pen import Agda. │ │ │ +00047f00: 4275 696c 7469 6e2e 4e61 740a 0a70 6f73 Builtin.Nat..pos │ │ │ +00047f10: 7475 6c61 7465 2057 6f72 6436 3420 3a20 tulate Word64 : │ │ │ +00047f20: 5365 740a 7b2d 2320 4255 494c 5449 4e20 Set.{-# BUILTIN │ │ │ +00047f30: 574f 5244 3634 2057 6f72 6436 3420 232d WORD64 Word64 #- │ │ │ +00047f40: 7d0a 0a70 7269 6d69 7469 7665 0a20 2070 }..primitive. p │ │ │ +00047f50: 7269 6d57 6f72 6436 3454 6f4e 6174 2020 rimWord64ToNat │ │ │ +00047f60: 203a 2057 6f72 6436 3420 e286 9220 4e61 : Word64 ... Na │ │ │ +00047f70: 740a 2020 7072 696d 576f 7264 3634 4672 t. primWord64Fr │ │ │ +00047f80: 6f6d 4e61 7420 3a20 4e61 7420 e286 9220 omNat : Nat ... │ │ │ +00047f90: 576f 7264 3634 0a9c b897 e1d1 c292 fd5e Word64.........^ │ │ │ +00047fa0: cbd1 98ec cfff bcda 5e00 fa01 0004 7fe7 ........^....... │ │ │ +00047fb0: 05b4 8080 e608 0000 0005 2000 0001 0001 .......... ..... │ │ │ +00047fc0: 0004 0408 0307 0286 8080 ec08 0200 0003 ................ │ │ │ +00047fd0: 0f00 0505 050b 8780 80ec 0801 0520 0000 ............. .. │ │ │ +00047fe0: 010b 9e01 0b80 02c9 e48a d6e2 e3ff d3bc ................ │ │ │ +00047ff0: 01af d3cd dacf d6ed de52 00ec 0100 0480 .........R...... │ │ │ +00048000: 2405 2000 0001 0004 0408 0307 025e 0200 $. ..........^.. │ │ │ +00048010: 0003 0f00 0505 050b 5f0b 8102 0b61 0906 ........_....a.. │ │ │ +00048020: 0100 9902 a8f4 abb6 f6ff ccfd 558c bef1 ............U... │ │ │ +00048030: c28d e4ce ef23 0081 0200 0481 6e05 8280 .....#......n... │ │ │ +00048040: 80e6 0800 0001 0003 0407 0402 0000 030f ................ │ │ │ +00048050: 0009 0199 027b 2d23 204f 5054 494f 4e53 .....{-# OPTIONS │ │ │ +00048060: 202d 2d63 7562 6963 616c 2d63 6f6d 7061 --cubical-compa │ │ │ +00048070: 7469 626c 6520 2d2d 7361 6665 202d 2d6e tible --safe --n │ │ │ +00048080: 6f2d 756e 6976 6572 7365 2d70 6f6c 796d o-universe-polym │ │ │ +00048090: 6f72 7068 6973 6d0a 2020 2020 2020 2020 orphism. │ │ │ +000480a0: 2020 2020 2d2d 6e6f 2d73 697a 6564 2d74 --no-sized-t │ │ │ +000480b0: 7970 6573 202d 2d6e 6f2d 6775 6172 6465 ypes --no-guarde │ │ │ +000480c0: 646e 6573 7320 2d2d 6c65 7665 6c2d 756e dness --level-un │ │ │ +000480d0: 6976 6572 7365 2023 2d7d 0a0a 6d6f 6475 iverse #-}..modu │ │ │ +000480e0: 6c65 2041 6764 612e 4275 696c 7469 6e2e le Agda.Builtin. │ │ │ +000480f0: 556e 6974 2077 6865 7265 0a0a 7265 636f Unit where..reco │ │ │ +00048100: 7264 20e2 8aa4 203a 2053 6574 2077 6865 rd ... : Set whe │ │ │ +00048110: 7265 0a20 2069 6e73 7461 6e63 6520 636f re. instance co │ │ │ +00048120: 6e73 7472 7563 746f 7220 7474 0a0a 7b2d nstructor tt..{- │ │ │ +00048130: 2320 4255 494c 5449 4e20 554e 4954 20e2 # BUILTIN UNIT . │ │ │ +00048140: 8aa4 2023 2d7d 0a7b 2d23 2043 4f4d 5049 .. #-}.{-# COMPI │ │ │ +00048150: 4c45 2047 4843 20e2 8aa4 203d 2064 6174 LE GHC ... = dat │ │ │ +00048160: 6120 2829 2028 2829 2920 232d 7d0a a7ab a () (()) #-}... │ │ │ +00048170: 83e4 97a8 bfe9 46df eda0 c491 c8f4 ffc5 ......F......... │ │ │ +00048180: 0100 ea01 0004 81ab 0520 0000 0100 0404 ......... ...... │ │ │ +00048190: 0803 0702 5e02 0000 030f 0005 0505 0b5f ....^.........._ │ │ │ +000481a0: 0b82 020b 6109 0601 00b6 03e4 a4e4 c68d ....a........... │ │ │ +000481b0: c8cb 99f5 018b b4f0 b497 848b efc1 0100 ................ │ │ │ +000481c0: 8202 0004 8394 0582 8080 e608 0000 0100 ................ │ │ │ +000481d0: 0304 0704 0200 0003 0f00 0901 b603 7b2d ..............{- │ │ │ +000481e0: 2320 4f50 5449 4f4e 5320 2d2d 6e6f 2d73 # OPTIONS --no-s │ │ │ +000481f0: 697a 6564 2d74 7970 6573 202d 2d6e 6f2d ized-types --no- │ │ │ +00048200: 6775 6172 6465 646e 6573 7320 2d2d 6c65 guardedness --le │ │ │ +00048210: 7665 6c2d 756e 6976 6572 7365 2023 2d7d vel-universe #-} │ │ │ +00048220: 0a0a 6d6f 6475 6c65 2041 6764 612e 4275 ..module Agda.Bu │ │ │ +00048230: 696c 7469 6e2e 5472 7573 744d 6520 7768 iltin.TrustMe wh │ │ │ +00048240: 6572 650a 0a6f 7065 6e20 696d 706f 7274 ere..open import │ │ │ +00048250: 2041 6764 612e 4275 696c 7469 6e2e 4571 Agda.Builtin.Eq │ │ │ +00048260: 7561 6c69 7479 0a6f 7065 6e20 696d 706f uality.open impo │ │ │ +00048270: 7274 2041 6764 612e 4275 696c 7469 6e2e rt Agda.Builtin. │ │ │ +00048280: 4571 7561 6c69 7479 2e45 7261 7365 0a0a Equality.Erase.. │ │ │ +00048290: 7072 6976 6174 650a 2020 706f 7374 756c private. postul │ │ │ +000482a0: 6174 650a 2020 2020 756e 7361 6665 5072 ate. unsafePr │ │ │ +000482b0: 696d 5472 7573 744d 6520 3a20 e288 8020 imTrustMe : ... │ │ │ +000482c0: 7b61 7d20 7b41 203a 2053 6574 2061 7d20 {a} {A : Set a} │ │ │ +000482d0: 7b78 2079 203a 2041 7d20 e286 9220 7820 {x y : A} ... x │ │ │ +000482e0: e289 a120 790a 0a70 7269 6d54 7275 7374 ... y..primTrust │ │ │ +000482f0: 4d65 203a 20e2 8880 207b 617d 207b 4120 Me : ... {a} {A │ │ │ +00048300: 3a20 5365 7420 617d 207b 7820 7920 3a20 : Set a} {x y : │ │ │ +00048310: 417d 20e2 8692 2078 20e2 89a1 2079 0a70 A} ... x ... y.p │ │ │ +00048320: 7269 6d54 7275 7374 4d65 203d 2070 7269 rimTrustMe = pri │ │ │ +00048330: 6d45 7261 7365 4571 7561 6c69 7479 2075 mEraseEquality u │ │ │ +00048340: 6e73 6166 6550 7269 6d54 7275 7374 4d65 nsafePrimTrustMe │ │ │ +00048350: 0a0a 7b2d 2320 4449 5350 4c41 5920 7072 ..{-# DISPLAY pr │ │ │ +00048360: 696d 4572 6173 6545 7175 616c 6974 7920 imEraseEquality │ │ │ +00048370: 756e 7361 6665 5072 696d 5472 7573 744d unsafePrimTrustM │ │ │ +00048380: 6520 3d20 7072 696d 5472 7573 744d 6520 e = primTrustMe │ │ │ +00048390: 232d 7d0a fb86 f7c5 9bb1 d7fe 45b5 8cad #-}.........E... │ │ │ +000483a0: a8a0 f7a0 8267 00e7 0100 0483 d005 2000 .....g........ . │ │ │ +000483b0: 0001 0004 0408 0307 025e 0200 0003 0f00 .........^...... │ │ │ +000483c0: 0505 050b 5f0b 8302 0b61 0906 0100 a103 ...._....a...... │ │ │ +000483d0: 81b4 a5df e282 f7ac 8101 f5be bbf6 9ae2 ................ │ │ │ +000483e0: c0fb d201 0083 0200 0485 a405 8280 80e6 ................ │ │ │ +000483f0: 0800 0001 0003 0407 0402 0000 030f 0009 ................ │ │ │ +00048400: 01a1 037b 2d23 204f 5054 494f 4e53 202d ...{-# OPTIONS - │ │ │ +00048410: 2d63 7562 6963 616c 2d63 6f6d 7061 7469 -cubical-compati │ │ │ +00048420: 626c 6520 2d2d 7361 6665 202d 2d6e 6f2d ble --safe --no- │ │ │ +00048430: 7369 7a65 642d 7479 7065 7320 2d2d 6e6f sized-types --no │ │ │ +00048440: 2d67 7561 7264 6564 6e65 7373 202d 2d6c -guardedness --l │ │ │ +00048450: 6576 656c 2d75 6e69 7665 7273 6520 232d evel-universe #- │ │ │ +00048460: 7d0a 0a6d 6f64 756c 6520 4167 6461 2e42 }..module Agda.B │ │ │ +00048470: 7569 6c74 696e 2e53 7472 696e 672e 5072 uiltin.String.Pr │ │ │ +00048480: 6f70 6572 7469 6573 2077 6865 7265 0a0a operties where.. │ │ │ +00048490: 6f70 656e 2069 6d70 6f72 7420 4167 6461 open import Agda │ │ │ +000484a0: 2e42 7569 6c74 696e 2e53 7472 696e 670a .Builtin.String. │ │ │ +000484b0: 6f70 656e 2069 6d70 6f72 7420 4167 6461 open import Agda │ │ │ +000484c0: 2e42 7569 6c74 696e 2e45 7175 616c 6974 .Builtin.Equalit │ │ │ +000484d0: 790a 0a70 7269 6d69 7469 7665 0a0a 2020 y..primitive.. │ │ │ +000484e0: 7072 696d 5374 7269 6e67 546f 4c69 7374 primStringToList │ │ │ +000484f0: 496e 6a65 6374 6976 6520 3a20 e288 8020 Injective : ... │ │ │ +00048500: 6120 6220 e286 9220 7072 696d 5374 7269 a b ... primStri │ │ │ +00048510: 6e67 546f 4c69 7374 2061 20e2 89a1 2070 ngToList a ... p │ │ │ +00048520: 7269 6d53 7472 696e 6754 6f4c 6973 7420 rimStringToList │ │ │ +00048530: 6220 e286 9220 6120 e289 a120 620a 2020 b ... a ... b. │ │ │ +00048540: 7072 696d 5374 7269 6e67 4672 6f6d 4c69 primStringFromLi │ │ │ +00048550: 7374 496e 6a65 6374 6976 6520 3a20 e288 stInjective : .. │ │ │ +00048560: 8020 6120 6220 e286 9220 7072 696d 5374 . a b ... primSt │ │ │ +00048570: 7269 6e67 4672 6f6d 4c69 7374 2061 20e2 ringFromList a . │ │ │ +00048580: 89a1 2070 7269 6d53 7472 696e 6746 726f .. primStringFro │ │ │ +00048590: 6d4c 6973 7420 6220 e286 9220 6120 e289 mList b ... a .. │ │ │ +000485a0: a120 620a f0fd b882 96d5 f7e0 69eb 9b87 . b.........i... │ │ │ +000485b0: fcc7 d491 a45b 00e5 0100 0485 e005 2000 .....[........ . │ │ │ +000485c0: 0001 0004 0408 0307 025e 0200 0003 0f00 .........^...... │ │ │ +000485d0: 0505 050b 5f0b 8402 0b61 0906 0100 a40c ...._....a...... │ │ │ +000485e0: bd85 d8a4 d6ce 8581 9d01 e9e9 b5d0 bea5 ................ │ │ │ +000485f0: a5fa f201 0084 0200 048c 3705 8280 80e6 ..........7..... │ │ │ +00048600: 0800 0001 0003 0407 0402 0000 030f 0009 ................ │ │ │ +00048610: 01a4 0c7b 2d23 204f 5054 494f 4e53 202d ...{-# OPTIONS - │ │ │ +00048620: 2d63 7562 6963 616c 2d63 6f6d 7061 7469 -cubical-compati │ │ │ +00048630: 626c 6520 2d2d 7361 6665 202d 2d6e 6f2d ble --safe --no- │ │ │ +00048640: 7369 7a65 642d 7479 7065 7320 2d2d 6e6f sized-types --no │ │ │ +00048650: 2d67 7561 7264 6564 6e65 7373 202d 2d6c -guardedness --l │ │ │ +00048660: 6576 656c 2d75 6e69 7665 7273 6520 232d evel-universe #- │ │ │ +00048670: 7d0a 0a6d 6f64 756c 6520 4167 6461 2e42 }..module Agda.B │ │ │ +00048680: 7569 6c74 696e 2e53 7472 696e 6720 7768 uiltin.String wh │ │ │ +00048690: 6572 650a 0a6f 7065 6e20 696d 706f 7274 ere..open import │ │ │ +000486a0: 2041 6764 612e 4275 696c 7469 6e2e 426f Agda.Builtin.Bo │ │ │ +000486b0: 6f6c 0a6f 7065 6e20 696d 706f 7274 2041 ol.open import A │ │ │ +000486c0: 6764 612e 4275 696c 7469 6e2e 4368 6172 gda.Builtin.Char │ │ │ +000486d0: 0a6f 7065 6e20 696d 706f 7274 2041 6764 .open import Agd │ │ │ +000486e0: 612e 4275 696c 7469 6e2e 4c69 7374 0a6f a.Builtin.List.o │ │ │ +000486f0: 7065 6e20 696d 706f 7274 2041 6764 612e pen import Agda. │ │ │ +00048700: 4275 696c 7469 6e2e 4d61 7962 650a 6f70 Builtin.Maybe.op │ │ │ +00048710: 656e 2069 6d70 6f72 7420 4167 6461 2e42 en import Agda.B │ │ │ +00048720: 7569 6c74 696e 2e4e 6174 2075 7369 6e67 uiltin.Nat using │ │ │ +00048730: 2028 4e61 7429 0a6f 7065 6e20 696d 706f (Nat).open impo │ │ │ +00048740: 7274 2041 6764 612e 4275 696c 7469 6e2e rt Agda.Builtin. │ │ │ +00048750: 5369 676d 610a 0a70 6f73 7475 6c61 7465 Sigma..postulate │ │ │ +00048760: 2053 7472 696e 6720 3a20 5365 740a 7b2d String : Set.{- │ │ │ +00048770: 2320 4255 494c 5449 4e20 5354 5249 4e47 # BUILTIN STRING │ │ │ +00048780: 2053 7472 696e 6720 232d 7d0a 0a70 7269 String #-}..pri │ │ │ +00048790: 6d69 7469 7665 0a20 2070 7269 6d53 7472 mitive. primStr │ │ │ +000487a0: 696e 6755 6e63 6f6e 7320 2020 3a20 5374 ingUncons : St │ │ │ +000487b0: 7269 6e67 20e2 8692 204d 6179 6265 2028 ring ... Maybe ( │ │ │ +000487c0: cea3 2043 6861 7220 28ce bb20 5f20 e286 .. Char (.. _ .. │ │ │ +000487d0: 9220 5374 7269 6e67 2929 0a20 2070 7269 . String)). pri │ │ │ +000487e0: 6d53 7472 696e 6754 6f4c 6973 7420 2020 mStringToList │ │ │ +000487f0: 3a20 5374 7269 6e67 20e2 8692 204c 6973 : String ... Lis │ │ │ +00048800: 7420 4368 6172 0a20 2070 7269 6d53 7472 t Char. primStr │ │ │ +00048810: 696e 6746 726f 6d4c 6973 7420 3a20 4c69 ingFromList : Li │ │ │ +00048820: 7374 2043 6861 7220 e286 9220 5374 7269 st Char ... Stri │ │ │ +00048830: 6e67 0a20 2070 7269 6d53 7472 696e 6741 ng. primStringA │ │ │ +00048840: 7070 656e 6420 2020 3a20 5374 7269 6e67 ppend : String │ │ │ +00048850: 20e2 8692 2053 7472 696e 6720 e286 9220 ... String ... │ │ │ +00048860: 5374 7269 6e67 0a20 2070 7269 6d53 7472 String. primStr │ │ │ +00048870: 696e 6745 7175 616c 6974 7920 3a20 5374 ingEquality : St │ │ │ +00048880: 7269 6e67 20e2 8692 2053 7472 696e 6720 ring ... String │ │ │ +00048890: e286 9220 426f 6f6c 0a20 2070 7269 6d53 ... Bool. primS │ │ │ +000488a0: 686f 7743 6861 7220 2020 2020 2020 3a20 howChar : │ │ │ +000488b0: 4368 6172 20e2 8692 2053 7472 696e 670a Char ... String. │ │ │ +000488c0: 2020 7072 696d 5368 6f77 5374 7269 6e67 primShowString │ │ │ +000488d0: 2020 2020 203a 2053 7472 696e 6720 e286 : String .. │ │ │ +000488e0: 9220 5374 7269 6e67 0a20 2070 7269 6d53 . String. primS │ │ │ +000488f0: 686f 774e 6174 2020 2020 2020 2020 3a20 howNat : │ │ │ +00048900: 4e61 7420 e286 9220 5374 7269 6e67 0a0a Nat ... String.. │ │ │ +00048910: 7b2d 2320 434f 4d50 494c 4520 4a53 2070 {-# COMPILE JS p │ │ │ +00048920: 7269 6d53 7472 696e 6755 6e63 6f6e 7320 rimStringUncons │ │ │ +00048930: 3d20 6675 6e63 7469 6f6e 2878 2920 7b0a = function(x) {. │ │ │ +00048940: 2020 2069 6620 2878 203d 3d3d 2022 2229 if (x === "") │ │ │ +00048950: 207b 2072 6574 7572 6e20 7a5f 6a41 6764 { return z_jAgd │ │ │ +00048960: 615f 4167 6461 5f42 7569 6c74 696e 5f4d a_Agda_Builtin_M │ │ │ +00048970: 6179 6265 5b22 4d61 7962 6522 5d5b 226e aybe["Maybe"]["n │ │ │ +00048980: 6f74 6869 6e67 225d 3b20 7d3b 0a20 2020 othing"]; };. │ │ │ +00048990: 7265 7475 726e 207a 5f6a 4167 6461 5f41 return z_jAgda_A │ │ │ +000489a0: 6764 615f 4275 696c 7469 6e5f 4d61 7962 gda_Builtin_Mayb │ │ │ +000489b0: 655b 224d 6179 6265 225d 5b22 6a75 7374 e["Maybe"]["just │ │ │ +000489c0: 225d 287a 5f6a 4167 6461 5f41 6764 615f "](z_jAgda_Agda_ │ │ │ +000489d0: 4275 696c 7469 6e5f 5369 676d 615b 225f Builtin_Sigma["_ │ │ │ +000489e0: 2c5f 225d 2878 2e63 6861 7241 7428 3029 ,_"](x.charAt(0) │ │ │ +000489f0: 2928 782e 736c 6963 6528 3129 2929 3b0a )(x.slice(1)));. │ │ │ +00048a00: 2020 207d 0a20 232d 7d0a 7b2d 2320 434f }. #-}.{-# CO │ │ │ +00048a10: 4d50 494c 4520 4a53 2070 7269 6d53 7472 MPILE JS primStr │ │ │ +00048a20: 696e 6754 6f4c 6973 7420 3d20 6675 6e63 ingToList = func │ │ │ +00048a30: 7469 6f6e 2878 2920 7b20 7265 7475 726e tion(x) { return │ │ │ +00048a40: 2078 2e73 706c 6974 2822 2229 3b20 7d20 x.split(""); } │ │ │ +00048a50: 232d 7d0a 7b2d 2320 434f 4d50 494c 4520 #-}.{-# COMPILE │ │ │ +00048a60: 4a53 2070 7269 6d53 7472 696e 6746 726f JS primStringFro │ │ │ +00048a70: 6d4c 6973 7420 3d20 6675 6e63 7469 6f6e mList = function │ │ │ +00048a80: 2878 2920 7b20 7265 7475 726e 2078 2e6a (x) { return x.j │ │ │ +00048a90: 6f69 6e28 2222 293b 207d 2023 2d7d 0a7b oin(""); } #-}.{ │ │ │ +00048aa0: 2d23 2043 4f4d 5049 4c45 204a 5320 7072 -# COMPILE JS pr │ │ │ +00048ab0: 696d 5374 7269 6e67 4170 7065 6e64 203d imStringAppend = │ │ │ +00048ac0: 2066 756e 6374 696f 6e28 7829 207b 2072 function(x) { r │ │ │ +00048ad0: 6574 7572 6e20 6675 6e63 7469 6f6e 2879 eturn function(y │ │ │ +00048ae0: 2920 7b20 7265 7475 726e 2078 2b79 3b20 ) { return x+y; │ │ │ +00048af0: 7d3b 207d 2023 2d7d 0a7b 2d23 2043 4f4d }; } #-}.{-# COM │ │ │ +00048b00: 5049 4c45 204a 5320 7072 696d 5374 7269 PILE JS primStri │ │ │ +00048b10: 6e67 4571 7561 6c69 7479 203d 2066 756e ngEquality = fun │ │ │ +00048b20: 6374 696f 6e28 7829 207b 2072 6574 7572 ction(x) { retur │ │ │ +00048b30: 6e20 6675 6e63 7469 6f6e 2879 2920 7b20 n function(y) { │ │ │ +00048b40: 7265 7475 726e 2078 3d3d 3d79 3b20 7d3b return x===y; }; │ │ │ +00048b50: 207d 2023 2d7d 0a7b 2d23 2043 4f4d 5049 } #-}.{-# COMPI │ │ │ +00048b60: 4c45 204a 5320 7072 696d 5368 6f77 4368 LE JS primShowCh │ │ │ +00048b70: 6172 203d 2066 756e 6374 696f 6e28 7829 ar = function(x) │ │ │ +00048b80: 207b 2072 6574 7572 6e20 4a53 4f4e 2e73 { return JSON.s │ │ │ +00048b90: 7472 696e 6769 6679 2878 293b 207d 2023 tringify(x); } # │ │ │ +00048ba0: 2d7d 0a7b 2d23 2043 4f4d 5049 4c45 204a -}.{-# COMPILE J │ │ │ +00048bb0: 5320 7072 696d 5368 6f77 5374 7269 6e67 S primShowString │ │ │ +00048bc0: 203d 2066 756e 6374 696f 6e28 7829 207b = function(x) { │ │ │ +00048bd0: 2072 6574 7572 6e20 4a53 4f4e 2e73 7472 return JSON.str │ │ │ +00048be0: 696e 6769 6679 2878 293b 207d 2023 2d7d ingify(x); } #-} │ │ │ +00048bf0: 0a7b 2d23 2043 4f4d 5049 4c45 204a 5320 .{-# COMPILE JS │ │ │ +00048c00: 7072 696d 5368 6f77 4e61 7420 3d20 6675 primShowNat = fu │ │ │ +00048c10: 6e63 7469 6f6e 2878 2920 7b20 7265 7475 nction(x) { retu │ │ │ +00048c20: 726e 2078 2e74 6f53 7472 696e 6728 293b rn x.toString(); │ │ │ +00048c30: 207d 2023 2d7d 0ad0 e9a8 e7d0 c0b2 e6fb } #-}.......... │ │ │ +00048c40: 01d2 8496 e5ef d5ce b46f 00e3 0100 048c .........o...... │ │ │ +00048c50: 7405 2000 0001 0004 0408 0307 025e 0200 t. ..........^.. │ │ │ +00048c60: 0003 0f00 0505 050b 5f0b 8502 0b61 0906 ........_....a.. │ │ │ +00048c70: 0100 ff02 ffcb b6b8 f2f2 87ed 14c3 d4b2 ................ │ │ │ +00048c80: c4a0 b5cf a942 0085 0200 048e 2405 8280 .....B......$... │ │ │ +00048c90: 80e6 0800 0001 0003 0407 0402 0000 030f ................ │ │ │ +00048ca0: 0009 01ff 027b 2d23 204f 5054 494f 4e53 .....{-# OPTIONS │ │ │ +00048cb0: 202d 2d63 7562 6963 616c 2d63 6f6d 7061 --cubical-compa │ │ │ +00048cc0: 7469 626c 6520 2d2d 7361 6665 202d 2d6e tible --safe --n │ │ │ +00048cd0: 6f2d 7369 7a65 642d 7479 7065 7320 2d2d o-sized-types -- │ │ │ +00048ce0: 6e6f 2d67 7561 7264 6564 6e65 7373 202d no-guardedness - │ │ │ +00048cf0: 2d6c 6576 656c 2d75 6e69 7665 7273 6520 -level-universe │ │ │ +00048d00: 232d 7d0a 0a6d 6f64 756c 6520 4167 6461 #-}..module Agda │ │ │ +00048d10: 2e42 7569 6c74 696e 2e53 7472 6963 7420 .Builtin.Strict │ │ │ +00048d20: 7768 6572 650a 0a6f 7065 6e20 696d 706f where..open impo │ │ │ +00048d30: 7274 2041 6764 612e 4275 696c 7469 6e2e rt Agda.Builtin. │ │ │ +00048d40: 4571 7561 6c69 7479 0a0a 7072 696d 6974 Equality..primit │ │ │ +00048d50: 6976 650a 2020 7072 696d 466f 7263 6520 ive. primForce │ │ │ +00048d60: 2020 2020 203a 20e2 8880 207b 6120 627d : ... {a b} │ │ │ +00048d70: 207b 4120 3a20 5365 7420 617d 207b 4220 {A : Set a} {B │ │ │ +00048d80: 3a20 4120 e286 9220 5365 7420 627d 2028 : A ... Set b} ( │ │ │ +00048d90: 7820 3a20 4129 20e2 8692 2028 e288 8020 x : A) ... (... │ │ │ +00048da0: 7820 e286 9220 4220 7829 20e2 8692 2042 x ... B x) ... B │ │ │ +00048db0: 2078 0a20 2070 7269 6d46 6f72 6365 4c65 x. primForceLe │ │ │ +00048dc0: 6d6d 6120 3a20 e288 8020 7b61 2062 7d20 mma : ... {a b} │ │ │ +00048dd0: 7b41 203a 2053 6574 2061 7d20 7b42 203a {A : Set a} {B : │ │ │ +00048de0: 2041 20e2 8692 2053 6574 2062 7d20 2878 A ... Set b} (x │ │ │ +00048df0: 203a 2041 2920 2866 203a 20e2 8880 2078 : A) (f : ... x │ │ │ +00048e00: 20e2 8692 2042 2078 2920 e286 9220 7072 ... B x) ... pr │ │ │ +00048e10: 696d 466f 7263 6520 7820 6620 e289 a120 imForce x f ... │ │ │ +00048e20: 6620 780a b5a3 b3f7 8e92 d7c4 d701 a4c4 f x............. │ │ │ +00048e30: e5cf 91a8 f1d8 1a00 8002 0004 8e75 05b4 .............u.. │ │ │ +00048e40: 8080 e608 0000 0005 2000 0001 0001 0004 ........ ....... │ │ │ +00048e50: 0408 0307 0286 8080 ec08 0200 0003 0f00 ................ │ │ │ +00048e60: 0505 050b 8780 80ec 0801 0520 0000 010b ........... .... │ │ │ +00048e70: 9c01 0b86 0294 b3f0 f6e5 c987 c07a 81d1 .............z.. │ │ │ +00048e80: cca3 eabb accc a701 00e1 0100 048e b205 ................ │ │ │ +00048e90: 2000 0001 0004 0408 0307 025e 0200 0003 ..........^.... │ │ │ +00048ea0: 0f00 0505 050b 5f0b 8702 0b61 0906 0100 ......_....a.... │ │ │ +00048eb0: f104 94bb fe99 98b9 d0b2 8501 d18d 94bf ................ │ │ │ +00048ec0: b4cc e5a2 8401 0087 0200 0491 5605 8280 ............V... │ │ │ +00048ed0: 80e6 0800 0001 0003 0407 0402 0000 030f ................ │ │ │ +00048ee0: 0009 01f1 047b 2d23 204f 5054 494f 4e53 .....{-# OPTIONS │ │ │ +00048ef0: 202d 2d63 7562 6963 616c 2d63 6f6d 7061 --cubical-compa │ │ │ +00048f00: 7469 626c 6520 2d2d 6e6f 2d75 6e69 7665 tible --no-unive │ │ │ +00048f10: 7273 652d 706f 6c79 6d6f 7270 6869 736d rse-polymorphism │ │ │ +00048f20: 202d 2d73 697a 6564 2d74 7970 6573 0a20 --sized-types. │ │ │ +00048f30: 2020 2020 2020 2020 2020 202d 2d6e 6f2d --no- │ │ │ +00048f40: 6775 6172 6465 646e 6573 7320 2d2d 6c65 guardedness --le │ │ │ +00048f50: 7665 6c2d 756e 6976 6572 7365 2023 2d7d vel-universe #-} │ │ │ +00048f60: 0a0a 6d6f 6475 6c65 2041 6764 612e 4275 ..module Agda.Bu │ │ │ +00048f70: 696c 7469 6e2e 5369 7a65 2077 6865 7265 iltin.Size where │ │ │ +00048f80: 0a0a 7b2d 2320 4255 494c 5449 4e20 5349 ..{-# BUILTIN SI │ │ │ +00048f90: 5a45 554e 4956 2053 697a 6555 6e69 7620 ZEUNIV SizeUniv │ │ │ +00048fa0: 232d 7d0a 7b2d 2320 4255 494c 5449 4e20 #-}.{-# BUILTIN │ │ │ +00048fb0: 5349 5a45 2020 2020 2053 697a 6520 2020 SIZE Size │ │ │ +00048fc0: 2020 232d 7d0a 7b2d 2320 4255 494c 5449 #-}.{-# BUILTI │ │ │ +00048fd0: 4e20 5349 5a45 4c54 2020 2053 697a 653c N SIZELT Size< │ │ │ +00048fe0: 5f20 2020 232d 7d0a 7b2d 2320 4255 494c _ #-}.{-# BUIL │ │ │ +00048ff0: 5449 4e20 5349 5a45 5355 4320 20e2 8691 TIN SIZESUC ... │ │ │ +00049000: 5f20 2020 2020 2020 232d 7d0a 7b2d 2320 _ #-}.{-# │ │ │ +00049010: 4255 494c 5449 4e20 5349 5a45 494e 4620 BUILTIN SIZEINF │ │ │ +00049020: 20e2 889e 2020 2020 2020 2020 232d 7d0a ... #-}. │ │ │ +00049030: 7b2d 2320 4255 494c 5449 4e20 5349 5a45 {-# BUILTIN SIZE │ │ │ +00049040: 4d41 5820 205f e28a 94cb a25f 2020 2020 MAX _....._ │ │ │ +00049050: 2023 2d7d 0a0a 7b2d 2320 464f 5245 4947 #-}..{-# FOREIG │ │ │ +00049060: 4e20 4748 430a 2020 7479 7065 2053 697a N GHC. type Siz │ │ │ +00049070: 654c 5420 6920 3d20 2829 0a20 2023 2d7d eLT i = (). #-} │ │ │ +00049080: 0a0a 7b2d 2320 434f 4d50 494c 4520 4748 ..{-# COMPILE GH │ │ │ +00049090: 4320 5369 7a65 2020 203d 2074 7970 6520 C Size = type │ │ │ +000490a0: 2829 2020 2020 2023 2d7d 0a7b 2d23 2043 () #-}.{-# C │ │ │ +000490b0: 4f4d 5049 4c45 2047 4843 2053 697a 653c OMPILE GHC Size< │ │ │ +000490c0: 5f20 3d20 7479 7065 2053 697a 654c 5420 _ = type SizeLT │ │ │ +000490d0: 232d 7d0a 7b2d 2320 434f 4d50 494c 4520 #-}.{-# COMPILE │ │ │ +000490e0: 4748 4320 e286 915f 2020 2020 203d 205c GHC ..._ = \ │ │ │ +000490f0: 5f20 2d3e 2028 2920 2020 2023 2d7d 0a7b _ -> () #-}.{ │ │ │ +00049100: 2d23 2043 4f4d 5049 4c45 2047 4843 20e2 -# COMPILE GHC . │ │ │ +00049110: 889e 2020 2020 2020 3d20 2829 2020 2020 .. = () │ │ │ +00049120: 2020 2020 2020 232d 7d0a 7b2d 2320 434f #-}.{-# CO │ │ │ +00049130: 4d50 494c 4520 4748 4320 5fe2 8a94 cba2 MPILE GHC _..... │ │ │ +00049140: 5f20 2020 3d20 5c5f 205f 202d 3e20 2829 _ = \_ _ -> () │ │ │ +00049150: 2020 232d 7d0a 86c1 a9ff b0a6 bfdb 30af #-}.........0. │ │ │ +00049160: eac4 abd5 d8c9 a9e9 0100 df01 0004 9193 ................ │ │ │ +00049170: 0520 0000 0100 0404 0803 0702 5e02 0000 . ..........^... │ │ │ +00049180: 030f 0005 0505 0b5f 0b88 020b 6109 0601 ......._....a... │ │ │ +00049190: 00cf 02e1 bab4 bbe5 befb d86c effa d3c7 ...........l.... │ │ │ +000491a0: ead9 fb8b fd01 0088 0200 0493 1405 8280 ................ │ │ │ +000491b0: 80e6 0800 0001 0003 0407 0402 0000 030f ................ │ │ │ +000491c0: 0009 01cf 027b 2d23 204f 5054 494f 4e53 .....{-# OPTIONS │ │ │ +000491d0: 202d 2d63 7562 6963 616c 2d63 6f6d 7061 --cubical-compa │ │ │ +000491e0: 7469 626c 6520 2d2d 7361 6665 202d 2d6e tible --safe --n │ │ │ +000491f0: 6f2d 7369 7a65 642d 7479 7065 7320 2d2d o-sized-types -- │ │ │ +00049200: 6e6f 2d67 7561 7264 6564 6e65 7373 202d no-guardedness - │ │ │ +00049210: 2d6c 6576 656c 2d75 6e69 7665 7273 6520 -level-universe │ │ │ +00049220: 232d 7d0a 0a6d 6f64 756c 6520 4167 6461 #-}..module Agda │ │ │ +00049230: 2e42 7569 6c74 696e 2e53 6967 6d61 2077 .Builtin.Sigma w │ │ │ +00049240: 6865 7265 0a0a 6f70 656e 2069 6d70 6f72 here..open impor │ │ │ +00049250: 7420 4167 6461 2e50 7269 6d69 7469 7665 t Agda.Primitive │ │ │ +00049260: 0a0a 7265 636f 7264 20ce a320 7b61 2062 ..record .. {a b │ │ │ +00049270: 7d20 2841 203a 2053 6574 2061 2920 2842 } (A : Set a) (B │ │ │ +00049280: 203a 2041 20e2 8692 2053 6574 2062 2920 : A ... Set b) │ │ │ +00049290: 3a20 5365 7420 2861 20e2 8a94 2062 2920 : Set (a ... b) │ │ │ +000492a0: 7768 6572 650a 2020 636f 6e73 7472 7563 where. construc │ │ │ +000492b0: 746f 7220 5f2c 5f0a 2020 6669 656c 640a tor _,_. field. │ │ │ +000492c0: 2020 2020 6673 7420 3a20 410a 2020 2020 fst : A. │ │ │ +000492d0: 736e 6420 3a20 4220 6673 740a 0a6f 7065 snd : B fst..ope │ │ │ +000492e0: 6e20 cea3 2070 7562 6c69 630a 0a69 6e66 n .. public..inf │ │ │ +000492f0: 6978 7220 3420 5f2c 5f0a 0a7b 2d23 2042 ixr 4 _,_..{-# B │ │ │ +00049300: 5549 4c54 494e 2053 4947 4d41 20ce a320 UILTIN SIGMA .. │ │ │ +00049310: 232d 7d0a c6e1 df9d bcae 92ba 9b01 9de2 #-}............. │ │ │ +00049320: 9ef5 85e4 9fb0 a801 00dd 0100 0493 5205 ..............R. │ │ │ +00049330: 2000 0001 0004 0408 0307 025e 0200 0003 ..........^.... │ │ │ +00049340: 0f00 0505 050b 5f0b 8902 0b61 0906 0100 ......_....a.... │ │ │ +00049350: a003 a685 cda8 fdee f3d2 8201 f2fb b4c7 ................ │ │ │ +00049360: bd96 fdc5 de01 0089 0200 0495 2505 8280 ............%... │ │ │ +00049370: 80e6 0800 0001 0003 0407 0402 0000 030f ................ │ │ │ +00049380: 0009 01a0 037b 2d23 204f 5054 494f 4e53 .....{-# OPTIONS │ │ │ +00049390: 202d 2d63 7562 6963 616c 2d63 6f6d 7061 --cubical-compa │ │ │ +000493a0: 7469 626c 6520 2d2d 7361 6665 202d 2d6e tible --safe --n │ │ │ +000493b0: 6f2d 7369 7a65 642d 7479 7065 7320 2d2d o-sized-types -- │ │ │ +000493c0: 6e6f 2d67 7561 7264 6564 6e65 7373 202d no-guardedness - │ │ │ +000493d0: 2d6c 6576 656c 2d75 6e69 7665 7273 6520 -level-universe │ │ │ +000493e0: 232d 7d0a 0a6d 6f64 756c 6520 4167 6461 #-}..module Agda │ │ │ +000493f0: 2e42 7569 6c74 696e 2e52 6566 6c65 6374 .Builtin.Reflect │ │ │ +00049400: 696f 6e2e 5072 6f70 6572 7469 6573 2077 ion.Properties w │ │ │ +00049410: 6865 7265 0a0a 6f70 656e 2069 6d70 6f72 here..open impor │ │ │ +00049420: 7420 4167 6461 2e42 7569 6c74 696e 2e52 t Agda.Builtin.R │ │ │ +00049430: 6566 6c65 6374 696f 6e0a 6f70 656e 2069 eflection.open i │ │ │ +00049440: 6d70 6f72 7420 4167 6461 2e42 7569 6c74 mport Agda.Built │ │ │ +00049450: 696e 2e45 7175 616c 6974 790a 0a70 7269 in.Equality..pri │ │ │ +00049460: 6d69 7469 7665 0a0a 2020 7072 696d 4d65 mitive.. primMe │ │ │ +00049470: 7461 546f 4e61 7449 6e6a 6563 7469 7665 taToNatInjective │ │ │ +00049480: 203a 20e2 8880 2061 2062 20e2 8692 2070 : ... a b ... p │ │ │ +00049490: 7269 6d4d 6574 6154 6f4e 6174 2061 20e2 rimMetaToNat a . │ │ │ +000494a0: 89a1 2070 7269 6d4d 6574 6154 6f4e 6174 .. primMetaToNat │ │ │ +000494b0: 2062 20e2 8692 2061 20e2 89a1 2062 0a20 b ... a ... b. │ │ │ +000494c0: 2070 7269 6d51 4e61 6d65 546f 576f 7264 primQNameToWord │ │ │ +000494d0: 3634 7349 6e6a 6563 7469 7665 203a 20e2 64sInjective : . │ │ │ +000494e0: 8880 2061 2062 20e2 8692 2070 7269 6d51 .. a b ... primQ │ │ │ +000494f0: 4e61 6d65 546f 576f 7264 3634 7320 6120 NameToWord64s a │ │ │ +00049500: e289 a120 7072 696d 514e 616d 6554 6f57 ... primQNameToW │ │ │ +00049510: 6f72 6436 3473 2062 20e2 8692 2061 20e2 ord64s b ... a . │ │ │ +00049520: 89a1 2062 0abf fe86 febb 8eae b14a 9cd7 .. b.........J.. │ │ │ +00049530: bf9a bafd d3e8 6500 db01 0004 9561 0520 ......e......a. │ │ │ +00049540: 0000 0100 0404 0803 0702 5e02 0000 030f ..........^..... │ │ │ +00049550: 0005 0505 0b5f 0b8a 020b 6109 0601 00ff ....._....a..... │ │ │ +00049560: 0396 efc1 aeeb f5c3 d2be 018b d6a2 a389 ................ │ │ │ +00049570: fcf8 f2dd 0100 8a02 0004 9793 0582 8080 ................ │ │ │ +00049580: e608 0000 0100 0304 0704 0200 0003 0f00 ................ │ │ │ +00049590: 0901 ff03 7b2d 2320 4f50 5449 4f4e 5320 ....{-# OPTIONS │ │ │ +000495a0: 2d2d 6375 6269 6361 6c2d 636f 6d70 6174 --cubical-compat │ │ │ +000495b0: 6962 6c65 202d 2d73 6166 6520 2d2d 6e6f ible --safe --no │ │ │ +000495c0: 2d73 697a 6564 2d74 7970 6573 202d 2d6e -sized-types --n │ │ │ +000495d0: 6f2d 6775 6172 6465 646e 6573 7320 2d2d o-guardedness -- │ │ │ +000495e0: 6c65 7665 6c2d 756e 6976 6572 7365 2023 level-universe # │ │ │ +000495f0: 2d7d 0a0a 6d6f 6475 6c65 2041 6764 612e -}..module Agda. │ │ │ +00049600: 4275 696c 7469 6e2e 5265 666c 6563 7469 Builtin.Reflecti │ │ │ +00049610: 6f6e 2e45 7874 6572 6e61 6c20 7768 6572 on.External wher │ │ │ +00049620: 650a 0a6f 7065 6e20 696d 706f 7274 2041 e..open import A │ │ │ +00049630: 6764 612e 4275 696c 7469 6e2e 4c69 7374 gda.Builtin.List │ │ │ +00049640: 0a6f 7065 6e20 696d 706f 7274 2041 6764 .open import Agd │ │ │ +00049650: 612e 4275 696c 7469 6e2e 4e61 740a 6f70 a.Builtin.Nat.op │ │ │ +00049660: 656e 2069 6d70 6f72 7420 4167 6461 2e42 en import Agda.B │ │ │ +00049670: 7569 6c74 696e 2e53 6967 6d61 0a6f 7065 uiltin.Sigma.ope │ │ │ +00049680: 6e20 696d 706f 7274 2041 6764 612e 4275 n import Agda.Bu │ │ │ +00049690: 696c 7469 6e2e 5374 7269 6e67 0a6f 7065 iltin.String.ope │ │ │ +000496a0: 6e20 696d 706f 7274 2041 6764 612e 4275 n import Agda.Bu │ │ │ +000496b0: 696c 7469 6e2e 5265 666c 6563 7469 6f6e iltin.Reflection │ │ │ +000496c0: 0a0a 706f 7374 756c 6174 650a 2020 6578 ..postulate. ex │ │ │ +000496d0: 6563 5443 203a 2053 7472 696e 6720 e286 ecTC : String .. │ │ │ +000496e0: 9220 4c69 7374 2053 7472 696e 6720 e286 . List String .. │ │ │ +000496f0: 9220 5374 7269 6e67 0a20 2020 2020 2020 . String. │ │ │ +00049700: 2020 e286 9220 5443 2028 cea3 204e 6174 ... TC (.. Nat │ │ │ +00049710: 2028 cebb 205f 20e2 8692 20ce a320 5374 (.. _ ... .. St │ │ │ +00049720: 7269 6e67 2028 cebb 205f 20e2 8692 2053 ring (.. _ ... S │ │ │ +00049730: 7472 696e 6729 2929 0a0a 7b2d 2320 4255 tring)))..{-# BU │ │ │ +00049740: 494c 5449 4e20 4147 4441 5443 4d45 5845 ILTIN AGDATCMEXE │ │ │ +00049750: 4320 6578 6563 5443 2023 2d7d 0a0a 7b2d C execTC #-}..{- │ │ │ +00049760: 2320 434f 4d50 494c 4520 4a53 2065 7865 # COMPILE JS exe │ │ │ +00049770: 6354 4320 3d20 5f20 3d3e 205f 203d 3e20 cTC = _ => _ => │ │ │ +00049780: 5f20 3d3e 2075 6e64 6566 696e 6564 2023 _ => undefined # │ │ │ +00049790: 2d7d 0ade 8b93 9eb2 fddc ffa5 01d6 ddef -}.............. │ │ │ +000497a0: 91c4 b7e6 f8b3 0100 d901 0004 97d2 0520 ............... │ │ │ +000497b0: 0000 0100 0404 0803 0702 5e02 0000 030f ..........^..... │ │ │ +000497c0: 0005 0505 0b5f 0b8b 020b 6109 0601 00d7 ....._....a..... │ │ │ +000497d0: a201 8396 c5d9 d3df bfdd 5b91 e6ce b5e6 ..........[..... │ │ │ +000497e0: f886 f6bd 0100 8b02 0004 e95c 0582 8080 ...........\.... │ │ │ +000497f0: e608 0000 0100 0304 0704 0200 0003 0f00 ................ │ │ │ +00049800: 0901 d7a2 017b 2d23 204f 5054 494f 4e53 .....{-# OPTIONS │ │ │ +00049810: 202d 2d63 7562 6963 616c 2d63 6f6d 7061 --cubical-compa │ │ │ +00049820: 7469 626c 6520 2d2d 7361 6665 202d 2d6e tible --safe --n │ │ │ +00049830: 6f2d 7369 7a65 642d 7479 7065 7320 2d2d o-sized-types -- │ │ │ +00049840: 6e6f 2d67 7561 7264 6564 6e65 7373 202d no-guardedness - │ │ │ +00049850: 2d6c 6576 656c 2d75 6e69 7665 7273 6520 -level-universe │ │ │ +00049860: 232d 7d0a 0a6d 6f64 756c 6520 4167 6461 #-}..module Agda │ │ │ +00049870: 2e42 7569 6c74 696e 2e52 6566 6c65 6374 .Builtin.Reflect │ │ │ +00049880: 696f 6e20 7768 6572 650a 0a6f 7065 6e20 ion where..open │ │ │ +00049890: 696d 706f 7274 2041 6764 612e 4275 696c import Agda.Buil │ │ │ +000498a0: 7469 6e2e 556e 6974 0a6f 7065 6e20 696d tin.Unit.open im │ │ │ +000498b0: 706f 7274 2041 6764 612e 4275 696c 7469 port Agda.Builti │ │ │ +000498c0: 6e2e 426f 6f6c 0a6f 7065 6e20 696d 706f n.Bool.open impo │ │ │ +000498d0: 7274 2041 6764 612e 4275 696c 7469 6e2e rt Agda.Builtin. │ │ │ +000498e0: 4e61 740a 6f70 656e 2069 6d70 6f72 7420 Nat.open import │ │ │ +000498f0: 4167 6461 2e42 7569 6c74 696e 2e57 6f72 Agda.Builtin.Wor │ │ │ +00049900: 640a 6f70 656e 2069 6d70 6f72 7420 4167 d.open import Ag │ │ │ +00049910: 6461 2e42 7569 6c74 696e 2e4c 6973 740a da.Builtin.List. │ │ │ +00049920: 6f70 656e 2069 6d70 6f72 7420 4167 6461 open import Agda │ │ │ +00049930: 2e42 7569 6c74 696e 2e53 7472 696e 670a .Builtin.String. │ │ │ +00049940: 6f70 656e 2069 6d70 6f72 7420 4167 6461 open import Agda │ │ │ +00049950: 2e42 7569 6c74 696e 2e43 6861 720a 6f70 .Builtin.Char.op │ │ │ +00049960: 656e 2069 6d70 6f72 7420 4167 6461 2e42 en import Agda.B │ │ │ +00049970: 7569 6c74 696e 2e46 6c6f 6174 0a6f 7065 uiltin.Float.ope │ │ │ +00049980: 6e20 696d 706f 7274 2041 6764 612e 4275 n import Agda.Bu │ │ │ +00049990: 696c 7469 6e2e 496e 740a 6f70 656e 2069 iltin.Int.open i │ │ │ +000499a0: 6d70 6f72 7420 4167 6461 2e42 7569 6c74 mport Agda.Built │ │ │ +000499b0: 696e 2e53 6967 6d61 0a6f 7065 6e20 696d in.Sigma.open im │ │ │ +000499c0: 706f 7274 2041 6764 612e 5072 696d 6974 port Agda.Primit │ │ │ +000499d0: 6976 650a 0a2d 2d20 4e61 6d65 7320 2d2d ive..-- Names -- │ │ │ +000499e0: 0a0a 706f 7374 756c 6174 6520 4e61 6d65 ..postulate Name │ │ │ +000499f0: 203a 2053 6574 0a7b 2d23 2042 5549 4c54 : Set.{-# BUILT │ │ │ +00049a00: 494e 2051 4e41 4d45 204e 616d 6520 232d IN QNAME Name #- │ │ │ +00049a10: 7d0a 0a70 7269 6d69 7469 7665 0a20 2070 }..primitive. p │ │ │ +00049a20: 7269 6d51 4e61 6d65 4571 7561 6c69 7479 rimQNameEquality │ │ │ +00049a30: 203a 204e 616d 6520 e286 9220 4e61 6d65 : Name ... Name │ │ │ +00049a40: 20e2 8692 2042 6f6f 6c0a 2020 7072 696d ... Bool. prim │ │ │ +00049a50: 514e 616d 654c 6573 7320 2020 2020 3a20 QNameLess : │ │ │ +00049a60: 4e61 6d65 20e2 8692 204e 616d 6520 e286 Name ... Name .. │ │ │ +00049a70: 9220 426f 6f6c 0a20 2070 7269 6d53 686f . Bool. primSho │ │ │ +00049a80: 7751 4e61 6d65 2020 2020 203a 204e 616d wQName : Nam │ │ │ +00049a90: 6520 e286 9220 5374 7269 6e67 0a0a 2d2d e ... String..-- │ │ │ +00049aa0: 2046 6978 6974 7920 2d2d 0a0a 6461 7461 Fixity --..data │ │ │ +00049ab0: 2041 7373 6f63 6961 7469 7669 7479 203a Associativity : │ │ │ +00049ac0: 2053 6574 2077 6865 7265 0a20 206c 6566 Set where. lef │ │ │ +00049ad0: 742d 6173 736f 6320 203a 2041 7373 6f63 t-assoc : Assoc │ │ │ +00049ae0: 6961 7469 7669 7479 0a20 2072 6967 6874 iativity. right │ │ │ +00049af0: 2d61 7373 6f63 203a 2041 7373 6f63 6961 -assoc : Associa │ │ │ +00049b00: 7469 7669 7479 0a20 206e 6f6e 2d61 7373 tivity. non-ass │ │ │ +00049b10: 6f63 2020 203a 2041 7373 6f63 6961 7469 oc : Associati │ │ │ +00049b20: 7669 7479 0a0a 6461 7461 2050 7265 6365 vity..data Prece │ │ │ +00049b30: 6465 6e63 6520 3a20 5365 7420 7768 6572 dence : Set wher │ │ │ +00049b40: 650a 2020 7265 6c61 7465 6420 2020 3a20 e. related : │ │ │ +00049b50: 466c 6f61 7420 e286 9220 5072 6563 6564 Float ... Preced │ │ │ +00049b60: 656e 6365 0a20 2075 6e72 656c 6174 6564 ence. unrelated │ │ │ +00049b70: 203a 2050 7265 6365 6465 6e63 650a 0a64 : Precedence..d │ │ │ +00049b80: 6174 6120 4669 7869 7479 203a 2053 6574 ata Fixity : Set │ │ │ +00049b90: 2077 6865 7265 0a20 2066 6978 6974 7920 where. fixity │ │ │ +00049ba0: 3a20 4173 736f 6369 6174 6976 6974 7920 : Associativity │ │ │ +00049bb0: e286 9220 5072 6563 6564 656e 6365 20e2 ... Precedence . │ │ │ +00049bc0: 8692 2046 6978 6974 790a 0a7b 2d23 2042 .. Fixity..{-# B │ │ │ +00049bd0: 5549 4c54 494e 2041 5353 4f43 2020 2020 UILTIN ASSOC │ │ │ +00049be0: 2020 4173 736f 6369 6174 6976 6974 7920 Associativity │ │ │ +00049bf0: 232d 7d0a 7b2d 2320 4255 494c 5449 4e20 #-}.{-# BUILTIN │ │ │ +00049c00: 4153 534f 434c 4546 5420 206c 6566 742d ASSOCLEFT left- │ │ │ +00049c10: 6173 736f 6320 2020 2023 2d7d 0a7b 2d23 assoc #-}.{-# │ │ │ +00049c20: 2042 5549 4c54 494e 2041 5353 4f43 5249 BUILTIN ASSOCRI │ │ │ +00049c30: 4748 5420 7269 6768 742d 6173 736f 6320 GHT right-assoc │ │ │ +00049c40: 2020 232d 7d0a 7b2d 2320 4255 494c 5449 #-}.{-# BUILTI │ │ │ +00049c50: 4e20 4153 534f 434e 4f4e 2020 206e 6f6e N ASSOCNON non │ │ │ +00049c60: 2d61 7373 6f63 2020 2020 2023 2d7d 0a0a -assoc #-}.. │ │ │ +00049c70: 7b2d 2320 4255 494c 5449 4e20 5052 4543 {-# BUILTIN PREC │ │ │ +00049c80: 4544 454e 4345 2020 2020 5072 6563 6564 EDENCE Preced │ │ │ +00049c90: 656e 6365 2023 2d7d 0a7b 2d23 2042 5549 ence #-}.{-# BUI │ │ │ +00049ca0: 4c54 494e 2050 5245 4352 454c 4154 4544 LTIN PRECRELATED │ │ │ +00049cb0: 2020 2072 656c 6174 6564 2020 2020 232d related #- │ │ │ +00049cc0: 7d0a 7b2d 2320 4255 494c 5449 4e20 5052 }.{-# BUILTIN PR │ │ │ +00049cd0: 4543 554e 5245 4c41 5445 4420 756e 7265 ECUNRELATED unre │ │ │ +00049ce0: 6c61 7465 6420 2023 2d7d 0a0a 7b2d 2320 lated #-}..{-# │ │ │ +00049cf0: 4255 494c 5449 4e20 4649 5849 5459 2020 BUILTIN FIXITY │ │ │ +00049d00: 2020 2020 2046 6978 6974 7920 232d 7d0a Fixity #-}. │ │ │ +00049d10: 7b2d 2320 4255 494c 5449 4e20 4649 5849 {-# BUILTIN FIXI │ │ │ +00049d20: 5459 4649 5849 5459 2066 6978 6974 7920 TYFIXITY fixity │ │ │ +00049d30: 232d 7d0a 0a7b 2d23 2043 4f4d 5049 4c45 #-}..{-# COMPILE │ │ │ +00049d40: 2047 4843 2041 7373 6f63 6961 7469 7669 GHC Associativi │ │ │ +00049d50: 7479 203d 2064 6174 6120 4d41 6c6f 6e7a ty = data MAlonz │ │ │ +00049d60: 6f2e 5254 452e 4173 736f 6320 284d 416c o.RTE.Assoc (MAl │ │ │ +00049d70: 6f6e 7a6f 2e52 5445 2e4c 6566 7441 7373 onzo.RTE.LeftAss │ │ │ +00049d80: 6f63 207c 204d 416c 6f6e 7a6f 2e52 5445 oc | MAlonzo.RTE │ │ │ +00049d90: 2e52 6967 6874 4173 736f 6320 7c20 4d41 .RightAssoc | MA │ │ │ +00049da0: 6c6f 6e7a 6f2e 5254 452e 4e6f 6e41 7373 lonzo.RTE.NonAss │ │ │ +00049db0: 6f63 2920 232d 7d0a 7b2d 2320 434f 4d50 oc) #-}.{-# COMP │ │ │ +00049dc0: 494c 4520 4748 4320 5072 6563 6564 656e ILE GHC Preceden │ │ │ +00049dd0: 6365 2020 2020 3d20 6461 7461 204d 416c ce = data MAl │ │ │ +00049de0: 6f6e 7a6f 2e52 5445 2e50 7265 6365 6465 onzo.RTE.Precede │ │ │ +00049df0: 6e63 6520 284d 416c 6f6e 7a6f 2e52 5445 nce (MAlonzo.RTE │ │ │ +00049e00: 2e52 656c 6174 6564 207c 204d 416c 6f6e .Related | MAlon │ │ │ +00049e10: 7a6f 2e52 5445 2e55 6e72 656c 6174 6564 zo.RTE.Unrelated │ │ │ +00049e20: 2920 232d 7d0a 7b2d 2320 434f 4d50 494c ) #-}.{-# COMPIL │ │ │ +00049e30: 4520 4748 4320 4669 7869 7479 2020 2020 E GHC Fixity │ │ │ +00049e40: 2020 2020 3d20 6461 7461 204d 416c 6f6e = data MAlon │ │ │ +00049e50: 7a6f 2e52 5445 2e46 6978 6974 7920 284d zo.RTE.Fixity (M │ │ │ +00049e60: 416c 6f6e 7a6f 2e52 5445 2e46 6978 6974 Alonzo.RTE.Fixit │ │ │ +00049e70: 7929 2023 2d7d 0a0a 7b2d 2320 434f 4d50 y) #-}..{-# COMP │ │ │ +00049e80: 494c 4520 4a53 2041 7373 6f63 6961 7469 ILE JS Associati │ │ │ +00049e90: 7669 7479 2020 3d20 6675 6e63 7469 6f6e vity = function │ │ │ +00049ea0: 2028 782c 7629 207b 2072 6574 7572 6e20 (x,v) { return │ │ │ +00049eb0: 765b 785d 2829 3b20 7d20 232d 7d0a 7b2d v[x](); } #-}.{- │ │ │ +00049ec0: 2320 434f 4d50 494c 4520 4a53 206c 6566 # COMPILE JS lef │ │ │ +00049ed0: 742d 6173 736f 6320 2020 2020 3d20 226c t-assoc = "l │ │ │ +00049ee0: 6566 742d 6173 736f 6322 2020 232d 7d0a eft-assoc" #-}. │ │ │ +00049ef0: 7b2d 2320 434f 4d50 494c 4520 4a53 2072 {-# COMPILE JS r │ │ │ +00049f00: 6967 6874 2d61 7373 6f63 2020 2020 3d20 ight-assoc = │ │ │ +00049f10: 2272 6967 6874 2d61 7373 6f63 2220 232d "right-assoc" #- │ │ │ +00049f20: 7d0a 7b2d 2320 434f 4d50 494c 4520 4a53 }.{-# COMPILE JS │ │ │ +00049f30: 206e 6f6e 2d61 7373 6f63 2020 2020 2020 non-assoc │ │ │ +00049f40: 3d20 226e 6f6e 2d61 7373 6f63 2220 2020 = "non-assoc" │ │ │ +00049f50: 232d 7d0a 0a7b 2d23 2043 4f4d 5049 4c45 #-}..{-# COMPILE │ │ │ +00049f60: 204a 5320 5072 6563 6564 656e 6365 2020 JS Precedence │ │ │ +00049f70: 2020 203d 0a20 2066 756e 6374 696f 6e20 =. function │ │ │ +00049f80: 2878 2c76 2920 7b0a 2020 2020 6966 2028 (x,v) {. if ( │ │ │ +00049f90: 7820 3d3d 3d20 2275 6e72 656c 6174 6564 x === "unrelated │ │ │ +00049fa0: 2229 207b 2072 6574 7572 6e20 765b 785d ") { return v[x] │ │ │ +00049fb0: 2829 3b20 7d20 656c 7365 207b 2072 6574 (); } else { ret │ │ │ +00049fc0: 7572 6e20 765b 2272 656c 6174 6564 225d urn v["related"] │ │ │ +00049fd0: 2878 293b 207d 7d20 232d 7d0a 7b2d 2320 (x); }} #-}.{-# │ │ │ +00049fe0: 434f 4d50 494c 4520 4a53 2072 656c 6174 COMPILE JS relat │ │ │ +00049ff0: 6564 2020 2020 2020 2020 3d20 6675 6e63 ed = func │ │ │ +0004a000: 7469 6f6e 2878 2920 7b20 7265 7475 726e tion(x) { return │ │ │ +0004a010: 2078 3b20 7d20 232d 7d0a 7b2d 2320 434f x; } #-}.{-# CO │ │ │ +0004a020: 4d50 494c 4520 4a53 2075 6e72 656c 6174 MPILE JS unrelat │ │ │ +0004a030: 6564 2020 2020 2020 3d20 2275 6e72 656c ed = "unrel │ │ │ +0004a040: 6174 6564 2220 2020 2020 2020 2020 2020 ated" │ │ │ +0004a050: 2020 2020 232d 7d0a 0a7b 2d23 2043 4f4d #-}..{-# COM │ │ │ +0004a060: 5049 4c45 204a 5320 4669 7869 7479 2020 PILE JS Fixity │ │ │ +0004a070: 2020 2020 2020 203d 2066 756e 6374 696f = functio │ │ │ +0004a080: 6e20 2878 2c76 2920 7b20 7265 7475 726e n (x,v) { return │ │ │ +0004a090: 2076 5b22 6669 7869 7479 225d 2878 5b22 v["fixity"](x[" │ │ │ +0004a0a0: 6173 736f 6322 5d2c 2078 5b22 7072 6563 assoc"], x["prec │ │ │ +0004a0b0: 225d 293b 207d 2023 2d7d 0a7b 2d23 2043 "]); } #-}.{-# C │ │ │ +0004a0c0: 4f4d 5049 4c45 204a 5320 6669 7869 7479 OMPILE JS fixity │ │ │ +0004a0d0: 2020 2020 2020 2020 203d 2066 756e 6374 = funct │ │ │ +0004a0e0: 696f 6e20 2878 2920 7b20 7265 7475 726e ion (x) { return │ │ │ +0004a0f0: 2066 756e 6374 696f 6e20 2879 2920 7b20 function (y) { │ │ │ +0004a100: 7265 7475 726e 207b 2022 6173 736f 6322 return { "assoc" │ │ │ +0004a110: 3a20 782c 2022 7072 6563 223a 2079 7d3b : x, "prec": y}; │ │ │ +0004a120: 207d 3b20 7d20 232d 7d0a 0a70 7269 6d69 }; } #-}..primi │ │ │ +0004a130: 7469 7665 0a20 2070 7269 6d51 4e61 6d65 tive. primQName │ │ │ +0004a140: 4669 7869 7479 203a 204e 616d 6520 e286 Fixity : Name .. │ │ │ +0004a150: 9220 4669 7869 7479 0a20 2070 7269 6d51 . Fixity. primQ │ │ │ +0004a160: 4e61 6d65 546f 576f 7264 3634 7320 3a20 NameToWord64s : │ │ │ +0004a170: 4e61 6d65 20e2 8692 20ce a320 576f 7264 Name ... .. Word │ │ │ +0004a180: 3634 2028 cebb 205f 20e2 8692 2057 6f72 64 (.. _ ... Wor │ │ │ +0004a190: 6436 3429 0a0a 2d2d 204d 6574 6176 6172 d64)..-- Metavar │ │ │ +0004a1a0: 6961 626c 6573 202d 2d0a 0a70 6f73 7475 iables --..postu │ │ │ +0004a1b0: 6c61 7465 204d 6574 6120 3a20 5365 740a late Meta : Set. │ │ │ +0004a1c0: 7b2d 2320 4255 494c 5449 4e20 4147 4441 {-# BUILTIN AGDA │ │ │ +0004a1d0: 4d45 5441 204d 6574 6120 232d 7d0a 0a70 META Meta #-}..p │ │ │ +0004a1e0: 7269 6d69 7469 7665 0a20 2070 7269 6d4d rimitive. primM │ │ │ +0004a1f0: 6574 6145 7175 616c 6974 7920 3a20 4d65 etaEquality : Me │ │ │ +0004a200: 7461 20e2 8692 204d 6574 6120 e286 9220 ta ... Meta ... │ │ │ +0004a210: 426f 6f6c 0a20 2070 7269 6d4d 6574 614c Bool. primMetaL │ │ │ +0004a220: 6573 7320 2020 2020 3a20 4d65 7461 20e2 ess : Meta . │ │ │ +0004a230: 8692 204d 6574 6120 e286 9220 426f 6f6c .. Meta ... Bool │ │ │ +0004a240: 0a20 2070 7269 6d53 686f 774d 6574 6120 . primShowMeta │ │ │ +0004a250: 2020 2020 3a20 4d65 7461 20e2 8692 2053 : Meta ... S │ │ │ +0004a260: 7472 696e 670a 2020 7072 696d 4d65 7461 tring. primMeta │ │ │ +0004a270: 546f 4e61 7420 2020 203a 204d 6574 6120 ToNat : Meta │ │ │ +0004a280: e286 9220 4e61 740a 0a2d 2d20 4172 6775 ... Nat..-- Argu │ │ │ +0004a290: 6d65 6e74 7320 2d2d 0a0a 2d2d 2041 7267 ments --..-- Arg │ │ │ +0004a2a0: 756d 656e 7473 2063 616e 2062 6520 2876 uments can be (v │ │ │ +0004a2b0: 6973 6962 6c65 292c 207b 6869 6464 656e isible), {hidden │ │ │ +0004a2c0: 7d2c 206f 7220 7b7b 696e 7374 616e 6365 }, or {{instance │ │ │ +0004a2d0: 7d7d 2e0a 6461 7461 2056 6973 6962 696c }}..data Visibil │ │ │ +0004a2e0: 6974 7920 3a20 5365 7420 7768 6572 650a ity : Set where. │ │ │ +0004a2f0: 2020 7669 7369 626c 6520 6869 6464 656e visible hidden │ │ │ +0004a300: 2069 6e73 7461 6e63 65e2 80b2 203a 2056 instance... : V │ │ │ +0004a310: 6973 6962 696c 6974 790a 0a7b 2d23 2042 isibility..{-# B │ │ │ +0004a320: 5549 4c54 494e 2048 4944 494e 4720 2020 UILTIN HIDING │ │ │ +0004a330: 5669 7369 6269 6c69 7479 2023 2d7d 0a7b Visibility #-}.{ │ │ │ +0004a340: 2d23 2042 5549 4c54 494e 2056 4953 4942 -# BUILTIN VISIB │ │ │ +0004a350: 4c45 2020 7669 7369 626c 6520 2020 2023 LE visible # │ │ │ +0004a360: 2d7d 0a7b 2d23 2042 5549 4c54 494e 2048 -}.{-# BUILTIN H │ │ │ +0004a370: 4944 4445 4e20 2020 6869 6464 656e 2020 IDDEN hidden │ │ │ +0004a380: 2020 2023 2d7d 0a7b 2d23 2042 5549 4c54 #-}.{-# BUILT │ │ │ +0004a390: 494e 2049 4e53 5441 4e43 4520 696e 7374 IN INSTANCE inst │ │ │ +0004a3a0: 616e 6365 e280 b220 2023 2d7d 0a0a 2d2d ance... #-}..-- │ │ │ +0004a3b0: 2041 7267 756d 656e 7473 2063 616e 2062 Arguments can b │ │ │ +0004a3c0: 6520 7265 6c65 7661 6e74 206f 7220 6972 e relevant or ir │ │ │ +0004a3d0: 7265 6c65 7661 6e74 2e0a 6461 7461 2052 relevant..data R │ │ │ +0004a3e0: 656c 6576 616e 6365 203a 2053 6574 2077 elevance : Set w │ │ │ +0004a3f0: 6865 7265 0a20 2072 656c 6576 616e 7420 here. relevant │ │ │ +0004a400: 6972 7265 6c65 7661 6e74 203a 2052 656c irrelevant : Rel │ │ │ +0004a410: 6576 616e 6365 0a0a 7b2d 2320 4255 494c evance..{-# BUIL │ │ │ +0004a420: 5449 4e20 5245 4c45 5641 4e43 4520 2052 TIN RELEVANCE R │ │ │ +0004a430: 656c 6576 616e 6365 2020 232d 7d0a 7b2d elevance #-}.{- │ │ │ +0004a440: 2320 4255 494c 5449 4e20 5245 4c45 5641 # BUILTIN RELEVA │ │ │ +0004a450: 4e54 2020 2072 656c 6576 616e 7420 2020 NT relevant │ │ │ +0004a460: 232d 7d0a 7b2d 2320 4255 494c 5449 4e20 #-}.{-# BUILTIN │ │ │ +0004a470: 4952 5245 4c45 5641 4e54 2069 7272 656c IRRELEVANT irrel │ │ │ +0004a480: 6576 616e 7420 232d 7d0a 0a2d 2d20 4172 evant #-}..-- Ar │ │ │ +0004a490: 6775 6d65 6e74 7320 616c 736f 2068 6176 guments also hav │ │ │ +0004a4a0: 6520 6120 7175 616e 7469 7479 2e0a 6461 e a quantity..da │ │ │ +0004a4b0: 7461 2051 7561 6e74 6974 7920 3a20 5365 ta Quantity : Se │ │ │ +0004a4c0: 7420 7768 6572 650a 2020 7175 616e 7469 t where. quanti │ │ │ +0004a4d0: 7479 2d30 2071 7561 6e74 6974 792d cf89 ty-0 quantity-.. │ │ │ +0004a4e0: 203a 2051 7561 6e74 6974 790a 0a7b 2d23 : Quantity..{-# │ │ │ +0004a4f0: 2042 5549 4c54 494e 2051 5541 4e54 4954 BUILTIN QUANTIT │ │ │ +0004a500: 5920 2020 5175 616e 7469 7479 2020 2023 Y Quantity # │ │ │ +0004a510: 2d7d 0a7b 2d23 2042 5549 4c54 494e 2051 -}.{-# BUILTIN Q │ │ │ +0004a520: 5541 4e54 4954 592d 3020 7175 616e 7469 UANTITY-0 quanti │ │ │ +0004a530: 7479 2d30 2023 2d7d 0a7b 2d23 2042 5549 ty-0 #-}.{-# BUI │ │ │ +0004a540: 4c54 494e 2051 5541 4e54 4954 592d cf89 LTIN QUANTITY-.. │ │ │ +0004a550: 2071 7561 6e74 6974 792d cf89 2023 2d7d quantity-.. #-} │ │ │ +0004a560: 0a0a 2d2d 2052 656c 6576 616e 6365 2061 ..-- Relevance a │ │ │ +0004a570: 6e64 2071 7561 6e74 6974 7920 6172 6520 nd quantity are │ │ │ +0004a580: 636f 6d62 696e 6564 2069 6e74 6f20 6120 combined into a │ │ │ +0004a590: 6d6f 6461 6c69 7479 2e0a 6461 7461 204d modality..data M │ │ │ +0004a5a0: 6f64 616c 6974 7920 3a20 5365 7420 7768 odality : Set wh │ │ │ +0004a5b0: 6572 650a 2020 6d6f 6461 6c69 7479 203a ere. modality : │ │ │ +0004a5c0: 2028 7220 3a20 5265 6c65 7661 6e63 6529 (r : Relevance) │ │ │ +0004a5d0: 2028 7120 3a20 5175 616e 7469 7479 2920 (q : Quantity) │ │ │ +0004a5e0: e286 9220 4d6f 6461 6c69 7479 0a0a 7b2d ... Modality..{- │ │ │ +0004a5f0: 2320 4255 494c 5449 4e20 4d4f 4441 4c49 # BUILTIN MODALI │ │ │ +0004a600: 5459 2020 2020 2020 2020 2020 2020 204d TY M │ │ │ +0004a610: 6f64 616c 6974 7920 232d 7d0a 7b2d 2320 odality #-}.{-# │ │ │ +0004a620: 4255 494c 5449 4e20 4d4f 4441 4c49 5459 BUILTIN MODALITY │ │ │ +0004a630: 2d43 4f4e 5354 5255 4354 4f52 206d 6f64 -CONSTRUCTOR mod │ │ │ +0004a640: 616c 6974 7920 232d 7d0a 0a64 6174 6120 ality #-}..data │ │ │ +0004a650: 4172 6749 6e66 6f20 3a20 5365 7420 7768 ArgInfo : Set wh │ │ │ +0004a660: 6572 650a 2020 6172 672d 696e 666f 203a ere. arg-info : │ │ │ +0004a670: 2028 7620 3a20 5669 7369 6269 6c69 7479 (v : Visibility │ │ │ +0004a680: 2920 286d 203a 204d 6f64 616c 6974 7929 ) (m : Modality) │ │ │ +0004a690: 20e2 8692 2041 7267 496e 666f 0a0a 6461 ... ArgInfo..da │ │ │ +0004a6a0: 7461 2041 7267 207b 617d 2028 4120 3a20 ta Arg {a} (A : │ │ │ +0004a6b0: 5365 7420 6129 203a 2053 6574 2061 2077 Set a) : Set a w │ │ │ +0004a6c0: 6865 7265 0a20 2061 7267 203a 2028 6920 here. arg : (i │ │ │ +0004a6d0: 3a20 4172 6749 6e66 6f29 2028 7820 3a20 : ArgInfo) (x : │ │ │ +0004a6e0: 4129 20e2 8692 2041 7267 2041 0a0a 7b2d A) ... Arg A..{- │ │ │ +0004a6f0: 2320 4255 494c 5449 4e20 4152 4749 4e46 # BUILTIN ARGINF │ │ │ +0004a700: 4f20 2020 2041 7267 496e 666f 2020 232d O ArgInfo #- │ │ │ +0004a710: 7d0a 7b2d 2320 4255 494c 5449 4e20 4152 }.{-# BUILTIN AR │ │ │ +0004a720: 4741 5247 494e 464f 2061 7267 2d69 6e66 GARGINFO arg-inf │ │ │ +0004a730: 6f20 232d 7d0a 7b2d 2320 4255 494c 5449 o #-}.{-# BUILTI │ │ │ +0004a740: 4e20 4152 4720 2020 2020 2020 2041 7267 N ARG Arg │ │ │ +0004a750: 2020 2020 2020 232d 7d0a 7b2d 2320 4255 #-}.{-# BU │ │ │ +0004a760: 494c 5449 4e20 4152 4741 5247 2020 2020 ILTIN ARGARG │ │ │ +0004a770: 2061 7267 2020 2020 2020 232d 7d0a 0a64 arg #-}..d │ │ │ +0004a780: 6174 6120 426c 6f63 6b65 7220 3a20 5365 ata Blocker : Se │ │ │ +0004a790: 7420 7768 6572 650a 2020 626c 6f63 6b65 t where. blocke │ │ │ +0004a7a0: 7241 6e79 2020 3a20 4c69 7374 2042 6c6f rAny : List Blo │ │ │ +0004a7b0: 636b 6572 20e2 8692 2042 6c6f 636b 6572 cker ... Blocker │ │ │ +0004a7c0: 0a20 2062 6c6f 636b 6572 416c 6c20 203a . blockerAll : │ │ │ +0004a7d0: 204c 6973 7420 426c 6f63 6b65 7220 e286 List Blocker .. │ │ │ +0004a7e0: 9220 426c 6f63 6b65 720a 2020 626c 6f63 . Blocker. bloc │ │ │ +0004a7f0: 6b65 724d 6574 6120 3a20 4d65 7461 20e2 kerMeta : Meta . │ │ │ +0004a800: 8692 2042 6c6f 636b 6572 0a0a 7b2d 2320 .. Blocker..{-# │ │ │ +0004a810: 4255 494c 5449 4e20 4147 4441 424c 4f43 BUILTIN AGDABLOC │ │ │ +0004a820: 4b45 5220 2020 2020 426c 6f63 6b65 7220 KER Blocker │ │ │ +0004a830: 232d 7d0a 7b2d 2320 4255 494c 5449 4e20 #-}.{-# BUILTIN │ │ │ +0004a840: 4147 4441 424c 4f43 4b45 5241 4e59 2020 AGDABLOCKERANY │ │ │ +0004a850: 626c 6f63 6b65 7241 6e79 2023 2d7d 0a7b blockerAny #-}.{ │ │ │ +0004a860: 2d23 2042 5549 4c54 494e 2041 4744 4142 -# BUILTIN AGDAB │ │ │ +0004a870: 4c4f 434b 4552 414c 4c20 2062 6c6f 636b LOCKERALL block │ │ │ +0004a880: 6572 416c 6c20 232d 7d0a 7b2d 2320 4255 erAll #-}.{-# BU │ │ │ +0004a890: 494c 5449 4e20 4147 4441 424c 4f43 4b45 ILTIN AGDABLOCKE │ │ │ +0004a8a0: 524d 4554 4120 626c 6f63 6b65 724d 6574 RMETA blockerMet │ │ │ +0004a8b0: 6120 232d 7d0a 0a2d 2d20 4e61 6d65 2061 a #-}..-- Name a │ │ │ +0004a8c0: 6273 7472 6163 7469 6f6e 202d 2d0a 0a64 bstraction --..d │ │ │ +0004a8d0: 6174 6120 4162 7320 7b61 7d20 2841 203a ata Abs {a} (A : │ │ │ +0004a8e0: 2053 6574 2061 2920 3a20 5365 7420 6120 Set a) : Set a │ │ │ +0004a8f0: 7768 6572 650a 2020 6162 7320 3a20 2873 where. abs : (s │ │ │ +0004a900: 203a 2053 7472 696e 6729 2028 7820 3a20 : String) (x : │ │ │ +0004a910: 4129 20e2 8692 2041 6273 2041 0a0a 7b2d A) ... Abs A..{- │ │ │ +0004a920: 2320 4255 494c 5449 4e20 4142 5320 2020 # BUILTIN ABS │ │ │ +0004a930: 2041 6273 2023 2d7d 0a7b 2d23 2042 5549 Abs #-}.{-# BUI │ │ │ +0004a940: 4c54 494e 2041 4253 4142 5320 6162 7320 LTIN ABSABS abs │ │ │ +0004a950: 232d 7d0a 0a2d 2d20 4c69 7465 7261 6c73 #-}..-- Literals │ │ │ +0004a960: 202d 2d0a 0a64 6174 6120 4c69 7465 7261 --..data Litera │ │ │ +0004a970: 6c20 3a20 5365 7420 7768 6572 650a 2020 l : Set where. │ │ │ +0004a980: 6e61 7420 2020 203a 2028 6e20 3a20 4e61 nat : (n : Na │ │ │ +0004a990: 7429 2020 2020 e286 9220 4c69 7465 7261 t) ... Litera │ │ │ +0004a9a0: 6c0a 2020 776f 7264 3634 203a 2028 6e20 l. word64 : (n │ │ │ +0004a9b0: 3a20 576f 7264 3634 2920 e286 9220 4c69 : Word64) ... Li │ │ │ +0004a9c0: 7465 7261 6c0a 2020 666c 6f61 7420 203a teral. float : │ │ │ +0004a9d0: 2028 7820 3a20 466c 6f61 7429 2020 e286 (x : Float) .. │ │ │ +0004a9e0: 9220 4c69 7465 7261 6c0a 2020 6368 6172 . Literal. char │ │ │ +0004a9f0: 2020 203a 2028 6320 3a20 4368 6172 2920 : (c : Char) │ │ │ +0004aa00: 2020 e286 9220 4c69 7465 7261 6c0a 2020 ... Literal. │ │ │ +0004aa10: 7374 7269 6e67 203a 2028 7320 3a20 5374 string : (s : St │ │ │ +0004aa20: 7269 6e67 2920 e286 9220 4c69 7465 7261 ring) ... Litera │ │ │ +0004aa30: 6c0a 2020 6e61 6d65 2020 203a 2028 7820 l. name : (x │ │ │ +0004aa40: 3a20 4e61 6d65 2920 2020 e286 9220 4c69 : Name) ... Li │ │ │ +0004aa50: 7465 7261 6c0a 2020 6d65 7461 2020 203a teral. meta : │ │ │ +0004aa60: 2028 7820 3a20 4d65 7461 2920 2020 e286 (x : Meta) .. │ │ │ +0004aa70: 9220 4c69 7465 7261 6c0a 0a7b 2d23 2042 . Literal..{-# B │ │ │ +0004aa80: 5549 4c54 494e 2041 4744 414c 4954 4552 UILTIN AGDALITER │ │ │ +0004aa90: 414c 2020 204c 6974 6572 616c 2023 2d7d AL Literal #-} │ │ │ +0004aaa0: 0a7b 2d23 2042 5549 4c54 494e 2041 4744 .{-# BUILTIN AGD │ │ │ +0004aab0: 414c 4954 4e41 5420 2020 206e 6174 2020 ALITNAT nat │ │ │ +0004aac0: 2020 2023 2d7d 0a7b 2d23 2042 5549 4c54 #-}.{-# BUILT │ │ │ +0004aad0: 494e 2041 4744 414c 4954 574f 5244 3634 IN AGDALITWORD64 │ │ │ +0004aae0: 2077 6f72 6436 3420 2023 2d7d 0a7b 2d23 word64 #-}.{-# │ │ │ +0004aaf0: 2042 5549 4c54 494e 2041 4744 414c 4954 BUILTIN AGDALIT │ │ │ +0004ab00: 464c 4f41 5420 2066 6c6f 6174 2020 2023 FLOAT float # │ │ │ +0004ab10: 2d7d 0a7b 2d23 2042 5549 4c54 494e 2041 -}.{-# BUILTIN A │ │ │ +0004ab20: 4744 414c 4954 4348 4152 2020 2063 6861 GDALITCHAR cha │ │ │ +0004ab30: 7220 2020 2023 2d7d 0a7b 2d23 2042 5549 r #-}.{-# BUI │ │ │ +0004ab40: 4c54 494e 2041 4744 414c 4954 5354 5249 LTIN AGDALITSTRI │ │ │ +0004ab50: 4e47 2073 7472 696e 6720 2023 2d7d 0a7b NG string #-}.{ │ │ │ +0004ab60: 2d23 2042 5549 4c54 494e 2041 4744 414c -# BUILTIN AGDAL │ │ │ +0004ab70: 4954 514e 414d 4520 206e 616d 6520 2020 ITQNAME name │ │ │ +0004ab80: 2023 2d7d 0a7b 2d23 2042 5549 4c54 494e #-}.{-# BUILTIN │ │ │ +0004ab90: 2041 4744 414c 4954 4d45 5441 2020 206d AGDALITMETA m │ │ │ +0004aba0: 6574 6120 2020 2023 2d7d 0a0a 0a2d 2d20 eta #-}...-- │ │ │ +0004abb0: 5465 726d 7320 616e 6420 7061 7474 6572 Terms and patter │ │ │ +0004abc0: 6e73 202d 2d0a 0a64 6174 6120 5465 726d ns --..data Term │ │ │ +0004abd0: 2020 2020 3a20 5365 740a 6461 7461 2053 : Set.data S │ │ │ +0004abe0: 6f72 7420 2020 203a 2053 6574 0a64 6174 ort : Set.dat │ │ │ +0004abf0: 6120 5061 7474 6572 6e20 3a20 5365 740a a Pattern : Set. │ │ │ +0004ac00: 6461 7461 2043 6c61 7573 6520 203a 2053 data Clause : S │ │ │ +0004ac10: 6574 0a54 7970 6520 3d20 5465 726d 0a54 et.Type = Term.T │ │ │ +0004ac20: 656c 6573 636f 7065 203d 204c 6973 7420 elescope = List │ │ │ +0004ac30: 28ce a320 5374 7269 6e67 20ce bb20 5f20 (.. String .. _ │ │ │ +0004ac40: e286 9220 4172 6720 5479 7065 290a 0a64 ... Arg Type)..d │ │ │ +0004ac50: 6174 6120 5465 726d 2077 6865 7265 0a20 ata Term where. │ │ │ +0004ac60: 2076 6172 2020 2020 2020 203a 2028 7820 var : (x │ │ │ +0004ac70: 3a20 4e61 7429 2028 6172 6773 203a 204c : Nat) (args : L │ │ │ +0004ac80: 6973 7420 2841 7267 2054 6572 6d29 2920 ist (Arg Term)) │ │ │ +0004ac90: e286 9220 5465 726d 0a20 2063 6f6e 2020 ... Term. con │ │ │ +0004aca0: 2020 2020 203a 2028 6320 3a20 4e61 6d65 : (c : Name │ │ │ +0004acb0: 2920 2861 7267 7320 3a20 4c69 7374 2028 ) (args : List ( │ │ │ +0004acc0: 4172 6720 5465 726d 2929 20e2 8692 2054 Arg Term)) ... T │ │ │ +0004acd0: 6572 6d0a 2020 6465 6620 2020 2020 2020 erm. def │ │ │ +0004ace0: 3a20 2866 203a 204e 616d 6529 2028 6172 : (f : Name) (ar │ │ │ +0004acf0: 6773 203a 204c 6973 7420 2841 7267 2054 gs : List (Arg T │ │ │ +0004ad00: 6572 6d29 2920 e286 9220 5465 726d 0a20 erm)) ... Term. │ │ │ +0004ad10: 206c 616d 2020 2020 2020 203a 2028 7620 lam : (v │ │ │ +0004ad20: 3a20 5669 7369 6269 6c69 7479 2920 2874 : Visibility) (t │ │ │ +0004ad30: 203a 2041 6273 2054 6572 6d29 20e2 8692 : Abs Term) ... │ │ │ +0004ad40: 2054 6572 6d0a 2020 7061 742d 6c61 6d20 Term. pat-lam │ │ │ +0004ad50: 2020 3a20 2863 7320 3a20 4c69 7374 2043 : (cs : List C │ │ │ +0004ad60: 6c61 7573 6529 2028 6172 6773 203a 204c lause) (args : L │ │ │ +0004ad70: 6973 7420 2841 7267 2054 6572 6d29 2920 ist (Arg Term)) │ │ │ +0004ad80: e286 9220 5465 726d 0a20 2070 6920 2020 ... Term. pi │ │ │ +0004ad90: 2020 2020 203a 2028 6120 3a20 4172 6720 : (a : Arg │ │ │ +0004ada0: 5479 7065 2920 2862 203a 2041 6273 2054 Type) (b : Abs T │ │ │ +0004adb0: 7970 6529 20e2 8692 2054 6572 6d0a 2020 ype) ... Term. │ │ │ +0004adc0: 6167 6461 2d73 6f72 7420 3a20 2873 203a agda-sort : (s : │ │ │ +0004add0: 2053 6f72 7429 20e2 8692 2054 6572 6d0a Sort) ... Term. │ │ │ +0004ade0: 2020 6c69 7420 2020 2020 2020 3a20 286c lit : (l │ │ │ +0004adf0: 203a 204c 6974 6572 616c 2920 e286 9220 : Literal) ... │ │ │ +0004ae00: 5465 726d 0a20 206d 6574 6120 2020 2020 Term. meta │ │ │ +0004ae10: 203a 2028 7820 3a20 4d65 7461 2920 e286 : (x : Meta) .. │ │ │ +0004ae20: 9220 4c69 7374 2028 4172 6720 5465 726d . List (Arg Term │ │ │ +0004ae30: 2920 e286 9220 5465 726d 0a20 2075 6e6b ) ... Term. unk │ │ │ +0004ae40: 6e6f 776e 2020 203a 2054 6572 6d0a 0a64 nown : Term..d │ │ │ +0004ae50: 6174 6120 536f 7274 2077 6865 7265 0a20 ata Sort where. │ │ │ +0004ae60: 2073 6574 2020 2020 203a 2028 7420 3a20 set : (t : │ │ │ +0004ae70: 5465 726d 2920 e286 9220 536f 7274 0a20 Term) ... Sort. │ │ │ +0004ae80: 206c 6974 2020 2020 203a 2028 6e20 3a20 lit : (n : │ │ │ +0004ae90: 4e61 7429 20e2 8692 2053 6f72 740a 2020 Nat) ... Sort. │ │ │ +0004aea0: 7072 6f70 2020 2020 3a20 2874 203a 2054 prop : (t : T │ │ │ +0004aeb0: 6572 6d29 20e2 8692 2053 6f72 740a 2020 erm) ... Sort. │ │ │ +0004aec0: 7072 6f70 4c69 7420 3a20 286e 203a 204e propLit : (n : N │ │ │ +0004aed0: 6174 2920 e286 9220 536f 7274 0a20 2069 at) ... Sort. i │ │ │ +0004aee0: 6e66 2020 2020 203a 2028 6e20 3a20 4e61 nf : (n : Na │ │ │ +0004aef0: 7429 20e2 8692 2053 6f72 740a 2020 756e t) ... Sort. un │ │ │ +0004af00: 6b6e 6f77 6e20 3a20 536f 7274 0a0a 6461 known : Sort..da │ │ │ +0004af10: 7461 2050 6174 7465 726e 2077 6865 7265 ta Pattern where │ │ │ +0004af20: 0a20 2063 6f6e 2020 2020 3a20 2863 203a . con : (c : │ │ │ +0004af30: 204e 616d 6529 2028 7073 203a 204c 6973 Name) (ps : Lis │ │ │ +0004af40: 7420 2841 7267 2050 6174 7465 726e 2929 t (Arg Pattern)) │ │ │ +0004af50: 20e2 8692 2050 6174 7465 726e 0a20 2064 ... Pattern. d │ │ │ +0004af60: 6f74 2020 2020 3a20 2874 203a 2054 6572 ot : (t : Ter │ │ │ +0004af70: 6d29 2020 2020 e286 9220 5061 7474 6572 m) ... Patter │ │ │ +0004af80: 6e0a 2020 7661 7220 2020 203a 2028 7820 n. var : (x │ │ │ +0004af90: 3a20 4e61 7429 2020 2020 20e2 8692 2050 : Nat) ... P │ │ │ +0004afa0: 6174 7465 726e 0a20 206c 6974 2020 2020 attern. lit │ │ │ +0004afb0: 3a20 286c 203a 204c 6974 6572 616c 2920 : (l : Literal) │ │ │ +0004afc0: e286 9220 5061 7474 6572 6e0a 2020 7072 ... Pattern. pr │ │ │ +0004afd0: 6f6a 2020 203a 2028 6620 3a20 4e61 6d65 oj : (f : Name │ │ │ +0004afe0: 2920 2020 20e2 8692 2050 6174 7465 726e ) ... Pattern │ │ │ +0004aff0: 0a20 2061 6273 7572 6420 3a20 2878 203a . absurd : (x : │ │ │ +0004b000: 204e 6174 2920 2020 2020 e286 9220 5061 Nat) ... Pa │ │ │ +0004b010: 7474 6572 6e20 202d 2d20 6162 7375 7264 ttern -- absurd │ │ │ +0004b020: 2070 6174 7465 726e 7320 636f 756e 7473 patterns counts │ │ │ +0004b030: 2061 7320 7661 7269 6162 6c65 730a 0a64 as variables..d │ │ │ +0004b040: 6174 6120 436c 6175 7365 2077 6865 7265 ata Clause where │ │ │ +0004b050: 0a20 2063 6c61 7573 6520 2020 2020 2020 . clause │ │ │ +0004b060: 203a 2028 7465 6c20 3a20 5465 6c65 7363 : (tel : Telesc │ │ │ +0004b070: 6f70 6529 2028 7073 203a 204c 6973 7420 ope) (ps : List │ │ │ +0004b080: 2841 7267 2050 6174 7465 726e 2929 2028 (Arg Pattern)) ( │ │ │ +0004b090: 7420 3a20 5465 726d 2920 e286 9220 436c t : Term) ... Cl │ │ │ +0004b0a0: 6175 7365 0a20 2061 6273 7572 642d 636c ause. absurd-cl │ │ │ +0004b0b0: 6175 7365 203a 2028 7465 6c20 3a20 5465 ause : (tel : Te │ │ │ +0004b0c0: 6c65 7363 6f70 6529 2028 7073 203a 204c lescope) (ps : L │ │ │ +0004b0d0: 6973 7420 2841 7267 2050 6174 7465 726e ist (Arg Pattern │ │ │ +0004b0e0: 2929 20e2 8692 2043 6c61 7573 650a 0a7b )) ... Clause..{ │ │ │ +0004b0f0: 2d23 2042 5549 4c54 494e 2041 4744 4154 -# BUILTIN AGDAT │ │ │ +0004b100: 4552 4d20 2020 2020 2054 6572 6d20 2020 ERM Term │ │ │ +0004b110: 2023 2d7d 0a7b 2d23 2042 5549 4c54 494e #-}.{-# BUILTIN │ │ │ +0004b120: 2041 4744 4153 4f52 5420 2020 2020 2053 AGDASORT S │ │ │ +0004b130: 6f72 7420 2020 2023 2d7d 0a7b 2d23 2042 ort #-}.{-# B │ │ │ +0004b140: 5549 4c54 494e 2041 4744 4150 4154 5445 UILTIN AGDAPATTE │ │ │ +0004b150: 524e 2020 2050 6174 7465 726e 2023 2d7d RN Pattern #-} │ │ │ +0004b160: 0a7b 2d23 2042 5549 4c54 494e 2041 4744 .{-# BUILTIN AGD │ │ │ +0004b170: 4143 4c41 5553 4520 2020 2043 6c61 7573 ACLAUSE Claus │ │ │ +0004b180: 6520 2023 2d7d 0a0a 7b2d 2320 4255 494c e #-}..{-# BUIL │ │ │ +0004b190: 5449 4e20 4147 4441 5445 524d 5641 5220 TIN AGDATERMVAR │ │ │ +0004b1a0: 2020 2020 2020 2020 7661 7220 2020 2020 var │ │ │ +0004b1b0: 2020 232d 7d0a 7b2d 2320 4255 494c 5449 #-}.{-# BUILTI │ │ │ +0004b1c0: 4e20 4147 4441 5445 524d 434f 4e20 2020 N AGDATERMCON │ │ │ +0004b1d0: 2020 2020 2020 636f 6e20 2020 2020 2020 con │ │ │ +0004b1e0: 232d 7d0a 7b2d 2320 4255 494c 5449 4e20 #-}.{-# BUILTIN │ │ │ +0004b1f0: 4147 4441 5445 524d 4445 4620 2020 2020 AGDATERMDEF │ │ │ +0004b200: 2020 2020 6465 6620 2020 2020 2020 232d def #- │ │ │ +0004b210: 7d0a 7b2d 2320 4255 494c 5449 4e20 4147 }.{-# BUILTIN AG │ │ │ +0004b220: 4441 5445 524d 4d45 5441 2020 2020 2020 DATERMMETA │ │ │ +0004b230: 2020 6d65 7461 2020 2020 2020 232d 7d0a meta #-}. │ │ │ +0004b240: 7b2d 2320 4255 494c 5449 4e20 4147 4441 {-# BUILTIN AGDA │ │ │ +0004b250: 5445 524d 4c41 4d20 2020 2020 2020 2020 TERMLAM │ │ │ +0004b260: 6c61 6d20 2020 2020 2020 232d 7d0a 7b2d lam #-}.{- │ │ │ +0004b270: 2320 4255 494c 5449 4e20 4147 4441 5445 # BUILTIN AGDATE │ │ │ +0004b280: 524d 4558 544c 414d 2020 2020 2020 7061 RMEXTLAM pa │ │ │ +0004b290: 742d 6c61 6d20 2020 232d 7d0a 7b2d 2320 t-lam #-}.{-# │ │ │ +0004b2a0: 4255 494c 5449 4e20 4147 4441 5445 524d BUILTIN AGDATERM │ │ │ +0004b2b0: 5049 2020 2020 2020 2020 2020 7069 2020 PI pi │ │ │ +0004b2c0: 2020 2020 2020 232d 7d0a 7b2d 2320 4255 #-}.{-# BU │ │ │ +0004b2d0: 494c 5449 4e20 4147 4441 5445 524d 534f ILTIN AGDATERMSO │ │ │ +0004b2e0: 5254 2020 2020 2020 2020 6167 6461 2d73 RT agda-s │ │ │ +0004b2f0: 6f72 7420 232d 7d0a 7b2d 2320 4255 494c ort #-}.{-# BUIL │ │ │ +0004b300: 5449 4e20 4147 4441 5445 524d 4c49 5420 TIN AGDATERMLIT │ │ │ +0004b310: 2020 2020 2020 2020 6c69 7420 2020 2020 lit │ │ │ +0004b320: 2020 232d 7d0a 7b2d 2320 4255 494c 5449 #-}.{-# BUILTI │ │ │ +0004b330: 4e20 4147 4441 5445 524d 554e 5355 5050 N AGDATERMUNSUPP │ │ │ +0004b340: 4f52 5445 4420 756e 6b6e 6f77 6e20 2020 ORTED unknown │ │ │ +0004b350: 232d 7d0a 0a7b 2d23 2042 5549 4c54 494e #-}..{-# BUILTIN │ │ │ +0004b360: 2041 4744 4153 4f52 5453 4554 2020 2020 AGDASORTSET │ │ │ +0004b370: 2020 2020 2073 6574 2020 2020 2023 2d7d set #-} │ │ │ +0004b380: 0a7b 2d23 2042 5549 4c54 494e 2041 4744 .{-# BUILTIN AGD │ │ │ +0004b390: 4153 4f52 544c 4954 2020 2020 2020 2020 ASORTLIT │ │ │ +0004b3a0: 206c 6974 2020 2020 2023 2d7d 0a7b 2d23 lit #-}.{-# │ │ │ +0004b3b0: 2042 5549 4c54 494e 2041 4744 4153 4f52 BUILTIN AGDASOR │ │ │ +0004b3c0: 5450 524f 5020 2020 2020 2020 2070 726f TPROP pro │ │ │ +0004b3d0: 7020 2020 2023 2d7d 0a7b 2d23 2042 5549 p #-}.{-# BUI │ │ │ +0004b3e0: 4c54 494e 2041 4744 4153 4f52 5450 524f LTIN AGDASORTPRO │ │ │ +0004b3f0: 504c 4954 2020 2020 2070 726f 704c 6974 PLIT propLit │ │ │ +0004b400: 2023 2d7d 0a7b 2d23 2042 5549 4c54 494e #-}.{-# BUILTIN │ │ │ +0004b410: 2041 4744 4153 4f52 5449 4e46 2020 2020 AGDASORTINF │ │ │ +0004b420: 2020 2020 2069 6e66 2020 2020 2023 2d7d inf #-} │ │ │ +0004b430: 0a7b 2d23 2042 5549 4c54 494e 2041 4744 .{-# BUILTIN AGD │ │ │ +0004b440: 4153 4f52 5455 4e53 5550 504f 5254 4544 ASORTUNSUPPORTED │ │ │ +0004b450: 2075 6e6b 6e6f 776e 2023 2d7d 0a0a 7b2d unknown #-}..{- │ │ │ +0004b460: 2320 4255 494c 5449 4e20 4147 4441 5041 # BUILTIN AGDAPA │ │ │ +0004b470: 5443 4f4e 2020 2020 636f 6e20 2020 2020 TCON con │ │ │ +0004b480: 232d 7d0a 7b2d 2320 4255 494c 5449 4e20 #-}.{-# BUILTIN │ │ │ +0004b490: 4147 4441 5041 5444 4f54 2020 2020 646f AGDAPATDOT do │ │ │ +0004b4a0: 7420 2020 2020 232d 7d0a 7b2d 2320 4255 t #-}.{-# BU │ │ │ +0004b4b0: 494c 5449 4e20 4147 4441 5041 5456 4152 ILTIN AGDAPATVAR │ │ │ +0004b4c0: 2020 2020 7661 7220 2020 2020 232d 7d0a var #-}. │ │ │ +0004b4d0: 7b2d 2320 4255 494c 5449 4e20 4147 4441 {-# BUILTIN AGDA │ │ │ +0004b4e0: 5041 544c 4954 2020 2020 6c69 7420 2020 PATLIT lit │ │ │ +0004b4f0: 2020 232d 7d0a 7b2d 2320 4255 494c 5449 #-}.{-# BUILTI │ │ │ +0004b500: 4e20 4147 4441 5041 5450 524f 4a20 2020 N AGDAPATPROJ │ │ │ +0004b510: 7072 6f6a 2020 2020 232d 7d0a 7b2d 2320 proj #-}.{-# │ │ │ +0004b520: 4255 494c 5449 4e20 4147 4441 5041 5441 BUILTIN AGDAPATA │ │ │ +0004b530: 4253 5552 4420 6162 7375 7264 2020 232d BSURD absurd #- │ │ │ +0004b540: 7d0a 0a7b 2d23 2042 5549 4c54 494e 2041 }..{-# BUILTIN A │ │ │ +0004b550: 4744 4143 4c41 5553 4543 4c41 5553 4520 GDACLAUSECLAUSE │ │ │ +0004b560: 636c 6175 7365 2020 2020 2020 2020 232d clause #- │ │ │ +0004b570: 7d0a 7b2d 2320 4255 494c 5449 4e20 4147 }.{-# BUILTIN AG │ │ │ +0004b580: 4441 434c 4155 5345 4142 5355 5244 2061 DACLAUSEABSURD a │ │ │ +0004b590: 6273 7572 642d 636c 6175 7365 2023 2d7d bsurd-clause #-} │ │ │ +0004b5a0: 0a0a 2d2d 2044 6566 696e 6974 696f 6e73 ..-- Definitions │ │ │ +0004b5b0: 202d 2d0a 0a64 6174 6120 4465 6669 6e69 --..data Defini │ │ │ +0004b5c0: 7469 6f6e 203a 2053 6574 2077 6865 7265 tion : Set where │ │ │ +0004b5d0: 0a20 2066 756e 6374 696f 6e20 2020 203a . function : │ │ │ +0004b5e0: 2028 6373 203a 204c 6973 7420 436c 6175 (cs : List Clau │ │ │ +0004b5f0: 7365 2920 e286 9220 4465 6669 6e69 7469 se) ... Definiti │ │ │ +0004b600: 6f6e 0a20 2064 6174 612d 7479 7065 2020 on. data-type │ │ │ +0004b610: 203a 2028 7061 7273 203a 204e 6174 2920 : (pars : Nat) │ │ │ +0004b620: 2863 7320 3a20 4c69 7374 204e 616d 6529 (cs : List Name) │ │ │ +0004b630: 20e2 8692 2044 6566 696e 6974 696f 6e0a ... Definition. │ │ │ +0004b640: 2020 7265 636f 7264 2d74 7970 6520 3a20 record-type : │ │ │ +0004b650: 2863 203a 204e 616d 6529 2028 6673 203a (c : Name) (fs : │ │ │ +0004b660: 204c 6973 7420 2841 7267 204e 616d 6529 List (Arg Name) │ │ │ +0004b670: 2920 e286 9220 4465 6669 6e69 7469 6f6e ) ... Definition │ │ │ +0004b680: 0a20 2064 6174 612d 636f 6e73 2020 203a . data-cons : │ │ │ +0004b690: 2028 6420 3a20 4e61 6d65 2920 2871 203a (d : Name) (q : │ │ │ +0004b6a0: 2051 7561 6e74 6974 7929 20e2 8692 2044 Quantity) ... D │ │ │ +0004b6b0: 6566 696e 6974 696f 6e0a 2020 6178 696f efinition. axio │ │ │ +0004b6c0: 6d20 2020 2020 2020 3a20 4465 6669 6e69 m : Defini │ │ │ +0004b6d0: 7469 6f6e 0a20 2070 7269 6d2d 6675 6e20 tion. prim-fun │ │ │ +0004b6e0: 2020 203a 2044 6566 696e 6974 696f 6e0a : Definition. │ │ │ +0004b6f0: 0a7b 2d23 2042 5549 4c54 494e 2041 4744 .{-# BUILTIN AGD │ │ │ +0004b700: 4144 4546 494e 4954 494f 4e20 2020 2020 ADEFINITION │ │ │ +0004b710: 2020 2020 2020 2020 2020 2044 6566 696e Defin │ │ │ +0004b720: 6974 696f 6e20 2023 2d7d 0a7b 2d23 2042 ition #-}.{-# B │ │ │ +0004b730: 5549 4c54 494e 2041 4744 4144 4546 494e UILTIN AGDADEFIN │ │ │ +0004b740: 4954 494f 4e46 554e 4445 4620 2020 2020 ITIONFUNDEF │ │ │ +0004b750: 2020 2020 2066 756e 6374 696f 6e20 2020 function │ │ │ +0004b760: 2023 2d7d 0a7b 2d23 2042 5549 4c54 494e #-}.{-# BUILTIN │ │ │ +0004b770: 2041 4744 4144 4546 494e 4954 494f 4e44 AGDADEFINITIOND │ │ │ +0004b780: 4154 4144 4546 2020 2020 2020 2020 2064 ATADEF d │ │ │ +0004b790: 6174 612d 7479 7065 2020 2023 2d7d 0a7b ata-type #-}.{ │ │ │ +0004b7a0: 2d23 2042 5549 4c54 494e 2041 4744 4144 -# BUILTIN AGDAD │ │ │ +0004b7b0: 4546 494e 4954 494f 4e52 4543 4f52 4444 EFINITIONRECORDD │ │ │ +0004b7c0: 4546 2020 2020 2020 2072 6563 6f72 642d EF record- │ │ │ +0004b7d0: 7479 7065 2023 2d7d 0a7b 2d23 2042 5549 type #-}.{-# BUI │ │ │ +0004b7e0: 4c54 494e 2041 4744 4144 4546 494e 4954 LTIN AGDADEFINIT │ │ │ +0004b7f0: 494f 4e44 4154 4143 4f4e 5354 5255 4354 IONDATACONSTRUCT │ │ │ +0004b800: 4f52 2064 6174 612d 636f 6e73 2020 2023 OR data-cons # │ │ │ +0004b810: 2d7d 0a7b 2d23 2042 5549 4c54 494e 2041 -}.{-# BUILTIN A │ │ │ +0004b820: 4744 4144 4546 494e 4954 494f 4e50 4f53 GDADEFINITIONPOS │ │ │ +0004b830: 5455 4c41 5445 2020 2020 2020 2061 7869 TULATE axi │ │ │ +0004b840: 6f6d 2020 2020 2020 2023 2d7d 0a7b 2d23 om #-}.{-# │ │ │ +0004b850: 2042 5549 4c54 494e 2041 4744 4144 4546 BUILTIN AGDADEF │ │ │ +0004b860: 494e 4954 494f 4e50 5249 4d49 5449 5645 INITIONPRIMITIVE │ │ │ +0004b870: 2020 2020 2020 2070 7269 6d2d 6675 6e20 prim-fun │ │ │ +0004b880: 2020 2023 2d7d 0a0a 2d2d 2045 7272 6f72 #-}..-- Error │ │ │ +0004b890: 7320 2d2d 0a0a 6461 7461 2045 7272 6f72 s --..data Error │ │ │ +0004b8a0: 5061 7274 203a 2053 6574 2077 6865 7265 Part : Set where │ │ │ +0004b8b0: 0a20 2073 7472 4572 7220 203a 2053 7472 . strErr : Str │ │ │ +0004b8c0: 696e 6720 e286 9220 4572 726f 7250 6172 ing ... ErrorPar │ │ │ +0004b8d0: 740a 2020 7465 726d 4572 7220 3a20 5465 t. termErr : Te │ │ │ +0004b8e0: 726d 20e2 8692 2045 7272 6f72 5061 7274 rm ... ErrorPart │ │ │ +0004b8f0: 0a20 2070 6174 7445 7272 203a 2050 6174 . pattErr : Pat │ │ │ +0004b900: 7465 726e 20e2 8692 2045 7272 6f72 5061 tern ... ErrorPa │ │ │ +0004b910: 7274 0a20 206e 616d 6545 7272 203a 204e rt. nameErr : N │ │ │ +0004b920: 616d 6520 e286 9220 4572 726f 7250 6172 ame ... ErrorPar │ │ │ +0004b930: 740a 0a7b 2d23 2042 5549 4c54 494e 2041 t..{-# BUILTIN A │ │ │ +0004b940: 4744 4145 5252 4f52 5041 5254 2020 2020 GDAERRORPART │ │ │ +0004b950: 2020 2045 7272 6f72 5061 7274 2023 2d7d ErrorPart #-} │ │ │ +0004b960: 0a7b 2d23 2042 5549 4c54 494e 2041 4744 .{-# BUILTIN AGD │ │ │ +0004b970: 4145 5252 4f52 5041 5254 5354 5249 4e47 AERRORPARTSTRING │ │ │ +0004b980: 2073 7472 4572 7220 2020 2023 2d7d 0a7b strErr #-}.{ │ │ │ +0004b990: 2d23 2042 5549 4c54 494e 2041 4744 4145 -# BUILTIN AGDAE │ │ │ +0004b9a0: 5252 4f52 5041 5254 5445 524d 2020 2074 RRORPARTTERM t │ │ │ +0004b9b0: 6572 6d45 7272 2020 2023 2d7d 0a7b 2d23 ermErr #-}.{-# │ │ │ +0004b9c0: 2042 5549 4c54 494e 2041 4744 4145 5252 BUILTIN AGDAERR │ │ │ +0004b9d0: 4f52 5041 5254 5041 5454 2020 2070 6174 ORPARTPATT pat │ │ │ +0004b9e0: 7445 7272 2020 2023 2d7d 0a7b 2d23 2042 tErr #-}.{-# B │ │ │ +0004b9f0: 5549 4c54 494e 2041 4744 4145 5252 4f52 UILTIN AGDAERROR │ │ │ +0004ba00: 5041 5254 4e41 4d45 2020 206e 616d 6545 PARTNAME nameE │ │ │ +0004ba10: 7272 2020 2023 2d7d 0a0a 2d2d 2054 4320 rr #-}..-- TC │ │ │ +0004ba20: 6d6f 6e61 6420 2d2d 0a0a 706f 7374 756c monad --..postul │ │ │ +0004ba30: 6174 650a 2020 5443 2020 2020 2020 2020 ate. TC │ │ │ +0004ba40: 2020 2020 2020 203a 20e2 8880 207b 617d : ... {a} │ │ │ +0004ba50: 20e2 8692 2053 6574 2061 20e2 8692 2053 ... Set a ... S │ │ │ +0004ba60: 6574 2061 0a20 2072 6574 7572 6e54 4320 et a. returnTC │ │ │ +0004ba70: 2020 2020 2020 2020 3a20 e288 8020 7b61 : ... {a │ │ │ +0004ba80: 7d20 7b41 203a 2053 6574 2061 7d20 e286 } {A : Set a} .. │ │ │ +0004ba90: 9220 4120 e286 9220 5443 2041 0a20 2062 . A ... TC A. b │ │ │ +0004baa0: 696e 6454 4320 2020 2020 2020 2020 2020 indTC │ │ │ +0004bab0: 3a20 e288 8020 7b61 2062 7d20 7b41 203a : ... {a b} {A : │ │ │ +0004bac0: 2053 6574 2061 7d20 7b42 203a 2053 6574 Set a} {B : Set │ │ │ +0004bad0: 2062 7d20 e286 9220 5443 2041 20e2 8692 b} ... TC A ... │ │ │ +0004bae0: 2028 4120 e286 9220 5443 2042 2920 e286 (A ... TC B) .. │ │ │ +0004baf0: 9220 5443 2042 0a20 2075 6e69 6679 2020 . TC B. unify │ │ │ +0004bb00: 2020 2020 2020 2020 2020 3a20 5465 726d : Term │ │ │ +0004bb10: 20e2 8692 2054 6572 6d20 e286 9220 5443 ... Term ... TC │ │ │ +0004bb20: 20e2 8aa4 0a20 2074 7970 6545 7272 6f72 .... typeError │ │ │ +0004bb30: 2020 2020 2020 2020 3a20 e288 8020 7b61 : ... {a │ │ │ +0004bb40: 7d20 7b41 203a 2053 6574 2061 7d20 e286 } {A : Set a} .. │ │ │ +0004bb50: 9220 4c69 7374 2045 7272 6f72 5061 7274 . List ErrorPart │ │ │ +0004bb60: 20e2 8692 2054 4320 410a 2020 696e 6665 ... TC A. infe │ │ │ +0004bb70: 7254 7970 6520 2020 2020 2020 203a 2054 rType : T │ │ │ +0004bb80: 6572 6d20 e286 9220 5443 2054 7970 650a erm ... TC Type. │ │ │ +0004bb90: 2020 6368 6563 6b54 7970 6520 2020 2020 checkType │ │ │ +0004bba0: 2020 203a 2054 6572 6d20 e286 9220 5479 : Term ... Ty │ │ │ +0004bbb0: 7065 20e2 8692 2054 4320 5465 726d 0a20 pe ... TC Term. │ │ │ +0004bbc0: 206e 6f72 6d61 6c69 7365 2020 2020 2020 normalise │ │ │ +0004bbd0: 2020 3a20 5465 726d 20e2 8692 2054 4320 : Term ... TC │ │ │ +0004bbe0: 5465 726d 0a20 2072 6564 7563 6520 2020 Term. reduce │ │ │ +0004bbf0: 2020 2020 2020 2020 3a20 5465 726d 20e2 : Term . │ │ │ +0004bc00: 8692 2054 4320 5465 726d 0a20 2063 6174 .. TC Term. cat │ │ │ +0004bc10: 6368 5443 2020 2020 2020 2020 2020 3a20 chTC : │ │ │ +0004bc20: e288 8020 7b61 7d20 7b41 203a 2053 6574 ... {a} {A : Set │ │ │ +0004bc30: 2061 7d20 e286 9220 5443 2041 20e2 8692 a} ... TC A ... │ │ │ +0004bc40: 2054 4320 4120 e286 9220 5443 2041 0a20 TC A ... TC A. │ │ │ +0004bc50: 2071 756f 7465 5443 2020 2020 2020 2020 quoteTC │ │ │ +0004bc60: 2020 3a20 e288 8020 7b61 7d20 7b41 203a : ... {a} {A : │ │ │ +0004bc70: 2053 6574 2061 7d20 e286 9220 4120 e286 Set a} ... A .. │ │ │ +0004bc80: 9220 5443 2054 6572 6d0a 2020 756e 7175 . TC Term. unqu │ │ │ +0004bc90: 6f74 6554 4320 2020 2020 2020 203a 20e2 oteTC : . │ │ │ +0004bca0: 8880 207b 617d 207b 4120 3a20 5365 7420 .. {a} {A : Set │ │ │ +0004bcb0: 617d 20e2 8692 2054 6572 6d20 e286 9220 a} ... Term ... │ │ │ +0004bcc0: 5443 2041 0a20 2071 756f 7465 cf89 5443 TC A. quote..TC │ │ │ +0004bcd0: 2020 2020 2020 2020 203a 20e2 8880 207b : ... { │ │ │ +0004bce0: 4120 3a20 5365 74cf 897d 20e2 8692 2041 A : Set..} ... A │ │ │ +0004bcf0: 20e2 8692 2054 4320 5465 726d 0a20 2067 ... TC Term. g │ │ │ +0004bd00: 6574 436f 6e74 6578 7420 2020 2020 2020 etContext │ │ │ +0004bd10: 3a20 5443 2054 656c 6573 636f 7065 0a20 : TC Telescope. │ │ │ +0004bd20: 2065 7874 656e 6443 6f6e 7465 7874 2020 extendContext │ │ │ +0004bd30: 2020 3a20 e288 8020 7b61 7d20 7b41 203a : ... {a} {A : │ │ │ +0004bd40: 2053 6574 2061 7d20 e286 9220 5374 7269 Set a} ... Stri │ │ │ +0004bd50: 6e67 20e2 8692 2041 7267 2054 7970 6520 ng ... Arg Type │ │ │ +0004bd60: e286 9220 5443 2041 20e2 8692 2054 4320 ... TC A ... TC │ │ │ +0004bd70: 410a 2020 696e 436f 6e74 6578 7420 2020 A. inContext │ │ │ +0004bd80: 2020 2020 203a 20e2 8880 207b 617d 207b : ... {a} { │ │ │ +0004bd90: 4120 3a20 5365 7420 617d 20e2 8692 2054 A : Set a} ... T │ │ │ +0004bda0: 656c 6573 636f 7065 20e2 8692 2054 4320 elescope ... TC │ │ │ +0004bdb0: 4120 e286 9220 5443 2041 0a20 2066 7265 A ... TC A. fre │ │ │ +0004bdc0: 7368 4e61 6d65 2020 2020 2020 2020 3a20 shName : │ │ │ +0004bdd0: 5374 7269 6e67 20e2 8692 2054 4320 4e61 String ... TC Na │ │ │ +0004bde0: 6d65 0a20 2064 6563 6c61 7265 4465 6620 me. declareDef │ │ │ +0004bdf0: 2020 2020 2020 3a20 4172 6720 4e61 6d65 : Arg Name │ │ │ +0004be00: 20e2 8692 2054 7970 6520 e286 9220 5443 ... Type ... TC │ │ │ +0004be10: 20e2 8aa4 0a20 2064 6563 6c61 7265 506f .... declarePo │ │ │ +0004be20: 7374 756c 6174 6520 3a20 4172 6720 4e61 stulate : Arg Na │ │ │ +0004be30: 6d65 20e2 8692 2054 7970 6520 e286 9220 me ... Type ... │ │ │ +0004be40: 5443 20e2 8aa4 0a20 2064 6563 6c61 7265 TC .... declare │ │ │ +0004be50: 4461 7461 2020 2020 2020 3a20 4e61 6d65 Data : Name │ │ │ +0004be60: 20e2 8692 204e 6174 20e2 8692 2054 7970 ... Nat ... Typ │ │ │ +0004be70: 6520 e286 9220 5443 20e2 8aa4 0a20 2064 e ... TC .... d │ │ │ +0004be80: 6566 696e 6544 6174 6120 2020 2020 2020 efineData │ │ │ +0004be90: 3a20 4e61 6d65 20e2 8692 204c 6973 7420 : Name ... List │ │ │ +0004bea0: 28ce a320 4e61 6d65 2028 cebb 205f 20e2 (.. Name (.. _ . │ │ │ +0004beb0: 8692 20ce a320 5175 616e 7469 7479 2028 .. .. Quantity ( │ │ │ +0004bec0: cebb 205f 20e2 8692 2054 7970 6529 2929 .. _ ... Type))) │ │ │ +0004bed0: 20e2 8692 2054 4320 e28a a40a 2020 6465 ... TC .... de │ │ │ +0004bee0: 6669 6e65 4675 6e20 2020 2020 2020 203a fineFun : │ │ │ +0004bef0: 204e 616d 6520 e286 9220 4c69 7374 2043 Name ... List C │ │ │ +0004bf00: 6c61 7573 6520 e286 9220 5443 20e2 8aa4 lause ... TC ... │ │ │ +0004bf10: 0a20 2067 6574 5479 7065 2020 2020 2020 . getType │ │ │ +0004bf20: 2020 2020 3a20 4e61 6d65 20e2 8692 2054 : Name ... T │ │ │ +0004bf30: 4320 5479 7065 0a20 2067 6574 4465 6669 C Type. getDefi │ │ │ +0004bf40: 6e69 7469 6f6e 2020 2020 3a20 4e61 6d65 nition : Name │ │ │ +0004bf50: 20e2 8692 2054 4320 4465 6669 6e69 7469 ... TC Definiti │ │ │ +0004bf60: 6f6e 0a20 2062 6c6f 636b 5443 2020 2020 on. blockTC │ │ │ +0004bf70: 2020 2020 2020 3a20 e288 8020 7b61 7d20 : ... {a} │ │ │ +0004bf80: 7b41 203a 2053 6574 2061 7d20 e286 9220 {A : Set a} ... │ │ │ +0004bf90: 426c 6f63 6b65 7220 e286 9220 5443 2041 Blocker ... TC A │ │ │ +0004bfa0: 0a20 2063 6f6d 6d69 7454 4320 2020 2020 . commitTC │ │ │ +0004bfb0: 2020 2020 3a20 5443 20e2 8aa4 0a20 2069 : TC .... i │ │ │ +0004bfc0: 734d 6163 726f 2020 2020 2020 2020 2020 sMacro │ │ │ +0004bfd0: 3a20 4e61 6d65 20e2 8692 2054 4320 426f : Name ... TC Bo │ │ │ +0004bfe0: 6f6c 0a20 2070 7261 676d 6146 6f72 6569 ol. pragmaForei │ │ │ +0004bff0: 676e 2020 2020 3a20 5374 7269 6e67 20e2 gn : String . │ │ │ +0004c000: 8692 2053 7472 696e 6720 e286 9220 5443 .. String ... TC │ │ │ +0004c010: 20e2 8aa4 0a20 2070 7261 676d 6143 6f6d .... pragmaCom │ │ │ +0004c020: 7069 6c65 2020 2020 3a20 5374 7269 6e67 pile : String │ │ │ +0004c030: 20e2 8692 204e 616d 6520 e286 9220 5374 ... Name ... St │ │ │ +0004c040: 7269 6e67 20e2 8692 2054 4320 e28a a40a ring ... TC .... │ │ │ +0004c050: 0a20 202d 2d20 4966 2027 7472 7565 272c . -- If 'true', │ │ │ +0004c060: 206d 616b 6573 2074 6865 2066 6f6c 6c6f makes the follo │ │ │ +0004c070: 7769 6e67 2070 7269 6d69 7469 7665 7320 wing primitives │ │ │ +0004c080: 616c 736f 206e 6f72 6d61 6c69 7365 0a20 also normalise. │ │ │ +0004c090: 202d 2d20 7468 6569 7220 7265 7375 6c74 -- their result │ │ │ +0004c0a0: 733a 2069 6e66 6572 5479 7065 2c20 6368 s: inferType, ch │ │ │ +0004c0b0: 6563 6b54 7970 652c 2071 756f 7465 5443 eckType, quoteTC │ │ │ +0004c0c0: 2c20 6765 7454 7970 652c 2061 6e64 2067 , getType, and g │ │ │ +0004c0d0: 6574 436f 6e74 6578 740a 2020 7769 7468 etContext. with │ │ │ +0004c0e0: 4e6f 726d 616c 6973 6174 696f 6e20 3a20 Normalisation : │ │ │ +0004c0f0: e288 8020 7b61 7d20 7b41 203a 2053 6574 ... {a} {A : Set │ │ │ +0004c100: 2061 7d20 e286 9220 426f 6f6c 20e2 8692 a} ... Bool ... │ │ │ +0004c110: 2054 4320 4120 e286 9220 5443 2041 0a20 TC A ... TC A. │ │ │ +0004c120: 2061 736b 4e6f 726d 616c 6973 6174 696f askNormalisatio │ │ │ +0004c130: 6e20 203a 2054 4320 426f 6f6c 0a0a 2020 n : TC Bool.. │ │ │ +0004c140: 2d2d 2049 6620 2774 7275 6527 2c20 6d61 -- If 'true', ma │ │ │ +0004c150: 6b65 7320 7468 6520 666f 6c6c 6f77 696e kes the followin │ │ │ +0004c160: 6720 7072 696d 6974 6976 6573 2074 6f20 g primitives to │ │ │ +0004c170: 7265 636f 6e73 7472 7563 7420 6869 6464 reconstruct hidd │ │ │ +0004c180: 656e 2061 7267 756d 656e 7473 3a0a 2020 en arguments:. │ │ │ +0004c190: 2d2d 2067 6574 4465 6669 6e69 7469 6f6e -- getDefinition │ │ │ +0004c1a0: 2c20 6e6f 726d 616c 6973 652c 2072 6564 , normalise, red │ │ │ +0004c1b0: 7563 652c 2069 6e66 6572 5479 7065 2c20 uce, inferType, │ │ │ +0004c1c0: 6368 6563 6b54 7970 6520 616e 6420 6765 checkType and ge │ │ │ +0004c1d0: 7443 6f6e 7465 7874 0a20 2077 6974 6852 tContext. withR │ │ │ +0004c1e0: 6563 6f6e 7374 7275 6374 6564 203a 20e2 econstructed : . │ │ │ +0004c1f0: 8880 207b 617d 207b 4120 3a20 5365 7420 .. {a} {A : Set │ │ │ +0004c200: 617d 20e2 8692 2042 6f6f 6c20 e286 9220 a} ... Bool ... │ │ │ +0004c210: 5443 2041 20e2 8692 2054 4320 410a 2020 TC A ... TC A. │ │ │ +0004c220: 6173 6b52 6563 6f6e 7374 7275 6374 6564 askReconstructed │ │ │ +0004c230: 2020 3a20 5443 2042 6f6f 6c0a 0a20 202d : TC Bool.. - │ │ │ +0004c240: 2d20 5768 6574 6865 7220 696d 706c 6963 - Whether implic │ │ │ +0004c250: 6974 2061 7267 756d 656e 7473 2061 7420 it arguments at │ │ │ +0004c260: 7468 6520 656e 6420 7368 6f75 6c64 2062 the end should b │ │ │ +0004c270: 6520 7475 726e 6564 2069 6e74 6f20 6d65 e turned into me │ │ │ +0004c280: 7461 7661 7269 6162 6c65 730a 2020 7769 tavariables. wi │ │ │ +0004c290: 7468 4578 7061 6e64 4c61 7374 203a 20e2 thExpandLast : . │ │ │ +0004c2a0: 8880 207b 617d 207b 4120 3a20 5365 7420 .. {a} {A : Set │ │ │ +0004c2b0: 617d 20e2 8692 2042 6f6f 6c20 e286 9220 a} ... Bool ... │ │ │ +0004c2c0: 5443 2041 20e2 8692 2054 4320 410a 2020 TC A ... TC A. │ │ │ +0004c2d0: 6173 6b45 7870 616e 644c 6173 7420 203a askExpandLast : │ │ │ +0004c2e0: 2054 4320 426f 6f6c 0a0a 2020 2d2d 2057 TC Bool.. -- W │ │ │ +0004c2f0: 6869 7465 2f62 6c61 636b 6c69 7374 2073 hite/blacklist s │ │ │ +0004c300: 7065 6369 6669 6320 6465 6669 6e69 7469 pecific definiti │ │ │ +0004c310: 6f6e 7320 666f 7220 7265 6475 6374 696f ons for reductio │ │ │ +0004c320: 6e20 7768 696c 6520 6578 6563 7574 696e n while executin │ │ │ +0004c330: 6720 7468 6520 5443 2063 6f6d 7075 7461 g the TC computa │ │ │ +0004c340: 7469 6f6e 0a20 202d 2d20 2774 7275 6527 tion. -- 'true' │ │ │ +0004c350: 2066 6f72 2077 6869 7465 6c69 7374 2c20 for whitelist, │ │ │ +0004c360: 2766 616c 7365 2720 666f 7220 626c 6163 'false' for blac │ │ │ +0004c370: 6b6c 6973 740a 2020 7769 7468 5265 6475 klist. withRedu │ │ │ +0004c380: 6365 4465 6673 203a 20e2 8880 207b 617d ceDefs : ... {a} │ │ │ +0004c390: 207b 4120 3a20 5365 7420 617d 20e2 8692 {A : Set a} ... │ │ │ +0004c3a0: 2028 cea3 2042 6f6f 6c20 cebb 205f 20e2 (.. Bool .. _ . │ │ │ +0004c3b0: 8692 204c 6973 7420 4e61 6d65 2920 e286 .. List Name) .. │ │ │ +0004c3c0: 9220 5443 2041 20e2 8692 2054 4320 410a . TC A ... TC A. │ │ │ +0004c3d0: 2020 6173 6b52 6564 7563 6544 6566 7320 askReduceDefs │ │ │ +0004c3e0: 203a 2054 4320 28ce a320 426f 6f6c 20ce : TC (.. Bool . │ │ │ +0004c3f0: bb20 5f20 e286 9220 4c69 7374 204e 616d . _ ... List Nam │ │ │ +0004c400: 6529 0a0a 2020 666f 726d 6174 4572 726f e).. formatErro │ │ │ +0004c410: 7250 6172 7473 203a 204c 6973 7420 4572 rParts : List Er │ │ │ +0004c420: 726f 7250 6172 7420 e286 9220 5443 2053 rorPart ... TC S │ │ │ +0004c430: 7472 696e 670a 2020 2d2d 2050 7269 6e74 tring. -- Print │ │ │ +0004c440: 7320 7468 6520 7468 6972 6420 6172 6775 s the third argu │ │ │ +0004c450: 6d65 6e74 2069 6620 7468 6520 636f 7272 ment if the corr │ │ │ +0004c460: 6573 706f 6e64 696e 6720 7665 7262 6f73 esponding verbos │ │ │ +0004c470: 6974 7920 6c65 7665 6c20 6973 2074 7572 ity level is tur │ │ │ +0004c480: 6e65 640a 2020 2d2d 206f 6e20 2877 6974 ned. -- on (wit │ │ │ +0004c490: 6820 7468 6520 2d76 2066 6c61 6720 746f h the -v flag to │ │ │ +0004c4a0: 2041 6764 6129 2e0a 2020 6465 6275 6750 Agda).. debugP │ │ │ +0004c4b0: 7269 6e74 203a 2053 7472 696e 6720 e286 rint : String .. │ │ │ +0004c4c0: 9220 4e61 7420 e286 9220 4c69 7374 2045 . Nat ... List E │ │ │ +0004c4d0: 7272 6f72 5061 7274 20e2 8692 2054 4320 rrorPart ... TC │ │ │ +0004c4e0: e28a a40a 0a20 202d 2d20 4661 696c 2069 ..... -- Fail i │ │ │ +0004c4f0: 6620 7468 6520 6769 7665 6e20 636f 6d70 f the given comp │ │ │ +0004c500: 7574 6174 696f 6e20 6769 7665 7320 7269 utation gives ri │ │ │ +0004c510: 7365 2074 6f20 6e65 772c 2075 6e73 6f6c se to new, unsol │ │ │ +0004c520: 7665 640a 2020 2d2d 2022 626c 6f63 6b69 ved. -- "blocki │ │ │ +0004c530: 6e67 2220 636f 6e73 7472 6169 6e74 732e ng" constraints. │ │ │ +0004c540: 0a20 206e 6f43 6f6e 7374 7261 696e 7473 . noConstraints │ │ │ +0004c550: 203a 20e2 8880 207b 617d 207b 4120 3a20 : ... {a} {A : │ │ │ +0004c560: 5365 7420 617d 20e2 8692 2054 4320 4120 Set a} ... TC A │ │ │ +0004c570: e286 9220 5443 2041 0a0a 2020 2d2d 2052 ... TC A.. -- R │ │ │ +0004c580: 756e 2074 6865 2067 6976 656e 2063 6f6d un the given com │ │ │ +0004c590: 7075 7461 7469 6f6e 2061 7420 7468 6520 putation at the │ │ │ +0004c5a0: 7479 7065 206c 6576 656c 2c20 616c 6c6f type level, allo │ │ │ +0004c5b0: 7769 6e67 2075 7365 206f 6620 6572 6173 wing use of eras │ │ │ +0004c5c0: 6564 2074 6869 6e67 732e 0a20 2077 6f72 ed things.. wor │ │ │ +0004c5d0: 6b4f 6e54 7970 6573 203a 20e2 8880 207b kOnTypes : ... { │ │ │ +0004c5e0: 617d 207b 4120 3a20 5365 7420 617d 20e2 a} {A : Set a} . │ │ │ +0004c5f0: 8692 2054 4320 4120 e286 9220 5443 2041 .. TC A ... TC A │ │ │ +0004c600: 0a0a 2020 2d2d 2052 756e 2074 6865 2067 .. -- Run the g │ │ │ +0004c610: 6976 656e 2054 4320 6163 7469 6f6e 2061 iven TC action a │ │ │ +0004c620: 6e64 2072 6574 7572 6e20 7468 6520 6669 nd return the fi │ │ │ +0004c630: 7273 7420 636f 6d70 6f6e 656e 742e 2052 rst component. R │ │ │ +0004c640: 6573 6574 7320 746f 0a20 202d 2d20 7468 esets to. -- th │ │ │ +0004c650: 6520 6f6c 6420 5443 2073 7461 7465 2069 e old TC state i │ │ │ +0004c660: 6620 7468 6520 7365 636f 6e64 2063 6f6d f the second com │ │ │ +0004c670: 706f 6e65 6e74 2069 7320 2766 616c 7365 ponent is 'false │ │ │ +0004c680: 272c 206f 7220 6b65 6570 2074 6865 0a20 ', or keep the. │ │ │ +0004c690: 202d 2d20 6e65 7720 5443 2073 7461 7465 -- new TC state │ │ │ +0004c6a0: 2069 6620 6974 2069 7320 2774 7275 6527 if it is 'true' │ │ │ +0004c6b0: 2e0a 2020 7275 6e53 7065 6375 6c61 7469 .. runSpeculati │ │ │ +0004c6c0: 7665 203a 20e2 8880 207b 617d 207b 4120 ve : ... {a} {A │ │ │ +0004c6d0: 3a20 5365 7420 617d 20e2 8692 2054 4320 : Set a} ... TC │ │ │ +0004c6e0: 28ce a320 4120 cebb 205f 20e2 8692 2042 (.. A .. _ ... B │ │ │ +0004c6f0: 6f6f 6c29 20e2 8692 2054 4320 410a 0a20 ool) ... TC A.. │ │ │ +0004c700: 202d 2d20 4765 7420 6120 6c69 7374 206f -- Get a list o │ │ │ +0004c710: 6620 616c 6c20 706f 7373 6962 6c65 2069 f all possible i │ │ │ +0004c720: 6e73 7461 6e63 6520 6361 6e64 6964 6174 nstance candidat │ │ │ +0004c730: 6573 2066 6f72 2074 6865 2067 6976 656e es for the given │ │ │ +0004c740: 206d 6574 610a 2020 2d2d 2076 6172 6961 meta. -- varia │ │ │ +0004c750: 626c 6520 2869 7420 646f 6573 206e 6f74 ble (it does not │ │ │ +0004c760: 2068 6176 6520 746f 2062 6520 616e 2069 have to be an i │ │ │ +0004c770: 6e73 7461 6e63 6520 6d65 7461 292e 0a20 nstance meta).. │ │ │ +0004c780: 2067 6574 496e 7374 616e 6365 7320 3a20 getInstances : │ │ │ +0004c790: 4d65 7461 20e2 8692 2054 4320 284c 6973 Meta ... TC (Lis │ │ │ +0004c7a0: 7420 5465 726d 290a 0a20 202d 2d20 5472 t Term).. -- Tr │ │ │ +0004c7b0: 7920 746f 2073 6f6c 7665 206f 7065 6e20 y to solve open │ │ │ +0004c7c0: 696e 7374 616e 6365 2063 6f6e 7374 7261 instance constra │ │ │ +0004c7d0: 696e 7473 2e20 5768 656e 2077 7261 7070 ints. When wrapp │ │ │ +0004c7e0: 6564 2069 6e20 606e 6f43 6f6e 7374 7261 ed in `noConstra │ │ │ +0004c7f0: 696e 7473 602c 0a20 202d 2d20 6661 696c ints`,. -- fail │ │ │ +0004c800: 7320 6966 2074 6865 7265 2061 7265 2075 s if there are u │ │ │ +0004c810: 6e73 6f6c 7665 6420 696e 7374 616e 6365 nsolved instance │ │ │ +0004c820: 2063 6f6e 7374 7261 696e 7473 206c 6566 constraints lef │ │ │ +0004c830: 7420 6f76 6572 2074 6861 7420 6f72 6967 t over that orig │ │ │ +0004c840: 696e 6174 650a 2020 2d2d 2066 726f 6d20 inate. -- from │ │ │ +0004c850: 7468 6520 6375 7272 656e 7420 6d61 6372 the current macr │ │ │ +0004c860: 6f20 696e 766f 6b61 7469 6f6e 2e20 4f75 o invokation. Ou │ │ │ +0004c870: 7473 6964 6520 636f 6e73 7472 6169 6e74 tside constraint │ │ │ +0004c880: 7320 6172 6520 7374 696c 6c20 6174 7465 s are still atte │ │ │ +0004c890: 6d70 7465 642c 0a20 202d 2d20 6275 7420 mpted,. -- but │ │ │ +0004c8a0: 6661 696c 7572 6520 746f 2073 6f6c 7665 failure to solve │ │ │ +0004c8b0: 2074 6865 6d20 6172 6520 6967 6e6f 7265 them are ignore │ │ │ +0004c8c0: 6420 6279 2060 6e6f 436f 6e73 7472 6169 d by `noConstrai │ │ │ +0004c8d0: 6e74 7360 2e0a 2020 736f 6c76 6549 6e73 nts`.. solveIns │ │ │ +0004c8e0: 7461 6e63 6543 6f6e 7374 7261 696e 7473 tanceConstraints │ │ │ +0004c8f0: 203a 2054 4320 e28a a40a 0a20 202d 2d20 : TC ..... -- │ │ │ +0004c900: 5061 7273 6520 616e 6420 7479 7065 2063 Parse and type c │ │ │ +0004c910: 6865 636b 2074 6865 2067 6976 656e 2073 heck the given s │ │ │ +0004c920: 7472 696e 6720 6167 6169 6e73 7420 7468 tring against th │ │ │ +0004c930: 6520 6769 7665 6e20 7479 7065 2c20 7265 e given type, re │ │ │ +0004c940: 7475 726e 696e 670a 2020 2d2d 2074 6865 turning. -- the │ │ │ +0004c950: 2072 6573 756c 7469 6e67 2074 6572 6d20 resulting term │ │ │ +0004c960: 2877 6865 6e20 7375 6363 6573 7366 756c (when successful │ │ │ +0004c970: 292e 0a20 2063 6865 636b 4672 6f6d 5374 ).. checkFromSt │ │ │ +0004c980: 7269 6e67 5443 203a 2053 7472 696e 6720 ringTC : String │ │ │ +0004c990: e286 9220 5479 7065 20e2 8692 2054 4320 ... Type ... TC │ │ │ +0004c9a0: 5465 726d 0a0a 7b2d 2320 4255 494c 5449 Term..{-# BUILTI │ │ │ +0004c9b0: 4e20 4147 4441 5443 4d20 2020 2020 2020 N AGDATCM │ │ │ 0004c9c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0004c9d0: 2020 2054 4320 2020 2020 2020 2020 2020 TC │ │ │ -0004c9e0: 2020 2020 2020 2020 2020 2020 2020 232d #- │ │ │ -0004c9f0: 7d0a 7b2d 2320 4255 494c 5449 4e20 4147 }.{-# BUILTIN AG │ │ │ -0004ca00: 4441 5443 4d52 4554 5552 4e20 2020 2020 DATCMRETURN │ │ │ +0004c9d0: 2020 2020 5443 2020 2020 2020 2020 2020 TC │ │ │ +0004c9e0: 2020 2020 2020 2020 2020 2020 2020 2023 # │ │ │ +0004c9f0: 2d7d 0a7b 2d23 2042 5549 4c54 494e 2041 -}.{-# BUILTIN A │ │ │ +0004ca00: 4744 4154 434d 5245 5455 524e 2020 2020 GDATCMRETURN │ │ │ 0004ca10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0004ca20: 7265 7475 726e 5443 2020 2020 2020 2020 returnTC │ │ │ -0004ca30: 2020 2020 2020 2020 2020 2023 2d7d 0a7b #-}.{ │ │ │ -0004ca40: 2d23 2042 5549 4c54 494e 2041 4744 4154 -# BUILTIN AGDAT │ │ │ -0004ca50: 434d 4249 4e44 2020 2020 2020 2020 2020 CMBIND │ │ │ -0004ca60: 2020 2020 2020 2020 2020 2020 2062 696e bin │ │ │ -0004ca70: 6454 4320 2020 2020 2020 2020 2020 2020 dTC │ │ │ -0004ca80: 2020 2020 2020 2020 232d 7d0a 7b2d 2320 #-}.{-# │ │ │ -0004ca90: 4255 494c 5449 4e20 4147 4441 5443 4d55 BUILTIN AGDATCMU │ │ │ -0004caa0: 4e49 4659 2020 2020 2020 2020 2020 2020 NIFY │ │ │ -0004cab0: 2020 2020 2020 2020 2020 756e 6966 7920 unify │ │ │ +0004ca20: 2072 6574 7572 6e54 4320 2020 2020 2020 returnTC │ │ │ +0004ca30: 2020 2020 2020 2020 2020 2020 232d 7d0a #-}. │ │ │ +0004ca40: 7b2d 2320 4255 494c 5449 4e20 4147 4441 {-# BUILTIN AGDA │ │ │ +0004ca50: 5443 4d42 494e 4420 2020 2020 2020 2020 TCMBIND │ │ │ +0004ca60: 2020 2020 2020 2020 2020 2020 2020 6269 bi │ │ │ +0004ca70: 6e64 5443 2020 2020 2020 2020 2020 2020 ndTC │ │ │ +0004ca80: 2020 2020 2020 2020 2023 2d7d 0a7b 2d23 #-}.{-# │ │ │ +0004ca90: 2042 5549 4c54 494e 2041 4744 4154 434d BUILTIN AGDATCM │ │ │ +0004caa0: 554e 4946 5920 2020 2020 2020 2020 2020 UNIFY │ │ │ +0004cab0: 2020 2020 2020 2020 2020 2075 6e69 6679 unify │ │ │ 0004cac0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0004cad0: 2020 2020 2023 2d7d 0a7b 2d23 2042 5549 #-}.{-# BUI │ │ │ -0004cae0: 4c54 494e 2041 4744 4154 434d 5459 5045 LTIN AGDATCMTYPE │ │ │ -0004caf0: 4552 524f 5220 2020 2020 2020 2020 2020 ERROR │ │ │ -0004cb00: 2020 2020 2020 2074 7970 6545 7272 6f72 typeError │ │ │ -0004cb10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0004cb20: 2020 232d 7d0a 7b2d 2320 4255 494c 5449 #-}.{-# BUILTI │ │ │ -0004cb30: 4e20 4147 4441 5443 4d49 4e46 4552 5459 N AGDATCMINFERTY │ │ │ -0004cb40: 5045 2020 2020 2020 2020 2020 2020 2020 PE │ │ │ -0004cb50: 2020 2020 696e 6665 7254 7970 6520 2020 inferType │ │ │ -0004cb60: 2020 2020 2020 2020 2020 2020 2020 2023 # │ │ │ -0004cb70: 2d7d 0a7b 2d23 2042 5549 4c54 494e 2041 -}.{-# BUILTIN A │ │ │ -0004cb80: 4744 4154 434d 4348 4543 4b54 5950 4520 GDATCMCHECKTYPE │ │ │ +0004cad0: 2020 2020 2020 232d 7d0a 7b2d 2320 4255 #-}.{-# BU │ │ │ +0004cae0: 494c 5449 4e20 4147 4441 5443 4d54 5950 ILTIN AGDATCMTYP │ │ │ +0004caf0: 4545 5252 4f52 2020 2020 2020 2020 2020 EERROR │ │ │ +0004cb00: 2020 2020 2020 2020 7479 7065 4572 726f typeErro │ │ │ +0004cb10: 7220 2020 2020 2020 2020 2020 2020 2020 r │ │ │ +0004cb20: 2020 2023 2d7d 0a7b 2d23 2042 5549 4c54 #-}.{-# BUILT │ │ │ +0004cb30: 494e 2041 4744 4154 434d 494e 4645 5254 IN AGDATCMINFERT │ │ │ +0004cb40: 5950 4520 2020 2020 2020 2020 2020 2020 YPE │ │ │ +0004cb50: 2020 2020 2069 6e66 6572 5479 7065 2020 inferType │ │ │ +0004cb60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +0004cb70: 232d 7d0a 7b2d 2320 4255 494c 5449 4e20 #-}.{-# BUILTIN │ │ │ +0004cb80: 4147 4441 5443 4d43 4845 434b 5459 5045 AGDATCMCHECKTYPE │ │ │ 0004cb90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0004cba0: 2063 6865 636b 5479 7065 2020 2020 2020 checkType │ │ │ -0004cbb0: 2020 2020 2020 2020 2020 2020 232d 7d0a #-}. │ │ │ -0004cbc0: 7b2d 2320 4255 494c 5449 4e20 4147 4441 {-# BUILTIN AGDA │ │ │ -0004cbd0: 5443 4d4e 4f52 4d41 4c49 5345 2020 2020 TCMNORMALISE │ │ │ -0004cbe0: 2020 2020 2020 2020 2020 2020 2020 6e6f no │ │ │ -0004cbf0: 726d 616c 6973 6520 2020 2020 2020 2020 rmalise │ │ │ -0004cc00: 2020 2020 2020 2020 2023 2d7d 0a7b 2d23 #-}.{-# │ │ │ -0004cc10: 2042 5549 4c54 494e 2041 4744 4154 434d BUILTIN AGDATCM │ │ │ -0004cc20: 5245 4455 4345 2020 2020 2020 2020 2020 REDUCE │ │ │ -0004cc30: 2020 2020 2020 2020 2020 2072 6564 7563 reduc │ │ │ -0004cc40: 6520 2020 2020 2020 2020 2020 2020 2020 e │ │ │ -0004cc50: 2020 2020 2020 232d 7d0a 7b2d 2320 4255 #-}.{-# BU │ │ │ -0004cc60: 494c 5449 4e20 4147 4441 5443 4d43 4154 ILTIN AGDATCMCAT │ │ │ -0004cc70: 4348 4552 524f 5220 2020 2020 2020 2020 CHERROR │ │ │ -0004cc80: 2020 2020 2020 2020 6361 7463 6854 4320 catchTC │ │ │ +0004cba0: 2020 6368 6563 6b54 7970 6520 2020 2020 checkType │ │ │ +0004cbb0: 2020 2020 2020 2020 2020 2020 2023 2d7d #-} │ │ │ +0004cbc0: 0a7b 2d23 2042 5549 4c54 494e 2041 4744 .{-# BUILTIN AGD │ │ │ +0004cbd0: 4154 434d 4e4f 524d 414c 4953 4520 2020 ATCMNORMALISE │ │ │ +0004cbe0: 2020 2020 2020 2020 2020 2020 2020 206e n │ │ │ +0004cbf0: 6f72 6d61 6c69 7365 2020 2020 2020 2020 ormalise │ │ │ +0004cc00: 2020 2020 2020 2020 2020 232d 7d0a 7b2d #-}.{- │ │ │ +0004cc10: 2320 4255 494c 5449 4e20 4147 4441 5443 # BUILTIN AGDATC │ │ │ +0004cc20: 4d52 4544 5543 4520 2020 2020 2020 2020 MREDUCE │ │ │ +0004cc30: 2020 2020 2020 2020 2020 2020 7265 6475 redu │ │ │ +0004cc40: 6365 2020 2020 2020 2020 2020 2020 2020 ce │ │ │ +0004cc50: 2020 2020 2020 2023 2d7d 0a7b 2d23 2042 #-}.{-# B │ │ │ +0004cc60: 5549 4c54 494e 2041 4744 4154 434d 4341 UILTIN AGDATCMCA │ │ │ +0004cc70: 5443 4845 5252 4f52 2020 2020 2020 2020 TCHERROR │ │ │ +0004cc80: 2020 2020 2020 2020 2063 6174 6368 5443 catchTC │ │ │ 0004cc90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0004cca0: 2020 2023 2d7d 0a7b 2d23 2042 5549 4c54 #-}.{-# BUILT │ │ │ -0004ccb0: 494e 2041 4744 4154 434d 5155 4f54 4554 IN AGDATCMQUOTET │ │ │ -0004ccc0: 4552 4d20 2020 2020 2020 2020 2020 2020 ERM │ │ │ -0004ccd0: 2020 2020 2071 756f 7465 5443 2020 2020 quoteTC │ │ │ +0004cca0: 2020 2020 232d 7d0a 7b2d 2320 4255 494c #-}.{-# BUIL │ │ │ +0004ccb0: 5449 4e20 4147 4441 5443 4d51 554f 5445 TIN AGDATCMQUOTE │ │ │ +0004ccc0: 5445 524d 2020 2020 2020 2020 2020 2020 TERM │ │ │ +0004ccd0: 2020 2020 2020 7175 6f74 6554 4320 2020 quoteTC │ │ │ 0004cce0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0004ccf0: 232d 7d0a 7b2d 2320 4255 494c 5449 4e20 #-}.{-# BUILTIN │ │ │ -0004cd00: 4147 4441 5443 4d55 4e51 554f 5445 5445 AGDATCMUNQUOTETE │ │ │ -0004cd10: 524d 2020 2020 2020 2020 2020 2020 2020 RM │ │ │ -0004cd20: 2020 756e 7175 6f74 6554 4320 2020 2020 unquoteTC │ │ │ -0004cd30: 2020 2020 2020 2020 2020 2020 2023 2d7d #-} │ │ │ -0004cd40: 0a7b 2d23 2042 5549 4c54 494e 2041 4744 .{-# BUILTIN AGD │ │ │ -0004cd50: 4154 434d 5155 4f54 454f 4d45 4741 5445 ATCMQUOTEOMEGATE │ │ │ -0004cd60: 524d 2020 2020 2020 2020 2020 2020 2071 RM q │ │ │ -0004cd70: 756f 7465 cf89 5443 2020 2020 2020 2020 uote..TC │ │ │ -0004cd80: 2020 2020 2020 2020 2020 2023 2d7d 0a7b #-}.{ │ │ │ -0004cd90: 2d23 2042 5549 4c54 494e 2041 4744 4154 -# BUILTIN AGDAT │ │ │ -0004cda0: 434d 4745 5443 4f4e 5445 5854 2020 2020 CMGETCONTEXT │ │ │ -0004cdb0: 2020 2020 2020 2020 2020 2020 2067 6574 get │ │ │ -0004cdc0: 436f 6e74 6578 7420 2020 2020 2020 2020 Context │ │ │ -0004cdd0: 2020 2020 2020 2020 232d 7d0a 7b2d 2320 #-}.{-# │ │ │ -0004cde0: 4255 494c 5449 4e20 4147 4441 5443 4d45 BUILTIN AGDATCME │ │ │ -0004cdf0: 5854 454e 4443 4f4e 5445 5854 2020 2020 XTENDCONTEXT │ │ │ -0004ce00: 2020 2020 2020 2020 2020 6578 7465 6e64 extend │ │ │ -0004ce10: 436f 6e74 6578 7420 2020 2020 2020 2020 Context │ │ │ -0004ce20: 2020 2020 2023 2d7d 0a7b 2d23 2042 5549 #-}.{-# BUI │ │ │ -0004ce30: 4c54 494e 2041 4744 4154 434d 494e 434f LTIN AGDATCMINCO │ │ │ -0004ce40: 4e54 4558 5420 2020 2020 2020 2020 2020 NTEXT │ │ │ -0004ce50: 2020 2020 2020 2069 6e43 6f6e 7465 7874 inContext │ │ │ -0004ce60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0004ce70: 2020 232d 7d0a 7b2d 2320 4255 494c 5449 #-}.{-# BUILTI │ │ │ -0004ce80: 4e20 4147 4441 5443 4d46 5245 5348 4e41 N AGDATCMFRESHNA │ │ │ -0004ce90: 4d45 2020 2020 2020 2020 2020 2020 2020 ME │ │ │ -0004cea0: 2020 2020 6672 6573 684e 616d 6520 2020 freshName │ │ │ -0004ceb0: 2020 2020 2020 2020 2020 2020 2020 2023 # │ │ │ -0004cec0: 2d7d 0a7b 2d23 2042 5549 4c54 494e 2041 -}.{-# BUILTIN A │ │ │ -0004ced0: 4744 4154 434d 4445 434c 4152 4544 4546 GDATCMDECLAREDEF │ │ │ -0004cee0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0004cef0: 2064 6563 6c61 7265 4465 6620 2020 2020 declareDef │ │ │ -0004cf00: 2020 2020 2020 2020 2020 2020 232d 7d0a #-}. │ │ │ -0004cf10: 7b2d 2320 4255 494c 5449 4e20 4147 4441 {-# BUILTIN AGDA │ │ │ -0004cf20: 5443 4d44 4543 4c41 5245 504f 5354 554c TCMDECLAREPOSTUL │ │ │ -0004cf30: 4154 4520 2020 2020 2020 2020 2020 6465 ATE de │ │ │ -0004cf40: 636c 6172 6550 6f73 7475 6c61 7465 2020 clarePostulate │ │ │ -0004cf50: 2020 2020 2020 2020 2023 2d7d 0a7b 2d23 #-}.{-# │ │ │ -0004cf60: 2042 5549 4c54 494e 2041 4744 4154 434d BUILTIN AGDATCM │ │ │ -0004cf70: 4445 434c 4152 4544 4154 4120 2020 2020 DECLAREDATA │ │ │ -0004cf80: 2020 2020 2020 2020 2020 2064 6563 6c61 decla │ │ │ -0004cf90: 7265 4461 7461 2020 2020 2020 2020 2020 reData │ │ │ -0004cfa0: 2020 2020 2020 232d 7d0a 7b2d 2320 4255 #-}.{-# BU │ │ │ -0004cfb0: 494c 5449 4e20 4147 4441 5443 4d44 4546 ILTIN AGDATCMDEF │ │ │ -0004cfc0: 494e 4544 4154 4120 2020 2020 2020 2020 INEDATA │ │ │ -0004cfd0: 2020 2020 2020 2020 6465 6669 6e65 4461 defineDa │ │ │ -0004cfe0: 7461 2020 2020 2020 2020 2020 2020 2020 ta │ │ │ -0004cff0: 2020 2023 2d7d 0a7b 2d23 2042 5549 4c54 #-}.{-# BUILT │ │ │ -0004d000: 494e 2041 4744 4154 434d 4445 4649 4e45 IN AGDATCMDEFINE │ │ │ -0004d010: 4655 4e20 2020 2020 2020 2020 2020 2020 FUN │ │ │ -0004d020: 2020 2020 2064 6566 696e 6546 756e 2020 defineFun │ │ │ +0004ccf0: 2023 2d7d 0a7b 2d23 2042 5549 4c54 494e #-}.{-# BUILTIN │ │ │ +0004cd00: 2041 4744 4154 434d 554e 5155 4f54 4554 AGDATCMUNQUOTET │ │ │ +0004cd10: 4552 4d20 2020 2020 2020 2020 2020 2020 ERM │ │ │ +0004cd20: 2020 2075 6e71 756f 7465 5443 2020 2020 unquoteTC │ │ │ +0004cd30: 2020 2020 2020 2020 2020 2020 2020 232d #- │ │ │ +0004cd40: 7d0a 7b2d 2320 4255 494c 5449 4e20 4147 }.{-# BUILTIN AG │ │ │ +0004cd50: 4441 5443 4d51 554f 5445 4f4d 4547 4154 DATCMQUOTEOMEGAT │ │ │ +0004cd60: 4552 4d20 2020 2020 2020 2020 2020 2020 ERM │ │ │ +0004cd70: 7175 6f74 65cf 8954 4320 2020 2020 2020 quote..TC │ │ │ +0004cd80: 2020 2020 2020 2020 2020 2020 232d 7d0a #-}. │ │ │ +0004cd90: 7b2d 2320 4255 494c 5449 4e20 4147 4441 {-# BUILTIN AGDA │ │ │ +0004cda0: 5443 4d47 4554 434f 4e54 4558 5420 2020 TCMGETCONTEXT │ │ │ +0004cdb0: 2020 2020 2020 2020 2020 2020 2020 6765 ge │ │ │ +0004cdc0: 7443 6f6e 7465 7874 2020 2020 2020 2020 tContext │ │ │ +0004cdd0: 2020 2020 2020 2020 2023 2d7d 0a7b 2d23 #-}.{-# │ │ │ +0004cde0: 2042 5549 4c54 494e 2041 4744 4154 434d BUILTIN AGDATCM │ │ │ +0004cdf0: 4558 5445 4e44 434f 4e54 4558 5420 2020 EXTENDCONTEXT │ │ │ +0004ce00: 2020 2020 2020 2020 2020 2065 7874 656e exten │ │ │ +0004ce10: 6443 6f6e 7465 7874 2020 2020 2020 2020 dContext │ │ │ +0004ce20: 2020 2020 2020 232d 7d0a 7b2d 2320 4255 #-}.{-# BU │ │ │ +0004ce30: 494c 5449 4e20 4147 4441 5443 4d49 4e43 ILTIN AGDATCMINC │ │ │ +0004ce40: 4f4e 5445 5854 2020 2020 2020 2020 2020 ONTEXT │ │ │ +0004ce50: 2020 2020 2020 2020 696e 436f 6e74 6578 inContex │ │ │ +0004ce60: 7420 2020 2020 2020 2020 2020 2020 2020 t │ │ │ +0004ce70: 2020 2023 2d7d 0a7b 2d23 2042 5549 4c54 #-}.{-# BUILT │ │ │ +0004ce80: 494e 2041 4744 4154 434d 4652 4553 484e IN AGDATCMFRESHN │ │ │ +0004ce90: 414d 4520 2020 2020 2020 2020 2020 2020 AME │ │ │ +0004cea0: 2020 2020 2066 7265 7368 4e61 6d65 2020 freshName │ │ │ +0004ceb0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +0004cec0: 232d 7d0a 7b2d 2320 4255 494c 5449 4e20 #-}.{-# BUILTIN │ │ │ +0004ced0: 4147 4441 5443 4d44 4543 4c41 5245 4445 AGDATCMDECLAREDE │ │ │ +0004cee0: 4620 2020 2020 2020 2020 2020 2020 2020 F │ │ │ +0004cef0: 2020 6465 636c 6172 6544 6566 2020 2020 declareDef │ │ │ +0004cf00: 2020 2020 2020 2020 2020 2020 2023 2d7d #-} │ │ │ +0004cf10: 0a7b 2d23 2042 5549 4c54 494e 2041 4744 .{-# BUILTIN AGD │ │ │ +0004cf20: 4154 434d 4445 434c 4152 4550 4f53 5455 ATCMDECLAREPOSTU │ │ │ +0004cf30: 4c41 5445 2020 2020 2020 2020 2020 2064 LATE d │ │ │ +0004cf40: 6563 6c61 7265 506f 7374 756c 6174 6520 eclarePostulate │ │ │ +0004cf50: 2020 2020 2020 2020 2020 232d 7d0a 7b2d #-}.{- │ │ │ +0004cf60: 2320 4255 494c 5449 4e20 4147 4441 5443 # BUILTIN AGDATC │ │ │ +0004cf70: 4d44 4543 4c41 5245 4441 5441 2020 2020 MDECLAREDATA │ │ │ +0004cf80: 2020 2020 2020 2020 2020 2020 6465 636c decl │ │ │ +0004cf90: 6172 6544 6174 6120 2020 2020 2020 2020 areData │ │ │ +0004cfa0: 2020 2020 2020 2023 2d7d 0a7b 2d23 2042 #-}.{-# B │ │ │ +0004cfb0: 5549 4c54 494e 2041 4744 4154 434d 4445 UILTIN AGDATCMDE │ │ │ +0004cfc0: 4649 4e45 4441 5441 2020 2020 2020 2020 FINEDATA │ │ │ +0004cfd0: 2020 2020 2020 2020 2064 6566 696e 6544 defineD │ │ │ +0004cfe0: 6174 6120 2020 2020 2020 2020 2020 2020 ata │ │ │ +0004cff0: 2020 2020 232d 7d0a 7b2d 2320 4255 494c #-}.{-# BUIL │ │ │ +0004d000: 5449 4e20 4147 4441 5443 4d44 4546 494e TIN AGDATCMDEFIN │ │ │ +0004d010: 4546 554e 2020 2020 2020 2020 2020 2020 EFUN │ │ │ +0004d020: 2020 2020 2020 6465 6669 6e65 4675 6e20 defineFun │ │ │ 0004d030: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0004d040: 232d 7d0a 7b2d 2320 4255 494c 5449 4e20 #-}.{-# BUILTIN │ │ │ -0004d050: 4147 4441 5443 4d47 4554 5459 5045 2020 AGDATCMGETTYPE │ │ │ +0004d040: 2023 2d7d 0a7b 2d23 2042 5549 4c54 494e #-}.{-# BUILTIN │ │ │ +0004d050: 2041 4744 4154 434d 4745 5454 5950 4520 AGDATCMGETTYPE │ │ │ 0004d060: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0004d070: 2020 6765 7454 7970 6520 2020 2020 2020 getType │ │ │ -0004d080: 2020 2020 2020 2020 2020 2020 2023 2d7d #-} │ │ │ -0004d090: 0a7b 2d23 2042 5549 4c54 494e 2041 4744 .{-# BUILTIN AGD │ │ │ -0004d0a0: 4154 434d 4745 5444 4546 494e 4954 494f ATCMGETDEFINITIO │ │ │ -0004d0b0: 4e20 2020 2020 2020 2020 2020 2020 2067 N g │ │ │ -0004d0c0: 6574 4465 6669 6e69 7469 6f6e 2020 2020 etDefinition │ │ │ -0004d0d0: 2020 2020 2020 2020 2020 232d 7d0a 7b2d #-}.{- │ │ │ -0004d0e0: 2320 4255 494c 5449 4e20 4147 4441 5443 # BUILTIN AGDATC │ │ │ -0004d0f0: 4d42 4c4f 434b 2020 2020 2020 2020 2020 MBLOCK │ │ │ -0004d100: 2020 2020 2020 2020 2020 2020 626c 6f63 bloc │ │ │ -0004d110: 6b54 4320 2020 2020 2020 2020 2020 2020 kTC │ │ │ -0004d120: 2020 2020 2020 2023 2d7d 0a7b 2d23 2042 #-}.{-# B │ │ │ -0004d130: 5549 4c54 494e 2041 4744 4154 434d 434f UILTIN AGDATCMCO │ │ │ -0004d140: 4d4d 4954 2020 2020 2020 2020 2020 2020 MMIT │ │ │ -0004d150: 2020 2020 2020 2020 2063 6f6d 6d69 7454 commitT │ │ │ -0004d160: 4320 2020 2020 2020 2020 2020 2020 2020 C │ │ │ -0004d170: 2020 2020 232d 7d0a 7b2d 2320 4255 494c #-}.{-# BUIL │ │ │ -0004d180: 5449 4e20 4147 4441 5443 4d49 534d 4143 TIN AGDATCMISMAC │ │ │ -0004d190: 524f 2020 2020 2020 2020 2020 2020 2020 RO │ │ │ -0004d1a0: 2020 2020 2020 6973 4d61 6372 6f20 2020 isMacro │ │ │ +0004d070: 2020 2067 6574 5479 7065 2020 2020 2020 getType │ │ │ +0004d080: 2020 2020 2020 2020 2020 2020 2020 232d #- │ │ │ +0004d090: 7d0a 7b2d 2320 4255 494c 5449 4e20 4147 }.{-# BUILTIN AG │ │ │ +0004d0a0: 4441 5443 4d47 4554 4445 4649 4e49 5449 DATCMGETDEFINITI │ │ │ +0004d0b0: 4f4e 2020 2020 2020 2020 2020 2020 2020 ON │ │ │ +0004d0c0: 6765 7444 6566 696e 6974 696f 6e20 2020 getDefinition │ │ │ +0004d0d0: 2020 2020 2020 2020 2020 2023 2d7d 0a7b #-}.{ │ │ │ +0004d0e0: 2d23 2042 5549 4c54 494e 2041 4744 4154 -# BUILTIN AGDAT │ │ │ +0004d0f0: 434d 424c 4f43 4b20 2020 2020 2020 2020 CMBLOCK │ │ │ +0004d100: 2020 2020 2020 2020 2020 2020 2062 6c6f blo │ │ │ +0004d110: 636b 5443 2020 2020 2020 2020 2020 2020 ckTC │ │ │ +0004d120: 2020 2020 2020 2020 232d 7d0a 7b2d 2320 #-}.{-# │ │ │ +0004d130: 4255 494c 5449 4e20 4147 4441 5443 4d43 BUILTIN AGDATCMC │ │ │ +0004d140: 4f4d 4d49 5420 2020 2020 2020 2020 2020 OMMIT │ │ │ +0004d150: 2020 2020 2020 2020 2020 636f 6d6d 6974 commit │ │ │ +0004d160: 5443 2020 2020 2020 2020 2020 2020 2020 TC │ │ │ +0004d170: 2020 2020 2023 2d7d 0a7b 2d23 2042 5549 #-}.{-# BUI │ │ │ +0004d180: 4c54 494e 2041 4744 4154 434d 4953 4d41 LTIN AGDATCMISMA │ │ │ +0004d190: 4352 4f20 2020 2020 2020 2020 2020 2020 CRO │ │ │ +0004d1a0: 2020 2020 2020 2069 734d 6163 726f 2020 isMacro │ │ │ 0004d1b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0004d1c0: 2023 2d7d 0a7b 2d23 2042 5549 4c54 494e #-}.{-# BUILTIN │ │ │ -0004d1d0: 2041 4744 4154 434d 5052 4147 4d41 464f AGDATCMPRAGMAFO │ │ │ -0004d1e0: 5245 4947 4e20 2020 2020 2020 2020 2020 REIGN │ │ │ -0004d1f0: 2020 2070 7261 676d 6146 6f72 6569 676e pragmaForeign │ │ │ -0004d200: 2020 2020 2020 2020 2020 2020 2020 232d #- │ │ │ -0004d210: 7d0a 7b2d 2320 4255 494c 5449 4e20 4147 }.{-# BUILTIN AG │ │ │ -0004d220: 4441 5443 4d50 5241 474d 4143 4f4d 5049 DATCMPRAGMACOMPI │ │ │ -0004d230: 4c45 2020 2020 2020 2020 2020 2020 2020 LE │ │ │ -0004d240: 7072 6167 6d61 436f 6d70 696c 6520 2020 pragmaCompile │ │ │ -0004d250: 2020 2020 2020 2020 2020 2023 2d7d 0a7b #-}.{ │ │ │ -0004d260: 2d23 2042 5549 4c54 494e 2041 4744 4154 -# BUILTIN AGDAT │ │ │ -0004d270: 434d 5749 5448 4e4f 524d 414c 4953 4154 CMWITHNORMALISAT │ │ │ -0004d280: 494f 4e20 2020 2020 2020 2020 2077 6974 ION wit │ │ │ -0004d290: 684e 6f72 6d61 6c69 7361 7469 6f6e 2020 hNormalisation │ │ │ -0004d2a0: 2020 2020 2020 2020 232d 7d0a 7b2d 2320 #-}.{-# │ │ │ -0004d2b0: 4255 494c 5449 4e20 4147 4441 5443 4d57 BUILTIN AGDATCMW │ │ │ -0004d2c0: 4954 4852 4543 4f4e 5354 5255 4354 4544 ITHRECONSTRUCTED │ │ │ -0004d2d0: 2020 2020 2020 2020 2020 7769 7468 5265 withRe │ │ │ -0004d2e0: 636f 6e73 7472 7563 7465 6420 2020 2020 constructed │ │ │ -0004d2f0: 2020 2020 2023 2d7d 0a7b 2d23 2042 5549 #-}.{-# BUI │ │ │ -0004d300: 4c54 494e 2041 4744 4154 434d 5749 5448 LTIN AGDATCMWITH │ │ │ -0004d310: 4558 5041 4e44 4c41 5354 2020 2020 2020 EXPANDLAST │ │ │ -0004d320: 2020 2020 2020 2077 6974 6845 7870 616e withExpan │ │ │ -0004d330: 644c 6173 7420 2020 2020 2020 2020 2020 dLast │ │ │ -0004d340: 2020 232d 7d0a 7b2d 2320 4255 494c 5449 #-}.{-# BUILTI │ │ │ -0004d350: 4e20 4147 4441 5443 4d57 4954 4852 4544 N AGDATCMWITHRED │ │ │ -0004d360: 5543 4544 4546 5320 2020 2020 2020 2020 UCEDEFS │ │ │ -0004d370: 2020 2020 7769 7468 5265 6475 6365 4465 withReduceDe │ │ │ -0004d380: 6673 2020 2020 2020 2020 2020 2020 2023 fs # │ │ │ -0004d390: 2d7d 0a7b 2d23 2042 5549 4c54 494e 2041 -}.{-# BUILTIN A │ │ │ -0004d3a0: 4744 4154 434d 4153 4b4e 4f52 4d41 4c49 GDATCMASKNORMALI │ │ │ -0004d3b0: 5341 5449 4f4e 2020 2020 2020 2020 2020 SATION │ │ │ -0004d3c0: 2061 736b 4e6f 726d 616c 6973 6174 696f askNormalisatio │ │ │ -0004d3d0: 6e20 2020 2020 2020 2020 2020 232d 7d0a n #-}. │ │ │ -0004d3e0: 7b2d 2320 4255 494c 5449 4e20 4147 4441 {-# BUILTIN AGDA │ │ │ -0004d3f0: 5443 4d41 534b 5245 434f 4e53 5452 5543 TCMASKRECONSTRUC │ │ │ -0004d400: 5445 4420 2020 2020 2020 2020 2020 6173 TED as │ │ │ -0004d410: 6b52 6563 6f6e 7374 7275 6374 6564 2020 kReconstructed │ │ │ -0004d420: 2020 2020 2020 2020 2023 2d7d 0a7b 2d23 #-}.{-# │ │ │ -0004d430: 2042 5549 4c54 494e 2041 4744 4154 434d BUILTIN AGDATCM │ │ │ -0004d440: 4153 4b45 5850 414e 444c 4153 5420 2020 ASKEXPANDLAST │ │ │ -0004d450: 2020 2020 2020 2020 2020 2061 736b 4578 askEx │ │ │ -0004d460: 7061 6e64 4c61 7374 2020 2020 2020 2020 pandLast │ │ │ -0004d470: 2020 2020 2020 232d 7d0a 7b2d 2320 4255 #-}.{-# BU │ │ │ -0004d480: 494c 5449 4e20 4147 4441 5443 4d41 534b ILTIN AGDATCMASK │ │ │ -0004d490: 5245 4455 4345 4445 4653 2020 2020 2020 REDUCEDEFS │ │ │ -0004d4a0: 2020 2020 2020 2020 6173 6b52 6564 7563 askReduc │ │ │ -0004d4b0: 6544 6566 7320 2020 2020 2020 2020 2020 eDefs │ │ │ -0004d4c0: 2020 2023 2d7d 0a7b 2d23 2042 5549 4c54 #-}.{-# BUILT │ │ │ -0004d4d0: 494e 2041 4744 4154 434d 464f 524d 4154 IN AGDATCMFORMAT │ │ │ -0004d4e0: 4552 524f 5250 4152 5453 2020 2020 2020 ERRORPARTS │ │ │ -0004d4f0: 2020 2020 2066 6f72 6d61 7445 7272 6f72 formatError │ │ │ -0004d500: 5061 7274 7320 2020 2020 2020 2020 2020 Parts │ │ │ -0004d510: 232d 7d0a 7b2d 2320 4255 494c 5449 4e20 #-}.{-# BUILTIN │ │ │ -0004d520: 4147 4441 5443 4d44 4542 5547 5052 494e AGDATCMDEBUGPRIN │ │ │ -0004d530: 5420 2020 2020 2020 2020 2020 2020 2020 T │ │ │ -0004d540: 2020 6465 6275 6750 7269 6e74 2020 2020 debugPrint │ │ │ -0004d550: 2020 2020 2020 2020 2020 2020 2023 2d7d #-} │ │ │ -0004d560: 0a7b 2d23 2042 5549 4c54 494e 2041 4744 .{-# BUILTIN AGD │ │ │ -0004d570: 4154 434d 4e4f 434f 4e53 5452 4149 4e54 ATCMNOCONSTRAINT │ │ │ -0004d580: 5320 2020 2020 2020 2020 2020 2020 206e S n │ │ │ -0004d590: 6f43 6f6e 7374 7261 696e 7473 2020 2020 oConstraints │ │ │ -0004d5a0: 2020 2020 2020 2020 2020 232d 7d0a 7b2d #-}.{- │ │ │ -0004d5b0: 2320 4255 494c 5449 4e20 4147 4441 5443 # BUILTIN AGDATC │ │ │ -0004d5c0: 4d57 4f52 4b4f 4e54 5950 4553 2020 2020 MWORKONTYPES │ │ │ -0004d5d0: 2020 2020 2020 2020 2020 2020 776f 726b work │ │ │ -0004d5e0: 4f6e 5479 7065 7320 2020 2020 2020 2020 OnTypes │ │ │ -0004d5f0: 2020 2020 2020 2023 2d7d 0a7b 2d23 2042 #-}.{-# B │ │ │ -0004d600: 5549 4c54 494e 2041 4744 4154 434d 5255 UILTIN AGDATCMRU │ │ │ -0004d610: 4e53 5045 4355 4c41 5449 5645 2020 2020 NSPECULATIVE │ │ │ -0004d620: 2020 2020 2020 2020 2072 756e 5370 6563 runSpec │ │ │ -0004d630: 756c 6174 6976 6520 2020 2020 2020 2020 ulative │ │ │ -0004d640: 2020 2020 232d 7d0a 7b2d 2320 4255 494c #-}.{-# BUIL │ │ │ -0004d650: 5449 4e20 4147 4441 5443 4d47 4554 494e TIN AGDATCMGETIN │ │ │ -0004d660: 5354 414e 4345 5320 2020 2020 2020 2020 STANCES │ │ │ -0004d670: 2020 2020 2020 6765 7449 6e73 7461 6e63 getInstanc │ │ │ -0004d680: 6573 2020 2020 2020 2020 2020 2020 2020 es │ │ │ -0004d690: 2023 2d7d 0a7b 2d23 2042 5549 4c54 494e #-}.{-# BUILTIN │ │ │ -0004d6a0: 2041 4744 4154 434d 534f 4c56 4549 4e53 AGDATCMSOLVEINS │ │ │ -0004d6b0: 5441 4e43 4553 2020 2020 2020 2020 2020 TANCES │ │ │ -0004d6c0: 2020 2073 6f6c 7665 496e 7374 616e 6365 solveInstance │ │ │ -0004d6d0: 436f 6e73 7472 6169 6e74 7320 2020 232d Constraints #- │ │ │ -0004d6e0: 7d0a 7b2d 2320 4255 494c 5449 4e20 4147 }.{-# BUILTIN AG │ │ │ -0004d6f0: 4441 5443 4d43 4845 434b 4652 4f4d 5354 DATCMCHECKFROMST │ │ │ -0004d700: 5249 4e47 2020 2020 2020 2020 2020 2020 RING │ │ │ -0004d710: 6368 6563 6b46 726f 6d53 7472 696e 6754 checkFromStringT │ │ │ -0004d720: 4320 2020 2020 2020 2020 2023 2d7d 0a0a C #-}.. │ │ │ -0004d730: 2d2d 2041 6c6c 2074 6865 2054 4320 7072 -- All the TC pr │ │ │ -0004d740: 696d 6974 6976 6573 2061 7265 2063 6f6d imitives are com │ │ │ -0004d750: 7069 6c65 6420 746f 2066 756e 6374 696f piled to functio │ │ │ -0004d760: 6e73 2074 6861 7420 7265 7475 726e 0a2d ns that return.- │ │ │ -0004d770: 2d20 756e 6465 6669 6e65 642c 2072 6174 - undefined, rat │ │ │ -0004d780: 6865 7220 7468 616e 206a 7573 7420 756e her than just un │ │ │ -0004d790: 6465 6669 6e65 642c 2069 6e20 616e 2061 defined, in an a │ │ │ -0004d7a0: 7474 656d 7074 2074 6f20 6d61 6b65 2073 ttempt to make s │ │ │ -0004d7b0: 7572 650a 2d2d 2074 6861 7420 636f 6465 ure.-- that code │ │ │ -0004d7c0: 2077 696c 6c20 7275 6e20 7072 6f70 6572 will run proper │ │ │ -0004d7d0: 6c79 2e0a 7b2d 2320 434f 4d50 494c 4520 ly..{-# COMPILE │ │ │ -0004d7e0: 4a53 2072 6574 7572 6e54 4320 2020 2020 JS returnTC │ │ │ -0004d7f0: 2020 2020 203d 205f 203d 3e20 5f20 3d3e = _ => _ => │ │ │ -0004d800: 205f 203d 3e20 2020 2020 2075 6e64 6566 _ => undef │ │ │ -0004d810: 696e 6564 2023 2d7d 0a7b 2d23 2043 4f4d ined #-}.{-# COM │ │ │ -0004d820: 5049 4c45 204a 5320 6269 6e64 5443 2020 PILE JS bindTC │ │ │ -0004d830: 2020 2020 2020 2020 2020 3d20 5f20 3d3e = _ => │ │ │ -0004d840: 205f 203d 3e20 5f20 3d3e 205f 203d 3e0a _ => _ => _ =>. │ │ │ -0004d850: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +0004d1c0: 2020 232d 7d0a 7b2d 2320 4255 494c 5449 #-}.{-# BUILTI │ │ │ +0004d1d0: 4e20 4147 4441 5443 4d50 5241 474d 4146 N AGDATCMPRAGMAF │ │ │ +0004d1e0: 4f52 4549 474e 2020 2020 2020 2020 2020 OREIGN │ │ │ +0004d1f0: 2020 2020 7072 6167 6d61 466f 7265 6967 pragmaForeig │ │ │ +0004d200: 6e20 2020 2020 2020 2020 2020 2020 2023 n # │ │ │ +0004d210: 2d7d 0a7b 2d23 2042 5549 4c54 494e 2041 -}.{-# BUILTIN A │ │ │ +0004d220: 4744 4154 434d 5052 4147 4d41 434f 4d50 GDATCMPRAGMACOMP │ │ │ +0004d230: 494c 4520 2020 2020 2020 2020 2020 2020 ILE │ │ │ +0004d240: 2070 7261 676d 6143 6f6d 7069 6c65 2020 pragmaCompile │ │ │ +0004d250: 2020 2020 2020 2020 2020 2020 232d 7d0a #-}. │ │ │ +0004d260: 7b2d 2320 4255 494c 5449 4e20 4147 4441 {-# BUILTIN AGDA │ │ │ +0004d270: 5443 4d57 4954 484e 4f52 4d41 4c49 5341 TCMWITHNORMALISA │ │ │ +0004d280: 5449 4f4e 2020 2020 2020 2020 2020 7769 TION wi │ │ │ +0004d290: 7468 4e6f 726d 616c 6973 6174 696f 6e20 thNormalisation │ │ │ +0004d2a0: 2020 2020 2020 2020 2023 2d7d 0a7b 2d23 #-}.{-# │ │ │ +0004d2b0: 2042 5549 4c54 494e 2041 4744 4154 434d BUILTIN AGDATCM │ │ │ +0004d2c0: 5749 5448 5245 434f 4e53 5452 5543 5445 WITHRECONSTRUCTE │ │ │ +0004d2d0: 4420 2020 2020 2020 2020 2077 6974 6852 D withR │ │ │ +0004d2e0: 6563 6f6e 7374 7275 6374 6564 2020 2020 econstructed │ │ │ +0004d2f0: 2020 2020 2020 232d 7d0a 7b2d 2320 4255 #-}.{-# BU │ │ │ +0004d300: 494c 5449 4e20 4147 4441 5443 4d57 4954 ILTIN AGDATCMWIT │ │ │ +0004d310: 4845 5850 414e 444c 4153 5420 2020 2020 HEXPANDLAST │ │ │ +0004d320: 2020 2020 2020 2020 7769 7468 4578 7061 withExpa │ │ │ +0004d330: 6e64 4c61 7374 2020 2020 2020 2020 2020 ndLast │ │ │ +0004d340: 2020 2023 2d7d 0a7b 2d23 2042 5549 4c54 #-}.{-# BUILT │ │ │ +0004d350: 494e 2041 4744 4154 434d 5749 5448 5245 IN AGDATCMWITHRE │ │ │ +0004d360: 4455 4345 4445 4653 2020 2020 2020 2020 DUCEDEFS │ │ │ +0004d370: 2020 2020 2077 6974 6852 6564 7563 6544 withReduceD │ │ │ +0004d380: 6566 7320 2020 2020 2020 2020 2020 2020 efs │ │ │ +0004d390: 232d 7d0a 7b2d 2320 4255 494c 5449 4e20 #-}.{-# BUILTIN │ │ │ +0004d3a0: 4147 4441 5443 4d41 534b 4e4f 524d 414c AGDATCMASKNORMAL │ │ │ +0004d3b0: 4953 4154 494f 4e20 2020 2020 2020 2020 ISATION │ │ │ +0004d3c0: 2020 6173 6b4e 6f72 6d61 6c69 7361 7469 askNormalisati │ │ │ +0004d3d0: 6f6e 2020 2020 2020 2020 2020 2023 2d7d on #-} │ │ │ +0004d3e0: 0a7b 2d23 2042 5549 4c54 494e 2041 4744 .{-# BUILTIN AGD │ │ │ +0004d3f0: 4154 434d 4153 4b52 4543 4f4e 5354 5255 ATCMASKRECONSTRU │ │ │ +0004d400: 4354 4544 2020 2020 2020 2020 2020 2061 CTED a │ │ │ +0004d410: 736b 5265 636f 6e73 7472 7563 7465 6420 skReconstructed │ │ │ +0004d420: 2020 2020 2020 2020 2020 232d 7d0a 7b2d #-}.{- │ │ │ +0004d430: 2320 4255 494c 5449 4e20 4147 4441 5443 # BUILTIN AGDATC │ │ │ +0004d440: 4d41 534b 4558 5041 4e44 4c41 5354 2020 MASKEXPANDLAST │ │ │ +0004d450: 2020 2020 2020 2020 2020 2020 6173 6b45 askE │ │ │ +0004d460: 7870 616e 644c 6173 7420 2020 2020 2020 xpandLast │ │ │ +0004d470: 2020 2020 2020 2023 2d7d 0a7b 2d23 2042 #-}.{-# B │ │ │ +0004d480: 5549 4c54 494e 2041 4744 4154 434d 4153 UILTIN AGDATCMAS │ │ │ +0004d490: 4b52 4544 5543 4544 4546 5320 2020 2020 KREDUCEDEFS │ │ │ +0004d4a0: 2020 2020 2020 2020 2061 736b 5265 6475 askRedu │ │ │ +0004d4b0: 6365 4465 6673 2020 2020 2020 2020 2020 ceDefs │ │ │ +0004d4c0: 2020 2020 232d 7d0a 7b2d 2320 4255 494c #-}.{-# BUIL │ │ │ +0004d4d0: 5449 4e20 4147 4441 5443 4d46 4f52 4d41 TIN AGDATCMFORMA │ │ │ +0004d4e0: 5445 5252 4f52 5041 5254 5320 2020 2020 TERRORPARTS │ │ │ +0004d4f0: 2020 2020 2020 666f 726d 6174 4572 726f formatErro │ │ │ +0004d500: 7250 6172 7473 2020 2020 2020 2020 2020 rParts │ │ │ +0004d510: 2023 2d7d 0a7b 2d23 2042 5549 4c54 494e #-}.{-# BUILTIN │ │ │ +0004d520: 2041 4744 4154 434d 4445 4255 4750 5249 AGDATCMDEBUGPRI │ │ │ +0004d530: 4e54 2020 2020 2020 2020 2020 2020 2020 NT │ │ │ +0004d540: 2020 2064 6562 7567 5072 696e 7420 2020 debugPrint │ │ │ +0004d550: 2020 2020 2020 2020 2020 2020 2020 232d #- │ │ │ +0004d560: 7d0a 7b2d 2320 4255 494c 5449 4e20 4147 }.{-# BUILTIN AG │ │ │ +0004d570: 4441 5443 4d4e 4f43 4f4e 5354 5241 494e DATCMNOCONSTRAIN │ │ │ +0004d580: 5453 2020 2020 2020 2020 2020 2020 2020 TS │ │ │ +0004d590: 6e6f 436f 6e73 7472 6169 6e74 7320 2020 noConstraints │ │ │ +0004d5a0: 2020 2020 2020 2020 2020 2023 2d7d 0a7b #-}.{ │ │ │ +0004d5b0: 2d23 2042 5549 4c54 494e 2041 4744 4154 -# BUILTIN AGDAT │ │ │ +0004d5c0: 434d 574f 524b 4f4e 5459 5045 5320 2020 CMWORKONTYPES │ │ │ +0004d5d0: 2020 2020 2020 2020 2020 2020 2077 6f72 wor │ │ │ +0004d5e0: 6b4f 6e54 7970 6573 2020 2020 2020 2020 kOnTypes │ │ │ +0004d5f0: 2020 2020 2020 2020 232d 7d0a 7b2d 2320 #-}.{-# │ │ │ +0004d600: 4255 494c 5449 4e20 4147 4441 5443 4d52 BUILTIN AGDATCMR │ │ │ +0004d610: 554e 5350 4543 554c 4154 4956 4520 2020 UNSPECULATIVE │ │ │ +0004d620: 2020 2020 2020 2020 2020 7275 6e53 7065 runSpe │ │ │ +0004d630: 6375 6c61 7469 7665 2020 2020 2020 2020 culative │ │ │ +0004d640: 2020 2020 2023 2d7d 0a7b 2d23 2042 5549 #-}.{-# BUI │ │ │ +0004d650: 4c54 494e 2041 4744 4154 434d 4745 5449 LTIN AGDATCMGETI │ │ │ +0004d660: 4e53 5441 4e43 4553 2020 2020 2020 2020 NSTANCES │ │ │ +0004d670: 2020 2020 2020 2067 6574 496e 7374 616e getInstan │ │ │ +0004d680: 6365 7320 2020 2020 2020 2020 2020 2020 ces │ │ │ +0004d690: 2020 232d 7d0a 7b2d 2320 4255 494c 5449 #-}.{-# BUILTI │ │ │ +0004d6a0: 4e20 4147 4441 5443 4d53 4f4c 5645 494e N AGDATCMSOLVEIN │ │ │ +0004d6b0: 5354 414e 4345 5320 2020 2020 2020 2020 STANCES │ │ │ +0004d6c0: 2020 2020 736f 6c76 6549 6e73 7461 6e63 solveInstanc │ │ │ +0004d6d0: 6543 6f6e 7374 7261 696e 7473 2020 2023 eConstraints # │ │ │ +0004d6e0: 2d7d 0a7b 2d23 2042 5549 4c54 494e 2041 -}.{-# BUILTIN A │ │ │ +0004d6f0: 4744 4154 434d 4348 4543 4b46 524f 4d53 GDATCMCHECKFROMS │ │ │ +0004d700: 5452 494e 4720 2020 2020 2020 2020 2020 TRING │ │ │ +0004d710: 2063 6865 636b 4672 6f6d 5374 7269 6e67 checkFromString │ │ │ +0004d720: 5443 2020 2020 2020 2020 2020 232d 7d0a TC #-}. │ │ │ +0004d730: 0a2d 2d20 416c 6c20 7468 6520 5443 2070 .-- All the TC p │ │ │ +0004d740: 7269 6d69 7469 7665 7320 6172 6520 636f rimitives are co │ │ │ +0004d750: 6d70 696c 6564 2074 6f20 6675 6e63 7469 mpiled to functi │ │ │ +0004d760: 6f6e 7320 7468 6174 2072 6574 7572 6e0a ons that return. │ │ │ +0004d770: 2d2d 2075 6e64 6566 696e 6564 2c20 7261 -- undefined, ra │ │ │ +0004d780: 7468 6572 2074 6861 6e20 6a75 7374 2075 ther than just u │ │ │ +0004d790: 6e64 6566 696e 6564 2c20 696e 2061 6e20 ndefined, in an │ │ │ +0004d7a0: 6174 7465 6d70 7420 746f 206d 616b 6520 attempt to make │ │ │ +0004d7b0: 7375 7265 0a2d 2d20 7468 6174 2063 6f64 sure.-- that cod │ │ │ +0004d7c0: 6520 7769 6c6c 2072 756e 2070 726f 7065 e will run prope │ │ │ +0004d7d0: 726c 792e 0a7b 2d23 2043 4f4d 5049 4c45 rly..{-# COMPILE │ │ │ +0004d7e0: 204a 5320 7265 7475 726e 5443 2020 2020 JS returnTC │ │ │ +0004d7f0: 2020 2020 2020 3d20 5f20 3d3e 205f 203d = _ => _ = │ │ │ +0004d800: 3e20 5f20 3d3e 2020 2020 2020 756e 6465 > _ => unde │ │ │ +0004d810: 6669 6e65 6420 232d 7d0a 7b2d 2320 434f fined #-}.{-# CO │ │ │ +0004d820: 4d50 494c 4520 4a53 2062 696e 6454 4320 MPILE JS bindTC │ │ │ +0004d830: 2020 2020 2020 2020 2020 203d 205f 203d = _ = │ │ │ +0004d840: 3e20 5f20 3d3e 205f 203d 3e20 5f20 3d3e > _ => _ => _ => │ │ │ +0004d850: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ 0004d860: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0004d870: 2020 205f 203d 3e20 5f20 3d3e 2020 2020 _ => _ => │ │ │ -0004d880: 2020 2020 2020 2075 6e64 6566 696e 6564 undefined │ │ │ -0004d890: 2023 2d7d 0a7b 2d23 2043 4f4d 5049 4c45 #-}.{-# COMPILE │ │ │ -0004d8a0: 204a 5320 756e 6966 7920 2020 2020 2020 JS unify │ │ │ -0004d8b0: 2020 2020 2020 3d20 5f20 3d3e 205f 203d = _ => _ = │ │ │ -0004d8c0: 3e20 2020 2020 2020 2020 2020 756e 6465 > unde │ │ │ -0004d8d0: 6669 6e65 6420 232d 7d0a 7b2d 2320 434f fined #-}.{-# CO │ │ │ -0004d8e0: 4d50 494c 4520 4a53 2074 7970 6545 7272 MPILE JS typeErr │ │ │ -0004d8f0: 6f72 2020 2020 2020 2020 203d 205f 203d or = _ = │ │ │ -0004d900: 3e20 5f20 3d3e 205f 203d 3e20 2020 2020 > _ => _ => │ │ │ -0004d910: 2075 6e64 6566 696e 6564 2023 2d7d 0a7b undefined #-}.{ │ │ │ -0004d920: 2d23 2043 4f4d 5049 4c45 204a 5320 696e -# COMPILE JS in │ │ │ -0004d930: 6665 7254 7970 6520 2020 2020 2020 2020 ferType │ │ │ -0004d940: 3d20 5f20 3d3e 2020 2020 2020 2020 2020 = _ => │ │ │ -0004d950: 2020 2020 2020 756e 6465 6669 6e65 6420 undefined │ │ │ -0004d960: 232d 7d0a 7b2d 2320 434f 4d50 494c 4520 #-}.{-# COMPILE │ │ │ -0004d970: 4a53 2063 6865 636b 5479 7065 2020 2020 JS checkType │ │ │ -0004d980: 2020 2020 203d 205f 203d 3e20 5f20 3d3e = _ => _ => │ │ │ -0004d990: 2020 2020 2020 2020 2020 2075 6e64 6566 undef │ │ │ -0004d9a0: 696e 6564 2023 2d7d 0a7b 2d23 2043 4f4d ined #-}.{-# COM │ │ │ -0004d9b0: 5049 4c45 204a 5320 6e6f 726d 616c 6973 PILE JS normalis │ │ │ -0004d9c0: 6520 2020 2020 2020 2020 3d20 5f20 3d3e e = _ => │ │ │ -0004d9d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0004d9e0: 756e 6465 6669 6e65 6420 232d 7d0a 7b2d undefined #-}.{- │ │ │ -0004d9f0: 2320 434f 4d50 494c 4520 4a53 2072 6564 # COMPILE JS red │ │ │ -0004da00: 7563 6520 2020 2020 2020 2020 2020 203d uce = │ │ │ -0004da10: 205f 203d 3e20 2020 2020 2020 2020 2020 _ => │ │ │ -0004da20: 2020 2020 2075 6e64 6566 696e 6564 2023 undefined # │ │ │ -0004da30: 2d7d 0a7b 2d23 2043 4f4d 5049 4c45 204a -}.{-# COMPILE J │ │ │ -0004da40: 5320 6361 7463 6854 4320 2020 2020 2020 S catchTC │ │ │ -0004da50: 2020 2020 3d20 5f20 3d3e 205f 203d 3e20 = _ => _ => │ │ │ -0004da60: 5f20 3d3e 205f 203d 3e20 756e 6465 6669 _ => _ => undefi │ │ │ -0004da70: 6e65 6420 232d 7d0a 7b2d 2320 434f 4d50 ned #-}.{-# COMP │ │ │ -0004da80: 494c 4520 4a53 2071 756f 7465 5443 2020 ILE JS quoteTC │ │ │ -0004da90: 2020 2020 2020 2020 203d 205f 203d 3e20 = _ => │ │ │ -0004daa0: 5f20 3d3e 205f 203d 3e20 2020 2020 2075 _ => _ => u │ │ │ -0004dab0: 6e64 6566 696e 6564 2023 2d7d 0a7b 2d23 ndefined #-}.{-# │ │ │ -0004dac0: 2043 4f4d 5049 4c45 204a 5320 756e 7175 COMPILE JS unqu │ │ │ -0004dad0: 6f74 6554 4320 2020 2020 2020 2020 3d20 oteTC = │ │ │ -0004dae0: 5f20 3d3e 205f 203d 3e20 5f20 3d3e 2020 _ => _ => _ => │ │ │ -0004daf0: 2020 2020 756e 6465 6669 6e65 6420 232d undefined #- │ │ │ -0004db00: 7d0a 7b2d 2320 434f 4d50 494c 4520 4a53 }.{-# COMPILE JS │ │ │ -0004db10: 2071 756f 7465 cf89 5443 2020 2020 2020 quote..TC │ │ │ -0004db20: 2020 2020 3d20 5f20 3d3e 205f 203d 3e20 = _ => _ => │ │ │ -0004db30: 2020 2020 2020 2020 2020 756e 6465 6669 undefi │ │ │ -0004db40: 6e65 6420 232d 7d0a 7b2d 2320 434f 4d50 ned #-}.{-# COMP │ │ │ -0004db50: 494c 4520 4a53 2067 6574 436f 6e74 6578 ILE JS getContex │ │ │ -0004db60: 7420 2020 2020 2020 203d 2020 2020 2020 t = │ │ │ -0004db70: 2020 2020 2020 2020 2020 2020 2020 2075 u │ │ │ -0004db80: 6e64 6566 696e 6564 2023 2d7d 0a7b 2d23 ndefined #-}.{-# │ │ │ -0004db90: 2043 4f4d 5049 4c45 204a 5320 6578 7465 COMPILE JS exte │ │ │ -0004dba0: 6e64 436f 6e74 6578 7420 2020 2020 3d20 ndContext = │ │ │ -0004dbb0: 5f20 3d3e 205f 203d 3e20 5f20 3d3e 205f _ => _ => _ => _ │ │ │ -0004dbc0: 203d 3e20 5f20 3d3e 2075 6e64 6566 696e => _ => undefin │ │ │ -0004dbd0: 6564 2023 2d7d 0a7b 2d23 2043 4f4d 5049 ed #-}.{-# COMPI │ │ │ -0004dbe0: 4c45 204a 5320 696e 436f 6e74 6578 7420 LE JS inContext │ │ │ -0004dbf0: 2020 2020 2020 2020 3d20 5f20 3d3e 205f = _ => _ │ │ │ -0004dc00: 203d 3e20 5f20 3d3e 205f 203d 3e20 756e => _ => _ => un │ │ │ -0004dc10: 6465 6669 6e65 6420 232d 7d0a 7b2d 2320 defined #-}.{-# │ │ │ -0004dc20: 434f 4d50 494c 4520 4a53 2066 7265 7368 COMPILE JS fresh │ │ │ -0004dc30: 4e61 6d65 2020 2020 2020 2020 203d 205f Name = _ │ │ │ -0004dc40: 203d 3e20 2020 2020 2020 2020 2020 2020 => │ │ │ -0004dc50: 2020 2075 6e64 6566 696e 6564 2023 2d7d undefined #-} │ │ │ -0004dc60: 0a7b 2d23 2043 4f4d 5049 4c45 204a 5320 .{-# COMPILE JS │ │ │ -0004dc70: 6465 636c 6172 6544 6566 2020 2020 2020 declareDef │ │ │ -0004dc80: 2020 3d20 5f20 3d3e 205f 203d 3e20 2020 = _ => _ => │ │ │ -0004dc90: 2020 2020 2020 2020 756e 6465 6669 6e65 undefine │ │ │ -0004dca0: 6420 232d 7d0a 7b2d 2320 434f 4d50 494c d #-}.{-# COMPIL │ │ │ -0004dcb0: 4520 4a53 2064 6563 6c61 7265 506f 7374 E JS declarePost │ │ │ -0004dcc0: 756c 6174 6520 203d 205f 203d 3e20 5f20 ulate = _ => _ │ │ │ -0004dcd0: 3d3e 2020 2020 2020 2020 2020 2075 6e64 => und │ │ │ -0004dce0: 6566 696e 6564 2023 2d7d 0a7b 2d23 2043 efined #-}.{-# C │ │ │ -0004dcf0: 4f4d 5049 4c45 204a 5320 6465 636c 6172 OMPILE JS declar │ │ │ -0004dd00: 6544 6174 6120 2020 2020 2020 3d20 5f20 eData = _ │ │ │ -0004dd10: 3d3e 205f 203d 3e20 5f20 3d3e 2020 2020 => _ => _ => │ │ │ -0004dd20: 2020 756e 6465 6669 6e65 6420 232d 7d0a undefined #-}. │ │ │ -0004dd30: 7b2d 2320 434f 4d50 494c 4520 4a53 2064 {-# COMPILE JS d │ │ │ -0004dd40: 6566 696e 6544 6174 6120 2020 2020 2020 efineData │ │ │ -0004dd50: 203d 205f 203d 3e20 5f20 3d3e 2020 2020 = _ => _ => │ │ │ -0004dd60: 2020 2020 2020 2075 6e64 6566 696e 6564 undefined │ │ │ -0004dd70: 2023 2d7d 0a7b 2d23 2043 4f4d 5049 4c45 #-}.{-# COMPILE │ │ │ -0004dd80: 204a 5320 6465 6669 6e65 4675 6e20 2020 JS defineFun │ │ │ -0004dd90: 2020 2020 2020 3d20 5f20 3d3e 205f 203d = _ => _ = │ │ │ -0004dda0: 3e20 2020 2020 2020 2020 2020 756e 6465 > unde │ │ │ -0004ddb0: 6669 6e65 6420 232d 7d0a 7b2d 2320 434f fined #-}.{-# CO │ │ │ -0004ddc0: 4d50 494c 4520 4a53 2067 6574 5479 7065 MPILE JS getType │ │ │ -0004ddd0: 2020 2020 2020 2020 2020 203d 205f 203d = _ = │ │ │ -0004dde0: 3e20 2020 2020 2020 2020 2020 2020 2020 > │ │ │ -0004ddf0: 2075 6e64 6566 696e 6564 2023 2d7d 0a7b undefined #-}.{ │ │ │ -0004de00: 2d23 2043 4f4d 5049 4c45 204a 5320 6765 -# COMPILE JS ge │ │ │ -0004de10: 7444 6566 696e 6974 696f 6e20 2020 2020 tDefinition │ │ │ -0004de20: 3d20 5f20 3d3e 2020 2020 2020 2020 2020 = _ => │ │ │ -0004de30: 2020 2020 2020 756e 6465 6669 6e65 6420 undefined │ │ │ -0004de40: 232d 7d0a 7b2d 2320 434f 4d50 494c 4520 #-}.{-# COMPILE │ │ │ -0004de50: 4a53 2062 6c6f 636b 5443 2020 2020 2020 JS blockTC │ │ │ -0004de60: 2020 2020 203d 205f 203d 3e20 5f20 3d3e = _ => _ => │ │ │ -0004de70: 2020 2020 2020 2020 2020 2075 6e64 6566 undef │ │ │ -0004de80: 696e 6564 2023 2d7d 0a7b 2d23 2043 4f4d ined #-}.{-# COM │ │ │ -0004de90: 5049 4c45 204a 5320 636f 6d6d 6974 5443 PILE JS commitTC │ │ │ -0004dea0: 2020 2020 2020 2020 2020 3d20 2020 2020 = │ │ │ +0004d870: 2020 2020 5f20 3d3e 205f 203d 3e20 2020 _ => _ => │ │ │ +0004d880: 2020 2020 2020 2020 756e 6465 6669 6e65 undefine │ │ │ +0004d890: 6420 232d 7d0a 7b2d 2320 434f 4d50 494c d #-}.{-# COMPIL │ │ │ +0004d8a0: 4520 4a53 2075 6e69 6679 2020 2020 2020 E JS unify │ │ │ +0004d8b0: 2020 2020 2020 203d 205f 203d 3e20 5f20 = _ => _ │ │ │ +0004d8c0: 3d3e 2020 2020 2020 2020 2020 2075 6e64 => und │ │ │ +0004d8d0: 6566 696e 6564 2023 2d7d 0a7b 2d23 2043 efined #-}.{-# C │ │ │ +0004d8e0: 4f4d 5049 4c45 204a 5320 7479 7065 4572 OMPILE JS typeEr │ │ │ +0004d8f0: 726f 7220 2020 2020 2020 2020 3d20 5f20 ror = _ │ │ │ +0004d900: 3d3e 205f 203d 3e20 5f20 3d3e 2020 2020 => _ => _ => │ │ │ +0004d910: 2020 756e 6465 6669 6e65 6420 232d 7d0a undefined #-}. │ │ │ +0004d920: 7b2d 2320 434f 4d50 494c 4520 4a53 2069 {-# COMPILE JS i │ │ │ +0004d930: 6e66 6572 5479 7065 2020 2020 2020 2020 nferType │ │ │ +0004d940: 203d 205f 203d 3e20 2020 2020 2020 2020 = _ => │ │ │ +0004d950: 2020 2020 2020 2075 6e64 6566 696e 6564 undefined │ │ │ +0004d960: 2023 2d7d 0a7b 2d23 2043 4f4d 5049 4c45 #-}.{-# COMPILE │ │ │ +0004d970: 204a 5320 6368 6563 6b54 7970 6520 2020 JS checkType │ │ │ +0004d980: 2020 2020 2020 3d20 5f20 3d3e 205f 203d = _ => _ = │ │ │ +0004d990: 3e20 2020 2020 2020 2020 2020 756e 6465 > unde │ │ │ +0004d9a0: 6669 6e65 6420 232d 7d0a 7b2d 2320 434f fined #-}.{-# CO │ │ │ +0004d9b0: 4d50 494c 4520 4a53 206e 6f72 6d61 6c69 MPILE JS normali │ │ │ +0004d9c0: 7365 2020 2020 2020 2020 203d 205f 203d se = _ = │ │ │ +0004d9d0: 3e20 2020 2020 2020 2020 2020 2020 2020 > │ │ │ +0004d9e0: 2075 6e64 6566 696e 6564 2023 2d7d 0a7b undefined #-}.{ │ │ │ +0004d9f0: 2d23 2043 4f4d 5049 4c45 204a 5320 7265 -# COMPILE JS re │ │ │ +0004da00: 6475 6365 2020 2020 2020 2020 2020 2020 duce │ │ │ +0004da10: 3d20 5f20 3d3e 2020 2020 2020 2020 2020 = _ => │ │ │ +0004da20: 2020 2020 2020 756e 6465 6669 6e65 6420 undefined │ │ │ +0004da30: 232d 7d0a 7b2d 2320 434f 4d50 494c 4520 #-}.{-# COMPILE │ │ │ +0004da40: 4a53 2063 6174 6368 5443 2020 2020 2020 JS catchTC │ │ │ +0004da50: 2020 2020 203d 205f 203d 3e20 5f20 3d3e = _ => _ => │ │ │ +0004da60: 205f 203d 3e20 5f20 3d3e 2075 6e64 6566 _ => _ => undef │ │ │ +0004da70: 696e 6564 2023 2d7d 0a7b 2d23 2043 4f4d ined #-}.{-# COM │ │ │ +0004da80: 5049 4c45 204a 5320 7175 6f74 6554 4320 PILE JS quoteTC │ │ │ +0004da90: 2020 2020 2020 2020 2020 3d20 5f20 3d3e = _ => │ │ │ +0004daa0: 205f 203d 3e20 5f20 3d3e 2020 2020 2020 _ => _ => │ │ │ +0004dab0: 756e 6465 6669 6e65 6420 232d 7d0a 7b2d undefined #-}.{- │ │ │ +0004dac0: 2320 434f 4d50 494c 4520 4a53 2075 6e71 # COMPILE JS unq │ │ │ +0004dad0: 756f 7465 5443 2020 2020 2020 2020 203d uoteTC = │ │ │ +0004dae0: 205f 203d 3e20 5f20 3d3e 205f 203d 3e20 _ => _ => _ => │ │ │ +0004daf0: 2020 2020 2075 6e64 6566 696e 6564 2023 undefined # │ │ │ +0004db00: 2d7d 0a7b 2d23 2043 4f4d 5049 4c45 204a -}.{-# COMPILE J │ │ │ +0004db10: 5320 7175 6f74 65cf 8954 4320 2020 2020 S quote..TC │ │ │ +0004db20: 2020 2020 203d 205f 203d 3e20 5f20 3d3e = _ => _ => │ │ │ +0004db30: 2020 2020 2020 2020 2020 2075 6e64 6566 undef │ │ │ +0004db40: 696e 6564 2023 2d7d 0a7b 2d23 2043 4f4d ined #-}.{-# COM │ │ │ +0004db50: 5049 4c45 204a 5320 6765 7443 6f6e 7465 PILE JS getConte │ │ │ +0004db60: 7874 2020 2020 2020 2020 3d20 2020 2020 xt = │ │ │ +0004db70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +0004db80: 756e 6465 6669 6e65 6420 232d 7d0a 7b2d undefined #-}.{- │ │ │ +0004db90: 2320 434f 4d50 494c 4520 4a53 2065 7874 # COMPILE JS ext │ │ │ +0004dba0: 656e 6443 6f6e 7465 7874 2020 2020 203d endContext = │ │ │ +0004dbb0: 205f 203d 3e20 5f20 3d3e 205f 203d 3e20 _ => _ => _ => │ │ │ +0004dbc0: 5f20 3d3e 205f 203d 3e20 756e 6465 6669 _ => _ => undefi │ │ │ +0004dbd0: 6e65 6420 232d 7d0a 7b2d 2320 434f 4d50 ned #-}.{-# COMP │ │ │ +0004dbe0: 494c 4520 4a53 2069 6e43 6f6e 7465 7874 ILE JS inContext │ │ │ +0004dbf0: 2020 2020 2020 2020 203d 205f 203d 3e20 = _ => │ │ │ +0004dc00: 5f20 3d3e 205f 203d 3e20 5f20 3d3e 2075 _ => _ => _ => u │ │ │ +0004dc10: 6e64 6566 696e 6564 2023 2d7d 0a7b 2d23 ndefined #-}.{-# │ │ │ +0004dc20: 2043 4f4d 5049 4c45 204a 5320 6672 6573 COMPILE JS fres │ │ │ +0004dc30: 684e 616d 6520 2020 2020 2020 2020 3d20 hName = │ │ │ +0004dc40: 5f20 3d3e 2020 2020 2020 2020 2020 2020 _ => │ │ │ +0004dc50: 2020 2020 756e 6465 6669 6e65 6420 232d undefined #- │ │ │ +0004dc60: 7d0a 7b2d 2320 434f 4d50 494c 4520 4a53 }.{-# COMPILE JS │ │ │ +0004dc70: 2064 6563 6c61 7265 4465 6620 2020 2020 declareDef │ │ │ +0004dc80: 2020 203d 205f 203d 3e20 5f20 3d3e 2020 = _ => _ => │ │ │ +0004dc90: 2020 2020 2020 2020 2075 6e64 6566 696e undefin │ │ │ +0004dca0: 6564 2023 2d7d 0a7b 2d23 2043 4f4d 5049 ed #-}.{-# COMPI │ │ │ +0004dcb0: 4c45 204a 5320 6465 636c 6172 6550 6f73 LE JS declarePos │ │ │ +0004dcc0: 7475 6c61 7465 2020 3d20 5f20 3d3e 205f tulate = _ => _ │ │ │ +0004dcd0: 203d 3e20 2020 2020 2020 2020 2020 756e => un │ │ │ +0004dce0: 6465 6669 6e65 6420 232d 7d0a 7b2d 2320 defined #-}.{-# │ │ │ +0004dcf0: 434f 4d50 494c 4520 4a53 2064 6563 6c61 COMPILE JS decla │ │ │ +0004dd00: 7265 4461 7461 2020 2020 2020 203d 205f reData = _ │ │ │ +0004dd10: 203d 3e20 5f20 3d3e 205f 203d 3e20 2020 => _ => _ => │ │ │ +0004dd20: 2020 2075 6e64 6566 696e 6564 2023 2d7d undefined #-} │ │ │ +0004dd30: 0a7b 2d23 2043 4f4d 5049 4c45 204a 5320 .{-# COMPILE JS │ │ │ +0004dd40: 6465 6669 6e65 4461 7461 2020 2020 2020 defineData │ │ │ +0004dd50: 2020 3d20 5f20 3d3e 205f 203d 3e20 2020 = _ => _ => │ │ │ +0004dd60: 2020 2020 2020 2020 756e 6465 6669 6e65 undefine │ │ │ +0004dd70: 6420 232d 7d0a 7b2d 2320 434f 4d50 494c d #-}.{-# COMPIL │ │ │ +0004dd80: 4520 4a53 2064 6566 696e 6546 756e 2020 E JS defineFun │ │ │ +0004dd90: 2020 2020 2020 203d 205f 203d 3e20 5f20 = _ => _ │ │ │ +0004dda0: 3d3e 2020 2020 2020 2020 2020 2075 6e64 => und │ │ │ +0004ddb0: 6566 696e 6564 2023 2d7d 0a7b 2d23 2043 efined #-}.{-# C │ │ │ +0004ddc0: 4f4d 5049 4c45 204a 5320 6765 7454 7970 OMPILE JS getTyp │ │ │ +0004ddd0: 6520 2020 2020 2020 2020 2020 3d20 5f20 e = _ │ │ │ +0004dde0: 3d3e 2020 2020 2020 2020 2020 2020 2020 => │ │ │ +0004ddf0: 2020 756e 6465 6669 6e65 6420 232d 7d0a undefined #-}. │ │ │ +0004de00: 7b2d 2320 434f 4d50 494c 4520 4a53 2067 {-# COMPILE JS g │ │ │ +0004de10: 6574 4465 6669 6e69 7469 6f6e 2020 2020 etDefinition │ │ │ +0004de20: 203d 205f 203d 3e20 2020 2020 2020 2020 = _ => │ │ │ +0004de30: 2020 2020 2020 2075 6e64 6566 696e 6564 undefined │ │ │ +0004de40: 2023 2d7d 0a7b 2d23 2043 4f4d 5049 4c45 #-}.{-# COMPILE │ │ │ +0004de50: 204a 5320 626c 6f63 6b54 4320 2020 2020 JS blockTC │ │ │ +0004de60: 2020 2020 2020 3d20 5f20 3d3e 205f 203d = _ => _ = │ │ │ +0004de70: 3e20 2020 2020 2020 2020 2020 756e 6465 > unde │ │ │ +0004de80: 6669 6e65 6420 232d 7d0a 7b2d 2320 434f fined #-}.{-# CO │ │ │ +0004de90: 4d50 494c 4520 4a53 2063 6f6d 6d69 7454 MPILE JS commitT │ │ │ +0004dea0: 4320 2020 2020 2020 2020 203d 2020 2020 C = │ │ │ 0004deb0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0004dec0: 756e 6465 6669 6e65 6420 232d 7d0a 7b2d undefined #-}.{- │ │ │ -0004ded0: 2320 434f 4d50 494c 4520 4a53 2069 734d # COMPILE JS isM │ │ │ -0004dee0: 6163 726f 2020 2020 2020 2020 2020 203d acro = │ │ │ -0004def0: 205f 203d 3e20 2020 2020 2020 2020 2020 _ => │ │ │ -0004df00: 2020 2020 2075 6e64 6566 696e 6564 2023 undefined # │ │ │ -0004df10: 2d7d 0a7b 2d23 2043 4f4d 5049 4c45 204a -}.{-# COMPILE J │ │ │ -0004df20: 5320 7072 6167 6d61 466f 7265 6967 6e20 S pragmaForeign │ │ │ -0004df30: 2020 2020 3d20 5f20 3d3e 205f 203d 3e20 = _ => _ => │ │ │ -0004df40: 2020 2020 2020 2020 2020 756e 6465 6669 undefi │ │ │ -0004df50: 6e65 6420 232d 7d0a 7b2d 2320 434f 4d50 ned #-}.{-# COMP │ │ │ -0004df60: 494c 4520 4a53 2070 7261 676d 6143 6f6d ILE JS pragmaCom │ │ │ -0004df70: 7069 6c65 2020 2020 203d 205f 203d 3e20 pile = _ => │ │ │ -0004df80: 5f20 3d3e 205f 203d 3e20 2020 2020 2075 _ => _ => u │ │ │ -0004df90: 6e64 6566 696e 6564 2023 2d7d 0a7b 2d23 ndefined #-}.{-# │ │ │ -0004dfa0: 2043 4f4d 5049 4c45 204a 5320 7769 7468 COMPILE JS with │ │ │ -0004dfb0: 4e6f 726d 616c 6973 6174 696f 6e20 3d20 Normalisation = │ │ │ -0004dfc0: 5f20 3d3e 205f 203d 3e20 5f20 3d3e 205f _ => _ => _ => _ │ │ │ -0004dfd0: 203d 3e20 756e 6465 6669 6e65 6420 232d => undefined #- │ │ │ -0004dfe0: 7d0a 7b2d 2320 434f 4d50 494c 4520 4a53 }.{-# COMPILE JS │ │ │ -0004dff0: 2077 6974 6852 6563 6f6e 7374 7275 6374 withReconstruct │ │ │ -0004e000: 6564 203d 205f 203d 3e20 5f20 3d3e 205f ed = _ => _ => _ │ │ │ -0004e010: 203d 3e20 5f20 3d3e 2075 6e64 6566 696e => _ => undefin │ │ │ -0004e020: 6564 2023 2d7d 0a7b 2d23 2043 4f4d 5049 ed #-}.{-# COMPI │ │ │ -0004e030: 4c45 204a 5320 7769 7468 4578 7061 6e64 LE JS withExpand │ │ │ -0004e040: 4c61 7374 2020 2020 3d20 5f20 3d3e 205f Last = _ => _ │ │ │ -0004e050: 203d 3e20 5f20 3d3e 205f 203d 3e20 756e => _ => _ => un │ │ │ -0004e060: 6465 6669 6e65 6420 232d 7d0a 7b2d 2320 defined #-}.{-# │ │ │ -0004e070: 434f 4d50 494c 4520 4a53 2077 6974 6852 COMPILE JS withR │ │ │ -0004e080: 6564 7563 6544 6566 7320 2020 203d 205f educeDefs = _ │ │ │ -0004e090: 203d 3e20 5f20 3d3e 205f 203d 3e20 5f20 => _ => _ => _ │ │ │ -0004e0a0: 3d3e 2075 6e64 6566 696e 6564 2023 2d7d => undefined #-} │ │ │ -0004e0b0: 0a7b 2d23 2043 4f4d 5049 4c45 204a 5320 .{-# COMPILE JS │ │ │ -0004e0c0: 6173 6b4e 6f72 6d61 6c69 7361 7469 6f6e askNormalisation │ │ │ -0004e0d0: 2020 3d20 2020 2020 2020 2020 2020 2020 = │ │ │ -0004e0e0: 2020 2020 2020 2020 756e 6465 6669 6e65 undefine │ │ │ -0004e0f0: 6420 232d 7d0a 7b2d 2320 434f 4d50 494c d #-}.{-# COMPIL │ │ │ -0004e100: 4520 4a53 2061 736b 5265 636f 6e73 7472 E JS askReconstr │ │ │ -0004e110: 7563 7465 6420 203d 2020 2020 2020 2020 ucted = │ │ │ -0004e120: 2020 2020 2020 2020 2020 2020 2075 6e64 und │ │ │ -0004e130: 6566 696e 6564 2023 2d7d 0a7b 2d23 2043 efined #-}.{-# C │ │ │ -0004e140: 4f4d 5049 4c45 204a 5320 6173 6b45 7870 OMPILE JS askExp │ │ │ -0004e150: 616e 644c 6173 7420 2020 2020 3d20 2020 andLast = │ │ │ +0004dec0: 2075 6e64 6566 696e 6564 2023 2d7d 0a7b undefined #-}.{ │ │ │ +0004ded0: 2d23 2043 4f4d 5049 4c45 204a 5320 6973 -# COMPILE JS is │ │ │ +0004dee0: 4d61 6372 6f20 2020 2020 2020 2020 2020 Macro │ │ │ +0004def0: 3d20 5f20 3d3e 2020 2020 2020 2020 2020 = _ => │ │ │ +0004df00: 2020 2020 2020 756e 6465 6669 6e65 6420 undefined │ │ │ +0004df10: 232d 7d0a 7b2d 2320 434f 4d50 494c 4520 #-}.{-# COMPILE │ │ │ +0004df20: 4a53 2070 7261 676d 6146 6f72 6569 676e JS pragmaForeign │ │ │ +0004df30: 2020 2020 203d 205f 203d 3e20 5f20 3d3e = _ => _ => │ │ │ +0004df40: 2020 2020 2020 2020 2020 2075 6e64 6566 undef │ │ │ +0004df50: 696e 6564 2023 2d7d 0a7b 2d23 2043 4f4d ined #-}.{-# COM │ │ │ +0004df60: 5049 4c45 204a 5320 7072 6167 6d61 436f PILE JS pragmaCo │ │ │ +0004df70: 6d70 696c 6520 2020 2020 3d20 5f20 3d3e mpile = _ => │ │ │ +0004df80: 205f 203d 3e20 5f20 3d3e 2020 2020 2020 _ => _ => │ │ │ +0004df90: 756e 6465 6669 6e65 6420 232d 7d0a 7b2d undefined #-}.{- │ │ │ +0004dfa0: 2320 434f 4d50 494c 4520 4a53 2077 6974 # COMPILE JS wit │ │ │ +0004dfb0: 684e 6f72 6d61 6c69 7361 7469 6f6e 203d hNormalisation = │ │ │ +0004dfc0: 205f 203d 3e20 5f20 3d3e 205f 203d 3e20 _ => _ => _ => │ │ │ +0004dfd0: 5f20 3d3e 2075 6e64 6566 696e 6564 2023 _ => undefined # │ │ │ +0004dfe0: 2d7d 0a7b 2d23 2043 4f4d 5049 4c45 204a -}.{-# COMPILE J │ │ │ +0004dff0: 5320 7769 7468 5265 636f 6e73 7472 7563 S withReconstruc │ │ │ +0004e000: 7465 6420 3d20 5f20 3d3e 205f 203d 3e20 ted = _ => _ => │ │ │ +0004e010: 5f20 3d3e 205f 203d 3e20 756e 6465 6669 _ => _ => undefi │ │ │ +0004e020: 6e65 6420 232d 7d0a 7b2d 2320 434f 4d50 ned #-}.{-# COMP │ │ │ +0004e030: 494c 4520 4a53 2077 6974 6845 7870 616e ILE JS withExpan │ │ │ +0004e040: 644c 6173 7420 2020 203d 205f 203d 3e20 dLast = _ => │ │ │ +0004e050: 5f20 3d3e 205f 203d 3e20 5f20 3d3e 2075 _ => _ => _ => u │ │ │ +0004e060: 6e64 6566 696e 6564 2023 2d7d 0a7b 2d23 ndefined #-}.{-# │ │ │ +0004e070: 2043 4f4d 5049 4c45 204a 5320 7769 7468 COMPILE JS with │ │ │ +0004e080: 5265 6475 6365 4465 6673 2020 2020 3d20 ReduceDefs = │ │ │ +0004e090: 5f20 3d3e 205f 203d 3e20 5f20 3d3e 205f _ => _ => _ => _ │ │ │ +0004e0a0: 203d 3e20 756e 6465 6669 6e65 6420 232d => undefined #- │ │ │ +0004e0b0: 7d0a 7b2d 2320 434f 4d50 494c 4520 4a53 }.{-# COMPILE JS │ │ │ +0004e0c0: 2061 736b 4e6f 726d 616c 6973 6174 696f askNormalisatio │ │ │ +0004e0d0: 6e20 203d 2020 2020 2020 2020 2020 2020 n = │ │ │ +0004e0e0: 2020 2020 2020 2020 2075 6e64 6566 696e undefin │ │ │ +0004e0f0: 6564 2023 2d7d 0a7b 2d23 2043 4f4d 5049 ed #-}.{-# COMPI │ │ │ +0004e100: 4c45 204a 5320 6173 6b52 6563 6f6e 7374 LE JS askReconst │ │ │ +0004e110: 7275 6374 6564 2020 3d20 2020 2020 2020 ructed = │ │ │ +0004e120: 2020 2020 2020 2020 2020 2020 2020 756e un │ │ │ +0004e130: 6465 6669 6e65 6420 232d 7d0a 7b2d 2320 defined #-}.{-# │ │ │ +0004e140: 434f 4d50 494c 4520 4a53 2061 736b 4578 COMPILE JS askEx │ │ │ +0004e150: 7061 6e64 4c61 7374 2020 2020 203d 2020 pandLast = │ │ │ 0004e160: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0004e170: 2020 756e 6465 6669 6e65 6420 232d 7d0a undefined #-}. │ │ │ -0004e180: 7b2d 2320 434f 4d50 494c 4520 4a53 2061 {-# COMPILE JS a │ │ │ -0004e190: 736b 5265 6475 6365 4465 6673 2020 2020 skReduceDefs │ │ │ -0004e1a0: 203d 2020 2020 2020 2020 2020 2020 2020 = │ │ │ -0004e1b0: 2020 2020 2020 2075 6e64 6566 696e 6564 undefined │ │ │ -0004e1c0: 2023 2d7d 0a7b 2d23 2043 4f4d 5049 4c45 #-}.{-# COMPILE │ │ │ -0004e1d0: 204a 5320 6465 6275 6750 7269 6e74 2020 JS debugPrint │ │ │ -0004e1e0: 2020 2020 2020 3d20 5f20 3d3e 205f 203d = _ => _ = │ │ │ -0004e1f0: 3e20 5f20 3d3e 2020 2020 2020 756e 6465 > _ => unde │ │ │ -0004e200: 6669 6e65 6420 232d 7d0a 7b2d 2320 434f fined #-}.{-# CO │ │ │ -0004e210: 4d50 494c 4520 4a53 206e 6f43 6f6e 7374 MPILE JS noConst │ │ │ -0004e220: 7261 696e 7473 2020 2020 203d 205f 203d raints = _ = │ │ │ -0004e230: 3e20 5f20 3d3e 205f 203d 3e20 2020 2020 > _ => _ => │ │ │ -0004e240: 2075 6e64 6566 696e 6564 2023 2d7d 0a7b undefined #-}.{ │ │ │ -0004e250: 2d23 2043 4f4d 5049 4c45 204a 5320 7275 -# COMPILE JS ru │ │ │ -0004e260: 6e53 7065 6375 6c61 7469 7665 2020 2020 nSpeculative │ │ │ -0004e270: 3d20 5f20 3d3e 205f 203d 3e20 5f20 3d3e = _ => _ => _ => │ │ │ -0004e280: 2020 2020 2020 756e 6465 6669 6e65 6420 undefined │ │ │ -0004e290: 232d 7d0a 7b2d 2320 434f 4d50 494c 4520 #-}.{-# COMPILE │ │ │ -0004e2a0: 4a53 2067 6574 496e 7374 616e 6365 7320 JS getInstances │ │ │ -0004e2b0: 2020 2020 203d 205f 203d 3e20 2020 2020 = _ => │ │ │ -0004e2c0: 2020 2020 2020 2020 2020 2075 6e64 6566 undef │ │ │ -0004e2d0: 696e 6564 2023 2d7d 0a0a 7072 6976 6174 ined #-}..privat │ │ │ -0004e2e0: 650a 2020 6669 6c74 6572 203a 2028 4e61 e. filter : (Na │ │ │ -0004e2f0: 6d65 20e2 8692 2042 6f6f 6c29 20e2 8692 me ... Bool) ... │ │ │ -0004e300: 204c 6973 7420 4e61 6d65 20e2 8692 204c List Name ... L │ │ │ -0004e310: 6973 7420 4e61 6d65 0a20 2066 696c 7465 ist Name. filte │ │ │ -0004e320: 7220 7020 5b5d 203d 205b 5d0a 2020 6669 r p [] = []. fi │ │ │ -0004e330: 6c74 6572 2070 2028 7820 e288 b720 7873 lter p (x ... xs │ │ │ -0004e340: 2920 7769 7468 2070 2078 0a20 202e 2e2e ) with p x. ... │ │ │ -0004e350: 207c 2074 7275 6520 203d 2078 20e2 88b7 | true = x ... │ │ │ -0004e360: 2066 696c 7465 7220 7020 7873 0a20 202e filter p xs. . │ │ │ -0004e370: 2e2e 207c 2066 616c 7365 203d 2066 696c .. | false = fil │ │ │ -0004e380: 7465 7220 7020 7873 0a0a 2020 5fe2 8888 ter p xs.. _... │ │ │ -0004e390: 5f20 3a20 4e61 6d65 20e2 8692 204c 6973 _ : Name ... Lis │ │ │ -0004e3a0: 7420 4e61 6d65 20e2 8692 2042 6f6f 6c0a t Name ... Bool. │ │ │ -0004e3b0: 2020 6e20 e288 8820 5b5d 2020 2020 2020 n ... [] │ │ │ -0004e3c0: 3d20 6661 6c73 650a 2020 6e20 e288 8820 = false. n ... │ │ │ -0004e3d0: 286e 2720 e288 b720 6c29 2077 6974 6820 (n' ... l) with │ │ │ -0004e3e0: 7072 696d 514e 616d 6545 7175 616c 6974 primQNameEqualit │ │ │ -0004e3f0: 7920 6e20 6e27 0a20 202e 2e2e 207c 2074 y n n'. ... | t │ │ │ -0004e400: 7275 6520 203d 2074 7275 650a 2020 2e2e rue = true. .. │ │ │ -0004e410: 2e20 7c20 6661 6c73 6520 3d20 6e20 e288 . | false = n .. │ │ │ -0004e420: 8820 6c0a 0a20 205f e288 895f 203a 204e . l.. _..._ : N │ │ │ -0004e430: 616d 6520 e286 9220 4c69 7374 204e 616d ame ... List Nam │ │ │ -0004e440: 6520 e286 9220 426f 6f6c 0a20 206e 20e2 e ... Bool. n . │ │ │ -0004e450: 8889 206c 2077 6974 6820 6e20 e288 8820 .. l with n ... │ │ │ -0004e460: 6c0a 2020 2e2e 2e20 7c20 7472 7565 2020 l. ... | true │ │ │ -0004e470: 3d20 6661 6c73 650a 2020 2e2e 2e20 7c20 = false. ... | │ │ │ -0004e480: 6661 6c73 6520 3d20 7472 7565 0a0a 2020 false = true.. │ │ │ -0004e490: 5f2b 2b5f 203a 204c 6973 7420 4e61 6d65 _++_ : List Name │ │ │ -0004e4a0: 20e2 8692 204c 6973 7420 4e61 6d65 20e2 ... List Name . │ │ │ -0004e4b0: 8692 204c 6973 7420 4e61 6d65 0a20 205b .. List Name. [ │ │ │ -0004e4c0: 5d20 2b2b 206c 2020 2020 2020 203d 206c ] ++ l = l │ │ │ -0004e4d0: 0a20 2028 7820 e288 b720 7873 2920 2b2b . (x ... xs) ++ │ │ │ -0004e4e0: 206c 203d 2078 20e2 88b7 2028 7873 202b l = x ... (xs + │ │ │ -0004e4f0: 2b20 6c29 0a0a 2020 636f 6d62 696e 6552 + l).. combineR │ │ │ -0004e500: 6564 7563 6544 6566 7320 3a20 28ce a320 educeDefs : (.. │ │ │ -0004e510: 426f 6f6c 20ce bb20 5f20 e286 9220 4c69 Bool .. _ ... Li │ │ │ -0004e520: 7374 204e 616d 6529 20e2 8692 2028 cea3 st Name) ... (.. │ │ │ -0004e530: 2042 6f6f 6c20 cebb 205f 20e2 8692 204c Bool .. _ ... L │ │ │ -0004e540: 6973 7420 4e61 6d65 2920 e286 9220 28ce ist Name) ... (. │ │ │ -0004e550: a320 426f 6f6c 20ce bb20 5f20 e286 9220 . Bool .. _ ... │ │ │ -0004e560: 4c69 7374 204e 616d 6529 0a20 2063 6f6d List Name). com │ │ │ -0004e570: 6269 6e65 5265 6475 6365 4465 6673 2028 bineReduceDefs ( │ │ │ -0004e580: 7472 7565 2020 2c20 6465 6673 e282 8129 true , defs...) │ │ │ -0004e590: 2028 7472 7565 2020 2c20 6465 6673 e282 (true , defs.. │ │ │ -0004e5a0: 8229 203d 2028 7472 7565 2020 2c20 6669 .) = (true , fi │ │ │ -0004e5b0: 6c74 6572 2028 5fe2 8888 2064 6566 73e2 lter (_... defs. │ │ │ -0004e5c0: 8281 2920 6465 6673 e282 8229 0a20 2063 ..) defs...). c │ │ │ -0004e5d0: 6f6d 6269 6e65 5265 6475 6365 4465 6673 ombineReduceDefs │ │ │ -0004e5e0: 2028 6661 6c73 6520 2c20 6465 6673 e282 (false , defs.. │ │ │ -0004e5f0: 8129 2028 7472 7565 2020 2c20 6465 6673 .) (true , defs │ │ │ -0004e600: e282 8229 203d 2028 7472 7565 2020 2c20 ...) = (true , │ │ │ -0004e610: 6669 6c74 6572 2028 5fe2 8889 2064 6566 filter (_... def │ │ │ -0004e620: 73e2 8281 2920 6465 6673 e282 8229 0a20 s...) defs...). │ │ │ -0004e630: 2063 6f6d 6269 6e65 5265 6475 6365 4465 combineReduceDe │ │ │ -0004e640: 6673 2028 7472 7565 2020 2c20 6465 6673 fs (true , defs │ │ │ -0004e650: e282 8129 2028 6661 6c73 6520 2c20 6465 ...) (false , de │ │ │ -0004e660: 6673 e282 8229 203d 2028 7472 7565 2020 fs...) = (true │ │ │ -0004e670: 2c20 6669 6c74 6572 2028 5fe2 8889 2064 , filter (_... d │ │ │ -0004e680: 6566 73e2 8282 2920 6465 6673 e282 8129 efs...) defs...) │ │ │ -0004e690: 0a20 2063 6f6d 6269 6e65 5265 6475 6365 . combineReduce │ │ │ -0004e6a0: 4465 6673 2028 6661 6c73 6520 2c20 6465 Defs (false , de │ │ │ -0004e6b0: 6673 e282 8129 2028 6661 6c73 6520 2c20 fs...) (false , │ │ │ -0004e6c0: 6465 6673 e282 8229 203d 2028 6661 6c73 defs...) = (fals │ │ │ -0004e6d0: 6520 2c20 6465 6673 e282 8120 2b2b 2064 e , defs... ++ d │ │ │ -0004e6e0: 6566 73e2 8282 290a 0a6f 6e6c 7952 6564 efs...)..onlyRed │ │ │ -0004e6f0: 7563 6544 6566 7320 646f 6e74 5265 6475 uceDefs dontRedu │ │ │ -0004e700: 6365 4465 6673 203a 20e2 8880 207b 617d ceDefs : ... {a} │ │ │ -0004e710: 207b 4120 3a20 5365 7420 617d 20e2 8692 {A : Set a} ... │ │ │ -0004e720: 204c 6973 7420 4e61 6d65 20e2 8692 2054 List Name ... T │ │ │ -0004e730: 4320 4120 e286 9220 5443 2041 0a6f 6e6c C A ... TC A.onl │ │ │ -0004e740: 7952 6564 7563 6544 6566 7320 6465 6673 yReduceDefs defs │ │ │ -0004e750: 2078 203d 2062 696e 6454 4320 6173 6b52 x = bindTC askR │ │ │ -0004e760: 6564 7563 6544 6566 7320 28ce bb20 6578 educeDefs (.. ex │ │ │ -0004e770: 4465 6673 20e2 8692 2077 6974 6852 6564 Defs ... withRed │ │ │ -0004e780: 7563 6544 6566 7320 2863 6f6d 6269 6e65 uceDefs (combine │ │ │ -0004e790: 5265 6475 6365 4465 6673 2028 7472 7565 ReduceDefs (true │ │ │ -0004e7a0: 2020 2c20 6465 6673 2920 6578 4465 6673 , defs) exDefs │ │ │ -0004e7b0: 2920 7829 0a64 6f6e 7452 6564 7563 6544 ) x).dontReduceD │ │ │ -0004e7c0: 6566 7320 6465 6673 2078 203d 2062 696e efs defs x = bin │ │ │ -0004e7d0: 6454 4320 6173 6b52 6564 7563 6544 6566 dTC askReduceDef │ │ │ -0004e7e0: 7320 28ce bb20 6578 4465 6673 20e2 8692 s (.. exDefs ... │ │ │ -0004e7f0: 2077 6974 6852 6564 7563 6544 6566 7320 withReduceDefs │ │ │ -0004e800: 2863 6f6d 6269 6e65 5265 6475 6365 4465 (combineReduceDe │ │ │ -0004e810: 6673 2028 6661 6c73 6520 2c20 6465 6673 fs (false , defs │ │ │ -0004e820: 2920 6578 4465 6673 2920 7829 0a0a 626c ) exDefs) x)..bl │ │ │ -0004e830: 6f63 6b4f 6e4d 6574 6120 2020 3a20 e288 ockOnMeta : .. │ │ │ -0004e840: 8020 7b61 7d20 7b41 203a 2053 6574 2061 . {a} {A : Set a │ │ │ -0004e850: 7d20 e286 9220 4d65 7461 20e2 8692 2054 } ... Meta ... T │ │ │ -0004e860: 4320 410a 626c 6f63 6b4f 6e4d 6574 6120 C A.blockOnMeta │ │ │ -0004e870: 6d20 3d20 626c 6f63 6b54 4320 2862 6c6f m = blockTC (blo │ │ │ -0004e880: 636b 6572 4d65 7461 206d 290a 0a7b 2d23 ckerMeta m)..{-# │ │ │ -0004e890: 2057 4152 4e49 4e47 5f4f 4e5f 5553 4147 WARNING_ON_USAG │ │ │ -0004e8a0: 4520 6f6e 6c79 5265 6475 6365 4465 6673 E onlyReduceDefs │ │ │ -0004e8b0: 2022 4445 5052 4543 4154 4544 3a20 5573 "DEPRECATED: Us │ │ │ -0004e8c0: 6520 6077 6974 6852 6564 7563 6544 6566 e `withReduceDef │ │ │ -0004e8d0: 7360 2069 6e73 7465 6164 206f 6620 606f s` instead of `o │ │ │ -0004e8e0: 6e6c 7952 6564 7563 6544 6566 7360 2220 nlyReduceDefs`" │ │ │ -0004e8f0: 232d 7d0a 7b2d 2320 5741 524e 494e 475f #-}.{-# WARNING_ │ │ │ -0004e900: 4f4e 5f55 5341 4745 2064 6f6e 7452 6564 ON_USAGE dontRed │ │ │ -0004e910: 7563 6544 6566 7320 2244 4550 5245 4341 uceDefs "DEPRECA │ │ │ -0004e920: 5445 443a 2055 7365 2060 7769 7468 5265 TED: Use `withRe │ │ │ -0004e930: 6475 6365 4465 6673 6020 696e 7374 6561 duceDefs` instea │ │ │ -0004e940: 6420 6f66 2060 646f 6e74 5265 6475 6365 d of `dontReduce │ │ │ -0004e950: 4465 6673 6022 2023 2d7d 0aa7 e1bd f4fd Defs`" #-}...... │ │ │ -0004e960: 85d3 ada1 01db 90a1 91ff e391 af96 0100 ................ │ │ │ -0004e970: 8602 0004 e9ac 05b4 8080 e608 0000 0005 ................ │ │ │ -0004e980: 2000 0001 0001 0004 0408 0307 0286 8080 ............... │ │ │ -0004e990: ec08 0200 0003 0f00 0505 050b 8780 80ec ................ │ │ │ -0004e9a0: 0801 0520 0000 010b 9a01 0b5a 9bdc a096 ... .......Z.... │ │ │ -0004e9b0: c5f3 b1a4 4c8a bbee f2d0 e9fb 8d82 0100 ....L........... │ │ │ -0004e9c0: d701 0004 e9e9 0520 0000 0100 0404 0803 ....... ........ │ │ │ -0004e9d0: 0702 5e02 0000 030f 0005 0505 0b5f 0b8c ..^.........._.. │ │ │ -0004e9e0: 020b 6109 0601 00ec 1fdb d499 def5 c7b2 ..a............. │ │ │ -0004e9f0: a74c d3a4 9093 9cec efb2 be01 008c 0200 .L.............. │ │ │ -0004ea00: 04fa 0705 8280 80e6 0800 0001 0003 0407 ................ │ │ │ -0004ea10: 0402 0000 030f 0009 01ec 1f7b 2d23 204f ...........{-# O │ │ │ -0004ea20: 5054 494f 4e53 202d 2d63 7562 6963 616c PTIONS --cubical │ │ │ -0004ea30: 2d63 6f6d 7061 7469 626c 6520 2d2d 7361 -compatible --sa │ │ │ -0004ea40: 6665 202d 2d6e 6f2d 756e 6976 6572 7365 fe --no-universe │ │ │ -0004ea50: 2d70 6f6c 796d 6f72 7068 6973 6d0a 2020 -polymorphism. │ │ │ -0004ea60: 2020 2020 2020 2020 2020 2d2d 6e6f 2d73 --no-s │ │ │ -0004ea70: 697a 6564 2d74 7970 6573 202d 2d6e 6f2d ized-types --no- │ │ │ -0004ea80: 6775 6172 6465 646e 6573 7320 2d2d 6c65 guardedness --le │ │ │ -0004ea90: 7665 6c2d 756e 6976 6572 7365 2023 2d7d vel-universe #-} │ │ │ -0004eaa0: 0a0a 6d6f 6475 6c65 2041 6764 612e 4275 ..module Agda.Bu │ │ │ -0004eab0: 696c 7469 6e2e 4e61 7420 7768 6572 650a iltin.Nat where. │ │ │ -0004eac0: 0a6f 7065 6e20 696d 706f 7274 2041 6764 .open import Agd │ │ │ -0004ead0: 612e 4275 696c 7469 6e2e 426f 6f6c 0a0a a.Builtin.Bool.. │ │ │ -0004eae0: 6461 7461 204e 6174 203a 2053 6574 2077 data Nat : Set w │ │ │ -0004eaf0: 6865 7265 0a20 207a 6572 6f20 3a20 4e61 here. zero : Na │ │ │ -0004eb00: 740a 2020 7375 6320 203a 2028 6e20 3a20 t. suc : (n : │ │ │ -0004eb10: 4e61 7429 20e2 8692 204e 6174 0a0a 7b2d Nat) ... Nat..{- │ │ │ -0004eb20: 2320 4255 494c 5449 4e20 4e41 5455 5241 # BUILTIN NATURA │ │ │ -0004eb30: 4c20 4e61 7420 232d 7d0a 0a69 6e66 6978 L Nat #-}..infix │ │ │ -0004eb40: 2020 3420 5f3d 3d5f 205f 3c5f 0a69 6e66 4 _==_ _<_.inf │ │ │ -0004eb50: 6978 6c20 3620 5f2b 5f20 5f2d 5f0a 696e ixl 6 _+_ _-_.in │ │ │ -0004eb60: 6669 786c 2037 205f 2a5f 0a0a 5f2b 5f20 fixl 7 _*_.._+_ │ │ │ -0004eb70: 3a20 4e61 7420 e286 9220 4e61 7420 e286 : Nat ... Nat .. │ │ │ -0004eb80: 9220 4e61 740a 7a65 726f 2020 2b20 6d20 . Nat.zero + m │ │ │ -0004eb90: 3d20 6d0a 7375 6320 6e20 2b20 6d20 3d20 = m.suc n + m = │ │ │ -0004eba0: 7375 6320 286e 202b 206d 290a 0a7b 2d23 suc (n + m)..{-# │ │ │ -0004ebb0: 2042 5549 4c54 494e 204e 4154 504c 5553 BUILTIN NATPLUS │ │ │ -0004ebc0: 205f 2b5f 2023 2d7d 0a0a 5f2d 5f20 3a20 _+_ #-}.._-_ : │ │ │ -0004ebd0: 4e61 7420 e286 9220 4e61 7420 e286 9220 Nat ... Nat ... │ │ │ -0004ebe0: 4e61 740a 6e20 2020 2020 2d20 7a65 726f Nat.n - zero │ │ │ -0004ebf0: 203d 206e 0a7a 6572 6f20 202d 2073 7563 = n.zero - suc │ │ │ -0004ec00: 206d 203d 207a 6572 6f0a 7375 6320 6e20 m = zero.suc n │ │ │ -0004ec10: 2d20 7375 6320 6d20 3d20 6e20 2d20 6d0a - suc m = n - m. │ │ │ -0004ec20: 0a7b 2d23 2042 5549 4c54 494e 204e 4154 .{-# BUILTIN NAT │ │ │ -0004ec30: 4d49 4e55 5320 5f2d 5f20 232d 7d0a 0a5f MINUS _-_ #-}.._ │ │ │ -0004ec40: 2a5f 203a 204e 6174 20e2 8692 204e 6174 *_ : Nat ... Nat │ │ │ -0004ec50: 20e2 8692 204e 6174 0a7a 6572 6f20 202a ... Nat.zero * │ │ │ -0004ec60: 206d 203d 207a 6572 6f0a 7375 6320 6e20 m = zero.suc n │ │ │ -0004ec70: 2a20 6d20 3d20 6d20 2b20 6e20 2a20 6d0a * m = m + n * m. │ │ │ -0004ec80: 0a7b 2d23 2042 5549 4c54 494e 204e 4154 .{-# BUILTIN NAT │ │ │ -0004ec90: 5449 4d45 5320 5f2a 5f20 232d 7d0a 0a5f TIMES _*_ #-}.._ │ │ │ -0004eca0: 3d3d 5f20 3a20 4e61 7420 e286 9220 4e61 ==_ : Nat ... Na │ │ │ -0004ecb0: 7420 e286 9220 426f 6f6c 0a7a 6572 6f20 t ... Bool.zero │ │ │ -0004ecc0: 203d 3d20 7a65 726f 2020 3d20 7472 7565 == zero = true │ │ │ -0004ecd0: 0a73 7563 206e 203d 3d20 7375 6320 6d20 .suc n == suc m │ │ │ -0004ece0: 3d20 6e20 3d3d 206d 0a5f 2020 2020 203d = n == m._ = │ │ │ -0004ecf0: 3d20 5f20 2020 2020 3d20 6661 6c73 650a = _ = false. │ │ │ -0004ed00: 0a7b 2d23 2042 5549 4c54 494e 204e 4154 .{-# BUILTIN NAT │ │ │ -0004ed10: 4551 5541 4c53 205f 3d3d 5f20 232d 7d0a EQUALS _==_ #-}. │ │ │ -0004ed20: 0a5f 3c5f 203a 204e 6174 20e2 8692 204e ._<_ : Nat ... N │ │ │ -0004ed30: 6174 20e2 8692 2042 6f6f 6c0a 5f20 2020 at ... Bool._ │ │ │ -0004ed40: 2020 3c20 7a65 726f 2020 3d20 6661 6c73 < zero = fals │ │ │ -0004ed50: 650a 7a65 726f 2020 3c20 7375 6320 5f20 e.zero < suc _ │ │ │ -0004ed60: 3d20 7472 7565 0a73 7563 206e 203c 2073 = true.suc n < s │ │ │ -0004ed70: 7563 206d 203d 206e 203c 206d 0a0a 7b2d uc m = n < m..{- │ │ │ -0004ed80: 2320 4255 494c 5449 4e20 4e41 544c 4553 # BUILTIN NATLES │ │ │ -0004ed90: 5320 5f3c 5f20 232d 7d0a 0a2d 2d20 4865 S _<_ #-}..-- He │ │ │ -0004eda0: 6c70 6572 2066 756e 6374 696f 6e20 2064 lper function d │ │ │ -0004edb0: 6976 2d68 656c 7065 7220 2066 6f72 2045 iv-helper for E │ │ │ -0004edc0: 7563 6c69 6465 616e 2064 6976 6973 696f uclidean divisio │ │ │ -0004edd0: 6e2e 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d n..------------- │ │ │ +0004e170: 2020 2075 6e64 6566 696e 6564 2023 2d7d undefined #-} │ │ │ +0004e180: 0a7b 2d23 2043 4f4d 5049 4c45 204a 5320 .{-# COMPILE JS │ │ │ +0004e190: 6173 6b52 6564 7563 6544 6566 7320 2020 askReduceDefs │ │ │ +0004e1a0: 2020 3d20 2020 2020 2020 2020 2020 2020 = │ │ │ +0004e1b0: 2020 2020 2020 2020 756e 6465 6669 6e65 undefine │ │ │ +0004e1c0: 6420 232d 7d0a 7b2d 2320 434f 4d50 494c d #-}.{-# COMPIL │ │ │ +0004e1d0: 4520 4a53 2064 6562 7567 5072 696e 7420 E JS debugPrint │ │ │ +0004e1e0: 2020 2020 2020 203d 205f 203d 3e20 5f20 = _ => _ │ │ │ +0004e1f0: 3d3e 205f 203d 3e20 2020 2020 2075 6e64 => _ => und │ │ │ +0004e200: 6566 696e 6564 2023 2d7d 0a7b 2d23 2043 efined #-}.{-# C │ │ │ +0004e210: 4f4d 5049 4c45 204a 5320 6e6f 436f 6e73 OMPILE JS noCons │ │ │ +0004e220: 7472 6169 6e74 7320 2020 2020 3d20 5f20 traints = _ │ │ │ +0004e230: 3d3e 205f 203d 3e20 5f20 3d3e 2020 2020 => _ => _ => │ │ │ +0004e240: 2020 756e 6465 6669 6e65 6420 232d 7d0a undefined #-}. │ │ │ +0004e250: 7b2d 2320 434f 4d50 494c 4520 4a53 2072 {-# COMPILE JS r │ │ │ +0004e260: 756e 5370 6563 756c 6174 6976 6520 2020 unSpeculative │ │ │ +0004e270: 203d 205f 203d 3e20 5f20 3d3e 205f 203d = _ => _ => _ = │ │ │ +0004e280: 3e20 2020 2020 2075 6e64 6566 696e 6564 > undefined │ │ │ +0004e290: 2023 2d7d 0a7b 2d23 2043 4f4d 5049 4c45 #-}.{-# COMPILE │ │ │ +0004e2a0: 204a 5320 6765 7449 6e73 7461 6e63 6573 JS getInstances │ │ │ +0004e2b0: 2020 2020 2020 3d20 5f20 3d3e 2020 2020 = _ => │ │ │ +0004e2c0: 2020 2020 2020 2020 2020 2020 756e 6465 unde │ │ │ +0004e2d0: 6669 6e65 6420 232d 7d0a 0a70 7269 7661 fined #-}..priva │ │ │ +0004e2e0: 7465 0a20 2066 696c 7465 7220 3a20 284e te. filter : (N │ │ │ +0004e2f0: 616d 6520 e286 9220 426f 6f6c 2920 e286 ame ... Bool) .. │ │ │ +0004e300: 9220 4c69 7374 204e 616d 6520 e286 9220 . List Name ... │ │ │ +0004e310: 4c69 7374 204e 616d 650a 2020 6669 6c74 List Name. filt │ │ │ +0004e320: 6572 2070 205b 5d20 3d20 5b5d 0a20 2066 er p [] = []. f │ │ │ +0004e330: 696c 7465 7220 7020 2878 20e2 88b7 2078 ilter p (x ... x │ │ │ +0004e340: 7329 2077 6974 6820 7020 780a 2020 2e2e s) with p x. .. │ │ │ +0004e350: 2e20 7c20 7472 7565 2020 3d20 7820 e288 . | true = x .. │ │ │ +0004e360: b720 6669 6c74 6572 2070 2078 730a 2020 . filter p xs. │ │ │ +0004e370: 2e2e 2e20 7c20 6661 6c73 6520 3d20 6669 ... | false = fi │ │ │ +0004e380: 6c74 6572 2070 2078 730a 0a20 205f e288 lter p xs.. _.. │ │ │ +0004e390: 885f 203a 204e 616d 6520 e286 9220 4c69 ._ : Name ... Li │ │ │ +0004e3a0: 7374 204e 616d 6520 e286 9220 426f 6f6c st Name ... Bool │ │ │ +0004e3b0: 0a20 206e 20e2 8888 205b 5d20 2020 2020 . n ... [] │ │ │ +0004e3c0: 203d 2066 616c 7365 0a20 206e 20e2 8888 = false. n ... │ │ │ +0004e3d0: 2028 6e27 20e2 88b7 206c 2920 7769 7468 (n' ... l) with │ │ │ +0004e3e0: 2070 7269 6d51 4e61 6d65 4571 7561 6c69 primQNameEquali │ │ │ +0004e3f0: 7479 206e 206e 270a 2020 2e2e 2e20 7c20 ty n n'. ... | │ │ │ +0004e400: 7472 7565 2020 3d20 7472 7565 0a20 202e true = true. . │ │ │ +0004e410: 2e2e 207c 2066 616c 7365 203d 206e 20e2 .. | false = n . │ │ │ +0004e420: 8888 206c 0a0a 2020 5fe2 8889 5f20 3a20 .. l.. _..._ : │ │ │ +0004e430: 4e61 6d65 20e2 8692 204c 6973 7420 4e61 Name ... List Na │ │ │ +0004e440: 6d65 20e2 8692 2042 6f6f 6c0a 2020 6e20 me ... Bool. n │ │ │ +0004e450: e288 8920 6c20 7769 7468 206e 20e2 8888 ... l with n ... │ │ │ +0004e460: 206c 0a20 202e 2e2e 207c 2074 7275 6520 l. ... | true │ │ │ +0004e470: 203d 2066 616c 7365 0a20 202e 2e2e 207c = false. ... | │ │ │ +0004e480: 2066 616c 7365 203d 2074 7275 650a 0a20 false = true.. │ │ │ +0004e490: 205f 2b2b 5f20 3a20 4c69 7374 204e 616d _++_ : List Nam │ │ │ +0004e4a0: 6520 e286 9220 4c69 7374 204e 616d 6520 e ... List Name │ │ │ +0004e4b0: e286 9220 4c69 7374 204e 616d 650a 2020 ... List Name. │ │ │ +0004e4c0: 5b5d 202b 2b20 6c20 2020 2020 2020 3d20 [] ++ l = │ │ │ +0004e4d0: 6c0a 2020 2878 20e2 88b7 2078 7329 202b l. (x ... xs) + │ │ │ +0004e4e0: 2b20 6c20 3d20 7820 e288 b720 2878 7320 + l = x ... (xs │ │ │ +0004e4f0: 2b2b 206c 290a 0a20 2063 6f6d 6269 6e65 ++ l).. combine │ │ │ +0004e500: 5265 6475 6365 4465 6673 203a 2028 cea3 ReduceDefs : (.. │ │ │ +0004e510: 2042 6f6f 6c20 cebb 205f 20e2 8692 204c Bool .. _ ... L │ │ │ +0004e520: 6973 7420 4e61 6d65 2920 e286 9220 28ce ist Name) ... (. │ │ │ +0004e530: a320 426f 6f6c 20ce bb20 5f20 e286 9220 . Bool .. _ ... │ │ │ +0004e540: 4c69 7374 204e 616d 6529 20e2 8692 2028 List Name) ... ( │ │ │ +0004e550: cea3 2042 6f6f 6c20 cebb 205f 20e2 8692 .. Bool .. _ ... │ │ │ +0004e560: 204c 6973 7420 4e61 6d65 290a 2020 636f List Name). co │ │ │ +0004e570: 6d62 696e 6552 6564 7563 6544 6566 7320 mbineReduceDefs │ │ │ +0004e580: 2874 7275 6520 202c 2064 6566 73e2 8281 (true , defs... │ │ │ +0004e590: 2920 2874 7275 6520 202c 2064 6566 73e2 ) (true , defs. │ │ │ +0004e5a0: 8282 2920 3d20 2874 7275 6520 202c 2066 ..) = (true , f │ │ │ +0004e5b0: 696c 7465 7220 285f e288 8820 6465 6673 ilter (_... defs │ │ │ +0004e5c0: e282 8129 2064 6566 73e2 8282 290a 2020 ...) defs...). │ │ │ +0004e5d0: 636f 6d62 696e 6552 6564 7563 6544 6566 combineReduceDef │ │ │ +0004e5e0: 7320 2866 616c 7365 202c 2064 6566 73e2 s (false , defs. │ │ │ +0004e5f0: 8281 2920 2874 7275 6520 202c 2064 6566 ..) (true , def │ │ │ +0004e600: 73e2 8282 2920 3d20 2874 7275 6520 202c s...) = (true , │ │ │ +0004e610: 2066 696c 7465 7220 285f e288 8920 6465 filter (_... de │ │ │ +0004e620: 6673 e282 8129 2064 6566 73e2 8282 290a fs...) defs...). │ │ │ +0004e630: 2020 636f 6d62 696e 6552 6564 7563 6544 combineReduceD │ │ │ +0004e640: 6566 7320 2874 7275 6520 202c 2064 6566 efs (true , def │ │ │ +0004e650: 73e2 8281 2920 2866 616c 7365 202c 2064 s...) (false , d │ │ │ +0004e660: 6566 73e2 8282 2920 3d20 2874 7275 6520 efs...) = (true │ │ │ +0004e670: 202c 2066 696c 7465 7220 285f e288 8920 , filter (_... │ │ │ +0004e680: 6465 6673 e282 8229 2064 6566 73e2 8281 defs...) defs... │ │ │ +0004e690: 290a 2020 636f 6d62 696e 6552 6564 7563 ). combineReduc │ │ │ +0004e6a0: 6544 6566 7320 2866 616c 7365 202c 2064 eDefs (false , d │ │ │ +0004e6b0: 6566 73e2 8281 2920 2866 616c 7365 202c efs...) (false , │ │ │ +0004e6c0: 2064 6566 73e2 8282 2920 3d20 2866 616c defs...) = (fal │ │ │ +0004e6d0: 7365 202c 2064 6566 73e2 8281 202b 2b20 se , defs... ++ │ │ │ +0004e6e0: 6465 6673 e282 8229 0a0a 6f6e 6c79 5265 defs...)..onlyRe │ │ │ +0004e6f0: 6475 6365 4465 6673 2064 6f6e 7452 6564 duceDefs dontRed │ │ │ +0004e700: 7563 6544 6566 7320 3a20 e288 8020 7b61 uceDefs : ... {a │ │ │ +0004e710: 7d20 7b41 203a 2053 6574 2061 7d20 e286 } {A : Set a} .. │ │ │ +0004e720: 9220 4c69 7374 204e 616d 6520 e286 9220 . List Name ... │ │ │ +0004e730: 5443 2041 20e2 8692 2054 4320 410a 6f6e TC A ... TC A.on │ │ │ +0004e740: 6c79 5265 6475 6365 4465 6673 2064 6566 lyReduceDefs def │ │ │ +0004e750: 7320 7820 3d20 6269 6e64 5443 2061 736b s x = bindTC ask │ │ │ +0004e760: 5265 6475 6365 4465 6673 2028 cebb 2065 ReduceDefs (.. e │ │ │ +0004e770: 7844 6566 7320 e286 9220 7769 7468 5265 xDefs ... withRe │ │ │ +0004e780: 6475 6365 4465 6673 2028 636f 6d62 696e duceDefs (combin │ │ │ +0004e790: 6552 6564 7563 6544 6566 7320 2874 7275 eReduceDefs (tru │ │ │ +0004e7a0: 6520 202c 2064 6566 7329 2065 7844 6566 e , defs) exDef │ │ │ +0004e7b0: 7329 2078 290a 646f 6e74 5265 6475 6365 s) x).dontReduce │ │ │ +0004e7c0: 4465 6673 2064 6566 7320 7820 3d20 6269 Defs defs x = bi │ │ │ +0004e7d0: 6e64 5443 2061 736b 5265 6475 6365 4465 ndTC askReduceDe │ │ │ +0004e7e0: 6673 2028 cebb 2065 7844 6566 7320 e286 fs (.. exDefs .. │ │ │ +0004e7f0: 9220 7769 7468 5265 6475 6365 4465 6673 . withReduceDefs │ │ │ +0004e800: 2028 636f 6d62 696e 6552 6564 7563 6544 (combineReduceD │ │ │ +0004e810: 6566 7320 2866 616c 7365 202c 2064 6566 efs (false , def │ │ │ +0004e820: 7329 2065 7844 6566 7329 2078 290a 0a62 s) exDefs) x)..b │ │ │ +0004e830: 6c6f 636b 4f6e 4d65 7461 2020 203a 20e2 lockOnMeta : . │ │ │ +0004e840: 8880 207b 617d 207b 4120 3a20 5365 7420 .. {a} {A : Set │ │ │ +0004e850: 617d 20e2 8692 204d 6574 6120 e286 9220 a} ... Meta ... │ │ │ +0004e860: 5443 2041 0a62 6c6f 636b 4f6e 4d65 7461 TC A.blockOnMeta │ │ │ +0004e870: 206d 203d 2062 6c6f 636b 5443 2028 626c m = blockTC (bl │ │ │ +0004e880: 6f63 6b65 724d 6574 6120 6d29 0a0a 7b2d ockerMeta m)..{- │ │ │ +0004e890: 2320 5741 524e 494e 475f 4f4e 5f55 5341 # WARNING_ON_USA │ │ │ +0004e8a0: 4745 206f 6e6c 7952 6564 7563 6544 6566 GE onlyReduceDef │ │ │ +0004e8b0: 7320 2244 4550 5245 4341 5445 443a 2055 s "DEPRECATED: U │ │ │ +0004e8c0: 7365 2060 7769 7468 5265 6475 6365 4465 se `withReduceDe │ │ │ +0004e8d0: 6673 6020 696e 7374 6561 6420 6f66 2060 fs` instead of ` │ │ │ +0004e8e0: 6f6e 6c79 5265 6475 6365 4465 6673 6022 onlyReduceDefs`" │ │ │ +0004e8f0: 2023 2d7d 0a7b 2d23 2057 4152 4e49 4e47 #-}.{-# WARNING │ │ │ +0004e900: 5f4f 4e5f 5553 4147 4520 646f 6e74 5265 _ON_USAGE dontRe │ │ │ +0004e910: 6475 6365 4465 6673 2022 4445 5052 4543 duceDefs "DEPREC │ │ │ +0004e920: 4154 4544 3a20 5573 6520 6077 6974 6852 ATED: Use `withR │ │ │ +0004e930: 6564 7563 6544 6566 7360 2069 6e73 7465 educeDefs` inste │ │ │ +0004e940: 6164 206f 6620 6064 6f6e 7452 6564 7563 ad of `dontReduc │ │ │ +0004e950: 6544 6566 7360 2220 232d 7d0a a7e1 bdf4 eDefs`" #-}..... │ │ │ +0004e960: fd85 d3ad a101 db90 a191 ffe3 91af 9601 ................ │ │ │ +0004e970: 0086 0200 04e9 ad05 b480 80e6 0800 0000 ................ │ │ │ +0004e980: 0520 0000 0100 0100 0404 0803 0702 8680 . .............. │ │ │ +0004e990: 80ec 0802 0000 030f 0005 0505 0b87 8080 ................ │ │ │ +0004e9a0: ec08 0105 2000 0001 0b9a 010b 5a9b dca0 .... .......Z... │ │ │ +0004e9b0: 96c5 f3b1 a44c 8abb eef2 d0e9 fb8d 8201 .....L.......... │ │ │ +0004e9c0: 00d7 0100 04e9 ea05 2000 0001 0004 0408 ........ ....... │ │ │ +0004e9d0: 0307 025e 0200 0003 0f00 0505 050b 5f0b ...^.........._. │ │ │ +0004e9e0: 8c02 0b61 0906 0100 ec1f dbd4 99de f5c7 ...a............ │ │ │ +0004e9f0: b2a7 4cd3 a490 939c ecef b2be 0100 8c02 ..L............. │ │ │ +0004ea00: 0004 fa08 0582 8080 e608 0000 0100 0304 ................ │ │ │ +0004ea10: 0704 0200 0003 0f00 0901 ec1f 7b2d 2320 ............{-# │ │ │ +0004ea20: 4f50 5449 4f4e 5320 2d2d 6375 6269 6361 OPTIONS --cubica │ │ │ +0004ea30: 6c2d 636f 6d70 6174 6962 6c65 202d 2d73 l-compatible --s │ │ │ +0004ea40: 6166 6520 2d2d 6e6f 2d75 6e69 7665 7273 afe --no-univers │ │ │ +0004ea50: 652d 706f 6c79 6d6f 7270 6869 736d 0a20 e-polymorphism. │ │ │ +0004ea60: 2020 2020 2020 2020 2020 202d 2d6e 6f2d --no- │ │ │ +0004ea70: 7369 7a65 642d 7479 7065 7320 2d2d 6e6f sized-types --no │ │ │ +0004ea80: 2d67 7561 7264 6564 6e65 7373 202d 2d6c -guardedness --l │ │ │ +0004ea90: 6576 656c 2d75 6e69 7665 7273 6520 232d evel-universe #- │ │ │ +0004eaa0: 7d0a 0a6d 6f64 756c 6520 4167 6461 2e42 }..module Agda.B │ │ │ +0004eab0: 7569 6c74 696e 2e4e 6174 2077 6865 7265 uiltin.Nat where │ │ │ +0004eac0: 0a0a 6f70 656e 2069 6d70 6f72 7420 4167 ..open import Ag │ │ │ +0004ead0: 6461 2e42 7569 6c74 696e 2e42 6f6f 6c0a da.Builtin.Bool. │ │ │ +0004eae0: 0a64 6174 6120 4e61 7420 3a20 5365 7420 .data Nat : Set │ │ │ +0004eaf0: 7768 6572 650a 2020 7a65 726f 203a 204e where. zero : N │ │ │ +0004eb00: 6174 0a20 2073 7563 2020 3a20 286e 203a at. suc : (n : │ │ │ +0004eb10: 204e 6174 2920 e286 9220 4e61 740a 0a7b Nat) ... Nat..{ │ │ │ +0004eb20: 2d23 2042 5549 4c54 494e 204e 4154 5552 -# BUILTIN NATUR │ │ │ +0004eb30: 414c 204e 6174 2023 2d7d 0a0a 696e 6669 AL Nat #-}..infi │ │ │ +0004eb40: 7820 2034 205f 3d3d 5f20 5f3c 5f0a 696e x 4 _==_ _<_.in │ │ │ +0004eb50: 6669 786c 2036 205f 2b5f 205f 2d5f 0a69 fixl 6 _+_ _-_.i │ │ │ +0004eb60: 6e66 6978 6c20 3720 5f2a 5f0a 0a5f 2b5f nfixl 7 _*_.._+_ │ │ │ +0004eb70: 203a 204e 6174 20e2 8692 204e 6174 20e2 : Nat ... Nat . │ │ │ +0004eb80: 8692 204e 6174 0a7a 6572 6f20 202b 206d .. Nat.zero + m │ │ │ +0004eb90: 203d 206d 0a73 7563 206e 202b 206d 203d = m.suc n + m = │ │ │ +0004eba0: 2073 7563 2028 6e20 2b20 6d29 0a0a 7b2d suc (n + m)..{- │ │ │ +0004ebb0: 2320 4255 494c 5449 4e20 4e41 5450 4c55 # BUILTIN NATPLU │ │ │ +0004ebc0: 5320 5f2b 5f20 232d 7d0a 0a5f 2d5f 203a S _+_ #-}.._-_ : │ │ │ +0004ebd0: 204e 6174 20e2 8692 204e 6174 20e2 8692 Nat ... Nat ... │ │ │ +0004ebe0: 204e 6174 0a6e 2020 2020 202d 207a 6572 Nat.n - zer │ │ │ +0004ebf0: 6f20 3d20 6e0a 7a65 726f 2020 2d20 7375 o = n.zero - su │ │ │ +0004ec00: 6320 6d20 3d20 7a65 726f 0a73 7563 206e c m = zero.suc n │ │ │ +0004ec10: 202d 2073 7563 206d 203d 206e 202d 206d - suc m = n - m │ │ │ +0004ec20: 0a0a 7b2d 2320 4255 494c 5449 4e20 4e41 ..{-# BUILTIN NA │ │ │ +0004ec30: 544d 494e 5553 205f 2d5f 2023 2d7d 0a0a TMINUS _-_ #-}.. │ │ │ +0004ec40: 5f2a 5f20 3a20 4e61 7420 e286 9220 4e61 _*_ : Nat ... Na │ │ │ +0004ec50: 7420 e286 9220 4e61 740a 7a65 726f 2020 t ... Nat.zero │ │ │ +0004ec60: 2a20 6d20 3d20 7a65 726f 0a73 7563 206e * m = zero.suc n │ │ │ +0004ec70: 202a 206d 203d 206d 202b 206e 202a 206d * m = m + n * m │ │ │ +0004ec80: 0a0a 7b2d 2320 4255 494c 5449 4e20 4e41 ..{-# BUILTIN NA │ │ │ +0004ec90: 5454 494d 4553 205f 2a5f 2023 2d7d 0a0a TTIMES _*_ #-}.. │ │ │ +0004eca0: 5f3d 3d5f 203a 204e 6174 20e2 8692 204e _==_ : Nat ... N │ │ │ +0004ecb0: 6174 20e2 8692 2042 6f6f 6c0a 7a65 726f at ... Bool.zero │ │ │ +0004ecc0: 2020 3d3d 207a 6572 6f20 203d 2074 7275 == zero = tru │ │ │ +0004ecd0: 650a 7375 6320 6e20 3d3d 2073 7563 206d e.suc n == suc m │ │ │ +0004ece0: 203d 206e 203d 3d20 6d0a 5f20 2020 2020 = n == m._ │ │ │ +0004ecf0: 3d3d 205f 2020 2020 203d 2066 616c 7365 == _ = false │ │ │ +0004ed00: 0a0a 7b2d 2320 4255 494c 5449 4e20 4e41 ..{-# BUILTIN NA │ │ │ +0004ed10: 5445 5155 414c 5320 5f3d 3d5f 2023 2d7d TEQUALS _==_ #-} │ │ │ +0004ed20: 0a0a 5f3c 5f20 3a20 4e61 7420 e286 9220 .._<_ : Nat ... │ │ │ +0004ed30: 4e61 7420 e286 9220 426f 6f6c 0a5f 2020 Nat ... Bool._ │ │ │ +0004ed40: 2020 203c 207a 6572 6f20 203d 2066 616c < zero = fal │ │ │ +0004ed50: 7365 0a7a 6572 6f20 203c 2073 7563 205f se.zero < suc _ │ │ │ +0004ed60: 203d 2074 7275 650a 7375 6320 6e20 3c20 = true.suc n < │ │ │ +0004ed70: 7375 6320 6d20 3d20 6e20 3c20 6d0a 0a7b suc m = n < m..{ │ │ │ +0004ed80: 2d23 2042 5549 4c54 494e 204e 4154 4c45 -# BUILTIN NATLE │ │ │ +0004ed90: 5353 205f 3c5f 2023 2d7d 0a0a 2d2d 2048 SS _<_ #-}..-- H │ │ │ +0004eda0: 656c 7065 7220 6675 6e63 7469 6f6e 2020 elper function │ │ │ +0004edb0: 6469 762d 6865 6c70 6572 2020 666f 7220 div-helper for │ │ │ +0004edc0: 4575 636c 6964 6561 6e20 6469 7669 7369 Euclidean divisi │ │ │ +0004edd0: 6f6e 2e0a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d on..------------ │ │ │ 0004ede0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 0004edf0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 0004ee00: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ -0004ee10: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a2d --------------.- │ │ │ -0004ee20: 2d0a 2d2d 2064 6976 2d68 656c 7065 7220 -.-- div-helper │ │ │ -0004ee30: 636f 6d70 7574 6573 206e 202f 2031 2b6d computes n / 1+m │ │ │ -0004ee40: 2076 6961 2069 7465 7261 7469 6f6e 206f via iteration o │ │ │ -0004ee50: 6e20 6e2e 0a2d 2d0a 2d2d 2020 206e 2064 n n..--.-- n d │ │ │ -0004ee60: 6976 2028 7375 6320 6d29 203d 2064 6976 iv (suc m) = div │ │ │ -0004ee70: 2d68 656c 7065 7220 3020 6d20 6e20 6d0a -helper 0 m n m. │ │ │ -0004ee80: 2d2d 0a2d 2d20 5468 6520 7374 6174 6520 --.-- The state │ │ │ -0004ee90: 6f66 2074 6865 2069 7465 7261 746f 7220 of the iterator │ │ │ -0004eea0: 6861 7320 7477 6f20 6163 6375 6d75 6c61 has two accumula │ │ │ -0004eeb0: 746f 7220 7661 7269 6162 6c65 733a 0a2d tor variables:.- │ │ │ -0004eec0: 2d0a 2d2d 2020 206b 3a20 5468 6520 7175 -.-- k: The qu │ │ │ -0004eed0: 6f74 6965 6e74 2c20 7265 7475 726e 6564 otient, returned │ │ │ -0004eee0: 206f 6e63 6520 6e3d 302e 2020 496e 6974 once n=0. Init │ │ │ -0004eef0: 6961 6c69 7a65 6420 746f 2030 2e0a 2d2d ialized to 0..-- │ │ │ -0004ef00: 0a2d 2d20 2020 6a3a 2041 2063 6f75 6e74 .-- j: A count │ │ │ -0004ef10: 6572 2c20 696e 6974 6961 6c69 7a65 6420 er, initialized │ │ │ -0004ef20: 746f 2074 6865 2064 6976 6973 6f72 206d to the divisor m │ │ │ -0004ef30: 2c20 6465 6372 6561 7365 6420 6f6e 2065 , decreased on e │ │ │ -0004ef40: 6163 6820 6974 6572 6174 696f 6e20 7374 ach iteration st │ │ │ -0004ef50: 6570 2e0a 2d2d 2020 2020 2020 4f6e 6365 ep..-- Once │ │ │ -0004ef60: 2069 7420 7265 6163 6865 7320 302c 2074 it reaches 0, t │ │ │ -0004ef70: 6865 2071 756f 7469 656e 7420 6b20 6973 he quotient k is │ │ │ -0004ef80: 2069 6e63 7265 6173 6564 2061 6e64 206a increased and j │ │ │ -0004ef90: 2072 6573 6574 2074 6f20 6d2c 0a2d 2d20 reset to m,.-- │ │ │ -0004efa0: 2020 2020 2073 7461 7274 696e 6720 7468 starting th │ │ │ -0004efb0: 6520 6e65 7874 2063 6f75 6e74 646f 776e e next countdown │ │ │ -0004efc0: 2e0a 2d2d 0a2d 2d20 556e 6465 7220 7468 ..--.-- Under th │ │ │ -0004efd0: 6520 7072 6563 6f6e 6469 7469 6f6e 206a e precondition j │ │ │ -0004efe0: 20e2 89a4 206d 2c20 7468 6520 696e 7661 ... m, the inva │ │ │ -0004eff0: 7269 616e 7420 6973 0a2d 2d0a 2d2d 2020 riant is.--.-- │ │ │ -0004f000: 2064 6976 2d68 656c 7065 7220 6b20 6d20 div-helper k m │ │ │ -0004f010: 6e20 6a20 3d20 6b20 2b20 286e 202b 206d n j = k + (n + m │ │ │ -0004f020: 202d 206a 2920 6469 7620 2831 202b 206d - j) div (1 + m │ │ │ -0004f030: 290a 0a64 6976 2d68 656c 7065 7220 3a20 )..div-helper : │ │ │ -0004f040: 286b 206d 206e 206a 203a 204e 6174 2920 (k m n j : Nat) │ │ │ -0004f050: e286 9220 4e61 740a 6469 762d 6865 6c70 ... Nat.div-help │ │ │ -0004f060: 6572 206b 206d 2020 7a65 726f 2020 2020 er k m zero │ │ │ -0004f070: 6a20 2020 2020 203d 206b 0a64 6976 2d68 j = k.div-h │ │ │ -0004f080: 656c 7065 7220 6b20 6d20 2873 7563 206e elper k m (suc n │ │ │ -0004f090: 2920 207a 6572 6f20 2020 3d20 6469 762d ) zero = div- │ │ │ -0004f0a0: 6865 6c70 6572 2028 7375 6320 6b29 206d helper (suc k) m │ │ │ -0004f0b0: 206e 206d 0a64 6976 2d68 656c 7065 7220 n m.div-helper │ │ │ -0004f0c0: 6b20 6d20 2873 7563 206e 2920 2873 7563 k m (suc n) (suc │ │ │ -0004f0d0: 206a 2920 3d20 6469 762d 6865 6c70 6572 j) = div-helper │ │ │ -0004f0e0: 206b 2020 2020 2020 206d 206e 206a 0a0a k m n j.. │ │ │ -0004f0f0: 7b2d 2320 4255 494c 5449 4e20 4e41 5444 {-# BUILTIN NATD │ │ │ -0004f100: 4956 5355 4341 5558 2064 6976 2d68 656c IVSUCAUX div-hel │ │ │ -0004f110: 7065 7220 232d 7d0a 0a2d 2d20 5072 6f6f per #-}..-- Proo │ │ │ -0004f120: 6620 6f66 2074 6865 2069 6e76 6172 6961 f of the invaria │ │ │ -0004f130: 6e74 2062 7920 696e 6475 6374 696f 6e20 nt by induction │ │ │ -0004f140: 6f6e 206e 2e0a 2d2d 0a2d 2d20 2020 636c on n..--.-- cl │ │ │ -0004f150: 6175 7365 2031 3a20 6469 762d 6865 6c70 ause 1: div-help │ │ │ -0004f160: 6572 206b 206d 2030 206a 0a2d 2d20 2020 er k m 0 j.-- │ │ │ -0004f170: 2020 2020 2020 2020 3d20 6b20 2020 2020 = k │ │ │ +0004ee10: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a ---------------. │ │ │ +0004ee20: 2d2d 0a2d 2d20 6469 762d 6865 6c70 6572 --.-- div-helper │ │ │ +0004ee30: 2063 6f6d 7075 7465 7320 6e20 2f20 312b computes n / 1+ │ │ │ +0004ee40: 6d20 7669 6120 6974 6572 6174 696f 6e20 m via iteration │ │ │ +0004ee50: 6f6e 206e 2e0a 2d2d 0a2d 2d20 2020 6e20 on n..--.-- n │ │ │ +0004ee60: 6469 7620 2873 7563 206d 2920 3d20 6469 div (suc m) = di │ │ │ +0004ee70: 762d 6865 6c70 6572 2030 206d 206e 206d v-helper 0 m n m │ │ │ +0004ee80: 0a2d 2d0a 2d2d 2054 6865 2073 7461 7465 .--.-- The state │ │ │ +0004ee90: 206f 6620 7468 6520 6974 6572 6174 6f72 of the iterator │ │ │ +0004eea0: 2068 6173 2074 776f 2061 6363 756d 756c has two accumul │ │ │ +0004eeb0: 6174 6f72 2076 6172 6961 626c 6573 3a0a ator variables:. │ │ │ +0004eec0: 2d2d 0a2d 2d20 2020 6b3a 2054 6865 2071 --.-- k: The q │ │ │ +0004eed0: 756f 7469 656e 742c 2072 6574 7572 6e65 uotient, returne │ │ │ +0004eee0: 6420 6f6e 6365 206e 3d30 2e20 2049 6e69 d once n=0. Ini │ │ │ +0004eef0: 7469 616c 697a 6564 2074 6f20 302e 0a2d tialized to 0..- │ │ │ +0004ef00: 2d0a 2d2d 2020 206a 3a20 4120 636f 756e -.-- j: A coun │ │ │ +0004ef10: 7465 722c 2069 6e69 7469 616c 697a 6564 ter, initialized │ │ │ +0004ef20: 2074 6f20 7468 6520 6469 7669 736f 7220 to the divisor │ │ │ +0004ef30: 6d2c 2064 6563 7265 6173 6564 206f 6e20 m, decreased on │ │ │ +0004ef40: 6561 6368 2069 7465 7261 7469 6f6e 2073 each iteration s │ │ │ +0004ef50: 7465 702e 0a2d 2d20 2020 2020 204f 6e63 tep..-- Onc │ │ │ +0004ef60: 6520 6974 2072 6561 6368 6573 2030 2c20 e it reaches 0, │ │ │ +0004ef70: 7468 6520 7175 6f74 6965 6e74 206b 2069 the quotient k i │ │ │ +0004ef80: 7320 696e 6372 6561 7365 6420 616e 6420 s increased and │ │ │ +0004ef90: 6a20 7265 7365 7420 746f 206d 2c0a 2d2d j reset to m,.-- │ │ │ +0004efa0: 2020 2020 2020 7374 6172 7469 6e67 2074 starting t │ │ │ +0004efb0: 6865 206e 6578 7420 636f 756e 7464 6f77 he next countdow │ │ │ +0004efc0: 6e2e 0a2d 2d0a 2d2d 2055 6e64 6572 2074 n..--.-- Under t │ │ │ +0004efd0: 6865 2070 7265 636f 6e64 6974 696f 6e20 he precondition │ │ │ +0004efe0: 6a20 e289 a420 6d2c 2074 6865 2069 6e76 j ... m, the inv │ │ │ +0004eff0: 6172 6961 6e74 2069 730a 2d2d 0a2d 2d20 ariant is.--.-- │ │ │ +0004f000: 2020 6469 762d 6865 6c70 6572 206b 206d div-helper k m │ │ │ +0004f010: 206e 206a 203d 206b 202b 2028 6e20 2b20 n j = k + (n + │ │ │ +0004f020: 6d20 2d20 6a29 2064 6976 2028 3120 2b20 m - j) div (1 + │ │ │ +0004f030: 6d29 0a0a 6469 762d 6865 6c70 6572 203a m)..div-helper : │ │ │ +0004f040: 2028 6b20 6d20 6e20 6a20 3a20 4e61 7429 (k m n j : Nat) │ │ │ +0004f050: 20e2 8692 204e 6174 0a64 6976 2d68 656c ... Nat.div-hel │ │ │ +0004f060: 7065 7220 6b20 6d20 207a 6572 6f20 2020 per k m zero │ │ │ +0004f070: 206a 2020 2020 2020 3d20 6b0a 6469 762d j = k.div- │ │ │ +0004f080: 6865 6c70 6572 206b 206d 2028 7375 6320 helper k m (suc │ │ │ +0004f090: 6e29 2020 7a65 726f 2020 203d 2064 6976 n) zero = div │ │ │ +0004f0a0: 2d68 656c 7065 7220 2873 7563 206b 2920 -helper (suc k) │ │ │ +0004f0b0: 6d20 6e20 6d0a 6469 762d 6865 6c70 6572 m n m.div-helper │ │ │ +0004f0c0: 206b 206d 2028 7375 6320 6e29 2028 7375 k m (suc n) (su │ │ │ +0004f0d0: 6320 6a29 203d 2064 6976 2d68 656c 7065 c j) = div-helpe │ │ │ +0004f0e0: 7220 6b20 2020 2020 2020 6d20 6e20 6a0a r k m n j. │ │ │ +0004f0f0: 0a7b 2d23 2042 5549 4c54 494e 204e 4154 .{-# BUILTIN NAT │ │ │ +0004f100: 4449 5653 5543 4155 5820 6469 762d 6865 DIVSUCAUX div-he │ │ │ +0004f110: 6c70 6572 2023 2d7d 0a0a 2d2d 2050 726f lper #-}..-- Pro │ │ │ +0004f120: 6f66 206f 6620 7468 6520 696e 7661 7269 of of the invari │ │ │ +0004f130: 616e 7420 6279 2069 6e64 7563 7469 6f6e ant by induction │ │ │ +0004f140: 206f 6e20 6e2e 0a2d 2d0a 2d2d 2020 2063 on n..--.-- c │ │ │ +0004f150: 6c61 7573 6520 313a 2064 6976 2d68 656c lause 1: div-hel │ │ │ +0004f160: 7065 7220 6b20 6d20 3020 6a0a 2d2d 2020 per k m 0 j.-- │ │ │ +0004f170: 2020 2020 2020 2020 203d 206b 2020 2020 = k │ │ │ 0004f180: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 0004f190: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0004f1a0: 2020 2062 7920 6465 6669 6e69 7469 6f6e by definition │ │ │ -0004f1b0: 0a2d 2d20 2020 2020 2020 2020 2020 3d20 .-- = │ │ │ -0004f1c0: 6b20 2b20 2830 202b 206d 202d 206a 2920 k + (0 + m - j) │ │ │ -0004f1d0: 6469 7620 2831 202b 206d 2920 2020 2020 div (1 + m) │ │ │ -0004f1e0: 2020 2020 2020 2020 2073 696e 6365 206d since m │ │ │ -0004f1f0: 202d 206a 203c 2031 202b 206d 0a2d 2d0a - j < 1 + m.--. │ │ │ -0004f200: 2d2d 2020 2063 6c61 7573 6520 323a 2064 -- clause 2: d │ │ │ -0004f210: 6976 2d68 656c 7065 7220 6b20 6d20 2831 iv-helper k m (1 │ │ │ -0004f220: 202b 206e 2920 300a 2d2d 2020 2020 2020 + n) 0.-- │ │ │ -0004f230: 2020 2020 203d 2064 6976 2d68 656c 7065 = div-helpe │ │ │ -0004f240: 7220 2831 202b 206b 2920 6d20 6e20 6d20 r (1 + k) m n m │ │ │ +0004f1a0: 2020 2020 6279 2064 6566 696e 6974 696f by definitio │ │ │ +0004f1b0: 6e0a 2d2d 2020 2020 2020 2020 2020 203d n.-- = │ │ │ +0004f1c0: 206b 202b 2028 3020 2b20 6d20 2d20 6a29 k + (0 + m - j) │ │ │ +0004f1d0: 2064 6976 2028 3120 2b20 6d29 2020 2020 div (1 + m) │ │ │ +0004f1e0: 2020 2020 2020 2020 2020 7369 6e63 6520 since │ │ │ +0004f1f0: 6d20 2d20 6a20 3c20 3120 2b20 6d0a 2d2d m - j < 1 + m.-- │ │ │ +0004f200: 0a2d 2d20 2020 636c 6175 7365 2032 3a20 .-- clause 2: │ │ │ +0004f210: 6469 762d 6865 6c70 6572 206b 206d 2028 div-helper k m ( │ │ │ +0004f220: 3120 2b20 6e29 2030 0a2d 2d20 2020 2020 1 + n) 0.-- │ │ │ +0004f230: 2020 2020 2020 3d20 6469 762d 6865 6c70 = div-help │ │ │ +0004f240: 6572 2028 3120 2b20 6b29 206d 206e 206d er (1 + k) m n m │ │ │ 0004f250: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0004f260: 6279 2064 6566 696e 6974 696f 6e0a 2d2d by definition.-- │ │ │ -0004f270: 2020 2020 2020 2020 2020 203d 2031 202b = 1 + │ │ │ -0004f280: 206b 202b 2028 6e20 2b20 6d20 2d20 6d29 k + (n + m - m) │ │ │ -0004f290: 2064 6976 2028 3120 2b20 6d29 2020 2020 div (1 + m) │ │ │ -0004f2a0: 2020 2020 2020 6279 2069 6e64 7563 7469 by inducti │ │ │ -0004f2b0: 6f6e 2068 7970 6f74 6865 7369 730a 2d2d on hypothesis.-- │ │ │ -0004f2c0: 2020 2020 2020 2020 2020 203d 2031 202b = 1 + │ │ │ -0004f2d0: 206b 202b 2020 2020 2020 2020 2020 6e20 k + n │ │ │ -0004f2e0: 2064 6976 2028 3120 2b20 6d29 2020 2020 div (1 + m) │ │ │ -0004f2f0: 2020 2020 2020 6279 2073 696d 706c 6966 by simplif │ │ │ -0004f300: 6963 6174 696f 6e0a 2d2d 2020 2020 2020 ication.-- │ │ │ -0004f310: 2020 2020 203d 206b 202b 2020 2028 6e20 = k + (n │ │ │ -0004f320: 2b20 2831 202b 206d 2929 2064 6976 2028 + (1 + m)) div ( │ │ │ -0004f330: 3120 2b20 6d29 2020 2020 2020 2020 2020 1 + m) │ │ │ -0004f340: 6279 2065 7870 616e 7369 6f6e 0a2d 2d20 by expansion.-- │ │ │ -0004f350: 2020 2020 2020 2020 2020 3d20 6b20 2b20 = k + │ │ │ -0004f360: 2831 202b 206e 202b 206d 202d 2030 2920 (1 + n + m - 0) │ │ │ -0004f370: 6469 7620 2831 202b 206d 2920 2020 2020 div (1 + m) │ │ │ -0004f380: 2020 2020 2062 7920 6578 7061 6e73 696f by expansio │ │ │ -0004f390: 6e0a 2d2d 0a2d 2d20 2020 636c 6175 7365 n.--.-- clause │ │ │ -0004f3a0: 2033 3a20 6469 762d 6865 6c70 6572 206b 3: div-helper k │ │ │ -0004f3b0: 206d 2028 3120 2b20 6e29 2028 3120 2b20 m (1 + n) (1 + │ │ │ -0004f3c0: 6a29 0a2d 2d20 2020 2020 2020 2020 2020 j).-- │ │ │ -0004f3d0: 3d20 6469 762d 6865 6c70 6572 206b 206d = div-helper k m │ │ │ -0004f3e0: 206e 206a 2020 2020 2020 2020 2020 2020 n j │ │ │ -0004f3f0: 2020 2020 2020 2020 2020 2062 7920 6465 by de │ │ │ -0004f400: 6669 6e69 7469 6f6e 0a2d 2d20 2020 2020 finition.-- │ │ │ -0004f410: 2020 2020 2020 3d20 6b20 2b20 286e 202b = k + (n + │ │ │ -0004f420: 206d 202d 206a 2920 6469 7620 2831 202b m - j) div (1 + │ │ │ -0004f430: 206d 2920 2020 2020 2020 2020 2020 2020 m) │ │ │ -0004f440: 2062 7920 696e 6475 6374 696f 6e20 6879 by induction hy │ │ │ -0004f450: 706f 7468 6573 6973 0a2d 2d20 2020 2020 pothesis.-- │ │ │ -0004f460: 2020 2020 2020 3d20 6b20 2b20 2828 3120 = k + ((1 │ │ │ -0004f470: 2b20 6e29 202b 206d 202d 2028 3120 2b20 + n) + m - (1 + │ │ │ -0004f480: 6a29 2920 6469 7620 2831 202b 206d 2920 j)) div (1 + m) │ │ │ -0004f490: 2062 7920 6578 7061 6e73 696f 6e0a 2d2d by expansion.-- │ │ │ -0004f4a0: 0a2d 2d20 512e 652e 642e 0a0a 2d2d 2048 .-- Q.e.d...-- H │ │ │ -0004f4b0: 656c 7065 7220 6675 6e63 7469 6f6e 2020 elper function │ │ │ -0004f4c0: 6d6f 642d 6865 6c70 6572 2020 666f 7220 mod-helper for │ │ │ -0004f4d0: 7468 6520 7265 6d61 696e 6465 7220 636f the remainder co │ │ │ -0004f4e0: 6d70 7574 6174 696f 6e2e 0a2d 2d2d 2d2d mputation..----- │ │ │ +0004f260: 2062 7920 6465 6669 6e69 7469 6f6e 0a2d by definition.- │ │ │ +0004f270: 2d20 2020 2020 2020 2020 2020 3d20 3120 - = 1 │ │ │ +0004f280: 2b20 6b20 2b20 286e 202b 206d 202d 206d + k + (n + m - m │ │ │ +0004f290: 2920 6469 7620 2831 202b 206d 2920 2020 ) div (1 + m) │ │ │ +0004f2a0: 2020 2020 2020 2062 7920 696e 6475 6374 by induct │ │ │ +0004f2b0: 696f 6e20 6879 706f 7468 6573 6973 0a2d ion hypothesis.- │ │ │ +0004f2c0: 2d20 2020 2020 2020 2020 2020 3d20 3120 - = 1 │ │ │ +0004f2d0: 2b20 6b20 2b20 2020 2020 2020 2020 206e + k + n │ │ │ +0004f2e0: 2020 6469 7620 2831 202b 206d 2920 2020 div (1 + m) │ │ │ +0004f2f0: 2020 2020 2020 2062 7920 7369 6d70 6c69 by simpli │ │ │ +0004f300: 6669 6361 7469 6f6e 0a2d 2d20 2020 2020 fication.-- │ │ │ +0004f310: 2020 2020 2020 3d20 6b20 2b20 2020 286e = k + (n │ │ │ +0004f320: 202b 2028 3120 2b20 6d29 2920 6469 7620 + (1 + m)) div │ │ │ +0004f330: 2831 202b 206d 2920 2020 2020 2020 2020 (1 + m) │ │ │ +0004f340: 2062 7920 6578 7061 6e73 696f 6e0a 2d2d by expansion.-- │ │ │ +0004f350: 2020 2020 2020 2020 2020 203d 206b 202b = k + │ │ │ +0004f360: 2028 3120 2b20 6e20 2b20 6d20 2d20 3029 (1 + n + m - 0) │ │ │ +0004f370: 2064 6976 2028 3120 2b20 6d29 2020 2020 div (1 + m) │ │ │ +0004f380: 2020 2020 2020 6279 2065 7870 616e 7369 by expansi │ │ │ +0004f390: 6f6e 0a2d 2d0a 2d2d 2020 2063 6c61 7573 on.--.-- claus │ │ │ +0004f3a0: 6520 333a 2064 6976 2d68 656c 7065 7220 e 3: div-helper │ │ │ +0004f3b0: 6b20 6d20 2831 202b 206e 2920 2831 202b k m (1 + n) (1 + │ │ │ +0004f3c0: 206a 290a 2d2d 2020 2020 2020 2020 2020 j).-- │ │ │ +0004f3d0: 203d 2064 6976 2d68 656c 7065 7220 6b20 = div-helper k │ │ │ +0004f3e0: 6d20 6e20 6a20 2020 2020 2020 2020 2020 m n j │ │ │ +0004f3f0: 2020 2020 2020 2020 2020 2020 6279 2064 by d │ │ │ +0004f400: 6566 696e 6974 696f 6e0a 2d2d 2020 2020 efinition.-- │ │ │ +0004f410: 2020 2020 2020 203d 206b 202b 2028 6e20 = k + (n │ │ │ +0004f420: 2b20 6d20 2d20 6a29 2064 6976 2028 3120 + m - j) div (1 │ │ │ +0004f430: 2b20 6d29 2020 2020 2020 2020 2020 2020 + m) │ │ │ +0004f440: 2020 6279 2069 6e64 7563 7469 6f6e 2068 by induction h │ │ │ +0004f450: 7970 6f74 6865 7369 730a 2d2d 2020 2020 ypothesis.-- │ │ │ +0004f460: 2020 2020 2020 203d 206b 202b 2028 2831 = k + ((1 │ │ │ +0004f470: 202b 206e 2920 2b20 6d20 2d20 2831 202b + n) + m - (1 + │ │ │ +0004f480: 206a 2929 2064 6976 2028 3120 2b20 6d29 j)) div (1 + m) │ │ │ +0004f490: 2020 6279 2065 7870 616e 7369 6f6e 0a2d by expansion.- │ │ │ +0004f4a0: 2d0a 2d2d 2051 2e65 2e64 2e0a 0a2d 2d20 -.-- Q.e.d...-- │ │ │ +0004f4b0: 4865 6c70 6572 2066 756e 6374 696f 6e20 Helper function │ │ │ +0004f4c0: 206d 6f64 2d68 656c 7065 7220 2066 6f72 mod-helper for │ │ │ +0004f4d0: 2074 6865 2072 656d 6169 6e64 6572 2063 the remainder c │ │ │ +0004f4e0: 6f6d 7075 7461 7469 6f6e 2e0a 2d2d 2d2d omputation..---- │ │ │ 0004f4f0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 0004f500: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 0004f510: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 0004f520: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ -0004f530: 2d2d 2d2d 2d2d 0a2d 2d0a 2d2d 2028 416e ------.--.-- (An │ │ │ -0004f540: 616c 6f67 6f75 7320 746f 2064 6976 2d68 alogous to div-h │ │ │ -0004f550: 656c 7065 722e 290a 2d2d 0a2d 2d20 6d6f elper.).--.-- mo │ │ │ -0004f560: 642d 6865 6c70 6572 2063 6f6d 7075 7465 d-helper compute │ │ │ -0004f570: 7320 6e20 2520 312b 6d20 7669 6120 6974 s n % 1+m via it │ │ │ -0004f580: 6572 6174 696f 6e20 6f6e 206e 2e0a 2d2d eration on n..-- │ │ │ -0004f590: 0a2d 2d20 2020 6e20 6d6f 6420 2873 7563 .-- n mod (suc │ │ │ -0004f5a0: 206d 2920 3d20 6d6f 642d 6865 6c70 6572 m) = mod-helper │ │ │ -0004f5b0: 2030 206d 206e 206d 0a2d 2d0a 2d2d 2054 0 m n m.--.-- T │ │ │ -0004f5c0: 6865 2069 6e76 6172 6961 6e74 2069 733a he invariant is: │ │ │ -0004f5d0: 0a2d 2d0a 2d2d 2020 206d 203d 206b 202b .--.-- m = k + │ │ │ -0004f5e0: 206a 2020 3d3d 3e20 206d 6f64 2d68 656c j ==> mod-hel │ │ │ -0004f5f0: 7065 7220 6b20 6d20 6e20 6a20 3d20 286e per k m n j = (n │ │ │ -0004f600: 202b 206b 2920 6d6f 6420 2831 202b 206d + k) mod (1 + m │ │ │ -0004f610: 292e 0a0a 6d6f 642d 6865 6c70 6572 203a )...mod-helper : │ │ │ -0004f620: 2028 6b20 6d20 6e20 6a20 3a20 4e61 7429 (k m n j : Nat) │ │ │ -0004f630: 20e2 8692 204e 6174 0a6d 6f64 2d68 656c ... Nat.mod-hel │ │ │ -0004f640: 7065 7220 6b20 6d20 207a 6572 6f20 2020 per k m zero │ │ │ -0004f650: 206a 2020 2020 2020 3d20 6b0a 6d6f 642d j = k.mod- │ │ │ -0004f660: 6865 6c70 6572 206b 206d 2028 7375 6320 helper k m (suc │ │ │ -0004f670: 6e29 2020 7a65 726f 2020 203d 206d 6f64 n) zero = mod │ │ │ -0004f680: 2d68 656c 7065 7220 3020 2020 2020 2020 -helper 0 │ │ │ -0004f690: 6d20 6e20 6d0a 6d6f 642d 6865 6c70 6572 m n m.mod-helper │ │ │ -0004f6a0: 206b 206d 2028 7375 6320 6e29 2028 7375 k m (suc n) (su │ │ │ -0004f6b0: 6320 6a29 203d 206d 6f64 2d68 656c 7065 c j) = mod-helpe │ │ │ -0004f6c0: 7220 2873 7563 206b 2920 6d20 6e20 6a0a r (suc k) m n j. │ │ │ -0004f6d0: 0a7b 2d23 2042 5549 4c54 494e 204e 4154 .{-# BUILTIN NAT │ │ │ -0004f6e0: 4d4f 4453 5543 4155 5820 6d6f 642d 6865 MODSUCAUX mod-he │ │ │ -0004f6f0: 6c70 6572 2023 2d7d 0a0a 2d2d 2050 726f lper #-}..-- Pro │ │ │ -0004f700: 6f66 206f 6620 7468 6520 696e 7661 7269 of of the invari │ │ │ -0004f710: 616e 7420 6279 2069 6e64 7563 7469 6f6e ant by induction │ │ │ -0004f720: 206f 6e20 6e2e 0a2d 2d0a 2d2d 2020 2063 on n..--.-- c │ │ │ -0004f730: 6c61 7573 6520 313a 206d 6f64 2d68 656c lause 1: mod-hel │ │ │ -0004f740: 7065 7220 6b20 6d20 3020 6a0a 2d2d 2020 per k m 0 j.-- │ │ │ -0004f750: 2020 2020 2020 2020 203d 206b 2020 2020 = k │ │ │ +0004f530: 2d2d 2d2d 2d2d 2d0a 2d2d 0a2d 2d20 2841 -------.--.-- (A │ │ │ +0004f540: 6e61 6c6f 676f 7573 2074 6f20 6469 762d nalogous to div- │ │ │ +0004f550: 6865 6c70 6572 2e29 0a2d 2d0a 2d2d 206d helper.).--.-- m │ │ │ +0004f560: 6f64 2d68 656c 7065 7220 636f 6d70 7574 od-helper comput │ │ │ +0004f570: 6573 206e 2025 2031 2b6d 2076 6961 2069 es n % 1+m via i │ │ │ +0004f580: 7465 7261 7469 6f6e 206f 6e20 6e2e 0a2d teration on n..- │ │ │ +0004f590: 2d0a 2d2d 2020 206e 206d 6f64 2028 7375 -.-- n mod (su │ │ │ +0004f5a0: 6320 6d29 203d 206d 6f64 2d68 656c 7065 c m) = mod-helpe │ │ │ +0004f5b0: 7220 3020 6d20 6e20 6d0a 2d2d 0a2d 2d20 r 0 m n m.--.-- │ │ │ +0004f5c0: 5468 6520 696e 7661 7269 616e 7420 6973 The invariant is │ │ │ +0004f5d0: 3a0a 2d2d 0a2d 2d20 2020 6d20 3d20 6b20 :.--.-- m = k │ │ │ +0004f5e0: 2b20 6a20 203d 3d3e 2020 6d6f 642d 6865 + j ==> mod-he │ │ │ +0004f5f0: 6c70 6572 206b 206d 206e 206a 203d 2028 lper k m n j = ( │ │ │ +0004f600: 6e20 2b20 6b29 206d 6f64 2028 3120 2b20 n + k) mod (1 + │ │ │ +0004f610: 6d29 2e0a 0a6d 6f64 2d68 656c 7065 7220 m)...mod-helper │ │ │ +0004f620: 3a20 286b 206d 206e 206a 203a 204e 6174 : (k m n j : Nat │ │ │ +0004f630: 2920 e286 9220 4e61 740a 6d6f 642d 6865 ) ... Nat.mod-he │ │ │ +0004f640: 6c70 6572 206b 206d 2020 7a65 726f 2020 lper k m zero │ │ │ +0004f650: 2020 6a20 2020 2020 203d 206b 0a6d 6f64 j = k.mod │ │ │ +0004f660: 2d68 656c 7065 7220 6b20 6d20 2873 7563 -helper k m (suc │ │ │ +0004f670: 206e 2920 207a 6572 6f20 2020 3d20 6d6f n) zero = mo │ │ │ +0004f680: 642d 6865 6c70 6572 2030 2020 2020 2020 d-helper 0 │ │ │ +0004f690: 206d 206e 206d 0a6d 6f64 2d68 656c 7065 m n m.mod-helpe │ │ │ +0004f6a0: 7220 6b20 6d20 2873 7563 206e 2920 2873 r k m (suc n) (s │ │ │ +0004f6b0: 7563 206a 2920 3d20 6d6f 642d 6865 6c70 uc j) = mod-help │ │ │ +0004f6c0: 6572 2028 7375 6320 6b29 206d 206e 206a er (suc k) m n j │ │ │ +0004f6d0: 0a0a 7b2d 2320 4255 494c 5449 4e20 4e41 ..{-# BUILTIN NA │ │ │ +0004f6e0: 544d 4f44 5355 4341 5558 206d 6f64 2d68 TMODSUCAUX mod-h │ │ │ +0004f6f0: 656c 7065 7220 232d 7d0a 0a2d 2d20 5072 elper #-}..-- Pr │ │ │ +0004f700: 6f6f 6620 6f66 2074 6865 2069 6e76 6172 oof of the invar │ │ │ +0004f710: 6961 6e74 2062 7920 696e 6475 6374 696f iant by inductio │ │ │ +0004f720: 6e20 6f6e 206e 2e0a 2d2d 0a2d 2d20 2020 n on n..--.-- │ │ │ +0004f730: 636c 6175 7365 2031 3a20 6d6f 642d 6865 clause 1: mod-he │ │ │ +0004f740: 6c70 6572 206b 206d 2030 206a 0a2d 2d20 lper k m 0 j.-- │ │ │ +0004f750: 2020 2020 2020 2020 2020 3d20 6b20 2020 = k │ │ │ 0004f760: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0004f770: 2020 2020 2020 2020 2020 2062 7920 6465 by de │ │ │ -0004f780: 6669 6e69 7469 6f6e 0a2d 2d20 2020 2020 finition.-- │ │ │ -0004f790: 2020 2020 2020 3d20 2830 202b 206b 2920 = (0 + k) │ │ │ -0004f7a0: 6d6f 6420 2831 202b 206d 2920 2020 2020 mod (1 + m) │ │ │ -0004f7b0: 2020 2020 2020 2020 7369 6e63 6520 6d20 since m │ │ │ -0004f7c0: 3d20 6b20 2b20 6a2c 2074 6875 7320 6b20 = k + j, thus k │ │ │ -0004f7d0: 3c20 6d0a 2d2d 0a2d 2d20 2020 636c 6175 < m.--.-- clau │ │ │ -0004f7e0: 7365 2032 3a20 6d6f 642d 6865 6c70 6572 se 2: mod-helper │ │ │ -0004f7f0: 206b 206d 2028 3120 2b20 6e29 2030 0a2d k m (1 + n) 0.- │ │ │ -0004f800: 2d20 2020 2020 2020 2020 2020 3d20 6d6f - = mo │ │ │ -0004f810: 642d 6865 6c70 6572 2030 206d 206e 206d d-helper 0 m n m │ │ │ -0004f820: 2020 2020 2020 2020 2020 2020 2020 6279 by │ │ │ -0004f830: 2064 6566 696e 6974 696f 6e0a 2d2d 2020 definition.-- │ │ │ -0004f840: 2020 2020 2020 2020 203d 2028 6e20 2b20 = (n + │ │ │ -0004f850: 3029 2020 2020 2020 206d 6f64 2028 3120 0) mod (1 │ │ │ -0004f860: 2b20 6d29 2020 2020 2020 2062 7920 696e + m) by in │ │ │ -0004f870: 6475 6374 696f 6e20 6879 706f 7468 6573 duction hypothes │ │ │ -0004f880: 6973 0a2d 2d20 2020 2020 2020 2020 2020 is.-- │ │ │ -0004f890: 3d20 286e 202b 2028 3120 2b20 6d29 2920 = (n + (1 + m)) │ │ │ -0004f8a0: 6d6f 6420 2831 202b 206d 2920 2020 2020 mod (1 + m) │ │ │ -0004f8b0: 2020 6279 2065 7870 616e 7369 6f6e 0a2d by expansion.- │ │ │ -0004f8c0: 2d20 2020 2020 2020 2020 2020 3d20 2831 - = (1 │ │ │ -0004f8d0: 202b 206e 2920 2b20 6b29 2020 6d6f 6420 + n) + k) mod │ │ │ -0004f8e0: 2831 202b 206d 2920 2020 2020 2020 7369 (1 + m) si │ │ │ -0004f8f0: 6e63 6520 6b20 3d20 6d20 2861 7320 6c20 nce k = m (as l │ │ │ -0004f900: 3d20 3029 0a2d 2d0a 2d2d 2020 2063 6c61 = 0).--.-- cla │ │ │ -0004f910: 7573 6520 333a 206d 6f64 2d68 656c 7065 use 3: mod-helpe │ │ │ -0004f920: 7220 6b20 6d20 2831 202b 206e 2920 2831 r k m (1 + n) (1 │ │ │ -0004f930: 202b 206a 290a 2d2d 2020 2020 2020 2020 + j).-- │ │ │ -0004f940: 2020 203d 206d 6f64 2d68 656c 7065 7220 = mod-helper │ │ │ -0004f950: 2831 202b 206b 2920 6d20 6e20 6a20 2020 (1 + k) m n j │ │ │ -0004f960: 2020 2020 2062 7920 6465 6669 6e69 7469 by definiti │ │ │ -0004f970: 6f6e 0a2d 2d20 2020 2020 2020 2020 2020 on.-- │ │ │ -0004f980: 3d20 286e 202b 2028 3120 2b20 6b29 2920 = (n + (1 + k)) │ │ │ -0004f990: 6d6f 6420 2831 202b 206d 2920 2020 2020 mod (1 + m) │ │ │ -0004f9a0: 2020 6279 2069 6e64 7563 7469 6f6e 2068 by induction h │ │ │ -0004f9b0: 7970 6f74 6865 7369 730a 2d2d 2020 2020 ypothesis.-- │ │ │ -0004f9c0: 2020 2020 2020 203d 2028 2831 202b 206e = ((1 + n │ │ │ -0004f9d0: 2920 2b20 6b29 206d 6f64 2028 3120 2b20 ) + k) mod (1 + │ │ │ -0004f9e0: 6d29 2020 2020 2020 2062 7920 636f 6d6d m) by comm │ │ │ -0004f9f0: 7574 6174 6976 6974 790a 2d2d 0a2d 2d20 utativity.--.-- │ │ │ -0004fa00: 512e 652e 642e 0ae0 cfe8 a4b7 f0e5 9a8a Q.e.d........... │ │ │ -0004fa10: 01b1 9bf8 8da5 dce2 c27b 00d5 0100 04fa .........{...... │ │ │ -0004fa20: 4405 2000 0001 0004 0408 0307 025e 0200 D. ..........^.. │ │ │ -0004fa30: 0003 0f00 0505 050b 5f0b 8d02 0b61 0906 ........_....a.. │ │ │ -0004fa40: 0100 f201 ccab cbde eec7 a7cb fe01 fd98 ................ │ │ │ -0004fa50: d2a3 afbf 9cd7 8f01 008d 0200 04fb 6905 ..............i. │ │ │ -0004fa60: 8280 80e6 0800 0001 0003 0407 0402 0000 ................ │ │ │ -0004fa70: 030f 0009 01f2 017b 2d23 204f 5054 494f .......{-# OPTIO │ │ │ -0004fa80: 4e53 202d 2d63 7562 6963 616c 2d63 6f6d NS --cubical-com │ │ │ -0004fa90: 7061 7469 626c 6520 2d2d 7361 6665 202d patible --safe - │ │ │ -0004faa0: 2d6e 6f2d 7369 7a65 642d 7479 7065 7320 -no-sized-types │ │ │ -0004fab0: 2d2d 6e6f 2d67 7561 7264 6564 6e65 7373 --no-guardedness │ │ │ -0004fac0: 202d 2d6c 6576 656c 2d75 6e69 7665 7273 --level-univers │ │ │ -0004fad0: 6520 232d 7d0a 0a6d 6f64 756c 6520 4167 e #-}..module Ag │ │ │ -0004fae0: 6461 2e42 7569 6c74 696e 2e4d 6179 6265 da.Builtin.Maybe │ │ │ -0004faf0: 2077 6865 7265 0a0a 6461 7461 204d 6179 where..data May │ │ │ -0004fb00: 6265 207b 617d 2028 4120 3a20 5365 7420 be {a} (A : Set │ │ │ -0004fb10: 6129 203a 2053 6574 2061 2077 6865 7265 a) : Set a where │ │ │ -0004fb20: 0a20 206a 7573 7420 3a20 4120 e286 9220 . just : A ... │ │ │ -0004fb30: 4d61 7962 6520 410a 2020 6e6f 7468 696e Maybe A. nothin │ │ │ -0004fb40: 6720 3a20 4d61 7962 6520 410a 0a7b 2d23 g : Maybe A..{-# │ │ │ -0004fb50: 2042 5549 4c54 494e 204d 4159 4245 204d BUILTIN MAYBE M │ │ │ -0004fb60: 6179 6265 2023 2d7d 0ae4 c098 b2a0 b193 aybe #-}........ │ │ │ -0004fb70: c852 f49c e1c8 f8a6 c996 f201 00d2 0100 .R.............. │ │ │ -0004fb80: 04fb a605 2000 0001 0004 0408 0307 025e .... ..........^ │ │ │ -0004fb90: 0200 0003 0f00 0505 050b 5f0b 8e02 0b61 .........._....a │ │ │ -0004fba0: 0906 0100 9104 cfd8 b6be 9ec5 a0f3 5580 ..............U. │ │ │ -0004fbb0: a6d3 dfe5 dc8e 8e61 008e 0200 04fd e805 .......a........ │ │ │ -0004fbc0: 8280 80e6 0800 0001 0003 0407 0402 0000 ................ │ │ │ -0004fbd0: 030f 0009 0191 047b 2d23 204f 5054 494f .......{-# OPTIO │ │ │ -0004fbe0: 4e53 202d 2d63 7562 6963 616c 2d63 6f6d NS --cubical-com │ │ │ -0004fbf0: 7061 7469 626c 6520 2d2d 7361 6665 202d patible --safe - │ │ │ -0004fc00: 2d6e 6f2d 7369 7a65 642d 7479 7065 7320 -no-sized-types │ │ │ -0004fc10: 2d2d 6e6f 2d67 7561 7264 6564 6e65 7373 --no-guardedness │ │ │ -0004fc20: 202d 2d6c 6576 656c 2d75 6e69 7665 7273 --level-univers │ │ │ -0004fc30: 6520 232d 7d0a 0a6d 6f64 756c 6520 4167 e #-}..module Ag │ │ │ -0004fc40: 6461 2e42 7569 6c74 696e 2e4c 6973 7420 da.Builtin.List │ │ │ -0004fc50: 7768 6572 650a 0a69 6e66 6978 7220 3520 where..infixr 5 │ │ │ -0004fc60: 5fe2 88b7 5f0a 6461 7461 204c 6973 7420 _..._.data List │ │ │ -0004fc70: 7b61 7d20 2841 203a 2053 6574 2061 2920 {a} (A : Set a) │ │ │ -0004fc80: 3a20 5365 7420 6120 7768 6572 650a 2020 : Set a where. │ │ │ -0004fc90: 5b5d 2020 3a20 4c69 7374 2041 0a20 205f [] : List A. _ │ │ │ -0004fca0: e288 b75f 203a 2028 7820 3a20 4129 2028 ..._ : (x : A) ( │ │ │ -0004fcb0: 7873 203a 204c 6973 7420 4129 20e2 8692 xs : List A) ... │ │ │ -0004fcc0: 204c 6973 7420 410a 0a7b 2d23 2042 5549 List A..{-# BUI │ │ │ -0004fcd0: 4c54 494e 204c 4953 5420 4c69 7374 2023 LTIN LIST List # │ │ │ -0004fce0: 2d7d 0a0a 7b2d 2320 434f 4d50 494c 4520 -}..{-# COMPILE │ │ │ -0004fcf0: 4a53 2020 4c69 7374 203d 2066 756e 6374 JS List = funct │ │ │ -0004fd00: 696f 6e28 782c 7629 207b 0a20 2069 6620 ion(x,v) {. if │ │ │ -0004fd10: 2878 2e6c 656e 6774 6820 3c20 3129 207b (x.length < 1) { │ │ │ -0004fd20: 2072 6574 7572 6e20 765b 225b 5d22 5d28 return v["[]"]( │ │ │ -0004fd30: 293b 207d 2065 6c73 6520 7b20 7265 7475 ); } else { retu │ │ │ -0004fd40: 726e 2076 5b22 5fe2 88b7 5f22 5d28 785b rn v["_..._"](x[ │ │ │ -0004fd50: 305d 2c20 782e 736c 6963 6528 3129 293b 0], x.slice(1)); │ │ │ -0004fd60: 207d 0a7d 2023 2d7d 0a7b 2d23 2043 4f4d }.} #-}.{-# COM │ │ │ -0004fd70: 5049 4c45 204a 5320 5b5d 203d 2041 7272 PILE JS [] = Arr │ │ │ -0004fd80: 6179 2829 2023 2d7d 0a7b 2d23 2043 4f4d ay() #-}.{-# COM │ │ │ -0004fd90: 5049 4c45 204a 5320 5fe2 88b7 5f20 3d20 PILE JS _..._ = │ │ │ -0004fda0: 6675 6e63 7469 6f6e 2028 7829 207b 2072 function (x) { r │ │ │ -0004fdb0: 6574 7572 6e20 6675 6e63 7469 6f6e 2879 eturn function(y │ │ │ -0004fdc0: 2920 7b20 7265 7475 726e 2041 7272 6179 ) { return Array │ │ │ -0004fdd0: 2878 292e 636f 6e63 6174 2879 293b 207d (x).concat(y); } │ │ │ -0004fde0: 3b20 7d20 232d 7d0a 93f5 a099 aac9 aeb9 ; } #-}......... │ │ │ -0004fdf0: 3d82 b6a6 f9c7 99e7 e24d 00d0 0100 04fe =........M...... │ │ │ -0004fe00: 2405 2000 0001 0004 0408 0307 025e 0200 $. ..........^.. │ │ │ -0004fe10: 0003 0f00 0505 050b 5f0b 8f02 0b61 0906 ........_....a.. │ │ │ -0004fe20: 0100 da03 bddc eecb c6aa b7d2 d501 88a5 ................ │ │ │ -0004fe30: e6c1 9cdd 8ea4 e401 008f 0200 0500 3105 ..............1. │ │ │ -0004fe40: 8280 80e6 0800 0001 0003 0407 0402 0000 ................ │ │ │ -0004fe50: 030f 0009 01da 037b 2d23 204f 5054 494f .......{-# OPTIO │ │ │ -0004fe60: 4e53 202d 2d63 7562 6963 616c 2d63 6f6d NS --cubical-com │ │ │ -0004fe70: 7061 7469 626c 6520 2d2d 7361 6665 202d patible --safe - │ │ │ -0004fe80: 2d6e 6f2d 7369 7a65 642d 7479 7065 7320 -no-sized-types │ │ │ -0004fe90: 2d2d 6e6f 2d67 7561 7264 6564 6e65 7373 --no-guardedness │ │ │ -0004fea0: 202d 2d6c 6576 656c 2d75 6e69 7665 7273 --level-univers │ │ │ -0004feb0: 6520 232d 7d0a 0a6d 6f64 756c 6520 4167 e #-}..module Ag │ │ │ -0004fec0: 6461 2e42 7569 6c74 696e 2e49 6e74 2077 da.Builtin.Int w │ │ │ -0004fed0: 6865 7265 0a0a 6f70 656e 2069 6d70 6f72 here..open impor │ │ │ -0004fee0: 7420 4167 6461 2e42 7569 6c74 696e 2e4e t Agda.Builtin.N │ │ │ -0004fef0: 6174 0a6f 7065 6e20 696d 706f 7274 2041 at.open import A │ │ │ -0004ff00: 6764 612e 4275 696c 7469 6e2e 5374 7269 gda.Builtin.Stri │ │ │ -0004ff10: 6e67 0a0a 696e 6669 7820 3820 706f 7320 ng..infix 8 pos │ │ │ -0004ff20: 202d 2d20 5374 616e 6461 7264 206c 6962 -- Standard lib │ │ │ -0004ff30: 7261 7279 2075 7365 7320 7468 6973 2061 rary uses this a │ │ │ -0004ff40: 7320 2b5f 0a0a 6461 7461 2049 6e74 203a s +_..data Int : │ │ │ -0004ff50: 2053 6574 2077 6865 7265 0a20 2070 6f73 Set where. pos │ │ │ -0004ff60: 2020 2020 3a20 286e 203a 204e 6174 2920 : (n : Nat) │ │ │ -0004ff70: e286 9220 496e 740a 2020 6e65 6773 7563 ... Int. negsuc │ │ │ -0004ff80: 203a 2028 6e20 3a20 4e61 7429 20e2 8692 : (n : Nat) ... │ │ │ -0004ff90: 2049 6e74 0a0a 7b2d 2320 4255 494c 5449 Int..{-# BUILTI │ │ │ -0004ffa0: 4e20 494e 5445 4745 5220 2020 2020 2020 N INTEGER │ │ │ -0004ffb0: 496e 7420 2020 2023 2d7d 0a7b 2d23 2042 Int #-}.{-# B │ │ │ -0004ffc0: 5549 4c54 494e 2049 4e54 4547 4552 504f UILTIN INTEGERPO │ │ │ -0004ffd0: 5320 2020 2070 6f73 2020 2020 232d 7d0a S pos #-}. │ │ │ -0004ffe0: 7b2d 2320 4255 494c 5449 4e20 494e 5445 {-# BUILTIN INTE │ │ │ -0004fff0: 4745 524e 4547 5355 4320 6e65 6773 7563 GERNEGSUC negsuc │ │ │ -00050000: 2023 2d7d 0a0a 7072 696d 6974 6976 6520 #-}..primitive │ │ │ -00050010: 7072 696d 5368 6f77 496e 7465 6765 7220 primShowInteger │ │ │ -00050020: 3a20 496e 7420 e286 9220 5374 7269 6e67 : Int ... String │ │ │ -00050030: 0ad9 bdb9 96a1 dca9 8b4e a697 c8b1 a0eb .........N...... │ │ │ -00050040: adc8 7500 ce01 0005 006d 0520 0000 0100 ..u......m. .... │ │ │ -00050050: 0404 0803 0702 5e02 0000 030f 0005 0505 ......^......... │ │ │ -00050060: 0b5f 0b90 020b 6109 0601 00aa 02ae adbd ._....a......... │ │ │ -00050070: a6cc c6e7 8927 bbf5 83df a999 ad82 e301 .....'.......... │ │ │ -00050080: 0090 0200 0501 c905 8280 80e6 0800 0001 ................ │ │ │ -00050090: 0003 0407 0402 0000 030f 0009 01aa 027b ...............{ │ │ │ -000500a0: 2d23 204f 5054 494f 4e53 202d 2d63 7562 -# OPTIONS --cub │ │ │ -000500b0: 6963 616c 2d63 6f6d 7061 7469 626c 6520 ical-compatible │ │ │ -000500c0: 2d2d 7361 6665 202d 2d6e 6f2d 7369 7a65 --safe --no-size │ │ │ -000500d0: 642d 7479 7065 7320 2d2d 6e6f 2d67 7561 d-types --no-gua │ │ │ -000500e0: 7264 6564 6e65 7373 202d 2d6c 6576 656c rdedness --level │ │ │ -000500f0: 2d75 6e69 7665 7273 6520 232d 7d0a 0a6d -universe #-}..m │ │ │ -00050100: 6f64 756c 6520 4167 6461 2e42 7569 6c74 odule Agda.Built │ │ │ -00050110: 696e 2e49 4f20 7768 6572 650a 0a70 6f73 in.IO where..pos │ │ │ -00050120: 7475 6c61 7465 2049 4f20 3a20 e288 8020 tulate IO : ... │ │ │ -00050130: 7b61 7d20 e286 9220 5365 7420 6120 e286 {a} ... Set a .. │ │ │ -00050140: 9220 5365 7420 610a 7b2d 2320 504f 4c41 . Set a.{-# POLA │ │ │ -00050150: 5249 5459 2049 4f20 2b2b 202b 2b20 232d RITY IO ++ ++ #- │ │ │ -00050160: 7d0a 7b2d 2320 4255 494c 5449 4e20 494f }.{-# BUILTIN IO │ │ │ -00050170: 2049 4f20 232d 7d0a 0a7b 2d23 2046 4f52 IO #-}..{-# FOR │ │ │ -00050180: 4549 474e 2047 4843 2074 7970 6520 4167 EIGN GHC type Ag │ │ │ -00050190: 6461 494f 2061 2062 203d 2049 4f20 6220 daIO a b = IO b │ │ │ -000501a0: 232d 7d0a 7b2d 2320 434f 4d50 494c 4520 #-}.{-# COMPILE │ │ │ -000501b0: 4748 4320 494f 203d 2074 7970 6520 4167 GHC IO = type Ag │ │ │ -000501c0: 6461 494f 2023 2d7d 0a00 0000 0005 01d1 daIO #-}........ │ │ │ -000501d0: 00c7 f9f7 e984 dfa6 9f69 aebc f1de 85c0 .........i...... │ │ │ -000501e0: 83b2 1e00 0000 0000 9102 0000 0100 f001 ................ │ │ │ -000501f0: 0000 0100 4a00 0001 00f1 0100 0001 00f2 ....J........... │ │ │ -00050200: 0100 0001 00f3 0100 0e64 00f4 0100 0001 .........d...... │ │ │ -00050210: 00f5 0100 0001 00f6 0100 0e64 00f7 0100 ...........d.... │ │ │ -00050220: 0001 00f8 0100 0001 00f9 0100 0001 00fa ................ │ │ │ -00050230: 0100 0001 00fb 0100 35fc 0100 fd01 0006 ........5....... │ │ │ -00050240: 2303 fe01 0006 2300 ff01 000b 8002 0381 #.....#......... │ │ │ -00050250: 0200 0e64 0382 0200 0623 0383 0200 051b ...d.....#...... │ │ │ -00050260: 0184 0200 0785 0200 8602 000b 5e03 8702 ............^... │ │ │ -00050270: 0009 5700 8802 0000 0100 8902 000b 5800 ..W...........X. │ │ │ -00050280: 8a02 0008 5503 8b02 0008 8c02 008d 0200 ....U........... │ │ │ -00050290: 0b8e 0203 8f02 000b 8002 0390 0200 0b91 ................ │ │ │ -000502a0: 0201 9202 0008 5500 9302 0008 5500 9402 ......U.....U... │ │ │ -000502b0: 0006 2103 9502 0009 5700 9602 0009 5700 ..!.....W.....W. │ │ │ -000502c0: 9702 000b 9802 0099 0200 0b9a 0200 9b02 ................ │ │ │ -000502d0: 000b 9c02 039d 0200 0652 009e 0200 0b5f .........R....._ │ │ │ -000502e0: 009f 0200 0b98 0200 a002 0000 0100 a102 ................ │ │ │ -000502f0: 0000 0100 a202 000b 3203 a302 000b a402 ........2....... │ │ │ -00050300: 03a5 0200 a602 a702 00a8 0200 3536 03a9 ............56.. │ │ │ -00050310: 0200 0baa 0200 ab02 0000 0100 ac02 0007 ................ │ │ │ -00050320: 8502 00ad 0200 3536 03ae 0200 0785 0200 ......56........ │ │ │ -00050330: af02 0000 0200 4700 0001 00b0 0200 0001 ......G......... │ │ │ -00050340: 00b1 0200 0bb2 0203 b302 000b b402 00b5 ................ │ │ │ -00050350: 0200 0bb2 0201 b302 000b b602 00b7 0200 ................ │ │ │ -00050360: 0001 00b8 0200 0b63 00b9 0200 0bb6 0203 .......c........ │ │ │ -00050370: ba02 0000 0100 bb02 0000 0100 bc02 000b ................ │ │ │ -00050380: 0c00 bd02 000b 6200 be02 000b 6200 bf02 ......b.....b... │ │ │ -00050390: 000b 6200 c002 0000 0100 c102 0000 0100 ..b............. │ │ │ -000503a0: c202 0007 5300 c302 0000 0100 c402 0000 ....S........... │ │ │ -000503b0: 0100 c502 0000 0100 c602 0009 c702 03c8 ................ │ │ │ -000503c0: 0200 07c9 0200 ca02 0007 8502 00cb 0200 ................ │ │ │ -000503d0: 35fc 0100 cc02 000b cd02 00ce 0200 0785 5............... │ │ │ -000503e0: 0200 cf02 0007 5400 d002 0035 fc01 00d1 ......T....5.... │ │ │ -000503f0: 0200 0001 00d2 0200 0001 00d3 0200 0004 ................ │ │ │ -00050400: 00d4 0200 0004 00d5 0200 0001 00d5 0200 ................ │ │ │ -00050410: 0001 00d6 0200 0001 00d7 0200 0001 00d8 ................ │ │ │ -00050420: 0200 0001 00d9 0200 0001 00da 0200 0001 ................ │ │ │ -00050430: 00db 0200 0001 00dc 0200 0621 01dd 0200 ...........!.... │ │ │ -00050440: 0621 00dd 0200 0001 00de 0200 0bdf 0200 .!.............. │ │ │ -00050450: e002 0000 0100 e102 0000 0100 e202 0000 ................ │ │ │ -00050460: 0100 e302 0000 0100 e402 0000 0100 e502 ................ │ │ │ -00050470: 0000 0100 e602 0000 0100 e702 0000 0100 ................ │ │ │ -00050480: e802 0000 0100 e902 0000 0100 ea02 0000 ................ │ │ │ -00050490: 0100 eb02 0000 0100 ec02 0000 0100 ed02 ................ │ │ │ -000504a0: 0000 0100 ee02 0000 0100 ef02 0000 0100 ................ │ │ │ -000504b0: f002 0000 0100 f102 0000 0100 f202 0000 ................ │ │ │ -000504c0: 0100 f302 0000 0100 f402 0000 0100 f502 ................ │ │ │ -000504d0: 0000 0100 f602 0000 0100 f702 0000 0100 ................ │ │ │ -000504e0: f802 0000 0100 f902 0000 0100 fa02 0000 ................ │ │ │ -000504f0: 0100 fb02 0000 0100 fc02 0000 0100 fd02 ................ │ │ │ -00050500: 0000 0100 fe02 0000 0100 ff02 0000 0100 ................ │ │ │ -00050510: 8003 0000 0100 8103 0000 0100 8203 0000 ................ │ │ │ -00050520: 0100 8303 0000 0100 8403 0000 0100 8503 ................ │ │ │ -00050530: 0000 0100 8603 0000 0100 8703 0000 0100 ................ │ │ │ -00050540: 8803 0000 0100 8903 0000 0100 8a03 0000 ................ │ │ │ -00050550: 0100 8b03 0000 0100 8c03 0000 0100 8d03 ................ │ │ │ -00050560: 0000 0100 8e03 0000 0100 8f03 0000 0100 ................ │ │ │ -00050570: 9003 0000 0100 9103 0000 0100 9203 0000 ................ │ │ │ -00050580: 0100 9303 0000 0100 9403 0000 0100 9503 ................ │ │ │ -00050590: 0000 0100 9603 0000 0100 9703 0000 0100 ................ │ │ │ -000505a0: 9803 0000 0100 9903 0000 0100 9a03 0000 ................ │ │ │ -000505b0: 0100 9b03 0000 0100 9c03 0000 0100 9d03 ................ │ │ │ -000505c0: 0000 0100 9e03 0000 0100 9f03 0000 0100 ................ │ │ │ -000505d0: a003 0000 0100 a103 0000 0100 a203 0000 ................ │ │ │ -000505e0: 0100 a303 0000 0100 a403 0000 0100 a503 ................ │ │ │ -000505f0: 0000 0100 a603 0000 0100 a703 000b 5c00 ..............\. │ │ │ -00050600: a803 0000 0100 a903 0000 0100 aa03 0000 ................ │ │ │ -00050610: 0100 ab03 000b 5c00 ac03 0000 0100 ad03 ......\......... │ │ │ -00050620: 0000 0100 ae03 0000 1900 af03 0000 0100 ................ │ │ │ -00050630: b003 0000 0100 b103 0000 0100 b203 0000 ................ │ │ │ -00050640: 0100 b303 000b a402 01a5 0200 0bb4 0300 ................ │ │ │ -00050650: b503 000b a402 00b6 0300 0bb4 0303 b703 ................ │ │ │ -00050660: 000b 3200 b803 000b b903 03ba 0300 0baa ..2............. │ │ │ -00050670: 0200 bb03 0000 0100 bc03 0000 0100 bd03 ................ │ │ │ -00050680: 0000 0100 be03 0000 0100 bf03 0000 0100 ................ │ │ │ -00050690: c003 0000 0100 c103 0000 0100 c203 0000 ................ │ │ │ -000506a0: 0100 c303 0000 0100 c403 0000 0100 c503 ................ │ │ │ -000506b0: 0000 0100 c603 0000 0100 c703 0000 0100 ................ │ │ │ -000506c0: c803 0000 0100 c903 0000 0100 ca03 0000 ................ │ │ │ -000506d0: 0100 cb03 0000 0100 cc03 0000 0100 cd03 ................ │ │ │ -000506e0: 0000 0100 ce03 0000 0100 cf03 0000 0100 ................ │ │ │ -000506f0: d003 0000 0100 d103 0000 0100 d203 0000 ................ │ │ │ -00050700: 0100 d303 0000 0100 d403 0000 0100 d503 ................ │ │ │ -00050710: 0000 0100 d603 0000 0100 d703 0000 0100 ................ │ │ │ -00050720: d803 0000 0100 d903 0000 0100 da03 0000 ................ │ │ │ -00050730: 0100 db03 0000 0100 dc03 0000 0100 dd03 ................ │ │ │ -00050740: 0000 0100 de03 0000 0100 df03 0000 0100 ................ │ │ │ -00050750: e003 0000 0100 e103 0000 0100 e203 0000 ................ │ │ │ -00050760: 0100 e303 0000 0100 e403 0000 0100 e503 ................ │ │ │ -00050770: 0000 0100 e603 0000 0100 e703 0000 0100 ................ │ │ │ -00050780: e803 0000 0100 e903 0000 0100 ea03 0000 ................ │ │ │ -00050790: 0100 eb03 0000 0100 ec03 0000 0100 ed03 ................ │ │ │ -000507a0: 0000 0100 ee03 0000 0100 ef03 0000 0100 ................ │ │ │ -000507b0: f003 0000 0100 f103 0000 0100 f203 0000 ................ │ │ │ -000507c0: 0100 f303 0000 0100 f403 0000 0100 f503 ................ │ │ │ -000507d0: 0000 0100 f603 0000 0100 f703 0000 0100 ................ │ │ │ -000507e0: f803 0000 0100 f903 0000 0100 fa03 0000 ................ │ │ │ -000507f0: 0100 fb03 0000 0100 fc03 0000 0100 fd03 ................ │ │ │ -00050800: 0000 0100 fe03 0000 0100 ff03 0000 0100 ................ │ │ │ -00050810: 8004 0000 0100 8104 0000 0100 8204 0000 ................ │ │ │ -00050820: 0100 8304 0000 0100 8404 0000 0100 8504 ................ │ │ │ -00050830: 0000 0100 8604 0000 0100 8704 0000 0100 ................ │ │ │ -00050840: 8804 0000 0100 8904 0000 0100 8a04 0000 ................ │ │ │ -00050850: 0100 8b04 0000 0100 8c04 0000 0100 8d04 ................ │ │ │ -00050860: 0000 0100 8e04 0000 0100 8f04 0000 0100 ................ │ │ │ -00050870: 9004 9104 2141 6764 612d 322e 382e 302d ....!Agda-2.8.0- │ │ │ -00050880: 4b75 4145 4b44 5247 3577 7346 5264 4135 KuAEKDRG5wsFRdA5 │ │ │ -00050890: 7738 7347 4c43 0a41 6764 612e 5365 7475 w8sGLC.Agda.Setu │ │ │ -000508a0: 7014 4167 6461 2e53 6574 7570 2e44 6174 p.Agda.Setup.Dat │ │ │ -000508b0: 6146 696c 6573 1241 6764 612e 5665 7273 aFiles.Agda.Vers │ │ │ -000508c0: 696f 6e43 6f6d 6d69 740a 5061 7468 735f ionCommit.Paths_ │ │ │ -000508d0: 4167 6461 0462 6173 651b 6279 7465 7374 Agda.base.bytest │ │ │ -000508e0: 7269 6e67 2d30 2e31 322e 322e 302d 696e ring-0.12.2.0-in │ │ │ -000508f0: 706c 6163 6519 6469 7265 6374 6f72 792d place.directory- │ │ │ -00050900: 312e 332e 382e 352d 696e 706c 6163 6527 1.3.8.5-inplace' │ │ │ -00050910: 6669 6c65 6c6f 636b 2d30 2e31 2e31 2e38 filelock-0.1.1.8 │ │ │ -00050920: 2d33 5750 3270 674a 7a37 6165 3761 494f -3WP2pgJz7ae7aIO │ │ │ -00050930: 3862 4b43 6a57 6818 6669 6c65 7061 7468 8bKCjWh.filepath │ │ │ -00050940: 2d31 2e35 2e34 2e30 2d69 6e70 6c61 6365 -1.5.4.0-inplace │ │ │ -00050950: 1074 656d 706c 6174 652d 6861 736b 656c .template-haskel │ │ │ -00050960: 6c0c 6768 632d 696e 7465 726e 616c 1147 l.ghc-internal.G │ │ │ -00050970: 4843 2e49 6e74 6572 6e61 6c2e 4261 7365 HC.Internal.Base │ │ │ -00050980: 1247 4843 2e49 6e74 6572 6e61 6c2e 466c .GHC.Internal.Fl │ │ │ -00050990: 6f61 7408 6768 632d 7072 696d 0c47 4843 oat.ghc-prim.GHC │ │ │ -000509a0: 2e50 7269 6d2e 4578 7413 7374 6d2d 322e .Prim.Ext.stm-2. │ │ │ -000509b0: 352e 332e 312d 696e 706c 6163 6511 436f 5.3.1-inplace.Co │ │ │ -000509c0: 6e74 726f 6c2e 4d6f 6e61 642e 5354 4d13 ntrol.Monad.STM. │ │ │ -000509d0: 7469 6d65 2d31 2e31 322e 322d 696e 706c time-1.12.2-inpl │ │ │ -000509e0: 6163 651c 4461 7461 2e54 696d 652e 4361 ace.Data.Time.Ca │ │ │ -000509f0: 6c65 6e64 6172 2e47 7265 676f 7269 616e lendar.Gregorian │ │ │ -00050a00: 2144 6174 612e 5469 6d65 2e46 6f72 6d61 !Data.Time.Forma │ │ │ -00050a10: 742e 466f 726d 6174 2e49 6e73 7461 6e63 t.Format.Instanc │ │ │ -00050a20: 6573 1644 6174 612e 5469 6d65 2e46 6f72 es.Data.Time.For │ │ │ -00050a30: 6d61 742e 5061 7273 6520 4461 7461 2e54 mat.Parse Data.T │ │ │ -00050a40: 696d 652e 466f 726d 6174 2e50 6172 7365 ime.Format.Parse │ │ │ -00050a50: 2e49 6e73 7461 6e63 6573 2644 6174 612e .Instances&Data. │ │ │ -00050a60: 5469 6d65 2e4c 6f63 616c 5469 6d65 2e49 Time.LocalTime.I │ │ │ -00050a70: 6e74 6572 6e61 6c2e 4c6f 6361 6c54 696d nternal.LocalTim │ │ │ -00050a80: 6526 4461 7461 2e54 696d 652e 4c6f 6361 e&Data.Time.Loca │ │ │ -00050a90: 6c54 696d 652e 496e 7465 726e 616c 2e5a lTime.Internal.Z │ │ │ -00050aa0: 6f6e 6564 5469 6d65 0c41 6764 612e 5665 onedTime.Agda.Ve │ │ │ -00050ab0: 7273 696f 6e13 436f 6e74 726f 6c2e 4170 rsion.Control.Ap │ │ │ -00050ac0: 706c 6963 6174 6976 650f 4461 7461 2e41 plicative.Data.A │ │ │ -00050ad0: 7272 6179 2e42 7974 650c 4461 7461 2e43 rray.Byte.Data.C │ │ │ -00050ae0: 6f6d 706c 6578 1444 6174 612e 4675 6e63 omplex.Data.Func │ │ │ -00050af0: 746f 722e 436f 6d70 6f73 6514 4461 7461 tor.Compose.Data │ │ │ -00050b00: 2e46 756e 6374 6f72 2e50 726f 6475 6374 .Functor.Product │ │ │ -00050b10: 1044 6174 612e 4675 6e63 746f 722e 5375 .Data.Functor.Su │ │ │ -00050b20: 6d0e 4461 7461 2e53 656d 6967 726f 7570 m.Data.Semigroup │ │ │ -00050b30: 1d44 6174 612e 4279 7465 5374 7269 6e67 .Data.ByteString │ │ │ -00050b40: 2e49 6e74 6572 6e61 6c2e 5479 7065 1d44 .Internal.Type.D │ │ │ -00050b50: 6174 612e 4279 7465 5374 7269 6e67 2e4c ata.ByteString.L │ │ │ -00050b60: 617a 792e 496e 7465 726e 616c 1e44 6174 azy.Internal.Dat │ │ │ -00050b70: 612e 4279 7465 5374 7269 6e67 2e53 686f a.ByteString.Sho │ │ │ -00050b80: 7274 2e49 6e74 6572 6e61 6c17 6465 6570 rt.Internal.deep │ │ │ -00050b90: 7365 712d 312e 352e 302e 302d 696e 706c seq-1.5.0.0-inpl │ │ │ -00050ba0: 6163 650f 436f 6e74 726f 6c2e 4465 6570 ace.Control.Deep │ │ │ -00050bb0: 5365 711a 6768 632d 626f 6f74 2d74 682d Seq.ghc-boot-th- │ │ │ -00050bc0: 392e 3130 2e33 2d69 6e70 6c61 6365 1747 9.10.3-inplace.G │ │ │ -00050bd0: 4843 2e46 6f72 6569 676e 5372 634c 616e HC.ForeignSrcLan │ │ │ -00050be0: 672e 5479 7065 1b47 4843 2e4c 616e 6775 g.Type.GHC.Langu │ │ │ -00050bf0: 6167 6545 7874 656e 7369 6f6e 732e 5479 ageExtensions.Ty │ │ │ -00050c00: 7065 1a47 4843 2e49 6e74 6572 6e61 6c2e pe.GHC.Internal. │ │ │ -00050c10: 436f 6e74 726f 6c2e 4172 726f 771f 4748 Control.Arrow.GH │ │ │ -00050c20: 432e 496e 7465 726e 616c 2e44 6174 612e C.Internal.Data. │ │ │ -00050c30: 4675 6e63 746f 722e 436f 6e73 7422 4748 Functor.Const"GH │ │ │ -00050c40: 432e 496e 7465 726e 616c 2e44 6174 612e C.Internal.Data. │ │ │ -00050c50: 4675 6e63 746f 722e 4964 656e 7469 7479 Functor.Identity │ │ │ -00050c60: 1847 4843 2e49 6e74 6572 6e61 6c2e 4461 .GHC.Internal.Da │ │ │ -00050c70: 7461 2e4d 6f6e 6f69 6424 4748 432e 496e ta.Monoid$GHC.In │ │ │ -00050c80: 7465 726e 616c 2e44 6174 612e 5365 6d69 ternal.Data.Semi │ │ │ -00050c90: 6772 6f75 702e 496e 7465 726e 616c 1a47 group.Internal.G │ │ │ -00050ca0: 4843 2e49 6e74 6572 6e61 6c2e 4461 7461 HC.Internal.Data │ │ │ -00050cb0: 2e54 7970 652e 4f72 6419 4748 432e 496e .Type.Ord.GHC.In │ │ │ -00050cc0: 7465 726e 616c 2e44 6174 612e 5665 7273 ternal.Data.Vers │ │ │ -00050cd0: 696f 6e1c 4748 432e 496e 7465 726e 616c ion.GHC.Internal │ │ │ -00050ce0: 2e46 756e 6374 6f72 2e5a 6970 4c69 7374 .Functor.ZipList │ │ │ -00050cf0: 1547 4843 2e49 6e74 6572 6e61 6c2e 4765 .GHC.Internal.Ge │ │ │ -00050d00: 6e65 7269 6373 1947 4843 2e49 6e74 6572 nerics.GHC.Inter │ │ │ -00050d10: 6e61 6c2e 494f 2e45 7863 6570 7469 6f6e nal.IO.Exception │ │ │ -00050d20: 1347 4843 2e49 6e74 6572 6e61 6c2e 4973 .GHC.Internal.Is │ │ │ -00050d30: 4c69 7374 1647 4843 2e49 6e74 6572 6e61 List.GHC.Interna │ │ │ -00050d40: 6c2e 5254 532e 466c 6167 7317 6f73 2d73 l.RTS.Flags.os-s │ │ │ -00050d50: 7472 696e 672d 322e 302e 372d 696e 706c tring-2.0.7-inpl │ │ │ -00050d60: 6163 651e 5379 7374 656d 2e4f 7353 7472 ace.System.OsStr │ │ │ -00050d70: 696e 672e 496e 7465 726e 616c 2e54 7970 ing.Internal.Typ │ │ │ -00050d80: 6573 1670 7265 7474 792d 312e 312e 332e es.pretty-1.1.3. │ │ │ -00050d90: 362d 696e 706c 6163 6523 5465 7874 2e50 6-inplace#Text.P │ │ │ -00050da0: 7265 7474 7950 7269 6e74 2e41 6e6e 6f74 rettyPrint.Annot │ │ │ -00050db0: 6174 6564 2e48 7567 6865 7350 4a19 5465 ated.HughesPJ.Te │ │ │ -00050dc0: 7874 2e50 7265 7474 7950 7269 6e74 2e48 xt.PrettyPrint.H │ │ │ -00050dd0: 7567 6865 7350 4a1a 4c61 6e67 7561 6765 ughesPJ.Language │ │ │ -00050de0: 2e48 6173 6b65 6c6c 2e54 482e 5379 6e74 .Haskell.TH.Synt │ │ │ -00050df0: 6178 1c74 7261 6e73 666f 726d 6572 732d ax.transformers- │ │ │ -00050e00: 302e 362e 312e 312d 696e 706c 6163 6518 0.6.1.1-inplace. │ │ │ -00050e10: 436f 6e74 726f 6c2e 4d6f 6e61 642e 5472 Control.Monad.Tr │ │ │ -00050e20: 616e 732e 436f 6e74 1a43 6f6e 7472 6f6c ans.Cont.Control │ │ │ -00050e30: 2e4d 6f6e 6164 2e54 7261 6e73 2e45 7863 .Monad.Trans.Exc │ │ │ -00050e40: 6570 741c 436f 6e74 726f 6c2e 4d6f 6e61 ept.Control.Mona │ │ │ -00050e50: 642e 5472 616e 732e 4964 656e 7469 7479 d.Trans.Identity │ │ │ -00050e60: 1943 6f6e 7472 6f6c 2e4d 6f6e 6164 2e54 .Control.Monad.T │ │ │ -00050e70: 7261 6e73 2e4d 6179 6265 1c43 6f6e 7472 rans.Maybe.Contr │ │ │ -00050e80: 6f6c 2e4d 6f6e 6164 2e54 7261 6e73 2e52 ol.Monad.Trans.R │ │ │ -00050e90: 5753 2e4c 617a 791e 436f 6e74 726f 6c2e WS.Lazy.Control. │ │ │ -00050ea0: 4d6f 6e61 642e 5472 616e 732e 5257 532e Monad.Trans.RWS. │ │ │ -00050eb0: 5374 7269 6374 1a43 6f6e 7472 6f6c 2e4d Strict.Control.M │ │ │ -00050ec0: 6f6e 6164 2e54 7261 6e73 2e52 6561 6465 onad.Trans.Reade │ │ │ -00050ed0: 721e 436f 6e74 726f 6c2e 4d6f 6e61 642e r.Control.Monad. │ │ │ -00050ee0: 5472 616e 732e 5374 6174 652e 4c61 7a79 Trans.State.Lazy │ │ │ -00050ef0: 2043 6f6e 7472 6f6c 2e4d 6f6e 6164 2e54 Control.Monad.T │ │ │ -00050f00: 7261 6e73 2e53 7461 7465 2e53 7472 6963 rans.State.Stric │ │ │ -00050f10: 741f 436f 6e74 726f 6c2e 4d6f 6e61 642e t.Control.Monad. │ │ │ -00050f20: 5472 616e 732e 5772 6974 6572 2e4c 617a Trans.Writer.Laz │ │ │ -00050f30: 7921 436f 6e74 726f 6c2e 4d6f 6e61 642e y!Control.Monad. │ │ │ -00050f40: 5472 616e 732e 5772 6974 6572 2e53 7472 Trans.Writer.Str │ │ │ -00050f50: 6963 7409 6461 7461 4669 6c65 7308 6461 ict.dataFiles.da │ │ │ -00050f60: 7461 5061 7468 1576 6572 7369 6f6e 5769 taPath.versionWi │ │ │ -00050f70: 7468 436f 6d6d 6974 496e 666f 0a67 6574 thCommitInfo.get │ │ │ -00050f80: 4461 7461 4469 7211 436f 6e74 726f 6c2e DataDir.Control. │ │ │ -00050f90: 4578 6365 7074 696f 6e0d 436f 6e74 726f Exception.Contro │ │ │ -00050fa0: 6c2e 4d6f 6e61 640c 4461 7461 2e46 756e l.Monad.Data.Fun │ │ │ -00050fb0: 6374 6f72 0944 6174 612e 4c69 7374 0750 ctor.Data.List.P │ │ │ -00050fc0: 7265 6c75 6465 1253 7973 7465 6d2e 456e relude.System.En │ │ │ -00050fd0: 7669 726f 6e6d 656e 7409 5379 7374 656d vironment.System │ │ │ -00050fe0: 2e49 4f0f 4461 7461 2e42 7974 6553 7472 .IO.Data.ByteStr │ │ │ -00050ff0: 696e 6710 5379 7374 656d 2e44 6972 6563 ing.System.Direc │ │ │ -00051000: 746f 7279 2053 7973 7465 6d2e 4469 7265 tory System.Dire │ │ │ -00051010: 6374 6f72 792e 496e 7465 726e 616c 2e43 ctory.Internal.C │ │ │ -00051020: 6f6d 6d6f 6e0f 5379 7374 656d 2e46 696c ommon.System.Fil │ │ │ -00051030: 654c 6f63 6b0f 5379 7374 656d 2e46 696c eLock.System.Fil │ │ │ -00051040: 6550 6174 6815 5379 7374 656d 2e46 696c ePath.System.Fil │ │ │ -00051050: 6550 6174 682e 506f 7369 7823 4748 432e ePath.Posix#GHC. │ │ │ -00051060: 496e 7465 726e 616c 2e43 6f6e 7472 6f6c Internal.Control │ │ │ -00051070: 2e45 7863 6570 7469 6f6e 2e42 6173 651a .Exception.Base. │ │ │ -00051080: 4748 432e 496e 7465 726e 616c 2e43 6f6e GHC.Internal.Con │ │ │ -00051090: 7472 6f6c 2e4d 6f6e 6164 1a47 4843 2e49 trol.Monad.GHC.I │ │ │ -000510a0: 6e74 6572 6e61 6c2e 4461 7461 2e46 6f6c nternal.Data.Fol │ │ │ -000510b0: 6461 626c 6519 4748 432e 496e 7465 726e dable.GHC.Intern │ │ │ -000510c0: 616c 2e44 6174 612e 4675 6e63 746f 7219 al.Data.Functor. │ │ │ -000510d0: 4748 432e 496e 7465 726e 616c 2e44 6174 GHC.Internal.Dat │ │ │ -000510e0: 612e 4f6c 644c 6973 741d 4748 432e 496e a.OldList.GHC.In │ │ │ -000510f0: 7465 726e 616c 2e44 6174 612e 5472 6176 ternal.Data.Trav │ │ │ -00051100: 6572 7361 626c 650f 4748 432e 496e 7465 ersable.GHC.Inte │ │ │ -00051110: 726e 616c 2e49 4f1b 4748 432e 496e 7465 rnal.IO.GHC.Inte │ │ │ -00051120: 726e 616c 2e49 4f2e 4861 6e64 6c65 2e54 rnal.IO.Handle.T │ │ │ -00051130: 6578 741a 4748 432e 496e 7465 726e 616c ext.GHC.Internal │ │ │ -00051140: 2e49 4f2e 5374 6448 616e 646c 6573 1147 .IO.StdHandles.G │ │ │ -00051150: 4843 2e49 6e74 6572 6e61 6c2e 4c69 7374 HC.Internal.List │ │ │ -00051160: 1147 4843 2e49 6e74 6572 6e61 6c2e 5368 .GHC.Internal.Sh │ │ │ -00051170: 6f77 1f47 4843 2e49 6e74 6572 6e61 6c2e ow.GHC.Internal. │ │ │ -00051180: 5379 7374 656d 2e45 6e76 6972 6f6e 6d65 System.Environme │ │ │ -00051190: 6e74 0947 4843 2e54 7970 6573 cc00 2f75 nt.GHC.Types../u │ │ │ -000511a0: 7372 2f6c 6962 2f67 6863 2f6c 6962 2f2e sr/lib/ghc/lib/. │ │ │ -000511b0: 2e2f 6c69 622f 6933 3836 2d6c 696e 7578 ./lib/i386-linux │ │ │ -000511c0: 2d67 6863 2d39 2e31 302e 332f 7274 732d -ghc-9.10.3/rts- │ │ │ -000511d0: 312e 302e 322f 696e 636c 7564 652f 6768 1.0.2/include/gh │ │ │ -000511e0: 6376 6572 7369 6f6e 2e68 2564 6973 742d cversion.h%dist- │ │ │ -000511f0: 6768 632f 6275 696c 642f 6175 746f 6765 ghc/build/autoge │ │ │ -00051200: 6e2f 6361 6261 6c5f 6d61 6372 6f73 2e68 n/cabal_macros.h │ │ │ -00051210: 1a2f 7573 722f 696e 636c 7564 652f 7374 ./usr/include/st │ │ │ -00051220: 6463 2d70 7265 6465 662e 6829 7372 632f dc-predef.h)src/ │ │ │ -00051230: 6461 7461 2f4d 416c 6f6e 7a6f 2f73 7263 data/MAlonzo/src │ │ │ -00051240: 2f4d 416c 6f6e 7a6f 2f52 5445 2f46 6c6f /MAlonzo/RTE/Flo │ │ │ -00051250: 6174 2e68 7323 7372 632f 6461 7461 2f4d at.hs#src/data/M │ │ │ -00051260: 416c 6f6e 7a6f 2f73 7263 2f4d 416c 6f6e Alonzo/src/MAlon │ │ │ -00051270: 7a6f 2f52 5445 2e68 732d 7372 632f 6461 zo/RTE.hs-src/da │ │ │ -00051280: 7461 2f6c 6962 2f70 7269 6d2f 4167 6461 ta/lib/prim/Agda │ │ │ -00051290: 2f50 7269 6d69 7469 7665 2f43 7562 6963 /Primitive/Cubic │ │ │ -000512a0: 616c 2e61 6764 6125 7372 632f 6461 7461 al.agda%src/data │ │ │ -000512b0: 2f6c 6962 2f70 7269 6d2f 4167 6461 2f50 /lib/prim/Agda/P │ │ │ -000512c0: 7269 6d69 7469 7665 2e61 6764 6133 7372 rimitive.agda3sr │ │ │ -000512d0: 632f 6461 7461 2f6c 6962 2f70 7269 6d2f c/data/lib/prim/ │ │ │ -000512e0: 4167 6461 2f42 7569 6c74 696e 2f57 6f72 Agda/Builtin/Wor │ │ │ -000512f0: 642f 5072 6f70 6572 7469 6573 2e61 6764 d/Properties.agd │ │ │ -00051300: 6128 7372 632f 6461 7461 2f6c 6962 2f70 a(src/data/lib/p │ │ │ -00051310: 7269 6d2f 4167 6461 2f42 7569 6c74 696e rim/Agda/Builtin │ │ │ -00051320: 2f57 6f72 642e 6167 6461 2873 7263 2f64 /Word.agda(src/d │ │ │ -00051330: 6174 612f 6c69 622f 7072 696d 2f41 6764 ata/lib/prim/Agd │ │ │ -00051340: 612f 4275 696c 7469 6e2f 556e 6974 2e61 a/Builtin/Unit.a │ │ │ -00051350: 6764 612b 7372 632f 6461 7461 2f6c 6962 gda+src/data/lib │ │ │ -00051360: 2f70 7269 6d2f 4167 6461 2f42 7569 6c74 /prim/Agda/Built │ │ │ -00051370: 696e 2f54 7275 7374 4d65 2e61 6764 6135 in/TrustMe.agda5 │ │ │ -00051380: 7372 632f 6461 7461 2f6c 6962 2f70 7269 src/data/lib/pri │ │ │ -00051390: 6d2f 4167 6461 2f42 7569 6c74 696e 2f53 m/Agda/Builtin/S │ │ │ -000513a0: 7472 696e 672f 5072 6f70 6572 7469 6573 tring/Properties │ │ │ -000513b0: 2e61 6764 612a 7372 632f 6461 7461 2f6c .agda*src/data/l │ │ │ -000513c0: 6962 2f70 7269 6d2f 4167 6461 2f42 7569 ib/prim/Agda/Bui │ │ │ -000513d0: 6c74 696e 2f53 7472 696e 672e 6167 6461 ltin/String.agda │ │ │ -000513e0: 2a73 7263 2f64 6174 612f 6c69 622f 7072 *src/data/lib/pr │ │ │ -000513f0: 696d 2f41 6764 612f 4275 696c 7469 6e2f im/Agda/Builtin/ │ │ │ -00051400: 5374 7269 6374 2e61 6764 6128 7372 632f Strict.agda(src/ │ │ │ -00051410: 6461 7461 2f6c 6962 2f70 7269 6d2f 4167 data/lib/prim/Ag │ │ │ -00051420: 6461 2f42 7569 6c74 696e 2f53 697a 652e da/Builtin/Size. │ │ │ -00051430: 6167 6461 2973 7263 2f64 6174 612f 6c69 agda)src/data/li │ │ │ -00051440: 622f 7072 696d 2f41 6764 612f 4275 696c b/prim/Agda/Buil │ │ │ -00051450: 7469 6e2f 5369 676d 612e 6167 6461 3973 tin/Sigma.agda9s │ │ │ -00051460: 7263 2f64 6174 612f 6c69 622f 7072 696d rc/data/lib/prim │ │ │ -00051470: 2f41 6764 612f 4275 696c 7469 6e2f 5265 /Agda/Builtin/Re │ │ │ -00051480: 666c 6563 7469 6f6e 2f50 726f 7065 7274 flection/Propert │ │ │ -00051490: 6965 732e 6167 6461 3773 7263 2f64 6174 ies.agda7src/dat │ │ │ -000514a0: 612f 6c69 622f 7072 696d 2f41 6764 612f a/lib/prim/Agda/ │ │ │ -000514b0: 4275 696c 7469 6e2f 5265 666c 6563 7469 Builtin/Reflecti │ │ │ -000514c0: 6f6e 2f45 7874 6572 6e61 6c2e 6167 6461 on/External.agda │ │ │ -000514d0: 2e73 7263 2f64 6174 612f 6c69 622f 7072 .src/data/lib/pr │ │ │ -000514e0: 696d 2f41 6764 612f 4275 696c 7469 6e2f im/Agda/Builtin/ │ │ │ -000514f0: 5265 666c 6563 7469 6f6e 2e61 6764 6127 Reflection.agda' │ │ │ -00051500: 7372 632f 6461 7461 2f6c 6962 2f70 7269 src/data/lib/pri │ │ │ -00051510: 6d2f 4167 6461 2f42 7569 6c74 696e 2f4e m/Agda/Builtin/N │ │ │ -00051520: 6174 2e61 6764 6129 7372 632f 6461 7461 at.agda)src/data │ │ │ -00051530: 2f6c 6962 2f70 7269 6d2f 4167 6461 2f42 /lib/prim/Agda/B │ │ │ -00051540: 7569 6c74 696e 2f4d 6179 6265 2e61 6764 uiltin/Maybe.agd │ │ │ -00051550: 6128 7372 632f 6461 7461 2f6c 6962 2f70 a(src/data/lib/p │ │ │ -00051560: 7269 6d2f 4167 6461 2f42 7569 6c74 696e rim/Agda/Builtin │ │ │ -00051570: 2f4c 6973 742e 6167 6461 2773 7263 2f64 /List.agda'src/d │ │ │ -00051580: 6174 612f 6c69 622f 7072 696d 2f41 6764 ata/lib/prim/Agd │ │ │ -00051590: 612f 4275 696c 7469 6e2f 496e 742e 6167 a/Builtin/Int.ag │ │ │ -000515a0: 6461 2673 7263 2f64 6174 612f 6c69 622f da&src/data/lib/ │ │ │ -000515b0: 7072 696d 2f41 6764 612f 4275 696c 7469 prim/Agda/Builti │ │ │ -000515c0: 6e2f 494f 2e61 6764 612e 7372 632f 6461 n/IO.agda.src/da │ │ │ -000515d0: 7461 2f6c 6962 2f70 7269 6d2f 4167 6461 ta/lib/prim/Agda │ │ │ -000515e0: 2f42 7569 6c74 696e 2f46 726f 6d53 7472 /Builtin/FromStr │ │ │ -000515f0: 696e 672e 6167 6461 2b73 7263 2f64 6174 ing.agda+src/dat │ │ │ -00051600: 612f 6c69 622f 7072 696d 2f41 6764 612f a/lib/prim/Agda/ │ │ │ -00051610: 4275 696c 7469 6e2f 4672 6f6d 4e65 672e Builtin/FromNeg. │ │ │ -00051620: 6167 6461 2b73 7263 2f64 6174 612f 6c69 agda+src/data/li │ │ │ -00051630: 622f 7072 696d 2f41 6764 612f 4275 696c b/prim/Agda/Buil │ │ │ -00051640: 7469 6e2f 4672 6f6d 4e61 742e 6167 6461 tin/FromNat.agda │ │ │ -00051650: 3473 7263 2f64 6174 612f 6c69 622f 7072 4src/data/lib/pr │ │ │ -00051660: 696d 2f41 6764 612f 4275 696c 7469 6e2f im/Agda/Builtin/ │ │ │ -00051670: 466c 6f61 742f 5072 6f70 6572 7469 6573 Float/Properties │ │ │ -00051680: 2e61 6764 6129 7372 632f 6461 7461 2f6c .agda)src/data/l │ │ │ -00051690: 6962 2f70 7269 6d2f 4167 6461 2f42 7569 ib/prim/Agda/Bui │ │ │ -000516a0: 6c74 696e 2f46 6c6f 6174 2e61 6764 6134 ltin/Float.agda4 │ │ │ -000516b0: 7372 632f 6461 7461 2f6c 6962 2f70 7269 src/data/lib/pri │ │ │ -000516c0: 6d2f 4167 6461 2f42 7569 6c74 696e 2f45 m/Agda/Builtin/E │ │ │ -000516d0: 7175 616c 6974 792f 5265 7772 6974 652e quality/Rewrite. │ │ │ -000516e0: 6167 6461 3273 7263 2f64 6174 612f 6c69 agda2src/data/li │ │ │ -000516f0: 622f 7072 696d 2f41 6764 612f 4275 696c b/prim/Agda/Buil │ │ │ -00051700: 7469 6e2f 4571 7561 6c69 7479 2f45 7261 tin/Equality/Era │ │ │ -00051710: 7365 2e61 6764 612c 7372 632f 6461 7461 se.agda,src/data │ │ │ -00051720: 2f6c 6962 2f70 7269 6d2f 4167 6461 2f42 /lib/prim/Agda/B │ │ │ -00051730: 7569 6c74 696e 2f45 7175 616c 6974 792e uiltin/Equality. │ │ │ -00051740: 6167 6461 3273 7263 2f64 6174 612f 6c69 agda2src/data/li │ │ │ -00051750: 622f 7072 696d 2f41 6764 612f 4275 696c b/prim/Agda/Buil │ │ │ -00051760: 7469 6e2f 4375 6269 6361 6c2f 4843 6f6d tin/Cubical/HCom │ │ │ -00051770: 7055 2e61 6764 6131 7372 632f 6461 7461 pU.agda1src/data │ │ │ -00051780: 2f6c 6962 2f70 7269 6d2f 4167 6461 2f42 /lib/prim/Agda/B │ │ │ -00051790: 7569 6c74 696e 2f43 7562 6963 616c 2f45 uiltin/Cubical/E │ │ │ -000517a0: 7175 6976 2e61 6764 6130 7372 632f 6461 quiv.agda0src/da │ │ │ -000517b0: 7461 2f6c 6962 2f70 7269 6d2f 4167 6461 ta/lib/prim/Agda │ │ │ -000517c0: 2f42 7569 6c74 696e 2f43 7562 6963 616c /Builtin/Cubical │ │ │ -000517d0: 2f47 6c75 652e 6167 6461 2f73 7263 2f64 /Glue.agda/src/d │ │ │ -000517e0: 6174 612f 6c69 622f 7072 696d 2f41 6764 ata/lib/prim/Agd │ │ │ -000517f0: 612f 4275 696c 7469 6e2f 4375 6269 6361 a/Builtin/Cubica │ │ │ -00051800: 6c2f 5375 622e 6167 6461 3073 7263 2f64 l/Sub.agda0src/d │ │ │ -00051810: 6174 612f 6c69 622f 7072 696d 2f41 6764 ata/lib/prim/Agd │ │ │ -00051820: 612f 4275 696c 7469 6e2f 4375 6269 6361 a/Builtin/Cubica │ │ │ -00051830: 6c2f 5061 7468 2e61 6764 612f 7372 632f l/Path.agda/src/ │ │ │ -00051840: 6461 7461 2f6c 6962 2f70 7269 6d2f 4167 data/lib/prim/Ag │ │ │ -00051850: 6461 2f42 7569 6c74 696e 2f43 6f69 6e64 da/Builtin/Coind │ │ │ -00051860: 7563 7469 6f6e 2e61 6764 6133 7372 632f uction.agda3src/ │ │ │ -00051870: 6461 7461 2f6c 6962 2f70 7269 6d2f 4167 data/lib/prim/Ag │ │ │ -00051880: 6461 2f42 7569 6c74 696e 2f43 6861 722f da/Builtin/Char/ │ │ │ -00051890: 5072 6f70 6572 7469 6573 2e61 6764 6128 Properties.agda( │ │ │ -000518a0: 7372 632f 6461 7461 2f6c 6962 2f70 7269 src/data/lib/pri │ │ │ -000518b0: 6d2f 4167 6461 2f42 7569 6c74 696e 2f43 m/Agda/Builtin/C │ │ │ -000518c0: 6861 722e 6167 6461 2873 7263 2f64 6174 har.agda(src/dat │ │ │ -000518d0: 612f 6c69 622f 7072 696d 2f41 6764 612f a/lib/prim/Agda/ │ │ │ -000518e0: 4275 696c 7469 6e2f 426f 6f6c 2e61 6764 Builtin/Bool.agd │ │ │ -000518f0: 6128 7372 632f 6461 7461 2f6c 6962 2f70 a(src/data/lib/p │ │ │ -00051900: 7269 6d2f 6167 6461 2d62 7569 6c74 696e rim/agda-builtin │ │ │ -00051910: 732e 6167 6461 2d6c 6962 2373 7263 2f64 s.agda-lib#src/d │ │ │ -00051920: 6174 612f 6c61 7465 782f 706f 7374 7072 ata/latex/postpr │ │ │ -00051930: 6f63 6573 732d 6c61 7465 782e 706c 1773 ocess-latex.pl.s │ │ │ -00051940: 7263 2f64 6174 612f 6c61 7465 782f 6167 rc/data/latex/ag │ │ │ -00051950: 6461 2e73 7479 1b73 7263 2f64 6174 612f da.sty.src/data/ │ │ │ -00051960: 4a53 2f61 6764 612d 7274 732e 616d 642e JS/agda-rts.amd. │ │ │ -00051970: 6a73 1773 7263 2f64 6174 612f 4a53 2f61 js.src/data/JS/a │ │ │ -00051980: 6764 612d 7274 732e 6a73 1873 7263 2f64 gda-rts.js.src/d │ │ │ -00051990: 6174 612f 4a53 2f61 6764 612d 7274 732e ata/JS/agda-rts. │ │ │ -000519a0: 6d6a 7320 7372 632f 6461 7461 2f68 746d mjs src/data/htm │ │ │ -000519b0: 6c2f 6869 6768 6c69 6768 742d 686f 7665 l/highlight-hove │ │ │ -000519c0: 722e 6a73 1673 7263 2f64 6174 612f 6874 r.js.src/data/ht │ │ │ -000519d0: 6d6c 2f41 6764 612e 6373 7325 7372 632f ml/Agda.css%src/ │ │ │ -000519e0: 6461 7461 2f65 6d61 6373 2d6d 6f64 652f data/emacs-mode/ │ │ │ -000519f0: 6167 6461 322d 6d6f 6465 2d70 6b67 2e65 agda2-mode-pkg.e │ │ │ -00051a00: 6c21 7372 632f 6461 7461 2f65 6d61 6373 l!src/data/emacs │ │ │ -00051a10: 2d6d 6f64 652f 6167 6461 322d 6d6f 6465 -mode/agda2-mode │ │ │ -00051a20: 2e65 6c26 7372 632f 6461 7461 2f65 6d61 .el&src/data/ema │ │ │ -00051a30: 6373 2d6d 6f64 652f 6167 6461 322d 6869 cs-mode/agda2-hi │ │ │ -00051a40: 6768 6c69 6768 742e 656c 2173 7263 2f64 ghlight.el!src/d │ │ │ -00051a50: 6174 612f 656d 6163 732d 6d6f 6465 2f61 ata/emacs-mode/a │ │ │ -00051a60: 6764 612d 696e 7075 742e 656c 1c73 7263 gda-input.el.src │ │ │ -00051a70: 2f64 6174 612f 656d 6163 732d 6d6f 6465 /data/emacs-mode │ │ │ -00051a80: 2f61 6764 6132 2e65 6c1a 7372 632f 6461 /agda2.el.src/da │ │ │ -00051a90: 7461 2f65 6d61 6373 2d6d 6f64 652f 6572 ta/emacs-mode/er │ │ │ -00051aa0: 692e 656c 2273 7263 2f64 6174 612f 656d i.el"src/data/em │ │ │ -00051ab0: 6163 732d 6d6f 6465 2f61 6764 6132 2d71 acs-mode/agda2-q │ │ │ -00051ac0: 7565 7565 2e65 6c21 7372 632f 6461 7461 ueue.el!src/data │ │ │ -00051ad0: 2f65 6d61 6373 2d6d 6f64 652f 616e 6e6f /emacs-mode/anno │ │ │ -00051ae0: 7461 7469 6f6e 2e65 6c24 7372 632f 6461 tation.el$src/da │ │ │ -00051af0: 7461 2f65 6d61 6373 2d6d 6f64 652f 6167 ta/emacs-mode/ag │ │ │ -00051b00: 6461 322d 6162 6272 6576 732e 656c 2964 da2-abbrevs.el)d │ │ │ -00051b10: 6973 742d 6768 632f 6275 696c 642f 4167 ist-ghc/build/Ag │ │ │ -00051b20: 6461 2f53 6574 7570 2f44 6174 6146 696c da/Setup/DataFil │ │ │ -00051b30: 6573 2e64 796e 5f6f d700 2f75 7372 2f6c es.dyn_o../usr/l │ │ │ -00051b40: 6962 2f67 6863 2f6c 6962 2f2e 2e2f 6c69 ib/ghc/lib/../li │ │ │ -00051b50: 622f 6933 3836 2d6c 696e 7578 2d67 6863 b/i386-linux-ghc │ │ │ -00051b60: 2d39 2e31 302e 332f 6c69 6248 5367 6863 -9.10.3/libHSghc │ │ │ -00051b70: 2d70 7269 6d2d 302e 3132 2e30 2d69 6e70 -prim-0.12.0-inp │ │ │ -00051b80: 6c61 6365 2d67 6863 392e 3130 2e33 2e73 lace-ghc9.10.3.s │ │ │ -00051b90: 6fd6 002f 7573 722f 6c69 622f 6768 632f o../usr/lib/ghc/ │ │ │ -00051ba0: 6c69 622f 2e2e 2f6c 6962 2f69 3338 362d lib/../lib/i386- │ │ │ -00051bb0: 6c69 6e75 782d 6768 632d 392e 3130 2e33 linux-ghc-9.10.3 │ │ │ -00051bc0: 2f6c 6962 4853 6768 632d 6269 676e 756d /libHSghc-bignum │ │ │ -00051bd0: 2d31 2e33 2d69 6e70 6c61 6365 2d67 6863 -1.3-inplace-ghc │ │ │ -00051be0: 392e 3130 2e33 2e73 6fdd 002f 7573 722f 9.10.3.so../usr/ │ │ │ -00051bf0: 6c69 622f 6768 632f 6c69 622f 2e2e 2f6c lib/ghc/lib/../l │ │ │ -00051c00: 6962 2f69 3338 362d 6c69 6e75 782d 6768 ib/i386-linux-gh │ │ │ -00051c10: 632d 392e 3130 2e33 2f6c 6962 4853 6768 c-9.10.3/libHSgh │ │ │ -00051c20: 632d 696e 7465 726e 616c 2d39 2e31 3030 c-internal-9.100 │ │ │ -00051c30: 332e 302d 696e 706c 6163 652d 6768 6339 3.0-inplace-ghc9 │ │ │ -00051c40: 2e31 302e 332e 736f d500 2f75 7372 2f6c .10.3.so../usr/l │ │ │ -00051c50: 6962 2f67 6863 2f6c 6962 2f2e 2e2f 6c69 ib/ghc/lib/../li │ │ │ -00051c60: 622f 6933 3836 2d6c 696e 7578 2d67 6863 b/i386-linux-ghc │ │ │ -00051c70: 2d39 2e31 302e 332f 6c69 6248 5362 6173 -9.10.3/libHSbas │ │ │ -00051c80: 652d 342e 3230 2e32 2e30 2d69 6e70 6c61 e-4.20.2.0-inpla │ │ │ -00051c90: 6365 2d67 6863 392e 3130 2e33 2e73 6fd5 ce-ghc9.10.3.so. │ │ │ -00051ca0: 002f 7573 722f 6c69 622f 6768 632f 6c69 ./usr/lib/ghc/li │ │ │ -00051cb0: 622f 2e2e 2f6c 6962 2f69 3338 362d 6c69 b/../lib/i386-li │ │ │ -00051cc0: 6e75 782d 6768 632d 392e 3130 2e33 2f6c nux-ghc-9.10.3/l │ │ │ -00051cd0: 6962 4853 6172 7261 792d 302e 352e 382e ibHSarray-0.5.8. │ │ │ -00051ce0: 302d 696e 706c 6163 652d 6768 6339 2e31 0-inplace-ghc9.1 │ │ │ -00051cf0: 302e 332e 736f d700 2f75 7372 2f6c 6962 0.3.so../usr/lib │ │ │ -00051d00: 2f67 6863 2f6c 6962 2f2e 2e2f 6c69 622f /ghc/lib/../lib/ │ │ │ -00051d10: 6933 3836 2d6c 696e 7578 2d67 6863 2d39 i386-linux-ghc-9 │ │ │ -00051d20: 2e31 302e 332f 6c69 6248 5364 6565 7073 .10.3/libHSdeeps │ │ │ -00051d30: 6571 2d31 2e35 2e30 2e30 2d69 6e70 6c61 eq-1.5.0.0-inpla │ │ │ -00051d40: 6365 2d67 6863 392e 3130 2e33 2e73 6fda ce-ghc9.10.3.so. │ │ │ -00051d50: 002f 7573 722f 6c69 622f 6768 632f 6c69 ./usr/lib/ghc/li │ │ │ -00051d60: 622f 2e2e 2f6c 6962 2f69 3338 362d 6c69 b/../lib/i386-li │ │ │ -00051d70: 6e75 782d 6768 632d 392e 3130 2e33 2f6c nux-ghc-9.10.3/l │ │ │ -00051d80: 6962 4853 6768 632d 626f 6f74 2d74 682d ibHSghc-boot-th- │ │ │ -00051d90: 392e 3130 2e33 2d69 6e70 6c61 6365 2d67 9.10.3-inplace-g │ │ │ -00051da0: 6863 392e 3130 2e33 2e73 6fd6 002f 7573 hc9.10.3.so../us │ │ │ -00051db0: 722f 6c69 622f 6768 632f 6c69 622f 2e2e r/lib/ghc/lib/.. │ │ │ -00051dc0: 2f6c 6962 2f69 3338 362d 6c69 6e75 782d /lib/i386-linux- │ │ │ -00051dd0: 6768 632d 392e 3130 2e33 2f6c 6962 4853 ghc-9.10.3/libHS │ │ │ -00051de0: 7072 6574 7479 2d31 2e31 2e33 2e36 2d69 pretty-1.1.3.6-i │ │ │ -00051df0: 6e70 6c61 6365 2d67 6863 392e 3130 2e33 nplace-ghc9.10.3 │ │ │ -00051e00: 2e73 6fe1 002f 7573 722f 6c69 622f 6768 .so../usr/lib/gh │ │ │ -00051e10: 632f 6c69 622f 2e2e 2f6c 6962 2f69 3338 c/lib/../lib/i38 │ │ │ -00051e20: 362d 6c69 6e75 782d 6768 632d 392e 3130 6-linux-ghc-9.10 │ │ │ -00051e30: 2e33 2f6c 6962 4853 7465 6d70 6c61 7465 .3/libHStemplate │ │ │ -00051e40: 2d68 6173 6b65 6c6c 2d32 2e32 322e 302e -haskell-2.22.0. │ │ │ -00051e50: 302d 696e 706c 6163 652d 6768 6339 2e31 0-inplace-ghc9.1 │ │ │ -00051e60: 302e 332e 736f db00 2f75 7372 2f6c 6962 0.3.so../usr/lib │ │ │ -00051e70: 2f67 6863 2f6c 6962 2f2e 2e2f 6c69 622f /ghc/lib/../lib/ │ │ │ -00051e80: 6933 3836 2d6c 696e 7578 2d67 6863 2d39 i386-linux-ghc-9 │ │ │ -00051e90: 2e31 302e 332f 6c69 6248 5362 7974 6573 .10.3/libHSbytes │ │ │ -00051ea0: 7472 696e 672d 302e 3132 2e32 2e30 2d69 tring-0.12.2.0-i │ │ │ -00051eb0: 6e70 6c61 6365 2d67 6863 392e 3130 2e33 nplace-ghc9.10.3 │ │ │ -00051ec0: 2e73 6f0a 7b2d 2320 494e 4c49 4e45 0566 .so.{-# INLINE.f │ │ │ -00051ed0: 6f72 6365 0173 0364 7331 0369 7076 0469 orce.s.ds1.ipv.i │ │ │ -00051ee0: 7076 3107 646f 5365 7475 7002 7331 0264 pv1.doSetup.s1.d │ │ │ -00051ef0: 7304 6970 7632 0469 7076 3304 7769 6c64 s.ipv2.ipv3.wild │ │ │ -00051f00: 0277 7703 6473 3204 6970 7634 0469 7076 .ww.ds2.ipv4.ipv │ │ │ -00051f10: 3504 6c6f 636b 0273 3203 6473 3304 6970 5.lock.s2.ds3.ip │ │ │ -00051f20: 7636 0469 7076 3703 6473 3404 6970 7638 v6.ipv7.ds4.ipv8 │ │ │ -00051f30: 0469 7076 390b 636f 7772 6170 5f75 6e62 .ipv9.cowrap_unb │ │ │ -00051f40: 7804 756e 6278 055f 6c6f 636b 0365 7461 x.unbx._lock.eta │ │ │ -00051f50: 0367 6f31 0465 7461 3105 7769 6c64 3101 .go1.eta1.wild1. │ │ │ -00051f60: 7902 7973 0577 696c 6432 0c72 656c 6174 y.ys.wild2.relat │ │ │ -00051f70: 6976 6550 6174 6807 636f 6e74 656e 7405 ivePath.content. │ │ │ -00051f80: 7769 6c64 3303 7777 3103 7777 3205 7769 wild3.ww1.ww2.wi │ │ │ -00051f90: 6c64 3403 6473 3503 6473 3603 6469 720b ld4.ds5.ds6.dir. │ │ │ -00051fa0: 7265 6c61 7469 7665 4469 7204 6669 6c65 relativeDir.file │ │ │ -00051fb0: 0470 6174 6801 7604 6574 6132 0364 7337 .path.v.eta2.ds7 │ │ │ -00051fc0: 0569 7076 3130 0569 7076 3131 0364 7338 .ipv10.ipv11.ds8 │ │ │ -00051fd0: 0569 7076 3132 0569 7076 3133 0664 7374 .ipv12.ipv13.dst │ │ │ -00051fe0: 6174 6506 6573 7461 7465 0178 0473 697a ate.estate.x.siz │ │ │ -00051ff0: 6505 6261 7272 2303 6275 6602 7327 0569 e.barr#.buf.s'.i │ │ │ -00052000: 7076 3134 0569 7076 3135 0166 0265 3102 pv14.ipv15.f.e1. │ │ │ -00052010: 6532 0c24 6445 7863 6570 7469 6f6e 3105 e2.$dException1. │ │ │ -00052020: 2464 4950 3402 6533 0263 6f0d 6765 7441 $dIP4.e3.co.getA │ │ │ -00052030: 6764 6141 7070 4469 720f 6765 7444 6174 gdaAppDir.getDat │ │ │ -00052040: 6146 696c 654e 616d 6505 7365 7475 7009 aFileName.setup. │ │ │ -00052050: 2474 724d 6f64 756c 6506 4d6f 6475 6c65 $trModule.Module │ │ │ -00052060: 0a24 7472 4d6f 6475 6c65 330a 2474 724d .$trModule3.$trM │ │ │ -00052070: 6f64 756c 6531 0754 724e 616d 6553 0a24 odule1.TrNameS.$ │ │ │ -00052080: 7472 4d6f 6475 6c65 320a 2474 724d 6f64 trModule2.$trMod │ │ │ -00052090: 756c 6534 0724 7773 6574 7570 0b67 6574 ule4.$wsetup.get │ │ │ -000520a0: 4461 7461 4469 7231 2153 7973 7465 6d2e DataDir1!System. │ │ │ -000520b0: 4f73 5374 7269 6e67 2e45 6e63 6f64 696e OsString.Encodin │ │ │ -000520c0: 672e 496e 7465 726e 616c 1465 6e63 6f64 g.Internal.encod │ │ │ -000520d0: 6557 6974 6842 6173 6550 6f73 6978 320f eWithBasePosix2. │ │ │ -000520e0: 5368 6f72 7442 7974 6553 7472 696e 670f ShortByteString. │ │ │ -000520f0: 7061 636b 4353 7472 696e 674c 656e 311c packCStringLen1. │ │ │ -00052100: 4748 432e 496e 7465 726e 616c 2e46 6f72 GHC.Internal.For │ │ │ -00052110: 6569 676e 2e43 2e54 7970 6573 0543 4368 eign.C.Types.CCh │ │ │ -00052120: 6172 044e 3a49 4f11 4e3a 5368 6f72 7442 ar.N:IO.N:ShortB │ │ │ -00052130: 7974 6553 7472 696e 6709 4279 7465 4172 yteString.ByteAr │ │ │ -00052140: 7261 7917 5379 7374 656d 2e44 6972 6563 ray.System.Direc │ │ │ -00052150: 746f 7279 2e4f 7350 6174 681a 2477 6372 tory.OsPath.$wcr │ │ │ -00052160: 6561 7465 4469 7265 6374 6f72 7949 664d eateDirectoryIfM │ │ │ -00052170: 6973 7369 6e67 0846 696c 6550 6174 6807 issing.FilePath. │ │ │ -00052180: 636f 6d62 696e 6508 7365 7475 7031 3639 combine.setup169 │ │ │ -00052190: 0862 7261 636b 6574 3108 4669 6c65 4c6f .bracket1.FileLo │ │ │ -000521a0: 636b 1e53 7973 7465 6d2e 4669 6c65 4c6f ck.System.FileLo │ │ │ -000521b0: 636b 2e49 6e74 6572 6e61 6c2e 466c 6f63 ck.Internal.Floc │ │ │ -000521c0: 6b05 6c6f 636b 311f 4748 432e 496e 7465 k.lock1.GHC.Inte │ │ │ -000521d0: 726e 616c 2e53 7973 7465 6d2e 506f 7369 rnal.System.Posi │ │ │ -000521e0: 782e 5479 7065 7304 4e3a 4664 064e 3a43 x.Types.N:Fd.N:C │ │ │ -000521f0: 496e 7410 4748 432e 496e 7465 726e 616c Int.GHC.Internal │ │ │ -00052200: 2e49 6e74 0449 3332 2304 4c6f 636b 0b75 .Int.I32#.Lock.u │ │ │ -00052210: 6e6c 6f63 6b46 696c 6531 0a42 7974 6553 nlockFile1.ByteS │ │ │ -00052220: 7472 696e 6705 2477 676f 320d 6472 6f70 tring.$wgo2.drop │ │ │ -00052230: 4669 6c65 4e61 6d65 3119 4748 432e 496e FileName1.GHC.In │ │ │ -00052240: 7465 726e 616c 2e49 4f2e 4861 6e64 6c65 ternal.IO.Handle │ │ │ -00052250: 2e46 440f 7769 7468 4269 6e61 7279 4669 .FD.withBinaryFi │ │ │ -00052260: 6c65 3116 4748 432e 496e 7465 726e 616c le1.GHC.Internal │ │ │ -00052270: 2e49 4f2e 494f 4d6f 6465 0957 7269 7465 .IO.IOMode.Write │ │ │ -00052280: 4d6f 6465 1c47 4843 2e49 6e74 6572 6e61 Mode.GHC.Interna │ │ │ -00052290: 6c2e 494f 2e48 616e 646c 652e 5479 7065 l.IO.Handle.Type │ │ │ -000522a0: 7306 4861 6e64 6c65 0b61 7070 656e 6446 s.Handle.appendF │ │ │ -000522b0: 696c 6532 0868 5075 7453 7472 3206 7374 ile2.hPutStr2.st │ │ │ -000522c0: 6465 7272 0873 6574 7570 3136 380f 656d derr.setup168.em │ │ │ -000522d0: 6265 6464 6564 4461 7461 4469 720b 494f beddedDataDir.IO │ │ │ -000522e0: 4578 6365 7074 696f 6e1b 4748 432e 496e Exception.GHC.In │ │ │ -000522f0: 7465 726e 616c 2e45 7863 6570 7469 6f6e ternal.Exception │ │ │ -00052300: 2e54 7970 650d 536f 6d65 4578 6365 7074 .Type.SomeExcept │ │ │ -00052310: 696f 6e14 756e 6978 2d32 2e38 2e37 2e30 ion.unix-2.8.7.0 │ │ │ -00052320: 2d69 6e70 6c61 6365 1e53 7973 7465 6d2e -inplace.System. │ │ │ -00052330: 506f 7369 782e 4669 6c65 732e 506f 7369 Posix.Files.Posi │ │ │ -00052340: 7853 7472 696e 670b 7265 6d6f 7665 4c69 xString.removeLi │ │ │ -00052350: 6e6b 310d 4e3a 506f 7369 7853 7472 696e nk1.N:PosixStrin │ │ │ -00052360: 6718 4748 432e 496e 7465 726e 616c 2e44 g.GHC.Internal.D │ │ │ -00052370: 6174 612e 4569 7468 6572 0552 6967 6874 ata.Either.Right │ │ │ -00052380: 0673 6574 7570 3219 6372 6561 7465 4469 .setup2.createDi │ │ │ -00052390: 7265 6374 6f72 7949 664d 6973 7369 6e67 rectoryIfMissing │ │ │ -000523a0: 360a 4e3a 4f73 5374 7269 6e67 1364 6f65 6.N:OsString.doe │ │ │ -000523b0: 7344 6972 6563 746f 7279 4578 6973 7432 sDirectoryExist2 │ │ │ -000523c0: 0673 6574 7570 330e 6765 7441 6764 6141 .setup3.getAgdaA │ │ │ -000523d0: 7070 4469 7231 1e47 4843 2e49 6e74 6572 ppDir1.GHC.Inter │ │ │ -000523e0: 6e61 6c2e 494f 2e45 6e63 6f64 696e 672e nal.IO.Encoding. │ │ │ -000523f0: 5479 7065 730c 5465 7874 456e 636f 6469 Types.TextEncodi │ │ │ -00052400: 6e67 1847 4843 2e49 6e74 6572 6e61 6c2e ng.GHC.Internal. │ │ │ -00052410: 494f 2e45 6e63 6f64 696e 6712 6765 7446 IO.Encoding.getF │ │ │ -00052420: 6f72 6569 676e 456e 636f 6469 6e67 2647 oreignEncoding&G │ │ │ -00052430: 4843 2e49 6e74 6572 6e61 6c2e 466f 7265 HC.Internal.Fore │ │ │ -00052440: 6967 6e2e 432e 5374 7269 6e67 2e45 6e63 ign.C.String.Enc │ │ │ -00052450: 6f64 696e 670d 2477 7769 7468 4353 7472 oding.$wwithCStr │ │ │ -00052460: 696e 670e 6765 7441 6764 6141 7070 4469 ing.getAgdaAppDi │ │ │ -00052470: 7239 0767 6574 456e 7633 0743 5374 7269 r9.getEnv3.CStri │ │ │ -00052480: 6e67 0e67 6574 4167 6461 4170 7044 6972 ng.getAgdaAppDir │ │ │ -00052490: 360e 6765 7441 6764 6141 7070 4469 7235 6.getAgdaAppDir5 │ │ │ -000524a0: 072b 2b5f 2473 2b2b 1124 6653 686f 7743 .++_$s++.$fShowC │ │ │ -000524b0: 616c 6c53 7461 636b 3134 0d73 686f 774c allStack14.showL │ │ │ -000524c0: 6974 5374 7269 6e67 0b24 6653 686f 774c itString.$fShowL │ │ │ -000524d0: 6973 7431 0e67 6574 4167 6461 4170 7044 ist1.getAgdaAppD │ │ │ -000524e0: 6972 340e 6765 7441 6764 6141 7070 4469 ir4.getAgdaAppDi │ │ │ -000524f0: 7232 1163 616e 6f6e 6963 616c 697a 6550 r2.canonicalizeP │ │ │ -00052500: 6174 6831 0f67 6574 4167 6461 4170 7044 ath1.getAgdaAppD │ │ │ -00052510: 6972 3130 0e67 6574 4167 6461 4170 7044 ir10.getAgdaAppD │ │ │ -00052520: 6972 330e 6765 7441 6764 6141 7070 4469 ir3.getAgdaAppDi │ │ │ -00052530: 7237 1353 7973 7465 6d2e 4f73 5061 7468 r7.System.OsPath │ │ │ -00052540: 2e54 7970 6573 064f 7350 6174 681f 5379 .Types.OsPath.Sy │ │ │ -00052550: 7374 656d 2e44 6972 6563 746f 7279 2e49 stem.Directory.I │ │ │ -00052560: 6e74 6572 6e61 6c2e 506f 7369 7820 6765 nternal.Posix ge │ │ │ -00052570: 7441 7070 5573 6572 4461 7461 4469 7265 tAppUserDataDire │ │ │ -00052580: 6374 6f72 7949 6e74 6572 6e61 6c31 1867 ctoryInternal1.g │ │ │ -00052590: 6574 4170 7055 7365 7244 6174 6144 6972 etAppUserDataDir │ │ │ -000525a0: 6563 746f 7279 3214 6465 636f 6465 5769 ectory2.decodeWi │ │ │ -000525b0: 7468 4261 7365 506f 7369 7832 1047 4843 thBasePosix2.GHC │ │ │ -000525c0: 2e49 6e74 6572 6e61 6c2e 5074 7203 5074 .Internal.Ptr.Pt │ │ │ -000525d0: 7210 6765 7458 6467 4469 7265 6374 6f72 r.getXdgDirector │ │ │ -000525e0: 7931 0958 6467 436f 6e66 6967 1464 6563 y1.XdgConfig.dec │ │ │ -000525f0: 6f64 6557 6974 6842 6173 6550 6f73 6978 odeWithBasePosix │ │ │ -00052600: 310e 6765 7441 6764 6141 7070 4469 7238 1.getAgdaAppDir8 │ │ │ -00052610: 0b67 6574 4461 7461 4469 7233 0b67 6574 .getDataDir3.get │ │ │ -00052620: 4461 7461 4469 7235 0b67 6574 4461 7461 DataDir5.getData │ │ │ -00052630: 4469 7232 0b67 6574 4461 7461 4469 7234 Dir2.getDataDir4 │ │ │ -00052640: 1067 6574 4461 7461 4669 6c65 4e61 6d65 .getDataFileName │ │ │ -00052650: 3106 7365 7475 7031 0773 6574 7570 3130 1.setup1.setup10 │ │ │ -00052660: 0873 6574 7570 3135 3207 7365 7475 7031 .setup152.setup1 │ │ │ -00052670: 3108 7365 7475 7031 3030 0242 5308 7365 1.setup100.BS.se │ │ │ -00052680: 7475 7031 3031 1747 4843 2e49 6e74 6572 tup101.GHC.Inter │ │ │ -00052690: 6e61 6c2e 466f 7265 6967 6e50 7472 0846 nal.ForeignPtr.F │ │ │ -000526a0: 696e 616c 5074 7208 7365 7475 7031 3032 inalPtr.setup102 │ │ │ -000526b0: 0873 6574 7570 3130 3308 7365 7475 7031 .setup103.setup1 │ │ │ -000526c0: 3034 0873 6574 7570 3130 3508 7365 7475 04.setup105.setu │ │ │ -000526d0: 7031 3036 0873 6574 7570 3130 3708 7365 p106.setup107.se │ │ │ -000526e0: 7475 7031 3038 0873 6574 7570 3130 3908 tup108.setup109. │ │ │ -000526f0: 7365 7475 7031 3530 0773 6574 7570 3132 setup150.setup12 │ │ │ -00052700: 0873 6574 7570 3131 3008 7365 7475 7031 .setup110.setup1 │ │ │ -00052710: 3131 0873 6574 7570 3131 3208 7365 7475 11.setup112.setu │ │ │ -00052720: 7031 3133 0873 6574 7570 3131 3408 7365 p113.setup114.se │ │ │ -00052730: 7475 7031 3135 0873 6574 7570 3131 3608 tup115.setup116. │ │ │ -00052740: 7365 7475 7031 3137 0873 6574 7570 3131 setup117.setup11 │ │ │ -00052750: 3808 7365 7475 7031 3139 0873 6574 7570 8.setup119.setup │ │ │ -00052760: 3134 3807 7365 7475 7031 3308 7365 7475 148.setup13.setu │ │ │ -00052770: 7031 3230 0873 6574 7570 3132 3108 7365 p120.setup121.se │ │ │ -00052780: 7475 7031 3232 0873 6574 7570 3132 3308 tup122.setup123. │ │ │ -00052790: 7365 7475 7031 3234 0873 6574 7570 3132 setup124.setup12 │ │ │ -000527a0: 3508 7365 7475 7031 3236 0873 6574 7570 5.setup126.setup │ │ │ -000527b0: 3132 3708 7365 7475 7031 3238 0873 6574 127.setup128.set │ │ │ -000527c0: 7570 3132 3908 7365 7475 7031 3436 0773 up129.setup146.s │ │ │ -000527d0: 6574 7570 3134 0873 6574 7570 3133 3008 etup14.setup130. │ │ │ -000527e0: 7365 7475 7031 3331 0873 6574 7570 3133 setup131.setup13 │ │ │ -000527f0: 3208 7365 7475 7031 3333 0873 6574 7570 2.setup133.setup │ │ │ -00052800: 3133 3408 7365 7475 7031 3335 0873 6574 134.setup135.set │ │ │ -00052810: 7570 3133 3608 7365 7475 7031 3337 0873 up136.setup137.s │ │ │ -00052820: 6574 7570 3133 3808 7365 7475 7031 3339 etup138.setup139 │ │ │ -00052830: 0873 6574 7570 3134 3407 7365 7475 7031 .setup144.setup1 │ │ │ -00052840: 3508 7365 7475 7031 3430 0873 6574 7570 5.setup140.setup │ │ │ -00052850: 3134 3108 7365 7475 7031 3432 0873 6574 141.setup142.set │ │ │ -00052860: 7570 3134 3308 7365 7475 7031 3435 0873 up143.setup145.s │ │ │ -00052870: 6574 7570 3134 3708 7365 7475 7031 3439 etup147.setup149 │ │ │ -00052880: 0773 6574 7570 3136 0873 6574 7570 3135 .setup16.setup15 │ │ │ -00052890: 3108 7365 7475 7031 3533 0873 6574 7570 1.setup153.setup │ │ │ -000528a0: 3135 3408 7365 7475 7031 3535 0873 6574 154.setup155.set │ │ │ -000528b0: 7570 3135 3608 7365 7475 7031 3537 0873 up156.setup157.s │ │ │ -000528c0: 6574 7570 3135 3808 7365 7475 7031 3539 etup158.setup159 │ │ │ -000528d0: 0773 6574 7570 3137 0873 6574 7570 3136 .setup17.setup16 │ │ │ -000528e0: 3008 7365 7475 7031 3631 0873 6574 7570 0.setup161.setup │ │ │ -000528f0: 3136 3208 7365 7475 7031 3633 0873 6574 162.setup163.set │ │ │ -00052900: 7570 3136 3408 7365 7475 7031 3635 0873 up164.setup165.s │ │ │ -00052910: 6574 7570 3136 3608 7365 7475 7031 3637 etup166.setup167 │ │ │ -00052920: 1669 6e74 6572 6361 6c61 7465 5f24 7370 .intercalate_$sp │ │ │ -00052930: 6f6c 795f 676f 3108 7365 7475 7031 3734 oly_go1.setup174 │ │ │ -00052940: 0873 6574 7570 3137 3007 7365 7475 7031 .setup170.setup1 │ │ │ -00052950: 380c 7072 6570 656e 6454 6f41 6c6c 0873 8.prependToAll.s │ │ │ -00052960: 6574 7570 3137 3208 7365 7475 7031 3731 etup172.setup171 │ │ │ -00052970: 0776 6572 7369 6f6e 0873 6574 7570 3137 .version.setup17 │ │ │ -00052980: 3308 7365 7475 7031 3735 0773 6574 7570 3.setup175.setup │ │ │ -00052990: 3139 0773 6574 7570 3230 2347 4843 2e49 19.setup20#GHC.I │ │ │ -000529a0: 6e74 6572 6e61 6c2e 4461 7461 2e54 7970 nternal.Data.Typ │ │ │ -000529b0: 6561 626c 652e 496e 7465 726e 616c 0b73 eable.Internal.s │ │ │ -000529c0: 616d 6554 7970 6552 6570 0c24 7031 4578 ameTypeRep.$p1Ex │ │ │ -000529d0: 6365 7074 696f 6e0a 4e3a 5479 7065 6162 ception.N:Typeab │ │ │ -000529e0: 6c65 1724 6645 7863 6570 7469 6f6e 494f le.$fExceptionIO │ │ │ -000529f0: 4578 6365 7074 696f 6e34 1f47 4843 2e49 Exception4.GHC.I │ │ │ -00052a00: 6e74 6572 6e61 6c2e 4461 7461 2e54 7970 nternal.Data.Typ │ │ │ -00052a10: 652e 4571 7561 6c69 7479 043a 7e7e 3a04 e.Equality.:~~:. │ │ │ -00052a20: 4c65 6674 0773 6574 7570 3231 0773 6574 Left.setup21.set │ │ │ -00052a30: 7570 3232 0773 6574 7570 3233 0773 6574 up22.setup23.set │ │ │ -00052a40: 7570 3234 0773 6574 7570 3235 0773 6574 up24.setup25.set │ │ │ -00052a50: 7570 3236 0773 6574 7570 3237 0773 6574 up26.setup27.set │ │ │ -00052a60: 7570 3238 0773 6574 7570 3239 0773 6574 up28.setup29.set │ │ │ -00052a70: 7570 3330 0673 6574 7570 3407 7365 7475 up30.setup4.setu │ │ │ -00052a80: 7033 3107 7365 7475 7033 3207 7365 7475 p31.setup32.setu │ │ │ -00052a90: 7033 3307 7365 7475 7033 3407 7365 7475 p33.setup34.setu │ │ │ -00052aa0: 7033 3507 7365 7475 7033 3607 7365 7475 p35.setup36.setu │ │ │ -00052ab0: 7033 3707 7365 7475 7039 3807 7365 7475 p37.setup98.setu │ │ │ -00052ac0: 7033 3807 7365 7475 7039 3607 7365 7475 p38.setup96.setu │ │ │ -00052ad0: 7033 3907 7365 7475 7039 3407 7365 7475 p39.setup94.setu │ │ │ -00052ae0: 7034 3006 7365 7475 7035 0773 6574 7570 p40.setup5.setup │ │ │ -00052af0: 3932 0773 6574 7570 3431 0773 6574 7570 92.setup41.setup │ │ │ -00052b00: 3930 0773 6574 7570 3432 0773 6574 7570 90.setup42.setup │ │ │ -00052b10: 3838 0773 6574 7570 3433 0773 6574 7570 88.setup43.setup │ │ │ -00052b20: 3836 0773 6574 7570 3434 0773 6574 7570 86.setup44.setup │ │ │ -00052b30: 3834 0773 6574 7570 3435 0773 6574 7570 84.setup45.setup │ │ │ -00052b40: 3832 0773 6574 7570 3436 0773 6574 7570 82.setup46.setup │ │ │ -00052b50: 3830 0773 6574 7570 3437 0773 6574 7570 80.setup47.setup │ │ │ -00052b60: 3738 0773 6574 7570 3438 0773 6574 7570 78.setup48.setup │ │ │ -00052b70: 3736 0773 6574 7570 3439 0773 6574 7570 76.setup49.setup │ │ │ -00052b80: 3734 0773 6574 7570 3530 0673 6574 7570 74.setup50.setup │ │ │ -00052b90: 3607 7365 7475 7037 3207 7365 7475 7035 6.setup72.setup5 │ │ │ -00052ba0: 3107 7365 7475 7037 3007 7365 7475 7035 1.setup70.setup5 │ │ │ -00052bb0: 3207 7365 7475 7036 3807 7365 7475 7035 2.setup68.setup5 │ │ │ -00052bc0: 3307 7365 7475 7036 3607 7365 7475 7035 3.setup66.setup5 │ │ │ -00052bd0: 3407 7365 7475 7036 3407 7365 7475 7035 4.setup64.setup5 │ │ │ -00052be0: 3507 7365 7475 7036 3207 7365 7475 7035 5.setup62.setup5 │ │ │ -00052bf0: 3607 7365 7475 7036 3007 7365 7475 7035 6.setup60.setup5 │ │ │ -00052c00: 3707 7365 7475 7035 3807 7365 7475 7035 7.setup58.setup5 │ │ │ -00052c10: 3906 7365 7475 7037 0773 6574 7570 3631 9.setup7.setup61 │ │ │ -00052c20: 0773 6574 7570 3633 0773 6574 7570 3635 .setup63.setup65 │ │ │ -00052c30: 0773 6574 7570 3637 0773 6574 7570 3639 .setup67.setup69 │ │ │ -00052c40: 0673 6574 7570 3807 7365 7475 7037 3107 .setup8.setup71. │ │ │ -00052c50: 7365 7475 7037 3307 7365 7475 7037 3507 setup73.setup75. │ │ │ -00052c60: 7365 7475 7037 3707 7365 7475 7037 3906 setup77.setup79. │ │ │ -00052c70: 7365 7475 7039 0773 6574 7570 3831 0773 setup9.setup81.s │ │ │ -00052c80: 6574 7570 3833 0773 6574 7570 3835 0773 etup83.setup85.s │ │ │ -00052c90: 6574 7570 3837 0773 6574 7570 3839 0773 etup87.setup89.s │ │ │ -00052ca0: 6574 7570 3931 0773 6574 7570 3933 0773 etup91.setup93.s │ │ │ -00052cb0: 6574 7570 3935 0773 6574 7570 3937 0773 etup95.setup97.s │ │ │ -00052cc0: 6574 7570 3939 00 etup99. │ │ │ +0004f770: 2020 2020 2020 2020 2020 2020 6279 2064 by d │ │ │ +0004f780: 6566 696e 6974 696f 6e0a 2d2d 2020 2020 efinition.-- │ │ │ +0004f790: 2020 2020 2020 203d 2028 3020 2b20 6b29 = (0 + k) │ │ │ +0004f7a0: 206d 6f64 2028 3120 2b20 6d29 2020 2020 mod (1 + m) │ │ │ +0004f7b0: 2020 2020 2020 2020 2073 696e 6365 206d since m │ │ │ +0004f7c0: 203d 206b 202b 206a 2c20 7468 7573 206b = k + j, thus k │ │ │ +0004f7d0: 203c 206d 0a2d 2d0a 2d2d 2020 2063 6c61 < m.--.-- cla │ │ │ +0004f7e0: 7573 6520 323a 206d 6f64 2d68 656c 7065 use 2: mod-helpe │ │ │ +0004f7f0: 7220 6b20 6d20 2831 202b 206e 2920 300a r k m (1 + n) 0. │ │ │ +0004f800: 2d2d 2020 2020 2020 2020 2020 203d 206d -- = m │ │ │ +0004f810: 6f64 2d68 656c 7065 7220 3020 6d20 6e20 od-helper 0 m n │ │ │ +0004f820: 6d20 2020 2020 2020 2020 2020 2020 2062 m b │ │ │ +0004f830: 7920 6465 6669 6e69 7469 6f6e 0a2d 2d20 y definition.-- │ │ │ +0004f840: 2020 2020 2020 2020 2020 3d20 286e 202b = (n + │ │ │ +0004f850: 2030 2920 2020 2020 2020 6d6f 6420 2831 0) mod (1 │ │ │ +0004f860: 202b 206d 2920 2020 2020 2020 6279 2069 + m) by i │ │ │ +0004f870: 6e64 7563 7469 6f6e 2068 7970 6f74 6865 nduction hypothe │ │ │ +0004f880: 7369 730a 2d2d 2020 2020 2020 2020 2020 sis.-- │ │ │ +0004f890: 203d 2028 6e20 2b20 2831 202b 206d 2929 = (n + (1 + m)) │ │ │ +0004f8a0: 206d 6f64 2028 3120 2b20 6d29 2020 2020 mod (1 + m) │ │ │ +0004f8b0: 2020 2062 7920 6578 7061 6e73 696f 6e0a by expansion. │ │ │ +0004f8c0: 2d2d 2020 2020 2020 2020 2020 203d 2028 -- = ( │ │ │ +0004f8d0: 3120 2b20 6e29 202b 206b 2920 206d 6f64 1 + n) + k) mod │ │ │ +0004f8e0: 2028 3120 2b20 6d29 2020 2020 2020 2073 (1 + m) s │ │ │ +0004f8f0: 696e 6365 206b 203d 206d 2028 6173 206c ince k = m (as l │ │ │ +0004f900: 203d 2030 290a 2d2d 0a2d 2d20 2020 636c = 0).--.-- cl │ │ │ +0004f910: 6175 7365 2033 3a20 6d6f 642d 6865 6c70 ause 3: mod-help │ │ │ +0004f920: 6572 206b 206d 2028 3120 2b20 6e29 2028 er k m (1 + n) ( │ │ │ +0004f930: 3120 2b20 6a29 0a2d 2d20 2020 2020 2020 1 + j).-- │ │ │ +0004f940: 2020 2020 3d20 6d6f 642d 6865 6c70 6572 = mod-helper │ │ │ +0004f950: 2028 3120 2b20 6b29 206d 206e 206a 2020 (1 + k) m n j │ │ │ +0004f960: 2020 2020 2020 6279 2064 6566 696e 6974 by definit │ │ │ +0004f970: 696f 6e0a 2d2d 2020 2020 2020 2020 2020 ion.-- │ │ │ +0004f980: 203d 2028 6e20 2b20 2831 202b 206b 2929 = (n + (1 + k)) │ │ │ +0004f990: 206d 6f64 2028 3120 2b20 6d29 2020 2020 mod (1 + m) │ │ │ +0004f9a0: 2020 2062 7920 696e 6475 6374 696f 6e20 by induction │ │ │ +0004f9b0: 6879 706f 7468 6573 6973 0a2d 2d20 2020 hypothesis.-- │ │ │ +0004f9c0: 2020 2020 2020 2020 3d20 2828 3120 2b20 = ((1 + │ │ │ +0004f9d0: 6e29 202b 206b 2920 6d6f 6420 2831 202b n) + k) mod (1 + │ │ │ +0004f9e0: 206d 2920 2020 2020 2020 6279 2063 6f6d m) by com │ │ │ +0004f9f0: 6d75 7461 7469 7669 7479 0a2d 2d0a 2d2d mutativity.--.-- │ │ │ +0004fa00: 2051 2e65 2e64 2e0a e0cf e8a4 b7f0 e59a Q.e.d.......... │ │ │ +0004fa10: 8a01 b19b f88d a5dc e2c2 7b00 d501 0004 ..........{..... │ │ │ +0004fa20: fa45 0520 0000 0100 0404 0803 0702 5e02 .E. ..........^. │ │ │ +0004fa30: 0000 030f 0005 0505 0b5f 0b8d 020b 6109 ........._....a. │ │ │ +0004fa40: 0601 00f2 01cc abcb deee c7a7 cbfe 01fd ................ │ │ │ +0004fa50: 98d2 a3af bf9c d78f 0100 8d02 0004 fb6a ...............j │ │ │ +0004fa60: 0582 8080 e608 0000 0100 0304 0704 0200 ................ │ │ │ +0004fa70: 0003 0f00 0901 f201 7b2d 2320 4f50 5449 ........{-# OPTI │ │ │ +0004fa80: 4f4e 5320 2d2d 6375 6269 6361 6c2d 636f ONS --cubical-co │ │ │ +0004fa90: 6d70 6174 6962 6c65 202d 2d73 6166 6520 mpatible --safe │ │ │ +0004faa0: 2d2d 6e6f 2d73 697a 6564 2d74 7970 6573 --no-sized-types │ │ │ +0004fab0: 202d 2d6e 6f2d 6775 6172 6465 646e 6573 --no-guardednes │ │ │ +0004fac0: 7320 2d2d 6c65 7665 6c2d 756e 6976 6572 s --level-univer │ │ │ +0004fad0: 7365 2023 2d7d 0a0a 6d6f 6475 6c65 2041 se #-}..module A │ │ │ +0004fae0: 6764 612e 4275 696c 7469 6e2e 4d61 7962 gda.Builtin.Mayb │ │ │ +0004faf0: 6520 7768 6572 650a 0a64 6174 6120 4d61 e where..data Ma │ │ │ +0004fb00: 7962 6520 7b61 7d20 2841 203a 2053 6574 ybe {a} (A : Set │ │ │ +0004fb10: 2061 2920 3a20 5365 7420 6120 7768 6572 a) : Set a wher │ │ │ +0004fb20: 650a 2020 6a75 7374 203a 2041 20e2 8692 e. just : A ... │ │ │ +0004fb30: 204d 6179 6265 2041 0a20 206e 6f74 6869 Maybe A. nothi │ │ │ +0004fb40: 6e67 203a 204d 6179 6265 2041 0a0a 7b2d ng : Maybe A..{- │ │ │ +0004fb50: 2320 4255 494c 5449 4e20 4d41 5942 4520 # BUILTIN MAYBE │ │ │ +0004fb60: 4d61 7962 6520 232d 7d0a e4c0 98b2 a0b1 Maybe #-}....... │ │ │ +0004fb70: 93c8 52f4 9ce1 c8f8 a6c9 96f2 0100 d201 ..R............. │ │ │ +0004fb80: 0004 fba7 0520 0000 0100 0404 0803 0702 ..... .......... │ │ │ +0004fb90: 5e02 0000 030f 0005 0505 0b5f 0b8e 020b ^.........._.... │ │ │ +0004fba0: 6109 0601 0091 04cf d8b6 be9e c5a0 f355 a..............U │ │ │ +0004fbb0: 80a6 d3df e5dc 8e8e 6100 8e02 0004 fde9 ........a....... │ │ │ +0004fbc0: 0582 8080 e608 0000 0100 0304 0704 0200 ................ │ │ │ +0004fbd0: 0003 0f00 0901 9104 7b2d 2320 4f50 5449 ........{-# OPTI │ │ │ +0004fbe0: 4f4e 5320 2d2d 6375 6269 6361 6c2d 636f ONS --cubical-co │ │ │ +0004fbf0: 6d70 6174 6962 6c65 202d 2d73 6166 6520 mpatible --safe │ │ │ +0004fc00: 2d2d 6e6f 2d73 697a 6564 2d74 7970 6573 --no-sized-types │ │ │ +0004fc10: 202d 2d6e 6f2d 6775 6172 6465 646e 6573 --no-guardednes │ │ │ +0004fc20: 7320 2d2d 6c65 7665 6c2d 756e 6976 6572 s --level-univer │ │ │ +0004fc30: 7365 2023 2d7d 0a0a 6d6f 6475 6c65 2041 se #-}..module A │ │ │ +0004fc40: 6764 612e 4275 696c 7469 6e2e 4c69 7374 gda.Builtin.List │ │ │ +0004fc50: 2077 6865 7265 0a0a 696e 6669 7872 2035 where..infixr 5 │ │ │ +0004fc60: 205f e288 b75f 0a64 6174 6120 4c69 7374 _..._.data List │ │ │ +0004fc70: 207b 617d 2028 4120 3a20 5365 7420 6129 {a} (A : Set a) │ │ │ +0004fc80: 203a 2053 6574 2061 2077 6865 7265 0a20 : Set a where. │ │ │ +0004fc90: 205b 5d20 203a 204c 6973 7420 410a 2020 [] : List A. │ │ │ +0004fca0: 5fe2 88b7 5f20 3a20 2878 203a 2041 2920 _..._ : (x : A) │ │ │ +0004fcb0: 2878 7320 3a20 4c69 7374 2041 2920 e286 (xs : List A) .. │ │ │ +0004fcc0: 9220 4c69 7374 2041 0a0a 7b2d 2320 4255 . List A..{-# BU │ │ │ +0004fcd0: 494c 5449 4e20 4c49 5354 204c 6973 7420 ILTIN LIST List │ │ │ +0004fce0: 232d 7d0a 0a7b 2d23 2043 4f4d 5049 4c45 #-}..{-# COMPILE │ │ │ +0004fcf0: 204a 5320 204c 6973 7420 3d20 6675 6e63 JS List = func │ │ │ +0004fd00: 7469 6f6e 2878 2c76 2920 7b0a 2020 6966 tion(x,v) {. if │ │ │ +0004fd10: 2028 782e 6c65 6e67 7468 203c 2031 2920 (x.length < 1) │ │ │ +0004fd20: 7b20 7265 7475 726e 2076 5b22 5b5d 225d { return v["[]"] │ │ │ +0004fd30: 2829 3b20 7d20 656c 7365 207b 2072 6574 (); } else { ret │ │ │ +0004fd40: 7572 6e20 765b 225f e288 b75f 225d 2878 urn v["_..._"](x │ │ │ +0004fd50: 5b30 5d2c 2078 2e73 6c69 6365 2831 2929 [0], x.slice(1)) │ │ │ +0004fd60: 3b20 7d0a 7d20 232d 7d0a 7b2d 2320 434f ; }.} #-}.{-# CO │ │ │ +0004fd70: 4d50 494c 4520 4a53 205b 5d20 3d20 4172 MPILE JS [] = Ar │ │ │ +0004fd80: 7261 7928 2920 232d 7d0a 7b2d 2320 434f ray() #-}.{-# CO │ │ │ +0004fd90: 4d50 494c 4520 4a53 205f e288 b75f 203d MPILE JS _..._ = │ │ │ +0004fda0: 2066 756e 6374 696f 6e20 2878 2920 7b20 function (x) { │ │ │ +0004fdb0: 7265 7475 726e 2066 756e 6374 696f 6e28 return function( │ │ │ +0004fdc0: 7929 207b 2072 6574 7572 6e20 4172 7261 y) { return Arra │ │ │ +0004fdd0: 7928 7829 2e63 6f6e 6361 7428 7929 3b20 y(x).concat(y); │ │ │ +0004fde0: 7d3b 207d 2023 2d7d 0a93 f5a0 99aa c9ae }; } #-}........ │ │ │ +0004fdf0: b93d 82b6 a6f9 c799 e7e2 4d00 d001 0004 .=........M..... │ │ │ +0004fe00: fe25 0520 0000 0100 0404 0803 0702 5e02 .%. ..........^. │ │ │ +0004fe10: 0000 030f 0005 0505 0b5f 0b8f 020b 6109 ........._....a. │ │ │ +0004fe20: 0601 00da 03bd dcee cbc6 aab7 d2d5 0188 ................ │ │ │ +0004fe30: a5e6 c19c dd8e a4e4 0100 8f02 0005 0032 ...............2 │ │ │ +0004fe40: 0582 8080 e608 0000 0100 0304 0704 0200 ................ │ │ │ +0004fe50: 0003 0f00 0901 da03 7b2d 2320 4f50 5449 ........{-# OPTI │ │ │ +0004fe60: 4f4e 5320 2d2d 6375 6269 6361 6c2d 636f ONS --cubical-co │ │ │ +0004fe70: 6d70 6174 6962 6c65 202d 2d73 6166 6520 mpatible --safe │ │ │ +0004fe80: 2d2d 6e6f 2d73 697a 6564 2d74 7970 6573 --no-sized-types │ │ │ +0004fe90: 202d 2d6e 6f2d 6775 6172 6465 646e 6573 --no-guardednes │ │ │ +0004fea0: 7320 2d2d 6c65 7665 6c2d 756e 6976 6572 s --level-univer │ │ │ +0004feb0: 7365 2023 2d7d 0a0a 6d6f 6475 6c65 2041 se #-}..module A │ │ │ +0004fec0: 6764 612e 4275 696c 7469 6e2e 496e 7420 gda.Builtin.Int │ │ │ +0004fed0: 7768 6572 650a 0a6f 7065 6e20 696d 706f where..open impo │ │ │ +0004fee0: 7274 2041 6764 612e 4275 696c 7469 6e2e rt Agda.Builtin. │ │ │ +0004fef0: 4e61 740a 6f70 656e 2069 6d70 6f72 7420 Nat.open import │ │ │ +0004ff00: 4167 6461 2e42 7569 6c74 696e 2e53 7472 Agda.Builtin.Str │ │ │ +0004ff10: 696e 670a 0a69 6e66 6978 2038 2070 6f73 ing..infix 8 pos │ │ │ +0004ff20: 2020 2d2d 2053 7461 6e64 6172 6420 6c69 -- Standard li │ │ │ +0004ff30: 6272 6172 7920 7573 6573 2074 6869 7320 brary uses this │ │ │ +0004ff40: 6173 202b 5f0a 0a64 6174 6120 496e 7420 as +_..data Int │ │ │ +0004ff50: 3a20 5365 7420 7768 6572 650a 2020 706f : Set where. po │ │ │ +0004ff60: 7320 2020 203a 2028 6e20 3a20 4e61 7429 s : (n : Nat) │ │ │ +0004ff70: 20e2 8692 2049 6e74 0a20 206e 6567 7375 ... Int. negsu │ │ │ +0004ff80: 6320 3a20 286e 203a 204e 6174 2920 e286 c : (n : Nat) .. │ │ │ +0004ff90: 9220 496e 740a 0a7b 2d23 2042 5549 4c54 . Int..{-# BUILT │ │ │ +0004ffa0: 494e 2049 4e54 4547 4552 2020 2020 2020 IN INTEGER │ │ │ +0004ffb0: 2049 6e74 2020 2020 232d 7d0a 7b2d 2320 Int #-}.{-# │ │ │ +0004ffc0: 4255 494c 5449 4e20 494e 5445 4745 5250 BUILTIN INTEGERP │ │ │ +0004ffd0: 4f53 2020 2020 706f 7320 2020 2023 2d7d OS pos #-} │ │ │ +0004ffe0: 0a7b 2d23 2042 5549 4c54 494e 2049 4e54 .{-# BUILTIN INT │ │ │ +0004fff0: 4547 4552 4e45 4753 5543 206e 6567 7375 EGERNEGSUC negsu │ │ │ +00050000: 6320 232d 7d0a 0a70 7269 6d69 7469 7665 c #-}..primitive │ │ │ +00050010: 2070 7269 6d53 686f 7749 6e74 6567 6572 primShowInteger │ │ │ +00050020: 203a 2049 6e74 20e2 8692 2053 7472 696e : Int ... Strin │ │ │ +00050030: 670a d9bd b996 a1dc a98b 4ea6 97c8 b1a0 g.........N..... │ │ │ +00050040: ebad c875 00ce 0100 0500 6e05 2000 0001 ...u......n. ... │ │ │ +00050050: 0004 0408 0307 025e 0200 0003 0f00 0505 .......^........ │ │ │ +00050060: 050b 5f0b 9002 0b61 0906 0100 aa02 aead .._....a........ │ │ │ +00050070: bda6 ccc6 e789 27bb f583 dfa9 99ad 82e3 ......'......... │ │ │ +00050080: 0100 9002 0005 01ca 0582 8080 e608 0000 ................ │ │ │ +00050090: 0100 0304 0704 0200 0003 0f00 0901 aa02 ................ │ │ │ +000500a0: 7b2d 2320 4f50 5449 4f4e 5320 2d2d 6375 {-# OPTIONS --cu │ │ │ +000500b0: 6269 6361 6c2d 636f 6d70 6174 6962 6c65 bical-compatible │ │ │ +000500c0: 202d 2d73 6166 6520 2d2d 6e6f 2d73 697a --safe --no-siz │ │ │ +000500d0: 6564 2d74 7970 6573 202d 2d6e 6f2d 6775 ed-types --no-gu │ │ │ +000500e0: 6172 6465 646e 6573 7320 2d2d 6c65 7665 ardedness --leve │ │ │ +000500f0: 6c2d 756e 6976 6572 7365 2023 2d7d 0a0a l-universe #-}.. │ │ │ +00050100: 6d6f 6475 6c65 2041 6764 612e 4275 696c module Agda.Buil │ │ │ +00050110: 7469 6e2e 494f 2077 6865 7265 0a0a 706f tin.IO where..po │ │ │ +00050120: 7374 756c 6174 6520 494f 203a 20e2 8880 stulate IO : ... │ │ │ +00050130: 207b 617d 20e2 8692 2053 6574 2061 20e2 {a} ... Set a . │ │ │ +00050140: 8692 2053 6574 2061 0a7b 2d23 2050 4f4c .. Set a.{-# POL │ │ │ +00050150: 4152 4954 5920 494f 202b 2b20 2b2b 2023 ARITY IO ++ ++ # │ │ │ +00050160: 2d7d 0a7b 2d23 2042 5549 4c54 494e 2049 -}.{-# BUILTIN I │ │ │ +00050170: 4f20 494f 2023 2d7d 0a0a 7b2d 2320 464f O IO #-}..{-# FO │ │ │ +00050180: 5245 4947 4e20 4748 4320 7479 7065 2041 REIGN GHC type A │ │ │ +00050190: 6764 6149 4f20 6120 6220 3d20 494f 2062 gdaIO a b = IO b │ │ │ +000501a0: 2023 2d7d 0a7b 2d23 2043 4f4d 5049 4c45 #-}.{-# COMPILE │ │ │ +000501b0: 2047 4843 2049 4f20 3d20 7479 7065 2041 GHC IO = type A │ │ │ +000501c0: 6764 6149 4f20 232d 7d0a 0000 0000 0501 gdaIO #-}....... │ │ │ +000501d0: d200 c7f9 f7e9 84df a69f 69ae bcf1 de85 ..........i..... │ │ │ +000501e0: c083 b21e 0000 0000 0091 0200 0001 00f0 ................ │ │ │ +000501f0: 0100 0001 004a 0000 0100 f101 0000 0100 .....J.......... │ │ │ +00050200: f201 0000 0100 f301 000e 6400 f401 0000 ..........d..... │ │ │ +00050210: 0100 f501 0000 0100 f601 000e 6400 f701 ............d... │ │ │ +00050220: 0000 0100 f801 0000 0100 f901 0000 0100 ................ │ │ │ +00050230: fa01 0000 0100 fb01 0035 fc01 00fd 0100 .........5...... │ │ │ +00050240: 0623 03fe 0100 0623 00ff 0100 0b80 0203 .#.....#........ │ │ │ +00050250: 8102 000e 6403 8202 0006 2303 8302 0005 ....d.....#..... │ │ │ +00050260: 1b01 8402 0007 8502 0086 0200 0b5e 0387 .............^.. │ │ │ +00050270: 0200 0957 0088 0200 0001 0089 0200 0b58 ...W...........X │ │ │ +00050280: 008a 0200 0855 038b 0200 088c 0200 8d02 .....U.......... │ │ │ +00050290: 000b 8e02 038f 0200 0b80 0203 9002 000b ................ │ │ │ +000502a0: 9102 0192 0200 0855 0093 0200 0855 0094 .......U.....U.. │ │ │ +000502b0: 0200 0621 0395 0200 0957 0096 0200 0957 ...!.....W.....W │ │ │ +000502c0: 0097 0200 0b98 0200 9902 000b 9a02 009b ................ │ │ │ +000502d0: 0200 0b9c 0203 9d02 0006 5200 9e02 000b ..........R..... │ │ │ +000502e0: 5f00 9f02 000b 9802 00a0 0200 0001 00a1 _............... │ │ │ +000502f0: 0200 0001 00a2 0200 0b32 03a3 0200 0ba4 .........2...... │ │ │ +00050300: 0203 a502 00a6 02a7 0200 a802 0035 3603 .............56. │ │ │ +00050310: a902 000b aa02 00ab 0200 0001 00ac 0200 ................ │ │ │ +00050320: 0785 0200 ad02 0035 3603 ae02 0007 8502 .......56....... │ │ │ +00050330: 00af 0200 0002 0047 0000 0100 b002 0000 .......G........ │ │ │ +00050340: 0100 b102 000b b202 03b3 0200 0bb4 0200 ................ │ │ │ +00050350: b502 000b b202 01b3 0200 0bb6 0200 b702 ................ │ │ │ +00050360: 0000 0100 b802 000b 6300 b902 000b b602 ........c....... │ │ │ +00050370: 03ba 0200 0001 00bb 0200 0001 00bc 0200 ................ │ │ │ +00050380: 0b0c 00bd 0200 0b62 00be 0200 0b62 00bf .......b.....b.. │ │ │ +00050390: 0200 0b62 00c0 0200 0001 00c1 0200 0001 ...b............ │ │ │ +000503a0: 00c2 0200 0753 00c3 0200 0001 00c4 0200 .....S.......... │ │ │ +000503b0: 0001 00c5 0200 0001 00c6 0200 09c7 0203 ................ │ │ │ +000503c0: c802 0007 c902 00ca 0200 0785 0200 cb02 ................ │ │ │ +000503d0: 0035 fc01 00cc 0200 0bcd 0200 ce02 0007 .5.............. │ │ │ +000503e0: 8502 00cf 0200 0754 00d0 0200 35fc 0100 .......T....5... │ │ │ +000503f0: d102 0000 0100 d202 0000 0100 d302 0000 ................ │ │ │ +00050400: 0400 d402 0000 0400 d502 0000 0100 d502 ................ │ │ │ +00050410: 0000 0100 d602 0000 0100 d702 0000 0100 ................ │ │ │ +00050420: d802 0000 0100 d902 0000 0100 da02 0000 ................ │ │ │ +00050430: 0100 db02 0000 0100 dc02 0006 2101 dd02 ............!... │ │ │ +00050440: 0006 2100 dd02 0000 0100 de02 000b df02 ..!............. │ │ │ +00050450: 00e0 0200 0001 00e1 0200 0001 00e2 0200 ................ │ │ │ +00050460: 0001 00e3 0200 0001 00e4 0200 0001 00e5 ................ │ │ │ +00050470: 0200 0001 00e6 0200 0001 00e7 0200 0001 ................ │ │ │ +00050480: 00e8 0200 0001 00e9 0200 0001 00ea 0200 ................ │ │ │ +00050490: 0001 00eb 0200 0001 00ec 0200 0001 00ed ................ │ │ │ +000504a0: 0200 0001 00ee 0200 0001 00ef 0200 0001 ................ │ │ │ +000504b0: 00f0 0200 0001 00f1 0200 0001 00f2 0200 ................ │ │ │ +000504c0: 0001 00f3 0200 0001 00f4 0200 0001 00f5 ................ │ │ │ +000504d0: 0200 0001 00f6 0200 0001 00f7 0200 0001 ................ │ │ │ +000504e0: 00f8 0200 0001 00f9 0200 0001 00fa 0200 ................ │ │ │ +000504f0: 0001 00fb 0200 0001 00fc 0200 0001 00fd ................ │ │ │ +00050500: 0200 0001 00fe 0200 0001 00ff 0200 0001 ................ │ │ │ +00050510: 0080 0300 0001 0081 0300 0001 0082 0300 ................ │ │ │ +00050520: 0001 0083 0300 0001 0084 0300 0001 0085 ................ │ │ │ +00050530: 0300 0001 0086 0300 0001 0087 0300 0001 ................ │ │ │ +00050540: 0088 0300 0001 0089 0300 0001 008a 0300 ................ │ │ │ +00050550: 0001 008b 0300 0001 008c 0300 0001 008d ................ │ │ │ +00050560: 0300 0001 008e 0300 0001 008f 0300 0001 ................ │ │ │ +00050570: 0090 0300 0001 0091 0300 0001 0092 0300 ................ │ │ │ +00050580: 0001 0093 0300 0001 0094 0300 0001 0095 ................ │ │ │ +00050590: 0300 0001 0096 0300 0001 0097 0300 0001 ................ │ │ │ +000505a0: 0098 0300 0001 0099 0300 0001 009a 0300 ................ │ │ │ +000505b0: 0001 009b 0300 0001 009c 0300 0001 009d ................ │ │ │ +000505c0: 0300 0001 009e 0300 0001 009f 0300 0001 ................ │ │ │ +000505d0: 00a0 0300 0001 00a1 0300 0001 00a2 0300 ................ │ │ │ +000505e0: 0001 00a3 0300 0001 00a4 0300 0001 00a5 ................ │ │ │ +000505f0: 0300 0001 00a6 0300 0001 00a7 0300 0b5c ...............\ │ │ │ +00050600: 00a8 0300 0001 00a9 0300 0001 00aa 0300 ................ │ │ │ +00050610: 0001 00ab 0300 0b5c 00ac 0300 0001 00ad .......\........ │ │ │ +00050620: 0300 0001 00ae 0300 0019 00af 0300 0001 ................ │ │ │ +00050630: 00b0 0300 0001 00b1 0300 0001 00b2 0300 ................ │ │ │ +00050640: 0001 00b3 0300 0ba4 0201 a502 000b b403 ................ │ │ │ +00050650: 00b5 0300 0ba4 0200 b603 000b b403 03b7 ................ │ │ │ +00050660: 0300 0b32 00b8 0300 0bb9 0303 ba03 000b ...2............ │ │ │ +00050670: aa02 00bb 0300 0001 00bc 0300 0001 00bd ................ │ │ │ +00050680: 0300 0001 00be 0300 0001 00bf 0300 0001 ................ │ │ │ +00050690: 00c0 0300 0001 00c1 0300 0001 00c2 0300 ................ │ │ │ +000506a0: 0001 00c3 0300 0001 00c4 0300 0001 00c5 ................ │ │ │ +000506b0: 0300 0001 00c6 0300 0001 00c7 0300 0001 ................ │ │ │ +000506c0: 00c8 0300 0001 00c9 0300 0001 00ca 0300 ................ │ │ │ +000506d0: 0001 00cb 0300 0001 00cc 0300 0001 00cd ................ │ │ │ +000506e0: 0300 0001 00ce 0300 0001 00cf 0300 0001 ................ │ │ │ +000506f0: 00d0 0300 0001 00d1 0300 0001 00d2 0300 ................ │ │ │ +00050700: 0001 00d3 0300 0001 00d4 0300 0001 00d5 ................ │ │ │ +00050710: 0300 0001 00d6 0300 0001 00d7 0300 0001 ................ │ │ │ +00050720: 00d8 0300 0001 00d9 0300 0001 00da 0300 ................ │ │ │ +00050730: 0001 00db 0300 0001 00dc 0300 0001 00dd ................ │ │ │ +00050740: 0300 0001 00de 0300 0001 00df 0300 0001 ................ │ │ │ +00050750: 00e0 0300 0001 00e1 0300 0001 00e2 0300 ................ │ │ │ +00050760: 0001 00e3 0300 0001 00e4 0300 0001 00e5 ................ │ │ │ +00050770: 0300 0001 00e6 0300 0001 00e7 0300 0001 ................ │ │ │ +00050780: 00e8 0300 0001 00e9 0300 0001 00ea 0300 ................ │ │ │ +00050790: 0001 00eb 0300 0001 00ec 0300 0001 00ed ................ │ │ │ +000507a0: 0300 0001 00ee 0300 0001 00ef 0300 0001 ................ │ │ │ +000507b0: 00f0 0300 0001 00f1 0300 0001 00f2 0300 ................ │ │ │ +000507c0: 0001 00f3 0300 0001 00f4 0300 0001 00f5 ................ │ │ │ +000507d0: 0300 0001 00f6 0300 0001 00f7 0300 0001 ................ │ │ │ +000507e0: 00f8 0300 0001 00f9 0300 0001 00fa 0300 ................ │ │ │ +000507f0: 0001 00fb 0300 0001 00fc 0300 0001 00fd ................ │ │ │ +00050800: 0300 0001 00fe 0300 0001 00ff 0300 0001 ................ │ │ │ +00050810: 0080 0400 0001 0081 0400 0001 0082 0400 ................ │ │ │ +00050820: 0001 0083 0400 0001 0084 0400 0001 0085 ................ │ │ │ +00050830: 0400 0001 0086 0400 0001 0087 0400 0001 ................ │ │ │ +00050840: 0088 0400 0001 0089 0400 0001 008a 0400 ................ │ │ │ +00050850: 0001 008b 0400 0001 008c 0400 0001 008d ................ │ │ │ +00050860: 0400 0001 008e 0400 0001 008f 0400 0001 ................ │ │ │ +00050870: 0090 0491 0421 4167 6461 2d32 2e38 2e30 .....!Agda-2.8.0 │ │ │ +00050880: 2d4b 7541 454b 4452 4735 7773 4652 6441 -KuAEKDRG5wsFRdA │ │ │ +00050890: 3577 3873 474c 430a 4167 6461 2e53 6574 5w8sGLC.Agda.Set │ │ │ +000508a0: 7570 1441 6764 612e 5365 7475 702e 4461 up.Agda.Setup.Da │ │ │ +000508b0: 7461 4669 6c65 7312 4167 6461 2e56 6572 taFiles.Agda.Ver │ │ │ +000508c0: 7369 6f6e 436f 6d6d 6974 0a50 6174 6873 sionCommit.Paths │ │ │ +000508d0: 5f41 6764 6104 6261 7365 1b62 7974 6573 _Agda.base.bytes │ │ │ +000508e0: 7472 696e 672d 302e 3132 2e32 2e30 2d69 tring-0.12.2.0-i │ │ │ +000508f0: 6e70 6c61 6365 1964 6972 6563 746f 7279 nplace.directory │ │ │ +00050900: 2d31 2e33 2e38 2e35 2d69 6e70 6c61 6365 -1.3.8.5-inplace │ │ │ +00050910: 2766 696c 656c 6f63 6b2d 302e 312e 312e 'filelock-0.1.1. │ │ │ +00050920: 382d 3357 5032 7067 4a7a 3761 6537 6149 8-3WP2pgJz7ae7aI │ │ │ +00050930: 4f38 624b 436a 5768 1866 696c 6570 6174 O8bKCjWh.filepat │ │ │ +00050940: 682d 312e 352e 342e 302d 696e 706c 6163 h-1.5.4.0-inplac │ │ │ +00050950: 6510 7465 6d70 6c61 7465 2d68 6173 6b65 e.template-haske │ │ │ +00050960: 6c6c 0c67 6863 2d69 6e74 6572 6e61 6c11 ll.ghc-internal. │ │ │ +00050970: 4748 432e 496e 7465 726e 616c 2e42 6173 GHC.Internal.Bas │ │ │ +00050980: 6512 4748 432e 496e 7465 726e 616c 2e46 e.GHC.Internal.F │ │ │ +00050990: 6c6f 6174 0867 6863 2d70 7269 6d0c 4748 loat.ghc-prim.GH │ │ │ +000509a0: 432e 5072 696d 2e45 7874 1373 746d 2d32 C.Prim.Ext.stm-2 │ │ │ +000509b0: 2e35 2e33 2e31 2d69 6e70 6c61 6365 1143 .5.3.1-inplace.C │ │ │ +000509c0: 6f6e 7472 6f6c 2e4d 6f6e 6164 2e53 544d ontrol.Monad.STM │ │ │ +000509d0: 1374 696d 652d 312e 3132 2e32 2d69 6e70 .time-1.12.2-inp │ │ │ +000509e0: 6c61 6365 1c44 6174 612e 5469 6d65 2e43 lace.Data.Time.C │ │ │ +000509f0: 616c 656e 6461 722e 4772 6567 6f72 6961 alendar.Gregoria │ │ │ +00050a00: 6e21 4461 7461 2e54 696d 652e 466f 726d n!Data.Time.Form │ │ │ +00050a10: 6174 2e46 6f72 6d61 742e 496e 7374 616e at.Format.Instan │ │ │ +00050a20: 6365 7316 4461 7461 2e54 696d 652e 466f ces.Data.Time.Fo │ │ │ +00050a30: 726d 6174 2e50 6172 7365 2044 6174 612e rmat.Parse Data. │ │ │ +00050a40: 5469 6d65 2e46 6f72 6d61 742e 5061 7273 Time.Format.Pars │ │ │ +00050a50: 652e 496e 7374 616e 6365 7326 4461 7461 e.Instances&Data │ │ │ +00050a60: 2e54 696d 652e 4c6f 6361 6c54 696d 652e .Time.LocalTime. │ │ │ +00050a70: 496e 7465 726e 616c 2e4c 6f63 616c 5469 Internal.LocalTi │ │ │ +00050a80: 6d65 2644 6174 612e 5469 6d65 2e4c 6f63 me&Data.Time.Loc │ │ │ +00050a90: 616c 5469 6d65 2e49 6e74 6572 6e61 6c2e alTime.Internal. │ │ │ +00050aa0: 5a6f 6e65 6454 696d 650c 4167 6461 2e56 ZonedTime.Agda.V │ │ │ +00050ab0: 6572 7369 6f6e 1343 6f6e 7472 6f6c 2e41 ersion.Control.A │ │ │ +00050ac0: 7070 6c69 6361 7469 7665 0f44 6174 612e pplicative.Data. │ │ │ +00050ad0: 4172 7261 792e 4279 7465 0c44 6174 612e Array.Byte.Data. │ │ │ +00050ae0: 436f 6d70 6c65 7814 4461 7461 2e46 756e Complex.Data.Fun │ │ │ +00050af0: 6374 6f72 2e43 6f6d 706f 7365 1444 6174 ctor.Compose.Dat │ │ │ +00050b00: 612e 4675 6e63 746f 722e 5072 6f64 7563 a.Functor.Produc │ │ │ +00050b10: 7410 4461 7461 2e46 756e 6374 6f72 2e53 t.Data.Functor.S │ │ │ +00050b20: 756d 0e44 6174 612e 5365 6d69 6772 6f75 um.Data.Semigrou │ │ │ +00050b30: 701d 4461 7461 2e42 7974 6553 7472 696e p.Data.ByteStrin │ │ │ +00050b40: 672e 496e 7465 726e 616c 2e54 7970 651d g.Internal.Type. │ │ │ +00050b50: 4461 7461 2e42 7974 6553 7472 696e 672e Data.ByteString. │ │ │ +00050b60: 4c61 7a79 2e49 6e74 6572 6e61 6c1e 4461 Lazy.Internal.Da │ │ │ +00050b70: 7461 2e42 7974 6553 7472 696e 672e 5368 ta.ByteString.Sh │ │ │ +00050b80: 6f72 742e 496e 7465 726e 616c 1764 6565 ort.Internal.dee │ │ │ +00050b90: 7073 6571 2d31 2e35 2e30 2e30 2d69 6e70 pseq-1.5.0.0-inp │ │ │ +00050ba0: 6c61 6365 0f43 6f6e 7472 6f6c 2e44 6565 lace.Control.Dee │ │ │ +00050bb0: 7053 6571 1a67 6863 2d62 6f6f 742d 7468 pSeq.ghc-boot-th │ │ │ +00050bc0: 2d39 2e31 302e 332d 696e 706c 6163 6517 -9.10.3-inplace. │ │ │ +00050bd0: 4748 432e 466f 7265 6967 6e53 7263 4c61 GHC.ForeignSrcLa │ │ │ +00050be0: 6e67 2e54 7970 651b 4748 432e 4c61 6e67 ng.Type.GHC.Lang │ │ │ +00050bf0: 7561 6765 4578 7465 6e73 696f 6e73 2e54 uageExtensions.T │ │ │ +00050c00: 7970 651a 4748 432e 496e 7465 726e 616c ype.GHC.Internal │ │ │ +00050c10: 2e43 6f6e 7472 6f6c 2e41 7272 6f77 1f47 .Control.Arrow.G │ │ │ +00050c20: 4843 2e49 6e74 6572 6e61 6c2e 4461 7461 HC.Internal.Data │ │ │ +00050c30: 2e46 756e 6374 6f72 2e43 6f6e 7374 2247 .Functor.Const"G │ │ │ +00050c40: 4843 2e49 6e74 6572 6e61 6c2e 4461 7461 HC.Internal.Data │ │ │ +00050c50: 2e46 756e 6374 6f72 2e49 6465 6e74 6974 .Functor.Identit │ │ │ +00050c60: 7918 4748 432e 496e 7465 726e 616c 2e44 y.GHC.Internal.D │ │ │ +00050c70: 6174 612e 4d6f 6e6f 6964 2447 4843 2e49 ata.Monoid$GHC.I │ │ │ +00050c80: 6e74 6572 6e61 6c2e 4461 7461 2e53 656d nternal.Data.Sem │ │ │ +00050c90: 6967 726f 7570 2e49 6e74 6572 6e61 6c1a igroup.Internal. │ │ │ +00050ca0: 4748 432e 496e 7465 726e 616c 2e44 6174 GHC.Internal.Dat │ │ │ +00050cb0: 612e 5479 7065 2e4f 7264 1947 4843 2e49 a.Type.Ord.GHC.I │ │ │ +00050cc0: 6e74 6572 6e61 6c2e 4461 7461 2e56 6572 nternal.Data.Ver │ │ │ +00050cd0: 7369 6f6e 1c47 4843 2e49 6e74 6572 6e61 sion.GHC.Interna │ │ │ +00050ce0: 6c2e 4675 6e63 746f 722e 5a69 704c 6973 l.Functor.ZipLis │ │ │ +00050cf0: 7415 4748 432e 496e 7465 726e 616c 2e47 t.GHC.Internal.G │ │ │ +00050d00: 656e 6572 6963 7319 4748 432e 496e 7465 enerics.GHC.Inte │ │ │ +00050d10: 726e 616c 2e49 4f2e 4578 6365 7074 696f rnal.IO.Exceptio │ │ │ +00050d20: 6e13 4748 432e 496e 7465 726e 616c 2e49 n.GHC.Internal.I │ │ │ +00050d30: 734c 6973 7416 4748 432e 496e 7465 726e sList.GHC.Intern │ │ │ +00050d40: 616c 2e52 5453 2e46 6c61 6773 176f 732d al.RTS.Flags.os- │ │ │ +00050d50: 7374 7269 6e67 2d32 2e30 2e37 2d69 6e70 string-2.0.7-inp │ │ │ +00050d60: 6c61 6365 1e53 7973 7465 6d2e 4f73 5374 lace.System.OsSt │ │ │ +00050d70: 7269 6e67 2e49 6e74 6572 6e61 6c2e 5479 ring.Internal.Ty │ │ │ +00050d80: 7065 7316 7072 6574 7479 2d31 2e31 2e33 pes.pretty-1.1.3 │ │ │ +00050d90: 2e36 2d69 6e70 6c61 6365 2354 6578 742e .6-inplace#Text. │ │ │ +00050da0: 5072 6574 7479 5072 696e 742e 416e 6e6f PrettyPrint.Anno │ │ │ +00050db0: 7461 7465 642e 4875 6768 6573 504a 1954 tated.HughesPJ.T │ │ │ +00050dc0: 6578 742e 5072 6574 7479 5072 696e 742e ext.PrettyPrint. │ │ │ +00050dd0: 4875 6768 6573 504a 1a4c 616e 6775 6167 HughesPJ.Languag │ │ │ +00050de0: 652e 4861 736b 656c 6c2e 5448 2e53 796e e.Haskell.TH.Syn │ │ │ +00050df0: 7461 781c 7472 616e 7366 6f72 6d65 7273 tax.transformers │ │ │ +00050e00: 2d30 2e36 2e31 2e31 2d69 6e70 6c61 6365 -0.6.1.1-inplace │ │ │ +00050e10: 1843 6f6e 7472 6f6c 2e4d 6f6e 6164 2e54 .Control.Monad.T │ │ │ +00050e20: 7261 6e73 2e43 6f6e 741a 436f 6e74 726f rans.Cont.Contro │ │ │ +00050e30: 6c2e 4d6f 6e61 642e 5472 616e 732e 4578 l.Monad.Trans.Ex │ │ │ +00050e40: 6365 7074 1c43 6f6e 7472 6f6c 2e4d 6f6e cept.Control.Mon │ │ │ +00050e50: 6164 2e54 7261 6e73 2e49 6465 6e74 6974 ad.Trans.Identit │ │ │ +00050e60: 7919 436f 6e74 726f 6c2e 4d6f 6e61 642e y.Control.Monad. │ │ │ +00050e70: 5472 616e 732e 4d61 7962 651c 436f 6e74 Trans.Maybe.Cont │ │ │ +00050e80: 726f 6c2e 4d6f 6e61 642e 5472 616e 732e rol.Monad.Trans. │ │ │ +00050e90: 5257 532e 4c61 7a79 1e43 6f6e 7472 6f6c RWS.Lazy.Control │ │ │ +00050ea0: 2e4d 6f6e 6164 2e54 7261 6e73 2e52 5753 .Monad.Trans.RWS │ │ │ +00050eb0: 2e53 7472 6963 741a 436f 6e74 726f 6c2e .Strict.Control. │ │ │ +00050ec0: 4d6f 6e61 642e 5472 616e 732e 5265 6164 Monad.Trans.Read │ │ │ +00050ed0: 6572 1e43 6f6e 7472 6f6c 2e4d 6f6e 6164 er.Control.Monad │ │ │ +00050ee0: 2e54 7261 6e73 2e53 7461 7465 2e4c 617a .Trans.State.Laz │ │ │ +00050ef0: 7920 436f 6e74 726f 6c2e 4d6f 6e61 642e y Control.Monad. │ │ │ +00050f00: 5472 616e 732e 5374 6174 652e 5374 7269 Trans.State.Stri │ │ │ +00050f10: 6374 1f43 6f6e 7472 6f6c 2e4d 6f6e 6164 ct.Control.Monad │ │ │ +00050f20: 2e54 7261 6e73 2e57 7269 7465 722e 4c61 .Trans.Writer.La │ │ │ +00050f30: 7a79 2143 6f6e 7472 6f6c 2e4d 6f6e 6164 zy!Control.Monad │ │ │ +00050f40: 2e54 7261 6e73 2e57 7269 7465 722e 5374 .Trans.Writer.St │ │ │ +00050f50: 7269 6374 0964 6174 6146 696c 6573 0864 rict.dataFiles.d │ │ │ +00050f60: 6174 6150 6174 6815 7665 7273 696f 6e57 ataPath.versionW │ │ │ +00050f70: 6974 6843 6f6d 6d69 7449 6e66 6f0a 6765 ithCommitInfo.ge │ │ │ +00050f80: 7444 6174 6144 6972 1143 6f6e 7472 6f6c tDataDir.Control │ │ │ +00050f90: 2e45 7863 6570 7469 6f6e 0d43 6f6e 7472 .Exception.Contr │ │ │ +00050fa0: 6f6c 2e4d 6f6e 6164 0c44 6174 612e 4675 ol.Monad.Data.Fu │ │ │ +00050fb0: 6e63 746f 7209 4461 7461 2e4c 6973 7407 nctor.Data.List. │ │ │ +00050fc0: 5072 656c 7564 6512 5379 7374 656d 2e45 Prelude.System.E │ │ │ +00050fd0: 6e76 6972 6f6e 6d65 6e74 0953 7973 7465 nvironment.Syste │ │ │ +00050fe0: 6d2e 494f 0f44 6174 612e 4279 7465 5374 m.IO.Data.ByteSt │ │ │ +00050ff0: 7269 6e67 1053 7973 7465 6d2e 4469 7265 ring.System.Dire │ │ │ +00051000: 6374 6f72 7920 5379 7374 656d 2e44 6972 ctory System.Dir │ │ │ +00051010: 6563 746f 7279 2e49 6e74 6572 6e61 6c2e ectory.Internal. │ │ │ +00051020: 436f 6d6d 6f6e 0f53 7973 7465 6d2e 4669 Common.System.Fi │ │ │ +00051030: 6c65 4c6f 636b 0f53 7973 7465 6d2e 4669 leLock.System.Fi │ │ │ +00051040: 6c65 5061 7468 1553 7973 7465 6d2e 4669 lePath.System.Fi │ │ │ +00051050: 6c65 5061 7468 2e50 6f73 6978 2347 4843 lePath.Posix#GHC │ │ │ +00051060: 2e49 6e74 6572 6e61 6c2e 436f 6e74 726f .Internal.Contro │ │ │ +00051070: 6c2e 4578 6365 7074 696f 6e2e 4261 7365 l.Exception.Base │ │ │ +00051080: 1a47 4843 2e49 6e74 6572 6e61 6c2e 436f .GHC.Internal.Co │ │ │ +00051090: 6e74 726f 6c2e 4d6f 6e61 641a 4748 432e ntrol.Monad.GHC. │ │ │ +000510a0: 496e 7465 726e 616c 2e44 6174 612e 466f Internal.Data.Fo │ │ │ +000510b0: 6c64 6162 6c65 1947 4843 2e49 6e74 6572 ldable.GHC.Inter │ │ │ +000510c0: 6e61 6c2e 4461 7461 2e46 756e 6374 6f72 nal.Data.Functor │ │ │ +000510d0: 1947 4843 2e49 6e74 6572 6e61 6c2e 4461 .GHC.Internal.Da │ │ │ +000510e0: 7461 2e4f 6c64 4c69 7374 1d47 4843 2e49 ta.OldList.GHC.I │ │ │ +000510f0: 6e74 6572 6e61 6c2e 4461 7461 2e54 7261 nternal.Data.Tra │ │ │ +00051100: 7665 7273 6162 6c65 0f47 4843 2e49 6e74 versable.GHC.Int │ │ │ +00051110: 6572 6e61 6c2e 494f 1b47 4843 2e49 6e74 ernal.IO.GHC.Int │ │ │ +00051120: 6572 6e61 6c2e 494f 2e48 616e 646c 652e ernal.IO.Handle. │ │ │ +00051130: 5465 7874 1a47 4843 2e49 6e74 6572 6e61 Text.GHC.Interna │ │ │ +00051140: 6c2e 494f 2e53 7464 4861 6e64 6c65 7311 l.IO.StdHandles. │ │ │ +00051150: 4748 432e 496e 7465 726e 616c 2e4c 6973 GHC.Internal.Lis │ │ │ +00051160: 7411 4748 432e 496e 7465 726e 616c 2e53 t.GHC.Internal.S │ │ │ +00051170: 686f 771f 4748 432e 496e 7465 726e 616c how.GHC.Internal │ │ │ +00051180: 2e53 7973 7465 6d2e 456e 7669 726f 6e6d .System.Environm │ │ │ +00051190: 656e 7409 4748 432e 5479 7065 73cc 002f ent.GHC.Types../ │ │ │ +000511a0: 7573 722f 6c69 622f 6768 632f 6c69 622f usr/lib/ghc/lib/ │ │ │ +000511b0: 2e2e 2f6c 6962 2f69 3338 362d 6c69 6e75 ../lib/i386-linu │ │ │ +000511c0: 782d 6768 632d 392e 3130 2e33 2f72 7473 x-ghc-9.10.3/rts │ │ │ +000511d0: 2d31 2e30 2e32 2f69 6e63 6c75 6465 2f67 -1.0.2/include/g │ │ │ +000511e0: 6863 7665 7273 696f 6e2e 6825 6469 7374 hcversion.h%dist │ │ │ +000511f0: 2d67 6863 2f62 7569 6c64 2f61 7574 6f67 -ghc/build/autog │ │ │ +00051200: 656e 2f63 6162 616c 5f6d 6163 726f 732e en/cabal_macros. │ │ │ +00051210: 681a 2f75 7372 2f69 6e63 6c75 6465 2f73 h./usr/include/s │ │ │ +00051220: 7464 632d 7072 6564 6566 2e68 2973 7263 tdc-predef.h)src │ │ │ +00051230: 2f64 6174 612f 4d41 6c6f 6e7a 6f2f 7372 /data/MAlonzo/sr │ │ │ +00051240: 632f 4d41 6c6f 6e7a 6f2f 5254 452f 466c c/MAlonzo/RTE/Fl │ │ │ +00051250: 6f61 742e 6873 2373 7263 2f64 6174 612f oat.hs#src/data/ │ │ │ +00051260: 4d41 6c6f 6e7a 6f2f 7372 632f 4d41 6c6f MAlonzo/src/MAlo │ │ │ +00051270: 6e7a 6f2f 5254 452e 6873 2d73 7263 2f64 nzo/RTE.hs-src/d │ │ │ +00051280: 6174 612f 6c69 622f 7072 696d 2f41 6764 ata/lib/prim/Agd │ │ │ +00051290: 612f 5072 696d 6974 6976 652f 4375 6269 a/Primitive/Cubi │ │ │ +000512a0: 6361 6c2e 6167 6461 2573 7263 2f64 6174 cal.agda%src/dat │ │ │ +000512b0: 612f 6c69 622f 7072 696d 2f41 6764 612f a/lib/prim/Agda/ │ │ │ +000512c0: 5072 696d 6974 6976 652e 6167 6461 3373 Primitive.agda3s │ │ │ +000512d0: 7263 2f64 6174 612f 6c69 622f 7072 696d rc/data/lib/prim │ │ │ +000512e0: 2f41 6764 612f 4275 696c 7469 6e2f 576f /Agda/Builtin/Wo │ │ │ +000512f0: 7264 2f50 726f 7065 7274 6965 732e 6167 rd/Properties.ag │ │ │ +00051300: 6461 2873 7263 2f64 6174 612f 6c69 622f da(src/data/lib/ │ │ │ +00051310: 7072 696d 2f41 6764 612f 4275 696c 7469 prim/Agda/Builti │ │ │ +00051320: 6e2f 576f 7264 2e61 6764 6128 7372 632f n/Word.agda(src/ │ │ │ +00051330: 6461 7461 2f6c 6962 2f70 7269 6d2f 4167 data/lib/prim/Ag │ │ │ +00051340: 6461 2f42 7569 6c74 696e 2f55 6e69 742e da/Builtin/Unit. │ │ │ +00051350: 6167 6461 2b73 7263 2f64 6174 612f 6c69 agda+src/data/li │ │ │ +00051360: 622f 7072 696d 2f41 6764 612f 4275 696c b/prim/Agda/Buil │ │ │ +00051370: 7469 6e2f 5472 7573 744d 652e 6167 6461 tin/TrustMe.agda │ │ │ +00051380: 3573 7263 2f64 6174 612f 6c69 622f 7072 5src/data/lib/pr │ │ │ +00051390: 696d 2f41 6764 612f 4275 696c 7469 6e2f im/Agda/Builtin/ │ │ │ +000513a0: 5374 7269 6e67 2f50 726f 7065 7274 6965 String/Propertie │ │ │ +000513b0: 732e 6167 6461 2a73 7263 2f64 6174 612f s.agda*src/data/ │ │ │ +000513c0: 6c69 622f 7072 696d 2f41 6764 612f 4275 lib/prim/Agda/Bu │ │ │ +000513d0: 696c 7469 6e2f 5374 7269 6e67 2e61 6764 iltin/String.agd │ │ │ +000513e0: 612a 7372 632f 6461 7461 2f6c 6962 2f70 a*src/data/lib/p │ │ │ +000513f0: 7269 6d2f 4167 6461 2f42 7569 6c74 696e rim/Agda/Builtin │ │ │ +00051400: 2f53 7472 6963 742e 6167 6461 2873 7263 /Strict.agda(src │ │ │ +00051410: 2f64 6174 612f 6c69 622f 7072 696d 2f41 /data/lib/prim/A │ │ │ +00051420: 6764 612f 4275 696c 7469 6e2f 5369 7a65 gda/Builtin/Size │ │ │ +00051430: 2e61 6764 6129 7372 632f 6461 7461 2f6c .agda)src/data/l │ │ │ +00051440: 6962 2f70 7269 6d2f 4167 6461 2f42 7569 ib/prim/Agda/Bui │ │ │ +00051450: 6c74 696e 2f53 6967 6d61 2e61 6764 6139 ltin/Sigma.agda9 │ │ │ +00051460: 7372 632f 6461 7461 2f6c 6962 2f70 7269 src/data/lib/pri │ │ │ +00051470: 6d2f 4167 6461 2f42 7569 6c74 696e 2f52 m/Agda/Builtin/R │ │ │ +00051480: 6566 6c65 6374 696f 6e2f 5072 6f70 6572 eflection/Proper │ │ │ +00051490: 7469 6573 2e61 6764 6137 7372 632f 6461 ties.agda7src/da │ │ │ +000514a0: 7461 2f6c 6962 2f70 7269 6d2f 4167 6461 ta/lib/prim/Agda │ │ │ +000514b0: 2f42 7569 6c74 696e 2f52 6566 6c65 6374 /Builtin/Reflect │ │ │ +000514c0: 696f 6e2f 4578 7465 726e 616c 2e61 6764 ion/External.agd │ │ │ +000514d0: 612e 7372 632f 6461 7461 2f6c 6962 2f70 a.src/data/lib/p │ │ │ +000514e0: 7269 6d2f 4167 6461 2f42 7569 6c74 696e rim/Agda/Builtin │ │ │ +000514f0: 2f52 6566 6c65 6374 696f 6e2e 6167 6461 /Reflection.agda │ │ │ +00051500: 2773 7263 2f64 6174 612f 6c69 622f 7072 'src/data/lib/pr │ │ │ +00051510: 696d 2f41 6764 612f 4275 696c 7469 6e2f im/Agda/Builtin/ │ │ │ +00051520: 4e61 742e 6167 6461 2973 7263 2f64 6174 Nat.agda)src/dat │ │ │ +00051530: 612f 6c69 622f 7072 696d 2f41 6764 612f a/lib/prim/Agda/ │ │ │ +00051540: 4275 696c 7469 6e2f 4d61 7962 652e 6167 Builtin/Maybe.ag │ │ │ +00051550: 6461 2873 7263 2f64 6174 612f 6c69 622f da(src/data/lib/ │ │ │ +00051560: 7072 696d 2f41 6764 612f 4275 696c 7469 prim/Agda/Builti │ │ │ +00051570: 6e2f 4c69 7374 2e61 6764 6127 7372 632f n/List.agda'src/ │ │ │ +00051580: 6461 7461 2f6c 6962 2f70 7269 6d2f 4167 data/lib/prim/Ag │ │ │ +00051590: 6461 2f42 7569 6c74 696e 2f49 6e74 2e61 da/Builtin/Int.a │ │ │ +000515a0: 6764 6126 7372 632f 6461 7461 2f6c 6962 gda&src/data/lib │ │ │ +000515b0: 2f70 7269 6d2f 4167 6461 2f42 7569 6c74 /prim/Agda/Built │ │ │ +000515c0: 696e 2f49 4f2e 6167 6461 2e73 7263 2f64 in/IO.agda.src/d │ │ │ +000515d0: 6174 612f 6c69 622f 7072 696d 2f41 6764 ata/lib/prim/Agd │ │ │ +000515e0: 612f 4275 696c 7469 6e2f 4672 6f6d 5374 a/Builtin/FromSt │ │ │ +000515f0: 7269 6e67 2e61 6764 612b 7372 632f 6461 ring.agda+src/da │ │ │ +00051600: 7461 2f6c 6962 2f70 7269 6d2f 4167 6461 ta/lib/prim/Agda │ │ │ +00051610: 2f42 7569 6c74 696e 2f46 726f 6d4e 6567 /Builtin/FromNeg │ │ │ +00051620: 2e61 6764 612b 7372 632f 6461 7461 2f6c .agda+src/data/l │ │ │ +00051630: 6962 2f70 7269 6d2f 4167 6461 2f42 7569 ib/prim/Agda/Bui │ │ │ +00051640: 6c74 696e 2f46 726f 6d4e 6174 2e61 6764 ltin/FromNat.agd │ │ │ +00051650: 6134 7372 632f 6461 7461 2f6c 6962 2f70 a4src/data/lib/p │ │ │ +00051660: 7269 6d2f 4167 6461 2f42 7569 6c74 696e rim/Agda/Builtin │ │ │ +00051670: 2f46 6c6f 6174 2f50 726f 7065 7274 6965 /Float/Propertie │ │ │ +00051680: 732e 6167 6461 2973 7263 2f64 6174 612f s.agda)src/data/ │ │ │ +00051690: 6c69 622f 7072 696d 2f41 6764 612f 4275 lib/prim/Agda/Bu │ │ │ +000516a0: 696c 7469 6e2f 466c 6f61 742e 6167 6461 iltin/Float.agda │ │ │ +000516b0: 3473 7263 2f64 6174 612f 6c69 622f 7072 4src/data/lib/pr │ │ │ +000516c0: 696d 2f41 6764 612f 4275 696c 7469 6e2f im/Agda/Builtin/ │ │ │ +000516d0: 4571 7561 6c69 7479 2f52 6577 7269 7465 Equality/Rewrite │ │ │ +000516e0: 2e61 6764 6132 7372 632f 6461 7461 2f6c .agda2src/data/l │ │ │ +000516f0: 6962 2f70 7269 6d2f 4167 6461 2f42 7569 ib/prim/Agda/Bui │ │ │ +00051700: 6c74 696e 2f45 7175 616c 6974 792f 4572 ltin/Equality/Er │ │ │ +00051710: 6173 652e 6167 6461 2c73 7263 2f64 6174 ase.agda,src/dat │ │ │ +00051720: 612f 6c69 622f 7072 696d 2f41 6764 612f a/lib/prim/Agda/ │ │ │ +00051730: 4275 696c 7469 6e2f 4571 7561 6c69 7479 Builtin/Equality │ │ │ +00051740: 2e61 6764 6132 7372 632f 6461 7461 2f6c .agda2src/data/l │ │ │ +00051750: 6962 2f70 7269 6d2f 4167 6461 2f42 7569 ib/prim/Agda/Bui │ │ │ +00051760: 6c74 696e 2f43 7562 6963 616c 2f48 436f ltin/Cubical/HCo │ │ │ +00051770: 6d70 552e 6167 6461 3173 7263 2f64 6174 mpU.agda1src/dat │ │ │ +00051780: 612f 6c69 622f 7072 696d 2f41 6764 612f a/lib/prim/Agda/ │ │ │ +00051790: 4275 696c 7469 6e2f 4375 6269 6361 6c2f Builtin/Cubical/ │ │ │ +000517a0: 4571 7569 762e 6167 6461 3073 7263 2f64 Equiv.agda0src/d │ │ │ +000517b0: 6174 612f 6c69 622f 7072 696d 2f41 6764 ata/lib/prim/Agd │ │ │ +000517c0: 612f 4275 696c 7469 6e2f 4375 6269 6361 a/Builtin/Cubica │ │ │ +000517d0: 6c2f 476c 7565 2e61 6764 612f 7372 632f l/Glue.agda/src/ │ │ │ +000517e0: 6461 7461 2f6c 6962 2f70 7269 6d2f 4167 data/lib/prim/Ag │ │ │ +000517f0: 6461 2f42 7569 6c74 696e 2f43 7562 6963 da/Builtin/Cubic │ │ │ +00051800: 616c 2f53 7562 2e61 6764 6130 7372 632f al/Sub.agda0src/ │ │ │ +00051810: 6461 7461 2f6c 6962 2f70 7269 6d2f 4167 data/lib/prim/Ag │ │ │ +00051820: 6461 2f42 7569 6c74 696e 2f43 7562 6963 da/Builtin/Cubic │ │ │ +00051830: 616c 2f50 6174 682e 6167 6461 2f73 7263 al/Path.agda/src │ │ │ +00051840: 2f64 6174 612f 6c69 622f 7072 696d 2f41 /data/lib/prim/A │ │ │ +00051850: 6764 612f 4275 696c 7469 6e2f 436f 696e gda/Builtin/Coin │ │ │ +00051860: 6475 6374 696f 6e2e 6167 6461 3373 7263 duction.agda3src │ │ │ +00051870: 2f64 6174 612f 6c69 622f 7072 696d 2f41 /data/lib/prim/A │ │ │ +00051880: 6764 612f 4275 696c 7469 6e2f 4368 6172 gda/Builtin/Char │ │ │ +00051890: 2f50 726f 7065 7274 6965 732e 6167 6461 /Properties.agda │ │ │ +000518a0: 2873 7263 2f64 6174 612f 6c69 622f 7072 (src/data/lib/pr │ │ │ +000518b0: 696d 2f41 6764 612f 4275 696c 7469 6e2f im/Agda/Builtin/ │ │ │ +000518c0: 4368 6172 2e61 6764 6128 7372 632f 6461 Char.agda(src/da │ │ │ +000518d0: 7461 2f6c 6962 2f70 7269 6d2f 4167 6461 ta/lib/prim/Agda │ │ │ +000518e0: 2f42 7569 6c74 696e 2f42 6f6f 6c2e 6167 /Builtin/Bool.ag │ │ │ +000518f0: 6461 2873 7263 2f64 6174 612f 6c69 622f da(src/data/lib/ │ │ │ +00051900: 7072 696d 2f61 6764 612d 6275 696c 7469 prim/agda-builti │ │ │ +00051910: 6e73 2e61 6764 612d 6c69 6223 7372 632f ns.agda-lib#src/ │ │ │ +00051920: 6461 7461 2f6c 6174 6578 2f70 6f73 7470 data/latex/postp │ │ │ +00051930: 726f 6365 7373 2d6c 6174 6578 2e70 6c17 rocess-latex.pl. │ │ │ +00051940: 7372 632f 6461 7461 2f6c 6174 6578 2f61 src/data/latex/a │ │ │ +00051950: 6764 612e 7374 791b 7372 632f 6461 7461 gda.sty.src/data │ │ │ +00051960: 2f4a 532f 6167 6461 2d72 7473 2e61 6d64 /JS/agda-rts.amd │ │ │ +00051970: 2e6a 7317 7372 632f 6461 7461 2f4a 532f .js.src/data/JS/ │ │ │ +00051980: 6167 6461 2d72 7473 2e6a 7318 7372 632f agda-rts.js.src/ │ │ │ +00051990: 6461 7461 2f4a 532f 6167 6461 2d72 7473 data/JS/agda-rts │ │ │ +000519a0: 2e6d 6a73 2073 7263 2f64 6174 612f 6874 .mjs src/data/ht │ │ │ +000519b0: 6d6c 2f68 6967 686c 6967 6874 2d68 6f76 ml/highlight-hov │ │ │ +000519c0: 6572 2e6a 7316 7372 632f 6461 7461 2f68 er.js.src/data/h │ │ │ +000519d0: 746d 6c2f 4167 6461 2e63 7373 2573 7263 tml/Agda.css%src │ │ │ +000519e0: 2f64 6174 612f 656d 6163 732d 6d6f 6465 /data/emacs-mode │ │ │ +000519f0: 2f61 6764 6132 2d6d 6f64 652d 706b 672e /agda2-mode-pkg. │ │ │ +00051a00: 656c 2173 7263 2f64 6174 612f 656d 6163 el!src/data/emac │ │ │ +00051a10: 732d 6d6f 6465 2f61 6764 6132 2d6d 6f64 s-mode/agda2-mod │ │ │ +00051a20: 652e 656c 2673 7263 2f64 6174 612f 656d e.el&src/data/em │ │ │ +00051a30: 6163 732d 6d6f 6465 2f61 6764 6132 2d68 acs-mode/agda2-h │ │ │ +00051a40: 6967 686c 6967 6874 2e65 6c21 7372 632f ighlight.el!src/ │ │ │ +00051a50: 6461 7461 2f65 6d61 6373 2d6d 6f64 652f data/emacs-mode/ │ │ │ +00051a60: 6167 6461 2d69 6e70 7574 2e65 6c1c 7372 agda-input.el.sr │ │ │ +00051a70: 632f 6461 7461 2f65 6d61 6373 2d6d 6f64 c/data/emacs-mod │ │ │ +00051a80: 652f 6167 6461 322e 656c 1a73 7263 2f64 e/agda2.el.src/d │ │ │ +00051a90: 6174 612f 656d 6163 732d 6d6f 6465 2f65 ata/emacs-mode/e │ │ │ +00051aa0: 7269 2e65 6c22 7372 632f 6461 7461 2f65 ri.el"src/data/e │ │ │ +00051ab0: 6d61 6373 2d6d 6f64 652f 6167 6461 322d macs-mode/agda2- │ │ │ +00051ac0: 7175 6575 652e 656c 2173 7263 2f64 6174 queue.el!src/dat │ │ │ +00051ad0: 612f 656d 6163 732d 6d6f 6465 2f61 6e6e a/emacs-mode/ann │ │ │ +00051ae0: 6f74 6174 696f 6e2e 656c 2473 7263 2f64 otation.el$src/d │ │ │ +00051af0: 6174 612f 656d 6163 732d 6d6f 6465 2f61 ata/emacs-mode/a │ │ │ +00051b00: 6764 6132 2d61 6262 7265 7673 2e65 6c29 gda2-abbrevs.el) │ │ │ +00051b10: 6469 7374 2d67 6863 2f62 7569 6c64 2f41 dist-ghc/build/A │ │ │ +00051b20: 6764 612f 5365 7475 702f 4461 7461 4669 gda/Setup/DataFi │ │ │ +00051b30: 6c65 732e 6479 6e5f 6fd7 002f 7573 722f les.dyn_o../usr/ │ │ │ +00051b40: 6c69 622f 6768 632f 6c69 622f 2e2e 2f6c lib/ghc/lib/../l │ │ │ +00051b50: 6962 2f69 3338 362d 6c69 6e75 782d 6768 ib/i386-linux-gh │ │ │ +00051b60: 632d 392e 3130 2e33 2f6c 6962 4853 6768 c-9.10.3/libHSgh │ │ │ +00051b70: 632d 7072 696d 2d30 2e31 322e 302d 696e c-prim-0.12.0-in │ │ │ +00051b80: 706c 6163 652d 6768 6339 2e31 302e 332e place-ghc9.10.3. │ │ │ +00051b90: 736f d600 2f75 7372 2f6c 6962 2f67 6863 so../usr/lib/ghc │ │ │ +00051ba0: 2f6c 6962 2f2e 2e2f 6c69 622f 6933 3836 /lib/../lib/i386 │ │ │ +00051bb0: 2d6c 696e 7578 2d67 6863 2d39 2e31 302e -linux-ghc-9.10. │ │ │ +00051bc0: 332f 6c69 6248 5367 6863 2d62 6967 6e75 3/libHSghc-bignu │ │ │ +00051bd0: 6d2d 312e 332d 696e 706c 6163 652d 6768 m-1.3-inplace-gh │ │ │ +00051be0: 6339 2e31 302e 332e 736f dd00 2f75 7372 c9.10.3.so../usr │ │ │ +00051bf0: 2f6c 6962 2f67 6863 2f6c 6962 2f2e 2e2f /lib/ghc/lib/../ │ │ │ +00051c00: 6c69 622f 6933 3836 2d6c 696e 7578 2d67 lib/i386-linux-g │ │ │ +00051c10: 6863 2d39 2e31 302e 332f 6c69 6248 5367 hc-9.10.3/libHSg │ │ │ +00051c20: 6863 2d69 6e74 6572 6e61 6c2d 392e 3130 hc-internal-9.10 │ │ │ +00051c30: 3033 2e30 2d69 6e70 6c61 6365 2d67 6863 03.0-inplace-ghc │ │ │ +00051c40: 392e 3130 2e33 2e73 6fd5 002f 7573 722f 9.10.3.so../usr/ │ │ │ +00051c50: 6c69 622f 6768 632f 6c69 622f 2e2e 2f6c lib/ghc/lib/../l │ │ │ +00051c60: 6962 2f69 3338 362d 6c69 6e75 782d 6768 ib/i386-linux-gh │ │ │ +00051c70: 632d 392e 3130 2e33 2f6c 6962 4853 6261 c-9.10.3/libHSba │ │ │ +00051c80: 7365 2d34 2e32 302e 322e 302d 696e 706c se-4.20.2.0-inpl │ │ │ +00051c90: 6163 652d 6768 6339 2e31 302e 332e 736f ace-ghc9.10.3.so │ │ │ +00051ca0: da00 2f75 7372 2f6c 6962 2f67 6863 2f6c ../usr/lib/ghc/l │ │ │ +00051cb0: 6962 2f2e 2e2f 6c69 622f 6933 3836 2d6c ib/../lib/i386-l │ │ │ +00051cc0: 696e 7578 2d67 6863 2d39 2e31 302e 332f inux-ghc-9.10.3/ │ │ │ +00051cd0: 6c69 6248 5367 6863 2d62 6f6f 742d 7468 libHSghc-boot-th │ │ │ +00051ce0: 2d39 2e31 302e 332d 696e 706c 6163 652d -9.10.3-inplace- │ │ │ +00051cf0: 6768 6339 2e31 302e 332e 736f d500 2f75 ghc9.10.3.so../u │ │ │ +00051d00: 7372 2f6c 6962 2f67 6863 2f6c 6962 2f2e sr/lib/ghc/lib/. │ │ │ +00051d10: 2e2f 6c69 622f 6933 3836 2d6c 696e 7578 ./lib/i386-linux │ │ │ +00051d20: 2d67 6863 2d39 2e31 302e 332f 6c69 6248 -ghc-9.10.3/libH │ │ │ +00051d30: 5361 7272 6179 2d30 2e35 2e38 2e30 2d69 Sarray-0.5.8.0-i │ │ │ +00051d40: 6e70 6c61 6365 2d67 6863 392e 3130 2e33 nplace-ghc9.10.3 │ │ │ +00051d50: 2e73 6fd7 002f 7573 722f 6c69 622f 6768 .so../usr/lib/gh │ │ │ +00051d60: 632f 6c69 622f 2e2e 2f6c 6962 2f69 3338 c/lib/../lib/i38 │ │ │ +00051d70: 362d 6c69 6e75 782d 6768 632d 392e 3130 6-linux-ghc-9.10 │ │ │ +00051d80: 2e33 2f6c 6962 4853 6465 6570 7365 712d .3/libHSdeepseq- │ │ │ +00051d90: 312e 352e 302e 302d 696e 706c 6163 652d 1.5.0.0-inplace- │ │ │ +00051da0: 6768 6339 2e31 302e 332e 736f d600 2f75 ghc9.10.3.so../u │ │ │ +00051db0: 7372 2f6c 6962 2f67 6863 2f6c 6962 2f2e sr/lib/ghc/lib/. │ │ │ +00051dc0: 2e2f 6c69 622f 6933 3836 2d6c 696e 7578 ./lib/i386-linux │ │ │ +00051dd0: 2d67 6863 2d39 2e31 302e 332f 6c69 6248 -ghc-9.10.3/libH │ │ │ +00051de0: 5370 7265 7474 792d 312e 312e 332e 362d Spretty-1.1.3.6- │ │ │ +00051df0: 696e 706c 6163 652d 6768 6339 2e31 302e inplace-ghc9.10. │ │ │ +00051e00: 332e 736f e100 2f75 7372 2f6c 6962 2f67 3.so../usr/lib/g │ │ │ +00051e10: 6863 2f6c 6962 2f2e 2e2f 6c69 622f 6933 hc/lib/../lib/i3 │ │ │ +00051e20: 3836 2d6c 696e 7578 2d67 6863 2d39 2e31 86-linux-ghc-9.1 │ │ │ +00051e30: 302e 332f 6c69 6248 5374 656d 706c 6174 0.3/libHStemplat │ │ │ +00051e40: 652d 6861 736b 656c 6c2d 322e 3232 2e30 e-haskell-2.22.0 │ │ │ +00051e50: 2e30 2d69 6e70 6c61 6365 2d67 6863 392e .0-inplace-ghc9. │ │ │ +00051e60: 3130 2e33 2e73 6fdb 002f 7573 722f 6c69 10.3.so../usr/li │ │ │ +00051e70: 622f 6768 632f 6c69 622f 2e2e 2f6c 6962 b/ghc/lib/../lib │ │ │ +00051e80: 2f69 3338 362d 6c69 6e75 782d 6768 632d /i386-linux-ghc- │ │ │ +00051e90: 392e 3130 2e33 2f6c 6962 4853 6279 7465 9.10.3/libHSbyte │ │ │ +00051ea0: 7374 7269 6e67 2d30 2e31 322e 322e 302d string-0.12.2.0- │ │ │ +00051eb0: 696e 706c 6163 652d 6768 6339 2e31 302e inplace-ghc9.10. │ │ │ +00051ec0: 332e 736f 0a7b 2d23 2049 4e4c 494e 4505 3.so.{-# INLINE. │ │ │ +00051ed0: 666f 7263 6501 7303 6473 3103 6970 7604 force.s.ds1.ipv. │ │ │ +00051ee0: 6970 7631 0764 6f53 6574 7570 0273 3102 ipv1.doSetup.s1. │ │ │ +00051ef0: 6473 0469 7076 3204 6970 7633 0477 696c ds.ipv2.ipv3.wil │ │ │ +00051f00: 6402 7777 0364 7332 0469 7076 3404 6970 d.ww.ds2.ipv4.ip │ │ │ +00051f10: 7635 046c 6f63 6b02 7332 0364 7333 0469 v5.lock.s2.ds3.i │ │ │ +00051f20: 7076 3604 6970 7637 0364 7334 0469 7076 pv6.ipv7.ds4.ipv │ │ │ +00051f30: 3804 6970 7639 0b63 6f77 7261 705f 756e 8.ipv9.cowrap_un │ │ │ +00051f40: 6278 0475 6e62 7805 5f6c 6f63 6b03 6574 bx.unbx._lock.et │ │ │ +00051f50: 6103 676f 3104 6574 6131 0577 696c 6431 a.go1.eta1.wild1 │ │ │ +00051f60: 0179 0279 7305 7769 6c64 320c 7265 6c61 .y.ys.wild2.rela │ │ │ +00051f70: 7469 7665 5061 7468 0763 6f6e 7465 6e74 tivePath.content │ │ │ +00051f80: 0577 696c 6433 0377 7731 0377 7732 0577 .wild3.ww1.ww2.w │ │ │ +00051f90: 696c 6434 0364 7335 0364 7336 0364 6972 ild4.ds5.ds6.dir │ │ │ +00051fa0: 0b72 656c 6174 6976 6544 6972 0466 696c .relativeDir.fil │ │ │ +00051fb0: 6504 7061 7468 0176 0465 7461 3203 6473 e.path.v.eta2.ds │ │ │ +00051fc0: 3705 6970 7631 3005 6970 7631 3103 6473 7.ipv10.ipv11.ds │ │ │ +00051fd0: 3805 6970 7631 3205 6970 7631 3306 6473 8.ipv12.ipv13.ds │ │ │ +00051fe0: 7461 7465 0665 7374 6174 6501 7804 7369 tate.estate.x.si │ │ │ +00051ff0: 7a65 0562 6172 7223 0362 7566 0273 2705 ze.barr#.buf.s'. │ │ │ +00052000: 6970 7631 3405 6970 7631 3501 6602 6531 ipv14.ipv15.f.e1 │ │ │ +00052010: 0265 320c 2464 4578 6365 7074 696f 6e31 .e2.$dException1 │ │ │ +00052020: 0524 6449 5034 0265 3302 636f 0d67 6574 .$dIP4.e3.co.get │ │ │ +00052030: 4167 6461 4170 7044 6972 0f67 6574 4461 AgdaAppDir.getDa │ │ │ +00052040: 7461 4669 6c65 4e61 6d65 0573 6574 7570 taFileName.setup │ │ │ +00052050: 0924 7472 4d6f 6475 6c65 064d 6f64 756c .$trModule.Modul │ │ │ +00052060: 650a 2474 724d 6f64 756c 6533 0a24 7472 e.$trModule3.$tr │ │ │ +00052070: 4d6f 6475 6c65 3107 5472 4e61 6d65 530a Module1.TrNameS. │ │ │ +00052080: 2474 724d 6f64 756c 6532 0a24 7472 4d6f $trModule2.$trMo │ │ │ +00052090: 6475 6c65 3407 2477 7365 7475 700b 6765 dule4.$wsetup.ge │ │ │ +000520a0: 7444 6174 6144 6972 3121 5379 7374 656d tDataDir1!System │ │ │ +000520b0: 2e4f 7353 7472 696e 672e 456e 636f 6469 .OsString.Encodi │ │ │ +000520c0: 6e67 2e49 6e74 6572 6e61 6c14 656e 636f ng.Internal.enco │ │ │ +000520d0: 6465 5769 7468 4261 7365 506f 7369 7832 deWithBasePosix2 │ │ │ +000520e0: 0f53 686f 7274 4279 7465 5374 7269 6e67 .ShortByteString │ │ │ +000520f0: 0f70 6163 6b43 5374 7269 6e67 4c65 6e31 .packCStringLen1 │ │ │ +00052100: 1c47 4843 2e49 6e74 6572 6e61 6c2e 466f .GHC.Internal.Fo │ │ │ +00052110: 7265 6967 6e2e 432e 5479 7065 7305 4343 reign.C.Types.CC │ │ │ +00052120: 6861 7204 4e3a 494f 114e 3a53 686f 7274 har.N:IO.N:Short │ │ │ +00052130: 4279 7465 5374 7269 6e67 0942 7974 6541 ByteString.ByteA │ │ │ +00052140: 7272 6179 1753 7973 7465 6d2e 4469 7265 rray.System.Dire │ │ │ +00052150: 6374 6f72 792e 4f73 5061 7468 1a24 7763 ctory.OsPath.$wc │ │ │ +00052160: 7265 6174 6544 6972 6563 746f 7279 4966 reateDirectoryIf │ │ │ +00052170: 4d69 7373 696e 6708 4669 6c65 5061 7468 Missing.FilePath │ │ │ +00052180: 0763 6f6d 6269 6e65 0873 6574 7570 3136 .combine.setup16 │ │ │ +00052190: 3908 6272 6163 6b65 7431 0846 696c 654c 9.bracket1.FileL │ │ │ +000521a0: 6f63 6b1e 5379 7374 656d 2e46 696c 654c ock.System.FileL │ │ │ +000521b0: 6f63 6b2e 496e 7465 726e 616c 2e46 6c6f ock.Internal.Flo │ │ │ +000521c0: 636b 056c 6f63 6b31 1f47 4843 2e49 6e74 ck.lock1.GHC.Int │ │ │ +000521d0: 6572 6e61 6c2e 5379 7374 656d 2e50 6f73 ernal.System.Pos │ │ │ +000521e0: 6978 2e54 7970 6573 044e 3a46 6406 4e3a ix.Types.N:Fd.N: │ │ │ +000521f0: 4349 6e74 1047 4843 2e49 6e74 6572 6e61 CInt.GHC.Interna │ │ │ +00052200: 6c2e 496e 7404 4933 3223 044c 6f63 6b0b l.Int.I32#.Lock. │ │ │ +00052210: 756e 6c6f 636b 4669 6c65 310a 4279 7465 unlockFile1.Byte │ │ │ +00052220: 5374 7269 6e67 0524 7767 6f32 0d64 726f String.$wgo2.dro │ │ │ +00052230: 7046 696c 654e 616d 6531 1947 4843 2e49 pFileName1.GHC.I │ │ │ +00052240: 6e74 6572 6e61 6c2e 494f 2e48 616e 646c nternal.IO.Handl │ │ │ +00052250: 652e 4644 0f77 6974 6842 696e 6172 7946 e.FD.withBinaryF │ │ │ +00052260: 696c 6531 1647 4843 2e49 6e74 6572 6e61 ile1.GHC.Interna │ │ │ +00052270: 6c2e 494f 2e49 4f4d 6f64 6509 5772 6974 l.IO.IOMode.Writ │ │ │ +00052280: 654d 6f64 651c 4748 432e 496e 7465 726e eMode.GHC.Intern │ │ │ +00052290: 616c 2e49 4f2e 4861 6e64 6c65 2e54 7970 al.IO.Handle.Typ │ │ │ +000522a0: 6573 0648 616e 646c 650b 6170 7065 6e64 es.Handle.append │ │ │ +000522b0: 4669 6c65 3208 6850 7574 5374 7232 0673 File2.hPutStr2.s │ │ │ +000522c0: 7464 6572 7208 7365 7475 7031 3638 0f65 tderr.setup168.e │ │ │ +000522d0: 6d62 6564 6465 6444 6174 6144 6972 0b49 mbeddedDataDir.I │ │ │ +000522e0: 4f45 7863 6570 7469 6f6e 1b47 4843 2e49 OException.GHC.I │ │ │ +000522f0: 6e74 6572 6e61 6c2e 4578 6365 7074 696f nternal.Exceptio │ │ │ +00052300: 6e2e 5479 7065 0d53 6f6d 6545 7863 6570 n.Type.SomeExcep │ │ │ +00052310: 7469 6f6e 1475 6e69 782d 322e 382e 372e tion.unix-2.8.7. │ │ │ +00052320: 302d 696e 706c 6163 651e 5379 7374 656d 0-inplace.System │ │ │ +00052330: 2e50 6f73 6978 2e46 696c 6573 2e50 6f73 .Posix.Files.Pos │ │ │ +00052340: 6978 5374 7269 6e67 0b72 656d 6f76 654c ixString.removeL │ │ │ +00052350: 696e 6b31 0d4e 3a50 6f73 6978 5374 7269 ink1.N:PosixStri │ │ │ +00052360: 6e67 1847 4843 2e49 6e74 6572 6e61 6c2e ng.GHC.Internal. │ │ │ +00052370: 4461 7461 2e45 6974 6865 7205 5269 6768 Data.Either.Righ │ │ │ +00052380: 7406 7365 7475 7032 1963 7265 6174 6544 t.setup2.createD │ │ │ +00052390: 6972 6563 746f 7279 4966 4d69 7373 696e irectoryIfMissin │ │ │ +000523a0: 6736 0a4e 3a4f 7353 7472 696e 6713 646f g6.N:OsString.do │ │ │ +000523b0: 6573 4469 7265 6374 6f72 7945 7869 7374 esDirectoryExist │ │ │ +000523c0: 3206 7365 7475 7033 0e67 6574 4167 6461 2.setup3.getAgda │ │ │ +000523d0: 4170 7044 6972 311e 4748 432e 496e 7465 AppDir1.GHC.Inte │ │ │ +000523e0: 726e 616c 2e49 4f2e 456e 636f 6469 6e67 rnal.IO.Encoding │ │ │ +000523f0: 2e54 7970 6573 0c54 6578 7445 6e63 6f64 .Types.TextEncod │ │ │ +00052400: 696e 6718 4748 432e 496e 7465 726e 616c ing.GHC.Internal │ │ │ +00052410: 2e49 4f2e 456e 636f 6469 6e67 1267 6574 .IO.Encoding.get │ │ │ +00052420: 466f 7265 6967 6e45 6e63 6f64 696e 6726 ForeignEncoding& │ │ │ +00052430: 4748 432e 496e 7465 726e 616c 2e46 6f72 GHC.Internal.For │ │ │ +00052440: 6569 676e 2e43 2e53 7472 696e 672e 456e eign.C.String.En │ │ │ +00052450: 636f 6469 6e67 0d24 7777 6974 6843 5374 coding.$wwithCSt │ │ │ +00052460: 7269 6e67 0e67 6574 4167 6461 4170 7044 ring.getAgdaAppD │ │ │ +00052470: 6972 3907 6765 7445 6e76 3307 4353 7472 ir9.getEnv3.CStr │ │ │ +00052480: 696e 670e 6765 7441 6764 6141 7070 4469 ing.getAgdaAppDi │ │ │ +00052490: 7236 0e67 6574 4167 6461 4170 7044 6972 r6.getAgdaAppDir │ │ │ +000524a0: 3507 2b2b 5f24 732b 2b11 2466 5368 6f77 5.++_$s++.$fShow │ │ │ +000524b0: 4361 6c6c 5374 6163 6b31 340d 7368 6f77 CallStack14.show │ │ │ +000524c0: 4c69 7453 7472 696e 670b 2466 5368 6f77 LitString.$fShow │ │ │ +000524d0: 4c69 7374 310e 6765 7441 6764 6141 7070 List1.getAgdaApp │ │ │ +000524e0: 4469 7234 0e67 6574 4167 6461 4170 7044 Dir4.getAgdaAppD │ │ │ +000524f0: 6972 3211 6361 6e6f 6e69 6361 6c69 7a65 ir2.canonicalize │ │ │ +00052500: 5061 7468 310f 6765 7441 6764 6141 7070 Path1.getAgdaApp │ │ │ +00052510: 4469 7231 300e 6765 7441 6764 6141 7070 Dir10.getAgdaApp │ │ │ +00052520: 4469 7233 0e67 6574 4167 6461 4170 7044 Dir3.getAgdaAppD │ │ │ +00052530: 6972 3713 5379 7374 656d 2e4f 7350 6174 ir7.System.OsPat │ │ │ +00052540: 682e 5479 7065 7306 4f73 5061 7468 1f53 h.Types.OsPath.S │ │ │ +00052550: 7973 7465 6d2e 4469 7265 6374 6f72 792e ystem.Directory. │ │ │ +00052560: 496e 7465 726e 616c 2e50 6f73 6978 2067 Internal.Posix g │ │ │ +00052570: 6574 4170 7055 7365 7244 6174 6144 6972 etAppUserDataDir │ │ │ +00052580: 6563 746f 7279 496e 7465 726e 616c 3118 ectoryInternal1. │ │ │ +00052590: 6765 7441 7070 5573 6572 4461 7461 4469 getAppUserDataDi │ │ │ +000525a0: 7265 6374 6f72 7932 1464 6563 6f64 6557 rectory2.decodeW │ │ │ +000525b0: 6974 6842 6173 6550 6f73 6978 3210 4748 ithBasePosix2.GH │ │ │ +000525c0: 432e 496e 7465 726e 616c 2e50 7472 0350 C.Internal.Ptr.P │ │ │ +000525d0: 7472 1067 6574 5864 6744 6972 6563 746f tr.getXdgDirecto │ │ │ +000525e0: 7279 3109 5864 6743 6f6e 6669 6714 6465 ry1.XdgConfig.de │ │ │ +000525f0: 636f 6465 5769 7468 4261 7365 506f 7369 codeWithBasePosi │ │ │ +00052600: 7831 0e67 6574 4167 6461 4170 7044 6972 x1.getAgdaAppDir │ │ │ +00052610: 380b 6765 7444 6174 6144 6972 330b 6765 8.getDataDir3.ge │ │ │ +00052620: 7444 6174 6144 6972 350b 6765 7444 6174 tDataDir5.getDat │ │ │ +00052630: 6144 6972 320b 6765 7444 6174 6144 6972 aDir2.getDataDir │ │ │ +00052640: 3410 6765 7444 6174 6146 696c 654e 616d 4.getDataFileNam │ │ │ +00052650: 6531 0673 6574 7570 3107 7365 7475 7031 e1.setup1.setup1 │ │ │ +00052660: 3008 7365 7475 7031 3532 0773 6574 7570 0.setup152.setup │ │ │ +00052670: 3131 0873 6574 7570 3130 3002 4253 0873 11.setup100.BS.s │ │ │ +00052680: 6574 7570 3130 3117 4748 432e 496e 7465 etup101.GHC.Inte │ │ │ +00052690: 726e 616c 2e46 6f72 6569 676e 5074 7208 rnal.ForeignPtr. │ │ │ +000526a0: 4669 6e61 6c50 7472 0873 6574 7570 3130 FinalPtr.setup10 │ │ │ +000526b0: 3208 7365 7475 7031 3033 0873 6574 7570 2.setup103.setup │ │ │ +000526c0: 3130 3408 7365 7475 7031 3035 0873 6574 104.setup105.set │ │ │ +000526d0: 7570 3130 3608 7365 7475 7031 3037 0873 up106.setup107.s │ │ │ +000526e0: 6574 7570 3130 3808 7365 7475 7031 3039 etup108.setup109 │ │ │ +000526f0: 0873 6574 7570 3135 3007 7365 7475 7031 .setup150.setup1 │ │ │ +00052700: 3208 7365 7475 7031 3130 0873 6574 7570 2.setup110.setup │ │ │ +00052710: 3131 3108 7365 7475 7031 3132 0873 6574 111.setup112.set │ │ │ +00052720: 7570 3131 3308 7365 7475 7031 3134 0873 up113.setup114.s │ │ │ +00052730: 6574 7570 3131 3508 7365 7475 7031 3136 etup115.setup116 │ │ │ +00052740: 0873 6574 7570 3131 3708 7365 7475 7031 .setup117.setup1 │ │ │ +00052750: 3138 0873 6574 7570 3131 3908 7365 7475 18.setup119.setu │ │ │ +00052760: 7031 3438 0773 6574 7570 3133 0873 6574 p148.setup13.set │ │ │ +00052770: 7570 3132 3008 7365 7475 7031 3231 0873 up120.setup121.s │ │ │ +00052780: 6574 7570 3132 3208 7365 7475 7031 3233 etup122.setup123 │ │ │ +00052790: 0873 6574 7570 3132 3408 7365 7475 7031 .setup124.setup1 │ │ │ +000527a0: 3235 0873 6574 7570 3132 3608 7365 7475 25.setup126.setu │ │ │ +000527b0: 7031 3237 0873 6574 7570 3132 3808 7365 p127.setup128.se │ │ │ +000527c0: 7475 7031 3239 0873 6574 7570 3134 3607 tup129.setup146. │ │ │ +000527d0: 7365 7475 7031 3408 7365 7475 7031 3330 setup14.setup130 │ │ │ +000527e0: 0873 6574 7570 3133 3108 7365 7475 7031 .setup131.setup1 │ │ │ +000527f0: 3332 0873 6574 7570 3133 3308 7365 7475 32.setup133.setu │ │ │ +00052800: 7031 3334 0873 6574 7570 3133 3508 7365 p134.setup135.se │ │ │ +00052810: 7475 7031 3336 0873 6574 7570 3133 3708 tup136.setup137. │ │ │ +00052820: 7365 7475 7031 3338 0873 6574 7570 3133 setup138.setup13 │ │ │ +00052830: 3908 7365 7475 7031 3434 0773 6574 7570 9.setup144.setup │ │ │ +00052840: 3135 0873 6574 7570 3134 3008 7365 7475 15.setup140.setu │ │ │ +00052850: 7031 3431 0873 6574 7570 3134 3208 7365 p141.setup142.se │ │ │ +00052860: 7475 7031 3433 0873 6574 7570 3134 3508 tup143.setup145. │ │ │ +00052870: 7365 7475 7031 3437 0873 6574 7570 3134 setup147.setup14 │ │ │ +00052880: 3907 7365 7475 7031 3608 7365 7475 7031 9.setup16.setup1 │ │ │ +00052890: 3531 0873 6574 7570 3135 3308 7365 7475 51.setup153.setu │ │ │ +000528a0: 7031 3534 0873 6574 7570 3135 3508 7365 p154.setup155.se │ │ │ +000528b0: 7475 7031 3536 0873 6574 7570 3135 3708 tup156.setup157. │ │ │ +000528c0: 7365 7475 7031 3538 0873 6574 7570 3135 setup158.setup15 │ │ │ +000528d0: 3907 7365 7475 7031 3708 7365 7475 7031 9.setup17.setup1 │ │ │ +000528e0: 3630 0873 6574 7570 3136 3108 7365 7475 60.setup161.setu │ │ │ +000528f0: 7031 3632 0873 6574 7570 3136 3308 7365 p162.setup163.se │ │ │ +00052900: 7475 7031 3634 0873 6574 7570 3136 3508 tup164.setup165. │ │ │ +00052910: 7365 7475 7031 3636 0873 6574 7570 3136 setup166.setup16 │ │ │ +00052920: 3716 696e 7465 7263 616c 6174 655f 2473 7.intercalate_$s │ │ │ +00052930: 706f 6c79 5f67 6f31 0873 6574 7570 3137 poly_go1.setup17 │ │ │ +00052940: 3408 7365 7475 7031 3730 0773 6574 7570 4.setup170.setup │ │ │ +00052950: 3138 0c70 7265 7065 6e64 546f 416c 6c08 18.prependToAll. │ │ │ +00052960: 7365 7475 7031 3732 0873 6574 7570 3137 setup172.setup17 │ │ │ +00052970: 3107 7665 7273 696f 6e08 7365 7475 7031 1.version.setup1 │ │ │ +00052980: 3733 0873 6574 7570 3137 3507 7365 7475 73.setup175.setu │ │ │ +00052990: 7031 3907 7365 7475 7032 3023 4748 432e p19.setup20#GHC. │ │ │ +000529a0: 496e 7465 726e 616c 2e44 6174 612e 5479 Internal.Data.Ty │ │ │ +000529b0: 7065 6162 6c65 2e49 6e74 6572 6e61 6c0b peable.Internal. │ │ │ +000529c0: 7361 6d65 5479 7065 5265 700c 2470 3145 sameTypeRep.$p1E │ │ │ +000529d0: 7863 6570 7469 6f6e 0a4e 3a54 7970 6561 xception.N:Typea │ │ │ +000529e0: 626c 6517 2466 4578 6365 7074 696f 6e49 ble.$fExceptionI │ │ │ +000529f0: 4f45 7863 6570 7469 6f6e 341f 4748 432e OException4.GHC. │ │ │ +00052a00: 496e 7465 726e 616c 2e44 6174 612e 5479 Internal.Data.Ty │ │ │ +00052a10: 7065 2e45 7175 616c 6974 7904 3a7e 7e3a pe.Equality.:~~: │ │ │ +00052a20: 044c 6566 7407 7365 7475 7032 3107 7365 .Left.setup21.se │ │ │ +00052a30: 7475 7032 3207 7365 7475 7032 3307 7365 tup22.setup23.se │ │ │ +00052a40: 7475 7032 3407 7365 7475 7032 3507 7365 tup24.setup25.se │ │ │ +00052a50: 7475 7032 3607 7365 7475 7032 3707 7365 tup26.setup27.se │ │ │ +00052a60: 7475 7032 3807 7365 7475 7032 3907 7365 tup28.setup29.se │ │ │ +00052a70: 7475 7033 3006 7365 7475 7034 0773 6574 tup30.setup4.set │ │ │ +00052a80: 7570 3331 0773 6574 7570 3332 0773 6574 up31.setup32.set │ │ │ +00052a90: 7570 3333 0773 6574 7570 3334 0773 6574 up33.setup34.set │ │ │ +00052aa0: 7570 3335 0773 6574 7570 3336 0773 6574 up35.setup36.set │ │ │ +00052ab0: 7570 3337 0773 6574 7570 3938 0773 6574 up37.setup98.set │ │ │ +00052ac0: 7570 3338 0773 6574 7570 3936 0773 6574 up38.setup96.set │ │ │ +00052ad0: 7570 3339 0773 6574 7570 3934 0773 6574 up39.setup94.set │ │ │ +00052ae0: 7570 3430 0673 6574 7570 3507 7365 7475 up40.setup5.setu │ │ │ +00052af0: 7039 3207 7365 7475 7034 3107 7365 7475 p92.setup41.setu │ │ │ +00052b00: 7039 3007 7365 7475 7034 3207 7365 7475 p90.setup42.setu │ │ │ +00052b10: 7038 3807 7365 7475 7034 3307 7365 7475 p88.setup43.setu │ │ │ +00052b20: 7038 3607 7365 7475 7034 3407 7365 7475 p86.setup44.setu │ │ │ +00052b30: 7038 3407 7365 7475 7034 3507 7365 7475 p84.setup45.setu │ │ │ +00052b40: 7038 3207 7365 7475 7034 3607 7365 7475 p82.setup46.setu │ │ │ +00052b50: 7038 3007 7365 7475 7034 3707 7365 7475 p80.setup47.setu │ │ │ +00052b60: 7037 3807 7365 7475 7034 3807 7365 7475 p78.setup48.setu │ │ │ +00052b70: 7037 3607 7365 7475 7034 3907 7365 7475 p76.setup49.setu │ │ │ +00052b80: 7037 3407 7365 7475 7035 3006 7365 7475 p74.setup50.setu │ │ │ +00052b90: 7036 0773 6574 7570 3732 0773 6574 7570 p6.setup72.setup │ │ │ +00052ba0: 3531 0773 6574 7570 3730 0773 6574 7570 51.setup70.setup │ │ │ +00052bb0: 3532 0773 6574 7570 3638 0773 6574 7570 52.setup68.setup │ │ │ +00052bc0: 3533 0773 6574 7570 3636 0773 6574 7570 53.setup66.setup │ │ │ +00052bd0: 3534 0773 6574 7570 3634 0773 6574 7570 54.setup64.setup │ │ │ +00052be0: 3535 0773 6574 7570 3632 0773 6574 7570 55.setup62.setup │ │ │ +00052bf0: 3536 0773 6574 7570 3630 0773 6574 7570 56.setup60.setup │ │ │ +00052c00: 3537 0773 6574 7570 3538 0773 6574 7570 57.setup58.setup │ │ │ +00052c10: 3539 0673 6574 7570 3707 7365 7475 7036 59.setup7.setup6 │ │ │ +00052c20: 3107 7365 7475 7036 3307 7365 7475 7036 1.setup63.setup6 │ │ │ +00052c30: 3507 7365 7475 7036 3707 7365 7475 7036 5.setup67.setup6 │ │ │ +00052c40: 3906 7365 7475 7038 0773 6574 7570 3731 9.setup8.setup71 │ │ │ +00052c50: 0773 6574 7570 3733 0773 6574 7570 3735 .setup73.setup75 │ │ │ +00052c60: 0773 6574 7570 3737 0773 6574 7570 3739 .setup77.setup79 │ │ │ +00052c70: 0673 6574 7570 3907 7365 7475 7038 3107 .setup9.setup81. │ │ │ +00052c80: 7365 7475 7038 3307 7365 7475 7038 3507 setup83.setup85. │ │ │ +00052c90: 7365 7475 7038 3707 7365 7475 7038 3907 setup87.setup89. │ │ │ +00052ca0: 7365 7475 7039 3107 7365 7475 7039 3307 setup91.setup93. │ │ │ +00052cb0: 7365 7475 7039 3507 7365 7475 7039 3707 setup95.setup97. │ │ │ +00052cc0: 7365 7475 7039 3900 setup99. │ │ ├── ./usr/lib/haskell-packages/ghc/lib/i386-linux-ghc-9.10.3-inplace/Agda-2.8.0-KuAEKDRG5wsFRdA5w8sGLC/Agda/Setup.hi │ │ │ @@ -1,21197 +1,21197 @@ │ │ │ 00000000: 0001 face 0439 3130 3300 9eb5 b6eb e1f4 .....9103....... │ │ │ 00000010: fc9d a101 f1ff a69a f8ee b6d8 0100 052c ..............., │ │ │ -00000020: c500 0508 7100 0501 e700 0001 0000 94a4 ....q........... │ │ │ -00000030: 80d7 d29e a8eb 7ac4 dcbd c697 ca80 e940 ......z........@ │ │ │ -00000040: 8dfc fcc5 d98d 87a3 c401 db85 a191 ecc5 ................ │ │ │ -00000050: ae91 7f80 fd80 f1e9 a0b1 92f0 01d8 e181 ................ │ │ │ -00000060: d3e1 deea 84f4 0185 ccbe b3c3 ebac d485 ................ │ │ │ -00000070: 01ba 9b93 dd82 f1c0 ff54 89c1 b6f0 dfb5 .........T...... │ │ │ -00000080: a1dc 9301 f1be d6fe 8492 8dfb cd01 c9c2 ................ │ │ │ -00000090: c7b5 ad82 908b ad01 87c0 cc88 8bab a79a ................ │ │ │ -000000a0: 4200 0000 0001 5703 0002 0000 0300 0004 B.....W......... │ │ │ -000000b0: 0006 0506 0708 090a 0000 0000 0a00 0b0c ................ │ │ │ -000000c0: 000b 0d00 0e0f 0010 1100 1213 0012 1400 ................ │ │ │ -000000d0: 1215 0012 1600 1217 0012 1829 0000 1900 ...........).... │ │ │ -000000e0: 051a 0005 1b00 051c 0005 1d00 051e 0005 ................ │ │ │ -000000f0: 1f00 0520 0006 2100 0622 0006 2300 2425 ... ..!.."..#.$% │ │ │ -00000100: 0026 2700 2628 000b 2900 0b2a 000b 2b00 .&'.&(..)..*..+. │ │ │ -00000110: 0b2c 000b 2d00 0b2e 000b 2f00 0b30 000b .,..-...../..0.. │ │ │ -00000120: 3100 0b32 000b 3300 0b34 0035 3600 3738 1..2..3..4.56.78 │ │ │ -00000130: 0037 3900 0a3a 003b 3c00 3b3d 003b 3e00 .79..:.;<.;=.;>. │ │ │ -00000140: 3b3f 003b 4000 3b41 003b 4200 3b43 003b ;?.;@.;A.;B.;C.; │ │ │ -00000150: 4400 3b45 003b 4600 000b 41e6 0001 0200 D.;E.;F...A..... │ │ │ -00000160: a6bc c1b1 c993 c882 04e6 b292 acb1 b98e ................ │ │ │ -00000170: 9e58 01cf e1d7 b4fd fc81 8ad4 01bb ceb7 .X.............. │ │ │ -00000180: e6a6 bbd8 8d1c 0200 47dc b9e0 c0b1 8bc8 ........G....... │ │ │ -00000190: 84d3 01b4 bdde d6cc 83ff cf86 0100 48d5 ..............H. │ │ │ -000001a0: cafd b9ae fa9c f04c edd5 bb8a e1ae 95cb .......L........ │ │ │ -000001b0: 4f00 0103 008b e4be d5d5 8ac0 fcb0 01e8 O............... │ │ │ -000001c0: 81ed bbdb c7de ddbe 0101 d386 beff 87f2 ................ │ │ │ -000001d0: e9bb 8d01 809b a1b2 93f3 b1d1 7801 0049 ............x..I │ │ │ -000001e0: a8c1 c3f1 d0c6 e1da cf01 f98e bfe0 e5ee ................ │ │ │ -000001f0: 8cc4 af01 0001 0400 98cf f1d1 93ed a9be ................ │ │ │ -00000200: 07a4 a686 81d1 86fb fdf7 0101 8bba 89a2 ................ │ │ │ -00000210: c5be fb98 0fda f0fd c1b9 f4a9 c72c 0100 .............,.. │ │ │ -00000220: 4aa5 e3a6 9a8d d493 9550 d19c 82ce fcc5 J........P...... │ │ │ -00000230: e9d8 2800 0000 054b c6f8 f6d3 99e5 ddbc ..(....K........ │ │ │ -00000240: bd01 aabb 85a1 d694 8d82 fc01 0000 0005 ................ │ │ │ -00000250: 4c98 ac82 b79f b9af f184 01c8 ed9b 939b L............... │ │ │ -00000260: c4c6 b40f 0000 0005 4dc8 e6a1 f687 a69a ........M....... │ │ │ -00000270: a320 d8b6 a7b2 e7c9 eced 9301 0000 0005 . .............. │ │ │ -00000280: 4eb6 aeed 8efd bdea 9539 f6dc 8fcd 979f N........9...... │ │ │ -00000290: c3f8 0900 0000 054f e3d8 9697 8cbd fe8f .......O........ │ │ │ -000002a0: 1afd f0d6 b8a2 bead ea20 0000 0005 508b ......... ....P. │ │ │ -000002b0: 86d3 aef4 ad98 f0b4 01c5 f0f8 c983 e2fc ................ │ │ │ -000002c0: bd0b 0000 0005 51d0 b5f3 b0be 83cd e682 ......Q......... │ │ │ -000002d0: 01ad a3c3 eaa7 ecac 8d59 0000 0006 52dc .........Y....R. │ │ │ -000002e0: d2f9 fcb1 a896 9496 0194 db91 9bdc eccb ................ │ │ │ -000002f0: daa1 0100 0000 0621 eed0 c8bb 8582 fbd6 .......!........ │ │ │ -00000300: a201 d288 d5b2 cca5 e1a6 3000 0000 0753 ..........0....S │ │ │ -00000310: a89f aa87 adab e7f4 05b2 d9b2 d3b7 a48f ................ │ │ │ -00000320: ec7e 0000 0007 54a5 e7ea ddce cb88 b6bc .~....T......... │ │ │ -00000330: 01cf 8e88 8ea2 b7b7 e9ab 0100 0000 0855 ...............U │ │ │ -00000340: efc7 e296 b0f9 8ecb a901 97f6 9fd7 b885 ................ │ │ │ -00000350: 9bbe 3900 0000 0956 cfc5 f1cd ee8e cbd2 ..9....V........ │ │ │ -00000360: 38a6 f095 a3f6 caed dd8a 0100 0000 0957 8..............W │ │ │ -00000370: e885 8bda c0de b8e4 03ad ac9e 8cd7 e0aa ................ │ │ │ -00000380: eb99 0100 0000 0b0c 8e82 c884 a9ed c7e8 ................ │ │ │ -00000390: a601 ebb7 d28d abfb fded 9a01 0000 000b ................ │ │ │ -000003a0: 588a 90ea bcc5 b288 f2b2 01fe e293 e69a X............... │ │ │ -000003b0: 869c da35 0000 000b 59f4 adbd d9d5 eff9 ...5....Y....... │ │ │ -000003c0: 822e b2f4 cbfe f0ea baf4 3200 0000 0b5a ..........2....Z │ │ │ -000003d0: ffe7 8cd0 ca96 b7fc 9501 adac e9ff e5f3 ................ │ │ │ -000003e0: e5af aa01 0000 000b 5be4 95ab b0a4 dbfe ........[....... │ │ │ -000003f0: c147 ead0 9bb8 c98d d3d4 bd01 0000 000b .G.............. │ │ │ -00000400: 5cf4 abcd 91ee affb 9b85 01a7 d39c fbe2 \............... │ │ │ -00000410: adab c565 0000 000b 5d81 bac5 e8d4 8f93 ...e....]....... │ │ │ -00000420: cbce 01b2 fa9c eae9 e586 e6b5 0100 0000 ................ │ │ │ -00000430: 0b5e d7f0 89ce c2ca cfd8 0bde 8ce8 ad9c .^.............. │ │ │ -00000440: 8fd1 f60d 0000 000b 3280 c5df d3bb d59c ........2....... │ │ │ -00000450: f24c 83da e7d1 ab9e c9d4 6d00 0000 0b5f .L........m...._ │ │ │ -00000460: d9db edc4 84df 82d4 5af6 86a4 87bd d6d5 ........Z....... │ │ │ -00000470: bbd7 0100 0000 0b60 afce aaf9 cabb 9de2 .......`........ │ │ │ -00000480: 35ab fbb2 c1c8 95dc f18f 0100 0000 0b61 5..............a │ │ │ -00000490: cbf9 dedd c4ce bba0 d401 b091 bedd f0fa ................ │ │ │ -000004a0: 99fc 4a00 0000 0b62 e2fd f4c7 add0 8899 ..J....b........ │ │ │ -000004b0: 0dcd effe 91b6 faa3 c5b5 0100 0000 0b63 ...............c │ │ │ -000004c0: 8998 ed8a c088 f8b6 65fc f0ca ff99 d894 ........e....... │ │ │ -000004d0: c39d 0100 0000 0e64 c5ab b496 b783 bef0 .......d........ │ │ │ -000004e0: a101 88b1 a69a f8bf 9d83 7b00 0000 0a3a ..........{....: │ │ │ -000004f0: e38f f7ba c1db d98d a801 ccca 93b5 a088 ................ │ │ │ -00000500: beb0 8401 0002 659a 86af f8b3 c8b4 ddef ......e......... │ │ │ -00000510: 01bf 8582 de80 bea0 9a6c 0002 66d7 a087 .........l..f... │ │ │ -00000520: c797 ad84 807d 8c9c a4df c0b0 f3e3 ea01 .....}.......... │ │ │ -00000530: 0002 67a5 d0ef 9ae8 f4e3 f4e0 01dd 82de ..g............. │ │ │ -00000540: 90c7 abca 8bbf 0100 0268 bbea a4c6 c0a2 .........h...... │ │ │ -00000550: 9d8d 7798 dbca c681 a7aa fb1d 0002 69b7 ..w...........i. │ │ │ -00000560: 85e4 c7b7 aba8 e9be 01f4 8ae3 e1cf bb86 ................ │ │ │ -00000570: e9cf 0100 026a db85 ee9f 95ab ffa4 8201 .....j.......... │ │ │ -00000580: c29e e6d4 d6c0 94e0 5800 026b 8cbf 84a9 ........X..k.... │ │ │ -00000590: d1f5 fd91 4dc5 d69f 99eb bcdd aa3c 0002 ....M........<.. │ │ │ -000005a0: 6cd5 c68e e6ec f0bf f410 b9f7 d6a6 938c l............... │ │ │ -000005b0: e7c7 3b00 026d a2f0 f0b0 f5a3 c289 5bac ..;..m........[. │ │ │ -000005c0: e7d6 cbb9 88d1 908d 0100 026e fad6 fafb ...........n.... │ │ │ -000005d0: fdcc f6f2 dc01 cba7 e8d4 98a4 bd99 8d01 ................ │ │ │ -000005e0: 0002 6f8e b9df a3d8 9cc0 a6ad 01ae eaef ..o............. │ │ │ -000005f0: f1c8 a6c3 cef4 0100 0270 b3a1 c1da 869a .........p...... │ │ │ -00000600: d6b3 c801 b8ab 94d5 9da2 cb8c dc01 0002 ................ │ │ │ -00000610: 71d3 d2a0 e9d1 cfc1 befb 0196 a081 a7ee q............... │ │ │ -00000620: c0b8 84b8 0100 0272 9bcc c79a fe97 c1e1 .......r........ │ │ │ -00000630: 79be 89fe 81d9 8785 ea11 0002 73f6 e5df y...........s... │ │ │ -00000640: f6ff 8ee6 b904 c5ae c5ce c8fd 8ffb 7300 ..............s. │ │ │ -00000650: 0274 d7c1 f0b3 da94 9bc9 4495 8bfd d9ce .t........D..... │ │ │ -00000660: d4b4 c571 0002 75b0 c3b5 a4c5 dbd6 e815 ...q..u......... │ │ │ -00000670: 8d90 a9d6 b2f8 bffa a101 0002 76b0 fb83 ............v... │ │ │ -00000680: 8f97 a0d4 caf0 01b3 d8f9 97fe eab3 86ec ................ │ │ │ -00000690: 0100 0277 d1e1 f4df a7ef 9eef 8201 edb2 ...w............ │ │ │ -000006a0: dd82 e1ae def7 4f00 0278 e3bb b0b7 8698 ......O..x...... │ │ │ -000006b0: a7b6 34b4 fba0 b8ee 86ac bec4 0100 0279 ..4............y │ │ │ -000006c0: bfba d6bb c89f 9eb5 44a1 f79c 96e3 d2ed ........D....... │ │ │ -000006d0: c05a 0002 7ae3 ba8c d7be f7d4 9f4a c4ee .Z..z........J.. │ │ │ -000006e0: be94 f3c0 f895 b201 0002 7bd5 b29f f79e ..........{..... │ │ │ -000006f0: c7d0 fcf2 01b7 ffc6 8495 ffff 9940 0002 .............@.. │ │ │ -00000700: 7ca9 86bb d6cf 9acd f875 a88b c49d c984 |........u...... │ │ │ -00000710: dee0 7d00 027d 8e86 cbe6 90a7 9ee4 ce01 ..}..}.......... │ │ │ -00000720: b5f7 8f9f c8bc c7b6 7d00 027e afde eba9 ........}..~.... │ │ │ -00000730: b5dd f4ee b701 dd9e e2dc cdd9 94d1 6400 ..............d. │ │ │ -00000740: 027f cad5 ca95 ad91 d29a d101 d5a3 eec3 ................ │ │ │ -00000750: ca82 d5b4 c301 0002 8001 8a91 a4df d5e2 ................ │ │ │ -00000760: f3a6 ba01 fca8 f293 c9e1 fef8 c801 0002 ................ │ │ │ -00000770: 8101 b3ac a8bc d0b6 f6ee 2db7 c8c4 c4a9 ..........-..... │ │ │ -00000780: c8b9 da3c 0002 8201 f0b9 a4b6 93de f697 ...<............ │ │ │ -00000790: d901 dadb b490 9adc b4c7 8f01 0002 8301 ................ │ │ │ -000007a0: e5f6 d7f6 a3b5 facf 15cc e4f4 b1b9 90e7 ................ │ │ │ -000007b0: 8917 0002 8401 b287 e396 cfa9 879d c801 ................ │ │ │ -000007c0: a0d9 c8c1 ea97 9cc7 0900 0285 01f8 a8e7 ................ │ │ │ -000007d0: addf b9dc e446 becc facf edcc 94fc 0500 .....F.......... │ │ │ -000007e0: 0286 01f1 fde5 caec 93ba c1d8 0187 a8d8 ................ │ │ │ -000007f0: 84aa 9ec1 ffc2 0100 0287 01bf 9bbe a3b0 ................ │ │ │ -00000800: b7b9 9070 d2a1 8ed0 a681 fca9 a001 0002 ...p............ │ │ │ -00000810: 8801 aae2 c095 dee9 ae8c 2eae abb5 eaae ................ │ │ │ -00000820: 8fe5 ad04 0002 8901 f5af c8f5 bff9 d48d ................ │ │ │ -00000830: 77da d0d8 97a9 97be 83d5 0100 028a 0193 w............... │ │ │ -00000840: b5c8 94a3 dcba af2f b4a1 acc9 c6ae d0fa ......./........ │ │ │ -00000850: f501 0002 8b01 b9ae c68f a1c5 b286 a901 ................ │ │ │ -00000860: c0b5 a8f6 f28b fd82 3200 028c 01c7 cb98 ........2....... │ │ │ -00000870: b6eb 89cb dc0f d982 f4f4 a582 e8fe 4200 ..............B. │ │ │ -00000880: 028d 01ae 9b8b e7ea a2eb 935b 9cad 9d92 ...........[.... │ │ │ -00000890: e9cd b789 9201 0002 8e01 a6c8 dfc7 f580 ................ │ │ │ -000008a0: c2b6 54ac 92c5 94b5 a2cc ea3f 0002 8f01 ..T........?.... │ │ │ -000008b0: ceb9 e6a4 92dd c9fc ae01 dad9 f9c8 b6d4 ................ │ │ │ -000008c0: 99d3 aa01 0002 9001 bce0 97e8 b1dc cca8 ................ │ │ │ -000008d0: ae01 b1c9 c0fa 90a1 85e5 1800 0291 01d2 ................ │ │ │ -000008e0: f49c da94 cbb5 bcf8 019c 8bc9 cbc1 a6c9 ................ │ │ │ -000008f0: daf0 0100 0292 01c9 94e1 988e 88ea c872 ...............r │ │ │ -00000900: 9fbd 9a90 8cc5 ace6 bf01 0002 9301 9ae0 ................ │ │ │ -00000910: bdc1 9db5 aa8b 5cfb f7a6 c3ae bae5 ef9e ......\......... │ │ │ -00000920: 0100 0294 01fd a68e 87bc 9ea6 b1b3 01d0 ................ │ │ │ -00000930: aaef d88b eff2 cf61 0002 9501 9299 fdd5 .......a........ │ │ │ -00000940: 9ade a8ba be01 cecb e2aa 89c7 c988 e101 ................ │ │ │ -00000950: 0002 9601 9b87 ebe9 bdcc f894 3df8 9dfa ............=... │ │ │ -00000960: d5f3 979e 8f43 0002 9701 d3b3 d4c8 c7f6 .....C.......... │ │ │ -00000970: c5e7 41db ccfc a9bb d8af a8cd 0100 0298 ..A............. │ │ │ -00000980: 01e9 80f5 e58f e8f9 9f4c ffbb bc8c 88d7 .........L...... │ │ │ -00000990: f9ed 1700 0299 01af 83c5 b6f0 80d8 d239 ...............9 │ │ │ -000009a0: 9d8b 9fbe 9ade f9a9 2800 029a 019f baf9 ........(....... │ │ │ -000009b0: e684 bfd9 c59d 01e2 99c3 c186 a8c0 fecc ................ │ │ │ -000009c0: 0100 029b 01fb b1ed e4f1 e0e3 9ab1 019f ................ │ │ │ -000009d0: df8f c3c4 b6a9 e3d8 0100 029c 01b5 9b99 ................ │ │ │ -000009e0: bf81 d585 f1cf 01ef bca0 ad92 9cdf f195 ................ │ │ │ -000009f0: 0100 029d 01be b783 d4cc 8abf d1cd 01d5 ................ │ │ │ -00000a00: a2ac 90c3 90a0 81f4 0100 029e 01f9 b6ea ................ │ │ │ -00000a10: c5ea d7e4 ba11 da91 b593 abb8 d687 7400 ..............t. │ │ │ -00000a20: 029f 01ea a2bc cab3 b7c8 e8eb 01bc 91af ................ │ │ │ -00000a30: 9ae6 82f0 ab88 0101 2041 6764 612e 5365 ........ Agda.Se │ │ │ -00000a40: 7475 702e 4461 7461 4669 6c65 735b 5448 tup.DataFiles[TH │ │ │ -00000a50: 5d20 6368 616e 6765 6402 a001 8ab7 9c9c ] changed....... │ │ │ -00000a60: f28d d6fa ac01 e9e7 f4f5 89eb 8ba0 7000 ..............p. │ │ │ -00000a70: 02a1 01d6 adcf e6c1 b8a7 c418 abc3 a9db ................ │ │ │ -00000a80: a4ab 96c7 1e00 02a2 01ef b7c7 90ec aee4 ................ │ │ │ -00000a90: fc94 018f f891 edf0 b2a1 98c1 0100 02a3 ................ │ │ │ -00000aa0: 0191 a1c9 f5b4 ebbc fc28 93f6 fabd 9bae .........(...... │ │ │ -00000ab0: f5c3 9801 0002 a401 a4e5 b3b3 bfdc cdcb ................ │ │ │ -00000ac0: 47a0 d4d7 b1a7 dddc efd3 0100 02a5 0191 G............... │ │ │ -00000ad0: f1ea 90c4 a0d1 906f 9785 98a7 a698 a7d7 .......o........ │ │ │ -00000ae0: dd01 0002 a601 9ebf a6e9 abdd c2d1 bd01 ................ │ │ │ -00000af0: ca82 dee8 b1de b0d3 c201 0002 a701 c28d ................ │ │ │ -00000b00: 95ef ff94 e1bb 3bd9 f8d5 ecc3 faeb c43e ......;........> │ │ │ -00000b10: 0002 a801 c7da d1b7 9edc bcc2 ad01 b889 ................ │ │ │ -00000b20: 90c4 81e6 a3e5 cc01 0002 a901 99a8 b2ed ................ │ │ │ -00000b30: da92 88c0 bd01 e6be 819a a1a8 c5ae 9301 ................ │ │ │ -00000b40: 0004 0000 0001 0002 0003 9fa2 fad0 9c97 ................ │ │ │ -00000b50: 8e89 7cfa 8ab4 ca9f e8bd c9b6 0101 0000 ..|............. │ │ │ -00000b60: 000b 6601 0000 0000 0b6b 00c9 01a5 87b4 ..f......k...... │ │ │ -00000b70: c783 d9a1 d91b 818d 9df7 e782 88f8 8901 ................ │ │ │ -00000b80: 0004 0000 0ba9 05d2 8180 e608 0000 0100 ................ │ │ │ -00000b90: 0404 0803 0702 8181 80ec 0802 0000 030f ................ │ │ │ -00000ba0: 0005 050b 050b 060b 0792 d1b6 81fa ceea ................ │ │ │ -00000bb0: b9fc 01c5 8c8a 95c9 e5a1 947d 0007 0000 ...........}.... │ │ │ -00000bc0: 0be2 05d4 8180 e608 0000 0100 0404 0803 ................ │ │ │ -00000bd0: 0702 8781 80ec 0802 0000 030f 0005 0b08 ................ │ │ │ -00000be0: 0b09 9480 91e9 b4c5 c6de a501 96df aeaf ................ │ │ │ -00000bf0: c9f3 e1e4 1200 0900 000c 1c05 8280 80e6 ................ │ │ │ -00000c00: 0800 0001 0003 0407 0402 0000 030f 0009 ................ │ │ │ -00000c10: 010a 4167 6461 2e53 6574 7570 d695 87f0 ..Agda.Setup.... │ │ │ -00000c20: ecda ce81 64ea f5c2 ddac c184 e2ca 0100 ....d........... │ │ │ -00000c30: 0600 000c 5505 d481 80e6 0800 0001 0004 ....U........... │ │ │ -00000c40: 0408 0307 0287 8180 ec08 0200 0003 0f00 ................ │ │ │ -00000c50: 050b 080b 0a90 bad6 9480 dfb7 d4ad 01b6 ................ │ │ │ -00000c60: 9fc1 b4d5 bc80 b628 000a 0000 0ca6 0582 .......(........ │ │ │ -00000c70: 8080 e608 0000 0100 0304 0704 0200 0003 ................ │ │ │ -00000c80: 0f00 0901 2141 6764 612d 322e 382e 302d ....!Agda-2.8.0- │ │ │ -00000c90: 4b75 4145 4b44 5247 3577 7346 5264 4135 KuAEKDRG5wsFRdA5 │ │ │ -00000ca0: 7738 7347 4c43 8dea c2e9 8994 81f9 8b01 w8sGLC.......... │ │ │ -00000cb0: decc d4c5 b1c0 d7ba d001 000b 0000 15a8 ................ │ │ │ -00000cc0: 0300 05e2 8280 ec08 0100 0105 8880 80e6 ................ │ │ │ -00000cd0: 0800 0001 0300 05e2 8280 ec08 0100 0105 ................ │ │ │ -00000ce0: e480 80e6 0800 0000 05ca 8080 e608 0000 ................ │ │ │ -00000cf0: 0100 0105 e480 80e6 0800 0000 05ca 8080 ................ │ │ │ -00000d00: e608 0000 0100 0100 0608 0200 0700 0200 ................ │ │ │ -00000d10: 0201 0002 0200 0102 0200 0102 0301 aa01 ................ │ │ │ -00000d20: 0000 0400 0200 0200 0003 0f00 0400 05e2 ................ │ │ │ -00000d30: 8280 ec08 0100 01ab 0105 8880 80e6 0800 ................ │ │ │ -00000d40: 0001 0004 0005 e282 80ec 0801 0001 ac01 ................ │ │ │ -00000d50: 05e4 8080 e608 0000 0005 ca80 80e6 0800 ................ │ │ │ -00000d60: 0001 0001 0006 050b 0c00 ac01 ad01 0101 ................ │ │ │ -00000d70: 8680 80f0 0802 ae01 af01 0700 b001 0300 ................ │ │ │ -00000d80: 05e2 8280 ec08 0100 0105 e480 80e6 0800 ................ │ │ │ -00000d90: 0000 05ca 8080 e608 0000 0100 0105 e480 ................ │ │ │ -00000da0: 80e6 0800 0000 05ca 8080 e608 0000 0100 ................ │ │ │ -00000db0: 0102 0001 0100 0102 0001 0201 0104 0005 ................ │ │ │ -00000dc0: e282 80ec 0801 0001 b101 05e4 8080 e608 ................ │ │ │ -00000dd0: 0000 0005 ca80 80e6 0800 0001 0001 0106 ................ │ │ │ -00000de0: 0505 0505 0b0d 0105 0e00 0001 00af 010c ................ │ │ │ -00000df0: 0b0f 0302 0105 e282 80ec 0801 0001 0202 ................ │ │ │ -00000e00: 0800 0000 059a 8180 e608 0000 0005 1000 ................ │ │ │ -00000e10: 0001 0001 0000 059e 8080 e608 0000 0100 ................ │ │ │ -00000e20: 0101 0a08 1100 0102 0205 0e00 0001 0100 ................ │ │ │ -00000e30: b101 b201 0101 8680 80f0 0802 b301 b401 ................ │ │ │ -00000e40: 060c 00b4 0108 1200 00b5 0101 0113 01b6 ................ │ │ │ -00000e50: 0106 0505 050b 140b ab80 80ec 0800 b601 ................ │ │ │ -00000e60: 00b3 01b7 0101 0186 8080 f008 02b8 01b9 ................ │ │ │ -00000e70: 0107 00ba 0105 1500 0001 0000 0505 0b16 ................ │ │ │ -00000e80: 00af 010b 1706 0505 0505 0505 050b 1801 ................ │ │ │ -00000e90: 0519 0000 0101 0800 0001 0108 0000 010c ................ │ │ │ -00000ea0: 0400 05e2 8280 ec08 0100 01bb 0105 e480 ................ │ │ │ -00000eb0: 80e6 0800 0000 05ca 8080 e608 0000 0100 ................ │ │ │ -00000ec0: 0101 0605 0505 0b1a 00ba 010b ab80 80ec ................ │ │ │ -00000ed0: 0800 bb01 bc01 0101 8680 80f0 0802 bd01 ................ │ │ │ -00000ee0: be01 0605 0505 0505 0bce 8980 f208 0105 ................ │ │ │ -00000ef0: 8882 80ec 0801 0001 0105 8880 80e6 0800 ................ │ │ │ -00000f00: 0001 0105 ca80 80e6 0800 0001 0bab 8080 ................ │ │ │ -00000f10: ec08 00bd 01bf 0101 0186 8080 f008 02c0 ................ │ │ │ -00000f20: 01c1 0103 0102 00c0 0106 0c00 be01 0b08 ................ │ │ │ -00000f30: 1b00 0008 1c00 00c2 0101 011d 01c3 0105 ................ │ │ │ -00000f40: 050b 1e00 c301 00c1 010a 0811 0001 0202 ................ │ │ │ -00000f50: 0519 0000 0101 0c0b 1f03 0201 05e2 8280 ................ │ │ │ -00000f60: ec08 0100 0102 0205 1900 0001 010a 0811 ................ │ │ │ -00000f70: 0001 0202 0800 0001 010c 0400 05e2 8280 ................ │ │ │ -00000f80: ec08 0100 01c4 0105 1900 0001 0104 0005 ................ │ │ │ -00000f90: e282 80ec 0801 0001 c501 05e4 8080 e608 ................ │ │ │ -00000fa0: 0000 0005 ca80 80e6 0800 0001 0001 0107 ................ │ │ │ -00000fb0: 0101 c601 0300 05e2 8280 ec08 0100 0105 ................ │ │ │ -00000fc0: b480 80e6 0800 0000 0800 0000 0515 0000 ................ │ │ │ -00000fd0: 0100 0005 2000 0001 0001 0001 0300 05e2 .... ........... │ │ │ -00000fe0: 8280 ec08 0100 0105 e480 80e6 0800 0000 ................ │ │ │ -00000ff0: 05ca 8080 e608 0000 0100 0108 0100 0005 ................ │ │ │ -00001000: c881 80e6 0800 0001 0100 05c4 8180 e608 ................ │ │ │ -00001010: 0000 0101 0005 e480 80e6 0800 0000 05ca ................ │ │ │ -00001020: 8080 e608 0000 0100 0100 0008 0000 0100 ................ │ │ │ -00001030: 0102 0002 0100 0203 0001 0202 0001 0201 ................ │ │ │ -00001040: 0204 0005 e282 80ec 0801 0001 bc01 05b4 ................ │ │ │ -00001050: 8080 e608 0000 0008 0000 0005 1500 0001 ................ │ │ │ -00001060: 0000 0520 0000 0100 0100 0100 0400 05e2 ... ............ │ │ │ -00001070: 8280 ec08 0100 01c7 0105 e480 80e6 0800 ................ │ │ │ -00001080: 0000 05ca 8080 e608 0000 0100 0101 0600 ................ │ │ │ -00001090: bc01 c801 0201 9e80 80ec 0800 0301 0200 ................ │ │ │ -000010a0: c701 0b81 8080 ee08 0186 8080 ec08 02c9 ................ │ │ │ -000010b0: 01ca 0106 00c9 01cb 0101 0186 8080 ee08 ................ │ │ │ -000010c0: 02cc 01cd 0107 00bf 0108 0000 0005 8c80 ................ │ │ │ -000010d0: 80e6 0800 0001 0000 058c 8080 e608 0000 ................ │ │ │ -000010e0: 0100 0100 0006 050b 2100 cc01 ce01 0101 ........!....... │ │ │ -000010f0: 8680 80f0 0802 cf01 d001 0600 cf01 d101 ................ │ │ │ -00001100: 0201 9e80 80ec 0800 0300 020b 2200 d001 ............"... │ │ │ -00001110: 0186 8080 ec08 02d2 01d3 0103 0002 00d1 ................ │ │ │ -00001120: 0100 d001 0700 d401 0515 0000 0100 0006 ................ │ │ │ -00001130: 00bf 01ce 0101 0186 8080 ee08 02d5 01d6 ................ │ │ │ -00001140: 0105 050b 1600 af01 00d5 0106 0505 0505 ................ │ │ │ -00001150: 0b0d 0105 0e00 0001 00d4 010c 0b0f 0302 ................ │ │ │ -00001160: 0105 e282 80ec 0801 0001 0202 0800 0000 ................ │ │ │ -00001170: 059a 8180 e608 0000 0005 1000 0001 0001 ................ │ │ │ -00001180: 0000 059e 8080 e608 0000 0100 0101 0a08 ................ │ │ │ -00001190: 1100 0102 0205 0e00 0001 0100 c701 d201 ................ │ │ │ -000011a0: 0101 8680 80f0 0802 bd01 be01 060c 00be ................ │ │ │ -000011b0: 0108 1200 00ce 0101 0113 01cf 0106 0505 ................ │ │ │ -000011c0: 050b 140b ab80 80ec 0800 cf01 00bd 01d3 ................ │ │ │ -000011d0: 0101 0186 8080 f008 02c0 01c1 0107 00d7 ................ │ │ │ -000011e0: 0105 1500 0001 0000 0600 bf01 d101 0101 ................ │ │ │ -000011f0: 8680 80ee 0802 d501 d601 0505 0b16 00d4 ................ │ │ │ -00001200: 0100 d601 0600 ab01 d101 0201 8c80 80ec ................ │ │ │ -00001210: 0800 0605 0505 0505 0b23 0108 0000 0100 .........#...... │ │ │ -00001220: d701 0b24 0c04 0005 e282 80ec 0801 0001 ...$............ │ │ │ -00001230: d801 0525 0000 0100 0400 05e2 8280 ec08 ...%............ │ │ │ -00001240: 0100 01d9 0105 e480 80e6 0800 0000 05ca ................ │ │ │ -00001250: 8080 e608 0000 0100 0101 0505 050b 2600 ..............&. │ │ │ -00001260: d801 00cd 0100 d901 0302 0105 e282 80ec ................ │ │ │ -00001270: 0801 0001 0202 0525 0000 0101 0a08 1100 .......%........ │ │ │ -00001280: 0102 0208 0000 0101 00c0 01da 0101 0186 ................ │ │ │ -00001290: 8080 f008 02db 01dc 0105 0500 c601 00ca ................ │ │ │ -000012a0: 0100 db01 01aa 8080 ec08 0006 0505 0505 ................ │ │ │ -000012b0: 0b27 0b28 0505 0b96 8080 e008 0b29 00d7 .'.(.........).. │ │ │ -000012c0: 010b ab80 80ec 0800 c001 da01 0101 8680 ................ │ │ │ -000012d0: 80f0 0802 db01 dc01 0605 0505 0505 0b23 ...............# │ │ │ -000012e0: 0108 0000 0100 d701 0b24 0c04 0005 e282 .........$...... │ │ │ -000012f0: 80ec 0801 0001 d801 0525 0000 0100 0400 .........%...... │ │ │ -00001300: 05e2 8280 ec08 0100 01d9 0105 e480 80e6 ................ │ │ │ -00001310: 0800 0000 05ca 8080 e608 0000 0100 0101 ................ │ │ │ -00001320: 0505 050b 2600 d801 00cd 0100 d901 0302 ....&........... │ │ │ -00001330: 0105 e282 80ec 0801 0001 0202 0525 0000 .............%.. │ │ │ -00001340: 0101 0a08 1100 0102 0208 0000 0101 00db ................ │ │ │ -00001350: 01dd 0101 0186 8080 f008 02de 01df 0105 ................ │ │ │ -00001360: 0500 c601 00ca 0100 de01 0505 00c6 010b ................ │ │ │ -00001370: 2a00 c501 0302 0105 e282 80ec 0801 0001 *............... │ │ │ -00001380: 0202 0519 0000 0101 0a08 1100 0102 0208 ................ │ │ │ -00001390: 0000 0101 00b8 01bc 0101 0186 8080 f008 ................ │ │ │ -000013a0: 02bd 01be 0106 0505 0505 0505 050b dc89 ................ │ │ │ -000013b0: 80f2 0801 05c4 8180 e608 0000 0101 0588 ................ │ │ │ -000013c0: 8280 ec08 0100 0101 05a8 8180 e608 0000 ................ │ │ │ -000013d0: 0005 2b00 0001 0000 0800 0001 0001 0105 ..+............. │ │ │ -000013e0: 2c00 0001 0400 05e2 8280 ec08 0100 01bb ,............... │ │ │ -000013f0: 0105 e480 80e6 0800 0000 05ca 8080 e608 ................ │ │ │ -00001400: 0000 0100 0101 0605 0505 050b 0d01 050e ................ │ │ │ -00001410: 0000 0100 ba01 0c0b 0f03 0201 05e2 8280 ................ │ │ │ -00001420: ec08 0100 0102 0208 0000 0005 9a81 80e6 ................ │ │ │ -00001430: 0800 0000 0510 0000 0100 0100 0005 9e80 ................ │ │ │ -00001440: 80e6 0800 0001 0001 010a 0811 0001 0202 ................ │ │ │ -00001450: 050e 0000 0101 00bb 01bf 0101 0186 8080 ................ │ │ │ -00001460: f008 02c0 01c1 0106 0505 0b2d 0c00 c101 ...........-.... │ │ │ -00001470: 0a08 2e00 0000 c001 d201 0101 8680 80f0 ................ │ │ │ -00001480: 0802 db01 dc01 0301 0200 db01 0505 050b ................ │ │ │ -00001490: 2f01 052b 0000 0101 0800 0001 00dc 010b /..+............ │ │ │ -000014a0: 3000 bd01 bf01 0101 8680 80f0 0802 c001 0............... │ │ │ -000014b0: c101 00c0 0106 00ab 01b5 0102 018c 8080 ................ │ │ │ -000014c0: ec08 0006 0505 0505 0b0d 0105 0e00 0001 ................ │ │ │ -000014d0: 00af 010c 0b0f 0302 0105 e282 80ec 0801 ................ │ │ │ -000014e0: 0001 0202 0800 0000 059a 8180 e608 0000 ................ │ │ │ -000014f0: 0005 1000 0001 0001 0000 059e 8080 e608 ................ │ │ │ -00001500: 0000 0100 0101 0a08 1100 0102 0205 0e00 ................ │ │ │ -00001510: 0001 0100 ae01 b201 0101 8680 80f0 0802 ................ │ │ │ -00001520: b301 b401 0605 0505 0505 0505 0bdc 8980 ................ │ │ │ -00001530: f208 0105 c481 80e6 0800 0001 0105 8882 ................ │ │ │ -00001540: 80ec 0801 0001 0105 8880 80e6 0800 0001 ................ │ │ │ -00001550: 0105 2c00 0001 050b 310c 00b4 010b 0a08 ..,.....1....... │ │ │ -00001560: 2e00 000a 0832 0000 0b33 00b3 01b7 0101 .....2...3...... │ │ │ -00001570: 0186 8080 f008 02b8 01b9 0106 00b9 01c8 ................ │ │ │ -00001580: 0102 018c 8080 ec08 0005 00b0 0100 b801 ................ │ │ │ -00001590: 01aa 8080 ec08 0000 b801 01aa 8080 ec08 ................ │ │ │ -000015a0: 0005 00b0 0100 ae01 ffbd c0cc b5e4 d8dd ................ │ │ │ -000015b0: 68b6 e0d7 8e83 f080 96e9 0100 2a00 0016 h...........*... │ │ │ -000015c0: 1305 b480 80e6 0800 0000 0800 0000 0515 ................ │ │ │ -000015d0: 0000 0100 0005 2000 0001 0001 0001 0002 ...... ......... │ │ │ -000015e0: 0701 0100 0200 0003 0000 0505 0505 0ba1 ................ │ │ │ -000015f0: 8080 e008 0105 b480 80e6 0800 0000 0590 ................ │ │ │ -00001600: 8080 e608 0000 0100 0101 0520 0000 010b ........... .... │ │ │ -00001610: 340b 35a9 94eb f9ab dcd5 c90a b0db 8e97 4.5............. │ │ │ -00001620: f3e2 ccc9 6400 0000 0016 5f05 f280 80e6 ....d....._..... │ │ │ -00001630: 0800 0000 0515 0000 0100 0100 0407 0001 ................ │ │ │ -00001640: 0001 0100 0102 0001 0202 0000 030f 000c ................ │ │ │ -00001650: 0b36 0a08 1100 0102 0205 1500 0001 019b .6.............. │ │ │ -00001660: c0cc 95b0 deab b6e6 0196 8d90 978b 9189 ................ │ │ │ -00001670: c392 0100 3600 0019 4203 0005 e282 80ec ....6...B....... │ │ │ -00001680: 0801 0001 05e4 8080 e608 0000 0005 ca80 ................ │ │ │ -00001690: 80e6 0800 0001 0001 0801 0000 05c8 8180 ................ │ │ │ -000016a0: e608 0000 0101 0005 c481 80e6 0800 0001 ................ │ │ │ -000016b0: 0100 05e4 8080 e608 0000 0005 ca80 80e6 ................ │ │ │ -000016c0: 0800 0001 0001 0000 0515 0000 0100 0100 ................ │ │ │ -000016d0: 0407 0001 0001 0100 0102 0001 0202 0000 ................ │ │ │ -000016e0: 030f 0004 0005 e282 80ec 0801 0001 ac01 ................ │ │ │ -000016f0: 05e4 8080 e608 0000 0005 ca80 80e6 0800 ................ │ │ │ -00001700: 0001 0001 0006 050c 0505 0bfe 8080 e008 ................ │ │ │ -00001710: 0105 f280 80e6 0800 0000 0537 0000 0100 ...........7.... │ │ │ -00001720: 010b 3808 1100 0102 0205 3700 0001 0100 ..8.......7..... │ │ │ -00001730: ac01 ad01 0101 8680 80f0 0802 ae01 af01 ................ │ │ │ -00001740: 0600 af01 b501 0101 3905 e001 e101 b601 ........9....... │ │ │ -00001750: cf01 d001 0605 0505 0505 0505 0b3a 0105 .............:.. │ │ │ -00001760: b880 80e6 0800 0000 058c 8080 e608 0000 ................ │ │ │ -00001770: 0100 0101 01e0 0101 01e1 0100 d001 0b3b ...............; │ │ │ -00001780: 0c0b 3c03 0201 05e2 8280 ec08 0100 0102 ..<............. │ │ │ -00001790: 0205 3d00 0001 010a 0811 0001 0202 05b8 ..=............. │ │ │ -000017a0: 8080 e608 0000 0005 8c80 80e6 0800 0001 ................ │ │ │ -000017b0: 0001 0100 ae01 b701 0101 8680 80f0 0802 ................ │ │ │ -000017c0: b301 b401 0600 b401 c801 0201 9580 80ec ................ │ │ │ -000017d0: 0800 050b 3e00 b301 0198 8080 ec08 01d4 ....>........... │ │ │ -000017e0: 0106 0505 0505 0b0d 0105 0e00 0001 00d4 ................ │ │ │ -000017f0: 010c 0b0f 0302 0105 e282 80ec 0801 0001 ................ │ │ │ -00001800: 0202 0800 0000 059a 8180 e608 0000 0005 ................ │ │ │ -00001810: 1000 0001 0001 0000 059e 8080 e608 0000 ................ │ │ │ -00001820: 0100 0101 0a08 1100 0102 0205 0e00 0001 ................ │ │ │ -00001830: 0100 b301 b201 0101 8680 80f0 0802 b801 ................ │ │ │ -00001840: b901 0605 0505 0505 0505 0bdc 8980 f208 ................ │ │ │ -00001850: 0105 c481 80e6 0800 0001 0105 8882 80ec ................ │ │ │ -00001860: 0801 0001 0105 8880 80e6 0800 0001 0105 ................ │ │ │ -00001870: 2c00 0001 050b 310c 00b9 010b 0a08 2e00 ,.....1......... │ │ │ -00001880: 000a 0832 0000 0b33 00b8 01bc 0101 0186 ...2...3........ │ │ │ -00001890: 8080 f008 02bd 01be 0106 00be 01cb 0102 ................ │ │ │ -000018a0: 018c 8080 ec08 0006 050b 3e00 bd01 bf01 ..........>..... │ │ │ -000018b0: 0101 8680 80f0 0802 c001 c101 0605 0505 ................ │ │ │ -000018c0: 050b 270b 2805 050b 9680 80e0 080b 3f05 ..'.(.........?. │ │ │ -000018d0: 0505 050b 4001 0590 8080 e608 0000 010b ....@........... │ │ │ -000018e0: 4105 050b 4200 d401 0b43 0505 0b96 8080 A...B....C...... │ │ │ -000018f0: e008 0b44 0505 0505 0b40 0105 9080 80e6 ...D.....@...... │ │ │ -00001900: 0800 0001 0b41 0505 0b42 00c1 010b 430b .....A...B....C. │ │ │ -00001910: 450b ab80 80ec 0800 c001 d201 0101 8680 E............... │ │ │ -00001920: 80f0 0802 db01 dc01 0301 0200 db01 00c1 ................ │ │ │ -00001930: 0101 aa80 80ec 0800 0505 0b46 00d4 0100 ...........F.... │ │ │ -00001940: bd01 c8f2 819e ace5 a884 0484 9cc9 cb8a ................ │ │ │ -00001950: afcd d4c3 0100 4700 0019 7a05 8280 80e6 ......G...z..... │ │ │ -00001960: 0800 0001 0003 0407 0402 0000 030f 0009 ................ │ │ │ -00001970: 0108 4147 4441 5f44 4952 91fe b8e4 eec5 ..AGDA_DIR...... │ │ │ -00001980: c1e0 5baa 87c9 93b9 8b84 d317 0045 0000 ..[..........E.. │ │ │ -00001990: 19bb 05b4 8080 e608 0000 0005 9080 80e6 ................ │ │ │ -000019a0: 0800 0001 0001 0002 0701 0100 0200 0003 ................ │ │ │ -000019b0: 0500 050b 9580 80e0 080b 48a5 edb6 d68e ..........H..... │ │ │ -000019c0: b0f3 8e80 01d2 97f2 9df9 ada9 e8dd 0100 ................ │ │ │ -000019d0: 4800 0019 f505 8280 80e6 0800 0001 0003 H............... │ │ │ -000019e0: 0407 0402 0000 030f 0009 0109 2069 6e73 ............ ins │ │ │ -000019f0: 7465 6164 2ea3 fdb3 a6ab eabd c782 01a7 tead............ │ │ │ -00001a00: f7ac e5e8 d0ca abc6 0100 4400 001a 2e05 ..........D..... │ │ │ -00001a10: 8280 80e6 0800 0001 0003 0407 0402 0000 ................ │ │ │ -00001a20: 030f 0009 0108 2c20 7573 696e 6720 a38f ......, using .. │ │ │ -00001a30: b9d0 8b95 e6f2 41f8 93fa 81e2 d5c7 8af5 ......A......... │ │ │ -00001a40: 0100 3f00 001a a705 8280 80e6 0800 0001 ..?............. │ │ │ -00001a50: 0003 0407 0402 0000 030f 0009 01c8 0057 ...............W │ │ │ -00001a60: 6172 6e69 6e67 3a20 456e 7669 726f 6e6d arning: Environm │ │ │ -00001a70: 656e 7420 7661 7269 6162 6c65 2041 4744 ent variable AGD │ │ │ -00001a80: 415f 4449 5220 706f 696e 7473 2074 6f20 A_DIR points to │ │ │ -00001a90: 6e6f 6e2d 6578 6973 7469 6e67 2064 6972 non-existing dir │ │ │ -00001aa0: 6563 746f 7279 20e9 e099 e480 a6a9 9d1e ectory ......... │ │ │ -00001ab0: a0ac d7de 8d92 83a4 de01 003e 0000 1f5d ...........>...] │ │ │ -00001ac0: 0300 05e2 8280 ec08 0100 0105 e480 80e6 ................ │ │ │ -00001ad0: 0800 0000 05ca 8080 e608 0000 0100 0108 ................ │ │ │ -00001ae0: 0100 0005 c881 80e6 0800 0001 0100 05c4 ................ │ │ │ -00001af0: 8180 e608 0000 0101 0005 e480 80e6 0800 ................ │ │ │ -00001b00: 0000 05ca 8080 e608 0000 0100 0100 0005 ................ │ │ │ -00001b10: 1500 0001 0001 0004 0700 0100 0101 0001 ................ │ │ │ -00001b20: 0200 0102 0200 0003 0f00 0400 05e2 8280 ................ │ │ │ -00001b30: ec08 0100 01ac 0105 e480 80e6 0800 0000 ................ │ │ │ -00001b40: 05ca 8080 e608 0000 0100 0100 0605 0505 ................ │ │ │ -00001b50: 050b 0d01 050e 0000 010b 490c 0b0f 0302 ..........I..... │ │ │ -00001b60: 0105 e282 80ec 0801 0001 0202 0800 0000 ................ │ │ │ -00001b70: 059a 8180 e608 0000 0005 1000 0001 0001 ................ │ │ │ -00001b80: 0000 059e 8080 e608 0000 0100 0101 0a08 ................ │ │ │ -00001b90: 1100 0102 0205 0e00 0001 0100 ac01 b201 ................ │ │ │ -00001ba0: 0101 8680 80f0 0802 ae01 af01 0605 0505 ................ │ │ │ -00001bb0: 0505 0505 0bdc 8980 f208 0105 c481 80e6 ................ │ │ │ -00001bc0: 0800 0001 0105 8882 80ec 0801 0001 0105 ................ │ │ │ -00001bd0: 4a00 0001 0105 2c00 0001 050b 4b0c 00af J.....,.....K... │ │ │ -00001be0: 010b 0a08 2e00 000a 0832 0000 0b4c 00ae .........2...L.. │ │ │ -00001bf0: 01ad 0101 0186 8080 f008 02b3 01b4 0106 ................ │ │ │ -00001c00: 0c00 b401 0b08 3200 000b 082e 0000 0812 ......2......... │ │ │ -00001c10: 0000 b501 0101 1301 e201 0700 e301 059c ................ │ │ │ -00001c20: 8080 e608 0000 0100 0005 0bfa 8580 f208 ................ │ │ │ -00001c30: 00e2 0106 0505 050b e685 80f2 0801 05ca ................ │ │ │ -00001c40: 8080 e608 0000 0100 e301 00b3 01b7 0101 ................ │ │ │ -00001c50: 0186 8080 f008 02b8 01b9 0106 0505 050b ................ │ │ │ -00001c60: f685 80f2 0801 05ca 8080 e608 0000 0100 ................ │ │ │ -00001c70: b901 00b8 01c8 0101 0186 8080 f008 02bb ................ │ │ │ -00001c80: 01e4 0106 0505 0505 0505 0505 0bf0 8a80 ................ │ │ │ -00001c90: f208 0105 8b82 80ec 0801 0001 0105 d881 ................ │ │ │ -00001ca0: 80ec 0801 0000 0586 8080 ec08 0100 0005 ................ │ │ │ -00001cb0: be81 80e6 0800 0001 0100 05c8 8180 e608 ................ │ │ │ -00001cc0: 0000 0100 0005 8680 80ec 0801 0000 05be ................ │ │ │ -00001cd0: 8180 e608 0000 0101 0005 c481 80e6 0800 ................ │ │ │ -00001ce0: 0001 0000 059e 8080 ec08 0100 0005 be81 ................ │ │ │ -00001cf0: 80e6 0800 0001 0101 0001 0001 0001 0105 ................ │ │ │ -00001d00: 8a80 80e6 0800 0001 0105 ca80 80e6 0800 ................ │ │ │ -00001d10: 0001 0108 0100 0005 c881 80e6 0800 0001 ................ │ │ │ -00001d20: 0100 05c4 8180 e608 0000 0101 0005 e480 ................ │ │ │ -00001d30: 80e6 0800 0000 05ca 8080 e608 0000 0100 ................ │ │ │ -00001d40: 0100 0005 8c80 80e6 0800 0001 0001 00e4 ................ │ │ │ -00001d50: 0100 bb01 0400 05e2 8280 ec08 0100 01b1 ................ │ │ │ -00001d60: 0105 e480 80e6 0800 0000 05ca 8080 e608 ................ │ │ │ -00001d70: 0000 0100 0101 0700 e501 0582 8080 e608 ................ │ │ │ -00001d80: 0000 0100 0005 0bee 8580 f208 00e4 0106 ................ │ │ │ -00001d90: 0505 0505 0505 0bbc 8780 f208 0105 ca80 ................ │ │ │ -00001da0: 80e6 0800 0001 00e2 0109 0601 0000 00e5 ................ │ │ │ -00001db0: 0100 e301 00b1 01e6 0101 0000 0505 0b4d ...............M │ │ │ -00001dc0: 0300 0205 050b 4e01 0510 0000 0100 e501 ......N......... │ │ │ -00001dd0: 050b 9380 80ec 0800 e301 00e6 01bc 0101 ................ │ │ │ -00001de0: 0186 8080 f008 02bd 01be 0106 0505 0505 ................ │ │ │ -00001df0: 0b0d 0105 0e00 0001 00be 010c 0b0f 0302 ................ │ │ │ -00001e00: 0105 e282 80ec 0801 0001 0202 0800 0000 ................ │ │ │ -00001e10: 059a 8180 e608 0000 0005 1000 0001 0001 ................ │ │ │ -00001e20: 0000 059e 8080 e608 0000 0100 0101 0a08 ................ │ │ │ -00001e30: 1100 0102 0205 0e00 0001 0100 bd01 bf01 ................ │ │ │ -00001e40: 0101 8680 80f0 0802 c001 c101 0605 0505 ................ │ │ │ -00001e50: 0505 0505 0bdc 8980 f208 0105 c481 80e6 ................ │ │ │ -00001e60: 0800 0001 0105 8882 80ec 0801 0001 0105 ................ │ │ │ -00001e70: 8880 80e6 0800 0001 0105 2c00 0001 050b ..........,..... │ │ │ -00001e80: 310c 00c1 010b 0a08 2e00 000a 0832 0000 1............2.. │ │ │ -00001e90: 0b33 00c0 01d2 0101 0186 8080 f008 02db .3.............. │ │ │ -00001ea0: 01dc 0106 00dc 01cb 0102 018c 8080 ec08 ................ │ │ │ -00001eb0: 0006 0505 0505 0b0d 0105 0e00 0001 0b49 ...............I │ │ │ -00001ec0: 0c0b 0f03 0201 05e2 8280 ec08 0100 0102 ................ │ │ │ -00001ed0: 0208 0000 0005 9a81 80e6 0800 0000 0510 ................ │ │ │ -00001ee0: 0000 0100 0100 0005 9e80 80e6 0800 0001 ................ │ │ │ -00001ef0: 0001 010a 0811 0001 0202 050e 0000 0101 ................ │ │ │ -00001f00: 00db 01d3 0101 0186 8080 f008 02de 01df ................ │ │ │ -00001f10: 0106 0505 050b 4f0b 500c 00df 010b 0a08 ......O.P....... │ │ │ -00001f20: 2e00 000a 0832 0000 00de 01da 0101 0186 .....2.......... │ │ │ -00001f30: 8080 f008 02e7 01e8 0105 050b 510c 00e8 ............Q... │ │ │ -00001f40: 010b 0832 0000 082e 0000 00e7 0101 aa80 ...2............ │ │ │ -00001f50: 80ec 0800 0301 0200 db01 00be 01da a9bf ................ │ │ │ -00001f60: a68b 96f5 f172 e2dc d3f5 a8f3 82ef 2800 .....r........(. │ │ │ -00001f70: 4900 001f 9e05 b480 80e6 0800 0000 0590 I............... │ │ │ -00001f80: 8080 e608 0000 0100 0100 0207 0101 0002 ................ │ │ │ -00001f90: 0000 0305 0005 0b95 8080 e008 0b52 85b5 .............R.. │ │ │ -00001fa0: 80a8 a3bd cc83 50ef a891 c08b aee9 a1ca ......P......... │ │ │ -00001fb0: 0100 5200 001f d205 8280 80e6 0800 0001 ..R............. │ │ │ -00001fc0: 0003 0407 0402 0000 030f 0009 0104 6167 ..............ag │ │ │ -00001fd0: 6461 d699 c0de c2a4 e0ab 2cf3 9bdd c5a1 da........,..... │ │ │ -00001fe0: f1bd f93d 003b 0000 2013 05b4 8080 e608 ...=.;.. ....... │ │ │ -00001ff0: 0000 0005 9080 80e6 0800 0001 0001 0002 ................ │ │ │ -00002000: 0701 0100 0200 0003 0500 050b 9580 80e0 ................ │ │ │ -00002010: 080b 47f2 80fa 80a9 dbc3 bf8c 01eb de92 ..G............. │ │ │ -00002020: 99fc c0e6 aa8d 0100 0100 0020 6105 f280 ........... a... │ │ │ -00002030: 80e6 0800 0000 0515 0000 0100 0100 0407 ................ │ │ │ -00002040: 0001 0001 0100 0102 0001 0202 0000 030f ................ │ │ │ -00002050: 000c 0b0c 0a08 1100 0102 0205 1500 0001 ................ │ │ │ -00002060: 01ae c8b2 cf90 86e6 f8a3 01ce f9c3 f58f ................ │ │ │ -00002070: d582 e10b 000c 0000 239f 0300 05e2 8280 ........#....... │ │ │ -00002080: ec08 0100 0105 e480 80e6 0800 0000 05ca ................ │ │ │ -00002090: 8080 e608 0000 0100 0108 0100 0005 c881 ................ │ │ │ -000020a0: 80e6 0800 0001 0100 05c4 8180 e608 0000 ................ │ │ │ -000020b0: 0101 0005 e480 80e6 0800 0000 05ca 8080 ................ │ │ │ -000020c0: e608 0000 0100 0100 0005 1500 0001 0001 ................ │ │ │ -000020d0: 0004 0700 0100 0101 0001 0200 0102 0200 ................ │ │ │ -000020e0: 0003 0f00 0400 05e2 8280 ec08 0100 01ac ................ │ │ │ -000020f0: 0105 e480 80e6 0800 0000 05ca 8080 e608 ................ │ │ │ -00002100: 0000 0100 0100 0605 0c05 050b fe80 80e0 ................ │ │ │ -00002110: 0801 05f2 8080 e608 0000 0005 3700 0001 ............7... │ │ │ -00002120: 0001 0b38 0811 0001 0202 0537 0000 0101 ...8.......7.... │ │ │ -00002130: 00ac 01ad 0101 0186 8080 f008 02ae 01af ................ │ │ │ -00002140: 0106 00af 01b5 0101 0139 05e0 01e1 01b6 .........9...... │ │ │ -00002150: 01cf 01d0 0106 0505 0505 0505 050b 3a01 ..............:. │ │ │ -00002160: 05b8 8080 e608 0000 0005 8c80 80e6 0800 ................ │ │ │ -00002170: 0001 0001 0101 e001 0101 e101 00d0 010b ................ │ │ │ -00002180: 530c 0b3c 0302 0105 e282 80ec 0801 0001 S..<............ │ │ │ -00002190: 0202 053d 0000 0101 0a08 1100 0102 0205 ...=............ │ │ │ -000021a0: b880 80e6 0800 0000 058c 8080 e608 0000 ................ │ │ │ -000021b0: 0100 0101 00ae 01b7 0101 0186 8080 f008 ................ │ │ │ -000021c0: 02b3 01b4 0106 00b4 01c8 0102 0195 8080 ................ │ │ │ -000021d0: ec08 0005 0505 0505 0505 0bdc 8980 f208 ................ │ │ │ -000021e0: 0105 c481 80e6 0800 0001 0105 8882 80ec ................ │ │ │ -000021f0: 0801 0001 0105 1500 0001 0105 2c00 0001 ............,... │ │ │ -00002200: 0b54 0b55 00b3 0101 9880 80ec 0801 d401 .T.U............ │ │ │ -00002210: 0605 0505 050b 0d01 050e 0000 0100 d401 ................ │ │ │ -00002220: 0c0b 0f03 0201 05e2 8280 ec08 0100 0102 ................ │ │ │ -00002230: 0208 0000 0005 9a81 80e6 0800 0000 0510 ................ │ │ │ -00002240: 0000 0100 0100 0005 9e80 80e6 0800 0001 ................ │ │ │ -00002250: 0001 010a 0811 0001 0202 050e 0000 0101 ................ │ │ │ -00002260: 00b3 01b2 0101 0186 8080 f008 02b8 01b9 ................ │ │ │ -00002270: 0106 0505 0505 0505 050b dc89 80f2 0801 ................ │ │ │ -00002280: 05c4 8180 e608 0000 0101 0588 8280 ec08 ................ │ │ │ -00002290: 0100 0101 0588 8080 e608 0000 0101 052c ..............., │ │ │ -000022a0: 0000 0105 0b31 0c00 b901 0b0a 082e 0000 .....1.......... │ │ │ -000022b0: 0a08 3200 000b 3300 b801 bc01 0101 8680 ..2...3......... │ │ │ -000022c0: 80f0 0802 bd01 be01 0600 be01 cb01 0201 ................ │ │ │ -000022d0: 8c80 80ec 0800 0605 0505 0505 0505 0bdc ................ │ │ │ -000022e0: 8980 f208 0105 c481 80e6 0800 0001 0105 ................ │ │ │ -000022f0: 8882 80ec 0801 0001 0105 1500 0001 0105 ................ │ │ │ -00002300: 2c00 0001 0b54 0b55 00bd 01bf 0101 0186 ,....T.U........ │ │ │ -00002310: 8080 f008 02c0 01c1 0106 0505 0505 0b27 ...............' │ │ │ -00002320: 0b28 0505 0b96 8080 e008 0b56 0505 0505 .(.........V.... │ │ │ -00002330: 0b40 0105 9080 80e6 0800 0001 0b41 0505 .@...........A.. │ │ │ -00002340: 0b42 00d4 010b 4305 050b 9680 80e0 080b .B....C......... │ │ │ -00002350: 4405 0505 050b 4001 0590 8080 e608 0000 D.....@......... │ │ │ -00002360: 010b 4105 050b 4200 c101 0b43 0b45 0bab ..A...B....C.E.. │ │ │ -00002370: 8080 ec08 00c0 01d2 0101 0186 8080 f008 ................ │ │ │ -00002380: 02db 01dc 0103 0102 00db 0100 c101 01aa ................ │ │ │ -00002390: 8080 ec08 0005 050b 4600 d401 00bd 01ec ........F....... │ │ │ -000023a0: fff6 8ef4 ecd0 8a7b b1e7 c9d2 bf93 d6f4 .......{........ │ │ │ -000023b0: db01 0056 0000 241c 0582 8080 e608 0000 ...V..$......... │ │ │ -000023c0: 0100 0304 0704 0200 0003 0f00 0901 cc00 ................ │ │ │ -000023d0: 5761 726e 696e 673a 2045 6e76 6972 6f6e Warning: Environ │ │ │ -000023e0: 6d65 6e74 2076 6172 6961 626c 6520 4167 ment variable Ag │ │ │ -000023f0: 6461 5f64 6174 6164 6972 2070 6f69 6e74 da_datadir point │ │ │ -00002400: 7320 746f 206e 6f6e 2d65 7869 7374 696e s to non-existin │ │ │ -00002410: 6720 6469 7265 6374 6f72 7920 f485 f2f7 g directory .... │ │ │ -00002420: a5e3 beb0 74e4 b5c4 c8fa bbfe f192 0100 ....t........... │ │ │ -00002430: 5300 0024 5e05 b480 80e6 0800 0000 0590 S..$^........... │ │ │ -00002440: 8080 e608 0000 0100 0100 0207 0101 0002 ................ │ │ │ -00002450: 0000 0305 0005 0b95 8080 e008 0b57 ddc6 .............W.. │ │ │ -00002460: f0c1 a796 b9c8 e701 b7cf 9898 9eb0 d1cf ................ │ │ │ -00002470: f501 0057 0000 249b 0582 8080 e608 0000 ...W..$......... │ │ │ -00002480: 0100 0304 0704 0200 0003 0f00 0901 0c41 ...............A │ │ │ -00002490: 6764 615f 6461 7461 6469 72b4 c4aa dfba gda_datadir..... │ │ │ -000024a0: 9eea f67c f5d7 99ec d99a 8aae 3000 0200 ...|........0... │ │ │ -000024b0: 0025 1703 0005 e282 80ec 0801 0001 0515 .%.............. │ │ │ -000024c0: 0000 0105 f280 80e6 0800 0000 0515 0000 ................ │ │ │ -000024d0: 0100 0100 0608 0201 0107 0002 0002 0100 ................ │ │ │ -000024e0: 0201 0001 0202 0001 0206 0202 0102 0000 ................ │ │ │ -000024f0: 030f 000c 0b58 0302 0105 e282 80ec 0801 .....X.......... │ │ │ -00002500: 0001 0202 0515 0000 0101 0a08 1100 0102 ................ │ │ │ -00002510: 0205 1500 0001 01eb e38d cff6 a2f5 8139 ...............9 │ │ │ -00002520: 94e4 8898 abc0 fef6 8601 0058 0000 2610 ...........X..&. │ │ │ -00002530: 0300 05e2 8280 ec08 0100 0105 1500 0001 ................ │ │ │ -00002540: 0300 05e2 8280 ec08 0100 0105 e480 80e6 ................ │ │ │ -00002550: 0800 0000 05ca 8080 e608 0000 0100 0108 ................ │ │ │ -00002560: 0100 0005 c881 80e6 0800 0001 0100 05c4 ................ │ │ │ -00002570: 8180 e608 0000 0101 0005 e480 80e6 0800 ................ │ │ │ -00002580: 0000 05ca 8080 e608 0000 0100 0100 0005 ................ │ │ │ -00002590: 1500 0001 0001 0006 0802 0101 0700 0200 ................ │ │ │ -000025a0: 0201 0002 0100 0102 0200 0102 0602 0201 ................ │ │ │ -000025b0: 0200 0003 0f00 0400 05e2 8280 ec08 0100 ................ │ │ │ -000025c0: 01e9 0105 1500 0001 0004 0005 e282 80ec ................ │ │ │ -000025d0: 0801 0001 ac01 05e4 8080 e608 0000 0005 ................ │ │ │ -000025e0: ca80 80e6 0800 0001 0001 0106 050b 0c00 ................ │ │ │ -000025f0: ac01 b201 0101 8680 80f0 0802 ae01 af01 ................ │ │ │ -00002600: 0301 0200 ae01 0505 0b16 00af 0100 e901 ................ │ │ │ -00002610: c783 9fce b090 af82 37a3 9ba4 ebaf e7b4 ........7....... │ │ │ -00002620: ba50 0003 0000 2696 0300 05e2 8280 ec08 .P....&......... │ │ │ -00002630: 0100 0105 8880 80e6 0800 0001 05f2 8080 ................ │ │ │ -00002640: e608 0000 0008 0000 0100 0100 0608 0201 ................ │ │ │ -00002650: 0307 0002 0002 0100 0202 0001 0202 0001 ................ │ │ │ -00002660: 0206 0203 0102 0002 0102 0000 030f 000c ................ │ │ │ -00002670: 0b59 0302 0105 e282 80ec 0801 0001 0202 .Y.............. │ │ │ -00002680: 0588 8080 e608 0000 0101 0a08 1100 0102 ................ │ │ │ -00002690: 0208 0000 0101 ad9a f2b0 99db eaa4 b201 ................ │ │ │ -000026a0: bac0 d4f6 8c99 de96 c401 0059 0000 279f ...........Y..'. │ │ │ -000026b0: 0300 05e2 8280 ec08 0100 0105 8880 80e6 ................ │ │ │ -000026c0: 0800 0001 0300 05e2 8280 ec08 0100 0105 ................ │ │ │ -000026d0: e480 80e6 0800 0000 05ca 8080 e608 0000 ................ │ │ │ -000026e0: 0100 0108 0100 0005 c881 80e6 0800 0001 ................ │ │ │ -000026f0: 0100 05c4 8180 e608 0000 0101 0005 e480 ................ │ │ │ -00002700: 80e6 0800 0000 05ca 8080 e608 0000 0100 ................ │ │ │ -00002710: 0100 0008 0000 0100 0100 0708 0201 0307 ................ │ │ │ -00002720: 0002 0002 0100 0202 0001 0202 0001 0206 ................ │ │ │ -00002730: 0203 0102 0002 0103 01aa 0100 0004 0002 ................ │ │ │ -00002740: 0002 0000 020f 0102 0100 0400 05e2 8280 ................ │ │ │ -00002750: ec08 0100 01ab 0105 8880 80e6 0800 0001 ................ │ │ │ -00002760: 0004 0005 e282 80ec 0801 0001 ac01 05e4 ................ │ │ │ -00002770: 8080 e608 0000 0005 ca80 80e6 0800 0001 ................ │ │ │ -00002780: 0001 0006 0505 0b0b 00ab 0100 ac01 b601 ................ │ │ │ -00002790: 0100 0003 0102 00b6 010b 8180 80ee 08ed ................ │ │ │ -000027a0: aaf2 f5c4 fdf4 d650 a799 c9b4 f890 f095 .......P........ │ │ │ -000027b0: 8a01 005a 0000 27ed 05b4 8080 e608 0000 ...Z..'......... │ │ │ -000027c0: 0005 2000 0001 0001 0004 0408 0307 0286 .. ............. │ │ │ -000027d0: 8080 ec08 0200 0003 0f00 0505 050b 8780 ................ │ │ │ -000027e0: 80ec 0801 0520 0000 010b 5b0b 5cef 98de ..... ....[.\... │ │ │ -000027f0: a6f7 bbe1 a4cd 01b7 b783 f6ea f1fa f555 ...............U │ │ │ -00002800: 005d 0000 2828 0520 0000 0100 0404 0803 .]..((. ........ │ │ │ -00002810: 0702 5e02 0000 030f 0005 0505 0b5f 0b60 ..^.........._.` │ │ │ -00002820: 0b61 0906 0100 e903 d2c3 b990 cbb2 faba .a.............. │ │ │ -00002830: e901 ba9d 9de2 bae5 98b6 4f00 6000 002a ..........O.`..* │ │ │ -00002840: 4205 8280 80e6 0800 0001 0003 0407 0402 B............... │ │ │ -00002850: 0000 030f 0009 01e9 037b 2d23 204f 5054 .........{-# OPT │ │ │ -00002860: 494f 4e53 202d 2d63 7562 6963 616c 2d63 IONS --cubical-c │ │ │ -00002870: 6f6d 7061 7469 626c 6520 2d2d 7361 6665 ompatible --safe │ │ │ -00002880: 202d 2d6e 6f2d 7369 7a65 642d 7479 7065 --no-sized-type │ │ │ -00002890: 7320 2d2d 6e6f 2d67 7561 7264 6564 6e65 s --no-guardedne │ │ │ -000028a0: 7373 202d 2d6c 6576 656c 2d75 6e69 7665 ss --level-unive │ │ │ -000028b0: 7273 6520 232d 7d0a 0a6d 6f64 756c 6520 rse #-}..module │ │ │ -000028c0: 4167 6461 2e42 7569 6c74 696e 2e46 726f Agda.Builtin.Fro │ │ │ -000028d0: 6d53 7472 696e 6720 7768 6572 650a 0a6f mString where..o │ │ │ -000028e0: 7065 6e20 696d 706f 7274 2041 6764 612e pen import Agda. │ │ │ -000028f0: 5072 696d 6974 6976 650a 6f70 656e 2069 Primitive.open i │ │ │ -00002900: 6d70 6f72 7420 4167 6461 2e42 7569 6c74 mport Agda.Built │ │ │ -00002910: 696e 2e53 7472 696e 670a 0a72 6563 6f72 in.String..recor │ │ │ -00002920: 6420 4973 5374 7269 6e67 207b 617d 2028 d IsString {a} ( │ │ │ -00002930: 4120 3a20 5365 7420 6129 203a 2053 6574 A : Set a) : Set │ │ │ -00002940: 2028 6c73 7563 2061 2920 7768 6572 650a (lsuc a) where. │ │ │ -00002950: 2020 6669 656c 640a 2020 2020 436f 6e73 field. Cons │ │ │ -00002960: 7472 6169 6e74 203a 2053 7472 696e 6720 traint : String │ │ │ -00002970: e286 9220 5365 7420 610a 2020 2020 6672 ... Set a. fr │ │ │ -00002980: 6f6d 5374 7269 6e67 203a 2028 7320 3a20 omString : (s : │ │ │ -00002990: 5374 7269 6e67 2920 7b7b 5f20 3a20 436f String) {{_ : Co │ │ │ -000029a0: 6e73 7472 6169 6e74 2073 7d7d 20e2 8692 nstraint s}} ... │ │ │ -000029b0: 2041 0a0a 6f70 656e 2049 7353 7472 696e A..open IsStrin │ │ │ -000029c0: 6720 7b7b 2e2e 2e7d 7d20 7075 626c 6963 g {{...}} public │ │ │ -000029d0: 2075 7369 6e67 2028 6672 6f6d 5374 7269 using (fromStri │ │ │ -000029e0: 6e67 290a 0a7b 2d23 2042 5549 4c54 494e ng)..{-# BUILTIN │ │ │ -000029f0: 2046 524f 4d53 5452 494e 4720 6672 6f6d FROMSTRING from │ │ │ -00002a00: 5374 7269 6e67 2023 2d7d 0a7b 2d23 2044 String #-}.{-# D │ │ │ -00002a10: 4953 504c 4159 2049 7353 7472 696e 672e ISPLAY IsString. │ │ │ -00002a20: 6672 6f6d 5374 7269 6e67 205f 2073 203d fromString _ s = │ │ │ -00002a30: 2066 726f 6d53 7472 696e 6720 7320 232d fromString s #- │ │ │ -00002a40: 7d0a e3b4 f3b9 8198 86fb f201 bbed 8192 }............... │ │ │ -00002a50: c9a8 dda2 0700 6200 002a 7d05 2000 0001 ......b..*}. ... │ │ │ -00002a60: 0004 0408 0307 025e 0200 0003 0f00 0505 .......^........ │ │ │ -00002a70: 050b 5f0b 630b 6109 0601 00cb 0385 afc1 .._.c.a......... │ │ │ -00002a80: b4d9 d8e7 8ab8 018f e8bf d5b9 98ea d16e ...............n │ │ │ -00002a90: 0063 0000 2c79 0582 8080 e608 0000 0100 .c..,y.......... │ │ │ -00002aa0: 0304 0704 0200 0003 0f00 0901 cb03 7b2d ..............{- │ │ │ -00002ab0: 2320 4f50 5449 4f4e 5320 2d2d 6375 6269 # OPTIONS --cubi │ │ │ -00002ac0: 6361 6c2d 636f 6d70 6174 6962 6c65 202d cal-compatible - │ │ │ -00002ad0: 2d73 6166 6520 2d2d 6e6f 2d73 697a 6564 -safe --no-sized │ │ │ -00002ae0: 2d74 7970 6573 202d 2d6e 6f2d 6775 6172 -types --no-guar │ │ │ -00002af0: 6465 646e 6573 7320 2d2d 6c65 7665 6c2d dedness --level- │ │ │ -00002b00: 756e 6976 6572 7365 2023 2d7d 0a0a 6d6f universe #-}..mo │ │ │ -00002b10: 6475 6c65 2041 6764 612e 4275 696c 7469 dule Agda.Builti │ │ │ -00002b20: 6e2e 4672 6f6d 4e65 6720 7768 6572 650a n.FromNeg where. │ │ │ -00002b30: 0a6f 7065 6e20 696d 706f 7274 2041 6764 .open import Agd │ │ │ -00002b40: 612e 5072 696d 6974 6976 650a 6f70 656e a.Primitive.open │ │ │ -00002b50: 2069 6d70 6f72 7420 4167 6461 2e42 7569 import Agda.Bui │ │ │ -00002b60: 6c74 696e 2e4e 6174 0a0a 7265 636f 7264 ltin.Nat..record │ │ │ -00002b70: 204e 6567 6174 6976 6520 7b61 7d20 2841 Negative {a} (A │ │ │ -00002b80: 203a 2053 6574 2061 2920 3a20 5365 7420 : Set a) : Set │ │ │ -00002b90: 286c 7375 6320 6129 2077 6865 7265 0a20 (lsuc a) where. │ │ │ -00002ba0: 2066 6965 6c64 0a20 2020 2043 6f6e 7374 field. Const │ │ │ -00002bb0: 7261 696e 7420 3a20 4e61 7420 e286 9220 raint : Nat ... │ │ │ -00002bc0: 5365 7420 610a 2020 2020 6672 6f6d 4e65 Set a. fromNe │ │ │ -00002bd0: 6720 3a20 e288 8020 6e20 e286 9220 7b7b g : ... n ... {{ │ │ │ -00002be0: 5f20 3a20 436f 6e73 7472 6169 6e74 206e _ : Constraint n │ │ │ -00002bf0: 7d7d 20e2 8692 2041 0a0a 6f70 656e 204e }} ... A..open N │ │ │ -00002c00: 6567 6174 6976 6520 7b7b 2e2e 2e7d 7d20 egative {{...}} │ │ │ -00002c10: 7075 626c 6963 2075 7369 6e67 2028 6672 public using (fr │ │ │ -00002c20: 6f6d 4e65 6729 0a0a 7b2d 2320 4255 494c omNeg)..{-# BUIL │ │ │ -00002c30: 5449 4e20 4652 4f4d 4e45 4720 6672 6f6d TIN FROMNEG from │ │ │ -00002c40: 4e65 6720 232d 7d0a 7b2d 2320 4449 5350 Neg #-}.{-# DISP │ │ │ -00002c50: 4c41 5920 4e65 6761 7469 7665 2e66 726f LAY Negative.fro │ │ │ -00002c60: 6d4e 6567 205f 206e 203d 2066 726f 6d4e mNeg _ n = fromN │ │ │ -00002c70: 6567 206e 2023 2d7d 0afc d8ea ea95 c1fa eg n #-}........ │ │ │ -00002c80: faad 01d6 cbb2 f9de bbd4 9962 0064 0000 ...........b.d.. │ │ │ -00002c90: 2cb4 0520 0000 0100 0404 0803 0702 5e02 ,.. ..........^. │ │ │ -00002ca0: 0000 030f 0005 0505 0b5f 0b65 0b61 0906 ........._.e.a.. │ │ │ -00002cb0: 0100 c503 d0ab fec6 e4e8 dddf c201 f389 ................ │ │ │ -00002cc0: c5a4 97aa aeaf a401 0065 0000 2eab 0582 .........e...... │ │ │ -00002cd0: 8080 e608 0000 0100 0304 0704 0200 0003 ................ │ │ │ -00002ce0: 0f00 0901 c503 7b2d 2320 4f50 5449 4f4e ......{-# OPTION │ │ │ -00002cf0: 5320 2d2d 6375 6269 6361 6c2d 636f 6d70 S --cubical-comp │ │ │ -00002d00: 6174 6962 6c65 202d 2d73 6166 6520 2d2d atible --safe -- │ │ │ -00002d10: 6e6f 2d73 697a 6564 2d74 7970 6573 202d no-sized-types - │ │ │ -00002d20: 2d6e 6f2d 6775 6172 6465 646e 6573 7320 -no-guardedness │ │ │ -00002d30: 2d2d 6c65 7665 6c2d 756e 6976 6572 7365 --level-universe │ │ │ -00002d40: 2023 2d7d 0a0a 6d6f 6475 6c65 2041 6764 #-}..module Agd │ │ │ -00002d50: 612e 4275 696c 7469 6e2e 4672 6f6d 4e61 a.Builtin.FromNa │ │ │ -00002d60: 7420 7768 6572 650a 0a6f 7065 6e20 696d t where..open im │ │ │ -00002d70: 706f 7274 2041 6764 612e 5072 696d 6974 port Agda.Primit │ │ │ -00002d80: 6976 650a 6f70 656e 2069 6d70 6f72 7420 ive.open import │ │ │ -00002d90: 4167 6461 2e42 7569 6c74 696e 2e4e 6174 Agda.Builtin.Nat │ │ │ -00002da0: 0a0a 7265 636f 7264 204e 756d 6265 7220 ..record Number │ │ │ -00002db0: 7b61 7d20 2841 203a 2053 6574 2061 2920 {a} (A : Set a) │ │ │ -00002dc0: 3a20 5365 7420 286c 7375 6320 6129 2077 : Set (lsuc a) w │ │ │ -00002dd0: 6865 7265 0a20 2066 6965 6c64 0a20 2020 here. field. │ │ │ -00002de0: 2043 6f6e 7374 7261 696e 7420 3a20 4e61 Constraint : Na │ │ │ -00002df0: 7420 e286 9220 5365 7420 610a 2020 2020 t ... Set a. │ │ │ -00002e00: 6672 6f6d 4e61 7420 3a20 e288 8020 6e20 fromNat : ... n │ │ │ -00002e10: e286 9220 7b7b 5f20 3a20 436f 6e73 7472 ... {{_ : Constr │ │ │ -00002e20: 6169 6e74 206e 7d7d 20e2 8692 2041 0a0a aint n}} ... A.. │ │ │ -00002e30: 6f70 656e 204e 756d 6265 7220 7b7b 2e2e open Number {{.. │ │ │ -00002e40: 2e7d 7d20 7075 626c 6963 2075 7369 6e67 .}} public using │ │ │ -00002e50: 2028 6672 6f6d 4e61 7429 0a0a 7b2d 2320 (fromNat)..{-# │ │ │ -00002e60: 4255 494c 5449 4e20 4652 4f4d 4e41 5420 BUILTIN FROMNAT │ │ │ -00002e70: 6672 6f6d 4e61 7420 232d 7d0a 7b2d 2320 fromNat #-}.{-# │ │ │ -00002e80: 4449 5350 4c41 5920 4e75 6d62 6572 2e66 DISPLAY Number.f │ │ │ -00002e90: 726f 6d4e 6174 205f 206e 203d 2066 726f romNat _ n = fro │ │ │ -00002ea0: 6d4e 6174 206e 2023 2d7d 0ad0 dee4 8a9d mNat n #-}...... │ │ │ -00002eb0: 87f9 d77a abb8 f9fe 9d85 91e5 6800 6600 ...z........h.f. │ │ │ -00002ec0: 002e e505 2000 0001 0004 0408 0307 025e .... ..........^ │ │ │ -00002ed0: 0200 0003 0f00 0505 050b 5f0b 670b 6109 .........._.g.a. │ │ │ -00002ee0: 0601 00bc 02a2 dc85 cfc7 de8c ee92 018b ................ │ │ │ -00002ef0: 89de 93ed 8ab3 9820 0067 0000 3052 0582 ....... .g..0R.. │ │ │ -00002f00: 8080 e608 0000 0100 0304 0704 0200 0003 ................ │ │ │ -00002f10: 0f00 0901 bc02 7b2d 2320 4f50 5449 4f4e ......{-# OPTION │ │ │ -00002f20: 5320 2d2d 6375 6269 6361 6c2d 636f 6d70 S --cubical-comp │ │ │ -00002f30: 6174 6962 6c65 202d 2d73 6166 6520 2d2d atible --safe -- │ │ │ -00002f40: 6e6f 2d73 697a 6564 2d74 7970 6573 202d no-sized-types - │ │ │ -00002f50: 2d6e 6f2d 6775 6172 6465 646e 6573 7320 -no-guardedness │ │ │ -00002f60: 2d2d 6c65 7665 6c2d 756e 6976 6572 7365 --level-universe │ │ │ -00002f70: 2023 2d7d 0a0a 6d6f 6475 6c65 2041 6764 #-}..module Agd │ │ │ -00002f80: 612e 4275 696c 7469 6e2e 466c 6f61 742e a.Builtin.Float. │ │ │ -00002f90: 5072 6f70 6572 7469 6573 2077 6865 7265 Properties where │ │ │ -00002fa0: 0a0a 6f70 656e 2069 6d70 6f72 7420 4167 ..open import Ag │ │ │ -00002fb0: 6461 2e42 7569 6c74 696e 2e46 6c6f 6174 da.Builtin.Float │ │ │ -00002fc0: 0a6f 7065 6e20 696d 706f 7274 2041 6764 .open import Agd │ │ │ -00002fd0: 612e 4275 696c 7469 6e2e 4571 7561 6c69 a.Builtin.Equali │ │ │ -00002fe0: 7479 0a0a 7072 696d 6974 6976 650a 0a20 ty..primitive.. │ │ │ -00002ff0: 2070 7269 6d46 6c6f 6174 546f 576f 7264 primFloatToWord │ │ │ -00003000: 3634 496e 6a65 6374 6976 6520 3a20 e288 64Injective : .. │ │ │ -00003010: 8020 6120 6220 e286 9220 7072 696d 466c . a b ... primFl │ │ │ -00003020: 6f61 7454 6f57 6f72 6436 3420 6120 e289 oatToWord64 a .. │ │ │ -00003030: a120 7072 696d 466c 6f61 7454 6f57 6f72 . primFloatToWor │ │ │ -00003040: 6436 3420 6220 e286 9220 6120 e289 a120 d64 b ... a ... │ │ │ -00003050: 620a d796 c1f7 86ea c4c7 05c8 cbc3 b3a5 b............... │ │ │ -00003060: 80f9 8e8e 0100 6800 0030 8d05 2000 0001 ......h..0.. ... │ │ │ -00003070: 0004 0408 0307 025e 0200 0003 0f00 0505 .......^........ │ │ │ -00003080: 050b 5f0b 690b 6109 0601 00aa 3293 e595 .._.i.a.....2... │ │ │ -00003090: a6bf a1d9 8339 93ef bacc 8ffa dfc7 1c00 .....9.......... │ │ │ -000030a0: 6900 0049 e705 8280 80e6 0800 0001 0003 i..I............ │ │ │ -000030b0: 0407 0402 0000 030f 0009 01aa 327b 2d23 ............2{-# │ │ │ -000030c0: 204f 5054 494f 4e53 202d 2d63 7562 6963 OPTIONS --cubic │ │ │ -000030d0: 616c 2d63 6f6d 7061 7469 626c 6520 2d2d al-compatible -- │ │ │ -000030e0: 7361 6665 202d 2d6e 6f2d 7369 7a65 642d safe --no-sized- │ │ │ -000030f0: 7479 7065 7320 2d2d 6e6f 2d67 7561 7264 types --no-guard │ │ │ -00003100: 6564 6e65 7373 202d 2d6c 6576 656c 2d75 edness --level-u │ │ │ -00003110: 6e69 7665 7273 6520 232d 7d0a 0a6d 6f64 niverse #-}..mod │ │ │ -00003120: 756c 6520 4167 6461 2e42 7569 6c74 696e ule Agda.Builtin │ │ │ -00003130: 2e46 6c6f 6174 2077 6865 7265 0a0a 6f70 .Float where..op │ │ │ -00003140: 656e 2069 6d70 6f72 7420 4167 6461 2e42 en import Agda.B │ │ │ -00003150: 7569 6c74 696e 2e42 6f6f 6c0a 6f70 656e uiltin.Bool.open │ │ │ -00003160: 2069 6d70 6f72 7420 4167 6461 2e42 7569 import Agda.Bui │ │ │ -00003170: 6c74 696e 2e49 6e74 0a6f 7065 6e20 696d ltin.Int.open im │ │ │ -00003180: 706f 7274 2041 6764 612e 4275 696c 7469 port Agda.Builti │ │ │ -00003190: 6e2e 4d61 7962 650a 6f70 656e 2069 6d70 n.Maybe.open imp │ │ │ -000031a0: 6f72 7420 4167 6461 2e42 7569 6c74 696e ort Agda.Builtin │ │ │ -000031b0: 2e4e 6174 0a6f 7065 6e20 696d 706f 7274 .Nat.open import │ │ │ -000031c0: 2041 6764 612e 4275 696c 7469 6e2e 5369 Agda.Builtin.Si │ │ │ -000031d0: 676d 610a 6f70 656e 2069 6d70 6f72 7420 gma.open import │ │ │ -000031e0: 4167 6461 2e42 7569 6c74 696e 2e53 7472 Agda.Builtin.Str │ │ │ -000031f0: 696e 670a 6f70 656e 2069 6d70 6f72 7420 ing.open import │ │ │ -00003200: 4167 6461 2e42 7569 6c74 696e 2e57 6f72 Agda.Builtin.Wor │ │ │ -00003210: 640a 0a70 6f73 7475 6c61 7465 2046 6c6f d..postulate Flo │ │ │ -00003220: 6174 203a 2053 6574 0a7b 2d23 2042 5549 at : Set.{-# BUI │ │ │ -00003230: 4c54 494e 2046 4c4f 4154 2046 6c6f 6174 LTIN FLOAT Float │ │ │ -00003240: 2023 2d7d 0a0a 7072 696d 6974 6976 650a #-}..primitive. │ │ │ -00003250: 2020 2d2d 2052 656c 6174 696f 6e73 0a20 -- Relations. │ │ │ -00003260: 2070 7269 6d46 6c6f 6174 496e 6571 7561 primFloatInequa │ │ │ -00003270: 6c69 7479 2020 2020 2020 2020 3a20 466c lity : Fl │ │ │ -00003280: 6f61 7420 e286 9220 466c 6f61 7420 e286 oat ... Float .. │ │ │ -00003290: 9220 426f 6f6c 0a20 2070 7269 6d46 6c6f . Bool. primFlo │ │ │ -000032a0: 6174 4571 7561 6c69 7479 2020 2020 2020 atEquality │ │ │ -000032b0: 2020 2020 3a20 466c 6f61 7420 e286 9220 : Float ... │ │ │ -000032c0: 466c 6f61 7420 e286 9220 426f 6f6c 0a20 Float ... Bool. │ │ │ -000032d0: 2070 7269 6d46 6c6f 6174 4c65 7373 2020 primFloatLess │ │ │ -000032e0: 2020 2020 2020 2020 2020 2020 3a20 466c : Fl │ │ │ -000032f0: 6f61 7420 e286 9220 466c 6f61 7420 e286 oat ... Float .. │ │ │ -00003300: 9220 426f 6f6c 0a20 2070 7269 6d46 6c6f . Bool. primFlo │ │ │ -00003310: 6174 4973 496e 6669 6e69 7465 2020 2020 atIsInfinite │ │ │ -00003320: 2020 2020 3a20 466c 6f61 7420 e286 9220 : Float ... │ │ │ -00003330: 426f 6f6c 0a20 2070 7269 6d46 6c6f 6174 Bool. primFloat │ │ │ -00003340: 4973 4e61 4e20 2020 2020 2020 2020 2020 IsNaN │ │ │ -00003350: 2020 3a20 466c 6f61 7420 e286 9220 426f : Float ... Bo │ │ │ -00003360: 6f6c 0a20 2070 7269 6d46 6c6f 6174 4973 ol. primFloatIs │ │ │ -00003370: 4e65 6761 7469 7665 5a65 726f 2020 2020 NegativeZero │ │ │ -00003380: 3a20 466c 6f61 7420 e286 9220 426f 6f6c : Float ... Bool │ │ │ -00003390: 0a20 2070 7269 6d46 6c6f 6174 4973 5361 . primFloatIsSa │ │ │ -000033a0: 6665 496e 7465 6765 7220 2020 2020 3a20 feInteger : │ │ │ -000033b0: 466c 6f61 7420 e286 9220 426f 6f6c 0a20 Float ... Bool. │ │ │ -000033c0: 202d 2d20 436f 6e76 6572 7369 6f6e 730a -- Conversions. │ │ │ -000033d0: 2020 7072 696d 466c 6f61 7454 6f57 6f72 primFloatToWor │ │ │ -000033e0: 6436 3420 2020 2020 2020 2020 203a 2046 d64 : F │ │ │ -000033f0: 6c6f 6174 20e2 8692 204d 6179 6265 2057 loat ... Maybe W │ │ │ -00003400: 6f72 6436 340a 2020 7072 696d 4e61 7454 ord64. primNatT │ │ │ -00003410: 6f46 6c6f 6174 2020 2020 2020 2020 2020 oFloat │ │ │ -00003420: 2020 203a 204e 6174 20e2 8692 2046 6c6f : Nat ... Flo │ │ │ -00003430: 6174 0a20 2070 7269 6d49 6e74 546f 466c at. primIntToFl │ │ │ -00003440: 6f61 7420 2020 2020 2020 2020 2020 2020 oat │ │ │ -00003450: 3a20 496e 7420 e286 9220 466c 6f61 740a : Int ... Float. │ │ │ -00003460: 2020 7072 696d 466c 6f61 7452 6f75 6e64 primFloatRound │ │ │ -00003470: 2020 2020 2020 2020 2020 2020 203a 2046 : F │ │ │ -00003480: 6c6f 6174 20e2 8692 204d 6179 6265 2049 loat ... Maybe I │ │ │ -00003490: 6e74 0a20 2070 7269 6d46 6c6f 6174 466c nt. primFloatFl │ │ │ -000034a0: 6f6f 7220 2020 2020 2020 2020 2020 2020 oor │ │ │ -000034b0: 3a20 466c 6f61 7420 e286 9220 4d61 7962 : Float ... Mayb │ │ │ -000034c0: 6520 496e 740a 2020 7072 696d 466c 6f61 e Int. primFloa │ │ │ -000034d0: 7443 6569 6c69 6e67 2020 2020 2020 2020 tCeiling │ │ │ -000034e0: 2020 203a 2046 6c6f 6174 20e2 8692 204d : Float ... M │ │ │ -000034f0: 6179 6265 2049 6e74 0a20 2070 7269 6d46 aybe Int. primF │ │ │ -00003500: 6c6f 6174 546f 5261 7469 6f20 2020 2020 loatToRatio │ │ │ -00003510: 2020 2020 2020 3a20 466c 6f61 7420 e286 : Float .. │ │ │ -00003520: 9220 28ce a320 496e 7420 cebb 205f 20e2 . (.. Int .. _ . │ │ │ -00003530: 8692 2049 6e74 290a 2020 7072 696d 5261 .. Int). primRa │ │ │ -00003540: 7469 6f54 6f46 6c6f 6174 2020 2020 2020 tioToFloat │ │ │ -00003550: 2020 2020 203a 2049 6e74 20e2 8692 2049 : Int ... I │ │ │ -00003560: 6e74 20e2 8692 2046 6c6f 6174 0a20 2070 nt ... Float. p │ │ │ -00003570: 7269 6d46 6c6f 6174 4465 636f 6465 2020 rimFloatDecode │ │ │ -00003580: 2020 2020 2020 2020 2020 3a20 466c 6f61 : Floa │ │ │ -00003590: 7420 e286 9220 4d61 7962 6520 28ce a320 t ... Maybe (.. │ │ │ -000035a0: 496e 7420 cebb 205f 20e2 8692 2049 6e74 Int .. _ ... Int │ │ │ -000035b0: 290a 2020 7072 696d 466c 6f61 7445 6e63 ). primFloatEnc │ │ │ -000035c0: 6f64 6520 2020 2020 2020 2020 2020 203a ode : │ │ │ -000035d0: 2049 6e74 20e2 8692 2049 6e74 20e2 8692 Int ... Int ... │ │ │ -000035e0: 204d 6179 6265 2046 6c6f 6174 0a20 2070 Maybe Float. p │ │ │ -000035f0: 7269 6d53 686f 7746 6c6f 6174 2020 2020 rimShowFloat │ │ │ -00003600: 2020 2020 2020 2020 2020 3a20 466c 6f61 : Floa │ │ │ -00003610: 7420 e286 9220 5374 7269 6e67 0a20 202d t ... String. - │ │ │ -00003620: 2d20 4f70 6572 6174 696f 6e73 0a20 2070 - Operations. p │ │ │ -00003630: 7269 6d46 6c6f 6174 506c 7573 2020 2020 rimFloatPlus │ │ │ -00003640: 2020 2020 2020 2020 2020 3a20 466c 6f61 : Floa │ │ │ -00003650: 7420 e286 9220 466c 6f61 7420 e286 9220 t ... Float ... │ │ │ -00003660: 466c 6f61 740a 2020 7072 696d 466c 6f61 Float. primFloa │ │ │ -00003670: 744d 696e 7573 2020 2020 2020 2020 2020 tMinus │ │ │ -00003680: 2020 203a 2046 6c6f 6174 20e2 8692 2046 : Float ... F │ │ │ -00003690: 6c6f 6174 20e2 8692 2046 6c6f 6174 0a20 loat ... Float. │ │ │ -000036a0: 2070 7269 6d46 6c6f 6174 5469 6d65 7320 primFloatTimes │ │ │ -000036b0: 2020 2020 2020 2020 2020 2020 3a20 466c : Fl │ │ │ -000036c0: 6f61 7420 e286 9220 466c 6f61 7420 e286 oat ... Float .. │ │ │ -000036d0: 9220 466c 6f61 740a 2020 7072 696d 466c . Float. primFl │ │ │ -000036e0: 6f61 7444 6976 2020 2020 2020 2020 2020 oatDiv │ │ │ -000036f0: 2020 2020 203a 2046 6c6f 6174 20e2 8692 : Float ... │ │ │ -00003700: 2046 6c6f 6174 20e2 8692 2046 6c6f 6174 Float ... Float │ │ │ -00003710: 0a20 2070 7269 6d46 6c6f 6174 506f 7720 . primFloatPow │ │ │ -00003720: 2020 2020 2020 2020 2020 2020 2020 3a20 : │ │ │ -00003730: 466c 6f61 7420 e286 9220 466c 6f61 7420 Float ... Float │ │ │ -00003740: e286 9220 466c 6f61 740a 2020 7072 696d ... Float. prim │ │ │ -00003750: 466c 6f61 744e 6567 6174 6520 2020 2020 FloatNegate │ │ │ -00003760: 2020 2020 2020 203a 2046 6c6f 6174 20e2 : Float . │ │ │ -00003770: 8692 2046 6c6f 6174 0a20 2070 7269 6d46 .. Float. primF │ │ │ -00003780: 6c6f 6174 5371 7274 2020 2020 2020 2020 loatSqrt │ │ │ -00003790: 2020 2020 2020 3a20 466c 6f61 7420 e286 : Float .. │ │ │ -000037a0: 9220 466c 6f61 740a 2020 7072 696d 466c . Float. primFl │ │ │ -000037b0: 6f61 7445 7870 2020 2020 2020 2020 2020 oatExp │ │ │ -000037c0: 2020 2020 203a 2046 6c6f 6174 20e2 8692 : Float ... │ │ │ -000037d0: 2046 6c6f 6174 0a20 2070 7269 6d46 6c6f Float. primFlo │ │ │ -000037e0: 6174 4c6f 6720 2020 2020 2020 2020 2020 atLog │ │ │ -000037f0: 2020 2020 3a20 466c 6f61 7420 e286 9220 : Float ... │ │ │ -00003800: 466c 6f61 740a 2020 7072 696d 466c 6f61 Float. primFloa │ │ │ -00003810: 7453 696e 2020 2020 2020 2020 2020 2020 tSin │ │ │ -00003820: 2020 203a 2046 6c6f 6174 20e2 8692 2046 : Float ... F │ │ │ -00003830: 6c6f 6174 0a20 2070 7269 6d46 6c6f 6174 loat. primFloat │ │ │ -00003840: 436f 7320 2020 2020 2020 2020 2020 2020 Cos │ │ │ -00003850: 2020 3a20 466c 6f61 7420 e286 9220 466c : Float ... Fl │ │ │ -00003860: 6f61 740a 2020 7072 696d 466c 6f61 7454 oat. primFloatT │ │ │ -00003870: 616e 2020 2020 2020 2020 2020 2020 2020 an │ │ │ -00003880: 203a 2046 6c6f 6174 20e2 8692 2046 6c6f : Float ... Flo │ │ │ -00003890: 6174 0a20 2070 7269 6d46 6c6f 6174 4153 at. primFloatAS │ │ │ -000038a0: 696e 2020 2020 2020 2020 2020 2020 2020 in │ │ │ -000038b0: 3a20 466c 6f61 7420 e286 9220 466c 6f61 : Float ... Floa │ │ │ -000038c0: 740a 2020 7072 696d 466c 6f61 7441 436f t. primFloatACo │ │ │ -000038d0: 7320 2020 2020 2020 2020 2020 2020 203a s : │ │ │ -000038e0: 2046 6c6f 6174 20e2 8692 2046 6c6f 6174 Float ... Float │ │ │ -000038f0: 0a20 2070 7269 6d46 6c6f 6174 4154 616e . primFloatATan │ │ │ -00003900: 2020 2020 2020 2020 2020 2020 2020 3a20 : │ │ │ -00003910: 466c 6f61 7420 e286 9220 466c 6f61 740a Float ... Float. │ │ │ -00003920: 2020 7072 696d 466c 6f61 7441 5461 6e32 primFloatATan2 │ │ │ -00003930: 2020 2020 2020 2020 2020 2020 203a 2046 : F │ │ │ -00003940: 6c6f 6174 20e2 8692 2046 6c6f 6174 20e2 loat ... Float . │ │ │ -00003950: 8692 2046 6c6f 6174 0a20 2070 7269 6d46 .. Float. primF │ │ │ -00003960: 6c6f 6174 5369 6e68 2020 2020 2020 2020 loatSinh │ │ │ -00003970: 2020 2020 2020 3a20 466c 6f61 7420 e286 : Float .. │ │ │ -00003980: 9220 466c 6f61 740a 2020 7072 696d 466c . Float. primFl │ │ │ -00003990: 6f61 7443 6f73 6820 2020 2020 2020 2020 oatCosh │ │ │ -000039a0: 2020 2020 203a 2046 6c6f 6174 20e2 8692 : Float ... │ │ │ -000039b0: 2046 6c6f 6174 0a20 2070 7269 6d46 6c6f Float. primFlo │ │ │ -000039c0: 6174 5461 6e68 2020 2020 2020 2020 2020 atTanh │ │ │ -000039d0: 2020 2020 3a20 466c 6f61 7420 e286 9220 : Float ... │ │ │ -000039e0: 466c 6f61 740a 2020 7072 696d 466c 6f61 Float. primFloa │ │ │ -000039f0: 7441 5369 6e68 2020 2020 2020 2020 2020 tASinh │ │ │ -00003a00: 2020 203a 2046 6c6f 6174 20e2 8692 2046 : Float ... F │ │ │ -00003a10: 6c6f 6174 0a20 2070 7269 6d46 6c6f 6174 loat. primFloat │ │ │ -00003a20: 4143 6f73 6820 2020 2020 2020 2020 2020 ACosh │ │ │ -00003a30: 2020 3a20 466c 6f61 7420 e286 9220 466c : Float ... Fl │ │ │ -00003a40: 6f61 740a 2020 7072 696d 466c 6f61 7441 oat. primFloatA │ │ │ -00003a50: 5461 6e68 2020 2020 2020 2020 2020 2020 Tanh │ │ │ -00003a60: 203a 2046 6c6f 6174 20e2 8692 2046 6c6f : Float ... Flo │ │ │ -00003a70: 6174 0a0a 7b2d 2320 434f 4d50 494c 4520 at..{-# COMPILE │ │ │ -00003a80: 4a53 0a20 2020 2070 7269 6d46 6c6f 6174 JS. primFloat │ │ │ -00003a90: 526f 756e 6420 3d20 6675 6e63 7469 6f6e Round = function │ │ │ -00003aa0: 2878 2920 7b0a 2020 2020 2020 2020 7820 (x) {. x │ │ │ -00003ab0: 3d20 6167 6461 5254 532e 5f70 7269 6d46 = agdaRTS._primF │ │ │ -00003ac0: 6c6f 6174 526f 756e 6428 7829 3b0a 2020 loatRound(x);. │ │ │ -00003ad0: 2020 2020 2020 6966 2028 7820 3d3d 3d20 if (x === │ │ │ -00003ae0: 6e75 6c6c 2920 7b0a 2020 2020 2020 2020 null) {. │ │ │ -00003af0: 2020 2020 7265 7475 726e 207a 5f6a 4167 return z_jAg │ │ │ -00003b00: 6461 5f41 6764 615f 4275 696c 7469 6e5f da_Agda_Builtin_ │ │ │ -00003b10: 4d61 7962 655b 224d 6179 6265 225d 5b22 Maybe["Maybe"][" │ │ │ -00003b20: 6e6f 7468 696e 6722 5d3b 0a20 2020 2020 nothing"];. │ │ │ -00003b30: 2020 207d 0a20 2020 2020 2020 2065 6c73 }. els │ │ │ -00003b40: 6520 7b0a 2020 2020 2020 2020 2020 2020 e {. │ │ │ -00003b50: 7265 7475 726e 207a 5f6a 4167 6461 5f41 return z_jAgda_A │ │ │ -00003b60: 6764 615f 4275 696c 7469 6e5f 4d61 7962 gda_Builtin_Mayb │ │ │ -00003b70: 655b 224d 6179 6265 225d 5b22 6a75 7374 e["Maybe"]["just │ │ │ -00003b80: 225d 2878 293b 0a20 2020 2020 2020 207d "](x);. } │ │ │ -00003b90: 0a20 2020 207d 3b0a 232d 7d0a 7b2d 2320 . };.#-}.{-# │ │ │ -00003ba0: 434f 4d50 494c 4520 4a53 0a20 2020 2070 COMPILE JS. p │ │ │ -00003bb0: 7269 6d46 6c6f 6174 466c 6f6f 7220 3d20 rimFloatFloor = │ │ │ -00003bc0: 6675 6e63 7469 6f6e 2878 2920 7b0a 2020 function(x) {. │ │ │ -00003bd0: 2020 2020 2020 7820 3d20 6167 6461 5254 x = agdaRT │ │ │ -00003be0: 532e 5f70 7269 6d46 6c6f 6174 466c 6f6f S._primFloatFloo │ │ │ -00003bf0: 7228 7829 3b0a 2020 2020 2020 2020 6966 r(x);. if │ │ │ -00003c00: 2028 7820 3d3d 3d20 6e75 6c6c 2920 7b0a (x === null) {. │ │ │ -00003c10: 2020 2020 2020 2020 2020 2020 7265 7475 retu │ │ │ -00003c20: 726e 207a 5f6a 4167 6461 5f41 6764 615f rn z_jAgda_Agda_ │ │ │ -00003c30: 4275 696c 7469 6e5f 4d61 7962 655b 224d Builtin_Maybe["M │ │ │ -00003c40: 6179 6265 225d 5b22 6e6f 7468 696e 6722 aybe"]["nothing" │ │ │ -00003c50: 5d3b 0a20 2020 2020 2020 207d 0a20 2020 ];. }. │ │ │ -00003c60: 2020 2020 2065 6c73 6520 7b0a 2020 2020 else {. │ │ │ -00003c70: 2020 2020 2020 2020 7265 7475 726e 207a return z │ │ │ -00003c80: 5f6a 4167 6461 5f41 6764 615f 4275 696c _jAgda_Agda_Buil │ │ │ -00003c90: 7469 6e5f 4d61 7962 655b 224d 6179 6265 tin_Maybe["Maybe │ │ │ -00003ca0: 225d 5b22 6a75 7374 225d 2878 293b 0a20 "]["just"](x);. │ │ │ -00003cb0: 2020 2020 2020 207d 0a20 2020 207d 3b0a }. };. │ │ │ -00003cc0: 232d 7d0a 7b2d 2320 434f 4d50 494c 4520 #-}.{-# COMPILE │ │ │ -00003cd0: 4a53 0a20 2020 2070 7269 6d46 6c6f 6174 JS. primFloat │ │ │ -00003ce0: 4365 696c 696e 6720 3d20 6675 6e63 7469 Ceiling = functi │ │ │ -00003cf0: 6f6e 2878 2920 7b0a 2020 2020 2020 2020 on(x) {. │ │ │ -00003d00: 7820 3d20 6167 6461 5254 532e 5f70 7269 x = agdaRTS._pri │ │ │ -00003d10: 6d46 6c6f 6174 4365 696c 696e 6728 7829 mFloatCeiling(x) │ │ │ -00003d20: 3b0a 2020 2020 2020 2020 6966 2028 7820 ;. if (x │ │ │ -00003d30: 3d3d 3d20 6e75 6c6c 2920 7b0a 2020 2020 === null) {. │ │ │ -00003d40: 2020 2020 2020 2020 7265 7475 726e 207a return z │ │ │ -00003d50: 5f6a 4167 6461 5f41 6764 615f 4275 696c _jAgda_Agda_Buil │ │ │ -00003d60: 7469 6e5f 4d61 7962 655b 224d 6179 6265 tin_Maybe["Maybe │ │ │ -00003d70: 225d 5b22 6e6f 7468 696e 6722 5d3b 0a20 "]["nothing"];. │ │ │ -00003d80: 2020 2020 2020 207d 0a20 2020 2020 2020 }. │ │ │ -00003d90: 2065 6c73 6520 7b0a 2020 2020 2020 2020 else {. │ │ │ -00003da0: 2020 2020 7265 7475 726e 207a 5f6a 4167 return z_jAg │ │ │ -00003db0: 6461 5f41 6764 615f 4275 696c 7469 6e5f da_Agda_Builtin_ │ │ │ -00003dc0: 4d61 7962 655b 224d 6179 6265 225d 5b22 Maybe["Maybe"][" │ │ │ -00003dd0: 6a75 7374 225d 2878 293b 0a20 2020 2020 just"](x);. │ │ │ -00003de0: 2020 207d 0a20 2020 207d 3b0a 232d 7d0a }. };.#-}. │ │ │ -00003df0: 7b2d 2320 434f 4d50 494c 4520 4a53 0a20 {-# COMPILE JS. │ │ │ -00003e00: 2020 2070 7269 6d46 6c6f 6174 546f 5261 primFloatToRa │ │ │ -00003e10: 7469 6f20 3d20 6675 6e63 7469 6f6e 2878 tio = function(x │ │ │ -00003e20: 2920 7b0a 2020 2020 2020 2020 7820 3d20 ) {. x = │ │ │ -00003e30: 6167 6461 5254 532e 5f70 7269 6d46 6c6f agdaRTS._primFlo │ │ │ -00003e40: 6174 546f 5261 7469 6f28 7829 3b0a 2020 atToRatio(x);. │ │ │ -00003e50: 2020 2020 2020 7265 7475 726e 207a 5f6a return z_j │ │ │ -00003e60: 4167 6461 5f41 6764 615f 4275 696c 7469 Agda_Agda_Builti │ │ │ -00003e70: 6e5f 5369 676d 615b 225f 2c5f 225d 2878 n_Sigma["_,_"](x │ │ │ -00003e80: 2e6e 756d 6572 6174 6f72 2928 782e 6465 .numerator)(x.de │ │ │ -00003e90: 6e6f 6d69 6e61 746f 7229 3b0a 2020 2020 nominator);. │ │ │ -00003ea0: 7d3b 0a23 2d7d 0a7b 2d23 2043 4f4d 5049 };.#-}.{-# COMPI │ │ │ -00003eb0: 4c45 204a 530a 2020 2020 7072 696d 466c LE JS. primFl │ │ │ -00003ec0: 6f61 7444 6563 6f64 6520 3d20 6675 6e63 oatDecode = func │ │ │ -00003ed0: 7469 6f6e 2878 2920 7b0a 2020 2020 2020 tion(x) {. │ │ │ -00003ee0: 2020 7820 3d20 6167 6461 5254 532e 5f70 x = agdaRTS._p │ │ │ -00003ef0: 7269 6d46 6c6f 6174 4465 636f 6465 2878 rimFloatDecode(x │ │ │ -00003f00: 293b 0a20 2020 2020 2020 2069 6620 2878 );. if (x │ │ │ -00003f10: 203d 3d3d 206e 756c 6c29 207b 0a20 2020 === null) {. │ │ │ -00003f20: 2020 2020 2020 2020 2072 6574 7572 6e20 return │ │ │ -00003f30: 7a5f 6a41 6764 615f 4167 6461 5f42 7569 z_jAgda_Agda_Bui │ │ │ -00003f40: 6c74 696e 5f4d 6179 6265 5b22 4d61 7962 ltin_Maybe["Mayb │ │ │ -00003f50: 6522 5d5b 226e 6f74 6869 6e67 225d 3b0a e"]["nothing"];. │ │ │ -00003f60: 2020 2020 2020 2020 7d0a 2020 2020 2020 }. │ │ │ -00003f70: 2020 656c 7365 207b 0a20 2020 2020 2020 else {. │ │ │ -00003f80: 2020 2020 2072 6574 7572 6e20 7a5f 6a41 return z_jA │ │ │ -00003f90: 6764 615f 4167 6461 5f42 7569 6c74 696e gda_Agda_Builtin │ │ │ -00003fa0: 5f4d 6179 6265 5b22 4d61 7962 6522 5d5b _Maybe["Maybe"][ │ │ │ -00003fb0: 226a 7573 7422 5d28 0a20 2020 2020 2020 "just"](. │ │ │ -00003fc0: 2020 2020 2020 2020 207a 5f6a 4167 6461 z_jAgda │ │ │ -00003fd0: 5f41 6764 615f 4275 696c 7469 6e5f 5369 _Agda_Builtin_Si │ │ │ -00003fe0: 676d 615b 225f 2c5f 225d 2878 2e6d 616e gma["_,_"](x.man │ │ │ -00003ff0: 7469 7373 6129 2878 2e65 7870 6f6e 656e tissa)(x.exponen │ │ │ -00004000: 7429 293b 0a20 2020 2020 2020 207d 0a20 t));. }. │ │ │ -00004010: 2020 207d 3b0a 232d 7d0a 7b2d 2320 434f };.#-}.{-# CO │ │ │ -00004020: 4d50 494c 4520 4a53 0a20 2020 2070 7269 MPILE JS. pri │ │ │ -00004030: 6d46 6c6f 6174 456e 636f 6465 203d 2066 mFloatEncode = f │ │ │ -00004040: 756e 6374 696f 6e28 7829 207b 0a20 2020 unction(x) {. │ │ │ -00004050: 2020 2020 2072 6574 7572 6e20 6675 6e63 return func │ │ │ -00004060: 7469 6f6e 2028 7929 207b 0a20 2020 2020 tion (y) {. │ │ │ -00004070: 2020 2020 2020 2078 203d 2061 6764 6152 x = agdaR │ │ │ -00004080: 5453 2e75 7072 696d 466c 6f61 7445 6e63 TS.uprimFloatEnc │ │ │ -00004090: 6f64 6528 782c 2079 293b 0a20 2020 2020 ode(x, y);. │ │ │ -000040a0: 2020 2020 2020 2069 6620 2878 203d 3d3d if (x === │ │ │ -000040b0: 206e 756c 6c29 207b 0a20 2020 2020 2020 null) {. │ │ │ -000040c0: 2020 2020 2020 2020 2072 6574 7572 6e20 return │ │ │ -000040d0: 7a5f 6a41 6764 615f 4167 6461 5f42 7569 z_jAgda_Agda_Bui │ │ │ -000040e0: 6c74 696e 5f4d 6179 6265 5b22 4d61 7962 ltin_Maybe["Mayb │ │ │ -000040f0: 6522 5d5b 226e 6f74 6869 6e67 225d 3b0a e"]["nothing"];. │ │ │ -00004100: 2020 2020 2020 2020 2020 2020 7d0a 2020 }. │ │ │ -00004110: 2020 2020 2020 2020 2020 656c 7365 207b else { │ │ │ -00004120: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ -00004130: 2072 6574 7572 6e20 7a5f 6a41 6764 615f return z_jAgda_ │ │ │ -00004140: 4167 6461 5f42 7569 6c74 696e 5f4d 6179 Agda_Builtin_May │ │ │ -00004150: 6265 5b22 4d61 7962 6522 5d5b 226a 7573 be["Maybe"]["jus │ │ │ -00004160: 7422 5d28 7829 3b0a 2020 2020 2020 2020 t"](x);. │ │ │ -00004170: 2020 2020 7d0a 2020 2020 2020 2020 7d0a }. }. │ │ │ -00004180: 2020 2020 7d3b 0a23 2d7d 0a0a 7072 696d };.#-}..prim │ │ │ -00004190: 466c 6f61 744e 756d 6572 6963 616c 4571 FloatNumericalEq │ │ │ -000041a0: 7561 6c69 7479 203d 2070 7269 6d46 6c6f uality = primFlo │ │ │ -000041b0: 6174 4571 7561 6c69 7479 0a7b 2d23 2057 atEquality.{-# W │ │ │ -000041c0: 4152 4e49 4e47 5f4f 4e5f 5553 4147 4520 ARNING_ON_USAGE │ │ │ -000041d0: 7072 696d 466c 6f61 744e 756d 6572 6963 primFloatNumeric │ │ │ -000041e0: 616c 4571 7561 6c69 7479 0a22 5761 726e alEquality."Warn │ │ │ -000041f0: 696e 673a 2070 7269 6d46 6c6f 6174 4e75 ing: primFloatNu │ │ │ -00004200: 6d65 7269 6361 6c45 7175 616c 6974 7920 mericalEquality │ │ │ -00004210: 7761 7320 6465 7072 6563 6174 6564 2069 was deprecated i │ │ │ -00004220: 6e20 4167 6461 2076 322e 362e 322e 0a50 n Agda v2.6.2..P │ │ │ -00004230: 6c65 6173 6520 7573 6520 7072 696d 466c lease use primFl │ │ │ -00004240: 6f61 7445 7175 616c 6974 7920 696e 7374 oatEquality inst │ │ │ -00004250: 6561 642e 220a 232d 7d0a 0a70 7269 6d46 ead.".#-}..primF │ │ │ -00004260: 6c6f 6174 4e75 6d65 7269 6361 6c4c 6573 loatNumericalLes │ │ │ -00004270: 7320 3d20 7072 696d 466c 6f61 744c 6573 s = primFloatLes │ │ │ -00004280: 730a 7b2d 2320 5741 524e 494e 475f 4f4e s.{-# WARNING_ON │ │ │ -00004290: 5f55 5341 4745 2070 7269 6d46 6c6f 6174 _USAGE primFloat │ │ │ -000042a0: 4e75 6d65 7269 6361 6c4c 6573 730a 2257 NumericalLess."W │ │ │ -000042b0: 6172 6e69 6e67 3a20 7072 696d 466c 6f61 arning: primFloa │ │ │ -000042c0: 744e 756d 6572 6963 616c 4c65 7373 2077 tNumericalLess w │ │ │ -000042d0: 6173 2064 6570 7265 6361 7465 6420 696e as deprecated in │ │ │ -000042e0: 2041 6764 6120 7632 2e36 2e32 2e0a 506c Agda v2.6.2..Pl │ │ │ -000042f0: 6561 7365 2075 7365 2070 7269 6d46 6c6f ease use primFlo │ │ │ -00004300: 6174 4c65 7373 2069 6e73 7465 6164 2e22 atLess instead." │ │ │ -00004310: 0a23 2d7d 0a0a 7072 696d 526f 756e 6420 .#-}..primRound │ │ │ -00004320: 3d20 7072 696d 466c 6f61 7452 6f75 6e64 = primFloatRound │ │ │ -00004330: 0a7b 2d23 2057 4152 4e49 4e47 5f4f 4e5f .{-# WARNING_ON_ │ │ │ -00004340: 5553 4147 4520 7072 696d 526f 756e 640a USAGE primRound. │ │ │ -00004350: 2257 6172 6e69 6e67 3a20 7072 696d 526f "Warning: primRo │ │ │ -00004360: 756e 6420 7761 7320 6465 7072 6563 6174 und was deprecat │ │ │ -00004370: 6564 2069 6e20 4167 6461 2076 322e 362e ed in Agda v2.6. │ │ │ -00004380: 322e 0a50 6c65 6173 6520 7573 6520 7072 2..Please use pr │ │ │ -00004390: 696d 466c 6f61 7452 6f75 6e64 2069 6e73 imFloatRound ins │ │ │ -000043a0: 7465 6164 2e22 0a23 2d7d 0a0a 7072 696d tead.".#-}..prim │ │ │ -000043b0: 466c 6f6f 7220 3d20 7072 696d 466c 6f61 Floor = primFloa │ │ │ -000043c0: 7446 6c6f 6f72 0a7b 2d23 2057 4152 4e49 tFloor.{-# WARNI │ │ │ -000043d0: 4e47 5f4f 4e5f 5553 4147 4520 7072 696d NG_ON_USAGE prim │ │ │ -000043e0: 466c 6f6f 720a 2257 6172 6e69 6e67 3a20 Floor."Warning: │ │ │ -000043f0: 7072 696d 466c 6f6f 7220 7761 7320 6465 primFloor was de │ │ │ -00004400: 7072 6563 6174 6564 2069 6e20 4167 6461 precated in Agda │ │ │ -00004410: 2076 322e 362e 322e 0a50 6c65 6173 6520 v2.6.2..Please │ │ │ -00004420: 7573 6520 7072 696d 466c 6f61 7446 6c6f use primFloatFlo │ │ │ -00004430: 6f72 2069 6e73 7465 6164 2e22 0a23 2d7d or instead.".#-} │ │ │ -00004440: 0a0a 7072 696d 4365 696c 696e 6720 3d20 ..primCeiling = │ │ │ -00004450: 7072 696d 466c 6f61 7443 6569 6c69 6e67 primFloatCeiling │ │ │ -00004460: 0a7b 2d23 2057 4152 4e49 4e47 5f4f 4e5f .{-# WARNING_ON_ │ │ │ -00004470: 5553 4147 4520 7072 696d 4365 696c 696e USAGE primCeilin │ │ │ -00004480: 670a 2257 6172 6e69 6e67 3a20 7072 696d g."Warning: prim │ │ │ -00004490: 4365 696c 696e 6720 7761 7320 6465 7072 Ceiling was depr │ │ │ -000044a0: 6563 6174 6564 2069 6e20 4167 6461 2076 ecated in Agda v │ │ │ -000044b0: 322e 362e 322e 0a50 6c65 6173 6520 7573 2.6.2..Please us │ │ │ -000044c0: 6520 7072 696d 466c 6f61 7443 6569 6c69 e primFloatCeili │ │ │ -000044d0: 6e67 2069 6e73 7465 6164 2e22 0a23 2d7d ng instead.".#-} │ │ │ -000044e0: 0a0a 7072 696d 4578 7020 3d20 7072 696d ..primExp = prim │ │ │ -000044f0: 466c 6f61 7445 7870 0a7b 2d23 2057 4152 FloatExp.{-# WAR │ │ │ -00004500: 4e49 4e47 5f4f 4e5f 5553 4147 4520 7072 NING_ON_USAGE pr │ │ │ -00004510: 696d 4578 700a 2257 6172 6e69 6e67 3a20 imExp."Warning: │ │ │ -00004520: 7072 696d 4578 7020 7761 7320 6465 7072 primExp was depr │ │ │ -00004530: 6563 6174 6564 2069 6e20 4167 6461 2076 ecated in Agda v │ │ │ -00004540: 322e 362e 322e 0a50 6c65 6173 6520 7573 2.6.2..Please us │ │ │ -00004550: 6520 7072 696d 466c 6f61 7445 7870 2069 e primFloatExp i │ │ │ -00004560: 6e73 7465 6164 2e22 0a23 2d7d 0a0a 7072 nstead.".#-}..pr │ │ │ -00004570: 696d 4c6f 6720 3d20 7072 696d 466c 6f61 imLog = primFloa │ │ │ -00004580: 744c 6f67 0a7b 2d23 2057 4152 4e49 4e47 tLog.{-# WARNING │ │ │ -00004590: 5f4f 4e5f 5553 4147 4520 7072 696d 4c6f _ON_USAGE primLo │ │ │ -000045a0: 670a 2257 6172 6e69 6e67 3a20 7072 696d g."Warning: prim │ │ │ -000045b0: 4c6f 6720 7761 7320 6465 7072 6563 6174 Log was deprecat │ │ │ -000045c0: 6564 2069 6e20 4167 6461 2076 322e 362e ed in Agda v2.6. │ │ │ -000045d0: 322e 0a50 6c65 6173 6520 7573 6520 7072 2..Please use pr │ │ │ -000045e0: 696d 466c 6f61 744c 6f67 2069 6e73 7465 imFloatLog inste │ │ │ -000045f0: 6164 2e22 0a23 2d7d 0a0a 7072 696d 5369 ad.".#-}..primSi │ │ │ -00004600: 6e20 3d20 7072 696d 466c 6f61 7453 696e n = primFloatSin │ │ │ -00004610: 0a7b 2d23 2057 4152 4e49 4e47 5f4f 4e5f .{-# WARNING_ON_ │ │ │ -00004620: 5553 4147 4520 7072 696d 5369 6e0a 2257 USAGE primSin."W │ │ │ -00004630: 6172 6e69 6e67 3a20 7072 696d 5369 6e20 arning: primSin │ │ │ -00004640: 7761 7320 6465 7072 6563 6174 6564 2069 was deprecated i │ │ │ -00004650: 6e20 4167 6461 2076 322e 362e 322e 0a50 n Agda v2.6.2..P │ │ │ -00004660: 6c65 6173 6520 7573 6520 7072 696d 466c lease use primFl │ │ │ -00004670: 6f61 7453 696e 2069 6e73 7465 6164 2e22 oatSin instead." │ │ │ -00004680: 0a23 2d7d 0a0a 7072 696d 436f 7320 3d20 .#-}..primCos = │ │ │ -00004690: 7072 696d 466c 6f61 7443 6f73 0a7b 2d23 primFloatCos.{-# │ │ │ -000046a0: 2057 4152 4e49 4e47 5f4f 4e5f 5553 4147 WARNING_ON_USAG │ │ │ -000046b0: 4520 7072 696d 436f 730a 2257 6172 6e69 E primCos."Warni │ │ │ -000046c0: 6e67 3a20 7072 696d 436f 7320 7761 7320 ng: primCos was │ │ │ -000046d0: 6465 7072 6563 6174 6564 2069 6e20 4167 deprecated in Ag │ │ │ -000046e0: 6461 2076 322e 362e 322e 0a50 6c65 6173 da v2.6.2..Pleas │ │ │ -000046f0: 6520 7573 6520 7072 696d 466c 6f61 7443 e use primFloatC │ │ │ -00004700: 6f73 2069 6e73 7465 6164 2e22 0a23 2d7d os instead.".#-} │ │ │ -00004710: 0a0a 7072 696d 5461 6e20 3d20 7072 696d ..primTan = prim │ │ │ -00004720: 466c 6f61 7454 616e 0a7b 2d23 2057 4152 FloatTan.{-# WAR │ │ │ -00004730: 4e49 4e47 5f4f 4e5f 5553 4147 4520 7072 NING_ON_USAGE pr │ │ │ -00004740: 696d 5461 6e0a 2257 6172 6e69 6e67 3a20 imTan."Warning: │ │ │ -00004750: 7072 696d 5461 6e20 7761 7320 6465 7072 primTan was depr │ │ │ -00004760: 6563 6174 6564 2069 6e20 4167 6461 2076 ecated in Agda v │ │ │ -00004770: 322e 362e 322e 0a50 6c65 6173 6520 7573 2.6.2..Please us │ │ │ -00004780: 6520 7072 696d 466c 6f61 7454 616e 2069 e primFloatTan i │ │ │ -00004790: 6e73 7465 6164 2e22 0a23 2d7d 0a0a 7072 nstead.".#-}..pr │ │ │ -000047a0: 696d 4153 696e 203d 2070 7269 6d46 6c6f imASin = primFlo │ │ │ -000047b0: 6174 4153 696e 0a7b 2d23 2057 4152 4e49 atASin.{-# WARNI │ │ │ -000047c0: 4e47 5f4f 4e5f 5553 4147 4520 7072 696d NG_ON_USAGE prim │ │ │ -000047d0: 4153 696e 0a22 5761 726e 696e 673a 2070 ASin."Warning: p │ │ │ -000047e0: 7269 6d41 5369 6e20 7761 7320 6465 7072 rimASin was depr │ │ │ -000047f0: 6563 6174 6564 2069 6e20 4167 6461 2076 ecated in Agda v │ │ │ -00004800: 322e 362e 322e 0a50 6c65 6173 6520 7573 2.6.2..Please us │ │ │ -00004810: 6520 7072 696d 466c 6f61 7441 5369 6e20 e primFloatASin │ │ │ -00004820: 696e 7374 6561 642e 220a 232d 7d0a 0a0a instead.".#-}... │ │ │ -00004830: 7072 696d 4143 6f73 203d 2070 7269 6d46 primACos = primF │ │ │ -00004840: 6c6f 6174 4143 6f73 0a7b 2d23 2057 4152 loatACos.{-# WAR │ │ │ -00004850: 4e49 4e47 5f4f 4e5f 5553 4147 4520 7072 NING_ON_USAGE pr │ │ │ -00004860: 696d 4143 6f73 0a22 5761 726e 696e 673a imACos."Warning: │ │ │ -00004870: 2070 7269 6d41 436f 7320 7761 7320 6465 primACos was de │ │ │ -00004880: 7072 6563 6174 6564 2069 6e20 4167 6461 precated in Agda │ │ │ -00004890: 2076 322e 362e 322e 0a50 6c65 6173 6520 v2.6.2..Please │ │ │ -000048a0: 7573 6520 7072 696d 466c 6f61 7441 436f use primFloatACo │ │ │ -000048b0: 7320 696e 7374 6561 642e 220a 232d 7d0a s instead.".#-}. │ │ │ -000048c0: 0a70 7269 6d41 5461 6e20 3d20 7072 696d .primATan = prim │ │ │ -000048d0: 466c 6f61 7441 5461 6e0a 7b2d 2320 5741 FloatATan.{-# WA │ │ │ -000048e0: 524e 494e 475f 4f4e 5f55 5341 4745 2070 RNING_ON_USAGE p │ │ │ -000048f0: 7269 6d41 5461 6e0a 2257 6172 6e69 6e67 rimATan."Warning │ │ │ -00004900: 3a20 7072 696d 4154 616e 2077 6173 2064 : primATan was d │ │ │ -00004910: 6570 7265 6361 7465 6420 696e 2041 6764 eprecated in Agd │ │ │ -00004920: 6120 7632 2e36 2e32 2e0a 506c 6561 7365 a v2.6.2..Please │ │ │ -00004930: 2075 7365 2070 7269 6d46 6c6f 6174 4154 use primFloatAT │ │ │ -00004940: 616e 2069 6e73 7465 6164 2e22 0a23 2d7d an instead.".#-} │ │ │ -00004950: 0a0a 7072 696d 4154 616e 3220 3d20 7072 ..primATan2 = pr │ │ │ -00004960: 696d 466c 6f61 7441 5461 6e32 0a7b 2d23 imFloatATan2.{-# │ │ │ -00004970: 2057 4152 4e49 4e47 5f4f 4e5f 5553 4147 WARNING_ON_USAG │ │ │ -00004980: 4520 7072 696d 4154 616e 320a 2257 6172 E primATan2."War │ │ │ -00004990: 6e69 6e67 3a20 7072 696d 4154 616e 3220 ning: primATan2 │ │ │ -000049a0: 7761 7320 6465 7072 6563 6174 6564 2069 was deprecated i │ │ │ -000049b0: 6e20 4167 6461 2076 322e 362e 322e 0a50 n Agda v2.6.2..P │ │ │ -000049c0: 6c65 6173 6520 7573 6520 7072 696d 466c lease use primFl │ │ │ -000049d0: 6f61 7441 5461 6e32 2069 6e73 7465 6164 oatATan2 instead │ │ │ -000049e0: 2e22 0a23 2d7d 0ab2 96ad 8c96 b6e7 90d8 .".#-}.......... │ │ │ -000049f0: 01f9 bbc9 82a1 ef92 b5c8 0100 5c00 004a ............\..J │ │ │ -00004a00: 3605 b480 80e6 0800 0000 0520 0000 0100 6.......... .... │ │ │ -00004a10: 0100 0404 0803 0702 8680 80ec 0802 0000 ................ │ │ │ -00004a20: 030f 0005 0505 0b87 8080 ec08 0105 2000 .............. . │ │ │ -00004a30: 0001 0b6a 0b6b ded6 dbfb eda8 ae89 218a ...j.k........!. │ │ │ -00004a40: cb9d 9baa d1dc 921b 006c 0000 4a70 0520 .........l..Jp. │ │ │ -00004a50: 0000 0100 0404 0803 0702 5e02 0000 030f ..........^..... │ │ │ -00004a60: 0005 0505 0b5f 0b6d 0b61 0906 0100 d201 ....._.m.a...... │ │ │ -00004a70: e0e4 b6b5 ead1 c8f9 d801 e3ce e89c cba6 ................ │ │ │ -00004a80: ab90 a601 006d 0000 4b74 0582 8080 e608 .....m..Kt...... │ │ │ -00004a90: 0000 0100 0304 0704 0200 0003 0f00 0901 ................ │ │ │ -00004aa0: d201 7b2d 2320 4f50 5449 4f4e 5320 2d2d ..{-# OPTIONS -- │ │ │ -00004ab0: 6375 6269 6361 6c2d 636f 6d70 6174 6962 cubical-compatib │ │ │ -00004ac0: 6c65 202d 2d72 6577 7269 7469 6e67 202d le --rewriting - │ │ │ -00004ad0: 2d6e 6f2d 7369 7a65 642d 7479 7065 7320 -no-sized-types │ │ │ -00004ae0: 2d2d 6e6f 2d67 7561 7264 6564 6e65 7373 --no-guardedness │ │ │ -00004af0: 202d 2d6c 6576 656c 2d75 6e69 7665 7273 --level-univers │ │ │ -00004b00: 6520 232d 7d0a 0a6d 6f64 756c 6520 4167 e #-}..module Ag │ │ │ -00004b10: 6461 2e42 7569 6c74 696e 2e45 7175 616c da.Builtin.Equal │ │ │ -00004b20: 6974 792e 5265 7772 6974 6520 7768 6572 ity.Rewrite wher │ │ │ -00004b30: 650a 0a6f 7065 6e20 696d 706f 7274 2041 e..open import A │ │ │ -00004b40: 6764 612e 4275 696c 7469 6e2e 4571 7561 gda.Builtin.Equa │ │ │ -00004b50: 6c69 7479 0a0a 7b2d 2320 4255 494c 5449 lity..{-# BUILTI │ │ │ -00004b60: 4e20 5245 5752 4954 4520 5fe2 89a1 5f20 N REWRITE _..._ │ │ │ -00004b70: 232d 7d0a d5b8 f2f5 e18b c98f 8301 8e8a #-}............. │ │ │ -00004b80: e3d9 c1d5 8eef a601 006e 0000 4bb0 0520 .........n..K.. │ │ │ -00004b90: 0000 0100 0404 0803 0702 5e02 0000 030f ..........^..... │ │ │ -00004ba0: 0005 0505 0b5f 0b6f 0b61 0906 0100 f501 ....._.o.a...... │ │ │ -00004bb0: 9eb9 e1b2 d2ac 8392 01d7 838a 909b fda8 ................ │ │ │ -00004bc0: d389 0100 6f00 004c d605 8280 80e6 0800 ....o..L........ │ │ │ -00004bd0: 0001 0003 0407 0402 0000 030f 0009 01f5 ................ │ │ │ -00004be0: 017b 2d23 204f 5054 494f 4e53 202d 2d77 .{-# OPTIONS --w │ │ │ -00004bf0: 6974 682d 4b20 2d2d 7361 6665 202d 2d6e ith-K --safe --n │ │ │ -00004c00: 6f2d 7369 7a65 642d 7479 7065 7320 2d2d o-sized-types -- │ │ │ -00004c10: 6e6f 2d67 7561 7264 6564 6e65 7373 202d no-guardedness - │ │ │ -00004c20: 2d6c 6576 656c 2d75 6e69 7665 7273 6520 -level-universe │ │ │ -00004c30: 232d 7d0a 0a6d 6f64 756c 6520 4167 6461 #-}..module Agda │ │ │ -00004c40: 2e42 7569 6c74 696e 2e45 7175 616c 6974 .Builtin.Equalit │ │ │ -00004c50: 792e 4572 6173 6520 7768 6572 650a 0a6f y.Erase where..o │ │ │ -00004c60: 7065 6e20 696d 706f 7274 2041 6764 612e pen import Agda. │ │ │ -00004c70: 4275 696c 7469 6e2e 4571 7561 6c69 7479 Builtin.Equality │ │ │ -00004c80: 0a0a 7072 696d 6974 6976 6520 7072 696d ..primitive prim │ │ │ -00004c90: 4572 6173 6545 7175 616c 6974 7920 3a20 EraseEquality : │ │ │ -00004ca0: e288 8020 7b61 7d20 7b41 203a 2053 6574 ... {a} {A : Set │ │ │ -00004cb0: 2061 7d20 7b78 2079 203a 2041 7d20 e286 a} {x y : A} .. │ │ │ -00004cc0: 9220 7820 e289 a120 7920 e286 9220 7820 . x ... y ... x │ │ │ -00004cd0: e289 a120 790a d7a9 9889 f4ed 93f6 30fd ... y.........0. │ │ │ -00004ce0: cba7 87a4 bb83 b189 0100 7000 004d 1105 ..........p..M.. │ │ │ -00004cf0: 2000 0001 0004 0408 0307 025e 0200 0003 ..........^.... │ │ │ -00004d00: 0f00 0505 050b 5f0b 710b 6109 0601 0083 ......_.q.a..... │ │ │ -00004d10: 02a5 fcd7 c6c1 c0b1 d491 01fd f7e7 cad5 ................ │ │ │ -00004d20: 82f3 dc6d 0071 0000 4e45 0582 8080 e608 ...m.q..NE...... │ │ │ -00004d30: 0000 0100 0304 0704 0200 0003 0f00 0901 ................ │ │ │ -00004d40: 8302 7b2d 2320 4f50 5449 4f4e 5320 2d2d ..{-# OPTIONS -- │ │ │ -00004d50: 6375 6269 6361 6c2d 636f 6d70 6174 6962 cubical-compatib │ │ │ -00004d60: 6c65 202d 2d73 6166 6520 2d2d 6e6f 2d73 le --safe --no-s │ │ │ -00004d70: 697a 6564 2d74 7970 6573 202d 2d6e 6f2d ized-types --no- │ │ │ -00004d80: 6775 6172 6465 646e 6573 7320 2d2d 6c65 guardedness --le │ │ │ -00004d90: 7665 6c2d 756e 6976 6572 7365 2023 2d7d vel-universe #-} │ │ │ -00004da0: 0a0a 6d6f 6475 6c65 2041 6764 612e 4275 ..module Agda.Bu │ │ │ -00004db0: 696c 7469 6e2e 4571 7561 6c69 7479 2077 iltin.Equality w │ │ │ -00004dc0: 6865 7265 0a0a 696e 6669 7820 3420 5fe2 here..infix 4 _. │ │ │ -00004dd0: 89a1 5f0a 6461 7461 205f e289 a15f 207b .._.data _..._ { │ │ │ -00004de0: 617d 207b 4120 3a20 5365 7420 617d 2028 a} {A : Set a} ( │ │ │ -00004df0: 7820 3a20 4129 203a 2041 20e2 8692 2053 x : A) : A ... S │ │ │ -00004e00: 6574 2061 2077 6865 7265 0a20 2069 6e73 et a where. ins │ │ │ -00004e10: 7461 6e63 6520 7265 666c 203a 2078 20e2 tance refl : x . │ │ │ -00004e20: 89a1 2078 0a0a 7b2d 2320 4255 494c 5449 .. x..{-# BUILTI │ │ │ -00004e30: 4e20 4551 5541 4c49 5459 205f e289 a15f N EQUALITY _..._ │ │ │ -00004e40: 2023 2d7d 0af3 dbaa 9f80 aad9 ddfd 01c5 #-}............ │ │ │ -00004e50: e08a c691 edc9 87c2 0100 7200 004e 8105 ..........r..N.. │ │ │ -00004e60: 2000 0001 0004 0408 0307 025e 0200 0003 ..........^.... │ │ │ -00004e70: 0f00 0505 050b 5f0b 730b 6109 0601 00be ......_.s.a..... │ │ │ -00004e80: 1bfe a5fc acb5 fcfd a667 838d 9c98 fcc5 .........g...... │ │ │ -00004e90: f7f8 7900 7300 005c 6f05 8280 80e6 0800 ..y.s..\o....... │ │ │ -00004ea0: 0001 0003 0407 0402 0000 030f 0009 01be ................ │ │ │ -00004eb0: 1b7b 2d23 204f 5054 494f 4e53 202d 2d65 .{-# OPTIONS --e │ │ │ -00004ec0: 7261 7365 642d 6375 6269 6361 6c20 2d2d rased-cubical -- │ │ │ -00004ed0: 7361 6665 202d 2d6e 6f2d 7369 7a65 642d safe --no-sized- │ │ │ -00004ee0: 7479 7065 7320 2d2d 6e6f 2d67 7561 7264 types --no-guard │ │ │ -00004ef0: 6564 6e65 7373 2023 2d7d 0a0a 6d6f 6475 edness #-}..modu │ │ │ -00004f00: 6c65 2041 6764 612e 4275 696c 7469 6e2e le Agda.Builtin. │ │ │ -00004f10: 4375 6269 6361 6c2e 4843 6f6d 7055 2077 Cubical.HCompU w │ │ │ -00004f20: 6865 7265 0a0a 6f70 656e 2069 6d70 6f72 here..open impor │ │ │ -00004f30: 7420 4167 6461 2e50 7269 6d69 7469 7665 t Agda.Primitive │ │ │ -00004f40: 0a6f 7065 6e20 696d 706f 7274 2041 6764 .open import Agd │ │ │ -00004f50: 612e 4275 696c 7469 6e2e 5369 676d 610a a.Builtin.Sigma. │ │ │ -00004f60: 6f70 656e 2069 6d70 6f72 7420 4167 6461 open import Agda │ │ │ -00004f70: 2e50 7269 6d69 7469 7665 2e43 7562 6963 .Primitive.Cubic │ │ │ -00004f80: 616c 2072 656e 616d 696e 6720 2870 7269 al renaming (pri │ │ │ -00004f90: 6d49 4e65 6720 746f 207e 5f3b 2070 7269 mINeg to ~_; pri │ │ │ -00004fa0: 6d49 4d61 7820 746f 205f e288 a85f 3b20 mIMax to _..._; │ │ │ -00004fb0: 7072 696d 494d 696e 2074 6f20 5fe2 88a7 primIMin to _... │ │ │ -00004fc0: 5f3b 0a20 2020 2020 2020 2020 2020 2020 _;. │ │ │ +00000020: c600 0508 7200 0501 e800 0001 0000 a8c2 ....r........... │ │ │ +00000030: 84af 9496 b0fd 6ce3 a78f c4be e497 a69a ......l......... │ │ │ +00000040: 018d fcfc c5d9 8d87 a3c4 01db 85a1 91ec ................ │ │ │ +00000050: c5ae 917f 80fd 80f1 e9a0 b192 f001 d8e1 ................ │ │ │ +00000060: 81d3 e1de ea84 f401 85cc beb3 c3eb acd4 ................ │ │ │ +00000070: 8501 ba9b 93dd 82f1 c0ff 5489 c1b6 f0df ..........T..... │ │ │ +00000080: b5a1 dc93 01f1 bed6 fe84 928d fbcd 01c9 ................ │ │ │ +00000090: c2c7 b5ad 8290 8bad 0187 c0cc 888b aba7 ................ │ │ │ +000000a0: 9a42 0000 0000 0158 0300 0200 0003 0000 .B.....X........ │ │ │ +000000b0: 0400 0605 0607 0809 0a00 0000 000a 000b ................ │ │ │ +000000c0: 0c00 0b0d 000e 0f00 1011 0012 1300 1214 ................ │ │ │ +000000d0: 0012 1500 1216 0012 1700 1218 2900 0019 ............)... │ │ │ +000000e0: 0005 1a00 051b 0005 1c00 051d 0005 1e00 ................ │ │ │ +000000f0: 051f 0005 2000 0621 0006 2200 0623 0024 .... ..!.."..#.$ │ │ │ +00000100: 2500 2627 0026 2800 0b29 000b 2a00 0b2b %.&'.&(..)..*..+ │ │ │ +00000110: 000b 2c00 0b2d 000b 2e00 0b2f 000b 3000 ..,..-...../..0. │ │ │ +00000120: 0b31 000b 3200 0b33 000b 3400 3536 0037 .1..2..3..4.56.7 │ │ │ +00000130: 3800 3739 000a 3a00 3b3c 003b 3d00 3b3e 8.79..:.;<.;=.;> │ │ │ +00000140: 003b 3f00 3b40 003b 4100 3b42 003b 4300 .;?.;@.;A.;B.;C. │ │ │ +00000150: 3b44 003b 4500 3b46 0000 0b42 e600 0102 ;D.;E.;F...B.... │ │ │ +00000160: 00a6 bcc1 b1c9 93c8 8204 e6b2 92ac b1b9 ................ │ │ │ +00000170: 8e9e 5801 cfe1 d7b4 fdfc 818a d401 bbce ..X............. │ │ │ +00000180: b7e6 a6bb d88d 1c02 0047 dcb9 e0c0 b18b .........G...... │ │ │ +00000190: c884 d301 b4bd ded6 cc83 ffcf 8601 0048 ...............H │ │ │ +000001a0: d5ca fdb9 aefa 9cf0 4ced d5bb 8ae1 ae95 ........L....... │ │ │ +000001b0: cb4f 0001 0300 8be4 bed5 d58a c0fc b001 .O.............. │ │ │ +000001c0: e881 edbb dbc7 dedd be01 01d3 86be ff87 ................ │ │ │ +000001d0: f2e9 bb8d 0180 9ba1 b293 f3b1 d178 0100 .............x.. │ │ │ +000001e0: 49a8 c1c3 f1d0 c6e1 dacf 01f9 8ebf e0e5 I............... │ │ │ +000001f0: ee8c c4af 0100 0104 0098 cff1 d193 eda9 ................ │ │ │ +00000200: be07 a4a6 8681 d186 fbfd f701 018b ba89 ................ │ │ │ +00000210: a2c5 befb 980f daf0 fdc1 b9f4 a9c7 2c01 ..............,. │ │ │ +00000220: 004a a5e3 a69a 8dd4 9395 50d1 9c82 cefc .J........P..... │ │ │ +00000230: c5e9 d828 0000 0005 4bc6 f8f6 d399 e5dd ...(....K....... │ │ │ +00000240: bcbd 01aa bb85 a1d6 948d 82fc 0100 0000 ................ │ │ │ +00000250: 054c 98ac 82b7 9fb9 aff1 8401 c8ed 9b93 .L.............. │ │ │ +00000260: 9bc4 c6b4 0f00 0000 054d c8e6 a1f6 87a6 .........M...... │ │ │ +00000270: 9aa3 20d8 b6a7 b2e7 c9ec ed93 0100 0000 .. ............. │ │ │ +00000280: 054e b6ae ed8e fdbd ea95 39f6 dc8f cd97 .N........9..... │ │ │ +00000290: 9fc3 f809 0000 0005 4fe3 d896 978c bdfe ........O....... │ │ │ +000002a0: 8f1a fdf0 d6b8 a2be adea 2000 0000 0550 .......... ....P │ │ │ +000002b0: 8b86 d3ae f4ad 98f0 b401 c5f0 f8c9 83e2 ................ │ │ │ +000002c0: fcbd 0b00 0000 0551 d0b5 f3b0 be83 cde6 .......Q........ │ │ │ +000002d0: 8201 ada3 c3ea a7ec ac8d 5900 0000 0652 ..........Y....R │ │ │ +000002e0: dcd2 f9fc b1a8 9694 9601 94db 919b dcec ................ │ │ │ +000002f0: cbda a101 0000 0006 21ee d0c8 bb85 82fb ........!....... │ │ │ +00000300: d6a2 01d2 88d5 b2cc a5e1 a630 0000 0007 ...........0.... │ │ │ +00000310: 53a8 9faa 87ad abe7 f405 b2d9 b2d3 b7a4 S............... │ │ │ +00000320: 8fec 7e00 0000 0754 a5e7 eadd cecb 88b6 ..~....T........ │ │ │ +00000330: bc01 cf8e 888e a2b7 b7e9 ab01 0000 0008 ................ │ │ │ +00000340: 55ef c7e2 96b0 f98e cba9 0197 f69f d7b8 U............... │ │ │ +00000350: 859b be39 0000 0009 56cf c5f1 cdee 8ecb ...9....V....... │ │ │ +00000360: d238 a6f0 95a3 f6ca eddd 8a01 0000 0009 .8.............. │ │ │ +00000370: 57e8 858b dac0 deb8 e403 adac 9e8c d7e0 W............... │ │ │ +00000380: aaeb 9901 0000 000b 0c8e 82c8 84a9 edc7 ................ │ │ │ +00000390: e8a6 01eb b7d2 8dab fbfd ed9a 0100 0000 ................ │ │ │ +000003a0: 0b58 8a90 eabc c5b2 88f2 b201 fee2 93e6 .X.............. │ │ │ +000003b0: 9a86 9cda 3500 0000 0b59 f4ad bdd9 d5ef ....5....Y...... │ │ │ +000003c0: f982 2eb2 f4cb fef0 eaba f432 0000 000b ...........2.... │ │ │ +000003d0: 5aff e78c d0ca 96b7 fc95 01ad ace9 ffe5 Z............... │ │ │ +000003e0: f3e5 afaa 0100 0000 0b5b e495 abb0 a4db .........[...... │ │ │ +000003f0: fec1 47ea d09b b8c9 8dd3 d4bd 0100 0000 ..G............. │ │ │ +00000400: 0b5c f4ab cd91 eeaf fb9b 8501 a7d3 9cfb .\.............. │ │ │ +00000410: e2ad abc5 6500 0000 0b5d 81ba c5e8 d48f ....e....]...... │ │ │ +00000420: 93cb ce01 b2fa 9cea e9e5 86e6 b501 0000 ................ │ │ │ +00000430: 000b 5ed7 f089 cec2 cacf d80b de8c e8ad ..^............. │ │ │ +00000440: 9c8f d1f6 0d00 0000 0b32 80c5 dfd3 bbd5 .........2...... │ │ │ +00000450: 9cf2 4c83 dae7 d1ab 9ec9 d46d 0000 000b ..L........m.... │ │ │ +00000460: 5fd9 dbed c484 df82 d45a f686 a487 bdd6 _........Z...... │ │ │ +00000470: d5bb d701 0000 000b 60af ceaa f9ca bb9d ........`....... │ │ │ +00000480: e235 abfb b2c1 c895 dcf1 8f01 0000 000b .5.............. │ │ │ +00000490: 61cb f9de ddc4 cebb a0d4 01b0 91be ddf0 a............... │ │ │ +000004a0: fa99 fc4a 0000 000b 62e2 fdf4 c7ad d088 ...J....b....... │ │ │ +000004b0: 990d cdef fe91 b6fa a3c5 b501 0000 000b ................ │ │ │ +000004c0: 6389 98ed 8ac0 88f8 b665 fcf0 caff 99d8 c........e...... │ │ │ +000004d0: 94c3 9d01 0000 000e 64c5 abb4 96b7 83be ........d....... │ │ │ +000004e0: f0a1 0188 b1a6 9af8 bf9d 837b 0000 000a ...........{.... │ │ │ +000004f0: 3ae3 8ff7 bac1 dbd9 8da8 01cc ca93 b5a0 :............... │ │ │ +00000500: 88be b084 0100 0265 9a86 aff8 b3c8 b4dd .......e........ │ │ │ +00000510: ef01 bf85 82de 80be a09a 6c00 0266 d7a0 ..........l..f.. │ │ │ +00000520: 87c7 97ad 8480 7d8c 9ca4 dfc0 b0f3 e3ea ......}......... │ │ │ +00000530: 0100 0267 a5d0 ef9a e8f4 e3f4 e001 dd82 ...g............ │ │ │ +00000540: de90 c7ab ca8b bf01 0002 68bb eaa4 c6c0 ..........h..... │ │ │ +00000550: a29d 8d77 98db cac6 81a7 aafb 1d00 0269 ...w...........i │ │ │ +00000560: b785 e4c7 b7ab a8e9 be01 f48a e3e1 cfbb ................ │ │ │ +00000570: 86e9 cf01 0002 6adb 85ee 9f95 abff a482 ......j......... │ │ │ +00000580: 01c2 9ee6 d4d6 c094 e058 0002 6b8c bf84 .........X..k... │ │ │ +00000590: a9d1 f5fd 914d c5d6 9f99 ebbc ddaa 3c00 .....M........<. │ │ │ +000005a0: 026c d5c6 8ee6 ecf0 bff4 10b9 f7d6 a693 .l.............. │ │ │ +000005b0: 8ce7 c73b 0002 6da2 f0f0 b0f5 a3c2 895b ...;..m........[ │ │ │ +000005c0: ace7 d6cb b988 d190 8d01 0002 6efa d6fa ............n... │ │ │ +000005d0: fbfd ccf6 f2dc 01cb a7e8 d498 a4bd 998d ................ │ │ │ +000005e0: 0100 026f 8eb9 dfa3 d89c c0a6 ad01 aeea ...o............ │ │ │ +000005f0: eff1 c8a6 c3ce f401 0002 70b3 a1c1 da86 ..........p..... │ │ │ +00000600: 9ad6 b3c8 01b8 ab94 d59d a2cb 8cdc 0100 ................ │ │ │ +00000610: 0271 d3d2 a0e9 d1cf c1be fb01 96a0 81a7 .q.............. │ │ │ +00000620: eec0 b884 b801 0002 729b ccc7 9afe 97c1 ........r....... │ │ │ +00000630: e179 be89 fe81 d987 85ea 1100 0273 f6e5 .y...........s.. │ │ │ +00000640: dff6 ff8e e6b9 04c5 aec5 cec8 fd8f fb73 ...............s │ │ │ +00000650: 0002 74d7 c1f0 b3da 949b c944 958b fdd9 ..t........D.... │ │ │ +00000660: ced4 b4c5 7100 0275 b0c3 b5a4 c5db d6e8 ....q..u........ │ │ │ +00000670: 158d 90a9 d6b2 f8bf faa1 0100 0276 b0fb .............v.. │ │ │ +00000680: 838f 97a0 d4ca f001 b3d8 f997 feea b386 ................ │ │ │ +00000690: ec01 0002 77d1 e1f4 dfa7 ef9e ef82 01ed ....w........... │ │ │ +000006a0: b2dd 82e1 aede f74f 0002 78e3 bbb0 b786 .......O..x..... │ │ │ +000006b0: 98a7 b634 b4fb a0b8 ee86 acbe c401 0002 ...4............ │ │ │ +000006c0: 79bf bad6 bbc8 9f9e b544 a1f7 9c96 e3d2 y........D...... │ │ │ +000006d0: edc0 5a00 027a e3ba 8cd7 bef7 d49f 4ac4 ..Z..z........J. │ │ │ +000006e0: eebe 94f3 c0f8 95b2 0100 027b d5b2 9ff7 ...........{.... │ │ │ +000006f0: 9ec7 d0fc f201 b7ff c684 95ff ff99 4000 ..............@. │ │ │ +00000700: 027c a986 bbd6 cf9a cdf8 75a8 8bc4 9dc9 .|........u..... │ │ │ +00000710: 84de e07d 0002 7d8e 86cb e690 a79e e4ce ...}..}......... │ │ │ +00000720: 01b5 f78f 9fc8 bcc7 b67d 0002 7eaf deeb .........}..~... │ │ │ +00000730: a9b5 ddf4 eeb7 01dd 9ee2 dccd d994 d164 ...............d │ │ │ +00000740: 0002 7fca d5ca 95ad 91d2 9ad1 01d5 a3ee ................ │ │ │ +00000750: c3ca 82d5 b4c3 0100 0280 018a 91a4 dfd5 ................ │ │ │ +00000760: e2f3 a6ba 01fc a8f2 93c9 e1fe f8c8 0100 ................ │ │ │ +00000770: 0281 01b3 aca8 bcd0 b6f6 ee2d b7c8 c4c4 ...........-.... │ │ │ +00000780: a9c8 b9da 3c00 0282 01f0 b9a4 b693 def6 ....<........... │ │ │ +00000790: 97d9 01da dbb4 909a dcb4 c78f 0100 0283 ................ │ │ │ +000007a0: 01e5 f6d7 f6a3 b5fa cf15 cce4 f4b1 b990 ................ │ │ │ +000007b0: e789 1700 0284 01b2 87e3 96cf a987 9dc8 ................ │ │ │ +000007c0: 01a0 d9c8 c1ea 979c c709 0002 8501 f8a8 ................ │ │ │ +000007d0: e7ad dfb9 dce4 46be ccfa cfed cc94 fc05 ......F......... │ │ │ +000007e0: 0002 8601 f1fd e5ca ec93 bac1 d801 87a8 ................ │ │ │ +000007f0: d884 aa9e c1ff c201 0002 8701 bf9b bea3 ................ │ │ │ +00000800: b0b7 b990 70d2 a18e d0a6 81fc a9a0 0100 ....p........... │ │ │ +00000810: 0288 01aa e2c0 95de e9ae 8c2e aeab b5ea ................ │ │ │ +00000820: ae8f e5ad 0400 0289 01f5 afc8 f5bf f9d4 ................ │ │ │ +00000830: 8d77 dad0 d897 a997 be83 d501 0002 8a01 .w.............. │ │ │ +00000840: 93b5 c894 a3dc baaf 2fb4 a1ac c9c6 aed0 ......../....... │ │ │ +00000850: faf5 0100 028b 01b9 aec6 8fa1 c5b2 86a9 ................ │ │ │ +00000860: 01c0 b5a8 f6f2 8bfd 8232 0002 8c01 c7cb .........2...... │ │ │ +00000870: 98b6 eb89 cbdc 0fd9 82f4 f4a5 82e8 fe42 ...............B │ │ │ +00000880: 0002 8d01 ae9b 8be7 eaa2 eb93 5b9c ad9d ............[... │ │ │ +00000890: 92e9 cdb7 8992 0100 028e 01a6 c8df c7f5 ................ │ │ │ +000008a0: 80c2 b654 ac92 c594 b5a2 ccea 3f00 028f ...T........?... │ │ │ +000008b0: 01ce b9e6 a492 ddc9 fcae 01da d9f9 c8b6 ................ │ │ │ +000008c0: d499 d3aa 0100 0290 01bc e097 e8b1 dccc ................ │ │ │ +000008d0: a8ae 01b1 c9c0 fa90 a185 e518 0002 9101 ................ │ │ │ +000008e0: d2f4 9cda 94cb b5bc f801 9c8b c9cb c1a6 ................ │ │ │ +000008f0: c9da f001 0002 9201 c994 e198 8e88 eac8 ................ │ │ │ +00000900: 729f bd9a 908c c5ac e6bf 0100 0293 019a r............... │ │ │ +00000910: e0bd c19d b5aa 8b5c fbf7 a6c3 aeba e5ef .......\........ │ │ │ +00000920: 9e01 0002 9401 fda6 8e87 bc9e a6b1 b301 ................ │ │ │ +00000930: d0aa efd8 8bef f2cf 6100 0295 0192 99fd ........a....... │ │ │ +00000940: d59a dea8 babe 01ce cbe2 aa89 c7c9 88e1 ................ │ │ │ +00000950: 0100 0296 019b 87eb e9bd ccf8 943d f89d .............=.. │ │ │ +00000960: fad5 f397 9e8f 4300 0297 01d3 b3d4 c8c7 ......C......... │ │ │ +00000970: f6c5 e741 dbcc fca9 bbd8 afa8 cd01 0002 ...A............ │ │ │ +00000980: 9801 e980 f5e5 8fe8 f99f 4cff bbbc 8c88 ..........L..... │ │ │ +00000990: d7f9 ed17 0002 9901 af83 c5b6 f080 d8d2 ................ │ │ │ +000009a0: 399d 8b9f be9a def9 a928 0002 9a01 9fba 9........(...... │ │ │ +000009b0: f9e6 84bf d9c5 9d01 e299 c3c1 86a8 c0fe ................ │ │ │ +000009c0: cc01 0002 9b01 fbb1 ede4 f1e0 e39a b101 ................ │ │ │ +000009d0: 9fdf 8fc3 c4b6 a9e3 d801 0002 9c01 b59b ................ │ │ │ +000009e0: 99bf 81d5 85f1 cf01 efbc a0ad 929c dff1 ................ │ │ │ +000009f0: 9501 0002 9d01 beb7 83d4 cc8a bfd1 cd01 ................ │ │ │ +00000a00: d5a2 ac90 c390 a081 f401 0002 9e01 f9b6 ................ │ │ │ +00000a10: eac5 ead7 e4ba 11da 91b5 93ab b8d6 8774 ...............t │ │ │ +00000a20: 0002 9f01 eaa2 bcca b3b7 c8e8 eb01 bc91 ................ │ │ │ +00000a30: af9a e682 f0ab 8801 0120 4167 6461 2e53 ......... Agda.S │ │ │ +00000a40: 6574 7570 2e44 6174 6146 696c 6573 5b54 etup.DataFiles[T │ │ │ +00000a50: 485d 2063 6861 6e67 6564 02a0 018a b79c H] changed...... │ │ │ +00000a60: 9cf2 8dd6 faac 01e9 e7f4 f589 eb8b a070 ...............p │ │ │ +00000a70: 0002 a101 d6ad cfe6 c1b8 a7c4 18ab c3a9 ................ │ │ │ +00000a80: dba4 ab96 c71e 0002 a201 efb7 c790 ecae ................ │ │ │ +00000a90: e4fc 9401 8ff8 91ed f0b2 a198 c101 0002 ................ │ │ │ +00000aa0: a301 91a1 c9f5 b4eb bcfc 2893 f6fa bd9b ..........(..... │ │ │ +00000ab0: aef5 c398 0100 02a4 019e bfa6 e9ab ddc2 ................ │ │ │ +00000ac0: d1bd 01ca 82de e8b1 deb0 d3c2 0100 02a5 ................ │ │ │ +00000ad0: 01a4 e5b3 b3bf dccd cb47 a0d4 d7b1 a7dd .........G...... │ │ │ +00000ae0: dcef d301 0002 a601 91f1 ea90 c4a0 d190 ................ │ │ │ +00000af0: 6f97 8598 a7a6 98a7 d7dd 0100 02a7 01c2 o............... │ │ │ +00000b00: 8d95 efff 94e1 bb3b d9f8 d5ec c3fa ebc4 .......;........ │ │ │ +00000b10: 3e00 02a8 01c7 dad1 b79e dcbc c2ad 01b8 >............... │ │ │ +00000b20: 8990 c481 e6a3 e5cc 0100 02a9 0199 a8b2 ................ │ │ │ +00000b30: edda 9288 c0bd 01e6 be81 9aa1 a8c5 ae93 ................ │ │ │ +00000b40: 0100 0400 0000 0100 0200 039f a2fa d09c ................ │ │ │ +00000b50: 978e 897c fa8a b4ca 9fe8 bdc9 b601 0100 ...|............ │ │ │ +00000b60: 0000 0b67 0100 0000 000b 6c00 c901 a587 ...g......l..... │ │ │ +00000b70: b4c7 83d9 a1d9 1b81 8d9d f7e7 8288 f889 ................ │ │ │ +00000b80: 0100 0400 000b aa05 d281 80e6 0800 0001 ................ │ │ │ +00000b90: 0004 0408 0307 0281 8180 ec08 0200 0003 ................ │ │ │ +00000ba0: 0f00 0505 0b05 0b06 0b07 92d1 b681 face ................ │ │ │ +00000bb0: eab9 fc01 c58c 8a95 c9e5 a194 7d00 0700 ............}... │ │ │ +00000bc0: 000b e305 d481 80e6 0800 0001 0004 0408 ................ │ │ │ +00000bd0: 0307 0287 8180 ec08 0200 0003 0f00 050b ................ │ │ │ +00000be0: 080b 0994 8091 e9b4 c5c6 dea5 0196 dfae ................ │ │ │ +00000bf0: afc9 f3e1 e412 0009 0000 0c1d 0582 8080 ................ │ │ │ +00000c00: e608 0000 0100 0304 0704 0200 0003 0f00 ................ │ │ │ +00000c10: 0901 0a41 6764 612e 5365 7475 70d6 9587 ...Agda.Setup... │ │ │ +00000c20: f0ec dace 8164 eaf5 c2dd acc1 84e2 ca01 .....d.......... │ │ │ +00000c30: 0006 0000 0c56 05d4 8180 e608 0000 0100 .....V.......... │ │ │ +00000c40: 0404 0803 0702 8781 80ec 0802 0000 030f ................ │ │ │ +00000c50: 0005 0b08 0b0a 90ba d694 80df b7d4 ad01 ................ │ │ │ +00000c60: b69f c1b4 d5bc 80b6 2800 0a00 000c a705 ........(....... │ │ │ +00000c70: 8280 80e6 0800 0001 0003 0407 0402 0000 ................ │ │ │ +00000c80: 030f 0009 0121 4167 6461 2d32 2e38 2e30 .....!Agda-2.8.0 │ │ │ +00000c90: 2d4b 7541 454b 4452 4735 7773 4652 6441 -KuAEKDRG5wsFRdA │ │ │ +00000ca0: 3577 3873 474c 438d eac2 e989 9481 f98b 5w8sGLC......... │ │ │ +00000cb0: 01de ccd4 c5b1 c0d7 bad0 0100 0b00 0015 ................ │ │ │ +00000cc0: a903 0005 e282 80ec 0801 0001 0588 8080 ................ │ │ │ +00000cd0: e608 0000 0103 0005 e282 80ec 0801 0001 ................ │ │ │ +00000ce0: 05e4 8080 e608 0000 0005 ca80 80e6 0800 ................ │ │ │ +00000cf0: 0001 0001 05e4 8080 e608 0000 0005 ca80 ................ │ │ │ +00000d00: 80e6 0800 0001 0001 0006 0802 0007 0002 ................ │ │ │ +00000d10: 0002 0100 0202 0001 0202 0001 0203 01aa ................ │ │ │ +00000d20: 0100 0004 0002 0002 0000 030f 0004 0005 ................ │ │ │ +00000d30: e282 80ec 0801 0001 ab01 0588 8080 e608 ................ │ │ │ +00000d40: 0000 0100 0400 05e2 8280 ec08 0100 01ac ................ │ │ │ +00000d50: 0105 e480 80e6 0800 0000 05ca 8080 e608 ................ │ │ │ +00000d60: 0000 0100 0100 0605 0b0c 00ac 01ad 0101 ................ │ │ │ +00000d70: 0186 8080 f008 02ae 01af 0107 00b0 0103 ................ │ │ │ +00000d80: 0005 e282 80ec 0801 0001 05e4 8080 e608 ................ │ │ │ +00000d90: 0000 0005 ca80 80e6 0800 0001 0001 05e4 ................ │ │ │ +00000da0: 8080 e608 0000 0005 ca80 80e6 0800 0001 ................ │ │ │ +00000db0: 0001 0200 0101 0001 0200 0102 0101 0400 ................ │ │ │ +00000dc0: 05e2 8280 ec08 0100 01b1 0105 e480 80e6 ................ │ │ │ +00000dd0: 0800 0000 05ca 8080 e608 0000 0100 0101 ................ │ │ │ +00000de0: 0605 0505 050b 0d01 050e 0000 0100 af01 ................ │ │ │ +00000df0: 0c0b 0f03 0201 05e2 8280 ec08 0100 0102 ................ │ │ │ +00000e00: 0208 0000 0005 9a81 80e6 0800 0000 0510 ................ │ │ │ +00000e10: 0000 0100 0100 0005 9e80 80e6 0800 0001 ................ │ │ │ +00000e20: 0001 010a 0811 0001 0202 050e 0000 0101 ................ │ │ │ +00000e30: 00b1 01b2 0101 0186 8080 f008 02b3 01b4 ................ │ │ │ +00000e40: 0106 0c00 b401 0812 0000 b501 0101 1301 ................ │ │ │ +00000e50: b601 0605 0505 0b14 0bab 8080 ec08 00b6 ................ │ │ │ +00000e60: 0100 b301 b701 0101 8680 80f0 0802 b801 ................ │ │ │ +00000e70: b901 0700 ba01 0515 0000 0100 0005 050b ................ │ │ │ +00000e80: 1600 af01 0b17 0605 0505 0505 0505 0b18 ................ │ │ │ +00000e90: 0105 1900 0001 0108 0000 0101 0800 0001 ................ │ │ │ +00000ea0: 0c04 0005 e282 80ec 0801 0001 bb01 05e4 ................ │ │ │ +00000eb0: 8080 e608 0000 0005 ca80 80e6 0800 0001 ................ │ │ │ +00000ec0: 0001 0106 0505 050b 1a00 ba01 0bab 8080 ................ │ │ │ +00000ed0: ec08 00bb 01bc 0101 0186 8080 f008 02bd ................ │ │ │ +00000ee0: 01be 0106 0505 0505 050b ce89 80f2 0801 ................ │ │ │ +00000ef0: 0588 8280 ec08 0100 0101 0588 8080 e608 ................ │ │ │ +00000f00: 0000 0101 05ca 8080 e608 0000 010b ab80 ................ │ │ │ +00000f10: 80ec 0800 bd01 bf01 0101 8680 80f0 0802 ................ │ │ │ +00000f20: c001 c101 0301 0200 c001 060c 00be 010b ................ │ │ │ +00000f30: 081b 0000 081c 0000 c201 0101 1d01 c301 ................ │ │ │ +00000f40: 0505 0b1e 00c3 0100 c101 0a08 1100 0102 ................ │ │ │ +00000f50: 0205 1900 0001 010c 0b1f 0302 0105 e282 ................ │ │ │ +00000f60: 80ec 0801 0001 0202 0519 0000 0101 0a08 ................ │ │ │ +00000f70: 1100 0102 0208 0000 0101 0c04 0005 e282 ................ │ │ │ +00000f80: 80ec 0801 0001 c401 0519 0000 0101 0400 ................ │ │ │ +00000f90: 05e2 8280 ec08 0100 01c5 0105 e480 80e6 ................ │ │ │ +00000fa0: 0800 0000 05ca 8080 e608 0000 0100 0101 ................ │ │ │ +00000fb0: 0701 01c6 0103 0005 e282 80ec 0801 0001 ................ │ │ │ +00000fc0: 05b4 8080 e608 0000 0008 0000 0005 1500 ................ │ │ │ +00000fd0: 0001 0000 0520 0000 0100 0100 0103 0005 ..... .......... │ │ │ +00000fe0: e282 80ec 0801 0001 05e4 8080 e608 0000 ................ │ │ │ +00000ff0: 0005 ca80 80e6 0800 0001 0001 0801 0000 ................ │ │ │ +00001000: 05c8 8180 e608 0000 0101 0005 c481 80e6 ................ │ │ │ +00001010: 0800 0001 0100 05e4 8080 e608 0000 0005 ................ │ │ │ +00001020: ca80 80e6 0800 0001 0001 0000 0800 0001 ................ │ │ │ +00001030: 0001 0200 0201 0002 0300 0102 0200 0102 ................ │ │ │ +00001040: 0102 0400 05e2 8280 ec08 0100 01bc 0105 ................ │ │ │ +00001050: b480 80e6 0800 0000 0800 0000 0515 0000 ................ │ │ │ +00001060: 0100 0005 2000 0001 0001 0001 0004 0005 .... ........... │ │ │ +00001070: e282 80ec 0801 0001 c701 05e4 8080 e608 ................ │ │ │ +00001080: 0000 0005 ca80 80e6 0800 0001 0001 0106 ................ │ │ │ +00001090: 00bc 01c8 0102 019e 8080 ec08 0003 0102 ................ │ │ │ +000010a0: 00c7 010b 8180 80ee 0801 8680 80ec 0802 ................ │ │ │ +000010b0: c901 ca01 0600 c901 cb01 0101 8680 80ee ................ │ │ │ +000010c0: 0802 cc01 cd01 0700 bf01 0800 0000 058c ................ │ │ │ +000010d0: 8080 e608 0000 0100 0005 8c80 80e6 0800 ................ │ │ │ +000010e0: 0001 0001 0000 0605 0b21 00cc 01ce 0101 .........!...... │ │ │ +000010f0: 0186 8080 f008 02cf 01d0 0106 00cf 01d1 ................ │ │ │ +00001100: 0102 019e 8080 ec08 0003 0002 0b22 00d0 .............".. │ │ │ +00001110: 0101 8680 80ec 0802 d201 d301 0300 0200 ................ │ │ │ +00001120: d101 00d0 0107 00d4 0105 1500 0001 0000 ................ │ │ │ +00001130: 0600 bf01 ce01 0101 8680 80ee 0802 d501 ................ │ │ │ +00001140: d601 0505 0b16 00af 0100 d501 0605 0505 ................ │ │ │ +00001150: 050b 0d01 050e 0000 0100 d401 0c0b 0f03 ................ │ │ │ +00001160: 0201 05e2 8280 ec08 0100 0102 0208 0000 ................ │ │ │ +00001170: 0005 9a81 80e6 0800 0000 0510 0000 0100 ................ │ │ │ +00001180: 0100 0005 9e80 80e6 0800 0001 0001 010a ................ │ │ │ +00001190: 0811 0001 0202 050e 0000 0101 00c7 01d2 ................ │ │ │ +000011a0: 0101 0186 8080 f008 02bd 01be 0106 0c00 ................ │ │ │ +000011b0: be01 0812 0000 ce01 0101 1301 cf01 0605 ................ │ │ │ +000011c0: 0505 0b14 0bab 8080 ec08 00cf 0100 bd01 ................ │ │ │ +000011d0: d301 0101 8680 80f0 0802 c001 c101 0700 ................ │ │ │ +000011e0: d701 0515 0000 0100 0006 00bf 01d1 0101 ................ │ │ │ +000011f0: 0186 8080 ee08 02d5 01d6 0105 050b 1600 ................ │ │ │ +00001200: d401 00d6 0106 00ab 01d1 0102 018c 8080 ................ │ │ │ +00001210: ec08 0006 0505 0505 050b 2301 0800 0001 ..........#..... │ │ │ +00001220: 00d7 010b 240c 0400 05e2 8280 ec08 0100 ....$........... │ │ │ +00001230: 01d8 0105 2500 0001 0004 0005 e282 80ec ....%........... │ │ │ +00001240: 0801 0001 d901 05e4 8080 e608 0000 0005 ................ │ │ │ +00001250: ca80 80e6 0800 0001 0001 0105 0505 0b26 ...............& │ │ │ +00001260: 00d8 0100 cd01 00d9 0103 0201 05e2 8280 ................ │ │ │ +00001270: ec08 0100 0102 0205 2500 0001 010a 0811 ........%....... │ │ │ +00001280: 0001 0202 0800 0001 0100 c001 da01 0101 ................ │ │ │ +00001290: 8680 80f0 0802 db01 dc01 0505 00c6 0100 ................ │ │ │ +000012a0: ca01 00db 0101 aa80 80ec 0800 0605 0505 ................ │ │ │ +000012b0: 050b 270b 2805 050b 9680 80e0 080b 2900 ..'.(.........). │ │ │ +000012c0: d701 0bab 8080 ec08 00c0 01da 0101 0186 ................ │ │ │ +000012d0: 8080 f008 02db 01dc 0106 0505 0505 050b ................ │ │ │ +000012e0: 2301 0800 0001 00d7 010b 240c 0400 05e2 #.........$..... │ │ │ +000012f0: 8280 ec08 0100 01d8 0105 2500 0001 0004 ..........%..... │ │ │ +00001300: 0005 e282 80ec 0801 0001 d901 05e4 8080 ................ │ │ │ +00001310: e608 0000 0005 ca80 80e6 0800 0001 0001 ................ │ │ │ +00001320: 0105 0505 0b26 00d8 0100 cd01 00d9 0103 .....&.......... │ │ │ +00001330: 0201 05e2 8280 ec08 0100 0102 0205 2500 ..............%. │ │ │ +00001340: 0001 010a 0811 0001 0202 0800 0001 0100 ................ │ │ │ +00001350: db01 dd01 0101 8680 80f0 0802 de01 df01 ................ │ │ │ +00001360: 0505 00c6 0100 ca01 00de 0105 0500 c601 ................ │ │ │ +00001370: 0b2a 00c5 0103 0201 05e2 8280 ec08 0100 .*.............. │ │ │ +00001380: 0102 0205 1900 0001 010a 0811 0001 0202 ................ │ │ │ +00001390: 0800 0001 0100 b801 bc01 0101 8680 80f0 ................ │ │ │ +000013a0: 0802 bd01 be01 0605 0505 0505 0505 0bdc ................ │ │ │ +000013b0: 8980 f208 0105 c481 80e6 0800 0001 0105 ................ │ │ │ +000013c0: 8882 80ec 0801 0001 0105 a881 80e6 0800 ................ │ │ │ +000013d0: 0000 052b 0000 0100 0008 0000 0100 0101 ...+............ │ │ │ +000013e0: 052c 0000 0104 0005 e282 80ec 0801 0001 .,.............. │ │ │ +000013f0: bb01 05e4 8080 e608 0000 0005 ca80 80e6 ................ │ │ │ +00001400: 0800 0001 0001 0106 0505 0505 0b0d 0105 ................ │ │ │ +00001410: 0e00 0001 00ba 010c 0b0f 0302 0105 e282 ................ │ │ │ +00001420: 80ec 0801 0001 0202 0800 0000 059a 8180 ................ │ │ │ +00001430: e608 0000 0005 1000 0001 0001 0000 059e ................ │ │ │ +00001440: 8080 e608 0000 0100 0101 0a08 1100 0102 ................ │ │ │ +00001450: 0205 0e00 0001 0100 bb01 bf01 0101 8680 ................ │ │ │ +00001460: 80f0 0802 c001 c101 0605 050b 2d0c 00c1 ............-... │ │ │ +00001470: 010a 082e 0000 00c0 01d2 0101 0186 8080 ................ │ │ │ +00001480: f008 02db 01dc 0103 0102 00db 0105 0505 ................ │ │ │ +00001490: 0b2f 0105 2b00 0001 0108 0000 0100 dc01 ./..+........... │ │ │ +000014a0: 0b30 00bd 01bf 0101 0186 8080 f008 02c0 .0.............. │ │ │ +000014b0: 01c1 0100 c001 0600 ab01 b501 0201 8c80 ................ │ │ │ +000014c0: 80ec 0800 0605 0505 050b 0d01 050e 0000 ................ │ │ │ +000014d0: 0100 af01 0c0b 0f03 0201 05e2 8280 ec08 ................ │ │ │ +000014e0: 0100 0102 0208 0000 0005 9a81 80e6 0800 ................ │ │ │ +000014f0: 0000 0510 0000 0100 0100 0005 9e80 80e6 ................ │ │ │ +00001500: 0800 0001 0001 010a 0811 0001 0202 050e ................ │ │ │ +00001510: 0000 0101 00ae 01b2 0101 0186 8080 f008 ................ │ │ │ +00001520: 02b3 01b4 0106 0505 0505 0505 050b dc89 ................ │ │ │ +00001530: 80f2 0801 05c4 8180 e608 0000 0101 0588 ................ │ │ │ +00001540: 8280 ec08 0100 0101 0588 8080 e608 0000 ................ │ │ │ +00001550: 0101 052c 0000 0105 0b31 0c00 b401 0b0a ...,.....1...... │ │ │ +00001560: 082e 0000 0a08 3200 000b 3300 b301 b701 ......2...3..... │ │ │ +00001570: 0101 8680 80f0 0802 b801 b901 0600 b901 ................ │ │ │ +00001580: c801 0201 8c80 80ec 0800 0500 b001 00b8 ................ │ │ │ +00001590: 0101 aa80 80ec 0800 00b8 0101 aa80 80ec ................ │ │ │ +000015a0: 0800 0500 b001 00ae 01ff bdc0 ccb5 e4d8 ................ │ │ │ +000015b0: dd68 b6e0 d78e 83f0 8096 e901 002a 0000 .h...........*.. │ │ │ +000015c0: 1614 05b4 8080 e608 0000 0008 0000 0005 ................ │ │ │ +000015d0: 1500 0001 0000 0520 0000 0100 0100 0100 ....... ........ │ │ │ +000015e0: 0207 0101 0002 0000 0300 0005 0505 050b ................ │ │ │ +000015f0: a180 80e0 0801 05b4 8080 e608 0000 0005 ................ │ │ │ +00001600: 9080 80e6 0800 0001 0001 0105 2000 0001 ............ ... │ │ │ +00001610: 0b34 0b35 a994 ebf9 abdc d5c9 0ab0 db8e .4.5............ │ │ │ +00001620: 97f3 e2cc c964 0000 0000 1660 05f2 8080 .....d.....`.... │ │ │ +00001630: e608 0000 0005 1500 0001 0001 0004 0700 ................ │ │ │ +00001640: 0100 0101 0001 0200 0102 0200 0003 0f00 ................ │ │ │ +00001650: 0c0b 360a 0811 0001 0202 0515 0000 0101 ..6............. │ │ │ +00001660: 9bc0 cc95 b0de abb6 e601 968d 9097 8b91 ................ │ │ │ +00001670: 89c3 9201 0036 0000 1943 0300 05e2 8280 .....6...C...... │ │ │ +00001680: ec08 0100 0105 e480 80e6 0800 0000 05ca ................ │ │ │ +00001690: 8080 e608 0000 0100 0108 0100 0005 c881 ................ │ │ │ +000016a0: 80e6 0800 0001 0100 05c4 8180 e608 0000 ................ │ │ │ +000016b0: 0101 0005 e480 80e6 0800 0000 05ca 8080 ................ │ │ │ +000016c0: e608 0000 0100 0100 0005 1500 0001 0001 ................ │ │ │ +000016d0: 0004 0700 0100 0101 0001 0200 0102 0200 ................ │ │ │ +000016e0: 0003 0f00 0400 05e2 8280 ec08 0100 01ac ................ │ │ │ +000016f0: 0105 e480 80e6 0800 0000 05ca 8080 e608 ................ │ │ │ +00001700: 0000 0100 0100 0605 0c05 050b fe80 80e0 ................ │ │ │ +00001710: 0801 05f2 8080 e608 0000 0005 3700 0001 ............7... │ │ │ +00001720: 0001 0b38 0811 0001 0202 0537 0000 0101 ...8.......7.... │ │ │ +00001730: 00ac 01ad 0101 0186 8080 f008 02ae 01af ................ │ │ │ +00001740: 0106 00af 01b5 0101 0139 05e0 01e1 01b6 .........9...... │ │ │ +00001750: 01cf 01d0 0106 0505 0505 0505 050b 3a01 ..............:. │ │ │ +00001760: 05b8 8080 e608 0000 0005 8c80 80e6 0800 ................ │ │ │ +00001770: 0001 0001 0101 e001 0101 e101 00d0 010b ................ │ │ │ +00001780: 3b0c 0b3c 0302 0105 e282 80ec 0801 0001 ;..<............ │ │ │ +00001790: 0202 053d 0000 0101 0a08 1100 0102 0205 ...=............ │ │ │ +000017a0: b880 80e6 0800 0000 058c 8080 e608 0000 ................ │ │ │ +000017b0: 0100 0101 00ae 01b7 0101 0186 8080 f008 ................ │ │ │ +000017c0: 02b3 01b4 0106 00b4 01c8 0102 0195 8080 ................ │ │ │ +000017d0: ec08 0005 0b3e 00b3 0101 9880 80ec 0801 .....>.......... │ │ │ +000017e0: d401 0605 0505 050b 0d01 050e 0000 0100 ................ │ │ │ +000017f0: d401 0c0b 0f03 0201 05e2 8280 ec08 0100 ................ │ │ │ +00001800: 0102 0208 0000 0005 9a81 80e6 0800 0000 ................ │ │ │ +00001810: 0510 0000 0100 0100 0005 9e80 80e6 0800 ................ │ │ │ +00001820: 0001 0001 010a 0811 0001 0202 050e 0000 ................ │ │ │ +00001830: 0101 00b3 01b2 0101 0186 8080 f008 02b8 ................ │ │ │ +00001840: 01b9 0106 0505 0505 0505 050b dc89 80f2 ................ │ │ │ +00001850: 0801 05c4 8180 e608 0000 0101 0588 8280 ................ │ │ │ +00001860: ec08 0100 0101 0588 8080 e608 0000 0101 ................ │ │ │ +00001870: 052c 0000 0105 0b31 0c00 b901 0b0a 082e .,.....1........ │ │ │ +00001880: 0000 0a08 3200 000b 3300 b801 bc01 0101 ....2...3....... │ │ │ +00001890: 8680 80f0 0802 bd01 be01 0600 be01 cb01 ................ │ │ │ +000018a0: 0201 8c80 80ec 0800 0605 0b3e 00bd 01bf ...........>.... │ │ │ +000018b0: 0101 0186 8080 f008 02c0 01c1 0106 0505 ................ │ │ │ +000018c0: 0505 0b27 0b28 0505 0b96 8080 e008 0b3f ...'.(.........? │ │ │ +000018d0: 0505 0505 0b40 0105 9080 80e6 0800 0001 .....@.......... │ │ │ +000018e0: 0b41 0505 0b42 00d4 010b 4305 050b 9680 .A...B....C..... │ │ │ +000018f0: 80e0 080b 4405 0505 050b 4001 0590 8080 ....D.....@..... │ │ │ +00001900: e608 0000 010b 4105 050b 4200 c101 0b43 ......A...B....C │ │ │ +00001910: 0b45 0bab 8080 ec08 00c0 01d2 0101 0186 .E.............. │ │ │ +00001920: 8080 f008 02db 01dc 0103 0102 00db 0100 ................ │ │ │ +00001930: c101 01aa 8080 ec08 0005 050b 4600 d401 ............F... │ │ │ +00001940: 00bd 01c8 f281 9eac e5a8 8404 849c c9cb ................ │ │ │ +00001950: 8aaf cdd4 c301 0047 0000 197b 0582 8080 .......G...{.... │ │ │ +00001960: e608 0000 0100 0304 0704 0200 0003 0f00 ................ │ │ │ +00001970: 0901 0841 4744 415f 4449 5291 feb8 e4ee ...AGDA_DIR..... │ │ │ +00001980: c5c1 e05b aa87 c993 b98b 84d3 1700 4500 ...[..........E. │ │ │ +00001990: 0019 bc05 b480 80e6 0800 0000 0590 8080 ................ │ │ │ +000019a0: e608 0000 0100 0100 0207 0101 0002 0000 ................ │ │ │ +000019b0: 0305 0005 0b95 8080 e008 0b48 a5ed b6d6 ...........H.... │ │ │ +000019c0: 8eb0 f38e 8001 d297 f29d f9ad a9e8 dd01 ................ │ │ │ +000019d0: 0048 0000 19f6 0582 8080 e608 0000 0100 .H.............. │ │ │ +000019e0: 0304 0704 0200 0003 0f00 0901 0920 696e ............. in │ │ │ +000019f0: 7374 6561 642e a3fd b3a6 abea bdc7 8201 stead........... │ │ │ +00001a00: a7f7 ace5 e8d0 caab c601 0044 0000 1a2f ...........D.../ │ │ │ +00001a10: 0582 8080 e608 0000 0100 0304 0704 0200 ................ │ │ │ +00001a20: 0003 0f00 0901 082c 2075 7369 6e67 20a3 ......., using . │ │ │ +00001a30: 8fb9 d08b 95e6 f241 f893 fa81 e2d5 c78a .......A........ │ │ │ +00001a40: f501 003f 0000 1aa8 0582 8080 e608 0000 ...?............ │ │ │ +00001a50: 0100 0304 0704 0200 0003 0f00 0901 c800 ................ │ │ │ +00001a60: 5761 726e 696e 673a 2045 6e76 6972 6f6e Warning: Environ │ │ │ +00001a70: 6d65 6e74 2076 6172 6961 626c 6520 4147 ment variable AG │ │ │ +00001a80: 4441 5f44 4952 2070 6f69 6e74 7320 746f DA_DIR points to │ │ │ +00001a90: 206e 6f6e 2d65 7869 7374 696e 6720 6469 non-existing di │ │ │ +00001aa0: 7265 6374 6f72 7920 e9e0 99e4 80a6 a99d rectory ........ │ │ │ +00001ab0: 1ea0 acd7 de8d 9283 a4de 0100 3e00 001f ............>... │ │ │ +00001ac0: 5e03 0005 e282 80ec 0801 0001 05e4 8080 ^............... │ │ │ +00001ad0: e608 0000 0005 ca80 80e6 0800 0001 0001 ................ │ │ │ +00001ae0: 0801 0000 05c8 8180 e608 0000 0101 0005 ................ │ │ │ +00001af0: c481 80e6 0800 0001 0100 05e4 8080 e608 ................ │ │ │ +00001b00: 0000 0005 ca80 80e6 0800 0001 0001 0000 ................ │ │ │ +00001b10: 0515 0000 0100 0100 0407 0001 0001 0100 ................ │ │ │ +00001b20: 0102 0001 0202 0000 030f 0004 0005 e282 ................ │ │ │ +00001b30: 80ec 0801 0001 ac01 05e4 8080 e608 0000 ................ │ │ │ +00001b40: 0005 ca80 80e6 0800 0001 0001 0006 0505 ................ │ │ │ +00001b50: 0505 0b0d 0105 0e00 0001 0b49 0c0b 0f03 ...........I.... │ │ │ +00001b60: 0201 05e2 8280 ec08 0100 0102 0208 0000 ................ │ │ │ +00001b70: 0005 9a81 80e6 0800 0000 0510 0000 0100 ................ │ │ │ +00001b80: 0100 0005 9e80 80e6 0800 0001 0001 010a ................ │ │ │ +00001b90: 0811 0001 0202 050e 0000 0101 00ac 01b2 ................ │ │ │ +00001ba0: 0101 0186 8080 f008 02ae 01af 0106 0505 ................ │ │ │ +00001bb0: 0505 0505 050b dc89 80f2 0801 05c4 8180 ................ │ │ │ +00001bc0: e608 0000 0101 0588 8280 ec08 0100 0101 ................ │ │ │ +00001bd0: 054a 0000 0101 052c 0000 0105 0b4b 0c00 .J.....,.....K.. │ │ │ +00001be0: af01 0b0a 082e 0000 0a08 3200 000b 4c00 ..........2...L. │ │ │ +00001bf0: ae01 ad01 0101 8680 80f0 0802 b301 b401 ................ │ │ │ +00001c00: 060c 00b4 010b 0832 0000 0b08 2e00 0008 .......2........ │ │ │ +00001c10: 1200 00b5 0101 0113 01e2 0107 00e3 0105 ................ │ │ │ +00001c20: 9c80 80e6 0800 0001 0000 050b fa85 80f2 ................ │ │ │ +00001c30: 0800 e201 0605 0505 0be6 8580 f208 0105 ................ │ │ │ +00001c40: ca80 80e6 0800 0001 00e3 0100 b301 b701 ................ │ │ │ +00001c50: 0101 8680 80f0 0802 b801 b901 0605 0505 ................ │ │ │ +00001c60: 0bf6 8580 f208 0105 ca80 80e6 0800 0001 ................ │ │ │ +00001c70: 00b9 0100 b801 c801 0101 8680 80f0 0802 ................ │ │ │ +00001c80: bb01 e401 0605 0505 0505 0505 050b f08a ................ │ │ │ +00001c90: 80f2 0801 058b 8280 ec08 0100 0101 05d8 ................ │ │ │ +00001ca0: 8180 ec08 0100 0005 8680 80ec 0801 0000 ................ │ │ │ +00001cb0: 05be 8180 e608 0000 0101 0005 c881 80e6 ................ │ │ │ +00001cc0: 0800 0001 0000 0586 8080 ec08 0100 0005 ................ │ │ │ +00001cd0: be81 80e6 0800 0001 0100 05c4 8180 e608 ................ │ │ │ +00001ce0: 0000 0100 0005 9e80 80ec 0801 0000 05be ................ │ │ │ +00001cf0: 8180 e608 0000 0101 0100 0100 0100 0101 ................ │ │ │ +00001d00: 058a 8080 e608 0000 0101 05ca 8080 e608 ................ │ │ │ +00001d10: 0000 0101 0801 0000 05c8 8180 e608 0000 ................ │ │ │ +00001d20: 0101 0005 c481 80e6 0800 0001 0100 05e4 ................ │ │ │ +00001d30: 8080 e608 0000 0005 ca80 80e6 0800 0001 ................ │ │ │ +00001d40: 0001 0000 058c 8080 e608 0000 0100 0100 ................ │ │ │ +00001d50: e401 00bb 0104 0005 e282 80ec 0801 0001 ................ │ │ │ +00001d60: b101 05e4 8080 e608 0000 0005 ca80 80e6 ................ │ │ │ +00001d70: 0800 0001 0001 0107 00e5 0105 8280 80e6 ................ │ │ │ +00001d80: 0800 0001 0000 050b ee85 80f2 0800 e401 ................ │ │ │ +00001d90: 0605 0505 0505 050b bc87 80f2 0801 05ca ................ │ │ │ +00001da0: 8080 e608 0000 0100 e201 0906 0100 0000 ................ │ │ │ +00001db0: e501 00e3 0100 b101 e601 0100 0005 050b ................ │ │ │ +00001dc0: 4d03 0002 0505 0b4e 0105 1000 0001 00e5 M......N........ │ │ │ +00001dd0: 0105 0b93 8080 ec08 00e3 0100 e601 bc01 ................ │ │ │ +00001de0: 0101 8680 80f0 0802 bd01 be01 0605 0505 ................ │ │ │ +00001df0: 050b 0d01 050e 0000 0100 be01 0c0b 0f03 ................ │ │ │ +00001e00: 0201 05e2 8280 ec08 0100 0102 0208 0000 ................ │ │ │ +00001e10: 0005 9a81 80e6 0800 0000 0510 0000 0100 ................ │ │ │ +00001e20: 0100 0005 9e80 80e6 0800 0001 0001 010a ................ │ │ │ +00001e30: 0811 0001 0202 050e 0000 0101 00bd 01bf ................ │ │ │ +00001e40: 0101 0186 8080 f008 02c0 01c1 0106 0505 ................ │ │ │ +00001e50: 0505 0505 050b dc89 80f2 0801 05c4 8180 ................ │ │ │ +00001e60: e608 0000 0101 0588 8280 ec08 0100 0101 ................ │ │ │ +00001e70: 0588 8080 e608 0000 0101 052c 0000 0105 ...........,.... │ │ │ +00001e80: 0b31 0c00 c101 0b0a 082e 0000 0a08 3200 .1............2. │ │ │ +00001e90: 000b 3300 c001 d201 0101 8680 80f0 0802 ..3............. │ │ │ +00001ea0: db01 dc01 0600 dc01 cb01 0201 8c80 80ec ................ │ │ │ +00001eb0: 0800 0605 0505 050b 0d01 050e 0000 010b ................ │ │ │ +00001ec0: 490c 0b0f 0302 0105 e282 80ec 0801 0001 I............... │ │ │ +00001ed0: 0202 0800 0000 059a 8180 e608 0000 0005 ................ │ │ │ +00001ee0: 1000 0001 0001 0000 059e 8080 e608 0000 ................ │ │ │ +00001ef0: 0100 0101 0a08 1100 0102 0205 0e00 0001 ................ │ │ │ +00001f00: 0100 db01 d301 0101 8680 80f0 0802 de01 ................ │ │ │ +00001f10: df01 0605 0505 0b4f 0b50 0c00 df01 0b0a .......O.P...... │ │ │ +00001f20: 082e 0000 0a08 3200 0000 de01 da01 0101 ......2......... │ │ │ +00001f30: 8680 80f0 0802 e701 e801 0505 0b51 0c00 .............Q.. │ │ │ +00001f40: e801 0b08 3200 0008 2e00 0000 e701 01aa ....2........... │ │ │ +00001f50: 8080 ec08 0003 0102 00db 0100 be01 daa9 ................ │ │ │ +00001f60: bfa6 8b96 f5f1 72e2 dcd3 f5a8 f382 ef28 ......r........( │ │ │ +00001f70: 0049 0000 1f9f 05b4 8080 e608 0000 0005 .I.............. │ │ │ +00001f80: 9080 80e6 0800 0001 0001 0002 0701 0100 ................ │ │ │ +00001f90: 0200 0003 0500 050b 9580 80e0 080b 5285 ..............R. │ │ │ +00001fa0: b580 a8a3 bdcc 8350 efa8 91c0 8bae e9a1 .......P........ │ │ │ +00001fb0: ca01 0052 0000 1fd3 0582 8080 e608 0000 ...R............ │ │ │ +00001fc0: 0100 0304 0704 0200 0003 0f00 0901 0461 ...............a │ │ │ +00001fd0: 6764 61d6 99c0 dec2 a4e0 ab2c f39b ddc5 gda........,.... │ │ │ +00001fe0: a1f1 bdf9 3d00 3b00 0020 1405 b480 80e6 ....=.;.. ...... │ │ │ +00001ff0: 0800 0000 0590 8080 e608 0000 0100 0100 ................ │ │ │ +00002000: 0207 0101 0002 0000 0305 0005 0b95 8080 ................ │ │ │ +00002010: e008 0b47 f280 fa80 a9db c3bf 8c01 ebde ...G............ │ │ │ +00002020: 9299 fcc0 e6aa 8d01 0001 0000 2062 05f2 ............ b.. │ │ │ +00002030: 8080 e608 0000 0005 1500 0001 0001 0004 ................ │ │ │ +00002040: 0700 0100 0101 0001 0200 0102 0200 0003 ................ │ │ │ +00002050: 0f00 0c0b 0c0a 0811 0001 0202 0515 0000 ................ │ │ │ +00002060: 0101 aec8 b2cf 9086 e6f8 a301 cef9 c3f5 ................ │ │ │ +00002070: 8fd5 82e1 0b00 0c00 0023 a003 0005 e282 .........#...... │ │ │ +00002080: 80ec 0801 0001 05e4 8080 e608 0000 0005 ................ │ │ │ +00002090: ca80 80e6 0800 0001 0001 0801 0000 05c8 ................ │ │ │ +000020a0: 8180 e608 0000 0101 0005 c481 80e6 0800 ................ │ │ │ +000020b0: 0001 0100 05e4 8080 e608 0000 0005 ca80 ................ │ │ │ +000020c0: 80e6 0800 0001 0001 0000 0515 0000 0100 ................ │ │ │ +000020d0: 0100 0407 0001 0001 0100 0102 0001 0202 ................ │ │ │ +000020e0: 0000 030f 0004 0005 e282 80ec 0801 0001 ................ │ │ │ +000020f0: ac01 05e4 8080 e608 0000 0005 ca80 80e6 ................ │ │ │ +00002100: 0800 0001 0001 0006 050c 0505 0bfe 8080 ................ │ │ │ +00002110: e008 0105 f280 80e6 0800 0000 0537 0000 .............7.. │ │ │ +00002120: 0100 010b 3808 1100 0102 0205 3700 0001 ....8.......7... │ │ │ +00002130: 0100 ac01 ad01 0101 8680 80f0 0802 ae01 ................ │ │ │ +00002140: af01 0600 af01 b501 0101 3905 e001 e101 ..........9..... │ │ │ +00002150: b601 cf01 d001 0605 0505 0505 0505 0b3a ...............: │ │ │ +00002160: 0105 b880 80e6 0800 0000 058c 8080 e608 ................ │ │ │ +00002170: 0000 0100 0101 01e0 0101 01e1 0100 d001 ................ │ │ │ +00002180: 0b53 0c0b 3c03 0201 05e2 8280 ec08 0100 .S..<........... │ │ │ +00002190: 0102 0205 3d00 0001 010a 0811 0001 0202 ....=........... │ │ │ +000021a0: 05b8 8080 e608 0000 0005 8c80 80e6 0800 ................ │ │ │ +000021b0: 0001 0001 0100 ae01 b701 0101 8680 80f0 ................ │ │ │ +000021c0: 0802 b301 b401 0600 b401 c801 0201 9580 ................ │ │ │ +000021d0: 80ec 0800 0505 0505 0505 050b dc89 80f2 ................ │ │ │ +000021e0: 0801 05c4 8180 e608 0000 0101 0588 8280 ................ │ │ │ +000021f0: ec08 0100 0101 0515 0000 0101 052c 0000 .............,.. │ │ │ +00002200: 010b 540b 5500 b301 0198 8080 ec08 01d4 ..T.U........... │ │ │ +00002210: 0106 0505 0505 0b0d 0105 0e00 0001 00d4 ................ │ │ │ +00002220: 010c 0b0f 0302 0105 e282 80ec 0801 0001 ................ │ │ │ +00002230: 0202 0800 0000 059a 8180 e608 0000 0005 ................ │ │ │ +00002240: 1000 0001 0001 0000 059e 8080 e608 0000 ................ │ │ │ +00002250: 0100 0101 0a08 1100 0102 0205 0e00 0001 ................ │ │ │ +00002260: 0100 b301 b201 0101 8680 80f0 0802 b801 ................ │ │ │ +00002270: b901 0605 0505 0505 0505 0bdc 8980 f208 ................ │ │ │ +00002280: 0105 c481 80e6 0800 0001 0105 8882 80ec ................ │ │ │ +00002290: 0801 0001 0105 8880 80e6 0800 0001 0105 ................ │ │ │ +000022a0: 2c00 0001 050b 310c 00b9 010b 0a08 2e00 ,.....1......... │ │ │ +000022b0: 000a 0832 0000 0b33 00b8 01bc 0101 0186 ...2...3........ │ │ │ +000022c0: 8080 f008 02bd 01be 0106 00be 01cb 0102 ................ │ │ │ +000022d0: 018c 8080 ec08 0006 0505 0505 0505 050b ................ │ │ │ +000022e0: dc89 80f2 0801 05c4 8180 e608 0000 0101 ................ │ │ │ +000022f0: 0588 8280 ec08 0100 0101 0515 0000 0101 ................ │ │ │ +00002300: 052c 0000 010b 540b 5500 bd01 bf01 0101 .,....T.U....... │ │ │ +00002310: 8680 80f0 0802 c001 c101 0605 0505 050b ................ │ │ │ +00002320: 270b 2805 050b 9680 80e0 080b 5605 0505 '.(.........V... │ │ │ +00002330: 050b 4001 0590 8080 e608 0000 010b 4105 ..@...........A. │ │ │ +00002340: 050b 4200 d401 0b43 0505 0b96 8080 e008 ..B....C........ │ │ │ +00002350: 0b44 0505 0505 0b40 0105 9080 80e6 0800 .D.....@........ │ │ │ +00002360: 0001 0b41 0505 0b42 00c1 010b 430b 450b ...A...B....C.E. │ │ │ +00002370: ab80 80ec 0800 c001 d201 0101 8680 80f0 ................ │ │ │ +00002380: 0802 db01 dc01 0301 0200 db01 00c1 0101 ................ │ │ │ +00002390: aa80 80ec 0800 0505 0b46 00d4 0100 bd01 .........F...... │ │ │ +000023a0: ecff f68e f4ec d08a 7bb1 e7c9 d2bf 93d6 ........{....... │ │ │ +000023b0: f4db 0100 5600 0024 1d05 8280 80e6 0800 ....V..$........ │ │ │ +000023c0: 0001 0003 0407 0402 0000 030f 0009 01cc ................ │ │ │ +000023d0: 0057 6172 6e69 6e67 3a20 456e 7669 726f .Warning: Enviro │ │ │ +000023e0: 6e6d 656e 7420 7661 7269 6162 6c65 2041 nment variable A │ │ │ +000023f0: 6764 615f 6461 7461 6469 7220 706f 696e gda_datadir poin │ │ │ +00002400: 7473 2074 6f20 6e6f 6e2d 6578 6973 7469 ts to non-existi │ │ │ +00002410: 6e67 2064 6972 6563 746f 7279 20f4 85f2 ng directory ... │ │ │ +00002420: f7a5 e3be b074 e4b5 c4c8 fabb fef1 9201 .....t.......... │ │ │ +00002430: 0053 0000 245f 05b4 8080 e608 0000 0005 .S..$_.......... │ │ │ +00002440: 9080 80e6 0800 0001 0001 0002 0701 0100 ................ │ │ │ +00002450: 0200 0003 0500 050b 9580 80e0 080b 57dd ..............W. │ │ │ +00002460: c6f0 c1a7 96b9 c8e7 01b7 cf98 989e b0d1 ................ │ │ │ +00002470: cff5 0100 5700 0024 9c05 8280 80e6 0800 ....W..$........ │ │ │ +00002480: 0001 0003 0407 0402 0000 030f 0009 010c ................ │ │ │ +00002490: 4167 6461 5f64 6174 6164 6972 b4c4 aadf Agda_datadir.... │ │ │ +000024a0: ba9e eaf6 7cf5 d799 ecd9 9a8a ae30 0002 ....|........0.. │ │ │ +000024b0: 0000 2518 0300 05e2 8280 ec08 0100 0105 ..%............. │ │ │ +000024c0: 1500 0001 05f2 8080 e608 0000 0005 1500 ................ │ │ │ +000024d0: 0001 0001 0006 0802 0101 0700 0200 0201 ................ │ │ │ +000024e0: 0002 0100 0102 0200 0102 0602 0201 0200 ................ │ │ │ +000024f0: 0003 0f00 0c0b 5803 0201 05e2 8280 ec08 ......X......... │ │ │ +00002500: 0100 0102 0205 1500 0001 010a 0811 0001 ................ │ │ │ +00002510: 0202 0515 0000 0101 ebe3 8dcf f6a2 f581 ................ │ │ │ +00002520: 3994 e488 98ab c0fe f686 0100 5800 0026 9...........X..& │ │ │ +00002530: 1103 0005 e282 80ec 0801 0001 0515 0000 ................ │ │ │ +00002540: 0103 0005 e282 80ec 0801 0001 05e4 8080 ................ │ │ │ +00002550: e608 0000 0005 ca80 80e6 0800 0001 0001 ................ │ │ │ +00002560: 0801 0000 05c8 8180 e608 0000 0101 0005 ................ │ │ │ +00002570: c481 80e6 0800 0001 0100 05e4 8080 e608 ................ │ │ │ +00002580: 0000 0005 ca80 80e6 0800 0001 0001 0000 ................ │ │ │ +00002590: 0515 0000 0100 0100 0608 0201 0107 0002 ................ │ │ │ +000025a0: 0002 0100 0201 0001 0202 0001 0206 0202 ................ │ │ │ +000025b0: 0102 0000 030f 0004 0005 e282 80ec 0801 ................ │ │ │ +000025c0: 0001 e901 0515 0000 0100 0400 05e2 8280 ................ │ │ │ +000025d0: ec08 0100 01ac 0105 e480 80e6 0800 0000 ................ │ │ │ +000025e0: 05ca 8080 e608 0000 0100 0101 0605 0b0c ................ │ │ │ +000025f0: 00ac 01b2 0101 0186 8080 f008 02ae 01af ................ │ │ │ +00002600: 0103 0102 00ae 0105 050b 1600 af01 00e9 ................ │ │ │ +00002610: 01c7 839f ceb0 90af 8237 a39b a4eb afe7 .........7...... │ │ │ +00002620: b4ba 5000 0300 0026 9703 0005 e282 80ec ..P....&........ │ │ │ +00002630: 0801 0001 0588 8080 e608 0000 0105 f280 ................ │ │ │ +00002640: 80e6 0800 0000 0800 0001 0001 0006 0802 ................ │ │ │ +00002650: 0103 0700 0200 0201 0002 0200 0102 0200 ................ │ │ │ +00002660: 0102 0602 0301 0200 0201 0200 0003 0f00 ................ │ │ │ +00002670: 0c0b 5903 0201 05e2 8280 ec08 0100 0102 ..Y............. │ │ │ +00002680: 0205 8880 80e6 0800 0001 010a 0811 0001 ................ │ │ │ +00002690: 0202 0800 0001 01ad 9af2 b099 dbea a4b2 ................ │ │ │ +000026a0: 01ba c0d4 f68c 99de 96c4 0100 5900 0027 ............Y..' │ │ │ +000026b0: a003 0005 e282 80ec 0801 0001 0588 8080 ................ │ │ │ +000026c0: e608 0000 0103 0005 e282 80ec 0801 0001 ................ │ │ │ +000026d0: 05e4 8080 e608 0000 0005 ca80 80e6 0800 ................ │ │ │ +000026e0: 0001 0001 0801 0000 05c8 8180 e608 0000 ................ │ │ │ +000026f0: 0101 0005 c481 80e6 0800 0001 0100 05e4 ................ │ │ │ +00002700: 8080 e608 0000 0005 ca80 80e6 0800 0001 ................ │ │ │ +00002710: 0001 0000 0800 0001 0001 0007 0802 0103 ................ │ │ │ +00002720: 0700 0200 0201 0002 0200 0102 0200 0102 ................ │ │ │ +00002730: 0602 0301 0200 0201 0301 aa01 0000 0400 ................ │ │ │ +00002740: 0200 0200 0002 0f01 0201 0004 0005 e282 ................ │ │ │ +00002750: 80ec 0801 0001 ab01 0588 8080 e608 0000 ................ │ │ │ +00002760: 0100 0400 05e2 8280 ec08 0100 01ac 0105 ................ │ │ │ +00002770: e480 80e6 0800 0000 05ca 8080 e608 0000 ................ │ │ │ +00002780: 0100 0100 0605 050b 0b00 ab01 00ac 01b6 ................ │ │ │ +00002790: 0101 0000 0301 0200 b601 0b81 8080 ee08 ................ │ │ │ +000027a0: edaa f2f5 c4fd f4d6 50a7 99c9 b4f8 90f0 ........P....... │ │ │ +000027b0: 958a 0100 5a00 0027 ee05 b480 80e6 0800 ....Z..'........ │ │ │ +000027c0: 0000 0520 0000 0100 0100 0404 0803 0702 ... ............ │ │ │ +000027d0: 8680 80ec 0802 0000 030f 0005 0505 0b87 ................ │ │ │ +000027e0: 8080 ec08 0105 2000 0001 0b5b 0b5c ef98 ...... ....[.\.. │ │ │ +000027f0: dea6 f7bb e1a4 cd01 b7b7 83f6 eaf1 faf5 ................ │ │ │ +00002800: 5500 5d00 0028 2905 2000 0001 0004 0408 U.]..(). ....... │ │ │ +00002810: 0307 025e 0200 0003 0f00 0505 050b 5f0b ...^.........._. │ │ │ +00002820: 600b 6109 0601 00e9 03d2 c3b9 90cb b2fa `.a............. │ │ │ +00002830: bae9 01ba 9d9d e2ba e598 b64f 0060 0000 ...........O.`.. │ │ │ +00002840: 2a43 0582 8080 e608 0000 0100 0304 0704 *C.............. │ │ │ +00002850: 0200 0003 0f00 0901 e903 7b2d 2320 4f50 ..........{-# OP │ │ │ +00002860: 5449 4f4e 5320 2d2d 6375 6269 6361 6c2d TIONS --cubical- │ │ │ +00002870: 636f 6d70 6174 6962 6c65 202d 2d73 6166 compatible --saf │ │ │ +00002880: 6520 2d2d 6e6f 2d73 697a 6564 2d74 7970 e --no-sized-typ │ │ │ +00002890: 6573 202d 2d6e 6f2d 6775 6172 6465 646e es --no-guardedn │ │ │ +000028a0: 6573 7320 2d2d 6c65 7665 6c2d 756e 6976 ess --level-univ │ │ │ +000028b0: 6572 7365 2023 2d7d 0a0a 6d6f 6475 6c65 erse #-}..module │ │ │ +000028c0: 2041 6764 612e 4275 696c 7469 6e2e 4672 Agda.Builtin.Fr │ │ │ +000028d0: 6f6d 5374 7269 6e67 2077 6865 7265 0a0a omString where.. │ │ │ +000028e0: 6f70 656e 2069 6d70 6f72 7420 4167 6461 open import Agda │ │ │ +000028f0: 2e50 7269 6d69 7469 7665 0a6f 7065 6e20 .Primitive.open │ │ │ +00002900: 696d 706f 7274 2041 6764 612e 4275 696c import Agda.Buil │ │ │ +00002910: 7469 6e2e 5374 7269 6e67 0a0a 7265 636f tin.String..reco │ │ │ +00002920: 7264 2049 7353 7472 696e 6720 7b61 7d20 rd IsString {a} │ │ │ +00002930: 2841 203a 2053 6574 2061 2920 3a20 5365 (A : Set a) : Se │ │ │ +00002940: 7420 286c 7375 6320 6129 2077 6865 7265 t (lsuc a) where │ │ │ +00002950: 0a20 2066 6965 6c64 0a20 2020 2043 6f6e . field. Con │ │ │ +00002960: 7374 7261 696e 7420 3a20 5374 7269 6e67 straint : String │ │ │ +00002970: 20e2 8692 2053 6574 2061 0a20 2020 2066 ... Set a. f │ │ │ +00002980: 726f 6d53 7472 696e 6720 3a20 2873 203a romString : (s : │ │ │ +00002990: 2053 7472 696e 6729 207b 7b5f 203a 2043 String) {{_ : C │ │ │ +000029a0: 6f6e 7374 7261 696e 7420 737d 7d20 e286 onstraint s}} .. │ │ │ +000029b0: 9220 410a 0a6f 7065 6e20 4973 5374 7269 . A..open IsStri │ │ │ +000029c0: 6e67 207b 7b2e 2e2e 7d7d 2070 7562 6c69 ng {{...}} publi │ │ │ +000029d0: 6320 7573 696e 6720 2866 726f 6d53 7472 c using (fromStr │ │ │ +000029e0: 696e 6729 0a0a 7b2d 2320 4255 494c 5449 ing)..{-# BUILTI │ │ │ +000029f0: 4e20 4652 4f4d 5354 5249 4e47 2066 726f N FROMSTRING fro │ │ │ +00002a00: 6d53 7472 696e 6720 232d 7d0a 7b2d 2320 mString #-}.{-# │ │ │ +00002a10: 4449 5350 4c41 5920 4973 5374 7269 6e67 DISPLAY IsString │ │ │ +00002a20: 2e66 726f 6d53 7472 696e 6720 5f20 7320 .fromString _ s │ │ │ +00002a30: 3d20 6672 6f6d 5374 7269 6e67 2073 2023 = fromString s # │ │ │ +00002a40: 2d7d 0ae3 b4f3 b981 9886 fbf2 01bb ed81 -}.............. │ │ │ +00002a50: 92c9 a8dd a207 0062 0000 2a7e 0520 0000 .......b..*~. .. │ │ │ +00002a60: 0100 0404 0803 0702 5e02 0000 030f 0005 ........^....... │ │ │ +00002a70: 0505 0b5f 0b63 0b61 0906 0100 cb03 85af ..._.c.a........ │ │ │ +00002a80: c1b4 d9d8 e78a b801 8fe8 bfd5 b998 ead1 ................ │ │ │ +00002a90: 6e00 6300 002c 7a05 8280 80e6 0800 0001 n.c..,z......... │ │ │ +00002aa0: 0003 0407 0402 0000 030f 0009 01cb 037b ...............{ │ │ │ +00002ab0: 2d23 204f 5054 494f 4e53 202d 2d63 7562 -# OPTIONS --cub │ │ │ +00002ac0: 6963 616c 2d63 6f6d 7061 7469 626c 6520 ical-compatible │ │ │ +00002ad0: 2d2d 7361 6665 202d 2d6e 6f2d 7369 7a65 --safe --no-size │ │ │ +00002ae0: 642d 7479 7065 7320 2d2d 6e6f 2d67 7561 d-types --no-gua │ │ │ +00002af0: 7264 6564 6e65 7373 202d 2d6c 6576 656c rdedness --level │ │ │ +00002b00: 2d75 6e69 7665 7273 6520 232d 7d0a 0a6d -universe #-}..m │ │ │ +00002b10: 6f64 756c 6520 4167 6461 2e42 7569 6c74 odule Agda.Built │ │ │ +00002b20: 696e 2e46 726f 6d4e 6567 2077 6865 7265 in.FromNeg where │ │ │ +00002b30: 0a0a 6f70 656e 2069 6d70 6f72 7420 4167 ..open import Ag │ │ │ +00002b40: 6461 2e50 7269 6d69 7469 7665 0a6f 7065 da.Primitive.ope │ │ │ +00002b50: 6e20 696d 706f 7274 2041 6764 612e 4275 n import Agda.Bu │ │ │ +00002b60: 696c 7469 6e2e 4e61 740a 0a72 6563 6f72 iltin.Nat..recor │ │ │ +00002b70: 6420 4e65 6761 7469 7665 207b 617d 2028 d Negative {a} ( │ │ │ +00002b80: 4120 3a20 5365 7420 6129 203a 2053 6574 A : Set a) : Set │ │ │ +00002b90: 2028 6c73 7563 2061 2920 7768 6572 650a (lsuc a) where. │ │ │ +00002ba0: 2020 6669 656c 640a 2020 2020 436f 6e73 field. Cons │ │ │ +00002bb0: 7472 6169 6e74 203a 204e 6174 20e2 8692 traint : Nat ... │ │ │ +00002bc0: 2053 6574 2061 0a20 2020 2066 726f 6d4e Set a. fromN │ │ │ +00002bd0: 6567 203a 20e2 8880 206e 20e2 8692 207b eg : ... n ... { │ │ │ +00002be0: 7b5f 203a 2043 6f6e 7374 7261 696e 7420 {_ : Constraint │ │ │ +00002bf0: 6e7d 7d20 e286 9220 410a 0a6f 7065 6e20 n}} ... A..open │ │ │ +00002c00: 4e65 6761 7469 7665 207b 7b2e 2e2e 7d7d Negative {{...}} │ │ │ +00002c10: 2070 7562 6c69 6320 7573 696e 6720 2866 public using (f │ │ │ +00002c20: 726f 6d4e 6567 290a 0a7b 2d23 2042 5549 romNeg)..{-# BUI │ │ │ +00002c30: 4c54 494e 2046 524f 4d4e 4547 2066 726f LTIN FROMNEG fro │ │ │ +00002c40: 6d4e 6567 2023 2d7d 0a7b 2d23 2044 4953 mNeg #-}.{-# DIS │ │ │ +00002c50: 504c 4159 204e 6567 6174 6976 652e 6672 PLAY Negative.fr │ │ │ +00002c60: 6f6d 4e65 6720 5f20 6e20 3d20 6672 6f6d omNeg _ n = from │ │ │ +00002c70: 4e65 6720 6e20 232d 7d0a fcd8 eaea 95c1 Neg n #-}....... │ │ │ +00002c80: fafa ad01 d6cb b2f9 debb d499 6200 6400 ............b.d. │ │ │ +00002c90: 002c b505 2000 0001 0004 0408 0307 025e .,.. ..........^ │ │ │ +00002ca0: 0200 0003 0f00 0505 050b 5f0b 650b 6109 .........._.e.a. │ │ │ +00002cb0: 0601 00c5 03d0 abfe c6e4 e8dd dfc2 01f3 ................ │ │ │ +00002cc0: 89c5 a497 aaae afa4 0100 6500 002e ac05 ..........e..... │ │ │ +00002cd0: 8280 80e6 0800 0001 0003 0407 0402 0000 ................ │ │ │ +00002ce0: 030f 0009 01c5 037b 2d23 204f 5054 494f .......{-# OPTIO │ │ │ +00002cf0: 4e53 202d 2d63 7562 6963 616c 2d63 6f6d NS --cubical-com │ │ │ +00002d00: 7061 7469 626c 6520 2d2d 7361 6665 202d patible --safe - │ │ │ +00002d10: 2d6e 6f2d 7369 7a65 642d 7479 7065 7320 -no-sized-types │ │ │ +00002d20: 2d2d 6e6f 2d67 7561 7264 6564 6e65 7373 --no-guardedness │ │ │ +00002d30: 202d 2d6c 6576 656c 2d75 6e69 7665 7273 --level-univers │ │ │ +00002d40: 6520 232d 7d0a 0a6d 6f64 756c 6520 4167 e #-}..module Ag │ │ │ +00002d50: 6461 2e42 7569 6c74 696e 2e46 726f 6d4e da.Builtin.FromN │ │ │ +00002d60: 6174 2077 6865 7265 0a0a 6f70 656e 2069 at where..open i │ │ │ +00002d70: 6d70 6f72 7420 4167 6461 2e50 7269 6d69 mport Agda.Primi │ │ │ +00002d80: 7469 7665 0a6f 7065 6e20 696d 706f 7274 tive.open import │ │ │ +00002d90: 2041 6764 612e 4275 696c 7469 6e2e 4e61 Agda.Builtin.Na │ │ │ +00002da0: 740a 0a72 6563 6f72 6420 4e75 6d62 6572 t..record Number │ │ │ +00002db0: 207b 617d 2028 4120 3a20 5365 7420 6129 {a} (A : Set a) │ │ │ +00002dc0: 203a 2053 6574 2028 6c73 7563 2061 2920 : Set (lsuc a) │ │ │ +00002dd0: 7768 6572 650a 2020 6669 656c 640a 2020 where. field. │ │ │ +00002de0: 2020 436f 6e73 7472 6169 6e74 203a 204e Constraint : N │ │ │ +00002df0: 6174 20e2 8692 2053 6574 2061 0a20 2020 at ... Set a. │ │ │ +00002e00: 2066 726f 6d4e 6174 203a 20e2 8880 206e fromNat : ... n │ │ │ +00002e10: 20e2 8692 207b 7b5f 203a 2043 6f6e 7374 ... {{_ : Const │ │ │ +00002e20: 7261 696e 7420 6e7d 7d20 e286 9220 410a raint n}} ... A. │ │ │ +00002e30: 0a6f 7065 6e20 4e75 6d62 6572 207b 7b2e .open Number {{. │ │ │ +00002e40: 2e2e 7d7d 2070 7562 6c69 6320 7573 696e ..}} public usin │ │ │ +00002e50: 6720 2866 726f 6d4e 6174 290a 0a7b 2d23 g (fromNat)..{-# │ │ │ +00002e60: 2042 5549 4c54 494e 2046 524f 4d4e 4154 BUILTIN FROMNAT │ │ │ +00002e70: 2066 726f 6d4e 6174 2023 2d7d 0a7b 2d23 fromNat #-}.{-# │ │ │ +00002e80: 2044 4953 504c 4159 204e 756d 6265 722e DISPLAY Number. │ │ │ +00002e90: 6672 6f6d 4e61 7420 5f20 6e20 3d20 6672 fromNat _ n = fr │ │ │ +00002ea0: 6f6d 4e61 7420 6e20 232d 7d0a d0de e48a omNat n #-}..... │ │ │ +00002eb0: 9d87 f9d7 7aab b8f9 fe9d 8591 e568 0066 ....z........h.f │ │ │ +00002ec0: 0000 2ee6 0520 0000 0100 0404 0803 0702 ..... .......... │ │ │ +00002ed0: 5e02 0000 030f 0005 0505 0b5f 0b67 0b61 ^.........._.g.a │ │ │ +00002ee0: 0906 0100 bc02 a2dc 85cf c7de 8cee 9201 ................ │ │ │ +00002ef0: 8b89 de93 ed8a b398 2000 6700 0030 5305 ........ .g..0S. │ │ │ +00002f00: 8280 80e6 0800 0001 0003 0407 0402 0000 ................ │ │ │ +00002f10: 030f 0009 01bc 027b 2d23 204f 5054 494f .......{-# OPTIO │ │ │ +00002f20: 4e53 202d 2d63 7562 6963 616c 2d63 6f6d NS --cubical-com │ │ │ +00002f30: 7061 7469 626c 6520 2d2d 7361 6665 202d patible --safe - │ │ │ +00002f40: 2d6e 6f2d 7369 7a65 642d 7479 7065 7320 -no-sized-types │ │ │ +00002f50: 2d2d 6e6f 2d67 7561 7264 6564 6e65 7373 --no-guardedness │ │ │ +00002f60: 202d 2d6c 6576 656c 2d75 6e69 7665 7273 --level-univers │ │ │ +00002f70: 6520 232d 7d0a 0a6d 6f64 756c 6520 4167 e #-}..module Ag │ │ │ +00002f80: 6461 2e42 7569 6c74 696e 2e46 6c6f 6174 da.Builtin.Float │ │ │ +00002f90: 2e50 726f 7065 7274 6965 7320 7768 6572 .Properties wher │ │ │ +00002fa0: 650a 0a6f 7065 6e20 696d 706f 7274 2041 e..open import A │ │ │ +00002fb0: 6764 612e 4275 696c 7469 6e2e 466c 6f61 gda.Builtin.Floa │ │ │ +00002fc0: 740a 6f70 656e 2069 6d70 6f72 7420 4167 t.open import Ag │ │ │ +00002fd0: 6461 2e42 7569 6c74 696e 2e45 7175 616c da.Builtin.Equal │ │ │ +00002fe0: 6974 790a 0a70 7269 6d69 7469 7665 0a0a ity..primitive.. │ │ │ +00002ff0: 2020 7072 696d 466c 6f61 7454 6f57 6f72 primFloatToWor │ │ │ +00003000: 6436 3449 6e6a 6563 7469 7665 203a 20e2 d64Injective : . │ │ │ +00003010: 8880 2061 2062 20e2 8692 2070 7269 6d46 .. a b ... primF │ │ │ +00003020: 6c6f 6174 546f 576f 7264 3634 2061 20e2 loatToWord64 a . │ │ │ +00003030: 89a1 2070 7269 6d46 6c6f 6174 546f 576f .. primFloatToWo │ │ │ +00003040: 7264 3634 2062 20e2 8692 2061 20e2 89a1 rd64 b ... a ... │ │ │ +00003050: 2062 0ad7 96c1 f786 eac4 c705 c8cb c3b3 b.............. │ │ │ +00003060: a580 f98e 8e01 0068 0000 308e 0520 0000 .......h..0.. .. │ │ │ +00003070: 0100 0404 0803 0702 5e02 0000 030f 0005 ........^....... │ │ │ +00003080: 0505 0b5f 0b69 0b61 0906 0100 aa32 93e5 ..._.i.a.....2.. │ │ │ +00003090: 95a6 bfa1 d983 3993 efba cc8f fadf c71c ......9......... │ │ │ +000030a0: 0069 0000 49e8 0582 8080 e608 0000 0100 .i..I........... │ │ │ +000030b0: 0304 0704 0200 0003 0f00 0901 aa32 7b2d .............2{- │ │ │ +000030c0: 2320 4f50 5449 4f4e 5320 2d2d 6375 6269 # OPTIONS --cubi │ │ │ +000030d0: 6361 6c2d 636f 6d70 6174 6962 6c65 202d cal-compatible - │ │ │ +000030e0: 2d73 6166 6520 2d2d 6e6f 2d73 697a 6564 -safe --no-sized │ │ │ +000030f0: 2d74 7970 6573 202d 2d6e 6f2d 6775 6172 -types --no-guar │ │ │ +00003100: 6465 646e 6573 7320 2d2d 6c65 7665 6c2d dedness --level- │ │ │ +00003110: 756e 6976 6572 7365 2023 2d7d 0a0a 6d6f universe #-}..mo │ │ │ +00003120: 6475 6c65 2041 6764 612e 4275 696c 7469 dule Agda.Builti │ │ │ +00003130: 6e2e 466c 6f61 7420 7768 6572 650a 0a6f n.Float where..o │ │ │ +00003140: 7065 6e20 696d 706f 7274 2041 6764 612e pen import Agda. │ │ │ +00003150: 4275 696c 7469 6e2e 426f 6f6c 0a6f 7065 Builtin.Bool.ope │ │ │ +00003160: 6e20 696d 706f 7274 2041 6764 612e 4275 n import Agda.Bu │ │ │ +00003170: 696c 7469 6e2e 496e 740a 6f70 656e 2069 iltin.Int.open i │ │ │ +00003180: 6d70 6f72 7420 4167 6461 2e42 7569 6c74 mport Agda.Built │ │ │ +00003190: 696e 2e4d 6179 6265 0a6f 7065 6e20 696d in.Maybe.open im │ │ │ +000031a0: 706f 7274 2041 6764 612e 4275 696c 7469 port Agda.Builti │ │ │ +000031b0: 6e2e 4e61 740a 6f70 656e 2069 6d70 6f72 n.Nat.open impor │ │ │ +000031c0: 7420 4167 6461 2e42 7569 6c74 696e 2e53 t Agda.Builtin.S │ │ │ +000031d0: 6967 6d61 0a6f 7065 6e20 696d 706f 7274 igma.open import │ │ │ +000031e0: 2041 6764 612e 4275 696c 7469 6e2e 5374 Agda.Builtin.St │ │ │ +000031f0: 7269 6e67 0a6f 7065 6e20 696d 706f 7274 ring.open import │ │ │ +00003200: 2041 6764 612e 4275 696c 7469 6e2e 576f Agda.Builtin.Wo │ │ │ +00003210: 7264 0a0a 706f 7374 756c 6174 6520 466c rd..postulate Fl │ │ │ +00003220: 6f61 7420 3a20 5365 740a 7b2d 2320 4255 oat : Set.{-# BU │ │ │ +00003230: 494c 5449 4e20 464c 4f41 5420 466c 6f61 ILTIN FLOAT Floa │ │ │ +00003240: 7420 232d 7d0a 0a70 7269 6d69 7469 7665 t #-}..primitive │ │ │ +00003250: 0a20 202d 2d20 5265 6c61 7469 6f6e 730a . -- Relations. │ │ │ +00003260: 2020 7072 696d 466c 6f61 7449 6e65 7175 primFloatInequ │ │ │ +00003270: 616c 6974 7920 2020 2020 2020 203a 2046 ality : F │ │ │ +00003280: 6c6f 6174 20e2 8692 2046 6c6f 6174 20e2 loat ... Float . │ │ │ +00003290: 8692 2042 6f6f 6c0a 2020 7072 696d 466c .. Bool. primFl │ │ │ +000032a0: 6f61 7445 7175 616c 6974 7920 2020 2020 oatEquality │ │ │ +000032b0: 2020 2020 203a 2046 6c6f 6174 20e2 8692 : Float ... │ │ │ +000032c0: 2046 6c6f 6174 20e2 8692 2042 6f6f 6c0a Float ... Bool. │ │ │ +000032d0: 2020 7072 696d 466c 6f61 744c 6573 7320 primFloatLess │ │ │ +000032e0: 2020 2020 2020 2020 2020 2020 203a 2046 : F │ │ │ +000032f0: 6c6f 6174 20e2 8692 2046 6c6f 6174 20e2 loat ... Float . │ │ │ +00003300: 8692 2042 6f6f 6c0a 2020 7072 696d 466c .. Bool. primFl │ │ │ +00003310: 6f61 7449 7349 6e66 696e 6974 6520 2020 oatIsInfinite │ │ │ +00003320: 2020 2020 203a 2046 6c6f 6174 20e2 8692 : Float ... │ │ │ +00003330: 2042 6f6f 6c0a 2020 7072 696d 466c 6f61 Bool. primFloa │ │ │ +00003340: 7449 734e 614e 2020 2020 2020 2020 2020 tIsNaN │ │ │ +00003350: 2020 203a 2046 6c6f 6174 20e2 8692 2042 : Float ... B │ │ │ +00003360: 6f6f 6c0a 2020 7072 696d 466c 6f61 7449 ool. primFloatI │ │ │ +00003370: 734e 6567 6174 6976 655a 6572 6f20 2020 sNegativeZero │ │ │ +00003380: 203a 2046 6c6f 6174 20e2 8692 2042 6f6f : Float ... Boo │ │ │ +00003390: 6c0a 2020 7072 696d 466c 6f61 7449 7353 l. primFloatIsS │ │ │ +000033a0: 6166 6549 6e74 6567 6572 2020 2020 203a afeInteger : │ │ │ +000033b0: 2046 6c6f 6174 20e2 8692 2042 6f6f 6c0a Float ... Bool. │ │ │ +000033c0: 2020 2d2d 2043 6f6e 7665 7273 696f 6e73 -- Conversions │ │ │ +000033d0: 0a20 2070 7269 6d46 6c6f 6174 546f 576f . primFloatToWo │ │ │ +000033e0: 7264 3634 2020 2020 2020 2020 2020 3a20 rd64 : │ │ │ +000033f0: 466c 6f61 7420 e286 9220 4d61 7962 6520 Float ... Maybe │ │ │ +00003400: 576f 7264 3634 0a20 2070 7269 6d4e 6174 Word64. primNat │ │ │ +00003410: 546f 466c 6f61 7420 2020 2020 2020 2020 ToFloat │ │ │ +00003420: 2020 2020 3a20 4e61 7420 e286 9220 466c : Nat ... Fl │ │ │ +00003430: 6f61 740a 2020 7072 696d 496e 7454 6f46 oat. primIntToF │ │ │ +00003440: 6c6f 6174 2020 2020 2020 2020 2020 2020 loat │ │ │ +00003450: 203a 2049 6e74 20e2 8692 2046 6c6f 6174 : Int ... Float │ │ │ +00003460: 0a20 2070 7269 6d46 6c6f 6174 526f 756e . primFloatRoun │ │ │ +00003470: 6420 2020 2020 2020 2020 2020 2020 3a20 d : │ │ │ +00003480: 466c 6f61 7420 e286 9220 4d61 7962 6520 Float ... Maybe │ │ │ +00003490: 496e 740a 2020 7072 696d 466c 6f61 7446 Int. primFloatF │ │ │ +000034a0: 6c6f 6f72 2020 2020 2020 2020 2020 2020 loor │ │ │ +000034b0: 203a 2046 6c6f 6174 20e2 8692 204d 6179 : Float ... May │ │ │ +000034c0: 6265 2049 6e74 0a20 2070 7269 6d46 6c6f be Int. primFlo │ │ │ +000034d0: 6174 4365 696c 696e 6720 2020 2020 2020 atCeiling │ │ │ +000034e0: 2020 2020 3a20 466c 6f61 7420 e286 9220 : Float ... │ │ │ +000034f0: 4d61 7962 6520 496e 740a 2020 7072 696d Maybe Int. prim │ │ │ +00003500: 466c 6f61 7454 6f52 6174 696f 2020 2020 FloatToRatio │ │ │ +00003510: 2020 2020 2020 203a 2046 6c6f 6174 20e2 : Float . │ │ │ +00003520: 8692 2028 cea3 2049 6e74 20ce bb20 5f20 .. (.. Int .. _ │ │ │ +00003530: e286 9220 496e 7429 0a20 2070 7269 6d52 ... Int). primR │ │ │ +00003540: 6174 696f 546f 466c 6f61 7420 2020 2020 atioToFloat │ │ │ +00003550: 2020 2020 2020 3a20 496e 7420 e286 9220 : Int ... │ │ │ +00003560: 496e 7420 e286 9220 466c 6f61 740a 2020 Int ... Float. │ │ │ +00003570: 7072 696d 466c 6f61 7444 6563 6f64 6520 primFloatDecode │ │ │ +00003580: 2020 2020 2020 2020 2020 203a 2046 6c6f : Flo │ │ │ +00003590: 6174 20e2 8692 204d 6179 6265 2028 cea3 at ... Maybe (.. │ │ │ +000035a0: 2049 6e74 20ce bb20 5f20 e286 9220 496e Int .. _ ... In │ │ │ +000035b0: 7429 0a20 2070 7269 6d46 6c6f 6174 456e t). primFloatEn │ │ │ +000035c0: 636f 6465 2020 2020 2020 2020 2020 2020 code │ │ │ +000035d0: 3a20 496e 7420 e286 9220 496e 7420 e286 : Int ... Int .. │ │ │ +000035e0: 9220 4d61 7962 6520 466c 6f61 740a 2020 . Maybe Float. │ │ │ +000035f0: 7072 696d 5368 6f77 466c 6f61 7420 2020 primShowFloat │ │ │ +00003600: 2020 2020 2020 2020 2020 203a 2046 6c6f : Flo │ │ │ +00003610: 6174 20e2 8692 2053 7472 696e 670a 2020 at ... String. │ │ │ +00003620: 2d2d 204f 7065 7261 7469 6f6e 730a 2020 -- Operations. │ │ │ +00003630: 7072 696d 466c 6f61 7450 6c75 7320 2020 primFloatPlus │ │ │ +00003640: 2020 2020 2020 2020 2020 203a 2046 6c6f : Flo │ │ │ +00003650: 6174 20e2 8692 2046 6c6f 6174 20e2 8692 at ... Float ... │ │ │ +00003660: 2046 6c6f 6174 0a20 2070 7269 6d46 6c6f Float. primFlo │ │ │ +00003670: 6174 4d69 6e75 7320 2020 2020 2020 2020 atMinus │ │ │ +00003680: 2020 2020 3a20 466c 6f61 7420 e286 9220 : Float ... │ │ │ +00003690: 466c 6f61 7420 e286 9220 466c 6f61 740a Float ... Float. │ │ │ +000036a0: 2020 7072 696d 466c 6f61 7454 696d 6573 primFloatTimes │ │ │ +000036b0: 2020 2020 2020 2020 2020 2020 203a 2046 : F │ │ │ +000036c0: 6c6f 6174 20e2 8692 2046 6c6f 6174 20e2 loat ... Float . │ │ │ +000036d0: 8692 2046 6c6f 6174 0a20 2070 7269 6d46 .. Float. primF │ │ │ +000036e0: 6c6f 6174 4469 7620 2020 2020 2020 2020 loatDiv │ │ │ +000036f0: 2020 2020 2020 3a20 466c 6f61 7420 e286 : Float .. │ │ │ +00003700: 9220 466c 6f61 7420 e286 9220 466c 6f61 . Float ... Floa │ │ │ +00003710: 740a 2020 7072 696d 466c 6f61 7450 6f77 t. primFloatPow │ │ │ +00003720: 2020 2020 2020 2020 2020 2020 2020 203a : │ │ │ +00003730: 2046 6c6f 6174 20e2 8692 2046 6c6f 6174 Float ... Float │ │ │ +00003740: 20e2 8692 2046 6c6f 6174 0a20 2070 7269 ... Float. pri │ │ │ +00003750: 6d46 6c6f 6174 4e65 6761 7465 2020 2020 mFloatNegate │ │ │ +00003760: 2020 2020 2020 2020 3a20 466c 6f61 7420 : Float │ │ │ +00003770: e286 9220 466c 6f61 740a 2020 7072 696d ... Float. prim │ │ │ +00003780: 466c 6f61 7453 7172 7420 2020 2020 2020 FloatSqrt │ │ │ +00003790: 2020 2020 2020 203a 2046 6c6f 6174 20e2 : Float . │ │ │ +000037a0: 8692 2046 6c6f 6174 0a20 2070 7269 6d46 .. Float. primF │ │ │ +000037b0: 6c6f 6174 4578 7020 2020 2020 2020 2020 loatExp │ │ │ +000037c0: 2020 2020 2020 3a20 466c 6f61 7420 e286 : Float .. │ │ │ +000037d0: 9220 466c 6f61 740a 2020 7072 696d 466c . Float. primFl │ │ │ +000037e0: 6f61 744c 6f67 2020 2020 2020 2020 2020 oatLog │ │ │ +000037f0: 2020 2020 203a 2046 6c6f 6174 20e2 8692 : Float ... │ │ │ +00003800: 2046 6c6f 6174 0a20 2070 7269 6d46 6c6f Float. primFlo │ │ │ +00003810: 6174 5369 6e20 2020 2020 2020 2020 2020 atSin │ │ │ +00003820: 2020 2020 3a20 466c 6f61 7420 e286 9220 : Float ... │ │ │ +00003830: 466c 6f61 740a 2020 7072 696d 466c 6f61 Float. primFloa │ │ │ +00003840: 7443 6f73 2020 2020 2020 2020 2020 2020 tCos │ │ │ +00003850: 2020 203a 2046 6c6f 6174 20e2 8692 2046 : Float ... F │ │ │ +00003860: 6c6f 6174 0a20 2070 7269 6d46 6c6f 6174 loat. primFloat │ │ │ +00003870: 5461 6e20 2020 2020 2020 2020 2020 2020 Tan │ │ │ +00003880: 2020 3a20 466c 6f61 7420 e286 9220 466c : Float ... Fl │ │ │ +00003890: 6f61 740a 2020 7072 696d 466c 6f61 7441 oat. primFloatA │ │ │ +000038a0: 5369 6e20 2020 2020 2020 2020 2020 2020 Sin │ │ │ +000038b0: 203a 2046 6c6f 6174 20e2 8692 2046 6c6f : Float ... Flo │ │ │ +000038c0: 6174 0a20 2070 7269 6d46 6c6f 6174 4143 at. primFloatAC │ │ │ +000038d0: 6f73 2020 2020 2020 2020 2020 2020 2020 os │ │ │ +000038e0: 3a20 466c 6f61 7420 e286 9220 466c 6f61 : Float ... Floa │ │ │ +000038f0: 740a 2020 7072 696d 466c 6f61 7441 5461 t. primFloatATa │ │ │ +00003900: 6e20 2020 2020 2020 2020 2020 2020 203a n : │ │ │ +00003910: 2046 6c6f 6174 20e2 8692 2046 6c6f 6174 Float ... Float │ │ │ +00003920: 0a20 2070 7269 6d46 6c6f 6174 4154 616e . primFloatATan │ │ │ +00003930: 3220 2020 2020 2020 2020 2020 2020 3a20 2 : │ │ │ +00003940: 466c 6f61 7420 e286 9220 466c 6f61 7420 Float ... Float │ │ │ +00003950: e286 9220 466c 6f61 740a 2020 7072 696d ... Float. prim │ │ │ +00003960: 466c 6f61 7453 696e 6820 2020 2020 2020 FloatSinh │ │ │ +00003970: 2020 2020 2020 203a 2046 6c6f 6174 20e2 : Float . │ │ │ +00003980: 8692 2046 6c6f 6174 0a20 2070 7269 6d46 .. Float. primF │ │ │ +00003990: 6c6f 6174 436f 7368 2020 2020 2020 2020 loatCosh │ │ │ +000039a0: 2020 2020 2020 3a20 466c 6f61 7420 e286 : Float .. │ │ │ +000039b0: 9220 466c 6f61 740a 2020 7072 696d 466c . Float. primFl │ │ │ +000039c0: 6f61 7454 616e 6820 2020 2020 2020 2020 oatTanh │ │ │ +000039d0: 2020 2020 203a 2046 6c6f 6174 20e2 8692 : Float ... │ │ │ +000039e0: 2046 6c6f 6174 0a20 2070 7269 6d46 6c6f Float. primFlo │ │ │ +000039f0: 6174 4153 696e 6820 2020 2020 2020 2020 atASinh │ │ │ +00003a00: 2020 2020 3a20 466c 6f61 7420 e286 9220 : Float ... │ │ │ +00003a10: 466c 6f61 740a 2020 7072 696d 466c 6f61 Float. primFloa │ │ │ +00003a20: 7441 436f 7368 2020 2020 2020 2020 2020 tACosh │ │ │ +00003a30: 2020 203a 2046 6c6f 6174 20e2 8692 2046 : Float ... F │ │ │ +00003a40: 6c6f 6174 0a20 2070 7269 6d46 6c6f 6174 loat. primFloat │ │ │ +00003a50: 4154 616e 6820 2020 2020 2020 2020 2020 ATanh │ │ │ +00003a60: 2020 3a20 466c 6f61 7420 e286 9220 466c : Float ... Fl │ │ │ +00003a70: 6f61 740a 0a7b 2d23 2043 4f4d 5049 4c45 oat..{-# COMPILE │ │ │ +00003a80: 204a 530a 2020 2020 7072 696d 466c 6f61 JS. primFloa │ │ │ +00003a90: 7452 6f75 6e64 203d 2066 756e 6374 696f tRound = functio │ │ │ +00003aa0: 6e28 7829 207b 0a20 2020 2020 2020 2078 n(x) {. x │ │ │ +00003ab0: 203d 2061 6764 6152 5453 2e5f 7072 696d = agdaRTS._prim │ │ │ +00003ac0: 466c 6f61 7452 6f75 6e64 2878 293b 0a20 FloatRound(x);. │ │ │ +00003ad0: 2020 2020 2020 2069 6620 2878 203d 3d3d if (x === │ │ │ +00003ae0: 206e 756c 6c29 207b 0a20 2020 2020 2020 null) {. │ │ │ +00003af0: 2020 2020 2072 6574 7572 6e20 7a5f 6a41 return z_jA │ │ │ +00003b00: 6764 615f 4167 6461 5f42 7569 6c74 696e gda_Agda_Builtin │ │ │ +00003b10: 5f4d 6179 6265 5b22 4d61 7962 6522 5d5b _Maybe["Maybe"][ │ │ │ +00003b20: 226e 6f74 6869 6e67 225d 3b0a 2020 2020 "nothing"];. │ │ │ +00003b30: 2020 2020 7d0a 2020 2020 2020 2020 656c }. el │ │ │ +00003b40: 7365 207b 0a20 2020 2020 2020 2020 2020 se {. │ │ │ +00003b50: 2072 6574 7572 6e20 7a5f 6a41 6764 615f return z_jAgda_ │ │ │ +00003b60: 4167 6461 5f42 7569 6c74 696e 5f4d 6179 Agda_Builtin_May │ │ │ +00003b70: 6265 5b22 4d61 7962 6522 5d5b 226a 7573 be["Maybe"]["jus │ │ │ +00003b80: 7422 5d28 7829 3b0a 2020 2020 2020 2020 t"](x);. │ │ │ +00003b90: 7d0a 2020 2020 7d3b 0a23 2d7d 0a7b 2d23 }. };.#-}.{-# │ │ │ +00003ba0: 2043 4f4d 5049 4c45 204a 530a 2020 2020 COMPILE JS. │ │ │ +00003bb0: 7072 696d 466c 6f61 7446 6c6f 6f72 203d primFloatFloor = │ │ │ +00003bc0: 2066 756e 6374 696f 6e28 7829 207b 0a20 function(x) {. │ │ │ +00003bd0: 2020 2020 2020 2078 203d 2061 6764 6152 x = agdaR │ │ │ +00003be0: 5453 2e5f 7072 696d 466c 6f61 7446 6c6f TS._primFloatFlo │ │ │ +00003bf0: 6f72 2878 293b 0a20 2020 2020 2020 2069 or(x);. i │ │ │ +00003c00: 6620 2878 203d 3d3d 206e 756c 6c29 207b f (x === null) { │ │ │ +00003c10: 0a20 2020 2020 2020 2020 2020 2072 6574 . ret │ │ │ +00003c20: 7572 6e20 7a5f 6a41 6764 615f 4167 6461 urn z_jAgda_Agda │ │ │ +00003c30: 5f42 7569 6c74 696e 5f4d 6179 6265 5b22 _Builtin_Maybe[" │ │ │ +00003c40: 4d61 7962 6522 5d5b 226e 6f74 6869 6e67 Maybe"]["nothing │ │ │ +00003c50: 225d 3b0a 2020 2020 2020 2020 7d0a 2020 "];. }. │ │ │ +00003c60: 2020 2020 2020 656c 7365 207b 0a20 2020 else {. │ │ │ +00003c70: 2020 2020 2020 2020 2072 6574 7572 6e20 return │ │ │ +00003c80: 7a5f 6a41 6764 615f 4167 6461 5f42 7569 z_jAgda_Agda_Bui │ │ │ +00003c90: 6c74 696e 5f4d 6179 6265 5b22 4d61 7962 ltin_Maybe["Mayb │ │ │ +00003ca0: 6522 5d5b 226a 7573 7422 5d28 7829 3b0a e"]["just"](x);. │ │ │ +00003cb0: 2020 2020 2020 2020 7d0a 2020 2020 7d3b }. }; │ │ │ +00003cc0: 0a23 2d7d 0a7b 2d23 2043 4f4d 5049 4c45 .#-}.{-# COMPILE │ │ │ +00003cd0: 204a 530a 2020 2020 7072 696d 466c 6f61 JS. primFloa │ │ │ +00003ce0: 7443 6569 6c69 6e67 203d 2066 756e 6374 tCeiling = funct │ │ │ +00003cf0: 696f 6e28 7829 207b 0a20 2020 2020 2020 ion(x) {. │ │ │ +00003d00: 2078 203d 2061 6764 6152 5453 2e5f 7072 x = agdaRTS._pr │ │ │ +00003d10: 696d 466c 6f61 7443 6569 6c69 6e67 2878 imFloatCeiling(x │ │ │ +00003d20: 293b 0a20 2020 2020 2020 2069 6620 2878 );. if (x │ │ │ +00003d30: 203d 3d3d 206e 756c 6c29 207b 0a20 2020 === null) {. │ │ │ +00003d40: 2020 2020 2020 2020 2072 6574 7572 6e20 return │ │ │ +00003d50: 7a5f 6a41 6764 615f 4167 6461 5f42 7569 z_jAgda_Agda_Bui │ │ │ +00003d60: 6c74 696e 5f4d 6179 6265 5b22 4d61 7962 ltin_Maybe["Mayb │ │ │ +00003d70: 6522 5d5b 226e 6f74 6869 6e67 225d 3b0a e"]["nothing"];. │ │ │ +00003d80: 2020 2020 2020 2020 7d0a 2020 2020 2020 }. │ │ │ +00003d90: 2020 656c 7365 207b 0a20 2020 2020 2020 else {. │ │ │ +00003da0: 2020 2020 2072 6574 7572 6e20 7a5f 6a41 return z_jA │ │ │ +00003db0: 6764 615f 4167 6461 5f42 7569 6c74 696e gda_Agda_Builtin │ │ │ +00003dc0: 5f4d 6179 6265 5b22 4d61 7962 6522 5d5b _Maybe["Maybe"][ │ │ │ +00003dd0: 226a 7573 7422 5d28 7829 3b0a 2020 2020 "just"](x);. │ │ │ +00003de0: 2020 2020 7d0a 2020 2020 7d3b 0a23 2d7d }. };.#-} │ │ │ +00003df0: 0a7b 2d23 2043 4f4d 5049 4c45 204a 530a .{-# COMPILE JS. │ │ │ +00003e00: 2020 2020 7072 696d 466c 6f61 7454 6f52 primFloatToR │ │ │ +00003e10: 6174 696f 203d 2066 756e 6374 696f 6e28 atio = function( │ │ │ +00003e20: 7829 207b 0a20 2020 2020 2020 2078 203d x) {. x = │ │ │ +00003e30: 2061 6764 6152 5453 2e5f 7072 696d 466c agdaRTS._primFl │ │ │ +00003e40: 6f61 7454 6f52 6174 696f 2878 293b 0a20 oatToRatio(x);. │ │ │ +00003e50: 2020 2020 2020 2072 6574 7572 6e20 7a5f return z_ │ │ │ +00003e60: 6a41 6764 615f 4167 6461 5f42 7569 6c74 jAgda_Agda_Built │ │ │ +00003e70: 696e 5f53 6967 6d61 5b22 5f2c 5f22 5d28 in_Sigma["_,_"]( │ │ │ +00003e80: 782e 6e75 6d65 7261 746f 7229 2878 2e64 x.numerator)(x.d │ │ │ +00003e90: 656e 6f6d 696e 6174 6f72 293b 0a20 2020 enominator);. │ │ │ +00003ea0: 207d 3b0a 232d 7d0a 7b2d 2320 434f 4d50 };.#-}.{-# COMP │ │ │ +00003eb0: 494c 4520 4a53 0a20 2020 2070 7269 6d46 ILE JS. primF │ │ │ +00003ec0: 6c6f 6174 4465 636f 6465 203d 2066 756e loatDecode = fun │ │ │ +00003ed0: 6374 696f 6e28 7829 207b 0a20 2020 2020 ction(x) {. │ │ │ +00003ee0: 2020 2078 203d 2061 6764 6152 5453 2e5f x = agdaRTS._ │ │ │ +00003ef0: 7072 696d 466c 6f61 7444 6563 6f64 6528 primFloatDecode( │ │ │ +00003f00: 7829 3b0a 2020 2020 2020 2020 6966 2028 x);. if ( │ │ │ +00003f10: 7820 3d3d 3d20 6e75 6c6c 2920 7b0a 2020 x === null) {. │ │ │ +00003f20: 2020 2020 2020 2020 2020 7265 7475 726e return │ │ │ +00003f30: 207a 5f6a 4167 6461 5f41 6764 615f 4275 z_jAgda_Agda_Bu │ │ │ +00003f40: 696c 7469 6e5f 4d61 7962 655b 224d 6179 iltin_Maybe["May │ │ │ +00003f50: 6265 225d 5b22 6e6f 7468 696e 6722 5d3b be"]["nothing"]; │ │ │ +00003f60: 0a20 2020 2020 2020 207d 0a20 2020 2020 . }. │ │ │ +00003f70: 2020 2065 6c73 6520 7b0a 2020 2020 2020 else {. │ │ │ +00003f80: 2020 2020 2020 7265 7475 726e 207a 5f6a return z_j │ │ │ +00003f90: 4167 6461 5f41 6764 615f 4275 696c 7469 Agda_Agda_Builti │ │ │ +00003fa0: 6e5f 4d61 7962 655b 224d 6179 6265 225d n_Maybe["Maybe"] │ │ │ +00003fb0: 5b22 6a75 7374 225d 280a 2020 2020 2020 ["just"](. │ │ │ +00003fc0: 2020 2020 2020 2020 2020 7a5f 6a41 6764 z_jAgd │ │ │ +00003fd0: 615f 4167 6461 5f42 7569 6c74 696e 5f53 a_Agda_Builtin_S │ │ │ +00003fe0: 6967 6d61 5b22 5f2c 5f22 5d28 782e 6d61 igma["_,_"](x.ma │ │ │ +00003ff0: 6e74 6973 7361 2928 782e 6578 706f 6e65 ntissa)(x.expone │ │ │ +00004000: 6e74 2929 3b0a 2020 2020 2020 2020 7d0a nt));. }. │ │ │ +00004010: 2020 2020 7d3b 0a23 2d7d 0a7b 2d23 2043 };.#-}.{-# C │ │ │ +00004020: 4f4d 5049 4c45 204a 530a 2020 2020 7072 OMPILE JS. pr │ │ │ +00004030: 696d 466c 6f61 7445 6e63 6f64 6520 3d20 imFloatEncode = │ │ │ +00004040: 6675 6e63 7469 6f6e 2878 2920 7b0a 2020 function(x) {. │ │ │ +00004050: 2020 2020 2020 7265 7475 726e 2066 756e return fun │ │ │ +00004060: 6374 696f 6e20 2879 2920 7b0a 2020 2020 ction (y) {. │ │ │ +00004070: 2020 2020 2020 2020 7820 3d20 6167 6461 x = agda │ │ │ +00004080: 5254 532e 7570 7269 6d46 6c6f 6174 456e RTS.uprimFloatEn │ │ │ +00004090: 636f 6465 2878 2c20 7929 3b0a 2020 2020 code(x, y);. │ │ │ +000040a0: 2020 2020 2020 2020 6966 2028 7820 3d3d if (x == │ │ │ +000040b0: 3d20 6e75 6c6c 2920 7b0a 2020 2020 2020 = null) {. │ │ │ +000040c0: 2020 2020 2020 2020 2020 7265 7475 726e return │ │ │ +000040d0: 207a 5f6a 4167 6461 5f41 6764 615f 4275 z_jAgda_Agda_Bu │ │ │ +000040e0: 696c 7469 6e5f 4d61 7962 655b 224d 6179 iltin_Maybe["May │ │ │ +000040f0: 6265 225d 5b22 6e6f 7468 696e 6722 5d3b be"]["nothing"]; │ │ │ +00004100: 0a20 2020 2020 2020 2020 2020 207d 0a20 . }. │ │ │ +00004110: 2020 2020 2020 2020 2020 2065 6c73 6520 else │ │ │ +00004120: 7b0a 2020 2020 2020 2020 2020 2020 2020 {. │ │ │ +00004130: 2020 7265 7475 726e 207a 5f6a 4167 6461 return z_jAgda │ │ │ +00004140: 5f41 6764 615f 4275 696c 7469 6e5f 4d61 _Agda_Builtin_Ma │ │ │ +00004150: 7962 655b 224d 6179 6265 225d 5b22 6a75 ybe["Maybe"]["ju │ │ │ +00004160: 7374 225d 2878 293b 0a20 2020 2020 2020 st"](x);. │ │ │ +00004170: 2020 2020 207d 0a20 2020 2020 2020 207d }. } │ │ │ +00004180: 0a20 2020 207d 3b0a 232d 7d0a 0a70 7269 . };.#-}..pri │ │ │ +00004190: 6d46 6c6f 6174 4e75 6d65 7269 6361 6c45 mFloatNumericalE │ │ │ +000041a0: 7175 616c 6974 7920 3d20 7072 696d 466c quality = primFl │ │ │ +000041b0: 6f61 7445 7175 616c 6974 790a 7b2d 2320 oatEquality.{-# │ │ │ +000041c0: 5741 524e 494e 475f 4f4e 5f55 5341 4745 WARNING_ON_USAGE │ │ │ +000041d0: 2070 7269 6d46 6c6f 6174 4e75 6d65 7269 primFloatNumeri │ │ │ +000041e0: 6361 6c45 7175 616c 6974 790a 2257 6172 calEquality."War │ │ │ +000041f0: 6e69 6e67 3a20 7072 696d 466c 6f61 744e ning: primFloatN │ │ │ +00004200: 756d 6572 6963 616c 4571 7561 6c69 7479 umericalEquality │ │ │ +00004210: 2077 6173 2064 6570 7265 6361 7465 6420 was deprecated │ │ │ +00004220: 696e 2041 6764 6120 7632 2e36 2e32 2e0a in Agda v2.6.2.. │ │ │ +00004230: 506c 6561 7365 2075 7365 2070 7269 6d46 Please use primF │ │ │ +00004240: 6c6f 6174 4571 7561 6c69 7479 2069 6e73 loatEquality ins │ │ │ +00004250: 7465 6164 2e22 0a23 2d7d 0a0a 7072 696d tead.".#-}..prim │ │ │ +00004260: 466c 6f61 744e 756d 6572 6963 616c 4c65 FloatNumericalLe │ │ │ +00004270: 7373 203d 2070 7269 6d46 6c6f 6174 4c65 ss = primFloatLe │ │ │ +00004280: 7373 0a7b 2d23 2057 4152 4e49 4e47 5f4f ss.{-# WARNING_O │ │ │ +00004290: 4e5f 5553 4147 4520 7072 696d 466c 6f61 N_USAGE primFloa │ │ │ +000042a0: 744e 756d 6572 6963 616c 4c65 7373 0a22 tNumericalLess." │ │ │ +000042b0: 5761 726e 696e 673a 2070 7269 6d46 6c6f Warning: primFlo │ │ │ +000042c0: 6174 4e75 6d65 7269 6361 6c4c 6573 7320 atNumericalLess │ │ │ +000042d0: 7761 7320 6465 7072 6563 6174 6564 2069 was deprecated i │ │ │ +000042e0: 6e20 4167 6461 2076 322e 362e 322e 0a50 n Agda v2.6.2..P │ │ │ +000042f0: 6c65 6173 6520 7573 6520 7072 696d 466c lease use primFl │ │ │ +00004300: 6f61 744c 6573 7320 696e 7374 6561 642e oatLess instead. │ │ │ +00004310: 220a 232d 7d0a 0a70 7269 6d52 6f75 6e64 ".#-}..primRound │ │ │ +00004320: 203d 2070 7269 6d46 6c6f 6174 526f 756e = primFloatRoun │ │ │ +00004330: 640a 7b2d 2320 5741 524e 494e 475f 4f4e d.{-# WARNING_ON │ │ │ +00004340: 5f55 5341 4745 2070 7269 6d52 6f75 6e64 _USAGE primRound │ │ │ +00004350: 0a22 5761 726e 696e 673a 2070 7269 6d52 ."Warning: primR │ │ │ +00004360: 6f75 6e64 2077 6173 2064 6570 7265 6361 ound was depreca │ │ │ +00004370: 7465 6420 696e 2041 6764 6120 7632 2e36 ted in Agda v2.6 │ │ │ +00004380: 2e32 2e0a 506c 6561 7365 2075 7365 2070 .2..Please use p │ │ │ +00004390: 7269 6d46 6c6f 6174 526f 756e 6420 696e rimFloatRound in │ │ │ +000043a0: 7374 6561 642e 220a 232d 7d0a 0a70 7269 stead.".#-}..pri │ │ │ +000043b0: 6d46 6c6f 6f72 203d 2070 7269 6d46 6c6f mFloor = primFlo │ │ │ +000043c0: 6174 466c 6f6f 720a 7b2d 2320 5741 524e atFloor.{-# WARN │ │ │ +000043d0: 494e 475f 4f4e 5f55 5341 4745 2070 7269 ING_ON_USAGE pri │ │ │ +000043e0: 6d46 6c6f 6f72 0a22 5761 726e 696e 673a mFloor."Warning: │ │ │ +000043f0: 2070 7269 6d46 6c6f 6f72 2077 6173 2064 primFloor was d │ │ │ +00004400: 6570 7265 6361 7465 6420 696e 2041 6764 eprecated in Agd │ │ │ +00004410: 6120 7632 2e36 2e32 2e0a 506c 6561 7365 a v2.6.2..Please │ │ │ +00004420: 2075 7365 2070 7269 6d46 6c6f 6174 466c use primFloatFl │ │ │ +00004430: 6f6f 7220 696e 7374 6561 642e 220a 232d oor instead.".#- │ │ │ +00004440: 7d0a 0a70 7269 6d43 6569 6c69 6e67 203d }..primCeiling = │ │ │ +00004450: 2070 7269 6d46 6c6f 6174 4365 696c 696e primFloatCeilin │ │ │ +00004460: 670a 7b2d 2320 5741 524e 494e 475f 4f4e g.{-# WARNING_ON │ │ │ +00004470: 5f55 5341 4745 2070 7269 6d43 6569 6c69 _USAGE primCeili │ │ │ +00004480: 6e67 0a22 5761 726e 696e 673a 2070 7269 ng."Warning: pri │ │ │ +00004490: 6d43 6569 6c69 6e67 2077 6173 2064 6570 mCeiling was dep │ │ │ +000044a0: 7265 6361 7465 6420 696e 2041 6764 6120 recated in Agda │ │ │ +000044b0: 7632 2e36 2e32 2e0a 506c 6561 7365 2075 v2.6.2..Please u │ │ │ +000044c0: 7365 2070 7269 6d46 6c6f 6174 4365 696c se primFloatCeil │ │ │ +000044d0: 696e 6720 696e 7374 6561 642e 220a 232d ing instead.".#- │ │ │ +000044e0: 7d0a 0a70 7269 6d45 7870 203d 2070 7269 }..primExp = pri │ │ │ +000044f0: 6d46 6c6f 6174 4578 700a 7b2d 2320 5741 mFloatExp.{-# WA │ │ │ +00004500: 524e 494e 475f 4f4e 5f55 5341 4745 2070 RNING_ON_USAGE p │ │ │ +00004510: 7269 6d45 7870 0a22 5761 726e 696e 673a rimExp."Warning: │ │ │ +00004520: 2070 7269 6d45 7870 2077 6173 2064 6570 primExp was dep │ │ │ +00004530: 7265 6361 7465 6420 696e 2041 6764 6120 recated in Agda │ │ │ +00004540: 7632 2e36 2e32 2e0a 506c 6561 7365 2075 v2.6.2..Please u │ │ │ +00004550: 7365 2070 7269 6d46 6c6f 6174 4578 7020 se primFloatExp │ │ │ +00004560: 696e 7374 6561 642e 220a 232d 7d0a 0a70 instead.".#-}..p │ │ │ +00004570: 7269 6d4c 6f67 203d 2070 7269 6d46 6c6f rimLog = primFlo │ │ │ +00004580: 6174 4c6f 670a 7b2d 2320 5741 524e 494e atLog.{-# WARNIN │ │ │ +00004590: 475f 4f4e 5f55 5341 4745 2070 7269 6d4c G_ON_USAGE primL │ │ │ +000045a0: 6f67 0a22 5761 726e 696e 673a 2070 7269 og."Warning: pri │ │ │ +000045b0: 6d4c 6f67 2077 6173 2064 6570 7265 6361 mLog was depreca │ │ │ +000045c0: 7465 6420 696e 2041 6764 6120 7632 2e36 ted in Agda v2.6 │ │ │ +000045d0: 2e32 2e0a 506c 6561 7365 2075 7365 2070 .2..Please use p │ │ │ +000045e0: 7269 6d46 6c6f 6174 4c6f 6720 696e 7374 rimFloatLog inst │ │ │ +000045f0: 6561 642e 220a 232d 7d0a 0a70 7269 6d53 ead.".#-}..primS │ │ │ +00004600: 696e 203d 2070 7269 6d46 6c6f 6174 5369 in = primFloatSi │ │ │ +00004610: 6e0a 7b2d 2320 5741 524e 494e 475f 4f4e n.{-# WARNING_ON │ │ │ +00004620: 5f55 5341 4745 2070 7269 6d53 696e 0a22 _USAGE primSin." │ │ │ +00004630: 5761 726e 696e 673a 2070 7269 6d53 696e Warning: primSin │ │ │ +00004640: 2077 6173 2064 6570 7265 6361 7465 6420 was deprecated │ │ │ +00004650: 696e 2041 6764 6120 7632 2e36 2e32 2e0a in Agda v2.6.2.. │ │ │ +00004660: 506c 6561 7365 2075 7365 2070 7269 6d46 Please use primF │ │ │ +00004670: 6c6f 6174 5369 6e20 696e 7374 6561 642e loatSin instead. │ │ │ +00004680: 220a 232d 7d0a 0a70 7269 6d43 6f73 203d ".#-}..primCos = │ │ │ +00004690: 2070 7269 6d46 6c6f 6174 436f 730a 7b2d primFloatCos.{- │ │ │ +000046a0: 2320 5741 524e 494e 475f 4f4e 5f55 5341 # WARNING_ON_USA │ │ │ +000046b0: 4745 2070 7269 6d43 6f73 0a22 5761 726e GE primCos."Warn │ │ │ +000046c0: 696e 673a 2070 7269 6d43 6f73 2077 6173 ing: primCos was │ │ │ +000046d0: 2064 6570 7265 6361 7465 6420 696e 2041 deprecated in A │ │ │ +000046e0: 6764 6120 7632 2e36 2e32 2e0a 506c 6561 gda v2.6.2..Plea │ │ │ +000046f0: 7365 2075 7365 2070 7269 6d46 6c6f 6174 se use primFloat │ │ │ +00004700: 436f 7320 696e 7374 6561 642e 220a 232d Cos instead.".#- │ │ │ +00004710: 7d0a 0a70 7269 6d54 616e 203d 2070 7269 }..primTan = pri │ │ │ +00004720: 6d46 6c6f 6174 5461 6e0a 7b2d 2320 5741 mFloatTan.{-# WA │ │ │ +00004730: 524e 494e 475f 4f4e 5f55 5341 4745 2070 RNING_ON_USAGE p │ │ │ +00004740: 7269 6d54 616e 0a22 5761 726e 696e 673a rimTan."Warning: │ │ │ +00004750: 2070 7269 6d54 616e 2077 6173 2064 6570 primTan was dep │ │ │ +00004760: 7265 6361 7465 6420 696e 2041 6764 6120 recated in Agda │ │ │ +00004770: 7632 2e36 2e32 2e0a 506c 6561 7365 2075 v2.6.2..Please u │ │ │ +00004780: 7365 2070 7269 6d46 6c6f 6174 5461 6e20 se primFloatTan │ │ │ +00004790: 696e 7374 6561 642e 220a 232d 7d0a 0a70 instead.".#-}..p │ │ │ +000047a0: 7269 6d41 5369 6e20 3d20 7072 696d 466c rimASin = primFl │ │ │ +000047b0: 6f61 7441 5369 6e0a 7b2d 2320 5741 524e oatASin.{-# WARN │ │ │ +000047c0: 494e 475f 4f4e 5f55 5341 4745 2070 7269 ING_ON_USAGE pri │ │ │ +000047d0: 6d41 5369 6e0a 2257 6172 6e69 6e67 3a20 mASin."Warning: │ │ │ +000047e0: 7072 696d 4153 696e 2077 6173 2064 6570 primASin was dep │ │ │ +000047f0: 7265 6361 7465 6420 696e 2041 6764 6120 recated in Agda │ │ │ +00004800: 7632 2e36 2e32 2e0a 506c 6561 7365 2075 v2.6.2..Please u │ │ │ +00004810: 7365 2070 7269 6d46 6c6f 6174 4153 696e se primFloatASin │ │ │ +00004820: 2069 6e73 7465 6164 2e22 0a23 2d7d 0a0a instead.".#-}.. │ │ │ +00004830: 0a70 7269 6d41 436f 7320 3d20 7072 696d .primACos = prim │ │ │ +00004840: 466c 6f61 7441 436f 730a 7b2d 2320 5741 FloatACos.{-# WA │ │ │ +00004850: 524e 494e 475f 4f4e 5f55 5341 4745 2070 RNING_ON_USAGE p │ │ │ +00004860: 7269 6d41 436f 730a 2257 6172 6e69 6e67 rimACos."Warning │ │ │ +00004870: 3a20 7072 696d 4143 6f73 2077 6173 2064 : primACos was d │ │ │ +00004880: 6570 7265 6361 7465 6420 696e 2041 6764 eprecated in Agd │ │ │ +00004890: 6120 7632 2e36 2e32 2e0a 506c 6561 7365 a v2.6.2..Please │ │ │ +000048a0: 2075 7365 2070 7269 6d46 6c6f 6174 4143 use primFloatAC │ │ │ +000048b0: 6f73 2069 6e73 7465 6164 2e22 0a23 2d7d os instead.".#-} │ │ │ +000048c0: 0a0a 7072 696d 4154 616e 203d 2070 7269 ..primATan = pri │ │ │ +000048d0: 6d46 6c6f 6174 4154 616e 0a7b 2d23 2057 mFloatATan.{-# W │ │ │ +000048e0: 4152 4e49 4e47 5f4f 4e5f 5553 4147 4520 ARNING_ON_USAGE │ │ │ +000048f0: 7072 696d 4154 616e 0a22 5761 726e 696e primATan."Warnin │ │ │ +00004900: 673a 2070 7269 6d41 5461 6e20 7761 7320 g: primATan was │ │ │ +00004910: 6465 7072 6563 6174 6564 2069 6e20 4167 deprecated in Ag │ │ │ +00004920: 6461 2076 322e 362e 322e 0a50 6c65 6173 da v2.6.2..Pleas │ │ │ +00004930: 6520 7573 6520 7072 696d 466c 6f61 7441 e use primFloatA │ │ │ +00004940: 5461 6e20 696e 7374 6561 642e 220a 232d Tan instead.".#- │ │ │ +00004950: 7d0a 0a70 7269 6d41 5461 6e32 203d 2070 }..primATan2 = p │ │ │ +00004960: 7269 6d46 6c6f 6174 4154 616e 320a 7b2d rimFloatATan2.{- │ │ │ +00004970: 2320 5741 524e 494e 475f 4f4e 5f55 5341 # WARNING_ON_USA │ │ │ +00004980: 4745 2070 7269 6d41 5461 6e32 0a22 5761 GE primATan2."Wa │ │ │ +00004990: 726e 696e 673a 2070 7269 6d41 5461 6e32 rning: primATan2 │ │ │ +000049a0: 2077 6173 2064 6570 7265 6361 7465 6420 was deprecated │ │ │ +000049b0: 696e 2041 6764 6120 7632 2e36 2e32 2e0a in Agda v2.6.2.. │ │ │ +000049c0: 506c 6561 7365 2075 7365 2070 7269 6d46 Please use primF │ │ │ +000049d0: 6c6f 6174 4154 616e 3220 696e 7374 6561 loatATan2 instea │ │ │ +000049e0: 642e 220a 232d 7d0a b296 ad8c 96b6 e790 d.".#-}......... │ │ │ +000049f0: d801 f9bb c982 a1ef 92b5 c801 005c 0000 .............\.. │ │ │ +00004a00: 4a37 05b4 8080 e608 0000 0005 2000 0001 J7.......... ... │ │ │ +00004a10: 0001 0004 0408 0307 0286 8080 ec08 0200 ................ │ │ │ +00004a20: 0003 0f00 0505 050b 8780 80ec 0801 0520 ............... │ │ │ +00004a30: 0000 010b 6a0b 6bde d6db fbed a8ae 8921 ....j.k........! │ │ │ +00004a40: 8acb 9d9b aad1 dc92 1b00 6c00 004a 7105 ..........l..Jq. │ │ │ +00004a50: 2000 0001 0004 0408 0307 025e 0200 0003 ..........^.... │ │ │ +00004a60: 0f00 0505 050b 5f0b 6d0b 6109 0601 00d2 ......_.m.a..... │ │ │ +00004a70: 01e0 e4b6 b5ea d1c8 f9d8 01e3 cee8 9ccb ................ │ │ │ +00004a80: a6ab 90a6 0100 6d00 004b 7505 8280 80e6 ......m..Ku..... │ │ │ +00004a90: 0800 0001 0003 0407 0402 0000 030f 0009 ................ │ │ │ +00004aa0: 01d2 017b 2d23 204f 5054 494f 4e53 202d ...{-# OPTIONS - │ │ │ +00004ab0: 2d63 7562 6963 616c 2d63 6f6d 7061 7469 -cubical-compati │ │ │ +00004ac0: 626c 6520 2d2d 7265 7772 6974 696e 6720 ble --rewriting │ │ │ +00004ad0: 2d2d 6e6f 2d73 697a 6564 2d74 7970 6573 --no-sized-types │ │ │ +00004ae0: 202d 2d6e 6f2d 6775 6172 6465 646e 6573 --no-guardednes │ │ │ +00004af0: 7320 2d2d 6c65 7665 6c2d 756e 6976 6572 s --level-univer │ │ │ +00004b00: 7365 2023 2d7d 0a0a 6d6f 6475 6c65 2041 se #-}..module A │ │ │ +00004b10: 6764 612e 4275 696c 7469 6e2e 4571 7561 gda.Builtin.Equa │ │ │ +00004b20: 6c69 7479 2e52 6577 7269 7465 2077 6865 lity.Rewrite whe │ │ │ +00004b30: 7265 0a0a 6f70 656e 2069 6d70 6f72 7420 re..open import │ │ │ +00004b40: 4167 6461 2e42 7569 6c74 696e 2e45 7175 Agda.Builtin.Equ │ │ │ +00004b50: 616c 6974 790a 0a7b 2d23 2042 5549 4c54 ality..{-# BUILT │ │ │ +00004b60: 494e 2052 4557 5249 5445 205f e289 a15f IN REWRITE _..._ │ │ │ +00004b70: 2023 2d7d 0ad5 b8f2 f5e1 8bc9 8f83 018e #-}............ │ │ │ +00004b80: 8ae3 d9c1 d58e efa6 0100 6e00 004b b105 ..........n..K.. │ │ │ +00004b90: 2000 0001 0004 0408 0307 025e 0200 0003 ..........^.... │ │ │ +00004ba0: 0f00 0505 050b 5f0b 6f0b 6109 0601 00f5 ......_.o.a..... │ │ │ +00004bb0: 019e b9e1 b2d2 ac83 9201 d783 8a90 9bfd ................ │ │ │ +00004bc0: a8d3 8901 006f 0000 4cd7 0582 8080 e608 .....o..L....... │ │ │ +00004bd0: 0000 0100 0304 0704 0200 0003 0f00 0901 ................ │ │ │ +00004be0: f501 7b2d 2320 4f50 5449 4f4e 5320 2d2d ..{-# OPTIONS -- │ │ │ +00004bf0: 7769 7468 2d4b 202d 2d73 6166 6520 2d2d with-K --safe -- │ │ │ +00004c00: 6e6f 2d73 697a 6564 2d74 7970 6573 202d no-sized-types - │ │ │ +00004c10: 2d6e 6f2d 6775 6172 6465 646e 6573 7320 -no-guardedness │ │ │ +00004c20: 2d2d 6c65 7665 6c2d 756e 6976 6572 7365 --level-universe │ │ │ +00004c30: 2023 2d7d 0a0a 6d6f 6475 6c65 2041 6764 #-}..module Agd │ │ │ +00004c40: 612e 4275 696c 7469 6e2e 4571 7561 6c69 a.Builtin.Equali │ │ │ +00004c50: 7479 2e45 7261 7365 2077 6865 7265 0a0a ty.Erase where.. │ │ │ +00004c60: 6f70 656e 2069 6d70 6f72 7420 4167 6461 open import Agda │ │ │ +00004c70: 2e42 7569 6c74 696e 2e45 7175 616c 6974 .Builtin.Equalit │ │ │ +00004c80: 790a 0a70 7269 6d69 7469 7665 2070 7269 y..primitive pri │ │ │ +00004c90: 6d45 7261 7365 4571 7561 6c69 7479 203a mEraseEquality : │ │ │ +00004ca0: 20e2 8880 207b 617d 207b 4120 3a20 5365 ... {a} {A : Se │ │ │ +00004cb0: 7420 617d 207b 7820 7920 3a20 417d 20e2 t a} {x y : A} . │ │ │ +00004cc0: 8692 2078 20e2 89a1 2079 20e2 8692 2078 .. x ... y ... x │ │ │ +00004cd0: 20e2 89a1 2079 0ad7 a998 89f4 ed93 f630 ... y.........0 │ │ │ +00004ce0: fdcb a787 a4bb 83b1 8901 0070 0000 4d12 ...........p..M. │ │ │ +00004cf0: 0520 0000 0100 0404 0803 0702 5e02 0000 . ..........^... │ │ │ +00004d00: 030f 0005 0505 0b5f 0b71 0b61 0906 0100 ......._.q.a.... │ │ │ +00004d10: 8302 a5fc d7c6 c1c0 b1d4 9101 fdf7 e7ca ................ │ │ │ +00004d20: d582 f3dc 6d00 7100 004e 4605 8280 80e6 ....m.q..NF..... │ │ │ +00004d30: 0800 0001 0003 0407 0402 0000 030f 0009 ................ │ │ │ +00004d40: 0183 027b 2d23 204f 5054 494f 4e53 202d ...{-# OPTIONS - │ │ │ +00004d50: 2d63 7562 6963 616c 2d63 6f6d 7061 7469 -cubical-compati │ │ │ +00004d60: 626c 6520 2d2d 7361 6665 202d 2d6e 6f2d ble --safe --no- │ │ │ +00004d70: 7369 7a65 642d 7479 7065 7320 2d2d 6e6f sized-types --no │ │ │ +00004d80: 2d67 7561 7264 6564 6e65 7373 202d 2d6c -guardedness --l │ │ │ +00004d90: 6576 656c 2d75 6e69 7665 7273 6520 232d evel-universe #- │ │ │ +00004da0: 7d0a 0a6d 6f64 756c 6520 4167 6461 2e42 }..module Agda.B │ │ │ +00004db0: 7569 6c74 696e 2e45 7175 616c 6974 7920 uiltin.Equality │ │ │ +00004dc0: 7768 6572 650a 0a69 6e66 6978 2034 205f where..infix 4 _ │ │ │ +00004dd0: e289 a15f 0a64 6174 6120 5fe2 89a1 5f20 ..._.data _..._ │ │ │ +00004de0: 7b61 7d20 7b41 203a 2053 6574 2061 7d20 {a} {A : Set a} │ │ │ +00004df0: 2878 203a 2041 2920 3a20 4120 e286 9220 (x : A) : A ... │ │ │ +00004e00: 5365 7420 6120 7768 6572 650a 2020 696e Set a where. in │ │ │ +00004e10: 7374 616e 6365 2072 6566 6c20 3a20 7820 stance refl : x │ │ │ +00004e20: e289 a120 780a 0a7b 2d23 2042 5549 4c54 ... x..{-# BUILT │ │ │ +00004e30: 494e 2045 5155 414c 4954 5920 5fe2 89a1 IN EQUALITY _... │ │ │ +00004e40: 5f20 232d 7d0a f3db aa9f 80aa d9dd fd01 _ #-}........... │ │ │ +00004e50: c5e0 8ac6 91ed c987 c201 0072 0000 4e82 ...........r..N. │ │ │ +00004e60: 0520 0000 0100 0404 0803 0702 5e02 0000 . ..........^... │ │ │ +00004e70: 030f 0005 0505 0b5f 0b73 0b61 0906 0100 ......._.s.a.... │ │ │ +00004e80: be1b fea5 fcac b5fc fda6 6783 8d9c 98fc ..........g..... │ │ │ +00004e90: c5f7 f879 0073 0000 5c70 0582 8080 e608 ...y.s..\p...... │ │ │ +00004ea0: 0000 0100 0304 0704 0200 0003 0f00 0901 ................ │ │ │ +00004eb0: be1b 7b2d 2320 4f50 5449 4f4e 5320 2d2d ..{-# OPTIONS -- │ │ │ +00004ec0: 6572 6173 6564 2d63 7562 6963 616c 202d erased-cubical - │ │ │ +00004ed0: 2d73 6166 6520 2d2d 6e6f 2d73 697a 6564 -safe --no-sized │ │ │ +00004ee0: 2d74 7970 6573 202d 2d6e 6f2d 6775 6172 -types --no-guar │ │ │ +00004ef0: 6465 646e 6573 7320 232d 7d0a 0a6d 6f64 dedness #-}..mod │ │ │ +00004f00: 756c 6520 4167 6461 2e42 7569 6c74 696e ule Agda.Builtin │ │ │ +00004f10: 2e43 7562 6963 616c 2e48 436f 6d70 5520 .Cubical.HCompU │ │ │ +00004f20: 7768 6572 650a 0a6f 7065 6e20 696d 706f where..open impo │ │ │ +00004f30: 7274 2041 6764 612e 5072 696d 6974 6976 rt Agda.Primitiv │ │ │ +00004f40: 650a 6f70 656e 2069 6d70 6f72 7420 4167 e.open import Ag │ │ │ +00004f50: 6461 2e42 7569 6c74 696e 2e53 6967 6d61 da.Builtin.Sigma │ │ │ +00004f60: 0a6f 7065 6e20 696d 706f 7274 2041 6764 .open import Agd │ │ │ +00004f70: 612e 5072 696d 6974 6976 652e 4375 6269 a.Primitive.Cubi │ │ │ +00004f80: 6361 6c20 7265 6e61 6d69 6e67 2028 7072 cal renaming (pr │ │ │ +00004f90: 696d 494e 6567 2074 6f20 7e5f 3b20 7072 imINeg to ~_; pr │ │ │ +00004fa0: 696d 494d 6178 2074 6f20 5fe2 88a8 5f3b imIMax to _..._; │ │ │ +00004fb0: 2070 7269 6d49 4d69 6e20 746f 205f e288 primIMin to _.. │ │ │ +00004fc0: a75f 3b0a 2020 2020 2020 2020 2020 2020 ._;. │ │ │ 00004fd0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 00004fe0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00004ff0: 7072 696d 4843 6f6d 7020 746f 2068 636f primHComp to hco │ │ │ -00005000: 6d70 3b20 7072 696d 5472 616e 7370 2074 mp; primTransp t │ │ │ -00005010: 6f20 7472 616e 7370 3b20 7072 696d 436f o transp; primCo │ │ │ -00005020: 6d70 2074 6f20 636f 6d70 3b0a 2020 2020 mp to comp;. │ │ │ +00004ff0: 2070 7269 6d48 436f 6d70 2074 6f20 6863 primHComp to hc │ │ │ +00005000: 6f6d 703b 2070 7269 6d54 7261 6e73 7020 omp; primTransp │ │ │ +00005010: 746f 2074 7261 6e73 703b 2070 7269 6d43 to transp; primC │ │ │ +00005020: 6f6d 7020 746f 2063 6f6d 703b 0a20 2020 omp to comp;. │ │ │ 00005030: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 00005040: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00005050: 2020 2020 2020 2020 2069 7449 734f 6e65 itIsOne │ │ │ -00005060: 2074 6f20 313d 3129 0a6f 7065 6e20 696d to 1=1).open im │ │ │ -00005070: 706f 7274 2041 6764 612e 4275 696c 7469 port Agda.Builti │ │ │ -00005080: 6e2e 4375 6269 6361 6c2e 5061 7468 0a6f n.Cubical.Path.o │ │ │ -00005090: 7065 6e20 696d 706f 7274 2041 6764 612e pen import Agda. │ │ │ -000050a0: 4275 696c 7469 6e2e 4375 6269 6361 6c2e Builtin.Cubical. │ │ │ -000050b0: 5375 6220 7265 6e61 6d69 6e67 2028 5375 Sub renaming (Su │ │ │ -000050c0: 6220 746f 205f 5b5f e286 a65f 5d3b 2070 b to _[_..._]; p │ │ │ -000050d0: 7269 6d53 7562 4f75 7420 746f 206f 7574 rimSubOut to out │ │ │ -000050e0: 5329 0a0a 6d6f 6475 6c65 2048 656c 7065 S)..module Helpe │ │ │ -000050f0: 7273 2077 6865 7265 0a20 2020 202d 2d20 rs where. -- │ │ │ -00005100: 486f 6d6f 6765 6e65 6f75 7320 6669 6c6c Homogeneous fill │ │ │ -00005110: 696e 670a 2020 2020 6866 696c 6c20 3a20 ing. hfill : │ │ │ -00005120: e288 8020 7be2 8493 7d20 7b41 203a 2053 ... {...} {A : S │ │ │ -00005130: 6574 20e2 8493 7d20 7bcf 8620 3a20 497d et ...} {.. : I} │ │ │ -00005140: 0a20 2020 2020 2020 2020 2020 2020 2028 . ( │ │ │ -00005150: 7520 3a20 e288 8020 6920 e286 9220 5061 u : ... i ... Pa │ │ │ -00005160: 7274 6961 6c20 cf86 2041 290a 2020 2020 rtial .. A). │ │ │ -00005170: 2020 2020 2020 2020 2020 2875 3020 3a20 (u0 : │ │ │ -00005180: 4120 5b20 cf86 20e2 86a6 2075 2069 3020 A [ .. ... u i0 │ │ │ -00005190: 5d29 2028 6920 3a20 4929 20e2 8692 2041 ]) (i : I) ... A │ │ │ -000051a0: 0a20 2020 2068 6669 6c6c 207b cf86 203d . hfill {.. = │ │ │ -000051b0: 20cf 867d 2075 2075 3020 6920 3d0a 2020 ..} u u0 i =. │ │ │ -000051c0: 2020 2020 6863 6f6d 7020 28ce bb20 6a20 hcomp (.. j │ │ │ -000051d0: e286 9220 5c20 7b20 28cf 8620 3d20 6931 ... \ { (.. = i1 │ │ │ -000051e0: 2920 e286 9220 7520 2869 20e2 88a7 206a ) ... u (i ... j │ │ │ -000051f0: 2920 313d 310a 2020 2020 2020 2020 2020 ) 1=1. │ │ │ -00005200: 2020 2020 2020 2020 2020 203b 2028 6920 ; (i │ │ │ -00005210: 3d20 6930 2920 e286 9220 6f75 7453 2075 = i0) ... outS u │ │ │ -00005220: 3020 7d29 0a20 2020 2020 2020 2020 2020 0 }). │ │ │ -00005230: 2028 6f75 7453 2075 3029 0a0a 2020 2020 (outS u0).. │ │ │ -00005240: 2d2d 2048 6574 6572 6f67 656e 656f 7573 -- Heterogeneous │ │ │ -00005250: 2066 696c 6c69 6e67 2064 6566 696e 6564 filling defined │ │ │ -00005260: 2075 7369 6e67 2063 6f6d 700a 2020 2020 using comp. │ │ │ -00005270: 6669 6c6c 203a 20e2 8880 207b e284 9320 fill : ... {... │ │ │ -00005280: 3a20 4920 e286 9220 4c65 7665 6c7d 2028 : I ... Level} ( │ │ │ -00005290: 4120 3a20 e288 8020 6920 e286 9220 5365 A : ... i ... Se │ │ │ -000052a0: 7420 28e2 8493 2069 2929 207b cf86 203a t (... i)) {.. : │ │ │ -000052b0: 2049 7d0a 2020 2020 2020 2020 2020 2020 I}. │ │ │ -000052c0: 2028 7520 3a20 e288 8020 6920 e286 9220 (u : ... i ... │ │ │ -000052d0: 5061 7274 6961 6c20 cf86 2028 4120 6929 Partial .. (A i) │ │ │ -000052e0: 290a 2020 2020 2020 2020 2020 2020 2028 ). ( │ │ │ -000052f0: 7530 203a 2041 2069 3020 5b20 cf86 20e2 u0 : A i0 [ .. . │ │ │ -00005300: 86a6 2075 2069 3020 5d29 20e2 8692 0a20 .. u i0 ]) .... │ │ │ -00005310: 2020 2020 2020 2020 2020 2020 e288 8020 ... │ │ │ -00005320: 6920 e286 9220 2041 2069 0a20 2020 2066 i ... A i. f │ │ │ -00005330: 696c 6c20 4120 7bcf 8620 3d20 cf86 7d20 ill A {.. = ..} │ │ │ -00005340: 7520 7530 2069 203d 0a20 2020 2020 2063 u u0 i =. c │ │ │ -00005350: 6f6d 7020 28ce bb20 6a20 e286 9220 4120 omp (.. j ... A │ │ │ -00005360: 2869 20e2 88a7 206a 2929 0a20 2020 2020 (i ... j)). │ │ │ -00005370: 2020 2020 2020 28ce bb20 6a20 e286 9220 (.. j ... │ │ │ -00005380: 5c20 7b20 28cf 8620 3d20 6931 2920 e286 \ { (.. = i1) .. │ │ │ -00005390: 9220 7520 2869 20e2 88a7 206a 2920 313d . u (i ... j) 1= │ │ │ -000053a0: 310a 2020 2020 2020 2020 2020 2020 2020 1. │ │ │ -000053b0: 2020 2020 2020 3b20 2869 203d 2069 3029 ; (i = i0) │ │ │ -000053c0: 20e2 8692 206f 7574 5320 7530 207d 290a ... outS u0 }). │ │ │ -000053d0: 2020 2020 2020 2020 2020 2028 6f75 7453 (outS │ │ │ -000053e0: 207b cf86 203d 20cf 867d 2075 3029 0a0a {.. = ..} u0).. │ │ │ -000053f0: 2020 2020 6d6f 6475 6c65 205f 207b e284 module _ {.. │ │ │ -00005400: 937d 207b 4120 3a20 5365 7420 e284 937d .} {A : Set ...} │ │ │ -00005410: 2077 6865 7265 0a20 2020 2020 2072 6566 where. ref │ │ │ -00005420: 6c20 3a20 7b78 203a 2041 7d20 e286 9220 l : {x : A} ... │ │ │ -00005430: 7820 e289 a120 780a 2020 2020 2020 7265 x ... x. re │ │ │ -00005440: 666c 207b 7820 3d20 787d 203d 20ce bb20 fl {x = x} = .. │ │ │ -00005450: 5f20 e286 9220 780a 0a20 2020 2020 2073 _ ... x.. s │ │ │ -00005460: 796d 203a 207b 7820 7920 3a20 417d 20e2 ym : {x y : A} . │ │ │ -00005470: 8692 2078 20e2 89a1 2079 20e2 8692 2079 .. x ... y ... y │ │ │ -00005480: 20e2 89a1 2078 0a20 2020 2020 2073 796d ... x. sym │ │ │ -00005490: 2070 203d 20ce bb20 6920 e286 9220 7020 p = .. i ... p │ │ │ -000054a0: 287e 2069 290a 0a20 2020 2020 2063 6f6e (~ i).. con │ │ │ -000054b0: 6720 3a20 e288 8020 7be2 8493 277d 207b g : ... {...'} { │ │ │ -000054c0: 4220 3a20 4120 e286 9220 5365 7420 e284 B : A ... Set .. │ │ │ -000054d0: 9327 7d20 7b78 2079 203a 2041 7d0a 2020 .'} {x y : A}. │ │ │ -000054e0: 2020 2020 2020 2020 2020 2028 6620 3a20 (f : │ │ │ -000054f0: 2861 203a 2041 2920 e286 9220 4220 6129 (a : A) ... B a) │ │ │ -00005500: 2028 7020 3a20 7820 e289 a120 7929 0a20 (p : x ... y). │ │ │ -00005510: 2020 2020 2020 2020 2020 e286 9220 5061 ... Pa │ │ │ -00005520: 7468 5020 28ce bb20 6920 e286 9220 4220 thP (.. i ... B │ │ │ -00005530: 2870 2069 2929 2028 6620 7829 2028 6620 (p i)) (f x) (f │ │ │ -00005540: 7929 0a20 2020 2020 2063 6f6e 6720 6620 y). cong f │ │ │ -00005550: 7020 3d20 cebb 2069 20e2 8692 2066 2028 p = .. i ... f ( │ │ │ -00005560: 7020 6929 0a0a 2020 2020 6973 436f 6e74 p i).. isCont │ │ │ -00005570: 7220 3a20 e288 8020 7be2 8493 7d20 e286 r : ... {...} .. │ │ │ -00005580: 9220 5365 7420 e284 9320 e286 9220 5365 . Set ... ... Se │ │ │ -00005590: 7420 e284 930a 2020 2020 6973 436f 6e74 t .... isCont │ │ │ -000055a0: 7220 4120 3d20 cea3 2041 205c 2078 20e2 r A = .. A \ x . │ │ │ -000055b0: 8692 2028 e288 8020 7920 e286 9220 7820 .. (... y ... x │ │ │ -000055c0: e289 a120 7929 0a0a 2020 2020 6669 6265 ... y).. fibe │ │ │ -000055d0: 7220 3a20 e288 8020 7be2 8493 20e2 8493 r : ... {... ... │ │ │ -000055e0: 277d 207b 4120 3a20 5365 7420 e284 937d '} {A : Set ...} │ │ │ -000055f0: 207b 4220 3a20 5365 7420 e284 9327 7d20 {B : Set ...'} │ │ │ -00005600: 2866 203a 2041 20e2 8692 2042 2920 2879 (f : A ... B) (y │ │ │ -00005610: 203a 2042 2920 e286 9220 5365 7420 28e2 : B) ... Set (. │ │ │ -00005620: 8493 20e2 8a94 20e2 8493 2729 0a20 2020 .. ... ...'). │ │ │ -00005630: 2066 6962 6572 207b 4120 3d20 417d 2066 fiber {A = A} f │ │ │ -00005640: 2079 203d 20ce a320 4120 5c20 7820 e286 y = .. A \ x .. │ │ │ -00005650: 9220 6620 7820 e289 a120 790a 0a6f 7065 . f x ... y..ope │ │ │ -00005660: 6e20 4865 6c70 6572 730a 0a0a 7072 696d n Helpers...prim │ │ │ -00005670: 6974 6976 650a 2020 7072 696d 5e67 6c75 itive. prim^glu │ │ │ -00005680: 6555 203a 207b 6c61 203a 204c 6576 656c eU : {la : Level │ │ │ -00005690: 7d20 7bcf 8620 3a20 497d 207b 5420 3a20 } {.. : I} {T : │ │ │ -000056a0: 4920 e286 9220 5061 7274 6961 6c20 cf86 I ... Partial .. │ │ │ -000056b0: 2028 5365 7420 6c61 297d 0a20 2020 2020 (Set la)}. │ │ │ -000056c0: 2020 2020 2020 2020 2020 2020 7b41 203a {A : │ │ │ -000056d0: 2053 6574 206c 6120 5b20 cf86 20e2 86a6 Set la [ .. ... │ │ │ -000056e0: 2054 2069 3020 5d7d 20e2 8692 0a20 2020 T i0 ]} .... │ │ │ -000056f0: 2020 2020 2020 2020 2020 2020 2020 5061 Pa │ │ │ -00005700: 7274 6961 6c50 20cf 8620 2854 2069 3129 rtialP .. (T i1) │ │ │ -00005710: 20e2 8692 206f 7574 5320 4120 e286 9220 ... outS A ... │ │ │ -00005720: 6863 6f6d 7020 5420 286f 7574 5320 4129 hcomp T (outS A) │ │ │ -00005730: 0a20 2070 7269 6d5e 756e 676c 7565 5520 . prim^unglueU │ │ │ -00005740: 3a20 7b6c 6120 3a20 4c65 7665 6c7d 207b : {la : Level} { │ │ │ -00005750: cf86 203a 2049 7d20 7b54 203a 2049 20e2 .. : I} {T : I . │ │ │ -00005760: 8692 2050 6172 7469 616c 20cf 8620 2853 .. Partial .. (S │ │ │ -00005770: 6574 206c 6129 7d0a 2020 2020 2020 2020 et la)}. │ │ │ -00005780: 2020 2020 2020 2020 2020 207b 4120 3a20 {A : │ │ │ -00005790: 5365 7420 6c61 205b 20cf 8620 e286 a620 Set la [ .. ... │ │ │ -000057a0: 5420 6930 205d 7d20 e286 920a 2020 2020 T i0 ]} .... │ │ │ -000057b0: 2020 2020 2020 2020 2020 2020 2020 2068 h │ │ │ -000057c0: 636f 6d70 2054 2028 6f75 7453 2041 2920 comp T (outS A) │ │ │ -000057d0: e286 9220 6f75 7453 2041 0a20 202d 2d20 ... outS A. -- │ │ │ -000057e0: 4e65 6564 6564 2066 6f72 2074 7261 6e73 Needed for trans │ │ │ -000057f0: 702e 0a20 2070 7269 6d46 6163 6546 6f72 p.. primFaceFor │ │ │ -00005800: 616c 6c20 3a20 2849 20e2 8692 2049 2920 all : (I ... I) │ │ │ -00005810: e286 9220 490a 0a74 7261 6e73 7050 726f ... I..transpPro │ │ │ -00005820: 6f66 203a 20e2 8880 207b 6c7d 20e2 8692 of : ... {l} ... │ │ │ -00005830: 2028 6520 3a20 4920 e286 9220 5365 7420 (e : I ... Set │ │ │ -00005840: 6c29 20e2 8692 2028 cf86 203a 2049 2920 l) ... (.. : I) │ │ │ -00005850: e286 9220 2861 203a 2050 6172 7469 616c ... (a : Partial │ │ │ -00005860: 20cf 8620 2865 2069 3029 2920 e286 9220 .. (e i0)) ... │ │ │ -00005870: 2862 203a 2065 2069 3120 5b20 cf86 20e2 (b : e i1 [ .. . │ │ │ -00005880: 86a6 2028 5c20 6f20 e286 9220 7472 616e .. (\ o ... tran │ │ │ -00005890: 7370 2028 5c20 6920 e286 9220 6520 6929 sp (\ i ... e i) │ │ │ -000058a0: 2069 3020 2861 206f 2929 205d 2029 20e2 i0 (a o)) ] ) . │ │ │ -000058b0: 8692 2066 6962 6572 2028 7472 616e 7370 .. fiber (transp │ │ │ -000058c0: 2028 5c20 6920 e286 9220 6520 6929 2069 (\ i ... e i) i │ │ │ -000058d0: 3029 2028 6f75 7453 2062 290a 7472 616e 0) (outS b).tran │ │ │ -000058e0: 7370 5072 6f6f 6620 6520 cf86 2061 2062 spProof e .. a b │ │ │ -000058f0: 203d 2066 202c 205c 206a 20e2 8692 2063 = f , \ j ... c │ │ │ -00005900: 6f6d 7020 285c 2069 20e2 8692 2065 2069 omp (\ i ... e i │ │ │ -00005910: 2920 285c 2069 20e2 8692 0a20 2020 2020 ) (\ i .... │ │ │ +00005050: 2020 2020 2020 2020 2020 6974 4973 4f6e itIsOn │ │ │ +00005060: 6520 746f 2031 3d31 290a 6f70 656e 2069 e to 1=1).open i │ │ │ +00005070: 6d70 6f72 7420 4167 6461 2e42 7569 6c74 mport Agda.Built │ │ │ +00005080: 696e 2e43 7562 6963 616c 2e50 6174 680a in.Cubical.Path. │ │ │ +00005090: 6f70 656e 2069 6d70 6f72 7420 4167 6461 open import Agda │ │ │ +000050a0: 2e42 7569 6c74 696e 2e43 7562 6963 616c .Builtin.Cubical │ │ │ +000050b0: 2e53 7562 2072 656e 616d 696e 6720 2853 .Sub renaming (S │ │ │ +000050c0: 7562 2074 6f20 5f5b 5fe2 86a6 5f5d 3b20 ub to _[_..._]; │ │ │ +000050d0: 7072 696d 5375 624f 7574 2074 6f20 6f75 primSubOut to ou │ │ │ +000050e0: 7453 290a 0a6d 6f64 756c 6520 4865 6c70 tS)..module Help │ │ │ +000050f0: 6572 7320 7768 6572 650a 2020 2020 2d2d ers where. -- │ │ │ +00005100: 2048 6f6d 6f67 656e 656f 7573 2066 696c Homogeneous fil │ │ │ +00005110: 6c69 6e67 0a20 2020 2068 6669 6c6c 203a ling. hfill : │ │ │ +00005120: 20e2 8880 207b e284 937d 207b 4120 3a20 ... {...} {A : │ │ │ +00005130: 5365 7420 e284 937d 207b cf86 203a 2049 Set ...} {.. : I │ │ │ +00005140: 7d0a 2020 2020 2020 2020 2020 2020 2020 }. │ │ │ +00005150: 2875 203a 20e2 8880 2069 20e2 8692 2050 (u : ... i ... P │ │ │ +00005160: 6172 7469 616c 20cf 8620 4129 0a20 2020 artial .. A). │ │ │ +00005170: 2020 2020 2020 2020 2020 2028 7530 203a (u0 : │ │ │ +00005180: 2041 205b 20cf 8620 e286 a620 7520 6930 A [ .. ... u i0 │ │ │ +00005190: 205d 2920 2869 203a 2049 2920 e286 9220 ]) (i : I) ... │ │ │ +000051a0: 410a 2020 2020 6866 696c 6c20 7bcf 8620 A. hfill {.. │ │ │ +000051b0: 3d20 cf86 7d20 7520 7530 2069 203d 0a20 = ..} u u0 i =. │ │ │ +000051c0: 2020 2020 2068 636f 6d70 2028 cebb 206a hcomp (.. j │ │ │ +000051d0: 20e2 8692 205c 207b 2028 cf86 203d 2069 ... \ { (.. = i │ │ │ +000051e0: 3129 20e2 8692 2075 2028 6920 e288 a720 1) ... u (i ... │ │ │ +000051f0: 6a29 2031 3d31 0a20 2020 2020 2020 2020 j) 1=1. │ │ │ +00005200: 2020 2020 2020 2020 2020 2020 3b20 2869 ; (i │ │ │ +00005210: 203d 2069 3029 20e2 8692 206f 7574 5320 = i0) ... outS │ │ │ +00005220: 7530 207d 290a 2020 2020 2020 2020 2020 u0 }). │ │ │ +00005230: 2020 286f 7574 5320 7530 290a 0a20 2020 (outS u0).. │ │ │ +00005240: 202d 2d20 4865 7465 726f 6765 6e65 6f75 -- Heterogeneou │ │ │ +00005250: 7320 6669 6c6c 696e 6720 6465 6669 6e65 s filling define │ │ │ +00005260: 6420 7573 696e 6720 636f 6d70 0a20 2020 d using comp. │ │ │ +00005270: 2066 696c 6c20 3a20 e288 8020 7be2 8493 fill : ... {... │ │ │ +00005280: 203a 2049 20e2 8692 204c 6576 656c 7d20 : I ... Level} │ │ │ +00005290: 2841 203a 20e2 8880 2069 20e2 8692 2053 (A : ... i ... S │ │ │ +000052a0: 6574 2028 e284 9320 6929 2920 7bcf 8620 et (... i)) {.. │ │ │ +000052b0: 3a20 497d 0a20 2020 2020 2020 2020 2020 : I}. │ │ │ +000052c0: 2020 2875 203a 20e2 8880 2069 20e2 8692 (u : ... i ... │ │ │ +000052d0: 2050 6172 7469 616c 20cf 8620 2841 2069 Partial .. (A i │ │ │ +000052e0: 2929 0a20 2020 2020 2020 2020 2020 2020 )). │ │ │ +000052f0: 2875 3020 3a20 4120 6930 205b 20cf 8620 (u0 : A i0 [ .. │ │ │ +00005300: e286 a620 7520 6930 205d 2920 e286 920a ... u i0 ]) .... │ │ │ +00005310: 2020 2020 2020 2020 2020 2020 20e2 8880 ... │ │ │ +00005320: 2069 20e2 8692 2020 4120 690a 2020 2020 i ... A i. │ │ │ +00005330: 6669 6c6c 2041 207b cf86 203d 20cf 867d fill A {.. = ..} │ │ │ +00005340: 2075 2075 3020 6920 3d0a 2020 2020 2020 u u0 i =. │ │ │ +00005350: 636f 6d70 2028 cebb 206a 20e2 8692 2041 comp (.. j ... A │ │ │ +00005360: 2028 6920 e288 a720 6a29 290a 2020 2020 (i ... j)). │ │ │ +00005370: 2020 2020 2020 2028 cebb 206a 20e2 8692 (.. j ... │ │ │ +00005380: 205c 207b 2028 cf86 203d 2069 3129 20e2 \ { (.. = i1) . │ │ │ +00005390: 8692 2075 2028 6920 e288 a720 6a29 2031 .. u (i ... j) 1 │ │ │ +000053a0: 3d31 0a20 2020 2020 2020 2020 2020 2020 =1. │ │ │ +000053b0: 2020 2020 2020 203b 2028 6920 3d20 6930 ; (i = i0 │ │ │ +000053c0: 2920 e286 9220 6f75 7453 2075 3020 7d29 ) ... outS u0 }) │ │ │ +000053d0: 0a20 2020 2020 2020 2020 2020 286f 7574 . (out │ │ │ +000053e0: 5320 7bcf 8620 3d20 cf86 7d20 7530 290a S {.. = ..} u0). │ │ │ +000053f0: 0a20 2020 206d 6f64 756c 6520 5f20 7be2 . module _ {. │ │ │ +00005400: 8493 7d20 7b41 203a 2053 6574 20e2 8493 ..} {A : Set ... │ │ │ +00005410: 7d20 7768 6572 650a 2020 2020 2020 7265 } where. re │ │ │ +00005420: 666c 203a 207b 7820 3a20 417d 20e2 8692 fl : {x : A} ... │ │ │ +00005430: 2078 20e2 89a1 2078 0a20 2020 2020 2072 x ... x. r │ │ │ +00005440: 6566 6c20 7b78 203d 2078 7d20 3d20 cebb efl {x = x} = .. │ │ │ +00005450: 205f 20e2 8692 2078 0a0a 2020 2020 2020 _ ... x.. │ │ │ +00005460: 7379 6d20 3a20 7b78 2079 203a 2041 7d20 sym : {x y : A} │ │ │ +00005470: e286 9220 7820 e289 a120 7920 e286 9220 ... x ... y ... │ │ │ +00005480: 7920 e289 a120 780a 2020 2020 2020 7379 y ... x. sy │ │ │ +00005490: 6d20 7020 3d20 cebb 2069 20e2 8692 2070 m p = .. i ... p │ │ │ +000054a0: 2028 7e20 6929 0a0a 2020 2020 2020 636f (~ i).. co │ │ │ +000054b0: 6e67 203a 20e2 8880 207b e284 9327 7d20 ng : ... {...'} │ │ │ +000054c0: 7b42 203a 2041 20e2 8692 2053 6574 20e2 {B : A ... Set . │ │ │ +000054d0: 8493 277d 207b 7820 7920 3a20 417d 0a20 ..'} {x y : A}. │ │ │ +000054e0: 2020 2020 2020 2020 2020 2020 2866 203a (f : │ │ │ +000054f0: 2028 6120 3a20 4129 20e2 8692 2042 2061 (a : A) ... B a │ │ │ +00005500: 2920 2870 203a 2078 20e2 89a1 2079 290a ) (p : x ... y). │ │ │ +00005510: 2020 2020 2020 2020 2020 20e2 8692 2050 ... P │ │ │ +00005520: 6174 6850 2028 cebb 2069 20e2 8692 2042 athP (.. i ... B │ │ │ +00005530: 2028 7020 6929 2920 2866 2078 2920 2866 (p i)) (f x) (f │ │ │ +00005540: 2079 290a 2020 2020 2020 636f 6e67 2066 y). cong f │ │ │ +00005550: 2070 203d 20ce bb20 6920 e286 9220 6620 p = .. i ... f │ │ │ +00005560: 2870 2069 290a 0a20 2020 2069 7343 6f6e (p i).. isCon │ │ │ +00005570: 7472 203a 20e2 8880 207b e284 937d 20e2 tr : ... {...} . │ │ │ +00005580: 8692 2053 6574 20e2 8493 20e2 8692 2053 .. Set ... ... S │ │ │ +00005590: 6574 20e2 8493 0a20 2020 2069 7343 6f6e et .... isCon │ │ │ +000055a0: 7472 2041 203d 20ce a320 4120 5c20 7820 tr A = .. A \ x │ │ │ +000055b0: e286 9220 28e2 8880 2079 20e2 8692 2078 ... (... y ... x │ │ │ +000055c0: 20e2 89a1 2079 290a 0a20 2020 2066 6962 ... y).. fib │ │ │ +000055d0: 6572 203a 20e2 8880 207b e284 9320 e284 er : ... {... .. │ │ │ +000055e0: 9327 7d20 7b41 203a 2053 6574 20e2 8493 .'} {A : Set ... │ │ │ +000055f0: 7d20 7b42 203a 2053 6574 20e2 8493 277d } {B : Set ...'} │ │ │ +00005600: 2028 6620 3a20 4120 e286 9220 4229 2028 (f : A ... B) ( │ │ │ +00005610: 7920 3a20 4229 20e2 8692 2053 6574 2028 y : B) ... Set ( │ │ │ +00005620: e284 9320 e28a 9420 e284 9327 290a 2020 ... ... ...'). │ │ │ +00005630: 2020 6669 6265 7220 7b41 203d 2041 7d20 fiber {A = A} │ │ │ +00005640: 6620 7920 3d20 cea3 2041 205c 2078 20e2 f y = .. A \ x . │ │ │ +00005650: 8692 2066 2078 20e2 89a1 2079 0a0a 6f70 .. f x ... y..op │ │ │ +00005660: 656e 2048 656c 7065 7273 0a0a 0a70 7269 en Helpers...pri │ │ │ +00005670: 6d69 7469 7665 0a20 2070 7269 6d5e 676c mitive. prim^gl │ │ │ +00005680: 7565 5520 3a20 7b6c 6120 3a20 4c65 7665 ueU : {la : Leve │ │ │ +00005690: 6c7d 207b cf86 203a 2049 7d20 7b54 203a l} {.. : I} {T : │ │ │ +000056a0: 2049 20e2 8692 2050 6172 7469 616c 20cf I ... Partial . │ │ │ +000056b0: 8620 2853 6574 206c 6129 7d0a 2020 2020 . (Set la)}. │ │ │ +000056c0: 2020 2020 2020 2020 2020 2020 207b 4120 {A │ │ │ +000056d0: 3a20 5365 7420 6c61 205b 20cf 8620 e286 : Set la [ .. .. │ │ │ +000056e0: a620 5420 6930 205d 7d20 e286 920a 2020 . T i0 ]} .... │ │ │ +000056f0: 2020 2020 2020 2020 2020 2020 2020 2050 P │ │ │ +00005700: 6172 7469 616c 5020 cf86 2028 5420 6931 artialP .. (T i1 │ │ │ +00005710: 2920 e286 9220 6f75 7453 2041 20e2 8692 ) ... outS A ... │ │ │ +00005720: 2068 636f 6d70 2054 2028 6f75 7453 2041 hcomp T (outS A │ │ │ +00005730: 290a 2020 7072 696d 5e75 6e67 6c75 6555 ). prim^unglueU │ │ │ +00005740: 203a 207b 6c61 203a 204c 6576 656c 7d20 : {la : Level} │ │ │ +00005750: 7bcf 8620 3a20 497d 207b 5420 3a20 4920 {.. : I} {T : I │ │ │ +00005760: e286 9220 5061 7274 6961 6c20 cf86 2028 ... Partial .. ( │ │ │ +00005770: 5365 7420 6c61 297d 0a20 2020 2020 2020 Set la)}. │ │ │ +00005780: 2020 2020 2020 2020 2020 2020 7b41 203a {A : │ │ │ +00005790: 2053 6574 206c 6120 5b20 cf86 20e2 86a6 Set la [ .. ... │ │ │ +000057a0: 2054 2069 3020 5d7d 20e2 8692 0a20 2020 T i0 ]} .... │ │ │ +000057b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +000057c0: 6863 6f6d 7020 5420 286f 7574 5320 4129 hcomp T (outS A) │ │ │ +000057d0: 20e2 8692 206f 7574 5320 410a 2020 2d2d ... outS A. -- │ │ │ +000057e0: 204e 6565 6465 6420 666f 7220 7472 616e Needed for tran │ │ │ +000057f0: 7370 2e0a 2020 7072 696d 4661 6365 466f sp.. primFaceFo │ │ │ +00005800: 7261 6c6c 203a 2028 4920 e286 9220 4929 rall : (I ... I) │ │ │ +00005810: 20e2 8692 2049 0a0a 7472 616e 7370 5072 ... I..transpPr │ │ │ +00005820: 6f6f 6620 3a20 e288 8020 7b6c 7d20 e286 oof : ... {l} .. │ │ │ +00005830: 9220 2865 203a 2049 20e2 8692 2053 6574 . (e : I ... Set │ │ │ +00005840: 206c 2920 e286 9220 28cf 8620 3a20 4929 l) ... (.. : I) │ │ │ +00005850: 20e2 8692 2028 6120 3a20 5061 7274 6961 ... (a : Partia │ │ │ +00005860: 6c20 cf86 2028 6520 6930 2929 20e2 8692 l .. (e i0)) ... │ │ │ +00005870: 2028 6220 3a20 6520 6931 205b 20cf 8620 (b : e i1 [ .. │ │ │ +00005880: e286 a620 285c 206f 20e2 8692 2074 7261 ... (\ o ... tra │ │ │ +00005890: 6e73 7020 285c 2069 20e2 8692 2065 2069 nsp (\ i ... e i │ │ │ +000058a0: 2920 6930 2028 6120 6f29 2920 5d20 2920 ) i0 (a o)) ] ) │ │ │ +000058b0: e286 9220 6669 6265 7220 2874 7261 6e73 ... fiber (trans │ │ │ +000058c0: 7020 285c 2069 20e2 8692 2065 2069 2920 p (\ i ... e i) │ │ │ +000058d0: 6930 2920 286f 7574 5320 6229 0a74 7261 i0) (outS b).tra │ │ │ +000058e0: 6e73 7050 726f 6f66 2065 20cf 8620 6120 nspProof e .. a │ │ │ +000058f0: 6220 3d20 6620 2c20 5c20 6a20 e286 9220 b = f , \ j ... │ │ │ +00005900: 636f 6d70 2028 5c20 6920 e286 9220 6520 comp (\ i ... e │ │ │ +00005910: 6929 2028 5c20 6920 e286 920a 2020 2020 i) (\ i .... │ │ │ 00005920: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 00005930: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00005940: 2020 2020 2020 2020 2020 5c20 7b20 28cf \ { (. │ │ │ -00005950: 8620 3d20 6931 2920 e286 9220 7472 616e . = i1) ... tran │ │ │ -00005960: 7370 2028 5c20 6a20 e286 9220 6520 286a sp (\ j ... e (j │ │ │ -00005970: 20e2 88a7 2069 2929 2028 7e20 6929 2028 ... i)) (~ i) ( │ │ │ -00005980: 6120 313d 3129 0a20 2020 2020 2020 2020 a 1=1). │ │ │ +00005940: 2020 2020 2020 2020 2020 205c 207b 2028 \ { ( │ │ │ +00005950: cf86 203d 2069 3129 20e2 8692 2074 7261 .. = i1) ... tra │ │ │ +00005960: 6e73 7020 285c 206a 20e2 8692 2065 2028 nsp (\ j ... e ( │ │ │ +00005970: 6a20 e288 a720 6929 2920 287e 2069 2920 j ... i)) (~ i) │ │ │ +00005980: 2861 2031 3d31 290a 2020 2020 2020 2020 (a 1=1). │ │ │ 00005990: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 000059a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -000059b0: 2020 2020 2020 2020 3b20 286a 203d 2069 ; (j = i │ │ │ -000059c0: 3029 20e2 8692 2074 7261 6e73 7020 285c 0) ... transp (\ │ │ │ -000059d0: 206a 20e2 8692 2065 2028 6a20 e288 a720 j ... e (j ... │ │ │ -000059e0: 6929 2920 287e 2069 2920 660a 2020 2020 i)) (~ i) f. │ │ │ +000059b0: 2020 2020 2020 2020 203b 2028 6a20 3d20 ; (j = │ │ │ +000059c0: 6930 2920 e286 9220 7472 616e 7370 2028 i0) ... transp ( │ │ │ +000059d0: 5c20 6a20 e286 9220 6520 286a 20e2 88a7 \ j ... e (j ... │ │ │ +000059e0: 2069 2929 2028 7e20 6929 2066 0a20 2020 i)) (~ i) f. │ │ │ 000059f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 00005a00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00005a10: 2020 2020 2020 2020 2020 2020 203b 2028 ; ( │ │ │ -00005a20: 6a20 3d20 6931 2920 e286 9220 6720 287e j = i1) ... g (~ │ │ │ -00005a30: 2069 2920 7d29 0a20 2020 2020 2020 2020 i) }). │ │ │ +00005a10: 2020 2020 2020 2020 2020 2020 2020 3b20 ; │ │ │ +00005a20: 286a 203d 2069 3129 20e2 8692 2067 2028 (j = i1) ... g ( │ │ │ +00005a30: 7e20 6929 207d 290a 2020 2020 2020 2020 ~ i) }). │ │ │ 00005a40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00005a50: 2020 2020 2020 2020 2020 2020 2020 2066 f │ │ │ -00005a60: 0a20 2020 2077 6865 7265 0a20 2020 2020 . where. │ │ │ -00005a70: 2062 2720 3d20 6f75 7453 207b 7520 3d20 b' = outS {u = │ │ │ -00005a80: 285c 206f 20e2 8692 2074 7261 6e73 7020 (\ o ... transp │ │ │ -00005a90: 285c 2069 20e2 8692 2065 2069 2920 6930 (\ i ... e i) i0 │ │ │ -00005aa0: 2028 6120 6f29 297d 2062 0a20 2020 2020 (a o))} b. │ │ │ -00005ab0: 2067 203a 2028 6b20 3a20 4929 20e2 8692 g : (k : I) ... │ │ │ -00005ac0: 2065 2028 7e20 6b29 0a20 2020 2020 2067 e (~ k). g │ │ │ -00005ad0: 206b 203d 2066 696c 6c20 285c 2069 20e2 k = fill (\ i . │ │ │ -00005ae0: 8692 2065 2028 7e20 6929 2920 285c 2069 .. e (~ i)) (\ i │ │ │ -00005af0: 20e2 8692 205c 207b 2028 cf86 203d 2069 ... \ { (.. = i │ │ │ -00005b00: 3129 20e2 8692 2074 7261 6e73 7020 285c 1) ... transp (\ │ │ │ -00005b10: 206a 20e2 8692 2065 2028 6a20 e288 a720 j ... e (j ... │ │ │ -00005b20: 7e20 6929 2920 6920 2861 2031 3d31 290a ~ i)) i (a 1=1). │ │ │ -00005b30: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +00005a50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +00005a60: 660a 2020 2020 7768 6572 650a 2020 2020 f. where. │ │ │ +00005a70: 2020 6227 203d 206f 7574 5320 7b75 203d b' = outS {u = │ │ │ +00005a80: 2028 5c20 6f20 e286 9220 7472 616e 7370 (\ o ... transp │ │ │ +00005a90: 2028 5c20 6920 e286 9220 6520 6929 2069 (\ i ... e i) i │ │ │ +00005aa0: 3020 2861 206f 2929 7d20 620a 2020 2020 0 (a o))} b. │ │ │ +00005ab0: 2020 6720 3a20 286b 203a 2049 2920 e286 g : (k : I) .. │ │ │ +00005ac0: 9220 6520 287e 206b 290a 2020 2020 2020 . e (~ k). │ │ │ +00005ad0: 6720 6b20 3d20 6669 6c6c 2028 5c20 6920 g k = fill (\ i │ │ │ +00005ae0: e286 9220 6520 287e 2069 2929 2028 5c20 ... e (~ i)) (\ │ │ │ +00005af0: 6920 e286 9220 5c20 7b20 28cf 8620 3d20 i ... \ { (.. = │ │ │ +00005b00: 6931 2920 e286 9220 7472 616e 7370 2028 i1) ... transp ( │ │ │ +00005b10: 5c20 6a20 e286 9220 6520 286a 20e2 88a7 \ j ... e (j ... │ │ │ +00005b20: 207e 2069 2929 2069 2028 6120 313d 3129 ~ i)) i (a 1=1) │ │ │ +00005b30: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ 00005b40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00005b50: 2020 2020 2020 2020 2020 3b20 28cf 8620 ; (.. │ │ │ -00005b60: 3d20 6930 2920 e286 9220 7472 616e 7370 = i0) ... transp │ │ │ -00005b70: 2028 5c20 6a20 e286 9220 6520 287e 206a (\ j ... e (~ j │ │ │ -00005b80: 20e2 88a8 207e 2069 2929 2028 7e20 6929 ... ~ i)) (~ i) │ │ │ -00005b90: 2062 2720 7d29 2028 696e 5320 6227 2920 b' }) (inS b') │ │ │ -00005ba0: 6b0a 2020 2020 2020 6620 3d20 636f 6d70 k. f = comp │ │ │ -00005bb0: 2028 5c20 6920 e286 9220 6520 287e 2069 (\ i ... e (~ i │ │ │ -00005bc0: 2929 2028 5c20 6920 e286 9220 5c20 7b20 )) (\ i ... \ { │ │ │ -00005bd0: 28cf 8620 3d20 6931 2920 e286 9220 7472 (.. = i1) ... tr │ │ │ -00005be0: 616e 7370 2028 5c20 6a20 e286 9220 6520 ansp (\ j ... e │ │ │ -00005bf0: 286a 20e2 88a7 207e 2069 2929 2069 2028 (j ... ~ i)) i ( │ │ │ -00005c00: 6120 313d 3129 3b20 28cf 8620 3d20 6930 a 1=1); (.. = i0 │ │ │ -00005c10: 2920 e286 9220 7472 616e 7370 2028 5c20 ) ... transp (\ │ │ │ -00005c20: 6a20 e286 9220 6520 287e 206a 20e2 88a8 j ... e (~ j ... │ │ │ -00005c30: 207e 2069 2929 2028 7e20 6929 2062 2720 ~ i)) (~ i) b' │ │ │ -00005c40: 7d29 2062 270a 0a7b 2d23 2042 5549 4c54 }) b'..{-# BUILT │ │ │ -00005c50: 494e 2054 5241 4e53 5050 524f 4f46 2074 IN TRANSPPROOF t │ │ │ -00005c60: 7261 6e73 7050 726f 6f66 2023 2d7d 0a85 ranspProof #-}.. │ │ │ -00005c70: 83f6 bbb1 d1c4 bcdd 01c6 8bd4 8bd2 8290 ................ │ │ │ -00005c80: e641 0074 0000 5caa 0520 0000 0100 0404 .A.t..\.. ...... │ │ │ -00005c90: 0803 0702 5e02 0000 030f 0005 0505 0b5f ....^.........._ │ │ │ -00005ca0: 0b75 0b61 0906 0100 891e c493 82ae 9088 .u.a............ │ │ │ -00005cb0: 8cfd c501 88da c7c4 e2c4 ca9b 2800 7500 ............(.u. │ │ │ -00005cc0: 006b e405 8280 80e6 0800 0001 0003 0407 .k.............. │ │ │ -00005cd0: 0402 0000 030f 0009 0189 1e7b 2d23 204f ...........{-# O │ │ │ -00005ce0: 5054 494f 4e53 202d 2d65 7261 7365 642d PTIONS --erased- │ │ │ -00005cf0: 6375 6269 6361 6c20 2d2d 7361 6665 202d cubical --safe - │ │ │ -00005d00: 2d6e 6f2d 7369 7a65 642d 7479 7065 7320 -no-sized-types │ │ │ -00005d10: 2d2d 6e6f 2d67 7561 7264 6564 6e65 7373 --no-guardedness │ │ │ -00005d20: 2023 2d7d 0a0a 6d6f 6475 6c65 2041 6764 #-}..module Agd │ │ │ -00005d30: 612e 4275 696c 7469 6e2e 4375 6269 6361 a.Builtin.Cubica │ │ │ -00005d40: 6c2e 4571 7569 7620 7768 6572 650a 0a6f l.Equiv where..o │ │ │ -00005d50: 7065 6e20 696d 706f 7274 2041 6764 612e pen import Agda. │ │ │ -00005d60: 5072 696d 6974 6976 650a 6f70 656e 2069 Primitive.open i │ │ │ -00005d70: 6d70 6f72 7420 4167 6461 2e42 7569 6c74 mport Agda.Built │ │ │ -00005d80: 696e 2e53 6967 6d61 0a6f 7065 6e20 696d in.Sigma.open im │ │ │ -00005d90: 706f 7274 2041 6764 612e 5072 696d 6974 port Agda.Primit │ │ │ -00005da0: 6976 652e 4375 6269 6361 6c20 7265 6e61 ive.Cubical rena │ │ │ -00005db0: 6d69 6e67 2028 7072 696d 494e 6567 2074 ming (primINeg t │ │ │ -00005dc0: 6f20 7e5f 3b20 7072 696d 494d 6178 2074 o ~_; primIMax t │ │ │ -00005dd0: 6f20 5fe2 88a8 5f3b 2070 7269 6d49 4d69 o _..._; primIMi │ │ │ -00005de0: 6e20 746f 205f e288 a75f 3b0a 2020 2020 n to _..._;. │ │ │ +00005b50: 2020 2020 2020 2020 2020 203b 2028 cf86 ; (.. │ │ │ +00005b60: 203d 2069 3029 20e2 8692 2074 7261 6e73 = i0) ... trans │ │ │ +00005b70: 7020 285c 206a 20e2 8692 2065 2028 7e20 p (\ j ... e (~ │ │ │ +00005b80: 6a20 e288 a820 7e20 6929 2920 287e 2069 j ... ~ i)) (~ i │ │ │ +00005b90: 2920 6227 207d 2920 2869 6e53 2062 2729 ) b' }) (inS b') │ │ │ +00005ba0: 206b 0a20 2020 2020 2066 203d 2063 6f6d k. f = com │ │ │ +00005bb0: 7020 285c 2069 20e2 8692 2065 2028 7e20 p (\ i ... e (~ │ │ │ +00005bc0: 6929 2920 285c 2069 20e2 8692 205c 207b i)) (\ i ... \ { │ │ │ +00005bd0: 2028 cf86 203d 2069 3129 20e2 8692 2074 (.. = i1) ... t │ │ │ +00005be0: 7261 6e73 7020 285c 206a 20e2 8692 2065 ransp (\ j ... e │ │ │ +00005bf0: 2028 6a20 e288 a720 7e20 6929 2920 6920 (j ... ~ i)) i │ │ │ +00005c00: 2861 2031 3d31 293b 2028 cf86 203d 2069 (a 1=1); (.. = i │ │ │ +00005c10: 3029 20e2 8692 2074 7261 6e73 7020 285c 0) ... transp (\ │ │ │ +00005c20: 206a 20e2 8692 2065 2028 7e20 6a20 e288 j ... e (~ j .. │ │ │ +00005c30: a820 7e20 6929 2920 287e 2069 2920 6227 . ~ i)) (~ i) b' │ │ │ +00005c40: 207d 2920 6227 0a0a 7b2d 2320 4255 494c }) b'..{-# BUIL │ │ │ +00005c50: 5449 4e20 5452 414e 5350 5052 4f4f 4620 TIN TRANSPPROOF │ │ │ +00005c60: 7472 616e 7370 5072 6f6f 6620 232d 7d0a transpProof #-}. │ │ │ +00005c70: 8583 f6bb b1d1 c4bc dd01 c68b d48b d282 ................ │ │ │ +00005c80: 90e6 4100 7400 005c ab05 2000 0001 0004 ..A.t..\.. ..... │ │ │ +00005c90: 0408 0307 025e 0200 0003 0f00 0505 050b .....^.......... │ │ │ +00005ca0: 5f0b 750b 6109 0601 0089 1ec4 9382 ae90 _.u.a........... │ │ │ +00005cb0: 888c fdc5 0188 dac7 c4e2 c4ca 9b28 0075 .............(.u │ │ │ +00005cc0: 0000 6be5 0582 8080 e608 0000 0100 0304 ..k............. │ │ │ +00005cd0: 0704 0200 0003 0f00 0901 891e 7b2d 2320 ............{-# │ │ │ +00005ce0: 4f50 5449 4f4e 5320 2d2d 6572 6173 6564 OPTIONS --erased │ │ │ +00005cf0: 2d63 7562 6963 616c 202d 2d73 6166 6520 -cubical --safe │ │ │ +00005d00: 2d2d 6e6f 2d73 697a 6564 2d74 7970 6573 --no-sized-types │ │ │ +00005d10: 202d 2d6e 6f2d 6775 6172 6465 646e 6573 --no-guardednes │ │ │ +00005d20: 7320 232d 7d0a 0a6d 6f64 756c 6520 4167 s #-}..module Ag │ │ │ +00005d30: 6461 2e42 7569 6c74 696e 2e43 7562 6963 da.Builtin.Cubic │ │ │ +00005d40: 616c 2e45 7175 6976 2077 6865 7265 0a0a al.Equiv where.. │ │ │ +00005d50: 6f70 656e 2069 6d70 6f72 7420 4167 6461 open import Agda │ │ │ +00005d60: 2e50 7269 6d69 7469 7665 0a6f 7065 6e20 .Primitive.open │ │ │ +00005d70: 696d 706f 7274 2041 6764 612e 4275 696c import Agda.Buil │ │ │ +00005d80: 7469 6e2e 5369 676d 610a 6f70 656e 2069 tin.Sigma.open i │ │ │ +00005d90: 6d70 6f72 7420 4167 6461 2e50 7269 6d69 mport Agda.Primi │ │ │ +00005da0: 7469 7665 2e43 7562 6963 616c 2072 656e tive.Cubical ren │ │ │ +00005db0: 616d 696e 6720 2870 7269 6d49 4e65 6720 aming (primINeg │ │ │ +00005dc0: 746f 207e 5f3b 2070 7269 6d49 4d61 7820 to ~_; primIMax │ │ │ +00005dd0: 746f 205f e288 a85f 3b20 7072 696d 494d to _..._; primIM │ │ │ +00005de0: 696e 2074 6f20 5fe2 88a7 5f3b 0a20 2020 in to _..._;. │ │ │ 00005df0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 00005e00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00005e10: 2020 2020 2020 2020 2070 7269 6d48 436f primHCo │ │ │ -00005e20: 6d70 2074 6f20 6863 6f6d 703b 2070 7269 mp to hcomp; pri │ │ │ -00005e30: 6d54 7261 6e73 7020 746f 2074 7261 6e73 mTransp to trans │ │ │ -00005e40: 703b 2070 7269 6d43 6f6d 7020 746f 2063 p; primComp to c │ │ │ -00005e50: 6f6d 703b 0a20 2020 2020 2020 2020 2020 omp;. │ │ │ +00005e10: 2020 2020 2020 2020 2020 7072 696d 4843 primHC │ │ │ +00005e20: 6f6d 7020 746f 2068 636f 6d70 3b20 7072 omp to hcomp; pr │ │ │ +00005e30: 696d 5472 616e 7370 2074 6f20 7472 616e imTransp to tran │ │ │ +00005e40: 7370 3b20 7072 696d 436f 6d70 2074 6f20 sp; primComp to │ │ │ +00005e50: 636f 6d70 3b0a 2020 2020 2020 2020 2020 comp;. │ │ │ 00005e60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 00005e70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00005e80: 2020 6974 4973 4f6e 6520 746f 2031 3d31 itIsOne to 1=1 │ │ │ -00005e90: 290a 6f70 656e 2069 6d70 6f72 7420 4167 ).open import Ag │ │ │ -00005ea0: 6461 2e42 7569 6c74 696e 2e43 7562 6963 da.Builtin.Cubic │ │ │ -00005eb0: 616c 2e50 6174 680a 6f70 656e 2069 6d70 al.Path.open imp │ │ │ -00005ec0: 6f72 7420 4167 6461 2e42 7569 6c74 696e ort Agda.Builtin │ │ │ -00005ed0: 2e43 7562 6963 616c 2e53 7562 2072 656e .Cubical.Sub ren │ │ │ -00005ee0: 616d 696e 6720 2853 7562 2074 6f20 5f5b aming (Sub to _[ │ │ │ -00005ef0: 5fe2 86a6 5f5d 290a 696d 706f 7274 2041 _..._]).import A │ │ │ -00005f00: 6764 612e 4275 696c 7469 6e2e 4375 6269 gda.Builtin.Cubi │ │ │ -00005f10: 6361 6c2e 4843 6f6d 7055 2061 7320 4843 cal.HCompU as HC │ │ │ -00005f20: 6f6d 7055 0a0a 6d6f 6475 6c65 2048 656c ompU..module Hel │ │ │ -00005f30: 7065 7273 203d 2048 436f 6d70 552e 4865 pers = HCompU.He │ │ │ -00005f40: 6c70 6572 730a 0a6f 7065 6e20 4865 6c70 lpers..open Help │ │ │ -00005f50: 6572 730a 0a0a 2d2d 2057 6520 6d61 6b65 ers...-- We make │ │ │ -00005f60: 2074 6869 7320 6120 7265 636f 7264 2073 this a record s │ │ │ -00005f70: 6f20 7468 6174 2069 7345 7175 6976 2063 o that isEquiv c │ │ │ -00005f80: 616e 2062 6520 7072 6f76 6564 2075 7369 an be proved usi │ │ │ -00005f90: 6e67 0a2d 2d20 636f 7061 7474 6572 6e73 ng.-- copatterns │ │ │ -00005fa0: 2e20 5468 6973 2069 7320 676f 6f64 2062 . This is good b │ │ │ -00005fb0: 6563 6175 7365 2063 6f70 6174 7465 726e ecause copattern │ │ │ -00005fc0: 7320 646f 6e27 7420 6765 7420 756e 666f s don't get unfo │ │ │ -00005fd0: 6c64 6564 0a2d 2d20 756e 6c65 7373 2061 lded.-- unless a │ │ │ -00005fe0: 2070 726f 6a65 6374 696f 6e20 6973 2061 projection is a │ │ │ -00005ff0: 7070 6c69 6564 2073 6f20 6974 2073 686f pplied so it sho │ │ │ -00006000: 756c 6420 6265 206d 6f72 6520 6566 6669 uld be more effi │ │ │ -00006010: 6369 656e 742e 0a72 6563 6f72 6420 6973 cient..record is │ │ │ -00006020: 4571 7569 7620 7be2 8493 20e2 8493 277d Equiv {... ...'} │ │ │ -00006030: 207b 4120 3a20 5365 7420 e284 937d 207b {A : Set ...} { │ │ │ -00006040: 4220 3a20 5365 7420 e284 9327 7d20 2866 B : Set ...'} (f │ │ │ -00006050: 203a 2041 20e2 8692 2042 2920 3a20 5365 : A ... B) : Se │ │ │ -00006060: 7420 28e2 8493 20e2 8a94 20e2 8493 2729 t (... ... ...') │ │ │ -00006070: 2077 6865 7265 0a20 206e 6f2d 6574 612d where. no-eta- │ │ │ -00006080: 6571 7561 6c69 7479 0a20 2066 6965 6c64 equality. field │ │ │ -00006090: 0a20 2020 2065 7175 6976 2d70 726f 6f66 . equiv-proof │ │ │ -000060a0: 203a 2028 7920 3a20 4229 20e2 8692 2069 : (y : B) ... i │ │ │ -000060b0: 7343 6f6e 7472 2028 6669 6265 7220 6620 sContr (fiber f │ │ │ -000060c0: 7929 0a0a 6f70 656e 2069 7345 7175 6976 y)..open isEquiv │ │ │ -000060d0: 2070 7562 6c69 630a 0a69 6e66 6978 2034 public..infix 4 │ │ │ -000060e0: 205f e289 835f 0a0a 5fe2 8983 5f20 3a20 _..._.._..._ : │ │ │ -000060f0: e288 8020 7be2 8493 20e2 8493 277d 2028 ... {... ...'} ( │ │ │ -00006100: 4120 3a20 5365 7420 e284 9329 2028 4220 A : Set ...) (B │ │ │ -00006110: 3a20 5365 7420 e284 9327 2920 e286 9220 : Set ...') ... │ │ │ -00006120: 5365 7420 28e2 8493 20e2 8a94 20e2 8493 Set (... ... ... │ │ │ -00006130: 2729 0a41 20e2 8983 2042 203d 20ce a320 ').A ... B = .. │ │ │ -00006140: 2841 20e2 8692 2042 2920 5c20 6620 e286 (A ... B) \ f .. │ │ │ -00006150: 9220 2869 7345 7175 6976 2066 290a 0a65 . (isEquiv f)..e │ │ │ -00006160: 7175 6976 4675 6e20 3a20 e288 8020 7be2 quivFun : ... {. │ │ │ -00006170: 8493 20e2 8493 277d 207b 4120 3a20 5365 .. ...'} {A : Se │ │ │ -00006180: 7420 e284 937d 207b 4220 3a20 5365 7420 t ...} {B : Set │ │ │ -00006190: e284 9327 7d20 e286 9220 4120 e289 8320 ...'} ... A ... │ │ │ -000061a0: 4220 e286 9220 4120 e286 9220 420a 6571 B ... A ... B.eq │ │ │ -000061b0: 7569 7646 756e 2065 203d 2066 7374 2065 uivFun e = fst e │ │ │ -000061c0: 0a0a 2d2d 2049 6d70 726f 7665 6420 7665 ..-- Improved ve │ │ │ -000061d0: 7273 696f 6e20 6f66 2065 7175 6976 5072 rsion of equivPr │ │ │ -000061e0: 6f6f 6620 636f 6d70 6172 6564 2074 6f20 oof compared to │ │ │ -000061f0: 4c65 6d6d 6120 3520 696e 2043 4348 4d2e Lemma 5 in CCHM. │ │ │ -00006200: 2057 6520 7075 740a 2d2d 2074 6865 2028 We put.-- the ( │ │ │ -00006210: cf86 203d 2069 3029 2066 6163 6520 696e .. = i0) face in │ │ │ -00006220: 2063 6f6e 7472 2720 6d61 6b69 6e67 2069 contr' making i │ │ │ -00006230: 7420 6265 2064 6566 696e 6974 696f 6e61 t be definitiona │ │ │ -00006240: 6c6c 7920 6320 696e 2074 6869 730a 2d2d lly c in this.-- │ │ │ -00006250: 2063 6173 652e 2054 6869 7320 6d61 6b65 case. This make │ │ │ -00006260: 7320 7468 6520 636f 6d70 7574 6174 696f s the computatio │ │ │ -00006270: 6e61 6c20 6265 6861 7669 6f72 2062 6574 nal behavior bet │ │ │ -00006280: 7465 722c 2069 6e20 7061 7274 6963 756c ter, in particul │ │ │ -00006290: 6172 0a2d 2d20 666f 7220 7472 616e 7370 ar.-- for transp │ │ │ -000062a0: 2069 6e20 476c 7565 2e0a 6571 7569 7650 in Glue..equivP │ │ │ -000062b0: 726f 6f66 203a 20e2 8880 207b 6c61 206c roof : ... {la l │ │ │ -000062c0: 747d 2028 5420 3a20 5365 7420 6c61 2920 t} (T : Set la) │ │ │ -000062d0: 2841 203a 2053 6574 206c 7429 20e2 8692 (A : Set lt) ... │ │ │ -000062e0: 2028 7720 3a20 5420 e289 8320 4129 20e2 (w : T ... A) . │ │ │ -000062f0: 8692 2028 6120 3a20 4129 0a20 2020 2020 .. (a : A). │ │ │ -00006300: 2020 2020 2020 e286 9220 e288 8020 cf88 ... ... .. │ │ │ -00006310: 2028 6620 3a20 5061 7274 6961 6c20 cf88 (f : Partial .. │ │ │ -00006320: 2028 6669 6265 7220 2877 202e 6673 7429 (fiber (w .fst) │ │ │ -00006330: 2061 2929 20e2 8692 2066 6962 6572 2028 a)) ... fiber ( │ │ │ -00006340: 7720 2e66 7374 2920 6120 5b20 cf88 20e2 w .fst) a [ .. . │ │ │ -00006350: 86a6 2066 205d 0a65 7175 6976 5072 6f6f .. f ].equivProo │ │ │ -00006360: 6620 4120 4220 7720 6120 cf88 2066 6220 f A B w a .. fb │ │ │ -00006370: 3d0a 2020 696e 5320 2863 6f6e 7472 2720 =. inS (contr' │ │ │ -00006380: 7b41 203d 2066 6962 6572 2028 7720 2e66 {A = fiber (w .f │ │ │ -00006390: 7374 2920 617d 2028 7720 2e73 6e64 202e st) a} (w .snd . │ │ │ -000063a0: 6571 7569 762d 7072 6f6f 6620 6129 20cf equiv-proof a) . │ │ │ -000063b0: 8820 6662 290a 2020 7768 6572 650a 2020 . fb). where. │ │ │ -000063c0: 2020 636f 6e74 7227 203a 20e2 8880 207b contr' : ... { │ │ │ -000063d0: e284 937d 207b 4120 3a20 5365 7420 e284 ...} {A : Set .. │ │ │ -000063e0: 937d 20e2 8692 2069 7343 6f6e 7472 2041 .} ... isContr A │ │ │ -000063f0: 20e2 8692 2028 cf86 203a 2049 2920 e286 ... (.. : I) .. │ │ │ -00006400: 9220 2875 203a 2050 6172 7469 616c 20cf . (u : Partial . │ │ │ -00006410: 8620 4129 20e2 8692 2041 0a20 2020 2063 . A) ... A. c │ │ │ -00006420: 6f6e 7472 2720 7b41 203d 2041 7d20 2863 ontr' {A = A} (c │ │ │ -00006430: 202c 2070 2920 cf86 2075 203d 2068 636f , p) .. u = hco │ │ │ -00006440: 6d70 2028 cebb 2069 20e2 8692 20ce bb20 mp (.. i ... .. │ │ │ -00006450: 7b20 28cf 8620 3d20 6931 2920 e286 9220 { (.. = i1) ... │ │ │ -00006460: 7020 2875 2031 3d31 2920 690a 2020 2020 p (u 1=1) i. │ │ │ +00005e80: 2020 2069 7449 734f 6e65 2074 6f20 313d itIsOne to 1= │ │ │ +00005e90: 3129 0a6f 7065 6e20 696d 706f 7274 2041 1).open import A │ │ │ +00005ea0: 6764 612e 4275 696c 7469 6e2e 4375 6269 gda.Builtin.Cubi │ │ │ +00005eb0: 6361 6c2e 5061 7468 0a6f 7065 6e20 696d cal.Path.open im │ │ │ +00005ec0: 706f 7274 2041 6764 612e 4275 696c 7469 port Agda.Builti │ │ │ +00005ed0: 6e2e 4375 6269 6361 6c2e 5375 6220 7265 n.Cubical.Sub re │ │ │ +00005ee0: 6e61 6d69 6e67 2028 5375 6220 746f 205f naming (Sub to _ │ │ │ +00005ef0: 5b5f e286 a65f 5d29 0a69 6d70 6f72 7420 [_..._]).import │ │ │ +00005f00: 4167 6461 2e42 7569 6c74 696e 2e43 7562 Agda.Builtin.Cub │ │ │ +00005f10: 6963 616c 2e48 436f 6d70 5520 6173 2048 ical.HCompU as H │ │ │ +00005f20: 436f 6d70 550a 0a6d 6f64 756c 6520 4865 CompU..module He │ │ │ +00005f30: 6c70 6572 7320 3d20 4843 6f6d 7055 2e48 lpers = HCompU.H │ │ │ +00005f40: 656c 7065 7273 0a0a 6f70 656e 2048 656c elpers..open Hel │ │ │ +00005f50: 7065 7273 0a0a 0a2d 2d20 5765 206d 616b pers...-- We mak │ │ │ +00005f60: 6520 7468 6973 2061 2072 6563 6f72 6420 e this a record │ │ │ +00005f70: 736f 2074 6861 7420 6973 4571 7569 7620 so that isEquiv │ │ │ +00005f80: 6361 6e20 6265 2070 726f 7665 6420 7573 can be proved us │ │ │ +00005f90: 696e 670a 2d2d 2063 6f70 6174 7465 726e ing.-- copattern │ │ │ +00005fa0: 732e 2054 6869 7320 6973 2067 6f6f 6420 s. This is good │ │ │ +00005fb0: 6265 6361 7573 6520 636f 7061 7474 6572 because copatter │ │ │ +00005fc0: 6e73 2064 6f6e 2774 2067 6574 2075 6e66 ns don't get unf │ │ │ +00005fd0: 6f6c 6465 640a 2d2d 2075 6e6c 6573 7320 olded.-- unless │ │ │ +00005fe0: 6120 7072 6f6a 6563 7469 6f6e 2069 7320 a projection is │ │ │ +00005ff0: 6170 706c 6965 6420 736f 2069 7420 7368 applied so it sh │ │ │ +00006000: 6f75 6c64 2062 6520 6d6f 7265 2065 6666 ould be more eff │ │ │ +00006010: 6963 6965 6e74 2e0a 7265 636f 7264 2069 icient..record i │ │ │ +00006020: 7345 7175 6976 207b e284 9320 e284 9327 sEquiv {... ...' │ │ │ +00006030: 7d20 7b41 203a 2053 6574 20e2 8493 7d20 } {A : Set ...} │ │ │ +00006040: 7b42 203a 2053 6574 20e2 8493 277d 2028 {B : Set ...'} ( │ │ │ +00006050: 6620 3a20 4120 e286 9220 4229 203a 2053 f : A ... B) : S │ │ │ +00006060: 6574 2028 e284 9320 e28a 9420 e284 9327 et (... ... ...' │ │ │ +00006070: 2920 7768 6572 650a 2020 6e6f 2d65 7461 ) where. no-eta │ │ │ +00006080: 2d65 7175 616c 6974 790a 2020 6669 656c -equality. fiel │ │ │ +00006090: 640a 2020 2020 6571 7569 762d 7072 6f6f d. equiv-proo │ │ │ +000060a0: 6620 3a20 2879 203a 2042 2920 e286 9220 f : (y : B) ... │ │ │ +000060b0: 6973 436f 6e74 7220 2866 6962 6572 2066 isContr (fiber f │ │ │ +000060c0: 2079 290a 0a6f 7065 6e20 6973 4571 7569 y)..open isEqui │ │ │ +000060d0: 7620 7075 626c 6963 0a0a 696e 6669 7820 v public..infix │ │ │ +000060e0: 3420 5fe2 8983 5f0a 0a5f e289 835f 203a 4 _..._.._..._ : │ │ │ +000060f0: 20e2 8880 207b e284 9320 e284 9327 7d20 ... {... ...'} │ │ │ +00006100: 2841 203a 2053 6574 20e2 8493 2920 2842 (A : Set ...) (B │ │ │ +00006110: 203a 2053 6574 20e2 8493 2729 20e2 8692 : Set ...') ... │ │ │ +00006120: 2053 6574 2028 e284 9320 e28a 9420 e284 Set (... ... .. │ │ │ +00006130: 9327 290a 4120 e289 8320 4220 3d20 cea3 .').A ... B = .. │ │ │ +00006140: 2028 4120 e286 9220 4229 205c 2066 20e2 (A ... B) \ f . │ │ │ +00006150: 8692 2028 6973 4571 7569 7620 6629 0a0a .. (isEquiv f).. │ │ │ +00006160: 6571 7569 7646 756e 203a 20e2 8880 207b equivFun : ... { │ │ │ +00006170: e284 9320 e284 9327 7d20 7b41 203a 2053 ... ...'} {A : S │ │ │ +00006180: 6574 20e2 8493 7d20 7b42 203a 2053 6574 et ...} {B : Set │ │ │ +00006190: 20e2 8493 277d 20e2 8692 2041 20e2 8983 ...'} ... A ... │ │ │ +000061a0: 2042 20e2 8692 2041 20e2 8692 2042 0a65 B ... A ... B.e │ │ │ +000061b0: 7175 6976 4675 6e20 6520 3d20 6673 7420 quivFun e = fst │ │ │ +000061c0: 650a 0a2d 2d20 496d 7072 6f76 6564 2076 e..-- Improved v │ │ │ +000061d0: 6572 7369 6f6e 206f 6620 6571 7569 7650 ersion of equivP │ │ │ +000061e0: 726f 6f66 2063 6f6d 7061 7265 6420 746f roof compared to │ │ │ +000061f0: 204c 656d 6d61 2035 2069 6e20 4343 484d Lemma 5 in CCHM │ │ │ +00006200: 2e20 5765 2070 7574 0a2d 2d20 7468 6520 . We put.-- the │ │ │ +00006210: 28cf 8620 3d20 6930 2920 6661 6365 2069 (.. = i0) face i │ │ │ +00006220: 6e20 636f 6e74 7227 206d 616b 696e 6720 n contr' making │ │ │ +00006230: 6974 2062 6520 6465 6669 6e69 7469 6f6e it be definition │ │ │ +00006240: 616c 6c79 2063 2069 6e20 7468 6973 0a2d ally c in this.- │ │ │ +00006250: 2d20 6361 7365 2e20 5468 6973 206d 616b - case. This mak │ │ │ +00006260: 6573 2074 6865 2063 6f6d 7075 7461 7469 es the computati │ │ │ +00006270: 6f6e 616c 2062 6568 6176 696f 7220 6265 onal behavior be │ │ │ +00006280: 7474 6572 2c20 696e 2070 6172 7469 6375 tter, in particu │ │ │ +00006290: 6c61 720a 2d2d 2066 6f72 2074 7261 6e73 lar.-- for trans │ │ │ +000062a0: 7020 696e 2047 6c75 652e 0a65 7175 6976 p in Glue..equiv │ │ │ +000062b0: 5072 6f6f 6620 3a20 e288 8020 7b6c 6120 Proof : ... {la │ │ │ +000062c0: 6c74 7d20 2854 203a 2053 6574 206c 6129 lt} (T : Set la) │ │ │ +000062d0: 2028 4120 3a20 5365 7420 6c74 2920 e286 (A : Set lt) .. │ │ │ +000062e0: 9220 2877 203a 2054 20e2 8983 2041 2920 . (w : T ... A) │ │ │ +000062f0: e286 9220 2861 203a 2041 290a 2020 2020 ... (a : A). │ │ │ +00006300: 2020 2020 2020 20e2 8692 20e2 8880 20cf ... ... . │ │ │ +00006310: 8820 2866 203a 2050 6172 7469 616c 20cf . (f : Partial . │ │ │ +00006320: 8820 2866 6962 6572 2028 7720 2e66 7374 . (fiber (w .fst │ │ │ +00006330: 2920 6129 2920 e286 9220 6669 6265 7220 ) a)) ... fiber │ │ │ +00006340: 2877 202e 6673 7429 2061 205b 20cf 8820 (w .fst) a [ .. │ │ │ +00006350: e286 a620 6620 5d0a 6571 7569 7650 726f ... f ].equivPro │ │ │ +00006360: 6f66 2041 2042 2077 2061 20cf 8820 6662 of A B w a .. fb │ │ │ +00006370: 203d 0a20 2069 6e53 2028 636f 6e74 7227 =. inS (contr' │ │ │ +00006380: 207b 4120 3d20 6669 6265 7220 2877 202e {A = fiber (w . │ │ │ +00006390: 6673 7429 2061 7d20 2877 202e 736e 6420 fst) a} (w .snd │ │ │ +000063a0: 2e65 7175 6976 2d70 726f 6f66 2061 2920 .equiv-proof a) │ │ │ +000063b0: cf88 2066 6229 0a20 2077 6865 7265 0a20 .. fb). where. │ │ │ +000063c0: 2020 2063 6f6e 7472 2720 3a20 e288 8020 contr' : ... │ │ │ +000063d0: 7be2 8493 7d20 7b41 203a 2053 6574 20e2 {...} {A : Set . │ │ │ +000063e0: 8493 7d20 e286 9220 6973 436f 6e74 7220 ..} ... isContr │ │ │ +000063f0: 4120 e286 9220 28cf 8620 3a20 4929 20e2 A ... (.. : I) . │ │ │ +00006400: 8692 2028 7520 3a20 5061 7274 6961 6c20 .. (u : Partial │ │ │ +00006410: cf86 2041 2920 e286 9220 410a 2020 2020 .. A) ... A. │ │ │ +00006420: 636f 6e74 7227 207b 4120 3d20 417d 2028 contr' {A = A} ( │ │ │ +00006430: 6320 2c20 7029 20cf 8620 7520 3d20 6863 c , p) .. u = hc │ │ │ +00006440: 6f6d 7020 28ce bb20 6920 e286 9220 cebb omp (.. i ... .. │ │ │ +00006450: 207b 2028 cf86 203d 2069 3129 20e2 8692 { (.. = i1) ... │ │ │ +00006460: 2070 2028 7520 313d 3129 2069 0a20 2020 p (u 1=1) i. │ │ │ 00006470: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 00006480: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00006490: 2020 2020 2020 2020 2020 2020 3b20 28cf ; (. │ │ │ -000064a0: 8620 3d20 6930 2920 e286 9220 6320 7d29 . = i0) ... c }) │ │ │ -000064b0: 2063 0a0a 0a7b 2d23 2042 5549 4c54 494e c...{-# BUILTIN │ │ │ -000064c0: 2045 5155 4956 2020 2020 2020 5fe2 8983 EQUIV _... │ │ │ -000064d0: 5f20 2020 2020 2020 2023 2d7d 0a7b 2d23 _ #-}.{-# │ │ │ -000064e0: 2042 5549 4c54 494e 2045 5155 4956 4655 BUILTIN EQUIVFU │ │ │ -000064f0: 4e20 2020 6571 7569 7646 756e 2020 2023 N equivFun # │ │ │ -00006500: 2d7d 0a7b 2d23 2042 5549 4c54 494e 2045 -}.{-# BUILTIN E │ │ │ -00006510: 5155 4956 5052 4f4f 4620 6571 7569 7650 QUIVPROOF equivP │ │ │ -00006520: 726f 6f66 2023 2d7d 0a0a 6d6f 6475 6c65 roof #-}..module │ │ │ -00006530: 205f 207b e284 9320 3a20 4920 e286 9220 _ {... : I ... │ │ │ -00006540: 4c65 7665 6c7d 2028 5020 3a20 2869 203a Level} (P : (i : │ │ │ -00006550: 2049 2920 e286 9220 5365 7420 28e2 8493 I) ... Set (... │ │ │ -00006560: 2069 2929 2077 6865 7265 0a20 2070 7269 i)) where. pri │ │ │ -00006570: 7661 7465 0a20 2020 2045 203a 2028 6920 vate. E : (i │ │ │ -00006580: 3a20 4929 20e2 8692 2053 6574 2028 e284 : I) ... Set (.. │ │ │ -00006590: 9320 6929 0a20 2020 2045 2020 3d20 cebb . i). E = .. │ │ │ -000065a0: 2069 20e2 8692 2050 2069 0a20 2020 207e i ... P i. ~ │ │ │ -000065b0: 4520 3a20 2869 203a 2049 2920 e286 9220 E : (i : I) ... │ │ │ -000065c0: 5365 7420 28e2 8493 2028 7e20 6929 290a Set (... (~ i)). │ │ │ -000065d0: 2020 2020 7e45 203d 20ce bb20 6920 e286 ~E = .. i .. │ │ │ -000065e0: 9220 5020 287e 2069 290a 0a20 2020 2041 . P (~ i).. A │ │ │ -000065f0: 203d 2050 2069 300a 2020 2020 4220 3d20 = P i0. B = │ │ │ -00006600: 5020 6931 0a0a 2020 2020 6620 3a20 4120 P i1.. f : A │ │ │ -00006610: e286 9220 420a 2020 2020 6620 7820 3d20 ... B. f x = │ │ │ -00006620: 7472 616e 7370 2045 2069 3020 780a 0a20 transp E i0 x.. │ │ │ -00006630: 2020 2067 203a 2042 20e2 8692 2041 0a20 g : B ... A. │ │ │ -00006640: 2020 2067 2079 203d 2074 7261 6e73 7020 g y = transp │ │ │ -00006650: 7e45 2069 3020 790a 0a20 2020 2075 203a ~E i0 y.. u : │ │ │ -00006660: 20e2 8880 2069 20e2 8692 2041 20e2 8692 ... i ... A ... │ │ │ -00006670: 2045 2069 0a20 2020 2075 2069 2078 203d E i. u i x = │ │ │ -00006680: 2074 7261 6e73 7020 28ce bb20 6a20 e286 transp (.. j .. │ │ │ -00006690: 9220 4520 2869 20e2 88a7 206a 2929 2028 . E (i ... j)) ( │ │ │ -000066a0: 7e20 6929 2078 0a0a 2020 2020 7620 3a20 ~ i) x.. v : │ │ │ -000066b0: e288 8020 6920 e286 9220 4220 e286 9220 ... i ... B ... │ │ │ -000066c0: 4520 690a 2020 2020 7620 6920 7920 3d20 E i. v i y = │ │ │ -000066d0: 7472 616e 7370 2028 cebb 206a 20e2 8692 transp (.. j ... │ │ │ -000066e0: 207e 4520 2820 7e20 6920 e288 a720 6a29 ~E ( ~ i ... j) │ │ │ -000066f0: 2920 6920 790a 0a20 2020 2066 6962 6572 ) i y.. fiber │ │ │ -00006700: 5061 7468 203a 2028 7920 3a20 4229 20e2 Path : (y : B) . │ │ │ -00006710: 8692 2028 78ce b230 2078 ceb2 3120 3a20 .. (x..0 x..1 : │ │ │ -00006720: 6669 6265 7220 6620 7929 20e2 8692 2078 fiber f y) ... x │ │ │ -00006730: ceb2 3020 e289 a120 78ce b231 0a20 2020 ..0 ... x..1. │ │ │ -00006740: 2066 6962 6572 5061 7468 2079 2028 7830 fiberPath y (x0 │ │ │ -00006750: 202c 20ce b230 2920 2878 3120 2c20 ceb2 , ..0) (x1 , .. │ │ │ -00006760: 3129 206b 203d 20cf 8920 2c20 cebb 206a 1) k = .. , .. j │ │ │ -00006770: 20e2 8692 20ce b420 287e 206a 2920 7768 ... .. (~ j) wh │ │ │ -00006780: 6572 650a 2020 2020 2020 6d6f 6475 6c65 ere. module │ │ │ -00006790: 205f 2028 6a20 3a20 4929 2077 6865 7265 _ (j : I) where │ │ │ -000067a0: 0a20 2020 2020 2020 2070 7269 7661 7465 . private │ │ │ -000067b0: 0a20 2020 2020 2020 2020 2073 7973 203a . sys : │ │ │ -000067c0: 2041 20e2 8692 20e2 8880 2069 20e2 8692 A ... ... i ... │ │ │ -000067d0: 2050 6172 7469 616c 5020 287e 206a 20e2 PartialP (~ j . │ │ │ -000067e0: 88a8 206a 2920 28ce bb20 5f20 e286 9220 .. j) (.. _ ... │ │ │ -000067f0: 4520 287e 2069 2929 0a20 2020 2020 2020 E (~ i)). │ │ │ -00006800: 2020 2073 7973 2078 2069 2028 6a20 3d20 sys x i (j = │ │ │ -00006810: 6930 2920 3d20 7620 287e 2069 2920 790a i0) = v (~ i) y. │ │ │ -00006820: 2020 2020 2020 2020 2020 7379 7320 7820 sys x │ │ │ -00006830: 6920 286a 203d 2069 3129 203d 2075 2028 i (j = i1) = u ( │ │ │ -00006840: 7e20 6929 2078 0a20 2020 2020 2020 20cf ~ i) x. . │ │ │ -00006850: 8930 203d 2063 6f6d 7020 7e45 2028 7379 .0 = comp ~E (sy │ │ │ -00006860: 7320 7830 2920 2828 ceb2 3020 287e 206a s x0) ((..0 (~ j │ │ │ -00006870: 2929 290a 2020 2020 2020 2020 cf89 3120 ))). ..1 │ │ │ -00006880: 3d20 636f 6d70 207e 4520 2873 7973 2078 = comp ~E (sys x │ │ │ -00006890: 3129 2028 28ce b231 2028 7e20 6a29 2929 1) ((..1 (~ j))) │ │ │ -000068a0: 0a20 2020 2020 2020 20ce b830 203d 2066 . ..0 = f │ │ │ -000068b0: 696c 6c20 7e45 2028 7379 7320 7830 2920 ill ~E (sys x0) │ │ │ -000068c0: 2869 6e53 2028 ceb2 3020 287e 206a 2929 (inS (..0 (~ j)) │ │ │ -000068d0: 290a 2020 2020 2020 2020 ceb8 3120 3d20 ). ..1 = │ │ │ -000068e0: 6669 6c6c 207e 4520 2873 7973 2078 3129 fill ~E (sys x1) │ │ │ -000068f0: 2028 696e 5320 28ce b231 2028 7e20 6a29 (inS (..1 (~ j) │ │ │ -00006900: 2929 0a20 2020 2020 2073 7973 203d 20ce )). sys = . │ │ │ -00006910: bb20 7b6a 2028 6b20 3d20 6930 2920 e286 . {j (k = i0) .. │ │ │ -00006920: 9220 cf89 3020 6a20 3b20 6a20 286b 203d . ..0 j ; j (k = │ │ │ -00006930: 2069 3129 20e2 8692 20cf 8931 206a 7d0a i1) ... ..1 j}. │ │ │ -00006940: 2020 2020 2020 cf89 203d 2068 636f 6d70 .. = hcomp │ │ │ -00006950: 2073 7973 2028 6720 7929 0a20 2020 2020 sys (g y). │ │ │ -00006960: 20ce b820 3d20 6866 696c 6c20 7379 7320 .. = hfill sys │ │ │ -00006970: 2869 6e53 2028 6720 7929 290a 2020 2020 (inS (g y)). │ │ │ -00006980: 2020 ceb4 203d 20ce bb20 286a 203a 2049 .. = .. (j : I │ │ │ -00006990: 2920 e286 9220 636f 6d70 2045 0a20 2020 ) ... comp E. │ │ │ -000069a0: 2020 2020 2020 2020 2028 cebb 2069 20e2 (.. i . │ │ │ -000069b0: 8692 20ce bb20 7b20 286a 203d 2069 3029 .. .. { (j = i0) │ │ │ -000069c0: 20e2 8692 2076 2069 2079 203b 2028 6b20 ... v i y ; (k │ │ │ -000069d0: 3d20 6930 2920 e286 9220 ceb8 3020 6a20 = i0) ... ..0 j │ │ │ -000069e0: 287e 2069 290a 2020 2020 2020 2020 2020 (~ i). │ │ │ -000069f0: 2020 2020 2020 2020 2020 203b 2028 6a20 ; (j │ │ │ -00006a00: 3d20 6931 2920 e286 9220 7520 6920 cf89 = i1) ... u i .. │ │ │ -00006a10: 203b 2028 6b20 3d20 6931 2920 e286 9220 ; (k = i1) ... │ │ │ -00006a20: ceb8 3120 6a20 287e 2069 2920 7d29 0a20 ..1 j (~ i) }). │ │ │ -00006a30: 2020 2020 2020 2020 2020 2020 28ce b820 (.. │ │ │ -00006a40: 6a29 0a0a 2020 2020 ceb3 203a 2028 7920 j).. .. : (y │ │ │ -00006a50: 3a20 4229 20e2 8692 2079 20e2 89a1 2066 : B) ... y ... f │ │ │ -00006a60: 2028 6720 7929 0a20 2020 20ce b320 7920 (g y). .. y │ │ │ -00006a70: 6a20 3d20 636f 6d70 2045 2028 cebb 2069 j = comp E (.. i │ │ │ -00006a80: 20e2 8692 20ce bb20 7b20 286a 203d 2069 ... .. { (j = i │ │ │ -00006a90: 3029 20e2 8692 2076 2069 2079 0a20 2020 0) ... v i y. │ │ │ +00006490: 2020 2020 2020 2020 2020 2020 203b 2028 ; ( │ │ │ +000064a0: cf86 203d 2069 3029 20e2 8692 2063 207d .. = i0) ... c } │ │ │ +000064b0: 2920 630a 0a0a 7b2d 2320 4255 494c 5449 ) c...{-# BUILTI │ │ │ +000064c0: 4e20 4551 5549 5620 2020 2020 205f e289 N EQUIV _.. │ │ │ +000064d0: 835f 2020 2020 2020 2020 232d 7d0a 7b2d ._ #-}.{- │ │ │ +000064e0: 2320 4255 494c 5449 4e20 4551 5549 5646 # BUILTIN EQUIVF │ │ │ +000064f0: 554e 2020 2065 7175 6976 4675 6e20 2020 UN equivFun │ │ │ +00006500: 232d 7d0a 7b2d 2320 4255 494c 5449 4e20 #-}.{-# BUILTIN │ │ │ +00006510: 4551 5549 5650 524f 4f46 2065 7175 6976 EQUIVPROOF equiv │ │ │ +00006520: 5072 6f6f 6620 232d 7d0a 0a6d 6f64 756c Proof #-}..modul │ │ │ +00006530: 6520 5f20 7be2 8493 203a 2049 20e2 8692 e _ {... : I ... │ │ │ +00006540: 204c 6576 656c 7d20 2850 203a 2028 6920 Level} (P : (i │ │ │ +00006550: 3a20 4929 20e2 8692 2053 6574 2028 e284 : I) ... Set (.. │ │ │ +00006560: 9320 6929 2920 7768 6572 650a 2020 7072 . i)) where. pr │ │ │ +00006570: 6976 6174 650a 2020 2020 4520 3a20 2869 ivate. E : (i │ │ │ +00006580: 203a 2049 2920 e286 9220 5365 7420 28e2 : I) ... Set (. │ │ │ +00006590: 8493 2069 290a 2020 2020 4520 203d 20ce .. i). E = . │ │ │ +000065a0: bb20 6920 e286 9220 5020 690a 2020 2020 . i ... P i. │ │ │ +000065b0: 7e45 203a 2028 6920 3a20 4929 20e2 8692 ~E : (i : I) ... │ │ │ +000065c0: 2053 6574 2028 e284 9320 287e 2069 2929 Set (... (~ i)) │ │ │ +000065d0: 0a20 2020 207e 4520 3d20 cebb 2069 20e2 . ~E = .. i . │ │ │ +000065e0: 8692 2050 2028 7e20 6929 0a0a 2020 2020 .. P (~ i).. │ │ │ +000065f0: 4120 3d20 5020 6930 0a20 2020 2042 203d A = P i0. B = │ │ │ +00006600: 2050 2069 310a 0a20 2020 2066 203a 2041 P i1.. f : A │ │ │ +00006610: 20e2 8692 2042 0a20 2020 2066 2078 203d ... B. f x = │ │ │ +00006620: 2074 7261 6e73 7020 4520 6930 2078 0a0a transp E i0 x.. │ │ │ +00006630: 2020 2020 6720 3a20 4220 e286 9220 410a g : B ... A. │ │ │ +00006640: 2020 2020 6720 7920 3d20 7472 616e 7370 g y = transp │ │ │ +00006650: 207e 4520 6930 2079 0a0a 2020 2020 7520 ~E i0 y.. u │ │ │ +00006660: 3a20 e288 8020 6920 e286 9220 4120 e286 : ... i ... A .. │ │ │ +00006670: 9220 4520 690a 2020 2020 7520 6920 7820 . E i. u i x │ │ │ +00006680: 3d20 7472 616e 7370 2028 cebb 206a 20e2 = transp (.. j . │ │ │ +00006690: 8692 2045 2028 6920 e288 a720 6a29 2920 .. E (i ... j)) │ │ │ +000066a0: 287e 2069 2920 780a 0a20 2020 2076 203a (~ i) x.. v : │ │ │ +000066b0: 20e2 8880 2069 20e2 8692 2042 20e2 8692 ... i ... B ... │ │ │ +000066c0: 2045 2069 0a20 2020 2076 2069 2079 203d E i. v i y = │ │ │ +000066d0: 2074 7261 6e73 7020 28ce bb20 6a20 e286 transp (.. j .. │ │ │ +000066e0: 9220 7e45 2028 207e 2069 20e2 88a7 206a . ~E ( ~ i ... j │ │ │ +000066f0: 2929 2069 2079 0a0a 2020 2020 6669 6265 )) i y.. fibe │ │ │ +00006700: 7250 6174 6820 3a20 2879 203a 2042 2920 rPath : (y : B) │ │ │ +00006710: e286 9220 2878 ceb2 3020 78ce b231 203a ... (x..0 x..1 : │ │ │ +00006720: 2066 6962 6572 2066 2079 2920 e286 9220 fiber f y) ... │ │ │ +00006730: 78ce b230 20e2 89a1 2078 ceb2 310a 2020 x..0 ... x..1. │ │ │ +00006740: 2020 6669 6265 7250 6174 6820 7920 2878 fiberPath y (x │ │ │ +00006750: 3020 2c20 ceb2 3029 2028 7831 202c 20ce 0 , ..0) (x1 , . │ │ │ +00006760: b231 2920 6b20 3d20 cf89 202c 20ce bb20 .1) k = .. , .. │ │ │ +00006770: 6a20 e286 9220 ceb4 2028 7e20 6a29 2077 j ... .. (~ j) w │ │ │ +00006780: 6865 7265 0a20 2020 2020 206d 6f64 756c here. modul │ │ │ +00006790: 6520 5f20 286a 203a 2049 2920 7768 6572 e _ (j : I) wher │ │ │ +000067a0: 650a 2020 2020 2020 2020 7072 6976 6174 e. privat │ │ │ +000067b0: 650a 2020 2020 2020 2020 2020 7379 7320 e. sys │ │ │ +000067c0: 3a20 4120 e286 9220 e288 8020 6920 e286 : A ... ... i .. │ │ │ +000067d0: 9220 5061 7274 6961 6c50 2028 7e20 6a20 . PartialP (~ j │ │ │ +000067e0: e288 a820 6a29 2028 cebb 205f 20e2 8692 ... j) (.. _ ... │ │ │ +000067f0: 2045 2028 7e20 6929 290a 2020 2020 2020 E (~ i)). │ │ │ +00006800: 2020 2020 7379 7320 7820 6920 286a 203d sys x i (j = │ │ │ +00006810: 2069 3029 203d 2076 2028 7e20 6929 2079 i0) = v (~ i) y │ │ │ +00006820: 0a20 2020 2020 2020 2020 2073 7973 2078 . sys x │ │ │ +00006830: 2069 2028 6a20 3d20 6931 2920 3d20 7520 i (j = i1) = u │ │ │ +00006840: 287e 2069 2920 780a 2020 2020 2020 2020 (~ i) x. │ │ │ +00006850: cf89 3020 3d20 636f 6d70 207e 4520 2873 ..0 = comp ~E (s │ │ │ +00006860: 7973 2078 3029 2028 28ce b230 2028 7e20 ys x0) ((..0 (~ │ │ │ +00006870: 6a29 2929 0a20 2020 2020 2020 20cf 8931 j))). ..1 │ │ │ +00006880: 203d 2063 6f6d 7020 7e45 2028 7379 7320 = comp ~E (sys │ │ │ +00006890: 7831 2920 2828 ceb2 3120 287e 206a 2929 x1) ((..1 (~ j)) │ │ │ +000068a0: 290a 2020 2020 2020 2020 ceb8 3020 3d20 ). ..0 = │ │ │ +000068b0: 6669 6c6c 207e 4520 2873 7973 2078 3029 fill ~E (sys x0) │ │ │ +000068c0: 2028 696e 5320 28ce b230 2028 7e20 6a29 (inS (..0 (~ j) │ │ │ +000068d0: 2929 0a20 2020 2020 2020 20ce b831 203d )). ..1 = │ │ │ +000068e0: 2066 696c 6c20 7e45 2028 7379 7320 7831 fill ~E (sys x1 │ │ │ +000068f0: 2920 2869 6e53 2028 ceb2 3120 287e 206a ) (inS (..1 (~ j │ │ │ +00006900: 2929 290a 2020 2020 2020 7379 7320 3d20 ))). sys = │ │ │ +00006910: cebb 207b 6a20 286b 203d 2069 3029 20e2 .. {j (k = i0) . │ │ │ +00006920: 8692 20cf 8930 206a 203b 206a 2028 6b20 .. ..0 j ; j (k │ │ │ +00006930: 3d20 6931 2920 e286 9220 cf89 3120 6a7d = i1) ... ..1 j} │ │ │ +00006940: 0a20 2020 2020 20cf 8920 3d20 6863 6f6d . .. = hcom │ │ │ +00006950: 7020 7379 7320 2867 2079 290a 2020 2020 p sys (g y). │ │ │ +00006960: 2020 ceb8 203d 2068 6669 6c6c 2073 7973 .. = hfill sys │ │ │ +00006970: 2028 696e 5320 2867 2079 2929 0a20 2020 (inS (g y)). │ │ │ +00006980: 2020 20ce b420 3d20 cebb 2028 6a20 3a20 .. = .. (j : │ │ │ +00006990: 4929 20e2 8692 2063 6f6d 7020 450a 2020 I) ... comp E. │ │ │ +000069a0: 2020 2020 2020 2020 2020 28ce bb20 6920 (.. i │ │ │ +000069b0: e286 9220 cebb 207b 2028 6a20 3d20 6930 ... .. { (j = i0 │ │ │ +000069c0: 2920 e286 9220 7620 6920 7920 3b20 286b ) ... v i y ; (k │ │ │ +000069d0: 203d 2069 3029 20e2 8692 20ce b830 206a = i0) ... ..0 j │ │ │ +000069e0: 2028 7e20 6929 0a20 2020 2020 2020 2020 (~ i). │ │ │ +000069f0: 2020 2020 2020 2020 2020 2020 3b20 286a ; (j │ │ │ +00006a00: 203d 2069 3129 20e2 8692 2075 2069 20cf = i1) ... u i . │ │ │ +00006a10: 8920 3b20 286b 203d 2069 3129 20e2 8692 . ; (k = i1) ... │ │ │ +00006a20: 20ce b831 206a 2028 7e20 6929 207d 290a ..1 j (~ i) }). │ │ │ +00006a30: 2020 2020 2020 2020 2020 2020 2028 ceb8 (.. │ │ │ +00006a40: 206a 290a 0a20 2020 20ce b320 3a20 2879 j).. .. : (y │ │ │ +00006a50: 203a 2042 2920 e286 9220 7920 e289 a120 : B) ... y ... │ │ │ +00006a60: 6620 2867 2079 290a 2020 2020 ceb3 2079 f (g y). .. y │ │ │ +00006a70: 206a 203d 2063 6f6d 7020 4520 28ce bb20 j = comp E (.. │ │ │ +00006a80: 6920 e286 9220 cebb 207b 2028 6a20 3d20 i ... .. { (j = │ │ │ +00006a90: 6930 2920 e286 9220 7620 6920 790a 2020 i0) ... v i y. │ │ │ 00006aa0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00006ab0: 2020 2020 2020 2020 203b 2028 6a20 3d20 ; (j = │ │ │ -00006ac0: 6931 2920 e286 9220 7520 6920 2867 2079 i1) ... u i (g y │ │ │ -00006ad0: 2920 7d29 2028 6720 7929 0a0a 2020 7061 ) }) (g y).. pa │ │ │ -00006ae0: 7468 546f 6973 4571 7569 7620 3a20 6973 thToisEquiv : is │ │ │ -00006af0: 4571 7569 7620 660a 2020 7061 7468 546f Equiv f. pathTo │ │ │ -00006b00: 6973 4571 7569 7620 2e65 7175 6976 2d70 isEquiv .equiv-p │ │ │ -00006b10: 726f 6f66 2079 202e 6673 7420 2e66 7374 roof y .fst .fst │ │ │ -00006b20: 203d 2067 2079 0a20 2070 6174 6854 6f69 = g y. pathToi │ │ │ -00006b30: 7345 7175 6976 202e 6571 7569 762d 7072 sEquiv .equiv-pr │ │ │ -00006b40: 6f6f 6620 7920 2e66 7374 202e 736e 6420 oof y .fst .snd │ │ │ -00006b50: 3d20 7379 6d20 28ce b320 7929 0a20 2070 = sym (.. y). p │ │ │ -00006b60: 6174 6854 6f69 7345 7175 6976 202e 6571 athToisEquiv .eq │ │ │ -00006b70: 7569 762d 7072 6f6f 6620 7920 2e73 6e64 uiv-proof y .snd │ │ │ -00006b80: 203d 2066 6962 6572 5061 7468 2079 205f = fiberPath y _ │ │ │ -00006b90: 0a0a 2020 7061 7468 546f 4571 7569 7620 .. pathToEquiv │ │ │ -00006ba0: 3a20 4120 e289 8320 420a 2020 7061 7468 : A ... B. path │ │ │ -00006bb0: 546f 4571 7569 7620 2e66 7374 203d 2066 ToEquiv .fst = f │ │ │ -00006bc0: 0a20 2070 6174 6854 6f45 7175 6976 202e . pathToEquiv . │ │ │ -00006bd0: 736e 6420 3d20 7061 7468 546f 6973 4571 snd = pathToisEq │ │ │ -00006be0: 7569 760a 9fde b4a2 9af9 fddc ce01 d9e8 uiv............. │ │ │ -00006bf0: c3c1 fed7 dd8e 7a00 6b00 006c 3205 b480 ......z.k..l2... │ │ │ -00006c00: 80e6 0800 0000 0520 0000 0100 0100 0404 ....... ........ │ │ │ -00006c10: 0803 0702 8680 80ec 0802 0000 030f 0005 ................ │ │ │ -00006c20: 0505 0b87 8080 ec08 0105 2000 0001 0b76 .......... ....v │ │ │ -00006c30: 0b77 c9c8 a8cb b39b a6b1 70fc 9494 87e7 .w........p..... │ │ │ -00006c40: 93b8 9b01 0078 0000 6c6c 0520 0000 0100 .....x..ll. .... │ │ │ -00006c50: 0404 0803 0702 5e02 0000 030f 0005 0505 ......^......... │ │ │ -00006c60: 0b5f 0b79 0b61 0906 0100 ed05 dd98 aa8a ._.y.a.......... │ │ │ -00006c70: f0b1 c691 ff01 fae7 c7b0 97f2 9da4 9401 ................ │ │ │ -00006c80: 0079 0000 6f8b 0582 8080 e608 0000 0100 .y..o........... │ │ │ -00006c90: 0304 0704 0200 0003 0f00 0901 ed05 7b2d ..............{- │ │ │ -00006ca0: 2320 4f50 5449 4f4e 5320 2d2d 6375 6269 # OPTIONS --cubi │ │ │ -00006cb0: 6361 6c20 2d2d 7361 6665 202d 2d6e 6f2d cal --safe --no- │ │ │ -00006cc0: 7369 7a65 642d 7479 7065 7320 2d2d 6e6f sized-types --no │ │ │ -00006cd0: 2d67 7561 7264 6564 6e65 7373 2023 2d7d -guardedness #-} │ │ │ -00006ce0: 0a0a 6d6f 6475 6c65 2041 6764 612e 4275 ..module Agda.Bu │ │ │ -00006cf0: 696c 7469 6e2e 4375 6269 6361 6c2e 476c iltin.Cubical.Gl │ │ │ -00006d00: 7565 2077 6865 7265 0a0a 6f70 656e 2069 ue where..open i │ │ │ -00006d10: 6d70 6f72 7420 4167 6461 2e50 7269 6d69 mport Agda.Primi │ │ │ -00006d20: 7469 7665 0a6f 7065 6e20 696d 706f 7274 tive.open import │ │ │ -00006d30: 2041 6764 612e 5072 696d 6974 6976 652e Agda.Primitive. │ │ │ -00006d40: 4375 6269 6361 6c0a 6f70 656e 2069 6d70 Cubical.open imp │ │ │ -00006d50: 6f72 7420 4167 6461 2e42 7569 6c74 696e ort Agda.Builtin │ │ │ -00006d60: 2e43 7562 6963 616c 2e45 7175 6976 2070 .Cubical.Equiv p │ │ │ -00006d70: 7562 6c69 630a 0a70 7269 6d69 7469 7665 ublic..primitive │ │ │ -00006d80: 0a20 2020 2070 7269 6d47 6c75 6520 2020 . primGlue │ │ │ -00006d90: 203a 20e2 8880 207b e284 9320 e284 9327 : ... {... ...' │ │ │ -00006da0: 7d20 2841 203a 2053 6574 20e2 8493 2920 } (A : Set ...) │ │ │ -00006db0: 7bcf 8620 3a20 497d 0a20 2020 2020 20e2 {.. : I}. . │ │ │ -00006dc0: 8692 2028 5420 3a20 5061 7274 6961 6c20 .. (T : Partial │ │ │ -00006dd0: cf86 2028 5365 7420 e284 9327 2929 20e2 .. (Set ...')) . │ │ │ -00006de0: 8692 2028 6520 3a20 5061 7274 6961 6c50 .. (e : PartialP │ │ │ -00006df0: 20cf 8620 28ce bb20 6f20 e286 9220 5420 .. (.. o ... T │ │ │ -00006e00: 6f20 e289 8320 4129 290a 2020 2020 2020 o ... A)). │ │ │ -00006e10: e286 9220 5365 7420 e284 9327 0a20 2020 ... Set ...'. │ │ │ -00006e20: 2070 7269 6d5e 676c 7565 2020 203a 20e2 prim^glue : . │ │ │ -00006e30: 8880 207b e284 9320 e284 9327 7d20 7b41 .. {... ...'} {A │ │ │ -00006e40: 203a 2053 6574 20e2 8493 7d20 7bcf 8620 : Set ...} {.. │ │ │ -00006e50: 3a20 497d 0a20 2020 2020 20e2 8692 207b : I}. ... { │ │ │ -00006e60: 5420 3a20 5061 7274 6961 6c20 cf86 2028 T : Partial .. ( │ │ │ -00006e70: 5365 7420 e284 9327 297d 20e2 8692 207b Set ...')} ... { │ │ │ -00006e80: 6520 3a20 5061 7274 6961 6c50 20cf 8620 e : PartialP .. │ │ │ -00006e90: 28ce bb20 6f20 e286 9220 5420 6f20 e289 (.. o ... T o .. │ │ │ -00006ea0: 8320 4129 7d0a 2020 2020 2020 e286 9220 . A)}. ... │ │ │ -00006eb0: 2874 203a 2050 6172 7469 616c 5020 cf86 (t : PartialP .. │ │ │ -00006ec0: 2054 2920 e286 9220 2861 203a 2041 2920 T) ... (a : A) │ │ │ -00006ed0: e286 9220 7072 696d 476c 7565 2041 2054 ... primGlue A T │ │ │ -00006ee0: 2065 0a20 2020 2070 7269 6d5e 756e 676c e. prim^ungl │ │ │ -00006ef0: 7565 203a 20e2 8880 207b e284 9320 e284 ue : ... {... .. │ │ │ -00006f00: 9327 7d20 7b41 203a 2053 6574 20e2 8493 .'} {A : Set ... │ │ │ -00006f10: 7d20 7bcf 8620 3a20 497d 0a20 2020 2020 } {.. : I}. │ │ │ -00006f20: 20e2 8692 207b 5420 3a20 5061 7274 6961 ... {T : Partia │ │ │ -00006f30: 6c20 cf86 2028 5365 7420 e284 9327 297d l .. (Set ...')} │ │ │ -00006f40: 20e2 8692 207b 6520 3a20 5061 7274 6961 ... {e : Partia │ │ │ -00006f50: 6c50 20cf 8620 28ce bb20 6f20 e286 9220 lP .. (.. o ... │ │ │ -00006f60: 5420 6f20 e289 8320 4129 7d0a 2020 2020 T o ... A)}. │ │ │ -00006f70: 2020 e286 9220 7072 696d 476c 7565 2041 ... primGlue A │ │ │ -00006f80: 2054 2065 20e2 8692 2041 0a82 a183 fcb1 T e ... A...... │ │ │ -00006f90: ee9e a395 01eb efff f1cb fdb4 f337 007a .............7.z │ │ │ -00006fa0: 0000 6fc6 0520 0000 0100 0404 0803 0702 ..o.. .......... │ │ │ -00006fb0: 5e02 0000 030f 0005 0505 0b5f 0b7b 0b61 ^.........._.{.a │ │ │ -00006fc0: 0906 0100 df03 bdc9 bea1 d6fa 8585 8c01 ................ │ │ │ -00006fd0: 85dc 9cf6 cba8 f696 3800 7b00 0071 d605 ........8.{..q.. │ │ │ -00006fe0: 8280 80e6 0800 0001 0003 0407 0402 0000 ................ │ │ │ -00006ff0: 030f 0009 01df 037b 2d23 204f 5054 494f .......{-# OPTIO │ │ │ -00007000: 4e53 202d 2d65 7261 7365 642d 6375 6269 NS --erased-cubi │ │ │ -00007010: 6361 6c20 2d2d 7361 6665 202d 2d6e 6f2d cal --safe --no- │ │ │ -00007020: 7369 7a65 642d 7479 7065 7320 2d2d 6e6f sized-types --no │ │ │ -00007030: 2d67 7561 7264 6564 6e65 7373 2023 2d7d -guardedness #-} │ │ │ -00007040: 0a0a 6d6f 6475 6c65 2041 6764 612e 4275 ..module Agda.Bu │ │ │ -00007050: 696c 7469 6e2e 4375 6269 6361 6c2e 5375 iltin.Cubical.Su │ │ │ -00007060: 6220 7768 6572 650a 0a20 206f 7065 6e20 b where.. open │ │ │ -00007070: 696d 706f 7274 2041 6764 612e 5072 696d import Agda.Prim │ │ │ -00007080: 6974 6976 652e 4375 6269 6361 6c0a 0a20 itive.Cubical.. │ │ │ -00007090: 207b 2d23 2042 5549 4c54 494e 2053 5542 {-# BUILTIN SUB │ │ │ -000070a0: 2053 7562 2023 2d7d 0a0a 2020 706f 7374 Sub #-}.. post │ │ │ -000070b0: 756c 6174 650a 2020 2020 696e 5320 3a20 ulate. inS : │ │ │ -000070c0: e288 8020 7be2 8493 7d20 7b41 203a 2053 ... {...} {A : S │ │ │ -000070d0: 6574 20e2 8493 7d20 7bcf 867d 2028 7820 et ...} {..} (x │ │ │ -000070e0: 3a20 4129 20e2 8692 2053 7562 2041 20cf : A) ... Sub A . │ │ │ -000070f0: 8620 28ce bb20 5f20 e286 9220 7829 0a0a . (.. _ ... x).. │ │ │ -00007100: 2020 7b2d 2320 4255 494c 5449 4e20 5355 {-# BUILTIN SU │ │ │ -00007110: 4249 4e20 696e 5320 232d 7d0a 0a20 202d BIN inS #-}.. - │ │ │ -00007120: 2d20 5375 6220 4120 cf86 2075 2069 7320 - Sub A .. u is │ │ │ -00007130: 7472 6561 7465 6420 6173 2041 2e0a 2020 treated as A.. │ │ │ -00007140: 7b2d 2320 434f 4d50 494c 4520 4a53 2069 {-# COMPILE JS i │ │ │ -00007150: 6e53 203d 205f 203d 3e20 5f20 3d3e 205f nS = _ => _ => _ │ │ │ -00007160: 203d 3e20 7820 3d3e 2078 2023 2d7d 0a0a => x => x #-}.. │ │ │ -00007170: 2020 7072 696d 6974 6976 650a 2020 2020 primitive. │ │ │ -00007180: 7072 696d 5375 624f 7574 203a 20e2 8880 primSubOut : ... │ │ │ -00007190: 207b e284 937d 207b 4120 3a20 5365 7420 {...} {A : Set │ │ │ -000071a0: e284 937d 207b cf86 203a 2049 7d20 7b75 ...} {.. : I} {u │ │ │ -000071b0: 203a 2050 6172 7469 616c 20cf 8620 417d : Partial .. A} │ │ │ -000071c0: 20e2 8692 2053 7562 205f 20cf 8620 7520 ... Sub _ .. u │ │ │ -000071d0: e286 9220 410a a2b3 d4c0 8d9f e09c 75e7 ... A.........u. │ │ │ -000071e0: 84b6 d4eb c1df e209 007c 0000 7210 0520 .........|..r.. │ │ │ -000071f0: 0000 0100 0404 0803 0702 5e02 0000 030f ..........^..... │ │ │ -00007200: 0005 0505 0b5f 0b7d 0b61 0906 0100 9b03 ....._.}.a...... │ │ │ -00007210: a9bc 85ff edab e78b 8f01 b4d7 a8d2 cba6 ................ │ │ │ -00007220: c3f2 0100 7d00 0073 dc05 8280 80e6 0800 ....}..s........ │ │ │ -00007230: 0001 0003 0407 0402 0000 030f 0009 019b ................ │ │ │ -00007240: 037b 2d23 204f 5054 494f 4e53 202d 2d65 .{-# OPTIONS --e │ │ │ -00007250: 7261 7365 642d 6375 6269 6361 6c20 2d2d rased-cubical -- │ │ │ -00007260: 7361 6665 202d 2d6e 6f2d 7369 7a65 642d safe --no-sized- │ │ │ -00007270: 7479 7065 7320 2d2d 6e6f 2d67 7561 7264 types --no-guard │ │ │ -00007280: 6564 6e65 7373 2023 2d7d 0a0a 6d6f 6475 edness #-}..modu │ │ │ -00007290: 6c65 2041 6764 612e 4275 696c 7469 6e2e le Agda.Builtin. │ │ │ -000072a0: 4375 6269 6361 6c2e 5061 7468 2077 6865 Cubical.Path whe │ │ │ -000072b0: 7265 0a0a 2020 6f70 656e 2069 6d70 6f72 re.. open impor │ │ │ -000072c0: 7420 4167 6461 2e50 7269 6d69 7469 7665 t Agda.Primitive │ │ │ -000072d0: 2e43 7562 6963 616c 2075 7369 6e67 2028 .Cubical using ( │ │ │ -000072e0: 5061 7468 5029 2070 7562 6c69 630a 0a0a PathP) public... │ │ │ -000072f0: 2020 696e 6669 7820 3420 5fe2 89a1 5f0a infix 4 _..._. │ │ │ -00007300: 0a20 202d 2d20 5765 2068 6176 6520 6120 . -- We have a │ │ │ -00007310: 7661 7269 6162 6c65 206e 616d 6520 696e variable name in │ │ │ -00007320: 2060 28ce bb20 6920 e286 9220 4129 6020 `(.. i ... A)` │ │ │ -00007330: 6173 2061 2068 696e 7420 666f 7220 6361 as a hint for ca │ │ │ -00007340: 7365 0a20 202d 2d20 7370 6c69 7474 696e se. -- splittin │ │ │ -00007350: 672e 0a20 205f e289 a15f 203a 20e2 8880 g.. _..._ : ... │ │ │ -00007360: 207b e284 937d 207b 4120 3a20 5365 7420 {...} {A : Set │ │ │ -00007370: e284 937d 20e2 8692 2041 20e2 8692 2041 ...} ... A ... A │ │ │ -00007380: 20e2 8692 2053 6574 20e2 8493 0a20 205f ... Set .... _ │ │ │ -00007390: e289 a15f 207b 4120 3d20 417d 203d 2050 ..._ {A = A} = P │ │ │ -000073a0: 6174 6850 2028 cebb 2069 20e2 8692 2041 athP (.. i ... A │ │ │ -000073b0: 290a 0a20 207b 2d23 2042 5549 4c54 494e ).. {-# BUILTIN │ │ │ -000073c0: 2050 4154 4820 2020 2020 2020 2020 5fe2 PATH _. │ │ │ -000073d0: 89a1 5f20 2020 2020 232d 7d0a 8fe5 9cab .._ #-}..... │ │ │ -000073e0: e0a5 e29d 7e9c 8186 e6f5 af98 ad30 007e ....~........0.~ │ │ │ -000073f0: 0000 7416 0520 0000 0100 0404 0803 0702 ..t.. .......... │ │ │ -00007400: 5e02 0000 030f 0005 0505 0b5f 0b7f 0b61 ^.........._...a │ │ │ -00007410: 0906 0100 9f03 d9f8 e8f2 9af4 98ca ee01 ................ │ │ │ -00007420: b58e a6d5 f7f6 9d85 be01 007f 0000 75e7 ..............u. │ │ │ -00007430: 0582 8080 e608 0000 0100 0304 0704 0200 ................ │ │ │ -00007440: 0003 0f00 0901 9f03 7b2d 2320 4f50 5449 ........{-# OPTI │ │ │ -00007450: 4f4e 5320 2d2d 6375 6269 6361 6c2d 636f ONS --cubical-co │ │ │ -00007460: 6d70 6174 6962 6c65 202d 2d73 6166 6520 mpatible --safe │ │ │ -00007470: 2d2d 756e 6976 6572 7365 2d70 6f6c 796d --universe-polym │ │ │ -00007480: 6f72 7068 6973 6d20 2d2d 6e6f 2d73 697a orphism --no-siz │ │ │ -00007490: 6564 2d74 7970 6573 0a20 2020 2020 2020 ed-types. │ │ │ -000074a0: 2020 2020 202d 2d67 7561 7264 6564 6e65 --guardedne │ │ │ -000074b0: 7373 202d 2d6c 6576 656c 2d75 6e69 7665 ss --level-unive │ │ │ -000074c0: 7273 6520 232d 7d0a 0a6d 6f64 756c 6520 rse #-}..module │ │ │ -000074d0: 4167 6461 2e42 7569 6c74 696e 2e43 6f69 Agda.Builtin.Coi │ │ │ -000074e0: 6e64 7563 7469 6f6e 2077 6865 7265 0a0a nduction where.. │ │ │ -000074f0: 696e 6669 7820 3130 3030 20e2 99af 5f0a infix 1000 ..._. │ │ │ -00007500: 0a70 6f73 7475 6c61 7465 0a20 20e2 889e .postulate. ... │ │ │ -00007510: 2020 3a20 e288 8020 7b61 7d20 2841 203a : ... {a} (A : │ │ │ -00007520: 2053 6574 2061 2920 e286 9220 5365 7420 Set a) ... Set │ │ │ -00007530: 610a 2020 e299 af5f 203a 20e2 8880 207b a. ..._ : ... { │ │ │ -00007540: 617d 207b 4120 3a20 5365 7420 617d 20e2 a} {A : Set a} . │ │ │ -00007550: 8692 2041 20e2 8692 20e2 889e 2041 0a20 .. A ... ... A. │ │ │ -00007560: 20e2 99ad 2020 3a20 e288 8020 7b61 7d20 ... : ... {a} │ │ │ -00007570: 7b41 203a 2053 6574 2061 7d20 e286 9220 {A : Set a} ... │ │ │ -00007580: e288 9e20 4120 e286 9220 410a 0a7b 2d23 ... A ... A..{-# │ │ │ -00007590: 2042 5549 4c54 494e 2049 4e46 494e 4954 BUILTIN INFINIT │ │ │ -000075a0: 5920 e288 9e20 2023 2d7d 0a7b 2d23 2042 Y ... #-}.{-# B │ │ │ -000075b0: 5549 4c54 494e 2053 4841 5250 2020 2020 UILTIN SHARP │ │ │ -000075c0: e299 af5f 2023 2d7d 0a7b 2d23 2042 5549 ..._ #-}.{-# BUI │ │ │ -000075d0: 4c54 494e 2046 4c41 5420 2020 2020 e299 LTIN FLAT .. │ │ │ -000075e0: ad20 2023 2d7d 0ad8 e3f3 9bfb f3ea ef84 . #-}.......... │ │ │ -000075f0: 01d3 93d7 b0a8 83d2 84ed 0100 8001 0000 ................ │ │ │ -00007600: 7625 0520 0000 0100 0404 0803 0702 5e02 v%. ..........^. │ │ │ -00007610: 0000 030f 0005 0505 0b5f 0b81 010b 6109 ........._....a. │ │ │ -00007620: 0601 00ae 0281 e593 f4ab a585 fa3d cac0 .............=.. │ │ │ -00007630: f0d9 90f6 a1a0 9201 0081 0100 0077 8505 .............w.. │ │ │ -00007640: 8280 80e6 0800 0001 0003 0407 0402 0000 ................ │ │ │ -00007650: 030f 0009 01ae 027b 2d23 204f 5054 494f .......{-# OPTIO │ │ │ -00007660: 4e53 202d 2d63 7562 6963 616c 2d63 6f6d NS --cubical-com │ │ │ -00007670: 7061 7469 626c 6520 2d2d 7361 6665 202d patible --safe - │ │ │ -00007680: 2d6e 6f2d 7369 7a65 642d 7479 7065 7320 -no-sized-types │ │ │ -00007690: 2d2d 6e6f 2d67 7561 7264 6564 6e65 7373 --no-guardedness │ │ │ -000076a0: 202d 2d6c 6576 656c 2d75 6e69 7665 7273 --level-univers │ │ │ -000076b0: 6520 232d 7d0a 0a6d 6f64 756c 6520 4167 e #-}..module Ag │ │ │ -000076c0: 6461 2e42 7569 6c74 696e 2e43 6861 722e da.Builtin.Char. │ │ │ -000076d0: 5072 6f70 6572 7469 6573 2077 6865 7265 Properties where │ │ │ -000076e0: 0a0a 6f70 656e 2069 6d70 6f72 7420 4167 ..open import Ag │ │ │ -000076f0: 6461 2e42 7569 6c74 696e 2e43 6861 720a da.Builtin.Char. │ │ │ -00007700: 6f70 656e 2069 6d70 6f72 7420 4167 6461 open import Agda │ │ │ -00007710: 2e42 7569 6c74 696e 2e45 7175 616c 6974 .Builtin.Equalit │ │ │ -00007720: 790a 0a70 7269 6d69 7469 7665 0a0a 2020 y..primitive.. │ │ │ -00007730: 7072 696d 4368 6172 546f 4e61 7449 6e6a primCharToNatInj │ │ │ -00007740: 6563 7469 7665 203a 20e2 8880 2061 2062 ective : ... a b │ │ │ -00007750: 20e2 8692 2070 7269 6d43 6861 7254 6f4e ... primCharToN │ │ │ -00007760: 6174 2061 20e2 89a1 2070 7269 6d43 6861 at a ... primCha │ │ │ -00007770: 7254 6f4e 6174 2062 20e2 8692 2061 20e2 rToNat b ... a . │ │ │ -00007780: 89a1 2062 0aad fda5 82a6 eae1 d07e 868b .. b.........~.. │ │ │ -00007790: 8a9c 91e8 8bbf eb01 0077 0000 77d5 05b4 .........w..w... │ │ │ -000077a0: 8080 e608 0000 0005 2000 0001 0001 0004 ........ ....... │ │ │ -000077b0: 0408 0307 0286 8080 ec08 0200 0003 0f00 ................ │ │ │ -000077c0: 0505 050b 8780 80ec 0801 0520 0000 010b ........... .... │ │ │ -000077d0: 8201 0b83 018e b9ff eaa7 fab4 c0d7 01f1 ................ │ │ │ -000077e0: bff6 b6be 89b5 87a7 0100 8401 0000 7813 ..............x. │ │ │ -000077f0: 0520 0000 0100 0404 0803 0702 5e02 0000 . ..........^... │ │ │ -00007800: 030f 0005 0505 0b5f 0b85 010b 6109 0601 ......._....a... │ │ │ -00007810: 00ab 04ac d8c4 cb91 f1c8 8845 e5c3 ff90 ...........E.... │ │ │ -00007820: a992 c085 c301 0085 0100 007a 7005 8280 ...........zp... │ │ │ -00007830: 80e6 0800 0001 0003 0407 0402 0000 030f ................ │ │ │ -00007840: 0009 01ab 047b 2d23 204f 5054 494f 4e53 .....{-# OPTIONS │ │ │ -00007850: 202d 2d63 7562 6963 616c 2d63 6f6d 7061 --cubical-compa │ │ │ -00007860: 7469 626c 6520 2d2d 7361 6665 202d 2d6e tible --safe --n │ │ │ -00007870: 6f2d 756e 6976 6572 7365 2d70 6f6c 796d o-universe-polym │ │ │ -00007880: 6f72 7068 6973 6d0a 2020 2020 2020 2020 orphism. │ │ │ -00007890: 2020 2020 2d2d 6e6f 2d73 697a 6564 2d74 --no-sized-t │ │ │ -000078a0: 7970 6573 202d 2d6e 6f2d 6775 6172 6465 ypes --no-guarde │ │ │ -000078b0: 646e 6573 7320 2d2d 6c65 7665 6c2d 756e dness --level-un │ │ │ -000078c0: 6976 6572 7365 2023 2d7d 0a0a 6d6f 6475 iverse #-}..modu │ │ │ -000078d0: 6c65 2041 6764 612e 4275 696c 7469 6e2e le Agda.Builtin. │ │ │ -000078e0: 4368 6172 2077 6865 7265 0a0a 6f70 656e Char where..open │ │ │ -000078f0: 2069 6d70 6f72 7420 4167 6461 2e42 7569 import Agda.Bui │ │ │ -00007900: 6c74 696e 2e4e 6174 0a6f 7065 6e20 696d ltin.Nat.open im │ │ │ -00007910: 706f 7274 2041 6764 612e 4275 696c 7469 port Agda.Builti │ │ │ -00007920: 6e2e 426f 6f6c 0a0a 706f 7374 756c 6174 n.Bool..postulat │ │ │ -00007930: 6520 4368 6172 203a 2053 6574 0a7b 2d23 e Char : Set.{-# │ │ │ -00007940: 2042 5549 4c54 494e 2043 4841 5220 4368 BUILTIN CHAR Ch │ │ │ -00007950: 6172 2023 2d7d 0a0a 7072 696d 6974 6976 ar #-}..primitiv │ │ │ -00007960: 650a 2020 7072 696d 4973 4c6f 7765 7220 e. primIsLower │ │ │ -00007970: 7072 696d 4973 4469 6769 7420 7072 696d primIsDigit prim │ │ │ -00007980: 4973 416c 7068 6120 7072 696d 4973 5370 IsAlpha primIsSp │ │ │ -00007990: 6163 6520 7072 696d 4973 4173 6369 690a ace primIsAscii. │ │ │ -000079a0: 2020 2020 7072 696d 4973 4c61 7469 6e31 primIsLatin1 │ │ │ -000079b0: 2070 7269 6d49 7350 7269 6e74 2070 7269 primIsPrint pri │ │ │ -000079c0: 6d49 7348 6578 4469 6769 7420 3a20 4368 mIsHexDigit : Ch │ │ │ -000079d0: 6172 20e2 8692 2042 6f6f 6c0a 2020 7072 ar ... Bool. pr │ │ │ -000079e0: 696d 546f 5570 7065 7220 7072 696d 546f imToUpper primTo │ │ │ -000079f0: 4c6f 7765 7220 3a20 4368 6172 20e2 8692 Lower : Char ... │ │ │ -00007a00: 2043 6861 720a 2020 7072 696d 4368 6172 Char. primChar │ │ │ -00007a10: 546f 4e61 7420 3a20 4368 6172 20e2 8692 ToNat : Char ... │ │ │ -00007a20: 204e 6174 0a20 2070 7269 6d4e 6174 546f Nat. primNatTo │ │ │ -00007a30: 4368 6172 203a 204e 6174 20e2 8692 2043 Char : Nat ... C │ │ │ -00007a40: 6861 720a 2020 7072 696d 4368 6172 4571 har. primCharEq │ │ │ -00007a50: 7561 6c69 7479 203a 2043 6861 7220 e286 uality : Char .. │ │ │ -00007a60: 9220 4368 6172 20e2 8692 2042 6f6f 6c0a . Char ... Bool. │ │ │ -00007a70: 89b4 bbee bd86 e98c b601 abc0 a5e0 d59c ................ │ │ │ -00007a80: de92 1500 8601 0000 7aad 0520 0000 0100 ........z.. .... │ │ │ -00007a90: 0404 0803 0702 5e02 0000 030f 0005 0505 ......^......... │ │ │ -00007aa0: 0b5f 0b87 010b 6109 0601 00c1 03d4 bedc ._....a......... │ │ │ -00007ab0: ece5 b3ed a090 01aa ebed e989 fdb6 f694 ................ │ │ │ -00007ac0: 0100 8701 0000 7ca1 0582 8080 e608 0000 ......|......... │ │ │ -00007ad0: 0100 0304 0704 0200 0003 0f00 0901 c103 ................ │ │ │ -00007ae0: 7b2d 2320 4f50 5449 4f4e 5320 2d2d 6375 {-# OPTIONS --cu │ │ │ -00007af0: 6269 6361 6c2d 636f 6d70 6174 6962 6c65 bical-compatible │ │ │ -00007b00: 202d 2d73 6166 6520 2d2d 6e6f 2d75 6e69 --safe --no-uni │ │ │ -00007b10: 7665 7273 652d 706f 6c79 6d6f 7270 6869 verse-polymorphi │ │ │ -00007b20: 736d 0a20 2020 2020 2020 2020 2020 202d sm. - │ │ │ -00007b30: 2d6e 6f2d 7369 7a65 642d 7479 7065 7320 -no-sized-types │ │ │ -00007b40: 2d2d 6e6f 2d67 7561 7264 6564 6e65 7373 --no-guardedness │ │ │ -00007b50: 202d 2d6c 6576 656c 2d75 6e69 7665 7273 --level-univers │ │ │ -00007b60: 6520 232d 7d0a 0a6d 6f64 756c 6520 4167 e #-}..module Ag │ │ │ -00007b70: 6461 2e42 7569 6c74 696e 2e42 6f6f 6c20 da.Builtin.Bool │ │ │ -00007b80: 7768 6572 650a 0a64 6174 6120 426f 6f6c where..data Bool │ │ │ -00007b90: 203a 2053 6574 2077 6865 7265 0a20 2066 : Set where. f │ │ │ -00007ba0: 616c 7365 2074 7275 6520 3a20 426f 6f6c alse true : Bool │ │ │ -00007bb0: 0a0a 7b2d 2320 4255 494c 5449 4e20 424f ..{-# BUILTIN BO │ │ │ -00007bc0: 4f4c 2020 426f 6f6c 2020 232d 7d0a 7b2d OL Bool #-}.{- │ │ │ -00007bd0: 2320 4255 494c 5449 4e20 4641 4c53 4520 # BUILTIN FALSE │ │ │ -00007be0: 6661 6c73 6520 232d 7d0a 7b2d 2320 4255 false #-}.{-# BU │ │ │ -00007bf0: 494c 5449 4e20 5452 5545 2020 7472 7565 ILTIN TRUE true │ │ │ -00007c00: 2020 232d 7d0a 0a7b 2d23 2043 4f4d 5049 #-}..{-# COMPI │ │ │ -00007c10: 4c45 204a 5320 426f 6f6c 2020 3d20 6675 LE JS Bool = fu │ │ │ -00007c20: 6e63 7469 6f6e 2028 782c 7629 207b 2072 nction (x,v) { r │ │ │ -00007c30: 6574 7572 6e20 2828 7829 3f20 765b 2274 eturn ((x)? v["t │ │ │ -00007c40: 7275 6522 5d28 2920 3a20 765b 2266 616c rue"]() : v["fal │ │ │ -00007c50: 7365 225d 2829 293b 207d 2023 2d7d 0a7b se"]()); } #-}.{ │ │ │ -00007c60: 2d23 2043 4f4d 5049 4c45 204a 5320 6661 -# COMPILE JS fa │ │ │ -00007c70: 6c73 6520 3d20 6661 6c73 6520 232d 7d0a lse = false #-}. │ │ │ -00007c80: 7b2d 2320 434f 4d50 494c 4520 4a53 2074 {-# COMPILE JS t │ │ │ -00007c90: 7275 6520 203d 2074 7275 6520 2023 2d7d rue = true #-} │ │ │ -00007ca0: 0ada 82b9 a1a7 eb81 911f ad99 cbdb b1ea ................ │ │ │ -00007cb0: b4f9 a501 0088 0100 007c dd05 2000 0001 .........|.. ... │ │ │ -00007cc0: 0004 0408 0307 025e 0200 0003 0f00 0505 .......^........ │ │ │ -00007cd0: 050b 5f0b 8901 0b61 0906 0100 1f9a 82e9 .._....a........ │ │ │ -00007ce0: b999 ee86 9c70 f782 ec92 e9fb bf9a 9401 .....p.......... │ │ │ -00007cf0: 0089 0100 007d 2d05 8280 80e6 0800 0001 .....}-......... │ │ │ -00007d00: 0003 0407 0402 0000 030f 0009 011f 6e61 ..............na │ │ │ -00007d10: 6d65 3a20 6167 6461 2d62 7569 6c74 696e me: agda-builtin │ │ │ -00007d20: 730a 696e 636c 7564 653a 202e 0a85 d1b6 s.include: ..... │ │ │ -00007d30: f492 96fe b96e c4ff aaa8 ccd8 f5da 4400 .....n........D. │ │ │ -00007d40: 8a01 0000 7d69 0520 0000 0100 0404 0803 ....}i. ........ │ │ │ -00007d50: 0702 5e02 0000 030f 0005 0505 0b5f 0b8b ..^.........._.. │ │ │ -00007d60: 010b 6109 0601 00d2 0380 ee99 facc f7bf ..a............. │ │ │ -00007d70: cdb7 01f4 a987 dae8 86d0 c1c7 0100 8b01 ................ │ │ │ -00007d80: 0000 7f6e 0582 8080 e608 0000 0100 0304 ...n............ │ │ │ -00007d90: 0704 0200 0003 0f00 0901 d203 2321 2f75 ............#!/u │ │ │ -00007da0: 7372 2f62 696e 2f65 6e76 2070 6572 6c0a sr/bin/env perl. │ │ │ -00007db0: 0a75 7365 2073 7472 6963 743b 0a75 7365 .use strict;.use │ │ │ -00007dc0: 2077 6172 6e69 6e67 733b 0a0a 6d79 2024 warnings;..my $ │ │ │ -00007dd0: 7461 675f 7072 6566 6978 203d 2022 4167 tag_prefix = "Ag │ │ │ -00007de0: 6461 5461 6722 3b0a 6d79 2024 756e 6465 daTag";.my $unde │ │ │ -00007df0: 7273 636f 7265 203d 2022 4167 6461 556e rscore = "AgdaUn │ │ │ -00007e00: 6465 7273 636f 7265 223b 0a6d 7920 2463 derscore";.my $c │ │ │ -00007e10: 6f6d 6d61 6e64 7320 2020 3d20 7172 2228 ommands = qr"( │ │ │ -00007e20: 496e 6475 6374 6976 6543 6f6e 7374 7275 InductiveConstru │ │ │ -00007e30: 6374 6f72 7c43 6f69 6e64 7563 7469 7665 ctor|Coinductive │ │ │ -00007e40: 436f 6e73 7472 7563 746f 725c 0a20 2020 Constructor\. │ │ │ +00006ab0: 2020 2020 2020 2020 2020 3b20 286a 203d ; (j = │ │ │ +00006ac0: 2069 3129 20e2 8692 2075 2069 2028 6720 i1) ... u i (g │ │ │ +00006ad0: 7929 207d 2920 2867 2079 290a 0a20 2070 y) }) (g y).. p │ │ │ +00006ae0: 6174 6854 6f69 7345 7175 6976 203a 2069 athToisEquiv : i │ │ │ +00006af0: 7345 7175 6976 2066 0a20 2070 6174 6854 sEquiv f. pathT │ │ │ +00006b00: 6f69 7345 7175 6976 202e 6571 7569 762d oisEquiv .equiv- │ │ │ +00006b10: 7072 6f6f 6620 7920 2e66 7374 202e 6673 proof y .fst .fs │ │ │ +00006b20: 7420 3d20 6720 790a 2020 7061 7468 546f t = g y. pathTo │ │ │ +00006b30: 6973 4571 7569 7620 2e65 7175 6976 2d70 isEquiv .equiv-p │ │ │ +00006b40: 726f 6f66 2079 202e 6673 7420 2e73 6e64 roof y .fst .snd │ │ │ +00006b50: 203d 2073 796d 2028 ceb3 2079 290a 2020 = sym (.. y). │ │ │ +00006b60: 7061 7468 546f 6973 4571 7569 7620 2e65 pathToisEquiv .e │ │ │ +00006b70: 7175 6976 2d70 726f 6f66 2079 202e 736e quiv-proof y .sn │ │ │ +00006b80: 6420 3d20 6669 6265 7250 6174 6820 7920 d = fiberPath y │ │ │ +00006b90: 5f0a 0a20 2070 6174 6854 6f45 7175 6976 _.. pathToEquiv │ │ │ +00006ba0: 203a 2041 20e2 8983 2042 0a20 2070 6174 : A ... B. pat │ │ │ +00006bb0: 6854 6f45 7175 6976 202e 6673 7420 3d20 hToEquiv .fst = │ │ │ +00006bc0: 660a 2020 7061 7468 546f 4571 7569 7620 f. pathToEquiv │ │ │ +00006bd0: 2e73 6e64 203d 2070 6174 6854 6f69 7345 .snd = pathToisE │ │ │ +00006be0: 7175 6976 0a9f deb4 a29a f9fd dcce 01d9 quiv............ │ │ │ +00006bf0: e8c3 c1fe d7dd 8e7a 006b 0000 6c33 05b4 .......z.k..l3.. │ │ │ +00006c00: 8080 e608 0000 0005 2000 0001 0001 0004 ........ ....... │ │ │ +00006c10: 0408 0307 0286 8080 ec08 0200 0003 0f00 ................ │ │ │ +00006c20: 0505 050b 8780 80ec 0801 0520 0000 010b ........... .... │ │ │ +00006c30: 760b 77c9 c8a8 cbb3 9ba6 b170 fc94 9487 v.w........p.... │ │ │ +00006c40: e793 b89b 0100 7800 006c 6d05 2000 0001 ......x..lm. ... │ │ │ +00006c50: 0004 0408 0307 025e 0200 0003 0f00 0505 .......^........ │ │ │ +00006c60: 050b 5f0b 790b 6109 0601 00ed 05dd 98aa .._.y.a......... │ │ │ +00006c70: 8af0 b1c6 91ff 01fa e7c7 b097 f29d a494 ................ │ │ │ +00006c80: 0100 7900 006f 8c05 8280 80e6 0800 0001 ..y..o.......... │ │ │ +00006c90: 0003 0407 0402 0000 030f 0009 01ed 057b ...............{ │ │ │ +00006ca0: 2d23 204f 5054 494f 4e53 202d 2d63 7562 -# OPTIONS --cub │ │ │ +00006cb0: 6963 616c 202d 2d73 6166 6520 2d2d 6e6f ical --safe --no │ │ │ +00006cc0: 2d73 697a 6564 2d74 7970 6573 202d 2d6e -sized-types --n │ │ │ +00006cd0: 6f2d 6775 6172 6465 646e 6573 7320 232d o-guardedness #- │ │ │ +00006ce0: 7d0a 0a6d 6f64 756c 6520 4167 6461 2e42 }..module Agda.B │ │ │ +00006cf0: 7569 6c74 696e 2e43 7562 6963 616c 2e47 uiltin.Cubical.G │ │ │ +00006d00: 6c75 6520 7768 6572 650a 0a6f 7065 6e20 lue where..open │ │ │ +00006d10: 696d 706f 7274 2041 6764 612e 5072 696d import Agda.Prim │ │ │ +00006d20: 6974 6976 650a 6f70 656e 2069 6d70 6f72 itive.open impor │ │ │ +00006d30: 7420 4167 6461 2e50 7269 6d69 7469 7665 t Agda.Primitive │ │ │ +00006d40: 2e43 7562 6963 616c 0a6f 7065 6e20 696d .Cubical.open im │ │ │ +00006d50: 706f 7274 2041 6764 612e 4275 696c 7469 port Agda.Builti │ │ │ +00006d60: 6e2e 4375 6269 6361 6c2e 4571 7569 7620 n.Cubical.Equiv │ │ │ +00006d70: 7075 626c 6963 0a0a 7072 696d 6974 6976 public..primitiv │ │ │ +00006d80: 650a 2020 2020 7072 696d 476c 7565 2020 e. primGlue │ │ │ +00006d90: 2020 3a20 e288 8020 7be2 8493 20e2 8493 : ... {... ... │ │ │ +00006da0: 277d 2028 4120 3a20 5365 7420 e284 9329 '} (A : Set ...) │ │ │ +00006db0: 207b cf86 203a 2049 7d0a 2020 2020 2020 {.. : I}. │ │ │ +00006dc0: e286 9220 2854 203a 2050 6172 7469 616c ... (T : Partial │ │ │ +00006dd0: 20cf 8620 2853 6574 20e2 8493 2729 2920 .. (Set ...')) │ │ │ +00006de0: e286 9220 2865 203a 2050 6172 7469 616c ... (e : Partial │ │ │ +00006df0: 5020 cf86 2028 cebb 206f 20e2 8692 2054 P .. (.. o ... T │ │ │ +00006e00: 206f 20e2 8983 2041 2929 0a20 2020 2020 o ... A)). │ │ │ +00006e10: 20e2 8692 2053 6574 20e2 8493 270a 2020 ... Set ...'. │ │ │ +00006e20: 2020 7072 696d 5e67 6c75 6520 2020 3a20 prim^glue : │ │ │ +00006e30: e288 8020 7be2 8493 20e2 8493 277d 207b ... {... ...'} { │ │ │ +00006e40: 4120 3a20 5365 7420 e284 937d 207b cf86 A : Set ...} {.. │ │ │ +00006e50: 203a 2049 7d0a 2020 2020 2020 e286 9220 : I}. ... │ │ │ +00006e60: 7b54 203a 2050 6172 7469 616c 20cf 8620 {T : Partial .. │ │ │ +00006e70: 2853 6574 20e2 8493 2729 7d20 e286 9220 (Set ...')} ... │ │ │ +00006e80: 7b65 203a 2050 6172 7469 616c 5020 cf86 {e : PartialP .. │ │ │ +00006e90: 2028 cebb 206f 20e2 8692 2054 206f 20e2 (.. o ... T o . │ │ │ +00006ea0: 8983 2041 297d 0a20 2020 2020 20e2 8692 .. A)}. ... │ │ │ +00006eb0: 2028 7420 3a20 5061 7274 6961 6c50 20cf (t : PartialP . │ │ │ +00006ec0: 8620 5429 20e2 8692 2028 6120 3a20 4129 . T) ... (a : A) │ │ │ +00006ed0: 20e2 8692 2070 7269 6d47 6c75 6520 4120 ... primGlue A │ │ │ +00006ee0: 5420 650a 2020 2020 7072 696d 5e75 6e67 T e. prim^ung │ │ │ +00006ef0: 6c75 6520 3a20 e288 8020 7be2 8493 20e2 lue : ... {... . │ │ │ +00006f00: 8493 277d 207b 4120 3a20 5365 7420 e284 ..'} {A : Set .. │ │ │ +00006f10: 937d 207b cf86 203a 2049 7d0a 2020 2020 .} {.. : I}. │ │ │ +00006f20: 2020 e286 9220 7b54 203a 2050 6172 7469 ... {T : Parti │ │ │ +00006f30: 616c 20cf 8620 2853 6574 20e2 8493 2729 al .. (Set ...') │ │ │ +00006f40: 7d20 e286 9220 7b65 203a 2050 6172 7469 } ... {e : Parti │ │ │ +00006f50: 616c 5020 cf86 2028 cebb 206f 20e2 8692 alP .. (.. o ... │ │ │ +00006f60: 2054 206f 20e2 8983 2041 297d 0a20 2020 T o ... A)}. │ │ │ +00006f70: 2020 20e2 8692 2070 7269 6d47 6c75 6520 ... primGlue │ │ │ +00006f80: 4120 5420 6520 e286 9220 410a 82a1 83fc A T e ... A..... │ │ │ +00006f90: b1ee 9ea3 9501 ebef fff1 cbfd b4f3 3700 ..............7. │ │ │ +00006fa0: 7a00 006f c705 2000 0001 0004 0408 0307 z..o.. ......... │ │ │ +00006fb0: 025e 0200 0003 0f00 0505 050b 5f0b 7b0b .^.........._.{. │ │ │ +00006fc0: 6109 0601 00df 03bd c9be a1d6 fa85 858c a............... │ │ │ +00006fd0: 0185 dc9c f6cb a8f6 9638 007b 0000 71d7 .........8.{..q. │ │ │ +00006fe0: 0582 8080 e608 0000 0100 0304 0704 0200 ................ │ │ │ +00006ff0: 0003 0f00 0901 df03 7b2d 2320 4f50 5449 ........{-# OPTI │ │ │ +00007000: 4f4e 5320 2d2d 6572 6173 6564 2d63 7562 ONS --erased-cub │ │ │ +00007010: 6963 616c 202d 2d73 6166 6520 2d2d 6e6f ical --safe --no │ │ │ +00007020: 2d73 697a 6564 2d74 7970 6573 202d 2d6e -sized-types --n │ │ │ +00007030: 6f2d 6775 6172 6465 646e 6573 7320 232d o-guardedness #- │ │ │ +00007040: 7d0a 0a6d 6f64 756c 6520 4167 6461 2e42 }..module Agda.B │ │ │ +00007050: 7569 6c74 696e 2e43 7562 6963 616c 2e53 uiltin.Cubical.S │ │ │ +00007060: 7562 2077 6865 7265 0a0a 2020 6f70 656e ub where.. open │ │ │ +00007070: 2069 6d70 6f72 7420 4167 6461 2e50 7269 import Agda.Pri │ │ │ +00007080: 6d69 7469 7665 2e43 7562 6963 616c 0a0a mitive.Cubical.. │ │ │ +00007090: 2020 7b2d 2320 4255 494c 5449 4e20 5355 {-# BUILTIN SU │ │ │ +000070a0: 4220 5375 6220 232d 7d0a 0a20 2070 6f73 B Sub #-}.. pos │ │ │ +000070b0: 7475 6c61 7465 0a20 2020 2069 6e53 203a tulate. inS : │ │ │ +000070c0: 20e2 8880 207b e284 937d 207b 4120 3a20 ... {...} {A : │ │ │ +000070d0: 5365 7420 e284 937d 207b cf86 7d20 2878 Set ...} {..} (x │ │ │ +000070e0: 203a 2041 2920 e286 9220 5375 6220 4120 : A) ... Sub A │ │ │ +000070f0: cf86 2028 cebb 205f 20e2 8692 2078 290a .. (.. _ ... x). │ │ │ +00007100: 0a20 207b 2d23 2042 5549 4c54 494e 2053 . {-# BUILTIN S │ │ │ +00007110: 5542 494e 2069 6e53 2023 2d7d 0a0a 2020 UBIN inS #-}.. │ │ │ +00007120: 2d2d 2053 7562 2041 20cf 8620 7520 6973 -- Sub A .. u is │ │ │ +00007130: 2074 7265 6174 6564 2061 7320 412e 0a20 treated as A.. │ │ │ +00007140: 207b 2d23 2043 4f4d 5049 4c45 204a 5320 {-# COMPILE JS │ │ │ +00007150: 696e 5320 3d20 5f20 3d3e 205f 203d 3e20 inS = _ => _ => │ │ │ +00007160: 5f20 3d3e 2078 203d 3e20 7820 232d 7d0a _ => x => x #-}. │ │ │ +00007170: 0a20 2070 7269 6d69 7469 7665 0a20 2020 . primitive. │ │ │ +00007180: 2070 7269 6d53 7562 4f75 7420 3a20 e288 primSubOut : .. │ │ │ +00007190: 8020 7be2 8493 7d20 7b41 203a 2053 6574 . {...} {A : Set │ │ │ +000071a0: 20e2 8493 7d20 7bcf 8620 3a20 497d 207b ...} {.. : I} { │ │ │ +000071b0: 7520 3a20 5061 7274 6961 6c20 cf86 2041 u : Partial .. A │ │ │ +000071c0: 7d20 e286 9220 5375 6220 5f20 cf86 2075 } ... Sub _ .. u │ │ │ +000071d0: 20e2 8692 2041 0aa2 b3d4 c08d 9fe0 9c75 ... A.........u │ │ │ +000071e0: e784 b6d4 ebc1 dfe2 0900 7c00 0072 1105 ..........|..r.. │ │ │ +000071f0: 2000 0001 0004 0408 0307 025e 0200 0003 ..........^.... │ │ │ +00007200: 0f00 0505 050b 5f0b 7d0b 6109 0601 009b ......_.}.a..... │ │ │ +00007210: 03a9 bc85 ffed abe7 8b8f 01b4 d7a8 d2cb ................ │ │ │ +00007220: a6c3 f201 007d 0000 73dd 0582 8080 e608 .....}..s....... │ │ │ +00007230: 0000 0100 0304 0704 0200 0003 0f00 0901 ................ │ │ │ +00007240: 9b03 7b2d 2320 4f50 5449 4f4e 5320 2d2d ..{-# OPTIONS -- │ │ │ +00007250: 6572 6173 6564 2d63 7562 6963 616c 202d erased-cubical - │ │ │ +00007260: 2d73 6166 6520 2d2d 6e6f 2d73 697a 6564 -safe --no-sized │ │ │ +00007270: 2d74 7970 6573 202d 2d6e 6f2d 6775 6172 -types --no-guar │ │ │ +00007280: 6465 646e 6573 7320 232d 7d0a 0a6d 6f64 dedness #-}..mod │ │ │ +00007290: 756c 6520 4167 6461 2e42 7569 6c74 696e ule Agda.Builtin │ │ │ +000072a0: 2e43 7562 6963 616c 2e50 6174 6820 7768 .Cubical.Path wh │ │ │ +000072b0: 6572 650a 0a20 206f 7065 6e20 696d 706f ere.. open impo │ │ │ +000072c0: 7274 2041 6764 612e 5072 696d 6974 6976 rt Agda.Primitiv │ │ │ +000072d0: 652e 4375 6269 6361 6c20 7573 696e 6720 e.Cubical using │ │ │ +000072e0: 2850 6174 6850 2920 7075 626c 6963 0a0a (PathP) public.. │ │ │ +000072f0: 0a20 2069 6e66 6978 2034 205f e289 a15f . infix 4 _..._ │ │ │ +00007300: 0a0a 2020 2d2d 2057 6520 6861 7665 2061 .. -- We have a │ │ │ +00007310: 2076 6172 6961 626c 6520 6e61 6d65 2069 variable name i │ │ │ +00007320: 6e20 6028 cebb 2069 20e2 8692 2041 2960 n `(.. i ... A)` │ │ │ +00007330: 2061 7320 6120 6869 6e74 2066 6f72 2063 as a hint for c │ │ │ +00007340: 6173 650a 2020 2d2d 2073 706c 6974 7469 ase. -- splitti │ │ │ +00007350: 6e67 2e0a 2020 5fe2 89a1 5f20 3a20 e288 ng.. _..._ : .. │ │ │ +00007360: 8020 7be2 8493 7d20 7b41 203a 2053 6574 . {...} {A : Set │ │ │ +00007370: 20e2 8493 7d20 e286 9220 4120 e286 9220 ...} ... A ... │ │ │ +00007380: 4120 e286 9220 5365 7420 e284 930a 2020 A ... Set .... │ │ │ +00007390: 5fe2 89a1 5f20 7b41 203d 2041 7d20 3d20 _..._ {A = A} = │ │ │ +000073a0: 5061 7468 5020 28ce bb20 6920 e286 9220 PathP (.. i ... │ │ │ +000073b0: 4129 0a0a 2020 7b2d 2320 4255 494c 5449 A).. {-# BUILTI │ │ │ +000073c0: 4e20 5041 5448 2020 2020 2020 2020 205f N PATH _ │ │ │ +000073d0: e289 a15f 2020 2020 2023 2d7d 0a8f e59c ..._ #-}.... │ │ │ +000073e0: abe0 a5e2 9d7e 9c81 86e6 f5af 98ad 3000 .....~........0. │ │ │ +000073f0: 7e00 0074 1705 2000 0001 0004 0408 0307 ~..t.. ......... │ │ │ +00007400: 025e 0200 0003 0f00 0505 050b 5f0b 7f0b .^.........._... │ │ │ +00007410: 6109 0601 009f 03d9 f8e8 f29a f498 caee a............... │ │ │ +00007420: 01b5 8ea6 d5f7 f69d 85be 0100 7f00 0075 ...............u │ │ │ +00007430: e805 8280 80e6 0800 0001 0003 0407 0402 ................ │ │ │ +00007440: 0000 030f 0009 019f 037b 2d23 204f 5054 .........{-# OPT │ │ │ +00007450: 494f 4e53 202d 2d63 7562 6963 616c 2d63 IONS --cubical-c │ │ │ +00007460: 6f6d 7061 7469 626c 6520 2d2d 7361 6665 ompatible --safe │ │ │ +00007470: 202d 2d75 6e69 7665 7273 652d 706f 6c79 --universe-poly │ │ │ +00007480: 6d6f 7270 6869 736d 202d 2d6e 6f2d 7369 morphism --no-si │ │ │ +00007490: 7a65 642d 7479 7065 730a 2020 2020 2020 zed-types. │ │ │ +000074a0: 2020 2020 2020 2d2d 6775 6172 6465 646e --guardedn │ │ │ +000074b0: 6573 7320 2d2d 6c65 7665 6c2d 756e 6976 ess --level-univ │ │ │ +000074c0: 6572 7365 2023 2d7d 0a0a 6d6f 6475 6c65 erse #-}..module │ │ │ +000074d0: 2041 6764 612e 4275 696c 7469 6e2e 436f Agda.Builtin.Co │ │ │ +000074e0: 696e 6475 6374 696f 6e20 7768 6572 650a induction where. │ │ │ +000074f0: 0a69 6e66 6978 2031 3030 3020 e299 af5f .infix 1000 ..._ │ │ │ +00007500: 0a0a 706f 7374 756c 6174 650a 2020 e288 ..postulate. .. │ │ │ +00007510: 9e20 203a 20e2 8880 207b 617d 2028 4120 . : ... {a} (A │ │ │ +00007520: 3a20 5365 7420 6129 20e2 8692 2053 6574 : Set a) ... Set │ │ │ +00007530: 2061 0a20 20e2 99af 5f20 3a20 e288 8020 a. ..._ : ... │ │ │ +00007540: 7b61 7d20 7b41 203a 2053 6574 2061 7d20 {a} {A : Set a} │ │ │ +00007550: e286 9220 4120 e286 9220 e288 9e20 410a ... A ... ... A. │ │ │ +00007560: 2020 e299 ad20 203a 20e2 8880 207b 617d ... : ... {a} │ │ │ +00007570: 207b 4120 3a20 5365 7420 617d 20e2 8692 {A : Set a} ... │ │ │ +00007580: 20e2 889e 2041 20e2 8692 2041 0a0a 7b2d ... A ... A..{- │ │ │ +00007590: 2320 4255 494c 5449 4e20 494e 4649 4e49 # BUILTIN INFINI │ │ │ +000075a0: 5459 20e2 889e 2020 232d 7d0a 7b2d 2320 TY ... #-}.{-# │ │ │ +000075b0: 4255 494c 5449 4e20 5348 4152 5020 2020 BUILTIN SHARP │ │ │ +000075c0: 20e2 99af 5f20 232d 7d0a 7b2d 2320 4255 ..._ #-}.{-# BU │ │ │ +000075d0: 494c 5449 4e20 464c 4154 2020 2020 20e2 ILTIN FLAT . │ │ │ +000075e0: 99ad 2020 232d 7d0a d8e3 f39b fbf3 eaef .. #-}......... │ │ │ +000075f0: 8401 d393 d7b0 a883 d284 ed01 0080 0100 ................ │ │ │ +00007600: 0076 2605 2000 0001 0004 0408 0307 025e .v&. ..........^ │ │ │ +00007610: 0200 0003 0f00 0505 050b 5f0b 8101 0b61 .........._....a │ │ │ +00007620: 0906 0100 ae02 81e5 93f4 aba5 85fa 3dca ..............=. │ │ │ +00007630: c0f0 d990 f6a1 a092 0100 8101 0000 7786 ..............w. │ │ │ +00007640: 0582 8080 e608 0000 0100 0304 0704 0200 ................ │ │ │ +00007650: 0003 0f00 0901 ae02 7b2d 2320 4f50 5449 ........{-# OPTI │ │ │ +00007660: 4f4e 5320 2d2d 6375 6269 6361 6c2d 636f ONS --cubical-co │ │ │ +00007670: 6d70 6174 6962 6c65 202d 2d73 6166 6520 mpatible --safe │ │ │ +00007680: 2d2d 6e6f 2d73 697a 6564 2d74 7970 6573 --no-sized-types │ │ │ +00007690: 202d 2d6e 6f2d 6775 6172 6465 646e 6573 --no-guardednes │ │ │ +000076a0: 7320 2d2d 6c65 7665 6c2d 756e 6976 6572 s --level-univer │ │ │ +000076b0: 7365 2023 2d7d 0a0a 6d6f 6475 6c65 2041 se #-}..module A │ │ │ +000076c0: 6764 612e 4275 696c 7469 6e2e 4368 6172 gda.Builtin.Char │ │ │ +000076d0: 2e50 726f 7065 7274 6965 7320 7768 6572 .Properties wher │ │ │ +000076e0: 650a 0a6f 7065 6e20 696d 706f 7274 2041 e..open import A │ │ │ +000076f0: 6764 612e 4275 696c 7469 6e2e 4368 6172 gda.Builtin.Char │ │ │ +00007700: 0a6f 7065 6e20 696d 706f 7274 2041 6764 .open import Agd │ │ │ +00007710: 612e 4275 696c 7469 6e2e 4571 7561 6c69 a.Builtin.Equali │ │ │ +00007720: 7479 0a0a 7072 696d 6974 6976 650a 0a20 ty..primitive.. │ │ │ +00007730: 2070 7269 6d43 6861 7254 6f4e 6174 496e primCharToNatIn │ │ │ +00007740: 6a65 6374 6976 6520 3a20 e288 8020 6120 jective : ... a │ │ │ +00007750: 6220 e286 9220 7072 696d 4368 6172 546f b ... primCharTo │ │ │ +00007760: 4e61 7420 6120 e289 a120 7072 696d 4368 Nat a ... primCh │ │ │ +00007770: 6172 546f 4e61 7420 6220 e286 9220 6120 arToNat b ... a │ │ │ +00007780: e289 a120 620a adfd a582 a6ea e1d0 7e86 ... b.........~. │ │ │ +00007790: 8b8a 9c91 e88b bfeb 0100 7700 0077 d605 ..........w..w.. │ │ │ +000077a0: b480 80e6 0800 0000 0520 0000 0100 0100 ......... ...... │ │ │ +000077b0: 0404 0803 0702 8680 80ec 0802 0000 030f ................ │ │ │ +000077c0: 0005 0505 0b87 8080 ec08 0105 2000 0001 ............ ... │ │ │ +000077d0: 0b82 010b 8301 8eb9 ffea a7fa b4c0 d701 ................ │ │ │ +000077e0: f1bf f6b6 be89 b587 a701 0084 0100 0078 ...............x │ │ │ +000077f0: 1405 2000 0001 0004 0408 0307 025e 0200 .. ..........^.. │ │ │ +00007800: 0003 0f00 0505 050b 5f0b 8501 0b61 0906 ........_....a.. │ │ │ +00007810: 0100 ab04 acd8 c4cb 91f1 c888 45e5 c3ff ............E... │ │ │ +00007820: 90a9 92c0 85c3 0100 8501 0000 7a71 0582 ............zq.. │ │ │ +00007830: 8080 e608 0000 0100 0304 0704 0200 0003 ................ │ │ │ +00007840: 0f00 0901 ab04 7b2d 2320 4f50 5449 4f4e ......{-# OPTION │ │ │ +00007850: 5320 2d2d 6375 6269 6361 6c2d 636f 6d70 S --cubical-comp │ │ │ +00007860: 6174 6962 6c65 202d 2d73 6166 6520 2d2d atible --safe -- │ │ │ +00007870: 6e6f 2d75 6e69 7665 7273 652d 706f 6c79 no-universe-poly │ │ │ +00007880: 6d6f 7270 6869 736d 0a20 2020 2020 2020 morphism. │ │ │ +00007890: 2020 2020 202d 2d6e 6f2d 7369 7a65 642d --no-sized- │ │ │ +000078a0: 7479 7065 7320 2d2d 6e6f 2d67 7561 7264 types --no-guard │ │ │ +000078b0: 6564 6e65 7373 202d 2d6c 6576 656c 2d75 edness --level-u │ │ │ +000078c0: 6e69 7665 7273 6520 232d 7d0a 0a6d 6f64 niverse #-}..mod │ │ │ +000078d0: 756c 6520 4167 6461 2e42 7569 6c74 696e ule Agda.Builtin │ │ │ +000078e0: 2e43 6861 7220 7768 6572 650a 0a6f 7065 .Char where..ope │ │ │ +000078f0: 6e20 696d 706f 7274 2041 6764 612e 4275 n import Agda.Bu │ │ │ +00007900: 696c 7469 6e2e 4e61 740a 6f70 656e 2069 iltin.Nat.open i │ │ │ +00007910: 6d70 6f72 7420 4167 6461 2e42 7569 6c74 mport Agda.Built │ │ │ +00007920: 696e 2e42 6f6f 6c0a 0a70 6f73 7475 6c61 in.Bool..postula │ │ │ +00007930: 7465 2043 6861 7220 3a20 5365 740a 7b2d te Char : Set.{- │ │ │ +00007940: 2320 4255 494c 5449 4e20 4348 4152 2043 # BUILTIN CHAR C │ │ │ +00007950: 6861 7220 232d 7d0a 0a70 7269 6d69 7469 har #-}..primiti │ │ │ +00007960: 7665 0a20 2070 7269 6d49 734c 6f77 6572 ve. primIsLower │ │ │ +00007970: 2070 7269 6d49 7344 6967 6974 2070 7269 primIsDigit pri │ │ │ +00007980: 6d49 7341 6c70 6861 2070 7269 6d49 7353 mIsAlpha primIsS │ │ │ +00007990: 7061 6365 2070 7269 6d49 7341 7363 6969 pace primIsAscii │ │ │ +000079a0: 0a20 2020 2070 7269 6d49 734c 6174 696e . primIsLatin │ │ │ +000079b0: 3120 7072 696d 4973 5072 696e 7420 7072 1 primIsPrint pr │ │ │ +000079c0: 696d 4973 4865 7844 6967 6974 203a 2043 imIsHexDigit : C │ │ │ +000079d0: 6861 7220 e286 9220 426f 6f6c 0a20 2070 har ... Bool. p │ │ │ +000079e0: 7269 6d54 6f55 7070 6572 2070 7269 6d54 rimToUpper primT │ │ │ +000079f0: 6f4c 6f77 6572 203a 2043 6861 7220 e286 oLower : Char .. │ │ │ +00007a00: 9220 4368 6172 0a20 2070 7269 6d43 6861 . Char. primCha │ │ │ +00007a10: 7254 6f4e 6174 203a 2043 6861 7220 e286 rToNat : Char .. │ │ │ +00007a20: 9220 4e61 740a 2020 7072 696d 4e61 7454 . Nat. primNatT │ │ │ +00007a30: 6f43 6861 7220 3a20 4e61 7420 e286 9220 oChar : Nat ... │ │ │ +00007a40: 4368 6172 0a20 2070 7269 6d43 6861 7245 Char. primCharE │ │ │ +00007a50: 7175 616c 6974 7920 3a20 4368 6172 20e2 quality : Char . │ │ │ +00007a60: 8692 2043 6861 7220 e286 9220 426f 6f6c .. Char ... Bool │ │ │ +00007a70: 0a89 b4bb eebd 86e9 8cb6 01ab c0a5 e0d5 ................ │ │ │ +00007a80: 9cde 9215 0086 0100 007a ae05 2000 0001 .........z.. ... │ │ │ +00007a90: 0004 0408 0307 025e 0200 0003 0f00 0505 .......^........ │ │ │ +00007aa0: 050b 5f0b 8701 0b61 0906 0100 c103 d4be .._....a........ │ │ │ +00007ab0: dcec e5b3 eda0 9001 aaeb ede9 89fd b6f6 ................ │ │ │ +00007ac0: 9401 0087 0100 007c a205 8280 80e6 0800 .......|........ │ │ │ +00007ad0: 0001 0003 0407 0402 0000 030f 0009 01c1 ................ │ │ │ +00007ae0: 037b 2d23 204f 5054 494f 4e53 202d 2d63 .{-# OPTIONS --c │ │ │ +00007af0: 7562 6963 616c 2d63 6f6d 7061 7469 626c ubical-compatibl │ │ │ +00007b00: 6520 2d2d 7361 6665 202d 2d6e 6f2d 756e e --safe --no-un │ │ │ +00007b10: 6976 6572 7365 2d70 6f6c 796d 6f72 7068 iverse-polymorph │ │ │ +00007b20: 6973 6d0a 2020 2020 2020 2020 2020 2020 ism. │ │ │ +00007b30: 2d2d 6e6f 2d73 697a 6564 2d74 7970 6573 --no-sized-types │ │ │ +00007b40: 202d 2d6e 6f2d 6775 6172 6465 646e 6573 --no-guardednes │ │ │ +00007b50: 7320 2d2d 6c65 7665 6c2d 756e 6976 6572 s --level-univer │ │ │ +00007b60: 7365 2023 2d7d 0a0a 6d6f 6475 6c65 2041 se #-}..module A │ │ │ +00007b70: 6764 612e 4275 696c 7469 6e2e 426f 6f6c gda.Builtin.Bool │ │ │ +00007b80: 2077 6865 7265 0a0a 6461 7461 2042 6f6f where..data Boo │ │ │ +00007b90: 6c20 3a20 5365 7420 7768 6572 650a 2020 l : Set where. │ │ │ +00007ba0: 6661 6c73 6520 7472 7565 203a 2042 6f6f false true : Boo │ │ │ +00007bb0: 6c0a 0a7b 2d23 2042 5549 4c54 494e 2042 l..{-# BUILTIN B │ │ │ +00007bc0: 4f4f 4c20 2042 6f6f 6c20 2023 2d7d 0a7b OOL Bool #-}.{ │ │ │ +00007bd0: 2d23 2042 5549 4c54 494e 2046 414c 5345 -# BUILTIN FALSE │ │ │ +00007be0: 2066 616c 7365 2023 2d7d 0a7b 2d23 2042 false #-}.{-# B │ │ │ +00007bf0: 5549 4c54 494e 2054 5255 4520 2074 7275 UILTIN TRUE tru │ │ │ +00007c00: 6520 2023 2d7d 0a0a 7b2d 2320 434f 4d50 e #-}..{-# COMP │ │ │ +00007c10: 494c 4520 4a53 2042 6f6f 6c20 203d 2066 ILE JS Bool = f │ │ │ +00007c20: 756e 6374 696f 6e20 2878 2c76 2920 7b20 unction (x,v) { │ │ │ +00007c30: 7265 7475 726e 2028 2878 293f 2076 5b22 return ((x)? v[" │ │ │ +00007c40: 7472 7565 225d 2829 203a 2076 5b22 6661 true"]() : v["fa │ │ │ +00007c50: 6c73 6522 5d28 2929 3b20 7d20 232d 7d0a lse"]()); } #-}. │ │ │ +00007c60: 7b2d 2320 434f 4d50 494c 4520 4a53 2066 {-# COMPILE JS f │ │ │ +00007c70: 616c 7365 203d 2066 616c 7365 2023 2d7d alse = false #-} │ │ │ +00007c80: 0a7b 2d23 2043 4f4d 5049 4c45 204a 5320 .{-# COMPILE JS │ │ │ +00007c90: 7472 7565 2020 3d20 7472 7565 2020 232d true = true #- │ │ │ +00007ca0: 7d0a da82 b9a1 a7eb 8191 1fad 99cb dbb1 }............... │ │ │ +00007cb0: eab4 f9a5 0100 8801 0000 7cde 0520 0000 ..........|.. .. │ │ │ +00007cc0: 0100 0404 0803 0702 5e02 0000 030f 0005 ........^....... │ │ │ +00007cd0: 0505 0b5f 0b89 010b 6109 0601 001f 9a82 ..._....a....... │ │ │ +00007ce0: e9b9 99ee 869c 70f7 82ec 92e9 fbbf 9a94 ......p......... │ │ │ +00007cf0: 0100 8901 0000 7d2e 0582 8080 e608 0000 ......}......... │ │ │ +00007d00: 0100 0304 0704 0200 0003 0f00 0901 1f6e ...............n │ │ │ +00007d10: 616d 653a 2061 6764 612d 6275 696c 7469 ame: agda-builti │ │ │ +00007d20: 6e73 0a69 6e63 6c75 6465 3a20 2e0a 85d1 ns.include: .... │ │ │ +00007d30: b6f4 9296 feb9 6ec4 ffaa a8cc d8f5 da44 ......n........D │ │ │ +00007d40: 008a 0100 007d 6a05 2000 0001 0004 0408 .....}j. ....... │ │ │ +00007d50: 0307 025e 0200 0003 0f00 0505 050b 5f0b ...^.........._. │ │ │ +00007d60: 8b01 0b61 0906 0100 d203 80ee 99fa ccf7 ...a............ │ │ │ +00007d70: bfcd b701 f4a9 87da e886 d0c1 c701 008b ................ │ │ │ +00007d80: 0100 007f 6f05 8280 80e6 0800 0001 0003 ....o........... │ │ │ +00007d90: 0407 0402 0000 030f 0009 01d2 0323 212f .............#!/ │ │ │ +00007da0: 7573 722f 6269 6e2f 656e 7620 7065 726c usr/bin/env perl │ │ │ +00007db0: 0a0a 7573 6520 7374 7269 6374 3b0a 7573 ..use strict;.us │ │ │ +00007dc0: 6520 7761 726e 696e 6773 3b0a 0a6d 7920 e warnings;..my │ │ │ +00007dd0: 2474 6167 5f70 7265 6669 7820 3d20 2241 $tag_prefix = "A │ │ │ +00007de0: 6764 6154 6167 223b 0a6d 7920 2475 6e64 gdaTag";.my $und │ │ │ +00007df0: 6572 7363 6f72 6520 3d20 2241 6764 6155 erscore = "AgdaU │ │ │ +00007e00: 6e64 6572 7363 6f72 6522 3b0a 6d79 2024 nderscore";.my $ │ │ │ +00007e10: 636f 6d6d 616e 6473 2020 203d 2071 7222 commands = qr" │ │ │ +00007e20: 2849 6e64 7563 7469 7665 436f 6e73 7472 (InductiveConstr │ │ │ +00007e30: 7563 746f 727c 436f 696e 6475 6374 6976 uctor|Coinductiv │ │ │ +00007e40: 6543 6f6e 7374 7275 6374 6f72 5c0a 2020 eConstructor\. │ │ │ 00007e50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00007e60: 207c 4461 7461 7479 7065 7c46 6965 6c64 |Datatype|Field │ │ │ -00007e70: 7c46 756e 6374 696f 6e7c 4d6f 6475 6c65 |Function|Module │ │ │ -00007e80: 7c50 6f73 7475 6c61 7465 7c52 6563 6f72 |Postulate|Recor │ │ │ -00007e90: 6429 223b 0a0a 7768 696c 6520 283c 3e29 d)";..while (<>) │ │ │ -00007ea0: 207b 0a0a 2020 737c 285c 5c41 6764 6124 {.. s|(\\Agda$ │ │ │ -00007eb0: 636f 6d6d 616e 6473 295c 7b28 2e2a 3f29 commands)\{(.*?) │ │ │ -00007ec0: 5c7d 0a0a 2020 207c 206d 7920 2463 6d64 \}.. | my $cmd │ │ │ -00007ed0: 203d 2024 313b 0a20 2020 2020 6d79 2024 = $1;. my $ │ │ │ -00007ee0: 6172 6720 3d20 2433 3b0a 2020 2020 206d arg = $3;. m │ │ │ -00007ef0: 7920 2474 6167 203d 2022 2474 6167 5f70 y $tag = "$tag_p │ │ │ -00007f00: 7265 6669 782d 2433 2220 3d7e 2073 2f5c refix-$3" =~ s/\ │ │ │ -00007f10: 5c5f 2f24 756e 6465 7273 636f 7265 2f67 \_/$underscore/g │ │ │ -00007f20: 723b 0a0a 2020 2020 2024 5f20 3d20 2225 r;.. $_ = "% │ │ │ -00007f30: 5c6e 253c 2a24 7461 673e 5c6e 2463 6d64 \n%<*$tag>\n$cmd │ │ │ -00007f40: 5c7b 2461 7267 5c7d 255c 6e25 3c2f 2474 \{$arg\}%\n%\n";. |gxe; │ │ │ -00007f60: 0a0a 2020 7072 696e 743b 0a0a 7d0a d3f8 .. print;..}... │ │ │ -00007f70: 82a1 f1cf 8690 e301 e9d2 b898 cde9 c5bc ................ │ │ │ -00007f80: 2700 8c01 0000 7fac 0520 0000 0100 0404 '........ ...... │ │ │ -00007f90: 0803 0702 5e02 0000 030f 0005 0505 0b5f ....^.........._ │ │ │ -00007fa0: 0b8d 010b 6109 0601 00ce ca01 85ce d1cf ....a........... │ │ │ -00007fb0: a6f0 d5ac 229f 8db8 b5dc ece1 a4c7 0100 ...."........... │ │ │ -00007fc0: 8d01 0000 e52d 0582 8080 e608 0000 0100 .....-.......... │ │ │ -00007fd0: 0304 0704 0200 0003 0f00 0901 ceca 0125 ...............% │ │ │ -00007fe0: 202d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d --------------- │ │ │ +00007e60: 2020 7c44 6174 6174 7970 657c 4669 656c |Datatype|Fiel │ │ │ +00007e70: 647c 4675 6e63 7469 6f6e 7c4d 6f64 756c d|Function|Modul │ │ │ +00007e80: 657c 506f 7374 756c 6174 657c 5265 636f e|Postulate|Reco │ │ │ +00007e90: 7264 2922 3b0a 0a77 6869 6c65 2028 3c3e rd)";..while (<> │ │ │ +00007ea0: 2920 7b0a 0a20 2073 7c28 5c5c 4167 6461 ) {.. s|(\\Agda │ │ │ +00007eb0: 2463 6f6d 6d61 6e64 7329 5c7b 282e 2a3f $commands)\{(.*? │ │ │ +00007ec0: 295c 7d0a 0a20 2020 7c20 6d79 2024 636d )\}.. | my $cm │ │ │ +00007ed0: 6420 3d20 2431 3b0a 2020 2020 206d 7920 d = $1;. my │ │ │ +00007ee0: 2461 7267 203d 2024 333b 0a20 2020 2020 $arg = $3;. │ │ │ +00007ef0: 6d79 2024 7461 6720 3d20 2224 7461 675f my $tag = "$tag_ │ │ │ +00007f00: 7072 6566 6978 2d24 3322 203d 7e20 732f prefix-$3" =~ s/ │ │ │ +00007f10: 5c5c 5f2f 2475 6e64 6572 7363 6f72 652f \\_/$underscore/ │ │ │ +00007f20: 6772 3b0a 0a20 2020 2020 245f 203d 2022 gr;.. $_ = " │ │ │ +00007f30: 255c 6e25 3c2a 2474 6167 3e5c 6e24 636d %\n%<*$tag>\n$cm │ │ │ +00007f40: 645c 7b24 6172 675c 7d25 5c6e 253c 2f24 d\{$arg\}%\n%\n";. |gxe │ │ │ +00007f60: 3b0a 0a20 2070 7269 6e74 3b0a 0a7d 0ad3 ;.. print;..}.. │ │ │ +00007f70: f882 a1f1 cf86 90e3 01e9 d2b8 98cd e9c5 ................ │ │ │ +00007f80: bc27 008c 0100 007f ad05 2000 0001 0004 .'........ ..... │ │ │ +00007f90: 0408 0307 025e 0200 0003 0f00 0505 050b .....^.......... │ │ │ +00007fa0: 5f0b 8d01 0b61 0906 0100 ceca 0185 ced1 _....a.......... │ │ │ +00007fb0: cfa6 f0d5 ac22 9f8d b8b5 dcec e1a4 c701 .....".......... │ │ │ +00007fc0: 008d 0100 00e5 2e05 8280 80e6 0800 0001 ................ │ │ │ +00007fd0: 0003 0407 0402 0000 030f 0009 01ce ca01 ................ │ │ │ +00007fe0: 2520 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d % -------------- │ │ │ 00007ff0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 00008000: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 00008010: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ -00008020: 2d2d 2d2d 2d2d 2d0a 2520 536f 6d65 2075 -------.% Some u │ │ │ -00008030: 7365 6675 6c20 636f 6d6d 616e 6473 2077 seful commands w │ │ │ -00008040: 6865 6e20 646f 696e 6720 6869 6768 6c69 hen doing highli │ │ │ -00008050: 6768 7469 6e67 206f 6620 4167 6461 2063 ghting of Agda c │ │ │ -00008060: 6f64 6520 696e 204c 6154 6558 2e0a 2520 ode in LaTeX..% │ │ │ -00008070: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ +00008020: 2d2d 2d2d 2d2d 2d2d 0a25 2053 6f6d 6520 --------.% Some │ │ │ +00008030: 7573 6566 756c 2063 6f6d 6d61 6e64 7320 useful commands │ │ │ +00008040: 7768 656e 2064 6f69 6e67 2068 6967 686c when doing highl │ │ │ +00008050: 6967 6874 696e 6720 6f66 2041 6764 6120 ighting of Agda │ │ │ +00008060: 636f 6465 2069 6e20 4c61 5465 582e 0a25 code in LaTeX..% │ │ │ +00008070: 202d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d --------------- │ │ │ 00008080: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 00008090: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 000080a0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ -000080b0: 2d2d 2d2d 2d2d 0a0a 2520 2121 2121 2121 ------..% !!!!!! │ │ │ +000080b0: 2d2d 2d2d 2d2d 2d0a 0a25 2021 2121 2121 -------..% !!!!! │ │ │ 000080c0: 2121 2121 2121 2121 2121 2121 2121 2121 !!!!!!!!!!!!!!!! │ │ │ 000080d0: 2121 2121 2121 2121 2121 2121 2121 2121 !!!!!!!!!!!!!!!! │ │ │ 000080e0: 2121 2121 2121 2121 2121 2121 2121 2121 !!!!!!!!!!!!!!!! │ │ │ -000080f0: 2121 2121 2121 2121 2121 0a25 2021 2121 !!!!!!!!!!.% !!! │ │ │ -00008100: 204e 4f54 453a 2077 6865 6e20 796f 7520 NOTE: when you │ │ │ -00008110: 6d61 6b65 2063 6861 6e67 6573 2074 6f20 make changes to │ │ │ -00008120: 7468 6973 2066 696c 652c 2062 756d 7020 this file, bump │ │ │ -00008130: 7468 6520 6461 7465 2e20 2121 210a 2520 the date. !!!.% │ │ │ -00008140: 2121 2121 2121 2121 2121 2121 2121 2121 !!!!!!!!!!!!!!!! │ │ │ +000080f0: 2121 2121 2121 2121 2121 210a 2520 2121 !!!!!!!!!!!.% !! │ │ │ +00008100: 2120 4e4f 5445 3a20 7768 656e 2079 6f75 ! NOTE: when you │ │ │ +00008110: 206d 616b 6520 6368 616e 6765 7320 746f make changes to │ │ │ +00008120: 2074 6869 7320 6669 6c65 2c20 6275 6d70 this file, bump │ │ │ +00008130: 2074 6865 2064 6174 652e 2021 2121 0a25 the date. !!!.% │ │ │ +00008140: 2021 2121 2121 2121 2121 2121 2121 2121 !!!!!!!!!!!!!!! │ │ │ 00008150: 2121 2121 2121 2121 2121 2121 2121 2121 !!!!!!!!!!!!!!!! │ │ │ 00008160: 2121 2121 2121 2121 2121 2121 2121 2121 !!!!!!!!!!!!!!!! │ │ │ 00008170: 2121 2121 2121 2121 2121 2121 2121 2121 !!!!!!!!!!!!!!!! │ │ │ -00008180: 0a5c 5072 6f76 6964 6573 5061 636b 6167 .\ProvidesPackag │ │ │ -00008190: 657b 6167 6461 7d0a 2020 5b32 3032 312f e{agda}. [2021/ │ │ │ -000081a0: 3037 2f31 3420 7665 7273 696f 6e20 322e 07/14 version 2. │ │ │ -000081b0: 382e 3020 466f 726d 6174 7469 6e67 204c 8.0 Formatting L │ │ │ -000081c0: 6154 6558 2067 656e 6572 6174 6564 2062 aTeX generated b │ │ │ -000081d0: 7920 4167 6461 5d0a 0a5c 5265 7175 6972 y Agda]..\Requir │ │ │ -000081e0: 6550 6163 6b61 6765 7b69 6678 6574 6578 ePackage{ifxetex │ │ │ -000081f0: 2c20 6966 6c75 6174 6578 2c20 7869 6674 , ifluatex, xift │ │ │ -00008200: 6865 6e2c 2078 636f 6c6f 722c 2070 6f6c hen, xcolor, pol │ │ │ -00008210: 7974 6162 6c65 2c20 6574 6f6f 6c62 6f78 ytable, etoolbox │ │ │ -00008220: 2c0a 2020 2020 2020 2020 2020 2020 2020 ,. │ │ │ -00008230: 2020 6361 6c63 2c20 656e 7669 726f 6e2c calc, environ, │ │ │ -00008240: 2078 7061 7273 652c 2078 6b65 7976 616c xparse, xkeyval │ │ │ -00008250: 7d0a 0a25 2068 7474 7073 3a2f 2f74 6578 }..% https://tex │ │ │ -00008260: 2e73 7461 636b 6578 6368 616e 6765 2e63 .stackexchange.c │ │ │ -00008270: 6f6d 2f71 7565 7374 696f 6e73 2f34 3735 om/questions/475 │ │ │ -00008280: 3736 2f63 6f6d 6269 6e69 6e67 2d69 6678 76/combining-ifx │ │ │ -00008290: 6574 6578 2d61 6e64 2d69 666c 7561 7465 etex-and-ifluate │ │ │ -000082a0: 782d 7769 7468 2d74 6865 2d6c 6f67 6963 x-with-the-logic │ │ │ -000082b0: 616c 2d6f 722d 6f70 6572 6174 696f 6e0a al-or-operation. │ │ │ -000082c0: 5c6e 6577 6966 5c69 6678 6574 6578 6f72 \newif\ifxetexor │ │ │ -000082d0: 6c75 6174 6578 0a5c 6966 7865 7465 780a luatex.\ifxetex. │ │ │ -000082e0: 2020 5c78 6574 6578 6f72 6c75 6174 6578 \xetexorluatex │ │ │ -000082f0: 7472 7565 0a5c 656c 7365 0a20 205c 6966 true.\else. \if │ │ │ -00008300: 6c75 6174 6578 0a20 2020 205c 7865 7465 luatex. \xete │ │ │ -00008310: 786f 726c 7561 7465 7874 7275 650a 2020 xorluatextrue. │ │ │ -00008320: 5c65 6c73 650a 2020 2020 5c78 6574 6578 \else. \xetex │ │ │ -00008330: 6f72 6c75 6174 6578 6661 6c73 650a 2020 orluatexfalse. │ │ │ -00008340: 5c66 690a 5c66 690a 0a25 202d 2d2d 2d2d \fi.\fi..% ----- │ │ │ +00008180: 210a 5c50 726f 7669 6465 7350 6163 6b61 !.\ProvidesPacka │ │ │ +00008190: 6765 7b61 6764 617d 0a20 205b 3230 3231 ge{agda}. [2021 │ │ │ +000081a0: 2f30 372f 3134 2076 6572 7369 6f6e 2032 /07/14 version 2 │ │ │ +000081b0: 2e38 2e30 2046 6f72 6d61 7474 696e 6720 .8.0 Formatting │ │ │ +000081c0: 4c61 5465 5820 6765 6e65 7261 7465 6420 LaTeX generated │ │ │ +000081d0: 6279 2041 6764 615d 0a0a 5c52 6571 7569 by Agda]..\Requi │ │ │ +000081e0: 7265 5061 636b 6167 657b 6966 7865 7465 rePackage{ifxete │ │ │ +000081f0: 782c 2069 666c 7561 7465 782c 2078 6966 x, ifluatex, xif │ │ │ +00008200: 7468 656e 2c20 7863 6f6c 6f72 2c20 706f then, xcolor, po │ │ │ +00008210: 6c79 7461 626c 652c 2065 746f 6f6c 626f lytable, etoolbo │ │ │ +00008220: 782c 0a20 2020 2020 2020 2020 2020 2020 x,. │ │ │ +00008230: 2020 2063 616c 632c 2065 6e76 6972 6f6e calc, environ │ │ │ +00008240: 2c20 7870 6172 7365 2c20 786b 6579 7661 , xparse, xkeyva │ │ │ +00008250: 6c7d 0a0a 2520 6874 7470 733a 2f2f 7465 l}..% https://te │ │ │ +00008260: 782e 7374 6163 6b65 7863 6861 6e67 652e x.stackexchange. │ │ │ +00008270: 636f 6d2f 7175 6573 7469 6f6e 732f 3437 com/questions/47 │ │ │ +00008280: 3537 362f 636f 6d62 696e 696e 672d 6966 576/combining-if │ │ │ +00008290: 7865 7465 782d 616e 642d 6966 6c75 6174 xetex-and-ifluat │ │ │ +000082a0: 6578 2d77 6974 682d 7468 652d 6c6f 6769 ex-with-the-logi │ │ │ +000082b0: 6361 6c2d 6f72 2d6f 7065 7261 7469 6f6e cal-or-operation │ │ │ +000082c0: 0a5c 6e65 7769 665c 6966 7865 7465 786f .\newif\ifxetexo │ │ │ +000082d0: 726c 7561 7465 780a 5c69 6678 6574 6578 rluatex.\ifxetex │ │ │ +000082e0: 0a20 205c 7865 7465 786f 726c 7561 7465 . \xetexorluate │ │ │ +000082f0: 7874 7275 650a 5c65 6c73 650a 2020 5c69 xtrue.\else. \i │ │ │ +00008300: 666c 7561 7465 780a 2020 2020 5c78 6574 fluatex. \xet │ │ │ +00008310: 6578 6f72 6c75 6174 6578 7472 7565 0a20 exorluatextrue. │ │ │ +00008320: 205c 656c 7365 0a20 2020 205c 7865 7465 \else. \xete │ │ │ +00008330: 786f 726c 7561 7465 7866 616c 7365 0a20 xorluatexfalse. │ │ │ +00008340: 205c 6669 0a5c 6669 0a0a 2520 2d2d 2d2d \fi.\fi..% ---- │ │ │ 00008350: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 00008360: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 00008370: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 00008380: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ -00008390: 2d0a 2520 4f70 7469 6f6e 730a 0a5c 4465 -.% Options..\De │ │ │ -000083a0: 636c 6172 654f 7074 696f 6e7b 6277 7d20 clareOption{bw} │ │ │ -000083b0: 2020 7b5c 6e65 7763 6f6d 6d61 6e64 7b5c {\newcommand{\ │ │ │ -000083c0: 4167 6461 436f 6c6f 7572 5363 6865 6d65 AgdaColourScheme │ │ │ -000083d0: 7d7b 6277 7d7d 0a5c 4465 636c 6172 654f }{bw}}.\DeclareO │ │ │ -000083e0: 7074 696f 6e7b 636f 6e6f 727d 7b5c 6e65 ption{conor}{\ne │ │ │ -000083f0: 7763 6f6d 6d61 6e64 7b5c 4167 6461 436f wcommand{\AgdaCo │ │ │ -00008400: 6c6f 7572 5363 6865 6d65 7d7b 636f 6e6f lourScheme}{cono │ │ │ -00008410: 727d 7d0a 0a5c 6e65 7769 665c 6966 4041 r}}..\newif\if@A │ │ │ -00008420: 6764 6145 6e61 626c 6552 6566 6572 656e gdaEnableReferen │ │ │ -00008430: 6365 735c 4041 6764 6145 6e61 626c 6552 ces\@AgdaEnableR │ │ │ -00008440: 6566 6572 656e 6365 7366 616c 7365 0a5c eferencesfalse.\ │ │ │ -00008450: 4465 636c 6172 654f 7074 696f 6e7b 7265 DeclareOption{re │ │ │ -00008460: 6665 7265 6e63 6573 7d7b 0a20 205c 4041 ferences}{. \@A │ │ │ -00008470: 6764 6145 6e61 626c 6552 6566 6572 656e gdaEnableReferen │ │ │ -00008480: 6365 7374 7275 650a 7d0a 0a5c 6e65 7769 cestrue.}..\newi │ │ │ -00008490: 665c 6966 4041 6764 6145 6e61 626c 654c f\if@AgdaEnableL │ │ │ -000084a0: 696e 6b73 5c40 4167 6461 456e 6162 6c65 inks\@AgdaEnable │ │ │ -000084b0: 4c69 6e6b 7366 616c 7365 0a5c 4465 636c Linksfalse.\Decl │ │ │ -000084c0: 6172 654f 7074 696f 6e7b 6c69 6e6b 737d areOption{links} │ │ │ -000084d0: 7b0a 2020 5c40 4167 6461 456e 6162 6c65 {. \@AgdaEnable │ │ │ -000084e0: 4c69 6e6b 7374 7275 650a 7d0a 0a5c 5072 Linkstrue.}..\Pr │ │ │ -000084f0: 6f63 6573 734f 7074 696f 6e73 5c72 656c ocessOptions\rel │ │ │ -00008500: 6178 0a0a 2520 2d2d 2d2d 2d2d 2d2d 2d2d ax..% ---------- │ │ │ +00008390: 2d2d 0a25 204f 7074 696f 6e73 0a0a 5c44 --.% Options..\D │ │ │ +000083a0: 6563 6c61 7265 4f70 7469 6f6e 7b62 777d eclareOption{bw} │ │ │ +000083b0: 2020 207b 5c6e 6577 636f 6d6d 616e 647b {\newcommand{ │ │ │ +000083c0: 5c41 6764 6143 6f6c 6f75 7253 6368 656d \AgdaColourSchem │ │ │ +000083d0: 657d 7b62 777d 7d0a 5c44 6563 6c61 7265 e}{bw}}.\Declare │ │ │ +000083e0: 4f70 7469 6f6e 7b63 6f6e 6f72 7d7b 5c6e Option{conor}{\n │ │ │ +000083f0: 6577 636f 6d6d 616e 647b 5c41 6764 6143 ewcommand{\AgdaC │ │ │ +00008400: 6f6c 6f75 7253 6368 656d 657d 7b63 6f6e olourScheme}{con │ │ │ +00008410: 6f72 7d7d 0a0a 5c6e 6577 6966 5c69 6640 or}}..\newif\if@ │ │ │ +00008420: 4167 6461 456e 6162 6c65 5265 6665 7265 AgdaEnableRefere │ │ │ +00008430: 6e63 6573 5c40 4167 6461 456e 6162 6c65 nces\@AgdaEnable │ │ │ +00008440: 5265 6665 7265 6e63 6573 6661 6c73 650a Referencesfalse. │ │ │ +00008450: 5c44 6563 6c61 7265 4f70 7469 6f6e 7b72 \DeclareOption{r │ │ │ +00008460: 6566 6572 656e 6365 737d 7b0a 2020 5c40 eferences}{. \@ │ │ │ +00008470: 4167 6461 456e 6162 6c65 5265 6665 7265 AgdaEnableRefere │ │ │ +00008480: 6e63 6573 7472 7565 0a7d 0a0a 5c6e 6577 ncestrue.}..\new │ │ │ +00008490: 6966 5c69 6640 4167 6461 456e 6162 6c65 if\if@AgdaEnable │ │ │ +000084a0: 4c69 6e6b 735c 4041 6764 6145 6e61 626c Links\@AgdaEnabl │ │ │ +000084b0: 654c 696e 6b73 6661 6c73 650a 5c44 6563 eLinksfalse.\Dec │ │ │ +000084c0: 6c61 7265 4f70 7469 6f6e 7b6c 696e 6b73 lareOption{links │ │ │ +000084d0: 7d7b 0a20 205c 4041 6764 6145 6e61 626c }{. \@AgdaEnabl │ │ │ +000084e0: 654c 696e 6b73 7472 7565 0a7d 0a0a 5c50 eLinkstrue.}..\P │ │ │ +000084f0: 726f 6365 7373 4f70 7469 6f6e 735c 7265 rocessOptions\re │ │ │ +00008500: 6c61 780a 0a25 202d 2d2d 2d2d 2d2d 2d2d lax..% --------- │ │ │ 00008510: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 00008520: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 00008530: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ -00008540: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a25 2046 ------------.% F │ │ │ -00008550: 6f6e 7420 7365 7475 700a 0a5c 7472 6163 ont setup..\trac │ │ │ -00008560: 696e 676c 6f73 7463 6861 7273 3d32 2025 inglostchars=2 % │ │ │ -00008570: 2049 6620 7468 6520 666f 6e74 2069 7320 If the font is │ │ │ -00008580: 6d69 7373 696e 6720 736f 6d65 2073 796d missing some sym │ │ │ -00008590: 626f 6c2c 2074 6865 6e20 7361 790a 2020 bol, then say. │ │ │ +00008540: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 2520 -------------.% │ │ │ +00008550: 466f 6e74 2073 6574 7570 0a0a 5c74 7261 Font setup..\tra │ │ │ +00008560: 6369 6e67 6c6f 7374 6368 6172 733d 3220 cinglostchars=2 │ │ │ +00008570: 2520 4966 2074 6865 2066 6f6e 7420 6973 % If the font is │ │ │ +00008580: 206d 6973 7369 6e67 2073 6f6d 6520 7379 missing some sy │ │ │ +00008590: 6d62 6f6c 2c20 7468 656e 2073 6179 0a20 mbol, then say. │ │ │ 000085a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -000085b0: 2020 2520 736f 2069 6e20 7468 6520 636f % so in the co │ │ │ -000085c0: 6d70 696c 6174 696f 6e20 6f75 7470 7574 mpilation output │ │ │ -000085d0: 2e0a 0a25 202d 2d2d 2d2d 2d2d 2d2d 2d2d ...% ----------- │ │ │ +000085b0: 2020 2025 2073 6f20 696e 2074 6865 2063 % so in the c │ │ │ +000085c0: 6f6d 7069 6c61 7469 6f6e 206f 7574 7075 ompilation outpu │ │ │ +000085d0: 742e 0a0a 2520 2d2d 2d2d 2d2d 2d2d 2d2d t...% ---------- │ │ │ 000085e0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 000085f0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 00008600: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ -00008610: 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 2520 436f -----------.% Co │ │ │ -00008620: 6c6f 7572 2073 6368 656d 6573 2e0a 0a5c lour schemes...\ │ │ │ -00008630: 7072 6f76 6964 6563 6f6d 6d61 6e64 7b5c providecommand{\ │ │ │ -00008640: 4167 6461 436f 6c6f 7572 5363 6865 6d65 AgdaColourScheme │ │ │ -00008650: 7d7b 7374 616e 6461 7264 7d0a 0a25 202d }{standard}..% - │ │ │ +00008610: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a25 2043 ------------.% C │ │ │ +00008620: 6f6c 6f75 7220 7363 6865 6d65 732e 0a0a olour schemes... │ │ │ +00008630: 5c70 726f 7669 6465 636f 6d6d 616e 647b \providecommand{ │ │ │ +00008640: 5c41 6764 6143 6f6c 6f75 7253 6368 656d \AgdaColourSchem │ │ │ +00008650: 657d 7b73 7461 6e64 6172 647d 0a0a 2520 e}{standard}..% │ │ │ 00008660: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 00008670: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 00008680: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 00008690: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ -000086a0: 2d2d 2d2d 2d0a 2520 5265 6665 7265 6e63 -----.% Referenc │ │ │ -000086b0: 6573 2074 6f20 636f 6465 2028 6e65 6564 es to code (need │ │ │ -000086c0: 7320 6164 6469 7469 6f6e 616c 2070 6f73 s additional pos │ │ │ -000086d0: 742d 7072 6f63 6573 7369 6e67 206f 6620 t-processing of │ │ │ -000086e0: 7465 7820 6669 6c65 7320 746f 0a25 2077 tex files to.% w │ │ │ -000086f0: 6f72 6b2c 2073 6565 2077 696b 6920 666f ork, see wiki fo │ │ │ -00008700: 7220 6465 7461 696c 7329 2e0a 0a5c 6966 r details)...\if │ │ │ -00008710: 4041 6764 6145 6e61 626c 6552 6566 6572 @AgdaEnableRefer │ │ │ -00008720: 656e 6365 730a 2020 5c52 6571 7569 7265 ences. \Require │ │ │ -00008730: 5061 636b 6167 657b 6361 7463 6866 696c Package{catchfil │ │ │ -00008740: 6562 6574 7765 656e 7461 6773 2c20 7873 ebetweentags, xs │ │ │ -00008750: 7472 696e 677d 0a20 205c 6e65 7763 6f6d tring}. \newcom │ │ │ -00008760: 6d61 6e64 7b5c 4167 6461 5265 667d 5b32 mand{\AgdaRef}[2 │ │ │ -00008770: 5d5b 5d7b 250a 2020 2020 5c53 7472 5375 ][]{%. \StrSu │ │ │ -00008780: 6273 7469 7475 7465 7b23 327d 7b5c 5f7d bstitute{#2}{\_} │ │ │ -00008790: 7b41 6764 6155 6e64 6572 7363 6f72 657d {AgdaUnderscore} │ │ │ -000087a0: 5b5c 746d 705d 250a 2020 2020 5c69 6674 [\tmp]%. \ift │ │ │ -000087b0: 6865 6e65 6c73 657b 5c69 7365 6d70 7479 henelse{\isempty │ │ │ -000087c0: 7b23 317d 7d25 0a20 2020 2020 2020 2020 {#1}}%. │ │ │ -000087d0: 2020 2020 2020 7b5c 4578 6563 7574 654d {\ExecuteM │ │ │ -000087e0: 6574 6144 6174 617b 4167 6461 5461 672d etaData{AgdaTag- │ │ │ -000087f0: 5c74 6d70 7d7d 250a 2020 2020 2020 2020 \tmp}}%. │ │ │ -00008800: 2020 2020 2020 207b 5c45 7865 6375 7465 {\Execute │ │ │ -00008810: 4d65 7461 4461 7461 7b23 317d 7b41 6764 MetaData{#1}{Agd │ │ │ -00008820: 6154 6167 2d5c 746d 707d 7d0a 2020 7d0a aTag-\tmp}}. }. │ │ │ -00008830: 5c66 690a 0a5c 7072 6f76 6964 6563 6f6d \fi..\providecom │ │ │ -00008840: 6d61 6e64 7b5c 4167 6461 5265 667d 5b32 mand{\AgdaRef}[2 │ │ │ -00008850: 5d5b 5d7b 2332 7d0a 0a25 202d 2d2d 2d2d ][]{#2}..% ----- │ │ │ +000086a0: 2d2d 2d2d 2d2d 0a25 2052 6566 6572 656e ------.% Referen │ │ │ +000086b0: 6365 7320 746f 2063 6f64 6520 286e 6565 ces to code (nee │ │ │ +000086c0: 6473 2061 6464 6974 696f 6e61 6c20 706f ds additional po │ │ │ +000086d0: 7374 2d70 726f 6365 7373 696e 6720 6f66 st-processing of │ │ │ +000086e0: 2074 6578 2066 696c 6573 2074 6f0a 2520 tex files to.% │ │ │ +000086f0: 776f 726b 2c20 7365 6520 7769 6b69 2066 work, see wiki f │ │ │ +00008700: 6f72 2064 6574 6169 6c73 292e 0a0a 5c69 or details)...\i │ │ │ +00008710: 6640 4167 6461 456e 6162 6c65 5265 6665 f@AgdaEnableRefe │ │ │ +00008720: 7265 6e63 6573 0a20 205c 5265 7175 6972 rences. \Requir │ │ │ +00008730: 6550 6163 6b61 6765 7b63 6174 6368 6669 ePackage{catchfi │ │ │ +00008740: 6c65 6265 7477 6565 6e74 6167 732c 2078 lebetweentags, x │ │ │ +00008750: 7374 7269 6e67 7d0a 2020 5c6e 6577 636f string}. \newco │ │ │ +00008760: 6d6d 616e 647b 5c41 6764 6152 6566 7d5b mmand{\AgdaRef}[ │ │ │ +00008770: 325d 5b5d 7b25 0a20 2020 205c 5374 7253 2][]{%. \StrS │ │ │ +00008780: 7562 7374 6974 7574 657b 2332 7d7b 5c5f ubstitute{#2}{\_ │ │ │ +00008790: 7d7b 4167 6461 556e 6465 7273 636f 7265 }{AgdaUnderscore │ │ │ +000087a0: 7d5b 5c74 6d70 5d25 0a20 2020 205c 6966 }[\tmp]%. \if │ │ │ +000087b0: 7468 656e 656c 7365 7b5c 6973 656d 7074 thenelse{\isempt │ │ │ +000087c0: 797b 2331 7d7d 250a 2020 2020 2020 2020 y{#1}}%. │ │ │ +000087d0: 2020 2020 2020 207b 5c45 7865 6375 7465 {\Execute │ │ │ +000087e0: 4d65 7461 4461 7461 7b41 6764 6154 6167 MetaData{AgdaTag │ │ │ +000087f0: 2d5c 746d 707d 7d25 0a20 2020 2020 2020 -\tmp}}%. │ │ │ +00008800: 2020 2020 2020 2020 7b5c 4578 6563 7574 {\Execut │ │ │ +00008810: 654d 6574 6144 6174 617b 2331 7d7b 4167 eMetaData{#1}{Ag │ │ │ +00008820: 6461 5461 672d 5c74 6d70 7d7d 0a20 207d daTag-\tmp}}. } │ │ │ +00008830: 0a5c 6669 0a0a 5c70 726f 7669 6465 636f .\fi..\provideco │ │ │ +00008840: 6d6d 616e 647b 5c41 6764 6152 6566 7d5b mmand{\AgdaRef}[ │ │ │ +00008850: 325d 5b5d 7b23 327d 0a0a 2520 2d2d 2d2d 2][]{#2}..% ---- │ │ │ 00008860: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 00008870: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 00008880: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 00008890: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ -000088a0: 2d0a 2520 4c69 6e6b 7320 286f 6e6c 7920 -.% Links (only │ │ │ -000088b0: 646f 6e65 2069 6620 7468 6520 6f70 7469 done if the opti │ │ │ -000088c0: 6f6e 2069 7320 7061 7373 6564 2061 6e64 on is passed and │ │ │ -000088d0: 2074 6865 2075 7365 7220 6861 7320 6c6f the user has lo │ │ │ -000088e0: 6164 6564 2074 6865 0a25 2068 7970 6572 aded the.% hyper │ │ │ -000088f0: 7265 6620 7061 636b 6167 6529 2e0a 0a5c ref package)...\ │ │ │ -00008900: 6966 4041 6764 6145 6e61 626c 654c 696e if@AgdaEnableLin │ │ │ -00008910: 6b73 0a20 205c 4069 6670 6163 6b61 6765 ks. \@ifpackage │ │ │ -00008920: 6c6f 6164 6564 7b68 7970 6572 7265 667d loaded{hyperref} │ │ │ -00008930: 7b0a 0a20 2020 2025 204c 6973 7420 7468 {.. % List th │ │ │ -00008940: 6174 2068 6f6c 6473 2061 6464 6564 2074 at holds added t │ │ │ -00008950: 6172 6765 7473 2e0a 2020 2020 5c6e 6577 argets.. \new │ │ │ -00008960: 636f 6d6d 616e 647b 5c41 6764 614c 6973 command{\AgdaLis │ │ │ -00008970: 747d 5b30 5d7b 7d0a 0a20 2020 205c 6e65 t}[0]{}.. \ne │ │ │ -00008980: 7774 6f67 676c 657b 4167 6461 4973 456c wtoggle{AgdaIsEl │ │ │ -00008990: 656d 7d0a 2020 2020 5c6e 6577 636f 756e em}. \newcoun │ │ │ -000089a0: 7465 727b 4167 6461 496e 6465 787d 0a20 ter{AgdaIndex}. │ │ │ -000089b0: 2020 205c 6e65 7763 6f6d 6d61 6e64 7b5c \newcommand{\ │ │ │ -000089c0: 4167 6461 4c6f 6f6b 7570 7d5b 335d 7b25 AgdaLookup}[3]{% │ │ │ -000089d0: 0a20 2020 2020 205c 746f 6767 6c65 6661 . \togglefa │ │ │ -000089e0: 6c73 657b 4167 6461 4973 456c 656d 7d25 lse{AgdaIsElem}% │ │ │ -000089f0: 0a20 2020 2020 205c 7365 7463 6f75 6e74 . \setcount │ │ │ -00008a00: 6572 7b41 6764 6149 6e64 6578 7d7b 307d er{AgdaIndex}{0} │ │ │ -00008a10: 250a 2020 2020 2020 5c72 656e 6577 636f %. \renewco │ │ │ -00008a20: 6d6d 616e 642a 7b5c 646f 7d5b 315d 7b25 mmand*{\do}[1]{% │ │ │ -00008a30: 0a20 2020 2020 205c 6966 7374 7265 7175 . \ifstrequ │ │ │ -00008a40: 616c 7b23 317d 7b23 2331 7d25 0a20 2020 al{#1}{##1}%. │ │ │ -00008a50: 2020 2020 207b 5c74 6f67 676c 6574 7275 {\toggletru │ │ │ -00008a60: 657b 4167 6461 4973 456c 656d 7d5c 6c69 e{AgdaIsElem}\li │ │ │ -00008a70: 7374 6272 6561 6b7d 250a 2020 2020 2020 stbreak}%. │ │ │ -00008a80: 2020 7b5c 7374 6570 636f 756e 7465 727b {\stepcounter{ │ │ │ -00008a90: 4167 6461 496e 6465 787d 7d7d 250a 2020 AgdaIndex}}}%. │ │ │ -00008aa0: 2020 2020 5c64 6f6c 6973 746c 6f6f 707b \dolistloop{ │ │ │ -00008ab0: 5c41 6764 614c 6973 747d 250a 2020 2020 \AgdaList}%. │ │ │ -00008ac0: 2020 5c69 6674 6f67 676c 657b 4167 6461 \iftoggle{Agda │ │ │ -00008ad0: 4973 456c 656d 7d7b 2332 7d7b 2333 7d25 IsElem}{#2}{#3}% │ │ │ -00008ae0: 0a20 2020 207d 0a0a 2020 2020 5c6e 6577 . }.. \new │ │ │ -00008af0: 636f 6d6d 616e 642a 7b5c 4167 6461 5461 command*{\AgdaTa │ │ │ -00008b00: 7267 6574 4865 6c70 6572 7d5b 315d 7b25 rgetHelper}[1]{% │ │ │ -00008b10: 0a20 2020 2020 205c 4167 6461 4c6f 6f6b . \AgdaLook │ │ │ -00008b20: 7570 7b23 317d 250a 2020 2020 2020 2020 up{#1}%. │ │ │ -00008b30: 7b5c 5061 636b 6167 6545 7272 6f72 7b61 {\PackageError{a │ │ │ -00008b40: 6764 617d 7b60 6023 3127 2720 7573 6564 gda}{``#1'' used │ │ │ -00008b50: 2061 7320 7461 7267 6574 206d 6f72 6520 as target more │ │ │ -00008b60: 7468 616e 206f 6e63 657d 250a 2020 2020 than once}%. │ │ │ +000088a0: 2d2d 0a25 204c 696e 6b73 2028 6f6e 6c79 --.% Links (only │ │ │ +000088b0: 2064 6f6e 6520 6966 2074 6865 206f 7074 done if the opt │ │ │ +000088c0: 696f 6e20 6973 2070 6173 7365 6420 616e ion is passed an │ │ │ +000088d0: 6420 7468 6520 7573 6572 2068 6173 206c d the user has l │ │ │ +000088e0: 6f61 6465 6420 7468 650a 2520 6879 7065 oaded the.% hype │ │ │ +000088f0: 7272 6566 2070 6163 6b61 6765 292e 0a0a rref package)... │ │ │ +00008900: 5c69 6640 4167 6461 456e 6162 6c65 4c69 \if@AgdaEnableLi │ │ │ +00008910: 6e6b 730a 2020 5c40 6966 7061 636b 6167 nks. \@ifpackag │ │ │ +00008920: 656c 6f61 6465 647b 6879 7065 7272 6566 eloaded{hyperref │ │ │ +00008930: 7d7b 0a0a 2020 2020 2520 4c69 7374 2074 }{.. % List t │ │ │ +00008940: 6861 7420 686f 6c64 7320 6164 6465 6420 hat holds added │ │ │ +00008950: 7461 7267 6574 732e 0a20 2020 205c 6e65 targets.. \ne │ │ │ +00008960: 7763 6f6d 6d61 6e64 7b5c 4167 6461 4c69 wcommand{\AgdaLi │ │ │ +00008970: 7374 7d5b 305d 7b7d 0a0a 2020 2020 5c6e st}[0]{}.. \n │ │ │ +00008980: 6577 746f 6767 6c65 7b41 6764 6149 7345 ewtoggle{AgdaIsE │ │ │ +00008990: 6c65 6d7d 0a20 2020 205c 6e65 7763 6f75 lem}. \newcou │ │ │ +000089a0: 6e74 6572 7b41 6764 6149 6e64 6578 7d0a nter{AgdaIndex}. │ │ │ +000089b0: 2020 2020 5c6e 6577 636f 6d6d 616e 647b \newcommand{ │ │ │ +000089c0: 5c41 6764 614c 6f6f 6b75 707d 5b33 5d7b \AgdaLookup}[3]{ │ │ │ +000089d0: 250a 2020 2020 2020 5c74 6f67 676c 6566 %. \togglef │ │ │ +000089e0: 616c 7365 7b41 6764 6149 7345 6c65 6d7d alse{AgdaIsElem} │ │ │ +000089f0: 250a 2020 2020 2020 5c73 6574 636f 756e %. \setcoun │ │ │ +00008a00: 7465 727b 4167 6461 496e 6465 787d 7b30 ter{AgdaIndex}{0 │ │ │ +00008a10: 7d25 0a20 2020 2020 205c 7265 6e65 7763 }%. \renewc │ │ │ +00008a20: 6f6d 6d61 6e64 2a7b 5c64 6f7d 5b31 5d7b ommand*{\do}[1]{ │ │ │ +00008a30: 250a 2020 2020 2020 5c69 6673 7472 6571 %. \ifstreq │ │ │ +00008a40: 7561 6c7b 2331 7d7b 2323 317d 250a 2020 ual{#1}{##1}%. │ │ │ +00008a50: 2020 2020 2020 7b5c 746f 6767 6c65 7472 {\toggletr │ │ │ +00008a60: 7565 7b41 6764 6149 7345 6c65 6d7d 5c6c ue{AgdaIsElem}\l │ │ │ +00008a70: 6973 7462 7265 616b 7d25 0a20 2020 2020 istbreak}%. │ │ │ +00008a80: 2020 207b 5c73 7465 7063 6f75 6e74 6572 {\stepcounter │ │ │ +00008a90: 7b41 6764 6149 6e64 6578 7d7d 7d25 0a20 {AgdaIndex}}}%. │ │ │ +00008aa0: 2020 2020 205c 646f 6c69 7374 6c6f 6f70 \dolistloop │ │ │ +00008ab0: 7b5c 4167 6461 4c69 7374 7d25 0a20 2020 {\AgdaList}%. │ │ │ +00008ac0: 2020 205c 6966 746f 6767 6c65 7b41 6764 \iftoggle{Agd │ │ │ +00008ad0: 6149 7345 6c65 6d7d 7b23 327d 7b23 337d aIsElem}{#2}{#3} │ │ │ +00008ae0: 250a 2020 2020 7d0a 0a20 2020 205c 6e65 %. }.. \ne │ │ │ +00008af0: 7763 6f6d 6d61 6e64 2a7b 5c41 6764 6154 wcommand*{\AgdaT │ │ │ +00008b00: 6172 6765 7448 656c 7065 727d 5b31 5d7b argetHelper}[1]{ │ │ │ +00008b10: 250a 2020 2020 2020 5c41 6764 614c 6f6f %. \AgdaLoo │ │ │ +00008b20: 6b75 707b 2331 7d25 0a20 2020 2020 2020 kup{#1}%. │ │ │ +00008b30: 207b 5c50 6163 6b61 6765 4572 726f 727b {\PackageError{ │ │ │ +00008b40: 6167 6461 7d7b 6060 2331 2727 2075 7365 agda}{``#1'' use │ │ │ +00008b50: 6420 6173 2074 6172 6765 7420 6d6f 7265 d as target more │ │ │ +00008b60: 2074 6861 6e20 6f6e 6365 7d25 0a20 2020 than once}%. │ │ │ 00008b70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00008b80: 2020 2020 2020 2020 7b4f 7665 726c 6f61 {Overloa │ │ │ -00008b90: 6465 6420 6964 656e 7469 6669 6572 7320 ded identifiers │ │ │ -00008ba0: 616e 6420 6c69 6e6b 7320 646f 206e 6f74 and links do not │ │ │ -00008bb0: 250a 2020 2020 2020 2020 2020 2020 2020 %. │ │ │ -00008bc0: 2020 2020 2020 2020 2020 2020 2020 2077 w │ │ │ -00008bd0: 6f72 6b20 7765 6c6c 2c20 636f 6e73 6964 ork well, consid │ │ │ -00008be0: 6572 2075 7369 6e67 2075 6e69 7175 6525 er using unique% │ │ │ -00008bf0: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ -00008c00: 2020 2020 2020 2020 2020 2020 2020 5c4d \M │ │ │ -00008c10: 6573 7361 6765 4272 6561 6b20 6964 656e essageBreak iden │ │ │ -00008c20: 7469 6669 6572 7320 696e 7374 6561 642e tifiers instead. │ │ │ -00008c30: 7d25 0a20 2020 2020 2020 207d 250a 2020 }%. }%. │ │ │ -00008c40: 2020 2020 2020 7b5c 6c69 7374 6164 647b {\listadd{ │ │ │ -00008c50: 5c41 6764 614c 6973 747d 7b23 317d 250a \AgdaList}{#1}%. │ │ │ -00008c60: 2020 2020 2020 2020 205c 6879 7065 7274 \hypert │ │ │ -00008c70: 6172 6765 747b 4167 6461 5c74 6865 4167 arget{Agda\theAg │ │ │ -00008c80: 6461 496e 6465 787d 7b7d 250a 2020 2020 daIndex}{}%. │ │ │ -00008c90: 2020 2020 7d25 0a20 2020 207d 0a0a 2020 }%. }.. │ │ │ -00008ca0: 2020 5c6e 6577 636f 6d6d 616e 647b 5c41 \newcommand{\A │ │ │ -00008cb0: 6764 6154 6172 6765 747d 5b31 5d7b 5c66 gdaTarget}[1]{\f │ │ │ -00008cc0: 6f72 6373 766c 6973 747b 5c41 6764 6154 orcsvlist{\AgdaT │ │ │ -00008cd0: 6172 6765 7448 656c 7065 727d 7b23 317d argetHelper}{#1} │ │ │ -00008ce0: 7d0a 0a20 2020 205c 6e65 7763 6f6d 6d61 }.. \newcomma │ │ │ -00008cf0: 6e64 7b5c 4167 6461 4c69 6e6b 7d5b 315d nd{\AgdaLink}[1] │ │ │ -00008d00: 7b25 0a20 2020 2020 205c 4167 6461 4c6f {%. \AgdaLo │ │ │ -00008d10: 6f6b 7570 7b23 317d 250a 2020 2020 2020 okup{#1}%. │ │ │ -00008d20: 2020 7b5c 6879 7065 726c 696e 6b7b 4167 {\hyperlink{Ag │ │ │ -00008d30: 6461 5c74 6865 4167 6461 496e 6465 787d da\theAgdaIndex} │ │ │ -00008d40: 7b23 317d 7d25 0a20 2020 2020 2020 207b {#1}}%. { │ │ │ -00008d50: 2331 7d25 0a20 2020 207d 0a20 207d 7b5c #1}%. }. }{\ │ │ │ -00008d60: 5061 636b 6167 6545 7272 6f72 7b61 6764 PackageError{agd │ │ │ -00008d70: 617d 7b4c 6f61 6420 7468 6520 6879 7065 a}{Load the hype │ │ │ -00008d80: 7272 6566 2070 6163 6b61 6765 2062 6566 rref package bef │ │ │ -00008d90: 6f72 6520 7468 6520 6167 6461 2070 6163 ore the agda pac │ │ │ -00008da0: 6b61 6765 7d7b 7d7d 0a5c 6669 0a0a 5c70 kage}{}}.\fi..\p │ │ │ -00008db0: 726f 7669 6465 636f 6d6d 616e 647b 5c41 rovidecommand{\A │ │ │ -00008dc0: 6764 6154 6172 6765 747d 5b31 5d7b 7d0a gdaTarget}[1]{}. │ │ │ -00008dd0: 5c70 726f 7669 6465 636f 6d6d 616e 647b \providecommand{ │ │ │ -00008de0: 5c41 6764 614c 696e 6b7d 5b31 5d7b 2331 \AgdaLink}[1]{#1 │ │ │ -00008df0: 7d0a 0a25 202d 2d2d 2d2d 2d2d 2d2d 2d2d }..% ----------- │ │ │ +00008b80: 2020 2020 2020 2020 207b 4f76 6572 6c6f {Overlo │ │ │ +00008b90: 6164 6564 2069 6465 6e74 6966 6965 7273 aded identifiers │ │ │ +00008ba0: 2061 6e64 206c 696e 6b73 2064 6f20 6e6f and links do no │ │ │ +00008bb0: 7425 0a20 2020 2020 2020 2020 2020 2020 t%. │ │ │ +00008bc0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +00008bd0: 776f 726b 2077 656c 6c2c 2063 6f6e 7369 work well, consi │ │ │ +00008be0: 6465 7220 7573 696e 6720 756e 6971 7565 der using unique │ │ │ +00008bf0: 250a 2020 2020 2020 2020 2020 2020 2020 %. │ │ │ +00008c00: 2020 2020 2020 2020 2020 2020 2020 205c \ │ │ │ +00008c10: 4d65 7373 6167 6542 7265 616b 2069 6465 MessageBreak ide │ │ │ +00008c20: 6e74 6966 6965 7273 2069 6e73 7465 6164 ntifiers instead │ │ │ +00008c30: 2e7d 250a 2020 2020 2020 2020 7d25 0a20 .}%. }%. │ │ │ +00008c40: 2020 2020 2020 207b 5c6c 6973 7461 6464 {\listadd │ │ │ +00008c50: 7b5c 4167 6461 4c69 7374 7d7b 2331 7d25 {\AgdaList}{#1}% │ │ │ +00008c60: 0a20 2020 2020 2020 2020 5c68 7970 6572 . \hyper │ │ │ +00008c70: 7461 7267 6574 7b41 6764 615c 7468 6541 target{Agda\theA │ │ │ +00008c80: 6764 6149 6e64 6578 7d7b 7d25 0a20 2020 gdaIndex}{}%. │ │ │ +00008c90: 2020 2020 207d 250a 2020 2020 7d0a 0a20 }%. }.. │ │ │ +00008ca0: 2020 205c 6e65 7763 6f6d 6d61 6e64 7b5c \newcommand{\ │ │ │ +00008cb0: 4167 6461 5461 7267 6574 7d5b 315d 7b5c AgdaTarget}[1]{\ │ │ │ +00008cc0: 666f 7263 7376 6c69 7374 7b5c 4167 6461 forcsvlist{\Agda │ │ │ +00008cd0: 5461 7267 6574 4865 6c70 6572 7d7b 2331 TargetHelper}{#1 │ │ │ +00008ce0: 7d7d 0a0a 2020 2020 5c6e 6577 636f 6d6d }}.. \newcomm │ │ │ +00008cf0: 616e 647b 5c41 6764 614c 696e 6b7d 5b31 and{\AgdaLink}[1 │ │ │ +00008d00: 5d7b 250a 2020 2020 2020 5c41 6764 614c ]{%. \AgdaL │ │ │ +00008d10: 6f6f 6b75 707b 2331 7d25 0a20 2020 2020 ookup{#1}%. │ │ │ +00008d20: 2020 207b 5c68 7970 6572 6c69 6e6b 7b41 {\hyperlink{A │ │ │ +00008d30: 6764 615c 7468 6541 6764 6149 6e64 6578 gda\theAgdaIndex │ │ │ +00008d40: 7d7b 2331 7d7d 250a 2020 2020 2020 2020 }{#1}}%. │ │ │ +00008d50: 7b23 317d 250a 2020 2020 7d0a 2020 7d7b {#1}%. }. }{ │ │ │ +00008d60: 5c50 6163 6b61 6765 4572 726f 727b 6167 \PackageError{ag │ │ │ +00008d70: 6461 7d7b 4c6f 6164 2074 6865 2068 7970 da}{Load the hyp │ │ │ +00008d80: 6572 7265 6620 7061 636b 6167 6520 6265 erref package be │ │ │ +00008d90: 666f 7265 2074 6865 2061 6764 6120 7061 fore the agda pa │ │ │ +00008da0: 636b 6167 657d 7b7d 7d0a 5c66 690a 0a5c ckage}{}}.\fi..\ │ │ │ +00008db0: 7072 6f76 6964 6563 6f6d 6d61 6e64 7b5c providecommand{\ │ │ │ +00008dc0: 4167 6461 5461 7267 6574 7d5b 315d 7b7d AgdaTarget}[1]{} │ │ │ +00008dd0: 0a5c 7072 6f76 6964 6563 6f6d 6d61 6e64 .\providecommand │ │ │ +00008de0: 7b5c 4167 6461 4c69 6e6b 7d5b 315d 7b23 {\AgdaLink}[1]{# │ │ │ +00008df0: 317d 0a0a 2520 2d2d 2d2d 2d2d 2d2d 2d2d 1}..% ---------- │ │ │ 00008e00: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 00008e10: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 00008e20: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ -00008e30: 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 2520 466f -----------.% Fo │ │ │ -00008e40: 6e74 2073 7479 6c65 732e 0a0a 5c6e 6577 nt styles...\new │ │ │ -00008e50: 636f 6d6d 616e 647b 5c41 6764 6146 6f6e command{\AgdaFon │ │ │ -00008e60: 7453 7479 6c65 7d5b 315d 7b5c 7465 7874 tStyle}[1]{\text │ │ │ -00008e70: 7366 7b23 317d 7d0a 5c69 6674 6865 6e65 sf{#1}}.\ifthene │ │ │ -00008e80: 6c73 657b 5c65 7175 616c 7b5c 4167 6461 lse{\equal{\Agda │ │ │ -00008e90: 436f 6c6f 7572 5363 6865 6d65 7d7b 6277 ColourScheme}{bw │ │ │ -00008ea0: 7d7d 7b0a 2020 2020 5c6e 6577 636f 6d6d }}{. \newcomm │ │ │ -00008eb0: 616e 647b 5c41 6764 614b 6579 776f 7264 and{\AgdaKeyword │ │ │ -00008ec0: 466f 6e74 5374 796c 657d 5b31 5d7b 5c75 FontStyle}[1]{\u │ │ │ -00008ed0: 6e64 6572 6c69 6e65 7b23 317d 7d0a 7d7b nderline{#1}}.}{ │ │ │ -00008ee0: 0a20 2020 205c 6e65 7763 6f6d 6d61 6e64 . \newcommand │ │ │ -00008ef0: 7b5c 4167 6461 4b65 7977 6f72 6446 6f6e {\AgdaKeywordFon │ │ │ -00008f00: 7453 7479 6c65 7d5b 315d 7b5c 7465 7874 tStyle}[1]{\text │ │ │ -00008f10: 7366 7b23 317d 7d0a 7d0a 5c6e 6577 636f sf{#1}}.}.\newco │ │ │ -00008f20: 6d6d 616e 647b 5c41 6764 6153 7472 696e mmand{\AgdaStrin │ │ │ -00008f30: 6746 6f6e 7453 7479 6c65 7d5b 315d 7b5c gFontStyle}[1]{\ │ │ │ -00008f40: 7465 7874 7474 7b23 317d 7d0a 5c6e 6577 texttt{#1}}.\new │ │ │ -00008f50: 636f 6d6d 616e 647b 5c41 6764 6143 6f6d command{\AgdaCom │ │ │ -00008f60: 6d65 6e74 466f 6e74 5374 796c 657d 5b31 mentFontStyle}[1 │ │ │ -00008f70: 5d7b 5c74 6578 7474 747b 2331 7d7d 0a5c ]{\texttt{#1}}.\ │ │ │ -00008f80: 6e65 7763 6f6d 6d61 6e64 7b5c 4167 6461 newcommand{\Agda │ │ │ -00008f90: 426f 756e 6446 6f6e 7453 7479 6c65 7d5b BoundFontStyle}[ │ │ │ -00008fa0: 315d 7b5c 7465 7874 6974 7b23 317d 7d0a 1]{\textit{#1}}. │ │ │ -00008fb0: 0a25 202d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d .% ------------- │ │ │ +00008e30: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a25 2046 ------------.% F │ │ │ +00008e40: 6f6e 7420 7374 796c 6573 2e0a 0a5c 6e65 ont styles...\ne │ │ │ +00008e50: 7763 6f6d 6d61 6e64 7b5c 4167 6461 466f wcommand{\AgdaFo │ │ │ +00008e60: 6e74 5374 796c 657d 5b31 5d7b 5c74 6578 ntStyle}[1]{\tex │ │ │ +00008e70: 7473 667b 2331 7d7d 0a5c 6966 7468 656e tsf{#1}}.\ifthen │ │ │ +00008e80: 656c 7365 7b5c 6571 7561 6c7b 5c41 6764 else{\equal{\Agd │ │ │ +00008e90: 6143 6f6c 6f75 7253 6368 656d 657d 7b62 aColourScheme}{b │ │ │ +00008ea0: 777d 7d7b 0a20 2020 205c 6e65 7763 6f6d w}}{. \newcom │ │ │ +00008eb0: 6d61 6e64 7b5c 4167 6461 4b65 7977 6f72 mand{\AgdaKeywor │ │ │ +00008ec0: 6446 6f6e 7453 7479 6c65 7d5b 315d 7b5c dFontStyle}[1]{\ │ │ │ +00008ed0: 756e 6465 726c 696e 657b 2331 7d7d 0a7d underline{#1}}.} │ │ │ +00008ee0: 7b0a 2020 2020 5c6e 6577 636f 6d6d 616e {. \newcomman │ │ │ +00008ef0: 647b 5c41 6764 614b 6579 776f 7264 466f d{\AgdaKeywordFo │ │ │ +00008f00: 6e74 5374 796c 657d 5b31 5d7b 5c74 6578 ntStyle}[1]{\tex │ │ │ +00008f10: 7473 667b 2331 7d7d 0a7d 0a5c 6e65 7763 tsf{#1}}.}.\newc │ │ │ +00008f20: 6f6d 6d61 6e64 7b5c 4167 6461 5374 7269 ommand{\AgdaStri │ │ │ +00008f30: 6e67 466f 6e74 5374 796c 657d 5b31 5d7b ngFontStyle}[1]{ │ │ │ +00008f40: 5c74 6578 7474 747b 2331 7d7d 0a5c 6e65 \texttt{#1}}.\ne │ │ │ +00008f50: 7763 6f6d 6d61 6e64 7b5c 4167 6461 436f wcommand{\AgdaCo │ │ │ +00008f60: 6d6d 656e 7446 6f6e 7453 7479 6c65 7d5b mmentFontStyle}[ │ │ │ +00008f70: 315d 7b5c 7465 7874 7474 7b23 317d 7d0a 1]{\texttt{#1}}. │ │ │ +00008f80: 5c6e 6577 636f 6d6d 616e 647b 5c41 6764 \newcommand{\Agd │ │ │ +00008f90: 6142 6f75 6e64 466f 6e74 5374 796c 657d aBoundFontStyle} │ │ │ +00008fa0: 5b31 5d7b 5c74 6578 7469 747b 2331 7d7d [1]{\textit{#1}} │ │ │ +00008fb0: 0a0a 2520 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ..% ------------ │ │ │ 00008fc0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 00008fd0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 00008fe0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ -00008ff0: 2d2d 2d2d 2d2d 2d2d 2d0a 2520 436f 6c6f ---------.% Colo │ │ │ -00009000: 7572 732e 0a0a 2520 2d2d 2d2d 2d2d 2d2d urs...% -------- │ │ │ +00008ff0: 2d2d 2d2d 2d2d 2d2d 2d2d 0a25 2043 6f6c ----------.% Col │ │ │ +00009000: 6f75 7273 2e0a 0a25 202d 2d2d 2d2d 2d2d ours...% ------- │ │ │ 00009010: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ -00009020: 2d2d 2d2d 2d2d 2d2d 2d2d 0a25 2054 6865 ----------.% The │ │ │ -00009030: 2062 6c61 636b 2061 6e64 2077 6869 7465 black and white │ │ │ -00009040: 2063 6f6c 6f75 7220 7363 6865 6d65 2e0a colour scheme.. │ │ │ -00009050: 5c69 6674 6865 6e65 6c73 657b 5c65 7175 \ifthenelse{\equ │ │ │ -00009060: 616c 7b5c 4167 6461 436f 6c6f 7572 5363 al{\AgdaColourSc │ │ │ -00009070: 6865 6d65 7d7b 6277 7d7d 7b0a 0a20 2020 heme}{bw}}{.. │ │ │ -00009080: 2025 2041 7370 6563 7420 636f 6c6f 7572 % Aspect colour │ │ │ -00009090: 732e 0a20 2020 205c 6465 6669 6e65 636f s.. \defineco │ │ │ -000090a0: 6c6f 727b 4167 6461 436f 6d6d 656e 747d lor{AgdaComment} │ │ │ -000090b0: 2020 2020 2020 7b48 544d 4c7d 7b30 3030 {HTML}{000 │ │ │ -000090c0: 3030 307d 0a20 2020 205c 6465 6669 6e65 000}. \define │ │ │ -000090d0: 636f 6c6f 727b 4167 6461 5072 6167 6d61 color{AgdaPragma │ │ │ -000090e0: 7d20 2020 2020 2020 7b48 544d 4c7d 7b30 } {HTML}{0 │ │ │ -000090f0: 3030 3030 307d 0a20 2020 205c 6465 6669 00000}. \defi │ │ │ -00009100: 6e65 636f 6c6f 727b 4167 6461 4b65 7977 necolor{AgdaKeyw │ │ │ -00009110: 6f72 647d 2020 2020 2020 7b48 544d 4c7d ord} {HTML} │ │ │ -00009120: 7b30 3030 3030 307d 0a20 2020 205c 6465 {000000}. \de │ │ │ -00009130: 6669 6e65 636f 6c6f 727b 4167 6461 5374 finecolor{AgdaSt │ │ │ -00009140: 7269 6e67 7d20 2020 2020 2020 7b48 544d ring} {HTM │ │ │ -00009150: 4c7d 7b30 3030 3030 307d 0a20 2020 205c L}{000000}. \ │ │ │ -00009160: 6465 6669 6e65 636f 6c6f 727b 4167 6461 definecolor{Agda │ │ │ -00009170: 4e75 6d62 6572 7d20 2020 2020 2020 7b48 Number} {H │ │ │ -00009180: 544d 4c7d 7b30 3030 3030 307d 0a20 2020 TML}{000000}. │ │ │ -00009190: 205c 6465 6669 6e65 636f 6c6f 727b 4167 \definecolor{Ag │ │ │ -000091a0: 6461 5379 6d62 6f6c 7d20 2020 2020 2020 daSymbol} │ │ │ -000091b0: 7b48 544d 4c7d 7b30 3030 3030 307d 0a20 {HTML}{000000}. │ │ │ -000091c0: 2020 205c 6465 6669 6e65 636f 6c6f 727b \definecolor{ │ │ │ -000091d0: 4167 6461 5072 696d 6974 6976 6554 7970 AgdaPrimitiveTyp │ │ │ -000091e0: 657d 7b48 544d 4c7d 7b30 3030 3030 307d e}{HTML}{000000} │ │ │ -000091f0: 0a0a 2020 2020 2520 4e61 6d65 4b69 6e64 .. % NameKind │ │ │ -00009200: 2063 6f6c 6f75 7273 2e0a 2020 2020 5c64 colours.. \d │ │ │ -00009210: 6566 696e 6563 6f6c 6f72 7b41 6764 6142 efinecolor{AgdaB │ │ │ -00009220: 6f75 6e64 7d20 2020 2020 2020 2020 2020 ound} │ │ │ -00009230: 2020 2020 2020 7b48 544d 4c7d 7b30 3030 {HTML}{000 │ │ │ -00009240: 3030 307d 0a20 2020 205c 6465 6669 6e65 000}. \define │ │ │ -00009250: 636f 6c6f 727b 4167 6461 4765 6e65 7261 color{AgdaGenera │ │ │ -00009260: 6c69 7a61 626c 657d 2020 2020 2020 2020 lizable} │ │ │ -00009270: 207b 4854 4d4c 7d7b 3030 3030 3030 7d0a {HTML}{000000}. │ │ │ -00009280: 2020 2020 5c64 6566 696e 6563 6f6c 6f72 \definecolor │ │ │ -00009290: 7b41 6764 6149 6e64 7563 7469 7665 436f {AgdaInductiveCo │ │ │ -000092a0: 6e73 7472 7563 746f 727d 2020 7b48 544d nstructor} {HTM │ │ │ -000092b0: 4c7d 7b30 3030 3030 307d 0a20 2020 205c L}{000000}. \ │ │ │ -000092c0: 6465 6669 6e65 636f 6c6f 727b 4167 6461 definecolor{Agda │ │ │ -000092d0: 436f 696e 6475 6374 6976 6543 6f6e 7374 CoinductiveConst │ │ │ -000092e0: 7275 6374 6f72 7d7b 4854 4d4c 7d7b 3030 ructor}{HTML}{00 │ │ │ -000092f0: 3030 3030 7d0a 2020 2020 5c64 6566 696e 0000}. \defin │ │ │ -00009300: 6563 6f6c 6f72 7b41 6764 6144 6174 6174 ecolor{AgdaDatat │ │ │ -00009310: 7970 657d 2020 2020 2020 2020 2020 2020 ype} │ │ │ -00009320: 2020 7b48 544d 4c7d 7b30 3030 3030 307d {HTML}{000000} │ │ │ -00009330: 0a20 2020 205c 6465 6669 6e65 636f 6c6f . \definecolo │ │ │ -00009340: 727b 4167 6461 4669 656c 647d 2020 2020 r{AgdaField} │ │ │ -00009350: 2020 2020 2020 2020 2020 2020 207b 4854 {HT │ │ │ -00009360: 4d4c 7d7b 3030 3030 3030 7d0a 2020 2020 ML}{000000}. │ │ │ -00009370: 5c64 6566 696e 6563 6f6c 6f72 7b41 6764 \definecolor{Agd │ │ │ -00009380: 6146 756e 6374 696f 6e7d 2020 2020 2020 aFunction} │ │ │ -00009390: 2020 2020 2020 2020 7b48 544d 4c7d 7b30 {HTML}{0 │ │ │ -000093a0: 3030 3030 307d 0a20 2020 205c 6465 6669 00000}. \defi │ │ │ -000093b0: 6e65 636f 6c6f 727b 4167 6461 4d61 6372 necolor{AgdaMacr │ │ │ -000093c0: 6f7d 2020 2020 2020 2020 2020 2020 2020 o} │ │ │ -000093d0: 2020 207b 4854 4d4c 7d7b 3030 3030 3030 {HTML}{000000 │ │ │ -000093e0: 7d0a 2020 2020 5c64 6566 696e 6563 6f6c }. \definecol │ │ │ -000093f0: 6f72 7b41 6764 614d 6f64 756c 657d 2020 or{AgdaModule} │ │ │ -00009400: 2020 2020 2020 2020 2020 2020 2020 7b48 {H │ │ │ -00009410: 544d 4c7d 7b30 3030 3030 307d 0a20 2020 TML}{000000}. │ │ │ -00009420: 205c 6465 6669 6e65 636f 6c6f 727b 4167 \definecolor{Ag │ │ │ -00009430: 6461 506f 7374 756c 6174 657d 2020 2020 daPostulate} │ │ │ -00009440: 2020 2020 2020 2020 207b 4854 4d4c 7d7b {HTML}{ │ │ │ -00009450: 3030 3030 3030 7d0a 2020 2020 5c64 6566 000000}. \def │ │ │ -00009460: 696e 6563 6f6c 6f72 7b41 6764 6150 7269 inecolor{AgdaPri │ │ │ -00009470: 6d69 7469 7665 7d20 2020 2020 2020 2020 mitive} │ │ │ -00009480: 2020 2020 7b48 544d 4c7d 7b30 3030 3030 {HTML}{00000 │ │ │ -00009490: 307d 0a20 2020 205c 6465 6669 6e65 636f 0}. \defineco │ │ │ -000094a0: 6c6f 727b 4167 6461 5265 636f 7264 7d20 lor{AgdaRecord} │ │ │ -000094b0: 2020 2020 2020 2020 2020 2020 2020 207b { │ │ │ -000094c0: 4854 4d4c 7d7b 3030 3030 3030 7d0a 2020 HTML}{000000}. │ │ │ -000094d0: 2020 5c64 6566 696e 6563 6f6c 6f72 7b41 \definecolor{A │ │ │ -000094e0: 6764 6141 7267 756d 656e 747d 2020 2020 gdaArgument} │ │ │ -000094f0: 2020 2020 2020 2020 2020 7b48 544d 4c7d {HTML} │ │ │ -00009500: 7b30 3030 3030 307d 0a0a 2020 2020 2520 {000000}.. % │ │ │ -00009510: 4f74 6865 7220 6173 7065 6374 2063 6f6c Other aspect col │ │ │ -00009520: 6f75 7273 2e0a 2020 2020 5c64 6566 696e ours.. \defin │ │ │ -00009530: 6563 6f6c 6f72 7b41 6764 6144 6f74 7465 ecolor{AgdaDotte │ │ │ -00009540: 6450 6174 7465 726e 7d20 2020 2020 7b48 dPattern} {H │ │ │ -00009550: 544d 4c7d 7b30 3030 3030 307d 0a20 2020 TML}{000000}. │ │ │ -00009560: 205c 6465 6669 6e65 636f 6c6f 727b 4167 \definecolor{Ag │ │ │ -00009570: 6461 556e 736f 6c76 6564 4d65 7461 7d20 daUnsolvedMeta} │ │ │ -00009580: 2020 2020 207b 4854 4d4c 7d7b 4433 4433 {HTML}{D3D3 │ │ │ -00009590: 4433 7d0a 2020 2020 5c64 6566 696e 6563 D3}. \definec │ │ │ -000095a0: 6f6c 6f72 7b41 6764 6155 6e73 6f6c 7665 olor{AgdaUnsolve │ │ │ -000095b0: 6443 6f6e 7374 7261 696e 747d 7b48 544d dConstraint}{HTM │ │ │ -000095c0: 4c7d 7b44 3344 3344 337d 0a20 2020 205c L}{D3D3D3}. \ │ │ │ -000095d0: 6465 6669 6e65 636f 6c6f 727b 4167 6461 definecolor{Agda │ │ │ -000095e0: 5465 726d 696e 6174 696f 6e50 726f 626c TerminationProbl │ │ │ -000095f0: 656d 7d7b 4854 4d4c 7d7b 4245 4245 4245 em}{HTML}{BEBEBE │ │ │ -00009600: 7d0a 2020 2020 5c64 6566 696e 6563 6f6c }. \definecol │ │ │ -00009610: 6f72 7b41 6764 6149 6e63 6f6d 706c 6574 or{AgdaIncomplet │ │ │ -00009620: 6550 6174 7465 726e 7d20 7b48 544d 4c7d ePattern} {HTML} │ │ │ -00009630: 7b44 3344 3344 337d 0a20 2020 205c 6465 {D3D3D3}. \de │ │ │ -00009640: 6669 6e65 636f 6c6f 727b 4167 6461 4572 finecolor{AgdaEr │ │ │ -00009650: 726f 7257 6172 6e69 6e67 7d20 2020 2020 rorWarning} │ │ │ -00009660: 207b 4854 4d4c 7d7b 4245 4245 4245 7d0a {HTML}{BEBEBE}. │ │ │ -00009670: 2020 2020 5c64 6566 696e 6563 6f6c 6f72 \definecolor │ │ │ -00009680: 7b41 6764 6145 7272 6f72 7d20 2020 2020 {AgdaError} │ │ │ -00009690: 2020 2020 2020 2020 7b48 544d 4c7d 7b36 {HTML}{6 │ │ │ -000096a0: 3936 3936 397d 0a0a 2020 2020 2520 4d69 96969}.. % Mi │ │ │ -000096b0: 7363 2e0a 2020 2020 5c64 6566 696e 6563 sc.. \definec │ │ │ -000096c0: 6f6c 6f72 7b41 6764 6148 6f6c 657d 2020 olor{AgdaHole} │ │ │ -000096d0: 2020 2020 2020 2020 2020 2020 7b48 544d {HTM │ │ │ -000096e0: 4c7d 7b42 4542 4542 457d 0a0a 2520 2d2d L}{BEBEBE}..% -- │ │ │ +00009020: 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 2520 5468 -----------.% Th │ │ │ +00009030: 6520 626c 6163 6b20 616e 6420 7768 6974 e black and whit │ │ │ +00009040: 6520 636f 6c6f 7572 2073 6368 656d 652e e colour scheme. │ │ │ +00009050: 0a5c 6966 7468 656e 656c 7365 7b5c 6571 .\ifthenelse{\eq │ │ │ +00009060: 7561 6c7b 5c41 6764 6143 6f6c 6f75 7253 ual{\AgdaColourS │ │ │ +00009070: 6368 656d 657d 7b62 777d 7d7b 0a0a 2020 cheme}{bw}}{.. │ │ │ +00009080: 2020 2520 4173 7065 6374 2063 6f6c 6f75 % Aspect colou │ │ │ +00009090: 7273 2e0a 2020 2020 5c64 6566 696e 6563 rs.. \definec │ │ │ +000090a0: 6f6c 6f72 7b41 6764 6143 6f6d 6d65 6e74 olor{AgdaComment │ │ │ +000090b0: 7d20 2020 2020 207b 4854 4d4c 7d7b 3030 } {HTML}{00 │ │ │ +000090c0: 3030 3030 7d0a 2020 2020 5c64 6566 696e 0000}. \defin │ │ │ +000090d0: 6563 6f6c 6f72 7b41 6764 6150 7261 676d ecolor{AgdaPragm │ │ │ +000090e0: 617d 2020 2020 2020 207b 4854 4d4c 7d7b a} {HTML}{ │ │ │ +000090f0: 3030 3030 3030 7d0a 2020 2020 5c64 6566 000000}. \def │ │ │ +00009100: 696e 6563 6f6c 6f72 7b41 6764 614b 6579 inecolor{AgdaKey │ │ │ +00009110: 776f 7264 7d20 2020 2020 207b 4854 4d4c word} {HTML │ │ │ +00009120: 7d7b 3030 3030 3030 7d0a 2020 2020 5c64 }{000000}. \d │ │ │ +00009130: 6566 696e 6563 6f6c 6f72 7b41 6764 6153 efinecolor{AgdaS │ │ │ +00009140: 7472 696e 677d 2020 2020 2020 207b 4854 tring} {HT │ │ │ +00009150: 4d4c 7d7b 3030 3030 3030 7d0a 2020 2020 ML}{000000}. │ │ │ +00009160: 5c64 6566 696e 6563 6f6c 6f72 7b41 6764 \definecolor{Agd │ │ │ +00009170: 614e 756d 6265 727d 2020 2020 2020 207b aNumber} { │ │ │ +00009180: 4854 4d4c 7d7b 3030 3030 3030 7d0a 2020 HTML}{000000}. │ │ │ +00009190: 2020 5c64 6566 696e 6563 6f6c 6f72 7b41 \definecolor{A │ │ │ +000091a0: 6764 6153 796d 626f 6c7d 2020 2020 2020 gdaSymbol} │ │ │ +000091b0: 207b 4854 4d4c 7d7b 3030 3030 3030 7d0a {HTML}{000000}. │ │ │ +000091c0: 2020 2020 5c64 6566 696e 6563 6f6c 6f72 \definecolor │ │ │ +000091d0: 7b41 6764 6150 7269 6d69 7469 7665 5479 {AgdaPrimitiveTy │ │ │ +000091e0: 7065 7d7b 4854 4d4c 7d7b 3030 3030 3030 pe}{HTML}{000000 │ │ │ +000091f0: 7d0a 0a20 2020 2025 204e 616d 654b 696e }.. % NameKin │ │ │ +00009200: 6420 636f 6c6f 7572 732e 0a20 2020 205c d colours.. \ │ │ │ +00009210: 6465 6669 6e65 636f 6c6f 727b 4167 6461 definecolor{Agda │ │ │ +00009220: 426f 756e 647d 2020 2020 2020 2020 2020 Bound} │ │ │ +00009230: 2020 2020 2020 207b 4854 4d4c 7d7b 3030 {HTML}{00 │ │ │ +00009240: 3030 3030 7d0a 2020 2020 5c64 6566 696e 0000}. \defin │ │ │ +00009250: 6563 6f6c 6f72 7b41 6764 6147 656e 6572 ecolor{AgdaGener │ │ │ +00009260: 616c 697a 6162 6c65 7d20 2020 2020 2020 alizable} │ │ │ +00009270: 2020 7b48 544d 4c7d 7b30 3030 3030 307d {HTML}{000000} │ │ │ +00009280: 0a20 2020 205c 6465 6669 6e65 636f 6c6f . \definecolo │ │ │ +00009290: 727b 4167 6461 496e 6475 6374 6976 6543 r{AgdaInductiveC │ │ │ +000092a0: 6f6e 7374 7275 6374 6f72 7d20 207b 4854 onstructor} {HT │ │ │ +000092b0: 4d4c 7d7b 3030 3030 3030 7d0a 2020 2020 ML}{000000}. │ │ │ +000092c0: 5c64 6566 696e 6563 6f6c 6f72 7b41 6764 \definecolor{Agd │ │ │ +000092d0: 6143 6f69 6e64 7563 7469 7665 436f 6e73 aCoinductiveCons │ │ │ +000092e0: 7472 7563 746f 727d 7b48 544d 4c7d 7b30 tructor}{HTML}{0 │ │ │ +000092f0: 3030 3030 307d 0a20 2020 205c 6465 6669 00000}. \defi │ │ │ +00009300: 6e65 636f 6c6f 727b 4167 6461 4461 7461 necolor{AgdaData │ │ │ +00009310: 7479 7065 7d20 2020 2020 2020 2020 2020 type} │ │ │ +00009320: 2020 207b 4854 4d4c 7d7b 3030 3030 3030 {HTML}{000000 │ │ │ +00009330: 7d0a 2020 2020 5c64 6566 696e 6563 6f6c }. \definecol │ │ │ +00009340: 6f72 7b41 6764 6146 6965 6c64 7d20 2020 or{AgdaField} │ │ │ +00009350: 2020 2020 2020 2020 2020 2020 2020 7b48 {H │ │ │ +00009360: 544d 4c7d 7b30 3030 3030 307d 0a20 2020 TML}{000000}. │ │ │ +00009370: 205c 6465 6669 6e65 636f 6c6f 727b 4167 \definecolor{Ag │ │ │ +00009380: 6461 4675 6e63 7469 6f6e 7d20 2020 2020 daFunction} │ │ │ +00009390: 2020 2020 2020 2020 207b 4854 4d4c 7d7b {HTML}{ │ │ │ +000093a0: 3030 3030 3030 7d0a 2020 2020 5c64 6566 000000}. \def │ │ │ +000093b0: 696e 6563 6f6c 6f72 7b41 6764 614d 6163 inecolor{AgdaMac │ │ │ +000093c0: 726f 7d20 2020 2020 2020 2020 2020 2020 ro} │ │ │ +000093d0: 2020 2020 7b48 544d 4c7d 7b30 3030 3030 {HTML}{00000 │ │ │ +000093e0: 307d 0a20 2020 205c 6465 6669 6e65 636f 0}. \defineco │ │ │ +000093f0: 6c6f 727b 4167 6461 4d6f 6475 6c65 7d20 lor{AgdaModule} │ │ │ +00009400: 2020 2020 2020 2020 2020 2020 2020 207b { │ │ │ +00009410: 4854 4d4c 7d7b 3030 3030 3030 7d0a 2020 HTML}{000000}. │ │ │ +00009420: 2020 5c64 6566 696e 6563 6f6c 6f72 7b41 \definecolor{A │ │ │ +00009430: 6764 6150 6f73 7475 6c61 7465 7d20 2020 gdaPostulate} │ │ │ +00009440: 2020 2020 2020 2020 2020 7b48 544d 4c7d {HTML} │ │ │ +00009450: 7b30 3030 3030 307d 0a20 2020 205c 6465 {000000}. \de │ │ │ +00009460: 6669 6e65 636f 6c6f 727b 4167 6461 5072 finecolor{AgdaPr │ │ │ +00009470: 696d 6974 6976 657d 2020 2020 2020 2020 imitive} │ │ │ +00009480: 2020 2020 207b 4854 4d4c 7d7b 3030 3030 {HTML}{0000 │ │ │ +00009490: 3030 7d0a 2020 2020 5c64 6566 696e 6563 00}. \definec │ │ │ +000094a0: 6f6c 6f72 7b41 6764 6152 6563 6f72 647d olor{AgdaRecord} │ │ │ +000094b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +000094c0: 7b48 544d 4c7d 7b30 3030 3030 307d 0a20 {HTML}{000000}. │ │ │ +000094d0: 2020 205c 6465 6669 6e65 636f 6c6f 727b \definecolor{ │ │ │ +000094e0: 4167 6461 4172 6775 6d65 6e74 7d20 2020 AgdaArgument} │ │ │ +000094f0: 2020 2020 2020 2020 2020 207b 4854 4d4c {HTML │ │ │ +00009500: 7d7b 3030 3030 3030 7d0a 0a20 2020 2025 }{000000}.. % │ │ │ +00009510: 204f 7468 6572 2061 7370 6563 7420 636f Other aspect co │ │ │ +00009520: 6c6f 7572 732e 0a20 2020 205c 6465 6669 lours.. \defi │ │ │ +00009530: 6e65 636f 6c6f 727b 4167 6461 446f 7474 necolor{AgdaDott │ │ │ +00009540: 6564 5061 7474 6572 6e7d 2020 2020 207b edPattern} { │ │ │ +00009550: 4854 4d4c 7d7b 3030 3030 3030 7d0a 2020 HTML}{000000}. │ │ │ +00009560: 2020 5c64 6566 696e 6563 6f6c 6f72 7b41 \definecolor{A │ │ │ +00009570: 6764 6155 6e73 6f6c 7665 644d 6574 617d gdaUnsolvedMeta} │ │ │ +00009580: 2020 2020 2020 7b48 544d 4c7d 7b44 3344 {HTML}{D3D │ │ │ +00009590: 3344 337d 0a20 2020 205c 6465 6669 6e65 3D3}. \define │ │ │ +000095a0: 636f 6c6f 727b 4167 6461 556e 736f 6c76 color{AgdaUnsolv │ │ │ +000095b0: 6564 436f 6e73 7472 6169 6e74 7d7b 4854 edConstraint}{HT │ │ │ +000095c0: 4d4c 7d7b 4433 4433 4433 7d0a 2020 2020 ML}{D3D3D3}. │ │ │ +000095d0: 5c64 6566 696e 6563 6f6c 6f72 7b41 6764 \definecolor{Agd │ │ │ +000095e0: 6154 6572 6d69 6e61 7469 6f6e 5072 6f62 aTerminationProb │ │ │ +000095f0: 6c65 6d7d 7b48 544d 4c7d 7b42 4542 4542 lem}{HTML}{BEBEB │ │ │ +00009600: 457d 0a20 2020 205c 6465 6669 6e65 636f E}. \defineco │ │ │ +00009610: 6c6f 727b 4167 6461 496e 636f 6d70 6c65 lor{AgdaIncomple │ │ │ +00009620: 7465 5061 7474 6572 6e7d 207b 4854 4d4c tePattern} {HTML │ │ │ +00009630: 7d7b 4433 4433 4433 7d0a 2020 2020 5c64 }{D3D3D3}. \d │ │ │ +00009640: 6566 696e 6563 6f6c 6f72 7b41 6764 6145 efinecolor{AgdaE │ │ │ +00009650: 7272 6f72 5761 726e 696e 677d 2020 2020 rrorWarning} │ │ │ +00009660: 2020 7b48 544d 4c7d 7b42 4542 4542 457d {HTML}{BEBEBE} │ │ │ +00009670: 0a20 2020 205c 6465 6669 6e65 636f 6c6f . \definecolo │ │ │ +00009680: 727b 4167 6461 4572 726f 727d 2020 2020 r{AgdaError} │ │ │ +00009690: 2020 2020 2020 2020 207b 4854 4d4c 7d7b {HTML}{ │ │ │ +000096a0: 3639 3639 3639 7d0a 0a20 2020 2025 204d 696969}.. % M │ │ │ +000096b0: 6973 632e 0a20 2020 205c 6465 6669 6e65 isc.. \define │ │ │ +000096c0: 636f 6c6f 727b 4167 6461 486f 6c65 7d20 color{AgdaHole} │ │ │ +000096d0: 2020 2020 2020 2020 2020 2020 207b 4854 {HT │ │ │ +000096e0: 4d4c 7d7b 4245 4245 4245 7d0a 0a25 202d ML}{BEBEBE}..% - │ │ │ 000096f0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 00009700: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ -00009710: 0a25 2043 6f6e 6f72 204d 6342 7269 6465 .% Conor McBride │ │ │ -00009720: 2773 2063 6f6c 6f75 7220 7363 6865 6d65 's colour scheme │ │ │ -00009730: 2e0a 7d7b 205c 6966 7468 656e 656c 7365 ..}{ \ifthenelse │ │ │ -00009740: 7b5c 6571 7561 6c7b 5c41 6764 6143 6f6c {\equal{\AgdaCol │ │ │ -00009750: 6f75 7253 6368 656d 657d 7b63 6f6e 6f72 ourScheme}{conor │ │ │ -00009760: 7d7d 7b0a 0a20 2020 2025 2041 7370 6563 }}{.. % Aspec │ │ │ -00009770: 7420 636f 6c6f 7572 732e 0a20 2020 205c t colours.. \ │ │ │ -00009780: 6465 6669 6e65 636f 6c6f 727b 4167 6461 definecolor{Agda │ │ │ -00009790: 436f 6d6d 656e 747d 2020 2020 2020 7b48 Comment} {H │ │ │ -000097a0: 544d 4c7d 7b42 3232 3232 327d 0a20 2020 TML}{B22222}. │ │ │ -000097b0: 205c 6465 6669 6e65 636f 6c6f 727b 4167 \definecolor{Ag │ │ │ -000097c0: 6461 5072 6167 6d61 7d20 2020 2020 2020 daPragma} │ │ │ -000097d0: 7b48 544d 4c7d 7b30 3030 3030 307d 0a20 {HTML}{000000}. │ │ │ -000097e0: 2020 205c 6465 6669 6e65 636f 6c6f 727b \definecolor{ │ │ │ -000097f0: 4167 6461 4b65 7977 6f72 647d 2020 2020 AgdaKeyword} │ │ │ -00009800: 2020 7b48 544d 4c7d 7b30 3030 3030 307d {HTML}{000000} │ │ │ -00009810: 0a20 2020 205c 6465 6669 6e65 636f 6c6f . \definecolo │ │ │ -00009820: 727b 4167 6461 5374 7269 6e67 7d20 2020 r{AgdaString} │ │ │ -00009830: 2020 2020 7b48 544d 4c7d 7b30 3030 3030 {HTML}{00000 │ │ │ -00009840: 307d 0a20 2020 205c 6465 6669 6e65 636f 0}. \defineco │ │ │ -00009850: 6c6f 727b 4167 6461 4e75 6d62 6572 7d20 lor{AgdaNumber} │ │ │ -00009860: 2020 2020 2020 7b48 544d 4c7d 7b30 3030 {HTML}{000 │ │ │ -00009870: 3030 307d 0a20 2020 205c 6465 6669 6e65 000}. \define │ │ │ -00009880: 636f 6c6f 727b 4167 6461 5379 6d62 6f6c color{AgdaSymbol │ │ │ -00009890: 7d20 2020 2020 2020 7b48 544d 4c7d 7b30 } {HTML}{0 │ │ │ -000098a0: 3030 3030 307d 0a20 2020 205c 6465 6669 00000}. \defi │ │ │ -000098b0: 6e65 636f 6c6f 727b 4167 6461 5072 696d necolor{AgdaPrim │ │ │ -000098c0: 6974 6976 6554 7970 657d 7b48 544d 4c7d itiveType}{HTML} │ │ │ -000098d0: 7b30 3030 3043 447d 0a0a 2020 2020 2520 {0000CD}.. % │ │ │ -000098e0: 4e61 6d65 4b69 6e64 2063 6f6c 6f75 7273 NameKind colours │ │ │ -000098f0: 2e0a 2020 2020 5c64 6566 696e 6563 6f6c .. \definecol │ │ │ -00009900: 6f72 7b41 6764 6142 6f75 6e64 7d20 2020 or{AgdaBound} │ │ │ -00009910: 2020 2020 2020 2020 2020 2020 2020 7b48 {H │ │ │ -00009920: 544d 4c7d 7b41 3032 3046 307d 0a20 2020 TML}{A020F0}. │ │ │ -00009930: 205c 6465 6669 6e65 636f 6c6f 727b 4167 \definecolor{Ag │ │ │ -00009940: 6461 4765 6e65 7261 6c69 7a61 626c 657d daGeneralizable} │ │ │ -00009950: 2020 2020 2020 2020 207b 4854 4d4c 7d7b {HTML}{ │ │ │ -00009960: 4130 3230 4630 7d0a 2020 2020 5c64 6566 A020F0}. \def │ │ │ -00009970: 696e 6563 6f6c 6f72 7b41 6764 6149 6e64 inecolor{AgdaInd │ │ │ -00009980: 7563 7469 7665 436f 6e73 7472 7563 746f uctiveConstructo │ │ │ -00009990: 727d 2020 7b48 544d 4c7d 7b38 4230 3030 r} {HTML}{8B000 │ │ │ -000099a0: 307d 0a20 2020 205c 6465 6669 6e65 636f 0}. \defineco │ │ │ -000099b0: 6c6f 727b 4167 6461 436f 696e 6475 6374 lor{AgdaCoinduct │ │ │ -000099c0: 6976 6543 6f6e 7374 7275 6374 6f72 7d7b iveConstructor}{ │ │ │ -000099d0: 4854 4d4c 7d7b 3842 3030 3030 7d0a 2020 HTML}{8B0000}. │ │ │ -000099e0: 2020 5c64 6566 696e 6563 6f6c 6f72 7b41 \definecolor{A │ │ │ -000099f0: 6764 6144 6174 6174 7970 657d 2020 2020 gdaDatatype} │ │ │ -00009a00: 2020 2020 2020 2020 2020 7b48 544d 4c7d {HTML} │ │ │ -00009a10: 7b30 3030 3043 447d 0a20 2020 205c 6465 {0000CD}. \de │ │ │ -00009a20: 6669 6e65 636f 6c6f 727b 4167 6461 4669 finecolor{AgdaFi │ │ │ -00009a30: 656c 647d 2020 2020 2020 2020 2020 2020 eld} │ │ │ -00009a40: 2020 2020 207b 4854 4d4c 7d7b 3842 3030 {HTML}{8B00 │ │ │ -00009a50: 3030 7d0a 2020 2020 5c64 6566 696e 6563 00}. \definec │ │ │ -00009a60: 6f6c 6f72 7b41 6764 6146 756e 6374 696f olor{AgdaFunctio │ │ │ -00009a70: 6e7d 2020 2020 2020 2020 2020 2020 2020 n} │ │ │ -00009a80: 7b48 544d 4c7d 7b30 3036 3430 307d 0a20 {HTML}{006400}. │ │ │ -00009a90: 2020 205c 6465 6669 6e65 636f 6c6f 727b \definecolor{ │ │ │ -00009aa0: 4167 6461 4d61 6372 6f7d 2020 2020 2020 AgdaMacro} │ │ │ -00009ab0: 2020 2020 2020 2020 2020 207b 4854 4d4c {HTML │ │ │ -00009ac0: 7d7b 3030 3634 3030 7d0a 2020 2020 5c64 }{006400}. \d │ │ │ -00009ad0: 6566 696e 6563 6f6c 6f72 7b41 6764 614d efinecolor{AgdaM │ │ │ -00009ae0: 6f64 756c 657d 2020 2020 2020 2020 2020 odule} │ │ │ -00009af0: 2020 2020 2020 7b48 544d 4c7d 7b30 3036 {HTML}{006 │ │ │ -00009b00: 3430 307d 0a20 2020 205c 6465 6669 6e65 400}. \define │ │ │ -00009b10: 636f 6c6f 727b 4167 6461 506f 7374 756c color{AgdaPostul │ │ │ -00009b20: 6174 657d 2020 2020 2020 2020 2020 2020 ate} │ │ │ -00009b30: 207b 4854 4d4c 7d7b 3030 3634 3030 7d0a {HTML}{006400}. │ │ │ -00009b40: 2020 2020 5c64 6566 696e 6563 6f6c 6f72 \definecolor │ │ │ -00009b50: 7b41 6764 6150 7269 6d69 7469 7665 7d20 {AgdaPrimitive} │ │ │ -00009b60: 2020 2020 2020 2020 2020 2020 7b48 544d {HTM │ │ │ -00009b70: 4c7d 7b30 3036 3430 307d 0a20 2020 205c L}{006400}. \ │ │ │ -00009b80: 6465 6669 6e65 636f 6c6f 727b 4167 6461 definecolor{Agda │ │ │ -00009b90: 5265 636f 7264 7d20 2020 2020 2020 2020 Record} │ │ │ -00009ba0: 2020 2020 2020 207b 4854 4d4c 7d7b 3030 {HTML}{00 │ │ │ -00009bb0: 3030 4344 7d0a 2020 2020 5c64 6566 696e 00CD}. \defin │ │ │ -00009bc0: 6563 6f6c 6f72 7b41 6764 6141 7267 756d ecolor{AgdaArgum │ │ │ -00009bd0: 656e 747d 2020 2020 2020 2020 2020 2020 ent} │ │ │ -00009be0: 2020 7b48 544d 4c7d 7b34 3034 3034 307d {HTML}{404040} │ │ │ -00009bf0: 0a0a 2020 2020 2520 4f74 6865 7220 6173 .. % Other as │ │ │ -00009c00: 7065 6374 2063 6f6c 6f75 7273 2e0a 2020 pect colours.. │ │ │ -00009c10: 2020 5c64 6566 696e 6563 6f6c 6f72 7b41 \definecolor{A │ │ │ -00009c20: 6764 6144 6f74 7465 6450 6174 7465 726e gdaDottedPattern │ │ │ -00009c30: 7d20 2020 2020 7b48 544d 4c7d 7b30 3030 } {HTML}{000 │ │ │ -00009c40: 3030 307d 0a20 2020 205c 6465 6669 6e65 000}. \define │ │ │ -00009c50: 636f 6c6f 727b 4167 6461 556e 736f 6c76 color{AgdaUnsolv │ │ │ -00009c60: 6564 4d65 7461 7d20 2020 2020 207b 4854 edMeta} {HT │ │ │ -00009c70: 4d4c 7d7b 4646 4437 3030 7d0a 2020 2020 ML}{FFD700}. │ │ │ -00009c80: 5c64 6566 696e 6563 6f6c 6f72 7b41 6764 \definecolor{Agd │ │ │ -00009c90: 6155 6e73 6f6c 7665 6443 6f6e 7374 7261 aUnsolvedConstra │ │ │ -00009ca0: 696e 747d 7b48 544d 4c7d 7b46 4644 3730 int}{HTML}{FFD70 │ │ │ -00009cb0: 307d 0a20 2020 205c 6465 6669 6e65 636f 0}. \defineco │ │ │ -00009cc0: 6c6f 727b 4167 6461 5465 726d 696e 6174 lor{AgdaTerminat │ │ │ -00009cd0: 696f 6e50 726f 626c 656d 7d7b 4854 4d4c ionProblem}{HTML │ │ │ -00009ce0: 7d7b 4646 3030 3030 7d0a 2020 2020 5c64 }{FF0000}. \d │ │ │ -00009cf0: 6566 696e 6563 6f6c 6f72 7b41 6764 6149 efinecolor{AgdaI │ │ │ -00009d00: 6e63 6f6d 706c 6574 6550 6174 7465 726e ncompletePattern │ │ │ -00009d10: 7d20 7b48 544d 4c7d 7b41 3032 3046 307d } {HTML}{A020F0} │ │ │ -00009d20: 0a20 2020 205c 6465 6669 6e65 636f 6c6f . \definecolo │ │ │ -00009d30: 727b 4167 6461 4572 726f 7257 6172 6e69 r{AgdaErrorWarni │ │ │ -00009d40: 6e67 7d20 2020 2020 207b 4854 4d4c 7d7b ng} {HTML}{ │ │ │ -00009d50: 4646 3030 3030 7d0a 2020 2020 5c64 6566 FF0000}. \def │ │ │ -00009d60: 696e 6563 6f6c 6f72 7b41 6764 6145 7272 inecolor{AgdaErr │ │ │ -00009d70: 6f72 7d20 2020 2020 2020 2020 2020 2020 or} │ │ │ -00009d80: 7b48 544d 4c7d 7b46 3441 3436 307d 0a0a {HTML}{F4A460}.. │ │ │ -00009d90: 2020 2020 2520 4d69 7363 2e0a 2020 2020 % Misc.. │ │ │ -00009da0: 5c64 6566 696e 6563 6f6c 6f72 7b41 6764 \definecolor{Agd │ │ │ -00009db0: 6148 6f6c 657d 2020 2020 2020 2020 2020 aHole} │ │ │ -00009dc0: 2020 2020 7b48 544d 4c7d 7b39 4446 4639 {HTML}{9DFF9 │ │ │ -00009dd0: 447d 0a0a 2520 2d2d 2d2d 2d2d 2d2d 2d2d D}..% ---------- │ │ │ +00009710: 2d0a 2520 436f 6e6f 7220 4d63 4272 6964 -.% Conor McBrid │ │ │ +00009720: 6527 7320 636f 6c6f 7572 2073 6368 656d e's colour schem │ │ │ +00009730: 652e 0a7d 7b20 5c69 6674 6865 6e65 6c73 e..}{ \ifthenels │ │ │ +00009740: 657b 5c65 7175 616c 7b5c 4167 6461 436f e{\equal{\AgdaCo │ │ │ +00009750: 6c6f 7572 5363 6865 6d65 7d7b 636f 6e6f lourScheme}{cono │ │ │ +00009760: 727d 7d7b 0a0a 2020 2020 2520 4173 7065 r}}{.. % Aspe │ │ │ +00009770: 6374 2063 6f6c 6f75 7273 2e0a 2020 2020 ct colours.. │ │ │ +00009780: 5c64 6566 696e 6563 6f6c 6f72 7b41 6764 \definecolor{Agd │ │ │ +00009790: 6143 6f6d 6d65 6e74 7d20 2020 2020 207b aComment} { │ │ │ +000097a0: 4854 4d4c 7d7b 4232 3232 3232 7d0a 2020 HTML}{B22222}. │ │ │ +000097b0: 2020 5c64 6566 696e 6563 6f6c 6f72 7b41 \definecolor{A │ │ │ +000097c0: 6764 6150 7261 676d 617d 2020 2020 2020 gdaPragma} │ │ │ +000097d0: 207b 4854 4d4c 7d7b 3030 3030 3030 7d0a {HTML}{000000}. │ │ │ +000097e0: 2020 2020 5c64 6566 696e 6563 6f6c 6f72 \definecolor │ │ │ +000097f0: 7b41 6764 614b 6579 776f 7264 7d20 2020 {AgdaKeyword} │ │ │ +00009800: 2020 207b 4854 4d4c 7d7b 3030 3030 3030 {HTML}{000000 │ │ │ +00009810: 7d0a 2020 2020 5c64 6566 696e 6563 6f6c }. \definecol │ │ │ +00009820: 6f72 7b41 6764 6153 7472 696e 677d 2020 or{AgdaString} │ │ │ +00009830: 2020 2020 207b 4854 4d4c 7d7b 3030 3030 {HTML}{0000 │ │ │ +00009840: 3030 7d0a 2020 2020 5c64 6566 696e 6563 00}. \definec │ │ │ +00009850: 6f6c 6f72 7b41 6764 614e 756d 6265 727d olor{AgdaNumber} │ │ │ +00009860: 2020 2020 2020 207b 4854 4d4c 7d7b 3030 {HTML}{00 │ │ │ +00009870: 3030 3030 7d0a 2020 2020 5c64 6566 696e 0000}. \defin │ │ │ +00009880: 6563 6f6c 6f72 7b41 6764 6153 796d 626f ecolor{AgdaSymbo │ │ │ +00009890: 6c7d 2020 2020 2020 207b 4854 4d4c 7d7b l} {HTML}{ │ │ │ +000098a0: 3030 3030 3030 7d0a 2020 2020 5c64 6566 000000}. \def │ │ │ +000098b0: 696e 6563 6f6c 6f72 7b41 6764 6150 7269 inecolor{AgdaPri │ │ │ +000098c0: 6d69 7469 7665 5479 7065 7d7b 4854 4d4c mitiveType}{HTML │ │ │ +000098d0: 7d7b 3030 3030 4344 7d0a 0a20 2020 2025 }{0000CD}.. % │ │ │ +000098e0: 204e 616d 654b 696e 6420 636f 6c6f 7572 NameKind colour │ │ │ +000098f0: 732e 0a20 2020 205c 6465 6669 6e65 636f s.. \defineco │ │ │ +00009900: 6c6f 727b 4167 6461 426f 756e 647d 2020 lor{AgdaBound} │ │ │ +00009910: 2020 2020 2020 2020 2020 2020 2020 207b { │ │ │ +00009920: 4854 4d4c 7d7b 4130 3230 4630 7d0a 2020 HTML}{A020F0}. │ │ │ +00009930: 2020 5c64 6566 696e 6563 6f6c 6f72 7b41 \definecolor{A │ │ │ +00009940: 6764 6147 656e 6572 616c 697a 6162 6c65 gdaGeneralizable │ │ │ +00009950: 7d20 2020 2020 2020 2020 7b48 544d 4c7d } {HTML} │ │ │ +00009960: 7b41 3032 3046 307d 0a20 2020 205c 6465 {A020F0}. \de │ │ │ +00009970: 6669 6e65 636f 6c6f 727b 4167 6461 496e finecolor{AgdaIn │ │ │ +00009980: 6475 6374 6976 6543 6f6e 7374 7275 6374 ductiveConstruct │ │ │ +00009990: 6f72 7d20 207b 4854 4d4c 7d7b 3842 3030 or} {HTML}{8B00 │ │ │ +000099a0: 3030 7d0a 2020 2020 5c64 6566 696e 6563 00}. \definec │ │ │ +000099b0: 6f6c 6f72 7b41 6764 6143 6f69 6e64 7563 olor{AgdaCoinduc │ │ │ +000099c0: 7469 7665 436f 6e73 7472 7563 746f 727d tiveConstructor} │ │ │ +000099d0: 7b48 544d 4c7d 7b38 4230 3030 307d 0a20 {HTML}{8B0000}. │ │ │ +000099e0: 2020 205c 6465 6669 6e65 636f 6c6f 727b \definecolor{ │ │ │ +000099f0: 4167 6461 4461 7461 7479 7065 7d20 2020 AgdaDatatype} │ │ │ +00009a00: 2020 2020 2020 2020 2020 207b 4854 4d4c {HTML │ │ │ +00009a10: 7d7b 3030 3030 4344 7d0a 2020 2020 5c64 }{0000CD}. \d │ │ │ +00009a20: 6566 696e 6563 6f6c 6f72 7b41 6764 6146 efinecolor{AgdaF │ │ │ +00009a30: 6965 6c64 7d20 2020 2020 2020 2020 2020 ield} │ │ │ +00009a40: 2020 2020 2020 7b48 544d 4c7d 7b38 4230 {HTML}{8B0 │ │ │ +00009a50: 3030 307d 0a20 2020 205c 6465 6669 6e65 000}. \define │ │ │ +00009a60: 636f 6c6f 727b 4167 6461 4675 6e63 7469 color{AgdaFuncti │ │ │ +00009a70: 6f6e 7d20 2020 2020 2020 2020 2020 2020 on} │ │ │ +00009a80: 207b 4854 4d4c 7d7b 3030 3634 3030 7d0a {HTML}{006400}. │ │ │ +00009a90: 2020 2020 5c64 6566 696e 6563 6f6c 6f72 \definecolor │ │ │ +00009aa0: 7b41 6764 614d 6163 726f 7d20 2020 2020 {AgdaMacro} │ │ │ +00009ab0: 2020 2020 2020 2020 2020 2020 7b48 544d {HTM │ │ │ +00009ac0: 4c7d 7b30 3036 3430 307d 0a20 2020 205c L}{006400}. \ │ │ │ +00009ad0: 6465 6669 6e65 636f 6c6f 727b 4167 6461 definecolor{Agda │ │ │ +00009ae0: 4d6f 6475 6c65 7d20 2020 2020 2020 2020 Module} │ │ │ +00009af0: 2020 2020 2020 207b 4854 4d4c 7d7b 3030 {HTML}{00 │ │ │ +00009b00: 3634 3030 7d0a 2020 2020 5c64 6566 696e 6400}. \defin │ │ │ +00009b10: 6563 6f6c 6f72 7b41 6764 6150 6f73 7475 ecolor{AgdaPostu │ │ │ +00009b20: 6c61 7465 7d20 2020 2020 2020 2020 2020 late} │ │ │ +00009b30: 2020 7b48 544d 4c7d 7b30 3036 3430 307d {HTML}{006400} │ │ │ +00009b40: 0a20 2020 205c 6465 6669 6e65 636f 6c6f . \definecolo │ │ │ +00009b50: 727b 4167 6461 5072 696d 6974 6976 657d r{AgdaPrimitive} │ │ │ +00009b60: 2020 2020 2020 2020 2020 2020 207b 4854 {HT │ │ │ +00009b70: 4d4c 7d7b 3030 3634 3030 7d0a 2020 2020 ML}{006400}. │ │ │ +00009b80: 5c64 6566 696e 6563 6f6c 6f72 7b41 6764 \definecolor{Agd │ │ │ +00009b90: 6152 6563 6f72 647d 2020 2020 2020 2020 aRecord} │ │ │ +00009ba0: 2020 2020 2020 2020 7b48 544d 4c7d 7b30 {HTML}{0 │ │ │ +00009bb0: 3030 3043 447d 0a20 2020 205c 6465 6669 000CD}. \defi │ │ │ +00009bc0: 6e65 636f 6c6f 727b 4167 6461 4172 6775 necolor{AgdaArgu │ │ │ +00009bd0: 6d65 6e74 7d20 2020 2020 2020 2020 2020 ment} │ │ │ +00009be0: 2020 207b 4854 4d4c 7d7b 3430 3430 3430 {HTML}{404040 │ │ │ +00009bf0: 7d0a 0a20 2020 2025 204f 7468 6572 2061 }.. % Other a │ │ │ +00009c00: 7370 6563 7420 636f 6c6f 7572 732e 0a20 spect colours.. │ │ │ +00009c10: 2020 205c 6465 6669 6e65 636f 6c6f 727b \definecolor{ │ │ │ +00009c20: 4167 6461 446f 7474 6564 5061 7474 6572 AgdaDottedPatter │ │ │ +00009c30: 6e7d 2020 2020 207b 4854 4d4c 7d7b 3030 n} {HTML}{00 │ │ │ +00009c40: 3030 3030 7d0a 2020 2020 5c64 6566 696e 0000}. \defin │ │ │ +00009c50: 6563 6f6c 6f72 7b41 6764 6155 6e73 6f6c ecolor{AgdaUnsol │ │ │ +00009c60: 7665 644d 6574 617d 2020 2020 2020 7b48 vedMeta} {H │ │ │ +00009c70: 544d 4c7d 7b46 4644 3730 307d 0a20 2020 TML}{FFD700}. │ │ │ +00009c80: 205c 6465 6669 6e65 636f 6c6f 727b 4167 \definecolor{Ag │ │ │ +00009c90: 6461 556e 736f 6c76 6564 436f 6e73 7472 daUnsolvedConstr │ │ │ +00009ca0: 6169 6e74 7d7b 4854 4d4c 7d7b 4646 4437 aint}{HTML}{FFD7 │ │ │ +00009cb0: 3030 7d0a 2020 2020 5c64 6566 696e 6563 00}. \definec │ │ │ +00009cc0: 6f6c 6f72 7b41 6764 6154 6572 6d69 6e61 olor{AgdaTermina │ │ │ +00009cd0: 7469 6f6e 5072 6f62 6c65 6d7d 7b48 544d tionProblem}{HTM │ │ │ +00009ce0: 4c7d 7b46 4630 3030 307d 0a20 2020 205c L}{FF0000}. \ │ │ │ +00009cf0: 6465 6669 6e65 636f 6c6f 727b 4167 6461 definecolor{Agda │ │ │ +00009d00: 496e 636f 6d70 6c65 7465 5061 7474 6572 IncompletePatter │ │ │ +00009d10: 6e7d 207b 4854 4d4c 7d7b 4130 3230 4630 n} {HTML}{A020F0 │ │ │ +00009d20: 7d0a 2020 2020 5c64 6566 696e 6563 6f6c }. \definecol │ │ │ +00009d30: 6f72 7b41 6764 6145 7272 6f72 5761 726e or{AgdaErrorWarn │ │ │ +00009d40: 696e 677d 2020 2020 2020 7b48 544d 4c7d ing} {HTML} │ │ │ +00009d50: 7b46 4630 3030 307d 0a20 2020 205c 6465 {FF0000}. \de │ │ │ +00009d60: 6669 6e65 636f 6c6f 727b 4167 6461 4572 finecolor{AgdaEr │ │ │ +00009d70: 726f 727d 2020 2020 2020 2020 2020 2020 ror} │ │ │ +00009d80: 207b 4854 4d4c 7d7b 4634 4134 3630 7d0a {HTML}{F4A460}. │ │ │ +00009d90: 0a20 2020 2025 204d 6973 632e 0a20 2020 . % Misc.. │ │ │ +00009da0: 205c 6465 6669 6e65 636f 6c6f 727b 4167 \definecolor{Ag │ │ │ +00009db0: 6461 486f 6c65 7d20 2020 2020 2020 2020 daHole} │ │ │ +00009dc0: 2020 2020 207b 4854 4d4c 7d7b 3944 4646 {HTML}{9DFF │ │ │ +00009dd0: 3944 7d0a 0a25 202d 2d2d 2d2d 2d2d 2d2d 9D}..% --------- │ │ │ 00009de0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ -00009df0: 2d2d 2d2d 2d2d 2d2d 0a25 2054 6865 2073 --------.% The s │ │ │ -00009e00: 7461 6e64 6172 6420 636f 6c6f 7572 2073 tandard colour s │ │ │ -00009e10: 6368 656d 652e 0a7d 7b0a 2020 2020 2520 cheme..}{. % │ │ │ -00009e20: 4173 7065 6374 2063 6f6c 6f75 7273 2e0a Aspect colours.. │ │ │ -00009e30: 2020 2020 5c64 6566 696e 6563 6f6c 6f72 \definecolor │ │ │ -00009e40: 7b41 6764 6143 6f6d 6d65 6e74 7d20 2020 {AgdaComment} │ │ │ -00009e50: 2020 207b 4854 4d4c 7d7b 4232 3232 3232 {HTML}{B22222 │ │ │ -00009e60: 7d0a 2020 2020 5c64 6566 696e 6563 6f6c }. \definecol │ │ │ -00009e70: 6f72 7b41 6764 6150 7261 676d 617d 2020 or{AgdaPragma} │ │ │ -00009e80: 2020 2020 207b 4854 4d4c 7d7b 3030 3030 {HTML}{0000 │ │ │ -00009e90: 3030 7d0a 2020 2020 5c64 6566 696e 6563 00}. \definec │ │ │ -00009ea0: 6f6c 6f72 7b41 6764 614b 6579 776f 7264 olor{AgdaKeyword │ │ │ -00009eb0: 7d20 2020 2020 207b 4854 4d4c 7d7b 4344 } {HTML}{CD │ │ │ -00009ec0: 3636 3030 7d0a 2020 2020 5c64 6566 696e 6600}. \defin │ │ │ -00009ed0: 6563 6f6c 6f72 7b41 6764 6153 7472 696e ecolor{AgdaStrin │ │ │ -00009ee0: 677d 2020 2020 2020 207b 4854 4d4c 7d7b g} {HTML}{ │ │ │ -00009ef0: 4232 3232 3232 7d0a 2020 2020 5c64 6566 B22222}. \def │ │ │ -00009f00: 696e 6563 6f6c 6f72 7b41 6764 614e 756d inecolor{AgdaNum │ │ │ -00009f10: 6265 727d 2020 2020 2020 207b 4854 4d4c ber} {HTML │ │ │ -00009f20: 7d7b 4130 3230 4630 7d0a 2020 2020 5c64 }{A020F0}. \d │ │ │ -00009f30: 6566 696e 6563 6f6c 6f72 7b41 6764 6153 efinecolor{AgdaS │ │ │ -00009f40: 796d 626f 6c7d 2020 2020 2020 207b 4854 ymbol} {HT │ │ │ -00009f50: 4d4c 7d7b 3430 3430 3430 7d0a 2020 2020 ML}{404040}. │ │ │ -00009f60: 5c64 6566 696e 6563 6f6c 6f72 7b41 6764 \definecolor{Agd │ │ │ -00009f70: 6150 7269 6d69 7469 7665 5479 7065 7d7b aPrimitiveType}{ │ │ │ -00009f80: 4854 4d4c 7d7b 3030 3030 4344 7d0a 0a20 HTML}{0000CD}.. │ │ │ -00009f90: 2020 2025 204e 616d 654b 696e 6420 636f % NameKind co │ │ │ -00009fa0: 6c6f 7572 732e 0a20 2020 205c 6465 6669 lours.. \defi │ │ │ -00009fb0: 6e65 636f 6c6f 727b 4167 6461 426f 756e necolor{AgdaBoun │ │ │ -00009fc0: 647d 2020 2020 2020 2020 2020 2020 2020 d} │ │ │ -00009fd0: 2020 207b 4854 4d4c 7d7b 3030 3030 3030 {HTML}{000000 │ │ │ -00009fe0: 7d0a 2020 2020 5c64 6566 696e 6563 6f6c }. \definecol │ │ │ -00009ff0: 6f72 7b41 6764 6147 656e 6572 616c 697a or{AgdaGeneraliz │ │ │ -0000a000: 6162 6c65 7d20 2020 2020 2020 2020 7b48 able} {H │ │ │ -0000a010: 544d 4c7d 7b30 3030 3030 307d 0a20 2020 TML}{000000}. │ │ │ -0000a020: 205c 6465 6669 6e65 636f 6c6f 727b 4167 \definecolor{Ag │ │ │ -0000a030: 6461 496e 6475 6374 6976 6543 6f6e 7374 daInductiveConst │ │ │ -0000a040: 7275 6374 6f72 7d20 207b 4854 4d4c 7d7b ructor} {HTML}{ │ │ │ -0000a050: 3030 3842 3030 7d0a 2020 2020 5c64 6566 008B00}. \def │ │ │ -0000a060: 696e 6563 6f6c 6f72 7b41 6764 6143 6f69 inecolor{AgdaCoi │ │ │ -0000a070: 6e64 7563 7469 7665 436f 6e73 7472 7563 nductiveConstruc │ │ │ -0000a080: 746f 727d 7b48 544d 4c7d 7b38 4237 3530 tor}{HTML}{8B750 │ │ │ -0000a090: 307d 0a20 2020 205c 6465 6669 6e65 636f 0}. \defineco │ │ │ -0000a0a0: 6c6f 727b 4167 6461 4461 7461 7479 7065 lor{AgdaDatatype │ │ │ -0000a0b0: 7d20 2020 2020 2020 2020 2020 2020 207b } { │ │ │ -0000a0c0: 4854 4d4c 7d7b 3030 3030 4344 7d0a 2020 HTML}{0000CD}. │ │ │ -0000a0d0: 2020 5c64 6566 696e 6563 6f6c 6f72 7b41 \definecolor{A │ │ │ -0000a0e0: 6764 6146 6965 6c64 7d20 2020 2020 2020 gdaField} │ │ │ -0000a0f0: 2020 2020 2020 2020 2020 7b48 544d 4c7d {HTML} │ │ │ -0000a100: 7b45 4531 3238 397d 0a20 2020 205c 6465 {EE1289}. \de │ │ │ -0000a110: 6669 6e65 636f 6c6f 727b 4167 6461 4675 finecolor{AgdaFu │ │ │ -0000a120: 6e63 7469 6f6e 7d20 2020 2020 2020 2020 nction} │ │ │ -0000a130: 2020 2020 207b 4854 4d4c 7d7b 3030 3030 {HTML}{0000 │ │ │ -0000a140: 4344 7d0a 2020 2020 5c64 6566 696e 6563 CD}. \definec │ │ │ -0000a150: 6f6c 6f72 7b41 6764 614d 6163 726f 7d20 olor{AgdaMacro} │ │ │ +00009df0: 2d2d 2d2d 2d2d 2d2d 2d0a 2520 5468 6520 ---------.% The │ │ │ +00009e00: 7374 616e 6461 7264 2063 6f6c 6f75 7220 standard colour │ │ │ +00009e10: 7363 6865 6d65 2e0a 7d7b 0a20 2020 2025 scheme..}{. % │ │ │ +00009e20: 2041 7370 6563 7420 636f 6c6f 7572 732e Aspect colours. │ │ │ +00009e30: 0a20 2020 205c 6465 6669 6e65 636f 6c6f . \definecolo │ │ │ +00009e40: 727b 4167 6461 436f 6d6d 656e 747d 2020 r{AgdaComment} │ │ │ +00009e50: 2020 2020 7b48 544d 4c7d 7b42 3232 3232 {HTML}{B2222 │ │ │ +00009e60: 327d 0a20 2020 205c 6465 6669 6e65 636f 2}. \defineco │ │ │ +00009e70: 6c6f 727b 4167 6461 5072 6167 6d61 7d20 lor{AgdaPragma} │ │ │ +00009e80: 2020 2020 2020 7b48 544d 4c7d 7b30 3030 {HTML}{000 │ │ │ +00009e90: 3030 307d 0a20 2020 205c 6465 6669 6e65 000}. \define │ │ │ +00009ea0: 636f 6c6f 727b 4167 6461 4b65 7977 6f72 color{AgdaKeywor │ │ │ +00009eb0: 647d 2020 2020 2020 7b48 544d 4c7d 7b43 d} {HTML}{C │ │ │ +00009ec0: 4436 3630 307d 0a20 2020 205c 6465 6669 D6600}. \defi │ │ │ +00009ed0: 6e65 636f 6c6f 727b 4167 6461 5374 7269 necolor{AgdaStri │ │ │ +00009ee0: 6e67 7d20 2020 2020 2020 7b48 544d 4c7d ng} {HTML} │ │ │ +00009ef0: 7b42 3232 3232 327d 0a20 2020 205c 6465 {B22222}. \de │ │ │ +00009f00: 6669 6e65 636f 6c6f 727b 4167 6461 4e75 finecolor{AgdaNu │ │ │ +00009f10: 6d62 6572 7d20 2020 2020 2020 7b48 544d mber} {HTM │ │ │ +00009f20: 4c7d 7b41 3032 3046 307d 0a20 2020 205c L}{A020F0}. \ │ │ │ +00009f30: 6465 6669 6e65 636f 6c6f 727b 4167 6461 definecolor{Agda │ │ │ +00009f40: 5379 6d62 6f6c 7d20 2020 2020 2020 7b48 Symbol} {H │ │ │ +00009f50: 544d 4c7d 7b34 3034 3034 307d 0a20 2020 TML}{404040}. │ │ │ +00009f60: 205c 6465 6669 6e65 636f 6c6f 727b 4167 \definecolor{Ag │ │ │ +00009f70: 6461 5072 696d 6974 6976 6554 7970 657d daPrimitiveType} │ │ │ +00009f80: 7b48 544d 4c7d 7b30 3030 3043 447d 0a0a {HTML}{0000CD}.. │ │ │ +00009f90: 2020 2020 2520 4e61 6d65 4b69 6e64 2063 % NameKind c │ │ │ +00009fa0: 6f6c 6f75 7273 2e0a 2020 2020 5c64 6566 olours.. \def │ │ │ +00009fb0: 696e 6563 6f6c 6f72 7b41 6764 6142 6f75 inecolor{AgdaBou │ │ │ +00009fc0: 6e64 7d20 2020 2020 2020 2020 2020 2020 nd} │ │ │ +00009fd0: 2020 2020 7b48 544d 4c7d 7b30 3030 3030 {HTML}{00000 │ │ │ +00009fe0: 307d 0a20 2020 205c 6465 6669 6e65 636f 0}. \defineco │ │ │ +00009ff0: 6c6f 727b 4167 6461 4765 6e65 7261 6c69 lor{AgdaGenerali │ │ │ +0000a000: 7a61 626c 657d 2020 2020 2020 2020 207b zable} { │ │ │ +0000a010: 4854 4d4c 7d7b 3030 3030 3030 7d0a 2020 HTML}{000000}. │ │ │ +0000a020: 2020 5c64 6566 696e 6563 6f6c 6f72 7b41 \definecolor{A │ │ │ +0000a030: 6764 6149 6e64 7563 7469 7665 436f 6e73 gdaInductiveCons │ │ │ +0000a040: 7472 7563 746f 727d 2020 7b48 544d 4c7d tructor} {HTML} │ │ │ +0000a050: 7b30 3038 4230 307d 0a20 2020 205c 6465 {008B00}. \de │ │ │ +0000a060: 6669 6e65 636f 6c6f 727b 4167 6461 436f finecolor{AgdaCo │ │ │ +0000a070: 696e 6475 6374 6976 6543 6f6e 7374 7275 inductiveConstru │ │ │ +0000a080: 6374 6f72 7d7b 4854 4d4c 7d7b 3842 3735 ctor}{HTML}{8B75 │ │ │ +0000a090: 3030 7d0a 2020 2020 5c64 6566 696e 6563 00}. \definec │ │ │ +0000a0a0: 6f6c 6f72 7b41 6764 6144 6174 6174 7970 olor{AgdaDatatyp │ │ │ +0000a0b0: 657d 2020 2020 2020 2020 2020 2020 2020 e} │ │ │ +0000a0c0: 7b48 544d 4c7d 7b30 3030 3043 447d 0a20 {HTML}{0000CD}. │ │ │ +0000a0d0: 2020 205c 6465 6669 6e65 636f 6c6f 727b \definecolor{ │ │ │ +0000a0e0: 4167 6461 4669 656c 647d 2020 2020 2020 AgdaField} │ │ │ +0000a0f0: 2020 2020 2020 2020 2020 207b 4854 4d4c {HTML │ │ │ +0000a100: 7d7b 4545 3132 3839 7d0a 2020 2020 5c64 }{EE1289}. \d │ │ │ +0000a110: 6566 696e 6563 6f6c 6f72 7b41 6764 6146 efinecolor{AgdaF │ │ │ +0000a120: 756e 6374 696f 6e7d 2020 2020 2020 2020 unction} │ │ │ +0000a130: 2020 2020 2020 7b48 544d 4c7d 7b30 3030 {HTML}{000 │ │ │ +0000a140: 3043 447d 0a20 2020 205c 6465 6669 6e65 0CD}. \define │ │ │ +0000a150: 636f 6c6f 727b 4167 6461 4d61 6372 6f7d color{AgdaMacro} │ │ │ 0000a160: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0000a170: 7b48 544d 4c7d 7b34 3538 4237 347d 0a20 {HTML}{458B74}. │ │ │ -0000a180: 2020 205c 6465 6669 6e65 636f 6c6f 727b \definecolor{ │ │ │ -0000a190: 4167 6461 4d6f 6475 6c65 7d20 2020 2020 AgdaModule} │ │ │ -0000a1a0: 2020 2020 2020 2020 2020 207b 4854 4d4c {HTML │ │ │ -0000a1b0: 7d7b 4130 3230 4630 7d0a 2020 2020 5c64 }{A020F0}. \d │ │ │ -0000a1c0: 6566 696e 6563 6f6c 6f72 7b41 6764 6150 efinecolor{AgdaP │ │ │ -0000a1d0: 6f73 7475 6c61 7465 7d20 2020 2020 2020 ostulate} │ │ │ -0000a1e0: 2020 2020 2020 7b48 544d 4c7d 7b30 3030 {HTML}{000 │ │ │ -0000a1f0: 3043 447d 0a20 2020 205c 6465 6669 6e65 0CD}. \define │ │ │ -0000a200: 636f 6c6f 727b 4167 6461 5072 696d 6974 color{AgdaPrimit │ │ │ -0000a210: 6976 657d 2020 2020 2020 2020 2020 2020 ive} │ │ │ -0000a220: 207b 4854 4d4c 7d7b 3030 3030 4344 7d0a {HTML}{0000CD}. │ │ │ -0000a230: 2020 2020 5c64 6566 696e 6563 6f6c 6f72 \definecolor │ │ │ -0000a240: 7b41 6764 6152 6563 6f72 647d 2020 2020 {AgdaRecord} │ │ │ -0000a250: 2020 2020 2020 2020 2020 2020 7b48 544d {HTM │ │ │ -0000a260: 4c7d 7b30 3030 3043 447d 0a20 2020 205c L}{0000CD}. \ │ │ │ -0000a270: 6465 6669 6e65 636f 6c6f 727b 4167 6461 definecolor{Agda │ │ │ -0000a280: 4172 6775 6d65 6e74 7d20 2020 2020 2020 Argument} │ │ │ -0000a290: 2020 2020 2020 207b 4854 4d4c 7d7b 3430 {HTML}{40 │ │ │ -0000a2a0: 3430 3430 7d0a 0a20 2020 2025 204f 7468 4040}.. % Oth │ │ │ -0000a2b0: 6572 2061 7370 6563 7420 636f 6c6f 7572 er aspect colour │ │ │ -0000a2c0: 732e 0a20 2020 205c 6465 6669 6e65 636f s.. \defineco │ │ │ -0000a2d0: 6c6f 727b 4167 6461 446f 7474 6564 5061 lor{AgdaDottedPa │ │ │ -0000a2e0: 7474 6572 6e7d 2020 2020 207b 4854 4d4c ttern} {HTML │ │ │ -0000a2f0: 7d7b 3030 3030 3030 7d0a 2020 2020 5c64 }{000000}. \d │ │ │ -0000a300: 6566 696e 6563 6f6c 6f72 7b41 6764 6155 efinecolor{AgdaU │ │ │ -0000a310: 6e73 6f6c 7665 644d 6574 617d 2020 2020 nsolvedMeta} │ │ │ -0000a320: 2020 7b48 544d 4c7d 7b46 4646 4630 307d {HTML}{FFFF00} │ │ │ -0000a330: 0a20 2020 205c 6465 6669 6e65 636f 6c6f . \definecolo │ │ │ -0000a340: 727b 4167 6461 556e 736f 6c76 6564 436f r{AgdaUnsolvedCo │ │ │ -0000a350: 6e73 7472 6169 6e74 7d7b 4854 4d4c 7d7b nstraint}{HTML}{ │ │ │ -0000a360: 4646 4646 3030 7d0a 2020 2020 5c64 6566 FFFF00}. \def │ │ │ -0000a370: 696e 6563 6f6c 6f72 7b41 6764 6154 6572 inecolor{AgdaTer │ │ │ -0000a380: 6d69 6e61 7469 6f6e 5072 6f62 6c65 6d7d minationProblem} │ │ │ -0000a390: 7b48 544d 4c7d 7b46 4641 3037 417d 0a20 {HTML}{FFA07A}. │ │ │ -0000a3a0: 2020 205c 6465 6669 6e65 636f 6c6f 727b \definecolor{ │ │ │ -0000a3b0: 4167 6461 496e 636f 6d70 6c65 7465 5061 AgdaIncompletePa │ │ │ -0000a3c0: 7474 6572 6e7d 207b 4854 4d4c 7d7b 4635 ttern} {HTML}{F5 │ │ │ -0000a3d0: 4445 4233 7d0a 2020 2020 5c64 6566 696e DEB3}. \defin │ │ │ -0000a3e0: 6563 6f6c 6f72 7b41 6764 6145 7272 6f72 ecolor{AgdaError │ │ │ -0000a3f0: 5761 726e 696e 677d 2020 2020 2020 7b48 Warning} {H │ │ │ -0000a400: 544d 4c7d 7b46 4641 3037 417d 0a20 2020 TML}{FFA07A}. │ │ │ -0000a410: 205c 6465 6669 6e65 636f 6c6f 727b 4167 \definecolor{Ag │ │ │ -0000a420: 6461 4572 726f 727d 2020 2020 2020 2020 daError} │ │ │ -0000a430: 2020 2020 207b 4854 4d4c 7d7b 4646 3030 {HTML}{FF00 │ │ │ -0000a440: 3030 7d0a 0a20 2020 2025 204d 6973 632e 00}.. % Misc. │ │ │ -0000a450: 0a20 2020 205c 6465 6669 6e65 636f 6c6f . \definecolo │ │ │ -0000a460: 727b 4167 6461 486f 6c65 7d20 2020 2020 r{AgdaHole} │ │ │ -0000a470: 2020 2020 2020 2020 207b 4854 4d4c 7d7b {HTML}{ │ │ │ -0000a480: 3944 4646 3944 7d0a 7d7d 0a0a 2520 2d2d 9DFF9D}.}}..% -- │ │ │ +0000a170: 207b 4854 4d4c 7d7b 3435 3842 3734 7d0a {HTML}{458B74}. │ │ │ +0000a180: 2020 2020 5c64 6566 696e 6563 6f6c 6f72 \definecolor │ │ │ +0000a190: 7b41 6764 614d 6f64 756c 657d 2020 2020 {AgdaModule} │ │ │ +0000a1a0: 2020 2020 2020 2020 2020 2020 7b48 544d {HTM │ │ │ +0000a1b0: 4c7d 7b41 3032 3046 307d 0a20 2020 205c L}{A020F0}. \ │ │ │ +0000a1c0: 6465 6669 6e65 636f 6c6f 727b 4167 6461 definecolor{Agda │ │ │ +0000a1d0: 506f 7374 756c 6174 657d 2020 2020 2020 Postulate} │ │ │ +0000a1e0: 2020 2020 2020 207b 4854 4d4c 7d7b 3030 {HTML}{00 │ │ │ +0000a1f0: 3030 4344 7d0a 2020 2020 5c64 6566 696e 00CD}. \defin │ │ │ +0000a200: 6563 6f6c 6f72 7b41 6764 6150 7269 6d69 ecolor{AgdaPrimi │ │ │ +0000a210: 7469 7665 7d20 2020 2020 2020 2020 2020 tive} │ │ │ +0000a220: 2020 7b48 544d 4c7d 7b30 3030 3043 447d {HTML}{0000CD} │ │ │ +0000a230: 0a20 2020 205c 6465 6669 6e65 636f 6c6f . \definecolo │ │ │ +0000a240: 727b 4167 6461 5265 636f 7264 7d20 2020 r{AgdaRecord} │ │ │ +0000a250: 2020 2020 2020 2020 2020 2020 207b 4854 {HT │ │ │ +0000a260: 4d4c 7d7b 3030 3030 4344 7d0a 2020 2020 ML}{0000CD}. │ │ │ +0000a270: 5c64 6566 696e 6563 6f6c 6f72 7b41 6764 \definecolor{Agd │ │ │ +0000a280: 6141 7267 756d 656e 747d 2020 2020 2020 aArgument} │ │ │ +0000a290: 2020 2020 2020 2020 7b48 544d 4c7d 7b34 {HTML}{4 │ │ │ +0000a2a0: 3034 3034 307d 0a0a 2020 2020 2520 4f74 04040}.. % Ot │ │ │ +0000a2b0: 6865 7220 6173 7065 6374 2063 6f6c 6f75 her aspect colou │ │ │ +0000a2c0: 7273 2e0a 2020 2020 5c64 6566 696e 6563 rs.. \definec │ │ │ +0000a2d0: 6f6c 6f72 7b41 6764 6144 6f74 7465 6450 olor{AgdaDottedP │ │ │ +0000a2e0: 6174 7465 726e 7d20 2020 2020 7b48 544d attern} {HTM │ │ │ +0000a2f0: 4c7d 7b30 3030 3030 307d 0a20 2020 205c L}{000000}. \ │ │ │ +0000a300: 6465 6669 6e65 636f 6c6f 727b 4167 6461 definecolor{Agda │ │ │ +0000a310: 556e 736f 6c76 6564 4d65 7461 7d20 2020 UnsolvedMeta} │ │ │ +0000a320: 2020 207b 4854 4d4c 7d7b 4646 4646 3030 {HTML}{FFFF00 │ │ │ +0000a330: 7d0a 2020 2020 5c64 6566 696e 6563 6f6c }. \definecol │ │ │ +0000a340: 6f72 7b41 6764 6155 6e73 6f6c 7665 6443 or{AgdaUnsolvedC │ │ │ +0000a350: 6f6e 7374 7261 696e 747d 7b48 544d 4c7d onstraint}{HTML} │ │ │ +0000a360: 7b46 4646 4630 307d 0a20 2020 205c 6465 {FFFF00}. \de │ │ │ +0000a370: 6669 6e65 636f 6c6f 727b 4167 6461 5465 finecolor{AgdaTe │ │ │ +0000a380: 726d 696e 6174 696f 6e50 726f 626c 656d rminationProblem │ │ │ +0000a390: 7d7b 4854 4d4c 7d7b 4646 4130 3741 7d0a }{HTML}{FFA07A}. │ │ │ +0000a3a0: 2020 2020 5c64 6566 696e 6563 6f6c 6f72 \definecolor │ │ │ +0000a3b0: 7b41 6764 6149 6e63 6f6d 706c 6574 6550 {AgdaIncompleteP │ │ │ +0000a3c0: 6174 7465 726e 7d20 7b48 544d 4c7d 7b46 attern} {HTML}{F │ │ │ +0000a3d0: 3544 4542 337d 0a20 2020 205c 6465 6669 5DEB3}. \defi │ │ │ +0000a3e0: 6e65 636f 6c6f 727b 4167 6461 4572 726f necolor{AgdaErro │ │ │ +0000a3f0: 7257 6172 6e69 6e67 7d20 2020 2020 207b rWarning} { │ │ │ +0000a400: 4854 4d4c 7d7b 4646 4130 3741 7d0a 2020 HTML}{FFA07A}. │ │ │ +0000a410: 2020 5c64 6566 696e 6563 6f6c 6f72 7b41 \definecolor{A │ │ │ +0000a420: 6764 6145 7272 6f72 7d20 2020 2020 2020 gdaError} │ │ │ +0000a430: 2020 2020 2020 7b48 544d 4c7d 7b46 4630 {HTML}{FF0 │ │ │ +0000a440: 3030 307d 0a0a 2020 2020 2520 4d69 7363 000}.. % Misc │ │ │ +0000a450: 2e0a 2020 2020 5c64 6566 696e 6563 6f6c .. \definecol │ │ │ +0000a460: 6f72 7b41 6764 6148 6f6c 657d 2020 2020 or{AgdaHole} │ │ │ +0000a470: 2020 2020 2020 2020 2020 7b48 544d 4c7d {HTML} │ │ │ +0000a480: 7b39 4446 4639 447d 0a7d 7d0a 0a25 202d {9DFF9D}.}}..% - │ │ │ 0000a490: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 0000a4a0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 0000a4b0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 0000a4c0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ -0000a4d0: 2d2d 2d2d 0a25 2043 6f6d 6d61 6e64 732e ----.% Commands. │ │ │ -0000a4e0: 0a0a 5c6e 6577 636f 6d6d 616e 647b 5c41 ..\newcommand{\A │ │ │ -0000a4f0: 6764 614e 6f53 7061 6365 4d61 7468 7d5b gdaNoSpaceMath}[ │ │ │ -0000a500: 315d 0a20 2020 207b 5c62 6567 696e 6772 1]. {\begingr │ │ │ -0000a510: 6f75 705c 7468 6963 6b6d 7573 6b69 703d oup\thickmuskip= │ │ │ -0000a520: 306d 755c 6d65 646d 7573 6b69 703d 306d 0mu\medmuskip=0m │ │ │ -0000a530: 7523 315c 656e 6467 726f 7570 7d0a 0a25 u#1\endgroup}..% │ │ │ -0000a540: 2041 7370 6563 7420 636f 6d6d 616e 6473 Aspect commands │ │ │ -0000a550: 2e0a 5c6e 6577 636f 6d6d 616e 647b 5c41 ..\newcommand{\A │ │ │ -0000a560: 6764 6143 6f6d 6d65 6e74 7d20 2020 2020 gdaComment} │ │ │ -0000a570: 5b31 5d0a 2020 2020 7b5c 4167 6461 4e6f [1]. {\AgdaNo │ │ │ -0000a580: 5370 6163 654d 6174 687b 5c74 6578 7463 SpaceMath{\textc │ │ │ -0000a590: 6f6c 6f72 7b41 6764 6143 6f6d 6d65 6e74 olor{AgdaComment │ │ │ -0000a5a0: 7d7b 5c41 6764 6143 6f6d 6d65 6e74 466f }{\AgdaCommentFo │ │ │ -0000a5b0: 6e74 5374 796c 657b 2331 7d7d 7d7d 0a5c ntStyle{#1}}}}.\ │ │ │ -0000a5c0: 6e65 7763 6f6d 6d61 6e64 7b5c 4167 6461 newcommand{\Agda │ │ │ -0000a5d0: 5072 6167 6d61 7d20 2020 2020 205b 315d Pragma} [1] │ │ │ -0000a5e0: 0a20 2020 207b 5c41 6764 614e 6f53 7061 . {\AgdaNoSpa │ │ │ -0000a5f0: 6365 4d61 7468 7b5c 7465 7874 636f 6c6f ceMath{\textcolo │ │ │ -0000a600: 727b 4167 6461 5072 6167 6d61 7d7b 5c41 r{AgdaPragma}{\A │ │ │ -0000a610: 6764 6143 6f6d 6d65 6e74 466f 6e74 5374 gdaCommentFontSt │ │ │ -0000a620: 796c 657b 2331 7d7d 7d7d 0a5c 6e65 7763 yle{#1}}}}.\newc │ │ │ -0000a630: 6f6d 6d61 6e64 7b5c 4167 6461 4b65 7977 ommand{\AgdaKeyw │ │ │ -0000a640: 6f72 647d 2020 2020 205b 315d 0a20 2020 ord} [1]. │ │ │ -0000a650: 207b 5c41 6764 614e 6f53 7061 6365 4d61 {\AgdaNoSpaceMa │ │ │ -0000a660: 7468 7b5c 7465 7874 636f 6c6f 727b 4167 th{\textcolor{Ag │ │ │ -0000a670: 6461 4b65 7977 6f72 647d 7b5c 4167 6461 daKeyword}{\Agda │ │ │ -0000a680: 4b65 7977 6f72 6446 6f6e 7453 7479 6c65 KeywordFontStyle │ │ │ -0000a690: 7b23 317d 7d7d 7d0a 5c6e 6577 636f 6d6d {#1}}}}.\newcomm │ │ │ -0000a6a0: 616e 647b 5c41 6764 6153 7472 696e 677d and{\AgdaString} │ │ │ -0000a6b0: 2020 2020 2020 5b31 5d0a 2020 2020 7b5c [1]. {\ │ │ │ -0000a6c0: 4167 6461 4e6f 5370 6163 654d 6174 687b AgdaNoSpaceMath{ │ │ │ -0000a6d0: 5c74 6578 7463 6f6c 6f72 7b41 6764 6153 \textcolor{AgdaS │ │ │ -0000a6e0: 7472 696e 677d 7b5c 4167 6461 5374 7269 tring}{\AgdaStri │ │ │ -0000a6f0: 6e67 466f 6e74 5374 796c 657b 2331 7d7d ngFontStyle{#1}} │ │ │ -0000a700: 7d7d 0a5c 6e65 7763 6f6d 6d61 6e64 7b5c }}.\newcommand{\ │ │ │ -0000a710: 4167 6461 4e75 6d62 6572 7d20 2020 2020 AgdaNumber} │ │ │ -0000a720: 205b 315d 0a20 2020 207b 5c41 6764 614e [1]. {\AgdaN │ │ │ -0000a730: 6f53 7061 6365 4d61 7468 7b5c 7465 7874 oSpaceMath{\text │ │ │ -0000a740: 636f 6c6f 727b 4167 6461 4e75 6d62 6572 color{AgdaNumber │ │ │ -0000a750: 7d7b 5c41 6764 6146 6f6e 7453 7479 6c65 }{\AgdaFontStyle │ │ │ -0000a760: 7b23 317d 7d7d 7d0a 5c6e 6577 636f 6d6d {#1}}}}.\newcomm │ │ │ -0000a770: 616e 647b 5c41 6764 6153 796d 626f 6c7d and{\AgdaSymbol} │ │ │ -0000a780: 2020 2020 2020 5b31 5d0a 2020 2020 7b5c [1]. {\ │ │ │ -0000a790: 4167 6461 4e6f 5370 6163 654d 6174 687b AgdaNoSpaceMath{ │ │ │ -0000a7a0: 5c74 6578 7463 6f6c 6f72 7b41 6764 6153 \textcolor{AgdaS │ │ │ -0000a7b0: 796d 626f 6c7d 7b5c 4167 6461 466f 6e74 ymbol}{\AgdaFont │ │ │ -0000a7c0: 5374 796c 657b 2331 7d7d 7d7d 0a5c 6e65 Style{#1}}}}.\ne │ │ │ -0000a7d0: 7763 6f6d 6d61 6e64 7b5c 4167 6461 5072 wcommand{\AgdaPr │ │ │ -0000a7e0: 696d 6974 6976 6554 7970 657d 5b31 5d0a imitiveType}[1]. │ │ │ -0000a7f0: 2020 2020 7b5c 4167 6461 4e6f 5370 6163 {\AgdaNoSpac │ │ │ -0000a800: 654d 6174 687b 5c74 6578 7463 6f6c 6f72 eMath{\textcolor │ │ │ -0000a810: 7b41 6764 6150 7269 6d69 7469 7665 5479 {AgdaPrimitiveTy │ │ │ -0000a820: 7065 7d7b 5c41 6764 6146 6f6e 7453 7479 pe}{\AgdaFontSty │ │ │ -0000a830: 6c65 7b23 317d 7d7d 7d0a 2525 2041 6e64 le{#1}}}}.%% And │ │ │ -0000a840: 7265 6173 2c20 3230 3231 2d30 372d 3134 reas, 2021-07-14 │ │ │ -0000a850: 2c20 6973 7375 6520 2335 3437 310a 2525 , issue #5471.%% │ │ │ -0000a860: 2054 6f20 6d61 6b65 2069 7461 6c69 6373 To make italics │ │ │ -0000a870: 2063 6f72 7265 6374 696f 6e20 5c2f 2077 correction \/ w │ │ │ -0000a880: 6f72 6b2c 2074 6865 2066 6f6e 742d 7374 ork, the font-st │ │ │ -0000a890: 796c 6520 6d6f 6469 6669 6572 0a25 2520 yle modifier.%% │ │ │ -0000a8a0: 6e65 6564 7320 746f 2062 6520 696e 7369 needs to be insi │ │ │ -0000a8b0: 6465 2c20 696e 2070 6172 7469 6375 6c61 de, in particula │ │ │ -0000a8c0: 7220 696e 7369 6465 2074 6865 205c 7465 r inside the \te │ │ │ -0000a8d0: 7874 636f 6c6f 7220 6d6f 6469 6669 6572 xtcolor modifier │ │ │ -0000a8e0: 2c0a 2525 2061 7320 7468 6520 5c74 6578 ,.%% as the \tex │ │ │ -0000a8f0: 7463 6f6c 6f72 7b7d 2077 7261 7070 696e tcolor{} wrappin │ │ │ -0000a900: 6720 6172 6f75 6e64 2073 6f6d 6574 6869 g around somethi │ │ │ -0000a910: 6e67 2068 6964 6573 2069 7473 2063 6f6e ng hides its con │ │ │ -0000a920: 7465 6e74 0a25 2520 746f 2074 6865 206c tent.%% to the l │ │ │ -0000a930: 6f67 6963 2074 6861 7420 7265 736f 6c76 ogic that resolv │ │ │ -0000a940: 6573 205c 2f20 696e 746f 2061 2073 7061 es \/ into a spa │ │ │ -0000a950: 6365 206f 7220 6e6f 742e 0a0a 2520 4e6f ce or not...% No │ │ │ -0000a960: 7465 2074 6861 742c 2069 6e20 636f 6465 te that, in code │ │ │ -0000a970: 2067 656e 6572 6174 6564 2062 7920 7468 generated by th │ │ │ -0000a980: 6520 4c61 5465 5820 6261 636b 656e 642c e LaTeX backend, │ │ │ -0000a990: 205c 4167 6461 4f70 6572 6174 6f72 2069 \AgdaOperator i │ │ │ -0000a9a0: 730a 2520 616c 7761 7973 2061 7070 6c69 s.% always appli │ │ │ -0000a9b0: 6564 2074 6f20 6120 4e61 6d65 4b69 6e64 ed to a NameKind │ │ │ -0000a9c0: 2063 6f6d 6d61 6e64 2e0a 5c6e 6577 636f command..\newco │ │ │ -0000a9d0: 6d6d 616e 647b 5c41 6764 614f 7065 7261 mmand{\AgdaOpera │ │ │ -0000a9e0: 746f 727d 2020 2020 5b31 5d7b 2331 7d0a tor} [1]{#1}. │ │ │ -0000a9f0: 0a25 204e 616d 654b 696e 6420 636f 6d6d .% NameKind comm │ │ │ -0000aa00: 616e 6473 2e0a 0a25 2054 6865 2075 7365 ands...% The use │ │ │ -0000aa10: 7220 6361 6e20 636f 6e74 726f 6c20 7468 r can control th │ │ │ -0000aa20: 6520 7479 7065 7365 7474 696e 6720 6f66 e typesetting of │ │ │ -0000aa30: 2028 6365 7274 6169 6e29 2069 6e64 6976 (certain) indiv │ │ │ -0000aa40: 6964 7561 6c20 746f 6b65 6e73 0a25 2062 idual tokens.% b │ │ │ -0000aa50: 7920 7265 6465 6669 6e69 6e67 2074 6865 y redefining the │ │ │ -0000aa60: 2066 6f6c 6c6f 7769 6e67 2063 6f6d 6d61 following comma │ │ │ -0000aa70: 6e64 2e20 5468 6520 6669 7273 7420 6172 nd. The first ar │ │ │ -0000aa80: 6775 6d65 6e74 2069 7320 7468 6520 746f gument is the to │ │ │ -0000aa90: 6b65 6e0a 2520 616e 6420 7468 6520 7365 ken.% and the se │ │ │ -0000aaa0: 636f 6e64 2061 7267 756d 656e 7420 7468 cond argument th │ │ │ -0000aab0: 6520 7468 696e 6720 746f 2062 6520 7479 e thing to be ty │ │ │ -0000aac0: 7065 7365 7420 2873 6f6d 6574 696d 6573 peset (sometimes │ │ │ -0000aad0: 206a 7573 7420 7468 650a 2520 746f 6b65 just the.% toke │ │ │ -0000aae0: 6e2c 2073 6f6d 6574 696d 6573 205c 4167 n, sometimes \Ag │ │ │ -0000aaf0: 6461 4c69 6e6b 7b3c 7468 6520 746f 6b65 daLink{}). Example:.% │ │ │ -0000ab10: 0a25 2020 205c 7573 6570 6163 6b61 6765 .% \usepackage │ │ │ -0000ab20: 7b69 6674 6865 6e7d 0a25 0a25 2020 2025 {ifthen}.%.% % │ │ │ -0000ab30: 2049 6e73 6572 7420 6578 7472 6120 7370 Insert extra sp │ │ │ -0000ab40: 6163 6520 6265 666f 7265 2073 6f6d 6520 ace before some │ │ │ -0000ab50: 746f 6b65 6e73 2e0a 2520 2020 5c44 6563 tokens..% \Dec │ │ │ -0000ab60: 6c61 7265 526f 6275 7374 436f 6d6d 616e lareRobustComman │ │ │ -0000ab70: 647b 5c41 6764 6146 6f72 6d61 747d 5b32 d{\AgdaFormat}[2 │ │ │ -0000ab80: 5d7b 250a 2520 2020 2020 5c69 6674 6865 ]{%.% \ifthe │ │ │ -0000ab90: 6e65 6c73 657b 0a25 2020 2020 2020 205c nelse{.% \ │ │ │ -0000aba0: 6571 7561 6c7b 2331 7d7b e289 a1e2 9fa8 equal{#1}{...... │ │ │ -0000abb0: 7d20 5c4f 520a 2520 2020 2020 2020 5c65 } \OR.% \e │ │ │ -0000abc0: 7175 616c 7b23 317d 7be2 89a1 e29f a8e2 qual{#1}{....... │ │ │ -0000abd0: 9fa9 7d20 5c4f 520a 2520 2020 2020 2020 ..} \OR.% │ │ │ -0000abe0: 5c65 7175 616c 7b23 317d 7be2 888e 7d0a \equal{#1}{...}. │ │ │ -0000abf0: 2520 2020 2020 7d7b 5c20 7d7b 7d23 327d % }{\ }{}#2} │ │ │ -0000ac00: 0a25 0a25 204e 6f74 6520 7468 6520 7573 .%.% Note the us │ │ │ -0000ac10: 6520 6f66 205c 4465 636c 6172 6552 6f62 e of \DeclareRob │ │ │ -0000ac20: 7573 7443 6f6d 6d61 6e64 2e0a 0a5c 6e65 ustCommand...\ne │ │ │ -0000ac30: 7763 6f6d 6d61 6e64 7b5c 4167 6461 466f wcommand{\AgdaFo │ │ │ -0000ac40: 726d 6174 7d5b 325d 7b23 327d 0a0a 5c6e rmat}[2]{#2}..\n │ │ │ -0000ac50: 6577 636f 6d6d 616e 647b 5c41 6764 6142 ewcommand{\AgdaB │ │ │ -0000ac60: 6f75 6e64 7d5b 315d 0a20 2020 207b 5c41 ound}[1]. {\A │ │ │ -0000ac70: 6764 614e 6f53 7061 6365 4d61 7468 7b5c gdaNoSpaceMath{\ │ │ │ -0000ac80: 7465 7874 636f 6c6f 727b 4167 6461 426f textcolor{AgdaBo │ │ │ -0000ac90: 756e 647d 7b5c 4167 6461 426f 756e 6446 und}{\AgdaBoundF │ │ │ -0000aca0: 6f6e 7453 7479 6c65 7b5c 4167 6461 466f ontStyle{\AgdaFo │ │ │ -0000acb0: 726d 6174 7b23 317d 7b23 317d 7d7d 7d7d rmat{#1}{#1}}}}} │ │ │ -0000acc0: 0a5c 6e65 7763 6f6d 6d61 6e64 7b5c 4167 .\newcommand{\Ag │ │ │ -0000acd0: 6461 4765 6e65 7261 6c69 7a61 626c 657d daGeneralizable} │ │ │ -0000ace0: 5b31 5d0a 2020 2020 7b5c 4167 6461 4e6f [1]. {\AgdaNo │ │ │ -0000acf0: 5370 6163 654d 6174 687b 5c74 6578 7463 SpaceMath{\textc │ │ │ -0000ad00: 6f6c 6f72 7b41 6764 6147 656e 6572 616c olor{AgdaGeneral │ │ │ -0000ad10: 697a 6162 6c65 7d7b 5c41 6764 6142 6f75 izable}{\AgdaBou │ │ │ -0000ad20: 6e64 466f 6e74 5374 796c 657b 5c41 6764 ndFontStyle{\Agd │ │ │ -0000ad30: 6146 6f72 6d61 747b 2331 7d7b 2331 7d7d aFormat{#1}{#1}} │ │ │ -0000ad40: 7d7d 7d0a 5c6e 6577 636f 6d6d 616e 647b }}}.\newcommand{ │ │ │ -0000ad50: 5c41 6764 6149 6e64 7563 7469 7665 436f \AgdaInductiveCo │ │ │ -0000ad60: 6e73 7472 7563 746f 727d 5b31 5d0a 2020 nstructor}[1]. │ │ │ -0000ad70: 2020 7b5c 4167 6461 4e6f 5370 6163 654d {\AgdaNoSpaceM │ │ │ -0000ad80: 6174 687b 5c74 6578 7463 6f6c 6f72 7b41 ath{\textcolor{A │ │ │ -0000ad90: 6764 6149 6e64 7563 7469 7665 436f 6e73 gdaInductiveCons │ │ │ -0000ada0: 7472 7563 746f 727d 7b5c 4167 6461 466f tructor}{\AgdaFo │ │ │ -0000adb0: 6e74 5374 796c 657b 5c41 6764 6146 6f72 ntStyle{\AgdaFor │ │ │ -0000adc0: 6d61 747b 2331 7d7b 5c41 6764 614c 696e mat{#1}{\AgdaLin │ │ │ -0000add0: 6b7b 2331 7d7d 7d7d 7d7d 0a5c 6e65 7763 k{#1}}}}}}.\newc │ │ │ -0000ade0: 6f6d 6d61 6e64 7b5c 4167 6461 436f 696e ommand{\AgdaCoin │ │ │ -0000adf0: 6475 6374 6976 6543 6f6e 7374 7275 6374 ductiveConstruct │ │ │ -0000ae00: 6f72 7d5b 315d 0a20 2020 207b 5c41 6764 or}[1]. {\Agd │ │ │ -0000ae10: 614e 6f53 7061 6365 4d61 7468 7b5c 7465 aNoSpaceMath{\te │ │ │ -0000ae20: 7874 636f 6c6f 727b 4167 6461 436f 696e xtcolor{AgdaCoin │ │ │ -0000ae30: 6475 6374 6976 6543 6f6e 7374 7275 6374 ductiveConstruct │ │ │ -0000ae40: 6f72 7d7b 5c41 6764 6146 6f6e 7453 7479 or}{\AgdaFontSty │ │ │ -0000ae50: 6c65 7b5c 4167 6461 466f 726d 6174 7b23 le{\AgdaFormat{# │ │ │ -0000ae60: 317d 7b5c 4167 6461 4c69 6e6b 7b23 317d 1}{\AgdaLink{#1} │ │ │ -0000ae70: 7d7d 7d7d 7d0a 5c6e 6577 636f 6d6d 616e }}}}}.\newcomman │ │ │ -0000ae80: 647b 5c41 6764 6144 6174 6174 7970 657d d{\AgdaDatatype} │ │ │ -0000ae90: 5b31 5d0a 2020 2020 7b5c 4167 6461 4e6f [1]. {\AgdaNo │ │ │ -0000aea0: 5370 6163 654d 6174 687b 5c74 6578 7463 SpaceMath{\textc │ │ │ -0000aeb0: 6f6c 6f72 7b41 6764 6144 6174 6174 7970 olor{AgdaDatatyp │ │ │ -0000aec0: 657d 7b5c 4167 6461 466f 6e74 5374 796c e}{\AgdaFontStyl │ │ │ -0000aed0: 657b 5c41 6764 6146 6f72 6d61 747b 2331 e{\AgdaFormat{#1 │ │ │ -0000aee0: 7d7b 5c41 6764 614c 696e 6b7b 2331 7d7d }{\AgdaLink{#1}} │ │ │ -0000aef0: 7d7d 7d7d 0a5c 6e65 7763 6f6d 6d61 6e64 }}}}.\newcommand │ │ │ -0000af00: 7b5c 4167 6461 4669 656c 647d 5b31 5d0a {\AgdaField}[1]. │ │ │ -0000af10: 2020 2020 7b5c 4167 6461 4e6f 5370 6163 {\AgdaNoSpac │ │ │ -0000af20: 654d 6174 687b 5c74 6578 7463 6f6c 6f72 eMath{\textcolor │ │ │ -0000af30: 7b41 6764 6146 6965 6c64 7d7b 5c41 6764 {AgdaField}{\Agd │ │ │ -0000af40: 6146 6f6e 7453 7479 6c65 7b5c 4167 6461 aFontStyle{\Agda │ │ │ -0000af50: 466f 726d 6174 7b23 317d 7b5c 4167 6461 Format{#1}{\Agda │ │ │ -0000af60: 4c69 6e6b 7b23 317d 7d7d 7d7d 7d0a 5c6e Link{#1}}}}}}.\n │ │ │ -0000af70: 6577 636f 6d6d 616e 647b 5c41 6764 6146 ewcommand{\AgdaF │ │ │ -0000af80: 756e 6374 696f 6e7d 5b31 5d0a 2020 2020 unction}[1]. │ │ │ -0000af90: 7b5c 4167 6461 4e6f 5370 6163 654d 6174 {\AgdaNoSpaceMat │ │ │ -0000afa0: 687b 5c74 6578 7463 6f6c 6f72 7b41 6764 h{\textcolor{Agd │ │ │ -0000afb0: 6146 756e 6374 696f 6e7d 7b5c 4167 6461 aFunction}{\Agda │ │ │ -0000afc0: 466f 6e74 5374 796c 657b 5c41 6764 6146 FontStyle{\AgdaF │ │ │ -0000afd0: 6f72 6d61 747b 2331 7d7b 5c41 6764 614c ormat{#1}{\AgdaL │ │ │ -0000afe0: 696e 6b7b 2331 7d7d 7d7d 7d7d 0a5c 6e65 ink{#1}}}}}}.\ne │ │ │ -0000aff0: 7763 6f6d 6d61 6e64 7b5c 4167 6461 4d61 wcommand{\AgdaMa │ │ │ -0000b000: 6372 6f7d 5b31 5d0a 2020 2020 7b5c 4167 cro}[1]. {\Ag │ │ │ -0000b010: 6461 4e6f 5370 6163 654d 6174 687b 5c74 daNoSpaceMath{\t │ │ │ -0000b020: 6578 7463 6f6c 6f72 7b41 6764 614d 6163 extcolor{AgdaMac │ │ │ -0000b030: 726f 7d7b 5c41 6764 6146 6f6e 7453 7479 ro}{\AgdaFontSty │ │ │ -0000b040: 6c65 7b5c 4167 6461 466f 726d 6174 7b23 le{\AgdaFormat{# │ │ │ -0000b050: 317d 7b5c 4167 6461 4c69 6e6b 7b23 317d 1}{\AgdaLink{#1} │ │ │ -0000b060: 7d7d 7d7d 7d0a 5c6e 6577 636f 6d6d 616e }}}}}.\newcomman │ │ │ -0000b070: 647b 5c41 6764 614d 6f64 756c 657d 5b31 d{\AgdaModule}[1 │ │ │ -0000b080: 5d0a 2020 2020 7b5c 4167 6461 4e6f 5370 ]. {\AgdaNoSp │ │ │ -0000b090: 6163 654d 6174 687b 5c74 6578 7463 6f6c aceMath{\textcol │ │ │ -0000b0a0: 6f72 7b41 6764 614d 6f64 756c 657d 7b5c or{AgdaModule}{\ │ │ │ -0000b0b0: 4167 6461 466f 6e74 5374 796c 657b 5c41 AgdaFontStyle{\A │ │ │ -0000b0c0: 6764 6146 6f72 6d61 747b 2331 7d7b 5c41 gdaFormat{#1}{\A │ │ │ -0000b0d0: 6764 614c 696e 6b7b 2331 7d7d 7d7d 7d7d gdaLink{#1}}}}}} │ │ │ -0000b0e0: 0a5c 6e65 7763 6f6d 6d61 6e64 7b5c 4167 .\newcommand{\Ag │ │ │ -0000b0f0: 6461 506f 7374 756c 6174 657d 5b31 5d0a daPostulate}[1]. │ │ │ -0000b100: 2020 2020 7b5c 4167 6461 4e6f 5370 6163 {\AgdaNoSpac │ │ │ -0000b110: 654d 6174 687b 5c74 6578 7463 6f6c 6f72 eMath{\textcolor │ │ │ -0000b120: 7b41 6764 6150 6f73 7475 6c61 7465 7d7b {AgdaPostulate}{ │ │ │ -0000b130: 5c41 6764 6146 6f6e 7453 7479 6c65 7b5c \AgdaFontStyle{\ │ │ │ -0000b140: 4167 6461 466f 726d 6174 7b23 317d 7b5c AgdaFormat{#1}{\ │ │ │ -0000b150: 4167 6461 4c69 6e6b 7b23 317d 7d7d 7d7d AgdaLink{#1}}}}} │ │ │ -0000b160: 7d0a 5c6e 6577 636f 6d6d 616e 647b 5c41 }.\newcommand{\A │ │ │ -0000b170: 6764 6150 7269 6d69 7469 7665 7d5b 315d gdaPrimitive}[1] │ │ │ -0000b180: 0a20 2020 207b 5c41 6764 614e 6f53 7061 . {\AgdaNoSpa │ │ │ -0000b190: 6365 4d61 7468 7b5c 7465 7874 636f 6c6f ceMath{\textcolo │ │ │ -0000b1a0: 727b 4167 6461 5072 696d 6974 6976 657d r{AgdaPrimitive} │ │ │ -0000b1b0: 7b5c 4167 6461 466f 6e74 5374 796c 657b {\AgdaFontStyle{ │ │ │ -0000b1c0: 5c41 6764 6146 6f72 6d61 747b 2331 7d7b \AgdaFormat{#1}{ │ │ │ -0000b1d0: 2331 7d7d 7d7d 7d0a 5c6e 6577 636f 6d6d #1}}}}}.\newcomm │ │ │ -0000b1e0: 616e 647b 5c41 6764 6152 6563 6f72 647d and{\AgdaRecord} │ │ │ -0000b1f0: 5b31 5d0a 2020 2020 7b5c 4167 6461 4e6f [1]. {\AgdaNo │ │ │ -0000b200: 5370 6163 654d 6174 687b 5c74 6578 7463 SpaceMath{\textc │ │ │ -0000b210: 6f6c 6f72 7b41 6764 6152 6563 6f72 647d olor{AgdaRecord} │ │ │ -0000b220: 7b5c 4167 6461 466f 6e74 5374 796c 657b {\AgdaFontStyle{ │ │ │ -0000b230: 5c41 6764 6146 6f72 6d61 747b 2331 7d7b \AgdaFormat{#1}{ │ │ │ -0000b240: 5c41 6764 614c 696e 6b7b 2331 7d7d 7d7d \AgdaLink{#1}}}} │ │ │ -0000b250: 7d7d 0a5c 6e65 7763 6f6d 6d61 6e64 7b5c }}.\newcommand{\ │ │ │ -0000b260: 4167 6461 4172 6775 6d65 6e74 7d5b 315d AgdaArgument}[1] │ │ │ -0000b270: 0a20 2020 207b 5c41 6764 614e 6f53 7061 . {\AgdaNoSpa │ │ │ -0000b280: 6365 4d61 7468 7b5c 7465 7874 636f 6c6f ceMath{\textcolo │ │ │ -0000b290: 727b 4167 6461 4172 6775 6d65 6e74 7d7b r{AgdaArgument}{ │ │ │ -0000b2a0: 5c41 6764 6142 6f75 6e64 466f 6e74 5374 \AgdaBoundFontSt │ │ │ -0000b2b0: 796c 657b 5c41 6764 6146 6f72 6d61 747b yle{\AgdaFormat{ │ │ │ -0000b2c0: 2331 7d7b 2331 7d7d 7d7d 7d0a 0a25 204f #1}{#1}}}}}..% O │ │ │ -0000b2d0: 7468 6572 2061 7370 6563 7420 636f 6d6d ther aspect comm │ │ │ -0000b2e0: 616e 6473 2e0a 5c6e 6577 636f 6d6d 616e ands..\newcomman │ │ │ -0000b2f0: 647b 5c41 6764 6146 6978 6974 794f 707d d{\AgdaFixityOp} │ │ │ -0000b300: 2020 2020 2020 2020 2020 5b31 5d7b 5c41 [1]{\A │ │ │ -0000b310: 6764 614e 6f53 7061 6365 4d61 7468 7b24 gdaNoSpaceMath{$ │ │ │ -0000b320: 2331 247d 7d0a 5c6e 6577 636f 6d6d 616e #1$}}.\newcomman │ │ │ -0000b330: 647b 5c41 6764 6144 6f74 7465 6450 6174 d{\AgdaDottedPat │ │ │ -0000b340: 7465 726e 7d20 2020 2020 5b31 5d7b 5c74 tern} [1]{\t │ │ │ -0000b350: 6578 7463 6f6c 6f72 7b41 6764 6144 6f74 extcolor{AgdaDot │ │ │ -0000b360: 7465 6450 6174 7465 726e 7d7b 2331 7d7d tedPattern}{#1}} │ │ │ -0000b370: 0a5c 6e65 7763 6f6d 6d61 6e64 7b5c 4167 .\newcommand{\Ag │ │ │ -0000b380: 6461 556e 736f 6c76 6564 4d65 7461 7d20 daUnsolvedMeta} │ │ │ -0000b390: 2020 2020 205b 315d 0a20 2020 207b 5c41 [1]. {\A │ │ │ -0000b3a0: 6764 6146 6f6e 7453 7479 6c65 7b5c 636f gdaFontStyle{\co │ │ │ -0000b3b0: 6c6f 7262 6f78 7b41 6764 6155 6e73 6f6c lorbox{AgdaUnsol │ │ │ -0000b3c0: 7665 644d 6574 617d 7b23 317d 7d7d 0a5c vedMeta}{#1}}}.\ │ │ │ -0000b3d0: 6e65 7763 6f6d 6d61 6e64 7b5c 4167 6461 newcommand{\Agda │ │ │ -0000b3e0: 556e 736f 6c76 6564 436f 6e73 7472 6169 UnsolvedConstrai │ │ │ -0000b3f0: 6e74 7d5b 315d 0a20 2020 207b 5c41 6764 nt}[1]. {\Agd │ │ │ -0000b400: 6146 6f6e 7453 7479 6c65 7b5c 636f 6c6f aFontStyle{\colo │ │ │ -0000b410: 7262 6f78 7b41 6764 6155 6e73 6f6c 7665 rbox{AgdaUnsolve │ │ │ -0000b420: 6443 6f6e 7374 7261 696e 747d 7b23 317d dConstraint}{#1} │ │ │ -0000b430: 7d7d 0a5c 6e65 7763 6f6d 6d61 6e64 7b5c }}.\newcommand{\ │ │ │ -0000b440: 4167 6461 5465 726d 696e 6174 696f 6e50 AgdaTerminationP │ │ │ -0000b450: 726f 626c 656d 7d5b 315d 0a20 2020 207b roblem}[1]. { │ │ │ -0000b460: 5c41 6764 6146 6f6e 7453 7479 6c65 7b5c \AgdaFontStyle{\ │ │ │ -0000b470: 636f 6c6f 7262 6f78 7b41 6764 6154 6572 colorbox{AgdaTer │ │ │ -0000b480: 6d69 6e61 7469 6f6e 5072 6f62 6c65 6d7d minationProblem} │ │ │ -0000b490: 7b23 317d 7d7d 0a5c 6e65 7763 6f6d 6d61 {#1}}}.\newcomma │ │ │ -0000b4a0: 6e64 7b5c 4167 6461 496e 636f 6d70 6c65 nd{\AgdaIncomple │ │ │ -0000b4b0: 7465 5061 7474 6572 6e7d 205b 315d 7b5c tePattern} [1]{\ │ │ │ -0000b4c0: 636f 6c6f 7262 6f78 7b41 6764 6149 6e63 colorbox{AgdaInc │ │ │ -0000b4d0: 6f6d 706c 6574 6550 6174 7465 726e 7d7b ompletePattern}{ │ │ │ -0000b4e0: 2331 7d7d 0a5c 6e65 7763 6f6d 6d61 6e64 #1}}.\newcommand │ │ │ -0000b4f0: 7b5c 4167 6461 4572 726f 7257 6172 6e69 {\AgdaErrorWarni │ │ │ -0000b500: 6e67 7d20 2020 2020 205b 315d 7b5c 636f ng} [1]{\co │ │ │ -0000b510: 6c6f 7262 6f78 7b41 6764 6145 7272 6f72 lorbox{AgdaError │ │ │ -0000b520: 5761 726e 696e 677d 7b23 317d 7d0a 5c6e Warning}{#1}}.\n │ │ │ -0000b530: 6577 636f 6d6d 616e 647b 5c41 6764 6145 ewcommand{\AgdaE │ │ │ -0000b540: 7272 6f72 7d20 2020 2020 2020 2020 2020 rror} │ │ │ -0000b550: 2020 5b31 5d0a 2020 2020 7b5c 7465 7874 [1]. {\text │ │ │ -0000b560: 636f 6c6f 727b 4167 6461 4572 726f 727d color{AgdaError} │ │ │ -0000b570: 7b5c 4167 6461 466f 6e74 5374 796c 657b {\AgdaFontStyle{ │ │ │ -0000b580: 5c75 6e64 6572 6c69 6e65 7b23 317d 7d7d \underline{#1}}} │ │ │ -0000b590: 7d0a 5c6e 6577 636f 6d6d 616e 647b 5c41 }.\newcommand{\A │ │ │ -0000b5a0: 6764 6143 6174 6368 616c 6c43 6c61 7573 gdaCatchallClaus │ │ │ -0000b5b0: 657d 2020 2020 5b31 5d7b 2331 7d20 2520 e} [1]{#1} % │ │ │ -0000b5c0: 6665 656c 2066 7265 6520 746f 2063 6861 feel free to cha │ │ │ -0000b5d0: 6e67 6520 7468 6973 0a0a 2520 5573 6564 nge this..% Used │ │ │ -0000b5e0: 2074 6f20 6869 6465 2063 6f64 6520 6672 to hide code fr │ │ │ -0000b5f0: 6f6d 204c 6154 6558 2e0a 250a 2520 4e6f om LaTeX..%.% No │ │ │ -0000b600: 7465 2074 6861 7420 7468 6973 206d 6163 te that this mac │ │ │ -0000b610: 726f 2068 6173 2062 6565 6e20 6465 7072 ro has been depr │ │ │ -0000b620: 6563 6174 6564 2069 6e20 6661 766f 7572 ecated in favour │ │ │ -0000b630: 206f 6620 6769 7669 6e67 2074 6865 0a25 of giving the.% │ │ │ -0000b640: 2068 6964 6520 6172 6775 6d65 6e74 2074 hide argument t │ │ │ -0000b650: 6f20 7468 6520 636f 6465 2065 6e76 6972 o the code envir │ │ │ -0000b660: 6f6e 6d65 6e74 2e0a 5c6c 6f6e 675c 6465 onment..\long\de │ │ │ -0000b670: 665c 4167 6461 4869 6465 2331 7b5c 6967 f\AgdaHide#1{\ig │ │ │ -0000b680: 6e6f 7265 7370 6163 6573 7d0a 0a25 204d norespaces}..% M │ │ │ -0000b690: 6973 632e 0a5c 6e65 7763 6f6d 6d61 6e64 isc..\newcommand │ │ │ -0000b6a0: 7b5c 4167 6461 486f 6c65 7d5b 315d 7b5c {\AgdaHole}[1]{\ │ │ │ -0000b6b0: 636f 6c6f 7262 6f78 7b41 6764 6148 6f6c colorbox{AgdaHol │ │ │ -0000b6c0: 657d 7b23 317d 7d0a 0a25 202d 2d2d 2d2d e}{#1}}..% ----- │ │ │ +0000a4d0: 2d2d 2d2d 2d0a 2520 436f 6d6d 616e 6473 -----.% Commands │ │ │ +0000a4e0: 2e0a 0a5c 6e65 7763 6f6d 6d61 6e64 7b5c ...\newcommand{\ │ │ │ +0000a4f0: 4167 6461 4e6f 5370 6163 654d 6174 687d AgdaNoSpaceMath} │ │ │ +0000a500: 5b31 5d0a 2020 2020 7b5c 6265 6769 6e67 [1]. {\beging │ │ │ +0000a510: 726f 7570 5c74 6869 636b 6d75 736b 6970 roup\thickmuskip │ │ │ +0000a520: 3d30 6d75 5c6d 6564 6d75 736b 6970 3d30 =0mu\medmuskip=0 │ │ │ +0000a530: 6d75 2331 5c65 6e64 6772 6f75 707d 0a0a mu#1\endgroup}.. │ │ │ +0000a540: 2520 4173 7065 6374 2063 6f6d 6d61 6e64 % Aspect command │ │ │ +0000a550: 732e 0a5c 6e65 7763 6f6d 6d61 6e64 7b5c s..\newcommand{\ │ │ │ +0000a560: 4167 6461 436f 6d6d 656e 747d 2020 2020 AgdaComment} │ │ │ +0000a570: 205b 315d 0a20 2020 207b 5c41 6764 614e [1]. {\AgdaN │ │ │ +0000a580: 6f53 7061 6365 4d61 7468 7b5c 7465 7874 oSpaceMath{\text │ │ │ +0000a590: 636f 6c6f 727b 4167 6461 436f 6d6d 656e color{AgdaCommen │ │ │ +0000a5a0: 747d 7b5c 4167 6461 436f 6d6d 656e 7446 t}{\AgdaCommentF │ │ │ +0000a5b0: 6f6e 7453 7479 6c65 7b23 317d 7d7d 7d0a ontStyle{#1}}}}. │ │ │ +0000a5c0: 5c6e 6577 636f 6d6d 616e 647b 5c41 6764 \newcommand{\Agd │ │ │ +0000a5d0: 6150 7261 676d 617d 2020 2020 2020 5b31 aPragma} [1 │ │ │ +0000a5e0: 5d0a 2020 2020 7b5c 4167 6461 4e6f 5370 ]. {\AgdaNoSp │ │ │ +0000a5f0: 6163 654d 6174 687b 5c74 6578 7463 6f6c aceMath{\textcol │ │ │ +0000a600: 6f72 7b41 6764 6150 7261 676d 617d 7b5c or{AgdaPragma}{\ │ │ │ +0000a610: 4167 6461 436f 6d6d 656e 7446 6f6e 7453 AgdaCommentFontS │ │ │ +0000a620: 7479 6c65 7b23 317d 7d7d 7d0a 5c6e 6577 tyle{#1}}}}.\new │ │ │ +0000a630: 636f 6d6d 616e 647b 5c41 6764 614b 6579 command{\AgdaKey │ │ │ +0000a640: 776f 7264 7d20 2020 2020 5b31 5d0a 2020 word} [1]. │ │ │ +0000a650: 2020 7b5c 4167 6461 4e6f 5370 6163 654d {\AgdaNoSpaceM │ │ │ +0000a660: 6174 687b 5c74 6578 7463 6f6c 6f72 7b41 ath{\textcolor{A │ │ │ +0000a670: 6764 614b 6579 776f 7264 7d7b 5c41 6764 gdaKeyword}{\Agd │ │ │ +0000a680: 614b 6579 776f 7264 466f 6e74 5374 796c aKeywordFontStyl │ │ │ +0000a690: 657b 2331 7d7d 7d7d 0a5c 6e65 7763 6f6d e{#1}}}}.\newcom │ │ │ +0000a6a0: 6d61 6e64 7b5c 4167 6461 5374 7269 6e67 mand{\AgdaString │ │ │ +0000a6b0: 7d20 2020 2020 205b 315d 0a20 2020 207b } [1]. { │ │ │ +0000a6c0: 5c41 6764 614e 6f53 7061 6365 4d61 7468 \AgdaNoSpaceMath │ │ │ +0000a6d0: 7b5c 7465 7874 636f 6c6f 727b 4167 6461 {\textcolor{Agda │ │ │ +0000a6e0: 5374 7269 6e67 7d7b 5c41 6764 6153 7472 String}{\AgdaStr │ │ │ +0000a6f0: 696e 6746 6f6e 7453 7479 6c65 7b23 317d ingFontStyle{#1} │ │ │ +0000a700: 7d7d 7d0a 5c6e 6577 636f 6d6d 616e 647b }}}.\newcommand{ │ │ │ +0000a710: 5c41 6764 614e 756d 6265 727d 2020 2020 \AgdaNumber} │ │ │ +0000a720: 2020 5b31 5d0a 2020 2020 7b5c 4167 6461 [1]. {\Agda │ │ │ +0000a730: 4e6f 5370 6163 654d 6174 687b 5c74 6578 NoSpaceMath{\tex │ │ │ +0000a740: 7463 6f6c 6f72 7b41 6764 614e 756d 6265 tcolor{AgdaNumbe │ │ │ +0000a750: 727d 7b5c 4167 6461 466f 6e74 5374 796c r}{\AgdaFontStyl │ │ │ +0000a760: 657b 2331 7d7d 7d7d 0a5c 6e65 7763 6f6d e{#1}}}}.\newcom │ │ │ +0000a770: 6d61 6e64 7b5c 4167 6461 5379 6d62 6f6c mand{\AgdaSymbol │ │ │ +0000a780: 7d20 2020 2020 205b 315d 0a20 2020 207b } [1]. { │ │ │ +0000a790: 5c41 6764 614e 6f53 7061 6365 4d61 7468 \AgdaNoSpaceMath │ │ │ +0000a7a0: 7b5c 7465 7874 636f 6c6f 727b 4167 6461 {\textcolor{Agda │ │ │ +0000a7b0: 5379 6d62 6f6c 7d7b 5c41 6764 6146 6f6e Symbol}{\AgdaFon │ │ │ +0000a7c0: 7453 7479 6c65 7b23 317d 7d7d 7d0a 5c6e tStyle{#1}}}}.\n │ │ │ +0000a7d0: 6577 636f 6d6d 616e 647b 5c41 6764 6150 ewcommand{\AgdaP │ │ │ +0000a7e0: 7269 6d69 7469 7665 5479 7065 7d5b 315d rimitiveType}[1] │ │ │ +0000a7f0: 0a20 2020 207b 5c41 6764 614e 6f53 7061 . {\AgdaNoSpa │ │ │ +0000a800: 6365 4d61 7468 7b5c 7465 7874 636f 6c6f ceMath{\textcolo │ │ │ +0000a810: 727b 4167 6461 5072 696d 6974 6976 6554 r{AgdaPrimitiveT │ │ │ +0000a820: 7970 657d 7b5c 4167 6461 466f 6e74 5374 ype}{\AgdaFontSt │ │ │ +0000a830: 796c 657b 2331 7d7d 7d7d 0a25 2520 416e yle{#1}}}}.%% An │ │ │ +0000a840: 6472 6561 732c 2032 3032 312d 3037 2d31 dreas, 2021-07-1 │ │ │ +0000a850: 342c 2069 7373 7565 2023 3534 3731 0a25 4, issue #5471.% │ │ │ +0000a860: 2520 546f 206d 616b 6520 6974 616c 6963 % To make italic │ │ │ +0000a870: 7320 636f 7272 6563 7469 6f6e 205c 2f20 s correction \/ │ │ │ +0000a880: 776f 726b 2c20 7468 6520 666f 6e74 2d73 work, the font-s │ │ │ +0000a890: 7479 6c65 206d 6f64 6966 6965 720a 2525 tyle modifier.%% │ │ │ +0000a8a0: 206e 6565 6473 2074 6f20 6265 2069 6e73 needs to be ins │ │ │ +0000a8b0: 6964 652c 2069 6e20 7061 7274 6963 756c ide, in particul │ │ │ +0000a8c0: 6172 2069 6e73 6964 6520 7468 6520 5c74 ar inside the \t │ │ │ +0000a8d0: 6578 7463 6f6c 6f72 206d 6f64 6966 6965 extcolor modifie │ │ │ +0000a8e0: 722c 0a25 2520 6173 2074 6865 205c 7465 r,.%% as the \te │ │ │ +0000a8f0: 7874 636f 6c6f 727b 7d20 7772 6170 7069 xtcolor{} wrappi │ │ │ +0000a900: 6e67 2061 726f 756e 6420 736f 6d65 7468 ng around someth │ │ │ +0000a910: 696e 6720 6869 6465 7320 6974 7320 636f ing hides its co │ │ │ +0000a920: 6e74 656e 740a 2525 2074 6f20 7468 6520 ntent.%% to the │ │ │ +0000a930: 6c6f 6769 6320 7468 6174 2072 6573 6f6c logic that resol │ │ │ +0000a940: 7665 7320 5c2f 2069 6e74 6f20 6120 7370 ves \/ into a sp │ │ │ +0000a950: 6163 6520 6f72 206e 6f74 2e0a 0a25 204e ace or not...% N │ │ │ +0000a960: 6f74 6520 7468 6174 2c20 696e 2063 6f64 ote that, in cod │ │ │ +0000a970: 6520 6765 6e65 7261 7465 6420 6279 2074 e generated by t │ │ │ +0000a980: 6865 204c 6154 6558 2062 6163 6b65 6e64 he LaTeX backend │ │ │ +0000a990: 2c20 5c41 6764 614f 7065 7261 746f 7220 , \AgdaOperator │ │ │ +0000a9a0: 6973 0a25 2061 6c77 6179 7320 6170 706c is.% always appl │ │ │ +0000a9b0: 6965 6420 746f 2061 204e 616d 654b 696e ied to a NameKin │ │ │ +0000a9c0: 6420 636f 6d6d 616e 642e 0a5c 6e65 7763 d command..\newc │ │ │ +0000a9d0: 6f6d 6d61 6e64 7b5c 4167 6461 4f70 6572 ommand{\AgdaOper │ │ │ +0000a9e0: 6174 6f72 7d20 2020 205b 315d 7b23 317d ator} [1]{#1} │ │ │ +0000a9f0: 0a0a 2520 4e61 6d65 4b69 6e64 2063 6f6d ..% NameKind com │ │ │ +0000aa00: 6d61 6e64 732e 0a0a 2520 5468 6520 7573 mands...% The us │ │ │ +0000aa10: 6572 2063 616e 2063 6f6e 7472 6f6c 2074 er can control t │ │ │ +0000aa20: 6865 2074 7970 6573 6574 7469 6e67 206f he typesetting o │ │ │ +0000aa30: 6620 2863 6572 7461 696e 2920 696e 6469 f (certain) indi │ │ │ +0000aa40: 7669 6475 616c 2074 6f6b 656e 730a 2520 vidual tokens.% │ │ │ +0000aa50: 6279 2072 6564 6566 696e 696e 6720 7468 by redefining th │ │ │ +0000aa60: 6520 666f 6c6c 6f77 696e 6720 636f 6d6d e following comm │ │ │ +0000aa70: 616e 642e 2054 6865 2066 6972 7374 2061 and. The first a │ │ │ +0000aa80: 7267 756d 656e 7420 6973 2074 6865 2074 rgument is the t │ │ │ +0000aa90: 6f6b 656e 0a25 2061 6e64 2074 6865 2073 oken.% and the s │ │ │ +0000aaa0: 6563 6f6e 6420 6172 6775 6d65 6e74 2074 econd argument t │ │ │ +0000aab0: 6865 2074 6869 6e67 2074 6f20 6265 2074 he thing to be t │ │ │ +0000aac0: 7970 6573 6574 2028 736f 6d65 7469 6d65 ypeset (sometime │ │ │ +0000aad0: 7320 6a75 7374 2074 6865 0a25 2074 6f6b s just the.% tok │ │ │ +0000aae0: 656e 2c20 736f 6d65 7469 6d65 7320 5c41 en, sometimes \A │ │ │ +0000aaf0: 6764 614c 696e 6b7b 3c74 6865 2074 6f6b gdaLink{}). Example:. │ │ │ +0000ab10: 250a 2520 2020 5c75 7365 7061 636b 6167 %.% \usepackag │ │ │ +0000ab20: 657b 6966 7468 656e 7d0a 250a 2520 2020 e{ifthen}.%.% │ │ │ +0000ab30: 2520 496e 7365 7274 2065 7874 7261 2073 % Insert extra s │ │ │ +0000ab40: 7061 6365 2062 6566 6f72 6520 736f 6d65 pace before some │ │ │ +0000ab50: 2074 6f6b 656e 732e 0a25 2020 205c 4465 tokens..% \De │ │ │ +0000ab60: 636c 6172 6552 6f62 7573 7443 6f6d 6d61 clareRobustComma │ │ │ +0000ab70: 6e64 7b5c 4167 6461 466f 726d 6174 7d5b nd{\AgdaFormat}[ │ │ │ +0000ab80: 325d 7b25 0a25 2020 2020 205c 6966 7468 2]{%.% \ifth │ │ │ +0000ab90: 656e 656c 7365 7b0a 2520 2020 2020 2020 enelse{.% │ │ │ +0000aba0: 5c65 7175 616c 7b23 317d 7be2 89a1 e29f \equal{#1}{..... │ │ │ +0000abb0: a87d 205c 4f52 0a25 2020 2020 2020 205c .} \OR.% \ │ │ │ +0000abc0: 6571 7561 6c7b 2331 7d7b e289 a1e2 9fa8 equal{#1}{...... │ │ │ +0000abd0: e29f a97d 205c 4f52 0a25 2020 2020 2020 ...} \OR.% │ │ │ +0000abe0: 205c 6571 7561 6c7b 2331 7d7b e288 8e7d \equal{#1}{...} │ │ │ +0000abf0: 0a25 2020 2020 207d 7b5c 207d 7b7d 2332 .% }{\ }{}#2 │ │ │ +0000ac00: 7d0a 250a 2520 4e6f 7465 2074 6865 2075 }.%.% Note the u │ │ │ +0000ac10: 7365 206f 6620 5c44 6563 6c61 7265 526f se of \DeclareRo │ │ │ +0000ac20: 6275 7374 436f 6d6d 616e 642e 0a0a 5c6e bustCommand...\n │ │ │ +0000ac30: 6577 636f 6d6d 616e 647b 5c41 6764 6146 ewcommand{\AgdaF │ │ │ +0000ac40: 6f72 6d61 747d 5b32 5d7b 2332 7d0a 0a5c ormat}[2]{#2}..\ │ │ │ +0000ac50: 6e65 7763 6f6d 6d61 6e64 7b5c 4167 6461 newcommand{\Agda │ │ │ +0000ac60: 426f 756e 647d 5b31 5d0a 2020 2020 7b5c Bound}[1]. {\ │ │ │ +0000ac70: 4167 6461 4e6f 5370 6163 654d 6174 687b AgdaNoSpaceMath{ │ │ │ +0000ac80: 5c74 6578 7463 6f6c 6f72 7b41 6764 6142 \textcolor{AgdaB │ │ │ +0000ac90: 6f75 6e64 7d7b 5c41 6764 6142 6f75 6e64 ound}{\AgdaBound │ │ │ +0000aca0: 466f 6e74 5374 796c 657b 5c41 6764 6146 FontStyle{\AgdaF │ │ │ +0000acb0: 6f72 6d61 747b 2331 7d7b 2331 7d7d 7d7d ormat{#1}{#1}}}} │ │ │ +0000acc0: 7d0a 5c6e 6577 636f 6d6d 616e 647b 5c41 }.\newcommand{\A │ │ │ +0000acd0: 6764 6147 656e 6572 616c 697a 6162 6c65 gdaGeneralizable │ │ │ +0000ace0: 7d5b 315d 0a20 2020 207b 5c41 6764 614e }[1]. {\AgdaN │ │ │ +0000acf0: 6f53 7061 6365 4d61 7468 7b5c 7465 7874 oSpaceMath{\text │ │ │ +0000ad00: 636f 6c6f 727b 4167 6461 4765 6e65 7261 color{AgdaGenera │ │ │ +0000ad10: 6c69 7a61 626c 657d 7b5c 4167 6461 426f lizable}{\AgdaBo │ │ │ +0000ad20: 756e 6446 6f6e 7453 7479 6c65 7b5c 4167 undFontStyle{\Ag │ │ │ +0000ad30: 6461 466f 726d 6174 7b23 317d 7b23 317d daFormat{#1}{#1} │ │ │ +0000ad40: 7d7d 7d7d 0a5c 6e65 7763 6f6d 6d61 6e64 }}}}.\newcommand │ │ │ +0000ad50: 7b5c 4167 6461 496e 6475 6374 6976 6543 {\AgdaInductiveC │ │ │ +0000ad60: 6f6e 7374 7275 6374 6f72 7d5b 315d 0a20 onstructor}[1]. │ │ │ +0000ad70: 2020 207b 5c41 6764 614e 6f53 7061 6365 {\AgdaNoSpace │ │ │ +0000ad80: 4d61 7468 7b5c 7465 7874 636f 6c6f 727b Math{\textcolor{ │ │ │ +0000ad90: 4167 6461 496e 6475 6374 6976 6543 6f6e AgdaInductiveCon │ │ │ +0000ada0: 7374 7275 6374 6f72 7d7b 5c41 6764 6146 structor}{\AgdaF │ │ │ +0000adb0: 6f6e 7453 7479 6c65 7b5c 4167 6461 466f ontStyle{\AgdaFo │ │ │ +0000adc0: 726d 6174 7b23 317d 7b5c 4167 6461 4c69 rmat{#1}{\AgdaLi │ │ │ +0000add0: 6e6b 7b23 317d 7d7d 7d7d 7d0a 5c6e 6577 nk{#1}}}}}}.\new │ │ │ +0000ade0: 636f 6d6d 616e 647b 5c41 6764 6143 6f69 command{\AgdaCoi │ │ │ +0000adf0: 6e64 7563 7469 7665 436f 6e73 7472 7563 nductiveConstruc │ │ │ +0000ae00: 746f 727d 5b31 5d0a 2020 2020 7b5c 4167 tor}[1]. {\Ag │ │ │ +0000ae10: 6461 4e6f 5370 6163 654d 6174 687b 5c74 daNoSpaceMath{\t │ │ │ +0000ae20: 6578 7463 6f6c 6f72 7b41 6764 6143 6f69 extcolor{AgdaCoi │ │ │ +0000ae30: 6e64 7563 7469 7665 436f 6e73 7472 7563 nductiveConstruc │ │ │ +0000ae40: 746f 727d 7b5c 4167 6461 466f 6e74 5374 tor}{\AgdaFontSt │ │ │ +0000ae50: 796c 657b 5c41 6764 6146 6f72 6d61 747b yle{\AgdaFormat{ │ │ │ +0000ae60: 2331 7d7b 5c41 6764 614c 696e 6b7b 2331 #1}{\AgdaLink{#1 │ │ │ +0000ae70: 7d7d 7d7d 7d7d 0a5c 6e65 7763 6f6d 6d61 }}}}}}.\newcomma │ │ │ +0000ae80: 6e64 7b5c 4167 6461 4461 7461 7479 7065 nd{\AgdaDatatype │ │ │ +0000ae90: 7d5b 315d 0a20 2020 207b 5c41 6764 614e }[1]. {\AgdaN │ │ │ +0000aea0: 6f53 7061 6365 4d61 7468 7b5c 7465 7874 oSpaceMath{\text │ │ │ +0000aeb0: 636f 6c6f 727b 4167 6461 4461 7461 7479 color{AgdaDataty │ │ │ +0000aec0: 7065 7d7b 5c41 6764 6146 6f6e 7453 7479 pe}{\AgdaFontSty │ │ │ +0000aed0: 6c65 7b5c 4167 6461 466f 726d 6174 7b23 le{\AgdaFormat{# │ │ │ +0000aee0: 317d 7b5c 4167 6461 4c69 6e6b 7b23 317d 1}{\AgdaLink{#1} │ │ │ +0000aef0: 7d7d 7d7d 7d0a 5c6e 6577 636f 6d6d 616e }}}}}.\newcomman │ │ │ +0000af00: 647b 5c41 6764 6146 6965 6c64 7d5b 315d d{\AgdaField}[1] │ │ │ +0000af10: 0a20 2020 207b 5c41 6764 614e 6f53 7061 . {\AgdaNoSpa │ │ │ +0000af20: 6365 4d61 7468 7b5c 7465 7874 636f 6c6f ceMath{\textcolo │ │ │ +0000af30: 727b 4167 6461 4669 656c 647d 7b5c 4167 r{AgdaField}{\Ag │ │ │ +0000af40: 6461 466f 6e74 5374 796c 657b 5c41 6764 daFontStyle{\Agd │ │ │ +0000af50: 6146 6f72 6d61 747b 2331 7d7b 5c41 6764 aFormat{#1}{\Agd │ │ │ +0000af60: 614c 696e 6b7b 2331 7d7d 7d7d 7d7d 0a5c aLink{#1}}}}}}.\ │ │ │ +0000af70: 6e65 7763 6f6d 6d61 6e64 7b5c 4167 6461 newcommand{\Agda │ │ │ +0000af80: 4675 6e63 7469 6f6e 7d5b 315d 0a20 2020 Function}[1]. │ │ │ +0000af90: 207b 5c41 6764 614e 6f53 7061 6365 4d61 {\AgdaNoSpaceMa │ │ │ +0000afa0: 7468 7b5c 7465 7874 636f 6c6f 727b 4167 th{\textcolor{Ag │ │ │ +0000afb0: 6461 4675 6e63 7469 6f6e 7d7b 5c41 6764 daFunction}{\Agd │ │ │ +0000afc0: 6146 6f6e 7453 7479 6c65 7b5c 4167 6461 aFontStyle{\Agda │ │ │ +0000afd0: 466f 726d 6174 7b23 317d 7b5c 4167 6461 Format{#1}{\Agda │ │ │ +0000afe0: 4c69 6e6b 7b23 317d 7d7d 7d7d 7d0a 5c6e Link{#1}}}}}}.\n │ │ │ +0000aff0: 6577 636f 6d6d 616e 647b 5c41 6764 614d ewcommand{\AgdaM │ │ │ +0000b000: 6163 726f 7d5b 315d 0a20 2020 207b 5c41 acro}[1]. {\A │ │ │ +0000b010: 6764 614e 6f53 7061 6365 4d61 7468 7b5c gdaNoSpaceMath{\ │ │ │ +0000b020: 7465 7874 636f 6c6f 727b 4167 6461 4d61 textcolor{AgdaMa │ │ │ +0000b030: 6372 6f7d 7b5c 4167 6461 466f 6e74 5374 cro}{\AgdaFontSt │ │ │ +0000b040: 796c 657b 5c41 6764 6146 6f72 6d61 747b yle{\AgdaFormat{ │ │ │ +0000b050: 2331 7d7b 5c41 6764 614c 696e 6b7b 2331 #1}{\AgdaLink{#1 │ │ │ +0000b060: 7d7d 7d7d 7d7d 0a5c 6e65 7763 6f6d 6d61 }}}}}}.\newcomma │ │ │ +0000b070: 6e64 7b5c 4167 6461 4d6f 6475 6c65 7d5b nd{\AgdaModule}[ │ │ │ +0000b080: 315d 0a20 2020 207b 5c41 6764 614e 6f53 1]. {\AgdaNoS │ │ │ +0000b090: 7061 6365 4d61 7468 7b5c 7465 7874 636f paceMath{\textco │ │ │ +0000b0a0: 6c6f 727b 4167 6461 4d6f 6475 6c65 7d7b lor{AgdaModule}{ │ │ │ +0000b0b0: 5c41 6764 6146 6f6e 7453 7479 6c65 7b5c \AgdaFontStyle{\ │ │ │ +0000b0c0: 4167 6461 466f 726d 6174 7b23 317d 7b5c AgdaFormat{#1}{\ │ │ │ +0000b0d0: 4167 6461 4c69 6e6b 7b23 317d 7d7d 7d7d AgdaLink{#1}}}}} │ │ │ +0000b0e0: 7d0a 5c6e 6577 636f 6d6d 616e 647b 5c41 }.\newcommand{\A │ │ │ +0000b0f0: 6764 6150 6f73 7475 6c61 7465 7d5b 315d gdaPostulate}[1] │ │ │ +0000b100: 0a20 2020 207b 5c41 6764 614e 6f53 7061 . {\AgdaNoSpa │ │ │ +0000b110: 6365 4d61 7468 7b5c 7465 7874 636f 6c6f ceMath{\textcolo │ │ │ +0000b120: 727b 4167 6461 506f 7374 756c 6174 657d r{AgdaPostulate} │ │ │ +0000b130: 7b5c 4167 6461 466f 6e74 5374 796c 657b {\AgdaFontStyle{ │ │ │ +0000b140: 5c41 6764 6146 6f72 6d61 747b 2331 7d7b \AgdaFormat{#1}{ │ │ │ +0000b150: 5c41 6764 614c 696e 6b7b 2331 7d7d 7d7d \AgdaLink{#1}}}} │ │ │ +0000b160: 7d7d 0a5c 6e65 7763 6f6d 6d61 6e64 7b5c }}.\newcommand{\ │ │ │ +0000b170: 4167 6461 5072 696d 6974 6976 657d 5b31 AgdaPrimitive}[1 │ │ │ +0000b180: 5d0a 2020 2020 7b5c 4167 6461 4e6f 5370 ]. {\AgdaNoSp │ │ │ +0000b190: 6163 654d 6174 687b 5c74 6578 7463 6f6c aceMath{\textcol │ │ │ +0000b1a0: 6f72 7b41 6764 6150 7269 6d69 7469 7665 or{AgdaPrimitive │ │ │ +0000b1b0: 7d7b 5c41 6764 6146 6f6e 7453 7479 6c65 }{\AgdaFontStyle │ │ │ +0000b1c0: 7b5c 4167 6461 466f 726d 6174 7b23 317d {\AgdaFormat{#1} │ │ │ +0000b1d0: 7b23 317d 7d7d 7d7d 0a5c 6e65 7763 6f6d {#1}}}}}.\newcom │ │ │ +0000b1e0: 6d61 6e64 7b5c 4167 6461 5265 636f 7264 mand{\AgdaRecord │ │ │ +0000b1f0: 7d5b 315d 0a20 2020 207b 5c41 6764 614e }[1]. {\AgdaN │ │ │ +0000b200: 6f53 7061 6365 4d61 7468 7b5c 7465 7874 oSpaceMath{\text │ │ │ +0000b210: 636f 6c6f 727b 4167 6461 5265 636f 7264 color{AgdaRecord │ │ │ +0000b220: 7d7b 5c41 6764 6146 6f6e 7453 7479 6c65 }{\AgdaFontStyle │ │ │ +0000b230: 7b5c 4167 6461 466f 726d 6174 7b23 317d {\AgdaFormat{#1} │ │ │ +0000b240: 7b5c 4167 6461 4c69 6e6b 7b23 317d 7d7d {\AgdaLink{#1}}} │ │ │ +0000b250: 7d7d 7d0a 5c6e 6577 636f 6d6d 616e 647b }}}.\newcommand{ │ │ │ +0000b260: 5c41 6764 6141 7267 756d 656e 747d 5b31 \AgdaArgument}[1 │ │ │ +0000b270: 5d0a 2020 2020 7b5c 4167 6461 4e6f 5370 ]. {\AgdaNoSp │ │ │ +0000b280: 6163 654d 6174 687b 5c74 6578 7463 6f6c aceMath{\textcol │ │ │ +0000b290: 6f72 7b41 6764 6141 7267 756d 656e 747d or{AgdaArgument} │ │ │ +0000b2a0: 7b5c 4167 6461 426f 756e 6446 6f6e 7453 {\AgdaBoundFontS │ │ │ +0000b2b0: 7479 6c65 7b5c 4167 6461 466f 726d 6174 tyle{\AgdaFormat │ │ │ +0000b2c0: 7b23 317d 7b23 317d 7d7d 7d7d 0a0a 2520 {#1}{#1}}}}}..% │ │ │ +0000b2d0: 4f74 6865 7220 6173 7065 6374 2063 6f6d Other aspect com │ │ │ +0000b2e0: 6d61 6e64 732e 0a5c 6e65 7763 6f6d 6d61 mands..\newcomma │ │ │ +0000b2f0: 6e64 7b5c 4167 6461 4669 7869 7479 4f70 nd{\AgdaFixityOp │ │ │ +0000b300: 7d20 2020 2020 2020 2020 205b 315d 7b5c } [1]{\ │ │ │ +0000b310: 4167 6461 4e6f 5370 6163 654d 6174 687b AgdaNoSpaceMath{ │ │ │ +0000b320: 2423 3124 7d7d 0a5c 6e65 7763 6f6d 6d61 $#1$}}.\newcomma │ │ │ +0000b330: 6e64 7b5c 4167 6461 446f 7474 6564 5061 nd{\AgdaDottedPa │ │ │ +0000b340: 7474 6572 6e7d 2020 2020 205b 315d 7b5c ttern} [1]{\ │ │ │ +0000b350: 7465 7874 636f 6c6f 727b 4167 6461 446f textcolor{AgdaDo │ │ │ +0000b360: 7474 6564 5061 7474 6572 6e7d 7b23 317d ttedPattern}{#1} │ │ │ +0000b370: 7d0a 5c6e 6577 636f 6d6d 616e 647b 5c41 }.\newcommand{\A │ │ │ +0000b380: 6764 6155 6e73 6f6c 7665 644d 6574 617d gdaUnsolvedMeta} │ │ │ +0000b390: 2020 2020 2020 5b31 5d0a 2020 2020 7b5c [1]. {\ │ │ │ +0000b3a0: 4167 6461 466f 6e74 5374 796c 657b 5c63 AgdaFontStyle{\c │ │ │ +0000b3b0: 6f6c 6f72 626f 787b 4167 6461 556e 736f olorbox{AgdaUnso │ │ │ +0000b3c0: 6c76 6564 4d65 7461 7d7b 2331 7d7d 7d0a lvedMeta}{#1}}}. │ │ │ +0000b3d0: 5c6e 6577 636f 6d6d 616e 647b 5c41 6764 \newcommand{\Agd │ │ │ +0000b3e0: 6155 6e73 6f6c 7665 6443 6f6e 7374 7261 aUnsolvedConstra │ │ │ +0000b3f0: 696e 747d 5b31 5d0a 2020 2020 7b5c 4167 int}[1]. {\Ag │ │ │ +0000b400: 6461 466f 6e74 5374 796c 657b 5c63 6f6c daFontStyle{\col │ │ │ +0000b410: 6f72 626f 787b 4167 6461 556e 736f 6c76 orbox{AgdaUnsolv │ │ │ +0000b420: 6564 436f 6e73 7472 6169 6e74 7d7b 2331 edConstraint}{#1 │ │ │ +0000b430: 7d7d 7d0a 5c6e 6577 636f 6d6d 616e 647b }}}.\newcommand{ │ │ │ +0000b440: 5c41 6764 6154 6572 6d69 6e61 7469 6f6e \AgdaTermination │ │ │ +0000b450: 5072 6f62 6c65 6d7d 5b31 5d0a 2020 2020 Problem}[1]. │ │ │ +0000b460: 7b5c 4167 6461 466f 6e74 5374 796c 657b {\AgdaFontStyle{ │ │ │ +0000b470: 5c63 6f6c 6f72 626f 787b 4167 6461 5465 \colorbox{AgdaTe │ │ │ +0000b480: 726d 696e 6174 696f 6e50 726f 626c 656d rminationProblem │ │ │ +0000b490: 7d7b 2331 7d7d 7d0a 5c6e 6577 636f 6d6d }{#1}}}.\newcomm │ │ │ +0000b4a0: 616e 647b 5c41 6764 6149 6e63 6f6d 706c and{\AgdaIncompl │ │ │ +0000b4b0: 6574 6550 6174 7465 726e 7d20 5b31 5d7b etePattern} [1]{ │ │ │ +0000b4c0: 5c63 6f6c 6f72 626f 787b 4167 6461 496e \colorbox{AgdaIn │ │ │ +0000b4d0: 636f 6d70 6c65 7465 5061 7474 6572 6e7d completePattern} │ │ │ +0000b4e0: 7b23 317d 7d0a 5c6e 6577 636f 6d6d 616e {#1}}.\newcomman │ │ │ +0000b4f0: 647b 5c41 6764 6145 7272 6f72 5761 726e d{\AgdaErrorWarn │ │ │ +0000b500: 696e 677d 2020 2020 2020 5b31 5d7b 5c63 ing} [1]{\c │ │ │ +0000b510: 6f6c 6f72 626f 787b 4167 6461 4572 726f olorbox{AgdaErro │ │ │ +0000b520: 7257 6172 6e69 6e67 7d7b 2331 7d7d 0a5c rWarning}{#1}}.\ │ │ │ +0000b530: 6e65 7763 6f6d 6d61 6e64 7b5c 4167 6461 newcommand{\Agda │ │ │ +0000b540: 4572 726f 727d 2020 2020 2020 2020 2020 Error} │ │ │ +0000b550: 2020 205b 315d 0a20 2020 207b 5c74 6578 [1]. {\tex │ │ │ +0000b560: 7463 6f6c 6f72 7b41 6764 6145 7272 6f72 tcolor{AgdaError │ │ │ +0000b570: 7d7b 5c41 6764 6146 6f6e 7453 7479 6c65 }{\AgdaFontStyle │ │ │ +0000b580: 7b5c 756e 6465 726c 696e 657b 2331 7d7d {\underline{#1}} │ │ │ +0000b590: 7d7d 0a5c 6e65 7763 6f6d 6d61 6e64 7b5c }}.\newcommand{\ │ │ │ +0000b5a0: 4167 6461 4361 7463 6861 6c6c 436c 6175 AgdaCatchallClau │ │ │ +0000b5b0: 7365 7d20 2020 205b 315d 7b23 317d 2025 se} [1]{#1} % │ │ │ +0000b5c0: 2066 6565 6c20 6672 6565 2074 6f20 6368 feel free to ch │ │ │ +0000b5d0: 616e 6765 2074 6869 730a 0a25 2055 7365 ange this..% Use │ │ │ +0000b5e0: 6420 746f 2068 6964 6520 636f 6465 2066 d to hide code f │ │ │ +0000b5f0: 726f 6d20 4c61 5465 582e 0a25 0a25 204e rom LaTeX..%.% N │ │ │ +0000b600: 6f74 6520 7468 6174 2074 6869 7320 6d61 ote that this ma │ │ │ +0000b610: 6372 6f20 6861 7320 6265 656e 2064 6570 cro has been dep │ │ │ +0000b620: 7265 6361 7465 6420 696e 2066 6176 6f75 recated in favou │ │ │ +0000b630: 7220 6f66 2067 6976 696e 6720 7468 650a r of giving the. │ │ │ +0000b640: 2520 6869 6465 2061 7267 756d 656e 7420 % hide argument │ │ │ +0000b650: 746f 2074 6865 2063 6f64 6520 656e 7669 to the code envi │ │ │ +0000b660: 726f 6e6d 656e 742e 0a5c 6c6f 6e67 5c64 ronment..\long\d │ │ │ +0000b670: 6566 5c41 6764 6148 6964 6523 317b 5c69 ef\AgdaHide#1{\i │ │ │ +0000b680: 676e 6f72 6573 7061 6365 737d 0a0a 2520 gnorespaces}..% │ │ │ +0000b690: 4d69 7363 2e0a 5c6e 6577 636f 6d6d 616e Misc..\newcomman │ │ │ +0000b6a0: 647b 5c41 6764 6148 6f6c 657d 5b31 5d7b d{\AgdaHole}[1]{ │ │ │ +0000b6b0: 5c63 6f6c 6f72 626f 787b 4167 6461 486f \colorbox{AgdaHo │ │ │ +0000b6c0: 6c65 7d7b 2331 7d7d 0a0a 2520 2d2d 2d2d le}{#1}}..% ---- │ │ │ 0000b6d0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 0000b6e0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 0000b6f0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 0000b700: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ -0000b710: 2d0a 2520 5468 6520 636f 6465 2065 6e76 -.% The code env │ │ │ -0000b720: 6972 6f6e 6d65 6e74 2e0a 0a5c 6e65 7763 ironment...\newc │ │ │ -0000b730: 6f6d 6d61 6e64 7b5c 4167 6461 436f 6465 ommand{\AgdaCode │ │ │ -0000b740: 5374 796c 657d 7b7d 0a25 205c 6e65 7763 Style}{}.% \newc │ │ │ -0000b750: 6f6d 6d61 6e64 7b5c 4167 6461 436f 6465 ommand{\AgdaCode │ │ │ -0000b760: 5374 796c 657d 7b5c 7469 6e79 7d0a 0a5c Style}{\tiny}..\ │ │ │ -0000b770: 6966 6465 6669 6e65 645c 6d61 7468 696e ifdefined\mathin │ │ │ -0000b780: 6465 6e74 0a20 207b 7d0a 5c65 6c73 650a dent. {}.\else. │ │ │ -0000b790: 2020 5c6e 6577 6469 6d65 6e5c 6d61 7468 \newdimen\math │ │ │ -0000b7a0: 696e 6465 6e74 5c6d 6174 6869 6e64 656e indent\mathinden │ │ │ -0000b7b0: 745c 6c65 6674 6d61 7267 696e 690a 5c66 t\leftmargini.\f │ │ │ -0000b7c0: 690a 0a25 2041 6464 7320 7468 6520 6769 i..% Adds the gi │ │ │ -0000b7d0: 7665 6e20 616d 6f75 6e74 206f 6620 7665 ven amount of ve │ │ │ -0000b7e0: 7274 6963 616c 2073 7061 6365 2061 6e64 rtical space and │ │ │ -0000b7f0: 2073 7461 7274 7320 6120 6e65 7720 6c69 starts a new li │ │ │ -0000b800: 6e65 2e0a 250a 2520 5468 6520 696d 706c ne..%.% The impl │ │ │ -0000b810: 656d 656e 7461 7469 6f6e 2063 6f6d 6573 ementation comes │ │ │ -0000b820: 2066 726f 6d20 6c68 7332 5465 5827 7320 from lhs2TeX's │ │ │ -0000b830: 706f 6c79 636f 6465 2e66 6d74 2c20 7772 polycode.fmt, wr │ │ │ -0000b840: 6974 7465 6e20 6279 0a25 2041 6e64 7265 itten by.% Andre │ │ │ -0000b850: 7320 4cc3 b668 2e0a 5c6e 6577 636f 6d6d s L..h..\newcomm │ │ │ -0000b860: 616e 647b 5c41 6764 6140 4e65 776c 696e and{\Agda@Newlin │ │ │ -0000b870: 6557 6974 6856 6572 7469 6361 6c53 7061 eWithVerticalSpa │ │ │ -0000b880: 6365 7d5b 315d 7b25 0a20 207b 5c70 6172 ce}[1]{%. {\par │ │ │ -0000b890: 736b 6970 3d30 7074 5c70 6172 696e 6465 skip=0pt\parinde │ │ │ -0000b8a0: 6e74 3d30 7074 5c70 6172 5c76 736b 6970 nt=0pt\par\vskip │ │ │ -0000b8b0: 2023 315c 6e6f 696e 6465 6e74 7d7d 0a0a #1\noindent}}.. │ │ │ -0000b8c0: 2520 5368 6f75 6c64 2074 6865 7265 2062 % Should there b │ │ │ -0000b8d0: 6520 7370 6163 6520 6172 6f75 6e64 2063 e space around c │ │ │ -0000b8e0: 6f64 653f 0a5c 6e65 7762 6f6f 6c65 616e ode?.\newboolean │ │ │ -0000b8f0: 7b41 6764 6140 5370 6163 6541 726f 756e {Agda@SpaceAroun │ │ │ -0000b900: 6443 6f64 657d 0a0a 2520 5573 6520 7468 dCode}..% Use th │ │ │ -0000b910: 6973 2063 6f6d 6d61 6e64 2074 6f20 6176 is command to av │ │ │ -0000b920: 6f69 6420 6578 7472 6120 7370 6163 6520 oid extra space │ │ │ -0000b930: 6172 6f75 6e64 2063 6f64 6520 626c 6f63 around code bloc │ │ │ -0000b940: 6b73 2e0a 5c6e 6577 636f 6d6d 616e 647b ks..\newcommand{ │ │ │ -0000b950: 5c41 6764 614e 6f53 7061 6365 4172 6f75 \AgdaNoSpaceArou │ │ │ -0000b960: 6e64 436f 6465 7d7b 250a 2020 5c73 6574 ndCode}{%. \set │ │ │ -0000b970: 626f 6f6c 6561 6e7b 4167 6461 4053 7061 boolean{Agda@Spa │ │ │ -0000b980: 6365 4172 6f75 6e64 436f 6465 7d7b 6661 ceAroundCode}{fa │ │ │ -0000b990: 6c73 657d 7d0a 0a25 2055 7365 2074 6869 lse}}..% Use thi │ │ │ -0000b9a0: 7320 636f 6d6d 616e 6420 746f 2069 6e63 s command to inc │ │ │ -0000b9b0: 6c75 6465 2065 7874 7261 2073 7061 6365 lude extra space │ │ │ -0000b9c0: 2061 726f 756e 6420 636f 6465 2062 6c6f around code blo │ │ │ -0000b9d0: 636b 732e 0a5c 6e65 7763 6f6d 6d61 6e64 cks..\newcommand │ │ │ -0000b9e0: 7b5c 4167 6461 5370 6163 6541 726f 756e {\AgdaSpaceAroun │ │ │ -0000b9f0: 6443 6f64 657d 7b25 0a20 205c 7365 7462 dCode}{%. \setb │ │ │ -0000ba00: 6f6f 6c65 616e 7b41 6764 6140 5370 6163 oolean{Agda@Spac │ │ │ -0000ba10: 6541 726f 756e 6443 6f64 657d 7b74 7275 eAroundCode}{tru │ │ │ -0000ba20: 657d 7d0a 0a25 2042 7920 6465 6661 756c e}}..% By defaul │ │ │ -0000ba30: 7420 7370 6163 6520 6973 2069 6e73 6572 t space is inser │ │ │ -0000ba40: 7465 6420 6172 6f75 6e64 2063 6f64 6520 ted around code │ │ │ -0000ba50: 626c 6f63 6b73 2e0a 5c41 6764 6153 7061 blocks..\AgdaSpa │ │ │ -0000ba60: 6365 4172 6f75 6e64 436f 6465 7b7d 0a0a ceAroundCode{}.. │ │ │ -0000ba70: 2520 536f 6d65 7469 6d65 7320 6f6e 6520 % Sometimes one │ │ │ -0000ba80: 6d69 6768 7420 7761 6e74 2074 6f20 6272 might want to br │ │ │ -0000ba90: 6561 6b20 7570 2061 2063 6f64 6520 626c eak up a code bl │ │ │ -0000baa0: 6f63 6b20 696e 746f 206d 756c 7469 706c ock into multipl │ │ │ -0000bab0: 650a 2520 7069 6563 6573 2c20 6275 7420 e.% pieces, but │ │ │ -0000bac0: 6b65 6570 2063 6f64 6520 696e 2064 6966 keep code in dif │ │ │ -0000bad0: 6665 7265 6e74 2062 6c6f 636b 7320 616c ferent blocks al │ │ │ -0000bae0: 6967 6e65 6420 7769 7468 2072 6573 7065 igned with respe │ │ │ -0000baf0: 6374 2074 6f0a 2520 6561 6368 206f 7468 ct to.% each oth │ │ │ -0000bb00: 6572 2e20 5468 656e 206f 6e65 2063 616e er. Then one can │ │ │ -0000bb10: 2075 7365 2074 6865 2041 6764 6141 6c69 use the AgdaAli │ │ │ -0000bb20: 676e 2065 6e76 6972 6f6e 6d65 6e74 2e20 gn environment. │ │ │ -0000bb30: 4578 616d 706c 650a 2520 7573 6167 653a Example.% usage: │ │ │ -0000bb40: 0a25 0a25 2020 205c 6265 6769 6e7b 4167 .%.% \begin{Ag │ │ │ -0000bb50: 6461 416c 6967 6e7d 0a25 2020 205c 6265 daAlign}.% \be │ │ │ -0000bb60: 6769 6e7b 636f 6465 7d0a 2520 2020 2020 gin{code}.% │ │ │ -0000bb70: 636f 6465 0a25 2020 2020 2020 2063 6f64 code.% cod │ │ │ -0000bb80: 6520 2028 6d6f 7265 2063 6f64 6529 0a25 e (more code).% │ │ │ -0000bb90: 2020 205c 656e 647b 636f 6465 7d0a 2520 \end{code}.% │ │ │ -0000bba0: 2020 4578 706c 616e 6174 696f 6e2e 2e2e Explanation... │ │ │ -0000bbb0: 0a25 2020 205c 6265 6769 6e7b 636f 6465 .% \begin{code │ │ │ -0000bbc0: 7d0a 2520 2020 2020 616c 6967 6e65 6420 }.% aligned │ │ │ -0000bbd0: 7769 7468 2022 636f 6465 220a 2520 2020 with "code".% │ │ │ -0000bbe0: 2020 2020 636f 6465 2020 2861 6c69 676e code (align │ │ │ -0000bbf0: 6564 2077 6974 6820 286d 6f72 6520 636f ed with (more co │ │ │ -0000bc00: 6465 2929 0a25 2020 205c 656e 647b 636f de)).% \end{co │ │ │ -0000bc10: 6465 7d0a 2520 2020 5c65 6e64 7b41 6764 de}.% \end{Agd │ │ │ -0000bc20: 6141 6c69 676e 7d0a 250a 2520 4e6f 7465 aAlign}.%.% Note │ │ │ -0000bc30: 2074 6861 7420 4167 6461 416c 6967 6e20 that AgdaAlign │ │ │ -0000bc40: 656e 7669 726f 6e6d 656e 7473 2073 686f environments sho │ │ │ -0000bc50: 756c 6420 6e6f 7420 6265 206e 6573 7465 uld not be neste │ │ │ -0000bc60: 642e 0a25 0a25 2053 6f6d 6574 696d 6573 d..%.% Sometimes │ │ │ -0000bc70: 206f 6e65 206d 6967 6874 2061 6c73 6f20 one might also │ │ │ -0000bc80: 7761 6e74 2074 6f20 6869 6465 2063 6f64 want to hide cod │ │ │ -0000bc90: 6520 696e 2074 6865 206d 6964 646c 6520 e in the middle │ │ │ -0000bca0: 6f66 2061 2063 6f64 650a 2520 626c 6f63 of a code.% bloc │ │ │ -0000bcb0: 6b2e 2054 6869 7320 6361 6e20 6265 2061 k. This can be a │ │ │ -0000bcc0: 6363 6f6d 706c 6973 6865 6420 696e 2074 ccomplished in t │ │ │ -0000bcd0: 6865 2066 6f6c 6c6f 7769 6e67 2077 6179 he following way │ │ │ -0000bce0: 3a0a 250a 2520 2020 5c62 6567 696e 7b41 :.%.% \begin{A │ │ │ -0000bcf0: 6764 6141 6c69 676e 7d0a 2520 2020 5c62 gdaAlign}.% \b │ │ │ -0000bd00: 6567 696e 7b63 6f64 657d 0a25 2020 2020 egin{code}.% │ │ │ -0000bd10: 2076 6973 6962 6c65 0a25 2020 205c 656e visible.% \en │ │ │ -0000bd20: 647b 636f 6465 7d0a 2520 2020 5c62 6567 d{code}.% \beg │ │ │ -0000bd30: 696e 7b63 6f64 657d 5b68 6964 655d 0a25 in{code}[hide].% │ │ │ -0000bd40: 2020 2020 2068 6964 6465 6e0a 2520 2020 hidden.% │ │ │ -0000bd50: 5c65 6e64 7b63 6f64 657d 0a25 2020 205c \end{code}.% \ │ │ │ -0000bd60: 6265 6769 6e7b 636f 6465 7d0a 2520 2020 begin{code}.% │ │ │ -0000bd70: 2020 7669 7369 626c 650a 2520 2020 5c65 visible.% \e │ │ │ -0000bd80: 6e64 7b63 6f64 657d 0a25 2020 205c 656e nd{code}.% \en │ │ │ -0000bd90: 647b 4167 6461 416c 6967 6e7d 0a25 0a25 d{AgdaAlign}.%.% │ │ │ -0000bda0: 2048 6f77 6576 6572 2c20 7468 6520 7265 However, the re │ │ │ -0000bdb0: 7375 6c74 206d 6179 2062 6520 7567 6c79 sult may be ugly │ │ │ -0000bdc0: 3a20 6578 7472 6120 7370 6163 6520 6973 : extra space is │ │ │ -0000bdd0: 2070 6572 6861 7073 2069 6e73 6572 7465 perhaps inserte │ │ │ -0000bde0: 640a 2520 6172 6f75 6e64 2074 6865 2063 d.% around the c │ │ │ -0000bdf0: 6f64 6520 626c 6f63 6b73 2e0a 250a 2520 ode blocks..%.% │ │ │ -0000be00: 5468 6520 4167 6461 5375 7070 7265 7373 The AgdaSuppress │ │ │ -0000be10: 5370 6163 6520 656e 7669 726f 6e6d 656e Space environmen │ │ │ -0000be20: 7420 656e 7375 7265 7320 7468 6174 2065 t ensures that e │ │ │ -0000be30: 7874 7261 2073 7061 6365 2069 7320 6f6e xtra space is on │ │ │ -0000be40: 6c79 0a25 2069 6e73 6572 7465 6420 6265 ly.% inserted be │ │ │ -0000be50: 666f 7265 2074 6865 2066 6972 7374 2063 fore the first c │ │ │ -0000be60: 6f64 6520 626c 6f63 6b2c 2061 6e64 2061 ode block, and a │ │ │ -0000be70: 6674 6572 2074 6865 206c 6173 7420 6f6e fter the last on │ │ │ -0000be80: 6520 2862 7574 0a25 206e 6f74 2069 6620 e (but.% not if │ │ │ -0000be90: 5c41 6764 614e 6f53 7061 6365 4172 6f75 \AgdaNoSpaceArou │ │ │ -0000bea0: 6e64 436f 6465 7b7d 2069 7320 7573 6564 ndCode{} is used │ │ │ -0000beb0: 292e 2045 7861 6d70 6c65 2075 7361 6765 ). Example usage │ │ │ -0000bec0: 3a0a 250a 2520 2020 5c62 6567 696e 7b41 :.%.% \begin{A │ │ │ -0000bed0: 6764 6141 6c69 676e 7d0a 2520 2020 5c62 gdaAlign}.% \b │ │ │ -0000bee0: 6567 696e 7b63 6f64 657d 0a25 2020 2020 egin{code}.% │ │ │ -0000bef0: 2063 6f64 650a 2520 2020 2020 2020 6d6f code.% mo │ │ │ -0000bf00: 7265 2063 6f64 650a 2520 2020 5c65 6e64 re code.% \end │ │ │ -0000bf10: 7b63 6f64 657d 0a25 2020 2045 7870 6c61 {code}.% Expla │ │ │ -0000bf20: 6e61 7469 6f6e 2e2e 2e0a 2520 2020 5c62 nation....% \b │ │ │ -0000bf30: 6567 696e 7b41 6764 6153 7570 7072 6573 egin{AgdaSuppres │ │ │ -0000bf40: 7353 7061 6365 7d0a 2520 2020 5c62 6567 sSpace}.% \beg │ │ │ -0000bf50: 696e 7b63 6f64 657d 0a25 2020 2020 2061 in{code}.% a │ │ │ -0000bf60: 6c69 676e 6564 2077 6974 6820 2263 6f64 ligned with "cod │ │ │ -0000bf70: 6522 0a25 2020 2020 2020 2061 6c69 676e e".% align │ │ │ -0000bf80: 6564 2077 6974 6820 226d 6f72 6520 636f ed with "more co │ │ │ -0000bf90: 6465 220a 2520 2020 5c65 6e64 7b63 6f64 de".% \end{cod │ │ │ -0000bfa0: 657d 0a25 2020 205c 6265 6769 6e7b 636f e}.% \begin{co │ │ │ -0000bfb0: 6465 7d5b 6869 6465 5d0a 2520 2020 2020 de}[hide].% │ │ │ -0000bfc0: 6869 6464 656e 2063 6f64 650a 2520 2020 hidden code.% │ │ │ -0000bfd0: 5c65 6e64 7b63 6f64 657d 0a25 2020 205c \end{code}.% \ │ │ │ -0000bfe0: 6265 6769 6e7b 636f 6465 7d0a 2520 2020 begin{code}.% │ │ │ -0000bff0: 2020 2020 616c 736f 2061 6c69 676e 6564 also aligned │ │ │ -0000c000: 2077 6974 6820 226d 6f72 6520 636f 6465 with "more code │ │ │ -0000c010: 220a 2520 2020 5c65 6e64 7b63 6f64 657d ".% \end{code} │ │ │ -0000c020: 0a25 2020 205c 656e 647b 4167 6461 5375 .% \end{AgdaSu │ │ │ -0000c030: 7070 7265 7373 5370 6163 657d 0a25 2020 ppressSpace}.% │ │ │ -0000c040: 205c 656e 647b 4167 6461 416c 6967 6e7d \end{AgdaAlign} │ │ │ -0000c050: 0a25 0a25 204e 6f74 6520 7468 6174 2041 .%.% Note that A │ │ │ -0000c060: 6764 6153 7570 7072 6573 7353 7061 6365 gdaSuppressSpace │ │ │ -0000c070: 2065 6e76 6972 6f6e 6d65 6e74 7320 7368 environments sh │ │ │ -0000c080: 6f75 6c64 206e 6f74 2062 6520 6e65 7374 ould not be nest │ │ │ -0000c090: 6564 2e0a 250a 2520 5468 6572 6520 6973 ed..%.% There is │ │ │ -0000c0a0: 2061 6c73 6f20 6120 636f 6d62 696e 6564 also a combined │ │ │ -0000c0b0: 2065 6e76 6972 6f6e 6d65 6e74 2c20 4167 environment, Ag │ │ │ -0000c0c0: 6461 4d75 6c74 6943 6f64 652c 2074 6861 daMultiCode, tha │ │ │ -0000c0d0: 7420 636f 6d62 696e 6573 0a25 2074 6865 t combines.% the │ │ │ -0000c0e0: 2065 6666 6563 7473 206f 6620 4167 6461 effects of Agda │ │ │ -0000c0f0: 416c 6967 6e20 616e 6420 4167 6461 5375 Align and AgdaSu │ │ │ -0000c100: 7070 7265 7373 5370 6163 652e 0a0a 2520 ppressSpace...% │ │ │ -0000c110: 5468 6520 6e75 6d62 6572 206f 6620 7468 The number of th │ │ │ -0000c120: 6520 6375 7272 656e 742f 6e65 7874 2063 e current/next c │ │ │ -0000c130: 6f64 6520 626c 6f63 6b20 2865 7863 6c75 ode block (exclu │ │ │ -0000c140: 6469 6e67 2068 6964 6465 6e20 6f6e 6573 ding hidden ones │ │ │ -0000c150: 292e 0a5c 6e65 7763 6f75 6e74 6572 7b41 )..\newcounter{A │ │ │ -0000c160: 6764 6140 4375 7272 656e 747d 0a5c 7365 gda@Current}.\se │ │ │ -0000c170: 7463 6f75 6e74 6572 7b41 6764 6140 4375 tcounter{Agda@Cu │ │ │ -0000c180: 7272 656e 747d 7b30 7d0a 0a25 2054 6865 rrent}{0}..% The │ │ │ -0000c190: 206e 756d 6265 7220 6f66 2074 6865 2070 number of the p │ │ │ -0000c1a0: 7265 7669 6f75 7320 636f 6465 2062 6c6f revious code blo │ │ │ -0000c1b0: 636b 2028 6578 636c 7564 696e 6720 6869 ck (excluding hi │ │ │ -0000c1c0: 6464 656e 206f 6e65 7329 2c20 7573 6564 dden ones), used │ │ │ -0000c1d0: 0a25 206c 6f63 616c 6c79 2069 6e20 5c41 .% locally in \A │ │ │ -0000c1e0: 6764 6140 5375 7070 7265 7373 456e 642e gda@SuppressEnd. │ │ │ -0000c1f0: 0a5c 6e65 7763 6f75 6e74 6572 7b41 6764 .\newcounter{Agd │ │ │ -0000c200: 6140 5072 6576 696f 7573 7d0a 0a25 2049 a@Previous}..% I │ │ │ -0000c210: 7320 4167 6461 416c 6967 6e20 6163 7469 s AgdaAlign acti │ │ │ -0000c220: 7665 3f0a 5c6e 6577 626f 6f6c 6561 6e7b ve?.\newboolean{ │ │ │ -0000c230: 4167 6461 4041 6c69 676e 7d0a 5c73 6574 Agda@Align}.\set │ │ │ -0000c240: 626f 6f6c 6561 6e7b 4167 6461 4041 6c69 boolean{Agda@Ali │ │ │ -0000c250: 676e 7d7b 6661 6c73 657d 0a0a 2520 5468 gn}{false}..% Th │ │ │ -0000c260: 6520 6e75 6d62 6572 206f 6620 7468 6520 e number of the │ │ │ -0000c270: 6669 7273 7420 636f 6465 2062 6c6f 636b first code block │ │ │ -0000c280: 2028 6966 2061 6e79 2920 696e 2061 2067 (if any) in a g │ │ │ -0000c290: 6976 656e 2041 6764 6141 6c69 676e 0a25 iven AgdaAlign.% │ │ │ -0000c2a0: 2065 6e76 6972 6f6e 6d65 6e74 2e0a 5c6e environment..\n │ │ │ -0000c2b0: 6577 636f 756e 7465 727b 4167 6461 4041 ewcounter{Agda@A │ │ │ -0000c2c0: 6c69 676e 5374 6172 747d 0a0a 5c6e 6577 lignStart}..\new │ │ │ -0000c2d0: 636f 6d6d 616e 647b 5c41 6764 6140 416c command{\Agda@Al │ │ │ -0000c2e0: 6967 6e53 7461 7274 7d7b 250a 2020 5c69 ignStart}{%. \i │ │ │ -0000c2f0: 6674 6865 6e65 6c73 657b 5c62 6f6f 6c65 fthenelse{\boole │ │ │ -0000c300: 616e 7b41 6764 6140 416c 6967 6e7d 7d7b an{Agda@Align}}{ │ │ │ -0000c310: 250a 2020 2020 5c50 6163 6b61 6765 4572 %. \PackageEr │ │ │ -0000c320: 726f 727b 6167 6461 7d7b 4e65 7374 6564 ror{agda}{Nested │ │ │ -0000c330: 2041 6764 6141 6c69 676e 2065 6e76 6972 AgdaAlign envir │ │ │ -0000c340: 6f6e 6d65 6e74 737d 7b25 0a20 2020 2020 onments}{%. │ │ │ -0000c350: 2041 6764 6141 6c69 676e 2061 6e64 2041 AgdaAlign and A │ │ │ -0000c360: 6764 614d 756c 7469 436f 6465 2065 6e76 gdaMultiCode env │ │ │ -0000c370: 6972 6f6e 6d65 6e74 7320 6d75 7374 206e ironments must n │ │ │ -0000c380: 6f74 2062 650a 2020 2020 2020 6e65 7374 ot be. nest │ │ │ -0000c390: 6564 2e7d 7d7b 250a 2020 2020 5c73 6574 ed.}}{%. \set │ │ │ -0000c3a0: 626f 6f6c 6561 6e7b 4167 6461 4041 6c69 boolean{Agda@Ali │ │ │ -0000c3b0: 676e 7d7b 7472 7565 7d25 0a20 2020 205c gn}{true}%. \ │ │ │ -0000c3c0: 7365 7463 6f75 6e74 6572 7b41 6764 6140 setcounter{Agda@ │ │ │ -0000c3d0: 416c 6967 6e53 7461 7274 7d7b 5c76 616c AlignStart}{\val │ │ │ -0000c3e0: 7565 7b41 6764 6140 4375 7272 656e 747d ue{Agda@Current} │ │ │ -0000c3f0: 7d7d 7d0a 0a5c 6e65 7763 6f6d 6d61 6e64 }}}..\newcommand │ │ │ -0000c400: 7b5c 4167 6461 4041 6c69 676e 456e 647d {\Agda@AlignEnd} │ │ │ -0000c410: 7b5c 7365 7462 6f6f 6c65 616e 7b41 6764 {\setboolean{Agd │ │ │ -0000c420: 6140 416c 6967 6e7d 7b66 616c 7365 7d7d a@Align}{false}} │ │ │ -0000c430: 0a0a 5c6e 6577 656e 7669 726f 6e6d 656e ..\newenvironmen │ │ │ -0000c440: 747b 4167 6461 416c 6967 6e7d 7b25 0a20 t{AgdaAlign}{%. │ │ │ -0000c450: 205c 4167 6461 4041 6c69 676e 5374 6172 \Agda@AlignStar │ │ │ -0000c460: 747b 7d7d 7b25 0a20 205c 4167 6461 4041 t{}}{%. \Agda@A │ │ │ -0000c470: 6c69 676e 456e 647b 7d25 0a20 205c 6967 lignEnd{}%. \ig │ │ │ -0000c480: 6e6f 7265 7370 6163 6573 6166 7465 7265 norespacesaftere │ │ │ -0000c490: 6e64 7d0a 0a25 2049 7320 4167 6461 5375 nd}..% Is AgdaSu │ │ │ -0000c4a0: 7070 7265 7373 5370 6163 6520 6163 7469 ppressSpace acti │ │ │ -0000c4b0: 7665 3f0a 5c6e 6577 626f 6f6c 6561 6e7b ve?.\newboolean{ │ │ │ -0000c4c0: 4167 6461 4053 7570 7072 6573 737d 0a5c Agda@Suppress}.\ │ │ │ -0000c4d0: 7365 7462 6f6f 6c65 616e 7b41 6764 6140 setboolean{Agda@ │ │ │ -0000c4e0: 5375 7070 7265 7373 7d7b 6661 6c73 657d Suppress}{false} │ │ │ -0000c4f0: 0a0a 2520 5468 6520 6e75 6d62 6572 206f ..% The number o │ │ │ -0000c500: 6620 7468 6520 6669 7273 7420 636f 6465 f the first code │ │ │ -0000c510: 2062 6c6f 636b 2028 6966 2061 6e79 2920 block (if any) │ │ │ -0000c520: 696e 2061 2067 6976 656e 0a25 2041 6764 in a given.% Agd │ │ │ -0000c530: 6153 7570 7072 6573 7353 7061 6365 2065 aSuppressSpace e │ │ │ -0000c540: 6e76 6972 6f6e 6d65 6e74 2e0a 5c6e 6577 nvironment..\new │ │ │ -0000c550: 636f 756e 7465 727b 4167 6461 4053 7570 counter{Agda@Sup │ │ │ -0000c560: 7072 6573 7353 7461 7274 7d0a 0a25 2044 pressStart}..% D │ │ │ -0000c570: 6f65 7320 6120 2264 6f20 6e6f 7420 7375 oes a "do not su │ │ │ -0000c580: 7070 7265 7373 2073 7061 6365 2061 6674 ppress space aft │ │ │ -0000c590: 6572 2220 6c61 6265 6c20 6578 6973 7420 er" label exist │ │ │ -0000c5a0: 666f 7220 7468 6520 6375 7272 656e 740a for the current. │ │ │ -0000c5b0: 2520 636f 6465 2062 6c6f 636b 3f20 2854 % code block? (T │ │ │ -0000c5c0: 6869 7320 626f 6f6c 6561 6e20 6973 2075 his boolean is u │ │ │ -0000c5d0: 7365 6420 6c6f 6361 6c6c 7920 696e 2074 sed locally in t │ │ │ -0000c5e0: 6865 2063 6f64 6520 656e 7669 726f 6e6d he code environm │ │ │ -0000c5f0: 656e 7427 730a 2520 696d 706c 656d 656e ent's.% implemen │ │ │ -0000c600: 7461 7469 6f6e 2e29 0a5c 6e65 7762 6f6f tation.).\newboo │ │ │ -0000c610: 6c65 616e 7b41 6764 6140 446f 4e6f 7453 lean{Agda@DoNotS │ │ │ -0000c620: 7570 7072 6573 7353 7061 6365 4166 7465 uppressSpaceAfte │ │ │ -0000c630: 727d 0a0a 5c6e 6577 636f 6d6d 616e 647b r}..\newcommand{ │ │ │ -0000c640: 5c41 6764 6140 5375 7070 7265 7373 5374 \Agda@SuppressSt │ │ │ -0000c650: 6172 747d 7b25 0a20 205c 6966 7468 656e art}{%. \ifthen │ │ │ -0000c660: 656c 7365 7b5c 626f 6f6c 6561 6e7b 4167 else{\boolean{Ag │ │ │ -0000c670: 6461 4053 7570 7072 6573 737d 7d7b 250a da@Suppress}}{%. │ │ │ -0000c680: 2020 2020 5c50 6163 6b61 6765 4572 726f \PackageErro │ │ │ -0000c690: 727b 6167 6461 7d7b 4e65 7374 6564 2041 r{agda}{Nested A │ │ │ -0000c6a0: 6764 6153 7570 7072 6573 7353 7061 6365 gdaSuppressSpace │ │ │ -0000c6b0: 2065 6e76 6972 6f6e 6d65 6e74 737d 7b25 environments}{% │ │ │ -0000c6c0: 0a20 2020 2020 2041 6764 6153 7570 7072 . AgdaSuppr │ │ │ -0000c6d0: 6573 7353 7061 6365 2061 6e64 2041 6764 essSpace and Agd │ │ │ -0000c6e0: 614d 756c 7469 436f 6465 2065 6e76 6972 aMultiCode envir │ │ │ -0000c6f0: 6f6e 6d65 6e74 7320 6d75 7374 206e 6f74 onments must not │ │ │ -0000c700: 2062 650a 2020 2020 2020 6e65 7374 6564 be. nested │ │ │ -0000c710: 2e7d 7d7b 250a 2020 2020 5c73 6574 626f .}}{%. \setbo │ │ │ -0000c720: 6f6c 6561 6e7b 4167 6461 4053 7570 7072 olean{Agda@Suppr │ │ │ -0000c730: 6573 737d 7b74 7275 657d 250a 2020 2020 ess}{true}%. │ │ │ -0000c740: 5c73 6574 636f 756e 7465 727b 4167 6461 \setcounter{Agda │ │ │ -0000c750: 4053 7570 7072 6573 7353 7461 7274 7d7b @SuppressStart}{ │ │ │ -0000c760: 5c76 616c 7565 7b41 6764 6140 4375 7272 \value{Agda@Curr │ │ │ -0000c770: 656e 747d 7d7d 7d0a 0a25 204d 6172 6b73 ent}}}}..% Marks │ │ │ -0000c780: 2074 6865 2067 6976 656e 2063 6f64 6520 the given code │ │ │ -0000c790: 626c 6f63 6b20 6173 206f 6e65 2074 6861 block as one tha │ │ │ -0000c7a0: 7420 7370 6163 6520 7368 6f75 6c64 206e t space should n │ │ │ -0000c7b0: 6f74 2062 650a 2520 7375 7070 7265 7373 ot be.% suppress │ │ │ -0000c7c0: 6564 2061 6674 6572 2028 6966 2041 6764 ed after (if Agd │ │ │ -0000c7d0: 6153 7061 6365 4172 6f75 6e64 436f 6465 aSpaceAroundCode │ │ │ -0000c7e0: 2061 6e64 2041 6764 6153 7570 7072 6573 and AgdaSuppres │ │ │ -0000c7f0: 7353 7061 6365 2061 7265 0a25 2062 6f74 sSpace are.% bot │ │ │ -0000c800: 6820 6163 7469 7665 292e 0a5c 6e65 7763 h active)..\newc │ │ │ -0000c810: 6f6d 6d61 6e64 7b5c 4167 6461 4044 6f4e ommand{\Agda@DoN │ │ │ -0000c820: 6f74 5375 7070 7265 7373 5370 6163 6541 otSuppressSpaceA │ │ │ -0000c830: 6674 6572 7d5b 315d 7b25 0a20 2025 2054 fter}[1]{%. % T │ │ │ -0000c840: 6865 2075 7365 206f 6620 6c61 6265 6c73 he use of labels │ │ │ -0000c850: 2069 7320 696e 7465 6e64 6564 2074 6f20 is intended to │ │ │ -0000c860: 656e 7375 7265 2074 6861 7420 4c61 5465 ensure that LaTe │ │ │ -0000c870: 5820 7769 6c6c 2070 726f 7669 6465 2061 X will provide a │ │ │ -0000c880: 0a20 2025 2077 6172 6e69 6e67 2069 6620 . % warning if │ │ │ -0000c890: 7468 6520 646f 6375 6d65 6e74 206e 6565 the document nee │ │ │ -0000c8a0: 6473 2074 6f20 6265 2072 6563 6f6d 7069 ds to be recompi │ │ │ -0000c8b0: 6c65 642e 0a20 205c 6c61 6265 6c7b 4167 led.. \label{Ag │ │ │ -0000c8c0: 6461 4044 6f4e 6f74 5375 7070 7265 7373 da@DoNotSuppress │ │ │ -0000c8d0: 5370 6163 6541 6674 6572 4023 317d 7d0a SpaceAfter@#1}}. │ │ │ -0000c8e0: 0a5c 6e65 7763 6f6d 6d61 6e64 7b5c 4167 .\newcommand{\Ag │ │ │ -0000c8f0: 6461 4053 7570 7072 6573 7345 6e64 7d7b da@SuppressEnd}{ │ │ │ -0000c900: 250a 2020 5c69 6674 6865 6e65 6c73 657b %. \ifthenelse{ │ │ │ -0000c910: 5c76 616c 7565 7b41 6764 6140 5375 7070 \value{Agda@Supp │ │ │ -0000c920: 7265 7373 5374 6172 747d 203d 205c 7661 ressStart} = \va │ │ │ -0000c930: 6c75 657b 4167 6461 4043 7572 7265 6e74 lue{Agda@Current │ │ │ -0000c940: 7d7d 7b7d 7b25 0a20 2020 2025 204d 6172 }}{}{%. % Mar │ │ │ -0000c950: 6b20 7468 6520 7072 6576 696f 7573 2063 k the previous c │ │ │ -0000c960: 6f64 6520 626c 6f63 6b20 696e 2074 6865 ode block in the │ │ │ -0000c970: 202e 6175 7820 6669 6c65 2e0a 2020 2020 .aux file.. │ │ │ -0000c980: 5c73 6574 636f 756e 7465 727b 4167 6461 \setcounter{Agda │ │ │ -0000c990: 4050 7265 7669 6f75 737d 7b5c 7468 6541 @Previous}{\theA │ │ │ -0000c9a0: 6764 6140 4375 7272 656e 742d 317d 250a gda@Current-1}%. │ │ │ -0000c9b0: 2020 2020 5c69 6d6d 6564 6961 7465 5c77 \immediate\w │ │ │ -0000c9c0: 7269 7465 5c40 6175 786f 7574 7b25 0a20 rite\@auxout{%. │ │ │ -0000c9d0: 2020 2020 205c 6e6f 6578 7061 6e64 5c41 \noexpand\A │ │ │ -0000c9e0: 6764 6140 446f 4e6f 7453 7570 7072 6573 gda@DoNotSuppres │ │ │ -0000c9f0: 7353 7061 6365 4166 7465 727b 5c74 6865 sSpaceAfter{\the │ │ │ -0000ca00: 4167 6461 4050 7265 7669 6f75 737d 7d7d Agda@Previous}}} │ │ │ -0000ca10: 250a 2020 5c73 6574 626f 6f6c 6561 6e7b %. \setboolean{ │ │ │ -0000ca20: 4167 6461 4053 7570 7072 6573 737d 7b66 Agda@Suppress}{f │ │ │ -0000ca30: 616c 7365 7d7d 0a0a 5c6e 6577 656e 7669 alse}}..\newenvi │ │ │ -0000ca40: 726f 6e6d 656e 747b 4167 6461 5375 7070 ronment{AgdaSupp │ │ │ -0000ca50: 7265 7373 5370 6163 657d 7b25 0a20 205c ressSpace}{%. \ │ │ │ -0000ca60: 4167 6461 4053 7570 7072 6573 7353 7461 Agda@SuppressSta │ │ │ -0000ca70: 7274 7b7d 7d7b 250a 2020 5c41 6764 6140 rt{}}{%. \Agda@ │ │ │ -0000ca80: 5375 7070 7265 7373 456e 647b 7d25 0a20 SuppressEnd{}%. │ │ │ -0000ca90: 205c 6967 6e6f 7265 7370 6163 6573 6166 \ignorespacesaf │ │ │ -0000caa0: 7465 7265 6e64 7d0a 0a5c 6e65 7765 6e76 terend}..\newenv │ │ │ -0000cab0: 6972 6f6e 6d65 6e74 7b41 6764 614d 756c ironment{AgdaMul │ │ │ -0000cac0: 7469 436f 6465 7d7b 250a 2020 5c41 6764 tiCode}{%. \Agd │ │ │ -0000cad0: 6140 416c 6967 6e53 7461 7274 7b7d 250a a@AlignStart{}%. │ │ │ -0000cae0: 2020 5c41 6764 6140 5375 7070 7265 7373 \Agda@Suppress │ │ │ -0000caf0: 5374 6172 747b 7d7d 7b25 0a20 205c 4167 Start{}}{%. \Ag │ │ │ -0000cb00: 6461 4053 7570 7072 6573 7345 6e64 7b7d da@SuppressEnd{} │ │ │ -0000cb10: 250a 2020 5c41 6764 6140 416c 6967 6e45 %. \Agda@AlignE │ │ │ -0000cb20: 6e64 7b7d 250a 2020 5c69 676e 6f72 6573 nd{}%. \ignores │ │ │ -0000cb30: 7061 6365 7361 6674 6572 656e 647d 0a0a pacesafterend}.. │ │ │ -0000cb40: 2520 5665 7274 6963 616c 2073 7061 6365 % Vertical space │ │ │ -0000cb50: 2075 7365 6420 666f 7220 656d 7074 7920 used for empty │ │ │ -0000cb60: 6c69 6e65 732e 2042 7920 6465 6661 756c lines. By defaul │ │ │ -0000cb70: 7420 5c61 626f 7665 6469 7370 6c61 7973 t \abovedisplays │ │ │ -0000cb80: 6b69 702e 0a5c 6e65 776c 656e 6774 687b kip..\newlength{ │ │ │ -0000cb90: 5c41 6764 6145 6d70 7479 536b 6970 7d0a \AgdaEmptySkip}. │ │ │ -0000cba0: 5c73 6574 6c65 6e67 7468 7b5c 4167 6461 \setlength{\Agda │ │ │ -0000cbb0: 456d 7074 7953 6b69 707d 7b5c 6162 6f76 EmptySkip}{\abov │ │ │ -0000cbc0: 6564 6973 706c 6179 736b 6970 7d0a 0a25 edisplayskip}..% │ │ │ -0000cbd0: 2045 7874 7261 2073 7061 6365 2074 6f20 Extra space to │ │ │ -0000cbe0: 6265 2069 6e73 6572 7465 6420 666f 7220 be inserted for │ │ │ -0000cbf0: 656d 7074 7920 6c69 6e65 7320 2874 6865 empty lines (the │ │ │ -0000cc00: 2064 6966 6665 7265 6e63 6520 6265 7477 difference betw │ │ │ -0000cc10: 6565 6e0a 2520 5c41 6764 6145 6d70 7479 een.% \AgdaEmpty │ │ │ -0000cc20: 536b 6970 2061 6e64 205c 6261 7365 6c69 Skip and \baseli │ │ │ -0000cc30: 6e65 736b 6970 292e 2055 7365 6420 696e neskip). Used in │ │ │ -0000cc40: 7465 726e 616c 6c79 2e0a 5c6e 6577 6c65 ternally..\newle │ │ │ -0000cc50: 6e67 7468 7b5c 4167 6461 456d 7074 7945 ngth{\AgdaEmptyE │ │ │ -0000cc60: 7874 7261 536b 6970 7d0a 0a25 2043 6f75 xtraSkip}..% Cou │ │ │ -0000cc70: 6e74 6572 2075 7365 6420 666f 7220 636f nter used for co │ │ │ -0000cc80: 6465 206e 756d 6265 7273 2e0a 5c6e 6577 de numbers..\new │ │ │ -0000cc90: 636f 756e 7465 727b 4167 6461 436f 6465 counter{AgdaCode │ │ │ -0000cca0: 4e75 6d62 6572 7d0a 2520 466f 726d 6174 Number}.% Format │ │ │ -0000ccb0: 7320 6120 636f 6465 206e 756d 6265 722e s a code number. │ │ │ -0000ccc0: 0a5c 6e65 7763 6f6d 6d61 6e64 7b5c 4167 .\newcommand{\Ag │ │ │ -0000ccd0: 6461 466f 726d 6174 436f 6465 4e75 6d62 daFormatCodeNumb │ │ │ -0000cce0: 6572 7d5b 315d 7b28 2331 297d 0a0a 2520 er}[1]{(#1)}..% │ │ │ -0000ccf0: 4120 626f 6f6c 6561 6e20 7573 6564 2074 A boolean used t │ │ │ -0000cd00: 6f20 6861 6e64 6c65 2074 6865 206f 7074 o handle the opt │ │ │ -0000cd10: 696f 6e20 6e75 6d62 6572 2e0a 5c6e 6577 ion number..\new │ │ │ -0000cd20: 626f 6f6c 6561 6e7b 4167 6461 404e 756d boolean{Agda@Num │ │ │ -0000cd30: 6265 727d 0a5c 7365 7462 6f6f 6c65 616e ber}.\setboolean │ │ │ -0000cd40: 7b41 6764 6140 4e75 6d62 6572 7d7b 6661 {Agda@Number}{fa │ │ │ -0000cd50: 6c73 657d 0a0a 2520 4120 626f 6f6c 6561 lse}..% A boolea │ │ │ -0000cd60: 6e20 7573 6564 2074 6f20 6861 6e64 6c65 n used to handle │ │ │ -0000cd70: 2074 6865 206f 7074 696f 6e20 696e 6c69 the option inli │ │ │ -0000cd80: 6e65 2a2e 2028 466f 7220 736f 6d65 2072 ne*. (For some r │ │ │ -0000cd90: 6561 736f 6e20 7468 650a 2520 6170 7072 eason the.% appr │ │ │ -0000cda0: 6f61 6368 2075 7365 6420 666f 7220 6869 oach used for hi │ │ │ -0000cdb0: 6465 2061 6e64 2069 6e6c 696e 6520 646f de and inline do │ │ │ -0000cdc0: 6573 206e 6f74 2077 6f72 6b20 666f 7220 es not work for │ │ │ -0000cdd0: 696e 6c69 6e65 2a2e 290a 5c6e 6577 626f inline*.).\newbo │ │ │ -0000cde0: 6f6c 6561 6e7b 4167 6461 4049 6e6c 696e olean{Agda@Inlin │ │ │ -0000cdf0: 6553 7461 727d 0a5c 7365 7462 6f6f 6c65 eStar}.\setboole │ │ │ -0000ce00: 616e 7b41 6764 6140 496e 6c69 6e65 5374 an{Agda@InlineSt │ │ │ -0000ce10: 6172 7d7b 6661 6c73 657d 0a0a 2520 4b65 ar}{false}..% Ke │ │ │ -0000ce20: 7973 2075 7365 6420 6279 2074 6865 2063 ys used by the c │ │ │ -0000ce30: 6f64 6520 656e 7669 726f 6e6d 656e 742e ode environment. │ │ │ -0000ce40: 0a5c 6465 6669 6e65 4062 6f6f 6c6b 6579 .\define@boolkey │ │ │ -0000ce50: 5b41 6764 615d 7b63 6f64 657d 7b68 6964 [Agda]{code}{hid │ │ │ -0000ce60: 657d 5b74 7275 655d 7b7d 0a5c 6465 6669 e}[true]{}.\defi │ │ │ -0000ce70: 6e65 4062 6f6f 6c6b 6579 5b41 6764 615d ne@boolkey[Agda] │ │ │ -0000ce80: 7b63 6f64 657d 7b69 6e6c 696e 657d 5b74 {code}{inline}[t │ │ │ -0000ce90: 7275 655d 7b7d 0a5c 6465 6669 6e65 4062 rue]{}.\define@b │ │ │ -0000cea0: 6f6f 6c6b 6579 5b41 6764 615d 7b63 6f64 oolkey[Agda]{cod │ │ │ -0000ceb0: 657d 7b69 6e6c 696e 652a 7d5b 7472 7565 e}{inline*}[true │ │ │ -0000cec0: 5d7b 250a 2020 5c73 6574 626f 6f6c 6561 ]{%. \setboolea │ │ │ -0000ced0: 6e7b 4167 6461 4049 6e6c 696e 6553 7461 n{Agda@InlineSta │ │ │ -0000cee0: 727d 7b74 7275 657d 7d0a 5c64 6566 696e r}{true}}.\defin │ │ │ -0000cef0: 6540 6b65 795b 4167 6461 5d7b 636f 6465 e@key[Agda]{code │ │ │ -0000cf00: 7d7b 6e75 6d62 6572 7d5b 5d7b 250a 2020 }{number}[]{%. │ │ │ -0000cf10: 5c69 6674 6865 6e65 6c73 657b 5c62 6f6f \ifthenelse{\boo │ │ │ -0000cf20: 6c65 616e 7b41 6764 6140 4e75 6d62 6572 lean{Agda@Number │ │ │ -0000cf30: 7d7d 7b7d 7b25 0a20 2020 205c 7365 7462 }}{}{%. \setb │ │ │ -0000cf40: 6f6f 6c65 616e 7b41 6764 6140 4e75 6d62 oolean{Agda@Numb │ │ │ -0000cf50: 6572 7d7b 7472 7565 7d25 0a20 2020 2025 er}{true}%. % │ │ │ -0000cf60: 2049 6e63 7265 6173 6520 7468 6520 636f Increase the co │ │ │ -0000cf70: 756e 7465 7220 6966 2074 6869 7320 6861 unter if this ha │ │ │ -0000cf80: 7320 6e6f 7420 616c 7265 6164 7920 6265 s not already be │ │ │ -0000cf90: 656e 2064 6f6e 652e 0a20 2020 205c 7265 en done.. \re │ │ │ -0000cfa0: 6673 7465 7063 6f75 6e74 6572 7b41 6764 fstepcounter{Agd │ │ │ -0000cfb0: 6143 6f64 654e 756d 6265 727d 7d25 0a20 aCodeNumber}}%. │ │ │ -0000cfc0: 2025 2049 6620 7468 6520 6c61 6265 6c20 % If the label │ │ │ -0000cfd0: 6973 206e 6f6e 2d65 6d70 7479 2c20 7365 is non-empty, se │ │ │ -0000cfe0: 7420 6974 2e20 4e6f 7465 2074 6861 7420 t it. Note that │ │ │ -0000cff0: 6974 2069 7320 706f 7373 6962 6c65 2074 it is possible t │ │ │ -0000d000: 6f0a 2020 2520 6769 7665 2073 6576 6572 o. % give sever │ │ │ -0000d010: 616c 206c 6162 656c 7320 666f 7220 6120 al labels for a │ │ │ -0000d020: 7369 6e67 6c65 2063 6f64 6520 6c69 7374 single code list │ │ │ -0000d030: 696e 672e 0a20 205c 6966 7468 656e 656c ing.. \ifthenel │ │ │ -0000d040: 7365 7b5c 6571 7561 6c7b 2331 7d7b 7d7d se{\equal{#1}{}} │ │ │ -0000d050: 7b7d 7b5c 6c61 6265 6c7b 2331 7d7d 7d0a {}{\label{#1}}}. │ │ │ -0000d060: 0a25 2054 6865 2063 6f64 6520 656e 7669 .% The code envi │ │ │ -0000d070: 726f 6e6d 656e 742e 0a25 0a25 204f 7074 ronment..%.% Opt │ │ │ -0000d080: 696f 6e73 3a0a 250a 2520 2a20 6869 6465 ions:.%.% * hide │ │ │ -0000d090: 3a20 5468 6520 636f 6465 2069 7320 6869 : The code is hi │ │ │ -0000d0a0: 6464 656e 2e20 4f74 6865 7220 6f70 7469 dden. Other opti │ │ │ -0000d0b0: 6f6e 7320 6172 6520 6967 6e6f 7265 642e ons are ignored. │ │ │ -0000d0c0: 0a25 0a25 202a 206e 756d 6265 723a 2047 .%.% * number: G │ │ │ -0000d0d0: 6976 6520 7468 6520 636f 6465 2061 6e20 ive the code an │ │ │ -0000d0e0: 6571 7561 7469 6f6e 206e 756d 6265 722e equation number. │ │ │ -0000d0f0: 0a25 0a25 202a 206e 756d 6265 723d 6c3a .%.% * number=l: │ │ │ -0000d100: 2047 6976 6520 7468 6520 636f 6465 2061 Give the code a │ │ │ -0000d110: 6e20 6571 7561 7469 6f6e 206e 756d 6265 n equation numbe │ │ │ -0000d120: 7220 616e 6420 7468 6520 6c61 6265 6c20 r and the label │ │ │ -0000d130: 6c2e 2049 7420 6973 0a25 2020 2070 6f73 l. It is.% pos │ │ │ -0000d140: 7369 626c 6520 746f 2075 7365 2074 6869 sible to use thi │ │ │ -0000d150: 7320 6f70 7469 6f6e 2073 6576 6572 616c s option several │ │ │ -0000d160: 2074 696d 6573 2077 6974 6820 6469 6666 times with diff │ │ │ -0000d170: 6572 656e 7420 6c61 6265 6c73 2e0a 250a erent labels..%. │ │ │ -0000d180: 2520 2a20 696e 6c69 6e65 2f69 6e6c 696e % * inline/inlin │ │ │ -0000d190: 652a 3a20 5468 6520 636f 6465 2069 7320 e*: The code is │ │ │ -0000d1a0: 696e 6c69 6e65 642e 2049 6e20 7468 6973 inlined. In this │ │ │ -0000d1b0: 2063 6173 6520 6d6f 7374 206f 6620 7468 case most of th │ │ │ -0000d1c0: 650a 2520 2020 6469 7363 7573 7369 6f6e e.% discussion │ │ │ -0000d1d0: 2061 626f 7665 2064 6f65 7320 6e6f 7420 above does not │ │ │ -0000d1e0: 6170 706c 792c 2061 6c69 676e 6d65 6e74 apply, alignment │ │ │ -0000d1f0: 2069 7320 6e6f 7420 7265 7370 6563 7465 is not respecte │ │ │ -0000d200: 642c 2061 6e64 2073 6f0a 2520 2020 6f6e d, and so.% on │ │ │ -0000d210: 2e20 4974 2069 7320 7265 636f 6d6d 656e . It is recommen │ │ │ -0000d220: 6465 6420 746f 206f 6e6c 7920 7573 6520 ded to only use │ │ │ -0000d230: 7468 6973 206f 7074 696f 6e20 666f 7220 this option for │ │ │ -0000d240: 6120 7369 6e67 6c65 206c 696e 6520 6f66 a single line of │ │ │ -0000d250: 0a25 2020 2063 6f64 652c 2061 6e64 2074 .% code, and t │ │ │ -0000d260: 6f20 6e6f 7420 7573 6520 7477 6f20 636f o not use two co │ │ │ -0000d270: 6e73 6563 7574 6976 6520 7370 6163 6573 nsecutive spaces │ │ │ -0000d280: 2069 6e20 7468 6973 2070 6965 6365 206f in this piece o │ │ │ -0000d290: 6620 636f 6465 2e0a 250a 2520 2020 4e6f f code..%.% No │ │ │ -0000d2a0: 7465 2074 6861 7420 7468 6973 2065 6e76 te that this env │ │ │ -0000d2b0: 6972 6f6e 6d65 6e74 2069 676e 6f72 6573 ironment ignores │ │ │ -0000d2c0: 2073 7061 6365 7320 6166 7465 7220 6974 spaces after it │ │ │ -0000d2d0: 7320 656e 642e 2049 6620 6120 7370 6163 s end. If a spac │ │ │ -0000d2e0: 650a 2520 2020 285c 4167 6461 5370 6163 e.% (\AgdaSpac │ │ │ -0000d2f0: 657b 7d29 2073 686f 756c 6420 6265 2069 e{}) should be i │ │ │ -0000d300: 6e73 6572 7465 6420 6166 7465 7220 7468 nserted after th │ │ │ -0000d310: 6520 696e 6c69 6e65 2063 6f64 652c 2075 e inline code, u │ │ │ -0000d320: 7365 0a25 2020 2069 6e6c 696e 652a 2c20 se.% inline*, │ │ │ -0000d330: 6f74 6865 7277 6973 6520 7573 6520 696e otherwise use in │ │ │ -0000d340: 6c69 6e65 2e0a 250a 2520 2020 5768 656e line..%.% When │ │ │ -0000d350: 2074 6869 7320 6f70 7469 6f6e 2069 7320 this option is │ │ │ -0000d360: 7573 6564 206e 756d 6265 7220 6973 2069 used number is i │ │ │ -0000d370: 676e 6f72 6564 2e0a 250a 2520 5468 6520 gnored..%.% The │ │ │ -0000d380: 696d 706c 656d 656e 7461 7469 6f6e 2069 implementation i │ │ │ -0000d390: 7320 6261 7365 6420 6f6e 2070 6c61 696e s based on plain │ │ │ -0000d3a0: 6873 636f 6465 2069 6e20 6c68 7332 5465 hscode in lhs2Te │ │ │ -0000d3b0: 5827 730a 2520 706f 6c79 636f 6465 2e66 X's.% polycode.f │ │ │ -0000d3c0: 6d74 2c20 7772 6974 7465 6e20 6279 2041 mt, written by A │ │ │ -0000d3d0: 6e64 7265 7320 4cc3 b668 2e0a 5c4e 6577 ndres L..h..\New │ │ │ -0000d3e0: 456e 7669 726f 6e7b 636f 6465 7d5b 315d Environ{code}[1] │ │ │ -0000d3f0: 5b5d 7b25 0a20 2025 2050 726f 6365 7373 []{%. % Process │ │ │ -0000d400: 2074 6865 206f 7074 696f 6e73 2e20 436f the options. Co │ │ │ -0000d410: 6d70 6c61 696e 2061 626f 7574 2075 6e6b mplain about unk │ │ │ -0000d420: 6e6f 776e 206f 7074 696f 6e73 2e0a 2020 nown options.. │ │ │ -0000d430: 5c73 6574 6b65 7973 5b41 6764 615d 7b63 \setkeys[Agda]{c │ │ │ -0000d440: 6f64 657d 5b6e 756d 6265 725d 7b23 317d ode}[number]{#1} │ │ │ -0000d450: 250a 2020 5c69 6641 6764 6140 636f 6465 %. \ifAgda@code │ │ │ -0000d460: 4068 6964 6525 0a20 2020 2025 2048 6964 @hide%. % Hid │ │ │ -0000d470: 6520 7468 6520 636f 6465 2e0a 2020 5c65 e the code.. \e │ │ │ -0000d480: 6c73 6525 0a20 205c 6966 4167 6461 4063 lse%. \ifAgda@c │ │ │ -0000d490: 6f64 6540 696e 6c69 6e65 250a 2020 2020 ode@inline%. │ │ │ -0000d4a0: 2520 496e 6c69 6e65 2063 6f64 652e 0a20 % Inline code.. │ │ │ -0000d4b0: 2020 2025 0a20 2020 2025 204d 616b 6520 %. % Make │ │ │ -0000d4c0: 7468 6520 706f 6c79 7461 626c 6520 7072 the polytable pr │ │ │ -0000d4d0: 696d 6974 6976 6573 2065 6d69 7474 6564 imitives emitted │ │ │ -0000d4e0: 2062 7920 7468 6520 4c61 5465 5820 6261 by the LaTeX ba │ │ │ -0000d4f0: 636b 656e 640a 2020 2020 2520 646f 206e ckend. % do n │ │ │ -0000d500: 6f74 6869 6e67 2e0a 2020 2020 5c44 6563 othing.. \Dec │ │ │ -0000d510: 6c61 7265 446f 6375 6d65 6e74 436f 6d6d lareDocumentComm │ │ │ -0000d520: 616e 647b 5c3e 7d7b 4f7b 7d4f 7b7d 7d7b and{\>}{O{}O{}}{ │ │ │ -0000d530: 7d25 0a20 2020 205c 4465 636c 6172 6544 }%. \DeclareD │ │ │ -0000d540: 6f63 756d 656e 7443 6f6d 6d61 6e64 7b5c ocumentCommand{\ │ │ │ -0000d550: 3c7d 7b4f 7b7d 7d7b 7d25 0a20 2020 205c <}{O{}}{}%. \ │ │ │ -0000d560: 4167 6461 436f 6465 5374 796c 655c 424f AgdaCodeStyle\BO │ │ │ -0000d570: 4459 250a 2020 5c65 6c73 6525 0a20 205c DY%. \else%. \ │ │ │ -0000d580: 6966 7468 656e 656c 7365 7b5c 626f 6f6c ifthenelse{\bool │ │ │ -0000d590: 6561 6e7b 4167 6461 4049 6e6c 696e 6553 ean{Agda@InlineS │ │ │ -0000d5a0: 7461 727d 7d7b 250a 2020 2020 2520 496e tar}}{%. % In │ │ │ -0000d5b0: 6c69 6e65 2063 6f64 6520 7769 7468 2073 line code with s │ │ │ -0000d5c0: 7061 6365 2061 7420 7468 6520 656e 642e pace at the end. │ │ │ -0000d5d0: 0a20 2020 2025 0a20 2020 205c 4465 636c . %. \Decl │ │ │ -0000d5e0: 6172 6544 6f63 756d 656e 7443 6f6d 6d61 areDocumentComma │ │ │ -0000d5f0: 6e64 7b5c 3e7d 7b4f 7b7d 4f7b 7d7d 7b7d nd{\>}{O{}O{}}{} │ │ │ -0000d600: 250a 2020 2020 5c44 6563 6c61 7265 446f %. \DeclareDo │ │ │ -0000d610: 6375 6d65 6e74 436f 6d6d 616e 647b 5c3c cumentCommand{\< │ │ │ -0000d620: 7d7b 4f7b 7d7d 7b7d 250a 2020 2020 5c41 }{O{}}{}%. \A │ │ │ -0000d630: 6764 6143 6f64 6553 7479 6c65 5c42 4f44 gdaCodeStyle\BOD │ │ │ -0000d640: 595c 4167 6461 5370 6163 657b 7d7d 7b25 Y\AgdaSpace{}}{% │ │ │ -0000d650: 0a20 2020 2025 0a20 2020 2025 2044 6973 . %. % Dis │ │ │ -0000d660: 706c 6179 6564 2063 6f64 652e 0a20 2020 played code.. │ │ │ -0000d670: 2025 0a20 2020 2025 2043 6f6e 6469 7469 %. % Conditi │ │ │ -0000d680: 6f6e 616c 6c79 2065 6d69 7420 7370 6163 onally emit spac │ │ │ -0000d690: 6520 6265 666f 7265 2074 6865 2063 6f64 e before the cod │ │ │ -0000d6a0: 6520 626c 6f63 6b2e 2055 6e63 6f6e 6469 e block. Uncondi │ │ │ -0000d6b0: 7469 6f6e 616c 6c79 0a20 2020 2025 2073 tionally. % s │ │ │ -0000d6c0: 7769 7463 6820 746f 2061 206e 6577 206c witch to a new l │ │ │ -0000d6d0: 696e 652e 0a20 2020 205c 6966 7468 656e ine.. \ifthen │ │ │ -0000d6e0: 656c 7365 7b5c 626f 6f6c 6561 6e7b 4167 else{\boolean{Ag │ │ │ -0000d6f0: 6461 4053 7061 6365 4172 6f75 6e64 436f da@SpaceAroundCo │ │ │ -0000d700: 6465 7d20 5c61 6e64 250a 2020 2020 2020 de} \and%. │ │ │ -0000d710: 2020 2020 2020 2020 2020 5c28 5c6e 6f74 \(\not │ │ │ -0000d720: 205c 626f 6f6c 6561 6e7b 4167 6461 4053 \boolean{Agda@S │ │ │ -0000d730: 7570 7072 6573 737d 205c 6f72 250a 2020 uppress} \or%. │ │ │ +0000b710: 2d2d 0a25 2054 6865 2063 6f64 6520 656e --.% The code en │ │ │ +0000b720: 7669 726f 6e6d 656e 742e 0a0a 5c6e 6577 vironment...\new │ │ │ +0000b730: 636f 6d6d 616e 647b 5c41 6764 6143 6f64 command{\AgdaCod │ │ │ +0000b740: 6553 7479 6c65 7d7b 7d0a 2520 5c6e 6577 eStyle}{}.% \new │ │ │ +0000b750: 636f 6d6d 616e 647b 5c41 6764 6143 6f64 command{\AgdaCod │ │ │ +0000b760: 6553 7479 6c65 7d7b 5c74 696e 797d 0a0a eStyle}{\tiny}.. │ │ │ +0000b770: 5c69 6664 6566 696e 6564 5c6d 6174 6869 \ifdefined\mathi │ │ │ +0000b780: 6e64 656e 740a 2020 7b7d 0a5c 656c 7365 ndent. {}.\else │ │ │ +0000b790: 0a20 205c 6e65 7764 696d 656e 5c6d 6174 . \newdimen\mat │ │ │ +0000b7a0: 6869 6e64 656e 745c 6d61 7468 696e 6465 hindent\mathinde │ │ │ +0000b7b0: 6e74 5c6c 6566 746d 6172 6769 6e69 0a5c nt\leftmargini.\ │ │ │ +0000b7c0: 6669 0a0a 2520 4164 6473 2074 6865 2067 fi..% Adds the g │ │ │ +0000b7d0: 6976 656e 2061 6d6f 756e 7420 6f66 2076 iven amount of v │ │ │ +0000b7e0: 6572 7469 6361 6c20 7370 6163 6520 616e ertical space an │ │ │ +0000b7f0: 6420 7374 6172 7473 2061 206e 6577 206c d starts a new l │ │ │ +0000b800: 696e 652e 0a25 0a25 2054 6865 2069 6d70 ine..%.% The imp │ │ │ +0000b810: 6c65 6d65 6e74 6174 696f 6e20 636f 6d65 lementation come │ │ │ +0000b820: 7320 6672 6f6d 206c 6873 3254 6558 2773 s from lhs2TeX's │ │ │ +0000b830: 2070 6f6c 7963 6f64 652e 666d 742c 2077 polycode.fmt, w │ │ │ +0000b840: 7269 7474 656e 2062 790a 2520 416e 6472 ritten by.% Andr │ │ │ +0000b850: 6573 204c c3b6 682e 0a5c 6e65 7763 6f6d es L..h..\newcom │ │ │ +0000b860: 6d61 6e64 7b5c 4167 6461 404e 6577 6c69 mand{\Agda@Newli │ │ │ +0000b870: 6e65 5769 7468 5665 7274 6963 616c 5370 neWithVerticalSp │ │ │ +0000b880: 6163 657d 5b31 5d7b 250a 2020 7b5c 7061 ace}[1]{%. {\pa │ │ │ +0000b890: 7273 6b69 703d 3070 745c 7061 7269 6e64 rskip=0pt\parind │ │ │ +0000b8a0: 656e 743d 3070 745c 7061 725c 7673 6b69 ent=0pt\par\vski │ │ │ +0000b8b0: 7020 2331 5c6e 6f69 6e64 656e 747d 7d0a p #1\noindent}}. │ │ │ +0000b8c0: 0a25 2053 686f 756c 6420 7468 6572 6520 .% Should there │ │ │ +0000b8d0: 6265 2073 7061 6365 2061 726f 756e 6420 be space around │ │ │ +0000b8e0: 636f 6465 3f0a 5c6e 6577 626f 6f6c 6561 code?.\newboolea │ │ │ +0000b8f0: 6e7b 4167 6461 4053 7061 6365 4172 6f75 n{Agda@SpaceArou │ │ │ +0000b900: 6e64 436f 6465 7d0a 0a25 2055 7365 2074 ndCode}..% Use t │ │ │ +0000b910: 6869 7320 636f 6d6d 616e 6420 746f 2061 his command to a │ │ │ +0000b920: 766f 6964 2065 7874 7261 2073 7061 6365 void extra space │ │ │ +0000b930: 2061 726f 756e 6420 636f 6465 2062 6c6f around code blo │ │ │ +0000b940: 636b 732e 0a5c 6e65 7763 6f6d 6d61 6e64 cks..\newcommand │ │ │ +0000b950: 7b5c 4167 6461 4e6f 5370 6163 6541 726f {\AgdaNoSpaceAro │ │ │ +0000b960: 756e 6443 6f64 657d 7b25 0a20 205c 7365 undCode}{%. \se │ │ │ +0000b970: 7462 6f6f 6c65 616e 7b41 6764 6140 5370 tboolean{Agda@Sp │ │ │ +0000b980: 6163 6541 726f 756e 6443 6f64 657d 7b66 aceAroundCode}{f │ │ │ +0000b990: 616c 7365 7d7d 0a0a 2520 5573 6520 7468 alse}}..% Use th │ │ │ +0000b9a0: 6973 2063 6f6d 6d61 6e64 2074 6f20 696e is command to in │ │ │ +0000b9b0: 636c 7564 6520 6578 7472 6120 7370 6163 clude extra spac │ │ │ +0000b9c0: 6520 6172 6f75 6e64 2063 6f64 6520 626c e around code bl │ │ │ +0000b9d0: 6f63 6b73 2e0a 5c6e 6577 636f 6d6d 616e ocks..\newcomman │ │ │ +0000b9e0: 647b 5c41 6764 6153 7061 6365 4172 6f75 d{\AgdaSpaceArou │ │ │ +0000b9f0: 6e64 436f 6465 7d7b 250a 2020 5c73 6574 ndCode}{%. \set │ │ │ +0000ba00: 626f 6f6c 6561 6e7b 4167 6461 4053 7061 boolean{Agda@Spa │ │ │ +0000ba10: 6365 4172 6f75 6e64 436f 6465 7d7b 7472 ceAroundCode}{tr │ │ │ +0000ba20: 7565 7d7d 0a0a 2520 4279 2064 6566 6175 ue}}..% By defau │ │ │ +0000ba30: 6c74 2073 7061 6365 2069 7320 696e 7365 lt space is inse │ │ │ +0000ba40: 7274 6564 2061 726f 756e 6420 636f 6465 rted around code │ │ │ +0000ba50: 2062 6c6f 636b 732e 0a5c 4167 6461 5370 blocks..\AgdaSp │ │ │ +0000ba60: 6163 6541 726f 756e 6443 6f64 657b 7d0a aceAroundCode{}. │ │ │ +0000ba70: 0a25 2053 6f6d 6574 696d 6573 206f 6e65 .% Sometimes one │ │ │ +0000ba80: 206d 6967 6874 2077 616e 7420 746f 2062 might want to b │ │ │ +0000ba90: 7265 616b 2075 7020 6120 636f 6465 2062 reak up a code b │ │ │ +0000baa0: 6c6f 636b 2069 6e74 6f20 6d75 6c74 6970 lock into multip │ │ │ +0000bab0: 6c65 0a25 2070 6965 6365 732c 2062 7574 le.% pieces, but │ │ │ +0000bac0: 206b 6565 7020 636f 6465 2069 6e20 6469 keep code in di │ │ │ +0000bad0: 6666 6572 656e 7420 626c 6f63 6b73 2061 fferent blocks a │ │ │ +0000bae0: 6c69 676e 6564 2077 6974 6820 7265 7370 ligned with resp │ │ │ +0000baf0: 6563 7420 746f 0a25 2065 6163 6820 6f74 ect to.% each ot │ │ │ +0000bb00: 6865 722e 2054 6865 6e20 6f6e 6520 6361 her. Then one ca │ │ │ +0000bb10: 6e20 7573 6520 7468 6520 4167 6461 416c n use the AgdaAl │ │ │ +0000bb20: 6967 6e20 656e 7669 726f 6e6d 656e 742e ign environment. │ │ │ +0000bb30: 2045 7861 6d70 6c65 0a25 2075 7361 6765 Example.% usage │ │ │ +0000bb40: 3a0a 250a 2520 2020 5c62 6567 696e 7b41 :.%.% \begin{A │ │ │ +0000bb50: 6764 6141 6c69 676e 7d0a 2520 2020 5c62 gdaAlign}.% \b │ │ │ +0000bb60: 6567 696e 7b63 6f64 657d 0a25 2020 2020 egin{code}.% │ │ │ +0000bb70: 2063 6f64 650a 2520 2020 2020 2020 636f code.% co │ │ │ +0000bb80: 6465 2020 286d 6f72 6520 636f 6465 290a de (more code). │ │ │ +0000bb90: 2520 2020 5c65 6e64 7b63 6f64 657d 0a25 % \end{code}.% │ │ │ +0000bba0: 2020 2045 7870 6c61 6e61 7469 6f6e 2e2e Explanation.. │ │ │ +0000bbb0: 2e0a 2520 2020 5c62 6567 696e 7b63 6f64 ..% \begin{cod │ │ │ +0000bbc0: 657d 0a25 2020 2020 2061 6c69 676e 6564 e}.% aligned │ │ │ +0000bbd0: 2077 6974 6820 2263 6f64 6522 0a25 2020 with "code".% │ │ │ +0000bbe0: 2020 2020 2063 6f64 6520 2028 616c 6967 code (alig │ │ │ +0000bbf0: 6e65 6420 7769 7468 2028 6d6f 7265 2063 ned with (more c │ │ │ +0000bc00: 6f64 6529 290a 2520 2020 5c65 6e64 7b63 ode)).% \end{c │ │ │ +0000bc10: 6f64 657d 0a25 2020 205c 656e 647b 4167 ode}.% \end{Ag │ │ │ +0000bc20: 6461 416c 6967 6e7d 0a25 0a25 204e 6f74 daAlign}.%.% Not │ │ │ +0000bc30: 6520 7468 6174 2041 6764 6141 6c69 676e e that AgdaAlign │ │ │ +0000bc40: 2065 6e76 6972 6f6e 6d65 6e74 7320 7368 environments sh │ │ │ +0000bc50: 6f75 6c64 206e 6f74 2062 6520 6e65 7374 ould not be nest │ │ │ +0000bc60: 6564 2e0a 250a 2520 536f 6d65 7469 6d65 ed..%.% Sometime │ │ │ +0000bc70: 7320 6f6e 6520 6d69 6768 7420 616c 736f s one might also │ │ │ +0000bc80: 2077 616e 7420 746f 2068 6964 6520 636f want to hide co │ │ │ +0000bc90: 6465 2069 6e20 7468 6520 6d69 6464 6c65 de in the middle │ │ │ +0000bca0: 206f 6620 6120 636f 6465 0a25 2062 6c6f of a code.% blo │ │ │ +0000bcb0: 636b 2e20 5468 6973 2063 616e 2062 6520 ck. This can be │ │ │ +0000bcc0: 6163 636f 6d70 6c69 7368 6564 2069 6e20 accomplished in │ │ │ +0000bcd0: 7468 6520 666f 6c6c 6f77 696e 6720 7761 the following wa │ │ │ +0000bce0: 793a 0a25 0a25 2020 205c 6265 6769 6e7b y:.%.% \begin{ │ │ │ +0000bcf0: 4167 6461 416c 6967 6e7d 0a25 2020 205c AgdaAlign}.% \ │ │ │ +0000bd00: 6265 6769 6e7b 636f 6465 7d0a 2520 2020 begin{code}.% │ │ │ +0000bd10: 2020 7669 7369 626c 650a 2520 2020 5c65 visible.% \e │ │ │ +0000bd20: 6e64 7b63 6f64 657d 0a25 2020 205c 6265 nd{code}.% \be │ │ │ +0000bd30: 6769 6e7b 636f 6465 7d5b 6869 6465 5d0a gin{code}[hide]. │ │ │ +0000bd40: 2520 2020 2020 6869 6464 656e 0a25 2020 % hidden.% │ │ │ +0000bd50: 205c 656e 647b 636f 6465 7d0a 2520 2020 \end{code}.% │ │ │ +0000bd60: 5c62 6567 696e 7b63 6f64 657d 0a25 2020 \begin{code}.% │ │ │ +0000bd70: 2020 2076 6973 6962 6c65 0a25 2020 205c visible.% \ │ │ │ +0000bd80: 656e 647b 636f 6465 7d0a 2520 2020 5c65 end{code}.% \e │ │ │ +0000bd90: 6e64 7b41 6764 6141 6c69 676e 7d0a 250a nd{AgdaAlign}.%. │ │ │ +0000bda0: 2520 486f 7765 7665 722c 2074 6865 2072 % However, the r │ │ │ +0000bdb0: 6573 756c 7420 6d61 7920 6265 2075 676c esult may be ugl │ │ │ +0000bdc0: 793a 2065 7874 7261 2073 7061 6365 2069 y: extra space i │ │ │ +0000bdd0: 7320 7065 7268 6170 7320 696e 7365 7274 s perhaps insert │ │ │ +0000bde0: 6564 0a25 2061 726f 756e 6420 7468 6520 ed.% around the │ │ │ +0000bdf0: 636f 6465 2062 6c6f 636b 732e 0a25 0a25 code blocks..%.% │ │ │ +0000be00: 2054 6865 2041 6764 6153 7570 7072 6573 The AgdaSuppres │ │ │ +0000be10: 7353 7061 6365 2065 6e76 6972 6f6e 6d65 sSpace environme │ │ │ +0000be20: 6e74 2065 6e73 7572 6573 2074 6861 7420 nt ensures that │ │ │ +0000be30: 6578 7472 6120 7370 6163 6520 6973 206f extra space is o │ │ │ +0000be40: 6e6c 790a 2520 696e 7365 7274 6564 2062 nly.% inserted b │ │ │ +0000be50: 6566 6f72 6520 7468 6520 6669 7273 7420 efore the first │ │ │ +0000be60: 636f 6465 2062 6c6f 636b 2c20 616e 6420 code block, and │ │ │ +0000be70: 6166 7465 7220 7468 6520 6c61 7374 206f after the last o │ │ │ +0000be80: 6e65 2028 6275 740a 2520 6e6f 7420 6966 ne (but.% not if │ │ │ +0000be90: 205c 4167 6461 4e6f 5370 6163 6541 726f \AgdaNoSpaceAro │ │ │ +0000bea0: 756e 6443 6f64 657b 7d20 6973 2075 7365 undCode{} is use │ │ │ +0000beb0: 6429 2e20 4578 616d 706c 6520 7573 6167 d). Example usag │ │ │ +0000bec0: 653a 0a25 0a25 2020 205c 6265 6769 6e7b e:.%.% \begin{ │ │ │ +0000bed0: 4167 6461 416c 6967 6e7d 0a25 2020 205c AgdaAlign}.% \ │ │ │ +0000bee0: 6265 6769 6e7b 636f 6465 7d0a 2520 2020 begin{code}.% │ │ │ +0000bef0: 2020 636f 6465 0a25 2020 2020 2020 206d code.% m │ │ │ +0000bf00: 6f72 6520 636f 6465 0a25 2020 205c 656e ore code.% \en │ │ │ +0000bf10: 647b 636f 6465 7d0a 2520 2020 4578 706c d{code}.% Expl │ │ │ +0000bf20: 616e 6174 696f 6e2e 2e2e 0a25 2020 205c anation....% \ │ │ │ +0000bf30: 6265 6769 6e7b 4167 6461 5375 7070 7265 begin{AgdaSuppre │ │ │ +0000bf40: 7373 5370 6163 657d 0a25 2020 205c 6265 ssSpace}.% \be │ │ │ +0000bf50: 6769 6e7b 636f 6465 7d0a 2520 2020 2020 gin{code}.% │ │ │ +0000bf60: 616c 6967 6e65 6420 7769 7468 2022 636f aligned with "co │ │ │ +0000bf70: 6465 220a 2520 2020 2020 2020 616c 6967 de".% alig │ │ │ +0000bf80: 6e65 6420 7769 7468 2022 6d6f 7265 2063 ned with "more c │ │ │ +0000bf90: 6f64 6522 0a25 2020 205c 656e 647b 636f ode".% \end{co │ │ │ +0000bfa0: 6465 7d0a 2520 2020 5c62 6567 696e 7b63 de}.% \begin{c │ │ │ +0000bfb0: 6f64 657d 5b68 6964 655d 0a25 2020 2020 ode}[hide].% │ │ │ +0000bfc0: 2068 6964 6465 6e20 636f 6465 0a25 2020 hidden code.% │ │ │ +0000bfd0: 205c 656e 647b 636f 6465 7d0a 2520 2020 \end{code}.% │ │ │ +0000bfe0: 5c62 6567 696e 7b63 6f64 657d 0a25 2020 \begin{code}.% │ │ │ +0000bff0: 2020 2020 2061 6c73 6f20 616c 6967 6e65 also aligne │ │ │ +0000c000: 6420 7769 7468 2022 6d6f 7265 2063 6f64 d with "more cod │ │ │ +0000c010: 6522 0a25 2020 205c 656e 647b 636f 6465 e".% \end{code │ │ │ +0000c020: 7d0a 2520 2020 5c65 6e64 7b41 6764 6153 }.% \end{AgdaS │ │ │ +0000c030: 7570 7072 6573 7353 7061 6365 7d0a 2520 uppressSpace}.% │ │ │ +0000c040: 2020 5c65 6e64 7b41 6764 6141 6c69 676e \end{AgdaAlign │ │ │ +0000c050: 7d0a 250a 2520 4e6f 7465 2074 6861 7420 }.%.% Note that │ │ │ +0000c060: 4167 6461 5375 7070 7265 7373 5370 6163 AgdaSuppressSpac │ │ │ +0000c070: 6520 656e 7669 726f 6e6d 656e 7473 2073 e environments s │ │ │ +0000c080: 686f 756c 6420 6e6f 7420 6265 206e 6573 hould not be nes │ │ │ +0000c090: 7465 642e 0a25 0a25 2054 6865 7265 2069 ted..%.% There i │ │ │ +0000c0a0: 7320 616c 736f 2061 2063 6f6d 6269 6e65 s also a combine │ │ │ +0000c0b0: 6420 656e 7669 726f 6e6d 656e 742c 2041 d environment, A │ │ │ +0000c0c0: 6764 614d 756c 7469 436f 6465 2c20 7468 gdaMultiCode, th │ │ │ +0000c0d0: 6174 2063 6f6d 6269 6e65 730a 2520 7468 at combines.% th │ │ │ +0000c0e0: 6520 6566 6665 6374 7320 6f66 2041 6764 e effects of Agd │ │ │ +0000c0f0: 6141 6c69 676e 2061 6e64 2041 6764 6153 aAlign and AgdaS │ │ │ +0000c100: 7570 7072 6573 7353 7061 6365 2e0a 0a25 uppressSpace...% │ │ │ +0000c110: 2054 6865 206e 756d 6265 7220 6f66 2074 The number of t │ │ │ +0000c120: 6865 2063 7572 7265 6e74 2f6e 6578 7420 he current/next │ │ │ +0000c130: 636f 6465 2062 6c6f 636b 2028 6578 636c code block (excl │ │ │ +0000c140: 7564 696e 6720 6869 6464 656e 206f 6e65 uding hidden one │ │ │ +0000c150: 7329 2e0a 5c6e 6577 636f 756e 7465 727b s)..\newcounter{ │ │ │ +0000c160: 4167 6461 4043 7572 7265 6e74 7d0a 5c73 Agda@Current}.\s │ │ │ +0000c170: 6574 636f 756e 7465 727b 4167 6461 4043 etcounter{Agda@C │ │ │ +0000c180: 7572 7265 6e74 7d7b 307d 0a0a 2520 5468 urrent}{0}..% Th │ │ │ +0000c190: 6520 6e75 6d62 6572 206f 6620 7468 6520 e number of the │ │ │ +0000c1a0: 7072 6576 696f 7573 2063 6f64 6520 626c previous code bl │ │ │ +0000c1b0: 6f63 6b20 2865 7863 6c75 6469 6e67 2068 ock (excluding h │ │ │ +0000c1c0: 6964 6465 6e20 6f6e 6573 292c 2075 7365 idden ones), use │ │ │ +0000c1d0: 640a 2520 6c6f 6361 6c6c 7920 696e 205c d.% locally in \ │ │ │ +0000c1e0: 4167 6461 4053 7570 7072 6573 7345 6e64 Agda@SuppressEnd │ │ │ +0000c1f0: 2e0a 5c6e 6577 636f 756e 7465 727b 4167 ..\newcounter{Ag │ │ │ +0000c200: 6461 4050 7265 7669 6f75 737d 0a0a 2520 da@Previous}..% │ │ │ +0000c210: 4973 2041 6764 6141 6c69 676e 2061 6374 Is AgdaAlign act │ │ │ +0000c220: 6976 653f 0a5c 6e65 7762 6f6f 6c65 616e ive?.\newboolean │ │ │ +0000c230: 7b41 6764 6140 416c 6967 6e7d 0a5c 7365 {Agda@Align}.\se │ │ │ +0000c240: 7462 6f6f 6c65 616e 7b41 6764 6140 416c tboolean{Agda@Al │ │ │ +0000c250: 6967 6e7d 7b66 616c 7365 7d0a 0a25 2054 ign}{false}..% T │ │ │ +0000c260: 6865 206e 756d 6265 7220 6f66 2074 6865 he number of the │ │ │ +0000c270: 2066 6972 7374 2063 6f64 6520 626c 6f63 first code bloc │ │ │ +0000c280: 6b20 2869 6620 616e 7929 2069 6e20 6120 k (if any) in a │ │ │ +0000c290: 6769 7665 6e20 4167 6461 416c 6967 6e0a given AgdaAlign. │ │ │ +0000c2a0: 2520 656e 7669 726f 6e6d 656e 742e 0a5c % environment..\ │ │ │ +0000c2b0: 6e65 7763 6f75 6e74 6572 7b41 6764 6140 newcounter{Agda@ │ │ │ +0000c2c0: 416c 6967 6e53 7461 7274 7d0a 0a5c 6e65 AlignStart}..\ne │ │ │ +0000c2d0: 7763 6f6d 6d61 6e64 7b5c 4167 6461 4041 wcommand{\Agda@A │ │ │ +0000c2e0: 6c69 676e 5374 6172 747d 7b25 0a20 205c lignStart}{%. \ │ │ │ +0000c2f0: 6966 7468 656e 656c 7365 7b5c 626f 6f6c ifthenelse{\bool │ │ │ +0000c300: 6561 6e7b 4167 6461 4041 6c69 676e 7d7d ean{Agda@Align}} │ │ │ +0000c310: 7b25 0a20 2020 205c 5061 636b 6167 6545 {%. \PackageE │ │ │ +0000c320: 7272 6f72 7b61 6764 617d 7b4e 6573 7465 rror{agda}{Neste │ │ │ +0000c330: 6420 4167 6461 416c 6967 6e20 656e 7669 d AgdaAlign envi │ │ │ +0000c340: 726f 6e6d 656e 7473 7d7b 250a 2020 2020 ronments}{%. │ │ │ +0000c350: 2020 4167 6461 416c 6967 6e20 616e 6420 AgdaAlign and │ │ │ +0000c360: 4167 6461 4d75 6c74 6943 6f64 6520 656e AgdaMultiCode en │ │ │ +0000c370: 7669 726f 6e6d 656e 7473 206d 7573 7420 vironments must │ │ │ +0000c380: 6e6f 7420 6265 0a20 2020 2020 206e 6573 not be. nes │ │ │ +0000c390: 7465 642e 7d7d 7b25 0a20 2020 205c 7365 ted.}}{%. \se │ │ │ +0000c3a0: 7462 6f6f 6c65 616e 7b41 6764 6140 416c tboolean{Agda@Al │ │ │ +0000c3b0: 6967 6e7d 7b74 7275 657d 250a 2020 2020 ign}{true}%. │ │ │ +0000c3c0: 5c73 6574 636f 756e 7465 727b 4167 6461 \setcounter{Agda │ │ │ +0000c3d0: 4041 6c69 676e 5374 6172 747d 7b5c 7661 @AlignStart}{\va │ │ │ +0000c3e0: 6c75 657b 4167 6461 4043 7572 7265 6e74 lue{Agda@Current │ │ │ +0000c3f0: 7d7d 7d7d 0a0a 5c6e 6577 636f 6d6d 616e }}}}..\newcomman │ │ │ +0000c400: 647b 5c41 6764 6140 416c 6967 6e45 6e64 d{\Agda@AlignEnd │ │ │ +0000c410: 7d7b 5c73 6574 626f 6f6c 6561 6e7b 4167 }{\setboolean{Ag │ │ │ +0000c420: 6461 4041 6c69 676e 7d7b 6661 6c73 657d da@Align}{false} │ │ │ +0000c430: 7d0a 0a5c 6e65 7765 6e76 6972 6f6e 6d65 }..\newenvironme │ │ │ +0000c440: 6e74 7b41 6764 6141 6c69 676e 7d7b 250a nt{AgdaAlign}{%. │ │ │ +0000c450: 2020 5c41 6764 6140 416c 6967 6e53 7461 \Agda@AlignSta │ │ │ +0000c460: 7274 7b7d 7d7b 250a 2020 5c41 6764 6140 rt{}}{%. \Agda@ │ │ │ +0000c470: 416c 6967 6e45 6e64 7b7d 250a 2020 5c69 AlignEnd{}%. \i │ │ │ +0000c480: 676e 6f72 6573 7061 6365 7361 6674 6572 gnorespacesafter │ │ │ +0000c490: 656e 647d 0a0a 2520 4973 2041 6764 6153 end}..% Is AgdaS │ │ │ +0000c4a0: 7570 7072 6573 7353 7061 6365 2061 6374 uppressSpace act │ │ │ +0000c4b0: 6976 653f 0a5c 6e65 7762 6f6f 6c65 616e ive?.\newboolean │ │ │ +0000c4c0: 7b41 6764 6140 5375 7070 7265 7373 7d0a {Agda@Suppress}. │ │ │ +0000c4d0: 5c73 6574 626f 6f6c 6561 6e7b 4167 6461 \setboolean{Agda │ │ │ +0000c4e0: 4053 7570 7072 6573 737d 7b66 616c 7365 @Suppress}{false │ │ │ +0000c4f0: 7d0a 0a25 2054 6865 206e 756d 6265 7220 }..% The number │ │ │ +0000c500: 6f66 2074 6865 2066 6972 7374 2063 6f64 of the first cod │ │ │ +0000c510: 6520 626c 6f63 6b20 2869 6620 616e 7929 e block (if any) │ │ │ +0000c520: 2069 6e20 6120 6769 7665 6e0a 2520 4167 in a given.% Ag │ │ │ +0000c530: 6461 5375 7070 7265 7373 5370 6163 6520 daSuppressSpace │ │ │ +0000c540: 656e 7669 726f 6e6d 656e 742e 0a5c 6e65 environment..\ne │ │ │ +0000c550: 7763 6f75 6e74 6572 7b41 6764 6140 5375 wcounter{Agda@Su │ │ │ +0000c560: 7070 7265 7373 5374 6172 747d 0a0a 2520 ppressStart}..% │ │ │ +0000c570: 446f 6573 2061 2022 646f 206e 6f74 2073 Does a "do not s │ │ │ +0000c580: 7570 7072 6573 7320 7370 6163 6520 6166 uppress space af │ │ │ +0000c590: 7465 7222 206c 6162 656c 2065 7869 7374 ter" label exist │ │ │ +0000c5a0: 2066 6f72 2074 6865 2063 7572 7265 6e74 for the current │ │ │ +0000c5b0: 0a25 2063 6f64 6520 626c 6f63 6b3f 2028 .% code block? ( │ │ │ +0000c5c0: 5468 6973 2062 6f6f 6c65 616e 2069 7320 This boolean is │ │ │ +0000c5d0: 7573 6564 206c 6f63 616c 6c79 2069 6e20 used locally in │ │ │ +0000c5e0: 7468 6520 636f 6465 2065 6e76 6972 6f6e the code environ │ │ │ +0000c5f0: 6d65 6e74 2773 0a25 2069 6d70 6c65 6d65 ment's.% impleme │ │ │ +0000c600: 6e74 6174 696f 6e2e 290a 5c6e 6577 626f ntation.).\newbo │ │ │ +0000c610: 6f6c 6561 6e7b 4167 6461 4044 6f4e 6f74 olean{Agda@DoNot │ │ │ +0000c620: 5375 7070 7265 7373 5370 6163 6541 6674 SuppressSpaceAft │ │ │ +0000c630: 6572 7d0a 0a5c 6e65 7763 6f6d 6d61 6e64 er}..\newcommand │ │ │ +0000c640: 7b5c 4167 6461 4053 7570 7072 6573 7353 {\Agda@SuppressS │ │ │ +0000c650: 7461 7274 7d7b 250a 2020 5c69 6674 6865 tart}{%. \ifthe │ │ │ +0000c660: 6e65 6c73 657b 5c62 6f6f 6c65 616e 7b41 nelse{\boolean{A │ │ │ +0000c670: 6764 6140 5375 7070 7265 7373 7d7d 7b25 gda@Suppress}}{% │ │ │ +0000c680: 0a20 2020 205c 5061 636b 6167 6545 7272 . \PackageErr │ │ │ +0000c690: 6f72 7b61 6764 617d 7b4e 6573 7465 6420 or{agda}{Nested │ │ │ +0000c6a0: 4167 6461 5375 7070 7265 7373 5370 6163 AgdaSuppressSpac │ │ │ +0000c6b0: 6520 656e 7669 726f 6e6d 656e 7473 7d7b e environments}{ │ │ │ +0000c6c0: 250a 2020 2020 2020 4167 6461 5375 7070 %. AgdaSupp │ │ │ +0000c6d0: 7265 7373 5370 6163 6520 616e 6420 4167 ressSpace and Ag │ │ │ +0000c6e0: 6461 4d75 6c74 6943 6f64 6520 656e 7669 daMultiCode envi │ │ │ +0000c6f0: 726f 6e6d 656e 7473 206d 7573 7420 6e6f ronments must no │ │ │ +0000c700: 7420 6265 0a20 2020 2020 206e 6573 7465 t be. neste │ │ │ +0000c710: 642e 7d7d 7b25 0a20 2020 205c 7365 7462 d.}}{%. \setb │ │ │ +0000c720: 6f6f 6c65 616e 7b41 6764 6140 5375 7070 oolean{Agda@Supp │ │ │ +0000c730: 7265 7373 7d7b 7472 7565 7d25 0a20 2020 ress}{true}%. │ │ │ +0000c740: 205c 7365 7463 6f75 6e74 6572 7b41 6764 \setcounter{Agd │ │ │ +0000c750: 6140 5375 7070 7265 7373 5374 6172 747d a@SuppressStart} │ │ │ +0000c760: 7b5c 7661 6c75 657b 4167 6461 4043 7572 {\value{Agda@Cur │ │ │ +0000c770: 7265 6e74 7d7d 7d7d 0a0a 2520 4d61 726b rent}}}}..% Mark │ │ │ +0000c780: 7320 7468 6520 6769 7665 6e20 636f 6465 s the given code │ │ │ +0000c790: 2062 6c6f 636b 2061 7320 6f6e 6520 7468 block as one th │ │ │ +0000c7a0: 6174 2073 7061 6365 2073 686f 756c 6420 at space should │ │ │ +0000c7b0: 6e6f 7420 6265 0a25 2073 7570 7072 6573 not be.% suppres │ │ │ +0000c7c0: 7365 6420 6166 7465 7220 2869 6620 4167 sed after (if Ag │ │ │ +0000c7d0: 6461 5370 6163 6541 726f 756e 6443 6f64 daSpaceAroundCod │ │ │ +0000c7e0: 6520 616e 6420 4167 6461 5375 7070 7265 e and AgdaSuppre │ │ │ +0000c7f0: 7373 5370 6163 6520 6172 650a 2520 626f ssSpace are.% bo │ │ │ +0000c800: 7468 2061 6374 6976 6529 2e0a 5c6e 6577 th active)..\new │ │ │ +0000c810: 636f 6d6d 616e 647b 5c41 6764 6140 446f command{\Agda@Do │ │ │ +0000c820: 4e6f 7453 7570 7072 6573 7353 7061 6365 NotSuppressSpace │ │ │ +0000c830: 4166 7465 727d 5b31 5d7b 250a 2020 2520 After}[1]{%. % │ │ │ +0000c840: 5468 6520 7573 6520 6f66 206c 6162 656c The use of label │ │ │ +0000c850: 7320 6973 2069 6e74 656e 6465 6420 746f s is intended to │ │ │ +0000c860: 2065 6e73 7572 6520 7468 6174 204c 6154 ensure that LaT │ │ │ +0000c870: 6558 2077 696c 6c20 7072 6f76 6964 6520 eX will provide │ │ │ +0000c880: 610a 2020 2520 7761 726e 696e 6720 6966 a. % warning if │ │ │ +0000c890: 2074 6865 2064 6f63 756d 656e 7420 6e65 the document ne │ │ │ +0000c8a0: 6564 7320 746f 2062 6520 7265 636f 6d70 eds to be recomp │ │ │ +0000c8b0: 696c 6564 2e0a 2020 5c6c 6162 656c 7b41 iled.. \label{A │ │ │ +0000c8c0: 6764 6140 446f 4e6f 7453 7570 7072 6573 gda@DoNotSuppres │ │ │ +0000c8d0: 7353 7061 6365 4166 7465 7240 2331 7d7d sSpaceAfter@#1}} │ │ │ +0000c8e0: 0a0a 5c6e 6577 636f 6d6d 616e 647b 5c41 ..\newcommand{\A │ │ │ +0000c8f0: 6764 6140 5375 7070 7265 7373 456e 647d gda@SuppressEnd} │ │ │ +0000c900: 7b25 0a20 205c 6966 7468 656e 656c 7365 {%. \ifthenelse │ │ │ +0000c910: 7b5c 7661 6c75 657b 4167 6461 4053 7570 {\value{Agda@Sup │ │ │ +0000c920: 7072 6573 7353 7461 7274 7d20 3d20 5c76 pressStart} = \v │ │ │ +0000c930: 616c 7565 7b41 6764 6140 4375 7272 656e alue{Agda@Curren │ │ │ +0000c940: 747d 7d7b 7d7b 250a 2020 2020 2520 4d61 t}}{}{%. % Ma │ │ │ +0000c950: 726b 2074 6865 2070 7265 7669 6f75 7320 rk the previous │ │ │ +0000c960: 636f 6465 2062 6c6f 636b 2069 6e20 7468 code block in th │ │ │ +0000c970: 6520 2e61 7578 2066 696c 652e 0a20 2020 e .aux file.. │ │ │ +0000c980: 205c 7365 7463 6f75 6e74 6572 7b41 6764 \setcounter{Agd │ │ │ +0000c990: 6140 5072 6576 696f 7573 7d7b 5c74 6865 a@Previous}{\the │ │ │ +0000c9a0: 4167 6461 4043 7572 7265 6e74 2d31 7d25 Agda@Current-1}% │ │ │ +0000c9b0: 0a20 2020 205c 696d 6d65 6469 6174 655c . \immediate\ │ │ │ +0000c9c0: 7772 6974 655c 4061 7578 6f75 747b 250a write\@auxout{%. │ │ │ +0000c9d0: 2020 2020 2020 5c6e 6f65 7870 616e 645c \noexpand\ │ │ │ +0000c9e0: 4167 6461 4044 6f4e 6f74 5375 7070 7265 Agda@DoNotSuppre │ │ │ +0000c9f0: 7373 5370 6163 6541 6674 6572 7b5c 7468 ssSpaceAfter{\th │ │ │ +0000ca00: 6541 6764 6140 5072 6576 696f 7573 7d7d eAgda@Previous}} │ │ │ +0000ca10: 7d25 0a20 205c 7365 7462 6f6f 6c65 616e }%. \setboolean │ │ │ +0000ca20: 7b41 6764 6140 5375 7070 7265 7373 7d7b {Agda@Suppress}{ │ │ │ +0000ca30: 6661 6c73 657d 7d0a 0a5c 6e65 7765 6e76 false}}..\newenv │ │ │ +0000ca40: 6972 6f6e 6d65 6e74 7b41 6764 6153 7570 ironment{AgdaSup │ │ │ +0000ca50: 7072 6573 7353 7061 6365 7d7b 250a 2020 pressSpace}{%. │ │ │ +0000ca60: 5c41 6764 6140 5375 7070 7265 7373 5374 \Agda@SuppressSt │ │ │ +0000ca70: 6172 747b 7d7d 7b25 0a20 205c 4167 6461 art{}}{%. \Agda │ │ │ +0000ca80: 4053 7570 7072 6573 7345 6e64 7b7d 250a @SuppressEnd{}%. │ │ │ +0000ca90: 2020 5c69 676e 6f72 6573 7061 6365 7361 \ignorespacesa │ │ │ +0000caa0: 6674 6572 656e 647d 0a0a 5c6e 6577 656e fterend}..\newen │ │ │ +0000cab0: 7669 726f 6e6d 656e 747b 4167 6461 4d75 vironment{AgdaMu │ │ │ +0000cac0: 6c74 6943 6f64 657d 7b25 0a20 205c 4167 ltiCode}{%. \Ag │ │ │ +0000cad0: 6461 4041 6c69 676e 5374 6172 747b 7d25 da@AlignStart{}% │ │ │ +0000cae0: 0a20 205c 4167 6461 4053 7570 7072 6573 . \Agda@Suppres │ │ │ +0000caf0: 7353 7461 7274 7b7d 7d7b 250a 2020 5c41 sStart{}}{%. \A │ │ │ +0000cb00: 6764 6140 5375 7070 7265 7373 456e 647b gda@SuppressEnd{ │ │ │ +0000cb10: 7d25 0a20 205c 4167 6461 4041 6c69 676e }%. \Agda@Align │ │ │ +0000cb20: 456e 647b 7d25 0a20 205c 6967 6e6f 7265 End{}%. \ignore │ │ │ +0000cb30: 7370 6163 6573 6166 7465 7265 6e64 7d0a spacesafterend}. │ │ │ +0000cb40: 0a25 2056 6572 7469 6361 6c20 7370 6163 .% Vertical spac │ │ │ +0000cb50: 6520 7573 6564 2066 6f72 2065 6d70 7479 e used for empty │ │ │ +0000cb60: 206c 696e 6573 2e20 4279 2064 6566 6175 lines. By defau │ │ │ +0000cb70: 6c74 205c 6162 6f76 6564 6973 706c 6179 lt \abovedisplay │ │ │ +0000cb80: 736b 6970 2e0a 5c6e 6577 6c65 6e67 7468 skip..\newlength │ │ │ +0000cb90: 7b5c 4167 6461 456d 7074 7953 6b69 707d {\AgdaEmptySkip} │ │ │ +0000cba0: 0a5c 7365 746c 656e 6774 687b 5c41 6764 .\setlength{\Agd │ │ │ +0000cbb0: 6145 6d70 7479 536b 6970 7d7b 5c61 626f aEmptySkip}{\abo │ │ │ +0000cbc0: 7665 6469 7370 6c61 7973 6b69 707d 0a0a vedisplayskip}.. │ │ │ +0000cbd0: 2520 4578 7472 6120 7370 6163 6520 746f % Extra space to │ │ │ +0000cbe0: 2062 6520 696e 7365 7274 6564 2066 6f72 be inserted for │ │ │ +0000cbf0: 2065 6d70 7479 206c 696e 6573 2028 7468 empty lines (th │ │ │ +0000cc00: 6520 6469 6666 6572 656e 6365 2062 6574 e difference bet │ │ │ +0000cc10: 7765 656e 0a25 205c 4167 6461 456d 7074 ween.% \AgdaEmpt │ │ │ +0000cc20: 7953 6b69 7020 616e 6420 5c62 6173 656c ySkip and \basel │ │ │ +0000cc30: 696e 6573 6b69 7029 2e20 5573 6564 2069 ineskip). Used i │ │ │ +0000cc40: 6e74 6572 6e61 6c6c 792e 0a5c 6e65 776c nternally..\newl │ │ │ +0000cc50: 656e 6774 687b 5c41 6764 6145 6d70 7479 ength{\AgdaEmpty │ │ │ +0000cc60: 4578 7472 6153 6b69 707d 0a0a 2520 436f ExtraSkip}..% Co │ │ │ +0000cc70: 756e 7465 7220 7573 6564 2066 6f72 2063 unter used for c │ │ │ +0000cc80: 6f64 6520 6e75 6d62 6572 732e 0a5c 6e65 ode numbers..\ne │ │ │ +0000cc90: 7763 6f75 6e74 6572 7b41 6764 6143 6f64 wcounter{AgdaCod │ │ │ +0000cca0: 654e 756d 6265 727d 0a25 2046 6f72 6d61 eNumber}.% Forma │ │ │ +0000ccb0: 7473 2061 2063 6f64 6520 6e75 6d62 6572 ts a code number │ │ │ +0000ccc0: 2e0a 5c6e 6577 636f 6d6d 616e 647b 5c41 ..\newcommand{\A │ │ │ +0000ccd0: 6764 6146 6f72 6d61 7443 6f64 654e 756d gdaFormatCodeNum │ │ │ +0000cce0: 6265 727d 5b31 5d7b 2823 3129 7d0a 0a25 ber}[1]{(#1)}..% │ │ │ +0000ccf0: 2041 2062 6f6f 6c65 616e 2075 7365 6420 A boolean used │ │ │ +0000cd00: 746f 2068 616e 646c 6520 7468 6520 6f70 to handle the op │ │ │ +0000cd10: 7469 6f6e 206e 756d 6265 722e 0a5c 6e65 tion number..\ne │ │ │ +0000cd20: 7762 6f6f 6c65 616e 7b41 6764 6140 4e75 wboolean{Agda@Nu │ │ │ +0000cd30: 6d62 6572 7d0a 5c73 6574 626f 6f6c 6561 mber}.\setboolea │ │ │ +0000cd40: 6e7b 4167 6461 404e 756d 6265 727d 7b66 n{Agda@Number}{f │ │ │ +0000cd50: 616c 7365 7d0a 0a25 2041 2062 6f6f 6c65 alse}..% A boole │ │ │ +0000cd60: 616e 2075 7365 6420 746f 2068 616e 646c an used to handl │ │ │ +0000cd70: 6520 7468 6520 6f70 7469 6f6e 2069 6e6c e the option inl │ │ │ +0000cd80: 696e 652a 2e20 2846 6f72 2073 6f6d 6520 ine*. (For some │ │ │ +0000cd90: 7265 6173 6f6e 2074 6865 0a25 2061 7070 reason the.% app │ │ │ +0000cda0: 726f 6163 6820 7573 6564 2066 6f72 2068 roach used for h │ │ │ +0000cdb0: 6964 6520 616e 6420 696e 6c69 6e65 2064 ide and inline d │ │ │ +0000cdc0: 6f65 7320 6e6f 7420 776f 726b 2066 6f72 oes not work for │ │ │ +0000cdd0: 2069 6e6c 696e 652a 2e29 0a5c 6e65 7762 inline*.).\newb │ │ │ +0000cde0: 6f6f 6c65 616e 7b41 6764 6140 496e 6c69 oolean{Agda@Inli │ │ │ +0000cdf0: 6e65 5374 6172 7d0a 5c73 6574 626f 6f6c neStar}.\setbool │ │ │ +0000ce00: 6561 6e7b 4167 6461 4049 6e6c 696e 6553 ean{Agda@InlineS │ │ │ +0000ce10: 7461 727d 7b66 616c 7365 7d0a 0a25 204b tar}{false}..% K │ │ │ +0000ce20: 6579 7320 7573 6564 2062 7920 7468 6520 eys used by the │ │ │ +0000ce30: 636f 6465 2065 6e76 6972 6f6e 6d65 6e74 code environment │ │ │ +0000ce40: 2e0a 5c64 6566 696e 6540 626f 6f6c 6b65 ..\define@boolke │ │ │ +0000ce50: 795b 4167 6461 5d7b 636f 6465 7d7b 6869 y[Agda]{code}{hi │ │ │ +0000ce60: 6465 7d5b 7472 7565 5d7b 7d0a 5c64 6566 de}[true]{}.\def │ │ │ +0000ce70: 696e 6540 626f 6f6c 6b65 795b 4167 6461 ine@boolkey[Agda │ │ │ +0000ce80: 5d7b 636f 6465 7d7b 696e 6c69 6e65 7d5b ]{code}{inline}[ │ │ │ +0000ce90: 7472 7565 5d7b 7d0a 5c64 6566 696e 6540 true]{}.\define@ │ │ │ +0000cea0: 626f 6f6c 6b65 795b 4167 6461 5d7b 636f boolkey[Agda]{co │ │ │ +0000ceb0: 6465 7d7b 696e 6c69 6e65 2a7d 5b74 7275 de}{inline*}[tru │ │ │ +0000cec0: 655d 7b25 0a20 205c 7365 7462 6f6f 6c65 e]{%. \setboole │ │ │ +0000ced0: 616e 7b41 6764 6140 496e 6c69 6e65 5374 an{Agda@InlineSt │ │ │ +0000cee0: 6172 7d7b 7472 7565 7d7d 0a5c 6465 6669 ar}{true}}.\defi │ │ │ +0000cef0: 6e65 406b 6579 5b41 6764 615d 7b63 6f64 ne@key[Agda]{cod │ │ │ +0000cf00: 657d 7b6e 756d 6265 727d 5b5d 7b25 0a20 e}{number}[]{%. │ │ │ +0000cf10: 205c 6966 7468 656e 656c 7365 7b5c 626f \ifthenelse{\bo │ │ │ +0000cf20: 6f6c 6561 6e7b 4167 6461 404e 756d 6265 olean{Agda@Numbe │ │ │ +0000cf30: 727d 7d7b 7d7b 250a 2020 2020 5c73 6574 r}}{}{%. \set │ │ │ +0000cf40: 626f 6f6c 6561 6e7b 4167 6461 404e 756d boolean{Agda@Num │ │ │ +0000cf50: 6265 727d 7b74 7275 657d 250a 2020 2020 ber}{true}%. │ │ │ +0000cf60: 2520 496e 6372 6561 7365 2074 6865 2063 % Increase the c │ │ │ +0000cf70: 6f75 6e74 6572 2069 6620 7468 6973 2068 ounter if this h │ │ │ +0000cf80: 6173 206e 6f74 2061 6c72 6561 6479 2062 as not already b │ │ │ +0000cf90: 6565 6e20 646f 6e65 2e0a 2020 2020 5c72 een done.. \r │ │ │ +0000cfa0: 6566 7374 6570 636f 756e 7465 727b 4167 efstepcounter{Ag │ │ │ +0000cfb0: 6461 436f 6465 4e75 6d62 6572 7d7d 250a daCodeNumber}}%. │ │ │ +0000cfc0: 2020 2520 4966 2074 6865 206c 6162 656c % If the label │ │ │ +0000cfd0: 2069 7320 6e6f 6e2d 656d 7074 792c 2073 is non-empty, s │ │ │ +0000cfe0: 6574 2069 742e 204e 6f74 6520 7468 6174 et it. Note that │ │ │ +0000cff0: 2069 7420 6973 2070 6f73 7369 626c 6520 it is possible │ │ │ +0000d000: 746f 0a20 2025 2067 6976 6520 7365 7665 to. % give seve │ │ │ +0000d010: 7261 6c20 6c61 6265 6c73 2066 6f72 2061 ral labels for a │ │ │ +0000d020: 2073 696e 676c 6520 636f 6465 206c 6973 single code lis │ │ │ +0000d030: 7469 6e67 2e0a 2020 5c69 6674 6865 6e65 ting.. \ifthene │ │ │ +0000d040: 6c73 657b 5c65 7175 616c 7b23 317d 7b7d lse{\equal{#1}{} │ │ │ +0000d050: 7d7b 7d7b 5c6c 6162 656c 7b23 317d 7d7d }{}{\label{#1}}} │ │ │ +0000d060: 0a0a 2520 5468 6520 636f 6465 2065 6e76 ..% The code env │ │ │ +0000d070: 6972 6f6e 6d65 6e74 2e0a 250a 2520 4f70 ironment..%.% Op │ │ │ +0000d080: 7469 6f6e 733a 0a25 0a25 202a 2068 6964 tions:.%.% * hid │ │ │ +0000d090: 653a 2054 6865 2063 6f64 6520 6973 2068 e: The code is h │ │ │ +0000d0a0: 6964 6465 6e2e 204f 7468 6572 206f 7074 idden. Other opt │ │ │ +0000d0b0: 696f 6e73 2061 7265 2069 676e 6f72 6564 ions are ignored │ │ │ +0000d0c0: 2e0a 250a 2520 2a20 6e75 6d62 6572 3a20 ..%.% * number: │ │ │ +0000d0d0: 4769 7665 2074 6865 2063 6f64 6520 616e Give the code an │ │ │ +0000d0e0: 2065 7175 6174 696f 6e20 6e75 6d62 6572 equation number │ │ │ +0000d0f0: 2e0a 250a 2520 2a20 6e75 6d62 6572 3d6c ..%.% * number=l │ │ │ +0000d100: 3a20 4769 7665 2074 6865 2063 6f64 6520 : Give the code │ │ │ +0000d110: 616e 2065 7175 6174 696f 6e20 6e75 6d62 an equation numb │ │ │ +0000d120: 6572 2061 6e64 2074 6865 206c 6162 656c er and the label │ │ │ +0000d130: 206c 2e20 4974 2069 730a 2520 2020 706f l. It is.% po │ │ │ +0000d140: 7373 6962 6c65 2074 6f20 7573 6520 7468 ssible to use th │ │ │ +0000d150: 6973 206f 7074 696f 6e20 7365 7665 7261 is option severa │ │ │ +0000d160: 6c20 7469 6d65 7320 7769 7468 2064 6966 l times with dif │ │ │ +0000d170: 6665 7265 6e74 206c 6162 656c 732e 0a25 ferent labels..% │ │ │ +0000d180: 0a25 202a 2069 6e6c 696e 652f 696e 6c69 .% * inline/inli │ │ │ +0000d190: 6e65 2a3a 2054 6865 2063 6f64 6520 6973 ne*: The code is │ │ │ +0000d1a0: 2069 6e6c 696e 6564 2e20 496e 2074 6869 inlined. In thi │ │ │ +0000d1b0: 7320 6361 7365 206d 6f73 7420 6f66 2074 s case most of t │ │ │ +0000d1c0: 6865 0a25 2020 2064 6973 6375 7373 696f he.% discussio │ │ │ +0000d1d0: 6e20 6162 6f76 6520 646f 6573 206e 6f74 n above does not │ │ │ +0000d1e0: 2061 7070 6c79 2c20 616c 6967 6e6d 656e apply, alignmen │ │ │ +0000d1f0: 7420 6973 206e 6f74 2072 6573 7065 6374 t is not respect │ │ │ +0000d200: 6564 2c20 616e 6420 736f 0a25 2020 206f ed, and so.% o │ │ │ +0000d210: 6e2e 2049 7420 6973 2072 6563 6f6d 6d65 n. It is recomme │ │ │ +0000d220: 6e64 6564 2074 6f20 6f6e 6c79 2075 7365 nded to only use │ │ │ +0000d230: 2074 6869 7320 6f70 7469 6f6e 2066 6f72 this option for │ │ │ +0000d240: 2061 2073 696e 676c 6520 6c69 6e65 206f a single line o │ │ │ +0000d250: 660a 2520 2020 636f 6465 2c20 616e 6420 f.% code, and │ │ │ +0000d260: 746f 206e 6f74 2075 7365 2074 776f 2063 to not use two c │ │ │ +0000d270: 6f6e 7365 6375 7469 7665 2073 7061 6365 onsecutive space │ │ │ +0000d280: 7320 696e 2074 6869 7320 7069 6563 6520 s in this piece │ │ │ +0000d290: 6f66 2063 6f64 652e 0a25 0a25 2020 204e of code..%.% N │ │ │ +0000d2a0: 6f74 6520 7468 6174 2074 6869 7320 656e ote that this en │ │ │ +0000d2b0: 7669 726f 6e6d 656e 7420 6967 6e6f 7265 vironment ignore │ │ │ +0000d2c0: 7320 7370 6163 6573 2061 6674 6572 2069 s spaces after i │ │ │ +0000d2d0: 7473 2065 6e64 2e20 4966 2061 2073 7061 ts end. If a spa │ │ │ +0000d2e0: 6365 0a25 2020 2028 5c41 6764 6153 7061 ce.% (\AgdaSpa │ │ │ +0000d2f0: 6365 7b7d 2920 7368 6f75 6c64 2062 6520 ce{}) should be │ │ │ +0000d300: 696e 7365 7274 6564 2061 6674 6572 2074 inserted after t │ │ │ +0000d310: 6865 2069 6e6c 696e 6520 636f 6465 2c20 he inline code, │ │ │ +0000d320: 7573 650a 2520 2020 696e 6c69 6e65 2a2c use.% inline*, │ │ │ +0000d330: 206f 7468 6572 7769 7365 2075 7365 2069 otherwise use i │ │ │ +0000d340: 6e6c 696e 652e 0a25 0a25 2020 2057 6865 nline..%.% Whe │ │ │ +0000d350: 6e20 7468 6973 206f 7074 696f 6e20 6973 n this option is │ │ │ +0000d360: 2075 7365 6420 6e75 6d62 6572 2069 7320 used number is │ │ │ +0000d370: 6967 6e6f 7265 642e 0a25 0a25 2054 6865 ignored..%.% The │ │ │ +0000d380: 2069 6d70 6c65 6d65 6e74 6174 696f 6e20 implementation │ │ │ +0000d390: 6973 2062 6173 6564 206f 6e20 706c 6169 is based on plai │ │ │ +0000d3a0: 6e68 7363 6f64 6520 696e 206c 6873 3254 nhscode in lhs2T │ │ │ +0000d3b0: 6558 2773 0a25 2070 6f6c 7963 6f64 652e eX's.% polycode. │ │ │ +0000d3c0: 666d 742c 2077 7269 7474 656e 2062 7920 fmt, written by │ │ │ +0000d3d0: 416e 6472 6573 204c c3b6 682e 0a5c 4e65 Andres L..h..\Ne │ │ │ +0000d3e0: 7745 6e76 6972 6f6e 7b63 6f64 657d 5b31 wEnviron{code}[1 │ │ │ +0000d3f0: 5d5b 5d7b 250a 2020 2520 5072 6f63 6573 ][]{%. % Proces │ │ │ +0000d400: 7320 7468 6520 6f70 7469 6f6e 732e 2043 s the options. C │ │ │ +0000d410: 6f6d 706c 6169 6e20 6162 6f75 7420 756e omplain about un │ │ │ +0000d420: 6b6e 6f77 6e20 6f70 7469 6f6e 732e 0a20 known options.. │ │ │ +0000d430: 205c 7365 746b 6579 735b 4167 6461 5d7b \setkeys[Agda]{ │ │ │ +0000d440: 636f 6465 7d5b 6e75 6d62 6572 5d7b 2331 code}[number]{#1 │ │ │ +0000d450: 7d25 0a20 205c 6966 4167 6461 4063 6f64 }%. \ifAgda@cod │ │ │ +0000d460: 6540 6869 6465 250a 2020 2020 2520 4869 e@hide%. % Hi │ │ │ +0000d470: 6465 2074 6865 2063 6f64 652e 0a20 205c de the code.. \ │ │ │ +0000d480: 656c 7365 250a 2020 5c69 6641 6764 6140 else%. \ifAgda@ │ │ │ +0000d490: 636f 6465 4069 6e6c 696e 6525 0a20 2020 code@inline%. │ │ │ +0000d4a0: 2025 2049 6e6c 696e 6520 636f 6465 2e0a % Inline code.. │ │ │ +0000d4b0: 2020 2020 250a 2020 2020 2520 4d61 6b65 %. % Make │ │ │ +0000d4c0: 2074 6865 2070 6f6c 7974 6162 6c65 2070 the polytable p │ │ │ +0000d4d0: 7269 6d69 7469 7665 7320 656d 6974 7465 rimitives emitte │ │ │ +0000d4e0: 6420 6279 2074 6865 204c 6154 6558 2062 d by the LaTeX b │ │ │ +0000d4f0: 6163 6b65 6e64 0a20 2020 2025 2064 6f20 ackend. % do │ │ │ +0000d500: 6e6f 7468 696e 672e 0a20 2020 205c 4465 nothing.. \De │ │ │ +0000d510: 636c 6172 6544 6f63 756d 656e 7443 6f6d clareDocumentCom │ │ │ +0000d520: 6d61 6e64 7b5c 3e7d 7b4f 7b7d 4f7b 7d7d mand{\>}{O{}O{}} │ │ │ +0000d530: 7b7d 250a 2020 2020 5c44 6563 6c61 7265 {}%. \Declare │ │ │ +0000d540: 446f 6375 6d65 6e74 436f 6d6d 616e 647b DocumentCommand{ │ │ │ +0000d550: 5c3c 7d7b 4f7b 7d7d 7b7d 250a 2020 2020 \<}{O{}}{}%. │ │ │ +0000d560: 5c41 6764 6143 6f64 6553 7479 6c65 5c42 \AgdaCodeStyle\B │ │ │ +0000d570: 4f44 5925 0a20 205c 656c 7365 250a 2020 ODY%. \else%. │ │ │ +0000d580: 5c69 6674 6865 6e65 6c73 657b 5c62 6f6f \ifthenelse{\boo │ │ │ +0000d590: 6c65 616e 7b41 6764 6140 496e 6c69 6e65 lean{Agda@Inline │ │ │ +0000d5a0: 5374 6172 7d7d 7b25 0a20 2020 2025 2049 Star}}{%. % I │ │ │ +0000d5b0: 6e6c 696e 6520 636f 6465 2077 6974 6820 nline code with │ │ │ +0000d5c0: 7370 6163 6520 6174 2074 6865 2065 6e64 space at the end │ │ │ +0000d5d0: 2e0a 2020 2020 250a 2020 2020 5c44 6563 .. %. \Dec │ │ │ +0000d5e0: 6c61 7265 446f 6375 6d65 6e74 436f 6d6d lareDocumentComm │ │ │ +0000d5f0: 616e 647b 5c3e 7d7b 4f7b 7d4f 7b7d 7d7b and{\>}{O{}O{}}{ │ │ │ +0000d600: 7d25 0a20 2020 205c 4465 636c 6172 6544 }%. \DeclareD │ │ │ +0000d610: 6f63 756d 656e 7443 6f6d 6d61 6e64 7b5c ocumentCommand{\ │ │ │ +0000d620: 3c7d 7b4f 7b7d 7d7b 7d25 0a20 2020 205c <}{O{}}{}%. \ │ │ │ +0000d630: 4167 6461 436f 6465 5374 796c 655c 424f AgdaCodeStyle\BO │ │ │ +0000d640: 4459 5c41 6764 6153 7061 6365 7b7d 7d7b DY\AgdaSpace{}}{ │ │ │ +0000d650: 250a 2020 2020 250a 2020 2020 2520 4469 %. %. % Di │ │ │ +0000d660: 7370 6c61 7965 6420 636f 6465 2e0a 2020 splayed code.. │ │ │ +0000d670: 2020 250a 2020 2020 2520 436f 6e64 6974 %. % Condit │ │ │ +0000d680: 696f 6e61 6c6c 7920 656d 6974 2073 7061 ionally emit spa │ │ │ +0000d690: 6365 2062 6566 6f72 6520 7468 6520 636f ce before the co │ │ │ +0000d6a0: 6465 2062 6c6f 636b 2e20 556e 636f 6e64 de block. Uncond │ │ │ +0000d6b0: 6974 696f 6e61 6c6c 790a 2020 2020 2520 itionally. % │ │ │ +0000d6c0: 7377 6974 6368 2074 6f20 6120 6e65 7720 switch to a new │ │ │ +0000d6d0: 6c69 6e65 2e0a 2020 2020 5c69 6674 6865 line.. \ifthe │ │ │ +0000d6e0: 6e65 6c73 657b 5c62 6f6f 6c65 616e 7b41 nelse{\boolean{A │ │ │ +0000d6f0: 6764 6140 5370 6163 6541 726f 756e 6443 gda@SpaceAroundC │ │ │ +0000d700: 6f64 657d 205c 616e 6425 0a20 2020 2020 ode} \and%. │ │ │ +0000d710: 2020 2020 2020 2020 2020 205c 285c 6e6f \(\no │ │ │ +0000d720: 7420 5c62 6f6f 6c65 616e 7b41 6764 6140 t \boolean{Agda@ │ │ │ +0000d730: 5375 7070 7265 7373 7d20 5c6f 7225 0a20 Suppress} \or%. │ │ │ 0000d740: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0000d750: 5c76 616c 7565 7b41 6764 6140 5375 7070 \value{Agda@Supp │ │ │ -0000d760: 7265 7373 5374 6172 747d 203d 205c 7661 ressStart} = \va │ │ │ -0000d770: 6c75 657b 4167 6461 4043 7572 7265 6e74 lue{Agda@Current │ │ │ -0000d780: 7d5c 297d 7b25 0a20 2020 2020 205c 4167 }\)}{%. \Ag │ │ │ -0000d790: 6461 404e 6577 6c69 6e65 5769 7468 5665 da@NewlineWithVe │ │ │ -0000d7a0: 7274 6963 616c 5370 6163 657b 5c61 626f rticalSpace{\abo │ │ │ -0000d7b0: 7665 6469 7370 6c61 7973 6b69 707d 7d7b vedisplayskip}}{ │ │ │ -0000d7c0: 250a 2020 2020 2020 5c41 6764 6140 4e65 %. \Agda@Ne │ │ │ -0000d7d0: 776c 696e 6557 6974 6856 6572 7469 6361 wlineWithVertica │ │ │ -0000d7e0: 6c53 7061 6365 7b30 7074 7d7d 250a 2020 lSpace{0pt}}%. │ │ │ -0000d7f0: 2020 250a 2020 2020 2520 4368 6563 6b20 %. % Check │ │ │ -0000d800: 6966 206e 756d 6265 7273 2068 6176 6520 if numbers have │ │ │ -0000d810: 6265 656e 2072 6571 7565 7374 6564 2e20 been requested. │ │ │ -0000d820: 4966 2074 6865 7920 6861 7665 2c20 7468 If they have, th │ │ │ -0000d830: 656e 2061 2073 6964 650a 2020 2020 2520 en a side. % │ │ │ -0000d840: 6566 6665 6374 206f 6620 7468 6973 2063 effect of this c │ │ │ -0000d850: 616c 6c20 6973 2074 6861 7420 4167 6461 all is that Agda │ │ │ -0000d860: 404e 756d 6265 7220 6973 2073 6574 2074 @Number is set t │ │ │ -0000d870: 6f20 7472 7565 2c20 7468 6520 636f 6465 o true, the code │ │ │ -0000d880: 0a20 2020 2025 206e 756d 6265 7220 636f . % number co │ │ │ -0000d890: 756e 7465 7220 6973 2069 6e63 7265 6173 unter is increas │ │ │ -0000d8a0: 6564 2c20 616e 6420 7468 6520 6c61 6265 ed, and the labe │ │ │ -0000d8b0: 6c20 2869 6620 616e 7929 2069 7320 7365 l (if any) is se │ │ │ -0000d8c0: 742e 0a20 2020 205c 7365 746b 6579 735b t.. \setkeys[ │ │ │ -0000d8d0: 4167 6461 5d7b 636f 6465 7d5b 6869 6465 Agda]{code}[hide │ │ │ -0000d8e0: 2c69 6e6c 696e 652c 696e 6c69 6e65 2a5d ,inline,inline*] │ │ │ -0000d8f0: 7b23 317d 250a 2020 2020 5c69 6674 6865 {#1}%. \ifthe │ │ │ -0000d900: 6e65 6c73 657b 5c62 6f6f 6c65 616e 7b41 nelse{\boolean{A │ │ │ -0000d910: 6764 6140 4e75 6d62 6572 7d7d 7b25 0a20 gda@Number}}{%. │ │ │ -0000d920: 2020 2020 2025 2045 7175 6174 696f 6e20 % Equation │ │ │ -0000d930: 6e75 6d62 6572 7320 6861 7665 2062 6565 numbers have bee │ │ │ -0000d940: 6e20 7265 7175 6573 7465 642e 2055 7365 n requested. Use │ │ │ -0000d950: 2061 206d 696e 6970 6167 652c 2073 6f20 a minipage, so │ │ │ -0000d960: 7468 6174 0a20 2020 2020 2025 2074 6865 that. % the │ │ │ -0000d970: 7265 2069 7320 726f 6f6d 2066 6f72 2074 re is room for t │ │ │ -0000d980: 6865 2063 6f64 6520 6e75 6d62 6572 2074 he code number t │ │ │ -0000d990: 6f20 7468 6520 7269 6768 742c 2061 6e64 o the right, and │ │ │ -0000d9a0: 2074 6865 2063 6f64 650a 2020 2020 2020 the code. │ │ │ -0000d9b0: 2520 6e75 6d62 6572 2062 6563 6f6d 6573 % number becomes │ │ │ -0000d9c0: 2063 656e 7465 7265 6420 7665 7274 6963 centered vertic │ │ │ -0000d9d0: 616c 6c79 2e0a 2020 2020 2020 5c62 6567 ally.. \beg │ │ │ -0000d9e0: 696e 7b6d 696e 6970 6167 657d 7b25 0a20 in{minipage}{%. │ │ │ -0000d9f0: 2020 2020 2020 2020 205c 6c69 6e65 7769 \linewi │ │ │ -0000da00: 6474 682d 250a 2020 2020 2020 2020 2020 dth-%. │ │ │ -0000da10: 5c77 6964 7468 6f66 7b25 0a20 2020 2020 \widthof{%. │ │ │ -0000da20: 2020 2020 2020 205c 4167 6461 5370 6163 \AgdaSpac │ │ │ -0000da30: 657b 7d25 0a20 2020 2020 2020 2020 2020 e{}%. │ │ │ -0000da40: 205c 4167 6461 466f 726d 6174 436f 6465 \AgdaFormatCode │ │ │ -0000da50: 4e75 6d62 6572 7b5c 7468 6541 6764 6143 Number{\theAgdaC │ │ │ -0000da60: 6f64 654e 756d 6265 727d 7d7d 7d7b 7d25 odeNumber}}}}{}% │ │ │ -0000da70: 0a20 2020 2025 0a20 2020 2025 2049 6e64 . %. % Ind │ │ │ -0000da80: 656e 7420 7468 6520 656e 7469 7265 2063 ent the entire c │ │ │ -0000da90: 6f64 6520 626c 6f63 6b2e 0a20 2020 205c ode block.. \ │ │ │ -0000daa0: 6164 7661 6e63 655c 6c65 6674 736b 6970 advance\leftskip │ │ │ -0000dab0: 5c6d 6174 6869 6e64 656e 7425 0a20 2020 \mathindent%. │ │ │ -0000dac0: 2025 0a20 2020 2025 2054 6865 2063 6f64 %. % The cod │ │ │ -0000dad0: 6527 7320 7374 796c 6520 6361 6e20 6265 e's style can be │ │ │ -0000dae0: 2063 7573 746f 6d69 7365 642e 0a20 2020 customised.. │ │ │ -0000daf0: 205c 4167 6461 436f 6465 5374 796c 6525 \AgdaCodeStyle% │ │ │ -0000db00: 0a20 2020 2025 0a20 2020 2025 2055 7365 . %. % Use │ │ │ -0000db10: 6420 746f 2063 6f6e 7472 6f6c 2074 6865 d to control the │ │ │ -0000db20: 2068 6569 6768 7420 6f66 2065 6d70 7479 height of empty │ │ │ -0000db30: 206c 696e 6573 2e0a 2020 2020 5c73 6574 lines.. \set │ │ │ -0000db40: 6c65 6e67 7468 7b5c 4167 6461 456d 7074 length{\AgdaEmpt │ │ │ -0000db50: 7945 7874 7261 536b 6970 7d7b 5c41 6764 yExtraSkip}{\Agd │ │ │ -0000db60: 6145 6d70 7479 536b 6970 202d 205c 6261 aEmptySkip - \ba │ │ │ -0000db70: 7365 6c69 6e65 736b 6970 7d25 0a20 2020 selineskip}%. │ │ │ -0000db80: 2025 0a20 2020 2025 2054 6865 2065 6e76 %. % The env │ │ │ -0000db90: 6972 6f6e 6d65 6e74 2075 7365 6420 746f ironment used to │ │ │ -0000dba0: 2068 616e 646c 6520 696e 6465 6e74 6174 handle indentat │ │ │ -0000dbb0: 696f 6e20 286f 6620 696e 6469 7669 6475 ion (of individu │ │ │ -0000dbc0: 616c 206c 696e 6573 290a 2020 2020 2520 al lines). % │ │ │ -0000dbd0: 616e 6420 616c 6967 6e6d 656e 742e 0a20 and alignment.. │ │ │ -0000dbe0: 2020 205c 6265 6769 6e7b 7062 6f78 6564 \begin{pboxed │ │ │ -0000dbf0: 7d25 0a20 2020 2020 2025 0a20 2020 2020 }%. %. │ │ │ -0000dc00: 2025 2043 6f6e 6469 7469 6f6e 616c 6c79 % Conditionally │ │ │ -0000dc10: 2070 7265 7365 7276 6520 616c 6967 6e6d preserve alignm │ │ │ -0000dc20: 656e 7420 6265 7477 6565 6e20 636f 6465 ent between code │ │ │ -0000dc30: 2062 6c6f 636b 732e 0a20 2020 2020 205c blocks.. \ │ │ │ -0000dc40: 6966 7468 656e 656c 7365 7b5c 626f 6f6c ifthenelse{\bool │ │ │ -0000dc50: 6561 6e7b 4167 6461 4041 6c69 676e 7d7d ean{Agda@Align}} │ │ │ -0000dc60: 7b25 0a20 2020 2020 2020 205c 6966 7468 {%. \ifth │ │ │ -0000dc70: 656e 656c 7365 7b5c 7661 6c75 657b 4167 enelse{\value{Ag │ │ │ -0000dc80: 6461 4041 6c69 676e 5374 6172 747d 203d da@AlignStart} = │ │ │ -0000dc90: 205c 7661 6c75 657b 4167 6461 4043 7572 \value{Agda@Cur │ │ │ -0000dca0: 7265 6e74 7d7d 7b25 0a20 2020 2020 2020 rent}}{%. │ │ │ -0000dcb0: 2020 205c 7361 7665 636f 6c75 6d6e 737d \savecolumns} │ │ │ -0000dcc0: 7b25 0a20 2020 2020 2020 2020 205c 7265 {%. \re │ │ │ -0000dcd0: 7374 6f72 6563 6f6c 756d 6e73 7d7d 7b7d storecolumns}}{} │ │ │ -0000dce0: 250a 2020 2020 2020 250a 2020 2020 2020 %. %. │ │ │ -0000dcf0: 2520 5468 6520 636f 6465 2e0a 2020 2020 % The code.. │ │ │ -0000dd00: 2020 5c42 4f44 5925 0a20 2020 205c 656e \BODY%. \en │ │ │ -0000dd10: 647b 7062 6f78 6564 7d25 0a20 2020 2025 d{pboxed}%. % │ │ │ -0000dd20: 0a20 2020 205c 6966 7468 656e 656c 7365 . \ifthenelse │ │ │ -0000dd30: 7b5c 626f 6f6c 6561 6e7b 4167 6461 404e {\boolean{Agda@N │ │ │ -0000dd40: 756d 6265 727d 7d7b 250a 2020 2020 2020 umber}}{%. │ │ │ -0000dd50: 2520 4571 7561 7469 6f6e 206e 756d 6265 % Equation numbe │ │ │ -0000dd60: 7273 2068 6176 6520 6265 656e 2072 6571 rs have been req │ │ │ -0000dd70: 7565 7374 6564 2e0a 2020 2020 2020 5c65 uested.. \e │ │ │ -0000dd80: 6e64 7b6d 696e 6970 6167 657d 250a 2020 nd{minipage}%. │ │ │ -0000dd90: 2020 2020 2520 496e 7365 7274 2074 6865 % Insert the │ │ │ -0000dda0: 2063 6f64 6520 6e75 6d62 6572 2074 6f20 code number to │ │ │ -0000ddb0: 7468 6520 7269 6768 742e 0a20 2020 2020 the right.. │ │ │ -0000ddc0: 205c 6866 696c 6c20 5c41 6764 6146 6f72 \hfill \AgdaFor │ │ │ -0000ddd0: 6d61 7443 6f64 654e 756d 6265 727b 5c74 matCodeNumber{\t │ │ │ -0000dde0: 6865 4167 6461 436f 6465 4e75 6d62 6572 heAgdaCodeNumber │ │ │ -0000ddf0: 7d7d 7b7d 250a 2020 2020 250a 2020 2020 }}{}%. %. │ │ │ -0000de00: 2520 446f 6573 2074 6865 206c 6162 656c % Does the label │ │ │ -0000de10: 2041 6764 6140 446f 4e6f 7453 7570 7072 Agda@DoNotSuppr │ │ │ -0000de20: 6573 7341 6674 6572 403c 6375 7272 656e essAfter@ exist │ │ │ -0000de50: 3f0a 2020 2020 5c69 6663 7364 6566 7b72 ?. \ifcsdef{r │ │ │ -0000de60: 4041 6764 6140 446f 4e6f 7453 7570 7072 @Agda@DoNotSuppr │ │ │ -0000de70: 6573 7353 7061 6365 4166 7465 7240 5c74 essSpaceAfter@\t │ │ │ -0000de80: 6865 4167 6461 4043 7572 7265 6e74 7d7b heAgda@Current}{ │ │ │ -0000de90: 250a 2020 2020 2020 5c73 6574 626f 6f6c %. \setbool │ │ │ -0000dea0: 6561 6e7b 4167 6461 4044 6f4e 6f74 5375 ean{Agda@DoNotSu │ │ │ -0000deb0: 7070 7265 7373 5370 6163 6541 6674 6572 ppressSpaceAfter │ │ │ -0000dec0: 7d7b 7472 7565 7d7d 7b25 0a20 2020 2020 }{true}}{%. │ │ │ -0000ded0: 205c 7365 7462 6f6f 6c65 616e 7b41 6764 \setboolean{Agd │ │ │ -0000dee0: 6140 446f 4e6f 7453 7570 7072 6573 7353 a@DoNotSuppressS │ │ │ -0000def0: 7061 6365 4166 7465 727d 7b66 616c 7365 paceAfter}{false │ │ │ -0000df00: 7d7d 250a 2020 2020 250a 2020 2020 2520 }}%. %. % │ │ │ -0000df10: 436f 6e64 6974 696f 6e61 6c6c 7920 656d Conditionally em │ │ │ -0000df20: 6974 2073 7061 6365 2061 6674 6572 2074 it space after t │ │ │ -0000df30: 6865 2063 6f64 6520 626c 6f63 6b2e 2055 he code block. U │ │ │ -0000df40: 6e63 6f6e 6469 7469 6f6e 616c 6c79 0a20 nconditionally. │ │ │ -0000df50: 2020 2025 2073 7769 7463 6820 746f 2061 % switch to a │ │ │ -0000df60: 206e 6577 206c 696e 652e 0a20 2020 205c new line.. \ │ │ │ -0000df70: 6966 7468 656e 656c 7365 7b5c 626f 6f6c ifthenelse{\bool │ │ │ -0000df80: 6561 6e7b 4167 6461 4053 7061 6365 4172 ean{Agda@SpaceAr │ │ │ -0000df90: 6f75 6e64 436f 6465 7d20 5c61 6e64 250a oundCode} \and%. │ │ │ -0000dfa0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0000dfb0: 5c28 5c6e 6f74 205c 626f 6f6c 6561 6e7b \(\not \boolean{ │ │ │ -0000dfc0: 4167 6461 4053 7570 7072 6573 737d 205c Agda@Suppress} \ │ │ │ -0000dfd0: 6f72 250a 2020 2020 2020 2020 2020 2020 or%. │ │ │ -0000dfe0: 2020 2020 2020 5c62 6f6f 6c65 616e 7b41 \boolean{A │ │ │ -0000dff0: 6764 6140 446f 4e6f 7453 7570 7072 6573 gda@DoNotSuppres │ │ │ -0000e000: 7353 7061 6365 4166 7465 727d 5c29 7d7b sSpaceAfter}\)}{ │ │ │ -0000e010: 250a 2020 2020 2020 5c41 6764 6140 4e65 %. \Agda@Ne │ │ │ -0000e020: 776c 696e 6557 6974 6856 6572 7469 6361 wlineWithVertica │ │ │ -0000e030: 6c53 7061 6365 7b5c 6265 6c6f 7764 6973 lSpace{\belowdis │ │ │ -0000e040: 706c 6179 736b 6970 7d7d 7b25 0a20 2020 playskip}}{%. │ │ │ -0000e050: 2020 205c 4167 6461 404e 6577 6c69 6e65 \Agda@Newline │ │ │ -0000e060: 5769 7468 5665 7274 6963 616c 5370 6163 WithVerticalSpac │ │ │ -0000e070: 657b 3070 747d 7d25 0a20 2020 2025 0a20 e{0pt}}%. %. │ │ │ -0000e080: 2020 2025 2053 7465 7020 7468 6520 636f % Step the co │ │ │ -0000e090: 6465 2062 6c6f 636b 2063 6f75 6e74 6572 de block counter │ │ │ -0000e0a0: 2c20 6275 7420 6f6e 6c79 2066 6f72 206e , but only for n │ │ │ -0000e0b0: 6f6e 2d68 6964 6465 6e20 636f 6465 2e0a on-hidden code.. │ │ │ -0000e0c0: 2020 2020 5c73 7465 7063 6f75 6e74 6572 \stepcounter │ │ │ -0000e0d0: 7b41 6764 6140 4375 7272 656e 747d 7d25 {Agda@Current}}% │ │ │ -0000e0e0: 0a20 205c 6669 250a 2020 5c66 6925 0a20 . \fi%. \fi%. │ │ │ -0000e0f0: 2025 2052 6573 6574 2041 6764 6140 4e75 % Reset Agda@Nu │ │ │ -0000e100: 6d62 6572 2061 6e64 2041 6764 6140 496e mber and Agda@In │ │ │ -0000e110: 6c69 6e65 5374 6172 2e0a 2020 5c73 6574 lineStar.. \set │ │ │ -0000e120: 626f 6f6c 6561 6e7b 4167 6461 404e 756d boolean{Agda@Num │ │ │ -0000e130: 6265 727d 7b66 616c 7365 7d25 0a20 205c ber}{false}%. \ │ │ │ -0000e140: 7365 7462 6f6f 6c65 616e 7b41 6764 6140 setboolean{Agda@ │ │ │ -0000e150: 496e 6c69 6e65 5374 6172 7d7b 6661 6c73 InlineStar}{fals │ │ │ -0000e160: 657d 7d0a 0a25 2053 7061 6365 2069 6e73 e}}..% Space ins │ │ │ -0000e170: 6572 7465 6420 6166 7465 7220 746f 6b65 erted after toke │ │ │ -0000e180: 6e73 2e0a 5c6e 6577 636f 6d6d 616e 647b ns..\newcommand{ │ │ │ -0000e190: 5c41 6764 6153 7061 6365 7d7b 207d 0a0a \AgdaSpace}{ }.. │ │ │ -0000e1a0: 2520 5370 6163 6520 696e 7365 7274 6564 % Space inserted │ │ │ -0000e1b0: 2074 6f20 696e 6465 6e74 2073 6f6d 6574 to indent somet │ │ │ -0000e1c0: 6869 6e67 2e0a 5c6e 6577 636f 6d6d 616e hing..\newcomman │ │ │ -0000e1d0: 647b 5c41 6764 6149 6e64 656e 7453 7061 d{\AgdaIndentSpa │ │ │ -0000e1e0: 6365 7d7b 5c41 6764 6153 7061 6365 7b7d ce}{\AgdaSpace{} │ │ │ -0000e1f0: 245c 3b5c 3b24 7d0a 0a25 2044 6566 6175 $\;\;$}..% Defau │ │ │ -0000e200: 6c74 2063 6f6c 756d 6e20 666f 7220 706f lt column for po │ │ │ -0000e210: 6c79 7461 626c 652e 0a5c 6465 6661 756c lytable..\defaul │ │ │ -0000e220: 7463 6f6c 756d 6e7b 407b 7d6c 407b 5c41 tcolumn{@{}l@{\A │ │ │ -0000e230: 6764 6153 7061 6365 7b7d 7d7d 0a0a 2520 gdaSpace{}}}..% │ │ │ -0000e240: 5c41 6764 6149 6e64 656e 7420 6578 7065 \AgdaIndent expe │ │ │ -0000e250: 6374 7320 6120 6e6f 6e2d 6e65 6761 7469 cts a non-negati │ │ │ -0000e260: 7665 2069 6e74 6567 6572 2061 7320 6974 ve integer as it │ │ │ -0000e270: 7320 6f6e 6c79 2061 7267 756d 656e 742e s only argument. │ │ │ -0000e280: 0a25 2054 6869 7320 696e 7465 6765 7220 .% This integer │ │ │ -0000e290: 7368 6f75 6c64 2062 6520 7468 6520 6469 should be the di │ │ │ -0000e2a0: 7374 616e 6365 2c20 696e 2063 6f64 6520 stance, in code │ │ │ -0000e2b0: 626c 6f63 6b73 2c20 746f 2074 6865 2074 blocks, to the t │ │ │ -0000e2c0: 6869 6e67 0a25 2072 656c 6174 6976 6520 hing.% relative │ │ │ -0000e2d0: 746f 2077 6869 6368 2074 6865 2074 6578 to which the tex │ │ │ -0000e2e0: 7420 6973 2069 6e64 656e 7465 642e 0a25 t is indented..% │ │ │ -0000e2f0: 0a25 2054 6865 2064 6566 6175 6c74 2069 .% The default i │ │ │ -0000e300: 6d70 6c65 6d65 6e74 6174 696f 6e20 6f6e mplementation on │ │ │ -0000e310: 6c79 2069 6e64 656e 7473 2069 6620 7468 ly indents if th │ │ │ -0000e320: 6520 7468 696e 6720 7468 6174 2074 6865 e thing that the │ │ │ -0000e330: 2074 6578 740a 2520 6973 2069 6e64 656e text.% is inden │ │ │ -0000e340: 7465 6420 7265 6c61 7469 7665 2074 6f20 ted relative to │ │ │ -0000e350: 6578 6973 7473 2069 6e20 7468 6520 7361 exists in the sa │ │ │ -0000e360: 6d65 2063 6f64 6520 626c 6f63 6b20 6f72 me code block or │ │ │ -0000e370: 2069 7320 7772 6170 7065 640a 2520 696e is wrapped.% in │ │ │ -0000e380: 2074 6865 2073 616d 6520 4167 6461 416c the same AgdaAl │ │ │ -0000e390: 6967 6e20 6f72 2041 6764 614d 756c 7469 ign or AgdaMulti │ │ │ -0000e3a0: 436f 6465 2065 6e76 6972 6f6e 6d65 6e74 Code environment │ │ │ -0000e3b0: 2e0a 5c6e 6577 636f 6d6d 616e 647b 5c41 ..\newcommand{\A │ │ │ -0000e3c0: 6764 6149 6e64 656e 747d 5b31 5d7b 250a gdaIndent}[1]{%. │ │ │ -0000e3d0: 2020 5c69 6674 6865 6e65 6c73 657b 2331 \ifthenelse{#1 │ │ │ -0000e3e0: 203d 2030 0a20 2020 2020 2020 2020 2020 = 0. │ │ │ -0000e3f0: 2020 2020 205c 6f72 0a20 2020 2020 2020 \or. │ │ │ -0000e400: 2020 2020 2020 205c 2820 5c62 6f6f 6c65 \( \boole │ │ │ -0000e410: 616e 7b41 6764 6140 416c 6967 6e7d 0a20 an{Agda@Align}. │ │ │ +0000d750: 205c 7661 6c75 657b 4167 6461 4053 7570 \value{Agda@Sup │ │ │ +0000d760: 7072 6573 7353 7461 7274 7d20 3d20 5c76 pressStart} = \v │ │ │ +0000d770: 616c 7565 7b41 6764 6140 4375 7272 656e alue{Agda@Curren │ │ │ +0000d780: 747d 5c29 7d7b 250a 2020 2020 2020 5c41 t}\)}{%. \A │ │ │ +0000d790: 6764 6140 4e65 776c 696e 6557 6974 6856 gda@NewlineWithV │ │ │ +0000d7a0: 6572 7469 6361 6c53 7061 6365 7b5c 6162 erticalSpace{\ab │ │ │ +0000d7b0: 6f76 6564 6973 706c 6179 736b 6970 7d7d ovedisplayskip}} │ │ │ +0000d7c0: 7b25 0a20 2020 2020 205c 4167 6461 404e {%. \Agda@N │ │ │ +0000d7d0: 6577 6c69 6e65 5769 7468 5665 7274 6963 ewlineWithVertic │ │ │ +0000d7e0: 616c 5370 6163 657b 3070 747d 7d25 0a20 alSpace{0pt}}%. │ │ │ +0000d7f0: 2020 2025 0a20 2020 2025 2043 6865 636b %. % Check │ │ │ +0000d800: 2069 6620 6e75 6d62 6572 7320 6861 7665 if numbers have │ │ │ +0000d810: 2062 6565 6e20 7265 7175 6573 7465 642e been requested. │ │ │ +0000d820: 2049 6620 7468 6579 2068 6176 652c 2074 If they have, t │ │ │ +0000d830: 6865 6e20 6120 7369 6465 0a20 2020 2025 hen a side. % │ │ │ +0000d840: 2065 6666 6563 7420 6f66 2074 6869 7320 effect of this │ │ │ +0000d850: 6361 6c6c 2069 7320 7468 6174 2041 6764 call is that Agd │ │ │ +0000d860: 6140 4e75 6d62 6572 2069 7320 7365 7420 a@Number is set │ │ │ +0000d870: 746f 2074 7275 652c 2074 6865 2063 6f64 to true, the cod │ │ │ +0000d880: 650a 2020 2020 2520 6e75 6d62 6572 2063 e. % number c │ │ │ +0000d890: 6f75 6e74 6572 2069 7320 696e 6372 6561 ounter is increa │ │ │ +0000d8a0: 7365 642c 2061 6e64 2074 6865 206c 6162 sed, and the lab │ │ │ +0000d8b0: 656c 2028 6966 2061 6e79 2920 6973 2073 el (if any) is s │ │ │ +0000d8c0: 6574 2e0a 2020 2020 5c73 6574 6b65 7973 et.. \setkeys │ │ │ +0000d8d0: 5b41 6764 615d 7b63 6f64 657d 5b68 6964 [Agda]{code}[hid │ │ │ +0000d8e0: 652c 696e 6c69 6e65 2c69 6e6c 696e 652a e,inline,inline* │ │ │ +0000d8f0: 5d7b 2331 7d25 0a20 2020 205c 6966 7468 ]{#1}%. \ifth │ │ │ +0000d900: 656e 656c 7365 7b5c 626f 6f6c 6561 6e7b enelse{\boolean{ │ │ │ +0000d910: 4167 6461 404e 756d 6265 727d 7d7b 250a Agda@Number}}{%. │ │ │ +0000d920: 2020 2020 2020 2520 4571 7561 7469 6f6e % Equation │ │ │ +0000d930: 206e 756d 6265 7273 2068 6176 6520 6265 numbers have be │ │ │ +0000d940: 656e 2072 6571 7565 7374 6564 2e20 5573 en requested. Us │ │ │ +0000d950: 6520 6120 6d69 6e69 7061 6765 2c20 736f e a minipage, so │ │ │ +0000d960: 2074 6861 740a 2020 2020 2020 2520 7468 that. % th │ │ │ +0000d970: 6572 6520 6973 2072 6f6f 6d20 666f 7220 ere is room for │ │ │ +0000d980: 7468 6520 636f 6465 206e 756d 6265 7220 the code number │ │ │ +0000d990: 746f 2074 6865 2072 6967 6874 2c20 616e to the right, an │ │ │ +0000d9a0: 6420 7468 6520 636f 6465 0a20 2020 2020 d the code. │ │ │ +0000d9b0: 2025 206e 756d 6265 7220 6265 636f 6d65 % number become │ │ │ +0000d9c0: 7320 6365 6e74 6572 6564 2076 6572 7469 s centered verti │ │ │ +0000d9d0: 6361 6c6c 792e 0a20 2020 2020 205c 6265 cally.. \be │ │ │ +0000d9e0: 6769 6e7b 6d69 6e69 7061 6765 7d7b 250a gin{minipage}{%. │ │ │ +0000d9f0: 2020 2020 2020 2020 2020 5c6c 696e 6577 \linew │ │ │ +0000da00: 6964 7468 2d25 0a20 2020 2020 2020 2020 idth-%. │ │ │ +0000da10: 205c 7769 6474 686f 667b 250a 2020 2020 \widthof{%. │ │ │ +0000da20: 2020 2020 2020 2020 5c41 6764 6153 7061 \AgdaSpa │ │ │ +0000da30: 6365 7b7d 250a 2020 2020 2020 2020 2020 ce{}%. │ │ │ +0000da40: 2020 5c41 6764 6146 6f72 6d61 7443 6f64 \AgdaFormatCod │ │ │ +0000da50: 654e 756d 6265 727b 5c74 6865 4167 6461 eNumber{\theAgda │ │ │ +0000da60: 436f 6465 4e75 6d62 6572 7d7d 7d7d 7b7d CodeNumber}}}}{} │ │ │ +0000da70: 250a 2020 2020 250a 2020 2020 2520 496e %. %. % In │ │ │ +0000da80: 6465 6e74 2074 6865 2065 6e74 6972 6520 dent the entire │ │ │ +0000da90: 636f 6465 2062 6c6f 636b 2e0a 2020 2020 code block.. │ │ │ +0000daa0: 5c61 6476 616e 6365 5c6c 6566 7473 6b69 \advance\leftski │ │ │ +0000dab0: 705c 6d61 7468 696e 6465 6e74 250a 2020 p\mathindent%. │ │ │ +0000dac0: 2020 250a 2020 2020 2520 5468 6520 636f %. % The co │ │ │ +0000dad0: 6465 2773 2073 7479 6c65 2063 616e 2062 de's style can b │ │ │ +0000dae0: 6520 6375 7374 6f6d 6973 6564 2e0a 2020 e customised.. │ │ │ +0000daf0: 2020 5c41 6764 6143 6f64 6553 7479 6c65 \AgdaCodeStyle │ │ │ +0000db00: 250a 2020 2020 250a 2020 2020 2520 5573 %. %. % Us │ │ │ +0000db10: 6564 2074 6f20 636f 6e74 726f 6c20 7468 ed to control th │ │ │ +0000db20: 6520 6865 6967 6874 206f 6620 656d 7074 e height of empt │ │ │ +0000db30: 7920 6c69 6e65 732e 0a20 2020 205c 7365 y lines.. \se │ │ │ +0000db40: 746c 656e 6774 687b 5c41 6764 6145 6d70 tlength{\AgdaEmp │ │ │ +0000db50: 7479 4578 7472 6153 6b69 707d 7b5c 4167 tyExtraSkip}{\Ag │ │ │ +0000db60: 6461 456d 7074 7953 6b69 7020 2d20 5c62 daEmptySkip - \b │ │ │ +0000db70: 6173 656c 696e 6573 6b69 707d 250a 2020 aselineskip}%. │ │ │ +0000db80: 2020 250a 2020 2020 2520 5468 6520 656e %. % The en │ │ │ +0000db90: 7669 726f 6e6d 656e 7420 7573 6564 2074 vironment used t │ │ │ +0000dba0: 6f20 6861 6e64 6c65 2069 6e64 656e 7461 o handle indenta │ │ │ +0000dbb0: 7469 6f6e 2028 6f66 2069 6e64 6976 6964 tion (of individ │ │ │ +0000dbc0: 7561 6c20 6c69 6e65 7329 0a20 2020 2025 ual lines). % │ │ │ +0000dbd0: 2061 6e64 2061 6c69 676e 6d65 6e74 2e0a and alignment.. │ │ │ +0000dbe0: 2020 2020 5c62 6567 696e 7b70 626f 7865 \begin{pboxe │ │ │ +0000dbf0: 647d 250a 2020 2020 2020 250a 2020 2020 d}%. %. │ │ │ +0000dc00: 2020 2520 436f 6e64 6974 696f 6e61 6c6c % Conditionall │ │ │ +0000dc10: 7920 7072 6573 6572 7665 2061 6c69 676e y preserve align │ │ │ +0000dc20: 6d65 6e74 2062 6574 7765 656e 2063 6f64 ment between cod │ │ │ +0000dc30: 6520 626c 6f63 6b73 2e0a 2020 2020 2020 e blocks.. │ │ │ +0000dc40: 5c69 6674 6865 6e65 6c73 657b 5c62 6f6f \ifthenelse{\boo │ │ │ +0000dc50: 6c65 616e 7b41 6764 6140 416c 6967 6e7d lean{Agda@Align} │ │ │ +0000dc60: 7d7b 250a 2020 2020 2020 2020 5c69 6674 }{%. \ift │ │ │ +0000dc70: 6865 6e65 6c73 657b 5c76 616c 7565 7b41 henelse{\value{A │ │ │ +0000dc80: 6764 6140 416c 6967 6e53 7461 7274 7d20 gda@AlignStart} │ │ │ +0000dc90: 3d20 5c76 616c 7565 7b41 6764 6140 4375 = \value{Agda@Cu │ │ │ +0000dca0: 7272 656e 747d 7d7b 250a 2020 2020 2020 rrent}}{%. │ │ │ +0000dcb0: 2020 2020 5c73 6176 6563 6f6c 756d 6e73 \savecolumns │ │ │ +0000dcc0: 7d7b 250a 2020 2020 2020 2020 2020 5c72 }{%. \r │ │ │ +0000dcd0: 6573 746f 7265 636f 6c75 6d6e 737d 7d7b estorecolumns}}{ │ │ │ +0000dce0: 7d25 0a20 2020 2020 2025 0a20 2020 2020 }%. %. │ │ │ +0000dcf0: 2025 2054 6865 2063 6f64 652e 0a20 2020 % The code.. │ │ │ +0000dd00: 2020 205c 424f 4459 250a 2020 2020 5c65 \BODY%. \e │ │ │ +0000dd10: 6e64 7b70 626f 7865 647d 250a 2020 2020 nd{pboxed}%. │ │ │ +0000dd20: 250a 2020 2020 5c69 6674 6865 6e65 6c73 %. \ifthenels │ │ │ +0000dd30: 657b 5c62 6f6f 6c65 616e 7b41 6764 6140 e{\boolean{Agda@ │ │ │ +0000dd40: 4e75 6d62 6572 7d7d 7b25 0a20 2020 2020 Number}}{%. │ │ │ +0000dd50: 2025 2045 7175 6174 696f 6e20 6e75 6d62 % Equation numb │ │ │ +0000dd60: 6572 7320 6861 7665 2062 6565 6e20 7265 ers have been re │ │ │ +0000dd70: 7175 6573 7465 642e 0a20 2020 2020 205c quested.. \ │ │ │ +0000dd80: 656e 647b 6d69 6e69 7061 6765 7d25 0a20 end{minipage}%. │ │ │ +0000dd90: 2020 2020 2025 2049 6e73 6572 7420 7468 % Insert th │ │ │ +0000dda0: 6520 636f 6465 206e 756d 6265 7220 746f e code number to │ │ │ +0000ddb0: 2074 6865 2072 6967 6874 2e0a 2020 2020 the right.. │ │ │ +0000ddc0: 2020 5c68 6669 6c6c 205c 4167 6461 466f \hfill \AgdaFo │ │ │ +0000ddd0: 726d 6174 436f 6465 4e75 6d62 6572 7b5c rmatCodeNumber{\ │ │ │ +0000dde0: 7468 6541 6764 6143 6f64 654e 756d 6265 theAgdaCodeNumbe │ │ │ +0000ddf0: 727d 7d7b 7d25 0a20 2020 2025 0a20 2020 r}}{}%. %. │ │ │ +0000de00: 2025 2044 6f65 7320 7468 6520 6c61 6265 % Does the labe │ │ │ +0000de10: 6c20 4167 6461 4044 6f4e 6f74 5375 7070 l Agda@DoNotSupp │ │ │ +0000de20: 7265 7373 4166 7465 7240 3c63 7572 7265 ressAfter@ exis │ │ │ +0000de50: 743f 0a20 2020 205c 6966 6373 6465 667b t?. \ifcsdef{ │ │ │ +0000de60: 7240 4167 6461 4044 6f4e 6f74 5375 7070 r@Agda@DoNotSupp │ │ │ +0000de70: 7265 7373 5370 6163 6541 6674 6572 405c ressSpaceAfter@\ │ │ │ +0000de80: 7468 6541 6764 6140 4375 7272 656e 747d theAgda@Current} │ │ │ +0000de90: 7b25 0a20 2020 2020 205c 7365 7462 6f6f {%. \setboo │ │ │ +0000dea0: 6c65 616e 7b41 6764 6140 446f 4e6f 7453 lean{Agda@DoNotS │ │ │ +0000deb0: 7570 7072 6573 7353 7061 6365 4166 7465 uppressSpaceAfte │ │ │ +0000dec0: 727d 7b74 7275 657d 7d7b 250a 2020 2020 r}{true}}{%. │ │ │ +0000ded0: 2020 5c73 6574 626f 6f6c 6561 6e7b 4167 \setboolean{Ag │ │ │ +0000dee0: 6461 4044 6f4e 6f74 5375 7070 7265 7373 da@DoNotSuppress │ │ │ +0000def0: 5370 6163 6541 6674 6572 7d7b 6661 6c73 SpaceAfter}{fals │ │ │ +0000df00: 657d 7d25 0a20 2020 2025 0a20 2020 2025 e}}%. %. % │ │ │ +0000df10: 2043 6f6e 6469 7469 6f6e 616c 6c79 2065 Conditionally e │ │ │ +0000df20: 6d69 7420 7370 6163 6520 6166 7465 7220 mit space after │ │ │ +0000df30: 7468 6520 636f 6465 2062 6c6f 636b 2e20 the code block. │ │ │ +0000df40: 556e 636f 6e64 6974 696f 6e61 6c6c 790a Unconditionally. │ │ │ +0000df50: 2020 2020 2520 7377 6974 6368 2074 6f20 % switch to │ │ │ +0000df60: 6120 6e65 7720 6c69 6e65 2e0a 2020 2020 a new line.. │ │ │ +0000df70: 5c69 6674 6865 6e65 6c73 657b 5c62 6f6f \ifthenelse{\boo │ │ │ +0000df80: 6c65 616e 7b41 6764 6140 5370 6163 6541 lean{Agda@SpaceA │ │ │ +0000df90: 726f 756e 6443 6f64 657d 205c 616e 6425 roundCode} \and% │ │ │ +0000dfa0: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ +0000dfb0: 205c 285c 6e6f 7420 5c62 6f6f 6c65 616e \(\not \boolean │ │ │ +0000dfc0: 7b41 6764 6140 5375 7070 7265 7373 7d20 {Agda@Suppress} │ │ │ +0000dfd0: 5c6f 7225 0a20 2020 2020 2020 2020 2020 \or%. │ │ │ +0000dfe0: 2020 2020 2020 205c 626f 6f6c 6561 6e7b \boolean{ │ │ │ +0000dff0: 4167 6461 4044 6f4e 6f74 5375 7070 7265 Agda@DoNotSuppre │ │ │ +0000e000: 7373 5370 6163 6541 6674 6572 7d5c 297d ssSpaceAfter}\)} │ │ │ +0000e010: 7b25 0a20 2020 2020 205c 4167 6461 404e {%. \Agda@N │ │ │ +0000e020: 6577 6c69 6e65 5769 7468 5665 7274 6963 ewlineWithVertic │ │ │ +0000e030: 616c 5370 6163 657b 5c62 656c 6f77 6469 alSpace{\belowdi │ │ │ +0000e040: 7370 6c61 7973 6b69 707d 7d7b 250a 2020 splayskip}}{%. │ │ │ +0000e050: 2020 2020 5c41 6764 6140 4e65 776c 696e \Agda@Newlin │ │ │ +0000e060: 6557 6974 6856 6572 7469 6361 6c53 7061 eWithVerticalSpa │ │ │ +0000e070: 6365 7b30 7074 7d7d 250a 2020 2020 250a ce{0pt}}%. %. │ │ │ +0000e080: 2020 2020 2520 5374 6570 2074 6865 2063 % Step the c │ │ │ +0000e090: 6f64 6520 626c 6f63 6b20 636f 756e 7465 ode block counte │ │ │ +0000e0a0: 722c 2062 7574 206f 6e6c 7920 666f 7220 r, but only for │ │ │ +0000e0b0: 6e6f 6e2d 6869 6464 656e 2063 6f64 652e non-hidden code. │ │ │ +0000e0c0: 0a20 2020 205c 7374 6570 636f 756e 7465 . \stepcounte │ │ │ +0000e0d0: 727b 4167 6461 4043 7572 7265 6e74 7d7d r{Agda@Current}} │ │ │ +0000e0e0: 250a 2020 5c66 6925 0a20 205c 6669 250a %. \fi%. \fi%. │ │ │ +0000e0f0: 2020 2520 5265 7365 7420 4167 6461 404e % Reset Agda@N │ │ │ +0000e100: 756d 6265 7220 616e 6420 4167 6461 4049 umber and Agda@I │ │ │ +0000e110: 6e6c 696e 6553 7461 722e 0a20 205c 7365 nlineStar.. \se │ │ │ +0000e120: 7462 6f6f 6c65 616e 7b41 6764 6140 4e75 tboolean{Agda@Nu │ │ │ +0000e130: 6d62 6572 7d7b 6661 6c73 657d 250a 2020 mber}{false}%. │ │ │ +0000e140: 5c73 6574 626f 6f6c 6561 6e7b 4167 6461 \setboolean{Agda │ │ │ +0000e150: 4049 6e6c 696e 6553 7461 727d 7b66 616c @InlineStar}{fal │ │ │ +0000e160: 7365 7d7d 0a0a 2520 5370 6163 6520 696e se}}..% Space in │ │ │ +0000e170: 7365 7274 6564 2061 6674 6572 2074 6f6b serted after tok │ │ │ +0000e180: 656e 732e 0a5c 6e65 7763 6f6d 6d61 6e64 ens..\newcommand │ │ │ +0000e190: 7b5c 4167 6461 5370 6163 657d 7b20 7d0a {\AgdaSpace}{ }. │ │ │ +0000e1a0: 0a25 2053 7061 6365 2069 6e73 6572 7465 .% Space inserte │ │ │ +0000e1b0: 6420 746f 2069 6e64 656e 7420 736f 6d65 d to indent some │ │ │ +0000e1c0: 7468 696e 672e 0a5c 6e65 7763 6f6d 6d61 thing..\newcomma │ │ │ +0000e1d0: 6e64 7b5c 4167 6461 496e 6465 6e74 5370 nd{\AgdaIndentSp │ │ │ +0000e1e0: 6163 657d 7b5c 4167 6461 5370 6163 657b ace}{\AgdaSpace{ │ │ │ +0000e1f0: 7d24 5c3b 5c3b 247d 0a0a 2520 4465 6661 }$\;\;$}..% Defa │ │ │ +0000e200: 756c 7420 636f 6c75 6d6e 2066 6f72 2070 ult column for p │ │ │ +0000e210: 6f6c 7974 6162 6c65 2e0a 5c64 6566 6175 olytable..\defau │ │ │ +0000e220: 6c74 636f 6c75 6d6e 7b40 7b7d 6c40 7b5c ltcolumn{@{}l@{\ │ │ │ +0000e230: 4167 6461 5370 6163 657b 7d7d 7d0a 0a25 AgdaSpace{}}}..% │ │ │ +0000e240: 205c 4167 6461 496e 6465 6e74 2065 7870 \AgdaIndent exp │ │ │ +0000e250: 6563 7473 2061 206e 6f6e 2d6e 6567 6174 ects a non-negat │ │ │ +0000e260: 6976 6520 696e 7465 6765 7220 6173 2069 ive integer as i │ │ │ +0000e270: 7473 206f 6e6c 7920 6172 6775 6d65 6e74 ts only argument │ │ │ +0000e280: 2e0a 2520 5468 6973 2069 6e74 6567 6572 ..% This integer │ │ │ +0000e290: 2073 686f 756c 6420 6265 2074 6865 2064 should be the d │ │ │ +0000e2a0: 6973 7461 6e63 652c 2069 6e20 636f 6465 istance, in code │ │ │ +0000e2b0: 2062 6c6f 636b 732c 2074 6f20 7468 6520 blocks, to the │ │ │ +0000e2c0: 7468 696e 670a 2520 7265 6c61 7469 7665 thing.% relative │ │ │ +0000e2d0: 2074 6f20 7768 6963 6820 7468 6520 7465 to which the te │ │ │ +0000e2e0: 7874 2069 7320 696e 6465 6e74 6564 2e0a xt is indented.. │ │ │ +0000e2f0: 250a 2520 5468 6520 6465 6661 756c 7420 %.% The default │ │ │ +0000e300: 696d 706c 656d 656e 7461 7469 6f6e 206f implementation o │ │ │ +0000e310: 6e6c 7920 696e 6465 6e74 7320 6966 2074 nly indents if t │ │ │ +0000e320: 6865 2074 6869 6e67 2074 6861 7420 7468 he thing that th │ │ │ +0000e330: 6520 7465 7874 0a25 2069 7320 696e 6465 e text.% is inde │ │ │ +0000e340: 6e74 6564 2072 656c 6174 6976 6520 746f nted relative to │ │ │ +0000e350: 2065 7869 7374 7320 696e 2074 6865 2073 exists in the s │ │ │ +0000e360: 616d 6520 636f 6465 2062 6c6f 636b 206f ame code block o │ │ │ +0000e370: 7220 6973 2077 7261 7070 6564 0a25 2069 r is wrapped.% i │ │ │ +0000e380: 6e20 7468 6520 7361 6d65 2041 6764 6141 n the same AgdaA │ │ │ +0000e390: 6c69 676e 206f 7220 4167 6461 4d75 6c74 lign or AgdaMult │ │ │ +0000e3a0: 6943 6f64 6520 656e 7669 726f 6e6d 656e iCode environmen │ │ │ +0000e3b0: 742e 0a5c 6e65 7763 6f6d 6d61 6e64 7b5c t..\newcommand{\ │ │ │ +0000e3c0: 4167 6461 496e 6465 6e74 7d5b 315d 7b25 AgdaIndent}[1]{% │ │ │ +0000e3d0: 0a20 205c 6966 7468 656e 656c 7365 7b23 . \ifthenelse{# │ │ │ +0000e3e0: 3120 3d20 300a 2020 2020 2020 2020 2020 1 = 0. │ │ │ +0000e3f0: 2020 2020 2020 5c6f 720a 2020 2020 2020 \or. │ │ │ +0000e400: 2020 2020 2020 2020 5c28 205c 626f 6f6c \( \bool │ │ │ +0000e410: 6561 6e7b 4167 6461 4041 6c69 676e 7d0a ean{Agda@Align}. │ │ │ 0000e420: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0000e430: 2020 5c61 6e64 0a20 2020 2020 2020 2020 \and. │ │ │ -0000e440: 2020 2020 2020 2020 5c63 6e74 7465 7374 \cnttest │ │ │ -0000e450: 7b5c 7661 6c75 657b 4167 6461 4043 7572 {\value{Agda@Cur │ │ │ -0000e460: 7265 6e74 7d20 2d20 2331 7d7b 3e3d 7d7b rent} - #1}{>=}{ │ │ │ -0000e470: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ -0000e480: 2020 2020 2020 2020 2020 205c 7661 6c75 \valu │ │ │ -0000e490: 657b 4167 6461 4041 6c69 676e 5374 6172 e{Agda@AlignStar │ │ │ -0000e4a0: 747d 7d0a 2020 2020 2020 2020 2020 2020 t}}. │ │ │ -0000e4b0: 2020 5c29 7d7b 5c41 6764 6149 6e64 656e \)}{\AgdaInden │ │ │ -0000e4c0: 7453 7061 6365 7b7d 7d7b 7d7d 0a0a 2520 tSpace{}}{}}..% │ │ │ -0000e4d0: 556e 6465 7273 636f 7265 7320 6172 6520 Underscores are │ │ │ -0000e4e0: 7479 7065 7365 7420 7573 696e 6720 5c41 typeset using \A │ │ │ -0000e4f0: 6764 6155 6e64 6572 7363 6f72 657b 7d2e gdaUnderscore{}. │ │ │ -0000e500: 0a5c 6e65 7763 6f6d 6d61 6e64 7b5c 4167 .\newcommand{\Ag │ │ │ -0000e510: 6461 556e 6465 7273 636f 7265 7d7b 5c5f daUnderscore}{\_ │ │ │ -0000e520: 7d0a 0a5c 656e 6469 6e70 7574 0ac2 dd9a }..\endinput.... │ │ │ -0000e530: c78a 81f7 ea2c 918a ccff 84ee e28d c101 .....,.......... │ │ │ -0000e540: 0083 0100 00e5 7e05 b480 80e6 0800 0000 ......~......... │ │ │ -0000e550: 0520 0000 0100 0100 0404 0803 0702 8680 . .............. │ │ │ -0000e560: 80ec 0802 0000 030f 0005 0505 0b87 8080 ................ │ │ │ -0000e570: ec08 0105 2000 0001 0b8e 010b 8f01 eee9 .... ........... │ │ │ -0000e580: 9e8e ac89 e492 74b6 fcb4 df92 f3c8 bc9d ......t......... │ │ │ -0000e590: 0100 9001 0000 e5bc 0520 0000 0100 0404 ......... ...... │ │ │ -0000e5a0: 0803 0702 5e02 0000 030f 0005 0505 0b5f ....^.........._ │ │ │ -0000e5b0: 0b91 010b 6109 0601 00b9 d000 9893 a9a6 ....a........... │ │ │ -0000e5c0: bdc2 f7a7 72f4 f8a6 f7a3 b8ba 8f38 0091 ....r........8.. │ │ │ -0000e5d0: 0100 010e 2705 8280 80e6 0800 0001 0003 ....'........... │ │ │ -0000e5e0: 0407 0402 0000 030f 0009 01b9 d000 6465 ..............de │ │ │ -0000e5f0: 6669 6e65 285b 5d2c 2066 756e 6374 696f fine([], functio │ │ │ -0000e600: 6e28 2920 7b0a 7661 7220 6578 706f 7274 n() {.var export │ │ │ -0000e610: 7320 3d20 7b7d 3b0a 2f2f 2043 6f6e 7461 s = {};.// Conta │ │ │ -0000e620: 696e 7320 2a6d 6f73 742a 206f 6620 7468 ins *most* of th │ │ │ -0000e630: 6520 7072 696d 6974 6976 6573 2072 6571 e primitives req │ │ │ -0000e640: 7569 7265 6420 6279 2074 6865 204a 6176 uired by the Jav │ │ │ -0000e650: 6153 6372 6970 7420 6261 636b 656e 642e aScript backend. │ │ │ -0000e660: 0a2f 2f20 2853 6f6d 652c 2065 2e67 2e2c .// (Some, e.g., │ │ │ -0000e670: 2074 686f 7365 2075 7369 6e67 2041 6764 those using Agd │ │ │ -0000e680: 6120 7479 7065 7320 6c69 6b65 204d 6179 a types like May │ │ │ -0000e690: 6265 2c20 6172 6520 6465 6669 6e65 6420 be, are defined │ │ │ -0000e6a0: 696e 2074 6865 6972 0a2f 2f20 7265 7370 in their.// resp │ │ │ -0000e6b0: 6563 7469 7665 2062 7569 6c74 696e 206d ective builtin m │ │ │ -0000e6c0: 6f64 756c 6573 2e29 0a2f 2f0a 2f2f 2050 odules.).//.// P │ │ │ -0000e6d0: 7269 6d69 7469 7665 7320 7072 6566 6978 rimitives prefix │ │ │ -0000e6e0: 6564 2062 7920 2775 2720 6172 6520 756e ed by 'u' are un │ │ │ -0000e6f0: 6375 7272 6965 6420 7661 7269 616e 7473 curried variants │ │ │ -0000e700: 2c20 7768 6963 6820 6172 6520 736f 6d65 , which are some │ │ │ -0000e710: 7469 6d65 730a 2f2f 2065 6d69 7474 6564 times.// emitted │ │ │ -0000e720: 2062 7920 7468 6520 4a61 7661 5363 7269 by the JavaScri │ │ │ -0000e730: 7074 2062 6163 6b65 6e64 2e20 5768 656e pt backend. When │ │ │ -0000e740: 6576 6572 2070 6f73 7369 626c 652c 2074 ever possible, t │ │ │ -0000e750: 6865 2063 7572 7269 6564 2070 7269 6d69 he curried primi │ │ │ -0000e760: 7469 7665 730a 2f2f 2073 686f 756c 6420 tives.// should │ │ │ -0000e770: 6265 2069 6d70 6c65 6d65 6e74 6564 2069 be implemented i │ │ │ -0000e780: 6e20 7465 726d 7320 6f66 2074 6865 2075 n terms of the u │ │ │ -0000e790: 6e63 7572 7269 6564 206f 6e65 732e 0a2f ncurried ones../ │ │ │ -0000e7a0: 2f0a 2f2f 2050 7269 6d69 7469 7665 7320 /.// Primitives │ │ │ -0000e7b0: 7072 6566 6978 6564 2062 7920 275f 2720 prefixed by '_' │ │ │ -0000e7c0: 6172 6520 696e 7465 726e 616c 2076 6172 are internal var │ │ │ -0000e7d0: 6961 6e74 732c 2075 7375 616c 6c79 2066 iants, usually f │ │ │ -0000e7e0: 6f72 2074 686f 7365 2070 7269 6d69 7469 or those primiti │ │ │ -0000e7f0: 7665 730a 2f2f 2077 6869 6368 2072 6574 ves.// which ret │ │ │ -0000e800: 7572 6e20 4167 6461 2074 7970 6573 206c urn Agda types l │ │ │ -0000e810: 696b 6520 4d61 7962 652e 2054 6865 7365 ike Maybe. These │ │ │ -0000e820: 2061 7265 206e 6576 6572 2065 6d69 7474 are never emitt │ │ │ -0000e830: 6564 2062 7920 7468 6520 636f 6d70 696c ed by the compil │ │ │ -0000e840: 6572 2c0a 2f2f 2062 7574 2063 616e 2062 er,.// but can b │ │ │ -0000e850: 6520 7573 6564 2069 6e74 6572 6e61 6c6c e used internall │ │ │ -0000e860: 7920 746f 2064 6566 696e 6520 6f74 6865 y to define othe │ │ │ -0000e870: 7220 7072 6566 6978 6573 2e0a 0a2f 2f20 r prefixes...// │ │ │ -0000e880: 496e 7465 6765 7273 0a0a 2f2f 2070 7269 Integers..// pri │ │ │ -0000e890: 6d49 6e74 6567 6572 4672 6f6d 5374 7269 mIntegerFromStri │ │ │ -0000e8a0: 6e67 203a 2053 7472 696e 6720 2d3e 2049 ng : String -> I │ │ │ -0000e8b0: 6e74 0a65 7870 6f72 7473 2e70 7269 6d49 nt.exports.primI │ │ │ -0000e8c0: 6e74 6567 6572 4672 6f6d 5374 7269 6e67 ntegerFromString │ │ │ -0000e8d0: 203d 2042 6967 496e 743b 0a0a 2f2f 2070 = BigInt;..// p │ │ │ -0000e8e0: 7269 6d53 686f 7749 6e74 6567 6572 203a rimShowInteger : │ │ │ -0000e8f0: 2049 6e74 202d 3e20 5374 7269 6e67 0a65 Int -> String.e │ │ │ -0000e900: 7870 6f72 7473 2e70 7269 6d53 686f 7749 xports.primShowI │ │ │ -0000e910: 6e74 6567 6572 203d 2078 203d 3e20 782e nteger = x => x. │ │ │ -0000e920: 746f 5374 7269 6e67 2829 3b0a 0a2f 2f20 toString();..// │ │ │ -0000e930: 7570 7269 6d49 6e74 6567 6572 506c 7573 uprimIntegerPlus │ │ │ -0000e940: 203a 2028 496e 742c 2049 6e74 2920 2d3e : (Int, Int) -> │ │ │ -0000e950: 2049 6e74 0a65 7870 6f72 7473 2e75 7072 Int.exports.upr │ │ │ -0000e960: 696d 496e 7465 6765 7250 6c75 7320 3d20 imIntegerPlus = │ │ │ -0000e970: 2878 2c20 7929 203d 3e20 7820 2b20 793b (x, y) => x + y; │ │ │ -0000e980: 0a0a 2f2f 2075 7072 696d 496e 7465 6765 ..// uprimIntege │ │ │ -0000e990: 724d 696e 7573 203a 2028 496e 742c 2049 rMinus : (Int, I │ │ │ -0000e9a0: 6e74 2920 2d3e 2049 6e74 0a65 7870 6f72 nt) -> Int.expor │ │ │ -0000e9b0: 7473 2e75 7072 696d 496e 7465 6765 724d ts.uprimIntegerM │ │ │ -0000e9c0: 696e 7573 203d 2028 782c 2079 2920 3d3e inus = (x, y) => │ │ │ -0000e9d0: 2078 202d 2079 3b0a 0a2f 2f20 7570 7269 x - y;..// upri │ │ │ -0000e9e0: 6d49 6e74 6567 6572 4d75 6c74 6970 6c79 mIntegerMultiply │ │ │ -0000e9f0: 203a 2028 496e 742c 2049 6e74 2920 2d3e : (Int, Int) -> │ │ │ -0000ea00: 2049 6e74 0a65 7870 6f72 7473 2e75 7072 Int.exports.upr │ │ │ -0000ea10: 696d 496e 7465 6765 724d 756c 7469 706c imIntegerMultipl │ │ │ -0000ea20: 7920 3d20 2878 2c20 7929 203d 3e20 7820 y = (x, y) => x │ │ │ -0000ea30: 2a20 793b 0a0a 2f2f 2075 7072 696d 496e * y;..// uprimIn │ │ │ -0000ea40: 7465 6765 7252 656d 203a 2028 496e 742c tegerRem : (Int, │ │ │ -0000ea50: 2049 6e74 2920 2d3e 2049 6e74 0a65 7870 Int) -> Int.exp │ │ │ -0000ea60: 6f72 7473 2e75 7072 696d 496e 7465 6765 orts.uprimIntege │ │ │ -0000ea70: 7252 656d 203d 2028 782c 2079 2920 3d3e rRem = (x, y) => │ │ │ -0000ea80: 2078 2025 2079 3b0a 0a2f 2f20 7570 7269 x % y;..// upri │ │ │ -0000ea90: 6d49 6e74 6567 6572 5175 6f74 203a 2028 mIntegerQuot : ( │ │ │ -0000eaa0: 496e 742c 2049 6e74 2920 2d3e 2049 6e74 Int, Int) -> Int │ │ │ -0000eab0: 0a65 7870 6f72 7473 2e75 7072 696d 496e .exports.uprimIn │ │ │ -0000eac0: 7465 6765 7251 756f 7420 3d20 2878 2c20 tegerQuot = (x, │ │ │ -0000ead0: 7929 203d 3e20 7820 2f20 793b 0a0a 2f2f y) => x / y;..// │ │ │ -0000eae0: 2075 7072 696d 496e 7465 6765 7245 7175 uprimIntegerEqu │ │ │ -0000eaf0: 616c 203a 2028 496e 742c 2049 6e74 2920 al : (Int, Int) │ │ │ -0000eb00: 2d3e 2042 6f6f 6c0a 6578 706f 7274 732e -> Bool.exports. │ │ │ -0000eb10: 7570 7269 6d49 6e74 6567 6572 4571 7561 uprimIntegerEqua │ │ │ -0000eb20: 6c20 3d20 2878 2c20 7929 203d 3e20 7820 l = (x, y) => x │ │ │ -0000eb30: 3d3d 3d20 793b 0a0a 2f2f 2075 7072 696d === y;..// uprim │ │ │ -0000eb40: 496e 7465 6765 7247 7265 6174 6572 4f72 IntegerGreaterOr │ │ │ -0000eb50: 4571 7561 6c54 6861 6e20 3a20 2849 6e74 EqualThan : (Int │ │ │ -0000eb60: 2c20 496e 7429 202d 3e20 426f 6f6c 0a65 , Int) -> Bool.e │ │ │ -0000eb70: 7870 6f72 7473 2e75 7072 696d 496e 7465 xports.uprimInte │ │ │ -0000eb80: 6765 7247 7265 6174 6572 4f72 4571 7561 gerGreaterOrEqua │ │ │ -0000eb90: 6c54 6861 6e20 3d20 2878 2c20 7929 203d lThan = (x, y) = │ │ │ -0000eba0: 3e20 7820 3e3d 2079 3b0a 0a2f 2f20 7570 > x >= y;..// up │ │ │ -0000ebb0: 7269 6d49 6e74 6567 6572 4c65 7373 5468 rimIntegerLessTh │ │ │ -0000ebc0: 616e 203a 2028 496e 742c 2049 6e74 2920 an : (Int, Int) │ │ │ -0000ebd0: 2d3e 2042 6f6f 6c0a 6578 706f 7274 732e -> Bool.exports. │ │ │ -0000ebe0: 7570 7269 6d49 6e74 6567 6572 4c65 7373 uprimIntegerLess │ │ │ -0000ebf0: 5468 616e 203d 2028 782c 2079 2920 3d3e Than = (x, y) => │ │ │ -0000ec00: 2078 203c 2079 3b0a 0a2f 2f20 576f 7264 x < y;..// Word │ │ │ -0000ec10: 730a 636f 6e73 7420 574f 5244 3634 5f4d s.const WORD64_M │ │ │ -0000ec20: 4158 5f56 414c 5545 203d 2031 3834 3436 AX_VALUE = 18446 │ │ │ -0000ec30: 3734 3430 3733 3730 3935 3532 3030 306e 744073709552000n │ │ │ -0000ec40: 3b0a 0a2f 2f20 7072 696d 576f 7264 3634 ;..// primWord64 │ │ │ -0000ec50: 546f 4e61 7420 3a20 576f 7264 3634 202d ToNat : Word64 - │ │ │ -0000ec60: 3e20 4e61 740a 6578 706f 7274 732e 7072 > Nat.exports.pr │ │ │ -0000ec70: 696d 576f 7264 3634 546f 4e61 7420 3d20 imWord64ToNat = │ │ │ -0000ec80: 7820 3d3e 2078 3b0a 0a2f 2f20 7072 696d x => x;..// prim │ │ │ -0000ec90: 576f 7264 3634 4672 6f6d 4e61 7420 3a20 Word64FromNat : │ │ │ -0000eca0: 4e61 7420 2d3e 2057 6f72 6436 340a 6578 Nat -> Word64.ex │ │ │ -0000ecb0: 706f 7274 732e 7072 696d 576f 7264 3634 ports.primWord64 │ │ │ -0000ecc0: 4672 6f6d 4e61 7420 3d20 7820 3d3e 2078 FromNat = x => x │ │ │ -0000ecd0: 2025 2057 4f52 4436 345f 4d41 585f 5641 % WORD64_MAX_VA │ │ │ -0000ece0: 4c55 453b 0a0a 2f2f 2075 7072 696d 576f LUE;..// uprimWo │ │ │ -0000ecf0: 7264 3634 506c 7573 203a 2028 576f 7264 rd64Plus : (Word │ │ │ -0000ed00: 3634 2c20 576f 7264 3634 2920 2d3e 2057 64, Word64) -> W │ │ │ -0000ed10: 6f72 6436 340a 6578 706f 7274 732e 7570 ord64.exports.up │ │ │ -0000ed20: 7269 6d57 6f72 6436 3450 6c75 7320 3d20 rimWord64Plus = │ │ │ -0000ed30: 2878 2c20 7929 203d 3e20 2878 202b 2079 (x, y) => (x + y │ │ │ -0000ed40: 2920 2520 574f 5244 3634 5f4d 4158 5f56 ) % WORD64_MAX_V │ │ │ -0000ed50: 414c 5545 3b0a 0a2f 2f20 7570 7269 6d57 ALUE;..// uprimW │ │ │ -0000ed60: 6f72 6436 344d 696e 7573 203a 2028 576f ord64Minus : (Wo │ │ │ -0000ed70: 7264 3634 2c20 576f 7264 3634 2920 2d3e rd64, Word64) -> │ │ │ -0000ed80: 2057 6f72 6436 340a 6578 706f 7274 732e Word64.exports. │ │ │ -0000ed90: 7570 7269 6d57 6f72 6436 344d 696e 7573 uprimWord64Minus │ │ │ -0000eda0: 203d 2028 782c 2079 2920 3d3e 2028 7820 = (x, y) => (x │ │ │ -0000edb0: 2b20 574f 5244 3634 5f4d 4158 5f56 414c + WORD64_MAX_VAL │ │ │ -0000edc0: 5545 202d 2079 2920 2520 574f 5244 3634 UE - y) % WORD64 │ │ │ -0000edd0: 5f4d 4158 5f56 414c 5545 3b0a 0a2f 2f20 _MAX_VALUE;..// │ │ │ -0000ede0: 7570 7269 6d57 6f72 6436 344d 756c 7469 uprimWord64Multi │ │ │ -0000edf0: 706c 7920 3a20 2857 6f72 6436 342c 2057 ply : (Word64, W │ │ │ -0000ee00: 6f72 6436 3429 202d 3e20 576f 7264 3634 ord64) -> Word64 │ │ │ -0000ee10: 0a65 7870 6f72 7473 2e75 7072 696d 576f .exports.uprimWo │ │ │ -0000ee20: 7264 3634 4d75 6c74 6970 6c79 203d 2028 rd64Multiply = ( │ │ │ -0000ee30: 782c 2079 2920 3d3e 2028 7820 2a20 7929 x, y) => (x * y) │ │ │ -0000ee40: 2025 2057 4f52 4436 345f 4d41 585f 5641 % WORD64_MAX_VA │ │ │ -0000ee50: 4c55 453b 0a0a 2f2f 204e 6174 7572 616c LUE;..// Natural │ │ │ -0000ee60: 206e 756d 6265 7273 0a0a 2f2f 2070 7269 numbers..// pri │ │ │ -0000ee70: 6d4e 6174 4d69 6e75 7320 3a20 4e61 7420 mNatMinus : Nat │ │ │ -0000ee80: 2d3e 204e 6174 202d 3e20 4e61 740a 6578 -> Nat -> Nat.ex │ │ │ -0000ee90: 706f 7274 732e 7072 696d 4e61 744d 696e ports.primNatMin │ │ │ -0000eea0: 7573 203d 2078 203d 3e20 7920 3d3e 207b us = x => y => { │ │ │ -0000eeb0: 0a20 2063 6f6e 7374 207a 203d 2078 202d . const z = x - │ │ │ -0000eec0: 2079 3b0a 2020 7265 7475 726e 207a 203c y;. return z < │ │ │ -0000eed0: 2030 6e20 3f20 306e 203a 207a 3b0a 7d3b 0n ? 0n : z;.}; │ │ │ -0000eee0: 0a0a 2f2f 2046 6c6f 6174 696e 672d 706f ..// Floating-po │ │ │ -0000eef0: 696e 7420 6e75 6d62 6572 730a 7661 7220 int numbers.var │ │ │ -0000ef00: 5f70 7269 6d46 6c6f 6174 4772 6561 7465 _primFloatGreate │ │ │ -0000ef10: 7374 436f 6d6d 6f6e 4661 6374 6f72 203d stCommonFactor = │ │ │ -0000ef20: 2066 756e 6374 696f 6e28 782c 2079 2920 function(x, y) │ │ │ -0000ef30: 7b0a 2020 2020 7661 7220 7a3b 0a20 2020 {. var z;. │ │ │ -0000ef40: 2078 203d 204d 6174 682e 6162 7328 7829 x = Math.abs(x) │ │ │ -0000ef50: 3b0a 2020 2020 7920 3d20 4d61 7468 2e61 ;. y = Math.a │ │ │ -0000ef60: 6273 2879 293b 0a20 2020 2077 6869 6c65 bs(y);. while │ │ │ -0000ef70: 2028 7929 207b 0a20 2020 2020 2020 207a (y) {. z │ │ │ -0000ef80: 203d 2078 2025 2079 3b0a 2020 2020 2020 = x % y;. │ │ │ -0000ef90: 2020 7820 3d20 793b 0a20 2020 2020 2020 x = y;. │ │ │ -0000efa0: 2079 203d 207a 3b0a 2020 2020 7d0a 2020 y = z;. }. │ │ │ -0000efb0: 2020 7265 7475 726e 2078 3b0a 7d3b 0a65 return x;.};.e │ │ │ -0000efc0: 7870 6f72 7473 2e5f 7072 696d 466c 6f61 xports._primFloa │ │ │ -0000efd0: 7452 6f75 6e64 203d 2066 756e 6374 696f tRound = functio │ │ │ -0000efe0: 6e28 7829 207b 0a20 2020 2069 6620 2865 n(x) {. if (e │ │ │ -0000eff0: 7870 6f72 7473 2e70 7269 6d46 6c6f 6174 xports.primFloat │ │ │ -0000f000: 4973 4e61 4e28 7829 207c 7c20 6578 706f IsNaN(x) || expo │ │ │ -0000f010: 7274 732e 7072 696d 466c 6f61 7449 7349 rts.primFloatIsI │ │ │ -0000f020: 6e66 696e 6974 6528 7829 2920 7b0a 2020 nfinite(x)) {. │ │ │ -0000f030: 2020 2020 2020 7265 7475 726e 206e 756c return nul │ │ │ -0000f040: 6c3b 0a20 2020 207d 0a20 2020 2065 6c73 l;. }. els │ │ │ -0000f050: 6520 7b0a 2020 2020 2020 2020 7265 7475 e {. retu │ │ │ -0000f060: 726e 2042 6967 496e 7428 4d61 7468 2e72 rn BigInt(Math.r │ │ │ -0000f070: 6f75 6e64 2878 2929 3b0a 2020 2020 7d0a ound(x));. }. │ │ │ -0000f080: 7d3b 0a65 7870 6f72 7473 2e5f 7072 696d };.exports._prim │ │ │ -0000f090: 466c 6f61 7446 6c6f 6f72 203d 2066 756e FloatFloor = fun │ │ │ -0000f0a0: 6374 696f 6e28 7829 207b 0a20 2020 2069 ction(x) {. i │ │ │ -0000f0b0: 6620 2865 7870 6f72 7473 2e70 7269 6d46 f (exports.primF │ │ │ -0000f0c0: 6c6f 6174 4973 4e61 4e28 7829 207c 7c20 loatIsNaN(x) || │ │ │ -0000f0d0: 6578 706f 7274 732e 7072 696d 466c 6f61 exports.primFloa │ │ │ -0000f0e0: 7449 7349 6e66 696e 6974 6528 7829 2920 tIsInfinite(x)) │ │ │ -0000f0f0: 7b0a 2020 2020 2020 2020 7265 7475 726e {. return │ │ │ -0000f100: 206e 756c 6c3b 0a20 2020 207d 0a20 2020 null;. }. │ │ │ -0000f110: 2065 6c73 6520 7b0a 2020 2020 2020 2020 else {. │ │ │ -0000f120: 7265 7475 726e 2042 6967 496e 7428 4d61 return BigInt(Ma │ │ │ -0000f130: 7468 2e66 6c6f 6f72 2878 2929 3b0a 2020 th.floor(x));. │ │ │ -0000f140: 2020 7d0a 7d3b 0a65 7870 6f72 7473 2e5f }.};.exports._ │ │ │ -0000f150: 7072 696d 466c 6f61 7443 6569 6c69 6e67 primFloatCeiling │ │ │ -0000f160: 203d 2066 756e 6374 696f 6e28 7829 207b = function(x) { │ │ │ -0000f170: 0a20 2020 2069 6620 2865 7870 6f72 7473 . if (exports │ │ │ -0000f180: 2e70 7269 6d46 6c6f 6174 4973 4e61 4e28 .primFloatIsNaN( │ │ │ -0000f190: 7829 207c 7c20 6578 706f 7274 732e 7072 x) || exports.pr │ │ │ -0000f1a0: 696d 466c 6f61 7449 7349 6e66 696e 6974 imFloatIsInfinit │ │ │ -0000f1b0: 6528 7829 2920 7b0a 2020 2020 2020 2020 e(x)) {. │ │ │ -0000f1c0: 7265 7475 726e 206e 756c 6c3b 0a20 2020 return null;. │ │ │ -0000f1d0: 207d 0a20 2020 2065 6c73 6520 7b0a 2020 }. else {. │ │ │ -0000f1e0: 2020 2020 2020 7265 7475 726e 2042 6967 return Big │ │ │ -0000f1f0: 496e 7428 4d61 7468 2e63 6569 6c28 7829 Int(Math.ceil(x) │ │ │ -0000f200: 293b 0a20 2020 207d 0a7d 3b0a 6578 706f );. }.};.expo │ │ │ -0000f210: 7274 732e 5f70 7269 6d46 6c6f 6174 546f rts._primFloatTo │ │ │ -0000f220: 5261 7469 6f20 3d20 6675 6e63 7469 6f6e Ratio = function │ │ │ -0000f230: 2878 2920 7b0a 2020 2020 6966 2028 6578 (x) {. if (ex │ │ │ -0000f240: 706f 7274 732e 7072 696d 466c 6f61 7449 ports.primFloatI │ │ │ -0000f250: 734e 614e 2878 2929 207b 0a20 2020 2020 sNaN(x)) {. │ │ │ -0000f260: 2020 2072 6574 7572 6e20 7b6e 756d 6572 return {numer │ │ │ -0000f270: 6174 6f72 3a20 4269 6749 6e74 2830 292c ator: BigInt(0), │ │ │ -0000f280: 2064 656e 6f6d 696e 6174 6f72 3a20 4269 denominator: Bi │ │ │ -0000f290: 6749 6e74 2830 297d 3b0a 2020 2020 7d0a gInt(0)};. }. │ │ │ -0000f2a0: 2020 2020 656c 7365 2069 6620 2878 203c else if (x < │ │ │ -0000f2b0: 2030 2e30 2026 2620 6578 706f 7274 732e 0.0 && exports. │ │ │ -0000f2c0: 7072 696d 466c 6f61 7449 7349 6e66 696e primFloatIsInfin │ │ │ -0000f2d0: 6974 6528 7829 2920 7b0a 2020 2020 2020 ite(x)) {. │ │ │ -0000f2e0: 2020 7265 7475 726e 207b 6e75 6d65 7261 return {numera │ │ │ -0000f2f0: 746f 723a 2042 6967 496e 7428 2d31 292c tor: BigInt(-1), │ │ │ -0000f300: 2064 656e 6f6d 696e 6174 6f72 3a20 4269 denominator: Bi │ │ │ -0000f310: 6749 6e74 2830 297d 3b0a 2020 2020 7d0a gInt(0)};. }. │ │ │ -0000f320: 2020 2020 656c 7365 2069 6620 2878 203e else if (x > │ │ │ -0000f330: 2030 2e30 2026 2620 6578 706f 7274 732e 0.0 && exports. │ │ │ -0000f340: 7072 696d 466c 6f61 7449 7349 6e66 696e primFloatIsInfin │ │ │ -0000f350: 6974 6528 7829 2920 7b0a 2020 2020 2020 ite(x)) {. │ │ │ -0000f360: 2020 7265 7475 726e 207b 6e75 6d65 7261 return {numera │ │ │ -0000f370: 746f 723a 2042 6967 496e 7428 3129 2c20 tor: BigInt(1), │ │ │ -0000f380: 6465 6e6f 6d69 6e61 746f 723a 2042 6967 denominator: Big │ │ │ -0000f390: 496e 7428 3029 7d3b 0a20 2020 207d 0a20 Int(0)};. }. │ │ │ -0000f3a0: 2020 2065 6c73 6520 6966 2028 6578 706f else if (expo │ │ │ -0000f3b0: 7274 732e 7072 696d 466c 6f61 7449 734e rts.primFloatIsN │ │ │ -0000f3c0: 6567 6174 6976 655a 6572 6f28 7829 2920 egativeZero(x)) │ │ │ -0000f3d0: 7b0a 2020 2020 2020 2020 7265 7475 726e {. return │ │ │ -0000f3e0: 207b 6e75 6d65 7261 746f 723a 2042 6967 {numerator: Big │ │ │ -0000f3f0: 496e 7428 3029 2c20 6465 6e6f 6d69 6e61 Int(0), denomina │ │ │ -0000f400: 746f 723a 2042 6967 496e 7428 3129 7d3b tor: BigInt(1)}; │ │ │ -0000f410: 0a20 2020 207d 0a20 2020 2065 6c73 6520 . }. else │ │ │ -0000f420: 6966 2028 7820 3d3d 2030 2e30 2920 7b0a if (x == 0.0) {. │ │ │ -0000f430: 2020 2020 2020 2020 7265 7475 726e 207b return { │ │ │ -0000f440: 6e75 6d65 7261 746f 723a 2042 6967 496e numerator: BigIn │ │ │ -0000f450: 7428 3029 2c20 6465 6e6f 6d69 6e61 746f t(0), denominato │ │ │ -0000f460: 723a 2042 6967 496e 7428 3129 7d3b 0a20 r: BigInt(1)};. │ │ │ -0000f470: 2020 207d 0a20 2020 2065 6c73 6520 7b0a }. else {. │ │ │ -0000f480: 2020 2020 2020 2020 7661 7220 6e75 6d65 var nume │ │ │ -0000f490: 7261 746f 7220 3d20 4d61 7468 2e72 6f75 rator = Math.rou │ │ │ -0000f4a0: 6e64 2878 2a31 6539 293b 0a20 2020 2020 nd(x*1e9);. │ │ │ -0000f4b0: 2020 2076 6172 2064 656e 6f6d 696e 6174 var denominat │ │ │ -0000f4c0: 6f72 203d 2031 6539 3b0a 2020 2020 2020 or = 1e9;. │ │ │ -0000f4d0: 2020 7661 7220 6763 6620 3d20 5f70 7269 var gcf = _pri │ │ │ -0000f4e0: 6d46 6c6f 6174 4772 6561 7465 7374 436f mFloatGreatestCo │ │ │ -0000f4f0: 6d6d 6f6e 4661 6374 6f72 286e 756d 6572 mmonFactor(numer │ │ │ -0000f500: 6174 6f72 2c20 6465 6e6f 6d69 6e61 746f ator, denominato │ │ │ -0000f510: 7229 3b0a 2020 2020 2020 2020 6e75 6d65 r);. nume │ │ │ -0000f520: 7261 746f 7220 2f3d 2067 6366 3b0a 2020 rator /= gcf;. │ │ │ -0000f530: 2020 2020 2020 6465 6e6f 6d69 6e61 746f denominato │ │ │ -0000f540: 7220 2f3d 2067 6366 3b0a 2020 2020 2020 r /= gcf;. │ │ │ -0000f550: 2020 7265 7475 726e 207b 6e75 6d65 7261 return {numera │ │ │ -0000f560: 746f 723a 2042 6967 496e 7428 6e75 6d65 tor: BigInt(nume │ │ │ -0000f570: 7261 746f 7229 2c20 6465 6e6f 6d69 6e61 rator), denomina │ │ │ -0000f580: 746f 723a 2042 6967 496e 7428 6465 6e6f tor: BigInt(deno │ │ │ -0000f590: 6d69 6e61 746f 7229 7d3b 0a20 2020 207d minator)};. } │ │ │ -0000f5a0: 0a7d 3b0a 6578 706f 7274 732e 5f70 7269 .};.exports._pri │ │ │ -0000f5b0: 6d46 6c6f 6174 4465 636f 6465 203d 2066 mFloatDecode = f │ │ │ -0000f5c0: 756e 6374 696f 6e28 7829 207b 0a20 2020 unction(x) {. │ │ │ -0000f5d0: 2069 6620 2865 7870 6f72 7473 2e70 7269 if (exports.pri │ │ │ -0000f5e0: 6d46 6c6f 6174 4973 4e61 4e28 7829 2920 mFloatIsNaN(x)) │ │ │ -0000f5f0: 7b0a 2020 2020 2020 2020 7265 7475 726e {. return │ │ │ -0000f600: 206e 756c 6c3b 0a20 2020 207d 0a20 2020 null;. }. │ │ │ -0000f610: 2065 6c73 6520 6966 2028 7820 3c20 302e else if (x < 0. │ │ │ -0000f620: 3020 2626 2065 7870 6f72 7473 2e70 7269 0 && exports.pri │ │ │ -0000f630: 6d46 6c6f 6174 4973 496e 6669 6e69 7465 mFloatIsInfinite │ │ │ -0000f640: 2878 2929 207b 0a20 2020 2020 2020 2072 (x)) {. r │ │ │ -0000f650: 6574 7572 6e20 6e75 6c6c 3b0a 2020 2020 eturn null;. │ │ │ -0000f660: 7d0a 2020 2020 656c 7365 2069 6620 2878 }. else if (x │ │ │ -0000f670: 203e 2030 2e30 2026 2620 6578 706f 7274 > 0.0 && export │ │ │ -0000f680: 732e 7072 696d 466c 6f61 7449 7349 6e66 s.primFloatIsInf │ │ │ -0000f690: 696e 6974 6528 7829 2920 7b0a 2020 2020 inite(x)) {. │ │ │ -0000f6a0: 2020 2020 7265 7475 726e 206e 756c 6c3b return null; │ │ │ -0000f6b0: 0a20 2020 207d 0a20 2020 2065 6c73 6520 . }. else │ │ │ -0000f6c0: 7b0a 2020 2020 2020 2020 7661 7220 6d61 {. var ma │ │ │ -0000f6d0: 6e74 6973 7361 203d 2078 2c20 6578 706f ntissa = x, expo │ │ │ -0000f6e0: 6e65 6e74 203d 2030 3b0a 2020 2020 2020 nent = 0;. │ │ │ -0000f6f0: 2020 7768 696c 6520 2821 4e75 6d62 6572 while (!Number │ │ │ -0000f700: 2e69 7349 6e74 6567 6572 286d 616e 7469 .isInteger(manti │ │ │ -0000f710: 7373 6129 2920 7b0a 2020 2020 2020 2020 ssa)) {. │ │ │ -0000f720: 2020 2020 6d61 6e74 6973 7361 202a 3d20 mantissa *= │ │ │ -0000f730: 322e 303b 0a20 2020 2020 2020 2020 2020 2.0;. │ │ │ -0000f740: 2065 7870 6f6e 656e 7420 2d3d 2031 3b0a exponent -= 1;. │ │ │ -0000f750: 2020 2020 2020 2020 7d3b 0a20 2020 2020 };. │ │ │ -0000f760: 2020 2077 6869 6c65 2028 6d61 6e74 6973 while (mantis │ │ │ -0000f770: 7361 2025 2032 2e30 203d 3d3d 2030 2920 sa % 2.0 === 0) │ │ │ -0000f780: 7b0a 2020 2020 2020 2020 2020 2020 6d61 {. ma │ │ │ -0000f790: 6e74 6973 7361 202f 3d20 322e 303b 0a20 ntissa /= 2.0;. │ │ │ -0000f7a0: 2020 2020 2020 2020 2020 2065 7870 6f6e expon │ │ │ -0000f7b0: 656e 7420 2b3d 2031 3b0a 2020 2020 2020 ent += 1;. │ │ │ -0000f7c0: 2020 7d0a 2020 2020 2020 2020 7265 7475 }. retu │ │ │ -0000f7d0: 726e 207b 6d61 6e74 6973 7361 3a20 4269 rn {mantissa: Bi │ │ │ -0000f7e0: 6749 6e74 286d 616e 7469 7373 6129 2c20 gInt(mantissa), │ │ │ -0000f7f0: 6578 706f 6e65 6e74 3a20 4269 6749 6e74 exponent: BigInt │ │ │ -0000f800: 2865 7870 6f6e 656e 7429 7d3b 0a20 2020 (exponent)};. │ │ │ -0000f810: 207d 0a7d 3b0a 6578 706f 7274 732e 7570 }.};.exports.up │ │ │ -0000f820: 7269 6d46 6c6f 6174 4571 7561 6c69 7479 rimFloatEquality │ │ │ -0000f830: 203d 2066 756e 6374 696f 6e28 782c 2079 = function(x, y │ │ │ -0000f840: 2920 7b0a 2020 2020 7265 7475 726e 2078 ) {. return x │ │ │ -0000f850: 203d 3d3d 2079 3b0a 7d3b 0a65 7870 6f72 === y;.};.expor │ │ │ -0000f860: 7473 2e70 7269 6d46 6c6f 6174 4571 7561 ts.primFloatEqua │ │ │ -0000f870: 6c69 7479 203d 2066 756e 6374 696f 6e28 lity = function( │ │ │ -0000f880: 7829 207b 0a20 2020 2072 6574 7572 6e20 x) {. return │ │ │ -0000f890: 6675 6e63 7469 6f6e 2879 2920 7b0a 2020 function(y) {. │ │ │ -0000f8a0: 2020 2020 2020 7265 7475 726e 2065 7870 return exp │ │ │ -0000f8b0: 6f72 7473 2e75 7072 696d 466c 6f61 7445 orts.uprimFloatE │ │ │ -0000f8c0: 7175 616c 6974 7928 782c 2079 293b 0a20 quality(x, y);. │ │ │ -0000f8d0: 2020 207d 3b0a 7d3b 0a65 7870 6f72 7473 };.};.exports │ │ │ -0000f8e0: 2e70 7269 6d46 6c6f 6174 496e 6571 7561 .primFloatInequa │ │ │ -0000f8f0: 6c69 7479 203d 2066 756e 6374 696f 6e28 lity = function( │ │ │ -0000f900: 7829 207b 0a20 2020 2072 6574 7572 6e20 x) {. return │ │ │ -0000f910: 6675 6e63 7469 6f6e 2879 2920 7b0a 2020 function(y) {. │ │ │ -0000f920: 2020 2020 2020 7265 7475 726e 2078 203c return x < │ │ │ -0000f930: 3d20 793b 0a20 2020 207d 3b0a 7d3b 0a65 = y;. };.};.e │ │ │ -0000f940: 7870 6f72 7473 2e70 7269 6d46 6c6f 6174 xports.primFloat │ │ │ -0000f950: 4c65 7373 203d 2066 756e 6374 696f 6e28 Less = function( │ │ │ -0000f960: 7829 207b 0a20 2020 2072 6574 7572 6e20 x) {. return │ │ │ -0000f970: 6675 6e63 7469 6f6e 2879 2920 7b0a 2020 function(y) {. │ │ │ -0000f980: 2020 2020 2020 7265 7475 726e 2078 203c return x < │ │ │ -0000f990: 2079 3b0a 2020 2020 7d3b 0a7d 3b0a 6578 y;. };.};.ex │ │ │ -0000f9a0: 706f 7274 732e 7072 696d 466c 6f61 7449 ports.primFloatI │ │ │ -0000f9b0: 7349 6e66 696e 6974 6520 3d20 6675 6e63 sInfinite = func │ │ │ -0000f9c0: 7469 6f6e 2878 2920 7b0a 2020 2020 7265 tion(x) {. re │ │ │ -0000f9d0: 7475 726e 2021 4e75 6d62 6572 2e69 734e turn !Number.isN │ │ │ -0000f9e0: 614e 2878 2920 2626 2021 4e75 6d62 6572 aN(x) && !Number │ │ │ -0000f9f0: 2e69 7346 696e 6974 6528 7829 3b0a 7d3b .isFinite(x);.}; │ │ │ -0000fa00: 0a65 7870 6f72 7473 2e70 7269 6d46 6c6f .exports.primFlo │ │ │ -0000fa10: 6174 4973 4e61 4e20 3d20 6675 6e63 7469 atIsNaN = functi │ │ │ -0000fa20: 6f6e 2878 2920 7b0a 2020 2020 7265 7475 on(x) {. retu │ │ │ -0000fa30: 726e 204e 756d 6265 722e 6973 4e61 4e28 rn Number.isNaN( │ │ │ -0000fa40: 7829 3b0a 7d3b 0a65 7870 6f72 7473 2e70 x);.};.exports.p │ │ │ -0000fa50: 7269 6d46 6c6f 6174 4973 4e65 6761 7469 rimFloatIsNegati │ │ │ -0000fa60: 7665 5a65 726f 203d 2066 756e 6374 696f veZero = functio │ │ │ -0000fa70: 6e28 7829 207b 0a20 2020 2072 6574 7572 n(x) {. retur │ │ │ -0000fa80: 6e20 4f62 6a65 6374 2e69 7328 782c 2d30 n Object.is(x,-0 │ │ │ -0000fa90: 2e30 293b 0a7d 3b0a 6578 706f 7274 732e .0);.};.exports. │ │ │ -0000faa0: 7072 696d 466c 6f61 7449 7353 6166 6549 primFloatIsSafeI │ │ │ -0000fab0: 6e74 6567 6572 203d 2066 756e 6374 696f nteger = functio │ │ │ -0000fac0: 6e28 7829 207b 0a20 2020 2072 6574 7572 n(x) {. retur │ │ │ -0000fad0: 6e20 4e75 6d62 6572 2e69 7353 6166 6549 n Number.isSafeI │ │ │ -0000fae0: 6e74 6567 6572 2878 293b 0a7d 3b0a 0a0a nteger(x);.};... │ │ │ -0000faf0: 2f2f 2054 6865 7365 2057 4f52 4436 3420 // These WORD64 │ │ │ -0000fb00: 7661 6c75 6573 2077 6572 6520 6f62 7461 values were obta │ │ │ -0000fb10: 696e 6564 2076 6961 2060 6361 7374 446f ined via `castDo │ │ │ -0000fb20: 7562 6c65 546f 576f 7264 3634 6020 696e ubleToWord64` in │ │ │ -0000fb30: 2048 6173 6b65 6c6c 3a0a 636f 6e73 7420 Haskell:.const │ │ │ -0000fb40: 574f 5244 3634 5f4e 414e 2020 2020 2020 WORD64_NAN │ │ │ -0000fb50: 3d20 3138 3434 3434 3932 3237 3338 3935 = 18444492273895 │ │ │ -0000fb60: 3836 3633 3638 6e3b 0a63 6f6e 7374 2057 866368n;.const W │ │ │ -0000fb70: 4f52 4436 345f 504f 535f 494e 4620 203d ORD64_POS_INF = │ │ │ -0000fb80: 2039 3231 3838 3638 3433 3732 3237 3430 921886843722740 │ │ │ -0000fb90: 3533 3132 6e3b 0a63 6f6e 7374 2057 4f52 5312n;.const WOR │ │ │ -0000fba0: 4436 345f 4e45 475f 494e 4620 203d 2031 D64_NEG_INF = 1 │ │ │ -0000fbb0: 3834 3432 3234 3034 3734 3038 3231 3831 8442240474082181 │ │ │ -0000fbc0: 3132 306e 3b0a 636f 6e73 7420 574f 5244 120n;.const WORD │ │ │ -0000fbd0: 3634 5f50 4f53 5f5a 4552 4f20 3d20 306e 64_POS_ZERO = 0n │ │ │ -0000fbe0: 3b0a 636f 6e73 7420 574f 5244 3634 5f4e ;.const WORD64_N │ │ │ -0000fbf0: 4547 5f5a 4552 4f20 3d20 3932 3233 3337 EG_ZERO = 922337 │ │ │ -0000fc00: 3230 3336 3835 3437 3735 3830 386e 3b0a 2036854775808n;. │ │ │ -0000fc10: 0a65 7870 6f72 7473 2e70 7269 6d46 6c6f .exports.primFlo │ │ │ -0000fc20: 6174 546f 576f 7264 3634 203d 2066 756e atToWord64 = fun │ │ │ -0000fc30: 6374 696f 6e28 7829 207b 0a20 2020 2069 ction(x) {. i │ │ │ -0000fc40: 6620 2865 7870 6f72 7473 2e70 7269 6d46 f (exports.primF │ │ │ -0000fc50: 6c6f 6174 4973 4e61 4e28 7829 2920 7b0a loatIsNaN(x)) {. │ │ │ -0000fc60: 2020 2020 2020 2020 7265 7475 726e 2057 return W │ │ │ -0000fc70: 4f52 4436 345f 4e41 4e3b 0a20 2020 207d ORD64_NAN;. } │ │ │ -0000fc80: 0a20 2020 2065 6c73 6520 6966 2028 7820 . else if (x │ │ │ -0000fc90: 3c20 302e 3020 2626 2065 7870 6f72 7473 < 0.0 && exports │ │ │ -0000fca0: 2e70 7269 6d46 6c6f 6174 4973 496e 6669 .primFloatIsInfi │ │ │ -0000fcb0: 6e69 7465 2878 2929 207b 0a20 2020 2020 nite(x)) {. │ │ │ -0000fcc0: 2020 2072 6574 7572 6e20 574f 5244 3634 return WORD64 │ │ │ -0000fcd0: 5f4e 4547 5f49 4e46 3b0a 2020 2020 7d0a _NEG_INF;. }. │ │ │ -0000fce0: 2020 2020 656c 7365 2069 6620 2878 203e else if (x > │ │ │ -0000fcf0: 2030 2e30 2026 2620 6578 706f 7274 732e 0.0 && exports. │ │ │ -0000fd00: 7072 696d 466c 6f61 7449 7349 6e66 696e primFloatIsInfin │ │ │ -0000fd10: 6974 6528 7829 2920 7b0a 2020 2020 2020 ite(x)) {. │ │ │ -0000fd20: 2020 7265 7475 726e 2057 4f52 4436 345f return WORD64_ │ │ │ -0000fd30: 504f 535f 494e 463b 0a20 2020 207d 0a20 POS_INF;. }. │ │ │ -0000fd40: 2020 2065 6c73 6520 6966 2028 6578 706f else if (expo │ │ │ -0000fd50: 7274 732e 7072 696d 466c 6f61 7449 734e rts.primFloatIsN │ │ │ -0000fd60: 6567 6174 6976 655a 6572 6f28 7829 2920 egativeZero(x)) │ │ │ -0000fd70: 7b0a 2020 2020 2020 2020 7265 7475 726e {. return │ │ │ -0000fd80: 2057 4f52 4436 345f 4e45 475f 5a45 524f WORD64_NEG_ZERO │ │ │ -0000fd90: 3b0a 2020 2020 7d0a 2020 2020 656c 7365 ;. }. else │ │ │ -0000fda0: 2069 6620 2878 203d 3d20 302e 3029 207b if (x == 0.0) { │ │ │ -0000fdb0: 0a20 2020 2020 2020 2072 6574 7572 6e20 . return │ │ │ -0000fdc0: 574f 5244 3634 5f50 4f53 5f5a 4552 4f3b WORD64_POS_ZERO; │ │ │ -0000fdd0: 0a20 2020 207d 0a20 2020 2065 6c73 6520 . }. else │ │ │ -0000fde0: 7b0a 2020 2020 2020 2020 7661 7220 6d61 {. var ma │ │ │ -0000fdf0: 6e74 6973 7361 2c20 6578 706f 6e65 6e74 ntissa, exponent │ │ │ -0000fe00: 3b0a 2020 2020 2020 2020 287b 6d61 6e74 ;. ({mant │ │ │ -0000fe10: 6973 7361 2c20 6578 706f 6e65 6e74 7d20 issa, exponent} │ │ │ -0000fe20: 3d20 6578 706f 7274 732e 5f70 7269 6d46 = exports._primF │ │ │ -0000fe30: 6c6f 6174 4465 636f 6465 2878 2929 3b0a loatDecode(x));. │ │ │ -0000fe40: 2020 2020 2020 2020 7661 7220 7369 676e var sign │ │ │ -0000fe50: 203d 204d 6174 682e 7369 676e 286d 616e = Math.sign(man │ │ │ -0000fe60: 7469 7373 6129 3b0a 2020 2020 2020 2020 tissa);. │ │ │ -0000fe70: 636f 6e73 6f6c 652e 6c6f 6728 6d61 6e74 console.log(mant │ │ │ -0000fe80: 6973 7361 293b 0a20 2020 2020 2020 206d issa);. m │ │ │ -0000fe90: 616e 7469 7373 6120 2a3d 2073 6967 6e3b antissa *= sign; │ │ │ -0000fea0: 0a20 2020 2020 2020 2073 6967 6e20 3d20 . sign = │ │ │ -0000feb0: 2873 6967 6e20 3d3d 3d20 2d31 203f 2022 (sign === -1 ? " │ │ │ -0000fec0: 3122 203a 2022 3022 293b 0a20 2020 2020 1" : "0");. │ │ │ -0000fed0: 2020 206d 616e 7469 7373 6120 3d20 286d mantissa = (m │ │ │ -0000fee0: 616e 7469 7373 612e 746f 5374 7269 6e67 antissa.toString │ │ │ -0000fef0: 2832 2929 2e70 6164 5374 6172 7428 3131 (2)).padStart(11 │ │ │ -0000ff00: 2c20 2230 2229 3b0a 2020 2020 2020 2020 , "0");. │ │ │ -0000ff10: 6578 706f 6e65 6e74 203d 2028 6d61 6e74 exponent = (mant │ │ │ -0000ff20: 6973 7361 2e74 6f53 7472 696e 6728 3229 issa.toString(2) │ │ │ -0000ff30: 292e 7061 6453 7461 7274 2835 322c 2022 ).padStart(52, " │ │ │ -0000ff40: 3022 293b 0a20 2020 2020 2020 2072 6574 0");. ret │ │ │ -0000ff50: 7572 6e20 4269 6749 6e74 2870 6172 7365 urn BigInt(parse │ │ │ -0000ff60: 496e 7428 7369 676e 202b 206d 616e 7469 Int(sign + manti │ │ │ -0000ff70: 7373 6120 2b20 6578 706f 6e65 6e74 2c20 ssa + exponent, │ │ │ -0000ff80: 3229 293b 0a20 2020 207d 0a7d 3b0a 0a2f 2));. }.};../ │ │ │ -0000ff90: 2f20 7072 696d 4e61 7454 6f46 6c6f 6174 / primNatToFloat │ │ │ -0000ffa0: 203a 204e 6174 202d 3e20 466c 6f61 740a : Nat -> Float. │ │ │ -0000ffb0: 6578 706f 7274 732e 7072 696d 4e61 7454 exports.primNatT │ │ │ -0000ffc0: 6f46 6c6f 6174 203d 204e 756d 6265 723b oFloat = Number; │ │ │ -0000ffd0: 0a0a 2f2f 2070 7269 6d49 6e74 546f 466c ..// primIntToFl │ │ │ -0000ffe0: 6f61 7420 3a20 496e 7420 2d3e 2046 6c6f oat : Int -> Flo │ │ │ -0000fff0: 6174 0a65 7870 6f72 7473 2e70 7269 6d49 at.exports.primI │ │ │ -00010000: 6e74 546f 466c 6f61 7420 3d20 4e75 6d62 ntToFloat = Numb │ │ │ -00010010: 6572 3b0a 0a2f 2f20 7072 696d 5261 7469 er;..// primRati │ │ │ -00010020: 6f54 6f46 6c6f 6174 203a 2049 6e74 202d oToFloat : Int - │ │ │ -00010030: 3e20 496e 7420 2d3e 2046 6c6f 6174 0a65 > Int -> Float.e │ │ │ -00010040: 7870 6f72 7473 2e70 7269 6d52 6174 696f xports.primRatio │ │ │ -00010050: 546f 466c 6f61 7420 3d20 7820 3d3e 2079 ToFloat = x => y │ │ │ -00010060: 203d 3e20 4e75 6d62 6572 2878 2920 2f20 => Number(x) / │ │ │ -00010070: 4e75 6d62 6572 2879 293b 0a0a 2f2f 2075 Number(y);..// u │ │ │ -00010080: 7072 696d 466c 6f61 7445 6e63 6f64 6520 primFloatEncode │ │ │ -00010090: 3a20 2849 6e74 2c20 496e 7429 202d 3e20 : (Int, Int) -> │ │ │ -000100a0: 4d61 7962 6520 466c 6f61 740a 6578 706f Maybe Float.expo │ │ │ -000100b0: 7274 732e 7570 7269 6d46 6c6f 6174 456e rts.uprimFloatEn │ │ │ -000100c0: 636f 6465 203d 2028 782c 2079 2920 3d3e code = (x, y) => │ │ │ -000100d0: 207b 0a20 2063 6f6e 7374 206d 616e 7469 {. const manti │ │ │ -000100e0: 7373 6120 3d20 4e75 6d62 6572 2878 293b ssa = Number(x); │ │ │ -000100f0: 0a20 2063 6f6e 7374 2065 7870 6f6e 656e . const exponen │ │ │ -00010100: 7420 3d20 4e75 6d62 6572 2879 293b 0a0a t = Number(y);.. │ │ │ -00010110: 2020 6966 2028 4e75 6d62 6572 2e69 7353 if (Number.isS │ │ │ -00010120: 6166 6549 6e74 6567 6572 286d 616e 7469 afeInteger(manti │ │ │ -00010130: 7373 6129 2026 2620 2d31 3032 3420 3c3d ssa) && -1024 <= │ │ │ -00010140: 2065 7870 6f6e 656e 7420 2626 2065 7870 exponent && exp │ │ │ -00010150: 6f6e 656e 7420 3c3d 2031 3032 3429 207b onent <= 1024) { │ │ │ -00010160: 0a20 2020 2072 6574 7572 6e20 6d61 6e74 . return mant │ │ │ -00010170: 6973 7361 202a 2028 3220 2a2a 2065 7870 issa * (2 ** exp │ │ │ -00010180: 6f6e 656e 7429 3b0a 2020 7d0a 0a20 2065 onent);. }.. e │ │ │ -00010190: 6c73 6520 7b0a 2020 2020 7265 7475 726e lse {. return │ │ │ -000101a0: 206e 756c 6c3b 0a20 207d 0a7d 3b0a 0a65 null;. }.};..e │ │ │ -000101b0: 7870 6f72 7473 2e70 7269 6d53 686f 7746 xports.primShowF │ │ │ -000101c0: 6c6f 6174 203d 2066 756e 6374 696f 6e28 loat = function( │ │ │ -000101d0: 7829 207b 0a20 2020 202f 2f20 5365 6520 x) {. // See │ │ │ -000101e0: 4973 7375 6520 2332 3139 322e 0a20 2020 Issue #2192.. │ │ │ -000101f0: 2069 6620 284e 756d 6265 722e 6973 496e if (Number.isIn │ │ │ -00010200: 7465 6765 7228 7829 2920 7b0a 2020 2020 teger(x)) {. │ │ │ -00010210: 2020 2020 6966 2028 6578 706f 7274 732e if (exports. │ │ │ -00010220: 7072 696d 466c 6f61 7449 734e 6567 6174 primFloatIsNegat │ │ │ -00010230: 6976 655a 6572 6f28 7829 2920 7b0a 2020 iveZero(x)) {. │ │ │ -00010240: 2020 2020 2020 2020 2020 7265 7475 726e return │ │ │ -00010250: 2028 222d 302e 3022 293b 0a20 2020 2020 ("-0.0");. │ │ │ -00010260: 2020 207d 2065 6c73 6520 7b0a 2020 2020 } else {. │ │ │ -00010270: 2020 2020 2020 2020 7265 7475 726e 2028 return ( │ │ │ -00010280: 782e 746f 5374 7269 6e67 2829 202b 2022 x.toString() + " │ │ │ -00010290: 2e30 2229 3b0a 2020 2020 2020 2020 7d0a .0");. }. │ │ │ -000102a0: 2020 2020 7d20 656c 7365 207b 0a20 2020 } else {. │ │ │ -000102b0: 2020 2020 2072 6574 7572 6e20 782e 746f return x.to │ │ │ -000102c0: 5374 7269 6e67 2829 3b0a 2020 2020 7d0a String();. }. │ │ │ -000102d0: 7d3b 0a65 7870 6f72 7473 2e70 7269 6d46 };.exports.primF │ │ │ -000102e0: 6c6f 6174 506c 7573 203d 2066 756e 6374 loatPlus = funct │ │ │ -000102f0: 696f 6e28 7829 207b 0a20 2020 2072 6574 ion(x) {. ret │ │ │ -00010300: 7572 6e20 6675 6e63 7469 6f6e 2879 2920 urn function(y) │ │ │ -00010310: 7b0a 2020 2020 2020 2020 7265 7475 726e {. return │ │ │ -00010320: 2078 202b 2079 3b0a 2020 2020 7d3b 0a7d x + y;. };.} │ │ │ -00010330: 3b0a 6578 706f 7274 732e 7072 696d 466c ;.exports.primFl │ │ │ -00010340: 6f61 744d 696e 7573 203d 2066 756e 6374 oatMinus = funct │ │ │ -00010350: 696f 6e28 7829 207b 0a20 2020 2072 6574 ion(x) {. ret │ │ │ -00010360: 7572 6e20 6675 6e63 7469 6f6e 2879 2920 urn function(y) │ │ │ -00010370: 7b0a 2020 2020 2020 2020 7265 7475 726e {. return │ │ │ -00010380: 2078 202d 2079 3b0a 2020 2020 7d3b 0a7d x - y;. };.} │ │ │ -00010390: 3b0a 6578 706f 7274 732e 7072 696d 466c ;.exports.primFl │ │ │ -000103a0: 6f61 7454 696d 6573 203d 2066 756e 6374 oatTimes = funct │ │ │ -000103b0: 696f 6e28 7829 207b 0a20 2020 2072 6574 ion(x) {. ret │ │ │ -000103c0: 7572 6e20 6675 6e63 7469 6f6e 2879 2920 urn function(y) │ │ │ -000103d0: 7b0a 2020 2020 2020 2020 7265 7475 726e {. return │ │ │ -000103e0: 2078 202a 2079 3b0a 2020 2020 7d3b 0a7d x * y;. };.} │ │ │ -000103f0: 3b0a 6578 706f 7274 732e 7072 696d 466c ;.exports.primFl │ │ │ -00010400: 6f61 744e 6567 6174 6520 3d20 6675 6e63 oatNegate = func │ │ │ -00010410: 7469 6f6e 2878 2920 7b0a 2020 2020 7265 tion(x) {. re │ │ │ -00010420: 7475 726e 202d 783b 0a7d 3b0a 6578 706f turn -x;.};.expo │ │ │ -00010430: 7274 732e 7072 696d 466c 6f61 7444 6976 rts.primFloatDiv │ │ │ -00010440: 203d 2066 756e 6374 696f 6e28 7829 207b = function(x) { │ │ │ -00010450: 0a20 2072 6574 7572 6e20 6675 6e63 7469 . return functi │ │ │ -00010460: 6f6e 2879 2920 7b0a 2020 2020 7265 7475 on(y) {. retu │ │ │ -00010470: 726e 2078 202f 2079 3b0a 2020 7d3b 0a7d rn x / y;. };.} │ │ │ -00010480: 3b0a 6578 706f 7274 732e 7072 696d 466c ;.exports.primFl │ │ │ -00010490: 6f61 7450 6f77 203d 2066 756e 6374 696f oatPow = functio │ │ │ -000104a0: 6e28 7829 207b 0a20 2020 2072 6574 7572 n(x) {. retur │ │ │ -000104b0: 6e20 6675 6e63 7469 6f6e 2879 2920 7b0a n function(y) {. │ │ │ -000104c0: 2020 2020 2020 2020 7265 7475 726e 2078 return x │ │ │ -000104d0: 202a 2a20 793b 0a20 2020 207d 3b0a 7d3b ** y;. };.}; │ │ │ -000104e0: 0a65 7870 6f72 7473 2e70 7269 6d46 6c6f .exports.primFlo │ │ │ -000104f0: 6174 5371 7274 203d 2066 756e 6374 696f atSqrt = functio │ │ │ -00010500: 6e28 7829 207b 0a20 2020 2072 6574 7572 n(x) {. retur │ │ │ -00010510: 6e20 4d61 7468 2e73 7172 7428 7829 3b0a n Math.sqrt(x);. │ │ │ -00010520: 7d3b 0a65 7870 6f72 7473 2e70 7269 6d46 };.exports.primF │ │ │ -00010530: 6c6f 6174 4578 7020 3d20 6675 6e63 7469 loatExp = functi │ │ │ -00010540: 6f6e 2878 2920 7b0a 2020 2020 7265 7475 on(x) {. retu │ │ │ -00010550: 726e 204d 6174 682e 6578 7028 7829 3b0a rn Math.exp(x);. │ │ │ -00010560: 7d3b 0a65 7870 6f72 7473 2e70 7269 6d46 };.exports.primF │ │ │ -00010570: 6c6f 6174 4c6f 6720 3d20 6675 6e63 7469 loatLog = functi │ │ │ -00010580: 6f6e 2878 2920 7b0a 2020 2020 7265 7475 on(x) {. retu │ │ │ -00010590: 726e 204d 6174 682e 6c6f 6728 7829 3b0a rn Math.log(x);. │ │ │ -000105a0: 7d3b 0a65 7870 6f72 7473 2e70 7269 6d46 };.exports.primF │ │ │ -000105b0: 6c6f 6174 5369 6e20 3d20 6675 6e63 7469 loatSin = functi │ │ │ -000105c0: 6f6e 2878 2920 7b0a 2020 2020 7265 7475 on(x) {. retu │ │ │ -000105d0: 726e 204d 6174 682e 7369 6e28 7829 3b0a rn Math.sin(x);. │ │ │ -000105e0: 7d3b 0a65 7870 6f72 7473 2e70 7269 6d46 };.exports.primF │ │ │ -000105f0: 6c6f 6174 436f 7320 3d20 6675 6e63 7469 loatCos = functi │ │ │ -00010600: 6f6e 2878 2920 7b0a 2020 2020 7265 7475 on(x) {. retu │ │ │ -00010610: 726e 204d 6174 682e 636f 7328 7829 3b0a rn Math.cos(x);. │ │ │ -00010620: 7d3b 0a65 7870 6f72 7473 2e70 7269 6d46 };.exports.primF │ │ │ -00010630: 6c6f 6174 5461 6e20 3d20 6675 6e63 7469 loatTan = functi │ │ │ -00010640: 6f6e 2878 2920 7b0a 2020 2020 7265 7475 on(x) {. retu │ │ │ -00010650: 726e 204d 6174 682e 7461 6e28 7829 3b0a rn Math.tan(x);. │ │ │ -00010660: 7d3b 0a65 7870 6f72 7473 2e70 7269 6d46 };.exports.primF │ │ │ -00010670: 6c6f 6174 4153 696e 203d 2066 756e 6374 loatASin = funct │ │ │ -00010680: 696f 6e28 7829 207b 0a20 2020 2072 6574 ion(x) {. ret │ │ │ -00010690: 7572 6e20 4d61 7468 2e61 7369 6e28 7829 urn Math.asin(x) │ │ │ -000106a0: 3b0a 7d3b 0a65 7870 6f72 7473 2e70 7269 ;.};.exports.pri │ │ │ -000106b0: 6d46 6c6f 6174 4143 6f73 203d 2066 756e mFloatACos = fun │ │ │ -000106c0: 6374 696f 6e28 7829 207b 0a20 2020 2072 ction(x) {. r │ │ │ -000106d0: 6574 7572 6e20 4d61 7468 2e61 636f 7328 eturn Math.acos( │ │ │ -000106e0: 7829 3b0a 7d3b 0a65 7870 6f72 7473 2e70 x);.};.exports.p │ │ │ -000106f0: 7269 6d46 6c6f 6174 4154 616e 203d 2066 rimFloatATan = f │ │ │ -00010700: 756e 6374 696f 6e28 7829 207b 0a20 2020 unction(x) {. │ │ │ -00010710: 2072 6574 7572 6e20 4d61 7468 2e61 7461 return Math.ata │ │ │ -00010720: 6e28 7829 3b0a 7d3b 0a65 7870 6f72 7473 n(x);.};.exports │ │ │ -00010730: 2e70 7269 6d46 6c6f 6174 4154 616e 3220 .primFloatATan2 │ │ │ -00010740: 3d20 6675 6e63 7469 6f6e 2878 2920 7b0a = function(x) {. │ │ │ -00010750: 2020 2020 7265 7475 726e 2066 756e 6374 return funct │ │ │ -00010760: 696f 6e28 7929 7b0a 2020 2020 2020 2020 ion(y){. │ │ │ -00010770: 7265 7475 726e 204d 6174 682e 6174 616e return Math.atan │ │ │ -00010780: 3228 782c 2079 293b 0a20 2020 207d 3b0a 2(x, y);. };. │ │ │ -00010790: 7d3b 0a65 7870 6f72 7473 2e70 7269 6d46 };.exports.primF │ │ │ -000107a0: 6c6f 6174 5369 6e68 203d 2066 756e 6374 loatSinh = funct │ │ │ -000107b0: 696f 6e28 7829 207b 0a20 2020 2072 6574 ion(x) {. ret │ │ │ -000107c0: 7572 6e20 4d61 7468 2e73 696e 6828 7829 urn Math.sinh(x) │ │ │ -000107d0: 3b0a 7d3b 0a65 7870 6f72 7473 2e70 7269 ;.};.exports.pri │ │ │ -000107e0: 6d46 6c6f 6174 436f 7368 203d 2066 756e mFloatCosh = fun │ │ │ -000107f0: 6374 696f 6e28 7829 207b 0a20 2020 2072 ction(x) {. r │ │ │ -00010800: 6574 7572 6e20 4d61 7468 2e63 6f73 6828 eturn Math.cosh( │ │ │ -00010810: 7829 3b0a 7d3b 0a65 7870 6f72 7473 2e70 x);.};.exports.p │ │ │ -00010820: 7269 6d46 6c6f 6174 5461 6e68 203d 2066 rimFloatTanh = f │ │ │ -00010830: 756e 6374 696f 6e28 7829 207b 0a20 2020 unction(x) {. │ │ │ -00010840: 2072 6574 7572 6e20 4d61 7468 2e74 616e return Math.tan │ │ │ -00010850: 6828 7829 3b0a 7d3b 0a65 7870 6f72 7473 h(x);.};.exports │ │ │ -00010860: 2e70 7269 6d46 6c6f 6174 4153 696e 6820 .primFloatASinh │ │ │ -00010870: 3d20 6675 6e63 7469 6f6e 2878 2920 7b0a = function(x) {. │ │ │ -00010880: 2020 2020 7265 7475 726e 204d 6174 682e return Math. │ │ │ -00010890: 6173 696e 6828 7829 3b0a 7d3b 0a65 7870 asinh(x);.};.exp │ │ │ -000108a0: 6f72 7473 2e70 7269 6d46 6c6f 6174 4143 orts.primFloatAC │ │ │ -000108b0: 6f73 6820 3d20 6675 6e63 7469 6f6e 2878 osh = function(x │ │ │ -000108c0: 2920 7b0a 2020 2020 7265 7475 726e 204d ) {. return M │ │ │ -000108d0: 6174 682e 6163 6f73 6828 7829 3b0a 7d3b ath.acosh(x);.}; │ │ │ -000108e0: 0a65 7870 6f72 7473 2e70 7269 6d46 6c6f .exports.primFlo │ │ │ -000108f0: 6174 4154 616e 6820 3d20 6675 6e63 7469 atATanh = functi │ │ │ -00010900: 6f6e 2878 2920 7b0a 2020 2020 7265 7475 on(x) {. retu │ │ │ -00010910: 726e 204d 6174 682e 6174 616e 6828 7829 rn Math.atanh(x) │ │ │ -00010920: 3b0a 7d3b 0a0a 2f2f 2043 7562 6963 616c ;.};..// Cubical │ │ │ -00010930: 2070 7269 6d69 7469 7665 732e 0a65 7870 primitives..exp │ │ │ -00010940: 6f72 7473 2e70 7269 6d49 4d69 6e20 3d20 orts.primIMin = │ │ │ -00010950: 7820 3d3e 2079 203d 3e20 7820 2626 2079 x => y => x && y │ │ │ -00010960: 3b0a 6578 706f 7274 732e 7072 696d 494d ;.exports.primIM │ │ │ -00010970: 6178 203d 2078 203d 3e20 7920 3d3e 2078 ax = x => y => x │ │ │ -00010980: 207c 7c20 793b 0a65 7870 6f72 7473 2e70 || y;.exports.p │ │ │ -00010990: 7269 6d49 4e65 6720 3d20 7820 3d3e 2021 rimINeg = x => ! │ │ │ -000109a0: 783b 0a65 7870 6f72 7473 2e70 7269 6d50 x;.exports.primP │ │ │ -000109b0: 6172 7469 616c 203d 205f 203d 3e20 5f20 artial = _ => _ │ │ │ -000109c0: 3d3e 2078 203d 3e20 783b 0a65 7870 6f72 => x => x;.expor │ │ │ -000109d0: 7473 2e70 7269 6d50 6172 7469 616c 5020 ts.primPartialP │ │ │ -000109e0: 3d20 5f20 3d3e 205f 203d 3e20 7820 3d3e = _ => _ => x => │ │ │ -000109f0: 2078 3b0a 6578 706f 7274 732e 7072 696d x;.exports.prim │ │ │ -00010a00: 504f 7220 3d20 5f20 3d3e 2069 203d 3e20 POr = _ => i => │ │ │ -00010a10: 5f20 3d3e 205f 203d 3e20 7820 3d3e 2079 _ => _ => x => y │ │ │ -00010a20: 203d 3e20 6920 3f20 7820 3a20 793b 0a65 => i ? x : y;.e │ │ │ -00010a30: 7870 6f72 7473 2e70 7269 6d43 6f6d 7020 xports.primComp │ │ │ -00010a40: 3d20 5f20 3d3e 205f 203d 3e20 5f20 3d3e = _ => _ => _ => │ │ │ -00010a50: 205f 203d 3e20 7820 3d3e 2078 3b0a 6578 _ => x => x;.ex │ │ │ -00010a60: 706f 7274 732e 7072 696d 5472 616e 7370 ports.primTransp │ │ │ -00010a70: 203d 205f 203d 3e20 5f20 3d3e 205f 203d = _ => _ => _ = │ │ │ -00010a80: 3e20 7820 3d3e 2078 3b0a 6578 706f 7274 > x => x;.export │ │ │ -00010a90: 732e 7072 696d 4843 6f6d 7020 3d20 5f20 s.primHComp = _ │ │ │ -00010aa0: 3d3e 205f 203d 3e20 5f20 3d3e 205f 203d => _ => _ => _ = │ │ │ -00010ab0: 3e20 7820 3d3e 2078 3b0a 6578 706f 7274 > x => x;.export │ │ │ -00010ac0: 732e 7072 696d 5375 624f 7574 203d 205f s.primSubOut = _ │ │ │ -00010ad0: 203d 3e20 5f20 3d3e 205f 203d 3e20 5f20 => _ => _ => _ │ │ │ -00010ae0: 3d3e 2078 203d 3e20 783b 0a65 7870 6f72 => x => x;.expor │ │ │ -00010af0: 7473 2e70 7269 6d5f 676c 7565 5520 3d20 ts.prim_glueU = │ │ │ -00010b00: 5f20 3d3e 205f 203d 3e20 5f20 3d3e 205f _ => _ => _ => _ │ │ │ -00010b10: 203d 3e20 5f20 3d3e 2078 203d 3e20 783b => _ => x => x; │ │ │ -00010b20: 0a65 7870 6f72 7473 2e70 7269 6d5f 756e .exports.prim_un │ │ │ -00010b30: 676c 7565 5520 3d20 5f20 3d3e 205f 203d glueU = _ => _ = │ │ │ -00010b40: 3e20 5f20 3d3e 205f 203d 3e20 7820 3d3e > _ => _ => x => │ │ │ -00010b50: 2078 3b0a 6578 706f 7274 732e 7072 696d x;.exports.prim │ │ │ -00010b60: 4661 6365 466f 7261 6c6c 203d 2066 203d FaceForall = f = │ │ │ -00010b70: 3e20 6628 7472 7565 2920 3d3d 2074 7275 > f(true) == tru │ │ │ -00010b80: 6520 2626 2066 2866 616c 7365 2920 3d3d e && f(false) == │ │ │ -00010b90: 2066 616c 7365 3b0a 0a2f 2f20 4f74 6865 false;..// Othe │ │ │ -00010ba0: 7220 7374 7566 660a 0a2f 2f20 7072 696d r stuff..// prim │ │ │ -00010bb0: 5365 7120 3a20 2858 2c20 5929 202d 3e20 Seq : (X, Y) -> │ │ │ -00010bc0: 590a 6578 706f 7274 732e 7072 696d 5365 Y.exports.primSe │ │ │ -00010bd0: 7120 3d20 2878 2c20 7929 203d 3e20 793b q = (x, y) => y; │ │ │ -00010be0: 0a0a 2f2f 2075 7072 696d 514e 616d 6545 ..// uprimQNameE │ │ │ -00010bf0: 7175 616c 6974 7920 3a20 284e 616d 652c quality : (Name, │ │ │ -00010c00: 204e 616d 6529 202d 3e20 426f 6f6c 0a65 Name) -> Bool.e │ │ │ -00010c10: 7870 6f72 7473 2e75 7072 696d 514e 616d xports.uprimQNam │ │ │ -00010c20: 6545 7175 616c 6974 7920 3d20 2878 2c20 eEquality = (x, │ │ │ -00010c30: 7929 203d 3e20 785b 2769 6427 5d20 3d3d y) => x['id'] == │ │ │ -00010c40: 3d20 795b 2769 6427 5d20 2626 2078 5b27 = y['id'] && x[' │ │ │ -00010c50: 6d6f 6475 6c65 4964 275d 203d 3d3d 2079 moduleId'] === y │ │ │ -00010c60: 5b27 6d6f 6475 6c65 4964 275d 3b0a 0a2f ['moduleId'];../ │ │ │ -00010c70: 2f20 7072 696d 514e 616d 6545 7175 616c / primQNameEqual │ │ │ -00010c80: 6974 7920 3a20 4e61 6d65 202d 3e20 4e61 ity : Name -> Na │ │ │ -00010c90: 6d65 202d 3e20 426f 6f6c 0a65 7870 6f72 me -> Bool.expor │ │ │ -00010ca0: 7473 2e70 7269 6d51 4e61 6d65 4571 7561 ts.primQNameEqua │ │ │ -00010cb0: 6c69 7479 203d 2078 203d 3e20 7920 3d3e lity = x => y => │ │ │ -00010cc0: 2065 7870 6f72 7473 2e75 7072 696d 514e exports.uprimQN │ │ │ -00010cd0: 616d 6545 7175 616c 6974 7928 782c 2079 ameEquality(x, y │ │ │ -00010ce0: 293b 0a0a 2f2f 2070 7269 6d51 4e61 6d65 );..// primQName │ │ │ -00010cf0: 4c65 7373 203a 204e 616d 6520 2d3e 204e Less : Name -> N │ │ │ -00010d00: 616d 6520 2d3e 2042 6f6f 6c0a 6578 706f ame -> Bool.expo │ │ │ -00010d10: 7274 732e 7072 696d 514e 616d 654c 6573 rts.primQNameLes │ │ │ -00010d20: 7320 3d20 7820 3d3e 2079 203d 3e20 785b s = x => y => x[ │ │ │ -00010d30: 2769 6427 5d20 3d3d 3d20 795b 2769 6427 'id'] === y['id' │ │ │ -00010d40: 5d20 3f20 785b 276d 6f64 756c 6549 6427 ] ? x['moduleId' │ │ │ -00010d50: 5d20 3c20 795b 276d 6f64 756c 6549 6427 ] < y['moduleId' │ │ │ -00010d60: 5d20 3a20 785b 2769 6427 5d20 3c20 795b ] : x['id'] < y[ │ │ │ -00010d70: 2769 6427 5d3b 0a0a 2f2f 2070 7269 6d53 'id'];..// primS │ │ │ -00010d80: 686f 7751 4e61 6d65 203a 204e 616d 6520 howQName : Name │ │ │ -00010d90: 2d3e 2053 7472 696e 670a 6578 706f 7274 -> String.export │ │ │ -00010da0: 732e 7072 696d 5368 6f77 514e 616d 6520 s.primShowQName │ │ │ -00010db0: 3d20 7820 3d3e 2078 5b27 6e61 6d65 275d = x => x['name'] │ │ │ -00010dc0: 3b0a 0a2f 2f20 7072 696d 514e 616d 6546 ;..// primQNameF │ │ │ -00010dd0: 6978 6974 7920 3a20 4e61 6d65 202d 3e20 ixity : Name -> │ │ │ -00010de0: 4669 7869 7479 0a65 7870 6f72 7473 2e70 Fixity.exports.p │ │ │ -00010df0: 7269 6d51 4e61 6d65 4669 7869 7479 203d rimQNameFixity = │ │ │ -00010e00: 2078 203d 3e20 785b 2766 6978 6974 7927 x => x['fixity' │ │ │ -00010e10: 5d3b 0a72 6574 7572 6e20 6578 706f 7274 ];.return export │ │ │ -00010e20: 733b 0a7d 293b 0a97 b5c6 f0ea 9ede c6f3 s;.});.......... │ │ │ -00010e30: 01d1 cad8 f781 b483 a274 0092 0100 010e .........t...... │ │ │ -00010e40: 6505 2000 0001 0004 0408 0307 025e 0200 e. ..........^.. │ │ │ -00010e50: 0003 0f00 0505 050b 5f0b 9301 0b61 0906 ........_....a.. │ │ │ -00010e60: 0100 cfd4 00ef bd82 8a9f cfa9 ef14 acd3 ................ │ │ │ -00010e70: a787 99a2 91ec e701 0093 0100 0138 e705 .............8.. │ │ │ -00010e80: 8280 80e6 0800 0001 0003 0407 0402 0000 ................ │ │ │ -00010e90: 030f 0009 01cf d400 2f2f 2043 6f6e 7461 ........// Conta │ │ │ -00010ea0: 696e 7320 2a6d 6f73 742a 206f 6620 7468 ins *most* of th │ │ │ -00010eb0: 6520 7072 696d 6974 6976 6573 2072 6571 e primitives req │ │ │ -00010ec0: 7569 7265 6420 6279 2074 6865 204a 6176 uired by the Jav │ │ │ -00010ed0: 6153 6372 6970 7420 6261 636b 656e 642e aScript backend. │ │ │ -00010ee0: 0a2f 2f20 2853 6f6d 652c 2065 2e67 2e2c .// (Some, e.g., │ │ │ -00010ef0: 2074 686f 7365 2075 7369 6e67 2041 6764 those using Agd │ │ │ -00010f00: 6120 7479 7065 7320 6c69 6b65 204d 6179 a types like May │ │ │ -00010f10: 6265 2c20 6172 6520 6465 6669 6e65 6420 be, are defined │ │ │ -00010f20: 696e 2074 6865 6972 0a2f 2f20 7265 7370 in their.// resp │ │ │ -00010f30: 6563 7469 7665 2062 7569 6c74 696e 206d ective builtin m │ │ │ -00010f40: 6f64 756c 6573 2e29 0a2f 2f0a 2f2f 2050 odules.).//.// P │ │ │ -00010f50: 7269 6d69 7469 7665 7320 7072 6566 6978 rimitives prefix │ │ │ -00010f60: 6564 2062 7920 2775 2720 6172 6520 756e ed by 'u' are un │ │ │ -00010f70: 6375 7272 6965 6420 7661 7269 616e 7473 curried variants │ │ │ -00010f80: 2c20 7768 6963 6820 6172 6520 736f 6d65 , which are some │ │ │ -00010f90: 7469 6d65 730a 2f2f 2065 6d69 7474 6564 times.// emitted │ │ │ -00010fa0: 2062 7920 7468 6520 4a61 7661 5363 7269 by the JavaScri │ │ │ -00010fb0: 7074 2062 6163 6b65 6e64 2e20 5768 656e pt backend. When │ │ │ -00010fc0: 6576 6572 2070 6f73 7369 626c 652c 2074 ever possible, t │ │ │ -00010fd0: 6865 2063 7572 7269 6564 2070 7269 6d69 he curried primi │ │ │ -00010fe0: 7469 7665 730a 2f2f 2073 686f 756c 6420 tives.// should │ │ │ -00010ff0: 6265 2069 6d70 6c65 6d65 6e74 6564 2069 be implemented i │ │ │ -00011000: 6e20 7465 726d 7320 6f66 2074 6865 2075 n terms of the u │ │ │ -00011010: 6e63 7572 7269 6564 206f 6e65 732e 0a2f ncurried ones../ │ │ │ -00011020: 2f0a 2f2f 2050 7269 6d69 7469 7665 7320 /.// Primitives │ │ │ -00011030: 7072 6566 6978 6564 2062 7920 275f 2720 prefixed by '_' │ │ │ -00011040: 6172 6520 696e 7465 726e 616c 2076 6172 are internal var │ │ │ -00011050: 6961 6e74 732c 2075 7375 616c 6c79 2066 iants, usually f │ │ │ -00011060: 6f72 2074 686f 7365 2070 7269 6d69 7469 or those primiti │ │ │ -00011070: 7665 730a 2f2f 2077 6869 6368 2072 6574 ves.// which ret │ │ │ -00011080: 7572 6e20 4167 6461 2074 7970 6573 206c urn Agda types l │ │ │ -00011090: 696b 6520 4d61 7962 652e 2054 6865 7365 ike Maybe. These │ │ │ -000110a0: 2061 7265 206e 6576 6572 2065 6d69 7474 are never emitt │ │ │ -000110b0: 6564 2062 7920 7468 6520 636f 6d70 696c ed by the compil │ │ │ -000110c0: 6572 2c0a 2f2f 2062 7574 2063 616e 2062 er,.// but can b │ │ │ -000110d0: 6520 7573 6564 2069 6e74 6572 6e61 6c6c e used internall │ │ │ -000110e0: 7920 746f 2064 6566 696e 6520 6f74 6865 y to define othe │ │ │ -000110f0: 7220 7072 6566 6978 6573 2e0a 0a2f 2f20 r prefixes...// │ │ │ -00011100: 496e 7465 6765 7273 0a0a 2f2f 2070 7269 Integers..// pri │ │ │ -00011110: 6d49 6e74 6567 6572 4672 6f6d 5374 7269 mIntegerFromStri │ │ │ -00011120: 6e67 203a 2053 7472 696e 6720 2d3e 2049 ng : String -> I │ │ │ -00011130: 6e74 0a65 7870 6f72 7473 2e70 7269 6d49 nt.exports.primI │ │ │ -00011140: 6e74 6567 6572 4672 6f6d 5374 7269 6e67 ntegerFromString │ │ │ -00011150: 203d 2042 6967 496e 743b 0a0a 2f2f 2070 = BigInt;..// p │ │ │ -00011160: 7269 6d53 686f 7749 6e74 6567 6572 203a rimShowInteger : │ │ │ -00011170: 2049 6e74 202d 3e20 5374 7269 6e67 0a65 Int -> String.e │ │ │ -00011180: 7870 6f72 7473 2e70 7269 6d53 686f 7749 xports.primShowI │ │ │ -00011190: 6e74 6567 6572 203d 2078 203d 3e20 782e nteger = x => x. │ │ │ -000111a0: 746f 5374 7269 6e67 2829 3b0a 0a2f 2f20 toString();..// │ │ │ -000111b0: 7570 7269 6d49 6e74 6567 6572 506c 7573 uprimIntegerPlus │ │ │ -000111c0: 203a 2028 496e 742c 2049 6e74 2920 2d3e : (Int, Int) -> │ │ │ -000111d0: 2049 6e74 0a65 7870 6f72 7473 2e75 7072 Int.exports.upr │ │ │ -000111e0: 696d 496e 7465 6765 7250 6c75 7320 3d20 imIntegerPlus = │ │ │ -000111f0: 2878 2c20 7929 203d 3e20 7820 2b20 793b (x, y) => x + y; │ │ │ -00011200: 0a0a 2f2f 2075 7072 696d 496e 7465 6765 ..// uprimIntege │ │ │ -00011210: 724d 696e 7573 203a 2028 496e 742c 2049 rMinus : (Int, I │ │ │ -00011220: 6e74 2920 2d3e 2049 6e74 0a65 7870 6f72 nt) -> Int.expor │ │ │ -00011230: 7473 2e75 7072 696d 496e 7465 6765 724d ts.uprimIntegerM │ │ │ -00011240: 696e 7573 203d 2028 782c 2079 2920 3d3e inus = (x, y) => │ │ │ -00011250: 2078 202d 2079 3b0a 0a2f 2f20 7570 7269 x - y;..// upri │ │ │ -00011260: 6d49 6e74 6567 6572 4d75 6c74 6970 6c79 mIntegerMultiply │ │ │ -00011270: 203a 2028 496e 742c 2049 6e74 2920 2d3e : (Int, Int) -> │ │ │ -00011280: 2049 6e74 0a65 7870 6f72 7473 2e75 7072 Int.exports.upr │ │ │ -00011290: 696d 496e 7465 6765 724d 756c 7469 706c imIntegerMultipl │ │ │ -000112a0: 7920 3d20 2878 2c20 7929 203d 3e20 7820 y = (x, y) => x │ │ │ -000112b0: 2a20 793b 0a0a 2f2f 2075 7072 696d 496e * y;..// uprimIn │ │ │ -000112c0: 7465 6765 7252 656d 203a 2028 496e 742c tegerRem : (Int, │ │ │ -000112d0: 2049 6e74 2920 2d3e 2049 6e74 0a65 7870 Int) -> Int.exp │ │ │ -000112e0: 6f72 7473 2e75 7072 696d 496e 7465 6765 orts.uprimIntege │ │ │ -000112f0: 7252 656d 203d 2028 782c 2079 2920 3d3e rRem = (x, y) => │ │ │ -00011300: 2078 2025 2079 3b0a 0a2f 2f20 7570 7269 x % y;..// upri │ │ │ -00011310: 6d49 6e74 6567 6572 5175 6f74 203a 2028 mIntegerQuot : ( │ │ │ -00011320: 496e 742c 2049 6e74 2920 2d3e 2049 6e74 Int, Int) -> Int │ │ │ -00011330: 0a65 7870 6f72 7473 2e75 7072 696d 496e .exports.uprimIn │ │ │ -00011340: 7465 6765 7251 756f 7420 3d20 2878 2c20 tegerQuot = (x, │ │ │ -00011350: 7929 203d 3e20 7820 2f20 793b 0a0a 2f2f y) => x / y;..// │ │ │ -00011360: 2075 7072 696d 496e 7465 6765 7245 7175 uprimIntegerEqu │ │ │ -00011370: 616c 203a 2028 496e 742c 2049 6e74 2920 al : (Int, Int) │ │ │ -00011380: 2d3e 2042 6f6f 6c0a 6578 706f 7274 732e -> Bool.exports. │ │ │ -00011390: 7570 7269 6d49 6e74 6567 6572 4571 7561 uprimIntegerEqua │ │ │ -000113a0: 6c20 3d20 2878 2c20 7929 203d 3e20 7820 l = (x, y) => x │ │ │ -000113b0: 3d3d 3d20 793b 0a0a 2f2f 2075 7072 696d === y;..// uprim │ │ │ -000113c0: 496e 7465 6765 7247 7265 6174 6572 4f72 IntegerGreaterOr │ │ │ -000113d0: 4571 7561 6c54 6861 6e20 3a20 2849 6e74 EqualThan : (Int │ │ │ -000113e0: 2c20 496e 7429 202d 3e20 426f 6f6c 0a65 , Int) -> Bool.e │ │ │ -000113f0: 7870 6f72 7473 2e75 7072 696d 496e 7465 xports.uprimInte │ │ │ -00011400: 6765 7247 7265 6174 6572 4f72 4571 7561 gerGreaterOrEqua │ │ │ -00011410: 6c54 6861 6e20 3d20 2878 2c20 7929 203d lThan = (x, y) = │ │ │ -00011420: 3e20 7820 3e3d 2079 3b0a 0a2f 2f20 7570 > x >= y;..// up │ │ │ -00011430: 7269 6d49 6e74 6567 6572 4c65 7373 5468 rimIntegerLessTh │ │ │ -00011440: 616e 203a 2028 496e 742c 2049 6e74 2920 an : (Int, Int) │ │ │ -00011450: 2d3e 2042 6f6f 6c0a 6578 706f 7274 732e -> Bool.exports. │ │ │ -00011460: 7570 7269 6d49 6e74 6567 6572 4c65 7373 uprimIntegerLess │ │ │ -00011470: 5468 616e 203d 2028 782c 2079 2920 3d3e Than = (x, y) => │ │ │ -00011480: 2078 203c 2079 3b0a 0a2f 2f20 576f 7264 x < y;..// Word │ │ │ -00011490: 730a 636f 6e73 7420 574f 5244 3634 5f4d s.const WORD64_M │ │ │ -000114a0: 4158 5f56 414c 5545 203d 2031 3834 3436 AX_VALUE = 18446 │ │ │ -000114b0: 3734 3430 3733 3730 3935 3532 3030 306e 744073709552000n │ │ │ -000114c0: 3b0a 0a2f 2f20 7072 696d 576f 7264 3634 ;..// primWord64 │ │ │ -000114d0: 546f 4e61 7420 3a20 576f 7264 3634 202d ToNat : Word64 - │ │ │ -000114e0: 3e20 4e61 740a 6578 706f 7274 732e 7072 > Nat.exports.pr │ │ │ -000114f0: 696d 576f 7264 3634 546f 4e61 7420 3d20 imWord64ToNat = │ │ │ -00011500: 7820 3d3e 2078 3b0a 0a2f 2f20 7072 696d x => x;..// prim │ │ │ -00011510: 576f 7264 3634 4672 6f6d 4e61 7420 3a20 Word64FromNat : │ │ │ -00011520: 4e61 7420 2d3e 2057 6f72 6436 340a 6578 Nat -> Word64.ex │ │ │ -00011530: 706f 7274 732e 7072 696d 576f 7264 3634 ports.primWord64 │ │ │ -00011540: 4672 6f6d 4e61 7420 3d20 7820 3d3e 2078 FromNat = x => x │ │ │ -00011550: 2025 2057 4f52 4436 345f 4d41 585f 5641 % WORD64_MAX_VA │ │ │ -00011560: 4c55 453b 0a0a 2f2f 2075 7072 696d 576f LUE;..// uprimWo │ │ │ -00011570: 7264 3634 506c 7573 203a 2028 576f 7264 rd64Plus : (Word │ │ │ -00011580: 3634 2c20 576f 7264 3634 2920 2d3e 2057 64, Word64) -> W │ │ │ -00011590: 6f72 6436 340a 6578 706f 7274 732e 7570 ord64.exports.up │ │ │ -000115a0: 7269 6d57 6f72 6436 3450 6c75 7320 3d20 rimWord64Plus = │ │ │ -000115b0: 2878 2c20 7929 203d 3e20 2878 202b 2079 (x, y) => (x + y │ │ │ -000115c0: 2920 2520 574f 5244 3634 5f4d 4158 5f56 ) % WORD64_MAX_V │ │ │ -000115d0: 414c 5545 3b0a 0a2f 2f20 7570 7269 6d57 ALUE;..// uprimW │ │ │ -000115e0: 6f72 6436 344d 696e 7573 203a 2028 576f ord64Minus : (Wo │ │ │ -000115f0: 7264 3634 2c20 576f 7264 3634 2920 2d3e rd64, Word64) -> │ │ │ -00011600: 2057 6f72 6436 340a 6578 706f 7274 732e Word64.exports. │ │ │ -00011610: 7570 7269 6d57 6f72 6436 344d 696e 7573 uprimWord64Minus │ │ │ -00011620: 203d 2028 782c 2079 2920 3d3e 2028 7820 = (x, y) => (x │ │ │ -00011630: 2b20 574f 5244 3634 5f4d 4158 5f56 414c + WORD64_MAX_VAL │ │ │ -00011640: 5545 202d 2079 2920 2520 574f 5244 3634 UE - y) % WORD64 │ │ │ -00011650: 5f4d 4158 5f56 414c 5545 3b0a 0a2f 2f20 _MAX_VALUE;..// │ │ │ -00011660: 7570 7269 6d57 6f72 6436 344d 756c 7469 uprimWord64Multi │ │ │ -00011670: 706c 7920 3a20 2857 6f72 6436 342c 2057 ply : (Word64, W │ │ │ -00011680: 6f72 6436 3429 202d 3e20 576f 7264 3634 ord64) -> Word64 │ │ │ -00011690: 0a65 7870 6f72 7473 2e75 7072 696d 576f .exports.uprimWo │ │ │ -000116a0: 7264 3634 4d75 6c74 6970 6c79 203d 2028 rd64Multiply = ( │ │ │ -000116b0: 782c 2079 2920 3d3e 2028 7820 2a20 7929 x, y) => (x * y) │ │ │ -000116c0: 2025 2057 4f52 4436 345f 4d41 585f 5641 % WORD64_MAX_VA │ │ │ -000116d0: 4c55 453b 0a0a 2f2f 204e 6174 7572 616c LUE;..// Natural │ │ │ -000116e0: 206e 756d 6265 7273 0a0a 2f2f 2070 7269 numbers..// pri │ │ │ -000116f0: 6d4e 6174 4d69 6e75 7320 3a20 4e61 7420 mNatMinus : Nat │ │ │ -00011700: 2d3e 204e 6174 202d 3e20 4e61 740a 6578 -> Nat -> Nat.ex │ │ │ -00011710: 706f 7274 732e 7072 696d 4e61 744d 696e ports.primNatMin │ │ │ -00011720: 7573 203d 2078 203d 3e20 7920 3d3e 207b us = x => y => { │ │ │ -00011730: 0a20 2063 6f6e 7374 207a 203d 2078 202d . const z = x - │ │ │ -00011740: 2079 3b0a 2020 7265 7475 726e 207a 203c y;. return z < │ │ │ -00011750: 2030 6e20 3f20 306e 203a 207a 3b0a 7d3b 0n ? 0n : z;.}; │ │ │ -00011760: 0a0a 2f2f 2046 6c6f 6174 696e 672d 706f ..// Floating-po │ │ │ -00011770: 696e 7420 6e75 6d62 6572 730a 7661 7220 int numbers.var │ │ │ -00011780: 5f70 7269 6d46 6c6f 6174 4772 6561 7465 _primFloatGreate │ │ │ -00011790: 7374 436f 6d6d 6f6e 4661 6374 6f72 203d stCommonFactor = │ │ │ -000117a0: 2066 756e 6374 696f 6e28 782c 2079 2920 function(x, y) │ │ │ -000117b0: 7b0a 2020 2020 7661 7220 7a3b 0a20 2020 {. var z;. │ │ │ -000117c0: 2078 203d 204d 6174 682e 6162 7328 7829 x = Math.abs(x) │ │ │ -000117d0: 3b0a 2020 2020 7920 3d20 4d61 7468 2e61 ;. y = Math.a │ │ │ -000117e0: 6273 2879 293b 0a20 2020 2077 6869 6c65 bs(y);. while │ │ │ -000117f0: 2028 7929 207b 0a20 2020 2020 2020 207a (y) {. z │ │ │ -00011800: 203d 2078 2025 2079 3b0a 2020 2020 2020 = x % y;. │ │ │ -00011810: 2020 7820 3d20 793b 0a20 2020 2020 2020 x = y;. │ │ │ -00011820: 2079 203d 207a 3b0a 2020 2020 7d0a 2020 y = z;. }. │ │ │ -00011830: 2020 7265 7475 726e 2078 3b0a 7d3b 0a65 return x;.};.e │ │ │ -00011840: 7870 6f72 7473 2e5f 7072 696d 466c 6f61 xports._primFloa │ │ │ -00011850: 7452 6f75 6e64 203d 2066 756e 6374 696f tRound = functio │ │ │ -00011860: 6e28 7829 207b 0a20 2020 2069 6620 2865 n(x) {. if (e │ │ │ -00011870: 7870 6f72 7473 2e70 7269 6d46 6c6f 6174 xports.primFloat │ │ │ -00011880: 4973 4e61 4e28 7829 207c 7c20 6578 706f IsNaN(x) || expo │ │ │ -00011890: 7274 732e 7072 696d 466c 6f61 7449 7349 rts.primFloatIsI │ │ │ -000118a0: 6e66 696e 6974 6528 7829 2920 7b0a 2020 nfinite(x)) {. │ │ │ -000118b0: 2020 2020 2020 7265 7475 726e 206e 756c return nul │ │ │ -000118c0: 6c3b 0a20 2020 207d 0a20 2020 2065 6c73 l;. }. els │ │ │ -000118d0: 6520 7b0a 2020 2020 2020 2020 7265 7475 e {. retu │ │ │ -000118e0: 726e 2042 6967 496e 7428 4d61 7468 2e72 rn BigInt(Math.r │ │ │ -000118f0: 6f75 6e64 2878 2929 3b0a 2020 2020 7d0a ound(x));. }. │ │ │ -00011900: 7d3b 0a65 7870 6f72 7473 2e5f 7072 696d };.exports._prim │ │ │ -00011910: 466c 6f61 7446 6c6f 6f72 203d 2066 756e FloatFloor = fun │ │ │ -00011920: 6374 696f 6e28 7829 207b 0a20 2020 2069 ction(x) {. i │ │ │ -00011930: 6620 2865 7870 6f72 7473 2e70 7269 6d46 f (exports.primF │ │ │ -00011940: 6c6f 6174 4973 4e61 4e28 7829 207c 7c20 loatIsNaN(x) || │ │ │ -00011950: 6578 706f 7274 732e 7072 696d 466c 6f61 exports.primFloa │ │ │ -00011960: 7449 7349 6e66 696e 6974 6528 7829 2920 tIsInfinite(x)) │ │ │ -00011970: 7b0a 2020 2020 2020 2020 7265 7475 726e {. return │ │ │ -00011980: 206e 756c 6c3b 0a20 2020 207d 0a20 2020 null;. }. │ │ │ -00011990: 2065 6c73 6520 7b0a 2020 2020 2020 2020 else {. │ │ │ -000119a0: 7265 7475 726e 2042 6967 496e 7428 4d61 return BigInt(Ma │ │ │ -000119b0: 7468 2e66 6c6f 6f72 2878 2929 3b0a 2020 th.floor(x));. │ │ │ -000119c0: 2020 7d0a 7d3b 0a65 7870 6f72 7473 2e5f }.};.exports._ │ │ │ -000119d0: 7072 696d 466c 6f61 7443 6569 6c69 6e67 primFloatCeiling │ │ │ -000119e0: 203d 2066 756e 6374 696f 6e28 7829 207b = function(x) { │ │ │ -000119f0: 0a20 2020 2069 6620 2865 7870 6f72 7473 . if (exports │ │ │ -00011a00: 2e70 7269 6d46 6c6f 6174 4973 4e61 4e28 .primFloatIsNaN( │ │ │ -00011a10: 7829 207c 7c20 6578 706f 7274 732e 7072 x) || exports.pr │ │ │ -00011a20: 696d 466c 6f61 7449 7349 6e66 696e 6974 imFloatIsInfinit │ │ │ -00011a30: 6528 7829 2920 7b0a 2020 2020 2020 2020 e(x)) {. │ │ │ -00011a40: 7265 7475 726e 206e 756c 6c3b 0a20 2020 return null;. │ │ │ -00011a50: 207d 0a20 2020 2065 6c73 6520 7b0a 2020 }. else {. │ │ │ -00011a60: 2020 2020 2020 7265 7475 726e 2042 6967 return Big │ │ │ -00011a70: 496e 7428 4d61 7468 2e63 6569 6c28 7829 Int(Math.ceil(x) │ │ │ -00011a80: 293b 0a20 2020 207d 0a7d 3b0a 6578 706f );. }.};.expo │ │ │ -00011a90: 7274 732e 5f70 7269 6d46 6c6f 6174 546f rts._primFloatTo │ │ │ -00011aa0: 5261 7469 6f20 3d20 6675 6e63 7469 6f6e Ratio = function │ │ │ -00011ab0: 2878 2920 7b0a 2020 2020 6966 2028 6578 (x) {. if (ex │ │ │ -00011ac0: 706f 7274 732e 7072 696d 466c 6f61 7449 ports.primFloatI │ │ │ -00011ad0: 734e 614e 2878 2929 207b 0a20 2020 2020 sNaN(x)) {. │ │ │ -00011ae0: 2020 2072 6574 7572 6e20 7b6e 756d 6572 return {numer │ │ │ -00011af0: 6174 6f72 3a20 4269 6749 6e74 2830 292c ator: BigInt(0), │ │ │ -00011b00: 2064 656e 6f6d 696e 6174 6f72 3a20 4269 denominator: Bi │ │ │ -00011b10: 6749 6e74 2830 297d 3b0a 2020 2020 7d0a gInt(0)};. }. │ │ │ -00011b20: 2020 2020 656c 7365 2069 6620 2878 203c else if (x < │ │ │ -00011b30: 2030 2e30 2026 2620 6578 706f 7274 732e 0.0 && exports. │ │ │ -00011b40: 7072 696d 466c 6f61 7449 7349 6e66 696e primFloatIsInfin │ │ │ -00011b50: 6974 6528 7829 2920 7b0a 2020 2020 2020 ite(x)) {. │ │ │ -00011b60: 2020 7265 7475 726e 207b 6e75 6d65 7261 return {numera │ │ │ -00011b70: 746f 723a 2042 6967 496e 7428 2d31 292c tor: BigInt(-1), │ │ │ -00011b80: 2064 656e 6f6d 696e 6174 6f72 3a20 4269 denominator: Bi │ │ │ -00011b90: 6749 6e74 2830 297d 3b0a 2020 2020 7d0a gInt(0)};. }. │ │ │ -00011ba0: 2020 2020 656c 7365 2069 6620 2878 203e else if (x > │ │ │ -00011bb0: 2030 2e30 2026 2620 6578 706f 7274 732e 0.0 && exports. │ │ │ -00011bc0: 7072 696d 466c 6f61 7449 7349 6e66 696e primFloatIsInfin │ │ │ -00011bd0: 6974 6528 7829 2920 7b0a 2020 2020 2020 ite(x)) {. │ │ │ -00011be0: 2020 7265 7475 726e 207b 6e75 6d65 7261 return {numera │ │ │ -00011bf0: 746f 723a 2042 6967 496e 7428 3129 2c20 tor: BigInt(1), │ │ │ -00011c00: 6465 6e6f 6d69 6e61 746f 723a 2042 6967 denominator: Big │ │ │ -00011c10: 496e 7428 3029 7d3b 0a20 2020 207d 0a20 Int(0)};. }. │ │ │ -00011c20: 2020 2065 6c73 6520 6966 2028 6578 706f else if (expo │ │ │ -00011c30: 7274 732e 7072 696d 466c 6f61 7449 734e rts.primFloatIsN │ │ │ -00011c40: 6567 6174 6976 655a 6572 6f28 7829 2920 egativeZero(x)) │ │ │ -00011c50: 7b0a 2020 2020 2020 2020 7265 7475 726e {. return │ │ │ -00011c60: 207b 6e75 6d65 7261 746f 723a 2042 6967 {numerator: Big │ │ │ -00011c70: 496e 7428 3029 2c20 6465 6e6f 6d69 6e61 Int(0), denomina │ │ │ -00011c80: 746f 723a 2042 6967 496e 7428 3129 7d3b tor: BigInt(1)}; │ │ │ -00011c90: 0a20 2020 207d 0a20 2020 2065 6c73 6520 . }. else │ │ │ -00011ca0: 6966 2028 7820 3d3d 2030 2e30 2920 7b0a if (x == 0.0) {. │ │ │ -00011cb0: 2020 2020 2020 2020 7265 7475 726e 207b return { │ │ │ -00011cc0: 6e75 6d65 7261 746f 723a 2042 6967 496e numerator: BigIn │ │ │ -00011cd0: 7428 3029 2c20 6465 6e6f 6d69 6e61 746f t(0), denominato │ │ │ -00011ce0: 723a 2042 6967 496e 7428 3129 7d3b 0a20 r: BigInt(1)};. │ │ │ -00011cf0: 2020 207d 0a20 2020 2065 6c73 6520 7b0a }. else {. │ │ │ -00011d00: 2020 2020 2020 2020 7661 7220 6e75 6d65 var nume │ │ │ -00011d10: 7261 746f 7220 3d20 4d61 7468 2e72 6f75 rator = Math.rou │ │ │ -00011d20: 6e64 2878 2a31 6539 293b 0a20 2020 2020 nd(x*1e9);. │ │ │ -00011d30: 2020 2076 6172 2064 656e 6f6d 696e 6174 var denominat │ │ │ -00011d40: 6f72 203d 2031 6539 3b0a 2020 2020 2020 or = 1e9;. │ │ │ -00011d50: 2020 7661 7220 6763 6620 3d20 5f70 7269 var gcf = _pri │ │ │ -00011d60: 6d46 6c6f 6174 4772 6561 7465 7374 436f mFloatGreatestCo │ │ │ -00011d70: 6d6d 6f6e 4661 6374 6f72 286e 756d 6572 mmonFactor(numer │ │ │ -00011d80: 6174 6f72 2c20 6465 6e6f 6d69 6e61 746f ator, denominato │ │ │ -00011d90: 7229 3b0a 2020 2020 2020 2020 6e75 6d65 r);. nume │ │ │ -00011da0: 7261 746f 7220 2f3d 2067 6366 3b0a 2020 rator /= gcf;. │ │ │ -00011db0: 2020 2020 2020 6465 6e6f 6d69 6e61 746f denominato │ │ │ -00011dc0: 7220 2f3d 2067 6366 3b0a 2020 2020 2020 r /= gcf;. │ │ │ -00011dd0: 2020 7265 7475 726e 207b 6e75 6d65 7261 return {numera │ │ │ -00011de0: 746f 723a 2042 6967 496e 7428 6e75 6d65 tor: BigInt(nume │ │ │ -00011df0: 7261 746f 7229 2c20 6465 6e6f 6d69 6e61 rator), denomina │ │ │ -00011e00: 746f 723a 2042 6967 496e 7428 6465 6e6f tor: BigInt(deno │ │ │ -00011e10: 6d69 6e61 746f 7229 7d3b 0a20 2020 207d minator)};. } │ │ │ -00011e20: 0a7d 3b0a 6578 706f 7274 732e 5f70 7269 .};.exports._pri │ │ │ -00011e30: 6d46 6c6f 6174 4465 636f 6465 203d 2066 mFloatDecode = f │ │ │ -00011e40: 756e 6374 696f 6e28 7829 207b 0a20 2020 unction(x) {. │ │ │ -00011e50: 2069 6620 2865 7870 6f72 7473 2e70 7269 if (exports.pri │ │ │ -00011e60: 6d46 6c6f 6174 4973 4e61 4e28 7829 2920 mFloatIsNaN(x)) │ │ │ -00011e70: 7b0a 2020 2020 2020 2020 7265 7475 726e {. return │ │ │ -00011e80: 206e 756c 6c3b 0a20 2020 207d 0a20 2020 null;. }. │ │ │ -00011e90: 2065 6c73 6520 6966 2028 7820 3c20 302e else if (x < 0. │ │ │ -00011ea0: 3020 2626 2065 7870 6f72 7473 2e70 7269 0 && exports.pri │ │ │ -00011eb0: 6d46 6c6f 6174 4973 496e 6669 6e69 7465 mFloatIsInfinite │ │ │ -00011ec0: 2878 2929 207b 0a20 2020 2020 2020 2072 (x)) {. r │ │ │ -00011ed0: 6574 7572 6e20 6e75 6c6c 3b0a 2020 2020 eturn null;. │ │ │ -00011ee0: 7d0a 2020 2020 656c 7365 2069 6620 2878 }. else if (x │ │ │ -00011ef0: 203e 2030 2e30 2026 2620 6578 706f 7274 > 0.0 && export │ │ │ -00011f00: 732e 7072 696d 466c 6f61 7449 7349 6e66 s.primFloatIsInf │ │ │ -00011f10: 696e 6974 6528 7829 2920 7b0a 2020 2020 inite(x)) {. │ │ │ -00011f20: 2020 2020 7265 7475 726e 206e 756c 6c3b return null; │ │ │ -00011f30: 0a20 2020 207d 0a20 2020 2065 6c73 6520 . }. else │ │ │ -00011f40: 7b0a 2020 2020 2020 2020 7661 7220 6d61 {. var ma │ │ │ -00011f50: 6e74 6973 7361 203d 2078 2c20 6578 706f ntissa = x, expo │ │ │ -00011f60: 6e65 6e74 203d 2030 3b0a 2020 2020 2020 nent = 0;. │ │ │ -00011f70: 2020 7768 696c 6520 2821 4e75 6d62 6572 while (!Number │ │ │ -00011f80: 2e69 7349 6e74 6567 6572 286d 616e 7469 .isInteger(manti │ │ │ -00011f90: 7373 6129 2920 7b0a 2020 2020 2020 2020 ssa)) {. │ │ │ -00011fa0: 2020 2020 6d61 6e74 6973 7361 202a 3d20 mantissa *= │ │ │ -00011fb0: 322e 303b 0a20 2020 2020 2020 2020 2020 2.0;. │ │ │ -00011fc0: 2065 7870 6f6e 656e 7420 2d3d 2031 3b0a exponent -= 1;. │ │ │ -00011fd0: 2020 2020 2020 2020 7d3b 0a20 2020 2020 };. │ │ │ -00011fe0: 2020 2077 6869 6c65 2028 6d61 6e74 6973 while (mantis │ │ │ -00011ff0: 7361 2025 2032 2e30 203d 3d3d 2030 2920 sa % 2.0 === 0) │ │ │ -00012000: 7b0a 2020 2020 2020 2020 2020 2020 6d61 {. ma │ │ │ -00012010: 6e74 6973 7361 202f 3d20 322e 303b 0a20 ntissa /= 2.0;. │ │ │ -00012020: 2020 2020 2020 2020 2020 2065 7870 6f6e expon │ │ │ -00012030: 656e 7420 2b3d 2031 3b0a 2020 2020 2020 ent += 1;. │ │ │ -00012040: 2020 7d0a 2020 2020 2020 2020 7265 7475 }. retu │ │ │ -00012050: 726e 207b 6d61 6e74 6973 7361 3a20 4269 rn {mantissa: Bi │ │ │ -00012060: 6749 6e74 286d 616e 7469 7373 6129 2c20 gInt(mantissa), │ │ │ -00012070: 6578 706f 6e65 6e74 3a20 4269 6749 6e74 exponent: BigInt │ │ │ -00012080: 2865 7870 6f6e 656e 7429 7d3b 0a20 2020 (exponent)};. │ │ │ -00012090: 207d 0a7d 3b0a 6578 706f 7274 732e 7570 }.};.exports.up │ │ │ -000120a0: 7269 6d46 6c6f 6174 4571 7561 6c69 7479 rimFloatEquality │ │ │ -000120b0: 203d 2066 756e 6374 696f 6e28 782c 2079 = function(x, y │ │ │ -000120c0: 2920 7b0a 2020 2020 7265 7475 726e 2078 ) {. return x │ │ │ -000120d0: 203d 3d3d 2079 3b0a 7d3b 0a65 7870 6f72 === y;.};.expor │ │ │ -000120e0: 7473 2e70 7269 6d46 6c6f 6174 4571 7561 ts.primFloatEqua │ │ │ -000120f0: 6c69 7479 203d 2066 756e 6374 696f 6e28 lity = function( │ │ │ -00012100: 7829 207b 0a20 2020 2072 6574 7572 6e20 x) {. return │ │ │ -00012110: 6675 6e63 7469 6f6e 2879 2920 7b0a 2020 function(y) {. │ │ │ -00012120: 2020 2020 2020 7265 7475 726e 2065 7870 return exp │ │ │ -00012130: 6f72 7473 2e75 7072 696d 466c 6f61 7445 orts.uprimFloatE │ │ │ -00012140: 7175 616c 6974 7928 782c 2079 293b 0a20 quality(x, y);. │ │ │ -00012150: 2020 207d 3b0a 7d3b 0a65 7870 6f72 7473 };.};.exports │ │ │ -00012160: 2e70 7269 6d46 6c6f 6174 496e 6571 7561 .primFloatInequa │ │ │ -00012170: 6c69 7479 203d 2066 756e 6374 696f 6e28 lity = function( │ │ │ -00012180: 7829 207b 0a20 2020 2072 6574 7572 6e20 x) {. return │ │ │ -00012190: 6675 6e63 7469 6f6e 2879 2920 7b0a 2020 function(y) {. │ │ │ -000121a0: 2020 2020 2020 7265 7475 726e 2078 203c return x < │ │ │ -000121b0: 3d20 793b 0a20 2020 207d 3b0a 7d3b 0a65 = y;. };.};.e │ │ │ -000121c0: 7870 6f72 7473 2e70 7269 6d46 6c6f 6174 xports.primFloat │ │ │ -000121d0: 4c65 7373 203d 2066 756e 6374 696f 6e28 Less = function( │ │ │ -000121e0: 7829 207b 0a20 2020 2072 6574 7572 6e20 x) {. return │ │ │ -000121f0: 6675 6e63 7469 6f6e 2879 2920 7b0a 2020 function(y) {. │ │ │ -00012200: 2020 2020 2020 7265 7475 726e 2078 203c return x < │ │ │ -00012210: 2079 3b0a 2020 2020 7d3b 0a7d 3b0a 6578 y;. };.};.ex │ │ │ -00012220: 706f 7274 732e 7072 696d 466c 6f61 7449 ports.primFloatI │ │ │ -00012230: 7349 6e66 696e 6974 6520 3d20 6675 6e63 sInfinite = func │ │ │ -00012240: 7469 6f6e 2878 2920 7b0a 2020 2020 7265 tion(x) {. re │ │ │ -00012250: 7475 726e 2021 4e75 6d62 6572 2e69 734e turn !Number.isN │ │ │ -00012260: 614e 2878 2920 2626 2021 4e75 6d62 6572 aN(x) && !Number │ │ │ -00012270: 2e69 7346 696e 6974 6528 7829 3b0a 7d3b .isFinite(x);.}; │ │ │ -00012280: 0a65 7870 6f72 7473 2e70 7269 6d46 6c6f .exports.primFlo │ │ │ -00012290: 6174 4973 4e61 4e20 3d20 6675 6e63 7469 atIsNaN = functi │ │ │ -000122a0: 6f6e 2878 2920 7b0a 2020 2020 7265 7475 on(x) {. retu │ │ │ -000122b0: 726e 204e 756d 6265 722e 6973 4e61 4e28 rn Number.isNaN( │ │ │ -000122c0: 7829 3b0a 7d3b 0a65 7870 6f72 7473 2e70 x);.};.exports.p │ │ │ -000122d0: 7269 6d46 6c6f 6174 4973 4e65 6761 7469 rimFloatIsNegati │ │ │ -000122e0: 7665 5a65 726f 203d 2066 756e 6374 696f veZero = functio │ │ │ -000122f0: 6e28 7829 207b 0a20 2020 2072 6574 7572 n(x) {. retur │ │ │ -00012300: 6e20 4f62 6a65 6374 2e69 7328 782c 2d30 n Object.is(x,-0 │ │ │ -00012310: 2e30 293b 0a7d 3b0a 6578 706f 7274 732e .0);.};.exports. │ │ │ -00012320: 7072 696d 466c 6f61 7449 7353 6166 6549 primFloatIsSafeI │ │ │ -00012330: 6e74 6567 6572 203d 2066 756e 6374 696f nteger = functio │ │ │ -00012340: 6e28 7829 207b 0a20 2020 2072 6574 7572 n(x) {. retur │ │ │ -00012350: 6e20 4e75 6d62 6572 2e69 7353 6166 6549 n Number.isSafeI │ │ │ -00012360: 6e74 6567 6572 2878 293b 0a7d 3b0a 0a0a nteger(x);.};... │ │ │ -00012370: 2f2f 2054 6865 7365 2057 4f52 4436 3420 // These WORD64 │ │ │ -00012380: 7661 6c75 6573 2077 6572 6520 6f62 7461 values were obta │ │ │ -00012390: 696e 6564 2076 6961 2060 6361 7374 446f ined via `castDo │ │ │ -000123a0: 7562 6c65 546f 576f 7264 3634 6020 696e ubleToWord64` in │ │ │ -000123b0: 2048 6173 6b65 6c6c 3a0a 636f 6e73 7420 Haskell:.const │ │ │ -000123c0: 574f 5244 3634 5f50 4f53 5f49 4e46 2020 WORD64_POS_INF │ │ │ -000123d0: 3d20 3932 3138 3836 3834 3337 3232 3734 = 92188684372274 │ │ │ -000123e0: 3035 3331 326e 3b0a 636f 6e73 7420 574f 05312n;.const WO │ │ │ -000123f0: 5244 3634 5f4e 4547 5f49 4e46 2020 3d20 RD64_NEG_INF = │ │ │ -00012400: 3138 3434 3232 3430 3437 3430 3832 3138 1844224047408218 │ │ │ -00012410: 3131 3230 6e3b 0a63 6f6e 7374 2057 4f52 1120n;.const WOR │ │ │ -00012420: 4436 345f 504f 535f 5a45 524f 203d 2030 D64_POS_ZERO = 0 │ │ │ -00012430: 6e3b 0a63 6f6e 7374 2057 4f52 4436 345f n;.const WORD64_ │ │ │ -00012440: 4e45 475f 5a45 524f 203d 2039 3232 3333 NEG_ZERO = 92233 │ │ │ -00012450: 3732 3033 3638 3534 3737 3538 3038 6e3b 72036854775808n; │ │ │ -00012460: 0a0a 6578 706f 7274 732e 7072 696d 466c ..exports.primFl │ │ │ -00012470: 6f61 7454 6f57 6f72 6436 3420 3d20 6675 oatToWord64 = fu │ │ │ -00012480: 6e63 7469 6f6e 2878 2920 7b0a 2020 2020 nction(x) {. │ │ │ -00012490: 6966 2028 6578 706f 7274 732e 7072 696d if (exports.prim │ │ │ -000124a0: 466c 6f61 7449 734e 614e 2878 2929 207b FloatIsNaN(x)) { │ │ │ -000124b0: 0a20 2020 2020 2020 2072 6574 7572 6e20 . return │ │ │ -000124c0: 6e75 6c6c 3b0a 2020 2020 7d0a 2020 2020 null;. }. │ │ │ -000124d0: 656c 7365 2069 6620 2878 203c 2030 2e30 else if (x < 0.0 │ │ │ -000124e0: 2026 2620 6578 706f 7274 732e 7072 696d && exports.prim │ │ │ -000124f0: 466c 6f61 7449 7349 6e66 696e 6974 6528 FloatIsInfinite( │ │ │ -00012500: 7829 2920 7b0a 2020 2020 2020 2020 7265 x)) {. re │ │ │ -00012510: 7475 726e 2057 4f52 4436 345f 4e45 475f turn WORD64_NEG_ │ │ │ -00012520: 494e 463b 0a20 2020 207d 0a20 2020 2065 INF;. }. e │ │ │ -00012530: 6c73 6520 6966 2028 7820 3e20 302e 3020 lse if (x > 0.0 │ │ │ -00012540: 2626 2065 7870 6f72 7473 2e70 7269 6d46 && exports.primF │ │ │ -00012550: 6c6f 6174 4973 496e 6669 6e69 7465 2878 loatIsInfinite(x │ │ │ -00012560: 2929 207b 0a20 2020 2020 2020 2072 6574 )) {. ret │ │ │ -00012570: 7572 6e20 574f 5244 3634 5f50 4f53 5f49 urn WORD64_POS_I │ │ │ -00012580: 4e46 3b0a 2020 2020 7d0a 2020 2020 656c NF;. }. el │ │ │ -00012590: 7365 2069 6620 2865 7870 6f72 7473 2e70 se if (exports.p │ │ │ -000125a0: 7269 6d46 6c6f 6174 4973 4e65 6761 7469 rimFloatIsNegati │ │ │ -000125b0: 7665 5a65 726f 2878 2929 207b 0a20 2020 veZero(x)) {. │ │ │ -000125c0: 2020 2020 2072 6574 7572 6e20 574f 5244 return WORD │ │ │ -000125d0: 3634 5f4e 4547 5f5a 4552 4f3b 0a20 2020 64_NEG_ZERO;. │ │ │ -000125e0: 207d 0a20 2020 2065 6c73 6520 6966 2028 }. else if ( │ │ │ -000125f0: 7820 3d3d 2030 2e30 2920 7b0a 2020 2020 x == 0.0) {. │ │ │ -00012600: 2020 2020 7265 7475 726e 2057 4f52 4436 return WORD6 │ │ │ -00012610: 345f 504f 535f 5a45 524f 3b0a 2020 2020 4_POS_ZERO;. │ │ │ -00012620: 7d0a 2020 2020 656c 7365 207b 0a20 2020 }. else {. │ │ │ -00012630: 2020 2020 2076 6172 206d 616e 7469 7373 var mantiss │ │ │ -00012640: 612c 2065 7870 6f6e 656e 743b 0a20 2020 a, exponent;. │ │ │ -00012650: 2020 2020 2028 7b6d 616e 7469 7373 612c ({mantissa, │ │ │ -00012660: 2065 7870 6f6e 656e 747d 203d 2065 7870 exponent} = exp │ │ │ -00012670: 6f72 7473 2e5f 7072 696d 466c 6f61 7444 orts._primFloatD │ │ │ -00012680: 6563 6f64 6528 7829 293b 0a20 2020 2020 ecode(x));. │ │ │ -00012690: 2020 2076 6172 2073 6967 6e20 3d20 4d61 var sign = Ma │ │ │ -000126a0: 7468 2e73 6967 6e28 6d61 6e74 6973 7361 th.sign(mantissa │ │ │ -000126b0: 293b 0a20 2020 2020 2020 2063 6f6e 736f );. conso │ │ │ -000126c0: 6c65 2e6c 6f67 286d 616e 7469 7373 6129 le.log(mantissa) │ │ │ -000126d0: 3b0a 2020 2020 2020 2020 6d61 6e74 6973 ;. mantis │ │ │ -000126e0: 7361 202a 3d20 7369 676e 3b0a 2020 2020 sa *= sign;. │ │ │ -000126f0: 2020 2020 7369 676e 203d 2028 7369 676e sign = (sign │ │ │ -00012700: 203d 3d3d 202d 3120 3f20 2231 2220 3a20 === -1 ? "1" : │ │ │ -00012710: 2230 2229 3b0a 2020 2020 2020 2020 6d61 "0");. ma │ │ │ -00012720: 6e74 6973 7361 203d 2028 6d61 6e74 6973 ntissa = (mantis │ │ │ -00012730: 7361 2e74 6f53 7472 696e 6728 3229 292e sa.toString(2)). │ │ │ -00012740: 7061 6453 7461 7274 2831 312c 2022 3022 padStart(11, "0" │ │ │ -00012750: 293b 0a20 2020 2020 2020 2065 7870 6f6e );. expon │ │ │ -00012760: 656e 7420 3d20 286d 616e 7469 7373 612e ent = (mantissa. │ │ │ -00012770: 746f 5374 7269 6e67 2832 2929 2e70 6164 toString(2)).pad │ │ │ -00012780: 5374 6172 7428 3532 2c20 2230 2229 3b0a Start(52, "0");. │ │ │ -00012790: 2020 2020 2020 2020 7265 7475 726e 2042 return B │ │ │ -000127a0: 6967 496e 7428 7061 7273 6549 6e74 2873 igInt(parseInt(s │ │ │ -000127b0: 6967 6e20 2b20 6d61 6e74 6973 7361 202b ign + mantissa + │ │ │ -000127c0: 2065 7870 6f6e 656e 742c 2032 2929 3b0a exponent, 2));. │ │ │ -000127d0: 2020 2020 7d0a 7d3b 0a0a 2f2f 2070 7269 }.};..// pri │ │ │ -000127e0: 6d4e 6174 546f 466c 6f61 7420 3a20 4e61 mNatToFloat : Na │ │ │ -000127f0: 7420 2d3e 2046 6c6f 6174 0a65 7870 6f72 t -> Float.expor │ │ │ -00012800: 7473 2e70 7269 6d4e 6174 546f 466c 6f61 ts.primNatToFloa │ │ │ -00012810: 7420 3d20 4e75 6d62 6572 3b0a 0a2f 2f20 t = Number;..// │ │ │ -00012820: 7072 696d 496e 7454 6f46 6c6f 6174 203a primIntToFloat : │ │ │ -00012830: 2049 6e74 202d 3e20 466c 6f61 740a 6578 Int -> Float.ex │ │ │ -00012840: 706f 7274 732e 7072 696d 496e 7454 6f46 ports.primIntToF │ │ │ -00012850: 6c6f 6174 203d 204e 756d 6265 723b 0a0a loat = Number;.. │ │ │ -00012860: 2f2f 2070 7269 6d52 6174 696f 546f 466c // primRatioToFl │ │ │ -00012870: 6f61 7420 3a20 496e 7420 2d3e 2049 6e74 oat : Int -> Int │ │ │ -00012880: 202d 3e20 466c 6f61 740a 6578 706f 7274 -> Float.export │ │ │ -00012890: 732e 7072 696d 5261 7469 6f54 6f46 6c6f s.primRatioToFlo │ │ │ -000128a0: 6174 203d 2078 203d 3e20 7920 3d3e 204e at = x => y => N │ │ │ -000128b0: 756d 6265 7228 7829 202f 204e 756d 6265 umber(x) / Numbe │ │ │ -000128c0: 7228 7929 3b0a 0a2f 2f20 7570 7269 6d46 r(y);..// uprimF │ │ │ -000128d0: 6c6f 6174 456e 636f 6465 203a 2028 496e loatEncode : (In │ │ │ -000128e0: 742c 2049 6e74 2920 2d3e 204d 6179 6265 t, Int) -> Maybe │ │ │ -000128f0: 2046 6c6f 6174 0a65 7870 6f72 7473 2e75 Float.exports.u │ │ │ -00012900: 7072 696d 466c 6f61 7445 6e63 6f64 6520 primFloatEncode │ │ │ -00012910: 3d20 2878 2c20 7929 203d 3e20 7b0a 2020 = (x, y) => {. │ │ │ -00012920: 636f 6e73 7420 6d61 6e74 6973 7361 203d const mantissa = │ │ │ -00012930: 204e 756d 6265 7228 7829 3b0a 2020 636f Number(x);. co │ │ │ -00012940: 6e73 7420 6578 706f 6e65 6e74 203d 204e nst exponent = N │ │ │ -00012950: 756d 6265 7228 7929 3b0a 0a20 2069 6620 umber(y);.. if │ │ │ -00012960: 284e 756d 6265 722e 6973 5361 6665 496e (Number.isSafeIn │ │ │ -00012970: 7465 6765 7228 6d61 6e74 6973 7361 2920 teger(mantissa) │ │ │ -00012980: 2626 202d 3130 3234 203c 3d20 6578 706f && -1024 <= expo │ │ │ -00012990: 6e65 6e74 2026 2620 6578 706f 6e65 6e74 nent && exponent │ │ │ -000129a0: 203c 3d20 3130 3234 2920 7b0a 2020 2020 <= 1024) {. │ │ │ -000129b0: 7265 7475 726e 206d 616e 7469 7373 6120 return mantissa │ │ │ -000129c0: 2a20 2832 202a 2a20 6578 706f 6e65 6e74 * (2 ** exponent │ │ │ -000129d0: 293b 0a20 207d 0a0a 2020 656c 7365 207b );. }.. else { │ │ │ -000129e0: 0a20 2020 2072 6574 7572 6e20 6e75 6c6c . return null │ │ │ -000129f0: 3b0a 2020 7d0a 7d3b 0a0a 6578 706f 7274 ;. }.};..export │ │ │ -00012a00: 732e 7072 696d 5368 6f77 466c 6f61 7420 s.primShowFloat │ │ │ -00012a10: 3d20 6675 6e63 7469 6f6e 2878 2920 7b0a = function(x) {. │ │ │ -00012a20: 2020 2020 2f2f 2053 6565 2049 7373 7565 // See Issue │ │ │ -00012a30: 2023 3231 3932 2e0a 2020 2020 6966 2028 #2192.. if ( │ │ │ -00012a40: 4e75 6d62 6572 2e69 7349 6e74 6567 6572 Number.isInteger │ │ │ -00012a50: 2878 2929 207b 0a20 2020 2020 2020 2069 (x)) {. i │ │ │ -00012a60: 6620 2865 7870 6f72 7473 2e70 7269 6d46 f (exports.primF │ │ │ -00012a70: 6c6f 6174 4973 4e65 6761 7469 7665 5a65 loatIsNegativeZe │ │ │ -00012a80: 726f 2878 2929 207b 0a20 2020 2020 2020 ro(x)) {. │ │ │ -00012a90: 2020 2020 2072 6574 7572 6e20 2822 2d30 return ("-0 │ │ │ -00012aa0: 2e30 2229 3b0a 2020 2020 2020 2020 7d20 .0");. } │ │ │ -00012ab0: 656c 7365 207b 0a20 2020 2020 2020 2020 else {. │ │ │ -00012ac0: 2020 2072 6574 7572 6e20 2878 2e74 6f53 return (x.toS │ │ │ -00012ad0: 7472 696e 6728 2920 2b20 222e 3022 293b tring() + ".0"); │ │ │ -00012ae0: 0a20 2020 2020 2020 207d 0a20 2020 207d . }. } │ │ │ -00012af0: 2065 6c73 6520 7b0a 2020 2020 2020 2020 else {. │ │ │ -00012b00: 7265 7475 726e 2078 2e74 6f53 7472 696e return x.toStrin │ │ │ -00012b10: 6728 293b 0a20 2020 207d 0a7d 3b0a 6578 g();. }.};.ex │ │ │ -00012b20: 706f 7274 732e 7072 696d 466c 6f61 7450 ports.primFloatP │ │ │ -00012b30: 6c75 7320 3d20 6675 6e63 7469 6f6e 2878 lus = function(x │ │ │ -00012b40: 2920 7b0a 2020 2020 7265 7475 726e 2066 ) {. return f │ │ │ -00012b50: 756e 6374 696f 6e28 7929 207b 0a20 2020 unction(y) {. │ │ │ -00012b60: 2020 2020 2072 6574 7572 6e20 7820 2b20 return x + │ │ │ -00012b70: 793b 0a20 2020 207d 3b0a 7d3b 0a65 7870 y;. };.};.exp │ │ │ -00012b80: 6f72 7473 2e70 7269 6d46 6c6f 6174 4d69 orts.primFloatMi │ │ │ -00012b90: 6e75 7320 3d20 6675 6e63 7469 6f6e 2878 nus = function(x │ │ │ -00012ba0: 2920 7b0a 2020 2020 7265 7475 726e 2066 ) {. return f │ │ │ -00012bb0: 756e 6374 696f 6e28 7929 207b 0a20 2020 unction(y) {. │ │ │ -00012bc0: 2020 2020 2072 6574 7572 6e20 7820 2d20 return x - │ │ │ -00012bd0: 793b 0a20 2020 207d 3b0a 7d3b 0a65 7870 y;. };.};.exp │ │ │ -00012be0: 6f72 7473 2e70 7269 6d46 6c6f 6174 5469 orts.primFloatTi │ │ │ -00012bf0: 6d65 7320 3d20 6675 6e63 7469 6f6e 2878 mes = function(x │ │ │ -00012c00: 2920 7b0a 2020 2020 7265 7475 726e 2066 ) {. return f │ │ │ -00012c10: 756e 6374 696f 6e28 7929 207b 0a20 2020 unction(y) {. │ │ │ -00012c20: 2020 2020 2072 6574 7572 6e20 7820 2a20 return x * │ │ │ -00012c30: 793b 0a20 2020 207d 3b0a 7d3b 0a65 7870 y;. };.};.exp │ │ │ -00012c40: 6f72 7473 2e70 7269 6d46 6c6f 6174 4e65 orts.primFloatNe │ │ │ -00012c50: 6761 7465 203d 2066 756e 6374 696f 6e28 gate = function( │ │ │ -00012c60: 7829 207b 0a20 2020 2072 6574 7572 6e20 x) {. return │ │ │ -00012c70: 2d78 3b0a 7d3b 0a65 7870 6f72 7473 2e70 -x;.};.exports.p │ │ │ -00012c80: 7269 6d46 6c6f 6174 4469 7620 3d20 6675 rimFloatDiv = fu │ │ │ -00012c90: 6e63 7469 6f6e 2878 2920 7b0a 2020 7265 nction(x) {. re │ │ │ -00012ca0: 7475 726e 2066 756e 6374 696f 6e28 7929 turn function(y) │ │ │ -00012cb0: 207b 0a20 2020 2072 6574 7572 6e20 7820 {. return x │ │ │ -00012cc0: 2f20 793b 0a20 207d 3b0a 7d3b 0a65 7870 / y;. };.};.exp │ │ │ -00012cd0: 6f72 7473 2e70 7269 6d46 6c6f 6174 506f orts.primFloatPo │ │ │ -00012ce0: 7720 3d20 6675 6e63 7469 6f6e 2878 2920 w = function(x) │ │ │ -00012cf0: 7b0a 2020 2020 7265 7475 726e 2066 756e {. return fun │ │ │ -00012d00: 6374 696f 6e28 7929 207b 0a20 2020 2020 ction(y) {. │ │ │ -00012d10: 2020 2072 6574 7572 6e20 7820 2a2a 2079 return x ** y │ │ │ -00012d20: 3b0a 2020 2020 7d3b 0a7d 3b0a 6578 706f ;. };.};.expo │ │ │ -00012d30: 7274 732e 7072 696d 466c 6f61 7453 7172 rts.primFloatSqr │ │ │ -00012d40: 7420 3d20 6675 6e63 7469 6f6e 2878 2920 t = function(x) │ │ │ -00012d50: 7b0a 2020 2020 7265 7475 726e 204d 6174 {. return Mat │ │ │ -00012d60: 682e 7371 7274 2878 293b 0a7d 3b0a 6578 h.sqrt(x);.};.ex │ │ │ -00012d70: 706f 7274 732e 7072 696d 466c 6f61 7445 ports.primFloatE │ │ │ -00012d80: 7870 203d 2066 756e 6374 696f 6e28 7829 xp = function(x) │ │ │ -00012d90: 207b 0a20 2020 2072 6574 7572 6e20 4d61 {. return Ma │ │ │ -00012da0: 7468 2e65 7870 2878 293b 0a7d 3b0a 6578 th.exp(x);.};.ex │ │ │ -00012db0: 706f 7274 732e 7072 696d 466c 6f61 744c ports.primFloatL │ │ │ -00012dc0: 6f67 203d 2066 756e 6374 696f 6e28 7829 og = function(x) │ │ │ -00012dd0: 207b 0a20 2020 2072 6574 7572 6e20 4d61 {. return Ma │ │ │ -00012de0: 7468 2e6c 6f67 2878 293b 0a7d 3b0a 6578 th.log(x);.};.ex │ │ │ -00012df0: 706f 7274 732e 7072 696d 466c 6f61 7453 ports.primFloatS │ │ │ -00012e00: 696e 203d 2066 756e 6374 696f 6e28 7829 in = function(x) │ │ │ -00012e10: 207b 0a20 2020 2072 6574 7572 6e20 4d61 {. return Ma │ │ │ -00012e20: 7468 2e73 696e 2878 293b 0a7d 3b0a 6578 th.sin(x);.};.ex │ │ │ -00012e30: 706f 7274 732e 7072 696d 466c 6f61 7443 ports.primFloatC │ │ │ -00012e40: 6f73 203d 2066 756e 6374 696f 6e28 7829 os = function(x) │ │ │ -00012e50: 207b 0a20 2020 2072 6574 7572 6e20 4d61 {. return Ma │ │ │ -00012e60: 7468 2e63 6f73 2878 293b 0a7d 3b0a 6578 th.cos(x);.};.ex │ │ │ -00012e70: 706f 7274 732e 7072 696d 466c 6f61 7454 ports.primFloatT │ │ │ -00012e80: 616e 203d 2066 756e 6374 696f 6e28 7829 an = function(x) │ │ │ -00012e90: 207b 0a20 2020 2072 6574 7572 6e20 4d61 {. return Ma │ │ │ -00012ea0: 7468 2e74 616e 2878 293b 0a7d 3b0a 6578 th.tan(x);.};.ex │ │ │ -00012eb0: 706f 7274 732e 7072 696d 466c 6f61 7441 ports.primFloatA │ │ │ -00012ec0: 5369 6e20 3d20 6675 6e63 7469 6f6e 2878 Sin = function(x │ │ │ -00012ed0: 2920 7b0a 2020 2020 7265 7475 726e 204d ) {. return M │ │ │ -00012ee0: 6174 682e 6173 696e 2878 293b 0a7d 3b0a ath.asin(x);.};. │ │ │ -00012ef0: 6578 706f 7274 732e 7072 696d 466c 6f61 exports.primFloa │ │ │ -00012f00: 7441 436f 7320 3d20 6675 6e63 7469 6f6e tACos = function │ │ │ -00012f10: 2878 2920 7b0a 2020 2020 7265 7475 726e (x) {. return │ │ │ -00012f20: 204d 6174 682e 6163 6f73 2878 293b 0a7d Math.acos(x);.} │ │ │ -00012f30: 3b0a 6578 706f 7274 732e 7072 696d 466c ;.exports.primFl │ │ │ -00012f40: 6f61 7441 5461 6e20 3d20 6675 6e63 7469 oatATan = functi │ │ │ -00012f50: 6f6e 2878 2920 7b0a 2020 2020 7265 7475 on(x) {. retu │ │ │ -00012f60: 726e 204d 6174 682e 6174 616e 2878 293b rn Math.atan(x); │ │ │ -00012f70: 0a7d 3b0a 6578 706f 7274 732e 7072 696d .};.exports.prim │ │ │ -00012f80: 466c 6f61 7441 5461 6e32 203d 2066 756e FloatATan2 = fun │ │ │ -00012f90: 6374 696f 6e28 7829 207b 0a20 2020 2072 ction(x) {. r │ │ │ -00012fa0: 6574 7572 6e20 6675 6e63 7469 6f6e 2879 eturn function(y │ │ │ -00012fb0: 297b 0a20 2020 2020 2020 2072 6574 7572 ){. retur │ │ │ -00012fc0: 6e20 4d61 7468 2e61 7461 6e32 2878 2c20 n Math.atan2(x, │ │ │ -00012fd0: 7929 3b0a 2020 2020 7d3b 0a7d 3b0a 6578 y);. };.};.ex │ │ │ -00012fe0: 706f 7274 732e 7072 696d 466c 6f61 7453 ports.primFloatS │ │ │ -00012ff0: 696e 6820 3d20 6675 6e63 7469 6f6e 2878 inh = function(x │ │ │ -00013000: 2920 7b0a 2020 2020 7265 7475 726e 204d ) {. return M │ │ │ -00013010: 6174 682e 7369 6e68 2878 293b 0a7d 3b0a ath.sinh(x);.};. │ │ │ -00013020: 6578 706f 7274 732e 7072 696d 466c 6f61 exports.primFloa │ │ │ -00013030: 7443 6f73 6820 3d20 6675 6e63 7469 6f6e tCosh = function │ │ │ -00013040: 2878 2920 7b0a 2020 2020 7265 7475 726e (x) {. return │ │ │ -00013050: 204d 6174 682e 636f 7368 2878 293b 0a7d Math.cosh(x);.} │ │ │ -00013060: 3b0a 6578 706f 7274 732e 7072 696d 466c ;.exports.primFl │ │ │ -00013070: 6f61 7454 616e 6820 3d20 6675 6e63 7469 oatTanh = functi │ │ │ -00013080: 6f6e 2878 2920 7b0a 2020 2020 7265 7475 on(x) {. retu │ │ │ -00013090: 726e 204d 6174 682e 7461 6e68 2878 293b rn Math.tanh(x); │ │ │ -000130a0: 0a7d 3b0a 6578 706f 7274 732e 7072 696d .};.exports.prim │ │ │ -000130b0: 466c 6f61 7441 5369 6e68 203d 2066 756e FloatASinh = fun │ │ │ -000130c0: 6374 696f 6e28 7829 207b 0a20 2020 2072 ction(x) {. r │ │ │ -000130d0: 6574 7572 6e20 4d61 7468 2e61 7369 6e68 eturn Math.asinh │ │ │ -000130e0: 2878 293b 0a7d 3b0a 6578 706f 7274 732e (x);.};.exports. │ │ │ -000130f0: 7072 696d 466c 6f61 7441 436f 7368 203d primFloatACosh = │ │ │ -00013100: 2066 756e 6374 696f 6e28 7829 207b 0a20 function(x) {. │ │ │ -00013110: 2020 2072 6574 7572 6e20 4d61 7468 2e61 return Math.a │ │ │ -00013120: 636f 7368 2878 293b 0a7d 3b0a 6578 706f cosh(x);.};.expo │ │ │ -00013130: 7274 732e 7072 696d 466c 6f61 7441 5461 rts.primFloatATa │ │ │ -00013140: 6e68 203d 2066 756e 6374 696f 6e28 7829 nh = function(x) │ │ │ -00013150: 207b 0a20 2020 2072 6574 7572 6e20 4d61 {. return Ma │ │ │ -00013160: 7468 2e61 7461 6e68 2878 293b 0a7d 3b0a th.atanh(x);.};. │ │ │ -00013170: 0a2f 2f20 4375 6269 6361 6c20 7072 696d .// Cubical prim │ │ │ -00013180: 6974 6976 6573 2e0a 6578 706f 7274 732e itives..exports. │ │ │ -00013190: 7072 696d 494d 696e 203d 2078 203d 3e20 primIMin = x => │ │ │ -000131a0: 7920 3d3e 2078 2026 2620 793b 0a65 7870 y => x && y;.exp │ │ │ -000131b0: 6f72 7473 2e70 7269 6d49 4d61 7820 3d20 orts.primIMax = │ │ │ -000131c0: 7820 3d3e 2079 203d 3e20 7820 7c7c 2079 x => y => x || y │ │ │ -000131d0: 3b0a 6578 706f 7274 732e 7072 696d 494e ;.exports.primIN │ │ │ -000131e0: 6567 203d 2078 203d 3e20 2178 3b0a 6578 eg = x => !x;.ex │ │ │ -000131f0: 706f 7274 732e 7072 696d 5061 7274 6961 ports.primPartia │ │ │ -00013200: 6c20 3d20 5f20 3d3e 205f 203d 3e20 7820 l = _ => _ => x │ │ │ -00013210: 3d3e 2078 3b0a 6578 706f 7274 732e 7072 => x;.exports.pr │ │ │ -00013220: 696d 5061 7274 6961 6c50 203d 205f 203d imPartialP = _ = │ │ │ -00013230: 3e20 5f20 3d3e 2078 203d 3e20 783b 0a65 > _ => x => x;.e │ │ │ -00013240: 7870 6f72 7473 2e70 7269 6d50 4f72 203d xports.primPOr = │ │ │ -00013250: 205f 203d 3e20 6920 3d3e 205f 203d 3e20 _ => i => _ => │ │ │ -00013260: 5f20 3d3e 2078 203d 3e20 7920 3d3e 2069 _ => x => y => i │ │ │ -00013270: 203f 2078 203a 2079 3b0a 6578 706f 7274 ? x : y;.export │ │ │ -00013280: 732e 7072 696d 436f 6d70 203d 205f 203d s.primComp = _ = │ │ │ -00013290: 3e20 5f20 3d3e 205f 203d 3e20 5f20 3d3e > _ => _ => _ => │ │ │ -000132a0: 2078 203d 3e20 783b 0a65 7870 6f72 7473 x => x;.exports │ │ │ -000132b0: 2e70 7269 6d54 7261 6e73 7020 3d20 5f20 .primTransp = _ │ │ │ -000132c0: 3d3e 205f 203d 3e20 5f20 3d3e 2078 203d => _ => _ => x = │ │ │ -000132d0: 3e20 783b 0a65 7870 6f72 7473 2e70 7269 > x;.exports.pri │ │ │ -000132e0: 6d48 436f 6d70 203d 205f 203d 3e20 5f20 mHComp = _ => _ │ │ │ -000132f0: 3d3e 205f 203d 3e20 5f20 3d3e 2078 203d => _ => _ => x = │ │ │ -00013300: 3e20 783b 0a65 7870 6f72 7473 2e70 7269 > x;.exports.pri │ │ │ -00013310: 6d53 7562 4f75 7420 3d20 5f20 3d3e 205f mSubOut = _ => _ │ │ │ -00013320: 203d 3e20 5f20 3d3e 205f 203d 3e20 7820 => _ => _ => x │ │ │ -00013330: 3d3e 2078 3b0a 6578 706f 7274 732e 7072 => x;.exports.pr │ │ │ -00013340: 696d 5f67 6c75 6555 203d 205f 203d 3e20 im_glueU = _ => │ │ │ -00013350: 5f20 3d3e 205f 203d 3e20 5f20 3d3e 205f _ => _ => _ => _ │ │ │ -00013360: 203d 3e20 7820 3d3e 2078 3b0a 6578 706f => x => x;.expo │ │ │ -00013370: 7274 732e 7072 696d 5f75 6e67 6c75 6555 rts.prim_unglueU │ │ │ -00013380: 203d 205f 203d 3e20 5f20 3d3e 205f 203d = _ => _ => _ = │ │ │ -00013390: 3e20 5f20 3d3e 2078 203d 3e20 783b 0a65 > _ => x => x;.e │ │ │ -000133a0: 7870 6f72 7473 2e70 7269 6d46 6163 6546 xports.primFaceF │ │ │ -000133b0: 6f72 616c 6c20 3d20 6620 3d3e 2066 2874 orall = f => f(t │ │ │ -000133c0: 7275 6529 203d 3d20 7472 7565 2026 2620 rue) == true && │ │ │ -000133d0: 6628 6661 6c73 6529 203d 3d20 6661 6c73 f(false) == fals │ │ │ -000133e0: 653b 0a0a 2f2f 204f 7468 6572 2073 7475 e;..// Other stu │ │ │ -000133f0: 6666 0a0a 2f2f 2070 7269 6d53 6571 203a ff..// primSeq : │ │ │ -00013400: 2028 582c 2059 2920 2d3e 2059 0a65 7870 (X, Y) -> Y.exp │ │ │ -00013410: 6f72 7473 2e70 7269 6d53 6571 203d 2028 orts.primSeq = ( │ │ │ -00013420: 782c 2079 2920 3d3e 2079 3b0a 0a2f 2f20 x, y) => y;..// │ │ │ -00013430: 7570 7269 6d51 4e61 6d65 4571 7561 6c69 uprimQNameEquali │ │ │ -00013440: 7479 203a 2028 4e61 6d65 2c20 4e61 6d65 ty : (Name, Name │ │ │ -00013450: 2920 2d3e 2042 6f6f 6c0a 6578 706f 7274 ) -> Bool.export │ │ │ -00013460: 732e 7570 7269 6d51 4e61 6d65 4571 7561 s.uprimQNameEqua │ │ │ -00013470: 6c69 7479 203d 2028 782c 2079 2920 3d3e lity = (x, y) => │ │ │ -00013480: 2078 5b27 6964 275d 203d 3d3d 2079 5b27 x['id'] === y[' │ │ │ -00013490: 6964 275d 2026 2620 785b 276d 6f64 756c id'] && x['modul │ │ │ -000134a0: 6549 6427 5d20 3d3d 3d20 795b 276d 6f64 eId'] === y['mod │ │ │ -000134b0: 756c 6549 6427 5d3b 0a0a 2f2f 2070 7269 uleId'];..// pri │ │ │ -000134c0: 6d51 4e61 6d65 4571 7561 6c69 7479 203a mQNameEquality : │ │ │ -000134d0: 204e 616d 6520 2d3e 204e 616d 6520 2d3e Name -> Name -> │ │ │ -000134e0: 2042 6f6f 6c0a 6578 706f 7274 732e 7072 Bool.exports.pr │ │ │ -000134f0: 696d 514e 616d 6545 7175 616c 6974 7920 imQNameEquality │ │ │ -00013500: 3d20 7820 3d3e 2079 203d 3e20 6578 706f = x => y => expo │ │ │ -00013510: 7274 732e 7570 7269 6d51 4e61 6d65 4571 rts.uprimQNameEq │ │ │ -00013520: 7561 6c69 7479 2878 2c20 7929 3b0a 0a2f uality(x, y);../ │ │ │ -00013530: 2f20 7072 696d 514e 616d 654c 6573 7320 / primQNameLess │ │ │ -00013540: 3a20 4e61 6d65 202d 3e20 4e61 6d65 202d : Name -> Name - │ │ │ -00013550: 3e20 426f 6f6c 0a65 7870 6f72 7473 2e70 > Bool.exports.p │ │ │ -00013560: 7269 6d51 4e61 6d65 4c65 7373 203d 2078 rimQNameLess = x │ │ │ -00013570: 203d 3e20 7920 3d3e 2078 5b27 6964 275d => y => x['id'] │ │ │ -00013580: 203d 3d3d 2079 5b27 6964 275d 203f 2078 === y['id'] ? x │ │ │ -00013590: 5b27 6d6f 6475 6c65 4964 275d 203c 2079 ['moduleId'] < y │ │ │ -000135a0: 5b27 6d6f 6475 6c65 4964 275d 203a 2078 ['moduleId'] : x │ │ │ -000135b0: 5b27 6964 275d 203c 2079 5b27 6964 275d ['id'] < y['id'] │ │ │ -000135c0: 3b0a 0a2f 2f20 7072 696d 5368 6f77 514e ;..// primShowQN │ │ │ -000135d0: 616d 6520 3a20 4e61 6d65 202d 3e20 5374 ame : Name -> St │ │ │ -000135e0: 7269 6e67 0a65 7870 6f72 7473 2e70 7269 ring.exports.pri │ │ │ -000135f0: 6d53 686f 7751 4e61 6d65 203d 2078 203d mShowQName = x = │ │ │ -00013600: 3e20 785b 276e 616d 6527 5d3b 0a0a 2f2f > x['name'];..// │ │ │ -00013610: 2070 7269 6d51 4e61 6d65 4669 7869 7479 primQNameFixity │ │ │ -00013620: 203a 204e 616d 6520 2d3e 2046 6978 6974 : Name -> Fixit │ │ │ -00013630: 790a 6578 706f 7274 732e 7072 696d 514e y.exports.primQN │ │ │ -00013640: 616d 6546 6978 6974 7920 3d20 7820 3d3e ameFixity = x => │ │ │ -00013650: 2078 5b27 6669 7869 7479 275d 3b0a 0a2f x['fixity'];../ │ │ │ -00013660: 2f20 4d65 7461 0a0a 2f2f 2070 7269 6d53 / Meta..// primS │ │ │ -00013670: 686f 774d 6574 6120 3a20 4d65 7461 202d howMeta : Meta - │ │ │ -00013680: 3e20 5374 7269 6e67 0a2f 2f20 2020 5368 > String.// Sh │ │ │ -00013690: 6f75 6c64 2062 6520 6b65 7074 2069 6e20 ould be kept in │ │ │ -000136a0: 7379 6e63 2077 6974 6820 7665 7273 696f sync with versio │ │ │ -000136b0: 6e20 696e 2060 7072 696d 6974 6976 6546 n in `primitiveF │ │ │ -000136c0: 756e 6374 696f 6e73 6020 696e 0a2f 2f20 unctions` in.// │ │ │ -000136d0: 2020 4167 6461 2e54 7970 6543 6865 636b Agda.TypeCheck │ │ │ -000136e0: 696e 672e 5072 696d 6974 6976 650a 6578 ing.Primitive.ex │ │ │ -000136f0: 706f 7274 732e 7072 696d 5368 6f77 4d65 ports.primShowMe │ │ │ -00013700: 7461 203d 2078 203d 3e20 225f 2220 2b20 ta = x => "_" + │ │ │ -00013710: 785b 2769 6427 5d20 2b20 2240 2220 2b20 x['id'] + "@" + │ │ │ -00013720: 785b 276d 6f64 756c 6527 5d3b 0a0a 2f2f x['module'];..// │ │ │ -00013730: 2070 7269 6d4d 6574 6154 6f4e 6174 203a primMetaToNat : │ │ │ -00013740: 204d 6574 6120 2d3e 204e 6174 0a2f 2f20 Meta -> Nat.// │ │ │ -00013750: 2020 5368 6f75 6c64 2062 6520 6b65 7074 Should be kept │ │ │ -00013760: 2069 6e20 7379 6e63 2077 6974 6820 606d in sync with `m │ │ │ -00013770: 6574 6154 6f4e 6174 6020 696e 2041 6764 etaToNat` in Agd │ │ │ -00013780: 612e 5479 7065 4368 6563 6b69 6e67 2e50 a.TypeChecking.P │ │ │ -00013790: 7269 6d69 7469 7665 0a65 7870 6f72 7473 rimitive.exports │ │ │ -000137a0: 2e70 7269 6d4d 6574 6154 6f4e 6174 203d .primMetaToNat = │ │ │ -000137b0: 2078 203d 3e20 785b 276d 6f64 756c 6527 x => x['module' │ │ │ -000137c0: 5d20 2a20 325e 3634 202b 2078 5b27 6964 ] * 2^64 + x['id │ │ │ -000137d0: 275d 3b0a 0a2f 2f20 7072 696d 4d65 7461 '];..// primMeta │ │ │ -000137e0: 4571 7561 6c69 7479 203a 204d 6574 6120 Equality : Meta │ │ │ -000137f0: 2d3e 204d 6574 6120 2d3e 2042 6f6f 6c0a -> Meta -> Bool. │ │ │ -00013800: 6578 706f 7274 732e 7072 696d 4d65 7461 exports.primMeta │ │ │ -00013810: 4571 7561 6c69 7479 203d 2078 203d 3e20 Equality = x => │ │ │ -00013820: 7920 3d3e 2078 5b27 6964 275d 203d 3d3d y => x['id'] === │ │ │ -00013830: 2079 5b27 6964 275d 2026 2620 785b 276d y['id'] && x['m │ │ │ -00013840: 6f64 756c 6527 5d20 3d3d 3d20 795b 276d odule'] === y['m │ │ │ -00013850: 6f64 756c 6527 5d3b 0a0a 2f2f 2070 7269 odule'];..// pri │ │ │ -00013860: 6d4d 6574 614c 6573 7320 3a20 4d65 7461 mMetaLess : Meta │ │ │ -00013870: 202d 3e20 4d65 7461 202d 3e20 426f 6f6c -> Meta -> Bool │ │ │ -00013880: 0a65 7870 6f72 7473 2e70 7269 6d4d 6574 .exports.primMet │ │ │ -00013890: 614c 6573 7320 3d20 7820 3d3e 2079 203d aLess = x => y = │ │ │ -000138a0: 3e20 785b 2769 6427 5d20 3d3d 3d20 795b > x['id'] === y[ │ │ │ -000138b0: 2769 6427 5d20 3f20 785b 276d 6f64 756c 'id'] ? x['modul │ │ │ -000138c0: 6527 5d20 3c20 795b 276d 6f64 756c 6527 e'] < y['module' │ │ │ -000138d0: 5d20 3a20 785b 2769 6427 5d20 3c20 795b ] : x['id'] < y[ │ │ │ -000138e0: 2769 6427 5d3b 0ad3 fece eded cfef 9e70 'id'];.........p │ │ │ -000138f0: f9af a6c1 defd ef92 f101 008e 0100 0139 ...............9 │ │ │ -00013900: 2505 2000 0001 0004 0408 0307 025e 0200 %. ..........^.. │ │ │ -00013910: 0003 0f00 0505 050b 5f0b 9401 0b61 0906 ........_....a.. │ │ │ -00013920: 0100 fdd4 00d6 b7e8 dcb1 9ad9 a443 bc94 .............C.. │ │ │ -00013930: cba5 a2d0 9ffc 2800 9401 0001 63d4 0582 ......(.....c... │ │ │ -00013940: 8080 e608 0000 0100 0304 0704 0200 0003 ................ │ │ │ -00013950: 0f00 0901 fdd4 002f 2f20 436f 6e74 6169 .......// Contai │ │ │ -00013960: 6e73 202a 6d6f 7374 2a20 6f66 2074 6865 ns *most* of the │ │ │ -00013970: 2070 7269 6d69 7469 7665 7320 7265 7175 primitives requ │ │ │ -00013980: 6972 6564 2062 7920 7468 6520 4a61 7661 ired by the Java │ │ │ -00013990: 5363 7269 7074 2062 6163 6b65 6e64 2e0a Script backend.. │ │ │ -000139a0: 2f2f 2028 536f 6d65 2c20 652e 672e 2c20 // (Some, e.g., │ │ │ -000139b0: 7468 6f73 6520 7573 696e 6720 4167 6461 those using Agda │ │ │ -000139c0: 2074 7970 6573 206c 696b 6520 4d61 7962 types like Mayb │ │ │ -000139d0: 652c 2061 7265 2064 6566 696e 6564 2069 e, are defined i │ │ │ -000139e0: 6e20 7468 6569 720a 2f2f 2072 6573 7065 n their.// respe │ │ │ -000139f0: 6374 6976 6520 6275 696c 7469 6e20 6d6f ctive builtin mo │ │ │ -00013a00: 6475 6c65 732e 290a 2f2f 0a2f 2f20 5072 dules.).//.// Pr │ │ │ -00013a10: 696d 6974 6976 6573 2070 7265 6669 7865 imitives prefixe │ │ │ -00013a20: 6420 6279 2027 7527 2061 7265 2075 6e63 d by 'u' are unc │ │ │ -00013a30: 7572 7269 6564 2076 6172 6961 6e74 732c urried variants, │ │ │ -00013a40: 2077 6869 6368 2061 7265 2073 6f6d 6574 which are somet │ │ │ -00013a50: 696d 6573 0a2f 2f20 656d 6974 7465 6420 imes.// emitted │ │ │ -00013a60: 6279 2074 6865 204a 6176 6153 6372 6970 by the JavaScrip │ │ │ -00013a70: 7420 6261 636b 656e 642e 2057 6865 6e65 t backend. Whene │ │ │ -00013a80: 7665 7220 706f 7373 6962 6c65 2c20 7468 ver possible, th │ │ │ -00013a90: 6520 6375 7272 6965 6420 7072 696d 6974 e curried primit │ │ │ -00013aa0: 6976 6573 0a2f 2f20 7368 6f75 6c64 2062 ives.// should b │ │ │ -00013ab0: 6520 696d 706c 656d 656e 7465 6420 696e e implemented in │ │ │ -00013ac0: 2074 6572 6d73 206f 6620 7468 6520 756e terms of the un │ │ │ -00013ad0: 6375 7272 6965 6420 6f6e 6573 2e0a 2f2f curried ones..// │ │ │ -00013ae0: 0a2f 2f20 5072 696d 6974 6976 6573 2070 .// Primitives p │ │ │ -00013af0: 7265 6669 7865 6420 6279 2027 5f27 2061 refixed by '_' a │ │ │ -00013b00: 7265 2069 6e74 6572 6e61 6c20 7661 7269 re internal vari │ │ │ -00013b10: 616e 7473 2c20 7573 7561 6c6c 7920 666f ants, usually fo │ │ │ -00013b20: 7220 7468 6f73 6520 7072 696d 6974 6976 r those primitiv │ │ │ -00013b30: 6573 0a2f 2f20 7768 6963 6820 7265 7475 es.// which retu │ │ │ -00013b40: 726e 2041 6764 6120 7479 7065 7320 6c69 rn Agda types li │ │ │ -00013b50: 6b65 204d 6179 6265 2e20 5468 6573 6520 ke Maybe. These │ │ │ -00013b60: 6172 6520 6e65 7665 7220 656d 6974 7465 are never emitte │ │ │ -00013b70: 6420 6279 2074 6865 2063 6f6d 7069 6c65 d by the compile │ │ │ -00013b80: 722c 0a2f 2f20 6275 7420 6361 6e20 6265 r,.// but can be │ │ │ -00013b90: 2075 7365 6420 696e 7465 726e 616c 6c79 used internally │ │ │ -00013ba0: 2074 6f20 6465 6669 6e65 206f 7468 6572 to define other │ │ │ -00013bb0: 2070 7265 6669 7865 732e 0a0a 636f 6e73 prefixes...cons │ │ │ -00013bc0: 7420 6578 706f 7274 7320 3d20 7b7d 3b0a t exports = {};. │ │ │ -00013bd0: 0a2f 2f20 496e 7465 6765 7273 0a0a 2f2f .// Integers..// │ │ │ -00013be0: 2070 7269 6d49 6e74 6567 6572 4672 6f6d primIntegerFrom │ │ │ -00013bf0: 5374 7269 6e67 203a 2053 7472 696e 6720 String : String │ │ │ -00013c00: 2d3e 2049 6e74 0a65 7870 6f72 7473 2e70 -> Int.exports.p │ │ │ -00013c10: 7269 6d49 6e74 6567 6572 4672 6f6d 5374 rimIntegerFromSt │ │ │ -00013c20: 7269 6e67 203d 2042 6967 496e 743b 0a0a ring = BigInt;.. │ │ │ -00013c30: 2f2f 2070 7269 6d53 686f 7749 6e74 6567 // primShowInteg │ │ │ -00013c40: 6572 203a 2049 6e74 202d 3e20 5374 7269 er : Int -> Stri │ │ │ -00013c50: 6e67 0a65 7870 6f72 7473 2e70 7269 6d53 ng.exports.primS │ │ │ -00013c60: 686f 7749 6e74 6567 6572 203d 2078 203d howInteger = x = │ │ │ -00013c70: 3e20 782e 746f 5374 7269 6e67 2829 3b0a > x.toString();. │ │ │ -00013c80: 0a2f 2f20 7570 7269 6d49 6e74 6567 6572 .// uprimInteger │ │ │ -00013c90: 506c 7573 203a 2028 496e 742c 2049 6e74 Plus : (Int, Int │ │ │ -00013ca0: 2920 2d3e 2049 6e74 0a65 7870 6f72 7473 ) -> Int.exports │ │ │ -00013cb0: 2e75 7072 696d 496e 7465 6765 7250 6c75 .uprimIntegerPlu │ │ │ -00013cc0: 7320 3d20 2878 2c20 7929 203d 3e20 7820 s = (x, y) => x │ │ │ -00013cd0: 2b20 793b 0a0a 2f2f 2075 7072 696d 496e + y;..// uprimIn │ │ │ -00013ce0: 7465 6765 724d 696e 7573 203a 2028 496e tegerMinus : (In │ │ │ -00013cf0: 742c 2049 6e74 2920 2d3e 2049 6e74 0a65 t, Int) -> Int.e │ │ │ -00013d00: 7870 6f72 7473 2e75 7072 696d 496e 7465 xports.uprimInte │ │ │ -00013d10: 6765 724d 696e 7573 203d 2028 782c 2079 gerMinus = (x, y │ │ │ -00013d20: 2920 3d3e 2078 202d 2079 3b0a 0a2f 2f20 ) => x - y;..// │ │ │ -00013d30: 7570 7269 6d49 6e74 6567 6572 4d75 6c74 uprimIntegerMult │ │ │ -00013d40: 6970 6c79 203a 2028 496e 742c 2049 6e74 iply : (Int, Int │ │ │ -00013d50: 2920 2d3e 2049 6e74 0a65 7870 6f72 7473 ) -> Int.exports │ │ │ -00013d60: 2e75 7072 696d 496e 7465 6765 724d 756c .uprimIntegerMul │ │ │ -00013d70: 7469 706c 7920 3d20 2878 2c20 7929 203d tiply = (x, y) = │ │ │ -00013d80: 3e20 7820 2a20 793b 0a0a 2f2f 2075 7072 > x * y;..// upr │ │ │ -00013d90: 696d 496e 7465 6765 7252 656d 203a 2028 imIntegerRem : ( │ │ │ -00013da0: 496e 742c 2049 6e74 2920 2d3e 2049 6e74 Int, Int) -> Int │ │ │ -00013db0: 0a65 7870 6f72 7473 2e75 7072 696d 496e .exports.uprimIn │ │ │ -00013dc0: 7465 6765 7252 656d 203d 2028 782c 2079 tegerRem = (x, y │ │ │ -00013dd0: 2920 3d3e 2078 2025 2079 3b0a 0a2f 2f20 ) => x % y;..// │ │ │ -00013de0: 7570 7269 6d49 6e74 6567 6572 5175 6f74 uprimIntegerQuot │ │ │ -00013df0: 203a 2028 496e 742c 2049 6e74 2920 2d3e : (Int, Int) -> │ │ │ -00013e00: 2049 6e74 0a65 7870 6f72 7473 2e75 7072 Int.exports.upr │ │ │ -00013e10: 696d 496e 7465 6765 7251 756f 7420 3d20 imIntegerQuot = │ │ │ -00013e20: 2878 2c20 7929 203d 3e20 7820 2f20 793b (x, y) => x / y; │ │ │ -00013e30: 0a0a 2f2f 2075 7072 696d 496e 7465 6765 ..// uprimIntege │ │ │ -00013e40: 7245 7175 616c 203a 2028 496e 742c 2049 rEqual : (Int, I │ │ │ -00013e50: 6e74 2920 2d3e 2042 6f6f 6c0a 6578 706f nt) -> Bool.expo │ │ │ -00013e60: 7274 732e 7570 7269 6d49 6e74 6567 6572 rts.uprimInteger │ │ │ -00013e70: 4571 7561 6c20 3d20 2878 2c20 7929 203d Equal = (x, y) = │ │ │ -00013e80: 3e20 7820 3d3d 3d20 793b 0a0a 2f2f 2075 > x === y;..// u │ │ │ -00013e90: 7072 696d 496e 7465 6765 7247 7265 6174 primIntegerGreat │ │ │ -00013ea0: 6572 4f72 4571 7561 6c54 6861 6e20 3a20 erOrEqualThan : │ │ │ -00013eb0: 2849 6e74 2c20 496e 7429 202d 3e20 426f (Int, Int) -> Bo │ │ │ -00013ec0: 6f6c 0a65 7870 6f72 7473 2e75 7072 696d ol.exports.uprim │ │ │ -00013ed0: 496e 7465 6765 7247 7265 6174 6572 4f72 IntegerGreaterOr │ │ │ -00013ee0: 4571 7561 6c54 6861 6e20 3d20 2878 2c20 EqualThan = (x, │ │ │ -00013ef0: 7929 203d 3e20 7820 3e3d 2079 3b0a 0a2f y) => x >= y;../ │ │ │ -00013f00: 2f20 7570 7269 6d49 6e74 6567 6572 4c65 / uprimIntegerLe │ │ │ -00013f10: 7373 5468 616e 203a 2028 496e 742c 2049 ssThan : (Int, I │ │ │ -00013f20: 6e74 2920 2d3e 2042 6f6f 6c0a 6578 706f nt) -> Bool.expo │ │ │ -00013f30: 7274 732e 7570 7269 6d49 6e74 6567 6572 rts.uprimInteger │ │ │ -00013f40: 4c65 7373 5468 616e 203d 2028 782c 2079 LessThan = (x, y │ │ │ -00013f50: 2920 3d3e 2078 203c 2079 3b0a 0a2f 2f20 ) => x < y;..// │ │ │ -00013f60: 576f 7264 730a 636f 6e73 7420 574f 5244 Words.const WORD │ │ │ -00013f70: 3634 5f4d 4158 5f56 414c 5545 203d 2031 64_MAX_VALUE = 1 │ │ │ -00013f80: 3834 3436 3734 3430 3733 3730 3935 3532 8446744073709552 │ │ │ -00013f90: 3030 306e 3b0a 0a2f 2f20 7072 696d 576f 000n;..// primWo │ │ │ -00013fa0: 7264 3634 546f 4e61 7420 3a20 576f 7264 rd64ToNat : Word │ │ │ -00013fb0: 3634 202d 3e20 4e61 740a 6578 706f 7274 64 -> Nat.export │ │ │ -00013fc0: 732e 7072 696d 576f 7264 3634 546f 4e61 s.primWord64ToNa │ │ │ -00013fd0: 7420 3d20 7820 3d3e 2078 3b0a 0a2f 2f20 t = x => x;..// │ │ │ -00013fe0: 7072 696d 576f 7264 3634 4672 6f6d 4e61 primWord64FromNa │ │ │ -00013ff0: 7420 3a20 4e61 7420 2d3e 2057 6f72 6436 t : Nat -> Word6 │ │ │ -00014000: 340a 6578 706f 7274 732e 7072 696d 576f 4.exports.primWo │ │ │ -00014010: 7264 3634 4672 6f6d 4e61 7420 3d20 7820 rd64FromNat = x │ │ │ -00014020: 3d3e 2078 2025 2057 4f52 4436 345f 4d41 => x % WORD64_MA │ │ │ -00014030: 585f 5641 4c55 453b 0a0a 2f2f 2075 7072 X_VALUE;..// upr │ │ │ -00014040: 696d 576f 7264 3634 506c 7573 203a 2028 imWord64Plus : ( │ │ │ -00014050: 576f 7264 3634 2c20 576f 7264 3634 2920 Word64, Word64) │ │ │ -00014060: 2d3e 2057 6f72 6436 340a 6578 706f 7274 -> Word64.export │ │ │ -00014070: 732e 7570 7269 6d57 6f72 6436 3450 6c75 s.uprimWord64Plu │ │ │ -00014080: 7320 3d20 2878 2c20 7929 203d 3e20 2878 s = (x, y) => (x │ │ │ -00014090: 202b 2079 2920 2520 574f 5244 3634 5f4d + y) % WORD64_M │ │ │ -000140a0: 4158 5f56 414c 5545 3b0a 0a2f 2f20 7570 AX_VALUE;..// up │ │ │ -000140b0: 7269 6d57 6f72 6436 344d 696e 7573 203a rimWord64Minus : │ │ │ -000140c0: 2028 576f 7264 3634 2c20 576f 7264 3634 (Word64, Word64 │ │ │ -000140d0: 2920 2d3e 2057 6f72 6436 340a 6578 706f ) -> Word64.expo │ │ │ -000140e0: 7274 732e 7570 7269 6d57 6f72 6436 344d rts.uprimWord64M │ │ │ -000140f0: 696e 7573 203d 2028 782c 2079 2920 3d3e inus = (x, y) => │ │ │ -00014100: 2028 7820 2b20 574f 5244 3634 5f4d 4158 (x + WORD64_MAX │ │ │ -00014110: 5f56 414c 5545 202d 2079 2920 2520 574f _VALUE - y) % WO │ │ │ -00014120: 5244 3634 5f4d 4158 5f56 414c 5545 3b0a RD64_MAX_VALUE;. │ │ │ -00014130: 0a2f 2f20 7570 7269 6d57 6f72 6436 344d .// uprimWord64M │ │ │ -00014140: 756c 7469 706c 7920 3a20 2857 6f72 6436 ultiply : (Word6 │ │ │ -00014150: 342c 2057 6f72 6436 3429 202d 3e20 576f 4, Word64) -> Wo │ │ │ -00014160: 7264 3634 0a65 7870 6f72 7473 2e75 7072 rd64.exports.upr │ │ │ -00014170: 696d 576f 7264 3634 4d75 6c74 6970 6c79 imWord64Multiply │ │ │ -00014180: 203d 2028 782c 2079 2920 3d3e 2028 7820 = (x, y) => (x │ │ │ -00014190: 2a20 7929 2025 2057 4f52 4436 345f 4d41 * y) % WORD64_MA │ │ │ -000141a0: 585f 5641 4c55 453b 0a0a 2f2f 204e 6174 X_VALUE;..// Nat │ │ │ -000141b0: 7572 616c 206e 756d 6265 7273 0a0a 2f2f ural numbers..// │ │ │ -000141c0: 2070 7269 6d4e 6174 4d69 6e75 7320 3a20 primNatMinus : │ │ │ -000141d0: 4e61 7420 2d3e 204e 6174 202d 3e20 4e61 Nat -> Nat -> Na │ │ │ -000141e0: 740a 6578 706f 7274 732e 7072 696d 4e61 t.exports.primNa │ │ │ -000141f0: 744d 696e 7573 203d 2078 203d 3e20 7920 tMinus = x => y │ │ │ -00014200: 3d3e 207b 0a20 2063 6f6e 7374 207a 203d => {. const z = │ │ │ -00014210: 2078 202d 2079 3b0a 2020 7265 7475 726e x - y;. return │ │ │ -00014220: 207a 203c 2030 6e20 3f20 306e 203a 207a z < 0n ? 0n : z │ │ │ -00014230: 3b0a 7d3b 0a0a 2f2f 2046 6c6f 6174 696e ;.};..// Floatin │ │ │ -00014240: 672d 706f 696e 7420 6e75 6d62 6572 730a g-point numbers. │ │ │ -00014250: 7661 7220 5f70 7269 6d46 6c6f 6174 4772 var _primFloatGr │ │ │ -00014260: 6561 7465 7374 436f 6d6d 6f6e 4661 6374 eatestCommonFact │ │ │ -00014270: 6f72 203d 2066 756e 6374 696f 6e28 782c or = function(x, │ │ │ -00014280: 2079 2920 7b0a 2020 2020 7661 7220 7a3b y) {. var z; │ │ │ -00014290: 0a20 2020 2078 203d 204d 6174 682e 6162 . x = Math.ab │ │ │ -000142a0: 7328 7829 3b0a 2020 2020 7920 3d20 4d61 s(x);. y = Ma │ │ │ -000142b0: 7468 2e61 6273 2879 293b 0a20 2020 2077 th.abs(y);. w │ │ │ -000142c0: 6869 6c65 2028 7929 207b 0a20 2020 2020 hile (y) {. │ │ │ -000142d0: 2020 207a 203d 2078 2025 2079 3b0a 2020 z = x % y;. │ │ │ -000142e0: 2020 2020 2020 7820 3d20 793b 0a20 2020 x = y;. │ │ │ -000142f0: 2020 2020 2079 203d 207a 3b0a 2020 2020 y = z;. │ │ │ -00014300: 7d0a 2020 2020 7265 7475 726e 2078 3b0a }. return x;. │ │ │ -00014310: 7d3b 0a65 7870 6f72 7473 2e5f 7072 696d };.exports._prim │ │ │ -00014320: 466c 6f61 7452 6f75 6e64 203d 2066 756e FloatRound = fun │ │ │ -00014330: 6374 696f 6e28 7829 207b 0a20 2020 2069 ction(x) {. i │ │ │ -00014340: 6620 2865 7870 6f72 7473 2e70 7269 6d46 f (exports.primF │ │ │ -00014350: 6c6f 6174 4973 4e61 4e28 7829 207c 7c20 loatIsNaN(x) || │ │ │ -00014360: 6578 706f 7274 732e 7072 696d 466c 6f61 exports.primFloa │ │ │ -00014370: 7449 7349 6e66 696e 6974 6528 7829 2920 tIsInfinite(x)) │ │ │ -00014380: 7b0a 2020 2020 2020 2020 7265 7475 726e {. return │ │ │ -00014390: 206e 756c 6c3b 0a20 2020 207d 0a20 2020 null;. }. │ │ │ -000143a0: 2065 6c73 6520 7b0a 2020 2020 2020 2020 else {. │ │ │ -000143b0: 7265 7475 726e 2042 6967 496e 7428 4d61 return BigInt(Ma │ │ │ -000143c0: 7468 2e72 6f75 6e64 2878 2929 3b0a 2020 th.round(x));. │ │ │ -000143d0: 2020 7d0a 7d3b 0a65 7870 6f72 7473 2e5f }.};.exports._ │ │ │ -000143e0: 7072 696d 466c 6f61 7446 6c6f 6f72 203d primFloatFloor = │ │ │ -000143f0: 2066 756e 6374 696f 6e28 7829 207b 0a20 function(x) {. │ │ │ -00014400: 2020 2069 6620 2865 7870 6f72 7473 2e70 if (exports.p │ │ │ -00014410: 7269 6d46 6c6f 6174 4973 4e61 4e28 7829 rimFloatIsNaN(x) │ │ │ -00014420: 207c 7c20 6578 706f 7274 732e 7072 696d || exports.prim │ │ │ -00014430: 466c 6f61 7449 7349 6e66 696e 6974 6528 FloatIsInfinite( │ │ │ -00014440: 7829 2920 7b0a 2020 2020 2020 2020 7265 x)) {. re │ │ │ -00014450: 7475 726e 206e 756c 6c3b 0a20 2020 207d turn null;. } │ │ │ -00014460: 0a20 2020 2065 6c73 6520 7b0a 2020 2020 . else {. │ │ │ -00014470: 2020 2020 7265 7475 726e 2042 6967 496e return BigIn │ │ │ -00014480: 7428 4d61 7468 2e66 6c6f 6f72 2878 2929 t(Math.floor(x)) │ │ │ -00014490: 3b0a 2020 2020 7d0a 7d3b 0a65 7870 6f72 ;. }.};.expor │ │ │ -000144a0: 7473 2e5f 7072 696d 466c 6f61 7443 6569 ts._primFloatCei │ │ │ -000144b0: 6c69 6e67 203d 2066 756e 6374 696f 6e28 ling = function( │ │ │ -000144c0: 7829 207b 0a20 2020 2069 6620 2865 7870 x) {. if (exp │ │ │ -000144d0: 6f72 7473 2e70 7269 6d46 6c6f 6174 4973 orts.primFloatIs │ │ │ -000144e0: 4e61 4e28 7829 207c 7c20 6578 706f 7274 NaN(x) || export │ │ │ -000144f0: 732e 7072 696d 466c 6f61 7449 7349 6e66 s.primFloatIsInf │ │ │ -00014500: 696e 6974 6528 7829 2920 7b0a 2020 2020 inite(x)) {. │ │ │ -00014510: 2020 2020 7265 7475 726e 206e 756c 6c3b return null; │ │ │ -00014520: 0a20 2020 207d 0a20 2020 2065 6c73 6520 . }. else │ │ │ -00014530: 7b0a 2020 2020 2020 2020 7265 7475 726e {. return │ │ │ -00014540: 2042 6967 496e 7428 4d61 7468 2e63 6569 BigInt(Math.cei │ │ │ -00014550: 6c28 7829 293b 0a20 2020 207d 0a7d 3b0a l(x));. }.};. │ │ │ -00014560: 6578 706f 7274 732e 5f70 7269 6d46 6c6f exports._primFlo │ │ │ -00014570: 6174 546f 5261 7469 6f20 3d20 6675 6e63 atToRatio = func │ │ │ -00014580: 7469 6f6e 2878 2920 7b0a 2020 2020 6966 tion(x) {. if │ │ │ -00014590: 2028 6578 706f 7274 732e 7072 696d 466c (exports.primFl │ │ │ -000145a0: 6f61 7449 734e 614e 2878 2929 207b 0a20 oatIsNaN(x)) {. │ │ │ -000145b0: 2020 2020 2020 2072 6574 7572 6e20 7b6e return {n │ │ │ -000145c0: 756d 6572 6174 6f72 3a20 4269 6749 6e74 umerator: BigInt │ │ │ -000145d0: 2830 292c 2064 656e 6f6d 696e 6174 6f72 (0), denominator │ │ │ -000145e0: 3a20 4269 6749 6e74 2830 297d 3b0a 2020 : BigInt(0)};. │ │ │ -000145f0: 2020 7d0a 2020 2020 656c 7365 2069 6620 }. else if │ │ │ -00014600: 2878 203c 2030 2e30 2026 2620 6578 706f (x < 0.0 && expo │ │ │ -00014610: 7274 732e 7072 696d 466c 6f61 7449 7349 rts.primFloatIsI │ │ │ -00014620: 6e66 696e 6974 6528 7829 2920 7b0a 2020 nfinite(x)) {. │ │ │ -00014630: 2020 2020 2020 7265 7475 726e 207b 6e75 return {nu │ │ │ -00014640: 6d65 7261 746f 723a 2042 6967 496e 7428 merator: BigInt( │ │ │ -00014650: 2d31 292c 2064 656e 6f6d 696e 6174 6f72 -1), denominator │ │ │ -00014660: 3a20 4269 6749 6e74 2830 297d 3b0a 2020 : BigInt(0)};. │ │ │ -00014670: 2020 7d0a 2020 2020 656c 7365 2069 6620 }. else if │ │ │ -00014680: 2878 203e 2030 2e30 2026 2620 6578 706f (x > 0.0 && expo │ │ │ -00014690: 7274 732e 7072 696d 466c 6f61 7449 7349 rts.primFloatIsI │ │ │ -000146a0: 6e66 696e 6974 6528 7829 2920 7b0a 2020 nfinite(x)) {. │ │ │ -000146b0: 2020 2020 2020 7265 7475 726e 207b 6e75 return {nu │ │ │ -000146c0: 6d65 7261 746f 723a 2042 6967 496e 7428 merator: BigInt( │ │ │ -000146d0: 3129 2c20 6465 6e6f 6d69 6e61 746f 723a 1), denominator: │ │ │ -000146e0: 2042 6967 496e 7428 3029 7d3b 0a20 2020 BigInt(0)};. │ │ │ -000146f0: 207d 0a20 2020 2065 6c73 6520 6966 2028 }. else if ( │ │ │ -00014700: 6578 706f 7274 732e 7072 696d 466c 6f61 exports.primFloa │ │ │ -00014710: 7449 734e 6567 6174 6976 655a 6572 6f28 tIsNegativeZero( │ │ │ -00014720: 7829 2920 7b0a 2020 2020 2020 2020 7265 x)) {. re │ │ │ -00014730: 7475 726e 207b 6e75 6d65 7261 746f 723a turn {numerator: │ │ │ -00014740: 2042 6967 496e 7428 3029 2c20 6465 6e6f BigInt(0), deno │ │ │ -00014750: 6d69 6e61 746f 723a 2042 6967 496e 7428 minator: BigInt( │ │ │ -00014760: 3129 7d3b 0a20 2020 207d 0a20 2020 2065 1)};. }. e │ │ │ -00014770: 6c73 6520 6966 2028 7820 3d3d 2030 2e30 lse if (x == 0.0 │ │ │ -00014780: 2920 7b0a 2020 2020 2020 2020 7265 7475 ) {. retu │ │ │ -00014790: 726e 207b 6e75 6d65 7261 746f 723a 2042 rn {numerator: B │ │ │ -000147a0: 6967 496e 7428 3029 2c20 6465 6e6f 6d69 igInt(0), denomi │ │ │ -000147b0: 6e61 746f 723a 2042 6967 496e 7428 3129 nator: BigInt(1) │ │ │ -000147c0: 7d3b 0a20 2020 207d 0a20 2020 2065 6c73 };. }. els │ │ │ -000147d0: 6520 7b0a 2020 2020 2020 2020 7661 7220 e {. var │ │ │ -000147e0: 6e75 6d65 7261 746f 7220 3d20 4d61 7468 numerator = Math │ │ │ -000147f0: 2e72 6f75 6e64 2878 2a31 6539 293b 0a20 .round(x*1e9);. │ │ │ -00014800: 2020 2020 2020 2076 6172 2064 656e 6f6d var denom │ │ │ -00014810: 696e 6174 6f72 203d 2031 6539 3b0a 2020 inator = 1e9;. │ │ │ -00014820: 2020 2020 2020 7661 7220 6763 6620 3d20 var gcf = │ │ │ -00014830: 5f70 7269 6d46 6c6f 6174 4772 6561 7465 _primFloatGreate │ │ │ -00014840: 7374 436f 6d6d 6f6e 4661 6374 6f72 286e stCommonFactor(n │ │ │ -00014850: 756d 6572 6174 6f72 2c20 6465 6e6f 6d69 umerator, denomi │ │ │ -00014860: 6e61 746f 7229 3b0a 2020 2020 2020 2020 nator);. │ │ │ -00014870: 6e75 6d65 7261 746f 7220 2f3d 2067 6366 numerator /= gcf │ │ │ -00014880: 3b0a 2020 2020 2020 2020 6465 6e6f 6d69 ;. denomi │ │ │ -00014890: 6e61 746f 7220 2f3d 2067 6366 3b0a 2020 nator /= gcf;. │ │ │ -000148a0: 2020 2020 2020 7265 7475 726e 207b 6e75 return {nu │ │ │ -000148b0: 6d65 7261 746f 723a 2042 6967 496e 7428 merator: BigInt( │ │ │ -000148c0: 6e75 6d65 7261 746f 7229 2c20 6465 6e6f numerator), deno │ │ │ -000148d0: 6d69 6e61 746f 723a 2042 6967 496e 7428 minator: BigInt( │ │ │ -000148e0: 6465 6e6f 6d69 6e61 746f 7229 7d3b 0a20 denominator)};. │ │ │ -000148f0: 2020 207d 0a7d 3b0a 6578 706f 7274 732e }.};.exports. │ │ │ -00014900: 5f70 7269 6d46 6c6f 6174 4465 636f 6465 _primFloatDecode │ │ │ -00014910: 203d 2066 756e 6374 696f 6e28 7829 207b = function(x) { │ │ │ -00014920: 0a20 2020 2069 6620 2865 7870 6f72 7473 . if (exports │ │ │ -00014930: 2e70 7269 6d46 6c6f 6174 4973 4e61 4e28 .primFloatIsNaN( │ │ │ -00014940: 7829 2920 7b0a 2020 2020 2020 2020 7265 x)) {. re │ │ │ -00014950: 7475 726e 206e 756c 6c3b 0a20 2020 207d turn null;. } │ │ │ -00014960: 0a20 2020 2065 6c73 6520 6966 2028 7820 . else if (x │ │ │ -00014970: 3c20 302e 3020 2626 2065 7870 6f72 7473 < 0.0 && exports │ │ │ -00014980: 2e70 7269 6d46 6c6f 6174 4973 496e 6669 .primFloatIsInfi │ │ │ -00014990: 6e69 7465 2878 2929 207b 0a20 2020 2020 nite(x)) {. │ │ │ -000149a0: 2020 2072 6574 7572 6e20 6e75 6c6c 3b0a return null;. │ │ │ -000149b0: 2020 2020 7d0a 2020 2020 656c 7365 2069 }. else i │ │ │ -000149c0: 6620 2878 203e 2030 2e30 2026 2620 6578 f (x > 0.0 && ex │ │ │ -000149d0: 706f 7274 732e 7072 696d 466c 6f61 7449 ports.primFloatI │ │ │ -000149e0: 7349 6e66 696e 6974 6528 7829 2920 7b0a sInfinite(x)) {. │ │ │ -000149f0: 2020 2020 2020 2020 7265 7475 726e 206e return n │ │ │ -00014a00: 756c 6c3b 0a20 2020 207d 0a20 2020 2065 ull;. }. e │ │ │ -00014a10: 6c73 6520 7b0a 2020 2020 2020 2020 7661 lse {. va │ │ │ -00014a20: 7220 6d61 6e74 6973 7361 203d 2078 2c20 r mantissa = x, │ │ │ -00014a30: 6578 706f 6e65 6e74 203d 2030 3b0a 2020 exponent = 0;. │ │ │ -00014a40: 2020 2020 2020 7768 696c 6520 2821 4e75 while (!Nu │ │ │ -00014a50: 6d62 6572 2e69 7349 6e74 6567 6572 286d mber.isInteger(m │ │ │ -00014a60: 616e 7469 7373 6129 2920 7b0a 2020 2020 antissa)) {. │ │ │ -00014a70: 2020 2020 2020 2020 6d61 6e74 6973 7361 mantissa │ │ │ -00014a80: 202a 3d20 322e 303b 0a20 2020 2020 2020 *= 2.0;. │ │ │ -00014a90: 2020 2020 2065 7870 6f6e 656e 7420 2d3d exponent -= │ │ │ -00014aa0: 2031 3b0a 2020 2020 2020 2020 7d3b 0a20 1;. };. │ │ │ -00014ab0: 2020 2020 2020 2077 6869 6c65 2028 6d61 while (ma │ │ │ -00014ac0: 6e74 6973 7361 2025 2032 2e30 203d 3d3d ntissa % 2.0 === │ │ │ -00014ad0: 2030 2920 7b0a 2020 2020 2020 2020 2020 0) {. │ │ │ -00014ae0: 2020 6d61 6e74 6973 7361 202f 3d20 322e mantissa /= 2. │ │ │ -00014af0: 303b 0a20 2020 2020 2020 2020 2020 2065 0;. e │ │ │ -00014b00: 7870 6f6e 656e 7420 2b3d 2031 3b0a 2020 xponent += 1;. │ │ │ -00014b10: 2020 2020 2020 7d0a 2020 2020 2020 2020 }. │ │ │ -00014b20: 7265 7475 726e 207b 6d61 6e74 6973 7361 return {mantissa │ │ │ -00014b30: 3a20 4269 6749 6e74 286d 616e 7469 7373 : BigInt(mantiss │ │ │ -00014b40: 6129 2c20 6578 706f 6e65 6e74 3a20 4269 a), exponent: Bi │ │ │ -00014b50: 6749 6e74 2865 7870 6f6e 656e 7429 7d3b gInt(exponent)}; │ │ │ -00014b60: 0a20 2020 207d 0a7d 3b0a 6578 706f 7274 . }.};.export │ │ │ -00014b70: 732e 7570 7269 6d46 6c6f 6174 4571 7561 s.uprimFloatEqua │ │ │ -00014b80: 6c69 7479 203d 2066 756e 6374 696f 6e28 lity = function( │ │ │ -00014b90: 782c 2079 2920 7b0a 2020 2020 7265 7475 x, y) {. retu │ │ │ -00014ba0: 726e 2078 203d 3d3d 2079 3b0a 7d3b 0a65 rn x === y;.};.e │ │ │ -00014bb0: 7870 6f72 7473 2e70 7269 6d46 6c6f 6174 xports.primFloat │ │ │ -00014bc0: 4571 7561 6c69 7479 203d 2066 756e 6374 Equality = funct │ │ │ -00014bd0: 696f 6e28 7829 207b 0a20 2020 2072 6574 ion(x) {. ret │ │ │ -00014be0: 7572 6e20 6675 6e63 7469 6f6e 2879 2920 urn function(y) │ │ │ -00014bf0: 7b0a 2020 2020 2020 2020 7265 7475 726e {. return │ │ │ -00014c00: 2065 7870 6f72 7473 2e75 7072 696d 466c exports.uprimFl │ │ │ -00014c10: 6f61 7445 7175 616c 6974 7928 782c 2079 oatEquality(x, y │ │ │ -00014c20: 293b 0a20 2020 207d 3b0a 7d3b 0a65 7870 );. };.};.exp │ │ │ -00014c30: 6f72 7473 2e70 7269 6d46 6c6f 6174 496e orts.primFloatIn │ │ │ -00014c40: 6571 7561 6c69 7479 203d 2066 756e 6374 equality = funct │ │ │ -00014c50: 696f 6e28 7829 207b 0a20 2020 2072 6574 ion(x) {. ret │ │ │ -00014c60: 7572 6e20 6675 6e63 7469 6f6e 2879 2920 urn function(y) │ │ │ -00014c70: 7b0a 2020 2020 2020 2020 7265 7475 726e {. return │ │ │ -00014c80: 2078 203c 3d20 793b 0a20 2020 207d 3b0a x <= y;. };. │ │ │ -00014c90: 7d3b 0a65 7870 6f72 7473 2e70 7269 6d46 };.exports.primF │ │ │ -00014ca0: 6c6f 6174 4c65 7373 203d 2066 756e 6374 loatLess = funct │ │ │ -00014cb0: 696f 6e28 7829 207b 0a20 2020 2072 6574 ion(x) {. ret │ │ │ -00014cc0: 7572 6e20 6675 6e63 7469 6f6e 2879 2920 urn function(y) │ │ │ -00014cd0: 7b0a 2020 2020 2020 2020 7265 7475 726e {. return │ │ │ -00014ce0: 2078 203c 2079 3b0a 2020 2020 7d3b 0a7d x < y;. };.} │ │ │ -00014cf0: 3b0a 6578 706f 7274 732e 7072 696d 466c ;.exports.primFl │ │ │ -00014d00: 6f61 7449 7349 6e66 696e 6974 6520 3d20 oatIsInfinite = │ │ │ -00014d10: 6675 6e63 7469 6f6e 2878 2920 7b0a 2020 function(x) {. │ │ │ -00014d20: 2020 7265 7475 726e 2021 4e75 6d62 6572 return !Number │ │ │ -00014d30: 2e69 734e 614e 2878 2920 2626 2021 4e75 .isNaN(x) && !Nu │ │ │ -00014d40: 6d62 6572 2e69 7346 696e 6974 6528 7829 mber.isFinite(x) │ │ │ -00014d50: 3b0a 7d3b 0a65 7870 6f72 7473 2e70 7269 ;.};.exports.pri │ │ │ -00014d60: 6d46 6c6f 6174 4973 4e61 4e20 3d20 6675 mFloatIsNaN = fu │ │ │ -00014d70: 6e63 7469 6f6e 2878 2920 7b0a 2020 2020 nction(x) {. │ │ │ -00014d80: 7265 7475 726e 204e 756d 6265 722e 6973 return Number.is │ │ │ -00014d90: 4e61 4e28 7829 3b0a 7d3b 0a65 7870 6f72 NaN(x);.};.expor │ │ │ -00014da0: 7473 2e70 7269 6d46 6c6f 6174 4973 4e65 ts.primFloatIsNe │ │ │ -00014db0: 6761 7469 7665 5a65 726f 203d 2066 756e gativeZero = fun │ │ │ -00014dc0: 6374 696f 6e28 7829 207b 0a20 2020 2072 ction(x) {. r │ │ │ -00014dd0: 6574 7572 6e20 4f62 6a65 6374 2e69 7328 eturn Object.is( │ │ │ -00014de0: 782c 2d30 2e30 293b 0a7d 3b0a 6578 706f x,-0.0);.};.expo │ │ │ -00014df0: 7274 732e 7072 696d 466c 6f61 7449 7353 rts.primFloatIsS │ │ │ -00014e00: 6166 6549 6e74 6567 6572 203d 2066 756e afeInteger = fun │ │ │ -00014e10: 6374 696f 6e28 7829 207b 0a20 2020 2072 ction(x) {. r │ │ │ -00014e20: 6574 7572 6e20 4e75 6d62 6572 2e69 7353 eturn Number.isS │ │ │ -00014e30: 6166 6549 6e74 6567 6572 2878 293b 0a7d afeInteger(x);.} │ │ │ -00014e40: 3b0a 0a0a 2f2f 2054 6865 7365 2057 4f52 ;...// These WOR │ │ │ -00014e50: 4436 3420 7661 6c75 6573 2077 6572 6520 D64 values were │ │ │ -00014e60: 6f62 7461 696e 6564 2076 6961 2060 6361 obtained via `ca │ │ │ -00014e70: 7374 446f 7562 6c65 546f 576f 7264 3634 stDoubleToWord64 │ │ │ -00014e80: 6020 696e 2048 6173 6b65 6c6c 3a0a 636f ` in Haskell:.co │ │ │ -00014e90: 6e73 7420 574f 5244 3634 5f50 4f53 5f49 nst WORD64_POS_I │ │ │ -00014ea0: 4e46 2020 3d20 3932 3138 3836 3834 3337 NF = 9218868437 │ │ │ -00014eb0: 3232 3734 3035 3331 326e 3b0a 636f 6e73 227405312n;.cons │ │ │ -00014ec0: 7420 574f 5244 3634 5f4e 4547 5f49 4e46 t WORD64_NEG_INF │ │ │ -00014ed0: 2020 3d20 3138 3434 3232 3430 3437 3430 = 184422404740 │ │ │ -00014ee0: 3832 3138 3131 3230 6e3b 0a63 6f6e 7374 82181120n;.const │ │ │ -00014ef0: 2057 4f52 4436 345f 504f 535f 5a45 524f WORD64_POS_ZERO │ │ │ -00014f00: 203d 2030 6e3b 0a63 6f6e 7374 2057 4f52 = 0n;.const WOR │ │ │ -00014f10: 4436 345f 4e45 475f 5a45 524f 203d 2039 D64_NEG_ZERO = 9 │ │ │ -00014f20: 3232 3333 3732 3033 3638 3534 3737 3538 2233720368547758 │ │ │ -00014f30: 3038 6e3b 0a0a 6578 706f 7274 732e 7072 08n;..exports.pr │ │ │ -00014f40: 696d 466c 6f61 7454 6f57 6f72 6436 3420 imFloatToWord64 │ │ │ -00014f50: 3d20 6675 6e63 7469 6f6e 2878 2920 7b0a = function(x) {. │ │ │ -00014f60: 2020 2020 6966 2028 6578 706f 7274 732e if (exports. │ │ │ -00014f70: 7072 696d 466c 6f61 7449 734e 614e 2878 primFloatIsNaN(x │ │ │ -00014f80: 2929 207b 0a20 2020 2020 2020 2072 6574 )) {. ret │ │ │ -00014f90: 7572 6e20 6e75 6c6c 3b0a 2020 2020 7d0a urn null;. }. │ │ │ -00014fa0: 2020 2020 656c 7365 2069 6620 2878 203c else if (x < │ │ │ -00014fb0: 2030 2e30 2026 2620 6578 706f 7274 732e 0.0 && exports. │ │ │ -00014fc0: 7072 696d 466c 6f61 7449 7349 6e66 696e primFloatIsInfin │ │ │ -00014fd0: 6974 6528 7829 2920 7b0a 2020 2020 2020 ite(x)) {. │ │ │ -00014fe0: 2020 7265 7475 726e 2057 4f52 4436 345f return WORD64_ │ │ │ -00014ff0: 4e45 475f 494e 463b 0a20 2020 207d 0a20 NEG_INF;. }. │ │ │ -00015000: 2020 2065 6c73 6520 6966 2028 7820 3e20 else if (x > │ │ │ -00015010: 302e 3020 2626 2065 7870 6f72 7473 2e70 0.0 && exports.p │ │ │ -00015020: 7269 6d46 6c6f 6174 4973 496e 6669 6e69 rimFloatIsInfini │ │ │ -00015030: 7465 2878 2929 207b 0a20 2020 2020 2020 te(x)) {. │ │ │ -00015040: 2072 6574 7572 6e20 574f 5244 3634 5f50 return WORD64_P │ │ │ -00015050: 4f53 5f49 4e46 3b0a 2020 2020 7d0a 2020 OS_INF;. }. │ │ │ -00015060: 2020 656c 7365 2069 6620 2865 7870 6f72 else if (expor │ │ │ -00015070: 7473 2e70 7269 6d46 6c6f 6174 4973 4e65 ts.primFloatIsNe │ │ │ -00015080: 6761 7469 7665 5a65 726f 2878 2929 207b gativeZero(x)) { │ │ │ -00015090: 0a20 2020 2020 2020 2072 6574 7572 6e20 . return │ │ │ -000150a0: 574f 5244 3634 5f4e 4547 5f5a 4552 4f3b WORD64_NEG_ZERO; │ │ │ -000150b0: 0a20 2020 207d 0a20 2020 2065 6c73 6520 . }. else │ │ │ -000150c0: 6966 2028 7820 3d3d 2030 2e30 2920 7b0a if (x == 0.0) {. │ │ │ -000150d0: 2020 2020 2020 2020 7265 7475 726e 2057 return W │ │ │ -000150e0: 4f52 4436 345f 504f 535f 5a45 524f 3b0a ORD64_POS_ZERO;. │ │ │ -000150f0: 2020 2020 7d0a 2020 2020 656c 7365 207b }. else { │ │ │ -00015100: 0a20 2020 2020 2020 2076 6172 206d 616e . var man │ │ │ -00015110: 7469 7373 612c 2065 7870 6f6e 656e 743b tissa, exponent; │ │ │ -00015120: 0a20 2020 2020 2020 2028 7b6d 616e 7469 . ({manti │ │ │ -00015130: 7373 612c 2065 7870 6f6e 656e 747d 203d ssa, exponent} = │ │ │ -00015140: 2065 7870 6f72 7473 2e5f 7072 696d 466c exports._primFl │ │ │ -00015150: 6f61 7444 6563 6f64 6528 7829 293b 0a20 oatDecode(x));. │ │ │ -00015160: 2020 2020 2020 2076 6172 2073 6967 6e20 var sign │ │ │ -00015170: 3d20 4d61 7468 2e73 6967 6e28 6d61 6e74 = Math.sign(mant │ │ │ -00015180: 6973 7361 293b 0a20 2020 2020 2020 2063 issa);. c │ │ │ -00015190: 6f6e 736f 6c65 2e6c 6f67 286d 616e 7469 onsole.log(manti │ │ │ -000151a0: 7373 6129 3b0a 2020 2020 2020 2020 6d61 ssa);. ma │ │ │ -000151b0: 6e74 6973 7361 202a 3d20 7369 676e 3b0a ntissa *= sign;. │ │ │ -000151c0: 2020 2020 2020 2020 7369 676e 203d 2028 sign = ( │ │ │ -000151d0: 7369 676e 203d 3d3d 202d 3120 3f20 2231 sign === -1 ? "1 │ │ │ -000151e0: 2220 3a20 2230 2229 3b0a 2020 2020 2020 " : "0");. │ │ │ -000151f0: 2020 6d61 6e74 6973 7361 203d 2028 6d61 mantissa = (ma │ │ │ -00015200: 6e74 6973 7361 2e74 6f53 7472 696e 6728 ntissa.toString( │ │ │ -00015210: 3229 292e 7061 6453 7461 7274 2831 312c 2)).padStart(11, │ │ │ -00015220: 2022 3022 293b 0a20 2020 2020 2020 2065 "0");. e │ │ │ -00015230: 7870 6f6e 656e 7420 3d20 286d 616e 7469 xponent = (manti │ │ │ -00015240: 7373 612e 746f 5374 7269 6e67 2832 2929 ssa.toString(2)) │ │ │ -00015250: 2e70 6164 5374 6172 7428 3532 2c20 2230 .padStart(52, "0 │ │ │ -00015260: 2229 3b0a 2020 2020 2020 2020 7265 7475 ");. retu │ │ │ -00015270: 726e 2042 6967 496e 7428 7061 7273 6549 rn BigInt(parseI │ │ │ -00015280: 6e74 2873 6967 6e20 2b20 6d61 6e74 6973 nt(sign + mantis │ │ │ -00015290: 7361 202b 2065 7870 6f6e 656e 742c 2032 sa + exponent, 2 │ │ │ -000152a0: 2929 3b0a 2020 2020 7d0a 7d3b 0a0a 2f2f ));. }.};..// │ │ │ -000152b0: 2070 7269 6d4e 6174 546f 466c 6f61 7420 primNatToFloat │ │ │ -000152c0: 3a20 4e61 7420 2d3e 2046 6c6f 6174 0a65 : Nat -> Float.e │ │ │ -000152d0: 7870 6f72 7473 2e70 7269 6d4e 6174 546f xports.primNatTo │ │ │ -000152e0: 466c 6f61 7420 3d20 4e75 6d62 6572 3b0a Float = Number;. │ │ │ -000152f0: 0a2f 2f20 7072 696d 496e 7454 6f46 6c6f .// primIntToFlo │ │ │ -00015300: 6174 203a 2049 6e74 202d 3e20 466c 6f61 at : Int -> Floa │ │ │ -00015310: 740a 6578 706f 7274 732e 7072 696d 496e t.exports.primIn │ │ │ -00015320: 7454 6f46 6c6f 6174 203d 204e 756d 6265 tToFloat = Numbe │ │ │ -00015330: 723b 0a0a 2f2f 2070 7269 6d52 6174 696f r;..// primRatio │ │ │ -00015340: 546f 466c 6f61 7420 3a20 496e 7420 2d3e ToFloat : Int -> │ │ │ -00015350: 2049 6e74 202d 3e20 466c 6f61 740a 6578 Int -> Float.ex │ │ │ -00015360: 706f 7274 732e 7072 696d 5261 7469 6f54 ports.primRatioT │ │ │ -00015370: 6f46 6c6f 6174 203d 2078 203d 3e20 7920 oFloat = x => y │ │ │ -00015380: 3d3e 204e 756d 6265 7228 7829 202f 204e => Number(x) / N │ │ │ -00015390: 756d 6265 7228 7929 3b0a 0a2f 2f20 7570 umber(y);..// up │ │ │ -000153a0: 7269 6d46 6c6f 6174 456e 636f 6465 203a rimFloatEncode : │ │ │ -000153b0: 2028 496e 742c 2049 6e74 2920 2d3e 204d (Int, Int) -> M │ │ │ -000153c0: 6179 6265 2046 6c6f 6174 0a65 7870 6f72 aybe Float.expor │ │ │ -000153d0: 7473 2e75 7072 696d 466c 6f61 7445 6e63 ts.uprimFloatEnc │ │ │ -000153e0: 6f64 6520 3d20 2878 2c20 7929 203d 3e20 ode = (x, y) => │ │ │ -000153f0: 7b0a 2020 636f 6e73 7420 6d61 6e74 6973 {. const mantis │ │ │ -00015400: 7361 203d 204e 756d 6265 7228 7829 3b0a sa = Number(x);. │ │ │ -00015410: 2020 636f 6e73 7420 6578 706f 6e65 6e74 const exponent │ │ │ -00015420: 203d 204e 756d 6265 7228 7929 3b0a 0a20 = Number(y);.. │ │ │ -00015430: 2069 6620 284e 756d 6265 722e 6973 5361 if (Number.isSa │ │ │ -00015440: 6665 496e 7465 6765 7228 6d61 6e74 6973 feInteger(mantis │ │ │ -00015450: 7361 2920 2626 202d 3130 3234 203c 3d20 sa) && -1024 <= │ │ │ -00015460: 6578 706f 6e65 6e74 2026 2620 6578 706f exponent && expo │ │ │ -00015470: 6e65 6e74 203c 3d20 3130 3234 2920 7b0a nent <= 1024) {. │ │ │ -00015480: 2020 2020 7265 7475 726e 206d 616e 7469 return manti │ │ │ -00015490: 7373 6120 2a20 2832 202a 2a20 6578 706f ssa * (2 ** expo │ │ │ -000154a0: 6e65 6e74 293b 0a20 207d 0a0a 2020 656c nent);. }.. el │ │ │ -000154b0: 7365 207b 0a20 2020 2072 6574 7572 6e20 se {. return │ │ │ -000154c0: 6e75 6c6c 3b0a 2020 7d0a 7d3b 0a0a 6578 null;. }.};..ex │ │ │ -000154d0: 706f 7274 732e 7072 696d 5368 6f77 466c ports.primShowFl │ │ │ -000154e0: 6f61 7420 3d20 6675 6e63 7469 6f6e 2878 oat = function(x │ │ │ -000154f0: 2920 7b0a 2020 2020 2f2f 2053 6565 2049 ) {. // See I │ │ │ -00015500: 7373 7565 2023 3231 3932 2e0a 2020 2020 ssue #2192.. │ │ │ -00015510: 6966 2028 4e75 6d62 6572 2e69 7349 6e74 if (Number.isInt │ │ │ -00015520: 6567 6572 2878 2929 207b 0a20 2020 2020 eger(x)) {. │ │ │ -00015530: 2020 2069 6620 2865 7870 6f72 7473 2e70 if (exports.p │ │ │ -00015540: 7269 6d46 6c6f 6174 4973 4e65 6761 7469 rimFloatIsNegati │ │ │ -00015550: 7665 5a65 726f 2878 2929 207b 0a20 2020 veZero(x)) {. │ │ │ -00015560: 2020 2020 2020 2020 2072 6574 7572 6e20 return │ │ │ -00015570: 2822 2d30 2e30 2229 3b0a 2020 2020 2020 ("-0.0");. │ │ │ -00015580: 2020 7d20 656c 7365 207b 0a20 2020 2020 } else {. │ │ │ -00015590: 2020 2020 2020 2072 6574 7572 6e20 2878 return (x │ │ │ -000155a0: 2e74 6f53 7472 696e 6728 2920 2b20 222e .toString() + ". │ │ │ -000155b0: 3022 293b 0a20 2020 2020 2020 207d 0a20 0");. }. │ │ │ -000155c0: 2020 207d 2065 6c73 6520 7b0a 2020 2020 } else {. │ │ │ -000155d0: 2020 2020 7265 7475 726e 2078 2e74 6f53 return x.toS │ │ │ -000155e0: 7472 696e 6728 293b 0a20 2020 207d 0a7d tring();. }.} │ │ │ -000155f0: 3b0a 6578 706f 7274 732e 7072 696d 466c ;.exports.primFl │ │ │ -00015600: 6f61 7450 6c75 7320 3d20 6675 6e63 7469 oatPlus = functi │ │ │ -00015610: 6f6e 2878 2920 7b0a 2020 2020 7265 7475 on(x) {. retu │ │ │ -00015620: 726e 2066 756e 6374 696f 6e28 7929 207b rn function(y) { │ │ │ -00015630: 0a20 2020 2020 2020 2072 6574 7572 6e20 . return │ │ │ -00015640: 7820 2b20 793b 0a20 2020 207d 3b0a 7d3b x + y;. };.}; │ │ │ -00015650: 0a65 7870 6f72 7473 2e70 7269 6d46 6c6f .exports.primFlo │ │ │ -00015660: 6174 4d69 6e75 7320 3d20 6675 6e63 7469 atMinus = functi │ │ │ -00015670: 6f6e 2878 2920 7b0a 2020 2020 7265 7475 on(x) {. retu │ │ │ -00015680: 726e 2066 756e 6374 696f 6e28 7929 207b rn function(y) { │ │ │ -00015690: 0a20 2020 2020 2020 2072 6574 7572 6e20 . return │ │ │ -000156a0: 7820 2d20 793b 0a20 2020 207d 3b0a 7d3b x - y;. };.}; │ │ │ -000156b0: 0a65 7870 6f72 7473 2e70 7269 6d46 6c6f .exports.primFlo │ │ │ -000156c0: 6174 5469 6d65 7320 3d20 6675 6e63 7469 atTimes = functi │ │ │ -000156d0: 6f6e 2878 2920 7b0a 2020 2020 7265 7475 on(x) {. retu │ │ │ -000156e0: 726e 2066 756e 6374 696f 6e28 7929 207b rn function(y) { │ │ │ -000156f0: 0a20 2020 2020 2020 2072 6574 7572 6e20 . return │ │ │ -00015700: 7820 2a20 793b 0a20 2020 207d 3b0a 7d3b x * y;. };.}; │ │ │ -00015710: 0a65 7870 6f72 7473 2e70 7269 6d46 6c6f .exports.primFlo │ │ │ -00015720: 6174 4e65 6761 7465 203d 2066 756e 6374 atNegate = funct │ │ │ -00015730: 696f 6e28 7829 207b 0a20 2020 2072 6574 ion(x) {. ret │ │ │ -00015740: 7572 6e20 2d78 3b0a 7d3b 0a65 7870 6f72 urn -x;.};.expor │ │ │ -00015750: 7473 2e70 7269 6d46 6c6f 6174 4469 7620 ts.primFloatDiv │ │ │ -00015760: 3d20 6675 6e63 7469 6f6e 2878 2920 7b0a = function(x) {. │ │ │ -00015770: 2020 7265 7475 726e 2066 756e 6374 696f return functio │ │ │ -00015780: 6e28 7929 207b 0a20 2020 2072 6574 7572 n(y) {. retur │ │ │ -00015790: 6e20 7820 2f20 793b 0a20 207d 3b0a 7d3b n x / y;. };.}; │ │ │ -000157a0: 0a65 7870 6f72 7473 2e70 7269 6d46 6c6f .exports.primFlo │ │ │ -000157b0: 6174 506f 7720 3d20 6675 6e63 7469 6f6e atPow = function │ │ │ -000157c0: 2878 2920 7b0a 2020 2020 7265 7475 726e (x) {. return │ │ │ -000157d0: 2066 756e 6374 696f 6e28 7929 207b 0a20 function(y) {. │ │ │ -000157e0: 2020 2020 2020 2072 6574 7572 6e20 7820 return x │ │ │ -000157f0: 2a2a 2079 3b0a 2020 2020 7d3b 0a7d 3b0a ** y;. };.};. │ │ │ -00015800: 6578 706f 7274 732e 7072 696d 466c 6f61 exports.primFloa │ │ │ -00015810: 7453 7172 7420 3d20 6675 6e63 7469 6f6e tSqrt = function │ │ │ -00015820: 2878 2920 7b0a 2020 2020 7265 7475 726e (x) {. return │ │ │ -00015830: 204d 6174 682e 7371 7274 2878 293b 0a7d Math.sqrt(x);.} │ │ │ -00015840: 3b0a 6578 706f 7274 732e 7072 696d 466c ;.exports.primFl │ │ │ -00015850: 6f61 7445 7870 203d 2066 756e 6374 696f oatExp = functio │ │ │ -00015860: 6e28 7829 207b 0a20 2020 2072 6574 7572 n(x) {. retur │ │ │ -00015870: 6e20 4d61 7468 2e65 7870 2878 293b 0a7d n Math.exp(x);.} │ │ │ -00015880: 3b0a 6578 706f 7274 732e 7072 696d 466c ;.exports.primFl │ │ │ -00015890: 6f61 744c 6f67 203d 2066 756e 6374 696f oatLog = functio │ │ │ -000158a0: 6e28 7829 207b 0a20 2020 2072 6574 7572 n(x) {. retur │ │ │ -000158b0: 6e20 4d61 7468 2e6c 6f67 2878 293b 0a7d n Math.log(x);.} │ │ │ -000158c0: 3b0a 6578 706f 7274 732e 7072 696d 466c ;.exports.primFl │ │ │ -000158d0: 6f61 7453 696e 203d 2066 756e 6374 696f oatSin = functio │ │ │ -000158e0: 6e28 7829 207b 0a20 2020 2072 6574 7572 n(x) {. retur │ │ │ -000158f0: 6e20 4d61 7468 2e73 696e 2878 293b 0a7d n Math.sin(x);.} │ │ │ -00015900: 3b0a 6578 706f 7274 732e 7072 696d 466c ;.exports.primFl │ │ │ -00015910: 6f61 7443 6f73 203d 2066 756e 6374 696f oatCos = functio │ │ │ -00015920: 6e28 7829 207b 0a20 2020 2072 6574 7572 n(x) {. retur │ │ │ -00015930: 6e20 4d61 7468 2e63 6f73 2878 293b 0a7d n Math.cos(x);.} │ │ │ -00015940: 3b0a 6578 706f 7274 732e 7072 696d 466c ;.exports.primFl │ │ │ -00015950: 6f61 7454 616e 203d 2066 756e 6374 696f oatTan = functio │ │ │ -00015960: 6e28 7829 207b 0a20 2020 2072 6574 7572 n(x) {. retur │ │ │ -00015970: 6e20 4d61 7468 2e74 616e 2878 293b 0a7d n Math.tan(x);.} │ │ │ -00015980: 3b0a 6578 706f 7274 732e 7072 696d 466c ;.exports.primFl │ │ │ -00015990: 6f61 7441 5369 6e20 3d20 6675 6e63 7469 oatASin = functi │ │ │ -000159a0: 6f6e 2878 2920 7b0a 2020 2020 7265 7475 on(x) {. retu │ │ │ -000159b0: 726e 204d 6174 682e 6173 696e 2878 293b rn Math.asin(x); │ │ │ -000159c0: 0a7d 3b0a 6578 706f 7274 732e 7072 696d .};.exports.prim │ │ │ -000159d0: 466c 6f61 7441 436f 7320 3d20 6675 6e63 FloatACos = func │ │ │ -000159e0: 7469 6f6e 2878 2920 7b0a 2020 2020 7265 tion(x) {. re │ │ │ -000159f0: 7475 726e 204d 6174 682e 6163 6f73 2878 turn Math.acos(x │ │ │ -00015a00: 293b 0a7d 3b0a 6578 706f 7274 732e 7072 );.};.exports.pr │ │ │ -00015a10: 696d 466c 6f61 7441 5461 6e20 3d20 6675 imFloatATan = fu │ │ │ -00015a20: 6e63 7469 6f6e 2878 2920 7b0a 2020 2020 nction(x) {. │ │ │ -00015a30: 7265 7475 726e 204d 6174 682e 6174 616e return Math.atan │ │ │ -00015a40: 2878 293b 0a7d 3b0a 6578 706f 7274 732e (x);.};.exports. │ │ │ -00015a50: 7072 696d 466c 6f61 7441 5461 6e32 203d primFloatATan2 = │ │ │ -00015a60: 2066 756e 6374 696f 6e28 7829 207b 0a20 function(x) {. │ │ │ -00015a70: 2020 2072 6574 7572 6e20 6675 6e63 7469 return functi │ │ │ -00015a80: 6f6e 2879 297b 0a20 2020 2020 2020 2072 on(y){. r │ │ │ -00015a90: 6574 7572 6e20 4d61 7468 2e61 7461 6e32 eturn Math.atan2 │ │ │ -00015aa0: 2878 2c20 7929 3b0a 2020 2020 7d3b 0a7d (x, y);. };.} │ │ │ -00015ab0: 3b0a 6578 706f 7274 732e 7072 696d 466c ;.exports.primFl │ │ │ -00015ac0: 6f61 7453 696e 6820 3d20 6675 6e63 7469 oatSinh = functi │ │ │ -00015ad0: 6f6e 2878 2920 7b0a 2020 2020 7265 7475 on(x) {. retu │ │ │ -00015ae0: 726e 204d 6174 682e 7369 6e68 2878 293b rn Math.sinh(x); │ │ │ -00015af0: 0a7d 3b0a 6578 706f 7274 732e 7072 696d .};.exports.prim │ │ │ -00015b00: 466c 6f61 7443 6f73 6820 3d20 6675 6e63 FloatCosh = func │ │ │ -00015b10: 7469 6f6e 2878 2920 7b0a 2020 2020 7265 tion(x) {. re │ │ │ -00015b20: 7475 726e 204d 6174 682e 636f 7368 2878 turn Math.cosh(x │ │ │ -00015b30: 293b 0a7d 3b0a 6578 706f 7274 732e 7072 );.};.exports.pr │ │ │ -00015b40: 696d 466c 6f61 7454 616e 6820 3d20 6675 imFloatTanh = fu │ │ │ -00015b50: 6e63 7469 6f6e 2878 2920 7b0a 2020 2020 nction(x) {. │ │ │ -00015b60: 7265 7475 726e 204d 6174 682e 7461 6e68 return Math.tanh │ │ │ -00015b70: 2878 293b 0a7d 3b0a 6578 706f 7274 732e (x);.};.exports. │ │ │ -00015b80: 7072 696d 466c 6f61 7441 5369 6e68 203d primFloatASinh = │ │ │ -00015b90: 2066 756e 6374 696f 6e28 7829 207b 0a20 function(x) {. │ │ │ -00015ba0: 2020 2072 6574 7572 6e20 4d61 7468 2e61 return Math.a │ │ │ -00015bb0: 7369 6e68 2878 293b 0a7d 3b0a 6578 706f sinh(x);.};.expo │ │ │ -00015bc0: 7274 732e 7072 696d 466c 6f61 7441 436f rts.primFloatACo │ │ │ -00015bd0: 7368 203d 2066 756e 6374 696f 6e28 7829 sh = function(x) │ │ │ -00015be0: 207b 0a20 2020 2072 6574 7572 6e20 4d61 {. return Ma │ │ │ -00015bf0: 7468 2e61 636f 7368 2878 293b 0a7d 3b0a th.acosh(x);.};. │ │ │ -00015c00: 6578 706f 7274 732e 7072 696d 466c 6f61 exports.primFloa │ │ │ -00015c10: 7441 5461 6e68 203d 2066 756e 6374 696f tATanh = functio │ │ │ -00015c20: 6e28 7829 207b 0a20 2020 2072 6574 7572 n(x) {. retur │ │ │ -00015c30: 6e20 4d61 7468 2e61 7461 6e68 2878 293b n Math.atanh(x); │ │ │ -00015c40: 0a7d 3b0a 0a2f 2f20 4375 6269 6361 6c20 .};..// Cubical │ │ │ -00015c50: 7072 696d 6974 6976 6573 2e0a 6578 706f primitives..expo │ │ │ -00015c60: 7274 732e 7072 696d 494d 696e 203d 2078 rts.primIMin = x │ │ │ -00015c70: 203d 3e20 7920 3d3e 2078 2026 2620 793b => y => x && y; │ │ │ -00015c80: 0a65 7870 6f72 7473 2e70 7269 6d49 4d61 .exports.primIMa │ │ │ -00015c90: 7820 3d20 7820 3d3e 2079 203d 3e20 7820 x = x => y => x │ │ │ -00015ca0: 7c7c 2079 3b0a 6578 706f 7274 732e 7072 || y;.exports.pr │ │ │ -00015cb0: 696d 494e 6567 203d 2078 203d 3e20 2178 imINeg = x => !x │ │ │ -00015cc0: 3b0a 6578 706f 7274 732e 7072 696d 5061 ;.exports.primPa │ │ │ -00015cd0: 7274 6961 6c20 3d20 5f20 3d3e 205f 203d rtial = _ => _ = │ │ │ -00015ce0: 3e20 7820 3d3e 2078 3b0a 6578 706f 7274 > x => x;.export │ │ │ -00015cf0: 732e 7072 696d 5061 7274 6961 6c50 203d s.primPartialP = │ │ │ -00015d00: 205f 203d 3e20 5f20 3d3e 2078 203d 3e20 _ => _ => x => │ │ │ -00015d10: 783b 0a65 7870 6f72 7473 2e70 7269 6d50 x;.exports.primP │ │ │ -00015d20: 4f72 203d 205f 203d 3e20 6920 3d3e 205f Or = _ => i => _ │ │ │ -00015d30: 203d 3e20 5f20 3d3e 2078 203d 3e20 7920 => _ => x => y │ │ │ -00015d40: 3d3e 2069 203f 2078 203a 2079 3b0a 6578 => i ? x : y;.ex │ │ │ -00015d50: 706f 7274 732e 7072 696d 436f 6d70 203d ports.primComp = │ │ │ -00015d60: 205f 203d 3e20 5f20 3d3e 205f 203d 3e20 _ => _ => _ => │ │ │ -00015d70: 5f20 3d3e 2078 203d 3e20 783b 0a65 7870 _ => x => x;.exp │ │ │ -00015d80: 6f72 7473 2e70 7269 6d54 7261 6e73 7020 orts.primTransp │ │ │ -00015d90: 3d20 5f20 3d3e 205f 203d 3e20 5f20 3d3e = _ => _ => _ => │ │ │ -00015da0: 2078 203d 3e20 783b 0a65 7870 6f72 7473 x => x;.exports │ │ │ -00015db0: 2e70 7269 6d48 436f 6d70 203d 205f 203d .primHComp = _ = │ │ │ -00015dc0: 3e20 5f20 3d3e 205f 203d 3e20 5f20 3d3e > _ => _ => _ => │ │ │ -00015dd0: 2078 203d 3e20 783b 0a65 7870 6f72 7473 x => x;.exports │ │ │ -00015de0: 2e70 7269 6d53 7562 4f75 7420 3d20 5f20 .primSubOut = _ │ │ │ -00015df0: 3d3e 205f 203d 3e20 5f20 3d3e 205f 203d => _ => _ => _ = │ │ │ -00015e00: 3e20 7820 3d3e 2078 3b0a 6578 706f 7274 > x => x;.export │ │ │ -00015e10: 732e 7072 696d 5f67 6c75 6555 203d 205f s.prim_glueU = _ │ │ │ -00015e20: 203d 3e20 5f20 3d3e 205f 203d 3e20 5f20 => _ => _ => _ │ │ │ -00015e30: 3d3e 205f 203d 3e20 7820 3d3e 2078 3b0a => _ => x => x;. │ │ │ -00015e40: 6578 706f 7274 732e 7072 696d 5f75 6e67 exports.prim_ung │ │ │ -00015e50: 6c75 6555 203d 205f 203d 3e20 5f20 3d3e lueU = _ => _ => │ │ │ -00015e60: 205f 203d 3e20 5f20 3d3e 2078 203d 3e20 _ => _ => x => │ │ │ -00015e70: 783b 0a65 7870 6f72 7473 2e70 7269 6d46 x;.exports.primF │ │ │ -00015e80: 6163 6546 6f72 616c 6c20 3d20 6620 3d3e aceForall = f => │ │ │ -00015e90: 2066 2874 7275 6529 203d 3d20 7472 7565 f(true) == true │ │ │ -00015ea0: 2026 2620 6628 6661 6c73 6529 203d 3d20 && f(false) == │ │ │ -00015eb0: 6661 6c73 653b 0a0a 2f2f 204f 7468 6572 false;..// Other │ │ │ -00015ec0: 2073 7475 6666 0a0a 2f2f 2070 7269 6d53 stuff..// primS │ │ │ -00015ed0: 6571 203a 2028 582c 2059 2920 2d3e 2059 eq : (X, Y) -> Y │ │ │ -00015ee0: 0a65 7870 6f72 7473 2e70 7269 6d53 6571 .exports.primSeq │ │ │ -00015ef0: 203d 2028 782c 2079 2920 3d3e 2079 3b0a = (x, y) => y;. │ │ │ -00015f00: 0a2f 2f20 7570 7269 6d51 4e61 6d65 4571 .// uprimQNameEq │ │ │ -00015f10: 7561 6c69 7479 203a 2028 4e61 6d65 2c20 uality : (Name, │ │ │ -00015f20: 4e61 6d65 2920 2d3e 2042 6f6f 6c0a 6578 Name) -> Bool.ex │ │ │ -00015f30: 706f 7274 732e 7570 7269 6d51 4e61 6d65 ports.uprimQName │ │ │ -00015f40: 4571 7561 6c69 7479 203d 2028 782c 2079 Equality = (x, y │ │ │ -00015f50: 2920 3d3e 2078 5b27 6964 275d 203d 3d3d ) => x['id'] === │ │ │ -00015f60: 2079 5b27 6964 275d 2026 2620 785b 276d y['id'] && x['m │ │ │ -00015f70: 6f64 756c 6549 6427 5d20 3d3d 3d20 795b oduleId'] === y[ │ │ │ -00015f80: 276d 6f64 756c 6549 6427 5d3b 0a0a 2f2f 'moduleId'];..// │ │ │ -00015f90: 2070 7269 6d51 4e61 6d65 4571 7561 6c69 primQNameEquali │ │ │ -00015fa0: 7479 203a 204e 616d 6520 2d3e 204e 616d ty : Name -> Nam │ │ │ -00015fb0: 6520 2d3e 2042 6f6f 6c0a 6578 706f 7274 e -> Bool.export │ │ │ -00015fc0: 732e 7072 696d 514e 616d 6545 7175 616c s.primQNameEqual │ │ │ -00015fd0: 6974 7920 3d20 7820 3d3e 2079 203d 3e20 ity = x => y => │ │ │ -00015fe0: 6578 706f 7274 732e 7570 7269 6d51 4e61 exports.uprimQNa │ │ │ -00015ff0: 6d65 4571 7561 6c69 7479 2878 2c20 7929 meEquality(x, y) │ │ │ -00016000: 3b0a 0a2f 2f20 7072 696d 514e 616d 654c ;..// primQNameL │ │ │ -00016010: 6573 7320 3a20 4e61 6d65 202d 3e20 4e61 ess : Name -> Na │ │ │ -00016020: 6d65 202d 3e20 426f 6f6c 0a65 7870 6f72 me -> Bool.expor │ │ │ -00016030: 7473 2e70 7269 6d51 4e61 6d65 4c65 7373 ts.primQNameLess │ │ │ -00016040: 203d 2078 203d 3e20 7920 3d3e 2078 5b27 = x => y => x[' │ │ │ -00016050: 6964 275d 203d 3d3d 2079 5b27 6964 275d id'] === y['id'] │ │ │ -00016060: 203f 2078 5b27 6d6f 6475 6c65 4964 275d ? x['moduleId'] │ │ │ -00016070: 203c 2079 5b27 6d6f 6475 6c65 4964 275d < y['moduleId'] │ │ │ -00016080: 203a 2078 5b27 6964 275d 203c 2079 5b27 : x['id'] < y[' │ │ │ -00016090: 6964 275d 3b0a 0a2f 2f20 7072 696d 5368 id'];..// primSh │ │ │ -000160a0: 6f77 514e 616d 6520 3a20 4e61 6d65 202d owQName : Name - │ │ │ -000160b0: 3e20 5374 7269 6e67 0a65 7870 6f72 7473 > String.exports │ │ │ -000160c0: 2e70 7269 6d53 686f 7751 4e61 6d65 203d .primShowQName = │ │ │ -000160d0: 2078 203d 3e20 785b 276e 616d 6527 5d3b x => x['name']; │ │ │ -000160e0: 0a0a 2f2f 2070 7269 6d51 4e61 6d65 4669 ..// primQNameFi │ │ │ -000160f0: 7869 7479 203a 204e 616d 6520 2d3e 2046 xity : Name -> F │ │ │ -00016100: 6978 6974 790a 6578 706f 7274 732e 7072 ixity.exports.pr │ │ │ -00016110: 696d 514e 616d 6546 6978 6974 7920 3d20 imQNameFixity = │ │ │ -00016120: 7820 3d3e 2078 5b27 6669 7869 7479 275d x => x['fixity'] │ │ │ -00016130: 3b0a 0a2f 2f20 4d65 7461 0a0a 2f2f 2070 ;..// Meta..// p │ │ │ -00016140: 7269 6d53 686f 774d 6574 6120 3a20 4d65 rimShowMeta : Me │ │ │ -00016150: 7461 202d 3e20 5374 7269 6e67 0a2f 2f20 ta -> String.// │ │ │ -00016160: 2020 5368 6f75 6c64 2062 6520 6b65 7074 Should be kept │ │ │ -00016170: 2069 6e20 7379 6e63 2077 6974 6820 7665 in sync with ve │ │ │ -00016180: 7273 696f 6e20 696e 2060 7072 696d 6974 rsion in `primit │ │ │ -00016190: 6976 6546 756e 6374 696f 6e73 6020 696e iveFunctions` in │ │ │ -000161a0: 0a2f 2f20 2020 4167 6461 2e54 7970 6543 .// Agda.TypeC │ │ │ -000161b0: 6865 636b 696e 672e 5072 696d 6974 6976 hecking.Primitiv │ │ │ -000161c0: 650a 6578 706f 7274 732e 7072 696d 5368 e.exports.primSh │ │ │ -000161d0: 6f77 4d65 7461 203d 2078 203d 3e20 225f owMeta = x => "_ │ │ │ -000161e0: 2220 2b20 785b 2769 6427 5d20 2b20 2240 " + x['id'] + "@ │ │ │ -000161f0: 2220 2b20 785b 276d 6f64 756c 6527 5d3b " + x['module']; │ │ │ -00016200: 0a0a 2f2f 2070 7269 6d4d 6574 6154 6f4e ..// primMetaToN │ │ │ -00016210: 6174 203a 204d 6574 6120 2d3e 204e 6174 at : Meta -> Nat │ │ │ -00016220: 0a2f 2f20 2020 5368 6f75 6c64 2062 6520 .// Should be │ │ │ -00016230: 6b65 7074 2069 6e20 7379 6e63 2077 6974 kept in sync wit │ │ │ -00016240: 6820 606d 6574 6154 6f4e 6174 6020 696e h `metaToNat` in │ │ │ -00016250: 2041 6764 612e 5479 7065 4368 6563 6b69 Agda.TypeChecki │ │ │ -00016260: 6e67 2e50 7269 6d69 7469 7665 0a65 7870 ng.Primitive.exp │ │ │ -00016270: 6f72 7473 2e70 7269 6d4d 6574 6154 6f4e orts.primMetaToN │ │ │ -00016280: 6174 203d 2078 203d 3e20 785b 276d 6f64 at = x => x['mod │ │ │ -00016290: 756c 6527 5d20 2a20 325e 3634 202b 2078 ule'] * 2^64 + x │ │ │ -000162a0: 5b27 6964 275d 3b0a 0a2f 2f20 7072 696d ['id'];..// prim │ │ │ -000162b0: 4d65 7461 4571 7561 6c69 7479 203a 204d MetaEquality : M │ │ │ -000162c0: 6574 6120 2d3e 204d 6574 6120 2d3e 2042 eta -> Meta -> B │ │ │ -000162d0: 6f6f 6c0a 6578 706f 7274 732e 7072 696d ool.exports.prim │ │ │ -000162e0: 4d65 7461 4571 7561 6c69 7479 203d 2078 MetaEquality = x │ │ │ -000162f0: 203d 3e20 7920 3d3e 2078 5b27 6964 275d => y => x['id'] │ │ │ -00016300: 203d 3d3d 2079 5b27 6964 275d 2026 2620 === y['id'] && │ │ │ -00016310: 785b 276d 6f64 756c 6527 5d20 3d3d 3d20 x['module'] === │ │ │ -00016320: 795b 276d 6f64 756c 6527 5d3b 0a0a 2f2f y['module'];..// │ │ │ -00016330: 2070 7269 6d4d 6574 614c 6573 7320 3a20 primMetaLess : │ │ │ -00016340: 4d65 7461 202d 3e20 4d65 7461 202d 3e20 Meta -> Meta -> │ │ │ -00016350: 426f 6f6c 0a65 7870 6f72 7473 2e70 7269 Bool.exports.pri │ │ │ -00016360: 6d4d 6574 614c 6573 7320 3d20 7820 3d3e mMetaLess = x => │ │ │ -00016370: 2079 203d 3e20 785b 2769 6427 5d20 3d3d y => x['id'] == │ │ │ -00016380: 3d20 795b 2769 6427 5d20 3f20 785b 276d = y['id'] ? x['m │ │ │ -00016390: 6f64 756c 6527 5d20 3c20 795b 276d 6f64 odule'] < y['mod │ │ │ -000163a0: 756c 6527 5d20 3a20 785b 2769 6427 5d20 ule'] : x['id'] │ │ │ -000163b0: 3c20 795b 2769 6427 5d3b 0a0a 6578 706f < y['id'];..expo │ │ │ -000163c0: 7274 2064 6566 6175 6c74 2065 7870 6f72 rt default expor │ │ │ -000163d0: 7473 3b0a a8b1 9cd2 9da2 c08b 27e0 88b5 ts;.........'... │ │ │ -000163e0: f690 ffd6 8fe5 0100 8201 0001 6411 0520 ............d.. │ │ │ -000163f0: 0000 0100 0404 0803 0702 5e02 0000 030f ..........^..... │ │ │ -00016400: 0005 0505 0b5f 0b95 010b 6109 0601 00b5 ....._....a..... │ │ │ -00016410: 0ad2 82b7 abe3 9cc0 aec0 0199 f3d5 a7ff ................ │ │ │ -00016420: a4d3 a5c9 0100 9501 0001 6979 0582 8080 ..........iy.... │ │ │ -00016430: e608 0000 0100 0304 0704 0200 0003 0f00 ................ │ │ │ -00016440: 0901 b50a 2f2f 2043 6f70 7972 6967 6874 ....// Copyright │ │ │ -00016450: 2032 3032 332c 2041 6e64 7265 6173 2041 2023, Andreas A │ │ │ -00016460: 6265 6c2e 0a2f 2f20 4661 6c6c 7320 756e bel..// Falls un │ │ │ -00016470: 6465 7220 7468 6520 4167 6461 206c 6963 der the Agda lic │ │ │ -00016480: 656e 7365 2061 7420 6874 7470 733a 2f2f ense at https:// │ │ │ -00016490: 6769 7468 7562 2e63 6f6d 2f61 6764 612f github.com/agda/ │ │ │ -000164a0: 6167 6461 2f62 6c6f 622f 6d61 7374 6572 agda/blob/master │ │ │ -000164b0: 2f4c 4943 454e 5345 0a0a 2f2f 2057 6865 /LICENSE..// Whe │ │ │ -000164c0: 6e20 7765 2068 6f76 6572 206f 7665 7220 n we hover over │ │ │ -000164d0: 616e 2041 6764 6120 6964 656e 7469 6669 an Agda identifi │ │ │ -000164e0: 6572 2c20 7765 2068 6967 686c 6967 6874 er, we highlight │ │ │ -000164f0: 2061 6c6c 206f 6363 7572 7265 6e63 6573 all occurrences │ │ │ -00016500: 206f 6620 7468 6973 2069 6465 6e74 6966 of this identif │ │ │ -00016510: 6965 7220 6f6e 2074 6865 2070 6167 652e ier on the page. │ │ │ -00016520: 0a2f 2f20 546f 2074 6869 7320 656e 642c .// To this end, │ │ │ -00016530: 2077 6520 6372 6561 7465 2061 206d 6170 we create a map │ │ │ -00016540: 2066 726f 6d20 6964 656e 7469 6669 6572 from identifier │ │ │ -00016550: 2074 6f20 616c 6c20 6f66 2069 7473 206f to all of its o │ │ │ -00016560: 6363 7572 7265 6e63 6573 2069 6e20 7468 ccurrences in th │ │ │ -00016570: 6520 6265 6769 6e6e 696e 672e 0a0a 2f2f e beginning...// │ │ │ -00016580: 2041 2064 6963 7469 6f6e 6172 7920 6672 A dictionary fr │ │ │ -00016590: 6f6d 2068 7265 6673 2074 6f20 2761 272d om hrefs to 'a'- │ │ │ -000165a0: 656c 656d 656e 7473 2074 6861 7420 6861 elements that ha │ │ │ -000165b0: 7665 2074 6869 7320 6872 6566 2e0a 636f ve this href..co │ │ │ -000165c0: 6e73 7420 6469 6374 203d 206e 6577 204d nst dict = new M │ │ │ -000165d0: 6170 2829 3b0a 0a77 696e 646f 772e 6f6e ap();..window.on │ │ │ -000165e0: 6c6f 6164 203d 2066 756e 6374 696f 6e20 load = function │ │ │ -000165f0: 2829 207b 0a0a 2020 2f2f 2047 6574 2061 () {.. // Get a │ │ │ -00016600: 6c6c 2027 6127 2074 6167 7320 7769 7468 ll 'a' tags with │ │ │ -00016610: 2061 6e20 2768 7265 6627 2061 7474 7269 an 'href' attri │ │ │ -00016620: 6275 7465 2e0a 2020 2f2f 2057 6520 6361 bute.. // We ca │ │ │ -00016630: 6c6c 2074 686f 7365 2022 6f62 6a65 6374 ll those "object │ │ │ -00016640: 7322 2e0a 2020 636f 6e73 7420 6f62 6a73 s".. const objs │ │ │ -00016650: 2020 3d20 646f 6375 6d65 6e74 2e71 7565 = document.que │ │ │ -00016660: 7279 5365 6c65 6374 6f72 416c 6c28 2761 rySelectorAll('a │ │ │ -00016670: 5b68 7265 665d 2729 3b0a 0a20 202f 2f20 [href]');.. // │ │ │ -00016680: 4275 696c 6420 6120 6469 6374 696f 6e61 Build a dictiona │ │ │ -00016690: 7279 206d 6170 7069 6e67 2061 2068 7265 ry mapping a hre │ │ │ -000166a0: 6620 746f 2061 2073 6574 206f 6620 6f62 f to a set of ob │ │ │ -000166b0: 6a65 6374 7320 7468 6174 2068 6176 6520 jects that have │ │ │ -000166c0: 7468 6973 2068 7265 662e 0a20 2066 6f72 this href.. for │ │ │ -000166d0: 2028 636f 6e73 7420 6f62 6a20 6f66 206f (const obj of o │ │ │ -000166e0: 626a 7329 207b 0a20 2020 2063 6f6e 7374 bjs) {. const │ │ │ -000166f0: 206b 6579 203d 206f 626a 2e68 7265 663b key = obj.href; │ │ │ -00016700: 0a20 2020 2063 6f6e 7374 2073 6574 203d . const set = │ │ │ -00016710: 2064 6963 742e 6765 7428 6b65 7929 203f dict.get(key) ? │ │ │ -00016720: 3f20 6e65 7720 5365 7428 293b 0a20 2020 ? new Set();. │ │ │ -00016730: 2073 6574 2e61 6464 286f 626a 293b 0a20 set.add(obj);. │ │ │ -00016740: 2020 2064 6963 742e 7365 7428 6b65 792c dict.set(key, │ │ │ -00016750: 2073 6574 293b 0a20 207d 0a0a 2020 2f2f set);. }.. // │ │ │ -00016760: 2049 6e73 7461 6c6c 2027 6f6e 6d6f 7573 Install 'onmous │ │ │ -00016770: 656f 7665 7227 2061 6e64 2027 6f6e 6d6f eover' and 'onmo │ │ │ -00016780: 7573 656f 7574 2720 6576 656e 7420 6861 useout' event ha │ │ │ -00016790: 6e64 6c65 7273 2066 6f72 2061 6c6c 206f ndlers for all o │ │ │ -000167a0: 626a 6563 7473 2e0a 2020 666f 7220 2863 bjects.. for (c │ │ │ -000167b0: 6f6e 7374 206f 626a 206f 6620 6f62 6a73 onst obj of objs │ │ │ -000167c0: 2920 7b0a 2020 2020 2f2f 2027 6f6e 6d6f ) {. // 'onmo │ │ │ -000167d0: 7573 656f 7665 7227 2066 6f72 2061 6e20 useover' for an │ │ │ -000167e0: 6f62 6a65 6374 2061 6464 7320 6174 7472 object adds attr │ │ │ -000167f0: 6962 7574 6520 2768 6f76 6572 2d68 6967 ibute 'hover-hig │ │ │ -00016800: 686c 6967 6874 2720 746f 2061 6c6c 206f hlight' to all o │ │ │ -00016810: 626a 6563 7473 2077 6974 6820 7468 6520 bjects with the │ │ │ -00016820: 7361 6d65 2068 7265 662e 0a20 2020 206f same href.. o │ │ │ -00016830: 626a 2e6f 6e6d 6f75 7365 6f76 6572 203d bj.onmouseover = │ │ │ -00016840: 2066 756e 6374 696f 6e20 2829 207b 0a20 function () {. │ │ │ -00016850: 2020 2020 2066 6f72 2028 636f 6e73 7420 for (const │ │ │ -00016860: 6f20 6f66 2064 6963 742e 6765 7428 7468 o of dict.get(th │ │ │ -00016870: 6973 2e68 7265 6629 2920 7b20 6f2e 636c is.href)) { o.cl │ │ │ -00016880: 6173 734c 6973 742e 6164 6428 2768 6f76 assList.add('hov │ │ │ -00016890: 6572 2d68 6967 686c 6967 6874 2729 3b20 er-highlight'); │ │ │ -000168a0: 7d0a 2020 2020 7d0a 2020 2020 2f2f 2027 }. }. // ' │ │ │ -000168b0: 6f6e 6d6f 7573 656f 7665 7227 2072 656d onmouseover' rem │ │ │ -000168c0: 6f76 6573 2074 6865 2061 6464 6564 2027 oves the added ' │ │ │ -000168d0: 686f 7665 722d 6869 6768 6c69 6768 7427 hover-highlight' │ │ │ -000168e0: 2061 7474 7269 6275 7465 7320 6167 6169 attributes agai │ │ │ -000168f0: 6e2e 0a20 2020 206f 626a 2e6f 6e6d 6f75 n.. obj.onmou │ │ │ -00016900: 7365 6f75 7420 3d20 6675 6e63 7469 6f6e seout = function │ │ │ -00016910: 2028 2920 7b0a 2020 2020 2020 666f 7220 () {. for │ │ │ -00016920: 2863 6f6e 7374 206f 206f 6620 6469 6374 (const o of dict │ │ │ -00016930: 2e67 6574 2874 6869 732e 6872 6566 2929 .get(this.href)) │ │ │ -00016940: 207b 206f 2e63 6c61 7373 4c69 7374 2e72 { o.classList.r │ │ │ -00016950: 656d 6f76 6528 2768 6f76 6572 2d68 6967 emove('hover-hig │ │ │ -00016960: 686c 6967 6874 2729 3b20 7d0a 2020 2020 hlight'); }. │ │ │ -00016970: 7d0a 2020 7d0a 7d3b 0aee c4a7 9fef dfa9 }. }.};........ │ │ │ -00016980: a181 01b0 efd6 e0df df8c 945d 0076 0001 ...........].v.. │ │ │ -00016990: 69b5 0520 0000 0100 0404 0803 0702 5e02 i.. ..........^. │ │ │ -000169a0: 0000 030f 0005 0505 0b5f 0b96 010b 6109 ........._....a. │ │ │ -000169b0: 0601 00b2 0e88 fa8e a4c5 cfb8 e559 ae82 .............Y.. │ │ │ -000169c0: 92a7 efb5 b0b2 4b00 9601 0001 7118 0582 ......K.....q... │ │ │ -000169d0: 8080 e608 0000 0100 0304 0704 0200 0003 ................ │ │ │ -000169e0: 0f00 0901 b20e 2f2a 2041 7370 6563 7473 ....../* Aspects │ │ │ -000169f0: 2e20 2a2f 0a2e 4167 6461 202e 436f 6d6d . */..Agda .Comm │ │ │ -00016a00: 656e 7420 2020 2020 2020 7b20 636f 6c6f ent { colo │ │ │ -00016a10: 723a 2023 4232 3232 3232 207d 0a2e 4167 r: #B22222 }..Ag │ │ │ -00016a20: 6461 202e 4261 636b 6772 6f75 6e64 2020 da .Background │ │ │ -00016a30: 2020 7b7d 0a2e 4167 6461 202e 4d61 726b {}..Agda .Mark │ │ │ -00016a40: 7570 2020 2020 2020 2020 7b20 636f 6c6f up { colo │ │ │ -00016a50: 723a 2023 3030 3030 3030 207d 0a2e 4167 r: #000000 }..Ag │ │ │ -00016a60: 6461 202e 4b65 7977 6f72 6420 2020 2020 da .Keyword │ │ │ -00016a70: 2020 7b20 636f 6c6f 723a 2023 4344 3636 { color: #CD66 │ │ │ -00016a80: 3030 207d 0a2e 4167 6461 202e 5374 7269 00 }..Agda .Stri │ │ │ -00016a90: 6e67 2020 2020 2020 2020 7b20 636f 6c6f ng { colo │ │ │ -00016aa0: 723a 2023 4232 3232 3232 207d 0a2e 4167 r: #B22222 }..Ag │ │ │ -00016ab0: 6461 202e 4e75 6d62 6572 2020 2020 2020 da .Number │ │ │ -00016ac0: 2020 7b20 636f 6c6f 723a 2023 4130 3230 { color: #A020 │ │ │ -00016ad0: 4630 207d 0a2e 4167 6461 202e 5379 6d62 F0 }..Agda .Symb │ │ │ -00016ae0: 6f6c 2020 2020 2020 2020 7b20 636f 6c6f ol { colo │ │ │ -00016af0: 723a 2023 3430 3430 3430 207d 0a2e 4167 r: #404040 }..Ag │ │ │ -00016b00: 6461 202e 5072 696d 6974 6976 6554 7970 da .PrimitiveTyp │ │ │ -00016b10: 6520 7b20 636f 6c6f 723a 2023 3030 3030 e { color: #0000 │ │ │ -00016b20: 4344 207d 0a2e 4167 6461 202e 5072 6167 CD }..Agda .Prag │ │ │ -00016b30: 6d61 2020 2020 2020 2020 7b20 636f 6c6f ma { colo │ │ │ -00016b40: 723a 2062 6c61 636b 2020 207d 0a2e 4167 r: black }..Ag │ │ │ -00016b50: 6461 202e 4f70 6572 6174 6f72 2020 2020 da .Operator │ │ │ -00016b60: 2020 7b7d 0a2e 4167 6461 202e 486f 6c65 {}..Agda .Hole │ │ │ -00016b70: 2020 2020 2020 2020 2020 7b20 6261 636b { back │ │ │ -00016b80: 6772 6f75 6e64 3a20 2342 3445 4542 3420 ground: #B4EEB4 │ │ │ -00016b90: 7d0a 0a2f 2a20 4e61 6d65 4b69 6e64 732e }../* NameKinds. │ │ │ -00016ba0: 202a 2f0a 2e41 6764 6120 2e42 6f75 6e64 */..Agda .Bound │ │ │ -00016bb0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00016bc0: 2020 7b20 636f 6c6f 723a 2062 6c61 636b { color: black │ │ │ -00016bd0: 2020 207d 0a2e 4167 6461 202e 4765 6e65 }..Agda .Gene │ │ │ -00016be0: 7261 6c69 7a61 626c 6520 2020 2020 2020 ralizable │ │ │ -00016bf0: 2020 207b 2063 6f6c 6f72 3a20 626c 6163 { color: blac │ │ │ -00016c00: 6b20 2020 7d0a 2e41 6764 6120 2e49 6e64 k }..Agda .Ind │ │ │ -00016c10: 7563 7469 7665 436f 6e73 7472 7563 746f uctiveConstructo │ │ │ -00016c20: 7220 2020 7b20 636f 6c6f 723a 2023 3030 r { color: #00 │ │ │ -00016c30: 3842 3030 207d 0a2e 4167 6461 202e 436f 8B00 }..Agda .Co │ │ │ -00016c40: 696e 6475 6374 6976 6543 6f6e 7374 7275 inductiveConstru │ │ │ -00016c50: 6374 6f72 207b 2063 6f6c 6f72 3a20 2338 ctor { color: #8 │ │ │ -00016c60: 4237 3530 3020 7d0a 2e41 6764 6120 2e44 B7500 }..Agda .D │ │ │ -00016c70: 6174 6174 7970 6520 2020 2020 2020 2020 atatype │ │ │ -00016c80: 2020 2020 2020 7b20 636f 6c6f 723a 2023 { color: # │ │ │ -00016c90: 3030 3030 4344 207d 0a2e 4167 6461 202e 0000CD }..Agda . │ │ │ -00016ca0: 4669 656c 6420 2020 2020 2020 2020 2020 Field │ │ │ -00016cb0: 2020 2020 2020 207b 2063 6f6c 6f72 3a20 { color: │ │ │ -00016cc0: 2345 4531 3238 3920 7d0a 2e41 6764 6120 #EE1289 }..Agda │ │ │ -00016cd0: 2e46 756e 6374 696f 6e20 2020 2020 2020 .Function │ │ │ -00016ce0: 2020 2020 2020 2020 7b20 636f 6c6f 723a { color: │ │ │ -00016cf0: 2023 3030 3030 4344 207d 0a2e 4167 6461 #0000CD }..Agda │ │ │ -00016d00: 202e 4d61 6372 6f20 2020 2020 2020 2020 .Macro │ │ │ -00016d10: 2020 2020 2020 2020 207b 2063 6f6c 6f72 { color │ │ │ -00016d20: 3a20 2330 3030 3043 4420 7d0a 2e41 6764 : #0000CD }..Agd │ │ │ -00016d30: 6120 2e4d 6f64 756c 6520 2020 2020 2020 a .Module │ │ │ -00016d40: 2020 2020 2020 2020 2020 7b20 636f 6c6f { colo │ │ │ -00016d50: 723a 2023 4130 3230 4630 207d 0a2e 4167 r: #A020F0 }..Ag │ │ │ -00016d60: 6461 202e 506f 7374 756c 6174 6520 2020 da .Postulate │ │ │ -00016d70: 2020 2020 2020 2020 2020 207b 2063 6f6c { col │ │ │ -00016d80: 6f72 3a20 2330 3030 3043 4420 7d0a 2e41 or: #0000CD }..A │ │ │ -00016d90: 6764 6120 2e50 7269 6d69 7469 7665 2020 gda .Primitive │ │ │ -00016da0: 2020 2020 2020 2020 2020 2020 7b20 636f { co │ │ │ -00016db0: 6c6f 723a 2023 3030 3030 4344 207d 0a2e lor: #0000CD }.. │ │ │ -00016dc0: 4167 6461 202e 5265 636f 7264 2020 2020 Agda .Record │ │ │ -00016dd0: 2020 2020 2020 2020 2020 2020 207b 2063 { c │ │ │ -00016de0: 6f6c 6f72 3a20 2330 3030 3043 4420 7d0a olor: #0000CD }. │ │ │ -00016df0: 0a2f 2a20 4f74 6865 7241 7370 6563 7473 ./* OtherAspects │ │ │ -00016e00: 2e20 2a2f 0a2e 4167 6461 202e 446f 7474 . */..Agda .Dott │ │ │ -00016e10: 6564 5061 7474 6572 6e20 2020 2020 2020 edPattern │ │ │ -00016e20: 207b 7d0a 2e41 6764 6120 2e55 6e73 6f6c {}..Agda .Unsol │ │ │ -00016e30: 7665 644d 6574 6120 2020 2020 2020 2020 vedMeta │ │ │ -00016e40: 7b20 636f 6c6f 723a 2062 6c61 636b 3b20 { color: black; │ │ │ -00016e50: 6261 636b 6772 6f75 6e64 3a20 7965 6c6c background: yell │ │ │ -00016e60: 6f77 2020 2020 2020 2020 207d 0a2e 4167 ow }..Ag │ │ │ -00016e70: 6461 202e 556e 736f 6c76 6564 436f 6e73 da .UnsolvedCons │ │ │ -00016e80: 7472 6169 6e74 2020 207b 2063 6f6c 6f72 traint { color │ │ │ -00016e90: 3a20 626c 6163 6b3b 2062 6163 6b67 726f : black; backgro │ │ │ -00016ea0: 756e 643a 2079 656c 6c6f 7720 2020 2020 und: yellow │ │ │ -00016eb0: 2020 2020 7d0a 2e41 6764 6120 2e54 6572 }..Agda .Ter │ │ │ -00016ec0: 6d69 6e61 7469 6f6e 5072 6f62 6c65 6d20 minationProblem │ │ │ -00016ed0: 2020 7b20 636f 6c6f 723a 2062 6c61 636b { color: black │ │ │ -00016ee0: 3b20 6261 636b 6772 6f75 6e64 3a20 2346 ; background: #F │ │ │ -00016ef0: 4641 3037 4120 2020 2020 2020 207d 0a2e FA07A }.. │ │ │ -00016f00: 4167 6461 202e 496e 636f 6d70 6c65 7465 Agda .Incomplete │ │ │ -00016f10: 5061 7474 6572 6e20 2020 207b 2063 6f6c Pattern { col │ │ │ -00016f20: 6f72 3a20 626c 6163 6b3b 2062 6163 6b67 or: black; backg │ │ │ -00016f30: 726f 756e 643a 2023 4635 4445 4233 2020 round: #F5DEB3 │ │ │ -00016f40: 2020 2020 2020 7d0a 2e41 6764 6120 2e45 }..Agda .E │ │ │ -00016f50: 7272 6f72 2020 2020 2020 2020 2020 2020 rror │ │ │ -00016f60: 2020 2020 7b20 636f 6c6f 723a 2072 6564 { color: red │ │ │ -00016f70: 3b20 2020 7465 7874 2d64 6563 6f72 6174 ; text-decorat │ │ │ -00016f80: 696f 6e3a 2075 6e64 6572 6c69 6e65 207d ion: underline } │ │ │ -00016f90: 0a2e 4167 6461 202e 5479 7065 4368 6563 ..Agda .TypeChec │ │ │ -00016fa0: 6b73 2020 2020 2020 2020 2020 207b 2063 ks { c │ │ │ -00016fb0: 6f6c 6f72 3a20 626c 6163 6b3b 2062 6163 olor: black; bac │ │ │ -00016fc0: 6b67 726f 756e 643a 2023 4144 4438 4536 kground: #ADD8E6 │ │ │ -00016fd0: 2020 2020 2020 2020 7d0a 2e41 6764 6120 }..Agda │ │ │ -00016fe0: 2e44 6561 6463 6f64 6520 2020 2020 2020 .Deadcode │ │ │ -00016ff0: 2020 2020 2020 7b20 636f 6c6f 723a 2062 { color: b │ │ │ -00017000: 6c61 636b 3b20 6261 636b 6772 6f75 6e64 lack; background │ │ │ -00017010: 3a20 2338 3038 3038 3020 2020 2020 2020 : #808080 │ │ │ -00017020: 207d 0a2e 4167 6461 202e 5368 6164 6f77 }..Agda .Shadow │ │ │ -00017030: 696e 6749 6e54 656c 6573 636f 7065 207b ingInTelescope { │ │ │ -00017040: 2063 6f6c 6f72 3a20 626c 6163 6b3b 2062 color: black; b │ │ │ -00017050: 6163 6b67 726f 756e 643a 2023 3830 3830 ackground: #8080 │ │ │ -00017060: 3830 2020 2020 2020 2020 7d0a 0a2f 2a20 80 }../* │ │ │ -00017070: 5374 616e 6461 7264 2061 7474 7269 6275 Standard attribu │ │ │ -00017080: 7465 732e 202a 2f0a 2e41 6764 6120 6120 tes. */..Agda a │ │ │ -00017090: 7b20 7465 7874 2d64 6563 6f72 6174 696f { text-decoratio │ │ │ -000170a0: 6e3a 206e 6f6e 6520 7d0a 2e41 6764 6120 n: none }..Agda │ │ │ -000170b0: 615b 6872 6566 5d3a 686f 7665 7220 7b20 a[href]:hover { │ │ │ -000170c0: 6261 636b 6772 6f75 6e64 2d63 6f6c 6f72 background-color │ │ │ -000170d0: 3a20 2342 3445 4542 3420 7d0a 2e41 6764 : #B4EEB4 }..Agd │ │ │ -000170e0: 6120 5b68 7265 665d 2e68 6f76 6572 2d68 a [href].hover-h │ │ │ -000170f0: 6967 686c 6967 6874 207b 2062 6163 6b67 ighlight { backg │ │ │ -00017100: 726f 756e 642d 636f 6c6f 723a 2023 4234 round-color: #B4 │ │ │ -00017110: 4545 4234 3b20 7d0a a3ac eee5 cdf5 c388 EEB4; }......... │ │ │ -00017120: ec01 e4b0 c6b2 fed8 9fb2 2a00 8f01 0001 ..........*..... │ │ │ -00017130: 7169 05b4 8080 e608 0000 0005 2000 0001 qi.......... ... │ │ │ -00017140: 0001 0004 0408 0307 0286 8080 ec08 0200 ................ │ │ │ -00017150: 0003 0f00 0505 050b 8780 80ec 0801 0520 ............... │ │ │ -00017160: 0000 010b 9201 0b97 0185 94d5 d59c d696 ................ │ │ │ -00017170: 41e9 89dc f6c4 cae7 c0e9 0100 6a00 0171 A...........j..q │ │ │ -00017180: a405 2000 0001 0004 0408 0307 025e 0200 .. ..........^.. │ │ │ -00017190: 0003 0f00 0505 050b 5f0b 9801 0b61 0906 ........_....a.. │ │ │ -000171a0: 0100 f001 95dc f7d4 9eac edaa c401 fbee ................ │ │ │ -000171b0: 8992 d4c7 d3f7 7f00 9801 0001 72c6 0582 ............r... │ │ │ -000171c0: 8080 e608 0000 0100 0304 0704 0200 0003 ................ │ │ │ -000171d0: 0f00 0901 f001 2864 6566 696e 652d 7061 ......(define-pa │ │ │ -000171e0: 636b 6167 6520 2261 6764 6132 2d6d 6f64 ckage "agda2-mod │ │ │ -000171f0: 6522 2022 322e 382e 3022 0a20 2022 696e e" "2.8.0". "in │ │ │ -00017200: 7465 7261 6374 6976 6520 6465 7665 6c6f teractive develo │ │ │ -00017210: 706d 656e 7420 666f 7220 4167 6461 2c20 pment for Agda, │ │ │ -00017220: 6120 6465 7065 6e64 656e 746c 7920 7479 a dependently ty │ │ │ -00017230: 7065 6420 6675 6e63 7469 6f6e 616c 2070 ped functional p │ │ │ -00017240: 726f 6772 616d 6d69 6e67 206c 616e 6775 rogramming langu │ │ │ -00017250: 6167 6522 0a20 2027 2828 656d 6163 7320 age". '((emacs │ │ │ -00017260: 2232 342e 3322 2929 2920 3b3b 2064 6570 "24.3"))) ;; dep │ │ │ -00017270: 2064 6566 7320 666f 7220 6061 6e6e 6f74 defs for `annot │ │ │ -00017280: 6174 696f 6e2e 656c 6020 616e 6420 6065 ation.el` and `e │ │ │ -00017290: 7269 2e65 6c60 2061 7265 206e 6f74 2072 ri.el` are not r │ │ │ -000172a0: 6571 7569 7265 6420 6966 2074 6865 7920 equired if they │ │ │ -000172b0: 6172 6520 7061 636b 6167 6564 2074 6f67 are packaged tog │ │ │ -000172c0: 6574 6865 720a cb8d f197 fc92 ccaf 9201 ether........... │ │ │ -000172d0: e4ad c0a6 92c4 a29f 2c00 5b00 0173 0305 ........,.[..s.. │ │ │ -000172e0: 2000 0001 0004 0408 0307 025e 0200 0003 ..........^.... │ │ │ -000172f0: 0f00 0505 050b 5f0b 9901 0b61 0906 0100 ......_....a.... │ │ │ -00017300: 9596 05a5 e7c9 e282 a3bd a9af 01d1 8cc5 ................ │ │ │ -00017310: a28a cfd3 e2ac 0100 9901 0002 be4c 0582 .............L.. │ │ │ -00017320: 8080 e608 0000 0100 0304 0704 0200 0003 ................ │ │ │ -00017330: 0f00 0901 9596 053b 3b20 2d2a 2d20 6c65 .......;; -*- le │ │ │ -00017340: 7869 6361 6c2d 6269 6e64 696e 673a 2074 xical-binding: t │ │ │ -00017350: 202d 2a2d 0a3b 3b3b 2061 6764 6132 2d6d -*-.;;; agda2-m │ │ │ -00017360: 6f64 652e 656c 202d 2d2d 204d 616a 6f72 ode.el --- Major │ │ │ -00017370: 206d 6f64 6520 666f 7220 4167 6461 0a3b mode for Agda.; │ │ │ -00017380: 3b20 5350 4458 2d4c 6963 656e 7365 2d49 ; SPDX-License-I │ │ │ -00017390: 6465 6e74 6966 6965 723a 204d 4954 204c dentifier: MIT L │ │ │ -000173a0: 6963 656e 7365 0a0a 3b3b 3b20 436f 6d6d icense..;;; Comm │ │ │ -000173b0: 656e 7461 7279 3a0a 0a3b 3b20 4120 6d61 entary:..;; A ma │ │ │ -000173c0: 6a6f 7220 6d6f 6465 2066 6f72 2065 6469 jor mode for edi │ │ │ -000173d0: 7469 6e67 2041 6764 6120 2874 6865 2064 ting Agda (the d │ │ │ -000173e0: 6570 656e 6465 6e74 6c79 2074 7970 6564 ependently typed │ │ │ -000173f0: 2070 726f 6772 616d 6d69 6e67 0a3b 3b20 programming.;; │ │ │ -00017400: 6c61 6e67 7561 6765 202f 2069 6e74 6572 language / inter │ │ │ -00017410: 6163 7469 7665 2074 6865 6f72 656d 2070 active theorem p │ │ │ -00017420: 726f 7665 7229 2e0a 3b3b 0a3b 3b20 4d61 rover)..;;.;; Ma │ │ │ -00017430: 6a6f 7220 6665 6174 7572 6573 2069 6e63 jor features inc │ │ │ -00017440: 6c75 6465 3a0a 3b3b 0a3b 3b20 2d20 7379 lude:.;;.;; - sy │ │ │ -00017450: 6e74 6178 2068 6967 686c 6967 6874 696e ntax highlightin │ │ │ -00017460: 672e 0a3b 3b0a 3b3b 202d 206f 6e20 7468 g..;;.;; - on th │ │ │ -00017470: 6520 666c 7920 4167 6461 2069 6e74 6572 e fly Agda inter │ │ │ -00017480: 7072 6574 6174 696f 6e2e 0a3b 3b0a 3b3b pretation..;;.;; │ │ │ -00017490: 202d 2067 6f61 6c2d 6472 6976 656e 2064 - goal-driven d │ │ │ -000174a0: 6576 656c 6f70 6d65 6e74 0a3b 3b0a 3b3b evelopment.;;.;; │ │ │ -000174b0: 202d 2069 6e74 6572 6163 7469 7665 2063 - interactive c │ │ │ -000174c0: 6173 652d 7370 6c69 7474 696e 670a 3b3b ase-splitting.;; │ │ │ -000174d0: 0a3b 3b20 2d20 7072 6f6f 6620 7365 6172 .;; - proof sear │ │ │ -000174e0: 6368 0a3b 3b0a 3b3b 202d 2069 6e70 7574 ch.;;.;; - input │ │ │ -000174f0: 2073 7570 706f 7274 2028 666f 7220 7574 support (for ut │ │ │ -00017500: 6638 2063 6861 7261 6374 6572 7329 0a3b f8 characters).; │ │ │ -00017510: 3b0a 3b3b 2073 6565 2068 7474 7073 3a2f ;.;; see https:/ │ │ │ -00017520: 2f61 6764 612e 7265 6164 7468 6564 6f63 /agda.readthedoc │ │ │ -00017530: 732e 696f 2f20 666f 7220 6d6f 7265 2069 s.io/ for more i │ │ │ -00017540: 6e66 6f72 6d61 7469 6f6e 0a0a 3b3b 3b3b nformation..;;;; │ │ │ +0000e430: 2020 205c 616e 640a 2020 2020 2020 2020 \and. │ │ │ +0000e440: 2020 2020 2020 2020 205c 636e 7474 6573 \cnttes │ │ │ +0000e450: 747b 5c76 616c 7565 7b41 6764 6140 4375 t{\value{Agda@Cu │ │ │ +0000e460: 7272 656e 747d 202d 2023 317d 7b3e 3d7d rrent} - #1}{>=} │ │ │ +0000e470: 7b0a 2020 2020 2020 2020 2020 2020 2020 {. │ │ │ +0000e480: 2020 2020 2020 2020 2020 2020 5c76 616c \val │ │ │ +0000e490: 7565 7b41 6764 6140 416c 6967 6e53 7461 ue{Agda@AlignSta │ │ │ +0000e4a0: 7274 7d7d 0a20 2020 2020 2020 2020 2020 rt}}. │ │ │ +0000e4b0: 2020 205c 297d 7b5c 4167 6461 496e 6465 \)}{\AgdaInde │ │ │ +0000e4c0: 6e74 5370 6163 657b 7d7d 7b7d 7d0a 0a25 ntSpace{}}{}}..% │ │ │ +0000e4d0: 2055 6e64 6572 7363 6f72 6573 2061 7265 Underscores are │ │ │ +0000e4e0: 2074 7970 6573 6574 2075 7369 6e67 205c typeset using \ │ │ │ +0000e4f0: 4167 6461 556e 6465 7273 636f 7265 7b7d AgdaUnderscore{} │ │ │ +0000e500: 2e0a 5c6e 6577 636f 6d6d 616e 647b 5c41 ..\newcommand{\A │ │ │ +0000e510: 6764 6155 6e64 6572 7363 6f72 657d 7b5c gdaUnderscore}{\ │ │ │ +0000e520: 5f7d 0a0a 5c65 6e64 696e 7075 740a c2dd _}..\endinput... │ │ │ +0000e530: 9ac7 8a81 f7ea 2c91 8acc ff84 eee2 8dc1 ......,......... │ │ │ +0000e540: 0100 8301 0000 e57f 05b4 8080 e608 0000 ................ │ │ │ +0000e550: 0005 2000 0001 0001 0004 0408 0307 0286 .. ............. │ │ │ +0000e560: 8080 ec08 0200 0003 0f00 0505 050b 8780 ................ │ │ │ +0000e570: 80ec 0801 0520 0000 010b 8e01 0b8f 01ee ..... .......... │ │ │ +0000e580: e99e 8eac 89e4 9274 b6fc b4df 92f3 c8bc .......t........ │ │ │ +0000e590: 9d01 0090 0100 00e5 bd05 2000 0001 0004 .......... ..... │ │ │ +0000e5a0: 0408 0307 025e 0200 0003 0f00 0505 050b .....^.......... │ │ │ +0000e5b0: 5f0b 9101 0b61 0906 0100 b9d0 0098 93a9 _....a.......... │ │ │ +0000e5c0: a6bd c2f7 a772 f4f8 a6f7 a3b8 ba8f 3800 .....r........8. │ │ │ +0000e5d0: 9101 0001 0e28 0582 8080 e608 0000 0100 .....(.......... │ │ │ +0000e5e0: 0304 0704 0200 0003 0f00 0901 b9d0 0064 ...............d │ │ │ +0000e5f0: 6566 696e 6528 5b5d 2c20 6675 6e63 7469 efine([], functi │ │ │ +0000e600: 6f6e 2829 207b 0a76 6172 2065 7870 6f72 on() {.var expor │ │ │ +0000e610: 7473 203d 207b 7d3b 0a2f 2f20 436f 6e74 ts = {};.// Cont │ │ │ +0000e620: 6169 6e73 202a 6d6f 7374 2a20 6f66 2074 ains *most* of t │ │ │ +0000e630: 6865 2070 7269 6d69 7469 7665 7320 7265 he primitives re │ │ │ +0000e640: 7175 6972 6564 2062 7920 7468 6520 4a61 quired by the Ja │ │ │ +0000e650: 7661 5363 7269 7074 2062 6163 6b65 6e64 vaScript backend │ │ │ +0000e660: 2e0a 2f2f 2028 536f 6d65 2c20 652e 672e ..// (Some, e.g. │ │ │ +0000e670: 2c20 7468 6f73 6520 7573 696e 6720 4167 , those using Ag │ │ │ +0000e680: 6461 2074 7970 6573 206c 696b 6520 4d61 da types like Ma │ │ │ +0000e690: 7962 652c 2061 7265 2064 6566 696e 6564 ybe, are defined │ │ │ +0000e6a0: 2069 6e20 7468 6569 720a 2f2f 2072 6573 in their.// res │ │ │ +0000e6b0: 7065 6374 6976 6520 6275 696c 7469 6e20 pective builtin │ │ │ +0000e6c0: 6d6f 6475 6c65 732e 290a 2f2f 0a2f 2f20 modules.).//.// │ │ │ +0000e6d0: 5072 696d 6974 6976 6573 2070 7265 6669 Primitives prefi │ │ │ +0000e6e0: 7865 6420 6279 2027 7527 2061 7265 2075 xed by 'u' are u │ │ │ +0000e6f0: 6e63 7572 7269 6564 2076 6172 6961 6e74 ncurried variant │ │ │ +0000e700: 732c 2077 6869 6368 2061 7265 2073 6f6d s, which are som │ │ │ +0000e710: 6574 696d 6573 0a2f 2f20 656d 6974 7465 etimes.// emitte │ │ │ +0000e720: 6420 6279 2074 6865 204a 6176 6153 6372 d by the JavaScr │ │ │ +0000e730: 6970 7420 6261 636b 656e 642e 2057 6865 ipt backend. Whe │ │ │ +0000e740: 6e65 7665 7220 706f 7373 6962 6c65 2c20 never possible, │ │ │ +0000e750: 7468 6520 6375 7272 6965 6420 7072 696d the curried prim │ │ │ +0000e760: 6974 6976 6573 0a2f 2f20 7368 6f75 6c64 itives.// should │ │ │ +0000e770: 2062 6520 696d 706c 656d 656e 7465 6420 be implemented │ │ │ +0000e780: 696e 2074 6572 6d73 206f 6620 7468 6520 in terms of the │ │ │ +0000e790: 756e 6375 7272 6965 6420 6f6e 6573 2e0a uncurried ones.. │ │ │ +0000e7a0: 2f2f 0a2f 2f20 5072 696d 6974 6976 6573 //.// Primitives │ │ │ +0000e7b0: 2070 7265 6669 7865 6420 6279 2027 5f27 prefixed by '_' │ │ │ +0000e7c0: 2061 7265 2069 6e74 6572 6e61 6c20 7661 are internal va │ │ │ +0000e7d0: 7269 616e 7473 2c20 7573 7561 6c6c 7920 riants, usually │ │ │ +0000e7e0: 666f 7220 7468 6f73 6520 7072 696d 6974 for those primit │ │ │ +0000e7f0: 6976 6573 0a2f 2f20 7768 6963 6820 7265 ives.// which re │ │ │ +0000e800: 7475 726e 2041 6764 6120 7479 7065 7320 turn Agda types │ │ │ +0000e810: 6c69 6b65 204d 6179 6265 2e20 5468 6573 like Maybe. Thes │ │ │ +0000e820: 6520 6172 6520 6e65 7665 7220 656d 6974 e are never emit │ │ │ +0000e830: 7465 6420 6279 2074 6865 2063 6f6d 7069 ted by the compi │ │ │ +0000e840: 6c65 722c 0a2f 2f20 6275 7420 6361 6e20 ler,.// but can │ │ │ +0000e850: 6265 2075 7365 6420 696e 7465 726e 616c be used internal │ │ │ +0000e860: 6c79 2074 6f20 6465 6669 6e65 206f 7468 ly to define oth │ │ │ +0000e870: 6572 2070 7265 6669 7865 732e 0a0a 2f2f er prefixes...// │ │ │ +0000e880: 2049 6e74 6567 6572 730a 0a2f 2f20 7072 Integers..// pr │ │ │ +0000e890: 696d 496e 7465 6765 7246 726f 6d53 7472 imIntegerFromStr │ │ │ +0000e8a0: 696e 6720 3a20 5374 7269 6e67 202d 3e20 ing : String -> │ │ │ +0000e8b0: 496e 740a 6578 706f 7274 732e 7072 696d Int.exports.prim │ │ │ +0000e8c0: 496e 7465 6765 7246 726f 6d53 7472 696e IntegerFromStrin │ │ │ +0000e8d0: 6720 3d20 4269 6749 6e74 3b0a 0a2f 2f20 g = BigInt;..// │ │ │ +0000e8e0: 7072 696d 5368 6f77 496e 7465 6765 7220 primShowInteger │ │ │ +0000e8f0: 3a20 496e 7420 2d3e 2053 7472 696e 670a : Int -> String. │ │ │ +0000e900: 6578 706f 7274 732e 7072 696d 5368 6f77 exports.primShow │ │ │ +0000e910: 496e 7465 6765 7220 3d20 7820 3d3e 2078 Integer = x => x │ │ │ +0000e920: 2e74 6f53 7472 696e 6728 293b 0a0a 2f2f .toString();..// │ │ │ +0000e930: 2075 7072 696d 496e 7465 6765 7250 6c75 uprimIntegerPlu │ │ │ +0000e940: 7320 3a20 2849 6e74 2c20 496e 7429 202d s : (Int, Int) - │ │ │ +0000e950: 3e20 496e 740a 6578 706f 7274 732e 7570 > Int.exports.up │ │ │ +0000e960: 7269 6d49 6e74 6567 6572 506c 7573 203d rimIntegerPlus = │ │ │ +0000e970: 2028 782c 2079 2920 3d3e 2078 202b 2079 (x, y) => x + y │ │ │ +0000e980: 3b0a 0a2f 2f20 7570 7269 6d49 6e74 6567 ;..// uprimInteg │ │ │ +0000e990: 6572 4d69 6e75 7320 3a20 2849 6e74 2c20 erMinus : (Int, │ │ │ +0000e9a0: 496e 7429 202d 3e20 496e 740a 6578 706f Int) -> Int.expo │ │ │ +0000e9b0: 7274 732e 7570 7269 6d49 6e74 6567 6572 rts.uprimInteger │ │ │ +0000e9c0: 4d69 6e75 7320 3d20 2878 2c20 7929 203d Minus = (x, y) = │ │ │ +0000e9d0: 3e20 7820 2d20 793b 0a0a 2f2f 2075 7072 > x - y;..// upr │ │ │ +0000e9e0: 696d 496e 7465 6765 724d 756c 7469 706c imIntegerMultipl │ │ │ +0000e9f0: 7920 3a20 2849 6e74 2c20 496e 7429 202d y : (Int, Int) - │ │ │ +0000ea00: 3e20 496e 740a 6578 706f 7274 732e 7570 > Int.exports.up │ │ │ +0000ea10: 7269 6d49 6e74 6567 6572 4d75 6c74 6970 rimIntegerMultip │ │ │ +0000ea20: 6c79 203d 2028 782c 2079 2920 3d3e 2078 ly = (x, y) => x │ │ │ +0000ea30: 202a 2079 3b0a 0a2f 2f20 7570 7269 6d49 * y;..// uprimI │ │ │ +0000ea40: 6e74 6567 6572 5265 6d20 3a20 2849 6e74 ntegerRem : (Int │ │ │ +0000ea50: 2c20 496e 7429 202d 3e20 496e 740a 6578 , Int) -> Int.ex │ │ │ +0000ea60: 706f 7274 732e 7570 7269 6d49 6e74 6567 ports.uprimInteg │ │ │ +0000ea70: 6572 5265 6d20 3d20 2878 2c20 7929 203d erRem = (x, y) = │ │ │ +0000ea80: 3e20 7820 2520 793b 0a0a 2f2f 2075 7072 > x % y;..// upr │ │ │ +0000ea90: 696d 496e 7465 6765 7251 756f 7420 3a20 imIntegerQuot : │ │ │ +0000eaa0: 2849 6e74 2c20 496e 7429 202d 3e20 496e (Int, Int) -> In │ │ │ +0000eab0: 740a 6578 706f 7274 732e 7570 7269 6d49 t.exports.uprimI │ │ │ +0000eac0: 6e74 6567 6572 5175 6f74 203d 2028 782c ntegerQuot = (x, │ │ │ +0000ead0: 2079 2920 3d3e 2078 202f 2079 3b0a 0a2f y) => x / y;../ │ │ │ +0000eae0: 2f20 7570 7269 6d49 6e74 6567 6572 4571 / uprimIntegerEq │ │ │ +0000eaf0: 7561 6c20 3a20 2849 6e74 2c20 496e 7429 ual : (Int, Int) │ │ │ +0000eb00: 202d 3e20 426f 6f6c 0a65 7870 6f72 7473 -> Bool.exports │ │ │ +0000eb10: 2e75 7072 696d 496e 7465 6765 7245 7175 .uprimIntegerEqu │ │ │ +0000eb20: 616c 203d 2028 782c 2079 2920 3d3e 2078 al = (x, y) => x │ │ │ +0000eb30: 203d 3d3d 2079 3b0a 0a2f 2f20 7570 7269 === y;..// upri │ │ │ +0000eb40: 6d49 6e74 6567 6572 4772 6561 7465 724f mIntegerGreaterO │ │ │ +0000eb50: 7245 7175 616c 5468 616e 203a 2028 496e rEqualThan : (In │ │ │ +0000eb60: 742c 2049 6e74 2920 2d3e 2042 6f6f 6c0a t, Int) -> Bool. │ │ │ +0000eb70: 6578 706f 7274 732e 7570 7269 6d49 6e74 exports.uprimInt │ │ │ +0000eb80: 6567 6572 4772 6561 7465 724f 7245 7175 egerGreaterOrEqu │ │ │ +0000eb90: 616c 5468 616e 203d 2028 782c 2079 2920 alThan = (x, y) │ │ │ +0000eba0: 3d3e 2078 203e 3d20 793b 0a0a 2f2f 2075 => x >= y;..// u │ │ │ +0000ebb0: 7072 696d 496e 7465 6765 724c 6573 7354 primIntegerLessT │ │ │ +0000ebc0: 6861 6e20 3a20 2849 6e74 2c20 496e 7429 han : (Int, Int) │ │ │ +0000ebd0: 202d 3e20 426f 6f6c 0a65 7870 6f72 7473 -> Bool.exports │ │ │ +0000ebe0: 2e75 7072 696d 496e 7465 6765 724c 6573 .uprimIntegerLes │ │ │ +0000ebf0: 7354 6861 6e20 3d20 2878 2c20 7929 203d sThan = (x, y) = │ │ │ +0000ec00: 3e20 7820 3c20 793b 0a0a 2f2f 2057 6f72 > x < y;..// Wor │ │ │ +0000ec10: 6473 0a63 6f6e 7374 2057 4f52 4436 345f ds.const WORD64_ │ │ │ +0000ec20: 4d41 585f 5641 4c55 4520 3d20 3138 3434 MAX_VALUE = 1844 │ │ │ +0000ec30: 3637 3434 3037 3337 3039 3535 3230 3030 6744073709552000 │ │ │ +0000ec40: 6e3b 0a0a 2f2f 2070 7269 6d57 6f72 6436 n;..// primWord6 │ │ │ +0000ec50: 3454 6f4e 6174 203a 2057 6f72 6436 3420 4ToNat : Word64 │ │ │ +0000ec60: 2d3e 204e 6174 0a65 7870 6f72 7473 2e70 -> Nat.exports.p │ │ │ +0000ec70: 7269 6d57 6f72 6436 3454 6f4e 6174 203d rimWord64ToNat = │ │ │ +0000ec80: 2078 203d 3e20 783b 0a0a 2f2f 2070 7269 x => x;..// pri │ │ │ +0000ec90: 6d57 6f72 6436 3446 726f 6d4e 6174 203a mWord64FromNat : │ │ │ +0000eca0: 204e 6174 202d 3e20 576f 7264 3634 0a65 Nat -> Word64.e │ │ │ +0000ecb0: 7870 6f72 7473 2e70 7269 6d57 6f72 6436 xports.primWord6 │ │ │ +0000ecc0: 3446 726f 6d4e 6174 203d 2078 203d 3e20 4FromNat = x => │ │ │ +0000ecd0: 7820 2520 574f 5244 3634 5f4d 4158 5f56 x % WORD64_MAX_V │ │ │ +0000ece0: 414c 5545 3b0a 0a2f 2f20 7570 7269 6d57 ALUE;..// uprimW │ │ │ +0000ecf0: 6f72 6436 3450 6c75 7320 3a20 2857 6f72 ord64Plus : (Wor │ │ │ +0000ed00: 6436 342c 2057 6f72 6436 3429 202d 3e20 d64, Word64) -> │ │ │ +0000ed10: 576f 7264 3634 0a65 7870 6f72 7473 2e75 Word64.exports.u │ │ │ +0000ed20: 7072 696d 576f 7264 3634 506c 7573 203d primWord64Plus = │ │ │ +0000ed30: 2028 782c 2079 2920 3d3e 2028 7820 2b20 (x, y) => (x + │ │ │ +0000ed40: 7929 2025 2057 4f52 4436 345f 4d41 585f y) % WORD64_MAX_ │ │ │ +0000ed50: 5641 4c55 453b 0a0a 2f2f 2075 7072 696d VALUE;..// uprim │ │ │ +0000ed60: 576f 7264 3634 4d69 6e75 7320 3a20 2857 Word64Minus : (W │ │ │ +0000ed70: 6f72 6436 342c 2057 6f72 6436 3429 202d ord64, Word64) - │ │ │ +0000ed80: 3e20 576f 7264 3634 0a65 7870 6f72 7473 > Word64.exports │ │ │ +0000ed90: 2e75 7072 696d 576f 7264 3634 4d69 6e75 .uprimWord64Minu │ │ │ +0000eda0: 7320 3d20 2878 2c20 7929 203d 3e20 2878 s = (x, y) => (x │ │ │ +0000edb0: 202b 2057 4f52 4436 345f 4d41 585f 5641 + WORD64_MAX_VA │ │ │ +0000edc0: 4c55 4520 2d20 7929 2025 2057 4f52 4436 LUE - y) % WORD6 │ │ │ +0000edd0: 345f 4d41 585f 5641 4c55 453b 0a0a 2f2f 4_MAX_VALUE;..// │ │ │ +0000ede0: 2075 7072 696d 576f 7264 3634 4d75 6c74 uprimWord64Mult │ │ │ +0000edf0: 6970 6c79 203a 2028 576f 7264 3634 2c20 iply : (Word64, │ │ │ +0000ee00: 576f 7264 3634 2920 2d3e 2057 6f72 6436 Word64) -> Word6 │ │ │ +0000ee10: 340a 6578 706f 7274 732e 7570 7269 6d57 4.exports.uprimW │ │ │ +0000ee20: 6f72 6436 344d 756c 7469 706c 7920 3d20 ord64Multiply = │ │ │ +0000ee30: 2878 2c20 7929 203d 3e20 2878 202a 2079 (x, y) => (x * y │ │ │ +0000ee40: 2920 2520 574f 5244 3634 5f4d 4158 5f56 ) % WORD64_MAX_V │ │ │ +0000ee50: 414c 5545 3b0a 0a2f 2f20 4e61 7475 7261 ALUE;..// Natura │ │ │ +0000ee60: 6c20 6e75 6d62 6572 730a 0a2f 2f20 7072 l numbers..// pr │ │ │ +0000ee70: 696d 4e61 744d 696e 7573 203a 204e 6174 imNatMinus : Nat │ │ │ +0000ee80: 202d 3e20 4e61 7420 2d3e 204e 6174 0a65 -> Nat -> Nat.e │ │ │ +0000ee90: 7870 6f72 7473 2e70 7269 6d4e 6174 4d69 xports.primNatMi │ │ │ +0000eea0: 6e75 7320 3d20 7820 3d3e 2079 203d 3e20 nus = x => y => │ │ │ +0000eeb0: 7b0a 2020 636f 6e73 7420 7a20 3d20 7820 {. const z = x │ │ │ +0000eec0: 2d20 793b 0a20 2072 6574 7572 6e20 7a20 - y;. return z │ │ │ +0000eed0: 3c20 306e 203f 2030 6e20 3a20 7a3b 0a7d < 0n ? 0n : z;.} │ │ │ +0000eee0: 3b0a 0a2f 2f20 466c 6f61 7469 6e67 2d70 ;..// Floating-p │ │ │ +0000eef0: 6f69 6e74 206e 756d 6265 7273 0a76 6172 oint numbers.var │ │ │ +0000ef00: 205f 7072 696d 466c 6f61 7447 7265 6174 _primFloatGreat │ │ │ +0000ef10: 6573 7443 6f6d 6d6f 6e46 6163 746f 7220 estCommonFactor │ │ │ +0000ef20: 3d20 6675 6e63 7469 6f6e 2878 2c20 7929 = function(x, y) │ │ │ +0000ef30: 207b 0a20 2020 2076 6172 207a 3b0a 2020 {. var z;. │ │ │ +0000ef40: 2020 7820 3d20 4d61 7468 2e61 6273 2878 x = Math.abs(x │ │ │ +0000ef50: 293b 0a20 2020 2079 203d 204d 6174 682e );. y = Math. │ │ │ +0000ef60: 6162 7328 7929 3b0a 2020 2020 7768 696c abs(y);. whil │ │ │ +0000ef70: 6520 2879 2920 7b0a 2020 2020 2020 2020 e (y) {. │ │ │ +0000ef80: 7a20 3d20 7820 2520 793b 0a20 2020 2020 z = x % y;. │ │ │ +0000ef90: 2020 2078 203d 2079 3b0a 2020 2020 2020 x = y;. │ │ │ +0000efa0: 2020 7920 3d20 7a3b 0a20 2020 207d 0a20 y = z;. }. │ │ │ +0000efb0: 2020 2072 6574 7572 6e20 783b 0a7d 3b0a return x;.};. │ │ │ +0000efc0: 6578 706f 7274 732e 5f70 7269 6d46 6c6f exports._primFlo │ │ │ +0000efd0: 6174 526f 756e 6420 3d20 6675 6e63 7469 atRound = functi │ │ │ +0000efe0: 6f6e 2878 2920 7b0a 2020 2020 6966 2028 on(x) {. if ( │ │ │ +0000eff0: 6578 706f 7274 732e 7072 696d 466c 6f61 exports.primFloa │ │ │ +0000f000: 7449 734e 614e 2878 2920 7c7c 2065 7870 tIsNaN(x) || exp │ │ │ +0000f010: 6f72 7473 2e70 7269 6d46 6c6f 6174 4973 orts.primFloatIs │ │ │ +0000f020: 496e 6669 6e69 7465 2878 2929 207b 0a20 Infinite(x)) {. │ │ │ +0000f030: 2020 2020 2020 2072 6574 7572 6e20 6e75 return nu │ │ │ +0000f040: 6c6c 3b0a 2020 2020 7d0a 2020 2020 656c ll;. }. el │ │ │ +0000f050: 7365 207b 0a20 2020 2020 2020 2072 6574 se {. ret │ │ │ +0000f060: 7572 6e20 4269 6749 6e74 284d 6174 682e urn BigInt(Math. │ │ │ +0000f070: 726f 756e 6428 7829 293b 0a20 2020 207d round(x));. } │ │ │ +0000f080: 0a7d 3b0a 6578 706f 7274 732e 5f70 7269 .};.exports._pri │ │ │ +0000f090: 6d46 6c6f 6174 466c 6f6f 7220 3d20 6675 mFloatFloor = fu │ │ │ +0000f0a0: 6e63 7469 6f6e 2878 2920 7b0a 2020 2020 nction(x) {. │ │ │ +0000f0b0: 6966 2028 6578 706f 7274 732e 7072 696d if (exports.prim │ │ │ +0000f0c0: 466c 6f61 7449 734e 614e 2878 2920 7c7c FloatIsNaN(x) || │ │ │ +0000f0d0: 2065 7870 6f72 7473 2e70 7269 6d46 6c6f exports.primFlo │ │ │ +0000f0e0: 6174 4973 496e 6669 6e69 7465 2878 2929 atIsInfinite(x)) │ │ │ +0000f0f0: 207b 0a20 2020 2020 2020 2072 6574 7572 {. retur │ │ │ +0000f100: 6e20 6e75 6c6c 3b0a 2020 2020 7d0a 2020 n null;. }. │ │ │ +0000f110: 2020 656c 7365 207b 0a20 2020 2020 2020 else {. │ │ │ +0000f120: 2072 6574 7572 6e20 4269 6749 6e74 284d return BigInt(M │ │ │ +0000f130: 6174 682e 666c 6f6f 7228 7829 293b 0a20 ath.floor(x));. │ │ │ +0000f140: 2020 207d 0a7d 3b0a 6578 706f 7274 732e }.};.exports. │ │ │ +0000f150: 5f70 7269 6d46 6c6f 6174 4365 696c 696e _primFloatCeilin │ │ │ +0000f160: 6720 3d20 6675 6e63 7469 6f6e 2878 2920 g = function(x) │ │ │ +0000f170: 7b0a 2020 2020 6966 2028 6578 706f 7274 {. if (export │ │ │ +0000f180: 732e 7072 696d 466c 6f61 7449 734e 614e s.primFloatIsNaN │ │ │ +0000f190: 2878 2920 7c7c 2065 7870 6f72 7473 2e70 (x) || exports.p │ │ │ +0000f1a0: 7269 6d46 6c6f 6174 4973 496e 6669 6e69 rimFloatIsInfini │ │ │ +0000f1b0: 7465 2878 2929 207b 0a20 2020 2020 2020 te(x)) {. │ │ │ +0000f1c0: 2072 6574 7572 6e20 6e75 6c6c 3b0a 2020 return null;. │ │ │ +0000f1d0: 2020 7d0a 2020 2020 656c 7365 207b 0a20 }. else {. │ │ │ +0000f1e0: 2020 2020 2020 2072 6574 7572 6e20 4269 return Bi │ │ │ +0000f1f0: 6749 6e74 284d 6174 682e 6365 696c 2878 gInt(Math.ceil(x │ │ │ +0000f200: 2929 3b0a 2020 2020 7d0a 7d3b 0a65 7870 ));. }.};.exp │ │ │ +0000f210: 6f72 7473 2e5f 7072 696d 466c 6f61 7454 orts._primFloatT │ │ │ +0000f220: 6f52 6174 696f 203d 2066 756e 6374 696f oRatio = functio │ │ │ +0000f230: 6e28 7829 207b 0a20 2020 2069 6620 2865 n(x) {. if (e │ │ │ +0000f240: 7870 6f72 7473 2e70 7269 6d46 6c6f 6174 xports.primFloat │ │ │ +0000f250: 4973 4e61 4e28 7829 2920 7b0a 2020 2020 IsNaN(x)) {. │ │ │ +0000f260: 2020 2020 7265 7475 726e 207b 6e75 6d65 return {nume │ │ │ +0000f270: 7261 746f 723a 2042 6967 496e 7428 3029 rator: BigInt(0) │ │ │ +0000f280: 2c20 6465 6e6f 6d69 6e61 746f 723a 2042 , denominator: B │ │ │ +0000f290: 6967 496e 7428 3029 7d3b 0a20 2020 207d igInt(0)};. } │ │ │ +0000f2a0: 0a20 2020 2065 6c73 6520 6966 2028 7820 . else if (x │ │ │ +0000f2b0: 3c20 302e 3020 2626 2065 7870 6f72 7473 < 0.0 && exports │ │ │ +0000f2c0: 2e70 7269 6d46 6c6f 6174 4973 496e 6669 .primFloatIsInfi │ │ │ +0000f2d0: 6e69 7465 2878 2929 207b 0a20 2020 2020 nite(x)) {. │ │ │ +0000f2e0: 2020 2072 6574 7572 6e20 7b6e 756d 6572 return {numer │ │ │ +0000f2f0: 6174 6f72 3a20 4269 6749 6e74 282d 3129 ator: BigInt(-1) │ │ │ +0000f300: 2c20 6465 6e6f 6d69 6e61 746f 723a 2042 , denominator: B │ │ │ +0000f310: 6967 496e 7428 3029 7d3b 0a20 2020 207d igInt(0)};. } │ │ │ +0000f320: 0a20 2020 2065 6c73 6520 6966 2028 7820 . else if (x │ │ │ +0000f330: 3e20 302e 3020 2626 2065 7870 6f72 7473 > 0.0 && exports │ │ │ +0000f340: 2e70 7269 6d46 6c6f 6174 4973 496e 6669 .primFloatIsInfi │ │ │ +0000f350: 6e69 7465 2878 2929 207b 0a20 2020 2020 nite(x)) {. │ │ │ +0000f360: 2020 2072 6574 7572 6e20 7b6e 756d 6572 return {numer │ │ │ +0000f370: 6174 6f72 3a20 4269 6749 6e74 2831 292c ator: BigInt(1), │ │ │ +0000f380: 2064 656e 6f6d 696e 6174 6f72 3a20 4269 denominator: Bi │ │ │ +0000f390: 6749 6e74 2830 297d 3b0a 2020 2020 7d0a gInt(0)};. }. │ │ │ +0000f3a0: 2020 2020 656c 7365 2069 6620 2865 7870 else if (exp │ │ │ +0000f3b0: 6f72 7473 2e70 7269 6d46 6c6f 6174 4973 orts.primFloatIs │ │ │ +0000f3c0: 4e65 6761 7469 7665 5a65 726f 2878 2929 NegativeZero(x)) │ │ │ +0000f3d0: 207b 0a20 2020 2020 2020 2072 6574 7572 {. retur │ │ │ +0000f3e0: 6e20 7b6e 756d 6572 6174 6f72 3a20 4269 n {numerator: Bi │ │ │ +0000f3f0: 6749 6e74 2830 292c 2064 656e 6f6d 696e gInt(0), denomin │ │ │ +0000f400: 6174 6f72 3a20 4269 6749 6e74 2831 297d ator: BigInt(1)} │ │ │ +0000f410: 3b0a 2020 2020 7d0a 2020 2020 656c 7365 ;. }. else │ │ │ +0000f420: 2069 6620 2878 203d 3d20 302e 3029 207b if (x == 0.0) { │ │ │ +0000f430: 0a20 2020 2020 2020 2072 6574 7572 6e20 . return │ │ │ +0000f440: 7b6e 756d 6572 6174 6f72 3a20 4269 6749 {numerator: BigI │ │ │ +0000f450: 6e74 2830 292c 2064 656e 6f6d 696e 6174 nt(0), denominat │ │ │ +0000f460: 6f72 3a20 4269 6749 6e74 2831 297d 3b0a or: BigInt(1)};. │ │ │ +0000f470: 2020 2020 7d0a 2020 2020 656c 7365 207b }. else { │ │ │ +0000f480: 0a20 2020 2020 2020 2076 6172 206e 756d . var num │ │ │ +0000f490: 6572 6174 6f72 203d 204d 6174 682e 726f erator = Math.ro │ │ │ +0000f4a0: 756e 6428 782a 3165 3929 3b0a 2020 2020 und(x*1e9);. │ │ │ +0000f4b0: 2020 2020 7661 7220 6465 6e6f 6d69 6e61 var denomina │ │ │ +0000f4c0: 746f 7220 3d20 3165 393b 0a20 2020 2020 tor = 1e9;. │ │ │ +0000f4d0: 2020 2076 6172 2067 6366 203d 205f 7072 var gcf = _pr │ │ │ +0000f4e0: 696d 466c 6f61 7447 7265 6174 6573 7443 imFloatGreatestC │ │ │ +0000f4f0: 6f6d 6d6f 6e46 6163 746f 7228 6e75 6d65 ommonFactor(nume │ │ │ +0000f500: 7261 746f 722c 2064 656e 6f6d 696e 6174 rator, denominat │ │ │ +0000f510: 6f72 293b 0a20 2020 2020 2020 206e 756d or);. num │ │ │ +0000f520: 6572 6174 6f72 202f 3d20 6763 663b 0a20 erator /= gcf;. │ │ │ +0000f530: 2020 2020 2020 2064 656e 6f6d 696e 6174 denominat │ │ │ +0000f540: 6f72 202f 3d20 6763 663b 0a20 2020 2020 or /= gcf;. │ │ │ +0000f550: 2020 2072 6574 7572 6e20 7b6e 756d 6572 return {numer │ │ │ +0000f560: 6174 6f72 3a20 4269 6749 6e74 286e 756d ator: BigInt(num │ │ │ +0000f570: 6572 6174 6f72 292c 2064 656e 6f6d 696e erator), denomin │ │ │ +0000f580: 6174 6f72 3a20 4269 6749 6e74 2864 656e ator: BigInt(den │ │ │ +0000f590: 6f6d 696e 6174 6f72 297d 3b0a 2020 2020 ominator)};. │ │ │ +0000f5a0: 7d0a 7d3b 0a65 7870 6f72 7473 2e5f 7072 }.};.exports._pr │ │ │ +0000f5b0: 696d 466c 6f61 7444 6563 6f64 6520 3d20 imFloatDecode = │ │ │ +0000f5c0: 6675 6e63 7469 6f6e 2878 2920 7b0a 2020 function(x) {. │ │ │ +0000f5d0: 2020 6966 2028 6578 706f 7274 732e 7072 if (exports.pr │ │ │ +0000f5e0: 696d 466c 6f61 7449 734e 614e 2878 2929 imFloatIsNaN(x)) │ │ │ +0000f5f0: 207b 0a20 2020 2020 2020 2072 6574 7572 {. retur │ │ │ +0000f600: 6e20 6e75 6c6c 3b0a 2020 2020 7d0a 2020 n null;. }. │ │ │ +0000f610: 2020 656c 7365 2069 6620 2878 203c 2030 else if (x < 0 │ │ │ +0000f620: 2e30 2026 2620 6578 706f 7274 732e 7072 .0 && exports.pr │ │ │ +0000f630: 696d 466c 6f61 7449 7349 6e66 696e 6974 imFloatIsInfinit │ │ │ +0000f640: 6528 7829 2920 7b0a 2020 2020 2020 2020 e(x)) {. │ │ │ +0000f650: 7265 7475 726e 206e 756c 6c3b 0a20 2020 return null;. │ │ │ +0000f660: 207d 0a20 2020 2065 6c73 6520 6966 2028 }. else if ( │ │ │ +0000f670: 7820 3e20 302e 3020 2626 2065 7870 6f72 x > 0.0 && expor │ │ │ +0000f680: 7473 2e70 7269 6d46 6c6f 6174 4973 496e ts.primFloatIsIn │ │ │ +0000f690: 6669 6e69 7465 2878 2929 207b 0a20 2020 finite(x)) {. │ │ │ +0000f6a0: 2020 2020 2072 6574 7572 6e20 6e75 6c6c return null │ │ │ +0000f6b0: 3b0a 2020 2020 7d0a 2020 2020 656c 7365 ;. }. else │ │ │ +0000f6c0: 207b 0a20 2020 2020 2020 2076 6172 206d {. var m │ │ │ +0000f6d0: 616e 7469 7373 6120 3d20 782c 2065 7870 antissa = x, exp │ │ │ +0000f6e0: 6f6e 656e 7420 3d20 303b 0a20 2020 2020 onent = 0;. │ │ │ +0000f6f0: 2020 2077 6869 6c65 2028 214e 756d 6265 while (!Numbe │ │ │ +0000f700: 722e 6973 496e 7465 6765 7228 6d61 6e74 r.isInteger(mant │ │ │ +0000f710: 6973 7361 2929 207b 0a20 2020 2020 2020 issa)) {. │ │ │ +0000f720: 2020 2020 206d 616e 7469 7373 6120 2a3d mantissa *= │ │ │ +0000f730: 2032 2e30 3b0a 2020 2020 2020 2020 2020 2.0;. │ │ │ +0000f740: 2020 6578 706f 6e65 6e74 202d 3d20 313b exponent -= 1; │ │ │ +0000f750: 0a20 2020 2020 2020 207d 3b0a 2020 2020 . };. │ │ │ +0000f760: 2020 2020 7768 696c 6520 286d 616e 7469 while (manti │ │ │ +0000f770: 7373 6120 2520 322e 3020 3d3d 3d20 3029 ssa % 2.0 === 0) │ │ │ +0000f780: 207b 0a20 2020 2020 2020 2020 2020 206d {. m │ │ │ +0000f790: 616e 7469 7373 6120 2f3d 2032 2e30 3b0a antissa /= 2.0;. │ │ │ +0000f7a0: 2020 2020 2020 2020 2020 2020 6578 706f expo │ │ │ +0000f7b0: 6e65 6e74 202b 3d20 313b 0a20 2020 2020 nent += 1;. │ │ │ +0000f7c0: 2020 207d 0a20 2020 2020 2020 2072 6574 }. ret │ │ │ +0000f7d0: 7572 6e20 7b6d 616e 7469 7373 613a 2042 urn {mantissa: B │ │ │ +0000f7e0: 6967 496e 7428 6d61 6e74 6973 7361 292c igInt(mantissa), │ │ │ +0000f7f0: 2065 7870 6f6e 656e 743a 2042 6967 496e exponent: BigIn │ │ │ +0000f800: 7428 6578 706f 6e65 6e74 297d 3b0a 2020 t(exponent)};. │ │ │ +0000f810: 2020 7d0a 7d3b 0a65 7870 6f72 7473 2e75 }.};.exports.u │ │ │ +0000f820: 7072 696d 466c 6f61 7445 7175 616c 6974 primFloatEqualit │ │ │ +0000f830: 7920 3d20 6675 6e63 7469 6f6e 2878 2c20 y = function(x, │ │ │ +0000f840: 7929 207b 0a20 2020 2072 6574 7572 6e20 y) {. return │ │ │ +0000f850: 7820 3d3d 3d20 793b 0a7d 3b0a 6578 706f x === y;.};.expo │ │ │ +0000f860: 7274 732e 7072 696d 466c 6f61 7445 7175 rts.primFloatEqu │ │ │ +0000f870: 616c 6974 7920 3d20 6675 6e63 7469 6f6e ality = function │ │ │ +0000f880: 2878 2920 7b0a 2020 2020 7265 7475 726e (x) {. return │ │ │ +0000f890: 2066 756e 6374 696f 6e28 7929 207b 0a20 function(y) {. │ │ │ +0000f8a0: 2020 2020 2020 2072 6574 7572 6e20 6578 return ex │ │ │ +0000f8b0: 706f 7274 732e 7570 7269 6d46 6c6f 6174 ports.uprimFloat │ │ │ +0000f8c0: 4571 7561 6c69 7479 2878 2c20 7929 3b0a Equality(x, y);. │ │ │ +0000f8d0: 2020 2020 7d3b 0a7d 3b0a 6578 706f 7274 };.};.export │ │ │ +0000f8e0: 732e 7072 696d 466c 6f61 7449 6e65 7175 s.primFloatInequ │ │ │ +0000f8f0: 616c 6974 7920 3d20 6675 6e63 7469 6f6e ality = function │ │ │ +0000f900: 2878 2920 7b0a 2020 2020 7265 7475 726e (x) {. return │ │ │ +0000f910: 2066 756e 6374 696f 6e28 7929 207b 0a20 function(y) {. │ │ │ +0000f920: 2020 2020 2020 2072 6574 7572 6e20 7820 return x │ │ │ +0000f930: 3c3d 2079 3b0a 2020 2020 7d3b 0a7d 3b0a <= y;. };.};. │ │ │ +0000f940: 6578 706f 7274 732e 7072 696d 466c 6f61 exports.primFloa │ │ │ +0000f950: 744c 6573 7320 3d20 6675 6e63 7469 6f6e tLess = function │ │ │ +0000f960: 2878 2920 7b0a 2020 2020 7265 7475 726e (x) {. return │ │ │ +0000f970: 2066 756e 6374 696f 6e28 7929 207b 0a20 function(y) {. │ │ │ +0000f980: 2020 2020 2020 2072 6574 7572 6e20 7820 return x │ │ │ +0000f990: 3c20 793b 0a20 2020 207d 3b0a 7d3b 0a65 < y;. };.};.e │ │ │ +0000f9a0: 7870 6f72 7473 2e70 7269 6d46 6c6f 6174 xports.primFloat │ │ │ +0000f9b0: 4973 496e 6669 6e69 7465 203d 2066 756e IsInfinite = fun │ │ │ +0000f9c0: 6374 696f 6e28 7829 207b 0a20 2020 2072 ction(x) {. r │ │ │ +0000f9d0: 6574 7572 6e20 214e 756d 6265 722e 6973 eturn !Number.is │ │ │ +0000f9e0: 4e61 4e28 7829 2026 2620 214e 756d 6265 NaN(x) && !Numbe │ │ │ +0000f9f0: 722e 6973 4669 6e69 7465 2878 293b 0a7d r.isFinite(x);.} │ │ │ +0000fa00: 3b0a 6578 706f 7274 732e 7072 696d 466c ;.exports.primFl │ │ │ +0000fa10: 6f61 7449 734e 614e 203d 2066 756e 6374 oatIsNaN = funct │ │ │ +0000fa20: 696f 6e28 7829 207b 0a20 2020 2072 6574 ion(x) {. ret │ │ │ +0000fa30: 7572 6e20 4e75 6d62 6572 2e69 734e 614e urn Number.isNaN │ │ │ +0000fa40: 2878 293b 0a7d 3b0a 6578 706f 7274 732e (x);.};.exports. │ │ │ +0000fa50: 7072 696d 466c 6f61 7449 734e 6567 6174 primFloatIsNegat │ │ │ +0000fa60: 6976 655a 6572 6f20 3d20 6675 6e63 7469 iveZero = functi │ │ │ +0000fa70: 6f6e 2878 2920 7b0a 2020 2020 7265 7475 on(x) {. retu │ │ │ +0000fa80: 726e 204f 626a 6563 742e 6973 2878 2c2d rn Object.is(x,- │ │ │ +0000fa90: 302e 3029 3b0a 7d3b 0a65 7870 6f72 7473 0.0);.};.exports │ │ │ +0000faa0: 2e70 7269 6d46 6c6f 6174 4973 5361 6665 .primFloatIsSafe │ │ │ +0000fab0: 496e 7465 6765 7220 3d20 6675 6e63 7469 Integer = functi │ │ │ +0000fac0: 6f6e 2878 2920 7b0a 2020 2020 7265 7475 on(x) {. retu │ │ │ +0000fad0: 726e 204e 756d 6265 722e 6973 5361 6665 rn Number.isSafe │ │ │ +0000fae0: 496e 7465 6765 7228 7829 3b0a 7d3b 0a0a Integer(x);.};.. │ │ │ +0000faf0: 0a2f 2f20 5468 6573 6520 574f 5244 3634 .// These WORD64 │ │ │ +0000fb00: 2076 616c 7565 7320 7765 7265 206f 6274 values were obt │ │ │ +0000fb10: 6169 6e65 6420 7669 6120 6063 6173 7444 ained via `castD │ │ │ +0000fb20: 6f75 626c 6554 6f57 6f72 6436 3460 2069 oubleToWord64` i │ │ │ +0000fb30: 6e20 4861 736b 656c 6c3a 0a63 6f6e 7374 n Haskell:.const │ │ │ +0000fb40: 2057 4f52 4436 345f 4e41 4e20 2020 2020 WORD64_NAN │ │ │ +0000fb50: 203d 2031 3834 3434 3439 3232 3733 3839 = 1844449227389 │ │ │ +0000fb60: 3538 3636 3336 386e 3b0a 636f 6e73 7420 5866368n;.const │ │ │ +0000fb70: 574f 5244 3634 5f50 4f53 5f49 4e46 2020 WORD64_POS_INF │ │ │ +0000fb80: 3d20 3932 3138 3836 3834 3337 3232 3734 = 92188684372274 │ │ │ +0000fb90: 3035 3331 326e 3b0a 636f 6e73 7420 574f 05312n;.const WO │ │ │ +0000fba0: 5244 3634 5f4e 4547 5f49 4e46 2020 3d20 RD64_NEG_INF = │ │ │ +0000fbb0: 3138 3434 3232 3430 3437 3430 3832 3138 1844224047408218 │ │ │ +0000fbc0: 3131 3230 6e3b 0a63 6f6e 7374 2057 4f52 1120n;.const WOR │ │ │ +0000fbd0: 4436 345f 504f 535f 5a45 524f 203d 2030 D64_POS_ZERO = 0 │ │ │ +0000fbe0: 6e3b 0a63 6f6e 7374 2057 4f52 4436 345f n;.const WORD64_ │ │ │ +0000fbf0: 4e45 475f 5a45 524f 203d 2039 3232 3333 NEG_ZERO = 92233 │ │ │ +0000fc00: 3732 3033 3638 3534 3737 3538 3038 6e3b 72036854775808n; │ │ │ +0000fc10: 0a0a 6578 706f 7274 732e 7072 696d 466c ..exports.primFl │ │ │ +0000fc20: 6f61 7454 6f57 6f72 6436 3420 3d20 6675 oatToWord64 = fu │ │ │ +0000fc30: 6e63 7469 6f6e 2878 2920 7b0a 2020 2020 nction(x) {. │ │ │ +0000fc40: 6966 2028 6578 706f 7274 732e 7072 696d if (exports.prim │ │ │ +0000fc50: 466c 6f61 7449 734e 614e 2878 2929 207b FloatIsNaN(x)) { │ │ │ +0000fc60: 0a20 2020 2020 2020 2072 6574 7572 6e20 . return │ │ │ +0000fc70: 574f 5244 3634 5f4e 414e 3b0a 2020 2020 WORD64_NAN;. │ │ │ +0000fc80: 7d0a 2020 2020 656c 7365 2069 6620 2878 }. else if (x │ │ │ +0000fc90: 203c 2030 2e30 2026 2620 6578 706f 7274 < 0.0 && export │ │ │ +0000fca0: 732e 7072 696d 466c 6f61 7449 7349 6e66 s.primFloatIsInf │ │ │ +0000fcb0: 696e 6974 6528 7829 2920 7b0a 2020 2020 inite(x)) {. │ │ │ +0000fcc0: 2020 2020 7265 7475 726e 2057 4f52 4436 return WORD6 │ │ │ +0000fcd0: 345f 4e45 475f 494e 463b 0a20 2020 207d 4_NEG_INF;. } │ │ │ +0000fce0: 0a20 2020 2065 6c73 6520 6966 2028 7820 . else if (x │ │ │ +0000fcf0: 3e20 302e 3020 2626 2065 7870 6f72 7473 > 0.0 && exports │ │ │ +0000fd00: 2e70 7269 6d46 6c6f 6174 4973 496e 6669 .primFloatIsInfi │ │ │ +0000fd10: 6e69 7465 2878 2929 207b 0a20 2020 2020 nite(x)) {. │ │ │ +0000fd20: 2020 2072 6574 7572 6e20 574f 5244 3634 return WORD64 │ │ │ +0000fd30: 5f50 4f53 5f49 4e46 3b0a 2020 2020 7d0a _POS_INF;. }. │ │ │ +0000fd40: 2020 2020 656c 7365 2069 6620 2865 7870 else if (exp │ │ │ +0000fd50: 6f72 7473 2e70 7269 6d46 6c6f 6174 4973 orts.primFloatIs │ │ │ +0000fd60: 4e65 6761 7469 7665 5a65 726f 2878 2929 NegativeZero(x)) │ │ │ +0000fd70: 207b 0a20 2020 2020 2020 2072 6574 7572 {. retur │ │ │ +0000fd80: 6e20 574f 5244 3634 5f4e 4547 5f5a 4552 n WORD64_NEG_ZER │ │ │ +0000fd90: 4f3b 0a20 2020 207d 0a20 2020 2065 6c73 O;. }. els │ │ │ +0000fda0: 6520 6966 2028 7820 3d3d 2030 2e30 2920 e if (x == 0.0) │ │ │ +0000fdb0: 7b0a 2020 2020 2020 2020 7265 7475 726e {. return │ │ │ +0000fdc0: 2057 4f52 4436 345f 504f 535f 5a45 524f WORD64_POS_ZERO │ │ │ +0000fdd0: 3b0a 2020 2020 7d0a 2020 2020 656c 7365 ;. }. else │ │ │ +0000fde0: 207b 0a20 2020 2020 2020 2076 6172 206d {. var m │ │ │ +0000fdf0: 616e 7469 7373 612c 2065 7870 6f6e 656e antissa, exponen │ │ │ +0000fe00: 743b 0a20 2020 2020 2020 2028 7b6d 616e t;. ({man │ │ │ +0000fe10: 7469 7373 612c 2065 7870 6f6e 656e 747d tissa, exponent} │ │ │ +0000fe20: 203d 2065 7870 6f72 7473 2e5f 7072 696d = exports._prim │ │ │ +0000fe30: 466c 6f61 7444 6563 6f64 6528 7829 293b FloatDecode(x)); │ │ │ +0000fe40: 0a20 2020 2020 2020 2076 6172 2073 6967 . var sig │ │ │ +0000fe50: 6e20 3d20 4d61 7468 2e73 6967 6e28 6d61 n = Math.sign(ma │ │ │ +0000fe60: 6e74 6973 7361 293b 0a20 2020 2020 2020 ntissa);. │ │ │ +0000fe70: 2063 6f6e 736f 6c65 2e6c 6f67 286d 616e console.log(man │ │ │ +0000fe80: 7469 7373 6129 3b0a 2020 2020 2020 2020 tissa);. │ │ │ +0000fe90: 6d61 6e74 6973 7361 202a 3d20 7369 676e mantissa *= sign │ │ │ +0000fea0: 3b0a 2020 2020 2020 2020 7369 676e 203d ;. sign = │ │ │ +0000feb0: 2028 7369 676e 203d 3d3d 202d 3120 3f20 (sign === -1 ? │ │ │ +0000fec0: 2231 2220 3a20 2230 2229 3b0a 2020 2020 "1" : "0");. │ │ │ +0000fed0: 2020 2020 6d61 6e74 6973 7361 203d 2028 mantissa = ( │ │ │ +0000fee0: 6d61 6e74 6973 7361 2e74 6f53 7472 696e mantissa.toStrin │ │ │ +0000fef0: 6728 3229 292e 7061 6453 7461 7274 2831 g(2)).padStart(1 │ │ │ +0000ff00: 312c 2022 3022 293b 0a20 2020 2020 2020 1, "0");. │ │ │ +0000ff10: 2065 7870 6f6e 656e 7420 3d20 286d 616e exponent = (man │ │ │ +0000ff20: 7469 7373 612e 746f 5374 7269 6e67 2832 tissa.toString(2 │ │ │ +0000ff30: 2929 2e70 6164 5374 6172 7428 3532 2c20 )).padStart(52, │ │ │ +0000ff40: 2230 2229 3b0a 2020 2020 2020 2020 7265 "0");. re │ │ │ +0000ff50: 7475 726e 2042 6967 496e 7428 7061 7273 turn BigInt(pars │ │ │ +0000ff60: 6549 6e74 2873 6967 6e20 2b20 6d61 6e74 eInt(sign + mant │ │ │ +0000ff70: 6973 7361 202b 2065 7870 6f6e 656e 742c issa + exponent, │ │ │ +0000ff80: 2032 2929 3b0a 2020 2020 7d0a 7d3b 0a0a 2));. }.};.. │ │ │ +0000ff90: 2f2f 2070 7269 6d4e 6174 546f 466c 6f61 // primNatToFloa │ │ │ +0000ffa0: 7420 3a20 4e61 7420 2d3e 2046 6c6f 6174 t : Nat -> Float │ │ │ +0000ffb0: 0a65 7870 6f72 7473 2e70 7269 6d4e 6174 .exports.primNat │ │ │ +0000ffc0: 546f 466c 6f61 7420 3d20 4e75 6d62 6572 ToFloat = Number │ │ │ +0000ffd0: 3b0a 0a2f 2f20 7072 696d 496e 7454 6f46 ;..// primIntToF │ │ │ +0000ffe0: 6c6f 6174 203a 2049 6e74 202d 3e20 466c loat : Int -> Fl │ │ │ +0000fff0: 6f61 740a 6578 706f 7274 732e 7072 696d oat.exports.prim │ │ │ +00010000: 496e 7454 6f46 6c6f 6174 203d 204e 756d IntToFloat = Num │ │ │ +00010010: 6265 723b 0a0a 2f2f 2070 7269 6d52 6174 ber;..// primRat │ │ │ +00010020: 696f 546f 466c 6f61 7420 3a20 496e 7420 ioToFloat : Int │ │ │ +00010030: 2d3e 2049 6e74 202d 3e20 466c 6f61 740a -> Int -> Float. │ │ │ +00010040: 6578 706f 7274 732e 7072 696d 5261 7469 exports.primRati │ │ │ +00010050: 6f54 6f46 6c6f 6174 203d 2078 203d 3e20 oToFloat = x => │ │ │ +00010060: 7920 3d3e 204e 756d 6265 7228 7829 202f y => Number(x) / │ │ │ +00010070: 204e 756d 6265 7228 7929 3b0a 0a2f 2f20 Number(y);..// │ │ │ +00010080: 7570 7269 6d46 6c6f 6174 456e 636f 6465 uprimFloatEncode │ │ │ +00010090: 203a 2028 496e 742c 2049 6e74 2920 2d3e : (Int, Int) -> │ │ │ +000100a0: 204d 6179 6265 2046 6c6f 6174 0a65 7870 Maybe Float.exp │ │ │ +000100b0: 6f72 7473 2e75 7072 696d 466c 6f61 7445 orts.uprimFloatE │ │ │ +000100c0: 6e63 6f64 6520 3d20 2878 2c20 7929 203d ncode = (x, y) = │ │ │ +000100d0: 3e20 7b0a 2020 636f 6e73 7420 6d61 6e74 > {. const mant │ │ │ +000100e0: 6973 7361 203d 204e 756d 6265 7228 7829 issa = Number(x) │ │ │ +000100f0: 3b0a 2020 636f 6e73 7420 6578 706f 6e65 ;. const expone │ │ │ +00010100: 6e74 203d 204e 756d 6265 7228 7929 3b0a nt = Number(y);. │ │ │ +00010110: 0a20 2069 6620 284e 756d 6265 722e 6973 . if (Number.is │ │ │ +00010120: 5361 6665 496e 7465 6765 7228 6d61 6e74 SafeInteger(mant │ │ │ +00010130: 6973 7361 2920 2626 202d 3130 3234 203c issa) && -1024 < │ │ │ +00010140: 3d20 6578 706f 6e65 6e74 2026 2620 6578 = exponent && ex │ │ │ +00010150: 706f 6e65 6e74 203c 3d20 3130 3234 2920 ponent <= 1024) │ │ │ +00010160: 7b0a 2020 2020 7265 7475 726e 206d 616e {. return man │ │ │ +00010170: 7469 7373 6120 2a20 2832 202a 2a20 6578 tissa * (2 ** ex │ │ │ +00010180: 706f 6e65 6e74 293b 0a20 207d 0a0a 2020 ponent);. }.. │ │ │ +00010190: 656c 7365 207b 0a20 2020 2072 6574 7572 else {. retur │ │ │ +000101a0: 6e20 6e75 6c6c 3b0a 2020 7d0a 7d3b 0a0a n null;. }.};.. │ │ │ +000101b0: 6578 706f 7274 732e 7072 696d 5368 6f77 exports.primShow │ │ │ +000101c0: 466c 6f61 7420 3d20 6675 6e63 7469 6f6e Float = function │ │ │ +000101d0: 2878 2920 7b0a 2020 2020 2f2f 2053 6565 (x) {. // See │ │ │ +000101e0: 2049 7373 7565 2023 3231 3932 2e0a 2020 Issue #2192.. │ │ │ +000101f0: 2020 6966 2028 4e75 6d62 6572 2e69 7349 if (Number.isI │ │ │ +00010200: 6e74 6567 6572 2878 2929 207b 0a20 2020 nteger(x)) {. │ │ │ +00010210: 2020 2020 2069 6620 2865 7870 6f72 7473 if (exports │ │ │ +00010220: 2e70 7269 6d46 6c6f 6174 4973 4e65 6761 .primFloatIsNega │ │ │ +00010230: 7469 7665 5a65 726f 2878 2929 207b 0a20 tiveZero(x)) {. │ │ │ +00010240: 2020 2020 2020 2020 2020 2072 6574 7572 retur │ │ │ +00010250: 6e20 2822 2d30 2e30 2229 3b0a 2020 2020 n ("-0.0");. │ │ │ +00010260: 2020 2020 7d20 656c 7365 207b 0a20 2020 } else {. │ │ │ +00010270: 2020 2020 2020 2020 2072 6574 7572 6e20 return │ │ │ +00010280: 2878 2e74 6f53 7472 696e 6728 2920 2b20 (x.toString() + │ │ │ +00010290: 222e 3022 293b 0a20 2020 2020 2020 207d ".0");. } │ │ │ +000102a0: 0a20 2020 207d 2065 6c73 6520 7b0a 2020 . } else {. │ │ │ +000102b0: 2020 2020 2020 7265 7475 726e 2078 2e74 return x.t │ │ │ +000102c0: 6f53 7472 696e 6728 293b 0a20 2020 207d oString();. } │ │ │ +000102d0: 0a7d 3b0a 6578 706f 7274 732e 7072 696d .};.exports.prim │ │ │ +000102e0: 466c 6f61 7450 6c75 7320 3d20 6675 6e63 FloatPlus = func │ │ │ +000102f0: 7469 6f6e 2878 2920 7b0a 2020 2020 7265 tion(x) {. re │ │ │ +00010300: 7475 726e 2066 756e 6374 696f 6e28 7929 turn function(y) │ │ │ +00010310: 207b 0a20 2020 2020 2020 2072 6574 7572 {. retur │ │ │ +00010320: 6e20 7820 2b20 793b 0a20 2020 207d 3b0a n x + y;. };. │ │ │ +00010330: 7d3b 0a65 7870 6f72 7473 2e70 7269 6d46 };.exports.primF │ │ │ +00010340: 6c6f 6174 4d69 6e75 7320 3d20 6675 6e63 loatMinus = func │ │ │ +00010350: 7469 6f6e 2878 2920 7b0a 2020 2020 7265 tion(x) {. re │ │ │ +00010360: 7475 726e 2066 756e 6374 696f 6e28 7929 turn function(y) │ │ │ +00010370: 207b 0a20 2020 2020 2020 2072 6574 7572 {. retur │ │ │ +00010380: 6e20 7820 2d20 793b 0a20 2020 207d 3b0a n x - y;. };. │ │ │ +00010390: 7d3b 0a65 7870 6f72 7473 2e70 7269 6d46 };.exports.primF │ │ │ +000103a0: 6c6f 6174 5469 6d65 7320 3d20 6675 6e63 loatTimes = func │ │ │ +000103b0: 7469 6f6e 2878 2920 7b0a 2020 2020 7265 tion(x) {. re │ │ │ +000103c0: 7475 726e 2066 756e 6374 696f 6e28 7929 turn function(y) │ │ │ +000103d0: 207b 0a20 2020 2020 2020 2072 6574 7572 {. retur │ │ │ +000103e0: 6e20 7820 2a20 793b 0a20 2020 207d 3b0a n x * y;. };. │ │ │ +000103f0: 7d3b 0a65 7870 6f72 7473 2e70 7269 6d46 };.exports.primF │ │ │ +00010400: 6c6f 6174 4e65 6761 7465 203d 2066 756e loatNegate = fun │ │ │ +00010410: 6374 696f 6e28 7829 207b 0a20 2020 2072 ction(x) {. r │ │ │ +00010420: 6574 7572 6e20 2d78 3b0a 7d3b 0a65 7870 eturn -x;.};.exp │ │ │ +00010430: 6f72 7473 2e70 7269 6d46 6c6f 6174 4469 orts.primFloatDi │ │ │ +00010440: 7620 3d20 6675 6e63 7469 6f6e 2878 2920 v = function(x) │ │ │ +00010450: 7b0a 2020 7265 7475 726e 2066 756e 6374 {. return funct │ │ │ +00010460: 696f 6e28 7929 207b 0a20 2020 2072 6574 ion(y) {. ret │ │ │ +00010470: 7572 6e20 7820 2f20 793b 0a20 207d 3b0a urn x / y;. };. │ │ │ +00010480: 7d3b 0a65 7870 6f72 7473 2e70 7269 6d46 };.exports.primF │ │ │ +00010490: 6c6f 6174 506f 7720 3d20 6675 6e63 7469 loatPow = functi │ │ │ +000104a0: 6f6e 2878 2920 7b0a 2020 2020 7265 7475 on(x) {. retu │ │ │ +000104b0: 726e 2066 756e 6374 696f 6e28 7929 207b rn function(y) { │ │ │ +000104c0: 0a20 2020 2020 2020 2072 6574 7572 6e20 . return │ │ │ +000104d0: 7820 2a2a 2079 3b0a 2020 2020 7d3b 0a7d x ** y;. };.} │ │ │ +000104e0: 3b0a 6578 706f 7274 732e 7072 696d 466c ;.exports.primFl │ │ │ +000104f0: 6f61 7453 7172 7420 3d20 6675 6e63 7469 oatSqrt = functi │ │ │ +00010500: 6f6e 2878 2920 7b0a 2020 2020 7265 7475 on(x) {. retu │ │ │ +00010510: 726e 204d 6174 682e 7371 7274 2878 293b rn Math.sqrt(x); │ │ │ +00010520: 0a7d 3b0a 6578 706f 7274 732e 7072 696d .};.exports.prim │ │ │ +00010530: 466c 6f61 7445 7870 203d 2066 756e 6374 FloatExp = funct │ │ │ +00010540: 696f 6e28 7829 207b 0a20 2020 2072 6574 ion(x) {. ret │ │ │ +00010550: 7572 6e20 4d61 7468 2e65 7870 2878 293b urn Math.exp(x); │ │ │ +00010560: 0a7d 3b0a 6578 706f 7274 732e 7072 696d .};.exports.prim │ │ │ +00010570: 466c 6f61 744c 6f67 203d 2066 756e 6374 FloatLog = funct │ │ │ +00010580: 696f 6e28 7829 207b 0a20 2020 2072 6574 ion(x) {. ret │ │ │ +00010590: 7572 6e20 4d61 7468 2e6c 6f67 2878 293b urn Math.log(x); │ │ │ +000105a0: 0a7d 3b0a 6578 706f 7274 732e 7072 696d .};.exports.prim │ │ │ +000105b0: 466c 6f61 7453 696e 203d 2066 756e 6374 FloatSin = funct │ │ │ +000105c0: 696f 6e28 7829 207b 0a20 2020 2072 6574 ion(x) {. ret │ │ │ +000105d0: 7572 6e20 4d61 7468 2e73 696e 2878 293b urn Math.sin(x); │ │ │ +000105e0: 0a7d 3b0a 6578 706f 7274 732e 7072 696d .};.exports.prim │ │ │ +000105f0: 466c 6f61 7443 6f73 203d 2066 756e 6374 FloatCos = funct │ │ │ +00010600: 696f 6e28 7829 207b 0a20 2020 2072 6574 ion(x) {. ret │ │ │ +00010610: 7572 6e20 4d61 7468 2e63 6f73 2878 293b urn Math.cos(x); │ │ │ +00010620: 0a7d 3b0a 6578 706f 7274 732e 7072 696d .};.exports.prim │ │ │ +00010630: 466c 6f61 7454 616e 203d 2066 756e 6374 FloatTan = funct │ │ │ +00010640: 696f 6e28 7829 207b 0a20 2020 2072 6574 ion(x) {. ret │ │ │ +00010650: 7572 6e20 4d61 7468 2e74 616e 2878 293b urn Math.tan(x); │ │ │ +00010660: 0a7d 3b0a 6578 706f 7274 732e 7072 696d .};.exports.prim │ │ │ +00010670: 466c 6f61 7441 5369 6e20 3d20 6675 6e63 FloatASin = func │ │ │ +00010680: 7469 6f6e 2878 2920 7b0a 2020 2020 7265 tion(x) {. re │ │ │ +00010690: 7475 726e 204d 6174 682e 6173 696e 2878 turn Math.asin(x │ │ │ +000106a0: 293b 0a7d 3b0a 6578 706f 7274 732e 7072 );.};.exports.pr │ │ │ +000106b0: 696d 466c 6f61 7441 436f 7320 3d20 6675 imFloatACos = fu │ │ │ +000106c0: 6e63 7469 6f6e 2878 2920 7b0a 2020 2020 nction(x) {. │ │ │ +000106d0: 7265 7475 726e 204d 6174 682e 6163 6f73 return Math.acos │ │ │ +000106e0: 2878 293b 0a7d 3b0a 6578 706f 7274 732e (x);.};.exports. │ │ │ +000106f0: 7072 696d 466c 6f61 7441 5461 6e20 3d20 primFloatATan = │ │ │ +00010700: 6675 6e63 7469 6f6e 2878 2920 7b0a 2020 function(x) {. │ │ │ +00010710: 2020 7265 7475 726e 204d 6174 682e 6174 return Math.at │ │ │ +00010720: 616e 2878 293b 0a7d 3b0a 6578 706f 7274 an(x);.};.export │ │ │ +00010730: 732e 7072 696d 466c 6f61 7441 5461 6e32 s.primFloatATan2 │ │ │ +00010740: 203d 2066 756e 6374 696f 6e28 7829 207b = function(x) { │ │ │ +00010750: 0a20 2020 2072 6574 7572 6e20 6675 6e63 . return func │ │ │ +00010760: 7469 6f6e 2879 297b 0a20 2020 2020 2020 tion(y){. │ │ │ +00010770: 2072 6574 7572 6e20 4d61 7468 2e61 7461 return Math.ata │ │ │ +00010780: 6e32 2878 2c20 7929 3b0a 2020 2020 7d3b n2(x, y);. }; │ │ │ +00010790: 0a7d 3b0a 6578 706f 7274 732e 7072 696d .};.exports.prim │ │ │ +000107a0: 466c 6f61 7453 696e 6820 3d20 6675 6e63 FloatSinh = func │ │ │ +000107b0: 7469 6f6e 2878 2920 7b0a 2020 2020 7265 tion(x) {. re │ │ │ +000107c0: 7475 726e 204d 6174 682e 7369 6e68 2878 turn Math.sinh(x │ │ │ +000107d0: 293b 0a7d 3b0a 6578 706f 7274 732e 7072 );.};.exports.pr │ │ │ +000107e0: 696d 466c 6f61 7443 6f73 6820 3d20 6675 imFloatCosh = fu │ │ │ +000107f0: 6e63 7469 6f6e 2878 2920 7b0a 2020 2020 nction(x) {. │ │ │ +00010800: 7265 7475 726e 204d 6174 682e 636f 7368 return Math.cosh │ │ │ +00010810: 2878 293b 0a7d 3b0a 6578 706f 7274 732e (x);.};.exports. │ │ │ +00010820: 7072 696d 466c 6f61 7454 616e 6820 3d20 primFloatTanh = │ │ │ +00010830: 6675 6e63 7469 6f6e 2878 2920 7b0a 2020 function(x) {. │ │ │ +00010840: 2020 7265 7475 726e 204d 6174 682e 7461 return Math.ta │ │ │ +00010850: 6e68 2878 293b 0a7d 3b0a 6578 706f 7274 nh(x);.};.export │ │ │ +00010860: 732e 7072 696d 466c 6f61 7441 5369 6e68 s.primFloatASinh │ │ │ +00010870: 203d 2066 756e 6374 696f 6e28 7829 207b = function(x) { │ │ │ +00010880: 0a20 2020 2072 6574 7572 6e20 4d61 7468 . return Math │ │ │ +00010890: 2e61 7369 6e68 2878 293b 0a7d 3b0a 6578 .asinh(x);.};.ex │ │ │ +000108a0: 706f 7274 732e 7072 696d 466c 6f61 7441 ports.primFloatA │ │ │ +000108b0: 436f 7368 203d 2066 756e 6374 696f 6e28 Cosh = function( │ │ │ +000108c0: 7829 207b 0a20 2020 2072 6574 7572 6e20 x) {. return │ │ │ +000108d0: 4d61 7468 2e61 636f 7368 2878 293b 0a7d Math.acosh(x);.} │ │ │ +000108e0: 3b0a 6578 706f 7274 732e 7072 696d 466c ;.exports.primFl │ │ │ +000108f0: 6f61 7441 5461 6e68 203d 2066 756e 6374 oatATanh = funct │ │ │ +00010900: 696f 6e28 7829 207b 0a20 2020 2072 6574 ion(x) {. ret │ │ │ +00010910: 7572 6e20 4d61 7468 2e61 7461 6e68 2878 urn Math.atanh(x │ │ │ +00010920: 293b 0a7d 3b0a 0a2f 2f20 4375 6269 6361 );.};..// Cubica │ │ │ +00010930: 6c20 7072 696d 6974 6976 6573 2e0a 6578 l primitives..ex │ │ │ +00010940: 706f 7274 732e 7072 696d 494d 696e 203d ports.primIMin = │ │ │ +00010950: 2078 203d 3e20 7920 3d3e 2078 2026 2620 x => y => x && │ │ │ +00010960: 793b 0a65 7870 6f72 7473 2e70 7269 6d49 y;.exports.primI │ │ │ +00010970: 4d61 7820 3d20 7820 3d3e 2079 203d 3e20 Max = x => y => │ │ │ +00010980: 7820 7c7c 2079 3b0a 6578 706f 7274 732e x || y;.exports. │ │ │ +00010990: 7072 696d 494e 6567 203d 2078 203d 3e20 primINeg = x => │ │ │ +000109a0: 2178 3b0a 6578 706f 7274 732e 7072 696d !x;.exports.prim │ │ │ +000109b0: 5061 7274 6961 6c20 3d20 5f20 3d3e 205f Partial = _ => _ │ │ │ +000109c0: 203d 3e20 7820 3d3e 2078 3b0a 6578 706f => x => x;.expo │ │ │ +000109d0: 7274 732e 7072 696d 5061 7274 6961 6c50 rts.primPartialP │ │ │ +000109e0: 203d 205f 203d 3e20 5f20 3d3e 2078 203d = _ => _ => x = │ │ │ +000109f0: 3e20 783b 0a65 7870 6f72 7473 2e70 7269 > x;.exports.pri │ │ │ +00010a00: 6d50 4f72 203d 205f 203d 3e20 6920 3d3e mPOr = _ => i => │ │ │ +00010a10: 205f 203d 3e20 5f20 3d3e 2078 203d 3e20 _ => _ => x => │ │ │ +00010a20: 7920 3d3e 2069 203f 2078 203a 2079 3b0a y => i ? x : y;. │ │ │ +00010a30: 6578 706f 7274 732e 7072 696d 436f 6d70 exports.primComp │ │ │ +00010a40: 203d 205f 203d 3e20 5f20 3d3e 205f 203d = _ => _ => _ = │ │ │ +00010a50: 3e20 5f20 3d3e 2078 203d 3e20 783b 0a65 > _ => x => x;.e │ │ │ +00010a60: 7870 6f72 7473 2e70 7269 6d54 7261 6e73 xports.primTrans │ │ │ +00010a70: 7020 3d20 5f20 3d3e 205f 203d 3e20 5f20 p = _ => _ => _ │ │ │ +00010a80: 3d3e 2078 203d 3e20 783b 0a65 7870 6f72 => x => x;.expor │ │ │ +00010a90: 7473 2e70 7269 6d48 436f 6d70 203d 205f ts.primHComp = _ │ │ │ +00010aa0: 203d 3e20 5f20 3d3e 205f 203d 3e20 5f20 => _ => _ => _ │ │ │ +00010ab0: 3d3e 2078 203d 3e20 783b 0a65 7870 6f72 => x => x;.expor │ │ │ +00010ac0: 7473 2e70 7269 6d53 7562 4f75 7420 3d20 ts.primSubOut = │ │ │ +00010ad0: 5f20 3d3e 205f 203d 3e20 5f20 3d3e 205f _ => _ => _ => _ │ │ │ +00010ae0: 203d 3e20 7820 3d3e 2078 3b0a 6578 706f => x => x;.expo │ │ │ +00010af0: 7274 732e 7072 696d 5f67 6c75 6555 203d rts.prim_glueU = │ │ │ +00010b00: 205f 203d 3e20 5f20 3d3e 205f 203d 3e20 _ => _ => _ => │ │ │ +00010b10: 5f20 3d3e 205f 203d 3e20 7820 3d3e 2078 _ => _ => x => x │ │ │ +00010b20: 3b0a 6578 706f 7274 732e 7072 696d 5f75 ;.exports.prim_u │ │ │ +00010b30: 6e67 6c75 6555 203d 205f 203d 3e20 5f20 nglueU = _ => _ │ │ │ +00010b40: 3d3e 205f 203d 3e20 5f20 3d3e 2078 203d => _ => _ => x = │ │ │ +00010b50: 3e20 783b 0a65 7870 6f72 7473 2e70 7269 > x;.exports.pri │ │ │ +00010b60: 6d46 6163 6546 6f72 616c 6c20 3d20 6620 mFaceForall = f │ │ │ +00010b70: 3d3e 2066 2874 7275 6529 203d 3d20 7472 => f(true) == tr │ │ │ +00010b80: 7565 2026 2620 6628 6661 6c73 6529 203d ue && f(false) = │ │ │ +00010b90: 3d20 6661 6c73 653b 0a0a 2f2f 204f 7468 = false;..// Oth │ │ │ +00010ba0: 6572 2073 7475 6666 0a0a 2f2f 2070 7269 er stuff..// pri │ │ │ +00010bb0: 6d53 6571 203a 2028 582c 2059 2920 2d3e mSeq : (X, Y) -> │ │ │ +00010bc0: 2059 0a65 7870 6f72 7473 2e70 7269 6d53 Y.exports.primS │ │ │ +00010bd0: 6571 203d 2028 782c 2079 2920 3d3e 2079 eq = (x, y) => y │ │ │ +00010be0: 3b0a 0a2f 2f20 7570 7269 6d51 4e61 6d65 ;..// uprimQName │ │ │ +00010bf0: 4571 7561 6c69 7479 203a 2028 4e61 6d65 Equality : (Name │ │ │ +00010c00: 2c20 4e61 6d65 2920 2d3e 2042 6f6f 6c0a , Name) -> Bool. │ │ │ +00010c10: 6578 706f 7274 732e 7570 7269 6d51 4e61 exports.uprimQNa │ │ │ +00010c20: 6d65 4571 7561 6c69 7479 203d 2028 782c meEquality = (x, │ │ │ +00010c30: 2079 2920 3d3e 2078 5b27 6964 275d 203d y) => x['id'] = │ │ │ +00010c40: 3d3d 2079 5b27 6964 275d 2026 2620 785b == y['id'] && x[ │ │ │ +00010c50: 276d 6f64 756c 6549 6427 5d20 3d3d 3d20 'moduleId'] === │ │ │ +00010c60: 795b 276d 6f64 756c 6549 6427 5d3b 0a0a y['moduleId'];.. │ │ │ +00010c70: 2f2f 2070 7269 6d51 4e61 6d65 4571 7561 // primQNameEqua │ │ │ +00010c80: 6c69 7479 203a 204e 616d 6520 2d3e 204e lity : Name -> N │ │ │ +00010c90: 616d 6520 2d3e 2042 6f6f 6c0a 6578 706f ame -> Bool.expo │ │ │ +00010ca0: 7274 732e 7072 696d 514e 616d 6545 7175 rts.primQNameEqu │ │ │ +00010cb0: 616c 6974 7920 3d20 7820 3d3e 2079 203d ality = x => y = │ │ │ +00010cc0: 3e20 6578 706f 7274 732e 7570 7269 6d51 > exports.uprimQ │ │ │ +00010cd0: 4e61 6d65 4571 7561 6c69 7479 2878 2c20 NameEquality(x, │ │ │ +00010ce0: 7929 3b0a 0a2f 2f20 7072 696d 514e 616d y);..// primQNam │ │ │ +00010cf0: 654c 6573 7320 3a20 4e61 6d65 202d 3e20 eLess : Name -> │ │ │ +00010d00: 4e61 6d65 202d 3e20 426f 6f6c 0a65 7870 Name -> Bool.exp │ │ │ +00010d10: 6f72 7473 2e70 7269 6d51 4e61 6d65 4c65 orts.primQNameLe │ │ │ +00010d20: 7373 203d 2078 203d 3e20 7920 3d3e 2078 ss = x => y => x │ │ │ +00010d30: 5b27 6964 275d 203d 3d3d 2079 5b27 6964 ['id'] === y['id │ │ │ +00010d40: 275d 203f 2078 5b27 6d6f 6475 6c65 4964 '] ? x['moduleId │ │ │ +00010d50: 275d 203c 2079 5b27 6d6f 6475 6c65 4964 '] < y['moduleId │ │ │ +00010d60: 275d 203a 2078 5b27 6964 275d 203c 2079 '] : x['id'] < y │ │ │ +00010d70: 5b27 6964 275d 3b0a 0a2f 2f20 7072 696d ['id'];..// prim │ │ │ +00010d80: 5368 6f77 514e 616d 6520 3a20 4e61 6d65 ShowQName : Name │ │ │ +00010d90: 202d 3e20 5374 7269 6e67 0a65 7870 6f72 -> String.expor │ │ │ +00010da0: 7473 2e70 7269 6d53 686f 7751 4e61 6d65 ts.primShowQName │ │ │ +00010db0: 203d 2078 203d 3e20 785b 276e 616d 6527 = x => x['name' │ │ │ +00010dc0: 5d3b 0a0a 2f2f 2070 7269 6d51 4e61 6d65 ];..// primQName │ │ │ +00010dd0: 4669 7869 7479 203a 204e 616d 6520 2d3e Fixity : Name -> │ │ │ +00010de0: 2046 6978 6974 790a 6578 706f 7274 732e Fixity.exports. │ │ │ +00010df0: 7072 696d 514e 616d 6546 6978 6974 7920 primQNameFixity │ │ │ +00010e00: 3d20 7820 3d3e 2078 5b27 6669 7869 7479 = x => x['fixity │ │ │ +00010e10: 275d 3b0a 7265 7475 726e 2065 7870 6f72 '];.return expor │ │ │ +00010e20: 7473 3b0a 7d29 3b0a 97b5 c6f0 ea9e dec6 ts;.});......... │ │ │ +00010e30: f301 d1ca d8f7 81b4 83a2 7400 9201 0001 ..........t..... │ │ │ +00010e40: 0e66 0520 0000 0100 0404 0803 0702 5e02 .f. ..........^. │ │ │ +00010e50: 0000 030f 0005 0505 0b5f 0b93 010b 6109 ........._....a. │ │ │ +00010e60: 0601 00cf d400 efbd 828a 9fcf a9ef 14ac ................ │ │ │ +00010e70: d3a7 8799 a291 ece7 0100 9301 0001 38e8 ..............8. │ │ │ +00010e80: 0582 8080 e608 0000 0100 0304 0704 0200 ................ │ │ │ +00010e90: 0003 0f00 0901 cfd4 002f 2f20 436f 6e74 .........// Cont │ │ │ +00010ea0: 6169 6e73 202a 6d6f 7374 2a20 6f66 2074 ains *most* of t │ │ │ +00010eb0: 6865 2070 7269 6d69 7469 7665 7320 7265 he primitives re │ │ │ +00010ec0: 7175 6972 6564 2062 7920 7468 6520 4a61 quired by the Ja │ │ │ +00010ed0: 7661 5363 7269 7074 2062 6163 6b65 6e64 vaScript backend │ │ │ +00010ee0: 2e0a 2f2f 2028 536f 6d65 2c20 652e 672e ..// (Some, e.g. │ │ │ +00010ef0: 2c20 7468 6f73 6520 7573 696e 6720 4167 , those using Ag │ │ │ +00010f00: 6461 2074 7970 6573 206c 696b 6520 4d61 da types like Ma │ │ │ +00010f10: 7962 652c 2061 7265 2064 6566 696e 6564 ybe, are defined │ │ │ +00010f20: 2069 6e20 7468 6569 720a 2f2f 2072 6573 in their.// res │ │ │ +00010f30: 7065 6374 6976 6520 6275 696c 7469 6e20 pective builtin │ │ │ +00010f40: 6d6f 6475 6c65 732e 290a 2f2f 0a2f 2f20 modules.).//.// │ │ │ +00010f50: 5072 696d 6974 6976 6573 2070 7265 6669 Primitives prefi │ │ │ +00010f60: 7865 6420 6279 2027 7527 2061 7265 2075 xed by 'u' are u │ │ │ +00010f70: 6e63 7572 7269 6564 2076 6172 6961 6e74 ncurried variant │ │ │ +00010f80: 732c 2077 6869 6368 2061 7265 2073 6f6d s, which are som │ │ │ +00010f90: 6574 696d 6573 0a2f 2f20 656d 6974 7465 etimes.// emitte │ │ │ +00010fa0: 6420 6279 2074 6865 204a 6176 6153 6372 d by the JavaScr │ │ │ +00010fb0: 6970 7420 6261 636b 656e 642e 2057 6865 ipt backend. Whe │ │ │ +00010fc0: 6e65 7665 7220 706f 7373 6962 6c65 2c20 never possible, │ │ │ +00010fd0: 7468 6520 6375 7272 6965 6420 7072 696d the curried prim │ │ │ +00010fe0: 6974 6976 6573 0a2f 2f20 7368 6f75 6c64 itives.// should │ │ │ +00010ff0: 2062 6520 696d 706c 656d 656e 7465 6420 be implemented │ │ │ +00011000: 696e 2074 6572 6d73 206f 6620 7468 6520 in terms of the │ │ │ +00011010: 756e 6375 7272 6965 6420 6f6e 6573 2e0a uncurried ones.. │ │ │ +00011020: 2f2f 0a2f 2f20 5072 696d 6974 6976 6573 //.// Primitives │ │ │ +00011030: 2070 7265 6669 7865 6420 6279 2027 5f27 prefixed by '_' │ │ │ +00011040: 2061 7265 2069 6e74 6572 6e61 6c20 7661 are internal va │ │ │ +00011050: 7269 616e 7473 2c20 7573 7561 6c6c 7920 riants, usually │ │ │ +00011060: 666f 7220 7468 6f73 6520 7072 696d 6974 for those primit │ │ │ +00011070: 6976 6573 0a2f 2f20 7768 6963 6820 7265 ives.// which re │ │ │ +00011080: 7475 726e 2041 6764 6120 7479 7065 7320 turn Agda types │ │ │ +00011090: 6c69 6b65 204d 6179 6265 2e20 5468 6573 like Maybe. Thes │ │ │ +000110a0: 6520 6172 6520 6e65 7665 7220 656d 6974 e are never emit │ │ │ +000110b0: 7465 6420 6279 2074 6865 2063 6f6d 7069 ted by the compi │ │ │ +000110c0: 6c65 722c 0a2f 2f20 6275 7420 6361 6e20 ler,.// but can │ │ │ +000110d0: 6265 2075 7365 6420 696e 7465 726e 616c be used internal │ │ │ +000110e0: 6c79 2074 6f20 6465 6669 6e65 206f 7468 ly to define oth │ │ │ +000110f0: 6572 2070 7265 6669 7865 732e 0a0a 2f2f er prefixes...// │ │ │ +00011100: 2049 6e74 6567 6572 730a 0a2f 2f20 7072 Integers..// pr │ │ │ +00011110: 696d 496e 7465 6765 7246 726f 6d53 7472 imIntegerFromStr │ │ │ +00011120: 696e 6720 3a20 5374 7269 6e67 202d 3e20 ing : String -> │ │ │ +00011130: 496e 740a 6578 706f 7274 732e 7072 696d Int.exports.prim │ │ │ +00011140: 496e 7465 6765 7246 726f 6d53 7472 696e IntegerFromStrin │ │ │ +00011150: 6720 3d20 4269 6749 6e74 3b0a 0a2f 2f20 g = BigInt;..// │ │ │ +00011160: 7072 696d 5368 6f77 496e 7465 6765 7220 primShowInteger │ │ │ +00011170: 3a20 496e 7420 2d3e 2053 7472 696e 670a : Int -> String. │ │ │ +00011180: 6578 706f 7274 732e 7072 696d 5368 6f77 exports.primShow │ │ │ +00011190: 496e 7465 6765 7220 3d20 7820 3d3e 2078 Integer = x => x │ │ │ +000111a0: 2e74 6f53 7472 696e 6728 293b 0a0a 2f2f .toString();..// │ │ │ +000111b0: 2075 7072 696d 496e 7465 6765 7250 6c75 uprimIntegerPlu │ │ │ +000111c0: 7320 3a20 2849 6e74 2c20 496e 7429 202d s : (Int, Int) - │ │ │ +000111d0: 3e20 496e 740a 6578 706f 7274 732e 7570 > Int.exports.up │ │ │ +000111e0: 7269 6d49 6e74 6567 6572 506c 7573 203d rimIntegerPlus = │ │ │ +000111f0: 2028 782c 2079 2920 3d3e 2078 202b 2079 (x, y) => x + y │ │ │ +00011200: 3b0a 0a2f 2f20 7570 7269 6d49 6e74 6567 ;..// uprimInteg │ │ │ +00011210: 6572 4d69 6e75 7320 3a20 2849 6e74 2c20 erMinus : (Int, │ │ │ +00011220: 496e 7429 202d 3e20 496e 740a 6578 706f Int) -> Int.expo │ │ │ +00011230: 7274 732e 7570 7269 6d49 6e74 6567 6572 rts.uprimInteger │ │ │ +00011240: 4d69 6e75 7320 3d20 2878 2c20 7929 203d Minus = (x, y) = │ │ │ +00011250: 3e20 7820 2d20 793b 0a0a 2f2f 2075 7072 > x - y;..// upr │ │ │ +00011260: 696d 496e 7465 6765 724d 756c 7469 706c imIntegerMultipl │ │ │ +00011270: 7920 3a20 2849 6e74 2c20 496e 7429 202d y : (Int, Int) - │ │ │ +00011280: 3e20 496e 740a 6578 706f 7274 732e 7570 > Int.exports.up │ │ │ +00011290: 7269 6d49 6e74 6567 6572 4d75 6c74 6970 rimIntegerMultip │ │ │ +000112a0: 6c79 203d 2028 782c 2079 2920 3d3e 2078 ly = (x, y) => x │ │ │ +000112b0: 202a 2079 3b0a 0a2f 2f20 7570 7269 6d49 * y;..// uprimI │ │ │ +000112c0: 6e74 6567 6572 5265 6d20 3a20 2849 6e74 ntegerRem : (Int │ │ │ +000112d0: 2c20 496e 7429 202d 3e20 496e 740a 6578 , Int) -> Int.ex │ │ │ +000112e0: 706f 7274 732e 7570 7269 6d49 6e74 6567 ports.uprimInteg │ │ │ +000112f0: 6572 5265 6d20 3d20 2878 2c20 7929 203d erRem = (x, y) = │ │ │ +00011300: 3e20 7820 2520 793b 0a0a 2f2f 2075 7072 > x % y;..// upr │ │ │ +00011310: 696d 496e 7465 6765 7251 756f 7420 3a20 imIntegerQuot : │ │ │ +00011320: 2849 6e74 2c20 496e 7429 202d 3e20 496e (Int, Int) -> In │ │ │ +00011330: 740a 6578 706f 7274 732e 7570 7269 6d49 t.exports.uprimI │ │ │ +00011340: 6e74 6567 6572 5175 6f74 203d 2028 782c ntegerQuot = (x, │ │ │ +00011350: 2079 2920 3d3e 2078 202f 2079 3b0a 0a2f y) => x / y;../ │ │ │ +00011360: 2f20 7570 7269 6d49 6e74 6567 6572 4571 / uprimIntegerEq │ │ │ +00011370: 7561 6c20 3a20 2849 6e74 2c20 496e 7429 ual : (Int, Int) │ │ │ +00011380: 202d 3e20 426f 6f6c 0a65 7870 6f72 7473 -> Bool.exports │ │ │ +00011390: 2e75 7072 696d 496e 7465 6765 7245 7175 .uprimIntegerEqu │ │ │ +000113a0: 616c 203d 2028 782c 2079 2920 3d3e 2078 al = (x, y) => x │ │ │ +000113b0: 203d 3d3d 2079 3b0a 0a2f 2f20 7570 7269 === y;..// upri │ │ │ +000113c0: 6d49 6e74 6567 6572 4772 6561 7465 724f mIntegerGreaterO │ │ │ +000113d0: 7245 7175 616c 5468 616e 203a 2028 496e rEqualThan : (In │ │ │ +000113e0: 742c 2049 6e74 2920 2d3e 2042 6f6f 6c0a t, Int) -> Bool. │ │ │ +000113f0: 6578 706f 7274 732e 7570 7269 6d49 6e74 exports.uprimInt │ │ │ +00011400: 6567 6572 4772 6561 7465 724f 7245 7175 egerGreaterOrEqu │ │ │ +00011410: 616c 5468 616e 203d 2028 782c 2079 2920 alThan = (x, y) │ │ │ +00011420: 3d3e 2078 203e 3d20 793b 0a0a 2f2f 2075 => x >= y;..// u │ │ │ +00011430: 7072 696d 496e 7465 6765 724c 6573 7354 primIntegerLessT │ │ │ +00011440: 6861 6e20 3a20 2849 6e74 2c20 496e 7429 han : (Int, Int) │ │ │ +00011450: 202d 3e20 426f 6f6c 0a65 7870 6f72 7473 -> Bool.exports │ │ │ +00011460: 2e75 7072 696d 496e 7465 6765 724c 6573 .uprimIntegerLes │ │ │ +00011470: 7354 6861 6e20 3d20 2878 2c20 7929 203d sThan = (x, y) = │ │ │ +00011480: 3e20 7820 3c20 793b 0a0a 2f2f 2057 6f72 > x < y;..// Wor │ │ │ +00011490: 6473 0a63 6f6e 7374 2057 4f52 4436 345f ds.const WORD64_ │ │ │ +000114a0: 4d41 585f 5641 4c55 4520 3d20 3138 3434 MAX_VALUE = 1844 │ │ │ +000114b0: 3637 3434 3037 3337 3039 3535 3230 3030 6744073709552000 │ │ │ +000114c0: 6e3b 0a0a 2f2f 2070 7269 6d57 6f72 6436 n;..// primWord6 │ │ │ +000114d0: 3454 6f4e 6174 203a 2057 6f72 6436 3420 4ToNat : Word64 │ │ │ +000114e0: 2d3e 204e 6174 0a65 7870 6f72 7473 2e70 -> Nat.exports.p │ │ │ +000114f0: 7269 6d57 6f72 6436 3454 6f4e 6174 203d rimWord64ToNat = │ │ │ +00011500: 2078 203d 3e20 783b 0a0a 2f2f 2070 7269 x => x;..// pri │ │ │ +00011510: 6d57 6f72 6436 3446 726f 6d4e 6174 203a mWord64FromNat : │ │ │ +00011520: 204e 6174 202d 3e20 576f 7264 3634 0a65 Nat -> Word64.e │ │ │ +00011530: 7870 6f72 7473 2e70 7269 6d57 6f72 6436 xports.primWord6 │ │ │ +00011540: 3446 726f 6d4e 6174 203d 2078 203d 3e20 4FromNat = x => │ │ │ +00011550: 7820 2520 574f 5244 3634 5f4d 4158 5f56 x % WORD64_MAX_V │ │ │ +00011560: 414c 5545 3b0a 0a2f 2f20 7570 7269 6d57 ALUE;..// uprimW │ │ │ +00011570: 6f72 6436 3450 6c75 7320 3a20 2857 6f72 ord64Plus : (Wor │ │ │ +00011580: 6436 342c 2057 6f72 6436 3429 202d 3e20 d64, Word64) -> │ │ │ +00011590: 576f 7264 3634 0a65 7870 6f72 7473 2e75 Word64.exports.u │ │ │ +000115a0: 7072 696d 576f 7264 3634 506c 7573 203d primWord64Plus = │ │ │ +000115b0: 2028 782c 2079 2920 3d3e 2028 7820 2b20 (x, y) => (x + │ │ │ +000115c0: 7929 2025 2057 4f52 4436 345f 4d41 585f y) % WORD64_MAX_ │ │ │ +000115d0: 5641 4c55 453b 0a0a 2f2f 2075 7072 696d VALUE;..// uprim │ │ │ +000115e0: 576f 7264 3634 4d69 6e75 7320 3a20 2857 Word64Minus : (W │ │ │ +000115f0: 6f72 6436 342c 2057 6f72 6436 3429 202d ord64, Word64) - │ │ │ +00011600: 3e20 576f 7264 3634 0a65 7870 6f72 7473 > Word64.exports │ │ │ +00011610: 2e75 7072 696d 576f 7264 3634 4d69 6e75 .uprimWord64Minu │ │ │ +00011620: 7320 3d20 2878 2c20 7929 203d 3e20 2878 s = (x, y) => (x │ │ │ +00011630: 202b 2057 4f52 4436 345f 4d41 585f 5641 + WORD64_MAX_VA │ │ │ +00011640: 4c55 4520 2d20 7929 2025 2057 4f52 4436 LUE - y) % WORD6 │ │ │ +00011650: 345f 4d41 585f 5641 4c55 453b 0a0a 2f2f 4_MAX_VALUE;..// │ │ │ +00011660: 2075 7072 696d 576f 7264 3634 4d75 6c74 uprimWord64Mult │ │ │ +00011670: 6970 6c79 203a 2028 576f 7264 3634 2c20 iply : (Word64, │ │ │ +00011680: 576f 7264 3634 2920 2d3e 2057 6f72 6436 Word64) -> Word6 │ │ │ +00011690: 340a 6578 706f 7274 732e 7570 7269 6d57 4.exports.uprimW │ │ │ +000116a0: 6f72 6436 344d 756c 7469 706c 7920 3d20 ord64Multiply = │ │ │ +000116b0: 2878 2c20 7929 203d 3e20 2878 202a 2079 (x, y) => (x * y │ │ │ +000116c0: 2920 2520 574f 5244 3634 5f4d 4158 5f56 ) % WORD64_MAX_V │ │ │ +000116d0: 414c 5545 3b0a 0a2f 2f20 4e61 7475 7261 ALUE;..// Natura │ │ │ +000116e0: 6c20 6e75 6d62 6572 730a 0a2f 2f20 7072 l numbers..// pr │ │ │ +000116f0: 696d 4e61 744d 696e 7573 203a 204e 6174 imNatMinus : Nat │ │ │ +00011700: 202d 3e20 4e61 7420 2d3e 204e 6174 0a65 -> Nat -> Nat.e │ │ │ +00011710: 7870 6f72 7473 2e70 7269 6d4e 6174 4d69 xports.primNatMi │ │ │ +00011720: 6e75 7320 3d20 7820 3d3e 2079 203d 3e20 nus = x => y => │ │ │ +00011730: 7b0a 2020 636f 6e73 7420 7a20 3d20 7820 {. const z = x │ │ │ +00011740: 2d20 793b 0a20 2072 6574 7572 6e20 7a20 - y;. return z │ │ │ +00011750: 3c20 306e 203f 2030 6e20 3a20 7a3b 0a7d < 0n ? 0n : z;.} │ │ │ +00011760: 3b0a 0a2f 2f20 466c 6f61 7469 6e67 2d70 ;..// Floating-p │ │ │ +00011770: 6f69 6e74 206e 756d 6265 7273 0a76 6172 oint numbers.var │ │ │ +00011780: 205f 7072 696d 466c 6f61 7447 7265 6174 _primFloatGreat │ │ │ +00011790: 6573 7443 6f6d 6d6f 6e46 6163 746f 7220 estCommonFactor │ │ │ +000117a0: 3d20 6675 6e63 7469 6f6e 2878 2c20 7929 = function(x, y) │ │ │ +000117b0: 207b 0a20 2020 2076 6172 207a 3b0a 2020 {. var z;. │ │ │ +000117c0: 2020 7820 3d20 4d61 7468 2e61 6273 2878 x = Math.abs(x │ │ │ +000117d0: 293b 0a20 2020 2079 203d 204d 6174 682e );. y = Math. │ │ │ +000117e0: 6162 7328 7929 3b0a 2020 2020 7768 696c abs(y);. whil │ │ │ +000117f0: 6520 2879 2920 7b0a 2020 2020 2020 2020 e (y) {. │ │ │ +00011800: 7a20 3d20 7820 2520 793b 0a20 2020 2020 z = x % y;. │ │ │ +00011810: 2020 2078 203d 2079 3b0a 2020 2020 2020 x = y;. │ │ │ +00011820: 2020 7920 3d20 7a3b 0a20 2020 207d 0a20 y = z;. }. │ │ │ +00011830: 2020 2072 6574 7572 6e20 783b 0a7d 3b0a return x;.};. │ │ │ +00011840: 6578 706f 7274 732e 5f70 7269 6d46 6c6f exports._primFlo │ │ │ +00011850: 6174 526f 756e 6420 3d20 6675 6e63 7469 atRound = functi │ │ │ +00011860: 6f6e 2878 2920 7b0a 2020 2020 6966 2028 on(x) {. if ( │ │ │ +00011870: 6578 706f 7274 732e 7072 696d 466c 6f61 exports.primFloa │ │ │ +00011880: 7449 734e 614e 2878 2920 7c7c 2065 7870 tIsNaN(x) || exp │ │ │ +00011890: 6f72 7473 2e70 7269 6d46 6c6f 6174 4973 orts.primFloatIs │ │ │ +000118a0: 496e 6669 6e69 7465 2878 2929 207b 0a20 Infinite(x)) {. │ │ │ +000118b0: 2020 2020 2020 2072 6574 7572 6e20 6e75 return nu │ │ │ +000118c0: 6c6c 3b0a 2020 2020 7d0a 2020 2020 656c ll;. }. el │ │ │ +000118d0: 7365 207b 0a20 2020 2020 2020 2072 6574 se {. ret │ │ │ +000118e0: 7572 6e20 4269 6749 6e74 284d 6174 682e urn BigInt(Math. │ │ │ +000118f0: 726f 756e 6428 7829 293b 0a20 2020 207d round(x));. } │ │ │ +00011900: 0a7d 3b0a 6578 706f 7274 732e 5f70 7269 .};.exports._pri │ │ │ +00011910: 6d46 6c6f 6174 466c 6f6f 7220 3d20 6675 mFloatFloor = fu │ │ │ +00011920: 6e63 7469 6f6e 2878 2920 7b0a 2020 2020 nction(x) {. │ │ │ +00011930: 6966 2028 6578 706f 7274 732e 7072 696d if (exports.prim │ │ │ +00011940: 466c 6f61 7449 734e 614e 2878 2920 7c7c FloatIsNaN(x) || │ │ │ +00011950: 2065 7870 6f72 7473 2e70 7269 6d46 6c6f exports.primFlo │ │ │ +00011960: 6174 4973 496e 6669 6e69 7465 2878 2929 atIsInfinite(x)) │ │ │ +00011970: 207b 0a20 2020 2020 2020 2072 6574 7572 {. retur │ │ │ +00011980: 6e20 6e75 6c6c 3b0a 2020 2020 7d0a 2020 n null;. }. │ │ │ +00011990: 2020 656c 7365 207b 0a20 2020 2020 2020 else {. │ │ │ +000119a0: 2072 6574 7572 6e20 4269 6749 6e74 284d return BigInt(M │ │ │ +000119b0: 6174 682e 666c 6f6f 7228 7829 293b 0a20 ath.floor(x));. │ │ │ +000119c0: 2020 207d 0a7d 3b0a 6578 706f 7274 732e }.};.exports. │ │ │ +000119d0: 5f70 7269 6d46 6c6f 6174 4365 696c 696e _primFloatCeilin │ │ │ +000119e0: 6720 3d20 6675 6e63 7469 6f6e 2878 2920 g = function(x) │ │ │ +000119f0: 7b0a 2020 2020 6966 2028 6578 706f 7274 {. if (export │ │ │ +00011a00: 732e 7072 696d 466c 6f61 7449 734e 614e s.primFloatIsNaN │ │ │ +00011a10: 2878 2920 7c7c 2065 7870 6f72 7473 2e70 (x) || exports.p │ │ │ +00011a20: 7269 6d46 6c6f 6174 4973 496e 6669 6e69 rimFloatIsInfini │ │ │ +00011a30: 7465 2878 2929 207b 0a20 2020 2020 2020 te(x)) {. │ │ │ +00011a40: 2072 6574 7572 6e20 6e75 6c6c 3b0a 2020 return null;. │ │ │ +00011a50: 2020 7d0a 2020 2020 656c 7365 207b 0a20 }. else {. │ │ │ +00011a60: 2020 2020 2020 2072 6574 7572 6e20 4269 return Bi │ │ │ +00011a70: 6749 6e74 284d 6174 682e 6365 696c 2878 gInt(Math.ceil(x │ │ │ +00011a80: 2929 3b0a 2020 2020 7d0a 7d3b 0a65 7870 ));. }.};.exp │ │ │ +00011a90: 6f72 7473 2e5f 7072 696d 466c 6f61 7454 orts._primFloatT │ │ │ +00011aa0: 6f52 6174 696f 203d 2066 756e 6374 696f oRatio = functio │ │ │ +00011ab0: 6e28 7829 207b 0a20 2020 2069 6620 2865 n(x) {. if (e │ │ │ +00011ac0: 7870 6f72 7473 2e70 7269 6d46 6c6f 6174 xports.primFloat │ │ │ +00011ad0: 4973 4e61 4e28 7829 2920 7b0a 2020 2020 IsNaN(x)) {. │ │ │ +00011ae0: 2020 2020 7265 7475 726e 207b 6e75 6d65 return {nume │ │ │ +00011af0: 7261 746f 723a 2042 6967 496e 7428 3029 rator: BigInt(0) │ │ │ +00011b00: 2c20 6465 6e6f 6d69 6e61 746f 723a 2042 , denominator: B │ │ │ +00011b10: 6967 496e 7428 3029 7d3b 0a20 2020 207d igInt(0)};. } │ │ │ +00011b20: 0a20 2020 2065 6c73 6520 6966 2028 7820 . else if (x │ │ │ +00011b30: 3c20 302e 3020 2626 2065 7870 6f72 7473 < 0.0 && exports │ │ │ +00011b40: 2e70 7269 6d46 6c6f 6174 4973 496e 6669 .primFloatIsInfi │ │ │ +00011b50: 6e69 7465 2878 2929 207b 0a20 2020 2020 nite(x)) {. │ │ │ +00011b60: 2020 2072 6574 7572 6e20 7b6e 756d 6572 return {numer │ │ │ +00011b70: 6174 6f72 3a20 4269 6749 6e74 282d 3129 ator: BigInt(-1) │ │ │ +00011b80: 2c20 6465 6e6f 6d69 6e61 746f 723a 2042 , denominator: B │ │ │ +00011b90: 6967 496e 7428 3029 7d3b 0a20 2020 207d igInt(0)};. } │ │ │ +00011ba0: 0a20 2020 2065 6c73 6520 6966 2028 7820 . else if (x │ │ │ +00011bb0: 3e20 302e 3020 2626 2065 7870 6f72 7473 > 0.0 && exports │ │ │ +00011bc0: 2e70 7269 6d46 6c6f 6174 4973 496e 6669 .primFloatIsInfi │ │ │ +00011bd0: 6e69 7465 2878 2929 207b 0a20 2020 2020 nite(x)) {. │ │ │ +00011be0: 2020 2072 6574 7572 6e20 7b6e 756d 6572 return {numer │ │ │ +00011bf0: 6174 6f72 3a20 4269 6749 6e74 2831 292c ator: BigInt(1), │ │ │ +00011c00: 2064 656e 6f6d 696e 6174 6f72 3a20 4269 denominator: Bi │ │ │ +00011c10: 6749 6e74 2830 297d 3b0a 2020 2020 7d0a gInt(0)};. }. │ │ │ +00011c20: 2020 2020 656c 7365 2069 6620 2865 7870 else if (exp │ │ │ +00011c30: 6f72 7473 2e70 7269 6d46 6c6f 6174 4973 orts.primFloatIs │ │ │ +00011c40: 4e65 6761 7469 7665 5a65 726f 2878 2929 NegativeZero(x)) │ │ │ +00011c50: 207b 0a20 2020 2020 2020 2072 6574 7572 {. retur │ │ │ +00011c60: 6e20 7b6e 756d 6572 6174 6f72 3a20 4269 n {numerator: Bi │ │ │ +00011c70: 6749 6e74 2830 292c 2064 656e 6f6d 696e gInt(0), denomin │ │ │ +00011c80: 6174 6f72 3a20 4269 6749 6e74 2831 297d ator: BigInt(1)} │ │ │ +00011c90: 3b0a 2020 2020 7d0a 2020 2020 656c 7365 ;. }. else │ │ │ +00011ca0: 2069 6620 2878 203d 3d20 302e 3029 207b if (x == 0.0) { │ │ │ +00011cb0: 0a20 2020 2020 2020 2072 6574 7572 6e20 . return │ │ │ +00011cc0: 7b6e 756d 6572 6174 6f72 3a20 4269 6749 {numerator: BigI │ │ │ +00011cd0: 6e74 2830 292c 2064 656e 6f6d 696e 6174 nt(0), denominat │ │ │ +00011ce0: 6f72 3a20 4269 6749 6e74 2831 297d 3b0a or: BigInt(1)};. │ │ │ +00011cf0: 2020 2020 7d0a 2020 2020 656c 7365 207b }. else { │ │ │ +00011d00: 0a20 2020 2020 2020 2076 6172 206e 756d . var num │ │ │ +00011d10: 6572 6174 6f72 203d 204d 6174 682e 726f erator = Math.ro │ │ │ +00011d20: 756e 6428 782a 3165 3929 3b0a 2020 2020 und(x*1e9);. │ │ │ +00011d30: 2020 2020 7661 7220 6465 6e6f 6d69 6e61 var denomina │ │ │ +00011d40: 746f 7220 3d20 3165 393b 0a20 2020 2020 tor = 1e9;. │ │ │ +00011d50: 2020 2076 6172 2067 6366 203d 205f 7072 var gcf = _pr │ │ │ +00011d60: 696d 466c 6f61 7447 7265 6174 6573 7443 imFloatGreatestC │ │ │ +00011d70: 6f6d 6d6f 6e46 6163 746f 7228 6e75 6d65 ommonFactor(nume │ │ │ +00011d80: 7261 746f 722c 2064 656e 6f6d 696e 6174 rator, denominat │ │ │ +00011d90: 6f72 293b 0a20 2020 2020 2020 206e 756d or);. num │ │ │ +00011da0: 6572 6174 6f72 202f 3d20 6763 663b 0a20 erator /= gcf;. │ │ │ +00011db0: 2020 2020 2020 2064 656e 6f6d 696e 6174 denominat │ │ │ +00011dc0: 6f72 202f 3d20 6763 663b 0a20 2020 2020 or /= gcf;. │ │ │ +00011dd0: 2020 2072 6574 7572 6e20 7b6e 756d 6572 return {numer │ │ │ +00011de0: 6174 6f72 3a20 4269 6749 6e74 286e 756d ator: BigInt(num │ │ │ +00011df0: 6572 6174 6f72 292c 2064 656e 6f6d 696e erator), denomin │ │ │ +00011e00: 6174 6f72 3a20 4269 6749 6e74 2864 656e ator: BigInt(den │ │ │ +00011e10: 6f6d 696e 6174 6f72 297d 3b0a 2020 2020 ominator)};. │ │ │ +00011e20: 7d0a 7d3b 0a65 7870 6f72 7473 2e5f 7072 }.};.exports._pr │ │ │ +00011e30: 696d 466c 6f61 7444 6563 6f64 6520 3d20 imFloatDecode = │ │ │ +00011e40: 6675 6e63 7469 6f6e 2878 2920 7b0a 2020 function(x) {. │ │ │ +00011e50: 2020 6966 2028 6578 706f 7274 732e 7072 if (exports.pr │ │ │ +00011e60: 696d 466c 6f61 7449 734e 614e 2878 2929 imFloatIsNaN(x)) │ │ │ +00011e70: 207b 0a20 2020 2020 2020 2072 6574 7572 {. retur │ │ │ +00011e80: 6e20 6e75 6c6c 3b0a 2020 2020 7d0a 2020 n null;. }. │ │ │ +00011e90: 2020 656c 7365 2069 6620 2878 203c 2030 else if (x < 0 │ │ │ +00011ea0: 2e30 2026 2620 6578 706f 7274 732e 7072 .0 && exports.pr │ │ │ +00011eb0: 696d 466c 6f61 7449 7349 6e66 696e 6974 imFloatIsInfinit │ │ │ +00011ec0: 6528 7829 2920 7b0a 2020 2020 2020 2020 e(x)) {. │ │ │ +00011ed0: 7265 7475 726e 206e 756c 6c3b 0a20 2020 return null;. │ │ │ +00011ee0: 207d 0a20 2020 2065 6c73 6520 6966 2028 }. else if ( │ │ │ +00011ef0: 7820 3e20 302e 3020 2626 2065 7870 6f72 x > 0.0 && expor │ │ │ +00011f00: 7473 2e70 7269 6d46 6c6f 6174 4973 496e ts.primFloatIsIn │ │ │ +00011f10: 6669 6e69 7465 2878 2929 207b 0a20 2020 finite(x)) {. │ │ │ +00011f20: 2020 2020 2072 6574 7572 6e20 6e75 6c6c return null │ │ │ +00011f30: 3b0a 2020 2020 7d0a 2020 2020 656c 7365 ;. }. else │ │ │ +00011f40: 207b 0a20 2020 2020 2020 2076 6172 206d {. var m │ │ │ +00011f50: 616e 7469 7373 6120 3d20 782c 2065 7870 antissa = x, exp │ │ │ +00011f60: 6f6e 656e 7420 3d20 303b 0a20 2020 2020 onent = 0;. │ │ │ +00011f70: 2020 2077 6869 6c65 2028 214e 756d 6265 while (!Numbe │ │ │ +00011f80: 722e 6973 496e 7465 6765 7228 6d61 6e74 r.isInteger(mant │ │ │ +00011f90: 6973 7361 2929 207b 0a20 2020 2020 2020 issa)) {. │ │ │ +00011fa0: 2020 2020 206d 616e 7469 7373 6120 2a3d mantissa *= │ │ │ +00011fb0: 2032 2e30 3b0a 2020 2020 2020 2020 2020 2.0;. │ │ │ +00011fc0: 2020 6578 706f 6e65 6e74 202d 3d20 313b exponent -= 1; │ │ │ +00011fd0: 0a20 2020 2020 2020 207d 3b0a 2020 2020 . };. │ │ │ +00011fe0: 2020 2020 7768 696c 6520 286d 616e 7469 while (manti │ │ │ +00011ff0: 7373 6120 2520 322e 3020 3d3d 3d20 3029 ssa % 2.0 === 0) │ │ │ +00012000: 207b 0a20 2020 2020 2020 2020 2020 206d {. m │ │ │ +00012010: 616e 7469 7373 6120 2f3d 2032 2e30 3b0a antissa /= 2.0;. │ │ │ +00012020: 2020 2020 2020 2020 2020 2020 6578 706f expo │ │ │ +00012030: 6e65 6e74 202b 3d20 313b 0a20 2020 2020 nent += 1;. │ │ │ +00012040: 2020 207d 0a20 2020 2020 2020 2072 6574 }. ret │ │ │ +00012050: 7572 6e20 7b6d 616e 7469 7373 613a 2042 urn {mantissa: B │ │ │ +00012060: 6967 496e 7428 6d61 6e74 6973 7361 292c igInt(mantissa), │ │ │ +00012070: 2065 7870 6f6e 656e 743a 2042 6967 496e exponent: BigIn │ │ │ +00012080: 7428 6578 706f 6e65 6e74 297d 3b0a 2020 t(exponent)};. │ │ │ +00012090: 2020 7d0a 7d3b 0a65 7870 6f72 7473 2e75 }.};.exports.u │ │ │ +000120a0: 7072 696d 466c 6f61 7445 7175 616c 6974 primFloatEqualit │ │ │ +000120b0: 7920 3d20 6675 6e63 7469 6f6e 2878 2c20 y = function(x, │ │ │ +000120c0: 7929 207b 0a20 2020 2072 6574 7572 6e20 y) {. return │ │ │ +000120d0: 7820 3d3d 3d20 793b 0a7d 3b0a 6578 706f x === y;.};.expo │ │ │ +000120e0: 7274 732e 7072 696d 466c 6f61 7445 7175 rts.primFloatEqu │ │ │ +000120f0: 616c 6974 7920 3d20 6675 6e63 7469 6f6e ality = function │ │ │ +00012100: 2878 2920 7b0a 2020 2020 7265 7475 726e (x) {. return │ │ │ +00012110: 2066 756e 6374 696f 6e28 7929 207b 0a20 function(y) {. │ │ │ +00012120: 2020 2020 2020 2072 6574 7572 6e20 6578 return ex │ │ │ +00012130: 706f 7274 732e 7570 7269 6d46 6c6f 6174 ports.uprimFloat │ │ │ +00012140: 4571 7561 6c69 7479 2878 2c20 7929 3b0a Equality(x, y);. │ │ │ +00012150: 2020 2020 7d3b 0a7d 3b0a 6578 706f 7274 };.};.export │ │ │ +00012160: 732e 7072 696d 466c 6f61 7449 6e65 7175 s.primFloatInequ │ │ │ +00012170: 616c 6974 7920 3d20 6675 6e63 7469 6f6e ality = function │ │ │ +00012180: 2878 2920 7b0a 2020 2020 7265 7475 726e (x) {. return │ │ │ +00012190: 2066 756e 6374 696f 6e28 7929 207b 0a20 function(y) {. │ │ │ +000121a0: 2020 2020 2020 2072 6574 7572 6e20 7820 return x │ │ │ +000121b0: 3c3d 2079 3b0a 2020 2020 7d3b 0a7d 3b0a <= y;. };.};. │ │ │ +000121c0: 6578 706f 7274 732e 7072 696d 466c 6f61 exports.primFloa │ │ │ +000121d0: 744c 6573 7320 3d20 6675 6e63 7469 6f6e tLess = function │ │ │ +000121e0: 2878 2920 7b0a 2020 2020 7265 7475 726e (x) {. return │ │ │ +000121f0: 2066 756e 6374 696f 6e28 7929 207b 0a20 function(y) {. │ │ │ +00012200: 2020 2020 2020 2072 6574 7572 6e20 7820 return x │ │ │ +00012210: 3c20 793b 0a20 2020 207d 3b0a 7d3b 0a65 < y;. };.};.e │ │ │ +00012220: 7870 6f72 7473 2e70 7269 6d46 6c6f 6174 xports.primFloat │ │ │ +00012230: 4973 496e 6669 6e69 7465 203d 2066 756e IsInfinite = fun │ │ │ +00012240: 6374 696f 6e28 7829 207b 0a20 2020 2072 ction(x) {. r │ │ │ +00012250: 6574 7572 6e20 214e 756d 6265 722e 6973 eturn !Number.is │ │ │ +00012260: 4e61 4e28 7829 2026 2620 214e 756d 6265 NaN(x) && !Numbe │ │ │ +00012270: 722e 6973 4669 6e69 7465 2878 293b 0a7d r.isFinite(x);.} │ │ │ +00012280: 3b0a 6578 706f 7274 732e 7072 696d 466c ;.exports.primFl │ │ │ +00012290: 6f61 7449 734e 614e 203d 2066 756e 6374 oatIsNaN = funct │ │ │ +000122a0: 696f 6e28 7829 207b 0a20 2020 2072 6574 ion(x) {. ret │ │ │ +000122b0: 7572 6e20 4e75 6d62 6572 2e69 734e 614e urn Number.isNaN │ │ │ +000122c0: 2878 293b 0a7d 3b0a 6578 706f 7274 732e (x);.};.exports. │ │ │ +000122d0: 7072 696d 466c 6f61 7449 734e 6567 6174 primFloatIsNegat │ │ │ +000122e0: 6976 655a 6572 6f20 3d20 6675 6e63 7469 iveZero = functi │ │ │ +000122f0: 6f6e 2878 2920 7b0a 2020 2020 7265 7475 on(x) {. retu │ │ │ +00012300: 726e 204f 626a 6563 742e 6973 2878 2c2d rn Object.is(x,- │ │ │ +00012310: 302e 3029 3b0a 7d3b 0a65 7870 6f72 7473 0.0);.};.exports │ │ │ +00012320: 2e70 7269 6d46 6c6f 6174 4973 5361 6665 .primFloatIsSafe │ │ │ +00012330: 496e 7465 6765 7220 3d20 6675 6e63 7469 Integer = functi │ │ │ +00012340: 6f6e 2878 2920 7b0a 2020 2020 7265 7475 on(x) {. retu │ │ │ +00012350: 726e 204e 756d 6265 722e 6973 5361 6665 rn Number.isSafe │ │ │ +00012360: 496e 7465 6765 7228 7829 3b0a 7d3b 0a0a Integer(x);.};.. │ │ │ +00012370: 0a2f 2f20 5468 6573 6520 574f 5244 3634 .// These WORD64 │ │ │ +00012380: 2076 616c 7565 7320 7765 7265 206f 6274 values were obt │ │ │ +00012390: 6169 6e65 6420 7669 6120 6063 6173 7444 ained via `castD │ │ │ +000123a0: 6f75 626c 6554 6f57 6f72 6436 3460 2069 oubleToWord64` i │ │ │ +000123b0: 6e20 4861 736b 656c 6c3a 0a63 6f6e 7374 n Haskell:.const │ │ │ +000123c0: 2057 4f52 4436 345f 504f 535f 494e 4620 WORD64_POS_INF │ │ │ +000123d0: 203d 2039 3231 3838 3638 3433 3732 3237 = 9218868437227 │ │ │ +000123e0: 3430 3533 3132 6e3b 0a63 6f6e 7374 2057 405312n;.const W │ │ │ +000123f0: 4f52 4436 345f 4e45 475f 494e 4620 203d ORD64_NEG_INF = │ │ │ +00012400: 2031 3834 3432 3234 3034 3734 3038 3231 184422404740821 │ │ │ +00012410: 3831 3132 306e 3b0a 636f 6e73 7420 574f 81120n;.const WO │ │ │ +00012420: 5244 3634 5f50 4f53 5f5a 4552 4f20 3d20 RD64_POS_ZERO = │ │ │ +00012430: 306e 3b0a 636f 6e73 7420 574f 5244 3634 0n;.const WORD64 │ │ │ +00012440: 5f4e 4547 5f5a 4552 4f20 3d20 3932 3233 _NEG_ZERO = 9223 │ │ │ +00012450: 3337 3230 3336 3835 3437 3735 3830 386e 372036854775808n │ │ │ +00012460: 3b0a 0a65 7870 6f72 7473 2e70 7269 6d46 ;..exports.primF │ │ │ +00012470: 6c6f 6174 546f 576f 7264 3634 203d 2066 loatToWord64 = f │ │ │ +00012480: 756e 6374 696f 6e28 7829 207b 0a20 2020 unction(x) {. │ │ │ +00012490: 2069 6620 2865 7870 6f72 7473 2e70 7269 if (exports.pri │ │ │ +000124a0: 6d46 6c6f 6174 4973 4e61 4e28 7829 2920 mFloatIsNaN(x)) │ │ │ +000124b0: 7b0a 2020 2020 2020 2020 7265 7475 726e {. return │ │ │ +000124c0: 206e 756c 6c3b 0a20 2020 207d 0a20 2020 null;. }. │ │ │ +000124d0: 2065 6c73 6520 6966 2028 7820 3c20 302e else if (x < 0. │ │ │ +000124e0: 3020 2626 2065 7870 6f72 7473 2e70 7269 0 && exports.pri │ │ │ +000124f0: 6d46 6c6f 6174 4973 496e 6669 6e69 7465 mFloatIsInfinite │ │ │ +00012500: 2878 2929 207b 0a20 2020 2020 2020 2072 (x)) {. r │ │ │ +00012510: 6574 7572 6e20 574f 5244 3634 5f4e 4547 eturn WORD64_NEG │ │ │ +00012520: 5f49 4e46 3b0a 2020 2020 7d0a 2020 2020 _INF;. }. │ │ │ +00012530: 656c 7365 2069 6620 2878 203e 2030 2e30 else if (x > 0.0 │ │ │ +00012540: 2026 2620 6578 706f 7274 732e 7072 696d && exports.prim │ │ │ +00012550: 466c 6f61 7449 7349 6e66 696e 6974 6528 FloatIsInfinite( │ │ │ +00012560: 7829 2920 7b0a 2020 2020 2020 2020 7265 x)) {. re │ │ │ +00012570: 7475 726e 2057 4f52 4436 345f 504f 535f turn WORD64_POS_ │ │ │ +00012580: 494e 463b 0a20 2020 207d 0a20 2020 2065 INF;. }. e │ │ │ +00012590: 6c73 6520 6966 2028 6578 706f 7274 732e lse if (exports. │ │ │ +000125a0: 7072 696d 466c 6f61 7449 734e 6567 6174 primFloatIsNegat │ │ │ +000125b0: 6976 655a 6572 6f28 7829 2920 7b0a 2020 iveZero(x)) {. │ │ │ +000125c0: 2020 2020 2020 7265 7475 726e 2057 4f52 return WOR │ │ │ +000125d0: 4436 345f 4e45 475f 5a45 524f 3b0a 2020 D64_NEG_ZERO;. │ │ │ +000125e0: 2020 7d0a 2020 2020 656c 7365 2069 6620 }. else if │ │ │ +000125f0: 2878 203d 3d20 302e 3029 207b 0a20 2020 (x == 0.0) {. │ │ │ +00012600: 2020 2020 2072 6574 7572 6e20 574f 5244 return WORD │ │ │ +00012610: 3634 5f50 4f53 5f5a 4552 4f3b 0a20 2020 64_POS_ZERO;. │ │ │ +00012620: 207d 0a20 2020 2065 6c73 6520 7b0a 2020 }. else {. │ │ │ +00012630: 2020 2020 2020 7661 7220 6d61 6e74 6973 var mantis │ │ │ +00012640: 7361 2c20 6578 706f 6e65 6e74 3b0a 2020 sa, exponent;. │ │ │ +00012650: 2020 2020 2020 287b 6d61 6e74 6973 7361 ({mantissa │ │ │ +00012660: 2c20 6578 706f 6e65 6e74 7d20 3d20 6578 , exponent} = ex │ │ │ +00012670: 706f 7274 732e 5f70 7269 6d46 6c6f 6174 ports._primFloat │ │ │ +00012680: 4465 636f 6465 2878 2929 3b0a 2020 2020 Decode(x));. │ │ │ +00012690: 2020 2020 7661 7220 7369 676e 203d 204d var sign = M │ │ │ +000126a0: 6174 682e 7369 676e 286d 616e 7469 7373 ath.sign(mantiss │ │ │ +000126b0: 6129 3b0a 2020 2020 2020 2020 636f 6e73 a);. cons │ │ │ +000126c0: 6f6c 652e 6c6f 6728 6d61 6e74 6973 7361 ole.log(mantissa │ │ │ +000126d0: 293b 0a20 2020 2020 2020 206d 616e 7469 );. manti │ │ │ +000126e0: 7373 6120 2a3d 2073 6967 6e3b 0a20 2020 ssa *= sign;. │ │ │ +000126f0: 2020 2020 2073 6967 6e20 3d20 2873 6967 sign = (sig │ │ │ +00012700: 6e20 3d3d 3d20 2d31 203f 2022 3122 203a n === -1 ? "1" : │ │ │ +00012710: 2022 3022 293b 0a20 2020 2020 2020 206d "0");. m │ │ │ +00012720: 616e 7469 7373 6120 3d20 286d 616e 7469 antissa = (manti │ │ │ +00012730: 7373 612e 746f 5374 7269 6e67 2832 2929 ssa.toString(2)) │ │ │ +00012740: 2e70 6164 5374 6172 7428 3131 2c20 2230 .padStart(11, "0 │ │ │ +00012750: 2229 3b0a 2020 2020 2020 2020 6578 706f ");. expo │ │ │ +00012760: 6e65 6e74 203d 2028 6d61 6e74 6973 7361 nent = (mantissa │ │ │ +00012770: 2e74 6f53 7472 696e 6728 3229 292e 7061 .toString(2)).pa │ │ │ +00012780: 6453 7461 7274 2835 322c 2022 3022 293b dStart(52, "0"); │ │ │ +00012790: 0a20 2020 2020 2020 2072 6574 7572 6e20 . return │ │ │ +000127a0: 4269 6749 6e74 2870 6172 7365 496e 7428 BigInt(parseInt( │ │ │ +000127b0: 7369 676e 202b 206d 616e 7469 7373 6120 sign + mantissa │ │ │ +000127c0: 2b20 6578 706f 6e65 6e74 2c20 3229 293b + exponent, 2)); │ │ │ +000127d0: 0a20 2020 207d 0a7d 3b0a 0a2f 2f20 7072 . }.};..// pr │ │ │ +000127e0: 696d 4e61 7454 6f46 6c6f 6174 203a 204e imNatToFloat : N │ │ │ +000127f0: 6174 202d 3e20 466c 6f61 740a 6578 706f at -> Float.expo │ │ │ +00012800: 7274 732e 7072 696d 4e61 7454 6f46 6c6f rts.primNatToFlo │ │ │ +00012810: 6174 203d 204e 756d 6265 723b 0a0a 2f2f at = Number;..// │ │ │ +00012820: 2070 7269 6d49 6e74 546f 466c 6f61 7420 primIntToFloat │ │ │ +00012830: 3a20 496e 7420 2d3e 2046 6c6f 6174 0a65 : Int -> Float.e │ │ │ +00012840: 7870 6f72 7473 2e70 7269 6d49 6e74 546f xports.primIntTo │ │ │ +00012850: 466c 6f61 7420 3d20 4e75 6d62 6572 3b0a Float = Number;. │ │ │ +00012860: 0a2f 2f20 7072 696d 5261 7469 6f54 6f46 .// primRatioToF │ │ │ +00012870: 6c6f 6174 203a 2049 6e74 202d 3e20 496e loat : Int -> In │ │ │ +00012880: 7420 2d3e 2046 6c6f 6174 0a65 7870 6f72 t -> Float.expor │ │ │ +00012890: 7473 2e70 7269 6d52 6174 696f 546f 466c ts.primRatioToFl │ │ │ +000128a0: 6f61 7420 3d20 7820 3d3e 2079 203d 3e20 oat = x => y => │ │ │ +000128b0: 4e75 6d62 6572 2878 2920 2f20 4e75 6d62 Number(x) / Numb │ │ │ +000128c0: 6572 2879 293b 0a0a 2f2f 2075 7072 696d er(y);..// uprim │ │ │ +000128d0: 466c 6f61 7445 6e63 6f64 6520 3a20 2849 FloatEncode : (I │ │ │ +000128e0: 6e74 2c20 496e 7429 202d 3e20 4d61 7962 nt, Int) -> Mayb │ │ │ +000128f0: 6520 466c 6f61 740a 6578 706f 7274 732e e Float.exports. │ │ │ +00012900: 7570 7269 6d46 6c6f 6174 456e 636f 6465 uprimFloatEncode │ │ │ +00012910: 203d 2028 782c 2079 2920 3d3e 207b 0a20 = (x, y) => {. │ │ │ +00012920: 2063 6f6e 7374 206d 616e 7469 7373 6120 const mantissa │ │ │ +00012930: 3d20 4e75 6d62 6572 2878 293b 0a20 2063 = Number(x);. c │ │ │ +00012940: 6f6e 7374 2065 7870 6f6e 656e 7420 3d20 onst exponent = │ │ │ +00012950: 4e75 6d62 6572 2879 293b 0a0a 2020 6966 Number(y);.. if │ │ │ +00012960: 2028 4e75 6d62 6572 2e69 7353 6166 6549 (Number.isSafeI │ │ │ +00012970: 6e74 6567 6572 286d 616e 7469 7373 6129 nteger(mantissa) │ │ │ +00012980: 2026 2620 2d31 3032 3420 3c3d 2065 7870 && -1024 <= exp │ │ │ +00012990: 6f6e 656e 7420 2626 2065 7870 6f6e 656e onent && exponen │ │ │ +000129a0: 7420 3c3d 2031 3032 3429 207b 0a20 2020 t <= 1024) {. │ │ │ +000129b0: 2072 6574 7572 6e20 6d61 6e74 6973 7361 return mantissa │ │ │ +000129c0: 202a 2028 3220 2a2a 2065 7870 6f6e 656e * (2 ** exponen │ │ │ +000129d0: 7429 3b0a 2020 7d0a 0a20 2065 6c73 6520 t);. }.. else │ │ │ +000129e0: 7b0a 2020 2020 7265 7475 726e 206e 756c {. return nul │ │ │ +000129f0: 6c3b 0a20 207d 0a7d 3b0a 0a65 7870 6f72 l;. }.};..expor │ │ │ +00012a00: 7473 2e70 7269 6d53 686f 7746 6c6f 6174 ts.primShowFloat │ │ │ +00012a10: 203d 2066 756e 6374 696f 6e28 7829 207b = function(x) { │ │ │ +00012a20: 0a20 2020 202f 2f20 5365 6520 4973 7375 . // See Issu │ │ │ +00012a30: 6520 2332 3139 322e 0a20 2020 2069 6620 e #2192.. if │ │ │ +00012a40: 284e 756d 6265 722e 6973 496e 7465 6765 (Number.isIntege │ │ │ +00012a50: 7228 7829 2920 7b0a 2020 2020 2020 2020 r(x)) {. │ │ │ +00012a60: 6966 2028 6578 706f 7274 732e 7072 696d if (exports.prim │ │ │ +00012a70: 466c 6f61 7449 734e 6567 6174 6976 655a FloatIsNegativeZ │ │ │ +00012a80: 6572 6f28 7829 2920 7b0a 2020 2020 2020 ero(x)) {. │ │ │ +00012a90: 2020 2020 2020 7265 7475 726e 2028 222d return ("- │ │ │ +00012aa0: 302e 3022 293b 0a20 2020 2020 2020 207d 0.0");. } │ │ │ +00012ab0: 2065 6c73 6520 7b0a 2020 2020 2020 2020 else {. │ │ │ +00012ac0: 2020 2020 7265 7475 726e 2028 782e 746f return (x.to │ │ │ +00012ad0: 5374 7269 6e67 2829 202b 2022 2e30 2229 String() + ".0") │ │ │ +00012ae0: 3b0a 2020 2020 2020 2020 7d0a 2020 2020 ;. }. │ │ │ +00012af0: 7d20 656c 7365 207b 0a20 2020 2020 2020 } else {. │ │ │ +00012b00: 2072 6574 7572 6e20 782e 746f 5374 7269 return x.toStri │ │ │ +00012b10: 6e67 2829 3b0a 2020 2020 7d0a 7d3b 0a65 ng();. }.};.e │ │ │ +00012b20: 7870 6f72 7473 2e70 7269 6d46 6c6f 6174 xports.primFloat │ │ │ +00012b30: 506c 7573 203d 2066 756e 6374 696f 6e28 Plus = function( │ │ │ +00012b40: 7829 207b 0a20 2020 2072 6574 7572 6e20 x) {. return │ │ │ +00012b50: 6675 6e63 7469 6f6e 2879 2920 7b0a 2020 function(y) {. │ │ │ +00012b60: 2020 2020 2020 7265 7475 726e 2078 202b return x + │ │ │ +00012b70: 2079 3b0a 2020 2020 7d3b 0a7d 3b0a 6578 y;. };.};.ex │ │ │ +00012b80: 706f 7274 732e 7072 696d 466c 6f61 744d ports.primFloatM │ │ │ +00012b90: 696e 7573 203d 2066 756e 6374 696f 6e28 inus = function( │ │ │ +00012ba0: 7829 207b 0a20 2020 2072 6574 7572 6e20 x) {. return │ │ │ +00012bb0: 6675 6e63 7469 6f6e 2879 2920 7b0a 2020 function(y) {. │ │ │ +00012bc0: 2020 2020 2020 7265 7475 726e 2078 202d return x - │ │ │ +00012bd0: 2079 3b0a 2020 2020 7d3b 0a7d 3b0a 6578 y;. };.};.ex │ │ │ +00012be0: 706f 7274 732e 7072 696d 466c 6f61 7454 ports.primFloatT │ │ │ +00012bf0: 696d 6573 203d 2066 756e 6374 696f 6e28 imes = function( │ │ │ +00012c00: 7829 207b 0a20 2020 2072 6574 7572 6e20 x) {. return │ │ │ +00012c10: 6675 6e63 7469 6f6e 2879 2920 7b0a 2020 function(y) {. │ │ │ +00012c20: 2020 2020 2020 7265 7475 726e 2078 202a return x * │ │ │ +00012c30: 2079 3b0a 2020 2020 7d3b 0a7d 3b0a 6578 y;. };.};.ex │ │ │ +00012c40: 706f 7274 732e 7072 696d 466c 6f61 744e ports.primFloatN │ │ │ +00012c50: 6567 6174 6520 3d20 6675 6e63 7469 6f6e egate = function │ │ │ +00012c60: 2878 2920 7b0a 2020 2020 7265 7475 726e (x) {. return │ │ │ +00012c70: 202d 783b 0a7d 3b0a 6578 706f 7274 732e -x;.};.exports. │ │ │ +00012c80: 7072 696d 466c 6f61 7444 6976 203d 2066 primFloatDiv = f │ │ │ +00012c90: 756e 6374 696f 6e28 7829 207b 0a20 2072 unction(x) {. r │ │ │ +00012ca0: 6574 7572 6e20 6675 6e63 7469 6f6e 2879 eturn function(y │ │ │ +00012cb0: 2920 7b0a 2020 2020 7265 7475 726e 2078 ) {. return x │ │ │ +00012cc0: 202f 2079 3b0a 2020 7d3b 0a7d 3b0a 6578 / y;. };.};.ex │ │ │ +00012cd0: 706f 7274 732e 7072 696d 466c 6f61 7450 ports.primFloatP │ │ │ +00012ce0: 6f77 203d 2066 756e 6374 696f 6e28 7829 ow = function(x) │ │ │ +00012cf0: 207b 0a20 2020 2072 6574 7572 6e20 6675 {. return fu │ │ │ +00012d00: 6e63 7469 6f6e 2879 2920 7b0a 2020 2020 nction(y) {. │ │ │ +00012d10: 2020 2020 7265 7475 726e 2078 202a 2a20 return x ** │ │ │ +00012d20: 793b 0a20 2020 207d 3b0a 7d3b 0a65 7870 y;. };.};.exp │ │ │ +00012d30: 6f72 7473 2e70 7269 6d46 6c6f 6174 5371 orts.primFloatSq │ │ │ +00012d40: 7274 203d 2066 756e 6374 696f 6e28 7829 rt = function(x) │ │ │ +00012d50: 207b 0a20 2020 2072 6574 7572 6e20 4d61 {. return Ma │ │ │ +00012d60: 7468 2e73 7172 7428 7829 3b0a 7d3b 0a65 th.sqrt(x);.};.e │ │ │ +00012d70: 7870 6f72 7473 2e70 7269 6d46 6c6f 6174 xports.primFloat │ │ │ +00012d80: 4578 7020 3d20 6675 6e63 7469 6f6e 2878 Exp = function(x │ │ │ +00012d90: 2920 7b0a 2020 2020 7265 7475 726e 204d ) {. return M │ │ │ +00012da0: 6174 682e 6578 7028 7829 3b0a 7d3b 0a65 ath.exp(x);.};.e │ │ │ +00012db0: 7870 6f72 7473 2e70 7269 6d46 6c6f 6174 xports.primFloat │ │ │ +00012dc0: 4c6f 6720 3d20 6675 6e63 7469 6f6e 2878 Log = function(x │ │ │ +00012dd0: 2920 7b0a 2020 2020 7265 7475 726e 204d ) {. return M │ │ │ +00012de0: 6174 682e 6c6f 6728 7829 3b0a 7d3b 0a65 ath.log(x);.};.e │ │ │ +00012df0: 7870 6f72 7473 2e70 7269 6d46 6c6f 6174 xports.primFloat │ │ │ +00012e00: 5369 6e20 3d20 6675 6e63 7469 6f6e 2878 Sin = function(x │ │ │ +00012e10: 2920 7b0a 2020 2020 7265 7475 726e 204d ) {. return M │ │ │ +00012e20: 6174 682e 7369 6e28 7829 3b0a 7d3b 0a65 ath.sin(x);.};.e │ │ │ +00012e30: 7870 6f72 7473 2e70 7269 6d46 6c6f 6174 xports.primFloat │ │ │ +00012e40: 436f 7320 3d20 6675 6e63 7469 6f6e 2878 Cos = function(x │ │ │ +00012e50: 2920 7b0a 2020 2020 7265 7475 726e 204d ) {. return M │ │ │ +00012e60: 6174 682e 636f 7328 7829 3b0a 7d3b 0a65 ath.cos(x);.};.e │ │ │ +00012e70: 7870 6f72 7473 2e70 7269 6d46 6c6f 6174 xports.primFloat │ │ │ +00012e80: 5461 6e20 3d20 6675 6e63 7469 6f6e 2878 Tan = function(x │ │ │ +00012e90: 2920 7b0a 2020 2020 7265 7475 726e 204d ) {. return M │ │ │ +00012ea0: 6174 682e 7461 6e28 7829 3b0a 7d3b 0a65 ath.tan(x);.};.e │ │ │ +00012eb0: 7870 6f72 7473 2e70 7269 6d46 6c6f 6174 xports.primFloat │ │ │ +00012ec0: 4153 696e 203d 2066 756e 6374 696f 6e28 ASin = function( │ │ │ +00012ed0: 7829 207b 0a20 2020 2072 6574 7572 6e20 x) {. return │ │ │ +00012ee0: 4d61 7468 2e61 7369 6e28 7829 3b0a 7d3b Math.asin(x);.}; │ │ │ +00012ef0: 0a65 7870 6f72 7473 2e70 7269 6d46 6c6f .exports.primFlo │ │ │ +00012f00: 6174 4143 6f73 203d 2066 756e 6374 696f atACos = functio │ │ │ +00012f10: 6e28 7829 207b 0a20 2020 2072 6574 7572 n(x) {. retur │ │ │ +00012f20: 6e20 4d61 7468 2e61 636f 7328 7829 3b0a n Math.acos(x);. │ │ │ +00012f30: 7d3b 0a65 7870 6f72 7473 2e70 7269 6d46 };.exports.primF │ │ │ +00012f40: 6c6f 6174 4154 616e 203d 2066 756e 6374 loatATan = funct │ │ │ +00012f50: 696f 6e28 7829 207b 0a20 2020 2072 6574 ion(x) {. ret │ │ │ +00012f60: 7572 6e20 4d61 7468 2e61 7461 6e28 7829 urn Math.atan(x) │ │ │ +00012f70: 3b0a 7d3b 0a65 7870 6f72 7473 2e70 7269 ;.};.exports.pri │ │ │ +00012f80: 6d46 6c6f 6174 4154 616e 3220 3d20 6675 mFloatATan2 = fu │ │ │ +00012f90: 6e63 7469 6f6e 2878 2920 7b0a 2020 2020 nction(x) {. │ │ │ +00012fa0: 7265 7475 726e 2066 756e 6374 696f 6e28 return function( │ │ │ +00012fb0: 7929 7b0a 2020 2020 2020 2020 7265 7475 y){. retu │ │ │ +00012fc0: 726e 204d 6174 682e 6174 616e 3228 782c rn Math.atan2(x, │ │ │ +00012fd0: 2079 293b 0a20 2020 207d 3b0a 7d3b 0a65 y);. };.};.e │ │ │ +00012fe0: 7870 6f72 7473 2e70 7269 6d46 6c6f 6174 xports.primFloat │ │ │ +00012ff0: 5369 6e68 203d 2066 756e 6374 696f 6e28 Sinh = function( │ │ │ +00013000: 7829 207b 0a20 2020 2072 6574 7572 6e20 x) {. return │ │ │ +00013010: 4d61 7468 2e73 696e 6828 7829 3b0a 7d3b Math.sinh(x);.}; │ │ │ +00013020: 0a65 7870 6f72 7473 2e70 7269 6d46 6c6f .exports.primFlo │ │ │ +00013030: 6174 436f 7368 203d 2066 756e 6374 696f atCosh = functio │ │ │ +00013040: 6e28 7829 207b 0a20 2020 2072 6574 7572 n(x) {. retur │ │ │ +00013050: 6e20 4d61 7468 2e63 6f73 6828 7829 3b0a n Math.cosh(x);. │ │ │ +00013060: 7d3b 0a65 7870 6f72 7473 2e70 7269 6d46 };.exports.primF │ │ │ +00013070: 6c6f 6174 5461 6e68 203d 2066 756e 6374 loatTanh = funct │ │ │ +00013080: 696f 6e28 7829 207b 0a20 2020 2072 6574 ion(x) {. ret │ │ │ +00013090: 7572 6e20 4d61 7468 2e74 616e 6828 7829 urn Math.tanh(x) │ │ │ +000130a0: 3b0a 7d3b 0a65 7870 6f72 7473 2e70 7269 ;.};.exports.pri │ │ │ +000130b0: 6d46 6c6f 6174 4153 696e 6820 3d20 6675 mFloatASinh = fu │ │ │ +000130c0: 6e63 7469 6f6e 2878 2920 7b0a 2020 2020 nction(x) {. │ │ │ +000130d0: 7265 7475 726e 204d 6174 682e 6173 696e return Math.asin │ │ │ +000130e0: 6828 7829 3b0a 7d3b 0a65 7870 6f72 7473 h(x);.};.exports │ │ │ +000130f0: 2e70 7269 6d46 6c6f 6174 4143 6f73 6820 .primFloatACosh │ │ │ +00013100: 3d20 6675 6e63 7469 6f6e 2878 2920 7b0a = function(x) {. │ │ │ +00013110: 2020 2020 7265 7475 726e 204d 6174 682e return Math. │ │ │ +00013120: 6163 6f73 6828 7829 3b0a 7d3b 0a65 7870 acosh(x);.};.exp │ │ │ +00013130: 6f72 7473 2e70 7269 6d46 6c6f 6174 4154 orts.primFloatAT │ │ │ +00013140: 616e 6820 3d20 6675 6e63 7469 6f6e 2878 anh = function(x │ │ │ +00013150: 2920 7b0a 2020 2020 7265 7475 726e 204d ) {. return M │ │ │ +00013160: 6174 682e 6174 616e 6828 7829 3b0a 7d3b ath.atanh(x);.}; │ │ │ +00013170: 0a0a 2f2f 2043 7562 6963 616c 2070 7269 ..// Cubical pri │ │ │ +00013180: 6d69 7469 7665 732e 0a65 7870 6f72 7473 mitives..exports │ │ │ +00013190: 2e70 7269 6d49 4d69 6e20 3d20 7820 3d3e .primIMin = x => │ │ │ +000131a0: 2079 203d 3e20 7820 2626 2079 3b0a 6578 y => x && y;.ex │ │ │ +000131b0: 706f 7274 732e 7072 696d 494d 6178 203d ports.primIMax = │ │ │ +000131c0: 2078 203d 3e20 7920 3d3e 2078 207c 7c20 x => y => x || │ │ │ +000131d0: 793b 0a65 7870 6f72 7473 2e70 7269 6d49 y;.exports.primI │ │ │ +000131e0: 4e65 6720 3d20 7820 3d3e 2021 783b 0a65 Neg = x => !x;.e │ │ │ +000131f0: 7870 6f72 7473 2e70 7269 6d50 6172 7469 xports.primParti │ │ │ +00013200: 616c 203d 205f 203d 3e20 5f20 3d3e 2078 al = _ => _ => x │ │ │ +00013210: 203d 3e20 783b 0a65 7870 6f72 7473 2e70 => x;.exports.p │ │ │ +00013220: 7269 6d50 6172 7469 616c 5020 3d20 5f20 rimPartialP = _ │ │ │ +00013230: 3d3e 205f 203d 3e20 7820 3d3e 2078 3b0a => _ => x => x;. │ │ │ +00013240: 6578 706f 7274 732e 7072 696d 504f 7220 exports.primPOr │ │ │ +00013250: 3d20 5f20 3d3e 2069 203d 3e20 5f20 3d3e = _ => i => _ => │ │ │ +00013260: 205f 203d 3e20 7820 3d3e 2079 203d 3e20 _ => x => y => │ │ │ +00013270: 6920 3f20 7820 3a20 793b 0a65 7870 6f72 i ? x : y;.expor │ │ │ +00013280: 7473 2e70 7269 6d43 6f6d 7020 3d20 5f20 ts.primComp = _ │ │ │ +00013290: 3d3e 205f 203d 3e20 5f20 3d3e 205f 203d => _ => _ => _ = │ │ │ +000132a0: 3e20 7820 3d3e 2078 3b0a 6578 706f 7274 > x => x;.export │ │ │ +000132b0: 732e 7072 696d 5472 616e 7370 203d 205f s.primTransp = _ │ │ │ +000132c0: 203d 3e20 5f20 3d3e 205f 203d 3e20 7820 => _ => _ => x │ │ │ +000132d0: 3d3e 2078 3b0a 6578 706f 7274 732e 7072 => x;.exports.pr │ │ │ +000132e0: 696d 4843 6f6d 7020 3d20 5f20 3d3e 205f imHComp = _ => _ │ │ │ +000132f0: 203d 3e20 5f20 3d3e 205f 203d 3e20 7820 => _ => _ => x │ │ │ +00013300: 3d3e 2078 3b0a 6578 706f 7274 732e 7072 => x;.exports.pr │ │ │ +00013310: 696d 5375 624f 7574 203d 205f 203d 3e20 imSubOut = _ => │ │ │ +00013320: 5f20 3d3e 205f 203d 3e20 5f20 3d3e 2078 _ => _ => _ => x │ │ │ +00013330: 203d 3e20 783b 0a65 7870 6f72 7473 2e70 => x;.exports.p │ │ │ +00013340: 7269 6d5f 676c 7565 5520 3d20 5f20 3d3e rim_glueU = _ => │ │ │ +00013350: 205f 203d 3e20 5f20 3d3e 205f 203d 3e20 _ => _ => _ => │ │ │ +00013360: 5f20 3d3e 2078 203d 3e20 783b 0a65 7870 _ => x => x;.exp │ │ │ +00013370: 6f72 7473 2e70 7269 6d5f 756e 676c 7565 orts.prim_unglue │ │ │ +00013380: 5520 3d20 5f20 3d3e 205f 203d 3e20 5f20 U = _ => _ => _ │ │ │ +00013390: 3d3e 205f 203d 3e20 7820 3d3e 2078 3b0a => _ => x => x;. │ │ │ +000133a0: 6578 706f 7274 732e 7072 696d 4661 6365 exports.primFace │ │ │ +000133b0: 466f 7261 6c6c 203d 2066 203d 3e20 6628 Forall = f => f( │ │ │ +000133c0: 7472 7565 2920 3d3d 2074 7275 6520 2626 true) == true && │ │ │ +000133d0: 2066 2866 616c 7365 2920 3d3d 2066 616c f(false) == fal │ │ │ +000133e0: 7365 3b0a 0a2f 2f20 4f74 6865 7220 7374 se;..// Other st │ │ │ +000133f0: 7566 660a 0a2f 2f20 7072 696d 5365 7120 uff..// primSeq │ │ │ +00013400: 3a20 2858 2c20 5929 202d 3e20 590a 6578 : (X, Y) -> Y.ex │ │ │ +00013410: 706f 7274 732e 7072 696d 5365 7120 3d20 ports.primSeq = │ │ │ +00013420: 2878 2c20 7929 203d 3e20 793b 0a0a 2f2f (x, y) => y;..// │ │ │ +00013430: 2075 7072 696d 514e 616d 6545 7175 616c uprimQNameEqual │ │ │ +00013440: 6974 7920 3a20 284e 616d 652c 204e 616d ity : (Name, Nam │ │ │ +00013450: 6529 202d 3e20 426f 6f6c 0a65 7870 6f72 e) -> Bool.expor │ │ │ +00013460: 7473 2e75 7072 696d 514e 616d 6545 7175 ts.uprimQNameEqu │ │ │ +00013470: 616c 6974 7920 3d20 2878 2c20 7929 203d ality = (x, y) = │ │ │ +00013480: 3e20 785b 2769 6427 5d20 3d3d 3d20 795b > x['id'] === y[ │ │ │ +00013490: 2769 6427 5d20 2626 2078 5b27 6d6f 6475 'id'] && x['modu │ │ │ +000134a0: 6c65 4964 275d 203d 3d3d 2079 5b27 6d6f leId'] === y['mo │ │ │ +000134b0: 6475 6c65 4964 275d 3b0a 0a2f 2f20 7072 duleId'];..// pr │ │ │ +000134c0: 696d 514e 616d 6545 7175 616c 6974 7920 imQNameEquality │ │ │ +000134d0: 3a20 4e61 6d65 202d 3e20 4e61 6d65 202d : Name -> Name - │ │ │ +000134e0: 3e20 426f 6f6c 0a65 7870 6f72 7473 2e70 > Bool.exports.p │ │ │ +000134f0: 7269 6d51 4e61 6d65 4571 7561 6c69 7479 rimQNameEquality │ │ │ +00013500: 203d 2078 203d 3e20 7920 3d3e 2065 7870 = x => y => exp │ │ │ +00013510: 6f72 7473 2e75 7072 696d 514e 616d 6545 orts.uprimQNameE │ │ │ +00013520: 7175 616c 6974 7928 782c 2079 293b 0a0a quality(x, y);.. │ │ │ +00013530: 2f2f 2070 7269 6d51 4e61 6d65 4c65 7373 // primQNameLess │ │ │ +00013540: 203a 204e 616d 6520 2d3e 204e 616d 6520 : Name -> Name │ │ │ +00013550: 2d3e 2042 6f6f 6c0a 6578 706f 7274 732e -> Bool.exports. │ │ │ +00013560: 7072 696d 514e 616d 654c 6573 7320 3d20 primQNameLess = │ │ │ +00013570: 7820 3d3e 2079 203d 3e20 785b 2769 6427 x => y => x['id' │ │ │ +00013580: 5d20 3d3d 3d20 795b 2769 6427 5d20 3f20 ] === y['id'] ? │ │ │ +00013590: 785b 276d 6f64 756c 6549 6427 5d20 3c20 x['moduleId'] < │ │ │ +000135a0: 795b 276d 6f64 756c 6549 6427 5d20 3a20 y['moduleId'] : │ │ │ +000135b0: 785b 2769 6427 5d20 3c20 795b 2769 6427 x['id'] < y['id' │ │ │ +000135c0: 5d3b 0a0a 2f2f 2070 7269 6d53 686f 7751 ];..// primShowQ │ │ │ +000135d0: 4e61 6d65 203a 204e 616d 6520 2d3e 2053 Name : Name -> S │ │ │ +000135e0: 7472 696e 670a 6578 706f 7274 732e 7072 tring.exports.pr │ │ │ +000135f0: 696d 5368 6f77 514e 616d 6520 3d20 7820 imShowQName = x │ │ │ +00013600: 3d3e 2078 5b27 6e61 6d65 275d 3b0a 0a2f => x['name'];../ │ │ │ +00013610: 2f20 7072 696d 514e 616d 6546 6978 6974 / primQNameFixit │ │ │ +00013620: 7920 3a20 4e61 6d65 202d 3e20 4669 7869 y : Name -> Fixi │ │ │ +00013630: 7479 0a65 7870 6f72 7473 2e70 7269 6d51 ty.exports.primQ │ │ │ +00013640: 4e61 6d65 4669 7869 7479 203d 2078 203d NameFixity = x = │ │ │ +00013650: 3e20 785b 2766 6978 6974 7927 5d3b 0a0a > x['fixity'];.. │ │ │ +00013660: 2f2f 204d 6574 610a 0a2f 2f20 7072 696d // Meta..// prim │ │ │ +00013670: 5368 6f77 4d65 7461 203a 204d 6574 6120 ShowMeta : Meta │ │ │ +00013680: 2d3e 2053 7472 696e 670a 2f2f 2020 2053 -> String.// S │ │ │ +00013690: 686f 756c 6420 6265 206b 6570 7420 696e hould be kept in │ │ │ +000136a0: 2073 796e 6320 7769 7468 2076 6572 7369 sync with versi │ │ │ +000136b0: 6f6e 2069 6e20 6070 7269 6d69 7469 7665 on in `primitive │ │ │ +000136c0: 4675 6e63 7469 6f6e 7360 2069 6e0a 2f2f Functions` in.// │ │ │ +000136d0: 2020 2041 6764 612e 5479 7065 4368 6563 Agda.TypeChec │ │ │ +000136e0: 6b69 6e67 2e50 7269 6d69 7469 7665 0a65 king.Primitive.e │ │ │ +000136f0: 7870 6f72 7473 2e70 7269 6d53 686f 774d xports.primShowM │ │ │ +00013700: 6574 6120 3d20 7820 3d3e 2022 5f22 202b eta = x => "_" + │ │ │ +00013710: 2078 5b27 6964 275d 202b 2022 4022 202b x['id'] + "@" + │ │ │ +00013720: 2078 5b27 6d6f 6475 6c65 275d 3b0a 0a2f x['module'];../ │ │ │ +00013730: 2f20 7072 696d 4d65 7461 546f 4e61 7420 / primMetaToNat │ │ │ +00013740: 3a20 4d65 7461 202d 3e20 4e61 740a 2f2f : Meta -> Nat.// │ │ │ +00013750: 2020 2053 686f 756c 6420 6265 206b 6570 Should be kep │ │ │ +00013760: 7420 696e 2073 796e 6320 7769 7468 2060 t in sync with ` │ │ │ +00013770: 6d65 7461 546f 4e61 7460 2069 6e20 4167 metaToNat` in Ag │ │ │ +00013780: 6461 2e54 7970 6543 6865 636b 696e 672e da.TypeChecking. │ │ │ +00013790: 5072 696d 6974 6976 650a 6578 706f 7274 Primitive.export │ │ │ +000137a0: 732e 7072 696d 4d65 7461 546f 4e61 7420 s.primMetaToNat │ │ │ +000137b0: 3d20 7820 3d3e 2078 5b27 6d6f 6475 6c65 = x => x['module │ │ │ +000137c0: 275d 202a 2032 5e36 3420 2b20 785b 2769 '] * 2^64 + x['i │ │ │ +000137d0: 6427 5d3b 0a0a 2f2f 2070 7269 6d4d 6574 d'];..// primMet │ │ │ +000137e0: 6145 7175 616c 6974 7920 3a20 4d65 7461 aEquality : Meta │ │ │ +000137f0: 202d 3e20 4d65 7461 202d 3e20 426f 6f6c -> Meta -> Bool │ │ │ +00013800: 0a65 7870 6f72 7473 2e70 7269 6d4d 6574 .exports.primMet │ │ │ +00013810: 6145 7175 616c 6974 7920 3d20 7820 3d3e aEquality = x => │ │ │ +00013820: 2079 203d 3e20 785b 2769 6427 5d20 3d3d y => x['id'] == │ │ │ +00013830: 3d20 795b 2769 6427 5d20 2626 2078 5b27 = y['id'] && x[' │ │ │ +00013840: 6d6f 6475 6c65 275d 203d 3d3d 2079 5b27 module'] === y[' │ │ │ +00013850: 6d6f 6475 6c65 275d 3b0a 0a2f 2f20 7072 module'];..// pr │ │ │ +00013860: 696d 4d65 7461 4c65 7373 203a 204d 6574 imMetaLess : Met │ │ │ +00013870: 6120 2d3e 204d 6574 6120 2d3e 2042 6f6f a -> Meta -> Boo │ │ │ +00013880: 6c0a 6578 706f 7274 732e 7072 696d 4d65 l.exports.primMe │ │ │ +00013890: 7461 4c65 7373 203d 2078 203d 3e20 7920 taLess = x => y │ │ │ +000138a0: 3d3e 2078 5b27 6964 275d 203d 3d3d 2079 => x['id'] === y │ │ │ +000138b0: 5b27 6964 275d 203f 2078 5b27 6d6f 6475 ['id'] ? x['modu │ │ │ +000138c0: 6c65 275d 203c 2079 5b27 6d6f 6475 6c65 le'] < y['module │ │ │ +000138d0: 275d 203a 2078 5b27 6964 275d 203c 2079 '] : x['id'] < y │ │ │ +000138e0: 5b27 6964 275d 3b0a d3fe ceed edcf ef9e ['id'];......... │ │ │ +000138f0: 70f9 afa6 c1de fdef 92f1 0100 8e01 0001 p............... │ │ │ +00013900: 3926 0520 0000 0100 0404 0803 0702 5e02 9&. ..........^. │ │ │ +00013910: 0000 030f 0005 0505 0b5f 0b94 010b 6109 ........._....a. │ │ │ +00013920: 0601 00fd d400 d6b7 e8dc b19a d9a4 43bc ..............C. │ │ │ +00013930: 94cb a5a2 d09f fc28 0094 0100 0163 d505 .......(.....c.. │ │ │ +00013940: 8280 80e6 0800 0001 0003 0407 0402 0000 ................ │ │ │ +00013950: 030f 0009 01fd d400 2f2f 2043 6f6e 7461 ........// Conta │ │ │ +00013960: 696e 7320 2a6d 6f73 742a 206f 6620 7468 ins *most* of th │ │ │ +00013970: 6520 7072 696d 6974 6976 6573 2072 6571 e primitives req │ │ │ +00013980: 7569 7265 6420 6279 2074 6865 204a 6176 uired by the Jav │ │ │ +00013990: 6153 6372 6970 7420 6261 636b 656e 642e aScript backend. │ │ │ +000139a0: 0a2f 2f20 2853 6f6d 652c 2065 2e67 2e2c .// (Some, e.g., │ │ │ +000139b0: 2074 686f 7365 2075 7369 6e67 2041 6764 those using Agd │ │ │ +000139c0: 6120 7479 7065 7320 6c69 6b65 204d 6179 a types like May │ │ │ +000139d0: 6265 2c20 6172 6520 6465 6669 6e65 6420 be, are defined │ │ │ +000139e0: 696e 2074 6865 6972 0a2f 2f20 7265 7370 in their.// resp │ │ │ +000139f0: 6563 7469 7665 2062 7569 6c74 696e 206d ective builtin m │ │ │ +00013a00: 6f64 756c 6573 2e29 0a2f 2f0a 2f2f 2050 odules.).//.// P │ │ │ +00013a10: 7269 6d69 7469 7665 7320 7072 6566 6978 rimitives prefix │ │ │ +00013a20: 6564 2062 7920 2775 2720 6172 6520 756e ed by 'u' are un │ │ │ +00013a30: 6375 7272 6965 6420 7661 7269 616e 7473 curried variants │ │ │ +00013a40: 2c20 7768 6963 6820 6172 6520 736f 6d65 , which are some │ │ │ +00013a50: 7469 6d65 730a 2f2f 2065 6d69 7474 6564 times.// emitted │ │ │ +00013a60: 2062 7920 7468 6520 4a61 7661 5363 7269 by the JavaScri │ │ │ +00013a70: 7074 2062 6163 6b65 6e64 2e20 5768 656e pt backend. When │ │ │ +00013a80: 6576 6572 2070 6f73 7369 626c 652c 2074 ever possible, t │ │ │ +00013a90: 6865 2063 7572 7269 6564 2070 7269 6d69 he curried primi │ │ │ +00013aa0: 7469 7665 730a 2f2f 2073 686f 756c 6420 tives.// should │ │ │ +00013ab0: 6265 2069 6d70 6c65 6d65 6e74 6564 2069 be implemented i │ │ │ +00013ac0: 6e20 7465 726d 7320 6f66 2074 6865 2075 n terms of the u │ │ │ +00013ad0: 6e63 7572 7269 6564 206f 6e65 732e 0a2f ncurried ones../ │ │ │ +00013ae0: 2f0a 2f2f 2050 7269 6d69 7469 7665 7320 /.// Primitives │ │ │ +00013af0: 7072 6566 6978 6564 2062 7920 275f 2720 prefixed by '_' │ │ │ +00013b00: 6172 6520 696e 7465 726e 616c 2076 6172 are internal var │ │ │ +00013b10: 6961 6e74 732c 2075 7375 616c 6c79 2066 iants, usually f │ │ │ +00013b20: 6f72 2074 686f 7365 2070 7269 6d69 7469 or those primiti │ │ │ +00013b30: 7665 730a 2f2f 2077 6869 6368 2072 6574 ves.// which ret │ │ │ +00013b40: 7572 6e20 4167 6461 2074 7970 6573 206c urn Agda types l │ │ │ +00013b50: 696b 6520 4d61 7962 652e 2054 6865 7365 ike Maybe. These │ │ │ +00013b60: 2061 7265 206e 6576 6572 2065 6d69 7474 are never emitt │ │ │ +00013b70: 6564 2062 7920 7468 6520 636f 6d70 696c ed by the compil │ │ │ +00013b80: 6572 2c0a 2f2f 2062 7574 2063 616e 2062 er,.// but can b │ │ │ +00013b90: 6520 7573 6564 2069 6e74 6572 6e61 6c6c e used internall │ │ │ +00013ba0: 7920 746f 2064 6566 696e 6520 6f74 6865 y to define othe │ │ │ +00013bb0: 7220 7072 6566 6978 6573 2e0a 0a63 6f6e r prefixes...con │ │ │ +00013bc0: 7374 2065 7870 6f72 7473 203d 207b 7d3b st exports = {}; │ │ │ +00013bd0: 0a0a 2f2f 2049 6e74 6567 6572 730a 0a2f ..// Integers../ │ │ │ +00013be0: 2f20 7072 696d 496e 7465 6765 7246 726f / primIntegerFro │ │ │ +00013bf0: 6d53 7472 696e 6720 3a20 5374 7269 6e67 mString : String │ │ │ +00013c00: 202d 3e20 496e 740a 6578 706f 7274 732e -> Int.exports. │ │ │ +00013c10: 7072 696d 496e 7465 6765 7246 726f 6d53 primIntegerFromS │ │ │ +00013c20: 7472 696e 6720 3d20 4269 6749 6e74 3b0a tring = BigInt;. │ │ │ +00013c30: 0a2f 2f20 7072 696d 5368 6f77 496e 7465 .// primShowInte │ │ │ +00013c40: 6765 7220 3a20 496e 7420 2d3e 2053 7472 ger : Int -> Str │ │ │ +00013c50: 696e 670a 6578 706f 7274 732e 7072 696d ing.exports.prim │ │ │ +00013c60: 5368 6f77 496e 7465 6765 7220 3d20 7820 ShowInteger = x │ │ │ +00013c70: 3d3e 2078 2e74 6f53 7472 696e 6728 293b => x.toString(); │ │ │ +00013c80: 0a0a 2f2f 2075 7072 696d 496e 7465 6765 ..// uprimIntege │ │ │ +00013c90: 7250 6c75 7320 3a20 2849 6e74 2c20 496e rPlus : (Int, In │ │ │ +00013ca0: 7429 202d 3e20 496e 740a 6578 706f 7274 t) -> Int.export │ │ │ +00013cb0: 732e 7570 7269 6d49 6e74 6567 6572 506c s.uprimIntegerPl │ │ │ +00013cc0: 7573 203d 2028 782c 2079 2920 3d3e 2078 us = (x, y) => x │ │ │ +00013cd0: 202b 2079 3b0a 0a2f 2f20 7570 7269 6d49 + y;..// uprimI │ │ │ +00013ce0: 6e74 6567 6572 4d69 6e75 7320 3a20 2849 ntegerMinus : (I │ │ │ +00013cf0: 6e74 2c20 496e 7429 202d 3e20 496e 740a nt, Int) -> Int. │ │ │ +00013d00: 6578 706f 7274 732e 7570 7269 6d49 6e74 exports.uprimInt │ │ │ +00013d10: 6567 6572 4d69 6e75 7320 3d20 2878 2c20 egerMinus = (x, │ │ │ +00013d20: 7929 203d 3e20 7820 2d20 793b 0a0a 2f2f y) => x - y;..// │ │ │ +00013d30: 2075 7072 696d 496e 7465 6765 724d 756c uprimIntegerMul │ │ │ +00013d40: 7469 706c 7920 3a20 2849 6e74 2c20 496e tiply : (Int, In │ │ │ +00013d50: 7429 202d 3e20 496e 740a 6578 706f 7274 t) -> Int.export │ │ │ +00013d60: 732e 7570 7269 6d49 6e74 6567 6572 4d75 s.uprimIntegerMu │ │ │ +00013d70: 6c74 6970 6c79 203d 2028 782c 2079 2920 ltiply = (x, y) │ │ │ +00013d80: 3d3e 2078 202a 2079 3b0a 0a2f 2f20 7570 => x * y;..// up │ │ │ +00013d90: 7269 6d49 6e74 6567 6572 5265 6d20 3a20 rimIntegerRem : │ │ │ +00013da0: 2849 6e74 2c20 496e 7429 202d 3e20 496e (Int, Int) -> In │ │ │ +00013db0: 740a 6578 706f 7274 732e 7570 7269 6d49 t.exports.uprimI │ │ │ +00013dc0: 6e74 6567 6572 5265 6d20 3d20 2878 2c20 ntegerRem = (x, │ │ │ +00013dd0: 7929 203d 3e20 7820 2520 793b 0a0a 2f2f y) => x % y;..// │ │ │ +00013de0: 2075 7072 696d 496e 7465 6765 7251 756f uprimIntegerQuo │ │ │ +00013df0: 7420 3a20 2849 6e74 2c20 496e 7429 202d t : (Int, Int) - │ │ │ +00013e00: 3e20 496e 740a 6578 706f 7274 732e 7570 > Int.exports.up │ │ │ +00013e10: 7269 6d49 6e74 6567 6572 5175 6f74 203d rimIntegerQuot = │ │ │ +00013e20: 2028 782c 2079 2920 3d3e 2078 202f 2079 (x, y) => x / y │ │ │ +00013e30: 3b0a 0a2f 2f20 7570 7269 6d49 6e74 6567 ;..// uprimInteg │ │ │ +00013e40: 6572 4571 7561 6c20 3a20 2849 6e74 2c20 erEqual : (Int, │ │ │ +00013e50: 496e 7429 202d 3e20 426f 6f6c 0a65 7870 Int) -> Bool.exp │ │ │ +00013e60: 6f72 7473 2e75 7072 696d 496e 7465 6765 orts.uprimIntege │ │ │ +00013e70: 7245 7175 616c 203d 2028 782c 2079 2920 rEqual = (x, y) │ │ │ +00013e80: 3d3e 2078 203d 3d3d 2079 3b0a 0a2f 2f20 => x === y;..// │ │ │ +00013e90: 7570 7269 6d49 6e74 6567 6572 4772 6561 uprimIntegerGrea │ │ │ +00013ea0: 7465 724f 7245 7175 616c 5468 616e 203a terOrEqualThan : │ │ │ +00013eb0: 2028 496e 742c 2049 6e74 2920 2d3e 2042 (Int, Int) -> B │ │ │ +00013ec0: 6f6f 6c0a 6578 706f 7274 732e 7570 7269 ool.exports.upri │ │ │ +00013ed0: 6d49 6e74 6567 6572 4772 6561 7465 724f mIntegerGreaterO │ │ │ +00013ee0: 7245 7175 616c 5468 616e 203d 2028 782c rEqualThan = (x, │ │ │ +00013ef0: 2079 2920 3d3e 2078 203e 3d20 793b 0a0a y) => x >= y;.. │ │ │ +00013f00: 2f2f 2075 7072 696d 496e 7465 6765 724c // uprimIntegerL │ │ │ +00013f10: 6573 7354 6861 6e20 3a20 2849 6e74 2c20 essThan : (Int, │ │ │ +00013f20: 496e 7429 202d 3e20 426f 6f6c 0a65 7870 Int) -> Bool.exp │ │ │ +00013f30: 6f72 7473 2e75 7072 696d 496e 7465 6765 orts.uprimIntege │ │ │ +00013f40: 724c 6573 7354 6861 6e20 3d20 2878 2c20 rLessThan = (x, │ │ │ +00013f50: 7929 203d 3e20 7820 3c20 793b 0a0a 2f2f y) => x < y;..// │ │ │ +00013f60: 2057 6f72 6473 0a63 6f6e 7374 2057 4f52 Words.const WOR │ │ │ +00013f70: 4436 345f 4d41 585f 5641 4c55 4520 3d20 D64_MAX_VALUE = │ │ │ +00013f80: 3138 3434 3637 3434 3037 3337 3039 3535 1844674407370955 │ │ │ +00013f90: 3230 3030 6e3b 0a0a 2f2f 2070 7269 6d57 2000n;..// primW │ │ │ +00013fa0: 6f72 6436 3454 6f4e 6174 203a 2057 6f72 ord64ToNat : Wor │ │ │ +00013fb0: 6436 3420 2d3e 204e 6174 0a65 7870 6f72 d64 -> Nat.expor │ │ │ +00013fc0: 7473 2e70 7269 6d57 6f72 6436 3454 6f4e ts.primWord64ToN │ │ │ +00013fd0: 6174 203d 2078 203d 3e20 783b 0a0a 2f2f at = x => x;..// │ │ │ +00013fe0: 2070 7269 6d57 6f72 6436 3446 726f 6d4e primWord64FromN │ │ │ +00013ff0: 6174 203a 204e 6174 202d 3e20 576f 7264 at : Nat -> Word │ │ │ +00014000: 3634 0a65 7870 6f72 7473 2e70 7269 6d57 64.exports.primW │ │ │ +00014010: 6f72 6436 3446 726f 6d4e 6174 203d 2078 ord64FromNat = x │ │ │ +00014020: 203d 3e20 7820 2520 574f 5244 3634 5f4d => x % WORD64_M │ │ │ +00014030: 4158 5f56 414c 5545 3b0a 0a2f 2f20 7570 AX_VALUE;..// up │ │ │ +00014040: 7269 6d57 6f72 6436 3450 6c75 7320 3a20 rimWord64Plus : │ │ │ +00014050: 2857 6f72 6436 342c 2057 6f72 6436 3429 (Word64, Word64) │ │ │ +00014060: 202d 3e20 576f 7264 3634 0a65 7870 6f72 -> Word64.expor │ │ │ +00014070: 7473 2e75 7072 696d 576f 7264 3634 506c ts.uprimWord64Pl │ │ │ +00014080: 7573 203d 2028 782c 2079 2920 3d3e 2028 us = (x, y) => ( │ │ │ +00014090: 7820 2b20 7929 2025 2057 4f52 4436 345f x + y) % WORD64_ │ │ │ +000140a0: 4d41 585f 5641 4c55 453b 0a0a 2f2f 2075 MAX_VALUE;..// u │ │ │ +000140b0: 7072 696d 576f 7264 3634 4d69 6e75 7320 primWord64Minus │ │ │ +000140c0: 3a20 2857 6f72 6436 342c 2057 6f72 6436 : (Word64, Word6 │ │ │ +000140d0: 3429 202d 3e20 576f 7264 3634 0a65 7870 4) -> Word64.exp │ │ │ +000140e0: 6f72 7473 2e75 7072 696d 576f 7264 3634 orts.uprimWord64 │ │ │ +000140f0: 4d69 6e75 7320 3d20 2878 2c20 7929 203d Minus = (x, y) = │ │ │ +00014100: 3e20 2878 202b 2057 4f52 4436 345f 4d41 > (x + WORD64_MA │ │ │ +00014110: 585f 5641 4c55 4520 2d20 7929 2025 2057 X_VALUE - y) % W │ │ │ +00014120: 4f52 4436 345f 4d41 585f 5641 4c55 453b ORD64_MAX_VALUE; │ │ │ +00014130: 0a0a 2f2f 2075 7072 696d 576f 7264 3634 ..// uprimWord64 │ │ │ +00014140: 4d75 6c74 6970 6c79 203a 2028 576f 7264 Multiply : (Word │ │ │ +00014150: 3634 2c20 576f 7264 3634 2920 2d3e 2057 64, Word64) -> W │ │ │ +00014160: 6f72 6436 340a 6578 706f 7274 732e 7570 ord64.exports.up │ │ │ +00014170: 7269 6d57 6f72 6436 344d 756c 7469 706c rimWord64Multipl │ │ │ +00014180: 7920 3d20 2878 2c20 7929 203d 3e20 2878 y = (x, y) => (x │ │ │ +00014190: 202a 2079 2920 2520 574f 5244 3634 5f4d * y) % WORD64_M │ │ │ +000141a0: 4158 5f56 414c 5545 3b0a 0a2f 2f20 4e61 AX_VALUE;..// Na │ │ │ +000141b0: 7475 7261 6c20 6e75 6d62 6572 730a 0a2f tural numbers../ │ │ │ +000141c0: 2f20 7072 696d 4e61 744d 696e 7573 203a / primNatMinus : │ │ │ +000141d0: 204e 6174 202d 3e20 4e61 7420 2d3e 204e Nat -> Nat -> N │ │ │ +000141e0: 6174 0a65 7870 6f72 7473 2e70 7269 6d4e at.exports.primN │ │ │ +000141f0: 6174 4d69 6e75 7320 3d20 7820 3d3e 2079 atMinus = x => y │ │ │ +00014200: 203d 3e20 7b0a 2020 636f 6e73 7420 7a20 => {. const z │ │ │ +00014210: 3d20 7820 2d20 793b 0a20 2072 6574 7572 = x - y;. retur │ │ │ +00014220: 6e20 7a20 3c20 306e 203f 2030 6e20 3a20 n z < 0n ? 0n : │ │ │ +00014230: 7a3b 0a7d 3b0a 0a2f 2f20 466c 6f61 7469 z;.};..// Floati │ │ │ +00014240: 6e67 2d70 6f69 6e74 206e 756d 6265 7273 ng-point numbers │ │ │ +00014250: 0a76 6172 205f 7072 696d 466c 6f61 7447 .var _primFloatG │ │ │ +00014260: 7265 6174 6573 7443 6f6d 6d6f 6e46 6163 reatestCommonFac │ │ │ +00014270: 746f 7220 3d20 6675 6e63 7469 6f6e 2878 tor = function(x │ │ │ +00014280: 2c20 7929 207b 0a20 2020 2076 6172 207a , y) {. var z │ │ │ +00014290: 3b0a 2020 2020 7820 3d20 4d61 7468 2e61 ;. x = Math.a │ │ │ +000142a0: 6273 2878 293b 0a20 2020 2079 203d 204d bs(x);. y = M │ │ │ +000142b0: 6174 682e 6162 7328 7929 3b0a 2020 2020 ath.abs(y);. │ │ │ +000142c0: 7768 696c 6520 2879 2920 7b0a 2020 2020 while (y) {. │ │ │ +000142d0: 2020 2020 7a20 3d20 7820 2520 793b 0a20 z = x % y;. │ │ │ +000142e0: 2020 2020 2020 2078 203d 2079 3b0a 2020 x = y;. │ │ │ +000142f0: 2020 2020 2020 7920 3d20 7a3b 0a20 2020 y = z;. │ │ │ +00014300: 207d 0a20 2020 2072 6574 7572 6e20 783b }. return x; │ │ │ +00014310: 0a7d 3b0a 6578 706f 7274 732e 5f70 7269 .};.exports._pri │ │ │ +00014320: 6d46 6c6f 6174 526f 756e 6420 3d20 6675 mFloatRound = fu │ │ │ +00014330: 6e63 7469 6f6e 2878 2920 7b0a 2020 2020 nction(x) {. │ │ │ +00014340: 6966 2028 6578 706f 7274 732e 7072 696d if (exports.prim │ │ │ +00014350: 466c 6f61 7449 734e 614e 2878 2920 7c7c FloatIsNaN(x) || │ │ │ +00014360: 2065 7870 6f72 7473 2e70 7269 6d46 6c6f exports.primFlo │ │ │ +00014370: 6174 4973 496e 6669 6e69 7465 2878 2929 atIsInfinite(x)) │ │ │ +00014380: 207b 0a20 2020 2020 2020 2072 6574 7572 {. retur │ │ │ +00014390: 6e20 6e75 6c6c 3b0a 2020 2020 7d0a 2020 n null;. }. │ │ │ +000143a0: 2020 656c 7365 207b 0a20 2020 2020 2020 else {. │ │ │ +000143b0: 2072 6574 7572 6e20 4269 6749 6e74 284d return BigInt(M │ │ │ +000143c0: 6174 682e 726f 756e 6428 7829 293b 0a20 ath.round(x));. │ │ │ +000143d0: 2020 207d 0a7d 3b0a 6578 706f 7274 732e }.};.exports. │ │ │ +000143e0: 5f70 7269 6d46 6c6f 6174 466c 6f6f 7220 _primFloatFloor │ │ │ +000143f0: 3d20 6675 6e63 7469 6f6e 2878 2920 7b0a = function(x) {. │ │ │ +00014400: 2020 2020 6966 2028 6578 706f 7274 732e if (exports. │ │ │ +00014410: 7072 696d 466c 6f61 7449 734e 614e 2878 primFloatIsNaN(x │ │ │ +00014420: 2920 7c7c 2065 7870 6f72 7473 2e70 7269 ) || exports.pri │ │ │ +00014430: 6d46 6c6f 6174 4973 496e 6669 6e69 7465 mFloatIsInfinite │ │ │ +00014440: 2878 2929 207b 0a20 2020 2020 2020 2072 (x)) {. r │ │ │ +00014450: 6574 7572 6e20 6e75 6c6c 3b0a 2020 2020 eturn null;. │ │ │ +00014460: 7d0a 2020 2020 656c 7365 207b 0a20 2020 }. else {. │ │ │ +00014470: 2020 2020 2072 6574 7572 6e20 4269 6749 return BigI │ │ │ +00014480: 6e74 284d 6174 682e 666c 6f6f 7228 7829 nt(Math.floor(x) │ │ │ +00014490: 293b 0a20 2020 207d 0a7d 3b0a 6578 706f );. }.};.expo │ │ │ +000144a0: 7274 732e 5f70 7269 6d46 6c6f 6174 4365 rts._primFloatCe │ │ │ +000144b0: 696c 696e 6720 3d20 6675 6e63 7469 6f6e iling = function │ │ │ +000144c0: 2878 2920 7b0a 2020 2020 6966 2028 6578 (x) {. if (ex │ │ │ +000144d0: 706f 7274 732e 7072 696d 466c 6f61 7449 ports.primFloatI │ │ │ +000144e0: 734e 614e 2878 2920 7c7c 2065 7870 6f72 sNaN(x) || expor │ │ │ +000144f0: 7473 2e70 7269 6d46 6c6f 6174 4973 496e ts.primFloatIsIn │ │ │ +00014500: 6669 6e69 7465 2878 2929 207b 0a20 2020 finite(x)) {. │ │ │ +00014510: 2020 2020 2072 6574 7572 6e20 6e75 6c6c return null │ │ │ +00014520: 3b0a 2020 2020 7d0a 2020 2020 656c 7365 ;. }. else │ │ │ +00014530: 207b 0a20 2020 2020 2020 2072 6574 7572 {. retur │ │ │ +00014540: 6e20 4269 6749 6e74 284d 6174 682e 6365 n BigInt(Math.ce │ │ │ +00014550: 696c 2878 2929 3b0a 2020 2020 7d0a 7d3b il(x));. }.}; │ │ │ +00014560: 0a65 7870 6f72 7473 2e5f 7072 696d 466c .exports._primFl │ │ │ +00014570: 6f61 7454 6f52 6174 696f 203d 2066 756e oatToRatio = fun │ │ │ +00014580: 6374 696f 6e28 7829 207b 0a20 2020 2069 ction(x) {. i │ │ │ +00014590: 6620 2865 7870 6f72 7473 2e70 7269 6d46 f (exports.primF │ │ │ +000145a0: 6c6f 6174 4973 4e61 4e28 7829 2920 7b0a loatIsNaN(x)) {. │ │ │ +000145b0: 2020 2020 2020 2020 7265 7475 726e 207b return { │ │ │ +000145c0: 6e75 6d65 7261 746f 723a 2042 6967 496e numerator: BigIn │ │ │ +000145d0: 7428 3029 2c20 6465 6e6f 6d69 6e61 746f t(0), denominato │ │ │ +000145e0: 723a 2042 6967 496e 7428 3029 7d3b 0a20 r: BigInt(0)};. │ │ │ +000145f0: 2020 207d 0a20 2020 2065 6c73 6520 6966 }. else if │ │ │ +00014600: 2028 7820 3c20 302e 3020 2626 2065 7870 (x < 0.0 && exp │ │ │ +00014610: 6f72 7473 2e70 7269 6d46 6c6f 6174 4973 orts.primFloatIs │ │ │ +00014620: 496e 6669 6e69 7465 2878 2929 207b 0a20 Infinite(x)) {. │ │ │ +00014630: 2020 2020 2020 2072 6574 7572 6e20 7b6e return {n │ │ │ +00014640: 756d 6572 6174 6f72 3a20 4269 6749 6e74 umerator: BigInt │ │ │ +00014650: 282d 3129 2c20 6465 6e6f 6d69 6e61 746f (-1), denominato │ │ │ +00014660: 723a 2042 6967 496e 7428 3029 7d3b 0a20 r: BigInt(0)};. │ │ │ +00014670: 2020 207d 0a20 2020 2065 6c73 6520 6966 }. else if │ │ │ +00014680: 2028 7820 3e20 302e 3020 2626 2065 7870 (x > 0.0 && exp │ │ │ +00014690: 6f72 7473 2e70 7269 6d46 6c6f 6174 4973 orts.primFloatIs │ │ │ +000146a0: 496e 6669 6e69 7465 2878 2929 207b 0a20 Infinite(x)) {. │ │ │ +000146b0: 2020 2020 2020 2072 6574 7572 6e20 7b6e return {n │ │ │ +000146c0: 756d 6572 6174 6f72 3a20 4269 6749 6e74 umerator: BigInt │ │ │ +000146d0: 2831 292c 2064 656e 6f6d 696e 6174 6f72 (1), denominator │ │ │ +000146e0: 3a20 4269 6749 6e74 2830 297d 3b0a 2020 : BigInt(0)};. │ │ │ +000146f0: 2020 7d0a 2020 2020 656c 7365 2069 6620 }. else if │ │ │ +00014700: 2865 7870 6f72 7473 2e70 7269 6d46 6c6f (exports.primFlo │ │ │ +00014710: 6174 4973 4e65 6761 7469 7665 5a65 726f atIsNegativeZero │ │ │ +00014720: 2878 2929 207b 0a20 2020 2020 2020 2072 (x)) {. r │ │ │ +00014730: 6574 7572 6e20 7b6e 756d 6572 6174 6f72 eturn {numerator │ │ │ +00014740: 3a20 4269 6749 6e74 2830 292c 2064 656e : BigInt(0), den │ │ │ +00014750: 6f6d 696e 6174 6f72 3a20 4269 6749 6e74 ominator: BigInt │ │ │ +00014760: 2831 297d 3b0a 2020 2020 7d0a 2020 2020 (1)};. }. │ │ │ +00014770: 656c 7365 2069 6620 2878 203d 3d20 302e else if (x == 0. │ │ │ +00014780: 3029 207b 0a20 2020 2020 2020 2072 6574 0) {. ret │ │ │ +00014790: 7572 6e20 7b6e 756d 6572 6174 6f72 3a20 urn {numerator: │ │ │ +000147a0: 4269 6749 6e74 2830 292c 2064 656e 6f6d BigInt(0), denom │ │ │ +000147b0: 696e 6174 6f72 3a20 4269 6749 6e74 2831 inator: BigInt(1 │ │ │ +000147c0: 297d 3b0a 2020 2020 7d0a 2020 2020 656c )};. }. el │ │ │ +000147d0: 7365 207b 0a20 2020 2020 2020 2076 6172 se {. var │ │ │ +000147e0: 206e 756d 6572 6174 6f72 203d 204d 6174 numerator = Mat │ │ │ +000147f0: 682e 726f 756e 6428 782a 3165 3929 3b0a h.round(x*1e9);. │ │ │ +00014800: 2020 2020 2020 2020 7661 7220 6465 6e6f var deno │ │ │ +00014810: 6d69 6e61 746f 7220 3d20 3165 393b 0a20 minator = 1e9;. │ │ │ +00014820: 2020 2020 2020 2076 6172 2067 6366 203d var gcf = │ │ │ +00014830: 205f 7072 696d 466c 6f61 7447 7265 6174 _primFloatGreat │ │ │ +00014840: 6573 7443 6f6d 6d6f 6e46 6163 746f 7228 estCommonFactor( │ │ │ +00014850: 6e75 6d65 7261 746f 722c 2064 656e 6f6d numerator, denom │ │ │ +00014860: 696e 6174 6f72 293b 0a20 2020 2020 2020 inator);. │ │ │ +00014870: 206e 756d 6572 6174 6f72 202f 3d20 6763 numerator /= gc │ │ │ +00014880: 663b 0a20 2020 2020 2020 2064 656e 6f6d f;. denom │ │ │ +00014890: 696e 6174 6f72 202f 3d20 6763 663b 0a20 inator /= gcf;. │ │ │ +000148a0: 2020 2020 2020 2072 6574 7572 6e20 7b6e return {n │ │ │ +000148b0: 756d 6572 6174 6f72 3a20 4269 6749 6e74 umerator: BigInt │ │ │ +000148c0: 286e 756d 6572 6174 6f72 292c 2064 656e (numerator), den │ │ │ +000148d0: 6f6d 696e 6174 6f72 3a20 4269 6749 6e74 ominator: BigInt │ │ │ +000148e0: 2864 656e 6f6d 696e 6174 6f72 297d 3b0a (denominator)};. │ │ │ +000148f0: 2020 2020 7d0a 7d3b 0a65 7870 6f72 7473 }.};.exports │ │ │ +00014900: 2e5f 7072 696d 466c 6f61 7444 6563 6f64 ._primFloatDecod │ │ │ +00014910: 6520 3d20 6675 6e63 7469 6f6e 2878 2920 e = function(x) │ │ │ +00014920: 7b0a 2020 2020 6966 2028 6578 706f 7274 {. if (export │ │ │ +00014930: 732e 7072 696d 466c 6f61 7449 734e 614e s.primFloatIsNaN │ │ │ +00014940: 2878 2929 207b 0a20 2020 2020 2020 2072 (x)) {. r │ │ │ +00014950: 6574 7572 6e20 6e75 6c6c 3b0a 2020 2020 eturn null;. │ │ │ +00014960: 7d0a 2020 2020 656c 7365 2069 6620 2878 }. else if (x │ │ │ +00014970: 203c 2030 2e30 2026 2620 6578 706f 7274 < 0.0 && export │ │ │ +00014980: 732e 7072 696d 466c 6f61 7449 7349 6e66 s.primFloatIsInf │ │ │ +00014990: 696e 6974 6528 7829 2920 7b0a 2020 2020 inite(x)) {. │ │ │ +000149a0: 2020 2020 7265 7475 726e 206e 756c 6c3b return null; │ │ │ +000149b0: 0a20 2020 207d 0a20 2020 2065 6c73 6520 . }. else │ │ │ +000149c0: 6966 2028 7820 3e20 302e 3020 2626 2065 if (x > 0.0 && e │ │ │ +000149d0: 7870 6f72 7473 2e70 7269 6d46 6c6f 6174 xports.primFloat │ │ │ +000149e0: 4973 496e 6669 6e69 7465 2878 2929 207b IsInfinite(x)) { │ │ │ +000149f0: 0a20 2020 2020 2020 2072 6574 7572 6e20 . return │ │ │ +00014a00: 6e75 6c6c 3b0a 2020 2020 7d0a 2020 2020 null;. }. │ │ │ +00014a10: 656c 7365 207b 0a20 2020 2020 2020 2076 else {. v │ │ │ +00014a20: 6172 206d 616e 7469 7373 6120 3d20 782c ar mantissa = x, │ │ │ +00014a30: 2065 7870 6f6e 656e 7420 3d20 303b 0a20 exponent = 0;. │ │ │ +00014a40: 2020 2020 2020 2077 6869 6c65 2028 214e while (!N │ │ │ +00014a50: 756d 6265 722e 6973 496e 7465 6765 7228 umber.isInteger( │ │ │ +00014a60: 6d61 6e74 6973 7361 2929 207b 0a20 2020 mantissa)) {. │ │ │ +00014a70: 2020 2020 2020 2020 206d 616e 7469 7373 mantiss │ │ │ +00014a80: 6120 2a3d 2032 2e30 3b0a 2020 2020 2020 a *= 2.0;. │ │ │ +00014a90: 2020 2020 2020 6578 706f 6e65 6e74 202d exponent - │ │ │ +00014aa0: 3d20 313b 0a20 2020 2020 2020 207d 3b0a = 1;. };. │ │ │ +00014ab0: 2020 2020 2020 2020 7768 696c 6520 286d while (m │ │ │ +00014ac0: 616e 7469 7373 6120 2520 322e 3020 3d3d antissa % 2.0 == │ │ │ +00014ad0: 3d20 3029 207b 0a20 2020 2020 2020 2020 = 0) {. │ │ │ +00014ae0: 2020 206d 616e 7469 7373 6120 2f3d 2032 mantissa /= 2 │ │ │ +00014af0: 2e30 3b0a 2020 2020 2020 2020 2020 2020 .0;. │ │ │ +00014b00: 6578 706f 6e65 6e74 202b 3d20 313b 0a20 exponent += 1;. │ │ │ +00014b10: 2020 2020 2020 207d 0a20 2020 2020 2020 }. │ │ │ +00014b20: 2072 6574 7572 6e20 7b6d 616e 7469 7373 return {mantiss │ │ │ +00014b30: 613a 2042 6967 496e 7428 6d61 6e74 6973 a: BigInt(mantis │ │ │ +00014b40: 7361 292c 2065 7870 6f6e 656e 743a 2042 sa), exponent: B │ │ │ +00014b50: 6967 496e 7428 6578 706f 6e65 6e74 297d igInt(exponent)} │ │ │ +00014b60: 3b0a 2020 2020 7d0a 7d3b 0a65 7870 6f72 ;. }.};.expor │ │ │ +00014b70: 7473 2e75 7072 696d 466c 6f61 7445 7175 ts.uprimFloatEqu │ │ │ +00014b80: 616c 6974 7920 3d20 6675 6e63 7469 6f6e ality = function │ │ │ +00014b90: 2878 2c20 7929 207b 0a20 2020 2072 6574 (x, y) {. ret │ │ │ +00014ba0: 7572 6e20 7820 3d3d 3d20 793b 0a7d 3b0a urn x === y;.};. │ │ │ +00014bb0: 6578 706f 7274 732e 7072 696d 466c 6f61 exports.primFloa │ │ │ +00014bc0: 7445 7175 616c 6974 7920 3d20 6675 6e63 tEquality = func │ │ │ +00014bd0: 7469 6f6e 2878 2920 7b0a 2020 2020 7265 tion(x) {. re │ │ │ +00014be0: 7475 726e 2066 756e 6374 696f 6e28 7929 turn function(y) │ │ │ +00014bf0: 207b 0a20 2020 2020 2020 2072 6574 7572 {. retur │ │ │ +00014c00: 6e20 6578 706f 7274 732e 7570 7269 6d46 n exports.uprimF │ │ │ +00014c10: 6c6f 6174 4571 7561 6c69 7479 2878 2c20 loatEquality(x, │ │ │ +00014c20: 7929 3b0a 2020 2020 7d3b 0a7d 3b0a 6578 y);. };.};.ex │ │ │ +00014c30: 706f 7274 732e 7072 696d 466c 6f61 7449 ports.primFloatI │ │ │ +00014c40: 6e65 7175 616c 6974 7920 3d20 6675 6e63 nequality = func │ │ │ +00014c50: 7469 6f6e 2878 2920 7b0a 2020 2020 7265 tion(x) {. re │ │ │ +00014c60: 7475 726e 2066 756e 6374 696f 6e28 7929 turn function(y) │ │ │ +00014c70: 207b 0a20 2020 2020 2020 2072 6574 7572 {. retur │ │ │ +00014c80: 6e20 7820 3c3d 2079 3b0a 2020 2020 7d3b n x <= y;. }; │ │ │ +00014c90: 0a7d 3b0a 6578 706f 7274 732e 7072 696d .};.exports.prim │ │ │ +00014ca0: 466c 6f61 744c 6573 7320 3d20 6675 6e63 FloatLess = func │ │ │ +00014cb0: 7469 6f6e 2878 2920 7b0a 2020 2020 7265 tion(x) {. re │ │ │ +00014cc0: 7475 726e 2066 756e 6374 696f 6e28 7929 turn function(y) │ │ │ +00014cd0: 207b 0a20 2020 2020 2020 2072 6574 7572 {. retur │ │ │ +00014ce0: 6e20 7820 3c20 793b 0a20 2020 207d 3b0a n x < y;. };. │ │ │ +00014cf0: 7d3b 0a65 7870 6f72 7473 2e70 7269 6d46 };.exports.primF │ │ │ +00014d00: 6c6f 6174 4973 496e 6669 6e69 7465 203d loatIsInfinite = │ │ │ +00014d10: 2066 756e 6374 696f 6e28 7829 207b 0a20 function(x) {. │ │ │ +00014d20: 2020 2072 6574 7572 6e20 214e 756d 6265 return !Numbe │ │ │ +00014d30: 722e 6973 4e61 4e28 7829 2026 2620 214e r.isNaN(x) && !N │ │ │ +00014d40: 756d 6265 722e 6973 4669 6e69 7465 2878 umber.isFinite(x │ │ │ +00014d50: 293b 0a7d 3b0a 6578 706f 7274 732e 7072 );.};.exports.pr │ │ │ +00014d60: 696d 466c 6f61 7449 734e 614e 203d 2066 imFloatIsNaN = f │ │ │ +00014d70: 756e 6374 696f 6e28 7829 207b 0a20 2020 unction(x) {. │ │ │ +00014d80: 2072 6574 7572 6e20 4e75 6d62 6572 2e69 return Number.i │ │ │ +00014d90: 734e 614e 2878 293b 0a7d 3b0a 6578 706f sNaN(x);.};.expo │ │ │ +00014da0: 7274 732e 7072 696d 466c 6f61 7449 734e rts.primFloatIsN │ │ │ +00014db0: 6567 6174 6976 655a 6572 6f20 3d20 6675 egativeZero = fu │ │ │ +00014dc0: 6e63 7469 6f6e 2878 2920 7b0a 2020 2020 nction(x) {. │ │ │ +00014dd0: 7265 7475 726e 204f 626a 6563 742e 6973 return Object.is │ │ │ +00014de0: 2878 2c2d 302e 3029 3b0a 7d3b 0a65 7870 (x,-0.0);.};.exp │ │ │ +00014df0: 6f72 7473 2e70 7269 6d46 6c6f 6174 4973 orts.primFloatIs │ │ │ +00014e00: 5361 6665 496e 7465 6765 7220 3d20 6675 SafeInteger = fu │ │ │ +00014e10: 6e63 7469 6f6e 2878 2920 7b0a 2020 2020 nction(x) {. │ │ │ +00014e20: 7265 7475 726e 204e 756d 6265 722e 6973 return Number.is │ │ │ +00014e30: 5361 6665 496e 7465 6765 7228 7829 3b0a SafeInteger(x);. │ │ │ +00014e40: 7d3b 0a0a 0a2f 2f20 5468 6573 6520 574f };...// These WO │ │ │ +00014e50: 5244 3634 2076 616c 7565 7320 7765 7265 RD64 values were │ │ │ +00014e60: 206f 6274 6169 6e65 6420 7669 6120 6063 obtained via `c │ │ │ +00014e70: 6173 7444 6f75 626c 6554 6f57 6f72 6436 astDoubleToWord6 │ │ │ +00014e80: 3460 2069 6e20 4861 736b 656c 6c3a 0a63 4` in Haskell:.c │ │ │ +00014e90: 6f6e 7374 2057 4f52 4436 345f 504f 535f onst WORD64_POS_ │ │ │ +00014ea0: 494e 4620 203d 2039 3231 3838 3638 3433 INF = 921886843 │ │ │ +00014eb0: 3732 3237 3430 3533 3132 6e3b 0a63 6f6e 7227405312n;.con │ │ │ +00014ec0: 7374 2057 4f52 4436 345f 4e45 475f 494e st WORD64_NEG_IN │ │ │ +00014ed0: 4620 203d 2031 3834 3432 3234 3034 3734 F = 18442240474 │ │ │ +00014ee0: 3038 3231 3831 3132 306e 3b0a 636f 6e73 082181120n;.cons │ │ │ +00014ef0: 7420 574f 5244 3634 5f50 4f53 5f5a 4552 t WORD64_POS_ZER │ │ │ +00014f00: 4f20 3d20 306e 3b0a 636f 6e73 7420 574f O = 0n;.const WO │ │ │ +00014f10: 5244 3634 5f4e 4547 5f5a 4552 4f20 3d20 RD64_NEG_ZERO = │ │ │ +00014f20: 3932 3233 3337 3230 3336 3835 3437 3735 9223372036854775 │ │ │ +00014f30: 3830 386e 3b0a 0a65 7870 6f72 7473 2e70 808n;..exports.p │ │ │ +00014f40: 7269 6d46 6c6f 6174 546f 576f 7264 3634 rimFloatToWord64 │ │ │ +00014f50: 203d 2066 756e 6374 696f 6e28 7829 207b = function(x) { │ │ │ +00014f60: 0a20 2020 2069 6620 2865 7870 6f72 7473 . if (exports │ │ │ +00014f70: 2e70 7269 6d46 6c6f 6174 4973 4e61 4e28 .primFloatIsNaN( │ │ │ +00014f80: 7829 2920 7b0a 2020 2020 2020 2020 7265 x)) {. re │ │ │ +00014f90: 7475 726e 206e 756c 6c3b 0a20 2020 207d turn null;. } │ │ │ +00014fa0: 0a20 2020 2065 6c73 6520 6966 2028 7820 . else if (x │ │ │ +00014fb0: 3c20 302e 3020 2626 2065 7870 6f72 7473 < 0.0 && exports │ │ │ +00014fc0: 2e70 7269 6d46 6c6f 6174 4973 496e 6669 .primFloatIsInfi │ │ │ +00014fd0: 6e69 7465 2878 2929 207b 0a20 2020 2020 nite(x)) {. │ │ │ +00014fe0: 2020 2072 6574 7572 6e20 574f 5244 3634 return WORD64 │ │ │ +00014ff0: 5f4e 4547 5f49 4e46 3b0a 2020 2020 7d0a _NEG_INF;. }. │ │ │ +00015000: 2020 2020 656c 7365 2069 6620 2878 203e else if (x > │ │ │ +00015010: 2030 2e30 2026 2620 6578 706f 7274 732e 0.0 && exports. │ │ │ +00015020: 7072 696d 466c 6f61 7449 7349 6e66 696e primFloatIsInfin │ │ │ +00015030: 6974 6528 7829 2920 7b0a 2020 2020 2020 ite(x)) {. │ │ │ +00015040: 2020 7265 7475 726e 2057 4f52 4436 345f return WORD64_ │ │ │ +00015050: 504f 535f 494e 463b 0a20 2020 207d 0a20 POS_INF;. }. │ │ │ +00015060: 2020 2065 6c73 6520 6966 2028 6578 706f else if (expo │ │ │ +00015070: 7274 732e 7072 696d 466c 6f61 7449 734e rts.primFloatIsN │ │ │ +00015080: 6567 6174 6976 655a 6572 6f28 7829 2920 egativeZero(x)) │ │ │ +00015090: 7b0a 2020 2020 2020 2020 7265 7475 726e {. return │ │ │ +000150a0: 2057 4f52 4436 345f 4e45 475f 5a45 524f WORD64_NEG_ZERO │ │ │ +000150b0: 3b0a 2020 2020 7d0a 2020 2020 656c 7365 ;. }. else │ │ │ +000150c0: 2069 6620 2878 203d 3d20 302e 3029 207b if (x == 0.0) { │ │ │ +000150d0: 0a20 2020 2020 2020 2072 6574 7572 6e20 . return │ │ │ +000150e0: 574f 5244 3634 5f50 4f53 5f5a 4552 4f3b WORD64_POS_ZERO; │ │ │ +000150f0: 0a20 2020 207d 0a20 2020 2065 6c73 6520 . }. else │ │ │ +00015100: 7b0a 2020 2020 2020 2020 7661 7220 6d61 {. var ma │ │ │ +00015110: 6e74 6973 7361 2c20 6578 706f 6e65 6e74 ntissa, exponent │ │ │ +00015120: 3b0a 2020 2020 2020 2020 287b 6d61 6e74 ;. ({mant │ │ │ +00015130: 6973 7361 2c20 6578 706f 6e65 6e74 7d20 issa, exponent} │ │ │ +00015140: 3d20 6578 706f 7274 732e 5f70 7269 6d46 = exports._primF │ │ │ +00015150: 6c6f 6174 4465 636f 6465 2878 2929 3b0a loatDecode(x));. │ │ │ +00015160: 2020 2020 2020 2020 7661 7220 7369 676e var sign │ │ │ +00015170: 203d 204d 6174 682e 7369 676e 286d 616e = Math.sign(man │ │ │ +00015180: 7469 7373 6129 3b0a 2020 2020 2020 2020 tissa);. │ │ │ +00015190: 636f 6e73 6f6c 652e 6c6f 6728 6d61 6e74 console.log(mant │ │ │ +000151a0: 6973 7361 293b 0a20 2020 2020 2020 206d issa);. m │ │ │ +000151b0: 616e 7469 7373 6120 2a3d 2073 6967 6e3b antissa *= sign; │ │ │ +000151c0: 0a20 2020 2020 2020 2073 6967 6e20 3d20 . sign = │ │ │ +000151d0: 2873 6967 6e20 3d3d 3d20 2d31 203f 2022 (sign === -1 ? " │ │ │ +000151e0: 3122 203a 2022 3022 293b 0a20 2020 2020 1" : "0");. │ │ │ +000151f0: 2020 206d 616e 7469 7373 6120 3d20 286d mantissa = (m │ │ │ +00015200: 616e 7469 7373 612e 746f 5374 7269 6e67 antissa.toString │ │ │ +00015210: 2832 2929 2e70 6164 5374 6172 7428 3131 (2)).padStart(11 │ │ │ +00015220: 2c20 2230 2229 3b0a 2020 2020 2020 2020 , "0");. │ │ │ +00015230: 6578 706f 6e65 6e74 203d 2028 6d61 6e74 exponent = (mant │ │ │ +00015240: 6973 7361 2e74 6f53 7472 696e 6728 3229 issa.toString(2) │ │ │ +00015250: 292e 7061 6453 7461 7274 2835 322c 2022 ).padStart(52, " │ │ │ +00015260: 3022 293b 0a20 2020 2020 2020 2072 6574 0");. ret │ │ │ +00015270: 7572 6e20 4269 6749 6e74 2870 6172 7365 urn BigInt(parse │ │ │ +00015280: 496e 7428 7369 676e 202b 206d 616e 7469 Int(sign + manti │ │ │ +00015290: 7373 6120 2b20 6578 706f 6e65 6e74 2c20 ssa + exponent, │ │ │ +000152a0: 3229 293b 0a20 2020 207d 0a7d 3b0a 0a2f 2));. }.};../ │ │ │ +000152b0: 2f20 7072 696d 4e61 7454 6f46 6c6f 6174 / primNatToFloat │ │ │ +000152c0: 203a 204e 6174 202d 3e20 466c 6f61 740a : Nat -> Float. │ │ │ +000152d0: 6578 706f 7274 732e 7072 696d 4e61 7454 exports.primNatT │ │ │ +000152e0: 6f46 6c6f 6174 203d 204e 756d 6265 723b oFloat = Number; │ │ │ +000152f0: 0a0a 2f2f 2070 7269 6d49 6e74 546f 466c ..// primIntToFl │ │ │ +00015300: 6f61 7420 3a20 496e 7420 2d3e 2046 6c6f oat : Int -> Flo │ │ │ +00015310: 6174 0a65 7870 6f72 7473 2e70 7269 6d49 at.exports.primI │ │ │ +00015320: 6e74 546f 466c 6f61 7420 3d20 4e75 6d62 ntToFloat = Numb │ │ │ +00015330: 6572 3b0a 0a2f 2f20 7072 696d 5261 7469 er;..// primRati │ │ │ +00015340: 6f54 6f46 6c6f 6174 203a 2049 6e74 202d oToFloat : Int - │ │ │ +00015350: 3e20 496e 7420 2d3e 2046 6c6f 6174 0a65 > Int -> Float.e │ │ │ +00015360: 7870 6f72 7473 2e70 7269 6d52 6174 696f xports.primRatio │ │ │ +00015370: 546f 466c 6f61 7420 3d20 7820 3d3e 2079 ToFloat = x => y │ │ │ +00015380: 203d 3e20 4e75 6d62 6572 2878 2920 2f20 => Number(x) / │ │ │ +00015390: 4e75 6d62 6572 2879 293b 0a0a 2f2f 2075 Number(y);..// u │ │ │ +000153a0: 7072 696d 466c 6f61 7445 6e63 6f64 6520 primFloatEncode │ │ │ +000153b0: 3a20 2849 6e74 2c20 496e 7429 202d 3e20 : (Int, Int) -> │ │ │ +000153c0: 4d61 7962 6520 466c 6f61 740a 6578 706f Maybe Float.expo │ │ │ +000153d0: 7274 732e 7570 7269 6d46 6c6f 6174 456e rts.uprimFloatEn │ │ │ +000153e0: 636f 6465 203d 2028 782c 2079 2920 3d3e code = (x, y) => │ │ │ +000153f0: 207b 0a20 2063 6f6e 7374 206d 616e 7469 {. const manti │ │ │ +00015400: 7373 6120 3d20 4e75 6d62 6572 2878 293b ssa = Number(x); │ │ │ +00015410: 0a20 2063 6f6e 7374 2065 7870 6f6e 656e . const exponen │ │ │ +00015420: 7420 3d20 4e75 6d62 6572 2879 293b 0a0a t = Number(y);.. │ │ │ +00015430: 2020 6966 2028 4e75 6d62 6572 2e69 7353 if (Number.isS │ │ │ +00015440: 6166 6549 6e74 6567 6572 286d 616e 7469 afeInteger(manti │ │ │ +00015450: 7373 6129 2026 2620 2d31 3032 3420 3c3d ssa) && -1024 <= │ │ │ +00015460: 2065 7870 6f6e 656e 7420 2626 2065 7870 exponent && exp │ │ │ +00015470: 6f6e 656e 7420 3c3d 2031 3032 3429 207b onent <= 1024) { │ │ │ +00015480: 0a20 2020 2072 6574 7572 6e20 6d61 6e74 . return mant │ │ │ +00015490: 6973 7361 202a 2028 3220 2a2a 2065 7870 issa * (2 ** exp │ │ │ +000154a0: 6f6e 656e 7429 3b0a 2020 7d0a 0a20 2065 onent);. }.. e │ │ │ +000154b0: 6c73 6520 7b0a 2020 2020 7265 7475 726e lse {. return │ │ │ +000154c0: 206e 756c 6c3b 0a20 207d 0a7d 3b0a 0a65 null;. }.};..e │ │ │ +000154d0: 7870 6f72 7473 2e70 7269 6d53 686f 7746 xports.primShowF │ │ │ +000154e0: 6c6f 6174 203d 2066 756e 6374 696f 6e28 loat = function( │ │ │ +000154f0: 7829 207b 0a20 2020 202f 2f20 5365 6520 x) {. // See │ │ │ +00015500: 4973 7375 6520 2332 3139 322e 0a20 2020 Issue #2192.. │ │ │ +00015510: 2069 6620 284e 756d 6265 722e 6973 496e if (Number.isIn │ │ │ +00015520: 7465 6765 7228 7829 2920 7b0a 2020 2020 teger(x)) {. │ │ │ +00015530: 2020 2020 6966 2028 6578 706f 7274 732e if (exports. │ │ │ +00015540: 7072 696d 466c 6f61 7449 734e 6567 6174 primFloatIsNegat │ │ │ +00015550: 6976 655a 6572 6f28 7829 2920 7b0a 2020 iveZero(x)) {. │ │ │ +00015560: 2020 2020 2020 2020 2020 7265 7475 726e return │ │ │ +00015570: 2028 222d 302e 3022 293b 0a20 2020 2020 ("-0.0");. │ │ │ +00015580: 2020 207d 2065 6c73 6520 7b0a 2020 2020 } else {. │ │ │ +00015590: 2020 2020 2020 2020 7265 7475 726e 2028 return ( │ │ │ +000155a0: 782e 746f 5374 7269 6e67 2829 202b 2022 x.toString() + " │ │ │ +000155b0: 2e30 2229 3b0a 2020 2020 2020 2020 7d0a .0");. }. │ │ │ +000155c0: 2020 2020 7d20 656c 7365 207b 0a20 2020 } else {. │ │ │ +000155d0: 2020 2020 2072 6574 7572 6e20 782e 746f return x.to │ │ │ +000155e0: 5374 7269 6e67 2829 3b0a 2020 2020 7d0a String();. }. │ │ │ +000155f0: 7d3b 0a65 7870 6f72 7473 2e70 7269 6d46 };.exports.primF │ │ │ +00015600: 6c6f 6174 506c 7573 203d 2066 756e 6374 loatPlus = funct │ │ │ +00015610: 696f 6e28 7829 207b 0a20 2020 2072 6574 ion(x) {. ret │ │ │ +00015620: 7572 6e20 6675 6e63 7469 6f6e 2879 2920 urn function(y) │ │ │ +00015630: 7b0a 2020 2020 2020 2020 7265 7475 726e {. return │ │ │ +00015640: 2078 202b 2079 3b0a 2020 2020 7d3b 0a7d x + y;. };.} │ │ │ +00015650: 3b0a 6578 706f 7274 732e 7072 696d 466c ;.exports.primFl │ │ │ +00015660: 6f61 744d 696e 7573 203d 2066 756e 6374 oatMinus = funct │ │ │ +00015670: 696f 6e28 7829 207b 0a20 2020 2072 6574 ion(x) {. ret │ │ │ +00015680: 7572 6e20 6675 6e63 7469 6f6e 2879 2920 urn function(y) │ │ │ +00015690: 7b0a 2020 2020 2020 2020 7265 7475 726e {. return │ │ │ +000156a0: 2078 202d 2079 3b0a 2020 2020 7d3b 0a7d x - y;. };.} │ │ │ +000156b0: 3b0a 6578 706f 7274 732e 7072 696d 466c ;.exports.primFl │ │ │ +000156c0: 6f61 7454 696d 6573 203d 2066 756e 6374 oatTimes = funct │ │ │ +000156d0: 696f 6e28 7829 207b 0a20 2020 2072 6574 ion(x) {. ret │ │ │ +000156e0: 7572 6e20 6675 6e63 7469 6f6e 2879 2920 urn function(y) │ │ │ +000156f0: 7b0a 2020 2020 2020 2020 7265 7475 726e {. return │ │ │ +00015700: 2078 202a 2079 3b0a 2020 2020 7d3b 0a7d x * y;. };.} │ │ │ +00015710: 3b0a 6578 706f 7274 732e 7072 696d 466c ;.exports.primFl │ │ │ +00015720: 6f61 744e 6567 6174 6520 3d20 6675 6e63 oatNegate = func │ │ │ +00015730: 7469 6f6e 2878 2920 7b0a 2020 2020 7265 tion(x) {. re │ │ │ +00015740: 7475 726e 202d 783b 0a7d 3b0a 6578 706f turn -x;.};.expo │ │ │ +00015750: 7274 732e 7072 696d 466c 6f61 7444 6976 rts.primFloatDiv │ │ │ +00015760: 203d 2066 756e 6374 696f 6e28 7829 207b = function(x) { │ │ │ +00015770: 0a20 2072 6574 7572 6e20 6675 6e63 7469 . return functi │ │ │ +00015780: 6f6e 2879 2920 7b0a 2020 2020 7265 7475 on(y) {. retu │ │ │ +00015790: 726e 2078 202f 2079 3b0a 2020 7d3b 0a7d rn x / y;. };.} │ │ │ +000157a0: 3b0a 6578 706f 7274 732e 7072 696d 466c ;.exports.primFl │ │ │ +000157b0: 6f61 7450 6f77 203d 2066 756e 6374 696f oatPow = functio │ │ │ +000157c0: 6e28 7829 207b 0a20 2020 2072 6574 7572 n(x) {. retur │ │ │ +000157d0: 6e20 6675 6e63 7469 6f6e 2879 2920 7b0a n function(y) {. │ │ │ +000157e0: 2020 2020 2020 2020 7265 7475 726e 2078 return x │ │ │ +000157f0: 202a 2a20 793b 0a20 2020 207d 3b0a 7d3b ** y;. };.}; │ │ │ +00015800: 0a65 7870 6f72 7473 2e70 7269 6d46 6c6f .exports.primFlo │ │ │ +00015810: 6174 5371 7274 203d 2066 756e 6374 696f atSqrt = functio │ │ │ +00015820: 6e28 7829 207b 0a20 2020 2072 6574 7572 n(x) {. retur │ │ │ +00015830: 6e20 4d61 7468 2e73 7172 7428 7829 3b0a n Math.sqrt(x);. │ │ │ +00015840: 7d3b 0a65 7870 6f72 7473 2e70 7269 6d46 };.exports.primF │ │ │ +00015850: 6c6f 6174 4578 7020 3d20 6675 6e63 7469 loatExp = functi │ │ │ +00015860: 6f6e 2878 2920 7b0a 2020 2020 7265 7475 on(x) {. retu │ │ │ +00015870: 726e 204d 6174 682e 6578 7028 7829 3b0a rn Math.exp(x);. │ │ │ +00015880: 7d3b 0a65 7870 6f72 7473 2e70 7269 6d46 };.exports.primF │ │ │ +00015890: 6c6f 6174 4c6f 6720 3d20 6675 6e63 7469 loatLog = functi │ │ │ +000158a0: 6f6e 2878 2920 7b0a 2020 2020 7265 7475 on(x) {. retu │ │ │ +000158b0: 726e 204d 6174 682e 6c6f 6728 7829 3b0a rn Math.log(x);. │ │ │ +000158c0: 7d3b 0a65 7870 6f72 7473 2e70 7269 6d46 };.exports.primF │ │ │ +000158d0: 6c6f 6174 5369 6e20 3d20 6675 6e63 7469 loatSin = functi │ │ │ +000158e0: 6f6e 2878 2920 7b0a 2020 2020 7265 7475 on(x) {. retu │ │ │ +000158f0: 726e 204d 6174 682e 7369 6e28 7829 3b0a rn Math.sin(x);. │ │ │ +00015900: 7d3b 0a65 7870 6f72 7473 2e70 7269 6d46 };.exports.primF │ │ │ +00015910: 6c6f 6174 436f 7320 3d20 6675 6e63 7469 loatCos = functi │ │ │ +00015920: 6f6e 2878 2920 7b0a 2020 2020 7265 7475 on(x) {. retu │ │ │ +00015930: 726e 204d 6174 682e 636f 7328 7829 3b0a rn Math.cos(x);. │ │ │ +00015940: 7d3b 0a65 7870 6f72 7473 2e70 7269 6d46 };.exports.primF │ │ │ +00015950: 6c6f 6174 5461 6e20 3d20 6675 6e63 7469 loatTan = functi │ │ │ +00015960: 6f6e 2878 2920 7b0a 2020 2020 7265 7475 on(x) {. retu │ │ │ +00015970: 726e 204d 6174 682e 7461 6e28 7829 3b0a rn Math.tan(x);. │ │ │ +00015980: 7d3b 0a65 7870 6f72 7473 2e70 7269 6d46 };.exports.primF │ │ │ +00015990: 6c6f 6174 4153 696e 203d 2066 756e 6374 loatASin = funct │ │ │ +000159a0: 696f 6e28 7829 207b 0a20 2020 2072 6574 ion(x) {. ret │ │ │ +000159b0: 7572 6e20 4d61 7468 2e61 7369 6e28 7829 urn Math.asin(x) │ │ │ +000159c0: 3b0a 7d3b 0a65 7870 6f72 7473 2e70 7269 ;.};.exports.pri │ │ │ +000159d0: 6d46 6c6f 6174 4143 6f73 203d 2066 756e mFloatACos = fun │ │ │ +000159e0: 6374 696f 6e28 7829 207b 0a20 2020 2072 ction(x) {. r │ │ │ +000159f0: 6574 7572 6e20 4d61 7468 2e61 636f 7328 eturn Math.acos( │ │ │ +00015a00: 7829 3b0a 7d3b 0a65 7870 6f72 7473 2e70 x);.};.exports.p │ │ │ +00015a10: 7269 6d46 6c6f 6174 4154 616e 203d 2066 rimFloatATan = f │ │ │ +00015a20: 756e 6374 696f 6e28 7829 207b 0a20 2020 unction(x) {. │ │ │ +00015a30: 2072 6574 7572 6e20 4d61 7468 2e61 7461 return Math.ata │ │ │ +00015a40: 6e28 7829 3b0a 7d3b 0a65 7870 6f72 7473 n(x);.};.exports │ │ │ +00015a50: 2e70 7269 6d46 6c6f 6174 4154 616e 3220 .primFloatATan2 │ │ │ +00015a60: 3d20 6675 6e63 7469 6f6e 2878 2920 7b0a = function(x) {. │ │ │ +00015a70: 2020 2020 7265 7475 726e 2066 756e 6374 return funct │ │ │ +00015a80: 696f 6e28 7929 7b0a 2020 2020 2020 2020 ion(y){. │ │ │ +00015a90: 7265 7475 726e 204d 6174 682e 6174 616e return Math.atan │ │ │ +00015aa0: 3228 782c 2079 293b 0a20 2020 207d 3b0a 2(x, y);. };. │ │ │ +00015ab0: 7d3b 0a65 7870 6f72 7473 2e70 7269 6d46 };.exports.primF │ │ │ +00015ac0: 6c6f 6174 5369 6e68 203d 2066 756e 6374 loatSinh = funct │ │ │ +00015ad0: 696f 6e28 7829 207b 0a20 2020 2072 6574 ion(x) {. ret │ │ │ +00015ae0: 7572 6e20 4d61 7468 2e73 696e 6828 7829 urn Math.sinh(x) │ │ │ +00015af0: 3b0a 7d3b 0a65 7870 6f72 7473 2e70 7269 ;.};.exports.pri │ │ │ +00015b00: 6d46 6c6f 6174 436f 7368 203d 2066 756e mFloatCosh = fun │ │ │ +00015b10: 6374 696f 6e28 7829 207b 0a20 2020 2072 ction(x) {. r │ │ │ +00015b20: 6574 7572 6e20 4d61 7468 2e63 6f73 6828 eturn Math.cosh( │ │ │ +00015b30: 7829 3b0a 7d3b 0a65 7870 6f72 7473 2e70 x);.};.exports.p │ │ │ +00015b40: 7269 6d46 6c6f 6174 5461 6e68 203d 2066 rimFloatTanh = f │ │ │ +00015b50: 756e 6374 696f 6e28 7829 207b 0a20 2020 unction(x) {. │ │ │ +00015b60: 2072 6574 7572 6e20 4d61 7468 2e74 616e return Math.tan │ │ │ +00015b70: 6828 7829 3b0a 7d3b 0a65 7870 6f72 7473 h(x);.};.exports │ │ │ +00015b80: 2e70 7269 6d46 6c6f 6174 4153 696e 6820 .primFloatASinh │ │ │ +00015b90: 3d20 6675 6e63 7469 6f6e 2878 2920 7b0a = function(x) {. │ │ │ +00015ba0: 2020 2020 7265 7475 726e 204d 6174 682e return Math. │ │ │ +00015bb0: 6173 696e 6828 7829 3b0a 7d3b 0a65 7870 asinh(x);.};.exp │ │ │ +00015bc0: 6f72 7473 2e70 7269 6d46 6c6f 6174 4143 orts.primFloatAC │ │ │ +00015bd0: 6f73 6820 3d20 6675 6e63 7469 6f6e 2878 osh = function(x │ │ │ +00015be0: 2920 7b0a 2020 2020 7265 7475 726e 204d ) {. return M │ │ │ +00015bf0: 6174 682e 6163 6f73 6828 7829 3b0a 7d3b ath.acosh(x);.}; │ │ │ +00015c00: 0a65 7870 6f72 7473 2e70 7269 6d46 6c6f .exports.primFlo │ │ │ +00015c10: 6174 4154 616e 6820 3d20 6675 6e63 7469 atATanh = functi │ │ │ +00015c20: 6f6e 2878 2920 7b0a 2020 2020 7265 7475 on(x) {. retu │ │ │ +00015c30: 726e 204d 6174 682e 6174 616e 6828 7829 rn Math.atanh(x) │ │ │ +00015c40: 3b0a 7d3b 0a0a 2f2f 2043 7562 6963 616c ;.};..// Cubical │ │ │ +00015c50: 2070 7269 6d69 7469 7665 732e 0a65 7870 primitives..exp │ │ │ +00015c60: 6f72 7473 2e70 7269 6d49 4d69 6e20 3d20 orts.primIMin = │ │ │ +00015c70: 7820 3d3e 2079 203d 3e20 7820 2626 2079 x => y => x && y │ │ │ +00015c80: 3b0a 6578 706f 7274 732e 7072 696d 494d ;.exports.primIM │ │ │ +00015c90: 6178 203d 2078 203d 3e20 7920 3d3e 2078 ax = x => y => x │ │ │ +00015ca0: 207c 7c20 793b 0a65 7870 6f72 7473 2e70 || y;.exports.p │ │ │ +00015cb0: 7269 6d49 4e65 6720 3d20 7820 3d3e 2021 rimINeg = x => ! │ │ │ +00015cc0: 783b 0a65 7870 6f72 7473 2e70 7269 6d50 x;.exports.primP │ │ │ +00015cd0: 6172 7469 616c 203d 205f 203d 3e20 5f20 artial = _ => _ │ │ │ +00015ce0: 3d3e 2078 203d 3e20 783b 0a65 7870 6f72 => x => x;.expor │ │ │ +00015cf0: 7473 2e70 7269 6d50 6172 7469 616c 5020 ts.primPartialP │ │ │ +00015d00: 3d20 5f20 3d3e 205f 203d 3e20 7820 3d3e = _ => _ => x => │ │ │ +00015d10: 2078 3b0a 6578 706f 7274 732e 7072 696d x;.exports.prim │ │ │ +00015d20: 504f 7220 3d20 5f20 3d3e 2069 203d 3e20 POr = _ => i => │ │ │ +00015d30: 5f20 3d3e 205f 203d 3e20 7820 3d3e 2079 _ => _ => x => y │ │ │ +00015d40: 203d 3e20 6920 3f20 7820 3a20 793b 0a65 => i ? x : y;.e │ │ │ +00015d50: 7870 6f72 7473 2e70 7269 6d43 6f6d 7020 xports.primComp │ │ │ +00015d60: 3d20 5f20 3d3e 205f 203d 3e20 5f20 3d3e = _ => _ => _ => │ │ │ +00015d70: 205f 203d 3e20 7820 3d3e 2078 3b0a 6578 _ => x => x;.ex │ │ │ +00015d80: 706f 7274 732e 7072 696d 5472 616e 7370 ports.primTransp │ │ │ +00015d90: 203d 205f 203d 3e20 5f20 3d3e 205f 203d = _ => _ => _ = │ │ │ +00015da0: 3e20 7820 3d3e 2078 3b0a 6578 706f 7274 > x => x;.export │ │ │ +00015db0: 732e 7072 696d 4843 6f6d 7020 3d20 5f20 s.primHComp = _ │ │ │ +00015dc0: 3d3e 205f 203d 3e20 5f20 3d3e 205f 203d => _ => _ => _ = │ │ │ +00015dd0: 3e20 7820 3d3e 2078 3b0a 6578 706f 7274 > x => x;.export │ │ │ +00015de0: 732e 7072 696d 5375 624f 7574 203d 205f s.primSubOut = _ │ │ │ +00015df0: 203d 3e20 5f20 3d3e 205f 203d 3e20 5f20 => _ => _ => _ │ │ │ +00015e00: 3d3e 2078 203d 3e20 783b 0a65 7870 6f72 => x => x;.expor │ │ │ +00015e10: 7473 2e70 7269 6d5f 676c 7565 5520 3d20 ts.prim_glueU = │ │ │ +00015e20: 5f20 3d3e 205f 203d 3e20 5f20 3d3e 205f _ => _ => _ => _ │ │ │ +00015e30: 203d 3e20 5f20 3d3e 2078 203d 3e20 783b => _ => x => x; │ │ │ +00015e40: 0a65 7870 6f72 7473 2e70 7269 6d5f 756e .exports.prim_un │ │ │ +00015e50: 676c 7565 5520 3d20 5f20 3d3e 205f 203d glueU = _ => _ = │ │ │ +00015e60: 3e20 5f20 3d3e 205f 203d 3e20 7820 3d3e > _ => _ => x => │ │ │ +00015e70: 2078 3b0a 6578 706f 7274 732e 7072 696d x;.exports.prim │ │ │ +00015e80: 4661 6365 466f 7261 6c6c 203d 2066 203d FaceForall = f = │ │ │ +00015e90: 3e20 6628 7472 7565 2920 3d3d 2074 7275 > f(true) == tru │ │ │ +00015ea0: 6520 2626 2066 2866 616c 7365 2920 3d3d e && f(false) == │ │ │ +00015eb0: 2066 616c 7365 3b0a 0a2f 2f20 4f74 6865 false;..// Othe │ │ │ +00015ec0: 7220 7374 7566 660a 0a2f 2f20 7072 696d r stuff..// prim │ │ │ +00015ed0: 5365 7120 3a20 2858 2c20 5929 202d 3e20 Seq : (X, Y) -> │ │ │ +00015ee0: 590a 6578 706f 7274 732e 7072 696d 5365 Y.exports.primSe │ │ │ +00015ef0: 7120 3d20 2878 2c20 7929 203d 3e20 793b q = (x, y) => y; │ │ │ +00015f00: 0a0a 2f2f 2075 7072 696d 514e 616d 6545 ..// uprimQNameE │ │ │ +00015f10: 7175 616c 6974 7920 3a20 284e 616d 652c quality : (Name, │ │ │ +00015f20: 204e 616d 6529 202d 3e20 426f 6f6c 0a65 Name) -> Bool.e │ │ │ +00015f30: 7870 6f72 7473 2e75 7072 696d 514e 616d xports.uprimQNam │ │ │ +00015f40: 6545 7175 616c 6974 7920 3d20 2878 2c20 eEquality = (x, │ │ │ +00015f50: 7929 203d 3e20 785b 2769 6427 5d20 3d3d y) => x['id'] == │ │ │ +00015f60: 3d20 795b 2769 6427 5d20 2626 2078 5b27 = y['id'] && x[' │ │ │ +00015f70: 6d6f 6475 6c65 4964 275d 203d 3d3d 2079 moduleId'] === y │ │ │ +00015f80: 5b27 6d6f 6475 6c65 4964 275d 3b0a 0a2f ['moduleId'];../ │ │ │ +00015f90: 2f20 7072 696d 514e 616d 6545 7175 616c / primQNameEqual │ │ │ +00015fa0: 6974 7920 3a20 4e61 6d65 202d 3e20 4e61 ity : Name -> Na │ │ │ +00015fb0: 6d65 202d 3e20 426f 6f6c 0a65 7870 6f72 me -> Bool.expor │ │ │ +00015fc0: 7473 2e70 7269 6d51 4e61 6d65 4571 7561 ts.primQNameEqua │ │ │ +00015fd0: 6c69 7479 203d 2078 203d 3e20 7920 3d3e lity = x => y => │ │ │ +00015fe0: 2065 7870 6f72 7473 2e75 7072 696d 514e exports.uprimQN │ │ │ +00015ff0: 616d 6545 7175 616c 6974 7928 782c 2079 ameEquality(x, y │ │ │ +00016000: 293b 0a0a 2f2f 2070 7269 6d51 4e61 6d65 );..// primQName │ │ │ +00016010: 4c65 7373 203a 204e 616d 6520 2d3e 204e Less : Name -> N │ │ │ +00016020: 616d 6520 2d3e 2042 6f6f 6c0a 6578 706f ame -> Bool.expo │ │ │ +00016030: 7274 732e 7072 696d 514e 616d 654c 6573 rts.primQNameLes │ │ │ +00016040: 7320 3d20 7820 3d3e 2079 203d 3e20 785b s = x => y => x[ │ │ │ +00016050: 2769 6427 5d20 3d3d 3d20 795b 2769 6427 'id'] === y['id' │ │ │ +00016060: 5d20 3f20 785b 276d 6f64 756c 6549 6427 ] ? x['moduleId' │ │ │ +00016070: 5d20 3c20 795b 276d 6f64 756c 6549 6427 ] < y['moduleId' │ │ │ +00016080: 5d20 3a20 785b 2769 6427 5d20 3c20 795b ] : x['id'] < y[ │ │ │ +00016090: 2769 6427 5d3b 0a0a 2f2f 2070 7269 6d53 'id'];..// primS │ │ │ +000160a0: 686f 7751 4e61 6d65 203a 204e 616d 6520 howQName : Name │ │ │ +000160b0: 2d3e 2053 7472 696e 670a 6578 706f 7274 -> String.export │ │ │ +000160c0: 732e 7072 696d 5368 6f77 514e 616d 6520 s.primShowQName │ │ │ +000160d0: 3d20 7820 3d3e 2078 5b27 6e61 6d65 275d = x => x['name'] │ │ │ +000160e0: 3b0a 0a2f 2f20 7072 696d 514e 616d 6546 ;..// primQNameF │ │ │ +000160f0: 6978 6974 7920 3a20 4e61 6d65 202d 3e20 ixity : Name -> │ │ │ +00016100: 4669 7869 7479 0a65 7870 6f72 7473 2e70 Fixity.exports.p │ │ │ +00016110: 7269 6d51 4e61 6d65 4669 7869 7479 203d rimQNameFixity = │ │ │ +00016120: 2078 203d 3e20 785b 2766 6978 6974 7927 x => x['fixity' │ │ │ +00016130: 5d3b 0a0a 2f2f 204d 6574 610a 0a2f 2f20 ];..// Meta..// │ │ │ +00016140: 7072 696d 5368 6f77 4d65 7461 203a 204d primShowMeta : M │ │ │ +00016150: 6574 6120 2d3e 2053 7472 696e 670a 2f2f eta -> String.// │ │ │ +00016160: 2020 2053 686f 756c 6420 6265 206b 6570 Should be kep │ │ │ +00016170: 7420 696e 2073 796e 6320 7769 7468 2076 t in sync with v │ │ │ +00016180: 6572 7369 6f6e 2069 6e20 6070 7269 6d69 ersion in `primi │ │ │ +00016190: 7469 7665 4675 6e63 7469 6f6e 7360 2069 tiveFunctions` i │ │ │ +000161a0: 6e0a 2f2f 2020 2041 6764 612e 5479 7065 n.// Agda.Type │ │ │ +000161b0: 4368 6563 6b69 6e67 2e50 7269 6d69 7469 Checking.Primiti │ │ │ +000161c0: 7665 0a65 7870 6f72 7473 2e70 7269 6d53 ve.exports.primS │ │ │ +000161d0: 686f 774d 6574 6120 3d20 7820 3d3e 2022 howMeta = x => " │ │ │ +000161e0: 5f22 202b 2078 5b27 6964 275d 202b 2022 _" + x['id'] + " │ │ │ +000161f0: 4022 202b 2078 5b27 6d6f 6475 6c65 275d @" + x['module'] │ │ │ +00016200: 3b0a 0a2f 2f20 7072 696d 4d65 7461 546f ;..// primMetaTo │ │ │ +00016210: 4e61 7420 3a20 4d65 7461 202d 3e20 4e61 Nat : Meta -> Na │ │ │ +00016220: 740a 2f2f 2020 2053 686f 756c 6420 6265 t.// Should be │ │ │ +00016230: 206b 6570 7420 696e 2073 796e 6320 7769 kept in sync wi │ │ │ +00016240: 7468 2060 6d65 7461 546f 4e61 7460 2069 th `metaToNat` i │ │ │ +00016250: 6e20 4167 6461 2e54 7970 6543 6865 636b n Agda.TypeCheck │ │ │ +00016260: 696e 672e 5072 696d 6974 6976 650a 6578 ing.Primitive.ex │ │ │ +00016270: 706f 7274 732e 7072 696d 4d65 7461 546f ports.primMetaTo │ │ │ +00016280: 4e61 7420 3d20 7820 3d3e 2078 5b27 6d6f Nat = x => x['mo │ │ │ +00016290: 6475 6c65 275d 202a 2032 5e36 3420 2b20 dule'] * 2^64 + │ │ │ +000162a0: 785b 2769 6427 5d3b 0a0a 2f2f 2070 7269 x['id'];..// pri │ │ │ +000162b0: 6d4d 6574 6145 7175 616c 6974 7920 3a20 mMetaEquality : │ │ │ +000162c0: 4d65 7461 202d 3e20 4d65 7461 202d 3e20 Meta -> Meta -> │ │ │ +000162d0: 426f 6f6c 0a65 7870 6f72 7473 2e70 7269 Bool.exports.pri │ │ │ +000162e0: 6d4d 6574 6145 7175 616c 6974 7920 3d20 mMetaEquality = │ │ │ +000162f0: 7820 3d3e 2079 203d 3e20 785b 2769 6427 x => y => x['id' │ │ │ +00016300: 5d20 3d3d 3d20 795b 2769 6427 5d20 2626 ] === y['id'] && │ │ │ +00016310: 2078 5b27 6d6f 6475 6c65 275d 203d 3d3d x['module'] === │ │ │ +00016320: 2079 5b27 6d6f 6475 6c65 275d 3b0a 0a2f y['module'];../ │ │ │ +00016330: 2f20 7072 696d 4d65 7461 4c65 7373 203a / primMetaLess : │ │ │ +00016340: 204d 6574 6120 2d3e 204d 6574 6120 2d3e Meta -> Meta -> │ │ │ +00016350: 2042 6f6f 6c0a 6578 706f 7274 732e 7072 Bool.exports.pr │ │ │ +00016360: 696d 4d65 7461 4c65 7373 203d 2078 203d imMetaLess = x = │ │ │ +00016370: 3e20 7920 3d3e 2078 5b27 6964 275d 203d > y => x['id'] = │ │ │ +00016380: 3d3d 2079 5b27 6964 275d 203f 2078 5b27 == y['id'] ? x[' │ │ │ +00016390: 6d6f 6475 6c65 275d 203c 2079 5b27 6d6f module'] < y['mo │ │ │ +000163a0: 6475 6c65 275d 203a 2078 5b27 6964 275d dule'] : x['id'] │ │ │ +000163b0: 203c 2079 5b27 6964 275d 3b0a 0a65 7870 < y['id'];..exp │ │ │ +000163c0: 6f72 7420 6465 6661 756c 7420 6578 706f ort default expo │ │ │ +000163d0: 7274 733b 0aa8 b19c d29d a2c0 8b27 e088 rts;.........'.. │ │ │ +000163e0: b5f6 90ff d68f e501 0082 0100 0164 1205 .............d.. │ │ │ +000163f0: 2000 0001 0004 0408 0307 025e 0200 0003 ..........^.... │ │ │ +00016400: 0f00 0505 050b 5f0b 9501 0b61 0906 0100 ......_....a.... │ │ │ +00016410: b50a d282 b7ab e39c c0ae c001 99f3 d5a7 ................ │ │ │ +00016420: ffa4 d3a5 c901 0095 0100 0169 7a05 8280 ...........iz... │ │ │ +00016430: 80e6 0800 0001 0003 0407 0402 0000 030f ................ │ │ │ +00016440: 0009 01b5 0a2f 2f20 436f 7079 7269 6768 .....// Copyrigh │ │ │ +00016450: 7420 3230 3233 2c20 416e 6472 6561 7320 t 2023, Andreas │ │ │ +00016460: 4162 656c 2e0a 2f2f 2046 616c 6c73 2075 Abel..// Falls u │ │ │ +00016470: 6e64 6572 2074 6865 2041 6764 6120 6c69 nder the Agda li │ │ │ +00016480: 6365 6e73 6520 6174 2068 7474 7073 3a2f cense at https:/ │ │ │ +00016490: 2f67 6974 6875 622e 636f 6d2f 6167 6461 /github.com/agda │ │ │ +000164a0: 2f61 6764 612f 626c 6f62 2f6d 6173 7465 /agda/blob/maste │ │ │ +000164b0: 722f 4c49 4345 4e53 450a 0a2f 2f20 5768 r/LICENSE..// Wh │ │ │ +000164c0: 656e 2077 6520 686f 7665 7220 6f76 6572 en we hover over │ │ │ +000164d0: 2061 6e20 4167 6461 2069 6465 6e74 6966 an Agda identif │ │ │ +000164e0: 6965 722c 2077 6520 6869 6768 6c69 6768 ier, we highligh │ │ │ +000164f0: 7420 616c 6c20 6f63 6375 7272 656e 6365 t all occurrence │ │ │ +00016500: 7320 6f66 2074 6869 7320 6964 656e 7469 s of this identi │ │ │ +00016510: 6669 6572 206f 6e20 7468 6520 7061 6765 fier on the page │ │ │ +00016520: 2e0a 2f2f 2054 6f20 7468 6973 2065 6e64 ..// To this end │ │ │ +00016530: 2c20 7765 2063 7265 6174 6520 6120 6d61 , we create a ma │ │ │ +00016540: 7020 6672 6f6d 2069 6465 6e74 6966 6965 p from identifie │ │ │ +00016550: 7220 746f 2061 6c6c 206f 6620 6974 7320 r to all of its │ │ │ +00016560: 6f63 6375 7272 656e 6365 7320 696e 2074 occurrences in t │ │ │ +00016570: 6865 2062 6567 696e 6e69 6e67 2e0a 0a2f he beginning.../ │ │ │ +00016580: 2f20 4120 6469 6374 696f 6e61 7279 2066 / A dictionary f │ │ │ +00016590: 726f 6d20 6872 6566 7320 746f 2027 6127 rom hrefs to 'a' │ │ │ +000165a0: 2d65 6c65 6d65 6e74 7320 7468 6174 2068 -elements that h │ │ │ +000165b0: 6176 6520 7468 6973 2068 7265 662e 0a63 ave this href..c │ │ │ +000165c0: 6f6e 7374 2064 6963 7420 3d20 6e65 7720 onst dict = new │ │ │ +000165d0: 4d61 7028 293b 0a0a 7769 6e64 6f77 2e6f Map();..window.o │ │ │ +000165e0: 6e6c 6f61 6420 3d20 6675 6e63 7469 6f6e nload = function │ │ │ +000165f0: 2028 2920 7b0a 0a20 202f 2f20 4765 7420 () {.. // Get │ │ │ +00016600: 616c 6c20 2761 2720 7461 6773 2077 6974 all 'a' tags wit │ │ │ +00016610: 6820 616e 2027 6872 6566 2720 6174 7472 h an 'href' attr │ │ │ +00016620: 6962 7574 652e 0a20 202f 2f20 5765 2063 ibute.. // We c │ │ │ +00016630: 616c 6c20 7468 6f73 6520 226f 626a 6563 all those "objec │ │ │ +00016640: 7473 222e 0a20 2063 6f6e 7374 206f 626a ts".. const obj │ │ │ +00016650: 7320 203d 2064 6f63 756d 656e 742e 7175 s = document.qu │ │ │ +00016660: 6572 7953 656c 6563 746f 7241 6c6c 2827 erySelectorAll(' │ │ │ +00016670: 615b 6872 6566 5d27 293b 0a0a 2020 2f2f a[href]');.. // │ │ │ +00016680: 2042 7569 6c64 2061 2064 6963 7469 6f6e Build a diction │ │ │ +00016690: 6172 7920 6d61 7070 696e 6720 6120 6872 ary mapping a hr │ │ │ +000166a0: 6566 2074 6f20 6120 7365 7420 6f66 206f ef to a set of o │ │ │ +000166b0: 626a 6563 7473 2074 6861 7420 6861 7665 bjects that have │ │ │ +000166c0: 2074 6869 7320 6872 6566 2e0a 2020 666f this href.. fo │ │ │ +000166d0: 7220 2863 6f6e 7374 206f 626a 206f 6620 r (const obj of │ │ │ +000166e0: 6f62 6a73 2920 7b0a 2020 2020 636f 6e73 objs) {. cons │ │ │ +000166f0: 7420 6b65 7920 3d20 6f62 6a2e 6872 6566 t key = obj.href │ │ │ +00016700: 3b0a 2020 2020 636f 6e73 7420 7365 7420 ;. const set │ │ │ +00016710: 3d20 6469 6374 2e67 6574 286b 6579 2920 = dict.get(key) │ │ │ +00016720: 3f3f 206e 6577 2053 6574 2829 3b0a 2020 ?? new Set();. │ │ │ +00016730: 2020 7365 742e 6164 6428 6f62 6a29 3b0a set.add(obj);. │ │ │ +00016740: 2020 2020 6469 6374 2e73 6574 286b 6579 dict.set(key │ │ │ +00016750: 2c20 7365 7429 3b0a 2020 7d0a 0a20 202f , set);. }.. / │ │ │ +00016760: 2f20 496e 7374 616c 6c20 276f 6e6d 6f75 / Install 'onmou │ │ │ +00016770: 7365 6f76 6572 2720 616e 6420 276f 6e6d seover' and 'onm │ │ │ +00016780: 6f75 7365 6f75 7427 2065 7665 6e74 2068 ouseout' event h │ │ │ +00016790: 616e 646c 6572 7320 666f 7220 616c 6c20 andlers for all │ │ │ +000167a0: 6f62 6a65 6374 732e 0a20 2066 6f72 2028 objects.. for ( │ │ │ +000167b0: 636f 6e73 7420 6f62 6a20 6f66 206f 626a const obj of obj │ │ │ +000167c0: 7329 207b 0a20 2020 202f 2f20 276f 6e6d s) {. // 'onm │ │ │ +000167d0: 6f75 7365 6f76 6572 2720 666f 7220 616e ouseover' for an │ │ │ +000167e0: 206f 626a 6563 7420 6164 6473 2061 7474 object adds att │ │ │ +000167f0: 7269 6275 7465 2027 686f 7665 722d 6869 ribute 'hover-hi │ │ │ +00016800: 6768 6c69 6768 7427 2074 6f20 616c 6c20 ghlight' to all │ │ │ +00016810: 6f62 6a65 6374 7320 7769 7468 2074 6865 objects with the │ │ │ +00016820: 2073 616d 6520 6872 6566 2e0a 2020 2020 same href.. │ │ │ +00016830: 6f62 6a2e 6f6e 6d6f 7573 656f 7665 7220 obj.onmouseover │ │ │ +00016840: 3d20 6675 6e63 7469 6f6e 2028 2920 7b0a = function () {. │ │ │ +00016850: 2020 2020 2020 666f 7220 2863 6f6e 7374 for (const │ │ │ +00016860: 206f 206f 6620 6469 6374 2e67 6574 2874 o of dict.get(t │ │ │ +00016870: 6869 732e 6872 6566 2929 207b 206f 2e63 his.href)) { o.c │ │ │ +00016880: 6c61 7373 4c69 7374 2e61 6464 2827 686f lassList.add('ho │ │ │ +00016890: 7665 722d 6869 6768 6c69 6768 7427 293b ver-highlight'); │ │ │ +000168a0: 207d 0a20 2020 207d 0a20 2020 202f 2f20 }. }. // │ │ │ +000168b0: 276f 6e6d 6f75 7365 6f76 6572 2720 7265 'onmouseover' re │ │ │ +000168c0: 6d6f 7665 7320 7468 6520 6164 6465 6420 moves the added │ │ │ +000168d0: 2768 6f76 6572 2d68 6967 686c 6967 6874 'hover-highlight │ │ │ +000168e0: 2720 6174 7472 6962 7574 6573 2061 6761 ' attributes aga │ │ │ +000168f0: 696e 2e0a 2020 2020 6f62 6a2e 6f6e 6d6f in.. obj.onmo │ │ │ +00016900: 7573 656f 7574 203d 2066 756e 6374 696f useout = functio │ │ │ +00016910: 6e20 2829 207b 0a20 2020 2020 2066 6f72 n () {. for │ │ │ +00016920: 2028 636f 6e73 7420 6f20 6f66 2064 6963 (const o of dic │ │ │ +00016930: 742e 6765 7428 7468 6973 2e68 7265 6629 t.get(this.href) │ │ │ +00016940: 2920 7b20 6f2e 636c 6173 734c 6973 742e ) { o.classList. │ │ │ +00016950: 7265 6d6f 7665 2827 686f 7665 722d 6869 remove('hover-hi │ │ │ +00016960: 6768 6c69 6768 7427 293b 207d 0a20 2020 ghlight'); }. │ │ │ +00016970: 207d 0a20 207d 0a7d 3b0a eec4 a79f efdf }. }.};....... │ │ │ +00016980: a9a1 8101 b0ef d6e0 dfdf 8c94 5d00 7600 ............].v. │ │ │ +00016990: 0169 b605 2000 0001 0004 0408 0307 025e .i.. ..........^ │ │ │ +000169a0: 0200 0003 0f00 0505 050b 5f0b 9601 0b61 .........._....a │ │ │ +000169b0: 0906 0100 b20e 88fa 8ea4 c5cf b8e5 59ae ..............Y. │ │ │ +000169c0: 8292 a7ef b5b0 b24b 0096 0100 0171 1905 .......K.....q.. │ │ │ +000169d0: 8280 80e6 0800 0001 0003 0407 0402 0000 ................ │ │ │ +000169e0: 030f 0009 01b2 0e2f 2a20 4173 7065 6374 ......./* Aspect │ │ │ +000169f0: 732e 202a 2f0a 2e41 6764 6120 2e43 6f6d s. */..Agda .Com │ │ │ +00016a00: 6d65 6e74 2020 2020 2020 207b 2063 6f6c ment { col │ │ │ +00016a10: 6f72 3a20 2342 3232 3232 3220 7d0a 2e41 or: #B22222 }..A │ │ │ +00016a20: 6764 6120 2e42 6163 6b67 726f 756e 6420 gda .Background │ │ │ +00016a30: 2020 207b 7d0a 2e41 6764 6120 2e4d 6172 {}..Agda .Mar │ │ │ +00016a40: 6b75 7020 2020 2020 2020 207b 2063 6f6c kup { col │ │ │ +00016a50: 6f72 3a20 2330 3030 3030 3020 7d0a 2e41 or: #000000 }..A │ │ │ +00016a60: 6764 6120 2e4b 6579 776f 7264 2020 2020 gda .Keyword │ │ │ +00016a70: 2020 207b 2063 6f6c 6f72 3a20 2343 4436 { color: #CD6 │ │ │ +00016a80: 3630 3020 7d0a 2e41 6764 6120 2e53 7472 600 }..Agda .Str │ │ │ +00016a90: 696e 6720 2020 2020 2020 207b 2063 6f6c ing { col │ │ │ +00016aa0: 6f72 3a20 2342 3232 3232 3220 7d0a 2e41 or: #B22222 }..A │ │ │ +00016ab0: 6764 6120 2e4e 756d 6265 7220 2020 2020 gda .Number │ │ │ +00016ac0: 2020 207b 2063 6f6c 6f72 3a20 2341 3032 { color: #A02 │ │ │ +00016ad0: 3046 3020 7d0a 2e41 6764 6120 2e53 796d 0F0 }..Agda .Sym │ │ │ +00016ae0: 626f 6c20 2020 2020 2020 207b 2063 6f6c bol { col │ │ │ +00016af0: 6f72 3a20 2334 3034 3034 3020 7d0a 2e41 or: #404040 }..A │ │ │ +00016b00: 6764 6120 2e50 7269 6d69 7469 7665 5479 gda .PrimitiveTy │ │ │ +00016b10: 7065 207b 2063 6f6c 6f72 3a20 2330 3030 pe { color: #000 │ │ │ +00016b20: 3043 4420 7d0a 2e41 6764 6120 2e50 7261 0CD }..Agda .Pra │ │ │ +00016b30: 676d 6120 2020 2020 2020 207b 2063 6f6c gma { col │ │ │ +00016b40: 6f72 3a20 626c 6163 6b20 2020 7d0a 2e41 or: black }..A │ │ │ +00016b50: 6764 6120 2e4f 7065 7261 746f 7220 2020 gda .Operator │ │ │ +00016b60: 2020 207b 7d0a 2e41 6764 6120 2e48 6f6c {}..Agda .Hol │ │ │ +00016b70: 6520 2020 2020 2020 2020 207b 2062 6163 e { bac │ │ │ +00016b80: 6b67 726f 756e 643a 2023 4234 4545 4234 kground: #B4EEB4 │ │ │ +00016b90: 207d 0a0a 2f2a 204e 616d 654b 696e 6473 }../* NameKinds │ │ │ +00016ba0: 2e20 2a2f 0a2e 4167 6461 202e 426f 756e . */..Agda .Boun │ │ │ +00016bb0: 6420 2020 2020 2020 2020 2020 2020 2020 d │ │ │ +00016bc0: 2020 207b 2063 6f6c 6f72 3a20 626c 6163 { color: blac │ │ │ +00016bd0: 6b20 2020 7d0a 2e41 6764 6120 2e47 656e k }..Agda .Gen │ │ │ +00016be0: 6572 616c 697a 6162 6c65 2020 2020 2020 eralizable │ │ │ +00016bf0: 2020 2020 7b20 636f 6c6f 723a 2062 6c61 { color: bla │ │ │ +00016c00: 636b 2020 207d 0a2e 4167 6461 202e 496e ck }..Agda .In │ │ │ +00016c10: 6475 6374 6976 6543 6f6e 7374 7275 6374 ductiveConstruct │ │ │ +00016c20: 6f72 2020 207b 2063 6f6c 6f72 3a20 2330 or { color: #0 │ │ │ +00016c30: 3038 4230 3020 7d0a 2e41 6764 6120 2e43 08B00 }..Agda .C │ │ │ +00016c40: 6f69 6e64 7563 7469 7665 436f 6e73 7472 oinductiveConstr │ │ │ +00016c50: 7563 746f 7220 7b20 636f 6c6f 723a 2023 uctor { color: # │ │ │ +00016c60: 3842 3735 3030 207d 0a2e 4167 6461 202e 8B7500 }..Agda . │ │ │ +00016c70: 4461 7461 7479 7065 2020 2020 2020 2020 Datatype │ │ │ +00016c80: 2020 2020 2020 207b 2063 6f6c 6f72 3a20 { color: │ │ │ +00016c90: 2330 3030 3043 4420 7d0a 2e41 6764 6120 #0000CD }..Agda │ │ │ +00016ca0: 2e46 6965 6c64 2020 2020 2020 2020 2020 .Field │ │ │ +00016cb0: 2020 2020 2020 2020 7b20 636f 6c6f 723a { color: │ │ │ +00016cc0: 2023 4545 3132 3839 207d 0a2e 4167 6461 #EE1289 }..Agda │ │ │ +00016cd0: 202e 4675 6e63 7469 6f6e 2020 2020 2020 .Function │ │ │ +00016ce0: 2020 2020 2020 2020 207b 2063 6f6c 6f72 { color │ │ │ +00016cf0: 3a20 2330 3030 3043 4420 7d0a 2e41 6764 : #0000CD }..Agd │ │ │ +00016d00: 6120 2e4d 6163 726f 2020 2020 2020 2020 a .Macro │ │ │ +00016d10: 2020 2020 2020 2020 2020 7b20 636f 6c6f { colo │ │ │ +00016d20: 723a 2023 3030 3030 4344 207d 0a2e 4167 r: #0000CD }..Ag │ │ │ +00016d30: 6461 202e 4d6f 6475 6c65 2020 2020 2020 da .Module │ │ │ +00016d40: 2020 2020 2020 2020 2020 207b 2063 6f6c { col │ │ │ +00016d50: 6f72 3a20 2341 3032 3046 3020 7d0a 2e41 or: #A020F0 }..A │ │ │ +00016d60: 6764 6120 2e50 6f73 7475 6c61 7465 2020 gda .Postulate │ │ │ +00016d70: 2020 2020 2020 2020 2020 2020 7b20 636f { co │ │ │ +00016d80: 6c6f 723a 2023 3030 3030 4344 207d 0a2e lor: #0000CD }.. │ │ │ +00016d90: 4167 6461 202e 5072 696d 6974 6976 6520 Agda .Primitive │ │ │ +00016da0: 2020 2020 2020 2020 2020 2020 207b 2063 { c │ │ │ +00016db0: 6f6c 6f72 3a20 2330 3030 3043 4420 7d0a olor: #0000CD }. │ │ │ +00016dc0: 2e41 6764 6120 2e52 6563 6f72 6420 2020 .Agda .Record │ │ │ +00016dd0: 2020 2020 2020 2020 2020 2020 2020 7b20 { │ │ │ +00016de0: 636f 6c6f 723a 2023 3030 3030 4344 207d color: #0000CD } │ │ │ +00016df0: 0a0a 2f2a 204f 7468 6572 4173 7065 6374 ../* OtherAspect │ │ │ +00016e00: 732e 202a 2f0a 2e41 6764 6120 2e44 6f74 s. */..Agda .Dot │ │ │ +00016e10: 7465 6450 6174 7465 726e 2020 2020 2020 tedPattern │ │ │ +00016e20: 2020 7b7d 0a2e 4167 6461 202e 556e 736f {}..Agda .Unso │ │ │ +00016e30: 6c76 6564 4d65 7461 2020 2020 2020 2020 lvedMeta │ │ │ +00016e40: 207b 2063 6f6c 6f72 3a20 626c 6163 6b3b { color: black; │ │ │ +00016e50: 2062 6163 6b67 726f 756e 643a 2079 656c background: yel │ │ │ +00016e60: 6c6f 7720 2020 2020 2020 2020 7d0a 2e41 low }..A │ │ │ +00016e70: 6764 6120 2e55 6e73 6f6c 7665 6443 6f6e gda .UnsolvedCon │ │ │ +00016e80: 7374 7261 696e 7420 2020 7b20 636f 6c6f straint { colo │ │ │ +00016e90: 723a 2062 6c61 636b 3b20 6261 636b 6772 r: black; backgr │ │ │ +00016ea0: 6f75 6e64 3a20 7965 6c6c 6f77 2020 2020 ound: yellow │ │ │ +00016eb0: 2020 2020 207d 0a2e 4167 6461 202e 5465 }..Agda .Te │ │ │ +00016ec0: 726d 696e 6174 696f 6e50 726f 626c 656d rminationProblem │ │ │ +00016ed0: 2020 207b 2063 6f6c 6f72 3a20 626c 6163 { color: blac │ │ │ +00016ee0: 6b3b 2062 6163 6b67 726f 756e 643a 2023 k; background: # │ │ │ +00016ef0: 4646 4130 3741 2020 2020 2020 2020 7d0a FFA07A }. │ │ │ +00016f00: 2e41 6764 6120 2e49 6e63 6f6d 706c 6574 .Agda .Incomplet │ │ │ +00016f10: 6550 6174 7465 726e 2020 2020 7b20 636f ePattern { co │ │ │ +00016f20: 6c6f 723a 2062 6c61 636b 3b20 6261 636b lor: black; back │ │ │ +00016f30: 6772 6f75 6e64 3a20 2346 3544 4542 3320 ground: #F5DEB3 │ │ │ +00016f40: 2020 2020 2020 207d 0a2e 4167 6461 202e }..Agda . │ │ │ +00016f50: 4572 726f 7220 2020 2020 2020 2020 2020 Error │ │ │ +00016f60: 2020 2020 207b 2063 6f6c 6f72 3a20 7265 { color: re │ │ │ +00016f70: 643b 2020 2074 6578 742d 6465 636f 7261 d; text-decora │ │ │ +00016f80: 7469 6f6e 3a20 756e 6465 726c 696e 6520 tion: underline │ │ │ +00016f90: 7d0a 2e41 6764 6120 2e54 7970 6543 6865 }..Agda .TypeChe │ │ │ +00016fa0: 636b 7320 2020 2020 2020 2020 2020 7b20 cks { │ │ │ +00016fb0: 636f 6c6f 723a 2062 6c61 636b 3b20 6261 color: black; ba │ │ │ +00016fc0: 636b 6772 6f75 6e64 3a20 2341 4444 3845 ckground: #ADD8E │ │ │ +00016fd0: 3620 2020 2020 2020 207d 0a2e 4167 6461 6 }..Agda │ │ │ +00016fe0: 202e 4465 6164 636f 6465 2020 2020 2020 .Deadcode │ │ │ +00016ff0: 2020 2020 2020 207b 2063 6f6c 6f72 3a20 { color: │ │ │ +00017000: 626c 6163 6b3b 2062 6163 6b67 726f 756e black; backgroun │ │ │ +00017010: 643a 2023 3830 3830 3830 2020 2020 2020 d: #808080 │ │ │ +00017020: 2020 7d0a 2e41 6764 6120 2e53 6861 646f }..Agda .Shado │ │ │ +00017030: 7769 6e67 496e 5465 6c65 7363 6f70 6520 wingInTelescope │ │ │ +00017040: 7b20 636f 6c6f 723a 2062 6c61 636b 3b20 { color: black; │ │ │ +00017050: 6261 636b 6772 6f75 6e64 3a20 2338 3038 background: #808 │ │ │ +00017060: 3038 3020 2020 2020 2020 207d 0a0a 2f2a 080 }../* │ │ │ +00017070: 2053 7461 6e64 6172 6420 6174 7472 6962 Standard attrib │ │ │ +00017080: 7574 6573 2e20 2a2f 0a2e 4167 6461 2061 utes. */..Agda a │ │ │ +00017090: 207b 2074 6578 742d 6465 636f 7261 7469 { text-decorati │ │ │ +000170a0: 6f6e 3a20 6e6f 6e65 207d 0a2e 4167 6461 on: none }..Agda │ │ │ +000170b0: 2061 5b68 7265 665d 3a68 6f76 6572 207b a[href]:hover { │ │ │ +000170c0: 2062 6163 6b67 726f 756e 642d 636f 6c6f background-colo │ │ │ +000170d0: 723a 2023 4234 4545 4234 207d 0a2e 4167 r: #B4EEB4 }..Ag │ │ │ +000170e0: 6461 205b 6872 6566 5d2e 686f 7665 722d da [href].hover- │ │ │ +000170f0: 6869 6768 6c69 6768 7420 7b20 6261 636b highlight { back │ │ │ +00017100: 6772 6f75 6e64 2d63 6f6c 6f72 3a20 2342 ground-color: #B │ │ │ +00017110: 3445 4542 343b 207d 0aa3 acee e5cd f5c3 4EEB4; }........ │ │ │ +00017120: 88ec 01e4 b0c6 b2fe d89f b22a 008f 0100 ...........*.... │ │ │ +00017130: 0171 6a05 b480 80e6 0800 0000 0520 0000 .qj.......... .. │ │ │ +00017140: 0100 0100 0404 0803 0702 8680 80ec 0802 ................ │ │ │ +00017150: 0000 030f 0005 0505 0b87 8080 ec08 0105 ................ │ │ │ +00017160: 2000 0001 0b92 010b 9701 8594 d5d5 9cd6 ............... │ │ │ +00017170: 9641 e989 dcf6 c4ca e7c0 e901 006a 0001 .A...........j.. │ │ │ +00017180: 71a5 0520 0000 0100 0404 0803 0702 5e02 q.. ..........^. │ │ │ +00017190: 0000 030f 0005 0505 0b5f 0b98 010b 6109 ........._....a. │ │ │ +000171a0: 0601 00f0 0195 dcf7 d49e aced aac4 01fb ................ │ │ │ +000171b0: ee89 92d4 c7d3 f77f 0098 0100 0172 c705 .............r.. │ │ │ +000171c0: 8280 80e6 0800 0001 0003 0407 0402 0000 ................ │ │ │ +000171d0: 030f 0009 01f0 0128 6465 6669 6e65 2d70 .......(define-p │ │ │ +000171e0: 6163 6b61 6765 2022 6167 6461 322d 6d6f ackage "agda2-mo │ │ │ +000171f0: 6465 2220 2232 2e38 2e30 220a 2020 2269 de" "2.8.0". "i │ │ │ +00017200: 6e74 6572 6163 7469 7665 2064 6576 656c nteractive devel │ │ │ +00017210: 6f70 6d65 6e74 2066 6f72 2041 6764 612c opment for Agda, │ │ │ +00017220: 2061 2064 6570 656e 6465 6e74 6c79 2074 a dependently t │ │ │ +00017230: 7970 6564 2066 756e 6374 696f 6e61 6c20 yped functional │ │ │ +00017240: 7072 6f67 7261 6d6d 696e 6720 6c61 6e67 programming lang │ │ │ +00017250: 7561 6765 220a 2020 2728 2865 6d61 6373 uage". '((emacs │ │ │ +00017260: 2022 3234 2e33 2229 2929 203b 3b20 6465 "24.3"))) ;; de │ │ │ +00017270: 7020 6465 6673 2066 6f72 2060 616e 6e6f p defs for `anno │ │ │ +00017280: 7461 7469 6f6e 2e65 6c60 2061 6e64 2060 tation.el` and ` │ │ │ +00017290: 6572 692e 656c 6020 6172 6520 6e6f 7420 eri.el` are not │ │ │ +000172a0: 7265 7175 6972 6564 2069 6620 7468 6579 required if they │ │ │ +000172b0: 2061 7265 2070 6163 6b61 6765 6420 746f are packaged to │ │ │ +000172c0: 6765 7468 6572 0acb 8df1 97fc 92cc af92 gether.......... │ │ │ +000172d0: 01e4 adc0 a692 c4a2 9f2c 005b 0001 7304 .........,.[..s. │ │ │ +000172e0: 0520 0000 0100 0404 0803 0702 5e02 0000 . ..........^... │ │ │ +000172f0: 030f 0005 0505 0b5f 0b99 010b 6109 0601 ......._....a... │ │ │ +00017300: 0095 9605 a5e7 c9e2 82a3 bda9 af01 d18c ................ │ │ │ +00017310: c5a2 8acf d3e2 ac01 0099 0100 02be 4d05 ..............M. │ │ │ +00017320: 8280 80e6 0800 0001 0003 0407 0402 0000 ................ │ │ │ +00017330: 030f 0009 0195 9605 3b3b 202d 2a2d 206c ........;; -*- l │ │ │ +00017340: 6578 6963 616c 2d62 696e 6469 6e67 3a20 exical-binding: │ │ │ +00017350: 7420 2d2a 2d0a 3b3b 3b20 6167 6461 322d t -*-.;;; agda2- │ │ │ +00017360: 6d6f 6465 2e65 6c20 2d2d 2d20 4d61 6a6f mode.el --- Majo │ │ │ +00017370: 7220 6d6f 6465 2066 6f72 2041 6764 610a r mode for Agda. │ │ │ +00017380: 3b3b 2053 5044 582d 4c69 6365 6e73 652d ;; SPDX-License- │ │ │ +00017390: 4964 656e 7469 6669 6572 3a20 4d49 5420 Identifier: MIT │ │ │ +000173a0: 4c69 6365 6e73 650a 0a3b 3b3b 2043 6f6d License..;;; Com │ │ │ +000173b0: 6d65 6e74 6172 793a 0a0a 3b3b 2041 206d mentary:..;; A m │ │ │ +000173c0: 616a 6f72 206d 6f64 6520 666f 7220 6564 ajor mode for ed │ │ │ +000173d0: 6974 696e 6720 4167 6461 2028 7468 6520 iting Agda (the │ │ │ +000173e0: 6465 7065 6e64 656e 746c 7920 7479 7065 dependently type │ │ │ +000173f0: 6420 7072 6f67 7261 6d6d 696e 670a 3b3b d programming.;; │ │ │ +00017400: 206c 616e 6775 6167 6520 2f20 696e 7465 language / inte │ │ │ +00017410: 7261 6374 6976 6520 7468 656f 7265 6d20 ractive theorem │ │ │ +00017420: 7072 6f76 6572 292e 0a3b 3b0a 3b3b 204d prover)..;;.;; M │ │ │ +00017430: 616a 6f72 2066 6561 7475 7265 7320 696e ajor features in │ │ │ +00017440: 636c 7564 653a 0a3b 3b0a 3b3b 202d 2073 clude:.;;.;; - s │ │ │ +00017450: 796e 7461 7820 6869 6768 6c69 6768 7469 yntax highlighti │ │ │ +00017460: 6e67 2e0a 3b3b 0a3b 3b20 2d20 6f6e 2074 ng..;;.;; - on t │ │ │ +00017470: 6865 2066 6c79 2041 6764 6120 696e 7465 he fly Agda inte │ │ │ +00017480: 7270 7265 7461 7469 6f6e 2e0a 3b3b 0a3b rpretation..;;.; │ │ │ +00017490: 3b20 2d20 676f 616c 2d64 7269 7665 6e20 ; - goal-driven │ │ │ +000174a0: 6465 7665 6c6f 706d 656e 740a 3b3b 0a3b development.;;.; │ │ │ +000174b0: 3b20 2d20 696e 7465 7261 6374 6976 6520 ; - interactive │ │ │ +000174c0: 6361 7365 2d73 706c 6974 7469 6e67 0a3b case-splitting.; │ │ │ +000174d0: 3b0a 3b3b 202d 2070 726f 6f66 2073 6561 ;.;; - proof sea │ │ │ +000174e0: 7263 680a 3b3b 0a3b 3b20 2d20 696e 7075 rch.;;.;; - inpu │ │ │ +000174f0: 7420 7375 7070 6f72 7420 2866 6f72 2075 t support (for u │ │ │ +00017500: 7466 3820 6368 6172 6163 7465 7273 290a tf8 characters). │ │ │ +00017510: 3b3b 0a3b 3b20 7365 6520 6874 7470 733a ;;.;; see https: │ │ │ +00017520: 2f2f 6167 6461 2e72 6561 6474 6865 646f //agda.readthedo │ │ │ +00017530: 6373 2e69 6f2f 2066 6f72 206d 6f72 6520 cs.io/ for more │ │ │ +00017540: 696e 666f 726d 6174 696f 6e0a 0a3b 3b3b information..;;; │ │ │ 00017550: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00017560: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00017570: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00017580: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ -00017590: 3b3b 3b3b 0a3b 3b3b 3b20 4465 7065 6e64 ;;;;.;;;; Depend │ │ │ -000175a0: 656e 6379 0a0a 0a3b 3b3b 2043 6f64 653a ency...;;; Code: │ │ │ -000175b0: 0a0a 2864 6566 7661 7220 6167 6461 322d ..(defvar agda2- │ │ │ -000175c0: 7665 7273 696f 6e20 2232 2e38 2e30 220a version "2.8.0". │ │ │ -000175d0: 2020 2254 6865 2076 6572 7369 6f6e 206f "The version o │ │ │ -000175e0: 6620 7468 6520 4167 6461 206d 6f64 652e f the Agda mode. │ │ │ -000175f0: 0a4e 6f74 6520 7468 6174 2074 6865 2073 .Note that the s │ │ │ -00017600: 616d 6520 7665 7273 696f 6e20 6f66 2074 ame version of t │ │ │ -00017610: 6865 2041 6764 6120 6578 6563 7574 6162 he Agda executab │ │ │ -00017620: 6c65 206d 7573 7420 6265 2075 7365 642e le must be used. │ │ │ -00017630: 2229 0a0a 2872 6571 7569 7265 2027 636c ")..(require 'cl │ │ │ -00017640: 2d6c 6962 290a 2872 6571 7569 7265 2027 -lib).(require ' │ │ │ -00017650: 636f 6d70 696c 6529 0a28 7265 7175 6972 compile).(requir │ │ │ -00017660: 6520 2774 696d 652d 6461 7465 290a 2872 e 'time-date).(r │ │ │ -00017670: 6571 7569 7265 2027 6572 6929 0a28 7265 equire 'eri).(re │ │ │ -00017680: 7175 6972 6520 2761 6e6e 6f74 6174 696f quire 'annotatio │ │ │ -00017690: 6e29 0a28 7265 7175 6972 6520 2766 6f6e n).(require 'fon │ │ │ -000176a0: 7473 6574 290a 2872 6571 7569 7265 2027 tset).(require ' │ │ │ -000176b0: 6167 6461 2d69 6e70 7574 290a 2872 6571 agda-input).(req │ │ │ -000176c0: 7569 7265 2027 6167 6461 3229 0a28 7265 uire 'agda2).(re │ │ │ -000176d0: 7175 6972 6520 2761 6764 6132 2d68 6967 quire 'agda2-hig │ │ │ -000176e0: 686c 6967 6874 290a 2872 6571 7569 7265 hlight).(require │ │ │ -000176f0: 2027 6167 6461 322d 6162 6272 6576 7329 'agda2-abbrevs) │ │ │ -00017700: 0a28 7265 7175 6972 6520 2761 6764 6132 .(require 'agda2 │ │ │ -00017710: 2d71 7565 7565 290a 2865 7661 6c2d 616e -queue).(eval-an │ │ │ -00017720: 642d 636f 6d70 696c 650a 2020 3b3b 204c d-compile. ;; L │ │ │ -00017730: 6f61 6420 6669 6c6c 6164 6170 742c 2069 oad filladapt, i │ │ │ -00017740: 6620 6974 2069 7320 696e 7374 616c 6c65 f it is installe │ │ │ -00017750: 642e 0a20 2028 636f 6e64 6974 696f 6e2d d.. (condition- │ │ │ -00017760: 6361 7365 206e 696c 0a20 2020 2020 2028 case nil. ( │ │ │ -00017770: 7265 7175 6972 6520 2766 696c 6c61 6461 require 'fillada │ │ │ -00017780: 7074 290a 2020 2020 2865 7272 6f72 206e pt). (error n │ │ │ -00017790: 696c 2929 0a20 2028 756e 6c65 7373 2028 il)). (unless ( │ │ │ -000177a0: 6662 6f75 6e64 7020 276f 7665 726c 6179 fboundp 'overlay │ │ │ -000177b0: 732d 696e 2920 286c 6f61 6420 226f 7665 s-in) (load "ove │ │ │ -000177c0: 726c 6179 2229 2920 3b20 666f 7220 5865 rlay")) ; for Xe │ │ │ -000177d0: 6d61 6373 0a20 2028 756e 6c65 7373 2028 macs. (unless ( │ │ │ -000177e0: 6662 6f75 6e64 7020 2770 726f 7065 7274 fboundp 'propert │ │ │ -000177f0: 697a 6529 2020 2020 2020 2020 2020 2020 ize) │ │ │ -00017800: 2020 2020 2020 2020 3b20 666f 7220 5865 ; for Xe │ │ │ -00017810: 6d61 6373 2032 312e 340a 2020 2020 3b3b macs 21.4. ;; │ │ │ -00017820: 2046 4958 4d45 3a20 5845 6d61 6373 2d32 FIXME: XEmacs-2 │ │ │ -00017830: 312e 3420 2870 6174 6368 2032 3229 2064 1.4 (patch 22) d │ │ │ -00017840: 6f65 7320 6861 7665 2060 7072 6f70 6572 oes have `proper │ │ │ -00017850: 7469 7a65 2720 616e 6420 736f 2064 6f65 tize' and so doe │ │ │ -00017860: 7320 456d 6163 732d 3232 0a20 2020 203b s Emacs-22. ; │ │ │ -00017870: 3b20 2861 6e64 2061 6764 6132 2d6d 6f64 ; (and agda2-mod │ │ │ -00017880: 6520 646f 6573 6e27 7420 776f 726b 2069 e doesn't work i │ │ │ -00017890: 6e20 456d 6163 732d 3231 2c20 4146 4149 n Emacs-21, AFAI │ │ │ -000178a0: 4354 292e 0a20 2020 2028 6465 6675 6e20 CT).. (defun │ │ │ -000178b0: 7072 6f70 6572 7469 7a65 2028 7374 7269 propertize (stri │ │ │ -000178c0: 6e67 2026 7265 7374 2070 726f 7065 7274 ng &rest propert │ │ │ -000178d0: 6965 7329 0a20 2020 2020 2022 5265 7475 ies). "Retu │ │ │ -000178e0: 726e 2061 2063 6f70 7920 6f66 2053 5452 rn a copy of STR │ │ │ -000178f0: 494e 4720 7769 7468 2074 6578 7420 7072 ING with text pr │ │ │ -00017900: 6f70 6572 7469 6573 2061 6464 6564 2e0a operties added.. │ │ │ -00017910: 4669 7273 7420 6172 6775 6d65 6e74 2069 First argument i │ │ │ -00017920: 7320 7468 6520 7374 7269 6e67 2074 6f20 s the string to │ │ │ -00017930: 636f 7079 2e0a 5265 6d61 696e 696e 6720 copy..Remaining │ │ │ -00017940: 6172 6775 6d65 6e74 7320 666f 726d 2061 arguments form a │ │ │ -00017950: 2073 6571 7565 6e63 6520 6f66 2050 524f sequence of PRO │ │ │ -00017960: 5045 5254 5920 5641 4c55 4520 7061 6972 PERTY VALUE pair │ │ │ -00017970: 7320 666f 7220 7465 7874 0a70 726f 7065 s for text.prope │ │ │ -00017980: 7274 6965 7320 746f 2061 6464 2074 6f20 rties to add to │ │ │ -00017990: 7468 6520 7265 7375 6c74 2e22 0a20 2020 the result.". │ │ │ -000179a0: 2020 2028 6c65 7420 2828 7374 7220 2863 (let ((str (c │ │ │ -000179b0: 6f70 792d 7365 7175 656e 6365 2073 7472 opy-sequence str │ │ │ -000179c0: 696e 6729 2929 0a20 2020 2020 2020 2028 ing))). ( │ │ │ -000179d0: 6164 642d 7465 7874 2d70 726f 7065 7274 add-text-propert │ │ │ -000179e0: 6965 7320 3020 286c 656e 6774 6820 7374 ies 0 (length st │ │ │ -000179f0: 7229 2070 726f 7065 7274 6965 7320 7374 r) properties st │ │ │ -00017a00: 7229 0a20 2020 2020 2020 2073 7472 2929 r). str)) │ │ │ -00017a10: 290a 2020 2875 6e6c 6573 7320 2866 626f ). (unless (fbo │ │ │ -00017a20: 756e 6470 2027 7072 6f67 2d6d 6f64 6529 undp 'prog-mode) │ │ │ -00017a30: 2020 2020 2020 2020 2020 3b46 6f72 2045 ;For E │ │ │ -00017a40: 6d61 6373 3c32 342e 0a20 2020 2028 6465 macs<24.. (de │ │ │ -00017a50: 6661 6c69 6173 2027 7072 6f67 2d6d 6f64 falias 'prog-mod │ │ │ -00017a60: 6520 2766 756e 6461 6d65 6e74 616c 2d6d e 'fundamental-m │ │ │ -00017a70: 6f64 6529 2929 0a0a 3b3b 3b3b 3b3b 3b3b ode)))..;;;;;;;; │ │ │ +00017590: 3b3b 3b3b 3b0a 3b3b 3b3b 2044 6570 656e ;;;;;.;;;; Depen │ │ │ +000175a0: 6465 6e63 790a 0a0a 3b3b 3b20 436f 6465 dency...;;; Code │ │ │ +000175b0: 3a0a 0a28 6465 6676 6172 2061 6764 6132 :..(defvar agda2 │ │ │ +000175c0: 2d76 6572 7369 6f6e 2022 322e 382e 3022 -version "2.8.0" │ │ │ +000175d0: 0a20 2022 5468 6520 7665 7273 696f 6e20 . "The version │ │ │ +000175e0: 6f66 2074 6865 2041 6764 6120 6d6f 6465 of the Agda mode │ │ │ +000175f0: 2e0a 4e6f 7465 2074 6861 7420 7468 6520 ..Note that the │ │ │ +00017600: 7361 6d65 2076 6572 7369 6f6e 206f 6620 same version of │ │ │ +00017610: 7468 6520 4167 6461 2065 7865 6375 7461 the Agda executa │ │ │ +00017620: 626c 6520 6d75 7374 2062 6520 7573 6564 ble must be used │ │ │ +00017630: 2e22 290a 0a28 7265 7175 6972 6520 2763 .")..(require 'c │ │ │ +00017640: 6c2d 6c69 6229 0a28 7265 7175 6972 6520 l-lib).(require │ │ │ +00017650: 2763 6f6d 7069 6c65 290a 2872 6571 7569 'compile).(requi │ │ │ +00017660: 7265 2027 7469 6d65 2d64 6174 6529 0a28 re 'time-date).( │ │ │ +00017670: 7265 7175 6972 6520 2765 7269 290a 2872 require 'eri).(r │ │ │ +00017680: 6571 7569 7265 2027 616e 6e6f 7461 7469 equire 'annotati │ │ │ +00017690: 6f6e 290a 2872 6571 7569 7265 2027 666f on).(require 'fo │ │ │ +000176a0: 6e74 7365 7429 0a28 7265 7175 6972 6520 ntset).(require │ │ │ +000176b0: 2761 6764 612d 696e 7075 7429 0a28 7265 'agda-input).(re │ │ │ +000176c0: 7175 6972 6520 2761 6764 6132 290a 2872 quire 'agda2).(r │ │ │ +000176d0: 6571 7569 7265 2027 6167 6461 322d 6869 equire 'agda2-hi │ │ │ +000176e0: 6768 6c69 6768 7429 0a28 7265 7175 6972 ghlight).(requir │ │ │ +000176f0: 6520 2761 6764 6132 2d61 6262 7265 7673 e 'agda2-abbrevs │ │ │ +00017700: 290a 2872 6571 7569 7265 2027 6167 6461 ).(require 'agda │ │ │ +00017710: 322d 7175 6575 6529 0a28 6576 616c 2d61 2-queue).(eval-a │ │ │ +00017720: 6e64 2d63 6f6d 7069 6c65 0a20 203b 3b20 nd-compile. ;; │ │ │ +00017730: 4c6f 6164 2066 696c 6c61 6461 7074 2c20 Load filladapt, │ │ │ +00017740: 6966 2069 7420 6973 2069 6e73 7461 6c6c if it is install │ │ │ +00017750: 6564 2e0a 2020 2863 6f6e 6469 7469 6f6e ed.. (condition │ │ │ +00017760: 2d63 6173 6520 6e69 6c0a 2020 2020 2020 -case nil. │ │ │ +00017770: 2872 6571 7569 7265 2027 6669 6c6c 6164 (require 'fillad │ │ │ +00017780: 6170 7429 0a20 2020 2028 6572 726f 7220 apt). (error │ │ │ +00017790: 6e69 6c29 290a 2020 2875 6e6c 6573 7320 nil)). (unless │ │ │ +000177a0: 2866 626f 756e 6470 2027 6f76 6572 6c61 (fboundp 'overla │ │ │ +000177b0: 7973 2d69 6e29 2028 6c6f 6164 2022 6f76 ys-in) (load "ov │ │ │ +000177c0: 6572 6c61 7922 2929 203b 2066 6f72 2058 erlay")) ; for X │ │ │ +000177d0: 656d 6163 730a 2020 2875 6e6c 6573 7320 emacs. (unless │ │ │ +000177e0: 2866 626f 756e 6470 2027 7072 6f70 6572 (fboundp 'proper │ │ │ +000177f0: 7469 7a65 2920 2020 2020 2020 2020 2020 tize) │ │ │ +00017800: 2020 2020 2020 2020 203b 2066 6f72 2058 ; for X │ │ │ +00017810: 656d 6163 7320 3231 2e34 0a20 2020 203b emacs 21.4. ; │ │ │ +00017820: 3b20 4649 584d 453a 2058 456d 6163 732d ; FIXME: XEmacs- │ │ │ +00017830: 3231 2e34 2028 7061 7463 6820 3232 2920 21.4 (patch 22) │ │ │ +00017840: 646f 6573 2068 6176 6520 6070 726f 7065 does have `prope │ │ │ +00017850: 7274 697a 6527 2061 6e64 2073 6f20 646f rtize' and so do │ │ │ +00017860: 6573 2045 6d61 6373 2d32 320a 2020 2020 es Emacs-22. │ │ │ +00017870: 3b3b 2028 616e 6420 6167 6461 322d 6d6f ;; (and agda2-mo │ │ │ +00017880: 6465 2064 6f65 736e 2774 2077 6f72 6b20 de doesn't work │ │ │ +00017890: 696e 2045 6d61 6373 2d32 312c 2041 4641 in Emacs-21, AFA │ │ │ +000178a0: 4943 5429 2e0a 2020 2020 2864 6566 756e ICT).. (defun │ │ │ +000178b0: 2070 726f 7065 7274 697a 6520 2873 7472 propertize (str │ │ │ +000178c0: 696e 6720 2672 6573 7420 7072 6f70 6572 ing &rest proper │ │ │ +000178d0: 7469 6573 290a 2020 2020 2020 2252 6574 ties). "Ret │ │ │ +000178e0: 7572 6e20 6120 636f 7079 206f 6620 5354 urn a copy of ST │ │ │ +000178f0: 5249 4e47 2077 6974 6820 7465 7874 2070 RING with text p │ │ │ +00017900: 726f 7065 7274 6965 7320 6164 6465 642e roperties added. │ │ │ +00017910: 0a46 6972 7374 2061 7267 756d 656e 7420 .First argument │ │ │ +00017920: 6973 2074 6865 2073 7472 696e 6720 746f is the string to │ │ │ +00017930: 2063 6f70 792e 0a52 656d 6169 6e69 6e67 copy..Remaining │ │ │ +00017940: 2061 7267 756d 656e 7473 2066 6f72 6d20 arguments form │ │ │ +00017950: 6120 7365 7175 656e 6365 206f 6620 5052 a sequence of PR │ │ │ +00017960: 4f50 4552 5459 2056 414c 5545 2070 6169 OPERTY VALUE pai │ │ │ +00017970: 7273 2066 6f72 2074 6578 740a 7072 6f70 rs for text.prop │ │ │ +00017980: 6572 7469 6573 2074 6f20 6164 6420 746f erties to add to │ │ │ +00017990: 2074 6865 2072 6573 756c 742e 220a 2020 the result.". │ │ │ +000179a0: 2020 2020 286c 6574 2028 2873 7472 2028 (let ((str ( │ │ │ +000179b0: 636f 7079 2d73 6571 7565 6e63 6520 7374 copy-sequence st │ │ │ +000179c0: 7269 6e67 2929 290a 2020 2020 2020 2020 ring))). │ │ │ +000179d0: 2861 6464 2d74 6578 742d 7072 6f70 6572 (add-text-proper │ │ │ +000179e0: 7469 6573 2030 2028 6c65 6e67 7468 2073 ties 0 (length s │ │ │ +000179f0: 7472 2920 7072 6f70 6572 7469 6573 2073 tr) properties s │ │ │ +00017a00: 7472 290a 2020 2020 2020 2020 7374 7229 tr). str) │ │ │ +00017a10: 2929 0a20 2028 756e 6c65 7373 2028 6662 )). (unless (fb │ │ │ +00017a20: 6f75 6e64 7020 2770 726f 672d 6d6f 6465 oundp 'prog-mode │ │ │ +00017a30: 2920 2020 2020 2020 2020 203b 466f 7220 ) ;For │ │ │ +00017a40: 456d 6163 733c 3234 2e0a 2020 2020 2864 Emacs<24.. (d │ │ │ +00017a50: 6566 616c 6961 7320 2770 726f 672d 6d6f efalias 'prog-mo │ │ │ +00017a60: 6465 2027 6675 6e64 616d 656e 7461 6c2d de 'fundamental- │ │ │ +00017a70: 6d6f 6465 2929 290a 0a3b 3b3b 3b3b 3b3b mode)))..;;;;;;; │ │ │ 00017a80: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00017a90: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00017aa0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00017ab0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ -00017ac0: 0a3b 3b3b 3b20 5574 696c 6974 6965 730a .;;;; Utilities. │ │ │ -00017ad0: 0a28 6465 666d 6163 726f 2061 6764 6132 .(defmacro agda2 │ │ │ -00017ae0: 2d6c 6574 2028 7661 7262 696e 6420 6675 -let (varbind fu │ │ │ -00017af0: 6e63 6269 6e64 2026 7265 7374 2062 6f64 ncbind &rest bod │ │ │ -00017b00: 7929 0a20 2022 4578 7061 6e64 7320 746f y). "Expands to │ │ │ -00017b10: 2028 6c65 742a 2056 4152 4249 4e44 2028 (let* VARBIND ( │ │ │ -00017b20: 636c 2d6c 6162 656c 7320 4655 4e43 4249 cl-labels FUNCBI │ │ │ -00017b30: 4e44 2042 4f44 592e 2e2e 2929 2e0a 4f72 ND BODY...))..Or │ │ │ -00017b40: 2070 6f73 7369 626c 7920 286c 6574 2a20 possibly (let* │ │ │ -00017b50: 5641 5242 494e 4420 286c 6162 656c 7320 VARBIND (labels │ │ │ -00017b60: 4655 4e43 4249 4e44 2042 4f44 592e 2e2e FUNCBIND BODY... │ │ │ -00017b70: 2929 2e22 0a20 2028 6465 636c 6172 6520 )).". (declare │ │ │ -00017b80: 2864 6562 7567 2028 2826 7265 7374 205b (debug ((&rest [ │ │ │ -00017b90: 266f 7220 7379 6d62 6f6c 7020 2873 796d &or symbolp (sym │ │ │ -00017ba0: 626f 6c70 2066 6f72 6d29 5d29 0a20 2020 bolp form)]). │ │ │ +00017ac0: 3b0a 3b3b 3b3b 2055 7469 6c69 7469 6573 ;.;;;; Utilities │ │ │ +00017ad0: 0a0a 2864 6566 6d61 6372 6f20 6167 6461 ..(defmacro agda │ │ │ +00017ae0: 322d 6c65 7420 2876 6172 6269 6e64 2066 2-let (varbind f │ │ │ +00017af0: 756e 6362 696e 6420 2672 6573 7420 626f uncbind &rest bo │ │ │ +00017b00: 6479 290a 2020 2245 7870 616e 6473 2074 dy). "Expands t │ │ │ +00017b10: 6f20 286c 6574 2a20 5641 5242 494e 4420 o (let* VARBIND │ │ │ +00017b20: 2863 6c2d 6c61 6265 6c73 2046 554e 4342 (cl-labels FUNCB │ │ │ +00017b30: 494e 4420 424f 4459 2e2e 2e29 292e 0a4f IND BODY...))..O │ │ │ +00017b40: 7220 706f 7373 6962 6c79 2028 6c65 742a r possibly (let* │ │ │ +00017b50: 2056 4152 4249 4e44 2028 6c61 6265 6c73 VARBIND (labels │ │ │ +00017b60: 2046 554e 4342 494e 4420 424f 4459 2e2e FUNCBIND BODY.. │ │ │ +00017b70: 2e29 292e 220a 2020 2864 6563 6c61 7265 .)).". (declare │ │ │ +00017b80: 2028 6465 6275 6720 2828 2672 6573 7420 (debug ((&rest │ │ │ +00017b90: 5b26 6f72 2073 796d 626f 6c70 2028 7379 [&or symbolp (sy │ │ │ +00017ba0: 6d62 6f6c 7020 666f 726d 295d 290a 2020 mbolp form)]). │ │ │ 00017bb0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00017bc0: 2826 7265 7374 2028 636c 2d64 6566 756e (&rest (cl-defun │ │ │ -00017bd0: 2929 0a20 2020 2020 2020 2020 2020 2020 )). │ │ │ -00017be0: 2020 2020 2020 626f 6479 2929 0a20 2020 body)). │ │ │ -00017bf0: 2020 2020 2020 2020 2869 6e64 656e 7420 (indent │ │ │ -00017c00: 3229 290a 2020 3b3b 2055 7365 2063 6c2d 2)). ;; Use cl- │ │ │ -00017c10: 6c61 6265 6c73 2069 6620 6176 6169 6c61 labels if availa │ │ │ -00017c20: 626c 6520 746f 2061 766f 6964 206f 6273 ble to avoid obs │ │ │ -00017c30: 6f6c 6573 6365 6e63 6520 7761 726e 696e olescence warnin │ │ │ -00017c40: 6773 2e0a 2020 6028 6c65 742a 202c 7661 gs.. `(let* ,va │ │ │ -00017c50: 7262 696e 6420 282c 2869 6620 2866 626f rbind (,(if (fbo │ │ │ -00017c60: 756e 6470 2027 636c 2d6c 6162 656c 7329 undp 'cl-labels) │ │ │ -00017c70: 2027 636c 2d6c 6162 656c 7320 276c 6162 'cl-labels 'lab │ │ │ -00017c80: 656c 7329 202c 6675 6e63 6269 6e64 202c els) ,funcbind , │ │ │ -00017c90: 4062 6f64 7929 2929 0a0a 3b3b 3b3b 3b3b @body)))..;;;;;; │ │ │ +00017bc0: 2028 2672 6573 7420 2863 6c2d 6465 6675 (&rest (cl-defu │ │ │ +00017bd0: 6e29 290a 2020 2020 2020 2020 2020 2020 n)). │ │ │ +00017be0: 2020 2020 2020 2062 6f64 7929 290a 2020 body)). │ │ │ +00017bf0: 2020 2020 2020 2020 2028 696e 6465 6e74 (indent │ │ │ +00017c00: 2032 2929 0a20 203b 3b20 5573 6520 636c 2)). ;; Use cl │ │ │ +00017c10: 2d6c 6162 656c 7320 6966 2061 7661 696c -labels if avail │ │ │ +00017c20: 6162 6c65 2074 6f20 6176 6f69 6420 6f62 able to avoid ob │ │ │ +00017c30: 736f 6c65 7363 656e 6365 2077 6172 6e69 solescence warni │ │ │ +00017c40: 6e67 732e 0a20 2060 286c 6574 2a20 2c76 ngs.. `(let* ,v │ │ │ +00017c50: 6172 6269 6e64 2028 2c28 6966 2028 6662 arbind (,(if (fb │ │ │ +00017c60: 6f75 6e64 7020 2763 6c2d 6c61 6265 6c73 oundp 'cl-labels │ │ │ +00017c70: 2920 2763 6c2d 6c61 6265 6c73 2027 6c61 ) 'cl-labels 'la │ │ │ +00017c80: 6265 6c73 2920 2c66 756e 6362 696e 6420 bels) ,funcbind │ │ │ +00017c90: 2c40 626f 6479 2929 290a 0a3b 3b3b 3b3b ,@body)))..;;;;; │ │ │ 00017ca0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00017cb0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00017cc0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00017cd0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ -00017ce0: 3b3b 0a3b 3b3b 3b20 5573 6572 206f 7074 ;;.;;;; User opt │ │ │ -00017cf0: 696f 6e73 0a0a 2864 6566 6772 6f75 7020 ions..(defgroup │ │ │ -00017d00: 6167 6461 3220 6e69 6c0a 2020 224d 616a agda2 nil. "Maj │ │ │ -00017d10: 6f72 206d 6f64 6520 666f 7220 696e 7465 or mode for inte │ │ │ -00017d20: 7261 6374 6976 656c 7920 6465 7665 6c6f ractively develo │ │ │ -00017d30: 7069 6e67 2041 6764 6120 7072 6f67 7261 ping Agda progra │ │ │ -00017d40: 6d73 2e22 0a20 203a 6772 6f75 7020 276c ms.". :group 'l │ │ │ -00017d50: 616e 6775 6167 6573 290a 0a28 6465 6663 anguages)..(defc │ │ │ -00017d60: 7573 746f 6d20 6167 6461 322d 7072 6f67 ustom agda2-prog │ │ │ -00017d70: 7261 6d2d 6e61 6d65 2022 6167 6461 220a ram-name "agda". │ │ │ -00017d80: 2020 2254 6865 206e 616d 6520 6f66 2074 "The name of t │ │ │ -00017d90: 6865 2041 6764 6120 6578 6563 7574 6162 he Agda executab │ │ │ -00017da0: 6c65 2e22 0a20 203a 7479 7065 2027 7374 le.". :type 'st │ │ │ -00017db0: 7269 6e67 0a20 203a 6772 6f75 7020 2761 ring. :group 'a │ │ │ -00017dc0: 6764 6132 290a 0a28 6465 6663 7573 746f gda2)..(defcusto │ │ │ -00017dd0: 6d20 6167 6461 322d 7072 6f67 7261 6d2d m agda2-program- │ │ │ -00017de0: 6172 6773 206e 696c 0a20 2022 436f 6d6d args nil. "Comm │ │ │ -00017df0: 616e 642d 6c69 6e65 2061 7267 756d 656e and-line argumen │ │ │ -00017e00: 7473 2067 6976 656e 2074 6f20 7468 6520 ts given to the │ │ │ -00017e10: 4167 6461 2065 7865 6375 7461 626c 6520 Agda executable │ │ │ -00017e20: 286f 6e65 2070 6572 2073 7472 696e 6729 (one per string) │ │ │ -00017e30: 2e0a 0a4e 6f74 653a 2044 6f20 6e6f 7420 ...Note: Do not │ │ │ -00017e40: 6769 7665 2073 6576 6572 616c 2061 7267 give several arg │ │ │ -00017e50: 756d 656e 7473 2069 6e20 7468 6520 7361 uments in the sa │ │ │ -00017e60: 6d65 2073 7472 696e 672e 0a0a 5468 6520 me string...The │ │ │ -00017e70: 666c 6167 205c 222d 2d69 6e74 6572 6163 flag \"--interac │ │ │ -00017e80: 7469 6f6e 5c22 2069 7320 616c 7761 7973 tion\" is always │ │ │ -00017e90: 2069 6e63 6c75 6465 6420 6173 2074 6865 included as the │ │ │ -00017ea0: 2066 6972 7374 0a61 7267 756d 656e 742c first.argument, │ │ │ -00017eb0: 2061 6e64 2064 6f65 7320 6e6f 7420 6e65 and does not ne │ │ │ -00017ec0: 6564 2074 6f20 6265 206c 6973 7465 6420 ed to be listed │ │ │ -00017ed0: 6865 7265 2e22 0a20 203a 7479 7065 2027 here.". :type ' │ │ │ -00017ee0: 2872 6570 6561 7420 7374 7269 6e67 290a (repeat string). │ │ │ -00017ef0: 2020 3a67 726f 7570 2027 6167 6461 3229 :group 'agda2) │ │ │ -00017f00: 0a0a 2864 6566 7661 7220 6167 6461 322d ..(defvar agda2- │ │ │ -00017f10: 6261 636b 656e 6473 2027 2822 4748 4322 backends '("GHC" │ │ │ -00017f20: 2022 4748 434e 6f4d 6169 6e22 2022 4a53 "GHCNoMain" "JS │ │ │ -00017f30: 2220 224c 6154 6558 2220 2251 7569 636b " "LaTeX" "Quick │ │ │ -00017f40: 4c61 5465 5822 2022 4854 4d4c 2229 0a20 LaTeX" "HTML"). │ │ │ -00017f50: 2022 436f 6d70 696c 6174 696f 6e20 6261 "Compilation ba │ │ │ -00017f60: 636b 656e 6473 2e22 290a 0a28 6465 6663 ckends.")..(defc │ │ │ -00017f70: 7573 746f 6d20 6167 6461 322d 6261 636b ustom agda2-back │ │ │ -00017f80: 656e 640a 2020 6e69 6c0a 2020 2254 6865 end. nil. "The │ │ │ -00017f90: 2062 6163 6b65 6e64 2075 7365 6420 746f backend used to │ │ │ -00017fa0: 2063 6f6d 7069 6c65 2041 6764 6120 7072 compile Agda pr │ │ │ -00017fb0: 6f67 7261 6d73 2028 6e69 6c20 746f 2061 ograms (nil to a │ │ │ -00017fc0: 736b 2065 7665 7279 2074 696d 6529 2e22 sk every time)." │ │ │ -00017fd0: 0a20 203a 7479 7065 2027 7374 7269 6e67 . :type 'string │ │ │ -00017fe0: 0a20 203a 6772 6f75 7020 2761 6764 6132 . :group 'agda2 │ │ │ -00017ff0: 290a 0a28 6465 6663 7573 746f 6d20 6167 )..(defcustom ag │ │ │ -00018000: 6461 322d 6261 636b 656e 642d 6465 6661 da2-backend-defa │ │ │ -00018010: 756c 742d 7061 796c 6f61 640a 2020 6e69 ult-payload. ni │ │ │ -00018020: 6c0a 2020 2254 6865 2064 6566 6175 6c74 l. "The default │ │ │ -00018030: 2070 6179 6c6f 6164 2066 6f72 2069 6e74 payload for int │ │ │ -00018040: 6572 6163 7469 7665 2062 6163 6b65 6e64 eractive backend │ │ │ -00018050: 2063 6f6d 6d61 6e64 7320 286e 696c 2074 commands (nil t │ │ │ -00018060: 6f20 6173 6b20 6576 6572 7920 7469 6d65 o ask every time │ │ │ -00018070: 292e 220a 2020 3a74 7970 6520 2773 7472 ).". :type 'str │ │ │ -00018080: 696e 670a 2020 3a67 726f 7570 2027 6167 ing. :group 'ag │ │ │ -00018090: 6461 3229 0a0a 2864 6566 6375 7374 6f6d da2)..(defcustom │ │ │ -000180a0: 2061 6764 6132 2d69 6e66 6f72 6d61 7469 agda2-informati │ │ │ -000180b0: 6f6e 2d77 696e 646f 772d 6d61 782d 6865 on-window-max-he │ │ │ -000180c0: 6967 6874 0a20 2030 2e33 350a 2020 2254 ight. 0.35. "T │ │ │ -000180d0: 6865 206d 6178 696d 756d 2068 6569 6768 he maximum heigh │ │ │ -000180e0: 7420 6f66 2074 6865 2069 6e66 6f72 6d61 t of the informa │ │ │ -000180f0: 7469 6f6e 2077 696e 646f 772e 0a41 206d tion window..A m │ │ │ -00018100: 756c 7469 706c 6520 6f66 2074 6865 2066 ultiple of the f │ │ │ -00018110: 7261 6d65 2068 6569 6768 742e 220a 2020 rame height.". │ │ │ -00018120: 3a74 7970 6520 276e 756d 6265 720a 2020 :type 'number. │ │ │ -00018130: 3a67 726f 7570 2027 6167 6461 3229 0a0a :group 'agda2).. │ │ │ -00018140: 2864 6566 6375 7374 6f6d 2061 6764 6132 (defcustom agda2 │ │ │ -00018150: 2d66 6f6e 7473 6574 2d6e 616d 650a 2020 -fontset-name. │ │ │ -00018160: 2875 6e6c 6573 7320 286f 7220 2865 7120 (unless (or (eq │ │ │ -00018170: 7769 6e64 6f77 2d73 7973 7465 6d20 276d window-system 'm │ │ │ -00018180: 6163 290a 2020 2020 2020 2020 2020 2020 ac). │ │ │ -00018190: 2020 3b3b 2045 6d61 6373 2d32 3320 7573 ;; Emacs-23 us │ │ │ -000181a0: 6573 2061 2072 6576 616d 7065 6420 666f es a revamped fo │ │ │ -000181b0: 6e74 2065 6e67 696e 6520 7768 6963 6820 nt engine which │ │ │ -000181c0: 7368 6f75 6c64 0a20 2020 2020 2020 2020 should. │ │ │ -000181d0: 2020 2020 203b 3b20 6d61 6b65 2061 6764 ;; make agd │ │ │ -000181e0: 6132 2d66 6f6e 7473 6574 2d6e 616d 6520 a2-fontset-name │ │ │ -000181f0: 756e 6e65 6365 7373 6172 7920 696e 206d unnecessary in m │ │ │ -00018200: 6f73 7420 6361 7365 732e 0a20 2020 2020 ost cases.. │ │ │ -00018210: 2020 2020 2020 2020 203b 3b20 416e 6420 ;; And │ │ │ -00018220: 6966 2069 7420 7475 726e 7320 6f75 7420 if it turns out │ │ │ -00018230: 746f 2062 6520 6e65 6365 7373 6172 792c to be necessary, │ │ │ -00018240: 2077 6520 7368 6f75 6c64 0a20 2020 2020 we should. │ │ │ -00018250: 2020 2020 2020 2020 203b 3b20 7072 6f62 ;; prob │ │ │ -00018260: 6162 6c79 2075 7365 2066 6163 652d 7265 ably use face-re │ │ │ -00018270: 6d61 7070 696e 672d 616c 6973 7420 7261 mapping-alist ra │ │ │ -00018280: 7468 6572 2074 6861 6e0a 2020 2020 2020 ther than. │ │ │ -00018290: 2020 2020 2020 2020 3b3b 2073 6574 2d66 ;; set-f │ │ │ -000182a0: 7261 6d65 2d66 6f6e 7420 736f 2074 6865 rame-font so the │ │ │ -000182b0: 2073 7065 6369 616c 2066 6f6e 7420 6f6e special font on │ │ │ -000182c0: 6c79 2061 7070 6c69 6573 2074 6f0a 2020 ly applies to. │ │ │ -000182d0: 2020 2020 2020 2020 2020 2020 3b3b 2041 ;; A │ │ │ -000182e0: 6764 6120 6275 6666 6572 732c 2061 6e64 gda buffers, and │ │ │ -000182f0: 2073 6f20 6974 2061 7070 6c69 6573 2069 so it applies i │ │ │ -00018300: 6e20 616c 6c20 6672 616d 6573 2077 6865 n all frames whe │ │ │ -00018310: 7265 0a20 2020 2020 2020 2020 2020 2020 re. │ │ │ -00018320: 203b 3b20 4167 6461 2062 7566 6665 7273 ;; Agda buffers │ │ │ -00018330: 2061 7265 2064 6973 706c 6179 6564 2e0a are displayed.. │ │ │ -00018340: 2020 2020 2020 2020 2020 2020 2020 2862 (b │ │ │ -00018350: 6f75 6e64 7020 2766 6163 652d 7265 6d61 oundp 'face-rema │ │ │ -00018360: 7070 696e 672d 616c 6973 7429 290a 2020 pping-alist)). │ │ │ -00018370: 2020 2266 6f6e 7473 6574 2d61 6764 6132 "fontset-agda2 │ │ │ -00018380: 2229 0a20 2022 4465 6661 756c 7420 666f "). "Default fo │ │ │ -00018390: 6e74 2074 6f20 7573 6520 696e 2074 6865 nt to use in the │ │ │ -000183a0: 2073 656c 6563 7465 6420 6672 616d 6520 selected frame │ │ │ -000183b0: 7768 656e 2061 6374 6976 6174 696e 6720 when activating │ │ │ -000183c0: 7468 6520 4167 6461 206d 6f64 652e 0a54 the Agda mode..T │ │ │ -000183d0: 6869 7320 6973 206f 6e6c 7920 7573 6564 his is only used │ │ │ -000183e0: 2069 6620 6974 2773 206e 6f6e 2d6e 696c if it's non-nil │ │ │ -000183f0: 2061 6e64 2045 6d61 6373 2069 7320 6e6f and Emacs is no │ │ │ -00018400: 7420 7275 6e6e 696e 6720 696e 2061 0a74 t running in a.t │ │ │ -00018410: 6572 6d69 6e61 6c2e 0a0a 4e6f 7465 2074 erminal...Note t │ │ │ -00018420: 6861 7420 7468 6973 2073 6574 7469 6e67 hat this setting │ │ │ -00018430: 2028 6966 206e 6f6e 2d6e 696c 2920 6166 (if non-nil) af │ │ │ -00018440: 6665 6374 7320 6e6f 6e2d 4167 6461 2062 fects non-Agda b │ │ │ -00018450: 7566 6665 7273 2061 730a 7765 6c6c 2c20 uffers as.well, │ │ │ -00018460: 616e 6420 7468 6174 2079 6f75 2068 6176 and that you hav │ │ │ -00018470: 6520 746f 2072 6573 7461 7274 2045 6d61 e to restart Ema │ │ │ -00018480: 6373 2069 6620 796f 7520 7761 6e74 2073 cs if you want s │ │ │ -00018490: 6574 7469 6e67 7320 746f 0a74 6869 7320 ettings to.this │ │ │ -000184a0: 7661 7269 6162 6c65 2074 6f20 7461 6b65 variable to take │ │ │ -000184b0: 2065 6666 6563 742e 220a 2020 3a74 7970 effect.". :typ │ │ │ -000184c0: 6520 2728 6368 6f69 6365 2028 7374 7269 e '(choice (stri │ │ │ -000184d0: 6e67 203a 7461 6720 2246 6f6e 7473 6574 ng :tag "Fontset │ │ │ -000184e0: 206e 616d 6522 290a 2020 2020 2020 2020 name"). │ │ │ -000184f0: 2020 2020 2020 2020 2028 636f 6e73 7420 (const │ │ │ -00018500: 3a74 6167 2022 446f 206e 6f74 2063 6861 :tag "Do not cha │ │ │ -00018510: 6e67 6520 7468 6520 666f 6e74 2220 6e69 nge the font" ni │ │ │ -00018520: 6c29 290a 2020 3a67 726f 7570 2027 6167 l)). :group 'ag │ │ │ -00018530: 6461 3229 0a0a 2864 6566 6375 7374 6f6d da2)..(defcustom │ │ │ -00018540: 2061 6764 6132 2d66 6f6e 7473 6574 2d73 agda2-fontset-s │ │ │ -00018550: 7065 632d 6f66 2d66 6f6e 7473 6574 2d61 pec-of-fontset-a │ │ │ -00018560: 6764 6132 0a20 2020 2022 2d2a 2d66 6978 gda2. "-*-fix │ │ │ -00018570: 6564 2d4d 6564 6975 6d2d 722d 4e6f 726d ed-Medium-r-Norm │ │ │ -00018580: 616c 2d2a 2d31 382d 2a2d 2a2d 2a2d 632d al-*-18-*-*-*-c- │ │ │ -00018590: 2a2d 666f 6e74 7365 742d 6167 6461 322c *-fontset-agda2, │ │ │ -000185a0: 0a20 2020 2061 7363 6969 3a2d 4d69 7363 . ascii:-Misc │ │ │ -000185b0: 2d46 6978 6564 2d4d 6564 6975 6d2d 522d -Fixed-Medium-R- │ │ │ -000185c0: 4e6f 726d 616c 2d2d 3138 2d31 3230 2d31 Normal--18-120-1 │ │ │ -000185d0: 3030 2d31 3030 2d43 2d39 302d 4953 4f38 00-100-C-90-ISO8 │ │ │ -000185e0: 3835 392d 312c 0a20 2020 206c 6174 696e 859-1,. latin │ │ │ -000185f0: 2d69 736f 3838 3539 2d32 3a2d 2a2d 4669 -iso8859-2:-*-Fi │ │ │ -00018600: 7865 642d 2a2d 722d 2a2d 2a2d 3138 2d2a xed-*-r-*-*-18-* │ │ │ -00018610: 2d2a 2d2a 2d63 2d2a 2d69 736f 3838 3539 -*-*-c-*-iso8859 │ │ │ -00018620: 2d32 2c0a 2020 2020 6c61 7469 6e2d 6973 -2,. latin-is │ │ │ -00018630: 6f38 3835 392d 333a 2d2a 2d46 6978 6564 o8859-3:-*-Fixed │ │ │ -00018640: 2d2a 2d72 2d2a 2d2a 2d31 382d 2a2d 2a2d -*-r-*-*-18-*-*- │ │ │ -00018650: 2a2d 632d 2a2d 6973 6f38 3835 392d 332c *-c-*-iso8859-3, │ │ │ -00018660: 0a20 2020 206c 6174 696e 2d69 736f 3838 . latin-iso88 │ │ │ -00018670: 3539 2d34 3a2d 2a2d 4669 7865 642d 2a2d 59-4:-*-Fixed-*- │ │ │ -00018680: 722d 2a2d 2a2d 3138 2d2a 2d2a 2d2a 2d63 r-*-*-18-*-*-*-c │ │ │ -00018690: 2d2a 2d69 736f 3838 3539 2d34 2c0a 2020 -*-iso8859-4,. │ │ │ -000186a0: 2020 6379 7269 6c6c 6963 2d69 736f 3838 cyrillic-iso88 │ │ │ -000186b0: 3539 2d35 3a2d 2a2d 4669 7865 642d 2a2d 59-5:-*-Fixed-*- │ │ │ -000186c0: 722d 2a2d 2a2d 3138 2d2a 2d2a 2d2a 2d63 r-*-*-18-*-*-*-c │ │ │ -000186d0: 2d2a 2d69 736f 3838 3539 2d35 2c0a 2020 -*-iso8859-5,. │ │ │ -000186e0: 2020 6772 6565 6b2d 6973 6f38 3835 392d greek-iso8859- │ │ │ -000186f0: 373a 2d2a 2d46 6978 6564 2d2a 2d72 2d2a 7:-*-Fixed-*-r-* │ │ │ -00018700: 2d2a 2d31 382d 2a2d 2a2d 2a2d 632d 2a2d -*-18-*-*-*-c-*- │ │ │ -00018710: 6973 6f38 3835 392d 372c 0a20 2020 206c iso8859-7,. l │ │ │ -00018720: 6174 696e 2d69 736f 3838 3539 2d39 3a2d atin-iso8859-9:- │ │ │ -00018730: 2a2d 4669 7865 642d 2a2d 722d 2a2d 2a2d *-Fixed-*-r-*-*- │ │ │ -00018740: 3138 2d2a 2d2a 2d2a 2d63 2d2a 2d69 736f 18-*-*-*-c-*-iso │ │ │ -00018750: 3838 3539 2d39 2c0a 2020 2020 6d75 6c65 8859-9,. mule │ │ │ -00018760: 2d75 6e69 636f 6465 2d30 3130 302d 3234 -unicode-0100-24 │ │ │ -00018770: 6666 3a2d 4d69 7363 2d46 6978 6564 2d4d ff:-Misc-Fixed-M │ │ │ -00018780: 6564 6975 6d2d 522d 4e6f 726d 616c 2d2d edium-R-Normal-- │ │ │ -00018790: 3138 2d31 3230 2d31 3030 2d31 3030 2d43 18-120-100-100-C │ │ │ -000187a0: 2d39 302d 4953 4f31 3036 3436 2d31 2c0a -90-ISO10646-1,. │ │ │ -000187b0: 2020 2020 6d75 6c65 2d75 6e69 636f 6465 mule-unicode │ │ │ -000187c0: 2d32 3530 302d 3333 6666 3a2d 4d69 7363 -2500-33ff:-Misc │ │ │ -000187d0: 2d46 6978 6564 2d4d 6564 6975 6d2d 522d -Fixed-Medium-R- │ │ │ -000187e0: 4e6f 726d 616c 2d2d 3138 2d31 3230 2d31 Normal--18-120-1 │ │ │ -000187f0: 3030 2d31 3030 2d43 2d39 302d 4953 4f31 00-100-C-90-ISO1 │ │ │ -00018800: 3036 3436 2d31 2c0a 2020 2020 6d75 6c65 0646-1,. mule │ │ │ -00018810: 2d75 6e69 636f 6465 2d65 3030 302d 6666 -unicode-e000-ff │ │ │ -00018820: 6666 3a2d 4d69 7363 2d46 6978 6564 2d4d ff:-Misc-Fixed-M │ │ │ -00018830: 6564 6975 6d2d 522d 4e6f 726d 616c 2d2d edium-R-Normal-- │ │ │ -00018840: 3138 2d31 3230 2d31 3030 2d31 3030 2d43 18-120-100-100-C │ │ │ -00018850: 2d39 302d 4953 4f31 3036 3436 2d31 2c0a -90-ISO10646-1,. │ │ │ -00018860: 2020 2020 6a61 7061 6e65 7365 2d6a 6973 japanese-jis │ │ │ -00018870: 7830 3230 383a 2d4d 6973 632d 4669 7865 x0208:-Misc-Fixe │ │ │ -00018880: 642d 4d65 6469 756d 2d52 2d4e 6f72 6d61 d-Medium-R-Norma │ │ │ -00018890: 6c2d 6a61 2d31 382d 2a2d 2a2d 2a2d 432d l-ja-18-*-*-*-C- │ │ │ -000188a0: 2a2d 4a49 5358 3032 3038 2e31 3939 302d *-JISX0208.1990- │ │ │ -000188b0: 302c 0a20 2020 206a 6170 616e 6573 652d 0,. japanese- │ │ │ -000188c0: 6a69 7378 3032 3132 3a2d 4d69 7363 2d46 jisx0212:-Misc-F │ │ │ -000188d0: 6978 6564 2d4d 6564 6975 6d2d 522d 4e6f ixed-Medium-R-No │ │ │ -000188e0: 726d 616c 2d6a 612d 3138 2d2a 2d2a 2d2a rmal-ja-18-*-*-* │ │ │ -000188f0: 2d43 2d2a 2d4a 4953 5830 3231 322e 3139 -C-*-JISX0212.19 │ │ │ -00018900: 3930 2d30 2c0a 2020 2020 7468 6169 2d74 90-0,. thai-t │ │ │ -00018910: 6973 3632 303a 2d4d 6973 632d 4669 7865 is620:-Misc-Fixe │ │ │ -00018920: 642d 4d65 6469 756d 2d52 2d4e 6f72 6d61 d-Medium-R-Norma │ │ │ -00018930: 6c2d 2d32 342d 3234 302d 3732 2d37 322d l--24-240-72-72- │ │ │ -00018940: 432d 3132 302d 5449 5336 3230 2e32 3532 C-120-TIS620.252 │ │ │ -00018950: 392d 312c 0a20 2020 206c 616f 3a2d 4d69 9-1,. lao:-Mi │ │ │ -00018960: 7363 2d46 6978 6564 2d4d 6564 6975 6d2d sc-Fixed-Medium- │ │ │ -00018970: 522d 4e6f 726d 616c 2d2d 3234 2d32 3430 R-Normal--24-240 │ │ │ -00018980: 2d37 322d 3732 2d43 2d31 3230 2d4d 756c -72-72-C-120-Mul │ │ │ -00018990: 654c 616f 2d31 2c0a 2020 2020 7469 6265 eLao-1,. tibe │ │ │ -000189a0: 7461 6e3a 2d54 6962 4d64 5841 2d66 6978 tan:-TibMdXA-fix │ │ │ -000189b0: 6564 2d6d 6564 6975 6d2d 722d 6e6f 726d ed-medium-r-norm │ │ │ -000189c0: 616c 2d2d 3136 2d31 3630 2d37 322d 3732 al--16-160-72-72 │ │ │ -000189d0: 2d6d 2d31 3630 2d4d 756c 6554 6962 6574 -m-160-MuleTibet │ │ │ -000189e0: 616e 2d30 2c0a 2020 2020 7469 6265 7461 an-0,. tibeta │ │ │ -000189f0: 6e2d 312d 636f 6c75 6d6e 3a2d 5469 624d n-1-column:-TibM │ │ │ -00018a00: 6458 412d 6669 7865 642d 6d65 6469 756d dXA-fixed-medium │ │ │ -00018a10: 2d72 2d6e 6f72 6d61 6c2d 2d31 362d 3136 -r-normal--16-16 │ │ │ -00018a20: 302d 3732 2d37 322d 6d2d 3830 2d4d 756c 0-72-72-m-80-Mul │ │ │ -00018a30: 6554 6962 6574 616e 2d31 2c0a 2020 2020 eTibetan-1,. │ │ │ -00018a40: 6b6f 7265 616e 2d6b 7363 3536 3031 3a2d korean-ksc5601:- │ │ │ -00018a50: 4461 6577 6f6f 2d4d 696e 6368 6f2d 4d65 Daewoo-Mincho-Me │ │ │ -00018a60: 6469 756d 2d52 2d4e 6f72 6d61 6c2d 2d31 dium-R-Normal--1 │ │ │ -00018a70: 362d 3132 302d 3130 302d 3130 302d 432d 6-120-100-100-C- │ │ │ -00018a80: 3136 302d 4b53 4335 3630 312e 3139 3837 160-KSC5601.1987 │ │ │ -00018a90: 2d30 2c0a 2020 2020 6368 696e 6573 652d -0,. chinese- │ │ │ -00018aa0: 6762 3233 3132 3a2d 4953 4153 2d46 616e gb2312:-ISAS-Fan │ │ │ -00018ab0: 6773 6f6e 6720 7469 2d4d 6564 6975 6d2d gsong ti-Medium- │ │ │ -00018ac0: 522d 4e6f 726d 616c 2d2d 3136 2d31 3630 R-Normal--16-160 │ │ │ -00018ad0: 2d37 322d 3732 2d63 2d31 3630 2d47 4232 -72-72-c-160-GB2 │ │ │ -00018ae0: 3331 322e 3139 3830 2d30 2c0a 2020 2020 312.1980-0,. │ │ │ -00018af0: 6368 696e 6573 652d 636e 7331 3136 3433 chinese-cns11643 │ │ │ -00018b00: 2d31 3a2d 484b 552d 4669 7865 642d 4d65 -1:-HKU-Fixed-Me │ │ │ -00018b10: 6469 756d 2d52 2d4e 6f72 6d61 6c2d 2d31 dium-R-Normal--1 │ │ │ -00018b20: 362d 3136 302d 3732 2d37 322d 432d 3136 6-160-72-72-C-16 │ │ │ -00018b30: 302d 434e 5331 3136 3433 2e31 3939 322e 0-CNS11643.1992. │ │ │ -00018b40: 312d 302c 0a20 2020 2063 6869 6e65 7365 1-0,. chinese │ │ │ -00018b50: 2d62 6967 352d 313a 2d45 5465 6e2d 4669 -big5-1:-ETen-Fi │ │ │ -00018b60: 7865 642d 4d65 6469 756d 2d52 2d4e 6f72 xed-Medium-R-Nor │ │ │ -00018b70: 6d61 6c2d 2d31 362d 3135 302d 3735 2d37 mal--16-150-75-7 │ │ │ -00018b80: 352d 432d 3136 302d 4269 6735 2e45 5465 5-C-160-Big5.ETe │ │ │ -00018b90: 6e2d 302c 0a20 2020 2063 6869 6e65 7365 n-0,. chinese │ │ │ -00018ba0: 2d62 6967 352d 323a 2d45 5465 6e2d 4669 -big5-2:-ETen-Fi │ │ │ -00018bb0: 7865 642d 4d65 6469 756d 2d52 2d4e 6f72 xed-Medium-R-Nor │ │ │ -00018bc0: 6d61 6c2d 2d31 362d 3135 302d 3735 2d37 mal--16-150-75-7 │ │ │ -00018bd0: 352d 432d 3136 302d 4269 6735 2e45 5465 5-C-160-Big5.ETe │ │ │ -00018be0: 6e2d 3022 0a20 2022 5370 6563 6966 6963 n-0". "Specific │ │ │ -00018bf0: 6174 696f 6e20 6f66 2074 6865 205c 2266 ation of the \"f │ │ │ -00018c00: 6f6e 7473 6574 2d61 6764 6132 5c22 2066 ontset-agda2\" f │ │ │ -00018c10: 6f6e 7473 6574 2e0a 5468 6973 2066 6f6e ontset..This fon │ │ │ -00018c20: 7473 6574 2069 7320 6f6e 6c79 2063 7265 tset is only cre │ │ │ -00018c30: 6174 6564 2069 6620 6061 6764 6132 2d66 ated if `agda2-f │ │ │ -00018c40: 6f6e 7473 6574 2d6e 616d 6527 2069 730a ontset-name' is. │ │ │ -00018c50: 5c22 666f 6e74 7365 742d 6167 6461 325c \"fontset-agda2\ │ │ │ -00018c60: 2220 616e 6420 456d 6163 7320 6973 206e " and Emacs is n │ │ │ -00018c70: 6f74 2072 756e 2069 6e20 6120 7465 726d ot run in a term │ │ │ -00018c80: 696e 616c 2e0a 0a4e 6f74 6520 7468 6174 inal...Note that │ │ │ -00018c90: 2074 6865 2074 6578 7420 5c22 666f 6e74 the text \"font │ │ │ -00018ca0: 7365 742d 6167 6461 325c 2220 6861 7320 set-agda2\" has │ │ │ -00018cb0: 746f 2062 6520 7061 7274 206f 6620 7468 to be part of th │ │ │ -00018cc0: 650a 7374 7269 6e67 2028 696e 2061 2063 e.string (in a c │ │ │ -00018cd0: 6572 7461 696e 2077 6179 3b20 7365 6520 ertain way; see │ │ │ -00018ce0: 7468 6520 6465 6661 756c 7420 7365 7474 the default sett │ │ │ -00018cf0: 696e 6729 2069 6e20 6f72 6465 7220 666f ing) in order fo │ │ │ -00018d00: 7220 7468 650a 6167 6461 3220 666f 6e74 r the.agda2 font │ │ │ -00018d10: 7365 7420 746f 2062 6520 6372 6561 7465 set to be create │ │ │ -00018d20: 6420 7072 6f70 6572 6c79 2e0a 0a4e 6f74 d properly...Not │ │ │ -00018d30: 6520 616c 736f 2074 6861 7420 7468 6520 e also that the │ │ │ -00018d40: 6465 6661 756c 7420 7365 7474 696e 6720 default setting │ │ │ -00018d50: 6d61 7920 6e6f 7420 776f 726b 2075 6e6c may not work unl │ │ │ -00018d60: 6573 7320 7375 6974 6162 6c65 0a66 6f6e ess suitable.fon │ │ │ -00018d70: 7473 2061 7265 2069 6e73 7461 6c6c 6564 ts are installed │ │ │ -00018d80: 206f 6e20 796f 7572 2073 7973 7465 6d2e on your system. │ │ │ -00018d90: 2052 6566 6572 2074 6f20 7468 6520 5245 Refer to the RE │ │ │ -00018da0: 4144 4d45 2066 696c 650a 6163 636f 6d70 ADME file.accomp │ │ │ -00018db0: 616e 7969 6e67 2074 6865 2041 6764 6120 anying the Agda │ │ │ -00018dc0: 6469 7374 7269 6275 7469 6f6e 2066 6f72 distribution for │ │ │ -00018dd0: 206d 6f72 6520 6465 7461 696c 732e 0a0a more details... │ │ │ -00018de0: 4e6f 7465 2066 696e 616c 6c79 2074 6861 Note finally tha │ │ │ -00018df0: 7420 796f 7520 6861 7665 2074 6f20 7265 t you have to re │ │ │ -00018e00: 7374 6172 7420 456d 6163 7320 6966 2079 start Emacs if y │ │ │ -00018e10: 6f75 2077 616e 7420 7365 7474 696e 6773 ou want settings │ │ │ -00018e20: 0a74 6f20 7468 6973 2076 6172 6961 626c .to this variabl │ │ │ -00018e30: 6520 746f 2074 616b 6520 6566 6665 6374 e to take effect │ │ │ -00018e40: 2e22 0a20 203a 6772 6f75 7020 2761 6764 .". :group 'agd │ │ │ -00018e50: 6132 0a20 203a 7479 7065 2027 7374 7269 a2. :type 'stri │ │ │ -00018e60: 6e67 290a 0a28 6966 2028 616e 6420 2865 ng)..(if (and (e │ │ │ -00018e70: 7175 616c 2061 6764 6132 2d66 6f6e 7473 qual agda2-fonts │ │ │ -00018e80: 6574 2d6e 616d 6520 2266 6f6e 7473 6574 et-name "fontset │ │ │ -00018e90: 2d61 6764 6132 2229 2077 696e 646f 772d -agda2") window- │ │ │ -00018ea0: 7379 7374 656d 290a 2020 2020 2863 7265 system). (cre │ │ │ -00018eb0: 6174 652d 666f 6e74 7365 742d 6672 6f6d ate-fontset-from │ │ │ -00018ec0: 2d66 6f6e 7473 6574 2d73 7065 6320 6167 -fontset-spec ag │ │ │ -00018ed0: 6461 322d 666f 6e74 7365 742d 7370 6563 da2-fontset-spec │ │ │ -00018ee0: 2d6f 662d 666f 6e74 7365 742d 6167 6461 -of-fontset-agda │ │ │ -00018ef0: 3220 7420 7429 290a 0a3b 3b3b 3b3b 3b3b 2 t t))..;;;;;;; │ │ │ +00017ce0: 3b3b 3b0a 3b3b 3b3b 2055 7365 7220 6f70 ;;;.;;;; User op │ │ │ +00017cf0: 7469 6f6e 730a 0a28 6465 6667 726f 7570 tions..(defgroup │ │ │ +00017d00: 2061 6764 6132 206e 696c 0a20 2022 4d61 agda2 nil. "Ma │ │ │ +00017d10: 6a6f 7220 6d6f 6465 2066 6f72 2069 6e74 jor mode for int │ │ │ +00017d20: 6572 6163 7469 7665 6c79 2064 6576 656c eractively devel │ │ │ +00017d30: 6f70 696e 6720 4167 6461 2070 726f 6772 oping Agda progr │ │ │ +00017d40: 616d 732e 220a 2020 3a67 726f 7570 2027 ams.". :group ' │ │ │ +00017d50: 6c61 6e67 7561 6765 7329 0a0a 2864 6566 languages)..(def │ │ │ +00017d60: 6375 7374 6f6d 2061 6764 6132 2d70 726f custom agda2-pro │ │ │ +00017d70: 6772 616d 2d6e 616d 6520 2261 6764 6122 gram-name "agda" │ │ │ +00017d80: 0a20 2022 5468 6520 6e61 6d65 206f 6620 . "The name of │ │ │ +00017d90: 7468 6520 4167 6461 2065 7865 6375 7461 the Agda executa │ │ │ +00017da0: 626c 652e 220a 2020 3a74 7970 6520 2773 ble.". :type 's │ │ │ +00017db0: 7472 696e 670a 2020 3a67 726f 7570 2027 tring. :group ' │ │ │ +00017dc0: 6167 6461 3229 0a0a 2864 6566 6375 7374 agda2)..(defcust │ │ │ +00017dd0: 6f6d 2061 6764 6132 2d70 726f 6772 616d om agda2-program │ │ │ +00017de0: 2d61 7267 7320 6e69 6c0a 2020 2243 6f6d -args nil. "Com │ │ │ +00017df0: 6d61 6e64 2d6c 696e 6520 6172 6775 6d65 mand-line argume │ │ │ +00017e00: 6e74 7320 6769 7665 6e20 746f 2074 6865 nts given to the │ │ │ +00017e10: 2041 6764 6120 6578 6563 7574 6162 6c65 Agda executable │ │ │ +00017e20: 2028 6f6e 6520 7065 7220 7374 7269 6e67 (one per string │ │ │ +00017e30: 292e 0a0a 4e6f 7465 3a20 446f 206e 6f74 )...Note: Do not │ │ │ +00017e40: 2067 6976 6520 7365 7665 7261 6c20 6172 give several ar │ │ │ +00017e50: 6775 6d65 6e74 7320 696e 2074 6865 2073 guments in the s │ │ │ +00017e60: 616d 6520 7374 7269 6e67 2e0a 0a54 6865 ame string...The │ │ │ +00017e70: 2066 6c61 6720 5c22 2d2d 696e 7465 7261 flag \"--intera │ │ │ +00017e80: 6374 696f 6e5c 2220 6973 2061 6c77 6179 ction\" is alway │ │ │ +00017e90: 7320 696e 636c 7564 6564 2061 7320 7468 s included as th │ │ │ +00017ea0: 6520 6669 7273 740a 6172 6775 6d65 6e74 e first.argument │ │ │ +00017eb0: 2c20 616e 6420 646f 6573 206e 6f74 206e , and does not n │ │ │ +00017ec0: 6565 6420 746f 2062 6520 6c69 7374 6564 eed to be listed │ │ │ +00017ed0: 2068 6572 652e 220a 2020 3a74 7970 6520 here.". :type │ │ │ +00017ee0: 2728 7265 7065 6174 2073 7472 696e 6729 '(repeat string) │ │ │ +00017ef0: 0a20 203a 6772 6f75 7020 2761 6764 6132 . :group 'agda2 │ │ │ +00017f00: 290a 0a28 6465 6676 6172 2061 6764 6132 )..(defvar agda2 │ │ │ +00017f10: 2d62 6163 6b65 6e64 7320 2728 2247 4843 -backends '("GHC │ │ │ +00017f20: 2220 2247 4843 4e6f 4d61 696e 2220 224a " "GHCNoMain" "J │ │ │ +00017f30: 5322 2022 4c61 5465 5822 2022 5175 6963 S" "LaTeX" "Quic │ │ │ +00017f40: 6b4c 6154 6558 2220 2248 544d 4c22 290a kLaTeX" "HTML"). │ │ │ +00017f50: 2020 2243 6f6d 7069 6c61 7469 6f6e 2062 "Compilation b │ │ │ +00017f60: 6163 6b65 6e64 732e 2229 0a0a 2864 6566 ackends.")..(def │ │ │ +00017f70: 6375 7374 6f6d 2061 6764 6132 2d62 6163 custom agda2-bac │ │ │ +00017f80: 6b65 6e64 0a20 206e 696c 0a20 2022 5468 kend. nil. "Th │ │ │ +00017f90: 6520 6261 636b 656e 6420 7573 6564 2074 e backend used t │ │ │ +00017fa0: 6f20 636f 6d70 696c 6520 4167 6461 2070 o compile Agda p │ │ │ +00017fb0: 726f 6772 616d 7320 286e 696c 2074 6f20 rograms (nil to │ │ │ +00017fc0: 6173 6b20 6576 6572 7920 7469 6d65 292e ask every time). │ │ │ +00017fd0: 220a 2020 3a74 7970 6520 2773 7472 696e ". :type 'strin │ │ │ +00017fe0: 670a 2020 3a67 726f 7570 2027 6167 6461 g. :group 'agda │ │ │ +00017ff0: 3229 0a0a 2864 6566 6375 7374 6f6d 2061 2)..(defcustom a │ │ │ +00018000: 6764 6132 2d62 6163 6b65 6e64 2d64 6566 gda2-backend-def │ │ │ +00018010: 6175 6c74 2d70 6179 6c6f 6164 0a20 206e ault-payload. n │ │ │ +00018020: 696c 0a20 2022 5468 6520 6465 6661 756c il. "The defaul │ │ │ +00018030: 7420 7061 796c 6f61 6420 666f 7220 696e t payload for in │ │ │ +00018040: 7465 7261 6374 6976 6520 6261 636b 656e teractive backen │ │ │ +00018050: 6420 636f 6d6d 616e 6473 2028 6e69 6c20 d commands (nil │ │ │ +00018060: 746f 2061 736b 2065 7665 7279 2074 696d to ask every tim │ │ │ +00018070: 6529 2e22 0a20 203a 7479 7065 2027 7374 e).". :type 'st │ │ │ +00018080: 7269 6e67 0a20 203a 6772 6f75 7020 2761 ring. :group 'a │ │ │ +00018090: 6764 6132 290a 0a28 6465 6663 7573 746f gda2)..(defcusto │ │ │ +000180a0: 6d20 6167 6461 322d 696e 666f 726d 6174 m agda2-informat │ │ │ +000180b0: 696f 6e2d 7769 6e64 6f77 2d6d 6178 2d68 ion-window-max-h │ │ │ +000180c0: 6569 6768 740a 2020 302e 3335 0a20 2022 eight. 0.35. " │ │ │ +000180d0: 5468 6520 6d61 7869 6d75 6d20 6865 6967 The maximum heig │ │ │ +000180e0: 6874 206f 6620 7468 6520 696e 666f 726d ht of the inform │ │ │ +000180f0: 6174 696f 6e20 7769 6e64 6f77 2e0a 4120 ation window..A │ │ │ +00018100: 6d75 6c74 6970 6c65 206f 6620 7468 6520 multiple of the │ │ │ +00018110: 6672 616d 6520 6865 6967 6874 2e22 0a20 frame height.". │ │ │ +00018120: 203a 7479 7065 2027 6e75 6d62 6572 0a20 :type 'number. │ │ │ +00018130: 203a 6772 6f75 7020 2761 6764 6132 290a :group 'agda2). │ │ │ +00018140: 0a28 6465 6663 7573 746f 6d20 6167 6461 .(defcustom agda │ │ │ +00018150: 322d 666f 6e74 7365 742d 6e61 6d65 0a20 2-fontset-name. │ │ │ +00018160: 2028 756e 6c65 7373 2028 6f72 2028 6571 (unless (or (eq │ │ │ +00018170: 2077 696e 646f 772d 7379 7374 656d 2027 window-system ' │ │ │ +00018180: 6d61 6329 0a20 2020 2020 2020 2020 2020 mac). │ │ │ +00018190: 2020 203b 3b20 456d 6163 732d 3233 2075 ;; Emacs-23 u │ │ │ +000181a0: 7365 7320 6120 7265 7661 6d70 6564 2066 ses a revamped f │ │ │ +000181b0: 6f6e 7420 656e 6769 6e65 2077 6869 6368 ont engine which │ │ │ +000181c0: 2073 686f 756c 640a 2020 2020 2020 2020 should. │ │ │ +000181d0: 2020 2020 2020 3b3b 206d 616b 6520 6167 ;; make ag │ │ │ +000181e0: 6461 322d 666f 6e74 7365 742d 6e61 6d65 da2-fontset-name │ │ │ +000181f0: 2075 6e6e 6563 6573 7361 7279 2069 6e20 unnecessary in │ │ │ +00018200: 6d6f 7374 2063 6173 6573 2e0a 2020 2020 most cases.. │ │ │ +00018210: 2020 2020 2020 2020 2020 3b3b 2041 6e64 ;; And │ │ │ +00018220: 2069 6620 6974 2074 7572 6e73 206f 7574 if it turns out │ │ │ +00018230: 2074 6f20 6265 206e 6563 6573 7361 7279 to be necessary │ │ │ +00018240: 2c20 7765 2073 686f 756c 640a 2020 2020 , we should. │ │ │ +00018250: 2020 2020 2020 2020 2020 3b3b 2070 726f ;; pro │ │ │ +00018260: 6261 626c 7920 7573 6520 6661 6365 2d72 bably use face-r │ │ │ +00018270: 656d 6170 7069 6e67 2d61 6c69 7374 2072 emapping-alist r │ │ │ +00018280: 6174 6865 7220 7468 616e 0a20 2020 2020 ather than. │ │ │ +00018290: 2020 2020 2020 2020 203b 3b20 7365 742d ;; set- │ │ │ +000182a0: 6672 616d 652d 666f 6e74 2073 6f20 7468 frame-font so th │ │ │ +000182b0: 6520 7370 6563 6961 6c20 666f 6e74 206f e special font o │ │ │ +000182c0: 6e6c 7920 6170 706c 6965 7320 746f 0a20 nly applies to. │ │ │ +000182d0: 2020 2020 2020 2020 2020 2020 203b 3b20 ;; │ │ │ +000182e0: 4167 6461 2062 7566 6665 7273 2c20 616e Agda buffers, an │ │ │ +000182f0: 6420 736f 2069 7420 6170 706c 6965 7320 d so it applies │ │ │ +00018300: 696e 2061 6c6c 2066 7261 6d65 7320 7768 in all frames wh │ │ │ +00018310: 6572 650a 2020 2020 2020 2020 2020 2020 ere. │ │ │ +00018320: 2020 3b3b 2041 6764 6120 6275 6666 6572 ;; Agda buffer │ │ │ +00018330: 7320 6172 6520 6469 7370 6c61 7965 642e s are displayed. │ │ │ +00018340: 0a20 2020 2020 2020 2020 2020 2020 2028 . ( │ │ │ +00018350: 626f 756e 6470 2027 6661 6365 2d72 656d boundp 'face-rem │ │ │ +00018360: 6170 7069 6e67 2d61 6c69 7374 2929 0a20 apping-alist)). │ │ │ +00018370: 2020 2022 666f 6e74 7365 742d 6167 6461 "fontset-agda │ │ │ +00018380: 3222 290a 2020 2244 6566 6175 6c74 2066 2"). "Default f │ │ │ +00018390: 6f6e 7420 746f 2075 7365 2069 6e20 7468 ont to use in th │ │ │ +000183a0: 6520 7365 6c65 6374 6564 2066 7261 6d65 e selected frame │ │ │ +000183b0: 2077 6865 6e20 6163 7469 7661 7469 6e67 when activating │ │ │ +000183c0: 2074 6865 2041 6764 6120 6d6f 6465 2e0a the Agda mode.. │ │ │ +000183d0: 5468 6973 2069 7320 6f6e 6c79 2075 7365 This is only use │ │ │ +000183e0: 6420 6966 2069 7427 7320 6e6f 6e2d 6e69 d if it's non-ni │ │ │ +000183f0: 6c20 616e 6420 456d 6163 7320 6973 206e l and Emacs is n │ │ │ +00018400: 6f74 2072 756e 6e69 6e67 2069 6e20 610a ot running in a. │ │ │ +00018410: 7465 726d 696e 616c 2e0a 0a4e 6f74 6520 terminal...Note │ │ │ +00018420: 7468 6174 2074 6869 7320 7365 7474 696e that this settin │ │ │ +00018430: 6720 2869 6620 6e6f 6e2d 6e69 6c29 2061 g (if non-nil) a │ │ │ +00018440: 6666 6563 7473 206e 6f6e 2d41 6764 6120 ffects non-Agda │ │ │ +00018450: 6275 6666 6572 7320 6173 0a77 656c 6c2c buffers as.well, │ │ │ +00018460: 2061 6e64 2074 6861 7420 796f 7520 6861 and that you ha │ │ │ +00018470: 7665 2074 6f20 7265 7374 6172 7420 456d ve to restart Em │ │ │ +00018480: 6163 7320 6966 2079 6f75 2077 616e 7420 acs if you want │ │ │ +00018490: 7365 7474 696e 6773 2074 6f0a 7468 6973 settings to.this │ │ │ +000184a0: 2076 6172 6961 626c 6520 746f 2074 616b variable to tak │ │ │ +000184b0: 6520 6566 6665 6374 2e22 0a20 203a 7479 e effect.". :ty │ │ │ +000184c0: 7065 2027 2863 686f 6963 6520 2873 7472 pe '(choice (str │ │ │ +000184d0: 696e 6720 3a74 6167 2022 466f 6e74 7365 ing :tag "Fontse │ │ │ +000184e0: 7420 6e61 6d65 2229 0a20 2020 2020 2020 t name"). │ │ │ +000184f0: 2020 2020 2020 2020 2020 2863 6f6e 7374 (const │ │ │ +00018500: 203a 7461 6720 2244 6f20 6e6f 7420 6368 :tag "Do not ch │ │ │ +00018510: 616e 6765 2074 6865 2066 6f6e 7422 206e ange the font" n │ │ │ +00018520: 696c 2929 0a20 203a 6772 6f75 7020 2761 il)). :group 'a │ │ │ +00018530: 6764 6132 290a 0a28 6465 6663 7573 746f gda2)..(defcusto │ │ │ +00018540: 6d20 6167 6461 322d 666f 6e74 7365 742d m agda2-fontset- │ │ │ +00018550: 7370 6563 2d6f 662d 666f 6e74 7365 742d spec-of-fontset- │ │ │ +00018560: 6167 6461 320a 2020 2020 222d 2a2d 6669 agda2. "-*-fi │ │ │ +00018570: 7865 642d 4d65 6469 756d 2d72 2d4e 6f72 xed-Medium-r-Nor │ │ │ +00018580: 6d61 6c2d 2a2d 3138 2d2a 2d2a 2d2a 2d63 mal-*-18-*-*-*-c │ │ │ +00018590: 2d2a 2d66 6f6e 7473 6574 2d61 6764 6132 -*-fontset-agda2 │ │ │ +000185a0: 2c0a 2020 2020 6173 6369 693a 2d4d 6973 ,. ascii:-Mis │ │ │ +000185b0: 632d 4669 7865 642d 4d65 6469 756d 2d52 c-Fixed-Medium-R │ │ │ +000185c0: 2d4e 6f72 6d61 6c2d 2d31 382d 3132 302d -Normal--18-120- │ │ │ +000185d0: 3130 302d 3130 302d 432d 3930 2d49 534f 100-100-C-90-ISO │ │ │ +000185e0: 3838 3539 2d31 2c0a 2020 2020 6c61 7469 8859-1,. lati │ │ │ +000185f0: 6e2d 6973 6f38 3835 392d 323a 2d2a 2d46 n-iso8859-2:-*-F │ │ │ +00018600: 6978 6564 2d2a 2d72 2d2a 2d2a 2d31 382d ixed-*-r-*-*-18- │ │ │ +00018610: 2a2d 2a2d 2a2d 632d 2a2d 6973 6f38 3835 *-*-*-c-*-iso885 │ │ │ +00018620: 392d 322c 0a20 2020 206c 6174 696e 2d69 9-2,. latin-i │ │ │ +00018630: 736f 3838 3539 2d33 3a2d 2a2d 4669 7865 so8859-3:-*-Fixe │ │ │ +00018640: 642d 2a2d 722d 2a2d 2a2d 3138 2d2a 2d2a d-*-r-*-*-18-*-* │ │ │ +00018650: 2d2a 2d63 2d2a 2d69 736f 3838 3539 2d33 -*-c-*-iso8859-3 │ │ │ +00018660: 2c0a 2020 2020 6c61 7469 6e2d 6973 6f38 ,. latin-iso8 │ │ │ +00018670: 3835 392d 343a 2d2a 2d46 6978 6564 2d2a 859-4:-*-Fixed-* │ │ │ +00018680: 2d72 2d2a 2d2a 2d31 382d 2a2d 2a2d 2a2d -r-*-*-18-*-*-*- │ │ │ +00018690: 632d 2a2d 6973 6f38 3835 392d 342c 0a20 c-*-iso8859-4,. │ │ │ +000186a0: 2020 2063 7972 696c 6c69 632d 6973 6f38 cyrillic-iso8 │ │ │ +000186b0: 3835 392d 353a 2d2a 2d46 6978 6564 2d2a 859-5:-*-Fixed-* │ │ │ +000186c0: 2d72 2d2a 2d2a 2d31 382d 2a2d 2a2d 2a2d -r-*-*-18-*-*-*- │ │ │ +000186d0: 632d 2a2d 6973 6f38 3835 392d 352c 0a20 c-*-iso8859-5,. │ │ │ +000186e0: 2020 2067 7265 656b 2d69 736f 3838 3539 greek-iso8859 │ │ │ +000186f0: 2d37 3a2d 2a2d 4669 7865 642d 2a2d 722d -7:-*-Fixed-*-r- │ │ │ +00018700: 2a2d 2a2d 3138 2d2a 2d2a 2d2a 2d63 2d2a *-*-18-*-*-*-c-* │ │ │ +00018710: 2d69 736f 3838 3539 2d37 2c0a 2020 2020 -iso8859-7,. │ │ │ +00018720: 6c61 7469 6e2d 6973 6f38 3835 392d 393a latin-iso8859-9: │ │ │ +00018730: 2d2a 2d46 6978 6564 2d2a 2d72 2d2a 2d2a -*-Fixed-*-r-*-* │ │ │ +00018740: 2d31 382d 2a2d 2a2d 2a2d 632d 2a2d 6973 -18-*-*-*-c-*-is │ │ │ +00018750: 6f38 3835 392d 392c 0a20 2020 206d 756c o8859-9,. mul │ │ │ +00018760: 652d 756e 6963 6f64 652d 3031 3030 2d32 e-unicode-0100-2 │ │ │ +00018770: 3466 663a 2d4d 6973 632d 4669 7865 642d 4ff:-Misc-Fixed- │ │ │ +00018780: 4d65 6469 756d 2d52 2d4e 6f72 6d61 6c2d Medium-R-Normal- │ │ │ +00018790: 2d31 382d 3132 302d 3130 302d 3130 302d -18-120-100-100- │ │ │ +000187a0: 432d 3930 2d49 534f 3130 3634 362d 312c C-90-ISO10646-1, │ │ │ +000187b0: 0a20 2020 206d 756c 652d 756e 6963 6f64 . mule-unicod │ │ │ +000187c0: 652d 3235 3030 2d33 3366 663a 2d4d 6973 e-2500-33ff:-Mis │ │ │ +000187d0: 632d 4669 7865 642d 4d65 6469 756d 2d52 c-Fixed-Medium-R │ │ │ +000187e0: 2d4e 6f72 6d61 6c2d 2d31 382d 3132 302d -Normal--18-120- │ │ │ +000187f0: 3130 302d 3130 302d 432d 3930 2d49 534f 100-100-C-90-ISO │ │ │ +00018800: 3130 3634 362d 312c 0a20 2020 206d 756c 10646-1,. mul │ │ │ +00018810: 652d 756e 6963 6f64 652d 6530 3030 2d66 e-unicode-e000-f │ │ │ +00018820: 6666 663a 2d4d 6973 632d 4669 7865 642d fff:-Misc-Fixed- │ │ │ +00018830: 4d65 6469 756d 2d52 2d4e 6f72 6d61 6c2d Medium-R-Normal- │ │ │ +00018840: 2d31 382d 3132 302d 3130 302d 3130 302d -18-120-100-100- │ │ │ +00018850: 432d 3930 2d49 534f 3130 3634 362d 312c C-90-ISO10646-1, │ │ │ +00018860: 0a20 2020 206a 6170 616e 6573 652d 6a69 . japanese-ji │ │ │ +00018870: 7378 3032 3038 3a2d 4d69 7363 2d46 6978 sx0208:-Misc-Fix │ │ │ +00018880: 6564 2d4d 6564 6975 6d2d 522d 4e6f 726d ed-Medium-R-Norm │ │ │ +00018890: 616c 2d6a 612d 3138 2d2a 2d2a 2d2a 2d43 al-ja-18-*-*-*-C │ │ │ +000188a0: 2d2a 2d4a 4953 5830 3230 382e 3139 3930 -*-JISX0208.1990 │ │ │ +000188b0: 2d30 2c0a 2020 2020 6a61 7061 6e65 7365 -0,. japanese │ │ │ +000188c0: 2d6a 6973 7830 3231 323a 2d4d 6973 632d -jisx0212:-Misc- │ │ │ +000188d0: 4669 7865 642d 4d65 6469 756d 2d52 2d4e Fixed-Medium-R-N │ │ │ +000188e0: 6f72 6d61 6c2d 6a61 2d31 382d 2a2d 2a2d ormal-ja-18-*-*- │ │ │ +000188f0: 2a2d 432d 2a2d 4a49 5358 3032 3132 2e31 *-C-*-JISX0212.1 │ │ │ +00018900: 3939 302d 302c 0a20 2020 2074 6861 692d 990-0,. thai- │ │ │ +00018910: 7469 7336 3230 3a2d 4d69 7363 2d46 6978 tis620:-Misc-Fix │ │ │ +00018920: 6564 2d4d 6564 6975 6d2d 522d 4e6f 726d ed-Medium-R-Norm │ │ │ +00018930: 616c 2d2d 3234 2d32 3430 2d37 322d 3732 al--24-240-72-72 │ │ │ +00018940: 2d43 2d31 3230 2d54 4953 3632 302e 3235 -C-120-TIS620.25 │ │ │ +00018950: 3239 2d31 2c0a 2020 2020 6c61 6f3a 2d4d 29-1,. lao:-M │ │ │ +00018960: 6973 632d 4669 7865 642d 4d65 6469 756d isc-Fixed-Medium │ │ │ +00018970: 2d52 2d4e 6f72 6d61 6c2d 2d32 342d 3234 -R-Normal--24-24 │ │ │ +00018980: 302d 3732 2d37 322d 432d 3132 302d 4d75 0-72-72-C-120-Mu │ │ │ +00018990: 6c65 4c61 6f2d 312c 0a20 2020 2074 6962 leLao-1,. tib │ │ │ +000189a0: 6574 616e 3a2d 5469 624d 6458 412d 6669 etan:-TibMdXA-fi │ │ │ +000189b0: 7865 642d 6d65 6469 756d 2d72 2d6e 6f72 xed-medium-r-nor │ │ │ +000189c0: 6d61 6c2d 2d31 362d 3136 302d 3732 2d37 mal--16-160-72-7 │ │ │ +000189d0: 322d 6d2d 3136 302d 4d75 6c65 5469 6265 2-m-160-MuleTibe │ │ │ +000189e0: 7461 6e2d 302c 0a20 2020 2074 6962 6574 tan-0,. tibet │ │ │ +000189f0: 616e 2d31 2d63 6f6c 756d 6e3a 2d54 6962 an-1-column:-Tib │ │ │ +00018a00: 4d64 5841 2d66 6978 6564 2d6d 6564 6975 MdXA-fixed-mediu │ │ │ +00018a10: 6d2d 722d 6e6f 726d 616c 2d2d 3136 2d31 m-r-normal--16-1 │ │ │ +00018a20: 3630 2d37 322d 3732 2d6d 2d38 302d 4d75 60-72-72-m-80-Mu │ │ │ +00018a30: 6c65 5469 6265 7461 6e2d 312c 0a20 2020 leTibetan-1,. │ │ │ +00018a40: 206b 6f72 6561 6e2d 6b73 6335 3630 313a korean-ksc5601: │ │ │ +00018a50: 2d44 6165 776f 6f2d 4d69 6e63 686f 2d4d -Daewoo-Mincho-M │ │ │ +00018a60: 6564 6975 6d2d 522d 4e6f 726d 616c 2d2d edium-R-Normal-- │ │ │ +00018a70: 3136 2d31 3230 2d31 3030 2d31 3030 2d43 16-120-100-100-C │ │ │ +00018a80: 2d31 3630 2d4b 5343 3536 3031 2e31 3938 -160-KSC5601.198 │ │ │ +00018a90: 372d 302c 0a20 2020 2063 6869 6e65 7365 7-0,. chinese │ │ │ +00018aa0: 2d67 6232 3331 323a 2d49 5341 532d 4661 -gb2312:-ISAS-Fa │ │ │ +00018ab0: 6e67 736f 6e67 2074 692d 4d65 6469 756d ngsong ti-Medium │ │ │ +00018ac0: 2d52 2d4e 6f72 6d61 6c2d 2d31 362d 3136 -R-Normal--16-16 │ │ │ +00018ad0: 302d 3732 2d37 322d 632d 3136 302d 4742 0-72-72-c-160-GB │ │ │ +00018ae0: 3233 3132 2e31 3938 302d 302c 0a20 2020 2312.1980-0,. │ │ │ +00018af0: 2063 6869 6e65 7365 2d63 6e73 3131 3634 chinese-cns1164 │ │ │ +00018b00: 332d 313a 2d48 4b55 2d46 6978 6564 2d4d 3-1:-HKU-Fixed-M │ │ │ +00018b10: 6564 6975 6d2d 522d 4e6f 726d 616c 2d2d edium-R-Normal-- │ │ │ +00018b20: 3136 2d31 3630 2d37 322d 3732 2d43 2d31 16-160-72-72-C-1 │ │ │ +00018b30: 3630 2d43 4e53 3131 3634 332e 3139 3932 60-CNS11643.1992 │ │ │ +00018b40: 2e31 2d30 2c0a 2020 2020 6368 696e 6573 .1-0,. chines │ │ │ +00018b50: 652d 6269 6735 2d31 3a2d 4554 656e 2d46 e-big5-1:-ETen-F │ │ │ +00018b60: 6978 6564 2d4d 6564 6975 6d2d 522d 4e6f ixed-Medium-R-No │ │ │ +00018b70: 726d 616c 2d2d 3136 2d31 3530 2d37 352d rmal--16-150-75- │ │ │ +00018b80: 3735 2d43 2d31 3630 2d42 6967 352e 4554 75-C-160-Big5.ET │ │ │ +00018b90: 656e 2d30 2c0a 2020 2020 6368 696e 6573 en-0,. chines │ │ │ +00018ba0: 652d 6269 6735 2d32 3a2d 4554 656e 2d46 e-big5-2:-ETen-F │ │ │ +00018bb0: 6978 6564 2d4d 6564 6975 6d2d 522d 4e6f ixed-Medium-R-No │ │ │ +00018bc0: 726d 616c 2d2d 3136 2d31 3530 2d37 352d rmal--16-150-75- │ │ │ +00018bd0: 3735 2d43 2d31 3630 2d42 6967 352e 4554 75-C-160-Big5.ET │ │ │ +00018be0: 656e 2d30 220a 2020 2253 7065 6369 6669 en-0". "Specifi │ │ │ +00018bf0: 6361 7469 6f6e 206f 6620 7468 6520 5c22 cation of the \" │ │ │ +00018c00: 666f 6e74 7365 742d 6167 6461 325c 2220 fontset-agda2\" │ │ │ +00018c10: 666f 6e74 7365 742e 0a54 6869 7320 666f fontset..This fo │ │ │ +00018c20: 6e74 7365 7420 6973 206f 6e6c 7920 6372 ntset is only cr │ │ │ +00018c30: 6561 7465 6420 6966 2060 6167 6461 322d eated if `agda2- │ │ │ +00018c40: 666f 6e74 7365 742d 6e61 6d65 2720 6973 fontset-name' is │ │ │ +00018c50: 0a5c 2266 6f6e 7473 6574 2d61 6764 6132 .\"fontset-agda2 │ │ │ +00018c60: 5c22 2061 6e64 2045 6d61 6373 2069 7320 \" and Emacs is │ │ │ +00018c70: 6e6f 7420 7275 6e20 696e 2061 2074 6572 not run in a ter │ │ │ +00018c80: 6d69 6e61 6c2e 0a0a 4e6f 7465 2074 6861 minal...Note tha │ │ │ +00018c90: 7420 7468 6520 7465 7874 205c 2266 6f6e t the text \"fon │ │ │ +00018ca0: 7473 6574 2d61 6764 6132 5c22 2068 6173 tset-agda2\" has │ │ │ +00018cb0: 2074 6f20 6265 2070 6172 7420 6f66 2074 to be part of t │ │ │ +00018cc0: 6865 0a73 7472 696e 6720 2869 6e20 6120 he.string (in a │ │ │ +00018cd0: 6365 7274 6169 6e20 7761 793b 2073 6565 certain way; see │ │ │ +00018ce0: 2074 6865 2064 6566 6175 6c74 2073 6574 the default set │ │ │ +00018cf0: 7469 6e67 2920 696e 206f 7264 6572 2066 ting) in order f │ │ │ +00018d00: 6f72 2074 6865 0a61 6764 6132 2066 6f6e or the.agda2 fon │ │ │ +00018d10: 7473 6574 2074 6f20 6265 2063 7265 6174 tset to be creat │ │ │ +00018d20: 6564 2070 726f 7065 726c 792e 0a0a 4e6f ed properly...No │ │ │ +00018d30: 7465 2061 6c73 6f20 7468 6174 2074 6865 te also that the │ │ │ +00018d40: 2064 6566 6175 6c74 2073 6574 7469 6e67 default setting │ │ │ +00018d50: 206d 6179 206e 6f74 2077 6f72 6b20 756e may not work un │ │ │ +00018d60: 6c65 7373 2073 7569 7461 626c 650a 666f less suitable.fo │ │ │ +00018d70: 6e74 7320 6172 6520 696e 7374 616c 6c65 nts are installe │ │ │ +00018d80: 6420 6f6e 2079 6f75 7220 7379 7374 656d d on your system │ │ │ +00018d90: 2e20 5265 6665 7220 746f 2074 6865 2052 . Refer to the R │ │ │ +00018da0: 4541 444d 4520 6669 6c65 0a61 6363 6f6d EADME file.accom │ │ │ +00018db0: 7061 6e79 696e 6720 7468 6520 4167 6461 panying the Agda │ │ │ +00018dc0: 2064 6973 7472 6962 7574 696f 6e20 666f distribution fo │ │ │ +00018dd0: 7220 6d6f 7265 2064 6574 6169 6c73 2e0a r more details.. │ │ │ +00018de0: 0a4e 6f74 6520 6669 6e61 6c6c 7920 7468 .Note finally th │ │ │ +00018df0: 6174 2079 6f75 2068 6176 6520 746f 2072 at you have to r │ │ │ +00018e00: 6573 7461 7274 2045 6d61 6373 2069 6620 estart Emacs if │ │ │ +00018e10: 796f 7520 7761 6e74 2073 6574 7469 6e67 you want setting │ │ │ +00018e20: 730a 746f 2074 6869 7320 7661 7269 6162 s.to this variab │ │ │ +00018e30: 6c65 2074 6f20 7461 6b65 2065 6666 6563 le to take effec │ │ │ +00018e40: 742e 220a 2020 3a67 726f 7570 2027 6167 t.". :group 'ag │ │ │ +00018e50: 6461 320a 2020 3a74 7970 6520 2773 7472 da2. :type 'str │ │ │ +00018e60: 696e 6729 0a0a 2869 6620 2861 6e64 2028 ing)..(if (and ( │ │ │ +00018e70: 6571 7561 6c20 6167 6461 322d 666f 6e74 equal agda2-font │ │ │ +00018e80: 7365 742d 6e61 6d65 2022 666f 6e74 7365 set-name "fontse │ │ │ +00018e90: 742d 6167 6461 3222 2920 7769 6e64 6f77 t-agda2") window │ │ │ +00018ea0: 2d73 7973 7465 6d29 0a20 2020 2028 6372 -system). (cr │ │ │ +00018eb0: 6561 7465 2d66 6f6e 7473 6574 2d66 726f eate-fontset-fro │ │ │ +00018ec0: 6d2d 666f 6e74 7365 742d 7370 6563 2061 m-fontset-spec a │ │ │ +00018ed0: 6764 6132 2d66 6f6e 7473 6574 2d73 7065 gda2-fontset-spe │ │ │ +00018ee0: 632d 6f66 2d66 6f6e 7473 6574 2d61 6764 c-of-fontset-agd │ │ │ +00018ef0: 6132 2074 2074 2929 0a0a 3b3b 3b3b 3b3b a2 t t))..;;;;;; │ │ │ 00018f00: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00018f10: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00018f20: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00018f30: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ -00018f40: 3b0a 3b3b 3b3b 2047 6c6f 6261 6c20 616e ;.;;;; Global an │ │ │ -00018f50: 6420 6275 6666 6572 2d6c 6f63 616c 2076 d buffer-local v │ │ │ -00018f60: 6172 732c 2069 6e69 7469 616c 697a 6174 ars, initializat │ │ │ -00018f70: 696f 6e0a 0a28 6465 6676 6172 2061 6764 ion..(defvar agd │ │ │ -00018f80: 6132 2d6d 6f64 652d 7379 6e74 6178 2d74 a2-mode-syntax-t │ │ │ -00018f90: 6162 6c65 0a20 2028 6c65 7420 2828 7462 able. (let ((tb │ │ │ -00018fa0: 6c20 286d 616b 652d 7379 6e74 6178 2d74 l (make-syntax-t │ │ │ -00018fb0: 6162 6c65 2929 290a 2020 2020 3b3b 2053 able))). ;; S │ │ │ -00018fc0: 6574 2074 6865 2073 796e 7461 7820 6f66 et the syntax of │ │ │ -00018fd0: 2065 7665 7279 2063 6861 7220 746f 2022 every char to " │ │ │ -00018fe0: 7722 2065 7863 6570 7420 666f 7220 7468 w" except for th │ │ │ -00018ff0: 6f73 6520 7768 6f73 6520 6465 6661 756c ose whose defaul │ │ │ -00019000: 740a 2020 2020 3b3b 2073 796e 7461 7820 t. ;; syntax │ │ │ -00019010: 696e 2060 7374 616e 6461 7264 2d73 796e in `standard-syn │ │ │ -00019020: 7461 782d 7461 626c 6527 2069 7320 6070 tax-table' is `p │ │ │ -00019030: 6172 656e 2720 6f72 2060 7768 6974 6573 aren' or `whites │ │ │ -00019040: 7061 6365 272e 0a20 2020 2028 6d61 702d pace'.. (map- │ │ │ -00019050: 6368 6172 2d74 6162 6c65 2028 6c61 6d62 char-table (lamb │ │ │ -00019060: 6461 2028 6b65 7973 2076 616c 290a 2020 da (keys val). │ │ │ +00018f40: 3b3b 0a3b 3b3b 3b20 476c 6f62 616c 2061 ;;.;;;; Global a │ │ │ +00018f50: 6e64 2062 7566 6665 722d 6c6f 6361 6c20 nd buffer-local │ │ │ +00018f60: 7661 7273 2c20 696e 6974 6961 6c69 7a61 vars, initializa │ │ │ +00018f70: 7469 6f6e 0a0a 2864 6566 7661 7220 6167 tion..(defvar ag │ │ │ +00018f80: 6461 322d 6d6f 6465 2d73 796e 7461 782d da2-mode-syntax- │ │ │ +00018f90: 7461 626c 650a 2020 286c 6574 2028 2874 table. (let ((t │ │ │ +00018fa0: 626c 2028 6d61 6b65 2d73 796e 7461 782d bl (make-syntax- │ │ │ +00018fb0: 7461 626c 6529 2929 0a20 2020 203b 3b20 table))). ;; │ │ │ +00018fc0: 5365 7420 7468 6520 7379 6e74 6178 206f Set the syntax o │ │ │ +00018fd0: 6620 6576 6572 7920 6368 6172 2074 6f20 f every char to │ │ │ +00018fe0: 2277 2220 6578 6365 7074 2066 6f72 2074 "w" except for t │ │ │ +00018ff0: 686f 7365 2077 686f 7365 2064 6566 6175 hose whose defau │ │ │ +00019000: 6c74 0a20 2020 203b 3b20 7379 6e74 6178 lt. ;; syntax │ │ │ +00019010: 2069 6e20 6073 7461 6e64 6172 642d 7379 in `standard-sy │ │ │ +00019020: 6e74 6178 2d74 6162 6c65 2720 6973 2060 ntax-table' is ` │ │ │ +00019030: 7061 7265 6e27 206f 7220 6077 6869 7465 paren' or `white │ │ │ +00019040: 7370 6163 6527 2e0a 2020 2020 286d 6170 space'.. (map │ │ │ +00019050: 2d63 6861 722d 7461 626c 6520 286c 616d -char-table (lam │ │ │ +00019060: 6264 6120 286b 6579 7320 7661 6c29 0a20 bda (keys val). │ │ │ 00019070: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00019080: 2020 2020 3b3b 2060 6b65 7973 2720 6865 ;; `keys' he │ │ │ -00019090: 7265 2063 616e 2062 6520 6120 6e6f 726d re can be a norm │ │ │ -000190a0: 616c 2063 6861 722c 2061 2067 656e 6572 al char, a gener │ │ │ -000190b0: 6963 2063 6861 720a 2020 2020 2020 2020 ic char. │ │ │ -000190c0: 2020 2020 2020 2020 2020 2020 2020 3b3b ;; │ │ │ -000190d0: 2028 456d 6163 733c 3233 292c 206f 7220 (Emacs<23), or │ │ │ -000190e0: 6120 6368 6172 2072 616e 6765 2028 456d a char range (Em │ │ │ -000190f0: 6163 733e 3d32 3329 2e0a 2020 2020 2020 acs>=23).. │ │ │ +00019080: 2020 2020 203b 3b20 606b 6579 7327 2068 ;; `keys' h │ │ │ +00019090: 6572 6520 6361 6e20 6265 2061 206e 6f72 ere can be a nor │ │ │ +000190a0: 6d61 6c20 6368 6172 2c20 6120 6765 6e65 mal char, a gene │ │ │ +000190b0: 7269 6320 6368 6172 0a20 2020 2020 2020 ric char. │ │ │ +000190c0: 2020 2020 2020 2020 2020 2020 2020 203b ; │ │ │ +000190d0: 3b20 2845 6d61 6373 3c32 3329 2c20 6f72 ; (Emacs<23), or │ │ │ +000190e0: 2061 2063 6861 7220 7261 6e67 6520 2845 a char range (E │ │ │ +000190f0: 6d61 6373 3e3d 3233 292e 0a20 2020 2020 macs>=23).. │ │ │ 00019100: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00019110: 2875 6e6c 6573 7320 286d 656d 7120 2863 (unless (memq (c │ │ │ -00019120: 6172 2076 616c 290a 2020 2020 2020 2020 ar val). │ │ │ +00019110: 2028 756e 6c65 7373 2028 6d65 6d71 2028 (unless (memq ( │ │ │ +00019120: 6361 7220 7661 6c29 0a20 2020 2020 2020 car val). │ │ │ 00019130: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00019140: 2020 2020 2020 2020 2020 2020 2865 7661 (eva │ │ │ -00019150: 6c2d 7768 656e 2d63 6f6d 7069 6c65 0a20 l-when-compile. │ │ │ +00019140: 2020 2020 2020 2020 2020 2020 2028 6576 (ev │ │ │ +00019150: 616c 2d77 6865 6e2d 636f 6d70 696c 650a al-when-compile. │ │ │ 00019160: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 00019170: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00019180: 2020 2020 2028 6d61 7063 6172 2027 6361 (mapcar 'ca │ │ │ -00019190: 720a 2020 2020 2020 2020 2020 2020 2020 r. │ │ │ +00019180: 2020 2020 2020 286d 6170 6361 7220 2763 (mapcar 'c │ │ │ +00019190: 6172 0a20 2020 2020 2020 2020 2020 2020 ar. │ │ │ 000191a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 000191b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -000191c0: 286c 6973 7420 2873 7472 696e 672d 746f (list (string-to │ │ │ -000191d0: 2d73 796e 7461 7820 2228 2229 0a20 2020 -syntax "("). │ │ │ +000191c0: 2028 6c69 7374 2028 7374 7269 6e67 2d74 (list (string-t │ │ │ +000191d0: 6f2d 7379 6e74 6178 2022 2822 290a 2020 o-syntax "("). │ │ │ 000191e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 000191f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 00019200: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00019210: 2028 7374 7269 6e67 2d74 6f2d 7379 6e74 (string-to-synt │ │ │ -00019220: 6178 2022 2922 290a 2020 2020 2020 2020 ax ")"). │ │ │ +00019210: 2020 2873 7472 696e 672d 746f 2d73 796e (string-to-syn │ │ │ +00019220: 7461 7820 2229 2229 0a20 2020 2020 2020 tax ")"). │ │ │ 00019230: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 00019240: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00019250: 2020 2020 2020 2020 2020 2020 2873 7472 (str │ │ │ -00019260: 696e 672d 746f 2d73 796e 7461 7820 2220 ing-to-syntax " │ │ │ -00019270: 2229 2929 2929 0a20 2020 2020 2020 2020 "))))). │ │ │ -00019280: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ -00019290: 6d6f 6469 6679 2d73 796e 7461 782d 656e modify-syntax-en │ │ │ -000192a0: 7472 7920 6b65 7973 2022 7722 2074 626c try keys "w" tbl │ │ │ -000192b0: 2929 290a 2020 2020 2020 2020 2020 2020 ))). │ │ │ -000192c0: 2020 2020 2020 2020 2873 7461 6e64 6172 (standar │ │ │ -000192d0: 642d 7379 6e74 6178 2d74 6162 6c65 2929 d-syntax-table)) │ │ │ -000192e0: 0a20 2020 203b 3b20 5468 656e 206f 7665 . ;; Then ove │ │ │ -000192f0: 7272 6964 6520 7468 6520 7265 6d61 696e rride the remain │ │ │ -00019300: 696e 6720 7370 6563 6961 6c20 6361 7365 ing special case │ │ │ -00019310: 732e 0a20 2020 2028 646f 6c69 7374 2028 s.. (dolist ( │ │ │ -00019320: 6373 2027 2828 3f2d 202e 2022 7720 3132 cs '((?- . "w 12 │ │ │ -00019330: 2229 2028 3f5c 6e20 2e20 223e 2229 0a20 ") (?\n . ">"). │ │ │ +00019250: 2020 2020 2020 2020 2020 2020 2028 7374 (st │ │ │ +00019260: 7269 6e67 2d74 6f2d 7379 6e74 6178 2022 ring-to-syntax " │ │ │ +00019270: 2022 2929 2929 290a 2020 2020 2020 2020 "))))). │ │ │ +00019280: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +00019290: 286d 6f64 6966 792d 7379 6e74 6178 2d65 (modify-syntax-e │ │ │ +000192a0: 6e74 7279 206b 6579 7320 2277 2220 7462 ntry keys "w" tb │ │ │ +000192b0: 6c29 2929 0a20 2020 2020 2020 2020 2020 l))). │ │ │ +000192c0: 2020 2020 2020 2020 2028 7374 616e 6461 (standa │ │ │ +000192d0: 7264 2d73 796e 7461 782d 7461 626c 6529 rd-syntax-table) │ │ │ +000192e0: 290a 2020 2020 3b3b 2054 6865 6e20 6f76 ). ;; Then ov │ │ │ +000192f0: 6572 7269 6465 2074 6865 2072 656d 6169 erride the remai │ │ │ +00019300: 6e69 6e67 2073 7065 6369 616c 2063 6173 ning special cas │ │ │ +00019310: 6573 2e0a 2020 2020 2864 6f6c 6973 7420 es.. (dolist │ │ │ +00019320: 2863 7320 2728 283f 2d20 2e20 2277 2031 (cs '((?- . "w 1 │ │ │ +00019330: 3222 2920 283f 5c6e 202e 2022 3e22 290a 2") (?\n . ">"). │ │ │ 00019340: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00019350: 2028 3f2e 202e 2022 2e22 2920 283f 5c3b (?. . ".") (?\; │ │ │ -00019360: 202e 2022 2e22 2920 283f 2120 2e20 222e . ".") (?! . ". │ │ │ -00019370: 2229 2929 0a20 2020 2020 2028 6d6f 6469 "))). (modi │ │ │ -00019380: 6679 2d73 796e 7461 782d 656e 7472 7920 fy-syntax-entry │ │ │ -00019390: 2863 6172 2063 7329 2028 6364 7220 6373 (car cs) (cdr cs │ │ │ -000193a0: 2920 7462 6c29 290a 2020 2020 7462 6c29 ) tbl)). tbl) │ │ │ -000193b0: 0a20 2022 5379 6e74 6178 2074 6162 6c65 . "Syntax table │ │ │ -000193c0: 2075 7365 6420 6279 2074 6865 2041 6764 used by the Agd │ │ │ -000193d0: 6120 6d6f 6465 3a0a 0a2d 2020 207c 2043 a mode:..- | C │ │ │ -000193e0: 6f6d 6d65 6e74 2063 6861 7261 6374 6572 omment character │ │ │ -000193f0: 2c20 776f 7264 2063 6f6e 7374 6974 7565 , word constitue │ │ │ -00019400: 6e74 2e0a 5c6e 2020 7c20 436f 6d6d 656e nt..\n | Commen │ │ │ -00019410: 7420 656e 6465 722e 0a2e 3b21 207c 2050 t ender...;! | P │ │ │ -00019420: 756e 6374 7561 7469 6f6e 2e0a 0a52 656d unctuation...Rem │ │ │ -00019430: 6169 6e69 6e67 2063 6861 7261 6374 6572 aining character │ │ │ -00019440: 7320 696e 6865 7269 7420 7468 6569 7220 s inherit their │ │ │ -00019450: 7379 6e74 6178 2063 6c61 7373 6573 2066 syntax classes f │ │ │ -00019460: 726f 6d20 7468 650a 7374 616e 6461 7264 rom the.standard │ │ │ -00019470: 2073 796e 7461 7820 7461 626c 6520 6966 syntax table if │ │ │ -00019480: 2074 6861 7420 7461 626c 6520 7472 6561 that table trea │ │ │ -00019490: 7473 2074 6865 6d20 6173 206d 6174 6368 ts them as match │ │ │ -000194a0: 696e 670a 7061 7265 6e74 6865 7365 7320 ing.parentheses │ │ │ -000194b0: 6f72 2077 6869 7465 7370 6163 652e 2020 or whitespace. │ │ │ -000194c0: 4f74 6865 7277 6973 6520 7468 6579 2061 Otherwise they a │ │ │ -000194d0: 7265 2074 7265 6174 6564 2061 7320 776f re treated as wo │ │ │ -000194e0: 7264 0a63 6f6e 7374 6974 7565 6e74 732e rd.constituents. │ │ │ -000194f0: 2229 0a0a 2864 6566 636f 6e73 7420 6167 ")..(defconst ag │ │ │ -00019500: 6461 322d 636f 6d6d 616e 642d 7461 626c da2-command-tabl │ │ │ -00019510: 650a 2020 6028 0a20 2020 2028 6167 6461 e. `(. (agda │ │ │ -00019520: 322d 6c6f 6164 2020 2020 2020 2020 2020 2-load │ │ │ +00019350: 2020 283f 2e20 2e20 222e 2229 2028 3f5c (?. . ".") (?\ │ │ │ +00019360: 3b20 2e20 222e 2229 2028 3f21 202e 2022 ; . ".") (?! . " │ │ │ +00019370: 2e22 2929 290a 2020 2020 2020 286d 6f64 ."))). (mod │ │ │ +00019380: 6966 792d 7379 6e74 6178 2d65 6e74 7279 ify-syntax-entry │ │ │ +00019390: 2028 6361 7220 6373 2920 2863 6472 2063 (car cs) (cdr c │ │ │ +000193a0: 7329 2074 626c 2929 0a20 2020 2074 626c s) tbl)). tbl │ │ │ +000193b0: 290a 2020 2253 796e 7461 7820 7461 626c ). "Syntax tabl │ │ │ +000193c0: 6520 7573 6564 2062 7920 7468 6520 4167 e used by the Ag │ │ │ +000193d0: 6461 206d 6f64 653a 0a0a 2d20 2020 7c20 da mode:..- | │ │ │ +000193e0: 436f 6d6d 656e 7420 6368 6172 6163 7465 Comment characte │ │ │ +000193f0: 722c 2077 6f72 6420 636f 6e73 7469 7475 r, word constitu │ │ │ +00019400: 656e 742e 0a5c 6e20 207c 2043 6f6d 6d65 ent..\n | Comme │ │ │ +00019410: 6e74 2065 6e64 6572 2e0a 2e3b 2120 7c20 nt ender...;! | │ │ │ +00019420: 5075 6e63 7475 6174 696f 6e2e 0a0a 5265 Punctuation...Re │ │ │ +00019430: 6d61 696e 696e 6720 6368 6172 6163 7465 maining characte │ │ │ +00019440: 7273 2069 6e68 6572 6974 2074 6865 6972 rs inherit their │ │ │ +00019450: 2073 796e 7461 7820 636c 6173 7365 7320 syntax classes │ │ │ +00019460: 6672 6f6d 2074 6865 0a73 7461 6e64 6172 from the.standar │ │ │ +00019470: 6420 7379 6e74 6178 2074 6162 6c65 2069 d syntax table i │ │ │ +00019480: 6620 7468 6174 2074 6162 6c65 2074 7265 f that table tre │ │ │ +00019490: 6174 7320 7468 656d 2061 7320 6d61 7463 ats them as matc │ │ │ +000194a0: 6869 6e67 0a70 6172 656e 7468 6573 6573 hing.parentheses │ │ │ +000194b0: 206f 7220 7768 6974 6573 7061 6365 2e20 or whitespace. │ │ │ +000194c0: 204f 7468 6572 7769 7365 2074 6865 7920 Otherwise they │ │ │ +000194d0: 6172 6520 7472 6561 7465 6420 6173 2077 are treated as w │ │ │ +000194e0: 6f72 640a 636f 6e73 7469 7475 656e 7473 ord.constituents │ │ │ +000194f0: 2e22 290a 0a28 6465 6663 6f6e 7374 2061 .")..(defconst a │ │ │ +00019500: 6764 6132 2d63 6f6d 6d61 6e64 2d74 6162 gda2-command-tab │ │ │ +00019510: 6c65 0a20 2060 280a 2020 2020 2861 6764 le. `(. (agd │ │ │ +00019520: 6132 2d6c 6f61 6420 2020 2020 2020 2020 a2-load │ │ │ 00019530: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00019540: 2020 2020 225c 432d 635c 432d 6c22 2020 "\C-c\C-l" │ │ │ -00019550: 2020 2020 2020 2020 2028 676c 6f62 616c (global │ │ │ -00019560: 2920 2020 2020 2020 224c 6f61 6422 290a ) "Load"). │ │ │ -00019570: 2020 2020 2861 6764 6132 2d6c 6f61 6420 (agda2-load │ │ │ +00019540: 2020 2020 2022 5c43 2d63 5c43 2d6c 2220 "\C-c\C-l" │ │ │ +00019550: 2020 2020 2020 2020 2020 2867 6c6f 6261 (globa │ │ │ +00019560: 6c29 2020 2020 2020 2022 4c6f 6164 2229 l) "Load") │ │ │ +00019570: 0a20 2020 2028 6167 6461 322d 6c6f 6164 . (agda2-load │ │ │ 00019580: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00019590: 2020 2020 2020 2020 2020 2020 2022 5c43 "\C │ │ │ -000195a0: 2d63 5c43 2d78 5c43 2d6c 2229 0a20 2020 -c\C-x\C-l"). │ │ │ -000195b0: 2028 6167 6461 322d 636f 6d70 696c 6520 (agda2-compile │ │ │ +00019590: 2020 2020 2020 2020 2020 2020 2020 225c "\ │ │ │ +000195a0: 432d 635c 432d 785c 432d 6c22 290a 2020 C-c\C-x\C-l"). │ │ │ +000195b0: 2020 2861 6764 6132 2d63 6f6d 7069 6c65 (agda2-compile │ │ │ 000195c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -000195d0: 2020 2020 2020 2020 2020 225c 432d 635c "\C-c\ │ │ │ -000195e0: 432d 785c 432d 6322 2020 2020 2020 2028 C-x\C-c" ( │ │ │ -000195f0: 676c 6f62 616c 2920 2020 2020 2020 2243 global) "C │ │ │ -00019600: 6f6d 7069 6c65 2229 0a20 2020 2028 6167 ompile"). (ag │ │ │ -00019610: 6461 322d 6261 636b 656e 642d 636d 6420 da2-backend-cmd │ │ │ +000195d0: 2020 2020 2020 2020 2020 2022 5c43 2d63 "\C-c │ │ │ +000195e0: 5c43 2d78 5c43 2d63 2220 2020 2020 2020 \C-x\C-c" │ │ │ +000195f0: 2867 6c6f 6261 6c29 2020 2020 2020 2022 (global) " │ │ │ +00019600: 436f 6d70 696c 6522 290a 2020 2020 2861 Compile"). (a │ │ │ +00019610: 6764 6132 2d62 6163 6b65 6e64 2d63 6d64 gda2-backend-cmd │ │ │ 00019620: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00019630: 2020 2020 2020 225c 432d 635c 432d 6922 "\C-c\C-i" │ │ │ -00019640: 2020 2020 2020 2020 2020 2028 676c 6f62 (glob │ │ │ -00019650: 616c 2920 2020 2020 2020 2252 756e 2062 al) "Run b │ │ │ -00019660: 6163 6b65 6e64 2069 6e74 6572 6163 7469 ackend interacti │ │ │ -00019670: 6f6e 2229 0a20 2020 2028 6167 6461 322d on"). (agda2- │ │ │ -00019680: 7175 6974 2020 2020 2020 2020 2020 2020 quit │ │ │ +00019630: 2020 2020 2020 2022 5c43 2d63 5c43 2d69 "\C-c\C-i │ │ │ +00019640: 2220 2020 2020 2020 2020 2020 2867 6c6f " (glo │ │ │ +00019650: 6261 6c29 2020 2020 2020 2022 5275 6e20 bal) "Run │ │ │ +00019660: 6261 636b 656e 6420 696e 7465 7261 6374 backend interact │ │ │ +00019670: 696f 6e22 290a 2020 2020 2861 6764 6132 ion"). (agda2 │ │ │ +00019680: 2d71 7569 7420 2020 2020 2020 2020 2020 -quit │ │ │ 00019690: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -000196a0: 2020 225c 432d 635c 432d 785c 432d 7122 "\C-c\C-x\C-q" │ │ │ -000196b0: 2020 2020 2020 2028 676c 6f62 616c 2920 (global) │ │ │ -000196c0: 2020 2020 2020 2251 7569 7422 290a 2020 "Quit"). │ │ │ -000196d0: 2020 2861 6764 6132 2d72 6573 7461 7274 (agda2-restart │ │ │ -000196e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -000196f0: 2020 2020 2020 2020 2020 2022 5c43 2d63 "\C-c │ │ │ -00019700: 5c43 2d78 5c43 2d72 2220 2020 2020 2020 \C-x\C-r" │ │ │ -00019710: 2867 6c6f 6261 6c29 2020 2020 2020 2022 (global) " │ │ │ -00019720: 4b69 6c6c 2061 6e64 2072 6573 7461 7274 Kill and restart │ │ │ -00019730: 2041 6764 6122 290a 2020 2020 2861 6764 Agda"). (agd │ │ │ -00019740: 6132 2d61 626f 7274 2020 2020 2020 2020 a2-abort │ │ │ +000196a0: 2020 2022 5c43 2d63 5c43 2d78 5c43 2d71 "\C-c\C-x\C-q │ │ │ +000196b0: 2220 2020 2020 2020 2867 6c6f 6261 6c29 " (global) │ │ │ +000196c0: 2020 2020 2020 2022 5175 6974 2229 0a20 "Quit"). │ │ │ +000196d0: 2020 2028 6167 6461 322d 7265 7374 6172 (agda2-restar │ │ │ +000196e0: 7420 2020 2020 2020 2020 2020 2020 2020 t │ │ │ +000196f0: 2020 2020 2020 2020 2020 2020 225c 432d "\C- │ │ │ +00019700: 635c 432d 785c 432d 7222 2020 2020 2020 c\C-x\C-r" │ │ │ +00019710: 2028 676c 6f62 616c 2920 2020 2020 2020 (global) │ │ │ +00019720: 224b 696c 6c20 616e 6420 7265 7374 6172 "Kill and restar │ │ │ +00019730: 7420 4167 6461 2229 0a20 2020 2028 6167 t Agda"). (ag │ │ │ +00019740: 6461 322d 6162 6f72 7420 2020 2020 2020 da2-abort │ │ │ 00019750: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00019760: 2020 2020 2022 5c43 2d63 5c43 2d78 5c43 "\C-c\C-x\C │ │ │ -00019770: 2d61 2220 2020 2020 2020 2867 6c6f 6261 -a" (globa │ │ │ -00019780: 6c29 2020 2020 2020 2022 4162 6f72 7420 l) "Abort │ │ │ -00019790: 6120 636f 6d6d 616e 6422 290a 2020 2020 a command"). │ │ │ -000197a0: 2861 6764 6132 2d72 656d 6f76 652d 616e (agda2-remove-an │ │ │ -000197b0: 6e6f 7461 7469 6f6e 7320 2020 2020 2020 notations │ │ │ -000197c0: 2020 2020 2020 2020 2022 5c43 2d63 5c43 "\C-c\C │ │ │ -000197d0: 2d78 5c43 2d64 2220 2020 2020 2020 2867 -x\C-d" (g │ │ │ -000197e0: 6c6f 6261 6c29 2020 2020 2020 2022 5265 lobal) "Re │ │ │ -000197f0: 6d6f 7665 2067 6f61 6c73 2061 6e64 2068 move goals and h │ │ │ -00019800: 6967 686c 6967 6874 696e 6720 285c 2264 ighlighting (\"d │ │ │ -00019810: 6561 6374 6976 6174 655c 2229 2229 0a20 eactivate\")"). │ │ │ -00019820: 2020 2028 6167 6461 322d 6469 7370 6c61 (agda2-displa │ │ │ -00019830: 792d 696d 706c 6963 6974 2d61 7267 756d y-implicit-argum │ │ │ -00019840: 656e 7473 2020 2020 2020 2020 225c 432d ents "\C- │ │ │ -00019850: 635c 432d 785c 432d 6822 2020 2020 2020 c\C-x\C-h" │ │ │ -00019860: 2028 676c 6f62 616c 2920 2020 2020 2020 (global) │ │ │ -00019870: 2254 6f67 676c 6520 6469 7370 6c61 7920 "Toggle display │ │ │ -00019880: 6f66 2068 6964 6465 6e20 6172 6775 6d65 of hidden argume │ │ │ -00019890: 6e74 7322 290a 2020 2020 2861 6764 6132 nts"). (agda2 │ │ │ -000198a0: 2d64 6973 706c 6179 2d69 7272 656c 6576 -display-irrelev │ │ │ -000198b0: 616e 742d 6172 6775 6d65 6e74 7320 2020 ant-arguments │ │ │ -000198c0: 2020 2022 5c43 2d63 5c43 2d78 5c43 2d69 "\C-c\C-x\C-i │ │ │ -000198d0: 2220 2020 2020 2020 2867 6c6f 6261 6c29 " (global) │ │ │ -000198e0: 2020 2020 2020 2022 546f 6767 6c65 2064 "Toggle d │ │ │ -000198f0: 6973 706c 6179 206f 6620 6972 7265 6c65 isplay of irrele │ │ │ -00019900: 7661 6e74 2061 7267 756d 656e 7473 2229 vant arguments") │ │ │ -00019910: 0a20 2020 2028 6167 6461 322d 7368 6f77 . (agda2-show │ │ │ -00019920: 2d63 6f6e 7374 7261 696e 7473 2020 2020 -constraints │ │ │ -00019930: 2020 2020 2020 2020 2020 2020 2020 2c28 ,( │ │ │ -00019940: 6b62 6420 2243 2d63 2043 2d3d 2229 2020 kbd "C-c C-=") │ │ │ -00019950: 2020 2028 676c 6f62 616c 2920 2020 2020 (global) │ │ │ -00019960: 2020 2253 686f 7720 636f 6e73 7472 6169 "Show constrai │ │ │ -00019970: 6e74 7322 290a 2020 2020 2861 6764 6132 nts"). (agda2 │ │ │ -00019980: 2d73 6f6c 7665 2d6d 6179 6265 2d61 6c6c -solve-maybe-all │ │ │ -00019990: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -000199a0: 2020 202c 286b 6264 2022 432d 6320 432d ,(kbd "C-c C- │ │ │ -000199b0: 7322 2920 2020 2020 286c 6f63 616c 2067 s") (local g │ │ │ -000199c0: 6c6f 6261 6c29 2022 536f 6c76 6520 636f lobal) "Solve co │ │ │ -000199d0: 6e73 7472 6169 6e74 7322 290a 2020 2020 nstraints"). │ │ │ -000199e0: 2861 6764 6132 2d73 686f 772d 676f 616c (agda2-show-goal │ │ │ -000199f0: 7320 2020 2020 2020 2020 2020 2020 2020 s │ │ │ -00019a00: 2020 2020 2020 2020 202c 286b 6264 2022 ,(kbd " │ │ │ -00019a10: 432d 6320 432d 3f22 2920 2020 2020 2867 C-c C-?") (g │ │ │ -00019a20: 6c6f 6261 6c29 2020 2020 2020 2022 5368 lobal) "Sh │ │ │ -00019a30: 6f77 2067 6f61 6c73 2229 0a20 2020 2028 ow goals"). ( │ │ │ -00019a40: 6167 6461 322d 6e65 7874 2d67 6f61 6c20 agda2-next-goal │ │ │ +00019760: 2020 2020 2020 225c 432d 635c 432d 785c "\C-c\C-x\ │ │ │ +00019770: 432d 6122 2020 2020 2020 2028 676c 6f62 C-a" (glob │ │ │ +00019780: 616c 2920 2020 2020 2020 2241 626f 7274 al) "Abort │ │ │ +00019790: 2061 2063 6f6d 6d61 6e64 2229 0a20 2020 a command"). │ │ │ +000197a0: 2028 6167 6461 322d 7265 6d6f 7665 2d61 (agda2-remove-a │ │ │ +000197b0: 6e6e 6f74 6174 696f 6e73 2020 2020 2020 nnotations │ │ │ +000197c0: 2020 2020 2020 2020 2020 225c 432d 635c "\C-c\ │ │ │ +000197d0: 432d 785c 432d 6422 2020 2020 2020 2028 C-x\C-d" ( │ │ │ +000197e0: 676c 6f62 616c 2920 2020 2020 2020 2252 global) "R │ │ │ +000197f0: 656d 6f76 6520 676f 616c 7320 616e 6420 emove goals and │ │ │ +00019800: 6869 6768 6c69 6768 7469 6e67 2028 5c22 highlighting (\" │ │ │ +00019810: 6465 6163 7469 7661 7465 5c22 2922 290a deactivate\")"). │ │ │ +00019820: 2020 2020 2861 6764 6132 2d64 6973 706c (agda2-displ │ │ │ +00019830: 6179 2d69 6d70 6c69 6369 742d 6172 6775 ay-implicit-argu │ │ │ +00019840: 6d65 6e74 7320 2020 2020 2020 2022 5c43 ments "\C │ │ │ +00019850: 2d63 5c43 2d78 5c43 2d68 2220 2020 2020 -c\C-x\C-h" │ │ │ +00019860: 2020 2867 6c6f 6261 6c29 2020 2020 2020 (global) │ │ │ +00019870: 2022 546f 6767 6c65 2064 6973 706c 6179 "Toggle display │ │ │ +00019880: 206f 6620 6869 6464 656e 2061 7267 756d of hidden argum │ │ │ +00019890: 656e 7473 2229 0a20 2020 2028 6167 6461 ents"). (agda │ │ │ +000198a0: 322d 6469 7370 6c61 792d 6972 7265 6c65 2-display-irrele │ │ │ +000198b0: 7661 6e74 2d61 7267 756d 656e 7473 2020 vant-arguments │ │ │ +000198c0: 2020 2020 225c 432d 635c 432d 785c 432d "\C-c\C-x\C- │ │ │ +000198d0: 6922 2020 2020 2020 2028 676c 6f62 616c i" (global │ │ │ +000198e0: 2920 2020 2020 2020 2254 6f67 676c 6520 ) "Toggle │ │ │ +000198f0: 6469 7370 6c61 7920 6f66 2069 7272 656c display of irrel │ │ │ +00019900: 6576 616e 7420 6172 6775 6d65 6e74 7322 evant arguments" │ │ │ +00019910: 290a 2020 2020 2861 6764 6132 2d73 686f ). (agda2-sho │ │ │ +00019920: 772d 636f 6e73 7472 6169 6e74 7320 2020 w-constraints │ │ │ +00019930: 2020 2020 2020 2020 2020 2020 2020 202c , │ │ │ +00019940: 286b 6264 2022 432d 6320 432d 3d22 2920 (kbd "C-c C-=") │ │ │ +00019950: 2020 2020 2867 6c6f 6261 6c29 2020 2020 (global) │ │ │ +00019960: 2020 2022 5368 6f77 2063 6f6e 7374 7261 "Show constra │ │ │ +00019970: 696e 7473 2229 0a20 2020 2028 6167 6461 ints"). (agda │ │ │ +00019980: 322d 736f 6c76 652d 6d61 7962 652d 616c 2-solve-maybe-al │ │ │ +00019990: 6c20 2020 2020 2020 2020 2020 2020 2020 l │ │ │ +000199a0: 2020 2020 2c28 6b62 6420 2243 2d63 2043 ,(kbd "C-c C │ │ │ +000199b0: 2d73 2229 2020 2020 2028 6c6f 6361 6c20 -s") (local │ │ │ +000199c0: 676c 6f62 616c 2920 2253 6f6c 7665 2063 global) "Solve c │ │ │ +000199d0: 6f6e 7374 7261 696e 7473 2229 0a20 2020 onstraints"). │ │ │ +000199e0: 2028 6167 6461 322d 7368 6f77 2d67 6f61 (agda2-show-goa │ │ │ +000199f0: 6c73 2020 2020 2020 2020 2020 2020 2020 ls │ │ │ +00019a00: 2020 2020 2020 2020 2020 2c28 6b62 6420 ,(kbd │ │ │ +00019a10: 2243 2d63 2043 2d3f 2229 2020 2020 2028 "C-c C-?") ( │ │ │ +00019a20: 676c 6f62 616c 2920 2020 2020 2020 2253 global) "S │ │ │ +00019a30: 686f 7720 676f 616c 7322 290a 2020 2020 how goals"). │ │ │ +00019a40: 2861 6764 6132 2d6e 6578 742d 676f 616c (agda2-next-goal │ │ │ 00019a50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00019a60: 2020 2020 2020 2020 225c 432d 635c 432d "\C-c\C- │ │ │ -00019a70: 6622 2020 2020 2020 2020 2020 2028 676c f" (gl │ │ │ -00019a80: 6f62 616c 2920 2020 2020 2020 224e 6578 obal) "Nex │ │ │ -00019a90: 7420 676f 616c 2229 203b 2046 6f72 7761 t goal") ; Forwa │ │ │ -00019aa0: 7264 2e0a 2020 2020 2861 6764 6132 2d70 rd.. (agda2-p │ │ │ -00019ab0: 7265 7669 6f75 732d 676f 616c 2020 2020 revious-goal │ │ │ +00019a60: 2020 2020 2020 2020 2022 5c43 2d63 5c43 "\C-c\C │ │ │ +00019a70: 2d66 2220 2020 2020 2020 2020 2020 2867 -f" (g │ │ │ +00019a80: 6c6f 6261 6c29 2020 2020 2020 2022 4e65 lobal) "Ne │ │ │ +00019a90: 7874 2067 6f61 6c22 2920 3b20 466f 7277 xt goal") ; Forw │ │ │ +00019aa0: 6172 642e 0a20 2020 2028 6167 6461 322d ard.. (agda2- │ │ │ +00019ab0: 7072 6576 696f 7573 2d67 6f61 6c20 2020 previous-goal │ │ │ 00019ac0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00019ad0: 2022 5c43 2d63 5c43 2d62 2220 2020 2020 "\C-c\C-b" │ │ │ -00019ae0: 2020 2020 2020 2867 6c6f 6261 6c29 2020 (global) │ │ │ -00019af0: 2020 2020 2022 5072 6576 696f 7573 2067 "Previous g │ │ │ -00019b00: 6f61 6c22 2920 3b20 4261 636b 2e0a 2020 oal") ; Back.. │ │ │ -00019b10: 2020 2861 6764 6132 2d67 6976 6520 2020 (agda2-give │ │ │ +00019ad0: 2020 225c 432d 635c 432d 6222 2020 2020 "\C-c\C-b" │ │ │ +00019ae0: 2020 2020 2020 2028 676c 6f62 616c 2920 (global) │ │ │ +00019af0: 2020 2020 2020 2250 7265 7669 6f75 7320 "Previous │ │ │ +00019b00: 676f 616c 2229 203b 2042 6163 6b2e 0a20 goal") ; Back.. │ │ │ +00019b10: 2020 2028 6167 6461 322d 6769 7665 2020 (agda2-give │ │ │ 00019b20: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00019b30: 2020 2020 2020 2020 2020 202c 286b 6264 ,(kbd │ │ │ -00019b40: 2022 432d 6320 432d 5350 4322 2920 2020 "C-c C-SPC") │ │ │ -00019b50: 286c 6f63 616c 2920 2020 2020 2020 2022 (local) " │ │ │ -00019b60: 4769 7665 2229 0a20 2020 2028 6167 6461 Give"). (agda │ │ │ -00019b70: 322d 656c 6162 6f72 6174 652d 6769 7665 2-elaborate-give │ │ │ -00019b80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00019b90: 2020 2020 2c28 6b62 6420 2243 2d63 2043 ,(kbd "C-c C │ │ │ -00019ba0: 2d6d 2229 2020 2020 2028 6c6f 6361 6c29 -m") (local) │ │ │ -00019bb0: 2020 2020 2020 2020 2245 6c61 626f 7261 "Elabora │ │ │ -00019bc0: 7465 2061 6e64 2047 6976 6522 290a 2020 te and Give"). │ │ │ -00019bd0: 2020 2861 6764 6132 2d72 6566 696e 6520 (agda2-refine │ │ │ +00019b30: 2020 2020 2020 2020 2020 2020 2c28 6b62 ,(kb │ │ │ +00019b40: 6420 2243 2d63 2043 2d53 5043 2229 2020 d "C-c C-SPC") │ │ │ +00019b50: 2028 6c6f 6361 6c29 2020 2020 2020 2020 (local) │ │ │ +00019b60: 2247 6976 6522 290a 2020 2020 2861 6764 "Give"). (agd │ │ │ +00019b70: 6132 2d65 6c61 626f 7261 7465 2d67 6976 a2-elaborate-giv │ │ │ +00019b80: 6520 2020 2020 2020 2020 2020 2020 2020 e │ │ │ +00019b90: 2020 2020 202c 286b 6264 2022 432d 6320 ,(kbd "C-c │ │ │ +00019ba0: 432d 6d22 2920 2020 2020 286c 6f63 616c C-m") (local │ │ │ +00019bb0: 2920 2020 2020 2020 2022 456c 6162 6f72 ) "Elabor │ │ │ +00019bc0: 6174 6520 616e 6420 4769 7665 2229 0a20 ate and Give"). │ │ │ +00019bd0: 2020 2028 6167 6461 322d 7265 6669 6e65 (agda2-refine │ │ │ 00019be0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00019bf0: 2020 2020 2020 2020 2020 2022 5c43 2d63 "\C-c │ │ │ -00019c00: 5c43 2d72 2220 2020 2020 2020 2020 2020 \C-r" │ │ │ -00019c10: 286c 6f63 616c 2920 2020 2020 2020 2022 (local) " │ │ │ -00019c20: 5265 6669 6e65 2229 0a20 2020 2028 6167 Refine"). (ag │ │ │ -00019c30: 6461 322d 6d69 6d65 722d 6d61 7962 652d da2-mimer-maybe- │ │ │ -00019c40: 616c 6c20 2020 2020 2020 2020 2020 2020 all │ │ │ -00019c50: 2020 2020 2020 225c 432d 635c 432d 6122 "\C-c\C-a" │ │ │ -00019c60: 2020 2020 2020 2020 2020 2028 6c6f 6361 (loca │ │ │ -00019c70: 6c20 676c 6f62 616c 2920 2241 7574 6f22 l global) "Auto" │ │ │ -00019c80: 290a 2020 2020 2861 6764 6132 2d6d 616b ). (agda2-mak │ │ │ -00019c90: 652d 6361 7365 2020 2020 2020 2020 2020 e-case │ │ │ -00019ca0: 2020 2020 2020 2020 2020 2020 2020 2022 " │ │ │ -00019cb0: 5c43 2d63 5c43 2d63 2220 2020 2020 2020 \C-c\C-c" │ │ │ -00019cc0: 2020 2020 286c 6f63 616c 2920 2020 2020 (local) │ │ │ -00019cd0: 2020 2022 4361 7365 2229 0a20 2020 2028 "Case"). ( │ │ │ -00019ce0: 6167 6461 322d 676f 616c 2d74 7970 6520 agda2-goal-type │ │ │ +00019bf0: 2020 2020 2020 2020 2020 2020 225c 432d "\C- │ │ │ +00019c00: 635c 432d 7222 2020 2020 2020 2020 2020 c\C-r" │ │ │ +00019c10: 2028 6c6f 6361 6c29 2020 2020 2020 2020 (local) │ │ │ +00019c20: 2252 6566 696e 6522 290a 2020 2020 2861 "Refine"). (a │ │ │ +00019c30: 6764 6132 2d6d 696d 6572 2d6d 6179 6265 gda2-mimer-maybe │ │ │ +00019c40: 2d61 6c6c 2020 2020 2020 2020 2020 2020 -all │ │ │ +00019c50: 2020 2020 2020 2022 5c43 2d63 5c43 2d61 "\C-c\C-a │ │ │ +00019c60: 2220 2020 2020 2020 2020 2020 286c 6f63 " (loc │ │ │ +00019c70: 616c 2067 6c6f 6261 6c29 2022 4175 746f al global) "Auto │ │ │ +00019c80: 2229 0a20 2020 2028 6167 6461 322d 6d61 "). (agda2-ma │ │ │ +00019c90: 6b65 2d63 6173 6520 2020 2020 2020 2020 ke-case │ │ │ +00019ca0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +00019cb0: 225c 432d 635c 432d 6322 2020 2020 2020 "\C-c\C-c" │ │ │ +00019cc0: 2020 2020 2028 6c6f 6361 6c29 2020 2020 (local) │ │ │ +00019cd0: 2020 2020 2243 6173 6522 290a 2020 2020 "Case"). │ │ │ +00019ce0: 2861 6764 6132 2d67 6f61 6c2d 7479 7065 (agda2-goal-type │ │ │ 00019cf0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00019d00: 2020 2020 2020 2020 225c 432d 635c 432d "\C-c\C- │ │ │ -00019d10: 7422 2020 2020 2020 2020 2020 2028 6c6f t" (lo │ │ │ -00019d20: 6361 6c29 2020 2020 2020 2020 2247 6f61 cal) "Goa │ │ │ -00019d30: 6c20 7479 7065 2229 0a20 2020 2028 6167 l type"). (ag │ │ │ -00019d40: 6461 322d 7368 6f77 2d63 6f6e 7465 7874 da2-show-context │ │ │ -00019d50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00019d60: 2020 2020 2020 225c 432d 635c 432d 6522 "\C-c\C-e" │ │ │ -00019d70: 2020 2020 2020 2020 2020 2028 6c6f 6361 (loca │ │ │ -00019d80: 6c29 2020 2020 2020 2020 2243 6f6e 7465 l) "Conte │ │ │ -00019d90: 7874 2028 656e 7669 726f 6e6d 656e 7429 xt (environment) │ │ │ -00019da0: 2229 0a20 2020 2028 6167 6461 322d 6865 "). (agda2-he │ │ │ -00019db0: 6c70 6572 2d66 756e 6374 696f 6e2d 7479 lper-function-ty │ │ │ -00019dc0: 7065 2020 2020 2020 2020 2020 2020 2020 pe │ │ │ -00019dd0: 225c 432d 635c 432d 6822 2020 2020 2020 "\C-c\C-h" │ │ │ -00019de0: 2020 2020 2028 6c6f 6361 6c29 2020 2020 (local) │ │ │ -00019df0: 2020 2020 2248 656c 7065 7220 6675 6e63 "Helper func │ │ │ -00019e00: 7469 6f6e 2074 7970 6522 290a 2020 2020 tion type"). │ │ │ -00019e10: 2861 6764 6132 2d69 6e66 6572 2d74 7970 (agda2-infer-typ │ │ │ -00019e20: 652d 6d61 7962 652d 746f 706c 6576 656c e-maybe-toplevel │ │ │ -00019e30: 2020 2020 2020 2020 2022 5c43 2d63 5c43 "\C-c\C │ │ │ -00019e40: 2d64 2220 2020 2020 2020 2020 2020 286c -d" (l │ │ │ -00019e50: 6f63 616c 2067 6c6f 6261 6c29 2022 496e ocal global) "In │ │ │ -00019e60: 6665 7220 2864 6564 7563 6529 2074 7970 fer (deduce) typ │ │ │ -00019e70: 6522 290a 2020 2020 2861 6764 6132 2d77 e"). (agda2-w │ │ │ -00019e80: 6879 2d69 6e2d 7363 6f70 652d 6d61 7962 hy-in-scope-mayb │ │ │ -00019e90: 652d 746f 706c 6576 656c 2020 2020 2020 e-toplevel │ │ │ -00019ea0: 2022 5c43 2d63 5c43 2d77 2220 2020 2020 "\C-c\C-w" │ │ │ -00019eb0: 2020 2020 2020 286c 6f63 616c 2067 6c6f (local glo │ │ │ -00019ec0: 6261 6c29 2022 4578 706c 6169 6e20 7768 bal) "Explain wh │ │ │ -00019ed0: 7920 6120 7061 7274 6963 756c 6172 206e y a particular n │ │ │ -00019ee0: 616d 6520 6973 2069 6e20 7363 6f70 6522 ame is in scope" │ │ │ -00019ef0: 290a 2020 2020 2861 6764 6132 2d67 6f61 ). (agda2-goa │ │ │ -00019f00: 6c2d 616e 642d 636f 6e74 6578 7420 2020 l-and-context │ │ │ -00019f10: 2020 2020 2020 2020 2020 2020 2020 202c , │ │ │ -00019f20: 286b 6264 2022 432d 6320 432d 2c22 2920 (kbd "C-c C-,") │ │ │ -00019f30: 2020 2020 286c 6f63 616c 2920 2020 2020 (local) │ │ │ -00019f40: 2020 2022 476f 616c 2074 7970 6520 616e "Goal type an │ │ │ -00019f50: 6420 636f 6e74 6578 7422 290a 2020 2020 d context"). │ │ │ -00019f60: 2861 6764 6132 2d67 6f61 6c2d 616e 642d (agda2-goal-and- │ │ │ -00019f70: 636f 6e74 6578 742d 616e 642d 696e 6665 context-and-infe │ │ │ -00019f80: 7272 6564 2020 2020 202c 286b 6264 2022 rred ,(kbd " │ │ │ -00019f90: 432d 6320 432d 2e22 2920 2020 2020 286c C-c C-.") (l │ │ │ -00019fa0: 6f63 616c 2920 2020 2020 2020 2022 476f ocal) "Go │ │ │ -00019fb0: 616c 2074 7970 652c 2063 6f6e 7465 7874 al type, context │ │ │ -00019fc0: 2061 6e64 2069 6e66 6572 7265 6420 7479 and inferred ty │ │ │ -00019fd0: 7065 2229 0a20 2020 2028 6167 6461 322d pe"). (agda2- │ │ │ -00019fe0: 676f 616c 2d61 6e64 2d63 6f6e 7465 7874 goal-and-context │ │ │ -00019ff0: 2d61 6e64 2d63 6865 636b 6564 2020 2020 -and-checked │ │ │ -0001a000: 2020 2c28 6b62 6420 2243 2d63 2043 2d3b ,(kbd "C-c C-; │ │ │ -0001a010: 2229 2020 2020 2028 6c6f 6361 6c29 2020 ") (local) │ │ │ -0001a020: 2020 2020 2020 2247 6f61 6c20 7479 7065 "Goal type │ │ │ -0001a030: 2c20 636f 6e74 6578 7420 616e 6420 6368 , context and ch │ │ │ -0001a040: 6563 6b65 6420 7479 7065 2229 0a20 2020 ecked type"). │ │ │ -0001a050: 2028 6167 6461 322d 7365 6172 6368 2d61 (agda2-search-a │ │ │ -0001a060: 626f 7574 2d74 6f70 6c65 7665 6c20 2020 bout-toplevel │ │ │ -0001a070: 2020 2020 2020 2020 2020 2c28 6b62 6420 ,(kbd │ │ │ -0001a080: 2243 2d63 2043 2d7a 2229 2020 2020 2028 "C-c C-z") ( │ │ │ -0001a090: 6c6f 6361 6c20 676c 6f62 616c 2920 2253 local global) "S │ │ │ -0001a0a0: 6561 7263 6820 4162 6f75 7422 290a 2020 earch About"). │ │ │ -0001a0b0: 2020 2861 6764 6132 2d6d 6f64 756c 652d (agda2-module- │ │ │ -0001a0c0: 636f 6e74 656e 7473 2d6d 6179 6265 2d74 contents-maybe-t │ │ │ -0001a0d0: 6f70 6c65 7665 6c20 2020 202c 286b 6264 oplevel ,(kbd │ │ │ -0001a0e0: 2022 432d 6320 432d 6f22 2920 2020 2020 "C-c C-o") │ │ │ -0001a0f0: 286c 6f63 616c 2067 6c6f 6261 6c29 2022 (local global) " │ │ │ -0001a100: 4d6f 6475 6c65 2063 6f6e 7465 6e74 7322 Module contents" │ │ │ -0001a110: 290a 2020 2020 2861 6764 6132 2d63 6f6d ). (agda2-com │ │ │ -0001a120: 7075 7465 2d6e 6f72 6d61 6c69 7365 642d pute-normalised- │ │ │ -0001a130: 6d61 7962 652d 746f 706c 6576 656c 2022 maybe-toplevel " │ │ │ -0001a140: 5c43 2d63 5c43 2d6e 2220 2020 2020 2020 \C-c\C-n" │ │ │ -0001a150: 2020 2020 286c 6f63 616c 2067 6c6f 6261 (local globa │ │ │ -0001a160: 6c29 2022 4576 616c 7561 7465 2074 6572 l) "Evaluate ter │ │ │ -0001a170: 6d20 746f 206e 6f72 6d61 6c20 666f 726d m to normal form │ │ │ -0001a180: 2229 0a20 2020 2028 6465 7363 7269 6265 "). (describe │ │ │ -0001a190: 2d63 6861 7220 2020 2020 2020 2020 2020 -char │ │ │ +00019d00: 2020 2020 2020 2020 2022 5c43 2d63 5c43 "\C-c\C │ │ │ +00019d10: 2d74 2220 2020 2020 2020 2020 2020 286c -t" (l │ │ │ +00019d20: 6f63 616c 2920 2020 2020 2020 2022 476f ocal) "Go │ │ │ +00019d30: 616c 2074 7970 6522 290a 2020 2020 2861 al type"). (a │ │ │ +00019d40: 6764 6132 2d73 686f 772d 636f 6e74 6578 gda2-show-contex │ │ │ +00019d50: 7420 2020 2020 2020 2020 2020 2020 2020 t │ │ │ +00019d60: 2020 2020 2020 2022 5c43 2d63 5c43 2d65 "\C-c\C-e │ │ │ +00019d70: 2220 2020 2020 2020 2020 2020 286c 6f63 " (loc │ │ │ +00019d80: 616c 2920 2020 2020 2020 2022 436f 6e74 al) "Cont │ │ │ +00019d90: 6578 7420 2865 6e76 6972 6f6e 6d65 6e74 ext (environment │ │ │ +00019da0: 2922 290a 2020 2020 2861 6764 6132 2d68 )"). (agda2-h │ │ │ +00019db0: 656c 7065 722d 6675 6e63 7469 6f6e 2d74 elper-function-t │ │ │ +00019dc0: 7970 6520 2020 2020 2020 2020 2020 2020 ype │ │ │ +00019dd0: 2022 5c43 2d63 5c43 2d68 2220 2020 2020 "\C-c\C-h" │ │ │ +00019de0: 2020 2020 2020 286c 6f63 616c 2920 2020 (local) │ │ │ +00019df0: 2020 2020 2022 4865 6c70 6572 2066 756e "Helper fun │ │ │ +00019e00: 6374 696f 6e20 7479 7065 2229 0a20 2020 ction type"). │ │ │ +00019e10: 2028 6167 6461 322d 696e 6665 722d 7479 (agda2-infer-ty │ │ │ +00019e20: 7065 2d6d 6179 6265 2d74 6f70 6c65 7665 pe-maybe-topleve │ │ │ +00019e30: 6c20 2020 2020 2020 2020 225c 432d 635c l "\C-c\ │ │ │ +00019e40: 432d 6422 2020 2020 2020 2020 2020 2028 C-d" ( │ │ │ +00019e50: 6c6f 6361 6c20 676c 6f62 616c 2920 2249 local global) "I │ │ │ +00019e60: 6e66 6572 2028 6465 6475 6365 2920 7479 nfer (deduce) ty │ │ │ +00019e70: 7065 2229 0a20 2020 2028 6167 6461 322d pe"). (agda2- │ │ │ +00019e80: 7768 792d 696e 2d73 636f 7065 2d6d 6179 why-in-scope-may │ │ │ +00019e90: 6265 2d74 6f70 6c65 7665 6c20 2020 2020 be-toplevel │ │ │ +00019ea0: 2020 225c 432d 635c 432d 7722 2020 2020 "\C-c\C-w" │ │ │ +00019eb0: 2020 2020 2020 2028 6c6f 6361 6c20 676c (local gl │ │ │ +00019ec0: 6f62 616c 2920 2245 7870 6c61 696e 2077 obal) "Explain w │ │ │ +00019ed0: 6879 2061 2070 6172 7469 6375 6c61 7220 hy a particular │ │ │ +00019ee0: 6e61 6d65 2069 7320 696e 2073 636f 7065 name is in scope │ │ │ +00019ef0: 2229 0a20 2020 2028 6167 6461 322d 676f "). (agda2-go │ │ │ +00019f00: 616c 2d61 6e64 2d63 6f6e 7465 7874 2020 al-and-context │ │ │ +00019f10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +00019f20: 2c28 6b62 6420 2243 2d63 2043 2d2c 2229 ,(kbd "C-c C-,") │ │ │ +00019f30: 2020 2020 2028 6c6f 6361 6c29 2020 2020 (local) │ │ │ +00019f40: 2020 2020 2247 6f61 6c20 7479 7065 2061 "Goal type a │ │ │ +00019f50: 6e64 2063 6f6e 7465 7874 2229 0a20 2020 nd context"). │ │ │ +00019f60: 2028 6167 6461 322d 676f 616c 2d61 6e64 (agda2-goal-and │ │ │ +00019f70: 2d63 6f6e 7465 7874 2d61 6e64 2d69 6e66 -context-and-inf │ │ │ +00019f80: 6572 7265 6420 2020 2020 2c28 6b62 6420 erred ,(kbd │ │ │ +00019f90: 2243 2d63 2043 2d2e 2229 2020 2020 2028 "C-c C-.") ( │ │ │ +00019fa0: 6c6f 6361 6c29 2020 2020 2020 2020 2247 local) "G │ │ │ +00019fb0: 6f61 6c20 7479 7065 2c20 636f 6e74 6578 oal type, contex │ │ │ +00019fc0: 7420 616e 6420 696e 6665 7272 6564 2074 t and inferred t │ │ │ +00019fd0: 7970 6522 290a 2020 2020 2861 6764 6132 ype"). (agda2 │ │ │ +00019fe0: 2d67 6f61 6c2d 616e 642d 636f 6e74 6578 -goal-and-contex │ │ │ +00019ff0: 742d 616e 642d 6368 6563 6b65 6420 2020 t-and-checked │ │ │ +0001a000: 2020 202c 286b 6264 2022 432d 6320 432d ,(kbd "C-c C- │ │ │ +0001a010: 3b22 2920 2020 2020 286c 6f63 616c 2920 ;") (local) │ │ │ +0001a020: 2020 2020 2020 2022 476f 616c 2074 7970 "Goal typ │ │ │ +0001a030: 652c 2063 6f6e 7465 7874 2061 6e64 2063 e, context and c │ │ │ +0001a040: 6865 636b 6564 2074 7970 6522 290a 2020 hecked type"). │ │ │ +0001a050: 2020 2861 6764 6132 2d73 6561 7263 682d (agda2-search- │ │ │ +0001a060: 6162 6f75 742d 746f 706c 6576 656c 2020 about-toplevel │ │ │ +0001a070: 2020 2020 2020 2020 2020 202c 286b 6264 ,(kbd │ │ │ +0001a080: 2022 432d 6320 432d 7a22 2920 2020 2020 "C-c C-z") │ │ │ +0001a090: 286c 6f63 616c 2067 6c6f 6261 6c29 2022 (local global) " │ │ │ +0001a0a0: 5365 6172 6368 2041 626f 7574 2229 0a20 Search About"). │ │ │ +0001a0b0: 2020 2028 6167 6461 322d 6d6f 6475 6c65 (agda2-module │ │ │ +0001a0c0: 2d63 6f6e 7465 6e74 732d 6d61 7962 652d -contents-maybe- │ │ │ +0001a0d0: 746f 706c 6576 656c 2020 2020 2c28 6b62 toplevel ,(kb │ │ │ +0001a0e0: 6420 2243 2d63 2043 2d6f 2229 2020 2020 d "C-c C-o") │ │ │ +0001a0f0: 2028 6c6f 6361 6c20 676c 6f62 616c 2920 (local global) │ │ │ +0001a100: 224d 6f64 756c 6520 636f 6e74 656e 7473 "Module contents │ │ │ +0001a110: 2229 0a20 2020 2028 6167 6461 322d 636f "). (agda2-co │ │ │ +0001a120: 6d70 7574 652d 6e6f 726d 616c 6973 6564 mpute-normalised │ │ │ +0001a130: 2d6d 6179 6265 2d74 6f70 6c65 7665 6c20 -maybe-toplevel │ │ │ +0001a140: 225c 432d 635c 432d 6e22 2020 2020 2020 "\C-c\C-n" │ │ │ +0001a150: 2020 2020 2028 6c6f 6361 6c20 676c 6f62 (local glob │ │ │ +0001a160: 616c 2920 2245 7661 6c75 6174 6520 7465 al) "Evaluate te │ │ │ +0001a170: 726d 2074 6f20 6e6f 726d 616c 2066 6f72 rm to normal for │ │ │ +0001a180: 6d22 290a 2020 2020 2864 6573 6372 6962 m"). (describ │ │ │ +0001a190: 652d 6368 6172 2020 2020 2020 2020 2020 e-char │ │ │ 0001a1a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0001a1b0: 6e69 6c20 2020 2020 2020 2020 2020 2020 nil │ │ │ -0001a1c0: 2020 2020 2028 676c 6f62 616c 2920 2020 (global) │ │ │ -0001a1d0: 2020 2020 2249 6e66 6f72 6d61 7469 6f6e "Information │ │ │ -0001a1e0: 2061 626f 7574 2074 6865 2063 6861 7261 about the chara │ │ │ -0001a1f0: 6374 6572 2061 7420 706f 696e 7422 290a cter at point"). │ │ │ -0001a200: 2020 2020 2861 6764 6132 2d63 6f6d 6d65 (agda2-comme │ │ │ -0001a210: 6e74 2d64 7769 6d2d 7265 7374 2d6f 662d nt-dwim-rest-of- │ │ │ -0001a220: 6275 6666 6572 2020 2020 2020 202c 286b buffer ,(k │ │ │ -0001a230: 6264 2022 432d 6320 432d 7820 4d2d 3b22 bd "C-c C-x M-;" │ │ │ -0001a240: 2920 2867 6c6f 6261 6c29 2020 2020 2020 ) (global) │ │ │ -0001a250: 2022 436f 6d6d 656e 742f 756e 636f 6d6d "Comment/uncomm │ │ │ -0001a260: 656e 7420 7468 6520 7265 7374 206f 6620 ent the rest of │ │ │ -0001a270: 7468 6520 6275 6666 6572 2229 0a20 2020 the buffer"). │ │ │ -0001a280: 2028 6167 6461 322d 6469 7370 6c61 792d (agda2-display- │ │ │ -0001a290: 7072 6f67 7261 6d2d 7665 7273 696f 6e20 program-version │ │ │ -0001a2a0: 2020 2020 2020 2020 2020 6e69 6c20 2020 nil │ │ │ -0001a2b0: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ -0001a2c0: 676c 6f62 616c 2920 2020 2020 2020 2256 global) "V │ │ │ -0001a2d0: 6572 7369 6f6e 2229 0a20 2020 2028 6167 ersion"). (ag │ │ │ -0001a2e0: 6461 322d 7365 742d 7072 6f67 7261 6d2d da2-set-program- │ │ │ -0001a2f0: 7665 7273 696f 6e20 2020 2020 2020 2020 version │ │ │ -0001a300: 2020 2020 2020 225c 432d 635c 432d 785c "\C-c\C-x\ │ │ │ -0001a310: 432d 7322 2020 2020 2020 2028 676c 6f62 C-s" (glob │ │ │ -0001a320: 616c 2920 2020 2020 2020 2253 7769 7463 al) "Switc │ │ │ -0001a330: 6820 746f 2061 6e6f 7468 6572 2076 6572 h to another ver │ │ │ -0001a340: 7369 6f6e 206f 6620 4167 6461 2229 0a20 sion of Agda"). │ │ │ -0001a350: 2020 2028 6572 692d 696e 6465 6e74 2020 (eri-indent │ │ │ +0001a1b0: 206e 696c 2020 2020 2020 2020 2020 2020 nil │ │ │ +0001a1c0: 2020 2020 2020 2867 6c6f 6261 6c29 2020 (global) │ │ │ +0001a1d0: 2020 2020 2022 496e 666f 726d 6174 696f "Informatio │ │ │ +0001a1e0: 6e20 6162 6f75 7420 7468 6520 6368 6172 n about the char │ │ │ +0001a1f0: 6163 7465 7220 6174 2070 6f69 6e74 2229 acter at point") │ │ │ +0001a200: 0a20 2020 2028 6167 6461 322d 636f 6d6d . (agda2-comm │ │ │ +0001a210: 656e 742d 6477 696d 2d72 6573 742d 6f66 ent-dwim-rest-of │ │ │ +0001a220: 2d62 7566 6665 7220 2020 2020 2020 2c28 -buffer ,( │ │ │ +0001a230: 6b62 6420 2243 2d63 2043 2d78 204d 2d3b kbd "C-c C-x M-; │ │ │ +0001a240: 2229 2028 676c 6f62 616c 2920 2020 2020 ") (global) │ │ │ +0001a250: 2020 2243 6f6d 6d65 6e74 2f75 6e63 6f6d "Comment/uncom │ │ │ +0001a260: 6d65 6e74 2074 6865 2072 6573 7420 6f66 ment the rest of │ │ │ +0001a270: 2074 6865 2062 7566 6665 7222 290a 2020 the buffer"). │ │ │ +0001a280: 2020 2861 6764 6132 2d64 6973 706c 6179 (agda2-display │ │ │ +0001a290: 2d70 726f 6772 616d 2d76 6572 7369 6f6e -program-version │ │ │ +0001a2a0: 2020 2020 2020 2020 2020 206e 696c 2020 nil │ │ │ +0001a2b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +0001a2c0: 2867 6c6f 6261 6c29 2020 2020 2020 2022 (global) " │ │ │ +0001a2d0: 5665 7273 696f 6e22 290a 2020 2020 2861 Version"). (a │ │ │ +0001a2e0: 6764 6132 2d73 6574 2d70 726f 6772 616d gda2-set-program │ │ │ +0001a2f0: 2d76 6572 7369 6f6e 2020 2020 2020 2020 -version │ │ │ +0001a300: 2020 2020 2020 2022 5c43 2d63 5c43 2d78 "\C-c\C-x │ │ │ +0001a310: 5c43 2d73 2220 2020 2020 2020 2867 6c6f \C-s" (glo │ │ │ +0001a320: 6261 6c29 2020 2020 2020 2022 5377 6974 bal) "Swit │ │ │ +0001a330: 6368 2074 6f20 616e 6f74 6865 7220 7665 ch to another ve │ │ │ +0001a340: 7273 696f 6e20 6f66 2041 6764 6122 290a rsion of Agda"). │ │ │ +0001a350: 2020 2020 2865 7269 2d69 6e64 656e 7420 (eri-indent │ │ │ 0001a360: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0001a370: 2c28 6b62 6420 2254 4142 2229 290a 2020 ,(kbd "TAB")). │ │ │ -0001a380: 2020 2865 7269 2d69 6e64 656e 742d 7265 (eri-indent-re │ │ │ -0001a390: 7665 7273 6520 2020 2020 2020 2020 205b verse [ │ │ │ -0001a3a0: 532d 6973 6f2d 6c65 6674 7461 625d 290a S-iso-lefttab]). │ │ │ -0001a3b0: 2020 2020 2865 7269 2d69 6e64 656e 742d (eri-indent- │ │ │ -0001a3c0: 7265 7665 7273 6520 2020 2020 2020 2020 reverse │ │ │ -0001a3d0: 205b 532d 6c65 6674 7461 625d 290a 2020 [S-lefttab]). │ │ │ -0001a3e0: 2020 2865 7269 2d69 6e64 656e 742d 7265 (eri-indent-re │ │ │ -0001a3f0: 7665 7273 6520 2020 2020 2020 2020 205b verse [ │ │ │ -0001a400: 532d 7461 625d 290a 2020 2020 2861 6764 S-tab]). (agd │ │ │ -0001a410: 6132 2d67 6f74 6f2d 6465 6669 6e69 7469 a2-goto-definiti │ │ │ -0001a420: 6f6e 2d6d 6f75 7365 205b 6d6f 7573 652d on-mouse [mouse- │ │ │ -0001a430: 325d 290a 2020 2020 2861 6764 6132 2d67 2]). (agda2-g │ │ │ -0001a440: 6f74 6f2d 6465 6669 6e69 7469 6f6e 2d6b oto-definition-k │ │ │ -0001a450: 6579 626f 6172 6420 225c 4d2d 2e22 290a eyboard "\M-."). │ │ │ -0001a460: 2020 2020 2861 6764 6132 2d67 6f2d 6261 (agda2-go-ba │ │ │ -0001a470: 636b 2020 2020 2020 2020 2020 2020 2020 ck │ │ │ -0001a480: 2020 2020 2c28 6966 2028 7665 7273 696f ,(if (versio │ │ │ -0001a490: 6e3c 2065 6d61 6373 2d76 6572 7369 6f6e n< emacs-version │ │ │ -0001a4a0: 2022 3235 2e31 2229 2022 5c4d 2d2a 2220 "25.1") "\M-*" │ │ │ -0001a4b0: 225c 4d2d 2c22 2929 0a20 2020 2029 0a20 "\M-,")). ). │ │ │ -0001a4c0: 2022 5461 626c 6520 6f66 2063 6f6d 6d61 "Table of comma │ │ │ -0001a4d0: 6e64 732c 2075 7365 6420 746f 2062 7569 nds, used to bui │ │ │ -0001a4e0: 6c64 206b 6579 6d61 7073 2061 6e64 206d ld keymaps and m │ │ │ -0001a4f0: 656e 7573 2e0a 4561 6368 2065 6c65 6d65 enus..Each eleme │ │ │ -0001a500: 6e74 2068 6173 2074 6865 2066 6f72 6d20 nt has the form │ │ │ -0001a510: 2843 4d44 2026 6f70 7469 6f6e 616c 204b (CMD &optional K │ │ │ -0001a520: 4559 5320 5748 4552 4520 4445 5343 2920 EYS WHERE DESC) │ │ │ -0001a530: 7768 6572 650a 434d 4420 6973 2061 2063 where.CMD is a c │ │ │ -0001a540: 6f6d 6d61 6e64 3b20 4b45 5953 2069 7320 ommand; KEYS is │ │ │ -0001a550: 6974 7320 6b65 7920 6269 6e64 696e 6720 its key binding │ │ │ -0001a560: 2869 6620 616e 7929 3b20 5748 4552 4520 (if any); WHERE │ │ │ -0001a570: 6973 2061 0a6c 6973 7420 7768 6963 6820 is a.list which │ │ │ -0001a580: 7368 6f75 6c64 2063 6f6e 7461 696e 205c should contain \ │ │ │ -0001a590: 5c3d 276c 6f63 616c 2069 6620 7468 6520 \='local if the │ │ │ -0001a5a0: 636f 6d6d 616e 6420 7368 6f75 6c64 2065 command should e │ │ │ -0001a5b0: 7869 7374 2069 6e0a 7468 6520 676f 616c xist in.the goal │ │ │ -0001a5c0: 206d 656e 7520 616e 6420 5c5c 3d27 676c menu and \\='gl │ │ │ -0001a5d0: 6f62 616c 2069 6620 7468 6520 636f 6d6d obal if the comm │ │ │ -0001a5e0: 616e 6420 7368 6f75 6c64 2065 7869 7374 and should exist │ │ │ -0001a5f0: 2069 6e20 7468 6520 6d61 696e 0a6d 656e in the main.men │ │ │ -0001a600: 753b 2061 6e64 2044 4553 4320 6973 2074 u; and DESC is t │ │ │ -0001a610: 6865 2064 6573 6372 6970 7469 6f6e 206f he description o │ │ │ -0001a620: 6620 7468 6520 636f 6d6d 616e 6420 7573 f the command us │ │ │ -0001a630: 6564 2069 6e20 7468 650a 6d65 6e75 732e ed in the.menus. │ │ │ -0001a640: 2229 0a0a 2864 6566 7661 7220 6167 6461 ")..(defvar agda │ │ │ -0001a650: 322d 6d6f 6465 2d6d 6170 0a20 2028 6c65 2-mode-map. (le │ │ │ -0001a660: 7420 2828 6d61 7020 286d 616b 652d 7370 t ((map (make-sp │ │ │ -0001a670: 6172 7365 2d6b 6579 6d61 7020 2241 6764 arse-keymap "Agd │ │ │ -0001a680: 6120 6d6f 6465 2229 2929 0a20 2020 2028 a mode"))). ( │ │ │ -0001a690: 6465 6669 6e65 2d6b 6579 206d 6170 205b define-key map [ │ │ │ -0001a6a0: 6d65 6e75 2d62 6172 2041 6764 615d 0a20 menu-bar Agda]. │ │ │ -0001a6b0: 2020 2020 2028 636f 6e73 2022 4167 6461 (cons "Agda │ │ │ -0001a6c0: 2220 286d 616b 652d 7370 6172 7365 2d6b " (make-sparse-k │ │ │ -0001a6d0: 6579 6d61 7020 2241 6764 6122 2929 290a eymap "Agda"))). │ │ │ -0001a6e0: 2020 2020 2864 6566 696e 652d 6b65 7920 (define-key │ │ │ -0001a6f0: 6d61 7020 5b64 6f77 6e2d 6d6f 7573 652d map [down-mouse- │ │ │ -0001a700: 335d 2020 2761 6764 6132 2d70 6f70 7570 3] 'agda2-popup │ │ │ -0001a710: 2d6d 656e 752d 3329 0a20 2020 2028 646f -menu-3). (do │ │ │ -0001a720: 6c69 7374 2028 6420 2872 6576 6572 7365 list (d (reverse │ │ │ -0001a730: 2061 6764 6132 2d63 6f6d 6d61 6e64 2d74 agda2-command-t │ │ │ -0001a740: 6162 6c65 2929 0a20 2020 2020 2028 636c able)). (cl │ │ │ -0001a750: 2d64 6573 7472 7563 7475 7269 6e67 2d62 -destructuring-b │ │ │ -0001a760: 696e 6420 2866 2026 6f70 7469 6f6e 616c ind (f &optional │ │ │ -0001a770: 206b 6579 7320 6b69 6e64 7320 6465 7363 keys kinds desc │ │ │ -0001a780: 2920 640a 2020 2020 2020 2020 2869 6620 ) d. (if │ │ │ -0001a790: 6b65 7973 2028 6465 6669 6e65 2d6b 6579 keys (define-key │ │ │ -0001a7a0: 206d 6170 206b 6579 7320 6629 290a 2020 map keys f)). │ │ │ -0001a7b0: 2020 2020 2020 2869 6620 286d 656d 6265 (if (membe │ │ │ -0001a7c0: 7220 2767 6c6f 6261 6c20 6b69 6e64 7329 r 'global kinds) │ │ │ -0001a7d0: 0a20 2020 2020 2020 2020 2020 2028 6465 . (de │ │ │ -0001a7e0: 6669 6e65 2d6b 6579 206d 6170 0a20 2020 fine-key map. │ │ │ -0001a7f0: 2020 2020 2020 2020 2020 2028 7665 6374 (vect │ │ │ -0001a800: 6f72 2027 6d65 6e75 2d62 6172 2027 4167 or 'menu-bar 'Ag │ │ │ -0001a810: 6461 2028 696e 7465 726e 2064 6573 6329 da (intern desc) │ │ │ -0001a820: 2920 2863 6f6e 7320 6465 7363 2066 2929 ) (cons desc f)) │ │ │ -0001a830: 2929 290a 2020 2020 6d61 7029 0a20 2022 ))). map). " │ │ │ -0001a840: 4b65 796d 6170 2066 6f72 2060 6167 6461 Keymap for `agda │ │ │ -0001a850: 322d 6d6f 6465 272e 2229 0a0a 2864 6566 2-mode'.")..(def │ │ │ -0001a860: 7661 7220 6167 6461 322d 676f 616c 2d6d var agda2-goal-m │ │ │ -0001a870: 6170 0a20 2028 6c65 7420 2828 6d61 7020 ap. (let ((map │ │ │ -0001a880: 286d 616b 652d 7370 6172 7365 2d6b 6579 (make-sparse-key │ │ │ -0001a890: 6d61 7020 2241 6764 6120 676f 616c 2229 map "Agda goal") │ │ │ -0001a8a0: 2929 0a20 2020 2028 646f 6c69 7374 2028 )). (dolist ( │ │ │ -0001a8b0: 6420 2872 6576 6572 7365 2061 6764 6132 d (reverse agda2 │ │ │ -0001a8c0: 2d63 6f6d 6d61 6e64 2d74 6162 6c65 2929 -command-table)) │ │ │ -0001a8d0: 0a20 2020 2020 2028 636c 2d64 6573 7472 . (cl-destr │ │ │ -0001a8e0: 7563 7475 7269 6e67 2d62 696e 6420 2866 ucturing-bind (f │ │ │ -0001a8f0: 2026 6f70 7469 6f6e 616c 205f 6b65 7973 &optional _keys │ │ │ -0001a900: 206b 696e 6473 2064 6573 6329 2064 0a20 kinds desc) d. │ │ │ -0001a910: 2020 2020 2020 2028 6966 2028 6d65 6d62 (if (memb │ │ │ -0001a920: 6572 2027 6c6f 6361 6c20 6b69 6e64 7329 er 'local kinds) │ │ │ -0001a930: 0a20 2020 2020 2020 2020 2020 2028 6465 . (de │ │ │ -0001a940: 6669 6e65 2d6b 6579 206d 6170 0a20 2020 fine-key map. │ │ │ -0001a950: 2020 2020 2020 2020 2020 2028 7665 6374 (vect │ │ │ -0001a960: 6f72 2028 696e 7465 726e 2064 6573 6329 or (intern desc) │ │ │ -0001a970: 2920 2863 6f6e 7320 6465 7363 2066 2929 ) (cons desc f)) │ │ │ -0001a980: 2929 290a 2020 2020 6d61 7029 0a20 2022 ))). map). " │ │ │ -0001a990: 4b65 796d 6170 2066 6f72 2061 6764 6132 Keymap for agda2 │ │ │ -0001a9a0: 2067 6f61 6c20 6d65 6e75 2e22 290a 0a28 goal menu.")..( │ │ │ -0001a9b0: 6465 6676 6172 2061 6764 6132 2d69 6e66 defvar agda2-inf │ │ │ -0001a9c0: 6f2d 6275 6666 6572 206e 696c 0a20 2022 o-buffer nil. " │ │ │ -0001a9d0: 4167 6461 2069 6e66 6f72 6d61 7469 6f6e Agda information │ │ │ -0001a9e0: 2062 7566 6665 722e 2229 0a0a 2864 6566 buffer.")..(def │ │ │ -0001a9f0: 7661 7220 6167 6461 322d 7072 6f63 6573 var agda2-proces │ │ │ -0001aa00: 732d 6275 6666 6572 206e 696c 0a20 2022 s-buffer nil. " │ │ │ -0001aa10: 4167 6461 2073 7562 7072 6f63 6573 7320 Agda subprocess │ │ │ -0001aa20: 6275 6666 6572 2e0a 5365 7420 696e 2060 buffer..Set in ` │ │ │ -0001aa30: 6167 6461 322d 7265 7374 6172 7427 2e22 agda2-restart'." │ │ │ -0001aa40: 290a 0a28 6465 6676 6172 2061 6764 6132 )..(defvar agda2 │ │ │ -0001aa50: 2d70 726f 6365 7373 206e 696c 0a20 2022 -process nil. " │ │ │ -0001aa60: 4167 6461 2073 7562 7072 6f63 6573 732e Agda subprocess. │ │ │ -0001aa70: 0a53 6574 2069 6e20 6061 6764 6132 2d72 .Set in `agda2-r │ │ │ -0001aa80: 6573 7461 7274 272e 2229 0a0a 2864 6566 estart'.")..(def │ │ │ -0001aa90: 7661 7220 6167 6461 322d 696e 2d70 726f var agda2-in-pro │ │ │ -0001aaa0: 6772 6573 7320 6e69 6c0a 2020 2249 7320 gress nil. "Is │ │ │ -0001aab0: 7468 6520 4167 6461 2070 726f 6365 7373 the Agda process │ │ │ -0001aac0: 2063 7572 7265 6e74 6c79 2062 7573 793f currently busy? │ │ │ -0001aad0: 0a56 616c 6964 2076 616c 7565 733a 2060 .Valid values: ` │ │ │ -0001aae0: 6e69 6c27 2028 6e6f 7420 6275 7379 292c nil' (not busy), │ │ │ -0001aaf0: 2060 6275 7379 2720 2862 7573 7929 2c0a `busy' (busy),. │ │ │ -0001ab00: 606e 6f74 2d73 6f2d 6275 7379 2720 2862 `not-so-busy' (b │ │ │ -0001ab10: 7573 7920 7769 7468 2073 6f6d 6574 6869 usy with somethi │ │ │ -0001ab20: 6e67 2074 6861 7420 7368 6f75 6c64 2074 ng that should t │ │ │ -0001ab30: 7970 6963 616c 6c79 0a74 6572 6d69 6e61 ypically.termina │ │ │ -0001ab40: 7465 2066 6169 726c 7920 7175 6963 6b6c te fairly quickl │ │ │ -0001ab50: 7929 2e22 290a 0a3b 3b20 536f 6d65 2062 y).")..;; Some b │ │ │ -0001ab60: 7566 6665 7220 6c6f 6361 6c73 0a28 6465 uffer locals.(de │ │ │ -0001ab70: 6676 6172 2061 6764 6132 2d62 7566 6665 fvar agda2-buffe │ │ │ -0001ab80: 722d 6578 7465 726e 616c 2d73 7461 7475 r-external-statu │ │ │ -0001ab90: 7320 2222 0a20 2022 4578 7465 726e 616c s "". "External │ │ │ -0001aba0: 2073 7461 7475 7320 6f66 2061 6e20 6061 status of an `a │ │ │ -0001abb0: 6764 6132 2d6d 6f64 6527 2062 7566 6665 gda2-mode' buffe │ │ │ -0001abc0: 7220 2864 6963 7461 7465 6420 6279 2074 r (dictated by t │ │ │ -0001abd0: 6865 2048 6173 6b65 6c6c 2073 6964 6529 he Haskell side) │ │ │ -0001abe0: 2e22 290a 286d 616b 652d 7661 7269 6162 .").(make-variab │ │ │ -0001abf0: 6c65 2d62 7566 6665 722d 6c6f 6361 6c20 le-buffer-local │ │ │ -0001ac00: 2761 6764 6132 2d62 7566 6665 722d 6578 'agda2-buffer-ex │ │ │ -0001ac10: 7465 726e 616c 2d73 7461 7475 7329 0a0a ternal-status).. │ │ │ -0001ac20: 2864 6566 7661 7220 6167 6461 322d 6f75 (defvar agda2-ou │ │ │ -0001ac30: 7470 7574 2d70 726f 6d70 7420 2241 6764 tput-prompt "Agd │ │ │ -0001ac40: 6132 3e20 220a 2020 2254 6865 2041 6764 a2> ". "The Agd │ │ │ -0001ac50: 6132 2062 7566 6665 7227 7320 7072 6f6d a2 buffer's prom │ │ │ -0001ac60: 7074 2e22 290a 0a28 6465 6663 6f6e 7374 pt.")..(defconst │ │ │ -0001ac70: 2061 6764 6132 2d68 656c 702d 6164 6472 agda2-help-addr │ │ │ -0001ac80: 6573 730a 2020 2222 0a20 2022 4164 6472 ess. "". "Addr │ │ │ -0001ac90: 6573 7320 6163 6365 7074 696e 6720 7375 ess accepting su │ │ │ -0001aca0: 626d 6973 7369 6f6e 7320 6f66 2062 7567 bmissions of bug │ │ │ -0001acb0: 2072 6570 6f72 7473 2061 6e64 2071 7565 reports and que │ │ │ -0001acc0: 7374 696f 6e73 2e22 290a 0a3b 3b20 416e stions.")..;; An │ │ │ -0001acd0: 6e6f 7461 7469 6f6e 2066 6f72 2061 2067 notation for a g │ │ │ -0001ace0: 6f61 6c0a 3b3b 207b 2120 2e2e 2e2e 2021 oal.;; {! .... ! │ │ │ -0001acf0: 7d0a 3b3b 202d 2d2d 2d2d 2d2d 2d2d 2d20 }.;; ---------- │ │ │ -0001ad00: 206f 7665 726c 6179 3a20 2020 2061 6764 overlay: agd │ │ │ -0001ad10: 6132 2d67 6e20 6e75 6d2c 2066 6163 6520 a2-gn num, face │ │ │ -0001ad20: 6869 6768 6c69 6768 742c 2061 6674 6572 highlight, after │ │ │ -0001ad30: 2d73 7472 696e 6720 6e75 6d2c 0a3b 3b20 -string num,.;; │ │ │ +0001a370: 202c 286b 6264 2022 5441 4222 2929 0a20 ,(kbd "TAB")). │ │ │ +0001a380: 2020 2028 6572 692d 696e 6465 6e74 2d72 (eri-indent-r │ │ │ +0001a390: 6576 6572 7365 2020 2020 2020 2020 2020 everse │ │ │ +0001a3a0: 5b53 2d69 736f 2d6c 6566 7474 6162 5d29 [S-iso-lefttab]) │ │ │ +0001a3b0: 0a20 2020 2028 6572 692d 696e 6465 6e74 . (eri-indent │ │ │ +0001a3c0: 2d72 6576 6572 7365 2020 2020 2020 2020 -reverse │ │ │ +0001a3d0: 2020 5b53 2d6c 6566 7474 6162 5d29 0a20 [S-lefttab]). │ │ │ +0001a3e0: 2020 2028 6572 692d 696e 6465 6e74 2d72 (eri-indent-r │ │ │ +0001a3f0: 6576 6572 7365 2020 2020 2020 2020 2020 everse │ │ │ +0001a400: 5b53 2d74 6162 5d29 0a20 2020 2028 6167 [S-tab]). (ag │ │ │ +0001a410: 6461 322d 676f 746f 2d64 6566 696e 6974 da2-goto-definit │ │ │ +0001a420: 696f 6e2d 6d6f 7573 6520 5b6d 6f75 7365 ion-mouse [mouse │ │ │ +0001a430: 2d32 5d29 0a20 2020 2028 6167 6461 322d -2]). (agda2- │ │ │ +0001a440: 676f 746f 2d64 6566 696e 6974 696f 6e2d goto-definition- │ │ │ +0001a450: 6b65 7962 6f61 7264 2022 5c4d 2d2e 2229 keyboard "\M-.") │ │ │ +0001a460: 0a20 2020 2028 6167 6461 322d 676f 2d62 . (agda2-go-b │ │ │ +0001a470: 6163 6b20 2020 2020 2020 2020 2020 2020 ack │ │ │ +0001a480: 2020 2020 202c 2869 6620 2876 6572 7369 ,(if (versi │ │ │ +0001a490: 6f6e 3c20 656d 6163 732d 7665 7273 696f on< emacs-versio │ │ │ +0001a4a0: 6e20 2232 352e 3122 2920 225c 4d2d 2a22 n "25.1") "\M-*" │ │ │ +0001a4b0: 2022 5c4d 2d2c 2229 290a 2020 2020 290a "\M-,")). ). │ │ │ +0001a4c0: 2020 2254 6162 6c65 206f 6620 636f 6d6d "Table of comm │ │ │ +0001a4d0: 616e 6473 2c20 7573 6564 2074 6f20 6275 ands, used to bu │ │ │ +0001a4e0: 696c 6420 6b65 796d 6170 7320 616e 6420 ild keymaps and │ │ │ +0001a4f0: 6d65 6e75 732e 0a45 6163 6820 656c 656d menus..Each elem │ │ │ +0001a500: 656e 7420 6861 7320 7468 6520 666f 726d ent has the form │ │ │ +0001a510: 2028 434d 4420 266f 7074 696f 6e61 6c20 (CMD &optional │ │ │ +0001a520: 4b45 5953 2057 4845 5245 2044 4553 4329 KEYS WHERE DESC) │ │ │ +0001a530: 2077 6865 7265 0a43 4d44 2069 7320 6120 where.CMD is a │ │ │ +0001a540: 636f 6d6d 616e 643b 204b 4559 5320 6973 command; KEYS is │ │ │ +0001a550: 2069 7473 206b 6579 2062 696e 6469 6e67 its key binding │ │ │ +0001a560: 2028 6966 2061 6e79 293b 2057 4845 5245 (if any); WHERE │ │ │ +0001a570: 2069 7320 610a 6c69 7374 2077 6869 6368 is a.list which │ │ │ +0001a580: 2073 686f 756c 6420 636f 6e74 6169 6e20 should contain │ │ │ +0001a590: 5c5c 3d27 6c6f 6361 6c20 6966 2074 6865 \\='local if the │ │ │ +0001a5a0: 2063 6f6d 6d61 6e64 2073 686f 756c 6420 command should │ │ │ +0001a5b0: 6578 6973 7420 696e 0a74 6865 2067 6f61 exist in.the goa │ │ │ +0001a5c0: 6c20 6d65 6e75 2061 6e64 205c 5c3d 2767 l menu and \\='g │ │ │ +0001a5d0: 6c6f 6261 6c20 6966 2074 6865 2063 6f6d lobal if the com │ │ │ +0001a5e0: 6d61 6e64 2073 686f 756c 6420 6578 6973 mand should exis │ │ │ +0001a5f0: 7420 696e 2074 6865 206d 6169 6e0a 6d65 t in the main.me │ │ │ +0001a600: 6e75 3b20 616e 6420 4445 5343 2069 7320 nu; and DESC is │ │ │ +0001a610: 7468 6520 6465 7363 7269 7074 696f 6e20 the description │ │ │ +0001a620: 6f66 2074 6865 2063 6f6d 6d61 6e64 2075 of the command u │ │ │ +0001a630: 7365 6420 696e 2074 6865 0a6d 656e 7573 sed in the.menus │ │ │ +0001a640: 2e22 290a 0a28 6465 6676 6172 2061 6764 .")..(defvar agd │ │ │ +0001a650: 6132 2d6d 6f64 652d 6d61 700a 2020 286c a2-mode-map. (l │ │ │ +0001a660: 6574 2028 286d 6170 2028 6d61 6b65 2d73 et ((map (make-s │ │ │ +0001a670: 7061 7273 652d 6b65 796d 6170 2022 4167 parse-keymap "Ag │ │ │ +0001a680: 6461 206d 6f64 6522 2929 290a 2020 2020 da mode"))). │ │ │ +0001a690: 2864 6566 696e 652d 6b65 7920 6d61 7020 (define-key map │ │ │ +0001a6a0: 5b6d 656e 752d 6261 7220 4167 6461 5d0a [menu-bar Agda]. │ │ │ +0001a6b0: 2020 2020 2020 2863 6f6e 7320 2241 6764 (cons "Agd │ │ │ +0001a6c0: 6122 2028 6d61 6b65 2d73 7061 7273 652d a" (make-sparse- │ │ │ +0001a6d0: 6b65 796d 6170 2022 4167 6461 2229 2929 keymap "Agda"))) │ │ │ +0001a6e0: 0a20 2020 2028 6465 6669 6e65 2d6b 6579 . (define-key │ │ │ +0001a6f0: 206d 6170 205b 646f 776e 2d6d 6f75 7365 map [down-mouse │ │ │ +0001a700: 2d33 5d20 2027 6167 6461 322d 706f 7075 -3] 'agda2-popu │ │ │ +0001a710: 702d 6d65 6e75 2d33 290a 2020 2020 2864 p-menu-3). (d │ │ │ +0001a720: 6f6c 6973 7420 2864 2028 7265 7665 7273 olist (d (revers │ │ │ +0001a730: 6520 6167 6461 322d 636f 6d6d 616e 642d e agda2-command- │ │ │ +0001a740: 7461 626c 6529 290a 2020 2020 2020 2863 table)). (c │ │ │ +0001a750: 6c2d 6465 7374 7275 6374 7572 696e 672d l-destructuring- │ │ │ +0001a760: 6269 6e64 2028 6620 266f 7074 696f 6e61 bind (f &optiona │ │ │ +0001a770: 6c20 6b65 7973 206b 696e 6473 2064 6573 l keys kinds des │ │ │ +0001a780: 6329 2064 0a20 2020 2020 2020 2028 6966 c) d. (if │ │ │ +0001a790: 206b 6579 7320 2864 6566 696e 652d 6b65 keys (define-ke │ │ │ +0001a7a0: 7920 6d61 7020 6b65 7973 2066 2929 0a20 y map keys f)). │ │ │ +0001a7b0: 2020 2020 2020 2028 6966 2028 6d65 6d62 (if (memb │ │ │ +0001a7c0: 6572 2027 676c 6f62 616c 206b 696e 6473 er 'global kinds │ │ │ +0001a7d0: 290a 2020 2020 2020 2020 2020 2020 2864 ). (d │ │ │ +0001a7e0: 6566 696e 652d 6b65 7920 6d61 700a 2020 efine-key map. │ │ │ +0001a7f0: 2020 2020 2020 2020 2020 2020 2876 6563 (vec │ │ │ +0001a800: 746f 7220 276d 656e 752d 6261 7220 2741 tor 'menu-bar 'A │ │ │ +0001a810: 6764 6120 2869 6e74 6572 6e20 6465 7363 gda (intern desc │ │ │ +0001a820: 2929 2028 636f 6e73 2064 6573 6320 6629 )) (cons desc f) │ │ │ +0001a830: 2929 2929 0a20 2020 206d 6170 290a 2020 )))). map). │ │ │ +0001a840: 224b 6579 6d61 7020 666f 7220 6061 6764 "Keymap for `agd │ │ │ +0001a850: 6132 2d6d 6f64 6527 2e22 290a 0a28 6465 a2-mode'.")..(de │ │ │ +0001a860: 6676 6172 2061 6764 6132 2d67 6f61 6c2d fvar agda2-goal- │ │ │ +0001a870: 6d61 700a 2020 286c 6574 2028 286d 6170 map. (let ((map │ │ │ +0001a880: 2028 6d61 6b65 2d73 7061 7273 652d 6b65 (make-sparse-ke │ │ │ +0001a890: 796d 6170 2022 4167 6461 2067 6f61 6c22 ymap "Agda goal" │ │ │ +0001a8a0: 2929 290a 2020 2020 2864 6f6c 6973 7420 ))). (dolist │ │ │ +0001a8b0: 2864 2028 7265 7665 7273 6520 6167 6461 (d (reverse agda │ │ │ +0001a8c0: 322d 636f 6d6d 616e 642d 7461 626c 6529 2-command-table) │ │ │ +0001a8d0: 290a 2020 2020 2020 2863 6c2d 6465 7374 ). (cl-dest │ │ │ +0001a8e0: 7275 6374 7572 696e 672d 6269 6e64 2028 ructuring-bind ( │ │ │ +0001a8f0: 6620 266f 7074 696f 6e61 6c20 5f6b 6579 f &optional _key │ │ │ +0001a900: 7320 6b69 6e64 7320 6465 7363 2920 640a s kinds desc) d. │ │ │ +0001a910: 2020 2020 2020 2020 2869 6620 286d 656d (if (mem │ │ │ +0001a920: 6265 7220 276c 6f63 616c 206b 696e 6473 ber 'local kinds │ │ │ +0001a930: 290a 2020 2020 2020 2020 2020 2020 2864 ). (d │ │ │ +0001a940: 6566 696e 652d 6b65 7920 6d61 700a 2020 efine-key map. │ │ │ +0001a950: 2020 2020 2020 2020 2020 2020 2876 6563 (vec │ │ │ +0001a960: 746f 7220 2869 6e74 6572 6e20 6465 7363 tor (intern desc │ │ │ +0001a970: 2929 2028 636f 6e73 2064 6573 6320 6629 )) (cons desc f) │ │ │ +0001a980: 2929 2929 0a20 2020 206d 6170 290a 2020 )))). map). │ │ │ +0001a990: 224b 6579 6d61 7020 666f 7220 6167 6461 "Keymap for agda │ │ │ +0001a9a0: 3220 676f 616c 206d 656e 752e 2229 0a0a 2 goal menu.").. │ │ │ +0001a9b0: 2864 6566 7661 7220 6167 6461 322d 696e (defvar agda2-in │ │ │ +0001a9c0: 666f 2d62 7566 6665 7220 6e69 6c0a 2020 fo-buffer nil. │ │ │ +0001a9d0: 2241 6764 6120 696e 666f 726d 6174 696f "Agda informatio │ │ │ +0001a9e0: 6e20 6275 6666 6572 2e22 290a 0a28 6465 n buffer.")..(de │ │ │ +0001a9f0: 6676 6172 2061 6764 6132 2d70 726f 6365 fvar agda2-proce │ │ │ +0001aa00: 7373 2d62 7566 6665 7220 6e69 6c0a 2020 ss-buffer nil. │ │ │ +0001aa10: 2241 6764 6120 7375 6270 726f 6365 7373 "Agda subprocess │ │ │ +0001aa20: 2062 7566 6665 722e 0a53 6574 2069 6e20 buffer..Set in │ │ │ +0001aa30: 6061 6764 6132 2d72 6573 7461 7274 272e `agda2-restart'. │ │ │ +0001aa40: 2229 0a0a 2864 6566 7661 7220 6167 6461 ")..(defvar agda │ │ │ +0001aa50: 322d 7072 6f63 6573 7320 6e69 6c0a 2020 2-process nil. │ │ │ +0001aa60: 2241 6764 6120 7375 6270 726f 6365 7373 "Agda subprocess │ │ │ +0001aa70: 2e0a 5365 7420 696e 2060 6167 6461 322d ..Set in `agda2- │ │ │ +0001aa80: 7265 7374 6172 7427 2e22 290a 0a28 6465 restart'.")..(de │ │ │ +0001aa90: 6676 6172 2061 6764 6132 2d69 6e2d 7072 fvar agda2-in-pr │ │ │ +0001aaa0: 6f67 7265 7373 206e 696c 0a20 2022 4973 ogress nil. "Is │ │ │ +0001aab0: 2074 6865 2041 6764 6120 7072 6f63 6573 the Agda proces │ │ │ +0001aac0: 7320 6375 7272 656e 746c 7920 6275 7379 s currently busy │ │ │ +0001aad0: 3f0a 5661 6c69 6420 7661 6c75 6573 3a20 ?.Valid values: │ │ │ +0001aae0: 606e 696c 2720 286e 6f74 2062 7573 7929 `nil' (not busy) │ │ │ +0001aaf0: 2c20 6062 7573 7927 2028 6275 7379 292c , `busy' (busy), │ │ │ +0001ab00: 0a60 6e6f 742d 736f 2d62 7573 7927 2028 .`not-so-busy' ( │ │ │ +0001ab10: 6275 7379 2077 6974 6820 736f 6d65 7468 busy with someth │ │ │ +0001ab20: 696e 6720 7468 6174 2073 686f 756c 6420 ing that should │ │ │ +0001ab30: 7479 7069 6361 6c6c 790a 7465 726d 696e typically.termin │ │ │ +0001ab40: 6174 6520 6661 6972 6c79 2071 7569 636b ate fairly quick │ │ │ +0001ab50: 6c79 292e 2229 0a0a 3b3b 2053 6f6d 6520 ly).")..;; Some │ │ │ +0001ab60: 6275 6666 6572 206c 6f63 616c 730a 2864 buffer locals.(d │ │ │ +0001ab70: 6566 7661 7220 6167 6461 322d 6275 6666 efvar agda2-buff │ │ │ +0001ab80: 6572 2d65 7874 6572 6e61 6c2d 7374 6174 er-external-stat │ │ │ +0001ab90: 7573 2022 220a 2020 2245 7874 6572 6e61 us "". "Externa │ │ │ +0001aba0: 6c20 7374 6174 7573 206f 6620 616e 2060 l status of an ` │ │ │ +0001abb0: 6167 6461 322d 6d6f 6465 2720 6275 6666 agda2-mode' buff │ │ │ +0001abc0: 6572 2028 6469 6374 6174 6564 2062 7920 er (dictated by │ │ │ +0001abd0: 7468 6520 4861 736b 656c 6c20 7369 6465 the Haskell side │ │ │ +0001abe0: 292e 2229 0a28 6d61 6b65 2d76 6172 6961 ).").(make-varia │ │ │ +0001abf0: 626c 652d 6275 6666 6572 2d6c 6f63 616c ble-buffer-local │ │ │ +0001ac00: 2027 6167 6461 322d 6275 6666 6572 2d65 'agda2-buffer-e │ │ │ +0001ac10: 7874 6572 6e61 6c2d 7374 6174 7573 290a xternal-status). │ │ │ +0001ac20: 0a28 6465 6676 6172 2061 6764 6132 2d6f .(defvar agda2-o │ │ │ +0001ac30: 7574 7075 742d 7072 6f6d 7074 2022 4167 utput-prompt "Ag │ │ │ +0001ac40: 6461 323e 2022 0a20 2022 5468 6520 4167 da2> ". "The Ag │ │ │ +0001ac50: 6461 3220 6275 6666 6572 2773 2070 726f da2 buffer's pro │ │ │ +0001ac60: 6d70 742e 2229 0a0a 2864 6566 636f 6e73 mpt.")..(defcons │ │ │ +0001ac70: 7420 6167 6461 322d 6865 6c70 2d61 6464 t agda2-help-add │ │ │ +0001ac80: 7265 7373 0a20 2022 220a 2020 2241 6464 ress. "". "Add │ │ │ +0001ac90: 7265 7373 2061 6363 6570 7469 6e67 2073 ress accepting s │ │ │ +0001aca0: 7562 6d69 7373 696f 6e73 206f 6620 6275 ubmissions of bu │ │ │ +0001acb0: 6720 7265 706f 7274 7320 616e 6420 7175 g reports and qu │ │ │ +0001acc0: 6573 7469 6f6e 732e 2229 0a0a 3b3b 2041 estions.")..;; A │ │ │ +0001acd0: 6e6e 6f74 6174 696f 6e20 666f 7220 6120 nnotation for a │ │ │ +0001ace0: 676f 616c 0a3b 3b20 7b21 202e 2e2e 2e20 goal.;; {! .... │ │ │ +0001acf0: 217d 0a3b 3b20 2d2d 2d2d 2d2d 2d2d 2d2d !}.;; ---------- │ │ │ +0001ad00: 2020 6f76 6572 6c61 793a 2020 2020 6167 overlay: ag │ │ │ +0001ad10: 6461 322d 676e 206e 756d 2c20 6661 6365 da2-gn num, face │ │ │ +0001ad20: 2068 6967 686c 6967 6874 2c20 6166 7465 highlight, afte │ │ │ +0001ad30: 722d 7374 7269 6e67 206e 756d 2c0a 3b3b r-string num,.;; │ │ │ 0001ad40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0001ad50: 2020 2020 2020 2020 6d6f 6469 6669 6361 modifica │ │ │ -0001ad60: 7469 6f6e 2d68 6f6f 6b73 2028 6167 6461 tion-hooks (agda │ │ │ -0001ad70: 322d 7072 6f74 6563 742d 676f 616c 2d6d 2-protect-goal-m │ │ │ -0001ad80: 6172 6b65 7273 290a 3b3b 202d 2020 2020 arkers).;; - │ │ │ -0001ad90: 2020 2020 2020 2074 6578 742d 7072 6f70 text-prop │ │ │ -0001ada0: 733a 2063 6174 6567 6f72 7920 6167 6461 s: category agda │ │ │ -0001adb0: 322d 6465 6c69 6d31 0a3b 3b20 202d 2020 2-delim1.;; - │ │ │ -0001adc0: 2020 2020 2020 2020 7465 7874 2d70 726f text-pro │ │ │ -0001add0: 7073 3a20 6361 7465 676f 7279 2061 6764 ps: category agd │ │ │ -0001ade0: 6132 2d64 656c 696d 320a 3b3b 2020 2020 a2-delim2.;; │ │ │ -0001adf0: 2020 2020 202d 2020 2074 6578 742d 7072 - text-pr │ │ │ -0001ae00: 6f70 733a 2063 6174 6567 6f72 7920 6167 ops: category ag │ │ │ -0001ae10: 6461 322d 6465 6c69 6d33 0a3b 3b20 2020 da2-delim3.;; │ │ │ -0001ae20: 2020 2020 2020 202d 2020 7465 7874 2d70 - text-p │ │ │ -0001ae30: 726f 7073 3a20 6361 7465 676f 7279 2061 rops: category a │ │ │ -0001ae40: 6764 6132 2d64 656c 696d 340a 3b3b 0a3b gda2-delim4.;;.; │ │ │ -0001ae50: 3b20 4368 6172 2063 6174 6567 6f72 6965 ; Char categorie │ │ │ -0001ae60: 7320 666f 7220 7b21 202e 2e2e 2021 7d0a s for {! ... !}. │ │ │ -0001ae70: 2864 6566 7661 7220 6167 6461 322d 6f70 (defvar agda2-op │ │ │ -0001ae80: 656e 2d62 7261 6365 2020 227b 2229 0a28 en-brace "{").( │ │ │ -0001ae90: 6465 6676 6172 2061 6764 6132 2d63 6c6f defvar agda2-clo │ │ │ -0001aea0: 7365 2d62 7261 6365 2022 207d 2229 0a28 se-brace " }").( │ │ │ -0001aeb0: 7365 7470 6c69 7374 2027 6167 6461 322d setplist 'agda2- │ │ │ -0001aec0: 6465 6c69 6d31 2060 2864 6973 706c 6179 delim1 `(display │ │ │ -0001aed0: 202c 6167 6461 322d 6f70 656e 2d62 7261 ,agda2-open-bra │ │ │ -0001aee0: 6365 2929 0a28 7365 7470 6c69 7374 2027 ce)).(setplist ' │ │ │ -0001aef0: 6167 6461 322d 6465 6c69 6d32 2060 2864 agda2-delim2 `(d │ │ │ -0001af00: 6973 706c 6179 202c 6167 6461 322d 6f70 isplay ,agda2-op │ │ │ -0001af10: 656e 2d62 7261 6365 2072 6561 722d 6e6f en-brace rear-no │ │ │ -0001af20: 6e73 7469 636b 7920 740a 2020 2020 2020 nsticky t. │ │ │ +0001ad50: 2020 2020 2020 2020 206d 6f64 6966 6963 modific │ │ │ +0001ad60: 6174 696f 6e2d 686f 6f6b 7320 2861 6764 ation-hooks (agd │ │ │ +0001ad70: 6132 2d70 726f 7465 6374 2d67 6f61 6c2d a2-protect-goal- │ │ │ +0001ad80: 6d61 726b 6572 7329 0a3b 3b20 2d20 2020 markers).;; - │ │ │ +0001ad90: 2020 2020 2020 2020 7465 7874 2d70 726f text-pro │ │ │ +0001ada0: 7073 3a20 6361 7465 676f 7279 2061 6764 ps: category agd │ │ │ +0001adb0: 6132 2d64 656c 696d 310a 3b3b 2020 2d20 a2-delim1.;; - │ │ │ +0001adc0: 2020 2020 2020 2020 2074 6578 742d 7072 text-pr │ │ │ +0001add0: 6f70 733a 2063 6174 6567 6f72 7920 6167 ops: category ag │ │ │ +0001ade0: 6461 322d 6465 6c69 6d32 0a3b 3b20 2020 da2-delim2.;; │ │ │ +0001adf0: 2020 2020 2020 2d20 2020 7465 7874 2d70 - text-p │ │ │ +0001ae00: 726f 7073 3a20 6361 7465 676f 7279 2061 rops: category a │ │ │ +0001ae10: 6764 6132 2d64 656c 696d 330a 3b3b 2020 gda2-delim3.;; │ │ │ +0001ae20: 2020 2020 2020 2020 2d20 2074 6578 742d - text- │ │ │ +0001ae30: 7072 6f70 733a 2063 6174 6567 6f72 7920 props: category │ │ │ +0001ae40: 6167 6461 322d 6465 6c69 6d34 0a3b 3b0a agda2-delim4.;;. │ │ │ +0001ae50: 3b3b 2043 6861 7220 6361 7465 676f 7269 ;; Char categori │ │ │ +0001ae60: 6573 2066 6f72 207b 2120 2e2e 2e20 217d es for {! ... !} │ │ │ +0001ae70: 0a28 6465 6676 6172 2061 6764 6132 2d6f .(defvar agda2-o │ │ │ +0001ae80: 7065 6e2d 6272 6163 6520 2022 7b22 290a pen-brace "{"). │ │ │ +0001ae90: 2864 6566 7661 7220 6167 6461 322d 636c (defvar agda2-cl │ │ │ +0001aea0: 6f73 652d 6272 6163 6520 2220 7d22 290a ose-brace " }"). │ │ │ +0001aeb0: 2873 6574 706c 6973 7420 2761 6764 6132 (setplist 'agda2 │ │ │ +0001aec0: 2d64 656c 696d 3120 6028 6469 7370 6c61 -delim1 `(displa │ │ │ +0001aed0: 7920 2c61 6764 6132 2d6f 7065 6e2d 6272 y ,agda2-open-br │ │ │ +0001aee0: 6163 6529 290a 2873 6574 706c 6973 7420 ace)).(setplist │ │ │ +0001aef0: 2761 6764 6132 2d64 656c 696d 3220 6028 'agda2-delim2 `( │ │ │ +0001af00: 6469 7370 6c61 7920 2c61 6764 6132 2d6f display ,agda2-o │ │ │ +0001af10: 7065 6e2d 6272 6163 6520 7265 6172 2d6e pen-brace rear-n │ │ │ +0001af20: 6f6e 7374 6963 6b79 2074 0a20 2020 2020 onsticky t. │ │ │ 0001af30: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0001af40: 2020 2020 2020 2020 2020 2020 6167 6461 agda │ │ │ -0001af50: 322d 6465 6c69 6d32 2074 2929 0a28 7365 2-delim2 t)).(se │ │ │ -0001af60: 7470 6c69 7374 2027 6167 6461 322d 6465 tplist 'agda2-de │ │ │ -0001af70: 6c69 6d33 2060 2864 6973 706c 6179 202c lim3 `(display , │ │ │ -0001af80: 6167 6461 322d 636c 6f73 652d 6272 6163 agda2-close-brac │ │ │ -0001af90: 6520 6167 6461 322d 6465 6c69 6d33 2074 e agda2-delim3 t │ │ │ -0001afa0: 2929 0a28 7365 7470 6c69 7374 2027 6167 )).(setplist 'ag │ │ │ -0001afb0: 6461 322d 6465 6c69 6d34 2060 2864 6973 da2-delim4 `(dis │ │ │ -0001afc0: 706c 6179 202c 6167 6461 322d 636c 6f73 play ,agda2-clos │ │ │ -0001afd0: 652d 6272 6163 6520 7265 6172 2d6e 6f6e e-brace rear-non │ │ │ -0001afe0: 7374 6963 6b79 2074 2929 0a0a 3b3b 204e sticky t))..;; N │ │ │ -0001aff0: 6f74 6520 7468 6174 2073 7472 696e 6773 ote that strings │ │ │ -0001b000: 2075 7365 6420 7769 7468 2074 6865 2064 used with the d │ │ │ -0001b010: 6973 706c 6179 2070 726f 7065 7274 7920 isplay property │ │ │ -0001b020: 6172 6520 636f 6d70 6172 6564 2062 790a are compared by. │ │ │ -0001b030: 3b3b 2072 6566 6572 656e 6365 2e20 4966 ;; reference. If │ │ │ -0001b040: 2074 6865 2061 6764 6132 2d2a 2d62 7261 the agda2-*-bra │ │ │ -0001b050: 6365 2064 6566 696e 6974 696f 6e73 2077 ce definitions w │ │ │ -0001b060: 6572 6520 696e 6c69 6e65 642c 2074 6865 ere inlined, the │ │ │ -0001b070: 6e0a 3b3b 2067 6f61 6c73 2077 6f75 6c64 n.;; goals would │ │ │ -0001b080: 2062 6520 6469 7370 6c61 7965 6420 6173 be displayed as │ │ │ -0001b090: 2022 7b7b 207d 7d6e 2220 696e 7374 6561 "{{ }}n" instea │ │ │ -0001b0a0: 6420 6f66 2022 7b20 7d6e 222e 0a0a 3b3b d of "{ }n"...;; │ │ │ -0001b0b0: 2054 6865 2066 6f6c 6c6f 7769 6e67 2076 The following v │ │ │ -0001b0c0: 6172 6961 626c 6573 2061 7265 2075 7365 ariables are use │ │ │ -0001b0d0: 6420 6279 2074 6865 2066 696c 7465 7220 d by the filter │ │ │ -0001b0e0: 7072 6f63 6573 732c 0a3b 3b20 6061 6764 process,.;; `agd │ │ │ -0001b0f0: 6132 2d6f 7574 7075 742d 6669 6c74 6572 a2-output-filter │ │ │ -0001b100: 272e 2054 6865 6972 2076 616c 7565 7320 '. Their values │ │ │ -0001b110: 6172 6520 6f6e 6c79 206d 6f64 6966 6965 are only modifie │ │ │ -0001b120: 6420 6279 2074 6865 2066 696c 7465 720a d by the filter. │ │ │ -0001b130: 3b3b 2070 726f 6365 7373 2c20 6061 6764 ;; process, `agd │ │ │ -0001b140: 6132 2d67 6f27 2c20 6061 6764 6132 2d72 a2-go', `agda2-r │ │ │ -0001b150: 6573 7461 7274 272c 2060 6167 6461 322d estart', `agda2- │ │ │ -0001b160: 6162 6f72 742d 6869 6768 6c69 6768 7469 abort-highlighti │ │ │ -0001b170: 6e67 272c 0a3b 3b20 616e 6420 6061 6764 ng',.;; and `agd │ │ │ -0001b180: 6132 2d61 626f 7274 2d64 6f6e 6527 2e0a a2-abort-done'.. │ │ │ -0001b190: 0a28 6465 6676 6172 2061 6764 6132 2d6f .(defvar agda2-o │ │ │ -0001b1a0: 7574 7075 742d 6368 756e 6b2d 696e 636f utput-chunk-inco │ │ │ -0001b1b0: 6d70 6c65 7465 2028 6167 6461 322d 7175 mplete (agda2-qu │ │ │ -0001b1c0: 6575 652d 656d 7074 7929 0a20 2022 4275 eue-empty). "Bu │ │ │ -0001b1d0: 6666 6572 2066 6f72 2069 6e63 6f6d 706c ffer for incompl │ │ │ -0001b1e0: 6574 6520 6c69 6e65 732e 0a5c 2853 6565 ete lines..\(See │ │ │ -0001b1f0: 2060 6167 6461 322d 6f75 7470 7574 2d66 `agda2-output-f │ │ │ -0001b200: 696c 7465 7227 2e29 2229 0a28 6d61 6b65 ilter'.)").(make │ │ │ -0001b210: 2d76 6172 6961 626c 652d 6275 6666 6572 -variable-buffer │ │ │ -0001b220: 2d6c 6f63 616c 2027 6167 6461 322d 6f75 -local 'agda2-ou │ │ │ -0001b230: 7470 7574 2d63 6875 6e6b 2d69 6e63 6f6d tput-chunk-incom │ │ │ -0001b240: 706c 6574 6529 0a0a 2864 6566 7661 7220 plete)..(defvar │ │ │ -0001b250: 6167 6461 322d 6c61 7374 2d72 6573 706f agda2-last-respo │ │ │ -0001b260: 6e73 6573 206e 696c 0a20 2022 5265 7370 nses nil. "Resp │ │ │ -0001b270: 6f6e 7365 2063 6f6d 6d61 6e64 7320 7768 onse commands wh │ │ │ -0001b280: 6963 6820 7368 6f75 6c64 2062 6520 7275 ich should be ru │ │ │ -0001b290: 6e20 6166 7465 7220 6f74 6865 7220 636f n after other co │ │ │ -0001b2a0: 6d6d 616e 6473 2e0a 5468 6520 636f 6d6d mmands..The comm │ │ │ -0001b2b0: 616e 6420 7768 6963 6820 6172 7269 7665 and which arrive │ │ │ -0001b2c0: 6420 6c61 7374 2069 7320 7374 6f72 6564 d last is stored │ │ │ -0001b2d0: 2066 6972 7374 2069 6e20 7468 6520 6c69 first in the li │ │ │ -0001b2e0: 7374 2e22 290a 286d 616b 652d 7661 7269 st.").(make-vari │ │ │ -0001b2f0: 6162 6c65 2d62 7566 6665 722d 6c6f 6361 able-buffer-loca │ │ │ -0001b300: 6c20 2761 6764 6132 2d6c 6173 742d 7265 l 'agda2-last-re │ │ │ -0001b310: 7370 6f6e 7365 7329 0a0a 2864 6566 7661 sponses)..(defva │ │ │ -0001b320: 7220 6167 6461 322d 6669 6c65 2d62 7566 r agda2-file-buf │ │ │ -0001b330: 6665 7220 6e69 6c0a 2020 2254 6865 2041 fer nil. "The A │ │ │ -0001b340: 6764 6120 6275 6666 6572 2e0a 4e6f 7465 gda buffer..Note │ │ │ -0001b350: 2074 6861 7420 7468 6973 2076 6172 6961 that this varia │ │ │ -0001b360: 626c 6520 6973 206e 6f74 2062 7566 6665 ble is not buffe │ │ │ -0001b370: 722d 6c6f 6361 6c2e 2229 0a0a 2864 6566 r-local.")..(def │ │ │ -0001b380: 7661 7220 6167 6461 322d 696e 2d61 6764 var agda2-in-agd │ │ │ -0001b390: 6132 2d66 696c 652d 6275 6666 6572 206e a2-file-buffer n │ │ │ -0001b3a0: 696c 0a20 2022 5761 7320 6061 6764 6132 il. "Was `agda2 │ │ │ -0001b3b0: 2d66 696c 652d 6275 6666 6572 2720 6163 -file-buffer' ac │ │ │ -0001b3c0: 7469 7665 2077 6865 6e20 6061 6764 6132 tive when `agda2 │ │ │ -0001b3d0: 2d6f 7574 7075 742d 6669 6c74 6572 2720 -output-filter' │ │ │ -0001b3e0: 7374 6172 7465 643f 0a4e 6f74 6520 7468 started?.Note th │ │ │ -0001b3f0: 6174 2074 6869 7320 7661 7269 6162 6c65 at this variable │ │ │ -0001b400: 2069 7320 6e6f 7420 6275 6666 6572 2d6c is not buffer-l │ │ │ -0001b410: 6f63 616c 2e22 290a 0a3b 3b3b 3b3b 3b3b ocal.")..;;;;;;; │ │ │ +0001af40: 2020 2020 2020 2020 2020 2020 2061 6764 agd │ │ │ +0001af50: 6132 2d64 656c 696d 3220 7429 290a 2873 a2-delim2 t)).(s │ │ │ +0001af60: 6574 706c 6973 7420 2761 6764 6132 2d64 etplist 'agda2-d │ │ │ +0001af70: 656c 696d 3320 6028 6469 7370 6c61 7920 elim3 `(display │ │ │ +0001af80: 2c61 6764 6132 2d63 6c6f 7365 2d62 7261 ,agda2-close-bra │ │ │ +0001af90: 6365 2061 6764 6132 2d64 656c 696d 3320 ce agda2-delim3 │ │ │ +0001afa0: 7429 290a 2873 6574 706c 6973 7420 2761 t)).(setplist 'a │ │ │ +0001afb0: 6764 6132 2d64 656c 696d 3420 6028 6469 gda2-delim4 `(di │ │ │ +0001afc0: 7370 6c61 7920 2c61 6764 6132 2d63 6c6f splay ,agda2-clo │ │ │ +0001afd0: 7365 2d62 7261 6365 2072 6561 722d 6e6f se-brace rear-no │ │ │ +0001afe0: 6e73 7469 636b 7920 7429 290a 0a3b 3b20 nsticky t))..;; │ │ │ +0001aff0: 4e6f 7465 2074 6861 7420 7374 7269 6e67 Note that string │ │ │ +0001b000: 7320 7573 6564 2077 6974 6820 7468 6520 s used with the │ │ │ +0001b010: 6469 7370 6c61 7920 7072 6f70 6572 7479 display property │ │ │ +0001b020: 2061 7265 2063 6f6d 7061 7265 6420 6279 are compared by │ │ │ +0001b030: 0a3b 3b20 7265 6665 7265 6e63 652e 2049 .;; reference. I │ │ │ +0001b040: 6620 7468 6520 6167 6461 322d 2a2d 6272 f the agda2-*-br │ │ │ +0001b050: 6163 6520 6465 6669 6e69 7469 6f6e 7320 ace definitions │ │ │ +0001b060: 7765 7265 2069 6e6c 696e 6564 2c20 7468 were inlined, th │ │ │ +0001b070: 656e 0a3b 3b20 676f 616c 7320 776f 756c en.;; goals woul │ │ │ +0001b080: 6420 6265 2064 6973 706c 6179 6564 2061 d be displayed a │ │ │ +0001b090: 7320 227b 7b20 7d7d 6e22 2069 6e73 7465 s "{{ }}n" inste │ │ │ +0001b0a0: 6164 206f 6620 227b 207d 6e22 2e0a 0a3b ad of "{ }n"...; │ │ │ +0001b0b0: 3b20 5468 6520 666f 6c6c 6f77 696e 6720 ; The following │ │ │ +0001b0c0: 7661 7269 6162 6c65 7320 6172 6520 7573 variables are us │ │ │ +0001b0d0: 6564 2062 7920 7468 6520 6669 6c74 6572 ed by the filter │ │ │ +0001b0e0: 2070 726f 6365 7373 2c0a 3b3b 2060 6167 process,.;; `ag │ │ │ +0001b0f0: 6461 322d 6f75 7470 7574 2d66 696c 7465 da2-output-filte │ │ │ +0001b100: 7227 2e20 5468 6569 7220 7661 6c75 6573 r'. Their values │ │ │ +0001b110: 2061 7265 206f 6e6c 7920 6d6f 6469 6669 are only modifi │ │ │ +0001b120: 6564 2062 7920 7468 6520 6669 6c74 6572 ed by the filter │ │ │ +0001b130: 0a3b 3b20 7072 6f63 6573 732c 2060 6167 .;; process, `ag │ │ │ +0001b140: 6461 322d 676f 272c 2060 6167 6461 322d da2-go', `agda2- │ │ │ +0001b150: 7265 7374 6172 7427 2c20 6061 6764 6132 restart', `agda2 │ │ │ +0001b160: 2d61 626f 7274 2d68 6967 686c 6967 6874 -abort-highlight │ │ │ +0001b170: 696e 6727 2c0a 3b3b 2061 6e64 2060 6167 ing',.;; and `ag │ │ │ +0001b180: 6461 322d 6162 6f72 742d 646f 6e65 272e da2-abort-done'. │ │ │ +0001b190: 0a0a 2864 6566 7661 7220 6167 6461 322d ..(defvar agda2- │ │ │ +0001b1a0: 6f75 7470 7574 2d63 6875 6e6b 2d69 6e63 output-chunk-inc │ │ │ +0001b1b0: 6f6d 706c 6574 6520 2861 6764 6132 2d71 omplete (agda2-q │ │ │ +0001b1c0: 7565 7565 2d65 6d70 7479 290a 2020 2242 ueue-empty). "B │ │ │ +0001b1d0: 7566 6665 7220 666f 7220 696e 636f 6d70 uffer for incomp │ │ │ +0001b1e0: 6c65 7465 206c 696e 6573 2e0a 5c28 5365 lete lines..\(Se │ │ │ +0001b1f0: 6520 6061 6764 6132 2d6f 7574 7075 742d e `agda2-output- │ │ │ +0001b200: 6669 6c74 6572 272e 2922 290a 286d 616b filter'.)").(mak │ │ │ +0001b210: 652d 7661 7269 6162 6c65 2d62 7566 6665 e-variable-buffe │ │ │ +0001b220: 722d 6c6f 6361 6c20 2761 6764 6132 2d6f r-local 'agda2-o │ │ │ +0001b230: 7574 7075 742d 6368 756e 6b2d 696e 636f utput-chunk-inco │ │ │ +0001b240: 6d70 6c65 7465 290a 0a28 6465 6676 6172 mplete)..(defvar │ │ │ +0001b250: 2061 6764 6132 2d6c 6173 742d 7265 7370 agda2-last-resp │ │ │ +0001b260: 6f6e 7365 7320 6e69 6c0a 2020 2252 6573 onses nil. "Res │ │ │ +0001b270: 706f 6e73 6520 636f 6d6d 616e 6473 2077 ponse commands w │ │ │ +0001b280: 6869 6368 2073 686f 756c 6420 6265 2072 hich should be r │ │ │ +0001b290: 756e 2061 6674 6572 206f 7468 6572 2063 un after other c │ │ │ +0001b2a0: 6f6d 6d61 6e64 732e 0a54 6865 2063 6f6d ommands..The com │ │ │ +0001b2b0: 6d61 6e64 2077 6869 6368 2061 7272 6976 mand which arriv │ │ │ +0001b2c0: 6564 206c 6173 7420 6973 2073 746f 7265 ed last is store │ │ │ +0001b2d0: 6420 6669 7273 7420 696e 2074 6865 206c d first in the l │ │ │ +0001b2e0: 6973 742e 2229 0a28 6d61 6b65 2d76 6172 ist.").(make-var │ │ │ +0001b2f0: 6961 626c 652d 6275 6666 6572 2d6c 6f63 iable-buffer-loc │ │ │ +0001b300: 616c 2027 6167 6461 322d 6c61 7374 2d72 al 'agda2-last-r │ │ │ +0001b310: 6573 706f 6e73 6573 290a 0a28 6465 6676 esponses)..(defv │ │ │ +0001b320: 6172 2061 6764 6132 2d66 696c 652d 6275 ar agda2-file-bu │ │ │ +0001b330: 6666 6572 206e 696c 0a20 2022 5468 6520 ffer nil. "The │ │ │ +0001b340: 4167 6461 2062 7566 6665 722e 0a4e 6f74 Agda buffer..Not │ │ │ +0001b350: 6520 7468 6174 2074 6869 7320 7661 7269 e that this vari │ │ │ +0001b360: 6162 6c65 2069 7320 6e6f 7420 6275 6666 able is not buff │ │ │ +0001b370: 6572 2d6c 6f63 616c 2e22 290a 0a28 6465 er-local.")..(de │ │ │ +0001b380: 6676 6172 2061 6764 6132 2d69 6e2d 6167 fvar agda2-in-ag │ │ │ +0001b390: 6461 322d 6669 6c65 2d62 7566 6665 7220 da2-file-buffer │ │ │ +0001b3a0: 6e69 6c0a 2020 2257 6173 2060 6167 6461 nil. "Was `agda │ │ │ +0001b3b0: 322d 6669 6c65 2d62 7566 6665 7227 2061 2-file-buffer' a │ │ │ +0001b3c0: 6374 6976 6520 7768 656e 2060 6167 6461 ctive when `agda │ │ │ +0001b3d0: 322d 6f75 7470 7574 2d66 696c 7465 7227 2-output-filter' │ │ │ +0001b3e0: 2073 7461 7274 6564 3f0a 4e6f 7465 2074 started?.Note t │ │ │ +0001b3f0: 6861 7420 7468 6973 2076 6172 6961 626c hat this variabl │ │ │ +0001b400: 6520 6973 206e 6f74 2062 7566 6665 722d e is not buffer- │ │ │ +0001b410: 6c6f 6361 6c2e 2229 0a0a 3b3b 3b3b 3b3b local.")..;;;;;; │ │ │ 0001b420: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 0001b430: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 0001b440: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 0001b450: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ -0001b460: 3b0a 3b3b 3b3b 2061 6764 6132 2d6d 6f64 ;.;;;; agda2-mod │ │ │ -0001b470: 650a 0a3b 3b3b 2323 2361 7574 6f6c 6f61 e..;;;###autoloa │ │ │ -0001b480: 640a 2861 6464 2d74 6f2d 6c69 7374 2027 d.(add-to-list ' │ │ │ -0001b490: 6175 746f 2d6d 6f64 652d 616c 6973 7420 auto-mode-alist │ │ │ -0001b4a0: 2728 225c 5c2e 6c3f 6167 6461 5c5c 2722 '("\\.l?agda\\'" │ │ │ -0001b4b0: 202e 2061 6764 6132 2d6d 6f64 6529 290a . agda2-mode)). │ │ │ -0001b4c0: 3b3b 3b23 2323 6175 746f 6c6f 6164 0a28 ;;;###autoload.( │ │ │ -0001b4d0: 6d6f 6469 6679 2d63 6f64 696e 672d 7379 modify-coding-sy │ │ │ -0001b4e0: 7374 656d 2d61 6c69 7374 2027 6669 6c65 stem-alist 'file │ │ │ -0001b4f0: 2022 5c5c 2e6c 3f61 6764 615c 5c27 2220 "\\.l?agda\\'" │ │ │ -0001b500: 2775 7466 2d38 290a 3b3b 3b23 2323 6175 'utf-8).;;;###au │ │ │ -0001b510: 746f 6c6f 6164 0a28 6465 6669 6e65 2d64 toload.(define-d │ │ │ -0001b520: 6572 6976 6564 2d6d 6f64 6520 6167 6461 erived-mode agda │ │ │ -0001b530: 322d 6d6f 6465 2070 726f 672d 6d6f 6465 2-mode prog-mode │ │ │ -0001b540: 2022 4167 6461 220a 2020 224d 616a 6f72 "Agda". "Major │ │ │ -0001b550: 206d 6f64 6520 666f 7220 4167 6461 2066 mode for Agda f │ │ │ -0001b560: 696c 6573 2e0a 0a54 6865 2066 6f6c 6c6f iles...The follo │ │ │ -0001b570: 7769 6e67 2070 6172 6167 7261 7068 2064 wing paragraph d │ │ │ -0001b580: 6f65 7320 6e6f 7420 6170 706c 7920 746f oes not apply to │ │ │ -0001b590: 2045 6d61 6373 2032 3320 6f72 206e 6577 Emacs 23 or new │ │ │ -0001b5a0: 6572 2e0a 0a20 204e 6f74 6520 7468 6174 er... Note that │ │ │ -0001b5b0: 2077 6865 6e20 7468 6973 206d 6f64 6520 when this mode │ │ │ -0001b5c0: 6973 2061 6374 6976 6174 6564 2074 6865 is activated the │ │ │ -0001b5d0: 2064 6566 6175 6c74 2066 6f6e 7420 6f66 default font of │ │ │ -0001b5e0: 2074 6865 0a20 2063 7572 7265 6e74 2066 the. current f │ │ │ -0001b5f0: 7261 6d65 2069 7320 6368 616e 6765 6420 rame is changed │ │ │ -0001b600: 746f 2074 6865 2066 6f6e 7473 6574 2060 to the fontset ` │ │ │ -0001b610: 6167 6461 322d 666f 6e74 7365 742d 6e61 agda2-fontset-na │ │ │ -0001b620: 6d65 272e 0a20 2054 6865 2072 6561 736f me'.. The reaso │ │ │ -0001b630: 6e20 6973 2074 6861 7420 4167 6461 2070 n is that Agda p │ │ │ -0001b640: 726f 6772 616d 7320 6f66 7465 6e20 7573 rograms often us │ │ │ -0001b650: 6520 6d61 7468 656d 6174 6963 616c 2073 e mathematical s │ │ │ -0001b660: 796d 626f 6c73 0a20 2061 6e64 206f 7468 ymbols. and oth │ │ │ -0001b670: 6572 2055 6e69 636f 6465 2063 6861 7261 er Unicode chara │ │ │ -0001b680: 6374 6572 732c 2073 6f20 7765 2074 7279 cters, so we try │ │ │ -0001b690: 2074 6f20 7072 6f76 6964 6520 6120 7375 to provide a su │ │ │ -0001b6a0: 6974 6162 6c65 0a20 2064 6566 6175 6c74 itable. default │ │ │ -0001b6b0: 2066 6f6e 7420 7365 7474 696e 672c 2077 font setting, w │ │ │ -0001b6c0: 6869 6368 2063 616e 2064 6973 706c 6179 hich can display │ │ │ -0001b6d0: 206d 616e 7920 6f66 2074 6865 2063 6861 many of the cha │ │ │ -0001b6e0: 7261 6374 6572 730a 2020 656e 636f 756e racters. encoun │ │ │ -0001b6f0: 7465 7265 642e 2049 6620 796f 7520 7072 tered. If you pr │ │ │ -0001b700: 6566 6572 2074 6f20 7573 6520 796f 7572 efer to use your │ │ │ -0001b710: 206f 776e 2073 6574 7469 6e67 732c 2073 own settings, s │ │ │ -0001b720: 6574 0a20 2060 6167 6461 322d 666f 6e74 et. `agda2-font │ │ │ -0001b730: 7365 742d 6e61 6d65 2720 746f 206e 696c set-name' to nil │ │ │ -0001b740: 2e0a 0a53 7065 6369 616c 2063 6f6d 6d61 ...Special comma │ │ │ -0001b750: 6e64 733a 0a5c 5c7b 6167 6461 322d 6d6f nds:.\\{agda2-mo │ │ │ -0001b760: 6465 2d6d 6170 7d22 0a0a 2028 6966 2028 de-map}".. (if ( │ │ │ -0001b770: 626f 756e 6470 2027 6167 6461 322d 696e boundp 'agda2-in │ │ │ -0001b780: 636c 7564 652d 6469 7273 290a 2020 2020 clude-dirs). │ │ │ -0001b790: 2028 6469 7370 6c61 792d 7761 726e 696e (display-warnin │ │ │ -0001b7a0: 6720 2761 6764 6132 2022 4e6f 7465 2074 g 'agda2 "Note t │ │ │ -0001b7b0: 6861 7420 7468 6520 7661 7269 6162 6c65 hat the variable │ │ │ -0001b7c0: 2061 6764 6132 2d69 6e63 6c75 6465 2d64 agda2-include-d │ │ │ -0001b7d0: 6972 7320 6973 0a6e 6f20 6c6f 6e67 6572 irs is.no longer │ │ │ -0001b7e0: 2075 7365 642e 2059 6f75 206d 6179 2077 used. You may w │ │ │ -0001b7f0: 616e 7420 746f 2075 7064 6174 6520 796f ant to update yo │ │ │ -0001b800: 7572 2063 6f6e 6669 6775 7261 7469 6f6e ur configuration │ │ │ -0001b810: 2e20 596f 750a 6861 7665 2061 7420 6c65 . You.have at le │ │ │ -0001b820: 6173 7420 7477 6f20 6368 6f69 6365 733a ast two choices: │ │ │ -0001b830: 0a2a 2055 7365 2074 6865 206c 6962 7261 .* Use the libra │ │ │ -0001b840: 7279 206d 616e 6167 656d 656e 7420 7379 ry management sy │ │ │ -0001b850: 7374 656d 2e0a 2a20 5365 7420 7468 6520 stem..* Set the │ │ │ -0001b860: 696e 636c 7564 6520 7061 7468 2075 7369 include path usi │ │ │ -0001b870: 6e67 2061 6764 6132 2d70 726f 6772 616d ng agda2-program │ │ │ -0001b880: 2d61 7267 732e 0a0a 4f6e 6520 7761 7920 -args...One way │ │ │ -0001b890: 746f 2061 766f 6964 2073 6565 696e 6720 to avoid seeing │ │ │ -0001b8a0: 7468 6973 2077 6172 6e69 6e67 2069 7320 this warning is │ │ │ -0001b8b0: 746f 206d 616b 6520 7375 7265 2074 6861 to make sure tha │ │ │ -0001b8c0: 740a 6167 6461 322d 696e 636c 7564 652d t.agda2-include- │ │ │ -0001b8d0: 6469 7273 2069 7320 6e6f 7420 626f 756e dirs is not boun │ │ │ -0001b8e0: 642e 2220 3a77 6172 6e69 6e67 2929 0a0a d." :warning)).. │ │ │ -0001b8f0: 2028 7365 7471 206c 6f63 616c 2d61 6262 (setq local-abb │ │ │ -0001b900: 7265 762d 7461 626c 6520 6167 6461 322d rev-table agda2- │ │ │ -0001b910: 6d6f 6465 2d61 6262 7265 762d 7461 626c mode-abbrev-tabl │ │ │ -0001b920: 650a 2020 2020 2020 2069 6e64 656e 742d e. indent- │ │ │ -0001b930: 7461 6273 2d6d 6f64 6520 2020 6e69 6c0a tabs-mode nil. │ │ │ -0001b940: 2020 2020 2020 206d 6f64 652d 6c69 6e65 mode-line │ │ │ -0001b950: 2d70 726f 6365 7373 0a20 2020 2020 2020 -process. │ │ │ -0001b960: 2020 2728 283a 6576 616c 2028 756e 6c65 '((:eval (unle │ │ │ -0001b970: 7373 2028 6571 2030 2028 6c65 6e67 7468 ss (eq 0 (length │ │ │ -0001b980: 2061 6764 6132 2d62 7566 6665 722d 6578 agda2-buffer-ex │ │ │ -0001b990: 7465 726e 616c 2d73 7461 7475 7329 290a ternal-status)). │ │ │ -0001b9a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0001b9b0: 2020 2020 2863 6f6e 6361 7420 223a 2220 (concat ":" │ │ │ -0001b9c0: 6167 6461 322d 6275 6666 6572 2d65 7874 agda2-buffer-ext │ │ │ -0001b9d0: 6572 6e61 6c2d 7374 6174 7573 2929 2929 ernal-status)))) │ │ │ -0001b9e0: 290a 2028 6c65 7420 2828 6c20 2728 6d61 ). (let ((l '(ma │ │ │ -0001b9f0: 782d 7370 6563 7064 6c2d 7369 7a65 2020 x-specpdl-size │ │ │ -0001ba00: 2020 3236 3030 0a20 2020 2020 2020 2020 2600. │ │ │ -0001ba10: 2020 206d 6178 2d6c 6973 702d 6576 616c max-lisp-eval │ │ │ -0001ba20: 2d64 6570 7468 2032 3830 3029 2929 0a20 -depth 2800))). │ │ │ -0001ba30: 2020 2877 6869 6c65 206c 2028 7365 7420 (while l (set │ │ │ -0001ba40: 286d 616b 652d 6c6f 6361 6c2d 7661 7269 (make-local-vari │ │ │ -0001ba50: 6162 6c65 2028 706f 7020 6c29 2920 2870 able (pop l)) (p │ │ │ -0001ba60: 6f70 206c 2929 2929 0a20 2869 6620 2861 op l)))). (if (a │ │ │ -0001ba70: 6e64 2077 696e 646f 772d 7379 7374 656d nd window-system │ │ │ -0001ba80: 2061 6764 6132 2d66 6f6e 7473 6574 2d6e agda2-fontset-n │ │ │ -0001ba90: 616d 6529 0a20 2020 2020 2863 6f6e 6469 ame). (condi │ │ │ -0001baa0: 7469 6f6e 2d63 6173 6520 6e69 6c0a 2020 tion-case nil. │ │ │ -0001bab0: 2020 2020 2020 2028 7365 742d 6672 616d (set-fram │ │ │ -0001bac0: 652d 666f 6e74 2061 6764 6132 2d66 6f6e e-font agda2-fon │ │ │ -0001bad0: 7473 6574 2d6e 616d 6529 0a20 2020 2020 tset-name). │ │ │ -0001bae0: 2020 2865 7272 6f72 2028 6572 726f 7220 (error (error │ │ │ -0001baf0: 2255 6e61 626c 6520 746f 2063 6861 6e67 "Unable to chang │ │ │ -0001bb00: 6520 7468 6520 666f 6e74 3b20 6368 616e e the font; chan │ │ │ -0001bb10: 6765 2061 6764 6132 2d66 6f6e 7473 6574 ge agda2-fontset │ │ │ -0001bb20: 2d6e 616d 6520 6f72 2074 7765 616b 2061 -name or tweak a │ │ │ -0001bb30: 6764 6132 2d66 6f6e 7473 6574 2d73 7065 gda2-fontset-spe │ │ │ -0001bb40: 632d 6f66 2d66 6f6e 7473 6574 2d61 6764 c-of-fontset-agd │ │ │ -0001bb50: 6132 2229 2929 290a 203b 3b20 4465 6163 a2")))). ;; Deac │ │ │ -0001bb60: 7469 7661 7465 2068 6967 686c 6967 6874 tivate highlight │ │ │ -0001bb70: 696e 6720 6966 2074 6865 2062 7566 6665 ing if the buffe │ │ │ -0001bb80: 7220 6973 2065 6469 7465 6420 6265 666f r is edited befo │ │ │ -0001bb90: 7265 0a20 3b3b 2074 7970 6563 6865 636b re. ;; typecheck │ │ │ -0001bba0: 696e 6720 6973 2063 6f6d 706c 6574 652e ing is complete. │ │ │ -0001bbb0: 0a20 2861 6464 2d68 6f6f 6b20 2766 6972 . (add-hook 'fir │ │ │ -0001bbc0: 7374 2d63 6861 6e67 652d 686f 6f6b 2027 st-change-hook ' │ │ │ -0001bbd0: 6167 6461 322d 6162 6f72 742d 6869 6768 agda2-abort-high │ │ │ -0001bbe0: 6c69 6768 7469 6e67 206e 696c 2027 6c6f lighting nil 'lo │ │ │ -0001bbf0: 6361 6c29 0a20 3b3b 2049 6620 4167 6461 cal). ;; If Agda │ │ │ -0001bc00: 2069 7320 6e6f 7420 7275 6e6e 696e 6720 is not running │ │ │ -0001bc10: 7379 6e74 6178 2068 6967 686c 6967 6874 syntax highlight │ │ │ -0001bc20: 696e 6720 646f 6573 206e 6f74 2077 6f72 ing does not wor │ │ │ -0001bc30: 6b20 7072 6f70 6572 6c79 2e0a 2028 756e k properly.. (un │ │ │ -0001bc40: 6c65 7373 2028 6571 2027 7275 6e20 2861 less (eq 'run (a │ │ │ -0001bc50: 6764 6132 2d70 726f 6365 7373 2d73 7461 gda2-process-sta │ │ │ -0001bc60: 7475 7329 290a 2020 2028 6167 6461 322d tus)). (agda2- │ │ │ -0001bc70: 7265 7374 6172 7429 290a 203b 3b20 4d61 restart)). ;; Ma │ │ │ -0001bc80: 6b65 2073 7572 6520 7468 6174 2046 6f6e ke sure that Fon │ │ │ -0001bc90: 7420 4c6f 636b 206d 6f64 6520 6973 206e t Lock mode is n │ │ │ -0001bca0: 6f74 2075 7365 642e 0a20 2866 6f6e 742d ot used.. (font- │ │ │ -0001bcb0: 6c6f 636b 2d6d 6f64 6520 3029 0a20 2861 lock-mode 0). (a │ │ │ -0001bcc0: 6764 6132 2d68 6967 686c 6967 6874 2d73 gda2-highlight-s │ │ │ -0001bcd0: 6574 7570 290a 2028 636f 6e64 6974 696f etup). (conditio │ │ │ -0001bce0: 6e2d 6361 7365 2065 7272 0a20 2020 2020 n-case err. │ │ │ -0001bcf0: 2861 6764 6132 2d68 6967 686c 6967 6874 (agda2-highlight │ │ │ -0001bd00: 2d72 656c 6f61 6429 0a20 2020 2865 7272 -reload). (err │ │ │ -0001bd10: 6f72 2028 6d65 7373 6167 6520 2248 6967 or (message "Hig │ │ │ -0001bd20: 686c 6967 6874 696e 6720 6e6f 7420 6c6f hlighting not lo │ │ │ -0001bd30: 6164 6564 3a20 2573 220a 2020 2020 2020 aded: %s". │ │ │ -0001bd40: 2020 2020 2020 2020 2020 2020 2028 6572 (er │ │ │ -0001bd50: 726f 722d 6d65 7373 6167 652d 7374 7269 ror-message-stri │ │ │ -0001bd60: 6e67 2065 7272 2929 2929 0a20 2861 6764 ng err)))). (agd │ │ │ -0001bd70: 6132 2d63 6f6d 6d65 6e74 732d 616e 642d a2-comments-and- │ │ │ -0001bd80: 7061 7261 6772 6170 6873 2d73 6574 7570 paragraphs-setup │ │ │ -0001bd90: 290a 2028 666f 7263 652d 6d6f 6465 2d6c ). (force-mode-l │ │ │ -0001bda0: 696e 652d 7570 6461 7465 290a 203b 3b20 ine-update). ;; │ │ │ -0001bdb0: 5072 6f74 6563 7420 676c 6f62 616c 2076 Protect global v │ │ │ -0001bdc0: 616c 7565 206f 6620 6465 6661 756c 742d alue of default- │ │ │ -0001bdd0: 696e 7075 742d 6d65 7468 6f64 2066 726f input-method fro │ │ │ -0001bde0: 6d20 7365 742d 696e 7075 742d 6d65 7468 m set-input-meth │ │ │ -0001bdf0: 6f64 2e0a 2028 6d61 6b65 2d6c 6f63 616c od.. (make-local │ │ │ -0001be00: 2d76 6172 6961 626c 6520 2764 6566 6175 -variable 'defau │ │ │ -0001be10: 6c74 2d69 6e70 7574 2d6d 6574 686f 6429 lt-input-method) │ │ │ -0001be20: 0a20 3b3b 2044 6f6e 2774 2074 616b 6520 . ;; Don't take │ │ │ -0001be30: 7363 7269 7074 2069 6e74 6f20 6163 636f script into acco │ │ │ -0001be40: 756e 7420 7768 656e 2064 6574 6572 6d69 unt when determi │ │ │ -0001be50: 6e69 6e67 2077 6f72 6420 626f 756e 6461 ning word bounda │ │ │ -0001be60: 7269 6573 0a20 2873 6574 2028 6d61 6b65 ries. (set (make │ │ │ -0001be70: 2d6c 6f63 616c 2d76 6172 6961 626c 6520 -local-variable │ │ │ -0001be80: 2777 6f72 642d 636f 6d62 696e 696e 672d 'word-combining- │ │ │ -0001be90: 6361 7465 676f 7269 6573 2920 2863 6f6e categories) (con │ │ │ -0001bea0: 7320 2728 6e69 6c20 2e20 6e69 6c29 2077 s '(nil . nil) w │ │ │ -0001beb0: 6f72 642d 636f 6d62 696e 696e 672d 6361 ord-combining-ca │ │ │ -0001bec0: 7465 676f 7269 6573 2929 0a20 2873 6574 tegories)). (set │ │ │ -0001bed0: 2d69 6e70 7574 2d6d 6574 686f 6420 2241 -input-method "A │ │ │ -0001bee0: 6764 6122 290a 203b 3b20 4869 6768 6c69 gda"). ;; Highli │ │ │ -0001bef0: 6768 7469 6e67 2065 7463 2e20 6973 2072 ghting etc. is r │ │ │ -0001bf00: 656d 6f76 6564 2077 6865 6e20 7765 2073 emoved when we s │ │ │ -0001bf10: 7769 7463 6820 6672 6f6d 2074 6865 2041 witch from the A │ │ │ -0001bf20: 6764 6120 6d6f 6465 2e0a 203b 3b20 5573 gda mode.. ;; Us │ │ │ -0001bf30: 6520 6361 7365 3a20 5768 656e 2061 2066 e case: When a f │ │ │ -0001bf40: 696c 6520 4d2e 6c61 6764 6120 7769 7468 ile M.lagda with │ │ │ -0001bf50: 2061 206c 6f63 616c 2076 6172 6961 626c a local variabl │ │ │ -0001bf60: 6573 206c 6973 740a 203b 3b20 696e 636c es list. ;; incl │ │ │ -0001bf70: 7564 696e 6720 226d 6f64 653a 206c 6174 uding "mode: lat │ │ │ -0001bf80: 6578 2220 6973 206c 6f61 6465 6420 6368 ex" is loaded ch │ │ │ -0001bf90: 616e 6365 7320 6172 6520 7468 6174 2074 ances are that t │ │ │ -0001bfa0: 6865 2041 6764 6120 6d6f 6465 0a20 3b3b he Agda mode. ;; │ │ │ -0001bfb0: 2069 7320 6163 7469 7661 7465 6420 6265 is activated be │ │ │ -0001bfc0: 666f 7265 2074 6865 204c 6154 6558 206d fore the LaTeX m │ │ │ -0001bfd0: 6f64 652c 2061 6e64 2074 6865 204c 6154 ode, and the LaT │ │ │ -0001bfe0: 6558 206d 6f64 6520 646f 6573 206e 6f74 eX mode does not │ │ │ -0001bff0: 0a20 3b3b 2073 6565 6d20 746f 2072 656d . ;; seem to rem │ │ │ -0001c000: 6f76 6520 7468 6520 7465 7874 2070 726f ove the text pro │ │ │ -0001c010: 7065 7274 6965 7320 7365 7420 6279 2074 perties set by t │ │ │ -0001c020: 6865 2041 6764 6120 6d6f 6465 2e0a 2028 he Agda mode.. ( │ │ │ -0001c030: 6164 642d 686f 6f6b 2027 6368 616e 6765 add-hook 'change │ │ │ -0001c040: 2d6d 616a 6f72 2d6d 6f64 652d 686f 6f6b -major-mode-hook │ │ │ -0001c050: 2027 6167 6461 322d 7175 6974 206e 696c 'agda2-quit nil │ │ │ -0001c060: 2027 6c6f 6361 6c29 290a 0a28 6465 6675 'local))..(defu │ │ │ -0001c070: 6e20 6167 6461 322d 7265 7374 6172 7420 n agda2-restart │ │ │ -0001c080: 2829 0a20 2022 5472 6965 7320 746f 2073 (). "Tries to s │ │ │ -0001c090: 7461 7274 206f 7220 7265 7374 6172 7420 tart or restart │ │ │ -0001c0a0: 7468 6520 4167 6461 2070 726f 6365 7373 the Agda process │ │ │ -0001c0b0: 2e22 0a20 2028 696e 7465 7261 6374 6976 .". (interactiv │ │ │ -0001c0c0: 6529 0a0a 2020 3b3b 204b 696c 6c20 616e e).. ;; Kill an │ │ │ -0001c0d0: 7920 7275 6e6e 696e 6720 696e 7374 616e y running instan │ │ │ -0001c0e0: 6365 206f 6620 7468 6520 4167 6461 2070 ce of the Agda p │ │ │ -0001c0f0: 726f 6365 7373 2e0a 2020 2863 6f6e 6469 rocess.. (condi │ │ │ -0001c100: 7469 6f6e 2d63 6173 6520 6e69 6c0a 2020 tion-case nil. │ │ │ -0001c110: 2020 2020 2861 6764 6132 2d74 6572 6d29 (agda2-term) │ │ │ -0001c120: 0a20 2020 2028 6572 726f 7220 6e69 6c29 . (error nil) │ │ │ -0001c130: 290a 0a20 203b 3b20 4368 6563 6b20 7468 ).. ;; Check th │ │ │ -0001c140: 6174 2074 6865 2072 6967 6874 2076 6572 at the right ver │ │ │ -0001c150: 7369 6f6e 206f 6620 4167 6461 2069 7320 sion of Agda is │ │ │ -0001c160: 7573 6564 2e0a 2020 286c 6574 2a20 2828 used.. (let* (( │ │ │ -0001c170: 636f 6469 6e67 2d73 7973 7465 6d2d 666f coding-system-fo │ │ │ -0001c180: 722d 7265 6164 2027 7574 662d 3829 0a20 r-read 'utf-8). │ │ │ -0001c190: 2020 2020 2020 2020 286f 7574 7075 7420 (output │ │ │ -0001c1a0: 2877 6974 682d 6f75 7470 7574 2d74 6f2d (with-output-to- │ │ │ -0001c1b0: 7374 7269 6e67 0a20 2020 2020 2020 2020 string. │ │ │ -0001c1c0: 2020 2020 2020 2020 2020 2863 616c 6c2d (call- │ │ │ -0001c1d0: 7072 6f63 6573 7320 6167 6461 322d 7072 process agda2-pr │ │ │ -0001c1e0: 6f67 7261 6d2d 6e61 6d65 0a20 2020 2020 ogram-name. │ │ │ +0001b460: 3b3b 0a3b 3b3b 3b20 6167 6461 322d 6d6f ;;.;;;; agda2-mo │ │ │ +0001b470: 6465 0a0a 3b3b 3b23 2323 6175 746f 6c6f de..;;;###autolo │ │ │ +0001b480: 6164 0a28 6164 642d 746f 2d6c 6973 7420 ad.(add-to-list │ │ │ +0001b490: 2761 7574 6f2d 6d6f 6465 2d61 6c69 7374 'auto-mode-alist │ │ │ +0001b4a0: 2027 2822 5c5c 2e6c 3f61 6764 615c 5c27 '("\\.l?agda\\' │ │ │ +0001b4b0: 2220 2e20 6167 6461 322d 6d6f 6465 2929 " . agda2-mode)) │ │ │ +0001b4c0: 0a3b 3b3b 2323 2361 7574 6f6c 6f61 640a .;;;###autoload. │ │ │ +0001b4d0: 286d 6f64 6966 792d 636f 6469 6e67 2d73 (modify-coding-s │ │ │ +0001b4e0: 7973 7465 6d2d 616c 6973 7420 2766 696c ystem-alist 'fil │ │ │ +0001b4f0: 6520 225c 5c2e 6c3f 6167 6461 5c5c 2722 e "\\.l?agda\\'" │ │ │ +0001b500: 2027 7574 662d 3829 0a3b 3b3b 2323 2361 'utf-8).;;;###a │ │ │ +0001b510: 7574 6f6c 6f61 640a 2864 6566 696e 652d utoload.(define- │ │ │ +0001b520: 6465 7269 7665 642d 6d6f 6465 2061 6764 derived-mode agd │ │ │ +0001b530: 6132 2d6d 6f64 6520 7072 6f67 2d6d 6f64 a2-mode prog-mod │ │ │ +0001b540: 6520 2241 6764 6122 0a20 2022 4d61 6a6f e "Agda". "Majo │ │ │ +0001b550: 7220 6d6f 6465 2066 6f72 2041 6764 6120 r mode for Agda │ │ │ +0001b560: 6669 6c65 732e 0a0a 5468 6520 666f 6c6c files...The foll │ │ │ +0001b570: 6f77 696e 6720 7061 7261 6772 6170 6820 owing paragraph │ │ │ +0001b580: 646f 6573 206e 6f74 2061 7070 6c79 2074 does not apply t │ │ │ +0001b590: 6f20 456d 6163 7320 3233 206f 7220 6e65 o Emacs 23 or ne │ │ │ +0001b5a0: 7765 722e 0a0a 2020 4e6f 7465 2074 6861 wer... Note tha │ │ │ +0001b5b0: 7420 7768 656e 2074 6869 7320 6d6f 6465 t when this mode │ │ │ +0001b5c0: 2069 7320 6163 7469 7661 7465 6420 7468 is activated th │ │ │ +0001b5d0: 6520 6465 6661 756c 7420 666f 6e74 206f e default font o │ │ │ +0001b5e0: 6620 7468 650a 2020 6375 7272 656e 7420 f the. current │ │ │ +0001b5f0: 6672 616d 6520 6973 2063 6861 6e67 6564 frame is changed │ │ │ +0001b600: 2074 6f20 7468 6520 666f 6e74 7365 7420 to the fontset │ │ │ +0001b610: 6061 6764 6132 2d66 6f6e 7473 6574 2d6e `agda2-fontset-n │ │ │ +0001b620: 616d 6527 2e0a 2020 5468 6520 7265 6173 ame'.. The reas │ │ │ +0001b630: 6f6e 2069 7320 7468 6174 2041 6764 6120 on is that Agda │ │ │ +0001b640: 7072 6f67 7261 6d73 206f 6674 656e 2075 programs often u │ │ │ +0001b650: 7365 206d 6174 6865 6d61 7469 6361 6c20 se mathematical │ │ │ +0001b660: 7379 6d62 6f6c 730a 2020 616e 6420 6f74 symbols. and ot │ │ │ +0001b670: 6865 7220 556e 6963 6f64 6520 6368 6172 her Unicode char │ │ │ +0001b680: 6163 7465 7273 2c20 736f 2077 6520 7472 acters, so we tr │ │ │ +0001b690: 7920 746f 2070 726f 7669 6465 2061 2073 y to provide a s │ │ │ +0001b6a0: 7569 7461 626c 650a 2020 6465 6661 756c uitable. defaul │ │ │ +0001b6b0: 7420 666f 6e74 2073 6574 7469 6e67 2c20 t font setting, │ │ │ +0001b6c0: 7768 6963 6820 6361 6e20 6469 7370 6c61 which can displa │ │ │ +0001b6d0: 7920 6d61 6e79 206f 6620 7468 6520 6368 y many of the ch │ │ │ +0001b6e0: 6172 6163 7465 7273 0a20 2065 6e63 6f75 aracters. encou │ │ │ +0001b6f0: 6e74 6572 6564 2e20 4966 2079 6f75 2070 ntered. If you p │ │ │ +0001b700: 7265 6665 7220 746f 2075 7365 2079 6f75 refer to use you │ │ │ +0001b710: 7220 6f77 6e20 7365 7474 696e 6773 2c20 r own settings, │ │ │ +0001b720: 7365 740a 2020 6061 6764 6132 2d66 6f6e set. `agda2-fon │ │ │ +0001b730: 7473 6574 2d6e 616d 6527 2074 6f20 6e69 tset-name' to ni │ │ │ +0001b740: 6c2e 0a0a 5370 6563 6961 6c20 636f 6d6d l...Special comm │ │ │ +0001b750: 616e 6473 3a0a 5c5c 7b61 6764 6132 2d6d ands:.\\{agda2-m │ │ │ +0001b760: 6f64 652d 6d61 707d 220a 0a20 2869 6620 ode-map}".. (if │ │ │ +0001b770: 2862 6f75 6e64 7020 2761 6764 6132 2d69 (boundp 'agda2-i │ │ │ +0001b780: 6e63 6c75 6465 2d64 6972 7329 0a20 2020 nclude-dirs). │ │ │ +0001b790: 2020 2864 6973 706c 6179 2d77 6172 6e69 (display-warni │ │ │ +0001b7a0: 6e67 2027 6167 6461 3220 224e 6f74 6520 ng 'agda2 "Note │ │ │ +0001b7b0: 7468 6174 2074 6865 2076 6172 6961 626c that the variabl │ │ │ +0001b7c0: 6520 6167 6461 322d 696e 636c 7564 652d e agda2-include- │ │ │ +0001b7d0: 6469 7273 2069 730a 6e6f 206c 6f6e 6765 dirs is.no longe │ │ │ +0001b7e0: 7220 7573 6564 2e20 596f 7520 6d61 7920 r used. You may │ │ │ +0001b7f0: 7761 6e74 2074 6f20 7570 6461 7465 2079 want to update y │ │ │ +0001b800: 6f75 7220 636f 6e66 6967 7572 6174 696f our configuratio │ │ │ +0001b810: 6e2e 2059 6f75 0a68 6176 6520 6174 206c n. You.have at l │ │ │ +0001b820: 6561 7374 2074 776f 2063 686f 6963 6573 east two choices │ │ │ +0001b830: 3a0a 2a20 5573 6520 7468 6520 6c69 6272 :.* Use the libr │ │ │ +0001b840: 6172 7920 6d61 6e61 6765 6d65 6e74 2073 ary management s │ │ │ +0001b850: 7973 7465 6d2e 0a2a 2053 6574 2074 6865 ystem..* Set the │ │ │ +0001b860: 2069 6e63 6c75 6465 2070 6174 6820 7573 include path us │ │ │ +0001b870: 696e 6720 6167 6461 322d 7072 6f67 7261 ing agda2-progra │ │ │ +0001b880: 6d2d 6172 6773 2e0a 0a4f 6e65 2077 6179 m-args...One way │ │ │ +0001b890: 2074 6f20 6176 6f69 6420 7365 6569 6e67 to avoid seeing │ │ │ +0001b8a0: 2074 6869 7320 7761 726e 696e 6720 6973 this warning is │ │ │ +0001b8b0: 2074 6f20 6d61 6b65 2073 7572 6520 7468 to make sure th │ │ │ +0001b8c0: 6174 0a61 6764 6132 2d69 6e63 6c75 6465 at.agda2-include │ │ │ +0001b8d0: 2d64 6972 7320 6973 206e 6f74 2062 6f75 -dirs is not bou │ │ │ +0001b8e0: 6e64 2e22 203a 7761 726e 696e 6729 290a nd." :warning)). │ │ │ +0001b8f0: 0a20 2873 6574 7120 6c6f 6361 6c2d 6162 . (setq local-ab │ │ │ +0001b900: 6272 6576 2d74 6162 6c65 2061 6764 6132 brev-table agda2 │ │ │ +0001b910: 2d6d 6f64 652d 6162 6272 6576 2d74 6162 -mode-abbrev-tab │ │ │ +0001b920: 6c65 0a20 2020 2020 2020 696e 6465 6e74 le. indent │ │ │ +0001b930: 2d74 6162 732d 6d6f 6465 2020 206e 696c -tabs-mode nil │ │ │ +0001b940: 0a20 2020 2020 2020 6d6f 6465 2d6c 696e . mode-lin │ │ │ +0001b950: 652d 7072 6f63 6573 730a 2020 2020 2020 e-process. │ │ │ +0001b960: 2020 2027 2828 3a65 7661 6c20 2875 6e6c '((:eval (unl │ │ │ +0001b970: 6573 7320 2865 7120 3020 286c 656e 6774 ess (eq 0 (lengt │ │ │ +0001b980: 6820 6167 6461 322d 6275 6666 6572 2d65 h agda2-buffer-e │ │ │ +0001b990: 7874 6572 6e61 6c2d 7374 6174 7573 2929 xternal-status)) │ │ │ +0001b9a0: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ +0001b9b0: 2020 2020 2028 636f 6e63 6174 2022 3a22 (concat ":" │ │ │ +0001b9c0: 2061 6764 6132 2d62 7566 6665 722d 6578 agda2-buffer-ex │ │ │ +0001b9d0: 7465 726e 616c 2d73 7461 7475 7329 2929 ternal-status))) │ │ │ +0001b9e0: 2929 0a20 286c 6574 2028 286c 2027 286d )). (let ((l '(m │ │ │ +0001b9f0: 6178 2d73 7065 6370 646c 2d73 697a 6520 ax-specpdl-size │ │ │ +0001ba00: 2020 2032 3630 300a 2020 2020 2020 2020 2600. │ │ │ +0001ba10: 2020 2020 6d61 782d 6c69 7370 2d65 7661 max-lisp-eva │ │ │ +0001ba20: 6c2d 6465 7074 6820 3238 3030 2929 290a l-depth 2800))). │ │ │ +0001ba30: 2020 2028 7768 696c 6520 6c20 2873 6574 (while l (set │ │ │ +0001ba40: 2028 6d61 6b65 2d6c 6f63 616c 2d76 6172 (make-local-var │ │ │ +0001ba50: 6961 626c 6520 2870 6f70 206c 2929 2028 iable (pop l)) ( │ │ │ +0001ba60: 706f 7020 6c29 2929 290a 2028 6966 2028 pop l)))). (if ( │ │ │ +0001ba70: 616e 6420 7769 6e64 6f77 2d73 7973 7465 and window-syste │ │ │ +0001ba80: 6d20 6167 6461 322d 666f 6e74 7365 742d m agda2-fontset- │ │ │ +0001ba90: 6e61 6d65 290a 2020 2020 2028 636f 6e64 name). (cond │ │ │ +0001baa0: 6974 696f 6e2d 6361 7365 206e 696c 0a20 ition-case nil. │ │ │ +0001bab0: 2020 2020 2020 2020 2873 6574 2d66 7261 (set-fra │ │ │ +0001bac0: 6d65 2d66 6f6e 7420 6167 6461 322d 666f me-font agda2-fo │ │ │ +0001bad0: 6e74 7365 742d 6e61 6d65 290a 2020 2020 ntset-name). │ │ │ +0001bae0: 2020 2028 6572 726f 7220 2865 7272 6f72 (error (error │ │ │ +0001baf0: 2022 556e 6162 6c65 2074 6f20 6368 616e "Unable to chan │ │ │ +0001bb00: 6765 2074 6865 2066 6f6e 743b 2063 6861 ge the font; cha │ │ │ +0001bb10: 6e67 6520 6167 6461 322d 666f 6e74 7365 nge agda2-fontse │ │ │ +0001bb20: 742d 6e61 6d65 206f 7220 7477 6561 6b20 t-name or tweak │ │ │ +0001bb30: 6167 6461 322d 666f 6e74 7365 742d 7370 agda2-fontset-sp │ │ │ +0001bb40: 6563 2d6f 662d 666f 6e74 7365 742d 6167 ec-of-fontset-ag │ │ │ +0001bb50: 6461 3222 2929 2929 0a20 3b3b 2044 6561 da2")))). ;; Dea │ │ │ +0001bb60: 6374 6976 6174 6520 6869 6768 6c69 6768 ctivate highligh │ │ │ +0001bb70: 7469 6e67 2069 6620 7468 6520 6275 6666 ting if the buff │ │ │ +0001bb80: 6572 2069 7320 6564 6974 6564 2062 6566 er is edited bef │ │ │ +0001bb90: 6f72 650a 203b 3b20 7479 7065 6368 6563 ore. ;; typechec │ │ │ +0001bba0: 6b69 6e67 2069 7320 636f 6d70 6c65 7465 king is complete │ │ │ +0001bbb0: 2e0a 2028 6164 642d 686f 6f6b 2027 6669 .. (add-hook 'fi │ │ │ +0001bbc0: 7273 742d 6368 616e 6765 2d68 6f6f 6b20 rst-change-hook │ │ │ +0001bbd0: 2761 6764 6132 2d61 626f 7274 2d68 6967 'agda2-abort-hig │ │ │ +0001bbe0: 686c 6967 6874 696e 6720 6e69 6c20 276c hlighting nil 'l │ │ │ +0001bbf0: 6f63 616c 290a 203b 3b20 4966 2041 6764 ocal). ;; If Agd │ │ │ +0001bc00: 6120 6973 206e 6f74 2072 756e 6e69 6e67 a is not running │ │ │ +0001bc10: 2073 796e 7461 7820 6869 6768 6c69 6768 syntax highligh │ │ │ +0001bc20: 7469 6e67 2064 6f65 7320 6e6f 7420 776f ting does not wo │ │ │ +0001bc30: 726b 2070 726f 7065 726c 792e 0a20 2875 rk properly.. (u │ │ │ +0001bc40: 6e6c 6573 7320 2865 7120 2772 756e 2028 nless (eq 'run ( │ │ │ +0001bc50: 6167 6461 322d 7072 6f63 6573 732d 7374 agda2-process-st │ │ │ +0001bc60: 6174 7573 2929 0a20 2020 2861 6764 6132 atus)). (agda2 │ │ │ +0001bc70: 2d72 6573 7461 7274 2929 0a20 3b3b 204d -restart)). ;; M │ │ │ +0001bc80: 616b 6520 7375 7265 2074 6861 7420 466f ake sure that Fo │ │ │ +0001bc90: 6e74 204c 6f63 6b20 6d6f 6465 2069 7320 nt Lock mode is │ │ │ +0001bca0: 6e6f 7420 7573 6564 2e0a 2028 666f 6e74 not used.. (font │ │ │ +0001bcb0: 2d6c 6f63 6b2d 6d6f 6465 2030 290a 2028 -lock-mode 0). ( │ │ │ +0001bcc0: 6167 6461 322d 6869 6768 6c69 6768 742d agda2-highlight- │ │ │ +0001bcd0: 7365 7475 7029 0a20 2863 6f6e 6469 7469 setup). (conditi │ │ │ +0001bce0: 6f6e 2d63 6173 6520 6572 720a 2020 2020 on-case err. │ │ │ +0001bcf0: 2028 6167 6461 322d 6869 6768 6c69 6768 (agda2-highligh │ │ │ +0001bd00: 742d 7265 6c6f 6164 290a 2020 2028 6572 t-reload). (er │ │ │ +0001bd10: 726f 7220 286d 6573 7361 6765 2022 4869 ror (message "Hi │ │ │ +0001bd20: 6768 6c69 6768 7469 6e67 206e 6f74 206c ghlighting not l │ │ │ +0001bd30: 6f61 6465 643a 2025 7322 0a20 2020 2020 oaded: %s". │ │ │ +0001bd40: 2020 2020 2020 2020 2020 2020 2020 2865 (e │ │ │ +0001bd50: 7272 6f72 2d6d 6573 7361 6765 2d73 7472 rror-message-str │ │ │ +0001bd60: 696e 6720 6572 7229 2929 290a 2028 6167 ing err)))). (ag │ │ │ +0001bd70: 6461 322d 636f 6d6d 656e 7473 2d61 6e64 da2-comments-and │ │ │ +0001bd80: 2d70 6172 6167 7261 7068 732d 7365 7475 -paragraphs-setu │ │ │ +0001bd90: 7029 0a20 2866 6f72 6365 2d6d 6f64 652d p). (force-mode- │ │ │ +0001bda0: 6c69 6e65 2d75 7064 6174 6529 0a20 3b3b line-update). ;; │ │ │ +0001bdb0: 2050 726f 7465 6374 2067 6c6f 6261 6c20 Protect global │ │ │ +0001bdc0: 7661 6c75 6520 6f66 2064 6566 6175 6c74 value of default │ │ │ +0001bdd0: 2d69 6e70 7574 2d6d 6574 686f 6420 6672 -input-method fr │ │ │ +0001bde0: 6f6d 2073 6574 2d69 6e70 7574 2d6d 6574 om set-input-met │ │ │ +0001bdf0: 686f 642e 0a20 286d 616b 652d 6c6f 6361 hod.. (make-loca │ │ │ +0001be00: 6c2d 7661 7269 6162 6c65 2027 6465 6661 l-variable 'defa │ │ │ +0001be10: 756c 742d 696e 7075 742d 6d65 7468 6f64 ult-input-method │ │ │ +0001be20: 290a 203b 3b20 446f 6e27 7420 7461 6b65 ). ;; Don't take │ │ │ +0001be30: 2073 6372 6970 7420 696e 746f 2061 6363 script into acc │ │ │ +0001be40: 6f75 6e74 2077 6865 6e20 6465 7465 726d ount when determ │ │ │ +0001be50: 696e 696e 6720 776f 7264 2062 6f75 6e64 ining word bound │ │ │ +0001be60: 6172 6965 730a 2028 7365 7420 286d 616b aries. (set (mak │ │ │ +0001be70: 652d 6c6f 6361 6c2d 7661 7269 6162 6c65 e-local-variable │ │ │ +0001be80: 2027 776f 7264 2d63 6f6d 6269 6e69 6e67 'word-combining │ │ │ +0001be90: 2d63 6174 6567 6f72 6965 7329 2028 636f -categories) (co │ │ │ +0001bea0: 6e73 2027 286e 696c 202e 206e 696c 2920 ns '(nil . nil) │ │ │ +0001beb0: 776f 7264 2d63 6f6d 6269 6e69 6e67 2d63 word-combining-c │ │ │ +0001bec0: 6174 6567 6f72 6965 7329 290a 2028 7365 ategories)). (se │ │ │ +0001bed0: 742d 696e 7075 742d 6d65 7468 6f64 2022 t-input-method " │ │ │ +0001bee0: 4167 6461 2229 0a20 3b3b 2048 6967 686c Agda"). ;; Highl │ │ │ +0001bef0: 6967 6874 696e 6720 6574 632e 2069 7320 ighting etc. is │ │ │ +0001bf00: 7265 6d6f 7665 6420 7768 656e 2077 6520 removed when we │ │ │ +0001bf10: 7377 6974 6368 2066 726f 6d20 7468 6520 switch from the │ │ │ +0001bf20: 4167 6461 206d 6f64 652e 0a20 3b3b 2055 Agda mode.. ;; U │ │ │ +0001bf30: 7365 2063 6173 653a 2057 6865 6e20 6120 se case: When a │ │ │ +0001bf40: 6669 6c65 204d 2e6c 6167 6461 2077 6974 file M.lagda wit │ │ │ +0001bf50: 6820 6120 6c6f 6361 6c20 7661 7269 6162 h a local variab │ │ │ +0001bf60: 6c65 7320 6c69 7374 0a20 3b3b 2069 6e63 les list. ;; inc │ │ │ +0001bf70: 6c75 6469 6e67 2022 6d6f 6465 3a20 6c61 luding "mode: la │ │ │ +0001bf80: 7465 7822 2069 7320 6c6f 6164 6564 2063 tex" is loaded c │ │ │ +0001bf90: 6861 6e63 6573 2061 7265 2074 6861 7420 hances are that │ │ │ +0001bfa0: 7468 6520 4167 6461 206d 6f64 650a 203b the Agda mode. ; │ │ │ +0001bfb0: 3b20 6973 2061 6374 6976 6174 6564 2062 ; is activated b │ │ │ +0001bfc0: 6566 6f72 6520 7468 6520 4c61 5465 5820 efore the LaTeX │ │ │ +0001bfd0: 6d6f 6465 2c20 616e 6420 7468 6520 4c61 mode, and the La │ │ │ +0001bfe0: 5465 5820 6d6f 6465 2064 6f65 7320 6e6f TeX mode does no │ │ │ +0001bff0: 740a 203b 3b20 7365 656d 2074 6f20 7265 t. ;; seem to re │ │ │ +0001c000: 6d6f 7665 2074 6865 2074 6578 7420 7072 move the text pr │ │ │ +0001c010: 6f70 6572 7469 6573 2073 6574 2062 7920 operties set by │ │ │ +0001c020: 7468 6520 4167 6461 206d 6f64 652e 0a20 the Agda mode.. │ │ │ +0001c030: 2861 6464 2d68 6f6f 6b20 2763 6861 6e67 (add-hook 'chang │ │ │ +0001c040: 652d 6d61 6a6f 722d 6d6f 6465 2d68 6f6f e-major-mode-hoo │ │ │ +0001c050: 6b20 2761 6764 6132 2d71 7569 7420 6e69 k 'agda2-quit ni │ │ │ +0001c060: 6c20 276c 6f63 616c 2929 0a0a 2864 6566 l 'local))..(def │ │ │ +0001c070: 756e 2061 6764 6132 2d72 6573 7461 7274 un agda2-restart │ │ │ +0001c080: 2028 290a 2020 2254 7269 6573 2074 6f20 (). "Tries to │ │ │ +0001c090: 7374 6172 7420 6f72 2072 6573 7461 7274 start or restart │ │ │ +0001c0a0: 2074 6865 2041 6764 6120 7072 6f63 6573 the Agda proces │ │ │ +0001c0b0: 732e 220a 2020 2869 6e74 6572 6163 7469 s.". (interacti │ │ │ +0001c0c0: 7665 290a 0a20 203b 3b20 4b69 6c6c 2061 ve).. ;; Kill a │ │ │ +0001c0d0: 6e79 2072 756e 6e69 6e67 2069 6e73 7461 ny running insta │ │ │ +0001c0e0: 6e63 6520 6f66 2074 6865 2041 6764 6120 nce of the Agda │ │ │ +0001c0f0: 7072 6f63 6573 732e 0a20 2028 636f 6e64 process.. (cond │ │ │ +0001c100: 6974 696f 6e2d 6361 7365 206e 696c 0a20 ition-case nil. │ │ │ +0001c110: 2020 2020 2028 6167 6461 322d 7465 726d (agda2-term │ │ │ +0001c120: 290a 2020 2020 2865 7272 6f72 206e 696c ). (error nil │ │ │ +0001c130: 2929 0a0a 2020 3b3b 2043 6865 636b 2074 )).. ;; Check t │ │ │ +0001c140: 6861 7420 7468 6520 7269 6768 7420 7665 hat the right ve │ │ │ +0001c150: 7273 696f 6e20 6f66 2041 6764 6120 6973 rsion of Agda is │ │ │ +0001c160: 2075 7365 642e 0a20 2028 6c65 742a 2028 used.. (let* ( │ │ │ +0001c170: 2863 6f64 696e 672d 7379 7374 656d 2d66 (coding-system-f │ │ │ +0001c180: 6f72 2d72 6561 6420 2775 7466 2d38 290a or-read 'utf-8). │ │ │ +0001c190: 2020 2020 2020 2020 2028 6f75 7470 7574 (output │ │ │ +0001c1a0: 2028 7769 7468 2d6f 7574 7075 742d 746f (with-output-to │ │ │ +0001c1b0: 2d73 7472 696e 670a 2020 2020 2020 2020 -string. │ │ │ +0001c1c0: 2020 2020 2020 2020 2020 2028 6361 6c6c (call │ │ │ +0001c1d0: 2d70 726f 6365 7373 2061 6764 6132 2d70 -process agda2-p │ │ │ +0001c1e0: 726f 6772 616d 2d6e 616d 650a 2020 2020 rogram-name. │ │ │ 0001c1f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0001c200: 2020 2020 2020 2020 2020 2020 6e69 6c20 nil │ │ │ -0001c210: 7374 616e 6461 7264 2d6f 7574 7075 7420 standard-output │ │ │ -0001c220: 6e69 6c20 222d 2d76 6572 7369 6f6e 2229 nil "--version") │ │ │ -0001c230: 2929 0a20 2020 2020 2020 2020 2876 6572 )). (ver │ │ │ -0001c240: 7369 6f6e 2028 616e 6420 2873 7472 696e sion (and (strin │ │ │ -0001c250: 672d 6d61 7463 6820 225e 4167 6461 2076 g-match "^Agda v │ │ │ -0001c260: 6572 7369 6f6e 205c 5c28 5b30 2d39 2e5d ersion \\([0-9.] │ │ │ -0001c270: 2b5c 5c29 2220 6f75 7470 7574 290a 2020 +\\)" output). │ │ │ +0001c200: 2020 2020 2020 2020 2020 2020 206e 696c nil │ │ │ +0001c210: 2073 7461 6e64 6172 642d 6f75 7470 7574 standard-output │ │ │ +0001c220: 206e 696c 2022 2d2d 7665 7273 696f 6e22 nil "--version" │ │ │ +0001c230: 2929 290a 2020 2020 2020 2020 2028 7665 ))). (ve │ │ │ +0001c240: 7273 696f 6e20 2861 6e64 2028 7374 7269 rsion (and (stri │ │ │ +0001c250: 6e67 2d6d 6174 6368 2022 5e41 6764 6120 ng-match "^Agda │ │ │ +0001c260: 7665 7273 696f 6e20 5c5c 285b 302d 392e version \\([0-9. │ │ │ +0001c270: 5d2b 5c5c 2922 206f 7574 7075 7429 0a20 ]+\\)" output). │ │ │ 0001c280: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0001c290: 2020 2020 2028 6d61 7463 682d 7374 7269 (match-stri │ │ │ -0001c2a0: 6e67 2031 206f 7574 7075 7429 2929 290a ng 1 output)))). │ │ │ -0001c2b0: 2020 2020 2875 6e6c 6573 7320 2865 7175 (unless (equ │ │ │ -0001c2c0: 616c 2076 6572 7369 6f6e 2061 6764 6132 al version agda2 │ │ │ -0001c2d0: 2d76 6572 7369 6f6e 290a 2020 2020 2020 -version). │ │ │ -0001c2e0: 2865 7272 6f72 2022 5468 6520 4167 6461 (error "The Agda │ │ │ -0001c2f0: 206d 6f64 6527 7320 7665 7273 696f 6e20 mode's version │ │ │ -0001c300: 2825 7329 2064 6f65 7320 6e6f 7420 6d61 (%s) does not ma │ │ │ -0001c310: 7463 6820 7468 6174 206f 6620 2573 2028 tch that of %s ( │ │ │ -0001c320: 2573 292e 220a 2020 2020 2020 2020 2020 %s).". │ │ │ -0001c330: 2020 2061 6764 6132 2d76 6572 7369 6f6e agda2-version │ │ │ -0001c340: 0a20 2020 2020 2020 2020 2020 2020 6167 . ag │ │ │ -0001c350: 6461 322d 7072 6f67 7261 6d2d 6e61 6d65 da2-program-name │ │ │ -0001c360: 2028 6f72 2076 6572 7369 6f6e 2022 756e (or version "un │ │ │ -0001c370: 6b6e 6f77 6e22 2929 2929 0a0a 2020 286c known")))).. (l │ │ │ -0001c380: 6574 2028 2861 6c6c 2d70 726f 6772 616d et ((all-program │ │ │ -0001c390: 2d61 7267 7320 2863 6f6e 7320 222d 2d69 -args (cons "--i │ │ │ -0001c3a0: 6e74 6572 6163 7469 6f6e 2220 6167 6461 nteraction" agda │ │ │ -0001c3b0: 322d 7072 6f67 7261 6d2d 6172 6773 2929 2-program-args)) │ │ │ -0001c3c0: 290a 0a20 2020 203b 3b20 4368 6563 6b20 ).. ;; Check │ │ │ -0001c3d0: 7468 6174 2074 6865 2061 7267 756d 656e that the argumen │ │ │ -0001c3e0: 7473 2061 7265 206e 6f74 206d 616c 666f ts are not malfo │ │ │ -0001c3f0: 726d 6564 2e0a 2020 2020 286c 6574 2a20 rmed.. (let* │ │ │ -0001c400: 2828 636f 6469 6e67 2d73 7973 7465 6d2d ((coding-system- │ │ │ -0001c410: 666f 722d 7265 6164 2027 7574 662d 3829 for-read 'utf-8) │ │ │ -0001c420: 0a20 2020 2020 2020 2020 2020 2873 7461 . (sta │ │ │ -0001c430: 7475 7329 0a20 2020 2020 2020 2020 2020 tus). │ │ │ -0001c440: 286f 7574 7075 740a 2020 2020 2020 2020 (output. │ │ │ -0001c450: 2020 2020 2877 6974 682d 6f75 7470 7574 (with-output │ │ │ -0001c460: 2d74 6f2d 7374 7269 6e67 0a20 2020 2020 -to-string. │ │ │ -0001c470: 2020 2020 2020 2020 2028 7365 7471 2073 (setq s │ │ │ -0001c480: 7461 7475 730a 2020 2020 2020 2020 2020 tatus. │ │ │ -0001c490: 2020 2020 2020 2020 2020 2861 7070 6c79 (apply │ │ │ -0001c4a0: 2027 6361 6c6c 2d70 726f 6365 7373 2061 'call-process a │ │ │ -0001c4b0: 6764 6132 2d70 726f 6772 616d 2d6e 616d gda2-program-nam │ │ │ -0001c4c0: 650a 2020 2020 2020 2020 2020 2020 2020 e. │ │ │ -0001c4d0: 2020 2020 2020 2020 2020 2020 206e 696c nil │ │ │ -0001c4e0: 2073 7461 6e64 6172 642d 6f75 7470 7574 standard-output │ │ │ -0001c4f0: 206e 696c 2061 6c6c 2d70 726f 6772 616d nil all-program │ │ │ -0001c500: 2d61 7267 7329 2929 2929 0a20 2020 2020 -args))))). │ │ │ -0001c510: 2028 756e 6c65 7373 2028 6571 7561 6c20 (unless (equal │ │ │ -0001c520: 7374 6174 7573 2030 290a 2020 2020 2020 status 0). │ │ │ -0001c530: 2020 2865 7272 6f72 2022 4661 696c 6564 (error "Failed │ │ │ -0001c540: 2074 6f20 7374 6172 7420 7468 6520 4167 to start the Ag │ │ │ -0001c550: 6461 2070 726f 6365 7373 3a5c 6e25 7322 da process:\n%s" │ │ │ -0001c560: 206f 7574 7075 7429 2929 0a0a 2020 2020 output))).. │ │ │ -0001c570: 3b3b 2053 7461 7274 2074 6865 2041 6764 ;; Start the Agd │ │ │ -0001c580: 6120 7072 6f63 6573 732e 0a20 2020 2028 a process.. ( │ │ │ -0001c590: 6c65 7420 2828 6167 6461 322d 6275 666e let ((agda2-bufn │ │ │ -0001c5a0: 616d 6520 222a 6167 6461 322a 2229 290a ame "*agda2*")). │ │ │ -0001c5b0: 0a20 2020 2020 2028 6c65 7420 2828 7072 . (let ((pr │ │ │ -0001c5c0: 6f63 6573 732d 636f 6e6e 6563 7469 6f6e ocess-connection │ │ │ -0001c5d0: 2d74 7970 6520 6e69 6c29 2920 3b20 5069 -type nil)) ; Pi │ │ │ -0001c5e0: 7065 7320 6172 6520 6661 7374 6572 2074 pes are faster t │ │ │ -0001c5f0: 6861 6e20 5054 5973 2e0a 2020 2020 2020 han PTYs.. │ │ │ -0001c600: 2020 2873 6574 7120 6167 6461 322d 7072 (setq agda2-pr │ │ │ -0001c610: 6f63 6573 730a 2020 2020 2020 2020 2020 ocess. │ │ │ -0001c620: 2020 2020 2861 7070 6c79 2027 7374 6172 (apply 'star │ │ │ -0001c630: 742d 7072 6f63 6573 7320 2241 6764 6132 t-process "Agda2 │ │ │ -0001c640: 2220 6167 6461 322d 6275 666e 616d 650a " agda2-bufname. │ │ │ -0001c650: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0001c660: 2020 2020 2061 6764 6132 2d70 726f 6772 agda2-progr │ │ │ -0001c670: 616d 2d6e 616d 6520 616c 6c2d 7072 6f67 am-name all-prog │ │ │ -0001c680: 7261 6d2d 6172 6773 2929 290a 0a20 2020 ram-args))).. │ │ │ -0001c690: 2020 2028 7365 742d 7072 6f63 6573 732d (set-process- │ │ │ -0001c6a0: 636f 6469 6e67 2d73 7973 7465 6d20 6167 coding-system ag │ │ │ -0001c6b0: 6461 322d 7072 6f63 6573 7320 2775 7466 da2-process 'utf │ │ │ -0001c6c0: 2d38 2027 7574 662d 3829 0a20 2020 2020 -8 'utf-8). │ │ │ -0001c6d0: 2028 7365 742d 7072 6f63 6573 732d 7175 (set-process-qu │ │ │ -0001c6e0: 6572 792d 6f6e 2d65 7869 742d 666c 6167 ery-on-exit-flag │ │ │ -0001c6f0: 2061 6764 6132 2d70 726f 6365 7373 206e agda2-process n │ │ │ -0001c700: 696c 290a 2020 2020 2020 2873 6574 2d70 il). (set-p │ │ │ -0001c710: 726f 6365 7373 2d66 696c 7465 7220 6167 rocess-filter ag │ │ │ -0001c720: 6461 322d 7072 6f63 6573 7320 2761 6764 da2-process 'agd │ │ │ -0001c730: 6132 2d6f 7574 7075 742d 6669 6c74 6572 a2-output-filter │ │ │ -0001c740: 290a 2020 2020 2020 2873 6574 7120 6167 ). (setq ag │ │ │ -0001c750: 6461 322d 696e 2d70 726f 6772 6573 7320 da2-in-progress │ │ │ -0001c760: 6e69 6c0a 2020 2020 2020 2020 2020 2020 nil. │ │ │ -0001c770: 6167 6461 322d 6669 6c65 2d62 7566 6665 agda2-file-buffe │ │ │ -0001c780: 7220 2863 7572 7265 6e74 2d62 7566 6665 r (current-buffe │ │ │ -0001c790: 7229 290a 0a20 2020 2020 2028 7769 7468 r)).. (with │ │ │ -0001c7a0: 2d63 7572 7265 6e74 2d62 7566 6665 7220 -current-buffer │ │ │ -0001c7b0: 6167 6461 322d 6275 666e 616d 650a 2020 agda2-bufname. │ │ │ -0001c7c0: 2020 2020 2020 2873 6574 7120 6167 6461 (setq agda │ │ │ -0001c7d0: 322d 7072 6f63 6573 732d 6275 6666 6572 2-process-buffer │ │ │ -0001c7e0: 2028 6375 7272 656e 742d 6275 6666 6572 (current-buffer │ │ │ -0001c7f0: 290a 2020 2020 2020 2020 2020 2020 2020 ). │ │ │ -0001c800: 6d6f 6465 2d6e 616d 6520 2020 2020 2020 mode-name │ │ │ -0001c810: 2020 2020 2022 4167 6461 2065 7865 6375 "Agda execu │ │ │ -0001c820: 7461 626c 6522 0a20 2020 2020 2020 2020 table". │ │ │ -0001c830: 2020 2020 2061 6764 6132 2d6c 6173 742d agda2-last- │ │ │ -0001c840: 7265 7370 6f6e 7365 7320 6e69 6c29 0a20 responses nil). │ │ │ -0001c850: 2020 2020 2020 2028 7365 742d 6275 6666 (set-buff │ │ │ -0001c860: 6572 2d66 696c 652d 636f 6469 6e67 2d73 er-file-coding-s │ │ │ -0001c870: 7973 7465 6d20 2775 7466 2d38 2929 0a0a ystem 'utf-8)).. │ │ │ -0001c880: 2020 2020 2020 2861 6764 6132 2d72 656d (agda2-rem │ │ │ -0001c890: 6f76 652d 616e 6e6f 7461 7469 6f6e 7329 ove-annotations) │ │ │ -0001c8a0: 2929 290a 0a3b 3b3b 3b3b 3b3b 3b3b 3b3b )))..;;;;;;;;;;; │ │ │ +0001c290: 2020 2020 2020 286d 6174 6368 2d73 7472 (match-str │ │ │ +0001c2a0: 696e 6720 3120 6f75 7470 7574 2929 2929 ing 1 output)))) │ │ │ +0001c2b0: 0a20 2020 2028 756e 6c65 7373 2028 6571 . (unless (eq │ │ │ +0001c2c0: 7561 6c20 7665 7273 696f 6e20 6167 6461 ual version agda │ │ │ +0001c2d0: 322d 7665 7273 696f 6e29 0a20 2020 2020 2-version). │ │ │ +0001c2e0: 2028 6572 726f 7220 2254 6865 2041 6764 (error "The Agd │ │ │ +0001c2f0: 6120 6d6f 6465 2773 2076 6572 7369 6f6e a mode's version │ │ │ +0001c300: 2028 2573 2920 646f 6573 206e 6f74 206d (%s) does not m │ │ │ +0001c310: 6174 6368 2074 6861 7420 6f66 2025 7320 atch that of %s │ │ │ +0001c320: 2825 7329 2e22 0a20 2020 2020 2020 2020 (%s).". │ │ │ +0001c330: 2020 2020 6167 6461 322d 7665 7273 696f agda2-versio │ │ │ +0001c340: 6e0a 2020 2020 2020 2020 2020 2020 2061 n. a │ │ │ +0001c350: 6764 6132 2d70 726f 6772 616d 2d6e 616d gda2-program-nam │ │ │ +0001c360: 6520 286f 7220 7665 7273 696f 6e20 2275 e (or version "u │ │ │ +0001c370: 6e6b 6e6f 776e 2229 2929 290a 0a20 2028 nknown")))).. ( │ │ │ +0001c380: 6c65 7420 2828 616c 6c2d 7072 6f67 7261 let ((all-progra │ │ │ +0001c390: 6d2d 6172 6773 2028 636f 6e73 2022 2d2d m-args (cons "-- │ │ │ +0001c3a0: 696e 7465 7261 6374 696f 6e22 2061 6764 interaction" agd │ │ │ +0001c3b0: 6132 2d70 726f 6772 616d 2d61 7267 7329 a2-program-args) │ │ │ +0001c3c0: 2929 0a0a 2020 2020 3b3b 2043 6865 636b )).. ;; Check │ │ │ +0001c3d0: 2074 6861 7420 7468 6520 6172 6775 6d65 that the argume │ │ │ +0001c3e0: 6e74 7320 6172 6520 6e6f 7420 6d61 6c66 nts are not malf │ │ │ +0001c3f0: 6f72 6d65 642e 0a20 2020 2028 6c65 742a ormed.. (let* │ │ │ +0001c400: 2028 2863 6f64 696e 672d 7379 7374 656d ((coding-system │ │ │ +0001c410: 2d66 6f72 2d72 6561 6420 2775 7466 2d38 -for-read 'utf-8 │ │ │ +0001c420: 290a 2020 2020 2020 2020 2020 2028 7374 ). (st │ │ │ +0001c430: 6174 7573 290a 2020 2020 2020 2020 2020 atus). │ │ │ +0001c440: 2028 6f75 7470 7574 0a20 2020 2020 2020 (output. │ │ │ +0001c450: 2020 2020 2028 7769 7468 2d6f 7574 7075 (with-outpu │ │ │ +0001c460: 742d 746f 2d73 7472 696e 670a 2020 2020 t-to-string. │ │ │ +0001c470: 2020 2020 2020 2020 2020 2873 6574 7120 (setq │ │ │ +0001c480: 7374 6174 7573 0a20 2020 2020 2020 2020 status. │ │ │ +0001c490: 2020 2020 2020 2020 2020 2028 6170 706c (appl │ │ │ +0001c4a0: 7920 2763 616c 6c2d 7072 6f63 6573 7320 y 'call-process │ │ │ +0001c4b0: 6167 6461 322d 7072 6f67 7261 6d2d 6e61 agda2-program-na │ │ │ +0001c4c0: 6d65 0a20 2020 2020 2020 2020 2020 2020 me. │ │ │ +0001c4d0: 2020 2020 2020 2020 2020 2020 2020 6e69 ni │ │ │ +0001c4e0: 6c20 7374 616e 6461 7264 2d6f 7574 7075 l standard-outpu │ │ │ +0001c4f0: 7420 6e69 6c20 616c 6c2d 7072 6f67 7261 t nil all-progra │ │ │ +0001c500: 6d2d 6172 6773 2929 2929 290a 2020 2020 m-args))))). │ │ │ +0001c510: 2020 2875 6e6c 6573 7320 2865 7175 616c (unless (equal │ │ │ +0001c520: 2073 7461 7475 7320 3029 0a20 2020 2020 status 0). │ │ │ +0001c530: 2020 2028 6572 726f 7220 2246 6169 6c65 (error "Faile │ │ │ +0001c540: 6420 746f 2073 7461 7274 2074 6865 2041 d to start the A │ │ │ +0001c550: 6764 6120 7072 6f63 6573 733a 5c6e 2573 gda process:\n%s │ │ │ +0001c560: 2220 6f75 7470 7574 2929 290a 0a20 2020 " output))).. │ │ │ +0001c570: 203b 3b20 5374 6172 7420 7468 6520 4167 ;; Start the Ag │ │ │ +0001c580: 6461 2070 726f 6365 7373 2e0a 2020 2020 da process.. │ │ │ +0001c590: 286c 6574 2028 2861 6764 6132 2d62 7566 (let ((agda2-buf │ │ │ +0001c5a0: 6e61 6d65 2022 2a61 6764 6132 2a22 2929 name "*agda2*")) │ │ │ +0001c5b0: 0a0a 2020 2020 2020 286c 6574 2028 2870 .. (let ((p │ │ │ +0001c5c0: 726f 6365 7373 2d63 6f6e 6e65 6374 696f rocess-connectio │ │ │ +0001c5d0: 6e2d 7479 7065 206e 696c 2929 203b 2050 n-type nil)) ; P │ │ │ +0001c5e0: 6970 6573 2061 7265 2066 6173 7465 7220 ipes are faster │ │ │ +0001c5f0: 7468 616e 2050 5459 732e 0a20 2020 2020 than PTYs.. │ │ │ +0001c600: 2020 2028 7365 7471 2061 6764 6132 2d70 (setq agda2-p │ │ │ +0001c610: 726f 6365 7373 0a20 2020 2020 2020 2020 rocess. │ │ │ +0001c620: 2020 2020 2028 6170 706c 7920 2773 7461 (apply 'sta │ │ │ +0001c630: 7274 2d70 726f 6365 7373 2022 4167 6461 rt-process "Agda │ │ │ +0001c640: 3222 2061 6764 6132 2d62 7566 6e61 6d65 2" agda2-bufname │ │ │ +0001c650: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ +0001c660: 2020 2020 2020 6167 6461 322d 7072 6f67 agda2-prog │ │ │ +0001c670: 7261 6d2d 6e61 6d65 2061 6c6c 2d70 726f ram-name all-pro │ │ │ +0001c680: 6772 616d 2d61 7267 7329 2929 0a0a 2020 gram-args))).. │ │ │ +0001c690: 2020 2020 2873 6574 2d70 726f 6365 7373 (set-process │ │ │ +0001c6a0: 2d63 6f64 696e 672d 7379 7374 656d 2061 -coding-system a │ │ │ +0001c6b0: 6764 6132 2d70 726f 6365 7373 2027 7574 gda2-process 'ut │ │ │ +0001c6c0: 662d 3820 2775 7466 2d38 290a 2020 2020 f-8 'utf-8). │ │ │ +0001c6d0: 2020 2873 6574 2d70 726f 6365 7373 2d71 (set-process-q │ │ │ +0001c6e0: 7565 7279 2d6f 6e2d 6578 6974 2d66 6c61 uery-on-exit-fla │ │ │ +0001c6f0: 6720 6167 6461 322d 7072 6f63 6573 7320 g agda2-process │ │ │ +0001c700: 6e69 6c29 0a20 2020 2020 2028 7365 742d nil). (set- │ │ │ +0001c710: 7072 6f63 6573 732d 6669 6c74 6572 2061 process-filter a │ │ │ +0001c720: 6764 6132 2d70 726f 6365 7373 2027 6167 gda2-process 'ag │ │ │ +0001c730: 6461 322d 6f75 7470 7574 2d66 696c 7465 da2-output-filte │ │ │ +0001c740: 7229 0a20 2020 2020 2028 7365 7471 2061 r). (setq a │ │ │ +0001c750: 6764 6132 2d69 6e2d 7072 6f67 7265 7373 gda2-in-progress │ │ │ +0001c760: 206e 696c 0a20 2020 2020 2020 2020 2020 nil. │ │ │ +0001c770: 2061 6764 6132 2d66 696c 652d 6275 6666 agda2-file-buff │ │ │ +0001c780: 6572 2028 6375 7272 656e 742d 6275 6666 er (current-buff │ │ │ +0001c790: 6572 2929 0a0a 2020 2020 2020 2877 6974 er)).. (wit │ │ │ +0001c7a0: 682d 6375 7272 656e 742d 6275 6666 6572 h-current-buffer │ │ │ +0001c7b0: 2061 6764 6132 2d62 7566 6e61 6d65 0a20 agda2-bufname. │ │ │ +0001c7c0: 2020 2020 2020 2028 7365 7471 2061 6764 (setq agd │ │ │ +0001c7d0: 6132 2d70 726f 6365 7373 2d62 7566 6665 a2-process-buffe │ │ │ +0001c7e0: 7220 2863 7572 7265 6e74 2d62 7566 6665 r (current-buffe │ │ │ +0001c7f0: 7229 0a20 2020 2020 2020 2020 2020 2020 r). │ │ │ +0001c800: 206d 6f64 652d 6e61 6d65 2020 2020 2020 mode-name │ │ │ +0001c810: 2020 2020 2020 2241 6764 6120 6578 6563 "Agda exec │ │ │ +0001c820: 7574 6162 6c65 220a 2020 2020 2020 2020 utable". │ │ │ +0001c830: 2020 2020 2020 6167 6461 322d 6c61 7374 agda2-last │ │ │ +0001c840: 2d72 6573 706f 6e73 6573 206e 696c 290a -responses nil). │ │ │ +0001c850: 2020 2020 2020 2020 2873 6574 2d62 7566 (set-buf │ │ │ +0001c860: 6665 722d 6669 6c65 2d63 6f64 696e 672d fer-file-coding- │ │ │ +0001c870: 7379 7374 656d 2027 7574 662d 3829 290a system 'utf-8)). │ │ │ +0001c880: 0a20 2020 2020 2028 6167 6461 322d 7265 . (agda2-re │ │ │ +0001c890: 6d6f 7665 2d61 6e6e 6f74 6174 696f 6e73 move-annotations │ │ │ +0001c8a0: 2929 2929 0a0a 3b3b 3b3b 3b3b 3b3b 3b3b ))))..;;;;;;;;;; │ │ │ 0001c8b0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 0001c8c0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 0001c8d0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ -0001c8e0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b0a 3b3b ;;;;;;;;;;;;;.;; │ │ │ -0001c8f0: 3b3b 2043 6f6d 6d75 6e69 6361 7469 6e67 ;; Communicating │ │ │ -0001c900: 2077 6974 6820 4167 6461 0a0a 2864 6566 with Agda..(def │ │ │ -0001c910: 756e 2061 6764 6132 2d72 6169 7365 2d65 un agda2-raise-e │ │ │ -0001c920: 7272 6f72 2028 290a 2020 2252 6169 7365 rror (). "Raise │ │ │ -0001c930: 7320 616e 2065 7272 6f72 2e0a 5468 6520 s an error..The │ │ │ -0001c940: 6572 726f 7220 6d65 7373 6167 6520 6469 error message di │ │ │ -0001c950: 7265 6374 7320 7468 6520 7573 6572 2074 rects the user t │ │ │ -0001c960: 6f20 7468 6520 2a61 6764 6132 2a20 6275 o the *agda2* bu │ │ │ -0001c970: 6666 6572 2e22 0a20 2028 6572 726f 7220 ffer.". (error │ │ │ -0001c980: 2250 726f 626c 656d 2065 6e63 6f75 6e74 "Problem encount │ │ │ -0001c990: 6572 6564 2e20 5468 6520 2a61 6764 6132 ered. The *agda2 │ │ │ -0001c9a0: 2a20 6275 6666 6572 2063 616e 2070 6572 * buffer can per │ │ │ -0001c9b0: 6861 7073 2065 7870 6c61 696e 2077 6879 haps explain why │ │ │ -0001c9c0: 2e22 2929 0a0a 2864 6566 756e 2061 6764 ."))..(defun agd │ │ │ -0001c9d0: 6132 2d72 756e 6e69 6e67 2d70 206e 696c a2-running-p nil │ │ │ -0001c9e0: 0a20 2022 446f 6573 2074 6865 202a 6167 . "Does the *ag │ │ │ -0001c9f0: 6461 322a 2062 7566 6665 7220 6578 6973 da2* buffer exis │ │ │ -0001ca00: 742c 2061 6e64 2069 7320 7468 6520 4167 t, and is the Ag │ │ │ -0001ca10: 6461 3220 7072 6f63 6573 7320 7275 6e6e da2 process runn │ │ │ -0001ca20: 696e 673f 220a 2020 2861 6e64 2028 6275 ing?". (and (bu │ │ │ -0001ca30: 6666 6572 2d6c 6976 652d 7020 6167 6461 ffer-live-p agda │ │ │ -0001ca40: 322d 7072 6f63 6573 732d 6275 6666 6572 2-process-buffer │ │ │ -0001ca50: 290a 2020 2020 2020 2028 6571 2028 6167 ). (eq (ag │ │ │ -0001ca60: 6461 322d 7072 6f63 6573 732d 7374 6174 da2-process-stat │ │ │ -0001ca70: 7573 2920 2772 756e 2929 290a 0a28 6465 us) 'run)))..(de │ │ │ -0001ca80: 6675 6e20 6167 6461 322d 7365 6e64 2d63 fun agda2-send-c │ │ │ -0001ca90: 6f6d 6d61 6e64 2028 7265 7374 6172 7420 ommand (restart │ │ │ -0001caa0: 2672 6573 7420 6172 6773 290a 2020 2253 &rest args). "S │ │ │ -0001cab0: 656e 6420 6120 636f 6d6d 616e 6420 746f end a command to │ │ │ -0001cac0: 2074 6865 2041 6764 6120 7072 6f63 6573 the Agda proces │ │ │ -0001cad0: 732e 0a53 656e 6473 2074 6865 206c 6973 s..Sends the lis │ │ │ -0001cae0: 7420 6f66 2073 7472 696e 6773 2041 5247 t of strings ARG │ │ │ -0001caf0: 5320 746f 2074 6865 2070 726f 6365 7373 S to the process │ │ │ -0001cb00: 2e20 4966 2052 4553 5441 5254 2069 730a . If RESTART is. │ │ │ -0001cb10: 6e6f 6e2d 6e69 6c20 616e 6420 7468 6520 non-nil and the │ │ │ -0001cb20: 7072 6f63 6573 7320 6973 206e 6f74 2072 process is not r │ │ │ -0001cb30: 756e 6e69 6e67 2c20 6f72 2074 6865 202a unning, or the * │ │ │ -0001cb40: 6167 6461 322a 0a62 7566 6665 7220 646f agda2*.buffer do │ │ │ -0001cb50: 6573 206e 6f74 2065 7869 7374 2c20 7468 es not exist, th │ │ │ -0001cb60: 656e 2061 6e20 6174 7465 6d70 7420 6973 en an attempt is │ │ │ -0001cb70: 206d 6164 6520 746f 2072 6573 7461 7274 made to restart │ │ │ -0001cb80: 2074 6865 0a70 726f 6365 7373 2e22 0a20 the.process.". │ │ │ -0001cb90: 2028 7768 656e 2028 616e 6420 7265 7374 (when (and rest │ │ │ -0001cba0: 6172 7420 286e 6f74 2028 6167 6461 322d art (not (agda2- │ │ │ -0001cbb0: 7275 6e6e 696e 672d 7029 2929 0a20 2020 running-p))). │ │ │ -0001cbc0: 203b 3b20 5472 7920 7265 7374 6172 7469 ;; Try restarti │ │ │ -0001cbd0: 6e67 2061 7574 6f6d 6174 6963 616c 6c79 ng automatically │ │ │ -0001cbe0: 2c20 6275 7420 6f6e 6c79 206f 6e63 652c , but only once, │ │ │ -0001cbf0: 2069 6e20 6361 7365 2074 6865 7265 2069 in case there i │ │ │ -0001cc00: 730a 2020 2020 3b3b 2073 6f6d 6520 6d61 s. ;; some ma │ │ │ -0001cc10: 6a6f 7220 7072 6f62 6c65 6d2e 0a20 2020 jor problem.. │ │ │ -0001cc20: 2028 6167 6461 322d 7265 7374 6172 7429 (agda2-restart) │ │ │ -0001cc30: 0a20 2020 2028 756e 6c65 7373 2028 6167 . (unless (ag │ │ │ -0001cc40: 6461 322d 7275 6e6e 696e 672d 7029 0a20 da2-running-p). │ │ │ -0001cc50: 2020 2020 2028 6167 6461 322d 7261 6973 (agda2-rais │ │ │ -0001cc60: 652d 6572 726f 7229 2929 0a20 2028 6c65 e-error))). (le │ │ │ -0001cc70: 7420 2828 636f 6d6d 616e 6420 2861 7070 t ((command (app │ │ │ -0001cc80: 6c79 2027 636f 6e63 6174 2028 6167 6461 ly 'concat (agda │ │ │ -0001cc90: 322d 696e 7465 7273 7065 7273 6520 2220 2-intersperse " │ │ │ -0001cca0: 2220 6172 6773 2929 2929 0a20 2020 2028 " args)))). ( │ │ │ -0001ccb0: 7769 7468 2d63 7572 7265 6e74 2d62 7566 with-current-buf │ │ │ -0001ccc0: 6665 7220 6167 6461 322d 7072 6f63 6573 fer agda2-proces │ │ │ -0001ccd0: 732d 6275 6666 6572 0a20 2020 2020 2028 s-buffer. ( │ │ │ -0001cce0: 676f 746f 2d63 6861 7220 2870 6f69 6e74 goto-char (point │ │ │ -0001ccf0: 2d6d 6178 2929 0a20 2020 2020 2028 696e -max)). (in │ │ │ -0001cd00: 7365 7274 2063 6f6d 6d61 6e64 290a 2020 sert command). │ │ │ -0001cd10: 2020 2020 2869 6e73 6572 7420 225c 6e22 (insert "\n" │ │ │ -0001cd20: 290a 2020 2020 2020 2870 726f 6365 7373 ). (process │ │ │ -0001cd30: 2d73 656e 642d 7374 7269 6e67 2061 6764 -send-string agd │ │ │ -0001cd40: 6132 2d70 726f 6365 7373 2028 636f 6e63 a2-process (conc │ │ │ -0001cd50: 6174 2063 6f6d 6d61 6e64 2022 5c6e 2229 at command "\n") │ │ │ -0001cd60: 2929 2929 0a0a 2864 6566 756e 2061 6764 ))))..(defun agd │ │ │ -0001cd70: 6132 2d67 6f20 2873 6176 6520 6869 6768 a2-go (save high │ │ │ -0001cd80: 6c69 6768 7420 686f 772d 6275 7379 2064 light how-busy d │ │ │ -0001cd90: 6f2d 6162 6f72 7420 2672 6573 7420 6172 o-abort &rest ar │ │ │ -0001cda0: 6773 290a 2020 2245 7865 6375 7465 7320 gs). "Executes │ │ │ -0001cdb0: 636f 6d6d 616e 6473 2069 6e20 7468 6520 commands in the │ │ │ -0001cdc0: 4167 6461 3220 696e 7465 7270 7265 7465 Agda2 interprete │ │ │ -0001cdd0: 722e 0a53 656e 6473 2074 6865 206c 6973 r..Sends the lis │ │ │ -0001cde0: 7420 6f66 2073 7472 696e 6773 2041 5247 t of strings ARG │ │ │ -0001cdf0: 5320 746f 2074 6865 2041 6764 6132 2069 S to the Agda2 i │ │ │ -0001ce00: 6e74 6572 7072 6574 6572 2c20 7761 6974 nterpreter, wait │ │ │ -0001ce10: 730a 666f 7220 6f75 7470 7574 2061 6e64 s.for output and │ │ │ -0001ce20: 2065 7865 6375 7465 7320 7468 6520 7265 executes the re │ │ │ -0001ce30: 7370 6f6e 7365 732c 2069 6620 616e 792e sponses, if any. │ │ │ -0001ce40: 0a0a 4966 2053 4156 4520 6973 205c 5c3d ..If SAVE is \\= │ │ │ -0001ce50: 2773 6176 652c 2074 6865 6e20 7468 6520 'save, then the │ │ │ -0001ce60: 6275 6666 6572 2069 7320 7361 7665 6420 buffer is saved │ │ │ -0001ce70: 6669 7273 742e 0a0a 4966 2048 4947 484c first...If HIGHL │ │ │ -0001ce80: 4947 4854 2069 7320 6e6f 6e2d 6e69 6c2c IGHT is non-nil, │ │ │ -0001ce90: 2074 6865 6e20 7468 6520 6275 6666 6572 then the buffer │ │ │ -0001cea0: 2773 2073 796e 7461 7820 6869 6768 6c69 's syntax highli │ │ │ -0001ceb0: 6768 7469 6e67 0a6d 6179 2062 6520 7570 ghting.may be up │ │ │ -0001cec0: 6461 7465 642e 2054 6869 7320 6973 2061 dated. This is a │ │ │ -0001ced0: 6c73 6f20 7468 6520 6361 7365 2069 6620 lso the case if │ │ │ -0001cee0: 7468 6520 4167 6461 2070 726f 6365 7373 the Agda process │ │ │ -0001cef0: 2069 730a 6275 7379 2028 6f72 2060 6e6f is.busy (or `no │ │ │ -0001cf00: 742d 736f 2d62 7573 7927 2920 616e 6420 t-so-busy') and │ │ │ -0001cf10: 6061 6764 6132 2d68 6967 686c 6967 6874 `agda2-highlight │ │ │ -0001cf20: 2d69 6e2d 7072 6f63 6573 7327 2069 730a -in-process' is. │ │ │ -0001cf30: 6e6f 6e2d 6e69 6c2e 0a0a 5468 6520 7661 non-nil...The va │ │ │ -0001cf40: 6c75 6520 484f 572d 4255 5359 2073 686f lue HOW-BUSY sho │ │ │ -0001cf50: 756c 6420 6265 2060 6275 7379 2720 6966 uld be `busy' if │ │ │ -0001cf60: 2069 7420 7368 6f75 6c64 206e 6f74 2062 it should not b │ │ │ -0001cf70: 6520 706f 7373 6962 6c65 0a74 6f20 696e e possible.to in │ │ │ -0001cf80: 766f 6b65 206f 7468 6572 2063 6f6d 6d61 voke other comma │ │ │ -0001cf90: 6e64 7320 7768 696c 6520 7468 6973 2063 nds while this c │ │ │ -0001cfa0: 6f6d 6d61 6e64 2069 7320 7275 6e6e 696e ommand is runnin │ │ │ -0001cfb0: 6720 2877 6974 6820 7468 650a 6578 6365 g (with the.exce │ │ │ -0001cfc0: 7074 696f 6e20 6f66 2063 6f6d 6d61 6e64 ption of command │ │ │ -0001cfd0: 7320 666f 7220 7768 6963 6820 444f 2d41 s for which DO-A │ │ │ -0001cfe0: 424f 5254 2069 7320 6e69 6c29 2e20 4f74 BORT is nil). Ot │ │ │ -0001cff0: 6865 7277 6973 6520 6974 0a73 686f 756c herwise it.shoul │ │ │ -0001d000: 6420 6265 2060 6e6f 742d 736f 2d62 7573 d be `not-so-bus │ │ │ -0001d010: 7927 2028 7768 6963 6820 7368 6f75 6c64 y' (which should │ │ │ -0001d020: 206f 6e6c 7920 6265 2075 7365 6420 666f only be used fo │ │ │ -0001d030: 7220 636f 6d6d 616e 6473 0a74 6861 7420 r commands.that │ │ │ -0001d040: 7479 7069 6361 6c6c 7920 7465 726d 696e typically termin │ │ │ -0001d050: 6174 6520 6661 6972 6c79 2071 7569 636b ate fairly quick │ │ │ -0001d060: 6c79 292e 0a0a 4966 2074 6865 2041 6764 ly)...If the Agd │ │ │ -0001d070: 6120 7072 6f63 6573 7320 6973 2062 7573 a process is bus │ │ │ -0001d080: 7920 286f 7220 606e 6f74 2d73 6f2d 6275 y (or `not-so-bu │ │ │ -0001d090: 7379 2729 2c20 616e 6420 7468 6520 6375 sy'), and the cu │ │ │ -0001d0a0: 7272 656e 740a 6275 6666 6572 2064 6f65 rrent.buffer doe │ │ │ -0001d0b0: 7320 6e6f 7420 6d61 7463 6820 6061 6764 s not match `agd │ │ │ -0001d0c0: 6132 2d66 696c 652d 6275 6666 6572 272c a2-file-buffer', │ │ │ -0001d0d0: 2074 6865 6e20 7468 6520 636f 6d6d 616e then the comman │ │ │ -0001d0e0: 6420 6973 0a6e 6f74 2065 7865 6375 7465 d is.not execute │ │ │ -0001d0f0: 6420 616e 6420 616e 2065 7272 6f72 2069 d and an error i │ │ │ -0001d100: 7320 7261 6973 6564 2e20 5468 6520 7361 s raised. The sa │ │ │ -0001d110: 6d65 2061 7070 6c69 6573 2069 6620 444f me applies if DO │ │ │ -0001d120: 2d41 424f 5254 0a69 7320 6e6f 6e2d 6e69 -ABORT.is non-ni │ │ │ -0001d130: 6c20 616e 6420 7468 6520 4167 6461 2070 l and the Agda p │ │ │ -0001d140: 726f 6365 7373 2069 7320 6062 7573 7927 rocess is `busy' │ │ │ -0001d150: 2e22 0a0a 2020 3b20 4368 6563 6b20 7468 .".. ; Check th │ │ │ -0001d160: 6174 2068 6f77 2d62 7573 7920 6973 2077 at how-busy is w │ │ │ -0001d170: 656c 6c2d 666f 726d 6564 2e0a 2020 2863 ell-formed.. (c │ │ │ -0001d180: 6c2d 6173 7365 7274 2028 6f72 2028 6571 l-assert (or (eq │ │ │ -0001d190: 7561 6c20 686f 772d 6275 7379 2027 6275 ual how-busy 'bu │ │ │ -0001d1a0: 7379 290a 2020 2020 2020 2020 2020 2020 sy). │ │ │ -0001d1b0: 2020 2865 7175 616c 2068 6f77 2d62 7573 (equal how-bus │ │ │ -0001d1c0: 7920 276e 6f74 2d73 6f2d 6275 7379 2929 y 'not-so-busy)) │ │ │ -0001d1d0: 290a 0a20 2028 7768 656e 2028 616e 6420 ).. (when (and │ │ │ -0001d1e0: 6167 6461 322d 696e 2d70 726f 6772 6573 agda2-in-progres │ │ │ -0001d1f0: 730a 2020 2020 2020 2020 2020 2020 2028 s. ( │ │ │ -0001d200: 6e6f 7420 2865 7175 616c 2061 6764 6132 not (equal agda2 │ │ │ -0001d210: 2d66 696c 652d 6275 6666 6572 0a20 2020 -file-buffer. │ │ │ +0001c8e0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 0a3b ;;;;;;;;;;;;;;.; │ │ │ +0001c8f0: 3b3b 3b20 436f 6d6d 756e 6963 6174 696e ;;; Communicatin │ │ │ +0001c900: 6720 7769 7468 2041 6764 610a 0a28 6465 g with Agda..(de │ │ │ +0001c910: 6675 6e20 6167 6461 322d 7261 6973 652d fun agda2-raise- │ │ │ +0001c920: 6572 726f 7220 2829 0a20 2022 5261 6973 error (). "Rais │ │ │ +0001c930: 6573 2061 6e20 6572 726f 722e 0a54 6865 es an error..The │ │ │ +0001c940: 2065 7272 6f72 206d 6573 7361 6765 2064 error message d │ │ │ +0001c950: 6972 6563 7473 2074 6865 2075 7365 7220 irects the user │ │ │ +0001c960: 746f 2074 6865 202a 6167 6461 322a 2062 to the *agda2* b │ │ │ +0001c970: 7566 6665 722e 220a 2020 2865 7272 6f72 uffer.". (error │ │ │ +0001c980: 2022 5072 6f62 6c65 6d20 656e 636f 756e "Problem encoun │ │ │ +0001c990: 7465 7265 642e 2054 6865 202a 6167 6461 tered. The *agda │ │ │ +0001c9a0: 322a 2062 7566 6665 7220 6361 6e20 7065 2* buffer can pe │ │ │ +0001c9b0: 7268 6170 7320 6578 706c 6169 6e20 7768 rhaps explain wh │ │ │ +0001c9c0: 792e 2229 290a 0a28 6465 6675 6e20 6167 y."))..(defun ag │ │ │ +0001c9d0: 6461 322d 7275 6e6e 696e 672d 7020 6e69 da2-running-p ni │ │ │ +0001c9e0: 6c0a 2020 2244 6f65 7320 7468 6520 2a61 l. "Does the *a │ │ │ +0001c9f0: 6764 6132 2a20 6275 6666 6572 2065 7869 gda2* buffer exi │ │ │ +0001ca00: 7374 2c20 616e 6420 6973 2074 6865 2041 st, and is the A │ │ │ +0001ca10: 6764 6132 2070 726f 6365 7373 2072 756e gda2 process run │ │ │ +0001ca20: 6e69 6e67 3f22 0a20 2028 616e 6420 2862 ning?". (and (b │ │ │ +0001ca30: 7566 6665 722d 6c69 7665 2d70 2061 6764 uffer-live-p agd │ │ │ +0001ca40: 6132 2d70 726f 6365 7373 2d62 7566 6665 a2-process-buffe │ │ │ +0001ca50: 7229 0a20 2020 2020 2020 2865 7120 2861 r). (eq (a │ │ │ +0001ca60: 6764 6132 2d70 726f 6365 7373 2d73 7461 gda2-process-sta │ │ │ +0001ca70: 7475 7329 2027 7275 6e29 2929 0a0a 2864 tus) 'run)))..(d │ │ │ +0001ca80: 6566 756e 2061 6764 6132 2d73 656e 642d efun agda2-send- │ │ │ +0001ca90: 636f 6d6d 616e 6420 2872 6573 7461 7274 command (restart │ │ │ +0001caa0: 2026 7265 7374 2061 7267 7329 0a20 2022 &rest args). " │ │ │ +0001cab0: 5365 6e64 2061 2063 6f6d 6d61 6e64 2074 Send a command t │ │ │ +0001cac0: 6f20 7468 6520 4167 6461 2070 726f 6365 o the Agda proce │ │ │ +0001cad0: 7373 2e0a 5365 6e64 7320 7468 6520 6c69 ss..Sends the li │ │ │ +0001cae0: 7374 206f 6620 7374 7269 6e67 7320 4152 st of strings AR │ │ │ +0001caf0: 4753 2074 6f20 7468 6520 7072 6f63 6573 GS to the proces │ │ │ +0001cb00: 732e 2049 6620 5245 5354 4152 5420 6973 s. If RESTART is │ │ │ +0001cb10: 0a6e 6f6e 2d6e 696c 2061 6e64 2074 6865 .non-nil and the │ │ │ +0001cb20: 2070 726f 6365 7373 2069 7320 6e6f 7420 process is not │ │ │ +0001cb30: 7275 6e6e 696e 672c 206f 7220 7468 6520 running, or the │ │ │ +0001cb40: 2a61 6764 6132 2a0a 6275 6666 6572 2064 *agda2*.buffer d │ │ │ +0001cb50: 6f65 7320 6e6f 7420 6578 6973 742c 2074 oes not exist, t │ │ │ +0001cb60: 6865 6e20 616e 2061 7474 656d 7074 2069 hen an attempt i │ │ │ +0001cb70: 7320 6d61 6465 2074 6f20 7265 7374 6172 s made to restar │ │ │ +0001cb80: 7420 7468 650a 7072 6f63 6573 732e 220a t the.process.". │ │ │ +0001cb90: 2020 2877 6865 6e20 2861 6e64 2072 6573 (when (and res │ │ │ +0001cba0: 7461 7274 2028 6e6f 7420 2861 6764 6132 tart (not (agda2 │ │ │ +0001cbb0: 2d72 756e 6e69 6e67 2d70 2929 290a 2020 -running-p))). │ │ │ +0001cbc0: 2020 3b3b 2054 7279 2072 6573 7461 7274 ;; Try restart │ │ │ +0001cbd0: 696e 6720 6175 746f 6d61 7469 6361 6c6c ing automaticall │ │ │ +0001cbe0: 792c 2062 7574 206f 6e6c 7920 6f6e 6365 y, but only once │ │ │ +0001cbf0: 2c20 696e 2063 6173 6520 7468 6572 6520 , in case there │ │ │ +0001cc00: 6973 0a20 2020 203b 3b20 736f 6d65 206d is. ;; some m │ │ │ +0001cc10: 616a 6f72 2070 726f 626c 656d 2e0a 2020 ajor problem.. │ │ │ +0001cc20: 2020 2861 6764 6132 2d72 6573 7461 7274 (agda2-restart │ │ │ +0001cc30: 290a 2020 2020 2875 6e6c 6573 7320 2861 ). (unless (a │ │ │ +0001cc40: 6764 6132 2d72 756e 6e69 6e67 2d70 290a gda2-running-p). │ │ │ +0001cc50: 2020 2020 2020 2861 6764 6132 2d72 6169 (agda2-rai │ │ │ +0001cc60: 7365 2d65 7272 6f72 2929 290a 2020 286c se-error))). (l │ │ │ +0001cc70: 6574 2028 2863 6f6d 6d61 6e64 2028 6170 et ((command (ap │ │ │ +0001cc80: 706c 7920 2763 6f6e 6361 7420 2861 6764 ply 'concat (agd │ │ │ +0001cc90: 6132 2d69 6e74 6572 7370 6572 7365 2022 a2-intersperse " │ │ │ +0001cca0: 2022 2061 7267 7329 2929 290a 2020 2020 " args)))). │ │ │ +0001ccb0: 2877 6974 682d 6375 7272 656e 742d 6275 (with-current-bu │ │ │ +0001ccc0: 6666 6572 2061 6764 6132 2d70 726f 6365 ffer agda2-proce │ │ │ +0001ccd0: 7373 2d62 7566 6665 720a 2020 2020 2020 ss-buffer. │ │ │ +0001cce0: 2867 6f74 6f2d 6368 6172 2028 706f 696e (goto-char (poin │ │ │ +0001ccf0: 742d 6d61 7829 290a 2020 2020 2020 2869 t-max)). (i │ │ │ +0001cd00: 6e73 6572 7420 636f 6d6d 616e 6429 0a20 nsert command). │ │ │ +0001cd10: 2020 2020 2028 696e 7365 7274 2022 5c6e (insert "\n │ │ │ +0001cd20: 2229 0a20 2020 2020 2028 7072 6f63 6573 "). (proces │ │ │ +0001cd30: 732d 7365 6e64 2d73 7472 696e 6720 6167 s-send-string ag │ │ │ +0001cd40: 6461 322d 7072 6f63 6573 7320 2863 6f6e da2-process (con │ │ │ +0001cd50: 6361 7420 636f 6d6d 616e 6420 225c 6e22 cat command "\n" │ │ │ +0001cd60: 2929 2929 290a 0a28 6465 6675 6e20 6167 )))))..(defun ag │ │ │ +0001cd70: 6461 322d 676f 2028 7361 7665 2068 6967 da2-go (save hig │ │ │ +0001cd80: 686c 6967 6874 2068 6f77 2d62 7573 7920 hlight how-busy │ │ │ +0001cd90: 646f 2d61 626f 7274 2026 7265 7374 2061 do-abort &rest a │ │ │ +0001cda0: 7267 7329 0a20 2022 4578 6563 7574 6573 rgs). "Executes │ │ │ +0001cdb0: 2063 6f6d 6d61 6e64 7320 696e 2074 6865 commands in the │ │ │ +0001cdc0: 2041 6764 6132 2069 6e74 6572 7072 6574 Agda2 interpret │ │ │ +0001cdd0: 6572 2e0a 5365 6e64 7320 7468 6520 6c69 er..Sends the li │ │ │ +0001cde0: 7374 206f 6620 7374 7269 6e67 7320 4152 st of strings AR │ │ │ +0001cdf0: 4753 2074 6f20 7468 6520 4167 6461 3220 GS to the Agda2 │ │ │ +0001ce00: 696e 7465 7270 7265 7465 722c 2077 6169 interpreter, wai │ │ │ +0001ce10: 7473 0a66 6f72 206f 7574 7075 7420 616e ts.for output an │ │ │ +0001ce20: 6420 6578 6563 7574 6573 2074 6865 2072 d executes the r │ │ │ +0001ce30: 6573 706f 6e73 6573 2c20 6966 2061 6e79 esponses, if any │ │ │ +0001ce40: 2e0a 0a49 6620 5341 5645 2069 7320 5c5c ...If SAVE is \\ │ │ │ +0001ce50: 3d27 7361 7665 2c20 7468 656e 2074 6865 ='save, then the │ │ │ +0001ce60: 2062 7566 6665 7220 6973 2073 6176 6564 buffer is saved │ │ │ +0001ce70: 2066 6972 7374 2e0a 0a49 6620 4849 4748 first...If HIGH │ │ │ +0001ce80: 4c49 4748 5420 6973 206e 6f6e 2d6e 696c LIGHT is non-nil │ │ │ +0001ce90: 2c20 7468 656e 2074 6865 2062 7566 6665 , then the buffe │ │ │ +0001cea0: 7227 7320 7379 6e74 6178 2068 6967 686c r's syntax highl │ │ │ +0001ceb0: 6967 6874 696e 670a 6d61 7920 6265 2075 ighting.may be u │ │ │ +0001cec0: 7064 6174 6564 2e20 5468 6973 2069 7320 pdated. This is │ │ │ +0001ced0: 616c 736f 2074 6865 2063 6173 6520 6966 also the case if │ │ │ +0001cee0: 2074 6865 2041 6764 6120 7072 6f63 6573 the Agda proces │ │ │ +0001cef0: 7320 6973 0a62 7573 7920 286f 7220 606e s is.busy (or `n │ │ │ +0001cf00: 6f74 2d73 6f2d 6275 7379 2729 2061 6e64 ot-so-busy') and │ │ │ +0001cf10: 2060 6167 6461 322d 6869 6768 6c69 6768 `agda2-highligh │ │ │ +0001cf20: 742d 696e 2d70 726f 6365 7373 2720 6973 t-in-process' is │ │ │ +0001cf30: 0a6e 6f6e 2d6e 696c 2e0a 0a54 6865 2076 .non-nil...The v │ │ │ +0001cf40: 616c 7565 2048 4f57 2d42 5553 5920 7368 alue HOW-BUSY sh │ │ │ +0001cf50: 6f75 6c64 2062 6520 6062 7573 7927 2069 ould be `busy' i │ │ │ +0001cf60: 6620 6974 2073 686f 756c 6420 6e6f 7420 f it should not │ │ │ +0001cf70: 6265 2070 6f73 7369 626c 650a 746f 2069 be possible.to i │ │ │ +0001cf80: 6e76 6f6b 6520 6f74 6865 7220 636f 6d6d nvoke other comm │ │ │ +0001cf90: 616e 6473 2077 6869 6c65 2074 6869 7320 ands while this │ │ │ +0001cfa0: 636f 6d6d 616e 6420 6973 2072 756e 6e69 command is runni │ │ │ +0001cfb0: 6e67 2028 7769 7468 2074 6865 0a65 7863 ng (with the.exc │ │ │ +0001cfc0: 6570 7469 6f6e 206f 6620 636f 6d6d 616e eption of comman │ │ │ +0001cfd0: 6473 2066 6f72 2077 6869 6368 2044 4f2d ds for which DO- │ │ │ +0001cfe0: 4142 4f52 5420 6973 206e 696c 292e 204f ABORT is nil). O │ │ │ +0001cff0: 7468 6572 7769 7365 2069 740a 7368 6f75 therwise it.shou │ │ │ +0001d000: 6c64 2062 6520 606e 6f74 2d73 6f2d 6275 ld be `not-so-bu │ │ │ +0001d010: 7379 2720 2877 6869 6368 2073 686f 756c sy' (which shoul │ │ │ +0001d020: 6420 6f6e 6c79 2062 6520 7573 6564 2066 d only be used f │ │ │ +0001d030: 6f72 2063 6f6d 6d61 6e64 730a 7468 6174 or commands.that │ │ │ +0001d040: 2074 7970 6963 616c 6c79 2074 6572 6d69 typically termi │ │ │ +0001d050: 6e61 7465 2066 6169 726c 7920 7175 6963 nate fairly quic │ │ │ +0001d060: 6b6c 7929 2e0a 0a49 6620 7468 6520 4167 kly)...If the Ag │ │ │ +0001d070: 6461 2070 726f 6365 7373 2069 7320 6275 da process is bu │ │ │ +0001d080: 7379 2028 6f72 2060 6e6f 742d 736f 2d62 sy (or `not-so-b │ │ │ +0001d090: 7573 7927 292c 2061 6e64 2074 6865 2063 usy'), and the c │ │ │ +0001d0a0: 7572 7265 6e74 0a62 7566 6665 7220 646f urrent.buffer do │ │ │ +0001d0b0: 6573 206e 6f74 206d 6174 6368 2060 6167 es not match `ag │ │ │ +0001d0c0: 6461 322d 6669 6c65 2d62 7566 6665 7227 da2-file-buffer' │ │ │ +0001d0d0: 2c20 7468 656e 2074 6865 2063 6f6d 6d61 , then the comma │ │ │ +0001d0e0: 6e64 2069 730a 6e6f 7420 6578 6563 7574 nd is.not execut │ │ │ +0001d0f0: 6564 2061 6e64 2061 6e20 6572 726f 7220 ed and an error │ │ │ +0001d100: 6973 2072 6169 7365 642e 2054 6865 2073 is raised. The s │ │ │ +0001d110: 616d 6520 6170 706c 6965 7320 6966 2044 ame applies if D │ │ │ +0001d120: 4f2d 4142 4f52 540a 6973 206e 6f6e 2d6e O-ABORT.is non-n │ │ │ +0001d130: 696c 2061 6e64 2074 6865 2041 6764 6120 il and the Agda │ │ │ +0001d140: 7072 6f63 6573 7320 6973 2060 6275 7379 process is `busy │ │ │ +0001d150: 272e 220a 0a20 203b 2043 6865 636b 2074 '.".. ; Check t │ │ │ +0001d160: 6861 7420 686f 772d 6275 7379 2069 7320 hat how-busy is │ │ │ +0001d170: 7765 6c6c 2d66 6f72 6d65 642e 0a20 2028 well-formed.. ( │ │ │ +0001d180: 636c 2d61 7373 6572 7420 286f 7220 2865 cl-assert (or (e │ │ │ +0001d190: 7175 616c 2068 6f77 2d62 7573 7920 2762 qual how-busy 'b │ │ │ +0001d1a0: 7573 7929 0a20 2020 2020 2020 2020 2020 usy). │ │ │ +0001d1b0: 2020 2028 6571 7561 6c20 686f 772d 6275 (equal how-bu │ │ │ +0001d1c0: 7379 2027 6e6f 742d 736f 2d62 7573 7929 sy 'not-so-busy) │ │ │ +0001d1d0: 2929 0a0a 2020 2877 6865 6e20 2861 6e64 )).. (when (and │ │ │ +0001d1e0: 2061 6764 6132 2d69 6e2d 7072 6f67 7265 agda2-in-progre │ │ │ +0001d1f0: 7373 0a20 2020 2020 2020 2020 2020 2020 ss. │ │ │ +0001d200: 286e 6f74 2028 6571 7561 6c20 6167 6461 (not (equal agda │ │ │ +0001d210: 322d 6669 6c65 2d62 7566 6665 720a 2020 2-file-buffer. │ │ │ 0001d220: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0001d230: 2020 2020 2020 2863 7572 7265 6e74 2d62 (current-b │ │ │ -0001d240: 7566 6665 7229 2929 290a 2020 2020 2865 uffer)))). (e │ │ │ -0001d250: 7272 6f72 2022 4167 6461 2069 7320 6275 rror "Agda is bu │ │ │ -0001d260: 7379 2077 6974 6820 736f 6d65 7468 696e sy with somethin │ │ │ -0001d270: 6720 696e 2074 6865 2062 7566 6665 7220 g in the buffer │ │ │ -0001d280: 2573 220a 2020 2020 2020 2020 2020 2061 %s". a │ │ │ -0001d290: 6764 6132 2d66 696c 652d 6275 6666 6572 gda2-file-buffer │ │ │ -0001d2a0: 2929 0a0a 2020 2877 6865 6e20 2861 6e64 )).. (when (and │ │ │ -0001d2b0: 2064 6f2d 6162 6f72 740a 2020 2020 2020 do-abort. │ │ │ -0001d2c0: 2020 2020 2020 2028 6571 7561 6c20 6167 (equal ag │ │ │ -0001d2d0: 6461 322d 696e 2d70 726f 6772 6573 7320 da2-in-progress │ │ │ -0001d2e0: 2762 7573 7929 290a 2020 2020 2865 7272 'busy)). (err │ │ │ -0001d2f0: 6f72 2022 4167 6461 2069 7320 6275 7379 or "Agda is busy │ │ │ -0001d300: 2077 6974 6820 736f 6d65 7468 696e 670a with something. │ │ │ -0001d310: 5c28 796f 7520 6861 7665 2074 6865 206f \(you have the o │ │ │ -0001d320: 7074 696f 6e20 746f 2061 626f 7274 206f ption to abort o │ │ │ -0001d330: 7220 7265 7374 6172 7420 4167 6461 2922 r restart Agda)" │ │ │ -0001d340: 2929 0a0a 2020 2873 6574 7120 6167 6461 )).. (setq agda │ │ │ -0001d350: 322d 6669 6c65 2d62 7566 6665 7220 2863 2-file-buffer (c │ │ │ -0001d360: 7572 7265 6e74 2d62 7566 6665 7229 290a urrent-buffer)). │ │ │ -0001d370: 0a20 2028 7365 7471 2061 6764 6132 2d68 . (setq agda2-h │ │ │ -0001d380: 6967 686c 6967 6874 2d69 6e2d 7072 6f67 ighlight-in-prog │ │ │ -0001d390: 7265 7373 0a20 2020 2020 2020 2028 6f72 ress. (or │ │ │ -0001d3a0: 2068 6967 686c 6967 6874 0a20 2020 2020 highlight. │ │ │ -0001d3b0: 2020 2020 2020 2028 616e 6420 6167 6461 (and agda │ │ │ -0001d3c0: 322d 696e 2d70 726f 6772 6573 730a 2020 2-in-progress. │ │ │ -0001d3d0: 2020 2020 2020 2020 2020 2020 2020 2061 a │ │ │ -0001d3e0: 6764 6132 2d68 6967 686c 6967 6874 2d69 gda2-highlight-i │ │ │ -0001d3f0: 6e2d 7072 6f67 7265 7373 2929 290a 0a20 n-progress))).. │ │ │ -0001d400: 2028 756e 6c65 7373 2061 6764 6132 2d69 (unless agda2-i │ │ │ -0001d410: 6e2d 7072 6f67 7265 7373 0a20 2020 2028 n-progress. ( │ │ │ -0001d420: 7365 7471 2061 6764 6132 2d6f 7574 7075 setq agda2-outpu │ │ │ -0001d430: 742d 6368 756e 6b2d 696e 636f 6d70 6c65 t-chunk-incomple │ │ │ -0001d440: 7465 2028 6167 6461 322d 7175 6575 652d te (agda2-queue- │ │ │ -0001d450: 656d 7074 7929 2929 0a0a 2020 2873 6574 empty))).. (set │ │ │ -0001d460: 7120 6167 6461 322d 696e 2d70 726f 6772 q agda2-in-progr │ │ │ -0001d470: 6573 730a 2020 2020 2020 2020 2869 6620 ess. (if │ │ │ -0001d480: 286f 7220 2865 7175 616c 2068 6f77 2d62 (or (equal how-b │ │ │ -0001d490: 7573 7920 2762 7573 7929 0a20 2020 2020 usy 'busy). │ │ │ -0001d4a0: 2020 2020 2020 2020 2020 2028 6571 7561 (equa │ │ │ -0001d4b0: 6c20 6167 6461 322d 696e 2d70 726f 6772 l agda2-in-progr │ │ │ -0001d4c0: 6573 7320 2762 7573 7929 290a 2020 2020 ess 'busy)). │ │ │ -0001d4d0: 2020 2020 2020 2020 2762 7573 790a 2020 'busy. │ │ │ -0001d4e0: 2020 2020 2020 2020 276e 6f74 2d73 6f2d 'not-so- │ │ │ -0001d4f0: 6275 7379 2929 0a0a 2020 2877 6865 6e20 busy)).. (when │ │ │ -0001d500: 2865 7175 616c 2073 6176 6520 2773 6176 (equal save 'sav │ │ │ -0001d510: 6529 2028 7361 7665 2d62 7566 6665 7229 e) (save-buffer) │ │ │ -0001d520: 290a 0a20 2028 6170 706c 7920 2761 6764 ).. (apply 'agd │ │ │ -0001d530: 6132 2d73 656e 642d 636f 6d6d 616e 640a a2-send-command. │ │ │ -0001d540: 2020 2020 2020 2020 2027 7265 7374 6172 'restar │ │ │ -0001d550: 740a 2020 2020 2020 2020 2022 494f 5443 t. "IOTC │ │ │ -0001d560: 4d22 0a20 2020 2020 2020 2020 2861 6764 M". (agd │ │ │ -0001d570: 6132 2d73 7472 696e 672d 7175 6f74 6520 a2-string-quote │ │ │ -0001d580: 2862 7566 6665 722d 6669 6c65 2d6e 616d (buffer-file-nam │ │ │ -0001d590: 6529 290a 2020 2020 2020 2020 2028 6966 e)). (if │ │ │ -0001d5a0: 2068 6967 686c 6967 6874 2028 6167 6461 highlight (agda │ │ │ -0001d5b0: 322d 6869 6768 6c69 6768 742d 6c65 7665 2-highlight-leve │ │ │ -0001d5c0: 6c29 2022 4e6f 6e65 2229 0a20 2020 2020 l) "None"). │ │ │ -0001d5d0: 2020 2020 2249 6e64 6972 6563 7422 0a20 "Indirect". │ │ │ -0001d5e0: 2020 2020 2020 2020 2228 220a 2020 2020 "(". │ │ │ -0001d5f0: 2020 2020 2028 6170 7065 6e64 2061 7267 (append arg │ │ │ -0001d600: 7320 2728 2229 2229 2929 290a 0a28 6465 s '(")"))))..(de │ │ │ -0001d610: 6675 6e20 6167 6461 322d 6162 6f72 7420 fun agda2-abort │ │ │ -0001d620: 2829 0a20 2022 5472 6965 7320 746f 2061 (). "Tries to a │ │ │ -0001d630: 626f 7274 2074 6865 2063 7572 7265 6e74 bort the current │ │ │ -0001d640: 2063 6f6d 7075 7461 7469 6f6e 2c20 6966 computation, if │ │ │ -0001d650: 2061 6e79 2e0a 4d61 7920 6265 206d 6f72 any..May be mor │ │ │ -0001d660: 6520 6566 6669 6369 656e 7420 7468 616e e efficient than │ │ │ -0001d670: 2072 6573 7461 7274 696e 6720 4167 6461 restarting Agda │ │ │ -0001d680: 2e22 0a20 2028 696e 7465 7261 6374 6976 .". (interactiv │ │ │ -0001d690: 6529 0a20 2028 6167 6461 322d 7365 6e64 e). (agda2-send │ │ │ -0001d6a0: 2d63 6f6d 6d61 6e64 206e 696c 0a20 2020 -command nil. │ │ │ +0001d230: 2020 2020 2020 2028 6375 7272 656e 742d (current- │ │ │ +0001d240: 6275 6666 6572 2929 2929 0a20 2020 2028 buffer)))). ( │ │ │ +0001d250: 6572 726f 7220 2241 6764 6120 6973 2062 error "Agda is b │ │ │ +0001d260: 7573 7920 7769 7468 2073 6f6d 6574 6869 usy with somethi │ │ │ +0001d270: 6e67 2069 6e20 7468 6520 6275 6666 6572 ng in the buffer │ │ │ +0001d280: 2025 7322 0a20 2020 2020 2020 2020 2020 %s". │ │ │ +0001d290: 6167 6461 322d 6669 6c65 2d62 7566 6665 agda2-file-buffe │ │ │ +0001d2a0: 7229 290a 0a20 2028 7768 656e 2028 616e r)).. (when (an │ │ │ +0001d2b0: 6420 646f 2d61 626f 7274 0a20 2020 2020 d do-abort. │ │ │ +0001d2c0: 2020 2020 2020 2020 2865 7175 616c 2061 (equal a │ │ │ +0001d2d0: 6764 6132 2d69 6e2d 7072 6f67 7265 7373 gda2-in-progress │ │ │ +0001d2e0: 2027 6275 7379 2929 0a20 2020 2028 6572 'busy)). (er │ │ │ +0001d2f0: 726f 7220 2241 6764 6120 6973 2062 7573 ror "Agda is bus │ │ │ +0001d300: 7920 7769 7468 2073 6f6d 6574 6869 6e67 y with something │ │ │ +0001d310: 0a5c 2879 6f75 2068 6176 6520 7468 6520 .\(you have the │ │ │ +0001d320: 6f70 7469 6f6e 2074 6f20 6162 6f72 7420 option to abort │ │ │ +0001d330: 6f72 2072 6573 7461 7274 2041 6764 6129 or restart Agda) │ │ │ +0001d340: 2229 290a 0a20 2028 7365 7471 2061 6764 ")).. (setq agd │ │ │ +0001d350: 6132 2d66 696c 652d 6275 6666 6572 2028 a2-file-buffer ( │ │ │ +0001d360: 6375 7272 656e 742d 6275 6666 6572 2929 current-buffer)) │ │ │ +0001d370: 0a0a 2020 2873 6574 7120 6167 6461 322d .. (setq agda2- │ │ │ +0001d380: 6869 6768 6c69 6768 742d 696e 2d70 726f highlight-in-pro │ │ │ +0001d390: 6772 6573 730a 2020 2020 2020 2020 286f gress. (o │ │ │ +0001d3a0: 7220 6869 6768 6c69 6768 740a 2020 2020 r highlight. │ │ │ +0001d3b0: 2020 2020 2020 2020 2861 6e64 2061 6764 (and agd │ │ │ +0001d3c0: 6132 2d69 6e2d 7072 6f67 7265 7373 0a20 a2-in-progress. │ │ │ +0001d3d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +0001d3e0: 6167 6461 322d 6869 6768 6c69 6768 742d agda2-highlight- │ │ │ +0001d3f0: 696e 2d70 726f 6772 6573 7329 2929 0a0a in-progress))).. │ │ │ +0001d400: 2020 2875 6e6c 6573 7320 6167 6461 322d (unless agda2- │ │ │ +0001d410: 696e 2d70 726f 6772 6573 730a 2020 2020 in-progress. │ │ │ +0001d420: 2873 6574 7120 6167 6461 322d 6f75 7470 (setq agda2-outp │ │ │ +0001d430: 7574 2d63 6875 6e6b 2d69 6e63 6f6d 706c ut-chunk-incompl │ │ │ +0001d440: 6574 6520 2861 6764 6132 2d71 7565 7565 ete (agda2-queue │ │ │ +0001d450: 2d65 6d70 7479 2929 290a 0a20 2028 7365 -empty))).. (se │ │ │ +0001d460: 7471 2061 6764 6132 2d69 6e2d 7072 6f67 tq agda2-in-prog │ │ │ +0001d470: 7265 7373 0a20 2020 2020 2020 2028 6966 ress. (if │ │ │ +0001d480: 2028 6f72 2028 6571 7561 6c20 686f 772d (or (equal how- │ │ │ +0001d490: 6275 7379 2027 6275 7379 290a 2020 2020 busy 'busy). │ │ │ +0001d4a0: 2020 2020 2020 2020 2020 2020 2865 7175 (equ │ │ │ +0001d4b0: 616c 2061 6764 6132 2d69 6e2d 7072 6f67 al agda2-in-prog │ │ │ +0001d4c0: 7265 7373 2027 6275 7379 2929 0a20 2020 ress 'busy)). │ │ │ +0001d4d0: 2020 2020 2020 2020 2027 6275 7379 0a20 'busy. │ │ │ +0001d4e0: 2020 2020 2020 2020 2027 6e6f 742d 736f 'not-so │ │ │ +0001d4f0: 2d62 7573 7929 290a 0a20 2028 7768 656e -busy)).. (when │ │ │ +0001d500: 2028 6571 7561 6c20 7361 7665 2027 7361 (equal save 'sa │ │ │ +0001d510: 7665 2920 2873 6176 652d 6275 6666 6572 ve) (save-buffer │ │ │ +0001d520: 2929 0a0a 2020 2861 7070 6c79 2027 6167 )).. (apply 'ag │ │ │ +0001d530: 6461 322d 7365 6e64 2d63 6f6d 6d61 6e64 da2-send-command │ │ │ +0001d540: 0a20 2020 2020 2020 2020 2772 6573 7461 . 'resta │ │ │ +0001d550: 7274 0a20 2020 2020 2020 2020 2249 4f54 rt. "IOT │ │ │ +0001d560: 434d 220a 2020 2020 2020 2020 2028 6167 CM". (ag │ │ │ +0001d570: 6461 322d 7374 7269 6e67 2d71 756f 7465 da2-string-quote │ │ │ +0001d580: 2028 6275 6666 6572 2d66 696c 652d 6e61 (buffer-file-na │ │ │ +0001d590: 6d65 2929 0a20 2020 2020 2020 2020 2869 me)). (i │ │ │ +0001d5a0: 6620 6869 6768 6c69 6768 7420 2861 6764 f highlight (agd │ │ │ +0001d5b0: 6132 2d68 6967 686c 6967 6874 2d6c 6576 a2-highlight-lev │ │ │ +0001d5c0: 656c 2920 224e 6f6e 6522 290a 2020 2020 el) "None"). │ │ │ +0001d5d0: 2020 2020 2022 496e 6469 7265 6374 220a "Indirect". │ │ │ +0001d5e0: 2020 2020 2020 2020 2022 2822 0a20 2020 "(". │ │ │ +0001d5f0: 2020 2020 2020 2861 7070 656e 6420 6172 (append ar │ │ │ +0001d600: 6773 2027 2822 2922 2929 2929 0a0a 2864 gs '(")"))))..(d │ │ │ +0001d610: 6566 756e 2061 6764 6132 2d61 626f 7274 efun agda2-abort │ │ │ +0001d620: 2028 290a 2020 2254 7269 6573 2074 6f20 (). "Tries to │ │ │ +0001d630: 6162 6f72 7420 7468 6520 6375 7272 656e abort the curren │ │ │ +0001d640: 7420 636f 6d70 7574 6174 696f 6e2c 2069 t computation, i │ │ │ +0001d650: 6620 616e 792e 0a4d 6179 2062 6520 6d6f f any..May be mo │ │ │ +0001d660: 7265 2065 6666 6963 6965 6e74 2074 6861 re efficient tha │ │ │ +0001d670: 6e20 7265 7374 6172 7469 6e67 2041 6764 n restarting Agd │ │ │ +0001d680: 612e 220a 2020 2869 6e74 6572 6163 7469 a.". (interacti │ │ │ +0001d690: 7665 290a 2020 2861 6764 6132 2d73 656e ve). (agda2-sen │ │ │ +0001d6a0: 642d 636f 6d6d 616e 6420 6e69 6c0a 2020 d-command nil. │ │ │ 0001d6b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0001d6c0: 2020 2022 494f 5443 4d22 0a20 2020 2020 "IOTCM". │ │ │ +0001d6c0: 2020 2020 2249 4f54 434d 220a 2020 2020 "IOTCM". │ │ │ 0001d6d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0001d6e0: 2028 6167 6461 322d 7374 7269 6e67 2d71 (agda2-string-q │ │ │ -0001d6f0: 756f 7465 2028 6275 6666 6572 2d66 696c uote (buffer-fil │ │ │ -0001d700: 652d 6e61 6d65 2929 0a20 2020 2020 2020 e-name)). │ │ │ -0001d710: 2020 2020 2020 2020 2020 2020 2020 2022 " │ │ │ -0001d720: 4e6f 6e65 220a 2020 2020 2020 2020 2020 None". │ │ │ -0001d730: 2020 2020 2020 2020 2020 2020 2249 6e64 "Ind │ │ │ -0001d740: 6972 6563 7422 0a20 2020 2020 2020 2020 irect". │ │ │ -0001d750: 2020 2020 2020 2020 2020 2020 2022 436d "Cm │ │ │ -0001d760: 645f 6162 6f72 7422 2929 0a0a 2864 6566 d_abort"))..(def │ │ │ -0001d770: 756e 2061 6764 6132 2d61 626f 7274 2d64 un agda2-abort-d │ │ │ -0001d780: 6f6e 6520 2829 0a20 2022 5265 7365 7473 one (). "Resets │ │ │ -0001d790: 2063 6572 7461 696e 2076 6172 6961 626c certain variabl │ │ │ -0001d7a0: 6573 2e0a 496e 7465 6e64 6564 2074 6f20 es..Intended to │ │ │ -0001d7b0: 6265 2075 7365 6420 6279 2074 6865 2062 be used by the b │ │ │ -0001d7c0: 6163 6b65 6e64 2069 6620 616e 2061 626f ackend if an abo │ │ │ -0001d7d0: 7274 2063 6f6d 6d61 6e64 2077 6173 0a73 rt command was.s │ │ │ -0001d7e0: 7563 6365 7373 6675 6c2e 220a 2020 2861 uccessful.". (a │ │ │ -0001d7f0: 6764 6132 2d69 6e66 6f2d 6163 7469 6f6e gda2-info-action │ │ │ -0001d800: 2022 2a41 626f 7274 6564 2a22 2022 4162 "*Aborted*" "Ab │ │ │ -0001d810: 6f72 7465 642e 2220 7429 0a20 2028 7365 orted." t). (se │ │ │ -0001d820: 7471 2061 6764 6132 2d68 6967 686c 6967 tq agda2-highlig │ │ │ -0001d830: 6874 2d69 6e2d 7072 6f67 7265 7373 206e ht-in-progress n │ │ │ -0001d840: 696c 0a20 2020 2020 2020 2061 6764 6132 il. agda2 │ │ │ -0001d850: 2d6c 6173 742d 7265 7370 6f6e 7365 7320 -last-responses │ │ │ -0001d860: 2020 2020 2020 206e 696c 2929 0a0a 2864 nil))..(d │ │ │ -0001d870: 6566 756e 2061 6764 6132 2d6f 7574 7075 efun agda2-outpu │ │ │ -0001d880: 742d 6669 6c74 6572 2028 5f70 726f 6320 t-filter (_proc │ │ │ -0001d890: 6368 756e 6b29 0a20 2022 4576 616c 7561 chunk). "Evalua │ │ │ -0001d8a0: 7465 2074 6865 2041 6764 6120 7072 6f63 te the Agda proc │ │ │ -0001d8b0: 6573 7327 7320 636f 6d6d 616e 6473 2e0a ess's commands.. │ │ │ -0001d8c0: 5468 6973 2066 696c 7465 7220 6675 6e63 This filter func │ │ │ -0001d8d0: 7469 6f6e 2061 7373 756d 6573 2074 6861 tion assumes tha │ │ │ -0001d8e0: 7420 6576 6572 7920 6c69 6e65 2063 6f6e t every line con │ │ │ -0001d8f0: 7461 696e 7320 6569 7468 6572 2073 6f6d tains either som │ │ │ -0001d900: 650a 6b69 6e64 206f 6620 6572 726f 7220 e.kind of error │ │ │ -0001d910: 6d65 7373 6167 6520 2877 6869 6368 2063 message (which c │ │ │ -0001d920: 616e 6e6f 7420 6265 2070 6172 7365 6420 annot be parsed │ │ │ -0001d930: 6173 2061 206c 6973 7429 2c20 6f72 0a65 as a list), or.e │ │ │ -0001d940: 7861 6374 6c79 206f 6e65 2063 6f6d 6d61 xactly one comma │ │ │ -0001d950: 6e64 2e20 496e 636f 6d70 6c65 7465 206c nd. Incomplete l │ │ │ -0001d960: 696e 6573 2061 7265 2073 746f 7265 6420 ines are stored │ │ │ -0001d970: 696e 2061 0a62 7566 6665 7220 2860 6167 in a.buffer (`ag │ │ │ -0001d980: 6461 322d 6f75 7470 7574 2d63 6875 6e6b da2-output-chunk │ │ │ -0001d990: 2d69 6e63 6f6d 706c 6574 6527 292e 0a0a -incomplete')... │ │ │ -0001d9a0: 4576 6572 7920 636f 6d6d 616e 6420 6973 Every command is │ │ │ -0001d9b0: 2072 756e 2062 7920 7468 6973 2066 756e run by this fun │ │ │ -0001d9c0: 6374 696f 6e2c 2075 6e6c 6573 7320 6974 ction, unless it │ │ │ -0001d9d0: 2068 6173 2074 6865 2066 6f72 6d0a 5c22 has the form.\" │ │ │ -0001d9e0: 2828 276c 6173 7420 2e20 7072 696f 7269 (('last . priori │ │ │ -0001d9f0: 7479 2920 2e20 636d 6429 5c22 2c20 696e ty) . cmd)\", in │ │ │ -0001da00: 2077 6869 6368 2063 6173 6520 6974 2069 which case it i │ │ │ -0001da10: 7320 7275 6e20 6279 0a60 6167 6461 322d s run by.`agda2- │ │ │ -0001da20: 7275 6e2d 6c61 7374 2d63 6f6d 6d61 6e64 run-last-command │ │ │ -0001da30: 7327 2061 7420 7468 6520 656e 642c 2061 s' at the end, a │ │ │ -0001da40: 6674 6572 2074 6865 2041 6764 6132 2070 fter the Agda2 p │ │ │ -0001da50: 726f 6d70 740a 6861 7320 7265 6170 7065 rompt.has reappe │ │ │ -0001da60: 6172 6564 2c20 6166 7465 7220 616c 6c20 ared, after all │ │ │ -0001da70: 6e6f 6e2d 6c61 7374 2063 6f6d 6d61 6e64 non-last command │ │ │ -0001da80: 732c 2061 6e64 2061 6674 6572 2061 6c6c s, and after all │ │ │ -0001da90: 0a69 6e74 6572 6163 7469 7665 2068 6967 .interactive hig │ │ │ -0001daa0: 686c 6967 6874 696e 6720 6973 2063 6f6d hlighting is com │ │ │ -0001dab0: 706c 6574 652e 2054 6865 206c 6173 7420 plete. The last │ │ │ -0001dac0: 636f 6d6d 616e 6473 2063 616e 2068 6176 commands can hav │ │ │ -0001dad0: 650a 6469 6666 6572 656e 7420 696e 7465 e.different inte │ │ │ -0001dae0: 6765 7220 7072 696f 7269 7469 6573 3b20 ger priorities; │ │ │ -0001daf0: 7468 6f73 6520 7769 7468 2074 6865 206c those with the l │ │ │ -0001db00: 6f77 6573 7420 7072 696f 7269 7479 2061 owest priority a │ │ │ -0001db10: 7265 0a65 7865 6375 7465 6420 6669 7273 re.executed firs │ │ │ -0001db20: 742e 0a0a 4e6f 6e2d 6c61 7374 2063 6f6d t...Non-last com │ │ │ -0001db30: 6d61 6e64 7320 7368 6f75 6c64 206e 6f74 mands should not │ │ │ -0001db40: 2063 616c 6c20 7468 6520 4167 6461 2070 call the Agda p │ │ │ -0001db50: 726f 6365 7373 2e0a 0a41 6c6c 2063 6f6d rocess...All com │ │ │ -0001db60: 6d61 6e64 7320 6172 6520 6563 686f 6564 mands are echoed │ │ │ -0001db70: 2074 6f20 7468 6520 2a61 6764 6132 2a20 to the *agda2* │ │ │ -0001db80: 6275 6666 6572 2c20 7769 7468 2074 6865 buffer, with the │ │ │ -0001db90: 2065 7863 6570 7469 6f6e 0a6f 6620 636f exception.of co │ │ │ -0001dba0: 6d6d 616e 6473 206f 6620 7468 6520 666f mmands of the fo │ │ │ -0001dbb0: 726d 205c 2228 6167 6461 322d 6869 6768 rm \"(agda2-high │ │ │ -0001dbc0: 6c69 6768 742d 2e2e 2e20 2e2e 2e29 5c22 light-... ...)\" │ │ │ -0001dbd0: 2e0a 0a54 6865 206e 6f6e 2d6c 6173 7420 ...The non-last │ │ │ -0001dbe0: 636f 6d6d 616e 6473 2061 7265 2072 756e commands are run │ │ │ -0001dbf0: 2069 6e20 7468 6520 6f72 6465 7220 696e in the order in │ │ │ -0001dc00: 2077 6869 6368 2074 6865 7920 6170 7065 which they appe │ │ │ -0001dc10: 6172 2e0a 0a57 6865 6e20 7468 6520 7072 ar...When the pr │ │ │ -0001dc20: 6f6d 7074 2068 6173 2062 6565 6e20 7265 ompt has been re │ │ │ -0001dc30: 6163 6865 6420 6869 6768 6c69 6768 7469 ached highlighti │ │ │ -0001dc40: 6e67 2061 6e6e 6f74 6174 696f 6e73 2061 ng annotations a │ │ │ -0001dc50: 7265 0a72 656c 6f61 6465 6420 6672 6f6d re.reloaded from │ │ │ -0001dc60: 2060 6167 6461 322d 6869 6768 6c69 6768 `agda2-highligh │ │ │ -0001dc70: 7469 6e67 2d66 696c 6527 2c20 756e 6c65 ting-file', unle │ │ │ -0001dc80: 7373 0a60 6167 6461 322d 6869 6768 6c69 ss.`agda2-highli │ │ │ -0001dc90: 6768 7469 6e67 2d69 6e2d 7072 6f67 7265 ghting-in-progre │ │ │ -0001dca0: 7373 2720 6973 206e 696c 2e22 0a0a 2020 ss' is nil.".. │ │ │ -0001dcb0: 3b3b 2042 6577 6172 653a 2074 6865 2062 ;; Beware: the b │ │ │ -0001dcc0: 7566 6665 7220 6d61 7920 6861 7665 2062 uffer may have b │ │ │ -0001dcd0: 6565 6e20 6b69 6c6c 6564 2069 6e20 7468 een killed in th │ │ │ -0001dce0: 6520 6d65 616e 2074 696d 652e 2020 452e e mean time. E. │ │ │ -0001dcf0: 672e 2077 6865 6e0a 2020 3b3b 2076 6965 g. when. ;; vie │ │ │ -0001dd00: 7769 6e67 2061 6e20 6174 7461 6368 6d65 wing an attachme │ │ │ -0001dd10: 6e74 2063 6f6e 7461 696e 696e 6720 4167 nt containing Ag │ │ │ -0001dd20: 6461 2063 6f64 6520 696e 2047 6e75 732c da code in Gnus, │ │ │ -0001dd30: 2047 6e75 7320 7769 6c6c 0a20 203b 3b20 Gnus will. ;; │ │ │ -0001dd40: 6372 6561 7465 2061 2074 656d 7020 6275 create a temp bu │ │ │ -0001dd50: 6666 6572 2c20 7365 7420 6974 2069 6e20 ffer, set it in │ │ │ -0001dd60: 6167 6461 322d 6d6f 6465 2c20 6361 6c6c agda2-mode, call │ │ │ -0001dd70: 2066 6f6e 742d 6c6f 636b 2d65 6e73 7572 font-lock-ensur │ │ │ -0001dd80: 6520 6f6e 2069 740a 2020 3b3b 2028 7768 e on it. ;; (wh │ │ │ -0001dd90: 6963 6820 776f 6e27 7420 6b6e 6f77 2074 ich won't know t │ │ │ -0001dda0: 6861 7420 6974 206e 6565 6473 2074 6f20 hat it needs to │ │ │ -0001ddb0: 7761 6974 2066 6f72 2073 6f6d 6520 7072 wait for some pr │ │ │ -0001ddc0: 6f63 6573 7320 746f 2072 6570 6c79 292c ocess to reply), │ │ │ -0001ddd0: 2074 6865 6e0a 2020 3b3b 2065 7874 7261 then. ;; extra │ │ │ -0001dde0: 6374 2074 6865 2066 6f6e 7469 6669 6564 ct the fontified │ │ │ -0001ddf0: 2074 6578 7420 616e 6420 6b69 6c6c 2074 text and kill t │ │ │ -0001de00: 6865 2074 656d 7020 6275 6666 6572 3b20 he temp buffer; │ │ │ -0001de10: 736f 2077 6865 6e20 4167 6461 0a20 203b so when Agda. ; │ │ │ -0001de20: 3b20 6669 6e61 6c6c 7920 616e 7377 6572 ; finally answer │ │ │ -0001de30: 732c 2074 6865 2074 656d 7020 6275 6666 s, the temp buff │ │ │ -0001de40: 6572 2069 7320 6c6f 6e67 2067 6f6e 652e er is long gone. │ │ │ -0001de50: 0a20 2028 7768 656e 2028 6275 6666 6572 . (when (buffer │ │ │ -0001de60: 2d6c 6976 652d 7020 6167 6461 322d 6669 -live-p agda2-fi │ │ │ -0001de70: 6c65 2d62 7566 6665 7229 0a20 2028 7365 le-buffer). (se │ │ │ -0001de80: 7471 2061 6764 6132 2d69 6e2d 6167 6461 tq agda2-in-agda │ │ │ -0001de90: 322d 6669 6c65 2d62 7566 6665 720a 2020 2-file-buffer. │ │ │ -0001dea0: 2020 2020 2020 2861 6e64 2061 6764 6132 (and agda2 │ │ │ -0001deb0: 2d66 696c 652d 6275 6666 6572 0a20 2020 -file-buffer. │ │ │ -0001dec0: 2020 2020 2020 2020 2020 2865 7175 616c (equal │ │ │ -0001ded0: 2028 6375 7272 656e 742d 6275 6666 6572 (current-buffer │ │ │ -0001dee0: 2920 6167 6461 322d 6669 6c65 2d62 7566 ) agda2-file-buf │ │ │ -0001def0: 6665 7229 2929 0a20 2028 6c65 7420 283b fer))). (let (; │ │ │ -0001df00: 3b20 5468 6520 696e 7075 7420 6c69 6e65 ; The input line │ │ │ -0001df10: 7320 696e 2074 6865 2063 7572 7265 6e74 s in the current │ │ │ -0001df20: 2063 6875 6e6b 2e0a 2020 2020 2020 2020 chunk.. │ │ │ -0001df30: 286c 696e 6573 2028 7370 6c69 742d 7374 (lines (split-st │ │ │ -0001df40: 7269 6e67 2063 6875 6e6b 2022 5c6e 2229 ring chunk "\n") │ │ │ -0001df50: 290a 0a20 2020 2020 2020 203b 3b20 4e6f ).. ;; No │ │ │ -0001df60: 6e2d 6c61 7374 2063 6f6d 6d61 6e64 7320 n-last commands │ │ │ -0001df70: 666f 756e 6420 696e 2074 6865 2063 7572 found in the cur │ │ │ -0001df80: 7265 6e74 2063 6875 6e6b 2028 7265 7665 rent chunk (reve │ │ │ -0001df90: 7273 6564 292e 0a20 2020 2020 2020 2028 rsed).. ( │ │ │ -0001dfa0: 6e6f 6e2d 6c61 7374 2d63 6f6d 6d61 6e64 non-last-command │ │ │ -0001dfb0: 7320 2829 290a 0a20 2020 2020 2020 203b s ()).. ; │ │ │ -0001dfc0: 3b20 4c61 7374 2069 6e63 6f6d 706c 6574 ; Last incomplet │ │ │ -0001dfd0: 6520 6c69 6e65 2c20 6966 2061 6e79 2e0a e line, if any.. │ │ │ -0001dfe0: 2020 2020 2020 2020 286f 7574 7075 742d (output- │ │ │ -0001dff0: 6368 756e 6b2d 696e 636f 6d70 6c65 7465 chunk-incomplete │ │ │ -0001e000: 2022 2229 290a 2020 2020 2877 6974 682d "")). (with- │ │ │ -0001e010: 6375 7272 656e 742d 6275 6666 6572 2061 current-buffer a │ │ │ -0001e020: 6764 6132 2d66 696c 652d 6275 6666 6572 gda2-file-buffer │ │ │ -0001e030: 0a20 2020 2020 2028 7768 656e 2028 636f . (when (co │ │ │ -0001e040: 6e73 7020 6c69 6e65 7329 0a20 2020 2020 nsp lines). │ │ │ -0001e050: 2020 2028 6167 6461 322d 7175 6575 652d (agda2-queue- │ │ │ -0001e060: 656e 7175 6575 6520 6167 6461 322d 6f75 enqueue agda2-ou │ │ │ -0001e070: 7470 7574 2d63 6875 6e6b 2d69 6e63 6f6d tput-chunk-incom │ │ │ -0001e080: 706c 6574 6520 2870 6f70 206c 696e 6573 plete (pop lines │ │ │ -0001e090: 2929 0a20 2020 2020 2020 2028 7768 656e )). (when │ │ │ -0001e0a0: 2028 636f 6e73 7020 6c69 6e65 7329 0a20 (consp lines). │ │ │ -0001e0b0: 2020 2020 2020 2020 203b 3b20 5468 6520 ;; The │ │ │ -0001e0c0: 7072 6576 696f 7573 2075 6e63 6f6d 706c previous uncompl │ │ │ -0001e0d0: 6574 6520 6368 756e 6b20 6973 206e 6f77 ete chunk is now │ │ │ -0001e0e0: 2063 6f6d 706c 6574 652e 0a20 2020 2020 complete.. │ │ │ -0001e0f0: 2020 2020 2028 7075 7368 2028 6167 6461 (push (agda │ │ │ -0001e100: 322d 7175 6575 652d 746f 2d73 7472 696e 2-queue-to-strin │ │ │ -0001e110: 6720 6167 6461 322d 6f75 7470 7574 2d63 g agda2-output-c │ │ │ -0001e120: 6875 6e6b 2d69 6e63 6f6d 706c 6574 6529 hunk-incomplete) │ │ │ -0001e130: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ -0001e140: 206c 696e 6573 290a 0a20 2020 2020 2020 lines).. │ │ │ -0001e150: 2020 203b 3b20 5374 6173 6820 6177 6179 ;; Stash away │ │ │ -0001e160: 2074 6865 206c 6173 7420 696e 636f 6d70 the last incomp │ │ │ -0001e170: 6c65 7465 206c 696e 652c 2069 6620 616e lete line, if an │ │ │ -0001e180: 792e 2028 4e6f 7465 2074 6861 740a 2020 y. (Note that. │ │ │ -0001e190: 2020 2020 2020 2020 3b3b 2028 7370 6c69 ;; (spli │ │ │ -0001e1a0: 742d 7374 7269 6e67 2022 2e2e 2e5c 6e22 t-string "...\n" │ │ │ -0001e1b0: 2022 5c6e 2229 2065 7661 6c75 6174 6573 "\n") evaluates │ │ │ -0001e1c0: 2074 6f20 282e 2e2e 2022 2229 2e29 0a20 to (... "").). │ │ │ -0001e1d0: 2020 2020 2020 2020 2028 7365 7471 206f (setq o │ │ │ -0001e1e0: 7574 7075 742d 6368 756e 6b2d 696e 636f utput-chunk-inco │ │ │ -0001e1f0: 6d70 6c65 7465 2028 6361 7220 286c 6173 mplete (car (las │ │ │ -0001e200: 7420 6c69 6e65 7329 290a 2020 2020 2020 t lines)). │ │ │ -0001e210: 2020 2020 2020 2020 2020 6167 6461 322d agda2- │ │ │ -0001e220: 6f75 7470 7574 2d63 6875 6e6b 2d69 6e63 output-chunk-inc │ │ │ -0001e230: 6f6d 706c 6574 650a 2020 2020 2020 2020 omplete. │ │ │ -0001e240: 2020 2020 2020 2020 2861 6764 6132 2d71 (agda2-q │ │ │ -0001e250: 7565 7565 2d66 726f 6d2d 7374 7269 6e67 ueue-from-string │ │ │ -0001e260: 206f 7574 7075 742d 6368 756e 6b2d 696e output-chunk-in │ │ │ -0001e270: 636f 6d70 6c65 7465 2929 0a0a 2020 2020 complete)).. │ │ │ -0001e280: 2020 2020 2020 3b3b 2048 616e 646c 6520 ;; Handle │ │ │ -0001e290: 6576 6572 7920 636f 6d70 6c65 7465 206c every complete l │ │ │ -0001e2a0: 696e 652e 0a20 2020 2020 2020 2020 2028 ine.. ( │ │ │ -0001e2b0: 646f 6c69 7374 2028 6c69 6e65 2028 6275 dolist (line (bu │ │ │ -0001e2c0: 746c 6173 7420 6c69 6e65 7329 290a 2020 tlast lines)). │ │ │ -0001e2d0: 2020 2020 2020 2020 2020 286c 6574 2a20 (let* │ │ │ -0001e2e0: 283b 3b20 5468 6520 636f 6d6d 616e 642e (;; The command. │ │ │ -0001e2f0: 204c 696e 6573 2077 6869 6368 2063 616e Lines which can │ │ │ -0001e300: 6e6f 7420 6265 2070 6172 7365 6420 6173 not be parsed as │ │ │ -0001e310: 2061 2073 696e 676c 650a 2020 2020 2020 a single. │ │ │ -0001e320: 2020 2020 2020 2020 2020 2020 203b 3b20 ;; │ │ │ -0001e330: 6c69 7374 2c20 7769 7468 6f75 7420 616e list, without an │ │ │ -0001e340: 7920 6a75 6e6b 2c20 6172 6520 6967 6e6f y junk, are igno │ │ │ -0001e350: 7265 642e 0a20 2020 2020 2020 2020 2020 red.. │ │ │ -0001e360: 2020 2020 2020 2020 2863 6d64 2028 636f (cmd (co │ │ │ -0001e370: 6e64 6974 696f 6e2d 6361 7365 206e 696c ndition-case nil │ │ │ -0001e380: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ -0001e390: 2020 2020 2020 2020 2020 2020 2028 6c65 (le │ │ │ -0001e3a0: 7420 2828 7265 7375 6c74 2028 7265 6164 t ((result (read │ │ │ -0001e3b0: 2d66 726f 6d2d 7374 7269 6e67 206c 696e -from-string lin │ │ │ -0001e3c0: 6529 2929 0a20 2020 2020 2020 2020 2020 e))). │ │ │ +0001d6e0: 2020 2861 6764 6132 2d73 7472 696e 672d (agda2-string- │ │ │ +0001d6f0: 7175 6f74 6520 2862 7566 6665 722d 6669 quote (buffer-fi │ │ │ +0001d700: 6c65 2d6e 616d 6529 290a 2020 2020 2020 le-name)). │ │ │ +0001d710: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +0001d720: 224e 6f6e 6522 0a20 2020 2020 2020 2020 "None". │ │ │ +0001d730: 2020 2020 2020 2020 2020 2020 2022 496e "In │ │ │ +0001d740: 6469 7265 6374 220a 2020 2020 2020 2020 direct". │ │ │ +0001d750: 2020 2020 2020 2020 2020 2020 2020 2243 "C │ │ │ +0001d760: 6d64 5f61 626f 7274 2229 290a 0a28 6465 md_abort"))..(de │ │ │ +0001d770: 6675 6e20 6167 6461 322d 6162 6f72 742d fun agda2-abort- │ │ │ +0001d780: 646f 6e65 2028 290a 2020 2252 6573 6574 done (). "Reset │ │ │ +0001d790: 7320 6365 7274 6169 6e20 7661 7269 6162 s certain variab │ │ │ +0001d7a0: 6c65 732e 0a49 6e74 656e 6465 6420 746f les..Intended to │ │ │ +0001d7b0: 2062 6520 7573 6564 2062 7920 7468 6520 be used by the │ │ │ +0001d7c0: 6261 636b 656e 6420 6966 2061 6e20 6162 backend if an ab │ │ │ +0001d7d0: 6f72 7420 636f 6d6d 616e 6420 7761 730a ort command was. │ │ │ +0001d7e0: 7375 6363 6573 7366 756c 2e22 0a20 2028 successful.". ( │ │ │ +0001d7f0: 6167 6461 322d 696e 666f 2d61 6374 696f agda2-info-actio │ │ │ +0001d800: 6e20 222a 4162 6f72 7465 642a 2220 2241 n "*Aborted*" "A │ │ │ +0001d810: 626f 7274 6564 2e22 2074 290a 2020 2873 borted." t). (s │ │ │ +0001d820: 6574 7120 6167 6461 322d 6869 6768 6c69 etq agda2-highli │ │ │ +0001d830: 6768 742d 696e 2d70 726f 6772 6573 7320 ght-in-progress │ │ │ +0001d840: 6e69 6c0a 2020 2020 2020 2020 6167 6461 nil. agda │ │ │ +0001d850: 322d 6c61 7374 2d72 6573 706f 6e73 6573 2-last-responses │ │ │ +0001d860: 2020 2020 2020 2020 6e69 6c29 290a 0a28 nil))..( │ │ │ +0001d870: 6465 6675 6e20 6167 6461 322d 6f75 7470 defun agda2-outp │ │ │ +0001d880: 7574 2d66 696c 7465 7220 285f 7072 6f63 ut-filter (_proc │ │ │ +0001d890: 2063 6875 6e6b 290a 2020 2245 7661 6c75 chunk). "Evalu │ │ │ +0001d8a0: 6174 6520 7468 6520 4167 6461 2070 726f ate the Agda pro │ │ │ +0001d8b0: 6365 7373 2773 2063 6f6d 6d61 6e64 732e cess's commands. │ │ │ +0001d8c0: 0a54 6869 7320 6669 6c74 6572 2066 756e .This filter fun │ │ │ +0001d8d0: 6374 696f 6e20 6173 7375 6d65 7320 7468 ction assumes th │ │ │ +0001d8e0: 6174 2065 7665 7279 206c 696e 6520 636f at every line co │ │ │ +0001d8f0: 6e74 6169 6e73 2065 6974 6865 7220 736f ntains either so │ │ │ +0001d900: 6d65 0a6b 696e 6420 6f66 2065 7272 6f72 me.kind of error │ │ │ +0001d910: 206d 6573 7361 6765 2028 7768 6963 6820 message (which │ │ │ +0001d920: 6361 6e6e 6f74 2062 6520 7061 7273 6564 cannot be parsed │ │ │ +0001d930: 2061 7320 6120 6c69 7374 292c 206f 720a as a list), or. │ │ │ +0001d940: 6578 6163 746c 7920 6f6e 6520 636f 6d6d exactly one comm │ │ │ +0001d950: 616e 642e 2049 6e63 6f6d 706c 6574 6520 and. Incomplete │ │ │ +0001d960: 6c69 6e65 7320 6172 6520 7374 6f72 6564 lines are stored │ │ │ +0001d970: 2069 6e20 610a 6275 6666 6572 2028 6061 in a.buffer (`a │ │ │ +0001d980: 6764 6132 2d6f 7574 7075 742d 6368 756e gda2-output-chun │ │ │ +0001d990: 6b2d 696e 636f 6d70 6c65 7465 2729 2e0a k-incomplete').. │ │ │ +0001d9a0: 0a45 7665 7279 2063 6f6d 6d61 6e64 2069 .Every command i │ │ │ +0001d9b0: 7320 7275 6e20 6279 2074 6869 7320 6675 s run by this fu │ │ │ +0001d9c0: 6e63 7469 6f6e 2c20 756e 6c65 7373 2069 nction, unless i │ │ │ +0001d9d0: 7420 6861 7320 7468 6520 666f 726d 0a5c t has the form.\ │ │ │ +0001d9e0: 2228 2827 6c61 7374 202e 2070 7269 6f72 "(('last . prior │ │ │ +0001d9f0: 6974 7929 202e 2063 6d64 295c 222c 2069 ity) . cmd)\", i │ │ │ +0001da00: 6e20 7768 6963 6820 6361 7365 2069 7420 n which case it │ │ │ +0001da10: 6973 2072 756e 2062 790a 6061 6764 6132 is run by.`agda2 │ │ │ +0001da20: 2d72 756e 2d6c 6173 742d 636f 6d6d 616e -run-last-comman │ │ │ +0001da30: 6473 2720 6174 2074 6865 2065 6e64 2c20 ds' at the end, │ │ │ +0001da40: 6166 7465 7220 7468 6520 4167 6461 3220 after the Agda2 │ │ │ +0001da50: 7072 6f6d 7074 0a68 6173 2072 6561 7070 prompt.has reapp │ │ │ +0001da60: 6561 7265 642c 2061 6674 6572 2061 6c6c eared, after all │ │ │ +0001da70: 206e 6f6e 2d6c 6173 7420 636f 6d6d 616e non-last comman │ │ │ +0001da80: 6473 2c20 616e 6420 6166 7465 7220 616c ds, and after al │ │ │ +0001da90: 6c0a 696e 7465 7261 6374 6976 6520 6869 l.interactive hi │ │ │ +0001daa0: 6768 6c69 6768 7469 6e67 2069 7320 636f ghlighting is co │ │ │ +0001dab0: 6d70 6c65 7465 2e20 5468 6520 6c61 7374 mplete. The last │ │ │ +0001dac0: 2063 6f6d 6d61 6e64 7320 6361 6e20 6861 commands can ha │ │ │ +0001dad0: 7665 0a64 6966 6665 7265 6e74 2069 6e74 ve.different int │ │ │ +0001dae0: 6567 6572 2070 7269 6f72 6974 6965 733b eger priorities; │ │ │ +0001daf0: 2074 686f 7365 2077 6974 6820 7468 6520 those with the │ │ │ +0001db00: 6c6f 7765 7374 2070 7269 6f72 6974 7920 lowest priority │ │ │ +0001db10: 6172 650a 6578 6563 7574 6564 2066 6972 are.executed fir │ │ │ +0001db20: 7374 2e0a 0a4e 6f6e 2d6c 6173 7420 636f st...Non-last co │ │ │ +0001db30: 6d6d 616e 6473 2073 686f 756c 6420 6e6f mmands should no │ │ │ +0001db40: 7420 6361 6c6c 2074 6865 2041 6764 6120 t call the Agda │ │ │ +0001db50: 7072 6f63 6573 732e 0a0a 416c 6c20 636f process...All co │ │ │ +0001db60: 6d6d 616e 6473 2061 7265 2065 6368 6f65 mmands are echoe │ │ │ +0001db70: 6420 746f 2074 6865 202a 6167 6461 322a d to the *agda2* │ │ │ +0001db80: 2062 7566 6665 722c 2077 6974 6820 7468 buffer, with th │ │ │ +0001db90: 6520 6578 6365 7074 696f 6e0a 6f66 2063 e exception.of c │ │ │ +0001dba0: 6f6d 6d61 6e64 7320 6f66 2074 6865 2066 ommands of the f │ │ │ +0001dbb0: 6f72 6d20 5c22 2861 6764 6132 2d68 6967 orm \"(agda2-hig │ │ │ +0001dbc0: 686c 6967 6874 2d2e 2e2e 202e 2e2e 295c hlight-... ...)\ │ │ │ +0001dbd0: 222e 0a0a 5468 6520 6e6f 6e2d 6c61 7374 "...The non-last │ │ │ +0001dbe0: 2063 6f6d 6d61 6e64 7320 6172 6520 7275 commands are ru │ │ │ +0001dbf0: 6e20 696e 2074 6865 206f 7264 6572 2069 n in the order i │ │ │ +0001dc00: 6e20 7768 6963 6820 7468 6579 2061 7070 n which they app │ │ │ +0001dc10: 6561 722e 0a0a 5768 656e 2074 6865 2070 ear...When the p │ │ │ +0001dc20: 726f 6d70 7420 6861 7320 6265 656e 2072 rompt has been r │ │ │ +0001dc30: 6561 6368 6564 2068 6967 686c 6967 6874 eached highlight │ │ │ +0001dc40: 696e 6720 616e 6e6f 7461 7469 6f6e 7320 ing annotations │ │ │ +0001dc50: 6172 650a 7265 6c6f 6164 6564 2066 726f are.reloaded fro │ │ │ +0001dc60: 6d20 6061 6764 6132 2d68 6967 686c 6967 m `agda2-highlig │ │ │ +0001dc70: 6874 696e 672d 6669 6c65 272c 2075 6e6c hting-file', unl │ │ │ +0001dc80: 6573 730a 6061 6764 6132 2d68 6967 686c ess.`agda2-highl │ │ │ +0001dc90: 6967 6874 696e 672d 696e 2d70 726f 6772 ighting-in-progr │ │ │ +0001dca0: 6573 7327 2069 7320 6e69 6c2e 220a 0a20 ess' is nil.".. │ │ │ +0001dcb0: 203b 3b20 4265 7761 7265 3a20 7468 6520 ;; Beware: the │ │ │ +0001dcc0: 6275 6666 6572 206d 6179 2068 6176 6520 buffer may have │ │ │ +0001dcd0: 6265 656e 206b 696c 6c65 6420 696e 2074 been killed in t │ │ │ +0001dce0: 6865 206d 6561 6e20 7469 6d65 2e20 2045 he mean time. E │ │ │ +0001dcf0: 2e67 2e20 7768 656e 0a20 203b 3b20 7669 .g. when. ;; vi │ │ │ +0001dd00: 6577 696e 6720 616e 2061 7474 6163 686d ewing an attachm │ │ │ +0001dd10: 656e 7420 636f 6e74 6169 6e69 6e67 2041 ent containing A │ │ │ +0001dd20: 6764 6120 636f 6465 2069 6e20 476e 7573 gda code in Gnus │ │ │ +0001dd30: 2c20 476e 7573 2077 696c 6c0a 2020 3b3b , Gnus will. ;; │ │ │ +0001dd40: 2063 7265 6174 6520 6120 7465 6d70 2062 create a temp b │ │ │ +0001dd50: 7566 6665 722c 2073 6574 2069 7420 696e uffer, set it in │ │ │ +0001dd60: 2061 6764 6132 2d6d 6f64 652c 2063 616c agda2-mode, cal │ │ │ +0001dd70: 6c20 666f 6e74 2d6c 6f63 6b2d 656e 7375 l font-lock-ensu │ │ │ +0001dd80: 7265 206f 6e20 6974 0a20 203b 3b20 2877 re on it. ;; (w │ │ │ +0001dd90: 6869 6368 2077 6f6e 2774 206b 6e6f 7720 hich won't know │ │ │ +0001dda0: 7468 6174 2069 7420 6e65 6564 7320 746f that it needs to │ │ │ +0001ddb0: 2077 6169 7420 666f 7220 736f 6d65 2070 wait for some p │ │ │ +0001ddc0: 726f 6365 7373 2074 6f20 7265 706c 7929 rocess to reply) │ │ │ +0001ddd0: 2c20 7468 656e 0a20 203b 3b20 6578 7472 , then. ;; extr │ │ │ +0001dde0: 6163 7420 7468 6520 666f 6e74 6966 6965 act the fontifie │ │ │ +0001ddf0: 6420 7465 7874 2061 6e64 206b 696c 6c20 d text and kill │ │ │ +0001de00: 7468 6520 7465 6d70 2062 7566 6665 723b the temp buffer; │ │ │ +0001de10: 2073 6f20 7768 656e 2041 6764 610a 2020 so when Agda. │ │ │ +0001de20: 3b3b 2066 696e 616c 6c79 2061 6e73 7765 ;; finally answe │ │ │ +0001de30: 7273 2c20 7468 6520 7465 6d70 2062 7566 rs, the temp buf │ │ │ +0001de40: 6665 7220 6973 206c 6f6e 6720 676f 6e65 fer is long gone │ │ │ +0001de50: 2e0a 2020 2877 6865 6e20 2862 7566 6665 .. (when (buffe │ │ │ +0001de60: 722d 6c69 7665 2d70 2061 6764 6132 2d66 r-live-p agda2-f │ │ │ +0001de70: 696c 652d 6275 6666 6572 290a 2020 2873 ile-buffer). (s │ │ │ +0001de80: 6574 7120 6167 6461 322d 696e 2d61 6764 etq agda2-in-agd │ │ │ +0001de90: 6132 2d66 696c 652d 6275 6666 6572 0a20 a2-file-buffer. │ │ │ +0001dea0: 2020 2020 2020 2028 616e 6420 6167 6461 (and agda │ │ │ +0001deb0: 322d 6669 6c65 2d62 7566 6665 720a 2020 2-file-buffer. │ │ │ +0001dec0: 2020 2020 2020 2020 2020 2028 6571 7561 (equa │ │ │ +0001ded0: 6c20 2863 7572 7265 6e74 2d62 7566 6665 l (current-buffe │ │ │ +0001dee0: 7229 2061 6764 6132 2d66 696c 652d 6275 r) agda2-file-bu │ │ │ +0001def0: 6666 6572 2929 290a 2020 286c 6574 2028 ffer))). (let ( │ │ │ +0001df00: 3b3b 2054 6865 2069 6e70 7574 206c 696e ;; The input lin │ │ │ +0001df10: 6573 2069 6e20 7468 6520 6375 7272 656e es in the curren │ │ │ +0001df20: 7420 6368 756e 6b2e 0a20 2020 2020 2020 t chunk.. │ │ │ +0001df30: 2028 6c69 6e65 7320 2873 706c 6974 2d73 (lines (split-s │ │ │ +0001df40: 7472 696e 6720 6368 756e 6b20 225c 6e22 tring chunk "\n" │ │ │ +0001df50: 2929 0a0a 2020 2020 2020 2020 3b3b 204e )).. ;; N │ │ │ +0001df60: 6f6e 2d6c 6173 7420 636f 6d6d 616e 6473 on-last commands │ │ │ +0001df70: 2066 6f75 6e64 2069 6e20 7468 6520 6375 found in the cu │ │ │ +0001df80: 7272 656e 7420 6368 756e 6b20 2872 6576 rrent chunk (rev │ │ │ +0001df90: 6572 7365 6429 2e0a 2020 2020 2020 2020 ersed).. │ │ │ +0001dfa0: 286e 6f6e 2d6c 6173 742d 636f 6d6d 616e (non-last-comman │ │ │ +0001dfb0: 6473 2028 2929 0a0a 2020 2020 2020 2020 ds ()).. │ │ │ +0001dfc0: 3b3b 204c 6173 7420 696e 636f 6d70 6c65 ;; Last incomple │ │ │ +0001dfd0: 7465 206c 696e 652c 2069 6620 616e 792e te line, if any. │ │ │ +0001dfe0: 0a20 2020 2020 2020 2028 6f75 7470 7574 . (output │ │ │ +0001dff0: 2d63 6875 6e6b 2d69 6e63 6f6d 706c 6574 -chunk-incomplet │ │ │ +0001e000: 6520 2222 2929 0a20 2020 2028 7769 7468 e "")). (with │ │ │ +0001e010: 2d63 7572 7265 6e74 2d62 7566 6665 7220 -current-buffer │ │ │ +0001e020: 6167 6461 322d 6669 6c65 2d62 7566 6665 agda2-file-buffe │ │ │ +0001e030: 720a 2020 2020 2020 2877 6865 6e20 2863 r. (when (c │ │ │ +0001e040: 6f6e 7370 206c 696e 6573 290a 2020 2020 onsp lines). │ │ │ +0001e050: 2020 2020 2861 6764 6132 2d71 7565 7565 (agda2-queue │ │ │ +0001e060: 2d65 6e71 7565 7565 2061 6764 6132 2d6f -enqueue agda2-o │ │ │ +0001e070: 7574 7075 742d 6368 756e 6b2d 696e 636f utput-chunk-inco │ │ │ +0001e080: 6d70 6c65 7465 2028 706f 7020 6c69 6e65 mplete (pop line │ │ │ +0001e090: 7329 290a 2020 2020 2020 2020 2877 6865 s)). (whe │ │ │ +0001e0a0: 6e20 2863 6f6e 7370 206c 696e 6573 290a n (consp lines). │ │ │ +0001e0b0: 2020 2020 2020 2020 2020 3b3b 2054 6865 ;; The │ │ │ +0001e0c0: 2070 7265 7669 6f75 7320 756e 636f 6d70 previous uncomp │ │ │ +0001e0d0: 6c65 7465 2063 6875 6e6b 2069 7320 6e6f lete chunk is no │ │ │ +0001e0e0: 7720 636f 6d70 6c65 7465 2e0a 2020 2020 w complete.. │ │ │ +0001e0f0: 2020 2020 2020 2870 7573 6820 2861 6764 (push (agd │ │ │ +0001e100: 6132 2d71 7565 7565 2d74 6f2d 7374 7269 a2-queue-to-stri │ │ │ +0001e110: 6e67 2061 6764 6132 2d6f 7574 7075 742d ng agda2-output- │ │ │ +0001e120: 6368 756e 6b2d 696e 636f 6d70 6c65 7465 chunk-incomplete │ │ │ +0001e130: 290a 2020 2020 2020 2020 2020 2020 2020 ). │ │ │ +0001e140: 2020 6c69 6e65 7329 0a0a 2020 2020 2020 lines).. │ │ │ +0001e150: 2020 2020 3b3b 2053 7461 7368 2061 7761 ;; Stash awa │ │ │ +0001e160: 7920 7468 6520 6c61 7374 2069 6e63 6f6d y the last incom │ │ │ +0001e170: 706c 6574 6520 6c69 6e65 2c20 6966 2061 plete line, if a │ │ │ +0001e180: 6e79 2e20 284e 6f74 6520 7468 6174 0a20 ny. (Note that. │ │ │ +0001e190: 2020 2020 2020 2020 203b 3b20 2873 706c ;; (spl │ │ │ +0001e1a0: 6974 2d73 7472 696e 6720 222e 2e2e 5c6e it-string "...\n │ │ │ +0001e1b0: 2220 225c 6e22 2920 6576 616c 7561 7465 " "\n") evaluate │ │ │ +0001e1c0: 7320 746f 2028 2e2e 2e20 2222 292e 290a s to (... "").). │ │ │ +0001e1d0: 2020 2020 2020 2020 2020 2873 6574 7120 (setq │ │ │ +0001e1e0: 6f75 7470 7574 2d63 6875 6e6b 2d69 6e63 output-chunk-inc │ │ │ +0001e1f0: 6f6d 706c 6574 6520 2863 6172 2028 6c61 omplete (car (la │ │ │ +0001e200: 7374 206c 696e 6573 2929 0a20 2020 2020 st lines)). │ │ │ +0001e210: 2020 2020 2020 2020 2020 2061 6764 6132 agda2 │ │ │ +0001e220: 2d6f 7574 7075 742d 6368 756e 6b2d 696e -output-chunk-in │ │ │ +0001e230: 636f 6d70 6c65 7465 0a20 2020 2020 2020 complete. │ │ │ +0001e240: 2020 2020 2020 2020 2028 6167 6461 322d (agda2- │ │ │ +0001e250: 7175 6575 652d 6672 6f6d 2d73 7472 696e queue-from-strin │ │ │ +0001e260: 6720 6f75 7470 7574 2d63 6875 6e6b 2d69 g output-chunk-i │ │ │ +0001e270: 6e63 6f6d 706c 6574 6529 290a 0a20 2020 ncomplete)).. │ │ │ +0001e280: 2020 2020 2020 203b 3b20 4861 6e64 6c65 ;; Handle │ │ │ +0001e290: 2065 7665 7279 2063 6f6d 706c 6574 6520 every complete │ │ │ +0001e2a0: 6c69 6e65 2e0a 2020 2020 2020 2020 2020 line.. │ │ │ +0001e2b0: 2864 6f6c 6973 7420 286c 696e 6520 2862 (dolist (line (b │ │ │ +0001e2c0: 7574 6c61 7374 206c 696e 6573 2929 0a20 utlast lines)). │ │ │ +0001e2d0: 2020 2020 2020 2020 2020 2028 6c65 742a (let* │ │ │ +0001e2e0: 2028 3b3b 2054 6865 2063 6f6d 6d61 6e64 (;; The command │ │ │ +0001e2f0: 2e20 4c69 6e65 7320 7768 6963 6820 6361 . Lines which ca │ │ │ +0001e300: 6e6e 6f74 2062 6520 7061 7273 6564 2061 nnot be parsed a │ │ │ +0001e310: 7320 6120 7369 6e67 6c65 0a20 2020 2020 s a single. │ │ │ +0001e320: 2020 2020 2020 2020 2020 2020 2020 3b3b ;; │ │ │ +0001e330: 206c 6973 742c 2077 6974 686f 7574 2061 list, without a │ │ │ +0001e340: 6e79 206a 756e 6b2c 2061 7265 2069 676e ny junk, are ign │ │ │ +0001e350: 6f72 6564 2e0a 2020 2020 2020 2020 2020 ored.. │ │ │ +0001e360: 2020 2020 2020 2020 2028 636d 6420 2863 (cmd (c │ │ │ +0001e370: 6f6e 6469 7469 6f6e 2d63 6173 6520 6e69 ondition-case ni │ │ │ +0001e380: 6c0a 2020 2020 2020 2020 2020 2020 2020 l. │ │ │ +0001e390: 2020 2020 2020 2020 2020 2020 2020 286c (l │ │ │ +0001e3a0: 6574 2028 2872 6573 756c 7420 2872 6561 et ((result (rea │ │ │ +0001e3b0: 642d 6672 6f6d 2d73 7472 696e 6720 6c69 d-from-string li │ │ │ +0001e3c0: 6e65 2929 290a 2020 2020 2020 2020 2020 ne))). │ │ │ 0001e3d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0001e3e0: 2020 2028 6966 2028 616e 6420 286c 6973 (if (and (lis │ │ │ -0001e3f0: 7470 2028 6361 7220 7265 7375 6c74 2929 tp (car result)) │ │ │ -0001e400: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ +0001e3e0: 2020 2020 2869 6620 2861 6e64 2028 6c69 (if (and (li │ │ │ +0001e3f0: 7374 7020 2863 6172 2072 6573 756c 7429 stp (car result) │ │ │ +0001e400: 290a 2020 2020 2020 2020 2020 2020 2020 ). │ │ │ 0001e410: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0001e420: 2020 2020 2020 2020 283d 2028 6364 7220 (= (cdr │ │ │ -0001e430: 7265 7375 6c74 2920 286c 656e 6774 6820 result) (length │ │ │ -0001e440: 6c69 6e65 2929 290a 2020 2020 2020 2020 line))). │ │ │ +0001e420: 2020 2020 2020 2020 2028 3d20 2863 6472 (= (cdr │ │ │ +0001e430: 2072 6573 756c 7429 2028 6c65 6e67 7468 result) (length │ │ │ +0001e440: 206c 696e 6529 2929 0a20 2020 2020 2020 line))). │ │ │ 0001e450: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0001e460: 2020 2020 2020 2020 2020 2863 6172 2072 (car r │ │ │ -0001e470: 6573 756c 7429 2929 0a20 2020 2020 2020 esult))). │ │ │ +0001e460: 2020 2020 2020 2020 2020 2028 6361 7220 (car │ │ │ +0001e470: 7265 7375 6c74 2929 290a 2020 2020 2020 result))). │ │ │ 0001e480: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0001e490: 2020 2028 6572 726f 7220 6e69 6c29 2929 (error nil))) │ │ │ -0001e4a0: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ -0001e4b0: 2020 2020 2869 732d 6869 6768 6c69 6768 (is-highligh │ │ │ -0001e4c0: 7469 6e67 2d63 6f6d 6d61 6e64 0a20 2020 ting-command. │ │ │ +0001e490: 2020 2020 2865 7272 6f72 206e 696c 2929 (error nil)) │ │ │ +0001e4a0: 290a 2020 2020 2020 2020 2020 2020 2020 ). │ │ │ +0001e4b0: 2020 2020 2028 6973 2d68 6967 686c 6967 (is-highlig │ │ │ +0001e4c0: 6874 696e 672d 636f 6d6d 616e 640a 2020 hting-command. │ │ │ 0001e4d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0001e4e0: 2028 616e 6420 636d 640a 2020 2020 2020 (and cmd. │ │ │ +0001e4e0: 2020 2861 6e64 2063 6d64 0a20 2020 2020 (and cmd. │ │ │ 0001e4f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0001e500: 2020 2028 7379 6d62 6f6c 7020 2863 6172 (symbolp (car │ │ │ -0001e510: 2063 6d64 2929 0a20 2020 2020 2020 2020 cmd)). │ │ │ +0001e500: 2020 2020 2873 796d 626f 6c70 2028 6361 (symbolp (ca │ │ │ +0001e510: 7220 636d 6429 290a 2020 2020 2020 2020 r cmd)). │ │ │ 0001e520: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0001e530: 286c 6574 2028 2863 6173 652d 666f 6c64 (let ((case-fold │ │ │ -0001e540: 2d73 6561 7263 6820 6e69 6c29 290a 2020 -search nil)). │ │ │ +0001e530: 2028 6c65 7420 2828 6361 7365 2d66 6f6c (let ((case-fol │ │ │ +0001e540: 642d 7365 6172 6368 206e 696c 2929 0a20 d-search nil)). │ │ │ 0001e550: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0001e560: 2020 2020 2020 2020 2028 7374 7269 6e67 (string │ │ │ -0001e570: 2d6d 6174 6368 2022 5e61 6764 6132 2d68 -match "^agda2-h │ │ │ -0001e580: 6967 686c 6967 6874 2d22 0a20 2020 2020 ighlight-". │ │ │ +0001e560: 2020 2020 2020 2020 2020 2873 7472 696e (strin │ │ │ +0001e570: 672d 6d61 7463 6820 225e 6167 6461 322d g-match "^agda2- │ │ │ +0001e580: 6869 6768 6c69 6768 742d 220a 2020 2020 highlight-". │ │ │ 0001e590: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 0001e5a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0001e5b0: 2020 2020 2873 796d 626f 6c2d 6e61 6d65 (symbol-name │ │ │ -0001e5c0: 2028 6361 7220 636d 6429 2929 2929 2929 (car cmd))))))) │ │ │ -0001e5d0: 0a0a 2020 2020 2020 2020 2020 2020 2020 .. │ │ │ -0001e5e0: 3b3b 2044 6f20 6e6f 7420 6563 686f 2068 ;; Do not echo h │ │ │ -0001e5f0: 6967 686c 6967 6874 696e 6720 636f 6d6d ighlighting comm │ │ │ -0001e600: 616e 6473 2e0a 2020 2020 2020 2020 2020 ands.. │ │ │ -0001e610: 2020 2020 2875 6e6c 6573 7320 6973 2d68 (unless is-h │ │ │ -0001e620: 6967 686c 6967 6874 696e 672d 636f 6d6d ighlighting-comm │ │ │ -0001e630: 616e 640a 2020 2020 2020 2020 2020 2020 and. │ │ │ -0001e640: 2020 2020 2877 6974 682d 6375 7272 656e (with-curren │ │ │ -0001e650: 742d 6275 6666 6572 2061 6764 6132 2d70 t-buffer agda2-p │ │ │ -0001e660: 726f 6365 7373 2d62 7566 6665 720a 2020 rocess-buffer. │ │ │ +0001e5b0: 2020 2020 2028 7379 6d62 6f6c 2d6e 616d (symbol-nam │ │ │ +0001e5c0: 6520 2863 6172 2063 6d64 2929 2929 2929 e (car cmd)))))) │ │ │ +0001e5d0: 290a 0a20 2020 2020 2020 2020 2020 2020 ).. │ │ │ +0001e5e0: 203b 3b20 446f 206e 6f74 2065 6368 6f20 ;; Do not echo │ │ │ +0001e5f0: 6869 6768 6c69 6768 7469 6e67 2063 6f6d highlighting com │ │ │ +0001e600: 6d61 6e64 732e 0a20 2020 2020 2020 2020 mands.. │ │ │ +0001e610: 2020 2020 2028 756e 6c65 7373 2069 732d (unless is- │ │ │ +0001e620: 6869 6768 6c69 6768 7469 6e67 2d63 6f6d highlighting-com │ │ │ +0001e630: 6d61 6e64 0a20 2020 2020 2020 2020 2020 mand. │ │ │ +0001e640: 2020 2020 2028 7769 7468 2d63 7572 7265 (with-curre │ │ │ +0001e650: 6e74 2d62 7566 6665 7220 6167 6461 322d nt-buffer agda2- │ │ │ +0001e660: 7072 6f63 6573 732d 6275 6666 6572 0a20 process-buffer. │ │ │ 0001e670: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0001e680: 2873 6176 652d 6578 6375 7273 696f 6e0a (save-excursion. │ │ │ -0001e690: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0001e6a0: 2020 2020 2867 6f74 6f2d 6368 6172 2028 (goto-char ( │ │ │ -0001e6b0: 706f 696e 742d 6d61 7829 290a 2020 2020 point-max)). │ │ │ +0001e680: 2028 7361 7665 2d65 7863 7572 7369 6f6e (save-excursion │ │ │ +0001e690: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ +0001e6a0: 2020 2020 2028 676f 746f 2d63 6861 7220 (goto-char │ │ │ +0001e6b0: 2870 6f69 6e74 2d6d 6178 2929 0a20 2020 (point-max)). │ │ │ 0001e6c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0001e6d0: 2869 6e73 6572 7420 6c69 6e65 290a 2020 (insert line). │ │ │ +0001e6d0: 2028 696e 7365 7274 206c 696e 6529 0a20 (insert line). │ │ │ 0001e6e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0001e6f0: 2020 2869 6e73 6572 7420 225c 6e22 2929 (insert "\n")) │ │ │ -0001e700: 2929 0a20 2020 2020 2020 2020 2020 2020 )). │ │ │ -0001e710: 2028 7768 656e 2063 6d64 0a20 2020 2020 (when cmd. │ │ │ -0001e720: 2020 2020 2020 2020 2020 2028 6966 2028 (if ( │ │ │ -0001e730: 6571 7561 6c20 276c 6173 7420 2863 6172 equal 'last (car │ │ │ -0001e740: 2d73 6166 6520 2863 6172 2063 6d64 2929 -safe (car cmd)) │ │ │ -0001e750: 290a 2020 2020 2020 2020 2020 2020 2020 ). │ │ │ -0001e760: 2020 2020 2020 2870 7573 6820 2863 6f6e (push (con │ │ │ -0001e770: 7320 2863 6472 2028 6361 7220 636d 6429 s (cdr (car cmd) │ │ │ -0001e780: 2920 2863 6472 2063 6d64 2929 0a20 2020 ) (cdr cmd)). │ │ │ +0001e6f0: 2020 2028 696e 7365 7274 2022 5c6e 2229 (insert "\n") │ │ │ +0001e700: 2929 290a 2020 2020 2020 2020 2020 2020 ))). │ │ │ +0001e710: 2020 2877 6865 6e20 636d 640a 2020 2020 (when cmd. │ │ │ +0001e720: 2020 2020 2020 2020 2020 2020 2869 6620 (if │ │ │ +0001e730: 2865 7175 616c 2027 6c61 7374 2028 6361 (equal 'last (ca │ │ │ +0001e740: 722d 7361 6665 2028 6361 7220 636d 6429 r-safe (car cmd) │ │ │ +0001e750: 2929 0a20 2020 2020 2020 2020 2020 2020 )). │ │ │ +0001e760: 2020 2020 2020 2028 7075 7368 2028 636f (push (co │ │ │ +0001e770: 6e73 2028 6364 7220 2863 6172 2063 6d64 ns (cdr (car cmd │ │ │ +0001e780: 2929 2028 6364 7220 636d 6429 290a 2020 )) (cdr cmd)). │ │ │ 0001e790: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0001e7a0: 2020 2020 2020 2061 6764 6132 2d6c 6173 agda2-las │ │ │ -0001e7b0: 742d 7265 7370 6f6e 7365 7329 0a20 2020 t-responses). │ │ │ -0001e7c0: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ -0001e7d0: 7075 7368 2063 6d64 206e 6f6e 2d6c 6173 push cmd non-las │ │ │ -0001e7e0: 742d 636f 6d6d 616e 6473 2929 2929 290a t-commands))))). │ │ │ -0001e7f0: 0a20 2020 2020 2020 2020 203b 3b20 5275 . ;; Ru │ │ │ -0001e800: 6e20 6e6f 6e2d 6c61 7374 2063 6f6d 6d61 n non-last comma │ │ │ -0001e810: 6e64 732e 0a20 2020 2020 2020 2020 2028 nds.. ( │ │ │ -0001e820: 6d61 7063 2027 6167 6461 322d 6578 6563 mapc 'agda2-exec │ │ │ -0001e830: 2d72 6573 706f 6e73 6520 286e 7265 7665 -response (nreve │ │ │ -0001e840: 7273 6520 6e6f 6e2d 6c61 7374 2d63 6f6d rse non-last-com │ │ │ -0001e850: 6d61 6e64 7329 2929 0a0a 2020 2020 2020 mands))).. │ │ │ -0001e860: 2020 3b3b 2043 6865 636b 2069 6620 7468 ;; Check if th │ │ │ -0001e870: 6520 7072 6f6d 7074 2068 6173 2062 6565 e prompt has bee │ │ │ -0001e880: 6e20 7265 6163 6865 642e 2054 6869 7320 n reached. This │ │ │ -0001e890: 6675 6e63 7469 6f6e 2061 7373 756d 6573 function assumes │ │ │ -0001e8a0: 0a20 2020 2020 2020 203b 3b20 7468 6174 . ;; that │ │ │ -0001e8b0: 2074 6865 2070 726f 6d70 7420 646f 6573 the prompt does │ │ │ -0001e8c0: 206e 6f74 2069 6e63 6c75 6465 2061 6e79 not include any │ │ │ -0001e8d0: 206e 6577 6c69 6e65 2063 6861 7261 6374 newline charact │ │ │ -0001e8e0: 6572 732e 0a20 2020 2020 2020 2028 7768 ers.. (wh │ │ │ -0001e8f0: 656e 2028 6167 6461 322d 7175 6575 652d en (agda2-queue- │ │ │ -0001e900: 6973 2d70 7265 6669 782d 6f66 2061 6764 is-prefix-of agd │ │ │ -0001e910: 6132 2d6f 7574 7075 742d 7072 6f6d 7074 a2-output-prompt │ │ │ -0001e920: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ +0001e7a0: 2020 2020 2020 2020 6167 6461 322d 6c61 agda2-la │ │ │ +0001e7b0: 7374 2d72 6573 706f 6e73 6573 290a 2020 st-responses). │ │ │ +0001e7c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +0001e7d0: 2870 7573 6820 636d 6420 6e6f 6e2d 6c61 (push cmd non-la │ │ │ +0001e7e0: 7374 2d63 6f6d 6d61 6e64 7329 2929 2929 st-commands))))) │ │ │ +0001e7f0: 0a0a 2020 2020 2020 2020 2020 3b3b 2052 .. ;; R │ │ │ +0001e800: 756e 206e 6f6e 2d6c 6173 7420 636f 6d6d un non-last comm │ │ │ +0001e810: 616e 6473 2e0a 2020 2020 2020 2020 2020 ands.. │ │ │ +0001e820: 286d 6170 6320 2761 6764 6132 2d65 7865 (mapc 'agda2-exe │ │ │ +0001e830: 632d 7265 7370 6f6e 7365 2028 6e72 6576 c-response (nrev │ │ │ +0001e840: 6572 7365 206e 6f6e 2d6c 6173 742d 636f erse non-last-co │ │ │ +0001e850: 6d6d 616e 6473 2929 290a 0a20 2020 2020 mmands))).. │ │ │ +0001e860: 2020 203b 3b20 4368 6563 6b20 6966 2074 ;; Check if t │ │ │ +0001e870: 6865 2070 726f 6d70 7420 6861 7320 6265 he prompt has be │ │ │ +0001e880: 656e 2072 6561 6368 6564 2e20 5468 6973 en reached. This │ │ │ +0001e890: 2066 756e 6374 696f 6e20 6173 7375 6d65 function assume │ │ │ +0001e8a0: 730a 2020 2020 2020 2020 3b3b 2074 6861 s. ;; tha │ │ │ +0001e8b0: 7420 7468 6520 7072 6f6d 7074 2064 6f65 t the prompt doe │ │ │ +0001e8c0: 7320 6e6f 7420 696e 636c 7564 6520 616e s not include an │ │ │ +0001e8d0: 7920 6e65 776c 696e 6520 6368 6172 6163 y newline charac │ │ │ +0001e8e0: 7465 7273 2e0a 2020 2020 2020 2020 2877 ters.. (w │ │ │ +0001e8f0: 6865 6e20 2861 6764 6132 2d71 7565 7565 hen (agda2-queue │ │ │ +0001e900: 2d69 732d 7072 6566 6978 2d6f 6620 6167 -is-prefix-of ag │ │ │ +0001e910: 6461 322d 6f75 7470 7574 2d70 726f 6d70 da2-output-promp │ │ │ +0001e920: 740a 2020 2020 2020 2020 2020 2020 2020 t. │ │ │ 0001e930: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0001e940: 2020 2020 2020 2020 2061 6764 6132 2d6f agda2-o │ │ │ -0001e950: 7574 7075 742d 6368 756e 6b2d 696e 636f utput-chunk-inco │ │ │ -0001e960: 6d70 6c65 7465 290a 2020 2020 2020 2020 mplete). │ │ │ -0001e970: 2020 2877 6974 682d 6375 7272 656e 742d (with-current- │ │ │ -0001e980: 6275 6666 6572 2061 6764 6132 2d70 726f buffer agda2-pro │ │ │ -0001e990: 6365 7373 2d62 7566 6665 720a 2020 2020 cess-buffer. │ │ │ -0001e9a0: 2020 2020 2020 2020 2869 6e73 6572 7420 (insert │ │ │ -0001e9b0: 6f75 7470 7574 2d63 6875 6e6b 2d69 6e63 output-chunk-inc │ │ │ -0001e9c0: 6f6d 706c 6574 6529 290a 2020 2020 2020 omplete)). │ │ │ -0001e9d0: 2020 2020 2873 6574 7120 6167 6461 322d (setq agda2- │ │ │ -0001e9e0: 6f75 7470 7574 2d63 6875 6e6b 2d69 6e63 output-chunk-inc │ │ │ -0001e9f0: 6f6d 706c 6574 6520 2861 6764 6132 2d71 omplete (agda2-q │ │ │ -0001ea00: 7565 7565 2d65 6d70 7479 290a 2020 2020 ueue-empty). │ │ │ -0001ea10: 2020 2020 2020 2020 2020 2020 6167 6461 agda │ │ │ -0001ea20: 322d 696e 2d70 726f 6772 6573 7320 6e69 2-in-progress ni │ │ │ -0001ea30: 6c0a 2020 2020 2020 2020 2020 2020 2020 l. │ │ │ -0001ea40: 2020 6167 6461 322d 6c61 7374 2d72 6573 agda2-last-res │ │ │ -0001ea50: 706f 6e73 6573 2028 6e72 6576 6572 7365 ponses (nreverse │ │ │ -0001ea60: 2061 6764 6132 2d6c 6173 742d 7265 7370 agda2-last-resp │ │ │ -0001ea70: 6f6e 7365 7329 290a 0a20 2020 2020 2020 onses)).. │ │ │ -0001ea80: 2020 2028 6167 6461 322d 7275 6e2d 6c61 (agda2-run-la │ │ │ -0001ea90: 7374 2d63 6f6d 6d61 6e64 7329 2929 2929 st-commands))))) │ │ │ -0001eaa0: 2929 0a0a 2864 6566 756e 2061 6764 6132 ))..(defun agda2 │ │ │ -0001eab0: 2d72 756e 2d6c 6173 742d 636f 6d6d 616e -run-last-comman │ │ │ -0001eac0: 6473 206e 696c 0a20 2022 4578 6563 7574 ds nil. "Execut │ │ │ -0001ead0: 6520 7468 6520 6c61 7374 2063 6f6d 6d61 e the last comma │ │ │ -0001eae0: 6e64 7320 696e 2074 6865 2072 6967 6874 nds in the right │ │ │ -0001eaf0: 206f 7264 6572 2e0a 5c28 4166 7465 7220 order..\(After │ │ │ -0001eb00: 7468 6520 7072 6f6d 7074 2068 6173 2072 the prompt has r │ │ │ -0001eb10: 6561 7070 6561 7265 642e 2920 5365 6520 eappeared.) See │ │ │ -0001eb20: 6061 6764 6132 2d6f 7574 7075 742d 6669 `agda2-output-fi │ │ │ -0001eb30: 6c74 6572 272e 220a 0a20 203b 3b20 7769 lter'.".. ;; wi │ │ │ -0001eb40: 7468 2d63 7572 7265 6e74 2d62 7566 6665 th-current-buffe │ │ │ -0001eb50: 7220 6973 2075 7365 6420 7265 7065 6174 r is used repeat │ │ │ -0001eb60: 6564 6c79 2062 656c 6f77 2c20 6265 6361 edly below, beca │ │ │ -0001eb70: 7573 6520 736f 6d65 206c 6173 740a 2020 use some last. │ │ │ -0001eb80: 3b3b 2063 6f6d 6d61 6e64 7320 6d61 7920 ;; commands may │ │ │ -0001eb90: 7377 6974 6368 2074 6865 2066 6f63 7573 switch the focus │ │ │ -0001eba0: 2074 6f20 616e 6f74 6865 7220 6275 6666 to another buff │ │ │ -0001ebb0: 6572 2e0a 0a20 2028 7768 696c 6520 2877 er... (while (w │ │ │ -0001ebc0: 6974 682d 6375 7272 656e 742d 6275 6666 ith-current-buff │ │ │ -0001ebd0: 6572 2061 6764 6132 2d66 696c 652d 6275 er agda2-file-bu │ │ │ -0001ebe0: 6666 6572 0a20 2020 2020 2020 2020 2020 ffer. │ │ │ -0001ebf0: 2861 6e64 2028 6e6f 7420 6167 6461 322d (and (not agda2- │ │ │ -0001ec00: 696e 2d70 726f 6772 6573 7329 2028 636f in-progress) (co │ │ │ -0001ec10: 6e73 7020 6167 6461 322d 6c61 7374 2d72 nsp agda2-last-r │ │ │ -0001ec20: 6573 706f 6e73 6573 2929 290a 2020 2020 esponses))). │ │ │ -0001ec30: 2877 6974 682d 6375 7272 656e 742d 6275 (with-current-bu │ │ │ -0001ec40: 6666 6572 2061 6764 6132 2d66 696c 652d ffer agda2-file- │ │ │ -0001ec50: 6275 6666 6572 0a20 2020 2020 203b 3b20 buffer. ;; │ │ │ -0001ec60: 5468 6520 6c69 7374 2069 7320 736f 7274 The list is sort │ │ │ -0001ec70: 6564 2072 6570 6561 7465 646c 7920 6265 ed repeatedly be │ │ │ -0001ec80: 6361 7573 6520 7468 6973 2066 756e 6374 cause this funct │ │ │ -0001ec90: 696f 6e20 6d61 7920 6265 0a20 2020 2020 ion may be. │ │ │ -0001eca0: 203b 3b20 6361 6c6c 6564 2072 6563 7572 ;; called recur │ │ │ -0001ecb0: 7369 7665 6c79 2028 7669 6120 6061 6764 sively (via `agd │ │ │ -0001ecc0: 6132 2d65 7865 632d 7265 7370 6f6e 7365 a2-exec-response │ │ │ -0001ecd0: 2729 2e0a 2020 2020 2020 2873 6574 7120 ').. (setq │ │ │ -0001ece0: 6167 6461 322d 6c61 7374 2d72 6573 706f agda2-last-respo │ │ │ -0001ecf0: 6e73 6573 2028 736f 7274 2061 6764 6132 nses (sort agda2 │ │ │ -0001ed00: 2d6c 6173 742d 7265 7370 6f6e 7365 730a -last-responses. │ │ │ -0001ed10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +0001e940: 2020 2020 2020 2020 2020 6167 6461 322d agda2- │ │ │ +0001e950: 6f75 7470 7574 2d63 6875 6e6b 2d69 6e63 output-chunk-inc │ │ │ +0001e960: 6f6d 706c 6574 6529 0a20 2020 2020 2020 omplete). │ │ │ +0001e970: 2020 2028 7769 7468 2d63 7572 7265 6e74 (with-current │ │ │ +0001e980: 2d62 7566 6665 7220 6167 6461 322d 7072 -buffer agda2-pr │ │ │ +0001e990: 6f63 6573 732d 6275 6666 6572 0a20 2020 ocess-buffer. │ │ │ +0001e9a0: 2020 2020 2020 2020 2028 696e 7365 7274 (insert │ │ │ +0001e9b0: 206f 7574 7075 742d 6368 756e 6b2d 696e output-chunk-in │ │ │ +0001e9c0: 636f 6d70 6c65 7465 2929 0a20 2020 2020 complete)). │ │ │ +0001e9d0: 2020 2020 2028 7365 7471 2061 6764 6132 (setq agda2 │ │ │ +0001e9e0: 2d6f 7574 7075 742d 6368 756e 6b2d 696e -output-chunk-in │ │ │ +0001e9f0: 636f 6d70 6c65 7465 2028 6167 6461 322d complete (agda2- │ │ │ +0001ea00: 7175 6575 652d 656d 7074 7929 0a20 2020 queue-empty). │ │ │ +0001ea10: 2020 2020 2020 2020 2020 2020 2061 6764 agd │ │ │ +0001ea20: 6132 2d69 6e2d 7072 6f67 7265 7373 206e a2-in-progress n │ │ │ +0001ea30: 696c 0a20 2020 2020 2020 2020 2020 2020 il. │ │ │ +0001ea40: 2020 2061 6764 6132 2d6c 6173 742d 7265 agda2-last-re │ │ │ +0001ea50: 7370 6f6e 7365 7320 286e 7265 7665 7273 sponses (nrevers │ │ │ +0001ea60: 6520 6167 6461 322d 6c61 7374 2d72 6573 e agda2-last-res │ │ │ +0001ea70: 706f 6e73 6573 2929 0a0a 2020 2020 2020 ponses)).. │ │ │ +0001ea80: 2020 2020 2861 6764 6132 2d72 756e 2d6c (agda2-run-l │ │ │ +0001ea90: 6173 742d 636f 6d6d 616e 6473 2929 2929 ast-commands)))) │ │ │ +0001eaa0: 2929 290a 0a28 6465 6675 6e20 6167 6461 )))..(defun agda │ │ │ +0001eab0: 322d 7275 6e2d 6c61 7374 2d63 6f6d 6d61 2-run-last-comma │ │ │ +0001eac0: 6e64 7320 6e69 6c0a 2020 2245 7865 6375 nds nil. "Execu │ │ │ +0001ead0: 7465 2074 6865 206c 6173 7420 636f 6d6d te the last comm │ │ │ +0001eae0: 616e 6473 2069 6e20 7468 6520 7269 6768 ands in the righ │ │ │ +0001eaf0: 7420 6f72 6465 722e 0a5c 2841 6674 6572 t order..\(After │ │ │ +0001eb00: 2074 6865 2070 726f 6d70 7420 6861 7320 the prompt has │ │ │ +0001eb10: 7265 6170 7065 6172 6564 2e29 2053 6565 reappeared.) See │ │ │ +0001eb20: 2060 6167 6461 322d 6f75 7470 7574 2d66 `agda2-output-f │ │ │ +0001eb30: 696c 7465 7227 2e22 0a0a 2020 3b3b 2077 ilter'.".. ;; w │ │ │ +0001eb40: 6974 682d 6375 7272 656e 742d 6275 6666 ith-current-buff │ │ │ +0001eb50: 6572 2069 7320 7573 6564 2072 6570 6561 er is used repea │ │ │ +0001eb60: 7465 646c 7920 6265 6c6f 772c 2062 6563 tedly below, bec │ │ │ +0001eb70: 6175 7365 2073 6f6d 6520 6c61 7374 0a20 ause some last. │ │ │ +0001eb80: 203b 3b20 636f 6d6d 616e 6473 206d 6179 ;; commands may │ │ │ +0001eb90: 2073 7769 7463 6820 7468 6520 666f 6375 switch the focu │ │ │ +0001eba0: 7320 746f 2061 6e6f 7468 6572 2062 7566 s to another buf │ │ │ +0001ebb0: 6665 722e 0a0a 2020 2877 6869 6c65 2028 fer... (while ( │ │ │ +0001ebc0: 7769 7468 2d63 7572 7265 6e74 2d62 7566 with-current-buf │ │ │ +0001ebd0: 6665 7220 6167 6461 322d 6669 6c65 2d62 fer agda2-file-b │ │ │ +0001ebe0: 7566 6665 720a 2020 2020 2020 2020 2020 uffer. │ │ │ +0001ebf0: 2028 616e 6420 286e 6f74 2061 6764 6132 (and (not agda2 │ │ │ +0001ec00: 2d69 6e2d 7072 6f67 7265 7373 2920 2863 -in-progress) (c │ │ │ +0001ec10: 6f6e 7370 2061 6764 6132 2d6c 6173 742d onsp agda2-last- │ │ │ +0001ec20: 7265 7370 6f6e 7365 7329 2929 0a20 2020 responses))). │ │ │ +0001ec30: 2028 7769 7468 2d63 7572 7265 6e74 2d62 (with-current-b │ │ │ +0001ec40: 7566 6665 7220 6167 6461 322d 6669 6c65 uffer agda2-file │ │ │ +0001ec50: 2d62 7566 6665 720a 2020 2020 2020 3b3b -buffer. ;; │ │ │ +0001ec60: 2054 6865 206c 6973 7420 6973 2073 6f72 The list is sor │ │ │ +0001ec70: 7465 6420 7265 7065 6174 6564 6c79 2062 ted repeatedly b │ │ │ +0001ec80: 6563 6175 7365 2074 6869 7320 6675 6e63 ecause this func │ │ │ +0001ec90: 7469 6f6e 206d 6179 2062 650a 2020 2020 tion may be. │ │ │ +0001eca0: 2020 3b3b 2063 616c 6c65 6420 7265 6375 ;; called recu │ │ │ +0001ecb0: 7273 6976 656c 7920 2876 6961 2060 6167 rsively (via `ag │ │ │ +0001ecc0: 6461 322d 6578 6563 2d72 6573 706f 6e73 da2-exec-respons │ │ │ +0001ecd0: 6527 292e 0a20 2020 2020 2028 7365 7471 e').. (setq │ │ │ +0001ece0: 2061 6764 6132 2d6c 6173 742d 7265 7370 agda2-last-resp │ │ │ +0001ecf0: 6f6e 7365 7320 2873 6f72 7420 6167 6461 onses (sort agda │ │ │ +0001ed00: 322d 6c61 7374 2d72 6573 706f 6e73 6573 2-last-responses │ │ │ +0001ed10: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ 0001ed20: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0001ed30: 2020 2020 2020 2028 6c61 6d62 6461 2028 (lambda ( │ │ │ -0001ed40: 7820 7929 2028 3c3d 2028 6361 7220 7829 x y) (<= (car x) │ │ │ -0001ed50: 2028 6361 7220 7929 2929 2929 0a20 2020 (car y))))). │ │ │ -0001ed60: 2020 2028 6c65 7420 2828 7220 2870 6f70 (let ((r (pop │ │ │ -0001ed70: 2061 6764 6132 2d6c 6173 742d 7265 7370 agda2-last-resp │ │ │ -0001ed80: 6f6e 7365 7329 2929 0a20 2020 2020 2020 onses))). │ │ │ -0001ed90: 2028 6167 6461 322d 6578 6563 2d72 6573 (agda2-exec-res │ │ │ -0001eda0: 706f 6e73 6520 2863 6472 2072 2929 2929 ponse (cdr r)))) │ │ │ -0001edb0: 290a 0a20 203b 3b20 556e 7365 7420 6167 ).. ;; Unset ag │ │ │ -0001edc0: 6461 322d 6869 6768 6c69 6768 742d 696e da2-highlight-in │ │ │ -0001edd0: 2d70 726f 6772 6573 7320 7768 656e 2061 -progress when a │ │ │ -0001ede0: 6c6c 2074 6865 2061 7379 6e63 6872 6f6e ll the asynchron │ │ │ -0001edf0: 6f75 730a 2020 3b3b 2063 6f6d 6d61 6e64 ous. ;; command │ │ │ -0001ee00: 7320 6861 7665 2074 6572 6d69 6e61 7465 s have terminate │ │ │ -0001ee10: 642e 0a20 2028 756e 6c65 7373 2061 6764 d.. (unless agd │ │ │ -0001ee20: 6132 2d69 6e2d 7072 6f67 7265 7373 0a20 a2-in-progress. │ │ │ -0001ee30: 2020 2020 2028 7365 7471 2061 6764 6132 (setq agda2 │ │ │ -0001ee40: 2d68 6967 686c 6967 6874 2d69 6e2d 7072 -highlight-in-pr │ │ │ -0001ee50: 6f67 7265 7373 206e 696c 2929 290a 0a28 ogress nil)))..( │ │ │ -0001ee60: 6465 6675 6e20 6167 6461 322d 6162 6f72 defun agda2-abor │ │ │ -0001ee70: 742d 6869 6768 6c69 6768 7469 6e67 206e t-highlighting n │ │ │ -0001ee80: 696c 0a20 2022 4162 6f72 7420 616e 7920 il. "Abort any │ │ │ -0001ee90: 696e 7465 7261 6374 6976 6520 6869 6768 interactive high │ │ │ -0001eea0: 6c69 6768 7469 6e67 2e0a 5468 6973 2066 lighting..This f │ │ │ -0001eeb0: 756e 6374 696f 6e20 7368 6f75 6c64 2062 unction should b │ │ │ -0001eec0: 6520 7573 6564 2069 6e20 6066 6972 7374 e used in `first │ │ │ -0001eed0: 2d63 6861 6e67 652d 686f 6f6b 272e 220a -change-hook'.". │ │ │ -0001eee0: 2020 2877 6865 6e20 6167 6461 322d 6869 (when agda2-hi │ │ │ -0001eef0: 6768 6c69 6768 742d 696e 2d70 726f 6772 ghlight-in-progr │ │ │ -0001ef00: 6573 730a 2020 2020 2873 6574 7120 6167 ess. (setq ag │ │ │ -0001ef10: 6461 322d 6869 6768 6c69 6768 742d 696e da2-highlight-in │ │ │ -0001ef20: 2d70 726f 6772 6573 7320 6e69 6c29 0a20 -progress nil). │ │ │ -0001ef30: 2020 2028 6d65 7373 6167 6520 225c 2225 (message "\"% │ │ │ -0001ef40: 735c 2220 6861 7320 6265 656e 206d 6f64 s\" has been mod │ │ │ -0001ef50: 6966 6965 642e 2049 6e74 6572 7275 7074 ified. Interrupt │ │ │ -0001ef60: 696e 6720 6869 6768 6c69 6768 7469 6e67 ing highlighting │ │ │ -0001ef70: 2e22 0a20 2020 2020 2020 2020 2020 2020 .". │ │ │ -0001ef80: 2862 7566 6665 722d 6e61 6d65 2028 6375 (buffer-name (cu │ │ │ -0001ef90: 7272 656e 742d 6275 6666 6572 2929 2929 rrent-buffer)))) │ │ │ -0001efa0: 290a 0a28 6465 6675 6e20 6167 6461 322d )..(defun agda2- │ │ │ -0001efb0: 676f 616c 2d63 6d64 2028 636d 6420 7361 goal-cmd (cmd sa │ │ │ -0001efc0: 7665 2026 6f70 7469 6f6e 616c 2077 616e ve &optional wan │ │ │ -0001efd0: 7420 6173 6b20 2672 6573 7420 6172 6773 t ask &rest args │ │ │ -0001efe0: 290a 2020 2252 6561 6473 2069 6e70 7574 ). "Reads input │ │ │ -0001eff0: 2066 726f 6d20 676f 616c 206f 7220 6d69 from goal or mi │ │ │ -0001f000: 6e69 6275 6666 6572 2061 6e64 2073 656e nibuffer and sen │ │ │ -0001f010: 6473 2063 6f6d 6d61 6e64 2074 6f20 4167 ds command to Ag │ │ │ -0001f020: 6461 2e0a 0a41 6e20 6572 726f 7220 6973 da...An error is │ │ │ -0001f030: 2072 6169 7365 6420 6966 2070 6f69 6e74 raised if point │ │ │ -0001f040: 2069 7320 6e6f 7420 696e 2061 2067 6f61 is not in a goa │ │ │ -0001f050: 6c2e 0a0a 5468 6520 636f 6d6d 616e 6420 l...The command │ │ │ -0001f060: 7365 6e74 2074 6f20 4167 6461 2069 730a sent to Agda is. │ │ │ -0001f070: 0a20 2043 4d44 203c 676f 616c 206e 756d . CMD A │ │ │ -0001f0a0: 5247 532e 0a0a 5468 6520 7573 6572 2069 RGS...The user i │ │ │ -0001f0b0: 6e70 7574 2069 7320 636f 6d70 7574 6564 nput is computed │ │ │ -0001f0c0: 2061 7320 666f 6c6c 6f77 733a 0a0a 2a20 as follows:..* │ │ │ -0001f0d0: 4966 2057 414e 5420 6973 206e 696c 2c20 If WANT is nil, │ │ │ -0001f0e0: 7468 656e 2074 6865 2075 7365 7220 696e then the user in │ │ │ -0001f0f0: 7075 7420 6973 2074 6865 2065 6d70 7479 put is the empty │ │ │ -0001f100: 2073 7472 696e 672e 0a0a 2a20 4966 2057 string...* If W │ │ │ -0001f110: 414e 5420 6973 2061 2073 7472 696e 672c ANT is a string, │ │ │ -0001f120: 2061 6e64 2065 6974 6865 7220 4153 4b20 and either ASK │ │ │ -0001f130: 6973 206e 6f6e 2d6e 696c 206f 7220 7468 is non-nil or th │ │ │ -0001f140: 6520 676f 616c 206f 6e6c 790a 2020 636f e goal only. co │ │ │ -0001f150: 6e74 6169 6e73 2077 6869 7465 7370 6163 ntains whitespac │ │ │ -0001f160: 652c 2074 6865 6e20 7468 6520 696e 7075 e, then the inpu │ │ │ -0001f170: 7420 6973 2074 616b 656e 2066 726f 6d20 t is taken from │ │ │ -0001f180: 7468 650a 2020 6d69 6e69 6275 6666 6572 the. minibuffer │ │ │ -0001f190: 2e20 496e 2074 6869 7320 6361 7365 2057 . In this case W │ │ │ -0001f1a0: 414e 5420 6973 2075 7365 6420 6173 2074 ANT is used as t │ │ │ -0001f1b0: 6865 2070 726f 6d70 7420 7374 7269 6e67 he prompt string │ │ │ -0001f1c0: 2e0a 0a2a 204f 7468 6572 7769 7365 2028 ...* Otherwise ( │ │ │ -0001f1d0: 696e 636c 7564 696e 6720 6966 2057 414e including if WAN │ │ │ -0001f1e0: 5420 6973 205c 5c3d 2767 6f61 6c29 2074 T is \\='goal) t │ │ │ -0001f1f0: 6865 2067 6f61 6c20 636f 6e74 656e 7473 he goal contents │ │ │ -0001f200: 2061 7265 0a20 2075 7365 642e 0a0a 4966 are. used...If │ │ │ -0001f210: 2074 6865 2075 7365 7220 696e 7075 7420 the user input │ │ │ -0001f220: 6973 206e 6f74 2074 616b 656e 2066 726f is not taken fro │ │ │ -0001f230: 6d20 7468 6520 676f 616c 2c20 7468 656e m the goal, then │ │ │ -0001f240: 2061 6e20 656d 7074 7920 676f 616c 0a72 an empty goal.r │ │ │ -0001f250: 616e 6765 2069 7320 6769 7665 6e2e 0a0a ange is given... │ │ │ -0001f260: 4966 2053 4156 4520 6973 205c 5c3d 2773 If SAVE is \\='s │ │ │ -0001f270: 6176 652c 2074 6865 6e20 7468 6520 6275 ave, then the bu │ │ │ -0001f280: 6666 6572 2069 7320 7361 7665 6420 6a75 ffer is saved ju │ │ │ -0001f290: 7374 2062 6566 6f72 6520 7468 650a 636f st before the.co │ │ │ -0001f2a0: 6d6d 616e 6420 6973 2073 656e 7420 746f mmand is sent to │ │ │ -0001f2b0: 2041 6764 6120 2869 6620 6974 2069 7320 Agda (if it is │ │ │ -0001f2c0: 7365 6e74 292e 220a 2020 2863 6c2d 6d75 sent).". (cl-mu │ │ │ -0001f2d0: 6c74 6970 6c65 2d76 616c 7565 2d62 696e ltiple-value-bin │ │ │ -0001f2e0: 6420 286f 2067 2920 2861 6764 6132 2d67 d (o g) (agda2-g │ │ │ -0001f2f0: 6f61 6c2d 6174 2028 706f 696e 7429 290a oal-at (point)). │ │ │ -0001f300: 2020 2020 2875 6e6c 6573 7320 6720 2865 (unless g (e │ │ │ -0001f310: 7272 6f72 2022 466f 7220 7468 6973 2063 rror "For this c │ │ │ -0001f320: 6f6d 6d61 6e64 2c20 706c 6561 7365 2070 ommand, please p │ │ │ -0001f330: 6c61 6365 2074 6865 2063 7572 736f 7220 lace the cursor │ │ │ -0001f340: 696e 2061 2067 6f61 6c22 2929 0a20 2020 in a goal")). │ │ │ -0001f350: 2028 6c65 7420 2828 7478 7420 2862 7566 (let ((txt (buf │ │ │ -0001f360: 6665 722d 7375 6273 7472 696e 672d 6e6f fer-substring-no │ │ │ -0001f370: 2d70 726f 7065 7274 6965 7320 282b 2028 -properties (+ ( │ │ │ -0001f380: 6f76 6572 6c61 792d 7374 6172 7420 6f29 overlay-start o) │ │ │ -0001f390: 2032 290a 2020 2020 2020 2020 2020 2020 2). │ │ │ +0001ed30: 2020 2020 2020 2020 286c 616d 6264 6120 (lambda │ │ │ +0001ed40: 2878 2079 2920 283c 3d20 2863 6172 2078 (x y) (<= (car x │ │ │ +0001ed50: 2920 2863 6172 2079 2929 2929 290a 2020 ) (car y))))). │ │ │ +0001ed60: 2020 2020 286c 6574 2028 2872 2028 706f (let ((r (po │ │ │ +0001ed70: 7020 6167 6461 322d 6c61 7374 2d72 6573 p agda2-last-res │ │ │ +0001ed80: 706f 6e73 6573 2929 290a 2020 2020 2020 ponses))). │ │ │ +0001ed90: 2020 2861 6764 6132 2d65 7865 632d 7265 (agda2-exec-re │ │ │ +0001eda0: 7370 6f6e 7365 2028 6364 7220 7229 2929 sponse (cdr r))) │ │ │ +0001edb0: 2929 0a0a 2020 3b3b 2055 6e73 6574 2061 )).. ;; Unset a │ │ │ +0001edc0: 6764 6132 2d68 6967 686c 6967 6874 2d69 gda2-highlight-i │ │ │ +0001edd0: 6e2d 7072 6f67 7265 7373 2077 6865 6e20 n-progress when │ │ │ +0001ede0: 616c 6c20 7468 6520 6173 796e 6368 726f all the asynchro │ │ │ +0001edf0: 6e6f 7573 0a20 203b 3b20 636f 6d6d 616e nous. ;; comman │ │ │ +0001ee00: 6473 2068 6176 6520 7465 726d 696e 6174 ds have terminat │ │ │ +0001ee10: 6564 2e0a 2020 2875 6e6c 6573 7320 6167 ed.. (unless ag │ │ │ +0001ee20: 6461 322d 696e 2d70 726f 6772 6573 730a da2-in-progress. │ │ │ +0001ee30: 2020 2020 2020 2873 6574 7120 6167 6461 (setq agda │ │ │ +0001ee40: 322d 6869 6768 6c69 6768 742d 696e 2d70 2-highlight-in-p │ │ │ +0001ee50: 726f 6772 6573 7320 6e69 6c29 2929 0a0a rogress nil))).. │ │ │ +0001ee60: 2864 6566 756e 2061 6764 6132 2d61 626f (defun agda2-abo │ │ │ +0001ee70: 7274 2d68 6967 686c 6967 6874 696e 6720 rt-highlighting │ │ │ +0001ee80: 6e69 6c0a 2020 2241 626f 7274 2061 6e79 nil. "Abort any │ │ │ +0001ee90: 2069 6e74 6572 6163 7469 7665 2068 6967 interactive hig │ │ │ +0001eea0: 686c 6967 6874 696e 672e 0a54 6869 7320 hlighting..This │ │ │ +0001eeb0: 6675 6e63 7469 6f6e 2073 686f 756c 6420 function should │ │ │ +0001eec0: 6265 2075 7365 6420 696e 2060 6669 7273 be used in `firs │ │ │ +0001eed0: 742d 6368 616e 6765 2d68 6f6f 6b27 2e22 t-change-hook'." │ │ │ +0001eee0: 0a20 2028 7768 656e 2061 6764 6132 2d68 . (when agda2-h │ │ │ +0001eef0: 6967 686c 6967 6874 2d69 6e2d 7072 6f67 ighlight-in-prog │ │ │ +0001ef00: 7265 7373 0a20 2020 2028 7365 7471 2061 ress. (setq a │ │ │ +0001ef10: 6764 6132 2d68 6967 686c 6967 6874 2d69 gda2-highlight-i │ │ │ +0001ef20: 6e2d 7072 6f67 7265 7373 206e 696c 290a n-progress nil). │ │ │ +0001ef30: 2020 2020 286d 6573 7361 6765 2022 5c22 (message "\" │ │ │ +0001ef40: 2573 5c22 2068 6173 2062 6565 6e20 6d6f %s\" has been mo │ │ │ +0001ef50: 6469 6669 6564 2e20 496e 7465 7272 7570 dified. Interrup │ │ │ +0001ef60: 7469 6e67 2068 6967 686c 6967 6874 696e ting highlightin │ │ │ +0001ef70: 672e 220a 2020 2020 2020 2020 2020 2020 g.". │ │ │ +0001ef80: 2028 6275 6666 6572 2d6e 616d 6520 2863 (buffer-name (c │ │ │ +0001ef90: 7572 7265 6e74 2d62 7566 6665 7229 2929 urrent-buffer))) │ │ │ +0001efa0: 2929 0a0a 2864 6566 756e 2061 6764 6132 ))..(defun agda2 │ │ │ +0001efb0: 2d67 6f61 6c2d 636d 6420 2863 6d64 2073 -goal-cmd (cmd s │ │ │ +0001efc0: 6176 6520 266f 7074 696f 6e61 6c20 7761 ave &optional wa │ │ │ +0001efd0: 6e74 2061 736b 2026 7265 7374 2061 7267 nt ask &rest arg │ │ │ +0001efe0: 7329 0a20 2022 5265 6164 7320 696e 7075 s). "Reads inpu │ │ │ +0001eff0: 7420 6672 6f6d 2067 6f61 6c20 6f72 206d t from goal or m │ │ │ +0001f000: 696e 6962 7566 6665 7220 616e 6420 7365 inibuffer and se │ │ │ +0001f010: 6e64 7320 636f 6d6d 616e 6420 746f 2041 nds command to A │ │ │ +0001f020: 6764 612e 0a0a 416e 2065 7272 6f72 2069 gda...An error i │ │ │ +0001f030: 7320 7261 6973 6564 2069 6620 706f 696e s raised if poin │ │ │ +0001f040: 7420 6973 206e 6f74 2069 6e20 6120 676f t is not in a go │ │ │ +0001f050: 616c 2e0a 0a54 6865 2063 6f6d 6d61 6e64 al...The command │ │ │ +0001f060: 2073 656e 7420 746f 2041 6764 6120 6973 sent to Agda is │ │ │ +0001f070: 0a0a 2020 434d 4420 3c67 6f61 6c20 6e75 .. CMD │ │ │ +0001f0a0: 4152 4753 2e0a 0a54 6865 2075 7365 7220 ARGS...The user │ │ │ +0001f0b0: 696e 7075 7420 6973 2063 6f6d 7075 7465 input is compute │ │ │ +0001f0c0: 6420 6173 2066 6f6c 6c6f 7773 3a0a 0a2a d as follows:..* │ │ │ +0001f0d0: 2049 6620 5741 4e54 2069 7320 6e69 6c2c If WANT is nil, │ │ │ +0001f0e0: 2074 6865 6e20 7468 6520 7573 6572 2069 then the user i │ │ │ +0001f0f0: 6e70 7574 2069 7320 7468 6520 656d 7074 nput is the empt │ │ │ +0001f100: 7920 7374 7269 6e67 2e0a 0a2a 2049 6620 y string...* If │ │ │ +0001f110: 5741 4e54 2069 7320 6120 7374 7269 6e67 WANT is a string │ │ │ +0001f120: 2c20 616e 6420 6569 7468 6572 2041 534b , and either ASK │ │ │ +0001f130: 2069 7320 6e6f 6e2d 6e69 6c20 6f72 2074 is non-nil or t │ │ │ +0001f140: 6865 2067 6f61 6c20 6f6e 6c79 0a20 2063 he goal only. c │ │ │ +0001f150: 6f6e 7461 696e 7320 7768 6974 6573 7061 ontains whitespa │ │ │ +0001f160: 6365 2c20 7468 656e 2074 6865 2069 6e70 ce, then the inp │ │ │ +0001f170: 7574 2069 7320 7461 6b65 6e20 6672 6f6d ut is taken from │ │ │ +0001f180: 2074 6865 0a20 206d 696e 6962 7566 6665 the. minibuffe │ │ │ +0001f190: 722e 2049 6e20 7468 6973 2063 6173 6520 r. In this case │ │ │ +0001f1a0: 5741 4e54 2069 7320 7573 6564 2061 7320 WANT is used as │ │ │ +0001f1b0: 7468 6520 7072 6f6d 7074 2073 7472 696e the prompt strin │ │ │ +0001f1c0: 672e 0a0a 2a20 4f74 6865 7277 6973 6520 g...* Otherwise │ │ │ +0001f1d0: 2869 6e63 6c75 6469 6e67 2069 6620 5741 (including if WA │ │ │ +0001f1e0: 4e54 2069 7320 5c5c 3d27 676f 616c 2920 NT is \\='goal) │ │ │ +0001f1f0: 7468 6520 676f 616c 2063 6f6e 7465 6e74 the goal content │ │ │ +0001f200: 7320 6172 650a 2020 7573 6564 2e0a 0a49 s are. used...I │ │ │ +0001f210: 6620 7468 6520 7573 6572 2069 6e70 7574 f the user input │ │ │ +0001f220: 2069 7320 6e6f 7420 7461 6b65 6e20 6672 is not taken fr │ │ │ +0001f230: 6f6d 2074 6865 2067 6f61 6c2c 2074 6865 om the goal, the │ │ │ +0001f240: 6e20 616e 2065 6d70 7479 2067 6f61 6c0a n an empty goal. │ │ │ +0001f250: 7261 6e67 6520 6973 2067 6976 656e 2e0a range is given.. │ │ │ +0001f260: 0a49 6620 5341 5645 2069 7320 5c5c 3d27 .If SAVE is \\=' │ │ │ +0001f270: 7361 7665 2c20 7468 656e 2074 6865 2062 save, then the b │ │ │ +0001f280: 7566 6665 7220 6973 2073 6176 6564 206a uffer is saved j │ │ │ +0001f290: 7573 7420 6265 666f 7265 2074 6865 0a63 ust before the.c │ │ │ +0001f2a0: 6f6d 6d61 6e64 2069 7320 7365 6e74 2074 ommand is sent t │ │ │ +0001f2b0: 6f20 4167 6461 2028 6966 2069 7420 6973 o Agda (if it is │ │ │ +0001f2c0: 2073 656e 7429 2e22 0a20 2028 636c 2d6d sent).". (cl-m │ │ │ +0001f2d0: 756c 7469 706c 652d 7661 6c75 652d 6269 ultiple-value-bi │ │ │ +0001f2e0: 6e64 2028 6f20 6729 2028 6167 6461 322d nd (o g) (agda2- │ │ │ +0001f2f0: 676f 616c 2d61 7420 2870 6f69 6e74 2929 goal-at (point)) │ │ │ +0001f300: 0a20 2020 2028 756e 6c65 7373 2067 2028 . (unless g ( │ │ │ +0001f310: 6572 726f 7220 2246 6f72 2074 6869 7320 error "For this │ │ │ +0001f320: 636f 6d6d 616e 642c 2070 6c65 6173 6520 command, please │ │ │ +0001f330: 706c 6163 6520 7468 6520 6375 7273 6f72 place the cursor │ │ │ +0001f340: 2069 6e20 6120 676f 616c 2229 290a 2020 in a goal")). │ │ │ +0001f350: 2020 286c 6574 2028 2874 7874 2028 6275 (let ((txt (bu │ │ │ +0001f360: 6666 6572 2d73 7562 7374 7269 6e67 2d6e ffer-substring-n │ │ │ +0001f370: 6f2d 7072 6f70 6572 7469 6573 2028 2b20 o-properties (+ │ │ │ +0001f380: 286f 7665 726c 6179 2d73 7461 7274 206f (overlay-start o │ │ │ +0001f390: 2920 3229 0a20 2020 2020 2020 2020 2020 ) 2). │ │ │ 0001f3a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 0001f3b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0001f3c0: 2020 2028 2d20 286f 7665 726c 6179 2d65 (- (overlay-e │ │ │ -0001f3d0: 6e64 2020 206f 2920 3229 2929 0a20 2020 nd o) 2))). │ │ │ -0001f3e0: 2020 2020 2020 2028 696e 7075 742d 6672 (input-fr │ │ │ -0001f3f0: 6f6d 2d67 6f61 6c20 6e69 6c29 290a 2020 om-goal nil)). │ │ │ -0001f400: 2020 2020 2863 6f6e 6420 2828 6e75 6c6c (cond ((null │ │ │ -0001f410: 2077 616e 7429 2028 7365 7471 2074 7874 want) (setq txt │ │ │ -0001f420: 2022 2229 290a 2020 2020 2020 2020 2020 "")). │ │ │ -0001f430: 2020 2828 616e 6420 2873 7472 696e 6770 ((and (stringp │ │ │ -0001f440: 2077 616e 7429 0a20 2020 2020 2020 2020 want). │ │ │ -0001f450: 2020 2020 2020 2020 2028 6f72 2061 736b (or ask │ │ │ -0001f460: 2028 7374 7269 6e67 2d6d 6174 6368 2022 (string-match " │ │ │ -0001f470: 5c5c 605c 5c73 202a 5c5c 2722 2074 7874 \\`\\s *\\'" txt │ │ │ -0001f480: 2929 290a 2020 2020 2020 2020 2020 2020 ))). │ │ │ -0001f490: 2028 7365 7471 2074 7874 2028 7265 6164 (setq txt (read │ │ │ -0001f4a0: 2d73 7472 696e 6720 2863 6f6e 6361 7420 -string (concat │ │ │ -0001f4b0: 7761 6e74 2022 3a20 2229 206e 696c 206e want ": ") nil n │ │ │ -0001f4c0: 696c 2074 7874 2074 2929 290a 2020 2020 il txt t))). │ │ │ -0001f4d0: 2020 2020 2020 2020 2874 2028 7365 7471 (t (setq │ │ │ -0001f4e0: 2069 6e70 7574 2d66 726f 6d2d 676f 616c input-from-goal │ │ │ -0001f4f0: 2074 2929 290a 2020 2020 2020 2861 7070 t))). (app │ │ │ -0001f500: 6c79 2027 6167 6461 322d 676f 2073 6176 ly 'agda2-go sav │ │ │ -0001f510: 6520 696e 7075 742d 6672 6f6d 2d67 6f61 e input-from-goa │ │ │ -0001f520: 6c20 2762 7573 7920 7420 636d 640a 2020 l 'busy t cmd. │ │ │ -0001f530: 2020 2020 2020 2020 2020 2028 666f 726d (form │ │ │ -0001f540: 6174 2022 2564 2220 6729 0a20 2020 2020 at "%d" g). │ │ │ -0001f550: 2020 2020 2020 2020 2869 6620 696e 7075 (if inpu │ │ │ -0001f560: 742d 6672 6f6d 2d67 6f61 6c20 2861 6764 t-from-goal (agd │ │ │ -0001f570: 6132 2d67 6f61 6c2d 5261 6e67 6520 6f29 a2-goal-Range o) │ │ │ -0001f580: 2028 6167 6461 322d 6d6b 5261 6e67 6520 (agda2-mkRange │ │ │ -0001f590: 6e69 6c29 290a 2020 2020 2020 2020 2020 nil)). │ │ │ -0001f5a0: 2020 2028 6167 6461 322d 7374 7269 6e67 (agda2-string │ │ │ -0001f5b0: 2d71 756f 7465 2074 7874 2920 6172 6773 -quote txt) args │ │ │ -0001f5c0: 2929 2929 0a0a 3b3b 204e 6f74 6520 7468 ))))..;; Note th │ │ │ -0001f5d0: 6174 2074 6865 2066 6f6c 6c6f 7769 6e67 at the following │ │ │ -0001f5e0: 2066 756e 6374 696f 6e20 6973 2061 2073 function is a s │ │ │ -0001f5f0: 6563 7572 6974 7920 7269 736b 2c20 7369 ecurity risk, si │ │ │ -0001f600: 6e63 6520 6974 0a3b 3b20 6576 616c 7561 nce it.;; evalua │ │ │ -0001f610: 7465 7320 636f 6465 2077 6974 686f 7574 tes code without │ │ │ -0001f620: 2066 6972 7374 2069 6e73 7065 6374 696e first inspectin │ │ │ -0001f630: 6720 6974 2e20 5468 6520 636f 6465 2028 g it. The code ( │ │ │ -0001f640: 7375 7070 6f73 6564 6c79 290a 3b3b 2063 supposedly).;; c │ │ │ -0001f650: 6f6d 6573 2066 726f 6d20 7468 6520 4167 omes from the Ag │ │ │ -0001f660: 6461 2062 6163 6b65 6e64 2c20 6275 7420 da backend, but │ │ │ -0001f670: 7468 6572 6520 636f 756c 6420 6265 2062 there could be b │ │ │ -0001f680: 7567 7320 696e 2074 6865 2062 6163 6b65 ugs in the backe │ │ │ -0001f690: 6e64 0a3b 3b20 7768 6963 6820 6361 6e20 nd.;; which can │ │ │ -0001f6a0: 6265 2065 7870 6c6f 6974 6564 2062 7920 be exploited by │ │ │ -0001f6b0: 616e 2061 7474 6163 6b65 7220 7768 6963 an attacker whic │ │ │ -0001f6c0: 6820 6d61 6e61 6765 7320 746f 2074 7269 h manages to tri │ │ │ -0001f6d0: 636b 0a3b 3b20 736f 6d65 6f6e 6520 696e ck.;; someone in │ │ │ -0001f6e0: 746f 2074 7970 652d 6368 6563 6b69 6e67 to type-checking │ │ │ -0001f6f0: 2063 6f6d 7072 6f6d 6973 6564 2041 6764 compromised Agd │ │ │ -0001f700: 6120 636f 6465 2e0a 0a28 6465 6675 6e20 a code...(defun │ │ │ -0001f710: 6167 6461 322d 6578 6563 2d72 6573 706f agda2-exec-respo │ │ │ -0001f720: 6e73 6520 2872 6573 706f 6e73 6529 0a20 nse (response). │ │ │ -0001f730: 2022 496e 7465 7270 7265 7473 2072 6573 "Interprets res │ │ │ -0001f740: 706f 6e73 652e 220a 2020 286c 6574 2028 ponse.". (let ( │ │ │ -0001f750: 2869 6e68 6962 6974 2d72 6561 642d 6f6e (inhibit-read-on │ │ │ -0001f760: 6c79 2074 2929 0a20 2020 2028 6576 616c ly t)). (eval │ │ │ -0001f770: 2072 6573 706f 6e73 6529 2929 0a0a 3b3b response)))..;; │ │ │ +0001f3c0: 2020 2020 282d 2028 6f76 6572 6c61 792d (- (overlay- │ │ │ +0001f3d0: 656e 6420 2020 6f29 2032 2929 290a 2020 end o) 2))). │ │ │ +0001f3e0: 2020 2020 2020 2020 2869 6e70 7574 2d66 (input-f │ │ │ +0001f3f0: 726f 6d2d 676f 616c 206e 696c 2929 0a20 rom-goal nil)). │ │ │ +0001f400: 2020 2020 2028 636f 6e64 2028 286e 756c (cond ((nul │ │ │ +0001f410: 6c20 7761 6e74 2920 2873 6574 7120 7478 l want) (setq tx │ │ │ +0001f420: 7420 2222 2929 0a20 2020 2020 2020 2020 t "")). │ │ │ +0001f430: 2020 2028 2861 6e64 2028 7374 7269 6e67 ((and (string │ │ │ +0001f440: 7020 7761 6e74 290a 2020 2020 2020 2020 p want). │ │ │ +0001f450: 2020 2020 2020 2020 2020 286f 7220 6173 (or as │ │ │ +0001f460: 6b20 2873 7472 696e 672d 6d61 7463 6820 k (string-match │ │ │ +0001f470: 225c 5c60 5c5c 7320 2a5c 5c27 2220 7478 "\\`\\s *\\'" tx │ │ │ +0001f480: 7429 2929 0a20 2020 2020 2020 2020 2020 t))). │ │ │ +0001f490: 2020 2873 6574 7120 7478 7420 2872 6561 (setq txt (rea │ │ │ +0001f4a0: 642d 7374 7269 6e67 2028 636f 6e63 6174 d-string (concat │ │ │ +0001f4b0: 2077 616e 7420 223a 2022 2920 6e69 6c20 want ": ") nil │ │ │ +0001f4c0: 6e69 6c20 7478 7420 7429 2929 0a20 2020 nil txt t))). │ │ │ +0001f4d0: 2020 2020 2020 2020 2028 7420 2873 6574 (t (set │ │ │ +0001f4e0: 7120 696e 7075 742d 6672 6f6d 2d67 6f61 q input-from-goa │ │ │ +0001f4f0: 6c20 7429 2929 0a20 2020 2020 2028 6170 l t))). (ap │ │ │ +0001f500: 706c 7920 2761 6764 6132 2d67 6f20 7361 ply 'agda2-go sa │ │ │ +0001f510: 7665 2069 6e70 7574 2d66 726f 6d2d 676f ve input-from-go │ │ │ +0001f520: 616c 2027 6275 7379 2074 2063 6d64 0a20 al 'busy t cmd. │ │ │ +0001f530: 2020 2020 2020 2020 2020 2020 2866 6f72 (for │ │ │ +0001f540: 6d61 7420 2225 6422 2067 290a 2020 2020 mat "%d" g). │ │ │ +0001f550: 2020 2020 2020 2020 2028 6966 2069 6e70 (if inp │ │ │ +0001f560: 7574 2d66 726f 6d2d 676f 616c 2028 6167 ut-from-goal (ag │ │ │ +0001f570: 6461 322d 676f 616c 2d52 616e 6765 206f da2-goal-Range o │ │ │ +0001f580: 2920 2861 6764 6132 2d6d 6b52 616e 6765 ) (agda2-mkRange │ │ │ +0001f590: 206e 696c 2929 0a20 2020 2020 2020 2020 nil)). │ │ │ +0001f5a0: 2020 2020 2861 6764 6132 2d73 7472 696e (agda2-strin │ │ │ +0001f5b0: 672d 7175 6f74 6520 7478 7429 2061 7267 g-quote txt) arg │ │ │ +0001f5c0: 7329 2929 290a 0a3b 3b20 4e6f 7465 2074 s))))..;; Note t │ │ │ +0001f5d0: 6861 7420 7468 6520 666f 6c6c 6f77 696e hat the followin │ │ │ +0001f5e0: 6720 6675 6e63 7469 6f6e 2069 7320 6120 g function is a │ │ │ +0001f5f0: 7365 6375 7269 7479 2072 6973 6b2c 2073 security risk, s │ │ │ +0001f600: 696e 6365 2069 740a 3b3b 2065 7661 6c75 ince it.;; evalu │ │ │ +0001f610: 6174 6573 2063 6f64 6520 7769 7468 6f75 ates code withou │ │ │ +0001f620: 7420 6669 7273 7420 696e 7370 6563 7469 t first inspecti │ │ │ +0001f630: 6e67 2069 742e 2054 6865 2063 6f64 6520 ng it. The code │ │ │ +0001f640: 2873 7570 706f 7365 646c 7929 0a3b 3b20 (supposedly).;; │ │ │ +0001f650: 636f 6d65 7320 6672 6f6d 2074 6865 2041 comes from the A │ │ │ +0001f660: 6764 6120 6261 636b 656e 642c 2062 7574 gda backend, but │ │ │ +0001f670: 2074 6865 7265 2063 6f75 6c64 2062 6520 there could be │ │ │ +0001f680: 6275 6773 2069 6e20 7468 6520 6261 636b bugs in the back │ │ │ +0001f690: 656e 640a 3b3b 2077 6869 6368 2063 616e end.;; which can │ │ │ +0001f6a0: 2062 6520 6578 706c 6f69 7465 6420 6279 be exploited by │ │ │ +0001f6b0: 2061 6e20 6174 7461 636b 6572 2077 6869 an attacker whi │ │ │ +0001f6c0: 6368 206d 616e 6167 6573 2074 6f20 7472 ch manages to tr │ │ │ +0001f6d0: 6963 6b0a 3b3b 2073 6f6d 656f 6e65 2069 ick.;; someone i │ │ │ +0001f6e0: 6e74 6f20 7479 7065 2d63 6865 636b 696e nto type-checkin │ │ │ +0001f6f0: 6720 636f 6d70 726f 6d69 7365 6420 4167 g compromised Ag │ │ │ +0001f700: 6461 2063 6f64 652e 0a0a 2864 6566 756e da code...(defun │ │ │ +0001f710: 2061 6764 6132 2d65 7865 632d 7265 7370 agda2-exec-resp │ │ │ +0001f720: 6f6e 7365 2028 7265 7370 6f6e 7365 290a onse (response). │ │ │ +0001f730: 2020 2249 6e74 6572 7072 6574 7320 7265 "Interprets re │ │ │ +0001f740: 7370 6f6e 7365 2e22 0a20 2028 6c65 7420 sponse.". (let │ │ │ +0001f750: 2828 696e 6869 6269 742d 7265 6164 2d6f ((inhibit-read-o │ │ │ +0001f760: 6e6c 7920 7429 290a 2020 2020 2865 7661 nly t)). (eva │ │ │ +0001f770: 6c20 7265 7370 6f6e 7365 2929 290a 0a3b l response)))..; │ │ │ 0001f780: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 0001f790: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 0001f7a0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 0001f7b0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ -0001f7c0: 3b3b 3b3b 3b3b 0a3b 3b3b 3b20 5573 6572 ;;;;;;.;;;; User │ │ │ -0001f7d0: 2063 6f6d 6d61 6e64 7320 616e 6420 7265 commands and re │ │ │ -0001f7e0: 7370 6f6e 7365 2070 726f 6365 7373 696e sponse processin │ │ │ -0001f7f0: 670a 0a28 6465 6675 6e20 6167 6461 322d g..(defun agda2- │ │ │ -0001f800: 6c6f 6164 2028 290a 2020 224c 6f61 6420 load (). "Load │ │ │ -0001f810: 6375 7272 656e 7420 6275 6666 6572 2e22 current buffer." │ │ │ -0001f820: 0a20 2028 696e 7465 7261 6374 6976 6529 . (interactive) │ │ │ -0001f830: 0a20 2028 6167 6461 322d 676f 2027 7361 . (agda2-go 'sa │ │ │ -0001f840: 7665 2074 2027 6275 7379 2074 2022 436d ve t 'busy t "Cm │ │ │ -0001f850: 645f 6c6f 6164 220a 2020 2020 2020 2020 d_load". │ │ │ -0001f860: 2020 2020 2861 6764 6132 2d73 7472 696e (agda2-strin │ │ │ -0001f870: 672d 7175 6f74 6520 2862 7566 6665 722d g-quote (buffer- │ │ │ -0001f880: 6669 6c65 2d6e 616d 6529 290a 2020 2020 file-name)). │ │ │ -0001f890: 2020 2020 2020 2020 2861 6764 6132 2d6c (agda2-l │ │ │ -0001f8a0: 6973 742d 7175 6f74 6520 6167 6461 322d ist-quote agda2- │ │ │ -0001f8b0: 7072 6f67 7261 6d2d 6172 6773 290a 2020 program-args). │ │ │ -0001f8c0: 2020 2020 2020 2020 2020 2929 0a0a 2864 ))..(d │ │ │ -0001f8d0: 6566 756e 2061 6764 6132 2d72 6561 642d efun agda2-read- │ │ │ -0001f8e0: 6261 636b 656e 6420 2829 0a20 2022 4765 backend (). "Ge │ │ │ -0001f8f0: 7420 7468 6520 6375 7272 656e 746c 7920 t the currently │ │ │ -0001f900: 7365 7420 6261 636b 656e 6420 6672 6f6d set backend from │ │ │ -0001f910: 2074 6865 2060 6167 6461 322d 6261 636b the `agda2-back │ │ │ -0001f920: 656e 6427 2076 6172 6961 626c 652c 0a6f end' variable,.o │ │ │ -0001f930: 7220 6173 6b20 7468 6520 7573 6572 2066 r ask the user f │ │ │ -0001f940: 6f72 2069 6e70 7574 2069 6e20 6361 7365 or input in case │ │ │ -0001f950: 2074 6865 2076 6172 6961 626c 6520 6973 the variable is │ │ │ -0001f960: 206e 6f74 2073 6574 2e22 0a20 2028 6c65 not set.". (le │ │ │ -0001f970: 7420 2828 6e61 6d65 2028 636f 6e64 0a20 t ((name (cond. │ │ │ -0001f980: 2020 2028 2865 7175 616c 2061 6764 6132 ((equal agda2 │ │ │ -0001f990: 2d62 6163 6b65 6e64 2022 4d41 6c6f 6e7a -backend "MAlonz │ │ │ -0001f9a0: 6f22 2920 2020 2020 2020 2247 4843 2229 o") "GHC") │ │ │ -0001f9b0: 0a20 2020 2028 2865 7175 616c 2061 6764 . ((equal agd │ │ │ -0001f9c0: 6132 2d62 6163 6b65 6e64 2022 4d41 6c6f a2-backend "MAlo │ │ │ -0001f9d0: 6e7a 6f4e 6f4d 6169 6e22 2920 2247 4843 nzoNoMain") "GHC │ │ │ -0001f9e0: 4e6f 4d61 696e 2229 0a20 2020 2028 2865 NoMain"). ((e │ │ │ -0001f9f0: 7175 616c 2061 6764 6132 2d62 6163 6b65 qual agda2-backe │ │ │ -0001fa00: 6e64 206e 696c 290a 2020 2020 2020 2863 nd nil). (c │ │ │ -0001fa10: 6f6d 706c 6574 696e 672d 7265 6164 2022 ompleting-read " │ │ │ -0001fa20: 4261 636b 656e 643a 2022 2061 6764 6132 Backend: " agda2 │ │ │ -0001fa30: 2d62 6163 6b65 6e64 7320 6e69 6c20 6e69 -backends nil ni │ │ │ -0001fa40: 6c20 6e69 6c20 6e69 6c20 6e69 6c20 2769 l nil nil nil 'i │ │ │ -0001fa50: 6e68 6572 6974 2d69 6e70 7574 2d6d 6574 nherit-input-met │ │ │ -0001fa60: 686f 6429 290a 2020 2020 2874 2061 6764 hod)). (t agd │ │ │ -0001fa70: 6132 2d62 6163 6b65 6e64 2929 2929 0a20 a2-backend)))). │ │ │ -0001fa80: 2028 7768 656e 2028 6571 7561 6c20 6e61 (when (equal na │ │ │ -0001fa90: 6d65 2022 2229 2028 6572 726f 7220 224e me "") (error "N │ │ │ -0001faa0: 6f20 6261 636b 656e 6420 6368 6f73 656e o backend chosen │ │ │ -0001fab0: 2229 290a 2020 6e61 6d65 2929 0a0a 2864 ")). name))..(d │ │ │ -0001fac0: 6566 756e 2061 6764 6132 2d63 6f6d 7069 efun agda2-compi │ │ │ -0001fad0: 6c65 2028 6261 636b 656e 6429 0a20 2022 le (backend). " │ │ │ -0001fae0: 436f 6d70 696c 6520 7468 6520 6375 7272 Compile the curr │ │ │ -0001faf0: 656e 7420 6d6f 6475 6c65 2075 7369 6e67 ent module using │ │ │ -0001fb00: 2042 4143 4b45 4e44 2e0a 0a54 6865 2076 BACKEND...The v │ │ │ -0001fb10: 6172 6961 626c 6520 6061 6764 6132 2d62 ariable `agda2-b │ │ │ -0001fb20: 6163 6b65 6e64 2720 6465 7465 726d 696e ackend' determin │ │ │ -0001fb30: 6573 2077 6869 6368 2062 6163 6b65 6e64 es which backend │ │ │ -0001fb40: 2069 7320 7573 6564 2e22 0a20 2028 696e is used.". (in │ │ │ -0001fb50: 7465 7261 6374 6976 6520 286c 6973 7420 teractive (list │ │ │ -0001fb60: 2861 6764 6132 2d72 6561 642d 6261 636b (agda2-read-back │ │ │ -0001fb70: 656e 6429 2929 0a20 2028 6167 6461 322d end))). (agda2- │ │ │ -0001fb80: 676f 2027 7361 7665 2074 2027 6275 7379 go 'save t 'busy │ │ │ -0001fb90: 2074 2022 436d 645f 636f 6d70 696c 6522 t "Cmd_compile" │ │ │ -0001fba0: 0a20 2020 2020 2020 2020 2020 2062 6163 . bac │ │ │ -0001fbb0: 6b65 6e64 0a20 2020 2020 2020 2020 2020 kend. │ │ │ -0001fbc0: 2028 6167 6461 322d 7374 7269 6e67 2d71 (agda2-string-q │ │ │ -0001fbd0: 756f 7465 2028 6275 6666 6572 2d66 696c uote (buffer-fil │ │ │ -0001fbe0: 652d 6e61 6d65 2929 0a20 2020 2020 2020 e-name)). │ │ │ -0001fbf0: 2020 2020 2028 6167 6461 322d 6c69 7374 (agda2-list │ │ │ -0001fc00: 2d71 756f 7465 2061 6764 6132 2d70 726f -quote agda2-pro │ │ │ -0001fc10: 6772 616d 2d61 7267 7329 0a20 2020 2020 gram-args). │ │ │ -0001fc20: 2020 2020 2020 2029 290a 0a28 6465 6675 ))..(defu │ │ │ -0001fc30: 6e20 6167 6461 322d 6261 636b 656e 642d n agda2-backend- │ │ │ -0001fc40: 636d 6420 2862 6163 6b65 6e64 2070 6179 cmd (backend pay │ │ │ -0001fc50: 6c6f 6164 290a 2020 2252 756e 2074 6865 load). "Run the │ │ │ -0001fc60: 2063 7572 7265 6e74 2062 6163 6b65 6e64 current backend │ │ │ -0001fc70: 2773 2028 6672 6f6d 2076 6172 6961 626c 's (from variabl │ │ │ -0001fc80: 6520 6061 6764 6132 2d62 6163 6b65 6e64 e `agda2-backend │ │ │ -0001fc90: 6029 2069 6e74 6572 6163 7469 6f6e 2063 `) interaction c │ │ │ -0001fca0: 6f6d 6d61 6e64 2e22 0a20 2028 696e 7465 ommand.". (inte │ │ │ -0001fcb0: 7261 6374 6976 6520 286c 6973 7420 2861 ractive (list (a │ │ │ -0001fcc0: 6764 6132 2d72 6561 642d 6261 636b 656e gda2-read-backen │ │ │ -0001fcd0: 6429 2028 6f72 2061 6764 6132 2d62 6163 d) (or agda2-bac │ │ │ -0001fce0: 6b65 6e64 2d64 6566 6175 6c74 2d70 6179 kend-default-pay │ │ │ -0001fcf0: 6c6f 6164 2028 7265 6164 2d73 7472 696e load (read-strin │ │ │ -0001fd00: 6720 2250 6179 6c6f 6164 3a20 2229 2929 g "Payload: "))) │ │ │ -0001fd10: 290a 2020 2869 6620 2861 6764 6132 2d67 ). (if (agda2-g │ │ │ -0001fd20: 6f61 6c2d 6174 2028 706f 696e 7429 290a oal-at (point)). │ │ │ -0001fd30: 2020 2020 2028 6167 6461 322d 676f 616c (agda2-goal │ │ │ -0001fd40: 2d63 6d64 2022 436d 645f 6261 636b 656e -cmd "Cmd_backen │ │ │ -0001fd50: 645f 686f 6c65 2220 6e69 6c20 2767 6f61 d_hole" nil 'goa │ │ │ -0001fd60: 6c20 6e69 6c20 6261 636b 656e 6420 2861 l nil backend (a │ │ │ -0001fd70: 6764 6132 2d73 7472 696e 672d 7175 6f74 gda2-string-quot │ │ │ -0001fd80: 6520 7061 796c 6f61 6429 290a 2020 2020 e payload)). │ │ │ -0001fd90: 2028 6167 6461 322d 676f 2027 7361 7665 (agda2-go 'save │ │ │ -0001fda0: 2074 2027 6275 7379 2074 2022 436d 645f t 'busy t "Cmd_ │ │ │ -0001fdb0: 6261 636b 656e 645f 746f 7022 2062 6163 backend_top" bac │ │ │ -0001fdc0: 6b65 6e64 2028 6167 6461 322d 7374 7269 kend (agda2-stri │ │ │ -0001fdd0: 6e67 2d71 756f 7465 2070 6179 6c6f 6164 ng-quote payload │ │ │ -0001fde0: 2929 0a20 2029 0a29 0a0a 2864 6566 6d61 )). ).)..(defma │ │ │ -0001fdf0: 6372 6f20 6167 6461 322d 6d61 7962 652d cro agda2-maybe- │ │ │ -0001fe00: 666f 7263 6564 2028 6e61 6d65 2063 6f6d forced (name com │ │ │ -0001fe10: 6d65 6e74 2063 6d64 2073 6176 6520 7761 ment cmd save wa │ │ │ -0001fe20: 6e74 290a 2020 2254 6869 7320 6d61 6372 nt). "This macr │ │ │ -0001fe30: 6f20 636f 6e73 7472 7563 7473 2061 2066 o constructs a f │ │ │ -0001fe40: 756e 6374 696f 6e20 4e41 4d45 2077 6869 unction NAME whi │ │ │ -0001fe50: 6368 2072 756e 7320 434d 442e 0a43 4f4d ch runs CMD..COM │ │ │ -0001fe60: 4d45 4e54 2069 7320 7573 6564 2074 6f20 MENT is used to │ │ │ -0001fe70: 6275 696c 6420 7468 6520 6675 6e63 7469 build the functi │ │ │ -0001fe80: 6f6e 2773 2063 6f6d 6d65 6e74 2e20 5468 on's comment. Th │ │ │ -0001fe90: 6520 6675 6e63 7469 6f6e 0a4e 414d 4520 e function.NAME │ │ │ -0001fea0: 7461 6b65 7320 6120 7072 6566 6978 2061 takes a prefix a │ │ │ -0001feb0: 7267 756d 656e 7420 7768 6963 6820 7465 rgument which te │ │ │ -0001fec0: 6c6c 7320 7768 6574 6865 7220 6974 2073 lls whether it s │ │ │ -0001fed0: 686f 756c 640a 6170 706c 7920 666f 7263 hould.apply forc │ │ │ -0001fee0: 6520 6f72 206e 6f74 2077 6865 6e20 7275 e or not when ru │ │ │ -0001fef0: 6e6e 696e 6720 434d 4420 2874 6872 6f75 nning CMD (throu │ │ │ -0001ff00: 6768 0a60 6167 6461 322d 676f 616c 2d63 gh.`agda2-goal-c │ │ │ -0001ff10: 6d64 273b 0a53 4156 4520 6973 2075 7365 md';.SAVE is use │ │ │ -0001ff20: 6420 6173 2060 6167 6461 322d 676f 616c d as `agda2-goal │ │ │ -0001ff30: 2d63 6d64 2773 2053 4156 4520 6172 6775 -cmd's SAVE argu │ │ │ -0001ff40: 6d65 6e74 2061 6e64 0a57 414e 5420 6973 ment and.WANT is │ │ │ -0001ff50: 2075 7365 6420 6173 2060 6167 6461 322d used as `agda2- │ │ │ -0001ff60: 676f 616c 2d63 6d64 2773 2057 414e 5420 goal-cmd's WANT │ │ │ -0001ff70: 6172 6775 6d65 6e74 292e 220a 2020 286c argument).". (l │ │ │ -0001ff80: 6574 2028 2865 7661 6c20 286d 616b 652d et ((eval (make- │ │ │ -0001ff90: 7379 6d62 6f6c 2022 6576 616c 2229 2929 symbol "eval"))) │ │ │ -0001ffa0: 0a20 2060 2864 6566 756e 202c 6e61 6d65 . `(defun ,name │ │ │ -0001ffb0: 2028 266f 7074 696f 6e61 6c20 7072 6566 (&optional pref │ │ │ -0001ffc0: 6978 290a 2020 2020 202c 2863 6f6e 6361 ix). ,(conca │ │ │ -0001ffd0: 7420 636f 6d6d 656e 7420 222e 0a0a 5468 t comment "...Th │ │ │ -0001ffe0: 6520 6163 7469 6f6e 2064 6570 656e 6473 e action depends │ │ │ -0001fff0: 206f 6e20 7468 6520 7072 6566 6978 2061 on the prefix a │ │ │ -00020000: 7267 756d 656e 743a 0a0a 2a20 4966 2074 rgument:..* If t │ │ │ -00020010: 6865 2070 7265 6669 7820 6172 6775 6d65 he prefix argume │ │ │ -00020020: 6e74 2069 7320 606e 696c 2720 2869 2e65 nt is `nil' (i.e │ │ │ -00020030: 2e2c 2069 6620 6e6f 2070 7265 6669 7820 ., if no prefix │ │ │ -00020040: 6172 6775 6d65 6e74 2069 730a 2020 6769 argument is. gi │ │ │ -00020050: 7665 6e29 2c20 7468 656e 206e 6f20 666f ven), then no fo │ │ │ -00020060: 7263 6520 6973 2061 7070 6c69 6564 2e0a rce is applied.. │ │ │ -00020070: 0a2a 2049 6620 616e 7920 6f74 6865 7220 .* If any other │ │ │ -00020080: 7072 6566 6978 2061 7267 756d 656e 7420 prefix argument │ │ │ -00020090: 6973 2075 7365 6420 2866 6f72 2069 6e73 is used (for ins │ │ │ -000200a0: 7461 6e63 652c 2069 6620 432d 7520 6973 tance, if C-u is │ │ │ -000200b0: 0a20 2074 7970 6564 206f 6e63 6520 6f72 . typed once or │ │ │ -000200c0: 2074 7769 6365 2072 6967 6874 2062 6566 twice right bef │ │ │ -000200d0: 6f72 6520 7468 6520 636f 6d6d 616e 6420 ore the command │ │ │ -000200e0: 6973 2069 6e76 6f6b 6564 292c 2074 6865 is invoked), the │ │ │ -000200f0: 6e0a 2020 666f 7263 6520 6973 2061 7070 n. force is app │ │ │ -00020100: 6c69 6564 2e22 290a 2020 2020 2028 696e lied."). (in │ │ │ -00020110: 7465 7261 6374 6976 6520 2250 2229 0a20 teractive "P"). │ │ │ -00020120: 2020 2020 286c 6574 2028 282c 6576 616c (let ((,eval │ │ │ -00020130: 2028 636f 6e64 2028 2865 7175 616c 2070 (cond ((equal p │ │ │ -00020140: 7265 6669 7820 6e69 6c29 2022 5769 7468 refix nil) "With │ │ │ -00020150: 6f75 7446 6f72 6365 2229 0a20 2020 2020 outForce"). │ │ │ +0001f7c0: 3b3b 3b3b 3b3b 3b0a 3b3b 3b3b 2055 7365 ;;;;;;;.;;;; Use │ │ │ +0001f7d0: 7220 636f 6d6d 616e 6473 2061 6e64 2072 r commands and r │ │ │ +0001f7e0: 6573 706f 6e73 6520 7072 6f63 6573 7369 esponse processi │ │ │ +0001f7f0: 6e67 0a0a 2864 6566 756e 2061 6764 6132 ng..(defun agda2 │ │ │ +0001f800: 2d6c 6f61 6420 2829 0a20 2022 4c6f 6164 -load (). "Load │ │ │ +0001f810: 2063 7572 7265 6e74 2062 7566 6665 722e current buffer. │ │ │ +0001f820: 220a 2020 2869 6e74 6572 6163 7469 7665 ". (interactive │ │ │ +0001f830: 290a 2020 2861 6764 6132 2d67 6f20 2773 ). (agda2-go 's │ │ │ +0001f840: 6176 6520 7420 2762 7573 7920 7420 2243 ave t 'busy t "C │ │ │ +0001f850: 6d64 5f6c 6f61 6422 0a20 2020 2020 2020 md_load". │ │ │ +0001f860: 2020 2020 2028 6167 6461 322d 7374 7269 (agda2-stri │ │ │ +0001f870: 6e67 2d71 756f 7465 2028 6275 6666 6572 ng-quote (buffer │ │ │ +0001f880: 2d66 696c 652d 6e61 6d65 2929 0a20 2020 -file-name)). │ │ │ +0001f890: 2020 2020 2020 2020 2028 6167 6461 322d (agda2- │ │ │ +0001f8a0: 6c69 7374 2d71 756f 7465 2061 6764 6132 list-quote agda2 │ │ │ +0001f8b0: 2d70 726f 6772 616d 2d61 7267 7329 0a20 -program-args). │ │ │ +0001f8c0: 2020 2020 2020 2020 2020 2029 290a 0a28 ))..( │ │ │ +0001f8d0: 6465 6675 6e20 6167 6461 322d 7265 6164 defun agda2-read │ │ │ +0001f8e0: 2d62 6163 6b65 6e64 2028 290a 2020 2247 -backend (). "G │ │ │ +0001f8f0: 6574 2074 6865 2063 7572 7265 6e74 6c79 et the currently │ │ │ +0001f900: 2073 6574 2062 6163 6b65 6e64 2066 726f set backend fro │ │ │ +0001f910: 6d20 7468 6520 6061 6764 6132 2d62 6163 m the `agda2-bac │ │ │ +0001f920: 6b65 6e64 2720 7661 7269 6162 6c65 2c0a kend' variable,. │ │ │ +0001f930: 6f72 2061 736b 2074 6865 2075 7365 7220 or ask the user │ │ │ +0001f940: 666f 7220 696e 7075 7420 696e 2063 6173 for input in cas │ │ │ +0001f950: 6520 7468 6520 7661 7269 6162 6c65 2069 e the variable i │ │ │ +0001f960: 7320 6e6f 7420 7365 742e 220a 2020 286c s not set.". (l │ │ │ +0001f970: 6574 2028 286e 616d 6520 2863 6f6e 640a et ((name (cond. │ │ │ +0001f980: 2020 2020 2828 6571 7561 6c20 6167 6461 ((equal agda │ │ │ +0001f990: 322d 6261 636b 656e 6420 224d 416c 6f6e 2-backend "MAlon │ │ │ +0001f9a0: 7a6f 2229 2020 2020 2020 2022 4748 4322 zo") "GHC" │ │ │ +0001f9b0: 290a 2020 2020 2828 6571 7561 6c20 6167 ). ((equal ag │ │ │ +0001f9c0: 6461 322d 6261 636b 656e 6420 224d 416c da2-backend "MAl │ │ │ +0001f9d0: 6f6e 7a6f 4e6f 4d61 696e 2229 2022 4748 onzoNoMain") "GH │ │ │ +0001f9e0: 434e 6f4d 6169 6e22 290a 2020 2020 2828 CNoMain"). (( │ │ │ +0001f9f0: 6571 7561 6c20 6167 6461 322d 6261 636b equal agda2-back │ │ │ +0001fa00: 656e 6420 6e69 6c29 0a20 2020 2020 2028 end nil). ( │ │ │ +0001fa10: 636f 6d70 6c65 7469 6e67 2d72 6561 6420 completing-read │ │ │ +0001fa20: 2242 6163 6b65 6e64 3a20 2220 6167 6461 "Backend: " agda │ │ │ +0001fa30: 322d 6261 636b 656e 6473 206e 696c 206e 2-backends nil n │ │ │ +0001fa40: 696c 206e 696c 206e 696c 206e 696c 2027 il nil nil nil ' │ │ │ +0001fa50: 696e 6865 7269 742d 696e 7075 742d 6d65 inherit-input-me │ │ │ +0001fa60: 7468 6f64 2929 0a20 2020 2028 7420 6167 thod)). (t ag │ │ │ +0001fa70: 6461 322d 6261 636b 656e 6429 2929 290a da2-backend)))). │ │ │ +0001fa80: 2020 2877 6865 6e20 2865 7175 616c 206e (when (equal n │ │ │ +0001fa90: 616d 6520 2222 2920 2865 7272 6f72 2022 ame "") (error " │ │ │ +0001faa0: 4e6f 2062 6163 6b65 6e64 2063 686f 7365 No backend chose │ │ │ +0001fab0: 6e22 2929 0a20 206e 616d 6529 290a 0a28 n")). name))..( │ │ │ +0001fac0: 6465 6675 6e20 6167 6461 322d 636f 6d70 defun agda2-comp │ │ │ +0001fad0: 696c 6520 2862 6163 6b65 6e64 290a 2020 ile (backend). │ │ │ +0001fae0: 2243 6f6d 7069 6c65 2074 6865 2063 7572 "Compile the cur │ │ │ +0001faf0: 7265 6e74 206d 6f64 756c 6520 7573 696e rent module usin │ │ │ +0001fb00: 6720 4241 434b 454e 442e 0a0a 5468 6520 g BACKEND...The │ │ │ +0001fb10: 7661 7269 6162 6c65 2060 6167 6461 322d variable `agda2- │ │ │ +0001fb20: 6261 636b 656e 6427 2064 6574 6572 6d69 backend' determi │ │ │ +0001fb30: 6e65 7320 7768 6963 6820 6261 636b 656e nes which backen │ │ │ +0001fb40: 6420 6973 2075 7365 642e 220a 2020 2869 d is used.". (i │ │ │ +0001fb50: 6e74 6572 6163 7469 7665 2028 6c69 7374 nteractive (list │ │ │ +0001fb60: 2028 6167 6461 322d 7265 6164 2d62 6163 (agda2-read-bac │ │ │ +0001fb70: 6b65 6e64 2929 290a 2020 2861 6764 6132 kend))). (agda2 │ │ │ +0001fb80: 2d67 6f20 2773 6176 6520 7420 2762 7573 -go 'save t 'bus │ │ │ +0001fb90: 7920 7420 2243 6d64 5f63 6f6d 7069 6c65 y t "Cmd_compile │ │ │ +0001fba0: 220a 2020 2020 2020 2020 2020 2020 6261 ". ba │ │ │ +0001fbb0: 636b 656e 640a 2020 2020 2020 2020 2020 ckend. │ │ │ +0001fbc0: 2020 2861 6764 6132 2d73 7472 696e 672d (agda2-string- │ │ │ +0001fbd0: 7175 6f74 6520 2862 7566 6665 722d 6669 quote (buffer-fi │ │ │ +0001fbe0: 6c65 2d6e 616d 6529 290a 2020 2020 2020 le-name)). │ │ │ +0001fbf0: 2020 2020 2020 2861 6764 6132 2d6c 6973 (agda2-lis │ │ │ +0001fc00: 742d 7175 6f74 6520 6167 6461 322d 7072 t-quote agda2-pr │ │ │ +0001fc10: 6f67 7261 6d2d 6172 6773 290a 2020 2020 ogram-args). │ │ │ +0001fc20: 2020 2020 2020 2020 2929 0a0a 2864 6566 ))..(def │ │ │ +0001fc30: 756e 2061 6764 6132 2d62 6163 6b65 6e64 un agda2-backend │ │ │ +0001fc40: 2d63 6d64 2028 6261 636b 656e 6420 7061 -cmd (backend pa │ │ │ +0001fc50: 796c 6f61 6429 0a20 2022 5275 6e20 7468 yload). "Run th │ │ │ +0001fc60: 6520 6375 7272 656e 7420 6261 636b 656e e current backen │ │ │ +0001fc70: 6427 7320 2866 726f 6d20 7661 7269 6162 d's (from variab │ │ │ +0001fc80: 6c65 2060 6167 6461 322d 6261 636b 656e le `agda2-backen │ │ │ +0001fc90: 6460 2920 696e 7465 7261 6374 696f 6e20 d`) interaction │ │ │ +0001fca0: 636f 6d6d 616e 642e 220a 2020 2869 6e74 command.". (int │ │ │ +0001fcb0: 6572 6163 7469 7665 2028 6c69 7374 2028 eractive (list ( │ │ │ +0001fcc0: 6167 6461 322d 7265 6164 2d62 6163 6b65 agda2-read-backe │ │ │ +0001fcd0: 6e64 2920 286f 7220 6167 6461 322d 6261 nd) (or agda2-ba │ │ │ +0001fce0: 636b 656e 642d 6465 6661 756c 742d 7061 ckend-default-pa │ │ │ +0001fcf0: 796c 6f61 6420 2872 6561 642d 7374 7269 yload (read-stri │ │ │ +0001fd00: 6e67 2022 5061 796c 6f61 643a 2022 2929 ng "Payload: ")) │ │ │ +0001fd10: 2929 0a20 2028 6966 2028 6167 6461 322d )). (if (agda2- │ │ │ +0001fd20: 676f 616c 2d61 7420 2870 6f69 6e74 2929 goal-at (point)) │ │ │ +0001fd30: 0a20 2020 2020 2861 6764 6132 2d67 6f61 . (agda2-goa │ │ │ +0001fd40: 6c2d 636d 6420 2243 6d64 5f62 6163 6b65 l-cmd "Cmd_backe │ │ │ +0001fd50: 6e64 5f68 6f6c 6522 206e 696c 2027 676f nd_hole" nil 'go │ │ │ +0001fd60: 616c 206e 696c 2062 6163 6b65 6e64 2028 al nil backend ( │ │ │ +0001fd70: 6167 6461 322d 7374 7269 6e67 2d71 756f agda2-string-quo │ │ │ +0001fd80: 7465 2070 6179 6c6f 6164 2929 0a20 2020 te payload)). │ │ │ +0001fd90: 2020 2861 6764 6132 2d67 6f20 2773 6176 (agda2-go 'sav │ │ │ +0001fda0: 6520 7420 2762 7573 7920 7420 2243 6d64 e t 'busy t "Cmd │ │ │ +0001fdb0: 5f62 6163 6b65 6e64 5f74 6f70 2220 6261 _backend_top" ba │ │ │ +0001fdc0: 636b 656e 6420 2861 6764 6132 2d73 7472 ckend (agda2-str │ │ │ +0001fdd0: 696e 672d 7175 6f74 6520 7061 796c 6f61 ing-quote payloa │ │ │ +0001fde0: 6429 290a 2020 290a 290a 0a28 6465 666d d)). ).)..(defm │ │ │ +0001fdf0: 6163 726f 2061 6764 6132 2d6d 6179 6265 acro agda2-maybe │ │ │ +0001fe00: 2d66 6f72 6365 6420 286e 616d 6520 636f -forced (name co │ │ │ +0001fe10: 6d6d 656e 7420 636d 6420 7361 7665 2077 mment cmd save w │ │ │ +0001fe20: 616e 7429 0a20 2022 5468 6973 206d 6163 ant). "This mac │ │ │ +0001fe30: 726f 2063 6f6e 7374 7275 6374 7320 6120 ro constructs a │ │ │ +0001fe40: 6675 6e63 7469 6f6e 204e 414d 4520 7768 function NAME wh │ │ │ +0001fe50: 6963 6820 7275 6e73 2043 4d44 2e0a 434f ich runs CMD..CO │ │ │ +0001fe60: 4d4d 454e 5420 6973 2075 7365 6420 746f MMENT is used to │ │ │ +0001fe70: 2062 7569 6c64 2074 6865 2066 756e 6374 build the funct │ │ │ +0001fe80: 696f 6e27 7320 636f 6d6d 656e 742e 2054 ion's comment. T │ │ │ +0001fe90: 6865 2066 756e 6374 696f 6e0a 4e41 4d45 he function.NAME │ │ │ +0001fea0: 2074 616b 6573 2061 2070 7265 6669 7820 takes a prefix │ │ │ +0001feb0: 6172 6775 6d65 6e74 2077 6869 6368 2074 argument which t │ │ │ +0001fec0: 656c 6c73 2077 6865 7468 6572 2069 7420 ells whether it │ │ │ +0001fed0: 7368 6f75 6c64 0a61 7070 6c79 2066 6f72 should.apply for │ │ │ +0001fee0: 6365 206f 7220 6e6f 7420 7768 656e 2072 ce or not when r │ │ │ +0001fef0: 756e 6e69 6e67 2043 4d44 2028 7468 726f unning CMD (thro │ │ │ +0001ff00: 7567 680a 6061 6764 6132 2d67 6f61 6c2d ugh.`agda2-goal- │ │ │ +0001ff10: 636d 6427 3b0a 5341 5645 2069 7320 7573 cmd';.SAVE is us │ │ │ +0001ff20: 6564 2061 7320 6061 6764 6132 2d67 6f61 ed as `agda2-goa │ │ │ +0001ff30: 6c2d 636d 6427 7320 5341 5645 2061 7267 l-cmd's SAVE arg │ │ │ +0001ff40: 756d 656e 7420 616e 640a 5741 4e54 2069 ument and.WANT i │ │ │ +0001ff50: 7320 7573 6564 2061 7320 6061 6764 6132 s used as `agda2 │ │ │ +0001ff60: 2d67 6f61 6c2d 636d 6427 7320 5741 4e54 -goal-cmd's WANT │ │ │ +0001ff70: 2061 7267 756d 656e 7429 2e22 0a20 2028 argument).". ( │ │ │ +0001ff80: 6c65 7420 2828 6576 616c 2028 6d61 6b65 let ((eval (make │ │ │ +0001ff90: 2d73 796d 626f 6c20 2265 7661 6c22 2929 -symbol "eval")) │ │ │ +0001ffa0: 290a 2020 6028 6465 6675 6e20 2c6e 616d ). `(defun ,nam │ │ │ +0001ffb0: 6520 2826 6f70 7469 6f6e 616c 2070 7265 e (&optional pre │ │ │ +0001ffc0: 6669 7829 0a20 2020 2020 2c28 636f 6e63 fix). ,(conc │ │ │ +0001ffd0: 6174 2063 6f6d 6d65 6e74 2022 2e0a 0a54 at comment "...T │ │ │ +0001ffe0: 6865 2061 6374 696f 6e20 6465 7065 6e64 he action depend │ │ │ +0001fff0: 7320 6f6e 2074 6865 2070 7265 6669 7820 s on the prefix │ │ │ +00020000: 6172 6775 6d65 6e74 3a0a 0a2a 2049 6620 argument:..* If │ │ │ +00020010: 7468 6520 7072 6566 6978 2061 7267 756d the prefix argum │ │ │ +00020020: 656e 7420 6973 2060 6e69 6c27 2028 692e ent is `nil' (i. │ │ │ +00020030: 652e 2c20 6966 206e 6f20 7072 6566 6978 e., if no prefix │ │ │ +00020040: 2061 7267 756d 656e 7420 6973 0a20 2067 argument is. g │ │ │ +00020050: 6976 656e 292c 2074 6865 6e20 6e6f 2066 iven), then no f │ │ │ +00020060: 6f72 6365 2069 7320 6170 706c 6965 642e orce is applied. │ │ │ +00020070: 0a0a 2a20 4966 2061 6e79 206f 7468 6572 ..* If any other │ │ │ +00020080: 2070 7265 6669 7820 6172 6775 6d65 6e74 prefix argument │ │ │ +00020090: 2069 7320 7573 6564 2028 666f 7220 696e is used (for in │ │ │ +000200a0: 7374 616e 6365 2c20 6966 2043 2d75 2069 stance, if C-u i │ │ │ +000200b0: 730a 2020 7479 7065 6420 6f6e 6365 206f s. typed once o │ │ │ +000200c0: 7220 7477 6963 6520 7269 6768 7420 6265 r twice right be │ │ │ +000200d0: 666f 7265 2074 6865 2063 6f6d 6d61 6e64 fore the command │ │ │ +000200e0: 2069 7320 696e 766f 6b65 6429 2c20 7468 is invoked), th │ │ │ +000200f0: 656e 0a20 2066 6f72 6365 2069 7320 6170 en. force is ap │ │ │ +00020100: 706c 6965 642e 2229 0a20 2020 2020 2869 plied."). (i │ │ │ +00020110: 6e74 6572 6163 7469 7665 2022 5022 290a nteractive "P"). │ │ │ +00020120: 2020 2020 2028 6c65 7420 2828 2c65 7661 (let ((,eva │ │ │ +00020130: 6c20 2863 6f6e 6420 2828 6571 7561 6c20 l (cond ((equal │ │ │ +00020140: 7072 6566 6978 206e 696c 2920 2257 6974 prefix nil) "Wit │ │ │ +00020150: 686f 7574 466f 7263 6522 290a 2020 2020 houtForce"). │ │ │ 00020160: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00020170: 2020 2028 2257 6974 6846 6f72 6365 2229 ("WithForce") │ │ │ -00020180: 2929 290a 2020 2020 2020 2028 6167 6461 ))). (agda │ │ │ -00020190: 322d 676f 616c 2d63 6d64 2028 636f 6e63 2-goal-cmd (conc │ │ │ -000201a0: 6174 202c 636d 6420 2220 2220 2c65 7661 at ,cmd " " ,eva │ │ │ -000201b0: 6c29 0a20 2020 2020 2020 2020 2020 2020 l). │ │ │ -000201c0: 2020 2020 2020 2020 2020 2c73 6176 6520 ,save │ │ │ -000201d0: 2c77 616e 7429 2929 2929 0a0a 2861 6764 ,want)))))..(agd │ │ │ -000201e0: 6132 2d6d 6179 6265 2d66 6f72 6365 640a a2-maybe-forced. │ │ │ -000201f0: 2020 6167 6461 322d 6769 7665 0a20 2022 agda2-give. " │ │ │ -00020200: 4769 7665 2074 6f20 7468 6520 676f 616c Give to the goal │ │ │ -00020210: 2061 7420 706f 696e 7420 7468 6520 6578 at point the ex │ │ │ -00020220: 7072 6573 7369 6f6e 2069 6e20 6974 220a pression in it". │ │ │ -00020230: 2020 2243 6d64 5f67 6976 6522 0a20 2027 "Cmd_give". ' │ │ │ -00020240: 7361 7665 0a20 2022 6578 7072 6573 7369 save. "expressi │ │ │ -00020250: 6f6e 2074 6f20 6769 7665 2229 0a0a 3b3b on to give")..;; │ │ │ -00020260: 2028 6465 6675 6e20 6167 6461 322d 6769 (defun agda2-gi │ │ │ -00020270: 7665 2829 0a3b 3b20 2020 2247 6976 6520 ve().;; "Give │ │ │ -00020280: 746f 2074 6865 2067 6f61 6c20 6174 2070 to the goal at p │ │ │ -00020290: 6f69 6e74 2074 6865 2065 7870 7265 7373 oint the express │ │ │ -000202a0: 696f 6e20 696e 2069 7422 2028 696e 7465 ion in it" (inte │ │ │ -000202b0: 7261 6374 6976 6529 0a3b 3b20 2020 2861 ractive).;; (a │ │ │ -000202c0: 6764 6132 2d67 6f61 6c2d 636d 6420 2243 gda2-goal-cmd "C │ │ │ -000202d0: 6d64 5f67 6976 6522 2027 7361 7665 2022 md_give" 'save " │ │ │ -000202e0: 6578 7072 6573 7369 6f6e 2074 6f20 6769 expression to gi │ │ │ -000202f0: 7665 2229 290a 0a28 6465 6675 6e20 6167 ve"))..(defun ag │ │ │ -00020300: 6461 322d 6769 7665 2d61 6374 696f 6e20 da2-give-action │ │ │ -00020310: 286f 6c64 2d67 2070 6172 656e 290a 2020 (old-g paren). │ │ │ -00020320: 2255 7064 6174 6520 7468 6520 676f 616c "Update the goal │ │ │ -00020330: 204f 4c44 2d47 2077 6974 6820 7468 6520 OLD-G with the │ │ │ -00020340: 6578 7072 6573 7369 6f6e 2069 6e20 6974 expression in it │ │ │ -00020350: 2e22 0a20 2028 6c65 740a 2020 2020 203b .". (let. ; │ │ │ -00020360: 3b20 446f 6e27 7420 7275 6e20 6d6f 6469 ; Don't run modi │ │ │ -00020370: 6669 6361 7469 6f6e 2068 6f6f 6b73 3a20 fication hooks: │ │ │ -00020380: 7765 2064 6f6e 2774 2077 616e 7420 7468 we don't want th │ │ │ -00020390: 6973 2074 6f0a 2020 2020 2020 3b3b 2074 is to. ;; t │ │ │ -000203a0: 7269 6767 6572 2061 6764 6132 2d61 626f rigger agda2-abo │ │ │ -000203b0: 7274 2d68 6967 686c 6967 6874 696e 672e rt-highlighting. │ │ │ -000203c0: 0a20 2020 2020 2028 2869 6e68 6962 6974 . ((inhibit │ │ │ -000203d0: 2d6d 6f64 6966 6963 6174 696f 6e2d 686f -modification-ho │ │ │ -000203e0: 6f6b 7320 7429 290a 2020 2861 6764 6132 oks t)). (agda2 │ │ │ -000203f0: 2d75 7064 6174 6520 6f6c 642d 6720 7061 -update old-g pa │ │ │ -00020400: 7265 6e29 2929 0a0a 2864 6566 756e 2061 ren)))..(defun a │ │ │ -00020410: 6764 6132 2d72 6566 696e 6520 2870 6d6c gda2-refine (pml │ │ │ -00020420: 616d 6264 6129 0a20 2022 5265 6669 6e65 ambda). "Refine │ │ │ -00020430: 2074 6865 2067 6f61 6c20 6174 2070 6f69 the goal at poi │ │ │ -00020440: 6e74 2e0a 4966 2074 6865 2067 6f61 6c20 nt..If the goal │ │ │ -00020450: 636f 6e74 6169 6e73 2061 6e20 6578 7072 contains an expr │ │ │ -00020460: 6573 7369 6f6e 2065 2c20 616e 6420 736f ession e, and so │ │ │ -00020470: 6d65 205c 2273 7566 6669 785c 2220 6f66 me \"suffix\" of │ │ │ -00020480: 2074 6865 0a74 7970 6520 6f66 2065 2075 the.type of e u │ │ │ -00020490: 6e69 6669 6573 2077 6974 6820 7468 6520 nifies with the │ │ │ -000204a0: 676f 616c 2074 7970 652c 2074 6865 6e20 goal type, then │ │ │ -000204b0: 7468 6520 676f 616c 2069 7320 7265 706c the goal is repl │ │ │ -000204c0: 6163 6564 0a62 7920 6520 6170 706c 6965 aced.by e applie │ │ │ -000204d0: 6420 746f 2061 2073 7569 7461 626c 6520 d to a suitable │ │ │ -000204e0: 6e75 6d62 6572 206f 6620 6e65 7720 676f number of new go │ │ │ -000204f0: 616c 732e 0a0a 504d 4c41 4d42 4441 2069 als...PMLAMBDA i │ │ │ -00020500: 7320 6f6e 6c79 2075 7365 6420 6966 2074 s only used if t │ │ │ -00020510: 6865 2067 6f61 6c20 6861 7320 6120 6675 he goal has a fu │ │ │ -00020520: 6e63 7469 6f6e 616c 2074 7970 652e 0a57 nctional type..W │ │ │ -00020530: 6865 6e20 7468 6520 7072 6566 6978 2061 hen the prefix a │ │ │ -00020540: 7267 756d 656e 7420 6973 2067 6976 656e rgument is given │ │ │ -00020550: 2061 2070 6174 7465 726e 206d 6163 6869 a pattern machi │ │ │ -00020560: 6e67 206c 616d 6264 6120 7769 6c6c 0a62 ng lambda will.b │ │ │ -00020570: 6520 696e 7365 7274 6564 2c20 6f74 6865 e inserted, othe │ │ │ -00020580: 7277 6973 6520 6120 7374 616e 6461 7264 rwise a standard │ │ │ -00020590: 206c 616d 6264 6120 7769 6c6c 2062 6520 lambda will be │ │ │ -000205a0: 7573 6564 2e0a 0a49 6620 7468 6520 676f used...If the go │ │ │ -000205b0: 616c 2069 7320 656d 7074 792c 2074 6865 al is empty, the │ │ │ -000205c0: 2067 6f61 6c20 7479 7065 2069 7320 6120 goal type is a │ │ │ -000205d0: 6461 7461 2074 7970 652c 2061 6e64 2074 data type, and t │ │ │ -000205e0: 6865 7265 2069 730a 6578 6163 746c 7920 here is.exactly │ │ │ -000205f0: 6f6e 6520 636f 6e73 7472 7563 746f 7220 one constructor │ │ │ -00020600: 7768 6963 6820 756e 6966 6965 7320 7769 which unifies wi │ │ │ -00020610: 7468 2074 6869 7320 7479 7065 2c20 7468 th this type, th │ │ │ -00020620: 656e 2074 6865 0a67 6f61 6c20 6973 2072 en the.goal is r │ │ │ -00020630: 6570 6c61 6365 6420 6279 2074 6865 2063 eplaced by the c │ │ │ -00020640: 6f6e 7374 7275 6374 6f72 2061 7070 6c69 onstructor appli │ │ │ -00020650: 6564 2074 6f20 6120 7375 6974 6162 6c65 ed to a suitable │ │ │ -00020660: 206e 756d 6265 720a 6f66 206e 6577 2067 number.of new g │ │ │ -00020670: 6f61 6c73 2e22 0a20 2028 696e 7465 7261 oals.". (intera │ │ │ -00020680: 6374 6976 6520 2250 2229 0a20 2028 6966 ctive "P"). (if │ │ │ -00020690: 2070 6d6c 616d 6264 610a 2020 2020 2020 pmlambda. │ │ │ -000206a0: 2861 6764 6132 2d67 6f61 6c2d 636d 6420 (agda2-goal-cmd │ │ │ -000206b0: 2243 6d64 5f72 6566 696e 655f 6f72 5f69 "Cmd_refine_or_i │ │ │ -000206c0: 6e74 726f 2054 7275 6522 2027 7361 7665 ntro True" 'save │ │ │ -000206d0: 2027 676f 616c 290a 2020 2020 2861 6764 'goal). (agd │ │ │ -000206e0: 6132 2d67 6f61 6c2d 636d 6420 2243 6d64 a2-goal-cmd "Cmd │ │ │ -000206f0: 5f72 6566 696e 655f 6f72 5f69 6e74 726f _refine_or_intro │ │ │ -00020700: 2046 616c 7365 2220 2773 6176 6520 2767 False" 'save 'g │ │ │ -00020710: 6f61 6c29 2929 0a0a 2864 6566 756e 2061 oal)))..(defun a │ │ │ -00020720: 6764 6132 2d6d 616b 652d 6361 7365 2028 gda2-make-case ( │ │ │ -00020730: 290a 2020 2252 6566 696e 6520 7468 6520 ). "Refine the │ │ │ -00020740: 7061 7474 6572 6e20 7661 7269 6162 6c65 pattern variable │ │ │ -00020750: 7320 6769 7665 6e20 696e 2074 6865 2067 s given in the g │ │ │ -00020760: 6f61 6c2e 0a41 7373 756d 6573 2074 6861 oal..Assumes tha │ │ │ -00020770: 7420 3c63 6c61 7573 653e 203d 207b 213c t = {!< │ │ │ -00020780: 7661 7269 6162 6c65 733e 217d 2069 7320 variables>!} is │ │ │ -00020790: 6f6e 206f 6e65 206c 696e 652e 220a 2020 on one line.". │ │ │ -000207a0: 2869 6e74 6572 6163 7469 7665 290a 2020 (interactive). │ │ │ -000207b0: 2861 6764 6132 2d67 6f61 6c2d 636d 6420 (agda2-goal-cmd │ │ │ -000207c0: 2243 6d64 5f6d 616b 655f 6361 7365 2220 "Cmd_make_case" │ │ │ -000207d0: 2773 6176 6520 2270 6174 7465 726e 2076 'save "pattern v │ │ │ -000207e0: 6172 6961 626c 6573 2074 6f20 6361 7365 ariables to case │ │ │ -000207f0: 2028 656d 7074 7920 666f 7220 7370 6c69 (empty for spli │ │ │ -00020800: 7420 6f6e 2072 6573 756c 7429 2229 290a t on result)")). │ │ │ -00020810: 0a28 6465 6675 6e20 6167 6461 322d 6d61 .(defun agda2-ma │ │ │ -00020820: 6b65 2d63 6173 652d 6163 7469 6f6e 2028 ke-case-action ( │ │ │ -00020830: 6e65 7763 6c73 290a 2020 2252 6570 6c61 newcls). "Repla │ │ │ -00020840: 6365 2074 6865 206c 696e 6520 6174 2070 ce the line at p │ │ │ -00020850: 6f69 6e74 2077 6974 6820 6e65 7720 636c oint with new cl │ │ │ -00020860: 6175 7365 7320 4e45 5743 4c53 2061 6e64 auses NEWCLS and │ │ │ -00020870: 2072 656c 6f61 642e 220a 2020 2861 6764 reload.". (agd │ │ │ -00020880: 6132 2d66 6f72 6765 742d 616c 6c2d 676f a2-forget-all-go │ │ │ -00020890: 616c 7329 3b3b 2077 6520 7265 6c6f 6164 als);; we reload │ │ │ -000208a0: 206c 6174 6572 2061 6e79 7761 792e 0a20 later anyway.. │ │ │ -000208b0: 2028 6c65 742a 2028 2870 3020 2870 6f69 (let* ((p0 (poi │ │ │ -000208c0: 6e74 2929 0a20 2020 2020 2020 2020 2870 nt)). (p │ │ │ -000208d0: 3120 2867 6f74 6f2d 6368 6172 2028 2b20 1 (goto-char (+ │ │ │ -000208e0: 2863 7572 7265 6e74 2d69 6e64 656e 7461 (current-indenta │ │ │ -000208f0: 7469 6f6e 2920 286c 696e 652d 6265 6769 tion) (line-begi │ │ │ -00020900: 6e6e 696e 672d 706f 7369 7469 6f6e 2929 nning-position)) │ │ │ -00020910: 2929 0a20 2020 2020 2020 2020 2869 6e64 )). (ind │ │ │ -00020920: 656e 7420 2863 7572 7265 6e74 2d63 6f6c ent (current-col │ │ │ -00020930: 756d 6e29 290a 2020 2020 2020 2020 2063 umn)). c │ │ │ -00020940: 6c29 0a20 2020 2028 6465 6c65 7465 2d72 l). (delete-r │ │ │ -00020950: 6567 696f 6e20 7031 2028 6c69 6e65 2d65 egion p1 (line-e │ │ │ -00020960: 6e64 2d70 6f73 6974 696f 6e29 290a 2020 nd-position)). │ │ │ -00020970: 2020 2877 6869 6c65 2028 7365 7471 2063 (while (setq c │ │ │ -00020980: 6c20 2870 6f70 206e 6577 636c 7329 290a l (pop newcls)). │ │ │ -00020990: 2020 2020 2020 2869 6e73 6572 7420 636c (insert cl │ │ │ -000209a0: 290a 2020 2020 2020 2869 6620 6e65 7763 ). (if newc │ │ │ -000209b0: 6c73 2028 696e 7365 7274 2022 5c6e 2220 ls (insert "\n" │ │ │ -000209c0: 286d 616b 652d 7374 7269 6e67 2069 6e64 (make-string ind │ │ │ -000209d0: 656e 7420 3f20 2029 2929 290a 2020 2020 ent ? )))). │ │ │ -000209e0: 2867 6f74 6f2d 6368 6172 2070 3029 290a (goto-char p0)). │ │ │ -000209f0: 2020 2861 6764 6132 2d6c 6f61 6429 290a (agda2-load)). │ │ │ -00020a00: 0a28 6465 6675 6e20 6167 6461 322d 6d61 .(defun agda2-ma │ │ │ -00020a10: 6b65 2d63 6173 652d 6163 7469 6f6e 2d65 ke-case-action-e │ │ │ -00020a20: 7874 656e 646c 616d 2028 6e65 7763 6c73 xtendlam (newcls │ │ │ -00020a30: 290a 2020 2252 6570 6c61 6365 2064 6566 ). "Replace def │ │ │ -00020a40: 696e 6974 696f 6e20 6f66 2065 7874 656e inition of exten │ │ │ -00020a50: 6465 6420 6c61 6d62 6461 2077 6974 6820 ded lambda with │ │ │ -00020a60: 6e65 7720 636c 6175 7365 7320 4e45 5743 new clauses NEWC │ │ │ -00020a70: 4c53 2061 6e64 2072 656c 6f61 642e 220a LS and reload.". │ │ │ -00020a80: 2020 2861 6764 6132 2d66 6f72 6765 742d (agda2-forget- │ │ │ -00020a90: 616c 6c2d 676f 616c 7329 3b3b 2077 6520 all-goals);; we │ │ │ -00020aa0: 7265 6c6f 6164 206c 6174 6572 2061 6e79 reload later any │ │ │ -00020ab0: 7761 792e 0a20 2028 6c65 742a 2028 2870 way.. (let* ((p │ │ │ -00020ac0: 3020 2870 6f69 6e74 2929 0a20 2020 2020 0 (point)). │ │ │ -00020ad0: 2020 2020 2870 6d61 7820 2872 652d 7365 (pmax (re-se │ │ │ -00020ae0: 6172 6368 2d66 6f72 7761 7264 2022 217d arch-forward "!} │ │ │ -00020af0: 2229 290a 2020 2020 2020 2020 2028 6272 ")). (br │ │ │ -00020b00: 6163 6b65 7443 6f75 6e74 2030 290a 2020 acketCount 0). │ │ │ -00020b10: 2020 2020 2020 2028 7031 2028 676f 746f (p1 (goto │ │ │ -00020b20: 2d63 6861 7220 282b 2028 6375 7272 656e -char (+ (curren │ │ │ -00020b30: 742d 696e 6465 6e74 6174 696f 6e29 2028 t-indentation) ( │ │ │ -00020b40: 6c69 6e65 2d62 6567 696e 6e69 6e67 2d70 line-beginning-p │ │ │ -00020b50: 6f73 6974 696f 6e29 2929 290a 2020 2020 osition)))). │ │ │ -00020b60: 2020 2020 2028 696e 6465 6e74 2028 6375 (indent (cu │ │ │ -00020b70: 7272 656e 742d 636f 6c75 6d6e 2929 0a20 rrent-column)). │ │ │ -00020b80: 2020 2020 2020 2020 636c 290a 2020 2020 cl). │ │ │ -00020b90: 2867 6f74 6f2d 6368 6172 2070 3029 0a20 (goto-char p0). │ │ │ -00020ba0: 2020 2028 7265 2d73 6561 7263 682d 6261 (re-search-ba │ │ │ -00020bb0: 636b 7761 7264 2022 7b21 2229 0a20 2020 ckward "{!"). │ │ │ -00020bc0: 2028 7768 696c 6520 2861 6e64 2028 6e6f (while (and (no │ │ │ -00020bd0: 7420 2865 7175 616c 2028 7072 6563 6564 t (equal (preced │ │ │ -00020be0: 696e 672d 6368 6172 2920 3f5c 3b29 2920 ing-char) ?\;)) │ │ │ -00020bf0: 283e 3d20 6272 6163 6b65 7443 6f75 6e74 (>= bracketCount │ │ │ -00020c00: 2030 2920 283e 2028 706f 696e 7429 2070 0) (> (point) p │ │ │ -00020c10: 3129 290a 2020 2020 2020 2862 6163 6b77 1)). (backw │ │ │ -00020c20: 6172 642d 6368 6172 290a 2020 2020 2020 ard-char). │ │ │ -00020c30: 2869 6620 2865 7175 616c 2028 7072 6563 (if (equal (prec │ │ │ -00020c40: 6564 696e 672d 6368 6172 2920 3f7d 2920 eding-char) ?}) │ │ │ -00020c50: 2863 6c2d 696e 6366 2062 7261 636b 6574 (cl-incf bracket │ │ │ -00020c60: 436f 756e 7429 290a 2020 2020 2020 2869 Count)). (i │ │ │ -00020c70: 6620 2865 7175 616c 2028 7072 6563 6564 f (equal (preced │ │ │ -00020c80: 696e 672d 6368 6172 2920 3f7b 2920 2863 ing-char) ?{) (c │ │ │ -00020c90: 6c2d 6465 6366 2062 7261 636b 6574 436f l-decf bracketCo │ │ │ -00020ca0: 756e 7429 2929 0a20 2020 2028 6c65 742a unt))). (let* │ │ │ -00020cb0: 2028 2869 732d 6c61 6d62 6461 2d77 6865 ((is-lambda-whe │ │ │ -00020cc0: 7265 2028 3d20 2870 6f69 6e74 2920 7031 re (= (point) p1 │ │ │ -00020cd0: 2929 0a20 2020 2020 2020 2020 2020 2870 )). (p │ │ │ -00020ce0: 2028 706f 696e 7429 2929 0a20 2020 2020 (point))). │ │ │ -00020cf0: 2028 6465 6c65 7465 2d72 6567 696f 6e20 (delete-region │ │ │ -00020d00: 2870 6f69 6e74 2920 706d 6178 290a 2020 (point) pmax). │ │ │ -00020d10: 2020 2020 2869 6620 286e 6f74 2069 732d (if (not is- │ │ │ -00020d20: 6c61 6d62 6461 2d77 6865 7265 2920 2869 lambda-where) (i │ │ │ -00020d30: 6e73 6572 7420 2220 2229 290a 2020 2020 nsert " ")). │ │ │ -00020d40: 2020 2877 6869 6c65 2028 7365 7471 2063 (while (setq c │ │ │ -00020d50: 6c20 2870 6f70 206e 6577 636c 7329 290a l (pop newcls)). │ │ │ -00020d60: 2020 2020 2020 2020 2869 6e73 6572 7420 (insert │ │ │ -00020d70: 636c 290a 2020 2020 2020 2020 2869 6620 cl). (if │ │ │ -00020d80: 6e65 7763 6c73 2028 6966 2069 732d 6c61 newcls (if is-la │ │ │ -00020d90: 6d62 6461 2d77 6865 7265 2028 696e 7365 mbda-where (inse │ │ │ -00020da0: 7274 2022 5c6e 2220 286d 616b 652d 7374 rt "\n" (make-st │ │ │ -00020db0: 7269 6e67 2069 6e64 656e 7420 3f20 2929 ring indent ? )) │ │ │ -00020dc0: 2028 696e 7365 7274 2022 203b 2022 2929 (insert " ; ")) │ │ │ -00020dd0: 2929 0a20 2020 2020 2028 676f 746f 2d63 )). (goto-c │ │ │ -00020de0: 6861 7220 7029 2929 0a20 2028 6167 6461 har p))). (agda │ │ │ -00020df0: 322d 6c6f 6164 2929 0a0a 2864 6566 756e 2-load))..(defun │ │ │ -00020e00: 2061 6764 6132 2d73 7461 7475 732d 6163 agda2-status-ac │ │ │ -00020e10: 7469 6f6e 2028 7374 6174 7573 290a 2020 tion (status). │ │ │ -00020e20: 2244 6973 706c 6179 2074 6865 2073 7472 "Display the str │ │ │ -00020e30: 696e 6720 5354 4154 5553 2069 6e20 7468 ing STATUS in th │ │ │ -00020e40: 6520 6375 7272 656e 7420 6275 6666 6572 e current buffer │ │ │ -00020e50: 2773 206d 6f64 6520 6c69 6e65 2e0a 5c28 's mode line..\( │ │ │ -00020e60: 7072 6563 6f6e 6469 7469 6f6e 3a20 7468 precondition: th │ │ │ -00020e70: 6520 6375 7272 656e 7420 6275 6666 6572 e current buffer │ │ │ -00020e80: 2068 6173 2074 6f20 7573 6520 7468 6520 has to use the │ │ │ -00020e90: 4167 6461 206d 6f64 6520 6173 2074 6865 Agda mode as the │ │ │ -00020ea0: 0a6d 616a 6f72 206d 6f64 6529 2e22 0a20 .major mode).". │ │ │ -00020eb0: 2028 7365 7471 2061 6764 6132 2d62 7566 (setq agda2-buf │ │ │ -00020ec0: 6665 722d 6578 7465 726e 616c 2d73 7461 fer-external-sta │ │ │ -00020ed0: 7475 7320 7374 6174 7573 290a 2020 2866 tus status). (f │ │ │ -00020ee0: 6f72 6365 2d6d 6f64 652d 6c69 6e65 2d75 orce-mode-line-u │ │ │ -00020ef0: 7064 6174 6529 290a 0a28 6465 666d 6163 pdate))..(defmac │ │ │ -00020f00: 726f 2061 6764 6132 2d69 6e66 6f72 6d61 ro agda2-informa │ │ │ -00020f10: 7469 6f6e 2d62 7566 6665 7220 2862 7566 tion-buffer (buf │ │ │ -00020f20: 6665 7220 6b69 6e64 2074 6974 6c65 290a fer kind title). │ │ │ -00020f30: 2020 2255 7365 6420 746f 2064 6566 696e "Used to defin │ │ │ -00020f40: 6520 6675 6e63 7469 6f6e 7320 6c69 6b65 e functions like │ │ │ -00020f50: 2060 6167 6461 322d 696e 666f 2d62 7566 `agda2-info-buf │ │ │ -00020f60: 6665 7227 2e22 0a20 2060 2864 6566 756e fer'.". `(defun │ │ │ -00020f70: 202c 6275 6666 6572 206e 696c 0a20 2020 ,buffer nil. │ │ │ -00020f80: 2020 2c28 636f 6e63 6174 2022 4372 6561 ,(concat "Crea │ │ │ -00020f90: 7465 7320 7468 6520 4167 6461 2022 206b tes the Agda " k │ │ │ -00020fa0: 696e 640a 2020 2020 2020 2020 2020 2020 ind. │ │ │ -00020fb0: 2020 2220 6275 6666 6572 2c20 6966 2069 " buffer, if i │ │ │ -00020fc0: 7420 646f 6573 206e 6f74 2061 6c72 6561 t does not alrea │ │ │ -00020fd0: 6479 2065 7869 7374 2e0a 5468 6520 6275 dy exist..The bu │ │ │ -00020fe0: 6666 6572 2069 7320 7265 7475 726e 6564 ffer is returned │ │ │ -00020ff0: 2e22 290a 2020 2875 6e6c 6573 7320 2862 ."). (unless (b │ │ │ -00021000: 7566 6665 722d 6c69 7665 2d70 202c 6275 uffer-live-p ,bu │ │ │ -00021010: 6666 6572 290a 2020 2020 2873 6574 7120 ffer). (setq │ │ │ -00021020: 2c62 7566 6665 720a 2020 2020 2020 2020 ,buffer. │ │ │ -00021030: 2020 2867 656e 6572 6174 652d 6e65 772d (generate-new- │ │ │ -00021040: 6275 6666 6572 202c 7469 746c 6529 290a buffer ,title)). │ │ │ -00021050: 0a20 2020 2028 7769 7468 2d63 7572 7265 . (with-curre │ │ │ -00021060: 6e74 2d62 7566 6665 7220 2c62 7566 6665 nt-buffer ,buffe │ │ │ -00021070: 720a 2020 2020 2020 2863 6f6d 7069 6c61 r. (compila │ │ │ -00021080: 7469 6f6e 2d6d 6f64 6520 2241 6764 6149 tion-mode "AgdaI │ │ │ -00021090: 6e66 6f22 290a 2020 2020 2020 3b3b 2053 nfo"). ;; S │ │ │ -000210a0: 7570 706f 7274 2066 6f72 206a 756d 7069 upport for jumpi │ │ │ -000210b0: 6e67 2074 6f20 706f 7369 7469 6f6e 7320 ng to positions │ │ │ -000210c0: 6d65 6e74 696f 6e65 6420 696e 2074 6865 mentioned in the │ │ │ -000210d0: 2074 6578 742e 0a20 2020 2020 2028 7365 text.. (se │ │ │ -000210e0: 7420 286d 616b 652d 6c6f 6361 6c2d 7661 t (make-local-va │ │ │ -000210f0: 7269 6162 6c65 2027 636f 6d70 696c 6174 riable 'compilat │ │ │ -00021100: 696f 6e2d 6572 726f 722d 7265 6765 7870 ion-error-regexp │ │ │ -00021110: 2d61 6c69 7374 290a 2020 2020 2020 2020 -alist). │ │ │ -00021120: 2020 2027 2828 225c 5c28 5b5c 5c5c 5c2f '(("\\([\\\\/ │ │ │ -00021130: 5d5b 5e5b 3a73 7061 6365 3a5d 5d2a 5c5c ][^[:space:]]*\\ │ │ │ -00021140: 293a 5c5c 285b 302d 395d 2b5c 5c29 5c5c ):\\([0-9]+\\)\\ │ │ │ -00021150: 2e5c 5c28 5b30 2d39 5d2b 5c5c 295c 5c28 .\\([0-9]+\\)\\( │ │ │ -00021160: 2d5c 5c28 5c5c 285b 302d 395d 2b5c 5c29 -\\(\\([0-9]+\\) │ │ │ -00021170: 5c5c 2e5c 5c29 3f5c 5c28 5b30 2d39 5d2b \\.\\)?\\([0-9]+ │ │ │ -00021180: 5c5c 295c 5c29 3f22 0a20 2020 2020 2020 \\)\\)?". │ │ │ -00021190: 2020 2020 2020 2031 2028 3220 2e20 3629 1 (2 . 6) │ │ │ -000211a0: 2028 3320 2e20 3729 2929 290a 2020 2020 (3 . 7)))). │ │ │ -000211b0: 2020 3b3b 2044 6f20 6e6f 7420 736b 6970 ;; Do not skip │ │ │ -000211c0: 2065 7272 6f72 7320 7468 6174 2073 7461 errors that sta │ │ │ -000211d0: 7274 2069 6e20 7468 6520 7361 6d65 2070 rt in the same p │ │ │ -000211e0: 6f73 6974 696f 6e20 6173 2074 6865 0a20 osition as the. │ │ │ -000211f0: 2020 2020 203b 3b20 6375 7272 656e 7420 ;; current │ │ │ -00021200: 6f6e 652e 0a20 2020 2020 2028 7365 7420 one.. (set │ │ │ -00021210: 286d 616b 652d 6c6f 6361 6c2d 7661 7269 (make-local-vari │ │ │ -00021220: 6162 6c65 2027 636f 6d70 696c 6174 696f able 'compilatio │ │ │ -00021230: 6e2d 736b 6970 2d74 6f2d 6e65 7874 2d6c n-skip-to-next-l │ │ │ -00021240: 6f63 6174 696f 6e29 206e 696c 290a 2020 ocation) nil). │ │ │ -00021250: 2020 2020 3b3b 204e 6f20 7375 7070 6f72 ;; No suppor │ │ │ -00021260: 7420 666f 7220 7265 636f 6d70 696c 6174 t for recompilat │ │ │ -00021270: 696f 6e2e 2054 6865 206b 6579 2062 696e ion. The key bin │ │ │ -00021280: 6469 6e67 2069 7320 7265 6d6f 7665 642c ding is removed, │ │ │ -00021290: 2061 6e64 0a20 2020 2020 203b 3b20 6174 and. ;; at │ │ │ -000212a0: 7465 6d70 7473 2074 6f20 7275 6e20 6072 tempts to run `r │ │ │ -000212b0: 6563 6f6d 7069 6c65 2720 7769 6c6c 2028 ecompile' will ( │ │ │ -000212c0: 686f 7065 6675 6c6c 7929 2072 6573 756c hopefully) resul │ │ │ -000212d0: 7420 696e 2061 6e0a 2020 2020 2020 3b3b t in an. ;; │ │ │ -000212e0: 2065 7272 6f72 2e0a 2020 2020 2020 286c error.. (l │ │ │ -000212f0: 6574 2028 286d 6170 2028 636f 7079 2d6b et ((map (copy-k │ │ │ -00021300: 6579 6d61 7020 2863 7572 7265 6e74 2d6c eymap (current-l │ │ │ -00021310: 6f63 616c 2d6d 6170 2929 2929 0a20 2020 ocal-map)))). │ │ │ -00021320: 2020 2020 2028 6465 6669 6e65 2d6b 6579 (define-key │ │ │ -00021330: 206d 6170 2028 6b62 6420 2267 2229 2027 map (kbd "g") ' │ │ │ -00021340: 756e 6465 6669 6e65 6429 0a20 2020 2020 undefined). │ │ │ -00021350: 2020 2028 7573 652d 6c6f 6361 6c2d 6d61 (use-local-ma │ │ │ -00021360: 7020 6d61 7029 290a 2020 2020 2020 2873 p map)). (s │ │ │ -00021370: 6574 2028 6d61 6b65 2d6c 6f63 616c 2d76 et (make-local-v │ │ │ -00021380: 6172 6961 626c 6520 2763 6f6d 7069 6c65 ariable 'compile │ │ │ -00021390: 2d63 6f6d 6d61 6e64 290a 2020 2020 2020 -command). │ │ │ -000213a0: 2020 2020 2027 6167 6461 322d 646f 6573 'agda2-does │ │ │ -000213b0: 2d6e 6f74 2d73 7570 706f 7274 2d63 6f6d -not-support-com │ │ │ -000213c0: 7069 6c61 7469 6f6e 2d76 6961 2d74 6865 pilation-via-the │ │ │ -000213d0: 2d63 6f6d 7069 6c61 7469 6f6e 2d6d 6f64 -compilation-mod │ │ │ -000213e0: 6529 0a0a 2020 2020 2020 2873 6574 2d73 e).. (set-s │ │ │ -000213f0: 796e 7461 782d 7461 626c 6520 6167 6461 yntax-table agda │ │ │ -00021400: 322d 6d6f 6465 2d73 796e 7461 782d 7461 2-mode-syntax-ta │ │ │ -00021410: 626c 6529 0a20 2020 2020 2028 7365 7420 ble). (set │ │ │ -00021420: 286d 616b 652d 6c6f 6361 6c2d 7661 7269 (make-local-vari │ │ │ -00021430: 6162 6c65 2027 776f 7264 2d63 6f6d 6269 able 'word-combi │ │ │ -00021440: 6e69 6e67 2d63 6174 6567 6f72 6965 7329 ning-categories) │ │ │ -00021450: 2028 636f 6e73 2027 286e 696c 202e 206e (cons '(nil . n │ │ │ -00021460: 696c 2920 776f 7264 2d63 6f6d 6269 6e69 il) word-combini │ │ │ -00021470: 6e67 2d63 6174 6567 6f72 6965 7329 290a ng-categories)). │ │ │ -00021480: 2020 2020 2020 2873 6574 2d69 6e70 7574 (set-input │ │ │ -00021490: 2d6d 6574 686f 6420 2241 6764 6122 2929 -method "Agda")) │ │ │ -000214a0: 290a 0a20 202c 6275 6666 6572 2929 0a0a ).. ,buffer)).. │ │ │ -000214b0: 2861 6764 6132 2d69 6e66 6f72 6d61 7469 (agda2-informati │ │ │ -000214c0: 6f6e 2d62 7566 6665 7220 6167 6461 322d on-buffer agda2- │ │ │ -000214d0: 696e 666f 2d62 7566 6665 7220 2269 6e66 info-buffer "inf │ │ │ -000214e0: 6f22 2022 2a41 6764 6120 696e 666f 726d o" "*Agda inform │ │ │ -000214f0: 6174 696f 6e2a 2229 0a0a 2864 6566 756e ation*")..(defun │ │ │ -00021500: 2061 6764 6132 2d69 6e66 6f2d 6163 7469 agda2-info-acti │ │ │ -00021510: 6f6e 2028 6e61 6d65 2074 6578 7420 266f on (name text &o │ │ │ -00021520: 7074 696f 6e61 6c20 6170 7065 6e64 290a ptional append). │ │ │ -00021530: 2020 2249 6e73 6572 7420 5445 5854 2069 "Insert TEXT i │ │ │ -00021540: 6e74 6f20 7468 6520 4167 6461 2069 6e66 nto the Agda inf │ │ │ -00021550: 6f20 6275 6666 6572 2061 6e64 2064 6973 o buffer and dis │ │ │ -00021560: 706c 6179 2069 742e 0a4e 414d 4520 6973 play it..NAME is │ │ │ -00021570: 2064 6973 706c 6179 6564 2069 6e20 7468 displayed in th │ │ │ -00021580: 6520 6275 6666 6572 2773 206d 6f64 6520 e buffer's mode │ │ │ -00021590: 6c69 6e65 2e0a 0a49 6620 4150 5045 4e44 line...If APPEND │ │ │ -000215a0: 2069 7320 6e6f 6e2d 6e69 6c2c 2074 6865 is non-nil, the │ │ │ -000215b0: 6e20 5445 5854 2069 7320 6170 7065 6e64 n TEXT is append │ │ │ -000215c0: 6564 2061 7420 7468 6520 656e 6420 6f66 ed at the end of │ │ │ -000215d0: 2074 6865 0a62 7566 6665 722c 2061 6e64 the.buffer, and │ │ │ -000215e0: 2070 6f69 6e74 2070 6c61 6365 6420 6166 point placed af │ │ │ -000215f0: 7465 7220 7468 6973 2074 6578 742e 0a0a ter this text... │ │ │ -00021600: 4966 2041 5050 454e 4420 6973 206e 696c If APPEND is nil │ │ │ -00021610: 2c20 7468 656e 2061 6e79 2070 7265 7669 , then any previ │ │ │ -00021620: 6f75 7320 7465 7874 2069 7320 7265 6d6f ous text is remo │ │ │ -00021630: 7665 6420 6265 666f 7265 2054 4558 540a ved before TEXT. │ │ │ -00021640: 6973 2069 6e73 6572 7465 642c 2061 6e64 is inserted, and │ │ │ -00021650: 2070 6f69 6e74 2069 7320 706c 6163 6564 point is placed │ │ │ -00021660: 2062 6566 6f72 6520 7468 6973 2074 6578 before this tex │ │ │ -00021670: 742e 220a 2020 2869 6e74 6572 6163 7469 t.". (interacti │ │ │ -00021680: 7665 290a 2020 286c 6574 2028 2862 7566 ve). (let ((buf │ │ │ -00021690: 2028 6167 6461 322d 696e 666f 2d62 7566 (agda2-info-buf │ │ │ -000216a0: 6665 7229 2929 0a20 2020 2028 7769 7468 fer))). (with │ │ │ -000216b0: 2d63 7572 7265 6e74 2d62 7566 6665 7220 -current-buffer │ │ │ -000216c0: 6275 660a 2020 2020 2020 3b3b 2049 6e20 buf. ;; In │ │ │ -000216d0: 736f 6d65 2063 6173 6573 2074 6865 206a some cases the j │ │ │ -000216e0: 756d 702d 746f 2d70 6f73 6974 696f 6e2d ump-to-position- │ │ │ -000216f0: 6d65 6e74 696f 6e65 642d 696e 2d74 6578 mentioned-in-tex │ │ │ -00021700: 740a 2020 2020 2020 3b3b 2066 756e 6374 t. ;; funct │ │ │ -00021710: 696f 6e61 6c69 7479 2028 7365 6520 636f ionality (see co │ │ │ -00021720: 6d70 696c 6174 696f 6e2d 6572 726f 722d mpilation-error- │ │ │ -00021730: 7265 6765 7870 2d61 6c69 7374 2061 626f regexp-alist abo │ │ │ -00021740: 7665 290a 2020 2020 2020 3b3b 2064 6964 ve). ;; did │ │ │ -00021750: 6e27 7420 776f 726b 3a20 456d 6163 7320 n't work: Emacs │ │ │ -00021760: 6a75 6d70 6564 2074 6f20 7468 6520 7772 jumped to the wr │ │ │ -00021770: 6f6e 6720 706f 7369 7469 6f6e 2e20 486f ong position. Ho │ │ │ -00021780: 7765 7665 722c 2069 740a 2020 2020 2020 wever, it. │ │ │ -00021790: 3b3b 2073 6565 6d73 2074 6f20 776f 726b ;; seems to work │ │ │ -000217a0: 2069 6620 636f 6d70 696c 6174 696f 6e2d if compilation- │ │ │ -000217b0: 666f 7267 6574 2d65 7272 6f72 7320 6973 forget-errors is │ │ │ -000217c0: 2075 7365 642e 2054 6869 730a 2020 2020 used. This. │ │ │ -000217d0: 2020 3b3b 2070 726f 626c 656d 206d 6179 ;; problem may │ │ │ -000217e0: 2062 6520 7265 6c61 7465 6420 746f 2045 be related to E │ │ │ -000217f0: 6d61 6373 2062 7567 2023 3936 3739 0a20 macs bug #9679. │ │ │ -00021800: 2020 2020 203b 3b20 2868 7474 703a 2f2f ;; (http:// │ │ │ -00021810: 6465 6262 7567 732e 676e 752e 6f72 672f debbugs.gnu.org/ │ │ │ -00021820: 6367 692f 6275 6772 6570 6f72 742e 6367 cgi/bugreport.cg │ │ │ -00021830: 693f 6275 673d 3936 3739 292e 2054 6865 i?bug=9679). The │ │ │ -00021840: 2069 6465 610a 2020 2020 2020 3b3b 2074 idea. ;; t │ │ │ -00021850: 6f20 7573 6520 636f 6d70 696c 6174 696f o use compilatio │ │ │ -00021860: 6e2d 666f 7267 6574 2d65 7272 6f72 7320 n-forget-errors │ │ │ -00021870: 636f 6d65 7320 6672 6f6d 2061 2063 6f6d comes from a com │ │ │ -00021880: 6d65 6e74 2064 7565 2074 6f0a 2020 2020 ment due to. │ │ │ -00021890: 2020 3b3b 204f 6c65 6b73 616e 6472 204d ;; Oleksandr M │ │ │ -000218a0: 616e 7a79 756b 0a20 2020 2020 203b 3b20 anzyuk. ;; │ │ │ -000218b0: 2868 7474 7073 3a2f 2f67 6974 6875 622e (https://github. │ │ │ -000218c0: 636f 6d2f 6861 736b 656c 6c2f 6861 736b com/haskell/hask │ │ │ -000218d0: 656c 6c2d 6d6f 6465 2f69 7373 7565 732f ell-mode/issues/ │ │ │ -000218e0: 3637 292e 0a20 2020 2020 2028 636f 6d70 67).. (comp │ │ │ -000218f0: 696c 6174 696f 6e2d 666f 7267 6574 2d65 ilation-forget-e │ │ │ -00021900: 7272 6f72 7329 0a20 2020 2020 2028 756e rrors). (un │ │ │ -00021910: 6c65 7373 2061 7070 656e 6420 2865 7261 less append (era │ │ │ -00021920: 7365 2d62 7566 6665 7229 290a 2020 2020 se-buffer)). │ │ │ -00021930: 2020 2873 6176 652d 6578 6375 7273 696f (save-excursio │ │ │ -00021940: 6e0a 2020 2020 2020 2020 2867 6f74 6f2d n. (goto- │ │ │ -00021950: 6368 6172 2028 706f 696e 742d 6d61 7829 char (point-max) │ │ │ -00021960: 290a 2020 2020 2020 2020 2869 6e73 6572 ). (inser │ │ │ -00021970: 7420 7465 7874 2929 0a20 2020 2020 2028 t text)). ( │ │ │ -00021980: 7075 742d 7465 7874 2d70 726f 7065 7274 put-text-propert │ │ │ -00021990: 7920 3020 286c 656e 6774 6820 6e61 6d65 y 0 (length name │ │ │ -000219a0: 2920 2766 6163 6520 2728 3a77 6569 6768 ) 'face '(:weigh │ │ │ -000219b0: 7420 626f 6c64 2920 6e61 6d65 290a 2020 t bold) name). │ │ │ -000219c0: 2020 2020 2873 6574 7120 6d6f 6465 2d6c (setq mode-l │ │ │ -000219d0: 696e 652d 6275 6666 6572 2d69 6465 6e74 ine-buffer-ident │ │ │ -000219e0: 6966 6963 6174 696f 6e20 6e61 6d65 290a ification name). │ │ │ -000219f0: 2020 2020 2020 2866 6f72 6365 2d6d 6f64 (force-mod │ │ │ -00021a00: 652d 6c69 6e65 2d75 7064 6174 6529 290a e-line-update)). │ │ │ -00021a10: 2020 2020 3b3b 2049 6620 7468 6520 6375 ;; If the cu │ │ │ -00021a20: 7272 656e 7420 7769 6e64 6f77 2064 6973 rrent window dis │ │ │ -00021a30: 706c 6179 7320 7468 6520 696e 666f 726d plays the inform │ │ │ -00021a40: 6174 696f 6e20 6275 6666 6572 2c20 7468 ation buffer, th │ │ │ -00021a50: 656e 2074 6865 0a20 2020 203b 3b20 7769 en the. ;; wi │ │ │ -00021a60: 6e64 6f77 2063 6f6e 6669 6775 7261 7469 ndow configurati │ │ │ -00021a70: 6f6e 2069 7320 6c65 6674 2075 6e74 6f75 on is left untou │ │ │ -00021a80: 6368 6564 2e0a 2020 2020 2875 6e6c 6573 ched.. (unles │ │ │ -00021a90: 7320 2865 7175 616c 2028 7769 6e64 6f77 s (equal (window │ │ │ -00021aa0: 2d62 7566 6665 7229 2062 7566 290a 2020 -buffer) buf). │ │ │ -00021ab0: 2020 2020 286c 6574 2028 2861 6764 612d (let ((agda- │ │ │ -00021ac0: 7769 6e64 6f77 0a20 2020 2020 2020 2020 window. │ │ │ -00021ad0: 2020 2020 2028 616e 6420 6167 6461 322d (and agda2- │ │ │ -00021ae0: 6669 6c65 2d62 7566 6665 720a 2020 2020 file-buffer. │ │ │ -00021af0: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ -00021b00: 6361 722d 7361 6665 0a20 2020 2020 2020 car-safe. │ │ │ -00021b10: 2020 2020 2020 2020 2020 2020 2020 3b3b ;; │ │ │ -00021b20: 2041 6c6c 2077 696e 646f 7773 2c20 696e All windows, in │ │ │ -00021b30: 636c 7564 696e 6720 6d69 6e69 6275 6666 cluding minibuff │ │ │ -00021b40: 6572 732c 206f 6e20 616e 790a 2020 2020 ers, on any. │ │ │ +00020170: 2020 2020 2822 5769 7468 466f 7263 6522 ("WithForce" │ │ │ +00020180: 2929 2929 0a20 2020 2020 2020 2861 6764 )))). (agd │ │ │ +00020190: 6132 2d67 6f61 6c2d 636d 6420 2863 6f6e a2-goal-cmd (con │ │ │ +000201a0: 6361 7420 2c63 6d64 2022 2022 202c 6576 cat ,cmd " " ,ev │ │ │ +000201b0: 616c 290a 2020 2020 2020 2020 2020 2020 al). │ │ │ +000201c0: 2020 2020 2020 2020 2020 202c 7361 7665 ,save │ │ │ +000201d0: 202c 7761 6e74 2929 2929 290a 0a28 6167 ,want)))))..(ag │ │ │ +000201e0: 6461 322d 6d61 7962 652d 666f 7263 6564 da2-maybe-forced │ │ │ +000201f0: 0a20 2061 6764 6132 2d67 6976 650a 2020 . agda2-give. │ │ │ +00020200: 2247 6976 6520 746f 2074 6865 2067 6f61 "Give to the goa │ │ │ +00020210: 6c20 6174 2070 6f69 6e74 2074 6865 2065 l at point the e │ │ │ +00020220: 7870 7265 7373 696f 6e20 696e 2069 7422 xpression in it" │ │ │ +00020230: 0a20 2022 436d 645f 6769 7665 220a 2020 . "Cmd_give". │ │ │ +00020240: 2773 6176 650a 2020 2265 7870 7265 7373 'save. "express │ │ │ +00020250: 696f 6e20 746f 2067 6976 6522 290a 0a3b ion to give")..; │ │ │ +00020260: 3b20 2864 6566 756e 2061 6764 6132 2d67 ; (defun agda2-g │ │ │ +00020270: 6976 6528 290a 3b3b 2020 2022 4769 7665 ive().;; "Give │ │ │ +00020280: 2074 6f20 7468 6520 676f 616c 2061 7420 to the goal at │ │ │ +00020290: 706f 696e 7420 7468 6520 6578 7072 6573 point the expres │ │ │ +000202a0: 7369 6f6e 2069 6e20 6974 2220 2869 6e74 sion in it" (int │ │ │ +000202b0: 6572 6163 7469 7665 290a 3b3b 2020 2028 eractive).;; ( │ │ │ +000202c0: 6167 6461 322d 676f 616c 2d63 6d64 2022 agda2-goal-cmd " │ │ │ +000202d0: 436d 645f 6769 7665 2220 2773 6176 6520 Cmd_give" 'save │ │ │ +000202e0: 2265 7870 7265 7373 696f 6e20 746f 2067 "expression to g │ │ │ +000202f0: 6976 6522 2929 0a0a 2864 6566 756e 2061 ive"))..(defun a │ │ │ +00020300: 6764 6132 2d67 6976 652d 6163 7469 6f6e gda2-give-action │ │ │ +00020310: 2028 6f6c 642d 6720 7061 7265 6e29 0a20 (old-g paren). │ │ │ +00020320: 2022 5570 6461 7465 2074 6865 2067 6f61 "Update the goa │ │ │ +00020330: 6c20 4f4c 442d 4720 7769 7468 2074 6865 l OLD-G with the │ │ │ +00020340: 2065 7870 7265 7373 696f 6e20 696e 2069 expression in i │ │ │ +00020350: 742e 220a 2020 286c 6574 0a20 2020 2020 t.". (let. │ │ │ +00020360: 3b3b 2044 6f6e 2774 2072 756e 206d 6f64 ;; Don't run mod │ │ │ +00020370: 6966 6963 6174 696f 6e20 686f 6f6b 733a ification hooks: │ │ │ +00020380: 2077 6520 646f 6e27 7420 7761 6e74 2074 we don't want t │ │ │ +00020390: 6869 7320 746f 0a20 2020 2020 203b 3b20 his to. ;; │ │ │ +000203a0: 7472 6967 6765 7220 6167 6461 322d 6162 trigger agda2-ab │ │ │ +000203b0: 6f72 742d 6869 6768 6c69 6768 7469 6e67 ort-highlighting │ │ │ +000203c0: 2e0a 2020 2020 2020 2828 696e 6869 6269 .. ((inhibi │ │ │ +000203d0: 742d 6d6f 6469 6669 6361 7469 6f6e 2d68 t-modification-h │ │ │ +000203e0: 6f6f 6b73 2074 2929 0a20 2028 6167 6461 ooks t)). (agda │ │ │ +000203f0: 322d 7570 6461 7465 206f 6c64 2d67 2070 2-update old-g p │ │ │ +00020400: 6172 656e 2929 290a 0a28 6465 6675 6e20 aren)))..(defun │ │ │ +00020410: 6167 6461 322d 7265 6669 6e65 2028 706d agda2-refine (pm │ │ │ +00020420: 6c61 6d62 6461 290a 2020 2252 6566 696e lambda). "Refin │ │ │ +00020430: 6520 7468 6520 676f 616c 2061 7420 706f e the goal at po │ │ │ +00020440: 696e 742e 0a49 6620 7468 6520 676f 616c int..If the goal │ │ │ +00020450: 2063 6f6e 7461 696e 7320 616e 2065 7870 contains an exp │ │ │ +00020460: 7265 7373 696f 6e20 652c 2061 6e64 2073 ression e, and s │ │ │ +00020470: 6f6d 6520 5c22 7375 6666 6978 5c22 206f ome \"suffix\" o │ │ │ +00020480: 6620 7468 650a 7479 7065 206f 6620 6520 f the.type of e │ │ │ +00020490: 756e 6966 6965 7320 7769 7468 2074 6865 unifies with the │ │ │ +000204a0: 2067 6f61 6c20 7479 7065 2c20 7468 656e goal type, then │ │ │ +000204b0: 2074 6865 2067 6f61 6c20 6973 2072 6570 the goal is rep │ │ │ +000204c0: 6c61 6365 640a 6279 2065 2061 7070 6c69 laced.by e appli │ │ │ +000204d0: 6564 2074 6f20 6120 7375 6974 6162 6c65 ed to a suitable │ │ │ +000204e0: 206e 756d 6265 7220 6f66 206e 6577 2067 number of new g │ │ │ +000204f0: 6f61 6c73 2e0a 0a50 4d4c 414d 4244 4120 oals...PMLAMBDA │ │ │ +00020500: 6973 206f 6e6c 7920 7573 6564 2069 6620 is only used if │ │ │ +00020510: 7468 6520 676f 616c 2068 6173 2061 2066 the goal has a f │ │ │ +00020520: 756e 6374 696f 6e61 6c20 7479 7065 2e0a unctional type.. │ │ │ +00020530: 5768 656e 2074 6865 2070 7265 6669 7820 When the prefix │ │ │ +00020540: 6172 6775 6d65 6e74 2069 7320 6769 7665 argument is give │ │ │ +00020550: 6e20 6120 7061 7474 6572 6e20 6d61 6368 n a pattern mach │ │ │ +00020560: 696e 6720 6c61 6d62 6461 2077 696c 6c0a ing lambda will. │ │ │ +00020570: 6265 2069 6e73 6572 7465 642c 206f 7468 be inserted, oth │ │ │ +00020580: 6572 7769 7365 2061 2073 7461 6e64 6172 erwise a standar │ │ │ +00020590: 6420 6c61 6d62 6461 2077 696c 6c20 6265 d lambda will be │ │ │ +000205a0: 2075 7365 642e 0a0a 4966 2074 6865 2067 used...If the g │ │ │ +000205b0: 6f61 6c20 6973 2065 6d70 7479 2c20 7468 oal is empty, th │ │ │ +000205c0: 6520 676f 616c 2074 7970 6520 6973 2061 e goal type is a │ │ │ +000205d0: 2064 6174 6120 7479 7065 2c20 616e 6420 data type, and │ │ │ +000205e0: 7468 6572 6520 6973 0a65 7861 6374 6c79 there is.exactly │ │ │ +000205f0: 206f 6e65 2063 6f6e 7374 7275 6374 6f72 one constructor │ │ │ +00020600: 2077 6869 6368 2075 6e69 6669 6573 2077 which unifies w │ │ │ +00020610: 6974 6820 7468 6973 2074 7970 652c 2074 ith this type, t │ │ │ +00020620: 6865 6e20 7468 650a 676f 616c 2069 7320 hen the.goal is │ │ │ +00020630: 7265 706c 6163 6564 2062 7920 7468 6520 replaced by the │ │ │ +00020640: 636f 6e73 7472 7563 746f 7220 6170 706c constructor appl │ │ │ +00020650: 6965 6420 746f 2061 2073 7569 7461 626c ied to a suitabl │ │ │ +00020660: 6520 6e75 6d62 6572 0a6f 6620 6e65 7720 e number.of new │ │ │ +00020670: 676f 616c 732e 220a 2020 2869 6e74 6572 goals.". (inter │ │ │ +00020680: 6163 7469 7665 2022 5022 290a 2020 2869 active "P"). (i │ │ │ +00020690: 6620 706d 6c61 6d62 6461 0a20 2020 2020 f pmlambda. │ │ │ +000206a0: 2028 6167 6461 322d 676f 616c 2d63 6d64 (agda2-goal-cmd │ │ │ +000206b0: 2022 436d 645f 7265 6669 6e65 5f6f 725f "Cmd_refine_or_ │ │ │ +000206c0: 696e 7472 6f20 5472 7565 2220 2773 6176 intro True" 'sav │ │ │ +000206d0: 6520 2767 6f61 6c29 0a20 2020 2028 6167 e 'goal). (ag │ │ │ +000206e0: 6461 322d 676f 616c 2d63 6d64 2022 436d da2-goal-cmd "Cm │ │ │ +000206f0: 645f 7265 6669 6e65 5f6f 725f 696e 7472 d_refine_or_intr │ │ │ +00020700: 6f20 4661 6c73 6522 2027 7361 7665 2027 o False" 'save ' │ │ │ +00020710: 676f 616c 2929 290a 0a28 6465 6675 6e20 goal)))..(defun │ │ │ +00020720: 6167 6461 322d 6d61 6b65 2d63 6173 6520 agda2-make-case │ │ │ +00020730: 2829 0a20 2022 5265 6669 6e65 2074 6865 (). "Refine the │ │ │ +00020740: 2070 6174 7465 726e 2076 6172 6961 626c pattern variabl │ │ │ +00020750: 6573 2067 6976 656e 2069 6e20 7468 6520 es given in the │ │ │ +00020760: 676f 616c 2e0a 4173 7375 6d65 7320 7468 goal..Assumes th │ │ │ +00020770: 6174 203c 636c 6175 7365 3e20 3d20 7b21 at = {! │ │ │ +00020780: 3c76 6172 6961 626c 6573 3e21 7d20 6973 !} is │ │ │ +00020790: 206f 6e20 6f6e 6520 6c69 6e65 2e22 0a20 on one line.". │ │ │ +000207a0: 2028 696e 7465 7261 6374 6976 6529 0a20 (interactive). │ │ │ +000207b0: 2028 6167 6461 322d 676f 616c 2d63 6d64 (agda2-goal-cmd │ │ │ +000207c0: 2022 436d 645f 6d61 6b65 5f63 6173 6522 "Cmd_make_case" │ │ │ +000207d0: 2027 7361 7665 2022 7061 7474 6572 6e20 'save "pattern │ │ │ +000207e0: 7661 7269 6162 6c65 7320 746f 2063 6173 variables to cas │ │ │ +000207f0: 6520 2865 6d70 7479 2066 6f72 2073 706c e (empty for spl │ │ │ +00020800: 6974 206f 6e20 7265 7375 6c74 2922 2929 it on result)")) │ │ │ +00020810: 0a0a 2864 6566 756e 2061 6764 6132 2d6d ..(defun agda2-m │ │ │ +00020820: 616b 652d 6361 7365 2d61 6374 696f 6e20 ake-case-action │ │ │ +00020830: 286e 6577 636c 7329 0a20 2022 5265 706c (newcls). "Repl │ │ │ +00020840: 6163 6520 7468 6520 6c69 6e65 2061 7420 ace the line at │ │ │ +00020850: 706f 696e 7420 7769 7468 206e 6577 2063 point with new c │ │ │ +00020860: 6c61 7573 6573 204e 4557 434c 5320 616e lauses NEWCLS an │ │ │ +00020870: 6420 7265 6c6f 6164 2e22 0a20 2028 6167 d reload.". (ag │ │ │ +00020880: 6461 322d 666f 7267 6574 2d61 6c6c 2d67 da2-forget-all-g │ │ │ +00020890: 6f61 6c73 293b 3b20 7765 2072 656c 6f61 oals);; we reloa │ │ │ +000208a0: 6420 6c61 7465 7220 616e 7977 6179 2e0a d later anyway.. │ │ │ +000208b0: 2020 286c 6574 2a20 2828 7030 2028 706f (let* ((p0 (po │ │ │ +000208c0: 696e 7429 290a 2020 2020 2020 2020 2028 int)). ( │ │ │ +000208d0: 7031 2028 676f 746f 2d63 6861 7220 282b p1 (goto-char (+ │ │ │ +000208e0: 2028 6375 7272 656e 742d 696e 6465 6e74 (current-indent │ │ │ +000208f0: 6174 696f 6e29 2028 6c69 6e65 2d62 6567 ation) (line-beg │ │ │ +00020900: 696e 6e69 6e67 2d70 6f73 6974 696f 6e29 inning-position) │ │ │ +00020910: 2929 290a 2020 2020 2020 2020 2028 696e ))). (in │ │ │ +00020920: 6465 6e74 2028 6375 7272 656e 742d 636f dent (current-co │ │ │ +00020930: 6c75 6d6e 2929 0a20 2020 2020 2020 2020 lumn)). │ │ │ +00020940: 636c 290a 2020 2020 2864 656c 6574 652d cl). (delete- │ │ │ +00020950: 7265 6769 6f6e 2070 3120 286c 696e 652d region p1 (line- │ │ │ +00020960: 656e 642d 706f 7369 7469 6f6e 2929 0a20 end-position)). │ │ │ +00020970: 2020 2028 7768 696c 6520 2873 6574 7120 (while (setq │ │ │ +00020980: 636c 2028 706f 7020 6e65 7763 6c73 2929 cl (pop newcls)) │ │ │ +00020990: 0a20 2020 2020 2028 696e 7365 7274 2063 . (insert c │ │ │ +000209a0: 6c29 0a20 2020 2020 2028 6966 206e 6577 l). (if new │ │ │ +000209b0: 636c 7320 2869 6e73 6572 7420 225c 6e22 cls (insert "\n" │ │ │ +000209c0: 2028 6d61 6b65 2d73 7472 696e 6720 696e (make-string in │ │ │ +000209d0: 6465 6e74 203f 2020 2929 2929 0a20 2020 dent ? )))). │ │ │ +000209e0: 2028 676f 746f 2d63 6861 7220 7030 2929 (goto-char p0)) │ │ │ +000209f0: 0a20 2028 6167 6461 322d 6c6f 6164 2929 . (agda2-load)) │ │ │ +00020a00: 0a0a 2864 6566 756e 2061 6764 6132 2d6d ..(defun agda2-m │ │ │ +00020a10: 616b 652d 6361 7365 2d61 6374 696f 6e2d ake-case-action- │ │ │ +00020a20: 6578 7465 6e64 6c61 6d20 286e 6577 636c extendlam (newcl │ │ │ +00020a30: 7329 0a20 2022 5265 706c 6163 6520 6465 s). "Replace de │ │ │ +00020a40: 6669 6e69 7469 6f6e 206f 6620 6578 7465 finition of exte │ │ │ +00020a50: 6e64 6564 206c 616d 6264 6120 7769 7468 nded lambda with │ │ │ +00020a60: 206e 6577 2063 6c61 7573 6573 204e 4557 new clauses NEW │ │ │ +00020a70: 434c 5320 616e 6420 7265 6c6f 6164 2e22 CLS and reload." │ │ │ +00020a80: 0a20 2028 6167 6461 322d 666f 7267 6574 . (agda2-forget │ │ │ +00020a90: 2d61 6c6c 2d67 6f61 6c73 293b 3b20 7765 -all-goals);; we │ │ │ +00020aa0: 2072 656c 6f61 6420 6c61 7465 7220 616e reload later an │ │ │ +00020ab0: 7977 6179 2e0a 2020 286c 6574 2a20 2828 yway.. (let* (( │ │ │ +00020ac0: 7030 2028 706f 696e 7429 290a 2020 2020 p0 (point)). │ │ │ +00020ad0: 2020 2020 2028 706d 6178 2028 7265 2d73 (pmax (re-s │ │ │ +00020ae0: 6561 7263 682d 666f 7277 6172 6420 2221 earch-forward "! │ │ │ +00020af0: 7d22 2929 0a20 2020 2020 2020 2020 2862 }")). (b │ │ │ +00020b00: 7261 636b 6574 436f 756e 7420 3029 0a20 racketCount 0). │ │ │ +00020b10: 2020 2020 2020 2020 2870 3120 2867 6f74 (p1 (got │ │ │ +00020b20: 6f2d 6368 6172 2028 2b20 2863 7572 7265 o-char (+ (curre │ │ │ +00020b30: 6e74 2d69 6e64 656e 7461 7469 6f6e 2920 nt-indentation) │ │ │ +00020b40: 286c 696e 652d 6265 6769 6e6e 696e 672d (line-beginning- │ │ │ +00020b50: 706f 7369 7469 6f6e 2929 2929 0a20 2020 position)))). │ │ │ +00020b60: 2020 2020 2020 2869 6e64 656e 7420 2863 (indent (c │ │ │ +00020b70: 7572 7265 6e74 2d63 6f6c 756d 6e29 290a urrent-column)). │ │ │ +00020b80: 2020 2020 2020 2020 2063 6c29 0a20 2020 cl). │ │ │ +00020b90: 2028 676f 746f 2d63 6861 7220 7030 290a (goto-char p0). │ │ │ +00020ba0: 2020 2020 2872 652d 7365 6172 6368 2d62 (re-search-b │ │ │ +00020bb0: 6163 6b77 6172 6420 227b 2122 290a 2020 ackward "{!"). │ │ │ +00020bc0: 2020 2877 6869 6c65 2028 616e 6420 286e (while (and (n │ │ │ +00020bd0: 6f74 2028 6571 7561 6c20 2870 7265 6365 ot (equal (prece │ │ │ +00020be0: 6469 6e67 2d63 6861 7229 203f 5c3b 2929 ding-char) ?\;)) │ │ │ +00020bf0: 2028 3e3d 2062 7261 636b 6574 436f 756e (>= bracketCoun │ │ │ +00020c00: 7420 3029 2028 3e20 2870 6f69 6e74 2920 t 0) (> (point) │ │ │ +00020c10: 7031 2929 0a20 2020 2020 2028 6261 636b p1)). (back │ │ │ +00020c20: 7761 7264 2d63 6861 7229 0a20 2020 2020 ward-char). │ │ │ +00020c30: 2028 6966 2028 6571 7561 6c20 2870 7265 (if (equal (pre │ │ │ +00020c40: 6365 6469 6e67 2d63 6861 7229 203f 7d29 ceding-char) ?}) │ │ │ +00020c50: 2028 636c 2d69 6e63 6620 6272 6163 6b65 (cl-incf bracke │ │ │ +00020c60: 7443 6f75 6e74 2929 0a20 2020 2020 2028 tCount)). ( │ │ │ +00020c70: 6966 2028 6571 7561 6c20 2870 7265 6365 if (equal (prece │ │ │ +00020c80: 6469 6e67 2d63 6861 7229 203f 7b29 2028 ding-char) ?{) ( │ │ │ +00020c90: 636c 2d64 6563 6620 6272 6163 6b65 7443 cl-decf bracketC │ │ │ +00020ca0: 6f75 6e74 2929 290a 2020 2020 286c 6574 ount))). (let │ │ │ +00020cb0: 2a20 2828 6973 2d6c 616d 6264 612d 7768 * ((is-lambda-wh │ │ │ +00020cc0: 6572 6520 283d 2028 706f 696e 7429 2070 ere (= (point) p │ │ │ +00020cd0: 3129 290a 2020 2020 2020 2020 2020 2028 1)). ( │ │ │ +00020ce0: 7020 2870 6f69 6e74 2929 290a 2020 2020 p (point))). │ │ │ +00020cf0: 2020 2864 656c 6574 652d 7265 6769 6f6e (delete-region │ │ │ +00020d00: 2028 706f 696e 7429 2070 6d61 7829 0a20 (point) pmax). │ │ │ +00020d10: 2020 2020 2028 6966 2028 6e6f 7420 6973 (if (not is │ │ │ +00020d20: 2d6c 616d 6264 612d 7768 6572 6529 2028 -lambda-where) ( │ │ │ +00020d30: 696e 7365 7274 2022 2022 2929 0a20 2020 insert " ")). │ │ │ +00020d40: 2020 2028 7768 696c 6520 2873 6574 7120 (while (setq │ │ │ +00020d50: 636c 2028 706f 7020 6e65 7763 6c73 2929 cl (pop newcls)) │ │ │ +00020d60: 0a20 2020 2020 2020 2028 696e 7365 7274 . (insert │ │ │ +00020d70: 2063 6c29 0a20 2020 2020 2020 2028 6966 cl). (if │ │ │ +00020d80: 206e 6577 636c 7320 2869 6620 6973 2d6c newcls (if is-l │ │ │ +00020d90: 616d 6264 612d 7768 6572 6520 2869 6e73 ambda-where (ins │ │ │ +00020da0: 6572 7420 225c 6e22 2028 6d61 6b65 2d73 ert "\n" (make-s │ │ │ +00020db0: 7472 696e 6720 696e 6465 6e74 203f 2029 tring indent ? ) │ │ │ +00020dc0: 2920 2869 6e73 6572 7420 2220 3b20 2229 ) (insert " ; ") │ │ │ +00020dd0: 2929 290a 2020 2020 2020 2867 6f74 6f2d ))). (goto- │ │ │ +00020de0: 6368 6172 2070 2929 290a 2020 2861 6764 char p))). (agd │ │ │ +00020df0: 6132 2d6c 6f61 6429 290a 0a28 6465 6675 a2-load))..(defu │ │ │ +00020e00: 6e20 6167 6461 322d 7374 6174 7573 2d61 n agda2-status-a │ │ │ +00020e10: 6374 696f 6e20 2873 7461 7475 7329 0a20 ction (status). │ │ │ +00020e20: 2022 4469 7370 6c61 7920 7468 6520 7374 "Display the st │ │ │ +00020e30: 7269 6e67 2053 5441 5455 5320 696e 2074 ring STATUS in t │ │ │ +00020e40: 6865 2063 7572 7265 6e74 2062 7566 6665 he current buffe │ │ │ +00020e50: 7227 7320 6d6f 6465 206c 696e 652e 0a5c r's mode line..\ │ │ │ +00020e60: 2870 7265 636f 6e64 6974 696f 6e3a 2074 (precondition: t │ │ │ +00020e70: 6865 2063 7572 7265 6e74 2062 7566 6665 he current buffe │ │ │ +00020e80: 7220 6861 7320 746f 2075 7365 2074 6865 r has to use the │ │ │ +00020e90: 2041 6764 6120 6d6f 6465 2061 7320 7468 Agda mode as th │ │ │ +00020ea0: 650a 6d61 6a6f 7220 6d6f 6465 292e 220a e.major mode).". │ │ │ +00020eb0: 2020 2873 6574 7120 6167 6461 322d 6275 (setq agda2-bu │ │ │ +00020ec0: 6666 6572 2d65 7874 6572 6e61 6c2d 7374 ffer-external-st │ │ │ +00020ed0: 6174 7573 2073 7461 7475 7329 0a20 2028 atus status). ( │ │ │ +00020ee0: 666f 7263 652d 6d6f 6465 2d6c 696e 652d force-mode-line- │ │ │ +00020ef0: 7570 6461 7465 2929 0a0a 2864 6566 6d61 update))..(defma │ │ │ +00020f00: 6372 6f20 6167 6461 322d 696e 666f 726d cro agda2-inform │ │ │ +00020f10: 6174 696f 6e2d 6275 6666 6572 2028 6275 ation-buffer (bu │ │ │ +00020f20: 6666 6572 206b 696e 6420 7469 746c 6529 ffer kind title) │ │ │ +00020f30: 0a20 2022 5573 6564 2074 6f20 6465 6669 . "Used to defi │ │ │ +00020f40: 6e65 2066 756e 6374 696f 6e73 206c 696b ne functions lik │ │ │ +00020f50: 6520 6061 6764 6132 2d69 6e66 6f2d 6275 e `agda2-info-bu │ │ │ +00020f60: 6666 6572 272e 220a 2020 6028 6465 6675 ffer'.". `(defu │ │ │ +00020f70: 6e20 2c62 7566 6665 7220 6e69 6c0a 2020 n ,buffer nil. │ │ │ +00020f80: 2020 202c 2863 6f6e 6361 7420 2243 7265 ,(concat "Cre │ │ │ +00020f90: 6174 6573 2074 6865 2041 6764 6120 2220 ates the Agda " │ │ │ +00020fa0: 6b69 6e64 0a20 2020 2020 2020 2020 2020 kind. │ │ │ +00020fb0: 2020 2022 2062 7566 6665 722c 2069 6620 " buffer, if │ │ │ +00020fc0: 6974 2064 6f65 7320 6e6f 7420 616c 7265 it does not alre │ │ │ +00020fd0: 6164 7920 6578 6973 742e 0a54 6865 2062 ady exist..The b │ │ │ +00020fe0: 7566 6665 7220 6973 2072 6574 7572 6e65 uffer is returne │ │ │ +00020ff0: 642e 2229 0a20 2028 756e 6c65 7373 2028 d."). (unless ( │ │ │ +00021000: 6275 6666 6572 2d6c 6976 652d 7020 2c62 buffer-live-p ,b │ │ │ +00021010: 7566 6665 7229 0a20 2020 2028 7365 7471 uffer). (setq │ │ │ +00021020: 202c 6275 6666 6572 0a20 2020 2020 2020 ,buffer. │ │ │ +00021030: 2020 2028 6765 6e65 7261 7465 2d6e 6577 (generate-new │ │ │ +00021040: 2d62 7566 6665 7220 2c74 6974 6c65 2929 -buffer ,title)) │ │ │ +00021050: 0a0a 2020 2020 2877 6974 682d 6375 7272 .. (with-curr │ │ │ +00021060: 656e 742d 6275 6666 6572 202c 6275 6666 ent-buffer ,buff │ │ │ +00021070: 6572 0a20 2020 2020 2028 636f 6d70 696c er. (compil │ │ │ +00021080: 6174 696f 6e2d 6d6f 6465 2022 4167 6461 ation-mode "Agda │ │ │ +00021090: 496e 666f 2229 0a20 2020 2020 203b 3b20 Info"). ;; │ │ │ +000210a0: 5375 7070 6f72 7420 666f 7220 6a75 6d70 Support for jump │ │ │ +000210b0: 696e 6720 746f 2070 6f73 6974 696f 6e73 ing to positions │ │ │ +000210c0: 206d 656e 7469 6f6e 6564 2069 6e20 7468 mentioned in th │ │ │ +000210d0: 6520 7465 7874 2e0a 2020 2020 2020 2873 e text.. (s │ │ │ +000210e0: 6574 2028 6d61 6b65 2d6c 6f63 616c 2d76 et (make-local-v │ │ │ +000210f0: 6172 6961 626c 6520 2763 6f6d 7069 6c61 ariable 'compila │ │ │ +00021100: 7469 6f6e 2d65 7272 6f72 2d72 6567 6578 tion-error-regex │ │ │ +00021110: 702d 616c 6973 7429 0a20 2020 2020 2020 p-alist). │ │ │ +00021120: 2020 2020 2728 2822 5c5c 285b 5c5c 5c5c '(("\\([\\\\ │ │ │ +00021130: 2f5d 5b5e 5b3a 7370 6163 653a 5d5d 2a5c /][^[:space:]]*\ │ │ │ +00021140: 5c29 3a5c 5c28 5b30 2d39 5d2b 5c5c 295c \):\\([0-9]+\\)\ │ │ │ +00021150: 5c2e 5c5c 285b 302d 395d 2b5c 5c29 5c5c \.\\([0-9]+\\)\\ │ │ │ +00021160: 282d 5c5c 285c 5c28 5b30 2d39 5d2b 5c5c (-\\(\\([0-9]+\\ │ │ │ +00021170: 295c 5c2e 5c5c 293f 5c5c 285b 302d 395d )\\.\\)?\\([0-9] │ │ │ +00021180: 2b5c 5c29 5c5c 293f 220a 2020 2020 2020 +\\)\\)?". │ │ │ +00021190: 2020 2020 2020 2020 3120 2832 202e 2036 1 (2 . 6 │ │ │ +000211a0: 2920 2833 202e 2037 2929 2929 0a20 2020 ) (3 . 7)))). │ │ │ +000211b0: 2020 203b 3b20 446f 206e 6f74 2073 6b69 ;; Do not ski │ │ │ +000211c0: 7020 6572 726f 7273 2074 6861 7420 7374 p errors that st │ │ │ +000211d0: 6172 7420 696e 2074 6865 2073 616d 6520 art in the same │ │ │ +000211e0: 706f 7369 7469 6f6e 2061 7320 7468 650a position as the. │ │ │ +000211f0: 2020 2020 2020 3b3b 2063 7572 7265 6e74 ;; current │ │ │ +00021200: 206f 6e65 2e0a 2020 2020 2020 2873 6574 one.. (set │ │ │ +00021210: 2028 6d61 6b65 2d6c 6f63 616c 2d76 6172 (make-local-var │ │ │ +00021220: 6961 626c 6520 2763 6f6d 7069 6c61 7469 iable 'compilati │ │ │ +00021230: 6f6e 2d73 6b69 702d 746f 2d6e 6578 742d on-skip-to-next- │ │ │ +00021240: 6c6f 6361 7469 6f6e 2920 6e69 6c29 0a20 location) nil). │ │ │ +00021250: 2020 2020 203b 3b20 4e6f 2073 7570 706f ;; No suppo │ │ │ +00021260: 7274 2066 6f72 2072 6563 6f6d 7069 6c61 rt for recompila │ │ │ +00021270: 7469 6f6e 2e20 5468 6520 6b65 7920 6269 tion. The key bi │ │ │ +00021280: 6e64 696e 6720 6973 2072 656d 6f76 6564 nding is removed │ │ │ +00021290: 2c20 616e 640a 2020 2020 2020 3b3b 2061 , and. ;; a │ │ │ +000212a0: 7474 656d 7074 7320 746f 2072 756e 2060 ttempts to run ` │ │ │ +000212b0: 7265 636f 6d70 696c 6527 2077 696c 6c20 recompile' will │ │ │ +000212c0: 2868 6f70 6566 756c 6c79 2920 7265 7375 (hopefully) resu │ │ │ +000212d0: 6c74 2069 6e20 616e 0a20 2020 2020 203b lt in an. ; │ │ │ +000212e0: 3b20 6572 726f 722e 0a20 2020 2020 2028 ; error.. ( │ │ │ +000212f0: 6c65 7420 2828 6d61 7020 2863 6f70 792d let ((map (copy- │ │ │ +00021300: 6b65 796d 6170 2028 6375 7272 656e 742d keymap (current- │ │ │ +00021310: 6c6f 6361 6c2d 6d61 7029 2929 290a 2020 local-map)))). │ │ │ +00021320: 2020 2020 2020 2864 6566 696e 652d 6b65 (define-ke │ │ │ +00021330: 7920 6d61 7020 286b 6264 2022 6722 2920 y map (kbd "g") │ │ │ +00021340: 2775 6e64 6566 696e 6564 290a 2020 2020 'undefined). │ │ │ +00021350: 2020 2020 2875 7365 2d6c 6f63 616c 2d6d (use-local-m │ │ │ +00021360: 6170 206d 6170 2929 0a20 2020 2020 2028 ap map)). ( │ │ │ +00021370: 7365 7420 286d 616b 652d 6c6f 6361 6c2d set (make-local- │ │ │ +00021380: 7661 7269 6162 6c65 2027 636f 6d70 696c variable 'compil │ │ │ +00021390: 652d 636f 6d6d 616e 6429 0a20 2020 2020 e-command). │ │ │ +000213a0: 2020 2020 2020 2761 6764 6132 2d64 6f65 'agda2-doe │ │ │ +000213b0: 732d 6e6f 742d 7375 7070 6f72 742d 636f s-not-support-co │ │ │ +000213c0: 6d70 696c 6174 696f 6e2d 7669 612d 7468 mpilation-via-th │ │ │ +000213d0: 652d 636f 6d70 696c 6174 696f 6e2d 6d6f e-compilation-mo │ │ │ +000213e0: 6465 290a 0a20 2020 2020 2028 7365 742d de).. (set- │ │ │ +000213f0: 7379 6e74 6178 2d74 6162 6c65 2061 6764 syntax-table agd │ │ │ +00021400: 6132 2d6d 6f64 652d 7379 6e74 6178 2d74 a2-mode-syntax-t │ │ │ +00021410: 6162 6c65 290a 2020 2020 2020 2873 6574 able). (set │ │ │ +00021420: 2028 6d61 6b65 2d6c 6f63 616c 2d76 6172 (make-local-var │ │ │ +00021430: 6961 626c 6520 2777 6f72 642d 636f 6d62 iable 'word-comb │ │ │ +00021440: 696e 696e 672d 6361 7465 676f 7269 6573 ining-categories │ │ │ +00021450: 2920 2863 6f6e 7320 2728 6e69 6c20 2e20 ) (cons '(nil . │ │ │ +00021460: 6e69 6c29 2077 6f72 642d 636f 6d62 696e nil) word-combin │ │ │ +00021470: 696e 672d 6361 7465 676f 7269 6573 2929 ing-categories)) │ │ │ +00021480: 0a20 2020 2020 2028 7365 742d 696e 7075 . (set-inpu │ │ │ +00021490: 742d 6d65 7468 6f64 2022 4167 6461 2229 t-method "Agda") │ │ │ +000214a0: 2929 0a0a 2020 2c62 7566 6665 7229 290a )).. ,buffer)). │ │ │ +000214b0: 0a28 6167 6461 322d 696e 666f 726d 6174 .(agda2-informat │ │ │ +000214c0: 696f 6e2d 6275 6666 6572 2061 6764 6132 ion-buffer agda2 │ │ │ +000214d0: 2d69 6e66 6f2d 6275 6666 6572 2022 696e -info-buffer "in │ │ │ +000214e0: 666f 2220 222a 4167 6461 2069 6e66 6f72 fo" "*Agda infor │ │ │ +000214f0: 6d61 7469 6f6e 2a22 290a 0a28 6465 6675 mation*")..(defu │ │ │ +00021500: 6e20 6167 6461 322d 696e 666f 2d61 6374 n agda2-info-act │ │ │ +00021510: 696f 6e20 286e 616d 6520 7465 7874 2026 ion (name text & │ │ │ +00021520: 6f70 7469 6f6e 616c 2061 7070 656e 6429 optional append) │ │ │ +00021530: 0a20 2022 496e 7365 7274 2054 4558 5420 . "Insert TEXT │ │ │ +00021540: 696e 746f 2074 6865 2041 6764 6120 696e into the Agda in │ │ │ +00021550: 666f 2062 7566 6665 7220 616e 6420 6469 fo buffer and di │ │ │ +00021560: 7370 6c61 7920 6974 2e0a 4e41 4d45 2069 splay it..NAME i │ │ │ +00021570: 7320 6469 7370 6c61 7965 6420 696e 2074 s displayed in t │ │ │ +00021580: 6865 2062 7566 6665 7227 7320 6d6f 6465 he buffer's mode │ │ │ +00021590: 206c 696e 652e 0a0a 4966 2041 5050 454e line...If APPEN │ │ │ +000215a0: 4420 6973 206e 6f6e 2d6e 696c 2c20 7468 D is non-nil, th │ │ │ +000215b0: 656e 2054 4558 5420 6973 2061 7070 656e en TEXT is appen │ │ │ +000215c0: 6465 6420 6174 2074 6865 2065 6e64 206f ded at the end o │ │ │ +000215d0: 6620 7468 650a 6275 6666 6572 2c20 616e f the.buffer, an │ │ │ +000215e0: 6420 706f 696e 7420 706c 6163 6564 2061 d point placed a │ │ │ +000215f0: 6674 6572 2074 6869 7320 7465 7874 2e0a fter this text.. │ │ │ +00021600: 0a49 6620 4150 5045 4e44 2069 7320 6e69 .If APPEND is ni │ │ │ +00021610: 6c2c 2074 6865 6e20 616e 7920 7072 6576 l, then any prev │ │ │ +00021620: 696f 7573 2074 6578 7420 6973 2072 656d ious text is rem │ │ │ +00021630: 6f76 6564 2062 6566 6f72 6520 5445 5854 oved before TEXT │ │ │ +00021640: 0a69 7320 696e 7365 7274 6564 2c20 616e .is inserted, an │ │ │ +00021650: 6420 706f 696e 7420 6973 2070 6c61 6365 d point is place │ │ │ +00021660: 6420 6265 666f 7265 2074 6869 7320 7465 d before this te │ │ │ +00021670: 7874 2e22 0a20 2028 696e 7465 7261 6374 xt.". (interact │ │ │ +00021680: 6976 6529 0a20 2028 6c65 7420 2828 6275 ive). (let ((bu │ │ │ +00021690: 6620 2861 6764 6132 2d69 6e66 6f2d 6275 f (agda2-info-bu │ │ │ +000216a0: 6666 6572 2929 290a 2020 2020 2877 6974 ffer))). (wit │ │ │ +000216b0: 682d 6375 7272 656e 742d 6275 6666 6572 h-current-buffer │ │ │ +000216c0: 2062 7566 0a20 2020 2020 203b 3b20 496e buf. ;; In │ │ │ +000216d0: 2073 6f6d 6520 6361 7365 7320 7468 6520 some cases the │ │ │ +000216e0: 6a75 6d70 2d74 6f2d 706f 7369 7469 6f6e jump-to-position │ │ │ +000216f0: 2d6d 656e 7469 6f6e 6564 2d69 6e2d 7465 -mentioned-in-te │ │ │ +00021700: 7874 0a20 2020 2020 203b 3b20 6675 6e63 xt. ;; func │ │ │ +00021710: 7469 6f6e 616c 6974 7920 2873 6565 2063 tionality (see c │ │ │ +00021720: 6f6d 7069 6c61 7469 6f6e 2d65 7272 6f72 ompilation-error │ │ │ +00021730: 2d72 6567 6578 702d 616c 6973 7420 6162 -regexp-alist ab │ │ │ +00021740: 6f76 6529 0a20 2020 2020 203b 3b20 6469 ove). ;; di │ │ │ +00021750: 646e 2774 2077 6f72 6b3a 2045 6d61 6373 dn't work: Emacs │ │ │ +00021760: 206a 756d 7065 6420 746f 2074 6865 2077 jumped to the w │ │ │ +00021770: 726f 6e67 2070 6f73 6974 696f 6e2e 2048 rong position. H │ │ │ +00021780: 6f77 6576 6572 2c20 6974 0a20 2020 2020 owever, it. │ │ │ +00021790: 203b 3b20 7365 656d 7320 746f 2077 6f72 ;; seems to wor │ │ │ +000217a0: 6b20 6966 2063 6f6d 7069 6c61 7469 6f6e k if compilation │ │ │ +000217b0: 2d66 6f72 6765 742d 6572 726f 7273 2069 -forget-errors i │ │ │ +000217c0: 7320 7573 6564 2e20 5468 6973 0a20 2020 s used. This. │ │ │ +000217d0: 2020 203b 3b20 7072 6f62 6c65 6d20 6d61 ;; problem ma │ │ │ +000217e0: 7920 6265 2072 656c 6174 6564 2074 6f20 y be related to │ │ │ +000217f0: 456d 6163 7320 6275 6720 2339 3637 390a Emacs bug #9679. │ │ │ +00021800: 2020 2020 2020 3b3b 2028 6874 7470 3a2f ;; (http:/ │ │ │ +00021810: 2f64 6562 6275 6773 2e67 6e75 2e6f 7267 /debbugs.gnu.org │ │ │ +00021820: 2f63 6769 2f62 7567 7265 706f 7274 2e63 /cgi/bugreport.c │ │ │ +00021830: 6769 3f62 7567 3d39 3637 3929 2e20 5468 gi?bug=9679). Th │ │ │ +00021840: 6520 6964 6561 0a20 2020 2020 203b 3b20 e idea. ;; │ │ │ +00021850: 746f 2075 7365 2063 6f6d 7069 6c61 7469 to use compilati │ │ │ +00021860: 6f6e 2d66 6f72 6765 742d 6572 726f 7273 on-forget-errors │ │ │ +00021870: 2063 6f6d 6573 2066 726f 6d20 6120 636f comes from a co │ │ │ +00021880: 6d6d 656e 7420 6475 6520 746f 0a20 2020 mment due to. │ │ │ +00021890: 2020 203b 3b20 4f6c 656b 7361 6e64 7220 ;; Oleksandr │ │ │ +000218a0: 4d61 6e7a 7975 6b0a 2020 2020 2020 3b3b Manzyuk. ;; │ │ │ +000218b0: 2028 6874 7470 733a 2f2f 6769 7468 7562 (https://github │ │ │ +000218c0: 2e63 6f6d 2f68 6173 6b65 6c6c 2f68 6173 .com/haskell/has │ │ │ +000218d0: 6b65 6c6c 2d6d 6f64 652f 6973 7375 6573 kell-mode/issues │ │ │ +000218e0: 2f36 3729 2e0a 2020 2020 2020 2863 6f6d /67).. (com │ │ │ +000218f0: 7069 6c61 7469 6f6e 2d66 6f72 6765 742d pilation-forget- │ │ │ +00021900: 6572 726f 7273 290a 2020 2020 2020 2875 errors). (u │ │ │ +00021910: 6e6c 6573 7320 6170 7065 6e64 2028 6572 nless append (er │ │ │ +00021920: 6173 652d 6275 6666 6572 2929 0a20 2020 ase-buffer)). │ │ │ +00021930: 2020 2028 7361 7665 2d65 7863 7572 7369 (save-excursi │ │ │ +00021940: 6f6e 0a20 2020 2020 2020 2028 676f 746f on. (goto │ │ │ +00021950: 2d63 6861 7220 2870 6f69 6e74 2d6d 6178 -char (point-max │ │ │ +00021960: 2929 0a20 2020 2020 2020 2028 696e 7365 )). (inse │ │ │ +00021970: 7274 2074 6578 7429 290a 2020 2020 2020 rt text)). │ │ │ +00021980: 2870 7574 2d74 6578 742d 7072 6f70 6572 (put-text-proper │ │ │ +00021990: 7479 2030 2028 6c65 6e67 7468 206e 616d ty 0 (length nam │ │ │ +000219a0: 6529 2027 6661 6365 2027 283a 7765 6967 e) 'face '(:weig │ │ │ +000219b0: 6874 2062 6f6c 6429 206e 616d 6529 0a20 ht bold) name). │ │ │ +000219c0: 2020 2020 2028 7365 7471 206d 6f64 652d (setq mode- │ │ │ +000219d0: 6c69 6e65 2d62 7566 6665 722d 6964 656e line-buffer-iden │ │ │ +000219e0: 7469 6669 6361 7469 6f6e 206e 616d 6529 tification name) │ │ │ +000219f0: 0a20 2020 2020 2028 666f 7263 652d 6d6f . (force-mo │ │ │ +00021a00: 6465 2d6c 696e 652d 7570 6461 7465 2929 de-line-update)) │ │ │ +00021a10: 0a20 2020 203b 3b20 4966 2074 6865 2063 . ;; If the c │ │ │ +00021a20: 7572 7265 6e74 2077 696e 646f 7720 6469 urrent window di │ │ │ +00021a30: 7370 6c61 7973 2074 6865 2069 6e66 6f72 splays the infor │ │ │ +00021a40: 6d61 7469 6f6e 2062 7566 6665 722c 2074 mation buffer, t │ │ │ +00021a50: 6865 6e20 7468 650a 2020 2020 3b3b 2077 hen the. ;; w │ │ │ +00021a60: 696e 646f 7720 636f 6e66 6967 7572 6174 indow configurat │ │ │ +00021a70: 696f 6e20 6973 206c 6566 7420 756e 746f ion is left unto │ │ │ +00021a80: 7563 6865 642e 0a20 2020 2028 756e 6c65 uched.. (unle │ │ │ +00021a90: 7373 2028 6571 7561 6c20 2877 696e 646f ss (equal (windo │ │ │ +00021aa0: 772d 6275 6666 6572 2920 6275 6629 0a20 w-buffer) buf). │ │ │ +00021ab0: 2020 2020 2028 6c65 7420 2828 6167 6461 (let ((agda │ │ │ +00021ac0: 2d77 696e 646f 770a 2020 2020 2020 2020 -window. │ │ │ +00021ad0: 2020 2020 2020 2861 6e64 2061 6764 6132 (and agda2 │ │ │ +00021ae0: 2d66 696c 652d 6275 6666 6572 0a20 2020 -file-buffer. │ │ │ +00021af0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +00021b00: 2863 6172 2d73 6166 650a 2020 2020 2020 (car-safe. │ │ │ +00021b10: 2020 2020 2020 2020 2020 2020 2020 203b ; │ │ │ +00021b20: 3b20 416c 6c20 7769 6e64 6f77 732c 2069 ; All windows, i │ │ │ +00021b30: 6e63 6c75 6469 6e67 206d 696e 6962 7566 ncluding minibuf │ │ │ +00021b40: 6665 7273 2c20 6f6e 2061 6e79 0a20 2020 fers, on any. │ │ │ 00021b50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00021b60: 203b 3b20 6672 616d 6520 6f6e 2074 6865 ;; frame on the │ │ │ -00021b70: 2063 7572 7265 6e74 2074 6572 6d69 6e61 current termina │ │ │ -00021b80: 6c2c 2064 6973 706c 6179 696e 6720 7468 l, displaying th │ │ │ -00021b90: 650a 2020 2020 2020 2020 2020 2020 2020 e. │ │ │ -00021ba0: 2020 2020 2020 203b 3b20 7072 6573 656e ;; presen │ │ │ -00021bb0: 7420 4167 6461 2066 696c 6520 6275 6666 t Agda file buff │ │ │ -00021bc0: 6572 2e0a 2020 2020 2020 2020 2020 2020 er.. │ │ │ -00021bd0: 2020 2020 2020 2020 2028 6765 742d 6275 (get-bu │ │ │ -00021be0: 6666 6572 2d77 696e 646f 772d 6c69 7374 ffer-window-list │ │ │ -00021bf0: 2061 6764 6132 2d66 696c 652d 6275 6666 agda2-file-buff │ │ │ -00021c00: 6572 2074 2030 2929 2929 290a 2020 2020 er t 0))))). │ │ │ -00021c10: 2020 2020 2873 6176 652d 7365 6c65 6374 (save-select │ │ │ -00021c20: 6564 2d77 696e 646f 770a 2020 2020 2020 ed-window. │ │ │ -00021c30: 2020 2020 3b3b 2053 656c 6563 7420 6120 ;; Select a │ │ │ -00021c40: 7769 6e64 6f77 2064 6973 706c 6179 696e window displayin │ │ │ -00021c50: 6720 7468 6520 4167 6461 2066 696c 6520 g the Agda file │ │ │ -00021c60: 6275 6666 6572 2028 6966 2073 7563 680a buffer (if such. │ │ │ -00021c70: 2020 2020 2020 2020 2020 3b3b 2061 2077 ;; a w │ │ │ -00021c80: 696e 646f 7720 6578 6973 7473 292e 2057 indow exists). W │ │ │ -00021c90: 6974 6820 6365 7274 6169 6e20 636f 6e66 ith certain conf │ │ │ -00021ca0: 6967 7572 6174 696f 6e73 206f 660a 2020 igurations of. │ │ │ -00021cb0: 2020 2020 2020 2020 3b3b 2064 6973 706c ;; displ │ │ │ -00021cc0: 6179 2d62 7566 6665 7220 7468 6973 2073 ay-buffer this s │ │ │ -00021cd0: 686f 756c 6420 696e 6372 6561 7365 2074 hould increase t │ │ │ -00021ce0: 6865 206c 696b 656c 6968 6f6f 6420 7468 he likelihood th │ │ │ -00021cf0: 6174 0a20 2020 2020 2020 2020 203b 3b20 at. ;; │ │ │ -00021d00: 7468 6520 696e 666f 2062 7566 6665 7220 the info buffer │ │ │ -00021d10: 7769 6c6c 2062 6520 6469 7370 6c61 7965 will be displaye │ │ │ -00021d20: 6420 6f6e 2074 6865 2073 616d 6520 6672 d on the same fr │ │ │ -00021d30: 616d 652e 0a20 2020 2020 2020 2020 2028 ame.. ( │ │ │ -00021d40: 7768 656e 2061 6764 612d 7769 6e64 6f77 when agda-window │ │ │ -00021d50: 0a20 2020 2020 2020 2020 2020 2028 7365 . (se │ │ │ -00021d60: 6c65 6374 2d77 696e 646f 7720 6167 6461 lect-window agda │ │ │ -00021d70: 2d77 696e 646f 7720 276e 6f2d 7265 636f -window 'no-reco │ │ │ -00021d80: 7264 2929 0a20 2020 2020 2020 2020 2028 rd)). ( │ │ │ -00021d90: 6c65 742a 2028 3b3b 2049 6620 7468 6572 let* (;; If ther │ │ │ -00021da0: 6520 6973 206f 6e6c 7920 6f6e 6520 7769 e is only one wi │ │ │ -00021db0: 6e64 6f77 2c20 7468 656e 2074 6865 2069 ndow, then the i │ │ │ -00021dc0: 6e66 6f20 7769 6e64 6f77 0a20 2020 2020 nfo window. │ │ │ -00021dd0: 2020 2020 2020 2020 2020 2020 3b3b 2073 ;; s │ │ │ -00021de0: 686f 756c 6420 6265 2063 7265 6174 6564 hould be created │ │ │ -00021df0: 2061 626f 7665 206f 7220 6265 6c6f 7720 above or below │ │ │ -00021e00: 7468 6520 636f 6465 2077 696e 646f 772c the code window, │ │ │ -00021e10: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ -00021e20: 2020 3b3b 206e 6f74 2074 6f20 7468 6520 ;; not to the │ │ │ -00021e30: 6c65 6674 206f 7220 7269 6768 742e 0a20 left or right.. │ │ │ +00021b60: 2020 3b3b 2066 7261 6d65 206f 6e20 7468 ;; frame on th │ │ │ +00021b70: 6520 6375 7272 656e 7420 7465 726d 696e e current termin │ │ │ +00021b80: 616c 2c20 6469 7370 6c61 7969 6e67 2074 al, displaying t │ │ │ +00021b90: 6865 0a20 2020 2020 2020 2020 2020 2020 he. │ │ │ +00021ba0: 2020 2020 2020 2020 3b3b 2070 7265 7365 ;; prese │ │ │ +00021bb0: 6e74 2041 6764 6120 6669 6c65 2062 7566 nt Agda file buf │ │ │ +00021bc0: 6665 722e 0a20 2020 2020 2020 2020 2020 fer.. │ │ │ +00021bd0: 2020 2020 2020 2020 2020 2867 6574 2d62 (get-b │ │ │ +00021be0: 7566 6665 722d 7769 6e64 6f77 2d6c 6973 uffer-window-lis │ │ │ +00021bf0: 7420 6167 6461 322d 6669 6c65 2d62 7566 t agda2-file-buf │ │ │ +00021c00: 6665 7220 7420 3029 2929 2929 0a20 2020 fer t 0))))). │ │ │ +00021c10: 2020 2020 2028 7361 7665 2d73 656c 6563 (save-selec │ │ │ +00021c20: 7465 642d 7769 6e64 6f77 0a20 2020 2020 ted-window. │ │ │ +00021c30: 2020 2020 203b 3b20 5365 6c65 6374 2061 ;; Select a │ │ │ +00021c40: 2077 696e 646f 7720 6469 7370 6c61 7969 window displayi │ │ │ +00021c50: 6e67 2074 6865 2041 6764 6120 6669 6c65 ng the Agda file │ │ │ +00021c60: 2062 7566 6665 7220 2869 6620 7375 6368 buffer (if such │ │ │ +00021c70: 0a20 2020 2020 2020 2020 203b 3b20 6120 . ;; a │ │ │ +00021c80: 7769 6e64 6f77 2065 7869 7374 7329 2e20 window exists). │ │ │ +00021c90: 5769 7468 2063 6572 7461 696e 2063 6f6e With certain con │ │ │ +00021ca0: 6669 6775 7261 7469 6f6e 7320 6f66 0a20 figurations of. │ │ │ +00021cb0: 2020 2020 2020 2020 203b 3b20 6469 7370 ;; disp │ │ │ +00021cc0: 6c61 792d 6275 6666 6572 2074 6869 7320 lay-buffer this │ │ │ +00021cd0: 7368 6f75 6c64 2069 6e63 7265 6173 6520 should increase │ │ │ +00021ce0: 7468 6520 6c69 6b65 6c69 686f 6f64 2074 the likelihood t │ │ │ +00021cf0: 6861 740a 2020 2020 2020 2020 2020 3b3b hat. ;; │ │ │ +00021d00: 2074 6865 2069 6e66 6f20 6275 6666 6572 the info buffer │ │ │ +00021d10: 2077 696c 6c20 6265 2064 6973 706c 6179 will be display │ │ │ +00021d20: 6564 206f 6e20 7468 6520 7361 6d65 2066 ed on the same f │ │ │ +00021d30: 7261 6d65 2e0a 2020 2020 2020 2020 2020 rame.. │ │ │ +00021d40: 2877 6865 6e20 6167 6461 2d77 696e 646f (when agda-windo │ │ │ +00021d50: 770a 2020 2020 2020 2020 2020 2020 2873 w. (s │ │ │ +00021d60: 656c 6563 742d 7769 6e64 6f77 2061 6764 elect-window agd │ │ │ +00021d70: 612d 7769 6e64 6f77 2027 6e6f 2d72 6563 a-window 'no-rec │ │ │ +00021d80: 6f72 6429 290a 2020 2020 2020 2020 2020 ord)). │ │ │ +00021d90: 286c 6574 2a20 283b 3b20 4966 2074 6865 (let* (;; If the │ │ │ +00021da0: 7265 2069 7320 6f6e 6c79 206f 6e65 2077 re is only one w │ │ │ +00021db0: 696e 646f 772c 2074 6865 6e20 7468 6520 indow, then the │ │ │ +00021dc0: 696e 666f 2077 696e 646f 770a 2020 2020 info window. │ │ │ +00021dd0: 2020 2020 2020 2020 2020 2020 203b 3b20 ;; │ │ │ +00021de0: 7368 6f75 6c64 2062 6520 6372 6561 7465 should be create │ │ │ +00021df0: 6420 6162 6f76 6520 6f72 2062 656c 6f77 d above or below │ │ │ +00021e00: 2074 6865 2063 6f64 6520 7769 6e64 6f77 the code window │ │ │ +00021e10: 2c0a 2020 2020 2020 2020 2020 2020 2020 ,. │ │ │ +00021e20: 2020 203b 3b20 6e6f 7420 746f 2074 6865 ;; not to the │ │ │ +00021e30: 206c 6566 7420 6f72 2072 6967 6874 2e0a left or right.. │ │ │ 00021e40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00021e50: 2873 706c 6974 2d77 6964 7468 2d74 6872 (split-width-thr │ │ │ -00021e60: 6573 686f 6c64 206e 696c 290a 2020 2020 eshold nil). │ │ │ -00021e70: 2020 2020 2020 2020 2020 2020 2028 7769 (wi │ │ │ -00021e80: 6e64 6f77 0a20 2020 2020 2020 2020 2020 ndow. │ │ │ -00021e90: 2020 2020 2020 2020 2864 6973 706c 6179 (display │ │ │ -00021ea0: 2d62 7566 6665 720a 2020 2020 2020 2020 -buffer. │ │ │ -00021eb0: 2020 2020 2020 2020 2020 2020 2062 7566 buf │ │ │ -00021ec0: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ -00021ed0: 2020 2020 2020 3b3b 2055 6e64 6572 2045 ;; Under E │ │ │ -00021ee0: 6d61 6373 2032 3320 7468 6520 6566 6665 macs 23 the effe │ │ │ -00021ef0: 6374 206f 6620 7468 6520 666f 6c6c 6f77 ct of the follow │ │ │ -00021f00: 696e 670a 2020 2020 2020 2020 2020 2020 ing. │ │ │ -00021f10: 2020 2020 2020 2020 203b 3b20 6172 6775 ;; argu │ │ │ -00021f20: 6d65 6e74 2069 7320 6f6e 6c79 2074 6861 ment is only tha │ │ │ -00021f30: 7420 7468 6520 6375 7272 656e 7420 7769 t the current wi │ │ │ -00021f40: 6e64 6f77 0a20 2020 2020 2020 2020 2020 ndow. │ │ │ -00021f50: 2020 2020 2020 2020 2020 3b3b 2073 686f ;; sho │ │ │ -00021f60: 756c 6420 6e6f 7420 6265 2075 7365 642e uld not be used. │ │ │ -00021f70: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ -00021f80: 2020 2020 2020 2728 6e69 6c0a 2020 2020 '(nil. │ │ │ +00021e50: 2028 7370 6c69 742d 7769 6474 682d 7468 (split-width-th │ │ │ +00021e60: 7265 7368 6f6c 6420 6e69 6c29 0a20 2020 reshold nil). │ │ │ +00021e70: 2020 2020 2020 2020 2020 2020 2020 2877 (w │ │ │ +00021e80: 696e 646f 770a 2020 2020 2020 2020 2020 indow. │ │ │ +00021e90: 2020 2020 2020 2020 2028 6469 7370 6c61 (displa │ │ │ +00021ea0: 792d 6275 6666 6572 0a20 2020 2020 2020 y-buffer. │ │ │ +00021eb0: 2020 2020 2020 2020 2020 2020 2020 6275 bu │ │ │ +00021ec0: 660a 2020 2020 2020 2020 2020 2020 2020 f. │ │ │ +00021ed0: 2020 2020 2020 203b 3b20 556e 6465 7220 ;; Under │ │ │ +00021ee0: 456d 6163 7320 3233 2074 6865 2065 6666 Emacs 23 the eff │ │ │ +00021ef0: 6563 7420 6f66 2074 6865 2066 6f6c 6c6f ect of the follo │ │ │ +00021f00: 7769 6e67 0a20 2020 2020 2020 2020 2020 wing. │ │ │ +00021f10: 2020 2020 2020 2020 2020 3b3b 2061 7267 ;; arg │ │ │ +00021f20: 756d 656e 7420 6973 206f 6e6c 7920 7468 ument is only th │ │ │ +00021f30: 6174 2074 6865 2063 7572 7265 6e74 2077 at the current w │ │ │ +00021f40: 696e 646f 770a 2020 2020 2020 2020 2020 indow. │ │ │ +00021f50: 2020 2020 2020 2020 2020 203b 3b20 7368 ;; sh │ │ │ +00021f60: 6f75 6c64 206e 6f74 2062 6520 7573 6564 ould not be used │ │ │ +00021f70: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. │ │ │ +00021f80: 2020 2020 2020 2027 286e 696c 0a20 2020 '(nil. │ │ │ 00021f90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00021fa0: 2020 202e 0a20 2020 2020 2020 2020 2020 .. │ │ │ -00021fb0: 2020 2020 2020 2020 2020 2020 283b 3b20 (;; │ │ │ -00021fc0: 446f 206e 6f74 2075 7365 2074 6865 2073 Do not use the s │ │ │ -00021fd0: 616d 6520 7769 6e64 6f77 2e0a 2020 2020 ame window.. │ │ │ +00021fa0: 2020 2020 2e0a 2020 2020 2020 2020 2020 .. │ │ │ +00021fb0: 2020 2020 2020 2020 2020 2020 2028 3b3b (;; │ │ │ +00021fc0: 2044 6f20 6e6f 7420 7573 6520 7468 6520 Do not use the │ │ │ +00021fd0: 7361 6d65 2077 696e 646f 772e 0a20 2020 same window.. │ │ │ 00021fe0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00021ff0: 2020 2020 2869 6e68 6962 6974 2d73 616d (inhibit-sam │ │ │ -00022000: 652d 7769 6e64 6f77 202e 2074 290a 2020 e-window . t). │ │ │ +00021ff0: 2020 2020 2028 696e 6869 6269 742d 7361 (inhibit-sa │ │ │ +00022000: 6d65 2d77 696e 646f 7720 2e20 7429 0a20 me-window . t). │ │ │ 00022010: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00022020: 2020 2020 2020 3b3b 2044 6f20 6e6f 7420 ;; Do not │ │ │ -00022030: 7261 6973 6520 6f72 2073 656c 6563 7420 raise or select │ │ │ -00022040: 616e 6f74 6865 7220 6672 616d 652e 0a20 another frame.. │ │ │ +00022020: 2020 2020 2020 203b 3b20 446f 206e 6f74 ;; Do not │ │ │ +00022030: 2072 6169 7365 206f 7220 7365 6c65 6374 raise or select │ │ │ +00022040: 2061 6e6f 7468 6572 2066 7261 6d65 2e0a another frame.. │ │ │ 00022050: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00022060: 2020 2020 2020 2028 696e 6869 6269 742d (inhibit- │ │ │ -00022070: 7377 6974 6368 2d66 7261 6d65 202e 2074 switch-frame . t │ │ │ -00022080: 2929 2929 2929 0a20 2020 2020 2020 2020 )))))). │ │ │ -00022090: 2020 2028 6966 2077 696e 646f 770a 2020 (if window. │ │ │ -000220a0: 2020 2020 2020 2020 2020 2020 2020 2866 (f │ │ │ -000220b0: 6974 2d77 696e 646f 772d 746f 2d62 7566 it-window-to-buf │ │ │ -000220c0: 6665 7220 7769 6e64 6f77 0a20 2020 2020 fer window. │ │ │ -000220d0: 2020 2020 2020 2020 2020 2020 2028 7472 (tr │ │ │ -000220e0: 756e 6361 7465 0a20 2020 2020 2020 2020 uncate. │ │ │ -000220f0: 2020 2020 2020 2020 2020 2028 2a20 2866 (* (f │ │ │ -00022100: 7261 6d65 2d68 6569 6768 7429 0a20 2020 rame-height). │ │ │ +00022060: 2020 2020 2020 2020 2869 6e68 6962 6974 (inhibit │ │ │ +00022070: 2d73 7769 7463 682d 6672 616d 6520 2e20 -switch-frame . │ │ │ +00022080: 7429 2929 2929 290a 2020 2020 2020 2020 t)))))). │ │ │ +00022090: 2020 2020 2869 6620 7769 6e64 6f77 0a20 (if window. │ │ │ +000220a0: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ +000220b0: 6669 742d 7769 6e64 6f77 2d74 6f2d 6275 fit-window-to-bu │ │ │ +000220c0: 6666 6572 2077 696e 646f 770a 2020 2020 ffer window. │ │ │ +000220d0: 2020 2020 2020 2020 2020 2020 2020 2874 (t │ │ │ +000220e0: 7275 6e63 6174 650a 2020 2020 2020 2020 runcate. │ │ │ +000220f0: 2020 2020 2020 2020 2020 2020 282a 2028 (* ( │ │ │ +00022100: 6672 616d 652d 6865 6967 6874 290a 2020 frame-height). │ │ │ 00022110: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00022120: 2020 2020 6167 6461 322d 696e 666f 726d agda2-inform │ │ │ -00022130: 6174 696f 6e2d 7769 6e64 6f77 2d6d 6178 ation-window-max │ │ │ -00022140: 2d68 6569 6768 7429 2929 2929 2929 290a -height)))))))). │ │ │ -00022150: 2020 2020 3b3b 204d 6f76 6520 706f 696e ;; Move poin │ │ │ -00022160: 7420 696e 2065 7665 7279 2077 696e 646f t in every windo │ │ │ -00022170: 7720 6469 7370 6c61 7969 6e67 2074 6865 w displaying the │ │ │ -00022180: 2069 6e66 6f72 6d61 7469 6f6e 2062 7566 information buf │ │ │ -00022190: 6665 722e 0a20 2020 203b 3b20 4578 6365 fer.. ;; Exce │ │ │ -000221a0: 7074 696f 6e3a 2049 6620 7765 2061 7265 ption: If we are │ │ │ -000221b0: 2061 7070 656e 6469 6e67 2c20 646f 6e27 appending, don' │ │ │ -000221c0: 7420 6d6f 7665 2070 6f69 6e74 2069 6e20 t move point in │ │ │ -000221d0: 7365 6c65 6374 6564 0a20 2020 203b 3b20 selected. ;; │ │ │ -000221e0: 7769 6e64 6f77 732e 0a20 2020 2028 646f windows.. (do │ │ │ -000221f0: 6c69 7374 2028 7769 6e64 6f77 2028 6765 list (window (ge │ │ │ -00022200: 742d 6275 6666 6572 2d77 696e 646f 772d t-buffer-window- │ │ │ -00022210: 6c69 7374 2062 7566 2027 6e6f 2d6d 696e list buf 'no-min │ │ │ -00022220: 6962 7566 6665 7220 7429 290a 2020 2020 ibuffer t)). │ │ │ -00022230: 2020 2875 6e6c 6573 7320 2861 6e64 2061 (unless (and a │ │ │ -00022240: 7070 656e 640a 2020 2020 2020 2020 2020 ppend. │ │ │ -00022250: 2020 2020 2020 2020 2028 6571 7561 6c20 (equal │ │ │ -00022260: 7769 6e64 6f77 2028 7365 6c65 6374 6564 window (selected │ │ │ -00022270: 2d77 696e 646f 7729 2929 0a20 2020 2020 -window))). │ │ │ -00022280: 2020 2028 7769 7468 2d73 656c 6563 7465 (with-selecte │ │ │ -00022290: 642d 7769 6e64 6f77 2077 696e 646f 770a d-window window. │ │ │ -000222a0: 2020 2020 2020 2020 2020 2869 6620 6170 (if ap │ │ │ -000222b0: 7065 6e64 0a20 2020 2020 2020 2020 2020 pend. │ │ │ -000222c0: 2020 2028 676f 746f 2d63 6861 7220 2870 (goto-char (p │ │ │ -000222d0: 6f69 6e74 2d6d 6178 2929 0a20 2020 2020 oint-max)). │ │ │ -000222e0: 2020 2020 2020 2028 676f 746f 2d63 6861 (goto-cha │ │ │ -000222f0: 7220 2870 6f69 6e74 2d6d 696e 2929 2929 r (point-min)))) │ │ │ -00022300: 2929 2929 0a0a 2864 6566 756e 2061 6764 ))))..(defun agd │ │ │ -00022310: 6132 2d69 6e66 6f2d 6163 7469 6f6e 2d61 a2-info-action-a │ │ │ -00022320: 6e64 2d63 6f70 7920 286e 616d 6520 7465 nd-copy (name te │ │ │ -00022330: 7874 2026 6f70 7469 6f6e 616c 2061 7070 xt &optional app │ │ │ -00022340: 656e 6429 0a20 2022 5361 6d65 2061 7320 end). "Same as │ │ │ -00022350: 6167 6461 322d 696e 666f 2d61 6374 696f agda2-info-actio │ │ │ -00022360: 6e20 6275 7420 616c 736f 2070 7574 7320 n but also puts │ │ │ -00022370: 5445 5854 2069 6e20 7468 6520 6b69 6c6c TEXT in the kill │ │ │ -00022380: 2072 696e 672e 220a 2020 286b 696c 6c2d ring.". (kill- │ │ │ -00022390: 6e65 7720 7465 7874 290a 2020 2861 6764 new text). (agd │ │ │ -000223a0: 6132 2d69 6e66 6f2d 6163 7469 6f6e 206e a2-info-action n │ │ │ -000223b0: 616d 6520 7465 7874 2061 7070 656e 6429 ame text append) │ │ │ -000223c0: 290a 0a28 6465 6675 6e20 6167 6461 322d )..(defun agda2- │ │ │ -000223d0: 7368 6f77 2d63 6f6e 7374 7261 696e 7473 show-constraints │ │ │ -000223e0: 2829 0a20 2022 5368 6f77 2063 6f6e 7374 (). "Show const │ │ │ -000223f0: 7261 696e 7473 2e22 2028 696e 7465 7261 raints." (intera │ │ │ -00022400: 6374 6976 6529 0a20 2028 6167 6461 322d ctive). (agda2- │ │ │ -00022410: 676f 206e 696c 2074 2027 6275 7379 2074 go nil t 'busy t │ │ │ -00022420: 2022 436d 645f 636f 6e73 7472 6169 6e74 "Cmd_constraint │ │ │ -00022430: 7322 2929 0a0a 2864 6566 756e 2061 6764 s"))..(defun agd │ │ │ -00022440: 6132 2d72 656d 6f76 652d 616e 6e6f 7461 a2-remove-annota │ │ │ -00022450: 7469 6f6e 7320 2829 0a20 2022 5265 6d6f tions (). "Remo │ │ │ -00022460: 7665 7320 6275 6666 6572 2061 6e6e 6f74 ves buffer annot │ │ │ -00022470: 6174 696f 6e73 2028 6f76 6572 6c61 7973 ations (overlays │ │ │ -00022480: 2061 6e64 2074 6578 7420 7072 6f70 6572 and text proper │ │ │ -00022490: 7469 6573 292e 220a 2020 2869 6e74 6572 ties).". (inter │ │ │ -000224a0: 6163 7469 7665 290a 2020 2864 6f6c 6973 active). (dolis │ │ │ -000224b0: 7420 286f 2028 6f76 6572 6c61 7973 2d69 t (o (overlays-i │ │ │ -000224c0: 6e20 2870 6f69 6e74 2d6d 696e 2920 2870 n (point-min) (p │ │ │ -000224d0: 6f69 6e74 2d6d 6178 2929 290a 2020 2020 oint-max))). │ │ │ -000224e0: 2864 656c 6574 652d 6f76 6572 6c61 7920 (delete-overlay │ │ │ -000224f0: 6f29 290a 2020 286c 6574 2028 2869 6e68 o)). (let ((inh │ │ │ -00022500: 6962 6974 2d72 6561 642d 6f6e 6c79 2074 ibit-read-only t │ │ │ -00022510: 2929 0a20 2020 2028 616e 6e6f 7461 7469 )). (annotati │ │ │ -00022520: 6f6e 2d70 7265 7365 7276 652d 6d6f 642d on-preserve-mod- │ │ │ -00022530: 702d 616e 642d 756e 646f 0a20 2020 2020 p-and-undo. │ │ │ -00022540: 2873 6574 2d74 6578 742d 7072 6f70 6572 (set-text-proper │ │ │ -00022550: 7469 6573 2028 706f 696e 742d 6d69 6e29 ties (point-min) │ │ │ -00022560: 2028 706f 696e 742d 6d61 7829 2027 2829 (point-max) '() │ │ │ -00022570: 2929 0a20 2020 2028 666f 7263 652d 6d6f )). (force-mo │ │ │ -00022580: 6465 2d6c 696e 652d 7570 6461 7465 2929 de-line-update)) │ │ │ -00022590: 290a 0a28 6465 6675 6e20 6167 6461 322d )..(defun agda2- │ │ │ -000225a0: 6e65 7874 2d67 6f61 6c20 2829 2020 2020 next-goal () │ │ │ -000225b0: 2022 476f 2074 6f20 7468 6520 6e65 7874 "Go to the next │ │ │ -000225c0: 2067 6f61 6c2c 2069 6620 616e 792e 2220 goal, if any." │ │ │ -000225d0: 2020 2020 2869 6e74 6572 6163 7469 7665 (interactive │ │ │ -000225e0: 290a 2020 2861 6764 6132 2d6d 762d 676f ). (agda2-mv-go │ │ │ -000225f0: 616c 2027 6e65 7874 2d73 696e 676c 652d al 'next-single- │ │ │ -00022600: 7072 6f70 6572 7479 2d63 6861 6e67 6520 property-change │ │ │ -00022610: 2020 2020 2761 6764 6132 2d64 656c 696d 'agda2-delim │ │ │ -00022620: 3220 3120 2870 6f69 6e74 2d6d 696e 2929 2 1 (point-min)) │ │ │ -00022630: 290a 2864 6566 756e 2061 6764 6132 2d70 ).(defun agda2-p │ │ │ -00022640: 7265 7669 6f75 732d 676f 616c 2028 2920 revious-goal () │ │ │ -00022650: 2247 6f20 746f 2074 6865 2070 7265 7669 "Go to the previ │ │ │ -00022660: 6f75 7320 676f 616c 2c20 6966 2061 6e79 ous goal, if any │ │ │ -00022670: 2e22 2028 696e 7465 7261 6374 6976 6529 ." (interactive) │ │ │ -00022680: 0a20 2028 6167 6461 322d 6d76 2d67 6f61 . (agda2-mv-goa │ │ │ -00022690: 6c20 2770 7265 7669 6f75 732d 7369 6e67 l 'previous-sing │ │ │ -000226a0: 6c65 2d70 726f 7065 7274 792d 6368 616e le-property-chan │ │ │ -000226b0: 6765 2027 6167 6461 322d 6465 6c69 6d33 ge 'agda2-delim3 │ │ │ -000226c0: 2030 2028 706f 696e 742d 6d61 7829 2929 0 (point-max))) │ │ │ -000226d0: 0a28 6465 6675 6e20 6167 6461 322d 6d76 .(defun agda2-mv │ │ │ -000226e0: 2d67 6f61 6c20 2863 6861 6e67 6520 6465 -goal (change de │ │ │ -000226f0: 6c69 6d20 6164 6a75 7374 2077 7261 7070 lim adjust wrapp │ │ │ -00022700: 6564 290a 2020 2861 6764 6132 2d6c 6574 ed). (agda2-let │ │ │ -00022710: 2028 290a 2020 2020 2020 2828 676f 2028 (). ((go ( │ │ │ -00022720: 7029 2028 7768 696c 6520 2861 6e64 2028 p) (while (and ( │ │ │ -00022730: 7365 7471 2070 2028 6675 6e63 616c 6c20 setq p (funcall │ │ │ -00022740: 6368 616e 6765 2070 2027 6361 7465 676f change p 'catego │ │ │ -00022750: 7279 2929 0a20 2020 2020 2020 2020 2020 ry)). │ │ │ +00022120: 2020 2020 2061 6764 6132 2d69 6e66 6f72 agda2-infor │ │ │ +00022130: 6d61 7469 6f6e 2d77 696e 646f 772d 6d61 mation-window-ma │ │ │ +00022140: 782d 6865 6967 6874 2929 2929 2929 2929 x-height)))))))) │ │ │ +00022150: 0a20 2020 203b 3b20 4d6f 7665 2070 6f69 . ;; Move poi │ │ │ +00022160: 6e74 2069 6e20 6576 6572 7920 7769 6e64 nt in every wind │ │ │ +00022170: 6f77 2064 6973 706c 6179 696e 6720 7468 ow displaying th │ │ │ +00022180: 6520 696e 666f 726d 6174 696f 6e20 6275 e information bu │ │ │ +00022190: 6666 6572 2e0a 2020 2020 3b3b 2045 7863 ffer.. ;; Exc │ │ │ +000221a0: 6570 7469 6f6e 3a20 4966 2077 6520 6172 eption: If we ar │ │ │ +000221b0: 6520 6170 7065 6e64 696e 672c 2064 6f6e e appending, don │ │ │ +000221c0: 2774 206d 6f76 6520 706f 696e 7420 696e 't move point in │ │ │ +000221d0: 2073 656c 6563 7465 640a 2020 2020 3b3b selected. ;; │ │ │ +000221e0: 2077 696e 646f 7773 2e0a 2020 2020 2864 windows.. (d │ │ │ +000221f0: 6f6c 6973 7420 2877 696e 646f 7720 2867 olist (window (g │ │ │ +00022200: 6574 2d62 7566 6665 722d 7769 6e64 6f77 et-buffer-window │ │ │ +00022210: 2d6c 6973 7420 6275 6620 276e 6f2d 6d69 -list buf 'no-mi │ │ │ +00022220: 6e69 6275 6666 6572 2074 2929 0a20 2020 nibuffer t)). │ │ │ +00022230: 2020 2028 756e 6c65 7373 2028 616e 6420 (unless (and │ │ │ +00022240: 6170 7065 6e64 0a20 2020 2020 2020 2020 append. │ │ │ +00022250: 2020 2020 2020 2020 2020 2865 7175 616c (equal │ │ │ +00022260: 2077 696e 646f 7720 2873 656c 6563 7465 window (selecte │ │ │ +00022270: 642d 7769 6e64 6f77 2929 290a 2020 2020 d-window))). │ │ │ +00022280: 2020 2020 2877 6974 682d 7365 6c65 6374 (with-select │ │ │ +00022290: 6564 2d77 696e 646f 7720 7769 6e64 6f77 ed-window window │ │ │ +000222a0: 0a20 2020 2020 2020 2020 2028 6966 2061 . (if a │ │ │ +000222b0: 7070 656e 640a 2020 2020 2020 2020 2020 ppend. │ │ │ +000222c0: 2020 2020 2867 6f74 6f2d 6368 6172 2028 (goto-char ( │ │ │ +000222d0: 706f 696e 742d 6d61 7829 290a 2020 2020 point-max)). │ │ │ +000222e0: 2020 2020 2020 2020 2867 6f74 6f2d 6368 (goto-ch │ │ │ +000222f0: 6172 2028 706f 696e 742d 6d69 6e29 2929 ar (point-min))) │ │ │ +00022300: 2929 2929 290a 0a28 6465 6675 6e20 6167 )))))..(defun ag │ │ │ +00022310: 6461 322d 696e 666f 2d61 6374 696f 6e2d da2-info-action- │ │ │ +00022320: 616e 642d 636f 7079 2028 6e61 6d65 2074 and-copy (name t │ │ │ +00022330: 6578 7420 266f 7074 696f 6e61 6c20 6170 ext &optional ap │ │ │ +00022340: 7065 6e64 290a 2020 2253 616d 6520 6173 pend). "Same as │ │ │ +00022350: 2061 6764 6132 2d69 6e66 6f2d 6163 7469 agda2-info-acti │ │ │ +00022360: 6f6e 2062 7574 2061 6c73 6f20 7075 7473 on but also puts │ │ │ +00022370: 2054 4558 5420 696e 2074 6865 206b 696c TEXT in the kil │ │ │ +00022380: 6c20 7269 6e67 2e22 0a20 2028 6b69 6c6c l ring.". (kill │ │ │ +00022390: 2d6e 6577 2074 6578 7429 0a20 2028 6167 -new text). (ag │ │ │ +000223a0: 6461 322d 696e 666f 2d61 6374 696f 6e20 da2-info-action │ │ │ +000223b0: 6e61 6d65 2074 6578 7420 6170 7065 6e64 name text append │ │ │ +000223c0: 2929 0a0a 2864 6566 756e 2061 6764 6132 ))..(defun agda2 │ │ │ +000223d0: 2d73 686f 772d 636f 6e73 7472 6169 6e74 -show-constraint │ │ │ +000223e0: 7328 290a 2020 2253 686f 7720 636f 6e73 s(). "Show cons │ │ │ +000223f0: 7472 6169 6e74 732e 2220 2869 6e74 6572 traints." (inter │ │ │ +00022400: 6163 7469 7665 290a 2020 2861 6764 6132 active). (agda2 │ │ │ +00022410: 2d67 6f20 6e69 6c20 7420 2762 7573 7920 -go nil t 'busy │ │ │ +00022420: 7420 2243 6d64 5f63 6f6e 7374 7261 696e t "Cmd_constrain │ │ │ +00022430: 7473 2229 290a 0a28 6465 6675 6e20 6167 ts"))..(defun ag │ │ │ +00022440: 6461 322d 7265 6d6f 7665 2d61 6e6e 6f74 da2-remove-annot │ │ │ +00022450: 6174 696f 6e73 2028 290a 2020 2252 656d ations (). "Rem │ │ │ +00022460: 6f76 6573 2062 7566 6665 7220 616e 6e6f oves buffer anno │ │ │ +00022470: 7461 7469 6f6e 7320 286f 7665 726c 6179 tations (overlay │ │ │ +00022480: 7320 616e 6420 7465 7874 2070 726f 7065 s and text prope │ │ │ +00022490: 7274 6965 7329 2e22 0a20 2028 696e 7465 rties).". (inte │ │ │ +000224a0: 7261 6374 6976 6529 0a20 2028 646f 6c69 ractive). (doli │ │ │ +000224b0: 7374 2028 6f20 286f 7665 726c 6179 732d st (o (overlays- │ │ │ +000224c0: 696e 2028 706f 696e 742d 6d69 6e29 2028 in (point-min) ( │ │ │ +000224d0: 706f 696e 742d 6d61 7829 2929 0a20 2020 point-max))). │ │ │ +000224e0: 2028 6465 6c65 7465 2d6f 7665 726c 6179 (delete-overlay │ │ │ +000224f0: 206f 2929 0a20 2028 6c65 7420 2828 696e o)). (let ((in │ │ │ +00022500: 6869 6269 742d 7265 6164 2d6f 6e6c 7920 hibit-read-only │ │ │ +00022510: 7429 290a 2020 2020 2861 6e6e 6f74 6174 t)). (annotat │ │ │ +00022520: 696f 6e2d 7072 6573 6572 7665 2d6d 6f64 ion-preserve-mod │ │ │ +00022530: 2d70 2d61 6e64 2d75 6e64 6f0a 2020 2020 -p-and-undo. │ │ │ +00022540: 2028 7365 742d 7465 7874 2d70 726f 7065 (set-text-prope │ │ │ +00022550: 7274 6965 7320 2870 6f69 6e74 2d6d 696e rties (point-min │ │ │ +00022560: 2920 2870 6f69 6e74 2d6d 6178 2920 2728 ) (point-max) '( │ │ │ +00022570: 2929 290a 2020 2020 2866 6f72 6365 2d6d ))). (force-m │ │ │ +00022580: 6f64 652d 6c69 6e65 2d75 7064 6174 6529 ode-line-update) │ │ │ +00022590: 2929 0a0a 2864 6566 756e 2061 6764 6132 ))..(defun agda2 │ │ │ +000225a0: 2d6e 6578 742d 676f 616c 2028 2920 2020 -next-goal () │ │ │ +000225b0: 2020 2247 6f20 746f 2074 6865 206e 6578 "Go to the nex │ │ │ +000225c0: 7420 676f 616c 2c20 6966 2061 6e79 2e22 t goal, if any." │ │ │ +000225d0: 2020 2020 2028 696e 7465 7261 6374 6976 (interactiv │ │ │ +000225e0: 6529 0a20 2028 6167 6461 322d 6d76 2d67 e). (agda2-mv-g │ │ │ +000225f0: 6f61 6c20 276e 6578 742d 7369 6e67 6c65 oal 'next-single │ │ │ +00022600: 2d70 726f 7065 7274 792d 6368 616e 6765 -property-change │ │ │ +00022610: 2020 2020 2027 6167 6461 322d 6465 6c69 'agda2-deli │ │ │ +00022620: 6d32 2031 2028 706f 696e 742d 6d69 6e29 m2 1 (point-min) │ │ │ +00022630: 2929 0a28 6465 6675 6e20 6167 6461 322d )).(defun agda2- │ │ │ +00022640: 7072 6576 696f 7573 2d67 6f61 6c20 2829 previous-goal () │ │ │ +00022650: 2022 476f 2074 6f20 7468 6520 7072 6576 "Go to the prev │ │ │ +00022660: 696f 7573 2067 6f61 6c2c 2069 6620 616e ious goal, if an │ │ │ +00022670: 792e 2220 2869 6e74 6572 6163 7469 7665 y." (interactive │ │ │ +00022680: 290a 2020 2861 6764 6132 2d6d 762d 676f ). (agda2-mv-go │ │ │ +00022690: 616c 2027 7072 6576 696f 7573 2d73 696e al 'previous-sin │ │ │ +000226a0: 676c 652d 7072 6f70 6572 7479 2d63 6861 gle-property-cha │ │ │ +000226b0: 6e67 6520 2761 6764 6132 2d64 656c 696d nge 'agda2-delim │ │ │ +000226c0: 3320 3020 2870 6f69 6e74 2d6d 6178 2929 3 0 (point-max)) │ │ │ +000226d0: 290a 2864 6566 756e 2061 6764 6132 2d6d ).(defun agda2-m │ │ │ +000226e0: 762d 676f 616c 2028 6368 616e 6765 2064 v-goal (change d │ │ │ +000226f0: 656c 696d 2061 646a 7573 7420 7772 6170 elim adjust wrap │ │ │ +00022700: 7065 6429 0a20 2028 6167 6461 322d 6c65 ped). (agda2-le │ │ │ +00022710: 7420 2829 0a20 2020 2020 2028 2867 6f20 t (). ((go │ │ │ +00022720: 2870 2920 2877 6869 6c65 2028 616e 6420 (p) (while (and │ │ │ +00022730: 2873 6574 7120 7020 2866 756e 6361 6c6c (setq p (funcall │ │ │ +00022740: 2063 6861 6e67 6520 7020 2763 6174 6567 change p 'categ │ │ │ +00022750: 6f72 7929 290a 2020 2020 2020 2020 2020 ory)). │ │ │ 00022760: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00022770: 286e 6f74 2028 6571 2028 6765 742d 7465 (not (eq (get-te │ │ │ -00022780: 7874 2d70 726f 7065 7274 7920 7020 2763 xt-property p 'c │ │ │ -00022790: 6174 6567 6f72 7929 2064 656c 696d 2929 ategory) delim)) │ │ │ -000227a0: 2929 0a20 2020 2020 2020 2020 2020 2869 )). (i │ │ │ -000227b0: 6620 7020 2867 6f74 6f2d 6368 6172 2028 f p (goto-char ( │ │ │ -000227c0: 2b20 6164 6a75 7374 2070 2929 2929 290a + adjust p))))). │ │ │ -000227d0: 2020 2020 286f 7220 2867 6f20 2870 6f69 (or (go (poi │ │ │ -000227e0: 6e74 2929 2028 676f 2077 7261 7070 6564 nt)) (go wrapped │ │ │ -000227f0: 2920 286d 6573 7361 6765 2022 4e6f 2067 ) (message "No g │ │ │ -00022800: 6f61 6c73 2069 6e20 7468 6520 6275 6666 oals in the buff │ │ │ -00022810: 6572 2229 2929 290a 0a28 6465 6675 6e20 er"))))..(defun │ │ │ -00022820: 6167 6461 322d 7175 6974 2028 290a 2020 agda2-quit (). │ │ │ -00022830: 2251 7569 7420 616e 6420 636c 6561 6e20 "Quit and clean │ │ │ -00022840: 7570 2061 6674 6572 2061 6764 6132 2e22 up after agda2." │ │ │ -00022850: 0a20 2028 696e 7465 7261 6374 6976 6529 . (interactive) │ │ │ -00022860: 0a20 2028 7265 6d6f 7665 2d68 6f6f 6b20 . (remove-hook │ │ │ -00022870: 2766 6972 7374 2d63 6861 6e67 652d 686f 'first-change-ho │ │ │ -00022880: 6f6b 2027 6167 6461 322d 6162 6f72 742d ok 'agda2-abort- │ │ │ -00022890: 6869 6768 6c69 6768 7469 6e67 2027 6c6f highlighting 'lo │ │ │ -000228a0: 6361 6c29 0a20 2028 7265 6d6f 7665 2d68 cal). (remove-h │ │ │ -000228b0: 6f6f 6b20 2761 6674 6572 2d73 6176 652d ook 'after-save- │ │ │ -000228c0: 686f 6f6b 2027 6167 6461 322d 6869 6768 hook 'agda2-high │ │ │ -000228d0: 6c69 6768 742d 746f 6b65 6e73 2027 6c6f light-tokens 'lo │ │ │ -000228e0: 6361 6c29 0a20 2028 6167 6461 322d 7265 cal). (agda2-re │ │ │ -000228f0: 6d6f 7665 2d61 6e6e 6f74 6174 696f 6e73 move-annotations │ │ │ -00022900: 290a 2020 2861 6764 6132 2d74 6572 6d29 ). (agda2-term) │ │ │ -00022910: 290a 0a28 6465 6675 6e20 6167 6461 322d )..(defun agda2- │ │ │ -00022920: 7465 726d 2028 266f 7074 696f 6e61 6c20 term (&optional │ │ │ -00022930: 6e69 6365 6c79 290a 2020 2249 6e74 6572 nicely). "Inter │ │ │ -00022940: 7275 7074 2074 6865 2041 6764 6120 7072 rupt the Agda pr │ │ │ -00022950: 6f63 6573 7320 616e 6420 6b69 6c6c 2069 ocess and kill i │ │ │ -00022960: 7473 2062 7566 6665 722e 0a49 6620 7468 ts buffer..If th │ │ │ -00022970: 6973 2066 756e 6374 696f 6e20 6973 2069 is function is i │ │ │ -00022980: 6e76 6f6b 6564 2077 6974 6820 6120 7072 nvoked with a pr │ │ │ -00022990: 6566 6978 2061 7267 756d 656e 742c 2074 efix argument, t │ │ │ -000229a0: 6865 6e20 4167 6461 2069 730a 6173 6b65 hen Agda is.aske │ │ │ -000229b0: 6420 6e69 6365 6c79 2074 6f20 7465 726d d nicely to term │ │ │ -000229c0: 696e 6174 6520 6974 7365 6c66 2061 6674 inate itself aft │ │ │ -000229d0: 6572 2061 6e79 2070 7265 7669 6f75 736c er any previousl │ │ │ -000229e0: 7920 696e 766f 6b65 640a 636f 6d6d 616e y invoked.comman │ │ │ -000229f0: 6473 2068 6176 6520 636f 6d70 6c65 7465 ds have complete │ │ │ -00022a00: 642e 220a 2020 2869 6e74 6572 6163 7469 d.". (interacti │ │ │ -00022a10: 7665 2022 5022 290a 2020 2869 6620 6e69 ve "P"). (if ni │ │ │ -00022a20: 6365 6c79 0a20 2020 2020 2028 7072 6f67 cely. (prog │ │ │ -00022a30: 6e0a 2020 2020 2020 2020 3b3b 2053 6574 n. ;; Set │ │ │ -00022a40: 2075 7020 7468 696e 6773 2073 6f20 7468 up things so th │ │ │ -00022a50: 6174 2069 6620 7468 6520 4167 6461 2070 at if the Agda p │ │ │ -00022a60: 726f 6365 7373 2074 6572 6d69 6e61 7465 rocess terminate │ │ │ -00022a70: 732c 2074 6865 6e0a 2020 2020 2020 2020 s, then. │ │ │ -00022a80: 3b3b 2069 7473 2062 7566 6665 7220 6973 ;; its buffer is │ │ │ -00022a90: 206b 696c 6c65 642e 0a20 2020 2020 2020 killed.. │ │ │ -00022aa0: 2028 7768 656e 2028 616e 6420 6167 6461 (when (and agda │ │ │ -00022ab0: 322d 7072 6f63 6573 730a 2020 2020 2020 2-process. │ │ │ -00022ac0: 2020 2020 2020 2020 2020 2020 2028 7072 (pr │ │ │ -00022ad0: 6f63 6573 732d 7374 6174 7573 2061 6764 ocess-status agd │ │ │ -00022ae0: 6132 2d70 726f 6365 7373 2929 0a20 2020 a2-process)). │ │ │ -00022af0: 2020 2020 2020 2028 7365 742d 7072 6f63 (set-proc │ │ │ -00022b00: 6573 732d 7365 6e74 696e 656c 2061 6764 ess-sentinel agd │ │ │ -00022b10: 6132 2d70 726f 6365 7373 2027 6167 6461 a2-process 'agda │ │ │ -00022b20: 322d 6b69 6c6c 2d70 726f 6365 7373 2d62 2-kill-process-b │ │ │ -00022b30: 7566 6665 7229 290a 2020 2020 2020 2020 uffer)). │ │ │ -00022b40: 3b3b 204b 696c 6c20 7468 6520 7072 6f63 ;; Kill the proc │ │ │ -00022b50: 6573 7320 6275 6666 6572 2069 6620 7468 ess buffer if th │ │ │ -00022b60: 6520 4167 6461 2070 726f 6365 7373 2068 e Agda process h │ │ │ -00022b70: 6173 2061 6c72 6561 6479 0a20 2020 2020 as already. │ │ │ -00022b80: 2020 203b 3b20 6265 656e 206b 696c 6c65 ;; been kille │ │ │ -00022b90: 642e 0a20 2020 2020 2020 2028 6167 6461 d.. (agda │ │ │ -00022ba0: 322d 6b69 6c6c 2d70 726f 6365 7373 2d62 2-kill-process-b │ │ │ -00022bb0: 7566 6665 7229 0a20 2020 2020 2020 203b uffer). ; │ │ │ -00022bc0: 3b20 5472 7920 746f 206b 696c 6c20 7468 ; Try to kill th │ │ │ -00022bd0: 6520 4167 6461 2070 726f 6365 7373 2e0a e Agda process.. │ │ │ -00022be0: 2020 2020 2020 2020 2861 6764 6132 2d73 (agda2-s │ │ │ -00022bf0: 656e 642d 636f 6d6d 616e 6420 6e69 6c0a end-command nil. │ │ │ -00022c00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00022c10: 2020 2020 2020 2020 2020 2020 2249 4f54 "IOT │ │ │ -00022c20: 434d 220a 2020 2020 2020 2020 2020 2020 CM". │ │ │ +00022770: 2028 6e6f 7420 2865 7120 2867 6574 2d74 (not (eq (get-t │ │ │ +00022780: 6578 742d 7072 6f70 6572 7479 2070 2027 ext-property p ' │ │ │ +00022790: 6361 7465 676f 7279 2920 6465 6c69 6d29 category) delim) │ │ │ +000227a0: 2929 290a 2020 2020 2020 2020 2020 2028 ))). ( │ │ │ +000227b0: 6966 2070 2028 676f 746f 2d63 6861 7220 if p (goto-char │ │ │ +000227c0: 282b 2061 646a 7573 7420 7029 2929 2929 (+ adjust p))))) │ │ │ +000227d0: 0a20 2020 2028 6f72 2028 676f 2028 706f . (or (go (po │ │ │ +000227e0: 696e 7429 2920 2867 6f20 7772 6170 7065 int)) (go wrappe │ │ │ +000227f0: 6429 2028 6d65 7373 6167 6520 224e 6f20 d) (message "No │ │ │ +00022800: 676f 616c 7320 696e 2074 6865 2062 7566 goals in the buf │ │ │ +00022810: 6665 7222 2929 2929 0a0a 2864 6566 756e fer"))))..(defun │ │ │ +00022820: 2061 6764 6132 2d71 7569 7420 2829 0a20 agda2-quit (). │ │ │ +00022830: 2022 5175 6974 2061 6e64 2063 6c65 616e "Quit and clean │ │ │ +00022840: 2075 7020 6166 7465 7220 6167 6461 322e up after agda2. │ │ │ +00022850: 220a 2020 2869 6e74 6572 6163 7469 7665 ". (interactive │ │ │ +00022860: 290a 2020 2872 656d 6f76 652d 686f 6f6b ). (remove-hook │ │ │ +00022870: 2027 6669 7273 742d 6368 616e 6765 2d68 'first-change-h │ │ │ +00022880: 6f6f 6b20 2761 6764 6132 2d61 626f 7274 ook 'agda2-abort │ │ │ +00022890: 2d68 6967 686c 6967 6874 696e 6720 276c -highlighting 'l │ │ │ +000228a0: 6f63 616c 290a 2020 2872 656d 6f76 652d ocal). (remove- │ │ │ +000228b0: 686f 6f6b 2027 6166 7465 722d 7361 7665 hook 'after-save │ │ │ +000228c0: 2d68 6f6f 6b20 2761 6764 6132 2d68 6967 -hook 'agda2-hig │ │ │ +000228d0: 686c 6967 6874 2d74 6f6b 656e 7320 276c hlight-tokens 'l │ │ │ +000228e0: 6f63 616c 290a 2020 2861 6764 6132 2d72 ocal). (agda2-r │ │ │ +000228f0: 656d 6f76 652d 616e 6e6f 7461 7469 6f6e emove-annotation │ │ │ +00022900: 7329 0a20 2028 6167 6461 322d 7465 726d s). (agda2-term │ │ │ +00022910: 2929 0a0a 2864 6566 756e 2061 6764 6132 ))..(defun agda2 │ │ │ +00022920: 2d74 6572 6d20 2826 6f70 7469 6f6e 616c -term (&optional │ │ │ +00022930: 206e 6963 656c 7929 0a20 2022 496e 7465 nicely). "Inte │ │ │ +00022940: 7272 7570 7420 7468 6520 4167 6461 2070 rrupt the Agda p │ │ │ +00022950: 726f 6365 7373 2061 6e64 206b 696c 6c20 rocess and kill │ │ │ +00022960: 6974 7320 6275 6666 6572 2e0a 4966 2074 its buffer..If t │ │ │ +00022970: 6869 7320 6675 6e63 7469 6f6e 2069 7320 his function is │ │ │ +00022980: 696e 766f 6b65 6420 7769 7468 2061 2070 invoked with a p │ │ │ +00022990: 7265 6669 7820 6172 6775 6d65 6e74 2c20 refix argument, │ │ │ +000229a0: 7468 656e 2041 6764 6120 6973 0a61 736b then Agda is.ask │ │ │ +000229b0: 6564 206e 6963 656c 7920 746f 2074 6572 ed nicely to ter │ │ │ +000229c0: 6d69 6e61 7465 2069 7473 656c 6620 6166 minate itself af │ │ │ +000229d0: 7465 7220 616e 7920 7072 6576 696f 7573 ter any previous │ │ │ +000229e0: 6c79 2069 6e76 6f6b 6564 0a63 6f6d 6d61 ly invoked.comma │ │ │ +000229f0: 6e64 7320 6861 7665 2063 6f6d 706c 6574 nds have complet │ │ │ +00022a00: 6564 2e22 0a20 2028 696e 7465 7261 6374 ed.". (interact │ │ │ +00022a10: 6976 6520 2250 2229 0a20 2028 6966 206e ive "P"). (if n │ │ │ +00022a20: 6963 656c 790a 2020 2020 2020 2870 726f icely. (pro │ │ │ +00022a30: 676e 0a20 2020 2020 2020 203b 3b20 5365 gn. ;; Se │ │ │ +00022a40: 7420 7570 2074 6869 6e67 7320 736f 2074 t up things so t │ │ │ +00022a50: 6861 7420 6966 2074 6865 2041 6764 6120 hat if the Agda │ │ │ +00022a60: 7072 6f63 6573 7320 7465 726d 696e 6174 process terminat │ │ │ +00022a70: 6573 2c20 7468 656e 0a20 2020 2020 2020 es, then. │ │ │ +00022a80: 203b 3b20 6974 7320 6275 6666 6572 2069 ;; its buffer i │ │ │ +00022a90: 7320 6b69 6c6c 6564 2e0a 2020 2020 2020 s killed.. │ │ │ +00022aa0: 2020 2877 6865 6e20 2861 6e64 2061 6764 (when (and agd │ │ │ +00022ab0: 6132 2d70 726f 6365 7373 0a20 2020 2020 a2-process. │ │ │ +00022ac0: 2020 2020 2020 2020 2020 2020 2020 2870 (p │ │ │ +00022ad0: 726f 6365 7373 2d73 7461 7475 7320 6167 rocess-status ag │ │ │ +00022ae0: 6461 322d 7072 6f63 6573 7329 290a 2020 da2-process)). │ │ │ +00022af0: 2020 2020 2020 2020 2873 6574 2d70 726f (set-pro │ │ │ +00022b00: 6365 7373 2d73 656e 7469 6e65 6c20 6167 cess-sentinel ag │ │ │ +00022b10: 6461 322d 7072 6f63 6573 7320 2761 6764 da2-process 'agd │ │ │ +00022b20: 6132 2d6b 696c 6c2d 7072 6f63 6573 732d a2-kill-process- │ │ │ +00022b30: 6275 6666 6572 2929 0a20 2020 2020 2020 buffer)). │ │ │ +00022b40: 203b 3b20 4b69 6c6c 2074 6865 2070 726f ;; Kill the pro │ │ │ +00022b50: 6365 7373 2062 7566 6665 7220 6966 2074 cess buffer if t │ │ │ +00022b60: 6865 2041 6764 6120 7072 6f63 6573 7320 he Agda process │ │ │ +00022b70: 6861 7320 616c 7265 6164 790a 2020 2020 has already. │ │ │ +00022b80: 2020 2020 3b3b 2062 6565 6e20 6b69 6c6c ;; been kill │ │ │ +00022b90: 6564 2e0a 2020 2020 2020 2020 2861 6764 ed.. (agd │ │ │ +00022ba0: 6132 2d6b 696c 6c2d 7072 6f63 6573 732d a2-kill-process- │ │ │ +00022bb0: 6275 6666 6572 290a 2020 2020 2020 2020 buffer). │ │ │ +00022bc0: 3b3b 2054 7279 2074 6f20 6b69 6c6c 2074 ;; Try to kill t │ │ │ +00022bd0: 6865 2041 6764 6120 7072 6f63 6573 732e he Agda process. │ │ │ +00022be0: 0a20 2020 2020 2020 2028 6167 6461 322d . (agda2- │ │ │ +00022bf0: 7365 6e64 2d63 6f6d 6d61 6e64 206e 696c send-command nil │ │ │ +00022c00: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ +00022c10: 2020 2020 2020 2020 2020 2020 2022 494f "IO │ │ │ +00022c20: 5443 4d22 0a20 2020 2020 2020 2020 2020 TCM". │ │ │ 00022c30: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00022c40: 2861 6764 6132 2d73 7472 696e 672d 7175 (agda2-string-qu │ │ │ -00022c50: 6f74 6520 2862 7566 6665 722d 6669 6c65 ote (buffer-file │ │ │ -00022c60: 2d6e 616d 6529 290a 2020 2020 2020 2020 -name)). │ │ │ +00022c40: 2028 6167 6461 322d 7374 7269 6e67 2d71 (agda2-string-q │ │ │ +00022c50: 756f 7465 2028 6275 6666 6572 2d66 696c uote (buffer-fil │ │ │ +00022c60: 652d 6e61 6d65 2929 0a20 2020 2020 2020 e-name)). │ │ │ 00022c70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00022c80: 2020 2020 224e 6f6e 6522 0a20 2020 2020 "None". │ │ │ +00022c80: 2020 2020 2022 4e6f 6e65 220a 2020 2020 "None". │ │ │ 00022c90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00022ca0: 2020 2020 2020 2022 496e 6469 7265 6374 "Indirect │ │ │ -00022cb0: 220a 2020 2020 2020 2020 2020 2020 2020 ". │ │ │ -00022cc0: 2020 2020 2020 2020 2020 2020 2020 2243 "C │ │ │ -00022cd0: 6d64 5f65 7869 7422 2929 0a20 2020 203b md_exit")). ; │ │ │ -00022ce0: 3b20 5472 7920 746f 206b 696c 6c20 7468 ; Try to kill th │ │ │ -00022cf0: 6520 4167 6461 2070 726f 6365 7373 2061 e Agda process a │ │ │ -00022d00: 6e64 2074 6865 2070 726f 6365 7373 2062 nd the process b │ │ │ -00022d10: 7566 6665 722e 0a20 2020 2028 7768 656e uffer.. (when │ │ │ -00022d20: 2028 616e 6420 6167 6461 322d 7072 6f63 (and agda2-proc │ │ │ -00022d30: 6573 730a 2020 2020 2020 2020 2020 2020 ess. │ │ │ -00022d40: 2020 2028 7072 6f63 6573 732d 7374 6174 (process-stat │ │ │ -00022d50: 7573 2061 6764 6132 2d70 726f 6365 7373 us agda2-process │ │ │ -00022d60: 2929 0a20 2020 2020 2028 696e 7465 7272 )). (interr │ │ │ -00022d70: 7570 742d 7072 6f63 6573 7320 6167 6461 upt-process agda │ │ │ -00022d80: 322d 7072 6f63 6573 7329 290a 2020 2020 2-process)). │ │ │ -00022d90: 2877 6865 6e20 2862 7566 6665 722d 6c69 (when (buffer-li │ │ │ -00022da0: 7665 2d70 2061 6764 6132 2d70 726f 6365 ve-p agda2-proce │ │ │ -00022db0: 7373 2d62 7566 6665 7229 0a20 2020 2020 ss-buffer). │ │ │ -00022dc0: 2028 6b69 6c6c 2d62 7566 6665 7220 6167 (kill-buffer ag │ │ │ -00022dd0: 6461 322d 7072 6f63 6573 732d 6275 6666 da2-process-buff │ │ │ -00022de0: 6572 2929 2929 0a0a 2864 6566 756e 2061 er))))..(defun a │ │ │ -00022df0: 6764 6132 2d6b 696c 6c2d 7072 6f63 6573 gda2-kill-proces │ │ │ -00022e00: 732d 6275 6666 6572 2028 266f 7074 696f s-buffer (&optio │ │ │ -00022e10: 6e61 6c20 5f70 726f 6365 7373 205f 6576 nal _process _ev │ │ │ -00022e20: 656e 7429 0a20 2022 4b69 6c6c 7320 7468 ent). "Kills th │ │ │ -00022e30: 6520 4167 6461 2070 726f 6365 7373 2062 e Agda process b │ │ │ -00022e40: 7566 6665 722c 2069 6620 616e 792e 0a42 uffer, if any..B │ │ │ -00022e50: 7574 206f 6e6c 7920 6966 2074 6865 2041 ut only if the A │ │ │ -00022e60: 6764 6120 7072 6f63 6573 7320 646f 6573 gda process does │ │ │ -00022e70: 206e 6f74 2065 7869 7374 206f 7220 6861 not exist or ha │ │ │ -00022e80: 7320 7465 726d 696e 6174 6564 2e0a 0a54 s terminated...T │ │ │ -00022e90: 6869 7320 6675 6e63 7469 6f6e 2063 616e his function can │ │ │ -00022ea0: 2062 6520 7573 6564 2061 7320 6120 7072 be used as a pr │ │ │ -00022eb0: 6f63 6573 7320 7365 6e74 696e 656c 2e22 ocess sentinel." │ │ │ -00022ec0: 0a20 2028 7768 656e 2028 616e 6420 286f . (when (and (o │ │ │ -00022ed0: 7220 286e 756c 6c20 6167 6461 322d 7072 r (null agda2-pr │ │ │ -00022ee0: 6f63 6573 7329 0a20 2020 2020 2020 2020 ocess). │ │ │ -00022ef0: 2020 2020 2020 2020 286d 656d 6265 7220 (member │ │ │ -00022f00: 2870 726f 6365 7373 2d73 7461 7475 7320 (process-status │ │ │ -00022f10: 6167 6461 322d 7072 6f63 6573 7329 0a20 agda2-process). │ │ │ +00022ca0: 2020 2020 2020 2020 2249 6e64 6972 6563 "Indirec │ │ │ +00022cb0: 7422 0a20 2020 2020 2020 2020 2020 2020 t". │ │ │ +00022cc0: 2020 2020 2020 2020 2020 2020 2020 2022 " │ │ │ +00022cd0: 436d 645f 6578 6974 2229 290a 2020 2020 Cmd_exit")). │ │ │ +00022ce0: 3b3b 2054 7279 2074 6f20 6b69 6c6c 2074 ;; Try to kill t │ │ │ +00022cf0: 6865 2041 6764 6120 7072 6f63 6573 7320 he Agda process │ │ │ +00022d00: 616e 6420 7468 6520 7072 6f63 6573 7320 and the process │ │ │ +00022d10: 6275 6666 6572 2e0a 2020 2020 2877 6865 buffer.. (whe │ │ │ +00022d20: 6e20 2861 6e64 2061 6764 6132 2d70 726f n (and agda2-pro │ │ │ +00022d30: 6365 7373 0a20 2020 2020 2020 2020 2020 cess. │ │ │ +00022d40: 2020 2020 2870 726f 6365 7373 2d73 7461 (process-sta │ │ │ +00022d50: 7475 7320 6167 6461 322d 7072 6f63 6573 tus agda2-proces │ │ │ +00022d60: 7329 290a 2020 2020 2020 2869 6e74 6572 s)). (inter │ │ │ +00022d70: 7275 7074 2d70 726f 6365 7373 2061 6764 rupt-process agd │ │ │ +00022d80: 6132 2d70 726f 6365 7373 2929 0a20 2020 a2-process)). │ │ │ +00022d90: 2028 7768 656e 2028 6275 6666 6572 2d6c (when (buffer-l │ │ │ +00022da0: 6976 652d 7020 6167 6461 322d 7072 6f63 ive-p agda2-proc │ │ │ +00022db0: 6573 732d 6275 6666 6572 290a 2020 2020 ess-buffer). │ │ │ +00022dc0: 2020 286b 696c 6c2d 6275 6666 6572 2061 (kill-buffer a │ │ │ +00022dd0: 6764 6132 2d70 726f 6365 7373 2d62 7566 gda2-process-buf │ │ │ +00022de0: 6665 7229 2929 290a 0a28 6465 6675 6e20 fer))))..(defun │ │ │ +00022df0: 6167 6461 322d 6b69 6c6c 2d70 726f 6365 agda2-kill-proce │ │ │ +00022e00: 7373 2d62 7566 6665 7220 2826 6f70 7469 ss-buffer (&opti │ │ │ +00022e10: 6f6e 616c 205f 7072 6f63 6573 7320 5f65 onal _process _e │ │ │ +00022e20: 7665 6e74 290a 2020 224b 696c 6c73 2074 vent). "Kills t │ │ │ +00022e30: 6865 2041 6764 6120 7072 6f63 6573 7320 he Agda process │ │ │ +00022e40: 6275 6666 6572 2c20 6966 2061 6e79 2e0a buffer, if any.. │ │ │ +00022e50: 4275 7420 6f6e 6c79 2069 6620 7468 6520 But only if the │ │ │ +00022e60: 4167 6461 2070 726f 6365 7373 2064 6f65 Agda process doe │ │ │ +00022e70: 7320 6e6f 7420 6578 6973 7420 6f72 2068 s not exist or h │ │ │ +00022e80: 6173 2074 6572 6d69 6e61 7465 642e 0a0a as terminated... │ │ │ +00022e90: 5468 6973 2066 756e 6374 696f 6e20 6361 This function ca │ │ │ +00022ea0: 6e20 6265 2075 7365 6420 6173 2061 2070 n be used as a p │ │ │ +00022eb0: 726f 6365 7373 2073 656e 7469 6e65 6c2e rocess sentinel. │ │ │ +00022ec0: 220a 2020 2877 6865 6e20 2861 6e64 2028 ". (when (and ( │ │ │ +00022ed0: 6f72 2028 6e75 6c6c 2061 6764 6132 2d70 or (null agda2-p │ │ │ +00022ee0: 726f 6365 7373 290a 2020 2020 2020 2020 rocess). │ │ │ +00022ef0: 2020 2020 2020 2020 2028 6d65 6d62 6572 (member │ │ │ +00022f00: 2028 7072 6f63 6573 732d 7374 6174 7573 (process-status │ │ │ +00022f10: 2061 6764 6132 2d70 726f 6365 7373 290a agda2-process). │ │ │ 00022f20: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00022f30: 2020 2020 2020 2020 2728 6578 6974 2073 '(exit s │ │ │ -00022f40: 6967 6e61 6c20 6661 696c 6564 206e 696c ignal failed nil │ │ │ -00022f50: 2929 290a 2020 2020 2020 2020 2020 2020 ))). │ │ │ -00022f60: 2028 6275 6666 6572 2d6c 6976 652d 7020 (buffer-live-p │ │ │ -00022f70: 6167 6461 322d 7072 6f63 6573 732d 6275 agda2-process-bu │ │ │ -00022f80: 6666 6572 2929 0a20 2020 2028 6b69 6c6c ffer)). (kill │ │ │ -00022f90: 2d62 7566 6665 7220 6167 6461 322d 7072 -buffer agda2-pr │ │ │ -00022fa0: 6f63 6573 732d 6275 6666 6572 2929 290a ocess-buffer))). │ │ │ -00022fb0: 0a28 636c 2d64 6566 6d61 6372 6f20 6167 .(cl-defmacro ag │ │ │ -00022fc0: 6461 322d 2d77 6974 682d 6765 6e73 796d da2--with-gensym │ │ │ -00022fd0: 7320 2828 2672 6573 7420 6e61 6d65 7329 s ((&rest names) │ │ │ -00022fe0: 2026 626f 6479 2062 6f64 7929 0a20 2022 &body body). " │ │ │ -00022ff0: 4269 6e64 204e 414d 4553 2074 6f20 6672 Bind NAMES to fr │ │ │ -00023000: 6573 6820 7379 6d62 6f6c 7320 696e 2042 esh symbols in B │ │ │ -00023010: 4f44 5922 0a20 2028 6465 636c 6172 6520 ODY". (declare │ │ │ -00023020: 2869 6e64 656e 7420 3129 290a 2020 6028 (indent 1)). `( │ │ │ -00023030: 6c65 7420 2c28 636c 2d6c 6f6f 7020 666f let ,(cl-loop fo │ │ │ -00023040: 7220 7820 696e 206e 616d 6573 2063 6f6c r x in names col │ │ │ -00023050: 6c65 6374 696e 6720 6028 2c78 2028 6d61 lecting `(,x (ma │ │ │ -00023060: 6b65 2d73 796d 626f 6c20 2873 796d 626f ke-symbol (symbo │ │ │ -00023070: 6c2d 6e61 6d65 272c 7829 2929 290a 2020 l-name',x)))). │ │ │ -00023080: 2020 202c 4062 6f64 7929 290a 0a3b 3b20 ,@body))..;; │ │ │ -00023090: 5468 6973 206d 6163 726f 2069 7320 6d65 This macro is me │ │ │ -000230a0: 616e 7420 746f 2062 6520 7573 6564 2074 ant to be used t │ │ │ -000230b0: 6f20 6765 6e65 7261 7465 206f 7468 6572 o generate other │ │ │ -000230c0: 206d 6163 726f 7320 7768 6963 6820 6465 macros which de │ │ │ -000230d0: 6669 6e65 0a3b 3b20 6675 6e63 7469 6f6e fine.;; function │ │ │ -000230e0: 7320 7768 6963 6820 6361 6e20 6265 2075 s which can be u │ │ │ -000230f0: 7365 6420 6569 7468 6572 2064 6972 6563 sed either direc │ │ │ -00023100: 746c 7920 6672 6f6d 2061 2067 6f61 6c20 tly from a goal │ │ │ -00023110: 6f72 2061 7420 6120 676c 6f62 616c 0a3b or at a global.; │ │ │ -00023120: 3b20 6c65 7665 6c20 616e 6420 6172 6520 ; level and are │ │ │ -00023130: 6d6f 6469 6669 6162 6c65 2075 7369 6e67 modifiable using │ │ │ -00023140: 206f 6e65 206f 6620 7468 7265 6520 6c65 one of three le │ │ │ -00023150: 7665 6c73 206f 6620 6e6f 726d 616c 6973 vels of normalis │ │ │ -00023160: 6174 696f 6e2e 0a0a 2864 6566 6d61 6372 ation...(defmacr │ │ │ -00023170: 6f20 6167 6461 322d 7072 6f74 6f2d 6d61 o agda2-proto-ma │ │ │ -00023180: 7962 652d 6e6f 726d 616c 6973 6564 2028 ybe-normalised ( │ │ │ -00023190: 6e61 6d65 2063 6f6d 6d65 6e74 2063 6d64 name comment cmd │ │ │ -000231a0: 206e 6f72 6d30 206e 6f72 6d31 206e 6f72 norm0 norm1 nor │ │ │ -000231b0: 6d32 206e 6f72 6d33 2073 7065 6329 0a20 m2 norm3 spec). │ │ │ -000231c0: 2022 5468 6973 206d 6163 726f 2063 6f6e "This macro con │ │ │ -000231d0: 7374 7275 6374 7320 6120 6675 6e63 7469 structs a functi │ │ │ -000231e0: 6f6e 204e 414d 4520 7768 6963 6820 7275 on NAME which ru │ │ │ -000231f0: 6e73 2043 4d44 2e0a 434f 4d4d 454e 5420 ns CMD..COMMENT │ │ │ -00023200: 6973 2075 7365 6420 746f 2062 7569 6c64 is used to build │ │ │ -00023210: 2074 6865 2066 756e 6374 696f 6e27 7320 the function's │ │ │ -00023220: 636f 6d6d 656e 742e 0a54 6865 2066 756e comment..The fun │ │ │ -00023230: 6374 696f 6e20 4e41 4d45 2074 616b 6573 ction NAME takes │ │ │ -00023240: 2061 2070 7265 6669 7820 6172 6775 6d65 a prefix argume │ │ │ -00023250: 6e74 2077 6869 6368 2074 656c 6c73 2077 nt which tells w │ │ │ -00023260: 6865 7468 6572 2069 740a 7368 6f75 6c64 hether it.should │ │ │ -00023270: 206e 6f72 6d61 6c69 7365 2074 7970 6573 normalise types │ │ │ -00023280: 2061 6363 6f72 6469 6e67 2074 6f20 6569 according to ei │ │ │ -00023290: 7468 6572 204e 4f52 4d30 2c20 4e4f 524d ther NORM0, NORM │ │ │ -000232a0: 312c 204e 4f52 4d32 2c20 6f72 204e 4f52 1, NORM2, or NOR │ │ │ -000232b0: 4d33 0a77 6865 6e20 7275 6e6e 696e 6720 M3.when running │ │ │ -000232c0: 434d 4420 7468 726f 7567 6820 6061 6764 CMD through `agd │ │ │ -000232d0: 6132 2d67 6f61 6c2d 636d 6460 2e0a 5350 a2-goal-cmd`..SP │ │ │ -000232e0: 4543 2063 616e 2062 6520 6569 7468 6572 EC can be either │ │ │ -000232f0: 2028 6672 6f6d 676f 616c 2077 616e 7429 (fromgoal want) │ │ │ -00023300: 206f 7220 2867 6c6f 6261 6c20 7072 6f6d or (global prom │ │ │ -00023310: 7074 292e 0a22 0a0a 2020 3b3b 204e 616d pt)..".. ;; Nam │ │ │ -00023320: 6573 2062 6f75 6e64 2069 6e20 6120 6d61 es bound in a ma │ │ │ -00023330: 6372 6f20 7368 6f75 6c64 2062 6520 6060 cro should be `` │ │ │ -00023340: 756e 696e 7465 726e 6564 2727 2074 6f20 uninterned'' to │ │ │ -00023350: 6176 6f69 6420 6e61 6d65 2063 6170 7475 avoid name captu │ │ │ -00023360: 7265 0a20 203b 3b20 5765 2075 7365 2074 re. ;; We use t │ │ │ -00023370: 6865 206d 6163 726f 2060 6167 6461 322d he macro `agda2- │ │ │ -00023380: 2d77 6974 682d 6765 6e73 796d 7327 2074 -with-gensyms' t │ │ │ -00023390: 6f20 6269 6e64 2074 6865 7365 2e0a 2020 o bind these.. │ │ │ -000233a0: 2861 6764 6132 2d2d 7769 7468 2d67 656e (agda2--with-gen │ │ │ -000233b0: 7379 6d73 2028 6576 616c 2070 7265 6669 syms (eval prefi │ │ │ -000233c0: 7820 6172 6773 290a 2020 2020 6028 6465 x args). `(de │ │ │ -000233d0: 6675 6e20 2c6e 616d 6520 282c 7072 6566 fun ,name (,pref │ │ │ -000233e0: 6978 2026 7265 7374 202c 6172 6773 290a ix &rest ,args). │ │ │ -000233f0: 2020 2020 2020 202c 2866 6f72 6d61 7420 ,(format │ │ │ -00023400: 2225 732e 0a0a 5468 6520 666f 726d 206f "%s...The form o │ │ │ -00023410: 6620 7468 6520 7265 7375 6c74 2064 6570 f the result dep │ │ │ -00023420: 656e 6473 206f 6e20 7468 6520 7072 6566 ends on the pref │ │ │ -00023430: 6978 2061 7267 756d 656e 743a 0a0a 2a20 ix argument:..* │ │ │ -00023440: 4966 2074 6865 2070 7265 6669 7820 6172 If the prefix ar │ │ │ -00023450: 6775 6d65 6e74 2069 7320 606e 696c 2720 gument is `nil' │ │ │ -00023460: 2869 2e65 2e2c 2069 6620 6e6f 2070 7265 (i.e., if no pre │ │ │ -00023470: 6669 7820 6172 6775 6d65 6e74 2069 730a fix argument is. │ │ │ -00023480: 2020 6769 7665 6e29 2c20 7468 656e 2074 given), then t │ │ │ -00023490: 6865 2072 6573 756c 7420 6973 2025 732e he result is %s. │ │ │ -000234a0: 0a0a 2a20 4966 2074 6865 2070 7265 6669 ..* If the prefi │ │ │ -000234b0: 7820 6172 6775 6d65 6e74 2069 7320 6028 x argument is `( │ │ │ -000234c0: 3429 2720 2866 6f72 2069 6e73 7461 6e63 4)' (for instanc │ │ │ -000234d0: 6520 6966 2043 2d75 2069 7320 7479 7065 e if C-u is type │ │ │ -000234e0: 640a 2020 6578 6163 746c 7920 6f6e 6365 d. exactly once │ │ │ -000234f0: 2072 6967 6874 2062 6566 6f72 6520 7468 right before th │ │ │ -00023500: 6520 636f 6d6d 616e 6420 6973 2069 6e76 e command is inv │ │ │ -00023510: 6f6b 6564 292c 2074 6865 6e20 7468 650a oked), then the. │ │ │ -00023520: 2020 7265 7375 6c74 2069 7320 2573 2e0a result is %s.. │ │ │ -00023530: 0a2a 2049 6620 7468 6520 7072 6566 6978 .* If the prefix │ │ │ -00023540: 2061 7267 756d 656e 7420 6973 2060 2831 argument is `(1 │ │ │ -00023550: 3629 2720 2866 6f72 2069 6e73 7461 6e63 6)' (for instanc │ │ │ -00023560: 6520 6966 2043 2d75 2069 7320 7479 7065 e if C-u is type │ │ │ -00023570: 640a 2020 6578 6163 746c 7920 7477 6963 d. exactly twic │ │ │ -00023580: 6520 7269 6768 7420 6265 666f 7265 2074 e right before t │ │ │ -00023590: 6865 2063 6f6d 6d61 6e64 2069 7320 696e he command is in │ │ │ -000235a0: 766f 6b65 6429 2c20 7468 656e 2074 6865 voked), then the │ │ │ -000235b0: 0a20 2072 6573 756c 7420 6973 2025 732e . result is %s. │ │ │ -000235c0: 0a0a 2a20 4966 2061 6e79 206f 7468 6572 ..* If any other │ │ │ -000235d0: 2070 7265 6669 7820 6172 6775 6d65 6e74 prefix argument │ │ │ -000235e0: 2069 7320 7573 6564 2028 666f 7220 696e is used (for in │ │ │ -000235f0: 7374 616e 6365 2069 6620 432d 7520 6973 stance if C-u is │ │ │ -00023600: 0a20 2074 7970 6564 2074 6872 6963 6520 . typed thrice │ │ │ -00023610: 7269 6768 7420 6265 666f 7265 2074 6865 right before the │ │ │ -00023620: 2063 6f6d 6d61 6e64 2069 7320 696e 766f command is invo │ │ │ -00023630: 6b65 6429 2c20 7468 656e 2074 6865 0a20 ked), then the. │ │ │ -00023640: 2072 6573 756c 7420 6973 2025 732e 2220 result is %s." │ │ │ -00023650: 636f 6d6d 656e 7420 286e 7468 2031 206e comment (nth 1 n │ │ │ -00023660: 6f72 6d30 2920 286e 7468 2031 206e 6f72 orm0) (nth 1 nor │ │ │ -00023670: 6d31 2920 286e 7468 2031 206e 6f72 6d32 m1) (nth 1 norm2 │ │ │ -00023680: 2920 286e 7468 2031 206e 6f72 6d33 2929 ) (nth 1 norm3)) │ │ │ -00023690: 0a0a 2020 2020 2020 203b 3b20 416c 6c20 .. ;; All │ │ │ -000236a0: 7468 6520 636f 6d6d 616e 6473 2067 656e the commands gen │ │ │ -000236b0: 6572 6174 6564 2062 7920 7468 6520 6d61 erated by the ma │ │ │ -000236c0: 6372 6f20 6172 6520 696e 7465 7261 6374 cro are interact │ │ │ -000236d0: 6976 652e 0a20 2020 2020 2020 3b3b 2054 ive.. ;; T │ │ │ -000236e0: 686f 7365 2063 616c 6c65 6420 6672 6f6d hose called from │ │ │ -000236f0: 2061 2067 6f61 6c2c 2067 7261 6220 7468 a goal, grab th │ │ │ -00023700: 6520 7661 6c75 6520 7072 6573 656e 7420 e value present │ │ │ -00023710: 7468 6572 6520 2869 6620 616e 7929 0a20 there (if any). │ │ │ -00023720: 2020 2020 2020 3b3b 2057 6865 7265 6173 ;; Whereas │ │ │ -00023730: 2074 686f 7365 2063 616c 6c65 6420 676c those called gl │ │ │ -00023740: 6f62 616c 6c79 2061 6c77 6179 7320 7573 obally always us │ │ │ -00023750: 6520 6120 7072 6f6d 7074 0a20 2020 2020 e a prompt. │ │ │ -00023760: 2020 2869 6e74 6572 6163 7469 7665 202c (interactive , │ │ │ -00023770: 2870 6361 7365 2073 7065 630a 2020 2020 (pcase spec. │ │ │ +00022f30: 2020 2020 2020 2020 2027 2865 7869 7420 '(exit │ │ │ +00022f40: 7369 676e 616c 2066 6169 6c65 6420 6e69 signal failed ni │ │ │ +00022f50: 6c29 2929 0a20 2020 2020 2020 2020 2020 l))). │ │ │ +00022f60: 2020 2862 7566 6665 722d 6c69 7665 2d70 (buffer-live-p │ │ │ +00022f70: 2061 6764 6132 2d70 726f 6365 7373 2d62 agda2-process-b │ │ │ +00022f80: 7566 6665 7229 290a 2020 2020 286b 696c uffer)). (kil │ │ │ +00022f90: 6c2d 6275 6666 6572 2061 6764 6132 2d70 l-buffer agda2-p │ │ │ +00022fa0: 726f 6365 7373 2d62 7566 6665 7229 2929 rocess-buffer))) │ │ │ +00022fb0: 0a0a 2863 6c2d 6465 666d 6163 726f 2061 ..(cl-defmacro a │ │ │ +00022fc0: 6764 6132 2d2d 7769 7468 2d67 656e 7379 gda2--with-gensy │ │ │ +00022fd0: 6d73 2028 2826 7265 7374 206e 616d 6573 ms ((&rest names │ │ │ +00022fe0: 2920 2662 6f64 7920 626f 6479 290a 2020 ) &body body). │ │ │ +00022ff0: 2242 696e 6420 4e41 4d45 5320 746f 2066 "Bind NAMES to f │ │ │ +00023000: 7265 7368 2073 796d 626f 6c73 2069 6e20 resh symbols in │ │ │ +00023010: 424f 4459 220a 2020 2864 6563 6c61 7265 BODY". (declare │ │ │ +00023020: 2028 696e 6465 6e74 2031 2929 0a20 2060 (indent 1)). ` │ │ │ +00023030: 286c 6574 202c 2863 6c2d 6c6f 6f70 2066 (let ,(cl-loop f │ │ │ +00023040: 6f72 2078 2069 6e20 6e61 6d65 7320 636f or x in names co │ │ │ +00023050: 6c6c 6563 7469 6e67 2060 282c 7820 286d llecting `(,x (m │ │ │ +00023060: 616b 652d 7379 6d62 6f6c 2028 7379 6d62 ake-symbol (symb │ │ │ +00023070: 6f6c 2d6e 616d 6527 2c78 2929 2929 0a20 ol-name',x)))). │ │ │ +00023080: 2020 2020 2c40 626f 6479 2929 0a0a 3b3b ,@body))..;; │ │ │ +00023090: 2054 6869 7320 6d61 6372 6f20 6973 206d This macro is m │ │ │ +000230a0: 6561 6e74 2074 6f20 6265 2075 7365 6420 eant to be used │ │ │ +000230b0: 746f 2067 656e 6572 6174 6520 6f74 6865 to generate othe │ │ │ +000230c0: 7220 6d61 6372 6f73 2077 6869 6368 2064 r macros which d │ │ │ +000230d0: 6566 696e 650a 3b3b 2066 756e 6374 696f efine.;; functio │ │ │ +000230e0: 6e73 2077 6869 6368 2063 616e 2062 6520 ns which can be │ │ │ +000230f0: 7573 6564 2065 6974 6865 7220 6469 7265 used either dire │ │ │ +00023100: 6374 6c79 2066 726f 6d20 6120 676f 616c ctly from a goal │ │ │ +00023110: 206f 7220 6174 2061 2067 6c6f 6261 6c0a or at a global. │ │ │ +00023120: 3b3b 206c 6576 656c 2061 6e64 2061 7265 ;; level and are │ │ │ +00023130: 206d 6f64 6966 6961 626c 6520 7573 696e modifiable usin │ │ │ +00023140: 6720 6f6e 6520 6f66 2074 6872 6565 206c g one of three l │ │ │ +00023150: 6576 656c 7320 6f66 206e 6f72 6d61 6c69 evels of normali │ │ │ +00023160: 7361 7469 6f6e 2e0a 0a28 6465 666d 6163 sation...(defmac │ │ │ +00023170: 726f 2061 6764 6132 2d70 726f 746f 2d6d ro agda2-proto-m │ │ │ +00023180: 6179 6265 2d6e 6f72 6d61 6c69 7365 6420 aybe-normalised │ │ │ +00023190: 286e 616d 6520 636f 6d6d 656e 7420 636d (name comment cm │ │ │ +000231a0: 6420 6e6f 726d 3020 6e6f 726d 3120 6e6f d norm0 norm1 no │ │ │ +000231b0: 726d 3220 6e6f 726d 3320 7370 6563 290a rm2 norm3 spec). │ │ │ +000231c0: 2020 2254 6869 7320 6d61 6372 6f20 636f "This macro co │ │ │ +000231d0: 6e73 7472 7563 7473 2061 2066 756e 6374 nstructs a funct │ │ │ +000231e0: 696f 6e20 4e41 4d45 2077 6869 6368 2072 ion NAME which r │ │ │ +000231f0: 756e 7320 434d 442e 0a43 4f4d 4d45 4e54 uns CMD..COMMENT │ │ │ +00023200: 2069 7320 7573 6564 2074 6f20 6275 696c is used to buil │ │ │ +00023210: 6420 7468 6520 6675 6e63 7469 6f6e 2773 d the function's │ │ │ +00023220: 2063 6f6d 6d65 6e74 2e0a 5468 6520 6675 comment..The fu │ │ │ +00023230: 6e63 7469 6f6e 204e 414d 4520 7461 6b65 nction NAME take │ │ │ +00023240: 7320 6120 7072 6566 6978 2061 7267 756d s a prefix argum │ │ │ +00023250: 656e 7420 7768 6963 6820 7465 6c6c 7320 ent which tells │ │ │ +00023260: 7768 6574 6865 7220 6974 0a73 686f 756c whether it.shoul │ │ │ +00023270: 6420 6e6f 726d 616c 6973 6520 7479 7065 d normalise type │ │ │ +00023280: 7320 6163 636f 7264 696e 6720 746f 2065 s according to e │ │ │ +00023290: 6974 6865 7220 4e4f 524d 302c 204e 4f52 ither NORM0, NOR │ │ │ +000232a0: 4d31 2c20 4e4f 524d 322c 206f 7220 4e4f M1, NORM2, or NO │ │ │ +000232b0: 524d 330a 7768 656e 2072 756e 6e69 6e67 RM3.when running │ │ │ +000232c0: 2043 4d44 2074 6872 6f75 6768 2060 6167 CMD through `ag │ │ │ +000232d0: 6461 322d 676f 616c 2d63 6d64 602e 0a53 da2-goal-cmd`..S │ │ │ +000232e0: 5045 4320 6361 6e20 6265 2065 6974 6865 PEC can be eithe │ │ │ +000232f0: 7220 2866 726f 6d67 6f61 6c20 7761 6e74 r (fromgoal want │ │ │ +00023300: 2920 6f72 2028 676c 6f62 616c 2070 726f ) or (global pro │ │ │ +00023310: 6d70 7429 2e0a 220a 0a20 203b 3b20 4e61 mpt)..".. ;; Na │ │ │ +00023320: 6d65 7320 626f 756e 6420 696e 2061 206d mes bound in a m │ │ │ +00023330: 6163 726f 2073 686f 756c 6420 6265 2060 acro should be ` │ │ │ +00023340: 6075 6e69 6e74 6572 6e65 6427 2720 746f `uninterned'' to │ │ │ +00023350: 2061 766f 6964 206e 616d 6520 6361 7074 avoid name capt │ │ │ +00023360: 7572 650a 2020 3b3b 2057 6520 7573 6520 ure. ;; We use │ │ │ +00023370: 7468 6520 6d61 6372 6f20 6061 6764 6132 the macro `agda2 │ │ │ +00023380: 2d2d 7769 7468 2d67 656e 7379 6d73 2720 --with-gensyms' │ │ │ +00023390: 746f 2062 696e 6420 7468 6573 652e 0a20 to bind these.. │ │ │ +000233a0: 2028 6167 6461 322d 2d77 6974 682d 6765 (agda2--with-ge │ │ │ +000233b0: 6e73 796d 7320 2865 7661 6c20 7072 6566 nsyms (eval pref │ │ │ +000233c0: 6978 2061 7267 7329 0a20 2020 2060 2864 ix args). `(d │ │ │ +000233d0: 6566 756e 202c 6e61 6d65 2028 2c70 7265 efun ,name (,pre │ │ │ +000233e0: 6669 7820 2672 6573 7420 2c61 7267 7329 fix &rest ,args) │ │ │ +000233f0: 0a20 2020 2020 2020 2c28 666f 726d 6174 . ,(format │ │ │ +00023400: 2022 2573 2e0a 0a54 6865 2066 6f72 6d20 "%s...The form │ │ │ +00023410: 6f66 2074 6865 2072 6573 756c 7420 6465 of the result de │ │ │ +00023420: 7065 6e64 7320 6f6e 2074 6865 2070 7265 pends on the pre │ │ │ +00023430: 6669 7820 6172 6775 6d65 6e74 3a0a 0a2a fix argument:..* │ │ │ +00023440: 2049 6620 7468 6520 7072 6566 6978 2061 If the prefix a │ │ │ +00023450: 7267 756d 656e 7420 6973 2060 6e69 6c27 rgument is `nil' │ │ │ +00023460: 2028 692e 652e 2c20 6966 206e 6f20 7072 (i.e., if no pr │ │ │ +00023470: 6566 6978 2061 7267 756d 656e 7420 6973 efix argument is │ │ │ +00023480: 0a20 2067 6976 656e 292c 2074 6865 6e20 . given), then │ │ │ +00023490: 7468 6520 7265 7375 6c74 2069 7320 2573 the result is %s │ │ │ +000234a0: 2e0a 0a2a 2049 6620 7468 6520 7072 6566 ...* If the pref │ │ │ +000234b0: 6978 2061 7267 756d 656e 7420 6973 2060 ix argument is ` │ │ │ +000234c0: 2834 2927 2028 666f 7220 696e 7374 616e (4)' (for instan │ │ │ +000234d0: 6365 2069 6620 432d 7520 6973 2074 7970 ce if C-u is typ │ │ │ +000234e0: 6564 0a20 2065 7861 6374 6c79 206f 6e63 ed. exactly onc │ │ │ +000234f0: 6520 7269 6768 7420 6265 666f 7265 2074 e right before t │ │ │ +00023500: 6865 2063 6f6d 6d61 6e64 2069 7320 696e he command is in │ │ │ +00023510: 766f 6b65 6429 2c20 7468 656e 2074 6865 voked), then the │ │ │ +00023520: 0a20 2072 6573 756c 7420 6973 2025 732e . result is %s. │ │ │ +00023530: 0a0a 2a20 4966 2074 6865 2070 7265 6669 ..* If the prefi │ │ │ +00023540: 7820 6172 6775 6d65 6e74 2069 7320 6028 x argument is `( │ │ │ +00023550: 3136 2927 2028 666f 7220 696e 7374 616e 16)' (for instan │ │ │ +00023560: 6365 2069 6620 432d 7520 6973 2074 7970 ce if C-u is typ │ │ │ +00023570: 6564 0a20 2065 7861 6374 6c79 2074 7769 ed. exactly twi │ │ │ +00023580: 6365 2072 6967 6874 2062 6566 6f72 6520 ce right before │ │ │ +00023590: 7468 6520 636f 6d6d 616e 6420 6973 2069 the command is i │ │ │ +000235a0: 6e76 6f6b 6564 292c 2074 6865 6e20 7468 nvoked), then th │ │ │ +000235b0: 650a 2020 7265 7375 6c74 2069 7320 2573 e. result is %s │ │ │ +000235c0: 2e0a 0a2a 2049 6620 616e 7920 6f74 6865 ...* If any othe │ │ │ +000235d0: 7220 7072 6566 6978 2061 7267 756d 656e r prefix argumen │ │ │ +000235e0: 7420 6973 2075 7365 6420 2866 6f72 2069 t is used (for i │ │ │ +000235f0: 6e73 7461 6e63 6520 6966 2043 2d75 2069 nstance if C-u i │ │ │ +00023600: 730a 2020 7479 7065 6420 7468 7269 6365 s. typed thrice │ │ │ +00023610: 2072 6967 6874 2062 6566 6f72 6520 7468 right before th │ │ │ +00023620: 6520 636f 6d6d 616e 6420 6973 2069 6e76 e command is inv │ │ │ +00023630: 6f6b 6564 292c 2074 6865 6e20 7468 650a oked), then the. │ │ │ +00023640: 2020 7265 7375 6c74 2069 7320 2573 2e22 result is %s." │ │ │ +00023650: 2063 6f6d 6d65 6e74 2028 6e74 6820 3120 comment (nth 1 │ │ │ +00023660: 6e6f 726d 3029 2028 6e74 6820 3120 6e6f norm0) (nth 1 no │ │ │ +00023670: 726d 3129 2028 6e74 6820 3120 6e6f 726d rm1) (nth 1 norm │ │ │ +00023680: 3229 2028 6e74 6820 3120 6e6f 726d 3329 2) (nth 1 norm3) │ │ │ +00023690: 290a 0a20 2020 2020 2020 3b3b 2041 6c6c ).. ;; All │ │ │ +000236a0: 2074 6865 2063 6f6d 6d61 6e64 7320 6765 the commands ge │ │ │ +000236b0: 6e65 7261 7465 6420 6279 2074 6865 206d nerated by the m │ │ │ +000236c0: 6163 726f 2061 7265 2069 6e74 6572 6163 acro are interac │ │ │ +000236d0: 7469 7665 2e0a 2020 2020 2020 203b 3b20 tive.. ;; │ │ │ +000236e0: 5468 6f73 6520 6361 6c6c 6564 2066 726f Those called fro │ │ │ +000236f0: 6d20 6120 676f 616c 2c20 6772 6162 2074 m a goal, grab t │ │ │ +00023700: 6865 2076 616c 7565 2070 7265 7365 6e74 he value present │ │ │ +00023710: 2074 6865 7265 2028 6966 2061 6e79 290a there (if any). │ │ │ +00023720: 2020 2020 2020 203b 3b20 5768 6572 6561 ;; Wherea │ │ │ +00023730: 7320 7468 6f73 6520 6361 6c6c 6564 2067 s those called g │ │ │ +00023740: 6c6f 6261 6c6c 7920 616c 7761 7973 2075 lobally always u │ │ │ +00023750: 7365 2061 2070 726f 6d70 740a 2020 2020 se a prompt. │ │ │ +00023760: 2020 2028 696e 7465 7261 6374 6976 6520 (interactive │ │ │ +00023770: 2c28 7063 6173 6520 7370 6563 0a20 2020 ,(pcase spec. │ │ │ 00023780: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00023790: 2020 2028 6028 6672 6f6d 676f 616c 202c (`(fromgoal , │ │ │ -000237a0: 5f77 616e 7429 0a20 2020 2020 2020 2020 _want). │ │ │ -000237b0: 2020 2020 2020 2020 2020 2020 2020 2022 " │ │ │ -000237c0: 5022 290a 2020 2020 2020 2020 2020 2020 P"). │ │ │ -000237d0: 2020 2020 2020 2020 2020 2028 6028 676c (`(gl │ │ │ -000237e0: 6f62 616c 202c 7072 6f6d 7074 290a 2020 obal ,prompt). │ │ │ +00023790: 2020 2020 2860 2866 726f 6d67 6f61 6c20 (`(fromgoal │ │ │ +000237a0: 2c5f 7761 6e74 290a 2020 2020 2020 2020 ,_want). │ │ │ +000237b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +000237c0: 2250 2229 0a20 2020 2020 2020 2020 2020 "P"). │ │ │ +000237d0: 2020 2020 2020 2020 2020 2020 2860 2867 (`(g │ │ │ +000237e0: 6c6f 6261 6c20 2c70 726f 6d70 7429 0a20 lobal ,prompt). │ │ │ 000237f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00023800: 2020 2020 2020 2869 6620 7072 6f6d 7074 (if prompt │ │ │ -00023810: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ -00023820: 2020 2020 2020 2020 2020 2020 2028 636f (co │ │ │ -00023830: 6e63 6174 2022 505c 6e4d 2220 7072 6f6d ncat "P\nM" prom │ │ │ -00023840: 7074 2022 3a20 2229 0a20 2020 2020 2020 pt ": "). │ │ │ +00023800: 2020 2020 2020 2028 6966 2070 726f 6d70 (if promp │ │ │ +00023810: 740a 2020 2020 2020 2020 2020 2020 2020 t. │ │ │ +00023820: 2020 2020 2020 2020 2020 2020 2020 2863 (c │ │ │ +00023830: 6f6e 6361 7420 2250 5c6e 4d22 2070 726f oncat "P\nM" pro │ │ │ +00023840: 6d70 7420 223a 2022 290a 2020 2020 2020 mpt ": "). │ │ │ 00023850: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00023860: 2020 2022 5022 2929 2929 0a20 2020 2020 "P")))). │ │ │ -00023870: 2020 3b3b 2044 6570 656e 6469 6e67 206f ;; Depending o │ │ │ -00023880: 6e20 7468 6520 7072 6566 6978 2773 2076 n the prefix's v │ │ │ -00023890: 616c 7565 2077 6520 7069 636b 206f 6e65 alue we pick one │ │ │ -000238a0: 206f 6620 7468 6520 7468 7265 650a 2020 of the three. │ │ │ -000238b0: 2020 2020 203b 3b20 6e6f 726d 616c 6973 ;; normalis │ │ │ -000238c0: 6174 696f 6e20 6c65 7665 6c73 0a20 2020 ation levels. │ │ │ -000238d0: 2020 2020 286c 6574 2028 282c 6576 616c (let ((,eval │ │ │ -000238e0: 2028 636f 6e64 2028 286e 756c 6c20 2c70 (cond ((null ,p │ │ │ -000238f0: 7265 6669 7829 0a20 2020 2020 2020 2020 refix). │ │ │ +00023860: 2020 2020 2250 2229 2929 290a 2020 2020 "P")))). │ │ │ +00023870: 2020 203b 3b20 4465 7065 6e64 696e 6720 ;; Depending │ │ │ +00023880: 6f6e 2074 6865 2070 7265 6669 7827 7320 on the prefix's │ │ │ +00023890: 7661 6c75 6520 7765 2070 6963 6b20 6f6e value we pick on │ │ │ +000238a0: 6520 6f66 2074 6865 2074 6872 6565 0a20 e of the three. │ │ │ +000238b0: 2020 2020 2020 3b3b 206e 6f72 6d61 6c69 ;; normali │ │ │ +000238c0: 7361 7469 6f6e 206c 6576 656c 730a 2020 sation levels. │ │ │ +000238d0: 2020 2020 2028 6c65 7420 2828 2c65 7661 (let ((,eva │ │ │ +000238e0: 6c20 2863 6f6e 6420 2828 6e75 6c6c 202c l (cond ((null , │ │ │ +000238f0: 7072 6566 6978 290a 2020 2020 2020 2020 prefix). │ │ │ 00023900: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00023910: 2020 2c28 6361 7220 6e6f 726d 3029 290a ,(car norm0)). │ │ │ -00023920: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00023930: 2020 2020 2020 2020 2020 2828 6571 7561 ((equa │ │ │ -00023940: 6c20 2c70 7265 6669 7820 2728 3429 290a l ,prefix '(4)). │ │ │ -00023950: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00023960: 2020 2020 2020 2020 2020 202c 2863 6172 ,(car │ │ │ -00023970: 206e 6f72 6d31 2929 0a20 2020 2020 2020 norm1)). │ │ │ +00023910: 2020 202c 2863 6172 206e 6f72 6d30 2929 ,(car norm0)) │ │ │ +00023920: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ +00023930: 2020 2020 2020 2020 2020 2028 2865 7175 ((equ │ │ │ +00023940: 616c 202c 7072 6566 6978 2027 2834 2929 al ,prefix '(4)) │ │ │ +00023950: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ +00023960: 2020 2020 2020 2020 2020 2020 2c28 6361 ,(ca │ │ │ +00023970: 7220 6e6f 726d 3129 290a 2020 2020 2020 r norm1)). │ │ │ 00023980: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00023990: 2020 2028 2865 7175 616c 202c 7072 6566 ((equal ,pref │ │ │ -000239a0: 6978 2027 2831 3629 290a 2020 2020 2020 ix '(16)). │ │ │ +00023990: 2020 2020 2828 6571 7561 6c20 2c70 7265 ((equal ,pre │ │ │ +000239a0: 6669 7820 2728 3136 2929 0a20 2020 2020 fix '(16)). │ │ │ 000239b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -000239c0: 2020 2020 202c 2863 6172 206e 6f72 6d32 ,(car norm2 │ │ │ -000239d0: 2929 0a20 2020 2020 2020 2020 2020 2020 )). │ │ │ -000239e0: 2020 2020 2020 2020 2020 2020 2028 7420 (t │ │ │ -000239f0: 2c28 6361 7220 6e6f 726d 3329 2929 2929 ,(car norm3))))) │ │ │ -00023a00: 0a20 2020 2020 2020 3b3b 2046 696e 616c . ;; Final │ │ │ -00023a10: 6c79 2c20 6966 2074 6865 2063 6f6d 6d61 ly, if the comma │ │ │ -00023a20: 6e64 2069 7320 6361 6c6c 6564 2066 726f nd is called fro │ │ │ -00023a30: 6d20 6120 676f 616c 2c20 7765 2075 7365 m a goal, we use │ │ │ -00023a40: 2060 6167 6461 322d 676f 616c 2d63 6d64 `agda2-goal-cmd │ │ │ -00023a50: 270a 2020 2020 2020 203b 3b20 4f74 6865 '. ;; Othe │ │ │ -00023a60: 7277 6973 6520 7765 2072 6573 6f72 7420 rwise we resort │ │ │ -00023a70: 746f 2060 6167 6461 322d 676f 270a 2020 to `agda2-go'. │ │ │ -00023a80: 2020 2020 2020 202c 2870 6361 7365 2073 ,(pcase s │ │ │ -00023a90: 7065 630a 2020 2020 2020 2020 2020 2020 pec. │ │ │ -00023aa0: 2860 2866 726f 6d67 6f61 6c20 2c77 616e (`(fromgoal ,wan │ │ │ -00023ab0: 7429 0a20 2020 2020 2020 2020 2020 2020 t). │ │ │ -00023ac0: 6028 6167 6461 322d 676f 616c 2d63 6d64 `(agda2-goal-cmd │ │ │ -00023ad0: 2028 636f 6e63 6174 202c 636d 6420 2220 (concat ,cmd " │ │ │ -00023ae0: 2220 2c65 7661 6c29 206e 696c 202c 7761 " ,eval) nil ,wa │ │ │ -00023af0: 6e74 2929 0a20 2020 2020 2020 2020 2020 nt)). │ │ │ -00023b00: 2028 6028 676c 6f62 616c 202c 7072 6f6d (`(global ,prom │ │ │ -00023b10: 7074 290a 2020 2020 2020 2020 2020 2020 pt). │ │ │ -00023b20: 2060 2861 6764 6132 2d67 6f20 6e69 6c20 `(agda2-go nil │ │ │ -00023b30: 7420 2762 7573 7920 740a 2020 2020 2020 t 'busy t. │ │ │ +000239c0: 2020 2020 2020 2c28 6361 7220 6e6f 726d ,(car norm │ │ │ +000239d0: 3229 290a 2020 2020 2020 2020 2020 2020 2)). │ │ │ +000239e0: 2020 2020 2020 2020 2020 2020 2020 2874 (t │ │ │ +000239f0: 202c 2863 6172 206e 6f72 6d33 2929 2929 ,(car norm3)))) │ │ │ +00023a00: 290a 2020 2020 2020 203b 3b20 4669 6e61 ). ;; Fina │ │ │ +00023a10: 6c6c 792c 2069 6620 7468 6520 636f 6d6d lly, if the comm │ │ │ +00023a20: 616e 6420 6973 2063 616c 6c65 6420 6672 and is called fr │ │ │ +00023a30: 6f6d 2061 2067 6f61 6c2c 2077 6520 7573 om a goal, we us │ │ │ +00023a40: 6520 6061 6764 6132 2d67 6f61 6c2d 636d e `agda2-goal-cm │ │ │ +00023a50: 6427 0a20 2020 2020 2020 3b3b 204f 7468 d'. ;; Oth │ │ │ +00023a60: 6572 7769 7365 2077 6520 7265 736f 7274 erwise we resort │ │ │ +00023a70: 2074 6f20 6061 6764 6132 2d67 6f27 0a20 to `agda2-go'. │ │ │ +00023a80: 2020 2020 2020 2020 2c28 7063 6173 6520 ,(pcase │ │ │ +00023a90: 7370 6563 0a20 2020 2020 2020 2020 2020 spec. │ │ │ +00023aa0: 2028 6028 6672 6f6d 676f 616c 202c 7761 (`(fromgoal ,wa │ │ │ +00023ab0: 6e74 290a 2020 2020 2020 2020 2020 2020 nt). │ │ │ +00023ac0: 2060 2861 6764 6132 2d67 6f61 6c2d 636d `(agda2-goal-cm │ │ │ +00023ad0: 6420 2863 6f6e 6361 7420 2c63 6d64 2022 d (concat ,cmd " │ │ │ +00023ae0: 2022 202c 6576 616c 2920 6e69 6c20 2c77 " ,eval) nil ,w │ │ │ +00023af0: 616e 7429 290a 2020 2020 2020 2020 2020 ant)). │ │ │ +00023b00: 2020 2860 2867 6c6f 6261 6c20 2c70 726f (`(global ,pro │ │ │ +00023b10: 6d70 7429 0a20 2020 2020 2020 2020 2020 mpt). │ │ │ +00023b20: 2020 6028 6167 6461 322d 676f 206e 696c `(agda2-go nil │ │ │ +00023b30: 2074 2027 6275 7379 2074 0a20 2020 2020 t 'busy t. │ │ │ 00023b40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00023b50: 2020 2863 6f6e 6361 7420 2c63 6d64 2022 (concat ,cmd " │ │ │ -00023b60: 2022 0a20 2020 2020 2020 2020 2020 2020 ". │ │ │ +00023b50: 2020 2028 636f 6e63 6174 202c 636d 6420 (concat ,cmd │ │ │ +00023b60: 2220 220a 2020 2020 2020 2020 2020 2020 " ". │ │ │ 00023b70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00023b80: 2020 202c 6576 616c 2022 2022 0a20 2020 ,eval " ". │ │ │ +00023b80: 2020 2020 2c65 7661 6c20 2220 220a 2020 ,eval " ". │ │ │ 00023b90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00023ba0: 2020 2020 2020 2020 2020 2020 2028 6966 (if │ │ │ -00023bb0: 202c 7072 6f6d 7074 0a20 2020 2020 2020 ,prompt. │ │ │ +00023ba0: 2020 2020 2020 2020 2020 2020 2020 2869 (i │ │ │ +00023bb0: 6620 2c70 726f 6d70 740a 2020 2020 2020 f ,prompt. │ │ │ 00023bc0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00023bd0: 2020 2020 2020 2020 2020 2020 2028 6167 (ag │ │ │ -00023be0: 6461 322d 7374 7269 6e67 2d71 756f 7465 da2-string-quote │ │ │ -00023bf0: 2028 6361 7220 2c61 7267 7329 290a 2020 (car ,args)). │ │ │ +00023bd0: 2020 2020 2020 2020 2020 2020 2020 2861 (a │ │ │ +00023be0: 6764 6132 2d73 7472 696e 672d 7175 6f74 gda2-string-quot │ │ │ +00023bf0: 6520 2863 6172 202c 6172 6773 2929 0a20 e (car ,args)). │ │ │ 00023c00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 00023c10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00023c20: 2020 2222 2929 2929 2929 2929 290a 0a28 "")))))))))..( │ │ │ -00023c30: 6465 666d 6163 726f 2061 6764 6132 2d6d defmacro agda2-m │ │ │ -00023c40: 6179 6265 2d6e 6f72 6d61 6c69 7365 6420 aybe-normalised │ │ │ -00023c50: 286e 616d 6520 636f 6d6d 656e 7420 636d (name comment cm │ │ │ -00023c60: 6420 7761 6e74 290a 2020 6028 6167 6461 d want). `(agda │ │ │ -00023c70: 322d 7072 6f74 6f2d 6d61 7962 652d 6e6f 2-proto-maybe-no │ │ │ -00023c80: 726d 616c 6973 6564 0a20 2020 202c 6e61 rmalised. ,na │ │ │ -00023c90: 6d65 202c 636f 6d6d 656e 7420 2c63 6d64 me ,comment ,cmd │ │ │ -00023ca0: 0a20 2020 2028 2253 696d 706c 6966 6965 . ("Simplifie │ │ │ -00023cb0: 6422 2020 2022 7369 6d70 6c69 6669 6564 d" "simplified │ │ │ -00023cc0: 2229 0a20 2020 2028 2249 6e73 7461 6e74 "). ("Instant │ │ │ -00023cd0: 6961 7465 6422 2022 6e65 6974 6865 7220 iated" "neither │ │ │ -00023ce0: 6578 706c 6963 6974 6c79 206e 6f72 6d61 explicitly norma │ │ │ -00023cf0: 6c69 7365 6420 6e6f 7220 7369 6d70 6c69 lised nor simpli │ │ │ -00023d00: 6669 6564 2229 0a20 2020 2028 224e 6f72 fied"). ("Nor │ │ │ -00023d10: 6d61 6c69 7365 6422 2020 2022 6e6f 726d malised" "norm │ │ │ -00023d20: 616c 6973 6564 2229 0a20 2020 2028 2248 alised"). ("H │ │ │ -00023d30: 6561 644e 6f72 6d61 6c22 2020 2022 6865 eadNormal" "he │ │ │ -00023d40: 6164 206e 6f72 6d61 6c69 7365 6422 290a ad normalised"). │ │ │ -00023d50: 2020 2020 2866 726f 6d67 6f61 6c20 2c77 (fromgoal ,w │ │ │ -00023d60: 616e 7429 2929 0a0a 2864 6566 6d61 6372 ant)))..(defmacr │ │ │ -00023d70: 6f20 6167 6461 322d 6d61 7962 652d 6e6f o agda2-maybe-no │ │ │ -00023d80: 726d 616c 6973 6564 2d61 7369 7320 286e rmalised-asis (n │ │ │ -00023d90: 616d 6520 636f 6d6d 656e 7420 636d 6420 ame comment cmd │ │ │ -00023da0: 7761 6e74 290a 2020 6028 6167 6461 322d want). `(agda2- │ │ │ -00023db0: 7072 6f74 6f2d 6d61 7962 652d 6e6f 726d proto-maybe-norm │ │ │ -00023dc0: 616c 6973 6564 0a20 2020 202c 6e61 6d65 alised. ,name │ │ │ -00023dd0: 202c 636f 6d6d 656e 7420 2c63 6d64 0a20 ,comment ,cmd. │ │ │ -00023de0: 2020 2028 2241 7349 7322 2020 2020 2020 ("AsIs" │ │ │ -00023df0: 2022 7265 7475 726e 6564 2061 7320 6973 "returned as is │ │ │ -00023e00: 2229 0a20 2020 2028 2253 696d 706c 6966 "). ("Simplif │ │ │ -00023e10: 6965 6422 2022 7369 6d70 6c69 6669 6564 ied" "simplified │ │ │ -00023e20: 2229 0a20 2020 2028 224e 6f72 6d61 6c69 "). ("Normali │ │ │ -00023e30: 7365 6422 2022 6e6f 726d 616c 6973 6564 sed" "normalised │ │ │ -00023e40: 2229 0a20 2020 2028 2248 6561 644e 6f72 "). ("HeadNor │ │ │ -00023e50: 6d61 6c22 2022 6865 6164 206e 6f72 6d61 mal" "head norma │ │ │ -00023e60: 6c69 7365 6422 290a 2020 2020 2866 726f lised"). (fro │ │ │ -00023e70: 6d67 6f61 6c20 2c77 616e 7429 2929 0a0a mgoal ,want))).. │ │ │ -00023e80: 2864 6566 6d61 6372 6f20 6167 6461 322d (defmacro agda2- │ │ │ -00023e90: 6d61 7962 652d 6e6f 726d 616c 6973 6564 maybe-normalised │ │ │ -00023ea0: 2d74 6f70 6c65 7665 6c20 286e 616d 6520 -toplevel (name │ │ │ -00023eb0: 636f 6d6d 656e 7420 636d 6420 7072 6f6d comment cmd prom │ │ │ -00023ec0: 7074 290a 2020 6028 6167 6461 322d 7072 pt). `(agda2-pr │ │ │ -00023ed0: 6f74 6f2d 6d61 7962 652d 6e6f 726d 616c oto-maybe-normal │ │ │ -00023ee0: 6973 6564 0a20 2020 202c 6e61 6d65 202c ised. ,name , │ │ │ -00023ef0: 636f 6d6d 656e 7420 2c63 6d64 0a20 2020 comment ,cmd. │ │ │ -00023f00: 2028 2253 696d 706c 6966 6965 6422 2020 ("Simplified" │ │ │ -00023f10: 2022 7369 6d70 6c69 6669 6564 2229 0a20 "simplified"). │ │ │ -00023f20: 2020 2028 2249 6e73 7461 6e74 6961 7465 ("Instantiate │ │ │ -00023f30: 6422 2022 6e65 6974 6865 7220 6578 706c d" "neither expl │ │ │ -00023f40: 6963 6974 6c79 206e 6f72 6d61 6c69 7365 icitly normalise │ │ │ -00023f50: 6420 6e6f 7220 7369 6d70 6c69 6669 6564 d nor simplified │ │ │ -00023f60: 2229 0a20 2020 2028 224e 6f72 6d61 6c69 "). ("Normali │ │ │ -00023f70: 7365 6422 2020 2022 6e6f 726d 616c 6973 sed" "normalis │ │ │ -00023f80: 6564 2229 0a20 2020 2028 2248 6561 644e ed"). ("HeadN │ │ │ -00023f90: 6f72 6d61 6c22 2020 2022 6865 6164 206e ormal" "head n │ │ │ -00023fa0: 6f72 6d61 6c69 7365 6422 290a 2020 2020 ormalised"). │ │ │ -00023fb0: 2867 6c6f 6261 6c20 2c70 726f 6d70 7429 (global ,prompt) │ │ │ -00023fc0: 2929 0a0a 2864 6566 6d61 6372 6f20 6167 ))..(defmacro ag │ │ │ -00023fd0: 6461 322d 6d61 7962 652d 6e6f 726d 616c da2-maybe-normal │ │ │ -00023fe0: 6973 6564 2d74 6f70 6c65 7665 6c2d 6173 ised-toplevel-as │ │ │ -00023ff0: 6973 2d6e 6f70 726f 6d70 7420 286e 616d is-noprompt (nam │ │ │ -00024000: 6520 636f 6d6d 656e 7420 636d 6429 0a20 e comment cmd). │ │ │ -00024010: 2060 2861 6764 6132 2d70 726f 746f 2d6d `(agda2-proto-m │ │ │ -00024020: 6179 6265 2d6e 6f72 6d61 6c69 7365 640a aybe-normalised. │ │ │ -00024030: 2020 2020 2c6e 616d 6520 2c63 6f6d 6d65 ,name ,comme │ │ │ -00024040: 6e74 202c 636d 640a 2020 2020 2822 4173 nt ,cmd. ("As │ │ │ -00024050: 4973 2220 2020 2020 2020 2272 6574 7572 Is" "retur │ │ │ -00024060: 6e65 6420 6173 2069 7322 290a 2020 2020 ned as is"). │ │ │ -00024070: 2822 5369 6d70 6c69 6669 6564 2220 2273 ("Simplified" "s │ │ │ -00024080: 696d 706c 6966 6965 6422 290a 2020 2020 implified"). │ │ │ -00024090: 2822 4e6f 726d 616c 6973 6564 2220 226e ("Normalised" "n │ │ │ -000240a0: 6f72 6d61 6c69 7365 6422 290a 2020 2020 ormalised"). │ │ │ -000240b0: 2822 4865 6164 4e6f 726d 616c 2220 2268 ("HeadNormal" "h │ │ │ -000240c0: 6561 6420 6e6f 726d 616c 6973 6564 2229 ead normalised") │ │ │ -000240d0: 0a20 2020 2028 676c 6f62 616c 206e 696c . (global nil │ │ │ -000240e0: 2929 290a 0a28 6167 6461 322d 6d61 7962 )))..(agda2-mayb │ │ │ -000240f0: 652d 6e6f 726d 616c 6973 6564 0a20 6167 e-normalised. ag │ │ │ -00024100: 6461 322d 676f 616c 2d74 7970 650a 2022 da2-goal-type. " │ │ │ -00024110: 5368 6f77 2074 6865 2074 7970 6520 6f66 Show the type of │ │ │ -00024120: 2074 6865 2067 6f61 6c20 6174 2070 6f69 the goal at poi │ │ │ -00024130: 6e74 220a 2022 436d 645f 676f 616c 5f74 nt". "Cmd_goal_t │ │ │ -00024140: 7970 6522 0a20 6e69 6c29 0a0a 2861 6764 ype". nil)..(agd │ │ │ -00024150: 6132 2d6d 6179 6265 2d6e 6f72 6d61 6c69 a2-maybe-normali │ │ │ -00024160: 7365 640a 2061 6764 6132 2d69 6e66 6572 sed. agda2-infer │ │ │ -00024170: 2d74 7970 650a 2022 496e 6665 7220 7468 -type. "Infer th │ │ │ -00024180: 6520 7479 7065 206f 6620 7468 6520 676f e type of the go │ │ │ -00024190: 616c 2061 7420 706f 696e 7422 0a20 2243 al at point". "C │ │ │ -000241a0: 6d64 5f69 6e66 6572 220a 2022 6578 7072 md_infer". "expr │ │ │ -000241b0: 6573 7369 6f6e 2074 6f20 7479 7065 2229 ession to type") │ │ │ -000241c0: 0a0a 2861 6764 6132 2d6d 6179 6265 2d6e ..(agda2-maybe-n │ │ │ -000241d0: 6f72 6d61 6c69 7365 642d 746f 706c 6576 ormalised-toplev │ │ │ -000241e0: 656c 0a20 2020 6167 6461 322d 696e 6665 el. agda2-infe │ │ │ -000241f0: 722d 7479 7065 2d74 6f70 6c65 7665 6c0a r-type-toplevel. │ │ │ -00024200: 2020 2022 496e 6665 7273 2074 6865 2074 "Infers the t │ │ │ -00024210: 7970 6520 6f66 2074 6865 2067 6976 656e ype of the given │ │ │ -00024220: 2065 7870 7265 7373 696f 6e2e 2054 6865 expression. The │ │ │ -00024230: 2073 636f 7065 2075 7365 6420 666f 720a scope used for. │ │ │ -00024240: 7468 6520 6578 7072 6573 7369 6f6e 2069 the expression i │ │ │ -00024250: 7320 7468 6174 206f 6620 7468 6520 6c61 s that of the la │ │ │ -00024260: 7374 2070 6f69 6e74 2069 6e73 6964 6520 st point inside │ │ │ -00024270: 7468 6520 6375 7272 656e 740a 746f 702d the current.top- │ │ │ -00024280: 6c65 7665 6c20 6d6f 6475 6c65 220a 2020 level module". │ │ │ -00024290: 2022 436d 645f 696e 6665 725f 746f 706c "Cmd_infer_topl │ │ │ -000242a0: 6576 656c 220a 2020 2022 4578 7072 6573 evel". "Expres │ │ │ -000242b0: 7369 6f6e 2229 0a0a 2864 6566 756e 2061 sion")..(defun a │ │ │ -000242c0: 6764 6132 2d69 6e66 6572 2d74 7970 652d gda2-infer-type- │ │ │ -000242d0: 6d61 7962 652d 746f 706c 6576 656c 2028 maybe-toplevel ( │ │ │ -000242e0: 290a 2020 2249 6e66 6572 7320 7468 6520 ). "Infers the │ │ │ -000242f0: 7479 7065 206f 6620 7468 6520 6769 7665 type of the give │ │ │ -00024300: 6e20 6578 7072 6573 7369 6f6e 2e0a 4569 n expression..Ei │ │ │ -00024310: 7468 6572 2075 7365 7320 7468 6520 7363 ther uses the sc │ │ │ -00024320: 6f70 6520 6f66 2074 6865 2063 7572 7265 ope of the curre │ │ │ -00024330: 6e74 2067 6f61 6c20 6f72 2c20 6966 2070 nt goal or, if p │ │ │ -00024340: 6f69 6e74 2069 7320 6e6f 7420 696e 2061 oint is not in a │ │ │ -00024350: 2067 6f61 6c2c 2074 6865 0a74 6f70 2d6c goal, the.top-l │ │ │ -00024360: 6576 656c 2073 636f 7065 2e22 0a20 2028 evel scope.". ( │ │ │ -00024370: 696e 7465 7261 6374 6976 6529 0a20 2028 interactive). ( │ │ │ -00024380: 6361 6c6c 2d69 6e74 6572 6163 7469 7665 call-interactive │ │ │ -00024390: 6c79 2028 6966 2028 6167 6461 322d 676f ly (if (agda2-go │ │ │ -000243a0: 616c 2d61 7420 2870 6f69 6e74 2929 0a20 al-at (point)). │ │ │ +00023c20: 2020 2022 2229 2929 2929 2929 2929 0a0a ""))))))))).. │ │ │ +00023c30: 2864 6566 6d61 6372 6f20 6167 6461 322d (defmacro agda2- │ │ │ +00023c40: 6d61 7962 652d 6e6f 726d 616c 6973 6564 maybe-normalised │ │ │ +00023c50: 2028 6e61 6d65 2063 6f6d 6d65 6e74 2063 (name comment c │ │ │ +00023c60: 6d64 2077 616e 7429 0a20 2060 2861 6764 md want). `(agd │ │ │ +00023c70: 6132 2d70 726f 746f 2d6d 6179 6265 2d6e a2-proto-maybe-n │ │ │ +00023c80: 6f72 6d61 6c69 7365 640a 2020 2020 2c6e ormalised. ,n │ │ │ +00023c90: 616d 6520 2c63 6f6d 6d65 6e74 202c 636d ame ,comment ,cm │ │ │ +00023ca0: 640a 2020 2020 2822 5369 6d70 6c69 6669 d. ("Simplifi │ │ │ +00023cb0: 6564 2220 2020 2273 696d 706c 6966 6965 ed" "simplifie │ │ │ +00023cc0: 6422 290a 2020 2020 2822 496e 7374 616e d"). ("Instan │ │ │ +00023cd0: 7469 6174 6564 2220 226e 6569 7468 6572 tiated" "neither │ │ │ +00023ce0: 2065 7870 6c69 6369 746c 7920 6e6f 726d explicitly norm │ │ │ +00023cf0: 616c 6973 6564 206e 6f72 2073 696d 706c alised nor simpl │ │ │ +00023d00: 6966 6965 6422 290a 2020 2020 2822 4e6f ified"). ("No │ │ │ +00023d10: 726d 616c 6973 6564 2220 2020 226e 6f72 rmalised" "nor │ │ │ +00023d20: 6d61 6c69 7365 6422 290a 2020 2020 2822 malised"). (" │ │ │ +00023d30: 4865 6164 4e6f 726d 616c 2220 2020 2268 HeadNormal" "h │ │ │ +00023d40: 6561 6420 6e6f 726d 616c 6973 6564 2229 ead normalised") │ │ │ +00023d50: 0a20 2020 2028 6672 6f6d 676f 616c 202c . (fromgoal , │ │ │ +00023d60: 7761 6e74 2929 290a 0a28 6465 666d 6163 want)))..(defmac │ │ │ +00023d70: 726f 2061 6764 6132 2d6d 6179 6265 2d6e ro agda2-maybe-n │ │ │ +00023d80: 6f72 6d61 6c69 7365 642d 6173 6973 2028 ormalised-asis ( │ │ │ +00023d90: 6e61 6d65 2063 6f6d 6d65 6e74 2063 6d64 name comment cmd │ │ │ +00023da0: 2077 616e 7429 0a20 2060 2861 6764 6132 want). `(agda2 │ │ │ +00023db0: 2d70 726f 746f 2d6d 6179 6265 2d6e 6f72 -proto-maybe-nor │ │ │ +00023dc0: 6d61 6c69 7365 640a 2020 2020 2c6e 616d malised. ,nam │ │ │ +00023dd0: 6520 2c63 6f6d 6d65 6e74 202c 636d 640a e ,comment ,cmd. │ │ │ +00023de0: 2020 2020 2822 4173 4973 2220 2020 2020 ("AsIs" │ │ │ +00023df0: 2020 2272 6574 7572 6e65 6420 6173 2069 "returned as i │ │ │ +00023e00: 7322 290a 2020 2020 2822 5369 6d70 6c69 s"). ("Simpli │ │ │ +00023e10: 6669 6564 2220 2273 696d 706c 6966 6965 fied" "simplifie │ │ │ +00023e20: 6422 290a 2020 2020 2822 4e6f 726d 616c d"). ("Normal │ │ │ +00023e30: 6973 6564 2220 226e 6f72 6d61 6c69 7365 ised" "normalise │ │ │ +00023e40: 6422 290a 2020 2020 2822 4865 6164 4e6f d"). ("HeadNo │ │ │ +00023e50: 726d 616c 2220 2268 6561 6420 6e6f 726d rmal" "head norm │ │ │ +00023e60: 616c 6973 6564 2229 0a20 2020 2028 6672 alised"). (fr │ │ │ +00023e70: 6f6d 676f 616c 202c 7761 6e74 2929 290a omgoal ,want))). │ │ │ +00023e80: 0a28 6465 666d 6163 726f 2061 6764 6132 .(defmacro agda2 │ │ │ +00023e90: 2d6d 6179 6265 2d6e 6f72 6d61 6c69 7365 -maybe-normalise │ │ │ +00023ea0: 642d 746f 706c 6576 656c 2028 6e61 6d65 d-toplevel (name │ │ │ +00023eb0: 2063 6f6d 6d65 6e74 2063 6d64 2070 726f comment cmd pro │ │ │ +00023ec0: 6d70 7429 0a20 2060 2861 6764 6132 2d70 mpt). `(agda2-p │ │ │ +00023ed0: 726f 746f 2d6d 6179 6265 2d6e 6f72 6d61 roto-maybe-norma │ │ │ +00023ee0: 6c69 7365 640a 2020 2020 2c6e 616d 6520 lised. ,name │ │ │ +00023ef0: 2c63 6f6d 6d65 6e74 202c 636d 640a 2020 ,comment ,cmd. │ │ │ +00023f00: 2020 2822 5369 6d70 6c69 6669 6564 2220 ("Simplified" │ │ │ +00023f10: 2020 2273 696d 706c 6966 6965 6422 290a "simplified"). │ │ │ +00023f20: 2020 2020 2822 496e 7374 616e 7469 6174 ("Instantiat │ │ │ +00023f30: 6564 2220 226e 6569 7468 6572 2065 7870 ed" "neither exp │ │ │ +00023f40: 6c69 6369 746c 7920 6e6f 726d 616c 6973 licitly normalis │ │ │ +00023f50: 6564 206e 6f72 2073 696d 706c 6966 6965 ed nor simplifie │ │ │ +00023f60: 6422 290a 2020 2020 2822 4e6f 726d 616c d"). ("Normal │ │ │ +00023f70: 6973 6564 2220 2020 226e 6f72 6d61 6c69 ised" "normali │ │ │ +00023f80: 7365 6422 290a 2020 2020 2822 4865 6164 sed"). ("Head │ │ │ +00023f90: 4e6f 726d 616c 2220 2020 2268 6561 6420 Normal" "head │ │ │ +00023fa0: 6e6f 726d 616c 6973 6564 2229 0a20 2020 normalised"). │ │ │ +00023fb0: 2028 676c 6f62 616c 202c 7072 6f6d 7074 (global ,prompt │ │ │ +00023fc0: 2929 290a 0a28 6465 666d 6163 726f 2061 )))..(defmacro a │ │ │ +00023fd0: 6764 6132 2d6d 6179 6265 2d6e 6f72 6d61 gda2-maybe-norma │ │ │ +00023fe0: 6c69 7365 642d 746f 706c 6576 656c 2d61 lised-toplevel-a │ │ │ +00023ff0: 7369 732d 6e6f 7072 6f6d 7074 2028 6e61 sis-noprompt (na │ │ │ +00024000: 6d65 2063 6f6d 6d65 6e74 2063 6d64 290a me comment cmd). │ │ │ +00024010: 2020 6028 6167 6461 322d 7072 6f74 6f2d `(agda2-proto- │ │ │ +00024020: 6d61 7962 652d 6e6f 726d 616c 6973 6564 maybe-normalised │ │ │ +00024030: 0a20 2020 202c 6e61 6d65 202c 636f 6d6d . ,name ,comm │ │ │ +00024040: 656e 7420 2c63 6d64 0a20 2020 2028 2241 ent ,cmd. ("A │ │ │ +00024050: 7349 7322 2020 2020 2020 2022 7265 7475 sIs" "retu │ │ │ +00024060: 726e 6564 2061 7320 6973 2229 0a20 2020 rned as is"). │ │ │ +00024070: 2028 2253 696d 706c 6966 6965 6422 2022 ("Simplified" " │ │ │ +00024080: 7369 6d70 6c69 6669 6564 2229 0a20 2020 simplified"). │ │ │ +00024090: 2028 224e 6f72 6d61 6c69 7365 6422 2022 ("Normalised" " │ │ │ +000240a0: 6e6f 726d 616c 6973 6564 2229 0a20 2020 normalised"). │ │ │ +000240b0: 2028 2248 6561 644e 6f72 6d61 6c22 2022 ("HeadNormal" " │ │ │ +000240c0: 6865 6164 206e 6f72 6d61 6c69 7365 6422 head normalised" │ │ │ +000240d0: 290a 2020 2020 2867 6c6f 6261 6c20 6e69 ). (global ni │ │ │ +000240e0: 6c29 2929 0a0a 2861 6764 6132 2d6d 6179 l)))..(agda2-may │ │ │ +000240f0: 6265 2d6e 6f72 6d61 6c69 7365 640a 2061 be-normalised. a │ │ │ +00024100: 6764 6132 2d67 6f61 6c2d 7479 7065 0a20 gda2-goal-type. │ │ │ +00024110: 2253 686f 7720 7468 6520 7479 7065 206f "Show the type o │ │ │ +00024120: 6620 7468 6520 676f 616c 2061 7420 706f f the goal at po │ │ │ +00024130: 696e 7422 0a20 2243 6d64 5f67 6f61 6c5f int". "Cmd_goal_ │ │ │ +00024140: 7479 7065 220a 206e 696c 290a 0a28 6167 type". nil)..(ag │ │ │ +00024150: 6461 322d 6d61 7962 652d 6e6f 726d 616c da2-maybe-normal │ │ │ +00024160: 6973 6564 0a20 6167 6461 322d 696e 6665 ised. agda2-infe │ │ │ +00024170: 722d 7479 7065 0a20 2249 6e66 6572 2074 r-type. "Infer t │ │ │ +00024180: 6865 2074 7970 6520 6f66 2074 6865 2067 he type of the g │ │ │ +00024190: 6f61 6c20 6174 2070 6f69 6e74 220a 2022 oal at point". " │ │ │ +000241a0: 436d 645f 696e 6665 7222 0a20 2265 7870 Cmd_infer". "exp │ │ │ +000241b0: 7265 7373 696f 6e20 746f 2074 7970 6522 ression to type" │ │ │ +000241c0: 290a 0a28 6167 6461 322d 6d61 7962 652d )..(agda2-maybe- │ │ │ +000241d0: 6e6f 726d 616c 6973 6564 2d74 6f70 6c65 normalised-tople │ │ │ +000241e0: 7665 6c0a 2020 2061 6764 6132 2d69 6e66 vel. agda2-inf │ │ │ +000241f0: 6572 2d74 7970 652d 746f 706c 6576 656c er-type-toplevel │ │ │ +00024200: 0a20 2020 2249 6e66 6572 7320 7468 6520 . "Infers the │ │ │ +00024210: 7479 7065 206f 6620 7468 6520 6769 7665 type of the give │ │ │ +00024220: 6e20 6578 7072 6573 7369 6f6e 2e20 5468 n expression. Th │ │ │ +00024230: 6520 7363 6f70 6520 7573 6564 2066 6f72 e scope used for │ │ │ +00024240: 0a74 6865 2065 7870 7265 7373 696f 6e20 .the expression │ │ │ +00024250: 6973 2074 6861 7420 6f66 2074 6865 206c is that of the l │ │ │ +00024260: 6173 7420 706f 696e 7420 696e 7369 6465 ast point inside │ │ │ +00024270: 2074 6865 2063 7572 7265 6e74 0a74 6f70 the current.top │ │ │ +00024280: 2d6c 6576 656c 206d 6f64 756c 6522 0a20 -level module". │ │ │ +00024290: 2020 2243 6d64 5f69 6e66 6572 5f74 6f70 "Cmd_infer_top │ │ │ +000242a0: 6c65 7665 6c22 0a20 2020 2245 7870 7265 level". "Expre │ │ │ +000242b0: 7373 696f 6e22 290a 0a28 6465 6675 6e20 ssion")..(defun │ │ │ +000242c0: 6167 6461 322d 696e 6665 722d 7479 7065 agda2-infer-type │ │ │ +000242d0: 2d6d 6179 6265 2d74 6f70 6c65 7665 6c20 -maybe-toplevel │ │ │ +000242e0: 2829 0a20 2022 496e 6665 7273 2074 6865 (). "Infers the │ │ │ +000242f0: 2074 7970 6520 6f66 2074 6865 2067 6976 type of the giv │ │ │ +00024300: 656e 2065 7870 7265 7373 696f 6e2e 0a45 en expression..E │ │ │ +00024310: 6974 6865 7220 7573 6573 2074 6865 2073 ither uses the s │ │ │ +00024320: 636f 7065 206f 6620 7468 6520 6375 7272 cope of the curr │ │ │ +00024330: 656e 7420 676f 616c 206f 722c 2069 6620 ent goal or, if │ │ │ +00024340: 706f 696e 7420 6973 206e 6f74 2069 6e20 point is not in │ │ │ +00024350: 6120 676f 616c 2c20 7468 650a 746f 702d a goal, the.top- │ │ │ +00024360: 6c65 7665 6c20 7363 6f70 652e 220a 2020 level scope.". │ │ │ +00024370: 2869 6e74 6572 6163 7469 7665 290a 2020 (interactive). │ │ │ +00024380: 2863 616c 6c2d 696e 7465 7261 6374 6976 (call-interactiv │ │ │ +00024390: 656c 7920 2869 6620 2861 6764 6132 2d67 ely (if (agda2-g │ │ │ +000243a0: 6f61 6c2d 6174 2028 706f 696e 7429 290a oal-at (point)). │ │ │ 000243b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -000243c0: 2020 2020 2020 2020 2027 6167 6461 322d 'agda2- │ │ │ -000243d0: 696e 6665 722d 7479 7065 0a20 2020 2020 infer-type. │ │ │ +000243c0: 2020 2020 2020 2020 2020 2761 6764 6132 'agda2 │ │ │ +000243d0: 2d69 6e66 6572 2d74 7970 650a 2020 2020 -infer-type. │ │ │ 000243e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -000243f0: 2020 2027 6167 6461 322d 696e 6665 722d 'agda2-infer- │ │ │ -00024400: 7479 7065 2d74 6f70 6c65 7665 6c29 2929 type-toplevel))) │ │ │ -00024410: 0a0a 2864 6566 756e 2061 6764 6132 2d77 ..(defun agda2-w │ │ │ -00024420: 6879 2d69 6e2d 7363 6f70 6520 2829 0a20 hy-in-scope (). │ │ │ -00024430: 2022 4578 706c 6169 6e20 7768 7920 736f "Explain why so │ │ │ -00024440: 6d65 7468 696e 6720 6973 2069 6e20 7363 mething is in sc │ │ │ -00024450: 6f70 6520 696e 2061 2067 6f61 6c2e 220a ope in a goal.". │ │ │ -00024460: 2020 2869 6e74 6572 6163 7469 7665 290a (interactive). │ │ │ -00024470: 2020 2861 6764 6132 2d67 6f61 6c2d 636d (agda2-goal-cm │ │ │ -00024480: 6420 2243 6d64 5f77 6879 5f69 6e5f 7363 d "Cmd_why_in_sc │ │ │ -00024490: 6f70 6522 206e 696c 2022 4e61 6d65 2229 ope" nil "Name") │ │ │ -000244a0: 290a 0a28 6465 6675 6e20 6167 6461 322d )..(defun agda2- │ │ │ -000244b0: 7768 792d 696e 2d73 636f 7065 2d74 6f70 why-in-scope-top │ │ │ -000244c0: 6c65 7665 6c20 286e 616d 6529 0a20 2022 level (name). " │ │ │ -000244d0: 4578 706c 6169 6e20 7768 7920 736f 6d65 Explain why some │ │ │ -000244e0: 7468 696e 6720 6973 2069 6e20 7363 6f70 thing is in scop │ │ │ -000244f0: 6520 6174 2074 6865 2074 6f70 206c 6576 e at the top lev │ │ │ -00024500: 656c 2e22 0a20 2028 696e 7465 7261 6374 el.". (interact │ │ │ -00024510: 6976 6520 224d 4e61 6d65 3a20 2229 0a20 ive "MName: "). │ │ │ -00024520: 2028 6167 6461 322d 676f 206e 696c 2074 (agda2-go nil t │ │ │ -00024530: 2027 6275 7379 2074 0a20 2020 2020 2020 'busy t. │ │ │ -00024540: 2020 2020 2022 436d 645f 7768 795f 696e "Cmd_why_in │ │ │ -00024550: 5f73 636f 7065 5f74 6f70 6c65 7665 6c22 _scope_toplevel" │ │ │ -00024560: 0a20 2020 2020 2020 2020 2020 2028 6167 . (ag │ │ │ -00024570: 6461 322d 7374 7269 6e67 2d71 756f 7465 da2-string-quote │ │ │ -00024580: 206e 616d 6529 2929 0a0a 2864 6566 756e name)))..(defun │ │ │ -00024590: 2061 6764 6132 2d77 6879 2d69 6e2d 7363 agda2-why-in-sc │ │ │ -000245a0: 6f70 652d 6d61 7962 652d 746f 706c 6576 ope-maybe-toplev │ │ │ -000245b0: 656c 2028 290a 2020 2245 7870 6c61 696e el (). "Explain │ │ │ -000245c0: 7320 7768 7920 6120 6769 7665 6e20 6e61 s why a given na │ │ │ -000245d0: 6d65 2069 7320 696e 2073 636f 7065 2e22 me is in scope." │ │ │ -000245e0: 0a20 2028 696e 7465 7261 6374 6976 6529 . (interactive) │ │ │ -000245f0: 0a20 2028 6361 6c6c 2d69 6e74 6572 6163 . (call-interac │ │ │ -00024600: 7469 7665 6c79 2028 6966 2028 6167 6461 tively (if (agda │ │ │ -00024610: 322d 676f 616c 2d61 7420 2870 6f69 6e74 2-goal-at (point │ │ │ -00024620: 2929 0a20 2020 2020 2020 2020 2020 2020 )). │ │ │ -00024630: 2020 2020 2020 2020 2020 2020 2027 6167 'ag │ │ │ -00024640: 6461 322d 7768 792d 696e 2d73 636f 7065 da2-why-in-scope │ │ │ -00024650: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ -00024660: 2020 2020 2020 2020 2020 2027 6167 6461 'agda │ │ │ -00024670: 322d 7768 792d 696e 2d73 636f 7065 2d74 2-why-in-scope-t │ │ │ -00024680: 6f70 6c65 7665 6c29 2929 0a0a 2861 6764 oplevel)))..(agd │ │ │ -00024690: 6132 2d6d 6179 6265 2d6e 6f72 6d61 6c69 a2-maybe-normali │ │ │ -000246a0: 7365 640a 2061 6764 6132 2d65 6c61 626f sed. agda2-elabo │ │ │ -000246b0: 7261 7465 2d67 6976 650a 2022 456c 6162 rate-give. "Elab │ │ │ -000246c0: 6f72 6174 6520 6368 6563 6b20 7468 6520 orate check the │ │ │ -000246d0: 6769 7665 6e20 6578 7072 6573 7369 6f6e given expression │ │ │ -000246e0: 2061 6761 696e 7374 2074 6865 2068 6f6c against the hol │ │ │ -000246f0: 6527 7320 7479 7065 2061 6e64 2066 696c e's type and fil │ │ │ -00024700: 6c20 696e 2074 6865 0a20 686f 6c65 2077 l in the. hole w │ │ │ -00024710: 6974 6820 7468 6520 656c 6162 6f72 6174 ith the elaborat │ │ │ -00024720: 6564 2074 6572 6d22 0a20 2243 6d64 5f65 ed term". "Cmd_e │ │ │ -00024730: 6c61 626f 7261 7465 5f67 6976 6522 0a20 laborate_give". │ │ │ -00024740: 2265 7870 7265 7373 696f 6e20 746f 2065 "expression to e │ │ │ -00024750: 6c61 626f 7261 7465 2061 6e64 2067 6976 laborate and giv │ │ │ -00024760: 6522 290a 0a28 6167 6461 322d 6d61 7962 e")..(agda2-mayb │ │ │ -00024770: 652d 6e6f 726d 616c 6973 6564 0a20 6167 e-normalised. ag │ │ │ -00024780: 6461 322d 676f 616c 2d61 6e64 2d63 6f6e da2-goal-and-con │ │ │ -00024790: 7465 7874 0a20 2253 686f 7773 2074 6865 text. "Shows the │ │ │ -000247a0: 2074 7970 6520 6f66 2074 6865 2067 6f61 type of the goa │ │ │ -000247b0: 6c20 6174 2070 6f69 6e74 2061 6e64 2074 l at point and t │ │ │ -000247c0: 6865 2063 7572 7265 6374 2063 6f6e 7465 he currect conte │ │ │ -000247d0: 7874 220a 2022 436d 645f 676f 616c 5f74 xt". "Cmd_goal_t │ │ │ -000247e0: 7970 655f 636f 6e74 6578 7422 0a20 6e69 ype_context". ni │ │ │ -000247f0: 6c29 0a0a 2861 6764 6132 2d6d 6179 6265 l)..(agda2-maybe │ │ │ -00024800: 2d6e 6f72 6d61 6c69 7365 640a 2061 6764 -normalised. agd │ │ │ -00024810: 6132 2d67 6f61 6c2d 616e 642d 636f 6e74 a2-goal-and-cont │ │ │ -00024820: 6578 742d 616e 642d 696e 6665 7272 6564 ext-and-inferred │ │ │ -00024830: 0a20 2253 686f 7773 2074 6865 2063 6f6e . "Shows the con │ │ │ -00024840: 7465 7874 2c20 7468 6520 676f 616c 2061 text, the goal a │ │ │ -00024850: 6e64 2074 6865 2067 6976 656e 2065 7870 nd the given exp │ │ │ -00024860: 7265 7373 696f 6e27 7320 696e 6665 7272 ression's inferr │ │ │ -00024870: 6564 2074 7970 6522 0a20 2243 6d64 5f67 ed type". "Cmd_g │ │ │ -00024880: 6f61 6c5f 7479 7065 5f63 6f6e 7465 7874 oal_type_context │ │ │ -00024890: 5f69 6e66 6572 220a 2022 6578 7072 6573 _infer". "expres │ │ │ -000248a0: 7369 6f6e 2074 6f20 7479 7065 2229 0a0a sion to type").. │ │ │ -000248b0: 2861 6764 6132 2d6d 6179 6265 2d6e 6f72 (agda2-maybe-nor │ │ │ -000248c0: 6d61 6c69 7365 640a 2061 6764 6132 2d67 malised. agda2-g │ │ │ -000248d0: 6f61 6c2d 616e 642d 636f 6e74 6578 742d oal-and-context- │ │ │ -000248e0: 616e 642d 6368 6563 6b65 640a 2022 5368 and-checked. "Sh │ │ │ -000248f0: 6f77 7320 7468 6520 636f 6e74 6578 742c ows the context, │ │ │ -00024900: 2074 6865 2067 6f61 6c20 616e 6420 6368 the goal and ch │ │ │ -00024910: 6563 6b20 7468 6520 6769 7665 6e20 6578 eck the given ex │ │ │ -00024920: 7072 6573 7369 6f6e 2773 2061 6761 696e pression's again │ │ │ -00024930: 7374 0a20 7468 6520 686f 6c65 2773 2074 st. the hole's t │ │ │ -00024940: 7970 6522 0a20 2243 6d64 5f67 6f61 6c5f ype". "Cmd_goal_ │ │ │ -00024950: 7479 7065 5f63 6f6e 7465 7874 5f63 6865 type_context_che │ │ │ -00024960: 636b 220a 2022 6578 7072 6573 7369 6f6e ck". "expression │ │ │ -00024970: 2074 6f20 7479 7065 2229 0a0a 2861 6764 to type")..(agd │ │ │ -00024980: 6132 2d6d 6179 6265 2d6e 6f72 6d61 6c69 a2-maybe-normali │ │ │ -00024990: 7365 640a 2061 6764 6132 2d73 686f 772d sed. agda2-show- │ │ │ -000249a0: 636f 6e74 6578 740a 2022 5368 6f77 2074 context. "Show t │ │ │ -000249b0: 6865 2063 6f6e 7465 7874 206f 6620 7468 he context of th │ │ │ -000249c0: 6520 676f 616c 2061 7420 706f 696e 7422 e goal at point" │ │ │ -000249d0: 0a20 2243 6d64 5f63 6f6e 7465 7874 220a . "Cmd_context". │ │ │ -000249e0: 206e 696c 290a 0a28 6167 6461 322d 6d61 nil)..(agda2-ma │ │ │ -000249f0: 7962 652d 6e6f 726d 616c 6973 6564 2d61 ybe-normalised-a │ │ │ -00024a00: 7369 730a 2061 6764 6132 2d68 656c 7065 sis. agda2-helpe │ │ │ -00024a10: 722d 6675 6e63 7469 6f6e 2d74 7970 650a r-function-type. │ │ │ -00024a20: 2020 2243 6f6d 7075 7465 2074 6865 2074 "Compute the t │ │ │ -00024a30: 7970 6520 6f66 2061 2068 7970 6f74 6865 ype of a hypothe │ │ │ -00024a40: 7469 6361 6c20 6865 6c70 6572 2066 756e tical helper fun │ │ │ -00024a50: 6374 696f 6e2e 220a 2020 2243 6d64 5f68 ction.". "Cmd_h │ │ │ -00024a60: 656c 7065 725f 6675 6e63 7469 6f6e 220a elper_function". │ │ │ -00024a70: 2020 2245 7870 7265 7373 696f 6e22 290a "Expression"). │ │ │ -00024a80: 0a28 6167 6461 322d 6d61 7962 652d 6e6f .(agda2-maybe-no │ │ │ -00024a90: 726d 616c 6973 6564 0a20 2061 6764 6132 rmalised. agda2 │ │ │ -00024aa0: 2d6d 6f64 756c 652d 636f 6e74 656e 7473 -module-contents │ │ │ -00024ab0: 0a20 2022 5368 6f77 7320 616c 6c20 7468 . "Shows all th │ │ │ -00024ac0: 6520 746f 702d 6c65 7665 6c20 6e61 6d65 e top-level name │ │ │ -00024ad0: 7320 696e 2074 6865 2067 6976 656e 206d s in the given m │ │ │ -00024ae0: 6f64 756c 652e 0a41 6c6f 6e67 2077 6974 odule..Along wit │ │ │ -00024af0: 6820 7468 6569 7220 7479 7065 732e 220a h their types.". │ │ │ -00024b00: 2020 2243 6d64 5f73 686f 775f 6d6f 6475 "Cmd_show_modu │ │ │ -00024b10: 6c65 5f63 6f6e 7465 6e74 7322 0a20 2022 le_contents". " │ │ │ -00024b20: 4d6f 6475 6c65 206e 616d 6520 2865 6d70 Module name (emp │ │ │ -00024b30: 7479 2066 6f72 2063 7572 7265 6e74 206d ty for current m │ │ │ -00024b40: 6f64 756c 6529 2229 0a0a 2861 6764 6132 odule)")..(agda2 │ │ │ -00024b50: 2d6d 6179 6265 2d6e 6f72 6d61 6c69 7365 -maybe-normalise │ │ │ -00024b60: 642d 746f 706c 6576 656c 0a20 2061 6764 d-toplevel. agd │ │ │ -00024b70: 6132 2d6d 6f64 756c 652d 636f 6e74 656e a2-module-conten │ │ │ -00024b80: 7473 2d74 6f70 6c65 7665 6c0a 2020 2253 ts-toplevel. "S │ │ │ -00024b90: 686f 7773 2061 6c6c 2074 6865 2074 6f70 hows all the top │ │ │ -00024ba0: 2d6c 6576 656c 206e 616d 6573 2069 6e20 -level names in │ │ │ -00024bb0: 7468 6520 6769 7665 6e20 6d6f 6475 6c65 the given module │ │ │ -00024bc0: 2e0a 416c 6f6e 6720 7769 7468 2074 6865 ..Along with the │ │ │ -00024bd0: 6972 2074 7970 6573 2e22 0a20 2022 436d ir types.". "Cm │ │ │ -00024be0: 645f 7368 6f77 5f6d 6f64 756c 655f 636f d_show_module_co │ │ │ -00024bf0: 6e74 656e 7473 5f74 6f70 6c65 7665 6c22 ntents_toplevel" │ │ │ -00024c00: 0a20 2022 4d6f 6475 6c65 206e 616d 6520 . "Module name │ │ │ -00024c10: 2865 6d70 7479 2066 6f72 2074 6f70 2d6c (empty for top-l │ │ │ -00024c20: 6576 656c 206d 6f64 756c 6529 220a 290a evel module)".). │ │ │ -00024c30: 0a28 6167 6461 322d 6d61 7962 652d 6e6f .(agda2-maybe-no │ │ │ -00024c40: 726d 616c 6973 6564 2d74 6f70 6c65 7665 rmalised-topleve │ │ │ -00024c50: 6c0a 2020 6167 6461 322d 7365 6172 6368 l. agda2-search │ │ │ -00024c60: 2d61 626f 7574 2d74 6f70 6c65 7665 6c0a -about-toplevel. │ │ │ -00024c70: 2020 2253 6561 7263 6820 4162 6f75 7420 "Search About │ │ │ -00024c80: 616e 2069 6465 6e74 6966 6965 7222 0a20 an identifier". │ │ │ -00024c90: 2022 436d 645f 7365 6172 6368 5f61 626f "Cmd_search_abo │ │ │ -00024ca0: 7574 5f74 6f70 6c65 7665 6c22 0a20 2022 ut_toplevel". " │ │ │ -00024cb0: 4e61 6d65 220a 290a 0a28 6465 6675 6e20 Name".)..(defun │ │ │ -00024cc0: 6167 6461 322d 6d6f 6475 6c65 2d63 6f6e agda2-module-con │ │ │ -00024cd0: 7465 6e74 732d 6d61 7962 652d 746f 706c tents-maybe-topl │ │ │ -00024ce0: 6576 656c 2028 290a 2020 2253 686f 7773 evel (). "Shows │ │ │ -00024cf0: 2061 6c6c 2074 6865 2074 6f70 2d6c 6576 all the top-lev │ │ │ -00024d00: 656c 206e 616d 6573 2069 6e20 7468 6520 el names in the │ │ │ -00024d10: 6769 7665 6e20 6d6f 6475 6c65 2e0a 416c given module..Al │ │ │ -00024d20: 6f6e 6720 7769 7468 2074 6865 6972 2074 ong with their t │ │ │ -00024d30: 7970 6573 2e0a 0a55 7365 7320 6569 7468 ypes...Uses eith │ │ │ -00024d40: 6572 2074 6865 2073 636f 7065 206f 6620 er the scope of │ │ │ -00024d50: 7468 6520 6375 7272 656e 7420 676f 616c the current goal │ │ │ -00024d60: 206f 722c 2069 6620 706f 696e 7420 6973 or, if point is │ │ │ -00024d70: 206e 6f74 2069 6e0a 6120 676f 616c 2c20 not in.a goal, │ │ │ -00024d80: 7468 6520 746f 702d 6c65 7665 6c20 7363 the top-level sc │ │ │ -00024d90: 6f70 652e 220a 2020 2869 6e74 6572 6163 ope.". (interac │ │ │ -00024da0: 7469 7665 290a 2020 2863 616c 6c2d 696e tive). (call-in │ │ │ -00024db0: 7465 7261 6374 6976 656c 7920 2869 6620 teractively (if │ │ │ -00024dc0: 2861 6764 6132 2d67 6f61 6c2d 6174 2028 (agda2-goal-at ( │ │ │ -00024dd0: 706f 696e 7429 290a 2020 2020 2020 2020 point)). │ │ │ +000243f0: 2020 2020 2761 6764 6132 2d69 6e66 6572 'agda2-infer │ │ │ +00024400: 2d74 7970 652d 746f 706c 6576 656c 2929 -type-toplevel)) │ │ │ +00024410: 290a 0a28 6465 6675 6e20 6167 6461 322d )..(defun agda2- │ │ │ +00024420: 7768 792d 696e 2d73 636f 7065 2028 290a why-in-scope (). │ │ │ +00024430: 2020 2245 7870 6c61 696e 2077 6879 2073 "Explain why s │ │ │ +00024440: 6f6d 6574 6869 6e67 2069 7320 696e 2073 omething is in s │ │ │ +00024450: 636f 7065 2069 6e20 6120 676f 616c 2e22 cope in a goal." │ │ │ +00024460: 0a20 2028 696e 7465 7261 6374 6976 6529 . (interactive) │ │ │ +00024470: 0a20 2028 6167 6461 322d 676f 616c 2d63 . (agda2-goal-c │ │ │ +00024480: 6d64 2022 436d 645f 7768 795f 696e 5f73 md "Cmd_why_in_s │ │ │ +00024490: 636f 7065 2220 6e69 6c20 224e 616d 6522 cope" nil "Name" │ │ │ +000244a0: 2929 0a0a 2864 6566 756e 2061 6764 6132 ))..(defun agda2 │ │ │ +000244b0: 2d77 6879 2d69 6e2d 7363 6f70 652d 746f -why-in-scope-to │ │ │ +000244c0: 706c 6576 656c 2028 6e61 6d65 290a 2020 plevel (name). │ │ │ +000244d0: 2245 7870 6c61 696e 2077 6879 2073 6f6d "Explain why som │ │ │ +000244e0: 6574 6869 6e67 2069 7320 696e 2073 636f ething is in sco │ │ │ +000244f0: 7065 2061 7420 7468 6520 746f 7020 6c65 pe at the top le │ │ │ +00024500: 7665 6c2e 220a 2020 2869 6e74 6572 6163 vel.". (interac │ │ │ +00024510: 7469 7665 2022 4d4e 616d 653a 2022 290a tive "MName: "). │ │ │ +00024520: 2020 2861 6764 6132 2d67 6f20 6e69 6c20 (agda2-go nil │ │ │ +00024530: 7420 2762 7573 7920 740a 2020 2020 2020 t 'busy t. │ │ │ +00024540: 2020 2020 2020 2243 6d64 5f77 6879 5f69 "Cmd_why_i │ │ │ +00024550: 6e5f 7363 6f70 655f 746f 706c 6576 656c n_scope_toplevel │ │ │ +00024560: 220a 2020 2020 2020 2020 2020 2020 2861 ". (a │ │ │ +00024570: 6764 6132 2d73 7472 696e 672d 7175 6f74 gda2-string-quot │ │ │ +00024580: 6520 6e61 6d65 2929 290a 0a28 6465 6675 e name)))..(defu │ │ │ +00024590: 6e20 6167 6461 322d 7768 792d 696e 2d73 n agda2-why-in-s │ │ │ +000245a0: 636f 7065 2d6d 6179 6265 2d74 6f70 6c65 cope-maybe-tople │ │ │ +000245b0: 7665 6c20 2829 0a20 2022 4578 706c 6169 vel (). "Explai │ │ │ +000245c0: 6e73 2077 6879 2061 2067 6976 656e 206e ns why a given n │ │ │ +000245d0: 616d 6520 6973 2069 6e20 7363 6f70 652e ame is in scope. │ │ │ +000245e0: 220a 2020 2869 6e74 6572 6163 7469 7665 ". (interactive │ │ │ +000245f0: 290a 2020 2863 616c 6c2d 696e 7465 7261 ). (call-intera │ │ │ +00024600: 6374 6976 656c 7920 2869 6620 2861 6764 ctively (if (agd │ │ │ +00024610: 6132 2d67 6f61 6c2d 6174 2028 706f 696e a2-goal-at (poin │ │ │ +00024620: 7429 290a 2020 2020 2020 2020 2020 2020 t)). │ │ │ +00024630: 2020 2020 2020 2020 2020 2020 2020 2761 'a │ │ │ +00024640: 6764 6132 2d77 6879 2d69 6e2d 7363 6f70 gda2-why-in-scop │ │ │ +00024650: 650a 2020 2020 2020 2020 2020 2020 2020 e. │ │ │ +00024660: 2020 2020 2020 2020 2020 2020 2761 6764 'agd │ │ │ +00024670: 6132 2d77 6879 2d69 6e2d 7363 6f70 652d a2-why-in-scope- │ │ │ +00024680: 746f 706c 6576 656c 2929 290a 0a28 6167 toplevel)))..(ag │ │ │ +00024690: 6461 322d 6d61 7962 652d 6e6f 726d 616c da2-maybe-normal │ │ │ +000246a0: 6973 6564 0a20 6167 6461 322d 656c 6162 ised. agda2-elab │ │ │ +000246b0: 6f72 6174 652d 6769 7665 0a20 2245 6c61 orate-give. "Ela │ │ │ +000246c0: 626f 7261 7465 2063 6865 636b 2074 6865 borate check the │ │ │ +000246d0: 2067 6976 656e 2065 7870 7265 7373 696f given expressio │ │ │ +000246e0: 6e20 6167 6169 6e73 7420 7468 6520 686f n against the ho │ │ │ +000246f0: 6c65 2773 2074 7970 6520 616e 6420 6669 le's type and fi │ │ │ +00024700: 6c6c 2069 6e20 7468 650a 2068 6f6c 6520 ll in the. hole │ │ │ +00024710: 7769 7468 2074 6865 2065 6c61 626f 7261 with the elabora │ │ │ +00024720: 7465 6420 7465 726d 220a 2022 436d 645f ted term". "Cmd_ │ │ │ +00024730: 656c 6162 6f72 6174 655f 6769 7665 220a elaborate_give". │ │ │ +00024740: 2022 6578 7072 6573 7369 6f6e 2074 6f20 "expression to │ │ │ +00024750: 656c 6162 6f72 6174 6520 616e 6420 6769 elaborate and gi │ │ │ +00024760: 7665 2229 0a0a 2861 6764 6132 2d6d 6179 ve")..(agda2-may │ │ │ +00024770: 6265 2d6e 6f72 6d61 6c69 7365 640a 2061 be-normalised. a │ │ │ +00024780: 6764 6132 2d67 6f61 6c2d 616e 642d 636f gda2-goal-and-co │ │ │ +00024790: 6e74 6578 740a 2022 5368 6f77 7320 7468 ntext. "Shows th │ │ │ +000247a0: 6520 7479 7065 206f 6620 7468 6520 676f e type of the go │ │ │ +000247b0: 616c 2061 7420 706f 696e 7420 616e 6420 al at point and │ │ │ +000247c0: 7468 6520 6375 7272 6563 7420 636f 6e74 the currect cont │ │ │ +000247d0: 6578 7422 0a20 2243 6d64 5f67 6f61 6c5f ext". "Cmd_goal_ │ │ │ +000247e0: 7479 7065 5f63 6f6e 7465 7874 220a 206e type_context". n │ │ │ +000247f0: 696c 290a 0a28 6167 6461 322d 6d61 7962 il)..(agda2-mayb │ │ │ +00024800: 652d 6e6f 726d 616c 6973 6564 0a20 6167 e-normalised. ag │ │ │ +00024810: 6461 322d 676f 616c 2d61 6e64 2d63 6f6e da2-goal-and-con │ │ │ +00024820: 7465 7874 2d61 6e64 2d69 6e66 6572 7265 text-and-inferre │ │ │ +00024830: 640a 2022 5368 6f77 7320 7468 6520 636f d. "Shows the co │ │ │ +00024840: 6e74 6578 742c 2074 6865 2067 6f61 6c20 ntext, the goal │ │ │ +00024850: 616e 6420 7468 6520 6769 7665 6e20 6578 and the given ex │ │ │ +00024860: 7072 6573 7369 6f6e 2773 2069 6e66 6572 pression's infer │ │ │ +00024870: 7265 6420 7479 7065 220a 2022 436d 645f red type". "Cmd_ │ │ │ +00024880: 676f 616c 5f74 7970 655f 636f 6e74 6578 goal_type_contex │ │ │ +00024890: 745f 696e 6665 7222 0a20 2265 7870 7265 t_infer". "expre │ │ │ +000248a0: 7373 696f 6e20 746f 2074 7970 6522 290a ssion to type"). │ │ │ +000248b0: 0a28 6167 6461 322d 6d61 7962 652d 6e6f .(agda2-maybe-no │ │ │ +000248c0: 726d 616c 6973 6564 0a20 6167 6461 322d rmalised. agda2- │ │ │ +000248d0: 676f 616c 2d61 6e64 2d63 6f6e 7465 7874 goal-and-context │ │ │ +000248e0: 2d61 6e64 2d63 6865 636b 6564 0a20 2253 -and-checked. "S │ │ │ +000248f0: 686f 7773 2074 6865 2063 6f6e 7465 7874 hows the context │ │ │ +00024900: 2c20 7468 6520 676f 616c 2061 6e64 2063 , the goal and c │ │ │ +00024910: 6865 636b 2074 6865 2067 6976 656e 2065 heck the given e │ │ │ +00024920: 7870 7265 7373 696f 6e27 7320 6167 6169 xpression's agai │ │ │ +00024930: 6e73 740a 2074 6865 2068 6f6c 6527 7320 nst. the hole's │ │ │ +00024940: 7479 7065 220a 2022 436d 645f 676f 616c type". "Cmd_goal │ │ │ +00024950: 5f74 7970 655f 636f 6e74 6578 745f 6368 _type_context_ch │ │ │ +00024960: 6563 6b22 0a20 2265 7870 7265 7373 696f eck". "expressio │ │ │ +00024970: 6e20 746f 2074 7970 6522 290a 0a28 6167 n to type")..(ag │ │ │ +00024980: 6461 322d 6d61 7962 652d 6e6f 726d 616c da2-maybe-normal │ │ │ +00024990: 6973 6564 0a20 6167 6461 322d 7368 6f77 ised. agda2-show │ │ │ +000249a0: 2d63 6f6e 7465 7874 0a20 2253 686f 7720 -context. "Show │ │ │ +000249b0: 7468 6520 636f 6e74 6578 7420 6f66 2074 the context of t │ │ │ +000249c0: 6865 2067 6f61 6c20 6174 2070 6f69 6e74 he goal at point │ │ │ +000249d0: 220a 2022 436d 645f 636f 6e74 6578 7422 ". "Cmd_context" │ │ │ +000249e0: 0a20 6e69 6c29 0a0a 2861 6764 6132 2d6d . nil)..(agda2-m │ │ │ +000249f0: 6179 6265 2d6e 6f72 6d61 6c69 7365 642d aybe-normalised- │ │ │ +00024a00: 6173 6973 0a20 6167 6461 322d 6865 6c70 asis. agda2-help │ │ │ +00024a10: 6572 2d66 756e 6374 696f 6e2d 7479 7065 er-function-type │ │ │ +00024a20: 0a20 2022 436f 6d70 7574 6520 7468 6520 . "Compute the │ │ │ +00024a30: 7479 7065 206f 6620 6120 6879 706f 7468 type of a hypoth │ │ │ +00024a40: 6574 6963 616c 2068 656c 7065 7220 6675 etical helper fu │ │ │ +00024a50: 6e63 7469 6f6e 2e22 0a20 2022 436d 645f nction.". "Cmd_ │ │ │ +00024a60: 6865 6c70 6572 5f66 756e 6374 696f 6e22 helper_function" │ │ │ +00024a70: 0a20 2022 4578 7072 6573 7369 6f6e 2229 . "Expression") │ │ │ +00024a80: 0a0a 2861 6764 6132 2d6d 6179 6265 2d6e ..(agda2-maybe-n │ │ │ +00024a90: 6f72 6d61 6c69 7365 640a 2020 6167 6461 ormalised. agda │ │ │ +00024aa0: 322d 6d6f 6475 6c65 2d63 6f6e 7465 6e74 2-module-content │ │ │ +00024ab0: 730a 2020 2253 686f 7773 2061 6c6c 2074 s. "Shows all t │ │ │ +00024ac0: 6865 2074 6f70 2d6c 6576 656c 206e 616d he top-level nam │ │ │ +00024ad0: 6573 2069 6e20 7468 6520 6769 7665 6e20 es in the given │ │ │ +00024ae0: 6d6f 6475 6c65 2e0a 416c 6f6e 6720 7769 module..Along wi │ │ │ +00024af0: 7468 2074 6865 6972 2074 7970 6573 2e22 th their types." │ │ │ +00024b00: 0a20 2022 436d 645f 7368 6f77 5f6d 6f64 . "Cmd_show_mod │ │ │ +00024b10: 756c 655f 636f 6e74 656e 7473 220a 2020 ule_contents". │ │ │ +00024b20: 224d 6f64 756c 6520 6e61 6d65 2028 656d "Module name (em │ │ │ +00024b30: 7074 7920 666f 7220 6375 7272 656e 7420 pty for current │ │ │ +00024b40: 6d6f 6475 6c65 2922 290a 0a28 6167 6461 module)")..(agda │ │ │ +00024b50: 322d 6d61 7962 652d 6e6f 726d 616c 6973 2-maybe-normalis │ │ │ +00024b60: 6564 2d74 6f70 6c65 7665 6c0a 2020 6167 ed-toplevel. ag │ │ │ +00024b70: 6461 322d 6d6f 6475 6c65 2d63 6f6e 7465 da2-module-conte │ │ │ +00024b80: 6e74 732d 746f 706c 6576 656c 0a20 2022 nts-toplevel. " │ │ │ +00024b90: 5368 6f77 7320 616c 6c20 7468 6520 746f Shows all the to │ │ │ +00024ba0: 702d 6c65 7665 6c20 6e61 6d65 7320 696e p-level names in │ │ │ +00024bb0: 2074 6865 2067 6976 656e 206d 6f64 756c the given modul │ │ │ +00024bc0: 652e 0a41 6c6f 6e67 2077 6974 6820 7468 e..Along with th │ │ │ +00024bd0: 6569 7220 7479 7065 732e 220a 2020 2243 eir types.". "C │ │ │ +00024be0: 6d64 5f73 686f 775f 6d6f 6475 6c65 5f63 md_show_module_c │ │ │ +00024bf0: 6f6e 7465 6e74 735f 746f 706c 6576 656c ontents_toplevel │ │ │ +00024c00: 220a 2020 224d 6f64 756c 6520 6e61 6d65 ". "Module name │ │ │ +00024c10: 2028 656d 7074 7920 666f 7220 746f 702d (empty for top- │ │ │ +00024c20: 6c65 7665 6c20 6d6f 6475 6c65 2922 0a29 level module)".) │ │ │ +00024c30: 0a0a 2861 6764 6132 2d6d 6179 6265 2d6e ..(agda2-maybe-n │ │ │ +00024c40: 6f72 6d61 6c69 7365 642d 746f 706c 6576 ormalised-toplev │ │ │ +00024c50: 656c 0a20 2061 6764 6132 2d73 6561 7263 el. agda2-searc │ │ │ +00024c60: 682d 6162 6f75 742d 746f 706c 6576 656c h-about-toplevel │ │ │ +00024c70: 0a20 2022 5365 6172 6368 2041 626f 7574 . "Search About │ │ │ +00024c80: 2061 6e20 6964 656e 7469 6669 6572 220a an identifier". │ │ │ +00024c90: 2020 2243 6d64 5f73 6561 7263 685f 6162 "Cmd_search_ab │ │ │ +00024ca0: 6f75 745f 746f 706c 6576 656c 220a 2020 out_toplevel". │ │ │ +00024cb0: 224e 616d 6522 0a29 0a0a 2864 6566 756e "Name".)..(defun │ │ │ +00024cc0: 2061 6764 6132 2d6d 6f64 756c 652d 636f agda2-module-co │ │ │ +00024cd0: 6e74 656e 7473 2d6d 6179 6265 2d74 6f70 ntents-maybe-top │ │ │ +00024ce0: 6c65 7665 6c20 2829 0a20 2022 5368 6f77 level (). "Show │ │ │ +00024cf0: 7320 616c 6c20 7468 6520 746f 702d 6c65 s all the top-le │ │ │ +00024d00: 7665 6c20 6e61 6d65 7320 696e 2074 6865 vel names in the │ │ │ +00024d10: 2067 6976 656e 206d 6f64 756c 652e 0a41 given module..A │ │ │ +00024d20: 6c6f 6e67 2077 6974 6820 7468 6569 7220 long with their │ │ │ +00024d30: 7479 7065 732e 0a0a 5573 6573 2065 6974 types...Uses eit │ │ │ +00024d40: 6865 7220 7468 6520 7363 6f70 6520 6f66 her the scope of │ │ │ +00024d50: 2074 6865 2063 7572 7265 6e74 2067 6f61 the current goa │ │ │ +00024d60: 6c20 6f72 2c20 6966 2070 6f69 6e74 2069 l or, if point i │ │ │ +00024d70: 7320 6e6f 7420 696e 0a61 2067 6f61 6c2c s not in.a goal, │ │ │ +00024d80: 2074 6865 2074 6f70 2d6c 6576 656c 2073 the top-level s │ │ │ +00024d90: 636f 7065 2e22 0a20 2028 696e 7465 7261 cope.". (intera │ │ │ +00024da0: 6374 6976 6529 0a20 2028 6361 6c6c 2d69 ctive). (call-i │ │ │ +00024db0: 6e74 6572 6163 7469 7665 6c79 2028 6966 nteractively (if │ │ │ +00024dc0: 2028 6167 6461 322d 676f 616c 2d61 7420 (agda2-goal-at │ │ │ +00024dd0: 2870 6f69 6e74 2929 0a20 2020 2020 2020 (point)). │ │ │ 00024de0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00024df0: 2020 2761 6764 6132 2d6d 6f64 756c 652d 'agda2-module- │ │ │ -00024e00: 636f 6e74 656e 7473 0a20 2020 2020 2020 contents. │ │ │ +00024df0: 2020 2027 6167 6461 322d 6d6f 6475 6c65 'agda2-module │ │ │ +00024e00: 2d63 6f6e 7465 6e74 730a 2020 2020 2020 -contents. │ │ │ 00024e10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00024e20: 2027 6167 6461 322d 6d6f 6475 6c65 2d63 'agda2-module-c │ │ │ -00024e30: 6f6e 7465 6e74 732d 746f 706c 6576 656c ontents-toplevel │ │ │ -00024e40: 2929 290a 0a28 6465 6675 6e20 6167 6461 )))..(defun agda │ │ │ -00024e50: 322d 736f 6c76 652d 6d61 7962 652d 616c 2-solve-maybe-al │ │ │ -00024e60: 6c20 2829 0a20 2022 536f 6c76 6573 2067 l (). "Solves g │ │ │ -00024e70: 6f61 6c73 2074 6861 7420 6172 6520 616c oals that are al │ │ │ -00024e80: 7265 6164 7920 696e 7374 616e 7469 6174 ready instantiat │ │ │ -00024e90: 6564 2069 6e74 6572 6e61 6c6c 792e 0a45 ed internally..E │ │ │ -00024ea0: 6974 6865 7220 6f6e 6c79 206f 6e65 2069 ither only one i │ │ │ -00024eb0: 6620 706f 696e 7420 6973 2061 2067 6f61 f point is a goa │ │ │ -00024ec0: 6c2c 206f 7220 616c 6c20 6f66 2074 6865 l, or all of the │ │ │ -00024ed0: 6d2e 220a 2020 2869 6e74 6572 6163 7469 m.". (interacti │ │ │ -00024ee0: 7665 290a 2020 2863 616c 6c2d 696e 7465 ve). (call-inte │ │ │ -00024ef0: 7261 6374 6976 656c 7920 2869 6620 2861 ractively (if (a │ │ │ -00024f00: 6764 6132 2d67 6f61 6c2d 6174 2028 706f gda2-goal-at (po │ │ │ -00024f10: 696e 7429 290a 2020 2020 2020 2020 2020 int)). │ │ │ +00024e20: 2020 2761 6764 6132 2d6d 6f64 756c 652d 'agda2-module- │ │ │ +00024e30: 636f 6e74 656e 7473 2d74 6f70 6c65 7665 contents-topleve │ │ │ +00024e40: 6c29 2929 0a0a 2864 6566 756e 2061 6764 l)))..(defun agd │ │ │ +00024e50: 6132 2d73 6f6c 7665 2d6d 6179 6265 2d61 a2-solve-maybe-a │ │ │ +00024e60: 6c6c 2028 290a 2020 2253 6f6c 7665 7320 ll (). "Solves │ │ │ +00024e70: 676f 616c 7320 7468 6174 2061 7265 2061 goals that are a │ │ │ +00024e80: 6c72 6561 6479 2069 6e73 7461 6e74 6961 lready instantia │ │ │ +00024e90: 7465 6420 696e 7465 726e 616c 6c79 2e0a ted internally.. │ │ │ +00024ea0: 4569 7468 6572 206f 6e6c 7920 6f6e 6520 Either only one │ │ │ +00024eb0: 6966 2070 6f69 6e74 2069 7320 6120 676f if point is a go │ │ │ +00024ec0: 616c 2c20 6f72 2061 6c6c 206f 6620 7468 al, or all of th │ │ │ +00024ed0: 656d 2e22 0a20 2028 696e 7465 7261 6374 em.". (interact │ │ │ +00024ee0: 6976 6529 0a20 2028 6361 6c6c 2d69 6e74 ive). (call-int │ │ │ +00024ef0: 6572 6163 7469 7665 6c79 2028 6966 2028 eractively (if ( │ │ │ +00024f00: 6167 6461 322d 676f 616c 2d61 7420 2870 agda2-goal-at (p │ │ │ +00024f10: 6f69 6e74 2929 0a20 2020 2020 2020 2020 oint)). │ │ │ 00024f20: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00024f30: 2761 6764 6132 2d73 6f6c 7665 4f6e 650a 'agda2-solveOne. │ │ │ -00024f40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00024f50: 2020 2020 2020 2020 2020 2761 6764 6132 'agda2 │ │ │ -00024f60: 2d73 6f6c 7665 416c 6c29 290a 290a 0a28 -solveAll)).)..( │ │ │ -00024f70: 6465 6675 6e20 6167 6461 322d 6d69 6d65 defun agda2-mime │ │ │ -00024f80: 722d 6d61 7962 652d 616c 6c20 2829 0a20 r-maybe-all (). │ │ │ -00024f90: 2022 5275 6e20 7072 6f6f 6620 7365 6172 "Run proof sear │ │ │ -00024fa0: 6368 2e0a 4569 7468 6572 206f 6e6c 7920 ch..Either only │ │ │ -00024fb0: 6f6e 6520 6966 2070 6f69 6e74 2069 7320 one if point is │ │ │ -00024fc0: 6120 676f 616c 2c20 6f72 2061 6c6c 206f a goal, or all o │ │ │ -00024fd0: 6620 7468 656d 2e22 0a20 2028 696e 7465 f them.". (inte │ │ │ -00024fe0: 7261 6374 6976 6529 0a20 2028 6361 6c6c ractive). (call │ │ │ -00024ff0: 2d69 6e74 6572 6163 7469 7665 6c79 2028 -interactively ( │ │ │ -00025000: 6966 2028 6167 6461 322d 676f 616c 2d61 if (agda2-goal-a │ │ │ -00025010: 7420 2870 6f69 6e74 2929 0a20 2020 2020 t (point)). │ │ │ +00024f30: 2027 6167 6461 322d 736f 6c76 654f 6e65 'agda2-solveOne │ │ │ +00024f40: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ +00024f50: 2020 2020 2020 2020 2020 2027 6167 6461 'agda │ │ │ +00024f60: 322d 736f 6c76 6541 6c6c 2929 0a29 0a0a 2-solveAll)).).. │ │ │ +00024f70: 2864 6566 756e 2061 6764 6132 2d6d 696d (defun agda2-mim │ │ │ +00024f80: 6572 2d6d 6179 6265 2d61 6c6c 2028 290a er-maybe-all (). │ │ │ +00024f90: 2020 2252 756e 2070 726f 6f66 2073 6561 "Run proof sea │ │ │ +00024fa0: 7263 682e 0a45 6974 6865 7220 6f6e 6c79 rch..Either only │ │ │ +00024fb0: 206f 6e65 2069 6620 706f 696e 7420 6973 one if point is │ │ │ +00024fc0: 2061 2067 6f61 6c2c 206f 7220 616c 6c20 a goal, or all │ │ │ +00024fd0: 6f66 2074 6865 6d2e 220a 2020 2869 6e74 of them.". (int │ │ │ +00024fe0: 6572 6163 7469 7665 290a 2020 2863 616c eractive). (cal │ │ │ +00024ff0: 6c2d 696e 7465 7261 6374 6976 656c 7920 l-interactively │ │ │ +00025000: 2869 6620 2861 6764 6132 2d67 6f61 6c2d (if (agda2-goal- │ │ │ +00025010: 6174 2028 706f 696e 7429 290a 2020 2020 at (point)). │ │ │ 00025020: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00025030: 2020 2020 2027 6167 6461 322d 6d69 6d65 'agda2-mime │ │ │ -00025040: 720a 2020 2020 2020 2020 2020 2020 2020 r. │ │ │ -00025050: 2020 2020 2020 2020 2020 2020 2761 6764 'agd │ │ │ -00025060: 6132 2d6d 696d 6572 416c 6c29 290a 290a a2-mimerAll)).). │ │ │ -00025070: 0a28 6167 6461 322d 6d61 7962 652d 6e6f .(agda2-maybe-no │ │ │ -00025080: 726d 616c 6973 6564 2d61 7369 730a 2020 rmalised-asis. │ │ │ -00025090: 6167 6461 322d 6d69 6d65 720a 2020 2252 agda2-mimer. "R │ │ │ -000250a0: 756e 2070 726f 6f66 2073 6561 7263 6820 un proof search │ │ │ -000250b0: 6f6e 2061 2067 6f61 6c2e 220a 2020 2243 on a goal.". "C │ │ │ -000250c0: 6d64 5f61 7574 6f4f 6e65 220a 2020 2767 md_autoOne". 'g │ │ │ -000250d0: 6f61 6c0a 290a 0a28 6167 6461 322d 6d61 oal.)..(agda2-ma │ │ │ -000250e0: 7962 652d 6e6f 726d 616c 6973 6564 2d74 ybe-normalised-t │ │ │ -000250f0: 6f70 6c65 7665 6c2d 6173 6973 2d6e 6f70 oplevel-asis-nop │ │ │ -00025100: 726f 6d70 740a 2020 6167 6461 322d 6d69 rompt. agda2-mi │ │ │ -00025110: 6d65 7241 6c6c 0a20 2022 536f 6c76 6573 merAll. "Solves │ │ │ -00025120: 2061 6c6c 2067 6f61 6c73 2062 7920 7369 all goals by si │ │ │ -00025130: 6d70 6c65 2070 726f 6f66 2073 6561 7263 mple proof searc │ │ │ -00025140: 682e 220a 2020 2243 6d64 5f61 7574 6f41 h.". "Cmd_autoA │ │ │ -00025150: 6c6c 220a 290a 0a28 6167 6461 322d 6d61 ll".)..(agda2-ma │ │ │ -00025160: 7962 652d 6e6f 726d 616c 6973 6564 2d74 ybe-normalised-t │ │ │ -00025170: 6f70 6c65 7665 6c2d 6173 6973 2d6e 6f70 oplevel-asis-nop │ │ │ -00025180: 726f 6d70 740a 2061 6764 6132 2d73 686f rompt. agda2-sho │ │ │ -00025190: 772d 676f 616c 730a 2022 5368 6f77 2061 w-goals. "Show a │ │ │ -000251a0: 6c6c 2067 6f61 6c73 2e22 0a20 2243 6d64 ll goals.". "Cmd │ │ │ -000251b0: 5f6d 6574 6173 220a 2029 0a0a 2861 6764 _metas". )..(agd │ │ │ -000251c0: 6132 2d6d 6179 6265 2d6e 6f72 6d61 6c69 a2-maybe-normali │ │ │ -000251d0: 7365 642d 746f 706c 6576 656c 2d61 7369 sed-toplevel-asi │ │ │ -000251e0: 732d 6e6f 7072 6f6d 7074 0a20 6167 6461 s-noprompt. agda │ │ │ -000251f0: 322d 736f 6c76 6541 6c6c 0a20 2253 6f6c 2-solveAll. "Sol │ │ │ -00025200: 7665 7320 616c 6c20 676f 616c 7320 7468 ves all goals th │ │ │ -00025210: 6174 2061 7265 2061 6c72 6561 6479 2069 at are already i │ │ │ -00025220: 6e73 7461 6e74 6961 7465 6420 696e 7465 nstantiated inte │ │ │ -00025230: 726e 616c 6c79 2e22 0a20 2243 6d64 5f73 rnally.". "Cmd_s │ │ │ -00025240: 6f6c 7665 416c 6c22 0a20 290a 0a28 6167 olveAll". )..(ag │ │ │ -00025250: 6461 322d 6d61 7962 652d 6e6f 726d 616c da2-maybe-normal │ │ │ -00025260: 6973 6564 0a20 2061 6764 6132 2d73 6f6c ised. agda2-sol │ │ │ -00025270: 7665 4f6e 650a 2020 2253 6f6c 7665 7320 veOne. "Solves │ │ │ -00025280: 7468 6520 676f 616c 2061 7420 706f 696e the goal at poin │ │ │ -00025290: 7420 6966 2069 7420 6973 2061 6c72 6561 t if it is alrea │ │ │ -000252a0: 6479 2069 6e73 7461 6e74 6961 7465 6420 dy instantiated │ │ │ -000252b0: 696e 7465 726e 616c 6c79 220a 2020 2243 internally". "C │ │ │ -000252c0: 6d64 5f73 6f6c 7665 4f6e 6522 0a20 206e md_solveOne". n │ │ │ -000252d0: 696c 0a29 0a0a 2864 6566 756e 2061 6764 il.)..(defun agd │ │ │ -000252e0: 6132 2d73 6f6c 7665 416c 6c2d 6163 7469 a2-solveAll-acti │ │ │ -000252f0: 6f6e 2028 6973 7329 0a20 2028 7768 696c on (iss). (whil │ │ │ -00025300: 6520 6973 730a 2020 2020 286c 6574 2a20 e iss. (let* │ │ │ -00025310: 2828 6720 2870 6f70 2069 7373 2929 2028 ((g (pop iss)) ( │ │ │ -00025320: 7478 7420 2870 6f70 2069 7373 2929 0a20 txt (pop iss)). │ │ │ -00025330: 2020 2020 2020 2020 2020 2863 6d64 2028 (cmd ( │ │ │ -00025340: 636f 6e73 2027 6167 6461 322d 736f 6c76 cons 'agda2-solv │ │ │ -00025350: 652d 6163 7469 6f6e 2028 636f 6e73 2067 e-action (cons g │ │ │ -00025360: 2028 636f 6e73 2074 7874 206e 696c 2929 (cons txt nil)) │ │ │ -00025370: 2929 290a 2020 2020 2020 2869 6620 286e ))). (if (n │ │ │ -00025380: 756c 6c20 6167 6461 322d 6c61 7374 2d72 ull agda2-last-r │ │ │ -00025390: 6573 706f 6e73 6573 290a 2020 2020 2020 esponses). │ │ │ -000253a0: 2020 2020 2870 7573 6820 2863 6f6e 7320 (push (cons │ │ │ -000253b0: 3120 636d 6429 2061 6764 6132 2d6c 6173 1 cmd) agda2-las │ │ │ -000253c0: 742d 7265 7370 6f6e 7365 7329 0a20 2020 t-responses). │ │ │ -000253d0: 2020 2020 2028 6e63 6f6e 6320 6167 6461 (nconc agda │ │ │ -000253e0: 322d 6c61 7374 2d72 6573 706f 6e73 6573 2-last-responses │ │ │ -000253f0: 2028 636f 6e73 2028 636f 6e73 2033 2063 (cons (cons 3 c │ │ │ -00025400: 6d64 2920 6e69 6c29 2929 2929 290a 0a28 md) nil))))))..( │ │ │ -00025410: 6465 6675 6e20 6167 6461 322d 736f 6c76 defun agda2-solv │ │ │ -00025420: 652d 6163 7469 6f6e 2028 6720 7478 7429 e-action (g txt) │ │ │ -00025430: 0a20 2028 7361 7665 2d65 7863 7572 7369 . (save-excursi │ │ │ -00025440: 6f6e 0a20 2020 2028 6167 6461 322d 7265 on. (agda2-re │ │ │ -00025450: 706c 6163 652d 676f 616c 2067 2074 7874 place-goal g txt │ │ │ -00025460: 290a 2020 2020 2861 6764 6132 2d67 6f74 ). (agda2-got │ │ │ -00025470: 6f2d 676f 616c 2067 290a 2020 2020 2861 o-goal g). (a │ │ │ -00025480: 6764 6132 2d67 6976 6529 2929 0a0a 2864 gda2-give)))..(d │ │ │ -00025490: 6566 756e 2061 6764 6132 2d63 6f6d 7075 efun agda2-compu │ │ │ -000254a0: 7465 2d6e 6f72 6d61 6c69 7365 6420 2826 te-normalised (& │ │ │ -000254b0: 6f70 7469 6f6e 616c 2061 7267 290a 2020 optional arg). │ │ │ -000254c0: 2243 6f6d 7075 7465 2074 6865 206e 6f72 "Compute the nor │ │ │ -000254d0: 6d61 6c20 666f 726d 206f 6620 7468 6520 mal form of the │ │ │ -000254e0: 6578 7072 6573 7369 6f6e 2069 6e20 7468 expression in th │ │ │ -000254f0: 6520 676f 616c 2061 7420 706f 696e 742e e goal at point. │ │ │ -00025500: 0a0a 5769 7468 2074 6865 2070 7265 6669 ..With the prefi │ │ │ -00025510: 7820 6172 6775 6d65 6e74 2060 2834 2927 x argument `(4)' │ │ │ -00025520: 205c 2261 6273 7472 6163 745c 2220 6973 \"abstract\" is │ │ │ -00025530: 2069 676e 6f72 6564 2064 7572 696e 6720 ignored during │ │ │ -00025540: 7468 650a 636f 6d70 7574 6174 696f 6e2e the.computation. │ │ │ -00025550: 0a0a 5769 7468 2061 2070 7265 6669 7820 ..With a prefix │ │ │ -00025560: 6172 6775 6d65 6e74 2060 2831 3629 2720 argument `(16)' │ │ │ -00025570: 7468 6520 6e6f 726d 616c 2066 6f72 6d20 the normal form │ │ │ -00025580: 6f66 0a5c 2273 686f 7720 3c65 7870 7265 of.\"show \" is comp │ │ │ -000255a0: 7574 6564 2c20 616e 6420 7468 656e 2074 uted, and then t │ │ │ -000255b0: 6865 2072 6573 756c 7469 6e67 2073 7472 he resulting str │ │ │ -000255c0: 696e 670a 6973 2070 7269 6e74 6564 2e0a ing.is printed.. │ │ │ -000255d0: 0a57 6974 6820 616e 7920 6f74 6865 7220 .With any other │ │ │ -000255e0: 7072 6566 6978 2074 6865 2068 6561 6420 prefix the head │ │ │ -000255f0: 6e6f 726d 616c 2066 6f72 6d20 6973 2063 normal form is c │ │ │ -00025600: 6f6d 7075 7465 642e 220a 2020 2869 6e74 omputed.". (int │ │ │ -00025610: 6572 6163 7469 7665 2022 5022 290a 2020 eractive "P"). │ │ │ -00025620: 286c 6574 2028 2863 6d64 2028 636f 6e63 (let ((cmd (conc │ │ │ -00025630: 6174 2022 436d 645f 636f 6d70 7574 6522 at "Cmd_compute" │ │ │ -00025640: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ -00025650: 2020 2020 2020 2028 636f 6e64 2028 2865 (cond ((e │ │ │ -00025660: 7175 616c 2061 7267 206e 696c 2920 2220 qual arg nil) " │ │ │ -00025670: 4465 6661 756c 7443 6f6d 7075 7465 2229 DefaultCompute") │ │ │ -00025680: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ -00025690: 2020 2020 2020 2020 2020 2020 2028 2865 ((e │ │ │ -000256a0: 7175 616c 2061 7267 2027 2834 2929 2022 qual arg '(4)) " │ │ │ -000256b0: 2049 676e 6f72 6541 6273 7472 6163 7422 IgnoreAbstract" │ │ │ -000256c0: 290a 2020 2020 2020 2020 2020 2020 2020 ). │ │ │ -000256d0: 2020 2020 2020 2020 2020 2020 2020 2828 (( │ │ │ -000256e0: 6571 7561 6c20 6172 6720 2728 3136 2929 equal arg '(16)) │ │ │ -000256f0: 2022 2055 7365 5368 6f77 496e 7374 616e " UseShowInstan │ │ │ -00025700: 6365 2229 0a20 2020 2020 2020 2020 2020 ce"). │ │ │ +00025030: 2020 2020 2020 2761 6764 6132 2d6d 696d 'agda2-mim │ │ │ +00025040: 6572 0a20 2020 2020 2020 2020 2020 2020 er. │ │ │ +00025050: 2020 2020 2020 2020 2020 2020 2027 6167 'ag │ │ │ +00025060: 6461 322d 6d69 6d65 7241 6c6c 2929 0a29 da2-mimerAll)).) │ │ │ +00025070: 0a0a 2861 6764 6132 2d6d 6179 6265 2d6e ..(agda2-maybe-n │ │ │ +00025080: 6f72 6d61 6c69 7365 642d 6173 6973 0a20 ormalised-asis. │ │ │ +00025090: 2061 6764 6132 2d6d 696d 6572 0a20 2022 agda2-mimer. " │ │ │ +000250a0: 5275 6e20 7072 6f6f 6620 7365 6172 6368 Run proof search │ │ │ +000250b0: 206f 6e20 6120 676f 616c 2e22 0a20 2022 on a goal.". " │ │ │ +000250c0: 436d 645f 6175 746f 4f6e 6522 0a20 2027 Cmd_autoOne". ' │ │ │ +000250d0: 676f 616c 0a29 0a0a 2861 6764 6132 2d6d goal.)..(agda2-m │ │ │ +000250e0: 6179 6265 2d6e 6f72 6d61 6c69 7365 642d aybe-normalised- │ │ │ +000250f0: 746f 706c 6576 656c 2d61 7369 732d 6e6f toplevel-asis-no │ │ │ +00025100: 7072 6f6d 7074 0a20 2061 6764 6132 2d6d prompt. agda2-m │ │ │ +00025110: 696d 6572 416c 6c0a 2020 2253 6f6c 7665 imerAll. "Solve │ │ │ +00025120: 7320 616c 6c20 676f 616c 7320 6279 2073 s all goals by s │ │ │ +00025130: 696d 706c 6520 7072 6f6f 6620 7365 6172 imple proof sear │ │ │ +00025140: 6368 2e22 0a20 2022 436d 645f 6175 746f ch.". "Cmd_auto │ │ │ +00025150: 416c 6c22 0a29 0a0a 2861 6764 6132 2d6d All".)..(agda2-m │ │ │ +00025160: 6179 6265 2d6e 6f72 6d61 6c69 7365 642d aybe-normalised- │ │ │ +00025170: 746f 706c 6576 656c 2d61 7369 732d 6e6f toplevel-asis-no │ │ │ +00025180: 7072 6f6d 7074 0a20 6167 6461 322d 7368 prompt. agda2-sh │ │ │ +00025190: 6f77 2d67 6f61 6c73 0a20 2253 686f 7720 ow-goals. "Show │ │ │ +000251a0: 616c 6c20 676f 616c 732e 220a 2022 436d all goals.". "Cm │ │ │ +000251b0: 645f 6d65 7461 7322 0a20 290a 0a28 6167 d_metas". )..(ag │ │ │ +000251c0: 6461 322d 6d61 7962 652d 6e6f 726d 616c da2-maybe-normal │ │ │ +000251d0: 6973 6564 2d74 6f70 6c65 7665 6c2d 6173 ised-toplevel-as │ │ │ +000251e0: 6973 2d6e 6f70 726f 6d70 740a 2061 6764 is-noprompt. agd │ │ │ +000251f0: 6132 2d73 6f6c 7665 416c 6c0a 2022 536f a2-solveAll. "So │ │ │ +00025200: 6c76 6573 2061 6c6c 2067 6f61 6c73 2074 lves all goals t │ │ │ +00025210: 6861 7420 6172 6520 616c 7265 6164 7920 hat are already │ │ │ +00025220: 696e 7374 616e 7469 6174 6564 2069 6e74 instantiated int │ │ │ +00025230: 6572 6e61 6c6c 792e 220a 2022 436d 645f ernally.". "Cmd_ │ │ │ +00025240: 736f 6c76 6541 6c6c 220a 2029 0a0a 2861 solveAll". )..(a │ │ │ +00025250: 6764 6132 2d6d 6179 6265 2d6e 6f72 6d61 gda2-maybe-norma │ │ │ +00025260: 6c69 7365 640a 2020 6167 6461 322d 736f lised. agda2-so │ │ │ +00025270: 6c76 654f 6e65 0a20 2022 536f 6c76 6573 lveOne. "Solves │ │ │ +00025280: 2074 6865 2067 6f61 6c20 6174 2070 6f69 the goal at poi │ │ │ +00025290: 6e74 2069 6620 6974 2069 7320 616c 7265 nt if it is alre │ │ │ +000252a0: 6164 7920 696e 7374 616e 7469 6174 6564 ady instantiated │ │ │ +000252b0: 2069 6e74 6572 6e61 6c6c 7922 0a20 2022 internally". " │ │ │ +000252c0: 436d 645f 736f 6c76 654f 6e65 220a 2020 Cmd_solveOne". │ │ │ +000252d0: 6e69 6c0a 290a 0a28 6465 6675 6e20 6167 nil.)..(defun ag │ │ │ +000252e0: 6461 322d 736f 6c76 6541 6c6c 2d61 6374 da2-solveAll-act │ │ │ +000252f0: 696f 6e20 2869 7373 290a 2020 2877 6869 ion (iss). (whi │ │ │ +00025300: 6c65 2069 7373 0a20 2020 2028 6c65 742a le iss. (let* │ │ │ +00025310: 2028 2867 2028 706f 7020 6973 7329 2920 ((g (pop iss)) │ │ │ +00025320: 2874 7874 2028 706f 7020 6973 7329 290a (txt (pop iss)). │ │ │ +00025330: 2020 2020 2020 2020 2020 2028 636d 6420 (cmd │ │ │ +00025340: 2863 6f6e 7320 2761 6764 6132 2d73 6f6c (cons 'agda2-sol │ │ │ +00025350: 7665 2d61 6374 696f 6e20 2863 6f6e 7320 ve-action (cons │ │ │ +00025360: 6720 2863 6f6e 7320 7478 7420 6e69 6c29 g (cons txt nil) │ │ │ +00025370: 2929 2929 0a20 2020 2020 2028 6966 2028 )))). (if ( │ │ │ +00025380: 6e75 6c6c 2061 6764 6132 2d6c 6173 742d null agda2-last- │ │ │ +00025390: 7265 7370 6f6e 7365 7329 0a20 2020 2020 responses). │ │ │ +000253a0: 2020 2020 2028 7075 7368 2028 636f 6e73 (push (cons │ │ │ +000253b0: 2031 2063 6d64 2920 6167 6461 322d 6c61 1 cmd) agda2-la │ │ │ +000253c0: 7374 2d72 6573 706f 6e73 6573 290a 2020 st-responses). │ │ │ +000253d0: 2020 2020 2020 286e 636f 6e63 2061 6764 (nconc agd │ │ │ +000253e0: 6132 2d6c 6173 742d 7265 7370 6f6e 7365 a2-last-response │ │ │ +000253f0: 7320 2863 6f6e 7320 2863 6f6e 7320 3320 s (cons (cons 3 │ │ │ +00025400: 636d 6429 206e 696c 2929 2929 2929 0a0a cmd) nil)))))).. │ │ │ +00025410: 2864 6566 756e 2061 6764 6132 2d73 6f6c (defun agda2-sol │ │ │ +00025420: 7665 2d61 6374 696f 6e20 2867 2074 7874 ve-action (g txt │ │ │ +00025430: 290a 2020 2873 6176 652d 6578 6375 7273 ). (save-excurs │ │ │ +00025440: 696f 6e0a 2020 2020 2861 6764 6132 2d72 ion. (agda2-r │ │ │ +00025450: 6570 6c61 6365 2d67 6f61 6c20 6720 7478 eplace-goal g tx │ │ │ +00025460: 7429 0a20 2020 2028 6167 6461 322d 676f t). (agda2-go │ │ │ +00025470: 746f 2d67 6f61 6c20 6729 0a20 2020 2028 to-goal g). ( │ │ │ +00025480: 6167 6461 322d 6769 7665 2929 290a 0a28 agda2-give)))..( │ │ │ +00025490: 6465 6675 6e20 6167 6461 322d 636f 6d70 defun agda2-comp │ │ │ +000254a0: 7574 652d 6e6f 726d 616c 6973 6564 2028 ute-normalised ( │ │ │ +000254b0: 266f 7074 696f 6e61 6c20 6172 6729 0a20 &optional arg). │ │ │ +000254c0: 2022 436f 6d70 7574 6520 7468 6520 6e6f "Compute the no │ │ │ +000254d0: 726d 616c 2066 6f72 6d20 6f66 2074 6865 rmal form of the │ │ │ +000254e0: 2065 7870 7265 7373 696f 6e20 696e 2074 expression in t │ │ │ +000254f0: 6865 2067 6f61 6c20 6174 2070 6f69 6e74 he goal at point │ │ │ +00025500: 2e0a 0a57 6974 6820 7468 6520 7072 6566 ...With the pref │ │ │ +00025510: 6978 2061 7267 756d 656e 7420 6028 3429 ix argument `(4) │ │ │ +00025520: 2720 5c22 6162 7374 7261 6374 5c22 2069 ' \"abstract\" i │ │ │ +00025530: 7320 6967 6e6f 7265 6420 6475 7269 6e67 s ignored during │ │ │ +00025540: 2074 6865 0a63 6f6d 7075 7461 7469 6f6e the.computation │ │ │ +00025550: 2e0a 0a57 6974 6820 6120 7072 6566 6978 ...With a prefix │ │ │ +00025560: 2061 7267 756d 656e 7420 6028 3136 2927 argument `(16)' │ │ │ +00025570: 2074 6865 206e 6f72 6d61 6c20 666f 726d the normal form │ │ │ +00025580: 206f 660a 5c22 7368 6f77 203c 6578 7072 of.\"show \" is com │ │ │ +000255a0: 7075 7465 642c 2061 6e64 2074 6865 6e20 puted, and then │ │ │ +000255b0: 7468 6520 7265 7375 6c74 696e 6720 7374 the resulting st │ │ │ +000255c0: 7269 6e67 0a69 7320 7072 696e 7465 642e ring.is printed. │ │ │ +000255d0: 0a0a 5769 7468 2061 6e79 206f 7468 6572 ..With any other │ │ │ +000255e0: 2070 7265 6669 7820 7468 6520 6865 6164 prefix the head │ │ │ +000255f0: 206e 6f72 6d61 6c20 666f 726d 2069 7320 normal form is │ │ │ +00025600: 636f 6d70 7574 6564 2e22 0a20 2028 696e computed.". (in │ │ │ +00025610: 7465 7261 6374 6976 6520 2250 2229 0a20 teractive "P"). │ │ │ +00025620: 2028 6c65 7420 2828 636d 6420 2863 6f6e (let ((cmd (con │ │ │ +00025630: 6361 7420 2243 6d64 5f63 6f6d 7075 7465 cat "Cmd_compute │ │ │ +00025640: 220a 2020 2020 2020 2020 2020 2020 2020 ". │ │ │ +00025650: 2020 2020 2020 2020 2863 6f6e 6420 2828 (cond (( │ │ │ +00025660: 6571 7561 6c20 6172 6720 6e69 6c29 2022 equal arg nil) " │ │ │ +00025670: 2044 6566 6175 6c74 436f 6d70 7574 6522 DefaultCompute" │ │ │ +00025680: 290a 2020 2020 2020 2020 2020 2020 2020 ). │ │ │ +00025690: 2020 2020 2020 2020 2020 2020 2020 2828 (( │ │ │ +000256a0: 6571 7561 6c20 6172 6720 2728 3429 2920 equal arg '(4)) │ │ │ +000256b0: 2220 4967 6e6f 7265 4162 7374 7261 6374 " IgnoreAbstract │ │ │ +000256c0: 2229 0a20 2020 2020 2020 2020 2020 2020 "). │ │ │ +000256d0: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ +000256e0: 2865 7175 616c 2061 7267 2027 2831 3629 (equal arg '(16) │ │ │ +000256f0: 2920 2220 5573 6553 686f 7749 6e73 7461 ) " UseShowInsta │ │ │ +00025700: 6e63 6522 290a 2020 2020 2020 2020 2020 nce"). │ │ │ 00025710: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00025720: 2028 2220 4865 6164 436f 6d70 7574 6522 (" HeadCompute" │ │ │ -00025730: 2929 2929 290a 2020 2020 2861 6764 6132 ))))). (agda2 │ │ │ -00025740: 2d67 6f61 6c2d 636d 6420 636d 6420 6e69 -goal-cmd cmd ni │ │ │ -00025750: 6c20 2265 7870 7265 7373 696f 6e20 746f l "expression to │ │ │ -00025760: 206e 6f72 6d61 6c69 7365 2229 2929 0a0a normalise"))).. │ │ │ -00025770: 2864 6566 756e 2061 6764 6132 2d63 6f6d (defun agda2-com │ │ │ -00025780: 7075 7465 2d6e 6f72 6d61 6c69 7365 642d pute-normalised- │ │ │ -00025790: 746f 706c 6576 656c 2028 6578 7072 2026 toplevel (expr & │ │ │ -000257a0: 6f70 7469 6f6e 616c 2061 7267 290a 2020 optional arg). │ │ │ -000257b0: 2243 6f6d 7075 7465 2074 6865 206e 6f72 "Compute the nor │ │ │ -000257c0: 6d61 6c20 666f 726d 206f 6620 7468 6520 mal form of the │ │ │ -000257d0: 6769 7665 6e20 6578 7072 6573 7369 6f6e given expression │ │ │ -000257e0: 2e0a 5468 6520 7363 6f70 6520 7573 6564 ..The scope used │ │ │ -000257f0: 2066 6f72 2074 6865 2065 7870 7265 7373 for the express │ │ │ -00025800: 696f 6e20 6973 2074 6861 7420 6f66 2074 ion is that of t │ │ │ -00025810: 6865 206c 6173 7420 706f 696e 740a 696e he last point.in │ │ │ -00025820: 7369 6465 2074 6865 2063 7572 7265 6e74 side the current │ │ │ -00025830: 2074 6f70 2d6c 6576 656c 206d 6f64 756c top-level modul │ │ │ -00025840: 652e 0a0a 5769 7468 2061 2070 7265 6669 e...With a prefi │ │ │ -00025850: 7820 6172 6775 6d65 6e74 2064 6973 7469 x argument disti │ │ │ -00025860: 6e63 7420 6672 6f6d 2060 2834 2927 2074 nct from `(4)' t │ │ │ -00025870: 6865 206e 6f72 6d61 6c20 666f 726d 206f he normal form o │ │ │ -00025880: 660a 5c22 7368 6f77 203c 6578 7072 6573 f.\"show \" is compu │ │ │ -000258a0: 7465 642c 2061 6e64 2074 6865 6e20 7468 ted, and then th │ │ │ -000258b0: 6520 7265 7375 6c74 696e 6720 7374 7269 e resulting stri │ │ │ -000258c0: 6e67 0a69 7320 7072 696e 7465 642e 0a0a ng.is printed... │ │ │ -000258d0: 5769 7468 2074 6865 2070 7265 6669 7820 With the prefix │ │ │ -000258e0: 6172 6775 6d65 6e74 2060 2834 2927 205c argument `(4)' \ │ │ │ -000258f0: 2261 6273 7472 6163 745c 2220 6973 2069 "abstract\" is i │ │ │ -00025900: 676e 6f72 6564 2064 7572 696e 6720 7468 gnored during th │ │ │ -00025910: 650a 636f 6d70 7574 6174 696f 6e2e 220a e.computation.". │ │ │ -00025920: 2020 2869 6e74 6572 6163 7469 7665 2022 (interactive " │ │ │ -00025930: 4d45 7870 7265 7373 696f 6e3a 205c 6e50 MExpression: \nP │ │ │ -00025940: 2229 0a20 2028 6c65 7420 2828 636d 6420 "). (let ((cmd │ │ │ -00025950: 2863 6f6e 6361 7420 2243 6d64 5f63 6f6d (concat "Cmd_com │ │ │ -00025960: 7075 7465 5f74 6f70 6c65 7665 6c22 0a20 pute_toplevel". │ │ │ +00025720: 2020 2822 2048 6561 6443 6f6d 7075 7465 (" HeadCompute │ │ │ +00025730: 2229 2929 2929 0a20 2020 2028 6167 6461 "))))). (agda │ │ │ +00025740: 322d 676f 616c 2d63 6d64 2063 6d64 206e 2-goal-cmd cmd n │ │ │ +00025750: 696c 2022 6578 7072 6573 7369 6f6e 2074 il "expression t │ │ │ +00025760: 6f20 6e6f 726d 616c 6973 6522 2929 290a o normalise"))). │ │ │ +00025770: 0a28 6465 6675 6e20 6167 6461 322d 636f .(defun agda2-co │ │ │ +00025780: 6d70 7574 652d 6e6f 726d 616c 6973 6564 mpute-normalised │ │ │ +00025790: 2d74 6f70 6c65 7665 6c20 2865 7870 7220 -toplevel (expr │ │ │ +000257a0: 266f 7074 696f 6e61 6c20 6172 6729 0a20 &optional arg). │ │ │ +000257b0: 2022 436f 6d70 7574 6520 7468 6520 6e6f "Compute the no │ │ │ +000257c0: 726d 616c 2066 6f72 6d20 6f66 2074 6865 rmal form of the │ │ │ +000257d0: 2067 6976 656e 2065 7870 7265 7373 696f given expressio │ │ │ +000257e0: 6e2e 0a54 6865 2073 636f 7065 2075 7365 n..The scope use │ │ │ +000257f0: 6420 666f 7220 7468 6520 6578 7072 6573 d for the expres │ │ │ +00025800: 7369 6f6e 2069 7320 7468 6174 206f 6620 sion is that of │ │ │ +00025810: 7468 6520 6c61 7374 2070 6f69 6e74 0a69 the last point.i │ │ │ +00025820: 6e73 6964 6520 7468 6520 6375 7272 656e nside the curren │ │ │ +00025830: 7420 746f 702d 6c65 7665 6c20 6d6f 6475 t top-level modu │ │ │ +00025840: 6c65 2e0a 0a57 6974 6820 6120 7072 6566 le...With a pref │ │ │ +00025850: 6978 2061 7267 756d 656e 7420 6469 7374 ix argument dist │ │ │ +00025860: 696e 6374 2066 726f 6d20 6028 3429 2720 inct from `(4)' │ │ │ +00025870: 7468 6520 6e6f 726d 616c 2066 6f72 6d20 the normal form │ │ │ +00025880: 6f66 0a5c 2273 686f 7720 3c65 7870 7265 of.\"show \" is comp │ │ │ +000258a0: 7574 6564 2c20 616e 6420 7468 656e 2074 uted, and then t │ │ │ +000258b0: 6865 2072 6573 756c 7469 6e67 2073 7472 he resulting str │ │ │ +000258c0: 696e 670a 6973 2070 7269 6e74 6564 2e0a ing.is printed.. │ │ │ +000258d0: 0a57 6974 6820 7468 6520 7072 6566 6978 .With the prefix │ │ │ +000258e0: 2061 7267 756d 656e 7420 6028 3429 2720 argument `(4)' │ │ │ +000258f0: 5c22 6162 7374 7261 6374 5c22 2069 7320 \"abstract\" is │ │ │ +00025900: 6967 6e6f 7265 6420 6475 7269 6e67 2074 ignored during t │ │ │ +00025910: 6865 0a63 6f6d 7075 7461 7469 6f6e 2e22 he.computation." │ │ │ +00025920: 0a20 2028 696e 7465 7261 6374 6976 6520 . (interactive │ │ │ +00025930: 224d 4578 7072 6573 7369 6f6e 3a20 5c6e "MExpression: \n │ │ │ +00025940: 5022 290a 2020 286c 6574 2028 2863 6d64 P"). (let ((cmd │ │ │ +00025950: 2028 636f 6e63 6174 2022 436d 645f 636f (concat "Cmd_co │ │ │ +00025960: 6d70 7574 655f 746f 706c 6576 656c 220a mpute_toplevel". │ │ │ 00025970: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00025980: 2020 2020 2863 6f6e 6420 2828 6571 7561 (cond ((equa │ │ │ -00025990: 6c20 6172 6720 6e69 6c29 2022 2044 6566 l arg nil) " Def │ │ │ -000259a0: 6175 6c74 436f 6d70 7574 6522 290a 2020 aultCompute"). │ │ │ +00025980: 2020 2020 2028 636f 6e64 2028 2865 7175 (cond ((equ │ │ │ +00025990: 616c 2061 7267 206e 696c 2920 2220 4465 al arg nil) " De │ │ │ +000259a0: 6661 756c 7443 6f6d 7075 7465 2229 0a20 faultCompute"). │ │ │ 000259b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -000259c0: 2020 2020 2020 2020 2020 2828 6571 7561 ((equa │ │ │ -000259d0: 6c20 6172 6720 2728 3429 2920 2220 4967 l arg '(4)) " Ig │ │ │ -000259e0: 6e6f 7265 4162 7374 7261 6374 2229 0a20 noreAbstract"). │ │ │ +000259c0: 2020 2020 2020 2020 2020 2028 2865 7175 ((equ │ │ │ +000259d0: 616c 2061 7267 2027 2834 2929 2022 2049 al arg '(4)) " I │ │ │ +000259e0: 676e 6f72 6541 6273 7472 6163 7422 290a gnoreAbstract"). │ │ │ 000259f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00025a00: 2020 2020 2020 2020 2020 2028 2865 7175 ((equ │ │ │ -00025a10: 616c 2061 7267 2027 2831 3629 2920 2220 al arg '(16)) " │ │ │ -00025a20: 5573 6553 686f 7749 6e73 7461 6e63 6522 UseShowInstance" │ │ │ -00025a30: 290a 2020 2020 2020 2020 2020 2020 2020 ). │ │ │ -00025a40: 2020 2020 2020 2020 2020 2020 2020 2822 (" │ │ │ -00025a50: 2048 6561 6443 6f6d 7075 7465 2229 2920 HeadCompute")) │ │ │ -00025a60: 2220 2229 2929 0a20 2020 2028 6167 6461 " "))). (agda │ │ │ -00025a70: 322d 676f 206e 696c 2074 2027 6275 7379 2-go nil t 'busy │ │ │ -00025a80: 2074 0a20 2020 2020 2020 2020 2020 2020 t. │ │ │ -00025a90: 2028 636f 6e63 6174 2063 6d64 2028 6167 (concat cmd (ag │ │ │ -00025aa0: 6461 322d 7374 7269 6e67 2d71 756f 7465 da2-string-quote │ │ │ -00025ab0: 2065 7870 7229 2929 2929 0a0a 2864 6566 expr)))))..(def │ │ │ -00025ac0: 756e 2061 6764 6132 2d63 6f6d 7075 7465 un agda2-compute │ │ │ -00025ad0: 2d6e 6f72 6d61 6c69 7365 642d 6d61 7962 -normalised-mayb │ │ │ -00025ae0: 652d 746f 706c 6576 656c 2028 290a 2020 e-toplevel (). │ │ │ -00025af0: 2243 6f6d 7075 7465 2074 6865 206e 6f72 "Compute the nor │ │ │ -00025b00: 6d61 6c20 666f 726d 206f 6620 7468 6520 mal form of the │ │ │ -00025b10: 6769 7665 6e20 6578 7072 6573 7369 6f6e given expression │ │ │ -00025b20: 2e0a 5468 6520 7363 6f70 6520 7573 6564 ..The scope used │ │ │ -00025b30: 2066 6f72 2074 6865 2065 7870 7265 7373 for the express │ │ │ -00025b40: 696f 6e20 6973 2074 6861 7420 6f66 2074 ion is that of t │ │ │ -00025b50: 6865 206c 6173 7420 706f 696e 740a 696e he last point.in │ │ │ -00025b60: 7369 6465 2074 6865 2063 7572 7265 6e74 side the current │ │ │ -00025b70: 2074 6f70 2d6c 6576 656c 206d 6f64 756c top-level modul │ │ │ -00025b80: 652e 0a0a 5769 7468 2061 2070 7265 6669 e...With a prefi │ │ │ -00025b90: 7820 6172 6775 6d65 6e74 2064 6973 7469 x argument disti │ │ │ -00025ba0: 6e63 7420 6672 6f6d 2060 2834 2927 2074 nct from `(4)' t │ │ │ -00025bb0: 6865 206e 6f72 6d61 6c20 666f 726d 206f he normal form o │ │ │ -00025bc0: 660a 5c22 7368 6f77 203c 6578 7072 6573 f.\"show \" is compu │ │ │ -00025be0: 7465 642c 2061 6e64 2074 6865 6e20 7468 ted, and then th │ │ │ -00025bf0: 6520 7265 7375 6c74 696e 6720 7374 7269 e resulting stri │ │ │ -00025c00: 6e67 0a69 7320 7072 696e 7465 642e 0a0a ng.is printed... │ │ │ -00025c10: 5769 7468 2074 6865 2070 7265 6669 7820 With the prefix │ │ │ -00025c20: 6172 6775 6d65 6e74 2060 2834 2927 205c argument `(4)' \ │ │ │ -00025c30: 2261 6273 7472 6163 745c 2220 6973 2069 "abstract\" is i │ │ │ -00025c40: 676e 6f72 6564 2064 7572 696e 6720 7468 gnored during th │ │ │ -00025c50: 650a 636f 6d70 7574 6174 696f 6e2e 220a e.computation.". │ │ │ -00025c60: 2020 2869 6e74 6572 6163 7469 7665 290a (interactive). │ │ │ -00025c70: 2020 2869 6620 2861 6764 6132 2d67 6f61 (if (agda2-goa │ │ │ -00025c80: 6c2d 6174 2028 706f 696e 7429 290a 2020 l-at (point)). │ │ │ -00025c90: 2020 2020 2863 616c 6c2d 696e 7465 7261 (call-intera │ │ │ -00025ca0: 6374 6976 656c 7920 2761 6764 6132 2d63 ctively 'agda2-c │ │ │ -00025cb0: 6f6d 7075 7465 2d6e 6f72 6d61 6c69 7365 ompute-normalise │ │ │ -00025cc0: 6429 0a20 2020 2028 6361 6c6c 2d69 6e74 d). (call-int │ │ │ -00025cd0: 6572 6163 7469 7665 6c79 2027 6167 6461 eractively 'agda │ │ │ -00025ce0: 322d 636f 6d70 7574 652d 6e6f 726d 616c 2-compute-normal │ │ │ -00025cf0: 6973 6564 2d74 6f70 6c65 7665 6c29 2929 ised-toplevel))) │ │ │ -00025d00: 0a0a 2864 6566 756e 2061 6764 6132 2d64 ..(defun agda2-d │ │ │ -00025d10: 6973 706c 6179 2d70 726f 6772 616d 2d76 isplay-program-v │ │ │ -00025d20: 6572 7369 6f6e 2028 290a 2020 2244 6973 ersion (). "Dis │ │ │ -00025d30: 706c 6179 2076 6572 7369 6f6e 206f 6620 play version of │ │ │ -00025d40: 4167 6461 220a 2020 2869 6e74 6572 6163 Agda". (interac │ │ │ -00025d50: 7469 7665 290a 2020 2861 6764 6132 2d67 tive). (agda2-g │ │ │ -00025d60: 6f20 6e69 6c20 6e69 6c20 2762 7573 7920 o nil nil 'busy │ │ │ -00025d70: 7420 2243 6d64 5f73 686f 775f 7665 7273 t "Cmd_show_vers │ │ │ -00025d80: 696f 6e22 2929 0a0a 3b3b 3b3b 3b3b 3b3b ion"))..;;;;;;;; │ │ │ +00025a00: 2020 2020 2020 2020 2020 2020 2828 6571 ((eq │ │ │ +00025a10: 7561 6c20 6172 6720 2728 3136 2929 2022 ual arg '(16)) " │ │ │ +00025a20: 2055 7365 5368 6f77 496e 7374 616e 6365 UseShowInstance │ │ │ +00025a30: 2229 0a20 2020 2020 2020 2020 2020 2020 "). │ │ │ +00025a40: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ +00025a50: 2220 4865 6164 436f 6d70 7574 6522 2929 " HeadCompute")) │ │ │ +00025a60: 2022 2022 2929 290a 2020 2020 2861 6764 " "))). (agd │ │ │ +00025a70: 6132 2d67 6f20 6e69 6c20 7420 2762 7573 a2-go nil t 'bus │ │ │ +00025a80: 7920 740a 2020 2020 2020 2020 2020 2020 y t. │ │ │ +00025a90: 2020 2863 6f6e 6361 7420 636d 6420 2861 (concat cmd (a │ │ │ +00025aa0: 6764 6132 2d73 7472 696e 672d 7175 6f74 gda2-string-quot │ │ │ +00025ab0: 6520 6578 7072 2929 2929 290a 0a28 6465 e expr)))))..(de │ │ │ +00025ac0: 6675 6e20 6167 6461 322d 636f 6d70 7574 fun agda2-comput │ │ │ +00025ad0: 652d 6e6f 726d 616c 6973 6564 2d6d 6179 e-normalised-may │ │ │ +00025ae0: 6265 2d74 6f70 6c65 7665 6c20 2829 0a20 be-toplevel (). │ │ │ +00025af0: 2022 436f 6d70 7574 6520 7468 6520 6e6f "Compute the no │ │ │ +00025b00: 726d 616c 2066 6f72 6d20 6f66 2074 6865 rmal form of the │ │ │ +00025b10: 2067 6976 656e 2065 7870 7265 7373 696f given expressio │ │ │ +00025b20: 6e2e 0a54 6865 2073 636f 7065 2075 7365 n..The scope use │ │ │ +00025b30: 6420 666f 7220 7468 6520 6578 7072 6573 d for the expres │ │ │ +00025b40: 7369 6f6e 2069 7320 7468 6174 206f 6620 sion is that of │ │ │ +00025b50: 7468 6520 6c61 7374 2070 6f69 6e74 0a69 the last point.i │ │ │ +00025b60: 6e73 6964 6520 7468 6520 6375 7272 656e nside the curren │ │ │ +00025b70: 7420 746f 702d 6c65 7665 6c20 6d6f 6475 t top-level modu │ │ │ +00025b80: 6c65 2e0a 0a57 6974 6820 6120 7072 6566 le...With a pref │ │ │ +00025b90: 6978 2061 7267 756d 656e 7420 6469 7374 ix argument dist │ │ │ +00025ba0: 696e 6374 2066 726f 6d20 6028 3429 2720 inct from `(4)' │ │ │ +00025bb0: 7468 6520 6e6f 726d 616c 2066 6f72 6d20 the normal form │ │ │ +00025bc0: 6f66 0a5c 2273 686f 7720 3c65 7870 7265 of.\"show \" is comp │ │ │ +00025be0: 7574 6564 2c20 616e 6420 7468 656e 2074 uted, and then t │ │ │ +00025bf0: 6865 2072 6573 756c 7469 6e67 2073 7472 he resulting str │ │ │ +00025c00: 696e 670a 6973 2070 7269 6e74 6564 2e0a ing.is printed.. │ │ │ +00025c10: 0a57 6974 6820 7468 6520 7072 6566 6978 .With the prefix │ │ │ +00025c20: 2061 7267 756d 656e 7420 6028 3429 2720 argument `(4)' │ │ │ +00025c30: 5c22 6162 7374 7261 6374 5c22 2069 7320 \"abstract\" is │ │ │ +00025c40: 6967 6e6f 7265 6420 6475 7269 6e67 2074 ignored during t │ │ │ +00025c50: 6865 0a63 6f6d 7075 7461 7469 6f6e 2e22 he.computation." │ │ │ +00025c60: 0a20 2028 696e 7465 7261 6374 6976 6529 . (interactive) │ │ │ +00025c70: 0a20 2028 6966 2028 6167 6461 322d 676f . (if (agda2-go │ │ │ +00025c80: 616c 2d61 7420 2870 6f69 6e74 2929 0a20 al-at (point)). │ │ │ +00025c90: 2020 2020 2028 6361 6c6c 2d69 6e74 6572 (call-inter │ │ │ +00025ca0: 6163 7469 7665 6c79 2027 6167 6461 322d actively 'agda2- │ │ │ +00025cb0: 636f 6d70 7574 652d 6e6f 726d 616c 6973 compute-normalis │ │ │ +00025cc0: 6564 290a 2020 2020 2863 616c 6c2d 696e ed). (call-in │ │ │ +00025cd0: 7465 7261 6374 6976 656c 7920 2761 6764 teractively 'agd │ │ │ +00025ce0: 6132 2d63 6f6d 7075 7465 2d6e 6f72 6d61 a2-compute-norma │ │ │ +00025cf0: 6c69 7365 642d 746f 706c 6576 656c 2929 lised-toplevel)) │ │ │ +00025d00: 290a 0a28 6465 6675 6e20 6167 6461 322d )..(defun agda2- │ │ │ +00025d10: 6469 7370 6c61 792d 7072 6f67 7261 6d2d display-program- │ │ │ +00025d20: 7665 7273 696f 6e20 2829 0a20 2022 4469 version (). "Di │ │ │ +00025d30: 7370 6c61 7920 7665 7273 696f 6e20 6f66 splay version of │ │ │ +00025d40: 2041 6764 6122 0a20 2028 696e 7465 7261 Agda". (intera │ │ │ +00025d50: 6374 6976 6529 0a20 2028 6167 6461 322d ctive). (agda2- │ │ │ +00025d60: 676f 206e 696c 206e 696c 2027 6275 7379 go nil nil 'busy │ │ │ +00025d70: 2074 2022 436d 645f 7368 6f77 5f76 6572 t "Cmd_show_ver │ │ │ +00025d80: 7369 6f6e 2229 290a 0a3b 3b3b 3b3b 3b3b sion"))..;;;;;;; │ │ │ 00025d90: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00025da0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00025db0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00025dc0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ -00025dd0: 0a3b 3b3b 3b0a 0a28 6465 6675 6e20 6167 .;;;;..(defun ag │ │ │ -00025de0: 6461 322d 6869 6768 6c69 6768 742d 7265 da2-highlight-re │ │ │ -00025df0: 6c6f 6164 206e 696c 0a20 2022 4c6f 6164 load nil. "Load │ │ │ -00025e00: 7320 7072 6563 6f6d 7075 7465 6420 7379 s precomputed sy │ │ │ -00025e10: 6e74 6178 2068 6967 686c 6967 6874 696e ntax highlightin │ │ │ -00025e20: 6720 696e 666f 2066 6f72 2074 6865 2063 g info for the c │ │ │ -00025e30: 7572 7265 6e74 2062 7566 6665 722e 0a4f urrent buffer..O │ │ │ -00025e40: 6e6c 7920 6966 2074 6865 2062 7566 6665 nly if the buffe │ │ │ -00025e50: 7220 6973 2075 6e6d 6f64 6966 6965 642c r is unmodified, │ │ │ -00025e60: 2061 6e64 206f 6e6c 7920 6966 2074 6865 and only if the │ │ │ -00025e70: 7265 2069 7320 616e 7974 6869 6e67 2074 re is anything t │ │ │ -00025e80: 6f20 6c6f 6164 2e22 0a20 2875 6e6c 6573 o load.". (unles │ │ │ -00025e90: 7320 2862 7566 6665 722d 6d6f 6469 6669 s (buffer-modifi │ │ │ -00025ea0: 6564 2d70 290a 2020 2028 6167 6461 322d ed-p). (agda2- │ │ │ -00025eb0: 676f 206e 696c 2074 2027 6e6f 742d 736f go nil t 'not-so │ │ │ -00025ec0: 2d62 7573 7920 740a 2020 2020 2020 2020 -busy t. │ │ │ -00025ed0: 2020 2020 2022 436d 645f 6c6f 6164 5f68 "Cmd_load_h │ │ │ -00025ee0: 6967 686c 6967 6874 696e 675f 696e 666f ighlighting_info │ │ │ -00025ef0: 220a 2020 2020 2020 2020 2020 2020 2028 ". ( │ │ │ -00025f00: 6167 6461 322d 7374 7269 6e67 2d71 756f agda2-string-quo │ │ │ -00025f10: 7465 2028 6275 6666 6572 2d66 696c 652d te (buffer-file- │ │ │ -00025f20: 6e61 6d65 2929 2929 290a 0a28 6465 6675 name)))))..(defu │ │ │ -00025f30: 6e20 6167 6461 322d 6c69 7465 7261 7465 n agda2-literate │ │ │ -00025f40: 2d70 2028 290a 2020 2249 7320 7468 6520 -p (). "Is the │ │ │ -00025f50: 6375 7272 656e 7420 6275 6666 6572 2061 current buffer a │ │ │ -00025f60: 206c 6974 6572 6174 6520 4167 6461 2062 literate Agda b │ │ │ -00025f70: 7566 6665 723f 220a 2020 286e 6f74 2028 uffer?". (not ( │ │ │ -00025f80: 6571 7561 6c20 2866 696c 652d 6e61 6d65 equal (file-name │ │ │ -00025f90: 2d65 7874 656e 7369 6f6e 2028 6275 6666 -extension (buff │ │ │ -00025fa0: 6572 2d66 696c 652d 6e61 6d65 2929 2022 er-file-name)) " │ │ │ -00025fb0: 6167 6461 2229 2929 0a0a 2864 6566 6d61 agda")))..(defma │ │ │ -00025fc0: 6372 6f20 6167 6461 322d 2d63 6173 6520 cro agda2--case │ │ │ -00025fd0: 2865 7870 2026 7265 7374 2062 7261 6e63 (exp &rest branc │ │ │ -00025fe0: 6865 7329 203b 4649 584d 453a 2055 7365 hes) ;FIXME: Use │ │ │ -00025ff0: 2060 7063 6173 6527 2069 6e73 7465 6164 `pcase' instead │ │ │ -00026000: 210a 2020 2864 6563 6c61 7265 2028 6465 !. (declare (de │ │ │ -00026010: 6275 6720 7429 2028 696e 6465 6e74 2031 bug t) (indent 1 │ │ │ -00026020: 2929 0a20 2028 6c65 7420 2828 7320 286d )). (let ((s (m │ │ │ -00026030: 616b 652d 7379 6d62 6f6c 2022 7622 2929 ake-symbol "v")) │ │ │ -00026040: 290a 2020 2020 6028 6c65 7420 2828 2c73 ). `(let ((,s │ │ │ -00026050: 202c 6578 7029 290a 2020 2020 2020 2028 ,exp)). ( │ │ │ -00026060: 636f 6e64 0a20 2020 2020 2020 2020 2c40 cond. ,@ │ │ │ -00026070: 286d 6170 6361 7220 286c 616d 6264 6120 (mapcar (lambda │ │ │ -00026080: 2862 7261 6e63 6829 0a20 2020 2020 2020 (branch). │ │ │ -00026090: 2020 2020 2020 2020 2020 2020 2020 6028 `( │ │ │ -000260a0: 2865 7175 616c 202c 7320 2c28 6361 7220 (equal ,s ,(car │ │ │ -000260b0: 6272 616e 6368 2929 202c 4028 6364 7220 branch)) ,@(cdr │ │ │ -000260c0: 6272 616e 6368 2929 290a 2020 2020 2020 branch))). │ │ │ -000260d0: 2020 2020 2020 2020 2020 2020 2062 7261 bra │ │ │ -000260e0: 6e63 6865 7329 2929 2929 0a0a 2864 6566 nches)))))..(def │ │ │ -000260f0: 756e 2061 6764 6132 2d67 6f61 6c73 2d61 un agda2-goals-a │ │ │ -00026100: 6374 696f 6e20 2867 6f61 6c73 290a 2020 ction (goals). │ │ │ -00026110: 2241 6e6e 6f74 6174 6573 2074 6865 2067 "Annotates the g │ │ │ -00026120: 6f61 6c73 2069 6e20 7468 6520 6375 7272 oals in the curr │ │ │ -00026130: 656e 7420 6275 6666 6572 2077 6974 6820 ent buffer with │ │ │ -00026140: 7465 7874 2070 726f 7065 7274 6965 732e text properties. │ │ │ -00026150: 0a47 4f41 4c53 2069 7320 6120 6c69 7374 .GOALS is a list │ │ │ -00026160: 206f 6620 7468 6520 6275 6666 6572 2773 of the buffer's │ │ │ -00026170: 2067 6f61 6c20 6e75 6d62 6572 732c 2069 goal numbers, i │ │ │ -00026180: 6e20 7468 6520 6f72 6465 7220 696e 0a77 n the order in.w │ │ │ -00026190: 6869 6368 2074 6865 7920 6170 7065 6172 hich they appear │ │ │ -000261a0: 2069 6e20 7468 6520 6275 6666 6572 2e20 in the buffer. │ │ │ -000261b0: 4e6f 7465 2074 6861 7420 7468 6973 2066 Note that this f │ │ │ -000261c0: 756e 6374 696f 6e20 7368 6f75 6c64 0a62 unction should.b │ │ │ -000261d0: 6520 7275 6e20 2f61 6674 6572 2f20 7379 e run /after/ sy │ │ │ -000261e0: 6e74 6178 2068 6967 686c 6967 6874 696e ntax highlightin │ │ │ -000261f0: 6720 696e 666f 726d 6174 696f 6e20 6861 g information ha │ │ │ -00026200: 7320 6265 656e 206c 6f61 6465 642c 0a62 s been loaded,.b │ │ │ -00026210: 6563 6175 7365 2074 6865 2074 776f 2068 ecause the two h │ │ │ -00026220: 6967 686c 6967 6874 696e 6720 6d65 6368 ighlighting mech │ │ │ -00026230: 616e 6973 6d73 2069 6e74 6572 6163 7420 anisms interact │ │ │ -00026240: 696e 2075 6e66 6f72 7475 6e61 7465 0a77 in unfortunate.w │ │ │ -00026250: 6179 732e 220a 2020 2861 6764 6132 2d66 ays.". (agda2-f │ │ │ -00026260: 6f72 6765 742d 616c 6c2d 676f 616c 7329 orget-all-goals) │ │ │ -00026270: 0a20 2028 6167 6461 322d 6c65 740a 2020 . (agda2-let. │ │ │ -00026280: 2020 2020 2828 6c69 7465 7261 7465 2028 ((literate ( │ │ │ -00026290: 6167 6461 322d 6c69 7465 7261 7465 2d70 agda2-literate-p │ │ │ -000262a0: 2929 0a20 2020 2020 2020 7374 6b0a 2020 )). stk. │ │ │ -000262b0: 2020 2020 2074 6f70 0a20 2020 2020 2020 top. │ │ │ -000262c0: 3b3b 2044 6f6e 2774 2072 756e 206d 6f64 ;; Don't run mod │ │ │ -000262d0: 6966 6963 6174 696f 6e20 686f 6f6b 733a ification hooks: │ │ │ -000262e0: 2077 6520 646f 6e27 7420 7761 6e74 2074 we don't want t │ │ │ -000262f0: 6869 7320 6675 6e63 7469 6f6e 2074 6f0a his function to. │ │ │ -00026300: 2020 2020 2020 203b 3b20 7472 6967 6765 ;; trigge │ │ │ -00026310: 7220 6167 6461 322d 6162 6f72 742d 6869 r agda2-abort-hi │ │ │ -00026320: 6768 6c69 6768 7469 6e67 2e0a 2020 2020 ghlighting.. │ │ │ -00026330: 2020 2028 696e 6869 6269 742d 6d6f 6469 (inhibit-modi │ │ │ -00026340: 6669 6361 7469 6f6e 2d68 6f6f 6b73 2074 fication-hooks t │ │ │ -00026350: 2929 0a20 2020 2020 2028 2864 656c 696d )). ((delim │ │ │ -00026360: 7328 2920 2872 652d 7365 6172 6368 2d66 s() (re-search-f │ │ │ -00026370: 6f72 7761 7264 2022 5b3f 5d5c 5c7c 5b7b orward "[?]\\|[{ │ │ │ -00026380: 5d5b 2d21 5d5c 5c7c 5b2d 215d 5b7d 5d5c ][-!]\\|[-!][}]\ │ │ │ -00026390: 5c7c 2d2d 5c5c 7c5e 252e 2a5c 5c5c 5c62 \|--\\|^%.*\\\\b │ │ │ -000263a0: 6567 696e 7b63 6f64 657d 5c5c 7c5c 5c5c egin{code}\\|\\\ │ │ │ -000263b0: 5c62 6567 696e 7b63 6f64 657d 5c5c 7c5c \begin{code}\\|\ │ │ │ -000263c0: 5c5c 5c65 6e64 7b63 6f64 657d 5c5c 7c60 \\\end{code}\\|` │ │ │ -000263d0: 6060 5c5c 7c5c 5c23 5c5c 2b62 6567 696e ``\\|\\#\\+begin │ │ │ -000263e0: 5f73 7263 2061 6764 6132 5c5c 7c5c 5c23 _src agda2\\|\\# │ │ │ -000263f0: 5c5c 2b65 6e64 5f73 7263 2220 6e69 6c20 \\+end_src" nil │ │ │ -00026400: 7429 290a 2020 2020 2020 203b 3b20 6973 t)). ;; is │ │ │ -00026410: 2d70 726f 7065 7220 6368 6563 6b73 2077 -proper checks w │ │ │ -00026420: 6865 7468 6572 2073 7472 696e 6720 7320 hether string s │ │ │ -00026430: 2865 2e67 2e20 223f 2220 6f72 2022 2d2d (e.g. "?" or "-- │ │ │ -00026440: 2229 2069 7320 7072 6f70 6572 0a20 2020 ") is proper. │ │ │ -00026450: 2020 2020 3b3b 2069 2e65 2e2c 2069 7320 ;; i.e., is │ │ │ -00026460: 6e6f 7420 7061 7274 206f 6620 616e 2069 not part of an i │ │ │ -00026470: 6465 6e74 6966 6965 722e 0a20 2020 2020 dentifier.. │ │ │ -00026480: 2020 3b3b 2063 6f6d 6d65 6e74 2d73 7461 ;; comment-sta │ │ │ -00026490: 7274 6572 2069 7320 7472 7565 2069 6620 rter is true if │ │ │ -000264a0: 7320 7374 6172 7473 2061 2063 6f6d 6d65 s starts a comme │ │ │ -000264b0: 6e74 2028 652e 672e 2022 2d2d 2229 0a20 nt (e.g. "--"). │ │ │ -000264c0: 2020 2020 2020 2869 732d 7072 6f70 6572 (is-proper │ │ │ -000264d0: 2028 7320 636f 6d6d 656e 742d 7374 6172 (s comment-star │ │ │ -000264e0: 7465 7229 0a20 2020 2020 2020 2020 2028 ter). ( │ │ │ -000264f0: 7361 7665 2d65 7863 7572 7369 6f6e 0a20 save-excursion. │ │ │ -00026500: 2020 2020 2020 2020 2020 2028 7361 7665 (save │ │ │ -00026510: 2d6d 6174 6368 2d64 6174 610a 2020 2020 -match-data. │ │ │ -00026520: 2020 2020 2020 2020 2020 2862 6163 6b77 (backw │ │ │ -00026530: 6172 642d 6368 6172 2028 6c65 6e67 7468 ard-char (length │ │ │ -00026540: 2073 2929 0a20 2020 2020 2020 2020 2020 s)). │ │ │ -00026550: 2020 2028 756e 6c65 7373 2028 626f 6c70 (unless (bolp │ │ │ -00026560: 2920 2862 6163 6b77 6172 642d 6368 6172 ) (backward-char │ │ │ -00026570: 2031 2929 2020 3b3b 2062 6f6c 7020 3d20 1)) ;; bolp = │ │ │ -00026580: 706f 696e 7465 7220 6174 2062 6567 696e pointer at begin │ │ │ -00026590: 6e69 6e67 206f 6620 6c69 6e65 0a20 2020 ning of line. │ │ │ -000265a0: 2020 2020 2020 2020 2020 203b 3b20 416e ;; An │ │ │ -000265b0: 6472 6561 732c 2032 3031 342d 3035 2d31 dreas, 2014-05-1 │ │ │ -000265c0: 3720 4973 7375 6520 3131 3332 0a20 2020 7 Issue 1132. │ │ │ -000265d0: 2020 2020 2020 2020 2020 203b 3b20 4120 ;; A │ │ │ -000265e0: 7175 6573 7469 6f6e 6d61 726b 2063 616e questionmark can │ │ │ -000265f0: 2061 6c73 6f20 666f 6c6c 6f77 2069 6d6d also follow imm │ │ │ -00026600: 6564 6961 7465 6c79 2061 6674 6572 2061 ediately after a │ │ │ -00026610: 202e 0a20 2020 2020 2020 2020 2020 2020 .. │ │ │ -00026620: 203b 3b20 666f 7220 696e 7374 616e 6365 ;; for instance │ │ │ -00026630: 2074 6f20 6265 2061 2070 6c61 6365 2068 to be a place h │ │ │ -00026640: 6f6c 6465 7220 666f 7220 6120 646f 7420 older for a dot │ │ │ -00026650: 7061 7474 6572 6e2e 0a20 2020 2020 2020 pattern.. │ │ │ -00026660: 2020 2020 2020 2028 6c6f 6f6b 696e 672d (looking- │ │ │ -00026670: 6174 2028 636f 6e63 6174 2022 5c5c 285b at (concat "\\([ │ │ │ -00026680: 2e7b 7d28 293b 5d5c 5c7c 5e5c 5c7c 5c5c .{}();]\\|^\\|\\ │ │ │ -00026690: 7320 5c5c 2922 2020 3b3b 205c 5c73 203d s \\)" ;; \\s = │ │ │ -000266a0: 2077 6869 7465 7370 6163 650a 2020 2020 whitespace. │ │ │ +00025dd0: 3b0a 3b3b 3b3b 0a0a 2864 6566 756e 2061 ;.;;;;..(defun a │ │ │ +00025de0: 6764 6132 2d68 6967 686c 6967 6874 2d72 gda2-highlight-r │ │ │ +00025df0: 656c 6f61 6420 6e69 6c0a 2020 224c 6f61 eload nil. "Loa │ │ │ +00025e00: 6473 2070 7265 636f 6d70 7574 6564 2073 ds precomputed s │ │ │ +00025e10: 796e 7461 7820 6869 6768 6c69 6768 7469 yntax highlighti │ │ │ +00025e20: 6e67 2069 6e66 6f20 666f 7220 7468 6520 ng info for the │ │ │ +00025e30: 6375 7272 656e 7420 6275 6666 6572 2e0a current buffer.. │ │ │ +00025e40: 4f6e 6c79 2069 6620 7468 6520 6275 6666 Only if the buff │ │ │ +00025e50: 6572 2069 7320 756e 6d6f 6469 6669 6564 er is unmodified │ │ │ +00025e60: 2c20 616e 6420 6f6e 6c79 2069 6620 7468 , and only if th │ │ │ +00025e70: 6572 6520 6973 2061 6e79 7468 696e 6720 ere is anything │ │ │ +00025e80: 746f 206c 6f61 642e 220a 2028 756e 6c65 to load.". (unle │ │ │ +00025e90: 7373 2028 6275 6666 6572 2d6d 6f64 6966 ss (buffer-modif │ │ │ +00025ea0: 6965 642d 7029 0a20 2020 2861 6764 6132 ied-p). (agda2 │ │ │ +00025eb0: 2d67 6f20 6e69 6c20 7420 276e 6f74 2d73 -go nil t 'not-s │ │ │ +00025ec0: 6f2d 6275 7379 2074 0a20 2020 2020 2020 o-busy t. │ │ │ +00025ed0: 2020 2020 2020 2243 6d64 5f6c 6f61 645f "Cmd_load_ │ │ │ +00025ee0: 6869 6768 6c69 6768 7469 6e67 5f69 6e66 highlighting_inf │ │ │ +00025ef0: 6f22 0a20 2020 2020 2020 2020 2020 2020 o". │ │ │ +00025f00: 2861 6764 6132 2d73 7472 696e 672d 7175 (agda2-string-qu │ │ │ +00025f10: 6f74 6520 2862 7566 6665 722d 6669 6c65 ote (buffer-file │ │ │ +00025f20: 2d6e 616d 6529 2929 2929 0a0a 2864 6566 -name)))))..(def │ │ │ +00025f30: 756e 2061 6764 6132 2d6c 6974 6572 6174 un agda2-literat │ │ │ +00025f40: 652d 7020 2829 0a20 2022 4973 2074 6865 e-p (). "Is the │ │ │ +00025f50: 2063 7572 7265 6e74 2062 7566 6665 7220 current buffer │ │ │ +00025f60: 6120 6c69 7465 7261 7465 2041 6764 6120 a literate Agda │ │ │ +00025f70: 6275 6666 6572 3f22 0a20 2028 6e6f 7420 buffer?". (not │ │ │ +00025f80: 2865 7175 616c 2028 6669 6c65 2d6e 616d (equal (file-nam │ │ │ +00025f90: 652d 6578 7465 6e73 696f 6e20 2862 7566 e-extension (buf │ │ │ +00025fa0: 6665 722d 6669 6c65 2d6e 616d 6529 2920 fer-file-name)) │ │ │ +00025fb0: 2261 6764 6122 2929 290a 0a28 6465 666d "agda")))..(defm │ │ │ +00025fc0: 6163 726f 2061 6764 6132 2d2d 6361 7365 acro agda2--case │ │ │ +00025fd0: 2028 6578 7020 2672 6573 7420 6272 616e (exp &rest bran │ │ │ +00025fe0: 6368 6573 2920 3b46 4958 4d45 3a20 5573 ches) ;FIXME: Us │ │ │ +00025ff0: 6520 6070 6361 7365 2720 696e 7374 6561 e `pcase' instea │ │ │ +00026000: 6421 0a20 2028 6465 636c 6172 6520 2864 d!. (declare (d │ │ │ +00026010: 6562 7567 2074 2920 2869 6e64 656e 7420 ebug t) (indent │ │ │ +00026020: 3129 290a 2020 286c 6574 2028 2873 2028 1)). (let ((s ( │ │ │ +00026030: 6d61 6b65 2d73 796d 626f 6c20 2276 2229 make-symbol "v") │ │ │ +00026040: 2929 0a20 2020 2060 286c 6574 2028 282c )). `(let ((, │ │ │ +00026050: 7320 2c65 7870 2929 0a20 2020 2020 2020 s ,exp)). │ │ │ +00026060: 2863 6f6e 640a 2020 2020 2020 2020 202c (cond. , │ │ │ +00026070: 4028 6d61 7063 6172 2028 6c61 6d62 6461 @(mapcar (lambda │ │ │ +00026080: 2028 6272 616e 6368 290a 2020 2020 2020 (branch). │ │ │ +00026090: 2020 2020 2020 2020 2020 2020 2020 2060 ` │ │ │ +000260a0: 2828 6571 7561 6c20 2c73 202c 2863 6172 ((equal ,s ,(car │ │ │ +000260b0: 2062 7261 6e63 6829 2920 2c40 2863 6472 branch)) ,@(cdr │ │ │ +000260c0: 2062 7261 6e63 6829 2929 0a20 2020 2020 branch))). │ │ │ +000260d0: 2020 2020 2020 2020 2020 2020 2020 6272 br │ │ │ +000260e0: 616e 6368 6573 2929 2929 290a 0a28 6465 anches)))))..(de │ │ │ +000260f0: 6675 6e20 6167 6461 322d 676f 616c 732d fun agda2-goals- │ │ │ +00026100: 6163 7469 6f6e 2028 676f 616c 7329 0a20 action (goals). │ │ │ +00026110: 2022 416e 6e6f 7461 7465 7320 7468 6520 "Annotates the │ │ │ +00026120: 676f 616c 7320 696e 2074 6865 2063 7572 goals in the cur │ │ │ +00026130: 7265 6e74 2062 7566 6665 7220 7769 7468 rent buffer with │ │ │ +00026140: 2074 6578 7420 7072 6f70 6572 7469 6573 text properties │ │ │ +00026150: 2e0a 474f 414c 5320 6973 2061 206c 6973 ..GOALS is a lis │ │ │ +00026160: 7420 6f66 2074 6865 2062 7566 6665 7227 t of the buffer' │ │ │ +00026170: 7320 676f 616c 206e 756d 6265 7273 2c20 s goal numbers, │ │ │ +00026180: 696e 2074 6865 206f 7264 6572 2069 6e0a in the order in. │ │ │ +00026190: 7768 6963 6820 7468 6579 2061 7070 6561 which they appea │ │ │ +000261a0: 7220 696e 2074 6865 2062 7566 6665 722e r in the buffer. │ │ │ +000261b0: 204e 6f74 6520 7468 6174 2074 6869 7320 Note that this │ │ │ +000261c0: 6675 6e63 7469 6f6e 2073 686f 756c 640a function should. │ │ │ +000261d0: 6265 2072 756e 202f 6166 7465 722f 2073 be run /after/ s │ │ │ +000261e0: 796e 7461 7820 6869 6768 6c69 6768 7469 yntax highlighti │ │ │ +000261f0: 6e67 2069 6e66 6f72 6d61 7469 6f6e 2068 ng information h │ │ │ +00026200: 6173 2062 6565 6e20 6c6f 6164 6564 2c0a as been loaded,. │ │ │ +00026210: 6265 6361 7573 6520 7468 6520 7477 6f20 because the two │ │ │ +00026220: 6869 6768 6c69 6768 7469 6e67 206d 6563 highlighting mec │ │ │ +00026230: 6861 6e69 736d 7320 696e 7465 7261 6374 hanisms interact │ │ │ +00026240: 2069 6e20 756e 666f 7274 756e 6174 650a in unfortunate. │ │ │ +00026250: 7761 7973 2e22 0a20 2028 6167 6461 322d ways.". (agda2- │ │ │ +00026260: 666f 7267 6574 2d61 6c6c 2d67 6f61 6c73 forget-all-goals │ │ │ +00026270: 290a 2020 2861 6764 6132 2d6c 6574 0a20 ). (agda2-let. │ │ │ +00026280: 2020 2020 2028 286c 6974 6572 6174 6520 ((literate │ │ │ +00026290: 2861 6764 6132 2d6c 6974 6572 6174 652d (agda2-literate- │ │ │ +000262a0: 7029 290a 2020 2020 2020 2073 746b 0a20 p)). stk. │ │ │ +000262b0: 2020 2020 2020 746f 700a 2020 2020 2020 top. │ │ │ +000262c0: 203b 3b20 446f 6e27 7420 7275 6e20 6d6f ;; Don't run mo │ │ │ +000262d0: 6469 6669 6361 7469 6f6e 2068 6f6f 6b73 dification hooks │ │ │ +000262e0: 3a20 7765 2064 6f6e 2774 2077 616e 7420 : we don't want │ │ │ +000262f0: 7468 6973 2066 756e 6374 696f 6e20 746f this function to │ │ │ +00026300: 0a20 2020 2020 2020 3b3b 2074 7269 6767 . ;; trigg │ │ │ +00026310: 6572 2061 6764 6132 2d61 626f 7274 2d68 er agda2-abort-h │ │ │ +00026320: 6967 686c 6967 6874 696e 672e 0a20 2020 ighlighting.. │ │ │ +00026330: 2020 2020 2869 6e68 6962 6974 2d6d 6f64 (inhibit-mod │ │ │ +00026340: 6966 6963 6174 696f 6e2d 686f 6f6b 7320 ification-hooks │ │ │ +00026350: 7429 290a 2020 2020 2020 2828 6465 6c69 t)). ((deli │ │ │ +00026360: 6d73 2829 2028 7265 2d73 6561 7263 682d ms() (re-search- │ │ │ +00026370: 666f 7277 6172 6420 225b 3f5d 5c5c 7c5b forward "[?]\\|[ │ │ │ +00026380: 7b5d 5b2d 215d 5c5c 7c5b 2d21 5d5b 7d5d {][-!]\\|[-!][}] │ │ │ +00026390: 5c5c 7c2d 2d5c 5c7c 5e25 2e2a 5c5c 5c5c \\|--\\|^%.*\\\\ │ │ │ +000263a0: 6265 6769 6e7b 636f 6465 7d5c 5c7c 5c5c begin{code}\\|\\ │ │ │ +000263b0: 5c5c 6265 6769 6e7b 636f 6465 7d5c 5c7c \\begin{code}\\| │ │ │ +000263c0: 5c5c 5c5c 656e 647b 636f 6465 7d5c 5c7c \\\\end{code}\\| │ │ │ +000263d0: 6060 605c 5c7c 5c5c 235c 5c2b 6265 6769 ```\\|\\#\\+begi │ │ │ +000263e0: 6e5f 7372 6320 6167 6461 325c 5c7c 5c5c n_src agda2\\|\\ │ │ │ +000263f0: 235c 5c2b 656e 645f 7372 6322 206e 696c #\\+end_src" nil │ │ │ +00026400: 2074 2929 0a20 2020 2020 2020 3b3b 2069 t)). ;; i │ │ │ +00026410: 732d 7072 6f70 6572 2063 6865 636b 7320 s-proper checks │ │ │ +00026420: 7768 6574 6865 7220 7374 7269 6e67 2073 whether string s │ │ │ +00026430: 2028 652e 672e 2022 3f22 206f 7220 222d (e.g. "?" or "- │ │ │ +00026440: 2d22 2920 6973 2070 726f 7065 720a 2020 -") is proper. │ │ │ +00026450: 2020 2020 203b 3b20 692e 652e 2c20 6973 ;; i.e., is │ │ │ +00026460: 206e 6f74 2070 6172 7420 6f66 2061 6e20 not part of an │ │ │ +00026470: 6964 656e 7469 6669 6572 2e0a 2020 2020 identifier.. │ │ │ +00026480: 2020 203b 3b20 636f 6d6d 656e 742d 7374 ;; comment-st │ │ │ +00026490: 6172 7465 7220 6973 2074 7275 6520 6966 arter is true if │ │ │ +000264a0: 2073 2073 7461 7274 7320 6120 636f 6d6d s starts a comm │ │ │ +000264b0: 656e 7420 2865 2e67 2e20 222d 2d22 290a ent (e.g. "--"). │ │ │ +000264c0: 2020 2020 2020 2028 6973 2d70 726f 7065 (is-prope │ │ │ +000264d0: 7220 2873 2063 6f6d 6d65 6e74 2d73 7461 r (s comment-sta │ │ │ +000264e0: 7274 6572 290a 2020 2020 2020 2020 2020 rter). │ │ │ +000264f0: 2873 6176 652d 6578 6375 7273 696f 6e0a (save-excursion. │ │ │ +00026500: 2020 2020 2020 2020 2020 2020 2873 6176 (sav │ │ │ +00026510: 652d 6d61 7463 682d 6461 7461 0a20 2020 e-match-data. │ │ │ +00026520: 2020 2020 2020 2020 2020 2028 6261 636b (back │ │ │ +00026530: 7761 7264 2d63 6861 7220 286c 656e 6774 ward-char (lengt │ │ │ +00026540: 6820 7329 290a 2020 2020 2020 2020 2020 h s)). │ │ │ +00026550: 2020 2020 2875 6e6c 6573 7320 2862 6f6c (unless (bol │ │ │ +00026560: 7029 2028 6261 636b 7761 7264 2d63 6861 p) (backward-cha │ │ │ +00026570: 7220 3129 2920 203b 3b20 626f 6c70 203d r 1)) ;; bolp = │ │ │ +00026580: 2070 6f69 6e74 6572 2061 7420 6265 6769 pointer at begi │ │ │ +00026590: 6e6e 696e 6720 6f66 206c 696e 650a 2020 nning of line. │ │ │ +000265a0: 2020 2020 2020 2020 2020 2020 3b3b 2041 ;; A │ │ │ +000265b0: 6e64 7265 6173 2c20 3230 3134 2d30 352d ndreas, 2014-05- │ │ │ +000265c0: 3137 2049 7373 7565 2031 3133 320a 2020 17 Issue 1132. │ │ │ +000265d0: 2020 2020 2020 2020 2020 2020 3b3b 2041 ;; A │ │ │ +000265e0: 2071 7565 7374 696f 6e6d 6172 6b20 6361 questionmark ca │ │ │ +000265f0: 6e20 616c 736f 2066 6f6c 6c6f 7720 696d n also follow im │ │ │ +00026600: 6d65 6469 6174 656c 7920 6166 7465 7220 mediately after │ │ │ +00026610: 6120 2e0a 2020 2020 2020 2020 2020 2020 a .. │ │ │ +00026620: 2020 3b3b 2066 6f72 2069 6e73 7461 6e63 ;; for instanc │ │ │ +00026630: 6520 746f 2062 6520 6120 706c 6163 6520 e to be a place │ │ │ +00026640: 686f 6c64 6572 2066 6f72 2061 2064 6f74 holder for a dot │ │ │ +00026650: 2070 6174 7465 726e 2e0a 2020 2020 2020 pattern.. │ │ │ +00026660: 2020 2020 2020 2020 286c 6f6f 6b69 6e67 (looking │ │ │ +00026670: 2d61 7420 2863 6f6e 6361 7420 225c 5c28 -at (concat "\\( │ │ │ +00026680: 5b2e 7b7d 2829 3b5d 5c5c 7c5e 5c5c 7c5c [.{}();]\\|^\\|\ │ │ │ +00026690: 5c73 205c 5c29 2220 203b 3b20 5c5c 7320 \s \\)" ;; \\s │ │ │ +000266a0: 3d20 7768 6974 6573 7061 6365 0a20 2020 = whitespace. │ │ │ 000266b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -000266c0: 2020 2020 2020 2020 2020 2020 2020 2872 (r │ │ │ -000266d0: 6567 6578 702d 7175 6f74 6520 7329 0a20 egexp-quote s). │ │ │ +000266c0: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ +000266d0: 7265 6765 7870 2d71 756f 7465 2073 290a regexp-quote s). │ │ │ 000266e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 000266f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00026700: 2028 756e 6c65 7373 2063 6f6d 6d65 6e74 (unless comment │ │ │ -00026710: 2d73 7461 7274 6572 0a20 2020 2020 2020 -starter. │ │ │ +00026700: 2020 2875 6e6c 6573 7320 636f 6d6d 656e (unless commen │ │ │ +00026710: 742d 7374 6172 7465 720a 2020 2020 2020 t-starter. │ │ │ 00026720: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00026730: 2020 2020 2020 2020 2020 2020 2022 5c5c "\\ │ │ │ -00026740: 285b 7b7d 2829 3b5d 5c5c 7c24 5c5c 7c5c ([{}();]\\|$\\|\ │ │ │ -00026750: 5c73 205c 5c29 2229 2929 2929 290a 2020 \s \\)")))))). │ │ │ -00026760: 2020 2020 2028 6d61 6b65 2870 2920 2028 (make(p) ( │ │ │ -00026770: 6167 6461 322d 6d61 6b65 2d67 6f61 6c20 agda2-make-goal │ │ │ -00026780: 7020 2870 6f69 6e74 2920 2870 6f70 2067 p (point) (pop g │ │ │ -00026790: 6f61 6c73 2929 290a 2020 2020 2020 2028 oals))). ( │ │ │ -000267a0: 696e 7369 6465 2d63 6f6d 6d65 6e74 2829 inside-comment() │ │ │ -000267b0: 2028 616e 6420 7374 6b20 286e 756c 6c20 (and stk (null │ │ │ -000267c0: 2020 2020 2863 6172 2073 746b 2929 2929 (car stk)))) │ │ │ -000267d0: 0a20 2020 2020 2020 2869 6e73 6964 652d . (inside- │ │ │ -000267e0: 676f 616c 2829 2020 2020 2861 6e64 2073 goal() (and s │ │ │ -000267f0: 746b 2028 696e 7465 6765 7270 2028 6361 tk (integerp (ca │ │ │ -00026800: 7220 7374 6b29 2929 290a 2020 2020 2020 r stk)))). │ │ │ -00026810: 2028 6f75 7473 6964 652d 636f 6465 2829 (outside-code() │ │ │ -00026820: 2020 2028 616e 6420 7374 6b20 2865 7120 (and stk (eq │ │ │ -00026830: 2863 6172 2073 746b 2920 276f 7574 7369 (car stk) 'outsi │ │ │ -00026840: 6465 2929 290a 2020 2020 2020 2028 696e de))). (in │ │ │ -00026850: 7369 6465 2d63 6f64 6528 2920 2020 2028 side-code() ( │ │ │ -00026860: 6e6f 7420 286f 7574 7369 6465 2d63 6f64 not (outside-cod │ │ │ -00026870: 6529 2929 0a20 2020 2020 2020 3b3b 2069 e))). ;; i │ │ │ -00026880: 6e73 6964 6520 6120 6d75 6c74 692d 6c69 nside a multi-li │ │ │ -00026890: 6e65 2063 6f6d 6d65 6e74 2069 676e 6f72 ne comment ignor │ │ │ -000268a0: 6520 6576 6572 7974 6869 6e67 2062 7574 e everything but │ │ │ -000268b0: 2074 6865 206d 756c 7469 2d6c 696e 6520 the multi-line │ │ │ -000268c0: 636f 6d6d 656e 7420 6d61 726b 6572 730a comment markers. │ │ │ -000268d0: 2020 2020 2020 2028 7361 6665 2d64 656c (safe-del │ │ │ -000268e0: 696d 7328 290a 2020 2020 2020 2020 2020 ims(). │ │ │ -000268f0: 2869 6620 2869 6e73 6964 652d 636f 6d6d (if (inside-comm │ │ │ -00026900: 656e 7429 0a20 2020 2020 2020 2020 2020 ent). │ │ │ -00026910: 2020 2020 2872 652d 7365 6172 6368 2d66 (re-search-f │ │ │ -00026920: 6f72 7761 7264 2022 7b2d 5c5c 7c2d 7d22 orward "{-\\|-}" │ │ │ -00026930: 206e 696c 2074 290a 2020 2020 2020 2020 nil t). │ │ │ -00026940: 2020 2020 2864 656c 696d 7329 2929 290a (delims)))). │ │ │ -00026950: 2020 2020 2873 6176 652d 6578 6375 7273 (save-excurs │ │ │ -00026960: 696f 6e0a 2020 2020 2020 3b3b 2049 6e20 ion. ;; In │ │ │ -00026970: 6c69 7465 7261 7465 206d 6f64 6520 7765 literate mode we │ │ │ -00026980: 2073 686f 756c 6420 7374 6172 7420 6f75 should start ou │ │ │ -00026990: 7420 696e 2074 6865 2022 6f75 7473 6964 t in the "outsid │ │ │ -000269a0: 6520 6f66 2063 6f64 6522 0a20 2020 2020 e of code". │ │ │ -000269b0: 203b 3b20 7374 6174 652e 0a20 2020 2020 ;; state.. │ │ │ -000269c0: 2028 6966 206c 6974 6572 6174 6520 2870 (if literate (p │ │ │ -000269d0: 7573 6820 276f 7574 7369 6465 2073 746b ush 'outside stk │ │ │ -000269e0: 2929 0a20 2020 2020 2028 676f 746f 2d63 )). (goto-c │ │ │ -000269f0: 6861 7220 2870 6f69 6e74 2d6d 696e 2929 har (point-min)) │ │ │ -00026a00: 0a20 2020 2020 2028 7768 696c 6520 2861 . (while (a │ │ │ -00026a10: 6e64 2067 6f61 6c73 2028 7361 6665 2d64 nd goals (safe-d │ │ │ -00026a20: 656c 696d 7329 290a 2020 2020 2020 2020 elims)). │ │ │ -00026a30: 2861 6764 6132 2d2d 6361 7365 2028 6d61 (agda2--case (ma │ │ │ -00026a40: 7463 682d 7374 7269 6e67 2030 290a 2020 tch-string 0). │ │ │ -00026a50: 2020 2020 2020 2020 2822 5c5c 6265 6769 ("\\begi │ │ │ -00026a60: 6e7b 636f 6465 7d22 2020 2020 2028 7768 n{code}" (wh │ │ │ -00026a70: 656e 2028 6f75 7473 6964 652d 636f 6465 en (outside-code │ │ │ -00026a80: 2920 2020 2020 2020 2020 2020 2020 2020 ) │ │ │ -00026a90: 2870 6f70 2073 746b 2929 290a 2020 2020 (pop stk))). │ │ │ -00026aa0: 2020 2020 2020 2822 5c5c 656e 647b 636f ("\\end{co │ │ │ -00026ab0: 6465 7d22 2020 2020 2020 2028 7768 656e de}" (when │ │ │ -00026ac0: 2028 6e6f 7420 7374 6b29 2020 2020 2020 (not stk) │ │ │ -00026ad0: 2020 2020 2020 2020 2020 2020 2020 2870 (p │ │ │ -00026ae0: 7573 6820 276f 7574 7369 6465 2073 746b ush 'outside stk │ │ │ -00026af0: 2929 290a 2020 2020 2020 2020 2020 2822 ))). (" │ │ │ -00026b00: 232b 6265 6769 6e5f 7372 6320 6167 6461 #+begin_src agda │ │ │ -00026b10: 3222 2028 7768 656e 2028 6f75 7473 6964 2" (when (outsid │ │ │ -00026b20: 652d 636f 6465 2920 2020 2020 2020 2020 e-code) │ │ │ -00026b30: 2020 2020 2020 2870 6f70 2073 746b 2929 (pop stk)) │ │ │ -00026b40: 290a 2020 2020 2020 2020 2020 2822 232b ). ("#+ │ │ │ -00026b50: 656e 645f 7372 6322 2020 2020 2020 2020 end_src" │ │ │ -00026b60: 2028 7768 656e 2028 6e6f 7420 7374 6b29 (when (not stk) │ │ │ -00026b70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00026b80: 2020 2020 2870 7573 6820 276f 7574 7369 (push 'outsi │ │ │ -00026b90: 6465 2073 746b 2929 290a 2020 2020 2020 de stk))). │ │ │ -00026ba0: 2020 2020 2822 6060 6022 2020 2020 2020 ("```" │ │ │ -00026bb0: 2020 2020 2020 2020 2028 6966 2020 2028 (if ( │ │ │ -00026bc0: 6f75 7473 6964 652d 636f 6465 2920 2020 outside-code) │ │ │ -00026bd0: 2020 2020 2020 2020 2020 2020 2870 6f70 (pop │ │ │ -00026be0: 2073 746b 290a 2020 2020 2020 2020 2020 stk). │ │ │ +00026730: 2020 2020 2020 2020 2020 2020 2020 225c "\ │ │ │ +00026740: 5c28 5b7b 7d28 293b 5d5c 5c7c 245c 5c7c \([{}();]\\|$\\| │ │ │ +00026750: 5c5c 7320 5c5c 2922 2929 2929 2929 0a20 \\s \\)")))))). │ │ │ +00026760: 2020 2020 2020 286d 616b 6528 7029 2020 (make(p) │ │ │ +00026770: 2861 6764 6132 2d6d 616b 652d 676f 616c (agda2-make-goal │ │ │ +00026780: 2070 2028 706f 696e 7429 2028 706f 7020 p (point) (pop │ │ │ +00026790: 676f 616c 7329 2929 0a20 2020 2020 2020 goals))). │ │ │ +000267a0: 2869 6e73 6964 652d 636f 6d6d 656e 7428 (inside-comment( │ │ │ +000267b0: 2920 2861 6e64 2073 746b 2028 6e75 6c6c ) (and stk (null │ │ │ +000267c0: 2020 2020 2028 6361 7220 7374 6b29 2929 (car stk))) │ │ │ +000267d0: 290a 2020 2020 2020 2028 696e 7369 6465 ). (inside │ │ │ +000267e0: 2d67 6f61 6c28 2920 2020 2028 616e 6420 -goal() (and │ │ │ +000267f0: 7374 6b20 2869 6e74 6567 6572 7020 2863 stk (integerp (c │ │ │ +00026800: 6172 2073 746b 2929 2929 0a20 2020 2020 ar stk)))). │ │ │ +00026810: 2020 286f 7574 7369 6465 2d63 6f64 6528 (outside-code( │ │ │ +00026820: 2920 2020 2861 6e64 2073 746b 2028 6571 ) (and stk (eq │ │ │ +00026830: 2028 6361 7220 7374 6b29 2027 6f75 7473 (car stk) 'outs │ │ │ +00026840: 6964 6529 2929 0a20 2020 2020 2020 2869 ide))). (i │ │ │ +00026850: 6e73 6964 652d 636f 6465 2829 2020 2020 nside-code() │ │ │ +00026860: 286e 6f74 2028 6f75 7473 6964 652d 636f (not (outside-co │ │ │ +00026870: 6465 2929 290a 2020 2020 2020 203b 3b20 de))). ;; │ │ │ +00026880: 696e 7369 6465 2061 206d 756c 7469 2d6c inside a multi-l │ │ │ +00026890: 696e 6520 636f 6d6d 656e 7420 6967 6e6f ine comment igno │ │ │ +000268a0: 7265 2065 7665 7279 7468 696e 6720 6275 re everything bu │ │ │ +000268b0: 7420 7468 6520 6d75 6c74 692d 6c69 6e65 t the multi-line │ │ │ +000268c0: 2063 6f6d 6d65 6e74 206d 6172 6b65 7273 comment markers │ │ │ +000268d0: 0a20 2020 2020 2020 2873 6166 652d 6465 . (safe-de │ │ │ +000268e0: 6c69 6d73 2829 0a20 2020 2020 2020 2020 lims(). │ │ │ +000268f0: 2028 6966 2028 696e 7369 6465 2d63 6f6d (if (inside-com │ │ │ +00026900: 6d65 6e74 290a 2020 2020 2020 2020 2020 ment). │ │ │ +00026910: 2020 2020 2028 7265 2d73 6561 7263 682d (re-search- │ │ │ +00026920: 666f 7277 6172 6420 227b 2d5c 5c7c 2d7d forward "{-\\|-} │ │ │ +00026930: 2220 6e69 6c20 7429 0a20 2020 2020 2020 " nil t). │ │ │ +00026940: 2020 2020 2028 6465 6c69 6d73 2929 2929 (delims)))) │ │ │ +00026950: 0a20 2020 2028 7361 7665 2d65 7863 7572 . (save-excur │ │ │ +00026960: 7369 6f6e 0a20 2020 2020 203b 3b20 496e sion. ;; In │ │ │ +00026970: 206c 6974 6572 6174 6520 6d6f 6465 2077 literate mode w │ │ │ +00026980: 6520 7368 6f75 6c64 2073 7461 7274 206f e should start o │ │ │ +00026990: 7574 2069 6e20 7468 6520 226f 7574 7369 ut in the "outsi │ │ │ +000269a0: 6465 206f 6620 636f 6465 220a 2020 2020 de of code". │ │ │ +000269b0: 2020 3b3b 2073 7461 7465 2e0a 2020 2020 ;; state.. │ │ │ +000269c0: 2020 2869 6620 6c69 7465 7261 7465 2028 (if literate ( │ │ │ +000269d0: 7075 7368 2027 6f75 7473 6964 6520 7374 push 'outside st │ │ │ +000269e0: 6b29 290a 2020 2020 2020 2867 6f74 6f2d k)). (goto- │ │ │ +000269f0: 6368 6172 2028 706f 696e 742d 6d69 6e29 char (point-min) │ │ │ +00026a00: 290a 2020 2020 2020 2877 6869 6c65 2028 ). (while ( │ │ │ +00026a10: 616e 6420 676f 616c 7320 2873 6166 652d and goals (safe- │ │ │ +00026a20: 6465 6c69 6d73 2929 0a20 2020 2020 2020 delims)). │ │ │ +00026a30: 2028 6167 6461 322d 2d63 6173 6520 286d (agda2--case (m │ │ │ +00026a40: 6174 6368 2d73 7472 696e 6720 3029 0a20 atch-string 0). │ │ │ +00026a50: 2020 2020 2020 2020 2028 225c 5c62 6567 ("\\beg │ │ │ +00026a60: 696e 7b63 6f64 657d 2220 2020 2020 2877 in{code}" (w │ │ │ +00026a70: 6865 6e20 286f 7574 7369 6465 2d63 6f64 hen (outside-cod │ │ │ +00026a80: 6529 2020 2020 2020 2020 2020 2020 2020 e) │ │ │ +00026a90: 2028 706f 7020 7374 6b29 2929 0a20 2020 (pop stk))). │ │ │ +00026aa0: 2020 2020 2020 2028 225c 5c65 6e64 7b63 ("\\end{c │ │ │ +00026ab0: 6f64 657d 2220 2020 2020 2020 2877 6865 ode}" (whe │ │ │ +00026ac0: 6e20 286e 6f74 2073 746b 2920 2020 2020 n (not stk) │ │ │ +00026ad0: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ +00026ae0: 7075 7368 2027 6f75 7473 6964 6520 7374 push 'outside st │ │ │ +00026af0: 6b29 2929 0a20 2020 2020 2020 2020 2028 k))). ( │ │ │ +00026b00: 2223 2b62 6567 696e 5f73 7263 2061 6764 "#+begin_src agd │ │ │ +00026b10: 6132 2220 2877 6865 6e20 286f 7574 7369 a2" (when (outsi │ │ │ +00026b20: 6465 2d63 6f64 6529 2020 2020 2020 2020 de-code) │ │ │ +00026b30: 2020 2020 2020 2028 706f 7020 7374 6b29 (pop stk) │ │ │ +00026b40: 2929 0a20 2020 2020 2020 2020 2028 2223 )). ("# │ │ │ +00026b50: 2b65 6e64 5f73 7263 2220 2020 2020 2020 +end_src" │ │ │ +00026b60: 2020 2877 6865 6e20 286e 6f74 2073 746b (when (not stk │ │ │ +00026b70: 2920 2020 2020 2020 2020 2020 2020 2020 ) │ │ │ +00026b80: 2020 2020 2028 7075 7368 2027 6f75 7473 (push 'outs │ │ │ +00026b90: 6964 6520 7374 6b29 2929 0a20 2020 2020 ide stk))). │ │ │ +00026ba0: 2020 2020 2028 2260 6060 2220 2020 2020 ("```" │ │ │ +00026bb0: 2020 2020 2020 2020 2020 2869 6620 2020 (if │ │ │ +00026bc0: 286f 7574 7369 6465 2d63 6f64 6529 2020 (outside-code) │ │ │ +00026bd0: 2020 2020 2020 2020 2020 2020 2028 706f (po │ │ │ +00026be0: 7020 7374 6b29 0a20 2020 2020 2020 2020 p stk). │ │ │ 00026bf0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00026c00: 2020 2020 2028 7768 656e 2028 6e6f 7420 (when (not │ │ │ -00026c10: 7374 6b29 2020 2020 2020 2020 2020 2020 stk) │ │ │ -00026c20: 2020 2020 2020 2020 2870 7573 6820 276f (push 'o │ │ │ -00026c30: 7574 7369 6465 2073 746b 2929 2929 0a20 utside stk)))). │ │ │ -00026c40: 2020 2020 2020 2020 2028 222d 2d22 2020 ("--" │ │ │ -00026c50: 2020 2020 2020 2020 2020 2020 2020 2877 (w │ │ │ -00026c60: 6865 6e20 2861 6e64 2028 6e6f 7420 7374 hen (and (not st │ │ │ -00026c70: 6b29 0a20 2020 2020 2020 2020 2020 2020 k). │ │ │ +00026c00: 2020 2020 2020 2877 6865 6e20 286e 6f74 (when (not │ │ │ +00026c10: 2073 746b 2920 2020 2020 2020 2020 2020 stk) │ │ │ +00026c20: 2020 2020 2020 2020 2028 7075 7368 2027 (push ' │ │ │ +00026c30: 6f75 7473 6964 6520 7374 6b29 2929 290a outside stk)))). │ │ │ +00026c40: 2020 2020 2020 2020 2020 2822 2d2d 2220 ("--" │ │ │ +00026c50: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ +00026c60: 7768 656e 2028 616e 6420 286e 6f74 2073 when (and (not s │ │ │ +00026c70: 746b 290a 2020 2020 2020 2020 2020 2020 tk). │ │ │ 00026c80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00026c90: 2020 2020 2020 2020 2020 2020 2028 6973 (is │ │ │ -00026ca0: 2d70 726f 7065 7220 222d 2d22 2074 2929 -proper "--" t)) │ │ │ -00026cb0: 2020 2020 2028 656e 642d 6f66 2d6c 696e (end-of-lin │ │ │ -00026cc0: 6529 2929 0a20 2020 2020 2020 2020 2028 e))). ( │ │ │ -00026cd0: 227b 2d22 2020 2020 2020 2020 2020 2020 "{-" │ │ │ -00026ce0: 2020 2020 2877 6865 6e20 2861 6e64 2028 (when (and ( │ │ │ -00026cf0: 696e 7369 6465 2d63 6f64 6529 0a20 2020 inside-code). │ │ │ +00026c90: 2020 2020 2020 2020 2020 2020 2020 2869 (i │ │ │ +00026ca0: 732d 7072 6f70 6572 2022 2d2d 2220 7429 s-proper "--" t) │ │ │ +00026cb0: 2920 2020 2020 2865 6e64 2d6f 662d 6c69 ) (end-of-li │ │ │ +00026cc0: 6e65 2929 290a 2020 2020 2020 2020 2020 ne))). │ │ │ +00026cd0: 2822 7b2d 2220 2020 2020 2020 2020 2020 ("{-" │ │ │ +00026ce0: 2020 2020 2028 7768 656e 2028 616e 6420 (when (and │ │ │ +00026cf0: 2869 6e73 6964 652d 636f 6465 290a 2020 (inside-code). │ │ │ 00026d00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 00026d10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00026d20: 2020 2020 2020 2028 6e6f 7420 2869 6e73 (not (ins │ │ │ -00026d30: 6964 652d 676f 616c 2929 2920 2020 2028 ide-goal))) ( │ │ │ -00026d40: 7075 7368 206e 696c 2020 2020 2020 2020 push nil │ │ │ -00026d50: 2020 2073 746b 2929 290a 2020 2020 2020 stk))). │ │ │ -00026d60: 2020 2020 2822 2d7d 2220 2020 2020 2020 ("-}" │ │ │ -00026d70: 2020 2020 2020 2020 2028 7768 656e 2028 (when ( │ │ │ -00026d80: 696e 7369 6465 2d63 6f6d 6d65 6e74 2920 inside-comment) │ │ │ -00026d90: 2020 2020 2020 2020 2020 2020 2870 6f70 (pop │ │ │ -00026da0: 2073 746b 2929 290a 2020 2020 2020 2020 stk))). │ │ │ -00026db0: 2020 2822 7b21 2220 2020 2020 2020 2020 ("{!" │ │ │ -00026dc0: 2020 2020 2020 2028 7768 656e 2028 616e (when (an │ │ │ -00026dd0: 6420 2869 6e73 6964 652d 636f 6465 290a d (inside-code). │ │ │ -00026de0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +00026d20: 2020 2020 2020 2020 286e 6f74 2028 696e (not (in │ │ │ +00026d30: 7369 6465 2d67 6f61 6c29 2929 2020 2020 side-goal))) │ │ │ +00026d40: 2870 7573 6820 6e69 6c20 2020 2020 2020 (push nil │ │ │ +00026d50: 2020 2020 7374 6b29 2929 0a20 2020 2020 stk))). │ │ │ +00026d60: 2020 2020 2028 222d 7d22 2020 2020 2020 ("-}" │ │ │ +00026d70: 2020 2020 2020 2020 2020 2877 6865 6e20 (when │ │ │ +00026d80: 2869 6e73 6964 652d 636f 6d6d 656e 7429 (inside-comment) │ │ │ +00026d90: 2020 2020 2020 2020 2020 2020 2028 706f (po │ │ │ +00026da0: 7020 7374 6b29 2929 0a20 2020 2020 2020 p stk))). │ │ │ +00026db0: 2020 2028 227b 2122 2020 2020 2020 2020 ("{!" │ │ │ +00026dc0: 2020 2020 2020 2020 2877 6865 6e20 2861 (when (a │ │ │ +00026dd0: 6e64 2028 696e 7369 6465 2d63 6f64 6529 nd (inside-code) │ │ │ +00026de0: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ 00026df0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00026e00: 2020 2020 2020 2020 2020 286e 6f74 2028 (not ( │ │ │ -00026e10: 696e 7369 6465 2d63 6f6d 6d65 6e74 2929 inside-comment)) │ │ │ -00026e20: 2920 2870 7573 6820 282d 2028 706f 696e ) (push (- (poin │ │ │ -00026e30: 7429 2032 2920 7374 6b29 2929 0a20 2020 t) 2) stk))). │ │ │ -00026e40: 2020 2020 2020 2028 2221 7d22 2020 2020 ("!}" │ │ │ -00026e50: 2020 2020 2020 2020 2020 2020 2877 6865 (whe │ │ │ -00026e60: 6e20 2869 6e73 6964 652d 676f 616c 290a n (inside-goal). │ │ │ -00026e70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +00026e00: 2020 2020 2020 2020 2020 2028 6e6f 7420 (not │ │ │ +00026e10: 2869 6e73 6964 652d 636f 6d6d 656e 7429 (inside-comment) │ │ │ +00026e20: 2929 2028 7075 7368 2028 2d20 2870 6f69 )) (push (- (poi │ │ │ +00026e30: 6e74 2920 3229 2073 746b 2929 290a 2020 nt) 2) stk))). │ │ │ +00026e40: 2020 2020 2020 2020 2822 217d 2220 2020 ("!}" │ │ │ +00026e50: 2020 2020 2020 2020 2020 2020 2028 7768 (wh │ │ │ +00026e60: 656e 2028 696e 7369 6465 2d67 6f61 6c29 en (inside-goal) │ │ │ +00026e70: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ 00026e80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00026e90: 2028 7365 7471 2074 6f70 2028 706f 7020 (setq top (pop │ │ │ -00026ea0: 7374 6b29 290a 2020 2020 2020 2020 2020 stk)). │ │ │ +00026e90: 2020 2873 6574 7120 746f 7020 2870 6f70 (setq top (pop │ │ │ +00026ea0: 2073 746b 2929 0a20 2020 2020 2020 2020 stk)). │ │ │ 00026eb0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00026ec0: 2020 2020 2020 2028 756e 6c65 7373 2073 (unless s │ │ │ -00026ed0: 746b 2028 6d61 6b65 2074 6f70 2929 2929 tk (make top)))) │ │ │ -00026ee0: 0a20 2020 2020 2020 2020 2028 223f 2220 . ("?" │ │ │ +00026ec0: 2020 2020 2020 2020 2875 6e6c 6573 7320 (unless │ │ │ +00026ed0: 7374 6b20 286d 616b 6520 746f 7029 2929 stk (make top))) │ │ │ +00026ee0: 290a 2020 2020 2020 2020 2020 2822 3f22 ). ("?" │ │ │ 00026ef0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00026f00: 2870 726f 676e 0a20 2020 2020 2020 2020 (progn. │ │ │ +00026f00: 2028 7072 6f67 6e0a 2020 2020 2020 2020 (progn. │ │ │ 00026f10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00026f20: 2020 2020 2020 2020 2877 6865 6e20 2861 (when (a │ │ │ -00026f30: 6e64 2028 6e6f 7420 7374 6b29 2028 6973 nd (not stk) (is │ │ │ -00026f40: 2d70 726f 7065 7220 223f 2220 6e69 6c29 -proper "?" nil) │ │ │ -00026f50: 290a 2020 2020 2020 2020 2020 2020 2020 ). │ │ │ +00026f20: 2020 2020 2020 2020 2028 7768 656e 2028 (when ( │ │ │ +00026f30: 616e 6420 286e 6f74 2073 746b 2920 2869 and (not stk) (i │ │ │ +00026f40: 732d 7072 6f70 6572 2022 3f22 206e 696c s-proper "?" nil │ │ │ +00026f50: 2929 0a20 2020 2020 2020 2020 2020 2020 )). │ │ │ 00026f60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00026f70: 2020 2020 2028 6465 6c65 7465 2d63 6861 (delete-cha │ │ │ -00026f80: 7220 2d31 290a 2020 2020 2020 2020 2020 r -1). │ │ │ +00026f70: 2020 2020 2020 2864 656c 6574 652d 6368 (delete-ch │ │ │ +00026f80: 6172 202d 3129 0a20 2020 2020 2020 2020 ar -1). │ │ │ 00026f90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00026fa0: 2020 2020 2020 2020 2028 696e 7365 7274 (insert │ │ │ -00026fb0: 2022 7b21 217d 2229 0a20 2020 2020 2020 "{!!}"). │ │ │ +00026fa0: 2020 2020 2020 2020 2020 2869 6e73 6572 (inser │ │ │ +00026fb0: 7420 227b 2121 7d22 290a 2020 2020 2020 t "{!!}"). │ │ │ 00026fc0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00026fd0: 2020 2020 2020 2020 2020 2020 286d 616b (mak │ │ │ -00026fe0: 6520 282d 2028 706f 696e 7429 2034 2929 e (- (point) 4)) │ │ │ -00026ff0: 2929 2929 2929 2929 0a0a 2864 6566 756e ))))))))..(defun │ │ │ -00027000: 2061 6764 6132 2d6d 616b 652d 676f 616c agda2-make-goal │ │ │ -00027010: 2028 7020 7120 6e29 0a20 2022 4d61 6b65 (p q n). "Make │ │ │ -00027020: 2061 2067 6f61 6c20 7769 7468 206e 756d a goal with num │ │ │ -00027030: 6265 7220 4e20 6174 203c 503e 7b21 2e2e ber N at

{!.. │ │ │ -00027040: 2e21 7d3c 513e 2e20 2041 7373 756d 6520 .!}. Assume │ │ │ -00027050: 7468 6520 7265 6769 6f6e 2069 7320 636c the region is cl │ │ │ -00027060: 6561 6e2e 220a 2020 2861 6e6e 6f74 6174 ean.". (annotat │ │ │ -00027070: 696f 6e2d 7072 6573 6572 7665 2d6d 6f64 ion-preserve-mod │ │ │ -00027080: 2d70 2d61 6e64 2d75 6e64 6f0a 2020 2028 -p-and-undo. ( │ │ │ -00027090: 6c65 7420 2828 6174 7020 286c 616d 6264 let ((atp (lambd │ │ │ -000270a0: 6120 2878 2070 7329 2028 6164 642d 7465 a (x ps) (add-te │ │ │ -000270b0: 7874 2d70 726f 7065 7274 6965 7320 7820 xt-properties x │ │ │ -000270c0: 2831 2b20 7829 2070 7329 2929 290a 2020 (1+ x) ps)))). │ │ │ -000270d0: 2020 2028 6675 6e63 616c 6c20 6174 7020 (funcall atp │ │ │ -000270e0: 7020 2020 2020 2020 2728 6361 7465 676f p '(catego │ │ │ -000270f0: 7279 2061 6764 6132 2d64 656c 696d 3129 ry agda2-delim1) │ │ │ -00027100: 290a 2020 2020 2028 6675 6e63 616c 6c20 ). (funcall │ │ │ -00027110: 6174 7020 2831 2b20 7029 2020 2728 6361 atp (1+ p) '(ca │ │ │ -00027120: 7465 676f 7279 2061 6764 6132 2d64 656c tegory agda2-del │ │ │ -00027130: 696d 3229 290a 2020 2020 2028 6675 6e63 im2)). (func │ │ │ -00027140: 616c 6c20 6174 7020 282d 2071 2032 2920 all atp (- q 2) │ │ │ -00027150: 2728 6361 7465 676f 7279 2061 6764 6132 '(category agda2 │ │ │ -00027160: 2d64 656c 696d 3329 290a 2020 2020 2028 -delim3)). ( │ │ │ -00027170: 6675 6e63 616c 6c20 6174 7020 2831 2d20 funcall atp (1- │ │ │ -00027180: 7129 2020 2728 6361 7465 676f 7279 2061 q) '(category a │ │ │ -00027190: 6764 6132 2d64 656c 696d 3429 2929 0a20 gda2-delim4))). │ │ │ -000271a0: 2020 286c 6574 2028 286f 2028 6d61 6b65 (let ((o (make │ │ │ -000271b0: 2d6f 7665 726c 6179 2070 2071 206e 696c -overlay p q nil │ │ │ -000271c0: 2074 206e 696c 2929 290a 2020 2020 2028 t nil))). ( │ │ │ -000271d0: 6f76 6572 6c61 792d 7075 7420 6f20 276d overlay-put o 'm │ │ │ -000271e0: 6f64 6966 6963 6174 696f 6e2d 686f 6f6b odification-hook │ │ │ -000271f0: 7320 2728 6167 6461 322d 7072 6f74 6563 s '(agda2-protec │ │ │ -00027200: 742d 676f 616c 2d6d 6172 6b65 7273 2929 t-goal-markers)) │ │ │ -00027210: 0a20 2020 2020 286f 7665 726c 6179 2d70 . (overlay-p │ │ │ -00027220: 7574 206f 2027 6167 6461 322d 676e 2020 ut o 'agda2-gn │ │ │ -00027230: 2020 2020 2020 2020 206e 290a 2020 2020 n). │ │ │ -00027240: 2028 6f76 6572 6c61 792d 7075 7420 6f20 (overlay-put o │ │ │ -00027250: 2766 6163 6520 2020 2020 2020 2020 2020 'face │ │ │ -00027260: 2020 2020 2768 6967 686c 6967 6874 290a 'highlight). │ │ │ -00027270: 2020 2020 2028 6f76 6572 6c61 792d 7075 (overlay-pu │ │ │ -00027280: 7420 6f20 2761 6674 6572 2d73 7472 696e t o 'after-strin │ │ │ -00027290: 6720 2020 2020 2020 2870 726f 7065 7274 g (propert │ │ │ -000272a0: 697a 6520 2866 6f72 6d61 7420 2225 7322 ize (format "%s" │ │ │ -000272b0: 206e 2920 2766 6163 6520 2768 6967 686c n) 'face 'highl │ │ │ -000272c0: 6967 6874 2929 2929 290a 0a28 6465 6675 ight)))))..(defu │ │ │ -000272d0: 6e20 6167 6461 322d 7072 6f74 6563 742d n agda2-protect- │ │ │ -000272e0: 676f 616c 2d6d 6172 6b65 7273 2028 6f6c goal-markers (ol │ │ │ -000272f0: 2061 6374 696f 6e20 6265 6720 656e 6420 action beg end │ │ │ -00027300: 266f 7074 696f 6e61 6c20 5f6c 656e 6774 &optional _lengt │ │ │ -00027310: 6829 0a20 2022 456e 7375 7265 7320 7468 h). "Ensures th │ │ │ -00027320: 6174 2074 6865 2067 6f61 6c20 6d61 726b at the goal mark │ │ │ -00027330: 6572 7320 6361 6e6e 6f74 2062 6520 7461 ers cannot be ta │ │ │ -00027340: 6d70 6572 6564 2077 6974 682e 0a45 7863 mpered with..Exc │ │ │ -00027350: 6570 7420 6966 2060 696e 6869 6269 742d ept if `inhibit- │ │ │ -00027360: 7265 6164 2d6f 6e6c 7927 2069 7320 6e6f read-only' is no │ │ │ -00027370: 6e2d 6e69 6c20 6f72 202f 616c 6c2f 206f n-nil or /all/ o │ │ │ -00027380: 6620 7468 6520 676f 616c 2069 730a 6d6f f the goal is.mo │ │ │ -00027390: 6469 6669 6564 2e22 0a20 2028 6966 2061 dified.". (if a │ │ │ -000273a0: 6374 696f 6e0a 2020 2020 2020 3b3b 2054 ction. ;; T │ │ │ -000273b0: 6869 7320 6973 2074 6865 2061 6674 6572 his is the after │ │ │ -000273c0: 2d63 6861 6e67 6520 686f 6f6b 2e0a 2020 -change hook.. │ │ │ -000273d0: 2020 2020 6e69 6c0a 2020 2020 3b3b 2054 nil. ;; T │ │ │ -000273e0: 6869 7320 6973 2074 6865 2062 6566 6f72 his is the befor │ │ │ -000273f0: 652d 6368 616e 6765 2068 6f6f 6b2e 0a20 e-change hook.. │ │ │ -00027400: 2020 2028 636f 6e64 0a20 2020 2020 2828 (cond. (( │ │ │ -00027410: 616e 6420 283c 3d20 6265 6720 286f 7665 and (<= beg (ove │ │ │ -00027420: 726c 6179 2d73 7461 7274 206f 6c29 2920 rlay-start ol)) │ │ │ -00027430: 283e 3d20 656e 6420 286f 7665 726c 6179 (>= end (overlay │ │ │ -00027440: 2d65 6e64 206f 6c29 2929 0a20 2020 2020 -end ol))). │ │ │ -00027450: 203b 3b20 5468 6520 7573 6572 2069 7320 ;; The user is │ │ │ -00027460: 7472 7969 6e67 2074 6f20 7265 6d6f 7665 trying to remove │ │ │ -00027470: 2074 6865 2077 686f 6c65 2067 6f61 6c3a the whole goal: │ │ │ -00027480: 0a20 2020 2020 203b 3b20 6d61 6e75 616c . ;; manual │ │ │ -00027490: 6c79 2065 7661 706f 7261 7465 2074 6865 ly evaporate the │ │ │ -000274a0: 206f 7665 726c 6179 2061 6e64 2061 6464 overlay and add │ │ │ -000274b0: 2061 6e20 756e 646f 2d6c 6f67 2065 6e74 an undo-log ent │ │ │ -000274c0: 7279 2073 6f0a 2020 2020 2020 3b3b 2069 ry so. ;; i │ │ │ -000274d0: 7420 6765 7473 2072 652d 6164 6465 6420 t gets re-added │ │ │ -000274e0: 6966 206e 6565 6465 642e 0a20 2020 2020 if needed.. │ │ │ -000274f0: 2028 7768 656e 2028 6c69 7374 7020 6275 (when (listp bu │ │ │ -00027500: 6666 6572 2d75 6e64 6f2d 6c69 7374 290a ffer-undo-list). │ │ │ -00027510: 2020 2020 2020 2020 2870 7573 6820 286c (push (l │ │ │ -00027520: 6973 7420 2761 7070 6c79 2030 2028 6f76 ist 'apply 0 (ov │ │ │ -00027530: 6572 6c61 792d 7374 6172 7420 6f6c 2920 erlay-start ol) │ │ │ -00027540: 286f 7665 726c 6179 2d65 6e64 206f 6c29 (overlay-end ol) │ │ │ -00027550: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ -00027560: 2020 2020 2027 6d6f 7665 2d6f 7665 726c 'move-overl │ │ │ -00027570: 6179 206f 6c20 286f 7665 726c 6179 2d73 ay ol (overlay-s │ │ │ -00027580: 7461 7274 206f 6c29 2028 6f76 6572 6c61 tart ol) (overla │ │ │ -00027590: 792d 656e 6420 6f6c 2929 0a20 2020 2020 y-end ol)). │ │ │ -000275a0: 2020 2020 2020 2020 2062 7566 6665 722d buffer- │ │ │ -000275b0: 756e 646f 2d6c 6973 7429 290a 2020 2020 undo-list)). │ │ │ -000275c0: 2020 2864 656c 6574 652d 6f76 6572 6c61 (delete-overla │ │ │ -000275d0: 7920 6f6c 2929 0a20 2020 2020 2828 6f72 y ol)). ((or │ │ │ -000275e0: 2028 3c20 6265 6720 282b 2028 6f76 6572 (< beg (+ (over │ │ │ -000275f0: 6c61 792d 7374 6172 7420 6f6c 2920 3229 lay-start ol) 2) │ │ │ -00027600: 290a 2020 2020 2020 2020 2020 283e 2065 ). (> e │ │ │ -00027610: 6e64 2028 2d20 286f 7665 726c 6179 2d65 nd (- (overlay-e │ │ │ -00027620: 6e64 206f 6c29 2032 2929 290a 2020 2020 nd ol) 2))). │ │ │ -00027630: 2020 2875 6e6c 6573 7320 696e 6869 6269 (unless inhibi │ │ │ -00027640: 742d 7265 6164 2d6f 6e6c 790a 2020 2020 t-read-only. │ │ │ -00027650: 2020 2020 2873 6967 6e61 6c20 2774 6578 (signal 'tex │ │ │ -00027660: 742d 7265 6164 2d6f 6e6c 7920 6e69 6c29 t-read-only nil) │ │ │ -00027670: 2929 2929 290a 0a28 6465 6675 6e20 6167 )))))..(defun ag │ │ │ -00027680: 6461 322d 7570 6461 7465 2028 6f6c 642d da2-update (old- │ │ │ -00027690: 6720 6e65 772d 7478 7429 0a20 2022 5570 g new-txt). "Up │ │ │ -000276a0: 6461 7465 2074 6865 2067 6f61 6c20 4f4c date the goal OL │ │ │ -000276b0: 442d 472e 0a49 6620 4e45 572d 5458 5420 D-G..If NEW-TXT │ │ │ -000276c0: 6973 2061 2073 7472 696e 672c 2074 6865 is a string, the │ │ │ -000276d0: 6e20 7468 6520 676f 616c 2069 7320 7265 n the goal is re │ │ │ -000276e0: 706c 6163 6564 2062 7920 7468 6520 7374 placed by the st │ │ │ -000276f0: 7269 6e67 2c0a 616e 6420 6f74 6865 7277 ring,.and otherw │ │ │ -00027700: 6973 6520 7468 6520 7465 7874 2069 6e73 ise the text ins │ │ │ -00027710: 6964 6520 7468 6520 676f 616c 2069 7320 ide the goal is │ │ │ -00027720: 7265 7461 696e 6564 2028 7061 7265 6e74 retained (parent │ │ │ -00027730: 6865 7369 7365 640a 6966 204e 4557 2d54 hesised.if NEW-T │ │ │ -00027740: 5854 2069 7320 6027 7061 7265 6e27 292e XT is `'paren'). │ │ │ -00027750: 0a0a 5265 6d6f 7665 7320 7468 6520 676f ..Removes the go │ │ │ -00027760: 616c 2062 7261 6365 732c 2062 7574 2064 al braces, but d │ │ │ -00027770: 6f65 7320 6e6f 7420 7265 6d6f 7665 2074 oes not remove t │ │ │ -00027780: 6865 2067 6f61 6c20 6f76 6572 6c61 7920 he goal overlay │ │ │ -00027790: 6f72 0a74 6578 7420 7072 6f70 6572 7469 or.text properti │ │ │ -000277a0: 6573 2e22 0a20 2028 636c 2d6d 756c 7469 es.". (cl-multi │ │ │ -000277b0: 706c 652d 7661 6c75 652d 6269 6e64 2028 ple-value-bind ( │ │ │ -000277c0: 7020 7129 2028 6167 6461 322d 7261 6e67 p q) (agda2-rang │ │ │ -000277d0: 652d 6f66 2d67 6f61 6c20 6f6c 642d 6729 e-of-goal old-g) │ │ │ -000277e0: 0a20 2020 2028 7361 7665 2d65 7863 7572 . (save-excur │ │ │ -000277f0: 7369 6f6e 0a20 2020 2020 2028 636f 6e64 sion. (cond │ │ │ -00027800: 2028 2873 7472 696e 6770 206e 6577 2d74 ((stringp new-t │ │ │ -00027810: 7874 290a 2020 2020 2020 2020 2020 2020 xt). │ │ │ -00027820: 2028 6167 6461 322d 7265 706c 6163 652d (agda2-replace- │ │ │ -00027830: 676f 616c 206f 6c64 2d67 206e 6577 2d74 goal old-g new-t │ │ │ -00027840: 7874 2929 0a20 2020 2020 2020 2020 2020 xt)). │ │ │ -00027850: 2028 2865 7175 616c 206e 6577 2d74 7874 ((equal new-txt │ │ │ -00027860: 2027 7061 7265 6e29 0a20 2020 2020 2020 'paren). │ │ │ -00027870: 2020 2020 2020 2867 6f74 6f2d 6368 6172 (goto-char │ │ │ -00027880: 2028 2d20 7120 3229 2920 2869 6e73 6572 (- q 2)) (inser │ │ │ -00027890: 7420 2229 2229 0a20 2020 2020 2020 2020 t ")"). │ │ │ -000278a0: 2020 2020 2867 6f74 6f2d 6368 6172 2028 (goto-char ( │ │ │ -000278b0: 2b20 7020 3229 2920 2869 6e73 6572 7420 + p 2)) (insert │ │ │ -000278c0: 2228 2229 2929 0a20 2020 2020 2028 636c "("))). (cl │ │ │ -000278d0: 2d6d 756c 7469 706c 652d 7661 6c75 652d -multiple-value- │ │ │ -000278e0: 6269 6e64 2028 7020 7129 2028 6167 6461 bind (p q) (agda │ │ │ -000278f0: 322d 7261 6e67 652d 6f66 2d67 6f61 6c20 2-range-of-goal │ │ │ -00027900: 6f6c 642d 6729 0a20 2020 2020 2020 2028 old-g). ( │ │ │ -00027910: 6465 6c65 7465 2d72 6567 696f 6e20 282d delete-region (- │ │ │ -00027920: 2071 2032 2920 7129 0a20 2020 2020 2020 q 2) q). │ │ │ -00027930: 2028 6465 6c65 7465 2d72 6567 696f 6e20 (delete-region │ │ │ -00027940: 7020 282b 2070 2032 2929 290a 2020 2020 p (+ p 2))). │ │ │ -00027950: 2020 2020 3b3b 2055 7064 6174 6520 6869 ;; Update hi │ │ │ -00027960: 6768 6c69 6768 7469 6e67 0a20 2020 2020 ghlighting. │ │ │ -00027970: 2020 2028 6966 2028 616e 6420 286e 6f74 (if (and (not │ │ │ -00027980: 2028 6571 7561 6c20 6e65 772d 7478 7420 (equal new-txt │ │ │ -00027990: 2770 6172 656e 2929 2028 6e6f 7420 2865 'paren)) (not (e │ │ │ -000279a0: 7175 616c 206e 6577 2d74 7874 2027 6e6f qual new-txt 'no │ │ │ -000279b0: 2d70 6172 656e 2929 290a 2020 2020 2020 -paren))). │ │ │ -000279c0: 2020 2020 2020 2861 7070 6c79 2027 6167 (apply 'ag │ │ │ -000279d0: 6461 322d 676f 2027 7361 7665 2074 2027 da2-go 'save t ' │ │ │ -000279e0: 6275 7379 206e 696c 2022 436d 645f 6869 busy nil "Cmd_hi │ │ │ -000279f0: 6768 6c69 6768 7422 0a20 2020 2020 2020 ghlight". │ │ │ -00027a00: 2020 2020 2020 2028 666f 726d 6174 2022 (format " │ │ │ -00027a10: 2564 2220 6f6c 642d 6729 0a20 2020 2020 %d" old-g). │ │ │ -00027a20: 2020 2020 2020 2020 2028 6167 6461 322d (agda2- │ │ │ -00027a30: 6d6b 5261 6e67 6520 6028 2c70 202c 282d mkRange `(,p ,(- │ │ │ -00027a40: 2071 2032 2929 290a 2020 2020 2020 2020 q 2))). │ │ │ -00027a50: 2020 2020 2020 2861 6764 6132 2d73 7472 (agda2-str │ │ │ -00027a60: 696e 672d 7175 6f74 6520 6e65 772d 7478 ing-quote new-tx │ │ │ -00027a70: 7429 206e 696c 2929 0a20 2020 2029 2929 t) nil)). ))) │ │ │ -00027a80: 0a0a 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ..;;;;;;;;;;;;;; │ │ │ +00026fd0: 2020 2020 2020 2020 2020 2020 2028 6d61 (ma │ │ │ +00026fe0: 6b65 2028 2d20 2870 6f69 6e74 2920 3429 ke (- (point) 4) │ │ │ +00026ff0: 2929 2929 2929 2929 290a 0a28 6465 6675 )))))))))..(defu │ │ │ +00027000: 6e20 6167 6461 322d 6d61 6b65 2d67 6f61 n agda2-make-goa │ │ │ +00027010: 6c20 2870 2071 206e 290a 2020 224d 616b l (p q n). "Mak │ │ │ +00027020: 6520 6120 676f 616c 2077 6974 6820 6e75 e a goal with nu │ │ │ +00027030: 6d62 6572 204e 2061 7420 3c50 3e7b 212e mber N at

{!. │ │ │ +00027040: 2e2e 217d 3c51 3e2e 2020 4173 7375 6d65 ..!}. Assume │ │ │ +00027050: 2074 6865 2072 6567 696f 6e20 6973 2063 the region is c │ │ │ +00027060: 6c65 616e 2e22 0a20 2028 616e 6e6f 7461 lean.". (annota │ │ │ +00027070: 7469 6f6e 2d70 7265 7365 7276 652d 6d6f tion-preserve-mo │ │ │ +00027080: 642d 702d 616e 642d 756e 646f 0a20 2020 d-p-and-undo. │ │ │ +00027090: 286c 6574 2028 2861 7470 2028 6c61 6d62 (let ((atp (lamb │ │ │ +000270a0: 6461 2028 7820 7073 2920 2861 6464 2d74 da (x ps) (add-t │ │ │ +000270b0: 6578 742d 7072 6f70 6572 7469 6573 2078 ext-properties x │ │ │ +000270c0: 2028 312b 2078 2920 7073 2929 2929 0a20 (1+ x) ps)))). │ │ │ +000270d0: 2020 2020 2866 756e 6361 6c6c 2061 7470 (funcall atp │ │ │ +000270e0: 2070 2020 2020 2020 2027 2863 6174 6567 p '(categ │ │ │ +000270f0: 6f72 7920 6167 6461 322d 6465 6c69 6d31 ory agda2-delim1 │ │ │ +00027100: 2929 0a20 2020 2020 2866 756e 6361 6c6c )). (funcall │ │ │ +00027110: 2061 7470 2028 312b 2070 2920 2027 2863 atp (1+ p) '(c │ │ │ +00027120: 6174 6567 6f72 7920 6167 6461 322d 6465 ategory agda2-de │ │ │ +00027130: 6c69 6d32 2929 0a20 2020 2020 2866 756e lim2)). (fun │ │ │ +00027140: 6361 6c6c 2061 7470 2028 2d20 7120 3229 call atp (- q 2) │ │ │ +00027150: 2027 2863 6174 6567 6f72 7920 6167 6461 '(category agda │ │ │ +00027160: 322d 6465 6c69 6d33 2929 0a20 2020 2020 2-delim3)). │ │ │ +00027170: 2866 756e 6361 6c6c 2061 7470 2028 312d (funcall atp (1- │ │ │ +00027180: 2071 2920 2027 2863 6174 6567 6f72 7920 q) '(category │ │ │ +00027190: 6167 6461 322d 6465 6c69 6d34 2929 290a agda2-delim4))). │ │ │ +000271a0: 2020 2028 6c65 7420 2828 6f20 286d 616b (let ((o (mak │ │ │ +000271b0: 652d 6f76 6572 6c61 7920 7020 7120 6e69 e-overlay p q ni │ │ │ +000271c0: 6c20 7420 6e69 6c29 2929 0a20 2020 2020 l t nil))). │ │ │ +000271d0: 286f 7665 726c 6179 2d70 7574 206f 2027 (overlay-put o ' │ │ │ +000271e0: 6d6f 6469 6669 6361 7469 6f6e 2d68 6f6f modification-hoo │ │ │ +000271f0: 6b73 2027 2861 6764 6132 2d70 726f 7465 ks '(agda2-prote │ │ │ +00027200: 6374 2d67 6f61 6c2d 6d61 726b 6572 7329 ct-goal-markers) │ │ │ +00027210: 290a 2020 2020 2028 6f76 6572 6c61 792d ). (overlay- │ │ │ +00027220: 7075 7420 6f20 2761 6764 6132 2d67 6e20 put o 'agda2-gn │ │ │ +00027230: 2020 2020 2020 2020 2020 6e29 0a20 2020 n). │ │ │ +00027240: 2020 286f 7665 726c 6179 2d70 7574 206f (overlay-put o │ │ │ +00027250: 2027 6661 6365 2020 2020 2020 2020 2020 'face │ │ │ +00027260: 2020 2020 2027 6869 6768 6c69 6768 7429 'highlight) │ │ │ +00027270: 0a20 2020 2020 286f 7665 726c 6179 2d70 . (overlay-p │ │ │ +00027280: 7574 206f 2027 6166 7465 722d 7374 7269 ut o 'after-stri │ │ │ +00027290: 6e67 2020 2020 2020 2028 7072 6f70 6572 ng (proper │ │ │ +000272a0: 7469 7a65 2028 666f 726d 6174 2022 2573 tize (format "%s │ │ │ +000272b0: 2220 6e29 2027 6661 6365 2027 6869 6768 " n) 'face 'high │ │ │ +000272c0: 6c69 6768 7429 2929 2929 0a0a 2864 6566 light)))))..(def │ │ │ +000272d0: 756e 2061 6764 6132 2d70 726f 7465 6374 un agda2-protect │ │ │ +000272e0: 2d67 6f61 6c2d 6d61 726b 6572 7320 286f -goal-markers (o │ │ │ +000272f0: 6c20 6163 7469 6f6e 2062 6567 2065 6e64 l action beg end │ │ │ +00027300: 2026 6f70 7469 6f6e 616c 205f 6c65 6e67 &optional _leng │ │ │ +00027310: 7468 290a 2020 2245 6e73 7572 6573 2074 th). "Ensures t │ │ │ +00027320: 6861 7420 7468 6520 676f 616c 206d 6172 hat the goal mar │ │ │ +00027330: 6b65 7273 2063 616e 6e6f 7420 6265 2074 kers cannot be t │ │ │ +00027340: 616d 7065 7265 6420 7769 7468 2e0a 4578 ampered with..Ex │ │ │ +00027350: 6365 7074 2069 6620 6069 6e68 6962 6974 cept if `inhibit │ │ │ +00027360: 2d72 6561 642d 6f6e 6c79 2720 6973 206e -read-only' is n │ │ │ +00027370: 6f6e 2d6e 696c 206f 7220 2f61 6c6c 2f20 on-nil or /all/ │ │ │ +00027380: 6f66 2074 6865 2067 6f61 6c20 6973 0a6d of the goal is.m │ │ │ +00027390: 6f64 6966 6965 642e 220a 2020 2869 6620 odified.". (if │ │ │ +000273a0: 6163 7469 6f6e 0a20 2020 2020 203b 3b20 action. ;; │ │ │ +000273b0: 5468 6973 2069 7320 7468 6520 6166 7465 This is the afte │ │ │ +000273c0: 722d 6368 616e 6765 2068 6f6f 6b2e 0a20 r-change hook.. │ │ │ +000273d0: 2020 2020 206e 696c 0a20 2020 203b 3b20 nil. ;; │ │ │ +000273e0: 5468 6973 2069 7320 7468 6520 6265 666f This is the befo │ │ │ +000273f0: 7265 2d63 6861 6e67 6520 686f 6f6b 2e0a re-change hook.. │ │ │ +00027400: 2020 2020 2863 6f6e 640a 2020 2020 2028 (cond. ( │ │ │ +00027410: 2861 6e64 2028 3c3d 2062 6567 2028 6f76 (and (<= beg (ov │ │ │ +00027420: 6572 6c61 792d 7374 6172 7420 6f6c 2929 erlay-start ol)) │ │ │ +00027430: 2028 3e3d 2065 6e64 2028 6f76 6572 6c61 (>= end (overla │ │ │ +00027440: 792d 656e 6420 6f6c 2929 290a 2020 2020 y-end ol))). │ │ │ +00027450: 2020 3b3b 2054 6865 2075 7365 7220 6973 ;; The user is │ │ │ +00027460: 2074 7279 696e 6720 746f 2072 656d 6f76 trying to remov │ │ │ +00027470: 6520 7468 6520 7768 6f6c 6520 676f 616c e the whole goal │ │ │ +00027480: 3a0a 2020 2020 2020 3b3b 206d 616e 7561 :. ;; manua │ │ │ +00027490: 6c6c 7920 6576 6170 6f72 6174 6520 7468 lly evaporate th │ │ │ +000274a0: 6520 6f76 6572 6c61 7920 616e 6420 6164 e overlay and ad │ │ │ +000274b0: 6420 616e 2075 6e64 6f2d 6c6f 6720 656e d an undo-log en │ │ │ +000274c0: 7472 7920 736f 0a20 2020 2020 203b 3b20 try so. ;; │ │ │ +000274d0: 6974 2067 6574 7320 7265 2d61 6464 6564 it gets re-added │ │ │ +000274e0: 2069 6620 6e65 6564 6564 2e0a 2020 2020 if needed.. │ │ │ +000274f0: 2020 2877 6865 6e20 286c 6973 7470 2062 (when (listp b │ │ │ +00027500: 7566 6665 722d 756e 646f 2d6c 6973 7429 uffer-undo-list) │ │ │ +00027510: 0a20 2020 2020 2020 2028 7075 7368 2028 . (push ( │ │ │ +00027520: 6c69 7374 2027 6170 706c 7920 3020 286f list 'apply 0 (o │ │ │ +00027530: 7665 726c 6179 2d73 7461 7274 206f 6c29 verlay-start ol) │ │ │ +00027540: 2028 6f76 6572 6c61 792d 656e 6420 6f6c (overlay-end ol │ │ │ +00027550: 290a 2020 2020 2020 2020 2020 2020 2020 ). │ │ │ +00027560: 2020 2020 2020 276d 6f76 652d 6f76 6572 'move-over │ │ │ +00027570: 6c61 7920 6f6c 2028 6f76 6572 6c61 792d lay ol (overlay- │ │ │ +00027580: 7374 6172 7420 6f6c 2920 286f 7665 726c start ol) (overl │ │ │ +00027590: 6179 2d65 6e64 206f 6c29 290a 2020 2020 ay-end ol)). │ │ │ +000275a0: 2020 2020 2020 2020 2020 6275 6666 6572 buffer │ │ │ +000275b0: 2d75 6e64 6f2d 6c69 7374 2929 0a20 2020 -undo-list)). │ │ │ +000275c0: 2020 2028 6465 6c65 7465 2d6f 7665 726c (delete-overl │ │ │ +000275d0: 6179 206f 6c29 290a 2020 2020 2028 286f ay ol)). ((o │ │ │ +000275e0: 7220 283c 2062 6567 2028 2b20 286f 7665 r (< beg (+ (ove │ │ │ +000275f0: 726c 6179 2d73 7461 7274 206f 6c29 2032 rlay-start ol) 2 │ │ │ +00027600: 2929 0a20 2020 2020 2020 2020 2028 3e20 )). (> │ │ │ +00027610: 656e 6420 282d 2028 6f76 6572 6c61 792d end (- (overlay- │ │ │ +00027620: 656e 6420 6f6c 2920 3229 2929 0a20 2020 end ol) 2))). │ │ │ +00027630: 2020 2028 756e 6c65 7373 2069 6e68 6962 (unless inhib │ │ │ +00027640: 6974 2d72 6561 642d 6f6e 6c79 0a20 2020 it-read-only. │ │ │ +00027650: 2020 2020 2028 7369 676e 616c 2027 7465 (signal 'te │ │ │ +00027660: 7874 2d72 6561 642d 6f6e 6c79 206e 696c xt-read-only nil │ │ │ +00027670: 2929 2929 2929 0a0a 2864 6566 756e 2061 ))))))..(defun a │ │ │ +00027680: 6764 6132 2d75 7064 6174 6520 286f 6c64 gda2-update (old │ │ │ +00027690: 2d67 206e 6577 2d74 7874 290a 2020 2255 -g new-txt). "U │ │ │ +000276a0: 7064 6174 6520 7468 6520 676f 616c 204f pdate the goal O │ │ │ +000276b0: 4c44 2d47 2e0a 4966 204e 4557 2d54 5854 LD-G..If NEW-TXT │ │ │ +000276c0: 2069 7320 6120 7374 7269 6e67 2c20 7468 is a string, th │ │ │ +000276d0: 656e 2074 6865 2067 6f61 6c20 6973 2072 en the goal is r │ │ │ +000276e0: 6570 6c61 6365 6420 6279 2074 6865 2073 eplaced by the s │ │ │ +000276f0: 7472 696e 672c 0a61 6e64 206f 7468 6572 tring,.and other │ │ │ +00027700: 7769 7365 2074 6865 2074 6578 7420 696e wise the text in │ │ │ +00027710: 7369 6465 2074 6865 2067 6f61 6c20 6973 side the goal is │ │ │ +00027720: 2072 6574 6169 6e65 6420 2870 6172 656e retained (paren │ │ │ +00027730: 7468 6573 6973 6564 0a69 6620 4e45 572d thesised.if NEW- │ │ │ +00027740: 5458 5420 6973 2060 2770 6172 656e 2729 TXT is `'paren') │ │ │ +00027750: 2e0a 0a52 656d 6f76 6573 2074 6865 2067 ...Removes the g │ │ │ +00027760: 6f61 6c20 6272 6163 6573 2c20 6275 7420 oal braces, but │ │ │ +00027770: 646f 6573 206e 6f74 2072 656d 6f76 6520 does not remove │ │ │ +00027780: 7468 6520 676f 616c 206f 7665 726c 6179 the goal overlay │ │ │ +00027790: 206f 720a 7465 7874 2070 726f 7065 7274 or.text propert │ │ │ +000277a0: 6965 732e 220a 2020 2863 6c2d 6d75 6c74 ies.". (cl-mult │ │ │ +000277b0: 6970 6c65 2d76 616c 7565 2d62 696e 6420 iple-value-bind │ │ │ +000277c0: 2870 2071 2920 2861 6764 6132 2d72 616e (p q) (agda2-ran │ │ │ +000277d0: 6765 2d6f 662d 676f 616c 206f 6c64 2d67 ge-of-goal old-g │ │ │ +000277e0: 290a 2020 2020 2873 6176 652d 6578 6375 ). (save-excu │ │ │ +000277f0: 7273 696f 6e0a 2020 2020 2020 2863 6f6e rsion. (con │ │ │ +00027800: 6420 2828 7374 7269 6e67 7020 6e65 772d d ((stringp new- │ │ │ +00027810: 7478 7429 0a20 2020 2020 2020 2020 2020 txt). │ │ │ +00027820: 2020 2861 6764 6132 2d72 6570 6c61 6365 (agda2-replace │ │ │ +00027830: 2d67 6f61 6c20 6f6c 642d 6720 6e65 772d -goal old-g new- │ │ │ +00027840: 7478 7429 290a 2020 2020 2020 2020 2020 txt)). │ │ │ +00027850: 2020 2828 6571 7561 6c20 6e65 772d 7478 ((equal new-tx │ │ │ +00027860: 7420 2770 6172 656e 290a 2020 2020 2020 t 'paren). │ │ │ +00027870: 2020 2020 2020 2028 676f 746f 2d63 6861 (goto-cha │ │ │ +00027880: 7220 282d 2071 2032 2929 2028 696e 7365 r (- q 2)) (inse │ │ │ +00027890: 7274 2022 2922 290a 2020 2020 2020 2020 rt ")"). │ │ │ +000278a0: 2020 2020 2028 676f 746f 2d63 6861 7220 (goto-char │ │ │ +000278b0: 282b 2070 2032 2929 2028 696e 7365 7274 (+ p 2)) (insert │ │ │ +000278c0: 2022 2822 2929 290a 2020 2020 2020 2863 "("))). (c │ │ │ +000278d0: 6c2d 6d75 6c74 6970 6c65 2d76 616c 7565 l-multiple-value │ │ │ +000278e0: 2d62 696e 6420 2870 2071 2920 2861 6764 -bind (p q) (agd │ │ │ +000278f0: 6132 2d72 616e 6765 2d6f 662d 676f 616c a2-range-of-goal │ │ │ +00027900: 206f 6c64 2d67 290a 2020 2020 2020 2020 old-g). │ │ │ +00027910: 2864 656c 6574 652d 7265 6769 6f6e 2028 (delete-region ( │ │ │ +00027920: 2d20 7120 3229 2071 290a 2020 2020 2020 - q 2) q). │ │ │ +00027930: 2020 2864 656c 6574 652d 7265 6769 6f6e (delete-region │ │ │ +00027940: 2070 2028 2b20 7020 3229 2929 0a20 2020 p (+ p 2))). │ │ │ +00027950: 2020 2020 203b 3b20 5570 6461 7465 2068 ;; Update h │ │ │ +00027960: 6967 686c 6967 6874 696e 670a 2020 2020 ighlighting. │ │ │ +00027970: 2020 2020 2869 6620 2861 6e64 2028 6e6f (if (and (no │ │ │ +00027980: 7420 2865 7175 616c 206e 6577 2d74 7874 t (equal new-txt │ │ │ +00027990: 2027 7061 7265 6e29 2920 286e 6f74 2028 'paren)) (not ( │ │ │ +000279a0: 6571 7561 6c20 6e65 772d 7478 7420 276e equal new-txt 'n │ │ │ +000279b0: 6f2d 7061 7265 6e29 2929 0a20 2020 2020 o-paren))). │ │ │ +000279c0: 2020 2020 2020 2028 6170 706c 7920 2761 (apply 'a │ │ │ +000279d0: 6764 6132 2d67 6f20 2773 6176 6520 7420 gda2-go 'save t │ │ │ +000279e0: 2762 7573 7920 6e69 6c20 2243 6d64 5f68 'busy nil "Cmd_h │ │ │ +000279f0: 6967 686c 6967 6874 220a 2020 2020 2020 ighlight". │ │ │ +00027a00: 2020 2020 2020 2020 2866 6f72 6d61 7420 (format │ │ │ +00027a10: 2225 6422 206f 6c64 2d67 290a 2020 2020 "%d" old-g). │ │ │ +00027a20: 2020 2020 2020 2020 2020 2861 6764 6132 (agda2 │ │ │ +00027a30: 2d6d 6b52 616e 6765 2060 282c 7020 2c28 -mkRange `(,p ,( │ │ │ +00027a40: 2d20 7120 3229 2929 0a20 2020 2020 2020 - q 2))). │ │ │ +00027a50: 2020 2020 2020 2028 6167 6461 322d 7374 (agda2-st │ │ │ +00027a60: 7269 6e67 2d71 756f 7465 206e 6577 2d74 ring-quote new-t │ │ │ +00027a70: 7874 2920 6e69 6c29 290a 2020 2020 2929 xt) nil)). )) │ │ │ +00027a80: 290a 0a3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b )..;;;;;;;;;;;;; │ │ │ 00027a90: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00027aa0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00027ab0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ -00027ac0: 3b3b 3b3b 3b3b 3b3b 3b3b 0a3b 3b3b 3b20 ;;;;;;;;;;.;;;; │ │ │ -00027ad0: 4d69 7363 0a0a 2864 6566 756e 2061 6764 Misc..(defun agd │ │ │ -00027ae0: 6132 2d70 726f 6365 7373 2d73 7461 7475 a2-process-statu │ │ │ -00027af0: 7320 2829 0a20 2022 5374 6174 7573 206f s (). "Status o │ │ │ -00027b00: 6620 6061 6764 6132 2d70 726f 6365 7373 f `agda2-process │ │ │ -00027b10: 2d62 7566 6665 7227 2c20 6f72 205c 226e -buffer', or \"n │ │ │ -00027b20: 6f20 7072 6f63 6573 735c 222e 220a 2020 o process\".". │ │ │ -00027b30: 2863 6f6e 6469 7469 6f6e 2d63 6173 6520 (condition-case │ │ │ -00027b40: 6e69 6c0a 2020 2020 2020 2870 726f 6365 nil. (proce │ │ │ -00027b50: 7373 2d73 7461 7475 7320 6167 6461 322d ss-status agda2- │ │ │ -00027b60: 7072 6f63 6573 7329 0a20 2020 2028 6572 process). (er │ │ │ -00027b70: 726f 7220 226e 6f20 7072 6f63 6573 7322 ror "no process" │ │ │ -00027b80: 2929 290a 0a28 6465 6675 6e20 6167 6461 )))..(defun agda │ │ │ -00027b90: 322d 696e 7465 7273 7065 7273 6520 2873 2-intersperse (s │ │ │ -00027ba0: 6570 2078 7329 0a20 2028 6c65 7420 2879 ep xs). (let (y │ │ │ -00027bb0: 7329 0a20 2020 2028 7768 696c 6520 7873 s). (while xs │ │ │ -00027bc0: 0a20 2020 2020 2028 7075 7368 2028 706f . (push (po │ │ │ -00027bd0: 7020 7873 2920 7973 290a 2020 2020 2020 p xs) ys). │ │ │ -00027be0: 2870 7573 6820 7365 7020 7973 2929 0a20 (push sep ys)). │ │ │ -00027bf0: 2020 2028 706f 7020 7973 290a 2020 2020 (pop ys). │ │ │ -00027c00: 286e 7265 7665 7273 6520 7973 2929 290a (nreverse ys))). │ │ │ -00027c10: 0a28 6465 6675 6e20 6167 6461 322d 676f .(defun agda2-go │ │ │ -00027c20: 616c 2d52 616e 6765 2028 6f29 0a20 2022 al-Range (o). " │ │ │ -00027c30: 5468 6520 4861 736b 656c 6c20 5261 6e67 The Haskell Rang │ │ │ -00027c40: 6520 6f66 2067 6f61 6c20 6f76 6572 6c61 e of goal overla │ │ │ -00027c50: 7920 4f2e 220a 2020 2861 6764 6132 2d6d y O.". (agda2-m │ │ │ -00027c60: 6b52 616e 6765 2060 282c 282b 2028 6f76 kRange `(,(+ (ov │ │ │ -00027c70: 6572 6c61 792d 7374 6172 7420 6f29 2032 erlay-start o) 2 │ │ │ -00027c80: 290a 2020 2020 2020 2020 2020 2020 2020 ). │ │ │ -00027c90: 2020 2020 202c 282d 2028 6f76 6572 6c61 ,(- (overla │ │ │ -00027ca0: 792d 656e 6420 2020 6f29 2032 2929 2929 y-end o) 2)))) │ │ │ -00027cb0: 0a0a 2864 6566 756e 2061 6764 6132 2d6d ..(defun agda2-m │ │ │ -00027cc0: 6b52 616e 6765 2028 706f 696e 7473 290a kRange (points). │ │ │ -00027cd0: 2020 2241 2073 7472 696e 6720 7265 7072 "A string repr │ │ │ -00027ce0: 6573 656e 7469 6e67 2061 2072 616e 6765 esenting a range │ │ │ -00027cf0: 2063 6f72 7265 7370 6f6e 6469 6e67 2074 corresponding t │ │ │ -00027d00: 6f20 504f 494e 5453 2e0a 504f 494e 5453 o POINTS..POINTS │ │ │ -00027d10: 206d 7573 7420 6265 2061 206c 6973 7420 must be a list │ │ │ -00027d20: 6f66 2069 6e74 6567 6572 732c 2061 6e64 of integers, and │ │ │ -00027d30: 2069 7473 206c 656e 6774 6820 6d75 7374 its length must │ │ │ -00027d40: 2062 6520 3020 6f72 2032 2e22 0a20 2028 be 0 or 2.". ( │ │ │ -00027d50: 6966 2070 6f69 6e74 730a 2020 2020 2020 if points. │ │ │ -00027d60: 2866 6f72 6d61 7420 2228 696e 7465 7276 (format "(interv │ │ │ -00027d70: 616c 7354 6f52 616e 6765 2028 4a75 7374 alsToRange (Just │ │ │ -00027d80: 2028 6d6b 4162 736f 6c75 7465 2025 7329 (mkAbsolute %s) │ │ │ -00027d90: 2920 2573 2922 0a20 2020 2020 2020 2020 ) %s)". │ │ │ -00027da0: 2020 2020 2028 6167 6461 322d 7374 7269 (agda2-stri │ │ │ -00027db0: 6e67 2d71 756f 7465 2028 6669 6c65 2d74 ng-quote (file-t │ │ │ -00027dc0: 7275 656e 616d 6520 2862 7566 6665 722d ruename (buffer- │ │ │ -00027dd0: 6669 6c65 2d6e 616d 6529 2929 0a20 2020 file-name))). │ │ │ -00027de0: 2020 2020 2020 2020 2020 2028 666f 726d (form │ │ │ -00027df0: 6174 2022 5b49 6e74 6572 7661 6c20 2829 at "[Interval () │ │ │ -00027e00: 2025 7320 2573 5d22 0a20 2020 2020 2020 %s %s]". │ │ │ -00027e10: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ -00027e20: 6167 6461 322d 6d6b 506f 7320 2863 6172 agda2-mkPos (car │ │ │ -00027e30: 2070 6f69 6e74 7329 290a 2020 2020 2020 points)). │ │ │ +00027ac0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b0a 3b3b 3b3b ;;;;;;;;;;;.;;;; │ │ │ +00027ad0: 204d 6973 630a 0a28 6465 6675 6e20 6167 Misc..(defun ag │ │ │ +00027ae0: 6461 322d 7072 6f63 6573 732d 7374 6174 da2-process-stat │ │ │ +00027af0: 7573 2028 290a 2020 2253 7461 7475 7320 us (). "Status │ │ │ +00027b00: 6f66 2060 6167 6461 322d 7072 6f63 6573 of `agda2-proces │ │ │ +00027b10: 732d 6275 6666 6572 272c 206f 7220 5c22 s-buffer', or \" │ │ │ +00027b20: 6e6f 2070 726f 6365 7373 5c22 2e22 0a20 no process\".". │ │ │ +00027b30: 2028 636f 6e64 6974 696f 6e2d 6361 7365 (condition-case │ │ │ +00027b40: 206e 696c 0a20 2020 2020 2028 7072 6f63 nil. (proc │ │ │ +00027b50: 6573 732d 7374 6174 7573 2061 6764 6132 ess-status agda2 │ │ │ +00027b60: 2d70 726f 6365 7373 290a 2020 2020 2865 -process). (e │ │ │ +00027b70: 7272 6f72 2022 6e6f 2070 726f 6365 7373 rror "no process │ │ │ +00027b80: 2229 2929 0a0a 2864 6566 756e 2061 6764 ")))..(defun agd │ │ │ +00027b90: 6132 2d69 6e74 6572 7370 6572 7365 2028 a2-intersperse ( │ │ │ +00027ba0: 7365 7020 7873 290a 2020 286c 6574 2028 sep xs). (let ( │ │ │ +00027bb0: 7973 290a 2020 2020 2877 6869 6c65 2078 ys). (while x │ │ │ +00027bc0: 730a 2020 2020 2020 2870 7573 6820 2870 s. (push (p │ │ │ +00027bd0: 6f70 2078 7329 2079 7329 0a20 2020 2020 op xs) ys). │ │ │ +00027be0: 2028 7075 7368 2073 6570 2079 7329 290a (push sep ys)). │ │ │ +00027bf0: 2020 2020 2870 6f70 2079 7329 0a20 2020 (pop ys). │ │ │ +00027c00: 2028 6e72 6576 6572 7365 2079 7329 2929 (nreverse ys))) │ │ │ +00027c10: 0a0a 2864 6566 756e 2061 6764 6132 2d67 ..(defun agda2-g │ │ │ +00027c20: 6f61 6c2d 5261 6e67 6520 286f 290a 2020 oal-Range (o). │ │ │ +00027c30: 2254 6865 2048 6173 6b65 6c6c 2052 616e "The Haskell Ran │ │ │ +00027c40: 6765 206f 6620 676f 616c 206f 7665 726c ge of goal overl │ │ │ +00027c50: 6179 204f 2e22 0a20 2028 6167 6461 322d ay O.". (agda2- │ │ │ +00027c60: 6d6b 5261 6e67 6520 6028 2c28 2b20 286f mkRange `(,(+ (o │ │ │ +00027c70: 7665 726c 6179 2d73 7461 7274 206f 2920 verlay-start o) │ │ │ +00027c80: 3229 0a20 2020 2020 2020 2020 2020 2020 2). │ │ │ +00027c90: 2020 2020 2020 2c28 2d20 286f 7665 726c ,(- (overl │ │ │ +00027ca0: 6179 2d65 6e64 2020 206f 2920 3229 2929 ay-end o) 2))) │ │ │ +00027cb0: 290a 0a28 6465 6675 6e20 6167 6461 322d )..(defun agda2- │ │ │ +00027cc0: 6d6b 5261 6e67 6520 2870 6f69 6e74 7329 mkRange (points) │ │ │ +00027cd0: 0a20 2022 4120 7374 7269 6e67 2072 6570 . "A string rep │ │ │ +00027ce0: 7265 7365 6e74 696e 6720 6120 7261 6e67 resenting a rang │ │ │ +00027cf0: 6520 636f 7272 6573 706f 6e64 696e 6720 e corresponding │ │ │ +00027d00: 746f 2050 4f49 4e54 532e 0a50 4f49 4e54 to POINTS..POINT │ │ │ +00027d10: 5320 6d75 7374 2062 6520 6120 6c69 7374 S must be a list │ │ │ +00027d20: 206f 6620 696e 7465 6765 7273 2c20 616e of integers, an │ │ │ +00027d30: 6420 6974 7320 6c65 6e67 7468 206d 7573 d its length mus │ │ │ +00027d40: 7420 6265 2030 206f 7220 322e 220a 2020 t be 0 or 2.". │ │ │ +00027d50: 2869 6620 706f 696e 7473 0a20 2020 2020 (if points. │ │ │ +00027d60: 2028 666f 726d 6174 2022 2869 6e74 6572 (format "(inter │ │ │ +00027d70: 7661 6c73 546f 5261 6e67 6520 284a 7573 valsToRange (Jus │ │ │ +00027d80: 7420 286d 6b41 6273 6f6c 7574 6520 2573 t (mkAbsolute %s │ │ │ +00027d90: 2929 2025 7329 220a 2020 2020 2020 2020 )) %s)". │ │ │ +00027da0: 2020 2020 2020 2861 6764 6132 2d73 7472 (agda2-str │ │ │ +00027db0: 696e 672d 7175 6f74 6520 2866 696c 652d ing-quote (file- │ │ │ +00027dc0: 7472 7565 6e61 6d65 2028 6275 6666 6572 truename (buffer │ │ │ +00027dd0: 2d66 696c 652d 6e61 6d65 2929 290a 2020 -file-name))). │ │ │ +00027de0: 2020 2020 2020 2020 2020 2020 2866 6f72 (for │ │ │ +00027df0: 6d61 7420 225b 496e 7465 7276 616c 2028 mat "[Interval ( │ │ │ +00027e00: 2920 2573 2025 735d 220a 2020 2020 2020 ) %s %s]". │ │ │ +00027e10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +00027e20: 2861 6764 6132 2d6d 6b50 6f73 2028 6361 (agda2-mkPos (ca │ │ │ +00027e30: 7220 706f 696e 7473 2929 0a20 2020 2020 r points)). │ │ │ 00027e40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00027e50: 2861 6764 6132 2d6d 6b50 6f73 2028 6361 (agda2-mkPos (ca │ │ │ -00027e60: 6472 2070 6f69 6e74 7329 2929 290a 2020 dr points)))). │ │ │ -00027e70: 2020 226e 6f52 616e 6765 2229 290a 0a28 "noRange"))..( │ │ │ -00027e80: 6465 6675 6e20 6167 6461 322d 6d6b 506f defun agda2-mkPo │ │ │ -00027e90: 7320 2826 6f70 7469 6f6e 616c 2070 290a s (&optional p). │ │ │ -00027ea0: 2020 2254 6865 2048 6173 6b65 6c6c 2050 "The Haskell P │ │ │ -00027eb0: 6f73 6974 696f 6e57 6974 686f 7574 4669 ositionWithoutFi │ │ │ -00027ec0: 6c65 2063 6f72 7265 7370 6f6e 6469 6e67 le corresponding │ │ │ -00027ed0: 2074 6f20 5020 6f72 2060 706f 696e 7427 to P or `point' │ │ │ -00027ee0: 2e22 0a20 2028 7361 7665 2d65 7863 7572 .". (save-excur │ │ │ -00027ef0: 7369 6f6e 0a20 2020 2028 7361 7665 2d72 sion. (save-r │ │ │ -00027f00: 6573 7472 6963 7469 6f6e 0a20 2020 2020 estriction. │ │ │ -00027f10: 2028 7769 6465 6e29 0a20 2020 2020 2028 (widen). ( │ │ │ -00027f20: 6966 2070 2028 676f 746f 2d63 6861 7220 if p (goto-char │ │ │ -00027f30: 7029 290a 2020 2020 2020 2866 6f72 6d61 p)). (forma │ │ │ -00027f40: 7420 2228 506e 2028 2920 2564 2025 6420 t "(Pn () %d %d │ │ │ -00027f50: 2564 2922 0a20 2020 2020 2020 2020 2020 %d)". │ │ │ -00027f60: 2020 2028 706f 696e 7429 0a20 2020 2020 (point). │ │ │ -00027f70: 2020 2020 2020 2020 2028 636f 756e 742d (count- │ │ │ -00027f80: 6c69 6e65 7320 2870 6f69 6e74 2d6d 696e lines (point-min │ │ │ -00027f90: 2920 2870 6f69 6e74 2929 0a20 2020 2020 ) (point)). │ │ │ -00027fa0: 2020 2020 2020 2020 2028 312b 2028 6375 (1+ (cu │ │ │ -00027fb0: 7272 656e 742d 636f 6c75 6d6e 2929 2929 rrent-column)))) │ │ │ -00027fc0: 2929 0a0a 2864 6566 756e 2061 6764 6132 ))..(defun agda2 │ │ │ -00027fd0: 2d63 6861 722d 7175 6f74 6520 2863 290a -char-quote (c). │ │ │ -00027fe0: 2020 2243 6f6e 7665 7274 2063 6861 7261 "Convert chara │ │ │ -00027ff0: 6374 6572 2043 2074 6f20 7468 6520 6e6f cter C to the no │ │ │ -00028000: 7461 7469 6f6e 2075 7365 6420 696e 2048 tation used in H │ │ │ -00028010: 6173 6b65 6c6c 2073 7472 696e 6773 2e0a askell strings.. │ │ │ -00028020: 5468 6520 6e6f 6e2d 4153 4349 4920 6368 The non-ASCII ch │ │ │ -00028030: 6172 6163 7465 7273 2061 7265 2061 6374 aracters are act │ │ │ -00028040: 7561 6c6c 7920 7265 6e64 6572 6564 2061 ually rendered a │ │ │ -00028050: 730a 5c22 5c5c 784e 4e4e 4e5c 5c26 5c22 s.\"\\xNNNN\\&\" │ │ │ -00028060: 2c20 692e 652e 2066 6f6c 6c6f 7765 6420 , i.e. followed │ │ │ -00028070: 6279 2061 205c 226e 756c 6c20 6368 6172 by a \"null char │ │ │ -00028080: 6163 7465 725c 222c 2074 6f20 6176 6f69 acter\", to avoi │ │ │ -00028090: 640a 7072 6f62 6c65 6d73 2069 6620 7468 d.problems if th │ │ │ -000280a0: 6579 2061 7265 2066 6f6c 6c6f 7765 6420 ey are followed │ │ │ -000280b0: 6279 2064 6967 6974 732e 2020 4153 4349 by digits. ASCI │ │ │ -000280c0: 4920 6368 6172 6163 7465 7273 2028 636f I characters (co │ │ │ -000280d0: 6465 0a70 6f69 6e74 7320 3c20 3132 3829 de.points < 128) │ │ │ -000280e0: 2061 7265 2063 6f6e 7665 7274 6564 2074 are converted t │ │ │ -000280f0: 6f20 7369 6e67 6c65 746f 6e20 7374 7269 o singleton stri │ │ │ -00028100: 6e67 732e 220a 2020 2869 6620 283c 2063 ngs.". (if (< c │ │ │ -00028110: 2031 3238 290a 2020 2020 2020 286c 6973 128). (lis │ │ │ -00028120: 7420 6329 0a20 2020 203b 3b20 4649 584d t c). ;; FIXM │ │ │ -00028130: 453a 2057 6879 2072 6574 7572 6e20 6120 E: Why return a │ │ │ -00028140: 6c69 7374 2072 6174 6865 7220 7468 616e list rather than │ │ │ -00028150: 2061 2073 7472 696e 673f 2020 2d2d 5374 a string? --St │ │ │ -00028160: 6566 0a20 2020 2028 6170 7065 6e64 2028 ef. (append ( │ │ │ -00028170: 666f 726d 6174 2022 5c5c 7825 785c 5c26 format "\\x%x\\& │ │ │ -00028180: 2220 2865 6e63 6f64 652d 6368 6172 2063 " (encode-char c │ │ │ -00028190: 2027 7563 7329 2920 6e69 6c29 2929 0a0a 'ucs)) nil))).. │ │ │ -000281a0: 2864 6566 756e 2061 6764 6132 2d73 7472 (defun agda2-str │ │ │ -000281b0: 696e 672d 7175 6f74 6520 2873 290a 2020 ing-quote (s). │ │ │ -000281c0: 2246 6f72 6d61 7420 5320 6173 2061 2048 "Format S as a H │ │ │ -000281d0: 6173 6b65 6c6c 2073 7472 696e 6720 6c69 askell string li │ │ │ -000281e0: 7465 7261 6c2e 0a52 656d 6f76 6573 2061 teral..Removes a │ │ │ -000281f0: 6e79 2074 6578 7420 7072 6f70 6572 7469 ny text properti │ │ │ -00028200: 6573 2c20 6573 6361 7065 7320 6e65 776c es, escapes newl │ │ │ -00028210: 696e 6573 2c20 646f 7562 6c65 2071 756f ines, double quo │ │ │ -00028220: 7465 732c 0a65 7463 2e2c 2061 6464 7320 tes,.etc., adds │ │ │ -00028230: 7375 7272 6f75 6e64 696e 6720 646f 7562 surrounding doub │ │ │ -00028240: 6c65 2071 756f 7465 732c 2061 6e64 2063 le quotes, and c │ │ │ -00028250: 6f6e 7665 7274 7320 6e6f 6e2d 4153 4349 onverts non-ASCI │ │ │ -00028260: 490a 6368 6172 6163 7465 7273 2074 6f20 I.characters to │ │ │ -00028270: 7468 6520 5c5c 784e 4e4e 4e20 6e6f 7461 the \\xNNNN nota │ │ │ -00028280: 7469 6f6e 2075 7365 6420 696e 2048 6173 tion used in Has │ │ │ -00028290: 6b65 6c6c 2073 7472 696e 6773 2e22 0a20 kell strings.". │ │ │ -000282a0: 2028 6c65 7420 2828 7072 696e 742d 6573 (let ((print-es │ │ │ -000282b0: 6361 7065 2d6e 6577 6c69 6e65 7320 7429 cape-newlines t) │ │ │ -000282c0: 0a20 2020 2020 2020 2028 7332 2028 636f . (s2 (co │ │ │ -000282d0: 7079 2d73 6571 7565 6e63 6520 7329 2929 py-sequence s))) │ │ │ -000282e0: 0a20 2020 2028 7365 742d 7465 7874 2d70 . (set-text-p │ │ │ -000282f0: 726f 7065 7274 6965 7320 3020 286c 656e roperties 0 (len │ │ │ -00028300: 6774 6820 7332 2920 6e69 6c20 7332 290a gth s2) nil s2). │ │ │ -00028310: 2020 2020 286d 6170 636f 6e63 6174 2027 (mapconcat ' │ │ │ -00028320: 6167 6461 322d 6368 6172 2d71 756f 7465 agda2-char-quote │ │ │ -00028330: 2028 7072 696e 312d 746f 2d73 7472 696e (prin1-to-strin │ │ │ -00028340: 6720 7332 2920 2222 2929 290a 0a28 6465 g s2) "")))..(de │ │ │ -00028350: 6675 6e20 6167 6461 322d 6c69 7374 2d71 fun agda2-list-q │ │ │ -00028360: 756f 7465 2028 7374 7269 6e67 7329 0a20 uote (strings). │ │ │ -00028370: 2022 436f 6e76 6572 7420 6120 6c69 7374 "Convert a list │ │ │ -00028380: 206f 6620 5354 5249 4e47 5320 696e 746f of STRINGS into │ │ │ -00028390: 2061 2073 7472 696e 6720 7265 7072 6573 a string repres │ │ │ -000283a0: 656e 7469 6e67 2069 7420 696e 2048 6173 enting it in Has │ │ │ -000283b0: 6b65 6c6c 2073 796e 7461 782e 220a 2020 kell syntax.". │ │ │ -000283c0: 2863 6f6e 6361 7420 225b 2220 286d 6170 (concat "[" (map │ │ │ -000283d0: 636f 6e63 6174 2027 6167 6461 322d 7374 concat 'agda2-st │ │ │ -000283e0: 7269 6e67 2d71 756f 7465 2073 7472 696e ring-quote strin │ │ │ -000283f0: 6773 2022 2c20 2229 2022 5d22 2929 0a0a gs ", ") "]")).. │ │ │ -00028400: 2864 6566 756e 2061 6764 6132 2d67 6f61 (defun agda2-goa │ │ │ -00028410: 6c2d 6174 2870 6f73 290a 2020 2252 6574 l-at(pos). "Ret │ │ │ -00028420: 7572 6e20 2867 6f61 6c20 6f76 6572 6c61 urn (goal overla │ │ │ -00028430: 792c 2067 6f61 6c20 6e75 6d62 6572 2920 y, goal number) │ │ │ -00028440: 6174 2050 4f53 2c20 6f72 206e 696c 2e22 at POS, or nil." │ │ │ -00028450: 0a20 2028 6c65 7420 2828 6f73 2028 616e . (let ((os (an │ │ │ -00028460: 6420 706f 7320 286f 7665 726c 6179 732d d pos (overlays- │ │ │ -00028470: 6174 2070 6f73 2929 2920 6f20 6729 0a20 at pos))) o g). │ │ │ -00028480: 2020 2028 7768 696c 6520 2861 6e64 206f (while (and o │ │ │ -00028490: 7320 286e 6f74 2873 6574 7120 6720 286f s (not(setq g (o │ │ │ -000284a0: 7665 726c 6179 2d67 6574 2028 7365 7471 verlay-get (setq │ │ │ -000284b0: 206f 2028 706f 7020 6f73 2929 2027 6167 o (pop os)) 'ag │ │ │ -000284c0: 6461 322d 676e 2929 2929 290a 2020 2020 da2-gn))))). │ │ │ -000284d0: 2869 6620 6720 286c 6973 7420 6f20 6729 (if g (list o g) │ │ │ -000284e0: 2929 290a 0a28 6465 6675 6e20 6167 6461 )))..(defun agda │ │ │ -000284f0: 322d 676f 616c 2d6f 7665 726c 6179 2028 2-goal-overlay ( │ │ │ -00028500: 6729 0a20 2022 5265 7475 726e 7320 7468 g). "Returns th │ │ │ -00028510: 6520 6f76 6572 6c61 7920 6f66 2067 6f61 e overlay of goa │ │ │ -00028520: 6c20 6e75 6d62 6572 2047 2c20 6966 2061 l number G, if a │ │ │ -00028530: 6e79 2e22 0a20 2028 6361 720a 2020 2028 ny.". (car. ( │ │ │ -00028540: 7265 6d6f 7665 206e 696c 0a20 2020 2020 remove nil. │ │ │ -00028550: 2020 2020 2020 286d 6170 6361 7220 286c (mapcar (l │ │ │ -00028560: 616d 6264 6120 286f 2920 2869 6620 2865 ambda (o) (if (e │ │ │ -00028570: 7175 616c 2028 6f76 6572 6c61 792d 6765 qual (overlay-ge │ │ │ -00028580: 7420 6f20 2761 6764 6132 2d67 6e29 2067 t o 'agda2-gn) g │ │ │ -00028590: 2920 6f29 290a 2020 2020 2020 2020 2020 ) o)). │ │ │ -000285a0: 2020 2020 2020 2020 2028 6f76 6572 6c61 (overla │ │ │ -000285b0: 7973 2d69 6e20 2870 6f69 6e74 2d6d 696e ys-in (point-min │ │ │ -000285c0: 2920 2870 6f69 6e74 2d6d 6178 2929 2929 ) (point-max)))) │ │ │ -000285d0: 2929 0a0a 2864 6566 756e 2061 6764 6132 ))..(defun agda2 │ │ │ -000285e0: 2d72 616e 6765 2d6f 662d 676f 616c 2028 -range-of-goal ( │ │ │ -000285f0: 6729 0a20 2022 5468 6520 7261 6e67 6520 g). "The range │ │ │ -00028600: 6f66 2067 6f61 6c20 472e 220a 2020 286c of goal G.". (l │ │ │ -00028610: 6574 2028 286f 2028 6167 6461 322d 676f et ((o (agda2-go │ │ │ -00028620: 616c 2d6f 7665 726c 6179 2067 2929 290a al-overlay g))). │ │ │ -00028630: 2020 2020 2869 6620 6f20 286c 6973 7420 (if o (list │ │ │ -00028640: 286f 7665 726c 6179 2d73 7461 7274 206f (overlay-start o │ │ │ -00028650: 2920 286f 7665 726c 6179 2d65 6e64 206f ) (overlay-end o │ │ │ -00028660: 2929 2929 290a 0a28 6465 6675 6e20 6167 )))))..(defun ag │ │ │ -00028670: 6461 322d 676f 746f 2d67 6f61 6c20 2867 da2-goto-goal (g │ │ │ -00028680: 290a 2020 286c 6574 2028 2870 2028 2b20 ). (let ((p (+ │ │ │ -00028690: 3220 2863 6172 2028 6167 6461 322d 7261 2 (car (agda2-ra │ │ │ -000286a0: 6e67 652d 6f66 2d67 6f61 6c20 6729 2929 nge-of-goal g))) │ │ │ -000286b0: 2929 0a20 2020 2028 6966 2070 2028 676f )). (if p (go │ │ │ -000286c0: 746f 2d63 6861 7220 7029 2929 290a 0a28 to-char p))))..( │ │ │ -000286d0: 6465 6675 6e20 6167 6461 322d 7265 706c defun agda2-repl │ │ │ -000286e0: 6163 652d 676f 616c 2028 6720 6e65 7774 ace-goal (g newt │ │ │ -000286f0: 7874 290a 2020 2252 6570 6c61 6365 2074 xt). "Replace t │ │ │ -00028700: 6865 2063 6f6e 7465 6e74 206f 6620 676f he content of go │ │ │ -00028710: 616c 2047 2077 6974 6820 4e45 5754 5854 al G with NEWTXT │ │ │ -00028720: 2e22 2028 696e 7465 7261 6374 6976 6529 ." (interactive) │ │ │ -00028730: 0a20 2028 7361 7665 2d65 7863 7572 7369 . (save-excursi │ │ │ -00028740: 6f6e 0a20 2020 2028 636c 2d6d 756c 7469 on. (cl-multi │ │ │ -00028750: 706c 652d 7661 6c75 652d 6269 6e64 2028 ple-value-bind ( │ │ │ -00028760: 7020 7129 2028 6167 6461 322d 7261 6e67 p q) (agda2-rang │ │ │ -00028770: 652d 6f66 2d67 6f61 6c20 6729 0a20 2020 e-of-goal g). │ │ │ -00028780: 2020 2028 7365 7471 2070 2028 2b20 7020 (setq p (+ p │ │ │ -00028790: 3229 2071 2028 2d20 7120 3229 290a 2020 2) q (- q 2)). │ │ │ -000287a0: 2020 2020 286c 6574 2028 2869 6e64 656e (let ((inden │ │ │ -000287b0: 7420 2861 6e64 2028 676f 746f 2d63 6861 t (and (goto-cha │ │ │ -000287c0: 7220 7029 2028 6375 7272 656e 742d 636f r p) (current-co │ │ │ -000287d0: 6c75 6d6e 2929 2929 0a20 2020 2020 2020 lumn)))). │ │ │ -000287e0: 2028 6465 6c65 7465 2d72 6567 696f 6e20 (delete-region │ │ │ -000287f0: 7020 7129 2028 696e 7365 7274 206e 6577 p q) (insert new │ │ │ -00028800: 7478 7429 0a20 2020 2020 2020 2028 7768 txt). (wh │ │ │ -00028810: 696c 6520 2872 652d 7365 6172 6368 2d62 ile (re-search-b │ │ │ -00028820: 6163 6b77 6172 6420 225e 2220 7020 7429 ackward "^" p t) │ │ │ -00028830: 0a20 2020 2020 2020 2020 2028 696e 7365 . (inse │ │ │ -00028840: 7274 2d63 6861 7220 3f20 2069 6e64 656e rt-char ? inden │ │ │ -00028850: 7429 2028 6261 636b 7761 7264 2d63 6861 t) (backward-cha │ │ │ -00028860: 7220 2831 2b20 696e 6465 6e74 2929 2929 r (1+ indent)))) │ │ │ -00028870: 2929 290a 0a28 6465 6675 6e20 6167 6461 )))..(defun agda │ │ │ -00028880: 322d 666f 7267 6574 2d61 6c6c 2d67 6f61 2-forget-all-goa │ │ │ -00028890: 6c73 2028 290a 2020 2252 656d 6f76 6520 ls (). "Remove │ │ │ -000288a0: 616c 6c20 676f 616c 2061 6e6e 6f74 6174 all goal annotat │ │ │ -000288b0: 696f 6e73 2e0a 5c28 496e 636c 7564 696e ions..\(Includin │ │ │ -000288c0: 6720 736f 6d65 2074 6578 7420 7072 6f70 g some text prop │ │ │ -000288d0: 6572 7469 6573 2077 6869 6368 206d 6967 erties which mig │ │ │ -000288e0: 6874 2062 6520 7573 6564 2062 7920 6f74 ht be used by ot │ │ │ -000288f0: 6865 720a 5c28 6d69 6e6f 7229 206d 6f64 her.\(minor) mod │ │ │ -00028900: 6573 2e29 220a 2020 2861 6e6e 6f74 6174 es.)". (annotat │ │ │ -00028910: 696f 6e2d 7072 6573 6572 7665 2d6d 6f64 ion-preserve-mod │ │ │ -00028920: 2d70 2d61 6e64 2d75 6e64 6f0a 2020 2028 -p-and-undo. ( │ │ │ -00028930: 7265 6d6f 7665 2d74 6578 742d 7072 6f70 remove-text-prop │ │ │ -00028940: 6572 7469 6573 2028 706f 696e 742d 6d69 erties (point-mi │ │ │ -00028950: 6e29 2028 706f 696e 742d 6d61 7829 0a20 n) (point-max). │ │ │ +00027e50: 2028 6167 6461 322d 6d6b 506f 7320 2863 (agda2-mkPos (c │ │ │ +00027e60: 6164 7220 706f 696e 7473 2929 2929 0a20 adr points)))). │ │ │ +00027e70: 2020 2022 6e6f 5261 6e67 6522 2929 0a0a "noRange")).. │ │ │ +00027e80: 2864 6566 756e 2061 6764 6132 2d6d 6b50 (defun agda2-mkP │ │ │ +00027e90: 6f73 2028 266f 7074 696f 6e61 6c20 7029 os (&optional p) │ │ │ +00027ea0: 0a20 2022 5468 6520 4861 736b 656c 6c20 . "The Haskell │ │ │ +00027eb0: 506f 7369 7469 6f6e 5769 7468 6f75 7446 PositionWithoutF │ │ │ +00027ec0: 696c 6520 636f 7272 6573 706f 6e64 696e ile correspondin │ │ │ +00027ed0: 6720 746f 2050 206f 7220 6070 6f69 6e74 g to P or `point │ │ │ +00027ee0: 272e 220a 2020 2873 6176 652d 6578 6375 '.". (save-excu │ │ │ +00027ef0: 7273 696f 6e0a 2020 2020 2873 6176 652d rsion. (save- │ │ │ +00027f00: 7265 7374 7269 6374 696f 6e0a 2020 2020 restriction. │ │ │ +00027f10: 2020 2877 6964 656e 290a 2020 2020 2020 (widen). │ │ │ +00027f20: 2869 6620 7020 2867 6f74 6f2d 6368 6172 (if p (goto-char │ │ │ +00027f30: 2070 2929 0a20 2020 2020 2028 666f 726d p)). (form │ │ │ +00027f40: 6174 2022 2850 6e20 2829 2025 6420 2564 at "(Pn () %d %d │ │ │ +00027f50: 2025 6429 220a 2020 2020 2020 2020 2020 %d)". │ │ │ +00027f60: 2020 2020 2870 6f69 6e74 290a 2020 2020 (point). │ │ │ +00027f70: 2020 2020 2020 2020 2020 2863 6f75 6e74 (count │ │ │ +00027f80: 2d6c 696e 6573 2028 706f 696e 742d 6d69 -lines (point-mi │ │ │ +00027f90: 6e29 2028 706f 696e 7429 290a 2020 2020 n) (point)). │ │ │ +00027fa0: 2020 2020 2020 2020 2020 2831 2b20 2863 (1+ (c │ │ │ +00027fb0: 7572 7265 6e74 2d63 6f6c 756d 6e29 2929 urrent-column))) │ │ │ +00027fc0: 2929 290a 0a28 6465 6675 6e20 6167 6461 )))..(defun agda │ │ │ +00027fd0: 322d 6368 6172 2d71 756f 7465 2028 6329 2-char-quote (c) │ │ │ +00027fe0: 0a20 2022 436f 6e76 6572 7420 6368 6172 . "Convert char │ │ │ +00027ff0: 6163 7465 7220 4320 746f 2074 6865 206e acter C to the n │ │ │ +00028000: 6f74 6174 696f 6e20 7573 6564 2069 6e20 otation used in │ │ │ +00028010: 4861 736b 656c 6c20 7374 7269 6e67 732e Haskell strings. │ │ │ +00028020: 0a54 6865 206e 6f6e 2d41 5343 4949 2063 .The non-ASCII c │ │ │ +00028030: 6861 7261 6374 6572 7320 6172 6520 6163 haracters are ac │ │ │ +00028040: 7475 616c 6c79 2072 656e 6465 7265 6420 tually rendered │ │ │ +00028050: 6173 0a5c 225c 5c78 4e4e 4e4e 5c5c 265c as.\"\\xNNNN\\&\ │ │ │ +00028060: 222c 2069 2e65 2e20 666f 6c6c 6f77 6564 ", i.e. followed │ │ │ +00028070: 2062 7920 6120 5c22 6e75 6c6c 2063 6861 by a \"null cha │ │ │ +00028080: 7261 6374 6572 5c22 2c20 746f 2061 766f racter\", to avo │ │ │ +00028090: 6964 0a70 726f 626c 656d 7320 6966 2074 id.problems if t │ │ │ +000280a0: 6865 7920 6172 6520 666f 6c6c 6f77 6564 hey are followed │ │ │ +000280b0: 2062 7920 6469 6769 7473 2e20 2041 5343 by digits. ASC │ │ │ +000280c0: 4949 2063 6861 7261 6374 6572 7320 2863 II characters (c │ │ │ +000280d0: 6f64 650a 706f 696e 7473 203c 2031 3238 ode.points < 128 │ │ │ +000280e0: 2920 6172 6520 636f 6e76 6572 7465 6420 ) are converted │ │ │ +000280f0: 746f 2073 696e 676c 6574 6f6e 2073 7472 to singleton str │ │ │ +00028100: 696e 6773 2e22 0a20 2028 6966 2028 3c20 ings.". (if (< │ │ │ +00028110: 6320 3132 3829 0a20 2020 2020 2028 6c69 c 128). (li │ │ │ +00028120: 7374 2063 290a 2020 2020 3b3b 2046 4958 st c). ;; FIX │ │ │ +00028130: 4d45 3a20 5768 7920 7265 7475 726e 2061 ME: Why return a │ │ │ +00028140: 206c 6973 7420 7261 7468 6572 2074 6861 list rather tha │ │ │ +00028150: 6e20 6120 7374 7269 6e67 3f20 202d 2d53 n a string? --S │ │ │ +00028160: 7465 660a 2020 2020 2861 7070 656e 6420 tef. (append │ │ │ +00028170: 2866 6f72 6d61 7420 225c 5c78 2578 5c5c (format "\\x%x\\ │ │ │ +00028180: 2622 2028 656e 636f 6465 2d63 6861 7220 &" (encode-char │ │ │ +00028190: 6320 2775 6373 2929 206e 696c 2929 290a c 'ucs)) nil))). │ │ │ +000281a0: 0a28 6465 6675 6e20 6167 6461 322d 7374 .(defun agda2-st │ │ │ +000281b0: 7269 6e67 2d71 756f 7465 2028 7329 0a20 ring-quote (s). │ │ │ +000281c0: 2022 466f 726d 6174 2053 2061 7320 6120 "Format S as a │ │ │ +000281d0: 4861 736b 656c 6c20 7374 7269 6e67 206c Haskell string l │ │ │ +000281e0: 6974 6572 616c 2e0a 5265 6d6f 7665 7320 iteral..Removes │ │ │ +000281f0: 616e 7920 7465 7874 2070 726f 7065 7274 any text propert │ │ │ +00028200: 6965 732c 2065 7363 6170 6573 206e 6577 ies, escapes new │ │ │ +00028210: 6c69 6e65 732c 2064 6f75 626c 6520 7175 lines, double qu │ │ │ +00028220: 6f74 6573 2c0a 6574 632e 2c20 6164 6473 otes,.etc., adds │ │ │ +00028230: 2073 7572 726f 756e 6469 6e67 2064 6f75 surrounding dou │ │ │ +00028240: 626c 6520 7175 6f74 6573 2c20 616e 6420 ble quotes, and │ │ │ +00028250: 636f 6e76 6572 7473 206e 6f6e 2d41 5343 converts non-ASC │ │ │ +00028260: 4949 0a63 6861 7261 6374 6572 7320 746f II.characters to │ │ │ +00028270: 2074 6865 205c 5c78 4e4e 4e4e 206e 6f74 the \\xNNNN not │ │ │ +00028280: 6174 696f 6e20 7573 6564 2069 6e20 4861 ation used in Ha │ │ │ +00028290: 736b 656c 6c20 7374 7269 6e67 732e 220a skell strings.". │ │ │ +000282a0: 2020 286c 6574 2028 2870 7269 6e74 2d65 (let ((print-e │ │ │ +000282b0: 7363 6170 652d 6e65 776c 696e 6573 2074 scape-newlines t │ │ │ +000282c0: 290a 2020 2020 2020 2020 2873 3220 2863 ). (s2 (c │ │ │ +000282d0: 6f70 792d 7365 7175 656e 6365 2073 2929 opy-sequence s)) │ │ │ +000282e0: 290a 2020 2020 2873 6574 2d74 6578 742d ). (set-text- │ │ │ +000282f0: 7072 6f70 6572 7469 6573 2030 2028 6c65 properties 0 (le │ │ │ +00028300: 6e67 7468 2073 3229 206e 696c 2073 3229 ngth s2) nil s2) │ │ │ +00028310: 0a20 2020 2028 6d61 7063 6f6e 6361 7420 . (mapconcat │ │ │ +00028320: 2761 6764 6132 2d63 6861 722d 7175 6f74 'agda2-char-quot │ │ │ +00028330: 6520 2870 7269 6e31 2d74 6f2d 7374 7269 e (prin1-to-stri │ │ │ +00028340: 6e67 2073 3229 2022 2229 2929 0a0a 2864 ng s2) "")))..(d │ │ │ +00028350: 6566 756e 2061 6764 6132 2d6c 6973 742d efun agda2-list- │ │ │ +00028360: 7175 6f74 6520 2873 7472 696e 6773 290a quote (strings). │ │ │ +00028370: 2020 2243 6f6e 7665 7274 2061 206c 6973 "Convert a lis │ │ │ +00028380: 7420 6f66 2053 5452 494e 4753 2069 6e74 t of STRINGS int │ │ │ +00028390: 6f20 6120 7374 7269 6e67 2072 6570 7265 o a string repre │ │ │ +000283a0: 7365 6e74 696e 6720 6974 2069 6e20 4861 senting it in Ha │ │ │ +000283b0: 736b 656c 6c20 7379 6e74 6178 2e22 0a20 skell syntax.". │ │ │ +000283c0: 2028 636f 6e63 6174 2022 5b22 2028 6d61 (concat "[" (ma │ │ │ +000283d0: 7063 6f6e 6361 7420 2761 6764 6132 2d73 pconcat 'agda2-s │ │ │ +000283e0: 7472 696e 672d 7175 6f74 6520 7374 7269 tring-quote stri │ │ │ +000283f0: 6e67 7320 222c 2022 2920 225d 2229 290a ngs ", ") "]")). │ │ │ +00028400: 0a28 6465 6675 6e20 6167 6461 322d 676f .(defun agda2-go │ │ │ +00028410: 616c 2d61 7428 706f 7329 0a20 2022 5265 al-at(pos). "Re │ │ │ +00028420: 7475 726e 2028 676f 616c 206f 7665 726c turn (goal overl │ │ │ +00028430: 6179 2c20 676f 616c 206e 756d 6265 7229 ay, goal number) │ │ │ +00028440: 2061 7420 504f 532c 206f 7220 6e69 6c2e at POS, or nil. │ │ │ +00028450: 220a 2020 286c 6574 2028 286f 7320 2861 ". (let ((os (a │ │ │ +00028460: 6e64 2070 6f73 2028 6f76 6572 6c61 7973 nd pos (overlays │ │ │ +00028470: 2d61 7420 706f 7329 2929 206f 2067 290a -at pos))) o g). │ │ │ +00028480: 2020 2020 2877 6869 6c65 2028 616e 6420 (while (and │ │ │ +00028490: 6f73 2028 6e6f 7428 7365 7471 2067 2028 os (not(setq g ( │ │ │ +000284a0: 6f76 6572 6c61 792d 6765 7420 2873 6574 overlay-get (set │ │ │ +000284b0: 7120 6f20 2870 6f70 206f 7329 2920 2761 q o (pop os)) 'a │ │ │ +000284c0: 6764 6132 2d67 6e29 2929 2929 0a20 2020 gda2-gn))))). │ │ │ +000284d0: 2028 6966 2067 2028 6c69 7374 206f 2067 (if g (list o g │ │ │ +000284e0: 2929 2929 0a0a 2864 6566 756e 2061 6764 ))))..(defun agd │ │ │ +000284f0: 6132 2d67 6f61 6c2d 6f76 6572 6c61 7920 a2-goal-overlay │ │ │ +00028500: 2867 290a 2020 2252 6574 7572 6e73 2074 (g). "Returns t │ │ │ +00028510: 6865 206f 7665 726c 6179 206f 6620 676f he overlay of go │ │ │ +00028520: 616c 206e 756d 6265 7220 472c 2069 6620 al number G, if │ │ │ +00028530: 616e 792e 220a 2020 2863 6172 0a20 2020 any.". (car. │ │ │ +00028540: 2872 656d 6f76 6520 6e69 6c0a 2020 2020 (remove nil. │ │ │ +00028550: 2020 2020 2020 2028 6d61 7063 6172 2028 (mapcar ( │ │ │ +00028560: 6c61 6d62 6461 2028 6f29 2028 6966 2028 lambda (o) (if ( │ │ │ +00028570: 6571 7561 6c20 286f 7665 726c 6179 2d67 equal (overlay-g │ │ │ +00028580: 6574 206f 2027 6167 6461 322d 676e 2920 et o 'agda2-gn) │ │ │ +00028590: 6729 206f 2929 0a20 2020 2020 2020 2020 g) o)). │ │ │ +000285a0: 2020 2020 2020 2020 2020 286f 7665 726c (overl │ │ │ +000285b0: 6179 732d 696e 2028 706f 696e 742d 6d69 ays-in (point-mi │ │ │ +000285c0: 6e29 2028 706f 696e 742d 6d61 7829 2929 n) (point-max))) │ │ │ +000285d0: 2929 290a 0a28 6465 6675 6e20 6167 6461 )))..(defun agda │ │ │ +000285e0: 322d 7261 6e67 652d 6f66 2d67 6f61 6c20 2-range-of-goal │ │ │ +000285f0: 2867 290a 2020 2254 6865 2072 616e 6765 (g). "The range │ │ │ +00028600: 206f 6620 676f 616c 2047 2e22 0a20 2028 of goal G.". ( │ │ │ +00028610: 6c65 7420 2828 6f20 2861 6764 6132 2d67 let ((o (agda2-g │ │ │ +00028620: 6f61 6c2d 6f76 6572 6c61 7920 6729 2929 oal-overlay g))) │ │ │ +00028630: 0a20 2020 2028 6966 206f 2028 6c69 7374 . (if o (list │ │ │ +00028640: 2028 6f76 6572 6c61 792d 7374 6172 7420 (overlay-start │ │ │ +00028650: 6f29 2028 6f76 6572 6c61 792d 656e 6420 o) (overlay-end │ │ │ +00028660: 6f29 2929 2929 0a0a 2864 6566 756e 2061 o)))))..(defun a │ │ │ +00028670: 6764 6132 2d67 6f74 6f2d 676f 616c 2028 gda2-goto-goal ( │ │ │ +00028680: 6729 0a20 2028 6c65 7420 2828 7020 282b g). (let ((p (+ │ │ │ +00028690: 2032 2028 6361 7220 2861 6764 6132 2d72 2 (car (agda2-r │ │ │ +000286a0: 616e 6765 2d6f 662d 676f 616c 2067 2929 ange-of-goal g)) │ │ │ +000286b0: 2929 290a 2020 2020 2869 6620 7020 2867 ))). (if p (g │ │ │ +000286c0: 6f74 6f2d 6368 6172 2070 2929 2929 0a0a oto-char p)))).. │ │ │ +000286d0: 2864 6566 756e 2061 6764 6132 2d72 6570 (defun agda2-rep │ │ │ +000286e0: 6c61 6365 2d67 6f61 6c20 2867 206e 6577 lace-goal (g new │ │ │ +000286f0: 7478 7429 0a20 2022 5265 706c 6163 6520 txt). "Replace │ │ │ +00028700: 7468 6520 636f 6e74 656e 7420 6f66 2067 the content of g │ │ │ +00028710: 6f61 6c20 4720 7769 7468 204e 4557 5458 oal G with NEWTX │ │ │ +00028720: 542e 2220 2869 6e74 6572 6163 7469 7665 T." (interactive │ │ │ +00028730: 290a 2020 2873 6176 652d 6578 6375 7273 ). (save-excurs │ │ │ +00028740: 696f 6e0a 2020 2020 2863 6c2d 6d75 6c74 ion. (cl-mult │ │ │ +00028750: 6970 6c65 2d76 616c 7565 2d62 696e 6420 iple-value-bind │ │ │ +00028760: 2870 2071 2920 2861 6764 6132 2d72 616e (p q) (agda2-ran │ │ │ +00028770: 6765 2d6f 662d 676f 616c 2067 290a 2020 ge-of-goal g). │ │ │ +00028780: 2020 2020 2873 6574 7120 7020 282b 2070 (setq p (+ p │ │ │ +00028790: 2032 2920 7120 282d 2071 2032 2929 0a20 2) q (- q 2)). │ │ │ +000287a0: 2020 2020 2028 6c65 7420 2828 696e 6465 (let ((inde │ │ │ +000287b0: 6e74 2028 616e 6420 2867 6f74 6f2d 6368 nt (and (goto-ch │ │ │ +000287c0: 6172 2070 2920 2863 7572 7265 6e74 2d63 ar p) (current-c │ │ │ +000287d0: 6f6c 756d 6e29 2929 290a 2020 2020 2020 olumn)))). │ │ │ +000287e0: 2020 2864 656c 6574 652d 7265 6769 6f6e (delete-region │ │ │ +000287f0: 2070 2071 2920 2869 6e73 6572 7420 6e65 p q) (insert ne │ │ │ +00028800: 7774 7874 290a 2020 2020 2020 2020 2877 wtxt). (w │ │ │ +00028810: 6869 6c65 2028 7265 2d73 6561 7263 682d hile (re-search- │ │ │ +00028820: 6261 636b 7761 7264 2022 5e22 2070 2074 backward "^" p t │ │ │ +00028830: 290a 2020 2020 2020 2020 2020 2869 6e73 ). (ins │ │ │ +00028840: 6572 742d 6368 6172 203f 2020 696e 6465 ert-char ? inde │ │ │ +00028850: 6e74 2920 2862 6163 6b77 6172 642d 6368 nt) (backward-ch │ │ │ +00028860: 6172 2028 312b 2069 6e64 656e 7429 2929 ar (1+ indent))) │ │ │ +00028870: 2929 2929 0a0a 2864 6566 756e 2061 6764 ))))..(defun agd │ │ │ +00028880: 6132 2d66 6f72 6765 742d 616c 6c2d 676f a2-forget-all-go │ │ │ +00028890: 616c 7320 2829 0a20 2022 5265 6d6f 7665 als (). "Remove │ │ │ +000288a0: 2061 6c6c 2067 6f61 6c20 616e 6e6f 7461 all goal annota │ │ │ +000288b0: 7469 6f6e 732e 0a5c 2849 6e63 6c75 6469 tions..\(Includi │ │ │ +000288c0: 6e67 2073 6f6d 6520 7465 7874 2070 726f ng some text pro │ │ │ +000288d0: 7065 7274 6965 7320 7768 6963 6820 6d69 perties which mi │ │ │ +000288e0: 6768 7420 6265 2075 7365 6420 6279 206f ght be used by o │ │ │ +000288f0: 7468 6572 0a5c 286d 696e 6f72 2920 6d6f ther.\(minor) mo │ │ │ +00028900: 6465 732e 2922 0a20 2028 616e 6e6f 7461 des.)". (annota │ │ │ +00028910: 7469 6f6e 2d70 7265 7365 7276 652d 6d6f tion-preserve-mo │ │ │ +00028920: 642d 702d 616e 642d 756e 646f 0a20 2020 d-p-and-undo. │ │ │ +00028930: 2872 656d 6f76 652d 7465 7874 2d70 726f (remove-text-pro │ │ │ +00028940: 7065 7274 6965 7320 2870 6f69 6e74 2d6d perties (point-m │ │ │ +00028950: 696e 2920 2870 6f69 6e74 2d6d 6178 290a in) (point-max). │ │ │ 00028960: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00028970: 2020 2020 2020 2020 2020 2728 6361 7465 '(cate │ │ │ -00028980: 676f 7279 206e 696c 2061 6764 6132 2d64 gory nil agda2-d │ │ │ -00028990: 656c 696d 3220 6e69 6c20 6167 6461 322d elim2 nil agda2- │ │ │ -000289a0: 6465 6c69 6d33 206e 696c 0a20 2020 2020 delim3 nil. │ │ │ +00028970: 2020 2020 2020 2020 2020 2027 2863 6174 '(cat │ │ │ +00028980: 6567 6f72 7920 6e69 6c20 6167 6461 322d egory nil agda2- │ │ │ +00028990: 6465 6c69 6d32 206e 696c 2061 6764 6132 delim2 nil agda2 │ │ │ +000289a0: 2d64 656c 696d 3320 6e69 6c0a 2020 2020 -delim3 nil. │ │ │ 000289b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -000289c0: 2020 2020 2020 2020 6469 7370 6c61 7920 display │ │ │ -000289d0: 6e69 6c20 7265 6172 2d6e 6f6e 7374 6963 nil rear-nonstic │ │ │ -000289e0: 6b79 206e 696c 2929 290a 2020 286c 6574 ky nil))). (let │ │ │ -000289f0: 2028 2870 2028 706f 696e 742d 6d69 6e29 ((p (point-min) │ │ │ -00028a00: 2929 0a20 2020 2028 7768 696c 6520 283c )). (while (< │ │ │ -00028a10: 2028 7365 7471 2070 2028 6e65 7874 2d73 (setq p (next-s │ │ │ -00028a20: 696e 676c 652d 6368 6172 2d70 726f 7065 ingle-char-prope │ │ │ -00028a30: 7274 792d 6368 616e 6765 2070 2027 6167 rty-change p 'ag │ │ │ -00028a40: 6461 322d 676e 2929 0a20 2020 2020 2020 da2-gn)). │ │ │ -00028a50: 2020 2020 2020 2028 706f 696e 742d 6d61 (point-ma │ │ │ -00028a60: 7829 290a 2020 2020 2020 2864 656c 6574 x)). (delet │ │ │ -00028a70: 652d 6f76 6572 6c61 7920 2863 6172 2028 e-overlay (car ( │ │ │ -00028a80: 6167 6461 322d 676f 616c 2d61 7420 7029 agda2-goal-at p) │ │ │ -00028a90: 2929 2929 290a 0a28 6465 6675 6e20 6167 )))))..(defun ag │ │ │ -00028aa0: 6461 322d 6465 636c 2d62 6567 696e 6e69 da2-decl-beginni │ │ │ -00028ab0: 6e67 2028 290a 2020 2246 696e 6420 7468 ng (). "Find th │ │ │ -00028ac0: 6520 6265 6769 6e6e 696e 6720 706f 696e e beginning poin │ │ │ -00028ad0: 7420 6f66 2074 6865 2064 6563 6c61 7261 t of the declara │ │ │ -00028ae0: 7469 6f6e 2063 6f6e 7461 696e 696e 6720 tion containing │ │ │ -00028af0: 7468 6520 706f 696e 742e 0a54 6f20 646f the point..To do │ │ │ -00028b00: 3a20 6465 616c 696e 6720 7769 7468 2073 : dealing with s │ │ │ -00028b10: 656d 6963 6f6c 6f6e 2073 6570 6172 6174 emicolon separat │ │ │ -00028b20: 6564 2064 6563 6c73 2e22 0a20 2028 696e ed decls.". (in │ │ │ -00028b30: 7465 7261 6374 6976 6529 0a20 2028 7361 teractive). (sa │ │ │ -00028b40: 7665 2d65 7863 7572 7369 6f6e 0a20 2020 ve-excursion. │ │ │ -00028b50: 2028 6c65 742a 2028 2870 456e 6420 2870 (let* ((pEnd (p │ │ │ -00028b60: 6f69 6e74 2929 0a20 2020 2020 2020 2020 oint)). │ │ │ -00028b70: 2020 2870 4465 6620 2870 726f 676e 2028 (pDef (progn ( │ │ │ -00028b80: 676f 746f 2d63 6861 7220 2870 6f69 6e74 goto-char (point │ │ │ -00028b90: 2d6d 696e 2929 0a20 2020 2020 2020 2020 -min)). │ │ │ -00028ba0: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ -00028bb0: 7265 2d73 6561 7263 682d 666f 7277 6172 re-search-forwar │ │ │ -00028bc0: 6420 225c 5c73 202a 2220 7045 6e64 2074 d "\\s *" pEnd t │ │ │ -00028bd0: 2929 290a 2020 2020 2020 2020 2020 2028 ))). ( │ │ │ -00028be0: 6344 6566 2028 6375 7272 656e 742d 636f cDef (current-co │ │ │ -00028bf0: 6c75 6d6e 2929 290a 2020 2020 2020 2877 lumn))). (w │ │ │ -00028c00: 6869 6c65 2028 7265 2d73 6561 7263 682d hile (re-search- │ │ │ -00028c10: 666f 7277 6172 640a 2020 2020 2020 2020 forward. │ │ │ -00028c20: 2020 2020 2020 2277 6865 7265 5c5c 285c "where\\(\ │ │ │ -00028c30: 5c73 202b 5c5c 295c 5c53 205c 5c7c 5e5c \s +\\)\\S \\|^\ │ │ │ -00028c40: 5c28 5c5c 7320 2a5c 5c29 5c5c 5320 2220 \(\\s *\\)\\S " │ │ │ -00028c50: 7045 6e64 2074 290a 2020 2020 2020 2020 pEnd t). │ │ │ -00028c60: 2869 6620 286d 6174 6368 2d65 6e64 2031 (if (match-end 1 │ │ │ -00028c70: 290a 2020 2020 2020 2020 2020 2020 2873 ). (s │ │ │ -00028c80: 6574 7120 7044 6566 2028 676f 746f 2d63 etq pDef (goto-c │ │ │ -00028c90: 6861 7220 286d 6174 6368 2d65 6e64 2031 har (match-end 1 │ │ │ -00028ca0: 2929 0a20 2020 2020 2020 2020 2020 2020 )). │ │ │ -00028cb0: 2020 2020 2063 4465 6620 2863 7572 7265 cDef (curre │ │ │ -00028cc0: 6e74 2d63 6f6c 756d 6e29 290a 2020 2020 nt-column)). │ │ │ -00028cd0: 2020 2020 2020 2867 6f74 6f2d 6368 6172 (goto-char │ │ │ -00028ce0: 2028 6d61 7463 682d 656e 6420 3229 290a (match-end 2)). │ │ │ -00028cf0: 2020 2020 2020 2020 2020 2869 6620 283e (if (> │ │ │ -00028d00: 3d20 6344 6566 2028 6375 7272 656e 742d = cDef (current- │ │ │ -00028d10: 636f 6c75 6d6e 2929 0a20 2020 2020 2020 column)). │ │ │ -00028d20: 2020 2020 2020 2028 7365 7471 2070 4465 (setq pDe │ │ │ -00028d30: 6620 2870 6f69 6e74 290a 2020 2020 2020 f (point). │ │ │ -00028d40: 2020 2020 2020 2020 2020 2020 2020 6344 cD │ │ │ -00028d50: 6566 2028 6375 7272 656e 742d 636f 6c75 ef (current-colu │ │ │ -00028d60: 6d6e 2929 2929 0a20 2020 2020 2020 2028 mn)))). ( │ │ │ -00028d70: 666f 7277 6172 642d 6368 6172 2929 0a20 forward-char)). │ │ │ -00028d80: 2020 2020 2028 676f 746f 2d63 6861 7220 (goto-char │ │ │ -00028d90: 7044 6566 290a 2020 2020 2020 2869 6620 pDef). (if │ │ │ -00028da0: 2865 7175 616c 2028 6375 7272 656e 742d (equal (current- │ │ │ -00028db0: 776f 7264 2920 226d 7574 7561 6c22 290a word) "mutual"). │ │ │ -00028dc0: 2020 2020 2020 2020 2020 286f 7220 286d (or (m │ │ │ -00028dd0: 6174 6368 2d65 6e64 2032 2920 286d 6174 atch-end 2) (mat │ │ │ -00028de0: 6368 2d65 6e64 2031 2929 0a20 2020 2020 ch-end 1)). │ │ │ -00028df0: 2020 2070 4465 6629 2929 290a 0a28 6465 pDef))))..(de │ │ │ -00028e00: 6675 6e20 6167 6461 322d 6265 6769 6e6e fun agda2-beginn │ │ │ -00028e10: 696e 672d 6f66 2d64 6563 6c20 2829 0a20 ing-of-decl (). │ │ │ -00028e20: 2028 696e 7465 7261 6374 6976 6529 0a20 (interactive). │ │ │ -00028e30: 2028 676f 746f 2d63 6861 7220 2861 6764 (goto-char (agd │ │ │ -00028e40: 6132 2d64 6563 6c2d 6265 6769 6e6e 696e a2-decl-beginnin │ │ │ -00028e50: 6729 2929 0a0a 2864 6566 7661 7220 6167 g)))..(defvar ag │ │ │ -00028e60: 6461 322d 6465 6275 672d 6275 6666 6572 da2-debug-buffer │ │ │ -00028e70: 2d6e 616d 6520 222a 4167 6461 2064 6562 -name "*Agda deb │ │ │ -00028e80: 7567 2a22 0a20 2022 5468 6520 6e61 6d65 ug*". "The name │ │ │ -00028e90: 206f 6620 7468 6520 6275 6666 6572 2075 of the buffer u │ │ │ -00028ea0: 7365 6420 666f 7220 4167 6461 2064 6562 sed for Agda deb │ │ │ -00028eb0: 7567 206d 6573 7361 6765 732e 2229 0a0a ug messages.").. │ │ │ -00028ec0: 2864 6566 756e 2061 6764 6132 2d76 6572 (defun agda2-ver │ │ │ -00028ed0: 626f 7365 2028 6d73 6729 0a20 2022 4170 bose (msg). "Ap │ │ │ -00028ee0: 7065 6e64 7320 7468 6520 7374 7269 6e67 pends the string │ │ │ -00028ef0: 204d 5347 2074 6f20 7468 6520 6061 6764 MSG to the `agd │ │ │ -00028f00: 6132 2d64 6562 7567 2d62 7566 6665 722d a2-debug-buffer- │ │ │ -00028f10: 6e61 6d65 2720 6275 6666 6572 2e0a 4e6f name' buffer..No │ │ │ -00028f20: 7465 2074 6861 7420 7468 6973 2062 7566 te that this buf │ │ │ -00028f30: 6665 7227 7320 636f 6e74 656e 7473 2069 fer's contents i │ │ │ -00028f40: 7320 6e6f 7420 6572 6173 6564 2061 7574 s not erased aut │ │ │ -00028f50: 6f6d 6174 6963 616c 6c79 2077 6865 6e0a omatically when. │ │ │ -00028f60: 6120 6669 6c65 2069 7320 6c6f 6164 6564 a file is loaded │ │ │ -00028f70: 2e22 0a20 2028 7769 7468 2d63 7572 7265 .". (with-curre │ │ │ -00028f80: 6e74 2d62 7566 6665 7220 2867 6574 2d62 nt-buffer (get-b │ │ │ -00028f90: 7566 6665 722d 6372 6561 7465 2061 6764 uffer-create agd │ │ │ -00028fa0: 6132 2d64 6562 7567 2d62 7566 6665 722d a2-debug-buffer- │ │ │ -00028fb0: 6e61 6d65 290a 2020 2020 2873 6176 652d name). (save- │ │ │ -00028fc0: 6578 6375 7273 696f 6e0a 2020 2020 2020 excursion. │ │ │ -00028fd0: 2867 6f74 6f2d 6368 6172 2028 706f 696e (goto-char (poin │ │ │ -00028fe0: 742d 6d61 7829 290a 2020 2020 2020 2869 t-max)). (i │ │ │ -00028ff0: 6e73 6572 7420 6d73 6729 2929 290a 0a3b nsert msg))))..; │ │ │ +000289c0: 2020 2020 2020 2020 2064 6973 706c 6179 display │ │ │ +000289d0: 206e 696c 2072 6561 722d 6e6f 6e73 7469 nil rear-nonsti │ │ │ +000289e0: 636b 7920 6e69 6c29 2929 0a20 2028 6c65 cky nil))). (le │ │ │ +000289f0: 7420 2828 7020 2870 6f69 6e74 2d6d 696e t ((p (point-min │ │ │ +00028a00: 2929 290a 2020 2020 2877 6869 6c65 2028 ))). (while ( │ │ │ +00028a10: 3c20 2873 6574 7120 7020 286e 6578 742d < (setq p (next- │ │ │ +00028a20: 7369 6e67 6c65 2d63 6861 722d 7072 6f70 single-char-prop │ │ │ +00028a30: 6572 7479 2d63 6861 6e67 6520 7020 2761 erty-change p 'a │ │ │ +00028a40: 6764 6132 2d67 6e29 290a 2020 2020 2020 gda2-gn)). │ │ │ +00028a50: 2020 2020 2020 2020 2870 6f69 6e74 2d6d (point-m │ │ │ +00028a60: 6178 2929 0a20 2020 2020 2028 6465 6c65 ax)). (dele │ │ │ +00028a70: 7465 2d6f 7665 726c 6179 2028 6361 7220 te-overlay (car │ │ │ +00028a80: 2861 6764 6132 2d67 6f61 6c2d 6174 2070 (agda2-goal-at p │ │ │ +00028a90: 2929 2929 2929 0a0a 2864 6566 756e 2061 ))))))..(defun a │ │ │ +00028aa0: 6764 6132 2d64 6563 6c2d 6265 6769 6e6e gda2-decl-beginn │ │ │ +00028ab0: 696e 6720 2829 0a20 2022 4669 6e64 2074 ing (). "Find t │ │ │ +00028ac0: 6865 2062 6567 696e 6e69 6e67 2070 6f69 he beginning poi │ │ │ +00028ad0: 6e74 206f 6620 7468 6520 6465 636c 6172 nt of the declar │ │ │ +00028ae0: 6174 696f 6e20 636f 6e74 6169 6e69 6e67 ation containing │ │ │ +00028af0: 2074 6865 2070 6f69 6e74 2e0a 546f 2064 the point..To d │ │ │ +00028b00: 6f3a 2064 6561 6c69 6e67 2077 6974 6820 o: dealing with │ │ │ +00028b10: 7365 6d69 636f 6c6f 6e20 7365 7061 7261 semicolon separa │ │ │ +00028b20: 7465 6420 6465 636c 732e 220a 2020 2869 ted decls.". (i │ │ │ +00028b30: 6e74 6572 6163 7469 7665 290a 2020 2873 nteractive). (s │ │ │ +00028b40: 6176 652d 6578 6375 7273 696f 6e0a 2020 ave-excursion. │ │ │ +00028b50: 2020 286c 6574 2a20 2828 7045 6e64 2028 (let* ((pEnd ( │ │ │ +00028b60: 706f 696e 7429 290a 2020 2020 2020 2020 point)). │ │ │ +00028b70: 2020 2028 7044 6566 2028 7072 6f67 6e20 (pDef (progn │ │ │ +00028b80: 2867 6f74 6f2d 6368 6172 2028 706f 696e (goto-char (poin │ │ │ +00028b90: 742d 6d69 6e29 290a 2020 2020 2020 2020 t-min)). │ │ │ +00028ba0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +00028bb0: 2872 652d 7365 6172 6368 2d66 6f72 7761 (re-search-forwa │ │ │ +00028bc0: 7264 2022 5c5c 7320 2a22 2070 456e 6420 rd "\\s *" pEnd │ │ │ +00028bd0: 7429 2929 0a20 2020 2020 2020 2020 2020 t))). │ │ │ +00028be0: 2863 4465 6620 2863 7572 7265 6e74 2d63 (cDef (current-c │ │ │ +00028bf0: 6f6c 756d 6e29 2929 0a20 2020 2020 2028 olumn))). ( │ │ │ +00028c00: 7768 696c 6520 2872 652d 7365 6172 6368 while (re-search │ │ │ +00028c10: 2d66 6f72 7761 7264 0a20 2020 2020 2020 -forward. │ │ │ +00028c20: 2020 2020 2020 2022 7768 6572 655c 5c28 "where\\( │ │ │ +00028c30: 5c5c 7320 2b5c 5c29 5c5c 5320 5c5c 7c5e \\s +\\)\\S \\|^ │ │ │ +00028c40: 5c5c 285c 5c73 202a 5c5c 295c 5c53 2022 \\(\\s *\\)\\S " │ │ │ +00028c50: 2070 456e 6420 7429 0a20 2020 2020 2020 pEnd t). │ │ │ +00028c60: 2028 6966 2028 6d61 7463 682d 656e 6420 (if (match-end │ │ │ +00028c70: 3129 0a20 2020 2020 2020 2020 2020 2028 1). ( │ │ │ +00028c80: 7365 7471 2070 4465 6620 2867 6f74 6f2d setq pDef (goto- │ │ │ +00028c90: 6368 6172 2028 6d61 7463 682d 656e 6420 char (match-end │ │ │ +00028ca0: 3129 290a 2020 2020 2020 2020 2020 2020 1)). │ │ │ +00028cb0: 2020 2020 2020 6344 6566 2028 6375 7272 cDef (curr │ │ │ +00028cc0: 656e 742d 636f 6c75 6d6e 2929 0a20 2020 ent-column)). │ │ │ +00028cd0: 2020 2020 2020 2028 676f 746f 2d63 6861 (goto-cha │ │ │ +00028ce0: 7220 286d 6174 6368 2d65 6e64 2032 2929 r (match-end 2)) │ │ │ +00028cf0: 0a20 2020 2020 2020 2020 2028 6966 2028 . (if ( │ │ │ +00028d00: 3e3d 2063 4465 6620 2863 7572 7265 6e74 >= cDef (current │ │ │ +00028d10: 2d63 6f6c 756d 6e29 290a 2020 2020 2020 -column)). │ │ │ +00028d20: 2020 2020 2020 2020 2873 6574 7120 7044 (setq pD │ │ │ +00028d30: 6566 2028 706f 696e 7429 0a20 2020 2020 ef (point). │ │ │ +00028d40: 2020 2020 2020 2020 2020 2020 2020 2063 c │ │ │ +00028d50: 4465 6620 2863 7572 7265 6e74 2d63 6f6c Def (current-col │ │ │ +00028d60: 756d 6e29 2929 290a 2020 2020 2020 2020 umn)))). │ │ │ +00028d70: 2866 6f72 7761 7264 2d63 6861 7229 290a (forward-char)). │ │ │ +00028d80: 2020 2020 2020 2867 6f74 6f2d 6368 6172 (goto-char │ │ │ +00028d90: 2070 4465 6629 0a20 2020 2020 2028 6966 pDef). (if │ │ │ +00028da0: 2028 6571 7561 6c20 2863 7572 7265 6e74 (equal (current │ │ │ +00028db0: 2d77 6f72 6429 2022 6d75 7475 616c 2229 -word) "mutual") │ │ │ +00028dc0: 0a20 2020 2020 2020 2020 2028 6f72 2028 . (or ( │ │ │ +00028dd0: 6d61 7463 682d 656e 6420 3229 2028 6d61 match-end 2) (ma │ │ │ +00028de0: 7463 682d 656e 6420 3129 290a 2020 2020 tch-end 1)). │ │ │ +00028df0: 2020 2020 7044 6566 2929 2929 0a0a 2864 pDef))))..(d │ │ │ +00028e00: 6566 756e 2061 6764 6132 2d62 6567 696e efun agda2-begin │ │ │ +00028e10: 6e69 6e67 2d6f 662d 6465 636c 2028 290a ning-of-decl (). │ │ │ +00028e20: 2020 2869 6e74 6572 6163 7469 7665 290a (interactive). │ │ │ +00028e30: 2020 2867 6f74 6f2d 6368 6172 2028 6167 (goto-char (ag │ │ │ +00028e40: 6461 322d 6465 636c 2d62 6567 696e 6e69 da2-decl-beginni │ │ │ +00028e50: 6e67 2929 290a 0a28 6465 6676 6172 2061 ng)))..(defvar a │ │ │ +00028e60: 6764 6132 2d64 6562 7567 2d62 7566 6665 gda2-debug-buffe │ │ │ +00028e70: 722d 6e61 6d65 2022 2a41 6764 6120 6465 r-name "*Agda de │ │ │ +00028e80: 6275 672a 220a 2020 2254 6865 206e 616d bug*". "The nam │ │ │ +00028e90: 6520 6f66 2074 6865 2062 7566 6665 7220 e of the buffer │ │ │ +00028ea0: 7573 6564 2066 6f72 2041 6764 6120 6465 used for Agda de │ │ │ +00028eb0: 6275 6720 6d65 7373 6167 6573 2e22 290a bug messages."). │ │ │ +00028ec0: 0a28 6465 6675 6e20 6167 6461 322d 7665 .(defun agda2-ve │ │ │ +00028ed0: 7262 6f73 6520 286d 7367 290a 2020 2241 rbose (msg). "A │ │ │ +00028ee0: 7070 656e 6473 2074 6865 2073 7472 696e ppends the strin │ │ │ +00028ef0: 6720 4d53 4720 746f 2074 6865 2060 6167 g MSG to the `ag │ │ │ +00028f00: 6461 322d 6465 6275 672d 6275 6666 6572 da2-debug-buffer │ │ │ +00028f10: 2d6e 616d 6527 2062 7566 6665 722e 0a4e -name' buffer..N │ │ │ +00028f20: 6f74 6520 7468 6174 2074 6869 7320 6275 ote that this bu │ │ │ +00028f30: 6666 6572 2773 2063 6f6e 7465 6e74 7320 ffer's contents │ │ │ +00028f40: 6973 206e 6f74 2065 7261 7365 6420 6175 is not erased au │ │ │ +00028f50: 746f 6d61 7469 6361 6c6c 7920 7768 656e tomatically when │ │ │ +00028f60: 0a61 2066 696c 6520 6973 206c 6f61 6465 .a file is loade │ │ │ +00028f70: 642e 220a 2020 2877 6974 682d 6375 7272 d.". (with-curr │ │ │ +00028f80: 656e 742d 6275 6666 6572 2028 6765 742d ent-buffer (get- │ │ │ +00028f90: 6275 6666 6572 2d63 7265 6174 6520 6167 buffer-create ag │ │ │ +00028fa0: 6461 322d 6465 6275 672d 6275 6666 6572 da2-debug-buffer │ │ │ +00028fb0: 2d6e 616d 6529 0a20 2020 2028 7361 7665 -name). (save │ │ │ +00028fc0: 2d65 7863 7572 7369 6f6e 0a20 2020 2020 -excursion. │ │ │ +00028fd0: 2028 676f 746f 2d63 6861 7220 2870 6f69 (goto-char (poi │ │ │ +00028fe0: 6e74 2d6d 6178 2929 0a20 2020 2020 2028 nt-max)). ( │ │ │ +00028ff0: 696e 7365 7274 206d 7367 2929 2929 0a0a insert msg)))).. │ │ │ 00029000: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00029010: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00029020: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00029030: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ -00029040: 3b3b 3b3b 3b3b 3b0a 3b3b 2043 6f6d 6d65 ;;;;;;;.;; Comme │ │ │ -00029050: 6e74 7320 616e 6420 7061 7261 6772 6170 nts and paragrap │ │ │ -00029060: 6873 0a0a 2864 6566 756e 2061 6764 6132 hs..(defun agda2 │ │ │ -00029070: 2d63 6f6d 6d65 6e74 732d 616e 642d 7061 -comments-and-pa │ │ │ -00029080: 7261 6772 6170 6873 2d73 6574 7570 206e ragraphs-setup n │ │ │ -00029090: 696c 0a20 2022 5365 7420 7570 2063 6f6d il. "Set up com │ │ │ -000290a0: 6d65 6e74 2061 6e64 2070 6172 6167 7261 ment and paragra │ │ │ -000290b0: 7068 2068 616e 646c 696e 6720 666f 7220 ph handling for │ │ │ -000290c0: 7468 6520 4167 6461 206d 6f64 652e 220a the Agda mode.". │ │ │ -000290d0: 0a20 203b 3b20 456d 7074 7920 6c69 6e65 . ;; Empty line │ │ │ -000290e0: 7320 2861 6c6c 2077 6869 7465 2073 7061 s (all white spa │ │ │ -000290f0: 6365 2061 6363 6f72 6469 6e67 2074 6f20 ce according to │ │ │ -00029100: 456d 6163 7329 2064 656c 696d 6974 0a20 Emacs) delimit. │ │ │ -00029110: 203b 3b20 7061 7261 6772 6170 6873 2e0a ;; paragraphs.. │ │ │ -00029120: 2020 2873 6574 2028 6d61 6b65 2d6c 6f63 (set (make-loc │ │ │ -00029130: 616c 2d76 6172 6961 626c 6520 2770 6172 al-variable 'par │ │ │ -00029140: 6167 7261 7068 2d73 7461 7274 2920 225c agraph-start) "\ │ │ │ -00029150: 5c73 2d2a 2422 290a 2020 2873 6574 2028 \s-*$"). (set ( │ │ │ -00029160: 6d61 6b65 2d6c 6f63 616c 2d76 6172 6961 make-local-varia │ │ │ -00029170: 626c 6520 2770 6172 6167 7261 7068 2d73 ble 'paragraph-s │ │ │ -00029180: 6570 6172 6174 6529 2070 6172 6167 7261 eparate) paragra │ │ │ -00029190: 7068 2d73 7461 7274 290a 0a20 203b 3b20 ph-start).. ;; │ │ │ -000291a0: 5375 7070 6f72 7420 666f 7220 6164 6469 Support for addi │ │ │ -000291b0: 6e67 2f72 656d 6f76 696e 6720 636f 6d6d ng/removing comm │ │ │ -000291c0: 656e 7473 2e0a 2020 2873 6574 2028 6d61 ents.. (set (ma │ │ │ -000291d0: 6b65 2d6c 6f63 616c 2d76 6172 6961 626c ke-local-variabl │ │ │ -000291e0: 6520 2763 6f6d 6d65 6e74 2d73 7461 7274 e 'comment-start │ │ │ -000291f0: 2920 222d 2d20 2229 0a0a 2020 3b3b 2055 ) "-- ").. ;; U │ │ │ -00029200: 7365 2074 6865 2073 796e 7461 7820 7461 se the syntax ta │ │ │ -00029210: 626c 6520 746f 206c 6f63 6174 6520 636f ble to locate co │ │ │ -00029220: 6d6d 656e 7473 2028 616e 6420 706f 7373 mments (and poss │ │ │ -00029230: 6962 6c79 206f 7468 6572 0a20 203b 3b20 ibly other. ;; │ │ │ -00029240: 7468 696e 6773 292e 2053 796e 7461 7820 things). Syntax │ │ │ -00029250: 7461 626c 6520 7365 7475 7020 666f 7220 table setup for │ │ │ -00029260: 636f 6d6d 656e 7473 2069 7320 646f 6e65 comments is done │ │ │ -00029270: 2065 6c73 6577 6865 7265 2e0a 2020 2873 elsewhere.. (s │ │ │ -00029280: 6574 2028 6d61 6b65 2d6c 6f63 616c 2d76 et (make-local-v │ │ │ -00029290: 6172 6961 626c 6520 2763 6f6d 6d65 6e74 ariable 'comment │ │ │ -000292a0: 2d75 7365 2d73 796e 7461 7829 2074 290a -use-syntax) t). │ │ │ -000292b0: 0a20 203b 3b20 5570 6461 7465 2074 6f6b . ;; Update tok │ │ │ -000292c0: 656e 2d62 6173 6564 2068 6967 686c 6967 en-based highlig │ │ │ -000292d0: 6874 696e 6720 6166 7465 7220 7468 6520 hting after the │ │ │ -000292e0: 6275 6666 6572 2068 6173 2062 6565 6e20 buffer has been │ │ │ -000292f0: 7361 7665 642e 0a20 2028 6164 642d 686f saved.. (add-ho │ │ │ -00029300: 6f6b 2027 6166 7465 722d 7361 7665 2d68 ok 'after-save-h │ │ │ -00029310: 6f6f 6b20 2761 6764 6132 2d68 6967 686c ook 'agda2-highl │ │ │ -00029320: 6967 6874 2d74 6f6b 656e 7320 6e69 6c20 ight-tokens nil │ │ │ -00029330: 276c 6f63 616c 290a 0a20 203b 3b20 5375 'local).. ;; Su │ │ │ -00029340: 7070 6f72 7420 666f 7220 7072 6f70 6572 pport for proper │ │ │ -00029350: 2066 696c 6c69 6e67 206f 6620 7465 7874 filling of text │ │ │ -00029360: 2069 6e20 636f 6d6d 656e 7473 2028 7265 in comments (re │ │ │ -00029370: 7175 6972 6573 2074 6861 740a 2020 3b3b quires that. ;; │ │ │ -00029380: 2046 696c 6c61 6461 7074 2069 7320 6163 Filladapt is ac │ │ │ -00029390: 7469 7661 7465 6429 2e0a 2020 2877 6865 tivated).. (whe │ │ │ -000293a0: 6e20 2866 6561 7475 7265 7020 2766 696c n (featurep 'fil │ │ │ -000293b0: 6c61 6461 7074 290a 2020 2020 2861 6464 ladapt). (add │ │ │ -000293c0: 2d74 6f2d 6c69 7374 2028 6d61 6b65 2d6c -to-list (make-l │ │ │ -000293d0: 6f63 616c 2d76 6172 6961 626c 650a 2020 ocal-variable. │ │ │ +00029040: 3b3b 3b3b 3b3b 3b3b 0a3b 3b20 436f 6d6d ;;;;;;;;.;; Comm │ │ │ +00029050: 656e 7473 2061 6e64 2070 6172 6167 7261 ents and paragra │ │ │ +00029060: 7068 730a 0a28 6465 6675 6e20 6167 6461 phs..(defun agda │ │ │ +00029070: 322d 636f 6d6d 656e 7473 2d61 6e64 2d70 2-comments-and-p │ │ │ +00029080: 6172 6167 7261 7068 732d 7365 7475 7020 aragraphs-setup │ │ │ +00029090: 6e69 6c0a 2020 2253 6574 2075 7020 636f nil. "Set up co │ │ │ +000290a0: 6d6d 656e 7420 616e 6420 7061 7261 6772 mment and paragr │ │ │ +000290b0: 6170 6820 6861 6e64 6c69 6e67 2066 6f72 aph handling for │ │ │ +000290c0: 2074 6865 2041 6764 6120 6d6f 6465 2e22 the Agda mode." │ │ │ +000290d0: 0a0a 2020 3b3b 2045 6d70 7479 206c 696e .. ;; Empty lin │ │ │ +000290e0: 6573 2028 616c 6c20 7768 6974 6520 7370 es (all white sp │ │ │ +000290f0: 6163 6520 6163 636f 7264 696e 6720 746f ace according to │ │ │ +00029100: 2045 6d61 6373 2920 6465 6c69 6d69 740a Emacs) delimit. │ │ │ +00029110: 2020 3b3b 2070 6172 6167 7261 7068 732e ;; paragraphs. │ │ │ +00029120: 0a20 2028 7365 7420 286d 616b 652d 6c6f . (set (make-lo │ │ │ +00029130: 6361 6c2d 7661 7269 6162 6c65 2027 7061 cal-variable 'pa │ │ │ +00029140: 7261 6772 6170 682d 7374 6172 7429 2022 ragraph-start) " │ │ │ +00029150: 5c5c 732d 2a24 2229 0a20 2028 7365 7420 \\s-*$"). (set │ │ │ +00029160: 286d 616b 652d 6c6f 6361 6c2d 7661 7269 (make-local-vari │ │ │ +00029170: 6162 6c65 2027 7061 7261 6772 6170 682d able 'paragraph- │ │ │ +00029180: 7365 7061 7261 7465 2920 7061 7261 6772 separate) paragr │ │ │ +00029190: 6170 682d 7374 6172 7429 0a0a 2020 3b3b aph-start).. ;; │ │ │ +000291a0: 2053 7570 706f 7274 2066 6f72 2061 6464 Support for add │ │ │ +000291b0: 696e 672f 7265 6d6f 7669 6e67 2063 6f6d ing/removing com │ │ │ +000291c0: 6d65 6e74 732e 0a20 2028 7365 7420 286d ments.. (set (m │ │ │ +000291d0: 616b 652d 6c6f 6361 6c2d 7661 7269 6162 ake-local-variab │ │ │ +000291e0: 6c65 2027 636f 6d6d 656e 742d 7374 6172 le 'comment-star │ │ │ +000291f0: 7429 2022 2d2d 2022 290a 0a20 203b 3b20 t) "-- ").. ;; │ │ │ +00029200: 5573 6520 7468 6520 7379 6e74 6178 2074 Use the syntax t │ │ │ +00029210: 6162 6c65 2074 6f20 6c6f 6361 7465 2063 able to locate c │ │ │ +00029220: 6f6d 6d65 6e74 7320 2861 6e64 2070 6f73 omments (and pos │ │ │ +00029230: 7369 626c 7920 6f74 6865 720a 2020 3b3b sibly other. ;; │ │ │ +00029240: 2074 6869 6e67 7329 2e20 5379 6e74 6178 things). Syntax │ │ │ +00029250: 2074 6162 6c65 2073 6574 7570 2066 6f72 table setup for │ │ │ +00029260: 2063 6f6d 6d65 6e74 7320 6973 2064 6f6e comments is don │ │ │ +00029270: 6520 656c 7365 7768 6572 652e 0a20 2028 e elsewhere.. ( │ │ │ +00029280: 7365 7420 286d 616b 652d 6c6f 6361 6c2d set (make-local- │ │ │ +00029290: 7661 7269 6162 6c65 2027 636f 6d6d 656e variable 'commen │ │ │ +000292a0: 742d 7573 652d 7379 6e74 6178 2920 7429 t-use-syntax) t) │ │ │ +000292b0: 0a0a 2020 3b3b 2055 7064 6174 6520 746f .. ;; Update to │ │ │ +000292c0: 6b65 6e2d 6261 7365 6420 6869 6768 6c69 ken-based highli │ │ │ +000292d0: 6768 7469 6e67 2061 6674 6572 2074 6865 ghting after the │ │ │ +000292e0: 2062 7566 6665 7220 6861 7320 6265 656e buffer has been │ │ │ +000292f0: 2073 6176 6564 2e0a 2020 2861 6464 2d68 saved.. (add-h │ │ │ +00029300: 6f6f 6b20 2761 6674 6572 2d73 6176 652d ook 'after-save- │ │ │ +00029310: 686f 6f6b 2027 6167 6461 322d 6869 6768 hook 'agda2-high │ │ │ +00029320: 6c69 6768 742d 746f 6b65 6e73 206e 696c light-tokens nil │ │ │ +00029330: 2027 6c6f 6361 6c29 0a0a 2020 3b3b 2053 'local).. ;; S │ │ │ +00029340: 7570 706f 7274 2066 6f72 2070 726f 7065 upport for prope │ │ │ +00029350: 7220 6669 6c6c 696e 6720 6f66 2074 6578 r filling of tex │ │ │ +00029360: 7420 696e 2063 6f6d 6d65 6e74 7320 2872 t in comments (r │ │ │ +00029370: 6571 7569 7265 7320 7468 6174 0a20 203b equires that. ; │ │ │ +00029380: 3b20 4669 6c6c 6164 6170 7420 6973 2061 ; Filladapt is a │ │ │ +00029390: 6374 6976 6174 6564 292e 0a20 2028 7768 ctivated).. (wh │ │ │ +000293a0: 656e 2028 6665 6174 7572 6570 2027 6669 en (featurep 'fi │ │ │ +000293b0: 6c6c 6164 6170 7429 0a20 2020 2028 6164 lladapt). (ad │ │ │ +000293c0: 642d 746f 2d6c 6973 7420 286d 616b 652d d-to-list (make- │ │ │ +000293d0: 6c6f 6361 6c2d 7661 7269 6162 6c65 0a20 local-variable. │ │ │ 000293e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -000293f0: 2766 696c 6c61 6461 7074 2d74 6f6b 656e 'filladapt-token │ │ │ -00029400: 2d74 6162 6c65 290a 2020 2020 2020 2020 -table). │ │ │ -00029410: 2020 2020 2020 2020 2027 2822 2d2d 2220 '("--" │ │ │ -00029420: 6167 6461 322d 636f 6d6d 656e 7429 290a agda2-comment)). │ │ │ -00029430: 2020 2020 2861 6464 2d74 6f2d 6c69 7374 (add-to-list │ │ │ -00029440: 2028 6d61 6b65 2d6c 6f63 616c 2d76 6172 (make-local-var │ │ │ -00029450: 6961 626c 6520 2766 696c 6c61 6461 7074 iable 'filladapt │ │ │ -00029460: 2d74 6f6b 656e 2d6d 6174 6368 2d74 6162 -token-match-tab │ │ │ -00029470: 6c65 290a 2020 2020 2020 2020 2020 2020 le). │ │ │ -00029480: 2020 2020 2027 2861 6764 6132 2d63 6f6d '(agda2-com │ │ │ -00029490: 6d65 6e74 2061 6764 6132 2d63 6f6d 6d65 ment agda2-comme │ │ │ -000294a0: 6e74 2920 7429 0a20 2020 2028 6164 642d nt) t). (add- │ │ │ -000294b0: 746f 2d6c 6973 7420 286d 616b 652d 6c6f to-list (make-lo │ │ │ -000294c0: 6361 6c2d 7661 7269 6162 6c65 2027 6669 cal-variable 'fi │ │ │ -000294d0: 6c6c 6164 6170 742d 746f 6b65 6e2d 636f lladapt-token-co │ │ │ -000294e0: 6e76 6572 7369 6f6e 2d74 6162 6c65 290a nversion-table). │ │ │ -000294f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00029500: 2027 2861 6764 6132 2d63 6f6d 6d65 6e74 '(agda2-comment │ │ │ -00029510: 202e 2065 7861 6374 2929 2929 0a0a 2864 . exact))))..(d │ │ │ -00029520: 6566 756e 2061 6764 6132 2d63 6f6d 6d65 efun agda2-comme │ │ │ -00029530: 6e74 2d64 7769 6d2d 7265 7374 2d6f 662d nt-dwim-rest-of- │ │ │ -00029540: 6275 6666 6572 2028 290a 2020 2243 6f6d buffer (). "Com │ │ │ -00029550: 6d65 6e74 206f 7220 756e 636f 6d6d 656e ment or uncommen │ │ │ -00029560: 7420 7468 6520 7265 7374 206f 6620 7468 t the rest of th │ │ │ -00029570: 6520 6275 6666 6572 2e0a 4672 6f6d 2074 e buffer..From t │ │ │ -00029580: 6865 2062 6567 696e 6e69 6e67 206f 6620 he beginning of │ │ │ -00029590: 7468 6520 6375 7272 656e 7420 6c69 6e65 the current line │ │ │ -000295a0: 2074 6f20 7468 6520 656e 6420 6f66 2074 to the end of t │ │ │ -000295b0: 6865 2062 7566 6665 722e 220a 2020 2869 he buffer.". (i │ │ │ -000295c0: 6e74 6572 6163 7469 7665 290a 2020 2873 nteractive). (s │ │ │ -000295d0: 6176 652d 6578 6375 7273 696f 6e0a 2020 ave-excursion. │ │ │ -000295e0: 2020 2866 6f72 7761 7264 2d6c 696e 6520 (forward-line │ │ │ -000295f0: 3029 0a20 2020 2028 7075 7368 2d6d 6172 0). (push-mar │ │ │ -00029600: 6b20 2870 6f69 6e74 2920 276e 6f2d 6d65 k (point) 'no-me │ │ │ -00029610: 7373 6167 6520 2761 6374 6976 6174 652d ssage 'activate- │ │ │ -00029620: 6d61 726b 290a 2020 2020 2875 6e77 696e mark). (unwin │ │ │ -00029630: 642d 7072 6f74 6563 740a 2020 2020 2020 d-protect. │ │ │ -00029640: 2020 2870 726f 676e 0a20 2020 2020 2020 (progn. │ │ │ -00029650: 2020 2028 676f 746f 2d63 6861 7220 2870 (goto-char (p │ │ │ -00029660: 6f69 6e74 2d6d 6178 2929 0a20 2020 2020 oint-max)). │ │ │ -00029670: 2020 2020 2028 636f 6d6d 656e 742d 6477 (comment-dw │ │ │ -00029680: 696d 206e 696c 2929 0a20 2020 2020 2028 im nil)). ( │ │ │ -00029690: 706f 702d 6d61 726b 2929 2929 0a0a 2864 pop-mark))))..(d │ │ │ -000296a0: 6566 756e 2061 6764 6132 2d68 6967 686c efun agda2-highl │ │ │ -000296b0: 6967 6874 2d74 6f6b 656e 7320 6e69 6c0a ight-tokens nil. │ │ │ -000296c0: 2020 2243 6f6d 7075 7465 2074 6f6b 656e "Compute token │ │ │ -000296d0: 2d62 6173 6564 2068 6967 686c 6967 6874 -based highlight │ │ │ -000296e0: 696e 6720 696e 666f 726d 6174 696f 6e2e ing information. │ │ │ -000296f0: 0a0a 556e 6c65 7373 2060 6167 6461 322d ..Unless `agda2- │ │ │ -00029700: 6869 6768 6c69 6768 742d 6c65 7665 6c27 highlight-level' │ │ │ -00029710: 2069 7320 606e 6f6e 6527 206f 7220 7468 is `none' or th │ │ │ -00029720: 6520 4167 6461 2070 726f 6365 7373 2069 e Agda process i │ │ │ -00029730: 730a 6275 7379 2028 6f72 2060 6e6f 742d s.busy (or `not- │ │ │ -00029740: 736f 2d62 7573 7927 2920 7769 7468 2073 so-busy') with s │ │ │ -00029750: 6f6d 6574 6869 6e67 2e20 5468 6973 2063 omething. This c │ │ │ -00029760: 6f6d 6d61 6e64 206d 6967 6874 2073 6176 ommand might sav │ │ │ -00029770: 650a 7468 6520 6275 6666 6572 2e22 0a20 e.the buffer.". │ │ │ -00029780: 2028 756e 6c65 7373 2028 6f72 2061 6764 (unless (or agd │ │ │ -00029790: 6132 2d69 6e2d 7072 6f67 7265 7373 0a20 a2-in-progress. │ │ │ -000297a0: 2020 2020 2020 2020 2020 2020 2028 6571 (eq │ │ │ -000297b0: 7561 6c20 6167 6461 322d 6869 6768 6c69 ual agda2-highli │ │ │ -000297c0: 6768 742d 6c65 7665 6c20 276e 6f6e 6529 ght-level 'none) │ │ │ -000297d0: 290a 2020 2020 2861 6764 6132 2d67 6f20 ). (agda2-go │ │ │ -000297e0: 2773 6176 6520 7420 276e 6f74 2d73 6f2d 'save t 'not-so- │ │ │ -000297f0: 6275 7379 2074 0a20 2020 2020 2020 2020 busy t. │ │ │ -00029800: 2020 2020 2022 436d 645f 746f 6b65 6e48 "Cmd_tokenH │ │ │ -00029810: 6967 686c 6967 6874 696e 6722 0a20 2020 ighlighting". │ │ │ -00029820: 2020 2020 2020 2020 2020 2028 6167 6461 (agda │ │ │ -00029830: 322d 7374 7269 6e67 2d71 756f 7465 2028 2-string-quote ( │ │ │ -00029840: 6275 6666 6572 2d66 696c 652d 6e61 6d65 buffer-file-name │ │ │ -00029850: 2929 0a20 2020 2020 2020 2020 2020 2020 )). │ │ │ -00029860: 2022 4b65 6570 2229 2929 0a0a 3b3b 3b3b "Keep")))..;;;; │ │ │ +000293f0: 2027 6669 6c6c 6164 6170 742d 746f 6b65 'filladapt-toke │ │ │ +00029400: 6e2d 7461 626c 6529 0a20 2020 2020 2020 n-table). │ │ │ +00029410: 2020 2020 2020 2020 2020 2728 222d 2d22 '("--" │ │ │ +00029420: 2061 6764 6132 2d63 6f6d 6d65 6e74 2929 agda2-comment)) │ │ │ +00029430: 0a20 2020 2028 6164 642d 746f 2d6c 6973 . (add-to-lis │ │ │ +00029440: 7420 286d 616b 652d 6c6f 6361 6c2d 7661 t (make-local-va │ │ │ +00029450: 7269 6162 6c65 2027 6669 6c6c 6164 6170 riable 'filladap │ │ │ +00029460: 742d 746f 6b65 6e2d 6d61 7463 682d 7461 t-token-match-ta │ │ │ +00029470: 626c 6529 0a20 2020 2020 2020 2020 2020 ble). │ │ │ +00029480: 2020 2020 2020 2728 6167 6461 322d 636f '(agda2-co │ │ │ +00029490: 6d6d 656e 7420 6167 6461 322d 636f 6d6d mment agda2-comm │ │ │ +000294a0: 656e 7429 2074 290a 2020 2020 2861 6464 ent) t). (add │ │ │ +000294b0: 2d74 6f2d 6c69 7374 2028 6d61 6b65 2d6c -to-list (make-l │ │ │ +000294c0: 6f63 616c 2d76 6172 6961 626c 6520 2766 ocal-variable 'f │ │ │ +000294d0: 696c 6c61 6461 7074 2d74 6f6b 656e 2d63 illadapt-token-c │ │ │ +000294e0: 6f6e 7665 7273 696f 6e2d 7461 626c 6529 onversion-table) │ │ │ +000294f0: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ +00029500: 2020 2728 6167 6461 322d 636f 6d6d 656e '(agda2-commen │ │ │ +00029510: 7420 2e20 6578 6163 7429 2929 290a 0a28 t . exact))))..( │ │ │ +00029520: 6465 6675 6e20 6167 6461 322d 636f 6d6d defun agda2-comm │ │ │ +00029530: 656e 742d 6477 696d 2d72 6573 742d 6f66 ent-dwim-rest-of │ │ │ +00029540: 2d62 7566 6665 7220 2829 0a20 2022 436f -buffer (). "Co │ │ │ +00029550: 6d6d 656e 7420 6f72 2075 6e63 6f6d 6d65 mment or uncomme │ │ │ +00029560: 6e74 2074 6865 2072 6573 7420 6f66 2074 nt the rest of t │ │ │ +00029570: 6865 2062 7566 6665 722e 0a46 726f 6d20 he buffer..From │ │ │ +00029580: 7468 6520 6265 6769 6e6e 696e 6720 6f66 the beginning of │ │ │ +00029590: 2074 6865 2063 7572 7265 6e74 206c 696e the current lin │ │ │ +000295a0: 6520 746f 2074 6865 2065 6e64 206f 6620 e to the end of │ │ │ +000295b0: 7468 6520 6275 6666 6572 2e22 0a20 2028 the buffer.". ( │ │ │ +000295c0: 696e 7465 7261 6374 6976 6529 0a20 2028 interactive). ( │ │ │ +000295d0: 7361 7665 2d65 7863 7572 7369 6f6e 0a20 save-excursion. │ │ │ +000295e0: 2020 2028 666f 7277 6172 642d 6c69 6e65 (forward-line │ │ │ +000295f0: 2030 290a 2020 2020 2870 7573 682d 6d61 0). (push-ma │ │ │ +00029600: 726b 2028 706f 696e 7429 2027 6e6f 2d6d rk (point) 'no-m │ │ │ +00029610: 6573 7361 6765 2027 6163 7469 7661 7465 essage 'activate │ │ │ +00029620: 2d6d 6172 6b29 0a20 2020 2028 756e 7769 -mark). (unwi │ │ │ +00029630: 6e64 2d70 726f 7465 6374 0a20 2020 2020 nd-protect. │ │ │ +00029640: 2020 2028 7072 6f67 6e0a 2020 2020 2020 (progn. │ │ │ +00029650: 2020 2020 2867 6f74 6f2d 6368 6172 2028 (goto-char ( │ │ │ +00029660: 706f 696e 742d 6d61 7829 290a 2020 2020 point-max)). │ │ │ +00029670: 2020 2020 2020 2863 6f6d 6d65 6e74 2d64 (comment-d │ │ │ +00029680: 7769 6d20 6e69 6c29 290a 2020 2020 2020 wim nil)). │ │ │ +00029690: 2870 6f70 2d6d 6172 6b29 2929 290a 0a28 (pop-mark))))..( │ │ │ +000296a0: 6465 6675 6e20 6167 6461 322d 6869 6768 defun agda2-high │ │ │ +000296b0: 6c69 6768 742d 746f 6b65 6e73 206e 696c light-tokens nil │ │ │ +000296c0: 0a20 2022 436f 6d70 7574 6520 746f 6b65 . "Compute toke │ │ │ +000296d0: 6e2d 6261 7365 6420 6869 6768 6c69 6768 n-based highligh │ │ │ +000296e0: 7469 6e67 2069 6e66 6f72 6d61 7469 6f6e ting information │ │ │ +000296f0: 2e0a 0a55 6e6c 6573 7320 6061 6764 6132 ...Unless `agda2 │ │ │ +00029700: 2d68 6967 686c 6967 6874 2d6c 6576 656c -highlight-level │ │ │ +00029710: 2720 6973 2060 6e6f 6e65 2720 6f72 2074 ' is `none' or t │ │ │ +00029720: 6865 2041 6764 6120 7072 6f63 6573 7320 he Agda process │ │ │ +00029730: 6973 0a62 7573 7920 286f 7220 606e 6f74 is.busy (or `not │ │ │ +00029740: 2d73 6f2d 6275 7379 2729 2077 6974 6820 -so-busy') with │ │ │ +00029750: 736f 6d65 7468 696e 672e 2054 6869 7320 something. This │ │ │ +00029760: 636f 6d6d 616e 6420 6d69 6768 7420 7361 command might sa │ │ │ +00029770: 7665 0a74 6865 2062 7566 6665 722e 220a ve.the buffer.". │ │ │ +00029780: 2020 2875 6e6c 6573 7320 286f 7220 6167 (unless (or ag │ │ │ +00029790: 6461 322d 696e 2d70 726f 6772 6573 730a da2-in-progress. │ │ │ +000297a0: 2020 2020 2020 2020 2020 2020 2020 2865 (e │ │ │ +000297b0: 7175 616c 2061 6764 6132 2d68 6967 686c qual agda2-highl │ │ │ +000297c0: 6967 6874 2d6c 6576 656c 2027 6e6f 6e65 ight-level 'none │ │ │ +000297d0: 2929 0a20 2020 2028 6167 6461 322d 676f )). (agda2-go │ │ │ +000297e0: 2027 7361 7665 2074 2027 6e6f 742d 736f 'save t 'not-so │ │ │ +000297f0: 2d62 7573 7920 740a 2020 2020 2020 2020 -busy t. │ │ │ +00029800: 2020 2020 2020 2243 6d64 5f74 6f6b 656e "Cmd_token │ │ │ +00029810: 4869 6768 6c69 6768 7469 6e67 220a 2020 Highlighting". │ │ │ +00029820: 2020 2020 2020 2020 2020 2020 2861 6764 (agd │ │ │ +00029830: 6132 2d73 7472 696e 672d 7175 6f74 6520 a2-string-quote │ │ │ +00029840: 2862 7566 6665 722d 6669 6c65 2d6e 616d (buffer-file-nam │ │ │ +00029850: 6529 290a 2020 2020 2020 2020 2020 2020 e)). │ │ │ +00029860: 2020 224b 6565 7022 2929 290a 0a3b 3b3b "Keep")))..;;; │ │ │ 00029870: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00029880: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00029890: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 000298a0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ -000298b0: 3b3b 3b3b 0a3b 3b20 476f 2074 6f20 6465 ;;;;.;; Go to de │ │ │ -000298c0: 6669 6e69 7469 6f6e 2073 6974 650a 0a28 finition site..( │ │ │ -000298d0: 6465 6675 6e20 6167 6461 322d 676f 746f defun agda2-goto │ │ │ -000298e0: 2d64 6566 696e 6974 696f 6e2d 6b65 7962 -definition-keyb │ │ │ -000298f0: 6f61 7264 2028 266f 7074 696f 6e61 6c20 oard (&optional │ │ │ -00029900: 6f74 6865 722d 7769 6e64 6f77 290a 2020 other-window). │ │ │ -00029910: 2247 6f20 746f 2074 6865 2064 6566 696e "Go to the defin │ │ │ -00029920: 6974 696f 6e20 7369 7465 206f 6620 7468 ition site of th │ │ │ -00029930: 6520 6e61 6d65 2075 6e64 6572 2070 6f69 e name under poi │ │ │ -00029940: 6e74 2028 6966 2061 6e79 292e 0a49 6620 nt (if any)..If │ │ │ -00029950: 7468 6973 2066 756e 6374 696f 6e20 6973 this function is │ │ │ -00029960: 2069 6e76 6f6b 6564 2077 6974 6820 6120 invoked with a │ │ │ -00029970: 7072 6566 6978 2061 7267 756d 656e 7420 prefix argument │ │ │ -00029980: 7468 656e 2061 6e6f 7468 6572 2077 696e then another win │ │ │ -00029990: 646f 7720 6973 2075 7365 640a 746f 2064 dow is used.to d │ │ │ -000299a0: 6973 706c 6179 2074 6865 2067 6976 656e isplay the given │ │ │ -000299b0: 2070 6f73 6974 696f 6e2e 220a 2020 2869 position.". (i │ │ │ -000299c0: 6e74 6572 6163 7469 7665 2022 5022 290a nteractive "P"). │ │ │ -000299d0: 2020 2861 6e6e 6f74 6174 696f 6e2d 676f (annotation-go │ │ │ -000299e0: 746f 2d69 6e64 6972 6563 7420 2870 6f69 to-indirect (poi │ │ │ -000299f0: 6e74 2920 6f74 6865 722d 7769 6e64 6f77 nt) other-window │ │ │ -00029a00: 2929 0a0a 2864 6566 756e 2061 6764 6132 ))..(defun agda2 │ │ │ -00029a10: 2d67 6f74 6f2d 6465 6669 6e69 7469 6f6e -goto-definition │ │ │ -00029a20: 2d6d 6f75 7365 2028 6576 290a 2020 2247 -mouse (ev). "G │ │ │ -00029a30: 6f20 746f 2074 6865 2064 6566 696e 6974 o to the definit │ │ │ -00029a40: 696f 6e20 7369 7465 206f 6620 7468 6520 ion site of the │ │ │ -00029a50: 6e61 6d65 2063 6c69 636b 6564 206f 6e2c name clicked on, │ │ │ -00029a60: 2069 6620 616e 792e 0a4f 7468 6572 7769 if any..Otherwi │ │ │ -00029a70: 7365 2c20 7961 6e6b 2028 7365 6520 606d se, yank (see `m │ │ │ -00029a80: 6f75 7365 2d79 616e 6b2d 7072 696d 6172 ouse-yank-primar │ │ │ -00029a90: 7927 292e 220a 2020 2869 6e74 6572 6163 y').". (interac │ │ │ -00029aa0: 7469 7665 2022 6522 290a 2020 2875 6e6c tive "e"). (unl │ │ │ -00029ab0: 6573 7320 2861 6e6e 6f74 6174 696f 6e2d ess (annotation- │ │ │ -00029ac0: 676f 746f 2d69 6e64 6972 6563 7420 6576 goto-indirect ev │ │ │ -00029ad0: 290a 2020 2020 3b3b 2046 4958 4d45 3a20 ). ;; FIXME: │ │ │ -00029ae0: 5368 6f75 6c64 6e27 7420 7765 2075 7365 Shouldn't we use │ │ │ -00029af0: 2073 6f6d 6574 6869 6e67 206c 696b 650a something like. │ │ │ -00029b00: 2020 2020 3b3b 2028 6361 6c6c 2d69 6e74 ;; (call-int │ │ │ -00029b10: 6572 6163 7469 7665 6c79 2028 6b65 792d eractively (key- │ │ │ -00029b20: 6269 6e64 696e 6720 6576 2929 3f20 202d binding ev))? - │ │ │ -00029b30: 2d53 7465 660a 2020 2020 286d 6f75 7365 -Stef. (mouse │ │ │ -00029b40: 2d79 616e 6b2d 7072 696d 6172 7920 6576 -yank-primary ev │ │ │ -00029b50: 2929 290a 0a28 6465 6675 6e20 6167 6461 )))..(defun agda │ │ │ -00029b60: 322d 676f 2d62 6163 6b20 6e69 6c0a 2020 2-go-back nil. │ │ │ -00029b70: 2247 6f20 6261 636b 2074 6f20 7468 6520 "Go back to the │ │ │ -00029b80: 7072 6576 696f 7573 2070 6f73 6974 696f previous positio │ │ │ -00029b90: 6e20 696e 2077 6869 6368 0a60 6167 6461 n in which.`agda │ │ │ -00029ba0: 322d 676f 746f 2d64 6566 696e 6974 696f 2-goto-definitio │ │ │ -00029bb0: 6e2d 6b65 7962 6f61 7264 2720 6f72 2060 n-keyboard' or ` │ │ │ -00029bc0: 6167 6461 322d 676f 746f 2d64 6566 696e agda2-goto-defin │ │ │ -00029bd0: 6974 696f 6e2d 6d6f 7573 6527 2077 6173 ition-mouse' was │ │ │ -00029be0: 0a69 6e76 6f6b 6564 2e22 0a20 2028 696e .invoked.". (in │ │ │ -00029bf0: 7465 7261 6374 6976 6529 0a20 2028 616e teractive). (an │ │ │ -00029c00: 6e6f 7461 7469 6f6e 2d67 6f2d 6261 636b notation-go-back │ │ │ -00029c10: 2929 0a0a 2864 6566 756e 2061 6764 6132 ))..(defun agda2 │ │ │ -00029c20: 2d6d 6179 6265 2d67 6f74 6f20 2866 696c -maybe-goto (fil │ │ │ -00029c30: 6570 6f73 290a 2020 224d 6967 6874 206d epos). "Might m │ │ │ -00029c40: 6f76 6520 706f 696e 7420 746f 2074 6865 ove point to the │ │ │ -00029c50: 2067 6976 656e 2065 7272 6f72 2e0a 4649 given error..FI │ │ │ -00029c60: 4c45 504f 5320 7368 6f75 6c64 2068 6176 LEPOS should hav │ │ │ -00029c70: 6520 7468 6520 666f 726d 2028 4649 4c45 e the form (FILE │ │ │ -00029c80: 202e 2050 4f53 4954 494f 4e29 2e0a 0a49 . POSITION)...I │ │ │ -00029c90: 6620 6061 6764 6132 2d68 6967 686c 6967 f `agda2-highlig │ │ │ -00029ca0: 6874 2d69 6e2d 7072 6f67 7265 7373 2720 ht-in-progress' │ │ │ -00029cb0: 6973 206e 696c 2c20 7468 656e 206e 6f74 is nil, then not │ │ │ -00029cc0: 6869 6e67 2068 6170 7065 6e73 2e0a 4f74 hing happens..Ot │ │ │ -00029cd0: 6865 7277 6973 652c 2069 6620 7468 6520 herwise, if the │ │ │ -00029ce0: 6375 7272 656e 7420 6275 6666 6572 2069 current buffer i │ │ │ -00029cf0: 7320 7468 6520 6f6e 6520 7468 6174 2069 s the one that i │ │ │ -00029d00: 7320 636f 6e6e 6563 7465 6420 746f 0a74 s connected to.t │ │ │ -00029d10: 6865 2041 6764 6120 7072 6f63 6573 732c he Agda process, │ │ │ -00029d20: 2074 6865 6e20 706f 696e 7420 6973 206d then point is m │ │ │ -00029d30: 6f76 6564 2074 6f20 504f 5349 5449 4f4e oved to POSITION │ │ │ -00029d40: 2069 6e0a 4649 4c45 2028 6173 7375 6d69 in.FILE (assumi │ │ │ -00029d50: 6e67 2074 6861 7420 7468 6520 4649 4c45 ng that the FILE │ │ │ -00029d60: 2069 7320 7265 6164 6162 6c65 292e 204f is readable). O │ │ │ -00029d70: 7468 6572 7769 7365 2070 6f69 6e74 2069 therwise point i │ │ │ -00029d80: 730a 6d6f 7665 6420 746f 2074 6865 2067 s.moved to the g │ │ │ -00029d90: 6976 656e 2070 6f73 6974 696f 6e20 696e iven position in │ │ │ -00029da0: 2074 6865 2062 7566 6665 7220 7669 7369 the buffer visi │ │ │ -00029db0: 7469 6e67 2074 6865 2066 696c 652c 2069 ting the file, i │ │ │ -00029dc0: 660a 616e 792c 2061 6e64 2069 6e20 6576 f.any, and in ev │ │ │ -00029dd0: 6572 7920 7769 6e64 6f77 2064 6973 706c ery window displ │ │ │ -00029de0: 6179 696e 6720 7468 6520 6275 6666 6572 aying the buffer │ │ │ -00029df0: 2c20 6275 7420 7468 6520 7769 6e64 6f77 , but the window │ │ │ -00029e00: 0a63 6f6e 6669 6775 7261 7469 6f6e 2061 .configuration a │ │ │ -00029e10: 6e64 2074 6865 2073 656c 6563 7465 6420 nd the selected │ │ │ -00029e20: 7769 6e64 6f77 2061 7265 206e 6f74 2063 window are not c │ │ │ -00029e30: 6861 6e67 6564 2e22 0a20 2028 7768 656e hanged.". (when │ │ │ -00029e40: 2028 616e 6420 6167 6461 322d 6869 6768 (and agda2-high │ │ │ -00029e50: 6c69 6768 742d 696e 2d70 726f 6772 6573 light-in-progres │ │ │ -00029e60: 730a 2020 2020 2020 2020 2020 2020 2028 s. ( │ │ │ -00029e70: 636f 6e73 7020 6669 6c65 706f 7329 0a20 consp filepos). │ │ │ -00029e80: 2020 2020 2020 2020 2020 2020 2873 7472 (str │ │ │ -00029e90: 696e 6770 2028 6361 7220 6669 6c65 706f ingp (car filepo │ │ │ -00029ea0: 7329 290a 2020 2020 2020 2020 2020 2020 s)). │ │ │ -00029eb0: 2028 696e 7465 6765 7270 2028 6364 7220 (integerp (cdr │ │ │ -00029ec0: 6669 6c65 706f 7329 2929 0a20 2020 2028 filepos))). ( │ │ │ -00029ed0: 6966 2061 6764 6132 2d69 6e2d 6167 6461 if agda2-in-agda │ │ │ -00029ee0: 322d 6669 6c65 2d62 7566 6665 720a 2020 2-file-buffer. │ │ │ -00029ef0: 2020 2020 2020 2861 6e6e 6f74 6174 696f (annotatio │ │ │ -00029f00: 6e2d 676f 746f 2d61 6e64 2d70 7573 6820 n-goto-and-push │ │ │ -00029f10: 2863 7572 7265 6e74 2d62 7566 6665 7229 (current-buffer) │ │ │ -00029f20: 2028 706f 696e 7429 2066 696c 6570 6f73 (point) filepos │ │ │ -00029f30: 290a 2020 2020 2020 2873 6176 652d 6578 ). (save-ex │ │ │ -00029f40: 6375 7273 696f 6e0a 2020 2020 2020 2020 cursion. │ │ │ -00029f50: 286c 6574 2028 2862 7566 6665 7220 2866 (let ((buffer (f │ │ │ -00029f60: 696e 642d 6275 6666 6572 2d76 6973 6974 ind-buffer-visit │ │ │ -00029f70: 696e 6720 2863 6172 2066 696c 6570 6f73 ing (car filepos │ │ │ -00029f80: 2929 2929 0a20 2020 2020 2020 2020 2028 )))). ( │ │ │ -00029f90: 7768 656e 2062 7566 6665 720a 2020 2020 when buffer. │ │ │ -00029fa0: 2020 2020 2020 2020 286c 6574 2028 2877 (let ((w │ │ │ -00029fb0: 696e 646f 7773 2028 6765 742d 6275 6666 indows (get-buff │ │ │ -00029fc0: 6572 2d77 696e 646f 772d 6c69 7374 2062 er-window-list b │ │ │ -00029fd0: 7566 6665 720a 2020 2020 2020 2020 2020 uffer. │ │ │ +000298b0: 3b3b 3b3b 3b0a 3b3b 2047 6f20 746f 2064 ;;;;;.;; Go to d │ │ │ +000298c0: 6566 696e 6974 696f 6e20 7369 7465 0a0a efinition site.. │ │ │ +000298d0: 2864 6566 756e 2061 6764 6132 2d67 6f74 (defun agda2-got │ │ │ +000298e0: 6f2d 6465 6669 6e69 7469 6f6e 2d6b 6579 o-definition-key │ │ │ +000298f0: 626f 6172 6420 2826 6f70 7469 6f6e 616c board (&optional │ │ │ +00029900: 206f 7468 6572 2d77 696e 646f 7729 0a20 other-window). │ │ │ +00029910: 2022 476f 2074 6f20 7468 6520 6465 6669 "Go to the defi │ │ │ +00029920: 6e69 7469 6f6e 2073 6974 6520 6f66 2074 nition site of t │ │ │ +00029930: 6865 206e 616d 6520 756e 6465 7220 706f he name under po │ │ │ +00029940: 696e 7420 2869 6620 616e 7929 2e0a 4966 int (if any)..If │ │ │ +00029950: 2074 6869 7320 6675 6e63 7469 6f6e 2069 this function i │ │ │ +00029960: 7320 696e 766f 6b65 6420 7769 7468 2061 s invoked with a │ │ │ +00029970: 2070 7265 6669 7820 6172 6775 6d65 6e74 prefix argument │ │ │ +00029980: 2074 6865 6e20 616e 6f74 6865 7220 7769 then another wi │ │ │ +00029990: 6e64 6f77 2069 7320 7573 6564 0a74 6f20 ndow is used.to │ │ │ +000299a0: 6469 7370 6c61 7920 7468 6520 6769 7665 display the give │ │ │ +000299b0: 6e20 706f 7369 7469 6f6e 2e22 0a20 2028 n position.". ( │ │ │ +000299c0: 696e 7465 7261 6374 6976 6520 2250 2229 interactive "P") │ │ │ +000299d0: 0a20 2028 616e 6e6f 7461 7469 6f6e 2d67 . (annotation-g │ │ │ +000299e0: 6f74 6f2d 696e 6469 7265 6374 2028 706f oto-indirect (po │ │ │ +000299f0: 696e 7429 206f 7468 6572 2d77 696e 646f int) other-windo │ │ │ +00029a00: 7729 290a 0a28 6465 6675 6e20 6167 6461 w))..(defun agda │ │ │ +00029a10: 322d 676f 746f 2d64 6566 696e 6974 696f 2-goto-definitio │ │ │ +00029a20: 6e2d 6d6f 7573 6520 2865 7629 0a20 2022 n-mouse (ev). " │ │ │ +00029a30: 476f 2074 6f20 7468 6520 6465 6669 6e69 Go to the defini │ │ │ +00029a40: 7469 6f6e 2073 6974 6520 6f66 2074 6865 tion site of the │ │ │ +00029a50: 206e 616d 6520 636c 6963 6b65 6420 6f6e name clicked on │ │ │ +00029a60: 2c20 6966 2061 6e79 2e0a 4f74 6865 7277 , if any..Otherw │ │ │ +00029a70: 6973 652c 2079 616e 6b20 2873 6565 2060 ise, yank (see ` │ │ │ +00029a80: 6d6f 7573 652d 7961 6e6b 2d70 7269 6d61 mouse-yank-prima │ │ │ +00029a90: 7279 2729 2e22 0a20 2028 696e 7465 7261 ry').". (intera │ │ │ +00029aa0: 6374 6976 6520 2265 2229 0a20 2028 756e ctive "e"). (un │ │ │ +00029ab0: 6c65 7373 2028 616e 6e6f 7461 7469 6f6e less (annotation │ │ │ +00029ac0: 2d67 6f74 6f2d 696e 6469 7265 6374 2065 -goto-indirect e │ │ │ +00029ad0: 7629 0a20 2020 203b 3b20 4649 584d 453a v). ;; FIXME: │ │ │ +00029ae0: 2053 686f 756c 646e 2774 2077 6520 7573 Shouldn't we us │ │ │ +00029af0: 6520 736f 6d65 7468 696e 6720 6c69 6b65 e something like │ │ │ +00029b00: 0a20 2020 203b 3b20 2863 616c 6c2d 696e . ;; (call-in │ │ │ +00029b10: 7465 7261 6374 6976 656c 7920 286b 6579 teractively (key │ │ │ +00029b20: 2d62 696e 6469 6e67 2065 7629 293f 2020 -binding ev))? │ │ │ +00029b30: 2d2d 5374 6566 0a20 2020 2028 6d6f 7573 --Stef. (mous │ │ │ +00029b40: 652d 7961 6e6b 2d70 7269 6d61 7279 2065 e-yank-primary e │ │ │ +00029b50: 7629 2929 0a0a 2864 6566 756e 2061 6764 v)))..(defun agd │ │ │ +00029b60: 6132 2d67 6f2d 6261 636b 206e 696c 0a20 a2-go-back nil. │ │ │ +00029b70: 2022 476f 2062 6163 6b20 746f 2074 6865 "Go back to the │ │ │ +00029b80: 2070 7265 7669 6f75 7320 706f 7369 7469 previous positi │ │ │ +00029b90: 6f6e 2069 6e20 7768 6963 680a 6061 6764 on in which.`agd │ │ │ +00029ba0: 6132 2d67 6f74 6f2d 6465 6669 6e69 7469 a2-goto-definiti │ │ │ +00029bb0: 6f6e 2d6b 6579 626f 6172 6427 206f 7220 on-keyboard' or │ │ │ +00029bc0: 6061 6764 6132 2d67 6f74 6f2d 6465 6669 `agda2-goto-defi │ │ │ +00029bd0: 6e69 7469 6f6e 2d6d 6f75 7365 2720 7761 nition-mouse' wa │ │ │ +00029be0: 730a 696e 766f 6b65 642e 220a 2020 2869 s.invoked.". (i │ │ │ +00029bf0: 6e74 6572 6163 7469 7665 290a 2020 2861 nteractive). (a │ │ │ +00029c00: 6e6e 6f74 6174 696f 6e2d 676f 2d62 6163 nnotation-go-bac │ │ │ +00029c10: 6b29 290a 0a28 6465 6675 6e20 6167 6461 k))..(defun agda │ │ │ +00029c20: 322d 6d61 7962 652d 676f 746f 2028 6669 2-maybe-goto (fi │ │ │ +00029c30: 6c65 706f 7329 0a20 2022 4d69 6768 7420 lepos). "Might │ │ │ +00029c40: 6d6f 7665 2070 6f69 6e74 2074 6f20 7468 move point to th │ │ │ +00029c50: 6520 6769 7665 6e20 6572 726f 722e 0a46 e given error..F │ │ │ +00029c60: 494c 4550 4f53 2073 686f 756c 6420 6861 ILEPOS should ha │ │ │ +00029c70: 7665 2074 6865 2066 6f72 6d20 2846 494c ve the form (FIL │ │ │ +00029c80: 4520 2e20 504f 5349 5449 4f4e 292e 0a0a E . POSITION)... │ │ │ +00029c90: 4966 2060 6167 6461 322d 6869 6768 6c69 If `agda2-highli │ │ │ +00029ca0: 6768 742d 696e 2d70 726f 6772 6573 7327 ght-in-progress' │ │ │ +00029cb0: 2069 7320 6e69 6c2c 2074 6865 6e20 6e6f is nil, then no │ │ │ +00029cc0: 7468 696e 6720 6861 7070 656e 732e 0a4f thing happens..O │ │ │ +00029cd0: 7468 6572 7769 7365 2c20 6966 2074 6865 therwise, if the │ │ │ +00029ce0: 2063 7572 7265 6e74 2062 7566 6665 7220 current buffer │ │ │ +00029cf0: 6973 2074 6865 206f 6e65 2074 6861 7420 is the one that │ │ │ +00029d00: 6973 2063 6f6e 6e65 6374 6564 2074 6f0a is connected to. │ │ │ +00029d10: 7468 6520 4167 6461 2070 726f 6365 7373 the Agda process │ │ │ +00029d20: 2c20 7468 656e 2070 6f69 6e74 2069 7320 , then point is │ │ │ +00029d30: 6d6f 7665 6420 746f 2050 4f53 4954 494f moved to POSITIO │ │ │ +00029d40: 4e20 696e 0a46 494c 4520 2861 7373 756d N in.FILE (assum │ │ │ +00029d50: 696e 6720 7468 6174 2074 6865 2046 494c ing that the FIL │ │ │ +00029d60: 4520 6973 2072 6561 6461 626c 6529 2e20 E is readable). │ │ │ +00029d70: 4f74 6865 7277 6973 6520 706f 696e 7420 Otherwise point │ │ │ +00029d80: 6973 0a6d 6f76 6564 2074 6f20 7468 6520 is.moved to the │ │ │ +00029d90: 6769 7665 6e20 706f 7369 7469 6f6e 2069 given position i │ │ │ +00029da0: 6e20 7468 6520 6275 6666 6572 2076 6973 n the buffer vis │ │ │ +00029db0: 6974 696e 6720 7468 6520 6669 6c65 2c20 iting the file, │ │ │ +00029dc0: 6966 0a61 6e79 2c20 616e 6420 696e 2065 if.any, and in e │ │ │ +00029dd0: 7665 7279 2077 696e 646f 7720 6469 7370 very window disp │ │ │ +00029de0: 6c61 7969 6e67 2074 6865 2062 7566 6665 laying the buffe │ │ │ +00029df0: 722c 2062 7574 2074 6865 2077 696e 646f r, but the windo │ │ │ +00029e00: 770a 636f 6e66 6967 7572 6174 696f 6e20 w.configuration │ │ │ +00029e10: 616e 6420 7468 6520 7365 6c65 6374 6564 and the selected │ │ │ +00029e20: 2077 696e 646f 7720 6172 6520 6e6f 7420 window are not │ │ │ +00029e30: 6368 616e 6765 642e 220a 2020 2877 6865 changed.". (whe │ │ │ +00029e40: 6e20 2861 6e64 2061 6764 6132 2d68 6967 n (and agda2-hig │ │ │ +00029e50: 686c 6967 6874 2d69 6e2d 7072 6f67 7265 hlight-in-progre │ │ │ +00029e60: 7373 0a20 2020 2020 2020 2020 2020 2020 ss. │ │ │ +00029e70: 2863 6f6e 7370 2066 696c 6570 6f73 290a (consp filepos). │ │ │ +00029e80: 2020 2020 2020 2020 2020 2020 2028 7374 (st │ │ │ +00029e90: 7269 6e67 7020 2863 6172 2066 696c 6570 ringp (car filep │ │ │ +00029ea0: 6f73 2929 0a20 2020 2020 2020 2020 2020 os)). │ │ │ +00029eb0: 2020 2869 6e74 6567 6572 7020 2863 6472 (integerp (cdr │ │ │ +00029ec0: 2066 696c 6570 6f73 2929 290a 2020 2020 filepos))). │ │ │ +00029ed0: 2869 6620 6167 6461 322d 696e 2d61 6764 (if agda2-in-agd │ │ │ +00029ee0: 6132 2d66 696c 652d 6275 6666 6572 0a20 a2-file-buffer. │ │ │ +00029ef0: 2020 2020 2020 2028 616e 6e6f 7461 7469 (annotati │ │ │ +00029f00: 6f6e 2d67 6f74 6f2d 616e 642d 7075 7368 on-goto-and-push │ │ │ +00029f10: 2028 6375 7272 656e 742d 6275 6666 6572 (current-buffer │ │ │ +00029f20: 2920 2870 6f69 6e74 2920 6669 6c65 706f ) (point) filepo │ │ │ +00029f30: 7329 0a20 2020 2020 2028 7361 7665 2d65 s). (save-e │ │ │ +00029f40: 7863 7572 7369 6f6e 0a20 2020 2020 2020 xcursion. │ │ │ +00029f50: 2028 6c65 7420 2828 6275 6666 6572 2028 (let ((buffer ( │ │ │ +00029f60: 6669 6e64 2d62 7566 6665 722d 7669 7369 find-buffer-visi │ │ │ +00029f70: 7469 6e67 2028 6361 7220 6669 6c65 706f ting (car filepo │ │ │ +00029f80: 7329 2929 290a 2020 2020 2020 2020 2020 s)))). │ │ │ +00029f90: 2877 6865 6e20 6275 6666 6572 0a20 2020 (when buffer. │ │ │ +00029fa0: 2020 2020 2020 2020 2028 6c65 7420 2828 (let (( │ │ │ +00029fb0: 7769 6e64 6f77 7320 2867 6574 2d62 7566 windows (get-buf │ │ │ +00029fc0: 6665 722d 7769 6e64 6f77 2d6c 6973 7420 fer-window-list │ │ │ +00029fd0: 6275 6666 6572 0a20 2020 2020 2020 2020 buffer. │ │ │ 00029fe0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 00029ff0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0002a000: 2020 2020 2020 2020 2027 6e6f 2d6d 696e 'no-min │ │ │ -0002a010: 6962 7566 6665 7220 7429 2929 0a20 2020 ibuffer t))). │ │ │ -0002a020: 2020 2020 2020 2020 2020 2028 6966 2077 (if w │ │ │ -0002a030: 696e 646f 7773 0a20 2020 2020 2020 2020 indows. │ │ │ -0002a040: 2020 2020 2020 2020 2028 646f 6c69 7374 (dolist │ │ │ -0002a050: 2028 7769 6e64 6f77 2077 696e 646f 7773 (window windows │ │ │ -0002a060: 290a 2020 2020 2020 2020 2020 2020 2020 ). │ │ │ -0002a070: 2020 2020 2020 2877 6974 682d 7365 6c65 (with-sele │ │ │ -0002a080: 6374 6564 2d77 696e 646f 7720 7769 6e64 cted-window wind │ │ │ -0002a090: 6f77 0a20 2020 2020 2020 2020 2020 2020 ow. │ │ │ -0002a0a0: 2020 2020 2020 2020 2028 676f 746f 2d63 (goto-c │ │ │ -0002a0b0: 6861 7220 2863 6472 2066 696c 6570 6f73 har (cdr filepos │ │ │ -0002a0c0: 2929 2929 0a20 2020 2020 2020 2020 2020 )))). │ │ │ -0002a0d0: 2020 2020 2028 7769 7468 2d63 7572 7265 (with-curre │ │ │ -0002a0e0: 6e74 2d62 7566 6665 7220 6275 6666 6572 nt-buffer buffer │ │ │ -0002a0f0: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ -0002a100: 2020 2028 676f 746f 2d63 6861 7220 2863 (goto-char (c │ │ │ -0002a110: 6472 2066 696c 6570 6f73 2929 2929 2929 dr filepos)))))) │ │ │ -0002a120: 2929 2929 290a 0a3b 3b3b 3b3b 3b3b 3b3b )))))..;;;;;;;;; │ │ │ +0002a000: 2020 2020 2020 2020 2020 276e 6f2d 6d69 'no-mi │ │ │ +0002a010: 6e69 6275 6666 6572 2074 2929 290a 2020 nibuffer t))). │ │ │ +0002a020: 2020 2020 2020 2020 2020 2020 2869 6620 (if │ │ │ +0002a030: 7769 6e64 6f77 730a 2020 2020 2020 2020 windows. │ │ │ +0002a040: 2020 2020 2020 2020 2020 2864 6f6c 6973 (dolis │ │ │ +0002a050: 7420 2877 696e 646f 7720 7769 6e64 6f77 t (window window │ │ │ +0002a060: 7329 0a20 2020 2020 2020 2020 2020 2020 s). │ │ │ +0002a070: 2020 2020 2020 2028 7769 7468 2d73 656c (with-sel │ │ │ +0002a080: 6563 7465 642d 7769 6e64 6f77 2077 696e ected-window win │ │ │ +0002a090: 646f 770a 2020 2020 2020 2020 2020 2020 dow. │ │ │ +0002a0a0: 2020 2020 2020 2020 2020 2867 6f74 6f2d (goto- │ │ │ +0002a0b0: 6368 6172 2028 6364 7220 6669 6c65 706f char (cdr filepo │ │ │ +0002a0c0: 7329 2929 290a 2020 2020 2020 2020 2020 s)))). │ │ │ +0002a0d0: 2020 2020 2020 2877 6974 682d 6375 7272 (with-curr │ │ │ +0002a0e0: 656e 742d 6275 6666 6572 2062 7566 6665 ent-buffer buffe │ │ │ +0002a0f0: 720a 2020 2020 2020 2020 2020 2020 2020 r. │ │ │ +0002a100: 2020 2020 2867 6f74 6f2d 6368 6172 2028 (goto-char ( │ │ │ +0002a110: 6364 7220 6669 6c65 706f 7329 2929 2929 cdr filepos))))) │ │ │ +0002a120: 2929 2929 2929 0a0a 3b3b 3b3b 3b3b 3b3b ))))))..;;;;;;;; │ │ │ 0002a130: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 0002a140: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 0002a150: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ -0002a160: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b0a ;;;;;;;;;;;;;;;. │ │ │ -0002a170: 3b3b 2049 6d70 6c69 6369 7420 6172 6775 ;; Implicit argu │ │ │ -0002a180: 6d65 6e74 730a 0a28 6465 6675 6e20 6167 ments..(defun ag │ │ │ -0002a190: 6461 322d 6469 7370 6c61 792d 696d 706c da2-display-impl │ │ │ -0002a1a0: 6963 6974 2d61 7267 756d 656e 7473 2028 icit-arguments ( │ │ │ -0002a1b0: 266f 7074 696f 6e61 6c20 6172 6729 0a20 &optional arg). │ │ │ -0002a1c0: 2022 546f 6767 6c65 2064 6973 706c 6179 "Toggle display │ │ │ -0002a1d0: 206f 6620 696d 706c 6963 6974 2061 7267 of implicit arg │ │ │ -0002a1e0: 756d 656e 7473 2e0a 5769 7468 2070 7265 uments..With pre │ │ │ -0002a1f0: 6669 7820 6172 6775 6d65 6e74 2c20 7475 fix argument, tu │ │ │ -0002a200: 726e 206f 6e20 6469 7370 6c61 7920 6f66 rn on display of │ │ │ -0002a210: 2069 6d70 6c69 6369 7420 6172 6775 6d65 implicit argume │ │ │ -0002a220: 6e74 7320 6966 0a74 6865 2061 7267 756d nts if.the argum │ │ │ -0002a230: 656e 7420 6973 2061 2070 6f73 6974 6976 ent is a positiv │ │ │ -0002a240: 6520 6e75 6d62 6572 2c20 6f74 6865 7277 e number, otherw │ │ │ -0002a250: 6973 6520 7475 726e 2069 7420 6f66 662e ise turn it off. │ │ │ -0002a260: 220a 2020 2869 6e74 6572 6163 7469 7665 ". (interactive │ │ │ -0002a270: 2022 5022 290a 2020 2863 6f6e 640a 2020 "P"). (cond. │ │ │ -0002a280: 2028 2865 7120 6172 6720 6e69 6c29 0a20 ((eq arg nil). │ │ │ -0002a290: 2020 2020 2028 6167 6461 322d 676f 206e (agda2-go n │ │ │ -0002a2a0: 696c 2074 2027 6e6f 742d 736f 2d62 7573 il t 'not-so-bus │ │ │ -0002a2b0: 7920 7420 2254 6f67 676c 6549 6d70 6c69 y t "ToggleImpli │ │ │ -0002a2c0: 6369 7441 7267 7322 2929 0a20 2020 2828 citArgs")). (( │ │ │ -0002a2d0: 616e 6420 286e 756d 6265 7270 2061 7267 and (numberp arg │ │ │ -0002a2e0: 2920 283e 2061 7267 2030 2929 0a20 2020 ) (> arg 0)). │ │ │ -0002a2f0: 2020 2028 6167 6461 322d 676f 206e 696c (agda2-go nil │ │ │ -0002a300: 2074 2027 6e6f 742d 736f 2d62 7573 7920 t 'not-so-busy │ │ │ -0002a310: 7420 2253 686f 7749 6d70 6c69 6369 7441 t "ShowImplicitA │ │ │ -0002a320: 7267 7322 2022 5472 7565 2229 290a 2020 rgs" "True")). │ │ │ -0002a330: 2028 7420 2861 6764 6132 2d67 6f20 6e69 (t (agda2-go ni │ │ │ -0002a340: 6c20 7420 276e 6f74 2d73 6f2d 6275 7379 l t 'not-so-busy │ │ │ -0002a350: 2074 2022 5368 6f77 496d 706c 6963 6974 t "ShowImplicit │ │ │ -0002a360: 4172 6773 2220 2246 616c 7365 2229 2929 Args" "False"))) │ │ │ -0002a370: 290a 0a3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b )..;;;;;;;;;;;;; │ │ │ +0002a160: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ +0002a170: 0a3b 3b20 496d 706c 6963 6974 2061 7267 .;; Implicit arg │ │ │ +0002a180: 756d 656e 7473 0a0a 2864 6566 756e 2061 uments..(defun a │ │ │ +0002a190: 6764 6132 2d64 6973 706c 6179 2d69 6d70 gda2-display-imp │ │ │ +0002a1a0: 6c69 6369 742d 6172 6775 6d65 6e74 7320 licit-arguments │ │ │ +0002a1b0: 2826 6f70 7469 6f6e 616c 2061 7267 290a (&optional arg). │ │ │ +0002a1c0: 2020 2254 6f67 676c 6520 6469 7370 6c61 "Toggle displa │ │ │ +0002a1d0: 7920 6f66 2069 6d70 6c69 6369 7420 6172 y of implicit ar │ │ │ +0002a1e0: 6775 6d65 6e74 732e 0a57 6974 6820 7072 guments..With pr │ │ │ +0002a1f0: 6566 6978 2061 7267 756d 656e 742c 2074 efix argument, t │ │ │ +0002a200: 7572 6e20 6f6e 2064 6973 706c 6179 206f urn on display o │ │ │ +0002a210: 6620 696d 706c 6963 6974 2061 7267 756d f implicit argum │ │ │ +0002a220: 656e 7473 2069 660a 7468 6520 6172 6775 ents if.the argu │ │ │ +0002a230: 6d65 6e74 2069 7320 6120 706f 7369 7469 ment is a positi │ │ │ +0002a240: 7665 206e 756d 6265 722c 206f 7468 6572 ve number, other │ │ │ +0002a250: 7769 7365 2074 7572 6e20 6974 206f 6666 wise turn it off │ │ │ +0002a260: 2e22 0a20 2028 696e 7465 7261 6374 6976 .". (interactiv │ │ │ +0002a270: 6520 2250 2229 0a20 2028 636f 6e64 0a20 e "P"). (cond. │ │ │ +0002a280: 2020 2828 6571 2061 7267 206e 696c 290a ((eq arg nil). │ │ │ +0002a290: 2020 2020 2020 2861 6764 6132 2d67 6f20 (agda2-go │ │ │ +0002a2a0: 6e69 6c20 7420 276e 6f74 2d73 6f2d 6275 nil t 'not-so-bu │ │ │ +0002a2b0: 7379 2074 2022 546f 6767 6c65 496d 706c sy t "ToggleImpl │ │ │ +0002a2c0: 6963 6974 4172 6773 2229 290a 2020 2028 icitArgs")). ( │ │ │ +0002a2d0: 2861 6e64 2028 6e75 6d62 6572 7020 6172 (and (numberp ar │ │ │ +0002a2e0: 6729 2028 3e20 6172 6720 3029 290a 2020 g) (> arg 0)). │ │ │ +0002a2f0: 2020 2020 2861 6764 6132 2d67 6f20 6e69 (agda2-go ni │ │ │ +0002a300: 6c20 7420 276e 6f74 2d73 6f2d 6275 7379 l t 'not-so-busy │ │ │ +0002a310: 2074 2022 5368 6f77 496d 706c 6963 6974 t "ShowImplicit │ │ │ +0002a320: 4172 6773 2220 2254 7275 6522 2929 0a20 Args" "True")). │ │ │ +0002a330: 2020 2874 2028 6167 6461 322d 676f 206e (t (agda2-go n │ │ │ +0002a340: 696c 2074 2027 6e6f 742d 736f 2d62 7573 il t 'not-so-bus │ │ │ +0002a350: 7920 7420 2253 686f 7749 6d70 6c69 6369 y t "ShowImplici │ │ │ +0002a360: 7441 7267 7322 2022 4661 6c73 6522 2929 tArgs" "False")) │ │ │ +0002a370: 2929 0a0a 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ))..;;;;;;;;;;;; │ │ │ 0002a380: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 0002a390: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 0002a3a0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ -0002a3b0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b0a 3b3b 2049 ;;;;;;;;;;;.;; I │ │ │ -0002a3c0: 7272 656c 6576 616e 7420 6172 6775 6d65 rrelevant argume │ │ │ -0002a3d0: 6e74 730a 0a28 6465 6675 6e20 6167 6461 nts..(defun agda │ │ │ -0002a3e0: 322d 6469 7370 6c61 792d 6972 7265 6c65 2-display-irrele │ │ │ -0002a3f0: 7661 6e74 2d61 7267 756d 656e 7473 2028 vant-arguments ( │ │ │ -0002a400: 266f 7074 696f 6e61 6c20 6172 6729 0a20 &optional arg). │ │ │ -0002a410: 2022 546f 6767 6c65 2064 6973 706c 6179 "Toggle display │ │ │ -0002a420: 206f 6620 6972 7265 6c65 7661 6e74 2061 of irrelevant a │ │ │ -0002a430: 7267 756d 656e 7473 2e0a 5769 7468 2070 rguments..With p │ │ │ -0002a440: 7265 6669 7820 6172 6775 6d65 6e74 2c20 refix argument, │ │ │ -0002a450: 7475 726e 206f 6e20 6469 7370 6c61 7920 turn on display │ │ │ -0002a460: 6f66 2069 7272 656c 6576 616e 7420 6172 of irrelevant ar │ │ │ -0002a470: 6775 6d65 6e74 7320 6966 0a74 6865 2061 guments if.the a │ │ │ -0002a480: 7267 756d 656e 7420 6973 2061 2070 6f73 rgument is a pos │ │ │ -0002a490: 6974 6976 6520 6e75 6d62 6572 2c20 6f74 itive number, ot │ │ │ -0002a4a0: 6865 7277 6973 6520 7475 726e 2069 7420 herwise turn it │ │ │ -0002a4b0: 6f66 662e 220a 2020 2869 6e74 6572 6163 off.". (interac │ │ │ -0002a4c0: 7469 7665 2022 5022 290a 2020 2863 6f6e tive "P"). (con │ │ │ -0002a4d0: 640a 2020 2028 2865 7120 6172 6720 6e69 d. ((eq arg ni │ │ │ -0002a4e0: 6c29 0a20 2020 2020 2028 6167 6461 322d l). (agda2- │ │ │ -0002a4f0: 676f 206e 696c 2074 2027 6e6f 742d 736f go nil t 'not-so │ │ │ -0002a500: 2d62 7573 7920 7420 2254 6f67 676c 6549 -busy t "ToggleI │ │ │ -0002a510: 7272 656c 6576 616e 7441 7267 7322 2929 rrelevantArgs")) │ │ │ -0002a520: 0a20 2020 2828 616e 6420 286e 756d 6265 . ((and (numbe │ │ │ -0002a530: 7270 2061 7267 2920 283e 2061 7267 2030 rp arg) (> arg 0 │ │ │ -0002a540: 2929 0a20 2020 2020 2028 6167 6461 322d )). (agda2- │ │ │ -0002a550: 676f 206e 696c 2074 2027 6e6f 742d 736f go nil t 'not-so │ │ │ -0002a560: 2d62 7573 7920 7420 2253 686f 7749 7272 -busy t "ShowIrr │ │ │ -0002a570: 656c 6576 616e 7441 7267 7322 2022 5472 elevantArgs" "Tr │ │ │ -0002a580: 7565 2229 290a 2020 2028 7420 2861 6764 ue")). (t (agd │ │ │ -0002a590: 6132 2d67 6f20 6e69 6c20 7420 276e 6f74 a2-go nil t 'not │ │ │ -0002a5a0: 2d73 6f2d 6275 7379 2074 2022 5368 6f77 -so-busy t "Show │ │ │ -0002a5b0: 4972 7265 6c65 7661 6e74 4172 6773 2220 IrrelevantArgs" │ │ │ -0002a5c0: 2246 616c 7365 2229 2929 290a 0a3b 3b3b "False"))))..;;; │ │ │ +0002a3b0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 0a3b 3b20 ;;;;;;;;;;;;.;; │ │ │ +0002a3c0: 4972 7265 6c65 7661 6e74 2061 7267 756d Irrelevant argum │ │ │ +0002a3d0: 656e 7473 0a0a 2864 6566 756e 2061 6764 ents..(defun agd │ │ │ +0002a3e0: 6132 2d64 6973 706c 6179 2d69 7272 656c a2-display-irrel │ │ │ +0002a3f0: 6576 616e 742d 6172 6775 6d65 6e74 7320 evant-arguments │ │ │ +0002a400: 2826 6f70 7469 6f6e 616c 2061 7267 290a (&optional arg). │ │ │ +0002a410: 2020 2254 6f67 676c 6520 6469 7370 6c61 "Toggle displa │ │ │ +0002a420: 7920 6f66 2069 7272 656c 6576 616e 7420 y of irrelevant │ │ │ +0002a430: 6172 6775 6d65 6e74 732e 0a57 6974 6820 arguments..With │ │ │ +0002a440: 7072 6566 6978 2061 7267 756d 656e 742c prefix argument, │ │ │ +0002a450: 2074 7572 6e20 6f6e 2064 6973 706c 6179 turn on display │ │ │ +0002a460: 206f 6620 6972 7265 6c65 7661 6e74 2061 of irrelevant a │ │ │ +0002a470: 7267 756d 656e 7473 2069 660a 7468 6520 rguments if.the │ │ │ +0002a480: 6172 6775 6d65 6e74 2069 7320 6120 706f argument is a po │ │ │ +0002a490: 7369 7469 7665 206e 756d 6265 722c 206f sitive number, o │ │ │ +0002a4a0: 7468 6572 7769 7365 2074 7572 6e20 6974 therwise turn it │ │ │ +0002a4b0: 206f 6666 2e22 0a20 2028 696e 7465 7261 off.". (intera │ │ │ +0002a4c0: 6374 6976 6520 2250 2229 0a20 2028 636f ctive "P"). (co │ │ │ +0002a4d0: 6e64 0a20 2020 2828 6571 2061 7267 206e nd. ((eq arg n │ │ │ +0002a4e0: 696c 290a 2020 2020 2020 2861 6764 6132 il). (agda2 │ │ │ +0002a4f0: 2d67 6f20 6e69 6c20 7420 276e 6f74 2d73 -go nil t 'not-s │ │ │ +0002a500: 6f2d 6275 7379 2074 2022 546f 6767 6c65 o-busy t "Toggle │ │ │ +0002a510: 4972 7265 6c65 7661 6e74 4172 6773 2229 IrrelevantArgs") │ │ │ +0002a520: 290a 2020 2028 2861 6e64 2028 6e75 6d62 ). ((and (numb │ │ │ +0002a530: 6572 7020 6172 6729 2028 3e20 6172 6720 erp arg) (> arg │ │ │ +0002a540: 3029 290a 2020 2020 2020 2861 6764 6132 0)). (agda2 │ │ │ +0002a550: 2d67 6f20 6e69 6c20 7420 276e 6f74 2d73 -go nil t 'not-s │ │ │ +0002a560: 6f2d 6275 7379 2074 2022 5368 6f77 4972 o-busy t "ShowIr │ │ │ +0002a570: 7265 6c65 7661 6e74 4172 6773 2220 2254 relevantArgs" "T │ │ │ +0002a580: 7275 6522 2929 0a20 2020 2874 2028 6167 rue")). (t (ag │ │ │ +0002a590: 6461 322d 676f 206e 696c 2074 2027 6e6f da2-go nil t 'no │ │ │ +0002a5a0: 742d 736f 2d62 7573 7920 7420 2253 686f t-so-busy t "Sho │ │ │ +0002a5b0: 7749 7272 656c 6576 616e 7441 7267 7322 wIrrelevantArgs" │ │ │ +0002a5c0: 2022 4661 6c73 6522 2929 2929 0a0a 3b3b "False"))))..;; │ │ │ 0002a5d0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 0002a5e0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 0002a5f0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 0002a600: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ -0002a610: 3b3b 3b3b 3b0a 3b3b 3b3b 0a0a 2864 6566 ;;;;;.;;;;..(def │ │ │ -0002a620: 756e 2061 6764 6132 2d70 6f70 7570 2d6d un agda2-popup-m │ │ │ -0002a630: 656e 752d 3320 2865 7629 0a20 2022 4966 enu-3 (ev). "If │ │ │ -0002a640: 2069 6e20 6120 676f 616c 2c20 706f 7075 in a goal, popu │ │ │ -0002a650: 7020 7468 6520 676f 616c 206d 656e 7520 p the goal menu │ │ │ -0002a660: 616e 6420 6361 6c6c 2063 686f 7365 6e20 and call chosen │ │ │ -0002a670: 636f 6d6d 616e 642e 220a 2020 2869 6e74 command.". (int │ │ │ -0002a680: 6572 6163 7469 7665 2022 6522 290a 2020 eractive "e"). │ │ │ -0002a690: 286c 6574 2028 6368 6f69 6365 290a 2020 (let (choice). │ │ │ -0002a6a0: 2020 2873 6176 652d 6578 6375 7273 696f (save-excursio │ │ │ -0002a6b0: 6e0a 2020 2020 2020 2861 6e64 2028 6167 n. (and (ag │ │ │ -0002a6c0: 6461 322d 676f 616c 2d61 7420 2867 6f74 da2-goal-at (got │ │ │ -0002a6d0: 6f2d 6368 6172 2028 706f 736e 2d70 6f69 o-char (posn-poi │ │ │ -0002a6e0: 6e74 2028 6576 656e 742d 656e 6420 6576 nt (event-end ev │ │ │ -0002a6f0: 2929 2929 0a20 2020 2020 2020 2020 2020 )))). │ │ │ -0002a700: 2873 6574 7120 6368 6f69 6365 2028 782d (setq choice (x- │ │ │ -0002a710: 706f 7075 702d 6d65 6e75 2065 7620 6167 popup-menu ev ag │ │ │ -0002a720: 6461 322d 676f 616c 2d6d 6170 2929 0a20 da2-goal-map)). │ │ │ -0002a730: 2020 2020 2020 2020 2020 2863 616c 6c2d (call- │ │ │ -0002a740: 696e 7465 7261 6374 6976 656c 790a 2020 interactively. │ │ │ -0002a750: 2020 2020 2020 2020 2020 286c 6f6f 6b75 (looku │ │ │ -0002a760: 702d 6b65 7920 6167 6461 322d 676f 616c p-key agda2-goal │ │ │ -0002a770: 2d6d 6170 2028 6170 706c 7920 2776 6563 -map (apply 'vec │ │ │ -0002a780: 746f 7220 6368 6f69 6365 2929 2929 2929 tor choice)))))) │ │ │ -0002a790: 290a 0a3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b )..;;;;;;;;;;;;; │ │ │ +0002a610: 3b3b 3b3b 3b3b 0a3b 3b3b 3b0a 0a28 6465 ;;;;;;.;;;;..(de │ │ │ +0002a620: 6675 6e20 6167 6461 322d 706f 7075 702d fun agda2-popup- │ │ │ +0002a630: 6d65 6e75 2d33 2028 6576 290a 2020 2249 menu-3 (ev). "I │ │ │ +0002a640: 6620 696e 2061 2067 6f61 6c2c 2070 6f70 f in a goal, pop │ │ │ +0002a650: 7570 2074 6865 2067 6f61 6c20 6d65 6e75 up the goal menu │ │ │ +0002a660: 2061 6e64 2063 616c 6c20 6368 6f73 656e and call chosen │ │ │ +0002a670: 2063 6f6d 6d61 6e64 2e22 0a20 2028 696e command.". (in │ │ │ +0002a680: 7465 7261 6374 6976 6520 2265 2229 0a20 teractive "e"). │ │ │ +0002a690: 2028 6c65 7420 2863 686f 6963 6529 0a20 (let (choice). │ │ │ +0002a6a0: 2020 2028 7361 7665 2d65 7863 7572 7369 (save-excursi │ │ │ +0002a6b0: 6f6e 0a20 2020 2020 2028 616e 6420 2861 on. (and (a │ │ │ +0002a6c0: 6764 6132 2d67 6f61 6c2d 6174 2028 676f gda2-goal-at (go │ │ │ +0002a6d0: 746f 2d63 6861 7220 2870 6f73 6e2d 706f to-char (posn-po │ │ │ +0002a6e0: 696e 7420 2865 7665 6e74 2d65 6e64 2065 int (event-end e │ │ │ +0002a6f0: 7629 2929 290a 2020 2020 2020 2020 2020 v)))). │ │ │ +0002a700: 2028 7365 7471 2063 686f 6963 6520 2878 (setq choice (x │ │ │ +0002a710: 2d70 6f70 7570 2d6d 656e 7520 6576 2061 -popup-menu ev a │ │ │ +0002a720: 6764 6132 2d67 6f61 6c2d 6d61 7029 290a gda2-goal-map)). │ │ │ +0002a730: 2020 2020 2020 2020 2020 2028 6361 6c6c (call │ │ │ +0002a740: 2d69 6e74 6572 6163 7469 7665 6c79 0a20 -interactively. │ │ │ +0002a750: 2020 2020 2020 2020 2020 2028 6c6f 6f6b (look │ │ │ +0002a760: 7570 2d6b 6579 2061 6764 6132 2d67 6f61 up-key agda2-goa │ │ │ +0002a770: 6c2d 6d61 7020 2861 7070 6c79 2027 7665 l-map (apply 've │ │ │ +0002a780: 6374 6f72 2063 686f 6963 6529 2929 2929 ctor choice))))) │ │ │ +0002a790: 2929 0a0a 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ))..;;;;;;;;;;;; │ │ │ 0002a7a0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 0002a7b0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 0002a7c0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ -0002a7d0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b0a 3b3b 2053 ;;;;;;;;;;;.;; S │ │ │ -0002a7e0: 7769 7463 6869 6e67 2074 6f20 6120 6469 witching to a di │ │ │ -0002a7f0: 6666 6572 656e 7420 7665 7273 696f 6e20 fferent version │ │ │ -0002a800: 6f66 2041 6764 610a 0a28 6465 6675 6e20 of Agda..(defun │ │ │ -0002a810: 6167 6461 322d 6765 742d 6167 6461 2d70 agda2-get-agda-p │ │ │ -0002a820: 726f 6772 616d 2d76 6572 7369 6f6e 7320 rogram-versions │ │ │ -0002a830: 2829 0a20 2022 4765 7420 7375 6666 6978 (). "Get suffix │ │ │ -0002a840: 6573 2028 5c22 7665 7273 696f 6e20 7374 es (\"version st │ │ │ -0002a850: 7269 6e67 735c 2229 206f 6620 6578 6563 rings\") of exec │ │ │ -0002a860: 7574 6162 6c65 7320 7374 6172 7469 6e67 utables starting │ │ │ -0002a870: 2077 6974 680a 5c5c 3d27 6167 6461 2d5c with.\\='agda-\ │ │ │ -0002a880: 5c3d 2720 696e 2065 7865 632d 7061 7468 \=' in exec-path │ │ │ -0002a890: 2e22 0a20 2028 696e 7465 7261 6374 6976 .". (interactiv │ │ │ -0002a8a0: 6529 203b 3b20 666f 7220 6465 6275 6767 e) ;; for debugg │ │ │ -0002a8b0: 696e 6720 7075 7270 6f73 6573 0a20 2028 ing purposes. ( │ │ │ -0002a8c0: 6465 6c65 7465 2d64 7570 730a 2020 2028 delete-dups. ( │ │ │ -0002a8d0: 6d61 7063 6172 2028 6c61 6d62 6461 2028 mapcar (lambda ( │ │ │ -0002a8e0: 7061 7468 290a 2020 2020 2020 2020 2020 path). │ │ │ -0002a8f0: 2020 203b 3b20 7374 7269 7020 2761 6764 ;; strip 'agd │ │ │ -0002a900: 612d 2720 7072 6566 6978 0a20 2020 2020 a-' prefix. │ │ │ -0002a910: 2020 2020 2020 2020 2872 6570 6c61 6365 (replace │ │ │ -0002a920: 2d72 6567 6578 702d 696e 2d73 7472 696e -regexp-in-strin │ │ │ -0002a930: 6720 225e 6167 6461 2d3f 2220 2222 0a20 g "^agda-?" "". │ │ │ +0002a7d0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 0a3b 3b20 ;;;;;;;;;;;;.;; │ │ │ +0002a7e0: 5377 6974 6368 696e 6720 746f 2061 2064 Switching to a d │ │ │ +0002a7f0: 6966 6665 7265 6e74 2076 6572 7369 6f6e ifferent version │ │ │ +0002a800: 206f 6620 4167 6461 0a0a 2864 6566 756e of Agda..(defun │ │ │ +0002a810: 2061 6764 6132 2d67 6574 2d61 6764 612d agda2-get-agda- │ │ │ +0002a820: 7072 6f67 7261 6d2d 7665 7273 696f 6e73 program-versions │ │ │ +0002a830: 2028 290a 2020 2247 6574 2073 7566 6669 (). "Get suffi │ │ │ +0002a840: 7865 7320 285c 2276 6572 7369 6f6e 2073 xes (\"version s │ │ │ +0002a850: 7472 696e 6773 5c22 2920 6f66 2065 7865 trings\") of exe │ │ │ +0002a860: 6375 7461 626c 6573 2073 7461 7274 696e cutables startin │ │ │ +0002a870: 6720 7769 7468 0a5c 5c3d 2761 6764 612d g with.\\='agda- │ │ │ +0002a880: 5c5c 3d27 2069 6e20 6578 6563 2d70 6174 \\=' in exec-pat │ │ │ +0002a890: 682e 220a 2020 2869 6e74 6572 6163 7469 h.". (interacti │ │ │ +0002a8a0: 7665 2920 3b3b 2066 6f72 2064 6562 7567 ve) ;; for debug │ │ │ +0002a8b0: 6769 6e67 2070 7572 706f 7365 730a 2020 ging purposes. │ │ │ +0002a8c0: 2864 656c 6574 652d 6475 7073 0a20 2020 (delete-dups. │ │ │ +0002a8d0: 286d 6170 6361 7220 286c 616d 6264 6120 (mapcar (lambda │ │ │ +0002a8e0: 2870 6174 6829 0a20 2020 2020 2020 2020 (path). │ │ │ +0002a8f0: 2020 2020 3b3b 2073 7472 6970 2027 6167 ;; strip 'ag │ │ │ +0002a900: 6461 2d27 2070 7265 6669 780a 2020 2020 da-' prefix. │ │ │ +0002a910: 2020 2020 2020 2020 2028 7265 706c 6163 (replac │ │ │ +0002a920: 652d 7265 6765 7870 2d69 6e2d 7374 7269 e-regexp-in-stri │ │ │ +0002a930: 6e67 2022 5e61 6764 612d 3f22 2022 220a ng "^agda-?" "". │ │ │ 0002a940: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 0002a950: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0002a960: 2020 2020 2020 2866 696c 652d 6e61 6d65 (file-name │ │ │ -0002a970: 2d6e 6f6e 6469 7265 6374 6f72 7920 7061 -nondirectory pa │ │ │ -0002a980: 7468 2929 290a 2020 2020 2020 2020 2020 th))). │ │ │ -0002a990: 2028 636c 2d72 656d 6f76 652d 6966 2d6e (cl-remove-if-n │ │ │ -0002a9a0: 6f74 2027 6669 6c65 2d65 7865 6375 7461 ot 'file-executa │ │ │ -0002a9b0: 626c 652d 700a 2020 2020 2020 2020 2020 ble-p. │ │ │ -0002a9c0: 2020 203b 3b20 636f 6e63 6174 656e 6174 ;; concatenat │ │ │ -0002a9d0: 6520 7265 7375 6c74 0a20 2020 2020 2020 e result. │ │ │ -0002a9e0: 2020 2020 2020 2863 6c2d 7265 6475 6365 (cl-reduce │ │ │ -0002a9f0: 2027 6170 7065 6e64 0a20 2020 2020 2020 'append. │ │ │ -0002aa00: 2020 2020 2020 2020 2020 2020 2020 3b3b ;; │ │ │ -0002aa10: 2066 6f72 2065 6163 6820 6469 7265 6374 for each direct │ │ │ -0002aa20: 6f72 7920 696e 2065 7865 632d 7061 7468 ory in exec-path │ │ │ -0002aa30: 2c20 6765 7420 6c69 7374 206f 660a 2020 , get list of. │ │ │ +0002a960: 2020 2020 2020 2028 6669 6c65 2d6e 616d (file-nam │ │ │ +0002a970: 652d 6e6f 6e64 6972 6563 746f 7279 2070 e-nondirectory p │ │ │ +0002a980: 6174 6829 2929 0a20 2020 2020 2020 2020 ath))). │ │ │ +0002a990: 2020 2863 6c2d 7265 6d6f 7665 2d69 662d (cl-remove-if- │ │ │ +0002a9a0: 6e6f 7420 2766 696c 652d 6578 6563 7574 not 'file-execut │ │ │ +0002a9b0: 6162 6c65 2d70 0a20 2020 2020 2020 2020 able-p. │ │ │ +0002a9c0: 2020 2020 3b3b 2063 6f6e 6361 7465 6e61 ;; concatena │ │ │ +0002a9d0: 7465 2072 6573 756c 740a 2020 2020 2020 te result. │ │ │ +0002a9e0: 2020 2020 2020 2028 636c 2d72 6564 7563 (cl-reduc │ │ │ +0002a9f0: 6520 2761 7070 656e 640a 2020 2020 2020 e 'append. │ │ │ +0002aa00: 2020 2020 2020 2020 2020 2020 2020 203b ; │ │ │ +0002aa10: 3b20 666f 7220 6561 6368 2064 6972 6563 ; for each direc │ │ │ +0002aa20: 746f 7279 2069 6e20 6578 6563 2d70 6174 tory in exec-pat │ │ │ +0002aa30: 682c 2067 6574 206c 6973 7420 6f66 0a20 h, get list of. │ │ │ 0002aa40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0002aa50: 2020 203b 3b20 6669 6c65 7320 7768 6f73 ;; files whos │ │ │ -0002aa60: 6520 6e61 6d65 2073 7461 7274 7320 7769 e name starts wi │ │ │ -0002aa70: 7468 2027 6167 6461 2d27 0a20 2020 2020 th 'agda-'. │ │ │ +0002aa50: 2020 2020 3b3b 2066 696c 6573 2077 686f ;; files who │ │ │ +0002aa60: 7365 206e 616d 6520 7374 6172 7473 2077 se name starts w │ │ │ +0002aa70: 6974 6820 2761 6764 612d 270a 2020 2020 ith 'agda-'. │ │ │ 0002aa80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0002aa90: 286d 6170 6361 7220 286c 616d 6264 6120 (mapcar (lambda │ │ │ -0002aaa0: 2870 6174 6829 0a20 2020 2020 2020 2020 (path). │ │ │ +0002aa90: 2028 6d61 7063 6172 2028 6c61 6d62 6461 (mapcar (lambda │ │ │ +0002aaa0: 2028 7061 7468 290a 2020 2020 2020 2020 (path). │ │ │ 0002aab0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0002aac0: 2020 2020 2020 2877 6865 6e20 2866 696c (when (fil │ │ │ -0002aad0: 652d 6163 6365 7373 6962 6c65 2d64 6972 e-accessible-dir │ │ │ -0002aae0: 6563 746f 7279 2d70 2070 6174 6829 0a20 ectory-p path). │ │ │ +0002aac0: 2020 2020 2020 2028 7768 656e 2028 6669 (when (fi │ │ │ +0002aad0: 6c65 2d61 6363 6573 7369 626c 652d 6469 le-accessible-di │ │ │ +0002aae0: 7265 6374 6f72 792d 7020 7061 7468 290a rectory-p path). │ │ │ 0002aaf0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 0002ab00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0002ab10: 2864 6972 6563 746f 7279 2d66 696c 6573 (directory-files │ │ │ -0002ab20: 2070 6174 6820 2774 2022 5e61 6764 612d path 't "^agda- │ │ │ -0002ab30: 2229 2929 0a20 2020 2020 2020 2020 2020 "))). │ │ │ +0002ab10: 2028 6469 7265 6374 6f72 792d 6669 6c65 (directory-file │ │ │ +0002ab20: 7320 7061 7468 2027 7420 225e 6167 6461 s path 't "^agda │ │ │ +0002ab30: 2d22 2929 290a 2020 2020 2020 2020 2020 -"))). │ │ │ 0002ab40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0002ab50: 2020 6578 6563 2d70 6174 6829 2929 2929 exec-path))))) │ │ │ -0002ab60: 290a 0a0a 2864 6566 756e 2061 6764 6132 )...(defun agda2 │ │ │ -0002ab70: 2d6f 6c64 2d76 6572 7369 6f6e 2028 7665 -old-version (ve │ │ │ -0002ab80: 7273 696f 6e29 0a20 2022 4368 6563 6b20 rsion). "Check │ │ │ -0002ab90: 6966 2074 6865 2067 6976 656e 2076 6572 if the given ver │ │ │ -0002aba0: 7369 6f6e 2069 7320 6c65 7373 2074 6861 sion is less tha │ │ │ -0002abb0: 7420 322e 382e 0a0a 4167 6461 2032 2e38 t 2.8...Agda 2.8 │ │ │ -0002abc0: 2069 7320 7468 6520 7665 7273 696f 6e20 is the version │ │ │ -0002abd0: 7768 6572 6520 7468 6520 6167 6461 2d6d where the agda-m │ │ │ -0002abe0: 6f64 6520 6578 6563 7574 6162 6c65 2077 ode executable w │ │ │ -0002abf0: 6173 2064 6570 7265 6361 7465 642e 0a0a as deprecated... │ │ │ -0002ac00: 4966 2074 6865 2076 6572 7369 6f6e 2063 If the version c │ │ │ -0002ac10: 616e 6e6f 7420 6265 2070 6172 7365 642c annot be parsed, │ │ │ -0002ac20: 2074 6865 2061 6e73 7765 7220 6973 206e the answer is n │ │ │ -0002ac30: 6f2e 0a53 6f20 652e 672e 2061 6764 612d o..So e.g. agda- │ │ │ -0002ac40: 6661 7374 2077 6f75 6c64 2062 6520 696e fast would be in │ │ │ -0002ac50: 7465 7270 7265 7465 6420 6173 206e 6f74 terpreted as not │ │ │ -0002ac60: 206f 6c64 6572 2074 6861 6e0a 6167 6461 older than.agda │ │ │ -0002ac70: 2d32 2e38 2e30 220a 2020 3b3b 2049 6620 -2.8.0". ;; If │ │ │ -0002ac80: 7468 6520 6769 7665 6e20 7374 7269 6e67 the given string │ │ │ -0002ac90: 2064 6f65 7320 6e6f 7420 6861 7665 2061 does not have a │ │ │ -0002aca0: 206e 756d 6572 6963 2070 7265 6669 782c numeric prefix, │ │ │ -0002acb0: 2077 6520 616e 7377 6572 206e 6f2e 0a20 we answer no.. │ │ │ -0002acc0: 2028 616e 6420 2873 7472 696e 672d 6d61 (and (string-ma │ │ │ -0002acd0: 7463 6820 225e 5b30 2d39 5d5b 302d 392e tch "^[0-9][0-9. │ │ │ -0002ace0: 5d2a 2220 7665 7273 696f 6e29 0a20 2020 ]*" version). │ │ │ -0002acf0: 2020 2020 2876 6572 7369 6f6e 3c20 286d (version< (m │ │ │ -0002ad00: 6174 6368 2d73 7472 696e 6720 3020 7665 atch-string 0 ve │ │ │ -0002ad10: 7273 696f 6e29 2022 322e 3822 2929 290a rsion) "2.8"))). │ │ │ -0002ad20: 0a3b 3b20 4e6f 7465 2074 6861 7420 6f74 .;; Note that ot │ │ │ -0002ad30: 6865 7220 7665 7273 696f 6e73 206f 6620 her versions of │ │ │ -0002ad40: 4167 6461 206d 6179 2075 7365 2064 6966 Agda may use dif │ │ │ -0002ad50: 6665 7265 6e74 2070 726f 746f 636f 6c73 ferent protocols │ │ │ -0002ad60: 2c20 736f 0a3b 3b20 7468 6973 2066 756e , so.;; this fun │ │ │ -0002ad70: 6374 696f 6e20 756e 6c6f 6164 7320 7468 ction unloads th │ │ │ -0002ad80: 6520 456d 6163 7320 6d6f 6465 2e0a 0a28 e Emacs mode...( │ │ │ -0002ad90: 6465 6675 6e20 6167 6461 322d 7365 742d defun agda2-set- │ │ │ -0002ada0: 7072 6f67 7261 6d2d 7665 7273 696f 6e20 program-version │ │ │ -0002adb0: 2876 6572 7369 6f6e 290a 2020 2254 7269 (version). "Tri │ │ │ -0002adc0: 6573 2074 6f20 7377 6974 6368 2074 6f20 es to switch to │ │ │ -0002add0: 4167 6461 2076 6572 7369 6f6e 2056 4552 Agda version VER │ │ │ -0002ade0: 5349 4f4e 2e0a 0a54 6869 7320 636f 6d6d SION...This comm │ │ │ -0002adf0: 616e 6420 6173 7375 6d65 7320 7468 6174 and assumes that │ │ │ -0002ae00: 2074 6865 2061 6764 6120 616e 6420 6167 the agda and ag │ │ │ -0002ae10: 6461 2d6d 6f64 6520 6578 6563 7574 6162 da-mode executab │ │ │ -0002ae20: 6c65 7320 666f 720a 4167 6461 2076 6572 les for.Agda ver │ │ │ -0002ae30: 7369 6f6e 2056 4552 5349 4f4e 2061 7265 sion VERSION are │ │ │ -0002ae40: 2063 616c 6c65 6420 6167 6461 2d56 4552 called agda-VER │ │ │ -0002ae50: 5349 4f4e 2061 6e64 2061 6764 612d 6d6f SION and agda-mo │ │ │ -0002ae60: 6465 2d56 4552 5349 4f4e 2e0a 4974 2073 de-VERSION..It s │ │ │ -0002ae70: 6561 7263 6865 7320 666f 7220 7468 6573 earches for thes │ │ │ -0002ae80: 6520 6578 6563 7574 6162 6c65 7320 6f6e e executables on │ │ │ -0002ae90: 2074 6865 2065 7865 632d 7061 7468 0a77 the exec-path.w │ │ │ -0002aea0: 6869 6368 2069 7320 6f66 7465 6e20 6964 hich is often id │ │ │ -0002aeb0: 656e 7469 6361 6c20 746f 2050 4154 4820 entical to PATH │ │ │ -0002aec0: 6275 7420 6361 6e20 6265 2064 6966 6665 but can be diffe │ │ │ -0002aed0: 7265 6e74 0a64 6570 656e 6469 6e67 2068 rent.depending h │ │ │ -0002aee0: 6f77 2045 6d61 6373 2069 7320 636f 6e66 ow Emacs is conf │ │ │ -0002aef0: 6967 7572 6564 2061 6e64 2069 6e76 6f6b igured and invok │ │ │ -0002af00: 6564 2e0a 0a4f 6e6c 7920 6966 2056 4552 ed...Only if VER │ │ │ -0002af10: 5349 4f4e 2069 7320 6e75 6d65 7269 6320 SION is numeric │ │ │ -0002af20: 616e 6420 6c65 7373 2074 6861 6e20 5c22 and less than \" │ │ │ -0002af30: 322e 385c 220a 7468 6520 6167 6461 2d6d 2.8\".the agda-m │ │ │ -0002af40: 6f64 6520 6578 6563 7574 6162 6c65 2069 ode executable i │ │ │ -0002af50: 7320 7573 6564 2074 6f20 6c6f 6361 7465 s used to locate │ │ │ -0002af60: 2074 6865 2072 6573 7065 6374 6976 6520 the respective │ │ │ -0002af70: 6167 6461 322e 656c 2c0a 6f74 6865 7277 agda2.el,.otherw │ │ │ -0002af80: 6973 6520 5c22 6167 6461 202d 2d65 6d61 ise \"agda --ema │ │ │ -0002af90: 6373 2d6d 6f64 6520 6c6f 6361 7465 5c22 cs-mode locate\" │ │ │ -0002afa0: 2069 7320 696e 766f 6b65 642e 0a0a 4966 is invoked...If │ │ │ -0002afb0: 2056 4552 5349 4f4e 2069 7320 656d 7074 VERSION is empt │ │ │ -0002afc0: 7920 6f72 205c 2261 6764 615c 222c 2074 y or \"agda\", t │ │ │ -0002afd0: 6865 6e20 6167 6461 2069 7320 7573 6564 hen agda is used │ │ │ -0002afe0: 2e0a 4120 7072 6566 6978 205c 2261 6764 ..A prefix \"agd │ │ │ -0002aff0: 612d 5c22 2069 7320 7374 7269 7070 6564 a-\" is stripped │ │ │ -0002b000: 2066 726f 6d20 5645 5253 494f 4e2c 0a73 from VERSION,.s │ │ │ -0002b010: 6f20 6f6e 6520 6361 6e20 696e 766f 6b65 o one can invoke │ │ │ -0002b020: 2074 6869 7320 6675 6e63 7469 6f6e 2065 this function e │ │ │ -0002b030: 2e67 2e20 7769 7468 0a5c 2261 6764 612d .g. with.\"agda- │ │ │ -0002b040: 322e 382e 305c 2220 696e 7374 6561 6420 2.8.0\" instead │ │ │ -0002b050: 6f66 205c 2232 2e38 2e30 5c22 2e0a 0a41 of \"2.8.0\"...A │ │ │ -0002b060: 6e20 6174 7465 6d70 7420 6973 206d 6164 n attempt is mad │ │ │ -0002b070: 6520 746f 2070 7265 7365 7276 6520 7468 e to preserve th │ │ │ -0002b080: 6520 6465 6661 756c 7420 7661 6c75 6520 e default value │ │ │ -0002b090: 6f66 2060 6167 6461 322d 6d6f 6465 2d68 of `agda2-mode-h │ │ │ -0002b0a0: 6f6f 6b27 2e22 0a20 2028 696e 7465 7261 ook'.". (intera │ │ │ -0002b0b0: 6374 6976 650a 2020 2028 6c69 7374 2028 ctive. (list ( │ │ │ -0002b0c0: 636f 6d70 6c65 7469 6e67 2d72 6561 6420 completing-read │ │ │ -0002b0d0: 2256 6572 7369 6f6e 3a20 2220 2861 6764 "Version: " (agd │ │ │ -0002b0e0: 6132 2d67 6574 2d61 6764 612d 7072 6f67 a2-get-agda-prog │ │ │ -0002b0f0: 7261 6d2d 7665 7273 696f 6e73 2929 2929 ram-versions)))) │ │ │ -0002b100: 0a0a 2020 286c 6574 2a0a 2020 2020 2020 .. (let*. │ │ │ -0002b110: 2828 6167 6461 2d62 7566 6665 7273 0a20 ((agda-buffers. │ │ │ -0002b120: 2020 2020 2020 2028 636c 2d6d 6170 6361 (cl-mapca │ │ │ -0002b130: 6e20 286c 616d 6264 6120 2862 7566 290a n (lambda (buf). │ │ │ -0002b140: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0002b150: 2020 2877 6974 682d 6375 7272 656e 742d (with-current- │ │ │ -0002b160: 6275 6666 6572 2062 7566 0a20 2020 2020 buffer buf. │ │ │ -0002b170: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ -0002b180: 7768 656e 2028 6571 7561 6c20 6d61 6a6f when (equal majo │ │ │ -0002b190: 722d 6d6f 6465 2027 6167 6461 322d 6d6f r-mode 'agda2-mo │ │ │ -0002b1a0: 6465 290a 2020 2020 2020 2020 2020 2020 de). │ │ │ -0002b1b0: 2020 2020 2020 2020 2020 286c 6973 7420 (list │ │ │ -0002b1c0: 6275 6629 2929 290a 2020 2020 2020 2020 buf)))). │ │ │ -0002b1d0: 2020 2020 2020 2020 2862 7566 6665 722d (buffer- │ │ │ -0002b1e0: 6c69 7374 2929 290a 0a20 2020 2020 2020 list))).. │ │ │ -0002b1f0: 2864 6566 6175 6c74 2d68 6f6f 6b20 2864 (default-hook (d │ │ │ -0002b200: 6566 6175 6c74 2d76 616c 7565 2027 6167 efault-value 'ag │ │ │ -0002b210: 6461 322d 6d6f 6465 2d68 6f6f 6b29 290a da2-mode-hook)). │ │ │ -0002b220: 0a20 2020 2020 2020 3b3b 2053 616e 6974 . ;; Sanit │ │ │ -0002b230: 697a 6520 7665 7273 696f 6e2e 0a20 2020 ize version.. │ │ │ -0002b240: 2020 2020 3b3b 202a 2053 7472 6970 2022 ;; * Strip " │ │ │ -0002b250: 6167 6461 2d22 2070 7265 6669 7820 6672 agda-" prefix fr │ │ │ -0002b260: 6f6d 2076 6572 7369 6f6e 2e0a 2020 2020 om version.. │ │ │ -0002b270: 2020 203b 3b20 2a20 5265 706c 6163 6520 ;; * Replace │ │ │ -0002b280: 7665 7273 696f 6e20 2261 6764 6122 2062 version "agda" b │ │ │ -0002b290: 7920 6a75 7374 2022 222e 0a20 2020 2020 y just "".. │ │ │ -0002b2a0: 2020 3b3b 0a20 2020 2020 2020 3b3b 2052 ;;. ;; R │ │ │ -0002b2b0: 6174 696f 6e61 6c65 3a0a 2020 2020 2020 ationale:. │ │ │ -0002b2c0: 203b 3b20 5468 6520 7573 6572 206d 6967 ;; The user mig │ │ │ -0002b2d0: 6874 2062 7920 6163 6369 6465 6e74 2065 ht by accident e │ │ │ -0002b2e0: 6e74 6572 2022 6167 6461 2d32 2e38 2e30 nter "agda-2.8.0 │ │ │ -0002b2f0: 2220 696e 7374 6561 6420 6f66 2022 322e " instead of "2. │ │ │ -0002b300: 382e 3022 2c0a 2020 2020 2020 203b 3b20 8.0",. ;; │ │ │ -0002b310: 6f72 2022 6167 6461 2220 696e 7374 6561 or "agda" instea │ │ │ -0002b320: 6420 6f66 2022 222e 0a20 2020 2020 2020 d of "".. │ │ │ -0002b330: 2876 6572 7369 6f6e 0a20 2020 2020 2020 (version. │ │ │ -0002b340: 2028 636f 6e64 0a20 2020 2020 2020 2020 (cond. │ │ │ -0002b350: 3b3b 2053 7472 6970 2022 6167 6461 2d22 ;; Strip "agda-" │ │ │ -0002b360: 2070 7265 6669 7820 6672 6f6d 2076 6572 prefix from ver │ │ │ -0002b370: 7369 6f6e 2e0a 2020 2020 2020 2020 2028 sion.. ( │ │ │ -0002b380: 2873 7472 696e 672d 7072 6566 6978 2d70 (string-prefix-p │ │ │ -0002b390: 2022 6167 6461 2d22 2076 6572 7369 6f6e "agda-" version │ │ │ -0002b3a0: 2920 2873 7562 7374 7269 6e67 2076 6572 ) (substring ver │ │ │ -0002b3b0: 7369 6f6e 2028 6c65 6e67 7468 2022 6167 sion (length "ag │ │ │ -0002b3c0: 6461 2d22 2929 290a 2020 2020 2020 2020 da-"))). │ │ │ -0002b3d0: 203b 3b20 5265 706c 6163 6520 7665 7273 ;; Replace vers │ │ │ -0002b3e0: 696f 6e20 2261 6764 6122 2062 7920 6a75 ion "agda" by ju │ │ │ -0002b3f0: 7374 2022 222e 0a20 2020 2020 2020 2020 st "".. │ │ │ -0002b400: 2828 6571 7561 6c20 7665 7273 696f 6e20 ((equal version │ │ │ -0002b410: 2261 6764 6122 2920 2222 290a 2020 2020 "agda") ""). │ │ │ -0002b420: 2020 2020 203b 3b20 4465 6661 756c 742e ;; Default. │ │ │ -0002b430: 0a20 2020 2020 2020 2020 2874 2076 6572 . (t ver │ │ │ -0002b440: 7369 6f6e 2929 290a 0a20 2020 2020 2020 sion))).. │ │ │ -0002b450: 2876 6572 7369 6f6e 2d73 7566 6669 7820 (version-suffix │ │ │ -0002b460: 2869 6620 286f 7220 2865 7175 616c 2076 (if (or (equal v │ │ │ -0002b470: 6572 7369 6f6e 2022 2229 0a20 2020 2020 ersion ""). │ │ │ +0002ab50: 2020 2065 7865 632d 7061 7468 2929 2929 exec-path)))) │ │ │ +0002ab60: 2929 0a0a 0a28 6465 6675 6e20 6167 6461 ))...(defun agda │ │ │ +0002ab70: 322d 6f6c 642d 7665 7273 696f 6e20 2876 2-old-version (v │ │ │ +0002ab80: 6572 7369 6f6e 290a 2020 2243 6865 636b ersion). "Check │ │ │ +0002ab90: 2069 6620 7468 6520 6769 7665 6e20 7665 if the given ve │ │ │ +0002aba0: 7273 696f 6e20 6973 206c 6573 7320 7468 rsion is less th │ │ │ +0002abb0: 6174 2032 2e38 2e0a 0a41 6764 6120 322e at 2.8...Agda 2. │ │ │ +0002abc0: 3820 6973 2074 6865 2076 6572 7369 6f6e 8 is the version │ │ │ +0002abd0: 2077 6865 7265 2074 6865 2061 6764 612d where the agda- │ │ │ +0002abe0: 6d6f 6465 2065 7865 6375 7461 626c 6520 mode executable │ │ │ +0002abf0: 7761 7320 6465 7072 6563 6174 6564 2e0a was deprecated.. │ │ │ +0002ac00: 0a49 6620 7468 6520 7665 7273 696f 6e20 .If the version │ │ │ +0002ac10: 6361 6e6e 6f74 2062 6520 7061 7273 6564 cannot be parsed │ │ │ +0002ac20: 2c20 7468 6520 616e 7377 6572 2069 7320 , the answer is │ │ │ +0002ac30: 6e6f 2e0a 536f 2065 2e67 2e20 6167 6461 no..So e.g. agda │ │ │ +0002ac40: 2d66 6173 7420 776f 756c 6420 6265 2069 -fast would be i │ │ │ +0002ac50: 6e74 6572 7072 6574 6564 2061 7320 6e6f nterpreted as no │ │ │ +0002ac60: 7420 6f6c 6465 7220 7468 616e 0a61 6764 t older than.agd │ │ │ +0002ac70: 612d 322e 382e 3022 0a20 203b 3b20 4966 a-2.8.0". ;; If │ │ │ +0002ac80: 2074 6865 2067 6976 656e 2073 7472 696e the given strin │ │ │ +0002ac90: 6720 646f 6573 206e 6f74 2068 6176 6520 g does not have │ │ │ +0002aca0: 6120 6e75 6d65 7269 6320 7072 6566 6978 a numeric prefix │ │ │ +0002acb0: 2c20 7765 2061 6e73 7765 7220 6e6f 2e0a , we answer no.. │ │ │ +0002acc0: 2020 2861 6e64 2028 7374 7269 6e67 2d6d (and (string-m │ │ │ +0002acd0: 6174 6368 2022 5e5b 302d 395d 5b30 2d39 atch "^[0-9][0-9 │ │ │ +0002ace0: 2e5d 2a22 2076 6572 7369 6f6e 290a 2020 .]*" version). │ │ │ +0002acf0: 2020 2020 2028 7665 7273 696f 6e3c 2028 (version< ( │ │ │ +0002ad00: 6d61 7463 682d 7374 7269 6e67 2030 2076 match-string 0 v │ │ │ +0002ad10: 6572 7369 6f6e 2920 2232 2e38 2229 2929 ersion) "2.8"))) │ │ │ +0002ad20: 0a0a 3b3b 204e 6f74 6520 7468 6174 206f ..;; Note that o │ │ │ +0002ad30: 7468 6572 2076 6572 7369 6f6e 7320 6f66 ther versions of │ │ │ +0002ad40: 2041 6764 6120 6d61 7920 7573 6520 6469 Agda may use di │ │ │ +0002ad50: 6666 6572 656e 7420 7072 6f74 6f63 6f6c fferent protocol │ │ │ +0002ad60: 732c 2073 6f0a 3b3b 2074 6869 7320 6675 s, so.;; this fu │ │ │ +0002ad70: 6e63 7469 6f6e 2075 6e6c 6f61 6473 2074 nction unloads t │ │ │ +0002ad80: 6865 2045 6d61 6373 206d 6f64 652e 0a0a he Emacs mode... │ │ │ +0002ad90: 2864 6566 756e 2061 6764 6132 2d73 6574 (defun agda2-set │ │ │ +0002ada0: 2d70 726f 6772 616d 2d76 6572 7369 6f6e -program-version │ │ │ +0002adb0: 2028 7665 7273 696f 6e29 0a20 2022 5472 (version). "Tr │ │ │ +0002adc0: 6965 7320 746f 2073 7769 7463 6820 746f ies to switch to │ │ │ +0002add0: 2041 6764 6120 7665 7273 696f 6e20 5645 Agda version VE │ │ │ +0002ade0: 5253 494f 4e2e 0a0a 5468 6973 2063 6f6d RSION...This com │ │ │ +0002adf0: 6d61 6e64 2061 7373 756d 6573 2074 6861 mand assumes tha │ │ │ +0002ae00: 7420 7468 6520 6167 6461 2061 6e64 2061 t the agda and a │ │ │ +0002ae10: 6764 612d 6d6f 6465 2065 7865 6375 7461 gda-mode executa │ │ │ +0002ae20: 626c 6573 2066 6f72 0a41 6764 6120 7665 bles for.Agda ve │ │ │ +0002ae30: 7273 696f 6e20 5645 5253 494f 4e20 6172 rsion VERSION ar │ │ │ +0002ae40: 6520 6361 6c6c 6564 2061 6764 612d 5645 e called agda-VE │ │ │ +0002ae50: 5253 494f 4e20 616e 6420 6167 6461 2d6d RSION and agda-m │ │ │ +0002ae60: 6f64 652d 5645 5253 494f 4e2e 0a49 7420 ode-VERSION..It │ │ │ +0002ae70: 7365 6172 6368 6573 2066 6f72 2074 6865 searches for the │ │ │ +0002ae80: 7365 2065 7865 6375 7461 626c 6573 206f se executables o │ │ │ +0002ae90: 6e20 7468 6520 6578 6563 2d70 6174 680a n the exec-path. │ │ │ +0002aea0: 7768 6963 6820 6973 206f 6674 656e 2069 which is often i │ │ │ +0002aeb0: 6465 6e74 6963 616c 2074 6f20 5041 5448 dentical to PATH │ │ │ +0002aec0: 2062 7574 2063 616e 2062 6520 6469 6666 but can be diff │ │ │ +0002aed0: 6572 656e 740a 6465 7065 6e64 696e 6720 erent.depending │ │ │ +0002aee0: 686f 7720 456d 6163 7320 6973 2063 6f6e how Emacs is con │ │ │ +0002aef0: 6669 6775 7265 6420 616e 6420 696e 766f figured and invo │ │ │ +0002af00: 6b65 642e 0a0a 4f6e 6c79 2069 6620 5645 ked...Only if VE │ │ │ +0002af10: 5253 494f 4e20 6973 206e 756d 6572 6963 RSION is numeric │ │ │ +0002af20: 2061 6e64 206c 6573 7320 7468 616e 205c and less than \ │ │ │ +0002af30: 2232 2e38 5c22 0a74 6865 2061 6764 612d "2.8\".the agda- │ │ │ +0002af40: 6d6f 6465 2065 7865 6375 7461 626c 6520 mode executable │ │ │ +0002af50: 6973 2075 7365 6420 746f 206c 6f63 6174 is used to locat │ │ │ +0002af60: 6520 7468 6520 7265 7370 6563 7469 7665 e the respective │ │ │ +0002af70: 2061 6764 6132 2e65 6c2c 0a6f 7468 6572 agda2.el,.other │ │ │ +0002af80: 7769 7365 205c 2261 6764 6120 2d2d 656d wise \"agda --em │ │ │ +0002af90: 6163 732d 6d6f 6465 206c 6f63 6174 655c acs-mode locate\ │ │ │ +0002afa0: 2220 6973 2069 6e76 6f6b 6564 2e0a 0a49 " is invoked...I │ │ │ +0002afb0: 6620 5645 5253 494f 4e20 6973 2065 6d70 f VERSION is emp │ │ │ +0002afc0: 7479 206f 7220 5c22 6167 6461 5c22 2c20 ty or \"agda\", │ │ │ +0002afd0: 7468 656e 2061 6764 6120 6973 2075 7365 then agda is use │ │ │ +0002afe0: 642e 0a41 2070 7265 6669 7820 5c22 6167 d..A prefix \"ag │ │ │ +0002aff0: 6461 2d5c 2220 6973 2073 7472 6970 7065 da-\" is strippe │ │ │ +0002b000: 6420 6672 6f6d 2056 4552 5349 4f4e 2c0a d from VERSION,. │ │ │ +0002b010: 736f 206f 6e65 2063 616e 2069 6e76 6f6b so one can invok │ │ │ +0002b020: 6520 7468 6973 2066 756e 6374 696f 6e20 e this function │ │ │ +0002b030: 652e 672e 2077 6974 680a 5c22 6167 6461 e.g. with.\"agda │ │ │ +0002b040: 2d32 2e38 2e30 5c22 2069 6e73 7465 6164 -2.8.0\" instead │ │ │ +0002b050: 206f 6620 5c22 322e 382e 305c 222e 0a0a of \"2.8.0\"... │ │ │ +0002b060: 416e 2061 7474 656d 7074 2069 7320 6d61 An attempt is ma │ │ │ +0002b070: 6465 2074 6f20 7072 6573 6572 7665 2074 de to preserve t │ │ │ +0002b080: 6865 2064 6566 6175 6c74 2076 616c 7565 he default value │ │ │ +0002b090: 206f 6620 6061 6764 6132 2d6d 6f64 652d of `agda2-mode- │ │ │ +0002b0a0: 686f 6f6b 272e 220a 2020 2869 6e74 6572 hook'.". (inter │ │ │ +0002b0b0: 6163 7469 7665 0a20 2020 286c 6973 7420 active. (list │ │ │ +0002b0c0: 2863 6f6d 706c 6574 696e 672d 7265 6164 (completing-read │ │ │ +0002b0d0: 2022 5665 7273 696f 6e3a 2022 2028 6167 "Version: " (ag │ │ │ +0002b0e0: 6461 322d 6765 742d 6167 6461 2d70 726f da2-get-agda-pro │ │ │ +0002b0f0: 6772 616d 2d76 6572 7369 6f6e 7329 2929 gram-versions))) │ │ │ +0002b100: 290a 0a20 2028 6c65 742a 0a20 2020 2020 ).. (let*. │ │ │ +0002b110: 2028 2861 6764 612d 6275 6666 6572 730a ((agda-buffers. │ │ │ +0002b120: 2020 2020 2020 2020 2863 6c2d 6d61 7063 (cl-mapc │ │ │ +0002b130: 616e 2028 6c61 6d62 6461 2028 6275 6629 an (lambda (buf) │ │ │ +0002b140: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ +0002b150: 2020 2028 7769 7468 2d63 7572 7265 6e74 (with-current │ │ │ +0002b160: 2d62 7566 6665 7220 6275 660a 2020 2020 -buffer buf. │ │ │ +0002b170: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +0002b180: 2877 6865 6e20 2865 7175 616c 206d 616a (when (equal maj │ │ │ +0002b190: 6f72 2d6d 6f64 6520 2761 6764 6132 2d6d or-mode 'agda2-m │ │ │ +0002b1a0: 6f64 6529 0a20 2020 2020 2020 2020 2020 ode). │ │ │ +0002b1b0: 2020 2020 2020 2020 2020 2028 6c69 7374 (list │ │ │ +0002b1c0: 2062 7566 2929 2929 0a20 2020 2020 2020 buf)))). │ │ │ +0002b1d0: 2020 2020 2020 2020 2028 6275 6666 6572 (buffer │ │ │ +0002b1e0: 2d6c 6973 7429 2929 0a0a 2020 2020 2020 -list))).. │ │ │ +0002b1f0: 2028 6465 6661 756c 742d 686f 6f6b 2028 (default-hook ( │ │ │ +0002b200: 6465 6661 756c 742d 7661 6c75 6520 2761 default-value 'a │ │ │ +0002b210: 6764 6132 2d6d 6f64 652d 686f 6f6b 2929 gda2-mode-hook)) │ │ │ +0002b220: 0a0a 2020 2020 2020 203b 3b20 5361 6e69 .. ;; Sani │ │ │ +0002b230: 7469 7a65 2076 6572 7369 6f6e 2e0a 2020 tize version.. │ │ │ +0002b240: 2020 2020 203b 3b20 2a20 5374 7269 7020 ;; * Strip │ │ │ +0002b250: 2261 6764 612d 2220 7072 6566 6978 2066 "agda-" prefix f │ │ │ +0002b260: 726f 6d20 7665 7273 696f 6e2e 0a20 2020 rom version.. │ │ │ +0002b270: 2020 2020 3b3b 202a 2052 6570 6c61 6365 ;; * Replace │ │ │ +0002b280: 2076 6572 7369 6f6e 2022 6167 6461 2220 version "agda" │ │ │ +0002b290: 6279 206a 7573 7420 2222 2e0a 2020 2020 by just "".. │ │ │ +0002b2a0: 2020 203b 3b0a 2020 2020 2020 203b 3b20 ;;. ;; │ │ │ +0002b2b0: 5261 7469 6f6e 616c 653a 0a20 2020 2020 Rationale:. │ │ │ +0002b2c0: 2020 3b3b 2054 6865 2075 7365 7220 6d69 ;; The user mi │ │ │ +0002b2d0: 6768 7420 6279 2061 6363 6964 656e 7420 ght by accident │ │ │ +0002b2e0: 656e 7465 7220 2261 6764 612d 322e 382e enter "agda-2.8. │ │ │ +0002b2f0: 3022 2069 6e73 7465 6164 206f 6620 2232 0" instead of "2 │ │ │ +0002b300: 2e38 2e30 222c 0a20 2020 2020 2020 3b3b .8.0",. ;; │ │ │ +0002b310: 206f 7220 2261 6764 6122 2069 6e73 7465 or "agda" inste │ │ │ +0002b320: 6164 206f 6620 2222 2e0a 2020 2020 2020 ad of "".. │ │ │ +0002b330: 2028 7665 7273 696f 6e0a 2020 2020 2020 (version. │ │ │ +0002b340: 2020 2863 6f6e 640a 2020 2020 2020 2020 (cond. │ │ │ +0002b350: 203b 3b20 5374 7269 7020 2261 6764 612d ;; Strip "agda- │ │ │ +0002b360: 2220 7072 6566 6978 2066 726f 6d20 7665 " prefix from ve │ │ │ +0002b370: 7273 696f 6e2e 0a20 2020 2020 2020 2020 rsion.. │ │ │ +0002b380: 2828 7374 7269 6e67 2d70 7265 6669 782d ((string-prefix- │ │ │ +0002b390: 7020 2261 6764 612d 2220 7665 7273 696f p "agda-" versio │ │ │ +0002b3a0: 6e29 2028 7375 6273 7472 696e 6720 7665 n) (substring ve │ │ │ +0002b3b0: 7273 696f 6e20 286c 656e 6774 6820 2261 rsion (length "a │ │ │ +0002b3c0: 6764 612d 2229 2929 0a20 2020 2020 2020 gda-"))). │ │ │ +0002b3d0: 2020 3b3b 2052 6570 6c61 6365 2076 6572 ;; Replace ver │ │ │ +0002b3e0: 7369 6f6e 2022 6167 6461 2220 6279 206a sion "agda" by j │ │ │ +0002b3f0: 7573 7420 2222 2e0a 2020 2020 2020 2020 ust "".. │ │ │ +0002b400: 2028 2865 7175 616c 2076 6572 7369 6f6e ((equal version │ │ │ +0002b410: 2022 6167 6461 2229 2022 2229 0a20 2020 "agda") ""). │ │ │ +0002b420: 2020 2020 2020 3b3b 2044 6566 6175 6c74 ;; Default │ │ │ +0002b430: 2e0a 2020 2020 2020 2020 2028 7420 7665 .. (t ve │ │ │ +0002b440: 7273 696f 6e29 2929 0a0a 2020 2020 2020 rsion))).. │ │ │ +0002b450: 2028 7665 7273 696f 6e2d 7375 6666 6978 (version-suffix │ │ │ +0002b460: 2028 6966 2028 6f72 2028 6571 7561 6c20 (if (or (equal │ │ │ +0002b470: 7665 7273 696f 6e20 2222 290a 2020 2020 version ""). │ │ │ 0002b480: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0002b490: 2020 2020 2020 2020 2020 2865 7175 616c (equal │ │ │ -0002b4a0: 2076 6572 7369 6f6e 206e 696c 2929 0a20 version nil)). │ │ │ +0002b490: 2020 2020 2020 2020 2020 2028 6571 7561 (equa │ │ │ +0002b4a0: 6c20 7665 7273 696f 6e20 6e69 6c29 290a l version nil)). │ │ │ 0002b4b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0002b4c0: 2020 2020 2020 2020 2020 2222 0a20 2020 "". │ │ │ +0002b4c0: 2020 2020 2020 2020 2020 2022 220a 2020 "". │ │ │ 0002b4d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0002b4e0: 2020 2020 2020 2863 6f6e 6361 7420 222d (concat "- │ │ │ -0002b4f0: 2220 7665 7273 696f 6e29 2929 0a0a 2020 " version))).. │ │ │ -0002b500: 2020 2020 203b 3b20 5275 6e20 6167 6461 ;; Run agda │ │ │ -0002b510: 2d6d 6f64 653c 7665 7273 696f 6e2d 7375 -mode and make s │ │ │ -0002b530: 7572 6520 7468 6174 2069 7420 7265 7475 ure that it retu │ │ │ -0002b540: 726e 730a 2020 2020 2020 203b 3b20 7375 rns. ;; su │ │ │ -0002b550: 6363 6573 7366 756c 6c79 2e0a 2020 2020 ccessfully.. │ │ │ -0002b560: 2020 2028 636f 6469 6e67 2d73 7973 7465 (coding-syste │ │ │ -0002b570: 6d2d 666f 722d 7265 6164 2027 7574 662d m-for-read 'utf- │ │ │ -0002b580: 3829 0a20 2020 2020 2020 286f 6c64 2d61 8). (old-a │ │ │ -0002b590: 6764 6120 2861 6764 6132 2d6f 6c64 2d76 gda (agda2-old-v │ │ │ -0002b5a0: 6572 7369 6f6e 2076 6572 7369 6f6e 2929 ersion version)) │ │ │ -0002b5b0: 0a20 2020 2020 2020 2861 6764 612d 6d6f . (agda-mo │ │ │ -0002b5c0: 6465 2d70 726f 6720 2863 6f6e 6361 7420 de-prog (concat │ │ │ -0002b5d0: 2869 6620 6f6c 642d 6167 6461 2022 6167 (if old-agda "ag │ │ │ -0002b5e0: 6461 2d6d 6f64 6522 2022 6167 6461 2229 da-mode" "agda") │ │ │ -0002b5f0: 2076 6572 7369 6f6e 2d73 7566 6669 7829 version-suffix) │ │ │ -0002b600: 290a 2020 2020 2020 2028 6167 6461 2d6d ). (agda-m │ │ │ -0002b610: 6f64 652d 7061 7468 0a20 2020 2020 2020 ode-path. │ │ │ -0002b620: 2028 636f 6e64 6974 696f 6e2d 6361 7365 (condition-case │ │ │ -0002b630: 206e 696c 0a20 2020 2020 2020 2020 2020 nil. │ │ │ -0002b640: 2028 7769 7468 2d74 656d 702d 6275 6666 (with-temp-buff │ │ │ -0002b650: 6572 0a20 2020 2020 2020 2020 2020 2020 er. │ │ │ -0002b660: 2028 756e 6c65 7373 0a20 2020 2020 2020 (unless. │ │ │ -0002b670: 2020 2020 2020 2020 2020 2028 6571 7561 (equa │ │ │ -0002b680: 6c20 300a 2020 2020 2020 2020 2020 2020 l 0. │ │ │ -0002b690: 2020 2020 2020 2020 2869 6620 6f6c 642d (if old- │ │ │ -0002b6a0: 6167 6461 0a20 2020 2020 2020 2020 2020 agda. │ │ │ -0002b6b0: 2020 2020 2020 2020 2020 2020 2028 6361 (ca │ │ │ -0002b6c0: 6c6c 2d70 726f 6365 7373 2061 6764 612d ll-process agda- │ │ │ -0002b6d0: 6d6f 6465 2d70 726f 6720 6e69 6c20 2863 mode-prog nil (c │ │ │ -0002b6e0: 7572 7265 6e74 2d62 7566 6665 7229 206e urrent-buffer) n │ │ │ -0002b6f0: 696c 2022 6c6f 6361 7465 2229 0a20 2020 il "locate"). │ │ │ +0002b4e0: 2020 2020 2020 2028 636f 6e63 6174 2022 (concat " │ │ │ +0002b4f0: 2d22 2076 6572 7369 6f6e 2929 290a 0a20 -" version))).. │ │ │ +0002b500: 2020 2020 2020 3b3b 2052 756e 2061 6764 ;; Run agd │ │ │ +0002b510: 612d 6d6f 6465 3c76 6572 7369 6f6e 2d73 a-mode and make │ │ │ +0002b530: 7375 7265 2074 6861 7420 6974 2072 6574 sure that it ret │ │ │ +0002b540: 7572 6e73 0a20 2020 2020 2020 3b3b 2073 urns. ;; s │ │ │ +0002b550: 7563 6365 7373 6675 6c6c 792e 0a20 2020 uccessfully.. │ │ │ +0002b560: 2020 2020 2863 6f64 696e 672d 7379 7374 (coding-syst │ │ │ +0002b570: 656d 2d66 6f72 2d72 6561 6420 2775 7466 em-for-read 'utf │ │ │ +0002b580: 2d38 290a 2020 2020 2020 2028 6f6c 642d -8). (old- │ │ │ +0002b590: 6167 6461 2028 6167 6461 322d 6f6c 642d agda (agda2-old- │ │ │ +0002b5a0: 7665 7273 696f 6e20 7665 7273 696f 6e29 version version) │ │ │ +0002b5b0: 290a 2020 2020 2020 2028 6167 6461 2d6d ). (agda-m │ │ │ +0002b5c0: 6f64 652d 7072 6f67 2028 636f 6e63 6174 ode-prog (concat │ │ │ +0002b5d0: 2028 6966 206f 6c64 2d61 6764 6120 2261 (if old-agda "a │ │ │ +0002b5e0: 6764 612d 6d6f 6465 2220 2261 6764 6122 gda-mode" "agda" │ │ │ +0002b5f0: 2920 7665 7273 696f 6e2d 7375 6666 6978 ) version-suffix │ │ │ +0002b600: 2929 0a20 2020 2020 2020 2861 6764 612d )). (agda- │ │ │ +0002b610: 6d6f 6465 2d70 6174 680a 2020 2020 2020 mode-path. │ │ │ +0002b620: 2020 2863 6f6e 6469 7469 6f6e 2d63 6173 (condition-cas │ │ │ +0002b630: 6520 6e69 6c0a 2020 2020 2020 2020 2020 e nil. │ │ │ +0002b640: 2020 2877 6974 682d 7465 6d70 2d62 7566 (with-temp-buf │ │ │ +0002b650: 6665 720a 2020 2020 2020 2020 2020 2020 fer. │ │ │ +0002b660: 2020 2875 6e6c 6573 730a 2020 2020 2020 (unless. │ │ │ +0002b670: 2020 2020 2020 2020 2020 2020 2865 7175 (equ │ │ │ +0002b680: 616c 2030 0a20 2020 2020 2020 2020 2020 al 0. │ │ │ +0002b690: 2020 2020 2020 2020 2028 6966 206f 6c64 (if old │ │ │ +0002b6a0: 2d61 6764 610a 2020 2020 2020 2020 2020 -agda. │ │ │ +0002b6b0: 2020 2020 2020 2020 2020 2020 2020 2863 (c │ │ │ +0002b6c0: 616c 6c2d 7072 6f63 6573 7320 6167 6461 all-process agda │ │ │ +0002b6d0: 2d6d 6f64 652d 7072 6f67 206e 696c 2028 -mode-prog nil ( │ │ │ +0002b6e0: 6375 7272 656e 742d 6275 6666 6572 2920 current-buffer) │ │ │ +0002b6f0: 6e69 6c20 226c 6f63 6174 6522 290a 2020 nil "locate"). │ │ │ 0002b700: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0002b710: 2020 2020 2028 6361 6c6c 2d70 726f 6365 (call-proce │ │ │ -0002b720: 7373 2061 6764 612d 6d6f 6465 2d70 726f ss agda-mode-pro │ │ │ -0002b730: 6720 6e69 6c20 2863 7572 7265 6e74 2d62 g nil (current-b │ │ │ -0002b740: 7566 6665 7229 206e 696c 2022 2d2d 656d uffer) nil "--em │ │ │ -0002b750: 6163 732d 6d6f 6465 2220 226c 6f63 6174 acs-mode" "locat │ │ │ -0002b760: 6522 2929 290a 2020 2020 2020 2020 2020 e"))). │ │ │ -0002b770: 2020 2020 2020 2865 7272 6f72 2022 2573 (error "%s │ │ │ -0002b780: 2220 2863 6f6e 6361 7420 2245 7272 6f72 " (concat "Error │ │ │ -0002b790: 2077 6865 6e20 7275 6e6e 696e 6720 220a when running ". │ │ │ -0002b7a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +0002b710: 2020 2020 2020 2863 616c 6c2d 7072 6f63 (call-proc │ │ │ +0002b720: 6573 7320 6167 6461 2d6d 6f64 652d 7072 ess agda-mode-pr │ │ │ +0002b730: 6f67 206e 696c 2028 6375 7272 656e 742d og nil (current- │ │ │ +0002b740: 6275 6666 6572 2920 6e69 6c20 222d 2d65 buffer) nil "--e │ │ │ +0002b750: 6d61 6373 2d6d 6f64 6522 2022 6c6f 6361 macs-mode" "loca │ │ │ +0002b760: 7465 2229 2929 0a20 2020 2020 2020 2020 te"))). │ │ │ +0002b770: 2020 2020 2020 2028 6572 726f 7220 2225 (error "% │ │ │ +0002b780: 7322 2028 636f 6e63 6174 2022 4572 726f s" (concat "Erro │ │ │ +0002b790: 7220 7768 656e 2072 756e 6e69 6e67 2022 r when running " │ │ │ +0002b7a0: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ 0002b7b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0002b7c0: 2020 2020 6167 6461 2d6d 6f64 652d 7072 agda-mode-pr │ │ │ -0002b7d0: 6f67 2929 290a 2020 2020 2020 2020 2020 og))). │ │ │ -0002b7e0: 2020 2020 2862 7566 6665 722d 7374 7269 (buffer-stri │ │ │ -0002b7f0: 6e67 2929 0a20 2020 2020 2020 2020 2028 ng)). ( │ │ │ -0002b800: 6669 6c65 2d65 7272 6f72 0a20 2020 2020 file-error. │ │ │ -0002b810: 2020 2020 2020 2865 7272 6f72 2022 2573 (error "%s │ │ │ -0002b820: 2220 2863 6f6e 6361 7420 2243 6f75 6c64 " (concat "Could │ │ │ -0002b830: 206e 6f74 2066 696e 6420 2220 6167 6461 not find " agda │ │ │ -0002b840: 2d6d 6f64 652d 7072 6f67 2929 2929 2929 -mode-prog)))))) │ │ │ -0002b850: 0a0a 2020 2020 3b3b 204d 616b 6520 7375 .. ;; Make su │ │ │ -0002b860: 7265 2074 6861 7420 6167 6461 2d6d 6f64 re that agda-mod │ │ │ -0002b870: 653c 7665 7273 696f 6e2d 7375 6666 6978 e returns a vali │ │ │ -0002b890: 6420 6669 6c65 2e0a 2020 2020 2875 6e6c d file.. (unl │ │ │ -0002b8a0: 6573 7320 2866 696c 652d 7265 6164 6162 ess (file-readab │ │ │ -0002b8b0: 6c65 2d70 2061 6764 612d 6d6f 6465 2d70 le-p agda-mode-p │ │ │ -0002b8c0: 6174 6829 0a20 2020 2020 2028 6572 726f ath). (erro │ │ │ -0002b8d0: 7220 2225 7322 2028 636f 6e63 6174 2022 r "%s" (concat " │ │ │ -0002b8e0: 436f 756c 6420 6e6f 7420 7265 6164 2022 Could not read " │ │ │ -0002b8f0: 2061 6764 612d 6d6f 6465 2d70 6174 6829 agda-mode-path) │ │ │ -0002b900: 2929 0a0a 2020 2020 3b3b 2054 7572 6e20 )).. ;; Turn │ │ │ -0002b910: 6f66 6620 7468 6520 4167 6461 206d 6f64 off the Agda mod │ │ │ -0002b920: 652e 0a20 2020 2028 6167 6461 322d 7175 e.. (agda2-qu │ │ │ -0002b930: 6974 290a 0a20 2020 203b 3b20 4b69 6c6c it).. ;; Kill │ │ │ -0002b940: 2073 6f6d 6520 6275 6666 6572 7320 7265 some buffers re │ │ │ -0002b950: 6c61 7465 6420 746f 2041 6764 612e 0a20 lated to Agda.. │ │ │ -0002b960: 2020 2028 7768 656e 2028 6275 6666 6572 (when (buffer │ │ │ -0002b970: 2d6c 6976 652d 7020 6167 6461 322d 696e -live-p agda2-in │ │ │ -0002b980: 666f 2d62 7566 6665 7229 0a20 2020 2020 fo-buffer). │ │ │ -0002b990: 2028 6b69 6c6c 2d62 7566 6665 7220 6167 (kill-buffer ag │ │ │ -0002b9a0: 6461 322d 696e 666f 2d62 7566 6665 7229 da2-info-buffer) │ │ │ -0002b9b0: 290a 2020 2020 2877 6865 6e20 2861 6e64 ). (when (and │ │ │ -0002b9c0: 2061 6764 6132 2d64 6562 7567 2d62 7566 agda2-debug-buf │ │ │ -0002b9d0: 6665 722d 6e61 6d65 0a20 2020 2020 2020 fer-name. │ │ │ -0002b9e0: 2020 2020 2020 2020 2867 6574 2d62 7566 (get-buf │ │ │ -0002b9f0: 6665 7220 6167 6461 322d 6465 6275 672d fer agda2-debug- │ │ │ -0002ba00: 6275 6666 6572 2d6e 616d 6529 290a 2020 buffer-name)). │ │ │ -0002ba10: 2020 2020 286b 696c 6c2d 6275 6666 6572 (kill-buffer │ │ │ -0002ba20: 2061 6764 6132 2d64 6562 7567 2d62 7566 agda2-debug-buf │ │ │ -0002ba30: 6665 722d 6e61 6d65 2929 0a0a 2020 2020 fer-name)).. │ │ │ -0002ba40: 3b3b 2052 656d 6f76 6520 7468 6520 4167 ;; Remove the Ag │ │ │ -0002ba50: 6461 206d 6f64 6520 6469 7265 6374 6f72 da mode director │ │ │ -0002ba60: 7920 6672 6f6d 2074 6865 206c 6f61 6420 y from the load │ │ │ -0002ba70: 7061 7468 2e0a 2020 2020 2873 6574 7120 path.. (setq │ │ │ -0002ba80: 6c6f 6164 2d70 6174 6820 2864 656c 6574 load-path (delet │ │ │ -0002ba90: 6520 6167 6461 322d 6469 7265 6374 6f72 e agda2-director │ │ │ -0002baa0: 7920 6c6f 6164 2d70 6174 6829 290a 0a20 y load-path)).. │ │ │ -0002bab0: 2020 203b 3b20 556e 6c6f 6164 2074 6865 ;; Unload the │ │ │ -0002bac0: 2041 6764 6120 6d6f 6465 2061 6e64 2069 Agda mode and i │ │ │ -0002bad0: 7473 2064 6570 656e 6465 6e63 6965 732e ts dependencies. │ │ │ -0002bae0: 0a20 2020 2028 756e 6c6f 6164 2d66 6561 . (unload-fea │ │ │ -0002baf0: 7475 7265 2027 6167 6461 322d 6d6f 6465 ture 'agda2-mode │ │ │ -0002bb00: 2020 2020 2020 2766 6f72 6365 290a 2020 'force). │ │ │ -0002bb10: 2020 2875 6e6c 6f61 642d 6665 6174 7572 (unload-featur │ │ │ -0002bb20: 6520 2761 6764 6132 2020 2020 2020 2020 e 'agda2 │ │ │ -0002bb30: 2020 2027 666f 7263 6529 0a20 2020 2028 'force). ( │ │ │ -0002bb40: 756e 6c6f 6164 2d66 6561 7475 7265 2027 unload-feature ' │ │ │ -0002bb50: 6572 6920 2020 2020 2020 2020 2020 2020 eri │ │ │ -0002bb60: 2766 6f72 6365 290a 2020 2020 2875 6e6c 'force). (unl │ │ │ -0002bb70: 6f61 642d 6665 6174 7572 6520 2761 6e6e oad-feature 'ann │ │ │ -0002bb80: 6f74 6174 696f 6e20 2020 2020 2027 666f otation 'fo │ │ │ -0002bb90: 7263 6529 0a20 2020 2028 756e 6c6f 6164 rce). (unload │ │ │ -0002bba0: 2d66 6561 7475 7265 2027 6167 6461 2d69 -feature 'agda-i │ │ │ -0002bbb0: 6e70 7574 2020 2020 2020 2766 6f72 6365 nput 'force │ │ │ -0002bbc0: 290a 2020 2020 2875 6e6c 6f61 642d 6665 ). (unload-fe │ │ │ -0002bbd0: 6174 7572 6520 2761 6764 6132 2d68 6967 ature 'agda2-hig │ │ │ -0002bbe0: 686c 6967 6874 2027 666f 7263 6529 0a20 hlight 'force). │ │ │ -0002bbf0: 2020 2028 756e 6c6f 6164 2d66 6561 7475 (unload-featu │ │ │ -0002bc00: 7265 2027 6167 6461 322d 6162 6272 6576 re 'agda2-abbrev │ │ │ -0002bc10: 7320 2020 2766 6f72 6365 290a 2020 2020 s 'force). │ │ │ -0002bc20: 2875 6e6c 6f61 642d 6665 6174 7572 6520 (unload-feature │ │ │ -0002bc30: 2761 6764 6132 2d71 7565 7565 2020 2020 'agda2-queue │ │ │ -0002bc40: 2027 666f 7263 6529 0a0a 2020 2020 3b3b 'force).. ;; │ │ │ -0002bc50: 204c 6f61 6420 7468 6520 6e65 7720 7665 Load the new ve │ │ │ -0002bc60: 7273 696f 6e20 6f66 2041 6764 612e 0a20 rsion of Agda.. │ │ │ -0002bc70: 2020 2028 6c6f 6164 2d66 696c 6520 6167 (load-file ag │ │ │ -0002bc80: 6461 2d6d 6f64 652d 7061 7468 290a 2020 da-mode-path). │ │ │ -0002bc90: 2020 2872 6571 7569 7265 2027 6167 6461 (require 'agda │ │ │ -0002bca0: 322d 6d6f 6465 290a 2020 2020 2873 6574 2-mode). (set │ │ │ -0002bcb0: 7120 6167 6461 322d 7072 6f67 7261 6d2d q agda2-program- │ │ │ -0002bcc0: 6e61 6d65 2028 636f 6e63 6174 2022 6167 name (concat "ag │ │ │ -0002bcd0: 6461 2220 7665 7273 696f 6e2d 7375 6666 da" version-suff │ │ │ -0002bce0: 6978 2929 0a0a 2020 2020 3b3b 2052 6573 ix)).. ;; Res │ │ │ -0002bcf0: 746f 7265 2074 6865 2041 6764 6120 6d6f tore the Agda mo │ │ │ -0002bd00: 6465 2773 2064 6566 6175 6c74 2068 6f6f de's default hoo │ │ │ -0002bd10: 6b20 2869 6620 616e 7929 2e0a 2020 2020 k (if any).. │ │ │ -0002bd20: 2877 6865 6e20 6465 6661 756c 742d 686f (when default-ho │ │ │ -0002bd30: 6f6b 0a20 2020 2020 2028 7365 742d 6465 ok. (set-de │ │ │ -0002bd40: 6661 756c 7420 2761 6764 6132 2d6d 6f64 fault 'agda2-mod │ │ │ -0002bd50: 652d 686f 6f6b 2064 6566 6175 6c74 2d68 e-hook default-h │ │ │ -0002bd60: 6f6f 6b29 290a 0a20 2020 203b 3b20 5265 ook)).. ;; Re │ │ │ -0002bd70: 7374 6172 7420 7468 6520 4167 6461 206d start the Agda m │ │ │ -0002bd80: 6f64 6520 696e 2061 6c6c 2066 6f72 6d65 ode in all forme │ │ │ -0002bd90: 7220 4167 6461 206d 6f64 6520 6275 6666 r Agda mode buff │ │ │ -0002bda0: 6572 732e 0a20 2020 2028 6d61 7063 2028 ers.. (mapc ( │ │ │ -0002bdb0: 6c61 6d62 6461 2028 6275 6629 0a20 2020 lambda (buf). │ │ │ -0002bdc0: 2020 2020 2020 2020 2028 7769 7468 2d63 (with-c │ │ │ -0002bdd0: 7572 7265 6e74 2d62 7566 6665 7220 6275 urrent-buffer bu │ │ │ -0002bde0: 660a 2020 2020 2020 2020 2020 2020 2020 f. │ │ │ -0002bdf0: 2861 6764 6132 2d6d 6f64 6529 2929 0a20 (agda2-mode))). │ │ │ -0002be00: 2020 2020 2020 2020 2061 6764 612d 6275 agda-bu │ │ │ -0002be10: 6666 6572 7329 2929 0a0a 2870 726f 7669 ffers)))..(provi │ │ │ -0002be20: 6465 2027 6167 6461 322d 6d6f 6465 290a de 'agda2-mode). │ │ │ -0002be30: 3b3b 3b20 6167 6461 322d 6d6f 6465 2e65 ;;; agda2-mode.e │ │ │ -0002be40: 6c20 656e 6473 2068 6572 650a caf9 aff3 l ends here..... │ │ │ -0002be50: f095 bd93 8101 84b8 90be fabb e1f2 0a00 ................ │ │ │ -0002be60: 9a01 0002 be8a 0520 0000 0100 0404 0803 ....... ........ │ │ │ -0002be70: 0702 5e02 0000 030f 0005 0505 0b5f 0b9b ..^.........._.. │ │ │ -0002be80: 010b 6109 0601 00bd b801 8acd 96ae bed3 ..a............. │ │ │ -0002be90: a8c8 21d7 b8b9 d3f0 aeb6 8c6d 009b 0100 ..!........m.... │ │ │ -0002bea0: 031a f905 8280 80e6 0800 0001 0003 0407 ................ │ │ │ -0002beb0: 0402 0000 030f 0009 01bd b801 3b3b 202d ............;; - │ │ │ -0002bec0: 2a2d 206c 6578 6963 616c 2d62 696e 6469 *- lexical-bindi │ │ │ -0002bed0: 6e67 3a20 7420 2d2a 2d0a 3b3b 3b20 6167 ng: t -*-.;;; ag │ │ │ -0002bee0: 6461 322d 6869 6768 6c69 6768 742e 656c da2-highlight.el │ │ │ -0002bef0: 202d 2d2d 2053 796e 7461 7820 6869 6768 --- Syntax high │ │ │ -0002bf00: 6c69 6768 7469 6e67 2066 6f72 2041 6764 lighting for Agd │ │ │ -0002bf10: 6120 2876 6572 7369 6f6e 20e2 89a5 2032 a (version ... 2 │ │ │ -0002bf20: 290a 3b3b 2053 5044 582d 4c69 6365 6e73 ).;; SPDX-Licens │ │ │ -0002bf30: 652d 4964 656e 7469 6669 6572 3a20 4d49 e-Identifier: MI │ │ │ -0002bf40: 5420 4c69 6365 6e73 650a 0a3b 3b3b 2043 T License..;;; C │ │ │ -0002bf50: 6f6d 6d65 6e74 6172 793a 0a0a 3b3b 2043 ommentary:..;; C │ │ │ -0002bf60: 6f64 6520 746f 2061 7070 6c79 2073 796e ode to apply syn │ │ │ -0002bf70: 7461 6374 6963 2068 6967 686c 6967 6874 tactic highlight │ │ │ -0002bf80: 696e 6720 746f 2041 6764 6120 736f 7572 ing to Agda sour │ │ │ -0002bf90: 6365 2063 6f64 652e 2054 6869 7320 7573 ce code. This us │ │ │ -0002bfa0: 6573 0a3b 3b20 4167 6461 2773 206f 776e es.;; Agda's own │ │ │ -0002bfb0: 2061 6e6e 6f74 6174 696f 6e73 2074 6f20 annotations to │ │ │ -0002bfc0: 6669 6775 7265 206f 7574 2077 6861 7420 figure out what │ │ │ -0002bfd0: 6973 2077 6861 742c 2073 6f20 7468 6520 is what, so the │ │ │ -0002bfe0: 7061 7273 696e 670a 3b3b 2069 7320 616c parsing.;; is al │ │ │ -0002bff0: 7761 7973 2064 6f6e 6520 636f 7272 6563 ways done correc │ │ │ -0002c000: 746c 792c 2062 7574 2068 6967 686c 6967 tly, but highlig │ │ │ -0002c010: 6874 696e 6720 6973 206e 6f74 2064 6f6e hting is not don │ │ │ -0002c020: 6520 6f6e 2074 6865 2066 6c79 2e0a 0a3b e on the fly...; │ │ │ -0002c030: 3b3b 2043 6f64 653a 0a0a 2872 6571 7569 ;; Code:..(requi │ │ │ -0002c040: 7265 2027 616e 6e6f 7461 7469 6f6e 290a re 'annotation). │ │ │ -0002c050: 2872 6571 7569 7265 2027 666f 6e74 2d6c (require 'font-l │ │ │ -0002c060: 6f63 6b29 0a0a 2864 6566 6772 6f75 7020 ock)..(defgroup │ │ │ -0002c070: 6167 6461 322d 6869 6768 6c69 6768 7420 agda2-highlight │ │ │ -0002c080: 6e69 6c0a 2020 2253 796e 7461 7820 6869 nil. "Syntax hi │ │ │ -0002c090: 6768 6c69 6768 7469 6e67 2066 6f72 2041 ghlighting for A │ │ │ -0002c0a0: 6764 612e 220a 2020 3a67 726f 7570 2027 gda.". :group ' │ │ │ -0002c0b0: 6167 6461 3229 0a0a 2864 6566 6375 7374 agda2)..(defcust │ │ │ -0002c0c0: 6f6d 2061 6764 6132 2d68 6967 686c 6967 om agda2-highlig │ │ │ -0002c0d0: 6874 2d6c 6576 656c 2027 6e6f 6e2d 696e ht-level 'non-in │ │ │ -0002c0e0: 7465 7261 6374 6976 650a 2020 2248 6f77 teractive. "How │ │ │ -0002c0f0: 206d 7563 6820 7379 6e74 6178 2068 6967 much syntax hig │ │ │ -0002c100: 686c 6967 6874 696e 6720 7368 6f75 6c64 hlighting should │ │ │ -0002c110: 2062 6520 7072 6f64 7563 6564 3f0a 496e be produced?.In │ │ │ -0002c120: 7465 7261 6374 6976 6520 6869 6768 6c69 teractive highli │ │ │ -0002c130: 6768 7469 6e67 2069 6e63 6c75 6465 7320 ghting includes │ │ │ -0002c140: 6869 6768 6c69 6768 7469 6e67 206f 6620 highlighting of │ │ │ -0002c150: 7468 6520 6578 7072 6573 7369 6f6e 0a74 the expression.t │ │ │ -0002c160: 6861 7420 6973 2063 7572 7265 6e74 6c79 hat is currently │ │ │ -0002c170: 2062 6569 6e67 2074 7970 652d 6368 6563 being type-chec │ │ │ -0002c180: 6b65 642e 220a 2020 3a74 7970 6520 2728 ked.". :type '( │ │ │ -0002c190: 6368 6f69 6365 0a20 2020 2020 2020 2020 choice. │ │ │ -0002c1a0: 2028 636f 6e73 7420 3a74 6167 2022 4e6f (const :tag "No │ │ │ -0002c1b0: 6e65 2220 2020 2020 2020 2020 2020 206e ne" n │ │ │ -0002c1c0: 6f6e 6529 0a20 2020 2020 2020 2020 2028 one). ( │ │ │ -0002c1d0: 636f 6e73 7420 3a74 6167 2022 4e6f 6e2d const :tag "Non- │ │ │ -0002c1e0: 696e 7465 7261 6374 6976 6522 206e 6f6e interactive" non │ │ │ -0002c1f0: 2d69 6e74 6572 6163 7469 7665 290a 2020 -interactive). │ │ │ -0002c200: 2020 2020 2020 2020 2863 6f6e 7374 203a (const : │ │ │ -0002c210: 7461 6720 2249 6e74 6572 6163 7469 7665 tag "Interactive │ │ │ -0002c220: 2220 2020 2020 696e 7465 7261 6374 6976 " interactiv │ │ │ -0002c230: 6529 290a 2020 3a67 726f 7570 2027 6167 e)). :group 'ag │ │ │ -0002c240: 6461 322d 6869 6768 6c69 6768 7429 0a0a da2-highlight).. │ │ │ -0002c250: 2864 6566 756e 2061 6764 6132 2d68 6967 (defun agda2-hig │ │ │ -0002c260: 686c 6967 6874 2d6c 6576 656c 206e 696c hlight-level nil │ │ │ -0002c270: 0a20 2022 466f 726d 6174 7320 7468 6520 . "Formats the │ │ │ -0002c280: 6869 6768 6c69 6768 7469 6e67 206c 6576 highlighting lev │ │ │ -0002c290: 656c 2069 6e20 6120 4861 736b 656c 6c79 el in a Haskelly │ │ │ -0002c2a0: 2077 6179 2e22 0a20 2028 636f 6e64 2028 way.". (cond ( │ │ │ -0002c2b0: 2865 7175 616c 2061 6764 6132 2d68 6967 (equal agda2-hig │ │ │ -0002c2c0: 686c 6967 6874 2d6c 6576 656c 2027 6e6f hlight-level 'no │ │ │ -0002c2d0: 6e65 2920 2020 2020 2020 2020 2020 2022 ne) " │ │ │ -0002c2e0: 4e6f 6e65 2229 0a20 2020 2020 2020 2028 None"). ( │ │ │ -0002c2f0: 2865 7175 616c 2061 6764 6132 2d68 6967 (equal agda2-hig │ │ │ -0002c300: 686c 6967 6874 2d6c 6576 656c 2027 6e6f hlight-level 'no │ │ │ -0002c310: 6e2d 696e 7465 7261 6374 6976 6529 2022 n-interactive) " │ │ │ -0002c320: 4e6f 6e49 6e74 6572 6163 7469 7665 2229 NonInteractive") │ │ │ -0002c330: 0a20 2020 2020 2020 2028 2865 7175 616c . ((equal │ │ │ -0002c340: 2061 6764 6132 2d68 6967 686c 6967 6874 agda2-highlight │ │ │ -0002c350: 2d6c 6576 656c 2027 696e 7465 7261 6374 -level 'interact │ │ │ -0002c360: 6976 6529 2020 2020 2022 496e 7465 7261 ive) "Intera │ │ │ -0002c370: 6374 6976 6522 290a 2020 2020 2020 2020 ctive"). │ │ │ -0002c380: 2874 2020 2020 2020 2020 2020 2020 2020 (t │ │ │ +0002b7c0: 2020 2020 2061 6764 612d 6d6f 6465 2d70 agda-mode-p │ │ │ +0002b7d0: 726f 6729 2929 0a20 2020 2020 2020 2020 rog))). │ │ │ +0002b7e0: 2020 2020 2028 6275 6666 6572 2d73 7472 (buffer-str │ │ │ +0002b7f0: 696e 6729 290a 2020 2020 2020 2020 2020 ing)). │ │ │ +0002b800: 2866 696c 652d 6572 726f 720a 2020 2020 (file-error. │ │ │ +0002b810: 2020 2020 2020 2028 6572 726f 7220 2225 (error "% │ │ │ +0002b820: 7322 2028 636f 6e63 6174 2022 436f 756c s" (concat "Coul │ │ │ +0002b830: 6420 6e6f 7420 6669 6e64 2022 2061 6764 d not find " agd │ │ │ +0002b840: 612d 6d6f 6465 2d70 726f 6729 2929 2929 a-mode-prog))))) │ │ │ +0002b850: 290a 0a20 2020 203b 3b20 4d61 6b65 2073 ).. ;; Make s │ │ │ +0002b860: 7572 6520 7468 6174 2061 6764 612d 6d6f ure that agda-mo │ │ │ +0002b870: 6465 3c76 6572 7369 6f6e 2d73 7566 6669 de returns a val │ │ │ +0002b890: 6964 2066 696c 652e 0a20 2020 2028 756e id file.. (un │ │ │ +0002b8a0: 6c65 7373 2028 6669 6c65 2d72 6561 6461 less (file-reada │ │ │ +0002b8b0: 626c 652d 7020 6167 6461 2d6d 6f64 652d ble-p agda-mode- │ │ │ +0002b8c0: 7061 7468 290a 2020 2020 2020 2865 7272 path). (err │ │ │ +0002b8d0: 6f72 2022 2573 2220 2863 6f6e 6361 7420 or "%s" (concat │ │ │ +0002b8e0: 2243 6f75 6c64 206e 6f74 2072 6561 6420 "Could not read │ │ │ +0002b8f0: 2220 6167 6461 2d6d 6f64 652d 7061 7468 " agda-mode-path │ │ │ +0002b900: 2929 290a 0a20 2020 203b 3b20 5475 726e ))).. ;; Turn │ │ │ +0002b910: 206f 6666 2074 6865 2041 6764 6120 6d6f off the Agda mo │ │ │ +0002b920: 6465 2e0a 2020 2020 2861 6764 6132 2d71 de.. (agda2-q │ │ │ +0002b930: 7569 7429 0a0a 2020 2020 3b3b 204b 696c uit).. ;; Kil │ │ │ +0002b940: 6c20 736f 6d65 2062 7566 6665 7273 2072 l some buffers r │ │ │ +0002b950: 656c 6174 6564 2074 6f20 4167 6461 2e0a elated to Agda.. │ │ │ +0002b960: 2020 2020 2877 6865 6e20 2862 7566 6665 (when (buffe │ │ │ +0002b970: 722d 6c69 7665 2d70 2061 6764 6132 2d69 r-live-p agda2-i │ │ │ +0002b980: 6e66 6f2d 6275 6666 6572 290a 2020 2020 nfo-buffer). │ │ │ +0002b990: 2020 286b 696c 6c2d 6275 6666 6572 2061 (kill-buffer a │ │ │ +0002b9a0: 6764 6132 2d69 6e66 6f2d 6275 6666 6572 gda2-info-buffer │ │ │ +0002b9b0: 2929 0a20 2020 2028 7768 656e 2028 616e )). (when (an │ │ │ +0002b9c0: 6420 6167 6461 322d 6465 6275 672d 6275 d agda2-debug-bu │ │ │ +0002b9d0: 6666 6572 2d6e 616d 650a 2020 2020 2020 ffer-name. │ │ │ +0002b9e0: 2020 2020 2020 2020 2028 6765 742d 6275 (get-bu │ │ │ +0002b9f0: 6666 6572 2061 6764 6132 2d64 6562 7567 ffer agda2-debug │ │ │ +0002ba00: 2d62 7566 6665 722d 6e61 6d65 2929 0a20 -buffer-name)). │ │ │ +0002ba10: 2020 2020 2028 6b69 6c6c 2d62 7566 6665 (kill-buffe │ │ │ +0002ba20: 7220 6167 6461 322d 6465 6275 672d 6275 r agda2-debug-bu │ │ │ +0002ba30: 6666 6572 2d6e 616d 6529 290a 0a20 2020 ffer-name)).. │ │ │ +0002ba40: 203b 3b20 5265 6d6f 7665 2074 6865 2041 ;; Remove the A │ │ │ +0002ba50: 6764 6120 6d6f 6465 2064 6972 6563 746f gda mode directo │ │ │ +0002ba60: 7279 2066 726f 6d20 7468 6520 6c6f 6164 ry from the load │ │ │ +0002ba70: 2070 6174 682e 0a20 2020 2028 7365 7471 path.. (setq │ │ │ +0002ba80: 206c 6f61 642d 7061 7468 2028 6465 6c65 load-path (dele │ │ │ +0002ba90: 7465 2061 6764 6132 2d64 6972 6563 746f te agda2-directo │ │ │ +0002baa0: 7279 206c 6f61 642d 7061 7468 2929 0a0a ry load-path)).. │ │ │ +0002bab0: 2020 2020 3b3b 2055 6e6c 6f61 6420 7468 ;; Unload th │ │ │ +0002bac0: 6520 4167 6461 206d 6f64 6520 616e 6420 e Agda mode and │ │ │ +0002bad0: 6974 7320 6465 7065 6e64 656e 6369 6573 its dependencies │ │ │ +0002bae0: 2e0a 2020 2020 2875 6e6c 6f61 642d 6665 .. (unload-fe │ │ │ +0002baf0: 6174 7572 6520 2761 6764 6132 2d6d 6f64 ature 'agda2-mod │ │ │ +0002bb00: 6520 2020 2020 2027 666f 7263 6529 0a20 e 'force). │ │ │ +0002bb10: 2020 2028 756e 6c6f 6164 2d66 6561 7475 (unload-featu │ │ │ +0002bb20: 7265 2027 6167 6461 3220 2020 2020 2020 re 'agda2 │ │ │ +0002bb30: 2020 2020 2766 6f72 6365 290a 2020 2020 'force). │ │ │ +0002bb40: 2875 6e6c 6f61 642d 6665 6174 7572 6520 (unload-feature │ │ │ +0002bb50: 2765 7269 2020 2020 2020 2020 2020 2020 'eri │ │ │ +0002bb60: 2027 666f 7263 6529 0a20 2020 2028 756e 'force). (un │ │ │ +0002bb70: 6c6f 6164 2d66 6561 7475 7265 2027 616e load-feature 'an │ │ │ +0002bb80: 6e6f 7461 7469 6f6e 2020 2020 2020 2766 notation 'f │ │ │ +0002bb90: 6f72 6365 290a 2020 2020 2875 6e6c 6f61 orce). (unloa │ │ │ +0002bba0: 642d 6665 6174 7572 6520 2761 6764 612d d-feature 'agda- │ │ │ +0002bbb0: 696e 7075 7420 2020 2020 2027 666f 7263 input 'forc │ │ │ +0002bbc0: 6529 0a20 2020 2028 756e 6c6f 6164 2d66 e). (unload-f │ │ │ +0002bbd0: 6561 7475 7265 2027 6167 6461 322d 6869 eature 'agda2-hi │ │ │ +0002bbe0: 6768 6c69 6768 7420 2766 6f72 6365 290a ghlight 'force). │ │ │ +0002bbf0: 2020 2020 2875 6e6c 6f61 642d 6665 6174 (unload-feat │ │ │ +0002bc00: 7572 6520 2761 6764 6132 2d61 6262 7265 ure 'agda2-abbre │ │ │ +0002bc10: 7673 2020 2027 666f 7263 6529 0a20 2020 vs 'force). │ │ │ +0002bc20: 2028 756e 6c6f 6164 2d66 6561 7475 7265 (unload-feature │ │ │ +0002bc30: 2027 6167 6461 322d 7175 6575 6520 2020 'agda2-queue │ │ │ +0002bc40: 2020 2766 6f72 6365 290a 0a20 2020 203b 'force).. ; │ │ │ +0002bc50: 3b20 4c6f 6164 2074 6865 206e 6577 2076 ; Load the new v │ │ │ +0002bc60: 6572 7369 6f6e 206f 6620 4167 6461 2e0a ersion of Agda.. │ │ │ +0002bc70: 2020 2020 286c 6f61 642d 6669 6c65 2061 (load-file a │ │ │ +0002bc80: 6764 612d 6d6f 6465 2d70 6174 6829 0a20 gda-mode-path). │ │ │ +0002bc90: 2020 2028 7265 7175 6972 6520 2761 6764 (require 'agd │ │ │ +0002bca0: 6132 2d6d 6f64 6529 0a20 2020 2028 7365 a2-mode). (se │ │ │ +0002bcb0: 7471 2061 6764 6132 2d70 726f 6772 616d tq agda2-program │ │ │ +0002bcc0: 2d6e 616d 6520 2863 6f6e 6361 7420 2261 -name (concat "a │ │ │ +0002bcd0: 6764 6122 2076 6572 7369 6f6e 2d73 7566 gda" version-suf │ │ │ +0002bce0: 6669 7829 290a 0a20 2020 203b 3b20 5265 fix)).. ;; Re │ │ │ +0002bcf0: 7374 6f72 6520 7468 6520 4167 6461 206d store the Agda m │ │ │ +0002bd00: 6f64 6527 7320 6465 6661 756c 7420 686f ode's default ho │ │ │ +0002bd10: 6f6b 2028 6966 2061 6e79 292e 0a20 2020 ok (if any).. │ │ │ +0002bd20: 2028 7768 656e 2064 6566 6175 6c74 2d68 (when default-h │ │ │ +0002bd30: 6f6f 6b0a 2020 2020 2020 2873 6574 2d64 ook. (set-d │ │ │ +0002bd40: 6566 6175 6c74 2027 6167 6461 322d 6d6f efault 'agda2-mo │ │ │ +0002bd50: 6465 2d68 6f6f 6b20 6465 6661 756c 742d de-hook default- │ │ │ +0002bd60: 686f 6f6b 2929 0a0a 2020 2020 3b3b 2052 hook)).. ;; R │ │ │ +0002bd70: 6573 7461 7274 2074 6865 2041 6764 6120 estart the Agda │ │ │ +0002bd80: 6d6f 6465 2069 6e20 616c 6c20 666f 726d mode in all form │ │ │ +0002bd90: 6572 2041 6764 6120 6d6f 6465 2062 7566 er Agda mode buf │ │ │ +0002bda0: 6665 7273 2e0a 2020 2020 286d 6170 6320 fers.. (mapc │ │ │ +0002bdb0: 286c 616d 6264 6120 2862 7566 290a 2020 (lambda (buf). │ │ │ +0002bdc0: 2020 2020 2020 2020 2020 2877 6974 682d (with- │ │ │ +0002bdd0: 6375 7272 656e 742d 6275 6666 6572 2062 current-buffer b │ │ │ +0002bde0: 7566 0a20 2020 2020 2020 2020 2020 2020 uf. │ │ │ +0002bdf0: 2028 6167 6461 322d 6d6f 6465 2929 290a (agda2-mode))). │ │ │ +0002be00: 2020 2020 2020 2020 2020 6167 6461 2d62 agda-b │ │ │ +0002be10: 7566 6665 7273 2929 290a 0a28 7072 6f76 uffers)))..(prov │ │ │ +0002be20: 6964 6520 2761 6764 6132 2d6d 6f64 6529 ide 'agda2-mode) │ │ │ +0002be30: 0a3b 3b3b 2061 6764 6132 2d6d 6f64 652e .;;; agda2-mode. │ │ │ +0002be40: 656c 2065 6e64 7320 6865 7265 0aca f9af el ends here.... │ │ │ +0002be50: f3f0 95bd 9381 0184 b890 befa bbe1 f20a ................ │ │ │ +0002be60: 009a 0100 02be 8b05 2000 0001 0004 0408 ........ ....... │ │ │ +0002be70: 0307 025e 0200 0003 0f00 0505 050b 5f0b ...^.........._. │ │ │ +0002be80: 9b01 0b61 0906 0100 bdb8 018a cd96 aebe ...a............ │ │ │ +0002be90: d3a8 c821 d7b8 b9d3 f0ae b68c 6d00 9b01 ...!........m... │ │ │ +0002bea0: 0003 1afa 0582 8080 e608 0000 0100 0304 ................ │ │ │ +0002beb0: 0704 0200 0003 0f00 0901 bdb8 013b 3b20 .............;; │ │ │ +0002bec0: 2d2a 2d20 6c65 7869 6361 6c2d 6269 6e64 -*- lexical-bind │ │ │ +0002bed0: 696e 673a 2074 202d 2a2d 0a3b 3b3b 2061 ing: t -*-.;;; a │ │ │ +0002bee0: 6764 6132 2d68 6967 686c 6967 6874 2e65 gda2-highlight.e │ │ │ +0002bef0: 6c20 2d2d 2d20 5379 6e74 6178 2068 6967 l --- Syntax hig │ │ │ +0002bf00: 686c 6967 6874 696e 6720 666f 7220 4167 hlighting for Ag │ │ │ +0002bf10: 6461 2028 7665 7273 696f 6e20 e289 a520 da (version ... │ │ │ +0002bf20: 3229 0a3b 3b20 5350 4458 2d4c 6963 656e 2).;; SPDX-Licen │ │ │ +0002bf30: 7365 2d49 6465 6e74 6966 6965 723a 204d se-Identifier: M │ │ │ +0002bf40: 4954 204c 6963 656e 7365 0a0a 3b3b 3b20 IT License..;;; │ │ │ +0002bf50: 436f 6d6d 656e 7461 7279 3a0a 0a3b 3b20 Commentary:..;; │ │ │ +0002bf60: 436f 6465 2074 6f20 6170 706c 7920 7379 Code to apply sy │ │ │ +0002bf70: 6e74 6163 7469 6320 6869 6768 6c69 6768 ntactic highligh │ │ │ +0002bf80: 7469 6e67 2074 6f20 4167 6461 2073 6f75 ting to Agda sou │ │ │ +0002bf90: 7263 6520 636f 6465 2e20 5468 6973 2075 rce code. This u │ │ │ +0002bfa0: 7365 730a 3b3b 2041 6764 6127 7320 6f77 ses.;; Agda's ow │ │ │ +0002bfb0: 6e20 616e 6e6f 7461 7469 6f6e 7320 746f n annotations to │ │ │ +0002bfc0: 2066 6967 7572 6520 6f75 7420 7768 6174 figure out what │ │ │ +0002bfd0: 2069 7320 7768 6174 2c20 736f 2074 6865 is what, so the │ │ │ +0002bfe0: 2070 6172 7369 6e67 0a3b 3b20 6973 2061 parsing.;; is a │ │ │ +0002bff0: 6c77 6179 7320 646f 6e65 2063 6f72 7265 lways done corre │ │ │ +0002c000: 6374 6c79 2c20 6275 7420 6869 6768 6c69 ctly, but highli │ │ │ +0002c010: 6768 7469 6e67 2069 7320 6e6f 7420 646f ghting is not do │ │ │ +0002c020: 6e65 206f 6e20 7468 6520 666c 792e 0a0a ne on the fly... │ │ │ +0002c030: 3b3b 3b20 436f 6465 3a0a 0a28 7265 7175 ;;; Code:..(requ │ │ │ +0002c040: 6972 6520 2761 6e6e 6f74 6174 696f 6e29 ire 'annotation) │ │ │ +0002c050: 0a28 7265 7175 6972 6520 2766 6f6e 742d .(require 'font- │ │ │ +0002c060: 6c6f 636b 290a 0a28 6465 6667 726f 7570 lock)..(defgroup │ │ │ +0002c070: 2061 6764 6132 2d68 6967 686c 6967 6874 agda2-highlight │ │ │ +0002c080: 206e 696c 0a20 2022 5379 6e74 6178 2068 nil. "Syntax h │ │ │ +0002c090: 6967 686c 6967 6874 696e 6720 666f 7220 ighlighting for │ │ │ +0002c0a0: 4167 6461 2e22 0a20 203a 6772 6f75 7020 Agda.". :group │ │ │ +0002c0b0: 2761 6764 6132 290a 0a28 6465 6663 7573 'agda2)..(defcus │ │ │ +0002c0c0: 746f 6d20 6167 6461 322d 6869 6768 6c69 tom agda2-highli │ │ │ +0002c0d0: 6768 742d 6c65 7665 6c20 276e 6f6e 2d69 ght-level 'non-i │ │ │ +0002c0e0: 6e74 6572 6163 7469 7665 0a20 2022 486f nteractive. "Ho │ │ │ +0002c0f0: 7720 6d75 6368 2073 796e 7461 7820 6869 w much syntax hi │ │ │ +0002c100: 6768 6c69 6768 7469 6e67 2073 686f 756c ghlighting shoul │ │ │ +0002c110: 6420 6265 2070 726f 6475 6365 643f 0a49 d be produced?.I │ │ │ +0002c120: 6e74 6572 6163 7469 7665 2068 6967 686c nteractive highl │ │ │ +0002c130: 6967 6874 696e 6720 696e 636c 7564 6573 ighting includes │ │ │ +0002c140: 2068 6967 686c 6967 6874 696e 6720 6f66 highlighting of │ │ │ +0002c150: 2074 6865 2065 7870 7265 7373 696f 6e0a the expression. │ │ │ +0002c160: 7468 6174 2069 7320 6375 7272 656e 746c that is currentl │ │ │ +0002c170: 7920 6265 696e 6720 7479 7065 2d63 6865 y being type-che │ │ │ +0002c180: 636b 6564 2e22 0a20 203a 7479 7065 2027 cked.". :type ' │ │ │ +0002c190: 2863 686f 6963 650a 2020 2020 2020 2020 (choice. │ │ │ +0002c1a0: 2020 2863 6f6e 7374 203a 7461 6720 224e (const :tag "N │ │ │ +0002c1b0: 6f6e 6522 2020 2020 2020 2020 2020 2020 one" │ │ │ +0002c1c0: 6e6f 6e65 290a 2020 2020 2020 2020 2020 none). │ │ │ +0002c1d0: 2863 6f6e 7374 203a 7461 6720 224e 6f6e (const :tag "Non │ │ │ +0002c1e0: 2d69 6e74 6572 6163 7469 7665 2220 6e6f -interactive" no │ │ │ +0002c1f0: 6e2d 696e 7465 7261 6374 6976 6529 0a20 n-interactive). │ │ │ +0002c200: 2020 2020 2020 2020 2028 636f 6e73 7420 (const │ │ │ +0002c210: 3a74 6167 2022 496e 7465 7261 6374 6976 :tag "Interactiv │ │ │ +0002c220: 6522 2020 2020 2069 6e74 6572 6163 7469 e" interacti │ │ │ +0002c230: 7665 2929 0a20 203a 6772 6f75 7020 2761 ve)). :group 'a │ │ │ +0002c240: 6764 6132 2d68 6967 686c 6967 6874 290a gda2-highlight). │ │ │ +0002c250: 0a28 6465 6675 6e20 6167 6461 322d 6869 .(defun agda2-hi │ │ │ +0002c260: 6768 6c69 6768 742d 6c65 7665 6c20 6e69 ghlight-level ni │ │ │ +0002c270: 6c0a 2020 2246 6f72 6d61 7473 2074 6865 l. "Formats the │ │ │ +0002c280: 2068 6967 686c 6967 6874 696e 6720 6c65 highlighting le │ │ │ +0002c290: 7665 6c20 696e 2061 2048 6173 6b65 6c6c vel in a Haskell │ │ │ +0002c2a0: 7920 7761 792e 220a 2020 2863 6f6e 6420 y way.". (cond │ │ │ +0002c2b0: 2828 6571 7561 6c20 6167 6461 322d 6869 ((equal agda2-hi │ │ │ +0002c2c0: 6768 6c69 6768 742d 6c65 7665 6c20 276e ghlight-level 'n │ │ │ +0002c2d0: 6f6e 6529 2020 2020 2020 2020 2020 2020 one) │ │ │ +0002c2e0: 224e 6f6e 6522 290a 2020 2020 2020 2020 "None"). │ │ │ +0002c2f0: 2828 6571 7561 6c20 6167 6461 322d 6869 ((equal agda2-hi │ │ │ +0002c300: 6768 6c69 6768 742d 6c65 7665 6c20 276e ghlight-level 'n │ │ │ +0002c310: 6f6e 2d69 6e74 6572 6163 7469 7665 2920 on-interactive) │ │ │ +0002c320: 224e 6f6e 496e 7465 7261 6374 6976 6522 "NonInteractive" │ │ │ +0002c330: 290a 2020 2020 2020 2020 2828 6571 7561 ). ((equa │ │ │ +0002c340: 6c20 6167 6461 322d 6869 6768 6c69 6768 l agda2-highligh │ │ │ +0002c350: 742d 6c65 7665 6c20 2769 6e74 6572 6163 t-level 'interac │ │ │ +0002c360: 7469 7665 2920 2020 2020 2249 6e74 6572 tive) "Inter │ │ │ +0002c370: 6163 7469 7665 2229 0a20 2020 2020 2020 active"). │ │ │ +0002c380: 2028 7420 2020 2020 2020 2020 2020 2020 (t │ │ │ 0002c390: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 0002c3a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0002c3b0: 224e 6f6e 6522 2929 290a 0a3b 3b3b 3b3b "None")))..;;;;; │ │ │ +0002c3b0: 2022 4e6f 6e65 2229 2929 0a0a 3b3b 3b3b "None")))..;;;; │ │ │ 0002c3c0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 0002c3d0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 0002c3e0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 0002c3f0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ -0002c400: 3b3b 3b0a 3b3b 2046 756e 6374 696f 6e73 ;;;.;; Functions │ │ │ -0002c410: 2066 6f72 2073 6574 7469 6e67 2066 6163 for setting fac │ │ │ -0002c420: 6573 0a0a 2864 6566 756e 2061 6764 6132 es..(defun agda2 │ │ │ -0002c430: 2d68 6967 686c 6967 6874 2d73 6574 2d66 -highlight-set-f │ │ │ -0002c440: 6163 652d 6174 7472 6962 7574 6520 2866 ace-attribute (f │ │ │ -0002c450: 6163 6520 6174 7472 7329 0a20 2022 5265 ace attrs). "Re │ │ │ -0002c460: 7365 7420 2867 6c6f 6261 6c6c 7929 2061 set (globally) a │ │ │ -0002c470: 6c6c 2061 7474 7269 6275 7465 7320 6f66 ll attributes of │ │ │ -0002c480: 2074 6865 2066 6163 6520 4641 4345 2061 the face FACE a │ │ │ -0002c490: 6363 6f72 6469 6e67 2074 6f20 4154 5452 ccording to ATTR │ │ │ -0002c4a0: 532e 0a49 6620 7468 6520 6661 6365 2064 S..If the face d │ │ │ -0002c4b0: 6f65 7320 6e6f 7420 6578 6973 742c 2074 oes not exist, t │ │ │ -0002c4c0: 6865 6e20 6974 2069 7320 6372 6561 7465 hen it is create │ │ │ -0002c4d0: 6420 6669 7273 742e 220a 2020 286d 616b d first.". (mak │ │ │ -0002c4e0: 652d 6661 6365 2066 6163 6529 0a20 2028 e-face face). ( │ │ │ -0002c4f0: 7365 742d 6661 6365 2d61 7474 7269 6275 set-face-attribu │ │ │ -0002c500: 7465 2066 6163 6520 6e69 6c0a 2020 2020 te face nil. │ │ │ +0002c400: 3b3b 3b3b 0a3b 3b20 4675 6e63 7469 6f6e ;;;;.;; Function │ │ │ +0002c410: 7320 666f 7220 7365 7474 696e 6720 6661 s for setting fa │ │ │ +0002c420: 6365 730a 0a28 6465 6675 6e20 6167 6461 ces..(defun agda │ │ │ +0002c430: 322d 6869 6768 6c69 6768 742d 7365 742d 2-highlight-set- │ │ │ +0002c440: 6661 6365 2d61 7474 7269 6275 7465 2028 face-attribute ( │ │ │ +0002c450: 6661 6365 2061 7474 7273 290a 2020 2252 face attrs). "R │ │ │ +0002c460: 6573 6574 2028 676c 6f62 616c 6c79 2920 eset (globally) │ │ │ +0002c470: 616c 6c20 6174 7472 6962 7574 6573 206f all attributes o │ │ │ +0002c480: 6620 7468 6520 6661 6365 2046 4143 4520 f the face FACE │ │ │ +0002c490: 6163 636f 7264 696e 6720 746f 2041 5454 according to ATT │ │ │ +0002c4a0: 5253 2e0a 4966 2074 6865 2066 6163 6520 RS..If the face │ │ │ +0002c4b0: 646f 6573 206e 6f74 2065 7869 7374 2c20 does not exist, │ │ │ +0002c4c0: 7468 656e 2069 7420 6973 2063 7265 6174 then it is creat │ │ │ +0002c4d0: 6564 2066 6972 7374 2e22 0a20 2028 6d61 ed first.". (ma │ │ │ +0002c4e0: 6b65 2d66 6163 6520 6661 6365 290a 2020 ke-face face). │ │ │ +0002c4f0: 2873 6574 2d66 6163 652d 6174 7472 6962 (set-face-attrib │ │ │ +0002c500: 7574 6520 6661 6365 206e 696c 0a20 2020 ute face nil. │ │ │ 0002c510: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0002c520: 2020 3a66 616d 696c 7920 2020 2020 2020 :family │ │ │ -0002c530: 2020 2775 6e73 7065 6369 6669 6564 0a20 'unspecified. │ │ │ +0002c520: 2020 203a 6661 6d69 6c79 2020 2020 2020 :family │ │ │ +0002c530: 2020 2027 756e 7370 6563 6966 6965 640a 'unspecified. │ │ │ 0002c540: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0002c550: 2020 2020 203a 7769 6474 6820 2020 2020 :width │ │ │ -0002c560: 2020 2020 2027 756e 7370 6563 6966 6965 'unspecifie │ │ │ -0002c570: 640a 2020 2020 2020 2020 2020 2020 2020 d. │ │ │ -0002c580: 2020 2020 2020 2020 3a68 6569 6768 7420 :height │ │ │ -0002c590: 2020 2020 2020 2020 2775 6e73 7065 6369 'unspeci │ │ │ -0002c5a0: 6669 6564 0a20 2020 2020 2020 2020 2020 fied. │ │ │ -0002c5b0: 2020 2020 2020 2020 2020 203a 7765 6967 :weig │ │ │ -0002c5c0: 6874 2020 2020 2020 2020 2027 756e 7370 ht 'unsp │ │ │ -0002c5d0: 6563 6966 6965 640a 2020 2020 2020 2020 ecified. │ │ │ -0002c5e0: 2020 2020 2020 2020 2020 2020 2020 3a73 :s │ │ │ -0002c5f0: 6c61 6e74 2020 2020 2020 2020 2020 2775 lant 'u │ │ │ -0002c600: 6e73 7065 6369 6669 6564 0a20 2020 2020 nspecified. │ │ │ +0002c550: 2020 2020 2020 3a77 6964 7468 2020 2020 :width │ │ │ +0002c560: 2020 2020 2020 2775 6e73 7065 6369 6669 'unspecifi │ │ │ +0002c570: 6564 0a20 2020 2020 2020 2020 2020 2020 ed. │ │ │ +0002c580: 2020 2020 2020 2020 203a 6865 6967 6874 :height │ │ │ +0002c590: 2020 2020 2020 2020 2027 756e 7370 6563 'unspec │ │ │ +0002c5a0: 6966 6965 640a 2020 2020 2020 2020 2020 ified. │ │ │ +0002c5b0: 2020 2020 2020 2020 2020 2020 3a77 6569 :wei │ │ │ +0002c5c0: 6768 7420 2020 2020 2020 2020 2775 6e73 ght 'uns │ │ │ +0002c5d0: 7065 6369 6669 6564 0a20 2020 2020 2020 pecified. │ │ │ +0002c5e0: 2020 2020 2020 2020 2020 2020 2020 203a : │ │ │ +0002c5f0: 736c 616e 7420 2020 2020 2020 2020 2027 slant ' │ │ │ +0002c600: 756e 7370 6563 6966 6965 640a 2020 2020 unspecified. │ │ │ 0002c610: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0002c620: 203a 666f 7265 6772 6f75 6e64 2020 2020 :foreground │ │ │ -0002c630: 2027 756e 7370 6563 6966 6965 640a 2020 'unspecified. │ │ │ +0002c620: 2020 3a66 6f72 6567 726f 756e 6420 2020 :foreground │ │ │ +0002c630: 2020 2775 6e73 7065 6369 6669 6564 0a20 'unspecified. │ │ │ 0002c640: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0002c650: 2020 2020 3a62 6163 6b67 726f 756e 6420 :background │ │ │ -0002c660: 2020 2020 2775 6e73 7065 6369 6669 6564 'unspecified │ │ │ -0002c670: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ -0002c680: 2020 2020 2020 203a 696e 7665 7273 652d :inverse- │ │ │ -0002c690: 7669 6465 6f20 2027 756e 7370 6563 6966 video 'unspecif │ │ │ -0002c6a0: 6965 640a 2020 2020 2020 2020 2020 2020 ied. │ │ │ -0002c6b0: 2020 2020 2020 2020 2020 3a73 7469 7070 :stipp │ │ │ -0002c6c0: 6c65 2020 2020 2020 2020 2775 6e73 7065 le 'unspe │ │ │ -0002c6d0: 6369 6669 6564 0a20 2020 2020 2020 2020 cified. │ │ │ -0002c6e0: 2020 2020 2020 2020 2020 2020 203a 756e :un │ │ │ -0002c6f0: 6465 726c 696e 6520 2020 2020 2027 756e derline 'un │ │ │ -0002c700: 7370 6563 6966 6965 640a 2020 2020 2020 specified. │ │ │ +0002c650: 2020 2020 203a 6261 636b 6772 6f75 6e64 :background │ │ │ +0002c660: 2020 2020 2027 756e 7370 6563 6966 6965 'unspecifie │ │ │ +0002c670: 640a 2020 2020 2020 2020 2020 2020 2020 d. │ │ │ +0002c680: 2020 2020 2020 2020 3a69 6e76 6572 7365 :inverse │ │ │ +0002c690: 2d76 6964 656f 2020 2775 6e73 7065 6369 -video 'unspeci │ │ │ +0002c6a0: 6669 6564 0a20 2020 2020 2020 2020 2020 fied. │ │ │ +0002c6b0: 2020 2020 2020 2020 2020 203a 7374 6970 :stip │ │ │ +0002c6c0: 706c 6520 2020 2020 2020 2027 756e 7370 ple 'unsp │ │ │ +0002c6d0: 6563 6966 6965 640a 2020 2020 2020 2020 ecified. │ │ │ +0002c6e0: 2020 2020 2020 2020 2020 2020 2020 3a75 :u │ │ │ +0002c6f0: 6e64 6572 6c69 6e65 2020 2020 2020 2775 nderline 'u │ │ │ +0002c700: 6e73 7065 6369 6669 6564 0a20 2020 2020 nspecified. │ │ │ 0002c710: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0002c720: 3a6f 7665 726c 696e 6520 2020 2020 2020 :overline │ │ │ -0002c730: 2775 6e73 7065 6369 6669 6564 0a20 2020 'unspecified. │ │ │ +0002c720: 203a 6f76 6572 6c69 6e65 2020 2020 2020 :overline │ │ │ +0002c730: 2027 756e 7370 6563 6966 6965 640a 2020 'unspecified. │ │ │ 0002c740: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0002c750: 2020 203a 7374 7269 6b65 2d74 6872 6f75 :strike-throu │ │ │ -0002c760: 6768 2027 756e 7370 6563 6966 6965 640a gh 'unspecified. │ │ │ -0002c770: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0002c780: 2020 2020 2020 3a69 6e68 6572 6974 2020 :inherit │ │ │ -0002c790: 2020 2020 2020 2775 6e73 7065 6369 6669 'unspecifi │ │ │ -0002c7a0: 6564 0a20 2020 2020 2020 2020 2020 2020 ed. │ │ │ -0002c7b0: 2020 2020 2020 2020 203a 626f 7820 2020 :box │ │ │ -0002c7c0: 2020 2020 2020 2020 2027 756e 7370 6563 'unspec │ │ │ -0002c7d0: 6966 6965 640a 2020 2020 2020 2020 2020 ified. │ │ │ -0002c7e0: 2020 2020 2020 2020 2020 2020 3a66 6f6e :fon │ │ │ -0002c7f0: 7420 2020 2020 2020 2020 2020 2775 6e73 t 'uns │ │ │ -0002c800: 7065 6369 6669 6564 290a 2020 2865 7661 pecified). (eva │ │ │ -0002c810: 6c20 6028 7365 742d 6661 6365 2d61 7474 l `(set-face-att │ │ │ -0002c820: 7269 6275 7465 2027 2c66 6163 6520 6e69 ribute ',face ni │ │ │ -0002c830: 6c20 2c40 6174 7472 7329 2929 0a0a 2864 l ,@attrs)))..(d │ │ │ -0002c840: 6566 756e 2061 6764 6132 2d68 6967 686c efun agda2-highl │ │ │ -0002c850: 6967 6874 2d73 6574 2d66 6163 6573 2028 ight-set-faces ( │ │ │ -0002c860: 7661 7269 6162 6c65 2067 726f 7570 290a variable group). │ │ │ -0002c870: 2020 2253 6574 2061 6c6c 2041 6764 6120 "Set all Agda │ │ │ -0002c880: 6661 6365 7320 6163 636f 7264 696e 6720 faces according │ │ │ -0002c890: 746f 2074 6865 2076 616c 7565 206f 6620 to the value of │ │ │ -0002c8a0: 4752 4f55 502e 0a41 6c73 6f20 7365 7473 GROUP..Also sets │ │ │ -0002c8b0: 2074 6865 2064 6566 6175 6c74 2076 616c the default val │ │ │ -0002c8c0: 7565 206f 6620 5641 5249 4142 4c45 2074 ue of VARIABLE t │ │ │ -0002c8d0: 6f20 4752 4f55 502e 220a 2020 2873 6574 o GROUP.". (set │ │ │ -0002c8e0: 2d64 6566 6175 6c74 2076 6172 6961 626c -default variabl │ │ │ -0002c8f0: 6520 6772 6f75 7029 0a20 2028 6d61 7063 e group). (mapc │ │ │ -0002c900: 2028 6c61 6d62 6461 2028 6661 6365 2d61 (lambda (face-a │ │ │ -0002c910: 6e64 2d61 7474 7273 290a 2020 2020 2020 nd-attrs). │ │ │ -0002c920: 2020 2020 2861 6764 6132 2d68 6967 686c (agda2-highl │ │ │ -0002c930: 6967 6874 2d73 6574 2d66 6163 652d 6174 ight-set-face-at │ │ │ -0002c940: 7472 6962 7574 650a 2020 2020 2020 2020 tribute. │ │ │ -0002c950: 2020 2028 6361 7220 6661 6365 2d61 6e64 (car face-and │ │ │ -0002c960: 2d61 7474 7273 2920 2863 6472 2066 6163 -attrs) (cdr fac │ │ │ -0002c970: 652d 616e 642d 6174 7472 7329 2929 0a20 e-and-attrs))). │ │ │ -0002c980: 2020 2020 2020 2028 636f 6e64 0a20 2020 (cond. │ │ │ -0002c990: 2020 2020 2020 2828 6571 7561 6c20 6772 ((equal gr │ │ │ -0002c9a0: 6f75 7020 2763 6f6e 6f72 290a 2020 2020 oup 'conor). │ │ │ -0002c9b0: 2020 2020 2020 2728 2861 6764 6132 2d68 '((agda2-h │ │ │ -0002c9c0: 6967 686c 6967 6874 2d6b 6579 776f 7264 ighlight-keyword │ │ │ -0002c9d0: 2d66 6163 650a 2020 2020 2020 2020 2020 -face. │ │ │ -0002c9e0: 2020 203a 626f 6c64 2074 290a 2020 2020 :bold t). │ │ │ -0002c9f0: 2020 2020 2020 2020 2861 6764 6132 2d68 (agda2-h │ │ │ -0002ca00: 6967 686c 6967 6874 2d73 7472 696e 672d ighlight-string- │ │ │ -0002ca10: 6661 6365 0a20 2020 2020 2020 2020 2020 face. │ │ │ -0002ca20: 2020 3a66 6f72 6567 726f 756e 6420 2266 :foreground "f │ │ │ -0002ca30: 6972 6562 7269 636b 3322 290a 2020 2020 irebrick3"). │ │ │ -0002ca40: 2020 2020 2020 2020 2861 6764 6132 2d68 (agda2-h │ │ │ -0002ca50: 6967 686c 6967 6874 2d6e 756d 6265 722d ighlight-number- │ │ │ -0002ca60: 6661 6365 0a20 2020 2020 2020 2020 2020 face. │ │ │ -0002ca70: 2020 3a66 6f72 6567 726f 756e 6420 2266 :foreground "f │ │ │ -0002ca80: 6972 6562 7269 636b 3322 290a 2020 2020 irebrick3"). │ │ │ -0002ca90: 2020 2020 2020 2020 2861 6764 6132 2d68 (agda2-h │ │ │ -0002caa0: 6967 686c 6967 6874 2d73 796d 626f 6c2d ighlight-symbol- │ │ │ -0002cab0: 6661 6365 0a20 2020 2020 2020 2020 2020 face. │ │ │ -0002cac0: 2020 3a66 6f72 6567 726f 756e 6420 2267 :foreground "g │ │ │ -0002cad0: 7265 7932 3522 290a 2020 2020 2020 2020 rey25"). │ │ │ -0002cae0: 2020 2020 2861 6764 6132 2d68 6967 686c (agda2-highl │ │ │ -0002caf0: 6967 6874 2d70 7269 6d69 7469 7665 2d74 ight-primitive-t │ │ │ -0002cb00: 7970 652d 6661 6365 0a20 2020 2020 2020 ype-face. │ │ │ -0002cb10: 2020 2020 2020 3a66 6f72 6567 726f 756e :foregroun │ │ │ -0002cb20: 6420 226d 6564 6975 6d20 626c 7565 2229 d "medium blue") │ │ │ -0002cb30: 0a20 2020 2020 2020 2020 2020 2028 6167 . (ag │ │ │ -0002cb40: 6461 322d 6869 6768 6c69 6768 742d 626f da2-highlight-bo │ │ │ -0002cb50: 756e 642d 7661 7269 6162 6c65 2d66 6163 und-variable-fac │ │ │ -0002cb60: 650a 2020 2020 2020 2020 2020 2020 203a e. : │ │ │ -0002cb70: 666f 7265 6772 6f75 6e64 2022 7075 7270 foreground "purp │ │ │ -0002cb80: 6c65 2229 0a20 2020 2020 2020 2020 2020 le"). │ │ │ -0002cb90: 2028 6167 6461 322d 6869 6768 6c69 6768 (agda2-highligh │ │ │ -0002cba0: 742d 6765 6e65 7261 6c69 7a61 626c 652d t-generalizable- │ │ │ -0002cbb0: 7661 7269 6162 6c65 2d66 6163 650a 2020 variable-face. │ │ │ -0002cbc0: 2020 2020 2020 2020 2020 203a 666f 7265 :fore │ │ │ -0002cbd0: 6772 6f75 6e64 2022 7075 7270 6c65 2229 ground "purple") │ │ │ -0002cbe0: 0a20 2020 2020 2020 2020 2020 2028 6167 . (ag │ │ │ -0002cbf0: 6461 322d 6869 6768 6c69 6768 742d 696e da2-highlight-in │ │ │ -0002cc00: 6475 6374 6976 652d 636f 6e73 7472 7563 ductive-construc │ │ │ -0002cc10: 746f 722d 6661 6365 0a20 2020 2020 2020 tor-face. │ │ │ -0002cc20: 2020 2020 2020 3a66 6f72 6567 726f 756e :foregroun │ │ │ -0002cc30: 6420 2266 6972 6562 7269 636b 3322 290a d "firebrick3"). │ │ │ -0002cc40: 2020 2020 2020 2020 2020 2020 2861 6764 (agd │ │ │ -0002cc50: 6132 2d68 6967 686c 6967 6874 2d63 6f69 a2-highlight-coi │ │ │ -0002cc60: 6e64 7563 7469 7665 2d63 6f6e 7374 7275 nductive-constru │ │ │ -0002cc70: 6374 6f72 2d66 6163 650a 2020 2020 2020 ctor-face. │ │ │ -0002cc80: 2020 2020 2020 203a 666f 7265 6772 6f75 :foregrou │ │ │ -0002cc90: 6e64 2022 6669 7265 6272 6963 6b33 2229 nd "firebrick3") │ │ │ -0002cca0: 0a20 2020 2020 2020 2020 2020 2028 6167 . (ag │ │ │ -0002ccb0: 6461 322d 6869 6768 6c69 6768 742d 6461 da2-highlight-da │ │ │ -0002ccc0: 7461 7479 7065 2d66 6163 650a 2020 2020 tatype-face. │ │ │ -0002ccd0: 2020 2020 2020 2020 203a 666f 7265 6772 :foregr │ │ │ -0002cce0: 6f75 6e64 2022 6d65 6469 756d 2062 6c75 ound "medium blu │ │ │ -0002ccf0: 6522 290a 2020 2020 2020 2020 2020 2020 e"). │ │ │ -0002cd00: 2861 6764 6132 2d68 6967 686c 6967 6874 (agda2-highlight │ │ │ -0002cd10: 2d66 6965 6c64 2d66 6163 650a 2020 2020 -field-face. │ │ │ -0002cd20: 2020 2020 2020 2020 203a 666f 7265 6772 :foregr │ │ │ -0002cd30: 6f75 6e64 2022 6465 6570 7069 6e6b 2229 ound "deeppink") │ │ │ -0002cd40: 0a20 2020 2020 2020 2020 2020 2028 6167 . (ag │ │ │ -0002cd50: 6461 322d 6869 6768 6c69 6768 742d 6675 da2-highlight-fu │ │ │ -0002cd60: 6e63 7469 6f6e 2d66 6163 650a 2020 2020 nction-face. │ │ │ -0002cd70: 2020 2020 2020 2020 203a 666f 7265 6772 :foregr │ │ │ -0002cd80: 6f75 6e64 2022 6461 726b 6772 6565 6e22 ound "darkgreen" │ │ │ -0002cd90: 290a 2020 2020 2020 2020 2020 2020 2861 ). (a │ │ │ -0002cda0: 6764 6132 2d68 6967 686c 6967 6874 2d6d gda2-highlight-m │ │ │ -0002cdb0: 6f64 756c 652d 6661 6365 0a20 2020 2020 odule-face. │ │ │ -0002cdc0: 2020 2020 2020 2020 3a66 6f72 6567 726f :foregro │ │ │ -0002cdd0: 756e 6420 226d 6564 6975 6d20 626c 7565 und "medium blue │ │ │ -0002cde0: 2229 0a20 2020 2020 2020 2020 2020 2028 "). ( │ │ │ -0002cdf0: 6167 6461 322d 6869 6768 6c69 6768 742d agda2-highlight- │ │ │ -0002ce00: 706f 7374 756c 6174 652d 6661 6365 0a20 postulate-face. │ │ │ -0002ce10: 2020 2020 2020 2020 2020 2020 3a66 6f72 :for │ │ │ -0002ce20: 6567 726f 756e 6420 2264 6172 6b67 7265 eground "darkgre │ │ │ -0002ce30: 656e 2229 0a20 2020 2020 2020 2020 2020 en"). │ │ │ -0002ce40: 2028 6167 6461 322d 6869 6768 6c69 6768 (agda2-highligh │ │ │ -0002ce50: 742d 7072 696d 6974 6976 652d 6661 6365 t-primitive-face │ │ │ -0002ce60: 0a20 2020 2020 2020 2020 2020 2020 3a66 . :f │ │ │ -0002ce70: 6f72 6567 726f 756e 6420 2264 6172 6b67 oreground "darkg │ │ │ -0002ce80: 7265 656e 2229 0a20 2020 2020 2020 2020 reen"). │ │ │ -0002ce90: 2020 2028 6167 6461 322d 6869 6768 6c69 (agda2-highli │ │ │ -0002cea0: 6768 742d 6d61 6372 6f2d 6661 6365 0a20 ght-macro-face. │ │ │ -0002ceb0: 2020 2020 2020 2020 2020 2020 3a66 6f72 :for │ │ │ -0002cec0: 6567 726f 756e 6420 2261 7175 616d 6172 eground "aquamar │ │ │ -0002ced0: 696e 6534 2229 0a20 2020 2020 2020 2020 ine4"). │ │ │ -0002cee0: 2020 2028 6167 6461 322d 6869 6768 6c69 (agda2-highli │ │ │ -0002cef0: 6768 742d 7265 636f 7264 2d66 6163 650a ght-record-face. │ │ │ -0002cf00: 2020 2020 2020 2020 2020 2020 203a 666f :fo │ │ │ -0002cf10: 7265 6772 6f75 6e64 2022 6d65 6469 756d reground "medium │ │ │ -0002cf20: 2062 6c75 6522 290a 2020 2020 2020 2020 blue"). │ │ │ -0002cf30: 2020 2020 2861 6764 6132 2d68 6967 686c (agda2-highl │ │ │ -0002cf40: 6967 6874 2d64 6f74 7465 642d 6661 6365 ight-dotted-face │ │ │ -0002cf50: 290a 2020 2020 2020 2020 2020 2020 2861 ). (a │ │ │ -0002cf60: 6764 6132 2d68 6967 686c 6967 6874 2d65 gda2-highlight-e │ │ │ -0002cf70: 7272 6f72 2d66 6163 650a 2020 2020 2020 rror-face. │ │ │ -0002cf80: 2020 2020 2020 203a 666f 7265 6772 6f75 :foregrou │ │ │ -0002cf90: 6e64 2022 7265 6422 0a20 2020 2020 2020 nd "red". │ │ │ -0002cfa0: 2020 2020 2020 3a75 6e64 6572 6c69 6e65 :underline │ │ │ -0002cfb0: 2074 290a 2020 2020 2020 2020 2020 2020 t). │ │ │ -0002cfc0: 2861 6764 6132 2d68 6967 686c 6967 6874 (agda2-highlight │ │ │ -0002cfd0: 2d65 7272 6f72 2d77 6172 6e69 6e67 2d66 -error-warning-f │ │ │ -0002cfe0: 6163 650a 2020 2020 2020 2020 2020 2020 ace. │ │ │ -0002cff0: 203a 6261 636b 6772 6f75 6e64 2022 6c69 :background "li │ │ │ -0002d000: 6768 7420 636f 7261 6c22 0a20 2020 2020 ght coral". │ │ │ -0002d010: 2020 2020 2020 2020 3a75 6e64 6572 6c69 :underli │ │ │ -0002d020: 6e65 2074 290a 2020 2020 2020 2020 2020 ne t). │ │ │ -0002d030: 2020 2861 6764 6132 2d68 6967 686c 6967 (agda2-highlig │ │ │ -0002d040: 6874 2d75 6e73 6f6c 7665 642d 6d65 7461 ht-unsolved-meta │ │ │ -0002d050: 2d66 6163 650a 2020 2020 2020 2020 2020 -face. │ │ │ -0002d060: 2020 203a 666f 7265 6772 6f75 6e64 2022 :foreground " │ │ │ -0002d070: 626c 6163 6b22 0a20 2020 2020 2020 2020 black". │ │ │ -0002d080: 2020 2020 3a62 6163 6b67 726f 756e 6420 :background │ │ │ -0002d090: 2279 656c 6c6f 7722 290a 2020 2020 2020 "yellow"). │ │ │ -0002d0a0: 2020 2020 2020 2861 6764 6132 2d68 6967 (agda2-hig │ │ │ -0002d0b0: 686c 6967 6874 2d75 6e73 6f6c 7665 642d hlight-unsolved- │ │ │ -0002d0c0: 636f 6e73 7472 6169 6e74 2d66 6163 650a constraint-face. │ │ │ -0002d0d0: 2020 2020 2020 2020 2020 2020 203a 666f :fo │ │ │ -0002d0e0: 7265 6772 6f75 6e64 2022 626c 6163 6b22 reground "black" │ │ │ -0002d0f0: 0a20 2020 2020 2020 2020 2020 2020 3a62 . :b │ │ │ -0002d100: 6163 6b67 726f 756e 6420 2279 656c 6c6f ackground "yello │ │ │ -0002d110: 7722 290a 2020 2020 2020 2020 2020 2020 w"). │ │ │ -0002d120: 2861 6764 6132 2d68 6967 686c 6967 6874 (agda2-highlight │ │ │ -0002d130: 2d74 6572 6d69 6e61 7469 6f6e 2d70 726f -termination-pro │ │ │ -0002d140: 626c 656d 2d66 6163 650a 2020 2020 2020 blem-face. │ │ │ -0002d150: 2020 2020 2020 203a 666f 7265 6772 6f75 :foregrou │ │ │ -0002d160: 6e64 2022 626c 6163 6b22 0a20 2020 2020 nd "black". │ │ │ -0002d170: 2020 2020 2020 2020 3a62 6163 6b67 726f :backgro │ │ │ -0002d180: 756e 6420 226c 6967 6874 2073 616c 6d6f und "light salmo │ │ │ -0002d190: 6e22 290a 2020 2020 2020 2020 2020 2020 n"). │ │ │ -0002d1a0: 2861 6764 6132 2d68 6967 686c 6967 6874 (agda2-highlight │ │ │ -0002d1b0: 2d70 6f73 6974 6976 6974 792d 7072 6f62 -positivity-prob │ │ │ -0002d1c0: 6c65 6d2d 6661 6365 0a20 2020 2020 2020 lem-face. │ │ │ -0002d1d0: 2020 2020 2020 3a66 6f72 6567 726f 756e :foregroun │ │ │ -0002d1e0: 6420 2262 6c61 636b 220a 2020 2020 2020 d "black". │ │ │ -0002d1f0: 2020 2020 2020 203a 6261 636b 6772 6f75 :backgrou │ │ │ -0002d200: 6e64 2022 7065 7275 2229 0a20 2020 2020 nd "peru"). │ │ │ -0002d210: 2020 2020 2020 2028 6167 6461 322d 6869 (agda2-hi │ │ │ -0002d220: 6768 6c69 6768 742d 696e 636f 6d70 6c65 ghlight-incomple │ │ │ -0002d230: 7465 2d70 6174 7465 726e 2d66 6163 650a te-pattern-face. │ │ │ -0002d240: 2020 2020 2020 2020 2020 2020 203a 666f :fo │ │ │ -0002d250: 7265 6772 6f75 6e64 2022 626c 6163 6b22 reground "black" │ │ │ -0002d260: 0a20 2020 2020 2020 2020 2020 2020 3a62 . :b │ │ │ -0002d270: 6163 6b67 726f 756e 6420 2270 7572 706c ackground "purpl │ │ │ -0002d280: 6522 290a 2020 2020 2020 2020 2020 2020 e"). │ │ │ -0002d290: 2861 6764 6132 2d68 6967 686c 6967 6874 (agda2-highlight │ │ │ -0002d2a0: 2d74 7970 6563 6865 636b 732d 6661 6365 -typechecks-face │ │ │ -0002d2b0: 0a20 2020 2020 2020 2020 2020 2020 3a66 . :f │ │ │ -0002d2c0: 6f72 6567 726f 756e 6420 2262 6c61 636b oreground "black │ │ │ -0002d2d0: 220a 2020 2020 2020 2020 2020 2020 203a ". : │ │ │ -0002d2e0: 6261 636b 6772 6f75 6e64 2022 6c69 6768 background "ligh │ │ │ -0002d2f0: 7420 626c 7565 2229 2929 0a20 2020 2020 t blue"))). │ │ │ -0002d300: 2020 2020 2828 6571 7561 6c20 6772 6f75 ((equal grou │ │ │ -0002d310: 7020 2764 6566 6175 6c74 2d66 6163 6573 p 'default-faces │ │ │ -0002d320: 290a 2020 2020 2020 2020 2020 286c 6973 ). (lis │ │ │ -0002d330: 7420 2863 6f6e 7320 2761 6764 6132 2d68 t (cons 'agda2-h │ │ │ -0002d340: 6967 686c 6967 6874 2d6b 6579 776f 7264 ighlight-keyword │ │ │ -0002d350: 2d66 6163 650a 2020 2020 2020 2020 2020 -face. │ │ │ -0002d360: 2020 2020 2020 2020 2020 2020 286c 6973 (lis │ │ │ -0002d370: 7420 3a69 6e68 6572 6974 2066 6f6e 742d t :inherit font- │ │ │ -0002d380: 6c6f 636b 2d6b 6579 776f 7264 2d66 6163 lock-keyword-fac │ │ │ -0002d390: 6529 290a 2020 2020 2020 2020 2020 2020 e)). │ │ │ -0002d3a0: 2020 2020 2863 6f6e 7320 2761 6764 6132 (cons 'agda2 │ │ │ -0002d3b0: 2d68 6967 686c 6967 6874 2d73 7472 696e -highlight-strin │ │ │ -0002d3c0: 672d 6661 6365 0a20 2020 2020 2020 2020 g-face. │ │ │ -0002d3d0: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ -0002d3e0: 7374 203a 696e 6865 7269 7420 666f 6e74 st :inherit font │ │ │ -0002d3f0: 2d6c 6f63 6b2d 7374 7269 6e67 2d66 6163 -lock-string-fac │ │ │ -0002d400: 6529 290a 2020 2020 2020 2020 2020 2020 e)). │ │ │ -0002d410: 2020 2020 2863 6f6e 7320 2761 6764 6132 (cons 'agda2 │ │ │ -0002d420: 2d68 6967 686c 6967 6874 2d6e 756d 6265 -highlight-numbe │ │ │ -0002d430: 722d 6661 6365 0a20 2020 2020 2020 2020 r-face. │ │ │ -0002d440: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ -0002d450: 7374 203a 696e 6865 7269 7420 666f 6e74 st :inherit font │ │ │ -0002d460: 2d6c 6f63 6b2d 636f 6e73 7461 6e74 2d66 -lock-constant-f │ │ │ -0002d470: 6163 6529 290a 2020 2020 2020 2020 2020 ace)). │ │ │ -0002d480: 2020 2020 2020 2863 6f6e 7320 2761 6764 (cons 'agd │ │ │ -0002d490: 6132 2d68 6967 686c 6967 6874 2d73 796d a2-highlight-sym │ │ │ -0002d4a0: 626f 6c2d 6661 6365 0a20 2020 2020 2020 bol-face. │ │ │ -0002d4b0: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ -0002d4c0: 6c69 7374 203a 696e 6865 7269 7420 666f list :inherit fo │ │ │ -0002d4d0: 6e74 2d6c 6f63 6b2d 6b65 7977 6f72 642d nt-lock-keyword- │ │ │ -0002d4e0: 6661 6365 2929 0a20 2020 2020 2020 2020 face)). │ │ │ -0002d4f0: 2020 2020 2020 2028 636f 6e73 2027 6167 (cons 'ag │ │ │ -0002d500: 6461 322d 6869 6768 6c69 6768 742d 7072 da2-highlight-pr │ │ │ -0002d510: 696d 6974 6976 652d 7479 7065 2d66 6163 imitive-type-fac │ │ │ -0002d520: 650a 2020 2020 2020 2020 2020 2020 2020 e. │ │ │ -0002d530: 2020 2020 2020 2020 286c 6973 7420 3a69 (list :i │ │ │ -0002d540: 6e68 6572 6974 2066 6f6e 742d 6c6f 636b nherit font-lock │ │ │ -0002d550: 2d6b 6579 776f 7264 2d66 6163 6529 290a -keyword-face)). │ │ │ -0002d560: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0002d570: 2863 6f6e 7320 2761 6764 6132 2d68 6967 (cons 'agda2-hig │ │ │ -0002d580: 686c 6967 6874 2d62 6f75 6e64 2d76 6172 hlight-bound-var │ │ │ -0002d590: 6961 626c 652d 6661 6365 0a20 2020 2020 iable-face. │ │ │ +0002c750: 2020 2020 3a73 7472 696b 652d 7468 726f :strike-thro │ │ │ +0002c760: 7567 6820 2775 6e73 7065 6369 6669 6564 ugh 'unspecified │ │ │ +0002c770: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ +0002c780: 2020 2020 2020 203a 696e 6865 7269 7420 :inherit │ │ │ +0002c790: 2020 2020 2020 2027 756e 7370 6563 6966 'unspecif │ │ │ +0002c7a0: 6965 640a 2020 2020 2020 2020 2020 2020 ied. │ │ │ +0002c7b0: 2020 2020 2020 2020 2020 3a62 6f78 2020 :box │ │ │ +0002c7c0: 2020 2020 2020 2020 2020 2775 6e73 7065 'unspe │ │ │ +0002c7d0: 6369 6669 6564 0a20 2020 2020 2020 2020 cified. │ │ │ +0002c7e0: 2020 2020 2020 2020 2020 2020 203a 666f :fo │ │ │ +0002c7f0: 6e74 2020 2020 2020 2020 2020 2027 756e nt 'un │ │ │ +0002c800: 7370 6563 6966 6965 6429 0a20 2028 6576 specified). (ev │ │ │ +0002c810: 616c 2060 2873 6574 2d66 6163 652d 6174 al `(set-face-at │ │ │ +0002c820: 7472 6962 7574 6520 272c 6661 6365 206e tribute ',face n │ │ │ +0002c830: 696c 202c 4061 7474 7273 2929 290a 0a28 il ,@attrs)))..( │ │ │ +0002c840: 6465 6675 6e20 6167 6461 322d 6869 6768 defun agda2-high │ │ │ +0002c850: 6c69 6768 742d 7365 742d 6661 6365 7320 light-set-faces │ │ │ +0002c860: 2876 6172 6961 626c 6520 6772 6f75 7029 (variable group) │ │ │ +0002c870: 0a20 2022 5365 7420 616c 6c20 4167 6461 . "Set all Agda │ │ │ +0002c880: 2066 6163 6573 2061 6363 6f72 6469 6e67 faces according │ │ │ +0002c890: 2074 6f20 7468 6520 7661 6c75 6520 6f66 to the value of │ │ │ +0002c8a0: 2047 524f 5550 2e0a 416c 736f 2073 6574 GROUP..Also set │ │ │ +0002c8b0: 7320 7468 6520 6465 6661 756c 7420 7661 s the default va │ │ │ +0002c8c0: 6c75 6520 6f66 2056 4152 4941 424c 4520 lue of VARIABLE │ │ │ +0002c8d0: 746f 2047 524f 5550 2e22 0a20 2028 7365 to GROUP.". (se │ │ │ +0002c8e0: 742d 6465 6661 756c 7420 7661 7269 6162 t-default variab │ │ │ +0002c8f0: 6c65 2067 726f 7570 290a 2020 286d 6170 le group). (map │ │ │ +0002c900: 6320 286c 616d 6264 6120 2866 6163 652d c (lambda (face- │ │ │ +0002c910: 616e 642d 6174 7472 7329 0a20 2020 2020 and-attrs). │ │ │ +0002c920: 2020 2020 2028 6167 6461 322d 6869 6768 (agda2-high │ │ │ +0002c930: 6c69 6768 742d 7365 742d 6661 6365 2d61 light-set-face-a │ │ │ +0002c940: 7474 7269 6275 7465 0a20 2020 2020 2020 ttribute. │ │ │ +0002c950: 2020 2020 2863 6172 2066 6163 652d 616e (car face-an │ │ │ +0002c960: 642d 6174 7472 7329 2028 6364 7220 6661 d-attrs) (cdr fa │ │ │ +0002c970: 6365 2d61 6e64 2d61 7474 7273 2929 290a ce-and-attrs))). │ │ │ +0002c980: 2020 2020 2020 2020 2863 6f6e 640a 2020 (cond. │ │ │ +0002c990: 2020 2020 2020 2028 2865 7175 616c 2067 ((equal g │ │ │ +0002c9a0: 726f 7570 2027 636f 6e6f 7229 0a20 2020 roup 'conor). │ │ │ +0002c9b0: 2020 2020 2020 2027 2828 6167 6461 322d '((agda2- │ │ │ +0002c9c0: 6869 6768 6c69 6768 742d 6b65 7977 6f72 highlight-keywor │ │ │ +0002c9d0: 642d 6661 6365 0a20 2020 2020 2020 2020 d-face. │ │ │ +0002c9e0: 2020 2020 3a62 6f6c 6420 7429 0a20 2020 :bold t). │ │ │ +0002c9f0: 2020 2020 2020 2020 2028 6167 6461 322d (agda2- │ │ │ +0002ca00: 6869 6768 6c69 6768 742d 7374 7269 6e67 highlight-string │ │ │ +0002ca10: 2d66 6163 650a 2020 2020 2020 2020 2020 -face. │ │ │ +0002ca20: 2020 203a 666f 7265 6772 6f75 6e64 2022 :foreground " │ │ │ +0002ca30: 6669 7265 6272 6963 6b33 2229 0a20 2020 firebrick3"). │ │ │ +0002ca40: 2020 2020 2020 2020 2028 6167 6461 322d (agda2- │ │ │ +0002ca50: 6869 6768 6c69 6768 742d 6e75 6d62 6572 highlight-number │ │ │ +0002ca60: 2d66 6163 650a 2020 2020 2020 2020 2020 -face. │ │ │ +0002ca70: 2020 203a 666f 7265 6772 6f75 6e64 2022 :foreground " │ │ │ +0002ca80: 6669 7265 6272 6963 6b33 2229 0a20 2020 firebrick3"). │ │ │ +0002ca90: 2020 2020 2020 2020 2028 6167 6461 322d (agda2- │ │ │ +0002caa0: 6869 6768 6c69 6768 742d 7379 6d62 6f6c highlight-symbol │ │ │ +0002cab0: 2d66 6163 650a 2020 2020 2020 2020 2020 -face. │ │ │ +0002cac0: 2020 203a 666f 7265 6772 6f75 6e64 2022 :foreground " │ │ │ +0002cad0: 6772 6579 3235 2229 0a20 2020 2020 2020 grey25"). │ │ │ +0002cae0: 2020 2020 2028 6167 6461 322d 6869 6768 (agda2-high │ │ │ +0002caf0: 6c69 6768 742d 7072 696d 6974 6976 652d light-primitive- │ │ │ +0002cb00: 7479 7065 2d66 6163 650a 2020 2020 2020 type-face. │ │ │ +0002cb10: 2020 2020 2020 203a 666f 7265 6772 6f75 :foregrou │ │ │ +0002cb20: 6e64 2022 6d65 6469 756d 2062 6c75 6522 nd "medium blue" │ │ │ +0002cb30: 290a 2020 2020 2020 2020 2020 2020 2861 ). (a │ │ │ +0002cb40: 6764 6132 2d68 6967 686c 6967 6874 2d62 gda2-highlight-b │ │ │ +0002cb50: 6f75 6e64 2d76 6172 6961 626c 652d 6661 ound-variable-fa │ │ │ +0002cb60: 6365 0a20 2020 2020 2020 2020 2020 2020 ce. │ │ │ +0002cb70: 3a66 6f72 6567 726f 756e 6420 2270 7572 :foreground "pur │ │ │ +0002cb80: 706c 6522 290a 2020 2020 2020 2020 2020 ple"). │ │ │ +0002cb90: 2020 2861 6764 6132 2d68 6967 686c 6967 (agda2-highlig │ │ │ +0002cba0: 6874 2d67 656e 6572 616c 697a 6162 6c65 ht-generalizable │ │ │ +0002cbb0: 2d76 6172 6961 626c 652d 6661 6365 0a20 -variable-face. │ │ │ +0002cbc0: 2020 2020 2020 2020 2020 2020 3a66 6f72 :for │ │ │ +0002cbd0: 6567 726f 756e 6420 2270 7572 706c 6522 eground "purple" │ │ │ +0002cbe0: 290a 2020 2020 2020 2020 2020 2020 2861 ). (a │ │ │ +0002cbf0: 6764 6132 2d68 6967 686c 6967 6874 2d69 gda2-highlight-i │ │ │ +0002cc00: 6e64 7563 7469 7665 2d63 6f6e 7374 7275 nductive-constru │ │ │ +0002cc10: 6374 6f72 2d66 6163 650a 2020 2020 2020 ctor-face. │ │ │ +0002cc20: 2020 2020 2020 203a 666f 7265 6772 6f75 :foregrou │ │ │ +0002cc30: 6e64 2022 6669 7265 6272 6963 6b33 2229 nd "firebrick3") │ │ │ +0002cc40: 0a20 2020 2020 2020 2020 2020 2028 6167 . (ag │ │ │ +0002cc50: 6461 322d 6869 6768 6c69 6768 742d 636f da2-highlight-co │ │ │ +0002cc60: 696e 6475 6374 6976 652d 636f 6e73 7472 inductive-constr │ │ │ +0002cc70: 7563 746f 722d 6661 6365 0a20 2020 2020 uctor-face. │ │ │ +0002cc80: 2020 2020 2020 2020 3a66 6f72 6567 726f :foregro │ │ │ +0002cc90: 756e 6420 2266 6972 6562 7269 636b 3322 und "firebrick3" │ │ │ +0002cca0: 290a 2020 2020 2020 2020 2020 2020 2861 ). (a │ │ │ +0002ccb0: 6764 6132 2d68 6967 686c 6967 6874 2d64 gda2-highlight-d │ │ │ +0002ccc0: 6174 6174 7970 652d 6661 6365 0a20 2020 atatype-face. │ │ │ +0002ccd0: 2020 2020 2020 2020 2020 3a66 6f72 6567 :foreg │ │ │ +0002cce0: 726f 756e 6420 226d 6564 6975 6d20 626c round "medium bl │ │ │ +0002ccf0: 7565 2229 0a20 2020 2020 2020 2020 2020 ue"). │ │ │ +0002cd00: 2028 6167 6461 322d 6869 6768 6c69 6768 (agda2-highligh │ │ │ +0002cd10: 742d 6669 656c 642d 6661 6365 0a20 2020 t-field-face. │ │ │ +0002cd20: 2020 2020 2020 2020 2020 3a66 6f72 6567 :foreg │ │ │ +0002cd30: 726f 756e 6420 2264 6565 7070 696e 6b22 round "deeppink" │ │ │ +0002cd40: 290a 2020 2020 2020 2020 2020 2020 2861 ). (a │ │ │ +0002cd50: 6764 6132 2d68 6967 686c 6967 6874 2d66 gda2-highlight-f │ │ │ +0002cd60: 756e 6374 696f 6e2d 6661 6365 0a20 2020 unction-face. │ │ │ +0002cd70: 2020 2020 2020 2020 2020 3a66 6f72 6567 :foreg │ │ │ +0002cd80: 726f 756e 6420 2264 6172 6b67 7265 656e round "darkgreen │ │ │ +0002cd90: 2229 0a20 2020 2020 2020 2020 2020 2028 "). ( │ │ │ +0002cda0: 6167 6461 322d 6869 6768 6c69 6768 742d agda2-highlight- │ │ │ +0002cdb0: 6d6f 6475 6c65 2d66 6163 650a 2020 2020 module-face. │ │ │ +0002cdc0: 2020 2020 2020 2020 203a 666f 7265 6772 :foregr │ │ │ +0002cdd0: 6f75 6e64 2022 6d65 6469 756d 2062 6c75 ound "medium blu │ │ │ +0002cde0: 6522 290a 2020 2020 2020 2020 2020 2020 e"). │ │ │ +0002cdf0: 2861 6764 6132 2d68 6967 686c 6967 6874 (agda2-highlight │ │ │ +0002ce00: 2d70 6f73 7475 6c61 7465 2d66 6163 650a -postulate-face. │ │ │ +0002ce10: 2020 2020 2020 2020 2020 2020 203a 666f :fo │ │ │ +0002ce20: 7265 6772 6f75 6e64 2022 6461 726b 6772 reground "darkgr │ │ │ +0002ce30: 6565 6e22 290a 2020 2020 2020 2020 2020 een"). │ │ │ +0002ce40: 2020 2861 6764 6132 2d68 6967 686c 6967 (agda2-highlig │ │ │ +0002ce50: 6874 2d70 7269 6d69 7469 7665 2d66 6163 ht-primitive-fac │ │ │ +0002ce60: 650a 2020 2020 2020 2020 2020 2020 203a e. : │ │ │ +0002ce70: 666f 7265 6772 6f75 6e64 2022 6461 726b foreground "dark │ │ │ +0002ce80: 6772 6565 6e22 290a 2020 2020 2020 2020 green"). │ │ │ +0002ce90: 2020 2020 2861 6764 6132 2d68 6967 686c (agda2-highl │ │ │ +0002cea0: 6967 6874 2d6d 6163 726f 2d66 6163 650a ight-macro-face. │ │ │ +0002ceb0: 2020 2020 2020 2020 2020 2020 203a 666f :fo │ │ │ +0002cec0: 7265 6772 6f75 6e64 2022 6171 7561 6d61 reground "aquama │ │ │ +0002ced0: 7269 6e65 3422 290a 2020 2020 2020 2020 rine4"). │ │ │ +0002cee0: 2020 2020 2861 6764 6132 2d68 6967 686c (agda2-highl │ │ │ +0002cef0: 6967 6874 2d72 6563 6f72 642d 6661 6365 ight-record-face │ │ │ +0002cf00: 0a20 2020 2020 2020 2020 2020 2020 3a66 . :f │ │ │ +0002cf10: 6f72 6567 726f 756e 6420 226d 6564 6975 oreground "mediu │ │ │ +0002cf20: 6d20 626c 7565 2229 0a20 2020 2020 2020 m blue"). │ │ │ +0002cf30: 2020 2020 2028 6167 6461 322d 6869 6768 (agda2-high │ │ │ +0002cf40: 6c69 6768 742d 646f 7474 6564 2d66 6163 light-dotted-fac │ │ │ +0002cf50: 6529 0a20 2020 2020 2020 2020 2020 2028 e). ( │ │ │ +0002cf60: 6167 6461 322d 6869 6768 6c69 6768 742d agda2-highlight- │ │ │ +0002cf70: 6572 726f 722d 6661 6365 0a20 2020 2020 error-face. │ │ │ +0002cf80: 2020 2020 2020 2020 3a66 6f72 6567 726f :foregro │ │ │ +0002cf90: 756e 6420 2272 6564 220a 2020 2020 2020 und "red". │ │ │ +0002cfa0: 2020 2020 2020 203a 756e 6465 726c 696e :underlin │ │ │ +0002cfb0: 6520 7429 0a20 2020 2020 2020 2020 2020 e t). │ │ │ +0002cfc0: 2028 6167 6461 322d 6869 6768 6c69 6768 (agda2-highligh │ │ │ +0002cfd0: 742d 6572 726f 722d 7761 726e 696e 672d t-error-warning- │ │ │ +0002cfe0: 6661 6365 0a20 2020 2020 2020 2020 2020 face. │ │ │ +0002cff0: 2020 3a62 6163 6b67 726f 756e 6420 226c :background "l │ │ │ +0002d000: 6967 6874 2063 6f72 616c 220a 2020 2020 ight coral". │ │ │ +0002d010: 2020 2020 2020 2020 203a 756e 6465 726c :underl │ │ │ +0002d020: 696e 6520 7429 0a20 2020 2020 2020 2020 ine t). │ │ │ +0002d030: 2020 2028 6167 6461 322d 6869 6768 6c69 (agda2-highli │ │ │ +0002d040: 6768 742d 756e 736f 6c76 6564 2d6d 6574 ght-unsolved-met │ │ │ +0002d050: 612d 6661 6365 0a20 2020 2020 2020 2020 a-face. │ │ │ +0002d060: 2020 2020 3a66 6f72 6567 726f 756e 6420 :foreground │ │ │ +0002d070: 2262 6c61 636b 220a 2020 2020 2020 2020 "black". │ │ │ +0002d080: 2020 2020 203a 6261 636b 6772 6f75 6e64 :background │ │ │ +0002d090: 2022 7965 6c6c 6f77 2229 0a20 2020 2020 "yellow"). │ │ │ +0002d0a0: 2020 2020 2020 2028 6167 6461 322d 6869 (agda2-hi │ │ │ +0002d0b0: 6768 6c69 6768 742d 756e 736f 6c76 6564 ghlight-unsolved │ │ │ +0002d0c0: 2d63 6f6e 7374 7261 696e 742d 6661 6365 -constraint-face │ │ │ +0002d0d0: 0a20 2020 2020 2020 2020 2020 2020 3a66 . :f │ │ │ +0002d0e0: 6f72 6567 726f 756e 6420 2262 6c61 636b oreground "black │ │ │ +0002d0f0: 220a 2020 2020 2020 2020 2020 2020 203a ". : │ │ │ +0002d100: 6261 636b 6772 6f75 6e64 2022 7965 6c6c background "yell │ │ │ +0002d110: 6f77 2229 0a20 2020 2020 2020 2020 2020 ow"). │ │ │ +0002d120: 2028 6167 6461 322d 6869 6768 6c69 6768 (agda2-highligh │ │ │ +0002d130: 742d 7465 726d 696e 6174 696f 6e2d 7072 t-termination-pr │ │ │ +0002d140: 6f62 6c65 6d2d 6661 6365 0a20 2020 2020 oblem-face. │ │ │ +0002d150: 2020 2020 2020 2020 3a66 6f72 6567 726f :foregro │ │ │ +0002d160: 756e 6420 2262 6c61 636b 220a 2020 2020 und "black". │ │ │ +0002d170: 2020 2020 2020 2020 203a 6261 636b 6772 :backgr │ │ │ +0002d180: 6f75 6e64 2022 6c69 6768 7420 7361 6c6d ound "light salm │ │ │ +0002d190: 6f6e 2229 0a20 2020 2020 2020 2020 2020 on"). │ │ │ +0002d1a0: 2028 6167 6461 322d 6869 6768 6c69 6768 (agda2-highligh │ │ │ +0002d1b0: 742d 706f 7369 7469 7669 7479 2d70 726f t-positivity-pro │ │ │ +0002d1c0: 626c 656d 2d66 6163 650a 2020 2020 2020 blem-face. │ │ │ +0002d1d0: 2020 2020 2020 203a 666f 7265 6772 6f75 :foregrou │ │ │ +0002d1e0: 6e64 2022 626c 6163 6b22 0a20 2020 2020 nd "black". │ │ │ +0002d1f0: 2020 2020 2020 2020 3a62 6163 6b67 726f :backgro │ │ │ +0002d200: 756e 6420 2270 6572 7522 290a 2020 2020 und "peru"). │ │ │ +0002d210: 2020 2020 2020 2020 2861 6764 6132 2d68 (agda2-h │ │ │ +0002d220: 6967 686c 6967 6874 2d69 6e63 6f6d 706c ighlight-incompl │ │ │ +0002d230: 6574 652d 7061 7474 6572 6e2d 6661 6365 ete-pattern-face │ │ │ +0002d240: 0a20 2020 2020 2020 2020 2020 2020 3a66 . :f │ │ │ +0002d250: 6f72 6567 726f 756e 6420 2262 6c61 636b oreground "black │ │ │ +0002d260: 220a 2020 2020 2020 2020 2020 2020 203a ". : │ │ │ +0002d270: 6261 636b 6772 6f75 6e64 2022 7075 7270 background "purp │ │ │ +0002d280: 6c65 2229 0a20 2020 2020 2020 2020 2020 le"). │ │ │ +0002d290: 2028 6167 6461 322d 6869 6768 6c69 6768 (agda2-highligh │ │ │ +0002d2a0: 742d 7479 7065 6368 6563 6b73 2d66 6163 t-typechecks-fac │ │ │ +0002d2b0: 650a 2020 2020 2020 2020 2020 2020 203a e. : │ │ │ +0002d2c0: 666f 7265 6772 6f75 6e64 2022 626c 6163 foreground "blac │ │ │ +0002d2d0: 6b22 0a20 2020 2020 2020 2020 2020 2020 k". │ │ │ +0002d2e0: 3a62 6163 6b67 726f 756e 6420 226c 6967 :background "lig │ │ │ +0002d2f0: 6874 2062 6c75 6522 2929 290a 2020 2020 ht blue"))). │ │ │ +0002d300: 2020 2020 2028 2865 7175 616c 2067 726f ((equal gro │ │ │ +0002d310: 7570 2027 6465 6661 756c 742d 6661 6365 up 'default-face │ │ │ +0002d320: 7329 0a20 2020 2020 2020 2020 2028 6c69 s). (li │ │ │ +0002d330: 7374 2028 636f 6e73 2027 6167 6461 322d st (cons 'agda2- │ │ │ +0002d340: 6869 6768 6c69 6768 742d 6b65 7977 6f72 highlight-keywor │ │ │ +0002d350: 642d 6661 6365 0a20 2020 2020 2020 2020 d-face. │ │ │ +0002d360: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ +0002d370: 7374 203a 696e 6865 7269 7420 666f 6e74 st :inherit font │ │ │ +0002d380: 2d6c 6f63 6b2d 6b65 7977 6f72 642d 6661 -lock-keyword-fa │ │ │ +0002d390: 6365 2929 0a20 2020 2020 2020 2020 2020 ce)). │ │ │ +0002d3a0: 2020 2020 2028 636f 6e73 2027 6167 6461 (cons 'agda │ │ │ +0002d3b0: 322d 6869 6768 6c69 6768 742d 7374 7269 2-highlight-stri │ │ │ +0002d3c0: 6e67 2d66 6163 650a 2020 2020 2020 2020 ng-face. │ │ │ +0002d3d0: 2020 2020 2020 2020 2020 2020 2020 286c (l │ │ │ +0002d3e0: 6973 7420 3a69 6e68 6572 6974 2066 6f6e ist :inherit fon │ │ │ +0002d3f0: 742d 6c6f 636b 2d73 7472 696e 672d 6661 t-lock-string-fa │ │ │ +0002d400: 6365 2929 0a20 2020 2020 2020 2020 2020 ce)). │ │ │ +0002d410: 2020 2020 2028 636f 6e73 2027 6167 6461 (cons 'agda │ │ │ +0002d420: 322d 6869 6768 6c69 6768 742d 6e75 6d62 2-highlight-numb │ │ │ +0002d430: 6572 2d66 6163 650a 2020 2020 2020 2020 er-face. │ │ │ +0002d440: 2020 2020 2020 2020 2020 2020 2020 286c (l │ │ │ +0002d450: 6973 7420 3a69 6e68 6572 6974 2066 6f6e ist :inherit fon │ │ │ +0002d460: 742d 6c6f 636b 2d63 6f6e 7374 616e 742d t-lock-constant- │ │ │ +0002d470: 6661 6365 2929 0a20 2020 2020 2020 2020 face)). │ │ │ +0002d480: 2020 2020 2020 2028 636f 6e73 2027 6167 (cons 'ag │ │ │ +0002d490: 6461 322d 6869 6768 6c69 6768 742d 7379 da2-highlight-sy │ │ │ +0002d4a0: 6d62 6f6c 2d66 6163 650a 2020 2020 2020 mbol-face. │ │ │ +0002d4b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +0002d4c0: 286c 6973 7420 3a69 6e68 6572 6974 2066 (list :inherit f │ │ │ +0002d4d0: 6f6e 742d 6c6f 636b 2d6b 6579 776f 7264 ont-lock-keyword │ │ │ +0002d4e0: 2d66 6163 6529 290a 2020 2020 2020 2020 -face)). │ │ │ +0002d4f0: 2020 2020 2020 2020 2863 6f6e 7320 2761 (cons 'a │ │ │ +0002d500: 6764 6132 2d68 6967 686c 6967 6874 2d70 gda2-highlight-p │ │ │ +0002d510: 7269 6d69 7469 7665 2d74 7970 652d 6661 rimitive-type-fa │ │ │ +0002d520: 6365 0a20 2020 2020 2020 2020 2020 2020 ce. │ │ │ +0002d530: 2020 2020 2020 2020 2028 6c69 7374 203a (list : │ │ │ +0002d540: 696e 6865 7269 7420 666f 6e74 2d6c 6f63 inherit font-loc │ │ │ +0002d550: 6b2d 6b65 7977 6f72 642d 6661 6365 2929 k-keyword-face)) │ │ │ +0002d560: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ +0002d570: 2028 636f 6e73 2027 6167 6461 322d 6869 (cons 'agda2-hi │ │ │ +0002d580: 6768 6c69 6768 742d 626f 756e 642d 7661 ghlight-bound-va │ │ │ +0002d590: 7269 6162 6c65 2d66 6163 650a 2020 2020 riable-face. │ │ │ 0002d5a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0002d5b0: 2028 6c69 7374 203a 696e 6865 7269 7420 (list :inherit │ │ │ -0002d5c0: 666f 6e74 2d6c 6f63 6b2d 7661 7269 6162 font-lock-variab │ │ │ -0002d5d0: 6c65 2d6e 616d 652d 6661 6365 2929 0a20 le-name-face)). │ │ │ -0002d5e0: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ -0002d5f0: 636f 6e73 2027 6167 6461 322d 6869 6768 cons 'agda2-high │ │ │ -0002d600: 6c69 6768 742d 6765 6e65 7261 6c69 7a61 light-generaliza │ │ │ -0002d610: 626c 652d 7661 7269 6162 6c65 2d66 6163 ble-variable-fac │ │ │ -0002d620: 650a 2020 2020 2020 2020 2020 2020 2020 e. │ │ │ -0002d630: 2020 2020 2020 2020 286c 6973 7420 3a69 (list :i │ │ │ -0002d640: 6e68 6572 6974 2066 6f6e 742d 6c6f 636b nherit font-lock │ │ │ -0002d650: 2d76 6172 6961 626c 652d 6e61 6d65 2d66 -variable-name-f │ │ │ -0002d660: 6163 6529 290a 2020 2020 2020 2020 2020 ace)). │ │ │ -0002d670: 2020 2020 2020 2863 6f6e 7320 2761 6764 (cons 'agd │ │ │ -0002d680: 6132 2d68 6967 686c 6967 6874 2d69 6e64 a2-highlight-ind │ │ │ -0002d690: 7563 7469 7665 2d63 6f6e 7374 7275 6374 uctive-construct │ │ │ -0002d6a0: 6f72 2d66 6163 650a 2020 2020 2020 2020 or-face. │ │ │ -0002d6b0: 2020 2020 2020 2020 2020 2020 2020 286c (l │ │ │ -0002d6c0: 6973 7420 3a69 6e68 6572 6974 2066 6f6e ist :inherit fon │ │ │ -0002d6d0: 742d 6c6f 636b 2d74 7970 652d 6661 6365 t-lock-type-face │ │ │ -0002d6e0: 2929 0a20 2020 2020 2020 2020 2020 2020 )). │ │ │ -0002d6f0: 2020 2028 636f 6e73 2027 6167 6461 322d (cons 'agda2- │ │ │ -0002d700: 6869 6768 6c69 6768 742d 636f 696e 6475 highlight-coindu │ │ │ -0002d710: 6374 6976 652d 636f 6e73 7472 7563 746f ctive-constructo │ │ │ -0002d720: 722d 6661 6365 0a20 2020 2020 2020 2020 r-face. │ │ │ -0002d730: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ -0002d740: 7374 203a 696e 6865 7269 7420 666f 6e74 st :inherit font │ │ │ -0002d750: 2d6c 6f63 6b2d 7479 7065 2d66 6163 6529 -lock-type-face) │ │ │ -0002d760: 290a 2020 2020 2020 2020 2020 2020 2020 ). │ │ │ -0002d770: 2020 2863 6f6e 7320 2761 6764 6132 2d68 (cons 'agda2-h │ │ │ -0002d780: 6967 686c 6967 6874 2d64 6174 6174 7970 ighlight-datatyp │ │ │ -0002d790: 652d 6661 6365 0a20 2020 2020 2020 2020 e-face. │ │ │ -0002d7a0: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ -0002d7b0: 7374 203a 696e 6865 7269 7420 666f 6e74 st :inherit font │ │ │ -0002d7c0: 2d6c 6f63 6b2d 7479 7065 2d66 6163 6529 -lock-type-face) │ │ │ -0002d7d0: 290a 2020 2020 2020 2020 2020 2020 2020 ). │ │ │ -0002d7e0: 2020 2863 6f6e 7320 2761 6764 6132 2d68 (cons 'agda2-h │ │ │ -0002d7f0: 6967 686c 6967 6874 2d66 6965 6c64 2d66 ighlight-field-f │ │ │ -0002d800: 6163 650a 2020 2020 2020 2020 2020 2020 ace. │ │ │ -0002d810: 2020 2020 2020 2020 2020 286c 6973 7420 (list │ │ │ -0002d820: 3a69 6e68 6572 6974 2066 6f6e 742d 6c6f :inherit font-lo │ │ │ -0002d830: 636b 2d76 6172 6961 626c 652d 6e61 6d65 ck-variable-name │ │ │ -0002d840: 2d66 6163 6529 290a 2020 2020 2020 2020 -face)). │ │ │ -0002d850: 2020 2020 2020 2020 2863 6f6e 7320 2761 (cons 'a │ │ │ -0002d860: 6764 6132 2d68 6967 686c 6967 6874 2d66 gda2-highlight-f │ │ │ -0002d870: 756e 6374 696f 6e2d 6661 6365 0a20 2020 unction-face. │ │ │ +0002d5b0: 2020 286c 6973 7420 3a69 6e68 6572 6974 (list :inherit │ │ │ +0002d5c0: 2066 6f6e 742d 6c6f 636b 2d76 6172 6961 font-lock-varia │ │ │ +0002d5d0: 626c 652d 6e61 6d65 2d66 6163 6529 290a ble-name-face)). │ │ │ +0002d5e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +0002d5f0: 2863 6f6e 7320 2761 6764 6132 2d68 6967 (cons 'agda2-hig │ │ │ +0002d600: 686c 6967 6874 2d67 656e 6572 616c 697a hlight-generaliz │ │ │ +0002d610: 6162 6c65 2d76 6172 6961 626c 652d 6661 able-variable-fa │ │ │ +0002d620: 6365 0a20 2020 2020 2020 2020 2020 2020 ce. │ │ │ +0002d630: 2020 2020 2020 2020 2028 6c69 7374 203a (list : │ │ │ +0002d640: 696e 6865 7269 7420 666f 6e74 2d6c 6f63 inherit font-loc │ │ │ +0002d650: 6b2d 7661 7269 6162 6c65 2d6e 616d 652d k-variable-name- │ │ │ +0002d660: 6661 6365 2929 0a20 2020 2020 2020 2020 face)). │ │ │ +0002d670: 2020 2020 2020 2028 636f 6e73 2027 6167 (cons 'ag │ │ │ +0002d680: 6461 322d 6869 6768 6c69 6768 742d 696e da2-highlight-in │ │ │ +0002d690: 6475 6374 6976 652d 636f 6e73 7472 7563 ductive-construc │ │ │ +0002d6a0: 746f 722d 6661 6365 0a20 2020 2020 2020 tor-face. │ │ │ +0002d6b0: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ +0002d6c0: 6c69 7374 203a 696e 6865 7269 7420 666f list :inherit fo │ │ │ +0002d6d0: 6e74 2d6c 6f63 6b2d 7479 7065 2d66 6163 nt-lock-type-fac │ │ │ +0002d6e0: 6529 290a 2020 2020 2020 2020 2020 2020 e)). │ │ │ +0002d6f0: 2020 2020 2863 6f6e 7320 2761 6764 6132 (cons 'agda2 │ │ │ +0002d700: 2d68 6967 686c 6967 6874 2d63 6f69 6e64 -highlight-coind │ │ │ +0002d710: 7563 7469 7665 2d63 6f6e 7374 7275 6374 uctive-construct │ │ │ +0002d720: 6f72 2d66 6163 650a 2020 2020 2020 2020 or-face. │ │ │ +0002d730: 2020 2020 2020 2020 2020 2020 2020 286c (l │ │ │ +0002d740: 6973 7420 3a69 6e68 6572 6974 2066 6f6e ist :inherit fon │ │ │ +0002d750: 742d 6c6f 636b 2d74 7970 652d 6661 6365 t-lock-type-face │ │ │ +0002d760: 2929 0a20 2020 2020 2020 2020 2020 2020 )). │ │ │ +0002d770: 2020 2028 636f 6e73 2027 6167 6461 322d (cons 'agda2- │ │ │ +0002d780: 6869 6768 6c69 6768 742d 6461 7461 7479 highlight-dataty │ │ │ +0002d790: 7065 2d66 6163 650a 2020 2020 2020 2020 pe-face. │ │ │ +0002d7a0: 2020 2020 2020 2020 2020 2020 2020 286c (l │ │ │ +0002d7b0: 6973 7420 3a69 6e68 6572 6974 2066 6f6e ist :inherit fon │ │ │ +0002d7c0: 742d 6c6f 636b 2d74 7970 652d 6661 6365 t-lock-type-face │ │ │ +0002d7d0: 2929 0a20 2020 2020 2020 2020 2020 2020 )). │ │ │ +0002d7e0: 2020 2028 636f 6e73 2027 6167 6461 322d (cons 'agda2- │ │ │ +0002d7f0: 6869 6768 6c69 6768 742d 6669 656c 642d highlight-field- │ │ │ +0002d800: 6661 6365 0a20 2020 2020 2020 2020 2020 face. │ │ │ +0002d810: 2020 2020 2020 2020 2020 2028 6c69 7374 (list │ │ │ +0002d820: 203a 696e 6865 7269 7420 666f 6e74 2d6c :inherit font-l │ │ │ +0002d830: 6f63 6b2d 7661 7269 6162 6c65 2d6e 616d ock-variable-nam │ │ │ +0002d840: 652d 6661 6365 2929 0a20 2020 2020 2020 e-face)). │ │ │ +0002d850: 2020 2020 2020 2020 2028 636f 6e73 2027 (cons ' │ │ │ +0002d860: 6167 6461 322d 6869 6768 6c69 6768 742d agda2-highlight- │ │ │ +0002d870: 6675 6e63 7469 6f6e 2d66 6163 650a 2020 function-face. │ │ │ 0002d880: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0002d890: 2020 2028 6c69 7374 203a 696e 6865 7269 (list :inheri │ │ │ -0002d8a0: 7420 666f 6e74 2d6c 6f63 6b2d 6675 6e63 t font-lock-func │ │ │ -0002d8b0: 7469 6f6e 2d6e 616d 652d 6661 6365 2929 tion-name-face)) │ │ │ -0002d8c0: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ -0002d8d0: 2028 636f 6e73 2027 6167 6461 322d 6869 (cons 'agda2-hi │ │ │ -0002d8e0: 6768 6c69 6768 742d 6d6f 6475 6c65 2d66 ghlight-module-f │ │ │ -0002d8f0: 6163 650a 2020 2020 2020 2020 2020 2020 ace. │ │ │ -0002d900: 2020 2020 2020 2020 2020 286c 6973 7420 (list │ │ │ -0002d910: 3a69 6e68 6572 6974 2066 6f6e 742d 6c6f :inherit font-lo │ │ │ -0002d920: 636b 2d74 7970 652d 6661 6365 2929 0a20 ck-type-face)). │ │ │ -0002d930: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ -0002d940: 636f 6e73 2027 6167 6461 322d 6869 6768 cons 'agda2-high │ │ │ -0002d950: 6c69 6768 742d 706f 7374 756c 6174 652d light-postulate- │ │ │ -0002d960: 6661 6365 0a20 2020 2020 2020 2020 2020 face. │ │ │ -0002d970: 2020 2020 2020 2020 2020 2028 6c69 7374 (list │ │ │ -0002d980: 203a 696e 6865 7269 7420 666f 6e74 2d6c :inherit font-l │ │ │ -0002d990: 6f63 6b2d 7479 7065 2d66 6163 6529 290a ock-type-face)). │ │ │ -0002d9a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0002d9b0: 2863 6f6e 7320 2761 6764 6132 2d68 6967 (cons 'agda2-hig │ │ │ -0002d9c0: 686c 6967 6874 2d70 7269 6d69 7469 7665 hlight-primitive │ │ │ -0002d9d0: 2d66 6163 650a 2020 2020 2020 2020 2020 -face. │ │ │ -0002d9e0: 2020 2020 2020 2020 2020 2020 286c 6973 (lis │ │ │ -0002d9f0: 7420 3a69 6e68 6572 6974 2066 6f6e 742d t :inherit font- │ │ │ -0002da00: 6c6f 636b 2d63 6f6e 7374 616e 742d 6661 lock-constant-fa │ │ │ -0002da10: 6365 2929 0a20 2020 2020 2020 2020 2020 ce)). │ │ │ -0002da20: 2020 2020 2028 636f 6e73 2027 6167 6461 (cons 'agda │ │ │ -0002da30: 322d 6869 6768 6c69 6768 742d 6d61 6372 2-highlight-macr │ │ │ -0002da40: 6f2d 6661 6365 0a20 2020 2020 2020 2020 o-face. │ │ │ -0002da50: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ -0002da60: 7374 203a 696e 6865 7269 7420 666f 6e74 st :inherit font │ │ │ -0002da70: 2d6c 6f63 6b2d 6675 6e63 7469 6f6e 2d6e -lock-function-n │ │ │ -0002da80: 616d 652d 6661 6365 2929 0a20 2020 2020 ame-face)). │ │ │ -0002da90: 2020 2020 2020 2020 2020 2028 636f 6e73 (cons │ │ │ -0002daa0: 2027 6167 6461 322d 6869 6768 6c69 6768 'agda2-highligh │ │ │ -0002dab0: 742d 7265 636f 7264 2d66 6163 650a 2020 t-record-face. │ │ │ +0002d890: 2020 2020 286c 6973 7420 3a69 6e68 6572 (list :inher │ │ │ +0002d8a0: 6974 2066 6f6e 742d 6c6f 636b 2d66 756e it font-lock-fun │ │ │ +0002d8b0: 6374 696f 6e2d 6e61 6d65 2d66 6163 6529 ction-name-face) │ │ │ +0002d8c0: 290a 2020 2020 2020 2020 2020 2020 2020 ). │ │ │ +0002d8d0: 2020 2863 6f6e 7320 2761 6764 6132 2d68 (cons 'agda2-h │ │ │ +0002d8e0: 6967 686c 6967 6874 2d6d 6f64 756c 652d ighlight-module- │ │ │ +0002d8f0: 6661 6365 0a20 2020 2020 2020 2020 2020 face. │ │ │ +0002d900: 2020 2020 2020 2020 2020 2028 6c69 7374 (list │ │ │ +0002d910: 203a 696e 6865 7269 7420 666f 6e74 2d6c :inherit font-l │ │ │ +0002d920: 6f63 6b2d 7479 7065 2d66 6163 6529 290a ock-type-face)). │ │ │ +0002d930: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +0002d940: 2863 6f6e 7320 2761 6764 6132 2d68 6967 (cons 'agda2-hig │ │ │ +0002d950: 686c 6967 6874 2d70 6f73 7475 6c61 7465 hlight-postulate │ │ │ +0002d960: 2d66 6163 650a 2020 2020 2020 2020 2020 -face. │ │ │ +0002d970: 2020 2020 2020 2020 2020 2020 286c 6973 (lis │ │ │ +0002d980: 7420 3a69 6e68 6572 6974 2066 6f6e 742d t :inherit font- │ │ │ +0002d990: 6c6f 636b 2d74 7970 652d 6661 6365 2929 lock-type-face)) │ │ │ +0002d9a0: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ +0002d9b0: 2028 636f 6e73 2027 6167 6461 322d 6869 (cons 'agda2-hi │ │ │ +0002d9c0: 6768 6c69 6768 742d 7072 696d 6974 6976 ghlight-primitiv │ │ │ +0002d9d0: 652d 6661 6365 0a20 2020 2020 2020 2020 e-face. │ │ │ +0002d9e0: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ +0002d9f0: 7374 203a 696e 6865 7269 7420 666f 6e74 st :inherit font │ │ │ +0002da00: 2d6c 6f63 6b2d 636f 6e73 7461 6e74 2d66 -lock-constant-f │ │ │ +0002da10: 6163 6529 290a 2020 2020 2020 2020 2020 ace)). │ │ │ +0002da20: 2020 2020 2020 2863 6f6e 7320 2761 6764 (cons 'agd │ │ │ +0002da30: 6132 2d68 6967 686c 6967 6874 2d6d 6163 a2-highlight-mac │ │ │ +0002da40: 726f 2d66 6163 650a 2020 2020 2020 2020 ro-face. │ │ │ +0002da50: 2020 2020 2020 2020 2020 2020 2020 286c (l │ │ │ +0002da60: 6973 7420 3a69 6e68 6572 6974 2066 6f6e ist :inherit fon │ │ │ +0002da70: 742d 6c6f 636b 2d66 756e 6374 696f 6e2d t-lock-function- │ │ │ +0002da80: 6e61 6d65 2d66 6163 6529 290a 2020 2020 name-face)). │ │ │ +0002da90: 2020 2020 2020 2020 2020 2020 2863 6f6e (con │ │ │ +0002daa0: 7320 2761 6764 6132 2d68 6967 686c 6967 s 'agda2-highlig │ │ │ +0002dab0: 6874 2d72 6563 6f72 642d 6661 6365 0a20 ht-record-face. │ │ │ 0002dac0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0002dad0: 2020 2020 286c 6973 7420 3a69 6e68 6572 (list :inher │ │ │ -0002dae0: 6974 2066 6f6e 742d 6c6f 636b 2d76 6172 it font-lock-var │ │ │ -0002daf0: 6961 626c 652d 6e61 6d65 2d66 6163 6529 iable-name-face) │ │ │ -0002db00: 290a 2020 2020 2020 2020 2020 2020 2020 ). │ │ │ -0002db10: 2020 2863 6f6e 7320 2761 6764 6132 2d68 (cons 'agda2-h │ │ │ -0002db20: 6967 686c 6967 6874 2d64 6f74 7465 642d ighlight-dotted- │ │ │ -0002db30: 6661 6365 0a20 2020 2020 2020 2020 2020 face. │ │ │ -0002db40: 2020 2020 2020 2020 2020 2028 6c69 7374 (list │ │ │ -0002db50: 203a 696e 6865 7269 7420 666f 6e74 2d6c :inherit font-l │ │ │ -0002db60: 6f63 6b2d 7661 7269 6162 6c65 2d6e 616d ock-variable-nam │ │ │ -0002db70: 652d 6661 6365 2929 0a20 2020 2020 2020 e-face)). │ │ │ -0002db80: 2020 2020 2020 2020 2028 636f 6e73 2027 (cons ' │ │ │ -0002db90: 6167 6461 322d 6869 6768 6c69 6768 742d agda2-highlight- │ │ │ -0002dba0: 6f70 6572 6174 6f72 2d66 6163 650a 2020 operator-face. │ │ │ +0002dad0: 2020 2020 2028 6c69 7374 203a 696e 6865 (list :inhe │ │ │ +0002dae0: 7269 7420 666f 6e74 2d6c 6f63 6b2d 7661 rit font-lock-va │ │ │ +0002daf0: 7269 6162 6c65 2d6e 616d 652d 6661 6365 riable-name-face │ │ │ +0002db00: 2929 0a20 2020 2020 2020 2020 2020 2020 )). │ │ │ +0002db10: 2020 2028 636f 6e73 2027 6167 6461 322d (cons 'agda2- │ │ │ +0002db20: 6869 6768 6c69 6768 742d 646f 7474 6564 highlight-dotted │ │ │ +0002db30: 2d66 6163 650a 2020 2020 2020 2020 2020 -face. │ │ │ +0002db40: 2020 2020 2020 2020 2020 2020 286c 6973 (lis │ │ │ +0002db50: 7420 3a69 6e68 6572 6974 2066 6f6e 742d t :inherit font- │ │ │ +0002db60: 6c6f 636b 2d76 6172 6961 626c 652d 6e61 lock-variable-na │ │ │ +0002db70: 6d65 2d66 6163 6529 290a 2020 2020 2020 me-face)). │ │ │ +0002db80: 2020 2020 2020 2020 2020 2863 6f6e 7320 (cons │ │ │ +0002db90: 2761 6764 6132 2d68 6967 686c 6967 6874 'agda2-highlight │ │ │ +0002dba0: 2d6f 7065 7261 746f 722d 6661 6365 0a20 -operator-face. │ │ │ 0002dbb0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0002dbc0: 2020 2020 286c 6973 7420 3a69 6e68 6572 (list :inher │ │ │ -0002dbd0: 6974 2066 6f6e 742d 6c6f 636b 2d66 756e it font-lock-fun │ │ │ -0002dbe0: 6374 696f 6e2d 6e61 6d65 2d66 6163 6529 ction-name-face) │ │ │ -0002dbf0: 290a 2020 2020 2020 2020 2020 2020 2020 ). │ │ │ -0002dc00: 2020 2863 6f6e 7320 2761 6764 6132 2d68 (cons 'agda2-h │ │ │ -0002dc10: 6967 686c 6967 6874 2d65 7272 6f72 2d66 ighlight-error-f │ │ │ -0002dc20: 6163 650a 2020 2020 2020 2020 2020 2020 ace. │ │ │ -0002dc30: 2020 2020 2020 2020 2020 286c 6973 7420 (list │ │ │ -0002dc40: 3a69 6e68 6572 6974 2066 6f6e 742d 6c6f :inherit font-lo │ │ │ -0002dc50: 636b 2d77 6172 6e69 6e67 2d66 6163 6529 ck-warning-face) │ │ │ -0002dc60: 290a 2020 2020 2020 2020 2020 2020 2020 ). │ │ │ -0002dc70: 2020 2863 6f6e 7320 2761 6764 6132 2d68 (cons 'agda2-h │ │ │ -0002dc80: 6967 686c 6967 6874 2d74 7970 6563 6865 ighlight-typeche │ │ │ -0002dc90: 636b 732d 6661 6365 0a20 2020 2020 2020 cks-face. │ │ │ -0002dca0: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ -0002dcb0: 6c69 7374 203a 696e 6865 7269 7420 666f list :inherit fo │ │ │ -0002dcc0: 6e74 2d6c 6f63 6b2d 7479 7065 2d66 6163 nt-lock-type-fac │ │ │ -0002dcd0: 6529 290a 2020 2020 2020 2020 2020 2020 e)). │ │ │ -0002dce0: 2020 2020 2863 6f6e 7320 2761 6764 6132 (cons 'agda2 │ │ │ -0002dcf0: 2d68 6967 686c 6967 6874 2d74 7970 6563 -highlight-typec │ │ │ -0002dd00: 6865 636b 696e 672d 6661 6365 0a20 2020 hecking-face. │ │ │ +0002dbc0: 2020 2020 2028 6c69 7374 203a 696e 6865 (list :inhe │ │ │ +0002dbd0: 7269 7420 666f 6e74 2d6c 6f63 6b2d 6675 rit font-lock-fu │ │ │ +0002dbe0: 6e63 7469 6f6e 2d6e 616d 652d 6661 6365 nction-name-face │ │ │ +0002dbf0: 2929 0a20 2020 2020 2020 2020 2020 2020 )). │ │ │ +0002dc00: 2020 2028 636f 6e73 2027 6167 6461 322d (cons 'agda2- │ │ │ +0002dc10: 6869 6768 6c69 6768 742d 6572 726f 722d highlight-error- │ │ │ +0002dc20: 6661 6365 0a20 2020 2020 2020 2020 2020 face. │ │ │ +0002dc30: 2020 2020 2020 2020 2020 2028 6c69 7374 (list │ │ │ +0002dc40: 203a 696e 6865 7269 7420 666f 6e74 2d6c :inherit font-l │ │ │ +0002dc50: 6f63 6b2d 7761 726e 696e 672d 6661 6365 ock-warning-face │ │ │ +0002dc60: 2929 0a20 2020 2020 2020 2020 2020 2020 )). │ │ │ +0002dc70: 2020 2028 636f 6e73 2027 6167 6461 322d (cons 'agda2- │ │ │ +0002dc80: 6869 6768 6c69 6768 742d 7479 7065 6368 highlight-typech │ │ │ +0002dc90: 6563 6b73 2d66 6163 650a 2020 2020 2020 ecks-face. │ │ │ +0002dca0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +0002dcb0: 286c 6973 7420 3a69 6e68 6572 6974 2066 (list :inherit f │ │ │ +0002dcc0: 6f6e 742d 6c6f 636b 2d74 7970 652d 6661 ont-lock-type-fa │ │ │ +0002dcd0: 6365 2929 0a20 2020 2020 2020 2020 2020 ce)). │ │ │ +0002dce0: 2020 2020 2028 636f 6e73 2027 6167 6461 (cons 'agda │ │ │ +0002dcf0: 322d 6869 6768 6c69 6768 742d 7479 7065 2-highlight-type │ │ │ +0002dd00: 6368 6563 6b69 6e67 2d66 6163 650a 2020 checking-face. │ │ │ 0002dd10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0002dd20: 2020 2028 6c69 7374 203a 696e 6865 7269 (list :inheri │ │ │ -0002dd30: 7420 666f 6e74 2d6c 6f63 6b2d 7072 6570 t font-lock-prep │ │ │ -0002dd40: 726f 6365 7373 6f72 2d66 6163 6529 2929 rocessor-face))) │ │ │ -0002dd50: 2929 2929 0a0a 3b3b 3b3b 3b3b 3b3b 3b3b ))))..;;;;;;;;;; │ │ │ +0002dd20: 2020 2020 286c 6973 7420 3a69 6e68 6572 (list :inher │ │ │ +0002dd30: 6974 2066 6f6e 742d 6c6f 636b 2d70 7265 it font-lock-pre │ │ │ +0002dd40: 7072 6f63 6573 736f 722d 6661 6365 2929 processor-face)) │ │ │ +0002dd50: 2929 2929 290a 0a3b 3b3b 3b3b 3b3b 3b3b )))))..;;;;;;;;; │ │ │ 0002dd60: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 0002dd70: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 0002dd80: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ -0002dd90: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 0a3b ;;;;;;;;;;;;;;.; │ │ │ -0002dda0: 3b20 4661 6365 730a 0a28 6465 6663 7573 ; Faces..(defcus │ │ │ -0002ddb0: 746f 6d20 6167 6461 322d 6869 6768 6c69 tom agda2-highli │ │ │ -0002ddc0: 6768 742d 6661 6365 2d67 726f 7570 7320 ght-face-groups │ │ │ -0002ddd0: 6e69 6c0a 2020 2243 6f6c 6f75 7220 7363 nil. "Colour sc │ │ │ -0002dde0: 6865 6d65 2075 7365 6420 696e 2041 6764 heme used in Agd │ │ │ -0002ddf0: 6120 6275 6666 6572 732e 0a43 6861 6e67 a buffers..Chang │ │ │ -0002de00: 6573 2074 6f20 7468 6973 2076 6172 6961 es to this varia │ │ │ -0002de10: 626c 6520 6d61 7920 6e6f 7420 7461 6b65 ble may not take │ │ │ -0002de20: 2066 756c 6c20 6566 6665 6374 2075 6e74 full effect unt │ │ │ -0002de30: 696c 2079 6f75 2068 6176 650a 7265 7374 il you have.rest │ │ │ -0002de40: 6172 7465 6420 456d 6163 732e 204e 6f74 arted Emacs. Not │ │ │ -0002de50: 6520 616c 736f 2074 6861 7420 6966 2079 e also that if y │ │ │ -0002de60: 6f75 2061 7265 2075 7369 6e67 2074 6865 ou are using the │ │ │ -0002de70: 0a64 6566 6175 6c74 2d66 6163 6573 206f .default-faces o │ │ │ -0002de80: 7074 696f 6e20 616e 6420 6368 616e 6765 ption and change │ │ │ -0002de90: 2079 6f75 7220 636f 6c6f 7572 2074 6865 your colour the │ │ │ -0002dea0: 6d65 2c20 7468 656e 2074 6865 0a63 6861 me, then the.cha │ │ │ -0002deb0: 6e67 6573 206d 6179 206e 6f74 2074 616b nges may not tak │ │ │ -0002dec0: 6520 6566 6665 6374 2069 6e20 4167 6461 e effect in Agda │ │ │ -0002ded0: 2062 7566 6665 7273 2075 6e74 696c 2079 buffers until y │ │ │ -0002dee0: 6f75 2068 6176 650a 7265 7374 6172 7465 ou have.restarte │ │ │ -0002def0: 6420 456d 6163 732e 220a 2020 3a74 7970 d Emacs.". :typ │ │ │ -0002df00: 6520 2728 6368 6f69 6365 0a20 2020 2020 e '(choice. │ │ │ -0002df10: 2020 2020 2028 636f 6e73 7420 3a74 6167 (const :tag │ │ │ -0002df20: 2022 5573 6520 7468 6520 7365 7474 696e "Use the settin │ │ │ -0002df30: 6773 2069 6e20 7468 6520 5c22 4167 6461 gs in the \"Agda │ │ │ -0002df40: 3220 4869 6768 6c69 6768 7420 4661 6365 2 Highlight Face │ │ │ -0002df50: 735c 2220 7375 6267 726f 7570 2e22 206e s\" subgroup." n │ │ │ -0002df60: 696c 290a 2020 2020 2020 2020 2020 2863 il). (c │ │ │ -0002df70: 6f6e 7374 203a 7461 6720 2255 7365 2061 onst :tag "Use a │ │ │ -0002df80: 6e20 6170 7072 6f78 696d 6174 696f 6e20 n approximation │ │ │ -0002df90: 6f66 2043 6f6e 6f72 204d 6342 7269 6465 of Conor McBride │ │ │ -0002dfa0: 2773 2063 6f6c 6f75 7220 7363 6865 6d65 's colour scheme │ │ │ -0002dfb0: 2e22 0a20 2020 2020 2020 2020 2020 2020 .". │ │ │ -0002dfc0: 2020 2020 636f 6e6f 7229 0a20 2020 2020 conor). │ │ │ -0002dfd0: 2020 2020 2028 636f 6e73 7420 3a74 6167 (const :tag │ │ │ -0002dfe0: 2022 5573 6520 7369 6d70 6c69 6669 6564 "Use simplified │ │ │ -0002dff0: 2068 6967 686c 6967 6874 696e 6720 616e highlighting an │ │ │ -0002e000: 6420 6465 6661 756c 7420 666f 6e74 2d6c d default font-l │ │ │ -0002e010: 6f63 6b20 6661 6365 732e 220a 2020 2020 ock faces.". │ │ │ -0002e020: 2020 2020 2020 2020 2020 2020 2064 6566 def │ │ │ -0002e030: 6175 6c74 2d66 6163 6573 2929 0a20 203a ault-faces)). : │ │ │ -0002e040: 6772 6f75 7020 2761 6764 6132 2d68 6967 group 'agda2-hig │ │ │ -0002e050: 686c 6967 6874 0a20 203a 7365 7420 2761 hlight. :set 'a │ │ │ -0002e060: 6764 6132 2d68 6967 686c 6967 6874 2d73 gda2-highlight-s │ │ │ -0002e070: 6574 2d66 6163 6573 290a 0a28 6465 6667 et-faces)..(defg │ │ │ -0002e080: 726f 7570 2061 6764 6132 2d68 6967 686c roup agda2-highl │ │ │ -0002e090: 6967 6874 2d66 6163 6573 206e 696c 0a20 ight-faces nil. │ │ │ -0002e0a0: 2022 4661 6365 7320 7573 6564 2074 6f20 "Faces used to │ │ │ -0002e0b0: 6869 6768 6c69 6768 7420 4167 6461 2063 highlight Agda c │ │ │ -0002e0c0: 6f64 652e 0a49 6620 6061 6764 6132 2d68 ode..If `agda2-h │ │ │ -0002e0d0: 6967 686c 6967 6874 2d66 6163 652d 6772 ighlight-face-gr │ │ │ -0002e0e0: 6f75 7073 2720 6973 206e 696c 2e22 0a20 oups' is nil.". │ │ │ -0002e0f0: 203a 6772 6f75 7020 2761 6764 6132 2d68 :group 'agda2-h │ │ │ -0002e100: 6967 686c 6967 6874 290a 0a28 6465 6666 ighlight)..(deff │ │ │ -0002e110: 6163 6520 6167 6461 322d 6869 6768 6c69 ace agda2-highli │ │ │ -0002e120: 6768 742d 6b65 7977 6f72 642d 6661 6365 ght-keyword-face │ │ │ -0002e130: 0a20 2027 2828 2828 6261 636b 6772 6f75 . '((((backgrou │ │ │ -0002e140: 6e64 206c 6967 6874 2929 0a20 2020 2020 nd light)). │ │ │ -0002e150: 283a 666f 7265 6772 6f75 6e64 2022 4461 (:foreground "Da │ │ │ -0002e160: 726b 4f72 616e 6765 3322 2929 0a20 2020 rkOrange3")). │ │ │ -0002e170: 2028 2828 6261 636b 6772 6f75 6e64 2064 (((background d │ │ │ -0002e180: 6172 6b29 290a 2020 2020 2028 3a66 6f72 ark)). (:for │ │ │ -0002e190: 6567 726f 756e 6420 2223 4646 3939 3332 eground "#FF9932 │ │ │ -0002e1a0: 2229 2929 0a20 2022 5468 6520 6661 6365 "))). "The face │ │ │ -0002e1b0: 2075 7365 6420 666f 7220 6b65 7977 6f72 used for keywor │ │ │ -0002e1c0: 6473 2e22 0a20 203a 6772 6f75 7020 2761 ds.". :group 'a │ │ │ -0002e1d0: 6764 6132 2d68 6967 686c 6967 6874 2d66 gda2-highlight-f │ │ │ -0002e1e0: 6163 6573 290a 0a28 6465 6666 6163 6520 aces)..(defface │ │ │ -0002e1f0: 6167 6461 322d 6869 6768 6c69 6768 742d agda2-highlight- │ │ │ -0002e200: 7374 7269 6e67 2d66 6163 650a 2020 2728 string-face. '( │ │ │ -0002e210: 2828 2862 6163 6b67 726f 756e 6420 6c69 (((background li │ │ │ -0002e220: 6768 7429 290a 2020 2020 2028 3a66 6f72 ght)). (:for │ │ │ -0002e230: 6567 726f 756e 6420 2266 6972 6562 7269 eground "firebri │ │ │ -0002e240: 636b 2229 290a 2020 2020 2828 2862 6163 ck")). (((bac │ │ │ -0002e250: 6b67 726f 756e 6420 6461 726b 2929 0a20 kground dark)). │ │ │ -0002e260: 2020 2020 283a 666f 7265 6772 6f75 6e64 (:foreground │ │ │ -0002e270: 2022 2344 4434 4434 4422 2929 290a 2020 "#DD4D4D"))). │ │ │ -0002e280: 2254 6865 2066 6163 6520 7573 6564 2066 "The face used f │ │ │ -0002e290: 6f72 2073 7472 696e 6773 2e22 0a20 203a or strings.". : │ │ │ -0002e2a0: 6772 6f75 7020 2761 6764 6132 2d68 6967 group 'agda2-hig │ │ │ -0002e2b0: 686c 6967 6874 2d66 6163 6573 290a 0a28 hlight-faces)..( │ │ │ -0002e2c0: 6465 6666 6163 6520 6167 6461 322d 6869 defface agda2-hi │ │ │ -0002e2d0: 6768 6c69 6768 742d 6e75 6d62 6572 2d66 ghlight-number-f │ │ │ -0002e2e0: 6163 650a 2020 2728 2828 2862 6163 6b67 ace. '((((backg │ │ │ -0002e2f0: 726f 756e 6420 6c69 6768 7429 290a 2020 round light)). │ │ │ -0002e300: 2020 2028 3a66 6f72 6567 726f 756e 6420 (:foreground │ │ │ -0002e310: 2270 7572 706c 6522 2929 0a20 2020 2028 "purple")). ( │ │ │ -0002e320: 2828 6261 636b 6772 6f75 6e64 2064 6172 ((background dar │ │ │ -0002e330: 6b29 290a 2020 2020 2028 3a66 6f72 6567 k)). (:foreg │ │ │ -0002e340: 726f 756e 6420 2223 3930 3130 4530 2229 round "#9010E0") │ │ │ -0002e350: 2929 0a20 2022 5468 6520 6661 6365 2075 )). "The face u │ │ │ -0002e360: 7365 6420 666f 7220 6e75 6d62 6572 732e sed for numbers. │ │ │ -0002e370: 220a 2020 3a67 726f 7570 2027 6167 6461 ". :group 'agda │ │ │ -0002e380: 322d 6869 6768 6c69 6768 742d 6661 6365 2-highlight-face │ │ │ -0002e390: 7329 0a0a 2864 6566 6661 6365 2061 6764 s)..(defface agd │ │ │ -0002e3a0: 6132 2d68 6967 686c 6967 6874 2d73 796d a2-highlight-sym │ │ │ -0002e3b0: 626f 6c2d 6661 6365 0a20 2027 2828 2828 bol-face. '(((( │ │ │ -0002e3c0: 6261 636b 6772 6f75 6e64 206c 6967 6874 background light │ │ │ -0002e3d0: 2929 0a20 2020 2020 283a 666f 7265 6772 )). (:foregr │ │ │ -0002e3e0: 6f75 6e64 2022 6772 6179 3235 2229 290a ound "gray25")). │ │ │ -0002e3f0: 2020 2020 2828 2862 6163 6b67 726f 756e (((backgroun │ │ │ -0002e400: 6420 6461 726b 2929 0a20 2020 2020 283a d dark)). (: │ │ │ -0002e410: 666f 7265 6772 6f75 6e64 2022 6772 6179 foreground "gray │ │ │ -0002e420: 3735 2229 2929 0a20 2022 5468 6520 6661 75"))). "The fa │ │ │ -0002e430: 6365 2075 7365 6420 666f 7220 7379 6d62 ce used for symb │ │ │ -0002e440: 6f6c 7320 6c69 6b65 2066 6f72 616c 6c2c ols like forall, │ │ │ -0002e450: 203d 2c20 2d3e 2c20 6574 632e 220a 2020 =, ->, etc.". │ │ │ -0002e460: 3a67 726f 7570 2027 6167 6461 322d 6869 :group 'agda2-hi │ │ │ -0002e470: 6768 6c69 6768 742d 6661 6365 7329 0a0a ghlight-faces).. │ │ │ -0002e480: 2864 6566 6661 6365 2061 6764 6132 2d68 (defface agda2-h │ │ │ -0002e490: 6967 686c 6967 6874 2d70 7269 6d69 7469 ighlight-primiti │ │ │ -0002e4a0: 7665 2d74 7970 652d 6661 6365 0a20 2027 ve-type-face. ' │ │ │ -0002e4b0: 2828 2828 6261 636b 6772 6f75 6e64 206c ((((background l │ │ │ -0002e4c0: 6967 6874 2929 0a20 2020 2020 283a 666f ight)). (:fo │ │ │ -0002e4d0: 7265 6772 6f75 6e64 2022 6d65 6469 756d reground "medium │ │ │ -0002e4e0: 2062 6c75 6522 2929 0a20 2020 2028 2828 blue")). ((( │ │ │ -0002e4f0: 6261 636b 6772 6f75 6e64 2064 6172 6b29 background dark) │ │ │ -0002e500: 290a 2020 2020 2028 3a66 6f72 6567 726f ). (:foregro │ │ │ -0002e510: 756e 6420 2223 3830 3830 4646 2229 2929 und "#8080FF"))) │ │ │ -0002e520: 0a20 2022 5468 6520 6661 6365 2075 7365 . "The face use │ │ │ -0002e530: 6420 666f 7220 7072 696d 6974 6976 6520 d for primitive │ │ │ -0002e540: 7479 7065 7320 286c 696b 6520 5365 7420 types (like Set │ │ │ -0002e550: 616e 6420 5072 6f70 292e 220a 2020 3a67 and Prop).". :g │ │ │ -0002e560: 726f 7570 2027 6167 6461 322d 6869 6768 roup 'agda2-high │ │ │ -0002e570: 6c69 6768 742d 6661 6365 7329 0a0a 2864 light-faces)..(d │ │ │ -0002e580: 6566 6661 6365 2061 6764 6132 2d68 6967 efface agda2-hig │ │ │ -0002e590: 686c 6967 6874 2d62 6f75 6e64 2d76 6172 hlight-bound-var │ │ │ -0002e5a0: 6961 626c 652d 6661 6365 0a20 2027 2828 iable-face. '(( │ │ │ -0002e5b0: 7420 6e69 6c29 290a 2020 2254 6865 2066 t nil)). "The f │ │ │ -0002e5c0: 6163 6520 7573 6564 2066 6f72 2062 6f75 ace used for bou │ │ │ -0002e5d0: 6e64 2076 6172 6961 626c 6573 2e22 0a20 nd variables.". │ │ │ -0002e5e0: 203a 6772 6f75 7020 2761 6764 6132 2d68 :group 'agda2-h │ │ │ -0002e5f0: 6967 686c 6967 6874 2d66 6163 6573 290a ighlight-faces). │ │ │ -0002e600: 0a28 6465 6666 6163 6520 6167 6461 322d .(defface agda2- │ │ │ -0002e610: 6869 6768 6c69 6768 742d 6765 6e65 7261 highlight-genera │ │ │ -0002e620: 6c69 7a61 626c 652d 7661 7269 6162 6c65 lizable-variable │ │ │ -0002e630: 2d66 6163 650a 2020 2728 2874 206e 696c -face. '((t nil │ │ │ -0002e640: 2929 0a20 2022 5468 6520 6661 6365 2075 )). "The face u │ │ │ -0002e650: 7365 6420 666f 7220 6765 6e65 7261 6c69 sed for generali │ │ │ -0002e660: 7a61 626c 6520 7661 7269 6162 6c65 732e zable variables. │ │ │ -0002e670: 220a 2020 3a67 726f 7570 2027 6167 6461 ". :group 'agda │ │ │ -0002e680: 322d 6869 6768 6c69 6768 742d 6661 6365 2-highlight-face │ │ │ -0002e690: 7329 0a0a 2864 6566 6661 6365 2061 6764 s)..(defface agd │ │ │ -0002e6a0: 6132 2d68 6967 686c 6967 6874 2d69 6e64 a2-highlight-ind │ │ │ -0002e6b0: 7563 7469 7665 2d63 6f6e 7374 7275 6374 uctive-construct │ │ │ -0002e6c0: 6f72 2d66 6163 650a 2020 2728 2828 2862 or-face. '((((b │ │ │ -0002e6d0: 6163 6b67 726f 756e 6420 6c69 6768 7429 ackground light) │ │ │ -0002e6e0: 290a 2020 2020 203a 666f 7265 6772 6f75 ). :foregrou │ │ │ -0002e6f0: 6e64 2022 6772 6565 6e34 2229 0a20 2020 nd "green4"). │ │ │ -0002e700: 2028 2828 6261 636b 6772 6f75 6e64 2064 (((background d │ │ │ -0002e710: 6172 6b29 290a 2020 2020 203a 666f 7265 ark)). :fore │ │ │ -0002e720: 6772 6f75 6e64 2022 2332 3943 4332 3922 ground "#29CC29" │ │ │ -0002e730: 2929 0a20 2022 5468 6520 6661 6365 2075 )). "The face u │ │ │ -0002e740: 7365 6420 666f 7220 696e 6475 6374 6976 sed for inductiv │ │ │ -0002e750: 6520 636f 6e73 7472 7563 746f 7273 2e22 e constructors." │ │ │ -0002e760: 0a20 203a 6772 6f75 7020 2761 6764 6132 . :group 'agda2 │ │ │ -0002e770: 2d68 6967 686c 6967 6874 2d66 6163 6573 -highlight-faces │ │ │ -0002e780: 290a 0a28 6465 6666 6163 6520 6167 6461 )..(defface agda │ │ │ -0002e790: 322d 6869 6768 6c69 6768 742d 636f 696e 2-highlight-coin │ │ │ -0002e7a0: 6475 6374 6976 652d 636f 6e73 7472 7563 ductive-construc │ │ │ -0002e7b0: 746f 722d 6661 6365 0a20 2027 2828 2828 tor-face. '(((( │ │ │ -0002e7c0: 6261 636b 6772 6f75 6e64 206c 6967 6874 background light │ │ │ -0002e7d0: 2929 0a20 2020 2020 3a66 6f72 6567 726f )). :foregro │ │ │ -0002e7e0: 756e 6420 2267 6f6c 6434 2229 0a20 2020 und "gold4"). │ │ │ -0002e7f0: 2028 2828 6261 636b 6772 6f75 6e64 2064 (((background d │ │ │ -0002e800: 6172 6b29 290a 2020 2020 203a 666f 7265 ark)). :fore │ │ │ -0002e810: 6772 6f75 6e64 2022 2346 4645 4137 3522 ground "#FFEA75" │ │ │ -0002e820: 2929 0a20 2022 5468 6520 6661 6365 2075 )). "The face u │ │ │ -0002e830: 7365 6420 666f 7220 636f 696e 6475 6374 sed for coinduct │ │ │ -0002e840: 6976 6520 636f 6e73 7472 7563 746f 7273 ive constructors │ │ │ -0002e850: 2e22 0a20 203a 6772 6f75 7020 2761 6764 .". :group 'agd │ │ │ -0002e860: 6132 2d68 6967 686c 6967 6874 2d66 6163 a2-highlight-fac │ │ │ -0002e870: 6573 290a 0a28 6465 6666 6163 6520 6167 es)..(defface ag │ │ │ -0002e880: 6461 322d 6869 6768 6c69 6768 742d 6461 da2-highlight-da │ │ │ -0002e890: 7461 7479 7065 2d66 6163 650a 2020 2728 tatype-face. '( │ │ │ -0002e8a0: 2828 2862 6163 6b67 726f 756e 6420 6c69 (((background li │ │ │ -0002e8b0: 6768 7429 290a 2020 2020 2028 3a66 6f72 ght)). (:for │ │ │ -0002e8c0: 6567 726f 756e 6420 226d 6564 6975 6d20 eground "medium │ │ │ -0002e8d0: 626c 7565 2229 290a 2020 2020 2828 2862 blue")). (((b │ │ │ -0002e8e0: 6163 6b67 726f 756e 6420 6461 726b 2929 ackground dark)) │ │ │ -0002e8f0: 0a20 2020 2020 283a 666f 7265 6772 6f75 . (:foregrou │ │ │ -0002e900: 6e64 2022 2338 3038 3046 4622 2929 290a nd "#8080FF"))). │ │ │ -0002e910: 2020 2254 6865 2066 6163 6520 7573 6564 "The face used │ │ │ -0002e920: 2066 6f72 2064 6174 6174 7970 6573 2e22 for datatypes." │ │ │ -0002e930: 0a20 203a 6772 6f75 7020 2761 6764 6132 . :group 'agda2 │ │ │ -0002e940: 2d68 6967 686c 6967 6874 2d66 6163 6573 -highlight-faces │ │ │ -0002e950: 290a 0a28 6465 6666 6163 6520 6167 6461 )..(defface agda │ │ │ -0002e960: 322d 6869 6768 6c69 6768 742d 6669 656c 2-highlight-fiel │ │ │ -0002e970: 642d 6661 6365 0a20 2027 2828 2828 6261 d-face. '((((ba │ │ │ -0002e980: 636b 6772 6f75 6e64 206c 6967 6874 2929 ckground light)) │ │ │ -0002e990: 0a20 2020 2020 283a 666f 7265 6772 6f75 . (:foregrou │ │ │ -0002e9a0: 6e64 2022 4465 6570 5069 6e6b 3222 2929 nd "DeepPink2")) │ │ │ -0002e9b0: 0a20 2020 2028 2828 6261 636b 6772 6f75 . (((backgrou │ │ │ -0002e9c0: 6e64 2064 6172 6b29 290a 2020 2020 2028 nd dark)). ( │ │ │ -0002e9d0: 3a66 6f72 6567 726f 756e 6420 2223 4635 :foreground "#F5 │ │ │ -0002e9e0: 3730 4237 2229 2929 0a20 2022 5468 6520 70B7"))). "The │ │ │ -0002e9f0: 6661 6365 2075 7365 6420 666f 7220 7265 face used for re │ │ │ -0002ea00: 636f 7264 2066 6965 6c64 732e 220a 2020 cord fields.". │ │ │ -0002ea10: 3a67 726f 7570 2027 6167 6461 322d 6869 :group 'agda2-hi │ │ │ -0002ea20: 6768 6c69 6768 742d 6661 6365 7329 0a0a ghlight-faces).. │ │ │ -0002ea30: 2864 6566 6661 6365 2061 6764 6132 2d68 (defface agda2-h │ │ │ -0002ea40: 6967 686c 6967 6874 2d66 756e 6374 696f ighlight-functio │ │ │ -0002ea50: 6e2d 6661 6365 0a20 2027 2828 2828 6261 n-face. '((((ba │ │ │ -0002ea60: 636b 6772 6f75 6e64 206c 6967 6874 2929 ckground light)) │ │ │ -0002ea70: 0a20 2020 2020 283a 666f 7265 6772 6f75 . (:foregrou │ │ │ -0002ea80: 6e64 2022 6d65 6469 756d 2062 6c75 6522 nd "medium blue" │ │ │ -0002ea90: 2929 0a20 2020 2028 2828 6261 636b 6772 )). (((backgr │ │ │ -0002eaa0: 6f75 6e64 2064 6172 6b29 290a 2020 2020 ound dark)). │ │ │ -0002eab0: 2028 3a66 6f72 6567 726f 756e 6420 2223 (:foreground "# │ │ │ -0002eac0: 3830 3830 4646 2229 2929 0a20 2022 5468 8080FF"))). "Th │ │ │ -0002ead0: 6520 6661 6365 2075 7365 6420 666f 7220 e face used for │ │ │ -0002eae0: 6675 6e63 7469 6f6e 732e 220a 2020 3a67 functions.". :g │ │ │ -0002eaf0: 726f 7570 2027 6167 6461 322d 6869 6768 roup 'agda2-high │ │ │ -0002eb00: 6c69 6768 742d 6661 6365 7329 0a0a 2864 light-faces)..(d │ │ │ -0002eb10: 6566 6661 6365 2061 6764 6132 2d68 6967 efface agda2-hig │ │ │ -0002eb20: 686c 6967 6874 2d6d 6f64 756c 652d 6661 hlight-module-fa │ │ │ -0002eb30: 6365 0a20 2027 2828 2828 6261 636b 6772 ce. '((((backgr │ │ │ -0002eb40: 6f75 6e64 206c 6967 6874 2929 0a20 2020 ound light)). │ │ │ -0002eb50: 2020 283a 666f 7265 6772 6f75 6e64 2022 (:foreground " │ │ │ -0002eb60: 7075 7270 6c65 2229 290a 2020 2020 2828 purple")). (( │ │ │ -0002eb70: 2862 6163 6b67 726f 756e 6420 6461 726b (background dark │ │ │ -0002eb80: 2929 0a20 2020 2020 283a 666f 7265 6772 )). (:foregr │ │ │ -0002eb90: 6f75 6e64 2022 2343 4438 3046 4622 2929 ound "#CD80FF")) │ │ │ -0002eba0: 290a 2020 2254 6865 2066 6163 6520 7573 ). "The face us │ │ │ -0002ebb0: 6564 2066 6f72 206d 6f64 756c 6520 6e61 ed for module na │ │ │ -0002ebc0: 6d65 732e 220a 2020 3a67 726f 7570 2027 mes.". :group ' │ │ │ -0002ebd0: 6167 6461 322d 6869 6768 6c69 6768 742d agda2-highlight- │ │ │ -0002ebe0: 6661 6365 7329 0a0a 2864 6566 6661 6365 faces)..(defface │ │ │ -0002ebf0: 2061 6764 6132 2d68 6967 686c 6967 6874 agda2-highlight │ │ │ -0002ec00: 2d70 6f73 7475 6c61 7465 2d66 6163 650a -postulate-face. │ │ │ -0002ec10: 2020 2728 2828 2862 6163 6b67 726f 756e '((((backgroun │ │ │ -0002ec20: 6420 6c69 6768 7429 290a 2020 2020 2028 d light)). ( │ │ │ -0002ec30: 3a66 6f72 6567 726f 756e 6420 226d 6564 :foreground "med │ │ │ -0002ec40: 6975 6d20 626c 7565 2229 290a 2020 2020 ium blue")). │ │ │ -0002ec50: 2828 2862 6163 6b67 726f 756e 6420 6461 (((background da │ │ │ -0002ec60: 726b 2929 0a20 2020 2020 283a 666f 7265 rk)). (:fore │ │ │ -0002ec70: 6772 6f75 6e64 2022 2338 3038 3046 4622 ground "#8080FF" │ │ │ -0002ec80: 2929 290a 2020 2254 6865 2066 6163 6520 ))). "The face │ │ │ -0002ec90: 7573 6564 2066 6f72 2070 6f73 7475 6c61 used for postula │ │ │ -0002eca0: 7465 732e 220a 2020 3a67 726f 7570 2027 tes.". :group ' │ │ │ -0002ecb0: 6167 6461 322d 6869 6768 6c69 6768 742d agda2-highlight- │ │ │ -0002ecc0: 6661 6365 7329 0a0a 2864 6566 6661 6365 faces)..(defface │ │ │ -0002ecd0: 2061 6764 6132 2d68 6967 686c 6967 6874 agda2-highlight │ │ │ -0002ece0: 2d70 7261 676d 612d 6661 6365 0a20 2027 -pragma-face. ' │ │ │ -0002ecf0: 2828 7420 6e69 6c29 290a 2020 2254 6865 ((t nil)). "The │ │ │ -0002ed00: 2066 6163 6520 7573 6564 2066 6f72 2028 face used for ( │ │ │ -0002ed10: 736f 6d65 2074 6578 7420 696e 2920 7072 some text in) pr │ │ │ -0002ed20: 6167 6d61 732e 220a 2020 3a67 726f 7570 agmas.". :group │ │ │ -0002ed30: 2027 6167 6461 322d 6869 6768 6c69 6768 'agda2-highligh │ │ │ -0002ed40: 742d 6661 6365 7329 0a0a 2864 6566 6661 t-faces)..(deffa │ │ │ -0002ed50: 6365 2061 6764 6132 2d68 6967 686c 6967 ce agda2-highlig │ │ │ -0002ed60: 6874 2d70 7269 6d69 7469 7665 2d66 6163 ht-primitive-fac │ │ │ -0002ed70: 650a 2020 2728 2828 2862 6163 6b67 726f e. '((((backgro │ │ │ -0002ed80: 756e 6420 6c69 6768 7429 290a 2020 2020 und light)). │ │ │ -0002ed90: 2028 3a66 6f72 6567 726f 756e 6420 226d (:foreground "m │ │ │ -0002eda0: 6564 6975 6d20 626c 7565 2229 290a 2020 edium blue")). │ │ │ -0002edb0: 2020 2828 2862 6163 6b67 726f 756e 6420 (((background │ │ │ -0002edc0: 6461 726b 2929 0a20 2020 2020 283a 666f dark)). (:fo │ │ │ -0002edd0: 7265 6772 6f75 6e64 2022 2338 3038 3046 reground "#8080F │ │ │ -0002ede0: 4622 2929 290a 2020 2254 6865 2066 6163 F"))). "The fac │ │ │ -0002edf0: 6520 7573 6564 2066 6f72 2070 7269 6d69 e used for primi │ │ │ -0002ee00: 7469 7665 2066 756e 6374 696f 6e73 2e22 tive functions." │ │ │ -0002ee10: 0a20 203a 6772 6f75 7020 2761 6764 6132 . :group 'agda2 │ │ │ -0002ee20: 2d68 6967 686c 6967 6874 2d66 6163 6573 -highlight-faces │ │ │ -0002ee30: 290a 0a28 6465 6666 6163 6520 6167 6461 )..(defface agda │ │ │ -0002ee40: 322d 6869 6768 6c69 6768 742d 6d61 6372 2-highlight-macr │ │ │ -0002ee50: 6f2d 6661 6365 0a20 2027 2828 2828 6261 o-face. '((((ba │ │ │ -0002ee60: 636b 6772 6f75 6e64 206c 6967 6874 2929 ckground light)) │ │ │ -0002ee70: 0a20 2020 2020 283a 666f 7265 6772 6f75 . (:foregrou │ │ │ -0002ee80: 6e64 2022 6171 7561 6d61 7269 6e65 3422 nd "aquamarine4" │ │ │ -0002ee90: 2929 0a20 2020 2028 2828 6261 636b 6772 )). (((backgr │ │ │ -0002eea0: 6f75 6e64 2064 6172 6b29 290a 2020 2020 ound dark)). │ │ │ -0002eeb0: 2028 3a66 6f72 6567 726f 756e 6420 2223 (:foreground "# │ │ │ -0002eec0: 3733 4241 4132 2229 2929 0a20 2022 5468 73BAA2"))). "Th │ │ │ -0002eed0: 6520 6661 6365 2075 7365 6420 666f 7220 e face used for │ │ │ -0002eee0: 6d61 6372 6f73 2e22 0a20 203a 6772 6f75 macros.". :grou │ │ │ -0002eef0: 7020 2761 6764 6132 2d68 6967 686c 6967 p 'agda2-highlig │ │ │ -0002ef00: 6874 2d66 6163 6573 290a 0a28 6465 6666 ht-faces)..(deff │ │ │ -0002ef10: 6163 6520 6167 6461 322d 6869 6768 6c69 ace agda2-highli │ │ │ -0002ef20: 6768 742d 7265 636f 7264 2d66 6163 650a ght-record-face. │ │ │ -0002ef30: 2020 2728 2828 2862 6163 6b67 726f 756e '((((backgroun │ │ │ -0002ef40: 6420 6c69 6768 7429 290a 2020 2020 2028 d light)). ( │ │ │ -0002ef50: 3a66 6f72 6567 726f 756e 6420 226d 6564 :foreground "med │ │ │ -0002ef60: 6975 6d20 626c 7565 2229 290a 2020 2020 ium blue")). │ │ │ -0002ef70: 2828 2862 6163 6b67 726f 756e 6420 6461 (((background da │ │ │ -0002ef80: 726b 2929 0a20 2020 2020 283a 666f 7265 rk)). (:fore │ │ │ -0002ef90: 6772 6f75 6e64 2022 2338 3038 3046 4622 ground "#8080FF" │ │ │ -0002efa0: 2929 290a 2020 2254 6865 2066 6163 6520 ))). "The face │ │ │ -0002efb0: 7573 6564 2066 6f72 2072 6563 6f72 6420 used for record │ │ │ -0002efc0: 7479 7065 732e 220a 2020 3a67 726f 7570 types.". :group │ │ │ -0002efd0: 2027 6167 6461 322d 6869 6768 6c69 6768 'agda2-highligh │ │ │ -0002efe0: 742d 6661 6365 7329 0a0a 2864 6566 6661 t-faces)..(deffa │ │ │ -0002eff0: 6365 2061 6764 6132 2d68 6967 686c 6967 ce agda2-highlig │ │ │ -0002f000: 6874 2d64 6f74 7465 642d 6661 6365 0a20 ht-dotted-face. │ │ │ -0002f010: 2027 2828 7420 6e69 6c29 290a 2020 2254 '((t nil)). "T │ │ │ -0002f020: 6865 2066 6163 6520 7573 6564 2066 6f72 he face used for │ │ │ -0002f030: 2064 6f74 7465 6420 7061 7474 6572 6e73 dotted patterns │ │ │ -0002f040: 2e22 0a20 203a 6772 6f75 7020 2761 6764 .". :group 'agd │ │ │ -0002f050: 6132 2d68 6967 686c 6967 6874 2d66 6163 a2-highlight-fac │ │ │ -0002f060: 6573 290a 0a28 6465 6666 6163 6520 6167 es)..(defface ag │ │ │ -0002f070: 6461 322d 6869 6768 6c69 6768 742d 6f70 da2-highlight-op │ │ │ -0002f080: 6572 6174 6f72 2d66 6163 650a 2020 2728 erator-face. '( │ │ │ -0002f090: 2874 206e 696c 2929 0a20 2022 5468 6520 (t nil)). "The │ │ │ -0002f0a0: 6661 6365 2075 7365 6420 666f 7220 6f70 face used for op │ │ │ -0002f0b0: 6572 6174 6f72 732e 220a 2020 3a67 726f erators.". :gro │ │ │ -0002f0c0: 7570 2027 6167 6461 322d 6869 6768 6c69 up 'agda2-highli │ │ │ -0002f0d0: 6768 742d 6661 6365 7329 0a0a 2864 6566 ght-faces)..(def │ │ │ -0002f0e0: 6661 6365 2061 6764 6132 2d68 6967 686c face agda2-highl │ │ │ -0002f0f0: 6967 6874 2d65 7272 6f72 2d66 6163 650a ight-error-face. │ │ │ -0002f100: 2020 2728 2828 2862 6163 6b67 726f 756e '((((backgroun │ │ │ -0002f110: 6420 6c69 6768 7429 290a 2020 2020 2028 d light)). ( │ │ │ -0002f120: 3a66 6f72 6567 726f 756e 6420 2272 6564 :foreground "red │ │ │ -0002f130: 2220 3a75 6e64 6572 6c69 6e65 2074 2929 " :underline t)) │ │ │ -0002f140: 0a20 2020 2028 2828 6261 636b 6772 6f75 . (((backgrou │ │ │ -0002f150: 6e64 2064 6172 6b29 290a 2020 2020 2028 nd dark)). ( │ │ │ -0002f160: 3a66 6f72 6567 726f 756e 6420 2223 4646 :foreground "#FF │ │ │ -0002f170: 3030 3030 2220 3a75 6e64 6572 6c69 6e65 0000" :underline │ │ │ -0002f180: 2074 2929 290a 2020 2254 6865 2066 6163 t))). "The fac │ │ │ -0002f190: 6520 7573 6564 2066 6f72 2065 7272 6f72 e used for error │ │ │ -0002f1a0: 732e 220a 2020 3a67 726f 7570 2027 6167 s.". :group 'ag │ │ │ -0002f1b0: 6461 322d 6869 6768 6c69 6768 742d 6661 da2-highlight-fa │ │ │ -0002f1c0: 6365 7329 0a0a 2864 6566 6661 6365 2061 ces)..(defface a │ │ │ -0002f1d0: 6764 6132 2d68 6967 686c 6967 6874 2d65 gda2-highlight-e │ │ │ -0002f1e0: 7272 6f72 2d77 6172 6e69 6e67 2d66 6163 rror-warning-fac │ │ │ -0002f1f0: 650a 2020 2728 2828 2862 6163 6b67 726f e. '((((backgro │ │ │ -0002f200: 756e 6420 6c69 6768 7429 290a 2020 2020 und light)). │ │ │ -0002f210: 2028 3a62 6163 6b67 726f 756e 6420 226c (:background "l │ │ │ -0002f220: 6967 6874 2063 6f72 616c 2220 3a75 6e64 ight coral" :und │ │ │ -0002f230: 6572 6c69 6e65 2074 2929 0a20 2020 2028 erline t)). ( │ │ │ -0002f240: 2828 6261 636b 6772 6f75 6e64 2064 6172 ((background dar │ │ │ -0002f250: 6b29 290a 2020 2020 2028 3a62 6163 6b67 k)). (:backg │ │ │ -0002f260: 726f 756e 6420 2223 3830 3234 3030 2220 round "#802400" │ │ │ -0002f270: 3a75 6e64 6572 6c69 6e65 2074 2929 290a :underline t))). │ │ │ -0002f280: 2020 2254 6865 2066 6163 6520 7573 6564 "The face used │ │ │ -0002f290: 2066 6f72 2066 6174 616c 2077 6172 6e69 for fatal warni │ │ │ -0002f2a0: 6e67 732e 220a 2020 3a67 726f 7570 2027 ngs.". :group ' │ │ │ -0002f2b0: 6167 6461 322d 6869 6768 6c69 6768 742d agda2-highlight- │ │ │ -0002f2c0: 6661 6365 7329 0a0a 2864 6566 6661 6365 faces)..(defface │ │ │ -0002f2d0: 2061 6764 6132 2d68 6967 686c 6967 6874 agda2-highlight │ │ │ -0002f2e0: 2d75 6e73 6f6c 7665 642d 6d65 7461 2d66 -unsolved-meta-f │ │ │ -0002f2f0: 6163 650a 2020 2728 2828 2862 6163 6b67 ace. '((((backg │ │ │ -0002f300: 726f 756e 6420 6c69 6768 7429 290a 2020 round light)). │ │ │ -0002f310: 2020 2028 3a62 6163 6b67 726f 756e 6420 (:background │ │ │ -0002f320: 2279 656c 6c6f 7722 2929 0a20 2020 2028 "yellow")). ( │ │ │ -0002f330: 2828 6261 636b 6772 6f75 6e64 2064 6172 ((background dar │ │ │ -0002f340: 6b29 290a 2020 2020 2028 3a62 6163 6b67 k)). (:backg │ │ │ -0002f350: 726f 756e 6420 2223 3830 3642 3030 2229 round "#806B00") │ │ │ -0002f360: 2929 0a20 2022 5468 6520 6661 6365 2075 )). "The face u │ │ │ -0002f370: 7365 6420 666f 7220 756e 736f 6c76 6564 sed for unsolved │ │ │ -0002f380: 206d 6574 6120 7661 7269 6162 6c65 732e meta variables. │ │ │ -0002f390: 220a 2020 3a67 726f 7570 2027 6167 6461 ". :group 'agda │ │ │ -0002f3a0: 322d 6869 6768 6c69 6768 742d 6661 6365 2-highlight-face │ │ │ -0002f3b0: 7329 0a0a 2864 6566 6661 6365 2061 6764 s)..(defface agd │ │ │ -0002f3c0: 6132 2d68 6967 686c 6967 6874 2d75 6e73 a2-highlight-uns │ │ │ -0002f3d0: 6f6c 7665 642d 636f 6e73 7472 6169 6e74 olved-constraint │ │ │ -0002f3e0: 2d66 6163 650a 2020 2728 2828 2862 6163 -face. '((((bac │ │ │ -0002f3f0: 6b67 726f 756e 6420 6c69 6768 7429 290a kground light)). │ │ │ -0002f400: 2020 2020 2028 3a62 6163 6b67 726f 756e (:backgroun │ │ │ -0002f410: 6420 2279 656c 6c6f 7722 2929 0a20 2020 d "yellow")). │ │ │ -0002f420: 2028 2828 6261 636b 6772 6f75 6e64 2064 (((background d │ │ │ -0002f430: 6172 6b29 290a 2020 2020 2028 3a62 6163 ark)). (:bac │ │ │ -0002f440: 6b67 726f 756e 6420 2223 3830 3642 3030 kground "#806B00 │ │ │ -0002f450: 2229 2929 0a20 2022 5468 6520 6661 6365 "))). "The face │ │ │ -0002f460: 2075 7365 6420 666f 7220 756e 736f 6c76 used for unsolv │ │ │ -0002f470: 6564 2063 6f6e 7374 7261 696e 7473 2077 ed constraints w │ │ │ -0002f480: 6869 6368 2061 7265 206e 6f74 2063 6f6e hich are not con │ │ │ -0002f490: 6e65 6374 6564 2074 6f20 6d65 7461 732e nected to metas. │ │ │ -0002f4a0: 220a 2020 3a67 726f 7570 2027 6167 6461 ". :group 'agda │ │ │ -0002f4b0: 322d 6869 6768 6c69 6768 742d 6661 6365 2-highlight-face │ │ │ -0002f4c0: 7329 0a0a 2864 6566 6661 6365 2061 6764 s)..(defface agd │ │ │ -0002f4d0: 6132 2d68 6967 686c 6967 6874 2d74 6572 a2-highlight-ter │ │ │ -0002f4e0: 6d69 6e61 7469 6f6e 2d70 726f 626c 656d mination-problem │ │ │ -0002f4f0: 2d66 6163 650a 2020 2728 2828 2862 6163 -face. '((((bac │ │ │ -0002f500: 6b67 726f 756e 6420 6c69 6768 7429 290a kground light)). │ │ │ -0002f510: 2020 2020 2028 3a62 6163 6b67 726f 756e (:backgroun │ │ │ -0002f520: 6420 226c 6967 6874 2073 616c 6d6f 6e22 d "light salmon" │ │ │ -0002f530: 2929 0a20 2020 2028 2828 6261 636b 6772 )). (((backgr │ │ │ -0002f540: 6f75 6e64 2064 6172 6b29 290a 2020 2020 ound dark)). │ │ │ -0002f550: 2028 3a62 6163 6b67 726f 756e 6420 2223 (:background "# │ │ │ -0002f560: 3830 3234 3030 2229 2929 0a20 2022 5468 802400"))). "Th │ │ │ -0002f570: 6520 6661 6365 2075 7365 6420 666f 7220 e face used for │ │ │ -0002f580: 7465 726d 696e 6174 696f 6e20 7072 6f62 termination prob │ │ │ -0002f590: 6c65 6d73 2e22 0a20 203a 6772 6f75 7020 lems.". :group │ │ │ -0002f5a0: 2761 6764 6132 2d68 6967 686c 6967 6874 'agda2-highlight │ │ │ -0002f5b0: 2d66 6163 6573 290a 0a28 6465 6666 6163 -faces)..(deffac │ │ │ -0002f5c0: 6520 6167 6461 322d 6869 6768 6c69 6768 e agda2-highligh │ │ │ -0002f5d0: 742d 706f 7369 7469 7669 7479 2d70 726f t-positivity-pro │ │ │ -0002f5e0: 626c 656d 2d66 6163 650a 2020 2728 2828 blem-face. '((( │ │ │ -0002f5f0: 2862 6163 6b67 726f 756e 6420 6c69 6768 (background ligh │ │ │ -0002f600: 7429 290a 2020 2020 2028 3a62 6163 6b67 t)). (:backg │ │ │ -0002f610: 726f 756e 6420 2270 6572 7522 2929 0a20 round "peru")). │ │ │ -0002f620: 2020 2028 2828 6261 636b 6772 6f75 6e64 (((background │ │ │ -0002f630: 2064 6172 6b29 290a 2020 2020 2028 3a62 dark)). (:b │ │ │ -0002f640: 6163 6b67 726f 756e 6420 2223 3830 3346 ackground "#803F │ │ │ -0002f650: 3030 2229 2929 0a20 2022 5468 6520 6661 00"))). "The fa │ │ │ -0002f660: 6365 2075 7365 6420 666f 7220 706f 7369 ce used for posi │ │ │ -0002f670: 7469 7669 7479 2070 726f 626c 656d 732e tivity problems. │ │ │ -0002f680: 220a 2020 3a67 726f 7570 2027 6167 6461 ". :group 'agda │ │ │ -0002f690: 322d 6869 6768 6c69 6768 742d 6661 6365 2-highlight-face │ │ │ -0002f6a0: 7329 0a0a 2864 6566 6661 6365 2061 6764 s)..(defface agd │ │ │ -0002f6b0: 6132 2d68 6967 686c 6967 6874 2d64 6561 a2-highlight-dea │ │ │ -0002f6c0: 6463 6f64 652d 6661 6365 0a20 2027 2828 dcode-face. '(( │ │ │ -0002f6d0: 2828 6261 636b 6772 6f75 6e64 206c 6967 ((background lig │ │ │ -0002f6e0: 6874 2929 0a20 2020 2020 283a 6261 636b ht)). (:back │ │ │ -0002f6f0: 6772 6f75 6e64 2022 6461 726b 2067 7261 ground "dark gra │ │ │ -0002f700: 7922 2929 0a20 2020 2028 2828 6261 636b y")). (((back │ │ │ -0002f710: 6772 6f75 6e64 2064 6172 6b29 290a 2020 ground dark)). │ │ │ -0002f720: 2020 2028 3a62 6163 6b67 726f 756e 6420 (:background │ │ │ -0002f730: 2223 3830 3830 3830 2229 2929 0a20 2022 "#808080"))). " │ │ │ -0002f740: 5468 6520 6661 6365 2075 7365 6420 666f The face used fo │ │ │ -0002f750: 7220 6465 6164 2063 6f64 6520 2875 6e72 r dead code (unr │ │ │ -0002f760: 6561 6368 6162 6c65 2063 6c61 7573 6573 eachable clauses │ │ │ -0002f770: 2c20 6574 632e 292e 220a 2020 3a67 726f , etc.).". :gro │ │ │ -0002f780: 7570 2027 6167 6461 322d 6869 6768 6c69 up 'agda2-highli │ │ │ -0002f790: 6768 742d 6661 6365 7329 0a0a 2864 6566 ght-faces)..(def │ │ │ -0002f7a0: 6661 6365 2061 6764 6132 2d68 6967 686c face agda2-highl │ │ │ -0002f7b0: 6967 6874 2d73 6861 646f 7769 6e67 2d69 ight-shadowing-i │ │ │ -0002f7c0: 6e2d 7465 6c65 7363 6f70 652d 6661 6365 n-telescope-face │ │ │ -0002f7d0: 0a20 2027 2828 2828 6261 636b 6772 6f75 . '((((backgrou │ │ │ -0002f7e0: 6e64 206c 6967 6874 2929 0a20 2020 2020 nd light)). │ │ │ -0002f7f0: 283a 6261 636b 6772 6f75 6e64 2022 6461 (:background "da │ │ │ -0002f800: 726b 2067 7261 7922 2929 0a20 2020 2028 rk gray")). ( │ │ │ -0002f810: 2828 6261 636b 6772 6f75 6e64 2064 6172 ((background dar │ │ │ -0002f820: 6b29 290a 2020 2020 2028 3a62 6163 6b67 k)). (:backg │ │ │ -0002f830: 726f 756e 6420 2223 3830 3830 3830 2229 round "#808080") │ │ │ -0002f840: 2929 0a20 2022 5468 6520 6661 6365 2075 )). "The face u │ │ │ -0002f850: 7365 6420 666f 7220 7368 6164 6f77 6564 sed for shadowed │ │ │ -0002f860: 2072 6570 6561 7465 6420 7661 7269 6162 repeated variab │ │ │ -0002f870: 6c65 206e 616d 6573 2069 6e20 7465 6c65 le names in tele │ │ │ -0002f880: 7363 6f70 6573 2e22 0a20 203a 6772 6f75 scopes.". :grou │ │ │ -0002f890: 7020 2761 6764 6132 2d68 6967 686c 6967 p 'agda2-highlig │ │ │ -0002f8a0: 6874 2d66 6163 6573 290a 0a28 6465 6666 ht-faces)..(deff │ │ │ -0002f8b0: 6163 6520 6167 6461 322d 6869 6768 6c69 ace agda2-highli │ │ │ -0002f8c0: 6768 742d 636f 7665 7261 6765 2d70 726f ght-coverage-pro │ │ │ -0002f8d0: 626c 656d 2d66 6163 650a 2020 2728 2828 blem-face. '((( │ │ │ -0002f8e0: 2862 6163 6b67 726f 756e 6420 6c69 6768 (background ligh │ │ │ -0002f8f0: 7429 290a 2020 2020 2028 3a62 6163 6b67 t)). (:backg │ │ │ -0002f900: 726f 756e 6420 2277 6865 6174 2229 290a round "wheat")). │ │ │ -0002f910: 2020 2020 2828 2862 6163 6b67 726f 756e (((backgroun │ │ │ -0002f920: 6420 6461 726b 2929 0a20 2020 2020 283a d dark)). (: │ │ │ -0002f930: 6261 636b 6772 6f75 6e64 2022 2338 3035 background "#805 │ │ │ -0002f940: 3330 3022 2929 290a 2020 2254 6865 2066 300"))). "The f │ │ │ -0002f950: 6163 6520 7573 6564 2066 6f72 2063 6f76 ace used for cov │ │ │ -0002f960: 6572 6167 6520 7072 6f62 6c65 6d73 2e22 erage problems." │ │ │ -0002f970: 0a20 203a 6772 6f75 7020 2761 6764 6132 . :group 'agda2 │ │ │ -0002f980: 2d68 6967 686c 6967 6874 2d66 6163 6573 -highlight-faces │ │ │ -0002f990: 290a 0a28 6465 6666 6163 6520 6167 6461 )..(defface agda │ │ │ -0002f9a0: 322d 6869 6768 6c69 6768 742d 6361 7463 2-highlight-catc │ │ │ -0002f9b0: 6861 6c6c 2d63 6c61 7573 652d 6661 6365 hall-clause-face │ │ │ -0002f9c0: 0a20 2027 2828 2828 6261 636b 6772 6f75 . '((((backgrou │ │ │ -0002f9d0: 6e64 206c 6967 6874 2929 0a20 2020 2020 nd light)). │ │ │ -0002f9e0: 283a 6261 636b 6772 6f75 6e64 2022 7768 (:background "wh │ │ │ -0002f9f0: 6974 6520 736d 6f6b 6522 2929 0a20 2020 ite smoke")). │ │ │ -0002fa00: 2028 2828 6261 636b 6772 6f75 6e64 2064 (((background d │ │ │ -0002fa10: 6172 6b29 290a 2020 2020 2028 3a62 6163 ark)). (:bac │ │ │ -0002fa20: 6b67 726f 756e 6420 2223 3430 3430 3430 kground "#404040 │ │ │ -0002fa30: 2229 2929 0a20 2022 5468 6520 6661 6365 "))). "The face │ │ │ -0002fa40: 2075 7365 6420 666f 7220 6361 7463 6861 used for catcha │ │ │ -0002fa50: 6c6c 2063 6c61 7573 6573 2e22 0a20 203a ll clauses.". : │ │ │ -0002fa60: 6772 6f75 7020 2761 6764 6132 2d68 6967 group 'agda2-hig │ │ │ -0002fa70: 686c 6967 6874 2d66 6163 6573 290a 0a28 hlight-faces)..( │ │ │ -0002fa80: 6465 6666 6163 6520 6167 6461 322d 6869 defface agda2-hi │ │ │ -0002fa90: 6768 6c69 6768 742d 636f 736d 6574 6963 ghlight-cosmetic │ │ │ -0002faa0: 2d70 726f 626c 656d 2d66 6163 650a 2020 -problem-face. │ │ │ -0002fab0: 2728 2828 2862 6163 6b67 726f 756e 6420 '((((background │ │ │ -0002fac0: 6c69 6768 7429 290a 2020 2020 2028 3a62 light)). (:b │ │ │ -0002fad0: 6163 6b67 726f 756e 6420 2277 6869 7465 ackground "white │ │ │ -0002fae0: 2073 6d6f 6b65 2229 290a 2020 2020 2828 smoke")). (( │ │ │ -0002faf0: 2862 6163 6b67 726f 756e 6420 6461 726b (background dark │ │ │ -0002fb00: 2929 0a20 2020 2020 283a 6261 636b 6772 )). (:backgr │ │ │ -0002fb10: 6f75 6e64 2022 2334 3034 3034 3022 2929 ound "#404040")) │ │ │ -0002fb20: 290a 2020 2254 6865 2066 6163 6520 7573 ). "The face us │ │ │ -0002fb30: 6564 2066 6f72 2063 6f73 6d65 7469 6320 ed for cosmetic │ │ │ -0002fb40: 7072 6f62 6c65 6d73 2e22 0a20 203a 6772 problems.". :gr │ │ │ -0002fb50: 6f75 7020 2761 6764 6132 2d68 6967 686c oup 'agda2-highl │ │ │ -0002fb60: 6967 6874 2d66 6163 6573 290a 0a28 6465 ight-faces)..(de │ │ │ -0002fb70: 6666 6163 6520 6167 6461 322d 6869 6768 fface agda2-high │ │ │ -0002fb80: 6c69 6768 742d 636f 6e66 6c75 656e 6365 light-confluence │ │ │ -0002fb90: 2d70 726f 626c 656d 2d66 6163 650a 2020 -problem-face. │ │ │ -0002fba0: 2728 2828 2862 6163 6b67 726f 756e 6420 '((((background │ │ │ -0002fbb0: 6c69 6768 7429 290a 2020 2020 2028 3a62 light)). (:b │ │ │ -0002fbc0: 6163 6b67 726f 756e 6420 2270 696e 6b22 ackground "pink" │ │ │ -0002fbd0: 2929 0a20 2020 2028 2828 6261 636b 6772 )). (((backgr │ │ │ -0002fbe0: 6f75 6e64 2064 6172 6b29 290a 2020 2020 ound dark)). │ │ │ -0002fbf0: 2028 3a62 6163 6b67 726f 756e 6420 2223 (:background "# │ │ │ -0002fc00: 3830 3030 3830 2229 2929 0a20 2022 5468 800080"))). "Th │ │ │ -0002fc10: 6520 6661 6365 2075 7365 6420 666f 7220 e face used for │ │ │ -0002fc20: 636f 6e66 6c75 656e 6365 2070 726f 626c confluence probl │ │ │ -0002fc30: 656d 732e 220a 2020 3a67 726f 7570 2027 ems.". :group ' │ │ │ -0002fc40: 6167 6461 322d 6869 6768 6c69 6768 742d agda2-highlight- │ │ │ -0002fc50: 6661 6365 7329 0a0a 2864 6566 6661 6365 faces)..(defface │ │ │ -0002fc60: 2061 6764 6132 2d68 6967 686c 6967 6874 agda2-highlight │ │ │ -0002fc70: 2d69 6e73 7461 6e63 652d 7072 6f62 6c65 -instance-proble │ │ │ -0002fc80: 6d2d 6661 6365 0a20 2027 2828 2828 6261 m-face. '((((ba │ │ │ -0002fc90: 636b 6772 6f75 6e64 206c 6967 6874 2929 ckground light)) │ │ │ -0002fca0: 0a20 2020 2020 283a 6261 636b 6772 6f75 . (:backgrou │ │ │ -0002fcb0: 6e64 2022 7768 6561 7422 2929 0a20 2020 nd "wheat")). │ │ │ -0002fcc0: 2028 2828 6261 636b 6772 6f75 6e64 2064 (((background d │ │ │ -0002fcd0: 6172 6b29 290a 2020 2020 2028 3a62 6163 ark)). (:bac │ │ │ -0002fce0: 6b67 726f 756e 6420 2223 3830 3533 3030 kground "#805300 │ │ │ -0002fcf0: 2229 2929 0a20 2022 5468 6520 6661 6365 "))). "The face │ │ │ -0002fd00: 2075 7365 6420 666f 7220 696e 7374 616e used for instan │ │ │ -0002fd10: 6365 2070 726f 626c 656d 732e 220a 2020 ce problems.". │ │ │ -0002fd20: 3a67 726f 7570 2027 6167 6461 322d 6869 :group 'agda2-hi │ │ │ -0002fd30: 6768 6c69 6768 742d 6661 6365 7329 0a0a ghlight-faces).. │ │ │ -0002fd40: 2864 6566 6661 6365 2061 6764 6132 2d68 (defface agda2-h │ │ │ -0002fd50: 6967 686c 6967 6874 2d6d 6973 7369 6e67 ighlight-missing │ │ │ -0002fd60: 2d64 6566 696e 6974 696f 6e2d 6661 6365 -definition-face │ │ │ -0002fd70: 0a20 2027 2828 2828 6261 636b 6772 6f75 . '((((backgrou │ │ │ -0002fd80: 6e64 206c 6967 6874 2929 0a20 2020 2020 nd light)). │ │ │ -0002fd90: 283a 6261 636b 6772 6f75 6e64 2022 6f72 (:background "or │ │ │ -0002fda0: 616e 6765 2229 290a 2020 2020 2828 2862 ange")). (((b │ │ │ -0002fdb0: 6163 6b67 726f 756e 6420 6461 726b 2929 ackground dark)) │ │ │ -0002fdc0: 0a20 2020 2020 283a 6261 636b 6772 6f75 . (:backgrou │ │ │ -0002fdd0: 6e64 2022 2338 3034 3034 3022 2929 290a nd "#804040"))). │ │ │ -0002fde0: 2020 2254 6865 2066 6163 6520 7573 6564 "The face used │ │ │ -0002fdf0: 2066 6f72 2074 7970 6520 6465 636c 6172 for type declar │ │ │ -0002fe00: 6174 696f 6e73 2077 6974 6820 6d69 7373 ations with miss │ │ │ -0002fe10: 696e 6720 6465 6669 6e69 7469 6f6e 732e ing definitions. │ │ │ -0002fe20: 220a 2020 3a67 726f 7570 2027 6167 6461 ". :group 'agda │ │ │ -0002fe30: 322d 6869 6768 6c69 6768 742d 6661 6365 2-highlight-face │ │ │ -0002fe40: 7329 0a0a 2864 6566 6661 6365 2061 6764 s)..(defface agd │ │ │ -0002fe50: 6132 2d68 6967 686c 6967 6874 2d74 7970 a2-highlight-typ │ │ │ -0002fe60: 6563 6865 636b 732d 6661 6365 0a20 2027 echecks-face. ' │ │ │ -0002fe70: 2828 2828 6261 636b 6772 6f75 6e64 206c ((((background l │ │ │ -0002fe80: 6967 6874 2929 0a20 2020 2020 283a 6261 ight)). (:ba │ │ │ -0002fe90: 636b 6772 6f75 6e64 2022 6c69 6768 7420 ckground "light │ │ │ -0002fea0: 626c 7565 2220 3a66 6f72 6567 726f 756e blue" :foregroun │ │ │ -0002feb0: 6420 2262 6c61 636b 2229 290a 2020 2020 d "black")). │ │ │ -0002fec0: 2828 2862 6163 6b67 726f 756e 6420 6461 (((background da │ │ │ -0002fed0: 726b 2929 0a20 2020 2020 283a 6261 636b rk)). (:back │ │ │ -0002fee0: 6772 6f75 6e64 2022 2330 3036 3038 3022 ground "#006080" │ │ │ -0002fef0: 203a 666f 7265 6772 6f75 6e64 2022 7768 :foreground "wh │ │ │ -0002ff00: 6974 6522 2929 290a 2020 2254 6865 2066 ite"))). "The f │ │ │ -0002ff10: 6163 6520 7573 6564 2066 6f72 2063 6f64 ace used for cod │ │ │ -0002ff20: 6520 7768 6963 6820 6973 2062 6569 6e67 e which is being │ │ │ -0002ff30: 2074 7970 652d 6368 6563 6b65 642e 220a type-checked.". │ │ │ -0002ff40: 2020 3a67 726f 7570 2027 6167 6461 322d :group 'agda2- │ │ │ -0002ff50: 6869 6768 6c69 6768 742d 6661 6365 7329 highlight-faces) │ │ │ -0002ff60: 0a0a 2864 6566 7661 7220 6167 6461 322d ..(defvar agda2- │ │ │ -0002ff70: 6869 6768 6c69 6768 742d 6661 6365 730a highlight-faces. │ │ │ -0002ff80: 2020 2728 286b 6579 776f 7264 2020 2020 '((keyword │ │ │ -0002ff90: 2020 2020 2020 2020 2020 2020 2e20 6167 . ag │ │ │ -0002ffa0: 6461 322d 6869 6768 6c69 6768 742d 6b65 da2-highlight-ke │ │ │ -0002ffb0: 7977 6f72 642d 6661 6365 290a 2020 2020 yword-face). │ │ │ -0002ffc0: 2863 6f6d 6d65 6e74 2020 2020 2020 2020 (comment │ │ │ -0002ffd0: 2020 2020 2020 2020 2e20 666f 6e74 2d6c . font-l │ │ │ -0002ffe0: 6f63 6b2d 636f 6d6d 656e 742d 6661 6365 ock-comment-face │ │ │ -0002fff0: 290a 2020 2020 2862 6163 6b67 726f 756e ). (backgroun │ │ │ -00030000: 6420 2020 2020 2020 2020 2020 2020 2e20 d . │ │ │ -00030010: 6465 6661 756c 7429 0a20 2020 2028 6d61 default). (ma │ │ │ -00030020: 726b 7570 2020 2020 2020 2020 2020 2020 rkup │ │ │ -00030030: 2020 2020 202e 2066 6f6e 742d 6c6f 636b . font-lock │ │ │ -00030040: 2d63 6f6d 6d65 6e74 2d64 656c 696d 6974 -comment-delimit │ │ │ -00030050: 6572 2d66 6163 6529 0a20 2020 2028 7374 er-face). (st │ │ │ -00030060: 7269 6e67 2020 2020 2020 2020 2020 2020 ring │ │ │ -00030070: 2020 2020 202e 2061 6764 6132 2d68 6967 . agda2-hig │ │ │ -00030080: 686c 6967 6874 2d73 7472 696e 672d 6661 hlight-string-fa │ │ │ -00030090: 6365 290a 2020 2020 286e 756d 6265 7220 ce). (number │ │ │ +0002dd90: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b0a ;;;;;;;;;;;;;;;. │ │ │ +0002dda0: 3b3b 2046 6163 6573 0a0a 2864 6566 6375 ;; Faces..(defcu │ │ │ +0002ddb0: 7374 6f6d 2061 6764 6132 2d68 6967 686c stom agda2-highl │ │ │ +0002ddc0: 6967 6874 2d66 6163 652d 6772 6f75 7073 ight-face-groups │ │ │ +0002ddd0: 206e 696c 0a20 2022 436f 6c6f 7572 2073 nil. "Colour s │ │ │ +0002dde0: 6368 656d 6520 7573 6564 2069 6e20 4167 cheme used in Ag │ │ │ +0002ddf0: 6461 2062 7566 6665 7273 2e0a 4368 616e da buffers..Chan │ │ │ +0002de00: 6765 7320 746f 2074 6869 7320 7661 7269 ges to this vari │ │ │ +0002de10: 6162 6c65 206d 6179 206e 6f74 2074 616b able may not tak │ │ │ +0002de20: 6520 6675 6c6c 2065 6666 6563 7420 756e e full effect un │ │ │ +0002de30: 7469 6c20 796f 7520 6861 7665 0a72 6573 til you have.res │ │ │ +0002de40: 7461 7274 6564 2045 6d61 6373 2e20 4e6f tarted Emacs. No │ │ │ +0002de50: 7465 2061 6c73 6f20 7468 6174 2069 6620 te also that if │ │ │ +0002de60: 796f 7520 6172 6520 7573 696e 6720 7468 you are using th │ │ │ +0002de70: 650a 6465 6661 756c 742d 6661 6365 7320 e.default-faces │ │ │ +0002de80: 6f70 7469 6f6e 2061 6e64 2063 6861 6e67 option and chang │ │ │ +0002de90: 6520 796f 7572 2063 6f6c 6f75 7220 7468 e your colour th │ │ │ +0002dea0: 656d 652c 2074 6865 6e20 7468 650a 6368 eme, then the.ch │ │ │ +0002deb0: 616e 6765 7320 6d61 7920 6e6f 7420 7461 anges may not ta │ │ │ +0002dec0: 6b65 2065 6666 6563 7420 696e 2041 6764 ke effect in Agd │ │ │ +0002ded0: 6120 6275 6666 6572 7320 756e 7469 6c20 a buffers until │ │ │ +0002dee0: 796f 7520 6861 7665 0a72 6573 7461 7274 you have.restart │ │ │ +0002def0: 6564 2045 6d61 6373 2e22 0a20 203a 7479 ed Emacs.". :ty │ │ │ +0002df00: 7065 2027 2863 686f 6963 650a 2020 2020 pe '(choice. │ │ │ +0002df10: 2020 2020 2020 2863 6f6e 7374 203a 7461 (const :ta │ │ │ +0002df20: 6720 2255 7365 2074 6865 2073 6574 7469 g "Use the setti │ │ │ +0002df30: 6e67 7320 696e 2074 6865 205c 2241 6764 ngs in the \"Agd │ │ │ +0002df40: 6132 2048 6967 686c 6967 6874 2046 6163 a2 Highlight Fac │ │ │ +0002df50: 6573 5c22 2073 7562 6772 6f75 702e 2220 es\" subgroup." │ │ │ +0002df60: 6e69 6c29 0a20 2020 2020 2020 2020 2028 nil). ( │ │ │ +0002df70: 636f 6e73 7420 3a74 6167 2022 5573 6520 const :tag "Use │ │ │ +0002df80: 616e 2061 7070 726f 7869 6d61 7469 6f6e an approximation │ │ │ +0002df90: 206f 6620 436f 6e6f 7220 4d63 4272 6964 of Conor McBrid │ │ │ +0002dfa0: 6527 7320 636f 6c6f 7572 2073 6368 656d e's colour schem │ │ │ +0002dfb0: 652e 220a 2020 2020 2020 2020 2020 2020 e.". │ │ │ +0002dfc0: 2020 2020 2063 6f6e 6f72 290a 2020 2020 conor). │ │ │ +0002dfd0: 2020 2020 2020 2863 6f6e 7374 203a 7461 (const :ta │ │ │ +0002dfe0: 6720 2255 7365 2073 696d 706c 6966 6965 g "Use simplifie │ │ │ +0002dff0: 6420 6869 6768 6c69 6768 7469 6e67 2061 d highlighting a │ │ │ +0002e000: 6e64 2064 6566 6175 6c74 2066 6f6e 742d nd default font- │ │ │ +0002e010: 6c6f 636b 2066 6163 6573 2e22 0a20 2020 lock faces.". │ │ │ +0002e020: 2020 2020 2020 2020 2020 2020 2020 6465 de │ │ │ +0002e030: 6661 756c 742d 6661 6365 7329 290a 2020 fault-faces)). │ │ │ +0002e040: 3a67 726f 7570 2027 6167 6461 322d 6869 :group 'agda2-hi │ │ │ +0002e050: 6768 6c69 6768 740a 2020 3a73 6574 2027 ghlight. :set ' │ │ │ +0002e060: 6167 6461 322d 6869 6768 6c69 6768 742d agda2-highlight- │ │ │ +0002e070: 7365 742d 6661 6365 7329 0a0a 2864 6566 set-faces)..(def │ │ │ +0002e080: 6772 6f75 7020 6167 6461 322d 6869 6768 group agda2-high │ │ │ +0002e090: 6c69 6768 742d 6661 6365 7320 6e69 6c0a light-faces nil. │ │ │ +0002e0a0: 2020 2246 6163 6573 2075 7365 6420 746f "Faces used to │ │ │ +0002e0b0: 2068 6967 686c 6967 6874 2041 6764 6120 highlight Agda │ │ │ +0002e0c0: 636f 6465 2e0a 4966 2060 6167 6461 322d code..If `agda2- │ │ │ +0002e0d0: 6869 6768 6c69 6768 742d 6661 6365 2d67 highlight-face-g │ │ │ +0002e0e0: 726f 7570 7327 2069 7320 6e69 6c2e 220a roups' is nil.". │ │ │ +0002e0f0: 2020 3a67 726f 7570 2027 6167 6461 322d :group 'agda2- │ │ │ +0002e100: 6869 6768 6c69 6768 7429 0a0a 2864 6566 highlight)..(def │ │ │ +0002e110: 6661 6365 2061 6764 6132 2d68 6967 686c face agda2-highl │ │ │ +0002e120: 6967 6874 2d6b 6579 776f 7264 2d66 6163 ight-keyword-fac │ │ │ +0002e130: 650a 2020 2728 2828 2862 6163 6b67 726f e. '((((backgro │ │ │ +0002e140: 756e 6420 6c69 6768 7429 290a 2020 2020 und light)). │ │ │ +0002e150: 2028 3a66 6f72 6567 726f 756e 6420 2244 (:foreground "D │ │ │ +0002e160: 6172 6b4f 7261 6e67 6533 2229 290a 2020 arkOrange3")). │ │ │ +0002e170: 2020 2828 2862 6163 6b67 726f 756e 6420 (((background │ │ │ +0002e180: 6461 726b 2929 0a20 2020 2020 283a 666f dark)). (:fo │ │ │ +0002e190: 7265 6772 6f75 6e64 2022 2346 4639 3933 reground "#FF993 │ │ │ +0002e1a0: 3222 2929 290a 2020 2254 6865 2066 6163 2"))). "The fac │ │ │ +0002e1b0: 6520 7573 6564 2066 6f72 206b 6579 776f e used for keywo │ │ │ +0002e1c0: 7264 732e 220a 2020 3a67 726f 7570 2027 rds.". :group ' │ │ │ +0002e1d0: 6167 6461 322d 6869 6768 6c69 6768 742d agda2-highlight- │ │ │ +0002e1e0: 6661 6365 7329 0a0a 2864 6566 6661 6365 faces)..(defface │ │ │ +0002e1f0: 2061 6764 6132 2d68 6967 686c 6967 6874 agda2-highlight │ │ │ +0002e200: 2d73 7472 696e 672d 6661 6365 0a20 2027 -string-face. ' │ │ │ +0002e210: 2828 2828 6261 636b 6772 6f75 6e64 206c ((((background l │ │ │ +0002e220: 6967 6874 2929 0a20 2020 2020 283a 666f ight)). (:fo │ │ │ +0002e230: 7265 6772 6f75 6e64 2022 6669 7265 6272 reground "firebr │ │ │ +0002e240: 6963 6b22 2929 0a20 2020 2028 2828 6261 ick")). (((ba │ │ │ +0002e250: 636b 6772 6f75 6e64 2064 6172 6b29 290a ckground dark)). │ │ │ +0002e260: 2020 2020 2028 3a66 6f72 6567 726f 756e (:foregroun │ │ │ +0002e270: 6420 2223 4444 3444 3444 2229 2929 0a20 d "#DD4D4D"))). │ │ │ +0002e280: 2022 5468 6520 6661 6365 2075 7365 6420 "The face used │ │ │ +0002e290: 666f 7220 7374 7269 6e67 732e 220a 2020 for strings.". │ │ │ +0002e2a0: 3a67 726f 7570 2027 6167 6461 322d 6869 :group 'agda2-hi │ │ │ +0002e2b0: 6768 6c69 6768 742d 6661 6365 7329 0a0a ghlight-faces).. │ │ │ +0002e2c0: 2864 6566 6661 6365 2061 6764 6132 2d68 (defface agda2-h │ │ │ +0002e2d0: 6967 686c 6967 6874 2d6e 756d 6265 722d ighlight-number- │ │ │ +0002e2e0: 6661 6365 0a20 2027 2828 2828 6261 636b face. '((((back │ │ │ +0002e2f0: 6772 6f75 6e64 206c 6967 6874 2929 0a20 ground light)). │ │ │ +0002e300: 2020 2020 283a 666f 7265 6772 6f75 6e64 (:foreground │ │ │ +0002e310: 2022 7075 7270 6c65 2229 290a 2020 2020 "purple")). │ │ │ +0002e320: 2828 2862 6163 6b67 726f 756e 6420 6461 (((background da │ │ │ +0002e330: 726b 2929 0a20 2020 2020 283a 666f 7265 rk)). (:fore │ │ │ +0002e340: 6772 6f75 6e64 2022 2339 3031 3045 3022 ground "#9010E0" │ │ │ +0002e350: 2929 290a 2020 2254 6865 2066 6163 6520 ))). "The face │ │ │ +0002e360: 7573 6564 2066 6f72 206e 756d 6265 7273 used for numbers │ │ │ +0002e370: 2e22 0a20 203a 6772 6f75 7020 2761 6764 .". :group 'agd │ │ │ +0002e380: 6132 2d68 6967 686c 6967 6874 2d66 6163 a2-highlight-fac │ │ │ +0002e390: 6573 290a 0a28 6465 6666 6163 6520 6167 es)..(defface ag │ │ │ +0002e3a0: 6461 322d 6869 6768 6c69 6768 742d 7379 da2-highlight-sy │ │ │ +0002e3b0: 6d62 6f6c 2d66 6163 650a 2020 2728 2828 mbol-face. '((( │ │ │ +0002e3c0: 2862 6163 6b67 726f 756e 6420 6c69 6768 (background ligh │ │ │ +0002e3d0: 7429 290a 2020 2020 2028 3a66 6f72 6567 t)). (:foreg │ │ │ +0002e3e0: 726f 756e 6420 2267 7261 7932 3522 2929 round "gray25")) │ │ │ +0002e3f0: 0a20 2020 2028 2828 6261 636b 6772 6f75 . (((backgrou │ │ │ +0002e400: 6e64 2064 6172 6b29 290a 2020 2020 2028 nd dark)). ( │ │ │ +0002e410: 3a66 6f72 6567 726f 756e 6420 2267 7261 :foreground "gra │ │ │ +0002e420: 7937 3522 2929 290a 2020 2254 6865 2066 y75"))). "The f │ │ │ +0002e430: 6163 6520 7573 6564 2066 6f72 2073 796d ace used for sym │ │ │ +0002e440: 626f 6c73 206c 696b 6520 666f 7261 6c6c bols like forall │ │ │ +0002e450: 2c20 3d2c 202d 3e2c 2065 7463 2e22 0a20 , =, ->, etc.". │ │ │ +0002e460: 203a 6772 6f75 7020 2761 6764 6132 2d68 :group 'agda2-h │ │ │ +0002e470: 6967 686c 6967 6874 2d66 6163 6573 290a ighlight-faces). │ │ │ +0002e480: 0a28 6465 6666 6163 6520 6167 6461 322d .(defface agda2- │ │ │ +0002e490: 6869 6768 6c69 6768 742d 7072 696d 6974 highlight-primit │ │ │ +0002e4a0: 6976 652d 7479 7065 2d66 6163 650a 2020 ive-type-face. │ │ │ +0002e4b0: 2728 2828 2862 6163 6b67 726f 756e 6420 '((((background │ │ │ +0002e4c0: 6c69 6768 7429 290a 2020 2020 2028 3a66 light)). (:f │ │ │ +0002e4d0: 6f72 6567 726f 756e 6420 226d 6564 6975 oreground "mediu │ │ │ +0002e4e0: 6d20 626c 7565 2229 290a 2020 2020 2828 m blue")). (( │ │ │ +0002e4f0: 2862 6163 6b67 726f 756e 6420 6461 726b (background dark │ │ │ +0002e500: 2929 0a20 2020 2020 283a 666f 7265 6772 )). (:foregr │ │ │ +0002e510: 6f75 6e64 2022 2338 3038 3046 4622 2929 ound "#8080FF")) │ │ │ +0002e520: 290a 2020 2254 6865 2066 6163 6520 7573 ). "The face us │ │ │ +0002e530: 6564 2066 6f72 2070 7269 6d69 7469 7665 ed for primitive │ │ │ +0002e540: 2074 7970 6573 2028 6c69 6b65 2053 6574 types (like Set │ │ │ +0002e550: 2061 6e64 2050 726f 7029 2e22 0a20 203a and Prop).". : │ │ │ +0002e560: 6772 6f75 7020 2761 6764 6132 2d68 6967 group 'agda2-hig │ │ │ +0002e570: 686c 6967 6874 2d66 6163 6573 290a 0a28 hlight-faces)..( │ │ │ +0002e580: 6465 6666 6163 6520 6167 6461 322d 6869 defface agda2-hi │ │ │ +0002e590: 6768 6c69 6768 742d 626f 756e 642d 7661 ghlight-bound-va │ │ │ +0002e5a0: 7269 6162 6c65 2d66 6163 650a 2020 2728 riable-face. '( │ │ │ +0002e5b0: 2874 206e 696c 2929 0a20 2022 5468 6520 (t nil)). "The │ │ │ +0002e5c0: 6661 6365 2075 7365 6420 666f 7220 626f face used for bo │ │ │ +0002e5d0: 756e 6420 7661 7269 6162 6c65 732e 220a und variables.". │ │ │ +0002e5e0: 2020 3a67 726f 7570 2027 6167 6461 322d :group 'agda2- │ │ │ +0002e5f0: 6869 6768 6c69 6768 742d 6661 6365 7329 highlight-faces) │ │ │ +0002e600: 0a0a 2864 6566 6661 6365 2061 6764 6132 ..(defface agda2 │ │ │ +0002e610: 2d68 6967 686c 6967 6874 2d67 656e 6572 -highlight-gener │ │ │ +0002e620: 616c 697a 6162 6c65 2d76 6172 6961 626c alizable-variabl │ │ │ +0002e630: 652d 6661 6365 0a20 2027 2828 7420 6e69 e-face. '((t ni │ │ │ +0002e640: 6c29 290a 2020 2254 6865 2066 6163 6520 l)). "The face │ │ │ +0002e650: 7573 6564 2066 6f72 2067 656e 6572 616c used for general │ │ │ +0002e660: 697a 6162 6c65 2076 6172 6961 626c 6573 izable variables │ │ │ +0002e670: 2e22 0a20 203a 6772 6f75 7020 2761 6764 .". :group 'agd │ │ │ +0002e680: 6132 2d68 6967 686c 6967 6874 2d66 6163 a2-highlight-fac │ │ │ +0002e690: 6573 290a 0a28 6465 6666 6163 6520 6167 es)..(defface ag │ │ │ +0002e6a0: 6461 322d 6869 6768 6c69 6768 742d 696e da2-highlight-in │ │ │ +0002e6b0: 6475 6374 6976 652d 636f 6e73 7472 7563 ductive-construc │ │ │ +0002e6c0: 746f 722d 6661 6365 0a20 2027 2828 2828 tor-face. '(((( │ │ │ +0002e6d0: 6261 636b 6772 6f75 6e64 206c 6967 6874 background light │ │ │ +0002e6e0: 2929 0a20 2020 2020 3a66 6f72 6567 726f )). :foregro │ │ │ +0002e6f0: 756e 6420 2267 7265 656e 3422 290a 2020 und "green4"). │ │ │ +0002e700: 2020 2828 2862 6163 6b67 726f 756e 6420 (((background │ │ │ +0002e710: 6461 726b 2929 0a20 2020 2020 3a66 6f72 dark)). :for │ │ │ +0002e720: 6567 726f 756e 6420 2223 3239 4343 3239 eground "#29CC29 │ │ │ +0002e730: 2229 290a 2020 2254 6865 2066 6163 6520 ")). "The face │ │ │ +0002e740: 7573 6564 2066 6f72 2069 6e64 7563 7469 used for inducti │ │ │ +0002e750: 7665 2063 6f6e 7374 7275 6374 6f72 732e ve constructors. │ │ │ +0002e760: 220a 2020 3a67 726f 7570 2027 6167 6461 ". :group 'agda │ │ │ +0002e770: 322d 6869 6768 6c69 6768 742d 6661 6365 2-highlight-face │ │ │ +0002e780: 7329 0a0a 2864 6566 6661 6365 2061 6764 s)..(defface agd │ │ │ +0002e790: 6132 2d68 6967 686c 6967 6874 2d63 6f69 a2-highlight-coi │ │ │ +0002e7a0: 6e64 7563 7469 7665 2d63 6f6e 7374 7275 nductive-constru │ │ │ +0002e7b0: 6374 6f72 2d66 6163 650a 2020 2728 2828 ctor-face. '((( │ │ │ +0002e7c0: 2862 6163 6b67 726f 756e 6420 6c69 6768 (background ligh │ │ │ +0002e7d0: 7429 290a 2020 2020 203a 666f 7265 6772 t)). :foregr │ │ │ +0002e7e0: 6f75 6e64 2022 676f 6c64 3422 290a 2020 ound "gold4"). │ │ │ +0002e7f0: 2020 2828 2862 6163 6b67 726f 756e 6420 (((background │ │ │ +0002e800: 6461 726b 2929 0a20 2020 2020 3a66 6f72 dark)). :for │ │ │ +0002e810: 6567 726f 756e 6420 2223 4646 4541 3735 eground "#FFEA75 │ │ │ +0002e820: 2229 290a 2020 2254 6865 2066 6163 6520 ")). "The face │ │ │ +0002e830: 7573 6564 2066 6f72 2063 6f69 6e64 7563 used for coinduc │ │ │ +0002e840: 7469 7665 2063 6f6e 7374 7275 6374 6f72 tive constructor │ │ │ +0002e850: 732e 220a 2020 3a67 726f 7570 2027 6167 s.". :group 'ag │ │ │ +0002e860: 6461 322d 6869 6768 6c69 6768 742d 6661 da2-highlight-fa │ │ │ +0002e870: 6365 7329 0a0a 2864 6566 6661 6365 2061 ces)..(defface a │ │ │ +0002e880: 6764 6132 2d68 6967 686c 6967 6874 2d64 gda2-highlight-d │ │ │ +0002e890: 6174 6174 7970 652d 6661 6365 0a20 2027 atatype-face. ' │ │ │ +0002e8a0: 2828 2828 6261 636b 6772 6f75 6e64 206c ((((background l │ │ │ +0002e8b0: 6967 6874 2929 0a20 2020 2020 283a 666f ight)). (:fo │ │ │ +0002e8c0: 7265 6772 6f75 6e64 2022 6d65 6469 756d reground "medium │ │ │ +0002e8d0: 2062 6c75 6522 2929 0a20 2020 2028 2828 blue")). ((( │ │ │ +0002e8e0: 6261 636b 6772 6f75 6e64 2064 6172 6b29 background dark) │ │ │ +0002e8f0: 290a 2020 2020 2028 3a66 6f72 6567 726f ). (:foregro │ │ │ +0002e900: 756e 6420 2223 3830 3830 4646 2229 2929 und "#8080FF"))) │ │ │ +0002e910: 0a20 2022 5468 6520 6661 6365 2075 7365 . "The face use │ │ │ +0002e920: 6420 666f 7220 6461 7461 7479 7065 732e d for datatypes. │ │ │ +0002e930: 220a 2020 3a67 726f 7570 2027 6167 6461 ". :group 'agda │ │ │ +0002e940: 322d 6869 6768 6c69 6768 742d 6661 6365 2-highlight-face │ │ │ +0002e950: 7329 0a0a 2864 6566 6661 6365 2061 6764 s)..(defface agd │ │ │ +0002e960: 6132 2d68 6967 686c 6967 6874 2d66 6965 a2-highlight-fie │ │ │ +0002e970: 6c64 2d66 6163 650a 2020 2728 2828 2862 ld-face. '((((b │ │ │ +0002e980: 6163 6b67 726f 756e 6420 6c69 6768 7429 ackground light) │ │ │ +0002e990: 290a 2020 2020 2028 3a66 6f72 6567 726f ). (:foregro │ │ │ +0002e9a0: 756e 6420 2244 6565 7050 696e 6b32 2229 und "DeepPink2") │ │ │ +0002e9b0: 290a 2020 2020 2828 2862 6163 6b67 726f ). (((backgro │ │ │ +0002e9c0: 756e 6420 6461 726b 2929 0a20 2020 2020 und dark)). │ │ │ +0002e9d0: 283a 666f 7265 6772 6f75 6e64 2022 2346 (:foreground "#F │ │ │ +0002e9e0: 3537 3042 3722 2929 290a 2020 2254 6865 570B7"))). "The │ │ │ +0002e9f0: 2066 6163 6520 7573 6564 2066 6f72 2072 face used for r │ │ │ +0002ea00: 6563 6f72 6420 6669 656c 6473 2e22 0a20 ecord fields.". │ │ │ +0002ea10: 203a 6772 6f75 7020 2761 6764 6132 2d68 :group 'agda2-h │ │ │ +0002ea20: 6967 686c 6967 6874 2d66 6163 6573 290a ighlight-faces). │ │ │ +0002ea30: 0a28 6465 6666 6163 6520 6167 6461 322d .(defface agda2- │ │ │ +0002ea40: 6869 6768 6c69 6768 742d 6675 6e63 7469 highlight-functi │ │ │ +0002ea50: 6f6e 2d66 6163 650a 2020 2728 2828 2862 on-face. '((((b │ │ │ +0002ea60: 6163 6b67 726f 756e 6420 6c69 6768 7429 ackground light) │ │ │ +0002ea70: 290a 2020 2020 2028 3a66 6f72 6567 726f ). (:foregro │ │ │ +0002ea80: 756e 6420 226d 6564 6975 6d20 626c 7565 und "medium blue │ │ │ +0002ea90: 2229 290a 2020 2020 2828 2862 6163 6b67 ")). (((backg │ │ │ +0002eaa0: 726f 756e 6420 6461 726b 2929 0a20 2020 round dark)). │ │ │ +0002eab0: 2020 283a 666f 7265 6772 6f75 6e64 2022 (:foreground " │ │ │ +0002eac0: 2338 3038 3046 4622 2929 290a 2020 2254 #8080FF"))). "T │ │ │ +0002ead0: 6865 2066 6163 6520 7573 6564 2066 6f72 he face used for │ │ │ +0002eae0: 2066 756e 6374 696f 6e73 2e22 0a20 203a functions.". : │ │ │ +0002eaf0: 6772 6f75 7020 2761 6764 6132 2d68 6967 group 'agda2-hig │ │ │ +0002eb00: 686c 6967 6874 2d66 6163 6573 290a 0a28 hlight-faces)..( │ │ │ +0002eb10: 6465 6666 6163 6520 6167 6461 322d 6869 defface agda2-hi │ │ │ +0002eb20: 6768 6c69 6768 742d 6d6f 6475 6c65 2d66 ghlight-module-f │ │ │ +0002eb30: 6163 650a 2020 2728 2828 2862 6163 6b67 ace. '((((backg │ │ │ +0002eb40: 726f 756e 6420 6c69 6768 7429 290a 2020 round light)). │ │ │ +0002eb50: 2020 2028 3a66 6f72 6567 726f 756e 6420 (:foreground │ │ │ +0002eb60: 2270 7572 706c 6522 2929 0a20 2020 2028 "purple")). ( │ │ │ +0002eb70: 2828 6261 636b 6772 6f75 6e64 2064 6172 ((background dar │ │ │ +0002eb80: 6b29 290a 2020 2020 2028 3a66 6f72 6567 k)). (:foreg │ │ │ +0002eb90: 726f 756e 6420 2223 4344 3830 4646 2229 round "#CD80FF") │ │ │ +0002eba0: 2929 0a20 2022 5468 6520 6661 6365 2075 )). "The face u │ │ │ +0002ebb0: 7365 6420 666f 7220 6d6f 6475 6c65 206e sed for module n │ │ │ +0002ebc0: 616d 6573 2e22 0a20 203a 6772 6f75 7020 ames.". :group │ │ │ +0002ebd0: 2761 6764 6132 2d68 6967 686c 6967 6874 'agda2-highlight │ │ │ +0002ebe0: 2d66 6163 6573 290a 0a28 6465 6666 6163 -faces)..(deffac │ │ │ +0002ebf0: 6520 6167 6461 322d 6869 6768 6c69 6768 e agda2-highligh │ │ │ +0002ec00: 742d 706f 7374 756c 6174 652d 6661 6365 t-postulate-face │ │ │ +0002ec10: 0a20 2027 2828 2828 6261 636b 6772 6f75 . '((((backgrou │ │ │ +0002ec20: 6e64 206c 6967 6874 2929 0a20 2020 2020 nd light)). │ │ │ +0002ec30: 283a 666f 7265 6772 6f75 6e64 2022 6d65 (:foreground "me │ │ │ +0002ec40: 6469 756d 2062 6c75 6522 2929 0a20 2020 dium blue")). │ │ │ +0002ec50: 2028 2828 6261 636b 6772 6f75 6e64 2064 (((background d │ │ │ +0002ec60: 6172 6b29 290a 2020 2020 2028 3a66 6f72 ark)). (:for │ │ │ +0002ec70: 6567 726f 756e 6420 2223 3830 3830 4646 eground "#8080FF │ │ │ +0002ec80: 2229 2929 0a20 2022 5468 6520 6661 6365 "))). "The face │ │ │ +0002ec90: 2075 7365 6420 666f 7220 706f 7374 756c used for postul │ │ │ +0002eca0: 6174 6573 2e22 0a20 203a 6772 6f75 7020 ates.". :group │ │ │ +0002ecb0: 2761 6764 6132 2d68 6967 686c 6967 6874 'agda2-highlight │ │ │ +0002ecc0: 2d66 6163 6573 290a 0a28 6465 6666 6163 -faces)..(deffac │ │ │ +0002ecd0: 6520 6167 6461 322d 6869 6768 6c69 6768 e agda2-highligh │ │ │ +0002ece0: 742d 7072 6167 6d61 2d66 6163 650a 2020 t-pragma-face. │ │ │ +0002ecf0: 2728 2874 206e 696c 2929 0a20 2022 5468 '((t nil)). "Th │ │ │ +0002ed00: 6520 6661 6365 2075 7365 6420 666f 7220 e face used for │ │ │ +0002ed10: 2873 6f6d 6520 7465 7874 2069 6e29 2070 (some text in) p │ │ │ +0002ed20: 7261 676d 6173 2e22 0a20 203a 6772 6f75 ragmas.". :grou │ │ │ +0002ed30: 7020 2761 6764 6132 2d68 6967 686c 6967 p 'agda2-highlig │ │ │ +0002ed40: 6874 2d66 6163 6573 290a 0a28 6465 6666 ht-faces)..(deff │ │ │ +0002ed50: 6163 6520 6167 6461 322d 6869 6768 6c69 ace agda2-highli │ │ │ +0002ed60: 6768 742d 7072 696d 6974 6976 652d 6661 ght-primitive-fa │ │ │ +0002ed70: 6365 0a20 2027 2828 2828 6261 636b 6772 ce. '((((backgr │ │ │ +0002ed80: 6f75 6e64 206c 6967 6874 2929 0a20 2020 ound light)). │ │ │ +0002ed90: 2020 283a 666f 7265 6772 6f75 6e64 2022 (:foreground " │ │ │ +0002eda0: 6d65 6469 756d 2062 6c75 6522 2929 0a20 medium blue")). │ │ │ +0002edb0: 2020 2028 2828 6261 636b 6772 6f75 6e64 (((background │ │ │ +0002edc0: 2064 6172 6b29 290a 2020 2020 2028 3a66 dark)). (:f │ │ │ +0002edd0: 6f72 6567 726f 756e 6420 2223 3830 3830 oreground "#8080 │ │ │ +0002ede0: 4646 2229 2929 0a20 2022 5468 6520 6661 FF"))). "The fa │ │ │ +0002edf0: 6365 2075 7365 6420 666f 7220 7072 696d ce used for prim │ │ │ +0002ee00: 6974 6976 6520 6675 6e63 7469 6f6e 732e itive functions. │ │ │ +0002ee10: 220a 2020 3a67 726f 7570 2027 6167 6461 ". :group 'agda │ │ │ +0002ee20: 322d 6869 6768 6c69 6768 742d 6661 6365 2-highlight-face │ │ │ +0002ee30: 7329 0a0a 2864 6566 6661 6365 2061 6764 s)..(defface agd │ │ │ +0002ee40: 6132 2d68 6967 686c 6967 6874 2d6d 6163 a2-highlight-mac │ │ │ +0002ee50: 726f 2d66 6163 650a 2020 2728 2828 2862 ro-face. '((((b │ │ │ +0002ee60: 6163 6b67 726f 756e 6420 6c69 6768 7429 ackground light) │ │ │ +0002ee70: 290a 2020 2020 2028 3a66 6f72 6567 726f ). (:foregro │ │ │ +0002ee80: 756e 6420 2261 7175 616d 6172 696e 6534 und "aquamarine4 │ │ │ +0002ee90: 2229 290a 2020 2020 2828 2862 6163 6b67 ")). (((backg │ │ │ +0002eea0: 726f 756e 6420 6461 726b 2929 0a20 2020 round dark)). │ │ │ +0002eeb0: 2020 283a 666f 7265 6772 6f75 6e64 2022 (:foreground " │ │ │ +0002eec0: 2337 3342 4141 3222 2929 290a 2020 2254 #73BAA2"))). "T │ │ │ +0002eed0: 6865 2066 6163 6520 7573 6564 2066 6f72 he face used for │ │ │ +0002eee0: 206d 6163 726f 732e 220a 2020 3a67 726f macros.". :gro │ │ │ +0002eef0: 7570 2027 6167 6461 322d 6869 6768 6c69 up 'agda2-highli │ │ │ +0002ef00: 6768 742d 6661 6365 7329 0a0a 2864 6566 ght-faces)..(def │ │ │ +0002ef10: 6661 6365 2061 6764 6132 2d68 6967 686c face agda2-highl │ │ │ +0002ef20: 6967 6874 2d72 6563 6f72 642d 6661 6365 ight-record-face │ │ │ +0002ef30: 0a20 2027 2828 2828 6261 636b 6772 6f75 . '((((backgrou │ │ │ +0002ef40: 6e64 206c 6967 6874 2929 0a20 2020 2020 nd light)). │ │ │ +0002ef50: 283a 666f 7265 6772 6f75 6e64 2022 6d65 (:foreground "me │ │ │ +0002ef60: 6469 756d 2062 6c75 6522 2929 0a20 2020 dium blue")). │ │ │ +0002ef70: 2028 2828 6261 636b 6772 6f75 6e64 2064 (((background d │ │ │ +0002ef80: 6172 6b29 290a 2020 2020 2028 3a66 6f72 ark)). (:for │ │ │ +0002ef90: 6567 726f 756e 6420 2223 3830 3830 4646 eground "#8080FF │ │ │ +0002efa0: 2229 2929 0a20 2022 5468 6520 6661 6365 "))). "The face │ │ │ +0002efb0: 2075 7365 6420 666f 7220 7265 636f 7264 used for record │ │ │ +0002efc0: 2074 7970 6573 2e22 0a20 203a 6772 6f75 types.". :grou │ │ │ +0002efd0: 7020 2761 6764 6132 2d68 6967 686c 6967 p 'agda2-highlig │ │ │ +0002efe0: 6874 2d66 6163 6573 290a 0a28 6465 6666 ht-faces)..(deff │ │ │ +0002eff0: 6163 6520 6167 6461 322d 6869 6768 6c69 ace agda2-highli │ │ │ +0002f000: 6768 742d 646f 7474 6564 2d66 6163 650a ght-dotted-face. │ │ │ +0002f010: 2020 2728 2874 206e 696c 2929 0a20 2022 '((t nil)). " │ │ │ +0002f020: 5468 6520 6661 6365 2075 7365 6420 666f The face used fo │ │ │ +0002f030: 7220 646f 7474 6564 2070 6174 7465 726e r dotted pattern │ │ │ +0002f040: 732e 220a 2020 3a67 726f 7570 2027 6167 s.". :group 'ag │ │ │ +0002f050: 6461 322d 6869 6768 6c69 6768 742d 6661 da2-highlight-fa │ │ │ +0002f060: 6365 7329 0a0a 2864 6566 6661 6365 2061 ces)..(defface a │ │ │ +0002f070: 6764 6132 2d68 6967 686c 6967 6874 2d6f gda2-highlight-o │ │ │ +0002f080: 7065 7261 746f 722d 6661 6365 0a20 2027 perator-face. ' │ │ │ +0002f090: 2828 7420 6e69 6c29 290a 2020 2254 6865 ((t nil)). "The │ │ │ +0002f0a0: 2066 6163 6520 7573 6564 2066 6f72 206f face used for o │ │ │ +0002f0b0: 7065 7261 746f 7273 2e22 0a20 203a 6772 perators.". :gr │ │ │ +0002f0c0: 6f75 7020 2761 6764 6132 2d68 6967 686c oup 'agda2-highl │ │ │ +0002f0d0: 6967 6874 2d66 6163 6573 290a 0a28 6465 ight-faces)..(de │ │ │ +0002f0e0: 6666 6163 6520 6167 6461 322d 6869 6768 fface agda2-high │ │ │ +0002f0f0: 6c69 6768 742d 6572 726f 722d 6661 6365 light-error-face │ │ │ +0002f100: 0a20 2027 2828 2828 6261 636b 6772 6f75 . '((((backgrou │ │ │ +0002f110: 6e64 206c 6967 6874 2929 0a20 2020 2020 nd light)). │ │ │ +0002f120: 283a 666f 7265 6772 6f75 6e64 2022 7265 (:foreground "re │ │ │ +0002f130: 6422 203a 756e 6465 726c 696e 6520 7429 d" :underline t) │ │ │ +0002f140: 290a 2020 2020 2828 2862 6163 6b67 726f ). (((backgro │ │ │ +0002f150: 756e 6420 6461 726b 2929 0a20 2020 2020 und dark)). │ │ │ +0002f160: 283a 666f 7265 6772 6f75 6e64 2022 2346 (:foreground "#F │ │ │ +0002f170: 4630 3030 3022 203a 756e 6465 726c 696e F0000" :underlin │ │ │ +0002f180: 6520 7429 2929 0a20 2022 5468 6520 6661 e t))). "The fa │ │ │ +0002f190: 6365 2075 7365 6420 666f 7220 6572 726f ce used for erro │ │ │ +0002f1a0: 7273 2e22 0a20 203a 6772 6f75 7020 2761 rs.". :group 'a │ │ │ +0002f1b0: 6764 6132 2d68 6967 686c 6967 6874 2d66 gda2-highlight-f │ │ │ +0002f1c0: 6163 6573 290a 0a28 6465 6666 6163 6520 aces)..(defface │ │ │ +0002f1d0: 6167 6461 322d 6869 6768 6c69 6768 742d agda2-highlight- │ │ │ +0002f1e0: 6572 726f 722d 7761 726e 696e 672d 6661 error-warning-fa │ │ │ +0002f1f0: 6365 0a20 2027 2828 2828 6261 636b 6772 ce. '((((backgr │ │ │ +0002f200: 6f75 6e64 206c 6967 6874 2929 0a20 2020 ound light)). │ │ │ +0002f210: 2020 283a 6261 636b 6772 6f75 6e64 2022 (:background " │ │ │ +0002f220: 6c69 6768 7420 636f 7261 6c22 203a 756e light coral" :un │ │ │ +0002f230: 6465 726c 696e 6520 7429 290a 2020 2020 derline t)). │ │ │ +0002f240: 2828 2862 6163 6b67 726f 756e 6420 6461 (((background da │ │ │ +0002f250: 726b 2929 0a20 2020 2020 283a 6261 636b rk)). (:back │ │ │ +0002f260: 6772 6f75 6e64 2022 2338 3032 3430 3022 ground "#802400" │ │ │ +0002f270: 203a 756e 6465 726c 696e 6520 7429 2929 :underline t))) │ │ │ +0002f280: 0a20 2022 5468 6520 6661 6365 2075 7365 . "The face use │ │ │ +0002f290: 6420 666f 7220 6661 7461 6c20 7761 726e d for fatal warn │ │ │ +0002f2a0: 696e 6773 2e22 0a20 203a 6772 6f75 7020 ings.". :group │ │ │ +0002f2b0: 2761 6764 6132 2d68 6967 686c 6967 6874 'agda2-highlight │ │ │ +0002f2c0: 2d66 6163 6573 290a 0a28 6465 6666 6163 -faces)..(deffac │ │ │ +0002f2d0: 6520 6167 6461 322d 6869 6768 6c69 6768 e agda2-highligh │ │ │ +0002f2e0: 742d 756e 736f 6c76 6564 2d6d 6574 612d t-unsolved-meta- │ │ │ +0002f2f0: 6661 6365 0a20 2027 2828 2828 6261 636b face. '((((back │ │ │ +0002f300: 6772 6f75 6e64 206c 6967 6874 2929 0a20 ground light)). │ │ │ +0002f310: 2020 2020 283a 6261 636b 6772 6f75 6e64 (:background │ │ │ +0002f320: 2022 7965 6c6c 6f77 2229 290a 2020 2020 "yellow")). │ │ │ +0002f330: 2828 2862 6163 6b67 726f 756e 6420 6461 (((background da │ │ │ +0002f340: 726b 2929 0a20 2020 2020 283a 6261 636b rk)). (:back │ │ │ +0002f350: 6772 6f75 6e64 2022 2338 3036 4230 3022 ground "#806B00" │ │ │ +0002f360: 2929 290a 2020 2254 6865 2066 6163 6520 ))). "The face │ │ │ +0002f370: 7573 6564 2066 6f72 2075 6e73 6f6c 7665 used for unsolve │ │ │ +0002f380: 6420 6d65 7461 2076 6172 6961 626c 6573 d meta variables │ │ │ +0002f390: 2e22 0a20 203a 6772 6f75 7020 2761 6764 .". :group 'agd │ │ │ +0002f3a0: 6132 2d68 6967 686c 6967 6874 2d66 6163 a2-highlight-fac │ │ │ +0002f3b0: 6573 290a 0a28 6465 6666 6163 6520 6167 es)..(defface ag │ │ │ +0002f3c0: 6461 322d 6869 6768 6c69 6768 742d 756e da2-highlight-un │ │ │ +0002f3d0: 736f 6c76 6564 2d63 6f6e 7374 7261 696e solved-constrain │ │ │ +0002f3e0: 742d 6661 6365 0a20 2027 2828 2828 6261 t-face. '((((ba │ │ │ +0002f3f0: 636b 6772 6f75 6e64 206c 6967 6874 2929 ckground light)) │ │ │ +0002f400: 0a20 2020 2020 283a 6261 636b 6772 6f75 . (:backgrou │ │ │ +0002f410: 6e64 2022 7965 6c6c 6f77 2229 290a 2020 nd "yellow")). │ │ │ +0002f420: 2020 2828 2862 6163 6b67 726f 756e 6420 (((background │ │ │ +0002f430: 6461 726b 2929 0a20 2020 2020 283a 6261 dark)). (:ba │ │ │ +0002f440: 636b 6772 6f75 6e64 2022 2338 3036 4230 ckground "#806B0 │ │ │ +0002f450: 3022 2929 290a 2020 2254 6865 2066 6163 0"))). "The fac │ │ │ +0002f460: 6520 7573 6564 2066 6f72 2075 6e73 6f6c e used for unsol │ │ │ +0002f470: 7665 6420 636f 6e73 7472 6169 6e74 7320 ved constraints │ │ │ +0002f480: 7768 6963 6820 6172 6520 6e6f 7420 636f which are not co │ │ │ +0002f490: 6e6e 6563 7465 6420 746f 206d 6574 6173 nnected to metas │ │ │ +0002f4a0: 2e22 0a20 203a 6772 6f75 7020 2761 6764 .". :group 'agd │ │ │ +0002f4b0: 6132 2d68 6967 686c 6967 6874 2d66 6163 a2-highlight-fac │ │ │ +0002f4c0: 6573 290a 0a28 6465 6666 6163 6520 6167 es)..(defface ag │ │ │ +0002f4d0: 6461 322d 6869 6768 6c69 6768 742d 7465 da2-highlight-te │ │ │ +0002f4e0: 726d 696e 6174 696f 6e2d 7072 6f62 6c65 rmination-proble │ │ │ +0002f4f0: 6d2d 6661 6365 0a20 2027 2828 2828 6261 m-face. '((((ba │ │ │ +0002f500: 636b 6772 6f75 6e64 206c 6967 6874 2929 ckground light)) │ │ │ +0002f510: 0a20 2020 2020 283a 6261 636b 6772 6f75 . (:backgrou │ │ │ +0002f520: 6e64 2022 6c69 6768 7420 7361 6c6d 6f6e nd "light salmon │ │ │ +0002f530: 2229 290a 2020 2020 2828 2862 6163 6b67 ")). (((backg │ │ │ +0002f540: 726f 756e 6420 6461 726b 2929 0a20 2020 round dark)). │ │ │ +0002f550: 2020 283a 6261 636b 6772 6f75 6e64 2022 (:background " │ │ │ +0002f560: 2338 3032 3430 3022 2929 290a 2020 2254 #802400"))). "T │ │ │ +0002f570: 6865 2066 6163 6520 7573 6564 2066 6f72 he face used for │ │ │ +0002f580: 2074 6572 6d69 6e61 7469 6f6e 2070 726f termination pro │ │ │ +0002f590: 626c 656d 732e 220a 2020 3a67 726f 7570 blems.". :group │ │ │ +0002f5a0: 2027 6167 6461 322d 6869 6768 6c69 6768 'agda2-highligh │ │ │ +0002f5b0: 742d 6661 6365 7329 0a0a 2864 6566 6661 t-faces)..(deffa │ │ │ +0002f5c0: 6365 2061 6764 6132 2d68 6967 686c 6967 ce agda2-highlig │ │ │ +0002f5d0: 6874 2d70 6f73 6974 6976 6974 792d 7072 ht-positivity-pr │ │ │ +0002f5e0: 6f62 6c65 6d2d 6661 6365 0a20 2027 2828 oblem-face. '(( │ │ │ +0002f5f0: 2828 6261 636b 6772 6f75 6e64 206c 6967 ((background lig │ │ │ +0002f600: 6874 2929 0a20 2020 2020 283a 6261 636b ht)). (:back │ │ │ +0002f610: 6772 6f75 6e64 2022 7065 7275 2229 290a ground "peru")). │ │ │ +0002f620: 2020 2020 2828 2862 6163 6b67 726f 756e (((backgroun │ │ │ +0002f630: 6420 6461 726b 2929 0a20 2020 2020 283a d dark)). (: │ │ │ +0002f640: 6261 636b 6772 6f75 6e64 2022 2338 3033 background "#803 │ │ │ +0002f650: 4630 3022 2929 290a 2020 2254 6865 2066 F00"))). "The f │ │ │ +0002f660: 6163 6520 7573 6564 2066 6f72 2070 6f73 ace used for pos │ │ │ +0002f670: 6974 6976 6974 7920 7072 6f62 6c65 6d73 itivity problems │ │ │ +0002f680: 2e22 0a20 203a 6772 6f75 7020 2761 6764 .". :group 'agd │ │ │ +0002f690: 6132 2d68 6967 686c 6967 6874 2d66 6163 a2-highlight-fac │ │ │ +0002f6a0: 6573 290a 0a28 6465 6666 6163 6520 6167 es)..(defface ag │ │ │ +0002f6b0: 6461 322d 6869 6768 6c69 6768 742d 6465 da2-highlight-de │ │ │ +0002f6c0: 6164 636f 6465 2d66 6163 650a 2020 2728 adcode-face. '( │ │ │ +0002f6d0: 2828 2862 6163 6b67 726f 756e 6420 6c69 (((background li │ │ │ +0002f6e0: 6768 7429 290a 2020 2020 2028 3a62 6163 ght)). (:bac │ │ │ +0002f6f0: 6b67 726f 756e 6420 2264 6172 6b20 6772 kground "dark gr │ │ │ +0002f700: 6179 2229 290a 2020 2020 2828 2862 6163 ay")). (((bac │ │ │ +0002f710: 6b67 726f 756e 6420 6461 726b 2929 0a20 kground dark)). │ │ │ +0002f720: 2020 2020 283a 6261 636b 6772 6f75 6e64 (:background │ │ │ +0002f730: 2022 2338 3038 3038 3022 2929 290a 2020 "#808080"))). │ │ │ +0002f740: 2254 6865 2066 6163 6520 7573 6564 2066 "The face used f │ │ │ +0002f750: 6f72 2064 6561 6420 636f 6465 2028 756e or dead code (un │ │ │ +0002f760: 7265 6163 6861 626c 6520 636c 6175 7365 reachable clause │ │ │ +0002f770: 732c 2065 7463 2e29 2e22 0a20 203a 6772 s, etc.).". :gr │ │ │ +0002f780: 6f75 7020 2761 6764 6132 2d68 6967 686c oup 'agda2-highl │ │ │ +0002f790: 6967 6874 2d66 6163 6573 290a 0a28 6465 ight-faces)..(de │ │ │ +0002f7a0: 6666 6163 6520 6167 6461 322d 6869 6768 fface agda2-high │ │ │ +0002f7b0: 6c69 6768 742d 7368 6164 6f77 696e 672d light-shadowing- │ │ │ +0002f7c0: 696e 2d74 656c 6573 636f 7065 2d66 6163 in-telescope-fac │ │ │ +0002f7d0: 650a 2020 2728 2828 2862 6163 6b67 726f e. '((((backgro │ │ │ +0002f7e0: 756e 6420 6c69 6768 7429 290a 2020 2020 und light)). │ │ │ +0002f7f0: 2028 3a62 6163 6b67 726f 756e 6420 2264 (:background "d │ │ │ +0002f800: 6172 6b20 6772 6179 2229 290a 2020 2020 ark gray")). │ │ │ +0002f810: 2828 2862 6163 6b67 726f 756e 6420 6461 (((background da │ │ │ +0002f820: 726b 2929 0a20 2020 2020 283a 6261 636b rk)). (:back │ │ │ +0002f830: 6772 6f75 6e64 2022 2338 3038 3038 3022 ground "#808080" │ │ │ +0002f840: 2929 290a 2020 2254 6865 2066 6163 6520 ))). "The face │ │ │ +0002f850: 7573 6564 2066 6f72 2073 6861 646f 7765 used for shadowe │ │ │ +0002f860: 6420 7265 7065 6174 6564 2076 6172 6961 d repeated varia │ │ │ +0002f870: 626c 6520 6e61 6d65 7320 696e 2074 656c ble names in tel │ │ │ +0002f880: 6573 636f 7065 732e 220a 2020 3a67 726f escopes.". :gro │ │ │ +0002f890: 7570 2027 6167 6461 322d 6869 6768 6c69 up 'agda2-highli │ │ │ +0002f8a0: 6768 742d 6661 6365 7329 0a0a 2864 6566 ght-faces)..(def │ │ │ +0002f8b0: 6661 6365 2061 6764 6132 2d68 6967 686c face agda2-highl │ │ │ +0002f8c0: 6967 6874 2d63 6f76 6572 6167 652d 7072 ight-coverage-pr │ │ │ +0002f8d0: 6f62 6c65 6d2d 6661 6365 0a20 2027 2828 oblem-face. '(( │ │ │ +0002f8e0: 2828 6261 636b 6772 6f75 6e64 206c 6967 ((background lig │ │ │ +0002f8f0: 6874 2929 0a20 2020 2020 283a 6261 636b ht)). (:back │ │ │ +0002f900: 6772 6f75 6e64 2022 7768 6561 7422 2929 ground "wheat")) │ │ │ +0002f910: 0a20 2020 2028 2828 6261 636b 6772 6f75 . (((backgrou │ │ │ +0002f920: 6e64 2064 6172 6b29 290a 2020 2020 2028 nd dark)). ( │ │ │ +0002f930: 3a62 6163 6b67 726f 756e 6420 2223 3830 :background "#80 │ │ │ +0002f940: 3533 3030 2229 2929 0a20 2022 5468 6520 5300"))). "The │ │ │ +0002f950: 6661 6365 2075 7365 6420 666f 7220 636f face used for co │ │ │ +0002f960: 7665 7261 6765 2070 726f 626c 656d 732e verage problems. │ │ │ +0002f970: 220a 2020 3a67 726f 7570 2027 6167 6461 ". :group 'agda │ │ │ +0002f980: 322d 6869 6768 6c69 6768 742d 6661 6365 2-highlight-face │ │ │ +0002f990: 7329 0a0a 2864 6566 6661 6365 2061 6764 s)..(defface agd │ │ │ +0002f9a0: 6132 2d68 6967 686c 6967 6874 2d63 6174 a2-highlight-cat │ │ │ +0002f9b0: 6368 616c 6c2d 636c 6175 7365 2d66 6163 chall-clause-fac │ │ │ +0002f9c0: 650a 2020 2728 2828 2862 6163 6b67 726f e. '((((backgro │ │ │ +0002f9d0: 756e 6420 6c69 6768 7429 290a 2020 2020 und light)). │ │ │ +0002f9e0: 2028 3a62 6163 6b67 726f 756e 6420 2277 (:background "w │ │ │ +0002f9f0: 6869 7465 2073 6d6f 6b65 2229 290a 2020 hite smoke")). │ │ │ +0002fa00: 2020 2828 2862 6163 6b67 726f 756e 6420 (((background │ │ │ +0002fa10: 6461 726b 2929 0a20 2020 2020 283a 6261 dark)). (:ba │ │ │ +0002fa20: 636b 6772 6f75 6e64 2022 2334 3034 3034 ckground "#40404 │ │ │ +0002fa30: 3022 2929 290a 2020 2254 6865 2066 6163 0"))). "The fac │ │ │ +0002fa40: 6520 7573 6564 2066 6f72 2063 6174 6368 e used for catch │ │ │ +0002fa50: 616c 6c20 636c 6175 7365 732e 220a 2020 all clauses.". │ │ │ +0002fa60: 3a67 726f 7570 2027 6167 6461 322d 6869 :group 'agda2-hi │ │ │ +0002fa70: 6768 6c69 6768 742d 6661 6365 7329 0a0a ghlight-faces).. │ │ │ +0002fa80: 2864 6566 6661 6365 2061 6764 6132 2d68 (defface agda2-h │ │ │ +0002fa90: 6967 686c 6967 6874 2d63 6f73 6d65 7469 ighlight-cosmeti │ │ │ +0002faa0: 632d 7072 6f62 6c65 6d2d 6661 6365 0a20 c-problem-face. │ │ │ +0002fab0: 2027 2828 2828 6261 636b 6772 6f75 6e64 '((((background │ │ │ +0002fac0: 206c 6967 6874 2929 0a20 2020 2020 283a light)). (: │ │ │ +0002fad0: 6261 636b 6772 6f75 6e64 2022 7768 6974 background "whit │ │ │ +0002fae0: 6520 736d 6f6b 6522 2929 0a20 2020 2028 e smoke")). ( │ │ │ +0002faf0: 2828 6261 636b 6772 6f75 6e64 2064 6172 ((background dar │ │ │ +0002fb00: 6b29 290a 2020 2020 2028 3a62 6163 6b67 k)). (:backg │ │ │ +0002fb10: 726f 756e 6420 2223 3430 3430 3430 2229 round "#404040") │ │ │ +0002fb20: 2929 0a20 2022 5468 6520 6661 6365 2075 )). "The face u │ │ │ +0002fb30: 7365 6420 666f 7220 636f 736d 6574 6963 sed for cosmetic │ │ │ +0002fb40: 2070 726f 626c 656d 732e 220a 2020 3a67 problems.". :g │ │ │ +0002fb50: 726f 7570 2027 6167 6461 322d 6869 6768 roup 'agda2-high │ │ │ +0002fb60: 6c69 6768 742d 6661 6365 7329 0a0a 2864 light-faces)..(d │ │ │ +0002fb70: 6566 6661 6365 2061 6764 6132 2d68 6967 efface agda2-hig │ │ │ +0002fb80: 686c 6967 6874 2d63 6f6e 666c 7565 6e63 hlight-confluenc │ │ │ +0002fb90: 652d 7072 6f62 6c65 6d2d 6661 6365 0a20 e-problem-face. │ │ │ +0002fba0: 2027 2828 2828 6261 636b 6772 6f75 6e64 '((((background │ │ │ +0002fbb0: 206c 6967 6874 2929 0a20 2020 2020 283a light)). (: │ │ │ +0002fbc0: 6261 636b 6772 6f75 6e64 2022 7069 6e6b background "pink │ │ │ +0002fbd0: 2229 290a 2020 2020 2828 2862 6163 6b67 ")). (((backg │ │ │ +0002fbe0: 726f 756e 6420 6461 726b 2929 0a20 2020 round dark)). │ │ │ +0002fbf0: 2020 283a 6261 636b 6772 6f75 6e64 2022 (:background " │ │ │ +0002fc00: 2338 3030 3038 3022 2929 290a 2020 2254 #800080"))). "T │ │ │ +0002fc10: 6865 2066 6163 6520 7573 6564 2066 6f72 he face used for │ │ │ +0002fc20: 2063 6f6e 666c 7565 6e63 6520 7072 6f62 confluence prob │ │ │ +0002fc30: 6c65 6d73 2e22 0a20 203a 6772 6f75 7020 lems.". :group │ │ │ +0002fc40: 2761 6764 6132 2d68 6967 686c 6967 6874 'agda2-highlight │ │ │ +0002fc50: 2d66 6163 6573 290a 0a28 6465 6666 6163 -faces)..(deffac │ │ │ +0002fc60: 6520 6167 6461 322d 6869 6768 6c69 6768 e agda2-highligh │ │ │ +0002fc70: 742d 696e 7374 616e 6365 2d70 726f 626c t-instance-probl │ │ │ +0002fc80: 656d 2d66 6163 650a 2020 2728 2828 2862 em-face. '((((b │ │ │ +0002fc90: 6163 6b67 726f 756e 6420 6c69 6768 7429 ackground light) │ │ │ +0002fca0: 290a 2020 2020 2028 3a62 6163 6b67 726f ). (:backgro │ │ │ +0002fcb0: 756e 6420 2277 6865 6174 2229 290a 2020 und "wheat")). │ │ │ +0002fcc0: 2020 2828 2862 6163 6b67 726f 756e 6420 (((background │ │ │ +0002fcd0: 6461 726b 2929 0a20 2020 2020 283a 6261 dark)). (:ba │ │ │ +0002fce0: 636b 6772 6f75 6e64 2022 2338 3035 3330 ckground "#80530 │ │ │ +0002fcf0: 3022 2929 290a 2020 2254 6865 2066 6163 0"))). "The fac │ │ │ +0002fd00: 6520 7573 6564 2066 6f72 2069 6e73 7461 e used for insta │ │ │ +0002fd10: 6e63 6520 7072 6f62 6c65 6d73 2e22 0a20 nce problems.". │ │ │ +0002fd20: 203a 6772 6f75 7020 2761 6764 6132 2d68 :group 'agda2-h │ │ │ +0002fd30: 6967 686c 6967 6874 2d66 6163 6573 290a ighlight-faces). │ │ │ +0002fd40: 0a28 6465 6666 6163 6520 6167 6461 322d .(defface agda2- │ │ │ +0002fd50: 6869 6768 6c69 6768 742d 6d69 7373 696e highlight-missin │ │ │ +0002fd60: 672d 6465 6669 6e69 7469 6f6e 2d66 6163 g-definition-fac │ │ │ +0002fd70: 650a 2020 2728 2828 2862 6163 6b67 726f e. '((((backgro │ │ │ +0002fd80: 756e 6420 6c69 6768 7429 290a 2020 2020 und light)). │ │ │ +0002fd90: 2028 3a62 6163 6b67 726f 756e 6420 226f (:background "o │ │ │ +0002fda0: 7261 6e67 6522 2929 0a20 2020 2028 2828 range")). ((( │ │ │ +0002fdb0: 6261 636b 6772 6f75 6e64 2064 6172 6b29 background dark) │ │ │ +0002fdc0: 290a 2020 2020 2028 3a62 6163 6b67 726f ). (:backgro │ │ │ +0002fdd0: 756e 6420 2223 3830 3430 3430 2229 2929 und "#804040"))) │ │ │ +0002fde0: 0a20 2022 5468 6520 6661 6365 2075 7365 . "The face use │ │ │ +0002fdf0: 6420 666f 7220 7479 7065 2064 6563 6c61 d for type decla │ │ │ +0002fe00: 7261 7469 6f6e 7320 7769 7468 206d 6973 rations with mis │ │ │ +0002fe10: 7369 6e67 2064 6566 696e 6974 696f 6e73 sing definitions │ │ │ +0002fe20: 2e22 0a20 203a 6772 6f75 7020 2761 6764 .". :group 'agd │ │ │ +0002fe30: 6132 2d68 6967 686c 6967 6874 2d66 6163 a2-highlight-fac │ │ │ +0002fe40: 6573 290a 0a28 6465 6666 6163 6520 6167 es)..(defface ag │ │ │ +0002fe50: 6461 322d 6869 6768 6c69 6768 742d 7479 da2-highlight-ty │ │ │ +0002fe60: 7065 6368 6563 6b73 2d66 6163 650a 2020 pechecks-face. │ │ │ +0002fe70: 2728 2828 2862 6163 6b67 726f 756e 6420 '((((background │ │ │ +0002fe80: 6c69 6768 7429 290a 2020 2020 2028 3a62 light)). (:b │ │ │ +0002fe90: 6163 6b67 726f 756e 6420 226c 6967 6874 ackground "light │ │ │ +0002fea0: 2062 6c75 6522 203a 666f 7265 6772 6f75 blue" :foregrou │ │ │ +0002feb0: 6e64 2022 626c 6163 6b22 2929 0a20 2020 nd "black")). │ │ │ +0002fec0: 2028 2828 6261 636b 6772 6f75 6e64 2064 (((background d │ │ │ +0002fed0: 6172 6b29 290a 2020 2020 2028 3a62 6163 ark)). (:bac │ │ │ +0002fee0: 6b67 726f 756e 6420 2223 3030 3630 3830 kground "#006080 │ │ │ +0002fef0: 2220 3a66 6f72 6567 726f 756e 6420 2277 " :foreground "w │ │ │ +0002ff00: 6869 7465 2229 2929 0a20 2022 5468 6520 hite"))). "The │ │ │ +0002ff10: 6661 6365 2075 7365 6420 666f 7220 636f face used for co │ │ │ +0002ff20: 6465 2077 6869 6368 2069 7320 6265 696e de which is bein │ │ │ +0002ff30: 6720 7479 7065 2d63 6865 636b 6564 2e22 g type-checked." │ │ │ +0002ff40: 0a20 203a 6772 6f75 7020 2761 6764 6132 . :group 'agda2 │ │ │ +0002ff50: 2d68 6967 686c 6967 6874 2d66 6163 6573 -highlight-faces │ │ │ +0002ff60: 290a 0a28 6465 6676 6172 2061 6764 6132 )..(defvar agda2 │ │ │ +0002ff70: 2d68 6967 686c 6967 6874 2d66 6163 6573 -highlight-faces │ │ │ +0002ff80: 0a20 2027 2828 6b65 7977 6f72 6420 2020 . '((keyword │ │ │ +0002ff90: 2020 2020 2020 2020 2020 2020 202e 2061 . a │ │ │ +0002ffa0: 6764 6132 2d68 6967 686c 6967 6874 2d6b gda2-highlight-k │ │ │ +0002ffb0: 6579 776f 7264 2d66 6163 6529 0a20 2020 eyword-face). │ │ │ +0002ffc0: 2028 636f 6d6d 656e 7420 2020 2020 2020 (comment │ │ │ +0002ffd0: 2020 2020 2020 2020 202e 2066 6f6e 742d . font- │ │ │ +0002ffe0: 6c6f 636b 2d63 6f6d 6d65 6e74 2d66 6163 lock-comment-fac │ │ │ +0002fff0: 6529 0a20 2020 2028 6261 636b 6772 6f75 e). (backgrou │ │ │ +00030000: 6e64 2020 2020 2020 2020 2020 2020 202e nd . │ │ │ +00030010: 2064 6566 6175 6c74 290a 2020 2020 286d default). (m │ │ │ +00030020: 6172 6b75 7020 2020 2020 2020 2020 2020 arkup │ │ │ +00030030: 2020 2020 2020 2e20 666f 6e74 2d6c 6f63 . font-loc │ │ │ +00030040: 6b2d 636f 6d6d 656e 742d 6465 6c69 6d69 k-comment-delimi │ │ │ +00030050: 7465 722d 6661 6365 290a 2020 2020 2873 ter-face). (s │ │ │ +00030060: 7472 696e 6720 2020 2020 2020 2020 2020 tring │ │ │ +00030070: 2020 2020 2020 2e20 6167 6461 322d 6869 . agda2-hi │ │ │ +00030080: 6768 6c69 6768 742d 7374 7269 6e67 2d66 ghlight-string-f │ │ │ +00030090: 6163 6529 0a20 2020 2028 6e75 6d62 6572 ace). (number │ │ │ 000300a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -000300b0: 2e20 6167 6461 322d 6869 6768 6c69 6768 . agda2-highligh │ │ │ -000300c0: 742d 6e75 6d62 6572 2d66 6163 6529 0a20 t-number-face). │ │ │ -000300d0: 2020 2028 7379 6d62 6f6c 2020 2020 2020 (symbol │ │ │ -000300e0: 2020 2020 2020 2020 2020 202e 2061 6764 . agd │ │ │ -000300f0: 6132 2d68 6967 686c 6967 6874 2d73 796d a2-highlight-sym │ │ │ -00030100: 626f 6c2d 6661 6365 290a 2020 2020 2870 bol-face). (p │ │ │ -00030110: 7269 6d69 7469 7665 7479 7065 2020 2020 rimitivetype │ │ │ -00030120: 2020 2020 2020 2e20 6167 6461 322d 6869 . agda2-hi │ │ │ -00030130: 6768 6c69 6768 742d 7072 696d 6974 6976 ghlight-primitiv │ │ │ -00030140: 652d 7479 7065 2d66 6163 6529 0a20 2020 e-type-face). │ │ │ -00030150: 2028 626f 756e 6420 2020 2020 2020 2020 (bound │ │ │ -00030160: 2020 2020 2020 2020 202e 2061 6764 6132 . agda2 │ │ │ -00030170: 2d68 6967 686c 6967 6874 2d62 6f75 6e64 -highlight-bound │ │ │ -00030180: 2d76 6172 6961 626c 652d 6661 6365 290a -variable-face). │ │ │ -00030190: 2020 2020 2867 656e 6572 616c 697a 6162 (generalizab │ │ │ -000301a0: 6c65 2020 2020 2020 2020 2020 2e20 6167 le . ag │ │ │ -000301b0: 6461 322d 6869 6768 6c69 6768 742d 6765 da2-highlight-ge │ │ │ -000301c0: 6e65 7261 6c69 7a61 626c 652d 7661 7269 neralizable-vari │ │ │ -000301d0: 6162 6c65 2d66 6163 6529 0a20 2020 2028 able-face). ( │ │ │ -000301e0: 696e 6475 6374 6976 6563 6f6e 7374 7275 inductiveconstru │ │ │ -000301f0: 6374 6f72 2020 202e 2061 6764 6132 2d68 ctor . agda2-h │ │ │ -00030200: 6967 686c 6967 6874 2d69 6e64 7563 7469 ighlight-inducti │ │ │ -00030210: 7665 2d63 6f6e 7374 7275 6374 6f72 2d66 ve-constructor-f │ │ │ -00030220: 6163 6529 0a20 2020 2028 636f 696e 6475 ace). (coindu │ │ │ -00030230: 6374 6976 6563 6f6e 7374 7275 6374 6f72 ctiveconstructor │ │ │ -00030240: 202e 2061 6764 6132 2d68 6967 686c 6967 . agda2-highlig │ │ │ -00030250: 6874 2d63 6f69 6e64 7563 7469 7665 2d63 ht-coinductive-c │ │ │ -00030260: 6f6e 7374 7275 6374 6f72 2d66 6163 6529 onstructor-face) │ │ │ -00030270: 0a20 2020 2028 6461 7461 7479 7065 2020 . (datatype │ │ │ -00030280: 2020 2020 2020 2020 2020 2020 202e 2061 . a │ │ │ -00030290: 6764 6132 2d68 6967 686c 6967 6874 2d64 gda2-highlight-d │ │ │ -000302a0: 6174 6174 7970 652d 6661 6365 290a 2020 atatype-face). │ │ │ -000302b0: 2020 2866 6965 6c64 2020 2020 2020 2020 (field │ │ │ -000302c0: 2020 2020 2020 2020 2020 2e20 6167 6461 . agda │ │ │ -000302d0: 322d 6869 6768 6c69 6768 742d 6669 656c 2-highlight-fiel │ │ │ -000302e0: 642d 6661 6365 290a 2020 2020 2866 756e d-face). (fun │ │ │ -000302f0: 6374 696f 6e20 2020 2020 2020 2020 2020 ction │ │ │ -00030300: 2020 2020 2e20 6167 6461 322d 6869 6768 . agda2-high │ │ │ -00030310: 6c69 6768 742d 6675 6e63 7469 6f6e 2d66 light-function-f │ │ │ -00030320: 6163 6529 0a20 2020 2028 6d6f 6475 6c65 ace). (module │ │ │ -00030330: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00030340: 202e 2061 6764 6132 2d68 6967 686c 6967 . agda2-highlig │ │ │ -00030350: 6874 2d6d 6f64 756c 652d 6661 6365 290a ht-module-face). │ │ │ -00030360: 2020 2020 2870 6f73 7475 6c61 7465 2020 (postulate │ │ │ -00030370: 2020 2020 2020 2020 2020 2020 2e20 6167 . ag │ │ │ -00030380: 6461 322d 6869 6768 6c69 6768 742d 706f da2-highlight-po │ │ │ -00030390: 7374 756c 6174 652d 6661 6365 290a 2020 stulate-face). │ │ │ -000303a0: 2020 2870 7261 676d 6120 2020 2020 2020 (pragma │ │ │ -000303b0: 2020 2020 2020 2020 2020 2e20 6167 6461 . agda │ │ │ -000303c0: 322d 6869 6768 6c69 6768 742d 7072 6167 2-highlight-prag │ │ │ -000303d0: 6d61 2d66 6163 6529 0a20 2020 2028 7072 ma-face). (pr │ │ │ -000303e0: 696d 6974 6976 6520 2020 2020 2020 2020 imitive │ │ │ -000303f0: 2020 2020 202e 2061 6764 6132 2d68 6967 . agda2-hig │ │ │ -00030400: 686c 6967 6874 2d70 7269 6d69 7469 7665 hlight-primitive │ │ │ -00030410: 2d66 6163 6529 0a20 2020 2028 6d61 6372 -face). (macr │ │ │ -00030420: 6f20 2020 2020 2020 2020 2020 2020 2020 o │ │ │ -00030430: 2020 202e 2061 6764 6132 2d68 6967 686c . agda2-highl │ │ │ -00030440: 6967 6874 2d6d 6163 726f 2d66 6163 6529 ight-macro-face) │ │ │ -00030450: 0a20 2020 2028 7265 636f 7264 2020 2020 . (record │ │ │ -00030460: 2020 2020 2020 2020 2020 2020 202e 2061 . a │ │ │ -00030470: 6764 6132 2d68 6967 686c 6967 6874 2d72 gda2-highlight-r │ │ │ -00030480: 6563 6f72 642d 6661 6365 290a 2020 2020 ecord-face). │ │ │ -00030490: 2864 6f74 7465 6420 2020 2020 2020 2020 (dotted │ │ │ -000304a0: 2020 2020 2020 2020 2e20 6167 6461 322d . agda2- │ │ │ -000304b0: 6869 6768 6c69 6768 742d 646f 7474 6564 highlight-dotted │ │ │ -000304c0: 2d66 6163 6529 0a20 2020 2028 6f70 6572 -face). (oper │ │ │ -000304d0: 6174 6f72 2020 2020 2020 2020 2020 2020 ator │ │ │ -000304e0: 2020 202e 2061 6764 6132 2d68 6967 686c . agda2-highl │ │ │ -000304f0: 6967 6874 2d6f 7065 7261 746f 722d 6661 ight-operator-fa │ │ │ -00030500: 6365 290a 2020 2020 2865 7272 6f72 2020 ce). (error │ │ │ +000300b0: 202e 2061 6764 6132 2d68 6967 686c 6967 . agda2-highlig │ │ │ +000300c0: 6874 2d6e 756d 6265 722d 6661 6365 290a ht-number-face). │ │ │ +000300d0: 2020 2020 2873 796d 626f 6c20 2020 2020 (symbol │ │ │ +000300e0: 2020 2020 2020 2020 2020 2020 2e20 6167 . ag │ │ │ +000300f0: 6461 322d 6869 6768 6c69 6768 742d 7379 da2-highlight-sy │ │ │ +00030100: 6d62 6f6c 2d66 6163 6529 0a20 2020 2028 mbol-face). ( │ │ │ +00030110: 7072 696d 6974 6976 6574 7970 6520 2020 primitivetype │ │ │ +00030120: 2020 2020 2020 202e 2061 6764 6132 2d68 . agda2-h │ │ │ +00030130: 6967 686c 6967 6874 2d70 7269 6d69 7469 ighlight-primiti │ │ │ +00030140: 7665 2d74 7970 652d 6661 6365 290a 2020 ve-type-face). │ │ │ +00030150: 2020 2862 6f75 6e64 2020 2020 2020 2020 (bound │ │ │ +00030160: 2020 2020 2020 2020 2020 2e20 6167 6461 . agda │ │ │ +00030170: 322d 6869 6768 6c69 6768 742d 626f 756e 2-highlight-boun │ │ │ +00030180: 642d 7661 7269 6162 6c65 2d66 6163 6529 d-variable-face) │ │ │ +00030190: 0a20 2020 2028 6765 6e65 7261 6c69 7a61 . (generaliza │ │ │ +000301a0: 626c 6520 2020 2020 2020 2020 202e 2061 ble . a │ │ │ +000301b0: 6764 6132 2d68 6967 686c 6967 6874 2d67 gda2-highlight-g │ │ │ +000301c0: 656e 6572 616c 697a 6162 6c65 2d76 6172 eneralizable-var │ │ │ +000301d0: 6961 626c 652d 6661 6365 290a 2020 2020 iable-face). │ │ │ +000301e0: 2869 6e64 7563 7469 7665 636f 6e73 7472 (inductiveconstr │ │ │ +000301f0: 7563 746f 7220 2020 2e20 6167 6461 322d uctor . agda2- │ │ │ +00030200: 6869 6768 6c69 6768 742d 696e 6475 6374 highlight-induct │ │ │ +00030210: 6976 652d 636f 6e73 7472 7563 746f 722d ive-constructor- │ │ │ +00030220: 6661 6365 290a 2020 2020 2863 6f69 6e64 face). (coind │ │ │ +00030230: 7563 7469 7665 636f 6e73 7472 7563 746f uctiveconstructo │ │ │ +00030240: 7220 2e20 6167 6461 322d 6869 6768 6c69 r . agda2-highli │ │ │ +00030250: 6768 742d 636f 696e 6475 6374 6976 652d ght-coinductive- │ │ │ +00030260: 636f 6e73 7472 7563 746f 722d 6661 6365 constructor-face │ │ │ +00030270: 290a 2020 2020 2864 6174 6174 7970 6520 ). (datatype │ │ │ +00030280: 2020 2020 2020 2020 2020 2020 2020 2e20 . │ │ │ +00030290: 6167 6461 322d 6869 6768 6c69 6768 742d agda2-highlight- │ │ │ +000302a0: 6461 7461 7479 7065 2d66 6163 6529 0a20 datatype-face). │ │ │ +000302b0: 2020 2028 6669 656c 6420 2020 2020 2020 (field │ │ │ +000302c0: 2020 2020 2020 2020 2020 202e 2061 6764 . agd │ │ │ +000302d0: 6132 2d68 6967 686c 6967 6874 2d66 6965 a2-highlight-fie │ │ │ +000302e0: 6c64 2d66 6163 6529 0a20 2020 2028 6675 ld-face). (fu │ │ │ +000302f0: 6e63 7469 6f6e 2020 2020 2020 2020 2020 nction │ │ │ +00030300: 2020 2020 202e 2061 6764 6132 2d68 6967 . agda2-hig │ │ │ +00030310: 686c 6967 6874 2d66 756e 6374 696f 6e2d hlight-function- │ │ │ +00030320: 6661 6365 290a 2020 2020 286d 6f64 756c face). (modul │ │ │ +00030330: 6520 2020 2020 2020 2020 2020 2020 2020 e │ │ │ +00030340: 2020 2e20 6167 6461 322d 6869 6768 6c69 . agda2-highli │ │ │ +00030350: 6768 742d 6d6f 6475 6c65 2d66 6163 6529 ght-module-face) │ │ │ +00030360: 0a20 2020 2028 706f 7374 756c 6174 6520 . (postulate │ │ │ +00030370: 2020 2020 2020 2020 2020 2020 202e 2061 . a │ │ │ +00030380: 6764 6132 2d68 6967 686c 6967 6874 2d70 gda2-highlight-p │ │ │ +00030390: 6f73 7475 6c61 7465 2d66 6163 6529 0a20 ostulate-face). │ │ │ +000303a0: 2020 2028 7072 6167 6d61 2020 2020 2020 (pragma │ │ │ +000303b0: 2020 2020 2020 2020 2020 202e 2061 6764 . agd │ │ │ +000303c0: 6132 2d68 6967 686c 6967 6874 2d70 7261 a2-highlight-pra │ │ │ +000303d0: 676d 612d 6661 6365 290a 2020 2020 2870 gma-face). (p │ │ │ +000303e0: 7269 6d69 7469 7665 2020 2020 2020 2020 rimitive │ │ │ +000303f0: 2020 2020 2020 2e20 6167 6461 322d 6869 . agda2-hi │ │ │ +00030400: 6768 6c69 6768 742d 7072 696d 6974 6976 ghlight-primitiv │ │ │ +00030410: 652d 6661 6365 290a 2020 2020 286d 6163 e-face). (mac │ │ │ +00030420: 726f 2020 2020 2020 2020 2020 2020 2020 ro │ │ │ +00030430: 2020 2020 2e20 6167 6461 322d 6869 6768 . agda2-high │ │ │ +00030440: 6c69 6768 742d 6d61 6372 6f2d 6661 6365 light-macro-face │ │ │ +00030450: 290a 2020 2020 2872 6563 6f72 6420 2020 ). (record │ │ │ +00030460: 2020 2020 2020 2020 2020 2020 2020 2e20 . │ │ │ +00030470: 6167 6461 322d 6869 6768 6c69 6768 742d agda2-highlight- │ │ │ +00030480: 7265 636f 7264 2d66 6163 6529 0a20 2020 record-face). │ │ │ +00030490: 2028 646f 7474 6564 2020 2020 2020 2020 (dotted │ │ │ +000304a0: 2020 2020 2020 2020 202e 2061 6764 6132 . agda2 │ │ │ +000304b0: 2d68 6967 686c 6967 6874 2d64 6f74 7465 -highlight-dotte │ │ │ +000304c0: 642d 6661 6365 290a 2020 2020 286f 7065 d-face). (ope │ │ │ +000304d0: 7261 746f 7220 2020 2020 2020 2020 2020 rator │ │ │ +000304e0: 2020 2020 2e20 6167 6461 322d 6869 6768 . agda2-high │ │ │ +000304f0: 6c69 6768 742d 6f70 6572 6174 6f72 2d66 light-operator-f │ │ │ +00030500: 6163 6529 0a20 2020 2028 6572 726f 7220 ace). (error │ │ │ 00030510: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00030520: 2e20 6167 6461 322d 6869 6768 6c69 6768 . agda2-highligh │ │ │ -00030530: 742d 6572 726f 722d 6661 6365 290a 2020 t-error-face). │ │ │ -00030540: 2020 2865 7272 6f72 7761 726e 696e 6720 (errorwarning │ │ │ -00030550: 2020 2020 2020 2020 2020 2e20 6167 6461 . agda │ │ │ -00030560: 322d 6869 6768 6c69 6768 742d 6572 726f 2-highlight-erro │ │ │ -00030570: 722d 7761 726e 696e 672d 6661 6365 290a r-warning-face). │ │ │ -00030580: 2020 2020 2875 6e73 6f6c 7665 646d 6574 (unsolvedmet │ │ │ -00030590: 6120 2020 2020 2020 2020 2020 2e20 6167 a . ag │ │ │ -000305a0: 6461 322d 6869 6768 6c69 6768 742d 756e da2-highlight-un │ │ │ -000305b0: 736f 6c76 6564 2d6d 6574 612d 6661 6365 solved-meta-face │ │ │ -000305c0: 290a 2020 2020 2875 6e73 6f6c 7665 6463 ). (unsolvedc │ │ │ -000305d0: 6f6e 7374 7261 696e 7420 2020 2020 2e20 onstraint . │ │ │ -000305e0: 6167 6461 322d 6869 6768 6c69 6768 742d agda2-highlight- │ │ │ -000305f0: 756e 736f 6c76 6564 2d63 6f6e 7374 7261 unsolved-constra │ │ │ -00030600: 696e 742d 6661 6365 290a 2020 2020 2874 int-face). (t │ │ │ -00030610: 6572 6d69 6e61 7469 6f6e 7072 6f62 6c65 erminationproble │ │ │ -00030620: 6d20 2020 2020 2e20 6167 6461 322d 6869 m . agda2-hi │ │ │ -00030630: 6768 6c69 6768 742d 7465 726d 696e 6174 ghlight-terminat │ │ │ -00030640: 696f 6e2d 7072 6f62 6c65 6d2d 6661 6365 ion-problem-face │ │ │ -00030650: 290a 2020 2020 2864 6561 6463 6f64 6520 ). (deadcode │ │ │ -00030660: 2020 2020 2020 2020 2020 2020 2020 2e20 . │ │ │ -00030670: 6167 6461 322d 6869 6768 6c69 6768 742d agda2-highlight- │ │ │ -00030680: 6465 6164 636f 6465 2d66 6163 6529 0a20 deadcode-face). │ │ │ -00030690: 2020 2028 7368 6164 6f77 696e 6769 6e74 (shadowingint │ │ │ -000306a0: 656c 6573 636f 7065 2020 202e 2061 6764 elescope . agd │ │ │ -000306b0: 6132 2d68 6967 686c 6967 6874 2d73 6861 a2-highlight-sha │ │ │ -000306c0: 646f 7769 6e67 2d69 6e2d 7465 6c65 7363 dowing-in-telesc │ │ │ -000306d0: 6f70 652d 6661 6365 290a 2020 2020 2863 ope-face). (c │ │ │ -000306e0: 6f76 6572 6167 6570 726f 626c 656d 2020 overageproblem │ │ │ -000306f0: 2020 2020 2020 2e20 6167 6461 322d 6869 . agda2-hi │ │ │ -00030700: 6768 6c69 6768 742d 636f 7665 7261 6765 ghlight-coverage │ │ │ -00030710: 2d70 726f 626c 656d 2d66 6163 6529 0a20 -problem-face). │ │ │ -00030720: 2020 2028 706f 7369 7469 7669 7479 7072 (positivitypr │ │ │ -00030730: 6f62 6c65 6d20 2020 2020 202e 2061 6764 oblem . agd │ │ │ -00030740: 6132 2d68 6967 686c 6967 6874 2d70 6f73 a2-highlight-pos │ │ │ -00030750: 6974 6976 6974 792d 7072 6f62 6c65 6d2d itivity-problem- │ │ │ -00030760: 6661 6365 290a 2020 2020 2869 6e63 6f6d face). (incom │ │ │ -00030770: 706c 6574 6570 6174 7465 726e 2020 2020 pletepattern │ │ │ -00030780: 2020 2e20 6167 6461 322d 6869 6768 6c69 . agda2-highli │ │ │ -00030790: 6768 742d 696e 636f 6d70 6c65 7465 2d70 ght-incomplete-p │ │ │ -000307a0: 6174 7465 726e 2d66 6163 6529 0a20 2020 attern-face). │ │ │ -000307b0: 2028 6361 7463 6861 6c6c 636c 6175 7365 (catchallclause │ │ │ -000307c0: 2020 2020 2020 2020 202e 2061 6764 6132 . agda2 │ │ │ -000307d0: 2d68 6967 686c 6967 6874 2d63 6174 6368 -highlight-catch │ │ │ -000307e0: 616c 6c2d 636c 6175 7365 2d66 6163 6529 all-clause-face) │ │ │ -000307f0: 0a20 2020 2028 636f 6e66 6c75 656e 6365 . (confluence │ │ │ -00030800: 7072 6f62 6c65 6d20 2020 2020 202e 2061 problem . a │ │ │ -00030810: 6764 6132 2d68 6967 686c 6967 6874 2d63 gda2-highlight-c │ │ │ -00030820: 6f6e 666c 7565 6e63 652d 7072 6f62 6c65 onfluence-proble │ │ │ -00030830: 6d2d 6661 6365 290a 2020 2020 2863 6f73 m-face). (cos │ │ │ -00030840: 6d65 7469 6370 726f 626c 656d 2020 2020 meticproblem │ │ │ -00030850: 2020 2020 2e20 6167 6461 322d 6869 6768 . agda2-high │ │ │ -00030860: 6c69 6768 742d 636f 736d 6574 6963 2d70 light-cosmetic-p │ │ │ -00030870: 726f 626c 656d 2d66 6163 6529 0a20 2020 roblem-face). │ │ │ -00030880: 2028 696e 7374 616e 6365 7072 6f62 6c65 (instanceproble │ │ │ -00030890: 6d20 2020 2020 2020 202e 2061 6764 6132 m . agda2 │ │ │ -000308a0: 2d68 6967 686c 6967 6874 2d69 6e73 7461 -highlight-insta │ │ │ -000308b0: 6e63 652d 7072 6f62 6c65 6d2d 6661 6365 nce-problem-face │ │ │ -000308c0: 290a 2020 2020 286d 6973 7369 6e67 6465 ). (missingde │ │ │ -000308d0: 6669 6e69 7469 6f6e 2020 2020 2020 2e20 finition . │ │ │ -000308e0: 6167 6461 322d 6869 6768 6c69 6768 742d agda2-highlight- │ │ │ -000308f0: 6d69 7373 696e 672d 6465 6669 6e69 7469 missing-definiti │ │ │ -00030900: 6f6e 2d66 6163 6529 0a20 2020 2028 7479 on-face). (ty │ │ │ -00030910: 7065 6368 6563 6b73 2020 2020 2020 2020 pechecks │ │ │ -00030920: 2020 2020 202e 2061 6764 6132 2d68 6967 . agda2-hig │ │ │ -00030930: 686c 6967 6874 2d74 7970 6563 6865 636b hlight-typecheck │ │ │ -00030940: 732d 6661 6365 2929 0a20 2022 416c 6973 s-face)). "Alis │ │ │ -00030950: 7420 6d61 7070 696e 6720 636f 6465 2061 t mapping code a │ │ │ -00030960: 7370 6563 7473 2074 6f20 7468 6520 6661 spects to the fa │ │ │ -00030970: 6365 2075 7365 6420 7768 656e 2064 6973 ce used when dis │ │ │ -00030980: 706c 6179 696e 6720 7468 656d 2e0a 0a54 playing them...T │ │ │ -00030990: 6865 2061 7370 6563 7473 2063 7572 7265 he aspects curre │ │ │ -000309a0: 6e74 6c79 2072 6563 6f67 6e69 7365 6420 ntly recognised │ │ │ -000309b0: 6172 6520 7468 6520 666f 6c6c 6f77 696e are the followin │ │ │ -000309c0: 673a 0a0a 6062 6163 6b67 726f 756e 6427 g:..`background' │ │ │ -000309d0: 2020 2020 2020 2020 2020 2020 204e 6f6e Non │ │ │ -000309e0: 2d41 6764 6120 636f 6465 2063 6f6e 7465 -Agda code conte │ │ │ -000309f0: 6e74 7320 696e 206c 6974 6572 6174 6520 nts in literate │ │ │ -00030a00: 6d6f 6465 2e0a 6062 6f75 6e64 2720 2020 mode..`bound' │ │ │ -00030a10: 2020 2020 2020 2020 2020 2020 2020 2042 B │ │ │ -00030a20: 6f75 6e64 2076 6172 6961 626c 6573 2e0a ound variables.. │ │ │ -00030a30: 6063 6174 6368 616c 6c63 6c61 7573 6527 `catchallclause' │ │ │ -00030a40: 2020 2020 2020 2020 2043 6c61 7573 6520 Clause │ │ │ -00030a50: 6e6f 7420 686f 6c64 696e 6720 6465 6669 not holding defi │ │ │ -00030a60: 6e69 7469 6f6e 616c 6c79 2e0a 6063 6f69 nitionally..`coi │ │ │ -00030a70: 6e64 7563 7469 7665 636f 6e73 7472 7563 nductiveconstruc │ │ │ -00030a80: 746f 7227 2043 6f69 6e64 7563 7469 7665 tor' Coinductive │ │ │ -00030a90: 2063 6f6e 7374 7275 6374 6f72 732e 0a60 constructors..` │ │ │ -00030aa0: 636f 6d6d 656e 7427 2020 2020 2020 2020 comment' │ │ │ -00030ab0: 2020 2020 2020 2020 436f 6d6d 656e 7473 Comments │ │ │ -00030ac0: 2e0a 6063 6f73 6d65 7469 6370 726f 626c ..`cosmeticprobl │ │ │ -00030ad0: 656d 2720 2020 2020 2020 2043 6f64 6520 em' Code │ │ │ -00030ae0: 7468 6174 2063 6f75 6c64 2062 6520 7072 that could be pr │ │ │ -00030af0: 6574 7469 6572 2e0a 6063 6f76 6572 6167 ettier..`coverag │ │ │ -00030b00: 6570 726f 626c 656d 2720 2020 2020 2020 eproblem' │ │ │ -00030b10: 2043 6f76 6572 6167 6520 7072 6f62 6c65 Coverage proble │ │ │ -00030b20: 6d73 2e0a 6064 6174 6174 7970 6527 2020 ms..`datatype' │ │ │ -00030b30: 2020 2020 2020 2020 2020 2020 2044 6174 Dat │ │ │ -00030b40: 6120 7479 7065 732e 0a60 6465 6164 636f a types..`deadco │ │ │ -00030b50: 6465 2720 2020 2020 2020 2020 2020 2020 de' │ │ │ -00030b60: 2020 4465 6164 636f 6465 2028 6c69 6b65 Deadcode (like │ │ │ -00030b70: 2075 6e72 6561 6368 6162 6c65 2063 6c61 unreachable cla │ │ │ -00030b80: 7573 6573 206f 7220 5248 5329 2e0a 6064 uses or RHS)..`d │ │ │ -00030b90: 6f74 7465 6427 2020 2020 2020 2020 2020 otted' │ │ │ -00030ba0: 2020 2020 2020 2044 6f74 7465 6420 7061 Dotted pa │ │ │ -00030bb0: 7474 6572 6e73 2e0a 6065 7272 6f72 2720 tterns..`error' │ │ │ +00030520: 202e 2061 6764 6132 2d68 6967 686c 6967 . agda2-highlig │ │ │ +00030530: 6874 2d65 7272 6f72 2d66 6163 6529 0a20 ht-error-face). │ │ │ +00030540: 2020 2028 6572 726f 7277 6172 6e69 6e67 (errorwarning │ │ │ +00030550: 2020 2020 2020 2020 2020 202e 2061 6764 . agd │ │ │ +00030560: 6132 2d68 6967 686c 6967 6874 2d65 7272 a2-highlight-err │ │ │ +00030570: 6f72 2d77 6172 6e69 6e67 2d66 6163 6529 or-warning-face) │ │ │ +00030580: 0a20 2020 2028 756e 736f 6c76 6564 6d65 . (unsolvedme │ │ │ +00030590: 7461 2020 2020 2020 2020 2020 202e 2061 ta . a │ │ │ +000305a0: 6764 6132 2d68 6967 686c 6967 6874 2d75 gda2-highlight-u │ │ │ +000305b0: 6e73 6f6c 7665 642d 6d65 7461 2d66 6163 nsolved-meta-fac │ │ │ +000305c0: 6529 0a20 2020 2028 756e 736f 6c76 6564 e). (unsolved │ │ │ +000305d0: 636f 6e73 7472 6169 6e74 2020 2020 202e constraint . │ │ │ +000305e0: 2061 6764 6132 2d68 6967 686c 6967 6874 agda2-highlight │ │ │ +000305f0: 2d75 6e73 6f6c 7665 642d 636f 6e73 7472 -unsolved-constr │ │ │ +00030600: 6169 6e74 2d66 6163 6529 0a20 2020 2028 aint-face). ( │ │ │ +00030610: 7465 726d 696e 6174 696f 6e70 726f 626c terminationprobl │ │ │ +00030620: 656d 2020 2020 202e 2061 6764 6132 2d68 em . agda2-h │ │ │ +00030630: 6967 686c 6967 6874 2d74 6572 6d69 6e61 ighlight-termina │ │ │ +00030640: 7469 6f6e 2d70 726f 626c 656d 2d66 6163 tion-problem-fac │ │ │ +00030650: 6529 0a20 2020 2028 6465 6164 636f 6465 e). (deadcode │ │ │ +00030660: 2020 2020 2020 2020 2020 2020 2020 202e . │ │ │ +00030670: 2061 6764 6132 2d68 6967 686c 6967 6874 agda2-highlight │ │ │ +00030680: 2d64 6561 6463 6f64 652d 6661 6365 290a -deadcode-face). │ │ │ +00030690: 2020 2020 2873 6861 646f 7769 6e67 696e (shadowingin │ │ │ +000306a0: 7465 6c65 7363 6f70 6520 2020 2e20 6167 telescope . ag │ │ │ +000306b0: 6461 322d 6869 6768 6c69 6768 742d 7368 da2-highlight-sh │ │ │ +000306c0: 6164 6f77 696e 672d 696e 2d74 656c 6573 adowing-in-teles │ │ │ +000306d0: 636f 7065 2d66 6163 6529 0a20 2020 2028 cope-face). ( │ │ │ +000306e0: 636f 7665 7261 6765 7072 6f62 6c65 6d20 coverageproblem │ │ │ +000306f0: 2020 2020 2020 202e 2061 6764 6132 2d68 . agda2-h │ │ │ +00030700: 6967 686c 6967 6874 2d63 6f76 6572 6167 ighlight-coverag │ │ │ +00030710: 652d 7072 6f62 6c65 6d2d 6661 6365 290a e-problem-face). │ │ │ +00030720: 2020 2020 2870 6f73 6974 6976 6974 7970 (positivityp │ │ │ +00030730: 726f 626c 656d 2020 2020 2020 2e20 6167 roblem . ag │ │ │ +00030740: 6461 322d 6869 6768 6c69 6768 742d 706f da2-highlight-po │ │ │ +00030750: 7369 7469 7669 7479 2d70 726f 626c 656d sitivity-problem │ │ │ +00030760: 2d66 6163 6529 0a20 2020 2028 696e 636f -face). (inco │ │ │ +00030770: 6d70 6c65 7465 7061 7474 6572 6e20 2020 mpletepattern │ │ │ +00030780: 2020 202e 2061 6764 6132 2d68 6967 686c . agda2-highl │ │ │ +00030790: 6967 6874 2d69 6e63 6f6d 706c 6574 652d ight-incomplete- │ │ │ +000307a0: 7061 7474 6572 6e2d 6661 6365 290a 2020 pattern-face). │ │ │ +000307b0: 2020 2863 6174 6368 616c 6c63 6c61 7573 (catchallclaus │ │ │ +000307c0: 6520 2020 2020 2020 2020 2e20 6167 6461 e . agda │ │ │ +000307d0: 322d 6869 6768 6c69 6768 742d 6361 7463 2-highlight-catc │ │ │ +000307e0: 6861 6c6c 2d63 6c61 7573 652d 6661 6365 hall-clause-face │ │ │ +000307f0: 290a 2020 2020 2863 6f6e 666c 7565 6e63 ). (confluenc │ │ │ +00030800: 6570 726f 626c 656d 2020 2020 2020 2e20 eproblem . │ │ │ +00030810: 6167 6461 322d 6869 6768 6c69 6768 742d agda2-highlight- │ │ │ +00030820: 636f 6e66 6c75 656e 6365 2d70 726f 626c confluence-probl │ │ │ +00030830: 656d 2d66 6163 6529 0a20 2020 2028 636f em-face). (co │ │ │ +00030840: 736d 6574 6963 7072 6f62 6c65 6d20 2020 smeticproblem │ │ │ +00030850: 2020 2020 202e 2061 6764 6132 2d68 6967 . agda2-hig │ │ │ +00030860: 686c 6967 6874 2d63 6f73 6d65 7469 632d hlight-cosmetic- │ │ │ +00030870: 7072 6f62 6c65 6d2d 6661 6365 290a 2020 problem-face). │ │ │ +00030880: 2020 2869 6e73 7461 6e63 6570 726f 626c (instanceprobl │ │ │ +00030890: 656d 2020 2020 2020 2020 2e20 6167 6461 em . agda │ │ │ +000308a0: 322d 6869 6768 6c69 6768 742d 696e 7374 2-highlight-inst │ │ │ +000308b0: 616e 6365 2d70 726f 626c 656d 2d66 6163 ance-problem-fac │ │ │ +000308c0: 6529 0a20 2020 2028 6d69 7373 696e 6764 e). (missingd │ │ │ +000308d0: 6566 696e 6974 696f 6e20 2020 2020 202e efinition . │ │ │ +000308e0: 2061 6764 6132 2d68 6967 686c 6967 6874 agda2-highlight │ │ │ +000308f0: 2d6d 6973 7369 6e67 2d64 6566 696e 6974 -missing-definit │ │ │ +00030900: 696f 6e2d 6661 6365 290a 2020 2020 2874 ion-face). (t │ │ │ +00030910: 7970 6563 6865 636b 7320 2020 2020 2020 ypechecks │ │ │ +00030920: 2020 2020 2020 2e20 6167 6461 322d 6869 . agda2-hi │ │ │ +00030930: 6768 6c69 6768 742d 7479 7065 6368 6563 ghlight-typechec │ │ │ +00030940: 6b73 2d66 6163 6529 290a 2020 2241 6c69 ks-face)). "Ali │ │ │ +00030950: 7374 206d 6170 7069 6e67 2063 6f64 6520 st mapping code │ │ │ +00030960: 6173 7065 6374 7320 746f 2074 6865 2066 aspects to the f │ │ │ +00030970: 6163 6520 7573 6564 2077 6865 6e20 6469 ace used when di │ │ │ +00030980: 7370 6c61 7969 6e67 2074 6865 6d2e 0a0a splaying them... │ │ │ +00030990: 5468 6520 6173 7065 6374 7320 6375 7272 The aspects curr │ │ │ +000309a0: 656e 746c 7920 7265 636f 676e 6973 6564 ently recognised │ │ │ +000309b0: 2061 7265 2074 6865 2066 6f6c 6c6f 7769 are the followi │ │ │ +000309c0: 6e67 3a0a 0a60 6261 636b 6772 6f75 6e64 ng:..`background │ │ │ +000309d0: 2720 2020 2020 2020 2020 2020 2020 4e6f ' No │ │ │ +000309e0: 6e2d 4167 6461 2063 6f64 6520 636f 6e74 n-Agda code cont │ │ │ +000309f0: 656e 7473 2069 6e20 6c69 7465 7261 7465 ents in literate │ │ │ +00030a00: 206d 6f64 652e 0a60 626f 756e 6427 2020 mode..`bound' │ │ │ +00030a10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +00030a20: 426f 756e 6420 7661 7269 6162 6c65 732e Bound variables. │ │ │ +00030a30: 0a60 6361 7463 6861 6c6c 636c 6175 7365 .`catchallclause │ │ │ +00030a40: 2720 2020 2020 2020 2020 436c 6175 7365 ' Clause │ │ │ +00030a50: 206e 6f74 2068 6f6c 6469 6e67 2064 6566 not holding def │ │ │ +00030a60: 696e 6974 696f 6e61 6c6c 792e 0a60 636f initionally..`co │ │ │ +00030a70: 696e 6475 6374 6976 6563 6f6e 7374 7275 inductiveconstru │ │ │ +00030a80: 6374 6f72 2720 436f 696e 6475 6374 6976 ctor' Coinductiv │ │ │ +00030a90: 6520 636f 6e73 7472 7563 746f 7273 2e0a e constructors.. │ │ │ +00030aa0: 6063 6f6d 6d65 6e74 2720 2020 2020 2020 `comment' │ │ │ +00030ab0: 2020 2020 2020 2020 2043 6f6d 6d65 6e74 Comment │ │ │ +00030ac0: 732e 0a60 636f 736d 6574 6963 7072 6f62 s..`cosmeticprob │ │ │ +00030ad0: 6c65 6d27 2020 2020 2020 2020 436f 6465 lem' Code │ │ │ +00030ae0: 2074 6861 7420 636f 756c 6420 6265 2070 that could be p │ │ │ +00030af0: 7265 7474 6965 722e 0a60 636f 7665 7261 rettier..`covera │ │ │ +00030b00: 6765 7072 6f62 6c65 6d27 2020 2020 2020 geproblem' │ │ │ +00030b10: 2020 436f 7665 7261 6765 2070 726f 626c Coverage probl │ │ │ +00030b20: 656d 732e 0a60 6461 7461 7479 7065 2720 ems..`datatype' │ │ │ +00030b30: 2020 2020 2020 2020 2020 2020 2020 4461 Da │ │ │ +00030b40: 7461 2074 7970 6573 2e0a 6064 6561 6463 ta types..`deadc │ │ │ +00030b50: 6f64 6527 2020 2020 2020 2020 2020 2020 ode' │ │ │ +00030b60: 2020 2044 6561 6463 6f64 6520 286c 696b Deadcode (lik │ │ │ +00030b70: 6520 756e 7265 6163 6861 626c 6520 636c e unreachable cl │ │ │ +00030b80: 6175 7365 7320 6f72 2052 4853 292e 0a60 auses or RHS)..` │ │ │ +00030b90: 646f 7474 6564 2720 2020 2020 2020 2020 dotted' │ │ │ +00030ba0: 2020 2020 2020 2020 446f 7474 6564 2070 Dotted p │ │ │ +00030bb0: 6174 7465 726e 732e 0a60 6572 726f 7227 atterns..`error' │ │ │ 00030bc0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00030bd0: 2045 7272 6f72 732e 0a60 6572 726f 7277 Errors..`errorw │ │ │ -00030be0: 6172 6e69 6e67 2720 2020 2020 2020 2020 arning' │ │ │ -00030bf0: 2020 4661 7461 6c20 7761 726e 696e 6773 Fatal warnings │ │ │ -00030c00: 2e0a 6066 6965 6c64 2720 2020 2020 2020 ..`field' │ │ │ -00030c10: 2020 2020 2020 2020 2020 2052 6563 6f72 Recor │ │ │ -00030c20: 6420 6669 656c 6473 2e0a 6066 756e 6374 d fields..`funct │ │ │ -00030c30: 696f 6e27 2020 2020 2020 2020 2020 2020 ion' │ │ │ -00030c40: 2020 2046 756e 6374 696f 6e73 2e0a 6067 Functions..`g │ │ │ -00030c50: 656e 6572 616c 697a 6162 6c65 2720 2020 eneralizable' │ │ │ -00030c60: 2020 2020 2020 2047 656e 6572 616c 697a Generaliz │ │ │ -00030c70: 6162 6c65 2076 6172 6961 626c 6573 2e0a able variables.. │ │ │ -00030c80: 6069 6e63 6f6d 706c 6574 6570 6174 7465 `incompletepatte │ │ │ -00030c90: 726e 2720 2020 2020 2049 6e63 6f6d 706c rn' Incompl │ │ │ -00030ca0: 6574 6520 7061 7474 6572 6e73 2e0a 6069 ete patterns..`i │ │ │ -00030cb0: 6e64 7563 7469 7665 636f 6e73 7472 7563 nductiveconstruc │ │ │ -00030cc0: 746f 7227 2020 2049 6e64 7563 7469 7665 tor' Inductive │ │ │ -00030cd0: 2063 6f6e 7374 7275 6374 6f72 732e 0a60 constructors..` │ │ │ -00030ce0: 696e 7374 616e 6365 7072 6f62 6c65 6d27 instanceproblem' │ │ │ -00030cf0: 2020 2020 2020 2020 556e 7573 6162 6c65 Unusable │ │ │ -00030d00: 2069 6e73 7461 6e63 6528 6172 6775 6d65 instance(argume │ │ │ -00030d10: 6e74 2973 2e0a 606b 6579 776f 7264 2720 nt)s..`keyword' │ │ │ -00030d20: 2020 2020 2020 2020 2020 2020 2020 204b K │ │ │ -00030d30: 6579 776f 7264 732e 0a60 6d61 6372 6f27 eywords..`macro' │ │ │ -00030d40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00030d50: 2020 4d61 6372 6f73 2e0a 606d 6172 6b75 Macros..`marku │ │ │ -00030d60: 7027 2020 2020 2020 2020 2020 2020 2020 p' │ │ │ -00030d70: 2020 2044 656c 696d 6974 6572 7320 746f Delimiters to │ │ │ -00030d80: 2073 6570 6172 6174 6520 7468 6520 4167 separate the Ag │ │ │ -00030d90: 6461 2063 6f64 6520 626c 6f63 6b73 0a20 da code blocks. │ │ │ +00030bd0: 2020 4572 726f 7273 2e0a 6065 7272 6f72 Errors..`error │ │ │ +00030be0: 7761 726e 696e 6727 2020 2020 2020 2020 warning' │ │ │ +00030bf0: 2020 2046 6174 616c 2077 6172 6e69 6e67 Fatal warning │ │ │ +00030c00: 732e 0a60 6669 656c 6427 2020 2020 2020 s..`field' │ │ │ +00030c10: 2020 2020 2020 2020 2020 2020 5265 636f Reco │ │ │ +00030c20: 7264 2066 6965 6c64 732e 0a60 6675 6e63 rd fields..`func │ │ │ +00030c30: 7469 6f6e 2720 2020 2020 2020 2020 2020 tion' │ │ │ +00030c40: 2020 2020 4675 6e63 7469 6f6e 732e 0a60 Functions..` │ │ │ +00030c50: 6765 6e65 7261 6c69 7a61 626c 6527 2020 generalizable' │ │ │ +00030c60: 2020 2020 2020 2020 4765 6e65 7261 6c69 Generali │ │ │ +00030c70: 7a61 626c 6520 7661 7269 6162 6c65 732e zable variables. │ │ │ +00030c80: 0a60 696e 636f 6d70 6c65 7465 7061 7474 .`incompletepatt │ │ │ +00030c90: 6572 6e27 2020 2020 2020 496e 636f 6d70 ern' Incomp │ │ │ +00030ca0: 6c65 7465 2070 6174 7465 726e 732e 0a60 lete patterns..` │ │ │ +00030cb0: 696e 6475 6374 6976 6563 6f6e 7374 7275 inductiveconstru │ │ │ +00030cc0: 6374 6f72 2720 2020 496e 6475 6374 6976 ctor' Inductiv │ │ │ +00030cd0: 6520 636f 6e73 7472 7563 746f 7273 2e0a e constructors.. │ │ │ +00030ce0: 6069 6e73 7461 6e63 6570 726f 626c 656d `instanceproblem │ │ │ +00030cf0: 2720 2020 2020 2020 2055 6e75 7361 626c ' Unusabl │ │ │ +00030d00: 6520 696e 7374 616e 6365 2861 7267 756d e instance(argum │ │ │ +00030d10: 656e 7429 732e 0a60 6b65 7977 6f72 6427 ent)s..`keyword' │ │ │ +00030d20: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +00030d30: 4b65 7977 6f72 6473 2e0a 606d 6163 726f Keywords..`macro │ │ │ +00030d40: 2720 2020 2020 2020 2020 2020 2020 2020 ' │ │ │ +00030d50: 2020 204d 6163 726f 732e 0a60 6d61 726b Macros..`mark │ │ │ +00030d60: 7570 2720 2020 2020 2020 2020 2020 2020 up' │ │ │ +00030d70: 2020 2020 4465 6c69 6d69 7465 7273 2074 Delimiters t │ │ │ +00030d80: 6f20 7365 7061 7261 7465 2074 6865 2041 o separate the A │ │ │ +00030d90: 6764 6120 636f 6465 2062 6c6f 636b 730a gda code blocks. │ │ │ 00030da0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00030db0: 2020 2020 2020 2020 2020 6672 6f6d 206f from o │ │ │ -00030dc0: 7468 6572 2063 6f6e 7465 6e74 732e 0a60 ther contents..` │ │ │ -00030dd0: 6d6f 6475 6c65 2720 2020 2020 2020 2020 module' │ │ │ -00030de0: 2020 2020 2020 2020 4d6f 6475 6c65 206e Module n │ │ │ -00030df0: 616d 6573 2e0a 606e 756d 6265 7227 2020 ames..`number' │ │ │ -00030e00: 2020 2020 2020 2020 2020 2020 2020 204e N │ │ │ -00030e10: 756d 6265 7273 2e0a 606f 7065 7261 746f umbers..`operato │ │ │ -00030e20: 7227 2020 2020 2020 2020 2020 2020 2020 r' │ │ │ -00030e30: 204f 7065 7261 746f 7273 2e0a 6070 6f73 Operators..`pos │ │ │ -00030e40: 6974 6976 6974 7970 726f 626c 656d 2720 itivityproblem' │ │ │ -00030e50: 2020 2020 2050 6f73 6974 6976 6974 7920 Positivity │ │ │ -00030e60: 7072 6f62 6c65 6d73 2e0a 6070 6f73 7475 problems..`postu │ │ │ -00030e70: 6c61 7465 2720 2020 2020 2020 2020 2020 late' │ │ │ -00030e80: 2020 2050 6f73 7475 6c61 7465 732e 0a60 Postulates..` │ │ │ -00030e90: 7072 6167 6d61 2720 2020 2020 2020 2020 pragma' │ │ │ -00030ea0: 2020 2020 2020 2020 5465 7874 206f 6363 Text occ │ │ │ -00030eb0: 7572 7269 6e67 2069 6e20 7072 6167 6d61 urring in pragma │ │ │ -00030ec0: 7320 7468 6174 2064 6f65 7320 6e6f 7420 s that does not │ │ │ -00030ed0: 6861 7665 0a20 2020 2020 2020 2020 2020 have. │ │ │ +00030db0: 2020 2020 2020 2020 2020 2066 726f 6d20 from │ │ │ +00030dc0: 6f74 6865 7220 636f 6e74 656e 7473 2e0a other contents.. │ │ │ +00030dd0: 606d 6f64 756c 6527 2020 2020 2020 2020 `module' │ │ │ +00030de0: 2020 2020 2020 2020 204d 6f64 756c 6520 Module │ │ │ +00030df0: 6e61 6d65 732e 0a60 6e75 6d62 6572 2720 names..`number' │ │ │ +00030e00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +00030e10: 4e75 6d62 6572 732e 0a60 6f70 6572 6174 Numbers..`operat │ │ │ +00030e20: 6f72 2720 2020 2020 2020 2020 2020 2020 or' │ │ │ +00030e30: 2020 4f70 6572 6174 6f72 732e 0a60 706f Operators..`po │ │ │ +00030e40: 7369 7469 7669 7479 7072 6f62 6c65 6d27 sitivityproblem' │ │ │ +00030e50: 2020 2020 2020 506f 7369 7469 7669 7479 Positivity │ │ │ +00030e60: 2070 726f 626c 656d 732e 0a60 706f 7374 problems..`post │ │ │ +00030e70: 756c 6174 6527 2020 2020 2020 2020 2020 ulate' │ │ │ +00030e80: 2020 2020 506f 7374 756c 6174 6573 2e0a Postulates.. │ │ │ +00030e90: 6070 7261 676d 6127 2020 2020 2020 2020 `pragma' │ │ │ +00030ea0: 2020 2020 2020 2020 2054 6578 7420 6f63 Text oc │ │ │ +00030eb0: 6375 7272 696e 6720 696e 2070 7261 676d curring in pragm │ │ │ +00030ec0: 6173 2074 6861 7420 646f 6573 206e 6f74 as that does not │ │ │ +00030ed0: 2068 6176 650a 2020 2020 2020 2020 2020 have. │ │ │ 00030ee0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00030ef0: 6120 6d6f 7265 2073 7065 6369 6669 6320 a more specific │ │ │ -00030f00: 2873 796e 7461 6374 6963 2920 6173 7065 (syntactic) aspe │ │ │ -00030f10: 6374 2e0a 6070 7269 6d69 7469 7665 2720 ct..`primitive' │ │ │ -00030f20: 2020 2020 2020 2020 2020 2020 2050 7269 Pri │ │ │ -00030f30: 6d69 7469 7665 2066 756e 6374 696f 6e73 mitive functions │ │ │ -00030f40: 2e0a 6070 7269 6d69 7469 7665 7479 7065 ..`primitivetype │ │ │ -00030f50: 2720 2020 2020 2020 2020 2050 7269 6d69 ' Primi │ │ │ -00030f60: 7469 7665 2074 7970 6573 2028 6c69 6b65 tive types (like │ │ │ -00030f70: 2053 6574 2061 6e64 2050 726f 7029 2e0a Set and Prop).. │ │ │ -00030f80: 6072 6563 6f72 6427 2020 2020 2020 2020 `record' │ │ │ -00030f90: 2020 2020 2020 2020 2052 6563 6f72 6420 Record │ │ │ -00030fa0: 7479 7065 732e 0a60 7368 6164 6f77 696e types..`shadowin │ │ │ -00030fb0: 6769 6e74 656c 6573 636f 7065 2720 2020 gintelescope' │ │ │ -00030fc0: 5368 6164 6f77 6564 2072 6570 6561 7465 Shadowed repeate │ │ │ -00030fd0: 6420 7661 7269 6162 6c65 206e 616d 6573 d variable names │ │ │ -00030fe0: 2069 6e20 7465 6c65 7363 6f70 6573 2e0a in telescopes.. │ │ │ -00030ff0: 6073 7472 696e 6727 2020 2020 2020 2020 `string' │ │ │ -00031000: 2020 2020 2020 2020 2053 7472 696e 6773 Strings │ │ │ -00031010: 2e0a 6073 796d 626f 6c27 2020 2020 2020 ..`symbol' │ │ │ -00031020: 2020 2020 2020 2020 2020 2053 796d 626f Symbo │ │ │ -00031030: 6c73 206c 696b 6520 666f 7261 6c6c 2c20 ls like forall, │ │ │ -00031040: 3d2c 202d 3e2c 2065 7463 2e0a 6074 6572 =, ->, etc..`ter │ │ │ -00031050: 6d69 6e61 7469 6f6e 7072 6f62 6c65 6d27 minationproblem' │ │ │ -00031060: 2020 2020 2054 6572 6d69 6e61 7469 6f6e Termination │ │ │ -00031070: 2070 726f 626c 656d 732e 0a60 7479 7065 problems..`type │ │ │ -00031080: 6368 6563 6b73 2720 2020 2020 2020 2020 checks' │ │ │ -00031090: 2020 2020 436f 6465 2077 6869 6368 2069 Code which i │ │ │ -000310a0: 7320 6265 696e 6720 7479 7065 2d63 6865 s being type-che │ │ │ -000310b0: 636b 6564 2e0a 6075 6e73 6f6c 7665 6463 cked..`unsolvedc │ │ │ -000310c0: 6f6e 7374 7261 696e 7427 2020 2020 2055 onstraint' U │ │ │ -000310d0: 6e73 6f6c 7665 6420 636f 6e73 7472 6169 nsolved constrai │ │ │ -000310e0: 6e74 732c 206e 6f74 2063 6f6e 6e65 6374 nts, not connect │ │ │ -000310f0: 6564 2074 6f20 6d65 7461 0a20 2020 2020 ed to meta. │ │ │ +00030ef0: 2061 206d 6f72 6520 7370 6563 6966 6963 a more specific │ │ │ +00030f00: 2028 7379 6e74 6163 7469 6329 2061 7370 (syntactic) asp │ │ │ +00030f10: 6563 742e 0a60 7072 696d 6974 6976 6527 ect..`primitive' │ │ │ +00030f20: 2020 2020 2020 2020 2020 2020 2020 5072 Pr │ │ │ +00030f30: 696d 6974 6976 6520 6675 6e63 7469 6f6e imitive function │ │ │ +00030f40: 732e 0a60 7072 696d 6974 6976 6574 7970 s..`primitivetyp │ │ │ +00030f50: 6527 2020 2020 2020 2020 2020 5072 696d e' Prim │ │ │ +00030f60: 6974 6976 6520 7479 7065 7320 286c 696b itive types (lik │ │ │ +00030f70: 6520 5365 7420 616e 6420 5072 6f70 292e e Set and Prop). │ │ │ +00030f80: 0a60 7265 636f 7264 2720 2020 2020 2020 .`record' │ │ │ +00030f90: 2020 2020 2020 2020 2020 5265 636f 7264 Record │ │ │ +00030fa0: 2074 7970 6573 2e0a 6073 6861 646f 7769 types..`shadowi │ │ │ +00030fb0: 6e67 696e 7465 6c65 7363 6f70 6527 2020 ngintelescope' │ │ │ +00030fc0: 2053 6861 646f 7765 6420 7265 7065 6174 Shadowed repeat │ │ │ +00030fd0: 6564 2076 6172 6961 626c 6520 6e61 6d65 ed variable name │ │ │ +00030fe0: 7320 696e 2074 656c 6573 636f 7065 732e s in telescopes. │ │ │ +00030ff0: 0a60 7374 7269 6e67 2720 2020 2020 2020 .`string' │ │ │ +00031000: 2020 2020 2020 2020 2020 5374 7269 6e67 String │ │ │ +00031010: 732e 0a60 7379 6d62 6f6c 2720 2020 2020 s..`symbol' │ │ │ +00031020: 2020 2020 2020 2020 2020 2020 5379 6d62 Symb │ │ │ +00031030: 6f6c 7320 6c69 6b65 2066 6f72 616c 6c2c ols like forall, │ │ │ +00031040: 203d 2c20 2d3e 2c20 6574 632e 0a60 7465 =, ->, etc..`te │ │ │ +00031050: 726d 696e 6174 696f 6e70 726f 626c 656d rminationproblem │ │ │ +00031060: 2720 2020 2020 5465 726d 696e 6174 696f ' Terminatio │ │ │ +00031070: 6e20 7072 6f62 6c65 6d73 2e0a 6074 7970 n problems..`typ │ │ │ +00031080: 6563 6865 636b 7327 2020 2020 2020 2020 echecks' │ │ │ +00031090: 2020 2020 2043 6f64 6520 7768 6963 6820 Code which │ │ │ +000310a0: 6973 2062 6569 6e67 2074 7970 652d 6368 is being type-ch │ │ │ +000310b0: 6563 6b65 642e 0a60 756e 736f 6c76 6564 ecked..`unsolved │ │ │ +000310c0: 636f 6e73 7472 6169 6e74 2720 2020 2020 constraint' │ │ │ +000310d0: 556e 736f 6c76 6564 2063 6f6e 7374 7261 Unsolved constra │ │ │ +000310e0: 696e 7473 2c20 6e6f 7420 636f 6e6e 6563 ints, not connec │ │ │ +000310f0: 7465 6420 746f 206d 6574 610a 2020 2020 ted to meta. │ │ │ 00031100: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00031110: 2020 2020 2020 7661 7269 6162 6c65 732e variables. │ │ │ -00031120: 0a60 756e 736f 6c76 6564 6d65 7461 2720 .`unsolvedmeta' │ │ │ -00031130: 2020 2020 2020 2020 2020 556e 736f 6c76 Unsolv │ │ │ -00031140: 6564 206d 6574 6120 7661 7269 6162 6c65 ed meta variable │ │ │ -00031150: 732e 2229 0a0a 3b3b 3b3b 3b3b 3b3b 3b3b s.")..;;;;;;;;;; │ │ │ +00031110: 2020 2020 2020 2076 6172 6961 626c 6573 variables │ │ │ +00031120: 2e0a 6075 6e73 6f6c 7665 646d 6574 6127 ..`unsolvedmeta' │ │ │ +00031130: 2020 2020 2020 2020 2020 2055 6e73 6f6c Unsol │ │ │ +00031140: 7665 6420 6d65 7461 2076 6172 6961 626c ved meta variabl │ │ │ +00031150: 6573 2e22 290a 0a3b 3b3b 3b3b 3b3b 3b3b es.")..;;;;;;;;; │ │ │ 00031160: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00031170: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00031180: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ -00031190: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 0a3b ;;;;;;;;;;;;;;.; │ │ │ -000311a0: 3b20 5661 7269 6162 6c65 730a 0a28 6465 ; Variables..(de │ │ │ -000311b0: 6676 6172 2061 6764 6132 2d68 6967 686c fvar agda2-highl │ │ │ -000311c0: 6967 6874 2d69 6e2d 7072 6f67 7265 7373 ight-in-progress │ │ │ -000311d0: 206e 696c 0a20 2022 4966 206e 696c 2c20 nil. "If nil, │ │ │ -000311e0: 7468 656e 2068 6967 686c 6967 6874 696e then highlightin │ │ │ -000311f0: 6720 616e 6e6f 7461 7469 6f6e 7320 6172 g annotations ar │ │ │ -00031200: 6520 6e6f 7420 6170 706c 6965 642e 2229 e not applied.") │ │ │ -00031210: 0a28 6d61 6b65 2d76 6172 6961 626c 652d .(make-variable- │ │ │ -00031220: 6275 6666 6572 2d6c 6f63 616c 2027 6167 buffer-local 'ag │ │ │ -00031230: 6461 322d 6869 6768 6c69 6768 742d 696e da2-highlight-in │ │ │ -00031240: 2d70 726f 6772 6573 7329 0a0a 3b3b 3b3b -progress)..;;;; │ │ │ +00031190: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b0a ;;;;;;;;;;;;;;;. │ │ │ +000311a0: 3b3b 2056 6172 6961 626c 6573 0a0a 2864 ;; Variables..(d │ │ │ +000311b0: 6566 7661 7220 6167 6461 322d 6869 6768 efvar agda2-high │ │ │ +000311c0: 6c69 6768 742d 696e 2d70 726f 6772 6573 light-in-progres │ │ │ +000311d0: 7320 6e69 6c0a 2020 2249 6620 6e69 6c2c s nil. "If nil, │ │ │ +000311e0: 2074 6865 6e20 6869 6768 6c69 6768 7469 then highlighti │ │ │ +000311f0: 6e67 2061 6e6e 6f74 6174 696f 6e73 2061 ng annotations a │ │ │ +00031200: 7265 206e 6f74 2061 7070 6c69 6564 2e22 re not applied." │ │ │ +00031210: 290a 286d 616b 652d 7661 7269 6162 6c65 ).(make-variable │ │ │ +00031220: 2d62 7566 6665 722d 6c6f 6361 6c20 2761 -buffer-local 'a │ │ │ +00031230: 6764 6132 2d68 6967 686c 6967 6874 2d69 gda2-highlight-i │ │ │ +00031240: 6e2d 7072 6f67 7265 7373 290a 0a3b 3b3b n-progress)..;;; │ │ │ 00031250: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00031260: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00031270: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00031280: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ -00031290: 3b3b 3b3b 0a3b 3b20 4675 6e63 7469 6f6e ;;;;.;; Function │ │ │ -000312a0: 730a 0a28 6465 6675 6e20 6167 6461 322d s..(defun agda2- │ │ │ -000312b0: 6869 6768 6c69 6768 742d 7365 7475 7020 highlight-setup │ │ │ -000312c0: 6e69 6c0a 2020 2253 6574 2075 7020 7468 nil. "Set up th │ │ │ -000312d0: 6520 6061 6e6e 6f74 6174 696f 6e27 206c e `annotation' l │ │ │ -000312e0: 6962 7261 7279 2066 6f72 2075 7365 2077 ibrary for use w │ │ │ -000312f0: 6974 6820 6061 6764 6132 2d6d 6f64 6527 ith `agda2-mode' │ │ │ -00031300: 2e22 0a20 2028 6167 6461 322d 6869 6768 .". (agda2-high │ │ │ -00031310: 6c69 6768 742d 7365 742d 6661 6365 7320 light-set-faces │ │ │ -00031320: 2761 6764 6132 2d68 6967 686c 6967 6874 'agda2-highlight │ │ │ -00031330: 2d66 6163 652d 6772 6f75 7073 2061 6764 -face-groups agd │ │ │ -00031340: 6132 2d68 6967 686c 6967 6874 2d66 6163 a2-highlight-fac │ │ │ -00031350: 652d 6772 6f75 7073 290a 2020 2873 6574 e-groups). (set │ │ │ -00031360: 7120 616e 6e6f 7461 7469 6f6e 2d62 696e q annotation-bin │ │ │ -00031370: 6469 6e67 7320 6167 6461 322d 6869 6768 dings agda2-high │ │ │ -00031380: 6c69 6768 742d 6661 6365 7329 290a 0a28 light-faces))..( │ │ │ -00031390: 6465 6675 6e20 6167 6461 322d 6869 6768 defun agda2-high │ │ │ -000313a0: 6c69 6768 742d 6170 706c 7920 2872 656d light-apply (rem │ │ │ -000313b0: 6f76 6520 2672 6573 7420 636d 6473 290a ove &rest cmds). │ │ │ -000313c0: 2020 2241 6464 7320 7468 6520 7379 6e74 "Adds the synt │ │ │ -000313d0: 6178 2068 6967 686c 6967 6874 696e 6720 ax highlighting │ │ │ -000313e0: 696e 666f 726d 6174 696f 6e20 696e 2074 information in t │ │ │ -000313f0: 6865 2061 6e6e 6f74 6174 696f 6e20 6c69 he annotation li │ │ │ -00031400: 7374 2043 4d44 532e 0a0a 4966 2052 454d st CMDS...If REM │ │ │ -00031410: 4f56 4520 6973 206e 696c 2c20 7468 656e OVE is nil, then │ │ │ -00031420: 206f 6c64 2073 796e 7461 7820 6869 6768 old syntax high │ │ │ -00031430: 6c69 6768 7469 6e67 2069 6e66 6f72 6d61 lighting informa │ │ │ -00031440: 7469 6f6e 2069 7320 6e6f 740a 7265 6d6f tion is not.remo │ │ │ -00031450: 7665 642e 204f 7468 6572 7769 7365 2061 ved. Otherwise a │ │ │ -00031460: 6c6c 2074 6f6b 656e 2d62 6173 6564 2073 ll token-based s │ │ │ -00031470: 796e 7461 7820 6869 6768 6c69 6768 7469 yntax highlighti │ │ │ -00031480: 6e67 2069 7320 7265 6d6f 7665 642e 220a ng is removed.". │ │ │ -00031490: 2020 286c 6574 2028 3b3b 2049 676e 6f72 (let (;; Ignor │ │ │ -000314a0: 6520 7265 6164 2d6f 6e6c 7920 7374 6174 e read-only stat │ │ │ -000314b0: 7573 2c20 6f74 6865 7277 6973 6520 7468 us, otherwise th │ │ │ -000314c0: 6973 2066 756e 6374 696f 6e20 6d61 7920 is function may │ │ │ -000314d0: 6661 696c 2e0a 2020 2020 2020 2020 2869 fail.. (i │ │ │ -000314e0: 6e68 6962 6974 2d72 6561 642d 6f6e 6c79 nhibit-read-only │ │ │ -000314f0: 2074 2929 0a20 2020 2028 6170 706c 7920 t)). (apply │ │ │ -00031500: 2761 6e6e 6f74 6174 696f 6e2d 6c6f 6164 'annotation-load │ │ │ -00031510: 0a20 2020 2020 2020 2020 2020 2243 6c69 . "Cli │ │ │ -00031520: 636b 206d 6f75 7365 2d32 2074 6f20 6a75 ck mouse-2 to ju │ │ │ -00031530: 6d70 2074 6f20 6465 6669 6e69 7469 6f6e mp to definition │ │ │ -00031540: 220a 2020 2020 2020 2020 2020 2072 656d ". rem │ │ │ -00031550: 6f76 650a 2020 2020 2020 2020 2020 2063 ove. c │ │ │ -00031560: 6d64 7329 2929 0a0a 2864 6566 756e 2061 mds)))..(defun a │ │ │ -00031570: 6764 6132 2d68 6967 686c 6967 6874 2d61 gda2-highlight-a │ │ │ -00031580: 6464 2d61 6e6e 6f74 6174 696f 6e73 2028 dd-annotations ( │ │ │ -00031590: 7265 6d6f 7665 2026 7265 7374 2063 6d64 remove &rest cmd │ │ │ -000315a0: 7329 0a20 2022 4c69 6b65 2060 6167 6461 s). "Like `agda │ │ │ -000315b0: 322d 6869 6768 6c69 6768 742d 6170 706c 2-highlight-appl │ │ │ -000315c0: 7927 2e0a 4275 7420 6f6e 6c79 2069 6620 y'..But only if │ │ │ -000315d0: 6061 6764 6132 2d68 6967 686c 6967 6874 `agda2-highlight │ │ │ -000315e0: 2d69 6e2d 7072 6f67 7265 7373 2720 6973 -in-progress' is │ │ │ -000315f0: 206e 6f6e 2d6e 696c 2e22 0a20 2028 6966 non-nil.". (if │ │ │ -00031600: 2061 6764 6132 2d68 6967 686c 6967 6874 agda2-highlight │ │ │ -00031610: 2d69 6e2d 7072 6f67 7265 7373 0a20 2020 -in-progress. │ │ │ -00031620: 2020 2028 6170 706c 7920 2761 6764 6132 (apply 'agda2 │ │ │ -00031630: 2d68 6967 686c 6967 6874 2d61 7070 6c79 -highlight-apply │ │ │ -00031640: 2072 656d 6f76 6520 636d 6473 2929 290a remove cmds))). │ │ │ -00031650: 0a28 6465 6675 6e20 6167 6461 322d 6869 .(defun agda2-hi │ │ │ -00031660: 6768 6c69 6768 742d 6c6f 6164 2028 6669 ghlight-load (fi │ │ │ -00031670: 6c65 290a 2020 224c 6f61 6420 7379 6e74 le). "Load synt │ │ │ -00031680: 6178 2068 6967 686c 6967 6874 696e 6720 ax highlighting │ │ │ -00031690: 696e 666f 726d 6174 696f 6e20 6672 6f6d information from │ │ │ -000316a0: 2046 494c 452e 0a0a 4f6c 6420 7379 6e74 FILE...Old synt │ │ │ -000316b0: 6178 2068 6967 686c 6967 6874 696e 6720 ax highlighting │ │ │ -000316c0: 696e 666f 726d 6174 696f 6e20 6973 206e information is n │ │ │ -000316d0: 6f74 2072 656d 6f76 6564 2e22 0a20 2028 ot removed.". ( │ │ │ -000316e0: 6c65 742a 2028 2863 6f64 696e 672d 7379 let* ((coding-sy │ │ │ -000316f0: 7374 656d 2d66 6f72 2d72 6561 6420 2775 stem-for-read 'u │ │ │ -00031700: 7466 2d38 290a 2020 2020 2020 2020 2028 tf-8). ( │ │ │ -00031710: 636d 6473 2028 7769 7468 2d74 656d 702d cmds (with-temp- │ │ │ -00031720: 6275 6666 6572 0a20 2020 2020 2020 2020 buffer. │ │ │ -00031730: 2020 2020 2020 2020 2869 6e73 6572 742d (insert- │ │ │ -00031740: 6669 6c65 2d63 6f6e 7465 6e74 7320 6669 file-contents fi │ │ │ -00031750: 6c65 290a 2020 2020 2020 2020 2020 2020 le). │ │ │ -00031760: 2020 2020 2028 676f 746f 2d63 6861 7220 (goto-char │ │ │ -00031770: 2870 6f69 6e74 2d6d 696e 2929 0a20 2020 (point-min)). │ │ │ -00031780: 2020 2020 2020 2020 2020 2020 2020 2872 (r │ │ │ -00031790: 6561 6420 2863 7572 7265 6e74 2d62 7566 ead (current-buf │ │ │ -000317a0: 6665 7229 2929 2929 0a20 2020 2020 2028 fer))))). ( │ │ │ -000317b0: 6170 706c 7920 2761 6764 6132 2d68 6967 apply 'agda2-hig │ │ │ -000317c0: 686c 6967 6874 2d61 7070 6c79 2063 6d64 hlight-apply cmd │ │ │ -000317d0: 7329 2929 0a0a 2864 6566 756e 2061 6764 s)))..(defun agd │ │ │ -000317e0: 6132 2d68 6967 686c 6967 6874 2d6c 6f61 a2-highlight-loa │ │ │ -000317f0: 642d 616e 642d 6465 6c65 7465 2d61 6374 d-and-delete-act │ │ │ -00031800: 696f 6e20 2866 696c 6529 0a20 2022 4c69 ion (file). "Li │ │ │ -00031810: 6b65 2060 6167 6461 322d 6869 6768 6c69 ke `agda2-highli │ │ │ -00031820: 6768 742d 6c6f 6164 272c 2062 7574 2064 ght-load', but d │ │ │ -00031830: 656c 6574 6573 2046 494c 4520 7768 656e eletes FILE when │ │ │ -00031840: 2064 6f6e 652e 0a41 6e64 2068 6967 686c done..And highl │ │ │ -00031850: 6967 6874 696e 6720 6973 206f 6e6c 7920 ighting is only │ │ │ -00031860: 7570 6461 7465 6420 6966 2060 6167 6461 updated if `agda │ │ │ -00031870: 322d 6869 6768 6c69 6768 742d 696e 2d70 2-highlight-in-p │ │ │ -00031880: 726f 6772 6573 7327 0a69 7320 6e6f 6e2d rogress'.is non- │ │ │ -00031890: 6e69 6c2e 220a 2020 2875 6e77 696e 642d nil.". (unwind- │ │ │ -000318a0: 7072 6f74 6563 740a 2020 2020 2020 2869 protect. (i │ │ │ -000318b0: 6620 6167 6461 322d 6869 6768 6c69 6768 f agda2-highligh │ │ │ -000318c0: 742d 696e 2d70 726f 6772 6573 730a 2020 t-in-progress. │ │ │ -000318d0: 2020 2020 2020 2020 2861 6764 6132 2d68 (agda2-h │ │ │ -000318e0: 6967 686c 6967 6874 2d6c 6f61 6420 6669 ighlight-load fi │ │ │ -000318f0: 6c65 2929 0a20 2020 2028 6465 6c65 7465 le)). (delete │ │ │ -00031900: 2d66 696c 6520 6669 6c65 2929 290a 0a28 -file file)))..( │ │ │ -00031910: 6465 6675 6e20 6167 6461 322d 6869 6768 defun agda2-high │ │ │ -00031920: 6c69 6768 742d 636c 6561 7220 2826 6f70 light-clear (&op │ │ │ -00031930: 7469 6f6e 616c 2074 6f6b 656e 2d62 6173 tional token-bas │ │ │ -00031940: 6564 290a 2020 2252 656d 6f76 6520 616c ed). "Remove al │ │ │ -00031950: 6c20 7379 6e74 6178 2068 6967 686c 6967 l syntax highlig │ │ │ -00031960: 6874 696e 672e 0a0a 4966 2054 4f4b 454e hting...If TOKEN │ │ │ -00031970: 2d42 4153 4544 2069 7320 6e6f 6e2d 6e69 -BASED is non-ni │ │ │ -00031980: 6c2c 2074 6865 6e20 6f6e 6c79 2074 6f6b l, then only tok │ │ │ -00031990: 656e 2d62 6173 6564 2068 6967 686c 6967 en-based highlig │ │ │ -000319a0: 6874 696e 6720 6973 0a72 656d 6f76 6564 hting is.removed │ │ │ -000319b0: 2e22 0a20 2028 696e 7465 7261 6374 6976 .". (interactiv │ │ │ -000319c0: 6529 0a20 2028 6c65 7420 2828 696e 6869 e). (let ((inhi │ │ │ -000319d0: 6269 742d 7265 6164 2d6f 6e6c 7920 7429 bit-read-only t) │ │ │ -000319e0: 290a 2020 2020 2020 203b 2049 676e 6f72 ). ; Ignor │ │ │ -000319f0: 6520 7265 6164 2d6f 6e6c 7920 7374 6174 e read-only stat │ │ │ -00031a00: 7573 2c20 6f74 6865 7277 6973 6520 7468 us, otherwise th │ │ │ -00031a10: 6973 2066 756e 6374 696f 6e20 6d61 7920 is function may │ │ │ -00031a20: 6661 696c 2e0a 2020 2020 2861 6e6e 6f74 fail.. (annot │ │ │ -00031a30: 6174 696f 6e2d 7265 6d6f 7665 2d61 6e6e ation-remove-ann │ │ │ -00031a40: 6f74 6174 696f 6e73 2074 6f6b 656e 2d62 otations token-b │ │ │ -00031a50: 6173 6564 2929 290a 0a3b 3b3b 3b3b 3b3b ased)))..;;;;;;; │ │ │ +00031290: 3b3b 3b3b 3b0a 3b3b 2046 756e 6374 696f ;;;;;.;; Functio │ │ │ +000312a0: 6e73 0a0a 2864 6566 756e 2061 6764 6132 ns..(defun agda2 │ │ │ +000312b0: 2d68 6967 686c 6967 6874 2d73 6574 7570 -highlight-setup │ │ │ +000312c0: 206e 696c 0a20 2022 5365 7420 7570 2074 nil. "Set up t │ │ │ +000312d0: 6865 2060 616e 6e6f 7461 7469 6f6e 2720 he `annotation' │ │ │ +000312e0: 6c69 6272 6172 7920 666f 7220 7573 6520 library for use │ │ │ +000312f0: 7769 7468 2060 6167 6461 322d 6d6f 6465 with `agda2-mode │ │ │ +00031300: 272e 220a 2020 2861 6764 6132 2d68 6967 '.". (agda2-hig │ │ │ +00031310: 686c 6967 6874 2d73 6574 2d66 6163 6573 hlight-set-faces │ │ │ +00031320: 2027 6167 6461 322d 6869 6768 6c69 6768 'agda2-highligh │ │ │ +00031330: 742d 6661 6365 2d67 726f 7570 7320 6167 t-face-groups ag │ │ │ +00031340: 6461 322d 6869 6768 6c69 6768 742d 6661 da2-highlight-fa │ │ │ +00031350: 6365 2d67 726f 7570 7329 0a20 2028 7365 ce-groups). (se │ │ │ +00031360: 7471 2061 6e6e 6f74 6174 696f 6e2d 6269 tq annotation-bi │ │ │ +00031370: 6e64 696e 6773 2061 6764 6132 2d68 6967 ndings agda2-hig │ │ │ +00031380: 686c 6967 6874 2d66 6163 6573 2929 0a0a hlight-faces)).. │ │ │ +00031390: 2864 6566 756e 2061 6764 6132 2d68 6967 (defun agda2-hig │ │ │ +000313a0: 686c 6967 6874 2d61 7070 6c79 2028 7265 hlight-apply (re │ │ │ +000313b0: 6d6f 7665 2026 7265 7374 2063 6d64 7329 move &rest cmds) │ │ │ +000313c0: 0a20 2022 4164 6473 2074 6865 2073 796e . "Adds the syn │ │ │ +000313d0: 7461 7820 6869 6768 6c69 6768 7469 6e67 tax highlighting │ │ │ +000313e0: 2069 6e66 6f72 6d61 7469 6f6e 2069 6e20 information in │ │ │ +000313f0: 7468 6520 616e 6e6f 7461 7469 6f6e 206c the annotation l │ │ │ +00031400: 6973 7420 434d 4453 2e0a 0a49 6620 5245 ist CMDS...If RE │ │ │ +00031410: 4d4f 5645 2069 7320 6e69 6c2c 2074 6865 MOVE is nil, the │ │ │ +00031420: 6e20 6f6c 6420 7379 6e74 6178 2068 6967 n old syntax hig │ │ │ +00031430: 686c 6967 6874 696e 6720 696e 666f 726d hlighting inform │ │ │ +00031440: 6174 696f 6e20 6973 206e 6f74 0a72 656d ation is not.rem │ │ │ +00031450: 6f76 6564 2e20 4f74 6865 7277 6973 6520 oved. Otherwise │ │ │ +00031460: 616c 6c20 746f 6b65 6e2d 6261 7365 6420 all token-based │ │ │ +00031470: 7379 6e74 6178 2068 6967 686c 6967 6874 syntax highlight │ │ │ +00031480: 696e 6720 6973 2072 656d 6f76 6564 2e22 ing is removed." │ │ │ +00031490: 0a20 2028 6c65 7420 283b 3b20 4967 6e6f . (let (;; Igno │ │ │ +000314a0: 7265 2072 6561 642d 6f6e 6c79 2073 7461 re read-only sta │ │ │ +000314b0: 7475 732c 206f 7468 6572 7769 7365 2074 tus, otherwise t │ │ │ +000314c0: 6869 7320 6675 6e63 7469 6f6e 206d 6179 his function may │ │ │ +000314d0: 2066 6169 6c2e 0a20 2020 2020 2020 2028 fail.. ( │ │ │ +000314e0: 696e 6869 6269 742d 7265 6164 2d6f 6e6c inhibit-read-onl │ │ │ +000314f0: 7920 7429 290a 2020 2020 2861 7070 6c79 y t)). (apply │ │ │ +00031500: 2027 616e 6e6f 7461 7469 6f6e 2d6c 6f61 'annotation-loa │ │ │ +00031510: 640a 2020 2020 2020 2020 2020 2022 436c d. "Cl │ │ │ +00031520: 6963 6b20 6d6f 7573 652d 3220 746f 206a ick mouse-2 to j │ │ │ +00031530: 756d 7020 746f 2064 6566 696e 6974 696f ump to definitio │ │ │ +00031540: 6e22 0a20 2020 2020 2020 2020 2020 7265 n". re │ │ │ +00031550: 6d6f 7665 0a20 2020 2020 2020 2020 2020 move. │ │ │ +00031560: 636d 6473 2929 290a 0a28 6465 6675 6e20 cmds)))..(defun │ │ │ +00031570: 6167 6461 322d 6869 6768 6c69 6768 742d agda2-highlight- │ │ │ +00031580: 6164 642d 616e 6e6f 7461 7469 6f6e 7320 add-annotations │ │ │ +00031590: 2872 656d 6f76 6520 2672 6573 7420 636d (remove &rest cm │ │ │ +000315a0: 6473 290a 2020 224c 696b 6520 6061 6764 ds). "Like `agd │ │ │ +000315b0: 6132 2d68 6967 686c 6967 6874 2d61 7070 a2-highlight-app │ │ │ +000315c0: 6c79 272e 0a42 7574 206f 6e6c 7920 6966 ly'..But only if │ │ │ +000315d0: 2060 6167 6461 322d 6869 6768 6c69 6768 `agda2-highligh │ │ │ +000315e0: 742d 696e 2d70 726f 6772 6573 7327 2069 t-in-progress' i │ │ │ +000315f0: 7320 6e6f 6e2d 6e69 6c2e 220a 2020 2869 s non-nil.". (i │ │ │ +00031600: 6620 6167 6461 322d 6869 6768 6c69 6768 f agda2-highligh │ │ │ +00031610: 742d 696e 2d70 726f 6772 6573 730a 2020 t-in-progress. │ │ │ +00031620: 2020 2020 2861 7070 6c79 2027 6167 6461 (apply 'agda │ │ │ +00031630: 322d 6869 6768 6c69 6768 742d 6170 706c 2-highlight-appl │ │ │ +00031640: 7920 7265 6d6f 7665 2063 6d64 7329 2929 y remove cmds))) │ │ │ +00031650: 0a0a 2864 6566 756e 2061 6764 6132 2d68 ..(defun agda2-h │ │ │ +00031660: 6967 686c 6967 6874 2d6c 6f61 6420 2866 ighlight-load (f │ │ │ +00031670: 696c 6529 0a20 2022 4c6f 6164 2073 796e ile). "Load syn │ │ │ +00031680: 7461 7820 6869 6768 6c69 6768 7469 6e67 tax highlighting │ │ │ +00031690: 2069 6e66 6f72 6d61 7469 6f6e 2066 726f information fro │ │ │ +000316a0: 6d20 4649 4c45 2e0a 0a4f 6c64 2073 796e m FILE...Old syn │ │ │ +000316b0: 7461 7820 6869 6768 6c69 6768 7469 6e67 tax highlighting │ │ │ +000316c0: 2069 6e66 6f72 6d61 7469 6f6e 2069 7320 information is │ │ │ +000316d0: 6e6f 7420 7265 6d6f 7665 642e 220a 2020 not removed.". │ │ │ +000316e0: 286c 6574 2a20 2828 636f 6469 6e67 2d73 (let* ((coding-s │ │ │ +000316f0: 7973 7465 6d2d 666f 722d 7265 6164 2027 ystem-for-read ' │ │ │ +00031700: 7574 662d 3829 0a20 2020 2020 2020 2020 utf-8). │ │ │ +00031710: 2863 6d64 7320 2877 6974 682d 7465 6d70 (cmds (with-temp │ │ │ +00031720: 2d62 7566 6665 720a 2020 2020 2020 2020 -buffer. │ │ │ +00031730: 2020 2020 2020 2020 2028 696e 7365 7274 (insert │ │ │ +00031740: 2d66 696c 652d 636f 6e74 656e 7473 2066 -file-contents f │ │ │ +00031750: 696c 6529 0a20 2020 2020 2020 2020 2020 ile). │ │ │ +00031760: 2020 2020 2020 2867 6f74 6f2d 6368 6172 (goto-char │ │ │ +00031770: 2028 706f 696e 742d 6d69 6e29 290a 2020 (point-min)). │ │ │ +00031780: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ +00031790: 7265 6164 2028 6375 7272 656e 742d 6275 read (current-bu │ │ │ +000317a0: 6666 6572 2929 2929 290a 2020 2020 2020 ffer))))). │ │ │ +000317b0: 2861 7070 6c79 2027 6167 6461 322d 6869 (apply 'agda2-hi │ │ │ +000317c0: 6768 6c69 6768 742d 6170 706c 7920 636d ghlight-apply cm │ │ │ +000317d0: 6473 2929 290a 0a28 6465 6675 6e20 6167 ds)))..(defun ag │ │ │ +000317e0: 6461 322d 6869 6768 6c69 6768 742d 6c6f da2-highlight-lo │ │ │ +000317f0: 6164 2d61 6e64 2d64 656c 6574 652d 6163 ad-and-delete-ac │ │ │ +00031800: 7469 6f6e 2028 6669 6c65 290a 2020 224c tion (file). "L │ │ │ +00031810: 696b 6520 6061 6764 6132 2d68 6967 686c ike `agda2-highl │ │ │ +00031820: 6967 6874 2d6c 6f61 6427 2c20 6275 7420 ight-load', but │ │ │ +00031830: 6465 6c65 7465 7320 4649 4c45 2077 6865 deletes FILE whe │ │ │ +00031840: 6e20 646f 6e65 2e0a 416e 6420 6869 6768 n done..And high │ │ │ +00031850: 6c69 6768 7469 6e67 2069 7320 6f6e 6c79 lighting is only │ │ │ +00031860: 2075 7064 6174 6564 2069 6620 6061 6764 updated if `agd │ │ │ +00031870: 6132 2d68 6967 686c 6967 6874 2d69 6e2d a2-highlight-in- │ │ │ +00031880: 7072 6f67 7265 7373 270a 6973 206e 6f6e progress'.is non │ │ │ +00031890: 2d6e 696c 2e22 0a20 2028 756e 7769 6e64 -nil.". (unwind │ │ │ +000318a0: 2d70 726f 7465 6374 0a20 2020 2020 2028 -protect. ( │ │ │ +000318b0: 6966 2061 6764 6132 2d68 6967 686c 6967 if agda2-highlig │ │ │ +000318c0: 6874 2d69 6e2d 7072 6f67 7265 7373 0a20 ht-in-progress. │ │ │ +000318d0: 2020 2020 2020 2020 2028 6167 6461 322d (agda2- │ │ │ +000318e0: 6869 6768 6c69 6768 742d 6c6f 6164 2066 highlight-load f │ │ │ +000318f0: 696c 6529 290a 2020 2020 2864 656c 6574 ile)). (delet │ │ │ +00031900: 652d 6669 6c65 2066 696c 6529 2929 0a0a e-file file))).. │ │ │ +00031910: 2864 6566 756e 2061 6764 6132 2d68 6967 (defun agda2-hig │ │ │ +00031920: 686c 6967 6874 2d63 6c65 6172 2028 266f hlight-clear (&o │ │ │ +00031930: 7074 696f 6e61 6c20 746f 6b65 6e2d 6261 ptional token-ba │ │ │ +00031940: 7365 6429 0a20 2022 5265 6d6f 7665 2061 sed). "Remove a │ │ │ +00031950: 6c6c 2073 796e 7461 7820 6869 6768 6c69 ll syntax highli │ │ │ +00031960: 6768 7469 6e67 2e0a 0a49 6620 544f 4b45 ghting...If TOKE │ │ │ +00031970: 4e2d 4241 5345 4420 6973 206e 6f6e 2d6e N-BASED is non-n │ │ │ +00031980: 696c 2c20 7468 656e 206f 6e6c 7920 746f il, then only to │ │ │ +00031990: 6b65 6e2d 6261 7365 6420 6869 6768 6c69 ken-based highli │ │ │ +000319a0: 6768 7469 6e67 2069 730a 7265 6d6f 7665 ghting is.remove │ │ │ +000319b0: 642e 220a 2020 2869 6e74 6572 6163 7469 d.". (interacti │ │ │ +000319c0: 7665 290a 2020 286c 6574 2028 2869 6e68 ve). (let ((inh │ │ │ +000319d0: 6962 6974 2d72 6561 642d 6f6e 6c79 2074 ibit-read-only t │ │ │ +000319e0: 2929 0a20 2020 2020 2020 3b20 4967 6e6f )). ; Igno │ │ │ +000319f0: 7265 2072 6561 642d 6f6e 6c79 2073 7461 re read-only sta │ │ │ +00031a00: 7475 732c 206f 7468 6572 7769 7365 2074 tus, otherwise t │ │ │ +00031a10: 6869 7320 6675 6e63 7469 6f6e 206d 6179 his function may │ │ │ +00031a20: 2066 6169 6c2e 0a20 2020 2028 616e 6e6f fail.. (anno │ │ │ +00031a30: 7461 7469 6f6e 2d72 656d 6f76 652d 616e tation-remove-an │ │ │ +00031a40: 6e6f 7461 7469 6f6e 7320 746f 6b65 6e2d notations token- │ │ │ +00031a50: 6261 7365 6429 2929 0a0a 3b3b 3b3b 3b3b based)))..;;;;;; │ │ │ 00031a60: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00031a70: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00031a80: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00031a90: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ -00031aa0: 3b0a 3b3b 2041 646d 696e 6973 7472 6174 ;.;; Administrat │ │ │ -00031ab0: 6976 6520 6465 7461 696c 730a 0a28 7072 ive details..(pr │ │ │ -00031ac0: 6f76 6964 6520 2761 6764 6132 2d68 6967 ovide 'agda2-hig │ │ │ -00031ad0: 686c 6967 6874 290a 3b3b 3b20 6167 6461 hlight).;;; agda │ │ │ -00031ae0: 322d 6869 6768 6c69 6768 742e 656c 2065 2-highlight.el e │ │ │ -00031af0: 6e64 7320 6865 7265 0aef c7f6 b9c3 9cd7 nds here........ │ │ │ -00031b00: 9a0f 998d bcaa e9b2 debc 8801 009c 0100 ................ │ │ │ -00031b10: 031b 3705 2000 0001 0004 0408 0307 025e ..7. ..........^ │ │ │ -00031b20: 0200 0003 0f00 0505 050b 5f0b 9d01 0b61 .........._....a │ │ │ -00031b30: 0906 0100 8ce3 02a8 9cb2 d880 8cd8 cf22 ..............." │ │ │ -00031b40: f0bc c3f2 cfe4 f0f8 a201 009d 0100 03cc ................ │ │ │ -00031b50: f605 8280 80e6 0800 0001 0003 0407 0402 ................ │ │ │ -00031b60: 0000 030f 0009 018c e302 3b3b 3b20 2d2a ..........;;; -* │ │ │ -00031b70: 2d20 6c65 7869 6361 6c2d 6269 6e64 696e - lexical-bindin │ │ │ -00031b80: 673a 2074 3b20 2d2a 2d0a 3b3b 3b20 6167 g: t; -*-.;;; ag │ │ │ -00031b90: 6461 2d69 6e70 7574 2e65 6c20 2d2d 2d20 da-input.el --- │ │ │ -00031ba0: 5468 6520 4167 6461 2069 6e70 7574 206d The Agda input m │ │ │ -00031bb0: 6574 686f 640a 0a3b 3b20 5350 4458 2d4c ethod..;; SPDX-L │ │ │ -00031bc0: 6963 656e 7365 2d49 6465 6e74 6966 6965 icense-Identifie │ │ │ -00031bd0: 723a 204d 4954 204c 6963 656e 7365 0a3b r: MIT License.; │ │ │ -00031be0: 3b3b 2043 6f6d 6d65 6e74 6172 793a 0a0a ;; Commentary:.. │ │ │ -00031bf0: 3b3b 2041 2068 6967 686c 7920 6375 7374 ;; A highly cust │ │ │ -00031c00: 6f6d 6973 6162 6c65 2069 6e70 7574 206d omisable input m │ │ │ -00031c10: 6574 686f 6420 7768 6963 6820 6361 6e20 ethod which can │ │ │ -00031c20: 696e 6865 7269 7420 6672 6f6d 206f 7468 inherit from oth │ │ │ -00031c30: 6572 0a3b 3b20 5175 6169 6c20 696e 7075 er.;; Quail inpu │ │ │ -00031c40: 7420 6d65 7468 6f64 732e 2042 7920 6465 t methods. By de │ │ │ -00031c50: 6661 756c 7420 7468 6520 696e 7075 7420 fault the input │ │ │ -00031c60: 6d65 7468 6f64 2069 7320 6765 6172 6564 method is geared │ │ │ -00031c70: 2074 6f77 6172 6473 0a3b 3b20 7468 6520 towards.;; the │ │ │ -00031c80: 696e 7075 7420 6f66 206d 6174 6865 6d61 input of mathema │ │ │ -00031c90: 7469 6361 6c20 616e 6420 6f74 6865 7220 tical and other │ │ │ -00031ca0: 7379 6d62 6f6c 7320 696e 2041 6764 6120 symbols in Agda │ │ │ -00031cb0: 7072 6f67 7261 6d73 2e0a 3b3b 0a3b 3b20 programs..;;.;; │ │ │ -00031cc0: 5573 6520 4d2d 7820 6375 7374 6f6d 697a Use M-x customiz │ │ │ -00031cd0: 652d 6772 6f75 7020 6167 6461 2d69 6e70 e-group agda-inp │ │ │ -00031ce0: 7574 2074 6f20 6375 7374 6f6d 6973 6520 ut to customise │ │ │ -00031cf0: 7468 6973 2069 6e70 7574 206d 6574 686f this input metho │ │ │ -00031d00: 642e 0a3b 3b20 4e6f 7465 2074 6861 7420 d..;; Note that │ │ │ -00031d10: 7468 6520 6675 6e63 7469 6f6e 7320 6465 the functions de │ │ │ -00031d20: 6669 6e65 6420 756e 6465 7220 2246 756e fined under "Fun │ │ │ -00031d30: 6374 696f 6e73 2075 7365 6420 746f 2074 ctions used to t │ │ │ -00031d40: 7765 616b 0a3b 3b20 7472 616e 736c 6174 weak.;; translat │ │ │ -00031d50: 696f 6e20 7061 6972 7322 2062 656c 6f77 ion pairs" below │ │ │ -00031d60: 2063 616e 2062 6520 7573 6564 2074 6f20 can be used to │ │ │ -00031d70: 7477 6561 6b20 626f 7468 2074 6865 206b tweak both the k │ │ │ -00031d80: 6579 0a3b 3b20 7472 616e 736c 6174 696f ey.;; translatio │ │ │ -00031d90: 6e73 2069 6e68 6572 6974 6564 2066 726f ns inherited fro │ │ │ -00031da0: 6d20 6f74 6865 7220 696e 7075 7420 6d65 m other input me │ │ │ -00031db0: 7468 6f64 7320 6173 2077 656c 6c20 6173 thods as well as │ │ │ -00031dc0: 2074 6865 0a3b 3b20 6f6e 6573 2061 6464 the.;; ones add │ │ │ -00031dd0: 6564 2073 7065 6369 6669 6361 6c6c 7920 ed specifically │ │ │ -00031de0: 666f 7220 7468 6973 206f 6e65 2e0a 3b3b for this one..;; │ │ │ -00031df0: 0a3b 3b20 5573 6520 6167 6461 2d69 6e70 .;; Use agda-inp │ │ │ -00031e00: 7574 2d73 686f 772d 7472 616e 736c 6174 ut-show-translat │ │ │ -00031e10: 696f 6e73 2074 6f20 7365 6520 616c 6c20 ions to see all │ │ │ -00031e20: 7468 6520 6368 6172 6163 7465 7273 2077 the characters w │ │ │ -00031e30: 6869 6368 0a3b 3b20 6361 6e20 6265 2074 hich.;; can be t │ │ │ -00031e40: 7970 6564 2075 7369 6e67 2074 6869 7320 yped using this │ │ │ -00031e50: 696e 7075 7420 6d65 7468 6f64 2028 6578 input method (ex │ │ │ -00031e60: 6365 7074 2066 6f72 2074 686f 7365 0a3b cept for those.; │ │ │ -00031e70: 3b20 636f 7272 6573 706f 6e64 696e 6720 ; corresponding │ │ │ -00031e80: 746f 2041 5343 4949 2063 6861 7261 6374 to ASCII charact │ │ │ -00031e90: 6572 7329 2e0a 0a3b 3b3b 2043 6f64 653a ers)...;;; Code: │ │ │ -00031ea0: 0a0a 2872 6571 7569 7265 2027 7175 6169 ..(require 'quai │ │ │ -00031eb0: 6c29 0a28 7265 7175 6972 6520 2763 6c2d l).(require 'cl- │ │ │ -00031ec0: 6c69 6229 0a3b 3b20 5175 6169 6c20 6973 lib).;; Quail is │ │ │ -00031ed0: 2071 7569 7465 2073 7461 7465 6675 6c2c quite stateful, │ │ │ -00031ee0: 2073 6f20 6265 2063 6172 6566 756c 2077 so be careful w │ │ │ -00031ef0: 6865 6e20 6564 6974 696e 6720 7468 6973 hen editing this │ │ │ -00031f00: 2063 6f64 652e 2020 4e6f 7465 0a3b 3b20 code. Note.;; │ │ │ -00031f10: 7468 6174 2077 6974 682d 7465 6d70 2d62 that with-temp-b │ │ │ -00031f20: 7566 6665 7220 6973 2075 7365 6420 6265 uffer is used be │ │ │ -00031f30: 6c6f 7720 7768 656e 6576 6572 2062 7566 low whenever buf │ │ │ -00031f40: 6665 722d 6c6f 6361 6c20 7374 6174 6520 fer-local state │ │ │ -00031f50: 6973 0a3b 3b20 6d6f 6469 6669 6564 2e0a is.;; modified.. │ │ │ -00031f60: 0a3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b .;;;;;;;;;;;;;;; │ │ │ +00031aa0: 3b3b 0a3b 3b20 4164 6d69 6e69 7374 7261 ;;.;; Administra │ │ │ +00031ab0: 7469 7665 2064 6574 6169 6c73 0a0a 2870 tive details..(p │ │ │ +00031ac0: 726f 7669 6465 2027 6167 6461 322d 6869 rovide 'agda2-hi │ │ │ +00031ad0: 6768 6c69 6768 7429 0a3b 3b3b 2061 6764 ghlight).;;; agd │ │ │ +00031ae0: 6132 2d68 6967 686c 6967 6874 2e65 6c20 a2-highlight.el │ │ │ +00031af0: 656e 6473 2068 6572 650a efc7 f6b9 c39c ends here....... │ │ │ +00031b00: d79a 0f99 8dbc aae9 b2de bc88 0100 9c01 ................ │ │ │ +00031b10: 0003 1b38 0520 0000 0100 0404 0803 0702 ...8. .......... │ │ │ +00031b20: 5e02 0000 030f 0005 0505 0b5f 0b9d 010b ^.........._.... │ │ │ +00031b30: 6109 0601 008c e302 a89c b2d8 808c d8cf a............... │ │ │ +00031b40: 22f0 bcc3 f2cf e4f0 f8a2 0100 9d01 0003 "............... │ │ │ +00031b50: ccf7 0582 8080 e608 0000 0100 0304 0704 ................ │ │ │ +00031b60: 0200 0003 0f00 0901 8ce3 023b 3b3b 202d ...........;;; - │ │ │ +00031b70: 2a2d 206c 6578 6963 616c 2d62 696e 6469 *- lexical-bindi │ │ │ +00031b80: 6e67 3a20 743b 202d 2a2d 0a3b 3b3b 2061 ng: t; -*-.;;; a │ │ │ +00031b90: 6764 612d 696e 7075 742e 656c 202d 2d2d gda-input.el --- │ │ │ +00031ba0: 2054 6865 2041 6764 6120 696e 7075 7420 The Agda input │ │ │ +00031bb0: 6d65 7468 6f64 0a0a 3b3b 2053 5044 582d method..;; SPDX- │ │ │ +00031bc0: 4c69 6365 6e73 652d 4964 656e 7469 6669 License-Identifi │ │ │ +00031bd0: 6572 3a20 4d49 5420 4c69 6365 6e73 650a er: MIT License. │ │ │ +00031be0: 3b3b 3b20 436f 6d6d 656e 7461 7279 3a0a ;;; Commentary:. │ │ │ +00031bf0: 0a3b 3b20 4120 6869 6768 6c79 2063 7573 .;; A highly cus │ │ │ +00031c00: 746f 6d69 7361 626c 6520 696e 7075 7420 tomisable input │ │ │ +00031c10: 6d65 7468 6f64 2077 6869 6368 2063 616e method which can │ │ │ +00031c20: 2069 6e68 6572 6974 2066 726f 6d20 6f74 inherit from ot │ │ │ +00031c30: 6865 720a 3b3b 2051 7561 696c 2069 6e70 her.;; Quail inp │ │ │ +00031c40: 7574 206d 6574 686f 6473 2e20 4279 2064 ut methods. By d │ │ │ +00031c50: 6566 6175 6c74 2074 6865 2069 6e70 7574 efault the input │ │ │ +00031c60: 206d 6574 686f 6420 6973 2067 6561 7265 method is geare │ │ │ +00031c70: 6420 746f 7761 7264 730a 3b3b 2074 6865 d towards.;; the │ │ │ +00031c80: 2069 6e70 7574 206f 6620 6d61 7468 656d input of mathem │ │ │ +00031c90: 6174 6963 616c 2061 6e64 206f 7468 6572 atical and other │ │ │ +00031ca0: 2073 796d 626f 6c73 2069 6e20 4167 6461 symbols in Agda │ │ │ +00031cb0: 2070 726f 6772 616d 732e 0a3b 3b0a 3b3b programs..;;.;; │ │ │ +00031cc0: 2055 7365 204d 2d78 2063 7573 746f 6d69 Use M-x customi │ │ │ +00031cd0: 7a65 2d67 726f 7570 2061 6764 612d 696e ze-group agda-in │ │ │ +00031ce0: 7075 7420 746f 2063 7573 746f 6d69 7365 put to customise │ │ │ +00031cf0: 2074 6869 7320 696e 7075 7420 6d65 7468 this input meth │ │ │ +00031d00: 6f64 2e0a 3b3b 204e 6f74 6520 7468 6174 od..;; Note that │ │ │ +00031d10: 2074 6865 2066 756e 6374 696f 6e73 2064 the functions d │ │ │ +00031d20: 6566 696e 6564 2075 6e64 6572 2022 4675 efined under "Fu │ │ │ +00031d30: 6e63 7469 6f6e 7320 7573 6564 2074 6f20 nctions used to │ │ │ +00031d40: 7477 6561 6b0a 3b3b 2074 7261 6e73 6c61 tweak.;; transla │ │ │ +00031d50: 7469 6f6e 2070 6169 7273 2220 6265 6c6f tion pairs" belo │ │ │ +00031d60: 7720 6361 6e20 6265 2075 7365 6420 746f w can be used to │ │ │ +00031d70: 2074 7765 616b 2062 6f74 6820 7468 6520 tweak both the │ │ │ +00031d80: 6b65 790a 3b3b 2074 7261 6e73 6c61 7469 key.;; translati │ │ │ +00031d90: 6f6e 7320 696e 6865 7269 7465 6420 6672 ons inherited fr │ │ │ +00031da0: 6f6d 206f 7468 6572 2069 6e70 7574 206d om other input m │ │ │ +00031db0: 6574 686f 6473 2061 7320 7765 6c6c 2061 ethods as well a │ │ │ +00031dc0: 7320 7468 650a 3b3b 206f 6e65 7320 6164 s the.;; ones ad │ │ │ +00031dd0: 6465 6420 7370 6563 6966 6963 616c 6c79 ded specifically │ │ │ +00031de0: 2066 6f72 2074 6869 7320 6f6e 652e 0a3b for this one..; │ │ │ +00031df0: 3b0a 3b3b 2055 7365 2061 6764 612d 696e ;.;; Use agda-in │ │ │ +00031e00: 7075 742d 7368 6f77 2d74 7261 6e73 6c61 put-show-transla │ │ │ +00031e10: 7469 6f6e 7320 746f 2073 6565 2061 6c6c tions to see all │ │ │ +00031e20: 2074 6865 2063 6861 7261 6374 6572 7320 the characters │ │ │ +00031e30: 7768 6963 680a 3b3b 2063 616e 2062 6520 which.;; can be │ │ │ +00031e40: 7479 7065 6420 7573 696e 6720 7468 6973 typed using this │ │ │ +00031e50: 2069 6e70 7574 206d 6574 686f 6420 2865 input method (e │ │ │ +00031e60: 7863 6570 7420 666f 7220 7468 6f73 650a xcept for those. │ │ │ +00031e70: 3b3b 2063 6f72 7265 7370 6f6e 6469 6e67 ;; corresponding │ │ │ +00031e80: 2074 6f20 4153 4349 4920 6368 6172 6163 to ASCII charac │ │ │ +00031e90: 7465 7273 292e 0a0a 3b3b 3b20 436f 6465 ters)...;;; Code │ │ │ +00031ea0: 3a0a 0a28 7265 7175 6972 6520 2771 7561 :..(require 'qua │ │ │ +00031eb0: 696c 290a 2872 6571 7569 7265 2027 636c il).(require 'cl │ │ │ +00031ec0: 2d6c 6962 290a 3b3b 2051 7561 696c 2069 -lib).;; Quail i │ │ │ +00031ed0: 7320 7175 6974 6520 7374 6174 6566 756c s quite stateful │ │ │ +00031ee0: 2c20 736f 2062 6520 6361 7265 6675 6c20 , so be careful │ │ │ +00031ef0: 7768 656e 2065 6469 7469 6e67 2074 6869 when editing thi │ │ │ +00031f00: 7320 636f 6465 2e20 204e 6f74 650a 3b3b s code. Note.;; │ │ │ +00031f10: 2074 6861 7420 7769 7468 2d74 656d 702d that with-temp- │ │ │ +00031f20: 6275 6666 6572 2069 7320 7573 6564 2062 buffer is used b │ │ │ +00031f30: 656c 6f77 2077 6865 6e65 7665 7220 6275 elow whenever bu │ │ │ +00031f40: 6666 6572 2d6c 6f63 616c 2073 7461 7465 ffer-local state │ │ │ +00031f50: 2069 730a 3b3b 206d 6f64 6966 6965 642e is.;; modified. │ │ │ +00031f60: 0a0a 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ..;;;;;;;;;;;;;; │ │ │ 00031f70: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00031f80: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00031f90: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ -00031fa0: 3b3b 3b3b 3b3b 3b3b 3b0a 3b3b 2055 7469 ;;;;;;;;;.;; Uti │ │ │ -00031fb0: 6c69 7479 2066 756e 6374 696f 6e73 0a0a lity functions.. │ │ │ -00031fc0: 2864 6566 756e 2061 6764 612d 696e 7075 (defun agda-inpu │ │ │ -00031fd0: 742d 636f 6e63 6174 2d6d 6170 2028 6620 t-concat-map (f │ │ │ -00031fe0: 7873 290a 2020 2243 6f6e 6361 7420 286d xs). "Concat (m │ │ │ -00031ff0: 6170 2046 2058 5329 2e22 0a20 2028 6170 ap F XS).". (ap │ │ │ -00032000: 706c 7920 2761 7070 656e 6420 286d 6170 ply 'append (map │ │ │ -00032010: 6361 7220 6620 7873 2929 290a 0a28 6465 car f xs)))..(de │ │ │ -00032020: 6675 6e20 6167 6461 2d69 6e70 7574 2d74 fun agda-input-t │ │ │ -00032030: 6f2d 7374 7269 6e67 2d6c 6973 7420 2873 o-string-list (s │ │ │ -00032040: 290a 2020 2243 6f6e 7665 7274 2061 2073 ). "Convert a s │ │ │ -00032050: 7472 696e 6720 5320 746f 2061 206c 6973 tring S to a lis │ │ │ -00032060: 7420 6f66 206f 6e65 2d63 6861 7261 6374 t of one-charact │ │ │ -00032070: 6572 2073 7472 696e 6773 2c20 6166 7465 er strings, afte │ │ │ -00032080: 720a 7265 6d6f 7669 6e67 2061 6c6c 2073 r.removing all s │ │ │ -00032090: 7061 6365 2061 6e64 206e 6577 6c69 6e65 pace and newline │ │ │ -000320a0: 2063 6861 7261 6374 6572 732e 220a 2020 characters.". │ │ │ -000320b0: 2861 6764 612d 696e 7075 742d 636f 6e63 (agda-input-conc │ │ │ -000320c0: 6174 2d6d 6170 0a20 2020 286c 616d 6264 at-map. (lambd │ │ │ -000320d0: 6120 2863 2920 2869 6620 286d 656d 6265 a (c) (if (membe │ │ │ -000320e0: 7220 6320 2873 7472 696e 672d 746f 2d6c r c (string-to-l │ │ │ -000320f0: 6973 7420 2220 5c6e 2229 290a 2020 2020 ist " \n")). │ │ │ -00032100: 2020 2020 2020 2020 2020 6e69 6c0a 2020 nil. │ │ │ -00032110: 2020 2020 2020 2020 2020 286c 6973 7420 (list │ │ │ -00032120: 2873 7472 696e 6720 6329 2929 290a 2020 (string c)))). │ │ │ -00032130: 2028 7374 7269 6e67 2d74 6f2d 6c69 7374 (string-to-list │ │ │ -00032140: 2073 2929 290a 0a28 6465 6675 6e20 6167 s)))..(defun ag │ │ │ -00032150: 6461 2d69 6e70 7574 2d63 6861 7261 6374 da-input-charact │ │ │ -00032160: 6572 2d72 616e 6765 2028 6672 6f6d 2074 er-range (from t │ │ │ -00032170: 6f29 0a20 2022 4120 7374 7269 6e67 2063 o). "A string c │ │ │ -00032180: 6f6e 7369 7374 696e 6720 6f66 2074 6865 onsisting of the │ │ │ -00032190: 2063 6861 7261 6374 6572 7320 6672 6f6d characters from │ │ │ -000321a0: 2046 524f 4d20 746f 2054 4f2e 220a 2020 FROM to TO.". │ │ │ -000321b0: 286c 6574 2028 7365 7129 0a20 2020 2028 (let (seq). ( │ │ │ -000321c0: 646f 7469 6d65 7320 2869 2028 312b 2028 dotimes (i (1+ ( │ │ │ -000321d0: 2d20 746f 2066 726f 6d29 2929 0a20 2020 - to from))). │ │ │ -000321e0: 2020 2028 7365 7471 2073 6571 2028 636f (setq seq (co │ │ │ -000321f0: 6e73 2028 2b20 6672 6f6d 2069 2920 7365 ns (+ from i) se │ │ │ -00032200: 7129 2929 0a20 2020 2028 636f 6e63 6174 q))). (concat │ │ │ -00032210: 2028 6e72 6576 6572 7365 2073 6571 2929 (nreverse seq)) │ │ │ -00032220: 2929 0a0a 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ))..;;;;;;;;;;;; │ │ │ +00031fa0: 3b3b 3b3b 3b3b 3b3b 3b3b 0a3b 3b20 5574 ;;;;;;;;;;.;; Ut │ │ │ +00031fb0: 696c 6974 7920 6675 6e63 7469 6f6e 730a ility functions. │ │ │ +00031fc0: 0a28 6465 6675 6e20 6167 6461 2d69 6e70 .(defun agda-inp │ │ │ +00031fd0: 7574 2d63 6f6e 6361 742d 6d61 7020 2866 ut-concat-map (f │ │ │ +00031fe0: 2078 7329 0a20 2022 436f 6e63 6174 2028 xs). "Concat ( │ │ │ +00031ff0: 6d61 7020 4620 5853 292e 220a 2020 2861 map F XS).". (a │ │ │ +00032000: 7070 6c79 2027 6170 7065 6e64 2028 6d61 pply 'append (ma │ │ │ +00032010: 7063 6172 2066 2078 7329 2929 0a0a 2864 pcar f xs)))..(d │ │ │ +00032020: 6566 756e 2061 6764 612d 696e 7075 742d efun agda-input- │ │ │ +00032030: 746f 2d73 7472 696e 672d 6c69 7374 2028 to-string-list ( │ │ │ +00032040: 7329 0a20 2022 436f 6e76 6572 7420 6120 s). "Convert a │ │ │ +00032050: 7374 7269 6e67 2053 2074 6f20 6120 6c69 string S to a li │ │ │ +00032060: 7374 206f 6620 6f6e 652d 6368 6172 6163 st of one-charac │ │ │ +00032070: 7465 7220 7374 7269 6e67 732c 2061 6674 ter strings, aft │ │ │ +00032080: 6572 0a72 656d 6f76 696e 6720 616c 6c20 er.removing all │ │ │ +00032090: 7370 6163 6520 616e 6420 6e65 776c 696e space and newlin │ │ │ +000320a0: 6520 6368 6172 6163 7465 7273 2e22 0a20 e characters.". │ │ │ +000320b0: 2028 6167 6461 2d69 6e70 7574 2d63 6f6e (agda-input-con │ │ │ +000320c0: 6361 742d 6d61 700a 2020 2028 6c61 6d62 cat-map. (lamb │ │ │ +000320d0: 6461 2028 6329 2028 6966 2028 6d65 6d62 da (c) (if (memb │ │ │ +000320e0: 6572 2063 2028 7374 7269 6e67 2d74 6f2d er c (string-to- │ │ │ +000320f0: 6c69 7374 2022 205c 6e22 2929 0a20 2020 list " \n")). │ │ │ +00032100: 2020 2020 2020 2020 2020 206e 696c 0a20 nil. │ │ │ +00032110: 2020 2020 2020 2020 2020 2028 6c69 7374 (list │ │ │ +00032120: 2028 7374 7269 6e67 2063 2929 2929 0a20 (string c)))). │ │ │ +00032130: 2020 2873 7472 696e 672d 746f 2d6c 6973 (string-to-lis │ │ │ +00032140: 7420 7329 2929 0a0a 2864 6566 756e 2061 t s)))..(defun a │ │ │ +00032150: 6764 612d 696e 7075 742d 6368 6172 6163 gda-input-charac │ │ │ +00032160: 7465 722d 7261 6e67 6520 2866 726f 6d20 ter-range (from │ │ │ +00032170: 746f 290a 2020 2241 2073 7472 696e 6720 to). "A string │ │ │ +00032180: 636f 6e73 6973 7469 6e67 206f 6620 7468 consisting of th │ │ │ +00032190: 6520 6368 6172 6163 7465 7273 2066 726f e characters fro │ │ │ +000321a0: 6d20 4652 4f4d 2074 6f20 544f 2e22 0a20 m FROM to TO.". │ │ │ +000321b0: 2028 6c65 7420 2873 6571 290a 2020 2020 (let (seq). │ │ │ +000321c0: 2864 6f74 696d 6573 2028 6920 2831 2b20 (dotimes (i (1+ │ │ │ +000321d0: 282d 2074 6f20 6672 6f6d 2929 290a 2020 (- to from))). │ │ │ +000321e0: 2020 2020 2873 6574 7120 7365 7120 2863 (setq seq (c │ │ │ +000321f0: 6f6e 7320 282b 2066 726f 6d20 6929 2073 ons (+ from i) s │ │ │ +00032200: 6571 2929 290a 2020 2020 2863 6f6e 6361 eq))). (conca │ │ │ +00032210: 7420 286e 7265 7665 7273 6520 7365 7129 t (nreverse seq) │ │ │ +00032220: 2929 290a 0a3b 3b3b 3b3b 3b3b 3b3b 3b3b )))..;;;;;;;;;;; │ │ │ 00032230: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00032240: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00032250: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ -00032260: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 0a3b 3b20 ;;;;;;;;;;;;.;; │ │ │ -00032270: 4675 6e63 7469 6f6e 7320 7573 6564 2074 Functions used t │ │ │ -00032280: 6f20 7477 6561 6b20 7472 616e 736c 6174 o tweak translat │ │ │ -00032290: 696f 6e20 7061 6972 730a 0a28 6465 6675 ion pairs..(defu │ │ │ -000322a0: 6e20 6167 6461 2d69 6e70 7574 2d63 6f6d n agda-input-com │ │ │ -000322b0: 706f 7365 2028 6620 6729 0a20 2022 cebb pose (f g). ".. │ │ │ -000322c0: 2078 202d 3e20 636f 6e63 6174 4d61 7020 x -> concatMap │ │ │ -000322d0: 4620 2847 2078 2922 0a20 2020 2028 6c61 F (G x)". (la │ │ │ -000322e0: 6d62 6461 2028 7829 2028 6167 6461 2d69 mbda (x) (agda-i │ │ │ -000322f0: 6e70 7574 2d63 6f6e 6361 742d 6d61 7020 nput-concat-map │ │ │ -00032300: 6620 2866 756e 6361 6c6c 2067 2078 2929 f (funcall g x)) │ │ │ -00032310: 2929 0a0a 2864 6566 756e 2061 6764 612d ))..(defun agda- │ │ │ -00032320: 696e 7075 742d 6f72 2028 6620 6729 0a20 input-or (f g). │ │ │ -00032330: 2022 cebb 2078 202d 3e20 4620 7820 2b2b ".. x -> F x ++ │ │ │ -00032340: 2047 2078 220a 2020 2020 286c 616d 6264 G x". (lambd │ │ │ -00032350: 6120 2878 2920 2861 7070 656e 6420 2866 a (x) (append (f │ │ │ -00032360: 756e 6361 6c6c 2066 2078 2920 2866 756e uncall f x) (fun │ │ │ -00032370: 6361 6c6c 2067 2078 2929 2929 0a0a 2864 call g x))))..(d │ │ │ -00032380: 6566 756e 2061 6764 612d 696e 7075 742d efun agda-input- │ │ │ -00032390: 6e6f 6e65 6d70 7479 2028 290a 2020 224f nonempty (). "O │ │ │ -000323a0: 6e6c 7920 6b65 6570 2070 6169 7273 2077 nly keep pairs w │ │ │ -000323b0: 6974 6820 6120 6e6f 6e2d 656d 7074 7920 ith a non-empty │ │ │ -000323c0: 6669 7273 7420 636f 6d70 6f6e 656e 742e first component. │ │ │ -000323d0: 220a 2020 286c 616d 6264 6120 2878 2920 ". (lambda (x) │ │ │ -000323e0: 2869 6620 283e 2028 6c65 6e67 7468 2028 (if (> (length ( │ │ │ -000323f0: 6361 7220 7829 2920 3029 2028 6c69 7374 car x)) 0) (list │ │ │ -00032400: 2078 2929 2929 0a0a 2864 6566 756e 2061 x))))..(defun a │ │ │ -00032410: 6764 612d 696e 7075 742d 7072 6570 656e gda-input-prepen │ │ │ -00032420: 6420 2870 7265 6669 7829 0a20 2022 5072 d (prefix). "Pr │ │ │ -00032430: 6570 656e 6420 5052 4546 4958 2074 6f20 epend PREFIX to │ │ │ -00032440: 616c 6c20 6b65 7920 7365 7175 656e 6365 all key sequence │ │ │ -00032450: 732e 220a 2020 2020 286c 616d 6264 6120 s.". (lambda │ │ │ -00032460: 2878 2920 6028 282c 2863 6f6e 6361 7420 (x) `((,(concat │ │ │ -00032470: 7072 6566 6978 2028 6361 7220 7829 2920 prefix (car x)) │ │ │ -00032480: 2e20 2c28 6364 7220 7829 2929 2929 0a0a . ,(cdr x))))).. │ │ │ -00032490: 2864 6566 756e 2061 6764 612d 696e 7075 (defun agda-inpu │ │ │ -000324a0: 742d 7072 6566 6978 2028 7072 6566 6978 t-prefix (prefix │ │ │ -000324b0: 290a 2020 224f 6e6c 7920 6b65 6570 2070 ). "Only keep p │ │ │ -000324c0: 6169 7273 2077 686f 7365 206b 6579 2073 airs whose key s │ │ │ -000324d0: 6571 7565 6e63 6520 7374 6172 7473 2077 equence starts w │ │ │ -000324e0: 6974 6820 5052 4546 4958 2e22 0a20 2020 ith PREFIX.". │ │ │ -000324f0: 2028 6c61 6d62 6461 2028 7829 0a20 2020 (lambda (x). │ │ │ -00032500: 2020 2028 6966 2028 6571 7561 6c20 2873 (if (equal (s │ │ │ -00032510: 7562 7374 7269 6e67 2028 6361 7220 7829 ubstring (car x) │ │ │ -00032520: 2030 2028 6c65 6e67 7468 2070 7265 6669 0 (length prefi │ │ │ -00032530: 7829 2920 7072 6566 6978 290a 2020 2020 x)) prefix). │ │ │ -00032540: 2020 2020 2020 286c 6973 7420 7829 2929 (list x))) │ │ │ -00032550: 290a 0a28 6465 6675 6e20 6167 6461 2d69 )..(defun agda-i │ │ │ -00032560: 6e70 7574 2d73 7566 6669 7820 2873 7566 nput-suffix (suf │ │ │ -00032570: 6669 7829 0a20 2022 4f6e 6c79 206b 6565 fix). "Only kee │ │ │ -00032580: 7020 7061 6972 7320 7768 6f73 6520 6b65 p pairs whose ke │ │ │ -00032590: 7920 7365 7175 656e 6365 2065 6e64 7320 y sequence ends │ │ │ -000325a0: 7769 7468 2053 5546 4649 582e 220a 2020 with SUFFIX.". │ │ │ -000325b0: 2020 286c 616d 6264 6120 2878 290a 2020 (lambda (x). │ │ │ -000325c0: 2020 2020 2869 6620 2865 7175 616c 2028 (if (equal ( │ │ │ -000325d0: 7375 6273 7472 696e 6720 2863 6172 2078 substring (car x │ │ │ -000325e0: 290a 2020 2020 2020 2020 2020 2020 2020 ). │ │ │ -000325f0: 2020 2020 2020 2020 2020 2020 2020 282d (- │ │ │ -00032600: 2028 6c65 6e67 7468 2028 6361 7220 7829 (length (car x) │ │ │ -00032610: 2920 286c 656e 6774 6820 7375 6666 6978 ) (length suffix │ │ │ -00032620: 2929 290a 2020 2020 2020 2020 2020 2020 ))). │ │ │ -00032630: 2020 2020 2073 7566 6669 7829 0a20 2020 suffix). │ │ │ -00032640: 2020 2020 2020 2028 6c69 7374 2078 2929 (list x)) │ │ │ -00032650: 2929 0a0a 2864 6566 756e 2061 6764 612d ))..(defun agda- │ │ │ -00032660: 696e 7075 742d 6472 6f70 2028 7373 290a input-drop (ss). │ │ │ -00032670: 2020 2244 726f 7020 7061 6972 7320 6d61 "Drop pairs ma │ │ │ -00032680: 7463 6869 6e67 206f 6e65 206f 6620 7468 tching one of th │ │ │ -00032690: 6520 6769 7665 6e20 6b65 7920 7365 7175 e given key sequ │ │ │ -000326a0: 656e 6365 732e 0a53 5320 7368 6f75 6c64 ences..SS should │ │ │ -000326b0: 2062 6520 6120 6c69 7374 206f 6620 7374 be a list of st │ │ │ -000326c0: 7269 6e67 732e 220a 2020 2020 286c 616d rings.". (lam │ │ │ -000326d0: 6264 6120 2878 2920 2875 6e6c 6573 7320 bda (x) (unless │ │ │ -000326e0: 286d 656d 6265 7220 2863 6172 2078 2920 (member (car x) │ │ │ -000326f0: 7373 2920 286c 6973 7420 7829 2929 290a ss) (list x)))). │ │ │ -00032700: 0a28 6465 6675 6e20 6167 6461 2d69 6e70 .(defun agda-inp │ │ │ -00032710: 7574 2d64 726f 702d 6265 6769 6e6e 696e ut-drop-beginnin │ │ │ -00032720: 6720 286e 290a 2020 2244 726f 7020 4e20 g (n). "Drop N │ │ │ -00032730: 6368 6172 6163 7465 7273 2066 726f 6d20 characters from │ │ │ -00032740: 7468 6520 6265 6769 6e6e 696e 6720 6f66 the beginning of │ │ │ -00032750: 2065 6163 6820 6b65 7920 7365 7175 656e each key sequen │ │ │ -00032760: 6365 2e22 0a20 2020 2028 6c61 6d62 6461 ce.". (lambda │ │ │ -00032770: 2028 7829 2060 2828 2c28 7375 6273 7472 (x) `((,(substr │ │ │ -00032780: 696e 6720 2863 6172 2078 2920 6e29 202e ing (car x) n) . │ │ │ -00032790: 202c 2863 6472 2078 2929 2929 290a 0a28 ,(cdr x)))))..( │ │ │ -000327a0: 6465 6675 6e20 6167 6461 2d69 6e70 7574 defun agda-input │ │ │ -000327b0: 2d64 726f 702d 656e 6420 286e 290a 2020 -drop-end (n). │ │ │ -000327c0: 2244 726f 7020 4e20 6368 6172 6163 7465 "Drop N characte │ │ │ -000327d0: 7273 2066 726f 6d20 7468 6520 656e 6420 rs from the end │ │ │ -000327e0: 6f66 2065 6163 6820 6b65 7920 7365 7175 of each key sequ │ │ │ -000327f0: 656e 6365 2e22 0a20 2020 2028 6c61 6d62 ence.". (lamb │ │ │ -00032800: 6461 2028 7829 0a20 2020 2020 2060 2828 da (x). `(( │ │ │ -00032810: 2c28 7375 6273 7472 696e 6720 2863 6172 ,(substring (car │ │ │ -00032820: 2078 2920 3020 282d 2028 6c65 6e67 7468 x) 0 (- (length │ │ │ -00032830: 2028 6361 7220 7829 2920 6e29 2920 2e0a (car x)) n)) .. │ │ │ -00032840: 2020 2020 2020 2020 202c 2863 6472 2078 ,(cdr x │ │ │ -00032850: 2929 2929 290a 0a28 6465 6675 6e20 6167 )))))..(defun ag │ │ │ -00032860: 6461 2d69 6e70 7574 2d64 726f 702d 7072 da-input-drop-pr │ │ │ -00032870: 6566 6978 2028 7072 6566 6978 290a 2020 efix (prefix). │ │ │ -00032880: 224f 6e6c 7920 6b65 6570 2070 6169 7273 "Only keep pairs │ │ │ -00032890: 2077 686f 7365 206b 6579 2073 6571 7565 whose key seque │ │ │ -000328a0: 6e63 6520 7374 6172 7473 2077 6974 6820 nce starts with │ │ │ -000328b0: 5052 4546 4958 2e0a 5468 6973 2070 7265 PREFIX..This pre │ │ │ -000328c0: 6669 7820 6973 2064 726f 7070 6564 2e22 fix is dropped." │ │ │ -000328d0: 0a20 2028 6167 6461 2d69 6e70 7574 2d63 . (agda-input-c │ │ │ -000328e0: 6f6d 706f 7365 0a20 2020 2861 6764 612d ompose. (agda- │ │ │ -000328f0: 696e 7075 742d 6472 6f70 2d62 6567 696e input-drop-begin │ │ │ -00032900: 6e69 6e67 2028 6c65 6e67 7468 2070 7265 ning (length pre │ │ │ -00032910: 6669 7829 290a 2020 2028 6167 6461 2d69 fix)). (agda-i │ │ │ -00032920: 6e70 7574 2d70 7265 6669 7820 7072 6566 nput-prefix pref │ │ │ -00032930: 6978 2929 290a 0a28 6465 6675 6e20 6167 ix)))..(defun ag │ │ │ -00032940: 6461 2d69 6e70 7574 2d64 726f 702d 7375 da-input-drop-su │ │ │ -00032950: 6666 6978 2028 7375 6666 6978 290a 2020 ffix (suffix). │ │ │ -00032960: 224f 6e6c 7920 6b65 6570 2070 6169 7273 "Only keep pairs │ │ │ -00032970: 2077 686f 7365 206b 6579 2073 6571 7565 whose key seque │ │ │ -00032980: 6e63 6520 656e 6473 2077 6974 6820 5355 nce ends with SU │ │ │ -00032990: 4646 4958 2e0a 5468 6973 2073 7566 6669 FFIX..This suffi │ │ │ -000329a0: 7820 6973 2064 726f 7070 6564 2e22 0a20 x is dropped.". │ │ │ -000329b0: 2020 2028 6167 6461 2d69 6e70 7574 2d63 (agda-input-c │ │ │ -000329c0: 6f6d 706f 7365 0a20 2020 2020 2861 6764 ompose. (agd │ │ │ -000329d0: 612d 696e 7075 742d 6472 6f70 2d65 6e64 a-input-drop-end │ │ │ -000329e0: 2028 6c65 6e67 7468 2073 7566 6669 7829 (length suffix) │ │ │ -000329f0: 290a 2020 2020 2028 6167 6461 2d69 6e70 ). (agda-inp │ │ │ -00032a00: 7574 2d73 7566 6669 7820 7375 6666 6978 ut-suffix suffix │ │ │ -00032a10: 2929 290a 0a3b 3b3b 3b3b 3b3b 3b3b 3b3b )))..;;;;;;;;;;; │ │ │ +00032260: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b0a 3b3b ;;;;;;;;;;;;;.;; │ │ │ +00032270: 2046 756e 6374 696f 6e73 2075 7365 6420 Functions used │ │ │ +00032280: 746f 2074 7765 616b 2074 7261 6e73 6c61 to tweak transla │ │ │ +00032290: 7469 6f6e 2070 6169 7273 0a0a 2864 6566 tion pairs..(def │ │ │ +000322a0: 756e 2061 6764 612d 696e 7075 742d 636f un agda-input-co │ │ │ +000322b0: 6d70 6f73 6520 2866 2067 290a 2020 22ce mpose (f g). ". │ │ │ +000322c0: bb20 7820 2d3e 2063 6f6e 6361 744d 6170 . x -> concatMap │ │ │ +000322d0: 2046 2028 4720 7829 220a 2020 2020 286c F (G x)". (l │ │ │ +000322e0: 616d 6264 6120 2878 2920 2861 6764 612d ambda (x) (agda- │ │ │ +000322f0: 696e 7075 742d 636f 6e63 6174 2d6d 6170 input-concat-map │ │ │ +00032300: 2066 2028 6675 6e63 616c 6c20 6720 7829 f (funcall g x) │ │ │ +00032310: 2929 290a 0a28 6465 6675 6e20 6167 6461 )))..(defun agda │ │ │ +00032320: 2d69 6e70 7574 2d6f 7220 2866 2067 290a -input-or (f g). │ │ │ +00032330: 2020 22ce bb20 7820 2d3e 2046 2078 202b ".. x -> F x + │ │ │ +00032340: 2b20 4720 7822 0a20 2020 2028 6c61 6d62 + G x". (lamb │ │ │ +00032350: 6461 2028 7829 2028 6170 7065 6e64 2028 da (x) (append ( │ │ │ +00032360: 6675 6e63 616c 6c20 6620 7829 2028 6675 funcall f x) (fu │ │ │ +00032370: 6e63 616c 6c20 6720 7829 2929 290a 0a28 ncall g x))))..( │ │ │ +00032380: 6465 6675 6e20 6167 6461 2d69 6e70 7574 defun agda-input │ │ │ +00032390: 2d6e 6f6e 656d 7074 7920 2829 0a20 2022 -nonempty (). " │ │ │ +000323a0: 4f6e 6c79 206b 6565 7020 7061 6972 7320 Only keep pairs │ │ │ +000323b0: 7769 7468 2061 206e 6f6e 2d65 6d70 7479 with a non-empty │ │ │ +000323c0: 2066 6972 7374 2063 6f6d 706f 6e65 6e74 first component │ │ │ +000323d0: 2e22 0a20 2028 6c61 6d62 6461 2028 7829 .". (lambda (x) │ │ │ +000323e0: 2028 6966 2028 3e20 286c 656e 6774 6820 (if (> (length │ │ │ +000323f0: 2863 6172 2078 2929 2030 2920 286c 6973 (car x)) 0) (lis │ │ │ +00032400: 7420 7829 2929 290a 0a28 6465 6675 6e20 t x))))..(defun │ │ │ +00032410: 6167 6461 2d69 6e70 7574 2d70 7265 7065 agda-input-prepe │ │ │ +00032420: 6e64 2028 7072 6566 6978 290a 2020 2250 nd (prefix). "P │ │ │ +00032430: 7265 7065 6e64 2050 5245 4649 5820 746f repend PREFIX to │ │ │ +00032440: 2061 6c6c 206b 6579 2073 6571 7565 6e63 all key sequenc │ │ │ +00032450: 6573 2e22 0a20 2020 2028 6c61 6d62 6461 es.". (lambda │ │ │ +00032460: 2028 7829 2060 2828 2c28 636f 6e63 6174 (x) `((,(concat │ │ │ +00032470: 2070 7265 6669 7820 2863 6172 2078 2929 prefix (car x)) │ │ │ +00032480: 202e 202c 2863 6472 2078 2929 2929 290a . ,(cdr x))))). │ │ │ +00032490: 0a28 6465 6675 6e20 6167 6461 2d69 6e70 .(defun agda-inp │ │ │ +000324a0: 7574 2d70 7265 6669 7820 2870 7265 6669 ut-prefix (prefi │ │ │ +000324b0: 7829 0a20 2022 4f6e 6c79 206b 6565 7020 x). "Only keep │ │ │ +000324c0: 7061 6972 7320 7768 6f73 6520 6b65 7920 pairs whose key │ │ │ +000324d0: 7365 7175 656e 6365 2073 7461 7274 7320 sequence starts │ │ │ +000324e0: 7769 7468 2050 5245 4649 582e 220a 2020 with PREFIX.". │ │ │ +000324f0: 2020 286c 616d 6264 6120 2878 290a 2020 (lambda (x). │ │ │ +00032500: 2020 2020 2869 6620 2865 7175 616c 2028 (if (equal ( │ │ │ +00032510: 7375 6273 7472 696e 6720 2863 6172 2078 substring (car x │ │ │ +00032520: 2920 3020 286c 656e 6774 6820 7072 6566 ) 0 (length pref │ │ │ +00032530: 6978 2929 2070 7265 6669 7829 0a20 2020 ix)) prefix). │ │ │ +00032540: 2020 2020 2020 2028 6c69 7374 2078 2929 (list x)) │ │ │ +00032550: 2929 0a0a 2864 6566 756e 2061 6764 612d ))..(defun agda- │ │ │ +00032560: 696e 7075 742d 7375 6666 6978 2028 7375 input-suffix (su │ │ │ +00032570: 6666 6978 290a 2020 224f 6e6c 7920 6b65 ffix). "Only ke │ │ │ +00032580: 6570 2070 6169 7273 2077 686f 7365 206b ep pairs whose k │ │ │ +00032590: 6579 2073 6571 7565 6e63 6520 656e 6473 ey sequence ends │ │ │ +000325a0: 2077 6974 6820 5355 4646 4958 2e22 0a20 with SUFFIX.". │ │ │ +000325b0: 2020 2028 6c61 6d62 6461 2028 7829 0a20 (lambda (x). │ │ │ +000325c0: 2020 2020 2028 6966 2028 6571 7561 6c20 (if (equal │ │ │ +000325d0: 2873 7562 7374 7269 6e67 2028 6361 7220 (substring (car │ │ │ +000325e0: 7829 0a20 2020 2020 2020 2020 2020 2020 x). │ │ │ +000325f0: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ +00032600: 2d20 286c 656e 6774 6820 2863 6172 2078 - (length (car x │ │ │ +00032610: 2929 2028 6c65 6e67 7468 2073 7566 6669 )) (length suffi │ │ │ +00032620: 7829 2929 0a20 2020 2020 2020 2020 2020 x))). │ │ │ +00032630: 2020 2020 2020 7375 6666 6978 290a 2020 suffix). │ │ │ +00032640: 2020 2020 2020 2020 286c 6973 7420 7829 (list x) │ │ │ +00032650: 2929 290a 0a28 6465 6675 6e20 6167 6461 )))..(defun agda │ │ │ +00032660: 2d69 6e70 7574 2d64 726f 7020 2873 7329 -input-drop (ss) │ │ │ +00032670: 0a20 2022 4472 6f70 2070 6169 7273 206d . "Drop pairs m │ │ │ +00032680: 6174 6368 696e 6720 6f6e 6520 6f66 2074 atching one of t │ │ │ +00032690: 6865 2067 6976 656e 206b 6579 2073 6571 he given key seq │ │ │ +000326a0: 7565 6e63 6573 2e0a 5353 2073 686f 756c uences..SS shoul │ │ │ +000326b0: 6420 6265 2061 206c 6973 7420 6f66 2073 d be a list of s │ │ │ +000326c0: 7472 696e 6773 2e22 0a20 2020 2028 6c61 trings.". (la │ │ │ +000326d0: 6d62 6461 2028 7829 2028 756e 6c65 7373 mbda (x) (unless │ │ │ +000326e0: 2028 6d65 6d62 6572 2028 6361 7220 7829 (member (car x) │ │ │ +000326f0: 2073 7329 2028 6c69 7374 2078 2929 2929 ss) (list x)))) │ │ │ +00032700: 0a0a 2864 6566 756e 2061 6764 612d 696e ..(defun agda-in │ │ │ +00032710: 7075 742d 6472 6f70 2d62 6567 696e 6e69 put-drop-beginni │ │ │ +00032720: 6e67 2028 6e29 0a20 2022 4472 6f70 204e ng (n). "Drop N │ │ │ +00032730: 2063 6861 7261 6374 6572 7320 6672 6f6d characters from │ │ │ +00032740: 2074 6865 2062 6567 696e 6e69 6e67 206f the beginning o │ │ │ +00032750: 6620 6561 6368 206b 6579 2073 6571 7565 f each key seque │ │ │ +00032760: 6e63 652e 220a 2020 2020 286c 616d 6264 nce.". (lambd │ │ │ +00032770: 6120 2878 2920 6028 282c 2873 7562 7374 a (x) `((,(subst │ │ │ +00032780: 7269 6e67 2028 6361 7220 7829 206e 2920 ring (car x) n) │ │ │ +00032790: 2e20 2c28 6364 7220 7829 2929 2929 0a0a . ,(cdr x))))).. │ │ │ +000327a0: 2864 6566 756e 2061 6764 612d 696e 7075 (defun agda-inpu │ │ │ +000327b0: 742d 6472 6f70 2d65 6e64 2028 6e29 0a20 t-drop-end (n). │ │ │ +000327c0: 2022 4472 6f70 204e 2063 6861 7261 6374 "Drop N charact │ │ │ +000327d0: 6572 7320 6672 6f6d 2074 6865 2065 6e64 ers from the end │ │ │ +000327e0: 206f 6620 6561 6368 206b 6579 2073 6571 of each key seq │ │ │ +000327f0: 7565 6e63 652e 220a 2020 2020 286c 616d uence.". (lam │ │ │ +00032800: 6264 6120 2878 290a 2020 2020 2020 6028 bda (x). `( │ │ │ +00032810: 282c 2873 7562 7374 7269 6e67 2028 6361 (,(substring (ca │ │ │ +00032820: 7220 7829 2030 2028 2d20 286c 656e 6774 r x) 0 (- (lengt │ │ │ +00032830: 6820 2863 6172 2078 2929 206e 2929 202e h (car x)) n)) . │ │ │ +00032840: 0a20 2020 2020 2020 2020 2c28 6364 7220 . ,(cdr │ │ │ +00032850: 7829 2929 2929 0a0a 2864 6566 756e 2061 x)))))..(defun a │ │ │ +00032860: 6764 612d 696e 7075 742d 6472 6f70 2d70 gda-input-drop-p │ │ │ +00032870: 7265 6669 7820 2870 7265 6669 7829 0a20 refix (prefix). │ │ │ +00032880: 2022 4f6e 6c79 206b 6565 7020 7061 6972 "Only keep pair │ │ │ +00032890: 7320 7768 6f73 6520 6b65 7920 7365 7175 s whose key sequ │ │ │ +000328a0: 656e 6365 2073 7461 7274 7320 7769 7468 ence starts with │ │ │ +000328b0: 2050 5245 4649 582e 0a54 6869 7320 7072 PREFIX..This pr │ │ │ +000328c0: 6566 6978 2069 7320 6472 6f70 7065 642e efix is dropped. │ │ │ +000328d0: 220a 2020 2861 6764 612d 696e 7075 742d ". (agda-input- │ │ │ +000328e0: 636f 6d70 6f73 650a 2020 2028 6167 6461 compose. (agda │ │ │ +000328f0: 2d69 6e70 7574 2d64 726f 702d 6265 6769 -input-drop-begi │ │ │ +00032900: 6e6e 696e 6720 286c 656e 6774 6820 7072 nning (length pr │ │ │ +00032910: 6566 6978 2929 0a20 2020 2861 6764 612d efix)). (agda- │ │ │ +00032920: 696e 7075 742d 7072 6566 6978 2070 7265 input-prefix pre │ │ │ +00032930: 6669 7829 2929 0a0a 2864 6566 756e 2061 fix)))..(defun a │ │ │ +00032940: 6764 612d 696e 7075 742d 6472 6f70 2d73 gda-input-drop-s │ │ │ +00032950: 7566 6669 7820 2873 7566 6669 7829 0a20 uffix (suffix). │ │ │ +00032960: 2022 4f6e 6c79 206b 6565 7020 7061 6972 "Only keep pair │ │ │ +00032970: 7320 7768 6f73 6520 6b65 7920 7365 7175 s whose key sequ │ │ │ +00032980: 656e 6365 2065 6e64 7320 7769 7468 2053 ence ends with S │ │ │ +00032990: 5546 4649 582e 0a54 6869 7320 7375 6666 UFFIX..This suff │ │ │ +000329a0: 6978 2069 7320 6472 6f70 7065 642e 220a ix is dropped.". │ │ │ +000329b0: 2020 2020 2861 6764 612d 696e 7075 742d (agda-input- │ │ │ +000329c0: 636f 6d70 6f73 650a 2020 2020 2028 6167 compose. (ag │ │ │ +000329d0: 6461 2d69 6e70 7574 2d64 726f 702d 656e da-input-drop-en │ │ │ +000329e0: 6420 286c 656e 6774 6820 7375 6666 6978 d (length suffix │ │ │ +000329f0: 2929 0a20 2020 2020 2861 6764 612d 696e )). (agda-in │ │ │ +00032a00: 7075 742d 7375 6666 6978 2073 7566 6669 put-suffix suffi │ │ │ +00032a10: 7829 2929 0a0a 3b3b 3b3b 3b3b 3b3b 3b3b x)))..;;;;;;;;;; │ │ │ 00032a20: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00032a30: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00032a40: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ -00032a50: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b0a 3b3b ;;;;;;;;;;;;;.;; │ │ │ -00032a60: 2043 7573 746f 6d69 7a61 7469 6f6e 0a0a Customization.. │ │ │ -00032a70: 3b3b 2054 6865 203a 7365 7420 6b65 7977 ;; The :set keyw │ │ │ -00032a80: 6f72 6420 6973 2073 6574 2074 6f20 2761 ord is set to 'a │ │ │ -00032a90: 6764 612d 696e 7075 742d 696e 636f 7270 gda-input-incorp │ │ │ -00032aa0: 6f72 6174 652d 6368 616e 6765 642d 7365 orate-changed-se │ │ │ -00032ab0: 7474 696e 670a 3b3b 2073 6f20 7468 6174 tting.;; so that │ │ │ -00032ac0: 2074 6865 2069 6e70 7574 206d 6574 686f the input metho │ │ │ -00032ad0: 6420 6765 7473 2075 7064 6174 6564 2069 d gets updated i │ │ │ -00032ae0: 6d6d 6564 6961 7465 6c79 2077 6865 6e20 mmediately when │ │ │ -00032af0: 7573 6572 730a 3b3b 2063 7573 746f 6d69 users.;; customi │ │ │ -00032b00: 7a65 2069 742e 2048 6f77 6576 6572 2c20 ze it. However, │ │ │ -00032b10: 7468 6520 7365 7475 7020 6675 6e63 7469 the setup functi │ │ │ -00032b20: 6f6e 7320 6361 6e6e 6f74 2062 6520 7275 ons cannot be ru │ │ │ -00032b30: 6e20 6265 666f 7265 2061 6c6c 0a3b 3b20 n before all.;; │ │ │ -00032b40: 7661 7269 6162 6c65 7320 6861 7665 2062 variables have b │ │ │ -00032b50: 6565 6e20 6465 6669 6e65 642e 2048 656e een defined. Hen │ │ │ -00032b60: 6365 2074 6865 203a 696e 6974 6961 6c69 ce the :initiali │ │ │ -00032b70: 7a65 206b 6579 776f 7264 2069 7320 7365 ze keyword is se │ │ │ -00032b80: 7420 746f 0a3b 3b20 2763 7573 746f 6d2d t to.;; 'custom- │ │ │ -00032b90: 696e 6974 6961 6c69 7a65 2d64 6566 6175 initialize-defau │ │ │ -00032ba0: 6c74 2074 6f20 656e 7375 7265 2074 6861 lt to ensure tha │ │ │ -00032bb0: 7420 7468 6520 7365 7475 7020 6973 206e t the setup is n │ │ │ -00032bc0: 6f74 2070 6572 666f 726d 6564 0a3b 3b20 ot performed.;; │ │ │ -00032bd0: 756e 7469 6c20 6167 6461 2d69 6e70 7574 until agda-input │ │ │ -00032be0: 2d73 6574 7570 2069 7320 6361 6c6c 6564 -setup is called │ │ │ -00032bf0: 2061 7420 7468 6520 656e 6420 6f66 2074 at the end of t │ │ │ -00032c00: 6869 7320 6669 6c65 2e0a 0a28 6465 6667 his file...(defg │ │ │ -00032c10: 726f 7570 2061 6764 612d 696e 7075 7420 roup agda-input │ │ │ -00032c20: 6e69 6c0a 2020 2254 6865 2041 6764 6120 nil. "The Agda │ │ │ -00032c30: 696e 7075 7420 6d65 7468 6f64 2e0a 4166 input method..Af │ │ │ -00032c40: 7465 7220 7477 6561 6b69 6e67 2074 6865 ter tweaking the │ │ │ -00032c50: 7365 2073 6574 7469 6e67 7320 796f 7520 se settings you │ │ │ -00032c60: 6d61 7920 7761 6e74 2074 6f20 696e 7370 may want to insp │ │ │ -00032c70: 6563 7420 7468 6520 7265 7375 6c74 696e ect the resultin │ │ │ -00032c80: 670a 7472 616e 736c 6174 696f 6e73 2075 g.translations u │ │ │ -00032c90: 7369 6e67 2060 6167 6461 2d69 6e70 7574 sing `agda-input │ │ │ -00032ca0: 2d73 686f 772d 7472 616e 736c 6174 696f -show-translatio │ │ │ -00032cb0: 6e73 272e 220a 2020 3a67 726f 7570 2027 ns'.". :group ' │ │ │ -00032cc0: 6167 6461 320a 2020 3a67 726f 7570 2027 agda2. :group ' │ │ │ -00032cd0: 6c65 696d 290a 0a28 6465 6663 7573 746f leim)..(defcusto │ │ │ -00032ce0: 6d20 6167 6461 2d69 6e70 7574 2d74 7765 m agda-input-twe │ │ │ -00032cf0: 616b 2d61 6c6c 0a20 2027 2861 6764 612d ak-all. '(agda- │ │ │ -00032d00: 696e 7075 742d 636f 6d70 6f73 650a 2020 input-compose. │ │ │ -00032d10: 2020 2861 6764 612d 696e 7075 742d 7072 (agda-input-pr │ │ │ -00032d20: 6570 656e 6420 225c 5c22 290a 2020 2020 epend "\\"). │ │ │ -00032d30: 2861 6764 612d 696e 7075 742d 6e6f 6e65 (agda-input-none │ │ │ -00032d40: 6d70 7479 2929 0a20 2022 416e 2065 7870 mpty)). "An exp │ │ │ -00032d50: 7265 7373 696f 6e20 7969 656c 6469 6e67 ression yielding │ │ │ -00032d60: 2061 2066 756e 6374 696f 6e20 7768 6963 a function whic │ │ │ -00032d70: 6820 6361 6e20 6265 2075 7365 6420 746f h can be used to │ │ │ -00032d80: 2074 7765 616b 0a61 6c6c 2074 7261 6e73 tweak.all trans │ │ │ -00032d90: 6c61 7469 6f6e 7320 6265 666f 7265 2074 lations before t │ │ │ -00032da0: 6865 7920 6172 6520 696e 636c 7564 6564 hey are included │ │ │ -00032db0: 2069 6e20 7468 6520 696e 7075 7420 6d65 in the input me │ │ │ -00032dc0: 7468 6f64 2e0a 5468 6520 7265 7375 6c74 thod..The result │ │ │ -00032dd0: 696e 6720 6675 6e63 7469 6f6e 2028 6966 ing function (if │ │ │ -00032de0: 206e 6f6e 2d6e 696c 2920 6973 2061 7070 non-nil) is app │ │ │ -00032df0: 6c69 6564 2074 6f20 6576 6572 790a 5c28 lied to every.\( │ │ │ -00032e00: 4b45 592d 5345 5155 454e 4345 202e 2054 KEY-SEQUENCE . T │ │ │ -00032e10: 5241 4e53 4c41 5449 4f4e 2920 7061 6972 RANSLATION) pair │ │ │ -00032e20: 2061 6e64 2073 686f 756c 6420 7265 7475 and should retu │ │ │ -00032e30: 726e 2061 206c 6973 7420 6f66 2073 7563 rn a list of suc │ │ │ -00032e40: 680a 7061 6972 732e 2028 4e6f 7465 2074 h.pairs. (Note t │ │ │ -00032e50: 6861 7420 7468 6520 7472 616e 736c 6174 hat the translat │ │ │ -00032e60: 696f 6e73 2063 616e 2062 6520 616e 7974 ions can be anyt │ │ │ -00032e70: 6869 6e67 2061 6363 6570 7465 6420 6279 hing accepted by │ │ │ -00032e80: 0a60 7175 6169 6c2d 6465 6672 756c 6527 .`quail-defrule' │ │ │ -00032e90: 2e29 0a0a 4966 2079 6f75 2063 6861 6e67 .)..If you chang │ │ │ -00032ea0: 6520 7468 6973 2073 6574 7469 6e67 206d e this setting m │ │ │ -00032eb0: 616e 7561 6c6c 7920 2877 6974 686f 7574 anually (without │ │ │ -00032ec0: 2075 7369 6e67 2074 6865 0a63 7573 746f using the.custo │ │ │ -00032ed0: 6d69 7a61 7469 6f6e 2062 7566 6665 7229 mization buffer) │ │ │ -00032ee0: 2079 6f75 206e 6565 6420 746f 2063 616c you need to cal │ │ │ -00032ef0: 6c20 6061 6764 612d 696e 7075 742d 7365 l `agda-input-se │ │ │ -00032f00: 7475 7027 2069 6e0a 6f72 6465 7220 666f tup' in.order fo │ │ │ -00032f10: 7220 7468 6520 6368 616e 6765 2074 6f20 r the change to │ │ │ -00032f20: 7461 6b65 2065 6666 6563 742e 220a 2020 take effect.". │ │ │ -00032f30: 3a67 726f 7570 2027 6167 6461 2d69 6e70 :group 'agda-inp │ │ │ -00032f40: 7574 0a20 203a 7365 7420 2761 6764 612d ut. :set 'agda- │ │ │ -00032f50: 696e 7075 742d 696e 636f 7270 6f72 6174 input-incorporat │ │ │ -00032f60: 652d 6368 616e 6765 642d 7365 7474 696e e-changed-settin │ │ │ -00032f70: 670a 2020 3a69 6e69 7469 616c 697a 6520 g. :initialize │ │ │ -00032f80: 2763 7573 746f 6d2d 696e 6974 6961 6c69 'custom-initiali │ │ │ -00032f90: 7a65 2d64 6566 6175 6c74 0a20 203a 7479 ze-default. :ty │ │ │ -00032fa0: 7065 2027 7365 7870 290a 0a28 6465 6663 pe 'sexp)..(defc │ │ │ -00032fb0: 7573 746f 6d20 6167 6461 2d69 6e70 7574 ustom agda-input │ │ │ -00032fc0: 2d69 6e68 6572 6974 0a20 2060 2828 2254 -inherit. `(("T │ │ │ -00032fd0: 6558 2220 2e20 2861 6764 612d 696e 7075 eX" . (agda-inpu │ │ │ -00032fe0: 742d 636f 6d70 6f73 650a 2020 2020 2020 t-compose. │ │ │ -00032ff0: 2020 2020 2020 2020 2861 6764 612d 696e (agda-in │ │ │ -00033000: 7075 742d 6472 6f70 2027 2822 6765 7122 put-drop '("geq" │ │ │ -00033010: 2022 6c65 7122 2022 6275 6c6c 6574 2220 "leq" "bullet" │ │ │ -00033020: 2271 6564 2220 2270 6172 2229 290a 2020 "qed" "par")). │ │ │ -00033030: 2020 2020 2020 2020 2020 2020 2861 6764 (agd │ │ │ -00033040: 612d 696e 7075 742d 6f72 0a20 2020 2020 a-input-or. │ │ │ -00033050: 2020 2020 2020 2020 2020 2861 6764 612d (agda- │ │ │ -00033060: 696e 7075 742d 6472 6f70 2d70 7265 6669 input-drop-prefi │ │ │ -00033070: 7820 225c 5c22 290a 2020 2020 2020 2020 x "\\"). │ │ │ -00033080: 2020 2020 2020 2028 6167 6461 2d69 6e70 (agda-inp │ │ │ -00033090: 7574 2d6f 720a 2020 2020 2020 2020 2020 ut-or. │ │ │ -000330a0: 2020 2020 2020 2861 6764 612d 696e 7075 (agda-inpu │ │ │ -000330b0: 742d 636f 6d70 6f73 650a 2020 2020 2020 t-compose. │ │ │ -000330c0: 2020 2020 2020 2020 2020 2028 6167 6461 (agda │ │ │ -000330d0: 2d69 6e70 7574 2d64 726f 7020 2728 225e -input-drop '("^ │ │ │ -000330e0: 6c22 2022 5e6f 2220 225e 7222 2022 5e76 l" "^o" "^r" "^v │ │ │ -000330f0: 2229 290a 2020 2020 2020 2020 2020 2020 ")). │ │ │ -00033100: 2020 2020 2028 6167 6461 2d69 6e70 7574 (agda-input │ │ │ -00033110: 2d70 7265 6669 7820 225e 2229 290a 2020 -prefix "^")). │ │ │ -00033120: 2020 2020 2020 2020 2020 2020 2020 2861 (a │ │ │ -00033130: 6764 612d 696e 7075 742d 7072 6566 6978 gda-input-prefix │ │ │ -00033140: 2022 5f22 2929 2929 290a 2020 2020 290a "_"))))). ). │ │ │ -00033150: 2020 2241 206c 6973 7420 6f66 2051 7561 "A list of Qua │ │ │ -00033160: 696c 2069 6e70 7574 206d 6574 686f 6473 il input methods │ │ │ -00033170: 2077 686f 7365 2074 7261 6e73 6c61 7469 whose translati │ │ │ -00033180: 6f6e 7320 7368 6f75 6c64 2062 650a 696e ons should be.in │ │ │ -00033190: 6865 7269 7465 6420 6279 2074 6865 2041 herited by the A │ │ │ -000331a0: 6764 6120 696e 7075 7420 6d65 7468 6f64 gda input method │ │ │ -000331b0: 2028 7769 7468 2074 6865 2065 7863 6570 (with the excep │ │ │ -000331c0: 7469 6f6e 206f 660a 7472 616e 736c 6174 tion of.translat │ │ │ -000331d0: 696f 6e73 2063 6f72 7265 7370 6f6e 6469 ions correspondi │ │ │ -000331e0: 6e67 2074 6f20 4153 4349 4920 6368 6172 ng to ASCII char │ │ │ -000331f0: 6163 7465 7273 292e 0a0a 5468 6520 6c69 acters)...The li │ │ │ -00033200: 7374 2063 6f6e 7369 7374 7320 6f66 2070 st consists of p │ │ │ -00033210: 6169 7273 2028 7170 202e 2074 7765 616b airs (qp . tweak │ │ │ -00033220: 292c 2077 6865 7265 2071 7020 6973 2074 ), where qp is t │ │ │ -00033230: 6865 206e 616d 6520 6f66 0a61 2051 7561 he name of.a Qua │ │ │ -00033240: 696c 2070 6163 6b61 6765 2c20 616e 6420 il package, and │ │ │ -00033250: 7477 6561 6b20 6973 2061 6e20 6578 7072 tweak is an expr │ │ │ -00033260: 6573 7369 6f6e 206f 6620 7468 6520 7361 ession of the sa │ │ │ -00033270: 6d65 206b 696e 6420 6173 0a60 6167 6461 me kind as.`agda │ │ │ -00033280: 2d69 6e70 7574 2d74 7765 616b 2d61 6c6c -input-tweak-all │ │ │ -00033290: 2720 7768 6963 6820 6973 2075 7365 6420 ' which is used │ │ │ -000332a0: 746f 2074 7765 616b 2074 6865 2074 7261 to tweak the tra │ │ │ -000332b0: 6e73 6c61 7469 6f6e 0a70 6169 7273 206f nslation.pairs o │ │ │ -000332c0: 6620 7468 6520 696e 7075 7420 6d65 7468 f the input meth │ │ │ -000332d0: 6f64 2e0a 0a54 6865 2069 6e68 6572 6974 od...The inherit │ │ │ -000332e0: 6564 2074 7261 6e73 6c61 7469 6f6e 2070 ed translation p │ │ │ -000332f0: 6169 7273 2061 7265 2061 6464 6564 206c airs are added l │ │ │ -00033300: 6173 742c 2061 6674 6572 0a60 6167 6461 ast, after.`agda │ │ │ -00033310: 2d69 6e70 7574 2d75 7365 722d 7472 616e -input-user-tran │ │ │ -00033320: 736c 6174 696f 6e73 2720 616e 6420 6061 slations' and `a │ │ │ -00033330: 6764 612d 696e 7075 742d 7472 616e 736c gda-input-transl │ │ │ -00033340: 6174 696f 6e73 272e 0a0a 4966 2079 6f75 ations'...If you │ │ │ -00033350: 2063 6861 6e67 6520 7468 6973 2073 6574 change this set │ │ │ -00033360: 7469 6e67 206d 616e 7561 6c6c 7920 2877 ting manually (w │ │ │ -00033370: 6974 686f 7574 2075 7369 6e67 2074 6865 ithout using the │ │ │ -00033380: 0a63 7573 746f 6d69 7a61 7469 6f6e 2062 .customization b │ │ │ -00033390: 7566 6665 7229 2079 6f75 206e 6565 6420 uffer) you need │ │ │ -000333a0: 746f 2063 616c 6c20 6061 6764 612d 696e to call `agda-in │ │ │ -000333b0: 7075 742d 7365 7475 7027 2069 6e0a 6f72 put-setup' in.or │ │ │ -000333c0: 6465 7220 666f 7220 7468 6520 6368 616e der for the chan │ │ │ -000333d0: 6765 2074 6f20 7461 6b65 2065 6666 6563 ge to take effec │ │ │ -000333e0: 742e 220a 2020 3a67 726f 7570 2027 6167 t.". :group 'ag │ │ │ -000333f0: 6461 2d69 6e70 7574 0a20 203a 7365 7420 da-input. :set │ │ │ -00033400: 2761 6764 612d 696e 7075 742d 696e 636f 'agda-input-inco │ │ │ -00033410: 7270 6f72 6174 652d 6368 616e 6765 642d rporate-changed- │ │ │ -00033420: 7365 7474 696e 670a 2020 3a69 6e69 7469 setting. :initi │ │ │ -00033430: 616c 697a 6520 2763 7573 746f 6d2d 696e alize 'custom-in │ │ │ -00033440: 6974 6961 6c69 7a65 2d64 6566 6175 6c74 itialize-default │ │ │ -00033450: 0a20 203a 7479 7065 2027 2872 6570 6561 . :type '(repea │ │ │ -00033460: 7420 2863 6f6e 7320 2873 7472 696e 6720 t (cons (string │ │ │ -00033470: 3a74 6167 2022 5175 6169 6c20 7061 636b :tag "Quail pack │ │ │ -00033480: 6167 6522 290a 2020 2020 2020 2020 2020 age"). │ │ │ -00033490: 2020 2020 2020 2020 2020 2020 2028 7365 (se │ │ │ -000334a0: 7870 203a 7461 6720 2254 7765 616b 696e xp :tag "Tweakin │ │ │ -000334b0: 6720 6675 6e63 7469 6f6e 2229 2929 290a g function")))). │ │ │ -000334c0: 0a28 6465 6663 7573 746f 6d20 6167 6461 .(defcustom agda │ │ │ -000334d0: 2d69 6e70 7574 2d74 7261 6e73 6c61 7469 -input-translati │ │ │ -000334e0: 6f6e 730a 2020 286c 6574 2028 286d 6178 ons. (let ((max │ │ │ -000334f0: 2d6c 6973 702d 6576 616c 2d64 6570 7468 -lisp-eval-depth │ │ │ -00033500: 2032 3830 3029 2920 6028 0a0a 2020 3b3b 2800)) `(.. ;; │ │ │ -00033510: 2045 7175 616c 6974 7920 616e 6420 7369 Equality and si │ │ │ -00033520: 6d69 6c61 7220 7379 6d62 6f6c 732e 0a0a milar symbols... │ │ │ -00033530: 2020 2822 6571 2220 202e 202c 2861 6764 ("eq" . ,(agd │ │ │ -00033540: 612d 696e 7075 742d 746f 2d73 7472 696e a-input-to-strin │ │ │ -00033550: 672d 6c69 7374 2022 3de2 88bc e288 bde2 g-list "=....... │ │ │ -00033560: 8988 e289 8be2 88bb e288 bee2 88bf e289 ................ │ │ │ -00033570: 80e2 8983 e28b 8de2 8982 e289 8520 e289 ............. .. │ │ │ -00033580: 8ce2 898a e289 a1e2 89a3 e289 90e2 8991 ................ │ │ │ -00033590: e289 92e2 8993 e289 94e2 8995 e289 96e2 ................ │ │ │ -000335a0: 8997 e289 98e2 8999 e289 9ae2 899b e289 ................ │ │ │ -000335b0: 9ce2 899d e289 9ee2 899f e289 8de2 898e ................ │ │ │ -000335c0: e289 8fe2 89ac e28b 95ef bc9d 2229 290a ............")). │ │ │ -000335d0: 2020 2822 6571 6e22 202e 202c 2861 6764 ("eqn" . ,(agd │ │ │ -000335e0: 612d 696e 7075 742d 746f 2d73 7472 696e a-input-to-strin │ │ │ -000335f0: 672d 6c69 7374 2022 e289 a0e2 8981 20e2 g-list "...... . │ │ │ -00033600: 8989 2020 2020 20e2 8984 2020 e289 87e2 .. ... .... │ │ │ -00033610: 8986 2020 e289 a220 2020 2020 2020 2020 .. ... │ │ │ -00033620: 2020 2020 2020 2020 e289 ad20 2020 2022 ... " │ │ │ -00033630: 2929 0a0a 2020 2020 2020 2020 2020 2020 )).. │ │ │ -00033640: 2020 2020 2020 2020 2822 3d6e 2220 202e ("=n" . │ │ │ -00033650: 2028 22e2 89a0 2229 290a 2020 2822 7e22 ("...")). ("~" │ │ │ -00033660: 2020 2020 2e20 2c28 6167 6461 2d69 6e70 . ,(agda-inp │ │ │ -00033670: 7574 2d74 6f2d 7374 7269 6e67 2d6c 6973 ut-to-string-lis │ │ │ -00033680: 7420 22e2 88bc efbd 9e22 2929 0a20 2020 t "......")). │ │ │ +00032a50: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 0a3b ;;;;;;;;;;;;;;.; │ │ │ +00032a60: 3b20 4375 7374 6f6d 697a 6174 696f 6e0a ; Customization. │ │ │ +00032a70: 0a3b 3b20 5468 6520 3a73 6574 206b 6579 .;; The :set key │ │ │ +00032a80: 776f 7264 2069 7320 7365 7420 746f 2027 word is set to ' │ │ │ +00032a90: 6167 6461 2d69 6e70 7574 2d69 6e63 6f72 agda-input-incor │ │ │ +00032aa0: 706f 7261 7465 2d63 6861 6e67 6564 2d73 porate-changed-s │ │ │ +00032ab0: 6574 7469 6e67 0a3b 3b20 736f 2074 6861 etting.;; so tha │ │ │ +00032ac0: 7420 7468 6520 696e 7075 7420 6d65 7468 t the input meth │ │ │ +00032ad0: 6f64 2067 6574 7320 7570 6461 7465 6420 od gets updated │ │ │ +00032ae0: 696d 6d65 6469 6174 656c 7920 7768 656e immediately when │ │ │ +00032af0: 2075 7365 7273 0a3b 3b20 6375 7374 6f6d users.;; custom │ │ │ +00032b00: 697a 6520 6974 2e20 486f 7765 7665 722c ize it. However, │ │ │ +00032b10: 2074 6865 2073 6574 7570 2066 756e 6374 the setup funct │ │ │ +00032b20: 696f 6e73 2063 616e 6e6f 7420 6265 2072 ions cannot be r │ │ │ +00032b30: 756e 2062 6566 6f72 6520 616c 6c0a 3b3b un before all.;; │ │ │ +00032b40: 2076 6172 6961 626c 6573 2068 6176 6520 variables have │ │ │ +00032b50: 6265 656e 2064 6566 696e 6564 2e20 4865 been defined. He │ │ │ +00032b60: 6e63 6520 7468 6520 3a69 6e69 7469 616c nce the :initial │ │ │ +00032b70: 697a 6520 6b65 7977 6f72 6420 6973 2073 ize keyword is s │ │ │ +00032b80: 6574 2074 6f0a 3b3b 2027 6375 7374 6f6d et to.;; 'custom │ │ │ +00032b90: 2d69 6e69 7469 616c 697a 652d 6465 6661 -initialize-defa │ │ │ +00032ba0: 756c 7420 746f 2065 6e73 7572 6520 7468 ult to ensure th │ │ │ +00032bb0: 6174 2074 6865 2073 6574 7570 2069 7320 at the setup is │ │ │ +00032bc0: 6e6f 7420 7065 7266 6f72 6d65 640a 3b3b not performed.;; │ │ │ +00032bd0: 2075 6e74 696c 2061 6764 612d 696e 7075 until agda-inpu │ │ │ +00032be0: 742d 7365 7475 7020 6973 2063 616c 6c65 t-setup is calle │ │ │ +00032bf0: 6420 6174 2074 6865 2065 6e64 206f 6620 d at the end of │ │ │ +00032c00: 7468 6973 2066 696c 652e 0a0a 2864 6566 this file...(def │ │ │ +00032c10: 6772 6f75 7020 6167 6461 2d69 6e70 7574 group agda-input │ │ │ +00032c20: 206e 696c 0a20 2022 5468 6520 4167 6461 nil. "The Agda │ │ │ +00032c30: 2069 6e70 7574 206d 6574 686f 642e 0a41 input method..A │ │ │ +00032c40: 6674 6572 2074 7765 616b 696e 6720 7468 fter tweaking th │ │ │ +00032c50: 6573 6520 7365 7474 696e 6773 2079 6f75 ese settings you │ │ │ +00032c60: 206d 6179 2077 616e 7420 746f 2069 6e73 may want to ins │ │ │ +00032c70: 7065 6374 2074 6865 2072 6573 756c 7469 pect the resulti │ │ │ +00032c80: 6e67 0a74 7261 6e73 6c61 7469 6f6e 7320 ng.translations │ │ │ +00032c90: 7573 696e 6720 6061 6764 612d 696e 7075 using `agda-inpu │ │ │ +00032ca0: 742d 7368 6f77 2d74 7261 6e73 6c61 7469 t-show-translati │ │ │ +00032cb0: 6f6e 7327 2e22 0a20 203a 6772 6f75 7020 ons'.". :group │ │ │ +00032cc0: 2761 6764 6132 0a20 203a 6772 6f75 7020 'agda2. :group │ │ │ +00032cd0: 276c 6569 6d29 0a0a 2864 6566 6375 7374 'leim)..(defcust │ │ │ +00032ce0: 6f6d 2061 6764 612d 696e 7075 742d 7477 om agda-input-tw │ │ │ +00032cf0: 6561 6b2d 616c 6c0a 2020 2728 6167 6461 eak-all. '(agda │ │ │ +00032d00: 2d69 6e70 7574 2d63 6f6d 706f 7365 0a20 -input-compose. │ │ │ +00032d10: 2020 2028 6167 6461 2d69 6e70 7574 2d70 (agda-input-p │ │ │ +00032d20: 7265 7065 6e64 2022 5c5c 2229 0a20 2020 repend "\\"). │ │ │ +00032d30: 2028 6167 6461 2d69 6e70 7574 2d6e 6f6e (agda-input-non │ │ │ +00032d40: 656d 7074 7929 290a 2020 2241 6e20 6578 empty)). "An ex │ │ │ +00032d50: 7072 6573 7369 6f6e 2079 6965 6c64 696e pression yieldin │ │ │ +00032d60: 6720 6120 6675 6e63 7469 6f6e 2077 6869 g a function whi │ │ │ +00032d70: 6368 2063 616e 2062 6520 7573 6564 2074 ch can be used t │ │ │ +00032d80: 6f20 7477 6561 6b0a 616c 6c20 7472 616e o tweak.all tran │ │ │ +00032d90: 736c 6174 696f 6e73 2062 6566 6f72 6520 slations before │ │ │ +00032da0: 7468 6579 2061 7265 2069 6e63 6c75 6465 they are include │ │ │ +00032db0: 6420 696e 2074 6865 2069 6e70 7574 206d d in the input m │ │ │ +00032dc0: 6574 686f 642e 0a54 6865 2072 6573 756c ethod..The resul │ │ │ +00032dd0: 7469 6e67 2066 756e 6374 696f 6e20 2869 ting function (i │ │ │ +00032de0: 6620 6e6f 6e2d 6e69 6c29 2069 7320 6170 f non-nil) is ap │ │ │ +00032df0: 706c 6965 6420 746f 2065 7665 7279 0a5c plied to every.\ │ │ │ +00032e00: 284b 4559 2d53 4551 5545 4e43 4520 2e20 (KEY-SEQUENCE . │ │ │ +00032e10: 5452 414e 534c 4154 494f 4e29 2070 6169 TRANSLATION) pai │ │ │ +00032e20: 7220 616e 6420 7368 6f75 6c64 2072 6574 r and should ret │ │ │ +00032e30: 7572 6e20 6120 6c69 7374 206f 6620 7375 urn a list of su │ │ │ +00032e40: 6368 0a70 6169 7273 2e20 284e 6f74 6520 ch.pairs. (Note │ │ │ +00032e50: 7468 6174 2074 6865 2074 7261 6e73 6c61 that the transla │ │ │ +00032e60: 7469 6f6e 7320 6361 6e20 6265 2061 6e79 tions can be any │ │ │ +00032e70: 7468 696e 6720 6163 6365 7074 6564 2062 thing accepted b │ │ │ +00032e80: 790a 6071 7561 696c 2d64 6566 7275 6c65 y.`quail-defrule │ │ │ +00032e90: 272e 290a 0a49 6620 796f 7520 6368 616e '.)..If you chan │ │ │ +00032ea0: 6765 2074 6869 7320 7365 7474 696e 6720 ge this setting │ │ │ +00032eb0: 6d61 6e75 616c 6c79 2028 7769 7468 6f75 manually (withou │ │ │ +00032ec0: 7420 7573 696e 6720 7468 650a 6375 7374 t using the.cust │ │ │ +00032ed0: 6f6d 697a 6174 696f 6e20 6275 6666 6572 omization buffer │ │ │ +00032ee0: 2920 796f 7520 6e65 6564 2074 6f20 6361 ) you need to ca │ │ │ +00032ef0: 6c6c 2060 6167 6461 2d69 6e70 7574 2d73 ll `agda-input-s │ │ │ +00032f00: 6574 7570 2720 696e 0a6f 7264 6572 2066 etup' in.order f │ │ │ +00032f10: 6f72 2074 6865 2063 6861 6e67 6520 746f or the change to │ │ │ +00032f20: 2074 616b 6520 6566 6665 6374 2e22 0a20 take effect.". │ │ │ +00032f30: 203a 6772 6f75 7020 2761 6764 612d 696e :group 'agda-in │ │ │ +00032f40: 7075 740a 2020 3a73 6574 2027 6167 6461 put. :set 'agda │ │ │ +00032f50: 2d69 6e70 7574 2d69 6e63 6f72 706f 7261 -input-incorpora │ │ │ +00032f60: 7465 2d63 6861 6e67 6564 2d73 6574 7469 te-changed-setti │ │ │ +00032f70: 6e67 0a20 203a 696e 6974 6961 6c69 7a65 ng. :initialize │ │ │ +00032f80: 2027 6375 7374 6f6d 2d69 6e69 7469 616c 'custom-initial │ │ │ +00032f90: 697a 652d 6465 6661 756c 740a 2020 3a74 ize-default. :t │ │ │ +00032fa0: 7970 6520 2773 6578 7029 0a0a 2864 6566 ype 'sexp)..(def │ │ │ +00032fb0: 6375 7374 6f6d 2061 6764 612d 696e 7075 custom agda-inpu │ │ │ +00032fc0: 742d 696e 6865 7269 740a 2020 6028 2822 t-inherit. `((" │ │ │ +00032fd0: 5465 5822 202e 2028 6167 6461 2d69 6e70 TeX" . (agda-inp │ │ │ +00032fe0: 7574 2d63 6f6d 706f 7365 0a20 2020 2020 ut-compose. │ │ │ +00032ff0: 2020 2020 2020 2020 2028 6167 6461 2d69 (agda-i │ │ │ +00033000: 6e70 7574 2d64 726f 7020 2728 2267 6571 nput-drop '("geq │ │ │ +00033010: 2220 226c 6571 2220 2262 756c 6c65 7422 " "leq" "bullet" │ │ │ +00033020: 2022 7165 6422 2022 7061 7222 2929 0a20 "qed" "par")). │ │ │ +00033030: 2020 2020 2020 2020 2020 2020 2028 6167 (ag │ │ │ +00033040: 6461 2d69 6e70 7574 2d6f 720a 2020 2020 da-input-or. │ │ │ +00033050: 2020 2020 2020 2020 2020 2028 6167 6461 (agda │ │ │ +00033060: 2d69 6e70 7574 2d64 726f 702d 7072 6566 -input-drop-pref │ │ │ +00033070: 6978 2022 5c5c 2229 0a20 2020 2020 2020 ix "\\"). │ │ │ +00033080: 2020 2020 2020 2020 2861 6764 612d 696e (agda-in │ │ │ +00033090: 7075 742d 6f72 0a20 2020 2020 2020 2020 put-or. │ │ │ +000330a0: 2020 2020 2020 2028 6167 6461 2d69 6e70 (agda-inp │ │ │ +000330b0: 7574 2d63 6f6d 706f 7365 0a20 2020 2020 ut-compose. │ │ │ +000330c0: 2020 2020 2020 2020 2020 2020 2861 6764 (agd │ │ │ +000330d0: 612d 696e 7075 742d 6472 6f70 2027 2822 a-input-drop '(" │ │ │ +000330e0: 5e6c 2220 225e 6f22 2022 5e72 2220 225e ^l" "^o" "^r" "^ │ │ │ +000330f0: 7622 2929 0a20 2020 2020 2020 2020 2020 v")). │ │ │ +00033100: 2020 2020 2020 2861 6764 612d 696e 7075 (agda-inpu │ │ │ +00033110: 742d 7072 6566 6978 2022 5e22 2929 0a20 t-prefix "^")). │ │ │ +00033120: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ +00033130: 6167 6461 2d69 6e70 7574 2d70 7265 6669 agda-input-prefi │ │ │ +00033140: 7820 225f 2229 2929 2929 0a20 2020 2029 x "_"))))). ) │ │ │ +00033150: 0a20 2022 4120 6c69 7374 206f 6620 5175 . "A list of Qu │ │ │ +00033160: 6169 6c20 696e 7075 7420 6d65 7468 6f64 ail input method │ │ │ +00033170: 7320 7768 6f73 6520 7472 616e 736c 6174 s whose translat │ │ │ +00033180: 696f 6e73 2073 686f 756c 6420 6265 0a69 ions should be.i │ │ │ +00033190: 6e68 6572 6974 6564 2062 7920 7468 6520 nherited by the │ │ │ +000331a0: 4167 6461 2069 6e70 7574 206d 6574 686f Agda input metho │ │ │ +000331b0: 6420 2877 6974 6820 7468 6520 6578 6365 d (with the exce │ │ │ +000331c0: 7074 696f 6e20 6f66 0a74 7261 6e73 6c61 ption of.transla │ │ │ +000331d0: 7469 6f6e 7320 636f 7272 6573 706f 6e64 tions correspond │ │ │ +000331e0: 696e 6720 746f 2041 5343 4949 2063 6861 ing to ASCII cha │ │ │ +000331f0: 7261 6374 6572 7329 2e0a 0a54 6865 206c racters)...The l │ │ │ +00033200: 6973 7420 636f 6e73 6973 7473 206f 6620 ist consists of │ │ │ +00033210: 7061 6972 7320 2871 7020 2e20 7477 6561 pairs (qp . twea │ │ │ +00033220: 6b29 2c20 7768 6572 6520 7170 2069 7320 k), where qp is │ │ │ +00033230: 7468 6520 6e61 6d65 206f 660a 6120 5175 the name of.a Qu │ │ │ +00033240: 6169 6c20 7061 636b 6167 652c 2061 6e64 ail package, and │ │ │ +00033250: 2074 7765 616b 2069 7320 616e 2065 7870 tweak is an exp │ │ │ +00033260: 7265 7373 696f 6e20 6f66 2074 6865 2073 ression of the s │ │ │ +00033270: 616d 6520 6b69 6e64 2061 730a 6061 6764 ame kind as.`agd │ │ │ +00033280: 612d 696e 7075 742d 7477 6561 6b2d 616c a-input-tweak-al │ │ │ +00033290: 6c27 2077 6869 6368 2069 7320 7573 6564 l' which is used │ │ │ +000332a0: 2074 6f20 7477 6561 6b20 7468 6520 7472 to tweak the tr │ │ │ +000332b0: 616e 736c 6174 696f 6e0a 7061 6972 7320 anslation.pairs │ │ │ +000332c0: 6f66 2074 6865 2069 6e70 7574 206d 6574 of the input met │ │ │ +000332d0: 686f 642e 0a0a 5468 6520 696e 6865 7269 hod...The inheri │ │ │ +000332e0: 7465 6420 7472 616e 736c 6174 696f 6e20 ted translation │ │ │ +000332f0: 7061 6972 7320 6172 6520 6164 6465 6420 pairs are added │ │ │ +00033300: 6c61 7374 2c20 6166 7465 720a 6061 6764 last, after.`agd │ │ │ +00033310: 612d 696e 7075 742d 7573 6572 2d74 7261 a-input-user-tra │ │ │ +00033320: 6e73 6c61 7469 6f6e 7327 2061 6e64 2060 nslations' and ` │ │ │ +00033330: 6167 6461 2d69 6e70 7574 2d74 7261 6e73 agda-input-trans │ │ │ +00033340: 6c61 7469 6f6e 7327 2e0a 0a49 6620 796f lations'...If yo │ │ │ +00033350: 7520 6368 616e 6765 2074 6869 7320 7365 u change this se │ │ │ +00033360: 7474 696e 6720 6d61 6e75 616c 6c79 2028 tting manually ( │ │ │ +00033370: 7769 7468 6f75 7420 7573 696e 6720 7468 without using th │ │ │ +00033380: 650a 6375 7374 6f6d 697a 6174 696f 6e20 e.customization │ │ │ +00033390: 6275 6666 6572 2920 796f 7520 6e65 6564 buffer) you need │ │ │ +000333a0: 2074 6f20 6361 6c6c 2060 6167 6461 2d69 to call `agda-i │ │ │ +000333b0: 6e70 7574 2d73 6574 7570 2720 696e 0a6f nput-setup' in.o │ │ │ +000333c0: 7264 6572 2066 6f72 2074 6865 2063 6861 rder for the cha │ │ │ +000333d0: 6e67 6520 746f 2074 616b 6520 6566 6665 nge to take effe │ │ │ +000333e0: 6374 2e22 0a20 203a 6772 6f75 7020 2761 ct.". :group 'a │ │ │ +000333f0: 6764 612d 696e 7075 740a 2020 3a73 6574 gda-input. :set │ │ │ +00033400: 2027 6167 6461 2d69 6e70 7574 2d69 6e63 'agda-input-inc │ │ │ +00033410: 6f72 706f 7261 7465 2d63 6861 6e67 6564 orporate-changed │ │ │ +00033420: 2d73 6574 7469 6e67 0a20 203a 696e 6974 -setting. :init │ │ │ +00033430: 6961 6c69 7a65 2027 6375 7374 6f6d 2d69 ialize 'custom-i │ │ │ +00033440: 6e69 7469 616c 697a 652d 6465 6661 756c nitialize-defaul │ │ │ +00033450: 740a 2020 3a74 7970 6520 2728 7265 7065 t. :type '(repe │ │ │ +00033460: 6174 2028 636f 6e73 2028 7374 7269 6e67 at (cons (string │ │ │ +00033470: 203a 7461 6720 2251 7561 696c 2070 6163 :tag "Quail pac │ │ │ +00033480: 6b61 6765 2229 0a20 2020 2020 2020 2020 kage"). │ │ │ +00033490: 2020 2020 2020 2020 2020 2020 2020 2873 (s │ │ │ +000334a0: 6578 7020 3a74 6167 2022 5477 6561 6b69 exp :tag "Tweaki │ │ │ +000334b0: 6e67 2066 756e 6374 696f 6e22 2929 2929 ng function")))) │ │ │ +000334c0: 0a0a 2864 6566 6375 7374 6f6d 2061 6764 ..(defcustom agd │ │ │ +000334d0: 612d 696e 7075 742d 7472 616e 736c 6174 a-input-translat │ │ │ +000334e0: 696f 6e73 0a20 2028 6c65 7420 2828 6d61 ions. (let ((ma │ │ │ +000334f0: 782d 6c69 7370 2d65 7661 6c2d 6465 7074 x-lisp-eval-dept │ │ │ +00033500: 6820 3238 3030 2929 2060 280a 0a20 203b h 2800)) `(.. ; │ │ │ +00033510: 3b20 4571 7561 6c69 7479 2061 6e64 2073 ; Equality and s │ │ │ +00033520: 696d 696c 6172 2073 796d 626f 6c73 2e0a imilar symbols.. │ │ │ +00033530: 0a20 2028 2265 7122 2020 2e20 2c28 6167 . ("eq" . ,(ag │ │ │ +00033540: 6461 2d69 6e70 7574 2d74 6f2d 7374 7269 da-input-to-stri │ │ │ +00033550: 6e67 2d6c 6973 7420 223d e288 bce2 88bd ng-list "=...... │ │ │ +00033560: e289 88e2 898b e288 bbe2 88be e288 bfe2 ................ │ │ │ +00033570: 8980 e289 83e2 8b8d e289 82e2 8985 20e2 .............. . │ │ │ +00033580: 898c e289 8ae2 89a1 e289 a3e2 8990 e289 ................ │ │ │ +00033590: 91e2 8992 e289 93e2 8994 e289 95e2 8996 ................ │ │ │ +000335a0: e289 97e2 8998 e289 99e2 899a e289 9be2 ................ │ │ │ +000335b0: 899c e289 9de2 899e e289 9fe2 898d e289 ................ │ │ │ +000335c0: 8ee2 898f e289 ace2 8b95 efbc 9d22 2929 .............")) │ │ │ +000335d0: 0a20 2028 2265 716e 2220 2e20 2c28 6167 . ("eqn" . ,(ag │ │ │ +000335e0: 6461 2d69 6e70 7574 2d74 6f2d 7374 7269 da-input-to-stri │ │ │ +000335f0: 6e67 2d6c 6973 7420 22e2 89a0 e289 8120 ng-list "...... │ │ │ +00033600: e289 8920 2020 2020 e289 8420 20e2 8987 ... ... ... │ │ │ +00033610: e289 8620 20e2 89a2 2020 2020 2020 2020 ... ... │ │ │ +00033620: 2020 2020 2020 2020 20e2 89ad 2020 2020 ... │ │ │ +00033630: 2229 290a 0a20 2020 2020 2020 2020 2020 ")).. │ │ │ +00033640: 2020 2020 2020 2020 2028 223d 6e22 2020 ("=n" │ │ │ +00033650: 2e20 2822 e289 a022 2929 0a20 2028 227e . ("...")). ("~ │ │ │ +00033660: 2220 2020 202e 202c 2861 6764 612d 696e " . ,(agda-in │ │ │ +00033670: 7075 742d 746f 2d73 7472 696e 672d 6c69 put-to-string-li │ │ │ +00033680: 7374 2022 e288 bcef bd9e 2229 290a 2020 st "......")). │ │ │ 00033690: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -000336a0: 2028 227e 6e22 2020 2e20 2822 e289 8122 ("~n" . ("..." │ │ │ -000336b0: 2929 0a20 2028 227e 7e22 2020 202e 2028 )). ("~~" . ( │ │ │ -000336c0: 22e2 8988 2229 2920 2028 227e 7e6e 2220 "...")) ("~~n" │ │ │ -000336d0: 2e20 2822 e289 8922 2929 0a20 2028 227e . ("...")). ("~ │ │ │ -000336e0: 7e7e 2220 202e 2028 22e2 898b 2229 290a ~~" . ("...")). │ │ │ -000336f0: 2020 2822 3a7e 2220 2020 2e20 2822 e288 (":~" . (".. │ │ │ -00033700: bb22 2929 0a20 2028 227e 2d22 2020 202e .")). ("~-" . │ │ │ -00033710: 2028 22e2 8983 2229 2920 2028 227e 2d6e ("...")) ("~-n │ │ │ -00033720: 2220 2e20 2822 e289 8422 2929 0a20 2028 " . ("...")). ( │ │ │ -00033730: 222d 7e22 2020 202e 2028 22e2 8982 2229 "-~" . ("...") │ │ │ -00033740: 290a 2020 2822 7e3d 2220 2020 2e20 2822 ). ("~=" . (" │ │ │ -00033750: e289 8522 2929 2020 2822 7e3d 6e22 202e ...")) ("~=n" . │ │ │ -00033760: 2028 22e2 8987 2229 290a 2020 2822 7e7e ("...")). ("~~ │ │ │ -00033770: 2d22 2020 2e20 2822 e289 8a22 2929 0a20 -" . ("...")). │ │ │ -00033780: 2028 223d 3d22 2020 202e 2028 22e2 89a1 ("==" . ("... │ │ │ -00033790: 2229 2920 2028 223d 3d6e 2220 2e20 2822 ")) ("==n" . (" │ │ │ -000337a0: e289 a222 2929 0a20 2028 223d 3d3d 2220 ...")). ("===" │ │ │ -000337b0: 202e 2028 22e2 89a3 2229 290a 2020 2822 . ("...")). (" │ │ │ -000337c0: 3d22 2020 2020 2e20 2822 efbc 9d22 2929 =" . ("...")) │ │ │ -000337d0: 0a20 2028 222e 3d22 2020 202e 2028 22e2 . (".=" . (". │ │ │ -000337e0: 8990 2229 2920 2028 222e 3d2e 2220 2e20 ..")) (".=." . │ │ │ -000337f0: 2822 e289 9122 2929 0a20 2028 223a 3d22 ("...")). (":=" │ │ │ -00033800: 2020 202e 2028 22e2 8994 2229 2920 2028 . ("...")) ( │ │ │ -00033810: 223d 3a22 2020 2e20 2822 e289 9522 2929 "=:" . ("...")) │ │ │ -00033820: 0a20 2028 223d 6f22 2020 202e 2028 22e2 . ("=o" . (". │ │ │ -00033830: 8997 2229 290a 2020 2822 283d 2220 2020 ..")). ("(=" │ │ │ -00033840: 2e20 2822 e289 9822 2929 0a20 2028 2261 . ("...")). ("a │ │ │ -00033850: 6e64 3d22 202e 2028 22e2 8999 2229 2920 nd=" . ("...")) │ │ │ -00033860: 2028 226f 723d 2220 2e20 2822 e289 9a22 ("or=" . ("..." │ │ │ -00033870: 2929 0a20 2028 222a 3d22 2020 202e 2028 )). ("*=" . ( │ │ │ -00033880: 22e2 899b 2229 290a 2020 2822 743d 2220 "...")). ("t=" │ │ │ -00033890: 2020 2e20 2822 e289 9c22 2929 0a20 2028 . ("...")). ( │ │ │ -000338a0: 2264 6566 3d22 202e 2028 22e2 899d 2229 "def=" . ("...") │ │ │ -000338b0: 290a 2020 2822 6d3d 2220 2020 2e20 2822 ). ("m=" . (" │ │ │ -000338c0: e289 9e22 2929 0a20 2028 223f 3d22 2020 ...")). ("?=" │ │ │ -000338d0: 202e 2028 22e2 899f 2229 290a 0a20 203b . ("...")).. ; │ │ │ -000338e0: 3b20 496e 6571 7561 6c69 7479 2061 6e64 ; Inequality and │ │ │ -000338f0: 2073 696d 696c 6172 2073 796d 626f 6c73 similar symbols │ │ │ -00033900: 2e0a 0a20 2028 226c 6571 2220 202e 202c ... ("leq" . , │ │ │ -00033910: 2861 6764 612d 696e 7075 742d 746f 2d73 (agda-input-to-s │ │ │ -00033920: 7472 696e 672d 6c69 7374 2022 3ce2 89aa tring-list "<... │ │ │ -00033930: e28b 98e2 89a4 e289 a6e2 89b2 20e2 89b6 ............ ... │ │ │ -00033940: e289 bae2 89bc e289 bee2 8a82 e28a 86e2 ................ │ │ │ -00033950: ab87 e2ab 8920 e28b 90e2 8a8f e28a 9120 ..... ......... │ │ │ -00033960: e28a b0e2 8ab2 e28a b4e2 8b96 e28b 9ae2 ................ │ │ │ -00033970: 8b9c e28b 9eef bc9c 2229 290a 2020 2822 ........")). (" │ │ │ -00033980: 6c65 716e 2220 2e20 2c28 6167 6461 2d69 leqn" . ,(agda-i │ │ │ -00033990: 6e70 7574 2d74 6f2d 7374 7269 6e67 2d6c nput-to-string-l │ │ │ -000339a0: 6973 7420 22e2 89ae 2020 e289 b0e2 89a8 ist "... ...... │ │ │ -000339b0: e289 b4e2 8ba6 e289 b8e2 8a80 20e2 8ba8 ............ ... │ │ │ -000339c0: e28a 84e2 8a88 e28a 8a20 20e2 8ba2 e28b ......... ..... │ │ │ -000339d0: a420 e28b aae2 8bac 2020 20e2 8ba0 2229 . ...... ...") │ │ │ -000339e0: 290a 2020 2822 6765 7122 2020 2e20 2c28 ). ("geq" . ,( │ │ │ -000339f0: 6167 6461 2d69 6e70 7574 2d74 6f2d 7374 agda-input-to-st │ │ │ -00033a00: 7269 6e67 2d6c 6973 7420 223e e289 abe2 ring-list ">.... │ │ │ -00033a10: 8b99 e289 a5e2 89a7 e289 b320 e289 b7e2 ........... .... │ │ │ -00033a20: 89bb e289 bde2 89bf e28a 83e2 8a87 e2ab ................ │ │ │ -00033a30: 88e2 ab8a 20e2 8b91 e28a 90e2 8a92 20e2 .... ......... . │ │ │ -00033a40: 8ab1 e28a b3e2 8ab5 e28b 97e2 8b9b e28b ................ │ │ │ -00033a50: 9de2 8b9f efbc 9e22 2929 0a20 2028 2267 .......")). ("g │ │ │ -00033a60: 6571 6e22 202e 202c 2861 6764 612d 696e eqn" . ,(agda-in │ │ │ -00033a70: 7075 742d 746f 2d73 7472 696e 672d 6c69 put-to-string-li │ │ │ -00033a80: 7374 2022 e289 af20 20e2 89b1 e289 a9e2 st "... ....... │ │ │ -00033a90: 89b5 e28b a7e2 89b9 e28a 8120 e28b a9e2 ........... .... │ │ │ -00033aa0: 8a85 e28a 89e2 8a8b 2020 e28b a3e2 8ba5 ........ ...... │ │ │ -00033ab0: 20e2 8bab e28b ad20 2020 e28b a122 2929 ...... ...")) │ │ │ -00033ac0: 0a0a 2020 2822 3c3d 2220 2020 2e20 2822 .. ("<=" . (" │ │ │ -00033ad0: e289 a422 2929 2020 2822 3e3d 2220 2020 ...")) (">=" │ │ │ -00033ae0: 2e20 2822 e289 a522 2929 0a20 2028 223c . ("...")). ("< │ │ │ -00033af0: 3d6e 2220 202e 2028 22e2 89b0 2229 2920 =n" . ("...")) │ │ │ -00033b00: 2028 223e 3d6e 2220 202e 2028 22e2 89b1 (">=n" . ("... │ │ │ -00033b10: 2229 290a 2020 2822 6c65 6e22 2020 2e20 ")). ("len" . │ │ │ -00033b20: 2822 e289 b022 2929 2020 2822 6765 6e22 ("...")) ("gen" │ │ │ -00033b30: 2020 2e20 2822 e289 b122 2929 0a20 2028 . ("...")). ( │ │ │ -00033b40: 223c 6e22 2020 202e 2028 22e2 89ae 2229 "n" . (". │ │ │ -00033b60: 89af 2229 290a 2020 2822 3c7e 2220 2020 ..")). ("<~" │ │ │ -00033b70: 2e20 2822 e289 b222 2929 2020 2822 3e7e . ("...")) (">~ │ │ │ -00033b80: 2220 2020 2e20 2822 e289 b322 2929 0a20 " . ("...")). │ │ │ -00033b90: 2028 223c 7e6e 2220 202e 2028 22e2 8ba6 ("<~n" . ("... │ │ │ -00033ba0: 2229 2920 2028 223e 7e6e 2220 202e 2028 ")) (">~n" . ( │ │ │ -00033bb0: 22e2 8ba7 2229 290a 2020 2822 3c7e 6e6e "...")). ("<~nn │ │ │ -00033bc0: 2220 2e20 2822 e289 b422 2929 2020 2822 " . ("...")) (" │ │ │ -00033bd0: 3e7e 6e6e 2220 2e20 2822 e289 b522 2929 >~nn" . ("...")) │ │ │ -00033be0: 0a0a 2020 2822 7375 6222 2020 202e 2028 .. ("sub" . ( │ │ │ -00033bf0: 22e2 8a82 2229 2920 2028 2273 7570 2220 "...")) ("sup" │ │ │ -00033c00: 2020 2e20 2822 e28a 8322 2929 0a20 2028 . ("...")). ( │ │ │ -00033c10: 2273 7562 6e22 2020 2e20 2822 e28a 8422 "subn" . ("..." │ │ │ -00033c20: 2929 2020 2822 7375 706e 2220 202e 2028 )) ("supn" . ( │ │ │ -00033c30: 22e2 8a85 2229 290a 2020 2822 7375 623d "...")). ("sub= │ │ │ -00033c40: 2220 202e 2028 22e2 8a86 2229 2920 2028 " . ("...")) ( │ │ │ -00033c50: 2273 7570 3d22 2020 2e20 2822 e28a 8722 "sup=" . ("..." │ │ │ -00033c60: 2929 0a20 2028 2273 7562 3d6e 2220 2e20 )). ("sub=n" . │ │ │ -00033c70: 2822 e28a 8822 2929 2020 2822 7375 703d ("...")) ("sup= │ │ │ -00033c80: 6e22 202e 2028 22e2 8a89 2229 290a 2020 n" . ("...")). │ │ │ -00033c90: 2822 7375 627e 2220 202e 2028 22e2 ab87 ("sub~" . ("... │ │ │ -00033ca0: 2229 2920 2028 2273 7570 7e22 2020 2e20 ")) ("sup~" . │ │ │ -00033cb0: 2822 e2ab 8822 2929 0a20 2028 2273 7562 ("...")). ("sub │ │ │ -00033cc0: 7e7e 2220 202e 2028 22e2 ab89 2229 2920 ~~" . ("...")) │ │ │ -00033cd0: 2028 2273 7570 7e7e 2220 202e 2028 22e2 ("sup~~" . (". │ │ │ -00033ce0: ab8a 2229 290a 0a20 2028 2273 7175 6222 ..")).. ("squb" │ │ │ -00033cf0: 2020 202e 2028 22e2 8a8f 2229 2920 2028 . ("...")) ( │ │ │ -00033d00: 2273 7175 7022 2020 202e 2028 22e2 8a90 "squp" . ("... │ │ │ -00033d10: 2229 290a 2020 2822 7371 7562 3d22 2020 ")). ("squb=" │ │ │ -00033d20: 2e20 2822 e28a 9122 2929 2020 2822 7371 . ("...")) ("sq │ │ │ -00033d30: 7570 3d22 2020 2e20 2822 e28a 9222 2929 up=" . ("...")) │ │ │ -00033d40: 0a20 2028 2273 7175 623d 6e22 202e 2028 . ("squb=n" . ( │ │ │ -00033d50: 22e2 8ba2 2229 2920 2028 2273 7175 703d "...")) ("squp= │ │ │ -00033d60: 6e22 202e 2028 22e2 8ba3 2229 290a 0a20 n" . ("...")).. │ │ │ -00033d70: 203b 3b20 5365 7420 6d65 6d62 6572 7368 ;; Set membersh │ │ │ -00033d80: 6970 2065 7463 2e0a 0a20 2028 226d 656d ip etc... ("mem │ │ │ -00033d90: 6265 7222 202e 202c 2861 6764 612d 696e ber" . ,(agda-in │ │ │ -00033da0: 7075 742d 746f 2d73 7472 696e 672d 6c69 put-to-string-li │ │ │ -00033db0: 7374 2022 e288 88e2 8889 e288 8ae2 888b st "............ │ │ │ -00033dc0: e288 8ce2 888d e28b b2e2 8bb3 e28b b4e2 ................ │ │ │ -00033dd0: 8bb5 e28b b6e2 8bb7 e28b b8e2 8bb9 e28b ................ │ │ │ -00033de0: bae2 8bbb e28b bce2 8bbd e28b bee2 8bbf ................ │ │ │ -00033df0: 2229 290a 0a20 2028 2269 6e6e 2220 2e20 ")).. ("inn" . │ │ │ -00033e00: 2822 e288 8922 2929 0a20 2028 226e 696e ("...")). ("nin │ │ │ -00033e10: 2220 2e20 2822 e288 8c22 2929 0a0a 2020 " . ("...")).. │ │ │ -00033e20: 3b3b 2049 6e74 6572 7365 6374 696f 6e73 ;; Intersections │ │ │ -00033e30: 2c20 756e 696f 6e73 2065 7463 2e0a 0a20 , unions etc... │ │ │ -00033e40: 2028 2269 6e74 6572 7365 6374 696f 6e22 ("intersection" │ │ │ -00033e50: 202e 202c 2861 6764 612d 696e 7075 742d . ,(agda-input- │ │ │ -00033e60: 746f 2d73 7472 696e 672d 6c69 7374 2022 to-string-list " │ │ │ -00033e70: e288 a9e2 8b82 e288 a7e2 8b80 e28b 8fe2 ................ │ │ │ -00033e80: a887 e28a 93e2 a885 e28b 92e2 888f 20e2 .............. . │ │ │ -00033e90: 8abc 2020 2020 2020 e2a8 8922 2929 0a20 .. ...")). │ │ │ -00033ea0: 2028 2275 6e69 6f6e 2220 2020 2020 2020 ("union" │ │ │ -00033eb0: 202e 202c 2861 6764 612d 696e 7075 742d . ,(agda-input- │ │ │ -00033ec0: 746f 2d73 7472 696e 672d 6c69 7374 2022 to-string-list " │ │ │ -00033ed0: e288 aae2 8b83 e288 a8e2 8b81 e28b 8ee2 ................ │ │ │ -00033ee0: a888 e28a 94e2 a886 e28b 93e2 8890 e2a8 ................ │ │ │ -00033ef0: bfe2 8abd e28a bbe2 8a8d e2a8 83e2 8a8e ................ │ │ │ -00033f00: e2a8 84e2 8a8c e288 91e2 8580 2229 290a ............")). │ │ │ -00033f10: 0a20 2028 2261 6e64 2220 2e20 2822 e288 . ("and" . (".. │ │ │ -00033f20: a722 2929 2020 2822 6f72 2220 202e 2028 .")) ("or" . ( │ │ │ -00033f30: 22e2 88a8 2229 290a 2020 2822 416e 6422 "...")). ("And" │ │ │ -00033f40: 202e 2028 22e2 8b80 2229 2920 2028 224f . ("...")) ("O │ │ │ -00033f50: 7222 2020 2e20 2822 e28b 8122 2929 0a20 r" . ("...")). │ │ │ -00033f60: 2028 2269 2220 2020 2e20 2822 e288 a922 ("i" . ("..." │ │ │ -00033f70: 2929 2020 2822 756e 2220 202e 2028 22e2 )) ("un" . (". │ │ │ -00033f80: 88aa 2229 2920 2028 2275 2b22 202e 2028 ..")) ("u+" . ( │ │ │ -00033f90: 22e2 8a8e 2229 2920 2028 2275 2e22 202e "...")) ("u." . │ │ │ -00033fa0: 2028 22e2 8a8d 2229 290a 2020 2822 4922 ("...")). ("I" │ │ │ -00033fb0: 2020 202e 2028 22e2 8b82 2229 2920 2028 . ("...")) ( │ │ │ -00033fc0: 2255 6e22 2020 2e20 2822 e28b 8322 2929 "Un" . ("...")) │ │ │ -00033fd0: 2020 2822 552b 2220 2e20 2822 e2a8 8422 ("U+" . ("..." │ │ │ -00033fe0: 2929 2020 2822 552e 2220 2e20 2822 e2a8 )) ("U." . (".. │ │ │ -00033ff0: 8322 2929 0a20 2028 2267 6c62 2220 2e20 .")). ("glb" . │ │ │ -00034000: 2822 e28a 9322 2929 2020 2822 6c75 6222 ("...")) ("lub" │ │ │ -00034010: 202e 2028 22e2 8a94 2229 290a 2020 2822 . ("...")). (" │ │ │ -00034020: 476c 6222 202e 2028 22e2 a885 2229 2920 Glb" . ("...")) │ │ │ -00034030: 2028 224c 7562 2220 2e20 2822 e2a8 8622 ("Lub" . ("..." │ │ │ -00034040: 2929 0a0a 2020 3b3b 2045 6e74 6169 6c6d )).. ;; Entailm │ │ │ -00034050: 656e 742c 2074 6163 6b73 2c20 6574 632e ent, tacks, etc. │ │ │ -00034060: 0a0a 2020 2822 656e 7461 696c 7322 202e .. ("entails" . │ │ │ -00034070: 202c 2861 6764 612d 696e 7075 742d 746f ,(agda-input-to │ │ │ -00034080: 2d73 7472 696e 672d 6c69 7374 2022 e28a -string-list ".. │ │ │ -00034090: a2e2 8aa3 e28a a4e2 8aa5 e28a a6e2 8aa7 ................ │ │ │ -000340a0: e28a a8e2 8aa9 e28a aae2 8aab e28a ace2 ................ │ │ │ -000340b0: 8aad e28a aee2 8aaf 2229 290a 0a20 2028 ........")).. ( │ │ │ -000340c0: 227c 2d22 2020 202e 2028 22e2 8aa2 2229 "|-" . ("...") │ │ │ -000340d0: 2920 2028 227c 2d6e 2220 202e 2028 22e2 ) ("|-n" . (". │ │ │ -000340e0: 8aac 2229 290a 2020 2822 2d7c 2220 2020 ..")). ("-|" │ │ │ -000340f0: 2e20 2822 e28a a322 2929 0a20 2028 227c . ("...")). ("| │ │ │ -00034100: 3d22 2020 202e 2028 22e2 8aa8 2229 2920 =" . ("...")) │ │ │ -00034110: 2028 227c 3d6e 2220 202e 2028 22e2 8aad ("|=n" . ("... │ │ │ -00034120: 2229 290a 2020 2822 7c7c 2d22 2020 2e20 ")). ("||-" . │ │ │ -00034130: 2822 e28a a922 2929 2020 2822 7c7c 2d6e ("...")) ("||-n │ │ │ -00034140: 2220 2e20 2822 e28a ae22 2929 0a20 2028 " . ("...")). ( │ │ │ -00034150: 227c 7c3d 2220 202e 2028 22e2 8aab 2229 "||=" . ("...") │ │ │ -00034160: 2920 2028 227c 7c3d 6e22 202e 2028 22e2 ) ("||=n" . (". │ │ │ -00034170: 8aaf 2229 290a 2020 2822 7c7c 7c2d 2220 ..")). ("|||-" │ │ │ -00034180: 2e20 2822 e28a aa22 2929 0a0a 0a20 2028 . ("..."))... ( │ │ │ -00034190: 2274 6163 6b22 202e 202c 2861 6764 612d "tack" . ,(agda- │ │ │ -000341a0: 696e 7075 742d 746f 2d73 7472 696e 672d input-to-string- │ │ │ -000341b0: 6c69 7374 2022 e29f 98e2 9f99 e29f 9be2 list ".......... │ │ │ -000341c0: 9f9d e29f 9ee2 abab e2ab aa22 2929 0a20 ...........")). │ │ │ -000341d0: 2028 2242 6f74 2220 202e 2028 22e2 9f98 ("Bot" . ("... │ │ │ -000341e0: 2229 2920 3b3b 2073 696d 696c 6172 2074 ")) ;; similar t │ │ │ -000341f0: 6f20 476c 622f 4c75 6220 7673 2e20 676c o Glb/Lub vs. gl │ │ │ -00034200: 622f 6c75 620a 2020 2822 546f 7022 2020 b/lub. ("Top" │ │ │ -00034210: 2e20 2822 e29f 9922 2929 0a20 2028 222d . ("...")). ("- │ │ │ -00034220: 7c7c 2d22 202e 2028 22e2 9f9b 2229 290a ||-" . ("...")). │ │ │ -00034230: 2020 2822 7c2d 2d22 2020 2e20 2822 e29f ("|--" . (".. │ │ │ -00034240: 9d22 2929 0a20 2028 222d 2d7c 2220 202e .")). ("--|" . │ │ │ -00034250: 2028 22e2 9f9e 2229 290a 2020 2822 6262 ("...")). ("bb │ │ │ -00034260: 6f74 2220 2e20 2822 e2ab ab22 2929 203b ot" . ("...")) ; │ │ │ -00034270: 3b20 7369 6d69 6c61 7220 746f 2062 4e20 ; similar to bN │ │ │ -00034280: 666f 7220 626c 6163 6b62 6f61 7264 204e for blackboard N │ │ │ -00034290: 0a20 2028 2262 746f 7022 202e 2028 22e2 . ("btop" . (". │ │ │ -000342a0: abaa 2229 290a 0a20 203b 3b20 4469 7669 ..")).. ;; Divi │ │ │ -000342b0: 7369 6269 6c69 7479 2c20 7061 7261 6c6c sibility, parall │ │ │ -000342c0: 656c 6974 792e 0a0a 2020 2822 7c22 2020 elity... ("|" │ │ │ -000342d0: 2e20 2822 e288 a322 2929 2020 2822 7c6e . ("...")) ("|n │ │ │ -000342e0: 2220 202e 2028 22e2 88a4 2229 290a 2020 " . ("...")). │ │ │ -000342f0: 2822 7c7c 2220 2e20 2822 e288 a522 2929 ("||" . ("...")) │ │ │ -00034300: 2020 2822 7c7c 6e22 202e 2028 22e2 88a6 ("||n" . ("... │ │ │ -00034310: 2229 290a 0a20 203b 3b20 536f 6d65 2073 ")).. ;; Some s │ │ │ -00034320: 796d 626f 6c73 2066 726f 6d20 6c6f 6769 ymbols from logi │ │ │ -00034330: 6320 616e 6420 7365 7420 7468 656f 7279 c and set theory │ │ │ -00034340: 2e0a 0a20 2028 2261 6c6c 2220 2e20 2822 ... ("all" . (" │ │ │ -00034350: e288 8022 2929 0a20 2028 2265 7822 2020 ...")). ("ex" │ │ │ -00034360: 2e20 2822 e288 8322 2929 0a20 2028 2265 . ("...")). ("e │ │ │ -00034370: 786e 2220 2e20 2822 e288 8422 2929 0a20 xn" . ("...")). │ │ │ -00034380: 2028 2230 2220 2020 2e20 2822 e288 8522 ("0" . ("..." │ │ │ -00034390: 2929 0a20 2028 2243 2220 2020 2e20 2822 )). ("C" . (" │ │ │ -000343a0: e288 8122 2929 0a20 2028 2275 696e 2220 ...")). ("uin" │ │ │ -000343b0: 2020 202e 2028 22e2 9f92 2229 290a 2020 . ("...")). │ │ │ -000343c0: 2822 6469 6e22 2020 2020 2e20 2822 e2ab ("din" . (".. │ │ │ -000343d0: 9922 2929 0a0a 2020 3b3b 2043 6f72 6e65 .")).. ;; Corne │ │ │ -000343e0: 7273 2c20 6365 696c 696e 6773 2061 6e64 rs, ceilings and │ │ │ -000343f0: 2066 6c6f 6f72 732e 0a0a 2020 2822 6322 floors... ("c" │ │ │ -00034400: 2020 2e20 2c28 6167 6461 2d69 6e70 7574 . ,(agda-input │ │ │ -00034410: 2d74 6f2d 7374 7269 6e67 2d6c 6973 7420 -to-string-list │ │ │ -00034420: 22e2 8c9c e28c 9de2 8c9e e28c 9fe2 8c88 "............... │ │ │ -00034430: e28c 89e2 8c8a e28c 8b22 2929 0a20 2028 .........")). ( │ │ │ -00034440: 2263 7522 202e 202c 2861 6764 612d 696e "cu" . ,(agda-in │ │ │ -00034450: 7075 742d 746f 2d73 7472 696e 672d 6c69 put-to-string-li │ │ │ -00034460: 7374 2022 e28c 9ce2 8c9d 2020 e28c 88e2 st "...... .... │ │ │ -00034470: 8c89 2020 2229 290a 2020 2822 636c 2220 .. ")). ("cl" │ │ │ -00034480: 2e20 2c28 6167 6461 2d69 6e70 7574 2d74 . ,(agda-input-t │ │ │ -00034490: 6f2d 7374 7269 6e67 2d6c 6973 7420 2220 o-string-list " │ │ │ -000344a0: 20e2 8c9e e28c 9f20 20e2 8c8a e28c 8b22 ...... ......" │ │ │ -000344b0: 2929 0a0a 2020 2822 6375 6c22 202e 2028 )).. ("cul" . ( │ │ │ -000344c0: 22e2 8c9c 2229 2920 2028 2263 754c 2220 "...")) ("cuL" │ │ │ -000344d0: 2e20 2822 e28c 8822 2929 0a20 2028 2263 . ("...")). ("c │ │ │ -000344e0: 7572 2220 2e20 2822 e28c 9d22 2929 2020 ur" . ("...")) │ │ │ -000344f0: 2822 6375 5222 202e 2028 22e2 8c89 2229 ("cuR" . ("...") │ │ │ -00034500: 290a 2020 2822 636c 6c22 202e 2028 22e2 ). ("cll" . (". │ │ │ -00034510: 8c9e 2229 2920 2028 2263 6c4c 2220 2e20 ..")) ("clL" . │ │ │ -00034520: 2822 e28c 8a22 2929 0a20 2028 2263 6c72 ("...")). ("clr │ │ │ -00034530: 2220 2e20 2822 e28c 9f22 2929 2020 2822 " . ("...")) (" │ │ │ -00034540: 636c 5222 202e 2028 22e2 8c8b 2229 290a clR" . ("...")). │ │ │ -00034550: 0a20 203b 3b20 5661 7269 6f75 7320 6f70 . ;; Various op │ │ │ -00034560: 6572 6174 6f72 732f 7379 6d62 6f6c 732e erators/symbols. │ │ │ -00034570: 0a0a 2020 2822 7165 6422 2020 2020 2020 .. ("qed" │ │ │ -00034580: 202e 2028 22e2 888e 2229 290a 2020 2822 . ("...")). (" │ │ │ -00034590: 7822 2020 2020 2020 2020 202e 2028 22c3 x" . (". │ │ │ -000345a0: 9722 2929 0a20 2028 226f 2220 2020 2020 .")). ("o" │ │ │ -000345b0: 2020 2020 2e20 2822 e288 9822 2929 0a20 . ("...")). │ │ │ -000345c0: 2028 2263 6f6d 7022 2020 2020 2020 2e20 ("comp" . │ │ │ -000345d0: 2822 e288 9822 2929 0a20 2028 222e 2220 ("...")). ("." │ │ │ -000345e0: 2020 2020 2020 2020 2e20 2c28 6167 6461 . ,(agda │ │ │ -000345f0: 2d69 6e70 7574 2d74 6f2d 7374 7269 6e67 -input-to-string │ │ │ -00034600: 2d6c 6973 7420 22e2 8899 efbc 8e22 2929 -list "......")) │ │ │ -00034610: 0a20 2028 222a 2220 2020 2020 2020 2020 . ("*" │ │ │ -00034620: 2e20 2822 e28b 8622 2929 0a20 2028 222e . ("...")). (". │ │ │ -00034630: 2b22 2020 2020 2020 2020 2e20 2822 e288 +" . (".. │ │ │ -00034640: 9422 2929 0a20 2028 222e 2d22 2020 2020 .")). (".-" │ │ │ -00034650: 2020 2020 2e20 2822 e288 b822 2929 0a20 . ("...")). │ │ │ -00034660: 2028 223a 2220 2020 2020 2020 2020 2e20 (":" . │ │ │ -00034670: 2c28 6167 6461 2d69 6e70 7574 2d74 6f2d ,(agda-input-to- │ │ │ -00034680: 7374 7269 6e67 2d6c 6973 7420 22e2 88b6 string-list "... │ │ │ -00034690: e2a6 82cb 90ea 9e89 cbb8 e18d a5e1 8da6 ................ │ │ │ -000346a0: efbc 9aef b995 efb8 9322 2929 0a20 2028 .........")). ( │ │ │ -000346b0: 222c 2220 2020 2020 2020 2020 2e20 2c28 "," . ,( │ │ │ -000346c0: 6167 6461 2d69 6e70 7574 2d74 6f2d 7374 agda-input-to-st │ │ │ -000346d0: 7269 6e67 2d6c 6973 7420 22ca bbd8 8ce2 ring-list "..... │ │ │ -000346e0: b8b2 e2b8 b4e2 b981 e2b9 89e3 8081 efb8 ................ │ │ │ -000346f0: 90ef b891 efb9 90ef b991 efbc 8cef bda4 ................ │ │ │ -00034700: 2229 290a 2020 2822 3b22 2020 2020 2020 ")). (";" │ │ │ -00034710: 2020 202e 202c 2861 6764 612d 696e 7075 . ,(agda-inpu │ │ │ -00034720: 742d 746f 2d73 7472 696e 672d 6c69 7374 t-to-string-list │ │ │ -00034730: 2022 e2a8 bee2 a89f e281 8fe1 8da4 ea9b ".............. │ │ │ -00034740: b6ef bc9b efb8 94ef b994 e28d aee2 b8b5 ................ │ │ │ -00034750: cdbe 2229 290a 2020 2822 2b2b 2220 2020 ..")). ("++" │ │ │ -00034760: 2020 2020 202e 2028 22e2 a7ba 2229 290a . ("...")). │ │ │ -00034770: 2020 2822 3a3a 2220 2020 2020 2020 202e ("::" . │ │ │ -00034780: 2028 22e2 88b7 2229 290a 2020 2822 3a3a ("...")). (":: │ │ │ -00034790: 2d22 2020 2020 2020 202e 2028 22e2 88ba -" . ("... │ │ │ -000347a0: 2229 290a 2020 2822 2d3a 2220 2020 2020 ")). ("-:" │ │ │ -000347b0: 2020 202e 2028 22e2 88b9 2229 290a 2020 . ("...")). │ │ │ -000347c0: 2822 2b20 2220 2020 2020 2020 202e 2028 ("+ " . ( │ │ │ -000347d0: 22e2 8ab9 2229 290a 2020 2822 2b22 2020 "...")). ("+" │ │ │ -000347e0: 2020 2020 2020 202e 2028 22ef bc8b 2229 . ("...") │ │ │ -000347f0: 290a 2020 2822 7371 7274 2220 2020 2020 ). ("sqrt" │ │ │ -00034800: 202e 2028 22e2 889a 2229 290a 2020 2822 . ("...")). (" │ │ │ -00034810: 7375 7264 2220 2020 2020 202e 2028 22e2 surd" . (". │ │ │ -00034820: 889a 2229 290a 2020 2822 7375 7264 3322 ..")). ("surd3" │ │ │ -00034830: 2020 2020 202e 2028 22e2 889b 2229 290a . ("...")). │ │ │ -00034840: 2020 2822 7375 7264 3422 2020 2020 202e ("surd4" . │ │ │ -00034850: 2028 22e2 889c 2229 290a 2020 2822 696e ("...")). ("in │ │ │ -00034860: 6372 656d 656e 7422 202e 2028 22e2 8886 crement" . ("... │ │ │ -00034870: 2229 290a 2020 2822 696e 6622 2020 2020 ")). ("inf" │ │ │ -00034880: 2020 202e 2028 22e2 889e 2229 290a 2020 . ("...")). │ │ │ -00034890: 2822 2622 2020 2020 2020 2020 202e 202c ("&" . , │ │ │ -000348a0: 2861 6764 612d 696e 7075 742d 746f 2d73 (agda-input-to-s │ │ │ -000348b0: 7472 696e 672d 6c69 7374 2022 e285 8bef tring-list ".... │ │ │ -000348c0: b9a0 efbc 8622 2929 0a20 2028 227a 3b22 .....")). ("z;" │ │ │ -000348d0: 2020 2020 2020 2020 2e20 2c28 6167 6461 . ,(agda │ │ │ -000348e0: 2d69 6e70 7574 2d74 6f2d 7374 7269 6e67 -input-to-string │ │ │ -000348f0: 2d6c 6973 7420 22e2 a89f e2a8 be22 2929 -list "......")) │ │ │ -00034900: 0a20 2028 227a 3a22 2020 2020 2020 2020 . ("z:" │ │ │ -00034910: 2e20 2822 e2a6 8222 2929 0a20 2028 2261 . ("...")). ("a │ │ │ -00034920: 7422 2020 2020 2020 2020 2e20 2c28 6167 t" . ,(ag │ │ │ -00034930: 6461 2d69 6e70 7574 2d74 6f2d 7374 7269 da-input-to-stri │ │ │ -00034940: 6e67 2d6c 6973 7420 2240 efb9 abef bca0 ng-list "@...... │ │ │ -00034950: 2229 290a 0a20 203b 3b20 4369 7263 6c65 ")).. ;; Circle │ │ │ -00034960: 6420 6f70 6572 6174 6f72 732e 0a0a 2020 d operators... │ │ │ -00034970: 2822 6f2b 2220 202e 2028 22e2 8a95 2229 ("o+" . ("...") │ │ │ -00034980: 290a 2020 2822 6f2d 2d22 202e 2028 22e2 ). ("o--" . (". │ │ │ -00034990: 8a96 2229 290a 2020 2822 6f78 2220 202e ..")). ("ox" . │ │ │ -000349a0: 2028 22e2 8a97 2229 290a 2020 2822 6f2f ("...")). ("o/ │ │ │ -000349b0: 2220 202e 2028 22e2 8a98 2229 290a 2020 " . ("...")). │ │ │ -000349c0: 2822 6f2e 2220 202e 2028 22e2 8a99 2229 ("o." . ("...") │ │ │ -000349d0: 290a 2020 2822 6f6f 2220 202e 2028 22e2 ). ("oo" . (". │ │ │ -000349e0: 8a9a 2229 290a 2020 2822 6f2a 2220 202e ..")). ("o*" . │ │ │ -000349f0: 2028 22e2 8a9b 2229 290a 2020 2822 6f3d ("...")). ("o= │ │ │ -00034a00: 2220 202e 2028 22e2 8a9c 2229 290a 2020 " . ("...")). │ │ │ -00034a10: 2822 6f2d 2220 202e 202c 2861 6764 612d ("o-" . ,(agda- │ │ │ -00034a20: 696e 7075 742d 746f 2d73 7472 696e 672d input-to-string- │ │ │ -00034a30: 6c69 7374 2022 e28a 9de2 9f9c 2229 290a list "......")). │ │ │ -00034a40: 0a20 2028 224f 2b22 2020 2e20 2822 e2a8 . ("O+" . (".. │ │ │ -00034a50: 8122 2929 0a20 2028 224f 7822 2020 2e20 .")). ("Ox" . │ │ │ -00034a60: 2822 e2a8 8222 2929 0a20 2028 224f 2e22 ("...")). ("O." │ │ │ -00034a70: 2020 2e20 2822 e2a8 8022 2929 0a20 2028 . ("...")). ( │ │ │ -00034a80: 224f 2a22 2020 2e20 2822 e28d 9f22 2929 "O*" . ("...")) │ │ │ -00034a90: 0a0a 2020 3b3b 2042 6f78 6564 206f 7065 .. ;; Boxed ope │ │ │ -00034aa0: 7261 746f 7273 2e0a 0a20 2028 2262 2b22 rators... ("b+" │ │ │ -00034ab0: 2020 2e20 2822 e28a 9e22 2929 0a20 2028 . ("...")). ( │ │ │ -00034ac0: 2262 2d22 2020 2e20 2822 e28a 9f22 2929 "b-" . ("...")) │ │ │ -00034ad0: 0a20 2028 2262 7822 2020 2e20 2822 e28a . ("bx" . (".. │ │ │ -00034ae0: a022 2929 0a20 2028 2262 2e22 2020 2e20 .")). ("b." . │ │ │ -00034af0: 2822 e28a a122 2929 0a0a 2020 2822 622f ("...")).. ("b/ │ │ │ -00034b00: 2220 202e 2028 22e2 a784 2229 290a 2020 " . ("...")). │ │ │ -00034b10: 2822 625c 5c22 202e 2028 22e2 a785 2229 ("b\\" . ("...") │ │ │ -00034b20: 290a 2020 2822 622a 2220 202e 2028 22e2 ). ("b*" . (". │ │ │ -00034b30: a786 2229 290a 2020 2822 626f 2220 202e ..")). ("bo" . │ │ │ -00034b40: 2028 22e2 a787 2229 290a 2020 2822 6273 ("...")). ("bs │ │ │ -00034b50: 7122 202e 2028 22e2 a788 2229 290a 0a20 q" . ("...")).. │ │ │ -00034b60: 203b 3b20 4150 4c20 626f 7865 6420 6f70 ;; APL boxed op │ │ │ -00034b70: 6572 6174 6f72 732e 0a0a 2020 2822 626f erators... ("bo │ │ │ -00034b80: 783d 2220 2020 2020 2020 2e20 2822 e28c x=" . (".. │ │ │ -00034b90: b822 2929 0a20 2028 2262 6f78 3f22 2020 .")). ("box?" │ │ │ -00034ba0: 2020 2020 202e 2028 22e2 8db0 2229 290a . ("...")). │ │ │ -00034bb0: 2020 2822 626f 7827 2220 2020 2020 2020 ("box'" │ │ │ -00034bc0: 2e20 2822 e28d 9e22 2929 0a20 2028 2262 . ("...")). ("b │ │ │ -00034bd0: 6f78 3a22 2020 2020 2020 202e 2028 22e2 ox:" . (". │ │ │ -00034be0: 8da0 2229 290a 2020 2822 626f 782f 2220 ..")). ("box/" │ │ │ -00034bf0: 2020 2020 2020 2e20 2822 e28d 8122 2929 . ("...")) │ │ │ -00034c00: 0a20 2028 2262 6f78 5c5c 2220 2020 2020 . ("box\\" │ │ │ -00034c10: 202e 2028 22e2 8d82 2229 290a 2020 2822 . ("...")). (" │ │ │ -00034c20: 626f 783c 2220 2020 2020 2020 2e20 2822 box<" . (" │ │ │ -00034c30: e28d 8322 2929 0a20 2028 2262 6f78 3e22 ...")). ("box>" │ │ │ -00034c40: 2020 2020 2020 202e 2028 22e2 8d84 2229 . ("...") │ │ │ -00034c50: 290a 2020 2822 626f 786f 2220 2020 2020 ). ("boxo" │ │ │ -00034c60: 2020 2e20 2822 e28c bb22 2929 0a20 2028 . ("...")). ( │ │ │ -00034c70: 2262 6f78 4f22 2020 2020 2020 202e 2028 "boxO" . ( │ │ │ -00034c80: 22e2 8cbc 2229 290a 0a20 2028 2262 6f78 "...")).. ("box │ │ │ -00034c90: 636f 6d70 2220 2020 202e 2028 22e2 8cbb comp" . ("... │ │ │ -00034ca0: 2229 290a 2020 2822 626f 7863 6972 636c ")). ("boxcircl │ │ │ -00034cb0: 6522 2020 2e20 2822 e28c bc22 2929 0a20 e" . ("...")). │ │ │ -00034cc0: 2028 2262 6f78 6571 2220 2020 2020 202e ("boxeq" . │ │ │ -00034cd0: 2028 22e2 8cb8 2229 290a 2020 2822 626f ("...")). ("bo │ │ │ -00034ce0: 786e 6571 2220 2020 2020 2e20 2822 e28d xneq" . (".. │ │ │ -00034cf0: af22 2929 0a20 2028 2262 6f78 6571 6e22 .")). ("boxeqn" │ │ │ -00034d00: 2020 2020 202e 2028 22e2 8daf 2229 290a . ("...")). │ │ │ -00034d10: 0a20 2028 2262 6f78 6c22 2020 2020 2020 . ("boxl" │ │ │ -00034d20: 202e 2028 22e2 8d87 2229 290a 2020 2822 . ("...")). (" │ │ │ -00034d30: 626f 7872 2220 2020 2020 2020 2e20 2822 boxr" . (" │ │ │ -00034d40: e28d 8822 2929 0a20 2028 2262 6f78 7522 ...")). ("boxu" │ │ │ -00034d50: 2020 2020 2020 202e 2028 22e2 8d90 2229 . ("...") │ │ │ -00034d60: 290a 2020 2822 626f 7864 2220 2020 2020 ). ("boxd" │ │ │ -00034d70: 2020 2e20 2822 e28d 9722 2929 0a0a 2020 . ("...")).. │ │ │ -00034d80: 2822 626f 7864 6922 2020 2020 2020 2e20 ("boxdi" . │ │ │ -00034d90: 2822 e28c ba22 2929 0a20 2028 2262 6f78 ("...")). ("box │ │ │ -00034da0: 6469 7622 2020 2020 202e 2028 22e2 8cb9 div" . ("... │ │ │ -00034db0: 2229 290a 2020 2822 626f 7877 6564 6765 ")). ("boxwedge │ │ │ -00034dc0: 2220 2020 2e20 2822 e28d 9322 2929 0a20 " . ("...")). │ │ │ -00034dd0: 2028 2262 6f78 7665 6522 2020 2020 202e ("boxvee" . │ │ │ -00034de0: 2028 22e2 8d8c 2229 290a 2020 2822 626f ("...")). ("bo │ │ │ -00034df0: 7864 656c 7461 2220 2020 2e20 2822 e28d xdelta" . (".. │ │ │ -00034e00: 8d22 2929 0a20 2028 2262 6f78 6e61 626c .")). ("boxnabl │ │ │ -00034e10: 6122 2020 202e 2028 22e2 8d94 2229 290a a" . ("...")). │ │ │ -00034e20: 0a20 203b 3b20 5661 7269 6f75 7320 7379 . ;; Various sy │ │ │ -00034e30: 6d62 6f6c 732e 0a0a 2020 2822 696e 7465 mbols... ("inte │ │ │ -00034e40: 6772 616c 2220 2e20 2c28 6167 6461 2d69 gral" . ,(agda-i │ │ │ -00034e50: 6e70 7574 2d74 6f2d 7374 7269 6e67 2d6c nput-to-string-l │ │ │ -00034e60: 6973 7420 22e2 88ab e288 ace2 88ad e288 ist "........... │ │ │ -00034e70: aee2 88af e288 b0e2 88b1 e288 b2e2 88b3 ................ │ │ │ -00034e80: 2229 290a 2020 2822 616e 676c 6522 2020 ")). ("angle" │ │ │ -00034e90: 2020 2e20 2c28 6167 6461 2d69 6e70 7574 . ,(agda-input │ │ │ -00034ea0: 2d74 6f2d 7374 7269 6e67 2d6c 6973 7420 -to-string-list │ │ │ -00034eb0: 22e2 889f e288 a1e2 88a2 e28a bee2 8abf "............... │ │ │ -00034ec0: 2229 290a 2020 2822 6a6f 696e 2220 2020 ")). ("join" │ │ │ -00034ed0: 2020 2e20 2c28 6167 6461 2d69 6e70 7574 . ,(agda-input │ │ │ -00034ee0: 2d74 6f2d 7374 7269 6e67 2d6c 6973 7420 -to-string-list │ │ │ -00034ef0: 22e2 8b88 e28b 89e2 8b8a e28b 8be2 8b8c "............... │ │ │ -00034f00: e2a8 9de2 9f95 e29f 96e2 9f97 2229 290a ............")). │ │ │ -00034f10: 2020 2822 6573 6822 2020 2020 2020 2e20 ("esh" . │ │ │ -00034f20: 2822 ca83 2229 290a 0a20 203b 3b20 4172 ("..")).. ;; Ar │ │ │ -00034f30: 726f 7773 2e0a 0a20 2028 226c 2220 202e rows... ("l" . │ │ │ -00034f40: 202c 2861 6764 612d 696e 7075 742d 746f ,(agda-input-to │ │ │ -00034f50: 2d73 7472 696e 672d 6c69 7374 2022 e286 -string-list ".. │ │ │ -00034f60: 90e2 8790 e287 9ae2 ad85 e287 87e2 8786 ................ │ │ │ -00034f70: e286 a4e2 87a6 e286 9ee2 86bc e286 bde2 ................ │ │ │ -00034f80: 87a0 e287 bae2 869c e287 bde2 9fb5 e29f ................ │ │ │ -00034f90: b8e2 869a e287 8de2 87b7 20e2 86b9 2020 .......... ... │ │ │ -00034fa0: 2020 20e2 86a2 e286 a9e2 86ab e287 8be2 ............. │ │ │ -00034fb0: 879c e287 a4e2 9fbb e29f bde2 a486 e286 ................ │ │ │ -00034fc0: b6e2 86ba e29f b220 2020 2020 2020 2020 ....... │ │ │ +000336a0: 2020 2822 7e6e 2220 202e 2028 22e2 8981 ("~n" . ("... │ │ │ +000336b0: 2229 290a 2020 2822 7e7e 2220 2020 2e20 ")). ("~~" . │ │ │ +000336c0: 2822 e289 8822 2929 2020 2822 7e7e 6e22 ("...")) ("~~n" │ │ │ +000336d0: 202e 2028 22e2 8989 2229 290a 2020 2822 . ("...")). (" │ │ │ +000336e0: 7e7e 7e22 2020 2e20 2822 e289 8b22 2929 ~~~" . ("...")) │ │ │ +000336f0: 0a20 2028 223a 7e22 2020 202e 2028 22e2 . (":~" . (". │ │ │ +00033700: 88bb 2229 290a 2020 2822 7e2d 2220 2020 ..")). ("~-" │ │ │ +00033710: 2e20 2822 e289 8322 2929 2020 2822 7e2d . ("...")) ("~- │ │ │ +00033720: 6e22 202e 2028 22e2 8984 2229 290a 2020 n" . ("...")). │ │ │ +00033730: 2822 2d7e 2220 2020 2e20 2822 e289 8222 ("-~" . ("..." │ │ │ +00033740: 2929 0a20 2028 227e 3d22 2020 202e 2028 )). ("~=" . ( │ │ │ +00033750: 22e2 8985 2229 2920 2028 227e 3d6e 2220 "...")) ("~=n" │ │ │ +00033760: 2e20 2822 e289 8722 2929 0a20 2028 227e . ("...")). ("~ │ │ │ +00033770: 7e2d 2220 202e 2028 22e2 898a 2229 290a ~-" . ("...")). │ │ │ +00033780: 2020 2822 3d3d 2220 2020 2e20 2822 e289 ("==" . (".. │ │ │ +00033790: a122 2929 2020 2822 3d3d 6e22 202e 2028 .")) ("==n" . ( │ │ │ +000337a0: 22e2 89a2 2229 290a 2020 2822 3d3d 3d22 "...")). ("===" │ │ │ +000337b0: 2020 2e20 2822 e289 a322 2929 0a20 2028 . ("...")). ( │ │ │ +000337c0: 223d 2220 2020 202e 2028 22ef bc9d 2229 "=" . ("...") │ │ │ +000337d0: 290a 2020 2822 2e3d 2220 2020 2e20 2822 ). (".=" . (" │ │ │ +000337e0: e289 9022 2929 2020 2822 2e3d 2e22 202e ...")) (".=." . │ │ │ +000337f0: 2028 22e2 8991 2229 290a 2020 2822 3a3d ("...")). (":= │ │ │ +00033800: 2220 2020 2e20 2822 e289 9422 2929 2020 " . ("...")) │ │ │ +00033810: 2822 3d3a 2220 202e 2028 22e2 8995 2229 ("=:" . ("...") │ │ │ +00033820: 290a 2020 2822 3d6f 2220 2020 2e20 2822 ). ("=o" . (" │ │ │ +00033830: e289 9722 2929 0a20 2028 2228 3d22 2020 ...")). ("(=" │ │ │ +00033840: 202e 2028 22e2 8998 2229 290a 2020 2822 . ("...")). (" │ │ │ +00033850: 616e 643d 2220 2e20 2822 e289 9922 2929 and=" . ("...")) │ │ │ +00033860: 2020 2822 6f72 3d22 202e 2028 22e2 899a ("or=" . ("... │ │ │ +00033870: 2229 290a 2020 2822 2a3d 2220 2020 2e20 ")). ("*=" . │ │ │ +00033880: 2822 e289 9b22 2929 0a20 2028 2274 3d22 ("...")). ("t=" │ │ │ +00033890: 2020 202e 2028 22e2 899c 2229 290a 2020 . ("...")). │ │ │ +000338a0: 2822 6465 663d 2220 2e20 2822 e289 9d22 ("def=" . ("..." │ │ │ +000338b0: 2929 0a20 2028 226d 3d22 2020 202e 2028 )). ("m=" . ( │ │ │ +000338c0: 22e2 899e 2229 290a 2020 2822 3f3d 2220 "...")). ("?=" │ │ │ +000338d0: 2020 2e20 2822 e289 9f22 2929 0a0a 2020 . ("...")).. │ │ │ +000338e0: 3b3b 2049 6e65 7175 616c 6974 7920 616e ;; Inequality an │ │ │ +000338f0: 6420 7369 6d69 6c61 7220 7379 6d62 6f6c d similar symbol │ │ │ +00033900: 732e 0a0a 2020 2822 6c65 7122 2020 2e20 s... ("leq" . │ │ │ +00033910: 2c28 6167 6461 2d69 6e70 7574 2d74 6f2d ,(agda-input-to- │ │ │ +00033920: 7374 7269 6e67 2d6c 6973 7420 223c e289 string-list "<.. │ │ │ +00033930: aae2 8b98 e289 a4e2 89a6 e289 b220 e289 ............. .. │ │ │ +00033940: b6e2 89ba e289 bce2 89be e28a 82e2 8a86 ................ │ │ │ +00033950: e2ab 87e2 ab89 20e2 8b90 e28a 8fe2 8a91 ...... ......... │ │ │ +00033960: 20e2 8ab0 e28a b2e2 8ab4 e28b 96e2 8b9a ............... │ │ │ +00033970: e28b 9ce2 8b9e efbc 9c22 2929 0a20 2028 .........")). ( │ │ │ +00033980: 226c 6571 6e22 202e 202c 2861 6764 612d "leqn" . ,(agda- │ │ │ +00033990: 696e 7075 742d 746f 2d73 7472 696e 672d input-to-string- │ │ │ +000339a0: 6c69 7374 2022 e289 ae20 20e2 89b0 e289 list "... ..... │ │ │ +000339b0: a8e2 89b4 e28b a6e2 89b8 e28a 8020 e28b ............. .. │ │ │ +000339c0: a8e2 8a84 e28a 88e2 8a8a 2020 e28b a2e2 .......... .... │ │ │ +000339d0: 8ba4 20e2 8baa e28b ac20 2020 e28b a022 .. ...... ..." │ │ │ +000339e0: 2929 0a20 2028 2267 6571 2220 202e 202c )). ("geq" . , │ │ │ +000339f0: 2861 6764 612d 696e 7075 742d 746f 2d73 (agda-input-to-s │ │ │ +00033a00: 7472 696e 672d 6c69 7374 2022 3ee2 89ab tring-list ">... │ │ │ +00033a10: e28b 99e2 89a5 e289 a7e2 89b3 20e2 89b7 ............ ... │ │ │ +00033a20: e289 bbe2 89bd e289 bfe2 8a83 e28a 87e2 ................ │ │ │ +00033a30: ab88 e2ab 8a20 e28b 91e2 8a90 e28a 9220 ..... ......... │ │ │ +00033a40: e28a b1e2 8ab3 e28a b5e2 8b97 e28b 9be2 ................ │ │ │ +00033a50: 8b9d e28b 9fef bc9e 2229 290a 2020 2822 ........")). (" │ │ │ +00033a60: 6765 716e 2220 2e20 2c28 6167 6461 2d69 geqn" . ,(agda-i │ │ │ +00033a70: 6e70 7574 2d74 6f2d 7374 7269 6e67 2d6c nput-to-string-l │ │ │ +00033a80: 6973 7420 22e2 89af 2020 e289 b1e2 89a9 ist "... ...... │ │ │ +00033a90: e289 b5e2 8ba7 e289 b9e2 8a81 20e2 8ba9 ............ ... │ │ │ +00033aa0: e28a 85e2 8a89 e28a 8b20 20e2 8ba3 e28b ......... ..... │ │ │ +00033ab0: a520 e28b abe2 8bad 2020 20e2 8ba1 2229 . ...... ...") │ │ │ +00033ac0: 290a 0a20 2028 223c 3d22 2020 202e 2028 ).. ("<=" . ( │ │ │ +00033ad0: 22e2 89a4 2229 2920 2028 223e 3d22 2020 "...")) (">=" │ │ │ +00033ae0: 202e 2028 22e2 89a5 2229 290a 2020 2822 . ("...")). (" │ │ │ +00033af0: 3c3d 6e22 2020 2e20 2822 e289 b022 2929 <=n" . ("...")) │ │ │ +00033b00: 2020 2822 3e3d 6e22 2020 2e20 2822 e289 (">=n" . (".. │ │ │ +00033b10: b122 2929 0a20 2028 226c 656e 2220 202e .")). ("len" . │ │ │ +00033b20: 2028 22e2 89b0 2229 2920 2028 2267 656e ("...")) ("gen │ │ │ +00033b30: 2220 202e 2028 22e2 89b1 2229 290a 2020 " . ("...")). │ │ │ +00033b40: 2822 3c6e 2220 2020 2e20 2822 e289 ae22 ("n" . (" │ │ │ +00033b60: e289 af22 2929 0a20 2028 223c 7e22 2020 ...")). ("<~" │ │ │ +00033b70: 202e 2028 22e2 89b2 2229 2920 2028 223e . ("...")) ("> │ │ │ +00033b80: 7e22 2020 202e 2028 22e2 89b3 2229 290a ~" . ("...")). │ │ │ +00033b90: 2020 2822 3c7e 6e22 2020 2e20 2822 e28b ("<~n" . (".. │ │ │ +00033ba0: a622 2929 2020 2822 3e7e 6e22 2020 2e20 .")) (">~n" . │ │ │ +00033bb0: 2822 e28b a722 2929 0a20 2028 223c 7e6e ("...")). ("<~n │ │ │ +00033bc0: 6e22 202e 2028 22e2 89b4 2229 2920 2028 n" . ("...")) ( │ │ │ +00033bd0: 223e 7e6e 6e22 202e 2028 22e2 89b5 2229 ">~nn" . ("...") │ │ │ +00033be0: 290a 0a20 2028 2273 7562 2220 2020 2e20 ).. ("sub" . │ │ │ +00033bf0: 2822 e28a 8222 2929 2020 2822 7375 7022 ("...")) ("sup" │ │ │ +00033c00: 2020 202e 2028 22e2 8a83 2229 290a 2020 . ("...")). │ │ │ +00033c10: 2822 7375 626e 2220 202e 2028 22e2 8a84 ("subn" . ("... │ │ │ +00033c20: 2229 2920 2028 2273 7570 6e22 2020 2e20 ")) ("supn" . │ │ │ +00033c30: 2822 e28a 8522 2929 0a20 2028 2273 7562 ("...")). ("sub │ │ │ +00033c40: 3d22 2020 2e20 2822 e28a 8622 2929 2020 =" . ("...")) │ │ │ +00033c50: 2822 7375 703d 2220 202e 2028 22e2 8a87 ("sup=" . ("... │ │ │ +00033c60: 2229 290a 2020 2822 7375 623d 6e22 202e ")). ("sub=n" . │ │ │ +00033c70: 2028 22e2 8a88 2229 2920 2028 2273 7570 ("...")) ("sup │ │ │ +00033c80: 3d6e 2220 2e20 2822 e28a 8922 2929 0a20 =n" . ("...")). │ │ │ +00033c90: 2028 2273 7562 7e22 2020 2e20 2822 e2ab ("sub~" . (".. │ │ │ +00033ca0: 8722 2929 2020 2822 7375 707e 2220 202e .")) ("sup~" . │ │ │ +00033cb0: 2028 22e2 ab88 2229 290a 2020 2822 7375 ("...")). ("su │ │ │ +00033cc0: 627e 7e22 2020 2e20 2822 e2ab 8922 2929 b~~" . ("...")) │ │ │ +00033cd0: 2020 2822 7375 707e 7e22 2020 2e20 2822 ("sup~~" . (" │ │ │ +00033ce0: e2ab 8a22 2929 0a0a 2020 2822 7371 7562 ...")).. ("squb │ │ │ +00033cf0: 2220 2020 2e20 2822 e28a 8f22 2929 2020 " . ("...")) │ │ │ +00033d00: 2822 7371 7570 2220 2020 2e20 2822 e28a ("squp" . (".. │ │ │ +00033d10: 9022 2929 0a20 2028 2273 7175 623d 2220 .")). ("squb=" │ │ │ +00033d20: 202e 2028 22e2 8a91 2229 2920 2028 2273 . ("...")) ("s │ │ │ +00033d30: 7175 703d 2220 202e 2028 22e2 8a92 2229 qup=" . ("...") │ │ │ +00033d40: 290a 2020 2822 7371 7562 3d6e 2220 2e20 ). ("squb=n" . │ │ │ +00033d50: 2822 e28b a222 2929 2020 2822 7371 7570 ("...")) ("squp │ │ │ +00033d60: 3d6e 2220 2e20 2822 e28b a322 2929 0a0a =n" . ("...")).. │ │ │ +00033d70: 2020 3b3b 2053 6574 206d 656d 6265 7273 ;; Set members │ │ │ +00033d80: 6869 7020 6574 632e 0a0a 2020 2822 6d65 hip etc... ("me │ │ │ +00033d90: 6d62 6572 2220 2e20 2c28 6167 6461 2d69 mber" . ,(agda-i │ │ │ +00033da0: 6e70 7574 2d74 6f2d 7374 7269 6e67 2d6c nput-to-string-l │ │ │ +00033db0: 6973 7420 22e2 8888 e288 89e2 888a e288 ist "........... │ │ │ +00033dc0: 8be2 888c e288 8de2 8bb2 e28b b3e2 8bb4 ................ │ │ │ +00033dd0: e28b b5e2 8bb6 e28b b7e2 8bb8 e28b b9e2 ................ │ │ │ +00033de0: 8bba e28b bbe2 8bbc e28b bde2 8bbe e28b ................ │ │ │ +00033df0: bf22 2929 0a0a 2020 2822 696e 6e22 202e .")).. ("inn" . │ │ │ +00033e00: 2028 22e2 8889 2229 290a 2020 2822 6e69 ("...")). ("ni │ │ │ +00033e10: 6e22 202e 2028 22e2 888c 2229 290a 0a20 n" . ("...")).. │ │ │ +00033e20: 203b 3b20 496e 7465 7273 6563 7469 6f6e ;; Intersection │ │ │ +00033e30: 732c 2075 6e69 6f6e 7320 6574 632e 0a0a s, unions etc... │ │ │ +00033e40: 2020 2822 696e 7465 7273 6563 7469 6f6e ("intersection │ │ │ +00033e50: 2220 2e20 2c28 6167 6461 2d69 6e70 7574 " . ,(agda-input │ │ │ +00033e60: 2d74 6f2d 7374 7269 6e67 2d6c 6973 7420 -to-string-list │ │ │ +00033e70: 22e2 88a9 e28b 82e2 88a7 e28b 80e2 8b8f "............... │ │ │ +00033e80: e2a8 87e2 8a93 e2a8 85e2 8b92 e288 8f20 ............... │ │ │ +00033e90: e28a bc20 2020 2020 20e2 a889 2229 290a ... ...")). │ │ │ +00033ea0: 2020 2822 756e 696f 6e22 2020 2020 2020 ("union" │ │ │ +00033eb0: 2020 2e20 2c28 6167 6461 2d69 6e70 7574 . ,(agda-input │ │ │ +00033ec0: 2d74 6f2d 7374 7269 6e67 2d6c 6973 7420 -to-string-list │ │ │ +00033ed0: 22e2 88aa e28b 83e2 88a8 e28b 81e2 8b8e "............... │ │ │ +00033ee0: e2a8 88e2 8a94 e2a8 86e2 8b93 e288 90e2 ................ │ │ │ +00033ef0: a8bf e28a bde2 8abb e28a 8de2 a883 e28a ................ │ │ │ +00033f00: 8ee2 a884 e28a 8ce2 8891 e285 8022 2929 .............")) │ │ │ +00033f10: 0a0a 2020 2822 616e 6422 202e 2028 22e2 .. ("and" . (". │ │ │ +00033f20: 88a7 2229 2920 2028 226f 7222 2020 2e20 ..")) ("or" . │ │ │ +00033f30: 2822 e288 a822 2929 0a20 2028 2241 6e64 ("...")). ("And │ │ │ +00033f40: 2220 2e20 2822 e28b 8022 2929 2020 2822 " . ("...")) (" │ │ │ +00033f50: 4f72 2220 202e 2028 22e2 8b81 2229 290a Or" . ("...")). │ │ │ +00033f60: 2020 2822 6922 2020 202e 2028 22e2 88a9 ("i" . ("... │ │ │ +00033f70: 2229 2920 2028 2275 6e22 2020 2e20 2822 ")) ("un" . (" │ │ │ +00033f80: e288 aa22 2929 2020 2822 752b 2220 2e20 ...")) ("u+" . │ │ │ +00033f90: 2822 e28a 8e22 2929 2020 2822 752e 2220 ("...")) ("u." │ │ │ +00033fa0: 2e20 2822 e28a 8d22 2929 0a20 2028 2249 . ("...")). ("I │ │ │ +00033fb0: 2220 2020 2e20 2822 e28b 8222 2929 2020 " . ("...")) │ │ │ +00033fc0: 2822 556e 2220 202e 2028 22e2 8b83 2229 ("Un" . ("...") │ │ │ +00033fd0: 2920 2028 2255 2b22 202e 2028 22e2 a884 ) ("U+" . ("... │ │ │ +00033fe0: 2229 2920 2028 2255 2e22 202e 2028 22e2 ")) ("U." . (". │ │ │ +00033ff0: a883 2229 290a 2020 2822 676c 6222 202e ..")). ("glb" . │ │ │ +00034000: 2028 22e2 8a93 2229 2920 2028 226c 7562 ("...")) ("lub │ │ │ +00034010: 2220 2e20 2822 e28a 9422 2929 0a20 2028 " . ("...")). ( │ │ │ +00034020: 2247 6c62 2220 2e20 2822 e2a8 8522 2929 "Glb" . ("...")) │ │ │ +00034030: 2020 2822 4c75 6222 202e 2028 22e2 a886 ("Lub" . ("... │ │ │ +00034040: 2229 290a 0a20 203b 3b20 456e 7461 696c ")).. ;; Entail │ │ │ +00034050: 6d65 6e74 2c20 7461 636b 732c 2065 7463 ment, tacks, etc │ │ │ +00034060: 2e0a 0a20 2028 2265 6e74 6169 6c73 2220 ... ("entails" │ │ │ +00034070: 2e20 2c28 6167 6461 2d69 6e70 7574 2d74 . ,(agda-input-t │ │ │ +00034080: 6f2d 7374 7269 6e67 2d6c 6973 7420 22e2 o-string-list ". │ │ │ +00034090: 8aa2 e28a a3e2 8aa4 e28a a5e2 8aa6 e28a ................ │ │ │ +000340a0: a7e2 8aa8 e28a a9e2 8aaa e28a abe2 8aac ................ │ │ │ +000340b0: e28a ade2 8aae e28a af22 2929 0a0a 2020 .........")).. │ │ │ +000340c0: 2822 7c2d 2220 2020 2e20 2822 e28a a222 ("|-" . ("..." │ │ │ +000340d0: 2929 2020 2822 7c2d 6e22 2020 2e20 2822 )) ("|-n" . (" │ │ │ +000340e0: e28a ac22 2929 0a20 2028 222d 7c22 2020 ...")). ("-|" │ │ │ +000340f0: 202e 2028 22e2 8aa3 2229 290a 2020 2822 . ("...")). (" │ │ │ +00034100: 7c3d 2220 2020 2e20 2822 e28a a822 2929 |=" . ("...")) │ │ │ +00034110: 2020 2822 7c3d 6e22 2020 2e20 2822 e28a ("|=n" . (".. │ │ │ +00034120: ad22 2929 0a20 2028 227c 7c2d 2220 202e .")). ("||-" . │ │ │ +00034130: 2028 22e2 8aa9 2229 2920 2028 227c 7c2d ("...")) ("||- │ │ │ +00034140: 6e22 202e 2028 22e2 8aae 2229 290a 2020 n" . ("...")). │ │ │ +00034150: 2822 7c7c 3d22 2020 2e20 2822 e28a ab22 ("||=" . ("..." │ │ │ +00034160: 2929 2020 2822 7c7c 3d6e 2220 2e20 2822 )) ("||=n" . (" │ │ │ +00034170: e28a af22 2929 0a20 2028 227c 7c7c 2d22 ...")). ("|||-" │ │ │ +00034180: 202e 2028 22e2 8aaa 2229 290a 0a0a 2020 . ("..."))... │ │ │ +00034190: 2822 7461 636b 2220 2e20 2c28 6167 6461 ("tack" . ,(agda │ │ │ +000341a0: 2d69 6e70 7574 2d74 6f2d 7374 7269 6e67 -input-to-string │ │ │ +000341b0: 2d6c 6973 7420 22e2 9f98 e29f 99e2 9f9b -list "......... │ │ │ +000341c0: e29f 9de2 9f9e e2ab abe2 abaa 2229 290a ............")). │ │ │ +000341d0: 2020 2822 426f 7422 2020 2e20 2822 e29f ("Bot" . (".. │ │ │ +000341e0: 9822 2929 203b 3b20 7369 6d69 6c61 7220 .")) ;; similar │ │ │ +000341f0: 746f 2047 6c62 2f4c 7562 2076 732e 2067 to Glb/Lub vs. g │ │ │ +00034200: 6c62 2f6c 7562 0a20 2028 2254 6f70 2220 lb/lub. ("Top" │ │ │ +00034210: 202e 2028 22e2 9f99 2229 290a 2020 2822 . ("...")). (" │ │ │ +00034220: 2d7c 7c2d 2220 2e20 2822 e29f 9b22 2929 -||-" . ("...")) │ │ │ +00034230: 0a20 2028 227c 2d2d 2220 202e 2028 22e2 . ("|--" . (". │ │ │ +00034240: 9f9d 2229 290a 2020 2822 2d2d 7c22 2020 ..")). ("--|" │ │ │ +00034250: 2e20 2822 e29f 9e22 2929 0a20 2028 2262 . ("...")). ("b │ │ │ +00034260: 626f 7422 202e 2028 22e2 abab 2229 2920 bot" . ("...")) │ │ │ +00034270: 3b3b 2073 696d 696c 6172 2074 6f20 624e ;; similar to bN │ │ │ +00034280: 2066 6f72 2062 6c61 636b 626f 6172 6420 for blackboard │ │ │ +00034290: 4e0a 2020 2822 6274 6f70 2220 2e20 2822 N. ("btop" . (" │ │ │ +000342a0: e2ab aa22 2929 0a0a 2020 3b3b 2044 6976 ...")).. ;; Div │ │ │ +000342b0: 6973 6962 696c 6974 792c 2070 6172 616c isibility, paral │ │ │ +000342c0: 6c65 6c69 7479 2e0a 0a20 2028 227c 2220 lelity... ("|" │ │ │ +000342d0: 202e 2028 22e2 88a3 2229 2920 2028 227c . ("...")) ("| │ │ │ +000342e0: 6e22 2020 2e20 2822 e288 a422 2929 0a20 n" . ("...")). │ │ │ +000342f0: 2028 227c 7c22 202e 2028 22e2 88a5 2229 ("||" . ("...") │ │ │ +00034300: 2920 2028 227c 7c6e 2220 2e20 2822 e288 ) ("||n" . (".. │ │ │ +00034310: a622 2929 0a0a 2020 3b3b 2053 6f6d 6520 .")).. ;; Some │ │ │ +00034320: 7379 6d62 6f6c 7320 6672 6f6d 206c 6f67 symbols from log │ │ │ +00034330: 6963 2061 6e64 2073 6574 2074 6865 6f72 ic and set theor │ │ │ +00034340: 792e 0a0a 2020 2822 616c 6c22 202e 2028 y... ("all" . ( │ │ │ +00034350: 22e2 8880 2229 290a 2020 2822 6578 2220 "...")). ("ex" │ │ │ +00034360: 202e 2028 22e2 8883 2229 290a 2020 2822 . ("...")). (" │ │ │ +00034370: 6578 6e22 202e 2028 22e2 8884 2229 290a exn" . ("...")). │ │ │ +00034380: 2020 2822 3022 2020 202e 2028 22e2 8885 ("0" . ("... │ │ │ +00034390: 2229 290a 2020 2822 4322 2020 202e 2028 ")). ("C" . ( │ │ │ +000343a0: 22e2 8881 2229 290a 2020 2822 7569 6e22 "...")). ("uin" │ │ │ +000343b0: 2020 2020 2e20 2822 e29f 9222 2929 0a20 . ("...")). │ │ │ +000343c0: 2028 2264 696e 2220 2020 202e 2028 22e2 ("din" . (". │ │ │ +000343d0: ab99 2229 290a 0a20 203b 3b20 436f 726e ..")).. ;; Corn │ │ │ +000343e0: 6572 732c 2063 6569 6c69 6e67 7320 616e ers, ceilings an │ │ │ +000343f0: 6420 666c 6f6f 7273 2e0a 0a20 2028 2263 d floors... ("c │ │ │ +00034400: 2220 202e 202c 2861 6764 612d 696e 7075 " . ,(agda-inpu │ │ │ +00034410: 742d 746f 2d73 7472 696e 672d 6c69 7374 t-to-string-list │ │ │ +00034420: 2022 e28c 9ce2 8c9d e28c 9ee2 8c9f e28c ".............. │ │ │ +00034430: 88e2 8c89 e28c 8ae2 8c8b 2229 290a 2020 ..........")). │ │ │ +00034440: 2822 6375 2220 2e20 2c28 6167 6461 2d69 ("cu" . ,(agda-i │ │ │ +00034450: 6e70 7574 2d74 6f2d 7374 7269 6e67 2d6c nput-to-string-l │ │ │ +00034460: 6973 7420 22e2 8c9c e28c 9d20 20e2 8c88 ist "...... ... │ │ │ +00034470: e28c 8920 2022 2929 0a20 2028 2263 6c22 ... ")). ("cl" │ │ │ +00034480: 202e 202c 2861 6764 612d 696e 7075 742d . ,(agda-input- │ │ │ +00034490: 746f 2d73 7472 696e 672d 6c69 7374 2022 to-string-list " │ │ │ +000344a0: 2020 e28c 9ee2 8c9f 2020 e28c 8ae2 8c8b ...... ...... │ │ │ +000344b0: 2229 290a 0a20 2028 2263 756c 2220 2e20 ")).. ("cul" . │ │ │ +000344c0: 2822 e28c 9c22 2929 2020 2822 6375 4c22 ("...")) ("cuL" │ │ │ +000344d0: 202e 2028 22e2 8c88 2229 290a 2020 2822 . ("...")). (" │ │ │ +000344e0: 6375 7222 202e 2028 22e2 8c9d 2229 2920 cur" . ("...")) │ │ │ +000344f0: 2028 2263 7552 2220 2e20 2822 e28c 8922 ("cuR" . ("..." │ │ │ +00034500: 2929 0a20 2028 2263 6c6c 2220 2e20 2822 )). ("cll" . (" │ │ │ +00034510: e28c 9e22 2929 2020 2822 636c 4c22 202e ...")) ("clL" . │ │ │ +00034520: 2028 22e2 8c8a 2229 290a 2020 2822 636c ("...")). ("cl │ │ │ +00034530: 7222 202e 2028 22e2 8c9f 2229 2920 2028 r" . ("...")) ( │ │ │ +00034540: 2263 6c52 2220 2e20 2822 e28c 8b22 2929 "clR" . ("...")) │ │ │ +00034550: 0a0a 2020 3b3b 2056 6172 696f 7573 206f .. ;; Various o │ │ │ +00034560: 7065 7261 746f 7273 2f73 796d 626f 6c73 perators/symbols │ │ │ +00034570: 2e0a 0a20 2028 2271 6564 2220 2020 2020 ... ("qed" │ │ │ +00034580: 2020 2e20 2822 e288 8e22 2929 0a20 2028 . ("...")). ( │ │ │ +00034590: 2278 2220 2020 2020 2020 2020 2e20 2822 "x" . (" │ │ │ +000345a0: c397 2229 290a 2020 2822 6f22 2020 2020 ..")). ("o" │ │ │ +000345b0: 2020 2020 202e 2028 22e2 8898 2229 290a . ("...")). │ │ │ +000345c0: 2020 2822 636f 6d70 2220 2020 2020 202e ("comp" . │ │ │ +000345d0: 2028 22e2 8898 2229 290a 2020 2822 2e22 ("...")). ("." │ │ │ +000345e0: 2020 2020 2020 2020 202e 202c 2861 6764 . ,(agd │ │ │ +000345f0: 612d 696e 7075 742d 746f 2d73 7472 696e a-input-to-strin │ │ │ +00034600: 672d 6c69 7374 2022 e288 99ef bc8e 2229 g-list "......") │ │ │ +00034610: 290a 2020 2822 2a22 2020 2020 2020 2020 ). ("*" │ │ │ +00034620: 202e 2028 22e2 8b86 2229 290a 2020 2822 . ("...")). (" │ │ │ +00034630: 2e2b 2220 2020 2020 2020 202e 2028 22e2 .+" . (". │ │ │ +00034640: 8894 2229 290a 2020 2822 2e2d 2220 2020 ..")). (".-" │ │ │ +00034650: 2020 2020 202e 2028 22e2 88b8 2229 290a . ("...")). │ │ │ +00034660: 2020 2822 3a22 2020 2020 2020 2020 202e (":" . │ │ │ +00034670: 202c 2861 6764 612d 696e 7075 742d 746f ,(agda-input-to │ │ │ +00034680: 2d73 7472 696e 672d 6c69 7374 2022 e288 -string-list ".. │ │ │ +00034690: b6e2 a682 cb90 ea9e 89cb b8e1 8da5 e18d ................ │ │ │ +000346a0: a6ef bc9a efb9 95ef b893 2229 290a 2020 ..........")). │ │ │ +000346b0: 2822 2c22 2020 2020 2020 2020 202e 202c ("," . , │ │ │ +000346c0: 2861 6764 612d 696e 7075 742d 746f 2d73 (agda-input-to-s │ │ │ +000346d0: 7472 696e 672d 6c69 7374 2022 cabb d88c tring-list ".... │ │ │ +000346e0: e2b8 b2e2 b8b4 e2b9 81e2 b989 e380 81ef ................ │ │ │ +000346f0: b890 efb8 91ef b990 efb9 91ef bc8c efbd ................ │ │ │ +00034700: a422 2929 0a20 2028 223b 2220 2020 2020 .")). (";" │ │ │ +00034710: 2020 2020 2e20 2c28 6167 6461 2d69 6e70 . ,(agda-inp │ │ │ +00034720: 7574 2d74 6f2d 7374 7269 6e67 2d6c 6973 ut-to-string-lis │ │ │ +00034730: 7420 22e2 a8be e2a8 9fe2 818f e18d a4ea t "............. │ │ │ +00034740: 9bb6 efbc 9bef b894 efb9 94e2 8dae e2b8 ................ │ │ │ +00034750: b5cd be22 2929 0a20 2028 222b 2b22 2020 ...")). ("++" │ │ │ +00034760: 2020 2020 2020 2e20 2822 e2a7 ba22 2929 . ("...")) │ │ │ +00034770: 0a20 2028 223a 3a22 2020 2020 2020 2020 . ("::" │ │ │ +00034780: 2e20 2822 e288 b722 2929 0a20 2028 223a . ("...")). (": │ │ │ +00034790: 3a2d 2220 2020 2020 2020 2e20 2822 e288 :-" . (".. │ │ │ +000347a0: ba22 2929 0a20 2028 222d 3a22 2020 2020 .")). ("-:" │ │ │ +000347b0: 2020 2020 2e20 2822 e288 b922 2929 0a20 . ("...")). │ │ │ +000347c0: 2028 222b 2022 2020 2020 2020 2020 2e20 ("+ " . │ │ │ +000347d0: 2822 e28a b922 2929 0a20 2028 222b 2220 ("...")). ("+" │ │ │ +000347e0: 2020 2020 2020 2020 2e20 2822 efbc 8b22 . ("..." │ │ │ +000347f0: 2929 0a20 2028 2273 7172 7422 2020 2020 )). ("sqrt" │ │ │ +00034800: 2020 2e20 2822 e288 9a22 2929 0a20 2028 . ("...")). ( │ │ │ +00034810: 2273 7572 6422 2020 2020 2020 2e20 2822 "surd" . (" │ │ │ +00034820: e288 9a22 2929 0a20 2028 2273 7572 6433 ...")). ("surd3 │ │ │ +00034830: 2220 2020 2020 2e20 2822 e288 9b22 2929 " . ("...")) │ │ │ +00034840: 0a20 2028 2273 7572 6434 2220 2020 2020 . ("surd4" │ │ │ +00034850: 2e20 2822 e288 9c22 2929 0a20 2028 2269 . ("...")). ("i │ │ │ +00034860: 6e63 7265 6d65 6e74 2220 2e20 2822 e288 ncrement" . (".. │ │ │ +00034870: 8622 2929 0a20 2028 2269 6e66 2220 2020 .")). ("inf" │ │ │ +00034880: 2020 2020 2e20 2822 e288 9e22 2929 0a20 . ("...")). │ │ │ +00034890: 2028 2226 2220 2020 2020 2020 2020 2e20 ("&" . │ │ │ +000348a0: 2c28 6167 6461 2d69 6e70 7574 2d74 6f2d ,(agda-input-to- │ │ │ +000348b0: 7374 7269 6e67 2d6c 6973 7420 22e2 858b string-list "... │ │ │ +000348c0: efb9 a0ef bc86 2229 290a 2020 2822 7a3b ......")). ("z; │ │ │ +000348d0: 2220 2020 2020 2020 202e 202c 2861 6764 " . ,(agd │ │ │ +000348e0: 612d 696e 7075 742d 746f 2d73 7472 696e a-input-to-strin │ │ │ +000348f0: 672d 6c69 7374 2022 e2a8 9fe2 a8be 2229 g-list "......") │ │ │ +00034900: 290a 2020 2822 7a3a 2220 2020 2020 2020 ). ("z:" │ │ │ +00034910: 202e 2028 22e2 a682 2229 290a 2020 2822 . ("...")). (" │ │ │ +00034920: 6174 2220 2020 2020 2020 202e 202c 2861 at" . ,(a │ │ │ +00034930: 6764 612d 696e 7075 742d 746f 2d73 7472 gda-input-to-str │ │ │ +00034940: 696e 672d 6c69 7374 2022 40ef b9ab efbc ing-list "@..... │ │ │ +00034950: a022 2929 0a0a 2020 3b3b 2043 6972 636c .")).. ;; Circl │ │ │ +00034960: 6564 206f 7065 7261 746f 7273 2e0a 0a20 ed operators... │ │ │ +00034970: 2028 226f 2b22 2020 2e20 2822 e28a 9522 ("o+" . ("..." │ │ │ +00034980: 2929 0a20 2028 226f 2d2d 2220 2e20 2822 )). ("o--" . (" │ │ │ +00034990: e28a 9622 2929 0a20 2028 226f 7822 2020 ...")). ("ox" │ │ │ +000349a0: 2e20 2822 e28a 9722 2929 0a20 2028 226f . ("...")). ("o │ │ │ +000349b0: 2f22 2020 2e20 2822 e28a 9822 2929 0a20 /" . ("...")). │ │ │ +000349c0: 2028 226f 2e22 2020 2e20 2822 e28a 9922 ("o." . ("..." │ │ │ +000349d0: 2929 0a20 2028 226f 6f22 2020 2e20 2822 )). ("oo" . (" │ │ │ +000349e0: e28a 9a22 2929 0a20 2028 226f 2a22 2020 ...")). ("o*" │ │ │ +000349f0: 2e20 2822 e28a 9b22 2929 0a20 2028 226f . ("...")). ("o │ │ │ +00034a00: 3d22 2020 2e20 2822 e28a 9c22 2929 0a20 =" . ("...")). │ │ │ +00034a10: 2028 226f 2d22 2020 2e20 2c28 6167 6461 ("o-" . ,(agda │ │ │ +00034a20: 2d69 6e70 7574 2d74 6f2d 7374 7269 6e67 -input-to-string │ │ │ +00034a30: 2d6c 6973 7420 22e2 8a9d e29f 9c22 2929 -list "......")) │ │ │ +00034a40: 0a0a 2020 2822 4f2b 2220 202e 2028 22e2 .. ("O+" . (". │ │ │ +00034a50: a881 2229 290a 2020 2822 4f78 2220 202e ..")). ("Ox" . │ │ │ +00034a60: 2028 22e2 a882 2229 290a 2020 2822 4f2e ("...")). ("O. │ │ │ +00034a70: 2220 202e 2028 22e2 a880 2229 290a 2020 " . ("...")). │ │ │ +00034a80: 2822 4f2a 2220 202e 2028 22e2 8d9f 2229 ("O*" . ("...") │ │ │ +00034a90: 290a 0a20 203b 3b20 426f 7865 6420 6f70 ).. ;; Boxed op │ │ │ +00034aa0: 6572 6174 6f72 732e 0a0a 2020 2822 622b erators... ("b+ │ │ │ +00034ab0: 2220 202e 2028 22e2 8a9e 2229 290a 2020 " . ("...")). │ │ │ +00034ac0: 2822 622d 2220 202e 2028 22e2 8a9f 2229 ("b-" . ("...") │ │ │ +00034ad0: 290a 2020 2822 6278 2220 202e 2028 22e2 ). ("bx" . (". │ │ │ +00034ae0: 8aa0 2229 290a 2020 2822 622e 2220 202e ..")). ("b." . │ │ │ +00034af0: 2028 22e2 8aa1 2229 290a 0a20 2028 2262 ("...")).. ("b │ │ │ +00034b00: 2f22 2020 2e20 2822 e2a7 8422 2929 0a20 /" . ("...")). │ │ │ +00034b10: 2028 2262 5c5c 2220 2e20 2822 e2a7 8522 ("b\\" . ("..." │ │ │ +00034b20: 2929 0a20 2028 2262 2a22 2020 2e20 2822 )). ("b*" . (" │ │ │ +00034b30: e2a7 8622 2929 0a20 2028 2262 6f22 2020 ...")). ("bo" │ │ │ +00034b40: 2e20 2822 e2a7 8722 2929 0a20 2028 2262 . ("...")). ("b │ │ │ +00034b50: 7371 2220 2e20 2822 e2a7 8822 2929 0a0a sq" . ("...")).. │ │ │ +00034b60: 2020 3b3b 2041 504c 2062 6f78 6564 206f ;; APL boxed o │ │ │ +00034b70: 7065 7261 746f 7273 2e0a 0a20 2028 2262 perators... ("b │ │ │ +00034b80: 6f78 3d22 2020 2020 2020 202e 2028 22e2 ox=" . (". │ │ │ +00034b90: 8cb8 2229 290a 2020 2822 626f 783f 2220 ..")). ("box?" │ │ │ +00034ba0: 2020 2020 2020 2e20 2822 e28d b022 2929 . ("...")) │ │ │ +00034bb0: 0a20 2028 2262 6f78 2722 2020 2020 2020 . ("box'" │ │ │ +00034bc0: 202e 2028 22e2 8d9e 2229 290a 2020 2822 . ("...")). (" │ │ │ +00034bd0: 626f 783a 2220 2020 2020 2020 2e20 2822 box:" . (" │ │ │ +00034be0: e28d a022 2929 0a20 2028 2262 6f78 2f22 ...")). ("box/" │ │ │ +00034bf0: 2020 2020 2020 202e 2028 22e2 8d81 2229 . ("...") │ │ │ +00034c00: 290a 2020 2822 626f 785c 5c22 2020 2020 ). ("box\\" │ │ │ +00034c10: 2020 2e20 2822 e28d 8222 2929 0a20 2028 . ("...")). ( │ │ │ +00034c20: 2262 6f78 3c22 2020 2020 2020 202e 2028 "box<" . ( │ │ │ +00034c30: 22e2 8d83 2229 290a 2020 2822 626f 783e "...")). ("box> │ │ │ +00034c40: 2220 2020 2020 2020 2e20 2822 e28d 8422 " . ("..." │ │ │ +00034c50: 2929 0a20 2028 2262 6f78 6f22 2020 2020 )). ("boxo" │ │ │ +00034c60: 2020 202e 2028 22e2 8cbb 2229 290a 2020 . ("...")). │ │ │ +00034c70: 2822 626f 784f 2220 2020 2020 2020 2e20 ("boxO" . │ │ │ +00034c80: 2822 e28c bc22 2929 0a0a 2020 2822 626f ("...")).. ("bo │ │ │ +00034c90: 7863 6f6d 7022 2020 2020 2e20 2822 e28c xcomp" . (".. │ │ │ +00034ca0: bb22 2929 0a20 2028 2262 6f78 6369 7263 .")). ("boxcirc │ │ │ +00034cb0: 6c65 2220 202e 2028 22e2 8cbc 2229 290a le" . ("...")). │ │ │ +00034cc0: 2020 2822 626f 7865 7122 2020 2020 2020 ("boxeq" │ │ │ +00034cd0: 2e20 2822 e28c b822 2929 0a20 2028 2262 . ("...")). ("b │ │ │ +00034ce0: 6f78 6e65 7122 2020 2020 202e 2028 22e2 oxneq" . (". │ │ │ +00034cf0: 8daf 2229 290a 2020 2822 626f 7865 716e ..")). ("boxeqn │ │ │ +00034d00: 2220 2020 2020 2e20 2822 e28d af22 2929 " . ("...")) │ │ │ +00034d10: 0a0a 2020 2822 626f 786c 2220 2020 2020 .. ("boxl" │ │ │ +00034d20: 2020 2e20 2822 e28d 8722 2929 0a20 2028 . ("...")). ( │ │ │ +00034d30: 2262 6f78 7222 2020 2020 2020 202e 2028 "boxr" . ( │ │ │ +00034d40: 22e2 8d88 2229 290a 2020 2822 626f 7875 "...")). ("boxu │ │ │ +00034d50: 2220 2020 2020 2020 2e20 2822 e28d 9022 " . ("..." │ │ │ +00034d60: 2929 0a20 2028 2262 6f78 6422 2020 2020 )). ("boxd" │ │ │ +00034d70: 2020 202e 2028 22e2 8d97 2229 290a 0a20 . ("...")).. │ │ │ +00034d80: 2028 2262 6f78 6469 2220 2020 2020 202e ("boxdi" . │ │ │ +00034d90: 2028 22e2 8cba 2229 290a 2020 2822 626f ("...")). ("bo │ │ │ +00034da0: 7864 6976 2220 2020 2020 2e20 2822 e28c xdiv" . (".. │ │ │ +00034db0: b922 2929 0a20 2028 2262 6f78 7765 6467 .")). ("boxwedg │ │ │ +00034dc0: 6522 2020 202e 2028 22e2 8d93 2229 290a e" . ("...")). │ │ │ +00034dd0: 2020 2822 626f 7876 6565 2220 2020 2020 ("boxvee" │ │ │ +00034de0: 2e20 2822 e28d 8c22 2929 0a20 2028 2262 . ("...")). ("b │ │ │ +00034df0: 6f78 6465 6c74 6122 2020 202e 2028 22e2 oxdelta" . (". │ │ │ +00034e00: 8d8d 2229 290a 2020 2822 626f 786e 6162 ..")). ("boxnab │ │ │ +00034e10: 6c61 2220 2020 2e20 2822 e28d 9422 2929 la" . ("...")) │ │ │ +00034e20: 0a0a 2020 3b3b 2056 6172 696f 7573 2073 .. ;; Various s │ │ │ +00034e30: 796d 626f 6c73 2e0a 0a20 2028 2269 6e74 ymbols... ("int │ │ │ +00034e40: 6567 7261 6c22 202e 202c 2861 6764 612d egral" . ,(agda- │ │ │ +00034e50: 696e 7075 742d 746f 2d73 7472 696e 672d input-to-string- │ │ │ +00034e60: 6c69 7374 2022 e288 abe2 88ac e288 ade2 list ".......... │ │ │ +00034e70: 88ae e288 afe2 88b0 e288 b1e2 88b2 e288 ................ │ │ │ +00034e80: b322 2929 0a20 2028 2261 6e67 6c65 2220 .")). ("angle" │ │ │ +00034e90: 2020 202e 202c 2861 6764 612d 696e 7075 . ,(agda-inpu │ │ │ +00034ea0: 742d 746f 2d73 7472 696e 672d 6c69 7374 t-to-string-list │ │ │ +00034eb0: 2022 e288 9fe2 88a1 e288 a2e2 8abe e28a ".............. │ │ │ +00034ec0: bf22 2929 0a20 2028 226a 6f69 6e22 2020 .")). ("join" │ │ │ +00034ed0: 2020 202e 202c 2861 6764 612d 696e 7075 . ,(agda-inpu │ │ │ +00034ee0: 742d 746f 2d73 7472 696e 672d 6c69 7374 t-to-string-list │ │ │ +00034ef0: 2022 e28b 88e2 8b89 e28b 8ae2 8b8b e28b ".............. │ │ │ +00034f00: 8ce2 a89d e29f 95e2 9f96 e29f 9722 2929 .............")) │ │ │ +00034f10: 0a20 2028 2265 7368 2220 2020 2020 202e . ("esh" . │ │ │ +00034f20: 2028 22ca 8322 2929 0a0a 2020 3b3b 2041 ("..")).. ;; A │ │ │ +00034f30: 7272 6f77 732e 0a0a 2020 2822 6c22 2020 rrows... ("l" │ │ │ +00034f40: 2e20 2c28 6167 6461 2d69 6e70 7574 2d74 . ,(agda-input-t │ │ │ +00034f50: 6f2d 7374 7269 6e67 2d6c 6973 7420 22e2 o-string-list ". │ │ │ +00034f60: 8690 e287 90e2 879a e2ad 85e2 8787 e287 ................ │ │ │ +00034f70: 86e2 86a4 e287 a6e2 869e e286 bce2 86bd ................ │ │ │ +00034f80: e287 a0e2 87ba e286 9ce2 87bd e29f b5e2 ................ │ │ │ +00034f90: 9fb8 e286 9ae2 878d e287 b720 e286 b920 ........... ... │ │ │ +00034fa0: 2020 2020 e286 a2e2 86a9 e286 abe2 878b ............ │ │ │ +00034fb0: e287 9ce2 87a4 e29f bbe2 9fbd e2a4 86e2 ................ │ │ │ +00034fc0: 86b6 e286 bae2 9fb2 2020 2020 2020 2020 ........ │ │ │ 00034fd0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00034fe0: 2020 2020 2020 2020 2020 2020 2229 290a ")). │ │ │ -00034ff0: 2020 2822 7222 2020 2e20 2c28 6167 6461 ("r" . ,(agda │ │ │ -00035000: 2d69 6e70 7574 2d74 6f2d 7374 7269 6e67 -input-to-string │ │ │ -00035010: 2d6c 6973 7420 22e2 8692 e287 92e2 879b -list "......... │ │ │ -00035020: e2ad 86e2 8789 e287 84e2 86a6 e287 a8e2 ................ │ │ │ -00035030: 86a0 e287 80e2 8781 e287 a2e2 87bb e286 ................ │ │ │ -00035040: 9de2 87be e29f b6e2 9fb9 e286 9be2 878f ................ │ │ │ -00035050: e287 b8e2 87b6 20e2 86b4 2020 2020 e286 ...... ... .. │ │ │ -00035060: a3e2 86aa e286 ace2 878c e287 9de2 87a5 ................ │ │ │ -00035070: e29f bce2 9fbe e2a4 87e2 86b7 e286 bbe2 ................ │ │ │ -00035080: 9fb3 e287 b0e2 87b4 e29f b4e2 9fbf 20e2 .............. . │ │ │ -00035090: 9eb5 e29e b8e2 9e99 e29e 94e2 9e9b e29e ................ │ │ │ -000350a0: 9ce2 9e9d e29e 9ee2 9e9f e29e a0e2 9ea1 ................ │ │ │ -000350b0: e29e a2e2 9ea3 e29e a4e2 9ea7 e29e a8e2 ................ │ │ │ -000350c0: 9ea9 e29e aae2 9eab e29e ace2 9ead e29e ................ │ │ │ -000350d0: aee2 9eaf e29e b1e2 9eb2 e29e b3e2 9eba ................ │ │ │ -000350e0: e29e bbe2 9ebc e29e bde2 9ebe e28a b822 ..............." │ │ │ -000350f0: 2929 0a20 2028 2275 2220 202e 202c 2861 )). ("u" . ,(a │ │ │ -00035100: 6764 612d 696e 7075 742d 746f 2d73 7472 gda-input-to-str │ │ │ -00035110: 696e 672d 6c69 7374 2022 e286 91e2 8791 ing-list "...... │ │ │ -00035120: e2a4 8ae2 9fb0 e287 88e2 8785 e286 a5e2 ................ │ │ │ -00035130: 87a7 e286 9fe2 86bf e286 bee2 87a1 e287 ................ │ │ │ -00035140: 9e20 2020 2020 2020 2020 20e2 86b0 e286 . ..... │ │ │ -00035150: b1e2 9ea6 20e2 87aa e287 abe2 87ac e287 .... ........... │ │ │ -00035160: ade2 87ae e287 af20 2020 2020 2020 2020 ....... │ │ │ +00034fe0: 2020 2020 2020 2020 2020 2020 2022 2929 ")) │ │ │ +00034ff0: 0a20 2028 2272 2220 202e 202c 2861 6764 . ("r" . ,(agd │ │ │ +00035000: 612d 696e 7075 742d 746f 2d73 7472 696e a-input-to-strin │ │ │ +00035010: 672d 6c69 7374 2022 e286 92e2 8792 e287 g-list "........ │ │ │ +00035020: 9be2 ad86 e287 89e2 8784 e286 a6e2 87a8 ................ │ │ │ +00035030: e286 a0e2 8780 e287 81e2 87a2 e287 bbe2 ................ │ │ │ +00035040: 869d e287 bee2 9fb6 e29f b9e2 869b e287 ................ │ │ │ +00035050: 8fe2 87b8 e287 b620 e286 b420 2020 20e2 ....... ... . │ │ │ +00035060: 86a3 e286 aae2 86ac e287 8ce2 879d e287 ................ │ │ │ +00035070: a5e2 9fbc e29f bee2 a487 e286 b7e2 86bb ................ │ │ │ +00035080: e29f b3e2 87b0 e287 b4e2 9fb4 e29f bf20 ............... │ │ │ +00035090: e29e b5e2 9eb8 e29e 99e2 9e94 e29e 9be2 ................ │ │ │ +000350a0: 9e9c e29e 9de2 9e9e e29e 9fe2 9ea0 e29e ................ │ │ │ +000350b0: a1e2 9ea2 e29e a3e2 9ea4 e29e a7e2 9ea8 ................ │ │ │ +000350c0: e29e a9e2 9eaa e29e abe2 9eac e29e ade2 ................ │ │ │ +000350d0: 9eae e29e afe2 9eb1 e29e b2e2 9eb3 e29e ................ │ │ │ +000350e0: bae2 9ebb e29e bce2 9ebd e29e bee2 8ab8 ................ │ │ │ +000350f0: 2229 290a 2020 2822 7522 2020 2e20 2c28 ")). ("u" . ,( │ │ │ +00035100: 6167 6461 2d69 6e70 7574 2d74 6f2d 7374 agda-input-to-st │ │ │ +00035110: 7269 6e67 2d6c 6973 7420 22e2 8691 e287 ring-list "..... │ │ │ +00035120: 91e2 a48a e29f b0e2 8788 e287 85e2 86a5 ................ │ │ │ +00035130: e287 a7e2 869f e286 bfe2 86be e287 a1e2 ................ │ │ │ +00035140: 879e 2020 2020 2020 2020 2020 e286 b0e2 .. .... │ │ │ +00035150: 86b1 e29e a620 e287 aae2 87ab e287 ace2 ..... .......... │ │ │ +00035160: 87ad e287 aee2 87af 2020 2020 2020 2020 ........ │ │ │ 00035170: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 00035180: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00035190: 2020 2229 290a 2020 2822 6422 2020 2e20 ")). ("d" . │ │ │ -000351a0: 2c28 6167 6461 2d69 6e70 7574 2d74 6f2d ,(agda-input-to- │ │ │ -000351b0: 7374 7269 6e67 2d6c 6973 7420 22e2 8693 string-list "... │ │ │ -000351c0: e287 93e2 a48b e29f b1e2 878a e287 b5e2 ................ │ │ │ -000351d0: 86a7 e287 a9e2 86a1 e287 83e2 8782 e287 ................ │ │ │ -000351e0: a3e2 879f 2020 2020 2020 2020 20e2 86b5 .... ... │ │ │ -000351f0: e286 b2e2 86b3 e29e a520 e286 af20 2020 ......... ... │ │ │ +00035190: 2020 2022 2929 0a20 2028 2264 2220 202e ")). ("d" . │ │ │ +000351a0: 202c 2861 6764 612d 696e 7075 742d 746f ,(agda-input-to │ │ │ +000351b0: 2d73 7472 696e 672d 6c69 7374 2022 e286 -string-list ".. │ │ │ +000351c0: 93e2 8793 e2a4 8be2 9fb1 e287 8ae2 87b5 ................ │ │ │ +000351d0: e286 a7e2 87a9 e286 a1e2 8783 e287 82e2 ................ │ │ │ +000351e0: 87a3 e287 9f20 2020 2020 2020 2020 e286 ..... .. │ │ │ +000351f0: b5e2 86b2 e286 b3e2 9ea5 20e2 86af 2020 .......... ... │ │ │ 00035200: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 00035210: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00035220: 2020 2020 2020 2020 2020 2020 2022 2929 ")) │ │ │ -00035230: 0a20 2028 2275 6422 202e 202c 2861 6764 . ("ud" . ,(agd │ │ │ -00035240: 612d 696e 7075 742d 746f 2d73 7472 696e a-input-to-strin │ │ │ -00035250: 672d 6c69 7374 2022 e286 95e2 8795 2020 g-list "...... │ │ │ -00035260: 20e2 86a8 e287 b320 2020 2020 2020 2020 ...... │ │ │ +00035220: 2020 2020 2020 2020 2020 2020 2020 2229 ") │ │ │ +00035230: 290a 2020 2822 7564 2220 2e20 2c28 6167 ). ("ud" . ,(ag │ │ │ +00035240: 6461 2d69 6e70 7574 2d74 6f2d 7374 7269 da-input-to-stri │ │ │ +00035250: 6e67 2d6c 6973 7420 22e2 8695 e287 9520 ng-list "...... │ │ │ +00035260: 2020 e286 a8e2 87b3 2020 2020 2020 2020 ...... │ │ │ 00035270: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 00035280: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 00035290: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -000352a0: 2020 2020 2020 2020 2020 2022 2929 0a20 ")). │ │ │ -000352b0: 2028 226c 7222 202e 202c 2861 6764 612d ("lr" . ,(agda- │ │ │ -000352c0: 696e 7075 742d 746f 2d73 7472 696e 672d input-to-string- │ │ │ -000352d0: 6c69 7374 2022 e286 94e2 8794 2020 2020 list "...... │ │ │ -000352e0: 2020 2020 20e2 87bc e286 ade2 87bf e29f ........... │ │ │ -000352f0: b7e2 9fba e286 aee2 878e e287 b920 2020 ............. │ │ │ +000352a0: 2020 2020 2020 2020 2020 2020 2229 290a ")). │ │ │ +000352b0: 2020 2822 6c72 2220 2e20 2c28 6167 6461 ("lr" . ,(agda │ │ │ +000352c0: 2d69 6e70 7574 2d74 6f2d 7374 7269 6e67 -input-to-string │ │ │ +000352d0: 2d6c 6973 7420 22e2 8694 e287 9420 2020 -list "...... │ │ │ +000352e0: 2020 2020 2020 e287 bce2 86ad e287 bfe2 .......... │ │ │ +000352f0: 9fb7 e29f bae2 86ae e287 8ee2 87b9 2020 .............. │ │ │ 00035300: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 00035310: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 00035320: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00035330: 2020 2020 2022 2929 0a20 2028 2275 6c22 ")). ("ul" │ │ │ -00035340: 202e 202c 2861 6764 612d 696e 7075 742d . ,(agda-input- │ │ │ -00035350: 746f 2d73 7472 696e 672d 6c69 7374 2022 to-string-list " │ │ │ -00035360: e286 96e2 8796 2020 2020 2020 2020 2020 ...... │ │ │ -00035370: 2020 2020 2020 2020 2020 2020 2020 e287 .. │ │ │ -00035380: b1e2 86b8 2020 2020 2020 2020 2020 2020 .... │ │ │ +00035330: 2020 2020 2020 2229 290a 2020 2822 756c ")). ("ul │ │ │ +00035340: 2220 2e20 2c28 6167 6461 2d69 6e70 7574 " . ,(agda-input │ │ │ +00035350: 2d74 6f2d 7374 7269 6e67 2d6c 6973 7420 -to-string-list │ │ │ +00035360: 22e2 8696 e287 9620 2020 2020 2020 2020 "...... │ │ │ +00035370: 2020 2020 2020 2020 2020 2020 2020 20e2 . │ │ │ +00035380: 87b1 e286 b820 2020 2020 2020 2020 2020 ..... │ │ │ 00035390: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 000353a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -000353b0: 2020 2022 2929 0a20 2028 2275 7222 202e ")). ("ur" . │ │ │ -000353c0: 202c 2861 6764 612d 696e 7075 742d 746f ,(agda-input-to │ │ │ -000353d0: 2d73 7472 696e 672d 6c69 7374 2022 e286 -string-list ".. │ │ │ -000353e0: 97e2 8797 2020 2020 2020 2020 2020 2020 .... │ │ │ +000353b0: 2020 2020 2229 290a 2020 2822 7572 2220 ")). ("ur" │ │ │ +000353c0: 2e20 2c28 6167 6461 2d69 6e70 7574 2d74 . ,(agda-input-t │ │ │ +000353d0: 6f2d 7374 7269 6e67 2d6c 6973 7420 22e2 o-string-list ". │ │ │ +000353e0: 8697 e287 9720 2020 2020 2020 2020 2020 ..... │ │ │ 000353f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00035400: 2020 2020 2020 2020 2020 2020 20e2 9eb6 ... │ │ │ -00035410: e29e b9e2 9e9a 2020 2020 2020 2020 2020 ...... │ │ │ +00035400: 2020 2020 2020 2020 2020 2020 2020 e29e .. │ │ │ +00035410: b6e2 9eb9 e29e 9a20 2020 2020 2020 2020 ....... │ │ │ 00035420: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00035430: 2020 2022 2929 0a20 2028 2264 7222 202e ")). ("dr" . │ │ │ -00035440: 202c 2861 6764 612d 696e 7075 742d 746f ,(agda-input-to │ │ │ -00035450: 2d73 7472 696e 672d 6c69 7374 2022 e286 -string-list ".. │ │ │ -00035460: 98e2 8798 2020 2020 2020 2020 2020 2020 .... │ │ │ -00035470: 2020 2020 2020 2020 2020 2020 e287 b220 ... │ │ │ -00035480: 2020 2020 2020 2020 2020 2020 2020 20e2 . │ │ │ -00035490: 9eb4 e29e b7e2 9e98 2020 2020 2020 2020 ........ │ │ │ +00035430: 2020 2020 2229 290a 2020 2822 6472 2220 ")). ("dr" │ │ │ +00035440: 2e20 2c28 6167 6461 2d69 6e70 7574 2d74 . ,(agda-input-t │ │ │ +00035450: 6f2d 7374 7269 6e67 2d6c 6973 7420 22e2 o-string-list ". │ │ │ +00035460: 8698 e287 9820 2020 2020 2020 2020 2020 ..... │ │ │ +00035470: 2020 2020 2020 2020 2020 2020 20e2 87b2 ... │ │ │ +00035480: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +00035490: e29e b4e2 9eb7 e29e 9820 2020 2020 2020 ......... │ │ │ 000354a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -000354b0: 2020 2020 2022 2929 0a20 2028 2264 6c22 ")). ("dl" │ │ │ -000354c0: 202e 202c 2861 6764 612d 696e 7075 742d . ,(agda-input- │ │ │ -000354d0: 746f 2d73 7472 696e 672d 6c69 7374 2022 to-string-list " │ │ │ -000354e0: e286 99e2 8799 2020 2020 2020 2020 2020 ...... │ │ │ +000354b0: 2020 2020 2020 2229 290a 2020 2822 646c ")). ("dl │ │ │ +000354c0: 2220 2e20 2c28 6167 6461 2d69 6e70 7574 " . ,(agda-input │ │ │ +000354d0: 2d74 6f2d 7374 7269 6e67 2d6c 6973 7420 -to-string-list │ │ │ +000354e0: 22e2 8699 e287 9920 2020 2020 2020 2020 "...... │ │ │ 000354f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 00035500: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 00035510: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00035520: 2020 2020 2020 2020 2020 2020 2020 2022 " │ │ │ -00035530: 2929 0a0a 2020 2822 6c2d 2220 202e 2028 )).. ("l-" . ( │ │ │ -00035540: 22e2 8690 2229 2920 2028 223c 2d22 2020 "...")) ("<-" │ │ │ -00035550: 2e20 2822 e286 9022 2929 2020 2822 6c3d . ("...")) ("l= │ │ │ -00035560: 2220 202e 2028 22e2 8790 2229 2920 2028 " . ("...")) ( │ │ │ -00035570: 223c 3d22 2020 2e20 2822 e287 9022 2929 "<=" . ("...")) │ │ │ -00035580: 0a20 2028 2272 2d22 2020 2e20 2822 e286 . ("r-" . (".. │ │ │ -00035590: 9222 2929 2020 2822 2d3e 2220 202e 2028 .")) ("->" . ( │ │ │ -000355a0: 22e2 8692 2229 2920 2028 2272 3d22 2020 "...")) ("r=" │ │ │ -000355b0: 2e20 2822 e287 9222 2929 2020 2822 3d3e . ("...")) ("=> │ │ │ -000355c0: 2220 202e 2028 22e2 8792 2229 290a 2020 " . ("...")). │ │ │ -000355d0: 2822 752d 2220 202e 2028 22e2 8691 2229 ("u-" . ("...") │ │ │ -000355e0: 2920 2020 2020 2020 2020 2020 2020 2020 ) │ │ │ -000355f0: 2020 2020 2822 753d 2220 202e 2028 22e2 ("u=" . (". │ │ │ -00035600: 8791 2229 290a 2020 2822 642d 2220 202e ..")). ("d-" . │ │ │ -00035610: 2028 22e2 8693 2229 2920 2020 2020 2020 ("...")) │ │ │ -00035620: 2020 2020 2020 2020 2020 2020 2822 643d ("d= │ │ │ -00035630: 2220 202e 2028 22e2 8793 2229 290a 2020 " . ("...")). │ │ │ -00035640: 2822 7564 2d22 202e 2028 22e2 8695 2229 ("ud-" . ("...") │ │ │ -00035650: 2920 2020 2020 2020 2020 2020 2020 2020 ) │ │ │ -00035660: 2020 2020 2822 7564 3d22 202e 2028 22e2 ("ud=" . (". │ │ │ -00035670: 8795 2229 290a 2020 2822 6c72 2d22 202e ..")). ("lr-" . │ │ │ -00035680: 2028 22e2 8694 2229 2920 2028 223c 2d3e ("...")) ("<-> │ │ │ -00035690: 2220 2e20 2822 e286 9422 2929 2020 2822 " . ("...")) (" │ │ │ -000356a0: 6c72 3d22 202e 2028 22e2 8794 2229 2920 lr=" . ("...")) │ │ │ -000356b0: 2028 223c 3d3e 2220 2e20 2822 e287 9422 ("<=>" . ("..." │ │ │ -000356c0: 2929 0a20 2028 2275 6c2d 2220 2e20 2822 )). ("ul-" . (" │ │ │ -000356d0: e286 9622 2929 2020 2020 2020 2020 2020 ...")) │ │ │ -000356e0: 2020 2020 2020 2020 2028 2275 6c3d 2220 ("ul=" │ │ │ -000356f0: 2e20 2822 e287 9622 2929 0a20 2028 2275 . ("...")). ("u │ │ │ -00035700: 722d 2220 2e20 2822 e286 9722 2929 2020 r-" . ("...")) │ │ │ +00035520: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +00035530: 2229 290a 0a20 2028 226c 2d22 2020 2e20 ")).. ("l-" . │ │ │ +00035540: 2822 e286 9022 2929 2020 2822 3c2d 2220 ("...")) ("<-" │ │ │ +00035550: 202e 2028 22e2 8690 2229 2920 2028 226c . ("...")) ("l │ │ │ +00035560: 3d22 2020 2e20 2822 e287 9022 2929 2020 =" . ("...")) │ │ │ +00035570: 2822 3c3d 2220 202e 2028 22e2 8790 2229 ("<=" . ("...") │ │ │ +00035580: 290a 2020 2822 722d 2220 202e 2028 22e2 ). ("r-" . (". │ │ │ +00035590: 8692 2229 2920 2028 222d 3e22 2020 2e20 ..")) ("->" . │ │ │ +000355a0: 2822 e286 9222 2929 2020 2822 723d 2220 ("...")) ("r=" │ │ │ +000355b0: 202e 2028 22e2 8792 2229 2920 2028 223d . ("...")) ("= │ │ │ +000355c0: 3e22 2020 2e20 2822 e287 9222 2929 0a20 >" . ("...")). │ │ │ +000355d0: 2028 2275 2d22 2020 2e20 2822 e286 9122 ("u-" . ("..." │ │ │ +000355e0: 2929 2020 2020 2020 2020 2020 2020 2020 )) │ │ │ +000355f0: 2020 2020 2028 2275 3d22 2020 2e20 2822 ("u=" . (" │ │ │ +00035600: e287 9122 2929 0a20 2028 2264 2d22 2020 ...")). ("d-" │ │ │ +00035610: 2e20 2822 e286 9322 2929 2020 2020 2020 . ("...")) │ │ │ +00035620: 2020 2020 2020 2020 2020 2020 2028 2264 ("d │ │ │ +00035630: 3d22 2020 2e20 2822 e287 9322 2929 0a20 =" . ("...")). │ │ │ +00035640: 2028 2275 642d 2220 2e20 2822 e286 9522 ("ud-" . ("..." │ │ │ +00035650: 2929 2020 2020 2020 2020 2020 2020 2020 )) │ │ │ +00035660: 2020 2020 2028 2275 643d 2220 2e20 2822 ("ud=" . (" │ │ │ +00035670: e287 9522 2929 0a20 2028 226c 722d 2220 ...")). ("lr-" │ │ │ +00035680: 2e20 2822 e286 9422 2929 2020 2822 3c2d . ("...")) ("<- │ │ │ +00035690: 3e22 202e 2028 22e2 8694 2229 2920 2028 >" . ("...")) ( │ │ │ +000356a0: 226c 723d 2220 2e20 2822 e287 9422 2929 "lr=" . ("...")) │ │ │ +000356b0: 2020 2822 3c3d 3e22 202e 2028 22e2 8794 ("<=>" . ("... │ │ │ +000356c0: 2229 290a 2020 2822 756c 2d22 202e 2028 ")). ("ul-" . ( │ │ │ +000356d0: 22e2 8696 2229 2920 2020 2020 2020 2020 "...")) │ │ │ +000356e0: 2020 2020 2020 2020 2020 2822 756c 3d22 ("ul=" │ │ │ +000356f0: 202e 2028 22e2 8796 2229 290a 2020 2822 . ("...")). (" │ │ │ +00035700: 7572 2d22 202e 2028 22e2 8697 2229 2920 ur-" . ("...")) │ │ │ 00035710: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00035720: 2028 2275 723d 2220 2e20 2822 e287 9722 ("ur=" . ("..." │ │ │ -00035730: 2929 0a20 2028 2264 722d 2220 2e20 2822 )). ("dr-" . (" │ │ │ -00035740: e286 9822 2929 2020 2020 2020 2020 2020 ...")) │ │ │ -00035750: 2020 2020 2020 2020 2028 2264 723d 2220 ("dr=" │ │ │ -00035760: 2e20 2822 e287 9822 2929 0a20 2028 2264 . ("...")). ("d │ │ │ -00035770: 6c2d 2220 2e20 2822 e286 9922 2929 2020 l-" . ("...")) │ │ │ +00035720: 2020 2822 7572 3d22 202e 2028 22e2 8797 ("ur=" . ("... │ │ │ +00035730: 2229 290a 2020 2822 6472 2d22 202e 2028 ")). ("dr-" . ( │ │ │ +00035740: 22e2 8698 2229 2920 2020 2020 2020 2020 "...")) │ │ │ +00035750: 2020 2020 2020 2020 2020 2822 6472 3d22 ("dr=" │ │ │ +00035760: 202e 2028 22e2 8798 2229 290a 2020 2822 . ("...")). (" │ │ │ +00035770: 646c 2d22 202e 2028 22e2 8699 2229 2920 dl-" . ("...")) │ │ │ 00035780: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00035790: 2028 2264 6c3d 2220 2e20 2822 e287 9922 ("dl=" . ("..." │ │ │ -000357a0: 2929 0a0a 2020 2822 6c3d 3d22 202e 2028 )).. ("l==" . ( │ │ │ -000357b0: 22e2 879a 2229 2920 2028 226c 2d32 2220 "...")) ("l-2" │ │ │ -000357c0: 2e20 2822 e287 8722 2929 2020 2020 2020 . ("...")) │ │ │ -000357d0: 2020 2020 2020 2020 2020 2020 2028 226c ("l │ │ │ -000357e0: 2d72 2d22 202e 2028 22e2 8786 2229 290a -r-" . ("...")). │ │ │ -000357f0: 2020 2822 723d 3d22 202e 2028 22e2 879b ("r==" . ("... │ │ │ -00035800: 2229 2920 2028 2272 2d32 2220 2e20 2822 ")) ("r-2" . (" │ │ │ -00035810: e287 8922 2929 2020 2822 722d 3322 202e ...")) ("r-3" . │ │ │ -00035820: 2028 22e2 87b6 2229 2920 2028 2272 2d6c ("...")) ("r-l │ │ │ -00035830: 2d22 202e 2028 22e2 8784 2229 290a 2020 -" . ("...")). │ │ │ -00035840: 2822 753d 3d22 202e 2028 22e2 9fb0 2229 ("u==" . ("...") │ │ │ -00035850: 2920 2028 2275 2d32 2220 2e20 2822 e287 ) ("u-2" . (".. │ │ │ -00035860: 8822 2929 2020 2020 2020 2020 2020 2020 .")) │ │ │ -00035870: 2020 2020 2020 2028 2275 2d64 2d22 202e ("u-d-" . │ │ │ -00035880: 2028 22e2 8785 2229 290a 2020 2822 643d ("...")). ("d= │ │ │ -00035890: 3d22 202e 2028 22e2 9fb1 2229 2920 2028 =" . ("...")) ( │ │ │ -000358a0: 2264 2d32 2220 2e20 2822 e287 8a22 2929 "d-2" . ("...")) │ │ │ -000358b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -000358c0: 2020 2028 2264 2d75 2d22 202e 2028 22e2 ("d-u-" . (". │ │ │ -000358d0: 87b5 2229 290a 0a20 2028 226c 2d2d 2220 ..")).. ("l--" │ │ │ -000358e0: 202e 2028 22e2 9fb5 2229 2920 2028 223c . ("...")) ("< │ │ │ -000358f0: 2d2d 2220 202e 2028 22e2 9fb5 2229 2920 --" . ("...")) │ │ │ -00035900: 2028 226c 7e22 2020 2e20 2822 e286 9c22 ("l~" . ("..." │ │ │ -00035910: 2022 e287 9c22 2929 0a20 2028 2272 2d2d "...")). ("r-- │ │ │ -00035920: 2220 202e 2028 22e2 9fb6 2229 2920 2028 " . ("...")) ( │ │ │ -00035930: 222d 2d3e 2220 202e 2028 22e2 9fb6 2229 "-->" . ("...") │ │ │ -00035940: 2920 2028 2272 7e22 2020 2e20 2822 e286 ) ("r~" . (".. │ │ │ -00035950: 9d22 2022 e287 9d22 2022 e29f bf22 2929 ." "..." "...")) │ │ │ -00035960: 0a20 2028 226c 722d 2d22 202e 2028 22e2 . ("lr--" . (". │ │ │ -00035970: 9fb7 2229 2920 2028 223c 2d2d 3e22 202e ..")) ("<-->" . │ │ │ -00035980: 2028 22e2 9fb7 2229 2920 2028 226c 727e ("...")) ("lr~ │ │ │ -00035990: 2220 2e20 2822 e286 ad22 2929 0a0a 2020 " . ("...")).. │ │ │ -000359a0: 2822 6c2d 6e22 2020 2e20 2822 e286 9a22 ("l-n" . ("..." │ │ │ -000359b0: 2929 2020 2822 3c2d 6e22 2020 2e20 2822 )) ("<-n" . (" │ │ │ -000359c0: e286 9a22 2929 2020 2822 6c3d 6e22 2020 ...")) ("l=n" │ │ │ -000359d0: 2e20 2822 e287 8d22 2929 0a20 2028 2272 . ("...")). ("r │ │ │ -000359e0: 2d6e 2220 202e 2028 22e2 869b 2229 2920 -n" . ("...")) │ │ │ -000359f0: 2028 222d 3e6e 2220 202e 2028 22e2 869b ("->n" . ("... │ │ │ -00035a00: 2229 2920 2028 2272 3d6e 2220 202e 2028 ")) ("r=n" . ( │ │ │ -00035a10: 22e2 878f 2229 2920 2028 223d 3e6e 2220 "...")) ("=>n" │ │ │ -00035a20: 202e 2028 22e2 878f 2229 290a 2020 2822 . ("...")). (" │ │ │ -00035a30: 6c72 2d6e 2220 2e20 2822 e286 ae22 2929 lr-n" . ("...")) │ │ │ -00035a40: 2020 2822 3c2d 3e6e 2220 2e20 2822 e286 ("<->n" . (".. │ │ │ -00035a50: ae22 2929 2020 2822 6c72 3d6e 2220 2e20 .")) ("lr=n" . │ │ │ -00035a60: 2822 e287 8e22 2929 2020 2822 3c3d 3e6e ("...")) ("<=>n │ │ │ -00035a70: 2220 2e20 2822 e287 8e22 2929 0a0a 2020 " . ("...")).. │ │ │ -00035a80: 2822 6c2d 7c22 2020 2e20 2822 e286 a422 ("l-|" . ("..." │ │ │ -00035a90: 2929 2020 2822 6c6c 2d22 202e 2028 22e2 )) ("ll-" . (". │ │ │ -00035aa0: 869e 2229 290a 2020 2822 722d 7c22 2020 ..")). ("r-|" │ │ │ -00035ab0: 2e20 2822 e286 a622 2929 2020 2822 7272 . ("...")) ("rr │ │ │ -00035ac0: 2d22 202e 2028 22e2 86a0 2229 290a 2020 -" . ("...")). │ │ │ -00035ad0: 2822 752d 7c22 2020 2e20 2822 e286 a522 ("u-|" . ("..." │ │ │ -00035ae0: 2929 2020 2822 7575 2d22 202e 2028 22e2 )) ("uu-" . (". │ │ │ -00035af0: 869f 2229 290a 2020 2822 642d 7c22 2020 ..")). ("d-|" │ │ │ -00035b00: 2e20 2822 e286 a722 2929 2020 2822 6464 . ("...")) ("dd │ │ │ -00035b10: 2d22 202e 2028 22e2 86a1 2229 290a 2020 -" . ("...")). │ │ │ -00035b20: 2822 7564 2d7c 2220 2e20 2822 e286 a822 ("ud-|" . ("..." │ │ │ -00035b30: 2929 0a0a 2020 2822 6c2d 3e22 202e 2028 )).. ("l->" . ( │ │ │ -00035b40: 22e2 86a2 2229 290a 2020 2822 722d 3e22 "...")). ("r->" │ │ │ -00035b50: 202e 2028 22e2 86a3 2229 290a 0a20 2028 . ("...")).. ( │ │ │ -00035b60: 2272 2d6f 2220 2e20 2822 e28a b822 2929 "r-o" . ("...")) │ │ │ -00035b70: 2020 2822 2d6f 2220 202e 2028 22e2 8ab8 ("-o" . ("... │ │ │ -00035b80: 2229 290a 2020 2822 6c2d 6f22 202e 2028 ")). ("l-o" . ( │ │ │ -00035b90: 22e2 9f9c 2229 290a 0a20 2028 2264 7a22 "...")).. ("dz" │ │ │ -00035ba0: 202e 2028 22e2 86af 2229 290a 0a20 203b . ("...")).. ; │ │ │ -00035bb0: 3b20 456c 6c69 7073 6973 2e0a 0a20 2028 ; Ellipsis... ( │ │ │ -00035bc0: 222e 2e2e 2220 2e20 2c28 6167 6461 2d69 "..." . ,(agda-i │ │ │ -00035bd0: 6e70 7574 2d74 6f2d 7374 7269 6e67 2d6c nput-to-string-l │ │ │ -00035be0: 6973 7420 22e2 8baf e28b aee2 8bb0 e28b ist "........... │ │ │ -00035bf0: b122 2929 0a0a 2020 3b3b 2042 6f78 2d64 .")).. ;; Box-d │ │ │ -00035c00: 7261 7769 6e67 2063 6861 7261 6374 6572 rawing character │ │ │ -00035c10: 732e 0a0a 2020 2822 2d2d 2d22 202e 202c s... ("---" . , │ │ │ -00035c20: 2861 6764 612d 696e 7075 742d 746f 2d73 (agda-input-to-s │ │ │ -00035c30: 7472 696e 672d 6c69 7374 2022 e294 80e2 tring-list ".... │ │ │ -00035c40: 9482 e294 8ce2 9490 e294 94e2 9498 e294 ................ │ │ │ -00035c50: 9ce2 94a4 e294 ace2 94bc e294 b4e2 95b4 ................ │ │ │ -00035c60: e295 b5e2 95b6 e295 b7e2 95ad e295 aee2 ................ │ │ │ -00035c70: 95af e295 b0e2 95b1 e295 b2e2 95b3 2229 ..............") │ │ │ -00035c80: 290a 2020 2822 2d2d 3d22 202e 202c 2861 ). ("--=" . ,(a │ │ │ -00035c90: 6764 612d 696e 7075 742d 746f 2d73 7472 gda-input-to-str │ │ │ -00035ca0: 696e 672d 6c69 7374 2022 e295 90e2 9591 ing-list "...... │ │ │ -00035cb0: e295 94e2 9597 e295 9ae2 959d e295 a0e2 ................ │ │ │ -00035cc0: 95a3 e295 a6e2 95ac e295 a920 2020 2020 ........... │ │ │ -00035cd0: e295 92e2 9595 e295 98e2 959b e295 9ee2 ................ │ │ │ -00035ce0: 95a1 e295 a4e2 95aa e295 a720 e295 93e2 ........... .... │ │ │ -00035cf0: 9596 e295 99e2 959c e295 9fe2 95a2 e295 ................ │ │ │ -00035d00: a5e2 95ab e295 a822 2929 0a20 2028 222d .......")). ("- │ │ │ -00035d10: 2d5f 2220 2e20 2c28 6167 6461 2d69 6e70 -_" . ,(agda-inp │ │ │ -00035d20: 7574 2d74 6f2d 7374 7269 6e67 2d6c 6973 ut-to-string-lis │ │ │ -00035d30: 7420 22e2 9481 e294 83e2 948f e294 93e2 t "............. │ │ │ -00035d40: 9497 e294 9be2 94a3 e294 abe2 94b3 e295 ................ │ │ │ -00035d50: 8be2 94bb e295 b8e2 95b9 e295 bae2 95bb ................ │ │ │ -00035d60: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ +00035790: 2020 2822 646c 3d22 202e 2028 22e2 8799 ("dl=" . ("... │ │ │ +000357a0: 2229 290a 0a20 2028 226c 3d3d 2220 2e20 ")).. ("l==" . │ │ │ +000357b0: 2822 e287 9a22 2929 2020 2822 6c2d 3222 ("...")) ("l-2" │ │ │ +000357c0: 202e 2028 22e2 8787 2229 2920 2020 2020 . ("...")) │ │ │ +000357d0: 2020 2020 2020 2020 2020 2020 2020 2822 (" │ │ │ +000357e0: 6c2d 722d 2220 2e20 2822 e287 8622 2929 l-r-" . ("...")) │ │ │ +000357f0: 0a20 2028 2272 3d3d 2220 2e20 2822 e287 . ("r==" . (".. │ │ │ +00035800: 9b22 2929 2020 2822 722d 3222 202e 2028 .")) ("r-2" . ( │ │ │ +00035810: 22e2 8789 2229 2920 2028 2272 2d33 2220 "...")) ("r-3" │ │ │ +00035820: 2e20 2822 e287 b622 2929 2020 2822 722d . ("...")) ("r- │ │ │ +00035830: 6c2d 2220 2e20 2822 e287 8422 2929 0a20 l-" . ("...")). │ │ │ +00035840: 2028 2275 3d3d 2220 2e20 2822 e29f b022 ("u==" . ("..." │ │ │ +00035850: 2929 2020 2822 752d 3222 202e 2028 22e2 )) ("u-2" . (". │ │ │ +00035860: 8788 2229 2920 2020 2020 2020 2020 2020 ..")) │ │ │ +00035870: 2020 2020 2020 2020 2822 752d 642d 2220 ("u-d-" │ │ │ +00035880: 2e20 2822 e287 8522 2929 0a20 2028 2264 . ("...")). ("d │ │ │ +00035890: 3d3d 2220 2e20 2822 e29f b122 2929 2020 ==" . ("...")) │ │ │ +000358a0: 2822 642d 3222 202e 2028 22e2 878a 2229 ("d-2" . ("...") │ │ │ +000358b0: 2920 2020 2020 2020 2020 2020 2020 2020 ) │ │ │ +000358c0: 2020 2020 2822 642d 752d 2220 2e20 2822 ("d-u-" . (" │ │ │ +000358d0: e287 b522 2929 0a0a 2020 2822 6c2d 2d22 ...")).. ("l--" │ │ │ +000358e0: 2020 2e20 2822 e29f b522 2929 2020 2822 . ("...")) (" │ │ │ +000358f0: 3c2d 2d22 2020 2e20 2822 e29f b522 2929 <--" . ("...")) │ │ │ +00035900: 2020 2822 6c7e 2220 202e 2028 22e2 869c ("l~" . ("... │ │ │ +00035910: 2220 22e2 879c 2229 290a 2020 2822 722d " "...")). ("r- │ │ │ +00035920: 2d22 2020 2e20 2822 e29f b622 2929 2020 -" . ("...")) │ │ │ +00035930: 2822 2d2d 3e22 2020 2e20 2822 e29f b622 ("-->" . ("..." │ │ │ +00035940: 2929 2020 2822 727e 2220 202e 2028 22e2 )) ("r~" . (". │ │ │ +00035950: 869d 2220 22e2 879d 2220 22e2 9fbf 2229 .." "..." "...") │ │ │ +00035960: 290a 2020 2822 6c72 2d2d 2220 2e20 2822 ). ("lr--" . (" │ │ │ +00035970: e29f b722 2929 2020 2822 3c2d 2d3e 2220 ...")) ("<-->" │ │ │ +00035980: 2e20 2822 e29f b722 2929 2020 2822 6c72 . ("...")) ("lr │ │ │ +00035990: 7e22 202e 2028 22e2 86ad 2229 290a 0a20 ~" . ("...")).. │ │ │ +000359a0: 2028 226c 2d6e 2220 202e 2028 22e2 869a ("l-n" . ("... │ │ │ +000359b0: 2229 2920 2028 223c 2d6e 2220 202e 2028 ")) ("<-n" . ( │ │ │ +000359c0: 22e2 869a 2229 2920 2028 226c 3d6e 2220 "...")) ("l=n" │ │ │ +000359d0: 202e 2028 22e2 878d 2229 290a 2020 2822 . ("...")). (" │ │ │ +000359e0: 722d 6e22 2020 2e20 2822 e286 9b22 2929 r-n" . ("...")) │ │ │ +000359f0: 2020 2822 2d3e 6e22 2020 2e20 2822 e286 ("->n" . (".. │ │ │ +00035a00: 9b22 2929 2020 2822 723d 6e22 2020 2e20 .")) ("r=n" . │ │ │ +00035a10: 2822 e287 8f22 2929 2020 2822 3d3e 6e22 ("...")) ("=>n" │ │ │ +00035a20: 2020 2e20 2822 e287 8f22 2929 0a20 2028 . ("...")). ( │ │ │ +00035a30: 226c 722d 6e22 202e 2028 22e2 86ae 2229 "lr-n" . ("...") │ │ │ +00035a40: 2920 2028 223c 2d3e 6e22 202e 2028 22e2 ) ("<->n" . (". │ │ │ +00035a50: 86ae 2229 2920 2028 226c 723d 6e22 202e ..")) ("lr=n" . │ │ │ +00035a60: 2028 22e2 878e 2229 2920 2028 223c 3d3e ("...")) ("<=> │ │ │ +00035a70: 6e22 202e 2028 22e2 878e 2229 290a 0a20 n" . ("...")).. │ │ │ +00035a80: 2028 226c 2d7c 2220 202e 2028 22e2 86a4 ("l-|" . ("... │ │ │ +00035a90: 2229 2920 2028 226c 6c2d 2220 2e20 2822 ")) ("ll-" . (" │ │ │ +00035aa0: e286 9e22 2929 0a20 2028 2272 2d7c 2220 ...")). ("r-|" │ │ │ +00035ab0: 202e 2028 22e2 86a6 2229 2920 2028 2272 . ("...")) ("r │ │ │ +00035ac0: 722d 2220 2e20 2822 e286 a022 2929 0a20 r-" . ("...")). │ │ │ +00035ad0: 2028 2275 2d7c 2220 202e 2028 22e2 86a5 ("u-|" . ("... │ │ │ +00035ae0: 2229 2920 2028 2275 752d 2220 2e20 2822 ")) ("uu-" . (" │ │ │ +00035af0: e286 9f22 2929 0a20 2028 2264 2d7c 2220 ...")). ("d-|" │ │ │ +00035b00: 202e 2028 22e2 86a7 2229 2920 2028 2264 . ("...")) ("d │ │ │ +00035b10: 642d 2220 2e20 2822 e286 a122 2929 0a20 d-" . ("...")). │ │ │ +00035b20: 2028 2275 642d 7c22 202e 2028 22e2 86a8 ("ud-|" . ("... │ │ │ +00035b30: 2229 290a 0a20 2028 226c 2d3e 2220 2e20 ")).. ("l->" . │ │ │ +00035b40: 2822 e286 a222 2929 0a20 2028 2272 2d3e ("...")). ("r-> │ │ │ +00035b50: 2220 2e20 2822 e286 a322 2929 0a0a 2020 " . ("...")).. │ │ │ +00035b60: 2822 722d 6f22 202e 2028 22e2 8ab8 2229 ("r-o" . ("...") │ │ │ +00035b70: 2920 2028 222d 6f22 2020 2e20 2822 e28a ) ("-o" . (".. │ │ │ +00035b80: b822 2929 0a20 2028 226c 2d6f 2220 2e20 .")). ("l-o" . │ │ │ +00035b90: 2822 e29f 9c22 2929 0a0a 2020 2822 647a ("...")).. ("dz │ │ │ +00035ba0: 2220 2e20 2822 e286 af22 2929 0a0a 2020 " . ("...")).. │ │ │ +00035bb0: 3b3b 2045 6c6c 6970 7369 732e 0a0a 2020 ;; Ellipsis... │ │ │ +00035bc0: 2822 2e2e 2e22 202e 202c 2861 6764 612d ("..." . ,(agda- │ │ │ +00035bd0: 696e 7075 742d 746f 2d73 7472 696e 672d input-to-string- │ │ │ +00035be0: 6c69 7374 2022 e28b afe2 8bae e28b b0e2 list ".......... │ │ │ +00035bf0: 8bb1 2229 290a 0a20 203b 3b20 426f 782d ..")).. ;; Box- │ │ │ +00035c00: 6472 6177 696e 6720 6368 6172 6163 7465 drawing characte │ │ │ +00035c10: 7273 2e0a 0a20 2028 222d 2d2d 2220 2e20 rs... ("---" . │ │ │ +00035c20: 2c28 6167 6461 2d69 6e70 7574 2d74 6f2d ,(agda-input-to- │ │ │ +00035c30: 7374 7269 6e67 2d6c 6973 7420 22e2 9480 string-list "... │ │ │ +00035c40: e294 82e2 948c e294 90e2 9494 e294 98e2 ................ │ │ │ +00035c50: 949c e294 a4e2 94ac e294 bce2 94b4 e295 ................ │ │ │ +00035c60: b4e2 95b5 e295 b6e2 95b7 e295 ade2 95ae ................ │ │ │ +00035c70: e295 afe2 95b0 e295 b1e2 95b2 e295 b322 ..............." │ │ │ +00035c80: 2929 0a20 2028 222d 2d3d 2220 2e20 2c28 )). ("--=" . ,( │ │ │ +00035c90: 6167 6461 2d69 6e70 7574 2d74 6f2d 7374 agda-input-to-st │ │ │ +00035ca0: 7269 6e67 2d6c 6973 7420 22e2 9590 e295 ring-list "..... │ │ │ +00035cb0: 91e2 9594 e295 97e2 959a e295 9de2 95a0 ................ │ │ │ +00035cc0: e295 a3e2 95a6 e295 ace2 95a9 2020 2020 ............ │ │ │ +00035cd0: 20e2 9592 e295 95e2 9598 e295 9be2 959e ............... │ │ │ +00035ce0: e295 a1e2 95a4 e295 aae2 95a7 20e2 9593 ............ ... │ │ │ +00035cf0: e295 96e2 9599 e295 9ce2 959f e295 a2e2 ................ │ │ │ +00035d00: 95a5 e295 abe2 95a8 2229 290a 2020 2822 ........")). (" │ │ │ +00035d10: 2d2d 5f22 202e 202c 2861 6764 612d 696e --_" . ,(agda-in │ │ │ +00035d20: 7075 742d 746f 2d73 7472 696e 672d 6c69 put-to-string-li │ │ │ +00035d30: 7374 2022 e294 81e2 9483 e294 8fe2 9493 st "............ │ │ │ +00035d40: e294 97e2 949b e294 a3e2 94ab e294 b3e2 ................ │ │ │ +00035d50: 958b e294 bbe2 95b8 e295 b9e2 95ba e295 ................ │ │ │ +00035d60: bb0a 2020 2020 2020 2020 2020 2020 2020 .. │ │ │ 00035d70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00035d80: 2020 2020 2020 2020 20e2 948d e294 afe2 ....... │ │ │ -00035d90: 9491 e294 95e2 94b7 e294 99e2 949d e294 ................ │ │ │ -00035da0: bfe2 94a5 e294 8ee2 94b0 e294 92e2 9496 ................ │ │ │ -00035db0: e294 b8e2 949a e294 a0e2 9582 e294 a8e2 ................ │ │ │ -00035dc0: 949e e295 80e2 94a6 e294 9fe2 9581 e294 ................ │ │ │ -00035dd0: a7e2 94a2 e295 88e2 94aa e294 a1e2 9587 ................ │ │ │ -00035de0: e294 a90a 2020 2020 2020 2020 2020 2020 .... │ │ │ +00035d80: 2020 2020 2020 2020 2020 e294 8de2 94af ...... │ │ │ +00035d90: e294 91e2 9495 e294 b7e2 9499 e294 9de2 ................ │ │ │ +00035da0: 94bf e294 a5e2 948e e294 b0e2 9492 e294 ................ │ │ │ +00035db0: 96e2 94b8 e294 9ae2 94a0 e295 82e2 94a8 ................ │ │ │ +00035dc0: e294 9ee2 9580 e294 a6e2 949f e295 81e2 ................ │ │ │ +00035dd0: 94a7 e294 a2e2 9588 e294 aae2 94a1 e295 ................ │ │ │ +00035de0: 87e2 94a9 0a20 2020 2020 2020 2020 2020 ..... │ │ │ 00035df0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00035e00: 2020 2020 2020 2020 2020 2020 e294 aee2 .... │ │ │ -00035e10: 94ad e294 b6e2 94b5 e294 bee2 94bd e294 ................ │ │ │ -00035e20: b2e2 94b1 e294 bae2 94b9 e295 8ae2 9589 ................ │ │ │ -00035e30: e295 86e2 9585 e295 84e2 9583 20e2 95bf ............ ... │ │ │ -00035e40: e295 bde2 95bc e295 be22 2929 0a20 2028 .........")). ( │ │ │ -00035e50: 222d 2d2e 2220 2e20 2c28 6167 6461 2d69 "--." . ,(agda-i │ │ │ -00035e60: 6e70 7574 2d74 6f2d 7374 7269 6e67 2d6c nput-to-string-l │ │ │ -00035e70: 6973 7420 22e2 958c e295 8ee2 9484 e294 ist "........... │ │ │ -00035e80: 86e2 9488 e294 8a0a 2020 2020 2020 2020 ........ │ │ │ +00035e00: 2020 2020 2020 2020 2020 2020 20e2 94ae ... │ │ │ +00035e10: e294 ade2 94b6 e294 b5e2 94be e294 bde2 ................ │ │ │ +00035e20: 94b2 e294 b1e2 94ba e294 b9e2 958a e295 ................ │ │ │ +00035e30: 89e2 9586 e295 85e2 9584 e295 8320 e295 ............. .. │ │ │ +00035e40: bfe2 95bd e295 bce2 95be 2229 290a 2020 ..........")). │ │ │ +00035e50: 2822 2d2d 2e22 202e 202c 2861 6764 612d ("--." . ,(agda- │ │ │ +00035e60: 696e 7075 742d 746f 2d73 7472 696e 672d input-to-string- │ │ │ +00035e70: 6c69 7374 2022 e295 8ce2 958e e294 84e2 list ".......... │ │ │ +00035e80: 9486 e294 88e2 948a 0a20 2020 2020 2020 ......... │ │ │ 00035e90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 00035ea0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00035eb0: e295 8de2 958f e294 85e2 9487 e294 89e2 ................ │ │ │ -00035ec0: 948b 2229 290a 0a20 203b 3b20 5472 6961 ..")).. ;; Tria │ │ │ -00035ed0: 6e67 6c65 732e 0a0a 2020 3b3b 2042 6967 ngles... ;; Big │ │ │ -00035ee0: 2f73 6d61 6c6c 2c20 626c 6163 6b2f 7768 /small, black/wh │ │ │ -00035ef0: 6974 652e 0a0a 2020 2822 7422 202e 202c ite... ("t" . , │ │ │ -00035f00: 2861 6764 612d 696e 7075 742d 746f 2d73 (agda-input-to-s │ │ │ -00035f10: 7472 696e 672d 6c69 7374 2022 e297 82e2 tring-list ".... │ │ │ -00035f20: 9783 e297 84e2 9785 e296 b8e2 96b9 e296 ................ │ │ │ -00035f30: bae2 96bb e296 b4e2 96b5 e296 bee2 96bf ................ │ │ │ -00035f40: e297 a2e2 97bf e297 a3e2 97ba e297 a4e2 ................ │ │ │ -00035f50: 97b8 e297 a5e2 97b9 2229 290a 2020 2822 ........")). (" │ │ │ -00035f60: 5422 202e 202c 2861 6764 612d 696e 7075 T" . ,(agda-inpu │ │ │ -00035f70: 742d 746f 2d73 7472 696e 672d 6c69 7374 t-to-string-list │ │ │ -00035f80: 2022 e297 80e2 9781 e296 b6e2 96b7 e296 ".............. │ │ │ -00035f90: b2e2 96b3 e296 bce2 96bd e297 ace2 97ad ................ │ │ │ -00035fa0: e297 ae22 2929 0a0a 2020 2822 7462 2220 ...")).. ("tb" │ │ │ -00035fb0: 2e20 2c28 6167 6461 2d69 6e70 7574 2d74 . ,(agda-input-t │ │ │ -00035fc0: 6f2d 7374 7269 6e67 2d6c 6973 7420 22e2 o-string-list ". │ │ │ -00035fd0: 9782 e296 b8e2 96b4 e296 bee2 9784 e296 ................ │ │ │ -00035fe0: bae2 97a2 e297 a3e2 97a4 e297 a522 2929 .............")) │ │ │ -00035ff0: 0a20 2028 2274 7722 202e 202c 2861 6764 . ("tw" . ,(agd │ │ │ -00036000: 612d 696e 7075 742d 746f 2d73 7472 696e a-input-to-strin │ │ │ -00036010: 672d 6c69 7374 2022 e297 83e2 96b9 e296 g-list "........ │ │ │ -00036020: b5e2 96bf e297 85e2 96bb e297 bfe2 97ba ................ │ │ │ -00036030: e297 b8e2 97b9 2229 290a 0a20 2028 2254 ......")).. ("T │ │ │ -00036040: 6222 202e 202c 2861 6764 612d 696e 7075 b" . ,(agda-inpu │ │ │ -00036050: 742d 746f 2d73 7472 696e 672d 6c69 7374 t-to-string-list │ │ │ -00036060: 2022 e297 80e2 96b6 e296 b2e2 96bc 2229 "............") │ │ │ -00036070: 290a 2020 2822 5477 2220 2e20 2c28 6167 ). ("Tw" . ,(ag │ │ │ -00036080: 6461 2d69 6e70 7574 2d74 6f2d 7374 7269 da-input-to-stri │ │ │ -00036090: 6e67 2d6c 6973 7420 22e2 9781 e296 b7e2 ng-list "....... │ │ │ -000360a0: 96b3 e296 bd22 2929 0a0a 2020 3b3b 2053 .....")).. ;; S │ │ │ -000360b0: 7175 6172 6573 2e0a 0a20 2028 2273 7122 quares... ("sq" │ │ │ -000360c0: 2020 2e20 2c28 6167 6461 2d69 6e70 7574 . ,(agda-input │ │ │ -000360d0: 2d74 6f2d 7374 7269 6e67 2d6c 6973 7420 -to-string-list │ │ │ -000360e0: 22e2 96a0 e296 a1e2 97bc e297 bbe2 97be "............... │ │ │ -000360f0: e297 bde2 96a3 e296 a2e2 96a4 e296 a5e2 ................ │ │ │ -00036100: 96a6 e296 a7e2 96a8 e296 a9e2 97a7 e297 ................ │ │ │ -00036110: a8e2 97a9 e297 aae2 97ab e297 b0e2 97b1 ................ │ │ │ -00036120: e297 b2e2 97b3 2229 290a 2020 2822 7371 ......")). ("sq │ │ │ -00036130: 6222 202e 202c 2861 6764 612d 696e 7075 b" . ,(agda-inpu │ │ │ -00036140: 742d 746f 2d73 7472 696e 672d 6c69 7374 t-to-string-list │ │ │ -00036150: 2022 e296 a0e2 97bc e297 be22 2929 0a20 ".........")). │ │ │ -00036160: 2028 2273 7177 2220 2e20 2c28 6167 6461 ("sqw" . ,(agda │ │ │ -00036170: 2d69 6e70 7574 2d74 6f2d 7374 7269 6e67 -input-to-string │ │ │ -00036180: 2d6c 6973 7420 22e2 96a1 e297 bbe2 97bd -list "......... │ │ │ -00036190: 2229 290a 2020 2822 7371 2e22 202e 2028 ")). ("sq." . ( │ │ │ -000361a0: 22e2 96a3 2229 290a 2020 2822 7371 6f22 "...")). ("sqo" │ │ │ -000361b0: 202e 2028 22e2 96a2 2229 290a 0a20 203b . ("...")).. ; │ │ │ -000361c0: 3b20 5265 6374 616e 676c 6573 2e0a 0a20 ; Rectangles... │ │ │ -000361d0: 2028 2272 6522 2020 2e20 2c28 6167 6461 ("re" . ,(agda │ │ │ -000361e0: 2d69 6e70 7574 2d74 6f2d 7374 7269 6e67 -input-to-string │ │ │ -000361f0: 2d6c 6973 7420 22e2 96ac e296 ade2 96ae -list "......... │ │ │ -00036200: e296 af22 2929 0a20 2028 2272 6562 2220 ...")). ("reb" │ │ │ -00036210: 2e20 2c28 6167 6461 2d69 6e70 7574 2d74 . ,(agda-input-t │ │ │ -00036220: 6f2d 7374 7269 6e67 2d6c 6973 7420 22e2 o-string-list ". │ │ │ -00036230: 96ac e296 ae22 2929 0a20 2028 2272 6577 .....")). ("rew │ │ │ -00036240: 2220 2e20 2c28 6167 6461 2d69 6e70 7574 " . ,(agda-input │ │ │ -00036250: 2d74 6f2d 7374 7269 6e67 2d6c 6973 7420 -to-string-list │ │ │ -00036260: 22e2 96ad e296 af22 2929 0a0a 2020 3b3b "......")).. ;; │ │ │ -00036270: 2050 6172 616c 6c65 6c6f 6772 616d 732e Parallelograms. │ │ │ -00036280: 0a0a 2020 2822 7061 2220 202e 202c 2861 .. ("pa" . ,(a │ │ │ -00036290: 6764 612d 696e 7075 742d 746f 2d73 7472 gda-input-to-str │ │ │ -000362a0: 696e 672d 6c69 7374 2022 e296 b0e2 96b1 ing-list "...... │ │ │ -000362b0: 2229 290a 2020 2822 7061 6222 202e 2028 ")). ("pab" . ( │ │ │ -000362c0: 22e2 96b0 2229 290a 2020 2822 7061 7722 "...")). ("paw" │ │ │ -000362d0: 202e 2028 22e2 96b1 2229 290a 0a20 203b . ("...")).. ; │ │ │ -000362e0: 3b20 4469 616d 6f6e 6473 2e0a 0a20 2028 ; Diamonds... ( │ │ │ -000362f0: 2264 6922 2020 2e20 2c28 6167 6461 2d69 "di" . ,(agda-i │ │ │ -00036300: 6e70 7574 2d74 6f2d 7374 7269 6e67 2d6c nput-to-string-l │ │ │ -00036310: 6973 7420 22e2 9786 e297 87e2 9788 2229 ist ".........") │ │ │ -00036320: 290a 2020 2822 6469 6222 202e 2028 22e2 ). ("dib" . (". │ │ │ -00036330: 9786 2229 290a 2020 2822 6469 7722 202e ..")). ("diw" . │ │ │ -00036340: 2028 22e2 9787 2229 290a 2020 2822 6469 ("...")). ("di │ │ │ -00036350: 2e22 202e 2028 22e2 9788 2229 290a 0a20 ." . ("...")).. │ │ │ -00036360: 203b 3b20 4369 7263 6c65 732e 0a0a 2020 ;; Circles... │ │ │ -00036370: 2822 6369 2220 2020 2e20 2c28 6167 6461 ("ci" . ,(agda │ │ │ -00036380: 2d69 6e70 7574 2d74 6f2d 7374 7269 6e67 -input-to-string │ │ │ -00036390: 2d6c 6973 7420 22e2 978f e297 8be2 978e -list "......... │ │ │ -000363a0: e297 8ce2 97af e297 8de2 9790 e297 91e2 ................ │ │ │ -000363b0: 9792 e297 93e2 9794 e297 95e2 9796 e297 ................ │ │ │ -000363c0: 97e2 97a0 e297 a1e2 97b4 e297 b5e2 97b6 ................ │ │ │ -000363d0: e297 b7e2 9a86 e29a 87e2 9a88 e29a 8922 ..............." │ │ │ -000363e0: 2929 0a20 2028 2263 6962 2220 202e 2028 )). ("cib" . ( │ │ │ -000363f0: 22e2 978f 2229 290a 2020 2822 6369 7722 "...")). ("ciw" │ │ │ -00036400: 2020 2e20 2822 e297 8b22 2929 0a20 2028 . ("...")). ( │ │ │ -00036410: 2263 692e 2220 202e 2028 22e2 978e 2229 "ci." . ("...") │ │ │ -00036420: 290a 2020 2822 6369 2e2e 2220 2e20 2822 ). ("ci.." . (" │ │ │ -00036430: e297 8c22 2929 0a20 2028 2263 694f 2220 ...")). ("ciO" │ │ │ -00036440: 202e 2028 22e2 97af 2229 290a 0a20 203b . ("...")).. ; │ │ │ -00036450: 3b20 5374 6172 732e 0a0a 2020 2822 7374 ; Stars... ("st │ │ │ -00036460: 2220 2020 2e20 2c28 6167 6461 2d69 6e70 " . ,(agda-inp │ │ │ -00036470: 7574 2d74 6f2d 7374 7269 6e67 2d6c 6973 ut-to-string-lis │ │ │ -00036480: 7420 22e2 8b86 e29c a6e2 9ca7 e29c b6e2 t "............. │ │ │ -00036490: 9cb4 e29c b920 e298 85e2 9886 e29c aae2 ..... .......... │ │ │ -000364a0: 9cab e29c afe2 9cb0 e29c b5e2 9cb7 e29c ................ │ │ │ -000364b0: b822 2929 0a20 2028 2273 7434 2220 202e .")). ("st4" . │ │ │ -000364c0: 202c 2861 6764 612d 696e 7075 742d 746f ,(agda-input-to │ │ │ -000364d0: 2d73 7472 696e 672d 6c69 7374 2022 e29c -string-list ".. │ │ │ -000364e0: a6e2 9ca7 2229 290a 2020 2822 7374 3622 ....")). ("st6" │ │ │ -000364f0: 2020 2e20 2822 e29c b622 2929 0a20 2028 . ("...")). ( │ │ │ -00036500: 2273 7438 2220 202e 2028 22e2 9cb4 2229 "st8" . ("...") │ │ │ -00036510: 290a 2020 2822 7374 3132 2220 2e20 2822 ). ("st12" . (" │ │ │ -00036520: e29c b922 2929 0a0a 2020 3b3b 2042 6c61 ...")).. ;; Bla │ │ │ -00036530: 636b 626f 6172 6420 626f 6c64 206c 6574 ckboard bold let │ │ │ -00036540: 7465 7273 2e0a 0a20 2028 2262 4122 2020 ters... ("bA" │ │ │ -00036550: 202e 2028 22f0 9d94 b822 2929 0a20 2028 . ("....")). ( │ │ │ -00036560: 2262 4222 2020 202e 2028 22f0 9d94 b922 "bB" . ("...." │ │ │ -00036570: 2929 0a20 2028 2262 4322 2020 202e 2028 )). ("bC" . ( │ │ │ -00036580: 22e2 8482 2229 290a 2020 2822 6244 2220 "...")). ("bD" │ │ │ -00036590: 2020 2e20 2822 f09d 94bb 2229 290a 2020 . ("....")). │ │ │ -000365a0: 2822 6245 2220 2020 2e20 2822 f09d 94bc ("bE" . (".... │ │ │ -000365b0: 2229 290a 2020 2822 6246 2220 2020 2e20 ")). ("bF" . │ │ │ -000365c0: 2822 f09d 94bd 2229 290a 2020 2822 6247 ("....")). ("bG │ │ │ -000365d0: 2220 2020 2e20 2822 f09d 94be 2229 290a " . ("....")). │ │ │ -000365e0: 2020 2822 6248 2220 2020 2e20 2822 e284 ("bH" . (".. │ │ │ -000365f0: 8d22 2929 0a20 2028 2262 4922 2020 202e .")). ("bI" . │ │ │ -00036600: 2028 22f0 9d95 8022 2929 0a20 2028 2262 ("....")). ("b │ │ │ -00036610: 4a22 2020 202e 2028 22f0 9d95 8122 2929 J" . ("....")) │ │ │ -00036620: 0a20 2028 2262 4b22 2020 202e 2028 22f0 . ("bK" . (". │ │ │ -00036630: 9d95 8222 2929 0a20 2028 2262 4c22 2020 ...")). ("bL" │ │ │ -00036640: 202e 2028 22f0 9d95 8322 2929 0a20 2028 . ("....")). ( │ │ │ -00036650: 2262 4d22 2020 202e 2028 22f0 9d95 8422 "bM" . ("...." │ │ │ -00036660: 2929 0a20 2028 2262 4e22 2020 202e 2028 )). ("bN" . ( │ │ │ -00036670: 22e2 8495 2229 290a 2020 2822 624f 2220 "...")). ("bO" │ │ │ -00036680: 2020 2e20 2822 f09d 9586 2229 290a 2020 . ("....")). │ │ │ -00036690: 2822 6250 2220 2020 2e20 2822 e284 9922 ("bP" . ("..." │ │ │ -000366a0: 2929 0a20 2028 2262 5122 2020 202e 2028 )). ("bQ" . ( │ │ │ -000366b0: 22e2 849a 2229 290a 2020 2822 6252 2220 "...")). ("bR" │ │ │ -000366c0: 2020 2e20 2822 e284 9d22 2929 0a20 2028 . ("...")). ( │ │ │ -000366d0: 2262 5322 2020 202e 2028 22f0 9d95 8a22 "bS" . ("...." │ │ │ -000366e0: 2929 0a20 2028 2262 5422 2020 202e 2028 )). ("bT" . ( │ │ │ -000366f0: 22f0 9d95 8b22 2929 0a20 2028 2262 5522 "....")). ("bU" │ │ │ -00036700: 2020 202e 2028 22f0 9d95 8c22 2929 0a20 . ("....")). │ │ │ -00036710: 2028 2262 5622 2020 202e 2028 22f0 9d95 ("bV" . ("... │ │ │ -00036720: 8d22 2929 0a20 2028 2262 5722 2020 202e .")). ("bW" . │ │ │ -00036730: 2028 22f0 9d95 8e22 2929 0a20 2028 2262 ("....")). ("b │ │ │ -00036740: 5822 2020 202e 2028 22f0 9d95 8f22 2929 X" . ("....")) │ │ │ -00036750: 0a20 2028 2262 5922 2020 202e 2028 22f0 . ("bY" . (". │ │ │ -00036760: 9d95 9022 2929 0a20 2028 2262 5a22 2020 ...")). ("bZ" │ │ │ -00036770: 202e 2028 22e2 84a4 2229 290a 2020 2822 . ("...")). (" │ │ │ -00036780: 6247 4722 2020 2e20 2822 e284 be22 2929 bGG" . ("...")) │ │ │ -00036790: 0a20 2028 2262 4750 2220 202e 2028 22e2 . ("bGP" . (". │ │ │ -000367a0: 84bf 2229 290a 2020 2822 6247 5322 2020 ..")). ("bGS" │ │ │ -000367b0: 2e20 2822 e285 8022 2929 0a20 2028 2262 . ("...")). ("b │ │ │ -000367c0: 6122 2020 202e 2028 22f0 9d95 9222 2929 a" . ("....")) │ │ │ -000367d0: 0a20 2028 2262 6222 2020 202e 2028 22f0 . ("bb" . (". │ │ │ -000367e0: 9d95 9322 2929 0a20 2028 2262 6322 2020 ...")). ("bc" │ │ │ -000367f0: 202e 2028 22f0 9d95 9422 2929 0a20 2028 . ("....")). ( │ │ │ -00036800: 2262 6422 2020 202e 2028 22f0 9d95 9522 "bd" . ("...." │ │ │ -00036810: 2929 0a20 2028 2262 6522 2020 202e 2028 )). ("be" . ( │ │ │ -00036820: 22f0 9d95 9622 2929 0a20 2028 2262 6622 "....")). ("bf" │ │ │ -00036830: 2020 202e 2028 22f0 9d95 9722 2929 0a20 . ("....")). │ │ │ -00036840: 2028 2262 6722 2020 202e 2028 22f0 9d95 ("bg" . ("... │ │ │ -00036850: 9822 2929 0a20 2028 2262 6822 2020 202e .")). ("bh" . │ │ │ -00036860: 2028 22f0 9d95 9922 2929 0a20 2028 2262 ("....")). ("b │ │ │ -00036870: 6922 2020 202e 2028 22f0 9d95 9a22 2929 i" . ("....")) │ │ │ -00036880: 0a20 2028 2262 6a22 2020 202e 2028 22f0 . ("bj" . (". │ │ │ -00036890: 9d95 9b22 2929 0a20 2028 2262 6b22 2020 ...")). ("bk" │ │ │ -000368a0: 202e 2028 22f0 9d95 9c22 2929 0a20 2028 . ("....")). ( │ │ │ -000368b0: 2262 6c22 2020 202e 2028 22f0 9d95 9d22 "bl" . ("...." │ │ │ -000368c0: 2929 0a20 2028 2262 6d22 2020 202e 2028 )). ("bm" . ( │ │ │ -000368d0: 22f0 9d95 9e22 2929 0a20 2028 2262 6e22 "....")). ("bn" │ │ │ -000368e0: 2020 202e 2028 22f0 9d95 9f22 2929 0a20 . ("....")). │ │ │ -000368f0: 2028 2262 6f22 2020 202e 2028 22f0 9d95 ("bo" . ("... │ │ │ -00036900: a022 2929 0a20 2028 2262 7022 2020 202e .")). ("bp" . │ │ │ -00036910: 2028 22f0 9d95 a122 2929 0a20 2028 2262 ("....")). ("b │ │ │ -00036920: 7122 2020 202e 2028 22f0 9d95 a222 2929 q" . ("....")) │ │ │ -00036930: 0a20 2028 2262 7222 2020 202e 2028 22f0 . ("br" . (". │ │ │ -00036940: 9d95 a322 2929 0a20 2028 2262 7322 2020 ...")). ("bs" │ │ │ -00036950: 202e 2028 22f0 9d95 a422 2929 0a20 2028 . ("....")). ( │ │ │ -00036960: 2262 7422 2020 202e 2028 22f0 9d95 a522 "bt" . ("...." │ │ │ -00036970: 2929 0a20 2028 2262 7522 2020 202e 2028 )). ("bu" . ( │ │ │ -00036980: 22f0 9d95 a622 2929 0a20 2028 2262 7622 "....")). ("bv" │ │ │ -00036990: 2020 202e 2028 22f0 9d95 a722 2929 0a20 . ("....")). │ │ │ -000369a0: 2028 2262 7722 2020 202e 2028 22f0 9d95 ("bw" . ("... │ │ │ -000369b0: a822 2929 0a20 2028 2262 7822 2020 202e .")). ("bx" . │ │ │ -000369c0: 2028 22f0 9d95 a922 2929 0a20 2028 2262 ("....")). ("b │ │ │ -000369d0: 7922 2020 202e 2028 22f0 9d95 aa22 2929 y" . ("....")) │ │ │ -000369e0: 0a20 2028 2262 7a22 2020 202e 2028 22f0 . ("bz" . (". │ │ │ -000369f0: 9d95 ab22 2929 0a20 2028 2262 4767 2220 ...")). ("bGg" │ │ │ -00036a00: 202e 2028 22e2 84bd 2229 290a 2020 2822 . ("...")). (" │ │ │ -00036a10: 6247 7022 2020 2e20 2822 e284 bc22 2929 bGp" . ("...")) │ │ │ -00036a20: 0a0a 2020 3b3b 2042 6c61 636b 626f 6172 .. ;; Blackboar │ │ │ -00036a30: 6420 626f 6c64 206e 756d 6265 7273 2e0a d bold numbers.. │ │ │ -00036a40: 0a20 2028 2262 3022 2020 202e 2028 22f0 . ("b0" . (". │ │ │ -00036a50: 9d9f 9822 2929 0a20 2028 2262 3122 2020 ...")). ("b1" │ │ │ -00036a60: 202e 2028 22f0 9d9f 9922 2929 0a20 2028 . ("....")). ( │ │ │ -00036a70: 2262 3222 2020 202e 2028 22f0 9d9f 9a22 "b2" . ("...." │ │ │ -00036a80: 2929 0a20 2028 2262 3322 2020 202e 2028 )). ("b3" . ( │ │ │ -00036a90: 22f0 9d9f 9b22 2929 0a20 2028 2262 3422 "....")). ("b4" │ │ │ -00036aa0: 2020 202e 2028 22f0 9d9f 9c22 2929 0a20 . ("....")). │ │ │ -00036ab0: 2028 2262 3522 2020 202e 2028 22f0 9d9f ("b5" . ("... │ │ │ -00036ac0: 9d22 2929 0a20 2028 2262 3622 2020 202e .")). ("b6" . │ │ │ -00036ad0: 2028 22f0 9d9f 9e22 2929 0a20 2028 2262 ("....")). ("b │ │ │ -00036ae0: 3722 2020 202e 2028 22f0 9d9f 9f22 2929 7" . ("....")) │ │ │ -00036af0: 0a20 2028 2262 3822 2020 202e 2028 22f0 . ("b8" . (". │ │ │ -00036b00: 9d9f a022 2929 0a20 2028 2262 3922 2020 ...")). ("b9" │ │ │ -00036b10: 202e 2028 22f0 9d9f a122 2929 0a0a 2020 . ("....")).. │ │ │ -00036b20: 3b3b 204d 6174 6865 6d61 7469 6361 6c20 ;; Mathematical │ │ │ -00036b30: 626f 6c64 206c 6574 7465 7273 2e0a 0a20 bold letters... │ │ │ -00036b40: 2028 2242 4122 2020 202e 2028 22f0 9d90 ("BA" . ("... │ │ │ -00036b50: 8022 2929 0a20 2028 2242 4222 2020 202e .")). ("BB" . │ │ │ -00036b60: 2028 22f0 9d90 8122 2929 0a20 2028 2242 ("....")). ("B │ │ │ -00036b70: 4322 2020 202e 2028 22f0 9d90 8222 2929 C" . ("....")) │ │ │ -00036b80: 0a20 2028 2242 4422 2020 202e 2028 22f0 . ("BD" . (". │ │ │ -00036b90: 9d90 8322 2929 0a20 2028 2242 4522 2020 ...")). ("BE" │ │ │ -00036ba0: 202e 2028 22f0 9d90 8422 2929 0a20 2028 . ("....")). ( │ │ │ -00036bb0: 2242 4622 2020 202e 2028 22f0 9d90 8522 "BF" . ("...." │ │ │ -00036bc0: 2929 0a20 2028 2242 4722 2020 202e 2028 )). ("BG" . ( │ │ │ -00036bd0: 22f0 9d90 8622 2929 0a20 2028 2242 4822 "....")). ("BH" │ │ │ -00036be0: 2020 202e 2028 22f0 9d90 8722 2929 0a20 . ("....")). │ │ │ -00036bf0: 2028 2242 4922 2020 202e 2028 22f0 9d90 ("BI" . ("... │ │ │ -00036c00: 8822 2929 0a20 2028 2242 4a22 2020 202e .")). ("BJ" . │ │ │ -00036c10: 2028 22f0 9d90 8922 2929 0a20 2028 2242 ("....")). ("B │ │ │ -00036c20: 4b22 2020 202e 2028 22f0 9d90 8a22 2929 K" . ("....")) │ │ │ -00036c30: 0a20 2028 2242 4c22 2020 202e 2028 22f0 . ("BL" . (". │ │ │ -00036c40: 9d90 8b22 2929 0a20 2028 2242 4d22 2020 ...")). ("BM" │ │ │ -00036c50: 202e 2028 22f0 9d90 8c22 2929 0a20 2028 . ("....")). ( │ │ │ -00036c60: 2242 4e22 2020 202e 2028 22f0 9d90 8d22 "BN" . ("...." │ │ │ -00036c70: 2929 0a20 2028 2242 4f22 2020 202e 2028 )). ("BO" . ( │ │ │ -00036c80: 22f0 9d90 8e22 2929 0a20 2028 2242 5022 "....")). ("BP" │ │ │ -00036c90: 2020 202e 2028 22f0 9d90 8f22 2929 0a20 . ("....")). │ │ │ -00036ca0: 2028 2242 5122 2020 202e 2028 22f0 9d90 ("BQ" . ("... │ │ │ -00036cb0: 9022 2929 0a20 2028 2242 5222 2020 202e .")). ("BR" . │ │ │ -00036cc0: 2028 22f0 9d90 9122 2929 0a20 2028 2242 ("....")). ("B │ │ │ -00036cd0: 5322 2020 202e 2028 22f0 9d90 9222 2929 S" . ("....")) │ │ │ -00036ce0: 0a20 2028 2242 5422 2020 202e 2028 22f0 . ("BT" . (". │ │ │ -00036cf0: 9d90 9322 2929 0a20 2028 2242 5522 2020 ...")). ("BU" │ │ │ -00036d00: 202e 2028 22f0 9d90 9422 2929 0a20 2028 . ("....")). ( │ │ │ -00036d10: 2242 5622 2020 202e 2028 22f0 9d90 9522 "BV" . ("...." │ │ │ -00036d20: 2929 0a20 2028 2242 5722 2020 202e 2028 )). ("BW" . ( │ │ │ -00036d30: 22f0 9d90 9622 2929 0a20 2028 2242 5822 "....")). ("BX" │ │ │ -00036d40: 2020 202e 2028 22f0 9d90 9722 2929 0a20 . ("....")). │ │ │ -00036d50: 2028 2242 5922 2020 202e 2028 22f0 9d90 ("BY" . ("... │ │ │ -00036d60: 9822 2929 0a20 2028 2242 5a22 2020 202e .")). ("BZ" . │ │ │ -00036d70: 2028 22f0 9d90 9922 2929 0a20 2028 2242 ("....")). ("B │ │ │ -00036d80: 6122 2020 202e 2028 22f0 9d90 9a22 2929 a" . ("....")) │ │ │ -00036d90: 0a20 2028 2242 6222 2020 202e 2028 22f0 . ("Bb" . (". │ │ │ -00036da0: 9d90 9b22 2929 0a20 2028 2242 6322 2020 ...")). ("Bc" │ │ │ -00036db0: 202e 2028 22f0 9d90 9c22 2929 0a20 2028 . ("....")). ( │ │ │ -00036dc0: 2242 6422 2020 202e 2028 22f0 9d90 9d22 "Bd" . ("...." │ │ │ -00036dd0: 2929 0a20 2028 2242 6522 2020 202e 2028 )). ("Be" . ( │ │ │ -00036de0: 22f0 9d90 9e22 2929 0a20 2028 2242 6622 "....")). ("Bf" │ │ │ -00036df0: 2020 202e 2028 22f0 9d90 9f22 2929 0a20 . ("....")). │ │ │ -00036e00: 2028 2242 6722 2020 202e 2028 22f0 9d90 ("Bg" . ("... │ │ │ -00036e10: a022 2929 0a20 2028 2242 6822 2020 202e .")). ("Bh" . │ │ │ -00036e20: 2028 22f0 9d90 a122 2929 0a20 2028 2242 ("....")). ("B │ │ │ -00036e30: 6922 2020 202e 2028 22f0 9d90 a222 2929 i" . ("....")) │ │ │ -00036e40: 0a20 2028 2242 6a22 2020 202e 2028 22f0 . ("Bj" . (". │ │ │ -00036e50: 9d90 a322 2929 0a20 2028 2242 6b22 2020 ...")). ("Bk" │ │ │ -00036e60: 202e 2028 22f0 9d90 a422 2929 0a20 2028 . ("....")). ( │ │ │ -00036e70: 2242 6c22 2020 202e 2028 22f0 9d90 a522 "Bl" . ("...." │ │ │ -00036e80: 2929 0a20 2028 2242 6d22 2020 202e 2028 )). ("Bm" . ( │ │ │ -00036e90: 22f0 9d90 a622 2929 0a20 2028 2242 6e22 "....")). ("Bn" │ │ │ -00036ea0: 2020 202e 2028 22f0 9d90 a722 2929 0a20 . ("....")). │ │ │ -00036eb0: 2028 2242 6f22 2020 202e 2028 22f0 9d90 ("Bo" . ("... │ │ │ -00036ec0: a822 2929 0a20 2028 2242 7022 2020 202e .")). ("Bp" . │ │ │ -00036ed0: 2028 22f0 9d90 a922 2929 0a20 2028 2242 ("....")). ("B │ │ │ -00036ee0: 7122 2020 202e 2028 22f0 9d90 aa22 2929 q" . ("....")) │ │ │ -00036ef0: 0a20 2028 2242 7222 2020 202e 2028 22f0 . ("Br" . (". │ │ │ -00036f00: 9d90 ab22 2929 0a20 2028 2242 7322 2020 ...")). ("Bs" │ │ │ -00036f10: 202e 2028 22f0 9d90 ac22 2929 0a20 2028 . ("....")). ( │ │ │ -00036f20: 2242 7422 2020 202e 2028 22f0 9d90 ad22 "Bt" . ("...." │ │ │ -00036f30: 2929 0a20 2028 2242 7522 2020 202e 2028 )). ("Bu" . ( │ │ │ -00036f40: 22f0 9d90 ae22 2929 0a20 2028 2242 7622 "....")). ("Bv" │ │ │ -00036f50: 2020 202e 2028 22f0 9d90 af22 2929 0a20 . ("....")). │ │ │ -00036f60: 2028 2242 7722 2020 202e 2028 22f0 9d90 ("Bw" . ("... │ │ │ -00036f70: b022 2929 0a20 2028 2242 7822 2020 202e .")). ("Bx" . │ │ │ -00036f80: 2028 22f0 9d90 b122 2929 0a20 2028 2242 ("....")). ("B │ │ │ -00036f90: 7922 2020 202e 2028 22f0 9d90 b222 2929 y" . ("....")) │ │ │ -00036fa0: 0a20 2028 2242 7a22 2020 202e 2028 22f0 . ("Bz" . (". │ │ │ -00036fb0: 9d90 b322 2929 0a0a 2020 3b3b 204d 6174 ...")).. ;; Mat │ │ │ -00036fc0: 6865 6d61 7469 6361 6c20 626f 6c64 2047 hematical bold G │ │ │ -00036fd0: 7265 656b 206c 6574 7465 7273 2e0a 0a20 reek letters... │ │ │ -00036fe0: 2028 2242 4741 2220 202e 2028 22f0 9d9a ("BGA" . ("... │ │ │ -00036ff0: a822 2929 0a20 2028 2242 4742 2220 202e .")). ("BGB" . │ │ │ -00037000: 2028 22f0 9d9a a922 2929 0a20 2028 2242 ("....")). ("B │ │ │ -00037010: 4743 2220 202e 2028 22f0 9d9a be22 2929 GC" . ("....")) │ │ │ -00037020: 0a20 2028 2242 4744 2220 202e 2028 22f0 . ("BGD" . (". │ │ │ -00037030: 9d9a ab22 2929 0a20 2028 2242 4745 2220 ...")). ("BGE" │ │ │ -00037040: 202e 2028 22f0 9d9a ac22 2929 0a20 2028 . ("....")). ( │ │ │ -00037050: 2242 4747 2220 202e 2028 22f0 9d9a aa22 "BGG" . ("...." │ │ │ -00037060: 2929 0a20 2028 2242 4748 2220 202e 2028 )). ("BGH" . ( │ │ │ -00037070: 22f0 9d9a ae22 2929 0a20 2028 2242 4749 "....")). ("BGI │ │ │ -00037080: 2220 202e 2028 22f0 9d9a b022 2929 0a20 " . ("....")). │ │ │ -00037090: 2028 2242 474b 2220 202e 2028 22f0 9d9a ("BGK" . ("... │ │ │ -000370a0: b122 2929 0a20 2028 2242 474c 2220 202e .")). ("BGL" . │ │ │ -000370b0: 2028 22f0 9d9a b222 2929 0a20 2028 2242 ("....")). ("B │ │ │ -000370c0: 474d 2220 202e 2028 22f0 9d9a b322 2929 GM" . ("....")) │ │ │ -000370d0: 0a20 2028 2242 474e 2220 202e 2028 22f0 . ("BGN" . (". │ │ │ -000370e0: 9d9a b422 2929 0a20 2028 2242 474f 2220 ...")). ("BGO" │ │ │ -000370f0: 202e 2028 22f0 9d9b 8022 2929 0a20 2028 . ("....")). ( │ │ │ -00037100: 2242 4f6d 6963 726f 6e22 202e 2028 22f0 "BOmicron" . (". │ │ │ -00037110: 9d9a b622 2929 0a20 2028 2242 4746 2220 ...")). ("BGF" │ │ │ -00037120: 202e 2028 22f0 9d9a bd22 2929 0a20 2028 . ("....")). ( │ │ │ -00037130: 2242 5069 2220 202e 2028 22f0 9d9a b722 "BPi" . ("...." │ │ │ -00037140: 2929 0a20 2028 2242 4750 2220 202e 2028 )). ("BGP" . ( │ │ │ -00037150: 22f0 9d9a bf22 2929 0a20 2028 2242 4752 "....")). ("BGR │ │ │ -00037160: 2220 202e 2028 22f0 9d9a b822 2929 0a20 " . ("....")). │ │ │ -00037170: 2028 2242 4753 2220 202e 2028 22f0 9d9a ("BGS" . ("... │ │ │ -00037180: ba22 2929 0a20 2028 2242 4754 2220 202e .")). ("BGT" . │ │ │ -00037190: 2028 22f0 9d9a bb22 2929 0a20 2028 2242 ("....")). ("B │ │ │ -000371a0: 4754 4822 202e 2028 22f0 9d9a af22 2929 GTH" . ("....")) │ │ │ -000371b0: 0a20 2028 2242 4755 2220 202e 2028 22f0 . ("BGU" . (". │ │ │ -000371c0: 9d9a bc22 2929 0a20 2028 2242 4758 2220 ...")). ("BGX" │ │ │ -000371d0: 202e 2028 22f0 9d9a b522 2929 0a20 2028 . ("....")). ( │ │ │ -000371e0: 2242 475a 2220 202e 2028 22f0 9d9a ad22 "BGZ" . ("...." │ │ │ -000371f0: 2929 0a20 2028 2242 4761 2220 202e 2028 )). ("BGa" . ( │ │ │ -00037200: 22f0 9d9b 8222 2929 0a20 2028 2242 4762 "....")). ("BGb │ │ │ -00037210: 2220 202e 2028 22f0 9d9b 8322 2929 0a20 " . ("....")). │ │ │ -00037220: 2028 2242 4763 2220 202e 2028 22f0 9d9b ("BGc" . ("... │ │ │ -00037230: 9822 2929 0a20 2028 2242 4764 2220 202e .")). ("BGd" . │ │ │ -00037240: 2028 22f0 9d9b 8522 2929 0a20 2028 2242 ("....")). ("B │ │ │ -00037250: 4765 2220 202e 2028 22f0 9d9b 8622 2929 Ge" . ("....")) │ │ │ -00037260: 0a20 2028 2242 4767 2220 202e 2028 22f0 . ("BGg" . (". │ │ │ -00037270: 9d9b 8422 2929 0a20 2028 2242 4768 2220 ...")). ("BGh" │ │ │ -00037280: 202e 2028 22f0 9d9b 8822 2929 0a20 2028 . ("....")). ( │ │ │ -00037290: 2242 4769 2220 202e 2028 22f0 9d9b 8a22 "BGi" . ("...." │ │ │ -000372a0: 2929 0a20 2028 2242 476b 2220 202e 2028 )). ("BGk" . ( │ │ │ -000372b0: 22f0 9d9b 8b22 2929 0a20 2028 2242 476c "....")). ("BGl │ │ │ -000372c0: 2220 202e 2028 22f0 9d9b 8c22 2929 0a20 " . ("....")). │ │ │ -000372d0: 2028 2242 476d 2220 202e 2028 22f0 9d9b ("BGm" . ("... │ │ │ -000372e0: 8d22 2929 0a20 2028 2242 476e 2220 202e .")). ("BGn" . │ │ │ -000372f0: 2028 22f0 9d9b 8e22 2929 0a20 2028 2242 ("....")). ("B │ │ │ -00037300: 476f 2220 202e 2028 22f0 9d9b 9a22 2929 Go" . ("....")) │ │ │ -00037310: 0a20 2028 2242 6f6d 6963 726f 6e22 202e . ("Bomicron" . │ │ │ -00037320: 2028 22f0 9d9b 9022 2929 0a20 2028 2242 ("....")). ("B │ │ │ -00037330: 4766 2220 202e 2028 22f0 9d9b 9722 2929 Gf" . ("....")) │ │ │ -00037340: 0a20 2028 2242 7069 2220 202e 2028 22f0 . ("Bpi" . (". │ │ │ -00037350: 9d9b 9122 2929 0a20 2028 2242 4770 2220 ...")). ("BGp" │ │ │ -00037360: 202e 2028 22f0 9d9b 9922 2929 0a20 2028 . ("....")). ( │ │ │ -00037370: 2242 4772 2220 202e 2028 22f0 9d9b 9222 "BGr" . ("...." │ │ │ -00037380: 2929 0a20 2028 2242 4773 2220 202e 2028 )). ("BGs" . ( │ │ │ -00037390: 22f0 9d9b 9422 2929 0a20 2028 2242 4774 "....")). ("BGt │ │ │ -000373a0: 2220 202e 2028 22f0 9d9b 9522 2929 0a20 " . ("....")). │ │ │ -000373b0: 2028 2242 4774 6822 202e 2028 22f0 9d9b ("BGth" . ("... │ │ │ -000373c0: 8922 2929 0a20 2028 2242 4775 2220 202e .")). ("BGu" . │ │ │ -000373d0: 2028 22f0 9d9b 9622 2929 0a20 2028 2242 ("....")). ("B │ │ │ -000373e0: 4778 2220 202e 2028 22f0 9d9b 8f22 2929 Gx" . ("....")) │ │ │ -000373f0: 0a20 2028 2242 477a 2220 202e 2028 22f0 . ("BGz" . (". │ │ │ -00037400: 9d9b 8722 2929 0a0a 2020 3b3b 204d 6174 ...")).. ;; Mat │ │ │ -00037410: 6865 6d61 7469 6361 6c20 626f 6c64 2064 hematical bold d │ │ │ -00037420: 6967 6974 732e 0a0a 2020 2822 4230 2220 igits... ("B0" │ │ │ -00037430: 2020 2e20 2822 f09d 9f8e 2229 290a 2020 . ("....")). │ │ │ -00037440: 2822 4231 2220 2020 2e20 2822 f09d 9f8f ("B1" . (".... │ │ │ -00037450: 2229 290a 2020 2822 4232 2220 2020 2e20 ")). ("B2" . │ │ │ -00037460: 2822 f09d 9f90 2229 290a 2020 2822 4233 ("....")). ("B3 │ │ │ -00037470: 2220 2020 2e20 2822 f09d 9f91 2229 290a " . ("....")). │ │ │ -00037480: 2020 2822 4234 2220 2020 2e20 2822 f09d ("B4" . (".. │ │ │ -00037490: 9f92 2229 290a 2020 2822 4235 2220 2020 ..")). ("B5" │ │ │ -000374a0: 2e20 2822 f09d 9f93 2229 290a 2020 2822 . ("....")). (" │ │ │ -000374b0: 4236 2220 2020 2e20 2822 f09d 9f94 2229 B6" . ("....") │ │ │ -000374c0: 290a 2020 2822 4237 2220 2020 2e20 2822 ). ("B7" . (" │ │ │ -000374d0: f09d 9f95 2229 290a 2020 2822 4238 2220 ....")). ("B8" │ │ │ -000374e0: 2020 2e20 2822 f09d 9f96 2229 290a 2020 . ("....")). │ │ │ -000374f0: 2822 4239 2220 2020 2e20 2822 f09d 9f97 ("B9" . (".... │ │ │ -00037500: 2229 290a 0a20 203b 3b20 4675 6c6c 7769 ")).. ;; Fullwi │ │ │ -00037510: 6474 6820 6c65 7474 6572 732e 0a0a 2020 dth letters... │ │ │ -00037520: 2822 4641 2220 2020 2e20 2822 efbc a122 ("FA" . ("..." │ │ │ -00037530: 2929 0a20 2028 2246 4222 2020 202e 2028 )). ("FB" . ( │ │ │ -00037540: 22ef bca2 2229 290a 2020 2822 4643 2220 "...")). ("FC" │ │ │ -00037550: 2020 2e20 2822 efbc a322 2929 0a20 2028 . ("...")). ( │ │ │ -00037560: 2246 4422 2020 202e 2028 22ef bca4 2229 "FD" . ("...") │ │ │ -00037570: 290a 2020 2822 4645 2220 2020 2e20 2822 ). ("FE" . (" │ │ │ -00037580: efbc a522 2929 0a20 2028 2246 4622 2020 ...")). ("FF" │ │ │ -00037590: 202e 2028 22ef bca6 2229 290a 2020 2822 . ("...")). (" │ │ │ -000375a0: 4647 2220 2020 2e20 2822 efbc a722 2929 FG" . ("...")) │ │ │ -000375b0: 0a20 2028 2246 4822 2020 202e 2028 22ef . ("FH" . (". │ │ │ -000375c0: bca8 2229 290a 2020 2822 4649 2220 2020 ..")). ("FI" │ │ │ -000375d0: 2e20 2822 efbc a922 2929 0a20 2028 2246 . ("...")). ("F │ │ │ -000375e0: 4a22 2020 202e 2028 22ef bcaa 2229 290a J" . ("...")). │ │ │ -000375f0: 2020 2822 464b 2220 2020 2e20 2822 efbc ("FK" . (".. │ │ │ -00037600: ab22 2929 0a20 2028 2246 4c22 2020 202e .")). ("FL" . │ │ │ -00037610: 2028 22ef bcac 2229 290a 2020 2822 464d ("...")). ("FM │ │ │ -00037620: 2220 2020 2e20 2822 efbc ad22 2929 0a20 " . ("...")). │ │ │ -00037630: 2028 2246 4e22 2020 202e 2028 22ef bcae ("FN" . ("... │ │ │ -00037640: 2229 290a 2020 2822 464f 2220 2020 2e20 ")). ("FO" . │ │ │ -00037650: 2822 efbc af22 2929 0a20 2028 2246 5022 ("...")). ("FP" │ │ │ -00037660: 2020 202e 2028 22ef bcb0 2229 290a 2020 . ("...")). │ │ │ -00037670: 2822 4651 2220 2020 2e20 2822 efbc b122 ("FQ" . ("..." │ │ │ -00037680: 2929 0a20 2028 2246 5222 2020 202e 2028 )). ("FR" . ( │ │ │ -00037690: 22ef bcb2 2229 290a 2020 2822 4653 2220 "...")). ("FS" │ │ │ -000376a0: 2020 2e20 2822 efbc b322 2929 0a20 2028 . ("...")). ( │ │ │ -000376b0: 2246 5422 2020 202e 2028 22ef bcb4 2229 "FT" . ("...") │ │ │ -000376c0: 290a 2020 2822 4655 2220 2020 2e20 2822 ). ("FU" . (" │ │ │ -000376d0: efbc b522 2929 0a20 2028 2246 5622 2020 ...")). ("FV" │ │ │ -000376e0: 202e 2028 22ef bcb6 2229 290a 2020 2822 . ("...")). (" │ │ │ -000376f0: 4657 2220 2020 2e20 2822 efbc b722 2929 FW" . ("...")) │ │ │ -00037700: 0a20 2028 2246 5822 2020 202e 2028 22ef . ("FX" . (". │ │ │ -00037710: bcb8 2229 290a 2020 2822 4659 2220 2020 ..")). ("FY" │ │ │ -00037720: 2e20 2822 efbc b922 2929 0a20 2028 2246 . ("...")). ("F │ │ │ -00037730: 5a22 2020 202e 2028 22ef bcba 2229 290a Z" . ("...")). │ │ │ -00037740: 2020 2822 4661 2220 2020 2e20 2822 efbd ("Fa" . (".. │ │ │ -00037750: 8122 2929 0a20 2028 2246 6222 2020 202e .")). ("Fb" . │ │ │ -00037760: 2028 22ef bd82 2229 290a 2020 2822 4663 ("...")). ("Fc │ │ │ -00037770: 2220 2020 2e20 2822 efbd 8322 2929 0a20 " . ("...")). │ │ │ -00037780: 2028 2246 6422 2020 202e 2028 22ef bd84 ("Fd" . ("... │ │ │ -00037790: 2229 290a 2020 2822 4665 2220 2020 2e20 ")). ("Fe" . │ │ │ -000377a0: 2822 efbd 8522 2929 0a20 2028 2246 6622 ("...")). ("Ff" │ │ │ -000377b0: 2020 202e 2028 22ef bd86 2229 290a 2020 . ("...")). │ │ │ -000377c0: 2822 4667 2220 2020 2e20 2822 efbd 8722 ("Fg" . ("..." │ │ │ -000377d0: 2929 0a20 2028 2246 6822 2020 202e 2028 )). ("Fh" . ( │ │ │ -000377e0: 22ef bd88 2229 290a 2020 2822 4669 2220 "...")). ("Fi" │ │ │ -000377f0: 2020 2e20 2822 efbd 8922 2929 0a20 2028 . ("...")). ( │ │ │ -00037800: 2246 6a22 2020 202e 2028 22ef bd8a 2229 "Fj" . ("...") │ │ │ -00037810: 290a 2020 2822 466b 2220 2020 2e20 2822 ). ("Fk" . (" │ │ │ -00037820: efbd 8b22 2929 0a20 2028 2246 6c22 2020 ...")). ("Fl" │ │ │ -00037830: 202e 2028 22ef bd8c 2229 290a 2020 2822 . ("...")). (" │ │ │ -00037840: 466d 2220 2020 2e20 2822 efbd 8d22 2929 Fm" . ("...")) │ │ │ -00037850: 0a20 2028 2246 6e22 2020 202e 2028 22ef . ("Fn" . (". │ │ │ -00037860: bd8e 2229 290a 2020 2822 466f 2220 2020 ..")). ("Fo" │ │ │ -00037870: 2e20 2822 efbd 8f22 2929 0a20 2028 2246 . ("...")). ("F │ │ │ -00037880: 7022 2020 202e 2028 22ef bd90 2229 290a p" . ("...")). │ │ │ -00037890: 2020 2822 4671 2220 2020 2e20 2822 efbd ("Fq" . (".. │ │ │ -000378a0: 9122 2929 0a20 2028 2246 7222 2020 202e .")). ("Fr" . │ │ │ -000378b0: 2028 22ef bd92 2229 290a 2020 2822 4673 ("...")). ("Fs │ │ │ -000378c0: 2220 2020 2e20 2822 efbd 9322 2929 0a20 " . ("...")). │ │ │ -000378d0: 2028 2246 7422 2020 202e 2028 22ef bd94 ("Ft" . ("... │ │ │ -000378e0: 2229 290a 2020 2822 4675 2220 2020 2e20 ")). ("Fu" . │ │ │ -000378f0: 2822 efbd 9522 2929 0a20 2028 2246 7622 ("...")). ("Fv" │ │ │ -00037900: 2020 202e 2028 22ef bd96 2229 290a 2020 . ("...")). │ │ │ -00037910: 2822 4677 2220 2020 2e20 2822 efbd 9722 ("Fw" . ("..." │ │ │ -00037920: 2929 0a20 2028 2246 7822 2020 202e 2028 )). ("Fx" . ( │ │ │ -00037930: 22ef bd98 2229 290a 2020 2822 4679 2220 "...")). ("Fy" │ │ │ -00037940: 2020 2e20 2822 efbd 9922 2929 0a20 2028 . ("...")). ( │ │ │ -00037950: 2246 7a22 2020 202e 2028 22ef bd9a 2229 "Fz" . ("...") │ │ │ -00037960: 290a 0a20 203b 3b20 4675 6c6c 7769 6474 ).. ;; Fullwidt │ │ │ -00037970: 6820 6469 6769 7473 2e0a 0a20 2028 2246 h digits... ("F │ │ │ -00037980: 3022 2020 202e 2028 22ef bc90 2229 290a 0" . ("...")). │ │ │ -00037990: 2020 2822 4631 2220 2020 2e20 2822 efbc ("F1" . (".. │ │ │ -000379a0: 9122 2929 0a20 2028 2246 3222 2020 202e .")). ("F2" . │ │ │ -000379b0: 2028 22ef bc92 2229 290a 2020 2822 4633 ("...")). ("F3 │ │ │ -000379c0: 2220 2020 2e20 2822 efbc 9322 2929 0a20 " . ("...")). │ │ │ -000379d0: 2028 2246 3422 2020 202e 2028 22ef bc94 ("F4" . ("... │ │ │ -000379e0: 2229 290a 2020 2822 4635 2220 2020 2e20 ")). ("F5" . │ │ │ -000379f0: 2822 efbc 9522 2929 0a20 2028 2246 3622 ("...")). ("F6" │ │ │ -00037a00: 2020 202e 2028 22ef bc96 2229 290a 2020 . ("...")). │ │ │ -00037a10: 2822 4637 2220 2020 2e20 2822 efbc 9722 ("F7" . ("..." │ │ │ -00037a20: 2929 0a20 2028 2246 3822 2020 202e 2028 )). ("F8" . ( │ │ │ -00037a30: 22ef bc98 2229 290a 2020 2822 4639 2220 "...")). ("F9" │ │ │ -00037a40: 2020 2e20 2822 efbc 9922 2929 0a0a 2020 . ("...")).. │ │ │ -00037a50: 3b3b 2046 756c 6c77 6964 7468 2073 796d ;; Fullwidth sym │ │ │ -00037a60: 626f 6c73 2e0a 0a20 2028 2246 2122 2020 bols... ("F!" │ │ │ -00037a70: 202e 2028 22ef bc81 2229 290a 2020 2822 . ("...")). (" │ │ │ -00037a80: 465c 2222 2020 2e20 2822 efbc 8222 2929 F\"" . ("...")) │ │ │ -00037a90: 0a20 2028 2246 2322 2020 202e 2028 22ef . ("F#" . (". │ │ │ -00037aa0: bc83 2229 290a 2020 2822 4624 2220 2020 ..")). ("F$" │ │ │ -00037ab0: 2e20 2822 efbc 8422 2929 0a20 2028 2246 . ("...")). ("F │ │ │ -00037ac0: 2522 2020 202e 2028 22ef bc85 2229 290a %" . ("...")). │ │ │ -00037ad0: 2020 2822 4626 2220 2020 2e20 2822 efbc ("F&" . (".. │ │ │ -00037ae0: 8622 2929 0a20 2028 2246 2722 2020 202e .")). ("F'" . │ │ │ -00037af0: 2028 22ef bc87 2229 290a 2020 2822 4628 ("...")). ("F( │ │ │ -00037b00: 2220 2020 2e20 2822 efbc 8822 2929 0a20 " . ("...")). │ │ │ -00037b10: 2028 2246 2922 2020 202e 2028 22ef bc89 ("F)" . ("... │ │ │ -00037b20: 2229 290a 2020 2822 462a 2220 2020 2e20 ")). ("F*" . │ │ │ -00037b30: 2822 efbc 8a22 2929 0a20 2028 2246 2b22 ("...")). ("F+" │ │ │ -00037b40: 2020 202e 2028 22ef bc8b 2229 290a 2020 . ("...")). │ │ │ -00037b50: 2822 462c 2220 2020 2e20 2822 efbc 8c22 ("F," . ("..." │ │ │ -00037b60: 2929 0a20 2028 2246 2d22 2020 202e 2028 )). ("F-" . ( │ │ │ -00037b70: 22ef bc8d 2229 290a 2020 2822 462e 2220 "...")). ("F." │ │ │ -00037b80: 2020 2e20 2822 efbc 8e22 2929 0a20 2028 . ("...")). ( │ │ │ -00037b90: 2246 2f22 2020 202e 2028 22ef bc8f 2229 "F/" . ("...") │ │ │ -00037ba0: 290a 2020 2822 463a 2220 2020 2e20 2822 ). ("F:" . (" │ │ │ -00037bb0: efbc 9a22 2929 0a20 2028 2246 3b22 2020 ...")). ("F;" │ │ │ -00037bc0: 202e 2028 22ef bc9b 2229 290a 2020 2822 . ("...")). (" │ │ │ -00037bd0: 463c 2220 2020 2e20 2822 efbc 9c22 2929 F<" . ("...")) │ │ │ -00037be0: 0a20 2028 2246 3d22 2020 202e 2028 22ef . ("F=" . (". │ │ │ -00037bf0: bc9d 2229 290a 2020 2822 463e 2220 2020 ..")). ("F>" │ │ │ -00037c00: 2e20 2822 efbc 9e22 2929 0a20 2028 2246 . ("...")). ("F │ │ │ -00037c10: 3f22 2020 202e 2028 22ef bc9f 2229 290a ?" . ("...")). │ │ │ -00037c20: 2020 2822 4640 2220 2020 2e20 2822 efbc ("F@" . (".. │ │ │ -00037c30: a022 2929 0a20 2028 2246 5b22 2020 202e .")). ("F[" . │ │ │ -00037c40: 2028 22ef bcbb 2229 290a 2020 2822 465c ("...")). ("F\ │ │ │ -00037c50: 5c22 2020 2e20 2822 efbc bc22 2929 0a20 \" . ("...")). │ │ │ -00037c60: 2028 2246 5d22 2020 202e 2028 22ef bcbd ("F]" . ("... │ │ │ -00037c70: 2229 290a 2020 2822 465f 2220 2020 2e20 ")). ("F_" . │ │ │ -00037c80: 2822 efbc bf22 2929 0a20 2028 2246 7b22 ("...")). ("F{" │ │ │ -00037c90: 2020 202e 2028 22ef bd9b 2229 290a 2020 . ("...")). │ │ │ -00037ca0: 2822 467c 2220 2020 2e20 2822 efbd 9c22 ("F|" . ("..." │ │ │ -00037cb0: 2929 0a20 2028 2246 7d22 2020 202e 2028 )). ("F}" . ( │ │ │ -00037cc0: 22ef bd9d 2229 290a 2020 2822 467e 2220 "...")). ("F~" │ │ │ -00037cd0: 2020 2e20 2822 efbd 9e22 2929 0a20 2028 . ("...")). ( │ │ │ -00037ce0: 2246 2828 2220 202e 2028 22ef bd9f 2229 "F((" . ("...") │ │ │ -00037cf0: 290a 2020 2822 4629 2922 2020 2e20 2822 ). ("F))" . (" │ │ │ -00037d00: efbd a022 2929 0a20 2028 2246 6e65 6722 ...")). ("Fneg" │ │ │ -00037d10: 202e 2028 22ef bfa2 2229 290a 0a20 203b . ("...")).. ; │ │ │ -00037d20: 3b20 5061 7265 6e74 6865 7365 732e 0a0a ; Parentheses... │ │ │ -00037d30: 2020 2822 2822 202e 202c 2861 6764 612d ("(" . ,(agda- │ │ │ -00037d40: 696e 7075 742d 746f 2d73 7472 696e 672d input-to-string- │ │ │ -00037d50: 6c69 7374 2022 285b 7be2 8185 e281 bde2 list "([{....... │ │ │ -00037d60: 828d e28c a9e2 8eb4 e29f 85e2 9fa6 e29f ................ │ │ │ -00037d70: a8e2 9faa e2a6 83e3 8088 e380 8ae3 808c ................ │ │ │ -00037d80: e380 8ee3 8090 e380 94e3 8096 e380 9aef ................ │ │ │ -00037d90: b8b5 efb8 b7ef b8b9 efb8 bbef b8bd efb8 ................ │ │ │ -00037da0: bfef b981 efb9 83ef b999 efb9 9bef b99d ................ │ │ │ -00037db0: efbc 88ef bcbb efbd 9bef bda2 e29d aae2 ................ │ │ │ -00037dc0: 9dac e29d b0e2 9db2 e29d b4e2 9fae e2a6 ................ │ │ │ -00037dd0: 85e2 a697 e2a7 bce2 b8a8 e29d aee2 a687 ................ │ │ │ -00037de0: e2a6 8922 2929 0a20 2028 2229 2220 2e20 ...")). (")" . │ │ │ -00037df0: 2c28 6167 6461 2d69 6e70 7574 2d74 6f2d ,(agda-input-to- │ │ │ -00037e00: 7374 7269 6e67 2d6c 6973 7420 2229 5d7d string-list ")]} │ │ │ -00037e10: e281 86e2 81be e282 8ee2 8caa e28e b5e2 ................ │ │ │ -00037e20: 9f86 e29f a7e2 9fa9 e29f abe2 a684 e380 ................ │ │ │ -00037e30: 89e3 808b e380 8de3 808f e380 91e3 8095 ................ │ │ │ -00037e40: e380 97e3 809b efb8 b6ef b8b8 efb8 baef ................ │ │ │ -00037e50: b8bc efb8 beef b980 efb9 82ef b984 efb9 ................ │ │ │ -00037e60: 9aef b99c efb9 9eef bc89 efbc bdef bd9d ................ │ │ │ -00037e70: efbd a3e2 9dab e29d ade2 9db1 e29d b3e2 ................ │ │ │ -00037e80: 9db5 e29f afe2 a686 e2a6 98e2 a7bd e2b8 ................ │ │ │ -00037e90: a9e2 9daf e2a6 88e2 a68a 2229 290a 0a20 ..........")).. │ │ │ -00037ea0: 2028 225b 5b22 202e 2028 22e2 9fa6 2229 ("[[" . ("...") │ │ │ -00037eb0: 290a 2020 2822 5d5d 2220 2e20 2822 e29f ). ("]]" . (".. │ │ │ -00037ec0: a722 2929 0a20 2028 223c 2220 202e 202c .")). ("<" . , │ │ │ -00037ed0: 2861 6764 612d 696e 7075 742d 746f 2d73 (agda-input-to-s │ │ │ -00037ee0: 7472 696e 672d 6c69 7374 2022 e29f a83c tring-list "...< │ │ │ -00037ef0: e289 aae2 8b98 e289 bae2 8a82 e28b 90e2 ................ │ │ │ -00037f00: 8a8f e28a b0e2 8ab2 e28b 96ef bc9c 2229 ..............") │ │ │ -00037f10: 290a 2020 2822 3e22 2020 2e20 2c28 6167 ). (">" . ,(ag │ │ │ -00037f20: 6461 2d69 6e70 7574 2d74 6f2d 7374 7269 da-input-to-stri │ │ │ -00037f30: 6e67 2d6c 6973 7420 22e2 9fa9 3ee2 89ab ng-list "...>... │ │ │ -00037f40: e28b 99e2 89bb e28a 83e2 8b91 e28a 90e2 ................ │ │ │ -00037f50: 8ab1 e28a b3e2 8b97 efbc 9e22 2929 0a20 ...........")). │ │ │ -00037f60: 2028 223c 3c22 202e 2028 22e2 9faa 2229 ("<<" . ("...") │ │ │ -00037f70: 290a 2020 2822 3e3e 2220 2e20 2822 e29f ). (">>" . (".. │ │ │ -00037f80: ab22 2929 0a20 2028 227b 7b22 202e 2028 .")). ("{{" . ( │ │ │ -00037f90: 22e2 a683 2229 290a 2020 2822 7d7d 2220 "...")). ("}}" │ │ │ -00037fa0: 2e20 2822 e2a6 8422 2929 0a0a 2020 2822 . ("...")).. (" │ │ │ -00037fb0: 2862 2220 2e20 2822 e29f 8522 2929 0a20 (b" . ("...")). │ │ │ -00037fc0: 2028 2229 6222 202e 2028 22e2 9f86 2229 (")b" . ("...") │ │ │ -00037fd0: 290a 0a20 2028 226c 6261 6722 202e 2028 ).. ("lbag" . ( │ │ │ -00037fe0: 22e2 9f85 2229 290a 2020 2822 7262 6167 "...")). ("rbag │ │ │ -00037ff0: 2220 2e20 2822 e29f 8622 2929 0a0a 2020 " . ("...")).. │ │ │ -00038000: 2822 3c7c 2220 2e20 2822 e2a6 8922 2929 ("<|" . ("...")) │ │ │ -00038010: 2020 3b3b 2041 6e67 6c65 2062 6172 2062 ;; Angle bar b │ │ │ -00038020: 7261 636b 6574 730a 2020 2822 7c3e 2220 rackets. ("|>" │ │ │ -00038030: 2e20 2822 e2a6 8a22 2929 0a0a 2020 2822 . ("...")).. (" │ │ │ -00038040: 287c 2220 2e20 2822 e2a6 8722 2929 2020 (|" . ("...")) │ │ │ -00038050: 3b3b 2049 6469 6f6d 2062 7261 636b 6574 ;; Idiom bracket │ │ │ -00038060: 730a 2020 2822 7c29 2220 2e20 2822 e2a6 s. ("|)" . (".. │ │ │ -00038070: 8822 2929 0a0a 2020 2822 2828 2220 2e20 .")).. ("((" . │ │ │ -00038080: 2c28 6167 6461 2d69 6e70 7574 2d74 6f2d ,(agda-input-to- │ │ │ -00038090: 7374 7269 6e67 2d6c 6973 7420 22e2 a685 string-list "... │ │ │ -000380a0: efbd 9f22 2929 2020 3b3b 2042 616e 616e ...")) ;; Banan │ │ │ -000380b0: 6120 6272 6163 6b65 7473 0a20 2028 2229 a brackets. (") │ │ │ -000380c0: 2922 202e 202c 2861 6764 612d 696e 7075 )" . ,(agda-inpu │ │ │ -000380d0: 742d 746f 2d73 7472 696e 672d 6c69 7374 t-to-string-list │ │ │ -000380e0: 2022 e2a6 86ef bda0 2229 290a 0a20 203b "......")).. ; │ │ │ -000380f0: 3b20 5072 696d 6573 2e0a 0a20 2028 2227 ; Primes... ("' │ │ │ -00038100: 2220 2e20 2c28 6167 6461 2d69 6e70 7574 " . ,(agda-input │ │ │ -00038110: 2d74 6f2d 7374 7269 6e67 2d6c 6973 7420 -to-string-list │ │ │ -00038120: 22e2 80b2 e280 b3e2 80b4 e281 97ef bc87 "............... │ │ │ -00038130: 2229 290a 2020 2822 6022 202e 202c 2861 ")). ("`" . ,(a │ │ │ -00038140: 6764 612d 696e 7075 742d 746f 2d73 7472 gda-input-to-str │ │ │ -00038150: 696e 672d 6c69 7374 2022 e280 b5e2 80b6 ing-list "...... │ │ │ -00038160: e280 b7ef bd80 2229 290a 0a20 203b 3b20 ......")).. ;; │ │ │ -00038170: 4672 6163 7469 6f6e 732e 0a0a 2020 2822 Fractions... (" │ │ │ -00038180: 6672 6163 2220 2e20 2c28 6167 6461 2d69 frac" . ,(agda-i │ │ │ -00038190: 6e70 7574 2d74 6f2d 7374 7269 6e67 2d6c nput-to-string-l │ │ │ -000381a0: 6973 7420 22c2 bcc2 bdc2 bee2 8593 e285 ist "........... │ │ │ -000381b0: 94e2 8595 e285 96e2 8597 e285 98e2 8599 ................ │ │ │ -000381c0: e285 9ae2 859b e285 9ce2 859d e285 9ee2 ................ │ │ │ -000381d0: 859f 2229 290a 0a20 203b 3b20 4275 6c6c ..")).. ;; Bull │ │ │ -000381e0: 6574 732e 0a0a 2020 2822 6275 2220 202e ets... ("bu" . │ │ │ -000381f0: 202c 2861 6764 612d 696e 7075 742d 746f ,(agda-input-to │ │ │ -00038200: 2d73 7472 696e 672d 6c69 7374 2022 e280 -string-list ".. │ │ │ -00038210: a2e2 97a6 e280 a3e2 818c e281 8d22 2929 .............")) │ │ │ -00038220: 0a20 2028 2262 7562 2220 2e20 2822 e280 . ("bub" . (".. │ │ │ -00038230: a222 2929 0a20 2028 2262 7577 2220 2e20 .")). ("buw" . │ │ │ -00038240: 2822 e297 a622 2929 0a20 2028 2262 7574 ("...")). ("but │ │ │ -00038250: 2220 2e20 2822 e280 a322 2929 0a0a 2020 " . ("...")).. │ │ │ -00038260: 3b3b 204d 7573 6963 616c 2073 796d 626f ;; Musical symbo │ │ │ -00038270: 6c73 2e0a 0a20 2028 226e 6f74 6522 2020 ls... ("note" │ │ │ -00038280: 2020 2e20 2c28 6167 6461 2d69 6e70 7574 . ,(agda-input │ │ │ -00038290: 2d74 6f2d 7374 7269 6e67 2d6c 6973 7420 -to-string-list │ │ │ -000382a0: 22e2 99a9 e299 aae2 99ab e299 ac22 2929 "............")) │ │ │ -000382b0: 0a20 2028 2262 2220 2020 2020 2020 2e20 . ("b" . │ │ │ -000382c0: 2822 e299 ad22 2929 0a20 2028 2223 2220 ("...")). ("#" │ │ │ -000382d0: 2020 2020 2020 2e20 2822 e299 af22 2929 . ("...")) │ │ │ -000382e0: 0a20 2028 2262 6222 2020 2020 2020 2e20 . ("bb" . │ │ │ -000382f0: 2822 f09d 84ab 2229 290a 2020 2822 2323 ("....")). ("## │ │ │ -00038300: 2220 2020 2020 202e 2028 22f0 9d84 aa22 " . ("...." │ │ │ -00038310: 2929 0a0a 2020 3b3b 204f 7468 6572 2070 )).. ;; Other p │ │ │ -00038320: 756e 6374 7561 7469 6f6e 2061 6e64 2073 unctuation and s │ │ │ -00038330: 796d 626f 6c73 2e0a 0a20 2028 225c 5c22 ymbols... ("\\" │ │ │ -00038340: 2020 2020 2020 2020 202e 2028 225c 5c22 . ("\\" │ │ │ -00038350: 2929 0a20 2028 2265 6e22 2020 2020 2020 )). ("en" │ │ │ -00038360: 2020 202e 2028 22e2 8093 2229 290a 2020 . ("...")). │ │ │ -00038370: 2822 656d 2220 2020 2020 2020 2020 2e20 ("em" . │ │ │ -00038380: 2822 e280 9422 2929 0a20 2028 2221 2220 ("...")). ("!" │ │ │ -00038390: 2020 2020 2020 2020 202e 2028 22ef bc81 . ("... │ │ │ -000383a0: 2229 290a 2020 2822 2121 2220 2020 2020 ")). ("!!" │ │ │ -000383b0: 2020 2020 2e20 2822 e280 bc22 2929 0a20 . ("...")). │ │ │ -000383c0: 2028 223f 2220 2020 2020 2020 2020 202e ("?" . │ │ │ -000383d0: 2028 22ef bc9f 2229 290a 2020 2822 3f3f ("...")). ("?? │ │ │ -000383e0: 2220 2020 2020 2020 2020 2e20 2822 e281 " . (".. │ │ │ -000383f0: 8722 2929 0a20 2028 223f 2122 2020 2020 .")). ("?!" │ │ │ -00038400: 2020 2020 202e 2028 22e2 80bd 2220 22e2 . ("..." ". │ │ │ -00038410: 8188 2229 290a 2020 2822 213f 2220 2020 ..")). ("!?" │ │ │ -00038420: 2020 2020 2020 2e20 2822 e281 8922 2929 . ("...")) │ │ │ -00038430: 0a20 2028 2264 6965 2220 2020 2020 2020 . ("die" │ │ │ -00038440: 202e 202c 2861 6764 612d 696e 7075 742d . ,(agda-input- │ │ │ -00038450: 746f 2d73 7472 696e 672d 6c69 7374 2022 to-string-list " │ │ │ -00038460: e29a 80e2 9a81 e29a 82e2 9a83 e29a 84e2 ................ │ │ │ -00038470: 9a85 2229 290a 2020 2822 6173 7465 7269 ..")). ("asteri │ │ │ -00038480: 736b 2220 2020 2e20 2c28 6167 6461 2d69 sk" . ,(agda-i │ │ │ -00038490: 6e70 7574 2d74 6f2d 7374 7269 6e67 2d6c nput-to-string-l │ │ │ -000384a0: 6973 7420 22e2 818e e281 91e2 8182 e29c ist "........... │ │ │ -000384b0: a2e2 9ca3 e29c a4e2 9ca5 e29c b1e2 9cb2 ................ │ │ │ -000384c0: e29c b3e2 9cba e29c bbe2 9cbc e29c bde2 ................ │ │ │ -000384d0: 9d83 e29d 89e2 9d8a e29d 8bef bc8a 2229 ..............") │ │ │ -000384e0: 290a 2020 2822 383c 2220 2020 2020 2020 ). ("8<" │ │ │ -000384f0: 2020 2e20 2822 e29c 8222 2022 e29c 8422 . ("..." "..." │ │ │ -00038500: 2929 0a20 2028 2274 6965 2220 2020 2020 )). ("tie" │ │ │ -00038510: 2020 202e 2028 22e2 8180 2229 290a 2020 . ("...")). │ │ │ -00038520: 2822 756e 6465 7274 6965 2220 2020 2e20 ("undertie" . │ │ │ -00038530: 2822 e280 bf22 2929 0a20 2028 2261 706c ("...")). ("apl │ │ │ -00038540: 2220 2020 2020 2020 202e 202c 2861 6764 " . ,(agd │ │ │ -00038550: 612d 696e 7075 742d 746f 2d73 7472 696e a-input-to-strin │ │ │ -00038560: 672d 6c69 7374 2022 e28c b6e2 8cb7 e28c g-list "........ │ │ │ -00038570: b8e2 8cb9 e28c bae2 8cbb e28c bce2 8cbd ................ │ │ │ -00038580: e28c bee2 8cbf e28d 80e2 8d81 e28d 82e2 ................ │ │ │ -00038590: 8d83 e28d 84e2 8d85 e28d 86e2 8d87 e28d ................ │ │ │ -000385a0: 880a 2020 2020 2020 2020 2020 2020 2020 .. │ │ │ +00035eb0: 20e2 958d e295 8fe2 9485 e294 87e2 9489 ............... │ │ │ +00035ec0: e294 8b22 2929 0a0a 2020 3b3b 2054 7269 ...")).. ;; Tri │ │ │ +00035ed0: 616e 676c 6573 2e0a 0a20 203b 3b20 4269 angles... ;; Bi │ │ │ +00035ee0: 672f 736d 616c 6c2c 2062 6c61 636b 2f77 g/small, black/w │ │ │ +00035ef0: 6869 7465 2e0a 0a20 2028 2274 2220 2e20 hite... ("t" . │ │ │ +00035f00: 2c28 6167 6461 2d69 6e70 7574 2d74 6f2d ,(agda-input-to- │ │ │ +00035f10: 7374 7269 6e67 2d6c 6973 7420 22e2 9782 string-list "... │ │ │ +00035f20: e297 83e2 9784 e297 85e2 96b8 e296 b9e2 ................ │ │ │ +00035f30: 96ba e296 bbe2 96b4 e296 b5e2 96be e296 ................ │ │ │ +00035f40: bfe2 97a2 e297 bfe2 97a3 e297 bae2 97a4 ................ │ │ │ +00035f50: e297 b8e2 97a5 e297 b922 2929 0a20 2028 .........")). ( │ │ │ +00035f60: 2254 2220 2e20 2c28 6167 6461 2d69 6e70 "T" . ,(agda-inp │ │ │ +00035f70: 7574 2d74 6f2d 7374 7269 6e67 2d6c 6973 ut-to-string-lis │ │ │ +00035f80: 7420 22e2 9780 e297 81e2 96b6 e296 b7e2 t "............. │ │ │ +00035f90: 96b2 e296 b3e2 96bc e296 bde2 97ac e297 ................ │ │ │ +00035fa0: ade2 97ae 2229 290a 0a20 2028 2274 6222 ....")).. ("tb" │ │ │ +00035fb0: 202e 202c 2861 6764 612d 696e 7075 742d . ,(agda-input- │ │ │ +00035fc0: 746f 2d73 7472 696e 672d 6c69 7374 2022 to-string-list " │ │ │ +00035fd0: e297 82e2 96b8 e296 b4e2 96be e297 84e2 ................ │ │ │ +00035fe0: 96ba e297 a2e2 97a3 e297 a4e2 97a5 2229 ..............") │ │ │ +00035ff0: 290a 2020 2822 7477 2220 2e20 2c28 6167 ). ("tw" . ,(ag │ │ │ +00036000: 6461 2d69 6e70 7574 2d74 6f2d 7374 7269 da-input-to-stri │ │ │ +00036010: 6e67 2d6c 6973 7420 22e2 9783 e296 b9e2 ng-list "....... │ │ │ +00036020: 96b5 e296 bfe2 9785 e296 bbe2 97bf e297 ................ │ │ │ +00036030: bae2 97b8 e297 b922 2929 0a0a 2020 2822 .......")).. (" │ │ │ +00036040: 5462 2220 2e20 2c28 6167 6461 2d69 6e70 Tb" . ,(agda-inp │ │ │ +00036050: 7574 2d74 6f2d 7374 7269 6e67 2d6c 6973 ut-to-string-lis │ │ │ +00036060: 7420 22e2 9780 e296 b6e2 96b2 e296 bc22 t "............" │ │ │ +00036070: 2929 0a20 2028 2254 7722 202e 202c 2861 )). ("Tw" . ,(a │ │ │ +00036080: 6764 612d 696e 7075 742d 746f 2d73 7472 gda-input-to-str │ │ │ +00036090: 696e 672d 6c69 7374 2022 e297 81e2 96b7 ing-list "...... │ │ │ +000360a0: e296 b3e2 96bd 2229 290a 0a20 203b 3b20 ......")).. ;; │ │ │ +000360b0: 5371 7561 7265 732e 0a0a 2020 2822 7371 Squares... ("sq │ │ │ +000360c0: 2220 202e 202c 2861 6764 612d 696e 7075 " . ,(agda-inpu │ │ │ +000360d0: 742d 746f 2d73 7472 696e 672d 6c69 7374 t-to-string-list │ │ │ +000360e0: 2022 e296 a0e2 96a1 e297 bce2 97bb e297 ".............. │ │ │ +000360f0: bee2 97bd e296 a3e2 96a2 e296 a4e2 96a5 ................ │ │ │ +00036100: e296 a6e2 96a7 e296 a8e2 96a9 e297 a7e2 ................ │ │ │ +00036110: 97a8 e297 a9e2 97aa e297 abe2 97b0 e297 ................ │ │ │ +00036120: b1e2 97b2 e297 b322 2929 0a20 2028 2273 .......")). ("s │ │ │ +00036130: 7162 2220 2e20 2c28 6167 6461 2d69 6e70 qb" . ,(agda-inp │ │ │ +00036140: 7574 2d74 6f2d 7374 7269 6e67 2d6c 6973 ut-to-string-lis │ │ │ +00036150: 7420 22e2 96a0 e297 bce2 97be 2229 290a t ".........")). │ │ │ +00036160: 2020 2822 7371 7722 202e 202c 2861 6764 ("sqw" . ,(agd │ │ │ +00036170: 612d 696e 7075 742d 746f 2d73 7472 696e a-input-to-strin │ │ │ +00036180: 672d 6c69 7374 2022 e296 a1e2 97bb e297 g-list "........ │ │ │ +00036190: bd22 2929 0a20 2028 2273 712e 2220 2e20 .")). ("sq." . │ │ │ +000361a0: 2822 e296 a322 2929 0a20 2028 2273 716f ("...")). ("sqo │ │ │ +000361b0: 2220 2e20 2822 e296 a222 2929 0a0a 2020 " . ("...")).. │ │ │ +000361c0: 3b3b 2052 6563 7461 6e67 6c65 732e 0a0a ;; Rectangles... │ │ │ +000361d0: 2020 2822 7265 2220 202e 202c 2861 6764 ("re" . ,(agd │ │ │ +000361e0: 612d 696e 7075 742d 746f 2d73 7472 696e a-input-to-strin │ │ │ +000361f0: 672d 6c69 7374 2022 e296 ace2 96ad e296 g-list "........ │ │ │ +00036200: aee2 96af 2229 290a 2020 2822 7265 6222 ....")). ("reb" │ │ │ +00036210: 202e 202c 2861 6764 612d 696e 7075 742d . ,(agda-input- │ │ │ +00036220: 746f 2d73 7472 696e 672d 6c69 7374 2022 to-string-list " │ │ │ +00036230: e296 ace2 96ae 2229 290a 2020 2822 7265 ......")). ("re │ │ │ +00036240: 7722 202e 202c 2861 6764 612d 696e 7075 w" . ,(agda-inpu │ │ │ +00036250: 742d 746f 2d73 7472 696e 672d 6c69 7374 t-to-string-list │ │ │ +00036260: 2022 e296 ade2 96af 2229 290a 0a20 203b "......")).. ; │ │ │ +00036270: 3b20 5061 7261 6c6c 656c 6f67 7261 6d73 ; Parallelograms │ │ │ +00036280: 2e0a 0a20 2028 2270 6122 2020 2e20 2c28 ... ("pa" . ,( │ │ │ +00036290: 6167 6461 2d69 6e70 7574 2d74 6f2d 7374 agda-input-to-st │ │ │ +000362a0: 7269 6e67 2d6c 6973 7420 22e2 96b0 e296 ring-list "..... │ │ │ +000362b0: b122 2929 0a20 2028 2270 6162 2220 2e20 .")). ("pab" . │ │ │ +000362c0: 2822 e296 b022 2929 0a20 2028 2270 6177 ("...")). ("paw │ │ │ +000362d0: 2220 2e20 2822 e296 b122 2929 0a0a 2020 " . ("...")).. │ │ │ +000362e0: 3b3b 2044 6961 6d6f 6e64 732e 0a0a 2020 ;; Diamonds... │ │ │ +000362f0: 2822 6469 2220 202e 202c 2861 6764 612d ("di" . ,(agda- │ │ │ +00036300: 696e 7075 742d 746f 2d73 7472 696e 672d input-to-string- │ │ │ +00036310: 6c69 7374 2022 e297 86e2 9787 e297 8822 list "........." │ │ │ +00036320: 2929 0a20 2028 2264 6962 2220 2e20 2822 )). ("dib" . (" │ │ │ +00036330: e297 8622 2929 0a20 2028 2264 6977 2220 ...")). ("diw" │ │ │ +00036340: 2e20 2822 e297 8722 2929 0a20 2028 2264 . ("...")). ("d │ │ │ +00036350: 692e 2220 2e20 2822 e297 8822 2929 0a0a i." . ("...")).. │ │ │ +00036360: 2020 3b3b 2043 6972 636c 6573 2e0a 0a20 ;; Circles... │ │ │ +00036370: 2028 2263 6922 2020 202e 202c 2861 6764 ("ci" . ,(agd │ │ │ +00036380: 612d 696e 7075 742d 746f 2d73 7472 696e a-input-to-strin │ │ │ +00036390: 672d 6c69 7374 2022 e297 8fe2 978b e297 g-list "........ │ │ │ +000363a0: 8ee2 978c e297 afe2 978d e297 90e2 9791 ................ │ │ │ +000363b0: e297 92e2 9793 e297 94e2 9795 e297 96e2 ................ │ │ │ +000363c0: 9797 e297 a0e2 97a1 e297 b4e2 97b5 e297 ................ │ │ │ +000363d0: b6e2 97b7 e29a 86e2 9a87 e29a 88e2 9a89 ................ │ │ │ +000363e0: 2229 290a 2020 2822 6369 6222 2020 2e20 ")). ("cib" . │ │ │ +000363f0: 2822 e297 8f22 2929 0a20 2028 2263 6977 ("...")). ("ciw │ │ │ +00036400: 2220 202e 2028 22e2 978b 2229 290a 2020 " . ("...")). │ │ │ +00036410: 2822 6369 2e22 2020 2e20 2822 e297 8e22 ("ci." . ("..." │ │ │ +00036420: 2929 0a20 2028 2263 692e 2e22 202e 2028 )). ("ci.." . ( │ │ │ +00036430: 22e2 978c 2229 290a 2020 2822 6369 4f22 "...")). ("ciO" │ │ │ +00036440: 2020 2e20 2822 e297 af22 2929 0a0a 2020 . ("...")).. │ │ │ +00036450: 3b3b 2053 7461 7273 2e0a 0a20 2028 2273 ;; Stars... ("s │ │ │ +00036460: 7422 2020 202e 202c 2861 6764 612d 696e t" . ,(agda-in │ │ │ +00036470: 7075 742d 746f 2d73 7472 696e 672d 6c69 put-to-string-li │ │ │ +00036480: 7374 2022 e28b 86e2 9ca6 e29c a7e2 9cb6 st "............ │ │ │ +00036490: e29c b4e2 9cb9 20e2 9885 e298 86e2 9caa ...... ......... │ │ │ +000364a0: e29c abe2 9caf e29c b0e2 9cb5 e29c b7e2 ................ │ │ │ +000364b0: 9cb8 2229 290a 2020 2822 7374 3422 2020 ..")). ("st4" │ │ │ +000364c0: 2e20 2c28 6167 6461 2d69 6e70 7574 2d74 . ,(agda-input-t │ │ │ +000364d0: 6f2d 7374 7269 6e67 2d6c 6973 7420 22e2 o-string-list ". │ │ │ +000364e0: 9ca6 e29c a722 2929 0a20 2028 2273 7436 .....")). ("st6 │ │ │ +000364f0: 2220 202e 2028 22e2 9cb6 2229 290a 2020 " . ("...")). │ │ │ +00036500: 2822 7374 3822 2020 2e20 2822 e29c b422 ("st8" . ("..." │ │ │ +00036510: 2929 0a20 2028 2273 7431 3222 202e 2028 )). ("st12" . ( │ │ │ +00036520: 22e2 9cb9 2229 290a 0a20 203b 3b20 426c "...")).. ;; Bl │ │ │ +00036530: 6163 6b62 6f61 7264 2062 6f6c 6420 6c65 ackboard bold le │ │ │ +00036540: 7474 6572 732e 0a0a 2020 2822 6241 2220 tters... ("bA" │ │ │ +00036550: 2020 2e20 2822 f09d 94b8 2229 290a 2020 . ("....")). │ │ │ +00036560: 2822 6242 2220 2020 2e20 2822 f09d 94b9 ("bB" . (".... │ │ │ +00036570: 2229 290a 2020 2822 6243 2220 2020 2e20 ")). ("bC" . │ │ │ +00036580: 2822 e284 8222 2929 0a20 2028 2262 4422 ("...")). ("bD" │ │ │ +00036590: 2020 202e 2028 22f0 9d94 bb22 2929 0a20 . ("....")). │ │ │ +000365a0: 2028 2262 4522 2020 202e 2028 22f0 9d94 ("bE" . ("... │ │ │ +000365b0: bc22 2929 0a20 2028 2262 4622 2020 202e .")). ("bF" . │ │ │ +000365c0: 2028 22f0 9d94 bd22 2929 0a20 2028 2262 ("....")). ("b │ │ │ +000365d0: 4722 2020 202e 2028 22f0 9d94 be22 2929 G" . ("....")) │ │ │ +000365e0: 0a20 2028 2262 4822 2020 202e 2028 22e2 . ("bH" . (". │ │ │ +000365f0: 848d 2229 290a 2020 2822 6249 2220 2020 ..")). ("bI" │ │ │ +00036600: 2e20 2822 f09d 9580 2229 290a 2020 2822 . ("....")). (" │ │ │ +00036610: 624a 2220 2020 2e20 2822 f09d 9581 2229 bJ" . ("....") │ │ │ +00036620: 290a 2020 2822 624b 2220 2020 2e20 2822 ). ("bK" . (" │ │ │ +00036630: f09d 9582 2229 290a 2020 2822 624c 2220 ....")). ("bL" │ │ │ +00036640: 2020 2e20 2822 f09d 9583 2229 290a 2020 . ("....")). │ │ │ +00036650: 2822 624d 2220 2020 2e20 2822 f09d 9584 ("bM" . (".... │ │ │ +00036660: 2229 290a 2020 2822 624e 2220 2020 2e20 ")). ("bN" . │ │ │ +00036670: 2822 e284 9522 2929 0a20 2028 2262 4f22 ("...")). ("bO" │ │ │ +00036680: 2020 202e 2028 22f0 9d95 8622 2929 0a20 . ("....")). │ │ │ +00036690: 2028 2262 5022 2020 202e 2028 22e2 8499 ("bP" . ("... │ │ │ +000366a0: 2229 290a 2020 2822 6251 2220 2020 2e20 ")). ("bQ" . │ │ │ +000366b0: 2822 e284 9a22 2929 0a20 2028 2262 5222 ("...")). ("bR" │ │ │ +000366c0: 2020 202e 2028 22e2 849d 2229 290a 2020 . ("...")). │ │ │ +000366d0: 2822 6253 2220 2020 2e20 2822 f09d 958a ("bS" . (".... │ │ │ +000366e0: 2229 290a 2020 2822 6254 2220 2020 2e20 ")). ("bT" . │ │ │ +000366f0: 2822 f09d 958b 2229 290a 2020 2822 6255 ("....")). ("bU │ │ │ +00036700: 2220 2020 2e20 2822 f09d 958c 2229 290a " . ("....")). │ │ │ +00036710: 2020 2822 6256 2220 2020 2e20 2822 f09d ("bV" . (".. │ │ │ +00036720: 958d 2229 290a 2020 2822 6257 2220 2020 ..")). ("bW" │ │ │ +00036730: 2e20 2822 f09d 958e 2229 290a 2020 2822 . ("....")). (" │ │ │ +00036740: 6258 2220 2020 2e20 2822 f09d 958f 2229 bX" . ("....") │ │ │ +00036750: 290a 2020 2822 6259 2220 2020 2e20 2822 ). ("bY" . (" │ │ │ +00036760: f09d 9590 2229 290a 2020 2822 625a 2220 ....")). ("bZ" │ │ │ +00036770: 2020 2e20 2822 e284 a422 2929 0a20 2028 . ("...")). ( │ │ │ +00036780: 2262 4747 2220 202e 2028 22e2 84be 2229 "bGG" . ("...") │ │ │ +00036790: 290a 2020 2822 6247 5022 2020 2e20 2822 ). ("bGP" . (" │ │ │ +000367a0: e284 bf22 2929 0a20 2028 2262 4753 2220 ...")). ("bGS" │ │ │ +000367b0: 202e 2028 22e2 8580 2229 290a 2020 2822 . ("...")). (" │ │ │ +000367c0: 6261 2220 2020 2e20 2822 f09d 9592 2229 ba" . ("....") │ │ │ +000367d0: 290a 2020 2822 6262 2220 2020 2e20 2822 ). ("bb" . (" │ │ │ +000367e0: f09d 9593 2229 290a 2020 2822 6263 2220 ....")). ("bc" │ │ │ +000367f0: 2020 2e20 2822 f09d 9594 2229 290a 2020 . ("....")). │ │ │ +00036800: 2822 6264 2220 2020 2e20 2822 f09d 9595 ("bd" . (".... │ │ │ +00036810: 2229 290a 2020 2822 6265 2220 2020 2e20 ")). ("be" . │ │ │ +00036820: 2822 f09d 9596 2229 290a 2020 2822 6266 ("....")). ("bf │ │ │ +00036830: 2220 2020 2e20 2822 f09d 9597 2229 290a " . ("....")). │ │ │ +00036840: 2020 2822 6267 2220 2020 2e20 2822 f09d ("bg" . (".. │ │ │ +00036850: 9598 2229 290a 2020 2822 6268 2220 2020 ..")). ("bh" │ │ │ +00036860: 2e20 2822 f09d 9599 2229 290a 2020 2822 . ("....")). (" │ │ │ +00036870: 6269 2220 2020 2e20 2822 f09d 959a 2229 bi" . ("....") │ │ │ +00036880: 290a 2020 2822 626a 2220 2020 2e20 2822 ). ("bj" . (" │ │ │ +00036890: f09d 959b 2229 290a 2020 2822 626b 2220 ....")). ("bk" │ │ │ +000368a0: 2020 2e20 2822 f09d 959c 2229 290a 2020 . ("....")). │ │ │ +000368b0: 2822 626c 2220 2020 2e20 2822 f09d 959d ("bl" . (".... │ │ │ +000368c0: 2229 290a 2020 2822 626d 2220 2020 2e20 ")). ("bm" . │ │ │ +000368d0: 2822 f09d 959e 2229 290a 2020 2822 626e ("....")). ("bn │ │ │ +000368e0: 2220 2020 2e20 2822 f09d 959f 2229 290a " . ("....")). │ │ │ +000368f0: 2020 2822 626f 2220 2020 2e20 2822 f09d ("bo" . (".. │ │ │ +00036900: 95a0 2229 290a 2020 2822 6270 2220 2020 ..")). ("bp" │ │ │ +00036910: 2e20 2822 f09d 95a1 2229 290a 2020 2822 . ("....")). (" │ │ │ +00036920: 6271 2220 2020 2e20 2822 f09d 95a2 2229 bq" . ("....") │ │ │ +00036930: 290a 2020 2822 6272 2220 2020 2e20 2822 ). ("br" . (" │ │ │ +00036940: f09d 95a3 2229 290a 2020 2822 6273 2220 ....")). ("bs" │ │ │ +00036950: 2020 2e20 2822 f09d 95a4 2229 290a 2020 . ("....")). │ │ │ +00036960: 2822 6274 2220 2020 2e20 2822 f09d 95a5 ("bt" . (".... │ │ │ +00036970: 2229 290a 2020 2822 6275 2220 2020 2e20 ")). ("bu" . │ │ │ +00036980: 2822 f09d 95a6 2229 290a 2020 2822 6276 ("....")). ("bv │ │ │ +00036990: 2220 2020 2e20 2822 f09d 95a7 2229 290a " . ("....")). │ │ │ +000369a0: 2020 2822 6277 2220 2020 2e20 2822 f09d ("bw" . (".. │ │ │ +000369b0: 95a8 2229 290a 2020 2822 6278 2220 2020 ..")). ("bx" │ │ │ +000369c0: 2e20 2822 f09d 95a9 2229 290a 2020 2822 . ("....")). (" │ │ │ +000369d0: 6279 2220 2020 2e20 2822 f09d 95aa 2229 by" . ("....") │ │ │ +000369e0: 290a 2020 2822 627a 2220 2020 2e20 2822 ). ("bz" . (" │ │ │ +000369f0: f09d 95ab 2229 290a 2020 2822 6247 6722 ....")). ("bGg" │ │ │ +00036a00: 2020 2e20 2822 e284 bd22 2929 0a20 2028 . ("...")). ( │ │ │ +00036a10: 2262 4770 2220 202e 2028 22e2 84bc 2229 "bGp" . ("...") │ │ │ +00036a20: 290a 0a20 203b 3b20 426c 6163 6b62 6f61 ).. ;; Blackboa │ │ │ +00036a30: 7264 2062 6f6c 6420 6e75 6d62 6572 732e rd bold numbers. │ │ │ +00036a40: 0a0a 2020 2822 6230 2220 2020 2e20 2822 .. ("b0" . (" │ │ │ +00036a50: f09d 9f98 2229 290a 2020 2822 6231 2220 ....")). ("b1" │ │ │ +00036a60: 2020 2e20 2822 f09d 9f99 2229 290a 2020 . ("....")). │ │ │ +00036a70: 2822 6232 2220 2020 2e20 2822 f09d 9f9a ("b2" . (".... │ │ │ +00036a80: 2229 290a 2020 2822 6233 2220 2020 2e20 ")). ("b3" . │ │ │ +00036a90: 2822 f09d 9f9b 2229 290a 2020 2822 6234 ("....")). ("b4 │ │ │ +00036aa0: 2220 2020 2e20 2822 f09d 9f9c 2229 290a " . ("....")). │ │ │ +00036ab0: 2020 2822 6235 2220 2020 2e20 2822 f09d ("b5" . (".. │ │ │ +00036ac0: 9f9d 2229 290a 2020 2822 6236 2220 2020 ..")). ("b6" │ │ │ +00036ad0: 2e20 2822 f09d 9f9e 2229 290a 2020 2822 . ("....")). (" │ │ │ +00036ae0: 6237 2220 2020 2e20 2822 f09d 9f9f 2229 b7" . ("....") │ │ │ +00036af0: 290a 2020 2822 6238 2220 2020 2e20 2822 ). ("b8" . (" │ │ │ +00036b00: f09d 9fa0 2229 290a 2020 2822 6239 2220 ....")). ("b9" │ │ │ +00036b10: 2020 2e20 2822 f09d 9fa1 2229 290a 0a20 . ("....")).. │ │ │ +00036b20: 203b 3b20 4d61 7468 656d 6174 6963 616c ;; Mathematical │ │ │ +00036b30: 2062 6f6c 6420 6c65 7474 6572 732e 0a0a bold letters... │ │ │ +00036b40: 2020 2822 4241 2220 2020 2e20 2822 f09d ("BA" . (".. │ │ │ +00036b50: 9080 2229 290a 2020 2822 4242 2220 2020 ..")). ("BB" │ │ │ +00036b60: 2e20 2822 f09d 9081 2229 290a 2020 2822 . ("....")). (" │ │ │ +00036b70: 4243 2220 2020 2e20 2822 f09d 9082 2229 BC" . ("....") │ │ │ +00036b80: 290a 2020 2822 4244 2220 2020 2e20 2822 ). ("BD" . (" │ │ │ +00036b90: f09d 9083 2229 290a 2020 2822 4245 2220 ....")). ("BE" │ │ │ +00036ba0: 2020 2e20 2822 f09d 9084 2229 290a 2020 . ("....")). │ │ │ +00036bb0: 2822 4246 2220 2020 2e20 2822 f09d 9085 ("BF" . (".... │ │ │ +00036bc0: 2229 290a 2020 2822 4247 2220 2020 2e20 ")). ("BG" . │ │ │ +00036bd0: 2822 f09d 9086 2229 290a 2020 2822 4248 ("....")). ("BH │ │ │ +00036be0: 2220 2020 2e20 2822 f09d 9087 2229 290a " . ("....")). │ │ │ +00036bf0: 2020 2822 4249 2220 2020 2e20 2822 f09d ("BI" . (".. │ │ │ +00036c00: 9088 2229 290a 2020 2822 424a 2220 2020 ..")). ("BJ" │ │ │ +00036c10: 2e20 2822 f09d 9089 2229 290a 2020 2822 . ("....")). (" │ │ │ +00036c20: 424b 2220 2020 2e20 2822 f09d 908a 2229 BK" . ("....") │ │ │ +00036c30: 290a 2020 2822 424c 2220 2020 2e20 2822 ). ("BL" . (" │ │ │ +00036c40: f09d 908b 2229 290a 2020 2822 424d 2220 ....")). ("BM" │ │ │ +00036c50: 2020 2e20 2822 f09d 908c 2229 290a 2020 . ("....")). │ │ │ +00036c60: 2822 424e 2220 2020 2e20 2822 f09d 908d ("BN" . (".... │ │ │ +00036c70: 2229 290a 2020 2822 424f 2220 2020 2e20 ")). ("BO" . │ │ │ +00036c80: 2822 f09d 908e 2229 290a 2020 2822 4250 ("....")). ("BP │ │ │ +00036c90: 2220 2020 2e20 2822 f09d 908f 2229 290a " . ("....")). │ │ │ +00036ca0: 2020 2822 4251 2220 2020 2e20 2822 f09d ("BQ" . (".. │ │ │ +00036cb0: 9090 2229 290a 2020 2822 4252 2220 2020 ..")). ("BR" │ │ │ +00036cc0: 2e20 2822 f09d 9091 2229 290a 2020 2822 . ("....")). (" │ │ │ +00036cd0: 4253 2220 2020 2e20 2822 f09d 9092 2229 BS" . ("....") │ │ │ +00036ce0: 290a 2020 2822 4254 2220 2020 2e20 2822 ). ("BT" . (" │ │ │ +00036cf0: f09d 9093 2229 290a 2020 2822 4255 2220 ....")). ("BU" │ │ │ +00036d00: 2020 2e20 2822 f09d 9094 2229 290a 2020 . ("....")). │ │ │ +00036d10: 2822 4256 2220 2020 2e20 2822 f09d 9095 ("BV" . (".... │ │ │ +00036d20: 2229 290a 2020 2822 4257 2220 2020 2e20 ")). ("BW" . │ │ │ +00036d30: 2822 f09d 9096 2229 290a 2020 2822 4258 ("....")). ("BX │ │ │ +00036d40: 2220 2020 2e20 2822 f09d 9097 2229 290a " . ("....")). │ │ │ +00036d50: 2020 2822 4259 2220 2020 2e20 2822 f09d ("BY" . (".. │ │ │ +00036d60: 9098 2229 290a 2020 2822 425a 2220 2020 ..")). ("BZ" │ │ │ +00036d70: 2e20 2822 f09d 9099 2229 290a 2020 2822 . ("....")). (" │ │ │ +00036d80: 4261 2220 2020 2e20 2822 f09d 909a 2229 Ba" . ("....") │ │ │ +00036d90: 290a 2020 2822 4262 2220 2020 2e20 2822 ). ("Bb" . (" │ │ │ +00036da0: f09d 909b 2229 290a 2020 2822 4263 2220 ....")). ("Bc" │ │ │ +00036db0: 2020 2e20 2822 f09d 909c 2229 290a 2020 . ("....")). │ │ │ +00036dc0: 2822 4264 2220 2020 2e20 2822 f09d 909d ("Bd" . (".... │ │ │ +00036dd0: 2229 290a 2020 2822 4265 2220 2020 2e20 ")). ("Be" . │ │ │ +00036de0: 2822 f09d 909e 2229 290a 2020 2822 4266 ("....")). ("Bf │ │ │ +00036df0: 2220 2020 2e20 2822 f09d 909f 2229 290a " . ("....")). │ │ │ +00036e00: 2020 2822 4267 2220 2020 2e20 2822 f09d ("Bg" . (".. │ │ │ +00036e10: 90a0 2229 290a 2020 2822 4268 2220 2020 ..")). ("Bh" │ │ │ +00036e20: 2e20 2822 f09d 90a1 2229 290a 2020 2822 . ("....")). (" │ │ │ +00036e30: 4269 2220 2020 2e20 2822 f09d 90a2 2229 Bi" . ("....") │ │ │ +00036e40: 290a 2020 2822 426a 2220 2020 2e20 2822 ). ("Bj" . (" │ │ │ +00036e50: f09d 90a3 2229 290a 2020 2822 426b 2220 ....")). ("Bk" │ │ │ +00036e60: 2020 2e20 2822 f09d 90a4 2229 290a 2020 . ("....")). │ │ │ +00036e70: 2822 426c 2220 2020 2e20 2822 f09d 90a5 ("Bl" . (".... │ │ │ +00036e80: 2229 290a 2020 2822 426d 2220 2020 2e20 ")). ("Bm" . │ │ │ +00036e90: 2822 f09d 90a6 2229 290a 2020 2822 426e ("....")). ("Bn │ │ │ +00036ea0: 2220 2020 2e20 2822 f09d 90a7 2229 290a " . ("....")). │ │ │ +00036eb0: 2020 2822 426f 2220 2020 2e20 2822 f09d ("Bo" . (".. │ │ │ +00036ec0: 90a8 2229 290a 2020 2822 4270 2220 2020 ..")). ("Bp" │ │ │ +00036ed0: 2e20 2822 f09d 90a9 2229 290a 2020 2822 . ("....")). (" │ │ │ +00036ee0: 4271 2220 2020 2e20 2822 f09d 90aa 2229 Bq" . ("....") │ │ │ +00036ef0: 290a 2020 2822 4272 2220 2020 2e20 2822 ). ("Br" . (" │ │ │ +00036f00: f09d 90ab 2229 290a 2020 2822 4273 2220 ....")). ("Bs" │ │ │ +00036f10: 2020 2e20 2822 f09d 90ac 2229 290a 2020 . ("....")). │ │ │ +00036f20: 2822 4274 2220 2020 2e20 2822 f09d 90ad ("Bt" . (".... │ │ │ +00036f30: 2229 290a 2020 2822 4275 2220 2020 2e20 ")). ("Bu" . │ │ │ +00036f40: 2822 f09d 90ae 2229 290a 2020 2822 4276 ("....")). ("Bv │ │ │ +00036f50: 2220 2020 2e20 2822 f09d 90af 2229 290a " . ("....")). │ │ │ +00036f60: 2020 2822 4277 2220 2020 2e20 2822 f09d ("Bw" . (".. │ │ │ +00036f70: 90b0 2229 290a 2020 2822 4278 2220 2020 ..")). ("Bx" │ │ │ +00036f80: 2e20 2822 f09d 90b1 2229 290a 2020 2822 . ("....")). (" │ │ │ +00036f90: 4279 2220 2020 2e20 2822 f09d 90b2 2229 By" . ("....") │ │ │ +00036fa0: 290a 2020 2822 427a 2220 2020 2e20 2822 ). ("Bz" . (" │ │ │ +00036fb0: f09d 90b3 2229 290a 0a20 203b 3b20 4d61 ....")).. ;; Ma │ │ │ +00036fc0: 7468 656d 6174 6963 616c 2062 6f6c 6420 thematical bold │ │ │ +00036fd0: 4772 6565 6b20 6c65 7474 6572 732e 0a0a Greek letters... │ │ │ +00036fe0: 2020 2822 4247 4122 2020 2e20 2822 f09d ("BGA" . (".. │ │ │ +00036ff0: 9aa8 2229 290a 2020 2822 4247 4222 2020 ..")). ("BGB" │ │ │ +00037000: 2e20 2822 f09d 9aa9 2229 290a 2020 2822 . ("....")). (" │ │ │ +00037010: 4247 4322 2020 2e20 2822 f09d 9abe 2229 BGC" . ("....") │ │ │ +00037020: 290a 2020 2822 4247 4422 2020 2e20 2822 ). ("BGD" . (" │ │ │ +00037030: f09d 9aab 2229 290a 2020 2822 4247 4522 ....")). ("BGE" │ │ │ +00037040: 2020 2e20 2822 f09d 9aac 2229 290a 2020 . ("....")). │ │ │ +00037050: 2822 4247 4722 2020 2e20 2822 f09d 9aaa ("BGG" . (".... │ │ │ +00037060: 2229 290a 2020 2822 4247 4822 2020 2e20 ")). ("BGH" . │ │ │ +00037070: 2822 f09d 9aae 2229 290a 2020 2822 4247 ("....")). ("BG │ │ │ +00037080: 4922 2020 2e20 2822 f09d 9ab0 2229 290a I" . ("....")). │ │ │ +00037090: 2020 2822 4247 4b22 2020 2e20 2822 f09d ("BGK" . (".. │ │ │ +000370a0: 9ab1 2229 290a 2020 2822 4247 4c22 2020 ..")). ("BGL" │ │ │ +000370b0: 2e20 2822 f09d 9ab2 2229 290a 2020 2822 . ("....")). (" │ │ │ +000370c0: 4247 4d22 2020 2e20 2822 f09d 9ab3 2229 BGM" . ("....") │ │ │ +000370d0: 290a 2020 2822 4247 4e22 2020 2e20 2822 ). ("BGN" . (" │ │ │ +000370e0: f09d 9ab4 2229 290a 2020 2822 4247 4f22 ....")). ("BGO" │ │ │ +000370f0: 2020 2e20 2822 f09d 9b80 2229 290a 2020 . ("....")). │ │ │ +00037100: 2822 424f 6d69 6372 6f6e 2220 2e20 2822 ("BOmicron" . (" │ │ │ +00037110: f09d 9ab6 2229 290a 2020 2822 4247 4622 ....")). ("BGF" │ │ │ +00037120: 2020 2e20 2822 f09d 9abd 2229 290a 2020 . ("....")). │ │ │ +00037130: 2822 4250 6922 2020 2e20 2822 f09d 9ab7 ("BPi" . (".... │ │ │ +00037140: 2229 290a 2020 2822 4247 5022 2020 2e20 ")). ("BGP" . │ │ │ +00037150: 2822 f09d 9abf 2229 290a 2020 2822 4247 ("....")). ("BG │ │ │ +00037160: 5222 2020 2e20 2822 f09d 9ab8 2229 290a R" . ("....")). │ │ │ +00037170: 2020 2822 4247 5322 2020 2e20 2822 f09d ("BGS" . (".. │ │ │ +00037180: 9aba 2229 290a 2020 2822 4247 5422 2020 ..")). ("BGT" │ │ │ +00037190: 2e20 2822 f09d 9abb 2229 290a 2020 2822 . ("....")). (" │ │ │ +000371a0: 4247 5448 2220 2e20 2822 f09d 9aaf 2229 BGTH" . ("....") │ │ │ +000371b0: 290a 2020 2822 4247 5522 2020 2e20 2822 ). ("BGU" . (" │ │ │ +000371c0: f09d 9abc 2229 290a 2020 2822 4247 5822 ....")). ("BGX" │ │ │ +000371d0: 2020 2e20 2822 f09d 9ab5 2229 290a 2020 . ("....")). │ │ │ +000371e0: 2822 4247 5a22 2020 2e20 2822 f09d 9aad ("BGZ" . (".... │ │ │ +000371f0: 2229 290a 2020 2822 4247 6122 2020 2e20 ")). ("BGa" . │ │ │ +00037200: 2822 f09d 9b82 2229 290a 2020 2822 4247 ("....")). ("BG │ │ │ +00037210: 6222 2020 2e20 2822 f09d 9b83 2229 290a b" . ("....")). │ │ │ +00037220: 2020 2822 4247 6322 2020 2e20 2822 f09d ("BGc" . (".. │ │ │ +00037230: 9b98 2229 290a 2020 2822 4247 6422 2020 ..")). ("BGd" │ │ │ +00037240: 2e20 2822 f09d 9b85 2229 290a 2020 2822 . ("....")). (" │ │ │ +00037250: 4247 6522 2020 2e20 2822 f09d 9b86 2229 BGe" . ("....") │ │ │ +00037260: 290a 2020 2822 4247 6722 2020 2e20 2822 ). ("BGg" . (" │ │ │ +00037270: f09d 9b84 2229 290a 2020 2822 4247 6822 ....")). ("BGh" │ │ │ +00037280: 2020 2e20 2822 f09d 9b88 2229 290a 2020 . ("....")). │ │ │ +00037290: 2822 4247 6922 2020 2e20 2822 f09d 9b8a ("BGi" . (".... │ │ │ +000372a0: 2229 290a 2020 2822 4247 6b22 2020 2e20 ")). ("BGk" . │ │ │ +000372b0: 2822 f09d 9b8b 2229 290a 2020 2822 4247 ("....")). ("BG │ │ │ +000372c0: 6c22 2020 2e20 2822 f09d 9b8c 2229 290a l" . ("....")). │ │ │ +000372d0: 2020 2822 4247 6d22 2020 2e20 2822 f09d ("BGm" . (".. │ │ │ +000372e0: 9b8d 2229 290a 2020 2822 4247 6e22 2020 ..")). ("BGn" │ │ │ +000372f0: 2e20 2822 f09d 9b8e 2229 290a 2020 2822 . ("....")). (" │ │ │ +00037300: 4247 6f22 2020 2e20 2822 f09d 9b9a 2229 BGo" . ("....") │ │ │ +00037310: 290a 2020 2822 426f 6d69 6372 6f6e 2220 ). ("Bomicron" │ │ │ +00037320: 2e20 2822 f09d 9b90 2229 290a 2020 2822 . ("....")). (" │ │ │ +00037330: 4247 6622 2020 2e20 2822 f09d 9b97 2229 BGf" . ("....") │ │ │ +00037340: 290a 2020 2822 4270 6922 2020 2e20 2822 ). ("Bpi" . (" │ │ │ +00037350: f09d 9b91 2229 290a 2020 2822 4247 7022 ....")). ("BGp" │ │ │ +00037360: 2020 2e20 2822 f09d 9b99 2229 290a 2020 . ("....")). │ │ │ +00037370: 2822 4247 7222 2020 2e20 2822 f09d 9b92 ("BGr" . (".... │ │ │ +00037380: 2229 290a 2020 2822 4247 7322 2020 2e20 ")). ("BGs" . │ │ │ +00037390: 2822 f09d 9b94 2229 290a 2020 2822 4247 ("....")). ("BG │ │ │ +000373a0: 7422 2020 2e20 2822 f09d 9b95 2229 290a t" . ("....")). │ │ │ +000373b0: 2020 2822 4247 7468 2220 2e20 2822 f09d ("BGth" . (".. │ │ │ +000373c0: 9b89 2229 290a 2020 2822 4247 7522 2020 ..")). ("BGu" │ │ │ +000373d0: 2e20 2822 f09d 9b96 2229 290a 2020 2822 . ("....")). (" │ │ │ +000373e0: 4247 7822 2020 2e20 2822 f09d 9b8f 2229 BGx" . ("....") │ │ │ +000373f0: 290a 2020 2822 4247 7a22 2020 2e20 2822 ). ("BGz" . (" │ │ │ +00037400: f09d 9b87 2229 290a 0a20 203b 3b20 4d61 ....")).. ;; Ma │ │ │ +00037410: 7468 656d 6174 6963 616c 2062 6f6c 6420 thematical bold │ │ │ +00037420: 6469 6769 7473 2e0a 0a20 2028 2242 3022 digits... ("B0" │ │ │ +00037430: 2020 202e 2028 22f0 9d9f 8e22 2929 0a20 . ("....")). │ │ │ +00037440: 2028 2242 3122 2020 202e 2028 22f0 9d9f ("B1" . ("... │ │ │ +00037450: 8f22 2929 0a20 2028 2242 3222 2020 202e .")). ("B2" . │ │ │ +00037460: 2028 22f0 9d9f 9022 2929 0a20 2028 2242 ("....")). ("B │ │ │ +00037470: 3322 2020 202e 2028 22f0 9d9f 9122 2929 3" . ("....")) │ │ │ +00037480: 0a20 2028 2242 3422 2020 202e 2028 22f0 . ("B4" . (". │ │ │ +00037490: 9d9f 9222 2929 0a20 2028 2242 3522 2020 ...")). ("B5" │ │ │ +000374a0: 202e 2028 22f0 9d9f 9322 2929 0a20 2028 . ("....")). ( │ │ │ +000374b0: 2242 3622 2020 202e 2028 22f0 9d9f 9422 "B6" . ("...." │ │ │ +000374c0: 2929 0a20 2028 2242 3722 2020 202e 2028 )). ("B7" . ( │ │ │ +000374d0: 22f0 9d9f 9522 2929 0a20 2028 2242 3822 "....")). ("B8" │ │ │ +000374e0: 2020 202e 2028 22f0 9d9f 9622 2929 0a20 . ("....")). │ │ │ +000374f0: 2028 2242 3922 2020 202e 2028 22f0 9d9f ("B9" . ("... │ │ │ +00037500: 9722 2929 0a0a 2020 3b3b 2046 756c 6c77 .")).. ;; Fullw │ │ │ +00037510: 6964 7468 206c 6574 7465 7273 2e0a 0a20 idth letters... │ │ │ +00037520: 2028 2246 4122 2020 202e 2028 22ef bca1 ("FA" . ("... │ │ │ +00037530: 2229 290a 2020 2822 4642 2220 2020 2e20 ")). ("FB" . │ │ │ +00037540: 2822 efbc a222 2929 0a20 2028 2246 4322 ("...")). ("FC" │ │ │ +00037550: 2020 202e 2028 22ef bca3 2229 290a 2020 . ("...")). │ │ │ +00037560: 2822 4644 2220 2020 2e20 2822 efbc a422 ("FD" . ("..." │ │ │ +00037570: 2929 0a20 2028 2246 4522 2020 202e 2028 )). ("FE" . ( │ │ │ +00037580: 22ef bca5 2229 290a 2020 2822 4646 2220 "...")). ("FF" │ │ │ +00037590: 2020 2e20 2822 efbc a622 2929 0a20 2028 . ("...")). ( │ │ │ +000375a0: 2246 4722 2020 202e 2028 22ef bca7 2229 "FG" . ("...") │ │ │ +000375b0: 290a 2020 2822 4648 2220 2020 2e20 2822 ). ("FH" . (" │ │ │ +000375c0: efbc a822 2929 0a20 2028 2246 4922 2020 ...")). ("FI" │ │ │ +000375d0: 202e 2028 22ef bca9 2229 290a 2020 2822 . ("...")). (" │ │ │ +000375e0: 464a 2220 2020 2e20 2822 efbc aa22 2929 FJ" . ("...")) │ │ │ +000375f0: 0a20 2028 2246 4b22 2020 202e 2028 22ef . ("FK" . (". │ │ │ +00037600: bcab 2229 290a 2020 2822 464c 2220 2020 ..")). ("FL" │ │ │ +00037610: 2e20 2822 efbc ac22 2929 0a20 2028 2246 . ("...")). ("F │ │ │ +00037620: 4d22 2020 202e 2028 22ef bcad 2229 290a M" . ("...")). │ │ │ +00037630: 2020 2822 464e 2220 2020 2e20 2822 efbc ("FN" . (".. │ │ │ +00037640: ae22 2929 0a20 2028 2246 4f22 2020 202e .")). ("FO" . │ │ │ +00037650: 2028 22ef bcaf 2229 290a 2020 2822 4650 ("...")). ("FP │ │ │ +00037660: 2220 2020 2e20 2822 efbc b022 2929 0a20 " . ("...")). │ │ │ +00037670: 2028 2246 5122 2020 202e 2028 22ef bcb1 ("FQ" . ("... │ │ │ +00037680: 2229 290a 2020 2822 4652 2220 2020 2e20 ")). ("FR" . │ │ │ +00037690: 2822 efbc b222 2929 0a20 2028 2246 5322 ("...")). ("FS" │ │ │ +000376a0: 2020 202e 2028 22ef bcb3 2229 290a 2020 . ("...")). │ │ │ +000376b0: 2822 4654 2220 2020 2e20 2822 efbc b422 ("FT" . ("..." │ │ │ +000376c0: 2929 0a20 2028 2246 5522 2020 202e 2028 )). ("FU" . ( │ │ │ +000376d0: 22ef bcb5 2229 290a 2020 2822 4656 2220 "...")). ("FV" │ │ │ +000376e0: 2020 2e20 2822 efbc b622 2929 0a20 2028 . ("...")). ( │ │ │ +000376f0: 2246 5722 2020 202e 2028 22ef bcb7 2229 "FW" . ("...") │ │ │ +00037700: 290a 2020 2822 4658 2220 2020 2e20 2822 ). ("FX" . (" │ │ │ +00037710: efbc b822 2929 0a20 2028 2246 5922 2020 ...")). ("FY" │ │ │ +00037720: 202e 2028 22ef bcb9 2229 290a 2020 2822 . ("...")). (" │ │ │ +00037730: 465a 2220 2020 2e20 2822 efbc ba22 2929 FZ" . ("...")) │ │ │ +00037740: 0a20 2028 2246 6122 2020 202e 2028 22ef . ("Fa" . (". │ │ │ +00037750: bd81 2229 290a 2020 2822 4662 2220 2020 ..")). ("Fb" │ │ │ +00037760: 2e20 2822 efbd 8222 2929 0a20 2028 2246 . ("...")). ("F │ │ │ +00037770: 6322 2020 202e 2028 22ef bd83 2229 290a c" . ("...")). │ │ │ +00037780: 2020 2822 4664 2220 2020 2e20 2822 efbd ("Fd" . (".. │ │ │ +00037790: 8422 2929 0a20 2028 2246 6522 2020 202e .")). ("Fe" . │ │ │ +000377a0: 2028 22ef bd85 2229 290a 2020 2822 4666 ("...")). ("Ff │ │ │ +000377b0: 2220 2020 2e20 2822 efbd 8622 2929 0a20 " . ("...")). │ │ │ +000377c0: 2028 2246 6722 2020 202e 2028 22ef bd87 ("Fg" . ("... │ │ │ +000377d0: 2229 290a 2020 2822 4668 2220 2020 2e20 ")). ("Fh" . │ │ │ +000377e0: 2822 efbd 8822 2929 0a20 2028 2246 6922 ("...")). ("Fi" │ │ │ +000377f0: 2020 202e 2028 22ef bd89 2229 290a 2020 . ("...")). │ │ │ +00037800: 2822 466a 2220 2020 2e20 2822 efbd 8a22 ("Fj" . ("..." │ │ │ +00037810: 2929 0a20 2028 2246 6b22 2020 202e 2028 )). ("Fk" . ( │ │ │ +00037820: 22ef bd8b 2229 290a 2020 2822 466c 2220 "...")). ("Fl" │ │ │ +00037830: 2020 2e20 2822 efbd 8c22 2929 0a20 2028 . ("...")). ( │ │ │ +00037840: 2246 6d22 2020 202e 2028 22ef bd8d 2229 "Fm" . ("...") │ │ │ +00037850: 290a 2020 2822 466e 2220 2020 2e20 2822 ). ("Fn" . (" │ │ │ +00037860: efbd 8e22 2929 0a20 2028 2246 6f22 2020 ...")). ("Fo" │ │ │ +00037870: 202e 2028 22ef bd8f 2229 290a 2020 2822 . ("...")). (" │ │ │ +00037880: 4670 2220 2020 2e20 2822 efbd 9022 2929 Fp" . ("...")) │ │ │ +00037890: 0a20 2028 2246 7122 2020 202e 2028 22ef . ("Fq" . (". │ │ │ +000378a0: bd91 2229 290a 2020 2822 4672 2220 2020 ..")). ("Fr" │ │ │ +000378b0: 2e20 2822 efbd 9222 2929 0a20 2028 2246 . ("...")). ("F │ │ │ +000378c0: 7322 2020 202e 2028 22ef bd93 2229 290a s" . ("...")). │ │ │ +000378d0: 2020 2822 4674 2220 2020 2e20 2822 efbd ("Ft" . (".. │ │ │ +000378e0: 9422 2929 0a20 2028 2246 7522 2020 202e .")). ("Fu" . │ │ │ +000378f0: 2028 22ef bd95 2229 290a 2020 2822 4676 ("...")). ("Fv │ │ │ +00037900: 2220 2020 2e20 2822 efbd 9622 2929 0a20 " . ("...")). │ │ │ +00037910: 2028 2246 7722 2020 202e 2028 22ef bd97 ("Fw" . ("... │ │ │ +00037920: 2229 290a 2020 2822 4678 2220 2020 2e20 ")). ("Fx" . │ │ │ +00037930: 2822 efbd 9822 2929 0a20 2028 2246 7922 ("...")). ("Fy" │ │ │ +00037940: 2020 202e 2028 22ef bd99 2229 290a 2020 . ("...")). │ │ │ +00037950: 2822 467a 2220 2020 2e20 2822 efbd 9a22 ("Fz" . ("..." │ │ │ +00037960: 2929 0a0a 2020 3b3b 2046 756c 6c77 6964 )).. ;; Fullwid │ │ │ +00037970: 7468 2064 6967 6974 732e 0a0a 2020 2822 th digits... (" │ │ │ +00037980: 4630 2220 2020 2e20 2822 efbc 9022 2929 F0" . ("...")) │ │ │ +00037990: 0a20 2028 2246 3122 2020 202e 2028 22ef . ("F1" . (". │ │ │ +000379a0: bc91 2229 290a 2020 2822 4632 2220 2020 ..")). ("F2" │ │ │ +000379b0: 2e20 2822 efbc 9222 2929 0a20 2028 2246 . ("...")). ("F │ │ │ +000379c0: 3322 2020 202e 2028 22ef bc93 2229 290a 3" . ("...")). │ │ │ +000379d0: 2020 2822 4634 2220 2020 2e20 2822 efbc ("F4" . (".. │ │ │ +000379e0: 9422 2929 0a20 2028 2246 3522 2020 202e .")). ("F5" . │ │ │ +000379f0: 2028 22ef bc95 2229 290a 2020 2822 4636 ("...")). ("F6 │ │ │ +00037a00: 2220 2020 2e20 2822 efbc 9622 2929 0a20 " . ("...")). │ │ │ +00037a10: 2028 2246 3722 2020 202e 2028 22ef bc97 ("F7" . ("... │ │ │ +00037a20: 2229 290a 2020 2822 4638 2220 2020 2e20 ")). ("F8" . │ │ │ +00037a30: 2822 efbc 9822 2929 0a20 2028 2246 3922 ("...")). ("F9" │ │ │ +00037a40: 2020 202e 2028 22ef bc99 2229 290a 0a20 . ("...")).. │ │ │ +00037a50: 203b 3b20 4675 6c6c 7769 6474 6820 7379 ;; Fullwidth sy │ │ │ +00037a60: 6d62 6f6c 732e 0a0a 2020 2822 4621 2220 mbols... ("F!" │ │ │ +00037a70: 2020 2e20 2822 efbc 8122 2929 0a20 2028 . ("...")). ( │ │ │ +00037a80: 2246 5c22 2220 202e 2028 22ef bc82 2229 "F\"" . ("...") │ │ │ +00037a90: 290a 2020 2822 4623 2220 2020 2e20 2822 ). ("F#" . (" │ │ │ +00037aa0: efbc 8322 2929 0a20 2028 2246 2422 2020 ...")). ("F$" │ │ │ +00037ab0: 202e 2028 22ef bc84 2229 290a 2020 2822 . ("...")). (" │ │ │ +00037ac0: 4625 2220 2020 2e20 2822 efbc 8522 2929 F%" . ("...")) │ │ │ +00037ad0: 0a20 2028 2246 2622 2020 202e 2028 22ef . ("F&" . (". │ │ │ +00037ae0: bc86 2229 290a 2020 2822 4627 2220 2020 ..")). ("F'" │ │ │ +00037af0: 2e20 2822 efbc 8722 2929 0a20 2028 2246 . ("...")). ("F │ │ │ +00037b00: 2822 2020 202e 2028 22ef bc88 2229 290a (" . ("...")). │ │ │ +00037b10: 2020 2822 4629 2220 2020 2e20 2822 efbc ("F)" . (".. │ │ │ +00037b20: 8922 2929 0a20 2028 2246 2a22 2020 202e .")). ("F*" . │ │ │ +00037b30: 2028 22ef bc8a 2229 290a 2020 2822 462b ("...")). ("F+ │ │ │ +00037b40: 2220 2020 2e20 2822 efbc 8b22 2929 0a20 " . ("...")). │ │ │ +00037b50: 2028 2246 2c22 2020 202e 2028 22ef bc8c ("F," . ("... │ │ │ +00037b60: 2229 290a 2020 2822 462d 2220 2020 2e20 ")). ("F-" . │ │ │ +00037b70: 2822 efbc 8d22 2929 0a20 2028 2246 2e22 ("...")). ("F." │ │ │ +00037b80: 2020 202e 2028 22ef bc8e 2229 290a 2020 . ("...")). │ │ │ +00037b90: 2822 462f 2220 2020 2e20 2822 efbc 8f22 ("F/" . ("..." │ │ │ +00037ba0: 2929 0a20 2028 2246 3a22 2020 202e 2028 )). ("F:" . ( │ │ │ +00037bb0: 22ef bc9a 2229 290a 2020 2822 463b 2220 "...")). ("F;" │ │ │ +00037bc0: 2020 2e20 2822 efbc 9b22 2929 0a20 2028 . ("...")). ( │ │ │ +00037bd0: 2246 3c22 2020 202e 2028 22ef bc9c 2229 "F<" . ("...") │ │ │ +00037be0: 290a 2020 2822 463d 2220 2020 2e20 2822 ). ("F=" . (" │ │ │ +00037bf0: efbc 9d22 2929 0a20 2028 2246 3e22 2020 ...")). ("F>" │ │ │ +00037c00: 202e 2028 22ef bc9e 2229 290a 2020 2822 . ("...")). (" │ │ │ +00037c10: 463f 2220 2020 2e20 2822 efbc 9f22 2929 F?" . ("...")) │ │ │ +00037c20: 0a20 2028 2246 4022 2020 202e 2028 22ef . ("F@" . (". │ │ │ +00037c30: bca0 2229 290a 2020 2822 465b 2220 2020 ..")). ("F[" │ │ │ +00037c40: 2e20 2822 efbc bb22 2929 0a20 2028 2246 . ("...")). ("F │ │ │ +00037c50: 5c5c 2220 202e 2028 22ef bcbc 2229 290a \\" . ("...")). │ │ │ +00037c60: 2020 2822 465d 2220 2020 2e20 2822 efbc ("F]" . (".. │ │ │ +00037c70: bd22 2929 0a20 2028 2246 5f22 2020 202e .")). ("F_" . │ │ │ +00037c80: 2028 22ef bcbf 2229 290a 2020 2822 467b ("...")). ("F{ │ │ │ +00037c90: 2220 2020 2e20 2822 efbd 9b22 2929 0a20 " . ("...")). │ │ │ +00037ca0: 2028 2246 7c22 2020 202e 2028 22ef bd9c ("F|" . ("... │ │ │ +00037cb0: 2229 290a 2020 2822 467d 2220 2020 2e20 ")). ("F}" . │ │ │ +00037cc0: 2822 efbd 9d22 2929 0a20 2028 2246 7e22 ("...")). ("F~" │ │ │ +00037cd0: 2020 202e 2028 22ef bd9e 2229 290a 2020 . ("...")). │ │ │ +00037ce0: 2822 4628 2822 2020 2e20 2822 efbd 9f22 ("F((" . ("..." │ │ │ +00037cf0: 2929 0a20 2028 2246 2929 2220 202e 2028 )). ("F))" . ( │ │ │ +00037d00: 22ef bda0 2229 290a 2020 2822 466e 6567 "...")). ("Fneg │ │ │ +00037d10: 2220 2e20 2822 efbf a222 2929 0a0a 2020 " . ("...")).. │ │ │ +00037d20: 3b3b 2050 6172 656e 7468 6573 6573 2e0a ;; Parentheses.. │ │ │ +00037d30: 0a20 2028 2228 2220 2e20 2c28 6167 6461 . ("(" . ,(agda │ │ │ +00037d40: 2d69 6e70 7574 2d74 6f2d 7374 7269 6e67 -input-to-string │ │ │ +00037d50: 2d6c 6973 7420 2228 5b7b e281 85e2 81bd -list "([{...... │ │ │ +00037d60: e282 8de2 8ca9 e28e b4e2 9f85 e29f a6e2 ................ │ │ │ +00037d70: 9fa8 e29f aae2 a683 e380 88e3 808a e380 ................ │ │ │ +00037d80: 8ce3 808e e380 90e3 8094 e380 96e3 809a ................ │ │ │ +00037d90: efb8 b5ef b8b7 efb8 b9ef b8bb efb8 bdef ................ │ │ │ +00037da0: b8bf efb9 81ef b983 efb9 99ef b99b efb9 ................ │ │ │ +00037db0: 9def bc88 efbc bbef bd9b efbd a2e2 9daa ................ │ │ │ +00037dc0: e29d ace2 9db0 e29d b2e2 9db4 e29f aee2 ................ │ │ │ +00037dd0: a685 e2a6 97e2 a7bc e2b8 a8e2 9dae e2a6 ................ │ │ │ +00037de0: 87e2 a689 2229 290a 2020 2822 2922 202e ....")). (")" . │ │ │ +00037df0: 202c 2861 6764 612d 696e 7075 742d 746f ,(agda-input-to │ │ │ +00037e00: 2d73 7472 696e 672d 6c69 7374 2022 295d -string-list ")] │ │ │ +00037e10: 7de2 8186 e281 bee2 828e e28c aae2 8eb5 }............... │ │ │ +00037e20: e29f 86e2 9fa7 e29f a9e2 9fab e2a6 84e3 ................ │ │ │ +00037e30: 8089 e380 8be3 808d e380 8fe3 8091 e380 ................ │ │ │ +00037e40: 95e3 8097 e380 9bef b8b6 efb8 b8ef b8ba ................ │ │ │ +00037e50: efb8 bcef b8be efb9 80ef b982 efb9 84ef ................ │ │ │ +00037e60: b99a efb9 9cef b99e efbc 89ef bcbd efbd ................ │ │ │ +00037e70: 9def bda3 e29d abe2 9dad e29d b1e2 9db3 ................ │ │ │ +00037e80: e29d b5e2 9faf e2a6 86e2 a698 e2a7 bde2 ................ │ │ │ +00037e90: b8a9 e29d afe2 a688 e2a6 8a22 2929 0a0a ...........")).. │ │ │ +00037ea0: 2020 2822 5b5b 2220 2e20 2822 e29f a622 ("[[" . ("..." │ │ │ +00037eb0: 2929 0a20 2028 225d 5d22 202e 2028 22e2 )). ("]]" . (". │ │ │ +00037ec0: 9fa7 2229 290a 2020 2822 3c22 2020 2e20 ..")). ("<" . │ │ │ +00037ed0: 2c28 6167 6461 2d69 6e70 7574 2d74 6f2d ,(agda-input-to- │ │ │ +00037ee0: 7374 7269 6e67 2d6c 6973 7420 22e2 9fa8 string-list "... │ │ │ +00037ef0: 3ce2 89aa e28b 98e2 89ba e28a 82e2 8b90 <............... │ │ │ +00037f00: e28a 8fe2 8ab0 e28a b2e2 8b96 efbc 9c22 ..............." │ │ │ +00037f10: 2929 0a20 2028 223e 2220 202e 202c 2861 )). (">" . ,(a │ │ │ +00037f20: 6764 612d 696e 7075 742d 746f 2d73 7472 gda-input-to-str │ │ │ +00037f30: 696e 672d 6c69 7374 2022 e29f a93e e289 ing-list "...>.. │ │ │ +00037f40: abe2 8b99 e289 bbe2 8a83 e28b 91e2 8a90 ................ │ │ │ +00037f50: e28a b1e2 8ab3 e28b 97ef bc9e 2229 290a ............")). │ │ │ +00037f60: 2020 2822 3c3c 2220 2e20 2822 e29f aa22 ("<<" . ("..." │ │ │ +00037f70: 2929 0a20 2028 223e 3e22 202e 2028 22e2 )). (">>" . (". │ │ │ +00037f80: 9fab 2229 290a 2020 2822 7b7b 2220 2e20 ..")). ("{{" . │ │ │ +00037f90: 2822 e2a6 8322 2929 0a20 2028 227d 7d22 ("...")). ("}}" │ │ │ +00037fa0: 202e 2028 22e2 a684 2229 290a 0a20 2028 . ("...")).. ( │ │ │ +00037fb0: 2228 6222 202e 2028 22e2 9f85 2229 290a "(b" . ("...")). │ │ │ +00037fc0: 2020 2822 2962 2220 2e20 2822 e29f 8622 (")b" . ("..." │ │ │ +00037fd0: 2929 0a0a 2020 2822 6c62 6167 2220 2e20 )).. ("lbag" . │ │ │ +00037fe0: 2822 e29f 8522 2929 0a20 2028 2272 6261 ("...")). ("rba │ │ │ +00037ff0: 6722 202e 2028 22e2 9f86 2229 290a 0a20 g" . ("...")).. │ │ │ +00038000: 2028 223c 7c22 202e 2028 22e2 a689 2229 ("<|" . ("...") │ │ │ +00038010: 2920 203b 3b20 416e 676c 6520 6261 7220 ) ;; Angle bar │ │ │ +00038020: 6272 6163 6b65 7473 0a20 2028 227c 3e22 brackets. ("|>" │ │ │ +00038030: 202e 2028 22e2 a68a 2229 290a 0a20 2028 . ("...")).. ( │ │ │ +00038040: 2228 7c22 202e 2028 22e2 a687 2229 2920 "(|" . ("...")) │ │ │ +00038050: 203b 3b20 4964 696f 6d20 6272 6163 6b65 ;; Idiom bracke │ │ │ +00038060: 7473 0a20 2028 227c 2922 202e 2028 22e2 ts. ("|)" . (". │ │ │ +00038070: a688 2229 290a 0a20 2028 2228 2822 202e ..")).. ("((" . │ │ │ +00038080: 202c 2861 6764 612d 696e 7075 742d 746f ,(agda-input-to │ │ │ +00038090: 2d73 7472 696e 672d 6c69 7374 2022 e2a6 -string-list ".. │ │ │ +000380a0: 85ef bd9f 2229 2920 203b 3b20 4261 6e61 ....")) ;; Bana │ │ │ +000380b0: 6e61 2062 7261 636b 6574 730a 2020 2822 na brackets. (" │ │ │ +000380c0: 2929 2220 2e20 2c28 6167 6461 2d69 6e70 ))" . ,(agda-inp │ │ │ +000380d0: 7574 2d74 6f2d 7374 7269 6e67 2d6c 6973 ut-to-string-lis │ │ │ +000380e0: 7420 22e2 a686 efbd a022 2929 0a0a 2020 t "......")).. │ │ │ +000380f0: 3b3b 2050 7269 6d65 732e 0a0a 2020 2822 ;; Primes... (" │ │ │ +00038100: 2722 202e 202c 2861 6764 612d 696e 7075 '" . ,(agda-inpu │ │ │ +00038110: 742d 746f 2d73 7472 696e 672d 6c69 7374 t-to-string-list │ │ │ +00038120: 2022 e280 b2e2 80b3 e280 b4e2 8197 efbc ".............. │ │ │ +00038130: 8722 2929 0a20 2028 2260 2220 2e20 2c28 .")). ("`" . ,( │ │ │ +00038140: 6167 6461 2d69 6e70 7574 2d74 6f2d 7374 agda-input-to-st │ │ │ +00038150: 7269 6e67 2d6c 6973 7420 22e2 80b5 e280 ring-list "..... │ │ │ +00038160: b6e2 80b7 efbd 8022 2929 0a0a 2020 3b3b .......")).. ;; │ │ │ +00038170: 2046 7261 6374 696f 6e73 2e0a 0a20 2028 Fractions... ( │ │ │ +00038180: 2266 7261 6322 202e 202c 2861 6764 612d "frac" . ,(agda- │ │ │ +00038190: 696e 7075 742d 746f 2d73 7472 696e 672d input-to-string- │ │ │ +000381a0: 6c69 7374 2022 c2bc c2bd c2be e285 93e2 list ".......... │ │ │ +000381b0: 8594 e285 95e2 8596 e285 97e2 8598 e285 ................ │ │ │ +000381c0: 99e2 859a e285 9be2 859c e285 9de2 859e ................ │ │ │ +000381d0: e285 9f22 2929 0a0a 2020 3b3b 2042 756c ...")).. ;; Bul │ │ │ +000381e0: 6c65 7473 2e0a 0a20 2028 2262 7522 2020 lets... ("bu" │ │ │ +000381f0: 2e20 2c28 6167 6461 2d69 6e70 7574 2d74 . ,(agda-input-t │ │ │ +00038200: 6f2d 7374 7269 6e67 2d6c 6973 7420 22e2 o-string-list ". │ │ │ +00038210: 80a2 e297 a6e2 80a3 e281 8ce2 818d 2229 ..............") │ │ │ +00038220: 290a 2020 2822 6275 6222 202e 2028 22e2 ). ("bub" . (". │ │ │ +00038230: 80a2 2229 290a 2020 2822 6275 7722 202e ..")). ("buw" . │ │ │ +00038240: 2028 22e2 97a6 2229 290a 2020 2822 6275 ("...")). ("bu │ │ │ +00038250: 7422 202e 2028 22e2 80a3 2229 290a 0a20 t" . ("...")).. │ │ │ +00038260: 203b 3b20 4d75 7369 6361 6c20 7379 6d62 ;; Musical symb │ │ │ +00038270: 6f6c 732e 0a0a 2020 2822 6e6f 7465 2220 ols... ("note" │ │ │ +00038280: 2020 202e 202c 2861 6764 612d 696e 7075 . ,(agda-inpu │ │ │ +00038290: 742d 746f 2d73 7472 696e 672d 6c69 7374 t-to-string-list │ │ │ +000382a0: 2022 e299 a9e2 99aa e299 abe2 99ac 2229 "............") │ │ │ +000382b0: 290a 2020 2822 6222 2020 2020 2020 202e ). ("b" . │ │ │ +000382c0: 2028 22e2 99ad 2229 290a 2020 2822 2322 ("...")). ("#" │ │ │ +000382d0: 2020 2020 2020 202e 2028 22e2 99af 2229 . ("...") │ │ │ +000382e0: 290a 2020 2822 6262 2220 2020 2020 202e ). ("bb" . │ │ │ +000382f0: 2028 22f0 9d84 ab22 2929 0a20 2028 2223 ("....")). ("# │ │ │ +00038300: 2322 2020 2020 2020 2e20 2822 f09d 84aa #" . (".... │ │ │ +00038310: 2229 290a 0a20 203b 3b20 4f74 6865 7220 ")).. ;; Other │ │ │ +00038320: 7075 6e63 7475 6174 696f 6e20 616e 6420 punctuation and │ │ │ +00038330: 7379 6d62 6f6c 732e 0a0a 2020 2822 5c5c symbols... ("\\ │ │ │ +00038340: 2220 2020 2020 2020 2020 2e20 2822 5c5c " . ("\\ │ │ │ +00038350: 2229 290a 2020 2822 656e 2220 2020 2020 ")). ("en" │ │ │ +00038360: 2020 2020 2e20 2822 e280 9322 2929 0a20 . ("...")). │ │ │ +00038370: 2028 2265 6d22 2020 2020 2020 2020 202e ("em" . │ │ │ +00038380: 2028 22e2 8094 2229 290a 2020 2822 2122 ("...")). ("!" │ │ │ +00038390: 2020 2020 2020 2020 2020 2e20 2822 efbc . (".. │ │ │ +000383a0: 8122 2929 0a20 2028 2221 2122 2020 2020 .")). ("!!" │ │ │ +000383b0: 2020 2020 202e 2028 22e2 80bc 2229 290a . ("...")). │ │ │ +000383c0: 2020 2822 3f22 2020 2020 2020 2020 2020 ("?" │ │ │ +000383d0: 2e20 2822 efbc 9f22 2929 0a20 2028 223f . ("...")). ("? │ │ │ +000383e0: 3f22 2020 2020 2020 2020 202e 2028 22e2 ?" . (". │ │ │ +000383f0: 8187 2229 290a 2020 2822 3f21 2220 2020 ..")). ("?!" │ │ │ +00038400: 2020 2020 2020 2e20 2822 e280 bd22 2022 . ("..." " │ │ │ +00038410: e281 8822 2929 0a20 2028 2221 3f22 2020 ...")). ("!?" │ │ │ +00038420: 2020 2020 2020 202e 2028 22e2 8189 2229 . ("...") │ │ │ +00038430: 290a 2020 2822 6469 6522 2020 2020 2020 ). ("die" │ │ │ +00038440: 2020 2e20 2c28 6167 6461 2d69 6e70 7574 . ,(agda-input │ │ │ +00038450: 2d74 6f2d 7374 7269 6e67 2d6c 6973 7420 -to-string-list │ │ │ +00038460: 22e2 9a80 e29a 81e2 9a82 e29a 83e2 9a84 "............... │ │ │ +00038470: e29a 8522 2929 0a20 2028 2261 7374 6572 ...")). ("aster │ │ │ +00038480: 6973 6b22 2020 202e 202c 2861 6764 612d isk" . ,(agda- │ │ │ +00038490: 696e 7075 742d 746f 2d73 7472 696e 672d input-to-string- │ │ │ +000384a0: 6c69 7374 2022 e281 8ee2 8191 e281 82e2 list ".......... │ │ │ +000384b0: 9ca2 e29c a3e2 9ca4 e29c a5e2 9cb1 e29c ................ │ │ │ +000384c0: b2e2 9cb3 e29c bae2 9cbb e29c bce2 9cbd ................ │ │ │ +000384d0: e29d 83e2 9d89 e29d 8ae2 9d8b efbc 8a22 ..............." │ │ │ +000384e0: 2929 0a20 2028 2238 3c22 2020 2020 2020 )). ("8<" │ │ │ +000384f0: 2020 202e 2028 22e2 9c82 2220 22e2 9c84 . ("..." "... │ │ │ +00038500: 2229 290a 2020 2822 7469 6522 2020 2020 ")). ("tie" │ │ │ +00038510: 2020 2020 2e20 2822 e281 8022 2929 0a20 . ("...")). │ │ │ +00038520: 2028 2275 6e64 6572 7469 6522 2020 202e ("undertie" . │ │ │ +00038530: 2028 22e2 80bf 2229 290a 2020 2822 6170 ("...")). ("ap │ │ │ +00038540: 6c22 2020 2020 2020 2020 2e20 2c28 6167 l" . ,(ag │ │ │ +00038550: 6461 2d69 6e70 7574 2d74 6f2d 7374 7269 da-input-to-stri │ │ │ +00038560: 6e67 2d6c 6973 7420 22e2 8cb6 e28c b7e2 ng-list "....... │ │ │ +00038570: 8cb8 e28c b9e2 8cba e28c bbe2 8cbc e28c ................ │ │ │ +00038580: bde2 8cbe e28c bfe2 8d80 e28d 81e2 8d82 ................ │ │ │ +00038590: e28d 83e2 8d84 e28d 85e2 8d86 e28d 87e2 ................ │ │ │ +000385a0: 8d88 0a20 2020 2020 2020 2020 2020 2020 ... │ │ │ 000385b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 000385c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -000385d0: 20e2 8d89 e28d 8ae2 8d8b e28d 8ce2 8d8d ............... │ │ │ -000385e0: e28d 8ee2 8d8f e28d 90e2 8d91 e28d 92e2 ................ │ │ │ -000385f0: 8d93 e28d 94e2 8d95 e28d 96e2 8d97 e28d ................ │ │ │ -00038600: 98e2 8d99 e28d 9ae2 8d9b 0a20 2020 2020 ........... │ │ │ +000385d0: 2020 e28d 89e2 8d8a e28d 8be2 8d8c e28d .............. │ │ │ +000385e0: 8de2 8d8e e28d 8fe2 8d90 e28d 91e2 8d92 ................ │ │ │ +000385f0: e28d 93e2 8d94 e28d 95e2 8d96 e28d 97e2 ................ │ │ │ +00038600: 8d98 e28d 99e2 8d9a e28d 9b0a 2020 2020 ............ │ │ │ 00038610: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 00038620: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00038630: 2020 2020 2020 2020 2020 e28d 9ce2 8d9d ...... │ │ │ -00038640: e28d 9ee2 8d9f e28d a0e2 8da1 e28d a2e2 ................ │ │ │ -00038650: 8da3 e28d a4e2 8da5 e28d a6e2 8da7 e28d ................ │ │ │ -00038660: a8e2 8da9 e28d aae2 8dab e28d ace2 8dad ................ │ │ │ -00038670: e28d ae0a 2020 2020 2020 2020 2020 2020 .... │ │ │ +00038630: 2020 2020 2020 2020 2020 20e2 8d9c e28d ..... │ │ │ +00038640: 9de2 8d9e e28d 9fe2 8da0 e28d a1e2 8da2 ................ │ │ │ +00038650: e28d a3e2 8da4 e28d a5e2 8da6 e28d a7e2 ................ │ │ │ +00038660: 8da8 e28d a9e2 8daa e28d abe2 8dac e28d ................ │ │ │ +00038670: ade2 8dae 0a20 2020 2020 2020 2020 2020 ..... │ │ │ 00038680: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 00038690: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -000386a0: 2020 20e2 8daf e28d b0e2 8db1 e28d b2e2 ............. │ │ │ -000386b0: 8db3 e28d b4e2 8db5 e28d b6e2 8db7 e28d ................ │ │ │ -000386c0: b8e2 8db9 e28d bae2 8e95 2229 290a 2020 ..........")). │ │ │ -000386d0: 2822 2322 2020 2020 2020 2020 2020 2e20 ("#" . │ │ │ -000386e0: 2822 efbc 8322 2929 0a20 2028 2225 2220 ("...")). ("%" │ │ │ -000386f0: 2020 2020 2020 2020 202e 2028 22ef bc85 . ("... │ │ │ -00038700: 2229 290a 2020 2822 2622 2020 2020 2020 ")). ("&" │ │ │ -00038710: 2020 2020 2e20 2822 efbc 8622 2929 0a20 . ("...")). │ │ │ -00038720: 2028 222a 2220 2020 2020 2020 2020 202e ("*" . │ │ │ -00038730: 2028 22ef bc8a 2229 290a 2020 2822 2f22 ("...")). ("/" │ │ │ -00038740: 2020 2020 2020 2020 2020 2e20 2c28 6167 . ,(ag │ │ │ -00038750: 6461 2d69 6e70 7574 2d74 6f2d 7374 7269 da-input-to-stri │ │ │ -00038760: 6e67 2d6c 6973 7420 22ef bc8f efbc bc22 ng-list "......" │ │ │ -00038770: 2929 0a20 2028 2240 2220 2020 2020 2020 )). ("@" │ │ │ -00038780: 2020 202e 2028 22ef bca0 2229 290a 2020 . ("...")). │ │ │ -00038790: 2822 5f5f 2220 2020 2020 2020 2020 2e20 ("__" . │ │ │ -000387a0: 2822 efbc bf22 2929 0a20 2028 225c 2222 ("...")). ("\"" │ │ │ -000387b0: 2020 2020 2020 2020 202e 2028 22ef bc82 . ("... │ │ │ -000387c0: 2229 290a 2020 2822 6372 6f73 736d 6172 ")). ("crossmar │ │ │ -000387d0: 6b22 2020 2e20 2822 e29c 9722 2929 0a0a k" . ("...")).. │ │ │ -000387e0: 2020 3b3b 2053 6f6d 6520 636f 6d62 696e ;; Some combin │ │ │ -000387f0: 696e 6720 6368 6172 6163 7465 7273 2e0a ing characters.. │ │ │ -00038800: 2020 3b3b 0a20 203b 3b20 5468 6520 666f ;;. ;; The fo │ │ │ -00038810: 6c6c 6f77 696e 6720 636f 6d62 696e 696e llowing combinin │ │ │ -00038820: 6720 6368 6172 6163 7465 7273 2061 6c73 g characters als │ │ │ -00038830: 6f20 6861 7665 2028 6f74 6865 7229 0a20 o have (other). │ │ │ -00038840: 203b 3b20 7472 616e 736c 6174 696f 6e73 ;; translations │ │ │ -00038850: 3a0a 2020 3b3b 0a0a 2020 2822 5e2d 2d22 :. ;;.. ("^--" │ │ │ -00038860: 202e 202c 2861 6764 612d 696e 7075 742d . ,(agda-input- │ │ │ -00038870: 746f 2d73 7472 696e 672d 6c69 7374 22cc to-string-list". │ │ │ -00038880: 85cc bf22 2929 0a20 2028 225f 2d2d 2220 ...")). ("_--" │ │ │ -00038890: 2e20 2c28 6167 6461 2d69 6e70 7574 2d74 . ,(agda-input-t │ │ │ -000388a0: 6f2d 7374 7269 6e67 2d6c 6973 7422 ccb2 o-string-list".. │ │ │ -000388b0: ccb3 2229 290a 2020 2822 5e7e 2220 202e ..")). ("^~" . │ │ │ -000388c0: 202c 2861 6764 612d 696e 7075 742d 746f ,(agda-input-to │ │ │ -000388d0: 2d73 7472 696e 672d 6c69 7374 22cc 83cd -string-list"... │ │ │ -000388e0: 8c22 2929 0a20 2028 225f 7e22 2020 2e20 .")). ("_~" . │ │ │ -000388f0: 2028 2020 2020 2020 2020 2020 2020 2020 ( │ │ │ -00038900: 2020 2020 2020 2020 2020 2022 ccb0 2229 "..") │ │ │ -00038910: 290a 2020 2822 5e2e 2220 202e 202c 2861 ). ("^." . ,(a │ │ │ -00038920: 6764 612d 696e 7075 742d 746f 2d73 7472 gda-input-to-str │ │ │ -00038930: 696e 672d 6c69 7374 22cc 87cc 88e2 839b ing-list"....... │ │ │ -00038940: e283 9c22 2929 0a20 2028 225f 2e22 2020 ...")). ("_." │ │ │ -00038950: 2e20 2c28 6167 6461 2d69 6e70 7574 2d74 . ,(agda-input-t │ │ │ -00038960: 6f2d 7374 7269 6e67 2d6c 6973 7422 cca3 o-string-list".. │ │ │ -00038970: cca4 2229 290a 2020 2822 5e6c 2220 202e ..")). ("^l" . │ │ │ -00038980: 202c 2861 6764 612d 696e 7075 742d 746f ,(agda-input-to │ │ │ -00038990: 2d73 7472 696e 672d 6c69 7374 22e2 8396 -string-list"... │ │ │ -000389a0: e283 90e2 8394 2229 290a 2020 2822 5e6c ......")). ("^l │ │ │ -000389b0: 2d22 202e 2020 2820 2020 2020 2020 2020 -" . ( │ │ │ +000386a0: 2020 2020 e28d afe2 8db0 e28d b1e2 8db2 ............ │ │ │ +000386b0: e28d b3e2 8db4 e28d b5e2 8db6 e28d b7e2 ................ │ │ │ +000386c0: 8db8 e28d b9e2 8dba e28e 9522 2929 0a20 ...........")). │ │ │ +000386d0: 2028 2223 2220 2020 2020 2020 2020 202e ("#" . │ │ │ +000386e0: 2028 22ef bc83 2229 290a 2020 2822 2522 ("...")). ("%" │ │ │ +000386f0: 2020 2020 2020 2020 2020 2e20 2822 efbc . (".. │ │ │ +00038700: 8522 2929 0a20 2028 2226 2220 2020 2020 .")). ("&" │ │ │ +00038710: 2020 2020 202e 2028 22ef bc86 2229 290a . ("...")). │ │ │ +00038720: 2020 2822 2a22 2020 2020 2020 2020 2020 ("*" │ │ │ +00038730: 2e20 2822 efbc 8a22 2929 0a20 2028 222f . ("...")). ("/ │ │ │ +00038740: 2220 2020 2020 2020 2020 202e 202c 2861 " . ,(a │ │ │ +00038750: 6764 612d 696e 7075 742d 746f 2d73 7472 gda-input-to-str │ │ │ +00038760: 696e 672d 6c69 7374 2022 efbc 8fef bcbc ing-list "...... │ │ │ +00038770: 2229 290a 2020 2822 4022 2020 2020 2020 ")). ("@" │ │ │ +00038780: 2020 2020 2e20 2822 efbc a022 2929 0a20 . ("...")). │ │ │ +00038790: 2028 225f 5f22 2020 2020 2020 2020 202e ("__" . │ │ │ +000387a0: 2028 22ef bcbf 2229 290a 2020 2822 5c22 ("...")). ("\" │ │ │ +000387b0: 2220 2020 2020 2020 2020 2e20 2822 efbc " . (".. │ │ │ +000387c0: 8222 2929 0a20 2028 2263 726f 7373 6d61 .")). ("crossma │ │ │ +000387d0: 726b 2220 202e 2028 22e2 9c97 2229 290a rk" . ("...")). │ │ │ +000387e0: 0a20 203b 3b20 536f 6d65 2063 6f6d 6269 . ;; Some combi │ │ │ +000387f0: 6e69 6e67 2063 6861 7261 6374 6572 732e ning characters. │ │ │ +00038800: 0a20 203b 3b0a 2020 3b3b 2054 6865 2066 . ;;. ;; The f │ │ │ +00038810: 6f6c 6c6f 7769 6e67 2063 6f6d 6269 6e69 ollowing combini │ │ │ +00038820: 6e67 2063 6861 7261 6374 6572 7320 616c ng characters al │ │ │ +00038830: 736f 2068 6176 6520 286f 7468 6572 290a so have (other). │ │ │ +00038840: 2020 3b3b 2074 7261 6e73 6c61 7469 6f6e ;; translation │ │ │ +00038850: 733a 0a20 203b 3b0a 0a20 2028 225e 2d2d s:. ;;.. ("^-- │ │ │ +00038860: 2220 2e20 2c28 6167 6461 2d69 6e70 7574 " . ,(agda-input │ │ │ +00038870: 2d74 6f2d 7374 7269 6e67 2d6c 6973 7422 -to-string-list" │ │ │ +00038880: cc85 ccbf 2229 290a 2020 2822 5f2d 2d22 ....")). ("_--" │ │ │ +00038890: 202e 202c 2861 6764 612d 696e 7075 742d . ,(agda-input- │ │ │ +000388a0: 746f 2d73 7472 696e 672d 6c69 7374 22cc to-string-list". │ │ │ +000388b0: b2cc b322 2929 0a20 2028 225e 7e22 2020 ...")). ("^~" │ │ │ +000388c0: 2e20 2c28 6167 6461 2d69 6e70 7574 2d74 . ,(agda-input-t │ │ │ +000388d0: 6f2d 7374 7269 6e67 2d6c 6973 7422 cc83 o-string-list".. │ │ │ +000388e0: cd8c 2229 290a 2020 2822 5f7e 2220 202e ..")). ("_~" . │ │ │ +000388f0: 2020 2820 2020 2020 2020 2020 2020 2020 ( │ │ │ +00038900: 2020 2020 2020 2020 2020 2020 22cc b022 ".." │ │ │ +00038910: 2929 0a20 2028 225e 2e22 2020 2e20 2c28 )). ("^." . ,( │ │ │ +00038920: 6167 6461 2d69 6e70 7574 2d74 6f2d 7374 agda-input-to-st │ │ │ +00038930: 7269 6e67 2d6c 6973 7422 cc87 cc88 e283 ring-list"...... │ │ │ +00038940: 9be2 839c 2229 290a 2020 2822 5f2e 2220 ....")). ("_." │ │ │ +00038950: 202e 202c 2861 6764 612d 696e 7075 742d . ,(agda-input- │ │ │ +00038960: 746f 2d73 7472 696e 672d 6c69 7374 22cc to-string-list". │ │ │ +00038970: a3cc a422 2929 0a20 2028 225e 6c22 2020 ...")). ("^l" │ │ │ +00038980: 2e20 2c28 6167 6461 2d69 6e70 7574 2d74 . ,(agda-input-t │ │ │ +00038990: 6f2d 7374 7269 6e67 2d6c 6973 7422 e283 o-string-list".. │ │ │ +000389a0: 96e2 8390 e283 9422 2929 0a20 2028 225e .......")). ("^ │ │ │ +000389b0: 6c2d 2220 2e20 2028 2020 2020 2020 2020 l-" . ( │ │ │ 000389c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -000389d0: 22e2 8396 2229 290a 2020 2822 5e72 2220 "...")). ("^r" │ │ │ -000389e0: 202e 202c 2861 6764 612d 696e 7075 742d . ,(agda-input- │ │ │ -000389f0: 746f 2d73 7472 696e 672d 6c69 7374 22e2 to-string-list". │ │ │ -00038a00: 8397 e283 91e2 8395 2229 290a 2020 2822 ........")). (" │ │ │ -00038a10: 5e72 2d22 202e 2020 2820 2020 2020 2020 ^r-" . ( │ │ │ +000389d0: 2022 e283 9622 2929 0a20 2028 225e 7222 "...")). ("^r" │ │ │ +000389e0: 2020 2e20 2c28 6167 6461 2d69 6e70 7574 . ,(agda-input │ │ │ +000389f0: 2d74 6f2d 7374 7269 6e67 2d6c 6973 7422 -to-string-list" │ │ │ +00038a00: e283 97e2 8391 e283 9522 2929 0a20 2028 .........")). ( │ │ │ +00038a10: 225e 722d 2220 2e20 2028 2020 2020 2020 "^r-" . ( │ │ │ 00038a20: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00038a30: 2020 22e2 8397 2229 290a 2020 2822 5e6c "...")). ("^l │ │ │ -00038a40: 7222 202e 2020 2820 2020 2020 2020 2020 r" . ( │ │ │ +00038a30: 2020 2022 e283 9722 2929 0a20 2028 225e "...")). ("^ │ │ │ +00038a40: 6c72 2220 2e20 2028 2020 2020 2020 2020 lr" . ( │ │ │ 00038a50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00038a60: 22e2 83a1 2229 290a 2020 2822 5f6c 7222 "...")). ("_lr" │ │ │ -00038a70: 202e 2020 2820 2020 2020 2020 2020 2020 . ( │ │ │ -00038a80: 2020 2020 2020 2020 2020 2020 2020 22cd ". │ │ │ -00038a90: 8d22 2929 0a20 2028 225e 5e22 2020 2e20 .")). ("^^" . │ │ │ -00038aa0: 2c28 6167 6461 2d69 6e70 7574 2d74 6f2d ,(agda-input-to- │ │ │ -00038ab0: 7374 7269 6e67 2d6c 6973 7422 cc82 cc91 string-list".... │ │ │ -00038ac0: cd86 2229 290a 2020 2822 5f5e 2220 202e ..")). ("_^" . │ │ │ -00038ad0: 202c 2861 6764 612d 696e 7075 742d 746f ,(agda-input-to │ │ │ -00038ae0: 2d73 7472 696e 672d 6c69 7374 22cc adcc -string-list"... │ │ │ -00038af0: afcc aa22 2929 0a20 2028 225e 7622 2020 ...")). ("^v" │ │ │ -00038b00: 2e20 2c28 6167 6461 2d69 6e70 7574 2d74 . ,(agda-input-t │ │ │ -00038b10: 6f2d 7374 7269 6e67 2d6c 6973 7422 cc8c o-string-list".. │ │ │ -00038b20: cc86 2229 290a 2020 2822 5f76 2220 202e ..")). ("_v" . │ │ │ -00038b30: 202c 2861 6764 612d 696e 7075 742d 746f ,(agda-input-to │ │ │ -00038b40: 2d73 7472 696e 672d 6c69 7374 22cc accc -string-list"... │ │ │ -00038b50: aecc ba22 2929 0a0a 2020 3b3b 2053 686f ...")).. ;; Sho │ │ │ -00038b60: 7274 6572 2066 6f72 6d73 206f 6620 6d61 rter forms of ma │ │ │ -00038b70: 6e79 2067 7265 656b 206c 6574 7465 7273 ny greek letters │ │ │ -00038b80: 2070 6c75 7320 c69b 2e0a 0a20 2028 2247 plus ..... ("G │ │ │ -00038b90: 6122 2020 2e20 2822 ceb1 2229 2920 2028 a" . ("..")) ( │ │ │ -00038ba0: 2247 4122 2020 2e20 2822 ce91 2229 290a "GA" . ("..")). │ │ │ -00038bb0: 2020 2822 4762 2220 202e 2028 22ce b222 ("Gb" . (".." │ │ │ -00038bc0: 2929 2020 2822 4742 2220 202e 2028 22ce )) ("GB" . (". │ │ │ -00038bd0: 9222 2929 0a20 2028 2247 6722 2020 2e20 .")). ("Gg" . │ │ │ -00038be0: 2822 ceb3 2229 2920 2028 2247 4722 2020 ("..")) ("GG" │ │ │ -00038bf0: 2e20 2822 ce93 2229 290a 2020 2822 4764 . ("..")). ("Gd │ │ │ -00038c00: 2220 202e 2028 22ce b422 2929 2020 2822 " . ("..")) (" │ │ │ -00038c10: 4744 2220 202e 2028 22ce 9422 2929 0a20 GD" . ("..")). │ │ │ -00038c20: 2028 2247 6522 2020 2e20 2822 ceb5 2229 ("Ge" . ("..") │ │ │ -00038c30: 2920 2028 2247 4522 2020 2e20 2822 ce95 ) ("GE" . (".. │ │ │ -00038c40: 2229 290a 2020 2822 477a 2220 202e 2028 ")). ("Gz" . ( │ │ │ -00038c50: 22ce b622 2929 2020 2822 475a 2220 202e "..")) ("GZ" . │ │ │ -00038c60: 2028 22ce 9622 2929 0a20 2028 2247 6822 ("..")). ("Gh" │ │ │ -00038c70: 2020 2e20 2822 ceb7 2229 2920 2028 2247 . ("..")) ("G │ │ │ -00038c80: 4822 2020 2e20 2822 ce97 2229 290a 2020 H" . ("..")). │ │ │ -00038c90: 2822 4774 6822 202e 2028 22ce b822 2929 ("Gth" . ("..")) │ │ │ -00038ca0: 2020 2822 4754 4822 202e 2028 22ce 9822 ("GTH" . (".." │ │ │ -00038cb0: 2929 0a20 2028 2247 6922 2020 2e20 2822 )). ("Gi" . (" │ │ │ -00038cc0: ceb9 2229 2920 2028 2247 4922 2020 2e20 ..")) ("GI" . │ │ │ -00038cd0: 2822 ce99 2229 290a 2020 2822 476b 2220 ("..")). ("Gk" │ │ │ -00038ce0: 202e 2028 22ce ba22 2929 2020 2822 474b . ("..")) ("GK │ │ │ -00038cf0: 2220 202e 2028 22ce 9a22 2929 0a20 2028 " . ("..")). ( │ │ │ -00038d00: 2247 6c22 2020 2e20 2822 cebb 2229 2920 "Gl" . ("..")) │ │ │ -00038d10: 2028 2247 4c22 2020 2e20 2822 ce9b 2229 ("GL" . ("..") │ │ │ -00038d20: 2920 2028 2247 6c2d 2220 2e20 2822 c69b ) ("Gl-" . (".. │ │ │ -00038d30: 2229 290a 2020 2822 476d 2220 202e 2028 ")). ("Gm" . ( │ │ │ -00038d40: 22ce bc22 2929 2020 2822 474d 2220 202e "..")) ("GM" . │ │ │ -00038d50: 2028 22ce 9c22 2929 0a20 2028 2247 6e22 ("..")). ("Gn" │ │ │ -00038d60: 2020 2e20 2822 cebd 2229 2920 2028 2247 . ("..")) ("G │ │ │ -00038d70: 4e22 2020 2e20 2822 ce9d 2229 290a 2020 N" . ("..")). │ │ │ -00038d80: 2822 4778 2220 202e 2028 22ce be22 2929 ("Gx" . ("..")) │ │ │ -00038d90: 2020 2822 4758 2220 202e 2028 22ce 9e22 ("GX" . (".." │ │ │ -00038da0: 2929 0a20 203b 3b20 5c6f 6d69 6372 6f6e )). ;; \omicron │ │ │ -00038db0: 205c 4f6d 6963 726f 6e0a 2020 3b3b 205c \Omicron. ;; \ │ │ │ -00038dc0: 7069 205c 5069 0a20 2028 2247 7222 2020 pi \Pi. ("Gr" │ │ │ -00038dd0: 2e20 2822 cf81 2229 2920 2028 2247 5222 . ("..")) ("GR" │ │ │ -00038de0: 2020 2e20 2822 cea1 2229 290a 2020 2822 . ("..")). (" │ │ │ -00038df0: 4773 2220 202e 2028 22cf 8322 2929 2020 Gs" . ("..")) │ │ │ -00038e00: 2822 4753 2220 202e 2028 22ce a322 2929 ("GS" . ("..")) │ │ │ -00038e10: 0a20 2028 2247 7422 2020 2e20 2822 cf84 . ("Gt" . (".. │ │ │ -00038e20: 2229 2920 2028 2247 5422 2020 2e20 2822 ")) ("GT" . (" │ │ │ -00038e30: cea4 2229 290a 2020 2822 4775 2220 202e ..")). ("Gu" . │ │ │ -00038e40: 2028 22cf 8522 2929 2020 2822 4755 2220 ("..")) ("GU" │ │ │ -00038e50: 202e 2028 22ce a522 2929 0a20 2028 2247 . ("..")). ("G │ │ │ -00038e60: 6622 2020 2e20 2822 cf86 2229 2920 2028 f" . ("..")) ( │ │ │ -00038e70: 2247 4622 2020 2e20 2822 cea6 2229 290a "GF" . ("..")). │ │ │ -00038e80: 2020 2822 4763 2220 202e 2028 22cf 8722 ("Gc" . (".." │ │ │ -00038e90: 2929 2020 2822 4743 2220 202e 2028 22ce )) ("GC" . (". │ │ │ -00038ea0: a722 2929 0a20 2028 2247 7022 2020 2e20 .")). ("Gp" . │ │ │ -00038eb0: 2822 cf88 2229 2920 2028 2247 5022 2020 ("..")) ("GP" │ │ │ -00038ec0: 2e20 2822 cea8 2229 290a 2020 2822 476f . ("..")). ("Go │ │ │ -00038ed0: 2220 202e 2028 22cf 8922 2929 2020 2822 " . ("..")) (" │ │ │ -00038ee0: 474f 2220 202e 2028 22ce a922 2929 0a0a GO" . ("..")).. │ │ │ -00038ef0: 2020 3b3b 204d 6174 6865 6d61 7469 6361 ;; Mathematica │ │ │ -00038f00: 6c20 6368 6172 6163 7465 7273 2e0a 0a20 l characters... │ │ │ -00038f10: 2028 224d 6941 2220 2e20 2822 f09d 90b4 ("MiA" . (".... │ │ │ -00038f20: 2229 290a 2020 2822 4d69 4222 202e 2028 ")). ("MiB" . ( │ │ │ -00038f30: 22f0 9d90 b522 2929 0a20 2028 224d 6943 "....")). ("MiC │ │ │ -00038f40: 2220 2e20 2822 f09d 90b6 2229 290a 2020 " . ("....")). │ │ │ -00038f50: 2822 4d69 4422 202e 2028 22f0 9d90 b722 ("MiD" . ("...." │ │ │ -00038f60: 2929 0a20 2028 224d 6945 2220 2e20 2822 )). ("MiE" . (" │ │ │ -00038f70: f09d 90b8 2229 290a 2020 2822 4d69 4622 ....")). ("MiF" │ │ │ -00038f80: 202e 2028 22f0 9d90 b922 2929 0a20 2028 . ("....")). ( │ │ │ -00038f90: 224d 6947 2220 2e20 2822 f09d 90ba 2229 "MiG" . ("....") │ │ │ -00038fa0: 290a 2020 2822 4d69 4822 202e 2028 22f0 ). ("MiH" . (". │ │ │ -00038fb0: 9d90 bb22 2929 0a20 2028 224d 6949 2220 ...")). ("MiI" │ │ │ -00038fc0: 2e20 2822 f09d 90bc 2229 290a 2020 2822 . ("....")). (" │ │ │ -00038fd0: 4d69 4a22 202e 2028 22f0 9d90 bd22 2929 MiJ" . ("....")) │ │ │ -00038fe0: 0a20 2028 224d 694b 2220 2e20 2822 f09d . ("MiK" . (".. │ │ │ -00038ff0: 90be 2229 290a 2020 2822 4d69 4c22 202e ..")). ("MiL" . │ │ │ -00039000: 2028 22f0 9d90 bf22 2929 0a20 2028 224d ("....")). ("M │ │ │ -00039010: 694d 2220 2e20 2822 f09d 9180 2229 290a iM" . ("....")). │ │ │ -00039020: 2020 2822 4d69 4e22 202e 2028 22f0 9d91 ("MiN" . ("... │ │ │ -00039030: 8122 2929 0a20 2028 224d 694f 2220 2e20 .")). ("MiO" . │ │ │ -00039040: 2822 f09d 9182 2229 290a 2020 2822 4d69 ("....")). ("Mi │ │ │ -00039050: 5022 202e 2028 22f0 9d91 8322 2929 0a20 P" . ("....")). │ │ │ -00039060: 2028 224d 6951 2220 2e20 2822 f09d 9184 ("MiQ" . (".... │ │ │ -00039070: 2229 290a 2020 2822 4d69 5222 202e 2028 ")). ("MiR" . ( │ │ │ -00039080: 22f0 9d91 8522 2929 0a20 2028 224d 6953 "....")). ("MiS │ │ │ -00039090: 2220 2e20 2822 f09d 9186 2229 290a 2020 " . ("....")). │ │ │ -000390a0: 2822 4d69 5422 202e 2028 22f0 9d91 8722 ("MiT" . ("...." │ │ │ -000390b0: 2929 0a20 2028 224d 6955 2220 2e20 2822 )). ("MiU" . (" │ │ │ -000390c0: f09d 9188 2229 290a 2020 2822 4d69 5622 ....")). ("MiV" │ │ │ -000390d0: 202e 2028 22f0 9d91 8922 2929 0a20 2028 . ("....")). ( │ │ │ -000390e0: 224d 6957 2220 2e20 2822 f09d 918a 2229 "MiW" . ("....") │ │ │ -000390f0: 290a 2020 2822 4d69 5822 202e 2028 22f0 ). ("MiX" . (". │ │ │ -00039100: 9d91 8b22 2929 0a20 2028 224d 6959 2220 ...")). ("MiY" │ │ │ -00039110: 2e20 2822 f09d 918c 2229 290a 2020 2822 . ("....")). (" │ │ │ -00039120: 4d69 5a22 202e 2028 22f0 9d91 8d22 2929 MiZ" . ("....")) │ │ │ -00039130: 0a20 2028 224d 6961 2220 2e20 2822 f09d . ("Mia" . (".. │ │ │ -00039140: 918e 2229 290a 2020 2822 4d69 6222 202e ..")). ("Mib" . │ │ │ -00039150: 2028 22f0 9d91 8f22 2929 0a20 2028 224d ("....")). ("M │ │ │ -00039160: 6963 2220 2e20 2822 f09d 9190 2229 290a ic" . ("....")). │ │ │ -00039170: 2020 2822 4d69 6422 202e 2028 22f0 9d91 ("Mid" . ("... │ │ │ -00039180: 9122 2929 0a20 2028 224d 6965 2220 2e20 .")). ("Mie" . │ │ │ -00039190: 2822 f09d 9192 2229 290a 2020 2822 4d69 ("....")). ("Mi │ │ │ -000391a0: 6622 202e 2028 22f0 9d91 9322 2929 0a20 f" . ("....")). │ │ │ -000391b0: 2028 224d 6967 2220 2e20 2822 f09d 9194 ("Mig" . (".... │ │ │ -000391c0: 2229 290a 2020 2822 4d69 6822 202e 2028 ")). ("Mih" . ( │ │ │ -000391d0: 22e2 848e 2229 290a 2020 2822 4d69 6922 "...")). ("Mii" │ │ │ -000391e0: 202e 2028 22f0 9d91 9622 2929 0a20 2028 . ("....")). ( │ │ │ -000391f0: 224d 696a 2220 2e20 2822 f09d 9197 2229 "Mij" . ("....") │ │ │ -00039200: 290a 2020 2822 4d69 6b22 202e 2028 22f0 ). ("Mik" . (". │ │ │ -00039210: 9d91 9822 2929 0a20 2028 224d 696c 2220 ...")). ("Mil" │ │ │ -00039220: 2e20 2822 f09d 9199 2229 290a 2020 2822 . ("....")). (" │ │ │ -00039230: 4d69 6d22 202e 2028 22f0 9d91 9a22 2929 Mim" . ("....")) │ │ │ -00039240: 0a20 2028 224d 696e 2220 2e20 2822 f09d . ("Min" . (".. │ │ │ -00039250: 919b 2229 290a 2020 2822 4d69 6f22 202e ..")). ("Mio" . │ │ │ -00039260: 2028 22f0 9d91 9c22 2929 0a20 2028 224d ("....")). ("M │ │ │ -00039270: 6970 2220 2e20 2822 f09d 919d 2229 290a ip" . ("....")). │ │ │ -00039280: 2020 2822 4d69 7122 202e 2028 22f0 9d91 ("Miq" . ("... │ │ │ -00039290: 9e22 2929 0a20 2028 224d 6972 2220 2e20 .")). ("Mir" . │ │ │ -000392a0: 2822 f09d 919f 2229 290a 2020 2822 4d69 ("....")). ("Mi │ │ │ -000392b0: 7322 202e 2028 22f0 9d91 a022 2929 0a20 s" . ("....")). │ │ │ -000392c0: 2028 224d 6974 2220 2e20 2822 f09d 91a1 ("Mit" . (".... │ │ │ -000392d0: 2229 290a 2020 2822 4d69 7522 202e 2028 ")). ("Miu" . ( │ │ │ -000392e0: 22f0 9d91 a222 2929 0a20 2028 224d 6976 "....")). ("Miv │ │ │ -000392f0: 2220 2e20 2822 f09d 91a3 2229 290a 2020 " . ("....")). │ │ │ -00039300: 2822 4d69 7722 202e 2028 22f0 9d91 a422 ("Miw" . ("...." │ │ │ -00039310: 2929 0a20 2028 224d 6978 2220 2e20 2822 )). ("Mix" . (" │ │ │ -00039320: f09d 91a5 2229 290a 2020 2822 4d69 7922 ....")). ("Miy" │ │ │ -00039330: 202e 2028 22f0 9d91 a622 2929 0a20 2028 . ("....")). ( │ │ │ -00039340: 224d 697a 2220 2e20 2822 f09d 91a7 2229 "Miz" . ("....") │ │ │ -00039350: 290a 0a20 2028 224d 4941 2220 2e20 2822 ).. ("MIA" . (" │ │ │ -00039360: f09d 91a8 2229 290a 2020 2822 4d49 4222 ....")). ("MIB" │ │ │ -00039370: 202e 2028 22f0 9d91 a922 2929 0a20 2028 . ("....")). ( │ │ │ -00039380: 224d 4943 2220 2e20 2822 f09d 91aa 2229 "MIC" . ("....") │ │ │ -00039390: 290a 2020 2822 4d49 4422 202e 2028 22f0 ). ("MID" . (". │ │ │ -000393a0: 9d91 ab22 2929 0a20 2028 224d 4945 2220 ...")). ("MIE" │ │ │ -000393b0: 2e20 2822 f09d 91ac 2229 290a 2020 2822 . ("....")). (" │ │ │ -000393c0: 4d49 4622 202e 2028 22f0 9d91 ad22 2929 MIF" . ("....")) │ │ │ -000393d0: 0a20 2028 224d 4947 2220 2e20 2822 f09d . ("MIG" . (".. │ │ │ -000393e0: 91ae 2229 290a 2020 2822 4d49 4822 202e ..")). ("MIH" . │ │ │ -000393f0: 2028 22f0 9d91 af22 2929 0a20 2028 224d ("....")). ("M │ │ │ -00039400: 4949 2220 2e20 2822 f09d 91b0 2229 290a II" . ("....")). │ │ │ -00039410: 2020 2822 4d49 4a22 202e 2028 22f0 9d91 ("MIJ" . ("... │ │ │ -00039420: b122 2929 0a20 2028 224d 494b 2220 2e20 .")). ("MIK" . │ │ │ -00039430: 2822 f09d 91b2 2229 290a 2020 2822 4d49 ("....")). ("MI │ │ │ -00039440: 4c22 202e 2028 22f0 9d91 b322 2929 0a20 L" . ("....")). │ │ │ -00039450: 2028 224d 494d 2220 2e20 2822 f09d 91b4 ("MIM" . (".... │ │ │ -00039460: 2229 290a 2020 2822 4d49 4e22 202e 2028 ")). ("MIN" . ( │ │ │ -00039470: 22f0 9d91 b522 2929 0a20 2028 224d 494f "....")). ("MIO │ │ │ -00039480: 2220 2e20 2822 f09d 91b6 2229 290a 2020 " . ("....")). │ │ │ -00039490: 2822 4d49 5022 202e 2028 22f0 9d91 b722 ("MIP" . ("...." │ │ │ -000394a0: 2929 0a20 2028 224d 4951 2220 2e20 2822 )). ("MIQ" . (" │ │ │ -000394b0: f09d 91b8 2229 290a 2020 2822 4d49 5222 ....")). ("MIR" │ │ │ -000394c0: 202e 2028 22f0 9d91 b922 2929 0a20 2028 . ("....")). ( │ │ │ -000394d0: 224d 4953 2220 2e20 2822 f09d 91ba 2229 "MIS" . ("....") │ │ │ -000394e0: 290a 2020 2822 4d49 5422 202e 2028 22f0 ). ("MIT" . (". │ │ │ -000394f0: 9d91 bb22 2929 0a20 2028 224d 4955 2220 ...")). ("MIU" │ │ │ -00039500: 2e20 2822 f09d 91bc 2229 290a 2020 2822 . ("....")). (" │ │ │ -00039510: 4d49 5622 202e 2028 22f0 9d91 bd22 2929 MIV" . ("....")) │ │ │ -00039520: 0a20 2028 224d 4957 2220 2e20 2822 f09d . ("MIW" . (".. │ │ │ -00039530: 91be 2229 290a 2020 2822 4d49 5822 202e ..")). ("MIX" . │ │ │ -00039540: 2028 22f0 9d91 bf22 2929 0a20 2028 224d ("....")). ("M │ │ │ -00039550: 4959 2220 2e20 2822 f09d 9280 2229 290a IY" . ("....")). │ │ │ -00039560: 2020 2822 4d49 5a22 202e 2028 22f0 9d92 ("MIZ" . ("... │ │ │ -00039570: 8122 2929 0a0a 2020 2822 4d49 6122 202e .")).. ("MIa" . │ │ │ -00039580: 2028 22f0 9d92 8222 2929 0a20 2028 224d ("....")). ("M │ │ │ -00039590: 4962 2220 2e20 2822 f09d 9283 2229 290a Ib" . ("....")). │ │ │ -000395a0: 2020 2822 4d49 6322 202e 2028 22f0 9d92 ("MIc" . ("... │ │ │ -000395b0: 8422 2929 0a20 2028 224d 4964 2220 2e20 .")). ("MId" . │ │ │ -000395c0: 2822 f09d 9285 2229 290a 2020 2822 4d49 ("....")). ("MI │ │ │ -000395d0: 6522 202e 2028 22f0 9d92 8622 2929 0a20 e" . ("....")). │ │ │ -000395e0: 2028 224d 4966 2220 2e20 2822 f09d 9287 ("MIf" . (".... │ │ │ -000395f0: 2229 290a 2020 2822 4d49 6722 202e 2028 ")). ("MIg" . ( │ │ │ -00039600: 22f0 9d92 8822 2929 0a20 2028 224d 4968 "....")). ("MIh │ │ │ -00039610: 2220 2e20 2822 f09d 9289 2229 290a 2020 " . ("....")). │ │ │ -00039620: 2822 4d49 6922 202e 2028 22f0 9d92 8a22 ("MIi" . ("...." │ │ │ -00039630: 2929 0a20 2028 224d 496a 2220 2e20 2822 )). ("MIj" . (" │ │ │ -00039640: f09d 928b 2229 290a 2020 2822 4d49 6b22 ....")). ("MIk" │ │ │ -00039650: 202e 2028 22f0 9d92 8c22 2929 0a20 2028 . ("....")). ( │ │ │ -00039660: 224d 496c 2220 2e20 2822 f09d 928d 2229 "MIl" . ("....") │ │ │ -00039670: 290a 2020 2822 4d49 6d22 202e 2028 22f0 ). ("MIm" . (". │ │ │ -00039680: 9d92 8e22 2929 0a20 2028 224d 496e 2220 ...")). ("MIn" │ │ │ -00039690: 2e20 2822 f09d 928f 2229 290a 2020 2822 . ("....")). (" │ │ │ -000396a0: 4d49 6f22 202e 2028 22f0 9d92 9022 2929 MIo" . ("....")) │ │ │ -000396b0: 0a20 2028 224d 4970 2220 2e20 2822 f09d . ("MIp" . (".. │ │ │ -000396c0: 9291 2229 290a 2020 2822 4d49 7122 202e ..")). ("MIq" . │ │ │ -000396d0: 2028 22f0 9d92 9222 2929 0a20 2028 224d ("....")). ("M │ │ │ -000396e0: 4972 2220 2e20 2822 f09d 9293 2229 290a Ir" . ("....")). │ │ │ -000396f0: 2020 2822 4d49 7322 202e 2028 22f0 9d92 ("MIs" . ("... │ │ │ -00039700: 9422 2929 0a20 2028 224d 4974 2220 2e20 .")). ("MIt" . │ │ │ -00039710: 2822 f09d 9295 2229 290a 2020 2822 4d49 ("....")). ("MI │ │ │ -00039720: 7522 202e 2028 22f0 9d92 9622 2929 0a20 u" . ("....")). │ │ │ -00039730: 2028 224d 4976 2220 2e20 2822 f09d 9297 ("MIv" . (".... │ │ │ -00039740: 2229 290a 2020 2822 4d49 7722 202e 2028 ")). ("MIw" . ( │ │ │ -00039750: 22f0 9d92 9822 2929 0a20 2028 224d 4978 "....")). ("MIx │ │ │ -00039760: 2220 2e20 2822 f09d 9299 2229 290a 2020 " . ("....")). │ │ │ -00039770: 2822 4d49 7922 202e 2028 22f0 9d92 9a22 ("MIy" . ("...." │ │ │ -00039780: 2929 0a20 2028 224d 497a 2220 2e20 2822 )). ("MIz" . (" │ │ │ -00039790: f09d 929b 2229 290a 0a20 2028 224d 6341 ....")).. ("McA │ │ │ -000397a0: 2220 2e20 2822 f09d 929c 2229 290a 2020 " . ("....")). │ │ │ -000397b0: 2822 4d63 4222 202e 2028 22e2 84ac 2229 ("McB" . ("...") │ │ │ -000397c0: 290a 2020 2822 4d63 4322 202e 2028 22f0 ). ("McC" . (". │ │ │ -000397d0: 9d92 9e22 2929 0a20 2028 224d 6344 2220 ...")). ("McD" │ │ │ -000397e0: 2e20 2822 f09d 929f 2229 290a 2020 2822 . ("....")). (" │ │ │ -000397f0: 4d63 4522 202e 2028 22e2 84b0 2229 290a McE" . ("...")). │ │ │ -00039800: 2020 2822 4d63 4622 202e 2028 22e2 84b1 ("McF" . ("... │ │ │ -00039810: 2229 290a 2020 2822 4d63 4722 202e 2028 ")). ("McG" . ( │ │ │ -00039820: 22f0 9d92 a222 2929 0a20 2028 224d 6348 "....")). ("McH │ │ │ -00039830: 2220 2e20 2822 e284 8b22 2929 0a20 2028 " . ("...")). ( │ │ │ -00039840: 224d 6349 2220 2e20 2822 e284 9022 2929 "McI" . ("...")) │ │ │ -00039850: 0a20 2028 224d 634a 2220 2e20 2822 f09d . ("McJ" . (".. │ │ │ -00039860: 92a5 2229 290a 2020 2822 4d63 4b22 202e ..")). ("McK" . │ │ │ -00039870: 2028 22f0 9d92 a622 2929 0a20 2028 224d ("....")). ("M │ │ │ -00039880: 634c 2220 2e20 2822 e284 9222 2929 0a20 cL" . ("...")). │ │ │ -00039890: 2028 224d 634d 2220 2e20 2822 e284 b322 ("McM" . ("..." │ │ │ -000398a0: 2929 0a20 2028 224d 634e 2220 2e20 2822 )). ("McN" . (" │ │ │ -000398b0: f09d 92a9 2229 290a 2020 2822 4d63 4f22 ....")). ("McO" │ │ │ -000398c0: 202e 2028 22f0 9d92 aa22 2929 0a20 2028 . ("....")). ( │ │ │ -000398d0: 224d 6350 2220 2e20 2822 f09d 92ab 2229 "McP" . ("....") │ │ │ -000398e0: 290a 2020 2822 4d63 5122 202e 2028 22f0 ). ("McQ" . (". │ │ │ -000398f0: 9d92 ac22 2929 0a20 2028 224d 6352 2220 ...")). ("McR" │ │ │ -00039900: 2e20 2822 e284 9b22 2929 0a20 2028 224d . ("...")). ("M │ │ │ -00039910: 6353 2220 2e20 2822 f09d 92ae 2229 290a cS" . ("....")). │ │ │ -00039920: 2020 2822 4d63 5422 202e 2028 22f0 9d92 ("McT" . ("... │ │ │ -00039930: af22 2929 0a20 2028 224d 6355 2220 2e20 .")). ("McU" . │ │ │ -00039940: 2822 f09d 92b0 2229 290a 2020 2822 4d63 ("....")). ("Mc │ │ │ -00039950: 5622 202e 2028 22f0 9d92 b122 2929 0a20 V" . ("....")). │ │ │ -00039960: 2028 224d 6357 2220 2e20 2822 f09d 92b2 ("McW" . (".... │ │ │ -00039970: 2229 290a 2020 2822 4d63 5822 202e 2028 ")). ("McX" . ( │ │ │ -00039980: 22f0 9d92 b322 2929 0a20 2028 224d 6359 "....")). ("McY │ │ │ -00039990: 2220 2e20 2822 f09d 92b4 2229 290a 2020 " . ("....")). │ │ │ -000399a0: 2822 4d63 5a22 202e 2028 22f0 9d92 b522 ("McZ" . ("...." │ │ │ -000399b0: 2929 0a20 2028 224d 6361 2220 2e20 2822 )). ("Mca" . (" │ │ │ -000399c0: f09d 92b6 2229 290a 2020 2822 4d63 6222 ....")). ("Mcb" │ │ │ -000399d0: 202e 2028 22f0 9d92 b722 2929 0a20 2028 . ("....")). ( │ │ │ -000399e0: 224d 6363 2220 2e20 2822 f09d 92b8 2229 "Mcc" . ("....") │ │ │ -000399f0: 290a 2020 2822 4d63 6422 202e 2028 22f0 ). ("Mcd" . (". │ │ │ -00039a00: 9d92 b922 2929 0a20 2028 224d 6365 2220 ...")). ("Mce" │ │ │ -00039a10: 2e20 2822 e284 af22 2929 0a20 2028 224d . ("...")). ("M │ │ │ -00039a20: 6366 2220 2e20 2822 f09d 92bb 2229 290a cf" . ("....")). │ │ │ -00039a30: 2020 2822 4d63 6722 202e 2028 22e2 848a ("Mcg" . ("... │ │ │ -00039a40: 2229 290a 2020 2822 4d63 6822 202e 2028 ")). ("Mch" . ( │ │ │ -00039a50: 22f0 9d92 bd22 2929 0a20 2028 224d 6369 "....")). ("Mci │ │ │ -00039a60: 2220 2e20 2822 f09d 92be 2229 290a 2020 " . ("....")). │ │ │ -00039a70: 2822 4d63 6a22 202e 2028 22f0 9d92 bf22 ("Mcj" . ("...." │ │ │ -00039a80: 2929 0a20 2028 224d 636b 2220 2e20 2822 )). ("Mck" . (" │ │ │ -00039a90: f09d 9380 2229 290a 2020 2822 4d63 6c22 ....")). ("Mcl" │ │ │ -00039aa0: 202e 2028 22f0 9d93 8122 2929 0a20 2028 . ("....")). ( │ │ │ -00039ab0: 224d 636d 2220 2e20 2822 f09d 9382 2229 "Mcm" . ("....") │ │ │ -00039ac0: 290a 2020 2822 4d63 6e22 202e 2028 22f0 ). ("Mcn" . (". │ │ │ -00039ad0: 9d93 8322 2929 0a20 2028 224d 636f 2220 ...")). ("Mco" │ │ │ -00039ae0: 2e20 2822 e284 b422 2929 0a20 2028 224d . ("...")). ("M │ │ │ -00039af0: 6370 2220 2e20 2822 f09d 9385 2229 290a cp" . ("....")). │ │ │ -00039b00: 2020 2822 4d63 7122 202e 2028 22f0 9d93 ("Mcq" . ("... │ │ │ -00039b10: 8622 2929 0a20 2028 224d 6372 2220 2e20 .")). ("Mcr" . │ │ │ -00039b20: 2822 f09d 9387 2229 290a 2020 2822 4d63 ("....")). ("Mc │ │ │ -00039b30: 7322 202e 2028 22f0 9d93 8822 2929 0a20 s" . ("....")). │ │ │ -00039b40: 2028 224d 6374 2220 2e20 2822 f09d 9389 ("Mct" . (".... │ │ │ -00039b50: 2229 290a 2020 2822 4d63 7522 202e 2028 ")). ("Mcu" . ( │ │ │ -00039b60: 22f0 9d93 8a22 2929 0a20 2028 224d 6376 "....")). ("Mcv │ │ │ -00039b70: 2220 2e20 2822 f09d 938b 2229 290a 2020 " . ("....")). │ │ │ -00039b80: 2822 4d63 7722 202e 2028 22f0 9d93 8c22 ("Mcw" . ("...." │ │ │ -00039b90: 2929 0a20 2028 224d 6378 2220 2e20 2822 )). ("Mcx" . (" │ │ │ -00039ba0: f09d 938d 2229 290a 2020 2822 4d63 7922 ....")). ("Mcy" │ │ │ -00039bb0: 202e 2028 22f0 9d93 8e22 2929 0a20 2028 . ("....")). ( │ │ │ -00039bc0: 224d 637a 2220 2e20 2822 f09d 938f 2229 "Mcz" . ("....") │ │ │ -00039bd0: 290a 0a20 2028 224d 4341 2220 2e20 2822 ).. ("MCA" . (" │ │ │ -00039be0: f09d 9390 2229 290a 2020 2822 4d43 4222 ....")). ("MCB" │ │ │ -00039bf0: 202e 2028 22f0 9d93 9122 2929 0a20 2028 . ("....")). ( │ │ │ -00039c00: 224d 4343 2220 2e20 2822 f09d 9392 2229 "MCC" . ("....") │ │ │ -00039c10: 290a 2020 2822 4d43 4422 202e 2028 22f0 ). ("MCD" . (". │ │ │ -00039c20: 9d93 9322 2929 0a20 2028 224d 4345 2220 ...")). ("MCE" │ │ │ -00039c30: 2e20 2822 f09d 9394 2229 290a 2020 2822 . ("....")). (" │ │ │ -00039c40: 4d43 4622 202e 2028 22f0 9d93 9522 2929 MCF" . ("....")) │ │ │ -00039c50: 0a20 2028 224d 4347 2220 2e20 2822 f09d . ("MCG" . (".. │ │ │ -00039c60: 9396 2229 290a 2020 2822 4d43 4822 202e ..")). ("MCH" . │ │ │ -00039c70: 2028 22f0 9d93 9722 2929 0a20 2028 224d ("....")). ("M │ │ │ -00039c80: 4349 2220 2e20 2822 f09d 9398 2229 290a CI" . ("....")). │ │ │ -00039c90: 2020 2822 4d43 4a22 202e 2028 22f0 9d93 ("MCJ" . ("... │ │ │ -00039ca0: 9922 2929 0a20 2028 224d 434b 2220 2e20 .")). ("MCK" . │ │ │ -00039cb0: 2822 f09d 939a 2229 290a 2020 2822 4d43 ("....")). ("MC │ │ │ -00039cc0: 4c22 202e 2028 22f0 9d93 9b22 2929 0a20 L" . ("....")). │ │ │ -00039cd0: 2028 224d 434d 2220 2e20 2822 f09d 939c ("MCM" . (".... │ │ │ -00039ce0: 2229 290a 2020 2822 4d43 4e22 202e 2028 ")). ("MCN" . ( │ │ │ -00039cf0: 22f0 9d93 9d22 2929 0a20 2028 224d 434f "....")). ("MCO │ │ │ -00039d00: 2220 2e20 2822 f09d 939e 2229 290a 2020 " . ("....")). │ │ │ -00039d10: 2822 4d43 5022 202e 2028 22f0 9d93 9f22 ("MCP" . ("...." │ │ │ -00039d20: 2929 0a20 2028 224d 4351 2220 2e20 2822 )). ("MCQ" . (" │ │ │ -00039d30: f09d 93a0 2229 290a 2020 2822 4d43 5222 ....")). ("MCR" │ │ │ -00039d40: 202e 2028 22f0 9d93 a122 2929 0a20 2028 . ("....")). ( │ │ │ -00039d50: 224d 4353 2220 2e20 2822 f09d 93a2 2229 "MCS" . ("....") │ │ │ -00039d60: 290a 2020 2822 4d43 5422 202e 2028 22f0 ). ("MCT" . (". │ │ │ -00039d70: 9d93 a322 2929 0a20 2028 224d 4355 2220 ...")). ("MCU" │ │ │ -00039d80: 2e20 2822 f09d 93a4 2229 290a 2020 2822 . ("....")). (" │ │ │ -00039d90: 4d43 5622 202e 2028 22f0 9d93 a522 2929 MCV" . ("....")) │ │ │ -00039da0: 0a20 2028 224d 4357 2220 2e20 2822 f09d . ("MCW" . (".. │ │ │ -00039db0: 93a6 2229 290a 2020 2822 4d43 5822 202e ..")). ("MCX" . │ │ │ -00039dc0: 2028 22f0 9d93 a722 2929 0a20 2028 224d ("....")). ("M │ │ │ -00039dd0: 4359 2220 2e20 2822 f09d 93a8 2229 290a CY" . ("....")). │ │ │ -00039de0: 2020 2822 4d43 5a22 202e 2028 22f0 9d93 ("MCZ" . ("... │ │ │ -00039df0: a922 2929 0a20 2028 224d 4361 2220 2e20 .")). ("MCa" . │ │ │ -00039e00: 2822 f09d 93aa 2229 290a 2020 2822 4d43 ("....")). ("MC │ │ │ -00039e10: 6222 202e 2028 22f0 9d93 ab22 2929 0a20 b" . ("....")). │ │ │ -00039e20: 2028 224d 4363 2220 2e20 2822 f09d 93ac ("MCc" . (".... │ │ │ -00039e30: 2229 290a 2020 2822 4d43 6422 202e 2028 ")). ("MCd" . ( │ │ │ -00039e40: 22f0 9d93 ad22 2929 0a20 2028 224d 4365 "....")). ("MCe │ │ │ -00039e50: 2220 2e20 2822 f09d 93ae 2229 290a 2020 " . ("....")). │ │ │ -00039e60: 2822 4d43 6622 202e 2028 22f0 9d93 af22 ("MCf" . ("...." │ │ │ -00039e70: 2929 0a20 2028 224d 4367 2220 2e20 2822 )). ("MCg" . (" │ │ │ -00039e80: f09d 93b0 2229 290a 2020 2822 4d43 6822 ....")). ("MCh" │ │ │ -00039e90: 202e 2028 22f0 9d93 b122 2929 0a20 2028 . ("....")). ( │ │ │ -00039ea0: 224d 4369 2220 2e20 2822 f09d 93b2 2229 "MCi" . ("....") │ │ │ -00039eb0: 290a 2020 2822 4d43 6a22 202e 2028 22f0 ). ("MCj" . (". │ │ │ -00039ec0: 9d93 b322 2929 0a20 2028 224d 436b 2220 ...")). ("MCk" │ │ │ -00039ed0: 2e20 2822 f09d 93b4 2229 290a 2020 2822 . ("....")). (" │ │ │ -00039ee0: 4d43 6c22 202e 2028 22f0 9d93 b522 2929 MCl" . ("....")) │ │ │ -00039ef0: 0a20 2028 224d 436d 2220 2e20 2822 f09d . ("MCm" . (".. │ │ │ -00039f00: 93b6 2229 290a 2020 2822 4d43 6e22 202e ..")). ("MCn" . │ │ │ -00039f10: 2028 22f0 9d93 b722 2929 0a20 2028 224d ("....")). ("M │ │ │ -00039f20: 436f 2220 2e20 2822 f09d 93b8 2229 290a Co" . ("....")). │ │ │ -00039f30: 2020 2822 4d43 7022 202e 2028 22f0 9d93 ("MCp" . ("... │ │ │ -00039f40: b922 2929 0a20 2028 224d 4371 2220 2e20 .")). ("MCq" . │ │ │ -00039f50: 2822 f09d 93ba 2229 290a 2020 2822 4d43 ("....")). ("MC │ │ │ -00039f60: 7222 202e 2028 22f0 9d93 bb22 2929 0a20 r" . ("....")). │ │ │ -00039f70: 2028 224d 4373 2220 2e20 2822 f09d 93bc ("MCs" . (".... │ │ │ -00039f80: 2229 290a 2020 2822 4d43 7422 202e 2028 ")). ("MCt" . ( │ │ │ -00039f90: 22f0 9d93 bd22 2929 0a20 2028 224d 4375 "....")). ("MCu │ │ │ -00039fa0: 2220 2e20 2822 f09d 93be 2229 290a 2020 " . ("....")). │ │ │ -00039fb0: 2822 4d43 7622 202e 2028 22f0 9d93 bf22 ("MCv" . ("...." │ │ │ -00039fc0: 2929 0a20 2028 224d 4377 2220 2e20 2822 )). ("MCw" . (" │ │ │ -00039fd0: f09d 9480 2229 290a 2020 2822 4d43 7822 ....")). ("MCx" │ │ │ -00039fe0: 202e 2028 22f0 9d94 8122 2929 0a20 2028 . ("....")). ( │ │ │ -00039ff0: 224d 4379 2220 2e20 2822 f09d 9482 2229 "MCy" . ("....") │ │ │ -0003a000: 290a 2020 2822 4d43 7a22 202e 2028 22f0 ). ("MCz" . (". │ │ │ -0003a010: 9d94 8322 2929 0a0a 2020 2822 4d66 4122 ...")).. ("MfA" │ │ │ -0003a020: 202e 2028 22f0 9d94 8422 2929 0a20 2028 . ("....")). ( │ │ │ -0003a030: 224d 6642 2220 2e20 2822 f09d 9485 2229 "MfB" . ("....") │ │ │ -0003a040: 290a 2020 2822 4d66 4322 202e 2028 22e2 ). ("MfC" . (". │ │ │ -0003a050: 84ad 2229 290a 2020 2822 4d66 4422 202e ..")). ("MfD" . │ │ │ -0003a060: 2028 22f0 9d94 8722 2929 0a20 2028 224d ("....")). ("M │ │ │ -0003a070: 6645 2220 2e20 2822 f09d 9488 2229 290a fE" . ("....")). │ │ │ -0003a080: 2020 2822 4d66 4622 202e 2028 22f0 9d94 ("MfF" . ("... │ │ │ -0003a090: 8922 2929 0a20 2028 224d 6647 2220 2e20 .")). ("MfG" . │ │ │ -0003a0a0: 2822 f09d 948a 2229 290a 2020 2822 4d66 ("....")). ("Mf │ │ │ -0003a0b0: 4822 202e 2028 22e2 848c 2229 290a 2020 H" . ("...")). │ │ │ -0003a0c0: 2822 4d66 4922 202e 2028 22e2 8491 2229 ("MfI" . ("...") │ │ │ -0003a0d0: 290a 2020 2822 4d66 4a22 202e 2028 22f0 ). ("MfJ" . (". │ │ │ -0003a0e0: 9d94 8d22 2929 0a20 2028 224d 664b 2220 ...")). ("MfK" │ │ │ -0003a0f0: 2e20 2822 f09d 948e 2229 290a 2020 2822 . ("....")). (" │ │ │ -0003a100: 4d66 4c22 202e 2028 22f0 9d94 8f22 2929 MfL" . ("....")) │ │ │ -0003a110: 0a20 2028 224d 664d 2220 2e20 2822 f09d . ("MfM" . (".. │ │ │ -0003a120: 9490 2229 290a 2020 2822 4d66 4e22 202e ..")). ("MfN" . │ │ │ -0003a130: 2028 22f0 9d94 9122 2929 0a20 2028 224d ("....")). ("M │ │ │ -0003a140: 664f 2220 2e20 2822 f09d 9492 2229 290a fO" . ("....")). │ │ │ -0003a150: 2020 2822 4d66 5022 202e 2028 22f0 9d94 ("MfP" . ("... │ │ │ -0003a160: 9322 2929 0a20 2028 224d 6651 2220 2e20 .")). ("MfQ" . │ │ │ -0003a170: 2822 f09d 9494 2229 290a 2020 2822 4d66 ("....")). ("Mf │ │ │ -0003a180: 5222 202e 2028 22e2 849c 2229 290a 2020 R" . ("...")). │ │ │ -0003a190: 2822 4d66 5322 202e 2028 22f0 9d94 9622 ("MfS" . ("...." │ │ │ -0003a1a0: 2929 0a20 2028 224d 6654 2220 2e20 2822 )). ("MfT" . (" │ │ │ -0003a1b0: f09d 9497 2229 290a 2020 2822 4d66 5522 ....")). ("MfU" │ │ │ -0003a1c0: 202e 2028 22f0 9d94 9822 2929 0a20 2028 . ("....")). ( │ │ │ -0003a1d0: 224d 6656 2220 2e20 2822 f09d 9499 2229 "MfV" . ("....") │ │ │ -0003a1e0: 290a 2020 2822 4d66 5722 202e 2028 22f0 ). ("MfW" . (". │ │ │ -0003a1f0: 9d94 9a22 2929 0a20 2028 224d 6658 2220 ...")). ("MfX" │ │ │ -0003a200: 2e20 2822 f09d 949b 2229 290a 2020 2822 . ("....")). (" │ │ │ -0003a210: 4d66 5922 202e 2028 22f0 9d94 9c22 2929 MfY" . ("....")) │ │ │ -0003a220: 0a20 2028 224d 665a 2220 2e20 2822 e284 . ("MfZ" . (".. │ │ │ -0003a230: a822 2929 0a20 2028 224d 6661 2220 2e20 .")). ("Mfa" . │ │ │ -0003a240: 2822 f09d 949e 2229 290a 2020 2822 4d66 ("....")). ("Mf │ │ │ -0003a250: 6222 202e 2028 22f0 9d94 9f22 2929 0a20 b" . ("....")). │ │ │ -0003a260: 2028 224d 6663 2220 2e20 2822 f09d 94a0 ("Mfc" . (".... │ │ │ -0003a270: 2229 290a 2020 2822 4d66 6422 202e 2028 ")). ("Mfd" . ( │ │ │ -0003a280: 22f0 9d94 a122 2929 0a20 2028 224d 6665 "....")). ("Mfe │ │ │ -0003a290: 2220 2e20 2822 f09d 94a2 2229 290a 2020 " . ("....")). │ │ │ -0003a2a0: 2822 4d66 6622 202e 2028 22f0 9d94 a322 ("Mff" . ("...." │ │ │ -0003a2b0: 2929 0a20 2028 224d 6667 2220 2e20 2822 )). ("Mfg" . (" │ │ │ -0003a2c0: f09d 94a4 2229 290a 2020 2822 4d66 6822 ....")). ("Mfh" │ │ │ -0003a2d0: 202e 2028 22f0 9d94 a522 2929 0a20 2028 . ("....")). ( │ │ │ -0003a2e0: 224d 6669 2220 2e20 2822 f09d 94a6 2229 "Mfi" . ("....") │ │ │ -0003a2f0: 290a 2020 2822 4d66 6a22 202e 2028 22f0 ). ("Mfj" . (". │ │ │ -0003a300: 9d94 a722 2929 0a20 2028 224d 666b 2220 ...")). ("Mfk" │ │ │ -0003a310: 2e20 2822 f09d 94a8 2229 290a 2020 2822 . ("....")). (" │ │ │ -0003a320: 4d66 6c22 202e 2028 22f0 9d94 a922 2929 Mfl" . ("....")) │ │ │ -0003a330: 0a20 2028 224d 666d 2220 2e20 2822 f09d . ("Mfm" . (".. │ │ │ -0003a340: 94aa 2229 290a 2020 2822 4d66 6e22 202e ..")). ("Mfn" . │ │ │ -0003a350: 2028 22f0 9d94 ab22 2929 0a20 2028 224d ("....")). ("M │ │ │ -0003a360: 666f 2220 2e20 2822 f09d 94ac 2229 290a fo" . ("....")). │ │ │ -0003a370: 2020 2822 4d66 7022 202e 2028 22f0 9d94 ("Mfp" . ("... │ │ │ -0003a380: ad22 2929 0a20 2028 224d 6671 2220 2e20 .")). ("Mfq" . │ │ │ -0003a390: 2822 f09d 94ae 2229 290a 2020 2822 4d66 ("....")). ("Mf │ │ │ -0003a3a0: 7222 202e 2028 22f0 9d94 af22 2929 0a20 r" . ("....")). │ │ │ -0003a3b0: 2028 224d 6673 2220 2e20 2822 f09d 94b0 ("Mfs" . (".... │ │ │ -0003a3c0: 2229 290a 2020 2822 4d66 7422 202e 2028 ")). ("Mft" . ( │ │ │ -0003a3d0: 22f0 9d94 b122 2929 0a20 2028 224d 6675 "....")). ("Mfu │ │ │ -0003a3e0: 2220 2e20 2822 f09d 94b2 2229 290a 2020 " . ("....")). │ │ │ -0003a3f0: 2822 4d66 7622 202e 2028 22f0 9d94 b322 ("Mfv" . ("...." │ │ │ -0003a400: 2929 0a20 2028 224d 6677 2220 2e20 2822 )). ("Mfw" . (" │ │ │ -0003a410: f09d 94b4 2229 290a 2020 2822 4d66 7822 ....")). ("Mfx" │ │ │ -0003a420: 202e 2028 22f0 9d94 b522 2929 0a20 2028 . ("....")). ( │ │ │ -0003a430: 224d 6679 2220 2e20 2822 f09d 94b6 2229 "Mfy" . ("....") │ │ │ -0003a440: 290a 2020 2822 4d66 7a22 202e 2028 22f0 ). ("Mfz" . (". │ │ │ -0003a450: 9d94 b722 2929 0a0a 2020 3b3b 2028 5375 ...")).. ;; (Su │ │ │ -0003a460: 6220 2f20 5375 7065 7229 2073 6372 6970 b / Super) scrip │ │ │ -0003a470: 7473 2e0a 2020 3b3b 0a20 203b 3b20 556e ts.. ;;. ;; Un │ │ │ -0003a480: 6963 6f64 6520 3132 2e31 206f 6d69 7473 icode 12.1 omits │ │ │ -0003a490: 2073 6576 6572 616c 206c 6174 696e 2063 several latin c │ │ │ -0003a4a0: 6861 7261 6374 6572 7320 6672 6f6d 2073 haracters from s │ │ │ -0003a4b0: 7562 2f73 7570 6572 7363 7269 7074 2e0a ub/superscript.. │ │ │ -0003a4c0: 2020 3b3b 2068 7474 7073 3a2f 2f77 7777 ;; https://www │ │ │ -0003a4d0: 2e71 756f 7261 2e63 6f6d 2f57 6879 2d69 .quora.com/Why-i │ │ │ -0003a4e0: 732d 7468 6572 652d 6e6f 2d63 6861 7261 s-there-no-chara │ │ │ -0003a4f0: 6374 6572 2d66 6f72 2d73 7570 6572 7363 cter-for-supersc │ │ │ -0003a500: 7269 7074 2d71 2d69 6e2d 556e 6963 6f64 ript-q-in-Unicod │ │ │ -0003a510: 650a 2020 3b3b 0a20 203b 3b20 5065 7268 e. ;;. ;; Perh │ │ │ -0003a520: 6170 7320 7468 6579 2077 696c 6c20 6265 aps they will be │ │ │ -0003a530: 2061 6464 6564 2069 6e20 6675 7475 7265 added in future │ │ │ -0003a540: 2076 6572 7369 6f6e 732c 2068 6f77 6576 versions, howev │ │ │ -0003a550: 6572 2074 6865 7265 2061 7265 206e 6f0a er there are no. │ │ │ -0003a560: 2020 3b3b 2070 726f 706f 7361 6c73 2066 ;; proposals f │ │ │ -0003a570: 6f72 2069 7420 6375 7272 656e 746c 7920 or it currently │ │ │ -0003a580: 696e 2074 6865 2070 6970 656c 696e 653a in the pipeline: │ │ │ -0003a590: 0a20 203b 3b20 6874 7470 733a 2f2f 7777 . ;; https://ww │ │ │ -0003a5a0: 772e 756e 6963 6f64 652e 6f72 672f 616c w.unicode.org/al │ │ │ -0003a5b0: 6c6f 632f 5069 7065 6c69 6e65 2e68 746d loc/Pipeline.htm │ │ │ -0003a5c0: 6c0a 0a20 2028 225f 6122 202e 2028 22e2 l.. ("_a" . (". │ │ │ -0003a5d0: 8290 2229 290a 2020 3b3b 2028 225f 6222 ..")). ;; ("_b" │ │ │ -0003a5e0: 202e 2028 2262 2229 290a 2020 3b3b 2028 . ("b")). ;; ( │ │ │ -0003a5f0: 225f 6322 202e 2028 2263 2229 290a 2020 "_c" . ("c")). │ │ │ -0003a600: 3b3b 2028 225f 6422 202e 2028 2264 2229 ;; ("_d" . ("d") │ │ │ -0003a610: 290a 2020 2822 5f65 2220 2e20 2822 e282 ). ("_e" . (".. │ │ │ -0003a620: 9122 2929 0a20 203b 3b20 2822 5f66 2220 .")). ;; ("_f" │ │ │ -0003a630: 2e20 2822 6622 2929 0a20 203b 3b20 2822 . ("f")). ;; (" │ │ │ -0003a640: 5f67 2220 2e20 2822 6722 2929 0a20 2028 _g" . ("g")). ( │ │ │ -0003a650: 225f 6822 202e 2028 22e2 8295 2229 290a "_h" . ("...")). │ │ │ -0003a660: 2020 2822 5f69 2220 2e20 2822 e1b5 a222 ("_i" . ("..." │ │ │ -0003a670: 2929 0a20 2028 225f 6a22 202e 2028 22e2 )). ("_j" . (". │ │ │ -0003a680: b1bc 2229 290a 2020 2822 5f6b 2220 2e20 ..")). ("_k" . │ │ │ -0003a690: 2822 e282 9622 2929 0a20 2028 225f 6c22 ("...")). ("_l" │ │ │ -0003a6a0: 202e 2028 22e2 8297 2229 290a 2020 2822 . ("...")). (" │ │ │ -0003a6b0: 5f6d 2220 2e20 2822 e282 9822 2929 0a20 _m" . ("...")). │ │ │ -0003a6c0: 2028 225f 6e22 202e 2028 22e2 8299 2229 ("_n" . ("...") │ │ │ -0003a6d0: 290a 2020 2822 5f6f 2220 2e20 2822 e282 ). ("_o" . (".. │ │ │ -0003a6e0: 9222 2929 0a20 2028 225f 7022 202e 2028 .")). ("_p" . ( │ │ │ -0003a6f0: 22e2 829a 2229 290a 2020 3b3b 2028 225f "...")). ;; ("_ │ │ │ -0003a700: 7122 202e 2028 2271 2229 290a 2020 2822 q" . ("q")). (" │ │ │ -0003a710: 5f72 2220 2e20 2822 e1b5 a322 2929 0a20 _r" . ("...")). │ │ │ -0003a720: 2028 225f 7322 202e 2028 22e2 829b 2229 ("_s" . ("...") │ │ │ -0003a730: 290a 2020 2822 5f74 2220 2e20 2822 e282 ). ("_t" . (".. │ │ │ -0003a740: 9c22 2929 0a20 2028 225f 7522 202e 2028 .")). ("_u" . ( │ │ │ -0003a750: 22e1 b5a4 2229 290a 2020 2822 5f76 2220 "...")). ("_v" │ │ │ -0003a760: 2e20 2822 e1b5 a522 2929 0a20 203b 3b20 . ("...")). ;; │ │ │ -0003a770: 2822 5f77 2220 2e20 2822 7722 2929 0a20 ("_w" . ("w")). │ │ │ -0003a780: 2028 225f 7822 202e 2028 22e2 8293 2229 ("_x" . ("...") │ │ │ -0003a790: 290a 2020 3b3b 2028 225f 7922 202e 2028 ). ;; ("_y" . ( │ │ │ -0003a7a0: 2279 2229 290a 2020 3b3b 2028 225f 7a22 "y")). ;; ("_z" │ │ │ -0003a7b0: 202e 2028 227a 2229 290a 0a20 2028 225f . ("z")).. ("_ │ │ │ -0003a7c0: 4762 2220 2e20 2822 e1b5 a622 2929 0a20 Gb" . ("...")). │ │ │ -0003a7d0: 2028 225f 4767 2220 2e20 2822 e1b5 a722 ("_Gg" . ("..." │ │ │ -0003a7e0: 2929 0a20 2028 225f 4772 2220 2e20 2822 )). ("_Gr" . (" │ │ │ -0003a7f0: e1b5 a822 2929 0a20 2028 225f 4766 2220 ...")). ("_Gf" │ │ │ -0003a800: 2e20 2822 e1b5 a922 2929 0a20 2028 225f . ("...")). ("_ │ │ │ -0003a810: 4763 2220 2e20 2822 e1b5 aa22 2929 0a0a Gc" . ("...")).. │ │ │ -0003a820: 2020 2822 5e61 2220 2e20 2822 e1b5 8322 ("^a" . ("..." │ │ │ -0003a830: 2929 0a20 2028 225e 6222 202e 2028 22e1 )). ("^b" . (". │ │ │ -0003a840: b587 2229 290a 2020 2822 5e63 2220 2e20 ..")). ("^c" . │ │ │ -0003a850: 2822 e1b6 9c22 2929 0a20 2028 225e 6422 ("...")). ("^d" │ │ │ -0003a860: 202e 2028 22e1 b588 2229 290a 2020 2822 . ("...")). (" │ │ │ -0003a870: 5e65 2220 2e20 2822 e1b5 8922 2929 0a20 ^e" . ("...")). │ │ │ -0003a880: 2028 225e 6622 202e 2028 22e1 b6a0 2229 ("^f" . ("...") │ │ │ -0003a890: 290a 2020 2822 5e67 2220 2e20 2822 e1b5 ). ("^g" . (".. │ │ │ -0003a8a0: 8d22 2929 0a20 2028 225e 6822 202e 2028 .")). ("^h" . ( │ │ │ -0003a8b0: 22ca b022 2929 0a20 2028 225e 6922 202e "..")). ("^i" . │ │ │ -0003a8c0: 2028 22e2 81b1 2229 290a 2020 2822 5e6a ("...")). ("^j │ │ │ -0003a8d0: 2220 2e20 2822 cab2 2229 290a 2020 2822 " . ("..")). (" │ │ │ -0003a8e0: 5e6b 2220 2e20 2822 e1b5 8f22 2929 0a20 ^k" . ("...")). │ │ │ -0003a8f0: 2028 225e 6c22 202e 2028 22cb a122 2929 ("^l" . ("..")) │ │ │ -0003a900: 0a20 2028 225e 6d22 202e 2028 22e1 b590 . ("^m" . ("... │ │ │ -0003a910: 2229 290a 2020 2822 5e6e 2220 2e20 2822 ")). ("^n" . (" │ │ │ -0003a920: e281 bf22 2929 0a20 2028 225e 6f22 202e ...")). ("^o" . │ │ │ -0003a930: 2028 22e1 b592 2229 290a 2020 2822 5e70 ("...")). ("^p │ │ │ -0003a940: 2220 2e20 2822 e1b5 9622 2929 0a20 203b " . ("...")). ; │ │ │ -0003a950: 3b20 2822 5e71 2220 2e20 2822 7122 2929 ; ("^q" . ("q")) │ │ │ -0003a960: 0a20 2028 225e 7222 202e 2028 22ca b322 . ("^r" . (".." │ │ │ -0003a970: 2929 0a20 2028 225e 7322 202e 2028 22cb )). ("^s" . (". │ │ │ -0003a980: a222 2929 0a20 2028 225e 7422 202e 2028 .")). ("^t" . ( │ │ │ -0003a990: 22e1 b597 2229 290a 2020 2822 5e75 2220 "...")). ("^u" │ │ │ -0003a9a0: 2e20 2822 e1b5 9822 2929 0a20 2028 225e . ("...")). ("^ │ │ │ -0003a9b0: 7622 202e 2028 22e1 b59b 2229 290a 2020 v" . ("...")). │ │ │ -0003a9c0: 2822 5e77 2220 2e20 2822 cab7 2229 290a ("^w" . ("..")). │ │ │ -0003a9d0: 2020 2822 5e78 2220 2e20 2822 cba3 2229 ("^x" . ("..") │ │ │ -0003a9e0: 290a 2020 2822 5e79 2220 2e20 2822 cab8 ). ("^y" . (".. │ │ │ -0003a9f0: 2229 290a 2020 2822 5e7a 2220 2e20 2822 ")). ("^z" . (" │ │ │ -0003aa00: e1b6 bb22 2929 0a0a 2020 2822 5e41 2220 ...")).. ("^A" │ │ │ -0003aa10: 2e20 2822 e1b4 ac22 2929 0a20 2028 225e . ("...")). ("^ │ │ │ -0003aa20: 4222 202e 2028 22e1 b4ae 2229 290a 2020 B" . ("...")). │ │ │ -0003aa30: 3b3b 2028 225e 4322 202e 2028 2243 2229 ;; ("^C" . ("C") │ │ │ -0003aa40: 290a 2020 2822 5e44 2220 2e20 2822 e1b4 ). ("^D" . (".. │ │ │ -0003aa50: b022 2929 0a20 2028 225e 4522 202e 2028 .")). ("^E" . ( │ │ │ -0003aa60: 22e1 b4b1 2229 290a 2020 3b3b 2028 225e "...")). ;; ("^ │ │ │ -0003aa70: 4622 202e 2028 2246 2229 290a 2020 2822 F" . ("F")). (" │ │ │ -0003aa80: 5e47 2220 2e20 2822 e1b4 b322 2929 0a20 ^G" . ("...")). │ │ │ -0003aa90: 2028 225e 4822 202e 2028 22e1 b4b4 2229 ("^H" . ("...") │ │ │ -0003aaa0: 290a 2020 2822 5e49 2220 2e20 2822 e1b4 ). ("^I" . (".. │ │ │ -0003aab0: b522 2929 0a20 2028 225e 4a22 202e 2028 .")). ("^J" . ( │ │ │ -0003aac0: 22e1 b4b6 2229 290a 2020 2822 5e4b 2220 "...")). ("^K" │ │ │ -0003aad0: 2e20 2822 e1b4 b722 2929 0a20 2028 225e . ("...")). ("^ │ │ │ -0003aae0: 4c22 202e 2028 22e1 b4b8 2229 290a 2020 L" . ("...")). │ │ │ -0003aaf0: 2822 5e4d 2220 2e20 2822 e1b4 b922 2929 ("^M" . ("...")) │ │ │ -0003ab00: 0a20 2028 225e 4e22 202e 2028 22e1 b4ba . ("^N" . ("... │ │ │ -0003ab10: 2229 290a 2020 2822 5e4f 2220 2e20 2822 ")). ("^O" . (" │ │ │ -0003ab20: e1b4 bc22 2929 0a20 2028 225e 5022 202e ...")). ("^P" . │ │ │ -0003ab30: 2028 22e1 b4be 2229 290a 2020 3b3b 2028 ("...")). ;; ( │ │ │ -0003ab40: 225e 5122 202e 2028 2251 2229 290a 2020 "^Q" . ("Q")). │ │ │ -0003ab50: 2822 5e52 2220 2e20 2822 e1b4 bf22 2929 ("^R" . ("...")) │ │ │ -0003ab60: 0a20 203b 3b20 2822 5e53 2220 2e20 2822 . ;; ("^S" . (" │ │ │ -0003ab70: 5322 2929 0a20 2028 225e 5422 202e 2028 S")). ("^T" . ( │ │ │ -0003ab80: 22e1 b580 2229 290a 2020 2822 5e55 2220 "...")). ("^U" │ │ │ -0003ab90: 2e20 2822 e1b5 8122 2929 0a20 2028 225e . ("...")). ("^ │ │ │ -0003aba0: 5622 202e 2028 22e2 b1bd 2229 290a 2020 V" . ("...")). │ │ │ -0003abb0: 2822 5e57 2220 2e20 2822 e1b5 8222 2929 ("^W" . ("...")) │ │ │ -0003abc0: 0a20 203b 3b20 2822 5e58 2220 2e20 2822 . ;; ("^X" . (" │ │ │ -0003abd0: 5822 2929 0a20 203b 3b20 2822 5e59 2220 X")). ;; ("^Y" │ │ │ -0003abe0: 2e20 2822 5922 2929 0a20 203b 3b20 2822 . ("Y")). ;; (" │ │ │ -0003abf0: 5e5a 2220 2e20 2822 5a22 2929 0a0a 2020 ^Z" . ("Z")).. │ │ │ -0003ac00: 2822 5e47 6122 202e 2028 22e1 b585 2229 ("^Ga" . ("...") │ │ │ -0003ac10: 290a 2020 2822 5e47 6222 202e 2028 22e1 ). ("^Gb" . (". │ │ │ -0003ac20: b59d 2229 290a 2020 2822 5e47 6722 202e ..")). ("^Gg" . │ │ │ -0003ac30: 2028 22e1 b59e 2229 290a 2020 2822 5e47 ("...")). ("^G │ │ │ -0003ac40: 6422 202e 2028 22e1 b59f 2229 290a 2020 d" . ("...")). │ │ │ -0003ac50: 2822 5e47 6522 202e 2028 22e1 b58b 2229 ("^Ge" . ("...") │ │ │ -0003ac60: 290a 2020 2822 5e47 7468 2220 2e20 2822 ). ("^Gth" . (" │ │ │ -0003ac70: e1b6 bf22 2929 0a20 2028 225e 4769 2220 ...")). ("^Gi" │ │ │ -0003ac80: 2e20 2822 e1b6 a522 2929 0a20 2028 225e . ("...")). ("^ │ │ │ -0003ac90: 4766 2220 2e20 2822 e1b5 a022 2929 0a20 Gf" . ("...")). │ │ │ -0003aca0: 2028 225e 4763 2220 2e20 2822 e1b5 a122 ("^Gc" . ("..." │ │ │ -0003acb0: 2929 0a0a 2020 2822 5e47 4622 202e 2028 )).. ("^GF" . ( │ │ │ -0003acc0: 22e1 b6b2 2229 290a 0a20 203b 3b20 536f "...")).. ;; So │ │ │ -0003acd0: 6d65 2049 534f 3838 3539 2d31 2063 6861 me ISO8859-1 cha │ │ │ -0003ace0: 7261 6374 6572 732e 0a0a 2020 2822 2022 racters... (" " │ │ │ -0003acf0: 2020 2020 2020 2020 202e 2028 22c2 a022 . (".." │ │ │ -0003ad00: 2929 0a20 2028 2221 2220 2020 2020 2020 )). ("!" │ │ │ -0003ad10: 2020 2e20 2822 c2a1 2229 290a 2020 2822 . ("..")). (" │ │ │ -0003ad20: 6365 6e74 2220 2020 2020 202e 2028 22c2 cent" . (". │ │ │ -0003ad30: a222 2929 0a20 2028 2262 726f 6b65 6e62 .")). ("brokenb │ │ │ -0003ad40: 6172 2220 2e20 2822 c2a6 2229 290a 2020 ar" . ("..")). │ │ │ -0003ad50: 2822 6465 6772 6565 2220 2020 202e 2028 ("degree" . ( │ │ │ -0003ad60: 22c2 b022 2929 0a20 2028 223f 2220 2020 "..")). ("?" │ │ │ -0003ad70: 2020 2020 2020 2e20 2822 c2bf 2229 290a . ("..")). │ │ │ -0003ad80: 2020 2822 5e61 5f22 2020 2020 2020 202e ("^a_" . │ │ │ -0003ad90: 2028 22c2 aa22 2929 0a20 2028 225e 6f5f ("..")). ("^o_ │ │ │ -0003ada0: 2220 2020 2020 2020 2e20 2822 c2ba 2229 " . ("..") │ │ │ -0003adb0: 290a 0a20 203b 3b20 4369 7263 6c65 642c ).. ;; Circled, │ │ │ -0003adc0: 2070 6172 656e 7468 6573 6973 6564 2065 parenthesised e │ │ │ -0003add0: 7463 2e20 6e75 6d62 6572 7320 616e 6420 tc. numbers and │ │ │ -0003ade0: 6c65 7474 6572 732e 0a0a 2020 2820 2228 letters... ( "( │ │ │ -0003adf0: 3029 2220 2e20 2c28 6167 6461 2d69 6e70 0)" . ,(agda-inp │ │ │ -0003ae00: 7574 2d74 6f2d 7374 7269 6e67 2d6c 6973 ut-to-string-lis │ │ │ -0003ae10: 7420 2220 e293 aaf0 9f84 80e2 93bf f09f t " ............ │ │ │ -0003ae20: 848b f09f 848c 2229 290a 2020 2820 2228 ......")). ( "( │ │ │ -0003ae30: 3129 2220 2e20 2c28 6167 6461 2d69 6e70 1)" . ,(agda-inp │ │ │ -0003ae40: 7574 2d74 6f2d 7374 7269 6e67 2d6c 6973 ut-to-string-lis │ │ │ -0003ae50: 7420 22e2 91b4 e291 a0e2 9288 e29d b6e2 t "............. │ │ │ -0003ae60: 9e80 e29e 8a22 2929 0a20 2028 2022 2832 .....")). ( "(2 │ │ │ -0003ae70: 2922 202e 202c 2861 6764 612d 696e 7075 )" . ,(agda-inpu │ │ │ -0003ae80: 742d 746f 2d73 7472 696e 672d 6c69 7374 t-to-string-list │ │ │ -0003ae90: 2022 e291 b5e2 91a1 e292 89e2 9db7 e29e ".............. │ │ │ -0003aea0: 81e2 9e8b 2229 290a 2020 2820 2228 3329 ....")). ( "(3) │ │ │ -0003aeb0: 2220 2e20 2c28 6167 6461 2d69 6e70 7574 " . ,(agda-input │ │ │ -0003aec0: 2d74 6f2d 7374 7269 6e67 2d6c 6973 7420 -to-string-list │ │ │ -0003aed0: 22e2 91b6 e291 a2e2 928a e29d b8e2 9e82 "............... │ │ │ -0003aee0: e29e 8c22 2929 0a20 2028 2022 2834 2922 ...")). ( "(4)" │ │ │ -0003aef0: 202e 202c 2861 6764 612d 696e 7075 742d . ,(agda-input- │ │ │ -0003af00: 746f 2d73 7472 696e 672d 6c69 7374 2022 to-string-list " │ │ │ -0003af10: e291 b7e2 91a3 e292 8be2 9db9 e29e 83e2 ................ │ │ │ -0003af20: 9e8d 2229 290a 2020 2820 2228 3529 2220 ..")). ( "(5)" │ │ │ -0003af30: 2e20 2c28 6167 6461 2d69 6e70 7574 2d74 . ,(agda-input-t │ │ │ -0003af40: 6f2d 7374 7269 6e67 2d6c 6973 7420 22e2 o-string-list ". │ │ │ -0003af50: 91b8 e291 a4e2 928c e29d bae2 9e84 e29e ................ │ │ │ -0003af60: 8e22 2929 0a20 2028 2022 2836 2922 202e .")). ( "(6)" . │ │ │ -0003af70: 202c 2861 6764 612d 696e 7075 742d 746f ,(agda-input-to │ │ │ -0003af80: 2d73 7472 696e 672d 6c69 7374 2022 e291 -string-list ".. │ │ │ -0003af90: b9e2 91a5 e292 8de2 9dbb e29e 85e2 9e8f ................ │ │ │ -0003afa0: 2229 290a 2020 2820 2228 3729 2220 2e20 ")). ( "(7)" . │ │ │ -0003afb0: 2c28 6167 6461 2d69 6e70 7574 2d74 6f2d ,(agda-input-to- │ │ │ -0003afc0: 7374 7269 6e67 2d6c 6973 7420 22e2 91ba string-list "... │ │ │ -0003afd0: e291 a6e2 928e e29d bce2 9e86 e29e 9022 ..............." │ │ │ -0003afe0: 2929 0a20 2028 2022 2838 2922 202e 202c )). ( "(8)" . , │ │ │ -0003aff0: 2861 6764 612d 696e 7075 742d 746f 2d73 (agda-input-to-s │ │ │ -0003b000: 7472 696e 672d 6c69 7374 2022 e291 bbe2 tring-list ".... │ │ │ -0003b010: 91a7 e292 8fe2 9dbd e29e 87e2 9e91 2229 ..............") │ │ │ -0003b020: 290a 2020 2820 2228 3929 2220 2e20 2c28 ). ( "(9)" . ,( │ │ │ -0003b030: 6167 6461 2d69 6e70 7574 2d74 6f2d 7374 agda-input-to-st │ │ │ -0003b040: 7269 6e67 2d6c 6973 7420 22e2 91bc e291 ring-list "..... │ │ │ -0003b050: a8e2 9290 e29d bee2 9e88 e29e 9222 2929 .............")) │ │ │ -0003b060: 0a20 2028 2228 3130 2922 202e 202c 2861 . ("(10)" . ,(a │ │ │ -0003b070: 6764 612d 696e 7075 742d 746f 2d73 7472 gda-input-to-str │ │ │ -0003b080: 696e 672d 6c69 7374 2022 e291 bde2 91a9 ing-list "...... │ │ │ -0003b090: e292 91e2 9dbf e29e 89e2 9e93 2229 290a ............")). │ │ │ -0003b0a0: 2020 2822 2831 3129 2220 2e20 2c28 6167 ("(11)" . ,(ag │ │ │ -0003b0b0: 6461 2d69 6e70 7574 2d74 6f2d 7374 7269 da-input-to-stri │ │ │ -0003b0c0: 6e67 2d6c 6973 7420 22e2 91be e291 aae2 ng-list "....... │ │ │ -0003b0d0: 9292 e293 ab22 2929 0a20 2028 2228 3132 .....")). ("(12 │ │ │ -0003b0e0: 2922 202e 202c 2861 6764 612d 696e 7075 )" . ,(agda-inpu │ │ │ -0003b0f0: 742d 746f 2d73 7472 696e 672d 6c69 7374 t-to-string-list │ │ │ -0003b100: 2022 e291 bfe2 91ab e292 93e2 93ac 2229 "............") │ │ │ -0003b110: 290a 2020 2822 2831 3329 2220 2e20 2c28 ). ("(13)" . ,( │ │ │ -0003b120: 6167 6461 2d69 6e70 7574 2d74 6f2d 7374 agda-input-to-st │ │ │ -0003b130: 7269 6e67 2d6c 6973 7420 22e2 9280 e291 ring-list "..... │ │ │ -0003b140: ace2 9294 e293 ad22 2929 0a20 2028 2228 .......")). ("( │ │ │ -0003b150: 3134 2922 202e 202c 2861 6764 612d 696e 14)" . ,(agda-in │ │ │ -0003b160: 7075 742d 746f 2d73 7472 696e 672d 6c69 put-to-string-li │ │ │ -0003b170: 7374 2022 e292 81e2 91ad e292 95e2 93ae st "............ │ │ │ -0003b180: 2229 290a 2020 2822 2831 3529 2220 2e20 ")). ("(15)" . │ │ │ -0003b190: 2c28 6167 6461 2d69 6e70 7574 2d74 6f2d ,(agda-input-to- │ │ │ -0003b1a0: 7374 7269 6e67 2d6c 6973 7420 22e2 9282 string-list "... │ │ │ -0003b1b0: e291 aee2 9296 e293 af22 2929 0a20 2028 .........")). ( │ │ │ -0003b1c0: 2228 3136 2922 202e 202c 2861 6764 612d "(16)" . ,(agda- │ │ │ -0003b1d0: 696e 7075 742d 746f 2d73 7472 696e 672d input-to-string- │ │ │ -0003b1e0: 6c69 7374 2022 e292 83e2 91af e292 97e2 list ".......... │ │ │ -0003b1f0: 93b0 2229 290a 2020 2822 2831 3729 2220 ..")). ("(17)" │ │ │ -0003b200: 2e20 2c28 6167 6461 2d69 6e70 7574 2d74 . ,(agda-input-t │ │ │ -0003b210: 6f2d 7374 7269 6e67 2d6c 6973 7420 22e2 o-string-list ". │ │ │ -0003b220: 9284 e291 b0e2 9298 e293 b122 2929 0a20 ...........")). │ │ │ -0003b230: 2028 2228 3138 2922 202e 202c 2861 6764 ("(18)" . ,(agd │ │ │ -0003b240: 612d 696e 7075 742d 746f 2d73 7472 696e a-input-to-strin │ │ │ -0003b250: 672d 6c69 7374 2022 e292 85e2 91b1 e292 g-list "........ │ │ │ -0003b260: 99e2 93b2 2229 290a 2020 2822 2831 3929 ....")). ("(19) │ │ │ -0003b270: 2220 2e20 2c28 6167 6461 2d69 6e70 7574 " . ,(agda-input │ │ │ -0003b280: 2d74 6f2d 7374 7269 6e67 2d6c 6973 7420 -to-string-list │ │ │ -0003b290: 22e2 9286 e291 b2e2 929a e293 b322 2929 "............")) │ │ │ -0003b2a0: 0a20 2028 2228 3230 2922 202e 202c 2861 . ("(20)" . ,(a │ │ │ -0003b2b0: 6764 612d 696e 7075 742d 746f 2d73 7472 gda-input-to-str │ │ │ -0003b2c0: 696e 672d 6c69 7374 2022 e292 87e2 91b3 ing-list "...... │ │ │ -0003b2d0: e292 9be2 93b4 2229 290a 0a20 2028 2228 ......")).. ("( │ │ │ -0003b2e0: 6129 2220 202e 202c 2861 6764 612d 696e a)" . ,(agda-in │ │ │ -0003b2f0: 7075 742d 746f 2d73 7472 696e 672d 6c69 put-to-string-li │ │ │ -0003b300: 7374 2022 e292 9ce2 92b6 e293 90f0 9f85 st "............ │ │ │ -0003b310: 90f0 9f84 b0f0 9f85 b022 2929 0a20 2028 .........")). ( │ │ │ -0003b320: 2228 6229 2220 202e 202c 2861 6764 612d "(b)" . ,(agda- │ │ │ -0003b330: 696e 7075 742d 746f 2d73 7472 696e 672d input-to-string- │ │ │ -0003b340: 6c69 7374 2022 e292 9de2 92b7 e293 91f0 list ".......... │ │ │ -0003b350: 9f85 91f0 9f84 b1f0 9f85 b122 2929 0a20 ...........")). │ │ │ -0003b360: 2028 2228 6329 2220 202e 202c 2861 6764 ("(c)" . ,(agd │ │ │ -0003b370: 612d 696e 7075 742d 746f 2d73 7472 696e a-input-to-strin │ │ │ -0003b380: 672d 6c69 7374 2022 e292 9ee2 92b8 e293 g-list "........ │ │ │ -0003b390: 92f0 9f85 92f0 9f84 b2f0 9f85 b222 2929 .............")) │ │ │ -0003b3a0: 0a20 2028 2228 6429 2220 202e 202c 2861 . ("(d)" . ,(a │ │ │ -0003b3b0: 6764 612d 696e 7075 742d 746f 2d73 7472 gda-input-to-str │ │ │ -0003b3c0: 696e 672d 6c69 7374 2022 e292 9fe2 92b9 ing-list "...... │ │ │ -0003b3d0: e293 93f0 9f85 93f0 9f84 b3f0 9f85 b322 ..............." │ │ │ -0003b3e0: 2929 0a20 2028 2228 6529 2220 202e 202c )). ("(e)" . , │ │ │ -0003b3f0: 2861 6764 612d 696e 7075 742d 746f 2d73 (agda-input-to-s │ │ │ -0003b400: 7472 696e 672d 6c69 7374 2022 e292 a0e2 tring-list ".... │ │ │ -0003b410: 92ba e293 94f0 9f85 94f0 9f84 b4f0 9f85 ................ │ │ │ -0003b420: b422 2929 0a20 2028 2228 6629 2220 202e .")). ("(f)" . │ │ │ -0003b430: 202c 2861 6764 612d 696e 7075 742d 746f ,(agda-input-to │ │ │ -0003b440: 2d73 7472 696e 672d 6c69 7374 2022 e292 -string-list ".. │ │ │ -0003b450: a1e2 92bb e293 95f0 9f85 95f0 9f84 b5f0 ................ │ │ │ -0003b460: 9f85 b522 2929 0a20 2028 2228 6729 2220 ...")). ("(g)" │ │ │ -0003b470: 202e 202c 2861 6764 612d 696e 7075 742d . ,(agda-input- │ │ │ -0003b480: 746f 2d73 7472 696e 672d 6c69 7374 2022 to-string-list " │ │ │ -0003b490: e292 a2e2 92bc e293 96f0 9f85 96f0 9f84 ................ │ │ │ -0003b4a0: b6f0 9f85 b622 2929 0a20 2028 2228 6829 .....")). ("(h) │ │ │ -0003b4b0: 2220 202e 202c 2861 6764 612d 696e 7075 " . ,(agda-inpu │ │ │ -0003b4c0: 742d 746f 2d73 7472 696e 672d 6c69 7374 t-to-string-list │ │ │ -0003b4d0: 2022 e292 a3e2 92bd e293 97f0 9f85 97f0 ".............. │ │ │ -0003b4e0: 9f84 b7f0 9f85 b722 2929 0a20 2028 2228 .......")). ("( │ │ │ -0003b4f0: 6929 2220 202e 202c 2861 6764 612d 696e i)" . ,(agda-in │ │ │ -0003b500: 7075 742d 746f 2d73 7472 696e 672d 6c69 put-to-string-li │ │ │ -0003b510: 7374 2022 e292 a4e2 92be e293 98f0 9f85 st "............ │ │ │ -0003b520: 98f0 9f84 b8f0 9f85 b822 2929 0a20 2028 .........")). ( │ │ │ -0003b530: 2228 6a29 2220 202e 202c 2861 6764 612d "(j)" . ,(agda- │ │ │ -0003b540: 696e 7075 742d 746f 2d73 7472 696e 672d input-to-string- │ │ │ -0003b550: 6c69 7374 2022 e292 a5e2 92bf e293 99f0 list ".......... │ │ │ -0003b560: 9f85 99f0 9f84 b9f0 9f85 b922 2929 0a20 ...........")). │ │ │ -0003b570: 2028 2228 6b29 2220 202e 202c 2861 6764 ("(k)" . ,(agd │ │ │ -0003b580: 612d 696e 7075 742d 746f 2d73 7472 696e a-input-to-strin │ │ │ -0003b590: 672d 6c69 7374 2022 e292 a6e2 9380 e293 g-list "........ │ │ │ -0003b5a0: 9af0 9f85 9af0 9f84 baf0 9f85 ba22 2929 .............")) │ │ │ -0003b5b0: 0a20 2028 2228 6c29 2220 202e 202c 2861 . ("(l)" . ,(a │ │ │ -0003b5c0: 6764 612d 696e 7075 742d 746f 2d73 7472 gda-input-to-str │ │ │ -0003b5d0: 696e 672d 6c69 7374 2022 e292 a7e2 9381 ing-list "...... │ │ │ -0003b5e0: e293 9bf0 9f85 9bf0 9f84 bbf0 9f85 bb22 ..............." │ │ │ -0003b5f0: 2929 0a20 2028 2228 6d29 2220 202e 202c )). ("(m)" . , │ │ │ -0003b600: 2861 6764 612d 696e 7075 742d 746f 2d73 (agda-input-to-s │ │ │ -0003b610: 7472 696e 672d 6c69 7374 2022 e292 a8e2 tring-list ".... │ │ │ -0003b620: 9382 e293 9cf0 9f85 9cf0 9f84 bcf0 9f85 ................ │ │ │ -0003b630: bc22 2929 0a20 2028 2228 6e29 2220 202e .")). ("(n)" . │ │ │ -0003b640: 202c 2861 6764 612d 696e 7075 742d 746f ,(agda-input-to │ │ │ -0003b650: 2d73 7472 696e 672d 6c69 7374 2022 e292 -string-list ".. │ │ │ -0003b660: a9e2 9383 e293 9df0 9f85 9df0 9f84 bdf0 ................ │ │ │ -0003b670: 9f85 bd22 2929 0a20 2028 2228 6f29 2220 ...")). ("(o)" │ │ │ -0003b680: 202e 202c 2861 6764 612d 696e 7075 742d . ,(agda-input- │ │ │ -0003b690: 746f 2d73 7472 696e 672d 6c69 7374 2022 to-string-list " │ │ │ -0003b6a0: e292 aae2 9384 e293 9ef0 9f85 9ef0 9f84 ................ │ │ │ -0003b6b0: bef0 9f85 be22 2929 0a20 2028 2228 7029 .....")). ("(p) │ │ │ -0003b6c0: 2220 202e 202c 2861 6764 612d 696e 7075 " . ,(agda-inpu │ │ │ -0003b6d0: 742d 746f 2d73 7472 696e 672d 6c69 7374 t-to-string-list │ │ │ -0003b6e0: 2022 e292 abe2 9385 e293 9ff0 9f85 9ff0 ".............. │ │ │ -0003b6f0: 9f84 bff0 9f85 bf22 2929 0a20 2028 2228 .......")). ("( │ │ │ -0003b700: 7129 2220 202e 202c 2861 6764 612d 696e q)" . ,(agda-in │ │ │ -0003b710: 7075 742d 746f 2d73 7472 696e 672d 6c69 put-to-string-li │ │ │ -0003b720: 7374 2022 e292 ace2 9386 e293 a0f0 9f85 st "............ │ │ │ -0003b730: a0f0 9f85 80f0 9f86 8022 2929 0a20 2028 .........")). ( │ │ │ -0003b740: 2228 7229 2220 202e 202c 2861 6764 612d "(r)" . ,(agda- │ │ │ -0003b750: 696e 7075 742d 746f 2d73 7472 696e 672d input-to-string- │ │ │ -0003b760: 6c69 7374 2022 e292 ade2 9387 e293 a1f0 list ".......... │ │ │ -0003b770: 9f85 a1f0 9f85 81f0 9f86 8122 2929 0a20 ...........")). │ │ │ -0003b780: 2028 2228 7329 2220 202e 202c 2861 6764 ("(s)" . ,(agd │ │ │ -0003b790: 612d 696e 7075 742d 746f 2d73 7472 696e a-input-to-strin │ │ │ -0003b7a0: 672d 6c69 7374 2022 e292 aee2 9388 e293 g-list "........ │ │ │ -0003b7b0: a2f0 9f85 a2f0 9f85 82f0 9f86 8222 2929 .............")) │ │ │ -0003b7c0: 0a20 2028 2228 7429 2220 202e 202c 2861 . ("(t)" . ,(a │ │ │ -0003b7d0: 6764 612d 696e 7075 742d 746f 2d73 7472 gda-input-to-str │ │ │ -0003b7e0: 696e 672d 6c69 7374 2022 e292 afe2 9389 ing-list "...... │ │ │ -0003b7f0: e293 a3f0 9f85 a3f0 9f85 83f0 9f86 8322 ..............." │ │ │ -0003b800: 2929 0a20 2028 2228 7529 2220 202e 202c )). ("(u)" . , │ │ │ -0003b810: 2861 6764 612d 696e 7075 742d 746f 2d73 (agda-input-to-s │ │ │ -0003b820: 7472 696e 672d 6c69 7374 2022 e292 b0e2 tring-list ".... │ │ │ -0003b830: 938a e293 a4f0 9f85 a4f0 9f85 84f0 9f86 ................ │ │ │ -0003b840: 8422 2929 0a20 2028 2228 7629 2220 202e .")). ("(v)" . │ │ │ -0003b850: 202c 2861 6764 612d 696e 7075 742d 746f ,(agda-input-to │ │ │ -0003b860: 2d73 7472 696e 672d 6c69 7374 2022 e292 -string-list ".. │ │ │ -0003b870: b1e2 938b e293 a5f0 9f85 a5f0 9f85 85f0 ................ │ │ │ -0003b880: 9f86 8522 2929 0a20 2028 2228 7729 2220 ...")). ("(w)" │ │ │ -0003b890: 202e 202c 2861 6764 612d 696e 7075 742d . ,(agda-input- │ │ │ -0003b8a0: 746f 2d73 7472 696e 672d 6c69 7374 2022 to-string-list " │ │ │ -0003b8b0: e292 b2e2 938c e293 a6f0 9f85 a6f0 9f85 ................ │ │ │ -0003b8c0: 86f0 9f86 8622 2929 0a20 2028 2228 7829 .....")). ("(x) │ │ │ -0003b8d0: 2220 202e 202c 2861 6764 612d 696e 7075 " . ,(agda-inpu │ │ │ -0003b8e0: 742d 746f 2d73 7472 696e 672d 6c69 7374 t-to-string-list │ │ │ -0003b8f0: 2022 e292 b3e2 938d e293 a7f0 9f85 a7f0 ".............. │ │ │ -0003b900: 9f85 87f0 9f86 8722 2929 0a20 2028 2228 .......")). ("( │ │ │ -0003b910: 7929 2220 202e 202c 2861 6764 612d 696e y)" . ,(agda-in │ │ │ -0003b920: 7075 742d 746f 2d73 7472 696e 672d 6c69 put-to-string-li │ │ │ -0003b930: 7374 2022 e292 b4e2 938e e293 a8f0 9f85 st "............ │ │ │ -0003b940: a8f0 9f85 88f0 9f86 8822 2929 0a20 2028 .........")). ( │ │ │ -0003b950: 2228 7a29 2220 202e 202c 2861 6764 612d "(z)" . ,(agda- │ │ │ -0003b960: 696e 7075 742d 746f 2d73 7472 696e 672d input-to-string- │ │ │ -0003b970: 6c69 7374 2022 e292 b5e2 938f e293 a9f0 list ".......... │ │ │ -0003b980: 9f85 a9f0 9f85 89f0 9f86 8922 2929 0a0a ...........")).. │ │ │ -0003b990: 2020 2929 0a20 2022 4120 6c69 7374 206f )). "A list o │ │ │ -0003b9a0: 6620 7472 616e 736c 6174 696f 6e73 2073 f translations s │ │ │ -0003b9b0: 7065 6369 6669 6320 746f 2074 6865 2041 pecific to the A │ │ │ -0003b9c0: 6764 6120 696e 7075 7420 6d65 7468 6f64 gda input method │ │ │ -0003b9d0: 2e0a 4561 6368 2065 6c65 6d65 6e74 2069 ..Each element i │ │ │ -0003b9e0: 7320 6120 7061 6972 2028 4b45 592d 5345 s a pair (KEY-SE │ │ │ -0003b9f0: 5155 454e 4345 2d53 5452 494e 4720 2e20 QUENCE-STRING . │ │ │ -0003ba00: 4c49 5354 2d4f 462d 5452 414e 534c 4154 LIST-OF-TRANSLAT │ │ │ -0003ba10: 494f 4e2d 5354 5249 4e47 5329 2e0a 416c ION-STRINGS)..Al │ │ │ -0003ba20: 6c20 7468 6520 7472 616e 736c 6174 696f l the translatio │ │ │ -0003ba30: 6e20 7374 7269 6e67 7320 6172 6520 706f n strings are po │ │ │ -0003ba40: 7373 6962 6c65 2074 7261 6e73 6c61 7469 ssible translati │ │ │ -0003ba50: 6f6e 730a 6f66 2074 6865 2067 6976 656e ons.of the given │ │ │ -0003ba60: 206b 6579 2073 6571 7565 6e63 653b 2069 key sequence; i │ │ │ -0003ba70: 6620 7468 6572 6520 6973 206d 6f72 6520 f there is more │ │ │ -0003ba80: 7468 616e 206f 6e65 2079 6f75 2063 616e than one you can │ │ │ -0003ba90: 2063 686f 6f73 650a 6265 7477 6565 6e20 choose.between │ │ │ -0003baa0: 7468 656d 2075 7369 6e67 2074 6865 2061 them using the a │ │ │ -0003bab0: 7272 6f77 206b 6579 732e 0a0a 4e6f 7465 rrow keys...Note │ │ │ -0003bac0: 2074 6861 7420 6966 2079 6f75 2063 7573 that if you cus │ │ │ -0003bad0: 746f 6d69 7a65 2074 6869 7320 7365 7474 tomize this sett │ │ │ -0003bae0: 696e 6720 796f 7520 7769 6c6c 206e 6f74 ing you will not │ │ │ -0003baf0: 0a61 7574 6f6d 6174 6963 616c 6c79 2062 .automatically b │ │ │ -0003bb00: 656e 6566 6974 2028 6f72 2073 7566 6665 enefit (or suffe │ │ │ -0003bb10: 7229 2066 726f 6d20 6d6f 6469 6669 6361 r) from modifica │ │ │ -0003bb20: 7469 6f6e 7320 746f 2069 7473 0a64 6566 tions to its.def │ │ │ -0003bb30: 6175 6c74 2076 616c 7565 2077 6865 6e20 ault value when │ │ │ -0003bb40: 7468 6520 6c69 6272 6172 7920 6973 2075 the library is u │ │ │ -0003bb50: 7064 6174 6564 2e20 2049 6620 796f 7520 pdated. If you │ │ │ -0003bb60: 6a75 7374 2077 616e 7420 746f 0a61 6464 just want to.add │ │ │ -0003bb70: 2073 6f6d 6520 6269 6e64 696e 6773 2069 some bindings i │ │ │ -0003bb80: 7420 6973 2070 726f 6261 626c 7920 6120 t is probably a │ │ │ -0003bb90: 6265 7474 6572 2069 6465 6120 746f 2063 better idea to c │ │ │ -0003bba0: 7573 746f 6d69 7a65 0a60 6167 6461 2d69 ustomize.`agda-i │ │ │ -0003bbb0: 6e70 7574 2d75 7365 722d 7472 616e 736c nput-user-transl │ │ │ -0003bbc0: 6174 696f 6e73 272e 0a0a 5468 6573 6520 ations'...These │ │ │ -0003bbd0: 7472 616e 736c 6174 696f 6e20 7061 6972 translation pair │ │ │ -0003bbe0: 7320 6172 6520 696e 636c 7564 6564 2061 s are included a │ │ │ -0003bbf0: 6674 6572 2074 686f 7365 2069 6e0a 6061 fter those in.`a │ │ │ -0003bc00: 6764 612d 696e 7075 742d 7573 6572 2d74 gda-input-user-t │ │ │ -0003bc10: 7261 6e73 6c61 7469 6f6e 7327 2c20 6275 ranslations', bu │ │ │ -0003bc20: 7420 6265 666f 7265 2074 6865 206f 6e65 t before the one │ │ │ -0003bc30: 7320 696e 6865 7269 7465 640a 6672 6f6d s inherited.from │ │ │ -0003bc40: 206f 7468 6572 2069 6e70 7574 206d 6574 other input met │ │ │ -0003bc50: 686f 6473 2028 7365 6520 6061 6764 612d hods (see `agda- │ │ │ -0003bc60: 696e 7075 742d 696e 6865 7269 7427 292e input-inherit'). │ │ │ -0003bc70: 0a0a 4966 2079 6f75 2063 6861 6e67 6520 ..If you change │ │ │ -0003bc80: 7468 6973 2073 6574 7469 6e67 206d 616e this setting man │ │ │ -0003bc90: 7561 6c6c 7920 2877 6974 686f 7574 2075 ually (without u │ │ │ -0003bca0: 7369 6e67 2074 6865 0a63 7573 746f 6d69 sing the.customi │ │ │ -0003bcb0: 7a61 7469 6f6e 2062 7566 6665 7229 2079 zation buffer) y │ │ │ -0003bcc0: 6f75 206e 6565 6420 746f 2063 616c 6c20 ou need to call │ │ │ -0003bcd0: 6061 6764 612d 696e 7075 742d 7365 7475 `agda-input-setu │ │ │ -0003bce0: 7027 2069 6e0a 6f72 6465 7220 666f 7220 p' in.order for │ │ │ -0003bcf0: 7468 6520 6368 616e 6765 2074 6f20 7461 the change to ta │ │ │ -0003bd00: 6b65 2065 6666 6563 742e 220a 2020 3a67 ke effect.". :g │ │ │ -0003bd10: 726f 7570 2027 6167 6461 2d69 6e70 7574 roup 'agda-input │ │ │ -0003bd20: 0a20 203a 7365 7420 2761 6764 612d 696e . :set 'agda-in │ │ │ -0003bd30: 7075 742d 696e 636f 7270 6f72 6174 652d put-incorporate- │ │ │ -0003bd40: 6368 616e 6765 642d 7365 7474 696e 670a changed-setting. │ │ │ -0003bd50: 2020 3a69 6e69 7469 616c 697a 6520 2763 :initialize 'c │ │ │ -0003bd60: 7573 746f 6d2d 696e 6974 6961 6c69 7a65 ustom-initialize │ │ │ -0003bd70: 2d64 6566 6175 6c74 0a20 203a 7479 7065 -default. :type │ │ │ -0003bd80: 2027 2872 6570 6561 7420 2863 6f6e 7320 '(repeat (cons │ │ │ -0003bd90: 2873 7472 696e 6720 3a74 6167 2022 4b65 (string :tag "Ke │ │ │ -0003bda0: 7920 7365 7175 656e 6365 2229 0a20 2020 y sequence"). │ │ │ +00038a60: 2022 e283 a122 2929 0a20 2028 225f 6c72 "...")). ("_lr │ │ │ +00038a70: 2220 2e20 2028 2020 2020 2020 2020 2020 " . ( │ │ │ +00038a80: 2020 2020 2020 2020 2020 2020 2020 2022 " │ │ │ +00038a90: cd8d 2229 290a 2020 2822 5e5e 2220 202e ..")). ("^^" . │ │ │ +00038aa0: 202c 2861 6764 612d 696e 7075 742d 746f ,(agda-input-to │ │ │ +00038ab0: 2d73 7472 696e 672d 6c69 7374 22cc 82cc -string-list"... │ │ │ +00038ac0: 91cd 8622 2929 0a20 2028 225f 5e22 2020 ...")). ("_^" │ │ │ +00038ad0: 2e20 2c28 6167 6461 2d69 6e70 7574 2d74 . ,(agda-input-t │ │ │ +00038ae0: 6f2d 7374 7269 6e67 2d6c 6973 7422 ccad o-string-list".. │ │ │ +00038af0: ccaf ccaa 2229 290a 2020 2822 5e76 2220 ....")). ("^v" │ │ │ +00038b00: 202e 202c 2861 6764 612d 696e 7075 742d . ,(agda-input- │ │ │ +00038b10: 746f 2d73 7472 696e 672d 6c69 7374 22cc to-string-list". │ │ │ +00038b20: 8ccc 8622 2929 0a20 2028 225f 7622 2020 ...")). ("_v" │ │ │ +00038b30: 2e20 2c28 6167 6461 2d69 6e70 7574 2d74 . ,(agda-input-t │ │ │ +00038b40: 6f2d 7374 7269 6e67 2d6c 6973 7422 ccac o-string-list".. │ │ │ +00038b50: ccae ccba 2229 290a 0a20 203b 3b20 5368 ....")).. ;; Sh │ │ │ +00038b60: 6f72 7465 7220 666f 726d 7320 6f66 206d orter forms of m │ │ │ +00038b70: 616e 7920 6772 6565 6b20 6c65 7474 6572 any greek letter │ │ │ +00038b80: 7320 706c 7573 20c6 9b2e 0a0a 2020 2822 s plus ..... (" │ │ │ +00038b90: 4761 2220 202e 2028 22ce b122 2929 2020 Ga" . ("..")) │ │ │ +00038ba0: 2822 4741 2220 202e 2028 22ce 9122 2929 ("GA" . ("..")) │ │ │ +00038bb0: 0a20 2028 2247 6222 2020 2e20 2822 ceb2 . ("Gb" . (".. │ │ │ +00038bc0: 2229 2920 2028 2247 4222 2020 2e20 2822 ")) ("GB" . (" │ │ │ +00038bd0: ce92 2229 290a 2020 2822 4767 2220 202e ..")). ("Gg" . │ │ │ +00038be0: 2028 22ce b322 2929 2020 2822 4747 2220 ("..")) ("GG" │ │ │ +00038bf0: 202e 2028 22ce 9322 2929 0a20 2028 2247 . ("..")). ("G │ │ │ +00038c00: 6422 2020 2e20 2822 ceb4 2229 2920 2028 d" . ("..")) ( │ │ │ +00038c10: 2247 4422 2020 2e20 2822 ce94 2229 290a "GD" . ("..")). │ │ │ +00038c20: 2020 2822 4765 2220 202e 2028 22ce b522 ("Ge" . (".." │ │ │ +00038c30: 2929 2020 2822 4745 2220 202e 2028 22ce )) ("GE" . (". │ │ │ +00038c40: 9522 2929 0a20 2028 2247 7a22 2020 2e20 .")). ("Gz" . │ │ │ +00038c50: 2822 ceb6 2229 2920 2028 2247 5a22 2020 ("..")) ("GZ" │ │ │ +00038c60: 2e20 2822 ce96 2229 290a 2020 2822 4768 . ("..")). ("Gh │ │ │ +00038c70: 2220 202e 2028 22ce b722 2929 2020 2822 " . ("..")) (" │ │ │ +00038c80: 4748 2220 202e 2028 22ce 9722 2929 0a20 GH" . ("..")). │ │ │ +00038c90: 2028 2247 7468 2220 2e20 2822 ceb8 2229 ("Gth" . ("..") │ │ │ +00038ca0: 2920 2028 2247 5448 2220 2e20 2822 ce98 ) ("GTH" . (".. │ │ │ +00038cb0: 2229 290a 2020 2822 4769 2220 202e 2028 ")). ("Gi" . ( │ │ │ +00038cc0: 22ce b922 2929 2020 2822 4749 2220 202e "..")) ("GI" . │ │ │ +00038cd0: 2028 22ce 9922 2929 0a20 2028 2247 6b22 ("..")). ("Gk" │ │ │ +00038ce0: 2020 2e20 2822 ceba 2229 2920 2028 2247 . ("..")) ("G │ │ │ +00038cf0: 4b22 2020 2e20 2822 ce9a 2229 290a 2020 K" . ("..")). │ │ │ +00038d00: 2822 476c 2220 202e 2028 22ce bb22 2929 ("Gl" . ("..")) │ │ │ +00038d10: 2020 2822 474c 2220 202e 2028 22ce 9b22 ("GL" . (".." │ │ │ +00038d20: 2929 2020 2822 476c 2d22 202e 2028 22c6 )) ("Gl-" . (". │ │ │ +00038d30: 9b22 2929 0a20 2028 2247 6d22 2020 2e20 .")). ("Gm" . │ │ │ +00038d40: 2822 cebc 2229 2920 2028 2247 4d22 2020 ("..")) ("GM" │ │ │ +00038d50: 2e20 2822 ce9c 2229 290a 2020 2822 476e . ("..")). ("Gn │ │ │ +00038d60: 2220 202e 2028 22ce bd22 2929 2020 2822 " . ("..")) (" │ │ │ +00038d70: 474e 2220 202e 2028 22ce 9d22 2929 0a20 GN" . ("..")). │ │ │ +00038d80: 2028 2247 7822 2020 2e20 2822 cebe 2229 ("Gx" . ("..") │ │ │ +00038d90: 2920 2028 2247 5822 2020 2e20 2822 ce9e ) ("GX" . (".. │ │ │ +00038da0: 2229 290a 2020 3b3b 205c 6f6d 6963 726f ")). ;; \omicro │ │ │ +00038db0: 6e20 5c4f 6d69 6372 6f6e 0a20 203b 3b20 n \Omicron. ;; │ │ │ +00038dc0: 5c70 6920 5c50 690a 2020 2822 4772 2220 \pi \Pi. ("Gr" │ │ │ +00038dd0: 202e 2028 22cf 8122 2929 2020 2822 4752 . ("..")) ("GR │ │ │ +00038de0: 2220 202e 2028 22ce a122 2929 0a20 2028 " . ("..")). ( │ │ │ +00038df0: 2247 7322 2020 2e20 2822 cf83 2229 2920 "Gs" . ("..")) │ │ │ +00038e00: 2028 2247 5322 2020 2e20 2822 cea3 2229 ("GS" . ("..") │ │ │ +00038e10: 290a 2020 2822 4774 2220 202e 2028 22cf ). ("Gt" . (". │ │ │ +00038e20: 8422 2929 2020 2822 4754 2220 202e 2028 .")) ("GT" . ( │ │ │ +00038e30: 22ce a422 2929 0a20 2028 2247 7522 2020 "..")). ("Gu" │ │ │ +00038e40: 2e20 2822 cf85 2229 2920 2028 2247 5522 . ("..")) ("GU" │ │ │ +00038e50: 2020 2e20 2822 cea5 2229 290a 2020 2822 . ("..")). (" │ │ │ +00038e60: 4766 2220 202e 2028 22cf 8622 2929 2020 Gf" . ("..")) │ │ │ +00038e70: 2822 4746 2220 202e 2028 22ce a622 2929 ("GF" . ("..")) │ │ │ +00038e80: 0a20 2028 2247 6322 2020 2e20 2822 cf87 . ("Gc" . (".. │ │ │ +00038e90: 2229 2920 2028 2247 4322 2020 2e20 2822 ")) ("GC" . (" │ │ │ +00038ea0: cea7 2229 290a 2020 2822 4770 2220 202e ..")). ("Gp" . │ │ │ +00038eb0: 2028 22cf 8822 2929 2020 2822 4750 2220 ("..")) ("GP" │ │ │ +00038ec0: 202e 2028 22ce a822 2929 0a20 2028 2247 . ("..")). ("G │ │ │ +00038ed0: 6f22 2020 2e20 2822 cf89 2229 2920 2028 o" . ("..")) ( │ │ │ +00038ee0: 2247 4f22 2020 2e20 2822 cea9 2229 290a "GO" . ("..")). │ │ │ +00038ef0: 0a20 203b 3b20 4d61 7468 656d 6174 6963 . ;; Mathematic │ │ │ +00038f00: 616c 2063 6861 7261 6374 6572 732e 0a0a al characters... │ │ │ +00038f10: 2020 2822 4d69 4122 202e 2028 22f0 9d90 ("MiA" . ("... │ │ │ +00038f20: b422 2929 0a20 2028 224d 6942 2220 2e20 .")). ("MiB" . │ │ │ +00038f30: 2822 f09d 90b5 2229 290a 2020 2822 4d69 ("....")). ("Mi │ │ │ +00038f40: 4322 202e 2028 22f0 9d90 b622 2929 0a20 C" . ("....")). │ │ │ +00038f50: 2028 224d 6944 2220 2e20 2822 f09d 90b7 ("MiD" . (".... │ │ │ +00038f60: 2229 290a 2020 2822 4d69 4522 202e 2028 ")). ("MiE" . ( │ │ │ +00038f70: 22f0 9d90 b822 2929 0a20 2028 224d 6946 "....")). ("MiF │ │ │ +00038f80: 2220 2e20 2822 f09d 90b9 2229 290a 2020 " . ("....")). │ │ │ +00038f90: 2822 4d69 4722 202e 2028 22f0 9d90 ba22 ("MiG" . ("...." │ │ │ +00038fa0: 2929 0a20 2028 224d 6948 2220 2e20 2822 )). ("MiH" . (" │ │ │ +00038fb0: f09d 90bb 2229 290a 2020 2822 4d69 4922 ....")). ("MiI" │ │ │ +00038fc0: 202e 2028 22f0 9d90 bc22 2929 0a20 2028 . ("....")). ( │ │ │ +00038fd0: 224d 694a 2220 2e20 2822 f09d 90bd 2229 "MiJ" . ("....") │ │ │ +00038fe0: 290a 2020 2822 4d69 4b22 202e 2028 22f0 ). ("MiK" . (". │ │ │ +00038ff0: 9d90 be22 2929 0a20 2028 224d 694c 2220 ...")). ("MiL" │ │ │ +00039000: 2e20 2822 f09d 90bf 2229 290a 2020 2822 . ("....")). (" │ │ │ +00039010: 4d69 4d22 202e 2028 22f0 9d91 8022 2929 MiM" . ("....")) │ │ │ +00039020: 0a20 2028 224d 694e 2220 2e20 2822 f09d . ("MiN" . (".. │ │ │ +00039030: 9181 2229 290a 2020 2822 4d69 4f22 202e ..")). ("MiO" . │ │ │ +00039040: 2028 22f0 9d91 8222 2929 0a20 2028 224d ("....")). ("M │ │ │ +00039050: 6950 2220 2e20 2822 f09d 9183 2229 290a iP" . ("....")). │ │ │ +00039060: 2020 2822 4d69 5122 202e 2028 22f0 9d91 ("MiQ" . ("... │ │ │ +00039070: 8422 2929 0a20 2028 224d 6952 2220 2e20 .")). ("MiR" . │ │ │ +00039080: 2822 f09d 9185 2229 290a 2020 2822 4d69 ("....")). ("Mi │ │ │ +00039090: 5322 202e 2028 22f0 9d91 8622 2929 0a20 S" . ("....")). │ │ │ +000390a0: 2028 224d 6954 2220 2e20 2822 f09d 9187 ("MiT" . (".... │ │ │ +000390b0: 2229 290a 2020 2822 4d69 5522 202e 2028 ")). ("MiU" . ( │ │ │ +000390c0: 22f0 9d91 8822 2929 0a20 2028 224d 6956 "....")). ("MiV │ │ │ +000390d0: 2220 2e20 2822 f09d 9189 2229 290a 2020 " . ("....")). │ │ │ +000390e0: 2822 4d69 5722 202e 2028 22f0 9d91 8a22 ("MiW" . ("...." │ │ │ +000390f0: 2929 0a20 2028 224d 6958 2220 2e20 2822 )). ("MiX" . (" │ │ │ +00039100: f09d 918b 2229 290a 2020 2822 4d69 5922 ....")). ("MiY" │ │ │ +00039110: 202e 2028 22f0 9d91 8c22 2929 0a20 2028 . ("....")). ( │ │ │ +00039120: 224d 695a 2220 2e20 2822 f09d 918d 2229 "MiZ" . ("....") │ │ │ +00039130: 290a 2020 2822 4d69 6122 202e 2028 22f0 ). ("Mia" . (". │ │ │ +00039140: 9d91 8e22 2929 0a20 2028 224d 6962 2220 ...")). ("Mib" │ │ │ +00039150: 2e20 2822 f09d 918f 2229 290a 2020 2822 . ("....")). (" │ │ │ +00039160: 4d69 6322 202e 2028 22f0 9d91 9022 2929 Mic" . ("....")) │ │ │ +00039170: 0a20 2028 224d 6964 2220 2e20 2822 f09d . ("Mid" . (".. │ │ │ +00039180: 9191 2229 290a 2020 2822 4d69 6522 202e ..")). ("Mie" . │ │ │ +00039190: 2028 22f0 9d91 9222 2929 0a20 2028 224d ("....")). ("M │ │ │ +000391a0: 6966 2220 2e20 2822 f09d 9193 2229 290a if" . ("....")). │ │ │ +000391b0: 2020 2822 4d69 6722 202e 2028 22f0 9d91 ("Mig" . ("... │ │ │ +000391c0: 9422 2929 0a20 2028 224d 6968 2220 2e20 .")). ("Mih" . │ │ │ +000391d0: 2822 e284 8e22 2929 0a20 2028 224d 6969 ("...")). ("Mii │ │ │ +000391e0: 2220 2e20 2822 f09d 9196 2229 290a 2020 " . ("....")). │ │ │ +000391f0: 2822 4d69 6a22 202e 2028 22f0 9d91 9722 ("Mij" . ("...." │ │ │ +00039200: 2929 0a20 2028 224d 696b 2220 2e20 2822 )). ("Mik" . (" │ │ │ +00039210: f09d 9198 2229 290a 2020 2822 4d69 6c22 ....")). ("Mil" │ │ │ +00039220: 202e 2028 22f0 9d91 9922 2929 0a20 2028 . ("....")). ( │ │ │ +00039230: 224d 696d 2220 2e20 2822 f09d 919a 2229 "Mim" . ("....") │ │ │ +00039240: 290a 2020 2822 4d69 6e22 202e 2028 22f0 ). ("Min" . (". │ │ │ +00039250: 9d91 9b22 2929 0a20 2028 224d 696f 2220 ...")). ("Mio" │ │ │ +00039260: 2e20 2822 f09d 919c 2229 290a 2020 2822 . ("....")). (" │ │ │ +00039270: 4d69 7022 202e 2028 22f0 9d91 9d22 2929 Mip" . ("....")) │ │ │ +00039280: 0a20 2028 224d 6971 2220 2e20 2822 f09d . ("Miq" . (".. │ │ │ +00039290: 919e 2229 290a 2020 2822 4d69 7222 202e ..")). ("Mir" . │ │ │ +000392a0: 2028 22f0 9d91 9f22 2929 0a20 2028 224d ("....")). ("M │ │ │ +000392b0: 6973 2220 2e20 2822 f09d 91a0 2229 290a is" . ("....")). │ │ │ +000392c0: 2020 2822 4d69 7422 202e 2028 22f0 9d91 ("Mit" . ("... │ │ │ +000392d0: a122 2929 0a20 2028 224d 6975 2220 2e20 .")). ("Miu" . │ │ │ +000392e0: 2822 f09d 91a2 2229 290a 2020 2822 4d69 ("....")). ("Mi │ │ │ +000392f0: 7622 202e 2028 22f0 9d91 a322 2929 0a20 v" . ("....")). │ │ │ +00039300: 2028 224d 6977 2220 2e20 2822 f09d 91a4 ("Miw" . (".... │ │ │ +00039310: 2229 290a 2020 2822 4d69 7822 202e 2028 ")). ("Mix" . ( │ │ │ +00039320: 22f0 9d91 a522 2929 0a20 2028 224d 6979 "....")). ("Miy │ │ │ +00039330: 2220 2e20 2822 f09d 91a6 2229 290a 2020 " . ("....")). │ │ │ +00039340: 2822 4d69 7a22 202e 2028 22f0 9d91 a722 ("Miz" . ("...." │ │ │ +00039350: 2929 0a0a 2020 2822 4d49 4122 202e 2028 )).. ("MIA" . ( │ │ │ +00039360: 22f0 9d91 a822 2929 0a20 2028 224d 4942 "....")). ("MIB │ │ │ +00039370: 2220 2e20 2822 f09d 91a9 2229 290a 2020 " . ("....")). │ │ │ +00039380: 2822 4d49 4322 202e 2028 22f0 9d91 aa22 ("MIC" . ("...." │ │ │ +00039390: 2929 0a20 2028 224d 4944 2220 2e20 2822 )). ("MID" . (" │ │ │ +000393a0: f09d 91ab 2229 290a 2020 2822 4d49 4522 ....")). ("MIE" │ │ │ +000393b0: 202e 2028 22f0 9d91 ac22 2929 0a20 2028 . ("....")). ( │ │ │ +000393c0: 224d 4946 2220 2e20 2822 f09d 91ad 2229 "MIF" . ("....") │ │ │ +000393d0: 290a 2020 2822 4d49 4722 202e 2028 22f0 ). ("MIG" . (". │ │ │ +000393e0: 9d91 ae22 2929 0a20 2028 224d 4948 2220 ...")). ("MIH" │ │ │ +000393f0: 2e20 2822 f09d 91af 2229 290a 2020 2822 . ("....")). (" │ │ │ +00039400: 4d49 4922 202e 2028 22f0 9d91 b022 2929 MII" . ("....")) │ │ │ +00039410: 0a20 2028 224d 494a 2220 2e20 2822 f09d . ("MIJ" . (".. │ │ │ +00039420: 91b1 2229 290a 2020 2822 4d49 4b22 202e ..")). ("MIK" . │ │ │ +00039430: 2028 22f0 9d91 b222 2929 0a20 2028 224d ("....")). ("M │ │ │ +00039440: 494c 2220 2e20 2822 f09d 91b3 2229 290a IL" . ("....")). │ │ │ +00039450: 2020 2822 4d49 4d22 202e 2028 22f0 9d91 ("MIM" . ("... │ │ │ +00039460: b422 2929 0a20 2028 224d 494e 2220 2e20 .")). ("MIN" . │ │ │ +00039470: 2822 f09d 91b5 2229 290a 2020 2822 4d49 ("....")). ("MI │ │ │ +00039480: 4f22 202e 2028 22f0 9d91 b622 2929 0a20 O" . ("....")). │ │ │ +00039490: 2028 224d 4950 2220 2e20 2822 f09d 91b7 ("MIP" . (".... │ │ │ +000394a0: 2229 290a 2020 2822 4d49 5122 202e 2028 ")). ("MIQ" . ( │ │ │ +000394b0: 22f0 9d91 b822 2929 0a20 2028 224d 4952 "....")). ("MIR │ │ │ +000394c0: 2220 2e20 2822 f09d 91b9 2229 290a 2020 " . ("....")). │ │ │ +000394d0: 2822 4d49 5322 202e 2028 22f0 9d91 ba22 ("MIS" . ("...." │ │ │ +000394e0: 2929 0a20 2028 224d 4954 2220 2e20 2822 )). ("MIT" . (" │ │ │ +000394f0: f09d 91bb 2229 290a 2020 2822 4d49 5522 ....")). ("MIU" │ │ │ +00039500: 202e 2028 22f0 9d91 bc22 2929 0a20 2028 . ("....")). ( │ │ │ +00039510: 224d 4956 2220 2e20 2822 f09d 91bd 2229 "MIV" . ("....") │ │ │ +00039520: 290a 2020 2822 4d49 5722 202e 2028 22f0 ). ("MIW" . (". │ │ │ +00039530: 9d91 be22 2929 0a20 2028 224d 4958 2220 ...")). ("MIX" │ │ │ +00039540: 2e20 2822 f09d 91bf 2229 290a 2020 2822 . ("....")). (" │ │ │ +00039550: 4d49 5922 202e 2028 22f0 9d92 8022 2929 MIY" . ("....")) │ │ │ +00039560: 0a20 2028 224d 495a 2220 2e20 2822 f09d . ("MIZ" . (".. │ │ │ +00039570: 9281 2229 290a 0a20 2028 224d 4961 2220 ..")).. ("MIa" │ │ │ +00039580: 2e20 2822 f09d 9282 2229 290a 2020 2822 . ("....")). (" │ │ │ +00039590: 4d49 6222 202e 2028 22f0 9d92 8322 2929 MIb" . ("....")) │ │ │ +000395a0: 0a20 2028 224d 4963 2220 2e20 2822 f09d . ("MIc" . (".. │ │ │ +000395b0: 9284 2229 290a 2020 2822 4d49 6422 202e ..")). ("MId" . │ │ │ +000395c0: 2028 22f0 9d92 8522 2929 0a20 2028 224d ("....")). ("M │ │ │ +000395d0: 4965 2220 2e20 2822 f09d 9286 2229 290a Ie" . ("....")). │ │ │ +000395e0: 2020 2822 4d49 6622 202e 2028 22f0 9d92 ("MIf" . ("... │ │ │ +000395f0: 8722 2929 0a20 2028 224d 4967 2220 2e20 .")). ("MIg" . │ │ │ +00039600: 2822 f09d 9288 2229 290a 2020 2822 4d49 ("....")). ("MI │ │ │ +00039610: 6822 202e 2028 22f0 9d92 8922 2929 0a20 h" . ("....")). │ │ │ +00039620: 2028 224d 4969 2220 2e20 2822 f09d 928a ("MIi" . (".... │ │ │ +00039630: 2229 290a 2020 2822 4d49 6a22 202e 2028 ")). ("MIj" . ( │ │ │ +00039640: 22f0 9d92 8b22 2929 0a20 2028 224d 496b "....")). ("MIk │ │ │ +00039650: 2220 2e20 2822 f09d 928c 2229 290a 2020 " . ("....")). │ │ │ +00039660: 2822 4d49 6c22 202e 2028 22f0 9d92 8d22 ("MIl" . ("...." │ │ │ +00039670: 2929 0a20 2028 224d 496d 2220 2e20 2822 )). ("MIm" . (" │ │ │ +00039680: f09d 928e 2229 290a 2020 2822 4d49 6e22 ....")). ("MIn" │ │ │ +00039690: 202e 2028 22f0 9d92 8f22 2929 0a20 2028 . ("....")). ( │ │ │ +000396a0: 224d 496f 2220 2e20 2822 f09d 9290 2229 "MIo" . ("....") │ │ │ +000396b0: 290a 2020 2822 4d49 7022 202e 2028 22f0 ). ("MIp" . (". │ │ │ +000396c0: 9d92 9122 2929 0a20 2028 224d 4971 2220 ...")). ("MIq" │ │ │ +000396d0: 2e20 2822 f09d 9292 2229 290a 2020 2822 . ("....")). (" │ │ │ +000396e0: 4d49 7222 202e 2028 22f0 9d92 9322 2929 MIr" . ("....")) │ │ │ +000396f0: 0a20 2028 224d 4973 2220 2e20 2822 f09d . ("MIs" . (".. │ │ │ +00039700: 9294 2229 290a 2020 2822 4d49 7422 202e ..")). ("MIt" . │ │ │ +00039710: 2028 22f0 9d92 9522 2929 0a20 2028 224d ("....")). ("M │ │ │ +00039720: 4975 2220 2e20 2822 f09d 9296 2229 290a Iu" . ("....")). │ │ │ +00039730: 2020 2822 4d49 7622 202e 2028 22f0 9d92 ("MIv" . ("... │ │ │ +00039740: 9722 2929 0a20 2028 224d 4977 2220 2e20 .")). ("MIw" . │ │ │ +00039750: 2822 f09d 9298 2229 290a 2020 2822 4d49 ("....")). ("MI │ │ │ +00039760: 7822 202e 2028 22f0 9d92 9922 2929 0a20 x" . ("....")). │ │ │ +00039770: 2028 224d 4979 2220 2e20 2822 f09d 929a ("MIy" . (".... │ │ │ +00039780: 2229 290a 2020 2822 4d49 7a22 202e 2028 ")). ("MIz" . ( │ │ │ +00039790: 22f0 9d92 9b22 2929 0a0a 2020 2822 4d63 "....")).. ("Mc │ │ │ +000397a0: 4122 202e 2028 22f0 9d92 9c22 2929 0a20 A" . ("....")). │ │ │ +000397b0: 2028 224d 6342 2220 2e20 2822 e284 ac22 ("McB" . ("..." │ │ │ +000397c0: 2929 0a20 2028 224d 6343 2220 2e20 2822 )). ("McC" . (" │ │ │ +000397d0: f09d 929e 2229 290a 2020 2822 4d63 4422 ....")). ("McD" │ │ │ +000397e0: 202e 2028 22f0 9d92 9f22 2929 0a20 2028 . ("....")). ( │ │ │ +000397f0: 224d 6345 2220 2e20 2822 e284 b022 2929 "McE" . ("...")) │ │ │ +00039800: 0a20 2028 224d 6346 2220 2e20 2822 e284 . ("McF" . (".. │ │ │ +00039810: b122 2929 0a20 2028 224d 6347 2220 2e20 .")). ("McG" . │ │ │ +00039820: 2822 f09d 92a2 2229 290a 2020 2822 4d63 ("....")). ("Mc │ │ │ +00039830: 4822 202e 2028 22e2 848b 2229 290a 2020 H" . ("...")). │ │ │ +00039840: 2822 4d63 4922 202e 2028 22e2 8490 2229 ("McI" . ("...") │ │ │ +00039850: 290a 2020 2822 4d63 4a22 202e 2028 22f0 ). ("McJ" . (". │ │ │ +00039860: 9d92 a522 2929 0a20 2028 224d 634b 2220 ...")). ("McK" │ │ │ +00039870: 2e20 2822 f09d 92a6 2229 290a 2020 2822 . ("....")). (" │ │ │ +00039880: 4d63 4c22 202e 2028 22e2 8492 2229 290a McL" . ("...")). │ │ │ +00039890: 2020 2822 4d63 4d22 202e 2028 22e2 84b3 ("McM" . ("... │ │ │ +000398a0: 2229 290a 2020 2822 4d63 4e22 202e 2028 ")). ("McN" . ( │ │ │ +000398b0: 22f0 9d92 a922 2929 0a20 2028 224d 634f "....")). ("McO │ │ │ +000398c0: 2220 2e20 2822 f09d 92aa 2229 290a 2020 " . ("....")). │ │ │ +000398d0: 2822 4d63 5022 202e 2028 22f0 9d92 ab22 ("McP" . ("...." │ │ │ +000398e0: 2929 0a20 2028 224d 6351 2220 2e20 2822 )). ("McQ" . (" │ │ │ +000398f0: f09d 92ac 2229 290a 2020 2822 4d63 5222 ....")). ("McR" │ │ │ +00039900: 202e 2028 22e2 849b 2229 290a 2020 2822 . ("...")). (" │ │ │ +00039910: 4d63 5322 202e 2028 22f0 9d92 ae22 2929 McS" . ("....")) │ │ │ +00039920: 0a20 2028 224d 6354 2220 2e20 2822 f09d . ("McT" . (".. │ │ │ +00039930: 92af 2229 290a 2020 2822 4d63 5522 202e ..")). ("McU" . │ │ │ +00039940: 2028 22f0 9d92 b022 2929 0a20 2028 224d ("....")). ("M │ │ │ +00039950: 6356 2220 2e20 2822 f09d 92b1 2229 290a cV" . ("....")). │ │ │ +00039960: 2020 2822 4d63 5722 202e 2028 22f0 9d92 ("McW" . ("... │ │ │ +00039970: b222 2929 0a20 2028 224d 6358 2220 2e20 .")). ("McX" . │ │ │ +00039980: 2822 f09d 92b3 2229 290a 2020 2822 4d63 ("....")). ("Mc │ │ │ +00039990: 5922 202e 2028 22f0 9d92 b422 2929 0a20 Y" . ("....")). │ │ │ +000399a0: 2028 224d 635a 2220 2e20 2822 f09d 92b5 ("McZ" . (".... │ │ │ +000399b0: 2229 290a 2020 2822 4d63 6122 202e 2028 ")). ("Mca" . ( │ │ │ +000399c0: 22f0 9d92 b622 2929 0a20 2028 224d 6362 "....")). ("Mcb │ │ │ +000399d0: 2220 2e20 2822 f09d 92b7 2229 290a 2020 " . ("....")). │ │ │ +000399e0: 2822 4d63 6322 202e 2028 22f0 9d92 b822 ("Mcc" . ("...." │ │ │ +000399f0: 2929 0a20 2028 224d 6364 2220 2e20 2822 )). ("Mcd" . (" │ │ │ +00039a00: f09d 92b9 2229 290a 2020 2822 4d63 6522 ....")). ("Mce" │ │ │ +00039a10: 202e 2028 22e2 84af 2229 290a 2020 2822 . ("...")). (" │ │ │ +00039a20: 4d63 6622 202e 2028 22f0 9d92 bb22 2929 Mcf" . ("....")) │ │ │ +00039a30: 0a20 2028 224d 6367 2220 2e20 2822 e284 . ("Mcg" . (".. │ │ │ +00039a40: 8a22 2929 0a20 2028 224d 6368 2220 2e20 .")). ("Mch" . │ │ │ +00039a50: 2822 f09d 92bd 2229 290a 2020 2822 4d63 ("....")). ("Mc │ │ │ +00039a60: 6922 202e 2028 22f0 9d92 be22 2929 0a20 i" . ("....")). │ │ │ +00039a70: 2028 224d 636a 2220 2e20 2822 f09d 92bf ("Mcj" . (".... │ │ │ +00039a80: 2229 290a 2020 2822 4d63 6b22 202e 2028 ")). ("Mck" . ( │ │ │ +00039a90: 22f0 9d93 8022 2929 0a20 2028 224d 636c "....")). ("Mcl │ │ │ +00039aa0: 2220 2e20 2822 f09d 9381 2229 290a 2020 " . ("....")). │ │ │ +00039ab0: 2822 4d63 6d22 202e 2028 22f0 9d93 8222 ("Mcm" . ("...." │ │ │ +00039ac0: 2929 0a20 2028 224d 636e 2220 2e20 2822 )). ("Mcn" . (" │ │ │ +00039ad0: f09d 9383 2229 290a 2020 2822 4d63 6f22 ....")). ("Mco" │ │ │ +00039ae0: 202e 2028 22e2 84b4 2229 290a 2020 2822 . ("...")). (" │ │ │ +00039af0: 4d63 7022 202e 2028 22f0 9d93 8522 2929 Mcp" . ("....")) │ │ │ +00039b00: 0a20 2028 224d 6371 2220 2e20 2822 f09d . ("Mcq" . (".. │ │ │ +00039b10: 9386 2229 290a 2020 2822 4d63 7222 202e ..")). ("Mcr" . │ │ │ +00039b20: 2028 22f0 9d93 8722 2929 0a20 2028 224d ("....")). ("M │ │ │ +00039b30: 6373 2220 2e20 2822 f09d 9388 2229 290a cs" . ("....")). │ │ │ +00039b40: 2020 2822 4d63 7422 202e 2028 22f0 9d93 ("Mct" . ("... │ │ │ +00039b50: 8922 2929 0a20 2028 224d 6375 2220 2e20 .")). ("Mcu" . │ │ │ +00039b60: 2822 f09d 938a 2229 290a 2020 2822 4d63 ("....")). ("Mc │ │ │ +00039b70: 7622 202e 2028 22f0 9d93 8b22 2929 0a20 v" . ("....")). │ │ │ +00039b80: 2028 224d 6377 2220 2e20 2822 f09d 938c ("Mcw" . (".... │ │ │ +00039b90: 2229 290a 2020 2822 4d63 7822 202e 2028 ")). ("Mcx" . ( │ │ │ +00039ba0: 22f0 9d93 8d22 2929 0a20 2028 224d 6379 "....")). ("Mcy │ │ │ +00039bb0: 2220 2e20 2822 f09d 938e 2229 290a 2020 " . ("....")). │ │ │ +00039bc0: 2822 4d63 7a22 202e 2028 22f0 9d93 8f22 ("Mcz" . ("...." │ │ │ +00039bd0: 2929 0a0a 2020 2822 4d43 4122 202e 2028 )).. ("MCA" . ( │ │ │ +00039be0: 22f0 9d93 9022 2929 0a20 2028 224d 4342 "....")). ("MCB │ │ │ +00039bf0: 2220 2e20 2822 f09d 9391 2229 290a 2020 " . ("....")). │ │ │ +00039c00: 2822 4d43 4322 202e 2028 22f0 9d93 9222 ("MCC" . ("...." │ │ │ +00039c10: 2929 0a20 2028 224d 4344 2220 2e20 2822 )). ("MCD" . (" │ │ │ +00039c20: f09d 9393 2229 290a 2020 2822 4d43 4522 ....")). ("MCE" │ │ │ +00039c30: 202e 2028 22f0 9d93 9422 2929 0a20 2028 . ("....")). ( │ │ │ +00039c40: 224d 4346 2220 2e20 2822 f09d 9395 2229 "MCF" . ("....") │ │ │ +00039c50: 290a 2020 2822 4d43 4722 202e 2028 22f0 ). ("MCG" . (". │ │ │ +00039c60: 9d93 9622 2929 0a20 2028 224d 4348 2220 ...")). ("MCH" │ │ │ +00039c70: 2e20 2822 f09d 9397 2229 290a 2020 2822 . ("....")). (" │ │ │ +00039c80: 4d43 4922 202e 2028 22f0 9d93 9822 2929 MCI" . ("....")) │ │ │ +00039c90: 0a20 2028 224d 434a 2220 2e20 2822 f09d . ("MCJ" . (".. │ │ │ +00039ca0: 9399 2229 290a 2020 2822 4d43 4b22 202e ..")). ("MCK" . │ │ │ +00039cb0: 2028 22f0 9d93 9a22 2929 0a20 2028 224d ("....")). ("M │ │ │ +00039cc0: 434c 2220 2e20 2822 f09d 939b 2229 290a CL" . ("....")). │ │ │ +00039cd0: 2020 2822 4d43 4d22 202e 2028 22f0 9d93 ("MCM" . ("... │ │ │ +00039ce0: 9c22 2929 0a20 2028 224d 434e 2220 2e20 .")). ("MCN" . │ │ │ +00039cf0: 2822 f09d 939d 2229 290a 2020 2822 4d43 ("....")). ("MC │ │ │ +00039d00: 4f22 202e 2028 22f0 9d93 9e22 2929 0a20 O" . ("....")). │ │ │ +00039d10: 2028 224d 4350 2220 2e20 2822 f09d 939f ("MCP" . (".... │ │ │ +00039d20: 2229 290a 2020 2822 4d43 5122 202e 2028 ")). ("MCQ" . ( │ │ │ +00039d30: 22f0 9d93 a022 2929 0a20 2028 224d 4352 "....")). ("MCR │ │ │ +00039d40: 2220 2e20 2822 f09d 93a1 2229 290a 2020 " . ("....")). │ │ │ +00039d50: 2822 4d43 5322 202e 2028 22f0 9d93 a222 ("MCS" . ("...." │ │ │ +00039d60: 2929 0a20 2028 224d 4354 2220 2e20 2822 )). ("MCT" . (" │ │ │ +00039d70: f09d 93a3 2229 290a 2020 2822 4d43 5522 ....")). ("MCU" │ │ │ +00039d80: 202e 2028 22f0 9d93 a422 2929 0a20 2028 . ("....")). ( │ │ │ +00039d90: 224d 4356 2220 2e20 2822 f09d 93a5 2229 "MCV" . ("....") │ │ │ +00039da0: 290a 2020 2822 4d43 5722 202e 2028 22f0 ). ("MCW" . (". │ │ │ +00039db0: 9d93 a622 2929 0a20 2028 224d 4358 2220 ...")). ("MCX" │ │ │ +00039dc0: 2e20 2822 f09d 93a7 2229 290a 2020 2822 . ("....")). (" │ │ │ +00039dd0: 4d43 5922 202e 2028 22f0 9d93 a822 2929 MCY" . ("....")) │ │ │ +00039de0: 0a20 2028 224d 435a 2220 2e20 2822 f09d . ("MCZ" . (".. │ │ │ +00039df0: 93a9 2229 290a 2020 2822 4d43 6122 202e ..")). ("MCa" . │ │ │ +00039e00: 2028 22f0 9d93 aa22 2929 0a20 2028 224d ("....")). ("M │ │ │ +00039e10: 4362 2220 2e20 2822 f09d 93ab 2229 290a Cb" . ("....")). │ │ │ +00039e20: 2020 2822 4d43 6322 202e 2028 22f0 9d93 ("MCc" . ("... │ │ │ +00039e30: ac22 2929 0a20 2028 224d 4364 2220 2e20 .")). ("MCd" . │ │ │ +00039e40: 2822 f09d 93ad 2229 290a 2020 2822 4d43 ("....")). ("MC │ │ │ +00039e50: 6522 202e 2028 22f0 9d93 ae22 2929 0a20 e" . ("....")). │ │ │ +00039e60: 2028 224d 4366 2220 2e20 2822 f09d 93af ("MCf" . (".... │ │ │ +00039e70: 2229 290a 2020 2822 4d43 6722 202e 2028 ")). ("MCg" . ( │ │ │ +00039e80: 22f0 9d93 b022 2929 0a20 2028 224d 4368 "....")). ("MCh │ │ │ +00039e90: 2220 2e20 2822 f09d 93b1 2229 290a 2020 " . ("....")). │ │ │ +00039ea0: 2822 4d43 6922 202e 2028 22f0 9d93 b222 ("MCi" . ("...." │ │ │ +00039eb0: 2929 0a20 2028 224d 436a 2220 2e20 2822 )). ("MCj" . (" │ │ │ +00039ec0: f09d 93b3 2229 290a 2020 2822 4d43 6b22 ....")). ("MCk" │ │ │ +00039ed0: 202e 2028 22f0 9d93 b422 2929 0a20 2028 . ("....")). ( │ │ │ +00039ee0: 224d 436c 2220 2e20 2822 f09d 93b5 2229 "MCl" . ("....") │ │ │ +00039ef0: 290a 2020 2822 4d43 6d22 202e 2028 22f0 ). ("MCm" . (". │ │ │ +00039f00: 9d93 b622 2929 0a20 2028 224d 436e 2220 ...")). ("MCn" │ │ │ +00039f10: 2e20 2822 f09d 93b7 2229 290a 2020 2822 . ("....")). (" │ │ │ +00039f20: 4d43 6f22 202e 2028 22f0 9d93 b822 2929 MCo" . ("....")) │ │ │ +00039f30: 0a20 2028 224d 4370 2220 2e20 2822 f09d . ("MCp" . (".. │ │ │ +00039f40: 93b9 2229 290a 2020 2822 4d43 7122 202e ..")). ("MCq" . │ │ │ +00039f50: 2028 22f0 9d93 ba22 2929 0a20 2028 224d ("....")). ("M │ │ │ +00039f60: 4372 2220 2e20 2822 f09d 93bb 2229 290a Cr" . ("....")). │ │ │ +00039f70: 2020 2822 4d43 7322 202e 2028 22f0 9d93 ("MCs" . ("... │ │ │ +00039f80: bc22 2929 0a20 2028 224d 4374 2220 2e20 .")). ("MCt" . │ │ │ +00039f90: 2822 f09d 93bd 2229 290a 2020 2822 4d43 ("....")). ("MC │ │ │ +00039fa0: 7522 202e 2028 22f0 9d93 be22 2929 0a20 u" . ("....")). │ │ │ +00039fb0: 2028 224d 4376 2220 2e20 2822 f09d 93bf ("MCv" . (".... │ │ │ +00039fc0: 2229 290a 2020 2822 4d43 7722 202e 2028 ")). ("MCw" . ( │ │ │ +00039fd0: 22f0 9d94 8022 2929 0a20 2028 224d 4378 "....")). ("MCx │ │ │ +00039fe0: 2220 2e20 2822 f09d 9481 2229 290a 2020 " . ("....")). │ │ │ +00039ff0: 2822 4d43 7922 202e 2028 22f0 9d94 8222 ("MCy" . ("...." │ │ │ +0003a000: 2929 0a20 2028 224d 437a 2220 2e20 2822 )). ("MCz" . (" │ │ │ +0003a010: f09d 9483 2229 290a 0a20 2028 224d 6641 ....")).. ("MfA │ │ │ +0003a020: 2220 2e20 2822 f09d 9484 2229 290a 2020 " . ("....")). │ │ │ +0003a030: 2822 4d66 4222 202e 2028 22f0 9d94 8522 ("MfB" . ("...." │ │ │ +0003a040: 2929 0a20 2028 224d 6643 2220 2e20 2822 )). ("MfC" . (" │ │ │ +0003a050: e284 ad22 2929 0a20 2028 224d 6644 2220 ...")). ("MfD" │ │ │ +0003a060: 2e20 2822 f09d 9487 2229 290a 2020 2822 . ("....")). (" │ │ │ +0003a070: 4d66 4522 202e 2028 22f0 9d94 8822 2929 MfE" . ("....")) │ │ │ +0003a080: 0a20 2028 224d 6646 2220 2e20 2822 f09d . ("MfF" . (".. │ │ │ +0003a090: 9489 2229 290a 2020 2822 4d66 4722 202e ..")). ("MfG" . │ │ │ +0003a0a0: 2028 22f0 9d94 8a22 2929 0a20 2028 224d ("....")). ("M │ │ │ +0003a0b0: 6648 2220 2e20 2822 e284 8c22 2929 0a20 fH" . ("...")). │ │ │ +0003a0c0: 2028 224d 6649 2220 2e20 2822 e284 9122 ("MfI" . ("..." │ │ │ +0003a0d0: 2929 0a20 2028 224d 664a 2220 2e20 2822 )). ("MfJ" . (" │ │ │ +0003a0e0: f09d 948d 2229 290a 2020 2822 4d66 4b22 ....")). ("MfK" │ │ │ +0003a0f0: 202e 2028 22f0 9d94 8e22 2929 0a20 2028 . ("....")). ( │ │ │ +0003a100: 224d 664c 2220 2e20 2822 f09d 948f 2229 "MfL" . ("....") │ │ │ +0003a110: 290a 2020 2822 4d66 4d22 202e 2028 22f0 ). ("MfM" . (". │ │ │ +0003a120: 9d94 9022 2929 0a20 2028 224d 664e 2220 ...")). ("MfN" │ │ │ +0003a130: 2e20 2822 f09d 9491 2229 290a 2020 2822 . ("....")). (" │ │ │ +0003a140: 4d66 4f22 202e 2028 22f0 9d94 9222 2929 MfO" . ("....")) │ │ │ +0003a150: 0a20 2028 224d 6650 2220 2e20 2822 f09d . ("MfP" . (".. │ │ │ +0003a160: 9493 2229 290a 2020 2822 4d66 5122 202e ..")). ("MfQ" . │ │ │ +0003a170: 2028 22f0 9d94 9422 2929 0a20 2028 224d ("....")). ("M │ │ │ +0003a180: 6652 2220 2e20 2822 e284 9c22 2929 0a20 fR" . ("...")). │ │ │ +0003a190: 2028 224d 6653 2220 2e20 2822 f09d 9496 ("MfS" . (".... │ │ │ +0003a1a0: 2229 290a 2020 2822 4d66 5422 202e 2028 ")). ("MfT" . ( │ │ │ +0003a1b0: 22f0 9d94 9722 2929 0a20 2028 224d 6655 "....")). ("MfU │ │ │ +0003a1c0: 2220 2e20 2822 f09d 9498 2229 290a 2020 " . ("....")). │ │ │ +0003a1d0: 2822 4d66 5622 202e 2028 22f0 9d94 9922 ("MfV" . ("...." │ │ │ +0003a1e0: 2929 0a20 2028 224d 6657 2220 2e20 2822 )). ("MfW" . (" │ │ │ +0003a1f0: f09d 949a 2229 290a 2020 2822 4d66 5822 ....")). ("MfX" │ │ │ +0003a200: 202e 2028 22f0 9d94 9b22 2929 0a20 2028 . ("....")). ( │ │ │ +0003a210: 224d 6659 2220 2e20 2822 f09d 949c 2229 "MfY" . ("....") │ │ │ +0003a220: 290a 2020 2822 4d66 5a22 202e 2028 22e2 ). ("MfZ" . (". │ │ │ +0003a230: 84a8 2229 290a 2020 2822 4d66 6122 202e ..")). ("Mfa" . │ │ │ +0003a240: 2028 22f0 9d94 9e22 2929 0a20 2028 224d ("....")). ("M │ │ │ +0003a250: 6662 2220 2e20 2822 f09d 949f 2229 290a fb" . ("....")). │ │ │ +0003a260: 2020 2822 4d66 6322 202e 2028 22f0 9d94 ("Mfc" . ("... │ │ │ +0003a270: a022 2929 0a20 2028 224d 6664 2220 2e20 .")). ("Mfd" . │ │ │ +0003a280: 2822 f09d 94a1 2229 290a 2020 2822 4d66 ("....")). ("Mf │ │ │ +0003a290: 6522 202e 2028 22f0 9d94 a222 2929 0a20 e" . ("....")). │ │ │ +0003a2a0: 2028 224d 6666 2220 2e20 2822 f09d 94a3 ("Mff" . (".... │ │ │ +0003a2b0: 2229 290a 2020 2822 4d66 6722 202e 2028 ")). ("Mfg" . ( │ │ │ +0003a2c0: 22f0 9d94 a422 2929 0a20 2028 224d 6668 "....")). ("Mfh │ │ │ +0003a2d0: 2220 2e20 2822 f09d 94a5 2229 290a 2020 " . ("....")). │ │ │ +0003a2e0: 2822 4d66 6922 202e 2028 22f0 9d94 a622 ("Mfi" . ("...." │ │ │ +0003a2f0: 2929 0a20 2028 224d 666a 2220 2e20 2822 )). ("Mfj" . (" │ │ │ +0003a300: f09d 94a7 2229 290a 2020 2822 4d66 6b22 ....")). ("Mfk" │ │ │ +0003a310: 202e 2028 22f0 9d94 a822 2929 0a20 2028 . ("....")). ( │ │ │ +0003a320: 224d 666c 2220 2e20 2822 f09d 94a9 2229 "Mfl" . ("....") │ │ │ +0003a330: 290a 2020 2822 4d66 6d22 202e 2028 22f0 ). ("Mfm" . (". │ │ │ +0003a340: 9d94 aa22 2929 0a20 2028 224d 666e 2220 ...")). ("Mfn" │ │ │ +0003a350: 2e20 2822 f09d 94ab 2229 290a 2020 2822 . ("....")). (" │ │ │ +0003a360: 4d66 6f22 202e 2028 22f0 9d94 ac22 2929 Mfo" . ("....")) │ │ │ +0003a370: 0a20 2028 224d 6670 2220 2e20 2822 f09d . ("Mfp" . (".. │ │ │ +0003a380: 94ad 2229 290a 2020 2822 4d66 7122 202e ..")). ("Mfq" . │ │ │ +0003a390: 2028 22f0 9d94 ae22 2929 0a20 2028 224d ("....")). ("M │ │ │ +0003a3a0: 6672 2220 2e20 2822 f09d 94af 2229 290a fr" . ("....")). │ │ │ +0003a3b0: 2020 2822 4d66 7322 202e 2028 22f0 9d94 ("Mfs" . ("... │ │ │ +0003a3c0: b022 2929 0a20 2028 224d 6674 2220 2e20 .")). ("Mft" . │ │ │ +0003a3d0: 2822 f09d 94b1 2229 290a 2020 2822 4d66 ("....")). ("Mf │ │ │ +0003a3e0: 7522 202e 2028 22f0 9d94 b222 2929 0a20 u" . ("....")). │ │ │ +0003a3f0: 2028 224d 6676 2220 2e20 2822 f09d 94b3 ("Mfv" . (".... │ │ │ +0003a400: 2229 290a 2020 2822 4d66 7722 202e 2028 ")). ("Mfw" . ( │ │ │ +0003a410: 22f0 9d94 b422 2929 0a20 2028 224d 6678 "....")). ("Mfx │ │ │ +0003a420: 2220 2e20 2822 f09d 94b5 2229 290a 2020 " . ("....")). │ │ │ +0003a430: 2822 4d66 7922 202e 2028 22f0 9d94 b622 ("Mfy" . ("...." │ │ │ +0003a440: 2929 0a20 2028 224d 667a 2220 2e20 2822 )). ("Mfz" . (" │ │ │ +0003a450: f09d 94b7 2229 290a 0a20 203b 3b20 2853 ....")).. ;; (S │ │ │ +0003a460: 7562 202f 2053 7570 6572 2920 7363 7269 ub / Super) scri │ │ │ +0003a470: 7074 732e 0a20 203b 3b0a 2020 3b3b 2055 pts.. ;;. ;; U │ │ │ +0003a480: 6e69 636f 6465 2031 322e 3120 6f6d 6974 nicode 12.1 omit │ │ │ +0003a490: 7320 7365 7665 7261 6c20 6c61 7469 6e20 s several latin │ │ │ +0003a4a0: 6368 6172 6163 7465 7273 2066 726f 6d20 characters from │ │ │ +0003a4b0: 7375 622f 7375 7065 7273 6372 6970 742e sub/superscript. │ │ │ +0003a4c0: 0a20 203b 3b20 6874 7470 733a 2f2f 7777 . ;; https://ww │ │ │ +0003a4d0: 772e 7175 6f72 612e 636f 6d2f 5768 792d w.quora.com/Why- │ │ │ +0003a4e0: 6973 2d74 6865 7265 2d6e 6f2d 6368 6172 is-there-no-char │ │ │ +0003a4f0: 6163 7465 722d 666f 722d 7375 7065 7273 acter-for-supers │ │ │ +0003a500: 6372 6970 742d 712d 696e 2d55 6e69 636f cript-q-in-Unico │ │ │ +0003a510: 6465 0a20 203b 3b0a 2020 3b3b 2050 6572 de. ;;. ;; Per │ │ │ +0003a520: 6861 7073 2074 6865 7920 7769 6c6c 2062 haps they will b │ │ │ +0003a530: 6520 6164 6465 6420 696e 2066 7574 7572 e added in futur │ │ │ +0003a540: 6520 7665 7273 696f 6e73 2c20 686f 7765 e versions, howe │ │ │ +0003a550: 7665 7220 7468 6572 6520 6172 6520 6e6f ver there are no │ │ │ +0003a560: 0a20 203b 3b20 7072 6f70 6f73 616c 7320 . ;; proposals │ │ │ +0003a570: 666f 7220 6974 2063 7572 7265 6e74 6c79 for it currently │ │ │ +0003a580: 2069 6e20 7468 6520 7069 7065 6c69 6e65 in the pipeline │ │ │ +0003a590: 3a0a 2020 3b3b 2068 7474 7073 3a2f 2f77 :. ;; https://w │ │ │ +0003a5a0: 7777 2e75 6e69 636f 6465 2e6f 7267 2f61 ww.unicode.org/a │ │ │ +0003a5b0: 6c6c 6f63 2f50 6970 656c 696e 652e 6874 lloc/Pipeline.ht │ │ │ +0003a5c0: 6d6c 0a0a 2020 2822 5f61 2220 2e20 2822 ml.. ("_a" . (" │ │ │ +0003a5d0: e282 9022 2929 0a20 203b 3b20 2822 5f62 ...")). ;; ("_b │ │ │ +0003a5e0: 2220 2e20 2822 6222 2929 0a20 203b 3b20 " . ("b")). ;; │ │ │ +0003a5f0: 2822 5f63 2220 2e20 2822 6322 2929 0a20 ("_c" . ("c")). │ │ │ +0003a600: 203b 3b20 2822 5f64 2220 2e20 2822 6422 ;; ("_d" . ("d" │ │ │ +0003a610: 2929 0a20 2028 225f 6522 202e 2028 22e2 )). ("_e" . (". │ │ │ +0003a620: 8291 2229 290a 2020 3b3b 2028 225f 6622 ..")). ;; ("_f" │ │ │ +0003a630: 202e 2028 2266 2229 290a 2020 3b3b 2028 . ("f")). ;; ( │ │ │ +0003a640: 225f 6722 202e 2028 2267 2229 290a 2020 "_g" . ("g")). │ │ │ +0003a650: 2822 5f68 2220 2e20 2822 e282 9522 2929 ("_h" . ("...")) │ │ │ +0003a660: 0a20 2028 225f 6922 202e 2028 22e1 b5a2 . ("_i" . ("... │ │ │ +0003a670: 2229 290a 2020 2822 5f6a 2220 2e20 2822 ")). ("_j" . (" │ │ │ +0003a680: e2b1 bc22 2929 0a20 2028 225f 6b22 202e ...")). ("_k" . │ │ │ +0003a690: 2028 22e2 8296 2229 290a 2020 2822 5f6c ("...")). ("_l │ │ │ +0003a6a0: 2220 2e20 2822 e282 9722 2929 0a20 2028 " . ("...")). ( │ │ │ +0003a6b0: 225f 6d22 202e 2028 22e2 8298 2229 290a "_m" . ("...")). │ │ │ +0003a6c0: 2020 2822 5f6e 2220 2e20 2822 e282 9922 ("_n" . ("..." │ │ │ +0003a6d0: 2929 0a20 2028 225f 6f22 202e 2028 22e2 )). ("_o" . (". │ │ │ +0003a6e0: 8292 2229 290a 2020 2822 5f70 2220 2e20 ..")). ("_p" . │ │ │ +0003a6f0: 2822 e282 9a22 2929 0a20 203b 3b20 2822 ("...")). ;; (" │ │ │ +0003a700: 5f71 2220 2e20 2822 7122 2929 0a20 2028 _q" . ("q")). ( │ │ │ +0003a710: 225f 7222 202e 2028 22e1 b5a3 2229 290a "_r" . ("...")). │ │ │ +0003a720: 2020 2822 5f73 2220 2e20 2822 e282 9b22 ("_s" . ("..." │ │ │ +0003a730: 2929 0a20 2028 225f 7422 202e 2028 22e2 )). ("_t" . (". │ │ │ +0003a740: 829c 2229 290a 2020 2822 5f75 2220 2e20 ..")). ("_u" . │ │ │ +0003a750: 2822 e1b5 a422 2929 0a20 2028 225f 7622 ("...")). ("_v" │ │ │ +0003a760: 202e 2028 22e1 b5a5 2229 290a 2020 3b3b . ("...")). ;; │ │ │ +0003a770: 2028 225f 7722 202e 2028 2277 2229 290a ("_w" . ("w")). │ │ │ +0003a780: 2020 2822 5f78 2220 2e20 2822 e282 9322 ("_x" . ("..." │ │ │ +0003a790: 2929 0a20 203b 3b20 2822 5f79 2220 2e20 )). ;; ("_y" . │ │ │ +0003a7a0: 2822 7922 2929 0a20 203b 3b20 2822 5f7a ("y")). ;; ("_z │ │ │ +0003a7b0: 2220 2e20 2822 7a22 2929 0a0a 2020 2822 " . ("z")).. (" │ │ │ +0003a7c0: 5f47 6222 202e 2028 22e1 b5a6 2229 290a _Gb" . ("...")). │ │ │ +0003a7d0: 2020 2822 5f47 6722 202e 2028 22e1 b5a7 ("_Gg" . ("... │ │ │ +0003a7e0: 2229 290a 2020 2822 5f47 7222 202e 2028 ")). ("_Gr" . ( │ │ │ +0003a7f0: 22e1 b5a8 2229 290a 2020 2822 5f47 6622 "...")). ("_Gf" │ │ │ +0003a800: 202e 2028 22e1 b5a9 2229 290a 2020 2822 . ("...")). (" │ │ │ +0003a810: 5f47 6322 202e 2028 22e1 b5aa 2229 290a _Gc" . ("...")). │ │ │ +0003a820: 0a20 2028 225e 6122 202e 2028 22e1 b583 . ("^a" . ("... │ │ │ +0003a830: 2229 290a 2020 2822 5e62 2220 2e20 2822 ")). ("^b" . (" │ │ │ +0003a840: e1b5 8722 2929 0a20 2028 225e 6322 202e ...")). ("^c" . │ │ │ +0003a850: 2028 22e1 b69c 2229 290a 2020 2822 5e64 ("...")). ("^d │ │ │ +0003a860: 2220 2e20 2822 e1b5 8822 2929 0a20 2028 " . ("...")). ( │ │ │ +0003a870: 225e 6522 202e 2028 22e1 b589 2229 290a "^e" . ("...")). │ │ │ +0003a880: 2020 2822 5e66 2220 2e20 2822 e1b6 a022 ("^f" . ("..." │ │ │ +0003a890: 2929 0a20 2028 225e 6722 202e 2028 22e1 )). ("^g" . (". │ │ │ +0003a8a0: b58d 2229 290a 2020 2822 5e68 2220 2e20 ..")). ("^h" . │ │ │ +0003a8b0: 2822 cab0 2229 290a 2020 2822 5e69 2220 ("..")). ("^i" │ │ │ +0003a8c0: 2e20 2822 e281 b122 2929 0a20 2028 225e . ("...")). ("^ │ │ │ +0003a8d0: 6a22 202e 2028 22ca b222 2929 0a20 2028 j" . ("..")). ( │ │ │ +0003a8e0: 225e 6b22 202e 2028 22e1 b58f 2229 290a "^k" . ("...")). │ │ │ +0003a8f0: 2020 2822 5e6c 2220 2e20 2822 cba1 2229 ("^l" . ("..") │ │ │ +0003a900: 290a 2020 2822 5e6d 2220 2e20 2822 e1b5 ). ("^m" . (".. │ │ │ +0003a910: 9022 2929 0a20 2028 225e 6e22 202e 2028 .")). ("^n" . ( │ │ │ +0003a920: 22e2 81bf 2229 290a 2020 2822 5e6f 2220 "...")). ("^o" │ │ │ +0003a930: 2e20 2822 e1b5 9222 2929 0a20 2028 225e . ("...")). ("^ │ │ │ +0003a940: 7022 202e 2028 22e1 b596 2229 290a 2020 p" . ("...")). │ │ │ +0003a950: 3b3b 2028 225e 7122 202e 2028 2271 2229 ;; ("^q" . ("q") │ │ │ +0003a960: 290a 2020 2822 5e72 2220 2e20 2822 cab3 ). ("^r" . (".. │ │ │ +0003a970: 2229 290a 2020 2822 5e73 2220 2e20 2822 ")). ("^s" . (" │ │ │ +0003a980: cba2 2229 290a 2020 2822 5e74 2220 2e20 ..")). ("^t" . │ │ │ +0003a990: 2822 e1b5 9722 2929 0a20 2028 225e 7522 ("...")). ("^u" │ │ │ +0003a9a0: 202e 2028 22e1 b598 2229 290a 2020 2822 . ("...")). (" │ │ │ +0003a9b0: 5e76 2220 2e20 2822 e1b5 9b22 2929 0a20 ^v" . ("...")). │ │ │ +0003a9c0: 2028 225e 7722 202e 2028 22ca b722 2929 ("^w" . ("..")) │ │ │ +0003a9d0: 0a20 2028 225e 7822 202e 2028 22cb a322 . ("^x" . (".." │ │ │ +0003a9e0: 2929 0a20 2028 225e 7922 202e 2028 22ca )). ("^y" . (". │ │ │ +0003a9f0: b822 2929 0a20 2028 225e 7a22 202e 2028 .")). ("^z" . ( │ │ │ +0003aa00: 22e1 b6bb 2229 290a 0a20 2028 225e 4122 "...")).. ("^A" │ │ │ +0003aa10: 202e 2028 22e1 b4ac 2229 290a 2020 2822 . ("...")). (" │ │ │ +0003aa20: 5e42 2220 2e20 2822 e1b4 ae22 2929 0a20 ^B" . ("...")). │ │ │ +0003aa30: 203b 3b20 2822 5e43 2220 2e20 2822 4322 ;; ("^C" . ("C" │ │ │ +0003aa40: 2929 0a20 2028 225e 4422 202e 2028 22e1 )). ("^D" . (". │ │ │ +0003aa50: b4b0 2229 290a 2020 2822 5e45 2220 2e20 ..")). ("^E" . │ │ │ +0003aa60: 2822 e1b4 b122 2929 0a20 203b 3b20 2822 ("...")). ;; (" │ │ │ +0003aa70: 5e46 2220 2e20 2822 4622 2929 0a20 2028 ^F" . ("F")). ( │ │ │ +0003aa80: 225e 4722 202e 2028 22e1 b4b3 2229 290a "^G" . ("...")). │ │ │ +0003aa90: 2020 2822 5e48 2220 2e20 2822 e1b4 b422 ("^H" . ("..." │ │ │ +0003aaa0: 2929 0a20 2028 225e 4922 202e 2028 22e1 )). ("^I" . (". │ │ │ +0003aab0: b4b5 2229 290a 2020 2822 5e4a 2220 2e20 ..")). ("^J" . │ │ │ +0003aac0: 2822 e1b4 b622 2929 0a20 2028 225e 4b22 ("...")). ("^K" │ │ │ +0003aad0: 202e 2028 22e1 b4b7 2229 290a 2020 2822 . ("...")). (" │ │ │ +0003aae0: 5e4c 2220 2e20 2822 e1b4 b822 2929 0a20 ^L" . ("...")). │ │ │ +0003aaf0: 2028 225e 4d22 202e 2028 22e1 b4b9 2229 ("^M" . ("...") │ │ │ +0003ab00: 290a 2020 2822 5e4e 2220 2e20 2822 e1b4 ). ("^N" . (".. │ │ │ +0003ab10: ba22 2929 0a20 2028 225e 4f22 202e 2028 .")). ("^O" . ( │ │ │ +0003ab20: 22e1 b4bc 2229 290a 2020 2822 5e50 2220 "...")). ("^P" │ │ │ +0003ab30: 2e20 2822 e1b4 be22 2929 0a20 203b 3b20 . ("...")). ;; │ │ │ +0003ab40: 2822 5e51 2220 2e20 2822 5122 2929 0a20 ("^Q" . ("Q")). │ │ │ +0003ab50: 2028 225e 5222 202e 2028 22e1 b4bf 2229 ("^R" . ("...") │ │ │ +0003ab60: 290a 2020 3b3b 2028 225e 5322 202e 2028 ). ;; ("^S" . ( │ │ │ +0003ab70: 2253 2229 290a 2020 2822 5e54 2220 2e20 "S")). ("^T" . │ │ │ +0003ab80: 2822 e1b5 8022 2929 0a20 2028 225e 5522 ("...")). ("^U" │ │ │ +0003ab90: 202e 2028 22e1 b581 2229 290a 2020 2822 . ("...")). (" │ │ │ +0003aba0: 5e56 2220 2e20 2822 e2b1 bd22 2929 0a20 ^V" . ("...")). │ │ │ +0003abb0: 2028 225e 5722 202e 2028 22e1 b582 2229 ("^W" . ("...") │ │ │ +0003abc0: 290a 2020 3b3b 2028 225e 5822 202e 2028 ). ;; ("^X" . ( │ │ │ +0003abd0: 2258 2229 290a 2020 3b3b 2028 225e 5922 "X")). ;; ("^Y" │ │ │ +0003abe0: 202e 2028 2259 2229 290a 2020 3b3b 2028 . ("Y")). ;; ( │ │ │ +0003abf0: 225e 5a22 202e 2028 225a 2229 290a 0a20 "^Z" . ("Z")).. │ │ │ +0003ac00: 2028 225e 4761 2220 2e20 2822 e1b5 8522 ("^Ga" . ("..." │ │ │ +0003ac10: 2929 0a20 2028 225e 4762 2220 2e20 2822 )). ("^Gb" . (" │ │ │ +0003ac20: e1b5 9d22 2929 0a20 2028 225e 4767 2220 ...")). ("^Gg" │ │ │ +0003ac30: 2e20 2822 e1b5 9e22 2929 0a20 2028 225e . ("...")). ("^ │ │ │ +0003ac40: 4764 2220 2e20 2822 e1b5 9f22 2929 0a20 Gd" . ("...")). │ │ │ +0003ac50: 2028 225e 4765 2220 2e20 2822 e1b5 8b22 ("^Ge" . ("..." │ │ │ +0003ac60: 2929 0a20 2028 225e 4774 6822 202e 2028 )). ("^Gth" . ( │ │ │ +0003ac70: 22e1 b6bf 2229 290a 2020 2822 5e47 6922 "...")). ("^Gi" │ │ │ +0003ac80: 202e 2028 22e1 b6a5 2229 290a 2020 2822 . ("...")). (" │ │ │ +0003ac90: 5e47 6622 202e 2028 22e1 b5a0 2229 290a ^Gf" . ("...")). │ │ │ +0003aca0: 2020 2822 5e47 6322 202e 2028 22e1 b5a1 ("^Gc" . ("... │ │ │ +0003acb0: 2229 290a 0a20 2028 225e 4746 2220 2e20 ")).. ("^GF" . │ │ │ +0003acc0: 2822 e1b6 b222 2929 0a0a 2020 3b3b 2053 ("...")).. ;; S │ │ │ +0003acd0: 6f6d 6520 4953 4f38 3835 392d 3120 6368 ome ISO8859-1 ch │ │ │ +0003ace0: 6172 6163 7465 7273 2e0a 0a20 2028 2220 aracters... (" │ │ │ +0003acf0: 2220 2020 2020 2020 2020 2e20 2822 c2a0 " . (".. │ │ │ +0003ad00: 2229 290a 2020 2822 2122 2020 2020 2020 ")). ("!" │ │ │ +0003ad10: 2020 202e 2028 22c2 a122 2929 0a20 2028 . ("..")). ( │ │ │ +0003ad20: 2263 656e 7422 2020 2020 2020 2e20 2822 "cent" . (" │ │ │ +0003ad30: c2a2 2229 290a 2020 2822 6272 6f6b 656e ..")). ("broken │ │ │ +0003ad40: 6261 7222 202e 2028 22c2 a622 2929 0a20 bar" . ("..")). │ │ │ +0003ad50: 2028 2264 6567 7265 6522 2020 2020 2e20 ("degree" . │ │ │ +0003ad60: 2822 c2b0 2229 290a 2020 2822 3f22 2020 ("..")). ("?" │ │ │ +0003ad70: 2020 2020 2020 202e 2028 22c2 bf22 2929 . ("..")) │ │ │ +0003ad80: 0a20 2028 225e 615f 2220 2020 2020 2020 . ("^a_" │ │ │ +0003ad90: 2e20 2822 c2aa 2229 290a 2020 2822 5e6f . ("..")). ("^o │ │ │ +0003ada0: 5f22 2020 2020 2020 202e 2028 22c2 ba22 _" . (".." │ │ │ +0003adb0: 2929 0a0a 2020 3b3b 2043 6972 636c 6564 )).. ;; Circled │ │ │ +0003adc0: 2c20 7061 7265 6e74 6865 7369 7365 6420 , parenthesised │ │ │ +0003add0: 6574 632e 206e 756d 6265 7273 2061 6e64 etc. numbers and │ │ │ +0003ade0: 206c 6574 7465 7273 2e0a 0a20 2028 2022 letters... ( " │ │ │ +0003adf0: 2830 2922 202e 202c 2861 6764 612d 696e (0)" . ,(agda-in │ │ │ +0003ae00: 7075 742d 746f 2d73 7472 696e 672d 6c69 put-to-string-li │ │ │ +0003ae10: 7374 2022 20e2 93aa f09f 8480 e293 bff0 st " ........... │ │ │ +0003ae20: 9f84 8bf0 9f84 8c22 2929 0a20 2028 2022 .......")). ( " │ │ │ +0003ae30: 2831 2922 202e 202c 2861 6764 612d 696e (1)" . ,(agda-in │ │ │ +0003ae40: 7075 742d 746f 2d73 7472 696e 672d 6c69 put-to-string-li │ │ │ +0003ae50: 7374 2022 e291 b4e2 91a0 e292 88e2 9db6 st "............ │ │ │ +0003ae60: e29e 80e2 9e8a 2229 290a 2020 2820 2228 ......")). ( "( │ │ │ +0003ae70: 3229 2220 2e20 2c28 6167 6461 2d69 6e70 2)" . ,(agda-inp │ │ │ +0003ae80: 7574 2d74 6f2d 7374 7269 6e67 2d6c 6973 ut-to-string-lis │ │ │ +0003ae90: 7420 22e2 91b5 e291 a1e2 9289 e29d b7e2 t "............. │ │ │ +0003aea0: 9e81 e29e 8b22 2929 0a20 2028 2022 2833 .....")). ( "(3 │ │ │ +0003aeb0: 2922 202e 202c 2861 6764 612d 696e 7075 )" . ,(agda-inpu │ │ │ +0003aec0: 742d 746f 2d73 7472 696e 672d 6c69 7374 t-to-string-list │ │ │ +0003aed0: 2022 e291 b6e2 91a2 e292 8ae2 9db8 e29e ".............. │ │ │ +0003aee0: 82e2 9e8c 2229 290a 2020 2820 2228 3429 ....")). ( "(4) │ │ │ +0003aef0: 2220 2e20 2c28 6167 6461 2d69 6e70 7574 " . ,(agda-input │ │ │ +0003af00: 2d74 6f2d 7374 7269 6e67 2d6c 6973 7420 -to-string-list │ │ │ +0003af10: 22e2 91b7 e291 a3e2 928b e29d b9e2 9e83 "............... │ │ │ +0003af20: e29e 8d22 2929 0a20 2028 2022 2835 2922 ...")). ( "(5)" │ │ │ +0003af30: 202e 202c 2861 6764 612d 696e 7075 742d . ,(agda-input- │ │ │ +0003af40: 746f 2d73 7472 696e 672d 6c69 7374 2022 to-string-list " │ │ │ +0003af50: e291 b8e2 91a4 e292 8ce2 9dba e29e 84e2 ................ │ │ │ +0003af60: 9e8e 2229 290a 2020 2820 2228 3629 2220 ..")). ( "(6)" │ │ │ +0003af70: 2e20 2c28 6167 6461 2d69 6e70 7574 2d74 . ,(agda-input-t │ │ │ +0003af80: 6f2d 7374 7269 6e67 2d6c 6973 7420 22e2 o-string-list ". │ │ │ +0003af90: 91b9 e291 a5e2 928d e29d bbe2 9e85 e29e ................ │ │ │ +0003afa0: 8f22 2929 0a20 2028 2022 2837 2922 202e .")). ( "(7)" . │ │ │ +0003afb0: 202c 2861 6764 612d 696e 7075 742d 746f ,(agda-input-to │ │ │ +0003afc0: 2d73 7472 696e 672d 6c69 7374 2022 e291 -string-list ".. │ │ │ +0003afd0: bae2 91a6 e292 8ee2 9dbc e29e 86e2 9e90 ................ │ │ │ +0003afe0: 2229 290a 2020 2820 2228 3829 2220 2e20 ")). ( "(8)" . │ │ │ +0003aff0: 2c28 6167 6461 2d69 6e70 7574 2d74 6f2d ,(agda-input-to- │ │ │ +0003b000: 7374 7269 6e67 2d6c 6973 7420 22e2 91bb string-list "... │ │ │ +0003b010: e291 a7e2 928f e29d bde2 9e87 e29e 9122 ..............." │ │ │ +0003b020: 2929 0a20 2028 2022 2839 2922 202e 202c )). ( "(9)" . , │ │ │ +0003b030: 2861 6764 612d 696e 7075 742d 746f 2d73 (agda-input-to-s │ │ │ +0003b040: 7472 696e 672d 6c69 7374 2022 e291 bce2 tring-list ".... │ │ │ +0003b050: 91a8 e292 90e2 9dbe e29e 88e2 9e92 2229 ..............") │ │ │ +0003b060: 290a 2020 2822 2831 3029 2220 2e20 2c28 ). ("(10)" . ,( │ │ │ +0003b070: 6167 6461 2d69 6e70 7574 2d74 6f2d 7374 agda-input-to-st │ │ │ +0003b080: 7269 6e67 2d6c 6973 7420 22e2 91bd e291 ring-list "..... │ │ │ +0003b090: a9e2 9291 e29d bfe2 9e89 e29e 9322 2929 .............")) │ │ │ +0003b0a0: 0a20 2028 2228 3131 2922 202e 202c 2861 . ("(11)" . ,(a │ │ │ +0003b0b0: 6764 612d 696e 7075 742d 746f 2d73 7472 gda-input-to-str │ │ │ +0003b0c0: 696e 672d 6c69 7374 2022 e291 bee2 91aa ing-list "...... │ │ │ +0003b0d0: e292 92e2 93ab 2229 290a 2020 2822 2831 ......")). ("(1 │ │ │ +0003b0e0: 3229 2220 2e20 2c28 6167 6461 2d69 6e70 2)" . ,(agda-inp │ │ │ +0003b0f0: 7574 2d74 6f2d 7374 7269 6e67 2d6c 6973 ut-to-string-lis │ │ │ +0003b100: 7420 22e2 91bf e291 abe2 9293 e293 ac22 t "............" │ │ │ +0003b110: 2929 0a20 2028 2228 3133 2922 202e 202c )). ("(13)" . , │ │ │ +0003b120: 2861 6764 612d 696e 7075 742d 746f 2d73 (agda-input-to-s │ │ │ +0003b130: 7472 696e 672d 6c69 7374 2022 e292 80e2 tring-list ".... │ │ │ +0003b140: 91ac e292 94e2 93ad 2229 290a 2020 2822 ........")). (" │ │ │ +0003b150: 2831 3429 2220 2e20 2c28 6167 6461 2d69 (14)" . ,(agda-i │ │ │ +0003b160: 6e70 7574 2d74 6f2d 7374 7269 6e67 2d6c nput-to-string-l │ │ │ +0003b170: 6973 7420 22e2 9281 e291 ade2 9295 e293 ist "........... │ │ │ +0003b180: ae22 2929 0a20 2028 2228 3135 2922 202e .")). ("(15)" . │ │ │ +0003b190: 202c 2861 6764 612d 696e 7075 742d 746f ,(agda-input-to │ │ │ +0003b1a0: 2d73 7472 696e 672d 6c69 7374 2022 e292 -string-list ".. │ │ │ +0003b1b0: 82e2 91ae e292 96e2 93af 2229 290a 2020 ..........")). │ │ │ +0003b1c0: 2822 2831 3629 2220 2e20 2c28 6167 6461 ("(16)" . ,(agda │ │ │ +0003b1d0: 2d69 6e70 7574 2d74 6f2d 7374 7269 6e67 -input-to-string │ │ │ +0003b1e0: 2d6c 6973 7420 22e2 9283 e291 afe2 9297 -list "......... │ │ │ +0003b1f0: e293 b022 2929 0a20 2028 2228 3137 2922 ...")). ("(17)" │ │ │ +0003b200: 202e 202c 2861 6764 612d 696e 7075 742d . ,(agda-input- │ │ │ +0003b210: 746f 2d73 7472 696e 672d 6c69 7374 2022 to-string-list " │ │ │ +0003b220: e292 84e2 91b0 e292 98e2 93b1 2229 290a ............")). │ │ │ +0003b230: 2020 2822 2831 3829 2220 2e20 2c28 6167 ("(18)" . ,(ag │ │ │ +0003b240: 6461 2d69 6e70 7574 2d74 6f2d 7374 7269 da-input-to-stri │ │ │ +0003b250: 6e67 2d6c 6973 7420 22e2 9285 e291 b1e2 ng-list "....... │ │ │ +0003b260: 9299 e293 b222 2929 0a20 2028 2228 3139 .....")). ("(19 │ │ │ +0003b270: 2922 202e 202c 2861 6764 612d 696e 7075 )" . ,(agda-inpu │ │ │ +0003b280: 742d 746f 2d73 7472 696e 672d 6c69 7374 t-to-string-list │ │ │ +0003b290: 2022 e292 86e2 91b2 e292 9ae2 93b3 2229 "............") │ │ │ +0003b2a0: 290a 2020 2822 2832 3029 2220 2e20 2c28 ). ("(20)" . ,( │ │ │ +0003b2b0: 6167 6461 2d69 6e70 7574 2d74 6f2d 7374 agda-input-to-st │ │ │ +0003b2c0: 7269 6e67 2d6c 6973 7420 22e2 9287 e291 ring-list "..... │ │ │ +0003b2d0: b3e2 929b e293 b422 2929 0a0a 2020 2822 .......")).. (" │ │ │ +0003b2e0: 2861 2922 2020 2e20 2c28 6167 6461 2d69 (a)" . ,(agda-i │ │ │ +0003b2f0: 6e70 7574 2d74 6f2d 7374 7269 6e67 2d6c nput-to-string-l │ │ │ +0003b300: 6973 7420 22e2 929c e292 b6e2 9390 f09f ist "........... │ │ │ +0003b310: 8590 f09f 84b0 f09f 85b0 2229 290a 2020 ..........")). │ │ │ +0003b320: 2822 2862 2922 2020 2e20 2c28 6167 6461 ("(b)" . ,(agda │ │ │ +0003b330: 2d69 6e70 7574 2d74 6f2d 7374 7269 6e67 -input-to-string │ │ │ +0003b340: 2d6c 6973 7420 22e2 929d e292 b7e2 9391 -list "......... │ │ │ +0003b350: f09f 8591 f09f 84b1 f09f 85b1 2229 290a ............")). │ │ │ +0003b360: 2020 2822 2863 2922 2020 2e20 2c28 6167 ("(c)" . ,(ag │ │ │ +0003b370: 6461 2d69 6e70 7574 2d74 6f2d 7374 7269 da-input-to-stri │ │ │ +0003b380: 6e67 2d6c 6973 7420 22e2 929e e292 b8e2 ng-list "....... │ │ │ +0003b390: 9392 f09f 8592 f09f 84b2 f09f 85b2 2229 ..............") │ │ │ +0003b3a0: 290a 2020 2822 2864 2922 2020 2e20 2c28 ). ("(d)" . ,( │ │ │ +0003b3b0: 6167 6461 2d69 6e70 7574 2d74 6f2d 7374 agda-input-to-st │ │ │ +0003b3c0: 7269 6e67 2d6c 6973 7420 22e2 929f e292 ring-list "..... │ │ │ +0003b3d0: b9e2 9393 f09f 8593 f09f 84b3 f09f 85b3 ................ │ │ │ +0003b3e0: 2229 290a 2020 2822 2865 2922 2020 2e20 ")). ("(e)" . │ │ │ +0003b3f0: 2c28 6167 6461 2d69 6e70 7574 2d74 6f2d ,(agda-input-to- │ │ │ +0003b400: 7374 7269 6e67 2d6c 6973 7420 22e2 92a0 string-list "... │ │ │ +0003b410: e292 bae2 9394 f09f 8594 f09f 84b4 f09f ................ │ │ │ +0003b420: 85b4 2229 290a 2020 2822 2866 2922 2020 ..")). ("(f)" │ │ │ +0003b430: 2e20 2c28 6167 6461 2d69 6e70 7574 2d74 . ,(agda-input-t │ │ │ +0003b440: 6f2d 7374 7269 6e67 2d6c 6973 7420 22e2 o-string-list ". │ │ │ +0003b450: 92a1 e292 bbe2 9395 f09f 8595 f09f 84b5 ................ │ │ │ +0003b460: f09f 85b5 2229 290a 2020 2822 2867 2922 ....")). ("(g)" │ │ │ +0003b470: 2020 2e20 2c28 6167 6461 2d69 6e70 7574 . ,(agda-input │ │ │ +0003b480: 2d74 6f2d 7374 7269 6e67 2d6c 6973 7420 -to-string-list │ │ │ +0003b490: 22e2 92a2 e292 bce2 9396 f09f 8596 f09f "............... │ │ │ +0003b4a0: 84b6 f09f 85b6 2229 290a 2020 2822 2868 ......")). ("(h │ │ │ +0003b4b0: 2922 2020 2e20 2c28 6167 6461 2d69 6e70 )" . ,(agda-inp │ │ │ +0003b4c0: 7574 2d74 6f2d 7374 7269 6e67 2d6c 6973 ut-to-string-lis │ │ │ +0003b4d0: 7420 22e2 92a3 e292 bde2 9397 f09f 8597 t "............. │ │ │ +0003b4e0: f09f 84b7 f09f 85b7 2229 290a 2020 2822 ........")). (" │ │ │ +0003b4f0: 2869 2922 2020 2e20 2c28 6167 6461 2d69 (i)" . ,(agda-i │ │ │ +0003b500: 6e70 7574 2d74 6f2d 7374 7269 6e67 2d6c nput-to-string-l │ │ │ +0003b510: 6973 7420 22e2 92a4 e292 bee2 9398 f09f ist "........... │ │ │ +0003b520: 8598 f09f 84b8 f09f 85b8 2229 290a 2020 ..........")). │ │ │ +0003b530: 2822 286a 2922 2020 2e20 2c28 6167 6461 ("(j)" . ,(agda │ │ │ +0003b540: 2d69 6e70 7574 2d74 6f2d 7374 7269 6e67 -input-to-string │ │ │ +0003b550: 2d6c 6973 7420 22e2 92a5 e292 bfe2 9399 -list "......... │ │ │ +0003b560: f09f 8599 f09f 84b9 f09f 85b9 2229 290a ............")). │ │ │ +0003b570: 2020 2822 286b 2922 2020 2e20 2c28 6167 ("(k)" . ,(ag │ │ │ +0003b580: 6461 2d69 6e70 7574 2d74 6f2d 7374 7269 da-input-to-stri │ │ │ +0003b590: 6e67 2d6c 6973 7420 22e2 92a6 e293 80e2 ng-list "....... │ │ │ +0003b5a0: 939a f09f 859a f09f 84ba f09f 85ba 2229 ..............") │ │ │ +0003b5b0: 290a 2020 2822 286c 2922 2020 2e20 2c28 ). ("(l)" . ,( │ │ │ +0003b5c0: 6167 6461 2d69 6e70 7574 2d74 6f2d 7374 agda-input-to-st │ │ │ +0003b5d0: 7269 6e67 2d6c 6973 7420 22e2 92a7 e293 ring-list "..... │ │ │ +0003b5e0: 81e2 939b f09f 859b f09f 84bb f09f 85bb ................ │ │ │ +0003b5f0: 2229 290a 2020 2822 286d 2922 2020 2e20 ")). ("(m)" . │ │ │ +0003b600: 2c28 6167 6461 2d69 6e70 7574 2d74 6f2d ,(agda-input-to- │ │ │ +0003b610: 7374 7269 6e67 2d6c 6973 7420 22e2 92a8 string-list "... │ │ │ +0003b620: e293 82e2 939c f09f 859c f09f 84bc f09f ................ │ │ │ +0003b630: 85bc 2229 290a 2020 2822 286e 2922 2020 ..")). ("(n)" │ │ │ +0003b640: 2e20 2c28 6167 6461 2d69 6e70 7574 2d74 . ,(agda-input-t │ │ │ +0003b650: 6f2d 7374 7269 6e67 2d6c 6973 7420 22e2 o-string-list ". │ │ │ +0003b660: 92a9 e293 83e2 939d f09f 859d f09f 84bd ................ │ │ │ +0003b670: f09f 85bd 2229 290a 2020 2822 286f 2922 ....")). ("(o)" │ │ │ +0003b680: 2020 2e20 2c28 6167 6461 2d69 6e70 7574 . ,(agda-input │ │ │ +0003b690: 2d74 6f2d 7374 7269 6e67 2d6c 6973 7420 -to-string-list │ │ │ +0003b6a0: 22e2 92aa e293 84e2 939e f09f 859e f09f "............... │ │ │ +0003b6b0: 84be f09f 85be 2229 290a 2020 2822 2870 ......")). ("(p │ │ │ +0003b6c0: 2922 2020 2e20 2c28 6167 6461 2d69 6e70 )" . ,(agda-inp │ │ │ +0003b6d0: 7574 2d74 6f2d 7374 7269 6e67 2d6c 6973 ut-to-string-lis │ │ │ +0003b6e0: 7420 22e2 92ab e293 85e2 939f f09f 859f t "............. │ │ │ +0003b6f0: f09f 84bf f09f 85bf 2229 290a 2020 2822 ........")). (" │ │ │ +0003b700: 2871 2922 2020 2e20 2c28 6167 6461 2d69 (q)" . ,(agda-i │ │ │ +0003b710: 6e70 7574 2d74 6f2d 7374 7269 6e67 2d6c nput-to-string-l │ │ │ +0003b720: 6973 7420 22e2 92ac e293 86e2 93a0 f09f ist "........... │ │ │ +0003b730: 85a0 f09f 8580 f09f 8680 2229 290a 2020 ..........")). │ │ │ +0003b740: 2822 2872 2922 2020 2e20 2c28 6167 6461 ("(r)" . ,(agda │ │ │ +0003b750: 2d69 6e70 7574 2d74 6f2d 7374 7269 6e67 -input-to-string │ │ │ +0003b760: 2d6c 6973 7420 22e2 92ad e293 87e2 93a1 -list "......... │ │ │ +0003b770: f09f 85a1 f09f 8581 f09f 8681 2229 290a ............")). │ │ │ +0003b780: 2020 2822 2873 2922 2020 2e20 2c28 6167 ("(s)" . ,(ag │ │ │ +0003b790: 6461 2d69 6e70 7574 2d74 6f2d 7374 7269 da-input-to-stri │ │ │ +0003b7a0: 6e67 2d6c 6973 7420 22e2 92ae e293 88e2 ng-list "....... │ │ │ +0003b7b0: 93a2 f09f 85a2 f09f 8582 f09f 8682 2229 ..............") │ │ │ +0003b7c0: 290a 2020 2822 2874 2922 2020 2e20 2c28 ). ("(t)" . ,( │ │ │ +0003b7d0: 6167 6461 2d69 6e70 7574 2d74 6f2d 7374 agda-input-to-st │ │ │ +0003b7e0: 7269 6e67 2d6c 6973 7420 22e2 92af e293 ring-list "..... │ │ │ +0003b7f0: 89e2 93a3 f09f 85a3 f09f 8583 f09f 8683 ................ │ │ │ +0003b800: 2229 290a 2020 2822 2875 2922 2020 2e20 ")). ("(u)" . │ │ │ +0003b810: 2c28 6167 6461 2d69 6e70 7574 2d74 6f2d ,(agda-input-to- │ │ │ +0003b820: 7374 7269 6e67 2d6c 6973 7420 22e2 92b0 string-list "... │ │ │ +0003b830: e293 8ae2 93a4 f09f 85a4 f09f 8584 f09f ................ │ │ │ +0003b840: 8684 2229 290a 2020 2822 2876 2922 2020 ..")). ("(v)" │ │ │ +0003b850: 2e20 2c28 6167 6461 2d69 6e70 7574 2d74 . ,(agda-input-t │ │ │ +0003b860: 6f2d 7374 7269 6e67 2d6c 6973 7420 22e2 o-string-list ". │ │ │ +0003b870: 92b1 e293 8be2 93a5 f09f 85a5 f09f 8585 ................ │ │ │ +0003b880: f09f 8685 2229 290a 2020 2822 2877 2922 ....")). ("(w)" │ │ │ +0003b890: 2020 2e20 2c28 6167 6461 2d69 6e70 7574 . ,(agda-input │ │ │ +0003b8a0: 2d74 6f2d 7374 7269 6e67 2d6c 6973 7420 -to-string-list │ │ │ +0003b8b0: 22e2 92b2 e293 8ce2 93a6 f09f 85a6 f09f "............... │ │ │ +0003b8c0: 8586 f09f 8686 2229 290a 2020 2822 2878 ......")). ("(x │ │ │ +0003b8d0: 2922 2020 2e20 2c28 6167 6461 2d69 6e70 )" . ,(agda-inp │ │ │ +0003b8e0: 7574 2d74 6f2d 7374 7269 6e67 2d6c 6973 ut-to-string-lis │ │ │ +0003b8f0: 7420 22e2 92b3 e293 8de2 93a7 f09f 85a7 t "............. │ │ │ +0003b900: f09f 8587 f09f 8687 2229 290a 2020 2822 ........")). (" │ │ │ +0003b910: 2879 2922 2020 2e20 2c28 6167 6461 2d69 (y)" . ,(agda-i │ │ │ +0003b920: 6e70 7574 2d74 6f2d 7374 7269 6e67 2d6c nput-to-string-l │ │ │ +0003b930: 6973 7420 22e2 92b4 e293 8ee2 93a8 f09f ist "........... │ │ │ +0003b940: 85a8 f09f 8588 f09f 8688 2229 290a 2020 ..........")). │ │ │ +0003b950: 2822 287a 2922 2020 2e20 2c28 6167 6461 ("(z)" . ,(agda │ │ │ +0003b960: 2d69 6e70 7574 2d74 6f2d 7374 7269 6e67 -input-to-string │ │ │ +0003b970: 2d6c 6973 7420 22e2 92b5 e293 8fe2 93a9 -list "......... │ │ │ +0003b980: f09f 85a9 f09f 8589 f09f 8689 2229 290a ............")). │ │ │ +0003b990: 0a20 2029 290a 2020 2241 206c 6973 7420 . )). "A list │ │ │ +0003b9a0: 6f66 2074 7261 6e73 6c61 7469 6f6e 7320 of translations │ │ │ +0003b9b0: 7370 6563 6966 6963 2074 6f20 7468 6520 specific to the │ │ │ +0003b9c0: 4167 6461 2069 6e70 7574 206d 6574 686f Agda input metho │ │ │ +0003b9d0: 642e 0a45 6163 6820 656c 656d 656e 7420 d..Each element │ │ │ +0003b9e0: 6973 2061 2070 6169 7220 284b 4559 2d53 is a pair (KEY-S │ │ │ +0003b9f0: 4551 5545 4e43 452d 5354 5249 4e47 202e EQUENCE-STRING . │ │ │ +0003ba00: 204c 4953 542d 4f46 2d54 5241 4e53 4c41 LIST-OF-TRANSLA │ │ │ +0003ba10: 5449 4f4e 2d53 5452 494e 4753 292e 0a41 TION-STRINGS)..A │ │ │ +0003ba20: 6c6c 2074 6865 2074 7261 6e73 6c61 7469 ll the translati │ │ │ +0003ba30: 6f6e 2073 7472 696e 6773 2061 7265 2070 on strings are p │ │ │ +0003ba40: 6f73 7369 626c 6520 7472 616e 736c 6174 ossible translat │ │ │ +0003ba50: 696f 6e73 0a6f 6620 7468 6520 6769 7665 ions.of the give │ │ │ +0003ba60: 6e20 6b65 7920 7365 7175 656e 6365 3b20 n key sequence; │ │ │ +0003ba70: 6966 2074 6865 7265 2069 7320 6d6f 7265 if there is more │ │ │ +0003ba80: 2074 6861 6e20 6f6e 6520 796f 7520 6361 than one you ca │ │ │ +0003ba90: 6e20 6368 6f6f 7365 0a62 6574 7765 656e n choose.between │ │ │ +0003baa0: 2074 6865 6d20 7573 696e 6720 7468 6520 them using the │ │ │ +0003bab0: 6172 726f 7720 6b65 7973 2e0a 0a4e 6f74 arrow keys...Not │ │ │ +0003bac0: 6520 7468 6174 2069 6620 796f 7520 6375 e that if you cu │ │ │ +0003bad0: 7374 6f6d 697a 6520 7468 6973 2073 6574 stomize this set │ │ │ +0003bae0: 7469 6e67 2079 6f75 2077 696c 6c20 6e6f ting you will no │ │ │ +0003baf0: 740a 6175 746f 6d61 7469 6361 6c6c 7920 t.automatically │ │ │ +0003bb00: 6265 6e65 6669 7420 286f 7220 7375 6666 benefit (or suff │ │ │ +0003bb10: 6572 2920 6672 6f6d 206d 6f64 6966 6963 er) from modific │ │ │ +0003bb20: 6174 696f 6e73 2074 6f20 6974 730a 6465 ations to its.de │ │ │ +0003bb30: 6661 756c 7420 7661 6c75 6520 7768 656e fault value when │ │ │ +0003bb40: 2074 6865 206c 6962 7261 7279 2069 7320 the library is │ │ │ +0003bb50: 7570 6461 7465 642e 2020 4966 2079 6f75 updated. If you │ │ │ +0003bb60: 206a 7573 7420 7761 6e74 2074 6f0a 6164 just want to.ad │ │ │ +0003bb70: 6420 736f 6d65 2062 696e 6469 6e67 7320 d some bindings │ │ │ +0003bb80: 6974 2069 7320 7072 6f62 6162 6c79 2061 it is probably a │ │ │ +0003bb90: 2062 6574 7465 7220 6964 6561 2074 6f20 better idea to │ │ │ +0003bba0: 6375 7374 6f6d 697a 650a 6061 6764 612d customize.`agda- │ │ │ +0003bbb0: 696e 7075 742d 7573 6572 2d74 7261 6e73 input-user-trans │ │ │ +0003bbc0: 6c61 7469 6f6e 7327 2e0a 0a54 6865 7365 lations'...These │ │ │ +0003bbd0: 2074 7261 6e73 6c61 7469 6f6e 2070 6169 translation pai │ │ │ +0003bbe0: 7273 2061 7265 2069 6e63 6c75 6465 6420 rs are included │ │ │ +0003bbf0: 6166 7465 7220 7468 6f73 6520 696e 0a60 after those in.` │ │ │ +0003bc00: 6167 6461 2d69 6e70 7574 2d75 7365 722d agda-input-user- │ │ │ +0003bc10: 7472 616e 736c 6174 696f 6e73 272c 2062 translations', b │ │ │ +0003bc20: 7574 2062 6566 6f72 6520 7468 6520 6f6e ut before the on │ │ │ +0003bc30: 6573 2069 6e68 6572 6974 6564 0a66 726f es inherited.fro │ │ │ +0003bc40: 6d20 6f74 6865 7220 696e 7075 7420 6d65 m other input me │ │ │ +0003bc50: 7468 6f64 7320 2873 6565 2060 6167 6461 thods (see `agda │ │ │ +0003bc60: 2d69 6e70 7574 2d69 6e68 6572 6974 2729 -input-inherit') │ │ │ +0003bc70: 2e0a 0a49 6620 796f 7520 6368 616e 6765 ...If you change │ │ │ +0003bc80: 2074 6869 7320 7365 7474 696e 6720 6d61 this setting ma │ │ │ +0003bc90: 6e75 616c 6c79 2028 7769 7468 6f75 7420 nually (without │ │ │ +0003bca0: 7573 696e 6720 7468 650a 6375 7374 6f6d using the.custom │ │ │ +0003bcb0: 697a 6174 696f 6e20 6275 6666 6572 2920 ization buffer) │ │ │ +0003bcc0: 796f 7520 6e65 6564 2074 6f20 6361 6c6c you need to call │ │ │ +0003bcd0: 2060 6167 6461 2d69 6e70 7574 2d73 6574 `agda-input-set │ │ │ +0003bce0: 7570 2720 696e 0a6f 7264 6572 2066 6f72 up' in.order for │ │ │ +0003bcf0: 2074 6865 2063 6861 6e67 6520 746f 2074 the change to t │ │ │ +0003bd00: 616b 6520 6566 6665 6374 2e22 0a20 203a ake effect.". : │ │ │ +0003bd10: 6772 6f75 7020 2761 6764 612d 696e 7075 group 'agda-inpu │ │ │ +0003bd20: 740a 2020 3a73 6574 2027 6167 6461 2d69 t. :set 'agda-i │ │ │ +0003bd30: 6e70 7574 2d69 6e63 6f72 706f 7261 7465 nput-incorporate │ │ │ +0003bd40: 2d63 6861 6e67 6564 2d73 6574 7469 6e67 -changed-setting │ │ │ +0003bd50: 0a20 203a 696e 6974 6961 6c69 7a65 2027 . :initialize ' │ │ │ +0003bd60: 6375 7374 6f6d 2d69 6e69 7469 616c 697a custom-initializ │ │ │ +0003bd70: 652d 6465 6661 756c 740a 2020 3a74 7970 e-default. :typ │ │ │ +0003bd80: 6520 2728 7265 7065 6174 2028 636f 6e73 e '(repeat (cons │ │ │ +0003bd90: 2028 7374 7269 6e67 203a 7461 6720 224b (string :tag "K │ │ │ +0003bda0: 6579 2073 6571 7565 6e63 6522 290a 2020 ey sequence"). │ │ │ 0003bdb0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0003bdc0: 2020 2020 2872 6570 6561 7420 3a74 6167 (repeat :tag │ │ │ -0003bdd0: 2022 5472 616e 736c 6174 696f 6e73 2220 "Translations" │ │ │ -0003bde0: 7374 7269 6e67 2929 2929 0a0a 2864 6566 string))))..(def │ │ │ -0003bdf0: 6375 7374 6f6d 2061 6764 612d 696e 7075 custom agda-inpu │ │ │ -0003be00: 742d 7573 6572 2d74 7261 6e73 6c61 7469 t-user-translati │ │ │ -0003be10: 6f6e 7320 6e69 6c0a 2020 224c 696b 6520 ons nil. "Like │ │ │ -0003be20: 6061 6764 612d 696e 7075 742d 7472 616e `agda-input-tran │ │ │ -0003be30: 736c 6174 696f 6e73 272c 2062 7574 206d slations', but m │ │ │ -0003be40: 6f72 6520 7375 6974 6162 6c65 2066 6f72 ore suitable for │ │ │ -0003be50: 2075 7365 720a 6375 7374 6f6d 697a 6174 user.customizat │ │ │ -0003be60: 696f 6e73 2073 696e 6365 2062 7920 6465 ions since by de │ │ │ -0003be70: 6661 756c 7420 6974 2069 7320 656d 7074 fault it is empt │ │ │ -0003be80: 792e 0a0a 5468 6573 6520 7472 616e 736c y...These transl │ │ │ -0003be90: 6174 696f 6e20 7061 6972 7320 6172 6520 ation pairs are │ │ │ -0003bea0: 696e 636c 7564 6564 2066 6972 7374 2c20 included first, │ │ │ -0003beb0: 6265 666f 7265 2074 686f 7365 2069 6e0a before those in. │ │ │ -0003bec0: 6061 6764 612d 696e 7075 742d 7472 616e `agda-input-tran │ │ │ -0003bed0: 736c 6174 696f 6e73 2720 616e 6420 7468 slations' and th │ │ │ -0003bee0: 6520 6f6e 6573 2069 6e68 6572 6974 6564 e ones inherited │ │ │ -0003bef0: 2066 726f 6d20 6f74 6865 7220 696e 7075 from other inpu │ │ │ -0003bf00: 740a 6d65 7468 6f64 732e 220a 2020 3a67 t.methods.". :g │ │ │ -0003bf10: 726f 7570 2027 6167 6461 2d69 6e70 7574 roup 'agda-input │ │ │ -0003bf20: 0a20 203a 7365 7420 2761 6764 612d 696e . :set 'agda-in │ │ │ -0003bf30: 7075 742d 696e 636f 7270 6f72 6174 652d put-incorporate- │ │ │ -0003bf40: 6368 616e 6765 642d 7365 7474 696e 670a changed-setting. │ │ │ -0003bf50: 2020 3a69 6e69 7469 616c 697a 6520 2763 :initialize 'c │ │ │ -0003bf60: 7573 746f 6d2d 696e 6974 6961 6c69 7a65 ustom-initialize │ │ │ -0003bf70: 2d64 6566 6175 6c74 0a20 203a 7479 7065 -default. :type │ │ │ -0003bf80: 2027 2872 6570 6561 7420 2863 6f6e 7320 '(repeat (cons │ │ │ -0003bf90: 2873 7472 696e 6720 3a74 6167 2022 4b65 (string :tag "Ke │ │ │ -0003bfa0: 7920 7365 7175 656e 6365 2229 0a20 2020 y sequence"). │ │ │ +0003bdc0: 2020 2020 2028 7265 7065 6174 203a 7461 (repeat :ta │ │ │ +0003bdd0: 6720 2254 7261 6e73 6c61 7469 6f6e 7322 g "Translations" │ │ │ +0003bde0: 2073 7472 696e 6729 2929 290a 0a28 6465 string))))..(de │ │ │ +0003bdf0: 6663 7573 746f 6d20 6167 6461 2d69 6e70 fcustom agda-inp │ │ │ +0003be00: 7574 2d75 7365 722d 7472 616e 736c 6174 ut-user-translat │ │ │ +0003be10: 696f 6e73 206e 696c 0a20 2022 4c69 6b65 ions nil. "Like │ │ │ +0003be20: 2060 6167 6461 2d69 6e70 7574 2d74 7261 `agda-input-tra │ │ │ +0003be30: 6e73 6c61 7469 6f6e 7327 2c20 6275 7420 nslations', but │ │ │ +0003be40: 6d6f 7265 2073 7569 7461 626c 6520 666f more suitable fo │ │ │ +0003be50: 7220 7573 6572 0a63 7573 746f 6d69 7a61 r user.customiza │ │ │ +0003be60: 7469 6f6e 7320 7369 6e63 6520 6279 2064 tions since by d │ │ │ +0003be70: 6566 6175 6c74 2069 7420 6973 2065 6d70 efault it is emp │ │ │ +0003be80: 7479 2e0a 0a54 6865 7365 2074 7261 6e73 ty...These trans │ │ │ +0003be90: 6c61 7469 6f6e 2070 6169 7273 2061 7265 lation pairs are │ │ │ +0003bea0: 2069 6e63 6c75 6465 6420 6669 7273 742c included first, │ │ │ +0003beb0: 2062 6566 6f72 6520 7468 6f73 6520 696e before those in │ │ │ +0003bec0: 0a60 6167 6461 2d69 6e70 7574 2d74 7261 .`agda-input-tra │ │ │ +0003bed0: 6e73 6c61 7469 6f6e 7327 2061 6e64 2074 nslations' and t │ │ │ +0003bee0: 6865 206f 6e65 7320 696e 6865 7269 7465 he ones inherite │ │ │ +0003bef0: 6420 6672 6f6d 206f 7468 6572 2069 6e70 d from other inp │ │ │ +0003bf00: 7574 0a6d 6574 686f 6473 2e22 0a20 203a ut.methods.". : │ │ │ +0003bf10: 6772 6f75 7020 2761 6764 612d 696e 7075 group 'agda-inpu │ │ │ +0003bf20: 740a 2020 3a73 6574 2027 6167 6461 2d69 t. :set 'agda-i │ │ │ +0003bf30: 6e70 7574 2d69 6e63 6f72 706f 7261 7465 nput-incorporate │ │ │ +0003bf40: 2d63 6861 6e67 6564 2d73 6574 7469 6e67 -changed-setting │ │ │ +0003bf50: 0a20 203a 696e 6974 6961 6c69 7a65 2027 . :initialize ' │ │ │ +0003bf60: 6375 7374 6f6d 2d69 6e69 7469 616c 697a custom-initializ │ │ │ +0003bf70: 652d 6465 6661 756c 740a 2020 3a74 7970 e-default. :typ │ │ │ +0003bf80: 6520 2728 7265 7065 6174 2028 636f 6e73 e '(repeat (cons │ │ │ +0003bf90: 2028 7374 7269 6e67 203a 7461 6720 224b (string :tag "K │ │ │ +0003bfa0: 6579 2073 6571 7565 6e63 6522 290a 2020 ey sequence"). │ │ │ 0003bfb0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0003bfc0: 2020 2020 2872 6570 6561 7420 3a74 6167 (repeat :tag │ │ │ -0003bfd0: 2022 5472 616e 736c 6174 696f 6e73 2220 "Translations" │ │ │ -0003bfe0: 7374 7269 6e67 2929 2929 0a0a 3b3b 3b3b string))))..;;;; │ │ │ +0003bfc0: 2020 2020 2028 7265 7065 6174 203a 7461 (repeat :ta │ │ │ +0003bfd0: 6720 2254 7261 6e73 6c61 7469 6f6e 7322 g "Translations" │ │ │ +0003bfe0: 2073 7472 696e 6729 2929 290a 0a3b 3b3b string))))..;;; │ │ │ 0003bff0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 0003c000: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 0003c010: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 0003c020: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ -0003c030: 3b3b 3b3b 0a3b 3b20 496e 7370 6563 7469 ;;;;.;; Inspecti │ │ │ -0003c040: 6e67 2061 6e64 206d 6f64 6966 7969 6e67 ng and modifying │ │ │ -0003c050: 2074 7261 6e73 6c61 7469 6f6e 206d 6170 translation map │ │ │ -0003c060: 730a 0a28 6465 6675 6e20 6167 6461 2d69 s..(defun agda-i │ │ │ -0003c070: 6e70 7574 2d67 6574 2d74 7261 6e73 6c61 nput-get-transla │ │ │ -0003c080: 7469 6f6e 7320 2871 7029 0a20 2022 5265 tions (qp). "Re │ │ │ -0003c090: 7475 726e 2061 206c 6973 7420 636f 6e74 turn a list cont │ │ │ -0003c0a0: 6169 6e69 6e67 2061 6c6c 2074 7261 6e73 aining all trans │ │ │ -0003c0b0: 6c61 7469 6f6e 7320 6672 6f6d 2074 6865 lations from the │ │ │ -0003c0c0: 2051 7561 696c 0a70 6163 6b61 6765 2051 Quail.package Q │ │ │ -0003c0d0: 5020 2865 7863 6570 7420 666f 7220 7468 P (except for th │ │ │ -0003c0e0: 6f73 6520 636f 7272 6573 706f 6e64 696e ose correspondin │ │ │ -0003c0f0: 6720 746f 2041 5343 4949 292e 0a45 6163 g to ASCII)..Eac │ │ │ -0003c100: 6820 7061 6972 2069 6e20 7468 6520 6c69 h pair in the li │ │ │ -0003c110: 7374 2068 6173 2074 6865 2066 6f72 6d20 st has the form │ │ │ -0003c120: 284b 4559 2d53 4551 5545 4e43 4520 2e20 (KEY-SEQUENCE . │ │ │ -0003c130: 5452 414e 534c 4154 494f 4e29 2e22 0a20 TRANSLATION).". │ │ │ -0003c140: 2028 7769 7468 2d74 656d 702d 6275 6666 (with-temp-buff │ │ │ -0003c150: 6572 0a20 2020 2028 6163 7469 7661 7465 er. (activate │ │ │ -0003c160: 2d69 6e70 7574 2d6d 6574 686f 6420 7170 -input-method qp │ │ │ -0003c170: 2920 3b20 546f 206d 616b 6520 7375 7265 ) ; To make sure │ │ │ -0003c180: 2074 6861 7420 7468 6520 7061 636b 6167 that the packag │ │ │ -0003c190: 6520 6973 206c 6f61 6465 642e 0a20 2020 e is loaded.. │ │ │ -0003c1a0: 2028 756e 6c65 7373 2028 7175 6169 6c2d (unless (quail- │ │ │ -0003c1b0: 7061 636b 6167 6520 7170 290a 2020 2020 package qp). │ │ │ -0003c1c0: 2020 2865 7272 6f72 2022 2573 2069 7320 (error "%s is │ │ │ -0003c1d0: 6e6f 7420 6120 5175 6169 6c20 7061 636b not a Quail pack │ │ │ -0003c1e0: 6167 652e 2220 7170 2929 0a20 2020 2028 age." qp)). ( │ │ │ -0003c1f0: 6c65 7420 2828 6465 636f 6465 2d6d 6170 let ((decode-map │ │ │ -0003c200: 2028 6c69 7374 2027 6465 636f 6465 2d6d (list 'decode-m │ │ │ -0003c210: 6170 2929 290a 2020 2020 2020 2871 7561 ap))). (qua │ │ │ -0003c220: 696c 2d62 7569 6c64 2d64 6563 6f64 652d il-build-decode- │ │ │ -0003c230: 6d61 7020 286c 6973 7420 2871 7561 696c map (list (quail │ │ │ -0003c240: 2d6d 6170 2929 2022 2220 6465 636f 6465 -map)) "" decode │ │ │ -0003c250: 2d6d 6170 2030 290a 2020 2020 2020 2863 -map 0). (c │ │ │ -0003c260: 6472 2064 6563 6f64 652d 6d61 7029 2929 dr decode-map))) │ │ │ -0003c270: 290a 0a28 6465 6675 6e20 6167 6461 2d69 )..(defun agda-i │ │ │ -0003c280: 6e70 7574 2d73 686f 772d 7472 616e 736c nput-show-transl │ │ │ -0003c290: 6174 696f 6e73 2028 7170 290a 2020 2244 ations (qp). "D │ │ │ -0003c2a0: 6973 706c 6179 2061 6c6c 2074 7261 6e73 isplay all trans │ │ │ -0003c2b0: 6c61 7469 6f6e 7320 7573 6564 2062 7920 lations used by │ │ │ -0003c2c0: 7468 6520 5175 6169 6c20 7061 636b 6167 the Quail packag │ │ │ -0003c2d0: 6520 5150 2028 6120 7374 7269 6e67 292e e QP (a string). │ │ │ -0003c2e0: 0a5c 2845 7863 6570 7420 666f 7220 7468 .\(Except for th │ │ │ -0003c2f0: 6f73 6520 636f 7272 6573 706f 6e64 696e ose correspondin │ │ │ -0003c300: 6720 746f 2041 5343 4949 292e 220a 2020 g to ASCII).". │ │ │ -0003c310: 2869 6e74 6572 6163 7469 7665 2028 6c69 (interactive (li │ │ │ -0003c320: 7374 2028 7265 6164 2d69 6e70 7574 2d6d st (read-input-m │ │ │ -0003c330: 6574 686f 642d 6e61 6d65 0a20 2020 2020 ethod-name. │ │ │ +0003c030: 3b3b 3b3b 3b0a 3b3b 2049 6e73 7065 6374 ;;;;;.;; Inspect │ │ │ +0003c040: 696e 6720 616e 6420 6d6f 6469 6679 696e ing and modifyin │ │ │ +0003c050: 6720 7472 616e 736c 6174 696f 6e20 6d61 g translation ma │ │ │ +0003c060: 7073 0a0a 2864 6566 756e 2061 6764 612d ps..(defun agda- │ │ │ +0003c070: 696e 7075 742d 6765 742d 7472 616e 736c input-get-transl │ │ │ +0003c080: 6174 696f 6e73 2028 7170 290a 2020 2252 ations (qp). "R │ │ │ +0003c090: 6574 7572 6e20 6120 6c69 7374 2063 6f6e eturn a list con │ │ │ +0003c0a0: 7461 696e 696e 6720 616c 6c20 7472 616e taining all tran │ │ │ +0003c0b0: 736c 6174 696f 6e73 2066 726f 6d20 7468 slations from th │ │ │ +0003c0c0: 6520 5175 6169 6c0a 7061 636b 6167 6520 e Quail.package │ │ │ +0003c0d0: 5150 2028 6578 6365 7074 2066 6f72 2074 QP (except for t │ │ │ +0003c0e0: 686f 7365 2063 6f72 7265 7370 6f6e 6469 hose correspondi │ │ │ +0003c0f0: 6e67 2074 6f20 4153 4349 4929 2e0a 4561 ng to ASCII)..Ea │ │ │ +0003c100: 6368 2070 6169 7220 696e 2074 6865 206c ch pair in the l │ │ │ +0003c110: 6973 7420 6861 7320 7468 6520 666f 726d ist has the form │ │ │ +0003c120: 2028 4b45 592d 5345 5155 454e 4345 202e (KEY-SEQUENCE . │ │ │ +0003c130: 2054 5241 4e53 4c41 5449 4f4e 292e 220a TRANSLATION).". │ │ │ +0003c140: 2020 2877 6974 682d 7465 6d70 2d62 7566 (with-temp-buf │ │ │ +0003c150: 6665 720a 2020 2020 2861 6374 6976 6174 fer. (activat │ │ │ +0003c160: 652d 696e 7075 742d 6d65 7468 6f64 2071 e-input-method q │ │ │ +0003c170: 7029 203b 2054 6f20 6d61 6b65 2073 7572 p) ; To make sur │ │ │ +0003c180: 6520 7468 6174 2074 6865 2070 6163 6b61 e that the packa │ │ │ +0003c190: 6765 2069 7320 6c6f 6164 6564 2e0a 2020 ge is loaded.. │ │ │ +0003c1a0: 2020 2875 6e6c 6573 7320 2871 7561 696c (unless (quail │ │ │ +0003c1b0: 2d70 6163 6b61 6765 2071 7029 0a20 2020 -package qp). │ │ │ +0003c1c0: 2020 2028 6572 726f 7220 2225 7320 6973 (error "%s is │ │ │ +0003c1d0: 206e 6f74 2061 2051 7561 696c 2070 6163 not a Quail pac │ │ │ +0003c1e0: 6b61 6765 2e22 2071 7029 290a 2020 2020 kage." qp)). │ │ │ +0003c1f0: 286c 6574 2028 2864 6563 6f64 652d 6d61 (let ((decode-ma │ │ │ +0003c200: 7020 286c 6973 7420 2764 6563 6f64 652d p (list 'decode- │ │ │ +0003c210: 6d61 7029 2929 0a20 2020 2020 2028 7175 map))). (qu │ │ │ +0003c220: 6169 6c2d 6275 696c 642d 6465 636f 6465 ail-build-decode │ │ │ +0003c230: 2d6d 6170 2028 6c69 7374 2028 7175 6169 -map (list (quai │ │ │ +0003c240: 6c2d 6d61 7029 2920 2222 2064 6563 6f64 l-map)) "" decod │ │ │ +0003c250: 652d 6d61 7020 3029 0a20 2020 2020 2028 e-map 0). ( │ │ │ +0003c260: 6364 7220 6465 636f 6465 2d6d 6170 2929 cdr decode-map)) │ │ │ +0003c270: 2929 0a0a 2864 6566 756e 2061 6764 612d ))..(defun agda- │ │ │ +0003c280: 696e 7075 742d 7368 6f77 2d74 7261 6e73 input-show-trans │ │ │ +0003c290: 6c61 7469 6f6e 7320 2871 7029 0a20 2022 lations (qp). " │ │ │ +0003c2a0: 4469 7370 6c61 7920 616c 6c20 7472 616e Display all tran │ │ │ +0003c2b0: 736c 6174 696f 6e73 2075 7365 6420 6279 slations used by │ │ │ +0003c2c0: 2074 6865 2051 7561 696c 2070 6163 6b61 the Quail packa │ │ │ +0003c2d0: 6765 2051 5020 2861 2073 7472 696e 6729 ge QP (a string) │ │ │ +0003c2e0: 2e0a 5c28 4578 6365 7074 2066 6f72 2074 ..\(Except for t │ │ │ +0003c2f0: 686f 7365 2063 6f72 7265 7370 6f6e 6469 hose correspondi │ │ │ +0003c300: 6e67 2074 6f20 4153 4349 4929 2e22 0a20 ng to ASCII).". │ │ │ +0003c310: 2028 696e 7465 7261 6374 6976 6520 286c (interactive (l │ │ │ +0003c320: 6973 7420 2872 6561 642d 696e 7075 742d ist (read-input- │ │ │ +0003c330: 6d65 7468 6f64 2d6e 616d 650a 2020 2020 method-name. │ │ │ 0003c340: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0003c350: 2022 5175 6169 6c20 696e 7075 7420 6d65 "Quail input me │ │ │ -0003c360: 7468 6f64 2028 6465 6661 756c 7420 2573 thod (default %s │ │ │ -0003c370: 293a 2022 2022 4167 6461 2229 2929 0a20 ): " "Agda"))). │ │ │ -0003c380: 2028 6c65 7420 2828 6275 6620 2863 6f6e (let ((buf (con │ │ │ -0003c390: 6361 7420 222a 2220 7170 2022 2069 6e70 cat "*" qp " inp │ │ │ -0003c3a0: 7574 206d 6574 686f 6420 7472 616e 736c ut method transl │ │ │ -0003c3b0: 6174 696f 6e73 2a22 2929 290a 2020 2020 ations*"))). │ │ │ -0003c3c0: 2877 6974 682d 6f75 7470 7574 2d74 6f2d (with-output-to- │ │ │ -0003c3d0: 7465 6d70 2d62 7566 6665 7220 6275 660a temp-buffer buf. │ │ │ -0003c3e0: 2020 2020 2020 2877 6974 682d 6375 7272 (with-curr │ │ │ -0003c3f0: 656e 742d 6275 6666 6572 2062 7566 0a20 ent-buffer buf. │ │ │ -0003c400: 2020 2020 2020 2028 7175 6169 6c2d 696e (quail-in │ │ │ -0003c410: 7365 7274 2d64 6563 6f64 652d 6d61 700a sert-decode-map. │ │ │ -0003c420: 2020 2020 2020 2020 2028 636f 6e73 2027 (cons ' │ │ │ -0003c430: 6465 636f 6465 2d6d 6170 2028 6167 6461 decode-map (agda │ │ │ -0003c440: 2d69 6e70 7574 2d67 6574 2d74 7261 6e73 -input-get-trans │ │ │ -0003c450: 6c61 7469 6f6e 7320 7170 2929 2929 2929 lations qp)))))) │ │ │ -0003c460: 290a 0a28 6465 6675 6e20 6167 6461 2d69 )..(defun agda-i │ │ │ -0003c470: 6e70 7574 2d61 6464 2d74 7261 6e73 6c61 nput-add-transla │ │ │ -0003c480: 7469 6f6e 7320 2874 7261 6e73 290a 2020 tions (trans). │ │ │ -0003c490: 2241 6464 2074 6865 2067 6976 656e 2074 "Add the given t │ │ │ -0003c4a0: 7261 6e73 6c61 7469 6f6e 7320 5452 414e ranslations TRAN │ │ │ -0003c4b0: 5320 746f 2074 6865 2041 6764 6120 696e S to the Agda in │ │ │ -0003c4c0: 7075 7420 6d65 7468 6f64 2e0a 5452 414e put method..TRAN │ │ │ -0003c4d0: 5320 6973 2061 206c 6973 7420 6f66 2070 S is a list of p │ │ │ -0003c4e0: 6169 7273 2028 4b45 592d 5345 5155 454e airs (KEY-SEQUEN │ │ │ -0003c4f0: 4345 202e 2054 5241 4e53 4c41 5449 4f4e CE . TRANSLATION │ │ │ -0003c500: 292e 2054 6865 0a74 7261 6e73 6c61 7469 ). The.translati │ │ │ -0003c510: 6f6e 7320 6172 6520 6170 7065 6e64 6564 ons are appended │ │ │ -0003c520: 2074 6f20 7468 6520 6375 7272 656e 7420 to the current │ │ │ -0003c530: 7472 616e 736c 6174 696f 6e73 2e22 0a20 translations.". │ │ │ -0003c540: 2028 7769 7468 2d74 656d 702d 6275 6666 (with-temp-buff │ │ │ -0003c550: 6572 0a20 2020 2028 646f 6c69 7374 2028 er. (dolist ( │ │ │ -0003c560: 7472 2028 6167 6461 2d69 6e70 7574 2d63 tr (agda-input-c │ │ │ -0003c570: 6f6e 6361 742d 6d61 7020 2865 7661 6c20 oncat-map (eval │ │ │ -0003c580: 6167 6461 2d69 6e70 7574 2d74 7765 616b agda-input-tweak │ │ │ -0003c590: 2d61 6c6c 2920 7472 616e 7329 290a 2020 -all) trans)). │ │ │ -0003c5a0: 2020 2020 2871 7561 696c 2d64 6566 7275 (quail-defru │ │ │ -0003c5b0: 6c65 2028 6361 7220 7472 2920 2863 6472 le (car tr) (cdr │ │ │ -0003c5c0: 2074 7229 2022 4167 6461 2220 7429 2929 tr) "Agda" t))) │ │ │ -0003c5d0: 290a 0a28 6465 6675 6e20 6167 6461 2d69 )..(defun agda-i │ │ │ -0003c5e0: 6e70 7574 2d69 6e68 6572 6974 2d70 6163 nput-inherit-pac │ │ │ -0003c5f0: 6b61 6765 2028 7170 2026 6f70 7469 6f6e kage (qp &option │ │ │ -0003c600: 616c 2066 756e 290a 2020 224c 6574 2074 al fun). "Let t │ │ │ -0003c610: 6865 2041 6764 6120 696e 7075 7420 6d65 he Agda input me │ │ │ -0003c620: 7468 6f64 2069 6e68 6572 6974 2074 6865 thod inherit the │ │ │ -0003c630: 2074 7261 6e73 6c61 7469 6f6e 7320 6672 translations fr │ │ │ -0003c640: 6f6d 2074 6865 0a51 7561 696c 2070 6163 om the.Quail pac │ │ │ -0003c650: 6b61 6765 2051 5020 2865 7863 6570 7420 kage QP (except │ │ │ -0003c660: 666f 7220 7468 6f73 6520 636f 7272 6573 for those corres │ │ │ -0003c670: 706f 6e64 696e 6720 746f 2041 5343 4949 ponding to ASCII │ │ │ -0003c680: 292e 0a0a 5468 6520 6f70 7469 6f6e 616c )...The optional │ │ │ -0003c690: 2066 756e 6374 696f 6e20 4655 4e20 6361 function FUN ca │ │ │ -0003c6a0: 6e20 6265 2075 7365 6420 746f 206d 6f64 n be used to mod │ │ │ -0003c6b0: 6966 7920 7468 6520 7472 616e 736c 6174 ify the translat │ │ │ -0003c6c0: 696f 6e73 2e0a 4974 2069 7320 6769 7665 ions..It is give │ │ │ -0003c6d0: 6e20 6120 7061 6972 2028 4b45 592d 5345 n a pair (KEY-SE │ │ │ -0003c6e0: 5155 454e 4345 202e 2054 5241 4e53 4c41 QUENCE . TRANSLA │ │ │ -0003c6f0: 5449 4f4e 2920 616e 6420 7368 6f75 6c64 TION) and should │ │ │ -0003c700: 2072 6574 7572 6e0a 6120 6c69 7374 206f return.a list o │ │ │ -0003c710: 6620 7375 6368 2070 6169 7273 2e22 0a20 f such pairs.". │ │ │ -0003c720: 2028 6c65 7420 2828 7472 616e 7320 2861 (let ((trans (a │ │ │ -0003c730: 6764 612d 696e 7075 742d 6765 742d 7472 gda-input-get-tr │ │ │ -0003c740: 616e 736c 6174 696f 6e73 2071 7029 2929 anslations qp))) │ │ │ -0003c750: 0a20 2020 2028 6167 6461 2d69 6e70 7574 . (agda-input │ │ │ -0003c760: 2d61 6464 2d74 7261 6e73 6c61 7469 6f6e -add-translation │ │ │ -0003c770: 730a 2020 2020 2028 6966 2066 756e 2028 s. (if fun ( │ │ │ -0003c780: 6167 6461 2d69 6e70 7574 2d63 6f6e 6361 agda-input-conca │ │ │ -0003c790: 742d 6d61 7020 6675 6e20 7472 616e 7329 t-map fun trans) │ │ │ -0003c7a0: 0a20 2020 2020 2020 7472 616e 7329 2929 . trans))) │ │ │ -0003c7b0: 290a 0a3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b )..;;;;;;;;;;;;; │ │ │ +0003c350: 2020 2251 7561 696c 2069 6e70 7574 206d "Quail input m │ │ │ +0003c360: 6574 686f 6420 2864 6566 6175 6c74 2025 ethod (default % │ │ │ +0003c370: 7329 3a20 2220 2241 6764 6122 2929 290a s): " "Agda"))). │ │ │ +0003c380: 2020 286c 6574 2028 2862 7566 2028 636f (let ((buf (co │ │ │ +0003c390: 6e63 6174 2022 2a22 2071 7020 2220 696e ncat "*" qp " in │ │ │ +0003c3a0: 7075 7420 6d65 7468 6f64 2074 7261 6e73 put method trans │ │ │ +0003c3b0: 6c61 7469 6f6e 732a 2229 2929 0a20 2020 lations*"))). │ │ │ +0003c3c0: 2028 7769 7468 2d6f 7574 7075 742d 746f (with-output-to │ │ │ +0003c3d0: 2d74 656d 702d 6275 6666 6572 2062 7566 -temp-buffer buf │ │ │ +0003c3e0: 0a20 2020 2020 2028 7769 7468 2d63 7572 . (with-cur │ │ │ +0003c3f0: 7265 6e74 2d62 7566 6665 7220 6275 660a rent-buffer buf. │ │ │ +0003c400: 2020 2020 2020 2020 2871 7561 696c 2d69 (quail-i │ │ │ +0003c410: 6e73 6572 742d 6465 636f 6465 2d6d 6170 nsert-decode-map │ │ │ +0003c420: 0a20 2020 2020 2020 2020 2863 6f6e 7320 . (cons │ │ │ +0003c430: 2764 6563 6f64 652d 6d61 7020 2861 6764 'decode-map (agd │ │ │ +0003c440: 612d 696e 7075 742d 6765 742d 7472 616e a-input-get-tran │ │ │ +0003c450: 736c 6174 696f 6e73 2071 7029 2929 2929 slations qp))))) │ │ │ +0003c460: 2929 0a0a 2864 6566 756e 2061 6764 612d ))..(defun agda- │ │ │ +0003c470: 696e 7075 742d 6164 642d 7472 616e 736c input-add-transl │ │ │ +0003c480: 6174 696f 6e73 2028 7472 616e 7329 0a20 ations (trans). │ │ │ +0003c490: 2022 4164 6420 7468 6520 6769 7665 6e20 "Add the given │ │ │ +0003c4a0: 7472 616e 736c 6174 696f 6e73 2054 5241 translations TRA │ │ │ +0003c4b0: 4e53 2074 6f20 7468 6520 4167 6461 2069 NS to the Agda i │ │ │ +0003c4c0: 6e70 7574 206d 6574 686f 642e 0a54 5241 nput method..TRA │ │ │ +0003c4d0: 4e53 2069 7320 6120 6c69 7374 206f 6620 NS is a list of │ │ │ +0003c4e0: 7061 6972 7320 284b 4559 2d53 4551 5545 pairs (KEY-SEQUE │ │ │ +0003c4f0: 4e43 4520 2e20 5452 414e 534c 4154 494f NCE . TRANSLATIO │ │ │ +0003c500: 4e29 2e20 5468 650a 7472 616e 736c 6174 N). The.translat │ │ │ +0003c510: 696f 6e73 2061 7265 2061 7070 656e 6465 ions are appende │ │ │ +0003c520: 6420 746f 2074 6865 2063 7572 7265 6e74 d to the current │ │ │ +0003c530: 2074 7261 6e73 6c61 7469 6f6e 732e 220a translations.". │ │ │ +0003c540: 2020 2877 6974 682d 7465 6d70 2d62 7566 (with-temp-buf │ │ │ +0003c550: 6665 720a 2020 2020 2864 6f6c 6973 7420 fer. (dolist │ │ │ +0003c560: 2874 7220 2861 6764 612d 696e 7075 742d (tr (agda-input- │ │ │ +0003c570: 636f 6e63 6174 2d6d 6170 2028 6576 616c concat-map (eval │ │ │ +0003c580: 2061 6764 612d 696e 7075 742d 7477 6561 agda-input-twea │ │ │ +0003c590: 6b2d 616c 6c29 2074 7261 6e73 2929 0a20 k-all) trans)). │ │ │ +0003c5a0: 2020 2020 2028 7175 6169 6c2d 6465 6672 (quail-defr │ │ │ +0003c5b0: 756c 6520 2863 6172 2074 7229 2028 6364 ule (car tr) (cd │ │ │ +0003c5c0: 7220 7472 2920 2241 6764 6122 2074 2929 r tr) "Agda" t)) │ │ │ +0003c5d0: 2929 0a0a 2864 6566 756e 2061 6764 612d ))..(defun agda- │ │ │ +0003c5e0: 696e 7075 742d 696e 6865 7269 742d 7061 input-inherit-pa │ │ │ +0003c5f0: 636b 6167 6520 2871 7020 266f 7074 696f ckage (qp &optio │ │ │ +0003c600: 6e61 6c20 6675 6e29 0a20 2022 4c65 7420 nal fun). "Let │ │ │ +0003c610: 7468 6520 4167 6461 2069 6e70 7574 206d the Agda input m │ │ │ +0003c620: 6574 686f 6420 696e 6865 7269 7420 7468 ethod inherit th │ │ │ +0003c630: 6520 7472 616e 736c 6174 696f 6e73 2066 e translations f │ │ │ +0003c640: 726f 6d20 7468 650a 5175 6169 6c20 7061 rom the.Quail pa │ │ │ +0003c650: 636b 6167 6520 5150 2028 6578 6365 7074 ckage QP (except │ │ │ +0003c660: 2066 6f72 2074 686f 7365 2063 6f72 7265 for those corre │ │ │ +0003c670: 7370 6f6e 6469 6e67 2074 6f20 4153 4349 sponding to ASCI │ │ │ +0003c680: 4929 2e0a 0a54 6865 206f 7074 696f 6e61 I)...The optiona │ │ │ +0003c690: 6c20 6675 6e63 7469 6f6e 2046 554e 2063 l function FUN c │ │ │ +0003c6a0: 616e 2062 6520 7573 6564 2074 6f20 6d6f an be used to mo │ │ │ +0003c6b0: 6469 6679 2074 6865 2074 7261 6e73 6c61 dify the transla │ │ │ +0003c6c0: 7469 6f6e 732e 0a49 7420 6973 2067 6976 tions..It is giv │ │ │ +0003c6d0: 656e 2061 2070 6169 7220 284b 4559 2d53 en a pair (KEY-S │ │ │ +0003c6e0: 4551 5545 4e43 4520 2e20 5452 414e 534c EQUENCE . TRANSL │ │ │ +0003c6f0: 4154 494f 4e29 2061 6e64 2073 686f 756c ATION) and shoul │ │ │ +0003c700: 6420 7265 7475 726e 0a61 206c 6973 7420 d return.a list │ │ │ +0003c710: 6f66 2073 7563 6820 7061 6972 732e 220a of such pairs.". │ │ │ +0003c720: 2020 286c 6574 2028 2874 7261 6e73 2028 (let ((trans ( │ │ │ +0003c730: 6167 6461 2d69 6e70 7574 2d67 6574 2d74 agda-input-get-t │ │ │ +0003c740: 7261 6e73 6c61 7469 6f6e 7320 7170 2929 ranslations qp)) │ │ │ +0003c750: 290a 2020 2020 2861 6764 612d 696e 7075 ). (agda-inpu │ │ │ +0003c760: 742d 6164 642d 7472 616e 736c 6174 696f t-add-translatio │ │ │ +0003c770: 6e73 0a20 2020 2020 2869 6620 6675 6e20 ns. (if fun │ │ │ +0003c780: 2861 6764 612d 696e 7075 742d 636f 6e63 (agda-input-conc │ │ │ +0003c790: 6174 2d6d 6170 2066 756e 2074 7261 6e73 at-map fun trans │ │ │ +0003c7a0: 290a 2020 2020 2020 2074 7261 6e73 2929 ). trans)) │ │ │ +0003c7b0: 2929 0a0a 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ))..;;;;;;;;;;;; │ │ │ 0003c7c0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 0003c7d0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 0003c7e0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ -0003c7f0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b0a 3b3b 2053 ;;;;;;;;;;;.;; S │ │ │ -0003c800: 6574 7469 6e67 2075 7020 7468 6520 696e etting up the in │ │ │ -0003c810: 7075 7420 6d65 7468 6f64 0a0a 2864 6566 put method..(def │ │ │ -0003c820: 756e 2061 6764 612d 696e 7075 742d 7365 un agda-input-se │ │ │ -0003c830: 7475 7020 2829 0a20 2022 5365 7420 7570 tup (). "Set up │ │ │ -0003c840: 2074 6865 2041 6764 6120 696e 7075 7420 the Agda input │ │ │ -0003c850: 6d65 7468 6f64 2062 6173 6564 206f 6e20 method based on │ │ │ -0003c860: 7468 6520 6375 7374 6f6d 6973 6162 6c65 the customisable │ │ │ -0003c870: 0a76 6172 6961 626c 6573 2061 6e64 2075 .variables and u │ │ │ -0003c880: 6e64 6572 6c79 696e 6720 696e 7075 7420 nderlying input │ │ │ -0003c890: 6d65 7468 6f64 732e 220a 0a20 203b 3b20 methods.".. ;; │ │ │ -0003c8a0: 4372 6561 7465 2028 6f72 2072 6573 6574 Create (or reset │ │ │ -0003c8b0: 2920 7468 6520 696e 7075 7420 6d65 7468 ) the input meth │ │ │ -0003c8c0: 6f64 2e0a 2020 2877 6974 682d 7465 6d70 od.. (with-temp │ │ │ -0003c8d0: 2d62 7566 6665 720a 2020 2020 2871 7561 -buffer. (qua │ │ │ -0003c8e0: 696c 2d64 6566 696e 652d 7061 636b 6167 il-define-packag │ │ │ -0003c8f0: 6520 2241 6764 6122 2022 5554 462d 3822 e "Agda" "UTF-8" │ │ │ -0003c900: 2022 e288 8f22 2074 203b 2067 7569 6461 "..." t ; guida │ │ │ -0003c910: 6e63 650a 2020 2020 2022 4167 6461 2069 nce. "Agda i │ │ │ -0003c920: 6e70 7574 206d 6574 686f 642e 0a54 6865 nput method..The │ │ │ -0003c930: 2070 7572 706f 7365 206f 6620 7468 6973 purpose of this │ │ │ -0003c940: 2069 6e70 7574 206d 6574 686f 6420 6973 input method is │ │ │ -0003c950: 2074 6f20 6564 6974 2041 6764 6120 7072 to edit Agda pr │ │ │ -0003c960: 6f67 7261 6d73 2c20 6275 740a 7369 6e63 ograms, but.sinc │ │ │ -0003c970: 6520 6974 2069 7320 6869 6768 6c79 2063 e it is highly c │ │ │ -0003c980: 7573 746f 6d69 7361 626c 6520 6974 2063 ustomisable it c │ │ │ -0003c990: 616e 2062 6520 6d61 6465 2075 7365 6675 an be made usefu │ │ │ -0003c9a0: 6c20 666f 7220 6f74 6865 720a 7461 736b l for other.task │ │ │ -0003c9b0: 7320 6173 2077 656c 6c2e 220a 2020 2020 s as well.". │ │ │ -0003c9c0: 206e 696c 206e 696c 206e 696c 206e 696c nil nil nil nil │ │ │ -0003c9d0: 206e 696c 206e 696c 2074 203b 206d 6178 nil nil t ; max │ │ │ -0003c9e0: 696d 756d 2d73 686f 7274 6573 740a 2020 imum-shortest. │ │ │ -0003c9f0: 2020 2029 290a 0a20 2028 6167 6461 2d69 )).. (agda-i │ │ │ -0003ca00: 6e70 7574 2d61 6464 2d74 7261 6e73 6c61 nput-add-transla │ │ │ -0003ca10: 7469 6f6e 730a 2020 2028 6d61 7063 6172 tions. (mapcar │ │ │ -0003ca20: 2028 6c61 6d62 6461 2028 7472 2920 2863 (lambda (tr) (c │ │ │ -0003ca30: 6f6e 7320 2863 6172 2074 7229 2028 7663 ons (car tr) (vc │ │ │ -0003ca40: 6f6e 6361 7420 2863 6472 2074 7229 2929 oncat (cdr tr))) │ │ │ -0003ca50: 290a 2020 2020 2020 2020 2020 2028 6170 ). (ap │ │ │ -0003ca60: 7065 6e64 2061 6764 612d 696e 7075 742d pend agda-input- │ │ │ -0003ca70: 7573 6572 2d74 7261 6e73 6c61 7469 6f6e user-translation │ │ │ -0003ca80: 730a 2020 2020 2020 2020 2020 2020 2020 s. │ │ │ -0003ca90: 2020 2020 2061 6764 612d 696e 7075 742d agda-input- │ │ │ -0003caa0: 7472 616e 736c 6174 696f 6e73 2929 290a translations))). │ │ │ -0003cab0: 2020 2864 6f6c 6973 7420 2864 6566 2061 (dolist (def a │ │ │ -0003cac0: 6764 612d 696e 7075 742d 696e 6865 7269 gda-input-inheri │ │ │ -0003cad0: 7429 0a20 2020 2028 6167 6461 2d69 6e70 t). (agda-inp │ │ │ -0003cae0: 7574 2d69 6e68 6572 6974 2d70 6163 6b61 ut-inherit-packa │ │ │ -0003caf0: 6765 2028 6361 7220 6465 6629 0a20 2020 ge (car def). │ │ │ +0003c7f0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 0a3b 3b20 ;;;;;;;;;;;;.;; │ │ │ +0003c800: 5365 7474 696e 6720 7570 2074 6865 2069 Setting up the i │ │ │ +0003c810: 6e70 7574 206d 6574 686f 640a 0a28 6465 nput method..(de │ │ │ +0003c820: 6675 6e20 6167 6461 2d69 6e70 7574 2d73 fun agda-input-s │ │ │ +0003c830: 6574 7570 2028 290a 2020 2253 6574 2075 etup (). "Set u │ │ │ +0003c840: 7020 7468 6520 4167 6461 2069 6e70 7574 p the Agda input │ │ │ +0003c850: 206d 6574 686f 6420 6261 7365 6420 6f6e method based on │ │ │ +0003c860: 2074 6865 2063 7573 746f 6d69 7361 626c the customisabl │ │ │ +0003c870: 650a 7661 7269 6162 6c65 7320 616e 6420 e.variables and │ │ │ +0003c880: 756e 6465 726c 7969 6e67 2069 6e70 7574 underlying input │ │ │ +0003c890: 206d 6574 686f 6473 2e22 0a0a 2020 3b3b methods.".. ;; │ │ │ +0003c8a0: 2043 7265 6174 6520 286f 7220 7265 7365 Create (or rese │ │ │ +0003c8b0: 7429 2074 6865 2069 6e70 7574 206d 6574 t) the input met │ │ │ +0003c8c0: 686f 642e 0a20 2028 7769 7468 2d74 656d hod.. (with-tem │ │ │ +0003c8d0: 702d 6275 6666 6572 0a20 2020 2028 7175 p-buffer. (qu │ │ │ +0003c8e0: 6169 6c2d 6465 6669 6e65 2d70 6163 6b61 ail-define-packa │ │ │ +0003c8f0: 6765 2022 4167 6461 2220 2255 5446 2d38 ge "Agda" "UTF-8 │ │ │ +0003c900: 2220 22e2 888f 2220 7420 3b20 6775 6964 " "..." t ; guid │ │ │ +0003c910: 616e 6365 0a20 2020 2020 2241 6764 6120 ance. "Agda │ │ │ +0003c920: 696e 7075 7420 6d65 7468 6f64 2e0a 5468 input method..Th │ │ │ +0003c930: 6520 7075 7270 6f73 6520 6f66 2074 6869 e purpose of thi │ │ │ +0003c940: 7320 696e 7075 7420 6d65 7468 6f64 2069 s input method i │ │ │ +0003c950: 7320 746f 2065 6469 7420 4167 6461 2070 s to edit Agda p │ │ │ +0003c960: 726f 6772 616d 732c 2062 7574 0a73 696e rograms, but.sin │ │ │ +0003c970: 6365 2069 7420 6973 2068 6967 686c 7920 ce it is highly │ │ │ +0003c980: 6375 7374 6f6d 6973 6162 6c65 2069 7420 customisable it │ │ │ +0003c990: 6361 6e20 6265 206d 6164 6520 7573 6566 can be made usef │ │ │ +0003c9a0: 756c 2066 6f72 206f 7468 6572 0a74 6173 ul for other.tas │ │ │ +0003c9b0: 6b73 2061 7320 7765 6c6c 2e22 0a20 2020 ks as well.". │ │ │ +0003c9c0: 2020 6e69 6c20 6e69 6c20 6e69 6c20 6e69 nil nil nil ni │ │ │ +0003c9d0: 6c20 6e69 6c20 6e69 6c20 7420 3b20 6d61 l nil nil t ; ma │ │ │ +0003c9e0: 7869 6d75 6d2d 7368 6f72 7465 7374 0a20 ximum-shortest. │ │ │ +0003c9f0: 2020 2020 2929 0a0a 2020 2861 6764 612d )).. (agda- │ │ │ +0003ca00: 696e 7075 742d 6164 642d 7472 616e 736c input-add-transl │ │ │ +0003ca10: 6174 696f 6e73 0a20 2020 286d 6170 6361 ations. (mapca │ │ │ +0003ca20: 7220 286c 616d 6264 6120 2874 7229 2028 r (lambda (tr) ( │ │ │ +0003ca30: 636f 6e73 2028 6361 7220 7472 2920 2876 cons (car tr) (v │ │ │ +0003ca40: 636f 6e63 6174 2028 6364 7220 7472 2929 concat (cdr tr)) │ │ │ +0003ca50: 2929 0a20 2020 2020 2020 2020 2020 2861 )). (a │ │ │ +0003ca60: 7070 656e 6420 6167 6461 2d69 6e70 7574 ppend agda-input │ │ │ +0003ca70: 2d75 7365 722d 7472 616e 736c 6174 696f -user-translatio │ │ │ +0003ca80: 6e73 0a20 2020 2020 2020 2020 2020 2020 ns. │ │ │ +0003ca90: 2020 2020 2020 6167 6461 2d69 6e70 7574 agda-input │ │ │ +0003caa0: 2d74 7261 6e73 6c61 7469 6f6e 7329 2929 -translations))) │ │ │ +0003cab0: 0a20 2028 646f 6c69 7374 2028 6465 6620 . (dolist (def │ │ │ +0003cac0: 6167 6461 2d69 6e70 7574 2d69 6e68 6572 agda-input-inher │ │ │ +0003cad0: 6974 290a 2020 2020 2861 6764 612d 696e it). (agda-in │ │ │ +0003cae0: 7075 742d 696e 6865 7269 742d 7061 636b put-inherit-pack │ │ │ +0003caf0: 6167 6520 2863 6172 2064 6566 290a 2020 age (car def). │ │ │ 0003cb00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0003cb10: 2020 2020 2020 2020 2020 2020 2028 6576 (ev │ │ │ -0003cb20: 616c 2028 6364 7220 6465 6629 2929 2929 al (cdr def))))) │ │ │ -0003cb30: 0a0a 2864 6566 756e 2061 6764 612d 696e ..(defun agda-in │ │ │ -0003cb40: 7075 742d 696e 636f 7270 6f72 6174 652d put-incorporate- │ │ │ -0003cb50: 6368 616e 6765 642d 7365 7474 696e 6720 changed-setting │ │ │ -0003cb60: 2873 796d 2076 616c 290a 2020 2255 7064 (sym val). "Upd │ │ │ -0003cb70: 6174 6520 7468 6520 4167 6461 2069 6e70 ate the Agda inp │ │ │ -0003cb80: 7574 206d 6574 686f 6420 6261 7365 6420 ut method based │ │ │ -0003cb90: 6f6e 2074 6865 2063 7573 746f 6d69 7361 on the customisa │ │ │ -0003cba0: 626c 650a 7661 7269 6162 6c65 7320 616e ble.variables an │ │ │ -0003cbb0: 6420 756e 6465 726c 7969 6e67 2069 6e70 d underlying inp │ │ │ -0003cbc0: 7574 206d 6574 686f 6473 2e0a 5375 6974 ut methods..Suit │ │ │ -0003cbd0: 6162 6c65 2066 6f72 2075 7365 2069 6e20 able for use in │ │ │ -0003cbe0: 7468 6520 3a73 6574 2066 6965 6c64 206f the :set field o │ │ │ -0003cbf0: 6620 6064 6566 6375 7374 6f6d 272e 220a f `defcustom'.". │ │ │ -0003cc00: 2020 2873 6574 2d64 6566 6175 6c74 2073 (set-default s │ │ │ -0003cc10: 796d 2076 616c 290a 2020 2861 6764 612d ym val). (agda- │ │ │ -0003cc20: 696e 7075 742d 7365 7475 7029 290a 0a3b input-setup))..; │ │ │ -0003cc30: 3b20 5365 7420 7570 2074 6865 2069 6e70 ; Set up the inp │ │ │ -0003cc40: 7574 206d 6574 686f 642e 0a0a 2861 6764 ut method...(agd │ │ │ -0003cc50: 612d 696e 7075 742d 7365 7475 7029 0a0a a-input-setup).. │ │ │ -0003cc60: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ +0003cb10: 2020 2020 2020 2020 2020 2020 2020 2865 (e │ │ │ +0003cb20: 7661 6c20 2863 6472 2064 6566 2929 2929 val (cdr def)))) │ │ │ +0003cb30: 290a 0a28 6465 6675 6e20 6167 6461 2d69 )..(defun agda-i │ │ │ +0003cb40: 6e70 7574 2d69 6e63 6f72 706f 7261 7465 nput-incorporate │ │ │ +0003cb50: 2d63 6861 6e67 6564 2d73 6574 7469 6e67 -changed-setting │ │ │ +0003cb60: 2028 7379 6d20 7661 6c29 0a20 2022 5570 (sym val). "Up │ │ │ +0003cb70: 6461 7465 2074 6865 2041 6764 6120 696e date the Agda in │ │ │ +0003cb80: 7075 7420 6d65 7468 6f64 2062 6173 6564 put method based │ │ │ +0003cb90: 206f 6e20 7468 6520 6375 7374 6f6d 6973 on the customis │ │ │ +0003cba0: 6162 6c65 0a76 6172 6961 626c 6573 2061 able.variables a │ │ │ +0003cbb0: 6e64 2075 6e64 6572 6c79 696e 6720 696e nd underlying in │ │ │ +0003cbc0: 7075 7420 6d65 7468 6f64 732e 0a53 7569 put methods..Sui │ │ │ +0003cbd0: 7461 626c 6520 666f 7220 7573 6520 696e table for use in │ │ │ +0003cbe0: 2074 6865 203a 7365 7420 6669 656c 6420 the :set field │ │ │ +0003cbf0: 6f66 2060 6465 6663 7573 746f 6d27 2e22 of `defcustom'." │ │ │ +0003cc00: 0a20 2028 7365 742d 6465 6661 756c 7420 . (set-default │ │ │ +0003cc10: 7379 6d20 7661 6c29 0a20 2028 6167 6461 sym val). (agda │ │ │ +0003cc20: 2d69 6e70 7574 2d73 6574 7570 2929 0a0a -input-setup)).. │ │ │ +0003cc30: 3b3b 2053 6574 2075 7020 7468 6520 696e ;; Set up the in │ │ │ +0003cc40: 7075 7420 6d65 7468 6f64 2e0a 0a28 6167 put method...(ag │ │ │ +0003cc50: 6461 2d69 6e70 7574 2d73 6574 7570 290a da-input-setup). │ │ │ +0003cc60: 0a3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b .;;;;;;;;;;;;;;; │ │ │ 0003cc70: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 0003cc80: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 0003cc90: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ -0003cca0: 3b3b 3b3b 3b3b 3b3b 0a3b 3b20 4164 6d69 ;;;;;;;;.;; Admi │ │ │ -0003ccb0: 6e69 7374 7261 7469 7665 2064 6574 6169 nistrative detai │ │ │ -0003ccc0: 6c73 0a0a 2870 726f 7669 6465 2027 6167 ls..(provide 'ag │ │ │ -0003ccd0: 6461 2d69 6e70 7574 290a 3b3b 3b20 6167 da-input).;;; ag │ │ │ -0003cce0: 6461 2d69 6e70 7574 2e65 6c20 656e 6473 da-input.el ends │ │ │ -0003ccf0: 2068 6572 650a e7d1 9e92 ddd8 b78a 139c here........... │ │ │ -0003cd00: f5e8 92e6 a4ec ee01 009e 0100 03cd 3205 ..............2. │ │ │ -0003cd10: 2000 0001 0004 0408 0307 025e 0200 0003 ..........^.... │ │ │ -0003cd20: 0f00 0505 050b 5f0b 9f01 0b61 0906 0100 ......_....a.... │ │ │ -0003cd30: f404 d0f2 d9d1 93b0 afe2 0db3 96b2 db85 ................ │ │ │ -0003cd40: c5a6 d3f9 0100 9f01 0003 cfd8 0582 8080 ................ │ │ │ -0003cd50: e608 0000 0100 0304 0704 0200 0003 0f00 ................ │ │ │ -0003cd60: 0901 f404 3b3b 202d 2a2d 206c 6578 6963 ....;; -*- lexic │ │ │ -0003cd70: 616c 2d62 696e 6469 6e67 3a20 7420 2d2a al-binding: t -* │ │ │ -0003cd80: 2d0a 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b -.;;;;;;;;;;;;;; │ │ │ +0003cca0: 3b3b 3b3b 3b3b 3b3b 3b0a 3b3b 2041 646d ;;;;;;;;;.;; Adm │ │ │ +0003ccb0: 696e 6973 7472 6174 6976 6520 6465 7461 inistrative deta │ │ │ +0003ccc0: 696c 730a 0a28 7072 6f76 6964 6520 2761 ils..(provide 'a │ │ │ +0003ccd0: 6764 612d 696e 7075 7429 0a3b 3b3b 2061 gda-input).;;; a │ │ │ +0003cce0: 6764 612d 696e 7075 742e 656c 2065 6e64 gda-input.el end │ │ │ +0003ccf0: 7320 6865 7265 0ae7 d19e 92dd d8b7 8a13 s here.......... │ │ │ +0003cd00: 9cf5 e892 e6a4 ecee 0100 9e01 0003 cd33 ...............3 │ │ │ +0003cd10: 0520 0000 0100 0404 0803 0702 5e02 0000 . ..........^... │ │ │ +0003cd20: 030f 0005 0505 0b5f 0b9f 010b 6109 0601 ......._....a... │ │ │ +0003cd30: 00f4 04d0 f2d9 d193 b0af e20d b396 b2db ................ │ │ │ +0003cd40: 85c5 a6d3 f901 009f 0100 03cf d905 8280 ................ │ │ │ +0003cd50: 80e6 0800 0001 0003 0407 0402 0000 030f ................ │ │ │ +0003cd60: 0009 01f4 043b 3b20 2d2a 2d20 6c65 7869 .....;; -*- lexi │ │ │ +0003cd70: 6361 6c2d 6269 6e64 696e 673a 2074 202d cal-binding: t - │ │ │ +0003cd80: 2a2d 0a3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b *-.;;;;;;;;;;;;; │ │ │ 0003cd90: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 0003cda0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 0003cdb0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ -0003cdc0: 3b3b 3b3b 3b3b 3b3b 3b3b 0a3b 3b20 4167 ;;;;;;;;;;.;; Ag │ │ │ -0003cdd0: 6461 206d 6f64 6520 636f 6465 2077 6869 da mode code whi │ │ │ -0003cde0: 6368 2073 686f 756c 6420 7275 6e20 6265 ch should run be │ │ │ -0003cdf0: 666f 7265 2074 6865 2066 6972 7374 2041 fore the first A │ │ │ -0003ce00: 6764 6120 6669 6c65 2069 730a 3b3b 206c gda file is.;; l │ │ │ -0003ce10: 6f61 6465 640a 3b3b 2053 5044 582d 4c69 oaded.;; SPDX-Li │ │ │ -0003ce20: 6365 6e73 652d 4964 656e 7469 6669 6572 cense-Identifier │ │ │ -0003ce30: 3a20 4d49 5420 4c69 6365 6e73 650a 0a28 : MIT License..( │ │ │ -0003ce40: 6465 6676 6172 2061 6764 6132 2d64 6972 defvar agda2-dir │ │ │ -0003ce50: 6563 746f 7279 2028 6669 6c65 2d6e 616d ectory (file-nam │ │ │ -0003ce60: 652d 6469 7265 6374 6f72 7920 6c6f 6164 e-directory load │ │ │ -0003ce70: 2d66 696c 652d 6e61 6d65 290a 2020 2250 -file-name). "P │ │ │ -0003ce80: 6174 6820 746f 2074 6865 2064 6972 6563 ath to the direc │ │ │ -0003ce90: 746f 7279 2074 6861 7420 636f 6e74 6169 tory that contai │ │ │ -0003cea0: 6e73 2061 6764 6132 2e65 6c28 6329 2e22 ns agda2.el(c)." │ │ │ -0003ceb0: 290a 0a28 6164 642d 746f 2d6c 6973 7420 )..(add-to-list │ │ │ -0003cec0: 276c 6f61 642d 7061 7468 2028 6f72 2061 'load-path (or a │ │ │ -0003ced0: 6764 6132 2d64 6972 6563 746f 7279 2028 gda2-directory ( │ │ │ -0003cee0: 6361 7220 6c6f 6164 2d70 6174 6829 2929 car load-path))) │ │ │ -0003cef0: 0a0a 2861 7574 6f6c 6f61 6420 2761 6764 ..(autoload 'agd │ │ │ -0003cf00: 6132 2d6d 6f64 6520 2261 6764 6132 2d6d a2-mode "agda2-m │ │ │ -0003cf10: 6f64 6522 0a20 2022 4d61 6a6f 7220 6d6f ode". "Major mo │ │ │ -0003cf20: 6465 2066 6f72 2065 6469 7469 6e67 2041 de for editing A │ │ │ -0003cf30: 6764 6120 6669 6c65 7320 2876 6572 7369 gda files (versi │ │ │ -0003cf40: 6f6e 20e2 89a5 2032 292e 2220 7429 0a28 on ... 2)." t).( │ │ │ -0003cf50: 6164 642d 746f 2d6c 6973 7420 2761 7574 add-to-list 'aut │ │ │ -0003cf60: 6f2d 6d6f 6465 2d61 6c69 7374 2027 2822 o-mode-alist '(" │ │ │ -0003cf70: 5c5c 2e6c 3f61 6764 615c 5c27 2220 2e20 \\.l?agda\\'" . │ │ │ -0003cf80: 6167 6461 322d 6d6f 6465 2929 0a28 6d6f agda2-mode)).(mo │ │ │ -0003cf90: 6469 6679 2d63 6f64 696e 672d 7379 7374 dify-coding-syst │ │ │ -0003cfa0: 656d 2d61 6c69 7374 2027 6669 6c65 2022 em-alist 'file " │ │ │ -0003cfb0: 5c5c 2e6c 3f61 6764 615c 5c27 2220 2775 \\.l?agda\\'" 'u │ │ │ -0003cfc0: 7466 2d38 290a 0a28 7072 6f76 6964 6520 tf-8)..(provide │ │ │ -0003cfd0: 2761 6764 6132 290a 87e5 9eb9 b6d2 bfff 'agda2)......... │ │ │ -0003cfe0: f601 cee7 9da4 bc9c a39a 8101 0097 0100 ................ │ │ │ -0003cff0: 03d0 2a05 b480 80e6 0800 0000 0520 0000 ..*.......... .. │ │ │ -0003d000: 0100 0100 0404 0803 0702 8680 80ec 0802 ................ │ │ │ -0003d010: 0000 030f 0005 0505 0b87 8080 ec08 0105 ................ │ │ │ -0003d020: 2000 0001 0b90 010b a001 c6a8 8bfe db96 ............... │ │ │ -0003d030: ac82 7ed9 c59b a080 b18a b7b5 0100 a101 ..~............. │ │ │ -0003d040: 0003 d067 0520 0000 0100 0404 0803 0702 ...g. .......... │ │ │ -0003d050: 5e02 0000 030f 0005 0505 0b5f 0ba2 010b ^.........._.... │ │ │ -0003d060: 6109 0601 00eb 37f9 e486 a483 8281 887b a.....7........{ │ │ │ -0003d070: aba6 efc4 f1b9 8f93 5400 a201 0003 ec83 ........T....... │ │ │ -0003d080: 0582 8080 e608 0000 0100 0304 0704 0200 ................ │ │ │ -0003d090: 0003 0f00 0901 eb37 3b3b 202d 2a2d 206c .......7;; -*- l │ │ │ -0003d0a0: 6578 6963 616c 2d62 696e 6469 6e67 3a20 exical-binding: │ │ │ -0003d0b0: 7420 2d2a 2d0a 3b3b 3b20 6572 692e 656c t -*-.;;; eri.el │ │ │ -0003d0c0: 202d 2d2d 2045 6e68 616e 6365 6420 7265 --- Enhanced re │ │ │ -0003d0d0: 6c61 7469 7665 2069 6e64 656e 7461 7469 lative indentati │ │ │ -0003d0e0: 6f6e 2028 6572 6929 0a0a 3b3b 2053 5044 on (eri)..;; SPD │ │ │ -0003d0f0: 582d 4c69 6365 6e73 652d 4964 656e 7469 X-License-Identi │ │ │ -0003d100: 6669 6572 3a20 4d49 5420 4c69 6365 6e73 fier: MIT Licens │ │ │ -0003d110: 650a 3b3b 2055 524c 3a20 6874 7470 733a e.;; URL: https: │ │ │ -0003d120: 2f2f 6769 7468 7562 2e63 6f6d 2f61 6764 //github.com/agd │ │ │ -0003d130: 612f 6167 6461 0a3b 3b20 5665 7273 696f a/agda.;; Versio │ │ │ -0003d140: 6e3a 2031 2e30 0a0a 3b3b 3b20 436f 6d6d n: 1.0..;;; Comm │ │ │ -0003d150: 656e 7461 7279 3a0a 0a3b 3b20 4379 636c entary:..;; Cycl │ │ │ -0003d160: 6520 6265 7477 6565 6e20 696e 6465 6e74 e between indent │ │ │ -0003d170: 6174 696f 6e20 706f 696e 7473 2077 6974 ation points wit │ │ │ -0003d180: 6820 656e 6861 6e63 6564 2072 656c 6174 h enhanced relat │ │ │ -0003d190: 6976 6520 696e 6465 6e74 6174 696f 6e2e ive indentation. │ │ │ -0003d1a0: 0a0a 3b3b 3b20 436f 6465 3a0a 0a28 7265 ..;;; Code:..(re │ │ │ -0003d1b0: 7175 6972 6520 2763 6c2d 6c69 6229 0a0a quire 'cl-lib).. │ │ │ -0003d1c0: 2864 6566 756e 2065 7269 2d63 7572 7265 (defun eri-curre │ │ │ -0003d1d0: 6e74 2d6c 696e 652d 6c65 6e67 7468 206e nt-line-length n │ │ │ -0003d1e0: 696c 0a20 2022 4361 6c63 756c 6174 6520 il. "Calculate │ │ │ -0003d1f0: 6c65 6e67 7468 206f 6620 6375 7272 656e length of curren │ │ │ -0003d200: 7420 6c69 6e65 2e22 0a20 2028 2d20 286c t line.". (- (l │ │ │ -0003d210: 696e 652d 656e 642d 706f 7369 7469 6f6e ine-end-position │ │ │ -0003d220: 2920 286c 696e 652d 6265 6769 6e6e 696e ) (line-beginnin │ │ │ -0003d230: 672d 706f 7369 7469 6f6e 2929 290a 0a28 g-position)))..( │ │ │ -0003d240: 6465 6675 6e20 6572 692d 6375 7272 656e defun eri-curren │ │ │ -0003d250: 742d 6c69 6e65 2d65 6d70 7479 206e 696c t-line-empty nil │ │ │ -0003d260: 0a20 2022 5265 7475 726e 206e 6f6e 2d6e . "Return non-n │ │ │ -0003d270: 696c 2069 6620 7468 6520 6375 7272 656e il if the curren │ │ │ -0003d280: 7420 6c69 6e65 2069 7320 656d 7074 7920 t line is empty │ │ │ -0003d290: 286e 6f74 2063 6f75 6e74 696e 6720 7768 (not counting wh │ │ │ -0003d2a0: 6974 6520 7370 6163 6529 2e22 0a20 2028 ite space).". ( │ │ │ -0003d2b0: 6571 7561 6c20 2863 7572 7265 6e74 2d69 equal (current-i │ │ │ -0003d2c0: 6e64 656e 7461 7469 6f6e 290a 2020 2020 ndentation). │ │ │ -0003d2d0: 2020 2020 2028 6572 692d 6375 7272 656e (eri-curren │ │ │ -0003d2e0: 742d 6c69 6e65 2d6c 656e 6774 6829 2929 t-line-length))) │ │ │ -0003d2f0: 0a0a 2864 6566 756e 2065 7269 2d6d 6178 ..(defun eri-max │ │ │ -0003d300: 696d 756d 2028 7873 290a 2020 2243 616c imum (xs). "Cal │ │ │ -0003d310: 6375 6c61 7465 206d 6178 696d 756d 2065 culate maximum e │ │ │ -0003d320: 6c65 6d65 6e74 2069 6e20 5853 2e0a 5265 lement in XS..Re │ │ │ -0003d330: 7475 726e 7320 6e69 6c20 6966 2074 6865 turns nil if the │ │ │ -0003d340: 206c 6973 7420 6973 2065 6d70 7479 2e22 list is empty." │ │ │ -0003d350: 0a20 2028 6966 2078 7320 2861 7070 6c79 . (if xs (apply │ │ │ -0003d360: 2027 6d61 7820 7873 2929 290a 0a28 6465 'max xs)))..(de │ │ │ -0003d370: 6675 6e20 6572 692d 7461 6b65 2028 6e20 fun eri-take (n │ │ │ -0003d380: 7873 290a 2020 2252 6574 7572 6e20 7468 xs). "Return th │ │ │ -0003d390: 6520 6669 7273 7420 4e20 656c 656d 656e e first N elemen │ │ │ -0003d3a0: 7473 206f 6620 5853 2e22 0a20 2028 6275 ts of XS.". (bu │ │ │ -0003d3b0: 746c 6173 7420 7873 2028 2d20 286c 656e tlast xs (- (len │ │ │ -0003d3c0: 6774 6820 7873 2920 6e29 2929 0a0a 2864 gth xs) n)))..(d │ │ │ -0003d3d0: 6566 756e 2065 7269 2d73 706c 6974 2028 efun eri-split ( │ │ │ -0003d3e0: 7820 7873 290a 2020 2252 6574 7572 6e20 x xs). "Return │ │ │ -0003d3f0: 6120 7061 6972 206f 6620 6c69 7374 7320 a pair of lists │ │ │ -0003d400: 2858 5331 202e 2058 5332 292e 0a49 6620 (XS1 . XS2)..If │ │ │ -0003d410: 5853 2069 7320 736f 7274 6564 2c20 7468 XS is sorted, th │ │ │ -0003d420: 656e 2058 5320 3d20 2861 7070 656e 6420 en XS = (append │ │ │ -0003d430: 5853 3120 5853 3229 2c20 616e 6420 616c XS1 XS2), and al │ │ │ -0003d440: 6c20 656c 656d 656e 7473 2069 6e0a 5853 l elements in.XS │ │ │ -0003d450: 3120 6172 6520 3c3d 2058 2c20 7768 6572 1 are <= X, wher │ │ │ -0003d460: 6561 7320 616c 6c20 656c 656d 656e 7473 eas all elements │ │ │ -0003d470: 2069 6e20 5853 3220 6172 6520 3e20 582e in XS2 are > X. │ │ │ -0003d480: 220a 2020 286c 6574 2a20 2828 706f 7320 ". (let* ((pos │ │ │ -0003d490: 286f 7220 2863 6c2d 706f 7369 7469 6f6e (or (cl-position │ │ │ -0003d4a0: 2d69 6620 286c 616d 6264 6120 2879 2920 -if (lambda (y) │ │ │ -0003d4b0: 283e 2079 2078 2929 2078 7329 2028 6c65 (> y x)) xs) (le │ │ │ -0003d4c0: 6e67 7468 2078 7329 2929 0a20 2020 2020 ngth xs))). │ │ │ -0003d4d0: 2020 2020 2878 7331 2028 6572 692d 7461 (xs1 (eri-ta │ │ │ -0003d4e0: 6b65 2070 6f73 2078 7329 290a 2020 2020 ke pos xs)). │ │ │ -0003d4f0: 2020 2020 2028 7873 3220 286e 7468 6364 (xs2 (nthcd │ │ │ -0003d500: 7220 706f 7320 7873 2929 290a 2020 2020 r pos xs))). │ │ │ -0003d510: 2863 6f6e 7320 7873 3120 7873 3229 2929 (cons xs1 xs2))) │ │ │ -0003d520: 0a0a 2864 6566 756e 2065 7269 2d63 616c ..(defun eri-cal │ │ │ -0003d530: 6375 6c61 7465 2d69 6e64 656e 7461 7469 culate-indentati │ │ │ -0003d540: 6f6e 2d70 6f69 6e74 732d 6f6e 2d6c 696e on-points-on-lin │ │ │ -0003d550: 6520 286d 6178 290a 2020 2243 616c 6375 e (max). "Calcu │ │ │ -0003d560: 6c61 7465 2069 6e64 656e 7461 7469 6f6e late indentation │ │ │ -0003d570: 2070 6f69 6e74 7320 6f6e 2063 7572 7265 points on curre │ │ │ -0003d580: 6e74 206c 696e 652e 0a4f 6e6c 7920 706f nt line..Only po │ │ │ -0003d590: 696e 7473 206c 6566 7420 6f66 2063 6f6c ints left of col │ │ │ -0003d5a0: 756d 6e20 6e75 6d62 6572 204d 4158 2061 umn number MAX a │ │ │ -0003d5b0: 7265 2069 6e63 6c75 6465 642e 2049 6620 re included. If │ │ │ -0003d5c0: 4d41 5820 6973 0a6e 696c 2c20 7468 656e MAX is.nil, then │ │ │ -0003d5d0: 2061 6c6c 2070 6f69 6e74 7320 6172 6520 all points are │ │ │ -0003d5e0: 696e 636c 7564 6564 2e20 506f 696e 7473 included. Points │ │ │ -0003d5f0: 2061 7265 2072 6574 7572 6e65 6420 696e are returned in │ │ │ -0003d600: 0a61 7363 656e 6469 6e67 206f 7264 6572 .ascending order │ │ │ -0003d610: 2e0a 0a45 7861 6d70 6c65 2028 706f 7369 ...Example (posi │ │ │ -0003d620: 7469 6f6e 7320 6d61 726b 6564 2077 6974 tions marked wit │ │ │ -0003d630: 6820 5e20 6172 6520 7265 7475 726e 6564 h ^ are returned │ │ │ -0003d640: 293a 0a0a 2020 6620 7820 7920 3d20 6720 ):.. f x y = g │ │ │ -0003d650: 3320 284a 7573 7420 7929 2035 2034 0a20 3 (Just y) 5 4. │ │ │ -0003d660: 205e 205e 205e 205e 205e 205e 205e 2020 ^ ^ ^ ^ ^ ^ ^ │ │ │ -0003d670: 2020 205e 2020 7c0a 2020 2020 2020 2020 ^ |. │ │ │ -0003d680: 2020 2020 2020 2020 2020 2020 2020 207c | │ │ │ -0003d690: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ -0003d6a0: 2020 2020 2020 2020 4d41 5822 0a20 2028 MAX". ( │ │ │ -0003d6b0: 6c65 7420 2828 7265 7375 6c74 206e 696c let ((result nil │ │ │ -0003d6c0: 2929 0a20 2020 2028 7361 7665 2d65 7863 )). (save-exc │ │ │ -0003d6d0: 7572 7369 6f6e 0a20 2020 2020 2028 7361 ursion. (sa │ │ │ -0003d6e0: 7665 2d72 6573 7472 6963 7469 6f6e 0a20 ve-restriction. │ │ │ -0003d6f0: 2020 2020 2020 2028 6265 6769 6e6e 696e (beginnin │ │ │ -0003d700: 672d 6f66 2d6c 696e 6529 0a20 2020 2020 g-of-line). │ │ │ -0003d710: 2020 203b 2054 6f20 6d61 6b65 205c 5c60 ; To make \\` │ │ │ -0003d720: 2077 6f72 6b20 696e 2074 6865 2072 6567 work in the reg │ │ │ -0003d730: 6578 7020 6265 6c6f 773a 0a20 2020 2020 exp below:. │ │ │ -0003d740: 2020 2028 6e61 7272 6f77 2d74 6f2d 7265 (narrow-to-re │ │ │ -0003d750: 6769 6f6e 2028 6c69 6e65 2d62 6567 696e gion (line-begin │ │ │ -0003d760: 6e69 6e67 2d70 6f73 6974 696f 6e29 2028 ning-position) ( │ │ │ -0003d770: 6c69 6e65 2d65 6e64 2d70 6f73 6974 696f line-end-positio │ │ │ -0003d780: 6e29 290a 2020 2020 2020 2020 2877 6869 n)). (whi │ │ │ -0003d790: 6c65 0a20 2020 2020 2020 2020 2020 2028 le. ( │ │ │ -0003d7a0: 7072 6f67 6e0a 2020 2020 2020 2020 2020 progn. │ │ │ -0003d7b0: 2020 2020 286c 6574 2028 2870 6f73 2028 (let ((pos ( │ │ │ -0003d7c0: 616e 6420 2873 6561 7263 682d 666f 7277 and (search-forw │ │ │ -0003d7d0: 6172 642d 7265 6765 7870 0a20 2020 2020 ard-regexp. │ │ │ +0003cdc0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b0a 3b3b 2041 ;;;;;;;;;;;.;; A │ │ │ +0003cdd0: 6764 6120 6d6f 6465 2063 6f64 6520 7768 gda mode code wh │ │ │ +0003cde0: 6963 6820 7368 6f75 6c64 2072 756e 2062 ich should run b │ │ │ +0003cdf0: 6566 6f72 6520 7468 6520 6669 7273 7420 efore the first │ │ │ +0003ce00: 4167 6461 2066 696c 6520 6973 0a3b 3b20 Agda file is.;; │ │ │ +0003ce10: 6c6f 6164 6564 0a3b 3b20 5350 4458 2d4c loaded.;; SPDX-L │ │ │ +0003ce20: 6963 656e 7365 2d49 6465 6e74 6966 6965 icense-Identifie │ │ │ +0003ce30: 723a 204d 4954 204c 6963 656e 7365 0a0a r: MIT License.. │ │ │ +0003ce40: 2864 6566 7661 7220 6167 6461 322d 6469 (defvar agda2-di │ │ │ +0003ce50: 7265 6374 6f72 7920 2866 696c 652d 6e61 rectory (file-na │ │ │ +0003ce60: 6d65 2d64 6972 6563 746f 7279 206c 6f61 me-directory loa │ │ │ +0003ce70: 642d 6669 6c65 2d6e 616d 6529 0a20 2022 d-file-name). " │ │ │ +0003ce80: 5061 7468 2074 6f20 7468 6520 6469 7265 Path to the dire │ │ │ +0003ce90: 6374 6f72 7920 7468 6174 2063 6f6e 7461 ctory that conta │ │ │ +0003cea0: 696e 7320 6167 6461 322e 656c 2863 292e ins agda2.el(c). │ │ │ +0003ceb0: 2229 0a0a 2861 6464 2d74 6f2d 6c69 7374 ")..(add-to-list │ │ │ +0003cec0: 2027 6c6f 6164 2d70 6174 6820 286f 7220 'load-path (or │ │ │ +0003ced0: 6167 6461 322d 6469 7265 6374 6f72 7920 agda2-directory │ │ │ +0003cee0: 2863 6172 206c 6f61 642d 7061 7468 2929 (car load-path)) │ │ │ +0003cef0: 290a 0a28 6175 746f 6c6f 6164 2027 6167 )..(autoload 'ag │ │ │ +0003cf00: 6461 322d 6d6f 6465 2022 6167 6461 322d da2-mode "agda2- │ │ │ +0003cf10: 6d6f 6465 220a 2020 224d 616a 6f72 206d mode". "Major m │ │ │ +0003cf20: 6f64 6520 666f 7220 6564 6974 696e 6720 ode for editing │ │ │ +0003cf30: 4167 6461 2066 696c 6573 2028 7665 7273 Agda files (vers │ │ │ +0003cf40: 696f 6e20 e289 a520 3229 2e22 2074 290a ion ... 2)." t). │ │ │ +0003cf50: 2861 6464 2d74 6f2d 6c69 7374 2027 6175 (add-to-list 'au │ │ │ +0003cf60: 746f 2d6d 6f64 652d 616c 6973 7420 2728 to-mode-alist '( │ │ │ +0003cf70: 225c 5c2e 6c3f 6167 6461 5c5c 2722 202e "\\.l?agda\\'" . │ │ │ +0003cf80: 2061 6764 6132 2d6d 6f64 6529 290a 286d agda2-mode)).(m │ │ │ +0003cf90: 6f64 6966 792d 636f 6469 6e67 2d73 7973 odify-coding-sys │ │ │ +0003cfa0: 7465 6d2d 616c 6973 7420 2766 696c 6520 tem-alist 'file │ │ │ +0003cfb0: 225c 5c2e 6c3f 6167 6461 5c5c 2722 2027 "\\.l?agda\\'" ' │ │ │ +0003cfc0: 7574 662d 3829 0a0a 2870 726f 7669 6465 utf-8)..(provide │ │ │ +0003cfd0: 2027 6167 6461 3229 0a87 e59e b9b6 d2bf 'agda2)........ │ │ │ +0003cfe0: fff6 01ce e79d a4bc 9ca3 9a81 0100 9701 ................ │ │ │ +0003cff0: 0003 d02b 05b4 8080 e608 0000 0005 2000 ...+.......... . │ │ │ +0003d000: 0001 0001 0004 0408 0307 0286 8080 ec08 ................ │ │ │ +0003d010: 0200 0003 0f00 0505 050b 8780 80ec 0801 ................ │ │ │ +0003d020: 0520 0000 010b 9001 0ba0 01c6 a88b fedb . .............. │ │ │ +0003d030: 96ac 827e d9c5 9ba0 80b1 8ab7 b501 00a1 ...~............ │ │ │ +0003d040: 0100 03d0 6805 2000 0001 0004 0408 0307 ....h. ......... │ │ │ +0003d050: 025e 0200 0003 0f00 0505 050b 5f0b a201 .^.........._... │ │ │ +0003d060: 0b61 0906 0100 eb37 f9e4 86a4 8382 8188 .a.....7........ │ │ │ +0003d070: 7bab a6ef c4f1 b98f 9354 00a2 0100 03ec {........T...... │ │ │ +0003d080: 8405 8280 80e6 0800 0001 0003 0407 0402 ................ │ │ │ +0003d090: 0000 030f 0009 01eb 373b 3b20 2d2a 2d20 ........7;; -*- │ │ │ +0003d0a0: 6c65 7869 6361 6c2d 6269 6e64 696e 673a lexical-binding: │ │ │ +0003d0b0: 2074 202d 2a2d 0a3b 3b3b 2065 7269 2e65 t -*-.;;; eri.e │ │ │ +0003d0c0: 6c20 2d2d 2d20 456e 6861 6e63 6564 2072 l --- Enhanced r │ │ │ +0003d0d0: 656c 6174 6976 6520 696e 6465 6e74 6174 elative indentat │ │ │ +0003d0e0: 696f 6e20 2865 7269 290a 0a3b 3b20 5350 ion (eri)..;; SP │ │ │ +0003d0f0: 4458 2d4c 6963 656e 7365 2d49 6465 6e74 DX-License-Ident │ │ │ +0003d100: 6966 6965 723a 204d 4954 204c 6963 656e ifier: MIT Licen │ │ │ +0003d110: 7365 0a3b 3b20 5552 4c3a 2068 7474 7073 se.;; URL: https │ │ │ +0003d120: 3a2f 2f67 6974 6875 622e 636f 6d2f 6167 ://github.com/ag │ │ │ +0003d130: 6461 2f61 6764 610a 3b3b 2056 6572 7369 da/agda.;; Versi │ │ │ +0003d140: 6f6e 3a20 312e 300a 0a3b 3b3b 2043 6f6d on: 1.0..;;; Com │ │ │ +0003d150: 6d65 6e74 6172 793a 0a0a 3b3b 2043 7963 mentary:..;; Cyc │ │ │ +0003d160: 6c65 2062 6574 7765 656e 2069 6e64 656e le between inden │ │ │ +0003d170: 7461 7469 6f6e 2070 6f69 6e74 7320 7769 tation points wi │ │ │ +0003d180: 7468 2065 6e68 616e 6365 6420 7265 6c61 th enhanced rela │ │ │ +0003d190: 7469 7665 2069 6e64 656e 7461 7469 6f6e tive indentation │ │ │ +0003d1a0: 2e0a 0a3b 3b3b 2043 6f64 653a 0a0a 2872 ...;;; Code:..(r │ │ │ +0003d1b0: 6571 7569 7265 2027 636c 2d6c 6962 290a equire 'cl-lib). │ │ │ +0003d1c0: 0a28 6465 6675 6e20 6572 692d 6375 7272 .(defun eri-curr │ │ │ +0003d1d0: 656e 742d 6c69 6e65 2d6c 656e 6774 6820 ent-line-length │ │ │ +0003d1e0: 6e69 6c0a 2020 2243 616c 6375 6c61 7465 nil. "Calculate │ │ │ +0003d1f0: 206c 656e 6774 6820 6f66 2063 7572 7265 length of curre │ │ │ +0003d200: 6e74 206c 696e 652e 220a 2020 282d 2028 nt line.". (- ( │ │ │ +0003d210: 6c69 6e65 2d65 6e64 2d70 6f73 6974 696f line-end-positio │ │ │ +0003d220: 6e29 2028 6c69 6e65 2d62 6567 696e 6e69 n) (line-beginni │ │ │ +0003d230: 6e67 2d70 6f73 6974 696f 6e29 2929 0a0a ng-position))).. │ │ │ +0003d240: 2864 6566 756e 2065 7269 2d63 7572 7265 (defun eri-curre │ │ │ +0003d250: 6e74 2d6c 696e 652d 656d 7074 7920 6e69 nt-line-empty ni │ │ │ +0003d260: 6c0a 2020 2252 6574 7572 6e20 6e6f 6e2d l. "Return non- │ │ │ +0003d270: 6e69 6c20 6966 2074 6865 2063 7572 7265 nil if the curre │ │ │ +0003d280: 6e74 206c 696e 6520 6973 2065 6d70 7479 nt line is empty │ │ │ +0003d290: 2028 6e6f 7420 636f 756e 7469 6e67 2077 (not counting w │ │ │ +0003d2a0: 6869 7465 2073 7061 6365 292e 220a 2020 hite space).". │ │ │ +0003d2b0: 2865 7175 616c 2028 6375 7272 656e 742d (equal (current- │ │ │ +0003d2c0: 696e 6465 6e74 6174 696f 6e29 0a20 2020 indentation). │ │ │ +0003d2d0: 2020 2020 2020 2865 7269 2d63 7572 7265 (eri-curre │ │ │ +0003d2e0: 6e74 2d6c 696e 652d 6c65 6e67 7468 2929 nt-line-length)) │ │ │ +0003d2f0: 290a 0a28 6465 6675 6e20 6572 692d 6d61 )..(defun eri-ma │ │ │ +0003d300: 7869 6d75 6d20 2878 7329 0a20 2022 4361 ximum (xs). "Ca │ │ │ +0003d310: 6c63 756c 6174 6520 6d61 7869 6d75 6d20 lculate maximum │ │ │ +0003d320: 656c 656d 656e 7420 696e 2058 532e 0a52 element in XS..R │ │ │ +0003d330: 6574 7572 6e73 206e 696c 2069 6620 7468 eturns nil if th │ │ │ +0003d340: 6520 6c69 7374 2069 7320 656d 7074 792e e list is empty. │ │ │ +0003d350: 220a 2020 2869 6620 7873 2028 6170 706c ". (if xs (appl │ │ │ +0003d360: 7920 276d 6178 2078 7329 2929 0a0a 2864 y 'max xs)))..(d │ │ │ +0003d370: 6566 756e 2065 7269 2d74 616b 6520 286e efun eri-take (n │ │ │ +0003d380: 2078 7329 0a20 2022 5265 7475 726e 2074 xs). "Return t │ │ │ +0003d390: 6865 2066 6972 7374 204e 2065 6c65 6d65 he first N eleme │ │ │ +0003d3a0: 6e74 7320 6f66 2058 532e 220a 2020 2862 nts of XS.". (b │ │ │ +0003d3b0: 7574 6c61 7374 2078 7320 282d 2028 6c65 utlast xs (- (le │ │ │ +0003d3c0: 6e67 7468 2078 7329 206e 2929 290a 0a28 ngth xs) n)))..( │ │ │ +0003d3d0: 6465 6675 6e20 6572 692d 7370 6c69 7420 defun eri-split │ │ │ +0003d3e0: 2878 2078 7329 0a20 2022 5265 7475 726e (x xs). "Return │ │ │ +0003d3f0: 2061 2070 6169 7220 6f66 206c 6973 7473 a pair of lists │ │ │ +0003d400: 2028 5853 3120 2e20 5853 3229 2e0a 4966 (XS1 . XS2)..If │ │ │ +0003d410: 2058 5320 6973 2073 6f72 7465 642c 2074 XS is sorted, t │ │ │ +0003d420: 6865 6e20 5853 203d 2028 6170 7065 6e64 hen XS = (append │ │ │ +0003d430: 2058 5331 2058 5332 292c 2061 6e64 2061 XS1 XS2), and a │ │ │ +0003d440: 6c6c 2065 6c65 6d65 6e74 7320 696e 0a58 ll elements in.X │ │ │ +0003d450: 5331 2061 7265 203c 3d20 582c 2077 6865 S1 are <= X, whe │ │ │ +0003d460: 7265 6173 2061 6c6c 2065 6c65 6d65 6e74 reas all element │ │ │ +0003d470: 7320 696e 2058 5332 2061 7265 203e 2058 s in XS2 are > X │ │ │ +0003d480: 2e22 0a20 2028 6c65 742a 2028 2870 6f73 .". (let* ((pos │ │ │ +0003d490: 2028 6f72 2028 636c 2d70 6f73 6974 696f (or (cl-positio │ │ │ +0003d4a0: 6e2d 6966 2028 6c61 6d62 6461 2028 7929 n-if (lambda (y) │ │ │ +0003d4b0: 2028 3e20 7920 7829 2920 7873 2920 286c (> y x)) xs) (l │ │ │ +0003d4c0: 656e 6774 6820 7873 2929 290a 2020 2020 ength xs))). │ │ │ +0003d4d0: 2020 2020 2028 7873 3120 2865 7269 2d74 (xs1 (eri-t │ │ │ +0003d4e0: 616b 6520 706f 7320 7873 2929 0a20 2020 ake pos xs)). │ │ │ +0003d4f0: 2020 2020 2020 2878 7332 2028 6e74 6863 (xs2 (nthc │ │ │ +0003d500: 6472 2070 6f73 2078 7329 2929 0a20 2020 dr pos xs))). │ │ │ +0003d510: 2028 636f 6e73 2078 7331 2078 7332 2929 (cons xs1 xs2)) │ │ │ +0003d520: 290a 0a28 6465 6675 6e20 6572 692d 6361 )..(defun eri-ca │ │ │ +0003d530: 6c63 756c 6174 652d 696e 6465 6e74 6174 lculate-indentat │ │ │ +0003d540: 696f 6e2d 706f 696e 7473 2d6f 6e2d 6c69 ion-points-on-li │ │ │ +0003d550: 6e65 2028 6d61 7829 0a20 2022 4361 6c63 ne (max). "Calc │ │ │ +0003d560: 756c 6174 6520 696e 6465 6e74 6174 696f ulate indentatio │ │ │ +0003d570: 6e20 706f 696e 7473 206f 6e20 6375 7272 n points on curr │ │ │ +0003d580: 656e 7420 6c69 6e65 2e0a 4f6e 6c79 2070 ent line..Only p │ │ │ +0003d590: 6f69 6e74 7320 6c65 6674 206f 6620 636f oints left of co │ │ │ +0003d5a0: 6c75 6d6e 206e 756d 6265 7220 4d41 5820 lumn number MAX │ │ │ +0003d5b0: 6172 6520 696e 636c 7564 6564 2e20 4966 are included. If │ │ │ +0003d5c0: 204d 4158 2069 730a 6e69 6c2c 2074 6865 MAX is.nil, the │ │ │ +0003d5d0: 6e20 616c 6c20 706f 696e 7473 2061 7265 n all points are │ │ │ +0003d5e0: 2069 6e63 6c75 6465 642e 2050 6f69 6e74 included. Point │ │ │ +0003d5f0: 7320 6172 6520 7265 7475 726e 6564 2069 s are returned i │ │ │ +0003d600: 6e0a 6173 6365 6e64 696e 6720 6f72 6465 n.ascending orde │ │ │ +0003d610: 722e 0a0a 4578 616d 706c 6520 2870 6f73 r...Example (pos │ │ │ +0003d620: 6974 696f 6e73 206d 6172 6b65 6420 7769 itions marked wi │ │ │ +0003d630: 7468 205e 2061 7265 2072 6574 7572 6e65 th ^ are returne │ │ │ +0003d640: 6429 3a0a 0a20 2066 2078 2079 203d 2067 d):.. f x y = g │ │ │ +0003d650: 2033 2028 4a75 7374 2079 2920 3520 340a 3 (Just y) 5 4. │ │ │ +0003d660: 2020 5e20 5e20 5e20 5e20 5e20 5e20 5e20 ^ ^ ^ ^ ^ ^ ^ │ │ │ +0003d670: 2020 2020 5e20 207c 0a20 2020 2020 2020 ^ |. │ │ │ +0003d680: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +0003d690: 7c0a 2020 2020 2020 2020 2020 2020 2020 |. │ │ │ +0003d6a0: 2020 2020 2020 2020 204d 4158 220a 2020 MAX". │ │ │ +0003d6b0: 286c 6574 2028 2872 6573 756c 7420 6e69 (let ((result ni │ │ │ +0003d6c0: 6c29 290a 2020 2020 2873 6176 652d 6578 l)). (save-ex │ │ │ +0003d6d0: 6375 7273 696f 6e0a 2020 2020 2020 2873 cursion. (s │ │ │ +0003d6e0: 6176 652d 7265 7374 7269 6374 696f 6e0a ave-restriction. │ │ │ +0003d6f0: 2020 2020 2020 2020 2862 6567 696e 6e69 (beginni │ │ │ +0003d700: 6e67 2d6f 662d 6c69 6e65 290a 2020 2020 ng-of-line). │ │ │ +0003d710: 2020 2020 3b20 546f 206d 616b 6520 5c5c ; To make \\ │ │ │ +0003d720: 6020 776f 726b 2069 6e20 7468 6520 7265 ` work in the re │ │ │ +0003d730: 6765 7870 2062 656c 6f77 3a0a 2020 2020 gexp below:. │ │ │ +0003d740: 2020 2020 286e 6172 726f 772d 746f 2d72 (narrow-to-r │ │ │ +0003d750: 6567 696f 6e20 286c 696e 652d 6265 6769 egion (line-begi │ │ │ +0003d760: 6e6e 696e 672d 706f 7369 7469 6f6e 2920 nning-position) │ │ │ +0003d770: 286c 696e 652d 656e 642d 706f 7369 7469 (line-end-positi │ │ │ +0003d780: 6f6e 2929 0a20 2020 2020 2020 2028 7768 on)). (wh │ │ │ +0003d790: 696c 650a 2020 2020 2020 2020 2020 2020 ile. │ │ │ +0003d7a0: 2870 726f 676e 0a20 2020 2020 2020 2020 (progn. │ │ │ +0003d7b0: 2020 2020 2028 6c65 7420 2828 706f 7320 (let ((pos │ │ │ +0003d7c0: 2861 6e64 2028 7365 6172 6368 2d66 6f72 (and (search-for │ │ │ +0003d7d0: 7761 7264 2d72 6567 6578 700a 2020 2020 ward-regexp. │ │ │ 0003d7e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0003d7f0: 2020 2020 2020 2020 2020 225c 5c28 3f3a "\\(?: │ │ │ -0003d800: 5c5c 732d 5c5c 7c5c 5c60 5c5c 295c 5c28 \\s-\\|\\`\\)\\( │ │ │ -0003d810: 5c5c 532d 5c5c 2922 206e 696c 2074 290a \\S-\\)" nil t). │ │ │ -0003d820: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0003d830: 2020 2020 2020 2020 2020 2020 2020 286d (m │ │ │ -0003d840: 6174 6368 2d62 6567 696e 6e69 6e67 2031 atch-beginning 1 │ │ │ -0003d850: 2929 2929 0a20 2020 2020 2020 2020 2020 )))). │ │ │ -0003d860: 2020 2020 2028 7768 656e 2028 6e6f 7420 (when (not │ │ │ -0003d870: 286e 756c 6c20 706f 7329 290a 2020 2020 (null pos)). │ │ │ -0003d880: 2020 2020 2020 2020 2020 2020 2020 286c (l │ │ │ -0003d890: 6574 2028 2870 6f73 3120 282d 2070 6f73 et ((pos1 (- pos │ │ │ -0003d8a0: 2028 6c69 6e65 2d62 6567 696e 6e69 6e67 (line-beginning │ │ │ -0003d8b0: 2d70 6f73 6974 696f 6e29 2929 290a 2020 -position)))). │ │ │ +0003d7f0: 2020 2020 2020 2020 2020 2022 5c5c 283f "\\(? │ │ │ +0003d800: 3a5c 5c73 2d5c 5c7c 5c5c 605c 5c29 5c5c :\\s-\\|\\`\\)\\ │ │ │ +0003d810: 285c 5c53 2d5c 5c29 2220 6e69 6c20 7429 (\\S-\\)" nil t) │ │ │ +0003d820: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ +0003d830: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ +0003d840: 6d61 7463 682d 6265 6769 6e6e 696e 6720 match-beginning │ │ │ +0003d850: 3129 2929 290a 2020 2020 2020 2020 2020 1)))). │ │ │ +0003d860: 2020 2020 2020 2877 6865 6e20 286e 6f74 (when (not │ │ │ +0003d870: 2028 6e75 6c6c 2070 6f73 2929 0a20 2020 (null pos)). │ │ │ +0003d880: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ +0003d890: 6c65 7420 2828 706f 7331 2028 2d20 706f let ((pos1 (- po │ │ │ +0003d8a0: 7320 286c 696e 652d 6265 6769 6e6e 696e s (line-beginnin │ │ │ +0003d8b0: 672d 706f 7369 7469 6f6e 2929 2929 0a20 g-position)))). │ │ │ 0003d8c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0003d8d0: 2020 2877 6865 6e20 286f 7220 286e 756c (when (or (nul │ │ │ -0003d8e0: 6c20 6d61 7829 2028 3c20 706f 7331 206d l max) (< pos1 m │ │ │ -0003d8f0: 6178 2929 0a20 2020 2020 2020 2020 2020 ax)). │ │ │ -0003d900: 2020 2020 2020 2020 2020 2028 636c 2d70 (cl-p │ │ │ -0003d910: 7573 686e 6577 2070 6f73 3120 7265 7375 ushnew pos1 resu │ │ │ -0003d920: 6c74 2929 2929 0a20 2020 2020 2020 2020 lt)))). │ │ │ -0003d930: 2020 2020 2020 2028 616e 6420 706f 730a (and pos. │ │ │ -0003d940: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0003d950: 2020 2020 2028 3c20 2870 6f69 6e74 2920 (< (point) │ │ │ -0003d960: 286c 696e 652d 656e 642d 706f 7369 7469 (line-end-positi │ │ │ -0003d970: 6f6e 2929 0a20 2020 2020 2020 2020 2020 on)). │ │ │ -0003d980: 2020 2020 2020 2020 2020 286f 7220 286e (or (n │ │ │ -0003d990: 756c 6c20 6d61 7829 2028 3c20 2863 7572 ull max) (< (cur │ │ │ -0003d9a0: 7265 6e74 2d63 6f6c 756d 6e29 206d 6178 rent-column) max │ │ │ -0003d9b0: 2929 2929 2929 0a20 2020 2020 2020 2028 )))))). ( │ │ │ -0003d9c0: 6e72 6576 6572 7365 2072 6573 756c 7429 nreverse result) │ │ │ -0003d9d0: 203b 2044 6573 7472 7563 7469 7665 206f ; Destructive o │ │ │ -0003d9e0: 7065 7261 7469 6f6e 2e0a 2020 2020 2020 peration.. │ │ │ -0003d9f0: 2020 2929 2929 0a0a 2864 6566 756e 2065 ))))..(defun e │ │ │ -0003da00: 7269 2d6e 6577 2d69 6e64 656e 7461 7469 ri-new-indentati │ │ │ -0003da10: 6f6e 2d70 6f69 6e74 7320 2829 0a20 2022 on-points (). " │ │ │ -0003da20: 4361 6c63 756c 6174 6520 6e65 7720 696e Calculate new in │ │ │ -0003da30: 6465 6e74 6174 696f 6e20 706f 696e 7473 dentation points │ │ │ -0003da40: 2e0a 5265 7475 726e 7320 6120 7369 6e67 ..Returns a sing │ │ │ -0003da50: 6c65 746f 6e20 6c69 7374 2063 6f6e 7461 leton list conta │ │ │ -0003da60: 696e 696e 6720 7468 6520 636f 6c75 6d6e ining the column │ │ │ -0003da70: 206e 756d 6265 7220 7477 6f20 7374 6570 number two step │ │ │ -0003da80: 730a 696e 2066 726f 6d20 7468 6520 696e s.in from the in │ │ │ -0003da90: 6465 6e74 6174 696f 6e20 6f66 2074 6865 dentation of the │ │ │ -0003daa0: 2066 6972 7374 206e 6f6e 2d65 6d70 7479 first non-empty │ │ │ -0003dab0: 206c 696e 6520 2877 6869 7465 2073 7061 line (white spa │ │ │ -0003dac0: 6365 0a65 7863 6c75 6465 6429 2061 626f ce.excluded) abo │ │ │ -0003dad0: 7665 2074 6865 2063 7572 7265 6e74 206c ve the current l │ │ │ -0003dae0: 696e 652e 2049 6620 7468 6572 6520 6973 ine. If there is │ │ │ -0003daf0: 206e 6f20 7375 6368 206c 696e 652c 0a74 no such line,.t │ │ │ -0003db00: 6865 6e20 7468 6520 656d 7074 7920 6c69 hen the empty li │ │ │ -0003db10: 7374 2069 7320 7265 7475 726e 6564 2e22 st is returned." │ │ │ -0003db20: 0a20 2028 6c65 7420 2828 7374 6172 7420 . (let ((start │ │ │ -0003db30: 286c 696e 652d 6265 6769 6e6e 696e 672d (line-beginning- │ │ │ -0003db40: 706f 7369 7469 6f6e 2929 290a 2020 2020 position))). │ │ │ -0003db50: 2873 6176 652d 6578 6375 7273 696f 6e0a (save-excursion. │ │ │ -0003db60: 2020 2020 2020 3b20 4669 6e64 2061 206e ; Find a n │ │ │ -0003db70: 6f6e 2d65 6d70 7479 206c 696e 6520 6162 on-empty line ab │ │ │ -0003db80: 6f76 6520 7468 6520 6375 7272 656e 7420 ove the current │ │ │ -0003db90: 6f6e 652c 2069 6620 616e 792e 0a20 2020 one, if any.. │ │ │ -0003dba0: 2020 2028 7768 696c 650a 2020 2020 2020 (while. │ │ │ -0003dbb0: 2020 2020 2870 726f 676e 0a20 2020 2020 (progn. │ │ │ -0003dbc0: 2020 2020 2020 2028 666f 7277 6172 642d (forward- │ │ │ -0003dbd0: 6c69 6e65 202d 3129 0a20 2020 2020 2020 line -1). │ │ │ -0003dbe0: 2020 2020 2028 6e6f 7420 286f 7220 2862 (not (or (b │ │ │ -0003dbf0: 6f62 7029 0a20 2020 2020 2020 2020 2020 obp). │ │ │ -0003dc00: 2020 2020 2020 2020 2020 286e 6f74 2028 (not ( │ │ │ -0003dc10: 6572 692d 6375 7272 656e 742d 6c69 6e65 eri-current-line │ │ │ -0003dc20: 2d65 6d70 7479 2929 2929 2929 0a20 2020 -empty)))))). │ │ │ -0003dc30: 2020 2028 6966 2028 6f72 2028 6571 7561 (if (or (equa │ │ │ -0003dc40: 6c20 2870 6f69 6e74 2920 7374 6172 7429 l (point) start) │ │ │ -0003dc50: 0a20 2020 2020 2020 2020 2020 2020 2028 . ( │ │ │ -0003dc60: 6572 692d 6375 7272 656e 742d 6c69 6e65 eri-current-line │ │ │ -0003dc70: 2d65 6d70 7479 2929 0a20 2020 2020 2020 -empty)). │ │ │ -0003dc80: 2020 206e 696c 0a20 2020 2020 2020 2028 nil. ( │ │ │ -0003dc90: 6c69 7374 2028 2b20 3220 2863 7572 7265 list (+ 2 (curre │ │ │ -0003dca0: 6e74 2d69 6e64 656e 7461 7469 6f6e 2929 nt-indentation)) │ │ │ -0003dcb0: 2929 2929 290a 0a28 6465 6675 6e20 6572 )))))..(defun er │ │ │ -0003dcc0: 692d 6361 6c63 756c 6174 652d 696e 6465 i-calculate-inde │ │ │ -0003dcd0: 6e74 6174 696f 6e2d 706f 696e 7473 2028 ntation-points ( │ │ │ -0003dce0: 7265 7665 7273 6529 0a20 2022 4361 6c63 reverse). "Calc │ │ │ -0003dcf0: 756c 6174 6520 706f 696e 7473 2075 7365 ulate points use │ │ │ -0003dd00: 6420 746f 2069 6e64 656e 7420 7468 6520 d to indent the │ │ │ -0003dd10: 6375 7272 656e 7420 6c69 6e65 2e0a 5468 current line..Th │ │ │ -0003dd20: 6520 706f 696e 7473 2061 7265 2067 6976 e points are giv │ │ │ -0003dd30: 656e 2069 6e20 7265 7665 7273 6520 6f72 en in reverse or │ │ │ -0003dd40: 6465 7220 6966 2052 4556 4552 5345 2069 der if REVERSE i │ │ │ -0003dd50: 7320 6e6f 6e2d 6e69 6c2e 2053 6565 0a60 s non-nil. See.` │ │ │ -0003dd60: 6572 692d 696e 6465 6e74 2720 666f 7220 eri-indent' for │ │ │ -0003dd70: 6120 6465 7363 7269 7074 696f 6e20 6f66 a description of │ │ │ -0003dd80: 2068 6f77 2074 6865 2069 6e64 656e 7461 how the indenta │ │ │ -0003dd90: 7469 6f6e 2070 6f69 6e74 7320 6172 650a tion points are. │ │ │ -0003dda0: 6361 6c63 756c 6174 6564 3b20 6e6f 7465 calculated; note │ │ │ -0003ddb0: 2074 6861 7420 7468 6520 6375 7272 656e that the curren │ │ │ -0003ddc0: 7420 696e 6465 6e74 6174 696f 6e20 6973 t indentation is │ │ │ -0003ddd0: 206e 6f74 2069 6e63 6c75 6465 6420 696e not included in │ │ │ -0003dde0: 0a74 6865 2072 6574 7572 6e65 6420 6c69 .the returned li │ │ │ -0003ddf0: 7374 2e22 0a20 203b 3b20 4669 7273 7420 st.". ;; First │ │ │ -0003de00: 6669 6e64 2061 2062 756e 6368 206f 6620 find a bunch of │ │ │ -0003de10: 696e 6465 6e74 6174 696f 6e73 2075 7365 indentations use │ │ │ -0003de20: 6420 6162 6f76 6520 7468 6520 6375 7272 d above the curr │ │ │ -0003de30: 656e 7420 6c69 6e65 2e0a 2020 286c 6574 ent line.. (let │ │ │ -0003de40: 2028 2870 6f69 6e74 7329 0a20 2020 2020 ((points). │ │ │ -0003de50: 2020 2028 6d61 7829 0a20 2020 2020 2020 (max). │ │ │ -0003de60: 2028 7374 6172 7420 286c 696e 652d 6265 (start (line-be │ │ │ -0003de70: 6769 6e6e 696e 672d 706f 7369 7469 6f6e ginning-position │ │ │ -0003de80: 2929 290a 2020 2020 2873 6176 652d 6578 ))). (save-ex │ │ │ -0003de90: 6375 7273 696f 6e0a 2020 2020 2020 2877 cursion. (w │ │ │ -0003dea0: 6869 6c65 0a20 2020 2020 2020 2020 2028 hile. ( │ │ │ -0003deb0: 7072 6f67 6e0a 2020 2020 2020 2020 2020 progn. │ │ │ -0003dec0: 2020 2866 6f72 7761 7264 2d6c 696e 6520 (forward-line │ │ │ -0003ded0: 2d31 290a 2020 2020 2020 2020 2020 2020 -1). │ │ │ -0003dee0: 3b20 536b 6970 2074 6865 206c 696e 6520 ; Skip the line │ │ │ -0003def0: 7765 2073 7461 7274 6564 2066 726f 6d20 we started from │ │ │ -0003df00: 616e 6420 6c69 6e65 7320 7769 7468 206e and lines with n │ │ │ -0003df10: 6f74 6869 6e67 2062 7574 0a20 2020 2020 othing but. │ │ │ -0003df20: 2020 2020 2020 203b 2077 6869 7465 2073 ; white s │ │ │ -0003df30: 7061 6365 2e0a 2020 2020 2020 2020 2020 pace.. │ │ │ -0003df40: 2020 2875 6e6c 6573 7320 286f 7220 2865 (unless (or (e │ │ │ -0003df50: 7175 616c 2028 706f 696e 7429 2073 7461 qual (point) sta │ │ │ -0003df60: 7274 290a 2020 2020 2020 2020 2020 2020 rt). │ │ │ -0003df70: 2020 2020 2020 2020 2020 2020 2865 7269 (eri │ │ │ -0003df80: 2d63 7572 7265 6e74 2d6c 696e 652d 656d -current-line-em │ │ │ -0003df90: 7074 7929 290a 2020 2020 2020 2020 2020 pty)). │ │ │ -0003dfa0: 2020 2020 2873 6574 7120 706f 696e 7473 (setq points │ │ │ -0003dfb0: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ -0003dfc0: 2020 2020 2028 6170 7065 6e64 0a20 2020 (append. │ │ │ +0003d8d0: 2020 2028 7768 656e 2028 6f72 2028 6e75 (when (or (nu │ │ │ +0003d8e0: 6c6c 206d 6178 2920 283c 2070 6f73 3120 ll max) (< pos1 │ │ │ +0003d8f0: 6d61 7829 290a 2020 2020 2020 2020 2020 max)). │ │ │ +0003d900: 2020 2020 2020 2020 2020 2020 2863 6c2d (cl- │ │ │ +0003d910: 7075 7368 6e65 7720 706f 7331 2072 6573 pushnew pos1 res │ │ │ +0003d920: 756c 7429 2929 290a 2020 2020 2020 2020 ult)))). │ │ │ +0003d930: 2020 2020 2020 2020 2861 6e64 2070 6f73 (and pos │ │ │ +0003d940: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ +0003d950: 2020 2020 2020 283c 2028 706f 696e 7429 (< (point) │ │ │ +0003d960: 2028 6c69 6e65 2d65 6e64 2d70 6f73 6974 (line-end-posit │ │ │ +0003d970: 696f 6e29 290a 2020 2020 2020 2020 2020 ion)). │ │ │ +0003d980: 2020 2020 2020 2020 2020 2028 6f72 2028 (or ( │ │ │ +0003d990: 6e75 6c6c 206d 6178 2920 283c 2028 6375 null max) (< (cu │ │ │ +0003d9a0: 7272 656e 742d 636f 6c75 6d6e 2920 6d61 rrent-column) ma │ │ │ +0003d9b0: 7829 2929 2929 290a 2020 2020 2020 2020 x)))))). │ │ │ +0003d9c0: 286e 7265 7665 7273 6520 7265 7375 6c74 (nreverse result │ │ │ +0003d9d0: 2920 3b20 4465 7374 7275 6374 6976 6520 ) ; Destructive │ │ │ +0003d9e0: 6f70 6572 6174 696f 6e2e 0a20 2020 2020 operation.. │ │ │ +0003d9f0: 2020 2029 2929 290a 0a28 6465 6675 6e20 ))))..(defun │ │ │ +0003da00: 6572 692d 6e65 772d 696e 6465 6e74 6174 eri-new-indentat │ │ │ +0003da10: 696f 6e2d 706f 696e 7473 2028 290a 2020 ion-points (). │ │ │ +0003da20: 2243 616c 6375 6c61 7465 206e 6577 2069 "Calculate new i │ │ │ +0003da30: 6e64 656e 7461 7469 6f6e 2070 6f69 6e74 ndentation point │ │ │ +0003da40: 732e 0a52 6574 7572 6e73 2061 2073 696e s..Returns a sin │ │ │ +0003da50: 676c 6574 6f6e 206c 6973 7420 636f 6e74 gleton list cont │ │ │ +0003da60: 6169 6e69 6e67 2074 6865 2063 6f6c 756d aining the colum │ │ │ +0003da70: 6e20 6e75 6d62 6572 2074 776f 2073 7465 n number two ste │ │ │ +0003da80: 7073 0a69 6e20 6672 6f6d 2074 6865 2069 ps.in from the i │ │ │ +0003da90: 6e64 656e 7461 7469 6f6e 206f 6620 7468 ndentation of th │ │ │ +0003daa0: 6520 6669 7273 7420 6e6f 6e2d 656d 7074 e first non-empt │ │ │ +0003dab0: 7920 6c69 6e65 2028 7768 6974 6520 7370 y line (white sp │ │ │ +0003dac0: 6163 650a 6578 636c 7564 6564 2920 6162 ace.excluded) ab │ │ │ +0003dad0: 6f76 6520 7468 6520 6375 7272 656e 7420 ove the current │ │ │ +0003dae0: 6c69 6e65 2e20 4966 2074 6865 7265 2069 line. If there i │ │ │ +0003daf0: 7320 6e6f 2073 7563 6820 6c69 6e65 2c0a s no such line,. │ │ │ +0003db00: 7468 656e 2074 6865 2065 6d70 7479 206c then the empty l │ │ │ +0003db10: 6973 7420 6973 2072 6574 7572 6e65 642e ist is returned. │ │ │ +0003db20: 220a 2020 286c 6574 2028 2873 7461 7274 ". (let ((start │ │ │ +0003db30: 2028 6c69 6e65 2d62 6567 696e 6e69 6e67 (line-beginning │ │ │ +0003db40: 2d70 6f73 6974 696f 6e29 2929 0a20 2020 -position))). │ │ │ +0003db50: 2028 7361 7665 2d65 7863 7572 7369 6f6e (save-excursion │ │ │ +0003db60: 0a20 2020 2020 203b 2046 696e 6420 6120 . ; Find a │ │ │ +0003db70: 6e6f 6e2d 656d 7074 7920 6c69 6e65 2061 non-empty line a │ │ │ +0003db80: 626f 7665 2074 6865 2063 7572 7265 6e74 bove the current │ │ │ +0003db90: 206f 6e65 2c20 6966 2061 6e79 2e0a 2020 one, if any.. │ │ │ +0003dba0: 2020 2020 2877 6869 6c65 0a20 2020 2020 (while. │ │ │ +0003dbb0: 2020 2020 2028 7072 6f67 6e0a 2020 2020 (progn. │ │ │ +0003dbc0: 2020 2020 2020 2020 2866 6f72 7761 7264 (forward │ │ │ +0003dbd0: 2d6c 696e 6520 2d31 290a 2020 2020 2020 -line -1). │ │ │ +0003dbe0: 2020 2020 2020 286e 6f74 2028 6f72 2028 (not (or ( │ │ │ +0003dbf0: 626f 6270 290a 2020 2020 2020 2020 2020 bobp). │ │ │ +0003dc00: 2020 2020 2020 2020 2020 2028 6e6f 7420 (not │ │ │ +0003dc10: 2865 7269 2d63 7572 7265 6e74 2d6c 696e (eri-current-lin │ │ │ +0003dc20: 652d 656d 7074 7929 2929 2929 290a 2020 e-empty)))))). │ │ │ +0003dc30: 2020 2020 2869 6620 286f 7220 2865 7175 (if (or (equ │ │ │ +0003dc40: 616c 2028 706f 696e 7429 2073 7461 7274 al (point) start │ │ │ +0003dc50: 290a 2020 2020 2020 2020 2020 2020 2020 ). │ │ │ +0003dc60: 2865 7269 2d63 7572 7265 6e74 2d6c 696e (eri-current-lin │ │ │ +0003dc70: 652d 656d 7074 7929 290a 2020 2020 2020 e-empty)). │ │ │ +0003dc80: 2020 2020 6e69 6c0a 2020 2020 2020 2020 nil. │ │ │ +0003dc90: 286c 6973 7420 282b 2032 2028 6375 7272 (list (+ 2 (curr │ │ │ +0003dca0: 656e 742d 696e 6465 6e74 6174 696f 6e29 ent-indentation) │ │ │ +0003dcb0: 2929 2929 2929 0a0a 2864 6566 756e 2065 ))))))..(defun e │ │ │ +0003dcc0: 7269 2d63 616c 6375 6c61 7465 2d69 6e64 ri-calculate-ind │ │ │ +0003dcd0: 656e 7461 7469 6f6e 2d70 6f69 6e74 7320 entation-points │ │ │ +0003dce0: 2872 6576 6572 7365 290a 2020 2243 616c (reverse). "Cal │ │ │ +0003dcf0: 6375 6c61 7465 2070 6f69 6e74 7320 7573 culate points us │ │ │ +0003dd00: 6564 2074 6f20 696e 6465 6e74 2074 6865 ed to indent the │ │ │ +0003dd10: 2063 7572 7265 6e74 206c 696e 652e 0a54 current line..T │ │ │ +0003dd20: 6865 2070 6f69 6e74 7320 6172 6520 6769 he points are gi │ │ │ +0003dd30: 7665 6e20 696e 2072 6576 6572 7365 206f ven in reverse o │ │ │ +0003dd40: 7264 6572 2069 6620 5245 5645 5253 4520 rder if REVERSE │ │ │ +0003dd50: 6973 206e 6f6e 2d6e 696c 2e20 5365 650a is non-nil. See. │ │ │ +0003dd60: 6065 7269 2d69 6e64 656e 7427 2066 6f72 `eri-indent' for │ │ │ +0003dd70: 2061 2064 6573 6372 6970 7469 6f6e 206f a description o │ │ │ +0003dd80: 6620 686f 7720 7468 6520 696e 6465 6e74 f how the indent │ │ │ +0003dd90: 6174 696f 6e20 706f 696e 7473 2061 7265 ation points are │ │ │ +0003dda0: 0a63 616c 6375 6c61 7465 643b 206e 6f74 .calculated; not │ │ │ +0003ddb0: 6520 7468 6174 2074 6865 2063 7572 7265 e that the curre │ │ │ +0003ddc0: 6e74 2069 6e64 656e 7461 7469 6f6e 2069 nt indentation i │ │ │ +0003ddd0: 7320 6e6f 7420 696e 636c 7564 6564 2069 s not included i │ │ │ +0003dde0: 6e0a 7468 6520 7265 7475 726e 6564 206c n.the returned l │ │ │ +0003ddf0: 6973 742e 220a 2020 3b3b 2046 6972 7374 ist.". ;; First │ │ │ +0003de00: 2066 696e 6420 6120 6275 6e63 6820 6f66 find a bunch of │ │ │ +0003de10: 2069 6e64 656e 7461 7469 6f6e 7320 7573 indentations us │ │ │ +0003de20: 6564 2061 626f 7665 2074 6865 2063 7572 ed above the cur │ │ │ +0003de30: 7265 6e74 206c 696e 652e 0a20 2028 6c65 rent line.. (le │ │ │ +0003de40: 7420 2828 706f 696e 7473 290a 2020 2020 t ((points). │ │ │ +0003de50: 2020 2020 286d 6178 290a 2020 2020 2020 (max). │ │ │ +0003de60: 2020 2873 7461 7274 2028 6c69 6e65 2d62 (start (line-b │ │ │ +0003de70: 6567 696e 6e69 6e67 2d70 6f73 6974 696f eginning-positio │ │ │ +0003de80: 6e29 2929 0a20 2020 2028 7361 7665 2d65 n))). (save-e │ │ │ +0003de90: 7863 7572 7369 6f6e 0a20 2020 2020 2028 xcursion. ( │ │ │ +0003dea0: 7768 696c 650a 2020 2020 2020 2020 2020 while. │ │ │ +0003deb0: 2870 726f 676e 0a20 2020 2020 2020 2020 (progn. │ │ │ +0003dec0: 2020 2028 666f 7277 6172 642d 6c69 6e65 (forward-line │ │ │ +0003ded0: 202d 3129 0a20 2020 2020 2020 2020 2020 -1). │ │ │ +0003dee0: 203b 2053 6b69 7020 7468 6520 6c69 6e65 ; Skip the line │ │ │ +0003def0: 2077 6520 7374 6172 7465 6420 6672 6f6d we started from │ │ │ +0003df00: 2061 6e64 206c 696e 6573 2077 6974 6820 and lines with │ │ │ +0003df10: 6e6f 7468 696e 6720 6275 740a 2020 2020 nothing but. │ │ │ +0003df20: 2020 2020 2020 2020 3b20 7768 6974 6520 ; white │ │ │ +0003df30: 7370 6163 652e 0a20 2020 2020 2020 2020 space.. │ │ │ +0003df40: 2020 2028 756e 6c65 7373 2028 6f72 2028 (unless (or ( │ │ │ +0003df50: 6571 7561 6c20 2870 6f69 6e74 2920 7374 equal (point) st │ │ │ +0003df60: 6172 7429 0a20 2020 2020 2020 2020 2020 art). │ │ │ +0003df70: 2020 2020 2020 2020 2020 2020 2028 6572 (er │ │ │ +0003df80: 692d 6375 7272 656e 742d 6c69 6e65 2d65 i-current-line-e │ │ │ +0003df90: 6d70 7479 2929 0a20 2020 2020 2020 2020 mpty)). │ │ │ +0003dfa0: 2020 2020 2028 7365 7471 2070 6f69 6e74 (setq point │ │ │ +0003dfb0: 730a 2020 2020 2020 2020 2020 2020 2020 s. │ │ │ +0003dfc0: 2020 2020 2020 2861 7070 656e 640a 2020 (append. │ │ │ 0003dfd0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0003dfe0: 2020 2865 7269 2d63 616c 6375 6c61 7465 (eri-calculate │ │ │ -0003dff0: 2d69 6e64 656e 7461 7469 6f6e 2d70 6f69 -indentation-poi │ │ │ -0003e000: 6e74 732d 6f6e 2d6c 696e 6520 6d61 7829 nts-on-line max) │ │ │ -0003e010: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ -0003e020: 2020 2020 2020 706f 696e 7473 2929 0a20 points)). │ │ │ -0003e030: 2020 2020 2020 2020 2020 2020 2028 7365 (se │ │ │ -0003e040: 7471 206d 6178 2028 6361 7220 706f 696e tq max (car poin │ │ │ -0003e050: 7473 2929 290a 2020 2020 2020 2020 2020 ts))). │ │ │ -0003e060: 2020 3b3b 2053 746f 7020 6166 7465 7220 ;; Stop after │ │ │ -0003e070: 6869 7474 696e 6720 7468 6520 6265 6769 hitting the begi │ │ │ -0003e080: 6e6e 696e 6720 6f66 2074 6865 2062 7566 nning of the buf │ │ │ -0003e090: 6665 7220 6f72 2061 0a20 2020 2020 2020 fer or a. │ │ │ -0003e0a0: 2020 2020 203b 3b20 6e6f 6e2d 656d 7074 ;; non-empt │ │ │ -0003e0b0: 792c 206e 6f6e 2d69 6e64 656e 7465 6420 y, non-indented │ │ │ -0003e0c0: 6c69 6e65 2e0a 2020 2020 2020 2020 2020 line.. │ │ │ -0003e0d0: 2020 286e 6f74 2028 6f72 2028 626f 6270 (not (or (bobp │ │ │ -0003e0e0: 290a 2020 2020 2020 2020 2020 2020 2020 ). │ │ │ -0003e0f0: 2020 2020 2020 2028 616e 6420 2865 7175 (and (equ │ │ │ -0003e100: 616c 2028 6375 7272 656e 742d 696e 6465 al (current-inde │ │ │ -0003e110: 6e74 6174 696f 6e29 2030 290a 2020 2020 ntation) 0). │ │ │ +0003dfe0: 2020 2028 6572 692d 6361 6c63 756c 6174 (eri-calculat │ │ │ +0003dff0: 652d 696e 6465 6e74 6174 696f 6e2d 706f e-indentation-po │ │ │ +0003e000: 696e 7473 2d6f 6e2d 6c69 6e65 206d 6178 ints-on-line max │ │ │ +0003e010: 290a 2020 2020 2020 2020 2020 2020 2020 ). │ │ │ +0003e020: 2020 2020 2020 2070 6f69 6e74 7329 290a points)). │ │ │ +0003e030: 2020 2020 2020 2020 2020 2020 2020 2873 (s │ │ │ +0003e040: 6574 7120 6d61 7820 2863 6172 2070 6f69 etq max (car poi │ │ │ +0003e050: 6e74 7329 2929 0a20 2020 2020 2020 2020 nts))). │ │ │ +0003e060: 2020 203b 3b20 5374 6f70 2061 6674 6572 ;; Stop after │ │ │ +0003e070: 2068 6974 7469 6e67 2074 6865 2062 6567 hitting the beg │ │ │ +0003e080: 696e 6e69 6e67 206f 6620 7468 6520 6275 inning of the bu │ │ │ +0003e090: 6666 6572 206f 7220 610a 2020 2020 2020 ffer or a. │ │ │ +0003e0a0: 2020 2020 2020 3b3b 206e 6f6e 2d65 6d70 ;; non-emp │ │ │ +0003e0b0: 7479 2c20 6e6f 6e2d 696e 6465 6e74 6564 ty, non-indented │ │ │ +0003e0c0: 206c 696e 652e 0a20 2020 2020 2020 2020 line.. │ │ │ +0003e0d0: 2020 2028 6e6f 7420 286f 7220 2862 6f62 (not (or (bob │ │ │ +0003e0e0: 7029 0a20 2020 2020 2020 2020 2020 2020 p). │ │ │ +0003e0f0: 2020 2020 2020 2020 2861 6e64 2028 6571 (and (eq │ │ │ +0003e100: 7561 6c20 2863 7572 7265 6e74 2d69 6e64 ual (current-ind │ │ │ +0003e110: 656e 7461 7469 6f6e 2920 3029 0a20 2020 entation) 0). │ │ │ 0003e120: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0003e130: 2020 2020 2020 283e 2028 6572 692d 6375 (> (eri-cu │ │ │ -0003e140: 7272 656e 742d 6c69 6e65 2d6c 656e 6774 rrent-line-lengt │ │ │ -0003e150: 6829 2030 2929 2929 2929 290a 2020 2020 h) 0))))))). │ │ │ -0003e160: 3b3b 2041 6464 206e 6577 2069 6e64 656e ;; Add new inden │ │ │ -0003e170: 7461 7469 6f6e 2070 6f69 6e74 732c 2062 tation points, b │ │ │ -0003e180: 7574 2072 656d 6f76 6520 7468 6520 6375 ut remove the cu │ │ │ -0003e190: 7272 656e 7420 696e 6465 6e74 6174 696f rrent indentatio │ │ │ -0003e1a0: 6e2e 0a20 2020 203b 3b20 536f 7274 2074 n.. ;; Sort t │ │ │ -0003e1b0: 6865 2069 6e64 656e 7461 7469 6f6e 732e he indentations. │ │ │ -0003e1c0: 2052 6561 7272 616e 6765 2074 6865 2070 Rearrange the p │ │ │ -0003e1d0: 6f69 6e74 7320 736f 2074 6861 7420 7468 oints so that th │ │ │ -0003e1e0: 6520 6e65 7874 0a20 2020 203b 3b20 706f e next. ;; po │ │ │ -0003e1f0: 696e 7420 6973 2074 6865 206f 6e65 2061 int is the one a │ │ │ -0003e200: 6674 6572 2074 6865 2063 7572 7265 6e74 fter the current │ │ │ -0003e210: 206f 6e65 2e20 5265 7665 7273 6520 6966 one. Reverse if │ │ │ -0003e220: 206e 6563 6573 7361 7279 2e0a 2020 2020 necessary.. │ │ │ -0003e230: 3b3b 0a20 2020 203b 3b20 4e6f 7465 3a20 ;;. ;; Note: │ │ │ -0003e240: 736f 7274 2061 6e64 206e 7265 7665 7273 sort and nrevers │ │ │ -0003e250: 6520 6172 6520 6465 7374 7275 6374 6976 e are destructiv │ │ │ -0003e260: 652e 0a20 2020 2028 6c65 742a 2028 2870 e.. (let* ((p │ │ │ -0003e270: 7330 2028 7265 6d6f 7665 2028 6375 7272 s0 (remove (curr │ │ │ -0003e280: 656e 742d 696e 6465 6e74 6174 696f 6e29 ent-indentation) │ │ │ -0003e290: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ -0003e2a0: 2020 2020 2020 2020 2028 6170 7065 6e64 (append │ │ │ -0003e2b0: 2028 6572 692d 6e65 772d 696e 6465 6e74 (eri-new-indent │ │ │ -0003e2c0: 6174 696f 6e2d 706f 696e 7473 2920 706f ation-points) po │ │ │ -0003e2d0: 696e 7473 2929 290a 2020 2020 2020 2020 ints))). │ │ │ -0003e2e0: 2020 2028 7073 3120 2865 7269 2d73 706c (ps1 (eri-spl │ │ │ -0003e2f0: 6974 2028 6375 7272 656e 742d 696e 6465 it (current-inde │ │ │ -0003e300: 6e74 6174 696f 6e29 2028 736f 7274 2070 ntation) (sort p │ │ │ -0003e310: 7330 2027 3c29 2929 0a20 2020 2020 2020 s0 '<))). │ │ │ -0003e320: 2020 2020 2870 7332 2028 6170 7065 6e64 (ps2 (append │ │ │ -0003e330: 2028 6364 7220 7073 3129 2028 6361 7220 (cdr ps1) (car │ │ │ -0003e340: 7073 3129 2929 290a 2020 2020 2020 2869 ps1)))). (i │ │ │ -0003e350: 6620 7265 7665 7273 650a 2020 2020 2020 f reverse. │ │ │ -0003e360: 2020 2020 286e 7265 7665 7273 6520 7073 (nreverse ps │ │ │ -0003e370: 3229 0a20 2020 2020 2020 2070 7332 2929 2). ps2)) │ │ │ -0003e380: 2929 0a0a 2864 6566 756e 2065 7269 2d69 ))..(defun eri-i │ │ │ -0003e390: 6e64 656e 7420 2826 6f70 7469 6f6e 616c ndent (&optional │ │ │ -0003e3a0: 2072 6576 6572 7365 290a 2020 2243 7963 reverse). "Cyc │ │ │ -0003e3b0: 6c65 2062 6574 7765 656e 2073 6f6d 6520 le between some │ │ │ -0003e3c0: 706f 7373 6962 6c65 2069 6e64 656e 7461 possible indenta │ │ │ -0003e3d0: 7469 6f6e 2070 6f69 6e74 732e 0a57 6974 tion points..Wit │ │ │ -0003e3e0: 6820 7072 6566 6978 2061 7267 756d 656e h prefix argumen │ │ │ -0003e3f0: 7420 5245 5645 5253 452c 2063 7963 6c65 t REVERSE, cycle │ │ │ -0003e400: 2069 6e20 7265 7665 7273 6520 6f72 6465 in reverse orde │ │ │ -0003e410: 722e 0a0a 4173 7375 6d65 2074 6861 7420 r...Assume that │ │ │ -0003e420: 6120 6669 6c65 2063 6f6e 7461 696e 7320 a file contains │ │ │ -0003e430: 7468 6520 666f 6c6c 6f77 696e 6720 6c69 the following li │ │ │ -0003e440: 6e65 7320 6f66 2063 6f64 652c 2077 6974 nes of code, wit │ │ │ -0003e450: 680a 706f 696e 7420 6f6e 2074 6865 206c h.point on the l │ │ │ -0003e460: 696e 6520 7769 7468 2074 6872 6565 2064 ine with three d │ │ │ -0003e470: 6f74 733a 0a0a 6672 6f62 203d 206c 6f6f ots:..frob = loo │ │ │ +0003e130: 2020 2020 2020 2028 3e20 2865 7269 2d63 (> (eri-c │ │ │ +0003e140: 7572 7265 6e74 2d6c 696e 652d 6c65 6e67 urrent-line-leng │ │ │ +0003e150: 7468 2920 3029 2929 2929 2929 0a20 2020 th) 0))))))). │ │ │ +0003e160: 203b 3b20 4164 6420 6e65 7720 696e 6465 ;; Add new inde │ │ │ +0003e170: 6e74 6174 696f 6e20 706f 696e 7473 2c20 ntation points, │ │ │ +0003e180: 6275 7420 7265 6d6f 7665 2074 6865 2063 but remove the c │ │ │ +0003e190: 7572 7265 6e74 2069 6e64 656e 7461 7469 urrent indentati │ │ │ +0003e1a0: 6f6e 2e0a 2020 2020 3b3b 2053 6f72 7420 on.. ;; Sort │ │ │ +0003e1b0: 7468 6520 696e 6465 6e74 6174 696f 6e73 the indentations │ │ │ +0003e1c0: 2e20 5265 6172 7261 6e67 6520 7468 6520 . Rearrange the │ │ │ +0003e1d0: 706f 696e 7473 2073 6f20 7468 6174 2074 points so that t │ │ │ +0003e1e0: 6865 206e 6578 740a 2020 2020 3b3b 2070 he next. ;; p │ │ │ +0003e1f0: 6f69 6e74 2069 7320 7468 6520 6f6e 6520 oint is the one │ │ │ +0003e200: 6166 7465 7220 7468 6520 6375 7272 656e after the curren │ │ │ +0003e210: 7420 6f6e 652e 2052 6576 6572 7365 2069 t one. Reverse i │ │ │ +0003e220: 6620 6e65 6365 7373 6172 792e 0a20 2020 f necessary.. │ │ │ +0003e230: 203b 3b0a 2020 2020 3b3b 204e 6f74 653a ;;. ;; Note: │ │ │ +0003e240: 2073 6f72 7420 616e 6420 6e72 6576 6572 sort and nrever │ │ │ +0003e250: 7365 2061 7265 2064 6573 7472 7563 7469 se are destructi │ │ │ +0003e260: 7665 2e0a 2020 2020 286c 6574 2a20 2828 ve.. (let* (( │ │ │ +0003e270: 7073 3020 2872 656d 6f76 6520 2863 7572 ps0 (remove (cur │ │ │ +0003e280: 7265 6e74 2d69 6e64 656e 7461 7469 6f6e rent-indentation │ │ │ +0003e290: 290a 2020 2020 2020 2020 2020 2020 2020 ). │ │ │ +0003e2a0: 2020 2020 2020 2020 2020 2861 7070 656e (appen │ │ │ +0003e2b0: 6420 2865 7269 2d6e 6577 2d69 6e64 656e d (eri-new-inden │ │ │ +0003e2c0: 7461 7469 6f6e 2d70 6f69 6e74 7329 2070 tation-points) p │ │ │ +0003e2d0: 6f69 6e74 7329 2929 0a20 2020 2020 2020 oints))). │ │ │ +0003e2e0: 2020 2020 2870 7331 2028 6572 692d 7370 (ps1 (eri-sp │ │ │ +0003e2f0: 6c69 7420 2863 7572 7265 6e74 2d69 6e64 lit (current-ind │ │ │ +0003e300: 656e 7461 7469 6f6e 2920 2873 6f72 7420 entation) (sort │ │ │ +0003e310: 7073 3020 273c 2929 290a 2020 2020 2020 ps0 '<))). │ │ │ +0003e320: 2020 2020 2028 7073 3220 2861 7070 656e (ps2 (appen │ │ │ +0003e330: 6420 2863 6472 2070 7331 2920 2863 6172 d (cdr ps1) (car │ │ │ +0003e340: 2070 7331 2929 2929 0a20 2020 2020 2028 ps1)))). ( │ │ │ +0003e350: 6966 2072 6576 6572 7365 0a20 2020 2020 if reverse. │ │ │ +0003e360: 2020 2020 2028 6e72 6576 6572 7365 2070 (nreverse p │ │ │ +0003e370: 7332 290a 2020 2020 2020 2020 7073 3229 s2). ps2) │ │ │ +0003e380: 2929 290a 0a28 6465 6675 6e20 6572 692d )))..(defun eri- │ │ │ +0003e390: 696e 6465 6e74 2028 266f 7074 696f 6e61 indent (&optiona │ │ │ +0003e3a0: 6c20 7265 7665 7273 6529 0a20 2022 4379 l reverse). "Cy │ │ │ +0003e3b0: 636c 6520 6265 7477 6565 6e20 736f 6d65 cle between some │ │ │ +0003e3c0: 2070 6f73 7369 626c 6520 696e 6465 6e74 possible indent │ │ │ +0003e3d0: 6174 696f 6e20 706f 696e 7473 2e0a 5769 ation points..Wi │ │ │ +0003e3e0: 7468 2070 7265 6669 7820 6172 6775 6d65 th prefix argume │ │ │ +0003e3f0: 6e74 2052 4556 4552 5345 2c20 6379 636c nt REVERSE, cycl │ │ │ +0003e400: 6520 696e 2072 6576 6572 7365 206f 7264 e in reverse ord │ │ │ +0003e410: 6572 2e0a 0a41 7373 756d 6520 7468 6174 er...Assume that │ │ │ +0003e420: 2061 2066 696c 6520 636f 6e74 6169 6e73 a file contains │ │ │ +0003e430: 2074 6865 2066 6f6c 6c6f 7769 6e67 206c the following l │ │ │ +0003e440: 696e 6573 206f 6620 636f 6465 2c20 7769 ines of code, wi │ │ │ +0003e450: 7468 0a70 6f69 6e74 206f 6e20 7468 6520 th.point on the │ │ │ +0003e460: 6c69 6e65 2077 6974 6820 7468 7265 6520 line with three │ │ │ +0003e470: 646f 7473 3a0a 0a66 726f 6220 3d20 6c6f dots:..frob = lo │ │ │ 0003e480: 6f6f 6f6f 6f6f 6f6f 6f6f 6f6f 6f6f 6f6f oooooooooooooooo │ │ │ -0003e490: 6f6f 6f6f 6f6f 6f6f 6e67 2069 6465 6e74 oooooooong ident │ │ │ -0003e4a0: 6966 6965 720a 666f 6f20 3d20 6620 6120 ifier.foo = f a │ │ │ -0003e4b0: 620a 2020 7768 6572 650a 2020 2020 6620 b. where. f │ │ │ -0003e4c0: 2846 6f6f 2078 2920 7920 3d20 6c65 7420 (Foo x) y = let │ │ │ -0003e4d0: 6261 7220 3d20 780a 2020 2020 2020 2020 bar = x. │ │ │ -0003e4e0: 2020 2020 2020 2020 2020 2020 2020 6261 ba │ │ │ -0003e4f0: 7a20 3d20 3320 2b20 350a 0a2e 2e2e 0a0a z = 3 + 5....... │ │ │ -0003e500: 5e20 5e20 5e20 5e20 2020 205e 2020 5e20 ^ ^ ^ ^ ^ ^ │ │ │ -0003e510: 5e20 5e20 2020 5e20 2a20 5e20 5e20 5e20 ^ ^ ^ * ^ ^ ^ │ │ │ -0003e520: 5e0a 0a54 6865 6e20 7468 6520 5e27 7320 ^..Then the ^'s │ │ │ -0003e530: 616e 6420 7468 6520 2a20 6d61 726b 2074 and the * mark t │ │ │ -0003e540: 6865 2069 6e64 656e 7461 7469 6f6e 2070 he indentation p │ │ │ -0003e550: 6f69 6e74 7320 7468 6174 2074 6869 730a oints that this. │ │ │ -0003e560: 6675 6e63 7469 6f6e 2063 7963 6c65 7320 function cycles │ │ │ -0003e570: 7468 726f 7567 682e 2054 6865 2069 6e64 through. The ind │ │ │ -0003e580: 656e 7461 7469 6f6e 2070 6f69 6e74 7320 entation points │ │ │ -0003e590: 6172 6520 7365 6c65 6374 6564 2061 730a are selected as. │ │ │ -0003e5a0: 666f 6c6c 6f77 733a 0a0a 2020 2a20 416c follows:.. * Al │ │ │ -0003e5b0: 6c20 6c69 6e65 7320 6265 666f 7265 2074 l lines before t │ │ │ -0003e5c0: 6865 2063 7572 7265 6e74 206f 6e65 2c20 he current one, │ │ │ -0003e5d0: 7570 2074 6f20 616e 6420 696e 636c 7564 up to and includ │ │ │ -0003e5e0: 696e 6720 7468 650a 2020 2020 6669 7273 ing the. firs │ │ │ -0003e5f0: 7420 6e6f 6e2d 696e 6465 6e74 6564 206c t non-indented l │ │ │ -0003e600: 696e 6520 286f 7220 7468 6520 6265 6769 ine (or the begi │ │ │ -0003e610: 6e6e 696e 6720 6f66 2074 6865 2062 7566 nning of the buf │ │ │ -0003e620: 6665 7229 2061 7265 0a20 2020 2063 6f6e fer) are. con │ │ │ -0003e630: 7369 6465 7265 642e 0a0a 2020 2020 2020 sidered... │ │ │ -0003e640: 666f 6f20 3d20 6620 6120 620a 2020 2020 foo = f a b. │ │ │ -0003e650: 2020 2020 7768 6572 650a 2020 2020 2020 where. │ │ │ -0003e660: 2020 2020 6620 2846 6f6f 2078 2920 7920 f (Foo x) y │ │ │ -0003e670: 3d20 6c65 7420 6261 7220 3d20 780a 2020 = let bar = x. │ │ │ +0003e490: 6f6f 6f6f 6f6f 6f6f 6f6e 6720 6964 656e ooooooooong iden │ │ │ +0003e4a0: 7469 6669 6572 0a66 6f6f 203d 2066 2061 tifier.foo = f a │ │ │ +0003e4b0: 2062 0a20 2077 6865 7265 0a20 2020 2066 b. where. f │ │ │ +0003e4c0: 2028 466f 6f20 7829 2079 203d 206c 6574 (Foo x) y = let │ │ │ +0003e4d0: 2062 6172 203d 2078 0a20 2020 2020 2020 bar = x. │ │ │ +0003e4e0: 2020 2020 2020 2020 2020 2020 2020 2062 b │ │ │ +0003e4f0: 617a 203d 2033 202b 2035 0a0a 2e2e 2e0a az = 3 + 5...... │ │ │ +0003e500: 0a5e 205e 205e 205e 2020 2020 5e20 205e .^ ^ ^ ^ ^ ^ │ │ │ +0003e510: 205e 205e 2020 205e 202a 205e 205e 205e ^ ^ ^ * ^ ^ ^ │ │ │ +0003e520: 205e 0a0a 5468 656e 2074 6865 205e 2773 ^..Then the ^'s │ │ │ +0003e530: 2061 6e64 2074 6865 202a 206d 6172 6b20 and the * mark │ │ │ +0003e540: 7468 6520 696e 6465 6e74 6174 696f 6e20 the indentation │ │ │ +0003e550: 706f 696e 7473 2074 6861 7420 7468 6973 points that this │ │ │ +0003e560: 0a66 756e 6374 696f 6e20 6379 636c 6573 .function cycles │ │ │ +0003e570: 2074 6872 6f75 6768 2e20 5468 6520 696e through. The in │ │ │ +0003e580: 6465 6e74 6174 696f 6e20 706f 696e 7473 dentation points │ │ │ +0003e590: 2061 7265 2073 656c 6563 7465 6420 6173 are selected as │ │ │ +0003e5a0: 0a66 6f6c 6c6f 7773 3a0a 0a20 202a 2041 .follows:.. * A │ │ │ +0003e5b0: 6c6c 206c 696e 6573 2062 6566 6f72 6520 ll lines before │ │ │ +0003e5c0: 7468 6520 6375 7272 656e 7420 6f6e 652c the current one, │ │ │ +0003e5d0: 2075 7020 746f 2061 6e64 2069 6e63 6c75 up to and inclu │ │ │ +0003e5e0: 6469 6e67 2074 6865 0a20 2020 2066 6972 ding the. fir │ │ │ +0003e5f0: 7374 206e 6f6e 2d69 6e64 656e 7465 6420 st non-indented │ │ │ +0003e600: 6c69 6e65 2028 6f72 2074 6865 2062 6567 line (or the beg │ │ │ +0003e610: 696e 6e69 6e67 206f 6620 7468 6520 6275 inning of the bu │ │ │ +0003e620: 6666 6572 2920 6172 650a 2020 2020 636f ffer) are. co │ │ │ +0003e630: 6e73 6964 6572 6564 2e0a 0a20 2020 2020 nsidered... │ │ │ +0003e640: 2066 6f6f 203d 2066 2061 2062 0a20 2020 foo = f a b. │ │ │ +0003e650: 2020 2020 2077 6865 7265 0a20 2020 2020 where. │ │ │ +0003e660: 2020 2020 2066 2028 466f 6f20 7829 2079 f (Foo x) y │ │ │ +0003e670: 203d 206c 6574 2062 6172 203d 2078 0a20 = let bar = x. │ │ │ 0003e680: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0003e690: 2020 2020 2020 2020 2020 6261 7a20 3d20 baz = │ │ │ -0003e6a0: 3320 2b20 350a 0a20 202a 204f 6e20 7468 3 + 5.. * On th │ │ │ -0003e6b0: 6573 6520 6c69 6e65 732c 2065 7261 7365 ese lines, erase │ │ │ -0003e6c0: 2061 6c6c 2063 6861 7261 6374 6572 7320 all characters │ │ │ -0003e6d0: 7468 6174 2073 7461 6e64 2074 6f20 7468 that stand to th │ │ │ -0003e6e0: 6520 7269 6768 740a 2020 2020 6f66 2073 e right. of s │ │ │ -0003e6f0: 6f6d 6520 6e6f 6e2d 7768 6974 6520 7370 ome non-white sp │ │ │ -0003e700: 6163 6520 6368 6172 6163 7465 7220 6f6e ace character on │ │ │ -0003e710: 2061 206c 6f77 6572 206c 696e 652e 0a0a a lower line... │ │ │ -0003e720: 2020 2020 2020 666f 6f0a 2020 2020 2020 foo. │ │ │ -0003e730: 2020 7768 650a 2020 2020 2020 2020 2020 whe. │ │ │ -0003e740: 6620 2846 6f6f 2078 2920 7920 3d20 6c65 f (Foo x) y = le │ │ │ -0003e750: 7420 620a 2020 2020 2020 2020 2020 2020 t b. │ │ │ +0003e690: 2020 2020 2020 2020 2020 2062 617a 203d baz = │ │ │ +0003e6a0: 2033 202b 2035 0a0a 2020 2a20 4f6e 2074 3 + 5.. * On t │ │ │ +0003e6b0: 6865 7365 206c 696e 6573 2c20 6572 6173 hese lines, eras │ │ │ +0003e6c0: 6520 616c 6c20 6368 6172 6163 7465 7273 e all characters │ │ │ +0003e6d0: 2074 6861 7420 7374 616e 6420 746f 2074 that stand to t │ │ │ +0003e6e0: 6865 2072 6967 6874 0a20 2020 206f 6620 he right. of │ │ │ +0003e6f0: 736f 6d65 206e 6f6e 2d77 6869 7465 2073 some non-white s │ │ │ +0003e700: 7061 6365 2063 6861 7261 6374 6572 206f pace character o │ │ │ +0003e710: 6e20 6120 6c6f 7765 7220 6c69 6e65 2e0a n a lower line.. │ │ │ +0003e720: 0a20 2020 2020 2066 6f6f 0a20 2020 2020 . foo. │ │ │ +0003e730: 2020 2077 6865 0a20 2020 2020 2020 2020 whe. │ │ │ +0003e740: 2066 2028 466f 6f20 7829 2079 203d 206c f (Foo x) y = l │ │ │ +0003e750: 6574 2062 0a20 2020 2020 2020 2020 2020 et b. │ │ │ 0003e760: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0003e770: 6261 7a20 3d20 3320 2b20 350a 0a20 202a baz = 3 + 5.. * │ │ │ -0003e780: 2041 6c73 6f20 6572 6173 6520 616c 6c20 Also erase all │ │ │ -0003e790: 6368 6172 6163 7465 7273 206e 6f74 2069 characters not i │ │ │ -0003e7a0: 6d6d 6564 6961 7465 6c79 2070 7265 6365 mmediately prece │ │ │ -0003e7b0: 6465 6420 6279 2077 6869 7465 0a20 2020 ded by white. │ │ │ -0003e7c0: 2073 7061 6365 2e0a 0a20 2020 2020 2066 space... f │ │ │ -0003e7d0: 0a20 2020 2020 2020 2077 0a20 2020 2020 . w. │ │ │ -0003e7e0: 2020 2020 2066 2028 2020 2020 7820 2079 f ( x y │ │ │ -0003e7f0: 203d 206c 2020 2062 0a20 2020 2020 2020 = l b. │ │ │ +0003e770: 2062 617a 203d 2033 202b 2035 0a0a 2020 baz = 3 + 5.. │ │ │ +0003e780: 2a20 416c 736f 2065 7261 7365 2061 6c6c * Also erase all │ │ │ +0003e790: 2063 6861 7261 6374 6572 7320 6e6f 7420 characters not │ │ │ +0003e7a0: 696d 6d65 6469 6174 656c 7920 7072 6563 immediately prec │ │ │ +0003e7b0: 6564 6564 2062 7920 7768 6974 650a 2020 eded by white. │ │ │ +0003e7c0: 2020 7370 6163 652e 0a0a 2020 2020 2020 space... │ │ │ +0003e7d0: 660a 2020 2020 2020 2020 770a 2020 2020 f. w. │ │ │ +0003e7e0: 2020 2020 2020 6620 2820 2020 2078 2020 f ( x │ │ │ +0003e7f0: 7920 3d20 6c20 2020 620a 2020 2020 2020 y = l b. │ │ │ 0003e800: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0003e810: 2020 2020 2062 2020 203d 2033 202b 2035 b = 3 + 5 │ │ │ -0003e820: 0a0a 2020 2a20 5468 6520 636f 6c75 6d6e .. * The column │ │ │ -0003e830: 7320 6f66 2061 6c6c 2072 656d 6169 6e69 s of all remaini │ │ │ -0003e840: 6e67 2063 6861 7261 6374 6572 7320 6172 ng characters ar │ │ │ -0003e850: 6520 696e 6465 6e74 6174 696f 6e0a 2020 e indentation. │ │ │ -0003e860: 2020 706f 696e 7473 2e0a 0a20 2020 2020 points... │ │ │ -0003e870: 2066 2077 2066 2028 2020 2020 7820 2079 f w f ( x y │ │ │ -0003e880: 203d 206c 2020 2062 2020 203d 2033 202b = l b = 3 + │ │ │ -0003e890: 2035 0a20 2020 2020 205e 205e 205e 205e 5. ^ ^ ^ ^ │ │ │ -0003e8a0: 2020 2020 5e20 205e 205e 205e 2020 205e ^ ^ ^ ^ ^ │ │ │ -0003e8b0: 2020 205e 205e 205e 205e 0a0a 2020 2a20 ^ ^ ^ ^.. * │ │ │ -0003e8c0: 4120 6e65 7720 696e 6465 6e74 6174 696f A new indentatio │ │ │ -0003e8d0: 6e20 706f 696e 7420 6973 2061 6c73 6f20 n point is also │ │ │ -0003e8e0: 6164 6465 642c 2074 776f 2073 7465 7073 added, two steps │ │ │ -0003e8f0: 2069 6e20 6672 6f6d 2074 6865 0a20 2020 in from the. │ │ │ -0003e900: 2069 6e64 656e 7461 7469 6f6e 206f 6620 indentation of │ │ │ -0003e910: 7468 6520 6669 7273 7420 6e6f 6e2d 656d the first non-em │ │ │ -0003e920: 7074 7920 6c69 6e65 2028 7768 6974 6520 pty line (white │ │ │ -0003e930: 7370 6163 650a 2020 2020 6578 636c 7564 space. exclud │ │ │ -0003e940: 6564 2920 6162 6f76 6520 7468 6520 6375 ed) above the cu │ │ │ -0003e950: 7272 656e 7420 6c69 6e65 2028 6966 2074 rrent line (if t │ │ │ -0003e960: 6865 7265 2069 7320 7375 6368 2061 206c here is such a l │ │ │ -0003e970: 696e 6529 2e0a 0a20 2020 2020 2066 2077 ine)... f w │ │ │ -0003e980: 2066 2028 2020 2020 7820 2079 203d 206c f ( x y = l │ │ │ -0003e990: 2020 2062 2020 203d 2033 202b 2035 0a20 b = 3 + 5. │ │ │ -0003e9a0: 2020 2020 205e 205e 205e 205e 2020 2020 ^ ^ ^ ^ │ │ │ -0003e9b0: 5e20 205e 205e 205e 2020 205e 202a 205e ^ ^ ^ ^ ^ * ^ │ │ │ -0003e9c0: 205e 205e 205e 220a 2020 2869 6e74 6572 ^ ^ ^". (inter │ │ │ -0003e9d0: 6163 7469 7665 2022 5022 290a 2020 286c active "P"). (l │ │ │ -0003e9e0: 6574 2a20 2828 706f 696e 7473 2028 6572 et* ((points (er │ │ │ -0003e9f0: 692d 6361 6c63 756c 6174 652d 696e 6465 i-calculate-inde │ │ │ -0003ea00: 6e74 6174 696f 6e2d 706f 696e 7473 2072 ntation-points r │ │ │ -0003ea10: 6576 6572 7365 2929 0a20 2020 2020 2020 everse)). │ │ │ -0003ea20: 2020 2872 656d 6169 6e69 6e67 2d70 6f69 (remaining-poi │ │ │ -0003ea30: 6e74 7320 2863 6472 2028 6d65 6d62 6572 nts (cdr (member │ │ │ -0003ea40: 2028 6375 7272 656e 742d 696e 6465 6e74 (current-indent │ │ │ -0003ea50: 6174 696f 6e29 2070 6f69 6e74 7329 2929 ation) points))) │ │ │ -0003ea60: 0a20 2020 2020 2020 2020 2869 6e64 656e . (inden │ │ │ -0003ea70: 7461 7469 6f6e 2028 6966 2072 656d 6169 tation (if remai │ │ │ -0003ea80: 6e69 6e67 2d70 6f69 6e74 730a 2020 2020 ning-points. │ │ │ +0003e810: 2020 2020 2020 6220 2020 3d20 3320 2b20 b = 3 + │ │ │ +0003e820: 350a 0a20 202a 2054 6865 2063 6f6c 756d 5.. * The colum │ │ │ +0003e830: 6e73 206f 6620 616c 6c20 7265 6d61 696e ns of all remain │ │ │ +0003e840: 696e 6720 6368 6172 6163 7465 7273 2061 ing characters a │ │ │ +0003e850: 7265 2069 6e64 656e 7461 7469 6f6e 0a20 re indentation. │ │ │ +0003e860: 2020 2070 6f69 6e74 732e 0a0a 2020 2020 points... │ │ │ +0003e870: 2020 6620 7720 6620 2820 2020 2078 2020 f w f ( x │ │ │ +0003e880: 7920 3d20 6c20 2020 6220 2020 3d20 3320 y = l b = 3 │ │ │ +0003e890: 2b20 350a 2020 2020 2020 5e20 5e20 5e20 + 5. ^ ^ ^ │ │ │ +0003e8a0: 5e20 2020 205e 2020 5e20 5e20 5e20 2020 ^ ^ ^ ^ ^ │ │ │ +0003e8b0: 5e20 2020 5e20 5e20 5e20 5e0a 0a20 202a ^ ^ ^ ^ ^.. * │ │ │ +0003e8c0: 2041 206e 6577 2069 6e64 656e 7461 7469 A new indentati │ │ │ +0003e8d0: 6f6e 2070 6f69 6e74 2069 7320 616c 736f on point is also │ │ │ +0003e8e0: 2061 6464 6564 2c20 7477 6f20 7374 6570 added, two step │ │ │ +0003e8f0: 7320 696e 2066 726f 6d20 7468 650a 2020 s in from the. │ │ │ +0003e900: 2020 696e 6465 6e74 6174 696f 6e20 6f66 indentation of │ │ │ +0003e910: 2074 6865 2066 6972 7374 206e 6f6e 2d65 the first non-e │ │ │ +0003e920: 6d70 7479 206c 696e 6520 2877 6869 7465 mpty line (white │ │ │ +0003e930: 2073 7061 6365 0a20 2020 2065 7863 6c75 space. exclu │ │ │ +0003e940: 6465 6429 2061 626f 7665 2074 6865 2063 ded) above the c │ │ │ +0003e950: 7572 7265 6e74 206c 696e 6520 2869 6620 urrent line (if │ │ │ +0003e960: 7468 6572 6520 6973 2073 7563 6820 6120 there is such a │ │ │ +0003e970: 6c69 6e65 292e 0a0a 2020 2020 2020 6620 line)... f │ │ │ +0003e980: 7720 6620 2820 2020 2078 2020 7920 3d20 w f ( x y = │ │ │ +0003e990: 6c20 2020 6220 2020 3d20 3320 2b20 350a l b = 3 + 5. │ │ │ +0003e9a0: 2020 2020 2020 5e20 5e20 5e20 5e20 2020 ^ ^ ^ ^ │ │ │ +0003e9b0: 205e 2020 5e20 5e20 5e20 2020 5e20 2a20 ^ ^ ^ ^ ^ * │ │ │ +0003e9c0: 5e20 5e20 5e20 5e22 0a20 2028 696e 7465 ^ ^ ^ ^". (inte │ │ │ +0003e9d0: 7261 6374 6976 6520 2250 2229 0a20 2028 ractive "P"). ( │ │ │ +0003e9e0: 6c65 742a 2028 2870 6f69 6e74 7320 2865 let* ((points (e │ │ │ +0003e9f0: 7269 2d63 616c 6375 6c61 7465 2d69 6e64 ri-calculate-ind │ │ │ +0003ea00: 656e 7461 7469 6f6e 2d70 6f69 6e74 7320 entation-points │ │ │ +0003ea10: 7265 7665 7273 6529 290a 2020 2020 2020 reverse)). │ │ │ +0003ea20: 2020 2028 7265 6d61 696e 696e 672d 706f (remaining-po │ │ │ +0003ea30: 696e 7473 2028 6364 7220 286d 656d 6265 ints (cdr (membe │ │ │ +0003ea40: 7220 2863 7572 7265 6e74 2d69 6e64 656e r (current-inden │ │ │ +0003ea50: 7461 7469 6f6e 2920 706f 696e 7473 2929 tation) points)) │ │ │ +0003ea60: 290a 2020 2020 2020 2020 2028 696e 6465 ). (inde │ │ │ +0003ea70: 6e74 6174 696f 6e20 2869 6620 7265 6d61 ntation (if rema │ │ │ +0003ea80: 696e 696e 672d 706f 696e 7473 0a20 2020 ining-points. │ │ │ 0003ea90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0003eaa0: 2020 2020 2020 2863 6172 2072 656d 6169 (car remai │ │ │ -0003eab0: 6e69 6e67 2d70 6f69 6e74 7329 0a20 2020 ning-points). │ │ │ +0003eaa0: 2020 2020 2020 2028 6361 7220 7265 6d61 (car rema │ │ │ +0003eab0: 696e 696e 672d 706f 696e 7473 290a 2020 ining-points). │ │ │ 0003eac0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0003ead0: 2020 2020 2028 6361 7220 706f 696e 7473 (car points │ │ │ -0003eae0: 2929 2929 0a20 2020 2028 7768 656e 2069 )))). (when i │ │ │ -0003eaf0: 6e64 656e 7461 7469 6f6e 0a20 2020 2020 ndentation. │ │ │ -0003eb00: 2028 7361 7665 2d65 7863 7572 7369 6f6e (save-excursion │ │ │ -0003eb10: 2028 696e 6465 6e74 2d6c 696e 652d 746f (indent-line-to │ │ │ -0003eb20: 2069 6e64 656e 7461 7469 6f6e 2929 0a20 indentation)). │ │ │ -0003eb30: 2020 2020 2028 6966 2028 3c20 2863 7572 (if (< (cur │ │ │ -0003eb40: 7265 6e74 2d63 6f6c 756d 6e29 2069 6e64 rent-column) ind │ │ │ -0003eb50: 656e 7461 7469 6f6e 290a 2020 2020 2020 entation). │ │ │ -0003eb60: 2020 2020 2869 6e64 656e 742d 6c69 6e65 (indent-line │ │ │ -0003eb70: 2d74 6f20 696e 6465 6e74 6174 696f 6e29 -to indentation) │ │ │ -0003eb80: 2929 2929 0a0a 2864 6566 756e 2065 7269 ))))..(defun eri │ │ │ -0003eb90: 2d69 6e64 656e 742d 7265 7665 7273 6520 -indent-reverse │ │ │ -0003eba0: 6e69 6c0a 2020 2243 7963 6c65 2062 6574 nil. "Cycle bet │ │ │ -0003ebb0: 7765 656e 2073 6f6d 6520 706f 7373 6962 ween some possib │ │ │ -0003ebc0: 6c65 2069 6e64 656e 7461 7469 6f6e 2070 le indentation p │ │ │ -0003ebd0: 6f69 6e74 7320 2869 6e20 7265 7665 7273 oints (in revers │ │ │ -0003ebe0: 6520 6f72 6465 7229 2e0a 5365 6520 6065 e order)..See `e │ │ │ -0003ebf0: 7269 2d69 6e64 656e 7427 2066 6f72 2061 ri-indent' for a │ │ │ -0003ec00: 2064 6573 6372 6970 7469 6f6e 206f 6620 description of │ │ │ -0003ec10: 686f 7720 7468 6520 696e 6465 6e74 6174 how the indentat │ │ │ -0003ec20: 696f 6e20 706f 696e 7473 0a61 7265 2063 ion points.are c │ │ │ -0003ec30: 616c 6375 6c61 7465 642e 220a 2020 2869 alculated.". (i │ │ │ -0003ec40: 6e74 6572 6163 7469 7665 290a 2020 2865 nteractive). (e │ │ │ -0003ec50: 7269 2d69 6e64 656e 7420 7429 290a 0a28 ri-indent t))..( │ │ │ -0003ec60: 7072 6f76 6964 6520 2765 7269 290a 3b3b provide 'eri).;; │ │ │ -0003ec70: 3b20 6572 692e 656c 2065 6e64 7320 6865 ; eri.el ends he │ │ │ -0003ec80: 7265 0a9c e8dd f182 adc2 abc3 01d2 88f4 re.............. │ │ │ -0003ec90: b1b2 f8b0 d030 00a3 0100 03ec c005 2000 .....0........ . │ │ │ -0003eca0: 0001 0004 0408 0307 025e 0200 0003 0f00 .........^...... │ │ │ -0003ecb0: 0505 050b 5f0b a401 0b61 0906 0100 ed0b ...._....a...... │ │ │ -0003ecc0: 82f9 f3cb a0b6 e5ad 0de6 99bd e8c9 b8b2 ................ │ │ │ -0003ecd0: b35a 00a4 0100 03f2 de05 8280 80e6 0800 .Z.............. │ │ │ -0003ece0: 0001 0003 0407 0402 0000 030f 0009 01ed ................ │ │ │ -0003ecf0: 0b3b 3b20 2d2a 2d20 6c65 7869 6361 6c2d .;; -*- lexical- │ │ │ -0003ed00: 6269 6e64 696e 673a 2074 202d 2a2d 0a3b binding: t -*-.; │ │ │ -0003ed10: 3b3b 2061 6764 6132 2d71 7565 7565 2e65 ;; agda2-queue.e │ │ │ -0003ed20: 6c20 2d2d 2d20 5369 6d70 6c65 2046 4946 l --- Simple FIF │ │ │ -0003ed30: 4f20 6368 6172 6163 7465 7220 7175 6575 O character queu │ │ │ -0003ed40: 6573 2e0a 3b3b 2053 5044 582d 4c69 6365 es..;; SPDX-Lice │ │ │ -0003ed50: 6e73 652d 4964 656e 7469 6669 6572 3a20 nse-Identifier: │ │ │ -0003ed60: 4d49 5420 4c69 6365 6e73 650a 0a28 6465 MIT License..(de │ │ │ -0003ed70: 6675 6e20 6167 6461 322d 7175 6575 652d fun agda2-queue- │ │ │ -0003ed80: 656d 7074 7920 2829 0a20 2022 4372 6561 empty (). "Crea │ │ │ -0003ed90: 7465 7320 6120 6e65 7720 656d 7074 7920 tes a new empty │ │ │ -0003eda0: 4649 464f 2063 6861 7261 6374 6572 2071 FIFO character q │ │ │ -0003edb0: 7565 7565 2e0a 5175 6575 6573 2061 7265 ueue..Queues are │ │ │ -0003edc0: 2072 6570 7265 7365 6e74 6564 2061 7320 represented as │ │ │ -0003edd0: 7061 6972 732e 2054 6865 2063 6172 2063 pairs. The car c │ │ │ -0003ede0: 6f6e 7461 696e 7320 7468 6520 7175 6575 ontains the queu │ │ │ -0003edf0: 652e 2049 660a 7468 6520 7175 6575 6520 e. If.the queue │ │ │ -0003ee00: 6973 2065 6d70 7479 2c20 7468 656e 2074 is empty, then t │ │ │ -0003ee10: 6865 2063 6472 2063 6f6e 7461 696e 7320 he cdr contains │ │ │ -0003ee20: 7468 6520 7379 6d62 6f6c 206e 696c 2c20 the symbol nil, │ │ │ -0003ee30: 616e 640a 6f74 6865 7277 6973 6520 6974 and.otherwise it │ │ │ -0003ee40: 2070 6f69 6e74 7320 746f 2074 6865 2071 points to the q │ │ │ -0003ee50: 7565 7565 2773 206c 6173 7420 636f 6e73 ueue's last cons │ │ │ -0003ee60: 2d63 656c 6c2e 220a 2020 2863 6f6e 7320 -cell.". (cons │ │ │ -0003ee70: 6e69 6c20 6e69 6c29 290a 0a28 6465 6675 nil nil))..(defu │ │ │ -0003ee80: 6e20 6167 6461 322d 7175 6575 652d 6973 n agda2-queue-is │ │ │ -0003ee90: 2d70 7265 6669 782d 6f66 2028 7072 6566 -prefix-of (pref │ │ │ -0003eea0: 6978 2071 7565 7565 290a 2020 2252 6574 ix queue). "Ret │ │ │ -0003eeb0: 7572 6e73 2061 206e 6f6e 2d6e 696c 2072 urns a non-nil r │ │ │ -0003eec0: 6573 756c 7420 6966 6620 7468 6520 7374 esult iff the st │ │ │ -0003eed0: 7269 6e67 2050 5245 4649 5820 6973 2061 ring PREFIX is a │ │ │ -0003eee0: 2070 7265 6669 7820 6f66 2051 5545 5545 prefix of QUEUE │ │ │ -0003eef0: 2e0a 4c69 6e65 6172 2069 6e20 7468 6520 ..Linear in the │ │ │ -0003ef00: 6c65 6e67 7468 206f 6620 5052 4546 4958 length of PREFIX │ │ │ -0003ef10: 2e22 0a20 2028 6c65 7420 2828 7175 6575 .". (let ((queu │ │ │ -0003ef20: 6520 2028 6361 7220 7175 6575 6529 290a e (car queue)). │ │ │ -0003ef30: 2020 2020 2020 2020 2870 7265 6669 7820 (prefix │ │ │ -0003ef40: 2861 7070 656e 6420 7072 6566 6978 206e (append prefix n │ │ │ -0003ef50: 696c 2929 290a 2020 2020 2877 6869 6c65 il))). (while │ │ │ -0003ef60: 2028 616e 6420 2863 6f6e 7370 2071 7565 (and (consp que │ │ │ -0003ef70: 7565 2920 2863 6f6e 7370 2070 7265 6669 ue) (consp prefi │ │ │ -0003ef80: 7829 0a20 2020 2020 2020 2020 2020 2020 x). │ │ │ -0003ef90: 2020 2028 6571 7561 6c20 2863 6172 2071 (equal (car q │ │ │ -0003efa0: 7565 7565 2920 2863 6172 2070 7265 6669 ueue) (car prefi │ │ │ -0003efb0: 7829 2929 0a20 2020 2020 2028 706f 7020 x))). (pop │ │ │ -0003efc0: 7175 6575 6529 0a20 2020 2020 2028 706f queue). (po │ │ │ -0003efd0: 7020 7072 6566 6978 2929 0a20 2020 2028 p prefix)). ( │ │ │ -0003efe0: 6e75 6c6c 2070 7265 6669 7829 2929 0a0a null prefix))).. │ │ │ -0003eff0: 2864 6566 756e 2061 6764 6132 2d71 7565 (defun agda2-que │ │ │ -0003f000: 7565 2d65 6e71 7565 7565 2028 7175 6575 ue-enqueue (queu │ │ │ -0003f010: 6520 7374 7269 6e67 290a 2020 2241 6464 e string). "Add │ │ │ -0003f020: 7320 7468 6520 6368 6172 6163 7465 7273 s the characters │ │ │ -0003f030: 2069 6e20 5354 5249 4e47 2074 6f20 7468 in STRING to th │ │ │ -0003f040: 6520 656e 6420 6f66 2051 5545 5545 2e0a e end of QUEUE.. │ │ │ -0003f050: 5468 6973 2066 756e 6374 696f 6e20 7570 This function up │ │ │ -0003f060: 6461 7465 7320 5155 4555 4520 6465 7374 dates QUEUE dest │ │ │ -0003f070: 7275 6374 6976 656c 792c 2061 6e64 2069 ructively, and i │ │ │ -0003f080: 7320 6c69 6e65 6172 2069 6e20 7468 650a s linear in the. │ │ │ -0003f090: 6c65 6e67 7468 206f 6620 5354 5249 4e47 length of STRING │ │ │ -0003f0a0: 2e22 0a20 2028 6c65 7420 2828 6368 6172 .". (let ((char │ │ │ -0003f0b0: 7320 2861 7070 656e 6420 7374 7269 6e67 s (append string │ │ │ -0003f0c0: 206e 696c 2929 290a 2020 2020 2877 6865 nil))). (whe │ │ │ -0003f0d0: 6e20 2863 6f6e 7370 2063 6861 7273 290a n (consp chars). │ │ │ -0003f0e0: 2020 2020 2020 2869 6620 286e 756c 6c20 (if (null │ │ │ -0003f0f0: 2863 6472 2071 7565 7565 2929 0a20 2020 (cdr queue)). │ │ │ -0003f100: 2020 2020 2020 2028 7365 7463 6172 2071 (setcar q │ │ │ -0003f110: 7565 7565 2063 6861 7273 290a 2020 2020 ueue chars). │ │ │ -0003f120: 2020 2020 2873 6574 6364 7220 2863 6472 (setcdr (cdr │ │ │ -0003f130: 2071 7565 7565 2920 6368 6172 7329 290a queue) chars)). │ │ │ -0003f140: 2020 2020 2020 2873 6574 6364 7220 7175 (setcdr qu │ │ │ -0003f150: 6575 6520 286c 6173 7420 6368 6172 7329 eue (last chars) │ │ │ -0003f160: 2929 290a 2020 7175 6575 6529 0a0a 2864 ))). queue)..(d │ │ │ -0003f170: 6566 756e 2061 6764 6132 2d71 7565 7565 efun agda2-queue │ │ │ -0003f180: 2d66 726f 6d2d 7374 7269 6e67 2028 7374 -from-string (st │ │ │ -0003f190: 7269 6e67 290a 2020 2243 7265 6174 6573 ring). "Creates │ │ │ -0003f1a0: 2061 206e 6577 2046 4946 4f20 636f 6e74 a new FIFO cont │ │ │ -0003f1b0: 6169 6e69 6e67 2074 6865 2063 6861 7261 aining the chara │ │ │ -0003f1c0: 6374 6572 7320 696e 2053 5452 494e 472e cters in STRING. │ │ │ -0003f1d0: 0a4c 696e 6561 7220 696e 2074 6865 206c .Linear in the l │ │ │ -0003f1e0: 656e 6774 6820 6f66 2053 5452 494e 472e ength of STRING. │ │ │ -0003f1f0: 220a 2020 2861 6764 6132 2d71 7565 7565 ". (agda2-queue │ │ │ -0003f200: 2d65 6e71 7565 7565 2028 6167 6461 322d -enqueue (agda2- │ │ │ -0003f210: 7175 6575 652d 656d 7074 7929 2073 7472 queue-empty) str │ │ │ -0003f220: 696e 6729 290a 0a28 6465 6675 6e20 6167 ing))..(defun ag │ │ │ -0003f230: 6461 322d 7175 6575 652d 746f 2d73 7472 da2-queue-to-str │ │ │ -0003f240: 696e 6720 2871 7565 7565 290a 2020 2243 ing (queue). "C │ │ │ -0003f250: 6f6e 7374 7275 6374 7320 6120 7374 7269 onstructs a stri │ │ │ -0003f260: 6e67 2063 6f6e 7461 696e 696e 6720 616c ng containing al │ │ │ -0003f270: 6c20 7468 6520 6368 6172 6163 7465 7273 l the characters │ │ │ -0003f280: 2069 6e20 5155 4555 452e 0a4c 696e 6561 in QUEUE..Linea │ │ │ -0003f290: 7220 696e 2074 6865 206c 656e 6774 6820 r in the length │ │ │ -0003f2a0: 6f66 2051 5545 5545 2e22 0a20 2028 636f of QUEUE.". (co │ │ │ -0003f2b0: 6e63 6174 2022 2220 2863 6172 2071 7565 ncat "" (car que │ │ │ -0003f2c0: 7565 2929 290a 0a28 7072 6f76 6964 6520 ue)))..(provide │ │ │ -0003f2d0: 2761 6764 6132 2d71 7565 7565 290a 89f5 'agda2-queue)... │ │ │ -0003f2e0: ce9e 83f8 eaad b201 ca80 f882 eaf9 f9f8 ................ │ │ │ -0003f2f0: 0500 a501 0003 f31c 0520 0000 0100 0404 ......... ...... │ │ │ -0003f300: 0803 0702 5e02 0000 030f 0005 0505 0b5f ....^.........._ │ │ │ -0003f310: 0ba6 010b 6109 0601 00dc dd00 c087 d581 ....a........... │ │ │ -0003f320: e8ff b583 a701 ff88 de9f fcf7 ee8c 8501 ................ │ │ │ -0003f330: 00a6 0100 0422 2c05 8280 80e6 0800 0001 .....",......... │ │ │ -0003f340: 0003 0407 0402 0000 030f 0009 01dc dd00 ................ │ │ │ -0003f350: 3b3b 202d 2a2d 206c 6578 6963 616c 2d62 ;; -*- lexical-b │ │ │ -0003f360: 696e 6469 6e67 3a20 7420 2d2a 2d0a 3b3b inding: t -*-.;; │ │ │ -0003f370: 3b20 616e 6e6f 7461 7469 6f6e 2e65 6c20 ; annotation.el │ │ │ -0003f380: 2d2d 2d20 4675 6e63 7469 6f6e 7320 666f --- Functions fo │ │ │ -0003f390: 7220 616e 6e6f 7461 7469 6e67 2074 6578 r annotating tex │ │ │ -0003f3a0: 7420 7769 7468 2066 6163 6573 2061 6e64 t with faces and │ │ │ -0003f3b0: 2068 656c 7020 6275 6262 6c65 730a 0a3b help bubbles..; │ │ │ -0003f3c0: 3b20 5665 7273 696f 6e3a 2031 2e30 0a0a ; Version: 1.0.. │ │ │ -0003f3d0: 3b3b 2053 5044 582d 4c69 6365 6e73 652d ;; SPDX-License- │ │ │ -0003f3e0: 4964 656e 7469 6669 6572 3a20 4d49 5420 Identifier: MIT │ │ │ -0003f3f0: 4c69 6365 6e73 650a 3b3b 2055 524c 3a20 License.;; URL: │ │ │ -0003f400: 6874 7470 733a 2f2f 6769 7468 7562 2e63 https://github.c │ │ │ -0003f410: 6f6d 2f61 6764 612f 6167 6461 0a3b 3b20 om/agda/agda.;; │ │ │ -0003f420: 5665 7273 696f 6e3a 2031 2e30 0a0a 3b3b Version: 1.0..;; │ │ │ -0003f430: 3b20 436f 6d6d 656e 7461 7279 3a0a 0a3b ; Commentary:..; │ │ │ -0003f440: 3b20 4e6f 7465 2074 6861 7420 7468 6973 ; Note that this │ │ │ -0003f450: 206c 6962 7261 7279 2065 6e75 6d65 7261 library enumera │ │ │ -0003f460: 7465 7320 6275 6666 6572 2070 6f73 6974 tes buffer posit │ │ │ -0003f470: 696f 6e73 2073 7461 7274 696e 6720 6672 ions starting fr │ │ │ -0003f480: 6f6d 2031 2c0a 3b3b 206a 7573 7420 6c69 om 1,.;; just li │ │ │ -0003f490: 6b65 2045 6d61 6373 2e0a 0a28 7265 7175 ke Emacs...(requ │ │ │ -0003f4a0: 6972 6520 2763 6c2d 6c69 6229 0a0a 2864 ire 'cl-lib)..(d │ │ │ -0003f4b0: 6566 7661 7220 616e 6e6f 7461 7469 6f6e efvar annotation │ │ │ -0003f4c0: 2d62 696e 6469 6e67 7320 6e69 6c0a 2020 -bindings nil. │ │ │ -0003f4d0: 2241 6e20 6173 736f 6369 6174 696f 6e20 "An association │ │ │ -0003f4e0: 6c69 7374 206d 6170 7069 6e67 2073 796d list mapping sym │ │ │ -0003f4f0: 626f 6c73 2074 6f20 6661 6365 732e 2229 bols to faces.") │ │ │ -0003f500: 0a28 6d61 6b65 2d76 6172 6961 626c 652d .(make-variable- │ │ │ -0003f510: 6275 6666 6572 2d6c 6f63 616c 2027 616e buffer-local 'an │ │ │ -0003f520: 6e6f 7461 7469 6f6e 2d62 696e 6469 6e67 notation-binding │ │ │ -0003f530: 7329 0a0a 2864 6566 7661 7220 616e 6e6f s)..(defvar anno │ │ │ -0003f540: 7461 7469 6f6e 2d67 6f74 6f2d 7374 6163 tation-goto-stac │ │ │ -0003f550: 6b20 6e69 6c0a 2020 2250 6f73 6974 696f k nil. "Positio │ │ │ -0003f560: 6e73 2066 726f 6d20 7768 6963 6820 6061 ns from which `a │ │ │ -0003f570: 6e6e 6f74 6174 696f 6e2d 676f 746f 2720 nnotation-goto' │ │ │ -0003f580: 7761 7320 696e 766f 6b65 642e 2229 0a0a was invoked.").. │ │ │ -0003f590: 2864 6566 756e 2061 6e6e 6f74 6174 696f (defun annotatio │ │ │ -0003f5a0: 6e2d 676f 746f 2d69 6e64 6972 6563 7420 n-goto-indirect │ │ │ -0003f5b0: 286c 696e 6b20 266f 7074 696f 6e61 6c20 (link &optional │ │ │ -0003f5c0: 6f74 6865 722d 7769 6e64 6f77 290a 2020 other-window). │ │ │ -0003f5d0: 2246 6f6c 6c6f 7720 7468 6520 6061 6e6e "Follow the `ann │ │ │ -0003f5e0: 6f74 6174 696f 6e2d 676f 746f 2720 6879 otation-goto' hy │ │ │ -0003f5f0: 7065 726c 696e 6b20 706f 696e 7465 6420 perlink pointed │ │ │ -0003f600: 746f 2062 7920 4c49 4e4b 2c20 6966 2061 to by LINK, if a │ │ │ -0003f610: 6e79 2e0a 0a4c 494e 4b20 7368 6f75 6c64 ny...LINK should │ │ │ -0003f620: 2062 6520 6120 6275 6666 6572 2070 6f73 be a buffer pos │ │ │ -0003f630: 6974 696f 6e2c 206f 7220 616e 2065 7665 ition, or an eve │ │ │ -0003f640: 6e74 206f 626a 6563 7420 2869 6e20 7768 nt object (in wh │ │ │ -0003f650: 6963 680a 6361 7365 2074 6865 2065 6e64 ich.case the end │ │ │ -0003f660: 696e 6720 706f 7369 7469 6f6e 2069 7320 ing position is │ │ │ -0003f670: 7573 6564 292e 0a0a 4966 2074 6865 2068 used)...If the h │ │ │ -0003f680: 7970 6572 6c69 6e6b 2065 7869 7374 7320 yperlink exists │ │ │ -0003f690: 616e 6420 7468 6520 6a75 6d70 2069 7320 and the jump is │ │ │ -0003f6a0: 7065 7266 6f72 6d65 6420 7375 6363 6573 performed succes │ │ │ -0003f6b0: 7366 756c 6c79 2c0a 7468 656e 2060 7427 sfully,.then `t' │ │ │ -0003f6c0: 2069 7320 7265 7475 726e 6564 2c20 616e is returned, an │ │ │ -0003f6d0: 6420 6f74 6865 7277 6973 6520 606e 696c d otherwise `nil │ │ │ -0003f6e0: 2720 2875 6e6c 6573 7320 616e 2065 7272 ' (unless an err │ │ │ -0003f6f0: 6f72 2069 730a 7261 6973 6564 292e 0a0a or is.raised)... │ │ │ -0003f700: 4966 204f 5448 4552 2d57 494e 444f 5720 If OTHER-WINDOW │ │ │ -0003f710: 6973 206e 6f6e 2d6e 696c 2c20 7468 656e is non-nil, then │ │ │ -0003f720: 2061 6e6f 7468 6572 2077 696e 646f 7720 another window │ │ │ -0003f730: 6973 2075 7365 6420 746f 0a64 6973 706c is used to.displ │ │ │ -0003f740: 6179 2074 6865 2074 6172 6765 7420 706f ay the target po │ │ │ -0003f750: 7369 7469 6f6e 2e22 0a20 2028 6c65 7420 sition.". (let │ │ │ -0003f760: 2873 6f75 7263 652d 706f 730a 2020 2020 (source-pos. │ │ │ -0003f770: 2020 2020 736f 7572 6365 2d77 696e 646f source-windo │ │ │ -0003f780: 770a 2020 2020 2020 2020 736f 7572 6365 w. source │ │ │ -0003f790: 2d62 7566 6665 720a 2020 2020 2020 2020 -buffer. │ │ │ -0003f7a0: 7461 7267 6574 290a 2020 2020 2863 6f6e target). (con │ │ │ -0003f7b0: 6420 2828 6576 656e 7470 206c 696e 6b29 d ((eventp link) │ │ │ -0003f7c0: 0a20 2020 2020 2020 2020 2020 286c 6574 . (let │ │ │ -0003f7d0: 2028 2870 6e20 2865 7665 6e74 2d65 6e64 ((pn (event-end │ │ │ -0003f7e0: 206c 696e 6b29 2929 0a20 2020 2020 2020 link))). │ │ │ -0003f7f0: 2020 2020 2020 2877 6865 6e20 286e 6f74 (when (not │ │ │ -0003f800: 2028 706f 736e 2d61 7265 6120 706e 2929 (posn-area pn)) │ │ │ -0003f810: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ -0003f820: 2873 6574 7120 736f 7572 6365 2d70 6f73 (setq source-pos │ │ │ -0003f830: 2028 706f 736e 2d70 6f69 6e74 2070 6e29 (posn-point pn) │ │ │ -0003f840: 290a 2020 2020 2020 2020 2020 2020 2020 ). │ │ │ -0003f850: 2028 7365 7471 2073 6f75 7263 652d 7769 (setq source-wi │ │ │ -0003f860: 6e64 6f77 2028 706f 736e 2d77 696e 646f ndow (posn-windo │ │ │ -0003f870: 7720 706e 2929 0a20 2020 2020 2020 2020 w pn)). │ │ │ -0003f880: 2020 2020 2020 2873 6574 7120 736f 7572 (setq sour │ │ │ -0003f890: 6365 2d62 7566 6665 7220 2877 696e 646f ce-buffer (windo │ │ │ -0003f8a0: 772d 6275 6666 6572 2073 6f75 7263 652d w-buffer source- │ │ │ -0003f8b0: 7769 6e64 6f77 2929 2929 290a 2020 2020 window))))). │ │ │ -0003f8c0: 2020 2020 2020 2828 696e 7465 6765 7270 ((integerp │ │ │ -0003f8d0: 206c 696e 6b29 0a20 2020 2020 2020 2020 link). │ │ │ -0003f8e0: 2020 2873 6574 7120 736f 7572 6365 2d70 (setq source-p │ │ │ -0003f8f0: 6f73 206c 696e 6b29 0a20 2020 2020 2020 os link). │ │ │ -0003f900: 2020 2020 2873 6574 7120 736f 7572 6365 (setq source │ │ │ -0003f910: 2d77 696e 646f 7720 2873 656c 6563 7465 -window (selecte │ │ │ -0003f920: 642d 7769 6e64 6f77 2929 0a20 2020 2020 d-window)). │ │ │ -0003f930: 2020 2020 2020 2873 6574 7120 736f 7572 (setq sour │ │ │ -0003f940: 6365 2d62 7566 6665 7220 2863 7572 7265 ce-buffer (curre │ │ │ -0003f950: 6e74 2d62 7566 6665 7229 2929 0a20 2020 nt-buffer))). │ │ │ -0003f960: 2020 2020 2020 2028 7420 2865 7272 6f72 (t (error │ │ │ -0003f970: 2022 4e6f 7420 616e 2069 6e74 6567 6572 "Not an integer │ │ │ -0003f980: 206f 7220 6576 656e 7420 6f62 6a65 6374 or event object │ │ │ -0003f990: 3a20 2553 2220 6c69 6e6b 2929 290a 2020 : %S" link))). │ │ │ -0003f9a0: 2020 2877 6865 6e20 2861 6e64 2073 6f75 (when (and sou │ │ │ -0003f9b0: 7263 652d 706f 7320 736f 7572 6365 2d62 rce-pos source-b │ │ │ -0003f9c0: 7566 6665 7229 0a20 2020 2020 2028 7769 uffer). (wi │ │ │ -0003f9d0: 7468 2d63 7572 7265 6e74 2d62 7566 6665 th-current-buffe │ │ │ -0003f9e0: 7220 736f 7572 6365 2d62 7566 6665 720a r source-buffer. │ │ │ -0003f9f0: 2020 2020 2020 2020 2873 6574 7120 7461 (setq ta │ │ │ -0003fa00: 7267 6574 2028 6765 742d 7465 7874 2d70 rget (get-text-p │ │ │ -0003fa10: 726f 7065 7274 7920 736f 7572 6365 2d70 roperty source-p │ │ │ -0003fa20: 6f73 2027 616e 6e6f 7461 7469 6f6e 2d67 os 'annotation-g │ │ │ -0003fa30: 6f74 6f29 2929 0a20 2020 2020 2028 7768 oto))). (wh │ │ │ -0003fa40: 656e 2074 6172 6765 740a 2020 2020 2020 en target. │ │ │ -0003fa50: 2020 2875 6e6c 6573 7320 2865 7175 616c (unless (equal │ │ │ -0003fa60: 2073 6f75 7263 652d 7769 6e64 6f77 2028 source-window ( │ │ │ -0003fa70: 7365 6c65 6374 6564 2d77 696e 646f 7729 selected-window) │ │ │ -0003fa80: 290a 2020 2020 2020 2020 2020 2873 656c ). (sel │ │ │ -0003fa90: 6563 742d 7769 6e64 6f77 2073 6f75 7263 ect-window sourc │ │ │ -0003faa0: 652d 7769 6e64 6f77 2929 0a20 2020 2020 e-window)). │ │ │ -0003fab0: 2020 2028 616e 6e6f 7461 7469 6f6e 2d67 (annotation-g │ │ │ -0003fac0: 6f74 6f2d 616e 642d 7075 7368 2073 6f75 oto-and-push sou │ │ │ -0003fad0: 7263 652d 6275 6666 6572 2073 6f75 7263 rce-buffer sourc │ │ │ -0003fae0: 652d 706f 7320 7461 7267 6574 0a20 2020 e-pos target. │ │ │ +0003ead0: 2020 2020 2020 2863 6172 2070 6f69 6e74 (car point │ │ │ +0003eae0: 7329 2929 290a 2020 2020 2877 6865 6e20 s)))). (when │ │ │ +0003eaf0: 696e 6465 6e74 6174 696f 6e0a 2020 2020 indentation. │ │ │ +0003eb00: 2020 2873 6176 652d 6578 6375 7273 696f (save-excursio │ │ │ +0003eb10: 6e20 2869 6e64 656e 742d 6c69 6e65 2d74 n (indent-line-t │ │ │ +0003eb20: 6f20 696e 6465 6e74 6174 696f 6e29 290a o indentation)). │ │ │ +0003eb30: 2020 2020 2020 2869 6620 283c 2028 6375 (if (< (cu │ │ │ +0003eb40: 7272 656e 742d 636f 6c75 6d6e 2920 696e rrent-column) in │ │ │ +0003eb50: 6465 6e74 6174 696f 6e29 0a20 2020 2020 dentation). │ │ │ +0003eb60: 2020 2020 2028 696e 6465 6e74 2d6c 696e (indent-lin │ │ │ +0003eb70: 652d 746f 2069 6e64 656e 7461 7469 6f6e e-to indentation │ │ │ +0003eb80: 2929 2929 290a 0a28 6465 6675 6e20 6572 )))))..(defun er │ │ │ +0003eb90: 692d 696e 6465 6e74 2d72 6576 6572 7365 i-indent-reverse │ │ │ +0003eba0: 206e 696c 0a20 2022 4379 636c 6520 6265 nil. "Cycle be │ │ │ +0003ebb0: 7477 6565 6e20 736f 6d65 2070 6f73 7369 tween some possi │ │ │ +0003ebc0: 626c 6520 696e 6465 6e74 6174 696f 6e20 ble indentation │ │ │ +0003ebd0: 706f 696e 7473 2028 696e 2072 6576 6572 points (in rever │ │ │ +0003ebe0: 7365 206f 7264 6572 292e 0a53 6565 2060 se order)..See ` │ │ │ +0003ebf0: 6572 692d 696e 6465 6e74 2720 666f 7220 eri-indent' for │ │ │ +0003ec00: 6120 6465 7363 7269 7074 696f 6e20 6f66 a description of │ │ │ +0003ec10: 2068 6f77 2074 6865 2069 6e64 656e 7461 how the indenta │ │ │ +0003ec20: 7469 6f6e 2070 6f69 6e74 730a 6172 6520 tion points.are │ │ │ +0003ec30: 6361 6c63 756c 6174 6564 2e22 0a20 2028 calculated.". ( │ │ │ +0003ec40: 696e 7465 7261 6374 6976 6529 0a20 2028 interactive). ( │ │ │ +0003ec50: 6572 692d 696e 6465 6e74 2074 2929 0a0a eri-indent t)).. │ │ │ +0003ec60: 2870 726f 7669 6465 2027 6572 6929 0a3b (provide 'eri).; │ │ │ +0003ec70: 3b3b 2065 7269 2e65 6c20 656e 6473 2068 ;; eri.el ends h │ │ │ +0003ec80: 6572 650a 9ce8 ddf1 82ad c2ab c301 d288 ere............. │ │ │ +0003ec90: f4b1 b2f8 b0d0 3000 a301 0003 ecc1 0520 ......0........ │ │ │ +0003eca0: 0000 0100 0404 0803 0702 5e02 0000 030f ..........^..... │ │ │ +0003ecb0: 0005 0505 0b5f 0ba4 010b 6109 0601 00ed ....._....a..... │ │ │ +0003ecc0: 0b82 f9f3 cba0 b6e5 ad0d e699 bde8 c9b8 ................ │ │ │ +0003ecd0: b2b3 5a00 a401 0003 f2df 0582 8080 e608 ..Z............. │ │ │ +0003ece0: 0000 0100 0304 0704 0200 0003 0f00 0901 ................ │ │ │ +0003ecf0: ed0b 3b3b 202d 2a2d 206c 6578 6963 616c ..;; -*- lexical │ │ │ +0003ed00: 2d62 696e 6469 6e67 3a20 7420 2d2a 2d0a -binding: t -*-. │ │ │ +0003ed10: 3b3b 3b20 6167 6461 322d 7175 6575 652e ;;; agda2-queue. │ │ │ +0003ed20: 656c 202d 2d2d 2053 696d 706c 6520 4649 el --- Simple FI │ │ │ +0003ed30: 464f 2063 6861 7261 6374 6572 2071 7565 FO character que │ │ │ +0003ed40: 7565 732e 0a3b 3b20 5350 4458 2d4c 6963 ues..;; SPDX-Lic │ │ │ +0003ed50: 656e 7365 2d49 6465 6e74 6966 6965 723a ense-Identifier: │ │ │ +0003ed60: 204d 4954 204c 6963 656e 7365 0a0a 2864 MIT License..(d │ │ │ +0003ed70: 6566 756e 2061 6764 6132 2d71 7565 7565 efun agda2-queue │ │ │ +0003ed80: 2d65 6d70 7479 2028 290a 2020 2243 7265 -empty (). "Cre │ │ │ +0003ed90: 6174 6573 2061 206e 6577 2065 6d70 7479 ates a new empty │ │ │ +0003eda0: 2046 4946 4f20 6368 6172 6163 7465 7220 FIFO character │ │ │ +0003edb0: 7175 6575 652e 0a51 7565 7565 7320 6172 queue..Queues ar │ │ │ +0003edc0: 6520 7265 7072 6573 656e 7465 6420 6173 e represented as │ │ │ +0003edd0: 2070 6169 7273 2e20 5468 6520 6361 7220 pairs. The car │ │ │ +0003ede0: 636f 6e74 6169 6e73 2074 6865 2071 7565 contains the que │ │ │ +0003edf0: 7565 2e20 4966 0a74 6865 2071 7565 7565 ue. If.the queue │ │ │ +0003ee00: 2069 7320 656d 7074 792c 2074 6865 6e20 is empty, then │ │ │ +0003ee10: 7468 6520 6364 7220 636f 6e74 6169 6e73 the cdr contains │ │ │ +0003ee20: 2074 6865 2073 796d 626f 6c20 6e69 6c2c the symbol nil, │ │ │ +0003ee30: 2061 6e64 0a6f 7468 6572 7769 7365 2069 and.otherwise i │ │ │ +0003ee40: 7420 706f 696e 7473 2074 6f20 7468 6520 t points to the │ │ │ +0003ee50: 7175 6575 6527 7320 6c61 7374 2063 6f6e queue's last con │ │ │ +0003ee60: 732d 6365 6c6c 2e22 0a20 2028 636f 6e73 s-cell.". (cons │ │ │ +0003ee70: 206e 696c 206e 696c 2929 0a0a 2864 6566 nil nil))..(def │ │ │ +0003ee80: 756e 2061 6764 6132 2d71 7565 7565 2d69 un agda2-queue-i │ │ │ +0003ee90: 732d 7072 6566 6978 2d6f 6620 2870 7265 s-prefix-of (pre │ │ │ +0003eea0: 6669 7820 7175 6575 6529 0a20 2022 5265 fix queue). "Re │ │ │ +0003eeb0: 7475 726e 7320 6120 6e6f 6e2d 6e69 6c20 turns a non-nil │ │ │ +0003eec0: 7265 7375 6c74 2069 6666 2074 6865 2073 result iff the s │ │ │ +0003eed0: 7472 696e 6720 5052 4546 4958 2069 7320 tring PREFIX is │ │ │ +0003eee0: 6120 7072 6566 6978 206f 6620 5155 4555 a prefix of QUEU │ │ │ +0003eef0: 452e 0a4c 696e 6561 7220 696e 2074 6865 E..Linear in the │ │ │ +0003ef00: 206c 656e 6774 6820 6f66 2050 5245 4649 length of PREFI │ │ │ +0003ef10: 582e 220a 2020 286c 6574 2028 2871 7565 X.". (let ((que │ │ │ +0003ef20: 7565 2020 2863 6172 2071 7565 7565 2929 ue (car queue)) │ │ │ +0003ef30: 0a20 2020 2020 2020 2028 7072 6566 6978 . (prefix │ │ │ +0003ef40: 2028 6170 7065 6e64 2070 7265 6669 7820 (append prefix │ │ │ +0003ef50: 6e69 6c29 2929 0a20 2020 2028 7768 696c nil))). (whil │ │ │ +0003ef60: 6520 2861 6e64 2028 636f 6e73 7020 7175 e (and (consp qu │ │ │ +0003ef70: 6575 6529 2028 636f 6e73 7020 7072 6566 eue) (consp pref │ │ │ +0003ef80: 6978 290a 2020 2020 2020 2020 2020 2020 ix). │ │ │ +0003ef90: 2020 2020 2865 7175 616c 2028 6361 7220 (equal (car │ │ │ +0003efa0: 7175 6575 6529 2028 6361 7220 7072 6566 queue) (car pref │ │ │ +0003efb0: 6978 2929 290a 2020 2020 2020 2870 6f70 ix))). (pop │ │ │ +0003efc0: 2071 7565 7565 290a 2020 2020 2020 2870 queue). (p │ │ │ +0003efd0: 6f70 2070 7265 6669 7829 290a 2020 2020 op prefix)). │ │ │ +0003efe0: 286e 756c 6c20 7072 6566 6978 2929 290a (null prefix))). │ │ │ +0003eff0: 0a28 6465 6675 6e20 6167 6461 322d 7175 .(defun agda2-qu │ │ │ +0003f000: 6575 652d 656e 7175 6575 6520 2871 7565 eue-enqueue (que │ │ │ +0003f010: 7565 2073 7472 696e 6729 0a20 2022 4164 ue string). "Ad │ │ │ +0003f020: 6473 2074 6865 2063 6861 7261 6374 6572 ds the character │ │ │ +0003f030: 7320 696e 2053 5452 494e 4720 746f 2074 s in STRING to t │ │ │ +0003f040: 6865 2065 6e64 206f 6620 5155 4555 452e he end of QUEUE. │ │ │ +0003f050: 0a54 6869 7320 6675 6e63 7469 6f6e 2075 .This function u │ │ │ +0003f060: 7064 6174 6573 2051 5545 5545 2064 6573 pdates QUEUE des │ │ │ +0003f070: 7472 7563 7469 7665 6c79 2c20 616e 6420 tructively, and │ │ │ +0003f080: 6973 206c 696e 6561 7220 696e 2074 6865 is linear in the │ │ │ +0003f090: 0a6c 656e 6774 6820 6f66 2053 5452 494e .length of STRIN │ │ │ +0003f0a0: 472e 220a 2020 286c 6574 2028 2863 6861 G.". (let ((cha │ │ │ +0003f0b0: 7273 2028 6170 7065 6e64 2073 7472 696e rs (append strin │ │ │ +0003f0c0: 6720 6e69 6c29 2929 0a20 2020 2028 7768 g nil))). (wh │ │ │ +0003f0d0: 656e 2028 636f 6e73 7020 6368 6172 7329 en (consp chars) │ │ │ +0003f0e0: 0a20 2020 2020 2028 6966 2028 6e75 6c6c . (if (null │ │ │ +0003f0f0: 2028 6364 7220 7175 6575 6529 290a 2020 (cdr queue)). │ │ │ +0003f100: 2020 2020 2020 2020 2873 6574 6361 7220 (setcar │ │ │ +0003f110: 7175 6575 6520 6368 6172 7329 0a20 2020 queue chars). │ │ │ +0003f120: 2020 2020 2028 7365 7463 6472 2028 6364 (setcdr (cd │ │ │ +0003f130: 7220 7175 6575 6529 2063 6861 7273 2929 r queue) chars)) │ │ │ +0003f140: 0a20 2020 2020 2028 7365 7463 6472 2071 . (setcdr q │ │ │ +0003f150: 7565 7565 2028 6c61 7374 2063 6861 7273 ueue (last chars │ │ │ +0003f160: 2929 2929 0a20 2071 7565 7565 290a 0a28 )))). queue)..( │ │ │ +0003f170: 6465 6675 6e20 6167 6461 322d 7175 6575 defun agda2-queu │ │ │ +0003f180: 652d 6672 6f6d 2d73 7472 696e 6720 2873 e-from-string (s │ │ │ +0003f190: 7472 696e 6729 0a20 2022 4372 6561 7465 tring). "Create │ │ │ +0003f1a0: 7320 6120 6e65 7720 4649 464f 2063 6f6e s a new FIFO con │ │ │ +0003f1b0: 7461 696e 696e 6720 7468 6520 6368 6172 taining the char │ │ │ +0003f1c0: 6163 7465 7273 2069 6e20 5354 5249 4e47 acters in STRING │ │ │ +0003f1d0: 2e0a 4c69 6e65 6172 2069 6e20 7468 6520 ..Linear in the │ │ │ +0003f1e0: 6c65 6e67 7468 206f 6620 5354 5249 4e47 length of STRING │ │ │ +0003f1f0: 2e22 0a20 2028 6167 6461 322d 7175 6575 .". (agda2-queu │ │ │ +0003f200: 652d 656e 7175 6575 6520 2861 6764 6132 e-enqueue (agda2 │ │ │ +0003f210: 2d71 7565 7565 2d65 6d70 7479 2920 7374 -queue-empty) st │ │ │ +0003f220: 7269 6e67 2929 0a0a 2864 6566 756e 2061 ring))..(defun a │ │ │ +0003f230: 6764 6132 2d71 7565 7565 2d74 6f2d 7374 gda2-queue-to-st │ │ │ +0003f240: 7269 6e67 2028 7175 6575 6529 0a20 2022 ring (queue). " │ │ │ +0003f250: 436f 6e73 7472 7563 7473 2061 2073 7472 Constructs a str │ │ │ +0003f260: 696e 6720 636f 6e74 6169 6e69 6e67 2061 ing containing a │ │ │ +0003f270: 6c6c 2074 6865 2063 6861 7261 6374 6572 ll the character │ │ │ +0003f280: 7320 696e 2051 5545 5545 2e0a 4c69 6e65 s in QUEUE..Line │ │ │ +0003f290: 6172 2069 6e20 7468 6520 6c65 6e67 7468 ar in the length │ │ │ +0003f2a0: 206f 6620 5155 4555 452e 220a 2020 2863 of QUEUE.". (c │ │ │ +0003f2b0: 6f6e 6361 7420 2222 2028 6361 7220 7175 oncat "" (car qu │ │ │ +0003f2c0: 6575 6529 2929 0a0a 2870 726f 7669 6465 eue)))..(provide │ │ │ +0003f2d0: 2027 6167 6461 322d 7175 6575 6529 0a89 'agda2-queue).. │ │ │ +0003f2e0: f5ce 9e83 f8ea adb2 01ca 80f8 82ea f9f9 ................ │ │ │ +0003f2f0: f805 00a5 0100 03f3 1d05 2000 0001 0004 .......... ..... │ │ │ +0003f300: 0408 0307 025e 0200 0003 0f00 0505 050b .....^.......... │ │ │ +0003f310: 5f0b a601 0b61 0906 0100 dcdd 00c0 87d5 _....a.......... │ │ │ +0003f320: 81e8 ffb5 83a7 01ff 88de 9ffc f7ee 8c85 ................ │ │ │ +0003f330: 0100 a601 0004 222d 0582 8080 e608 0000 ......"-........ │ │ │ +0003f340: 0100 0304 0704 0200 0003 0f00 0901 dcdd ................ │ │ │ +0003f350: 003b 3b20 2d2a 2d20 6c65 7869 6361 6c2d .;; -*- lexical- │ │ │ +0003f360: 6269 6e64 696e 673a 2074 202d 2a2d 0a3b binding: t -*-.; │ │ │ +0003f370: 3b3b 2061 6e6e 6f74 6174 696f 6e2e 656c ;; annotation.el │ │ │ +0003f380: 202d 2d2d 2046 756e 6374 696f 6e73 2066 --- Functions f │ │ │ +0003f390: 6f72 2061 6e6e 6f74 6174 696e 6720 7465 or annotating te │ │ │ +0003f3a0: 7874 2077 6974 6820 6661 6365 7320 616e xt with faces an │ │ │ +0003f3b0: 6420 6865 6c70 2062 7562 626c 6573 0a0a d help bubbles.. │ │ │ +0003f3c0: 3b3b 2056 6572 7369 6f6e 3a20 312e 300a ;; Version: 1.0. │ │ │ +0003f3d0: 0a3b 3b20 5350 4458 2d4c 6963 656e 7365 .;; SPDX-License │ │ │ +0003f3e0: 2d49 6465 6e74 6966 6965 723a 204d 4954 -Identifier: MIT │ │ │ +0003f3f0: 204c 6963 656e 7365 0a3b 3b20 5552 4c3a License.;; URL: │ │ │ +0003f400: 2068 7474 7073 3a2f 2f67 6974 6875 622e https://github. │ │ │ +0003f410: 636f 6d2f 6167 6461 2f61 6764 610a 3b3b com/agda/agda.;; │ │ │ +0003f420: 2056 6572 7369 6f6e 3a20 312e 300a 0a3b Version: 1.0..; │ │ │ +0003f430: 3b3b 2043 6f6d 6d65 6e74 6172 793a 0a0a ;; Commentary:.. │ │ │ +0003f440: 3b3b 204e 6f74 6520 7468 6174 2074 6869 ;; Note that thi │ │ │ +0003f450: 7320 6c69 6272 6172 7920 656e 756d 6572 s library enumer │ │ │ +0003f460: 6174 6573 2062 7566 6665 7220 706f 7369 ates buffer posi │ │ │ +0003f470: 7469 6f6e 7320 7374 6172 7469 6e67 2066 tions starting f │ │ │ +0003f480: 726f 6d20 312c 0a3b 3b20 6a75 7374 206c rom 1,.;; just l │ │ │ +0003f490: 696b 6520 456d 6163 732e 0a0a 2872 6571 ike Emacs...(req │ │ │ +0003f4a0: 7569 7265 2027 636c 2d6c 6962 290a 0a28 uire 'cl-lib)..( │ │ │ +0003f4b0: 6465 6676 6172 2061 6e6e 6f74 6174 696f defvar annotatio │ │ │ +0003f4c0: 6e2d 6269 6e64 696e 6773 206e 696c 0a20 n-bindings nil. │ │ │ +0003f4d0: 2022 416e 2061 7373 6f63 6961 7469 6f6e "An association │ │ │ +0003f4e0: 206c 6973 7420 6d61 7070 696e 6720 7379 list mapping sy │ │ │ +0003f4f0: 6d62 6f6c 7320 746f 2066 6163 6573 2e22 mbols to faces." │ │ │ +0003f500: 290a 286d 616b 652d 7661 7269 6162 6c65 ).(make-variable │ │ │ +0003f510: 2d62 7566 6665 722d 6c6f 6361 6c20 2761 -buffer-local 'a │ │ │ +0003f520: 6e6e 6f74 6174 696f 6e2d 6269 6e64 696e nnotation-bindin │ │ │ +0003f530: 6773 290a 0a28 6465 6676 6172 2061 6e6e gs)..(defvar ann │ │ │ +0003f540: 6f74 6174 696f 6e2d 676f 746f 2d73 7461 otation-goto-sta │ │ │ +0003f550: 636b 206e 696c 0a20 2022 506f 7369 7469 ck nil. "Positi │ │ │ +0003f560: 6f6e 7320 6672 6f6d 2077 6869 6368 2060 ons from which ` │ │ │ +0003f570: 616e 6e6f 7461 7469 6f6e 2d67 6f74 6f27 annotation-goto' │ │ │ +0003f580: 2077 6173 2069 6e76 6f6b 6564 2e22 290a was invoked."). │ │ │ +0003f590: 0a28 6465 6675 6e20 616e 6e6f 7461 7469 .(defun annotati │ │ │ +0003f5a0: 6f6e 2d67 6f74 6f2d 696e 6469 7265 6374 on-goto-indirect │ │ │ +0003f5b0: 2028 6c69 6e6b 2026 6f70 7469 6f6e 616c (link &optional │ │ │ +0003f5c0: 206f 7468 6572 2d77 696e 646f 7729 0a20 other-window). │ │ │ +0003f5d0: 2022 466f 6c6c 6f77 2074 6865 2060 616e "Follow the `an │ │ │ +0003f5e0: 6e6f 7461 7469 6f6e 2d67 6f74 6f27 2068 notation-goto' h │ │ │ +0003f5f0: 7970 6572 6c69 6e6b 2070 6f69 6e74 6564 yperlink pointed │ │ │ +0003f600: 2074 6f20 6279 204c 494e 4b2c 2069 6620 to by LINK, if │ │ │ +0003f610: 616e 792e 0a0a 4c49 4e4b 2073 686f 756c any...LINK shoul │ │ │ +0003f620: 6420 6265 2061 2062 7566 6665 7220 706f d be a buffer po │ │ │ +0003f630: 7369 7469 6f6e 2c20 6f72 2061 6e20 6576 sition, or an ev │ │ │ +0003f640: 656e 7420 6f62 6a65 6374 2028 696e 2077 ent object (in w │ │ │ +0003f650: 6869 6368 0a63 6173 6520 7468 6520 656e hich.case the en │ │ │ +0003f660: 6469 6e67 2070 6f73 6974 696f 6e20 6973 ding position is │ │ │ +0003f670: 2075 7365 6429 2e0a 0a49 6620 7468 6520 used)...If the │ │ │ +0003f680: 6879 7065 726c 696e 6b20 6578 6973 7473 hyperlink exists │ │ │ +0003f690: 2061 6e64 2074 6865 206a 756d 7020 6973 and the jump is │ │ │ +0003f6a0: 2070 6572 666f 726d 6564 2073 7563 6365 performed succe │ │ │ +0003f6b0: 7373 6675 6c6c 792c 0a74 6865 6e20 6074 ssfully,.then `t │ │ │ +0003f6c0: 2720 6973 2072 6574 7572 6e65 642c 2061 ' is returned, a │ │ │ +0003f6d0: 6e64 206f 7468 6572 7769 7365 2060 6e69 nd otherwise `ni │ │ │ +0003f6e0: 6c27 2028 756e 6c65 7373 2061 6e20 6572 l' (unless an er │ │ │ +0003f6f0: 726f 7220 6973 0a72 6169 7365 6429 2e0a ror is.raised).. │ │ │ +0003f700: 0a49 6620 4f54 4845 522d 5749 4e44 4f57 .If OTHER-WINDOW │ │ │ +0003f710: 2069 7320 6e6f 6e2d 6e69 6c2c 2074 6865 is non-nil, the │ │ │ +0003f720: 6e20 616e 6f74 6865 7220 7769 6e64 6f77 n another window │ │ │ +0003f730: 2069 7320 7573 6564 2074 6f0a 6469 7370 is used to.disp │ │ │ +0003f740: 6c61 7920 7468 6520 7461 7267 6574 2070 lay the target p │ │ │ +0003f750: 6f73 6974 696f 6e2e 220a 2020 286c 6574 osition.". (let │ │ │ +0003f760: 2028 736f 7572 6365 2d70 6f73 0a20 2020 (source-pos. │ │ │ +0003f770: 2020 2020 2073 6f75 7263 652d 7769 6e64 source-wind │ │ │ +0003f780: 6f77 0a20 2020 2020 2020 2073 6f75 7263 ow. sourc │ │ │ +0003f790: 652d 6275 6666 6572 0a20 2020 2020 2020 e-buffer. │ │ │ +0003f7a0: 2074 6172 6765 7429 0a20 2020 2028 636f target). (co │ │ │ +0003f7b0: 6e64 2028 2865 7665 6e74 7020 6c69 6e6b nd ((eventp link │ │ │ +0003f7c0: 290a 2020 2020 2020 2020 2020 2028 6c65 ). (le │ │ │ +0003f7d0: 7420 2828 706e 2028 6576 656e 742d 656e t ((pn (event-en │ │ │ +0003f7e0: 6420 6c69 6e6b 2929 290a 2020 2020 2020 d link))). │ │ │ +0003f7f0: 2020 2020 2020 2028 7768 656e 2028 6e6f (when (no │ │ │ +0003f800: 7420 2870 6f73 6e2d 6172 6561 2070 6e29 t (posn-area pn) │ │ │ +0003f810: 290a 2020 2020 2020 2020 2020 2020 2020 ). │ │ │ +0003f820: 2028 7365 7471 2073 6f75 7263 652d 706f (setq source-po │ │ │ +0003f830: 7320 2870 6f73 6e2d 706f 696e 7420 706e s (posn-point pn │ │ │ +0003f840: 2929 0a20 2020 2020 2020 2020 2020 2020 )). │ │ │ +0003f850: 2020 2873 6574 7120 736f 7572 6365 2d77 (setq source-w │ │ │ +0003f860: 696e 646f 7720 2870 6f73 6e2d 7769 6e64 indow (posn-wind │ │ │ +0003f870: 6f77 2070 6e29 290a 2020 2020 2020 2020 ow pn)). │ │ │ +0003f880: 2020 2020 2020 2028 7365 7471 2073 6f75 (setq sou │ │ │ +0003f890: 7263 652d 6275 6666 6572 2028 7769 6e64 rce-buffer (wind │ │ │ +0003f8a0: 6f77 2d62 7566 6665 7220 736f 7572 6365 ow-buffer source │ │ │ +0003f8b0: 2d77 696e 646f 7729 2929 2929 0a20 2020 -window))))). │ │ │ +0003f8c0: 2020 2020 2020 2028 2869 6e74 6567 6572 ((integer │ │ │ +0003f8d0: 7020 6c69 6e6b 290a 2020 2020 2020 2020 p link). │ │ │ +0003f8e0: 2020 2028 7365 7471 2073 6f75 7263 652d (setq source- │ │ │ +0003f8f0: 706f 7320 6c69 6e6b 290a 2020 2020 2020 pos link). │ │ │ +0003f900: 2020 2020 2028 7365 7471 2073 6f75 7263 (setq sourc │ │ │ +0003f910: 652d 7769 6e64 6f77 2028 7365 6c65 6374 e-window (select │ │ │ +0003f920: 6564 2d77 696e 646f 7729 290a 2020 2020 ed-window)). │ │ │ +0003f930: 2020 2020 2020 2028 7365 7471 2073 6f75 (setq sou │ │ │ +0003f940: 7263 652d 6275 6666 6572 2028 6375 7272 rce-buffer (curr │ │ │ +0003f950: 656e 742d 6275 6666 6572 2929 290a 2020 ent-buffer))). │ │ │ +0003f960: 2020 2020 2020 2020 2874 2028 6572 726f (t (erro │ │ │ +0003f970: 7220 224e 6f74 2061 6e20 696e 7465 6765 r "Not an intege │ │ │ +0003f980: 7220 6f72 2065 7665 6e74 206f 626a 6563 r or event objec │ │ │ +0003f990: 743a 2025 5322 206c 696e 6b29 2929 0a20 t: %S" link))). │ │ │ +0003f9a0: 2020 2028 7768 656e 2028 616e 6420 736f (when (and so │ │ │ +0003f9b0: 7572 6365 2d70 6f73 2073 6f75 7263 652d urce-pos source- │ │ │ +0003f9c0: 6275 6666 6572 290a 2020 2020 2020 2877 buffer). (w │ │ │ +0003f9d0: 6974 682d 6375 7272 656e 742d 6275 6666 ith-current-buff │ │ │ +0003f9e0: 6572 2073 6f75 7263 652d 6275 6666 6572 er source-buffer │ │ │ +0003f9f0: 0a20 2020 2020 2020 2028 7365 7471 2074 . (setq t │ │ │ +0003fa00: 6172 6765 7420 2867 6574 2d74 6578 742d arget (get-text- │ │ │ +0003fa10: 7072 6f70 6572 7479 2073 6f75 7263 652d property source- │ │ │ +0003fa20: 706f 7320 2761 6e6e 6f74 6174 696f 6e2d pos 'annotation- │ │ │ +0003fa30: 676f 746f 2929 290a 2020 2020 2020 2877 goto))). (w │ │ │ +0003fa40: 6865 6e20 7461 7267 6574 0a20 2020 2020 hen target. │ │ │ +0003fa50: 2020 2028 756e 6c65 7373 2028 6571 7561 (unless (equa │ │ │ +0003fa60: 6c20 736f 7572 6365 2d77 696e 646f 7720 l source-window │ │ │ +0003fa70: 2873 656c 6563 7465 642d 7769 6e64 6f77 (selected-window │ │ │ +0003fa80: 2929 0a20 2020 2020 2020 2020 2028 7365 )). (se │ │ │ +0003fa90: 6c65 6374 2d77 696e 646f 7720 736f 7572 lect-window sour │ │ │ +0003faa0: 6365 2d77 696e 646f 7729 290a 2020 2020 ce-window)). │ │ │ +0003fab0: 2020 2020 2861 6e6e 6f74 6174 696f 6e2d (annotation- │ │ │ +0003fac0: 676f 746f 2d61 6e64 2d70 7573 6820 736f goto-and-push so │ │ │ +0003fad0: 7572 6365 2d62 7566 6665 7220 736f 7572 urce-buffer sour │ │ │ +0003fae0: 6365 2d70 6f73 2074 6172 6765 740a 2020 ce-pos target. │ │ │ 0003faf0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0003fb00: 2020 2020 2020 2020 2020 2020 2020 206f o │ │ │ -0003fb10: 7468 6572 2d77 696e 646f 7729 2929 2929 ther-window))))) │ │ │ -0003fb20: 0a0a 2864 6566 756e 2061 6e6e 6f74 6174 ..(defun annotat │ │ │ -0003fb30: 696f 6e2d 676f 2d62 6163 6b20 6e69 6c0a ion-go-back nil. │ │ │ -0003fb40: 2020 2247 6f20 6261 636b 2074 6f20 7468 "Go back to th │ │ │ -0003fb50: 6520 7072 6576 696f 7573 2070 6f73 6974 e previous posit │ │ │ -0003fb60: 696f 6e2e 0a54 6865 2070 7265 7669 6f75 ion..The previou │ │ │ -0003fb70: 7320 706f 7369 7469 6f6e 2069 6e20 7768 s position in wh │ │ │ -0003fb80: 6963 6820 6061 6e6e 6f74 6174 696f 6e2d ich `annotation- │ │ │ -0003fb90: 676f 746f 2d61 6e64 2d70 7573 6827 2077 goto-and-push' w │ │ │ -0003fba0: 6173 0a73 7563 6365 7373 6675 6c6c 7920 as.successfully │ │ │ -0003fbb0: 696e 766f 6b65 642e 220a 2020 2877 6865 invoked.". (whe │ │ │ -0003fbc0: 6e20 616e 6e6f 7461 7469 6f6e 2d67 6f74 n annotation-got │ │ │ -0003fbd0: 6f2d 7374 6163 6b0a 2020 2020 286c 6574 o-stack. (let │ │ │ -0003fbe0: 2028 2870 6f73 2028 706f 7020 616e 6e6f ((pos (pop anno │ │ │ -0003fbf0: 7461 7469 6f6e 2d67 6f74 6f2d 7374 6163 tation-goto-stac │ │ │ -0003fc00: 6b29 2929 0a20 2020 2020 2028 616e 6e6f k))). (anno │ │ │ -0003fc10: 7461 7469 6f6e 2d67 6f74 6f20 706f 7329 tation-goto pos) │ │ │ -0003fc20: 2929 290a 0a28 6465 6675 6e20 616e 6e6f )))..(defun anno │ │ │ -0003fc30: 7461 7469 6f6e 2d67 6f74 6f2d 616e 642d tation-goto-and- │ │ │ -0003fc40: 7075 7368 2028 736f 7572 6365 2d62 7566 push (source-buf │ │ │ -0003fc50: 6665 7220 736f 7572 6365 2d70 6f73 2066 fer source-pos f │ │ │ -0003fc60: 696c 6570 6f73 2026 6f70 7469 6f6e 616c ilepos &optional │ │ │ -0003fc70: 206f 7468 6572 2d77 696e 646f 7729 0a20 other-window). │ │ │ -0003fc80: 2022 4c69 6b65 2060 616e 6e6f 7461 7469 "Like `annotati │ │ │ -0003fc90: 6f6e 2d67 6f74 6f27 2c20 6275 7420 7075 on-goto', but pu │ │ │ -0003fca0: 7368 6573 2061 2070 6f73 6974 696f 6e20 shes a position │ │ │ -0003fcb0: 7768 656e 2073 7563 6365 7373 6675 6c2e when successful. │ │ │ -0003fcc0: 0a54 6865 2070 6f73 6974 696f 6e20 636f .The position co │ │ │ -0003fcd0: 6e73 6973 7473 206f 6620 7468 6520 6669 nsists of the fi │ │ │ -0003fce0: 6c65 2076 6973 6974 6564 2062 7920 534f le visited by SO │ │ │ -0003fcf0: 5552 4345 2d42 5546 4645 522c 2061 6e64 URCE-BUFFER, and │ │ │ -0003fd00: 0a74 6865 2070 6f73 6974 696f 6e20 6769 .the position gi │ │ │ -0003fd10: 7665 6e20 6279 2053 4f55 5243 452d 504f ven by SOURCE-PO │ │ │ -0003fd20: 532e 220a 2020 286c 6574 2028 736f 7572 S.". (let (sour │ │ │ -0003fd30: 6365 2d66 696c 652d 6e61 6d65 290a 2020 ce-file-name). │ │ │ -0003fd40: 2020 2877 6974 682d 6375 7272 656e 742d (with-current- │ │ │ -0003fd50: 6275 6666 6572 2073 6f75 7263 652d 6275 buffer source-bu │ │ │ -0003fd60: 6666 6572 0a20 2020 2020 2028 7365 7471 ffer. (setq │ │ │ -0003fd70: 2073 6f75 7263 652d 6669 6c65 2d6e 616d source-file-nam │ │ │ -0003fd80: 6520 6275 6666 6572 2d66 696c 652d 6e61 e buffer-file-na │ │ │ -0003fd90: 6d65 2929 0a20 2020 2028 7768 656e 2028 me)). (when ( │ │ │ -0003fda0: 616e 6e6f 7461 7469 6f6e 2d67 6f74 6f20 annotation-goto │ │ │ -0003fdb0: 6669 6c65 706f 7320 6f74 6865 722d 7769 filepos other-wi │ │ │ -0003fdc0: 6e64 6f77 290a 2020 2020 2020 2875 6e6c ndow). (unl │ │ │ -0003fdd0: 6573 7320 2861 6e64 2028 6571 7561 6c20 ess (and (equal │ │ │ -0003fde0: 736f 7572 6365 2d62 7566 6665 7220 2863 source-buffer (c │ │ │ -0003fdf0: 7572 7265 6e74 2d62 7566 6665 7229 290a urrent-buffer)). │ │ │ -0003fe00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0003fe10: 2020 2028 6571 2073 6f75 7263 652d 706f (eq source-po │ │ │ -0003fe20: 7320 2870 6f69 6e74 2929 290a 2020 2020 s (point))). │ │ │ -0003fe30: 2020 2020 2870 7573 6820 6028 2c73 6f75 (push `(,sou │ │ │ -0003fe40: 7263 652d 6669 6c65 2d6e 616d 6520 2e20 rce-file-name . │ │ │ -0003fe50: 2c73 6f75 7263 652d 706f 7329 0a20 2020 ,source-pos). │ │ │ -0003fe60: 2020 2020 2020 2020 2020 2061 6e6e 6f74 annot │ │ │ -0003fe70: 6174 696f 6e2d 676f 746f 2d73 7461 636b ation-goto-stack │ │ │ -0003fe80: 2929 0a20 2020 2020 2074 2929 290a 0a28 )). t)))..( │ │ │ -0003fe90: 6465 6675 6e20 616e 6e6f 7461 7469 6f6e defun annotation │ │ │ -0003fea0: 2d67 6f74 6f20 2866 696c 6570 6f73 2026 -goto (filepos & │ │ │ -0003feb0: 6f70 7469 6f6e 616c 206f 7468 6572 2d77 optional other-w │ │ │ -0003fec0: 696e 646f 7729 0a20 2022 476f 2074 6f20 indow). "Go to │ │ │ -0003fed0: 6669 6c65 2070 6f73 6974 696f 6e20 4649 file position FI │ │ │ -0003fee0: 4c45 504f 5320 6966 2074 6865 2066 696c LEPOS if the fil │ │ │ -0003fef0: 6520 6973 2072 6561 6461 626c 652e 0a46 e is readable..F │ │ │ -0003ff00: 494c 4550 4f53 2073 686f 756c 6420 6861 ILEPOS should ha │ │ │ -0003ff10: 7665 2074 6865 2066 6f72 6d20 2846 494c ve the form (FIL │ │ │ -0003ff20: 4520 2e20 504f 5329 2e20 2052 6574 7572 E . POS). Retur │ │ │ -0003ff30: 6e20 7420 6966 2073 7563 6365 7373 6675 n t if successfu │ │ │ -0003ff40: 6c2e 0a0a 4966 204f 5448 4552 2d57 494e l...If OTHER-WIN │ │ │ -0003ff50: 444f 5720 6973 206e 6f6e 2d6e 696c 2c20 DOW is non-nil, │ │ │ -0003ff60: 7573 6520 616e 6f74 6865 7220 7769 6e64 use another wind │ │ │ -0003ff70: 6f77 2074 6f20 6469 7370 6c61 7920 7468 ow to display th │ │ │ -0003ff80: 650a 6769 7665 6e20 706f 7369 7469 6f6e e.given position │ │ │ -0003ff90: 2e22 0a20 2028 7768 656e 2028 636f 6e73 .". (when (cons │ │ │ -0003ffa0: 7020 6669 6c65 706f 7329 0a20 2020 2028 p filepos). ( │ │ │ -0003ffb0: 6c65 7420 2828 6669 6c65 2028 6361 7220 let ((file (car │ │ │ -0003ffc0: 6669 6c65 706f 7329 2929 0a20 2020 2020 filepos))). │ │ │ -0003ffd0: 2028 6966 2028 6669 6c65 2d72 6561 6461 (if (file-reada │ │ │ -0003ffe0: 626c 652d 7020 6669 6c65 290a 2020 2020 ble-p file). │ │ │ -0003fff0: 2020 2020 2020 2870 726f 676e 0a20 2020 (progn. │ │ │ -00040000: 2020 2020 2020 2020 2028 6966 206f 7468 (if oth │ │ │ -00040010: 6572 2d77 696e 646f 770a 2020 2020 2020 er-window. │ │ │ -00040020: 2020 2020 2020 2020 2020 2866 696e 642d (find- │ │ │ -00040030: 6669 6c65 2d6f 7468 6572 2d77 696e 646f file-other-windo │ │ │ -00040040: 7720 6669 6c65 290a 2020 2020 2020 2020 w file). │ │ │ -00040050: 2020 2020 2020 2866 696e 642d 6669 6c65 (find-file │ │ │ -00040060: 2066 696c 6529 290a 2020 2020 2020 2020 file)). │ │ │ -00040070: 2020 2020 2867 6f74 6f2d 6368 6172 2028 (goto-char ( │ │ │ -00040080: 6364 7220 6669 6c65 706f 7329 290a 2020 cdr filepos)). │ │ │ -00040090: 2020 2020 2020 2020 2020 7429 0a20 2020 t). │ │ │ -000400a0: 2020 2020 2028 6572 726f 7220 2246 696c (error "Fil │ │ │ -000400b0: 6520 646f 6573 206e 6f74 2065 7869 7374 e does not exist │ │ │ -000400c0: 206f 7220 6973 2075 6e72 6561 6461 626c or is unreadabl │ │ │ -000400d0: 653a 2025 732e 2220 6669 6c65 2929 2929 e: %s." file)))) │ │ │ -000400e0: 290a 0a28 6465 6675 6e20 616e 6e6f 7461 )..(defun annota │ │ │ -000400f0: 7469 6f6e 2d6d 6572 6765 2d66 6163 6573 tion-merge-faces │ │ │ -00040100: 2028 7374 6172 7420 656e 6420 6661 6365 (start end face │ │ │ -00040110: 7329 0a20 2022 4865 6c70 6572 2070 726f s). "Helper pro │ │ │ -00040120: 6365 6475 7265 2075 7365 6420 6279 2060 cedure used by ` │ │ │ -00040130: 616e 6e6f 7461 7469 6f6e 2d61 6e6e 6f74 annotation-annot │ │ │ -00040140: 6174 6527 2e0a 466f 7220 6561 6368 2070 ate'..For each p │ │ │ -00040150: 6f73 6974 696f 6e20 696e 2074 6865 2072 osition in the r │ │ │ -00040160: 616e 6765 2074 6865 2046 4143 4553 2061 ange the FACES a │ │ │ -00040170: 7265 206d 6572 6765 640a 7769 7468 2074 re merged.with t │ │ │ -00040180: 6865 2063 7572 7265 6e74 2076 616c 7565 he current value │ │ │ -00040190: 206f 6620 7468 6520 616e 6e6f 7461 7469 of the annotati │ │ │ -000401a0: 6f6e 2d66 6163 6573 2074 6578 7420 7072 on-faces text pr │ │ │ -000401b0: 6f70 6572 7479 2c20 616e 640a 626f 7468 operty, and.both │ │ │ -000401c0: 2074 6865 2066 6163 6520 616e 6420 7468 the face and th │ │ │ -000401d0: 6520 616e 6e6f 7461 7469 6f6e 2d66 6163 e annotation-fac │ │ │ -000401e0: 6573 2074 6578 7420 7072 6f70 6572 7469 es text properti │ │ │ -000401f0: 6573 2061 7265 2073 6574 2074 6f0a 7468 es are set to.th │ │ │ -00040200: 6520 7265 7375 6c74 696e 6720 6c69 7374 e resulting list │ │ │ -00040210: 206f 6620 6661 6365 732e 0a0a 5072 6563 of faces...Prec │ │ │ -00040220: 6f6e 6469 7469 6f6e 3a20 5354 4152 5420 ondition: START │ │ │ -00040230: 616e 6420 454e 4420 6d75 7374 2062 6520 and END must be │ │ │ -00040240: 6e75 6d62 6572 732c 2061 6e64 2053 5441 numbers, and STA │ │ │ -00040250: 5254 206d 7573 7420 6265 0a6c 6573 7320 RT must be.less │ │ │ -00040260: 7468 616e 2045 4e44 2e22 0a20 2028 636c than END.". (cl │ │ │ -00040270: 2d61 7373 6572 7420 2863 6f6e 6469 7469 -assert (conditi │ │ │ -00040280: 6f6e 2d63 6173 6520 6e69 6c20 283c 2073 on-case nil (< s │ │ │ -00040290: 7461 7274 2065 6e64 2920 2865 7272 6f72 tart end) (error │ │ │ -000402a0: 206e 696c 2929 290a 2020 286c 6574 2028 nil))). (let ( │ │ │ -000402b0: 2870 6f73 2073 7461 7274 290a 2020 2020 (pos start). │ │ │ -000402c0: 2020 2020 6d69 6429 0a20 2020 2028 7768 mid). (wh │ │ │ -000402d0: 696c 6520 283c 2070 6f73 2065 6e64 290a ile (< pos end). │ │ │ -000402e0: 2020 2020 2020 2873 6574 7120 6d69 6420 (setq mid │ │ │ -000402f0: 286e 6578 742d 7369 6e67 6c65 2d70 726f (next-single-pro │ │ │ -00040300: 7065 7274 792d 6368 616e 6765 2070 6f73 perty-change pos │ │ │ -00040310: 2027 616e 6e6f 7461 7469 6f6e 2d66 6163 'annotation-fac │ │ │ -00040320: 6573 0a20 2020 2020 2020 2020 2020 2020 es. │ │ │ +0003fb00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +0003fb10: 6f74 6865 722d 7769 6e64 6f77 2929 2929 other-window)))) │ │ │ +0003fb20: 290a 0a28 6465 6675 6e20 616e 6e6f 7461 )..(defun annota │ │ │ +0003fb30: 7469 6f6e 2d67 6f2d 6261 636b 206e 696c tion-go-back nil │ │ │ +0003fb40: 0a20 2022 476f 2062 6163 6b20 746f 2074 . "Go back to t │ │ │ +0003fb50: 6865 2070 7265 7669 6f75 7320 706f 7369 he previous posi │ │ │ +0003fb60: 7469 6f6e 2e0a 5468 6520 7072 6576 696f tion..The previo │ │ │ +0003fb70: 7573 2070 6f73 6974 696f 6e20 696e 2077 us position in w │ │ │ +0003fb80: 6869 6368 2060 616e 6e6f 7461 7469 6f6e hich `annotation │ │ │ +0003fb90: 2d67 6f74 6f2d 616e 642d 7075 7368 2720 -goto-and-push' │ │ │ +0003fba0: 7761 730a 7375 6363 6573 7366 756c 6c79 was.successfully │ │ │ +0003fbb0: 2069 6e76 6f6b 6564 2e22 0a20 2028 7768 invoked.". (wh │ │ │ +0003fbc0: 656e 2061 6e6e 6f74 6174 696f 6e2d 676f en annotation-go │ │ │ +0003fbd0: 746f 2d73 7461 636b 0a20 2020 2028 6c65 to-stack. (le │ │ │ +0003fbe0: 7420 2828 706f 7320 2870 6f70 2061 6e6e t ((pos (pop ann │ │ │ +0003fbf0: 6f74 6174 696f 6e2d 676f 746f 2d73 7461 otation-goto-sta │ │ │ +0003fc00: 636b 2929 290a 2020 2020 2020 2861 6e6e ck))). (ann │ │ │ +0003fc10: 6f74 6174 696f 6e2d 676f 746f 2070 6f73 otation-goto pos │ │ │ +0003fc20: 2929 2929 0a0a 2864 6566 756e 2061 6e6e ))))..(defun ann │ │ │ +0003fc30: 6f74 6174 696f 6e2d 676f 746f 2d61 6e64 otation-goto-and │ │ │ +0003fc40: 2d70 7573 6820 2873 6f75 7263 652d 6275 -push (source-bu │ │ │ +0003fc50: 6666 6572 2073 6f75 7263 652d 706f 7320 ffer source-pos │ │ │ +0003fc60: 6669 6c65 706f 7320 266f 7074 696f 6e61 filepos &optiona │ │ │ +0003fc70: 6c20 6f74 6865 722d 7769 6e64 6f77 290a l other-window). │ │ │ +0003fc80: 2020 224c 696b 6520 6061 6e6e 6f74 6174 "Like `annotat │ │ │ +0003fc90: 696f 6e2d 676f 746f 272c 2062 7574 2070 ion-goto', but p │ │ │ +0003fca0: 7573 6865 7320 6120 706f 7369 7469 6f6e ushes a position │ │ │ +0003fcb0: 2077 6865 6e20 7375 6363 6573 7366 756c when successful │ │ │ +0003fcc0: 2e0a 5468 6520 706f 7369 7469 6f6e 2063 ..The position c │ │ │ +0003fcd0: 6f6e 7369 7374 7320 6f66 2074 6865 2066 onsists of the f │ │ │ +0003fce0: 696c 6520 7669 7369 7465 6420 6279 2053 ile visited by S │ │ │ +0003fcf0: 4f55 5243 452d 4255 4646 4552 2c20 616e OURCE-BUFFER, an │ │ │ +0003fd00: 640a 7468 6520 706f 7369 7469 6f6e 2067 d.the position g │ │ │ +0003fd10: 6976 656e 2062 7920 534f 5552 4345 2d50 iven by SOURCE-P │ │ │ +0003fd20: 4f53 2e22 0a20 2028 6c65 7420 2873 6f75 OS.". (let (sou │ │ │ +0003fd30: 7263 652d 6669 6c65 2d6e 616d 6529 0a20 rce-file-name). │ │ │ +0003fd40: 2020 2028 7769 7468 2d63 7572 7265 6e74 (with-current │ │ │ +0003fd50: 2d62 7566 6665 7220 736f 7572 6365 2d62 -buffer source-b │ │ │ +0003fd60: 7566 6665 720a 2020 2020 2020 2873 6574 uffer. (set │ │ │ +0003fd70: 7120 736f 7572 6365 2d66 696c 652d 6e61 q source-file-na │ │ │ +0003fd80: 6d65 2062 7566 6665 722d 6669 6c65 2d6e me buffer-file-n │ │ │ +0003fd90: 616d 6529 290a 2020 2020 2877 6865 6e20 ame)). (when │ │ │ +0003fda0: 2861 6e6e 6f74 6174 696f 6e2d 676f 746f (annotation-goto │ │ │ +0003fdb0: 2066 696c 6570 6f73 206f 7468 6572 2d77 filepos other-w │ │ │ +0003fdc0: 696e 646f 7729 0a20 2020 2020 2028 756e indow). (un │ │ │ +0003fdd0: 6c65 7373 2028 616e 6420 2865 7175 616c less (and (equal │ │ │ +0003fde0: 2073 6f75 7263 652d 6275 6666 6572 2028 source-buffer ( │ │ │ +0003fdf0: 6375 7272 656e 742d 6275 6666 6572 2929 current-buffer)) │ │ │ +0003fe00: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ +0003fe10: 2020 2020 2865 7120 736f 7572 6365 2d70 (eq source-p │ │ │ +0003fe20: 6f73 2028 706f 696e 7429 2929 0a20 2020 os (point))). │ │ │ +0003fe30: 2020 2020 2028 7075 7368 2060 282c 736f (push `(,so │ │ │ +0003fe40: 7572 6365 2d66 696c 652d 6e61 6d65 202e urce-file-name . │ │ │ +0003fe50: 202c 736f 7572 6365 2d70 6f73 290a 2020 ,source-pos). │ │ │ +0003fe60: 2020 2020 2020 2020 2020 2020 616e 6e6f anno │ │ │ +0003fe70: 7461 7469 6f6e 2d67 6f74 6f2d 7374 6163 tation-goto-stac │ │ │ +0003fe80: 6b29 290a 2020 2020 2020 7429 2929 0a0a k)). t))).. │ │ │ +0003fe90: 2864 6566 756e 2061 6e6e 6f74 6174 696f (defun annotatio │ │ │ +0003fea0: 6e2d 676f 746f 2028 6669 6c65 706f 7320 n-goto (filepos │ │ │ +0003feb0: 266f 7074 696f 6e61 6c20 6f74 6865 722d &optional other- │ │ │ +0003fec0: 7769 6e64 6f77 290a 2020 2247 6f20 746f window). "Go to │ │ │ +0003fed0: 2066 696c 6520 706f 7369 7469 6f6e 2046 file position F │ │ │ +0003fee0: 494c 4550 4f53 2069 6620 7468 6520 6669 ILEPOS if the fi │ │ │ +0003fef0: 6c65 2069 7320 7265 6164 6162 6c65 2e0a le is readable.. │ │ │ +0003ff00: 4649 4c45 504f 5320 7368 6f75 6c64 2068 FILEPOS should h │ │ │ +0003ff10: 6176 6520 7468 6520 666f 726d 2028 4649 ave the form (FI │ │ │ +0003ff20: 4c45 202e 2050 4f53 292e 2020 5265 7475 LE . POS). Retu │ │ │ +0003ff30: 726e 2074 2069 6620 7375 6363 6573 7366 rn t if successf │ │ │ +0003ff40: 756c 2e0a 0a49 6620 4f54 4845 522d 5749 ul...If OTHER-WI │ │ │ +0003ff50: 4e44 4f57 2069 7320 6e6f 6e2d 6e69 6c2c NDOW is non-nil, │ │ │ +0003ff60: 2075 7365 2061 6e6f 7468 6572 2077 696e use another win │ │ │ +0003ff70: 646f 7720 746f 2064 6973 706c 6179 2074 dow to display t │ │ │ +0003ff80: 6865 0a67 6976 656e 2070 6f73 6974 696f he.given positio │ │ │ +0003ff90: 6e2e 220a 2020 2877 6865 6e20 2863 6f6e n.". (when (con │ │ │ +0003ffa0: 7370 2066 696c 6570 6f73 290a 2020 2020 sp filepos). │ │ │ +0003ffb0: 286c 6574 2028 2866 696c 6520 2863 6172 (let ((file (car │ │ │ +0003ffc0: 2066 696c 6570 6f73 2929 290a 2020 2020 filepos))). │ │ │ +0003ffd0: 2020 2869 6620 2866 696c 652d 7265 6164 (if (file-read │ │ │ +0003ffe0: 6162 6c65 2d70 2066 696c 6529 0a20 2020 able-p file). │ │ │ +0003fff0: 2020 2020 2020 2028 7072 6f67 6e0a 2020 (progn. │ │ │ +00040000: 2020 2020 2020 2020 2020 2869 6620 6f74 (if ot │ │ │ +00040010: 6865 722d 7769 6e64 6f77 0a20 2020 2020 her-window. │ │ │ +00040020: 2020 2020 2020 2020 2020 2028 6669 6e64 (find │ │ │ +00040030: 2d66 696c 652d 6f74 6865 722d 7769 6e64 -file-other-wind │ │ │ +00040040: 6f77 2066 696c 6529 0a20 2020 2020 2020 ow file). │ │ │ +00040050: 2020 2020 2020 2028 6669 6e64 2d66 696c (find-fil │ │ │ +00040060: 6520 6669 6c65 2929 0a20 2020 2020 2020 e file)). │ │ │ +00040070: 2020 2020 2028 676f 746f 2d63 6861 7220 (goto-char │ │ │ +00040080: 2863 6472 2066 696c 6570 6f73 2929 0a20 (cdr filepos)). │ │ │ +00040090: 2020 2020 2020 2020 2020 2074 290a 2020 t). │ │ │ +000400a0: 2020 2020 2020 2865 7272 6f72 2022 4669 (error "Fi │ │ │ +000400b0: 6c65 2064 6f65 7320 6e6f 7420 6578 6973 le does not exis │ │ │ +000400c0: 7420 6f72 2069 7320 756e 7265 6164 6162 t or is unreadab │ │ │ +000400d0: 6c65 3a20 2573 2e22 2066 696c 6529 2929 le: %s." file))) │ │ │ +000400e0: 2929 0a0a 2864 6566 756e 2061 6e6e 6f74 ))..(defun annot │ │ │ +000400f0: 6174 696f 6e2d 6d65 7267 652d 6661 6365 ation-merge-face │ │ │ +00040100: 7320 2873 7461 7274 2065 6e64 2066 6163 s (start end fac │ │ │ +00040110: 6573 290a 2020 2248 656c 7065 7220 7072 es). "Helper pr │ │ │ +00040120: 6f63 6564 7572 6520 7573 6564 2062 7920 ocedure used by │ │ │ +00040130: 6061 6e6e 6f74 6174 696f 6e2d 616e 6e6f `annotation-anno │ │ │ +00040140: 7461 7465 272e 0a46 6f72 2065 6163 6820 tate'..For each │ │ │ +00040150: 706f 7369 7469 6f6e 2069 6e20 7468 6520 position in the │ │ │ +00040160: 7261 6e67 6520 7468 6520 4641 4345 5320 range the FACES │ │ │ +00040170: 6172 6520 6d65 7267 6564 0a77 6974 6820 are merged.with │ │ │ +00040180: 7468 6520 6375 7272 656e 7420 7661 6c75 the current valu │ │ │ +00040190: 6520 6f66 2074 6865 2061 6e6e 6f74 6174 e of the annotat │ │ │ +000401a0: 696f 6e2d 6661 6365 7320 7465 7874 2070 ion-faces text p │ │ │ +000401b0: 726f 7065 7274 792c 2061 6e64 0a62 6f74 roperty, and.bot │ │ │ +000401c0: 6820 7468 6520 6661 6365 2061 6e64 2074 h the face and t │ │ │ +000401d0: 6865 2061 6e6e 6f74 6174 696f 6e2d 6661 he annotation-fa │ │ │ +000401e0: 6365 7320 7465 7874 2070 726f 7065 7274 ces text propert │ │ │ +000401f0: 6965 7320 6172 6520 7365 7420 746f 0a74 ies are set to.t │ │ │ +00040200: 6865 2072 6573 756c 7469 6e67 206c 6973 he resulting lis │ │ │ +00040210: 7420 6f66 2066 6163 6573 2e0a 0a50 7265 t of faces...Pre │ │ │ +00040220: 636f 6e64 6974 696f 6e3a 2053 5441 5254 condition: START │ │ │ +00040230: 2061 6e64 2045 4e44 206d 7573 7420 6265 and END must be │ │ │ +00040240: 206e 756d 6265 7273 2c20 616e 6420 5354 numbers, and ST │ │ │ +00040250: 4152 5420 6d75 7374 2062 650a 6c65 7373 ART must be.less │ │ │ +00040260: 2074 6861 6e20 454e 442e 220a 2020 2863 than END.". (c │ │ │ +00040270: 6c2d 6173 7365 7274 2028 636f 6e64 6974 l-assert (condit │ │ │ +00040280: 696f 6e2d 6361 7365 206e 696c 2028 3c20 ion-case nil (< │ │ │ +00040290: 7374 6172 7420 656e 6429 2028 6572 726f start end) (erro │ │ │ +000402a0: 7220 6e69 6c29 2929 0a20 2028 6c65 7420 r nil))). (let │ │ │ +000402b0: 2828 706f 7320 7374 6172 7429 0a20 2020 ((pos start). │ │ │ +000402c0: 2020 2020 206d 6964 290a 2020 2020 2877 mid). (w │ │ │ +000402d0: 6869 6c65 2028 3c20 706f 7320 656e 6429 hile (< pos end) │ │ │ +000402e0: 0a20 2020 2020 2028 7365 7471 206d 6964 . (setq mid │ │ │ +000402f0: 2028 6e65 7874 2d73 696e 676c 652d 7072 (next-single-pr │ │ │ +00040300: 6f70 6572 7479 2d63 6861 6e67 6520 706f operty-change po │ │ │ +00040310: 7320 2761 6e6e 6f74 6174 696f 6e2d 6661 s 'annotation-fa │ │ │ +00040320: 6365 730a 2020 2020 2020 2020 2020 2020 ces. │ │ │ 00040330: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 00040340: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00040350: 6e69 6c20 656e 6429 290a 2020 2020 2020 nil end)). │ │ │ -00040360: 286c 6574 2a20 2828 6f6c 642d 6661 6365 (let* ((old-face │ │ │ -00040370: 7320 2867 6574 2d74 6578 742d 7072 6f70 s (get-text-prop │ │ │ -00040380: 6572 7479 2070 6f73 2027 616e 6e6f 7461 erty pos 'annota │ │ │ -00040390: 7469 6f6e 2d66 6163 6573 2929 0a20 2020 tion-faces)). │ │ │ -000403a0: 2020 2020 2020 2020 2020 2861 6c6c 2d66 (all-f │ │ │ -000403b0: 6163 6573 2028 636c 2d75 6e69 6f6e 206f aces (cl-union o │ │ │ -000403c0: 6c64 2d66 6163 6573 2066 6163 6573 2929 ld-faces faces)) │ │ │ -000403d0: 290a 2020 2020 2020 2020 286d 6170 6320 ). (mapc │ │ │ -000403e0: 286c 616d 6264 6120 2870 726f 7029 2028 (lambda (prop) ( │ │ │ -000403f0: 7075 742d 7465 7874 2d70 726f 7065 7274 put-text-propert │ │ │ -00040400: 7920 706f 7320 6d69 6420 7072 6f70 2061 y pos mid prop a │ │ │ -00040410: 6c6c 2d66 6163 6573 2929 0a20 2020 2020 ll-faces)). │ │ │ -00040420: 2020 2020 2020 2020 2027 2861 6e6e 6f74 '(annot │ │ │ -00040430: 6174 696f 6e2d 6661 6365 7320 6661 6365 ation-faces face │ │ │ -00040440: 2929 0a20 2020 2020 2020 2028 7365 7471 )). (setq │ │ │ -00040450: 2070 6f73 206d 6964 2929 2929 290a 0a28 pos mid)))))..( │ │ │ -00040460: 6465 6675 6e20 616e 6e6f 7461 7469 6f6e defun annotation │ │ │ -00040470: 2d61 6e6e 6f74 6174 650a 2020 2020 2873 -annotate. (s │ │ │ -00040480: 7461 7274 2065 6e64 2061 6e6e 7320 266f tart end anns &o │ │ │ -00040490: 7074 696f 6e61 6c20 746f 6b65 6e2d 6261 ptional token-ba │ │ │ -000404a0: 7365 6420 696e 666f 2067 6f74 6f29 0a20 sed info goto). │ │ │ -000404b0: 2022 416e 6e6f 7461 7465 2074 6578 7420 "Annotate text │ │ │ -000404c0: 6265 7477 6565 6e20 5354 4152 5420 616e between START an │ │ │ -000404d0: 6420 454e 4420 696e 2074 6865 2063 7572 d END in the cur │ │ │ -000404e0: 7265 6e74 2062 7566 6665 722e 0a0a 4e6f rent buffer...No │ │ │ -000404f0: 7468 696e 6720 6861 7070 656e 7320 6966 thing happens if │ │ │ -00040500: 2065 6974 6865 7220 5354 4152 5420 6f72 either START or │ │ │ -00040510: 2045 4e44 2061 7265 206f 7574 206f 6620 END are out of │ │ │ -00040520: 626f 756e 6473 2066 6f72 2074 6865 0a63 bounds for the.c │ │ │ -00040530: 7572 7265 6e74 2028 706f 7373 6962 6c79 urrent (possibly │ │ │ -00040540: 206e 6172 726f 7765 6429 2062 7566 6665 narrowed) buffe │ │ │ -00040550: 722c 206f 7220 454e 4420 3c3d 2053 5441 r, or END <= STA │ │ │ -00040560: 5254 2e0a 0a49 6620 414e 4e53 2069 7320 RT...If ANNS is │ │ │ -00040570: 6e69 6c2c 2074 6865 6e20 7468 6f73 6520 nil, then those │ │ │ -00040580: 7465 7874 2070 726f 7065 7274 6965 7320 text properties │ │ │ -00040590: 6265 7477 6565 6e20 5354 4152 5420 616e between START an │ │ │ -000405a0: 6420 454e 440a 7468 6174 2068 6176 6520 d END.that have │ │ │ -000405b0: 6265 656e 2073 6574 2062 7920 7468 6973 been set by this │ │ │ -000405c0: 2066 756e 6374 696f 6e20 6172 6520 6465 function are de │ │ │ -000405d0: 6c65 7465 642e 204f 7468 6572 7769 7365 leted. Otherwise │ │ │ -000405e0: 2074 6865 0a66 6f6c 6c6f 7769 6e67 2068 the.following h │ │ │ -000405f0: 6170 7065 6e73 2e0a 0a41 6c6c 2074 6865 appens...All the │ │ │ -00040600: 2073 796d 626f 6c73 2069 6e20 414e 4e53 symbols in ANNS │ │ │ -00040610: 2061 7265 206c 6f6f 6b65 6420 7570 2069 are looked up i │ │ │ -00040620: 6e20 6061 6e6e 6f74 6174 696f 6e2d 6269 n `annotation-bi │ │ │ -00040630: 6e64 696e 6773 272c 0a61 6e64 2074 6865 ndings',.and the │ │ │ -00040640: 2072 6573 756c 7469 6e67 206c 6973 7420 resulting list │ │ │ -00040650: 6f66 2066 6163 6573 2069 7320 7573 6564 of faces is used │ │ │ -00040660: 2074 6f20 7365 7420 7468 6520 6661 6365 to set the face │ │ │ -00040670: 2074 6578 740a 7072 6f70 6572 7479 2e20 text.property. │ │ │ -00040680: 466f 7220 6561 6368 2070 6f73 6974 696f For each positio │ │ │ -00040690: 6e20 696e 2074 6865 2072 616e 6765 2074 n in the range t │ │ │ -000406a0: 6865 2066 6163 6573 2061 7265 206d 6572 he faces are mer │ │ │ -000406b0: 6765 640a 7769 7468 2074 6865 2063 7572 ged.with the cur │ │ │ -000406c0: 7265 6e74 2076 616c 7565 206f 6620 7468 rent value of th │ │ │ -000406d0: 6520 616e 6e6f 7461 7469 6f6e 2d66 6163 e annotation-fac │ │ │ -000406e0: 6573 2074 6578 7420 7072 6f70 6572 7479 es text property │ │ │ -000406f0: 2c20 616e 640a 626f 7468 2074 6865 2066 , and.both the f │ │ │ -00040700: 6163 6520 616e 6420 7468 6520 616e 6e6f ace and the anno │ │ │ -00040710: 7461 7469 6f6e 2d66 6163 6573 2074 6578 tation-faces tex │ │ │ -00040720: 7420 7072 6f70 6572 7469 6573 2061 7265 t properties are │ │ │ -00040730: 2073 6574 2074 6f0a 7468 6520 7265 7375 set to.the resu │ │ │ -00040740: 6c74 696e 6720 6c69 7374 206f 6620 6661 lting list of fa │ │ │ -00040750: 6365 732e 0a0a 4966 2054 4f4b 454e 2d42 ces...If TOKEN-B │ │ │ -00040760: 4153 4544 2069 7320 6e6f 6e2d 6e69 6c2c ASED is non-nil, │ │ │ -00040770: 2074 6865 6e20 7468 6520 616e 6e6f 7461 then the annota │ │ │ -00040780: 7469 6f6e 2d74 6f6b 656e 2d62 6173 6564 tion-token-based │ │ │ -00040790: 0a70 726f 7065 7274 7920 6973 2073 6574 .property is set │ │ │ -000407a0: 2074 6f20 742e 2054 6869 7320 6d65 616e to t. This mean │ │ │ -000407b0: 7320 7468 6174 2061 6c6c 2074 6578 7420 s that all text │ │ │ -000407c0: 7072 6f70 6572 7469 6573 2073 6574 2062 properties set b │ │ │ -000407d0: 790a 6061 6e6e 6f74 6174 696f 6e2d 616e y.`annotation-an │ │ │ -000407e0: 6e6f 7461 7465 2720 696e 2074 6869 7320 notate' in this │ │ │ -000407f0: 7261 6e67 6520 6172 6520 696e 7465 7270 range are interp │ │ │ -00040800: 7265 7465 6420 6173 2062 6569 6e67 0a74 reted as being.t │ │ │ -00040810: 6f6b 656e 2d62 6173 6564 2c20 696e 636c oken-based, incl │ │ │ -00040820: 7564 696e 6720 7468 6f73 6520 7365 7420 uding those set │ │ │ -00040830: 6279 2070 7265 7669 6f75 7320 6361 6c6c by previous call │ │ │ -00040840: 7320 746f 2074 6869 730a 7072 6f63 6564 s to this.proced │ │ │ -00040850: 7572 652e 0a0a 4966 2074 6865 2073 7472 ure...If the str │ │ │ -00040860: 696e 6720 494e 464f 2069 7320 6e6f 6e2d ing INFO is non- │ │ │ -00040870: 6e69 6c2c 2074 6865 206d 6f75 7365 2d66 nil, the mouse-f │ │ │ -00040880: 6163 650a 7072 6f70 6572 7479 2069 7320 ace.property is │ │ │ -00040890: 7365 7420 746f 2068 6967 686c 6967 6874 set to highlight │ │ │ -000408a0: 2c20 616e 6420 494e 464f 2069 7320 7573 , and INFO is us │ │ │ -000408b0: 6564 2061 7320 7468 6520 6865 6c70 2d65 ed as the help-e │ │ │ -000408c0: 6368 6f0a 7374 7269 6e67 2e20 4966 2047 cho.string. If G │ │ │ -000408d0: 4f54 4f20 6861 7320 7468 6520 666f 726d OTO has the form │ │ │ -000408e0: 2028 4649 4c45 4e41 4d45 202e 2050 4f53 (FILENAME . POS │ │ │ -000408f0: 4954 494f 4e29 2c20 7468 656e 2074 6865 ITION), then the │ │ │ -00040900: 0a6d 6f75 7365 2d66 6163 6520 7072 6f70 .mouse-face prop │ │ │ -00040910: 6572 7479 2069 7320 7365 7420 746f 2068 erty is set to h │ │ │ -00040920: 6967 686c 6967 6874 2c20 616e 6420 7468 ighlight, and th │ │ │ -00040930: 6520 6769 7665 6e0a 6669 6c65 6e61 6d65 e given.filename │ │ │ -00040940: 2f70 6f73 6974 696f 6e20 7769 6c6c 2062 /position will b │ │ │ -00040950: 6520 7573 6564 2062 7920 6061 6e6e 6f74 e used by `annot │ │ │ -00040960: 6174 696f 6e2d 676f 746f 2d69 6e64 6972 ation-goto-indir │ │ │ -00040970: 6563 7427 2077 6865 6e0a 6974 2069 7320 ect' when.it is │ │ │ -00040980: 696e 766f 6b65 6420 7769 7468 2061 2070 invoked with a p │ │ │ -00040990: 6f73 6974 696f 6e20 696e 2074 6865 2067 osition in the g │ │ │ -000409a0: 6976 656e 2072 616e 6765 2e0a 0a4e 6f74 iven range...Not │ │ │ -000409b0: 6520 7468 6174 2069 6620 6120 6769 7665 e that if a give │ │ │ -000409c0: 6e20 6174 7472 6962 7574 6520 6973 2064 n attribute is d │ │ │ -000409d0: 6566 696e 6564 2062 7920 7365 7665 7261 efined by severa │ │ │ -000409e0: 6c20 6661 6365 732c 2074 6865 6e0a 7468 l faces, then.th │ │ │ -000409f0: 6520 6669 7273 7420 6661 6365 2773 2073 e first face's s │ │ │ -00040a00: 6574 7469 6e67 2074 616b 6573 2070 7265 etting takes pre │ │ │ -00040a10: 6365 6465 6e63 652e 0a0a 416c 6c20 6368 cedence...All ch │ │ │ -00040a20: 6172 6163 7465 7273 2077 686f 7365 2074 aracters whose t │ │ │ -00040a30: 6578 7420 7072 6f70 6572 7469 6573 2067 ext properties g │ │ │ -00040a40: 6574 2073 6574 2061 6c73 6f20 6861 7665 et set also have │ │ │ -00040a50: 2074 6865 0a61 6e6e 6f74 6174 696f 6e2d the.annotation- │ │ │ -00040a60: 616e 6e6f 7461 7465 6420 7072 6f70 6572 annotated proper │ │ │ -00040a70: 7479 2073 6574 2074 6f20 742c 2061 6e64 ty set to t, and │ │ │ -00040a80: 0a61 6e6e 6f74 6174 696f 6e2d 616e 6e6f .annotation-anno │ │ │ -00040a90: 7461 7469 6f6e 7320 6973 2073 6574 2074 tations is set t │ │ │ -00040aa0: 6f20 6120 6c69 7374 2077 6974 6820 616c o a list with al │ │ │ -00040ab0: 6c20 7468 6520 7072 6f70 6572 7469 6573 l the properties │ │ │ -00040ac0: 0a74 6861 7420 6861 7665 2062 6565 6e20 .that have been │ │ │ -00040ad0: 7365 743b 2074 6869 7320 656e 7375 7265 set; this ensure │ │ │ -00040ae0: 7320 7468 6174 2074 6865 2074 6578 7420 s that the text │ │ │ -00040af0: 7072 6f70 6572 7469 6573 2063 616e 0a6c properties can.l │ │ │ -00040b00: 6174 6572 2062 6520 7265 6d6f 7665 6420 ater be removed │ │ │ -00040b10: 2869 6620 7468 6520 616e 6e6f 7461 7469 (if the annotati │ │ │ -00040b20: 6f6e 2d2a 2070 726f 7065 7274 6965 7320 on-* properties │ │ │ -00040b30: 6172 6520 6e6f 7420 7461 6d70 6572 6564 are not tampered │ │ │ -00040b40: 0a77 6974 6829 2e22 0a20 2028 7768 656e .with).". (when │ │ │ -00040b50: 2028 616e 6420 283c 3d20 2870 6f69 6e74 (and (<= (point │ │ │ -00040b60: 2d6d 696e 2920 7374 6172 7429 0a20 2020 -min) start). │ │ │ -00040b70: 2020 2020 2020 2020 2020 283c 2073 7461 (< sta │ │ │ -00040b80: 7274 2065 6e64 290a 2020 2020 2020 2020 rt end). │ │ │ -00040b90: 2020 2020 2028 3c3d 2065 6e64 2028 706f (<= end (po │ │ │ -00040ba0: 696e 742d 6d61 7829 2929 0a20 2020 2028 int-max))). ( │ │ │ -00040bb0: 6966 2028 6e75 6c6c 2061 6e6e 7329 0a20 if (null anns). │ │ │ -00040bc0: 2020 2020 2020 2028 616e 6e6f 7461 7469 (annotati │ │ │ -00040bd0: 6f6e 2d72 656d 6f76 652d 616e 6e6f 7461 on-remove-annota │ │ │ -00040be0: 7469 6f6e 7320 6e69 6c20 7374 6172 7420 tions nil start │ │ │ -00040bf0: 656e 6429 0a20 2020 2020 2028 6c65 7420 end). (let │ │ │ -00040c00: 2828 6661 6365 7320 2864 656c 7120 6e69 ((faces (delq ni │ │ │ -00040c10: 6c0a 2020 2020 2020 2020 2020 2020 2020 l. │ │ │ -00040c20: 2020 2020 2020 2020 2020 2028 6d61 7063 (mapc │ │ │ -00040c30: 6172 2028 6c61 6d62 6461 2028 616e 6e29 ar (lambda (ann) │ │ │ -00040c40: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ +00040350: 206e 696c 2065 6e64 2929 0a20 2020 2020 nil end)). │ │ │ +00040360: 2028 6c65 742a 2028 286f 6c64 2d66 6163 (let* ((old-fac │ │ │ +00040370: 6573 2028 6765 742d 7465 7874 2d70 726f es (get-text-pro │ │ │ +00040380: 7065 7274 7920 706f 7320 2761 6e6e 6f74 perty pos 'annot │ │ │ +00040390: 6174 696f 6e2d 6661 6365 7329 290a 2020 ation-faces)). │ │ │ +000403a0: 2020 2020 2020 2020 2020 2028 616c 6c2d (all- │ │ │ +000403b0: 6661 6365 7320 2863 6c2d 756e 696f 6e20 faces (cl-union │ │ │ +000403c0: 6f6c 642d 6661 6365 7320 6661 6365 7329 old-faces faces) │ │ │ +000403d0: 2929 0a20 2020 2020 2020 2028 6d61 7063 )). (mapc │ │ │ +000403e0: 2028 6c61 6d62 6461 2028 7072 6f70 2920 (lambda (prop) │ │ │ +000403f0: 2870 7574 2d74 6578 742d 7072 6f70 6572 (put-text-proper │ │ │ +00040400: 7479 2070 6f73 206d 6964 2070 726f 7020 ty pos mid prop │ │ │ +00040410: 616c 6c2d 6661 6365 7329 290a 2020 2020 all-faces)). │ │ │ +00040420: 2020 2020 2020 2020 2020 2728 616e 6e6f '(anno │ │ │ +00040430: 7461 7469 6f6e 2d66 6163 6573 2066 6163 tation-faces fac │ │ │ +00040440: 6529 290a 2020 2020 2020 2020 2873 6574 e)). (set │ │ │ +00040450: 7120 706f 7320 6d69 6429 2929 2929 0a0a q pos mid))))).. │ │ │ +00040460: 2864 6566 756e 2061 6e6e 6f74 6174 696f (defun annotatio │ │ │ +00040470: 6e2d 616e 6e6f 7461 7465 0a20 2020 2028 n-annotate. ( │ │ │ +00040480: 7374 6172 7420 656e 6420 616e 6e73 2026 start end anns & │ │ │ +00040490: 6f70 7469 6f6e 616c 2074 6f6b 656e 2d62 optional token-b │ │ │ +000404a0: 6173 6564 2069 6e66 6f20 676f 746f 290a ased info goto). │ │ │ +000404b0: 2020 2241 6e6e 6f74 6174 6520 7465 7874 "Annotate text │ │ │ +000404c0: 2062 6574 7765 656e 2053 5441 5254 2061 between START a │ │ │ +000404d0: 6e64 2045 4e44 2069 6e20 7468 6520 6375 nd END in the cu │ │ │ +000404e0: 7272 656e 7420 6275 6666 6572 2e0a 0a4e rrent buffer...N │ │ │ +000404f0: 6f74 6869 6e67 2068 6170 7065 6e73 2069 othing happens i │ │ │ +00040500: 6620 6569 7468 6572 2053 5441 5254 206f f either START o │ │ │ +00040510: 7220 454e 4420 6172 6520 6f75 7420 6f66 r END are out of │ │ │ +00040520: 2062 6f75 6e64 7320 666f 7220 7468 650a bounds for the. │ │ │ +00040530: 6375 7272 656e 7420 2870 6f73 7369 626c current (possibl │ │ │ +00040540: 7920 6e61 7272 6f77 6564 2920 6275 6666 y narrowed) buff │ │ │ +00040550: 6572 2c20 6f72 2045 4e44 203c 3d20 5354 er, or END <= ST │ │ │ +00040560: 4152 542e 0a0a 4966 2041 4e4e 5320 6973 ART...If ANNS is │ │ │ +00040570: 206e 696c 2c20 7468 656e 2074 686f 7365 nil, then those │ │ │ +00040580: 2074 6578 7420 7072 6f70 6572 7469 6573 text properties │ │ │ +00040590: 2062 6574 7765 656e 2053 5441 5254 2061 between START a │ │ │ +000405a0: 6e64 2045 4e44 0a74 6861 7420 6861 7665 nd END.that have │ │ │ +000405b0: 2062 6565 6e20 7365 7420 6279 2074 6869 been set by thi │ │ │ +000405c0: 7320 6675 6e63 7469 6f6e 2061 7265 2064 s function are d │ │ │ +000405d0: 656c 6574 6564 2e20 4f74 6865 7277 6973 eleted. Otherwis │ │ │ +000405e0: 6520 7468 650a 666f 6c6c 6f77 696e 6720 e the.following │ │ │ +000405f0: 6861 7070 656e 732e 0a0a 416c 6c20 7468 happens...All th │ │ │ +00040600: 6520 7379 6d62 6f6c 7320 696e 2041 4e4e e symbols in ANN │ │ │ +00040610: 5320 6172 6520 6c6f 6f6b 6564 2075 7020 S are looked up │ │ │ +00040620: 696e 2060 616e 6e6f 7461 7469 6f6e 2d62 in `annotation-b │ │ │ +00040630: 696e 6469 6e67 7327 2c0a 616e 6420 7468 indings',.and th │ │ │ +00040640: 6520 7265 7375 6c74 696e 6720 6c69 7374 e resulting list │ │ │ +00040650: 206f 6620 6661 6365 7320 6973 2075 7365 of faces is use │ │ │ +00040660: 6420 746f 2073 6574 2074 6865 2066 6163 d to set the fac │ │ │ +00040670: 6520 7465 7874 0a70 726f 7065 7274 792e e text.property. │ │ │ +00040680: 2046 6f72 2065 6163 6820 706f 7369 7469 For each positi │ │ │ +00040690: 6f6e 2069 6e20 7468 6520 7261 6e67 6520 on in the range │ │ │ +000406a0: 7468 6520 6661 6365 7320 6172 6520 6d65 the faces are me │ │ │ +000406b0: 7267 6564 0a77 6974 6820 7468 6520 6375 rged.with the cu │ │ │ +000406c0: 7272 656e 7420 7661 6c75 6520 6f66 2074 rrent value of t │ │ │ +000406d0: 6865 2061 6e6e 6f74 6174 696f 6e2d 6661 he annotation-fa │ │ │ +000406e0: 6365 7320 7465 7874 2070 726f 7065 7274 ces text propert │ │ │ +000406f0: 792c 2061 6e64 0a62 6f74 6820 7468 6520 y, and.both the │ │ │ +00040700: 6661 6365 2061 6e64 2074 6865 2061 6e6e face and the ann │ │ │ +00040710: 6f74 6174 696f 6e2d 6661 6365 7320 7465 otation-faces te │ │ │ +00040720: 7874 2070 726f 7065 7274 6965 7320 6172 xt properties ar │ │ │ +00040730: 6520 7365 7420 746f 0a74 6865 2072 6573 e set to.the res │ │ │ +00040740: 756c 7469 6e67 206c 6973 7420 6f66 2066 ulting list of f │ │ │ +00040750: 6163 6573 2e0a 0a49 6620 544f 4b45 4e2d aces...If TOKEN- │ │ │ +00040760: 4241 5345 4420 6973 206e 6f6e 2d6e 696c BASED is non-nil │ │ │ +00040770: 2c20 7468 656e 2074 6865 2061 6e6e 6f74 , then the annot │ │ │ +00040780: 6174 696f 6e2d 746f 6b65 6e2d 6261 7365 ation-token-base │ │ │ +00040790: 640a 7072 6f70 6572 7479 2069 7320 7365 d.property is se │ │ │ +000407a0: 7420 746f 2074 2e20 5468 6973 206d 6561 t to t. This mea │ │ │ +000407b0: 6e73 2074 6861 7420 616c 6c20 7465 7874 ns that all text │ │ │ +000407c0: 2070 726f 7065 7274 6965 7320 7365 7420 properties set │ │ │ +000407d0: 6279 0a60 616e 6e6f 7461 7469 6f6e 2d61 by.`annotation-a │ │ │ +000407e0: 6e6e 6f74 6174 6527 2069 6e20 7468 6973 nnotate' in this │ │ │ +000407f0: 2072 616e 6765 2061 7265 2069 6e74 6572 range are inter │ │ │ +00040800: 7072 6574 6564 2061 7320 6265 696e 670a preted as being. │ │ │ +00040810: 746f 6b65 6e2d 6261 7365 642c 2069 6e63 token-based, inc │ │ │ +00040820: 6c75 6469 6e67 2074 686f 7365 2073 6574 luding those set │ │ │ +00040830: 2062 7920 7072 6576 696f 7573 2063 616c by previous cal │ │ │ +00040840: 6c73 2074 6f20 7468 6973 0a70 726f 6365 ls to this.proce │ │ │ +00040850: 6475 7265 2e0a 0a49 6620 7468 6520 7374 dure...If the st │ │ │ +00040860: 7269 6e67 2049 4e46 4f20 6973 206e 6f6e ring INFO is non │ │ │ +00040870: 2d6e 696c 2c20 7468 6520 6d6f 7573 652d -nil, the mouse- │ │ │ +00040880: 6661 6365 0a70 726f 7065 7274 7920 6973 face.property is │ │ │ +00040890: 2073 6574 2074 6f20 6869 6768 6c69 6768 set to highligh │ │ │ +000408a0: 742c 2061 6e64 2049 4e46 4f20 6973 2075 t, and INFO is u │ │ │ +000408b0: 7365 6420 6173 2074 6865 2068 656c 702d sed as the help- │ │ │ +000408c0: 6563 686f 0a73 7472 696e 672e 2049 6620 echo.string. If │ │ │ +000408d0: 474f 544f 2068 6173 2074 6865 2066 6f72 GOTO has the for │ │ │ +000408e0: 6d20 2846 494c 454e 414d 4520 2e20 504f m (FILENAME . PO │ │ │ +000408f0: 5349 5449 4f4e 292c 2074 6865 6e20 7468 SITION), then th │ │ │ +00040900: 650a 6d6f 7573 652d 6661 6365 2070 726f e.mouse-face pro │ │ │ +00040910: 7065 7274 7920 6973 2073 6574 2074 6f20 perty is set to │ │ │ +00040920: 6869 6768 6c69 6768 742c 2061 6e64 2074 highlight, and t │ │ │ +00040930: 6865 2067 6976 656e 0a66 696c 656e 616d he given.filenam │ │ │ +00040940: 652f 706f 7369 7469 6f6e 2077 696c 6c20 e/position will │ │ │ +00040950: 6265 2075 7365 6420 6279 2060 616e 6e6f be used by `anno │ │ │ +00040960: 7461 7469 6f6e 2d67 6f74 6f2d 696e 6469 tation-goto-indi │ │ │ +00040970: 7265 6374 2720 7768 656e 0a69 7420 6973 rect' when.it is │ │ │ +00040980: 2069 6e76 6f6b 6564 2077 6974 6820 6120 invoked with a │ │ │ +00040990: 706f 7369 7469 6f6e 2069 6e20 7468 6520 position in the │ │ │ +000409a0: 6769 7665 6e20 7261 6e67 652e 0a0a 4e6f given range...No │ │ │ +000409b0: 7465 2074 6861 7420 6966 2061 2067 6976 te that if a giv │ │ │ +000409c0: 656e 2061 7474 7269 6275 7465 2069 7320 en attribute is │ │ │ +000409d0: 6465 6669 6e65 6420 6279 2073 6576 6572 defined by sever │ │ │ +000409e0: 616c 2066 6163 6573 2c20 7468 656e 0a74 al faces, then.t │ │ │ +000409f0: 6865 2066 6972 7374 2066 6163 6527 7320 he first face's │ │ │ +00040a00: 7365 7474 696e 6720 7461 6b65 7320 7072 setting takes pr │ │ │ +00040a10: 6563 6564 656e 6365 2e0a 0a41 6c6c 2063 ecedence...All c │ │ │ +00040a20: 6861 7261 6374 6572 7320 7768 6f73 6520 haracters whose │ │ │ +00040a30: 7465 7874 2070 726f 7065 7274 6965 7320 text properties │ │ │ +00040a40: 6765 7420 7365 7420 616c 736f 2068 6176 get set also hav │ │ │ +00040a50: 6520 7468 650a 616e 6e6f 7461 7469 6f6e e the.annotation │ │ │ +00040a60: 2d61 6e6e 6f74 6174 6564 2070 726f 7065 -annotated prope │ │ │ +00040a70: 7274 7920 7365 7420 746f 2074 2c20 616e rty set to t, an │ │ │ +00040a80: 640a 616e 6e6f 7461 7469 6f6e 2d61 6e6e d.annotation-ann │ │ │ +00040a90: 6f74 6174 696f 6e73 2069 7320 7365 7420 otations is set │ │ │ +00040aa0: 746f 2061 206c 6973 7420 7769 7468 2061 to a list with a │ │ │ +00040ab0: 6c6c 2074 6865 2070 726f 7065 7274 6965 ll the propertie │ │ │ +00040ac0: 730a 7468 6174 2068 6176 6520 6265 656e s.that have been │ │ │ +00040ad0: 2073 6574 3b20 7468 6973 2065 6e73 7572 set; this ensur │ │ │ +00040ae0: 6573 2074 6861 7420 7468 6520 7465 7874 es that the text │ │ │ +00040af0: 2070 726f 7065 7274 6965 7320 6361 6e0a properties can. │ │ │ +00040b00: 6c61 7465 7220 6265 2072 656d 6f76 6564 later be removed │ │ │ +00040b10: 2028 6966 2074 6865 2061 6e6e 6f74 6174 (if the annotat │ │ │ +00040b20: 696f 6e2d 2a20 7072 6f70 6572 7469 6573 ion-* properties │ │ │ +00040b30: 2061 7265 206e 6f74 2074 616d 7065 7265 are not tampere │ │ │ +00040b40: 640a 7769 7468 292e 220a 2020 2877 6865 d.with).". (whe │ │ │ +00040b50: 6e20 2861 6e64 2028 3c3d 2028 706f 696e n (and (<= (poin │ │ │ +00040b60: 742d 6d69 6e29 2073 7461 7274 290a 2020 t-min) start). │ │ │ +00040b70: 2020 2020 2020 2020 2020 2028 3c20 7374 (< st │ │ │ +00040b80: 6172 7420 656e 6429 0a20 2020 2020 2020 art end). │ │ │ +00040b90: 2020 2020 2020 283c 3d20 656e 6420 2870 (<= end (p │ │ │ +00040ba0: 6f69 6e74 2d6d 6178 2929 290a 2020 2020 oint-max))). │ │ │ +00040bb0: 2869 6620 286e 756c 6c20 616e 6e73 290a (if (null anns). │ │ │ +00040bc0: 2020 2020 2020 2020 2861 6e6e 6f74 6174 (annotat │ │ │ +00040bd0: 696f 6e2d 7265 6d6f 7665 2d61 6e6e 6f74 ion-remove-annot │ │ │ +00040be0: 6174 696f 6e73 206e 696c 2073 7461 7274 ations nil start │ │ │ +00040bf0: 2065 6e64 290a 2020 2020 2020 286c 6574 end). (let │ │ │ +00040c00: 2028 2866 6163 6573 2028 6465 6c71 206e ((faces (delq n │ │ │ +00040c10: 696c 0a20 2020 2020 2020 2020 2020 2020 il. │ │ │ +00040c20: 2020 2020 2020 2020 2020 2020 286d 6170 (map │ │ │ +00040c30: 6361 7220 286c 616d 6264 6120 2861 6e6e car (lambda (ann │ │ │ +00040c40: 290a 2020 2020 2020 2020 2020 2020 2020 ). │ │ │ 00040c50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00040c60: 2020 2020 2863 6472 2028 6173 736f 6320 (cdr (assoc │ │ │ -00040c70: 616e 6e20 616e 6e6f 7461 7469 6f6e 2d62 ann annotation-b │ │ │ -00040c80: 696e 6469 6e67 7329 2929 0a20 2020 2020 indings))). │ │ │ +00040c60: 2020 2020 2028 6364 7220 2861 7373 6f63 (cdr (assoc │ │ │ +00040c70: 2061 6e6e 2061 6e6e 6f74 6174 696f 6e2d ann annotation- │ │ │ +00040c80: 6269 6e64 696e 6773 2929 290a 2020 2020 bindings))). │ │ │ 00040c90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00040ca0: 2020 2020 2020 2020 2020 2020 616e 6e73 anns │ │ │ -00040cb0: 2929 290a 2020 2020 2020 2020 2020 2020 ))). │ │ │ -00040cc0: 2870 726f 7073 206e 696c 2929 0a20 2020 (props nil)). │ │ │ -00040cd0: 2020 2020 2028 7768 656e 2066 6163 6573 (when faces │ │ │ -00040ce0: 0a20 2020 2020 2020 2020 2028 616e 6e6f . (anno │ │ │ -00040cf0: 7461 7469 6f6e 2d6d 6572 6765 2d66 6163 tation-merge-fac │ │ │ -00040d00: 6573 2073 7461 7274 2065 6e64 2066 6163 es start end fac │ │ │ -00040d10: 6573 290a 2020 2020 2020 2020 2020 2863 es). (c │ │ │ -00040d20: 6c2d 7075 7368 6e65 7720 2766 6163 6520 l-pushnew 'face │ │ │ -00040d30: 7072 6f70 7329 0a20 2020 2020 2020 2020 props). │ │ │ -00040d40: 2028 636c 2d70 7573 686e 6577 2027 616e (cl-pushnew 'an │ │ │ -00040d50: 6e6f 7461 7469 6f6e 2d66 6163 6573 2070 notation-faces p │ │ │ -00040d60: 726f 7073 2929 0a20 2020 2020 2020 2028 rops)). ( │ │ │ -00040d70: 7768 656e 2074 6f6b 656e 2d62 6173 6564 when token-based │ │ │ -00040d80: 0a20 2020 2020 2020 2020 2028 6164 642d . (add- │ │ │ -00040d90: 7465 7874 2d70 726f 7065 7274 6965 7320 text-properties │ │ │ -00040da0: 7374 6172 7420 656e 640a 2020 2020 2020 start end. │ │ │ +00040ca0: 2020 2020 2020 2020 2020 2020 2061 6e6e ann │ │ │ +00040cb0: 7329 2929 0a20 2020 2020 2020 2020 2020 s))). │ │ │ +00040cc0: 2028 7072 6f70 7320 6e69 6c29 290a 2020 (props nil)). │ │ │ +00040cd0: 2020 2020 2020 2877 6865 6e20 6661 6365 (when face │ │ │ +00040ce0: 730a 2020 2020 2020 2020 2020 2861 6e6e s. (ann │ │ │ +00040cf0: 6f74 6174 696f 6e2d 6d65 7267 652d 6661 otation-merge-fa │ │ │ +00040d00: 6365 7320 7374 6172 7420 656e 6420 6661 ces start end fa │ │ │ +00040d10: 6365 7329 0a20 2020 2020 2020 2020 2028 ces). ( │ │ │ +00040d20: 636c 2d70 7573 686e 6577 2027 6661 6365 cl-pushnew 'face │ │ │ +00040d30: 2070 726f 7073 290a 2020 2020 2020 2020 props). │ │ │ +00040d40: 2020 2863 6c2d 7075 7368 6e65 7720 2761 (cl-pushnew 'a │ │ │ +00040d50: 6e6e 6f74 6174 696f 6e2d 6661 6365 7320 nnotation-faces │ │ │ +00040d60: 7072 6f70 7329 290a 2020 2020 2020 2020 props)). │ │ │ +00040d70: 2877 6865 6e20 746f 6b65 6e2d 6261 7365 (when token-base │ │ │ +00040d80: 640a 2020 2020 2020 2020 2020 2861 6464 d. (add │ │ │ +00040d90: 2d74 6578 742d 7072 6f70 6572 7469 6573 -text-properties │ │ │ +00040da0: 2073 7461 7274 2065 6e64 0a20 2020 2020 start end. │ │ │ 00040db0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00040dc0: 2020 2020 2020 2020 2060 2861 6e6e 6f74 `(annot │ │ │ -00040dd0: 6174 696f 6e2d 746f 6b65 6e2d 6261 7365 ation-token-base │ │ │ -00040de0: 6420 7429 290a 2020 2020 2020 2020 2020 d t)). │ │ │ -00040df0: 2863 6c2d 7075 7368 6e65 7720 2761 6e6e (cl-pushnew 'ann │ │ │ -00040e00: 6f74 6174 696f 6e2d 746f 6b65 6e2d 6261 otation-token-ba │ │ │ -00040e10: 7365 6420 7072 6f70 7329 290a 2020 2020 sed props)). │ │ │ -00040e20: 2020 2020 2877 6865 6e20 2863 6f6e 7370 (when (consp │ │ │ -00040e30: 2067 6f74 6f29 0a20 2020 2020 2020 2020 goto). │ │ │ -00040e40: 2028 6164 642d 7465 7874 2d70 726f 7065 (add-text-prope │ │ │ -00040e50: 7274 6965 7320 7374 6172 7420 656e 640a rties start end. │ │ │ -00040e60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00040e70: 2020 2020 2020 2020 2020 2020 2020 2060 ` │ │ │ -00040e80: 2861 6e6e 6f74 6174 696f 6e2d 676f 746f (annotation-goto │ │ │ -00040e90: 202c 676f 746f 0a20 2020 2020 2020 2020 ,goto. │ │ │ +00040dc0: 2020 2020 2020 2020 2020 6028 616e 6e6f `(anno │ │ │ +00040dd0: 7461 7469 6f6e 2d74 6f6b 656e 2d62 6173 tation-token-bas │ │ │ +00040de0: 6564 2074 2929 0a20 2020 2020 2020 2020 ed t)). │ │ │ +00040df0: 2028 636c 2d70 7573 686e 6577 2027 616e (cl-pushnew 'an │ │ │ +00040e00: 6e6f 7461 7469 6f6e 2d74 6f6b 656e 2d62 notation-token-b │ │ │ +00040e10: 6173 6564 2070 726f 7073 2929 0a20 2020 ased props)). │ │ │ +00040e20: 2020 2020 2028 7768 656e 2028 636f 6e73 (when (cons │ │ │ +00040e30: 7020 676f 746f 290a 2020 2020 2020 2020 p goto). │ │ │ +00040e40: 2020 2861 6464 2d74 6578 742d 7072 6f70 (add-text-prop │ │ │ +00040e50: 6572 7469 6573 2073 7461 7274 2065 6e64 erties start end │ │ │ +00040e60: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ +00040e70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +00040e80: 6028 616e 6e6f 7461 7469 6f6e 2d67 6f74 `(annotation-got │ │ │ +00040e90: 6f20 2c67 6f74 6f0a 2020 2020 2020 2020 o ,goto. │ │ │ 00040ea0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00040eb0: 2020 2020 2020 2020 6d6f 7573 652d 6661 mouse-fa │ │ │ -00040ec0: 6365 2068 6967 686c 6967 6874 2929 0a20 ce highlight)). │ │ │ -00040ed0: 2020 2020 2020 2020 2028 636c 2d70 7573 (cl-pus │ │ │ -00040ee0: 686e 6577 2027 616e 6e6f 7461 7469 6f6e hnew 'annotation │ │ │ -00040ef0: 2d67 6f74 6f20 7072 6f70 7329 0a20 2020 -goto props). │ │ │ -00040f00: 2020 2020 2020 2028 636c 2d70 7573 686e (cl-pushn │ │ │ -00040f10: 6577 2027 6d6f 7573 652d 6661 6365 2070 ew 'mouse-face p │ │ │ -00040f20: 726f 7073 2929 0a20 2020 2020 2020 2028 rops)). ( │ │ │ -00040f30: 7768 656e 2069 6e66 6f0a 2020 2020 2020 when info. │ │ │ -00040f40: 2020 2020 2861 6464 2d74 6578 742d 7072 (add-text-pr │ │ │ -00040f50: 6f70 6572 7469 6573 2073 7461 7274 2065 operties start e │ │ │ -00040f60: 6e64 0a20 2020 2020 2020 2020 2020 2020 nd. │ │ │ +00040eb0: 2020 2020 2020 2020 206d 6f75 7365 2d66 mouse-f │ │ │ +00040ec0: 6163 6520 6869 6768 6c69 6768 7429 290a ace highlight)). │ │ │ +00040ed0: 2020 2020 2020 2020 2020 2863 6c2d 7075 (cl-pu │ │ │ +00040ee0: 7368 6e65 7720 2761 6e6e 6f74 6174 696f shnew 'annotatio │ │ │ +00040ef0: 6e2d 676f 746f 2070 726f 7073 290a 2020 n-goto props). │ │ │ +00040f00: 2020 2020 2020 2020 2863 6c2d 7075 7368 (cl-push │ │ │ +00040f10: 6e65 7720 276d 6f75 7365 2d66 6163 6520 new 'mouse-face │ │ │ +00040f20: 7072 6f70 7329 290a 2020 2020 2020 2020 props)). │ │ │ +00040f30: 2877 6865 6e20 696e 666f 0a20 2020 2020 (when info. │ │ │ +00040f40: 2020 2020 2028 6164 642d 7465 7874 2d70 (add-text-p │ │ │ +00040f50: 726f 7065 7274 6965 7320 7374 6172 7420 roperties start │ │ │ +00040f60: 656e 640a 2020 2020 2020 2020 2020 2020 end. │ │ │ 00040f70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00040f80: 2020 6028 6d6f 7573 652d 6661 6365 2068 `(mouse-face h │ │ │ -00040f90: 6967 686c 6967 6874 2068 656c 702d 6563 ighlight help-ec │ │ │ -00040fa0: 686f 202c 696e 666f 2929 0a20 2020 2020 ho ,info)). │ │ │ -00040fb0: 2020 2020 2028 636c 2d70 7573 686e 6577 (cl-pushnew │ │ │ -00040fc0: 2027 6d6f 7573 652d 6661 6365 2070 726f 'mouse-face pro │ │ │ -00040fd0: 7073 290a 2020 2020 2020 2020 2020 2863 ps). (c │ │ │ -00040fe0: 6c2d 7075 7368 6e65 7720 2768 656c 702d l-pushnew 'help- │ │ │ -00040ff0: 6563 686f 2070 726f 7073 2929 0a20 2020 echo props)). │ │ │ -00041000: 2020 2020 2028 7768 656e 2070 726f 7073 (when props │ │ │ -00041010: 0a20 2020 2020 2020 2020 2028 636c 2d70 . (cl-p │ │ │ -00041020: 7573 686e 6577 2027 616e 6e6f 7461 7469 ushnew 'annotati │ │ │ -00041030: 6f6e 2d61 6e6e 6f74 6174 6564 2070 726f on-annotated pro │ │ │ -00041040: 7073 290a 2020 2020 2020 2020 2020 286c ps). (l │ │ │ -00041050: 6574 2028 2870 6f73 2073 7461 7274 290a et ((pos start). │ │ │ -00041060: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00041070: 6d69 6429 0a20 2020 2020 2020 2020 2020 mid). │ │ │ -00041080: 2028 7768 696c 6520 283c 2070 6f73 2065 (while (< pos e │ │ │ -00041090: 6e64 290a 2020 2020 2020 2020 2020 2020 nd). │ │ │ -000410a0: 2020 2873 6574 7120 6d69 6420 286e 6578 (setq mid (nex │ │ │ -000410b0: 742d 7369 6e67 6c65 2d70 726f 7065 7274 t-single-propert │ │ │ -000410c0: 792d 6368 616e 6765 2070 6f73 0a20 2020 y-change pos. │ │ │ +00040f80: 2020 2060 286d 6f75 7365 2d66 6163 6520 `(mouse-face │ │ │ +00040f90: 6869 6768 6c69 6768 7420 6865 6c70 2d65 highlight help-e │ │ │ +00040fa0: 6368 6f20 2c69 6e66 6f29 290a 2020 2020 cho ,info)). │ │ │ +00040fb0: 2020 2020 2020 2863 6c2d 7075 7368 6e65 (cl-pushne │ │ │ +00040fc0: 7720 276d 6f75 7365 2d66 6163 6520 7072 w 'mouse-face pr │ │ │ +00040fd0: 6f70 7329 0a20 2020 2020 2020 2020 2028 ops). ( │ │ │ +00040fe0: 636c 2d70 7573 686e 6577 2027 6865 6c70 cl-pushnew 'help │ │ │ +00040ff0: 2d65 6368 6f20 7072 6f70 7329 290a 2020 -echo props)). │ │ │ +00041000: 2020 2020 2020 2877 6865 6e20 7072 6f70 (when prop │ │ │ +00041010: 730a 2020 2020 2020 2020 2020 2863 6c2d s. (cl- │ │ │ +00041020: 7075 7368 6e65 7720 2761 6e6e 6f74 6174 pushnew 'annotat │ │ │ +00041030: 696f 6e2d 616e 6e6f 7461 7465 6420 7072 ion-annotated pr │ │ │ +00041040: 6f70 7329 0a20 2020 2020 2020 2020 2028 ops). ( │ │ │ +00041050: 6c65 7420 2828 706f 7320 7374 6172 7429 let ((pos start) │ │ │ +00041060: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ +00041070: 206d 6964 290a 2020 2020 2020 2020 2020 mid). │ │ │ +00041080: 2020 2877 6869 6c65 2028 3c20 706f 7320 (while (< pos │ │ │ +00041090: 656e 6429 0a20 2020 2020 2020 2020 2020 end). │ │ │ +000410a0: 2020 2028 7365 7471 206d 6964 2028 6e65 (setq mid (ne │ │ │ +000410b0: 7874 2d73 696e 676c 652d 7072 6f70 6572 xt-single-proper │ │ │ +000410c0: 7479 2d63 6861 6e67 6520 706f 730a 2020 ty-change pos. │ │ │ 000410d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -000410e0: 2020 2020 2020 2020 2761 6e6e 6f74 6174 'annotat │ │ │ -000410f0: 696f 6e2d 616e 6e6f 7461 7469 6f6e 7320 ion-annotations │ │ │ -00041100: 6e69 6c20 656e 6429 290a 2020 2020 2020 nil end)). │ │ │ -00041110: 2020 2020 2020 2020 286c 6574 2a20 2828 (let* (( │ │ │ -00041120: 6f6c 642d 7072 6f70 7320 2867 6574 2d74 old-props (get-t │ │ │ -00041130: 6578 742d 7072 6f70 6572 7479 2070 6f73 ext-property pos │ │ │ -00041140: 2027 616e 6e6f 7461 7469 6f6e 2d61 6e6e 'annotation-ann │ │ │ -00041150: 6f74 6174 696f 6e73 2929 0a20 2020 2020 otations)). │ │ │ +000410e0: 2020 2020 2020 2020 2027 616e 6e6f 7461 'annota │ │ │ +000410f0: 7469 6f6e 2d61 6e6e 6f74 6174 696f 6e73 tion-annotations │ │ │ +00041100: 206e 696c 2065 6e64 2929 0a20 2020 2020 nil end)). │ │ │ +00041110: 2020 2020 2020 2020 2028 6c65 742a 2028 (let* ( │ │ │ +00041120: 286f 6c64 2d70 726f 7073 2028 6765 742d (old-props (get- │ │ │ +00041130: 7465 7874 2d70 726f 7065 7274 7920 706f text-property po │ │ │ +00041140: 7320 2761 6e6e 6f74 6174 696f 6e2d 616e s 'annotation-an │ │ │ +00041150: 6e6f 7461 7469 6f6e 7329 290a 2020 2020 notations)). │ │ │ 00041160: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00041170: 2861 6c6c 2d70 726f 7073 2028 636c 2d75 (all-props (cl-u │ │ │ -00041180: 6e69 6f6e 206f 6c64 2d70 726f 7073 2070 nion old-props p │ │ │ -00041190: 726f 7073 2929 290a 2020 2020 2020 2020 rops))). │ │ │ -000411a0: 2020 2020 2020 2020 2861 6464 2d74 6578 (add-tex │ │ │ -000411b0: 742d 7072 6f70 6572 7469 6573 2070 6f73 t-properties pos │ │ │ -000411c0: 206d 6964 0a20 2020 2020 2020 2020 2020 mid. │ │ │ -000411d0: 2020 2020 2020 2020 6028 616e 6e6f 7461 `(annota │ │ │ -000411e0: 7469 6f6e 2d61 6e6e 6f74 6174 6564 2074 tion-annotated t │ │ │ -000411f0: 2061 6e6e 6f74 6174 696f 6e2d 616e 6e6f annotation-anno │ │ │ -00041200: 7461 7469 6f6e 7320 2c61 6c6c 2d70 726f tations ,all-pro │ │ │ -00041210: 7073 2929 0a20 2020 2020 2020 2020 2020 ps)). │ │ │ -00041220: 2020 2020 2028 7365 7471 2070 6f73 206d (setq pos m │ │ │ -00041230: 6964 2929 2929 2929 2929 290a 0a28 6465 id)))))))))..(de │ │ │ -00041240: 666d 6163 726f 2061 6e6e 6f74 6174 696f fmacro annotatio │ │ │ -00041250: 6e2d 7072 6573 6572 7665 2d6d 6f64 2d70 n-preserve-mod-p │ │ │ -00041260: 2d61 6e64 2d75 6e64 6f20 2826 7265 7374 -and-undo (&rest │ │ │ -00041270: 2063 6f64 6529 0a20 2022 5275 6e20 434f code). "Run CO │ │ │ -00041280: 4445 2070 7265 7365 7276 696e 6720 626f DE preserving bo │ │ │ -00041290: 7468 2074 6865 2075 6e64 6f20 6461 7461 th the undo data │ │ │ -000412a0: 2061 6e64 2074 6865 206d 6f64 6966 6963 and the modific │ │ │ -000412b0: 6174 696f 6e20 6269 742e 0a4d 6f64 6966 ation bit..Modif │ │ │ -000412c0: 6963 6174 696f 6e20 686f 6f6b 7320 6172 ication hooks ar │ │ │ -000412d0: 6520 616c 736f 2064 6973 6162 6c65 642e e also disabled. │ │ │ -000412e0: 220a 2020 2864 6563 6c61 7265 2028 6465 ". (declare (de │ │ │ -000412f0: 6275 6720 2826 7265 7374 2066 6f72 6d29 bug (&rest form) │ │ │ -00041300: 2929 0a20 2028 6c65 7420 2828 6d6f 6470 )). (let ((modp │ │ │ -00041310: 2028 6d61 6b65 2d73 796d 626f 6c20 226d (make-symbol "m │ │ │ -00041320: 6f64 7022 2929 290a 2020 6028 6c65 7420 odp"))). `(let │ │ │ -00041330: 2828 2c6d 6f64 7020 2862 7566 6665 722d ((,modp (buffer- │ │ │ -00041340: 6d6f 6469 6669 6564 2d70 2929 0a20 2020 modified-p)). │ │ │ -00041350: 2020 2020 2020 3b3b 2044 6f6e 2774 2063 ;; Don't c │ │ │ -00041360: 6865 636b 2069 6620 7468 6520 6669 6c65 heck if the file │ │ │ -00041370: 2069 7320 6265 696e 6720 6d6f 6469 6669 is being modifi │ │ │ -00041380: 6564 2062 7920 736f 6d65 206f 7468 6572 ed by some other │ │ │ -00041390: 2070 726f 6365 7373 2e0a 2020 2020 2020 process.. │ │ │ -000413a0: 2020 2028 6275 6666 6572 2d66 696c 652d (buffer-file- │ │ │ -000413b0: 6e61 6d65 206e 696c 290a 2020 2020 2020 name nil). │ │ │ -000413c0: 2020 203b 3b20 446f 6e27 7420 7265 636f ;; Don't reco │ │ │ -000413d0: 7264 2074 686f 7365 2063 6861 6e67 6573 rd those changes │ │ │ -000413e0: 206f 6e20 7468 6520 756e 646f 2d6c 6f67 on the undo-log │ │ │ -000413f0: 2e0a 2020 2020 2020 2020 2028 6275 6666 .. (buff │ │ │ -00041400: 6572 2d75 6e64 6f2d 6c69 7374 2074 290a er-undo-list t). │ │ │ -00041410: 2020 2020 2020 2020 203b 3b20 446f 6e27 ;; Don' │ │ │ -00041420: 7420 7275 6e20 6d6f 6469 6669 6361 7469 t run modificati │ │ │ -00041430: 6f6e 2068 6f6f 6b73 2e0a 2020 2020 2020 on hooks.. │ │ │ -00041440: 2020 2028 696e 6869 6269 742d 6d6f 6469 (inhibit-modi │ │ │ -00041450: 6669 6361 7469 6f6e 2d68 6f6f 6b73 2074 fication-hooks t │ │ │ -00041460: 2929 0a20 2020 2020 2875 6e77 696e 642d )). (unwind- │ │ │ -00041470: 7072 6f74 6563 740a 2020 2020 2020 2020 protect. │ │ │ -00041480: 2028 7072 6f67 6e20 2c40 636f 6465 290a (progn ,@code). │ │ │ -00041490: 2020 2020 2020 2028 7265 7374 6f72 652d (restore- │ │ │ -000414a0: 6275 6666 6572 2d6d 6f64 6966 6965 642d buffer-modified- │ │ │ -000414b0: 7020 2c6d 6f64 7029 2929 2929 0a0a 2864 p ,modp)))))..(d │ │ │ -000414c0: 6566 756e 2061 6e6e 6f74 6174 696f 6e2d efun annotation- │ │ │ -000414d0: 7265 6d6f 7665 2d61 6e6e 6f74 6174 696f remove-annotatio │ │ │ -000414e0: 6e73 2028 266f 7074 696f 6e61 6c20 746f ns (&optional to │ │ │ -000414f0: 6b65 6e2d 6261 7365 6420 7374 6172 7420 ken-based start │ │ │ -00041500: 656e 6429 0a20 2022 5265 6d6f 7665 2074 end). "Remove t │ │ │ -00041510: 6578 7420 7072 6f70 6572 7469 6573 2073 ext properties s │ │ │ -00041520: 6574 2062 7920 6061 6e6e 6f74 6174 696f et by `annotatio │ │ │ -00041530: 6e2d 616e 6e6f 7461 7465 272e 0a0a 496e n-annotate'...In │ │ │ -00041540: 2074 6865 2063 7572 7265 6e74 2062 7566 the current buf │ │ │ -00041550: 6665 722e 2049 6620 5354 4152 5420 616e fer. If START an │ │ │ -00041560: 6420 454e 4420 6172 6520 6769 7665 6e2c d END are given, │ │ │ -00041570: 2074 6865 6e0a 7072 6f70 6572 7469 6573 then.properties │ │ │ -00041580: 2061 7265 206f 6e6c 7920 7265 6d6f 7665 are only remove │ │ │ -00041590: 6420 6265 7477 6565 6e20 7468 6573 6520 d between these │ │ │ -000415a0: 706f 7369 7469 6f6e 732e 2049 660a 544f positions. If.TO │ │ │ -000415b0: 4b45 4e2d 4241 5345 4420 6973 206e 6f6e KEN-BASED is non │ │ │ -000415c0: 2d6e 696c 2c20 7468 656e 206f 6e6c 7920 -nil, then only │ │ │ -000415d0: 746f 6b65 6e2d 6261 7365 6420 7072 6f70 token-based prop │ │ │ -000415e0: 6572 7469 6573 2061 7265 0a72 656d 6f76 erties are.remov │ │ │ -000415f0: 6564 2e0a 0a54 6869 7320 6675 6e63 7469 ed...This functi │ │ │ -00041600: 6f6e 2070 7265 7365 7276 6573 2074 6865 on preserves the │ │ │ -00041610: 2066 696c 6520 6d6f 6469 6669 6361 7469 file modificati │ │ │ -00041620: 6f6e 2073 7461 6d70 206f 6620 7468 650a on stamp of the. │ │ │ -00041630: 6375 7272 656e 7420 6275 6666 6572 2c20 current buffer, │ │ │ -00041640: 646f 6573 206e 6f74 206d 6f64 6966 7920 does not modify │ │ │ -00041650: 7468 6520 756e 646f 206c 6973 742c 2061 the undo list, a │ │ │ -00041660: 6e64 2074 656d 706f 7261 7269 6c79 0a64 nd temporarily.d │ │ │ -00041670: 6973 6162 6c65 7320 616c 6c20 6d6f 6469 isables all modi │ │ │ -00041680: 6669 6361 7469 6f6e 2068 6f6f 6b73 2e0a fication hooks.. │ │ │ -00041690: 0a4e 6f74 653a 2054 6869 7320 6675 6e63 .Note: This func │ │ │ -000416a0: 7469 6f6e 206d 6179 2066 6169 6c20 6966 tion may fail if │ │ │ -000416b0: 2074 6865 7265 2069 7320 7265 6164 2d6f there is read-o │ │ │ -000416c0: 6e6c 7920 7465 7874 2069 6e20 7468 650a nly text in the. │ │ │ -000416d0: 6275 6666 6572 2e22 0a0a 2020 3b3b 2072 buffer.".. ;; r │ │ │ -000416e0: 656d 6f76 652d 7465 7874 2d70 726f 7065 emove-text-prope │ │ │ -000416f0: 7274 6965 7320 6661 696c 7320 666f 7220 rties fails for │ │ │ -00041700: 7265 6164 2d6f 6e6c 7920 7465 7874 2e0a read-only text.. │ │ │ -00041710: 0a20 2028 616e 6e6f 7461 7469 6f6e 2d70 . (annotation-p │ │ │ -00041720: 7265 7365 7276 652d 6d6f 642d 702d 616e reserve-mod-p-an │ │ │ -00041730: 642d 756e 646f 0a20 2020 286c 6574 2028 d-undo. (let ( │ │ │ -00041740: 2874 6167 2028 6966 2074 6f6b 656e 2d62 (tag (if token-b │ │ │ -00041750: 6173 6564 0a20 2020 2020 2020 2020 2020 ased. │ │ │ -00041760: 2020 2020 2020 2027 616e 6e6f 7461 7469 'annotati │ │ │ -00041770: 6f6e 2d74 6f6b 656e 2d62 6173 6564 0a20 on-token-based. │ │ │ -00041780: 2020 2020 2020 2020 2020 2020 2020 2027 ' │ │ │ -00041790: 616e 6e6f 7461 7469 6f6e 2d61 6e6e 6f74 annotation-annot │ │ │ -000417a0: 6174 6564 2929 0a20 2020 2020 2020 2020 ated)). │ │ │ -000417b0: 2870 6f73 2028 6f72 2073 7461 7274 2028 (pos (or start ( │ │ │ -000417c0: 706f 696e 742d 6d69 6e29 2929 0a20 2020 point-min))). │ │ │ -000417d0: 2020 2020 2020 2865 6e64 2028 6f72 2065 (end (or e │ │ │ -000417e0: 6e64 2028 706f 696e 742d 6d61 7829 2929 nd (point-max))) │ │ │ -000417f0: 0a20 2020 2020 2020 2020 706f 7332 290a . pos2). │ │ │ -00041800: 2020 2020 2028 7768 696c 6520 706f 730a (while pos. │ │ │ -00041810: 2020 2020 2020 2028 6c65 7420 2828 7072 (let ((pr │ │ │ -00041820: 6f70 7320 2867 6574 2d74 6578 742d 7072 ops (get-text-pr │ │ │ -00041830: 6f70 6572 7479 2070 6f73 2027 616e 6e6f operty pos 'anno │ │ │ -00041840: 7461 7469 6f6e 2d61 6e6e 6f74 6174 696f tation-annotatio │ │ │ -00041850: 6e73 2929 290a 2020 2020 2020 2020 2028 ns))). ( │ │ │ -00041860: 7365 7471 2070 6f73 3220 286e 6578 742d setq pos2 (next- │ │ │ -00041870: 7369 6e67 6c65 2d70 726f 7065 7274 792d single-property- │ │ │ -00041880: 6368 616e 6765 2070 6f73 2074 6167 206e change pos tag n │ │ │ -00041890: 696c 2065 6e64 2929 0a20 2020 2020 2020 il end)). │ │ │ -000418a0: 2020 2877 6865 6e20 2861 6e64 2070 726f (when (and pro │ │ │ -000418b0: 7073 0a20 2020 2020 2020 2020 2020 2020 ps. │ │ │ -000418c0: 2020 2020 2020 2028 6f72 2028 6e6f 7420 (or (not │ │ │ -000418d0: 746f 6b65 6e2d 6261 7365 6429 0a20 2020 token-based). │ │ │ +00041170: 2028 616c 6c2d 7072 6f70 7320 2863 6c2d (all-props (cl- │ │ │ +00041180: 756e 696f 6e20 6f6c 642d 7072 6f70 7320 union old-props │ │ │ +00041190: 7072 6f70 7329 2929 0a20 2020 2020 2020 props))). │ │ │ +000411a0: 2020 2020 2020 2020 2028 6164 642d 7465 (add-te │ │ │ +000411b0: 7874 2d70 726f 7065 7274 6965 7320 706f xt-properties po │ │ │ +000411c0: 7320 6d69 640a 2020 2020 2020 2020 2020 s mid. │ │ │ +000411d0: 2020 2020 2020 2020 2060 2861 6e6e 6f74 `(annot │ │ │ +000411e0: 6174 696f 6e2d 616e 6e6f 7461 7465 6420 ation-annotated │ │ │ +000411f0: 7420 616e 6e6f 7461 7469 6f6e 2d61 6e6e t annotation-ann │ │ │ +00041200: 6f74 6174 696f 6e73 202c 616c 6c2d 7072 otations ,all-pr │ │ │ +00041210: 6f70 7329 290a 2020 2020 2020 2020 2020 ops)). │ │ │ +00041220: 2020 2020 2020 2873 6574 7120 706f 7320 (setq pos │ │ │ +00041230: 6d69 6429 2929 2929 2929 2929 0a0a 2864 mid)))))))))..(d │ │ │ +00041240: 6566 6d61 6372 6f20 616e 6e6f 7461 7469 efmacro annotati │ │ │ +00041250: 6f6e 2d70 7265 7365 7276 652d 6d6f 642d on-preserve-mod- │ │ │ +00041260: 702d 616e 642d 756e 646f 2028 2672 6573 p-and-undo (&res │ │ │ +00041270: 7420 636f 6465 290a 2020 2252 756e 2043 t code). "Run C │ │ │ +00041280: 4f44 4520 7072 6573 6572 7669 6e67 2062 ODE preserving b │ │ │ +00041290: 6f74 6820 7468 6520 756e 646f 2064 6174 oth the undo dat │ │ │ +000412a0: 6120 616e 6420 7468 6520 6d6f 6469 6669 a and the modifi │ │ │ +000412b0: 6361 7469 6f6e 2062 6974 2e0a 4d6f 6469 cation bit..Modi │ │ │ +000412c0: 6669 6361 7469 6f6e 2068 6f6f 6b73 2061 fication hooks a │ │ │ +000412d0: 7265 2061 6c73 6f20 6469 7361 626c 6564 re also disabled │ │ │ +000412e0: 2e22 0a20 2028 6465 636c 6172 6520 2864 .". (declare (d │ │ │ +000412f0: 6562 7567 2028 2672 6573 7420 666f 726d ebug (&rest form │ │ │ +00041300: 2929 290a 2020 286c 6574 2028 286d 6f64 ))). (let ((mod │ │ │ +00041310: 7020 286d 616b 652d 7379 6d62 6f6c 2022 p (make-symbol " │ │ │ +00041320: 6d6f 6470 2229 2929 0a20 2060 286c 6574 modp"))). `(let │ │ │ +00041330: 2028 282c 6d6f 6470 2028 6275 6666 6572 ((,modp (buffer │ │ │ +00041340: 2d6d 6f64 6966 6965 642d 7029 290a 2020 -modified-p)). │ │ │ +00041350: 2020 2020 2020 203b 3b20 446f 6e27 7420 ;; Don't │ │ │ +00041360: 6368 6563 6b20 6966 2074 6865 2066 696c check if the fil │ │ │ +00041370: 6520 6973 2062 6569 6e67 206d 6f64 6966 e is being modif │ │ │ +00041380: 6965 6420 6279 2073 6f6d 6520 6f74 6865 ied by some othe │ │ │ +00041390: 7220 7072 6f63 6573 732e 0a20 2020 2020 r process.. │ │ │ +000413a0: 2020 2020 2862 7566 6665 722d 6669 6c65 (buffer-file │ │ │ +000413b0: 2d6e 616d 6520 6e69 6c29 0a20 2020 2020 -name nil). │ │ │ +000413c0: 2020 2020 3b3b 2044 6f6e 2774 2072 6563 ;; Don't rec │ │ │ +000413d0: 6f72 6420 7468 6f73 6520 6368 616e 6765 ord those change │ │ │ +000413e0: 7320 6f6e 2074 6865 2075 6e64 6f2d 6c6f s on the undo-lo │ │ │ +000413f0: 672e 0a20 2020 2020 2020 2020 2862 7566 g.. (buf │ │ │ +00041400: 6665 722d 756e 646f 2d6c 6973 7420 7429 fer-undo-list t) │ │ │ +00041410: 0a20 2020 2020 2020 2020 3b3b 2044 6f6e . ;; Don │ │ │ +00041420: 2774 2072 756e 206d 6f64 6966 6963 6174 't run modificat │ │ │ +00041430: 696f 6e20 686f 6f6b 732e 0a20 2020 2020 ion hooks.. │ │ │ +00041440: 2020 2020 2869 6e68 6962 6974 2d6d 6f64 (inhibit-mod │ │ │ +00041450: 6966 6963 6174 696f 6e2d 686f 6f6b 7320 ification-hooks │ │ │ +00041460: 7429 290a 2020 2020 2028 756e 7769 6e64 t)). (unwind │ │ │ +00041470: 2d70 726f 7465 6374 0a20 2020 2020 2020 -protect. │ │ │ +00041480: 2020 2870 726f 676e 202c 4063 6f64 6529 (progn ,@code) │ │ │ +00041490: 0a20 2020 2020 2020 2872 6573 746f 7265 . (restore │ │ │ +000414a0: 2d62 7566 6665 722d 6d6f 6469 6669 6564 -buffer-modified │ │ │ +000414b0: 2d70 202c 6d6f 6470 2929 2929 290a 0a28 -p ,modp)))))..( │ │ │ +000414c0: 6465 6675 6e20 616e 6e6f 7461 7469 6f6e defun annotation │ │ │ +000414d0: 2d72 656d 6f76 652d 616e 6e6f 7461 7469 -remove-annotati │ │ │ +000414e0: 6f6e 7320 2826 6f70 7469 6f6e 616c 2074 ons (&optional t │ │ │ +000414f0: 6f6b 656e 2d62 6173 6564 2073 7461 7274 oken-based start │ │ │ +00041500: 2065 6e64 290a 2020 2252 656d 6f76 6520 end). "Remove │ │ │ +00041510: 7465 7874 2070 726f 7065 7274 6965 7320 text properties │ │ │ +00041520: 7365 7420 6279 2060 616e 6e6f 7461 7469 set by `annotati │ │ │ +00041530: 6f6e 2d61 6e6e 6f74 6174 6527 2e0a 0a49 on-annotate'...I │ │ │ +00041540: 6e20 7468 6520 6375 7272 656e 7420 6275 n the current bu │ │ │ +00041550: 6666 6572 2e20 4966 2053 5441 5254 2061 ffer. If START a │ │ │ +00041560: 6e64 2045 4e44 2061 7265 2067 6976 656e nd END are given │ │ │ +00041570: 2c20 7468 656e 0a70 726f 7065 7274 6965 , then.propertie │ │ │ +00041580: 7320 6172 6520 6f6e 6c79 2072 656d 6f76 s are only remov │ │ │ +00041590: 6564 2062 6574 7765 656e 2074 6865 7365 ed between these │ │ │ +000415a0: 2070 6f73 6974 696f 6e73 2e20 4966 0a54 positions. If.T │ │ │ +000415b0: 4f4b 454e 2d42 4153 4544 2069 7320 6e6f OKEN-BASED is no │ │ │ +000415c0: 6e2d 6e69 6c2c 2074 6865 6e20 6f6e 6c79 n-nil, then only │ │ │ +000415d0: 2074 6f6b 656e 2d62 6173 6564 2070 726f token-based pro │ │ │ +000415e0: 7065 7274 6965 7320 6172 650a 7265 6d6f perties are.remo │ │ │ +000415f0: 7665 642e 0a0a 5468 6973 2066 756e 6374 ved...This funct │ │ │ +00041600: 696f 6e20 7072 6573 6572 7665 7320 7468 ion preserves th │ │ │ +00041610: 6520 6669 6c65 206d 6f64 6966 6963 6174 e file modificat │ │ │ +00041620: 696f 6e20 7374 616d 7020 6f66 2074 6865 ion stamp of the │ │ │ +00041630: 0a63 7572 7265 6e74 2062 7566 6665 722c .current buffer, │ │ │ +00041640: 2064 6f65 7320 6e6f 7420 6d6f 6469 6679 does not modify │ │ │ +00041650: 2074 6865 2075 6e64 6f20 6c69 7374 2c20 the undo list, │ │ │ +00041660: 616e 6420 7465 6d70 6f72 6172 696c 790a and temporarily. │ │ │ +00041670: 6469 7361 626c 6573 2061 6c6c 206d 6f64 disables all mod │ │ │ +00041680: 6966 6963 6174 696f 6e20 686f 6f6b 732e ification hooks. │ │ │ +00041690: 0a0a 4e6f 7465 3a20 5468 6973 2066 756e ..Note: This fun │ │ │ +000416a0: 6374 696f 6e20 6d61 7920 6661 696c 2069 ction may fail i │ │ │ +000416b0: 6620 7468 6572 6520 6973 2072 6561 642d f there is read- │ │ │ +000416c0: 6f6e 6c79 2074 6578 7420 696e 2074 6865 only text in the │ │ │ +000416d0: 0a62 7566 6665 722e 220a 0a20 203b 3b20 .buffer.".. ;; │ │ │ +000416e0: 7265 6d6f 7665 2d74 6578 742d 7072 6f70 remove-text-prop │ │ │ +000416f0: 6572 7469 6573 2066 6169 6c73 2066 6f72 erties fails for │ │ │ +00041700: 2072 6561 642d 6f6e 6c79 2074 6578 742e read-only text. │ │ │ +00041710: 0a0a 2020 2861 6e6e 6f74 6174 696f 6e2d .. (annotation- │ │ │ +00041720: 7072 6573 6572 7665 2d6d 6f64 2d70 2d61 preserve-mod-p-a │ │ │ +00041730: 6e64 2d75 6e64 6f0a 2020 2028 6c65 7420 nd-undo. (let │ │ │ +00041740: 2828 7461 6720 2869 6620 746f 6b65 6e2d ((tag (if token- │ │ │ +00041750: 6261 7365 640a 2020 2020 2020 2020 2020 based. │ │ │ +00041760: 2020 2020 2020 2020 2761 6e6e 6f74 6174 'annotat │ │ │ +00041770: 696f 6e2d 746f 6b65 6e2d 6261 7365 640a ion-token-based. │ │ │ +00041780: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +00041790: 2761 6e6e 6f74 6174 696f 6e2d 616e 6e6f 'annotation-anno │ │ │ +000417a0: 7461 7465 6429 290a 2020 2020 2020 2020 tated)). │ │ │ +000417b0: 2028 706f 7320 286f 7220 7374 6172 7420 (pos (or start │ │ │ +000417c0: 2870 6f69 6e74 2d6d 696e 2929 290a 2020 (point-min))). │ │ │ +000417d0: 2020 2020 2020 2028 656e 6420 286f 7220 (end (or │ │ │ +000417e0: 656e 6420 2870 6f69 6e74 2d6d 6178 2929 end (point-max)) │ │ │ +000417f0: 290a 2020 2020 2020 2020 2070 6f73 3229 ). pos2) │ │ │ +00041800: 0a20 2020 2020 2877 6869 6c65 2070 6f73 . (while pos │ │ │ +00041810: 0a20 2020 2020 2020 286c 6574 2028 2870 . (let ((p │ │ │ +00041820: 726f 7073 2028 6765 742d 7465 7874 2d70 rops (get-text-p │ │ │ +00041830: 726f 7065 7274 7920 706f 7320 2761 6e6e roperty pos 'ann │ │ │ +00041840: 6f74 6174 696f 6e2d 616e 6e6f 7461 7469 otation-annotati │ │ │ +00041850: 6f6e 7329 2929 0a20 2020 2020 2020 2020 ons))). │ │ │ +00041860: 2873 6574 7120 706f 7332 2028 6e65 7874 (setq pos2 (next │ │ │ +00041870: 2d73 696e 676c 652d 7072 6f70 6572 7479 -single-property │ │ │ +00041880: 2d63 6861 6e67 6520 706f 7320 7461 6720 -change pos tag │ │ │ +00041890: 6e69 6c20 656e 6429 290a 2020 2020 2020 nil end)). │ │ │ +000418a0: 2020 2028 7768 656e 2028 616e 6420 7072 (when (and pr │ │ │ +000418b0: 6f70 730a 2020 2020 2020 2020 2020 2020 ops. │ │ │ +000418c0: 2020 2020 2020 2020 286f 7220 286e 6f74 (or (not │ │ │ +000418d0: 2074 6f6b 656e 2d62 6173 6564 290a 2020 token-based). │ │ │ 000418e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -000418f0: 2020 2020 2028 6d65 6d62 6572 2027 616e (member 'an │ │ │ -00041900: 6e6f 7461 7469 6f6e 2d74 6f6b 656e 2d62 notation-token-b │ │ │ -00041910: 6173 6564 2070 726f 7073 2929 290a 2020 ased props))). │ │ │ -00041920: 2020 2020 2020 2020 2028 7265 6d6f 7665 (remove │ │ │ -00041930: 2d74 6578 742d 7072 6f70 6572 7469 6573 -text-properties │ │ │ -00041940: 2070 6f73 2028 6f72 2070 6f73 3220 2870 pos (or pos2 (p │ │ │ -00041950: 6f69 6e74 2d6d 6178 2929 0a20 2020 2020 oint-max)). │ │ │ -00041960: 2020 2020 2020 2020 2028 636c 2d6d 6170 (cl-map │ │ │ -00041970: 6361 6e20 286c 616d 6264 6120 2870 726f can (lambda (pro │ │ │ -00041980: 7029 2028 6c69 7374 2070 726f 7020 6e69 p) (list prop ni │ │ │ -00041990: 6c29 290a 2020 2020 2020 2020 2020 2020 l)). │ │ │ -000419a0: 2020 2020 2020 2020 2020 2863 6f6e 7320 (cons │ │ │ -000419b0: 2761 6e6e 6f74 6174 696f 6e2d 616e 6e6f 'annotation-anno │ │ │ -000419c0: 7461 7469 6f6e 7320 7072 6f70 7329 2929 tations props))) │ │ │ -000419d0: 2929 0a20 2020 2020 2020 2873 6574 7120 )). (setq │ │ │ -000419e0: 706f 7320 2875 6e6c 6573 7320 286f 7220 pos (unless (or │ │ │ -000419f0: 286e 6f74 2070 6f73 3229 2028 3e3d 2070 (not pos2) (>= p │ │ │ -00041a00: 6f73 3220 656e 6429 2920 706f 7332 2929 os2 end)) pos2)) │ │ │ -00041a10: 2929 2929 0a0a 2864 6566 756e 2061 6e6e ))))..(defun ann │ │ │ -00041a20: 6f74 6174 696f 6e2d 6c6f 6164 2028 676f otation-load (go │ │ │ -00041a30: 746f 2d68 656c 7020 7265 6d6f 7665 2026 to-help remove & │ │ │ -00041a40: 7265 7374 2063 6d64 7329 0a20 2022 4170 rest cmds). "Ap │ │ │ -00041a50: 706c 7920 6869 6768 6c69 6768 7469 6e67 ply highlighting │ │ │ -00041a60: 2061 6e6e 6f74 6174 696f 6e73 2069 6e20 annotations in │ │ │ -00041a70: 434d 4453 2069 6e20 7468 6520 6375 7272 CMDS in the curr │ │ │ -00041a80: 656e 7420 6275 6666 6572 2e0a 0a54 6865 ent buffer...The │ │ │ -00041a90: 2061 7267 756d 656e 7420 434d 4453 2073 argument CMDS s │ │ │ -00041aa0: 686f 756c 6420 6265 2061 206c 6973 7420 hould be a list │ │ │ -00041ab0: 6f66 206c 6973 7473 2028 7374 6172 7420 of lists (start │ │ │ -00041ac0: 656e 6420 616e 6e73 0a26 6f70 7469 6f6e end anns.&option │ │ │ -00041ad0: 616c 2069 6e66 6f20 676f 746f 292e 2054 al info goto). T │ │ │ -00041ae0: 6578 7420 6265 7477 6565 6e20 7374 6172 ext between star │ │ │ -00041af0: 7420 616e 6420 656e 6420 7769 6c6c 2062 t and end will b │ │ │ -00041b00: 650a 616e 6e6f 7461 7465 6420 7769 7468 e.annotated with │ │ │ -00041b10: 2074 6865 2061 6e6e 6f74 6174 696f 6e73 the annotations │ │ │ -00041b20: 2069 6e20 7468 6520 6c69 7374 2061 6e6e in the list ann │ │ │ -00041b30: 7320 2875 7369 6e67 0a60 616e 6e6f 7461 s (using.`annota │ │ │ -00041b40: 7469 6f6e 2d61 6e6e 6f74 6174 6527 292e tion-annotate'). │ │ │ -00041b50: 2049 6620 696e 666f 2061 6e64 2f6f 7220 If info and/or │ │ │ -00041b60: 676f 746f 2061 7265 2070 7265 7365 6e74 goto are present │ │ │ -00041b70: 2074 6865 7920 7769 6c6c 0a62 6520 7573 they will.be us │ │ │ -00041b80: 6564 2061 7320 7468 6520 636f 7272 6573 ed as the corres │ │ │ -00041b90: 706f 6e64 696e 6720 6172 6775 6d65 6e74 ponding argument │ │ │ -00041ba0: 7320 746f 2060 616e 6e6f 7461 7469 6f6e s to `annotation │ │ │ -00041bb0: 2d61 6e6e 6f74 6174 6527 2e0a 0a49 6620 -annotate'...If │ │ │ -00041bc0: 494e 464f 2069 7320 6e69 6c20 696e 2061 INFO is nil in a │ │ │ -00041bd0: 2063 616c 6c20 746f 2060 616e 6e6f 7461 call to `annota │ │ │ -00041be0: 7469 6f6e 2d61 6e6e 6f74 6174 6527 2c20 tion-annotate', │ │ │ -00041bf0: 616e 6420 7468 6520 474f 544f 0a61 7267 and the GOTO.arg │ │ │ -00041c00: 756d 656e 7420 6973 2061 2063 6f6e 732d ument is a cons- │ │ │ -00041c10: 6365 6c6c 2c20 7468 656e 2074 6865 2049 cell, then the I │ │ │ -00041c20: 4e46 4f20 6172 6775 6d65 6e74 2069 7320 NFO argument is │ │ │ -00041c30: 7365 7420 746f 0a47 4f54 4f2d 4845 4c50 set to.GOTO-HELP │ │ │ -00041c40: 2e20 5468 6520 696e 7465 6e74 696f 6e20 . The intention │ │ │ -00041c50: 6973 2074 6861 7420 7468 6520 6465 6661 is that the defa │ │ │ -00041c60: 756c 7420 6865 6c70 2074 6578 7420 7368 ult help text sh │ │ │ -00041c70: 6f75 6c64 0a69 6e66 6f72 6d20 7468 6520 ould.inform the │ │ │ -00041c80: 7573 6572 2061 626f 7574 2074 6865 205c user about the \ │ │ │ -00041c90: 2267 6f74 6f5c 2220 6661 6369 6c69 7479 "goto\" facility │ │ │ -00041ca0: 2e0a 0a49 6620 5245 4d4f 5645 2069 7320 ...If REMOVE is │ │ │ -00041cb0: 6e69 6c2c 2074 6865 6e20 6f6c 6420 7379 nil, then old sy │ │ │ -00041cc0: 6e74 6178 2068 6967 686c 6967 6874 696e ntax highlightin │ │ │ -00041cd0: 6720 696e 666f 726d 6174 696f 6e20 6973 g information is │ │ │ -00041ce0: 206e 6f74 0a72 656d 6f76 6564 2e20 4f74 not.removed. Ot │ │ │ -00041cf0: 6865 7277 6973 6520 616c 6c20 746f 6b65 herwise all toke │ │ │ -00041d00: 6e2d 6261 7365 6420 7379 6e74 6178 2068 n-based syntax h │ │ │ -00041d10: 6967 686c 6967 6874 696e 6720 6973 0a72 ighlighting is.r │ │ │ -00041d20: 656d 6f76 6564 2e20 496e 206f 7264 6572 emoved. In order │ │ │ -00041d30: 2074 6f20 7265 6475 6365 2074 6865 2072 to reduce the r │ │ │ -00041d40: 6973 6b20 6f66 2066 6c69 636b 6572 2074 isk of flicker t │ │ │ -00041d50: 6869 7320 6869 6768 6c69 6768 7469 6e67 his highlighting │ │ │ -00041d60: 0a69 7320 7265 6d6f 7665 6420 7374 6570 .is removed step │ │ │ -00041d70: 2062 7920 7374 6570 2c20 696e 2063 6f6e by step, in con │ │ │ -00041d80: 6a75 6e63 7469 6f6e 2077 6974 6820 7468 junction with th │ │ │ -00041d90: 6520 6164 6469 7469 6f6e 206f 6620 6e65 e addition of ne │ │ │ -00041da0: 770a 6869 6768 6c69 6768 7469 6e67 2e20 w.highlighting. │ │ │ -00041db0: 2854 6869 7320 7072 6f63 6573 7320 6173 (This process as │ │ │ -00041dc0: 7375 6d65 7320 7468 6174 2043 4d44 5320 sumes that CMDS │ │ │ -00041dd0: 6973 206f 7264 6572 6564 2062 7920 7468 is ordered by th │ │ │ -00041de0: 650a 706f 7369 7469 6f6e 7320 6f66 2074 e.positions of t │ │ │ -00041df0: 6865 2061 6e6e 6f74 6174 696f 6e73 2e20 he annotations. │ │ │ -00041e00: 4966 2069 7420 6973 6e27 742c 2074 6865 If it isn't, the │ │ │ -00041e10: 6e20 7468 6520 6869 6768 6c69 6768 7469 n the highlighti │ │ │ -00041e20: 6e67 0a69 7320 7374 696c 6c20 6170 706c ng.is still appl │ │ │ -00041e30: 6965 6420 636f 7272 6563 746c 792c 2062 ied correctly, b │ │ │ -00041e40: 7574 2070 6572 6861 7073 2077 6974 6820 ut perhaps with │ │ │ -00041e50: 6d6f 7265 2066 6c69 636b 6572 2e29 0a0a more flicker.).. │ │ │ -00041e60: 5468 6973 2066 756e 6374 696f 6e20 7072 This function pr │ │ │ -00041e70: 6573 6572 7665 7320 7468 6520 6669 6c65 eserves the file │ │ │ -00041e80: 206d 6f64 6966 6963 6174 696f 6e20 7374 modification st │ │ │ -00041e90: 616d 7020 6f66 2074 6865 0a63 7572 7265 amp of the.curre │ │ │ -00041ea0: 6e74 2062 7566 6665 722c 2064 6f65 7320 nt buffer, does │ │ │ -00041eb0: 6e6f 7420 6d6f 6469 6679 2074 6865 2075 not modify the u │ │ │ -00041ec0: 6e64 6f20 6c69 7374 2c20 616e 6420 7465 ndo list, and te │ │ │ -00041ed0: 6d70 6f72 6172 696c 790a 6469 7361 626c mporarily.disabl │ │ │ -00041ee0: 6573 2061 6c6c 206d 6f64 6966 6963 6174 es all modificat │ │ │ -00041ef0: 696f 6e20 686f 6f6b 732e 0a0a 4e6f 7465 ion hooks...Note │ │ │ -00041f00: 3a20 5468 6973 2066 756e 6374 696f 6e20 : This function │ │ │ -00041f10: 6d61 7920 6661 696c 2069 6620 7468 6572 may fail if ther │ │ │ -00041f20: 6520 6973 2072 6561 642d 6f6e 6c79 2074 e is read-only t │ │ │ -00041f30: 6578 7420 696e 2074 6865 0a62 7566 6665 ext in the.buffe │ │ │ -00041f40: 722e 220a 2020 2861 6e6e 6f74 6174 696f r.". (annotatio │ │ │ -00041f50: 6e2d 7072 6573 6572 7665 2d6d 6f64 2d70 n-preserve-mod-p │ │ │ -00041f60: 2d61 6e64 2d75 6e64 6f0a 2020 2020 2877 -and-undo. (w │ │ │ -00041f70: 6865 6e20 286c 6973 7470 2063 6d64 7329 hen (listp cmds) │ │ │ -00041f80: 0a20 2020 2020 2028 6c65 7420 2828 706f . (let ((po │ │ │ -00041f90: 7320 2870 6f69 6e74 2d6d 696e 2929 290a s (point-min))). │ │ │ -00041fa0: 2020 2020 2020 2020 2864 6f6c 6973 7420 (dolist │ │ │ -00041fb0: 2863 6d64 2063 6d64 7329 0a20 2020 2020 (cmd cmds). │ │ │ -00041fc0: 2020 2020 2028 636c 2d64 6573 7472 7563 (cl-destruc │ │ │ -00041fd0: 7475 7269 6e67 2d62 696e 640a 2020 2020 turing-bind. │ │ │ -00041fe0: 2020 2020 2020 2020 2020 2873 7461 7274 (start │ │ │ -00041ff0: 2065 6e64 2061 6e6e 7320 266f 7074 696f end anns &optio │ │ │ -00042000: 6e61 6c20 746f 6b65 6e2d 6261 7365 6420 nal token-based │ │ │ -00042010: 696e 666f 2067 6f74 6f29 2063 6d64 0a20 info goto) cmd. │ │ │ -00042020: 2020 2020 2020 2020 2020 2028 6c65 7420 (let │ │ │ -00042030: 2828 696e 666f 2028 6966 2028 616e 6420 ((info (if (and │ │ │ -00042040: 286e 6f74 2069 6e66 6f29 2028 636f 6e73 (not info) (cons │ │ │ -00042050: 7020 676f 746f 2929 0a20 2020 2020 2020 p goto)). │ │ │ +000418f0: 2020 2020 2020 286d 656d 6265 7220 2761 (member 'a │ │ │ +00041900: 6e6e 6f74 6174 696f 6e2d 746f 6b65 6e2d nnotation-token- │ │ │ +00041910: 6261 7365 6420 7072 6f70 7329 2929 0a20 based props))). │ │ │ +00041920: 2020 2020 2020 2020 2020 2872 656d 6f76 (remov │ │ │ +00041930: 652d 7465 7874 2d70 726f 7065 7274 6965 e-text-propertie │ │ │ +00041940: 7320 706f 7320 286f 7220 706f 7332 2028 s pos (or pos2 ( │ │ │ +00041950: 706f 696e 742d 6d61 7829 290a 2020 2020 point-max)). │ │ │ +00041960: 2020 2020 2020 2020 2020 2863 6c2d 6d61 (cl-ma │ │ │ +00041970: 7063 616e 2028 6c61 6d62 6461 2028 7072 pcan (lambda (pr │ │ │ +00041980: 6f70 2920 286c 6973 7420 7072 6f70 206e op) (list prop n │ │ │ +00041990: 696c 2929 0a20 2020 2020 2020 2020 2020 il)). │ │ │ +000419a0: 2020 2020 2020 2020 2020 2028 636f 6e73 (cons │ │ │ +000419b0: 2027 616e 6e6f 7461 7469 6f6e 2d61 6e6e 'annotation-ann │ │ │ +000419c0: 6f74 6174 696f 6e73 2070 726f 7073 2929 otations props)) │ │ │ +000419d0: 2929 290a 2020 2020 2020 2028 7365 7471 ))). (setq │ │ │ +000419e0: 2070 6f73 2028 756e 6c65 7373 2028 6f72 pos (unless (or │ │ │ +000419f0: 2028 6e6f 7420 706f 7332 2920 283e 3d20 (not pos2) (>= │ │ │ +00041a00: 706f 7332 2065 6e64 2929 2070 6f73 3229 pos2 end)) pos2) │ │ │ +00041a10: 2929 2929 290a 0a28 6465 6675 6e20 616e )))))..(defun an │ │ │ +00041a20: 6e6f 7461 7469 6f6e 2d6c 6f61 6420 2867 notation-load (g │ │ │ +00041a30: 6f74 6f2d 6865 6c70 2072 656d 6f76 6520 oto-help remove │ │ │ +00041a40: 2672 6573 7420 636d 6473 290a 2020 2241 &rest cmds). "A │ │ │ +00041a50: 7070 6c79 2068 6967 686c 6967 6874 696e pply highlightin │ │ │ +00041a60: 6720 616e 6e6f 7461 7469 6f6e 7320 696e g annotations in │ │ │ +00041a70: 2043 4d44 5320 696e 2074 6865 2063 7572 CMDS in the cur │ │ │ +00041a80: 7265 6e74 2062 7566 6665 722e 0a0a 5468 rent buffer...Th │ │ │ +00041a90: 6520 6172 6775 6d65 6e74 2043 4d44 5320 e argument CMDS │ │ │ +00041aa0: 7368 6f75 6c64 2062 6520 6120 6c69 7374 should be a list │ │ │ +00041ab0: 206f 6620 6c69 7374 7320 2873 7461 7274 of lists (start │ │ │ +00041ac0: 2065 6e64 2061 6e6e 730a 266f 7074 696f end anns.&optio │ │ │ +00041ad0: 6e61 6c20 696e 666f 2067 6f74 6f29 2e20 nal info goto). │ │ │ +00041ae0: 5465 7874 2062 6574 7765 656e 2073 7461 Text between sta │ │ │ +00041af0: 7274 2061 6e64 2065 6e64 2077 696c 6c20 rt and end will │ │ │ +00041b00: 6265 0a61 6e6e 6f74 6174 6564 2077 6974 be.annotated wit │ │ │ +00041b10: 6820 7468 6520 616e 6e6f 7461 7469 6f6e h the annotation │ │ │ +00041b20: 7320 696e 2074 6865 206c 6973 7420 616e s in the list an │ │ │ +00041b30: 6e73 2028 7573 696e 670a 6061 6e6e 6f74 ns (using.`annot │ │ │ +00041b40: 6174 696f 6e2d 616e 6e6f 7461 7465 2729 ation-annotate') │ │ │ +00041b50: 2e20 4966 2069 6e66 6f20 616e 642f 6f72 . If info and/or │ │ │ +00041b60: 2067 6f74 6f20 6172 6520 7072 6573 656e goto are presen │ │ │ +00041b70: 7420 7468 6579 2077 696c 6c0a 6265 2075 t they will.be u │ │ │ +00041b80: 7365 6420 6173 2074 6865 2063 6f72 7265 sed as the corre │ │ │ +00041b90: 7370 6f6e 6469 6e67 2061 7267 756d 656e sponding argumen │ │ │ +00041ba0: 7473 2074 6f20 6061 6e6e 6f74 6174 696f ts to `annotatio │ │ │ +00041bb0: 6e2d 616e 6e6f 7461 7465 272e 0a0a 4966 n-annotate'...If │ │ │ +00041bc0: 2049 4e46 4f20 6973 206e 696c 2069 6e20 INFO is nil in │ │ │ +00041bd0: 6120 6361 6c6c 2074 6f20 6061 6e6e 6f74 a call to `annot │ │ │ +00041be0: 6174 696f 6e2d 616e 6e6f 7461 7465 272c ation-annotate', │ │ │ +00041bf0: 2061 6e64 2074 6865 2047 4f54 4f0a 6172 and the GOTO.ar │ │ │ +00041c00: 6775 6d65 6e74 2069 7320 6120 636f 6e73 gument is a cons │ │ │ +00041c10: 2d63 656c 6c2c 2074 6865 6e20 7468 6520 -cell, then the │ │ │ +00041c20: 494e 464f 2061 7267 756d 656e 7420 6973 INFO argument is │ │ │ +00041c30: 2073 6574 2074 6f0a 474f 544f 2d48 454c set to.GOTO-HEL │ │ │ +00041c40: 502e 2054 6865 2069 6e74 656e 7469 6f6e P. The intention │ │ │ +00041c50: 2069 7320 7468 6174 2074 6865 2064 6566 is that the def │ │ │ +00041c60: 6175 6c74 2068 656c 7020 7465 7874 2073 ault help text s │ │ │ +00041c70: 686f 756c 640a 696e 666f 726d 2074 6865 hould.inform the │ │ │ +00041c80: 2075 7365 7220 6162 6f75 7420 7468 6520 user about the │ │ │ +00041c90: 5c22 676f 746f 5c22 2066 6163 696c 6974 \"goto\" facilit │ │ │ +00041ca0: 792e 0a0a 4966 2052 454d 4f56 4520 6973 y...If REMOVE is │ │ │ +00041cb0: 206e 696c 2c20 7468 656e 206f 6c64 2073 nil, then old s │ │ │ +00041cc0: 796e 7461 7820 6869 6768 6c69 6768 7469 yntax highlighti │ │ │ +00041cd0: 6e67 2069 6e66 6f72 6d61 7469 6f6e 2069 ng information i │ │ │ +00041ce0: 7320 6e6f 740a 7265 6d6f 7665 642e 204f s not.removed. O │ │ │ +00041cf0: 7468 6572 7769 7365 2061 6c6c 2074 6f6b therwise all tok │ │ │ +00041d00: 656e 2d62 6173 6564 2073 796e 7461 7820 en-based syntax │ │ │ +00041d10: 6869 6768 6c69 6768 7469 6e67 2069 730a highlighting is. │ │ │ +00041d20: 7265 6d6f 7665 642e 2049 6e20 6f72 6465 removed. In orde │ │ │ +00041d30: 7220 746f 2072 6564 7563 6520 7468 6520 r to reduce the │ │ │ +00041d40: 7269 736b 206f 6620 666c 6963 6b65 7220 risk of flicker │ │ │ +00041d50: 7468 6973 2068 6967 686c 6967 6874 696e this highlightin │ │ │ +00041d60: 670a 6973 2072 656d 6f76 6564 2073 7465 g.is removed ste │ │ │ +00041d70: 7020 6279 2073 7465 702c 2069 6e20 636f p by step, in co │ │ │ +00041d80: 6e6a 756e 6374 696f 6e20 7769 7468 2074 njunction with t │ │ │ +00041d90: 6865 2061 6464 6974 696f 6e20 6f66 206e he addition of n │ │ │ +00041da0: 6577 0a68 6967 686c 6967 6874 696e 672e ew.highlighting. │ │ │ +00041db0: 2028 5468 6973 2070 726f 6365 7373 2061 (This process a │ │ │ +00041dc0: 7373 756d 6573 2074 6861 7420 434d 4453 ssumes that CMDS │ │ │ +00041dd0: 2069 7320 6f72 6465 7265 6420 6279 2074 is ordered by t │ │ │ +00041de0: 6865 0a70 6f73 6974 696f 6e73 206f 6620 he.positions of │ │ │ +00041df0: 7468 6520 616e 6e6f 7461 7469 6f6e 732e the annotations. │ │ │ +00041e00: 2049 6620 6974 2069 736e 2774 2c20 7468 If it isn't, th │ │ │ +00041e10: 656e 2074 6865 2068 6967 686c 6967 6874 en the highlight │ │ │ +00041e20: 696e 670a 6973 2073 7469 6c6c 2061 7070 ing.is still app │ │ │ +00041e30: 6c69 6564 2063 6f72 7265 6374 6c79 2c20 lied correctly, │ │ │ +00041e40: 6275 7420 7065 7268 6170 7320 7769 7468 but perhaps with │ │ │ +00041e50: 206d 6f72 6520 666c 6963 6b65 722e 290a more flicker.). │ │ │ +00041e60: 0a54 6869 7320 6675 6e63 7469 6f6e 2070 .This function p │ │ │ +00041e70: 7265 7365 7276 6573 2074 6865 2066 696c reserves the fil │ │ │ +00041e80: 6520 6d6f 6469 6669 6361 7469 6f6e 2073 e modification s │ │ │ +00041e90: 7461 6d70 206f 6620 7468 650a 6375 7272 tamp of the.curr │ │ │ +00041ea0: 656e 7420 6275 6666 6572 2c20 646f 6573 ent buffer, does │ │ │ +00041eb0: 206e 6f74 206d 6f64 6966 7920 7468 6520 not modify the │ │ │ +00041ec0: 756e 646f 206c 6973 742c 2061 6e64 2074 undo list, and t │ │ │ +00041ed0: 656d 706f 7261 7269 6c79 0a64 6973 6162 emporarily.disab │ │ │ +00041ee0: 6c65 7320 616c 6c20 6d6f 6469 6669 6361 les all modifica │ │ │ +00041ef0: 7469 6f6e 2068 6f6f 6b73 2e0a 0a4e 6f74 tion hooks...Not │ │ │ +00041f00: 653a 2054 6869 7320 6675 6e63 7469 6f6e e: This function │ │ │ +00041f10: 206d 6179 2066 6169 6c20 6966 2074 6865 may fail if the │ │ │ +00041f20: 7265 2069 7320 7265 6164 2d6f 6e6c 7920 re is read-only │ │ │ +00041f30: 7465 7874 2069 6e20 7468 650a 6275 6666 text in the.buff │ │ │ +00041f40: 6572 2e22 0a20 2028 616e 6e6f 7461 7469 er.". (annotati │ │ │ +00041f50: 6f6e 2d70 7265 7365 7276 652d 6d6f 642d on-preserve-mod- │ │ │ +00041f60: 702d 616e 642d 756e 646f 0a20 2020 2028 p-and-undo. ( │ │ │ +00041f70: 7768 656e 2028 6c69 7374 7020 636d 6473 when (listp cmds │ │ │ +00041f80: 290a 2020 2020 2020 286c 6574 2028 2870 ). (let ((p │ │ │ +00041f90: 6f73 2028 706f 696e 742d 6d69 6e29 2929 os (point-min))) │ │ │ +00041fa0: 0a20 2020 2020 2020 2028 646f 6c69 7374 . (dolist │ │ │ +00041fb0: 2028 636d 6420 636d 6473 290a 2020 2020 (cmd cmds). │ │ │ +00041fc0: 2020 2020 2020 2863 6c2d 6465 7374 7275 (cl-destru │ │ │ +00041fd0: 6374 7572 696e 672d 6269 6e64 0a20 2020 cturing-bind. │ │ │ +00041fe0: 2020 2020 2020 2020 2020 2028 7374 6172 (star │ │ │ +00041ff0: 7420 656e 6420 616e 6e73 2026 6f70 7469 t end anns &opti │ │ │ +00042000: 6f6e 616c 2074 6f6b 656e 2d62 6173 6564 onal token-based │ │ │ +00042010: 2069 6e66 6f20 676f 746f 2920 636d 640a info goto) cmd. │ │ │ +00042020: 2020 2020 2020 2020 2020 2020 286c 6574 (let │ │ │ +00042030: 2028 2869 6e66 6f20 2869 6620 2861 6e64 ((info (if (and │ │ │ +00042040: 2028 6e6f 7420 696e 666f 2920 2863 6f6e (not info) (con │ │ │ +00042050: 7370 2067 6f74 6f29 290a 2020 2020 2020 sp goto)). │ │ │ 00042060: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00042070: 2020 2020 2067 6f74 6f2d 6865 6c70 0a20 goto-help. │ │ │ +00042070: 2020 2020 2020 676f 746f 2d68 656c 700a goto-help. │ │ │ 00042080: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00042090: 2020 2020 2020 2020 2069 6e66 6f29 2929 info))) │ │ │ -000420a0: 0a20 2020 2020 2020 2020 2020 2020 2028 . ( │ │ │ -000420b0: 7768 656e 2072 656d 6f76 650a 2020 2020 when remove. │ │ │ -000420c0: 2020 2020 2020 2020 2020 2020 2861 6e6e (ann │ │ │ -000420d0: 6f74 6174 696f 6e2d 7265 6d6f 7665 2d61 otation-remove-a │ │ │ -000420e0: 6e6e 6f74 6174 696f 6e73 0a20 2020 2020 nnotations. │ │ │ -000420f0: 2020 2020 2020 2020 2020 2020 2774 6f6b 'tok │ │ │ -00042100: 656e 2d62 6173 6564 2070 6f73 2065 6e64 en-based pos end │ │ │ -00042110: 290a 2020 2020 2020 2020 2020 2020 2020 ). │ │ │ -00042120: 2020 2873 6574 7120 706f 7320 656e 6429 (setq pos end) │ │ │ -00042130: 290a 2020 2020 2020 2020 2020 2020 2020 ). │ │ │ -00042140: 2861 6e6e 6f74 6174 696f 6e2d 616e 6e6f (annotation-anno │ │ │ -00042150: 7461 7465 0a20 2020 2020 2020 2020 2020 tate. │ │ │ -00042160: 2020 2020 7374 6172 7420 656e 6420 616e start end an │ │ │ -00042170: 6e73 2074 6f6b 656e 2d62 6173 6564 2069 ns token-based i │ │ │ -00042180: 6e66 6f20 676f 746f 2929 2929 0a20 2020 nfo goto)))). │ │ │ -00042190: 2020 2020 2028 7768 656e 2072 656d 6f76 (when remov │ │ │ -000421a0: 650a 2020 2020 2020 2020 2020 2861 6e6e e. (ann │ │ │ -000421b0: 6f74 6174 696f 6e2d 7265 6d6f 7665 2d61 otation-remove-a │ │ │ -000421c0: 6e6e 6f74 6174 696f 6e73 0a20 2020 2020 nnotations. │ │ │ -000421d0: 2020 2020 2020 2774 6f6b 656e 2d62 6173 'token-bas │ │ │ -000421e0: 6564 2070 6f73 2028 706f 696e 742d 6d61 ed pos (point-ma │ │ │ -000421f0: 7829 2929 2929 2929 0a0a 2870 726f 7669 x)))))))..(provi │ │ │ -00042200: 6465 2027 616e 6e6f 7461 7469 6f6e 290a de 'annotation). │ │ │ -00042210: 3b3b 3b20 616e 6e6f 7461 7469 6f6e 2e65 ;;; annotation.e │ │ │ -00042220: 6c20 656e 6473 2068 6572 650a 9795 f79b l ends here..... │ │ │ -00042230: ddfe f9a3 f101 afa3 99f4 9ef7 8d8b ef01 ................ │ │ │ -00042240: 00a7 0100 0422 6a05 2000 0001 0004 0408 ....."j. ....... │ │ │ -00042250: 0307 025e 0200 0003 0f00 0505 050b 5f0b ...^.........._. │ │ │ -00042260: a801 0b61 0906 0100 8515 ec9e f2a0 a393 ...a............ │ │ │ -00042270: c0a0 3d99 e2c9 a780 bafa b82d 00a8 0100 ..=........-.... │ │ │ -00042280: 042d 2005 8280 80e6 0800 0001 0003 0407 .- ............. │ │ │ -00042290: 0402 0000 030f 0009 0185 153b 3b20 2d2a ...........;; -* │ │ │ -000422a0: 2d20 6c65 7869 6361 6c2d 6269 6e64 696e - lexical-bindin │ │ │ -000422b0: 673a 2074 202d 2a2d 0a3b 3b20 6167 6461 g: t -*-.;; agda │ │ │ -000422c0: 322d 6162 6272 6576 732e 656c 202d 2d2d 2-abbrevs.el --- │ │ │ -000422d0: 2044 6566 6175 6c74 2041 6764 6120 6162 Default Agda ab │ │ │ -000422e0: 6272 6576 730a 3b3b 2053 5044 582d 4c69 brevs.;; SPDX-Li │ │ │ -000422f0: 6365 6e73 652d 4964 656e 7469 6669 6572 cense-Identifier │ │ │ -00042300: 3a20 4d49 5420 4c69 6365 6e73 650a 0a3b : MIT License..; │ │ │ -00042310: 3b3b 2043 6f6d 6d65 6e74 6172 793a 0a0a ;; Commentary:.. │ │ │ -00042320: 3b3b 3b20 436f 6465 3a0a 0a3b 3b20 536b ;;; Code:..;; Sk │ │ │ -00042330: 656c 6574 6f6e 730a 0a28 7265 7175 6972 eletons..(requir │ │ │ -00042340: 6520 2773 6b65 6c65 746f 6e29 0a0a 2864 e 'skeleton)..(d │ │ │ -00042350: 6566 696e 652d 736b 656c 6574 6f6e 2061 efine-skeleton a │ │ │ -00042360: 6764 6132 2d61 6262 7265 7673 2d6d 6f64 gda2-abbrevs-mod │ │ │ -00042370: 756c 650a 2020 2249 6e73 6572 7473 2061 ule. "Inserts a │ │ │ -00042380: 206d 6f64 756c 6520 6865 6164 6572 2074 module header t │ │ │ -00042390: 656d 706c 6174 652e 220a 2020 6e69 6c0a emplate.". nil. │ │ │ -000423a0: 2020 226d 6f64 756c 6520 2220 5f20 2220 "module " _ " │ │ │ -000423b0: 7768 6572 655c 6e22 290a 0a28 6465 6669 where\n")..(defi │ │ │ -000423c0: 6e65 2d73 6b65 6c65 746f 6e20 6167 6461 ne-skeleton agda │ │ │ -000423d0: 322d 6162 6272 6576 732d 6461 7461 0a20 2-abbrevs-data. │ │ │ -000423e0: 2022 496e 7365 7274 7320 6120 6461 7461 "Inserts a data │ │ │ -000423f0: 2074 656d 706c 6174 652e 220a 2020 6e69 template.". ni │ │ │ -00042400: 6c0a 2020 2264 6174 6120 2220 5f20 2220 l. "data " _ " │ │ │ -00042410: 3a20 5365 7420 7768 6572 655c 6e22 290a : Set where\n"). │ │ │ -00042420: 0a28 6465 6669 6e65 2d73 6b65 6c65 746f .(define-skeleto │ │ │ -00042430: 6e20 6167 6461 322d 6162 6272 6576 732d n agda2-abbrevs- │ │ │ -00042440: 7265 636f 7264 0a20 2022 496e 7365 7274 record. "Insert │ │ │ -00042450: 7320 6120 7265 636f 7264 2074 7970 6520 s a record type │ │ │ -00042460: 7465 6d70 6c61 7465 2e22 0a20 206e 696c template.". nil │ │ │ -00042470: 0a20 2022 7265 636f 7264 2022 205f 2022 . "record " _ " │ │ │ -00042480: 203a 2053 6574 2077 6865 7265 5c6e 220a : Set where\n". │ │ │ -00042490: 2020 2220 2066 6965 6c64 5c6e 2229 0a0a " field\n").. │ │ │ -000424a0: 2864 6566 696e 652d 736b 656c 6574 6f6e (define-skeleton │ │ │ -000424b0: 2061 6764 6132 2d61 6262 7265 7673 2d72 agda2-abbrevs-r │ │ │ -000424c0: 6563 6f72 642d 7661 6c75 650a 2020 2249 ecord-value. "I │ │ │ -000424d0: 6e73 6572 7473 2061 2072 6563 6f72 6420 nserts a record │ │ │ -000424e0: 7661 6c75 6520 7465 6d70 6c61 7465 2e22 value template." │ │ │ -000424f0: 0a20 206e 696c 0a20 2022 7265 636f 7264 . nil. "record │ │ │ -00042500: 207b 2220 5f20 227d 2229 0a0a 2864 6566 {" _ "}")..(def │ │ │ -00042510: 696e 652d 736b 656c 6574 6f6e 2061 6764 ine-skeleton agd │ │ │ -00042520: 6132 2d61 6262 7265 7673 2d75 7369 6e67 a2-abbrevs-using │ │ │ -00042530: 0a20 2022 496e 7365 7274 7320 6120 7573 . "Inserts a us │ │ │ -00042540: 696e 6720 7465 6d70 6c61 7465 2e22 0a20 ing template.". │ │ │ -00042550: 206e 696c 0a20 2022 7573 696e 6720 2822 nil. "using (" │ │ │ -00042560: 205f 2022 2922 290a 0a28 6465 6669 6e65 _ ")")..(define │ │ │ -00042570: 2d73 6b65 6c65 746f 6e20 6167 6461 322d -skeleton agda2- │ │ │ -00042580: 6162 6272 6576 732d 6869 6469 6e67 0a20 abbrevs-hiding. │ │ │ -00042590: 2022 496e 7365 7274 7320 6120 6869 6469 "Inserts a hidi │ │ │ -000425a0: 6e67 2074 656d 706c 6174 652e 220a 2020 ng template.". │ │ │ -000425b0: 6e69 6c0a 2020 2268 6964 696e 6720 2822 nil. "hiding (" │ │ │ -000425c0: 205f 2022 2922 290a 0a28 6465 6669 6e65 _ ")")..(define │ │ │ -000425d0: 2d73 6b65 6c65 746f 6e20 6167 6461 322d -skeleton agda2- │ │ │ -000425e0: 6162 6272 6576 732d 7265 6e61 6d69 6e67 abbrevs-renaming │ │ │ -000425f0: 0a20 2022 496e 7365 7274 7320 6120 7265 . "Inserts a re │ │ │ -00042600: 6e61 6d69 6e67 2074 656d 706c 6174 652e naming template. │ │ │ -00042610: 220a 2020 6e69 6c0a 2020 2272 656e 616d ". nil. "renam │ │ │ -00042620: 696e 6720 2822 205f 2022 2074 6f20 2220 ing (" _ " to " │ │ │ -00042630: 5f20 2229 2229 0a0a 2864 6566 696e 652d _ ")")..(define- │ │ │ -00042640: 736b 656c 6574 6f6e 2061 6764 6132 2d61 skeleton agda2-a │ │ │ -00042650: 6262 7265 7673 2d66 6f72 616c 6c0a 2020 bbrevs-forall. │ │ │ -00042660: 2249 6e73 6572 7473 2061 2066 6f72 616c "Inserts a foral │ │ │ -00042670: 6c20 7465 6d70 6c61 7465 2e22 0a20 206e l template.". n │ │ │ -00042680: 696c 0a20 2022 e288 8020 7b22 205f 2022 il. "... {" _ " │ │ │ -00042690: 7d20 2229 0a0a 2864 6566 696e 652d 736b } ")..(define-sk │ │ │ -000426a0: 656c 6574 6f6e 2061 6764 6132 2d61 6262 eleton agda2-abb │ │ │ -000426b0: 7265 7673 2d63 6f64 652d 626c 6f63 6b0a revs-code-block. │ │ │ -000426c0: 2020 2249 6e73 6572 7473 2061 2063 6f64 "Inserts a cod │ │ │ -000426d0: 6520 626c 6f63 6b2e 220a 2020 6e69 6c0a e block.". nil. │ │ │ -000426e0: 2020 225c 5c62 6567 696e 7b63 6f64 657d "\\begin{code} │ │ │ -000426f0: 5c6e 2020 2220 5f20 225c 6e5c 5c65 6e64 \n " _ "\n\\end │ │ │ -00042700: 7b63 6f64 657d 5c6e 2229 0a0a 3b3b 3b3b {code}\n")..;;;; │ │ │ +00042090: 2020 2020 2020 2020 2020 696e 666f 2929 info)) │ │ │ +000420a0: 290a 2020 2020 2020 2020 2020 2020 2020 ). │ │ │ +000420b0: 2877 6865 6e20 7265 6d6f 7665 0a20 2020 (when remove. │ │ │ +000420c0: 2020 2020 2020 2020 2020 2020 2028 616e (an │ │ │ +000420d0: 6e6f 7461 7469 6f6e 2d72 656d 6f76 652d notation-remove- │ │ │ +000420e0: 616e 6e6f 7461 7469 6f6e 730a 2020 2020 annotations. │ │ │ +000420f0: 2020 2020 2020 2020 2020 2020 2027 746f 'to │ │ │ +00042100: 6b65 6e2d 6261 7365 6420 706f 7320 656e ken-based pos en │ │ │ +00042110: 6429 0a20 2020 2020 2020 2020 2020 2020 d). │ │ │ +00042120: 2020 2028 7365 7471 2070 6f73 2065 6e64 (setq pos end │ │ │ +00042130: 2929 0a20 2020 2020 2020 2020 2020 2020 )). │ │ │ +00042140: 2028 616e 6e6f 7461 7469 6f6e 2d61 6e6e (annotation-ann │ │ │ +00042150: 6f74 6174 650a 2020 2020 2020 2020 2020 otate. │ │ │ +00042160: 2020 2020 2073 7461 7274 2065 6e64 2061 start end a │ │ │ +00042170: 6e6e 7320 746f 6b65 6e2d 6261 7365 6420 nns token-based │ │ │ +00042180: 696e 666f 2067 6f74 6f29 2929 290a 2020 info goto)))). │ │ │ +00042190: 2020 2020 2020 2877 6865 6e20 7265 6d6f (when remo │ │ │ +000421a0: 7665 0a20 2020 2020 2020 2020 2028 616e ve. (an │ │ │ +000421b0: 6e6f 7461 7469 6f6e 2d72 656d 6f76 652d notation-remove- │ │ │ +000421c0: 616e 6e6f 7461 7469 6f6e 730a 2020 2020 annotations. │ │ │ +000421d0: 2020 2020 2020 2027 746f 6b65 6e2d 6261 'token-ba │ │ │ +000421e0: 7365 6420 706f 7320 2870 6f69 6e74 2d6d sed pos (point-m │ │ │ +000421f0: 6178 2929 2929 2929 290a 0a28 7072 6f76 ax)))))))..(prov │ │ │ +00042200: 6964 6520 2761 6e6e 6f74 6174 696f 6e29 ide 'annotation) │ │ │ +00042210: 0a3b 3b3b 2061 6e6e 6f74 6174 696f 6e2e .;;; annotation. │ │ │ +00042220: 656c 2065 6e64 7320 6865 7265 0a97 95f7 el ends here.... │ │ │ +00042230: 9bdd fef9 a3f1 01af a399 f49e f78d 8bef ................ │ │ │ +00042240: 0100 a701 0004 226b 0520 0000 0100 0404 ......"k. ...... │ │ │ +00042250: 0803 0702 5e02 0000 030f 0005 0505 0b5f ....^.........._ │ │ │ +00042260: 0ba8 010b 6109 0601 0085 15ec 9ef2 a0a3 ....a........... │ │ │ +00042270: 93c0 a03d 99e2 c9a7 80ba fab8 2d00 a801 ...=........-... │ │ │ +00042280: 0004 2d21 0582 8080 e608 0000 0100 0304 ..-!............ │ │ │ +00042290: 0704 0200 0003 0f00 0901 8515 3b3b 202d ............;; - │ │ │ +000422a0: 2a2d 206c 6578 6963 616c 2d62 696e 6469 *- lexical-bindi │ │ │ +000422b0: 6e67 3a20 7420 2d2a 2d0a 3b3b 2061 6764 ng: t -*-.;; agd │ │ │ +000422c0: 6132 2d61 6262 7265 7673 2e65 6c20 2d2d a2-abbrevs.el -- │ │ │ +000422d0: 2d20 4465 6661 756c 7420 4167 6461 2061 - Default Agda a │ │ │ +000422e0: 6262 7265 7673 0a3b 3b20 5350 4458 2d4c bbrevs.;; SPDX-L │ │ │ +000422f0: 6963 656e 7365 2d49 6465 6e74 6966 6965 icense-Identifie │ │ │ +00042300: 723a 204d 4954 204c 6963 656e 7365 0a0a r: MIT License.. │ │ │ +00042310: 3b3b 3b20 436f 6d6d 656e 7461 7279 3a0a ;;; Commentary:. │ │ │ +00042320: 0a3b 3b3b 2043 6f64 653a 0a0a 3b3b 2053 .;;; Code:..;; S │ │ │ +00042330: 6b65 6c65 746f 6e73 0a0a 2872 6571 7569 keletons..(requi │ │ │ +00042340: 7265 2027 736b 656c 6574 6f6e 290a 0a28 re 'skeleton)..( │ │ │ +00042350: 6465 6669 6e65 2d73 6b65 6c65 746f 6e20 define-skeleton │ │ │ +00042360: 6167 6461 322d 6162 6272 6576 732d 6d6f agda2-abbrevs-mo │ │ │ +00042370: 6475 6c65 0a20 2022 496e 7365 7274 7320 dule. "Inserts │ │ │ +00042380: 6120 6d6f 6475 6c65 2068 6561 6465 7220 a module header │ │ │ +00042390: 7465 6d70 6c61 7465 2e22 0a20 206e 696c template.". nil │ │ │ +000423a0: 0a20 2022 6d6f 6475 6c65 2022 205f 2022 . "module " _ " │ │ │ +000423b0: 2077 6865 7265 5c6e 2229 0a0a 2864 6566 where\n")..(def │ │ │ +000423c0: 696e 652d 736b 656c 6574 6f6e 2061 6764 ine-skeleton agd │ │ │ +000423d0: 6132 2d61 6262 7265 7673 2d64 6174 610a a2-abbrevs-data. │ │ │ +000423e0: 2020 2249 6e73 6572 7473 2061 2064 6174 "Inserts a dat │ │ │ +000423f0: 6120 7465 6d70 6c61 7465 2e22 0a20 206e a template.". n │ │ │ +00042400: 696c 0a20 2022 6461 7461 2022 205f 2022 il. "data " _ " │ │ │ +00042410: 203a 2053 6574 2077 6865 7265 5c6e 2229 : Set where\n") │ │ │ +00042420: 0a0a 2864 6566 696e 652d 736b 656c 6574 ..(define-skelet │ │ │ +00042430: 6f6e 2061 6764 6132 2d61 6262 7265 7673 on agda2-abbrevs │ │ │ +00042440: 2d72 6563 6f72 640a 2020 2249 6e73 6572 -record. "Inser │ │ │ +00042450: 7473 2061 2072 6563 6f72 6420 7479 7065 ts a record type │ │ │ +00042460: 2074 656d 706c 6174 652e 220a 2020 6e69 template.". ni │ │ │ +00042470: 6c0a 2020 2272 6563 6f72 6420 2220 5f20 l. "record " _ │ │ │ +00042480: 2220 3a20 5365 7420 7768 6572 655c 6e22 " : Set where\n" │ │ │ +00042490: 0a20 2022 2020 6669 656c 645c 6e22 290a . " field\n"). │ │ │ +000424a0: 0a28 6465 6669 6e65 2d73 6b65 6c65 746f .(define-skeleto │ │ │ +000424b0: 6e20 6167 6461 322d 6162 6272 6576 732d n agda2-abbrevs- │ │ │ +000424c0: 7265 636f 7264 2d76 616c 7565 0a20 2022 record-value. " │ │ │ +000424d0: 496e 7365 7274 7320 6120 7265 636f 7264 Inserts a record │ │ │ +000424e0: 2076 616c 7565 2074 656d 706c 6174 652e value template. │ │ │ +000424f0: 220a 2020 6e69 6c0a 2020 2272 6563 6f72 ". nil. "recor │ │ │ +00042500: 6420 7b22 205f 2022 7d22 290a 0a28 6465 d {" _ "}")..(de │ │ │ +00042510: 6669 6e65 2d73 6b65 6c65 746f 6e20 6167 fine-skeleton ag │ │ │ +00042520: 6461 322d 6162 6272 6576 732d 7573 696e da2-abbrevs-usin │ │ │ +00042530: 670a 2020 2249 6e73 6572 7473 2061 2075 g. "Inserts a u │ │ │ +00042540: 7369 6e67 2074 656d 706c 6174 652e 220a sing template.". │ │ │ +00042550: 2020 6e69 6c0a 2020 2275 7369 6e67 2028 nil. "using ( │ │ │ +00042560: 2220 5f20 2229 2229 0a0a 2864 6566 696e " _ ")")..(defin │ │ │ +00042570: 652d 736b 656c 6574 6f6e 2061 6764 6132 e-skeleton agda2 │ │ │ +00042580: 2d61 6262 7265 7673 2d68 6964 696e 670a -abbrevs-hiding. │ │ │ +00042590: 2020 2249 6e73 6572 7473 2061 2068 6964 "Inserts a hid │ │ │ +000425a0: 696e 6720 7465 6d70 6c61 7465 2e22 0a20 ing template.". │ │ │ +000425b0: 206e 696c 0a20 2022 6869 6469 6e67 2028 nil. "hiding ( │ │ │ +000425c0: 2220 5f20 2229 2229 0a0a 2864 6566 696e " _ ")")..(defin │ │ │ +000425d0: 652d 736b 656c 6574 6f6e 2061 6764 6132 e-skeleton agda2 │ │ │ +000425e0: 2d61 6262 7265 7673 2d72 656e 616d 696e -abbrevs-renamin │ │ │ +000425f0: 670a 2020 2249 6e73 6572 7473 2061 2072 g. "Inserts a r │ │ │ +00042600: 656e 616d 696e 6720 7465 6d70 6c61 7465 enaming template │ │ │ +00042610: 2e22 0a20 206e 696c 0a20 2022 7265 6e61 .". nil. "rena │ │ │ +00042620: 6d69 6e67 2028 2220 5f20 2220 746f 2022 ming (" _ " to " │ │ │ +00042630: 205f 2022 2922 290a 0a28 6465 6669 6e65 _ ")")..(define │ │ │ +00042640: 2d73 6b65 6c65 746f 6e20 6167 6461 322d -skeleton agda2- │ │ │ +00042650: 6162 6272 6576 732d 666f 7261 6c6c 0a20 abbrevs-forall. │ │ │ +00042660: 2022 496e 7365 7274 7320 6120 666f 7261 "Inserts a fora │ │ │ +00042670: 6c6c 2074 656d 706c 6174 652e 220a 2020 ll template.". │ │ │ +00042680: 6e69 6c0a 2020 22e2 8880 207b 2220 5f20 nil. "... {" _ │ │ │ +00042690: 227d 2022 290a 0a28 6465 6669 6e65 2d73 "} ")..(define-s │ │ │ +000426a0: 6b65 6c65 746f 6e20 6167 6461 322d 6162 keleton agda2-ab │ │ │ +000426b0: 6272 6576 732d 636f 6465 2d62 6c6f 636b brevs-code-block │ │ │ +000426c0: 0a20 2022 496e 7365 7274 7320 6120 636f . "Inserts a co │ │ │ +000426d0: 6465 2062 6c6f 636b 2e22 0a20 206e 696c de block.". nil │ │ │ +000426e0: 0a20 2022 5c5c 6265 6769 6e7b 636f 6465 . "\\begin{code │ │ │ +000426f0: 7d5c 6e20 2022 205f 2022 5c6e 5c5c 656e }\n " _ "\n\\en │ │ │ +00042700: 647b 636f 6465 7d5c 6e22 290a 0a3b 3b3b d{code}\n")..;;; │ │ │ 00042710: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00042720: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00042730: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00042740: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ -00042750: 3b3b 3b3b 0a3b 3b20 4162 6272 6576 730a ;;;;.;; Abbrevs. │ │ │ -00042760: 0a28 6465 6676 6172 2061 6764 6132 2d61 .(defvar agda2-a │ │ │ -00042770: 6262 7265 7673 2d64 6566 6175 6c74 7320 bbrevs-defaults │ │ │ -00042780: 2728 0a20 2028 226d 2220 2020 2222 2061 '(. ("m" "" a │ │ │ -00042790: 6764 6132 2d61 6262 7265 7673 2d6d 6f64 gda2-abbrevs-mod │ │ │ -000427a0: 756c 6529 0a20 2028 2264 2220 2020 2222 ule). ("d" "" │ │ │ -000427b0: 2061 6764 6132 2d61 6262 7265 7673 2d64 agda2-abbrevs-d │ │ │ -000427c0: 6174 6129 0a20 2028 2263 2220 2020 2222 ata). ("c" "" │ │ │ -000427d0: 2061 6764 6132 2d61 6262 7265 7673 2d63 agda2-abbrevs-c │ │ │ -000427e0: 6f64 652d 626c 6f63 6b29 0a20 2028 2272 ode-block). ("r │ │ │ -000427f0: 6522 2020 2222 2061 6764 6132 2d61 6262 e" "" agda2-abb │ │ │ -00042800: 7265 7673 2d72 6563 6f72 6429 0a20 2028 revs-record). ( │ │ │ -00042810: 2272 6563 2220 2222 2061 6764 6132 2d61 "rec" "" agda2-a │ │ │ -00042820: 6262 7265 7673 2d72 6563 6f72 642d 7661 bbrevs-record-va │ │ │ -00042830: 6c75 6529 0a20 2028 2275 2220 2020 2222 lue). ("u" "" │ │ │ -00042840: 2061 6764 6132 2d61 6262 7265 7673 2d75 agda2-abbrevs-u │ │ │ -00042850: 7369 6e67 290a 2020 2822 6822 2020 2022 sing). ("h" " │ │ │ -00042860: 2220 6167 6461 322d 6162 6272 6576 732d " agda2-abbrevs- │ │ │ -00042870: 6869 6469 6e67 290a 2020 2822 7222 2020 hiding). ("r" │ │ │ -00042880: 2022 2220 6167 6461 322d 6162 6272 6576 "" agda2-abbrev │ │ │ -00042890: 732d 7265 6e61 6d69 6e67 290a 2020 2822 s-renaming). (" │ │ │ -000428a0: 7722 2020 2022 7768 6572 655c 6e22 290a w" "where\n"). │ │ │ -000428b0: 2020 2822 706f 2220 2022 706f 7374 756c ("po" "postul │ │ │ -000428c0: 6174 6522 290a 2020 2822 6122 2020 2022 ate"). ("a" " │ │ │ -000428d0: 6162 7374 7261 6374 5c6e 2229 0a20 2028 abstract\n"). ( │ │ │ -000428e0: 2270 7222 2020 2270 7269 7661 7465 5c6e "pr" "private\n │ │ │ -000428f0: 2229 0a20 2028 2270 7522 2020 2270 7562 "). ("pu" "pub │ │ │ -00042900: 6c69 6322 290a 2020 2822 6d75 2220 2022 lic"). ("mu" " │ │ │ -00042910: 6d75 7475 616c 5c6e 2229 0a20 2028 2266 mutual\n"). ("f │ │ │ -00042920: 2220 2020 2222 2061 6764 6132 2d61 6262 " "" agda2-abb │ │ │ -00042930: 7265 7673 2d66 6f72 616c 6c29 0a20 2028 revs-forall). ( │ │ │ -00042940: 226f 6922 2020 226f 7065 6e20 696d 706f "oi" "open impo │ │ │ -00042950: 7274 2022 2929 0a20 2022 4162 6272 6576 rt ")). "Abbrev │ │ │ -00042960: 6961 7469 6f6e 7320 6465 6669 6e65 6420 iations defined │ │ │ -00042970: 6279 2064 6566 6175 6c74 2069 6e20 7468 by default in th │ │ │ -00042980: 6520 4167 6461 206d 6f64 652e 2229 0a0a e Agda mode.").. │ │ │ -00042990: 2864 6566 6375 7374 6f6d 2061 6764 6132 (defcustom agda2 │ │ │ -000429a0: 2d6d 6f64 652d 6162 6272 6576 732d 7573 -mode-abbrevs-us │ │ │ -000429b0: 652d 6465 6661 756c 7473 206e 696c 0a20 e-defaults nil. │ │ │ -000429c0: 2022 4966 206e 6f6e 2d6e 696c 2069 6e63 "If non-nil inc │ │ │ -000429d0: 6c75 6465 2074 6865 2064 6566 6175 6c74 lude the default │ │ │ -000429e0: 2041 6764 6120 6d6f 6465 2061 6262 7265 Agda mode abbre │ │ │ -000429f0: 7673 2069 6e20 6061 6764 6132 2d6d 6f64 vs in `agda2-mod │ │ │ -00042a00: 652d 6162 6272 6576 2d74 6162 6c65 272e e-abbrev-table'. │ │ │ -00042a10: 0a54 6865 2061 6262 7265 7673 2061 7265 .The abbrevs are │ │ │ -00042a20: 2064 6573 6967 6e65 6420 746f 2062 6520 designed to be │ │ │ -00042a30: 6578 7061 6e64 6564 2065 7870 6c69 6369 expanded explici │ │ │ -00042a40: 746c 792c 2073 6f20 7573 6572 7320 6f66 tly, so users of │ │ │ -00042a50: 2060 6162 6272 6576 2d6d 6f64 6527 0a70 `abbrev-mode'.p │ │ │ -00042a60: 726f 6261 626c 7920 646f 206e 6f74 2077 robably do not w │ │ │ -00042a70: 616e 7420 746f 2069 6e63 6c75 6465 2074 ant to include t │ │ │ -00042a80: 6865 6d2e 0a0a 5265 7374 6172 7420 456d hem...Restart Em │ │ │ -00042a90: 6163 7320 696e 206f 7264 6572 2066 6f72 acs in order for │ │ │ -00042aa0: 2074 6869 7320 6368 616e 6765 2074 6f20 this change to │ │ │ -00042ab0: 7461 6b65 2065 6666 6563 742e 220a 2020 take effect.". │ │ │ -00042ac0: 3a67 726f 7570 2027 6167 6461 320a 2020 :group 'agda2. │ │ │ -00042ad0: 3a74 7970 6520 2728 6368 6f69 6365 2028 :type '(choice ( │ │ │ -00042ae0: 636f 6e73 7420 3a74 6167 2022 5965 7322 const :tag "Yes" │ │ │ -00042af0: 2074 290a 2020 2020 2020 2020 2020 2020 t). │ │ │ -00042b00: 2020 2020 2028 636f 6e73 7420 3a74 6167 (const :tag │ │ │ -00042b10: 2022 4e6f 2220 6e69 6c29 2929 0a0a 2864 "No" nil)))..(d │ │ │ -00042b20: 6566 7661 7220 6167 6461 322d 6d6f 6465 efvar agda2-mode │ │ │ -00042b30: 2d61 6262 7265 762d 7461 626c 6520 6e69 -abbrev-table ni │ │ │ -00042b40: 6c0a 2020 2241 6764 6120 6d6f 6465 2061 l. "Agda mode a │ │ │ -00042b50: 6262 7265 7620 7461 626c 652e 2229 0a0a bbrev table.").. │ │ │ -00042b60: 2864 6566 696e 652d 6162 6272 6576 2d74 (define-abbrev-t │ │ │ -00042b70: 6162 6c65 0a20 2027 6167 6461 322d 6d6f able. 'agda2-mo │ │ │ -00042b80: 6465 2d61 6262 7265 762d 7461 626c 650a de-abbrev-table. │ │ │ -00042b90: 2020 2869 6620 6167 6461 322d 6d6f 6465 (if agda2-mode │ │ │ -00042ba0: 2d61 6262 7265 7673 2d75 7365 2d64 6566 -abbrevs-use-def │ │ │ -00042bb0: 6175 6c74 730a 2020 2020 2020 286d 6170 aults. (map │ │ │ -00042bc0: 6361 7220 286c 616d 6264 6120 2861 6262 car (lambda (abb │ │ │ -00042bd0: 7265 7629 0a20 2020 2020 2020 2020 2020 rev). │ │ │ -00042be0: 2020 2020 2028 6170 7065 6e64 2061 6262 (append abb │ │ │ -00042bf0: 7265 760a 2020 2020 2020 2020 2020 2020 rev. │ │ │ -00042c00: 2020 2020 2020 2020 2020 2020 286d 616b (mak │ │ │ -00042c10: 652d 6c69 7374 2028 2d20 3420 286c 656e e-list (- 4 (len │ │ │ -00042c20: 6774 6820 6162 6272 6576 2929 206e 696c gth abbrev)) nil │ │ │ -00042c30: 290a 2020 2020 2020 2020 2020 2020 2020 ). │ │ │ -00042c40: 2020 2020 2020 2020 2020 2728 283a 7379 '((:sy │ │ │ -00042c50: 7374 656d 2074 2929 2929 0a20 2020 2020 stem t)))). │ │ │ -00042c60: 2020 2020 2020 2020 2061 6764 6132 2d61 agda2-a │ │ │ -00042c70: 6262 7265 7673 2d64 6566 6175 6c74 7329 bbrevs-defaults) │ │ │ -00042c80: 2929 0a0a 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ))..;;;;;;;;;;;; │ │ │ +00042750: 3b3b 3b3b 3b0a 3b3b 2041 6262 7265 7673 ;;;;;.;; Abbrevs │ │ │ +00042760: 0a0a 2864 6566 7661 7220 6167 6461 322d ..(defvar agda2- │ │ │ +00042770: 6162 6272 6576 732d 6465 6661 756c 7473 abbrevs-defaults │ │ │ +00042780: 2027 280a 2020 2822 6d22 2020 2022 2220 '(. ("m" "" │ │ │ +00042790: 6167 6461 322d 6162 6272 6576 732d 6d6f agda2-abbrevs-mo │ │ │ +000427a0: 6475 6c65 290a 2020 2822 6422 2020 2022 dule). ("d" " │ │ │ +000427b0: 2220 6167 6461 322d 6162 6272 6576 732d " agda2-abbrevs- │ │ │ +000427c0: 6461 7461 290a 2020 2822 6322 2020 2022 data). ("c" " │ │ │ +000427d0: 2220 6167 6461 322d 6162 6272 6576 732d " agda2-abbrevs- │ │ │ +000427e0: 636f 6465 2d62 6c6f 636b 290a 2020 2822 code-block). (" │ │ │ +000427f0: 7265 2220 2022 2220 6167 6461 322d 6162 re" "" agda2-ab │ │ │ +00042800: 6272 6576 732d 7265 636f 7264 290a 2020 brevs-record). │ │ │ +00042810: 2822 7265 6322 2022 2220 6167 6461 322d ("rec" "" agda2- │ │ │ +00042820: 6162 6272 6576 732d 7265 636f 7264 2d76 abbrevs-record-v │ │ │ +00042830: 616c 7565 290a 2020 2822 7522 2020 2022 alue). ("u" " │ │ │ +00042840: 2220 6167 6461 322d 6162 6272 6576 732d " agda2-abbrevs- │ │ │ +00042850: 7573 696e 6729 0a20 2028 2268 2220 2020 using). ("h" │ │ │ +00042860: 2222 2061 6764 6132 2d61 6262 7265 7673 "" agda2-abbrevs │ │ │ +00042870: 2d68 6964 696e 6729 0a20 2028 2272 2220 -hiding). ("r" │ │ │ +00042880: 2020 2222 2061 6764 6132 2d61 6262 7265 "" agda2-abbre │ │ │ +00042890: 7673 2d72 656e 616d 696e 6729 0a20 2028 vs-renaming). ( │ │ │ +000428a0: 2277 2220 2020 2277 6865 7265 5c6e 2229 "w" "where\n") │ │ │ +000428b0: 0a20 2028 2270 6f22 2020 2270 6f73 7475 . ("po" "postu │ │ │ +000428c0: 6c61 7465 2229 0a20 2028 2261 2220 2020 late"). ("a" │ │ │ +000428d0: 2261 6273 7472 6163 745c 6e22 290a 2020 "abstract\n"). │ │ │ +000428e0: 2822 7072 2220 2022 7072 6976 6174 655c ("pr" "private\ │ │ │ +000428f0: 6e22 290a 2020 2822 7075 2220 2022 7075 n"). ("pu" "pu │ │ │ +00042900: 626c 6963 2229 0a20 2028 226d 7522 2020 blic"). ("mu" │ │ │ +00042910: 226d 7574 7561 6c5c 6e22 290a 2020 2822 "mutual\n"). (" │ │ │ +00042920: 6622 2020 2022 2220 6167 6461 322d 6162 f" "" agda2-ab │ │ │ +00042930: 6272 6576 732d 666f 7261 6c6c 290a 2020 brevs-forall). │ │ │ +00042940: 2822 6f69 2220 2022 6f70 656e 2069 6d70 ("oi" "open imp │ │ │ +00042950: 6f72 7420 2229 290a 2020 2241 6262 7265 ort ")). "Abbre │ │ │ +00042960: 7669 6174 696f 6e73 2064 6566 696e 6564 viations defined │ │ │ +00042970: 2062 7920 6465 6661 756c 7420 696e 2074 by default in t │ │ │ +00042980: 6865 2041 6764 6120 6d6f 6465 2e22 290a he Agda mode."). │ │ │ +00042990: 0a28 6465 6663 7573 746f 6d20 6167 6461 .(defcustom agda │ │ │ +000429a0: 322d 6d6f 6465 2d61 6262 7265 7673 2d75 2-mode-abbrevs-u │ │ │ +000429b0: 7365 2d64 6566 6175 6c74 7320 6e69 6c0a se-defaults nil. │ │ │ +000429c0: 2020 2249 6620 6e6f 6e2d 6e69 6c20 696e "If non-nil in │ │ │ +000429d0: 636c 7564 6520 7468 6520 6465 6661 756c clude the defaul │ │ │ +000429e0: 7420 4167 6461 206d 6f64 6520 6162 6272 t Agda mode abbr │ │ │ +000429f0: 6576 7320 696e 2060 6167 6461 322d 6d6f evs in `agda2-mo │ │ │ +00042a00: 6465 2d61 6262 7265 762d 7461 626c 6527 de-abbrev-table' │ │ │ +00042a10: 2e0a 5468 6520 6162 6272 6576 7320 6172 ..The abbrevs ar │ │ │ +00042a20: 6520 6465 7369 676e 6564 2074 6f20 6265 e designed to be │ │ │ +00042a30: 2065 7870 616e 6465 6420 6578 706c 6963 expanded explic │ │ │ +00042a40: 6974 6c79 2c20 736f 2075 7365 7273 206f itly, so users o │ │ │ +00042a50: 6620 6061 6262 7265 762d 6d6f 6465 270a f `abbrev-mode'. │ │ │ +00042a60: 7072 6f62 6162 6c79 2064 6f20 6e6f 7420 probably do not │ │ │ +00042a70: 7761 6e74 2074 6f20 696e 636c 7564 6520 want to include │ │ │ +00042a80: 7468 656d 2e0a 0a52 6573 7461 7274 2045 them...Restart E │ │ │ +00042a90: 6d61 6373 2069 6e20 6f72 6465 7220 666f macs in order fo │ │ │ +00042aa0: 7220 7468 6973 2063 6861 6e67 6520 746f r this change to │ │ │ +00042ab0: 2074 616b 6520 6566 6665 6374 2e22 0a20 take effect.". │ │ │ +00042ac0: 203a 6772 6f75 7020 2761 6764 6132 0a20 :group 'agda2. │ │ │ +00042ad0: 203a 7479 7065 2027 2863 686f 6963 6520 :type '(choice │ │ │ +00042ae0: 2863 6f6e 7374 203a 7461 6720 2259 6573 (const :tag "Yes │ │ │ +00042af0: 2220 7429 0a20 2020 2020 2020 2020 2020 " t). │ │ │ +00042b00: 2020 2020 2020 2863 6f6e 7374 203a 7461 (const :ta │ │ │ +00042b10: 6720 224e 6f22 206e 696c 2929 290a 0a28 g "No" nil)))..( │ │ │ +00042b20: 6465 6676 6172 2061 6764 6132 2d6d 6f64 defvar agda2-mod │ │ │ +00042b30: 652d 6162 6272 6576 2d74 6162 6c65 206e e-abbrev-table n │ │ │ +00042b40: 696c 0a20 2022 4167 6461 206d 6f64 6520 il. "Agda mode │ │ │ +00042b50: 6162 6272 6576 2074 6162 6c65 2e22 290a abbrev table."). │ │ │ +00042b60: 0a28 6465 6669 6e65 2d61 6262 7265 762d .(define-abbrev- │ │ │ +00042b70: 7461 626c 650a 2020 2761 6764 6132 2d6d table. 'agda2-m │ │ │ +00042b80: 6f64 652d 6162 6272 6576 2d74 6162 6c65 ode-abbrev-table │ │ │ +00042b90: 0a20 2028 6966 2061 6764 6132 2d6d 6f64 . (if agda2-mod │ │ │ +00042ba0: 652d 6162 6272 6576 732d 7573 652d 6465 e-abbrevs-use-de │ │ │ +00042bb0: 6661 756c 7473 0a20 2020 2020 2028 6d61 faults. (ma │ │ │ +00042bc0: 7063 6172 2028 6c61 6d62 6461 2028 6162 pcar (lambda (ab │ │ │ +00042bd0: 6272 6576 290a 2020 2020 2020 2020 2020 brev). │ │ │ +00042be0: 2020 2020 2020 2861 7070 656e 6420 6162 (append ab │ │ │ +00042bf0: 6272 6576 0a20 2020 2020 2020 2020 2020 brev. │ │ │ +00042c00: 2020 2020 2020 2020 2020 2020 2028 6d61 (ma │ │ │ +00042c10: 6b65 2d6c 6973 7420 282d 2034 2028 6c65 ke-list (- 4 (le │ │ │ +00042c20: 6e67 7468 2061 6262 7265 7629 2920 6e69 ngth abbrev)) ni │ │ │ +00042c30: 6c29 0a20 2020 2020 2020 2020 2020 2020 l). │ │ │ +00042c40: 2020 2020 2020 2020 2020 2027 2828 3a73 '((:s │ │ │ +00042c50: 7973 7465 6d20 7429 2929 290a 2020 2020 ystem t)))). │ │ │ +00042c60: 2020 2020 2020 2020 2020 6167 6461 322d agda2- │ │ │ +00042c70: 6162 6272 6576 732d 6465 6661 756c 7473 abbrevs-defaults │ │ │ +00042c80: 2929 290a 0a3b 3b3b 3b3b 3b3b 3b3b 3b3b )))..;;;;;;;;;;; │ │ │ 00042c90: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00042ca0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ 00042cb0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ -00042cc0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 0a3b 3b20 ;;;;;;;;;;;;.;; │ │ │ -00042cd0: 4164 6d69 6e69 7374 7261 7469 7665 2064 Administrative d │ │ │ -00042ce0: 6574 6169 6c73 0a0a 2870 726f 7669 6465 etails..(provide │ │ │ -00042cf0: 2027 6167 6461 322d 6162 6272 6576 7329 'agda2-abbrevs) │ │ │ -00042d00: 0a3b 3b3b 2061 6764 6132 2d61 6262 7265 .;;; agda2-abbre │ │ │ -00042d10: 7673 2e65 6c20 656e 6473 2068 6572 650a vs.el ends here. │ │ │ -00042d20: c696 a6b1 96c5 9da8 ea01 83fd cf99 d395 ................ │ │ │ -00042d30: add8 da01 0029 0004 2d59 0582 8080 e608 .....)..-Y...... │ │ │ -00042d40: 0000 0100 0304 0704 0200 0003 0f00 0901 ................ │ │ │ -00042d50: 0857 7269 7469 6e67 209d d1b5 9b87 e89b .Writing ....... │ │ │ -00042d60: baaf 01e9 90ac fff9 a9e5 8dc3 0100 1700 ................ │ │ │ -00042d70: 042d 9a05 1500 0001 0002 0701 0100 0200 .-.............. │ │ │ -00042d80: 0003 0000 0505 050b a901 0105 9080 80e6 ................ │ │ │ -00042d90: 0800 0001 0baa 010b ab01 9be9 e7e5 c5b3 ................ │ │ │ -00042da0: bfbe 5bac f5bd b589 90f3 bdb0 0100 a001 ..[............. │ │ │ -00042db0: 0004 2deb 05b4 8080 e608 0000 0005 2000 ..-........... . │ │ │ -00042dc0: 0001 0001 0004 0408 0307 0286 8080 ec08 ................ │ │ │ -00042dd0: 0200 0003 0f00 0505 050b 8780 80ec 0801 ................ │ │ │ -00042de0: 0520 0000 010b 8c01 0bac 01e2 d1e6 a8b4 . .............. │ │ │ -00042df0: f3fb fc7d 9acc dfea baa3 9ef7 4b00 ab01 ...}........K... │ │ │ -00042e00: 0004 2e50 05b4 8080 e608 0000 0005 b480 ...P............ │ │ │ -00042e10: 80e6 0800 0000 0590 8080 e608 0000 0100 ................ │ │ │ -00042e20: 0100 0100 0207 0101 0002 0000 0300 0005 ................ │ │ │ -00042e30: 0505 0bad 0101 05b4 8080 e608 0000 0005 ................ │ │ │ -00042e40: 9080 80e6 0800 0001 0001 0bae 010b af01 ................ │ │ │ -00042e50: abad 96d9 a6fa dcee c701 a5ff 8f9e eacb ................ │ │ │ -00042e60: cffb a901 00af 0100 042e d805 b480 80e6 ................ │ │ │ -00042e70: 0800 0000 05b4 8080 e608 0000 0005 9080 ................ │ │ │ -00042e80: 80e6 0800 0001 0001 0001 0003 0803 0702 ................ │ │ │ -00042e90: 8680 80ec 0802 0000 030f 0005 0505 0b87 ................ │ │ │ -00042ea0: 8080 ec08 0105 b480 80e6 0800 0000 0590 ................ │ │ │ -00042eb0: 8080 e608 0000 0100 010b b001 050b 9f80 ................ │ │ │ -00042ec0: 80ec 0801 05b4 8080 e608 0000 0005 9080 ................ │ │ │ -00042ed0: 80e6 0800 0001 0001 9eb0 a8b7 c6e5 a6d8 ................ │ │ │ -00042ee0: 0fce bf99 b1e4 d99b c259 00ae 0100 042f .........Y...../ │ │ │ -00042ef0: 1b05 b480 80e6 0800 0000 0590 8080 e608 ................ │ │ │ -00042f00: 0000 0100 0100 0207 0101 0002 0000 0305 ................ │ │ │ -00042f10: 0005 0b95 8080 e008 0bb1 01e0 86a0 abf9 ................ │ │ │ -00042f20: f590 f1e1 01aa 94ec 9be7 9aee 9e30 00b1 .............0.. │ │ │ -00042f30: 0100 042f 4d05 8280 80e6 0800 0001 0003 .../M........... │ │ │ -00042f40: 0407 0402 0000 030f 0009 0101 2d86 9eb8 ............-... │ │ │ -00042f50: 9bb6 d0eb ff6c aeb0 e8dd fdb0 cce6 7e00 .....l........~. │ │ │ -00042f60: aa01 0004 2f90 05b4 8080 e608 0000 0005 ..../........... │ │ │ -00042f70: 9080 80e6 0800 0001 0001 0002 0701 0100 ................ │ │ │ -00042f80: 0200 0003 0500 050b 9580 80e0 080b b201 ................ │ │ │ -00042f90: a7c0 be9d e58d 84e3 33aa d5b5 ddea aed2 ........3....... │ │ │ -00042fa0: 9dfc 0100 b201 0004 2fc6 0582 8080 e608 ......../....... │ │ │ -00042fb0: 0000 0100 0304 0704 0200 0003 0f00 0901 ................ │ │ │ -00042fc0: 052e 6c6f 636b e8e8 b78e b1a1 ec8a 9b01 ..lock.......... │ │ │ -00042fd0: 888b 8795 ccb4 95d6 6300 ac01 0004 3017 ........c.....0. │ │ │ -00042fe0: 05b4 8080 e608 0000 0005 2000 0001 0001 .......... ..... │ │ │ -00042ff0: 0004 0408 0307 0286 8080 ec08 0200 0003 ................ │ │ │ -00043000: 0f00 0505 050b 8780 80ec 0801 0520 0000 ............. .. │ │ │ -00043010: 010b 8a01 0bb3 01c1 acf8 80b7 8fba f80c ................ │ │ │ -00043020: d49c fd9d a4d6 8df0 cb01 00b3 0100 0430 ...............0 │ │ │ -00043030: 6805 b480 80e6 0800 0000 0520 0000 0100 h.......... .... │ │ │ -00043040: 0100 0404 0803 0702 8680 80ec 0802 0000 ................ │ │ │ -00043050: 030f 0005 0505 0b87 8080 ec08 0105 2000 .............. . │ │ │ -00043060: 0001 0b88 010b b401 8289 c383 a48d 9fc3 ................ │ │ │ -00043070: 3fcf 98ae 82b1 b3c2 e2e3 0100 3000 0433 ?...........0..3 │ │ │ -00043080: 3703 0005 e282 80ec 0801 0001 052c 0000 7............,.. │ │ │ -00043090: 0103 0005 e282 80ec 0801 0001 05e4 8080 ................ │ │ │ -000430a0: e608 0000 0005 ca80 80e6 0800 0001 0001 ................ │ │ │ -000430b0: 0801 0000 05c8 8180 e608 0000 0101 0005 ................ │ │ │ -000430c0: c481 80e6 0800 0001 0100 05e4 8080 e608 ................ │ │ │ -000430d0: 0000 0005 ca80 80e6 0800 0001 0001 0000 ................ │ │ │ -000430e0: 05a8 8180 e608 0000 0005 2b00 0001 0000 ..........+..... │ │ │ -000430f0: 0800 0001 0001 0001 0005 0700 0200 0201 ................ │ │ │ -00043100: 0002 0302 0103 0402 0106 0400 0102 0200 ................ │ │ │ -00043110: 0102 0200 0102 0200 0102 0200 0102 0200 ................ │ │ │ -00043120: 0102 0200 0102 0200 0102 0200 0102 0602 ................ │ │ │ -00043130: 0301 0200 0201 0200 0002 0f01 0201 0004 ................ │ │ │ -00043140: 0005 e282 80ec 0801 0001 ea01 052c 0000 .............,.. │ │ │ -00043150: 0101 0400 05e2 8280 ec08 0100 01c7 0105 ................ │ │ │ -00043160: e480 80e6 0800 0000 05ca 8080 e608 0000 ................ │ │ │ -00043170: 0100 0101 0600 ea01 b501 0101 b501 04eb ................ │ │ │ -00043180: 01ec 01ed 01ee 0106 0505 0505 0505 0bb6 ................ │ │ │ -00043190: 0101 05b0 8180 e608 0000 0101 05b0 8180 ................ │ │ │ -000431a0: e608 0000 0101 01eb 0101 052b 0000 010c ...........+.... │ │ │ -000431b0: 0505 0bb7 0101 01eb 0100 ec01 08b8 0100 ................ │ │ │ -000431c0: 0201 05b0 8180 e608 0000 0101 01eb 010b ................ │ │ │ -000431d0: b901 c801 0201 8c80 80ec 0800 0505 0505 ................ │ │ │ -000431e0: 0505 0be6 8980 f208 0105 8882 80ec 0801 ................ │ │ │ -000431f0: 0001 0105 c481 80e6 0800 0001 0105 2c00 ..............,. │ │ │ -00043200: 0001 0105 a881 80e6 0800 0000 052b 0000 .............+.. │ │ │ -00043210: 0100 0008 0000 0100 0100 b501 00c7 0101 ................ │ │ │ -00043220: aa80 80ec 0800 0605 0505 0bba 8480 e008 ................ │ │ │ -00043230: 0105 b081 80e6 0800 0001 0105 ba01 0000 ................ │ │ │ -00043240: 0005 d882 80e6 0800 0000 05b0 8180 e608 ................ │ │ │ -00043250: 0000 0101 0009 0100 0000 0101 0005 d882 ................ │ │ │ -00043260: 80e6 0800 0000 05b0 8180 e608 0000 0101 ................ │ │ │ -00043270: 0009 0100 0000 0101 0005 d882 80e6 0800 ................ │ │ │ -00043280: 0000 05d8 8280 e608 0000 0005 b081 80e6 ................ │ │ │ -00043290: 0800 0001 0100 0901 0000 0001 0100 0901 ................ │ │ │ -000432a0: 0001 0001 0000 05d8 8280 e608 0000 0005 ................ │ │ │ -000432b0: d882 80e6 0800 0000 05b0 8180 e608 0000 ................ │ │ │ -000432c0: 0101 0009 0100 0000 0101 0009 0100 0100 ................ │ │ │ -000432d0: 0100 0101 05ba 0100 0000 05b0 8180 e608 ................ │ │ │ -000432e0: 0000 0101 0005 b081 80e6 0800 0001 0100 ................ │ │ │ -000432f0: 01eb 0100 0005 2b00 0001 0001 cb01 0101 ......+......... │ │ │ -00043300: dc82 80ec 0801 ef01 0301 0200 c701 0505 ................ │ │ │ -00043310: 050b bb01 0105 2b00 0001 0108 0000 010c ......+......... │ │ │ -00043320: 00ee 010b 100c 0002 0110 07ef 0110 0c00 ................ │ │ │ -00043330: 0301 100a 07ef 01b7 ed89 e7bb 99db 99ca ................ │ │ │ -00043340: 01ff c5a2 ced6 94b5 8877 00b4 0100 0433 .........w.....3 │ │ │ -00043350: 8805 b480 80e6 0800 0000 0520 0000 0100 ........... .... │ │ │ -00043360: 0100 0404 0803 0702 8680 80ec 0802 0000 ................ │ │ │ -00043370: 030f 0005 0505 0b87 8080 ec08 0105 2000 .............. . │ │ │ -00043380: 0001 0b86 010b bc01 a0fb ddb0 8984 cc87 ................ │ │ │ -00043390: d801 f197 e0f3 bdbd daa6 7500 bc01 0004 ..........u..... │ │ │ -000433a0: 33d9 05b4 8080 e608 0000 0005 2000 0001 3........... ... │ │ │ -000433b0: 0001 0004 0408 0307 0286 8080 ec08 0200 ................ │ │ │ -000433c0: 0003 0f00 0505 050b 8780 80ec 0801 0520 ............... │ │ │ -000433d0: 0000 010b 8401 0bbd 01ef 94c7 e98a 8980 ................ │ │ │ -000433e0: bcf6 01b0 bf91 b0b6 a9f4 cf82 0100 bd01 ................ │ │ │ -000433f0: 0004 342b 05b4 8080 e608 0000 0005 2000 ..4+.......... . │ │ │ -00043400: 0001 0001 0004 0408 0307 0286 8080 ec08 ................ │ │ │ -00043410: 0200 0003 0f00 0505 050b 8780 80ec 0801 ................ │ │ │ -00043420: 0520 0000 010b 8001 0bbe 01fd 8b99 d89f . .............. │ │ │ -00043430: aeb2 ac84 01ce a18b ee9d b794 bb46 00be .............F.. │ │ │ -00043440: 0100 0434 7b05 b480 80e6 0800 0000 0520 ...4{.......... │ │ │ -00043450: 0000 0100 0100 0404 0803 0702 8680 80ec ................ │ │ │ -00043460: 0802 0000 030f 0005 0505 0b87 8080 ec08 ................ │ │ │ -00043470: 0105 2000 0001 0b7e 0bbf 01e3 898a 9ce8 .. ....~........ │ │ │ -00043480: cfe7 b51b a5d2 ace2 9ca3 8ae4 b301 00bf ................ │ │ │ -00043490: 0100 0434 cb05 b480 80e6 0800 0000 0520 ...4........... │ │ │ -000434a0: 0000 0100 0100 0404 0803 0702 8680 80ec ................ │ │ │ -000434b0: 0802 0000 030f 0005 0505 0b87 8080 ec08 ................ │ │ │ -000434c0: 0105 2000 0001 0b7c 0bc0 01a1 9bc0 ffed .. ....|........ │ │ │ -000434d0: caa0 fb1d c398 8bd4 8989 cbab ea01 00c0 ................ │ │ │ -000434e0: 0100 0435 1b05 b480 80e6 0800 0000 0520 ...5........... │ │ │ -000434f0: 0000 0100 0100 0404 0803 0702 8680 80ec ................ │ │ │ -00043500: 0802 0000 030f 0005 0505 0b87 8080 ec08 ................ │ │ │ -00043510: 0105 2000 0001 0b7a 0bc1 01a4 f0f3 dcc3 .. ....z........ │ │ │ -00043520: e4da c251 8094 92cf d4d4 c7a9 9501 00c1 ...Q............ │ │ │ -00043530: 0100 0435 6b05 b480 80e6 0800 0000 0520 ...5k.......... │ │ │ -00043540: 0000 0100 0100 0404 0803 0702 8680 80ec ................ │ │ │ -00043550: 0802 0000 030f 0005 0505 0b87 8080 ec08 ................ │ │ │ -00043560: 0105 2000 0001 0b78 0bc2 01b4 acde c5c5 .. ....x........ │ │ │ -00043570: c4d8 b4c0 01c8 93f5 99d4 95a5 ab1e 00c2 ................ │ │ │ -00043580: 0100 0435 bb05 b480 80e6 0800 0000 0520 ...5........... │ │ │ -00043590: 0000 0100 0100 0404 0803 0702 8680 80ec ................ │ │ │ -000435a0: 0802 0000 030f 0005 0505 0b87 8080 ec08 ................ │ │ │ -000435b0: 0105 2000 0001 0b74 0bc3 01e1 96c0 f6f1 .. ....t........ │ │ │ -000435c0: 80c1 897e fbf9 d899 adc3 ccd7 1100 c301 ...~............ │ │ │ -000435d0: 0004 360a 05b4 8080 e608 0000 0005 2000 ..6........... . │ │ │ -000435e0: 0001 0001 0004 0408 0307 0286 8080 ec08 ................ │ │ │ -000435f0: 0200 0003 0f00 0505 050b 8780 80ec 0801 ................ │ │ │ -00043600: 0520 0000 010b 720b c401 f1c0 c0d7 a697 . ....r......... │ │ │ -00043610: f786 e701 fccf a7c8 94c0 e1aa b801 00c4 ................ │ │ │ -00043620: 0100 0436 5b05 b480 80e6 0800 0000 0520 ...6[.......... │ │ │ -00043630: 0000 0100 0100 0404 0803 0702 8680 80ec ................ │ │ │ -00043640: 0802 0000 030f 0005 0505 0b87 8080 ec08 ................ │ │ │ -00043650: 0105 2000 0001 0b70 0bc5 01da a2bd b5b9 .. ....p........ │ │ │ -00043660: eded a615 d3c2 ffa8 a0eb ac86 9c01 0035 ...............5 │ │ │ -00043670: 0004 36ab 05b4 8080 e608 0000 0005 2000 ..6........... . │ │ │ -00043680: 0001 0001 0004 0408 0307 0286 8080 ec08 ................ │ │ │ -00043690: 0200 0003 0f00 0505 050b 8780 80ec 0801 ................ │ │ │ -000436a0: 0520 0000 010b a701 0bc6 01e9 8989 97fd . .............. │ │ │ -000436b0: e3ca f414 89da 95dd d7e8 ff84 2d00 c501 ............-... │ │ │ -000436c0: 0004 36fa 05b4 8080 e608 0000 0005 2000 ..6........... . │ │ │ -000436d0: 0001 0001 0004 0408 0307 0286 8080 ec08 ................ │ │ │ -000436e0: 0200 0003 0f00 0505 050b 8780 80ec 0801 ................ │ │ │ -000436f0: 0520 0000 010b 6e0b c701 c292 bfe0 99a8 . ....n......... │ │ │ -00043700: a0d6 ac01 f9a3 f3fc deec 8385 a001 00c7 ................ │ │ │ -00043710: 0100 0437 4b05 b480 80e6 0800 0000 0520 ...7K.......... │ │ │ -00043720: 0000 0100 0100 0404 0803 0702 8680 80ec ................ │ │ │ -00043730: 0802 0000 030f 0005 0505 0b87 8080 ec08 ................ │ │ │ -00043740: 0105 2000 0001 0b6c 0bc8 01c9 bbfc b3ed .. ....l........ │ │ │ -00043750: a2f5 a9a3 01c6 e3ec eae2 f2a8 e483 0100 ................ │ │ │ -00043760: c801 0004 379c 05b4 8080 e608 0000 0005 ....7........... │ │ │ -00043770: 2000 0001 0001 0004 0408 0307 0286 8080 ............... │ │ │ -00043780: ec08 0200 0003 0f00 0505 050b 8780 80ec ................ │ │ │ -00043790: 0801 0520 0000 010b 680b c901 afeb 8091 ... ....h....... │ │ │ -000437a0: dcfc 95d5 8e01 def4 dbda abd3 e3f8 a101 ................ │ │ │ -000437b0: 00c9 0100 0437 ed05 b480 80e6 0800 0000 .....7.......... │ │ │ -000437c0: 0520 0000 0100 0100 0404 0803 0702 8680 . .............. │ │ │ -000437d0: 80ec 0802 0000 030f 0005 0505 0b87 8080 ................ │ │ │ -000437e0: ec08 0105 2000 0001 0b66 0bca 01c0 c2f6 .... ....f...... │ │ │ -000437f0: c6b0 a1ce df11 a5cb c8ec b6d9 9bec 9401 ................ │ │ │ -00043800: 00ca 0100 0438 3d05 b480 80e6 0800 0000 .....8=......... │ │ │ -00043810: 0520 0000 0100 0100 0404 0803 0702 8680 . .............. │ │ │ -00043820: 80ec 0802 0000 030f 0005 0505 0b87 8080 ................ │ │ │ -00043830: ec08 0105 2000 0001 0b64 0bcb 01e3 f0d4 .... ....d...... │ │ │ -00043840: b9ff abaf bd72 fb80 fb94 9087 9b9a 3f00 .....r........?. │ │ │ -00043850: cb01 0004 388c 05b4 8080 e608 0000 0005 ....8........... │ │ │ -00043860: 2000 0001 0001 0004 0408 0307 0286 8080 ............... │ │ │ -00043870: ec08 0200 0003 0f00 0505 050b 8780 80ec ................ │ │ │ -00043880: 0801 0520 0000 010b 620b cc01 ce80 d6cb ... ....b....... │ │ │ -00043890: a9d5 e2de 15a8 e7fe e6db eafb bafb 0100 ................ │ │ │ -000438a0: cc01 0004 38dc 05b4 8080 e608 0000 0005 ....8........... │ │ │ -000438b0: 2000 0001 0001 0004 0408 0307 0286 8080 ............... │ │ │ -000438c0: ec08 0200 0003 0f00 0505 050b 8780 80ec ................ │ │ │ -000438d0: 0801 0520 0000 010b 5d0b cd01 c5e8 84ca ... ....]....... │ │ │ -000438e0: e3aa 8cc7 b901 e6f0 cccb 93a0 999c 3900 ..............9. │ │ │ -000438f0: cd01 0004 392d 05b4 8080 e608 0000 0005 ....9-.......... │ │ │ -00043900: 2000 0001 0001 0004 0408 0307 0286 8080 ............... │ │ │ -00043910: ec08 0200 0003 0f00 0505 050b 8780 80ec ................ │ │ │ -00043920: 0801 0520 0000 010b ce01 0bcf 01b1 a7c3 ... ............ │ │ │ -00043930: eda5 91f0 d2fb 018f e1e3 a490 ff9a 8cd7 ................ │ │ │ -00043940: 0100 cf01 0004 397f 05b4 8080 e608 0000 ......9......... │ │ │ -00043950: 0005 2000 0001 0001 0004 0408 0307 0286 .. ............. │ │ │ -00043960: 8080 ec08 0200 0003 0f00 0505 050b 8780 ................ │ │ │ -00043970: 80ec 0801 0520 0000 010b d001 0bd1 01cb ..... .......... │ │ │ -00043980: f2e5 90e9 b1eb ff82 01d0 cbd3 dd95 94af ................ │ │ │ -00043990: f983 0100 d101 0004 39d1 05b4 8080 e608 ........9....... │ │ │ -000439a0: 0000 0005 2000 0001 0001 0004 0408 0307 .... ........... │ │ │ -000439b0: 0286 8080 ec08 0200 0003 0f00 0505 050b ................ │ │ │ -000439c0: 8780 80ec 0801 0520 0000 010b d201 0bd3 ....... ........ │ │ │ -000439d0: 01cf bd95 ccf8 feb6 90c8 019b b1d4 edc0 ................ │ │ │ -000439e0: d1f3 f87e 00c6 0100 043a 2205 b480 80e6 ...~.....:"..... │ │ │ -000439f0: 0800 0000 0520 0000 0100 0100 0404 0803 ..... .......... │ │ │ -00043a00: 0702 8680 80ec 0802 0000 030f 0005 0505 ................ │ │ │ -00043a10: 0b87 8080 ec08 0105 2000 0001 0ba5 010b ........ ....... │ │ │ -00043a20: d401 f48c dddf e282 dce2 40e0 df82 bb84 ..........@..... │ │ │ -00043a30: bfc7 d95b 00d3 0100 043a 7205 b480 80e6 ...[.....:r..... │ │ │ -00043a40: 0800 0000 0520 0000 0100 0100 0404 0803 ..... .......... │ │ │ -00043a50: 0702 8680 80ec 0802 0000 030f 0005 0505 ................ │ │ │ -00043a60: 0b87 8080 ec08 0105 2000 0001 0bd5 010b ........ ....... │ │ │ -00043a70: d601 80e5 efd6 d4f8 ad36 aca0 a1da 93a7 .........6...... │ │ │ -00043a80: e3a5 5b00 d601 0004 3ac1 05b4 8080 e608 ..[.....:....... │ │ │ -00043a90: 0000 0005 2000 0001 0001 0004 0408 0307 .... ........... │ │ │ -00043aa0: 0286 8080 ec08 0200 0003 0f00 0505 050b ................ │ │ │ -00043ab0: 8780 80ec 0801 0520 0000 010b d701 0bd8 ....... ........ │ │ │ -00043ac0: 01d2 92a9 aac7 eabe e251 8096 bb9f d2e0 .........Q...... │ │ │ -00043ad0: 88f3 5d00 d801 0004 3b11 05b4 8080 e608 ..].....;....... │ │ │ -00043ae0: 0000 0005 2000 0001 0001 0004 0408 0307 .... ........... │ │ │ -00043af0: 0286 8080 ec08 0200 0003 0f00 0505 050b ................ │ │ │ -00043b00: 8780 80ec 0801 0520 0000 010b d901 0bda ....... ........ │ │ │ -00043b10: 01f2 f8c6 e4a2 93a9 a8f3 019d c8a5 f6e4 ................ │ │ │ -00043b20: 8bf8 b4c0 0100 da01 0004 3b63 05b4 8080 ..........;c.... │ │ │ -00043b30: e608 0000 0005 2000 0001 0001 0004 0408 ...... ......... │ │ │ -00043b40: 0307 0286 8080 ec08 0200 0003 0f00 0505 ................ │ │ │ -00043b50: 050b 8780 80ec 0801 0520 0000 010b db01 ......... ...... │ │ │ -00043b60: 0bdc 018d 8c8a e7d1 d1ed c9bb 0183 9ede ................ │ │ │ -00043b70: 969c eed0 da5f 00dc 0100 043b b405 b480 ....._.....;.... │ │ │ -00043b80: 80e6 0800 0000 0520 0000 0100 0100 0404 ....... ........ │ │ │ -00043b90: 0803 0702 8680 80ec 0802 0000 030f 0005 ................ │ │ │ -00043ba0: 0505 0b87 8080 ec08 0105 2000 0001 0bdd .......... ..... │ │ │ -00043bb0: 010b de01 c8b0 fe92 d8b4 97bc b501 d3f8 ................ │ │ │ -00043bc0: a4c4 b98a b3eb c301 00de 0100 043c 0605 .............<.. │ │ │ -00043bd0: b480 80e6 0800 0000 0520 0000 0100 0100 ......... ...... │ │ │ -00043be0: 0404 0803 0702 8680 80ec 0802 0000 030f ................ │ │ │ -00043bf0: 0005 0505 0b87 8080 ec08 0105 2000 0001 ............ ... │ │ │ -00043c00: 0bdf 010b e001 c9ec 8889 80d6 95b4 9201 ................ │ │ │ -00043c10: ee99 f5f8 aa97 b0fa 6a00 e001 0004 3c57 ........j.....;.......... . │ │ │ -00043e10: 0001 0001 0004 0408 0307 0286 8080 ec08 ................ │ │ │ -00043e20: 0200 0003 0f00 0505 050b 8780 80ec 0801 ................ │ │ │ -00043e30: 0520 0000 010b ec01 0bed 01f6 91d2 9fbd . .............. │ │ │ -00043e40: 868e dcb0 01ad aaa8 f5b0 e9c4 9714 00ed ................ │ │ │ -00043e50: 0100 043e 8c05 b480 80e6 0800 0000 0520 ...>........... │ │ │ -00043e60: 0000 0100 0100 0404 0803 0702 8680 80ec ................ │ │ │ -00043e70: 0802 0000 030f 0005 0505 0b87 8080 ec08 ................ │ │ │ -00043e80: 0105 2000 0001 0bee 010b ef01 ae92 dbc6 .. ............. │ │ │ -00043e90: 97b8 bec2 8e01 d5c3 a9c2 a6e7 9a90 9301 ................ │ │ │ -00043ea0: 00ef 0100 043e de05 b480 80e6 0800 0000 .....>.......... │ │ │ -00043eb0: 0520 0000 0100 0100 0404 0803 0702 8680 . .............. │ │ │ -00043ec0: 80ec 0802 0000 030f 0005 0505 0b87 8080 ................ │ │ │ -00043ed0: ec08 0105 2000 0001 0bf0 010b f101 ec9b .... ........... │ │ │ -00043ee0: b2d4 aed2 d1ae 4ce4 88f9 a4b1 8299 d072 ......L........r │ │ │ -00043ef0: 00f1 0100 043f 2e05 b480 80e6 0800 0000 .....?.......... │ │ │ -00043f00: 0520 0000 0100 0100 0404 0803 0702 8680 . .............. │ │ │ -00043f10: 80ec 0802 0000 030f 0005 0505 0b87 8080 ................ │ │ │ -00043f20: ec08 0105 2000 0001 0bf2 010b f301 d983 .... ........... │ │ │ -00043f30: f2f6 bde7 efa4 e301 e7d2 d49e e890 9aa3 ................ │ │ │ -00043f40: f001 00f3 0100 043f 8005 b480 80e6 0800 .......?........ │ │ │ -00043f50: 0000 0520 0000 0100 0100 0404 0803 0702 ... ............ │ │ │ -00043f60: 8680 80ec 0802 0000 030f 0005 0505 0b87 ................ │ │ │ -00043f70: 8080 ec08 0105 2000 0001 0bf4 010b f501 ...... ......... │ │ │ -00043f80: a8e3 aca5 a3d3 8460 c3b5 8fc6 bfea b4c3 .......`........ │ │ │ -00043f90: 3100 f501 0004 3fcf 05b4 8080 e608 0000 1.....?......... │ │ │ -00043fa0: 0005 2000 0001 0001 0004 0408 0307 0286 .. ............. │ │ │ -00043fb0: 8080 ec08 0200 0003 0f00 0505 050b 8780 ................ │ │ │ -00043fc0: 80ec 0801 0520 0000 010b f601 0bf7 01b8 ..... .......... │ │ │ -00043fd0: f7e0 90b6 d38e d5f6 01c5 9fd4 acee f096 ................ │ │ │ -00043fe0: c30e 00f7 0100 0440 2a05 b480 80e6 0800 .......@*....... │ │ │ -00043ff0: 0000 0520 0000 0100 0100 0404 0803 0702 ... ............ │ │ │ -00044000: 8680 80ec 0802 0000 030f 0005 0505 0b87 ................ │ │ │ -00044010: 8080 ec08 0105 2000 0001 0bf8 0105 0b9f ...... ......... │ │ │ -00044020: 8080 ec08 0105 2000 0001 dd82 f8a0 b2ab ...... ......... │ │ │ -00044030: cbb6 5f99 efea adeb a2ad 88c8 0100 f801 .._............. │ │ │ -00044040: 0004 4068 0520 0000 0100 0404 0803 0702 ..@h. .......... │ │ │ -00044050: 5e02 0000 030f 0005 0505 0b5f 0bf9 010b ^.........._.... │ │ │ -00044060: 6109 0601 00b6 c300 b8f9 feac a5bd f8e4 a............... │ │ │ -00044070: e201 f1a1 8fae dbe7 a6de 1d00 f901 0004 ................ │ │ │ -00044080: 6251 0582 8080 e608 0000 0100 0304 0704 bQ.............. │ │ │ -00044090: 0200 0003 0f00 0901 b6c3 007b 2d23 204c ...........{-# L │ │ │ -000440a0: 414e 4755 4147 4520 4350 5020 232d 7d0a ANGUAGE CPP #-}. │ │ │ -000440b0: 0a6d 6f64 756c 6520 4d41 6c6f 6e7a 6f2e .module MAlonzo. │ │ │ -000440c0: 5254 452e 466c 6f61 7420 7768 6572 650a RTE.Float where. │ │ │ -000440d0: 0a69 6d70 6f72 7420 5072 656c 7564 650a .import Prelude. │ │ │ -000440e0: 2020 2820 426f 6f6c 2c20 446f 7562 6c65 ( Bool, Double │ │ │ -000440f0: 2c20 496e 742c 2049 6e74 6567 6572 2c20 , Int, Integer, │ │ │ -00044100: 4d61 7962 6528 2e2e 292c 204f 7264 6572 Maybe(..), Order │ │ │ -00044110: 696e 6728 2e2e 290a 2020 2c20 4571 282e ing(..). , Eq(. │ │ │ -00044120: 2e29 2c20 4f72 6428 2e2e 292c 2046 756e .), Ord(..), Fun │ │ │ -00044130: 6374 6f72 282e 2e29 0a20 202c 2046 6c6f ctor(..). , Flo │ │ │ -00044140: 6174 696e 6728 2e2e 292c 2046 7261 6374 ating(..), Fract │ │ │ -00044150: 696f 6e61 6c28 2e2e 292c 2049 6e74 6567 ional(..), Integ │ │ │ -00044160: 7261 6c28 2e2e 292c 204e 756d 282e 2e29 ral(..), Num(..) │ │ │ -00044170: 2c20 5265 616c 282e 2e29 2c20 5265 616c , Real(..), Real │ │ │ -00044180: 466c 6f61 7428 2e2e 292c 2052 6561 6c46 Float(..), RealF │ │ │ -00044190: 7261 6328 2e2e 290a 2020 2c20 2824 292c rac(..). , ($), │ │ │ -000441a0: 2028 2e29 2c20 6f74 6865 7277 6973 652c (.), otherwise, │ │ │ -000441b0: 2075 6e63 7572 7279 2c20 756e 6465 6669 uncurry, undefi │ │ │ -000441c0: 6e65 640a 2020 2c20 2826 2629 2c20 6673 ned. , (&&), fs │ │ │ -000441d0: 742c 2073 6e64 0a20 202c 2028 5e29 2c20 t, snd. , (^), │ │ │ -000441e0: 6576 656e 2c20 6672 6f6d 496e 7465 6772 even, fromIntegr │ │ │ -000441f0: 616c 0a20 2029 0a0a 696d 706f 7274 2044 al. )..import D │ │ │ -00044200: 6174 612e 4269 6675 6e63 746f 7220 2020 ata.Bifunctor │ │ │ -00044210: 2820 6269 6d61 702c 2073 6563 6f6e 6420 ( bimap, second │ │ │ -00044220: 290a 696d 706f 7274 2044 6174 612e 4675 ).import Data.Fu │ │ │ -00044230: 6e63 7469 6f6e 2020 2020 2820 6f6e 2029 nction ( on ) │ │ │ -00044240: 0a69 6d70 6f72 7420 4461 7461 2e4d 6179 .import Data.May │ │ │ -00044250: 6265 2020 2020 2020 2028 2066 726f 6d4d be ( fromM │ │ │ -00044260: 6179 6265 2029 0a69 6d70 6f72 7420 4461 aybe ).import Da │ │ │ -00044270: 7461 2e52 6174 696f 2020 2020 2020 2028 ta.Ratio ( │ │ │ -00044280: 2028 2529 2c20 6e75 6d65 7261 746f 722c (%), numerator, │ │ │ -00044290: 2064 656e 6f6d 696e 6174 6f72 2029 0a69 denominator ).i │ │ │ -000442a0: 6d70 6f72 7420 4461 7461 2e57 6f72 6420 mport Data.Word │ │ │ -000442b0: 2020 2020 2020 2028 2057 6f72 6436 3420 ( Word64 │ │ │ -000442c0: 290a 0a23 6966 205f 5f47 4c41 5347 4f57 )..#if __GLASGOW │ │ │ -000442d0: 5f48 4153 4b45 4c4c 5f5f 203e 3d20 3830 _HASKELL__ >= 80 │ │ │ -000442e0: 340a 696d 706f 7274 2047 4843 2e46 6c6f 4.import GHC.Flo │ │ │ -000442f0: 6174 2028 6361 7374 446f 7562 6c65 546f at (castDoubleTo │ │ │ -00044300: 576f 7264 3634 2c20 6361 7374 576f 7264 Word64, castWord │ │ │ -00044310: 3634 546f 446f 7562 6c65 290a 2365 6c73 64ToDouble).#els │ │ │ -00044320: 650a 696d 706f 7274 2053 7973 7465 6d2e e.import System. │ │ │ -00044330: 494f 2e55 6e73 6166 6520 2875 6e73 6166 IO.Unsafe (unsaf │ │ │ -00044340: 6550 6572 666f 726d 494f 290a 696d 706f ePerformIO).impo │ │ │ -00044350: 7274 2071 7561 6c69 6669 6564 2046 6f72 rt qualified For │ │ │ -00044360: 6569 676e 2020 2020 2020 2020 2020 6173 eign as │ │ │ -00044370: 2046 0a69 6d70 6f72 7420 7175 616c 6966 F.import qualif │ │ │ -00044380: 6965 6420 466f 7265 6967 6e2e 5374 6f72 ied Foreign.Stor │ │ │ -00044390: 6162 6c65 2061 7320 460a 2365 6e64 6966 able as F.#endif │ │ │ -000443a0: 0a0a 2369 6620 5f5f 474c 4153 474f 575f ..#if __GLASGOW_ │ │ │ -000443b0: 4841 534b 454c 4c5f 5f20 3c20 3830 340a HASKELL__ < 804. │ │ │ -000443c0: 6361 7374 446f 7562 6c65 546f 576f 7264 castDoubleToWord │ │ │ -000443d0: 3634 203a 3a20 446f 7562 6c65 202d 3e20 64 :: Double -> │ │ │ -000443e0: 576f 7264 3634 0a63 6173 7444 6f75 626c Word64.castDoubl │ │ │ -000443f0: 6554 6f57 6f72 6436 3420 666c 6f61 7420 eToWord64 float │ │ │ -00044400: 3d20 756e 7361 6665 5065 7266 6f72 6d49 = unsafePerformI │ │ │ -00044410: 4f20 2420 462e 616c 6c6f 6361 2024 205c O $ F.alloca $ \ │ │ │ -00044420: 6275 6620 2d3e 2064 6f0a 2020 462e 706f buf -> do. F.po │ │ │ -00044430: 6b65 2028 462e 6361 7374 5074 7220 6275 ke (F.castPtr bu │ │ │ -00044440: 6629 2066 6c6f 6174 0a20 2046 2e70 6565 f) float. F.pee │ │ │ -00044450: 6b20 6275 660a 0a63 6173 7457 6f72 6436 k buf..castWord6 │ │ │ -00044460: 3454 6f44 6f75 626c 6520 3a3a 2057 6f72 4ToDouble :: Wor │ │ │ -00044470: 6436 3420 2d3e 2044 6f75 626c 650a 6361 d64 -> Double.ca │ │ │ -00044480: 7374 576f 7264 3634 546f 446f 7562 6c65 stWord64ToDouble │ │ │ -00044490: 2077 6f72 6420 3d20 756e 7361 6665 5065 word = unsafePe │ │ │ -000444a0: 7266 6f72 6d49 4f20 2420 462e 616c 6c6f rformIO $ F.allo │ │ │ -000444b0: 6361 2024 205c 6275 6620 2d3e 2064 6f0a ca $ \buf -> do. │ │ │ -000444c0: 2020 462e 706f 6b65 2028 462e 6361 7374 F.poke (F.cast │ │ │ -000444d0: 5074 7220 6275 6629 2077 6f72 640a 2020 Ptr buf) word. │ │ │ -000444e0: 462e 7065 656b 2062 7566 0a23 656e 6469 F.peek buf.#endi │ │ │ -000444f0: 660a 0a7b 2d23 2049 4e4c 494e 4520 646f f..{-# INLINE do │ │ │ -00044500: 7562 6c65 4571 2023 2d7d 0a64 6f75 626c ubleEq #-}.doubl │ │ │ -00044510: 6545 7120 3a3a 2044 6f75 626c 6520 2d3e eEq :: Double -> │ │ │ -00044520: 2044 6f75 626c 6520 2d3e 2042 6f6f 6c0a Double -> Bool. │ │ │ -00044530: 646f 7562 6c65 4571 203d 2028 3d3d 290a doubleEq = (==). │ │ │ -00044540: 0a7b 2d23 2049 4e4c 494e 4520 646f 7562 .{-# INLINE doub │ │ │ -00044550: 6c65 4c65 2023 2d7d 0a64 6f75 626c 654c leLe #-}.doubleL │ │ │ -00044560: 6520 3a3a 2044 6f75 626c 6520 2d3e 2044 e :: Double -> D │ │ │ -00044570: 6f75 626c 6520 2d3e 2042 6f6f 6c0a 646f ouble -> Bool.do │ │ │ -00044580: 7562 6c65 4c65 203d 2028 3c3d 290a 0a7b ubleLe = (<=)..{ │ │ │ -00044590: 2d23 2049 4e4c 494e 4520 646f 7562 6c65 -# INLINE double │ │ │ -000445a0: 4c74 2023 2d7d 0a64 6f75 626c 654c 7420 Lt #-}.doubleLt │ │ │ -000445b0: 3a3a 2044 6f75 626c 6520 2d3e 2044 6f75 :: Double -> Dou │ │ │ -000445c0: 626c 6520 2d3e 2042 6f6f 6c0a 646f 7562 ble -> Bool.doub │ │ │ -000445d0: 6c65 4c74 203d 2028 3c29 0a0a 7472 756e leLt = (<)..trun │ │ │ -000445e0: 6361 7465 446f 7562 6c65 203a 3a20 446f cateDouble :: Do │ │ │ -000445f0: 7562 6c65 202d 3e20 446f 7562 6c65 0a74 uble -> Double.t │ │ │ -00044600: 7275 6e63 6174 6544 6f75 626c 6520 3d20 runcateDouble = │ │ │ -00044610: 6361 7374 576f 7264 3634 546f 446f 7562 castWord64ToDoub │ │ │ -00044620: 6c65 202e 2063 6173 7444 6f75 626c 6554 le . castDoubleT │ │ │ -00044630: 6f57 6f72 6436 340a 0a7b 2d23 2049 4e4c oWord64..{-# INL │ │ │ -00044640: 494e 4520 696e 7454 6f44 6f75 626c 6520 INE intToDouble │ │ │ -00044650: 232d 7d0a 696e 7454 6f44 6f75 626c 6520 #-}.intToDouble │ │ │ -00044660: 3a3a 2049 6e74 6567 7261 6c20 6120 3d3e :: Integral a => │ │ │ -00044670: 2061 202d 3e20 446f 7562 6c65 0a69 6e74 a -> Double.int │ │ │ -00044680: 546f 446f 7562 6c65 203d 2074 7275 6e63 ToDouble = trunc │ │ │ -00044690: 6174 6544 6f75 626c 6520 2e20 6672 6f6d ateDouble . from │ │ │ -000446a0: 496e 7465 6772 616c 0a0a 7b2d 2320 494e Integral..{-# IN │ │ │ -000446b0: 4c49 4e45 2064 6f75 626c 6550 6c75 7320 LINE doublePlus │ │ │ -000446c0: 232d 7d0a 646f 7562 6c65 506c 7573 203a #-}.doublePlus : │ │ │ -000446d0: 3a20 446f 7562 6c65 202d 3e20 446f 7562 : Double -> Doub │ │ │ -000446e0: 6c65 202d 3e20 446f 7562 6c65 0a64 6f75 le -> Double.dou │ │ │ -000446f0: 626c 6550 6c75 7320 7820 7920 3d20 7472 blePlus x y = tr │ │ │ -00044700: 756e 6361 7465 446f 7562 6c65 2028 7820 uncateDouble (x │ │ │ -00044710: 2b20 7929 0a0a 7b2d 2320 494e 4c49 4e45 + y)..{-# INLINE │ │ │ -00044720: 2064 6f75 626c 654d 696e 7573 2023 2d7d doubleMinus #-} │ │ │ -00044730: 0a64 6f75 626c 654d 696e 7573 203a 3a20 .doubleMinus :: │ │ │ -00044740: 446f 7562 6c65 202d 3e20 446f 7562 6c65 Double -> Double │ │ │ -00044750: 202d 3e20 446f 7562 6c65 0a64 6f75 626c -> Double.doubl │ │ │ -00044760: 654d 696e 7573 2078 2079 203d 2074 7275 eMinus x y = tru │ │ │ -00044770: 6e63 6174 6544 6f75 626c 6520 2878 202d ncateDouble (x - │ │ │ -00044780: 2079 290a 0a7b 2d23 2049 4e4c 494e 4520 y)..{-# INLINE │ │ │ -00044790: 646f 7562 6c65 5469 6d65 7320 232d 7d0a doubleTimes #-}. │ │ │ -000447a0: 646f 7562 6c65 5469 6d65 7320 3a3a 2044 doubleTimes :: D │ │ │ -000447b0: 6f75 626c 6520 2d3e 2044 6f75 626c 6520 ouble -> Double │ │ │ -000447c0: 2d3e 2044 6f75 626c 650a 646f 7562 6c65 -> Double.double │ │ │ -000447d0: 5469 6d65 7320 7820 7920 3d20 7472 756e Times x y = trun │ │ │ -000447e0: 6361 7465 446f 7562 6c65 2028 7820 2a20 cateDouble (x * │ │ │ -000447f0: 7929 0a0a 7b2d 2320 494e 4c49 4e45 2064 y)..{-# INLINE d │ │ │ -00044800: 6f75 626c 654e 6567 6174 6520 232d 7d0a oubleNegate #-}. │ │ │ -00044810: 646f 7562 6c65 4e65 6761 7465 203a 3a20 doubleNegate :: │ │ │ -00044820: 446f 7562 6c65 202d 3e20 446f 7562 6c65 Double -> Double │ │ │ -00044830: 0a64 6f75 626c 654e 6567 6174 6520 3d20 .doubleNegate = │ │ │ -00044840: 6e65 6761 7465 202d 2d20 4e4f 5445 3a20 negate -- NOTE: │ │ │ -00044850: 646f 6573 6e27 7420 6361 7573 6520 756e doesn't cause un │ │ │ -00044860: 6465 7266 6c6f 772f 6f76 6572 666c 6f77 derflow/overflow │ │ │ -00044870: 0a0a 7b2d 2320 494e 4c49 4e45 2064 6f75 ..{-# INLINE dou │ │ │ -00044880: 626c 6544 6976 2023 2d7d 0a64 6f75 626c bleDiv #-}.doubl │ │ │ -00044890: 6544 6976 203a 3a20 446f 7562 6c65 202d eDiv :: Double - │ │ │ -000448a0: 3e20 446f 7562 6c65 202d 3e20 446f 7562 > Double -> Doub │ │ │ -000448b0: 6c65 0a64 6f75 626c 6544 6976 203d 2028 le.doubleDiv = ( │ │ │ -000448c0: 2f29 202d 2d20 4e4f 5445 3a20 646f 6573 /) -- NOTE: does │ │ │ -000448d0: 6e27 7420 6361 7573 6520 756e 6465 7266 n't cause underf │ │ │ -000448e0: 6c6f 772f 6f76 6572 666c 6f77 0a0a 7b2d low/overflow..{- │ │ │ -000448f0: 2320 494e 4c49 4e45 2064 6f75 626c 6550 # INLINE doubleP │ │ │ -00044900: 6f77 2023 2d7d 0a64 6f75 626c 6550 6f77 ow #-}.doublePow │ │ │ -00044910: 203a 3a20 446f 7562 6c65 202d 3e20 446f :: Double -> Do │ │ │ -00044920: 7562 6c65 202d 3e20 446f 7562 6c65 0a64 uble -> Double.d │ │ │ -00044930: 6f75 626c 6550 6f77 2078 2079 203d 2074 oublePow x y = t │ │ │ -00044940: 7275 6e63 6174 6544 6f75 626c 6520 2878 runcateDouble (x │ │ │ -00044950: 202a 2a20 7929 0a0a 7b2d 2320 494e 4c49 ** y)..{-# INLI │ │ │ -00044960: 4e45 2064 6f75 626c 6553 7172 7420 232d NE doubleSqrt #- │ │ │ -00044970: 7d0a 646f 7562 6c65 5371 7274 203a 3a20 }.doubleSqrt :: │ │ │ -00044980: 446f 7562 6c65 202d 3e20 446f 7562 6c65 Double -> Double │ │ │ -00044990: 0a64 6f75 626c 6553 7172 7420 3d20 7371 .doubleSqrt = sq │ │ │ -000449a0: 7274 202d 2d20 4e4f 5445 3a20 646f 6573 rt -- NOTE: does │ │ │ -000449b0: 6e27 7420 6361 7573 6520 756e 6465 7266 n't cause underf │ │ │ -000449c0: 6c6f 772f 6f76 6572 666c 6f77 0a0a 7b2d low/overflow..{- │ │ │ -000449d0: 2320 494e 4c49 4e45 2064 6f75 626c 6545 # INLINE doubleE │ │ │ -000449e0: 7870 2023 2d7d 0a64 6f75 626c 6545 7870 xp #-}.doubleExp │ │ │ -000449f0: 203a 3a20 446f 7562 6c65 202d 3e20 446f :: Double -> Do │ │ │ -00044a00: 7562 6c65 0a64 6f75 626c 6545 7870 2078 uble.doubleExp x │ │ │ -00044a10: 203d 2074 7275 6e63 6174 6544 6f75 626c = truncateDoubl │ │ │ -00044a20: 6520 2865 7870 2078 290a 0a7b 2d23 2049 e (exp x)..{-# I │ │ │ -00044a30: 4e4c 494e 4520 646f 7562 6c65 4c6f 6720 NLINE doubleLog │ │ │ -00044a40: 232d 7d0a 646f 7562 6c65 4c6f 6720 3a3a #-}.doubleLog :: │ │ │ -00044a50: 2044 6f75 626c 6520 2d3e 2044 6f75 626c Double -> Doubl │ │ │ -00044a60: 650a 646f 7562 6c65 4c6f 6720 3d20 6c6f e.doubleLog = lo │ │ │ -00044a70: 6720 2d2d 204e 4f54 453a 2064 6f65 736e g -- NOTE: doesn │ │ │ -00044a80: 2774 2063 6175 7365 2075 6e64 6572 666c 't cause underfl │ │ │ -00044a90: 6f77 2f6f 7665 7266 6c6f 770a 0a7b 2d23 ow/overflow..{-# │ │ │ -00044aa0: 2049 4e4c 494e 4520 646f 7562 6c65 5369 INLINE doubleSi │ │ │ -00044ab0: 6e20 232d 7d0a 646f 7562 6c65 5369 6e20 n #-}.doubleSin │ │ │ -00044ac0: 3a3a 2044 6f75 626c 6520 2d3e 2044 6f75 :: Double -> Dou │ │ │ -00044ad0: 626c 650a 646f 7562 6c65 5369 6e20 3d20 ble.doubleSin = │ │ │ -00044ae0: 7369 6e20 2d2d 204e 4f54 453a 2064 6f65 sin -- NOTE: doe │ │ │ -00044af0: 736e 2774 2063 6175 7365 2075 6e64 6572 sn't cause under │ │ │ -00044b00: 666c 6f77 2f6f 7665 7266 6c6f 770a 0a7b flow/overflow..{ │ │ │ -00044b10: 2d23 2049 4e4c 494e 4520 646f 7562 6c65 -# INLINE double │ │ │ -00044b20: 436f 7320 232d 7d0a 646f 7562 6c65 436f Cos #-}.doubleCo │ │ │ -00044b30: 7320 3a3a 2044 6f75 626c 6520 2d3e 2044 s :: Double -> D │ │ │ -00044b40: 6f75 626c 650a 646f 7562 6c65 436f 7320 ouble.doubleCos │ │ │ -00044b50: 3d20 636f 7320 2d2d 204e 4f54 453a 2064 = cos -- NOTE: d │ │ │ -00044b60: 6f65 736e 2774 2063 6175 7365 2075 6e64 oesn't cause und │ │ │ -00044b70: 6572 666c 6f77 2f6f 7665 7266 6c6f 770a erflow/overflow. │ │ │ -00044b80: 0a7b 2d23 2049 4e4c 494e 4520 646f 7562 .{-# INLINE doub │ │ │ -00044b90: 6c65 5461 6e20 232d 7d0a 646f 7562 6c65 leTan #-}.double │ │ │ -00044ba0: 5461 6e20 3a3a 2044 6f75 626c 6520 2d3e Tan :: Double -> │ │ │ -00044bb0: 2044 6f75 626c 650a 646f 7562 6c65 5461 Double.doubleTa │ │ │ -00044bc0: 6e20 3d20 7461 6e20 2d2d 204e 4f54 453a n = tan -- NOTE: │ │ │ -00044bd0: 2064 6f65 736e 2774 2063 6175 7365 2075 doesn't cause u │ │ │ -00044be0: 6e64 6572 666c 6f77 2f6f 7665 7266 6c6f nderflow/overflo │ │ │ -00044bf0: 770a 0a7b 2d23 2049 4e4c 494e 4520 646f w..{-# INLINE do │ │ │ -00044c00: 7562 6c65 4153 696e 2023 2d7d 0a64 6f75 ubleASin #-}.dou │ │ │ -00044c10: 626c 6541 5369 6e20 3a3a 2044 6f75 626c bleASin :: Doubl │ │ │ -00044c20: 6520 2d3e 2044 6f75 626c 650a 646f 7562 e -> Double.doub │ │ │ -00044c30: 6c65 4153 696e 203d 2061 7369 6e20 2d2d leASin = asin -- │ │ │ -00044c40: 204e 4f54 453a 2064 6f65 736e 2774 2063 NOTE: doesn't c │ │ │ -00044c50: 6175 7365 2075 6e64 6572 666c 6f77 2f6f ause underflow/o │ │ │ -00044c60: 7665 7266 6c6f 770a 0a7b 2d23 2049 4e4c verflow..{-# INL │ │ │ -00044c70: 494e 4520 646f 7562 6c65 4143 6f73 2023 INE doubleACos # │ │ │ -00044c80: 2d7d 0a64 6f75 626c 6541 436f 7320 3a3a -}.doubleACos :: │ │ │ -00044c90: 2044 6f75 626c 6520 2d3e 2044 6f75 626c Double -> Doubl │ │ │ -00044ca0: 650a 646f 7562 6c65 4143 6f73 203d 2061 e.doubleACos = a │ │ │ -00044cb0: 636f 7320 2d2d 204e 4f54 453a 2064 6f65 cos -- NOTE: doe │ │ │ -00044cc0: 736e 2774 2063 6175 7365 2075 6e64 6572 sn't cause under │ │ │ -00044cd0: 666c 6f77 2f6f 7665 7266 6c6f 770a 0a7b flow/overflow..{ │ │ │ -00044ce0: 2d23 2049 4e4c 494e 4520 646f 7562 6c65 -# INLINE double │ │ │ -00044cf0: 4154 616e 2023 2d7d 0a64 6f75 626c 6541 ATan #-}.doubleA │ │ │ -00044d00: 5461 6e20 3a3a 2044 6f75 626c 6520 2d3e Tan :: Double -> │ │ │ -00044d10: 2044 6f75 626c 650a 646f 7562 6c65 4154 Double.doubleAT │ │ │ -00044d20: 616e 203d 2061 7461 6e20 2d2d 204e 4f54 an = atan -- NOT │ │ │ -00044d30: 453a 2064 6f65 736e 2774 2063 6175 7365 E: doesn't cause │ │ │ -00044d40: 2075 6e64 6572 666c 6f77 2f6f 7665 7266 underflow/overf │ │ │ -00044d50: 6c6f 770a 0a7b 2d23 2049 4e4c 494e 4520 low..{-# INLINE │ │ │ -00044d60: 646f 7562 6c65 4154 616e 3220 232d 7d0a doubleATan2 #-}. │ │ │ -00044d70: 646f 7562 6c65 4154 616e 3220 3a3a 2044 doubleATan2 :: D │ │ │ -00044d80: 6f75 626c 6520 2d3e 2044 6f75 626c 6520 ouble -> Double │ │ │ -00044d90: 2d3e 2044 6f75 626c 650a 646f 7562 6c65 -> Double.double │ │ │ -00044da0: 4154 616e 3220 3d20 6174 616e 3220 2d2d ATan2 = atan2 -- │ │ │ -00044db0: 204e 4f54 453a 2064 6f65 736e 2774 2063 NOTE: doesn't c │ │ │ -00044dc0: 6175 7365 2075 6e64 6572 666c 6f77 2f6f ause underflow/o │ │ │ -00044dd0: 7665 7266 6c6f 770a 0a7b 2d23 2049 4e4c verflow..{-# INL │ │ │ -00044de0: 494e 4520 646f 7562 6c65 5369 6e68 2023 INE doubleSinh # │ │ │ -00044df0: 2d7d 0a64 6f75 626c 6553 696e 6820 3a3a -}.doubleSinh :: │ │ │ -00044e00: 2044 6f75 626c 6520 2d3e 2044 6f75 626c Double -> Doubl │ │ │ -00044e10: 650a 646f 7562 6c65 5369 6e68 203d 2073 e.doubleSinh = s │ │ │ -00044e20: 696e 6820 2d2d 204e 4f54 453a 2064 6f65 inh -- NOTE: doe │ │ │ -00044e30: 736e 2774 2063 6175 7365 2075 6e64 6572 sn't cause under │ │ │ -00044e40: 666c 6f77 2f6f 7665 7266 6c6f 770a 0a7b flow/overflow..{ │ │ │ -00044e50: 2d23 2049 4e4c 494e 4520 646f 7562 6c65 -# INLINE double │ │ │ -00044e60: 436f 7368 2023 2d7d 0a64 6f75 626c 6543 Cosh #-}.doubleC │ │ │ -00044e70: 6f73 6820 3a3a 2044 6f75 626c 6520 2d3e osh :: Double -> │ │ │ -00044e80: 2044 6f75 626c 650a 646f 7562 6c65 436f Double.doubleCo │ │ │ -00044e90: 7368 203d 2063 6f73 6820 2d2d 204e 4f54 sh = cosh -- NOT │ │ │ -00044ea0: 453a 2064 6f65 736e 2774 2063 6175 7365 E: doesn't cause │ │ │ -00044eb0: 2075 6e64 6572 666c 6f77 2f6f 7665 7266 underflow/overf │ │ │ -00044ec0: 6c6f 770a 0a7b 2d23 2049 4e4c 494e 4520 low..{-# INLINE │ │ │ -00044ed0: 646f 7562 6c65 5461 6e68 2023 2d7d 0a64 doubleTanh #-}.d │ │ │ -00044ee0: 6f75 626c 6554 616e 6820 3a3a 2044 6f75 oubleTanh :: Dou │ │ │ -00044ef0: 626c 6520 2d3e 2044 6f75 626c 650a 646f ble -> Double.do │ │ │ -00044f00: 7562 6c65 5461 6e68 203d 2074 616e 6820 ubleTanh = tanh │ │ │ -00044f10: 2d2d 204e 4f54 453a 2064 6f65 736e 2774 -- NOTE: doesn't │ │ │ -00044f20: 2063 6175 7365 2075 6e64 6572 666c 6f77 cause underflow │ │ │ -00044f30: 2f6f 7665 7266 6c6f 770a 0a7b 2d23 2049 /overflow..{-# I │ │ │ -00044f40: 4e4c 494e 4520 646f 7562 6c65 4153 696e NLINE doubleASin │ │ │ -00044f50: 6820 232d 7d0a 646f 7562 6c65 4153 696e h #-}.doubleASin │ │ │ -00044f60: 6820 3a3a 2044 6f75 626c 6520 2d3e 2044 h :: Double -> D │ │ │ -00044f70: 6f75 626c 650a 646f 7562 6c65 4153 696e ouble.doubleASin │ │ │ -00044f80: 6820 3d20 6173 696e 6820 2d2d 204e 4f54 h = asinh -- NOT │ │ │ -00044f90: 453a 2064 6f65 736e 2774 2063 6175 7365 E: doesn't cause │ │ │ -00044fa0: 2075 6e64 6572 666c 6f77 2f6f 7665 7266 underflow/overf │ │ │ -00044fb0: 6c6f 770a 0a7b 2d23 2049 4e4c 494e 4520 low..{-# INLINE │ │ │ -00044fc0: 646f 7562 6c65 4143 6f73 6820 232d 7d0a doubleACosh #-}. │ │ │ -00044fd0: 646f 7562 6c65 4143 6f73 6820 3a3a 2044 doubleACosh :: D │ │ │ -00044fe0: 6f75 626c 6520 2d3e 2044 6f75 626c 650a ouble -> Double. │ │ │ -00044ff0: 646f 7562 6c65 4143 6f73 6820 3d20 6163 doubleACosh = ac │ │ │ -00045000: 6f73 6820 2d2d 204e 4f54 453a 2064 6f65 osh -- NOTE: doe │ │ │ -00045010: 736e 2774 2063 6175 7365 2075 6e64 6572 sn't cause under │ │ │ -00045020: 666c 6f77 2f6f 7665 7266 6c6f 770a 0a7b flow/overflow..{ │ │ │ -00045030: 2d23 2049 4e4c 494e 4520 646f 7562 6c65 -# INLINE double │ │ │ -00045040: 4154 616e 6820 232d 7d0a 646f 7562 6c65 ATanh #-}.double │ │ │ -00045050: 4154 616e 6820 3a3a 2044 6f75 626c 6520 ATanh :: Double │ │ │ -00045060: 2d3e 2044 6f75 626c 650a 646f 7562 6c65 -> Double.double │ │ │ -00045070: 4154 616e 6820 3d20 6174 616e 6820 2d2d ATanh = atanh -- │ │ │ -00045080: 204e 4f54 453a 2064 6f65 736e 2774 2063 NOTE: doesn't c │ │ │ -00045090: 6175 7365 2075 6e64 6572 666c 6f77 2f6f ause underflow/o │ │ │ -000450a0: 7665 7266 6c6f 770a 0a7b 2d23 2049 4e4c verflow..{-# INL │ │ │ -000450b0: 494e 4520 6e65 6761 7469 7665 5a65 726f INE negativeZero │ │ │ -000450c0: 2023 2d7d 0a6e 6567 6174 6976 655a 6572 #-}.negativeZer │ │ │ -000450d0: 6f20 3a3a 2044 6f75 626c 650a 6e65 6761 o :: Double.nega │ │ │ -000450e0: 7469 7665 5a65 726f 203d 202d 302e 300a tiveZero = -0.0. │ │ │ -000450f0: 0a70 6f73 6974 6976 6549 6e66 696e 6974 .positiveInfinit │ │ │ -00045100: 7920 3a3a 2044 6f75 626c 650a 706f 7369 y :: Double.posi │ │ │ -00045110: 7469 7665 496e 6669 6e69 7479 203d 2031 tiveInfinity = 1 │ │ │ -00045120: 2e30 202f 2030 2e30 0a0a 6e65 6761 7469 .0 / 0.0..negati │ │ │ -00045130: 7665 496e 6669 6e69 7479 203a 3a20 446f veInfinity :: Do │ │ │ -00045140: 7562 6c65 0a6e 6567 6174 6976 6549 6e66 uble.negativeInf │ │ │ -00045150: 696e 6974 7920 3d20 2d70 6f73 6974 6976 inity = -positiv │ │ │ -00045160: 6549 6e66 696e 6974 790a 0a6e 616e 203a eInfinity..nan : │ │ │ -00045170: 3a20 446f 7562 6c65 0a6e 616e 203d 2030 : Double.nan = 0 │ │ │ -00045180: 2e30 202f 2030 2e30 0a0a 6973 506f 7349 .0 / 0.0..isPosI │ │ │ -00045190: 6e66 203a 3a20 446f 7562 6c65 202d 3e20 nf :: Double -> │ │ │ -000451a0: 426f 6f6c 0a69 7350 6f73 496e 6620 7820 Bool.isPosInf x │ │ │ -000451b0: 3d20 7820 3e20 302e 3020 2626 2069 7349 = x > 0.0 && isI │ │ │ -000451c0: 6e66 696e 6974 6520 780a 0a69 734e 6567 nfinite x..isNeg │ │ │ -000451d0: 496e 6620 3a3a 2044 6f75 626c 6520 2d3e Inf :: Double -> │ │ │ -000451e0: 2042 6f6f 6c0a 6973 4e65 6749 6e66 2078 Bool.isNegInf x │ │ │ -000451f0: 203d 2078 203c 2030 2e30 2026 2620 6973 = x < 0.0 && is │ │ │ -00045200: 496e 6669 6e69 7465 2078 0a0a 6973 506f Infinite x..isPo │ │ │ -00045210: 735a 6572 6f20 3a3a 2044 6f75 626c 6520 sZero :: Double │ │ │ -00045220: 2d3e 2042 6f6f 6c0a 6973 506f 735a 6572 -> Bool.isPosZer │ │ │ -00045230: 6f20 7820 3d20 646f 7562 6c65 4465 6e6f o x = doubleDeno │ │ │ -00045240: 7445 7120 7820 302e 300a 0a69 734e 6567 tEq x 0.0..isNeg │ │ │ -00045250: 5a65 726f 203a 3a20 446f 7562 6c65 202d Zero :: Double - │ │ │ -00045260: 3e20 426f 6f6c 0a69 734e 6567 5a65 726f > Bool.isNegZero │ │ │ -00045270: 2078 203d 2064 6f75 626c 6544 656e 6f74 x = doubleDenot │ │ │ -00045280: 4571 2078 2028 2d30 2e30 290a 0a64 6f75 Eq x (-0.0)..dou │ │ │ -00045290: 626c 6552 6f75 6e64 203a 3a20 446f 7562 bleRound :: Doub │ │ │ -000452a0: 6c65 202d 3e20 4d61 7962 6520 496e 7465 le -> Maybe Inte │ │ │ -000452b0: 6765 720a 646f 7562 6c65 526f 756e 6420 ger.doubleRound │ │ │ -000452c0: 3d20 666d 6170 2072 6f75 6e64 202e 2061 = fmap round . a │ │ │ -000452d0: 7346 696e 6974 650a 0a64 6f75 626c 6546 sFinite..doubleF │ │ │ -000452e0: 6c6f 6f72 203a 3a20 446f 7562 6c65 202d loor :: Double - │ │ │ -000452f0: 3e20 4d61 7962 6520 496e 7465 6765 720a > Maybe Integer. │ │ │ -00045300: 646f 7562 6c65 466c 6f6f 7220 3d20 666d doubleFloor = fm │ │ │ -00045310: 6170 2066 6c6f 6f72 202e 2061 7346 696e ap floor . asFin │ │ │ -00045320: 6974 650a 0a64 6f75 626c 6543 6569 6c69 ite..doubleCeili │ │ │ -00045330: 6e67 203a 3a20 446f 7562 6c65 202d 3e20 ng :: Double -> │ │ │ -00045340: 4d61 7962 6520 496e 7465 6765 720a 646f Maybe Integer.do │ │ │ -00045350: 7562 6c65 4365 696c 696e 6720 3d20 666d ubleCeiling = fm │ │ │ -00045360: 6170 2063 6569 6c69 6e67 202e 2061 7346 ap ceiling . asF │ │ │ -00045370: 696e 6974 650a 0a6e 6f72 6d61 6c69 7365 inite..normalise │ │ │ -00045380: 4e61 4e20 3a3a 2044 6f75 626c 6520 2d3e NaN :: Double -> │ │ │ -00045390: 2044 6f75 626c 650a 6e6f 726d 616c 6973 Double.normalis │ │ │ -000453a0: 654e 614e 2078 0a20 207c 2069 734e 614e eNaN x. | isNaN │ │ │ -000453b0: 2078 2020 203d 206e 616e 0a20 207c 206f x = nan. | o │ │ │ -000453c0: 7468 6572 7769 7365 203d 2078 0a0a 646f therwise = x..do │ │ │ -000453d0: 7562 6c65 546f 576f 7264 3634 203a 3a20 ubleToWord64 :: │ │ │ -000453e0: 446f 7562 6c65 202d 3e20 4d61 7962 6520 Double -> Maybe │ │ │ -000453f0: 576f 7264 3634 0a64 6f75 626c 6554 6f57 Word64.doubleToW │ │ │ -00045400: 6f72 6436 3420 780a 2020 7c20 6973 4e61 ord64 x. | isNa │ │ │ -00045410: 4e20 7820 2020 3d20 4e6f 7468 696e 670a N x = Nothing. │ │ │ -00045420: 2020 7c20 6f74 6865 7277 6973 6520 3d20 | otherwise = │ │ │ -00045430: 4a75 7374 2028 6361 7374 446f 7562 6c65 Just (castDouble │ │ │ -00045440: 546f 576f 7264 3634 2078 290a 0a2d 2d20 ToWord64 x)..-- │ │ │ -00045450: 7c44 656e 6f74 6174 696f 6e61 6c20 6571 |Denotational eq │ │ │ -00045460: 7561 6c69 7479 2066 6f72 2066 6c6f 6174 uality for float │ │ │ -00045470: 696e 6720 706f 696e 7420 6e75 6d62 6572 ing point number │ │ │ -00045480: 732c 2063 6865 636b 7320 6269 7477 6973 s, checks bitwis │ │ │ -00045490: 6520 6571 7561 6c69 7479 2e0a 2d2d 0a2d e equality..--.- │ │ │ -000454a0: 2d20 204e 4f54 453a 2044 656e 6f74 6174 - NOTE: Denotat │ │ │ -000454b0: 696f 6e61 6c20 6571 7561 6c69 7479 2064 ional equality d │ │ │ -000454c0: 6973 7469 6e67 7569 7368 6573 204e 614e istinguishes NaN │ │ │ -000454d0: 732c 2073 6f20 6974 7320 7265 7375 6c74 s, so its result │ │ │ -000454e0: 7320 6d61 7920 7661 7279 0a2d 2d20 2020 s may vary.-- │ │ │ -000454f0: 2020 2020 2064 6570 656e 6469 6e67 206f depending o │ │ │ -00045500: 6e20 7468 6520 6172 6368 6974 6563 7475 n the architectu │ │ │ -00045510: 7265 2061 6e64 2063 6f6d 7069 6c61 7469 re and compilati │ │ │ -00045520: 6f6e 2066 6c61 6773 2e20 556e 666f 7274 on flags. Unfort │ │ │ -00045530: 756e 6174 656c 792c 0a2d 2d20 2020 2020 unately,.-- │ │ │ -00045540: 2020 2074 6869 7320 6973 2061 2070 726f this is a pro │ │ │ -00045550: 626c 656d 2077 6974 6820 666c 6f61 7469 blem with floati │ │ │ -00045560: 6e67 2d70 6f69 6e74 206e 756d 6265 7273 ng-point numbers │ │ │ -00045570: 2069 6e20 6765 6e65 7261 6c2e 0a2d 2d0a in general..--. │ │ │ -00045580: 646f 7562 6c65 4465 6e6f 7445 7120 3a3a doubleDenotEq :: │ │ │ -00045590: 2044 6f75 626c 6520 2d3e 2044 6f75 626c Double -> Doubl │ │ │ -000455a0: 6520 2d3e 2042 6f6f 6c0a 646f 7562 6c65 e -> Bool.double │ │ │ -000455b0: 4465 6e6f 7445 7120 3d20 283d 3d29 2060 DenotEq = (==) ` │ │ │ -000455c0: 6f6e 6020 646f 7562 6c65 546f 576f 7264 on` doubleToWord │ │ │ -000455d0: 3634 0a0a 2d2d 207c 4920 6775 6573 7320 64..-- |I guess │ │ │ -000455e0: 2264 656e 6f74 6174 696f 6e61 6c20 6f72 "denotational or │ │ │ -000455f0: 6465 7269 6e67 7322 2061 7265 206e 6f77 derings" are now │ │ │ -00045600: 2061 2074 6869 6e67 3f20 5468 6520 706f a thing? The po │ │ │ -00045610: 696e 7420 6973 2074 6861 7420 7765 206e int is that we n │ │ │ -00045620: 6565 640a 2d2d 2020 616e 204f 7264 2069 eed.-- an Ord i │ │ │ -00045630: 6e73 7461 6e63 6520 7768 6963 6820 7072 nstance which pr │ │ │ -00045640: 6f76 6964 6573 2061 2074 6f74 616c 206f ovides a total o │ │ │ -00045650: 7264 6572 696e 672c 2061 6e64 2069 7320 rdering, and is │ │ │ -00045660: 636f 6e73 6973 7465 6e74 2077 6974 6820 consistent with │ │ │ -00045670: 7468 650a 2d2d 2020 6465 6e6f 7461 7469 the.-- denotati │ │ │ -00045680: 6f6e 616c 2065 7175 616c 6974 792e 0a2d onal equality..- │ │ │ -00045690: 2d0a 2d2d 2020 4e4f 5445 3a20 5468 6520 -.-- NOTE: The │ │ │ -000456a0: 6f72 6465 7269 6e67 2069 6e64 7563 6564 ordering induced │ │ │ -000456b0: 2076 6961 2060 646f 7562 6c65 546f 576f via `doubleToWo │ │ │ -000456c0: 7264 3634 6020 6973 2074 6f74 616c 2c20 rd64` is total, │ │ │ -000456d0: 616e 6420 6973 2063 6f6e 7369 7374 656e and is consisten │ │ │ -000456e0: 740a 2d2d 2020 2020 2020 2020 7769 7468 t.-- with │ │ │ -000456f0: 2060 646f 7562 6c65 4465 6e6f 7445 7160 `doubleDenotEq` │ │ │ -00045700: 2e20 486f 7765 7665 722c 2069 7420 6973 . However, it is │ │ │ -00045710: 202a 6465 6570 6c79 2a20 756e 696e 7475 *deeply* unintu │ │ │ -00045720: 6974 6976 652e 2046 6f72 206f 6e65 2c20 itive. For one, │ │ │ -00045730: 6974 0a2d 2d20 2020 2020 2020 2063 6f6e it.-- con │ │ │ -00045740: 7369 6465 7273 2061 6c6c 206e 6567 6174 siders all negat │ │ │ -00045750: 6976 6520 6e75 6d62 6572 7320 746f 2062 ive numbers to b │ │ │ -00045760: 6520 6c61 7267 6572 2074 6861 6e20 706f e larger than po │ │ │ -00045770: 7369 7469 7665 206e 756d 6265 7273 2e0a sitive numbers.. │ │ │ -00045780: 2d2d 0a64 6f75 626c 6544 656e 6f74 4f72 --.doubleDenotOr │ │ │ -00045790: 6420 3a3a 2044 6f75 626c 6520 2d3e 2044 d :: Double -> D │ │ │ -000457a0: 6f75 626c 6520 2d3e 204f 7264 6572 696e ouble -> Orderin │ │ │ -000457b0: 670a 646f 7562 6c65 4465 6e6f 744f 7264 g.doubleDenotOrd │ │ │ -000457c0: 203d 2063 6f6d 7061 7265 2060 6f6e 6020 = compare `on` │ │ │ -000457d0: 646f 7562 6c65 546f 576f 7264 3634 0a0a doubleToWord64.. │ │ │ -000457e0: 2d2d 207c 5265 7475 726e 204a 7573 7420 -- |Return Just │ │ │ -000457f0: 7820 6966 2069 7427 7320 6120 6669 6e69 x if it's a fini │ │ │ -00045800: 7465 206e 756d 6265 722c 206f 7468 6572 te number, other │ │ │ -00045810: 7769 7365 2072 6574 7572 6e20 4e6f 7468 wise return Noth │ │ │ -00045820: 696e 672e 0a61 7346 696e 6974 6520 3a3a ing..asFinite :: │ │ │ -00045830: 2044 6f75 626c 6520 2d3e 204d 6179 6265 Double -> Maybe │ │ │ -00045840: 2044 6f75 626c 650a 6173 4669 6e69 7465 Double.asFinite │ │ │ -00045850: 2078 0a20 207c 2069 734e 614e 2020 2020 x. | isNaN │ │ │ -00045860: 2020 7820 3d20 4e6f 7468 696e 670a 2020 x = Nothing. │ │ │ -00045870: 7c20 6973 496e 6669 6e69 7465 2078 203d | isInfinite x = │ │ │ -00045880: 204e 6f74 6869 6e67 0a20 207c 206f 7468 Nothing. | oth │ │ │ -00045890: 6572 7769 7365 2020 2020 3d20 4a75 7374 erwise = Just │ │ │ -000458a0: 2078 0a0a 2d2d 207c 4465 636f 6465 2061 x..-- |Decode a │ │ │ -000458b0: 2044 6f75 626c 6520 746f 2061 6e20 696e Double to an in │ │ │ -000458c0: 7465 6765 7220 7261 7469 6f2e 0a64 6f75 teger ratio..dou │ │ │ -000458d0: 626c 6554 6f52 6174 696f 203a 3a20 446f bleToRatio :: Do │ │ │ -000458e0: 7562 6c65 202d 3e20 2849 6e74 6567 6572 uble -> (Integer │ │ │ -000458f0: 2c20 496e 7465 6765 7229 0a64 6f75 626c , Integer).doubl │ │ │ -00045900: 6554 6f52 6174 696f 2078 0a20 207c 2069 eToRatio x. | i │ │ │ -00045910: 734e 614e 2020 2020 2020 7820 3d20 2830 sNaN x = (0 │ │ │ -00045920: 2c20 3029 0a20 207c 2069 7349 6e66 696e , 0). | isInfin │ │ │ -00045930: 6974 6520 7820 3d20 2873 6967 6e75 6d20 ite x = (signum │ │ │ -00045940: 2866 6c6f 6f72 2078 292c 2030 290a 2020 (floor x), 0). │ │ │ -00045950: 7c20 6f74 6865 7277 6973 6520 2020 203d | otherwise = │ │ │ -00045960: 206c 6574 2072 203d 2074 6f52 6174 696f let r = toRatio │ │ │ -00045970: 6e61 6c20 7820 696e 2028 6e75 6d65 7261 nal x in (numera │ │ │ -00045980: 746f 7220 722c 2064 656e 6f6d 696e 6174 tor r, denominat │ │ │ -00045990: 6f72 2072 290a 0a2d 2d20 7c45 6e63 6f64 or r)..-- |Encod │ │ │ -000459a0: 6520 616e 2069 6e74 6567 6572 2072 6174 e an integer rat │ │ │ -000459b0: 696f 2061 7320 6120 646f 7562 6c65 2e0a io as a double.. │ │ │ -000459c0: 7261 7469 6f54 6f44 6f75 626c 6520 3a3a ratioToDouble :: │ │ │ -000459d0: 2049 6e74 6567 6572 202d 3e20 496e 7465 Integer -> Inte │ │ │ -000459e0: 6765 7220 2d3e 2044 6f75 626c 650a 7261 ger -> Double.ra │ │ │ -000459f0: 7469 6f54 6f44 6f75 626c 6520 6e20 640a tioToDouble n d. │ │ │ -00045a00: 2020 7c20 6420 3d3d 2030 203d 2063 6173 | d == 0 = cas │ │ │ -00045a10: 6520 636f 6d70 6172 6520 6e20 3020 6f66 e compare n 0 of │ │ │ -00045a20: 0a20 2020 2020 204c 5420 2d3e 206e 6567 . LT -> neg │ │ │ -00045a30: 6174 6976 6549 6e66 696e 6974 790a 2020 ativeInfinity. │ │ │ -00045a40: 2020 2020 4551 202d 3e20 6e61 6e0a 2020 EQ -> nan. │ │ │ -00045a50: 2020 2020 4754 202d 3e20 706f 7369 7469 GT -> positi │ │ │ -00045a60: 7665 496e 6669 6e69 7479 0a20 207c 206f veInfinity. | o │ │ │ -00045a70: 7468 6572 7769 7365 203d 2066 726f 6d52 therwise = fromR │ │ │ -00045a80: 6174 696f 6e61 6c20 286e 2025 2064 290a ational (n % d). │ │ │ -00045a90: 0a2d 2d20 7c44 6563 6f64 6520 6120 446f .-- |Decode a Do │ │ │ -00045aa0: 7562 6c65 2074 6f20 6974 7320 6d61 6e74 uble to its mant │ │ │ -00045ab0: 6973 7361 2061 6e64 2069 7473 2065 7870 issa and its exp │ │ │ -00045ac0: 6f6e 656e 742c 206e 6f72 6d61 6c69 7365 onent, normalise │ │ │ -00045ad0: 6420 7375 6368 2074 6861 7420 7468 650a d such that the. │ │ │ -00045ae0: 2d2d 2020 6d61 6e74 6973 7361 2069 7320 -- mantissa is │ │ │ -00045af0: 7468 6520 736d 616c 6c65 7374 2070 6f73 the smallest pos │ │ │ -00045b00: 7369 626c 6520 6e75 6d62 6572 2077 6974 sible number wit │ │ │ -00045b10: 686f 7574 206c 6f73 7320 6f66 2061 6363 hout loss of acc │ │ │ -00045b20: 7572 6163 792e 0a64 6f75 626c 6544 6563 uracy..doubleDec │ │ │ -00045b30: 6f64 6520 3a3a 2044 6f75 626c 6520 2d3e ode :: Double -> │ │ │ -00045b40: 204d 6179 6265 2028 496e 7465 6765 722c Maybe (Integer, │ │ │ -00045b50: 2049 6e74 6567 6572 290a 646f 7562 6c65 Integer).double │ │ │ -00045b60: 4465 636f 6465 2078 0a20 207c 2069 734e Decode x. | isN │ │ │ -00045b70: 614e 2020 2020 2020 7820 3d20 4e6f 7468 aN x = Noth │ │ │ -00045b80: 696e 670a 2020 7c20 6973 496e 6669 6e69 ing. | isInfini │ │ │ -00045b90: 7465 2078 203d 204e 6f74 6869 6e67 0a20 te x = Nothing. │ │ │ -00045ba0: 207c 206f 7468 6572 7769 7365 2020 2020 | otherwise │ │ │ -00045bb0: 3d20 4a75 7374 2028 756e 6375 7272 7920 = Just (uncurry │ │ │ -00045bc0: 6e6f 726d 616c 6973 6520 2873 6563 6f6e normalise (secon │ │ │ -00045bd0: 6420 746f 496e 7465 6765 7220 2864 6563 d toInteger (dec │ │ │ -00045be0: 6f64 6546 6c6f 6174 2078 2929 290a 2020 odeFloat x))). │ │ │ -00045bf0: 7768 6572 650a 2020 2020 6e6f 726d 616c where. normal │ │ │ -00045c00: 6973 6520 3a3a 2049 6e74 6567 6572 202d ise :: Integer - │ │ │ -00045c10: 3e20 496e 7465 6765 7220 2d3e 2028 496e > Integer -> (In │ │ │ -00045c20: 7465 6765 722c 2049 6e74 6567 6572 290a teger, Integer). │ │ │ -00045c30: 2020 2020 6e6f 726d 616c 6973 6520 6d61 normalise ma │ │ │ -00045c40: 6e74 6973 7361 2065 7870 6f6e 656e 740a ntissa exponent. │ │ │ -00045c50: 2020 2020 2020 7c20 6576 656e 206d 616e | even man │ │ │ -00045c60: 7469 7373 6120 3d20 6e6f 726d 616c 6973 tissa = normalis │ │ │ -00045c70: 6520 286d 616e 7469 7373 6120 6064 6976 e (mantissa `div │ │ │ -00045c80: 6020 3229 2028 6578 706f 6e65 6e74 202b ` 2) (exponent + │ │ │ -00045c90: 2031 290a 2020 2020 2020 7c20 6f74 6865 1). | othe │ │ │ -00045ca0: 7277 6973 6520 3d20 286d 616e 7469 7373 rwise = (mantiss │ │ │ -00045cb0: 612c 2065 7870 6f6e 656e 7429 0a0a 2d2d a, exponent)..-- │ │ │ -00045cc0: 207c 4368 6563 6b73 2077 6865 7468 6572 |Checks whether │ │ │ -00045cd0: 206f 7220 6e6f 7420 7468 6520 446f 7562 or not the Doub │ │ │ -00045ce0: 6c65 2069 7320 7769 7468 696e 2061 2073 le is within a s │ │ │ -00045cf0: 6166 6520 7261 6e67 6520 6f66 206f 7065 afe range of ope │ │ │ -00045d00: 7261 7469 6f6e 2e0a 6973 5361 6665 496e ration..isSafeIn │ │ │ -00045d10: 7465 6765 7220 3a3a 2044 6f75 626c 6520 teger :: Double │ │ │ -00045d20: 2d3e 2042 6f6f 6c0a 6973 5361 6665 496e -> Bool.isSafeIn │ │ │ -00045d30: 7465 6765 7220 7820 3d20 6361 7365 2070 teger x = case p │ │ │ -00045d40: 726f 7065 7246 7261 6374 696f 6e20 7820 roperFraction x │ │ │ -00045d50: 6f66 0a20 2028 6e2c 2066 2920 2d3e 2066 of. (n, f) -> f │ │ │ -00045d60: 203d 3d20 302e 3020 2626 206d 696e 4d61 == 0.0 && minMa │ │ │ -00045d70: 6e74 6973 7361 203c 3d20 6e20 2626 206e ntissa <= n && n │ │ │ -00045d80: 203c 3d20 6d61 784d 616e 7469 7373 610a <= maxMantissa. │ │ │ -00045d90: 0a64 6f75 626c 6552 6164 6978 203a 3a20 .doubleRadix :: │ │ │ -00045da0: 496e 7465 6765 720a 646f 7562 6c65 5261 Integer.doubleRa │ │ │ -00045db0: 6469 7820 3d20 666c 6f61 7452 6164 6978 dix = floatRadix │ │ │ -00045dc0: 2028 756e 6465 6669 6e65 6420 3a3a 2044 (undefined :: D │ │ │ -00045dd0: 6f75 626c 6529 0a0a 646f 7562 6c65 4469 ouble)..doubleDi │ │ │ -00045de0: 6769 7473 203a 3a20 496e 740a 646f 7562 gits :: Int.doub │ │ │ -00045df0: 6c65 4469 6769 7473 203d 2066 6c6f 6174 leDigits = float │ │ │ -00045e00: 4469 6769 7473 2028 756e 6465 6669 6e65 Digits (undefine │ │ │ -00045e10: 6420 3a3a 2044 6f75 626c 6529 0a0a 646f d :: Double)..do │ │ │ -00045e20: 7562 6c65 5261 6e67 6520 3a3a 2028 496e ubleRange :: (In │ │ │ -00045e30: 742c 2049 6e74 290a 646f 7562 6c65 5261 t, Int).doubleRa │ │ │ -00045e40: 6e67 6520 3d20 666c 6f61 7452 616e 6765 nge = floatRange │ │ │ -00045e50: 2028 756e 6465 6669 6e65 6420 3a3a 2044 (undefined :: D │ │ │ -00045e60: 6f75 626c 6529 0a0a 2d2d 207c 5468 6520 ouble)..-- |The │ │ │ -00045e70: 736d 616c 6c65 7374 2072 6570 7265 7365 smallest represe │ │ │ -00045e80: 6e74 6162 6c65 206d 616e 7469 7373 612e ntable mantissa. │ │ │ -00045e90: 2053 696d 756c 7461 6e65 6f75 736c 792c Simultaneously, │ │ │ -00045ea0: 2074 6865 2073 6d61 6c6c 6573 7420 696e the smallest in │ │ │ -00045eb0: 7465 6765 7220 7768 6963 6820 6361 6e20 teger which can │ │ │ -00045ec0: 6265 0a2d 2d20 2072 6570 7265 7365 6e74 be.-- represent │ │ │ -00045ed0: 6564 2061 7320 6120 446f 7562 6c65 2077 ed as a Double w │ │ │ -00045ee0: 6974 686f 7574 206c 6f73 7320 6f66 2070 ithout loss of p │ │ │ -00045ef0: 7265 6369 7369 6f6e 2e0a 6d69 6e4d 616e recision..minMan │ │ │ -00045f00: 7469 7373 6120 3a3a 2049 6e74 6567 6572 tissa :: Integer │ │ │ -00045f10: 0a6d 696e 4d61 6e74 6973 7361 203d 202d .minMantissa = - │ │ │ -00045f20: 206d 6178 4d61 6e74 6973 7361 0a0a 2d2d maxMantissa..-- │ │ │ -00045f30: 207c 5468 6520 6c61 7267 6573 7420 7265 |The largest re │ │ │ -00045f40: 7072 6573 656e 7461 626c 6520 6d61 6e74 presentable mant │ │ │ -00045f50: 6973 7361 2e20 5369 6d75 6c74 616e 656f issa. Simultaneo │ │ │ -00045f60: 7573 6c79 2c20 7468 6520 6c61 7267 6573 usly, the larges │ │ │ -00045f70: 7420 696e 7465 6765 7220 7768 6963 6820 t integer which │ │ │ -00045f80: 6361 6e20 6265 0a2d 2d20 2072 6570 7265 can be.-- repre │ │ │ -00045f90: 7365 6e74 6564 2061 7320 6120 446f 7562 sented as a Doub │ │ │ -00045fa0: 6c65 2077 6974 686f 7574 206c 6f73 7320 le without loss │ │ │ -00045fb0: 6f66 2070 7265 6369 7369 6f6e 2e0a 6d61 of precision..ma │ │ │ -00045fc0: 784d 616e 7469 7373 6120 3a3a 2049 6e74 xMantissa :: Int │ │ │ -00045fd0: 6567 6572 0a6d 6178 4d61 6e74 6973 7361 eger.maxMantissa │ │ │ -00045fe0: 203d 2028 646f 7562 6c65 5261 6469 7820 = (doubleRadix │ │ │ -00045ff0: 5e20 746f 496e 7465 6765 7220 646f 7562 ^ toInteger doub │ │ │ -00046000: 6c65 4469 6769 7473 2920 2d20 310a 0a2d leDigits) - 1..- │ │ │ -00046010: 2d20 7c54 6865 206c 6172 6765 7374 2072 - |The largest r │ │ │ -00046020: 6570 7265 7365 6e74 6162 6c65 2065 7870 epresentable exp │ │ │ -00046030: 6f6e 656e 742e 0a6d 696e 4578 706f 6e65 onent..minExpone │ │ │ -00046040: 6e74 203a 3a20 496e 7465 6765 720a 6d69 nt :: Integer.mi │ │ │ -00046050: 6e45 7870 6f6e 656e 7420 3d20 746f 496e nExponent = toIn │ │ │ -00046060: 7465 6765 7220 2420 2866 7374 2064 6f75 teger $ (fst dou │ │ │ -00046070: 626c 6552 616e 6765 202d 2064 6f75 626c bleRange - doubl │ │ │ -00046080: 6544 6967 6974 7329 202d 2031 0a0a 2d2d eDigits) - 1..-- │ │ │ -00046090: 207c 5468 6520 736d 616c 6c65 7374 2072 |The smallest r │ │ │ -000460a0: 6570 7265 7365 6e74 6162 6c65 2065 7870 epresentable exp │ │ │ -000460b0: 6f6e 656e 742e 0a6d 6178 4578 706f 6e65 onent..maxExpone │ │ │ -000460c0: 6e74 203a 3a20 496e 7465 6765 720a 6d61 nt :: Integer.ma │ │ │ -000460d0: 7845 7870 6f6e 656e 7420 3d20 746f 496e xExponent = toIn │ │ │ -000460e0: 7465 6765 7220 2420 736e 6420 646f 7562 teger $ snd doub │ │ │ -000460f0: 6c65 5261 6e67 6520 2d20 646f 7562 6c65 leRange - double │ │ │ -00046100: 4469 6769 7473 0a0a 2d2d 207c 456e 636f Digits..-- |Enco │ │ │ -00046110: 6465 2061 206d 616e 7469 7373 6120 616e de a mantissa an │ │ │ -00046120: 6420 616e 2065 7870 6f6e 656e 7420 6173 d an exponent as │ │ │ -00046130: 2061 2044 6f75 626c 652e 0a64 6f75 626c a Double..doubl │ │ │ -00046140: 6545 6e63 6f64 6520 3a3a 2049 6e74 6567 eEncode :: Integ │ │ │ -00046150: 6572 202d 3e20 496e 7465 6765 7220 2d3e er -> Integer -> │ │ │ -00046160: 204d 6179 6265 2044 6f75 626c 650a 646f Maybe Double.do │ │ │ -00046170: 7562 6c65 456e 636f 6465 206d 616e 7469 ubleEncode manti │ │ │ -00046180: 7373 6120 6578 706f 6e65 6e74 0a20 203d ssa exponent. = │ │ │ -00046190: 2069 6620 6d69 6e4d 616e 7469 7373 6120 if minMantissa │ │ │ -000461a0: 3c3d 206d 616e 7469 7373 6120 2626 206d <= mantissa && m │ │ │ -000461b0: 616e 7469 7373 6120 3c3d 206d 6178 4d61 antissa <= maxMa │ │ │ -000461c0: 6e74 6973 7361 2026 260a 2020 2020 2020 ntissa &&. │ │ │ -000461d0: 206d 696e 4578 706f 6e65 6e74 203c 3d20 minExponent <= │ │ │ -000461e0: 6578 706f 6e65 6e74 2026 2620 6578 706f exponent && expo │ │ │ -000461f0: 6e65 6e74 203c 3d20 6d61 7845 7870 6f6e nent <= maxExpon │ │ │ -00046200: 656e 740a 2020 2020 7468 656e 204a 7573 ent. then Jus │ │ │ -00046210: 7420 2865 6e63 6f64 6546 6c6f 6174 206d t (encodeFloat m │ │ │ -00046220: 616e 7469 7373 6120 2866 726f 6d49 6e74 antissa (fromInt │ │ │ -00046230: 6567 6572 2065 7870 6f6e 656e 7429 290a eger exponent)). │ │ │ -00046240: 2020 2020 656c 7365 204e 6f74 6869 6e67 else Nothing │ │ │ -00046250: 0ab3 fbb7 cab8 8ff0 8159 fdb3 b380 c8a2 .........Y...... │ │ │ -00046260: bbcc b701 00e9 0100 0462 a205 b480 80e6 .........b...... │ │ │ -00046270: 0800 0000 0520 0000 0100 0100 0404 0803 ..... .......... │ │ │ -00046280: 0702 8680 80ec 0802 0000 030f 0005 0505 ................ │ │ │ -00046290: 0b87 8080 ec08 0105 2000 0001 0ba1 010b ........ ....... │ │ │ -000462a0: fa01 d48f b0ea b089 9beb 9801 dc84 e196 ................ │ │ │ -000462b0: a08b e18e fc01 00f6 0100 0462 e005 2000 ...........b.. . │ │ │ -000462c0: 0001 0004 0408 0307 025e 0200 0003 0f00 .........^...... │ │ │ -000462d0: 0505 050b 5f0b fb01 0b61 0906 0100 ab16 ...._....a...... │ │ │ -000462e0: ebcd f9da c6d5 819c e301 a0cb aff0 bfa2 ................ │ │ │ -000462f0: 9dce b001 00fb 0100 046e 3e05 8280 80e6 .........n>..... │ │ │ -00046300: 0800 0001 0003 0407 0402 0000 030f 0009 ................ │ │ │ -00046310: 01ab 167b 2d23 204c 414e 4755 4147 4520 ...{-# LANGUAGE │ │ │ -00046320: 506f 6c79 4b69 6e64 7320 232d 7d0a 0a6d PolyKinds #-}..m │ │ │ -00046330: 6f64 756c 6520 4d41 6c6f 6e7a 6f2e 5254 odule MAlonzo.RT │ │ │ -00046340: 4520 7768 6572 650a 0a69 6d70 6f72 7420 E where..import │ │ │ -00046350: 5072 656c 7564 650a 2020 2820 426f 6f6c Prelude. ( Bool │ │ │ -00046360: 2c20 4368 6172 2c20 446f 7562 6c65 2c20 , Char, Double, │ │ │ -00046370: 496e 7465 6765 722c 2053 7472 696e 670a Integer, String. │ │ │ -00046380: 2020 2c20 456e 756d 282e 2e29 2c20 4571 , Enum(..), Eq │ │ │ -00046390: 282e 2e29 2c20 4f72 6428 2e2e 292c 2049 (..), Ord(..), I │ │ │ -000463a0: 6e74 6567 7261 6c28 2e2e 292c 204e 756d ntegral(..), Num │ │ │ -000463b0: 282e 2e29 0a20 202c 2028 2429 2c20 6572 (..). , ($), er │ │ │ -000463c0: 726f 722c 206f 7468 6572 7769 7365 0a20 ror, otherwise. │ │ │ -000463d0: 202c 2028 2b2b 292c 2066 726f 6d49 6e74 , (++), fromInt │ │ │ -000463e0: 6567 7261 6c0a 2020 290a 0a69 6d70 6f72 egral. )..impor │ │ │ -000463f0: 7420 4461 7461 2e43 6861 7220 2820 4765 t Data.Char ( Ge │ │ │ -00046400: 6e65 7261 6c43 6174 6567 6f72 7928 5375 neralCategory(Su │ │ │ -00046410: 7272 6f67 6174 6529 2c20 6765 6e65 7261 rrogate), genera │ │ │ -00046420: 6c43 6174 6567 6f72 7920 290a 696d 706f lCategory ).impo │ │ │ -00046430: 7274 2044 6174 612e 4b69 6e64 2028 2054 rt Data.Kind ( T │ │ │ -00046440: 7970 6529 0a69 6d70 6f72 7420 7175 616c ype).import qual │ │ │ -00046450: 6966 6965 6420 4461 7461 2e57 6f72 640a ified Data.Word. │ │ │ -00046460: 696d 706f 7274 2071 7561 6c69 6669 6564 import qualified │ │ │ -00046470: 2047 4843 2e45 7874 7320 6173 2047 4843 GHC.Exts as GHC │ │ │ -00046480: 2028 2041 6e79 2029 0a69 6d70 6f72 7420 ( Any ).import │ │ │ -00046490: 556e 7361 6665 2e43 6f65 7263 6520 2820 Unsafe.Coerce ( │ │ │ -000464a0: 756e 7361 6665 436f 6572 6365 2029 0a0a unsafeCoerce ).. │ │ │ -000464b0: 7479 7065 2041 6764 6141 6e79 203d 2047 type AgdaAny = G │ │ │ -000464c0: 4843 2e41 6e79 0a0a 2d2d 2053 7065 6369 HC.Any..-- Speci │ │ │ -000464d0: 616c 2076 6572 7369 6f6e 206f 6620 636f al version of co │ │ │ -000464e0: 6572 6365 2074 6861 7420 706c 6179 7320 erce that plays │ │ │ -000464f0: 7765 6c6c 2077 6974 6820 7275 6c65 732e well with rules. │ │ │ -00046500: 0a7b 2d23 2049 4e4c 494e 4520 5b31 5d20 .{-# INLINE [1] │ │ │ -00046510: 636f 6520 232d 7d0a 636f 6520 3a3a 2061 coe #-}.coe :: a │ │ │ -00046520: 202d 3e20 620a 636f 6520 3d20 756e 7361 -> b.coe = unsa │ │ │ -00046530: 6665 436f 6572 6365 0a7b 2d23 2052 554c feCoerce.{-# RUL │ │ │ -00046540: 4553 2022 636f 6572 6365 2d69 6422 2066 ES "coerce-id" f │ │ │ -00046550: 6f72 616c 6c20 2878 203a 3a20 6129 202e orall (x :: a) . │ │ │ -00046560: 2063 6f65 2078 203d 2078 2023 2d7d 0a0a coe x = x #-}.. │ │ │ -00046570: 2d2d 2042 7569 6c74 696e 2051 4e61 6d65 -- Builtin QName │ │ │ -00046580: 732e 0a64 6174 6120 514e 616d 6520 3d20 s..data QName = │ │ │ -00046590: 514e 616d 6520 7b20 6e61 6d65 4964 2c20 QName { nameId, │ │ │ -000465a0: 6d6f 6475 6c65 4964 203a 3a20 496e 7465 moduleId :: Inte │ │ │ -000465b0: 6765 722c 2071 6e61 6d65 5374 7269 6e67 ger, qnameString │ │ │ -000465c0: 203a 3a20 5374 7269 6e67 2c20 716e 616d :: String, qnam │ │ │ -000465d0: 6546 6978 6974 7920 3a3a 2046 6978 6974 eFixity :: Fixit │ │ │ -000465e0: 7920 7d0a 0a64 6174 6120 4173 736f 6320 y }..data Assoc │ │ │ -000465f0: 2020 2020 203d 204e 6f6e 4173 736f 6320 = NonAssoc │ │ │ -00046600: 7c20 4c65 6674 4173 736f 6320 7c20 5269 | LeftAssoc | Ri │ │ │ -00046610: 6768 7441 7373 6f63 0a64 6174 6120 5072 ghtAssoc.data Pr │ │ │ -00046620: 6563 6564 656e 6365 203d 2055 6e72 656c ecedence = Unrel │ │ │ -00046630: 6174 6564 207c 2052 656c 6174 6564 2050 ated | Related P │ │ │ -00046640: 7265 6365 6465 6e63 654c 6576 656c 0a64 recedenceLevel.d │ │ │ -00046650: 6174 6120 4669 7869 7479 2020 2020 203d ata Fixity = │ │ │ -00046660: 2046 6978 6974 7920 4173 736f 6320 5072 Fixity Assoc Pr │ │ │ -00046670: 6563 6564 656e 6365 0a74 7970 6520 5072 ecedence.type Pr │ │ │ -00046680: 6563 6564 656e 6365 4c65 7665 6c20 3d20 ecedenceLevel = │ │ │ -00046690: 446f 7562 6c65 0a0a 696e 7374 616e 6365 Double..instance │ │ │ -000466a0: 2045 7120 514e 616d 6520 7768 6572 650a Eq QName where. │ │ │ -000466b0: 2020 514e 616d 6520 6120 6220 5f20 5f20 QName a b _ _ │ │ │ -000466c0: 3d3d 2051 4e61 6d65 2063 2064 205f 205f == QName c d _ _ │ │ │ -000466d0: 203d 2028 612c 2062 2920 3d3d 2028 632c = (a, b) == (c, │ │ │ -000466e0: 2064 290a 0a69 6e73 7461 6e63 6520 4f72 d)..instance Or │ │ │ -000466f0: 6420 514e 616d 6520 7768 6572 650a 2020 d QName where. │ │ │ -00046700: 636f 6d70 6172 6520 2851 4e61 6d65 2061 compare (QName a │ │ │ -00046710: 2062 205f 205f 2920 2851 4e61 6d65 2063 b _ _) (QName c │ │ │ -00046720: 2064 205f 205f 2920 3d20 636f 6d70 6172 d _ _) = compar │ │ │ -00046730: 6520 2861 2c20 6229 2028 632c 2064 290a e (a, b) (c, d). │ │ │ -00046740: 0a65 7261 7365 6420 3a3a 2061 0a65 7261 .erased :: a.era │ │ │ -00046750: 7365 6420 3d20 636f 6520 285c 205f 202d sed = coe (\ _ - │ │ │ -00046760: 3e20 6572 6173 6564 290a 0a6d 617a 556e > erased)..mazUn │ │ │ -00046770: 7265 6163 6861 626c 6545 7272 6f72 203a reachableError : │ │ │ -00046780: 3a20 610a 6d61 7a55 6e72 6561 6368 6162 : a.mazUnreachab │ │ │ -00046790: 6c65 4572 726f 7220 3d20 6572 726f 7220 leError = error │ │ │ -000467a0: 2822 4167 6461 3a20 756e 7265 6163 6861 ("Agda: unreacha │ │ │ -000467b0: 626c 6520 636f 6465 2072 6561 6368 6564 ble code reached │ │ │ -000467c0: 2e22 290a 0a6d 617a 486f 6c65 203a 3a20 .")..mazHole :: │ │ │ -000467d0: 5374 7269 6e67 202d 3e20 610a 6d61 7a48 String -> a.mazH │ │ │ -000467e0: 6f6c 6520 7320 3d20 6572 726f 7220 2822 ole s = error (" │ │ │ -000467f0: 4167 6461 3a20 7265 6163 6865 6420 686f Agda: reached ho │ │ │ -00046800: 6c65 3a20 2220 2b2b 2073 290a 0a61 6464 le: " ++ s)..add │ │ │ -00046810: 496e 7420 3a3a 2049 6e74 6567 6572 202d Int :: Integer - │ │ │ -00046820: 3e20 496e 7465 6765 7220 2d3e 2049 6e74 > Integer -> Int │ │ │ -00046830: 6567 6572 0a61 6464 496e 7420 3d20 282b eger.addInt = (+ │ │ │ -00046840: 290a 0a73 7562 496e 7420 3a3a 2049 6e74 )..subInt :: Int │ │ │ -00046850: 6567 6572 202d 3e20 496e 7465 6765 7220 eger -> Integer │ │ │ -00046860: 2d3e 2049 6e74 6567 6572 0a73 7562 496e -> Integer.subIn │ │ │ -00046870: 7420 3d20 282d 290a 0a6d 756c 496e 7420 t = (-)..mulInt │ │ │ -00046880: 3a3a 2049 6e74 6567 6572 202d 3e20 496e :: Integer -> In │ │ │ -00046890: 7465 6765 7220 2d3e 2049 6e74 6567 6572 teger -> Integer │ │ │ -000468a0: 0a6d 756c 496e 7420 3d20 282a 290a 0a67 .mulInt = (*)..g │ │ │ -000468b0: 6571 496e 7420 3a3a 2049 6e74 6567 6572 eqInt :: Integer │ │ │ -000468c0: 202d 3e20 496e 7465 6765 7220 2d3e 2042 -> Integer -> B │ │ │ -000468d0: 6f6f 6c0a 6765 7149 6e74 203d 2028 3e3d ool.geqInt = (>= │ │ │ -000468e0: 290a 0a6c 7449 6e74 203a 3a20 496e 7465 )..ltInt :: Inte │ │ │ -000468f0: 6765 7220 2d3e 2049 6e74 6567 6572 202d ger -> Integer - │ │ │ -00046900: 3e20 426f 6f6c 0a6c 7449 6e74 203d 2028 > Bool.ltInt = ( │ │ │ -00046910: 3c29 0a0a 6571 496e 7420 3a3a 2049 6e74 <)..eqInt :: Int │ │ │ -00046920: 6567 6572 202d 3e20 496e 7465 6765 7220 eger -> Integer │ │ │ -00046930: 2d3e 2042 6f6f 6c0a 6571 496e 7420 3d20 -> Bool.eqInt = │ │ │ -00046940: 283d 3d29 0a0a 7175 6f74 496e 7420 3a3a (==)..quotInt :: │ │ │ -00046950: 2049 6e74 6567 6572 202d 3e20 496e 7465 Integer -> Inte │ │ │ -00046960: 6765 7220 2d3e 2049 6e74 6567 6572 0a71 ger -> Integer.q │ │ │ -00046970: 756f 7449 6e74 203d 2071 756f 740a 0a72 uotInt = quot..r │ │ │ -00046980: 656d 496e 7420 3a3a 2049 6e74 6567 6572 emInt :: Integer │ │ │ -00046990: 202d 3e20 496e 7465 6765 7220 2d3e 2049 -> Integer -> I │ │ │ -000469a0: 6e74 6567 6572 0a72 656d 496e 7420 3d20 nteger.remInt = │ │ │ -000469b0: 7265 6d0a 0a2d 2d20 2334 3939 393a 2044 rem..-- #4999: D │ │ │ -000469c0: 6174 612e 5465 7874 206d 6170 7320 7375 ata.Text maps su │ │ │ -000469d0: 7272 6f67 6174 6520 636f 6465 2070 6f69 rrogate code poi │ │ │ -000469e0: 6e74 7320 285c 7844 3830 3020 2d20 5c78 nts (\xD800 - \x │ │ │ -000469f0: 4446 4646 2920 746f 2074 6865 2072 6570 DFFF) to the rep │ │ │ -00046a00: 6c61 6365 6d65 6e74 2063 6861 7261 6374 lacement charact │ │ │ -00046a10: 6572 0a2d 2d20 5c78 4646 4644 2c20 736f er.-- \xFFFD, so │ │ │ -00046a20: 2074 6f20 6b65 6570 2073 7472 696e 6773 to keep strings │ │ │ -00046a30: 2069 736f 6d6f 7270 6869 6320 746f 206c isomorphic to l │ │ │ -00046a40: 6973 7420 6f66 2063 6861 7261 6374 6572 ist of character │ │ │ -00046a50: 7320 7765 2064 6f20 7468 6520 7361 6d65 s we do the same │ │ │ -00046a60: 2066 6f72 2063 6861 7261 6374 6572 732e for characters. │ │ │ -00046a70: 0a6e 6174 546f 4368 6172 203a 3a20 496e .natToChar :: In │ │ │ -00046a80: 7465 6765 7220 2d3e 2043 6861 720a 6e61 teger -> Char.na │ │ │ -00046a90: 7454 6f43 6861 7220 6e20 7c20 6765 6e65 tToChar n | gene │ │ │ -00046aa0: 7261 6c43 6174 6567 6f72 7920 6320 3d3d ralCategory c == │ │ │ -00046ab0: 2053 7572 726f 6761 7465 203d 2027 5c78 Surrogate = '\x │ │ │ -00046ac0: 4646 4644 270a 2020 2020 2020 2020 2020 FFFD'. │ │ │ -00046ad0: 2020 7c20 6f74 6865 7277 6973 6520 2020 | otherwise │ │ │ +00042cc0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b0a 3b3b ;;;;;;;;;;;;;.;; │ │ │ +00042cd0: 2041 646d 696e 6973 7472 6174 6976 6520 Administrative │ │ │ +00042ce0: 6465 7461 696c 730a 0a28 7072 6f76 6964 details..(provid │ │ │ +00042cf0: 6520 2761 6764 6132 2d61 6262 7265 7673 e 'agda2-abbrevs │ │ │ +00042d00: 290a 3b3b 3b20 6167 6461 322d 6162 6272 ).;;; agda2-abbr │ │ │ +00042d10: 6576 732e 656c 2065 6e64 7320 6865 7265 evs.el ends here │ │ │ +00042d20: 0ac6 96a6 b196 c59d a8ea 0183 fdcf 99d3 ................ │ │ │ +00042d30: 95ad d8da 0100 2900 042d 5a05 8280 80e6 ......)..-Z..... │ │ │ +00042d40: 0800 0001 0003 0407 0402 0000 030f 0009 ................ │ │ │ +00042d50: 0108 5772 6974 696e 6720 9dd1 b59b 87e8 ..Writing ...... │ │ │ +00042d60: 9bba af01 e990 acff f9a9 e58d c301 0017 ................ │ │ │ +00042d70: 0004 2d9b 0515 0000 0100 0207 0101 0002 ..-............. │ │ │ +00042d80: 0000 0300 0005 0505 0ba9 0101 0590 8080 ................ │ │ │ +00042d90: e608 0000 010b aa01 0bab 019b e9e7 e5c5 ................ │ │ │ +00042da0: b3bf be5b acf5 bdb5 8990 f3bd b001 00a0 ...[............ │ │ │ +00042db0: 0100 042d ec05 b480 80e6 0800 0000 0520 ...-........... │ │ │ +00042dc0: 0000 0100 0100 0404 0803 0702 8680 80ec ................ │ │ │ +00042dd0: 0802 0000 030f 0005 0505 0b87 8080 ec08 ................ │ │ │ +00042de0: 0105 2000 0001 0b8c 010b ac01 e2d1 e6a8 .. ............. │ │ │ +00042df0: b4f3 fbfc 7d9a ccdf eaba a39e f74b 00ab ....}........K.. │ │ │ +00042e00: 0100 042e 5105 b480 80e6 0800 0000 05b4 ....Q........... │ │ │ +00042e10: 8080 e608 0000 0005 9080 80e6 0800 0001 ................ │ │ │ +00042e20: 0001 0001 0002 0701 0100 0200 0003 0000 ................ │ │ │ +00042e30: 0505 050b ad01 0105 b480 80e6 0800 0000 ................ │ │ │ +00042e40: 0590 8080 e608 0000 0100 010b ae01 0baf ................ │ │ │ +00042e50: 01ab ad96 d9a6 fadc eec7 01a5 ff8f 9eea ................ │ │ │ +00042e60: cbcf fba9 0100 af01 0004 2ed9 05b4 8080 ................ │ │ │ +00042e70: e608 0000 0005 b480 80e6 0800 0000 0590 ................ │ │ │ +00042e80: 8080 e608 0000 0100 0100 0100 0308 0307 ................ │ │ │ +00042e90: 0286 8080 ec08 0200 0003 0f00 0505 050b ................ │ │ │ +00042ea0: 8780 80ec 0801 05b4 8080 e608 0000 0005 ................ │ │ │ +00042eb0: 9080 80e6 0800 0001 0001 0bb0 0105 0b9f ................ │ │ │ +00042ec0: 8080 ec08 0105 b480 80e6 0800 0000 0590 ................ │ │ │ +00042ed0: 8080 e608 0000 0100 019e b0a8 b7c6 e5a6 ................ │ │ │ +00042ee0: d80f cebf 99b1 e4d9 9bc2 5900 ae01 0004 ..........Y..... │ │ │ +00042ef0: 2f1c 05b4 8080 e608 0000 0005 9080 80e6 /............... │ │ │ +00042f00: 0800 0001 0001 0002 0701 0100 0200 0003 ................ │ │ │ +00042f10: 0500 050b 9580 80e0 080b b101 e086 a0ab ................ │ │ │ +00042f20: f9f5 90f1 e101 aa94 ec9b e79a ee9e 3000 ..............0. │ │ │ +00042f30: b101 0004 2f4e 0582 8080 e608 0000 0100 ..../N.......... │ │ │ +00042f40: 0304 0704 0200 0003 0f00 0901 012d 869e .............-.. │ │ │ +00042f50: b89b b6d0 ebff 6cae b0e8 ddfd b0cc e67e ......l........~ │ │ │ +00042f60: 00aa 0100 042f 9105 b480 80e6 0800 0000 ...../.......... │ │ │ +00042f70: 0590 8080 e608 0000 0100 0100 0207 0101 ................ │ │ │ +00042f80: 0002 0000 0305 0005 0b95 8080 e008 0bb2 ................ │ │ │ +00042f90: 01a7 c0be 9de5 8d84 e333 aad5 b5dd eaae .........3...... │ │ │ +00042fa0: d29d fc01 00b2 0100 042f c705 8280 80e6 ........./...... │ │ │ +00042fb0: 0800 0001 0003 0407 0402 0000 030f 0009 ................ │ │ │ +00042fc0: 0105 2e6c 6f63 6be8 e8b7 8eb1 a1ec 8a9b ...lock......... │ │ │ +00042fd0: 0188 8b87 95cc b495 d663 00ac 0100 0430 .........c.....0 │ │ │ +00042fe0: 1805 b480 80e6 0800 0000 0520 0000 0100 ........... .... │ │ │ +00042ff0: 0100 0404 0803 0702 8680 80ec 0802 0000 ................ │ │ │ +00043000: 030f 0005 0505 0b87 8080 ec08 0105 2000 .............. . │ │ │ +00043010: 0001 0b8a 010b b301 c1ac f880 b78f baf8 ................ │ │ │ +00043020: 0cd4 9cfd 9da4 d68d f0cb 0100 b301 0004 ................ │ │ │ +00043030: 3069 05b4 8080 e608 0000 0005 2000 0001 0i.......... ... │ │ │ +00043040: 0001 0004 0408 0307 0286 8080 ec08 0200 ................ │ │ │ +00043050: 0003 0f00 0505 050b 8780 80ec 0801 0520 ............... │ │ │ +00043060: 0000 010b 8801 0bb4 0182 89c3 83a4 8d9f ................ │ │ │ +00043070: c33f cf98 ae82 b1b3 c2e2 e301 0030 0004 .?...........0.. │ │ │ +00043080: 3338 0300 05e2 8280 ec08 0100 0105 2c00 38............,. │ │ │ +00043090: 0001 0300 05e2 8280 ec08 0100 0105 e480 ................ │ │ │ +000430a0: 80e6 0800 0000 05ca 8080 e608 0000 0100 ................ │ │ │ +000430b0: 0108 0100 0005 c881 80e6 0800 0001 0100 ................ │ │ │ +000430c0: 05c4 8180 e608 0000 0101 0005 e480 80e6 ................ │ │ │ +000430d0: 0800 0000 05ca 8080 e608 0000 0100 0100 ................ │ │ │ +000430e0: 0005 a881 80e6 0800 0000 052b 0000 0100 ...........+.... │ │ │ +000430f0: 0008 0000 0100 0100 0100 0507 0002 0002 ................ │ │ │ +00043100: 0100 0203 0201 0304 0201 0604 0001 0202 ................ │ │ │ +00043110: 0001 0202 0001 0202 0001 0202 0001 0202 ................ │ │ │ +00043120: 0001 0202 0001 0202 0001 0202 0001 0206 ................ │ │ │ +00043130: 0203 0102 0002 0102 0000 020f 0102 0100 ................ │ │ │ +00043140: 0400 05e2 8280 ec08 0100 01ea 0105 2c00 ..............,. │ │ │ +00043150: 0001 0104 0005 e282 80ec 0801 0001 c701 ................ │ │ │ +00043160: 05e4 8080 e608 0000 0005 ca80 80e6 0800 ................ │ │ │ +00043170: 0001 0001 0106 00ea 01b5 0101 01b5 0104 ................ │ │ │ +00043180: eb01 ec01 ed01 ee01 0605 0505 0505 050b ................ │ │ │ +00043190: b601 0105 b081 80e6 0800 0001 0105 b081 ................ │ │ │ +000431a0: 80e6 0800 0001 0101 eb01 0105 2b00 0001 ............+... │ │ │ +000431b0: 0c05 050b b701 0101 eb01 00ec 0108 b801 ................ │ │ │ +000431c0: 0002 0105 b081 80e6 0800 0001 0101 eb01 ................ │ │ │ +000431d0: 0bb9 01c8 0102 018c 8080 ec08 0005 0505 ................ │ │ │ +000431e0: 0505 050b e689 80f2 0801 0588 8280 ec08 ................ │ │ │ +000431f0: 0100 0101 05c4 8180 e608 0000 0101 052c ..............., │ │ │ +00043200: 0000 0101 05a8 8180 e608 0000 0005 2b00 ..............+. │ │ │ +00043210: 0001 0000 0800 0001 0001 00b5 0100 c701 ................ │ │ │ +00043220: 01aa 8080 ec08 0006 0505 050b ba84 80e0 ................ │ │ │ +00043230: 0801 05b0 8180 e608 0000 0101 05ba 0100 ................ │ │ │ +00043240: 0000 05d8 8280 e608 0000 0005 b081 80e6 ................ │ │ │ +00043250: 0800 0001 0100 0901 0000 0001 0100 05d8 ................ │ │ │ +00043260: 8280 e608 0000 0005 b081 80e6 0800 0001 ................ │ │ │ +00043270: 0100 0901 0000 0001 0100 05d8 8280 e608 ................ │ │ │ +00043280: 0000 0005 d882 80e6 0800 0000 05b0 8180 ................ │ │ │ +00043290: e608 0000 0101 0009 0100 0000 0101 0009 ................ │ │ │ +000432a0: 0100 0100 0100 0005 d882 80e6 0800 0000 ................ │ │ │ +000432b0: 05d8 8280 e608 0000 0005 b081 80e6 0800 ................ │ │ │ +000432c0: 0001 0100 0901 0000 0001 0100 0901 0001 ................ │ │ │ +000432d0: 0001 0001 0105 ba01 0000 0005 b081 80e6 ................ │ │ │ +000432e0: 0800 0001 0100 05b0 8180 e608 0000 0101 ................ │ │ │ +000432f0: 0001 eb01 0000 052b 0000 0100 01cb 0101 .......+........ │ │ │ +00043300: 01dc 8280 ec08 01ef 0103 0102 00c7 0105 ................ │ │ │ +00043310: 0505 0bbb 0101 052b 0000 0101 0800 0001 .......+........ │ │ │ +00043320: 0c00 ee01 0b10 0c00 0201 1007 ef01 100c ................ │ │ │ +00043330: 0003 0110 0a07 ef01 b7ed 89e7 bb99 db99 ................ │ │ │ +00043340: ca01 ffc5 a2ce d694 b588 7700 b401 0004 ..........w..... │ │ │ +00043350: 3389 05b4 8080 e608 0000 0005 2000 0001 3........... ... │ │ │ +00043360: 0001 0004 0408 0307 0286 8080 ec08 0200 ................ │ │ │ +00043370: 0003 0f00 0505 050b 8780 80ec 0801 0520 ............... │ │ │ +00043380: 0000 010b 8601 0bbc 01a0 fbdd b089 84cc ................ │ │ │ +00043390: 87d8 01f1 97e0 f3bd bdda a675 00bc 0100 ...........u.... │ │ │ +000433a0: 0433 da05 b480 80e6 0800 0000 0520 0000 .3........... .. │ │ │ +000433b0: 0100 0100 0404 0803 0702 8680 80ec 0802 ................ │ │ │ +000433c0: 0000 030f 0005 0505 0b87 8080 ec08 0105 ................ │ │ │ +000433d0: 2000 0001 0b84 010b bd01 ef94 c7e9 8a89 ............... │ │ │ +000433e0: 80bc f601 b0bf 91b0 b6a9 f4cf 8201 00bd ................ │ │ │ +000433f0: 0100 0434 2c05 b480 80e6 0800 0000 0520 ...4,.......... │ │ │ +00043400: 0000 0100 0100 0404 0803 0702 8680 80ec ................ │ │ │ +00043410: 0802 0000 030f 0005 0505 0b87 8080 ec08 ................ │ │ │ +00043420: 0105 2000 0001 0b80 010b be01 fd8b 99d8 .. ............. │ │ │ +00043430: 9fae b2ac 8401 cea1 8bee 9db7 94bb 4600 ..............F. │ │ │ +00043440: be01 0004 347c 05b4 8080 e608 0000 0005 ....4|.......... │ │ │ +00043450: 2000 0001 0001 0004 0408 0307 0286 8080 ............... │ │ │ +00043460: ec08 0200 0003 0f00 0505 050b 8780 80ec ................ │ │ │ +00043470: 0801 0520 0000 010b 7e0b bf01 e389 8a9c ... ....~....... │ │ │ +00043480: e8cf e7b5 1ba5 d2ac e29c a38a e4b3 0100 ................ │ │ │ +00043490: bf01 0004 34cc 05b4 8080 e608 0000 0005 ....4........... │ │ │ +000434a0: 2000 0001 0001 0004 0408 0307 0286 8080 ............... │ │ │ +000434b0: ec08 0200 0003 0f00 0505 050b 8780 80ec ................ │ │ │ +000434c0: 0801 0520 0000 010b 7c0b c001 a19b c0ff ... ....|....... │ │ │ +000434d0: edca a0fb 1dc3 988b d489 89cb abea 0100 ................ │ │ │ +000434e0: c001 0004 351c 05b4 8080 e608 0000 0005 ....5........... │ │ │ +000434f0: 2000 0001 0001 0004 0408 0307 0286 8080 ............... │ │ │ +00043500: ec08 0200 0003 0f00 0505 050b 8780 80ec ................ │ │ │ +00043510: 0801 0520 0000 010b 7a0b c101 a4f0 f3dc ... ....z....... │ │ │ +00043520: c3e4 dac2 5180 9492 cfd4 d4c7 a995 0100 ....Q........... │ │ │ +00043530: c101 0004 356c 05b4 8080 e608 0000 0005 ....5l.......... │ │ │ +00043540: 2000 0001 0001 0004 0408 0307 0286 8080 ............... │ │ │ +00043550: ec08 0200 0003 0f00 0505 050b 8780 80ec ................ │ │ │ +00043560: 0801 0520 0000 010b 780b c201 b4ac dec5 ... ....x....... │ │ │ +00043570: c5c4 d8b4 c001 c893 f599 d495 a5ab 1e00 ................ │ │ │ +00043580: c201 0004 35bc 05b4 8080 e608 0000 0005 ....5........... │ │ │ +00043590: 2000 0001 0001 0004 0408 0307 0286 8080 ............... │ │ │ +000435a0: ec08 0200 0003 0f00 0505 050b 8780 80ec ................ │ │ │ +000435b0: 0801 0520 0000 010b 740b c301 e196 c0f6 ... ....t....... │ │ │ +000435c0: f180 c189 7efb f9d8 99ad c3cc d711 00c3 ....~........... │ │ │ +000435d0: 0100 0436 0b05 b480 80e6 0800 0000 0520 ...6........... │ │ │ +000435e0: 0000 0100 0100 0404 0803 0702 8680 80ec ................ │ │ │ +000435f0: 0802 0000 030f 0005 0505 0b87 8080 ec08 ................ │ │ │ +00043600: 0105 2000 0001 0b72 0bc4 01f1 c0c0 d7a6 .. ....r........ │ │ │ +00043610: 97f7 86e7 01fc cfa7 c894 c0e1 aab8 0100 ................ │ │ │ +00043620: c401 0004 365c 05b4 8080 e608 0000 0005 ....6\.......... │ │ │ +00043630: 2000 0001 0001 0004 0408 0307 0286 8080 ............... │ │ │ +00043640: ec08 0200 0003 0f00 0505 050b 8780 80ec ................ │ │ │ +00043650: 0801 0520 0000 010b 700b c501 daa2 bdb5 ... ....p....... │ │ │ +00043660: b9ed eda6 15d3 c2ff a8a0 ebac 869c 0100 ................ │ │ │ +00043670: 3500 0436 ac05 b480 80e6 0800 0000 0520 5..6........... │ │ │ +00043680: 0000 0100 0100 0404 0803 0702 8680 80ec ................ │ │ │ +00043690: 0802 0000 030f 0005 0505 0b87 8080 ec08 ................ │ │ │ +000436a0: 0105 2000 0001 0ba7 010b c601 e989 8997 .. ............. │ │ │ +000436b0: fde3 caf4 1489 da95 ddd7 e8ff 842d 00c5 .............-.. │ │ │ +000436c0: 0100 0436 fb05 b480 80e6 0800 0000 0520 ...6........... │ │ │ +000436d0: 0000 0100 0100 0404 0803 0702 8680 80ec ................ │ │ │ +000436e0: 0802 0000 030f 0005 0505 0b87 8080 ec08 ................ │ │ │ +000436f0: 0105 2000 0001 0b6e 0bc7 01c2 92bf e099 .. ....n........ │ │ │ +00043700: a8a0 d6ac 01f9 a3f3 fcde ec83 85a0 0100 ................ │ │ │ +00043710: c701 0004 374c 05b4 8080 e608 0000 0005 ....7L.......... │ │ │ +00043720: 2000 0001 0001 0004 0408 0307 0286 8080 ............... │ │ │ +00043730: ec08 0200 0003 0f00 0505 050b 8780 80ec ................ │ │ │ +00043740: 0801 0520 0000 010b 6c0b c801 c9bb fcb3 ... ....l....... │ │ │ +00043750: eda2 f5a9 a301 c6e3 ecea e2f2 a8e4 8301 ................ │ │ │ +00043760: 00c8 0100 0437 9d05 b480 80e6 0800 0000 .....7.......... │ │ │ +00043770: 0520 0000 0100 0100 0404 0803 0702 8680 . .............. │ │ │ +00043780: 80ec 0802 0000 030f 0005 0505 0b87 8080 ................ │ │ │ +00043790: ec08 0105 2000 0001 0b68 0bc9 01af eb80 .... ....h...... │ │ │ +000437a0: 91dc fc95 d58e 01de f4db daab d3e3 f8a1 ................ │ │ │ +000437b0: 0100 c901 0004 37ee 05b4 8080 e608 0000 ......7......... │ │ │ +000437c0: 0005 2000 0001 0001 0004 0408 0307 0286 .. ............. │ │ │ +000437d0: 8080 ec08 0200 0003 0f00 0505 050b 8780 ................ │ │ │ +000437e0: 80ec 0801 0520 0000 010b 660b ca01 c0c2 ..... ....f..... │ │ │ +000437f0: f6c6 b0a1 cedf 11a5 cbc8 ecb6 d99b ec94 ................ │ │ │ +00043800: 0100 ca01 0004 383e 05b4 8080 e608 0000 ......8>........ │ │ │ +00043810: 0005 2000 0001 0001 0004 0408 0307 0286 .. ............. │ │ │ +00043820: 8080 ec08 0200 0003 0f00 0505 050b 8780 ................ │ │ │ +00043830: 80ec 0801 0520 0000 010b 640b cb01 e3f0 ..... ....d..... │ │ │ +00043840: d4b9 ffab afbd 72fb 80fb 9490 879b 9a3f ......r........? │ │ │ +00043850: 00cb 0100 0438 8d05 b480 80e6 0800 0000 .....8.......... │ │ │ +00043860: 0520 0000 0100 0100 0404 0803 0702 8680 . .............. │ │ │ +00043870: 80ec 0802 0000 030f 0005 0505 0b87 8080 ................ │ │ │ +00043880: ec08 0105 2000 0001 0b62 0bcc 01ce 80d6 .... ....b...... │ │ │ +00043890: cba9 d5e2 de15 a8e7 fee6 dbea fbba fb01 ................ │ │ │ +000438a0: 00cc 0100 0438 dd05 b480 80e6 0800 0000 .....8.......... │ │ │ +000438b0: 0520 0000 0100 0100 0404 0803 0702 8680 . .............. │ │ │ +000438c0: 80ec 0802 0000 030f 0005 0505 0b87 8080 ................ │ │ │ +000438d0: ec08 0105 2000 0001 0b5d 0bcd 01c5 e884 .... ....]...... │ │ │ +000438e0: cae3 aa8c c7b9 01e6 f0cc cb93 a099 9c39 ...............9 │ │ │ +000438f0: 00cd 0100 0439 2e05 b480 80e6 0800 0000 .....9.......... │ │ │ +00043900: 0520 0000 0100 0100 0404 0803 0702 8680 . .............. │ │ │ +00043910: 80ec 0802 0000 030f 0005 0505 0b87 8080 ................ │ │ │ +00043920: ec08 0105 2000 0001 0bce 010b cf01 b1a7 .... ........... │ │ │ +00043930: c3ed a591 f0d2 fb01 8fe1 e3a4 90ff 9a8c ................ │ │ │ +00043940: d701 00cf 0100 0439 8005 b480 80e6 0800 .......9........ │ │ │ +00043950: 0000 0520 0000 0100 0100 0404 0803 0702 ... ............ │ │ │ +00043960: 8680 80ec 0802 0000 030f 0005 0505 0b87 ................ │ │ │ +00043970: 8080 ec08 0105 2000 0001 0bd0 010b d101 ...... ......... │ │ │ +00043980: cbf2 e590 e9b1 ebff 8201 d0cb d3dd 9594 ................ │ │ │ +00043990: aff9 8301 00d1 0100 0439 d205 b480 80e6 .........9...... │ │ │ +000439a0: 0800 0000 0520 0000 0100 0100 0404 0803 ..... .......... │ │ │ +000439b0: 0702 8680 80ec 0802 0000 030f 0005 0505 ................ │ │ │ +000439c0: 0b87 8080 ec08 0105 2000 0001 0bd2 010b ........ ....... │ │ │ +000439d0: d301 cfbd 95cc f8fe b690 c801 9bb1 d4ed ................ │ │ │ +000439e0: c0d1 f3f8 7e00 c601 0004 3a23 05b4 8080 ....~.....:#.... │ │ │ +000439f0: e608 0000 0005 2000 0001 0001 0004 0408 ...... ......... │ │ │ +00043a00: 0307 0286 8080 ec08 0200 0003 0f00 0505 ................ │ │ │ +00043a10: 050b 8780 80ec 0801 0520 0000 010b a501 ......... ...... │ │ │ +00043a20: 0bd4 01f4 8cdd dfe2 82dc e240 e0df 82bb ...........@.... │ │ │ +00043a30: 84bf c7d9 5b00 d301 0004 3a73 05b4 8080 ....[.....:s.... │ │ │ +00043a40: e608 0000 0005 2000 0001 0001 0004 0408 ...... ......... │ │ │ +00043a50: 0307 0286 8080 ec08 0200 0003 0f00 0505 ................ │ │ │ +00043a60: 050b 8780 80ec 0801 0520 0000 010b d501 ......... ...... │ │ │ +00043a70: 0bd6 0180 e5ef d6d4 f8ad 36ac a0a1 da93 ..........6..... │ │ │ +00043a80: a7e3 a55b 00d6 0100 043a c205 b480 80e6 ...[.....:...... │ │ │ +00043a90: 0800 0000 0520 0000 0100 0100 0404 0803 ..... .......... │ │ │ +00043aa0: 0702 8680 80ec 0802 0000 030f 0005 0505 ................ │ │ │ +00043ab0: 0b87 8080 ec08 0105 2000 0001 0bd7 010b ........ ....... │ │ │ +00043ac0: d801 d292 a9aa c7ea bee2 5180 96bb 9fd2 ..........Q..... │ │ │ +00043ad0: e088 f35d 00d8 0100 043b 1205 b480 80e6 ...].....;...... │ │ │ +00043ae0: 0800 0000 0520 0000 0100 0100 0404 0803 ..... .......... │ │ │ +00043af0: 0702 8680 80ec 0802 0000 030f 0005 0505 ................ │ │ │ +00043b00: 0b87 8080 ec08 0105 2000 0001 0bd9 010b ........ ....... │ │ │ +00043b10: da01 f2f8 c6e4 a293 a9a8 f301 9dc8 a5f6 ................ │ │ │ +00043b20: e48b f8b4 c001 00da 0100 043b 6405 b480 ...........;d... │ │ │ +00043b30: 80e6 0800 0000 0520 0000 0100 0100 0404 ....... ........ │ │ │ +00043b40: 0803 0702 8680 80ec 0802 0000 030f 0005 ................ │ │ │ +00043b50: 0505 0b87 8080 ec08 0105 2000 0001 0bdb .......... ..... │ │ │ +00043b60: 010b dc01 8d8c 8ae7 d1d1 edc9 bb01 839e ................ │ │ │ +00043b70: de96 9cee d0da 5f00 dc01 0004 3bb5 05b4 ......_.....;... │ │ │ +00043b80: 8080 e608 0000 0005 2000 0001 0001 0004 ........ ....... │ │ │ +00043b90: 0408 0307 0286 8080 ec08 0200 0003 0f00 ................ │ │ │ +00043ba0: 0505 050b 8780 80ec 0801 0520 0000 010b ........... .... │ │ │ +00043bb0: dd01 0bde 01c8 b0fe 92d8 b497 bcb5 01d3 ................ │ │ │ +00043bc0: f8a4 c4b9 8ab3 ebc3 0100 de01 0004 3c07 ..............<. │ │ │ +00043bd0: 05b4 8080 e608 0000 0005 2000 0001 0001 .......... ..... │ │ │ +00043be0: 0004 0408 0307 0286 8080 ec08 0200 0003 ................ │ │ │ +00043bf0: 0f00 0505 050b 8780 80ec 0801 0520 0000 ............. .. │ │ │ +00043c00: 010b df01 0be0 01c9 ec88 8980 d695 b492 ................ │ │ │ +00043c10: 01ee 99f5 f8aa 97b0 fa6a 00e0 0100 043c .........j.....< │ │ │ +00043c20: 5805 b480 80e6 0800 0000 0520 0000 0100 X.......... .... │ │ │ +00043c30: 0100 0404 0803 0702 8680 80ec 0802 0000 ................ │ │ │ +00043c40: 030f 0005 0505 0b87 8080 ec08 0105 2000 .............. . │ │ │ +00043c50: 0001 0be1 010b e201 b38e 8ed1 c7ed f9c1 ................ │ │ │ +00043c60: 66d3 a7a1 baa5 c6dd 913b 00e2 0100 043c f........;.....< │ │ │ +00043c70: a805 b480 80e6 0800 0000 0520 0000 0100 ........... .... │ │ │ +00043c80: 0100 0404 0803 0702 8680 80ec 0802 0000 ................ │ │ │ +00043c90: 030f 0005 0505 0b87 8080 ec08 0105 2000 .............. . │ │ │ +00043ca0: 0001 0be3 010b e401 98f1 ab83 e3b1 b9a3 ................ │ │ │ +00043cb0: f501 d483 9cde c6b6 a1f7 0200 e401 0004 ................ │ │ │ +00043cc0: 3cf9 05b4 8080 e608 0000 0005 2000 0001 <........... ... │ │ │ +00043cd0: 0001 0004 0408 0307 0286 8080 ec08 0200 ................ │ │ │ +00043ce0: 0003 0f00 0505 050b 8780 80ec 0801 0520 ............... │ │ │ +00043cf0: 0000 010b e501 0be6 0197 dbd1 aef4 cbe4 ................ │ │ │ +00043d00: d184 01ba d182 cad3 f9b5 ac7b 00e6 0100 ...........{.... │ │ │ +00043d10: 043d 4a05 b480 80e6 0800 0000 0520 0000 .=J.......... .. │ │ │ +00043d20: 0100 0100 0404 0803 0702 8680 80ec 0802 ................ │ │ │ +00043d30: 0000 030f 0005 0505 0b87 8080 ec08 0105 ................ │ │ │ +00043d40: 2000 0001 0be7 010b e801 e8c1 e4de 9f81 ............... │ │ │ +00043d50: 96da ca01 cac0 c1e0 fdf9 ff97 e801 00d4 ................ │ │ │ +00043d60: 0100 043d 9c05 b480 80e6 0800 0000 0520 ...=........... │ │ │ +00043d70: 0000 0100 0100 0404 0803 0702 8680 80ec ................ │ │ │ +00043d80: 0802 0000 030f 0005 0505 0b87 8080 ec08 ................ │ │ │ +00043d90: 0105 2000 0001 0ba3 010b e901 ef99 96fb .. ............. │ │ │ +00043da0: dd9b eef7 7683 fbba a3ff cdf5 c773 00e8 ....v........s.. │ │ │ +00043db0: 0100 043d ec05 b480 80e6 0800 0000 0520 ...=........... │ │ │ +00043dc0: 0000 0100 0100 0404 0803 0702 8680 80ec ................ │ │ │ +00043dd0: 0802 0000 030f 0005 0505 0b87 8080 ec08 ................ │ │ │ +00043de0: 0105 2000 0001 0bea 010b eb01 e6de fce2 .. ............. │ │ │ +00043df0: 81cd 88b1 22ea 9cf4 8487 9cce eb7c 00eb ...."........|.. │ │ │ +00043e00: 0100 043e 3c05 b480 80e6 0800 0000 0520 ...><.......... │ │ │ +00043e10: 0000 0100 0100 0404 0803 0702 8680 80ec ................ │ │ │ +00043e20: 0802 0000 030f 0005 0505 0b87 8080 ec08 ................ │ │ │ +00043e30: 0105 2000 0001 0bec 010b ed01 f691 d29f .. ............. │ │ │ +00043e40: bd86 8edc b001 adaa a8f5 b0e9 c497 1400 ................ │ │ │ +00043e50: ed01 0004 3e8d 05b4 8080 e608 0000 0005 ....>........... │ │ │ +00043e60: 2000 0001 0001 0004 0408 0307 0286 8080 ............... │ │ │ +00043e70: ec08 0200 0003 0f00 0505 050b 8780 80ec ................ │ │ │ +00043e80: 0801 0520 0000 010b ee01 0bef 01ae 92db ... ............ │ │ │ +00043e90: c697 b8be c28e 01d5 c3a9 c2a6 e79a 9093 ................ │ │ │ +00043ea0: 0100 ef01 0004 3edf 05b4 8080 e608 0000 ......>......... │ │ │ +00043eb0: 0005 2000 0001 0001 0004 0408 0307 0286 .. ............. │ │ │ +00043ec0: 8080 ec08 0200 0003 0f00 0505 050b 8780 ................ │ │ │ +00043ed0: 80ec 0801 0520 0000 010b f001 0bf1 01ec ..... .......... │ │ │ +00043ee0: 9bb2 d4ae d2d1 ae4c e488 f9a4 b182 99d0 .......L........ │ │ │ +00043ef0: 7200 f101 0004 3f2f 05b4 8080 e608 0000 r.....?/........ │ │ │ +00043f00: 0005 2000 0001 0001 0004 0408 0307 0286 .. ............. │ │ │ +00043f10: 8080 ec08 0200 0003 0f00 0505 050b 8780 ................ │ │ │ +00043f20: 80ec 0801 0520 0000 010b f201 0bf3 01d9 ..... .......... │ │ │ +00043f30: 83f2 f6bd e7ef a4e3 01e7 d2d4 9ee8 909a ................ │ │ │ +00043f40: a3f0 0100 f301 0004 3f81 05b4 8080 e608 ........?....... │ │ │ +00043f50: 0000 0005 2000 0001 0001 0004 0408 0307 .... ........... │ │ │ +00043f60: 0286 8080 ec08 0200 0003 0f00 0505 050b ................ │ │ │ +00043f70: 8780 80ec 0801 0520 0000 010b f401 0bf5 ....... ........ │ │ │ +00043f80: 01a8 e3ac a5a3 d384 60c3 b58f c6bf eab4 ........`....... │ │ │ +00043f90: c331 00f5 0100 043f d005 b480 80e6 0800 .1.....?........ │ │ │ +00043fa0: 0000 0520 0000 0100 0100 0404 0803 0702 ... ............ │ │ │ +00043fb0: 8680 80ec 0802 0000 030f 0005 0505 0b87 ................ │ │ │ +00043fc0: 8080 ec08 0105 2000 0001 0bf6 010b f701 ...... ......... │ │ │ +00043fd0: b8f7 e090 b6d3 8ed5 f601 c59f d4ac eef0 ................ │ │ │ +00043fe0: 96c3 0e00 f701 0004 402b 05b4 8080 e608 ........@+...... │ │ │ +00043ff0: 0000 0005 2000 0001 0001 0004 0408 0307 .... ........... │ │ │ +00044000: 0286 8080 ec08 0200 0003 0f00 0505 050b ................ │ │ │ +00044010: 8780 80ec 0801 0520 0000 010b f801 050b ....... ........ │ │ │ +00044020: 9f80 80ec 0801 0520 0000 01dd 82f8 a0b2 ....... ........ │ │ │ +00044030: abcb b65f 99ef eaad eba2 ad88 c801 00f8 ..._............ │ │ │ +00044040: 0100 0440 6905 2000 0001 0004 0408 0307 ...@i. ......... │ │ │ +00044050: 025e 0200 0003 0f00 0505 050b 5f0b f901 .^.........._... │ │ │ +00044060: 0b61 0906 0100 b6c3 00b8 f9fe aca5 bdf8 .a.............. │ │ │ +00044070: e4e2 01f1 a18f aedb e7a6 de1d 00f9 0100 ................ │ │ │ +00044080: 0462 5205 8280 80e6 0800 0001 0003 0407 .bR............. │ │ │ +00044090: 0402 0000 030f 0009 01b6 c300 7b2d 2320 ............{-# │ │ │ +000440a0: 4c41 4e47 5541 4745 2043 5050 2023 2d7d LANGUAGE CPP #-} │ │ │ +000440b0: 0a0a 6d6f 6475 6c65 204d 416c 6f6e 7a6f ..module MAlonzo │ │ │ +000440c0: 2e52 5445 2e46 6c6f 6174 2077 6865 7265 .RTE.Float where │ │ │ +000440d0: 0a0a 696d 706f 7274 2050 7265 6c75 6465 ..import Prelude │ │ │ +000440e0: 0a20 2028 2042 6f6f 6c2c 2044 6f75 626c . ( Bool, Doubl │ │ │ +000440f0: 652c 2049 6e74 2c20 496e 7465 6765 722c e, Int, Integer, │ │ │ +00044100: 204d 6179 6265 282e 2e29 2c20 4f72 6465 Maybe(..), Orde │ │ │ +00044110: 7269 6e67 282e 2e29 0a20 202c 2045 7128 ring(..). , Eq( │ │ │ +00044120: 2e2e 292c 204f 7264 282e 2e29 2c20 4675 ..), Ord(..), Fu │ │ │ +00044130: 6e63 746f 7228 2e2e 290a 2020 2c20 466c nctor(..). , Fl │ │ │ +00044140: 6f61 7469 6e67 282e 2e29 2c20 4672 6163 oating(..), Frac │ │ │ +00044150: 7469 6f6e 616c 282e 2e29 2c20 496e 7465 tional(..), Inte │ │ │ +00044160: 6772 616c 282e 2e29 2c20 4e75 6d28 2e2e gral(..), Num(.. │ │ │ +00044170: 292c 2052 6561 6c28 2e2e 292c 2052 6561 ), Real(..), Rea │ │ │ +00044180: 6c46 6c6f 6174 282e 2e29 2c20 5265 616c lFloat(..), Real │ │ │ +00044190: 4672 6163 282e 2e29 0a20 202c 2028 2429 Frac(..). , ($) │ │ │ +000441a0: 2c20 282e 292c 206f 7468 6572 7769 7365 , (.), otherwise │ │ │ +000441b0: 2c20 756e 6375 7272 792c 2075 6e64 6566 , uncurry, undef │ │ │ +000441c0: 696e 6564 0a20 202c 2028 2626 292c 2066 ined. , (&&), f │ │ │ +000441d0: 7374 2c20 736e 640a 2020 2c20 285e 292c st, snd. , (^), │ │ │ +000441e0: 2065 7665 6e2c 2066 726f 6d49 6e74 6567 even, fromInteg │ │ │ +000441f0: 7261 6c0a 2020 290a 0a69 6d70 6f72 7420 ral. )..import │ │ │ +00044200: 4461 7461 2e42 6966 756e 6374 6f72 2020 Data.Bifunctor │ │ │ +00044210: 2028 2062 696d 6170 2c20 7365 636f 6e64 ( bimap, second │ │ │ +00044220: 2029 0a69 6d70 6f72 7420 4461 7461 2e46 ).import Data.F │ │ │ +00044230: 756e 6374 696f 6e20 2020 2028 206f 6e20 unction ( on │ │ │ +00044240: 290a 696d 706f 7274 2044 6174 612e 4d61 ).import Data.Ma │ │ │ +00044250: 7962 6520 2020 2020 2020 2820 6672 6f6d ybe ( from │ │ │ +00044260: 4d61 7962 6520 290a 696d 706f 7274 2044 Maybe ).import D │ │ │ +00044270: 6174 612e 5261 7469 6f20 2020 2020 2020 ata.Ratio │ │ │ +00044280: 2820 2825 292c 206e 756d 6572 6174 6f72 ( (%), numerator │ │ │ +00044290: 2c20 6465 6e6f 6d69 6e61 746f 7220 290a , denominator ). │ │ │ +000442a0: 696d 706f 7274 2044 6174 612e 576f 7264 import Data.Word │ │ │ +000442b0: 2020 2020 2020 2020 2820 576f 7264 3634 ( Word64 │ │ │ +000442c0: 2029 0a0a 2369 6620 5f5f 474c 4153 474f )..#if __GLASGO │ │ │ +000442d0: 575f 4841 534b 454c 4c5f 5f20 3e3d 2038 W_HASKELL__ >= 8 │ │ │ +000442e0: 3034 0a69 6d70 6f72 7420 4748 432e 466c 04.import GHC.Fl │ │ │ +000442f0: 6f61 7420 2863 6173 7444 6f75 626c 6554 oat (castDoubleT │ │ │ +00044300: 6f57 6f72 6436 342c 2063 6173 7457 6f72 oWord64, castWor │ │ │ +00044310: 6436 3454 6f44 6f75 626c 6529 0a23 656c d64ToDouble).#el │ │ │ +00044320: 7365 0a69 6d70 6f72 7420 5379 7374 656d se.import System │ │ │ +00044330: 2e49 4f2e 556e 7361 6665 2028 756e 7361 .IO.Unsafe (unsa │ │ │ +00044340: 6665 5065 7266 6f72 6d49 4f29 0a69 6d70 fePerformIO).imp │ │ │ +00044350: 6f72 7420 7175 616c 6966 6965 6420 466f ort qualified Fo │ │ │ +00044360: 7265 6967 6e20 2020 2020 2020 2020 2061 reign a │ │ │ +00044370: 7320 460a 696d 706f 7274 2071 7561 6c69 s F.import quali │ │ │ +00044380: 6669 6564 2046 6f72 6569 676e 2e53 746f fied Foreign.Sto │ │ │ +00044390: 7261 626c 6520 6173 2046 0a23 656e 6469 rable as F.#endi │ │ │ +000443a0: 660a 0a23 6966 205f 5f47 4c41 5347 4f57 f..#if __GLASGOW │ │ │ +000443b0: 5f48 4153 4b45 4c4c 5f5f 203c 2038 3034 _HASKELL__ < 804 │ │ │ +000443c0: 0a63 6173 7444 6f75 626c 6554 6f57 6f72 .castDoubleToWor │ │ │ +000443d0: 6436 3420 3a3a 2044 6f75 626c 6520 2d3e d64 :: Double -> │ │ │ +000443e0: 2057 6f72 6436 340a 6361 7374 446f 7562 Word64.castDoub │ │ │ +000443f0: 6c65 546f 576f 7264 3634 2066 6c6f 6174 leToWord64 float │ │ │ +00044400: 203d 2075 6e73 6166 6550 6572 666f 726d = unsafePerform │ │ │ +00044410: 494f 2024 2046 2e61 6c6c 6f63 6120 2420 IO $ F.alloca $ │ │ │ +00044420: 5c62 7566 202d 3e20 646f 0a20 2046 2e70 \buf -> do. F.p │ │ │ +00044430: 6f6b 6520 2846 2e63 6173 7450 7472 2062 oke (F.castPtr b │ │ │ +00044440: 7566 2920 666c 6f61 740a 2020 462e 7065 uf) float. F.pe │ │ │ +00044450: 656b 2062 7566 0a0a 6361 7374 576f 7264 ek buf..castWord │ │ │ +00044460: 3634 546f 446f 7562 6c65 203a 3a20 576f 64ToDouble :: Wo │ │ │ +00044470: 7264 3634 202d 3e20 446f 7562 6c65 0a63 rd64 -> Double.c │ │ │ +00044480: 6173 7457 6f72 6436 3454 6f44 6f75 626c astWord64ToDoubl │ │ │ +00044490: 6520 776f 7264 203d 2075 6e73 6166 6550 e word = unsafeP │ │ │ +000444a0: 6572 666f 726d 494f 2024 2046 2e61 6c6c erformIO $ F.all │ │ │ +000444b0: 6f63 6120 2420 5c62 7566 202d 3e20 646f oca $ \buf -> do │ │ │ +000444c0: 0a20 2046 2e70 6f6b 6520 2846 2e63 6173 . F.poke (F.cas │ │ │ +000444d0: 7450 7472 2062 7566 2920 776f 7264 0a20 tPtr buf) word. │ │ │ +000444e0: 2046 2e70 6565 6b20 6275 660a 2365 6e64 F.peek buf.#end │ │ │ +000444f0: 6966 0a0a 7b2d 2320 494e 4c49 4e45 2064 if..{-# INLINE d │ │ │ +00044500: 6f75 626c 6545 7120 232d 7d0a 646f 7562 oubleEq #-}.doub │ │ │ +00044510: 6c65 4571 203a 3a20 446f 7562 6c65 202d leEq :: Double - │ │ │ +00044520: 3e20 446f 7562 6c65 202d 3e20 426f 6f6c > Double -> Bool │ │ │ +00044530: 0a64 6f75 626c 6545 7120 3d20 283d 3d29 .doubleEq = (==) │ │ │ +00044540: 0a0a 7b2d 2320 494e 4c49 4e45 2064 6f75 ..{-# INLINE dou │ │ │ +00044550: 626c 654c 6520 232d 7d0a 646f 7562 6c65 bleLe #-}.double │ │ │ +00044560: 4c65 203a 3a20 446f 7562 6c65 202d 3e20 Le :: Double -> │ │ │ +00044570: 446f 7562 6c65 202d 3e20 426f 6f6c 0a64 Double -> Bool.d │ │ │ +00044580: 6f75 626c 654c 6520 3d20 283c 3d29 0a0a oubleLe = (<=).. │ │ │ +00044590: 7b2d 2320 494e 4c49 4e45 2064 6f75 626c {-# INLINE doubl │ │ │ +000445a0: 654c 7420 232d 7d0a 646f 7562 6c65 4c74 eLt #-}.doubleLt │ │ │ +000445b0: 203a 3a20 446f 7562 6c65 202d 3e20 446f :: Double -> Do │ │ │ +000445c0: 7562 6c65 202d 3e20 426f 6f6c 0a64 6f75 uble -> Bool.dou │ │ │ +000445d0: 626c 654c 7420 3d20 283c 290a 0a74 7275 bleLt = (<)..tru │ │ │ +000445e0: 6e63 6174 6544 6f75 626c 6520 3a3a 2044 ncateDouble :: D │ │ │ +000445f0: 6f75 626c 6520 2d3e 2044 6f75 626c 650a ouble -> Double. │ │ │ +00044600: 7472 756e 6361 7465 446f 7562 6c65 203d truncateDouble = │ │ │ +00044610: 2063 6173 7457 6f72 6436 3454 6f44 6f75 castWord64ToDou │ │ │ +00044620: 626c 6520 2e20 6361 7374 446f 7562 6c65 ble . castDouble │ │ │ +00044630: 546f 576f 7264 3634 0a0a 7b2d 2320 494e ToWord64..{-# IN │ │ │ +00044640: 4c49 4e45 2069 6e74 546f 446f 7562 6c65 LINE intToDouble │ │ │ +00044650: 2023 2d7d 0a69 6e74 546f 446f 7562 6c65 #-}.intToDouble │ │ │ +00044660: 203a 3a20 496e 7465 6772 616c 2061 203d :: Integral a = │ │ │ +00044670: 3e20 6120 2d3e 2044 6f75 626c 650a 696e > a -> Double.in │ │ │ +00044680: 7454 6f44 6f75 626c 6520 3d20 7472 756e tToDouble = trun │ │ │ +00044690: 6361 7465 446f 7562 6c65 202e 2066 726f cateDouble . fro │ │ │ +000446a0: 6d49 6e74 6567 7261 6c0a 0a7b 2d23 2049 mIntegral..{-# I │ │ │ +000446b0: 4e4c 494e 4520 646f 7562 6c65 506c 7573 NLINE doublePlus │ │ │ +000446c0: 2023 2d7d 0a64 6f75 626c 6550 6c75 7320 #-}.doublePlus │ │ │ +000446d0: 3a3a 2044 6f75 626c 6520 2d3e 2044 6f75 :: Double -> Dou │ │ │ +000446e0: 626c 6520 2d3e 2044 6f75 626c 650a 646f ble -> Double.do │ │ │ +000446f0: 7562 6c65 506c 7573 2078 2079 203d 2074 ublePlus x y = t │ │ │ +00044700: 7275 6e63 6174 6544 6f75 626c 6520 2878 runcateDouble (x │ │ │ +00044710: 202b 2079 290a 0a7b 2d23 2049 4e4c 494e + y)..{-# INLIN │ │ │ +00044720: 4520 646f 7562 6c65 4d69 6e75 7320 232d E doubleMinus #- │ │ │ +00044730: 7d0a 646f 7562 6c65 4d69 6e75 7320 3a3a }.doubleMinus :: │ │ │ +00044740: 2044 6f75 626c 6520 2d3e 2044 6f75 626c Double -> Doubl │ │ │ +00044750: 6520 2d3e 2044 6f75 626c 650a 646f 7562 e -> Double.doub │ │ │ +00044760: 6c65 4d69 6e75 7320 7820 7920 3d20 7472 leMinus x y = tr │ │ │ +00044770: 756e 6361 7465 446f 7562 6c65 2028 7820 uncateDouble (x │ │ │ +00044780: 2d20 7929 0a0a 7b2d 2320 494e 4c49 4e45 - y)..{-# INLINE │ │ │ +00044790: 2064 6f75 626c 6554 696d 6573 2023 2d7d doubleTimes #-} │ │ │ +000447a0: 0a64 6f75 626c 6554 696d 6573 203a 3a20 .doubleTimes :: │ │ │ +000447b0: 446f 7562 6c65 202d 3e20 446f 7562 6c65 Double -> Double │ │ │ +000447c0: 202d 3e20 446f 7562 6c65 0a64 6f75 626c -> Double.doubl │ │ │ +000447d0: 6554 696d 6573 2078 2079 203d 2074 7275 eTimes x y = tru │ │ │ +000447e0: 6e63 6174 6544 6f75 626c 6520 2878 202a ncateDouble (x * │ │ │ +000447f0: 2079 290a 0a7b 2d23 2049 4e4c 494e 4520 y)..{-# INLINE │ │ │ +00044800: 646f 7562 6c65 4e65 6761 7465 2023 2d7d doubleNegate #-} │ │ │ +00044810: 0a64 6f75 626c 654e 6567 6174 6520 3a3a .doubleNegate :: │ │ │ +00044820: 2044 6f75 626c 6520 2d3e 2044 6f75 626c Double -> Doubl │ │ │ +00044830: 650a 646f 7562 6c65 4e65 6761 7465 203d e.doubleNegate = │ │ │ +00044840: 206e 6567 6174 6520 2d2d 204e 4f54 453a negate -- NOTE: │ │ │ +00044850: 2064 6f65 736e 2774 2063 6175 7365 2075 doesn't cause u │ │ │ +00044860: 6e64 6572 666c 6f77 2f6f 7665 7266 6c6f nderflow/overflo │ │ │ +00044870: 770a 0a7b 2d23 2049 4e4c 494e 4520 646f w..{-# INLINE do │ │ │ +00044880: 7562 6c65 4469 7620 232d 7d0a 646f 7562 ubleDiv #-}.doub │ │ │ +00044890: 6c65 4469 7620 3a3a 2044 6f75 626c 6520 leDiv :: Double │ │ │ +000448a0: 2d3e 2044 6f75 626c 6520 2d3e 2044 6f75 -> Double -> Dou │ │ │ +000448b0: 626c 650a 646f 7562 6c65 4469 7620 3d20 ble.doubleDiv = │ │ │ +000448c0: 282f 2920 2d2d 204e 4f54 453a 2064 6f65 (/) -- NOTE: doe │ │ │ +000448d0: 736e 2774 2063 6175 7365 2075 6e64 6572 sn't cause under │ │ │ +000448e0: 666c 6f77 2f6f 7665 7266 6c6f 770a 0a7b flow/overflow..{ │ │ │ +000448f0: 2d23 2049 4e4c 494e 4520 646f 7562 6c65 -# INLINE double │ │ │ +00044900: 506f 7720 232d 7d0a 646f 7562 6c65 506f Pow #-}.doublePo │ │ │ +00044910: 7720 3a3a 2044 6f75 626c 6520 2d3e 2044 w :: Double -> D │ │ │ +00044920: 6f75 626c 6520 2d3e 2044 6f75 626c 650a ouble -> Double. │ │ │ +00044930: 646f 7562 6c65 506f 7720 7820 7920 3d20 doublePow x y = │ │ │ +00044940: 7472 756e 6361 7465 446f 7562 6c65 2028 truncateDouble ( │ │ │ +00044950: 7820 2a2a 2079 290a 0a7b 2d23 2049 4e4c x ** y)..{-# INL │ │ │ +00044960: 494e 4520 646f 7562 6c65 5371 7274 2023 INE doubleSqrt # │ │ │ +00044970: 2d7d 0a64 6f75 626c 6553 7172 7420 3a3a -}.doubleSqrt :: │ │ │ +00044980: 2044 6f75 626c 6520 2d3e 2044 6f75 626c Double -> Doubl │ │ │ +00044990: 650a 646f 7562 6c65 5371 7274 203d 2073 e.doubleSqrt = s │ │ │ +000449a0: 7172 7420 2d2d 204e 4f54 453a 2064 6f65 qrt -- NOTE: doe │ │ │ +000449b0: 736e 2774 2063 6175 7365 2075 6e64 6572 sn't cause under │ │ │ +000449c0: 666c 6f77 2f6f 7665 7266 6c6f 770a 0a7b flow/overflow..{ │ │ │ +000449d0: 2d23 2049 4e4c 494e 4520 646f 7562 6c65 -# INLINE double │ │ │ +000449e0: 4578 7020 232d 7d0a 646f 7562 6c65 4578 Exp #-}.doubleEx │ │ │ +000449f0: 7020 3a3a 2044 6f75 626c 6520 2d3e 2044 p :: Double -> D │ │ │ +00044a00: 6f75 626c 650a 646f 7562 6c65 4578 7020 ouble.doubleExp │ │ │ +00044a10: 7820 3d20 7472 756e 6361 7465 446f 7562 x = truncateDoub │ │ │ +00044a20: 6c65 2028 6578 7020 7829 0a0a 7b2d 2320 le (exp x)..{-# │ │ │ +00044a30: 494e 4c49 4e45 2064 6f75 626c 654c 6f67 INLINE doubleLog │ │ │ +00044a40: 2023 2d7d 0a64 6f75 626c 654c 6f67 203a #-}.doubleLog : │ │ │ +00044a50: 3a20 446f 7562 6c65 202d 3e20 446f 7562 : Double -> Doub │ │ │ +00044a60: 6c65 0a64 6f75 626c 654c 6f67 203d 206c le.doubleLog = l │ │ │ +00044a70: 6f67 202d 2d20 4e4f 5445 3a20 646f 6573 og -- NOTE: does │ │ │ +00044a80: 6e27 7420 6361 7573 6520 756e 6465 7266 n't cause underf │ │ │ +00044a90: 6c6f 772f 6f76 6572 666c 6f77 0a0a 7b2d low/overflow..{- │ │ │ +00044aa0: 2320 494e 4c49 4e45 2064 6f75 626c 6553 # INLINE doubleS │ │ │ +00044ab0: 696e 2023 2d7d 0a64 6f75 626c 6553 696e in #-}.doubleSin │ │ │ +00044ac0: 203a 3a20 446f 7562 6c65 202d 3e20 446f :: Double -> Do │ │ │ +00044ad0: 7562 6c65 0a64 6f75 626c 6553 696e 203d uble.doubleSin = │ │ │ +00044ae0: 2073 696e 202d 2d20 4e4f 5445 3a20 646f sin -- NOTE: do │ │ │ +00044af0: 6573 6e27 7420 6361 7573 6520 756e 6465 esn't cause unde │ │ │ +00044b00: 7266 6c6f 772f 6f76 6572 666c 6f77 0a0a rflow/overflow.. │ │ │ +00044b10: 7b2d 2320 494e 4c49 4e45 2064 6f75 626c {-# INLINE doubl │ │ │ +00044b20: 6543 6f73 2023 2d7d 0a64 6f75 626c 6543 eCos #-}.doubleC │ │ │ +00044b30: 6f73 203a 3a20 446f 7562 6c65 202d 3e20 os :: Double -> │ │ │ +00044b40: 446f 7562 6c65 0a64 6f75 626c 6543 6f73 Double.doubleCos │ │ │ +00044b50: 203d 2063 6f73 202d 2d20 4e4f 5445 3a20 = cos -- NOTE: │ │ │ +00044b60: 646f 6573 6e27 7420 6361 7573 6520 756e doesn't cause un │ │ │ +00044b70: 6465 7266 6c6f 772f 6f76 6572 666c 6f77 derflow/overflow │ │ │ +00044b80: 0a0a 7b2d 2320 494e 4c49 4e45 2064 6f75 ..{-# INLINE dou │ │ │ +00044b90: 626c 6554 616e 2023 2d7d 0a64 6f75 626c bleTan #-}.doubl │ │ │ +00044ba0: 6554 616e 203a 3a20 446f 7562 6c65 202d eTan :: Double - │ │ │ +00044bb0: 3e20 446f 7562 6c65 0a64 6f75 626c 6554 > Double.doubleT │ │ │ +00044bc0: 616e 203d 2074 616e 202d 2d20 4e4f 5445 an = tan -- NOTE │ │ │ +00044bd0: 3a20 646f 6573 6e27 7420 6361 7573 6520 : doesn't cause │ │ │ +00044be0: 756e 6465 7266 6c6f 772f 6f76 6572 666c underflow/overfl │ │ │ +00044bf0: 6f77 0a0a 7b2d 2320 494e 4c49 4e45 2064 ow..{-# INLINE d │ │ │ +00044c00: 6f75 626c 6541 5369 6e20 232d 7d0a 646f oubleASin #-}.do │ │ │ +00044c10: 7562 6c65 4153 696e 203a 3a20 446f 7562 ubleASin :: Doub │ │ │ +00044c20: 6c65 202d 3e20 446f 7562 6c65 0a64 6f75 le -> Double.dou │ │ │ +00044c30: 626c 6541 5369 6e20 3d20 6173 696e 202d bleASin = asin - │ │ │ +00044c40: 2d20 4e4f 5445 3a20 646f 6573 6e27 7420 - NOTE: doesn't │ │ │ +00044c50: 6361 7573 6520 756e 6465 7266 6c6f 772f cause underflow/ │ │ │ +00044c60: 6f76 6572 666c 6f77 0a0a 7b2d 2320 494e overflow..{-# IN │ │ │ +00044c70: 4c49 4e45 2064 6f75 626c 6541 436f 7320 LINE doubleACos │ │ │ +00044c80: 232d 7d0a 646f 7562 6c65 4143 6f73 203a #-}.doubleACos : │ │ │ +00044c90: 3a20 446f 7562 6c65 202d 3e20 446f 7562 : Double -> Doub │ │ │ +00044ca0: 6c65 0a64 6f75 626c 6541 436f 7320 3d20 le.doubleACos = │ │ │ +00044cb0: 6163 6f73 202d 2d20 4e4f 5445 3a20 646f acos -- NOTE: do │ │ │ +00044cc0: 6573 6e27 7420 6361 7573 6520 756e 6465 esn't cause unde │ │ │ +00044cd0: 7266 6c6f 772f 6f76 6572 666c 6f77 0a0a rflow/overflow.. │ │ │ +00044ce0: 7b2d 2320 494e 4c49 4e45 2064 6f75 626c {-# INLINE doubl │ │ │ +00044cf0: 6541 5461 6e20 232d 7d0a 646f 7562 6c65 eATan #-}.double │ │ │ +00044d00: 4154 616e 203a 3a20 446f 7562 6c65 202d ATan :: Double - │ │ │ +00044d10: 3e20 446f 7562 6c65 0a64 6f75 626c 6541 > Double.doubleA │ │ │ +00044d20: 5461 6e20 3d20 6174 616e 202d 2d20 4e4f Tan = atan -- NO │ │ │ +00044d30: 5445 3a20 646f 6573 6e27 7420 6361 7573 TE: doesn't caus │ │ │ +00044d40: 6520 756e 6465 7266 6c6f 772f 6f76 6572 e underflow/over │ │ │ +00044d50: 666c 6f77 0a0a 7b2d 2320 494e 4c49 4e45 flow..{-# INLINE │ │ │ +00044d60: 2064 6f75 626c 6541 5461 6e32 2023 2d7d doubleATan2 #-} │ │ │ +00044d70: 0a64 6f75 626c 6541 5461 6e32 203a 3a20 .doubleATan2 :: │ │ │ +00044d80: 446f 7562 6c65 202d 3e20 446f 7562 6c65 Double -> Double │ │ │ +00044d90: 202d 3e20 446f 7562 6c65 0a64 6f75 626c -> Double.doubl │ │ │ +00044da0: 6541 5461 6e32 203d 2061 7461 6e32 202d eATan2 = atan2 - │ │ │ +00044db0: 2d20 4e4f 5445 3a20 646f 6573 6e27 7420 - NOTE: doesn't │ │ │ +00044dc0: 6361 7573 6520 756e 6465 7266 6c6f 772f cause underflow/ │ │ │ +00044dd0: 6f76 6572 666c 6f77 0a0a 7b2d 2320 494e overflow..{-# IN │ │ │ +00044de0: 4c49 4e45 2064 6f75 626c 6553 696e 6820 LINE doubleSinh │ │ │ +00044df0: 232d 7d0a 646f 7562 6c65 5369 6e68 203a #-}.doubleSinh : │ │ │ +00044e00: 3a20 446f 7562 6c65 202d 3e20 446f 7562 : Double -> Doub │ │ │ +00044e10: 6c65 0a64 6f75 626c 6553 696e 6820 3d20 le.doubleSinh = │ │ │ +00044e20: 7369 6e68 202d 2d20 4e4f 5445 3a20 646f sinh -- NOTE: do │ │ │ +00044e30: 6573 6e27 7420 6361 7573 6520 756e 6465 esn't cause unde │ │ │ +00044e40: 7266 6c6f 772f 6f76 6572 666c 6f77 0a0a rflow/overflow.. │ │ │ +00044e50: 7b2d 2320 494e 4c49 4e45 2064 6f75 626c {-# INLINE doubl │ │ │ +00044e60: 6543 6f73 6820 232d 7d0a 646f 7562 6c65 eCosh #-}.double │ │ │ +00044e70: 436f 7368 203a 3a20 446f 7562 6c65 202d Cosh :: Double - │ │ │ +00044e80: 3e20 446f 7562 6c65 0a64 6f75 626c 6543 > Double.doubleC │ │ │ +00044e90: 6f73 6820 3d20 636f 7368 202d 2d20 4e4f osh = cosh -- NO │ │ │ +00044ea0: 5445 3a20 646f 6573 6e27 7420 6361 7573 TE: doesn't caus │ │ │ +00044eb0: 6520 756e 6465 7266 6c6f 772f 6f76 6572 e underflow/over │ │ │ +00044ec0: 666c 6f77 0a0a 7b2d 2320 494e 4c49 4e45 flow..{-# INLINE │ │ │ +00044ed0: 2064 6f75 626c 6554 616e 6820 232d 7d0a doubleTanh #-}. │ │ │ +00044ee0: 646f 7562 6c65 5461 6e68 203a 3a20 446f doubleTanh :: Do │ │ │ +00044ef0: 7562 6c65 202d 3e20 446f 7562 6c65 0a64 uble -> Double.d │ │ │ +00044f00: 6f75 626c 6554 616e 6820 3d20 7461 6e68 oubleTanh = tanh │ │ │ +00044f10: 202d 2d20 4e4f 5445 3a20 646f 6573 6e27 -- NOTE: doesn' │ │ │ +00044f20: 7420 6361 7573 6520 756e 6465 7266 6c6f t cause underflo │ │ │ +00044f30: 772f 6f76 6572 666c 6f77 0a0a 7b2d 2320 w/overflow..{-# │ │ │ +00044f40: 494e 4c49 4e45 2064 6f75 626c 6541 5369 INLINE doubleASi │ │ │ +00044f50: 6e68 2023 2d7d 0a64 6f75 626c 6541 5369 nh #-}.doubleASi │ │ │ +00044f60: 6e68 203a 3a20 446f 7562 6c65 202d 3e20 nh :: Double -> │ │ │ +00044f70: 446f 7562 6c65 0a64 6f75 626c 6541 5369 Double.doubleASi │ │ │ +00044f80: 6e68 203d 2061 7369 6e68 202d 2d20 4e4f nh = asinh -- NO │ │ │ +00044f90: 5445 3a20 646f 6573 6e27 7420 6361 7573 TE: doesn't caus │ │ │ +00044fa0: 6520 756e 6465 7266 6c6f 772f 6f76 6572 e underflow/over │ │ │ +00044fb0: 666c 6f77 0a0a 7b2d 2320 494e 4c49 4e45 flow..{-# INLINE │ │ │ +00044fc0: 2064 6f75 626c 6541 436f 7368 2023 2d7d doubleACosh #-} │ │ │ +00044fd0: 0a64 6f75 626c 6541 436f 7368 203a 3a20 .doubleACosh :: │ │ │ +00044fe0: 446f 7562 6c65 202d 3e20 446f 7562 6c65 Double -> Double │ │ │ +00044ff0: 0a64 6f75 626c 6541 436f 7368 203d 2061 .doubleACosh = a │ │ │ +00045000: 636f 7368 202d 2d20 4e4f 5445 3a20 646f cosh -- NOTE: do │ │ │ +00045010: 6573 6e27 7420 6361 7573 6520 756e 6465 esn't cause unde │ │ │ +00045020: 7266 6c6f 772f 6f76 6572 666c 6f77 0a0a rflow/overflow.. │ │ │ +00045030: 7b2d 2320 494e 4c49 4e45 2064 6f75 626c {-# INLINE doubl │ │ │ +00045040: 6541 5461 6e68 2023 2d7d 0a64 6f75 626c eATanh #-}.doubl │ │ │ +00045050: 6541 5461 6e68 203a 3a20 446f 7562 6c65 eATanh :: Double │ │ │ +00045060: 202d 3e20 446f 7562 6c65 0a64 6f75 626c -> Double.doubl │ │ │ +00045070: 6541 5461 6e68 203d 2061 7461 6e68 202d eATanh = atanh - │ │ │ +00045080: 2d20 4e4f 5445 3a20 646f 6573 6e27 7420 - NOTE: doesn't │ │ │ +00045090: 6361 7573 6520 756e 6465 7266 6c6f 772f cause underflow/ │ │ │ +000450a0: 6f76 6572 666c 6f77 0a0a 7b2d 2320 494e overflow..{-# IN │ │ │ +000450b0: 4c49 4e45 206e 6567 6174 6976 655a 6572 LINE negativeZer │ │ │ +000450c0: 6f20 232d 7d0a 6e65 6761 7469 7665 5a65 o #-}.negativeZe │ │ │ +000450d0: 726f 203a 3a20 446f 7562 6c65 0a6e 6567 ro :: Double.neg │ │ │ +000450e0: 6174 6976 655a 6572 6f20 3d20 2d30 2e30 ativeZero = -0.0 │ │ │ +000450f0: 0a0a 706f 7369 7469 7665 496e 6669 6e69 ..positiveInfini │ │ │ +00045100: 7479 203a 3a20 446f 7562 6c65 0a70 6f73 ty :: Double.pos │ │ │ +00045110: 6974 6976 6549 6e66 696e 6974 7920 3d20 itiveInfinity = │ │ │ +00045120: 312e 3020 2f20 302e 300a 0a6e 6567 6174 1.0 / 0.0..negat │ │ │ +00045130: 6976 6549 6e66 696e 6974 7920 3a3a 2044 iveInfinity :: D │ │ │ +00045140: 6f75 626c 650a 6e65 6761 7469 7665 496e ouble.negativeIn │ │ │ +00045150: 6669 6e69 7479 203d 202d 706f 7369 7469 finity = -positi │ │ │ +00045160: 7665 496e 6669 6e69 7479 0a0a 6e61 6e20 veInfinity..nan │ │ │ +00045170: 3a3a 2044 6f75 626c 650a 6e61 6e20 3d20 :: Double.nan = │ │ │ +00045180: 302e 3020 2f20 302e 300a 0a69 7350 6f73 0.0 / 0.0..isPos │ │ │ +00045190: 496e 6620 3a3a 2044 6f75 626c 6520 2d3e Inf :: Double -> │ │ │ +000451a0: 2042 6f6f 6c0a 6973 506f 7349 6e66 2078 Bool.isPosInf x │ │ │ +000451b0: 203d 2078 203e 2030 2e30 2026 2620 6973 = x > 0.0 && is │ │ │ +000451c0: 496e 6669 6e69 7465 2078 0a0a 6973 4e65 Infinite x..isNe │ │ │ +000451d0: 6749 6e66 203a 3a20 446f 7562 6c65 202d gInf :: Double - │ │ │ +000451e0: 3e20 426f 6f6c 0a69 734e 6567 496e 6620 > Bool.isNegInf │ │ │ +000451f0: 7820 3d20 7820 3c20 302e 3020 2626 2069 x = x < 0.0 && i │ │ │ +00045200: 7349 6e66 696e 6974 6520 780a 0a69 7350 sInfinite x..isP │ │ │ +00045210: 6f73 5a65 726f 203a 3a20 446f 7562 6c65 osZero :: Double │ │ │ +00045220: 202d 3e20 426f 6f6c 0a69 7350 6f73 5a65 -> Bool.isPosZe │ │ │ +00045230: 726f 2078 203d 2064 6f75 626c 6544 656e ro x = doubleDen │ │ │ +00045240: 6f74 4571 2078 2030 2e30 0a0a 6973 4e65 otEq x 0.0..isNe │ │ │ +00045250: 675a 6572 6f20 3a3a 2044 6f75 626c 6520 gZero :: Double │ │ │ +00045260: 2d3e 2042 6f6f 6c0a 6973 4e65 675a 6572 -> Bool.isNegZer │ │ │ +00045270: 6f20 7820 3d20 646f 7562 6c65 4465 6e6f o x = doubleDeno │ │ │ +00045280: 7445 7120 7820 282d 302e 3029 0a0a 646f tEq x (-0.0)..do │ │ │ +00045290: 7562 6c65 526f 756e 6420 3a3a 2044 6f75 ubleRound :: Dou │ │ │ +000452a0: 626c 6520 2d3e 204d 6179 6265 2049 6e74 ble -> Maybe Int │ │ │ +000452b0: 6567 6572 0a64 6f75 626c 6552 6f75 6e64 eger.doubleRound │ │ │ +000452c0: 203d 2066 6d61 7020 726f 756e 6420 2e20 = fmap round . │ │ │ +000452d0: 6173 4669 6e69 7465 0a0a 646f 7562 6c65 asFinite..double │ │ │ +000452e0: 466c 6f6f 7220 3a3a 2044 6f75 626c 6520 Floor :: Double │ │ │ +000452f0: 2d3e 204d 6179 6265 2049 6e74 6567 6572 -> Maybe Integer │ │ │ +00045300: 0a64 6f75 626c 6546 6c6f 6f72 203d 2066 .doubleFloor = f │ │ │ +00045310: 6d61 7020 666c 6f6f 7220 2e20 6173 4669 map floor . asFi │ │ │ +00045320: 6e69 7465 0a0a 646f 7562 6c65 4365 696c nite..doubleCeil │ │ │ +00045330: 696e 6720 3a3a 2044 6f75 626c 6520 2d3e ing :: Double -> │ │ │ +00045340: 204d 6179 6265 2049 6e74 6567 6572 0a64 Maybe Integer.d │ │ │ +00045350: 6f75 626c 6543 6569 6c69 6e67 203d 2066 oubleCeiling = f │ │ │ +00045360: 6d61 7020 6365 696c 696e 6720 2e20 6173 map ceiling . as │ │ │ +00045370: 4669 6e69 7465 0a0a 6e6f 726d 616c 6973 Finite..normalis │ │ │ +00045380: 654e 614e 203a 3a20 446f 7562 6c65 202d eNaN :: Double - │ │ │ +00045390: 3e20 446f 7562 6c65 0a6e 6f72 6d61 6c69 > Double.normali │ │ │ +000453a0: 7365 4e61 4e20 780a 2020 7c20 6973 4e61 seNaN x. | isNa │ │ │ +000453b0: 4e20 7820 2020 3d20 6e61 6e0a 2020 7c20 N x = nan. | │ │ │ +000453c0: 6f74 6865 7277 6973 6520 3d20 780a 0a64 otherwise = x..d │ │ │ +000453d0: 6f75 626c 6554 6f57 6f72 6436 3420 3a3a oubleToWord64 :: │ │ │ +000453e0: 2044 6f75 626c 6520 2d3e 204d 6179 6265 Double -> Maybe │ │ │ +000453f0: 2057 6f72 6436 340a 646f 7562 6c65 546f Word64.doubleTo │ │ │ +00045400: 576f 7264 3634 2078 0a20 207c 2069 734e Word64 x. | isN │ │ │ +00045410: 614e 2078 2020 203d 204e 6f74 6869 6e67 aN x = Nothing │ │ │ +00045420: 0a20 207c 206f 7468 6572 7769 7365 203d . | otherwise = │ │ │ +00045430: 204a 7573 7420 2863 6173 7444 6f75 626c Just (castDoubl │ │ │ +00045440: 6554 6f57 6f72 6436 3420 7829 0a0a 2d2d eToWord64 x)..-- │ │ │ +00045450: 207c 4465 6e6f 7461 7469 6f6e 616c 2065 |Denotational e │ │ │ +00045460: 7175 616c 6974 7920 666f 7220 666c 6f61 quality for floa │ │ │ +00045470: 7469 6e67 2070 6f69 6e74 206e 756d 6265 ting point numbe │ │ │ +00045480: 7273 2c20 6368 6563 6b73 2062 6974 7769 rs, checks bitwi │ │ │ +00045490: 7365 2065 7175 616c 6974 792e 0a2d 2d0a se equality..--. │ │ │ +000454a0: 2d2d 2020 4e4f 5445 3a20 4465 6e6f 7461 -- NOTE: Denota │ │ │ +000454b0: 7469 6f6e 616c 2065 7175 616c 6974 7920 tional equality │ │ │ +000454c0: 6469 7374 696e 6775 6973 6865 7320 4e61 distinguishes Na │ │ │ +000454d0: 4e73 2c20 736f 2069 7473 2072 6573 756c Ns, so its resul │ │ │ +000454e0: 7473 206d 6179 2076 6172 790a 2d2d 2020 ts may vary.-- │ │ │ +000454f0: 2020 2020 2020 6465 7065 6e64 696e 6720 depending │ │ │ +00045500: 6f6e 2074 6865 2061 7263 6869 7465 6374 on the architect │ │ │ +00045510: 7572 6520 616e 6420 636f 6d70 696c 6174 ure and compilat │ │ │ +00045520: 696f 6e20 666c 6167 732e 2055 6e66 6f72 ion flags. Unfor │ │ │ +00045530: 7475 6e61 7465 6c79 2c0a 2d2d 2020 2020 tunately,.-- │ │ │ +00045540: 2020 2020 7468 6973 2069 7320 6120 7072 this is a pr │ │ │ +00045550: 6f62 6c65 6d20 7769 7468 2066 6c6f 6174 oblem with float │ │ │ +00045560: 696e 672d 706f 696e 7420 6e75 6d62 6572 ing-point number │ │ │ +00045570: 7320 696e 2067 656e 6572 616c 2e0a 2d2d s in general..-- │ │ │ +00045580: 0a64 6f75 626c 6544 656e 6f74 4571 203a .doubleDenotEq : │ │ │ +00045590: 3a20 446f 7562 6c65 202d 3e20 446f 7562 : Double -> Doub │ │ │ +000455a0: 6c65 202d 3e20 426f 6f6c 0a64 6f75 626c le -> Bool.doubl │ │ │ +000455b0: 6544 656e 6f74 4571 203d 2028 3d3d 2920 eDenotEq = (==) │ │ │ +000455c0: 606f 6e60 2064 6f75 626c 6554 6f57 6f72 `on` doubleToWor │ │ │ +000455d0: 6436 340a 0a2d 2d20 7c49 2067 7565 7373 d64..-- |I guess │ │ │ +000455e0: 2022 6465 6e6f 7461 7469 6f6e 616c 206f "denotational o │ │ │ +000455f0: 7264 6572 696e 6773 2220 6172 6520 6e6f rderings" are no │ │ │ +00045600: 7720 6120 7468 696e 673f 2054 6865 2070 w a thing? The p │ │ │ +00045610: 6f69 6e74 2069 7320 7468 6174 2077 6520 oint is that we │ │ │ +00045620: 6e65 6564 0a2d 2d20 2061 6e20 4f72 6420 need.-- an Ord │ │ │ +00045630: 696e 7374 616e 6365 2077 6869 6368 2070 instance which p │ │ │ +00045640: 726f 7669 6465 7320 6120 746f 7461 6c20 rovides a total │ │ │ +00045650: 6f72 6465 7269 6e67 2c20 616e 6420 6973 ordering, and is │ │ │ +00045660: 2063 6f6e 7369 7374 656e 7420 7769 7468 consistent with │ │ │ +00045670: 2074 6865 0a2d 2d20 2064 656e 6f74 6174 the.-- denotat │ │ │ +00045680: 696f 6e61 6c20 6571 7561 6c69 7479 2e0a ional equality.. │ │ │ +00045690: 2d2d 0a2d 2d20 204e 4f54 453a 2054 6865 --.-- NOTE: The │ │ │ +000456a0: 206f 7264 6572 696e 6720 696e 6475 6365 ordering induce │ │ │ +000456b0: 6420 7669 6120 6064 6f75 626c 6554 6f57 d via `doubleToW │ │ │ +000456c0: 6f72 6436 3460 2069 7320 746f 7461 6c2c ord64` is total, │ │ │ +000456d0: 2061 6e64 2069 7320 636f 6e73 6973 7465 and is consiste │ │ │ +000456e0: 6e74 0a2d 2d20 2020 2020 2020 2077 6974 nt.-- wit │ │ │ +000456f0: 6820 6064 6f75 626c 6544 656e 6f74 4571 h `doubleDenotEq │ │ │ +00045700: 602e 2048 6f77 6576 6572 2c20 6974 2069 `. However, it i │ │ │ +00045710: 7320 2a64 6565 706c 792a 2075 6e69 6e74 s *deeply* unint │ │ │ +00045720: 7569 7469 7665 2e20 466f 7220 6f6e 652c uitive. For one, │ │ │ +00045730: 2069 740a 2d2d 2020 2020 2020 2020 636f it.-- co │ │ │ +00045740: 6e73 6964 6572 7320 616c 6c20 6e65 6761 nsiders all nega │ │ │ +00045750: 7469 7665 206e 756d 6265 7273 2074 6f20 tive numbers to │ │ │ +00045760: 6265 206c 6172 6765 7220 7468 616e 2070 be larger than p │ │ │ +00045770: 6f73 6974 6976 6520 6e75 6d62 6572 732e ositive numbers. │ │ │ +00045780: 0a2d 2d0a 646f 7562 6c65 4465 6e6f 744f .--.doubleDenotO │ │ │ +00045790: 7264 203a 3a20 446f 7562 6c65 202d 3e20 rd :: Double -> │ │ │ +000457a0: 446f 7562 6c65 202d 3e20 4f72 6465 7269 Double -> Orderi │ │ │ +000457b0: 6e67 0a64 6f75 626c 6544 656e 6f74 4f72 ng.doubleDenotOr │ │ │ +000457c0: 6420 3d20 636f 6d70 6172 6520 606f 6e60 d = compare `on` │ │ │ +000457d0: 2064 6f75 626c 6554 6f57 6f72 6436 340a doubleToWord64. │ │ │ +000457e0: 0a2d 2d20 7c52 6574 7572 6e20 4a75 7374 .-- |Return Just │ │ │ +000457f0: 2078 2069 6620 6974 2773 2061 2066 696e x if it's a fin │ │ │ +00045800: 6974 6520 6e75 6d62 6572 2c20 6f74 6865 ite number, othe │ │ │ +00045810: 7277 6973 6520 7265 7475 726e 204e 6f74 rwise return Not │ │ │ +00045820: 6869 6e67 2e0a 6173 4669 6e69 7465 203a hing..asFinite : │ │ │ +00045830: 3a20 446f 7562 6c65 202d 3e20 4d61 7962 : Double -> Mayb │ │ │ +00045840: 6520 446f 7562 6c65 0a61 7346 696e 6974 e Double.asFinit │ │ │ +00045850: 6520 780a 2020 7c20 6973 4e61 4e20 2020 e x. | isNaN │ │ │ +00045860: 2020 2078 203d 204e 6f74 6869 6e67 0a20 x = Nothing. │ │ │ +00045870: 207c 2069 7349 6e66 696e 6974 6520 7820 | isInfinite x │ │ │ +00045880: 3d20 4e6f 7468 696e 670a 2020 7c20 6f74 = Nothing. | ot │ │ │ +00045890: 6865 7277 6973 6520 2020 203d 204a 7573 herwise = Jus │ │ │ +000458a0: 7420 780a 0a2d 2d20 7c44 6563 6f64 6520 t x..-- |Decode │ │ │ +000458b0: 6120 446f 7562 6c65 2074 6f20 616e 2069 a Double to an i │ │ │ +000458c0: 6e74 6567 6572 2072 6174 696f 2e0a 646f nteger ratio..do │ │ │ +000458d0: 7562 6c65 546f 5261 7469 6f20 3a3a 2044 ubleToRatio :: D │ │ │ +000458e0: 6f75 626c 6520 2d3e 2028 496e 7465 6765 ouble -> (Intege │ │ │ +000458f0: 722c 2049 6e74 6567 6572 290a 646f 7562 r, Integer).doub │ │ │ +00045900: 6c65 546f 5261 7469 6f20 780a 2020 7c20 leToRatio x. | │ │ │ +00045910: 6973 4e61 4e20 2020 2020 2078 203d 2028 isNaN x = ( │ │ │ +00045920: 302c 2030 290a 2020 7c20 6973 496e 6669 0, 0). | isInfi │ │ │ +00045930: 6e69 7465 2078 203d 2028 7369 676e 756d nite x = (signum │ │ │ +00045940: 2028 666c 6f6f 7220 7829 2c20 3029 0a20 (floor x), 0). │ │ │ +00045950: 207c 206f 7468 6572 7769 7365 2020 2020 | otherwise │ │ │ +00045960: 3d20 6c65 7420 7220 3d20 746f 5261 7469 = let r = toRati │ │ │ +00045970: 6f6e 616c 2078 2069 6e20 286e 756d 6572 onal x in (numer │ │ │ +00045980: 6174 6f72 2072 2c20 6465 6e6f 6d69 6e61 ator r, denomina │ │ │ +00045990: 746f 7220 7229 0a0a 2d2d 207c 456e 636f tor r)..-- |Enco │ │ │ +000459a0: 6465 2061 6e20 696e 7465 6765 7220 7261 de an integer ra │ │ │ +000459b0: 7469 6f20 6173 2061 2064 6f75 626c 652e tio as a double. │ │ │ +000459c0: 0a72 6174 696f 546f 446f 7562 6c65 203a .ratioToDouble : │ │ │ +000459d0: 3a20 496e 7465 6765 7220 2d3e 2049 6e74 : Integer -> Int │ │ │ +000459e0: 6567 6572 202d 3e20 446f 7562 6c65 0a72 eger -> Double.r │ │ │ +000459f0: 6174 696f 546f 446f 7562 6c65 206e 2064 atioToDouble n d │ │ │ +00045a00: 0a20 207c 2064 203d 3d20 3020 3d20 6361 . | d == 0 = ca │ │ │ +00045a10: 7365 2063 6f6d 7061 7265 206e 2030 206f se compare n 0 o │ │ │ +00045a20: 660a 2020 2020 2020 4c54 202d 3e20 6e65 f. LT -> ne │ │ │ +00045a30: 6761 7469 7665 496e 6669 6e69 7479 0a20 gativeInfinity. │ │ │ +00045a40: 2020 2020 2045 5120 2d3e 206e 616e 0a20 EQ -> nan. │ │ │ +00045a50: 2020 2020 2047 5420 2d3e 2070 6f73 6974 GT -> posit │ │ │ +00045a60: 6976 6549 6e66 696e 6974 790a 2020 7c20 iveInfinity. | │ │ │ +00045a70: 6f74 6865 7277 6973 6520 3d20 6672 6f6d otherwise = from │ │ │ +00045a80: 5261 7469 6f6e 616c 2028 6e20 2520 6429 Rational (n % d) │ │ │ +00045a90: 0a0a 2d2d 207c 4465 636f 6465 2061 2044 ..-- |Decode a D │ │ │ +00045aa0: 6f75 626c 6520 746f 2069 7473 206d 616e ouble to its man │ │ │ +00045ab0: 7469 7373 6120 616e 6420 6974 7320 6578 tissa and its ex │ │ │ +00045ac0: 706f 6e65 6e74 2c20 6e6f 726d 616c 6973 ponent, normalis │ │ │ +00045ad0: 6564 2073 7563 6820 7468 6174 2074 6865 ed such that the │ │ │ +00045ae0: 0a2d 2d20 206d 616e 7469 7373 6120 6973 .-- mantissa is │ │ │ +00045af0: 2074 6865 2073 6d61 6c6c 6573 7420 706f the smallest po │ │ │ +00045b00: 7373 6962 6c65 206e 756d 6265 7220 7769 ssible number wi │ │ │ +00045b10: 7468 6f75 7420 6c6f 7373 206f 6620 6163 thout loss of ac │ │ │ +00045b20: 6375 7261 6379 2e0a 646f 7562 6c65 4465 curacy..doubleDe │ │ │ +00045b30: 636f 6465 203a 3a20 446f 7562 6c65 202d code :: Double - │ │ │ +00045b40: 3e20 4d61 7962 6520 2849 6e74 6567 6572 > Maybe (Integer │ │ │ +00045b50: 2c20 496e 7465 6765 7229 0a64 6f75 626c , Integer).doubl │ │ │ +00045b60: 6544 6563 6f64 6520 780a 2020 7c20 6973 eDecode x. | is │ │ │ +00045b70: 4e61 4e20 2020 2020 2078 203d 204e 6f74 NaN x = Not │ │ │ +00045b80: 6869 6e67 0a20 207c 2069 7349 6e66 696e hing. | isInfin │ │ │ +00045b90: 6974 6520 7820 3d20 4e6f 7468 696e 670a ite x = Nothing. │ │ │ +00045ba0: 2020 7c20 6f74 6865 7277 6973 6520 2020 | otherwise │ │ │ +00045bb0: 203d 204a 7573 7420 2875 6e63 7572 7279 = Just (uncurry │ │ │ +00045bc0: 206e 6f72 6d61 6c69 7365 2028 7365 636f normalise (seco │ │ │ +00045bd0: 6e64 2074 6f49 6e74 6567 6572 2028 6465 nd toInteger (de │ │ │ +00045be0: 636f 6465 466c 6f61 7420 7829 2929 0a20 codeFloat x))). │ │ │ +00045bf0: 2077 6865 7265 0a20 2020 206e 6f72 6d61 where. norma │ │ │ +00045c00: 6c69 7365 203a 3a20 496e 7465 6765 7220 lise :: Integer │ │ │ +00045c10: 2d3e 2049 6e74 6567 6572 202d 3e20 2849 -> Integer -> (I │ │ │ +00045c20: 6e74 6567 6572 2c20 496e 7465 6765 7229 nteger, Integer) │ │ │ +00045c30: 0a20 2020 206e 6f72 6d61 6c69 7365 206d . normalise m │ │ │ +00045c40: 616e 7469 7373 6120 6578 706f 6e65 6e74 antissa exponent │ │ │ +00045c50: 0a20 2020 2020 207c 2065 7665 6e20 6d61 . | even ma │ │ │ +00045c60: 6e74 6973 7361 203d 206e 6f72 6d61 6c69 ntissa = normali │ │ │ +00045c70: 7365 2028 6d61 6e74 6973 7361 2060 6469 se (mantissa `di │ │ │ +00045c80: 7660 2032 2920 2865 7870 6f6e 656e 7420 v` 2) (exponent │ │ │ +00045c90: 2b20 3129 0a20 2020 2020 207c 206f 7468 + 1). | oth │ │ │ +00045ca0: 6572 7769 7365 203d 2028 6d61 6e74 6973 erwise = (mantis │ │ │ +00045cb0: 7361 2c20 6578 706f 6e65 6e74 290a 0a2d sa, exponent)..- │ │ │ +00045cc0: 2d20 7c43 6865 636b 7320 7768 6574 6865 - |Checks whethe │ │ │ +00045cd0: 7220 6f72 206e 6f74 2074 6865 2044 6f75 r or not the Dou │ │ │ +00045ce0: 626c 6520 6973 2077 6974 6869 6e20 6120 ble is within a │ │ │ +00045cf0: 7361 6665 2072 616e 6765 206f 6620 6f70 safe range of op │ │ │ +00045d00: 6572 6174 696f 6e2e 0a69 7353 6166 6549 eration..isSafeI │ │ │ +00045d10: 6e74 6567 6572 203a 3a20 446f 7562 6c65 nteger :: Double │ │ │ +00045d20: 202d 3e20 426f 6f6c 0a69 7353 6166 6549 -> Bool.isSafeI │ │ │ +00045d30: 6e74 6567 6572 2078 203d 2063 6173 6520 nteger x = case │ │ │ +00045d40: 7072 6f70 6572 4672 6163 7469 6f6e 2078 properFraction x │ │ │ +00045d50: 206f 660a 2020 286e 2c20 6629 202d 3e20 of. (n, f) -> │ │ │ +00045d60: 6620 3d3d 2030 2e30 2026 2620 6d69 6e4d f == 0.0 && minM │ │ │ +00045d70: 616e 7469 7373 6120 3c3d 206e 2026 2620 antissa <= n && │ │ │ +00045d80: 6e20 3c3d 206d 6178 4d61 6e74 6973 7361 n <= maxMantissa │ │ │ +00045d90: 0a0a 646f 7562 6c65 5261 6469 7820 3a3a ..doubleRadix :: │ │ │ +00045da0: 2049 6e74 6567 6572 0a64 6f75 626c 6552 Integer.doubleR │ │ │ +00045db0: 6164 6978 203d 2066 6c6f 6174 5261 6469 adix = floatRadi │ │ │ +00045dc0: 7820 2875 6e64 6566 696e 6564 203a 3a20 x (undefined :: │ │ │ +00045dd0: 446f 7562 6c65 290a 0a64 6f75 626c 6544 Double)..doubleD │ │ │ +00045de0: 6967 6974 7320 3a3a 2049 6e74 0a64 6f75 igits :: Int.dou │ │ │ +00045df0: 626c 6544 6967 6974 7320 3d20 666c 6f61 bleDigits = floa │ │ │ +00045e00: 7444 6967 6974 7320 2875 6e64 6566 696e tDigits (undefin │ │ │ +00045e10: 6564 203a 3a20 446f 7562 6c65 290a 0a64 ed :: Double)..d │ │ │ +00045e20: 6f75 626c 6552 616e 6765 203a 3a20 2849 oubleRange :: (I │ │ │ +00045e30: 6e74 2c20 496e 7429 0a64 6f75 626c 6552 nt, Int).doubleR │ │ │ +00045e40: 616e 6765 203d 2066 6c6f 6174 5261 6e67 ange = floatRang │ │ │ +00045e50: 6520 2875 6e64 6566 696e 6564 203a 3a20 e (undefined :: │ │ │ +00045e60: 446f 7562 6c65 290a 0a2d 2d20 7c54 6865 Double)..-- |The │ │ │ +00045e70: 2073 6d61 6c6c 6573 7420 7265 7072 6573 smallest repres │ │ │ +00045e80: 656e 7461 626c 6520 6d61 6e74 6973 7361 entable mantissa │ │ │ +00045e90: 2e20 5369 6d75 6c74 616e 656f 7573 6c79 . Simultaneously │ │ │ +00045ea0: 2c20 7468 6520 736d 616c 6c65 7374 2069 , the smallest i │ │ │ +00045eb0: 6e74 6567 6572 2077 6869 6368 2063 616e nteger which can │ │ │ +00045ec0: 2062 650a 2d2d 2020 7265 7072 6573 656e be.-- represen │ │ │ +00045ed0: 7465 6420 6173 2061 2044 6f75 626c 6520 ted as a Double │ │ │ +00045ee0: 7769 7468 6f75 7420 6c6f 7373 206f 6620 without loss of │ │ │ +00045ef0: 7072 6563 6973 696f 6e2e 0a6d 696e 4d61 precision..minMa │ │ │ +00045f00: 6e74 6973 7361 203a 3a20 496e 7465 6765 ntissa :: Intege │ │ │ +00045f10: 720a 6d69 6e4d 616e 7469 7373 6120 3d20 r.minMantissa = │ │ │ +00045f20: 2d20 6d61 784d 616e 7469 7373 610a 0a2d - maxMantissa..- │ │ │ +00045f30: 2d20 7c54 6865 206c 6172 6765 7374 2072 - |The largest r │ │ │ +00045f40: 6570 7265 7365 6e74 6162 6c65 206d 616e epresentable man │ │ │ +00045f50: 7469 7373 612e 2053 696d 756c 7461 6e65 tissa. Simultane │ │ │ +00045f60: 6f75 736c 792c 2074 6865 206c 6172 6765 ously, the large │ │ │ +00045f70: 7374 2069 6e74 6567 6572 2077 6869 6368 st integer which │ │ │ +00045f80: 2063 616e 2062 650a 2d2d 2020 7265 7072 can be.-- repr │ │ │ +00045f90: 6573 656e 7465 6420 6173 2061 2044 6f75 esented as a Dou │ │ │ +00045fa0: 626c 6520 7769 7468 6f75 7420 6c6f 7373 ble without loss │ │ │ +00045fb0: 206f 6620 7072 6563 6973 696f 6e2e 0a6d of precision..m │ │ │ +00045fc0: 6178 4d61 6e74 6973 7361 203a 3a20 496e axMantissa :: In │ │ │ +00045fd0: 7465 6765 720a 6d61 784d 616e 7469 7373 teger.maxMantiss │ │ │ +00045fe0: 6120 3d20 2864 6f75 626c 6552 6164 6978 a = (doubleRadix │ │ │ +00045ff0: 205e 2074 6f49 6e74 6567 6572 2064 6f75 ^ toInteger dou │ │ │ +00046000: 626c 6544 6967 6974 7329 202d 2031 0a0a bleDigits) - 1.. │ │ │ +00046010: 2d2d 207c 5468 6520 6c61 7267 6573 7420 -- |The largest │ │ │ +00046020: 7265 7072 6573 656e 7461 626c 6520 6578 representable ex │ │ │ +00046030: 706f 6e65 6e74 2e0a 6d69 6e45 7870 6f6e ponent..minExpon │ │ │ +00046040: 656e 7420 3a3a 2049 6e74 6567 6572 0a6d ent :: Integer.m │ │ │ +00046050: 696e 4578 706f 6e65 6e74 203d 2074 6f49 inExponent = toI │ │ │ +00046060: 6e74 6567 6572 2024 2028 6673 7420 646f nteger $ (fst do │ │ │ +00046070: 7562 6c65 5261 6e67 6520 2d20 646f 7562 ubleRange - doub │ │ │ +00046080: 6c65 4469 6769 7473 2920 2d20 310a 0a2d leDigits) - 1..- │ │ │ +00046090: 2d20 7c54 6865 2073 6d61 6c6c 6573 7420 - |The smallest │ │ │ +000460a0: 7265 7072 6573 656e 7461 626c 6520 6578 representable ex │ │ │ +000460b0: 706f 6e65 6e74 2e0a 6d61 7845 7870 6f6e ponent..maxExpon │ │ │ +000460c0: 656e 7420 3a3a 2049 6e74 6567 6572 0a6d ent :: Integer.m │ │ │ +000460d0: 6178 4578 706f 6e65 6e74 203d 2074 6f49 axExponent = toI │ │ │ +000460e0: 6e74 6567 6572 2024 2073 6e64 2064 6f75 nteger $ snd dou │ │ │ +000460f0: 626c 6552 616e 6765 202d 2064 6f75 626c bleRange - doubl │ │ │ +00046100: 6544 6967 6974 730a 0a2d 2d20 7c45 6e63 eDigits..-- |Enc │ │ │ +00046110: 6f64 6520 6120 6d61 6e74 6973 7361 2061 ode a mantissa a │ │ │ +00046120: 6e64 2061 6e20 6578 706f 6e65 6e74 2061 nd an exponent a │ │ │ +00046130: 7320 6120 446f 7562 6c65 2e0a 646f 7562 s a Double..doub │ │ │ +00046140: 6c65 456e 636f 6465 203a 3a20 496e 7465 leEncode :: Inte │ │ │ +00046150: 6765 7220 2d3e 2049 6e74 6567 6572 202d ger -> Integer - │ │ │ +00046160: 3e20 4d61 7962 6520 446f 7562 6c65 0a64 > Maybe Double.d │ │ │ +00046170: 6f75 626c 6545 6e63 6f64 6520 6d61 6e74 oubleEncode mant │ │ │ +00046180: 6973 7361 2065 7870 6f6e 656e 740a 2020 issa exponent. │ │ │ +00046190: 3d20 6966 206d 696e 4d61 6e74 6973 7361 = if minMantissa │ │ │ +000461a0: 203c 3d20 6d61 6e74 6973 7361 2026 2620 <= mantissa && │ │ │ +000461b0: 6d61 6e74 6973 7361 203c 3d20 6d61 784d mantissa <= maxM │ │ │ +000461c0: 616e 7469 7373 6120 2626 0a20 2020 2020 antissa &&. │ │ │ +000461d0: 2020 6d69 6e45 7870 6f6e 656e 7420 3c3d minExponent <= │ │ │ +000461e0: 2065 7870 6f6e 656e 7420 2626 2065 7870 exponent && exp │ │ │ +000461f0: 6f6e 656e 7420 3c3d 206d 6178 4578 706f onent <= maxExpo │ │ │ +00046200: 6e65 6e74 0a20 2020 2074 6865 6e20 4a75 nent. then Ju │ │ │ +00046210: 7374 2028 656e 636f 6465 466c 6f61 7420 st (encodeFloat │ │ │ +00046220: 6d61 6e74 6973 7361 2028 6672 6f6d 496e mantissa (fromIn │ │ │ +00046230: 7465 6765 7220 6578 706f 6e65 6e74 2929 teger exponent)) │ │ │ +00046240: 0a20 2020 2065 6c73 6520 4e6f 7468 696e . else Nothin │ │ │ +00046250: 670a b3fb b7ca b88f f081 59fd b3b3 80c8 g.........Y..... │ │ │ +00046260: a2bb ccb7 0100 e901 0004 62a3 05b4 8080 ..........b..... │ │ │ +00046270: e608 0000 0005 2000 0001 0001 0004 0408 ...... ......... │ │ │ +00046280: 0307 0286 8080 ec08 0200 0003 0f00 0505 ................ │ │ │ +00046290: 050b 8780 80ec 0801 0520 0000 010b a101 ......... ...... │ │ │ +000462a0: 0bfa 01d4 8fb0 eab0 899b eb98 01dc 84e1 ................ │ │ │ +000462b0: 96a0 8be1 8efc 0100 f601 0004 62e1 0520 ............b.. │ │ │ +000462c0: 0000 0100 0404 0803 0702 5e02 0000 030f ..........^..... │ │ │ +000462d0: 0005 0505 0b5f 0bfb 010b 6109 0601 00ab ....._....a..... │ │ │ +000462e0: 16eb cdf9 dac6 d581 9ce3 01a0 cbaf f0bf ................ │ │ │ +000462f0: a29d ceb0 0100 fb01 0004 6e3f 0582 8080 ..........n?.... │ │ │ +00046300: e608 0000 0100 0304 0704 0200 0003 0f00 ................ │ │ │ +00046310: 0901 ab16 7b2d 2320 4c41 4e47 5541 4745 ....{-# LANGUAGE │ │ │ +00046320: 2050 6f6c 794b 696e 6473 2023 2d7d 0a0a PolyKinds #-}.. │ │ │ +00046330: 6d6f 6475 6c65 204d 416c 6f6e 7a6f 2e52 module MAlonzo.R │ │ │ +00046340: 5445 2077 6865 7265 0a0a 696d 706f 7274 TE where..import │ │ │ +00046350: 2050 7265 6c75 6465 0a20 2028 2042 6f6f Prelude. ( Boo │ │ │ +00046360: 6c2c 2043 6861 722c 2044 6f75 626c 652c l, Char, Double, │ │ │ +00046370: 2049 6e74 6567 6572 2c20 5374 7269 6e67 Integer, String │ │ │ +00046380: 0a20 202c 2045 6e75 6d28 2e2e 292c 2045 . , Enum(..), E │ │ │ +00046390: 7128 2e2e 292c 204f 7264 282e 2e29 2c20 q(..), Ord(..), │ │ │ +000463a0: 496e 7465 6772 616c 282e 2e29 2c20 4e75 Integral(..), Nu │ │ │ +000463b0: 6d28 2e2e 290a 2020 2c20 2824 292c 2065 m(..). , ($), e │ │ │ +000463c0: 7272 6f72 2c20 6f74 6865 7277 6973 650a rror, otherwise. │ │ │ +000463d0: 2020 2c20 282b 2b29 2c20 6672 6f6d 496e , (++), fromIn │ │ │ +000463e0: 7465 6772 616c 0a20 2029 0a0a 696d 706f tegral. )..impo │ │ │ +000463f0: 7274 2044 6174 612e 4368 6172 2028 2047 rt Data.Char ( G │ │ │ +00046400: 656e 6572 616c 4361 7465 676f 7279 2853 eneralCategory(S │ │ │ +00046410: 7572 726f 6761 7465 292c 2067 656e 6572 urrogate), gener │ │ │ +00046420: 616c 4361 7465 676f 7279 2029 0a69 6d70 alCategory ).imp │ │ │ +00046430: 6f72 7420 4461 7461 2e4b 696e 6420 2820 ort Data.Kind ( │ │ │ +00046440: 5479 7065 290a 696d 706f 7274 2071 7561 Type).import qua │ │ │ +00046450: 6c69 6669 6564 2044 6174 612e 576f 7264 lified Data.Word │ │ │ +00046460: 0a69 6d70 6f72 7420 7175 616c 6966 6965 .import qualifie │ │ │ +00046470: 6420 4748 432e 4578 7473 2061 7320 4748 d GHC.Exts as GH │ │ │ +00046480: 4320 2820 416e 7920 290a 696d 706f 7274 C ( Any ).import │ │ │ +00046490: 2055 6e73 6166 652e 436f 6572 6365 2028 Unsafe.Coerce ( │ │ │ +000464a0: 2075 6e73 6166 6543 6f65 7263 6520 290a unsafeCoerce ). │ │ │ +000464b0: 0a74 7970 6520 4167 6461 416e 7920 3d20 .type AgdaAny = │ │ │ +000464c0: 4748 432e 416e 790a 0a2d 2d20 5370 6563 GHC.Any..-- Spec │ │ │ +000464d0: 6961 6c20 7665 7273 696f 6e20 6f66 2063 ial version of c │ │ │ +000464e0: 6f65 7263 6520 7468 6174 2070 6c61 7973 oerce that plays │ │ │ +000464f0: 2077 656c 6c20 7769 7468 2072 756c 6573 well with rules │ │ │ +00046500: 2e0a 7b2d 2320 494e 4c49 4e45 205b 315d ..{-# INLINE [1] │ │ │ +00046510: 2063 6f65 2023 2d7d 0a63 6f65 203a 3a20 coe #-}.coe :: │ │ │ +00046520: 6120 2d3e 2062 0a63 6f65 203d 2075 6e73 a -> b.coe = uns │ │ │ +00046530: 6166 6543 6f65 7263 650a 7b2d 2320 5255 afeCoerce.{-# RU │ │ │ +00046540: 4c45 5320 2263 6f65 7263 652d 6964 2220 LES "coerce-id" │ │ │ +00046550: 666f 7261 6c6c 2028 7820 3a3a 2061 2920 forall (x :: a) │ │ │ +00046560: 2e20 636f 6520 7820 3d20 7820 232d 7d0a . coe x = x #-}. │ │ │ +00046570: 0a2d 2d20 4275 696c 7469 6e20 514e 616d .-- Builtin QNam │ │ │ +00046580: 6573 2e0a 6461 7461 2051 4e61 6d65 203d es..data QName = │ │ │ +00046590: 2051 4e61 6d65 207b 206e 616d 6549 642c QName { nameId, │ │ │ +000465a0: 206d 6f64 756c 6549 6420 3a3a 2049 6e74 moduleId :: Int │ │ │ +000465b0: 6567 6572 2c20 716e 616d 6553 7472 696e eger, qnameStrin │ │ │ +000465c0: 6720 3a3a 2053 7472 696e 672c 2071 6e61 g :: String, qna │ │ │ +000465d0: 6d65 4669 7869 7479 203a 3a20 4669 7869 meFixity :: Fixi │ │ │ +000465e0: 7479 207d 0a0a 6461 7461 2041 7373 6f63 ty }..data Assoc │ │ │ +000465f0: 2020 2020 2020 3d20 4e6f 6e41 7373 6f63 = NonAssoc │ │ │ +00046600: 207c 204c 6566 7441 7373 6f63 207c 2052 | LeftAssoc | R │ │ │ +00046610: 6967 6874 4173 736f 630a 6461 7461 2050 ightAssoc.data P │ │ │ +00046620: 7265 6365 6465 6e63 6520 3d20 556e 7265 recedence = Unre │ │ │ +00046630: 6c61 7465 6420 7c20 5265 6c61 7465 6420 lated | Related │ │ │ +00046640: 5072 6563 6564 656e 6365 4c65 7665 6c0a PrecedenceLevel. │ │ │ +00046650: 6461 7461 2046 6978 6974 7920 2020 2020 data Fixity │ │ │ +00046660: 3d20 4669 7869 7479 2041 7373 6f63 2050 = Fixity Assoc P │ │ │ +00046670: 7265 6365 6465 6e63 650a 7479 7065 2050 recedence.type P │ │ │ +00046680: 7265 6365 6465 6e63 654c 6576 656c 203d recedenceLevel = │ │ │ +00046690: 2044 6f75 626c 650a 0a69 6e73 7461 6e63 Double..instanc │ │ │ +000466a0: 6520 4571 2051 4e61 6d65 2077 6865 7265 e Eq QName where │ │ │ +000466b0: 0a20 2051 4e61 6d65 2061 2062 205f 205f . QName a b _ _ │ │ │ +000466c0: 203d 3d20 514e 616d 6520 6320 6420 5f20 == QName c d _ │ │ │ +000466d0: 5f20 3d20 2861 2c20 6229 203d 3d20 2863 _ = (a, b) == (c │ │ │ +000466e0: 2c20 6429 0a0a 696e 7374 616e 6365 204f , d)..instance O │ │ │ +000466f0: 7264 2051 4e61 6d65 2077 6865 7265 0a20 rd QName where. │ │ │ +00046700: 2063 6f6d 7061 7265 2028 514e 616d 6520 compare (QName │ │ │ +00046710: 6120 6220 5f20 5f29 2028 514e 616d 6520 a b _ _) (QName │ │ │ +00046720: 6320 6420 5f20 5f29 203d 2063 6f6d 7061 c d _ _) = compa │ │ │ +00046730: 7265 2028 612c 2062 2920 2863 2c20 6429 re (a, b) (c, d) │ │ │ +00046740: 0a0a 6572 6173 6564 203a 3a20 610a 6572 ..erased :: a.er │ │ │ +00046750: 6173 6564 203d 2063 6f65 2028 5c20 5f20 ased = coe (\ _ │ │ │ +00046760: 2d3e 2065 7261 7365 6429 0a0a 6d61 7a55 -> erased)..mazU │ │ │ +00046770: 6e72 6561 6368 6162 6c65 4572 726f 7220 nreachableError │ │ │ +00046780: 3a3a 2061 0a6d 617a 556e 7265 6163 6861 :: a.mazUnreacha │ │ │ +00046790: 626c 6545 7272 6f72 203d 2065 7272 6f72 bleError = error │ │ │ +000467a0: 2028 2241 6764 613a 2075 6e72 6561 6368 ("Agda: unreach │ │ │ +000467b0: 6162 6c65 2063 6f64 6520 7265 6163 6865 able code reache │ │ │ +000467c0: 642e 2229 0a0a 6d61 7a48 6f6c 6520 3a3a d.")..mazHole :: │ │ │ +000467d0: 2053 7472 696e 6720 2d3e 2061 0a6d 617a String -> a.maz │ │ │ +000467e0: 486f 6c65 2073 203d 2065 7272 6f72 2028 Hole s = error ( │ │ │ +000467f0: 2241 6764 613a 2072 6561 6368 6564 2068 "Agda: reached h │ │ │ +00046800: 6f6c 653a 2022 202b 2b20 7329 0a0a 6164 ole: " ++ s)..ad │ │ │ +00046810: 6449 6e74 203a 3a20 496e 7465 6765 7220 dInt :: Integer │ │ │ +00046820: 2d3e 2049 6e74 6567 6572 202d 3e20 496e -> Integer -> In │ │ │ +00046830: 7465 6765 720a 6164 6449 6e74 203d 2028 teger.addInt = ( │ │ │ +00046840: 2b29 0a0a 7375 6249 6e74 203a 3a20 496e +)..subInt :: In │ │ │ +00046850: 7465 6765 7220 2d3e 2049 6e74 6567 6572 teger -> Integer │ │ │ +00046860: 202d 3e20 496e 7465 6765 720a 7375 6249 -> Integer.subI │ │ │ +00046870: 6e74 203d 2028 2d29 0a0a 6d75 6c49 6e74 nt = (-)..mulInt │ │ │ +00046880: 203a 3a20 496e 7465 6765 7220 2d3e 2049 :: Integer -> I │ │ │ +00046890: 6e74 6567 6572 202d 3e20 496e 7465 6765 nteger -> Intege │ │ │ +000468a0: 720a 6d75 6c49 6e74 203d 2028 2a29 0a0a r.mulInt = (*).. │ │ │ +000468b0: 6765 7149 6e74 203a 3a20 496e 7465 6765 geqInt :: Intege │ │ │ +000468c0: 7220 2d3e 2049 6e74 6567 6572 202d 3e20 r -> Integer -> │ │ │ +000468d0: 426f 6f6c 0a67 6571 496e 7420 3d20 283e Bool.geqInt = (> │ │ │ +000468e0: 3d29 0a0a 6c74 496e 7420 3a3a 2049 6e74 =)..ltInt :: Int │ │ │ +000468f0: 6567 6572 202d 3e20 496e 7465 6765 7220 eger -> Integer │ │ │ +00046900: 2d3e 2042 6f6f 6c0a 6c74 496e 7420 3d20 -> Bool.ltInt = │ │ │ +00046910: 283c 290a 0a65 7149 6e74 203a 3a20 496e (<)..eqInt :: In │ │ │ +00046920: 7465 6765 7220 2d3e 2049 6e74 6567 6572 teger -> Integer │ │ │ +00046930: 202d 3e20 426f 6f6c 0a65 7149 6e74 203d -> Bool.eqInt = │ │ │ +00046940: 2028 3d3d 290a 0a71 756f 7449 6e74 203a (==)..quotInt : │ │ │ +00046950: 3a20 496e 7465 6765 7220 2d3e 2049 6e74 : Integer -> Int │ │ │ +00046960: 6567 6572 202d 3e20 496e 7465 6765 720a eger -> Integer. │ │ │ +00046970: 7175 6f74 496e 7420 3d20 7175 6f74 0a0a quotInt = quot.. │ │ │ +00046980: 7265 6d49 6e74 203a 3a20 496e 7465 6765 remInt :: Intege │ │ │ +00046990: 7220 2d3e 2049 6e74 6567 6572 202d 3e20 r -> Integer -> │ │ │ +000469a0: 496e 7465 6765 720a 7265 6d49 6e74 203d Integer.remInt = │ │ │ +000469b0: 2072 656d 0a0a 2d2d 2023 3439 3939 3a20 rem..-- #4999: │ │ │ +000469c0: 4461 7461 2e54 6578 7420 6d61 7073 2073 Data.Text maps s │ │ │ +000469d0: 7572 726f 6761 7465 2063 6f64 6520 706f urrogate code po │ │ │ +000469e0: 696e 7473 2028 5c78 4438 3030 202d 205c ints (\xD800 - \ │ │ │ +000469f0: 7844 4646 4629 2074 6f20 7468 6520 7265 xDFFF) to the re │ │ │ +00046a00: 706c 6163 656d 656e 7420 6368 6172 6163 placement charac │ │ │ +00046a10: 7465 720a 2d2d 205c 7846 4646 442c 2073 ter.-- \xFFFD, s │ │ │ +00046a20: 6f20 746f 206b 6565 7020 7374 7269 6e67 o to keep string │ │ │ +00046a30: 7320 6973 6f6d 6f72 7068 6963 2074 6f20 s isomorphic to │ │ │ +00046a40: 6c69 7374 206f 6620 6368 6172 6163 7465 list of characte │ │ │ +00046a50: 7273 2077 6520 646f 2074 6865 2073 616d rs we do the sam │ │ │ +00046a60: 6520 666f 7220 6368 6172 6163 7465 7273 e for characters │ │ │ +00046a70: 2e0a 6e61 7454 6f43 6861 7220 3a3a 2049 ..natToChar :: I │ │ │ +00046a80: 6e74 6567 6572 202d 3e20 4368 6172 0a6e nteger -> Char.n │ │ │ +00046a90: 6174 546f 4368 6172 206e 207c 2067 656e atToChar n | gen │ │ │ +00046aa0: 6572 616c 4361 7465 676f 7279 2063 203d eralCategory c = │ │ │ +00046ab0: 3d20 5375 7272 6f67 6174 6520 3d20 275c = Surrogate = '\ │ │ │ +00046ac0: 7846 4646 4427 0a20 2020 2020 2020 2020 xFFFD'. │ │ │ +00046ad0: 2020 207c 206f 7468 6572 7769 7365 2020 | otherwise │ │ │ 00046ae0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00046af0: 2020 203d 2063 0a20 2077 6865 7265 2063 = c. where c │ │ │ -00046b00: 203d 2074 6f45 6e75 6d20 2420 6672 6f6d = toEnum $ from │ │ │ -00046b10: 496e 7465 6772 616c 2024 206d 6f64 206e Integral $ mod n │ │ │ -00046b20: 2030 7831 3130 3030 300a 0a2d 2d20 576f 0x110000..-- Wo │ │ │ -00046b30: 7264 7320 2d2d 0a0a 7479 7065 2057 6f72 rds --..type Wor │ │ │ -00046b40: 6436 3420 3d20 4461 7461 2e57 6f72 642e d64 = Data.Word. │ │ │ -00046b50: 576f 7264 3634 0a0a 776f 7264 3634 546f Word64..word64To │ │ │ -00046b60: 4e61 7420 3a3a 2057 6f72 6436 3420 2d3e Nat :: Word64 -> │ │ │ -00046b70: 2049 6e74 6567 6572 0a77 6f72 6436 3454 Integer.word64T │ │ │ -00046b80: 6f4e 6174 203d 2066 726f 6d49 6e74 6567 oNat = fromInteg │ │ │ -00046b90: 7261 6c0a 0a77 6f72 6436 3446 726f 6d4e ral..word64FromN │ │ │ -00046ba0: 6174 203a 3a20 496e 7465 6765 7220 2d3e at :: Integer -> │ │ │ -00046bb0: 2057 6f72 6436 340a 776f 7264 3634 4672 Word64.word64Fr │ │ │ -00046bc0: 6f6d 4e61 7420 3d20 6672 6f6d 496e 7465 omNat = fromInte │ │ │ -00046bd0: 6772 616c 0a0a 7b2d 2320 494e 4c49 4e45 gral..{-# INLINE │ │ │ -00046be0: 2061 6464 3634 2023 2d7d 0a61 6464 3634 add64 #-}.add64 │ │ │ -00046bf0: 203a 3a20 576f 7264 3634 202d 3e20 576f :: Word64 -> Wo │ │ │ -00046c00: 7264 3634 202d 3e20 576f 7264 3634 0a61 rd64 -> Word64.a │ │ │ -00046c10: 6464 3634 203d 2028 2b29 0a0a 7b2d 2320 dd64 = (+)..{-# │ │ │ -00046c20: 494e 4c49 4e45 2073 7562 3634 2023 2d7d INLINE sub64 #-} │ │ │ -00046c30: 0a73 7562 3634 203a 3a20 576f 7264 3634 .sub64 :: Word64 │ │ │ -00046c40: 202d 3e20 576f 7264 3634 202d 3e20 576f -> Word64 -> Wo │ │ │ -00046c50: 7264 3634 0a73 7562 3634 203d 2028 2d29 rd64.sub64 = (-) │ │ │ -00046c60: 0a0a 7b2d 2320 494e 4c49 4e45 206d 756c ..{-# INLINE mul │ │ │ -00046c70: 3634 2023 2d7d 0a6d 756c 3634 203a 3a20 64 #-}.mul64 :: │ │ │ -00046c80: 576f 7264 3634 202d 3e20 576f 7264 3634 Word64 -> Word64 │ │ │ -00046c90: 202d 3e20 576f 7264 3634 0a6d 756c 3634 -> Word64.mul64 │ │ │ -00046ca0: 203d 2028 2a29 0a0a 7b2d 2320 494e 4c49 = (*)..{-# INLI │ │ │ -00046cb0: 4e45 2071 756f 7436 3420 232d 7d0a 7175 NE quot64 #-}.qu │ │ │ -00046cc0: 6f74 3634 203a 3a20 576f 7264 3634 202d ot64 :: Word64 - │ │ │ -00046cd0: 3e20 576f 7264 3634 202d 3e20 576f 7264 > Word64 -> Word │ │ │ -00046ce0: 3634 0a71 756f 7436 3420 3d20 7175 6f74 64.quot64 = quot │ │ │ -00046cf0: 0a0a 7b2d 2320 494e 4c49 4e45 2072 656d ..{-# INLINE rem │ │ │ -00046d00: 3634 2023 2d7d 0a72 656d 3634 203a 3a20 64 #-}.rem64 :: │ │ │ -00046d10: 576f 7264 3634 202d 3e20 576f 7264 3634 Word64 -> Word64 │ │ │ -00046d20: 202d 3e20 576f 7264 3634 0a72 656d 3634 -> Word64.rem64 │ │ │ -00046d30: 203d 2072 656d 0a0a 7b2d 2320 494e 4c49 = rem..{-# INLI │ │ │ -00046d40: 4e45 2065 7136 3420 232d 7d0a 6571 3634 NE eq64 #-}.eq64 │ │ │ -00046d50: 203a 3a20 576f 7264 3634 202d 3e20 576f :: Word64 -> Wo │ │ │ -00046d60: 7264 3634 202d 3e20 426f 6f6c 0a65 7136 rd64 -> Bool.eq6 │ │ │ -00046d70: 3420 3d20 283d 3d29 0a0a 7b2d 2320 494e 4 = (==)..{-# IN │ │ │ -00046d80: 4c49 4e45 206c 7436 3420 232d 7d0a 6c74 LINE lt64 #-}.lt │ │ │ -00046d90: 3634 203a 3a20 576f 7264 3634 202d 3e20 64 :: Word64 -> │ │ │ -00046da0: 576f 7264 3634 202d 3e20 426f 6f6c 0a6c Word64 -> Bool.l │ │ │ -00046db0: 7436 3420 3d20 283c 290a 0a2d 2d20 5375 t64 = (<)..-- Su │ │ │ -00046dc0: 7070 6f72 7420 666f 7220 6d75 7369 6361 pport for musica │ │ │ -00046dd0: 6c20 636f 696e 6475 6374 696f 6e2e 0a0a l coinduction... │ │ │ -00046de0: 6461 7461 2049 6e66 2020 2020 2020 2020 data Inf │ │ │ -00046df0: 2020 2020 2020 2020 2020 2020 2020 6120 a │ │ │ -00046e00: 3d20 5368 6172 7020 7b20 666c 6174 203a = Sharp { flat : │ │ │ -00046e10: 3a20 6120 7d0a 7479 7065 2049 6e66 696e : a }.type Infin │ │ │ -00046e20: 6974 7920 286c 6576 656c 203a 3a20 5479 ity (level :: Ty │ │ │ -00046e30: 7065 2920 6120 3d20 496e 6620 610a e6f6 pe) a = Inf a... │ │ │ -00046e40: 87fd 83ae 9ece 43e5 c697 abce 8190 c170 ......C........p │ │ │ -00046e50: 00f4 0100 046e 7a05 2000 0001 0004 0408 .....nz. ....... │ │ │ -00046e60: 0307 025e 0200 0003 0f00 0505 050b 5f0b ...^.........._. │ │ │ -00046e70: fc01 0b61 0906 0100 c011 c5d8 8e8f ced8 ...a............ │ │ │ -00046e80: b4fa 5081 b897 8ba4 dbb9 f9a9 0100 fc01 ..P............. │ │ │ -00046e90: 0004 776c 0582 8080 e608 0000 0100 0304 ..wl............ │ │ │ -00046ea0: 0704 0200 0003 0f00 0901 c011 7b2d 2320 ............{-# │ │ │ -00046eb0: 4f50 5449 4f4e 5320 2d2d 6572 6173 6564 OPTIONS --erased │ │ │ -00046ec0: 2d63 7562 6963 616c 2023 2d7d 0a0a 6d6f -cubical #-}..mo │ │ │ -00046ed0: 6475 6c65 2041 6764 612e 5072 696d 6974 dule Agda.Primit │ │ │ -00046ee0: 6976 652e 4375 6269 6361 6c20 7768 6572 ive.Cubical wher │ │ │ -00046ef0: 650a 0a7b 2d23 2042 5549 4c54 494e 2043 e..{-# BUILTIN C │ │ │ -00046f00: 5542 4549 4e54 4552 5641 4c55 4e49 5620 UBEINTERVALUNIV │ │ │ -00046f10: 4955 6e69 7620 232d 7d20 202d 2d20 4955 IUniv #-} -- IU │ │ │ -00046f20: 6e69 7620 3a20 5353 6574 e282 810a 7b2d niv : SSet....{- │ │ │ -00046f30: 2320 4255 494c 5449 4e20 494e 5445 5256 # BUILTIN INTERV │ │ │ -00046f40: 414c 2049 2020 232d 7d20 202d 2d20 4920 AL I #-} -- I │ │ │ -00046f50: 3a20 4955 6e69 760a 0a7b 2d23 2042 5549 : IUniv..{-# BUI │ │ │ -00046f60: 4c54 494e 2049 5a45 524f 2020 2020 6930 LTIN IZERO i0 │ │ │ -00046f70: 2023 2d7d 0a7b 2d23 2042 5549 4c54 494e #-}.{-# BUILTIN │ │ │ -00046f80: 2049 4f4e 4520 2020 2020 6931 2023 2d7d IONE i1 #-} │ │ │ -00046f90: 0a0a 2d2d 2049 2069 7320 7472 6561 7465 ..-- I is treate │ │ │ -00046fa0: 6420 6173 2074 6865 2074 7970 6520 6f66 d as the type of │ │ │ -00046fb0: 2062 6f6f 6c65 616e 732e 0a7b 2d23 2043 booleans..{-# C │ │ │ -00046fc0: 4f4d 5049 4c45 204a 5320 6930 203d 2066 OMPILE JS i0 = f │ │ │ -00046fd0: 616c 7365 2023 2d7d 0a7b 2d23 2043 4f4d alse #-}.{-# COM │ │ │ -00046fe0: 5049 4c45 204a 5320 6931 203d 2074 7275 PILE JS i1 = tru │ │ │ -00046ff0: 6520 2023 2d7d 0a0a 696e 6669 7820 2033 e #-}..infix 3 │ │ │ -00047000: 3020 7072 696d 494e 6567 0a69 6e66 6978 0 primINeg.infix │ │ │ -00047010: 7220 3230 2070 7269 6d49 4d69 6e20 7072 r 20 primIMin pr │ │ │ -00047020: 696d 494d 6178 0a0a 7072 696d 6974 6976 imIMax..primitiv │ │ │ -00047030: 650a 2020 2020 7072 696d 494d 696e 203a e. primIMin : │ │ │ -00047040: 2049 20e2 8692 2049 20e2 8692 2049 0a20 I ... I ... I. │ │ │ -00047050: 2020 2070 7269 6d49 4d61 7820 3a20 4920 primIMax : I │ │ │ -00047060: e286 9220 4920 e286 9220 490a 2020 2020 ... I ... I. │ │ │ -00047070: 7072 696d 494e 6567 203a 2049 20e2 8692 primINeg : I ... │ │ │ -00047080: 2049 0a0a 7b2d 2320 4255 494c 5449 4e20 I..{-# BUILTIN │ │ │ -00047090: 4953 4f4e 4520 2020 2049 734f 6e65 2020 ISONE IsOne │ │ │ -000470a0: 2020 232d 7d20 202d 2d20 4973 4f6e 6520 #-} -- IsOne │ │ │ -000470b0: 3a20 4920 e286 9220 5365 74cf 890a 0a70 : I ... Set....p │ │ │ -000470c0: 6f73 7475 6c61 7465 0a20 2069 7449 734f ostulate. itIsO │ │ │ -000470d0: 6e65 203a 2049 734f 6e65 2069 310a 2020 ne : IsOne i1. │ │ │ -000470e0: 4973 4f6e 6531 2020 3a20 e288 8020 6920 IsOne1 : ... i │ │ │ -000470f0: 6a20 e286 9220 4973 4f6e 6520 6920 e286 j ... IsOne i .. │ │ │ -00047100: 9220 4973 4f6e 6520 2870 7269 6d49 4d61 . IsOne (primIMa │ │ │ -00047110: 7820 6920 6a29 0a20 2049 734f 6e65 3220 x i j). IsOne2 │ │ │ -00047120: 203a 20e2 8880 2069 206a 20e2 8692 2049 : ... i j ... I │ │ │ -00047130: 734f 6e65 206a 20e2 8692 2049 734f 6e65 sOne j ... IsOne │ │ │ -00047140: 2028 7072 696d 494d 6178 2069 206a 290a (primIMax i j). │ │ │ -00047150: 0a7b 2d23 2042 5549 4c54 494e 2049 5449 .{-# BUILTIN ITI │ │ │ -00047160: 534f 4e45 2020 6974 4973 4f6e 6520 2023 SONE itIsOne # │ │ │ -00047170: 2d7d 0a7b 2d23 2042 5549 4c54 494e 2049 -}.{-# BUILTIN I │ │ │ -00047180: 534f 4e45 3120 2020 4973 4f6e 6531 2020 SONE1 IsOne1 │ │ │ -00047190: 2023 2d7d 0a7b 2d23 2042 5549 4c54 494e #-}.{-# BUILTIN │ │ │ -000471a0: 2049 534f 4e45 3220 2020 4973 4f6e 6532 ISONE2 IsOne2 │ │ │ -000471b0: 2020 2023 2d7d 0a0a 2d2d 2049 734f 6e65 #-}..-- IsOne │ │ │ -000471c0: c2a0 6920 6973 2074 7265 6174 6564 2061 ..i is treated a │ │ │ -000471d0: 7320 7468 6520 756e 6974 2074 7970 652e s the unit type. │ │ │ -000471e0: 0a7b 2d23 2043 4f4d 5049 4c45 204a 5320 .{-# COMPILE JS │ │ │ -000471f0: 6974 4973 4f6e 6520 3d20 7b20 2274 7422 itIsOne = { "tt" │ │ │ -00047200: 203a 2061 203d 3e20 615b 2274 7422 5d28 : a => a["tt"]( │ │ │ -00047210: 2920 7d20 232d 7d0a 7b2d 2320 434f 4d50 ) } #-}.{-# COMP │ │ │ -00047220: 494c 4520 4a53 2049 734f 6e65 3120 3d0a ILE JS IsOne1 =. │ │ │ -00047230: 2020 5f20 3d3e 205f 203d 3e20 5f20 3d3e _ => _ => _ => │ │ │ -00047240: 207b 2072 6574 7572 6e20 7b20 2274 7422 { return { "tt" │ │ │ -00047250: 203a 2061 203d 3e20 615b 2274 7422 5d28 : a => a["tt"]( │ │ │ -00047260: 2920 7d20 7d0a 2020 232d 7d0a 7b2d 2320 ) } }. #-}.{-# │ │ │ -00047270: 434f 4d50 494c 4520 4a53 2049 734f 6e65 COMPILE JS IsOne │ │ │ -00047280: 3220 3d0a 2020 5f20 3d3e 205f 203d 3e20 2 =. _ => _ => │ │ │ -00047290: 5f20 3d3e 207b 2072 6574 7572 6e20 7b20 _ => { return { │ │ │ -000472a0: 2274 7422 203a 2061 203d 3e20 615b 2274 "tt" : a => a["t │ │ │ -000472b0: 7422 5d28 2920 7d20 7d0a 2020 232d 7d0a t"]() } }. #-}. │ │ │ -000472c0: 0a2d 2d20 5061 7274 6961 6c20 3a20 e288 .-- Partial : .. │ │ │ -000472d0: 807b e284 937d 2028 6920 3a20 4929 2028 .{...} (i : I) ( │ │ │ -000472e0: 4120 3a20 5365 7420 e284 9329 20e2 8692 A : Set ...) ... │ │ │ -000472f0: 2053 6574 20e2 8493 0a2d 2d20 5061 7274 Set ....-- Part │ │ │ -00047300: 6961 6c20 6920 4120 3d20 4973 4f6e 6520 ial i A = IsOne │ │ │ -00047310: 6920 e286 9220 410a 0a7b 2d23 2042 5549 i ... A..{-# BUI │ │ │ -00047320: 4c54 494e 2050 4152 5449 414c 2020 5061 LTIN PARTIAL Pa │ │ │ -00047330: 7274 6961 6c20 2023 2d7d 0a7b 2d23 2042 rtial #-}.{-# B │ │ │ -00047340: 5549 4c54 494e 2050 4152 5449 414c 5020 UILTIN PARTIALP │ │ │ -00047350: 5061 7274 6961 6c50 2023 2d7d 0a0a 706f PartialP #-}..po │ │ │ -00047360: 7374 756c 6174 650a 2020 6973 4f6e 6545 stulate. isOneE │ │ │ -00047370: 6d70 7479 203a 20e2 8880 207b e284 937d mpty : ... {...} │ │ │ -00047380: 207b 4120 3a20 5061 7274 6961 6c20 6930 {A : Partial i0 │ │ │ -00047390: 2028 5365 7420 e284 9329 7d20 e286 9220 (Set ...)} ... │ │ │ -000473a0: 5061 7274 6961 6c50 2069 3020 410a 0a7b PartialP i0 A..{ │ │ │ -000473b0: 2d23 2042 5549 4c54 494e 2049 534f 4e45 -# BUILTIN ISONE │ │ │ -000473c0: 454d 5054 5920 6973 4f6e 6545 6d70 7479 EMPTY isOneEmpty │ │ │ -000473d0: 2023 2d7d 0a0a 2d2d 2050 6172 7469 616c #-}..-- Partial │ │ │ -000473e0: c2a0 69c2 a041 2061 6e64 2050 6172 7469 ..i..A and Parti │ │ │ -000473f0: 616c 50c2 a069 c2a0 4120 6172 6520 7472 alP..i..A are tr │ │ │ -00047400: 6561 7465 6420 6173 2049 734f 6e65 c2a0 eated as IsOne.. │ │ │ -00047410: 69c2 a0e2 8692 c2a0 412e 0a7b 2d23 2043 i.......A..{-# C │ │ │ -00047420: 4f4d 5049 4c45 204a 5320 6973 4f6e 6545 OMPILE JS isOneE │ │ │ -00047430: 6d70 7479 203d 0a20 205f 203d 3e20 7820 mpty =. _ => x │ │ │ -00047440: 3d3e 205f 203d 3e20 7828 7b20 2274 7422 => _ => x({ "tt" │ │ │ -00047450: 203a 2061 203d 3e20 615b 2274 7422 5d28 : a => a["tt"]( │ │ │ -00047460: 2920 7d29 0a20 2023 2d7d 0a0a 7072 696d ) }). #-}..prim │ │ │ -00047470: 6974 6976 650a 2020 7072 696d 504f 7220 itive. primPOr │ │ │ -00047480: 3a20 e288 8020 7be2 8493 7d20 2869 206a : ... {...} (i j │ │ │ -00047490: 203a 2049 2920 7b41 203a 2050 6172 7469 : I) {A : Parti │ │ │ -000474a0: 616c 2028 7072 696d 494d 6178 2069 206a al (primIMax i j │ │ │ -000474b0: 2920 2853 6574 20e2 8493 297d 0a20 2020 ) (Set ...)}. │ │ │ -000474c0: 2020 2020 2020 2020 20e2 8692 2028 7520 ... (u │ │ │ -000474d0: 3a20 5061 7274 6961 6c50 2069 2028 cebb : PartialP i (.. │ │ │ -000474e0: 207a 20e2 8692 2041 2028 4973 4f6e 6531 z ... A (IsOne1 │ │ │ -000474f0: 2069 206a 207a 2929 290a 2020 2020 2020 i j z))). │ │ │ -00047500: 2020 2020 2020 e286 9220 2876 203a 2050 ... (v : P │ │ │ -00047510: 6172 7469 616c 5020 6a20 28ce bb20 7a20 artialP j (.. z │ │ │ -00047520: e286 9220 4120 2849 734f 6e65 3220 6920 ... A (IsOne2 i │ │ │ -00047530: 6a20 7a29 2929 0a20 2020 2020 2020 2020 j z))). │ │ │ -00047540: 2020 20e2 8692 2050 6172 7469 616c 5020 ... PartialP │ │ │ -00047550: 2870 7269 6d49 4d61 7820 6920 6a29 2041 (primIMax i j) A │ │ │ -00047560: 0a0a 2020 2d2d 2043 6f6d 7075 7465 7320 .. -- Computes │ │ │ -00047570: 696e 2074 6572 6d73 206f 6620 7072 696d in terms of prim │ │ │ -00047580: 4843 6f6d 7020 616e 6420 7072 696d 5472 HComp and primTr │ │ │ -00047590: 616e 7370 0a20 2070 7269 6d43 6f6d 7020 ansp. primComp │ │ │ -000475a0: 3a20 e288 8020 7be2 8493 7d20 2841 203a : ... {...} (A : │ │ │ -000475b0: 2028 6920 3a20 4929 20e2 8692 2053 6574 (i : I) ... Set │ │ │ -000475c0: 2028 e284 9320 6929 2920 7bcf 8620 3a20 (... i)) {.. : │ │ │ -000475d0: 497d 2028 7520 3a20 e288 8020 6920 e286 I} (u : ... i .. │ │ │ -000475e0: 9220 5061 7274 6961 6c20 cf86 2028 4120 . Partial .. (A │ │ │ -000475f0: 6929 2920 2861 203a 2041 2069 3029 20e2 i)) (a : A i0) . │ │ │ -00047600: 8692 2041 2069 310a 0a73 796e 7461 7820 .. A i1..syntax │ │ │ -00047610: 7072 696d 504f 7220 7020 7120 7520 7420 primPOr p q u t │ │ │ -00047620: 3d20 5b20 7020 e286 a620 7520 2c20 7120 = [ p ... u , q │ │ │ -00047630: e286 a620 7420 5d0a 0a70 7269 6d69 7469 ... t ]..primiti │ │ │ -00047640: 7665 0a20 2070 7269 6d54 7261 6e73 7020 ve. primTransp │ │ │ -00047650: 3a20 e288 8020 7be2 8493 7d20 2841 203a : ... {...} (A : │ │ │ -00047660: 2028 6920 3a20 4929 20e2 8692 2053 6574 (i : I) ... Set │ │ │ -00047670: 2028 e284 9320 6929 2920 28cf 8620 3a20 (... i)) (.. : │ │ │ -00047680: 4929 2028 6120 3a20 4120 6930 2920 e286 I) (a : A i0) .. │ │ │ -00047690: 9220 4120 6931 0a20 2070 7269 6d48 436f . A i1. primHCo │ │ │ -000476a0: 6d70 2020 3a20 e288 8020 7be2 8493 7d20 mp : ... {...} │ │ │ -000476b0: 7b41 203a 2053 6574 20e2 8493 7d20 7bcf {A : Set ...} {. │ │ │ -000476c0: 8620 3a20 497d 2028 7520 3a20 e288 8020 . : I} (u : ... │ │ │ -000476d0: 6920 e286 9220 5061 7274 6961 6c20 cf86 i ... Partial .. │ │ │ -000476e0: 2041 2920 2861 203a 2041 2920 e286 9220 A) (a : A) ... │ │ │ -000476f0: 410a 0a0a 706f 7374 756c 6174 650a 2020 A...postulate. │ │ │ -00047700: 5061 7468 5020 3a20 e288 8020 7be2 8493 PathP : ... {... │ │ │ -00047710: 7d20 2841 203a 2049 20e2 8692 2053 6574 } (A : I ... Set │ │ │ -00047720: 20e2 8493 2920 e286 9220 4120 6930 20e2 ...) ... A i0 . │ │ │ -00047730: 8692 2041 2069 3120 e286 9220 5365 7420 .. A i1 ... Set │ │ │ -00047740: e284 930a 0a7b 2d23 2042 5549 4c54 494e .....{-# BUILTIN │ │ │ -00047750: 2050 4154 4850 2020 2020 2020 2020 5061 PATHP Pa │ │ │ -00047760: 7468 5020 2020 2020 232d 7d0a f7d2 89fd thP #-}..... │ │ │ -00047770: d6a3 82c3 8a01 bff0 8fee bf90 b699 2c00 ..............,. │ │ │ -00047780: f201 0004 77a9 0520 0000 0100 0404 0803 ....w.. ........ │ │ │ -00047790: 0702 5e02 0000 030f 0005 0505 0b5f 0bfd ..^.........._.. │ │ │ -000477a0: 010b 6109 0601 00d8 08c0 e1f3 b3a0 c3dd ..a............. │ │ │ -000477b0: ab21 f78c fbdc 99b3 a9b0 6400 fd01 0004 .!........d..... │ │ │ -000477c0: 7c32 0582 8080 e608 0000 0100 0304 0704 |2.............. │ │ │ -000477d0: 0200 0003 0f00 0901 d808 2d2d 2054 6865 ..........-- The │ │ │ -000477e0: 2041 6764 6120 7072 696d 6974 6976 6573 Agda primitives │ │ │ -000477f0: 2028 7072 656c 6f61 6465 6429 2e0a 0a7b (preloaded)...{ │ │ │ -00047800: 2d23 204f 5054 494f 4e53 202d 2d63 7562 -# OPTIONS --cub │ │ │ -00047810: 6963 616c 2d63 6f6d 7061 7469 626c 6520 ical-compatible │ │ │ -00047820: 2d2d 6e6f 2d69 6d70 6f72 742d 736f 7274 --no-import-sort │ │ │ -00047830: 7320 2d2d 6c65 7665 6c2d 756e 6976 6572 s --level-univer │ │ │ -00047840: 7365 2023 2d7d 0a0a 6d6f 6475 6c65 2041 se #-}..module A │ │ │ -00047850: 6764 612e 5072 696d 6974 6976 6520 7768 gda.Primitive wh │ │ │ -00047860: 6572 650a 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d ere..----------- │ │ │ +00046af0: 2020 2020 3d20 630a 2020 7768 6572 6520 = c. where │ │ │ +00046b00: 6320 3d20 746f 456e 756d 2024 2066 726f c = toEnum $ fro │ │ │ +00046b10: 6d49 6e74 6567 7261 6c20 2420 6d6f 6420 mIntegral $ mod │ │ │ +00046b20: 6e20 3078 3131 3030 3030 0a0a 2d2d 2057 n 0x110000..-- W │ │ │ +00046b30: 6f72 6473 202d 2d0a 0a74 7970 6520 576f ords --..type Wo │ │ │ +00046b40: 7264 3634 203d 2044 6174 612e 576f 7264 rd64 = Data.Word │ │ │ +00046b50: 2e57 6f72 6436 340a 0a77 6f72 6436 3454 .Word64..word64T │ │ │ +00046b60: 6f4e 6174 203a 3a20 576f 7264 3634 202d oNat :: Word64 - │ │ │ +00046b70: 3e20 496e 7465 6765 720a 776f 7264 3634 > Integer.word64 │ │ │ +00046b80: 546f 4e61 7420 3d20 6672 6f6d 496e 7465 ToNat = fromInte │ │ │ +00046b90: 6772 616c 0a0a 776f 7264 3634 4672 6f6d gral..word64From │ │ │ +00046ba0: 4e61 7420 3a3a 2049 6e74 6567 6572 202d Nat :: Integer - │ │ │ +00046bb0: 3e20 576f 7264 3634 0a77 6f72 6436 3446 > Word64.word64F │ │ │ +00046bc0: 726f 6d4e 6174 203d 2066 726f 6d49 6e74 romNat = fromInt │ │ │ +00046bd0: 6567 7261 6c0a 0a7b 2d23 2049 4e4c 494e egral..{-# INLIN │ │ │ +00046be0: 4520 6164 6436 3420 232d 7d0a 6164 6436 E add64 #-}.add6 │ │ │ +00046bf0: 3420 3a3a 2057 6f72 6436 3420 2d3e 2057 4 :: Word64 -> W │ │ │ +00046c00: 6f72 6436 3420 2d3e 2057 6f72 6436 340a ord64 -> Word64. │ │ │ +00046c10: 6164 6436 3420 3d20 282b 290a 0a7b 2d23 add64 = (+)..{-# │ │ │ +00046c20: 2049 4e4c 494e 4520 7375 6236 3420 232d INLINE sub64 #- │ │ │ +00046c30: 7d0a 7375 6236 3420 3a3a 2057 6f72 6436 }.sub64 :: Word6 │ │ │ +00046c40: 3420 2d3e 2057 6f72 6436 3420 2d3e 2057 4 -> Word64 -> W │ │ │ +00046c50: 6f72 6436 340a 7375 6236 3420 3d20 282d ord64.sub64 = (- │ │ │ +00046c60: 290a 0a7b 2d23 2049 4e4c 494e 4520 6d75 )..{-# INLINE mu │ │ │ +00046c70: 6c36 3420 232d 7d0a 6d75 6c36 3420 3a3a l64 #-}.mul64 :: │ │ │ +00046c80: 2057 6f72 6436 3420 2d3e 2057 6f72 6436 Word64 -> Word6 │ │ │ +00046c90: 3420 2d3e 2057 6f72 6436 340a 6d75 6c36 4 -> Word64.mul6 │ │ │ +00046ca0: 3420 3d20 282a 290a 0a7b 2d23 2049 4e4c 4 = (*)..{-# INL │ │ │ +00046cb0: 494e 4520 7175 6f74 3634 2023 2d7d 0a71 INE quot64 #-}.q │ │ │ +00046cc0: 756f 7436 3420 3a3a 2057 6f72 6436 3420 uot64 :: Word64 │ │ │ +00046cd0: 2d3e 2057 6f72 6436 3420 2d3e 2057 6f72 -> Word64 -> Wor │ │ │ +00046ce0: 6436 340a 7175 6f74 3634 203d 2071 756f d64.quot64 = quo │ │ │ +00046cf0: 740a 0a7b 2d23 2049 4e4c 494e 4520 7265 t..{-# INLINE re │ │ │ +00046d00: 6d36 3420 232d 7d0a 7265 6d36 3420 3a3a m64 #-}.rem64 :: │ │ │ +00046d10: 2057 6f72 6436 3420 2d3e 2057 6f72 6436 Word64 -> Word6 │ │ │ +00046d20: 3420 2d3e 2057 6f72 6436 340a 7265 6d36 4 -> Word64.rem6 │ │ │ +00046d30: 3420 3d20 7265 6d0a 0a7b 2d23 2049 4e4c 4 = rem..{-# INL │ │ │ +00046d40: 494e 4520 6571 3634 2023 2d7d 0a65 7136 INE eq64 #-}.eq6 │ │ │ +00046d50: 3420 3a3a 2057 6f72 6436 3420 2d3e 2057 4 :: Word64 -> W │ │ │ +00046d60: 6f72 6436 3420 2d3e 2042 6f6f 6c0a 6571 ord64 -> Bool.eq │ │ │ +00046d70: 3634 203d 2028 3d3d 290a 0a7b 2d23 2049 64 = (==)..{-# I │ │ │ +00046d80: 4e4c 494e 4520 6c74 3634 2023 2d7d 0a6c NLINE lt64 #-}.l │ │ │ +00046d90: 7436 3420 3a3a 2057 6f72 6436 3420 2d3e t64 :: Word64 -> │ │ │ +00046da0: 2057 6f72 6436 3420 2d3e 2042 6f6f 6c0a Word64 -> Bool. │ │ │ +00046db0: 6c74 3634 203d 2028 3c29 0a0a 2d2d 2053 lt64 = (<)..-- S │ │ │ +00046dc0: 7570 706f 7274 2066 6f72 206d 7573 6963 upport for music │ │ │ +00046dd0: 616c 2063 6f69 6e64 7563 7469 6f6e 2e0a al coinduction.. │ │ │ +00046de0: 0a64 6174 6120 496e 6620 2020 2020 2020 .data Inf │ │ │ +00046df0: 2020 2020 2020 2020 2020 2020 2020 2061 a │ │ │ +00046e00: 203d 2053 6861 7270 207b 2066 6c61 7420 = Sharp { flat │ │ │ +00046e10: 3a3a 2061 207d 0a74 7970 6520 496e 6669 :: a }.type Infi │ │ │ +00046e20: 6e69 7479 2028 6c65 7665 6c20 3a3a 2054 nity (level :: T │ │ │ +00046e30: 7970 6529 2061 203d 2049 6e66 2061 0ae6 ype) a = Inf a.. │ │ │ +00046e40: f687 fd83 ae9e ce43 e5c6 97ab ce81 90c1 .......C........ │ │ │ +00046e50: 7000 f401 0004 6e7b 0520 0000 0100 0404 p.....n{. ...... │ │ │ +00046e60: 0803 0702 5e02 0000 030f 0005 0505 0b5f ....^.........._ │ │ │ +00046e70: 0bfc 010b 6109 0601 00c0 11c5 d88e 8fce ....a........... │ │ │ +00046e80: d8b4 fa50 81b8 978b a4db b9f9 a901 00fc ...P............ │ │ │ +00046e90: 0100 0477 6d05 8280 80e6 0800 0001 0003 ...wm........... │ │ │ +00046ea0: 0407 0402 0000 030f 0009 01c0 117b 2d23 .............{-# │ │ │ +00046eb0: 204f 5054 494f 4e53 202d 2d65 7261 7365 OPTIONS --erase │ │ │ +00046ec0: 642d 6375 6269 6361 6c20 232d 7d0a 0a6d d-cubical #-}..m │ │ │ +00046ed0: 6f64 756c 6520 4167 6461 2e50 7269 6d69 odule Agda.Primi │ │ │ +00046ee0: 7469 7665 2e43 7562 6963 616c 2077 6865 tive.Cubical whe │ │ │ +00046ef0: 7265 0a0a 7b2d 2320 4255 494c 5449 4e20 re..{-# BUILTIN │ │ │ +00046f00: 4355 4245 494e 5445 5256 414c 554e 4956 CUBEINTERVALUNIV │ │ │ +00046f10: 2049 556e 6976 2023 2d7d 2020 2d2d 2049 IUniv #-} -- I │ │ │ +00046f20: 556e 6976 203a 2053 5365 74e2 8281 0a7b Univ : SSet....{ │ │ │ +00046f30: 2d23 2042 5549 4c54 494e 2049 4e54 4552 -# BUILTIN INTER │ │ │ +00046f40: 5641 4c20 4920 2023 2d7d 2020 2d2d 2049 VAL I #-} -- I │ │ │ +00046f50: 203a 2049 556e 6976 0a0a 7b2d 2320 4255 : IUniv..{-# BU │ │ │ +00046f60: 494c 5449 4e20 495a 4552 4f20 2020 2069 ILTIN IZERO i │ │ │ +00046f70: 3020 232d 7d0a 7b2d 2320 4255 494c 5449 0 #-}.{-# BUILTI │ │ │ +00046f80: 4e20 494f 4e45 2020 2020 2069 3120 232d N IONE i1 #- │ │ │ +00046f90: 7d0a 0a2d 2d20 4920 6973 2074 7265 6174 }..-- I is treat │ │ │ +00046fa0: 6564 2061 7320 7468 6520 7479 7065 206f ed as the type o │ │ │ +00046fb0: 6620 626f 6f6c 6561 6e73 2e0a 7b2d 2320 f booleans..{-# │ │ │ +00046fc0: 434f 4d50 494c 4520 4a53 2069 3020 3d20 COMPILE JS i0 = │ │ │ +00046fd0: 6661 6c73 6520 232d 7d0a 7b2d 2320 434f false #-}.{-# CO │ │ │ +00046fe0: 4d50 494c 4520 4a53 2069 3120 3d20 7472 MPILE JS i1 = tr │ │ │ +00046ff0: 7565 2020 232d 7d0a 0a69 6e66 6978 2020 ue #-}..infix │ │ │ +00047000: 3330 2070 7269 6d49 4e65 670a 696e 6669 30 primINeg.infi │ │ │ +00047010: 7872 2032 3020 7072 696d 494d 696e 2070 xr 20 primIMin p │ │ │ +00047020: 7269 6d49 4d61 780a 0a70 7269 6d69 7469 rimIMax..primiti │ │ │ +00047030: 7665 0a20 2020 2070 7269 6d49 4d69 6e20 ve. primIMin │ │ │ +00047040: 3a20 4920 e286 9220 4920 e286 9220 490a : I ... I ... I. │ │ │ +00047050: 2020 2020 7072 696d 494d 6178 203a 2049 primIMax : I │ │ │ +00047060: 20e2 8692 2049 20e2 8692 2049 0a20 2020 ... I ... I. │ │ │ +00047070: 2070 7269 6d49 4e65 6720 3a20 4920 e286 primINeg : I .. │ │ │ +00047080: 9220 490a 0a7b 2d23 2042 5549 4c54 494e . I..{-# BUILTIN │ │ │ +00047090: 2049 534f 4e45 2020 2020 4973 4f6e 6520 ISONE IsOne │ │ │ +000470a0: 2020 2023 2d7d 2020 2d2d 2049 734f 6e65 #-} -- IsOne │ │ │ +000470b0: 203a 2049 20e2 8692 2053 6574 cf89 0a0a : I ... Set.... │ │ │ +000470c0: 706f 7374 756c 6174 650a 2020 6974 4973 postulate. itIs │ │ │ +000470d0: 4f6e 6520 3a20 4973 4f6e 6520 6931 0a20 One : IsOne i1. │ │ │ +000470e0: 2049 734f 6e65 3120 203a 20e2 8880 2069 IsOne1 : ... i │ │ │ +000470f0: 206a 20e2 8692 2049 734f 6e65 2069 20e2 j ... IsOne i . │ │ │ +00047100: 8692 2049 734f 6e65 2028 7072 696d 494d .. IsOne (primIM │ │ │ +00047110: 6178 2069 206a 290a 2020 4973 4f6e 6532 ax i j). IsOne2 │ │ │ +00047120: 2020 3a20 e288 8020 6920 6a20 e286 9220 : ... i j ... │ │ │ +00047130: 4973 4f6e 6520 6a20 e286 9220 4973 4f6e IsOne j ... IsOn │ │ │ +00047140: 6520 2870 7269 6d49 4d61 7820 6920 6a29 e (primIMax i j) │ │ │ +00047150: 0a0a 7b2d 2320 4255 494c 5449 4e20 4954 ..{-# BUILTIN IT │ │ │ +00047160: 4953 4f4e 4520 2069 7449 734f 6e65 2020 ISONE itIsOne │ │ │ +00047170: 232d 7d0a 7b2d 2320 4255 494c 5449 4e20 #-}.{-# BUILTIN │ │ │ +00047180: 4953 4f4e 4531 2020 2049 734f 6e65 3120 ISONE1 IsOne1 │ │ │ +00047190: 2020 232d 7d0a 7b2d 2320 4255 494c 5449 #-}.{-# BUILTI │ │ │ +000471a0: 4e20 4953 4f4e 4532 2020 2049 734f 6e65 N ISONE2 IsOne │ │ │ +000471b0: 3220 2020 232d 7d0a 0a2d 2d20 4973 4f6e 2 #-}..-- IsOn │ │ │ +000471c0: 65c2 a069 2069 7320 7472 6561 7465 6420 e..i is treated │ │ │ +000471d0: 6173 2074 6865 2075 6e69 7420 7479 7065 as the unit type │ │ │ +000471e0: 2e0a 7b2d 2320 434f 4d50 494c 4520 4a53 ..{-# COMPILE JS │ │ │ +000471f0: 2069 7449 734f 6e65 203d 207b 2022 7474 itIsOne = { "tt │ │ │ +00047200: 2220 3a20 6120 3d3e 2061 5b22 7474 225d " : a => a["tt"] │ │ │ +00047210: 2829 207d 2023 2d7d 0a7b 2d23 2043 4f4d () } #-}.{-# COM │ │ │ +00047220: 5049 4c45 204a 5320 4973 4f6e 6531 203d PILE JS IsOne1 = │ │ │ +00047230: 0a20 205f 203d 3e20 5f20 3d3e 205f 203d . _ => _ => _ = │ │ │ +00047240: 3e20 7b20 7265 7475 726e 207b 2022 7474 > { return { "tt │ │ │ +00047250: 2220 3a20 6120 3d3e 2061 5b22 7474 225d " : a => a["tt"] │ │ │ +00047260: 2829 207d 207d 0a20 2023 2d7d 0a7b 2d23 () } }. #-}.{-# │ │ │ +00047270: 2043 4f4d 5049 4c45 204a 5320 4973 4f6e COMPILE JS IsOn │ │ │ +00047280: 6532 203d 0a20 205f 203d 3e20 5f20 3d3e e2 =. _ => _ => │ │ │ +00047290: 205f 203d 3e20 7b20 7265 7475 726e 207b _ => { return { │ │ │ +000472a0: 2022 7474 2220 3a20 6120 3d3e 2061 5b22 "tt" : a => a[" │ │ │ +000472b0: 7474 225d 2829 207d 207d 0a20 2023 2d7d tt"]() } }. #-} │ │ │ +000472c0: 0a0a 2d2d 2050 6172 7469 616c 203a 20e2 ..-- Partial : . │ │ │ +000472d0: 8880 7be2 8493 7d20 2869 203a 2049 2920 ..{...} (i : I) │ │ │ +000472e0: 2841 203a 2053 6574 20e2 8493 2920 e286 (A : Set ...) .. │ │ │ +000472f0: 9220 5365 7420 e284 930a 2d2d 2050 6172 . Set ....-- Par │ │ │ +00047300: 7469 616c 2069 2041 203d 2049 734f 6e65 tial i A = IsOne │ │ │ +00047310: 2069 20e2 8692 2041 0a0a 7b2d 2320 4255 i ... A..{-# BU │ │ │ +00047320: 494c 5449 4e20 5041 5254 4941 4c20 2050 ILTIN PARTIAL P │ │ │ +00047330: 6172 7469 616c 2020 232d 7d0a 7b2d 2320 artial #-}.{-# │ │ │ +00047340: 4255 494c 5449 4e20 5041 5254 4941 4c50 BUILTIN PARTIALP │ │ │ +00047350: 2050 6172 7469 616c 5020 232d 7d0a 0a70 PartialP #-}..p │ │ │ +00047360: 6f73 7475 6c61 7465 0a20 2069 734f 6e65 ostulate. isOne │ │ │ +00047370: 456d 7074 7920 3a20 e288 8020 7be2 8493 Empty : ... {... │ │ │ +00047380: 7d20 7b41 203a 2050 6172 7469 616c 2069 } {A : Partial i │ │ │ +00047390: 3020 2853 6574 20e2 8493 297d 20e2 8692 0 (Set ...)} ... │ │ │ +000473a0: 2050 6172 7469 616c 5020 6930 2041 0a0a PartialP i0 A.. │ │ │ +000473b0: 7b2d 2320 4255 494c 5449 4e20 4953 4f4e {-# BUILTIN ISON │ │ │ +000473c0: 4545 4d50 5459 2069 734f 6e65 456d 7074 EEMPTY isOneEmpt │ │ │ +000473d0: 7920 232d 7d0a 0a2d 2d20 5061 7274 6961 y #-}..-- Partia │ │ │ +000473e0: 6cc2 a069 c2a0 4120 616e 6420 5061 7274 l..i..A and Part │ │ │ +000473f0: 6961 6c50 c2a0 69c2 a041 2061 7265 2074 ialP..i..A are t │ │ │ +00047400: 7265 6174 6564 2061 7320 4973 4f6e 65c2 reated as IsOne. │ │ │ +00047410: a069 c2a0 e286 92c2 a041 2e0a 7b2d 2320 .i.......A..{-# │ │ │ +00047420: 434f 4d50 494c 4520 4a53 2069 734f 6e65 COMPILE JS isOne │ │ │ +00047430: 456d 7074 7920 3d0a 2020 5f20 3d3e 2078 Empty =. _ => x │ │ │ +00047440: 203d 3e20 5f20 3d3e 2078 287b 2022 7474 => _ => x({ "tt │ │ │ +00047450: 2220 3a20 6120 3d3e 2061 5b22 7474 225d " : a => a["tt"] │ │ │ +00047460: 2829 207d 290a 2020 232d 7d0a 0a70 7269 () }). #-}..pri │ │ │ +00047470: 6d69 7469 7665 0a20 2070 7269 6d50 4f72 mitive. primPOr │ │ │ +00047480: 203a 20e2 8880 207b e284 937d 2028 6920 : ... {...} (i │ │ │ +00047490: 6a20 3a20 4929 207b 4120 3a20 5061 7274 j : I) {A : Part │ │ │ +000474a0: 6961 6c20 2870 7269 6d49 4d61 7820 6920 ial (primIMax i │ │ │ +000474b0: 6a29 2028 5365 7420 e284 9329 7d0a 2020 j) (Set ...)}. │ │ │ +000474c0: 2020 2020 2020 2020 2020 e286 9220 2875 ... (u │ │ │ +000474d0: 203a 2050 6172 7469 616c 5020 6920 28ce : PartialP i (. │ │ │ +000474e0: bb20 7a20 e286 9220 4120 2849 734f 6e65 . z ... A (IsOne │ │ │ +000474f0: 3120 6920 6a20 7a29 2929 0a20 2020 2020 1 i j z))). │ │ │ +00047500: 2020 2020 2020 20e2 8692 2028 7620 3a20 ... (v : │ │ │ +00047510: 5061 7274 6961 6c50 206a 2028 cebb 207a PartialP j (.. z │ │ │ +00047520: 20e2 8692 2041 2028 4973 4f6e 6532 2069 ... A (IsOne2 i │ │ │ +00047530: 206a 207a 2929 290a 2020 2020 2020 2020 j z))). │ │ │ +00047540: 2020 2020 e286 9220 5061 7274 6961 6c50 ... PartialP │ │ │ +00047550: 2028 7072 696d 494d 6178 2069 206a 2920 (primIMax i j) │ │ │ +00047560: 410a 0a20 202d 2d20 436f 6d70 7574 6573 A.. -- Computes │ │ │ +00047570: 2069 6e20 7465 726d 7320 6f66 2070 7269 in terms of pri │ │ │ +00047580: 6d48 436f 6d70 2061 6e64 2070 7269 6d54 mHComp and primT │ │ │ +00047590: 7261 6e73 700a 2020 7072 696d 436f 6d70 ransp. primComp │ │ │ +000475a0: 203a 20e2 8880 207b e284 937d 2028 4120 : ... {...} (A │ │ │ +000475b0: 3a20 2869 203a 2049 2920 e286 9220 5365 : (i : I) ... Se │ │ │ +000475c0: 7420 28e2 8493 2069 2929 207b cf86 203a t (... i)) {.. : │ │ │ +000475d0: 2049 7d20 2875 203a 20e2 8880 2069 20e2 I} (u : ... i . │ │ │ +000475e0: 8692 2050 6172 7469 616c 20cf 8620 2841 .. Partial .. (A │ │ │ +000475f0: 2069 2929 2028 6120 3a20 4120 6930 2920 i)) (a : A i0) │ │ │ +00047600: e286 9220 4120 6931 0a0a 7379 6e74 6178 ... A i1..syntax │ │ │ +00047610: 2070 7269 6d50 4f72 2070 2071 2075 2074 primPOr p q u t │ │ │ +00047620: 203d 205b 2070 20e2 86a6 2075 202c 2071 = [ p ... u , q │ │ │ +00047630: 20e2 86a6 2074 205d 0a0a 7072 696d 6974 ... t ]..primit │ │ │ +00047640: 6976 650a 2020 7072 696d 5472 616e 7370 ive. primTransp │ │ │ +00047650: 203a 20e2 8880 207b e284 937d 2028 4120 : ... {...} (A │ │ │ +00047660: 3a20 2869 203a 2049 2920 e286 9220 5365 : (i : I) ... Se │ │ │ +00047670: 7420 28e2 8493 2069 2929 2028 cf86 203a t (... i)) (.. : │ │ │ +00047680: 2049 2920 2861 203a 2041 2069 3029 20e2 I) (a : A i0) . │ │ │ +00047690: 8692 2041 2069 310a 2020 7072 696d 4843 .. A i1. primHC │ │ │ +000476a0: 6f6d 7020 203a 20e2 8880 207b e284 937d omp : ... {...} │ │ │ +000476b0: 207b 4120 3a20 5365 7420 e284 937d 207b {A : Set ...} { │ │ │ +000476c0: cf86 203a 2049 7d20 2875 203a 20e2 8880 .. : I} (u : ... │ │ │ +000476d0: 2069 20e2 8692 2050 6172 7469 616c 20cf i ... Partial . │ │ │ +000476e0: 8620 4129 2028 6120 3a20 4129 20e2 8692 . A) (a : A) ... │ │ │ +000476f0: 2041 0a0a 0a70 6f73 7475 6c61 7465 0a20 A...postulate. │ │ │ +00047700: 2050 6174 6850 203a 20e2 8880 207b e284 PathP : ... {.. │ │ │ +00047710: 937d 2028 4120 3a20 4920 e286 9220 5365 .} (A : I ... Se │ │ │ +00047720: 7420 e284 9329 20e2 8692 2041 2069 3020 t ...) ... A i0 │ │ │ +00047730: e286 9220 4120 6931 20e2 8692 2053 6574 ... A i1 ... Set │ │ │ +00047740: 20e2 8493 0a0a 7b2d 2320 4255 494c 5449 .....{-# BUILTI │ │ │ +00047750: 4e20 5041 5448 5020 2020 2020 2020 2050 N PATHP P │ │ │ +00047760: 6174 6850 2020 2020 2023 2d7d 0af7 d289 athP #-}.... │ │ │ +00047770: fdd6 a382 c38a 01bf f08f eebf 90b6 992c ..............., │ │ │ +00047780: 00f2 0100 0477 aa05 2000 0001 0004 0408 .....w.. ....... │ │ │ +00047790: 0307 025e 0200 0003 0f00 0505 050b 5f0b ...^.........._. │ │ │ +000477a0: fd01 0b61 0906 0100 d808 c0e1 f3b3 a0c3 ...a............ │ │ │ +000477b0: ddab 21f7 8cfb dc99 b3a9 b064 00fd 0100 ..!........d.... │ │ │ +000477c0: 047c 3305 8280 80e6 0800 0001 0003 0407 .|3............. │ │ │ +000477d0: 0402 0000 030f 0009 01d8 082d 2d20 5468 ...........-- Th │ │ │ +000477e0: 6520 4167 6461 2070 7269 6d69 7469 7665 e Agda primitive │ │ │ +000477f0: 7320 2870 7265 6c6f 6164 6564 292e 0a0a s (preloaded)... │ │ │ +00047800: 7b2d 2320 4f50 5449 4f4e 5320 2d2d 6375 {-# OPTIONS --cu │ │ │ +00047810: 6269 6361 6c2d 636f 6d70 6174 6962 6c65 bical-compatible │ │ │ +00047820: 202d 2d6e 6f2d 696d 706f 7274 2d73 6f72 --no-import-sor │ │ │ +00047830: 7473 202d 2d6c 6576 656c 2d75 6e69 7665 ts --level-unive │ │ │ +00047840: 7273 6520 232d 7d0a 0a6d 6f64 756c 6520 rse #-}..module │ │ │ +00047850: 4167 6461 2e50 7269 6d69 7469 7665 2077 Agda.Primitive w │ │ │ +00047860: 6865 7265 0a0a 2d2d 2d2d 2d2d 2d2d 2d2d here..---------- │ │ │ 00047870: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 00047880: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 00047890: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ -000478a0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 2d2d -------------.-- │ │ │ -000478b0: 2055 6e69 7665 7273 6520 6c65 7665 6c73 Universe levels │ │ │ -000478c0: 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d .--------------- │ │ │ +000478a0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a2d --------------.- │ │ │ +000478b0: 2d20 556e 6976 6572 7365 206c 6576 656c - Universe level │ │ │ +000478c0: 730a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d s.-------------- │ │ │ 000478d0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 000478e0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 000478f0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ -00047900: 2d2d 2d2d 2d2d 2d2d 2d0a 0a69 6e66 6978 ---------..infix │ │ │ -00047910: 6c20 3620 5fe2 8a94 5f0a 0a7b 2d23 2042 l 6 _..._..{-# B │ │ │ -00047920: 5549 4c54 494e 2050 524f 5020 2020 2020 UILTIN PROP │ │ │ -00047930: 2020 2020 2020 5072 6f70 2020 2020 2020 Prop │ │ │ -00047940: 232d 7d0a 7b2d 2320 4255 494c 5449 4e20 #-}.{-# BUILTIN │ │ │ -00047950: 5459 5045 2020 2020 2020 2020 2020 2053 TYPE S │ │ │ -00047960: 6574 2020 2020 2020 2023 2d7d 0a7b 2d23 et #-}.{-# │ │ │ -00047970: 2042 5549 4c54 494e 2053 5452 4943 5453 BUILTIN STRICTS │ │ │ -00047980: 4554 2020 2020 2020 5353 6574 2020 2020 ET SSet │ │ │ -00047990: 2020 232d 7d0a 0a7b 2d23 2042 5549 4c54 #-}..{-# BUILT │ │ │ -000479a0: 494e 2050 524f 504f 4d45 4741 2020 2020 IN PROPOMEGA │ │ │ -000479b0: 2020 5072 6f70 cf89 2020 2020 2023 2d7d Prop.. #-} │ │ │ -000479c0: 0a7b 2d23 2042 5549 4c54 494e 2053 4554 .{-# BUILTIN SET │ │ │ -000479d0: 4f4d 4547 4120 2020 2020 2020 5365 74cf OMEGA Set. │ │ │ -000479e0: 8920 2020 2020 2023 2d7d 0a7b 2d23 2042 . #-}.{-# B │ │ │ -000479f0: 5549 4c54 494e 2053 5452 4943 5453 4554 UILTIN STRICTSET │ │ │ -00047a00: 4f4d 4547 4120 5353 6574 cf89 2020 2020 OMEGA SSet.. │ │ │ -00047a10: 2023 2d7d 0a0a 7b2d 2320 4255 494c 5449 #-}..{-# BUILTI │ │ │ -00047a20: 4e20 4c45 5645 4c55 4e49 5620 2020 2020 N LEVELUNIV │ │ │ -00047a30: 204c 6576 656c 556e 6976 2023 2d7d 0a0a LevelUniv #-}.. │ │ │ -00047a40: 2d2d 204c 6576 656c 2069 7320 7468 6520 -- Level is the │ │ │ -00047a50: 6669 7273 7420 7468 696e 6720 7765 206e first thing we n │ │ │ -00047a60: 6565 6420 746f 2064 6566 696e 652e 0a2d eed to define..- │ │ │ -00047a70: 2d20 5468 6520 6f74 6865 7220 706f 7374 - The other post │ │ │ -00047a80: 756c 6174 6573 2063 616e 206f 6e6c 7920 ulates can only │ │ │ -00047a90: 6265 2063 6865 636b 6564 2069 6620 6275 be checked if bu │ │ │ -00047aa0: 696c 742d 696e 204c 6576 656c 2069 7320 ilt-in Level is │ │ │ -00047ab0: 6b6e 6f77 6e2e 0a0a 706f 7374 756c 6174 known...postulat │ │ │ -00047ac0: 650a 2020 4c65 7665 6c20 3a20 4c65 7665 e. Level : Leve │ │ │ -00047ad0: 6c55 6e69 760a 0a2d 2d20 4d41 6c6f 6e7a lUniv..-- MAlonz │ │ │ -00047ae0: 6f20 636f 6d70 696c 6573 204c 6576 656c o compiles Level │ │ │ -00047af0: 2074 6f20 2829 2e20 5468 6973 2073 686f to (). This sho │ │ │ -00047b00: 756c 6420 6265 2073 6166 652c 2062 6563 uld be safe, bec │ │ │ -00047b10: 6175 7365 2069 7420 6973 0a2d 2d20 6e6f ause it is.-- no │ │ │ -00047b20: 7420 706f 7373 6962 6c65 2074 6f20 7061 t possible to pa │ │ │ -00047b30: 7474 6572 6e20 6d61 7463 6820 6f6e 206c ttern match on l │ │ │ -00047b40: 6576 656c 732e 0a0a 7b2d 2320 4255 494c evels...{-# BUIL │ │ │ -00047b50: 5449 4e20 4c45 5645 4c20 4c65 7665 6c20 TIN LEVEL Level │ │ │ -00047b60: 232d 7d0a 0a70 6f73 7475 6c61 7465 0a20 #-}..postulate. │ │ │ -00047b70: 206c 7a65 726f 203a 204c 6576 656c 0a20 lzero : Level. │ │ │ -00047b80: 206c 7375 6320 203a 2028 e284 9320 3a20 lsuc : (... : │ │ │ -00047b90: 4c65 7665 6c29 20e2 8692 204c 6576 656c Level) ... Level │ │ │ -00047ba0: 0a20 205f e28a 945f 2020 203a 2028 e284 . _..._ : (.. │ │ │ -00047bb0: 93e2 8281 20e2 8493 e282 8220 3a20 4c65 .... ...... : Le │ │ │ -00047bc0: 7665 6c29 20e2 8692 204c 6576 656c 0a0a vel) ... Level.. │ │ │ -00047bd0: 7b2d 2320 4255 494c 5449 4e20 4c45 5645 {-# BUILTIN LEVE │ │ │ -00047be0: 4c5a 4552 4f20 6c7a 6572 6f20 232d 7d0a LZERO lzero #-}. │ │ │ -00047bf0: 7b2d 2320 4255 494c 5449 4e20 4c45 5645 {-# BUILTIN LEVE │ │ │ -00047c00: 4c53 5543 2020 6c73 7563 2020 232d 7d0a LSUC lsuc #-}. │ │ │ -00047c10: 7b2d 2320 4255 494c 5449 4e20 4c45 5645 {-# BUILTIN LEVE │ │ │ -00047c20: 4c4d 4158 2020 5fe2 8a94 5f20 2020 232d LMAX _..._ #- │ │ │ -00047c30: 7d0a 92a2 85c9 faf4 b089 eb01 a0cb cbaf }............... │ │ │ -00047c40: dff3 f2d5 a301 00f0 0100 047c 7005 2000 ...........|p. . │ │ │ -00047c50: 0001 0004 0408 0307 025e 0200 0003 0f00 .........^...... │ │ │ -00047c60: 0505 050b 5f0b fe01 0b61 0906 0100 b402 ...._....a...... │ │ │ -00047c70: ff81 9eed ee9f d4e7 f801 ecc4 d2c4 bbab ................ │ │ │ -00047c80: b08d bc01 00fe 0100 047d d705 8280 80e6 .........}...... │ │ │ -00047c90: 0800 0001 0003 0407 0402 0000 030f 0009 ................ │ │ │ -00047ca0: 01b4 027b 2d23 204f 5054 494f 4e53 202d ...{-# OPTIONS - │ │ │ -00047cb0: 2d63 7562 6963 616c 2d63 6f6d 7061 7469 -cubical-compati │ │ │ -00047cc0: 626c 6520 2d2d 7361 6665 202d 2d6e 6f2d ble --safe --no- │ │ │ -00047cd0: 7369 7a65 642d 7479 7065 7320 2d2d 6e6f sized-types --no │ │ │ -00047ce0: 2d67 7561 7264 6564 6e65 7373 202d 2d6c -guardedness --l │ │ │ -00047cf0: 6576 656c 2d75 6e69 7665 7273 6520 232d evel-universe #- │ │ │ -00047d00: 7d0a 0a6d 6f64 756c 6520 4167 6461 2e42 }..module Agda.B │ │ │ -00047d10: 7569 6c74 696e 2e57 6f72 642e 5072 6f70 uiltin.Word.Prop │ │ │ -00047d20: 6572 7469 6573 2077 6865 7265 0a0a 6f70 erties where..op │ │ │ -00047d30: 656e 2069 6d70 6f72 7420 4167 6461 2e42 en import Agda.B │ │ │ -00047d40: 7569 6c74 696e 2e57 6f72 640a 6f70 656e uiltin.Word.open │ │ │ -00047d50: 2069 6d70 6f72 7420 4167 6461 2e42 7569 import Agda.Bui │ │ │ -00047d60: 6c74 696e 2e45 7175 616c 6974 790a 0a70 ltin.Equality..p │ │ │ -00047d70: 7269 6d69 7469 7665 0a0a 2020 7072 696d rimitive.. prim │ │ │ -00047d80: 576f 7264 3634 546f 4e61 7449 6e6a 6563 Word64ToNatInjec │ │ │ -00047d90: 7469 7665 203a 20e2 8880 2061 2062 20e2 tive : ... a b . │ │ │ -00047da0: 8692 2070 7269 6d57 6f72 6436 3454 6f4e .. primWord64ToN │ │ │ -00047db0: 6174 2061 20e2 89a1 2070 7269 6d57 6f72 at a ... primWor │ │ │ -00047dc0: 6436 3454 6f4e 6174 2062 20e2 8692 2061 d64ToNat b ... a │ │ │ -00047dd0: 20e2 89a1 2062 0a87 bef1 c5dc fca8 b350 ... b.........P │ │ │ -00047de0: c598 a186 8ccc ab87 8d01 00ee 0100 047e ...............~ │ │ │ -00047df0: 1405 2000 0001 0004 0408 0307 025e 0200 .. ..........^.. │ │ │ -00047e00: 0003 0f00 0505 050b 5f0b ff01 0b61 0906 ........_....a.. │ │ │ -00047e10: 0100 cf02 ddf5 bbab a4e1 ecb1 af01 aaaa ................ │ │ │ -00047e20: caa8 b6d7 d996 7f00 ff01 0004 7f95 0582 ................ │ │ │ -00047e30: 8080 e608 0000 0100 0304 0704 0200 0003 ................ │ │ │ -00047e40: 0f00 0901 cf02 7b2d 2320 4f50 5449 4f4e ......{-# OPTION │ │ │ -00047e50: 5320 2d2d 6375 6269 6361 6c2d 636f 6d70 S --cubical-comp │ │ │ -00047e60: 6174 6962 6c65 202d 2d73 6166 6520 2d2d atible --safe -- │ │ │ -00047e70: 6e6f 2d75 6e69 7665 7273 652d 706f 6c79 no-universe-poly │ │ │ -00047e80: 6d6f 7270 6869 736d 0a20 2020 2020 2020 morphism. │ │ │ -00047e90: 2020 2020 202d 2d6e 6f2d 7369 7a65 642d --no-sized- │ │ │ -00047ea0: 7479 7065 7320 2d2d 6e6f 2d67 7561 7264 types --no-guard │ │ │ -00047eb0: 6564 6e65 7373 202d 2d6c 6576 656c 2d75 edness --level-u │ │ │ -00047ec0: 6e69 7665 7273 6520 232d 7d0a 0a6d 6f64 niverse #-}..mod │ │ │ -00047ed0: 756c 6520 4167 6461 2e42 7569 6c74 696e ule Agda.Builtin │ │ │ -00047ee0: 2e57 6f72 6420 7768 6572 650a 0a6f 7065 .Word where..ope │ │ │ -00047ef0: 6e20 696d 706f 7274 2041 6764 612e 4275 n import Agda.Bu │ │ │ -00047f00: 696c 7469 6e2e 4e61 740a 0a70 6f73 7475 iltin.Nat..postu │ │ │ -00047f10: 6c61 7465 2057 6f72 6436 3420 3a20 5365 late Word64 : Se │ │ │ -00047f20: 740a 7b2d 2320 4255 494c 5449 4e20 574f t.{-# BUILTIN WO │ │ │ -00047f30: 5244 3634 2057 6f72 6436 3420 232d 7d0a RD64 Word64 #-}. │ │ │ -00047f40: 0a70 7269 6d69 7469 7665 0a20 2070 7269 .primitive. pri │ │ │ -00047f50: 6d57 6f72 6436 3454 6f4e 6174 2020 203a mWord64ToNat : │ │ │ -00047f60: 2057 6f72 6436 3420 e286 9220 4e61 740a Word64 ... Nat. │ │ │ -00047f70: 2020 7072 696d 576f 7264 3634 4672 6f6d primWord64From │ │ │ -00047f80: 4e61 7420 3a20 4e61 7420 e286 9220 576f Nat : Nat ... Wo │ │ │ -00047f90: 7264 3634 0a9c b897 e1d1 c292 fd5e cbd1 rd64.........^.. │ │ │ -00047fa0: 98ec cfff bcda 5e00 fa01 0004 7fe5 05b4 ......^......... │ │ │ -00047fb0: 8080 e608 0000 0005 2000 0001 0001 0004 ........ ....... │ │ │ -00047fc0: 0408 0307 0286 8080 ec08 0200 0003 0f00 ................ │ │ │ -00047fd0: 0505 050b 8780 80ec 0801 0520 0000 010b ........... .... │ │ │ -00047fe0: 9e01 0b80 02c9 e48a d6e2 e3ff d3bc 01af ................ │ │ │ -00047ff0: d3cd dacf d6ed de52 00ec 0100 0480 2205 .......R......". │ │ │ -00048000: 2000 0001 0004 0408 0307 025e 0200 0003 ..........^.... │ │ │ -00048010: 0f00 0505 050b 5f0b 8102 0b61 0906 0100 ......_....a.... │ │ │ -00048020: 9902 a8f4 abb6 f6ff ccfd 558c bef1 c28d ..........U..... │ │ │ -00048030: e4ce ef23 0081 0200 0481 6c05 8280 80e6 ...#......l..... │ │ │ -00048040: 0800 0001 0003 0407 0402 0000 030f 0009 ................ │ │ │ -00048050: 0199 027b 2d23 204f 5054 494f 4e53 202d ...{-# OPTIONS - │ │ │ -00048060: 2d63 7562 6963 616c 2d63 6f6d 7061 7469 -cubical-compati │ │ │ -00048070: 626c 6520 2d2d 7361 6665 202d 2d6e 6f2d ble --safe --no- │ │ │ -00048080: 756e 6976 6572 7365 2d70 6f6c 796d 6f72 universe-polymor │ │ │ -00048090: 7068 6973 6d0a 2020 2020 2020 2020 2020 phism. │ │ │ -000480a0: 2020 2d2d 6e6f 2d73 697a 6564 2d74 7970 --no-sized-typ │ │ │ -000480b0: 6573 202d 2d6e 6f2d 6775 6172 6465 646e es --no-guardedn │ │ │ -000480c0: 6573 7320 2d2d 6c65 7665 6c2d 756e 6976 ess --level-univ │ │ │ -000480d0: 6572 7365 2023 2d7d 0a0a 6d6f 6475 6c65 erse #-}..module │ │ │ -000480e0: 2041 6764 612e 4275 696c 7469 6e2e 556e Agda.Builtin.Un │ │ │ -000480f0: 6974 2077 6865 7265 0a0a 7265 636f 7264 it where..record │ │ │ -00048100: 20e2 8aa4 203a 2053 6574 2077 6865 7265 ... : Set where │ │ │ -00048110: 0a20 2069 6e73 7461 6e63 6520 636f 6e73 . instance cons │ │ │ -00048120: 7472 7563 746f 7220 7474 0a0a 7b2d 2320 tructor tt..{-# │ │ │ -00048130: 4255 494c 5449 4e20 554e 4954 20e2 8aa4 BUILTIN UNIT ... │ │ │ -00048140: 2023 2d7d 0a7b 2d23 2043 4f4d 5049 4c45 #-}.{-# COMPILE │ │ │ -00048150: 2047 4843 20e2 8aa4 203d 2064 6174 6120 GHC ... = data │ │ │ -00048160: 2829 2028 2829 2920 232d 7d0a a7ab 83e4 () (()) #-}..... │ │ │ -00048170: 97a8 bfe9 46df eda0 c491 c8f4 ffc5 0100 ....F........... │ │ │ -00048180: ea01 0004 81a9 0520 0000 0100 0404 0803 ....... ........ │ │ │ -00048190: 0702 5e02 0000 030f 0005 0505 0b5f 0b82 ..^.........._.. │ │ │ -000481a0: 020b 6109 0601 00b6 03e4 a4e4 c68d c8cb ..a............. │ │ │ -000481b0: 99f5 018b b4f0 b497 848b efc1 0100 8202 ................ │ │ │ -000481c0: 0004 8392 0582 8080 e608 0000 0100 0304 ................ │ │ │ -000481d0: 0704 0200 0003 0f00 0901 b603 7b2d 2320 ............{-# │ │ │ -000481e0: 4f50 5449 4f4e 5320 2d2d 6e6f 2d73 697a OPTIONS --no-siz │ │ │ -000481f0: 6564 2d74 7970 6573 202d 2d6e 6f2d 6775 ed-types --no-gu │ │ │ -00048200: 6172 6465 646e 6573 7320 2d2d 6c65 7665 ardedness --leve │ │ │ -00048210: 6c2d 756e 6976 6572 7365 2023 2d7d 0a0a l-universe #-}.. │ │ │ -00048220: 6d6f 6475 6c65 2041 6764 612e 4275 696c module Agda.Buil │ │ │ -00048230: 7469 6e2e 5472 7573 744d 6520 7768 6572 tin.TrustMe wher │ │ │ -00048240: 650a 0a6f 7065 6e20 696d 706f 7274 2041 e..open import A │ │ │ -00048250: 6764 612e 4275 696c 7469 6e2e 4571 7561 gda.Builtin.Equa │ │ │ -00048260: 6c69 7479 0a6f 7065 6e20 696d 706f 7274 lity.open import │ │ │ -00048270: 2041 6764 612e 4275 696c 7469 6e2e 4571 Agda.Builtin.Eq │ │ │ -00048280: 7561 6c69 7479 2e45 7261 7365 0a0a 7072 uality.Erase..pr │ │ │ -00048290: 6976 6174 650a 2020 706f 7374 756c 6174 ivate. postulat │ │ │ -000482a0: 650a 2020 2020 756e 7361 6665 5072 696d e. unsafePrim │ │ │ -000482b0: 5472 7573 744d 6520 3a20 e288 8020 7b61 TrustMe : ... {a │ │ │ -000482c0: 7d20 7b41 203a 2053 6574 2061 7d20 7b78 } {A : Set a} {x │ │ │ -000482d0: 2079 203a 2041 7d20 e286 9220 7820 e289 y : A} ... x .. │ │ │ -000482e0: a120 790a 0a70 7269 6d54 7275 7374 4d65 . y..primTrustMe │ │ │ -000482f0: 203a 20e2 8880 207b 617d 207b 4120 3a20 : ... {a} {A : │ │ │ -00048300: 5365 7420 617d 207b 7820 7920 3a20 417d Set a} {x y : A} │ │ │ -00048310: 20e2 8692 2078 20e2 89a1 2079 0a70 7269 ... x ... y.pri │ │ │ -00048320: 6d54 7275 7374 4d65 203d 2070 7269 6d45 mTrustMe = primE │ │ │ -00048330: 7261 7365 4571 7561 6c69 7479 2075 6e73 raseEquality uns │ │ │ -00048340: 6166 6550 7269 6d54 7275 7374 4d65 0a0a afePrimTrustMe.. │ │ │ -00048350: 7b2d 2320 4449 5350 4c41 5920 7072 696d {-# DISPLAY prim │ │ │ -00048360: 4572 6173 6545 7175 616c 6974 7920 756e EraseEquality un │ │ │ -00048370: 7361 6665 5072 696d 5472 7573 744d 6520 safePrimTrustMe │ │ │ -00048380: 3d20 7072 696d 5472 7573 744d 6520 232d = primTrustMe #- │ │ │ -00048390: 7d0a fb86 f7c5 9bb1 d7fe 45b5 8cad a8a0 }.........E..... │ │ │ -000483a0: f7a0 8267 00e7 0100 0483 ce05 2000 0001 ...g........ ... │ │ │ -000483b0: 0004 0408 0307 025e 0200 0003 0f00 0505 .......^........ │ │ │ -000483c0: 050b 5f0b 8302 0b61 0906 0100 a103 81b4 .._....a........ │ │ │ -000483d0: a5df e282 f7ac 8101 f5be bbf6 9ae2 c0fb ................ │ │ │ -000483e0: d201 0083 0200 0485 a205 8280 80e6 0800 ................ │ │ │ -000483f0: 0001 0003 0407 0402 0000 030f 0009 01a1 ................ │ │ │ -00048400: 037b 2d23 204f 5054 494f 4e53 202d 2d63 .{-# OPTIONS --c │ │ │ -00048410: 7562 6963 616c 2d63 6f6d 7061 7469 626c ubical-compatibl │ │ │ -00048420: 6520 2d2d 7361 6665 202d 2d6e 6f2d 7369 e --safe --no-si │ │ │ -00048430: 7a65 642d 7479 7065 7320 2d2d 6e6f 2d67 zed-types --no-g │ │ │ -00048440: 7561 7264 6564 6e65 7373 202d 2d6c 6576 uardedness --lev │ │ │ -00048450: 656c 2d75 6e69 7665 7273 6520 232d 7d0a el-universe #-}. │ │ │ -00048460: 0a6d 6f64 756c 6520 4167 6461 2e42 7569 .module Agda.Bui │ │ │ -00048470: 6c74 696e 2e53 7472 696e 672e 5072 6f70 ltin.String.Prop │ │ │ -00048480: 6572 7469 6573 2077 6865 7265 0a0a 6f70 erties where..op │ │ │ -00048490: 656e 2069 6d70 6f72 7420 4167 6461 2e42 en import Agda.B │ │ │ -000484a0: 7569 6c74 696e 2e53 7472 696e 670a 6f70 uiltin.String.op │ │ │ -000484b0: 656e 2069 6d70 6f72 7420 4167 6461 2e42 en import Agda.B │ │ │ -000484c0: 7569 6c74 696e 2e45 7175 616c 6974 790a uiltin.Equality. │ │ │ -000484d0: 0a70 7269 6d69 7469 7665 0a0a 2020 7072 .primitive.. pr │ │ │ -000484e0: 696d 5374 7269 6e67 546f 4c69 7374 496e imStringToListIn │ │ │ -000484f0: 6a65 6374 6976 6520 3a20 e288 8020 6120 jective : ... a │ │ │ -00048500: 6220 e286 9220 7072 696d 5374 7269 6e67 b ... primString │ │ │ -00048510: 546f 4c69 7374 2061 20e2 89a1 2070 7269 ToList a ... pri │ │ │ -00048520: 6d53 7472 696e 6754 6f4c 6973 7420 6220 mStringToList b │ │ │ -00048530: e286 9220 6120 e289 a120 620a 2020 7072 ... a ... b. pr │ │ │ -00048540: 696d 5374 7269 6e67 4672 6f6d 4c69 7374 imStringFromList │ │ │ -00048550: 496e 6a65 6374 6976 6520 3a20 e288 8020 Injective : ... │ │ │ -00048560: 6120 6220 e286 9220 7072 696d 5374 7269 a b ... primStri │ │ │ -00048570: 6e67 4672 6f6d 4c69 7374 2061 20e2 89a1 ngFromList a ... │ │ │ -00048580: 2070 7269 6d53 7472 696e 6746 726f 6d4c primStringFromL │ │ │ -00048590: 6973 7420 6220 e286 9220 6120 e289 a120 ist b ... a ... │ │ │ -000485a0: 620a f0fd b882 96d5 f7e0 69eb 9b87 fcc7 b.........i..... │ │ │ -000485b0: d491 a45b 00e5 0100 0485 de05 2000 0001 ...[........ ... │ │ │ -000485c0: 0004 0408 0307 025e 0200 0003 0f00 0505 .......^........ │ │ │ -000485d0: 050b 5f0b 8402 0b61 0906 0100 a40c bd85 .._....a........ │ │ │ -000485e0: d8a4 d6ce 8581 9d01 e9e9 b5d0 bea5 a5fa ................ │ │ │ -000485f0: f201 0084 0200 048c 3505 8280 80e6 0800 ........5....... │ │ │ -00048600: 0001 0003 0407 0402 0000 030f 0009 01a4 ................ │ │ │ -00048610: 0c7b 2d23 204f 5054 494f 4e53 202d 2d63 .{-# OPTIONS --c │ │ │ -00048620: 7562 6963 616c 2d63 6f6d 7061 7469 626c ubical-compatibl │ │ │ -00048630: 6520 2d2d 7361 6665 202d 2d6e 6f2d 7369 e --safe --no-si │ │ │ -00048640: 7a65 642d 7479 7065 7320 2d2d 6e6f 2d67 zed-types --no-g │ │ │ -00048650: 7561 7264 6564 6e65 7373 202d 2d6c 6576 uardedness --lev │ │ │ -00048660: 656c 2d75 6e69 7665 7273 6520 232d 7d0a el-universe #-}. │ │ │ -00048670: 0a6d 6f64 756c 6520 4167 6461 2e42 7569 .module Agda.Bui │ │ │ -00048680: 6c74 696e 2e53 7472 696e 6720 7768 6572 ltin.String wher │ │ │ -00048690: 650a 0a6f 7065 6e20 696d 706f 7274 2041 e..open import A │ │ │ -000486a0: 6764 612e 4275 696c 7469 6e2e 426f 6f6c gda.Builtin.Bool │ │ │ -000486b0: 0a6f 7065 6e20 696d 706f 7274 2041 6764 .open import Agd │ │ │ -000486c0: 612e 4275 696c 7469 6e2e 4368 6172 0a6f a.Builtin.Char.o │ │ │ -000486d0: 7065 6e20 696d 706f 7274 2041 6764 612e pen import Agda. │ │ │ -000486e0: 4275 696c 7469 6e2e 4c69 7374 0a6f 7065 Builtin.List.ope │ │ │ -000486f0: 6e20 696d 706f 7274 2041 6764 612e 4275 n import Agda.Bu │ │ │ -00048700: 696c 7469 6e2e 4d61 7962 650a 6f70 656e iltin.Maybe.open │ │ │ -00048710: 2069 6d70 6f72 7420 4167 6461 2e42 7569 import Agda.Bui │ │ │ -00048720: 6c74 696e 2e4e 6174 2075 7369 6e67 2028 ltin.Nat using ( │ │ │ -00048730: 4e61 7429 0a6f 7065 6e20 696d 706f 7274 Nat).open import │ │ │ -00048740: 2041 6764 612e 4275 696c 7469 6e2e 5369 Agda.Builtin.Si │ │ │ -00048750: 676d 610a 0a70 6f73 7475 6c61 7465 2053 gma..postulate S │ │ │ -00048760: 7472 696e 6720 3a20 5365 740a 7b2d 2320 tring : Set.{-# │ │ │ -00048770: 4255 494c 5449 4e20 5354 5249 4e47 2053 BUILTIN STRING S │ │ │ -00048780: 7472 696e 6720 232d 7d0a 0a70 7269 6d69 tring #-}..primi │ │ │ -00048790: 7469 7665 0a20 2070 7269 6d53 7472 696e tive. primStrin │ │ │ -000487a0: 6755 6e63 6f6e 7320 2020 3a20 5374 7269 gUncons : Stri │ │ │ -000487b0: 6e67 20e2 8692 204d 6179 6265 2028 cea3 ng ... Maybe (.. │ │ │ -000487c0: 2043 6861 7220 28ce bb20 5f20 e286 9220 Char (.. _ ... │ │ │ -000487d0: 5374 7269 6e67 2929 0a20 2070 7269 6d53 String)). primS │ │ │ -000487e0: 7472 696e 6754 6f4c 6973 7420 2020 3a20 tringToList : │ │ │ -000487f0: 5374 7269 6e67 20e2 8692 204c 6973 7420 String ... List │ │ │ -00048800: 4368 6172 0a20 2070 7269 6d53 7472 696e Char. primStrin │ │ │ -00048810: 6746 726f 6d4c 6973 7420 3a20 4c69 7374 gFromList : List │ │ │ -00048820: 2043 6861 7220 e286 9220 5374 7269 6e67 Char ... String │ │ │ -00048830: 0a20 2070 7269 6d53 7472 696e 6741 7070 . primStringApp │ │ │ -00048840: 656e 6420 2020 3a20 5374 7269 6e67 20e2 end : String . │ │ │ -00048850: 8692 2053 7472 696e 6720 e286 9220 5374 .. String ... St │ │ │ -00048860: 7269 6e67 0a20 2070 7269 6d53 7472 696e ring. primStrin │ │ │ -00048870: 6745 7175 616c 6974 7920 3a20 5374 7269 gEquality : Stri │ │ │ -00048880: 6e67 20e2 8692 2053 7472 696e 6720 e286 ng ... String .. │ │ │ -00048890: 9220 426f 6f6c 0a20 2070 7269 6d53 686f . Bool. primSho │ │ │ -000488a0: 7743 6861 7220 2020 2020 2020 3a20 4368 wChar : Ch │ │ │ -000488b0: 6172 20e2 8692 2053 7472 696e 670a 2020 ar ... String. │ │ │ -000488c0: 7072 696d 5368 6f77 5374 7269 6e67 2020 primShowString │ │ │ -000488d0: 2020 203a 2053 7472 696e 6720 e286 9220 : String ... │ │ │ -000488e0: 5374 7269 6e67 0a20 2070 7269 6d53 686f String. primSho │ │ │ -000488f0: 774e 6174 2020 2020 2020 2020 3a20 4e61 wNat : Na │ │ │ -00048900: 7420 e286 9220 5374 7269 6e67 0a0a 7b2d t ... String..{- │ │ │ -00048910: 2320 434f 4d50 494c 4520 4a53 2070 7269 # COMPILE JS pri │ │ │ -00048920: 6d53 7472 696e 6755 6e63 6f6e 7320 3d20 mStringUncons = │ │ │ -00048930: 6675 6e63 7469 6f6e 2878 2920 7b0a 2020 function(x) {. │ │ │ -00048940: 2069 6620 2878 203d 3d3d 2022 2229 207b if (x === "") { │ │ │ -00048950: 2072 6574 7572 6e20 7a5f 6a41 6764 615f return z_jAgda_ │ │ │ -00048960: 4167 6461 5f42 7569 6c74 696e 5f4d 6179 Agda_Builtin_May │ │ │ -00048970: 6265 5b22 4d61 7962 6522 5d5b 226e 6f74 be["Maybe"]["not │ │ │ -00048980: 6869 6e67 225d 3b20 7d3b 0a20 2020 7265 hing"]; };. re │ │ │ -00048990: 7475 726e 207a 5f6a 4167 6461 5f41 6764 turn z_jAgda_Agd │ │ │ -000489a0: 615f 4275 696c 7469 6e5f 4d61 7962 655b a_Builtin_Maybe[ │ │ │ -000489b0: 224d 6179 6265 225d 5b22 6a75 7374 225d "Maybe"]["just"] │ │ │ -000489c0: 287a 5f6a 4167 6461 5f41 6764 615f 4275 (z_jAgda_Agda_Bu │ │ │ -000489d0: 696c 7469 6e5f 5369 676d 615b 225f 2c5f iltin_Sigma["_,_ │ │ │ -000489e0: 225d 2878 2e63 6861 7241 7428 3029 2928 "](x.charAt(0))( │ │ │ -000489f0: 782e 736c 6963 6528 3129 2929 3b0a 2020 x.slice(1)));. │ │ │ -00048a00: 207d 0a20 232d 7d0a 7b2d 2320 434f 4d50 }. #-}.{-# COMP │ │ │ -00048a10: 494c 4520 4a53 2070 7269 6d53 7472 696e ILE JS primStrin │ │ │ -00048a20: 6754 6f4c 6973 7420 3d20 6675 6e63 7469 gToList = functi │ │ │ -00048a30: 6f6e 2878 2920 7b20 7265 7475 726e 2078 on(x) { return x │ │ │ -00048a40: 2e73 706c 6974 2822 2229 3b20 7d20 232d .split(""); } #- │ │ │ -00048a50: 7d0a 7b2d 2320 434f 4d50 494c 4520 4a53 }.{-# COMPILE JS │ │ │ -00048a60: 2070 7269 6d53 7472 696e 6746 726f 6d4c primStringFromL │ │ │ -00048a70: 6973 7420 3d20 6675 6e63 7469 6f6e 2878 ist = function(x │ │ │ -00048a80: 2920 7b20 7265 7475 726e 2078 2e6a 6f69 ) { return x.joi │ │ │ -00048a90: 6e28 2222 293b 207d 2023 2d7d 0a7b 2d23 n(""); } #-}.{-# │ │ │ -00048aa0: 2043 4f4d 5049 4c45 204a 5320 7072 696d COMPILE JS prim │ │ │ -00048ab0: 5374 7269 6e67 4170 7065 6e64 203d 2066 StringAppend = f │ │ │ -00048ac0: 756e 6374 696f 6e28 7829 207b 2072 6574 unction(x) { ret │ │ │ -00048ad0: 7572 6e20 6675 6e63 7469 6f6e 2879 2920 urn function(y) │ │ │ -00048ae0: 7b20 7265 7475 726e 2078 2b79 3b20 7d3b { return x+y; }; │ │ │ -00048af0: 207d 2023 2d7d 0a7b 2d23 2043 4f4d 5049 } #-}.{-# COMPI │ │ │ -00048b00: 4c45 204a 5320 7072 696d 5374 7269 6e67 LE JS primString │ │ │ -00048b10: 4571 7561 6c69 7479 203d 2066 756e 6374 Equality = funct │ │ │ -00048b20: 696f 6e28 7829 207b 2072 6574 7572 6e20 ion(x) { return │ │ │ -00048b30: 6675 6e63 7469 6f6e 2879 2920 7b20 7265 function(y) { re │ │ │ -00048b40: 7475 726e 2078 3d3d 3d79 3b20 7d3b 207d turn x===y; }; } │ │ │ -00048b50: 2023 2d7d 0a7b 2d23 2043 4f4d 5049 4c45 #-}.{-# COMPILE │ │ │ -00048b60: 204a 5320 7072 696d 5368 6f77 4368 6172 JS primShowChar │ │ │ -00048b70: 203d 2066 756e 6374 696f 6e28 7829 207b = function(x) { │ │ │ -00048b80: 2072 6574 7572 6e20 4a53 4f4e 2e73 7472 return JSON.str │ │ │ -00048b90: 696e 6769 6679 2878 293b 207d 2023 2d7d ingify(x); } #-} │ │ │ -00048ba0: 0a7b 2d23 2043 4f4d 5049 4c45 204a 5320 .{-# COMPILE JS │ │ │ -00048bb0: 7072 696d 5368 6f77 5374 7269 6e67 203d primShowString = │ │ │ -00048bc0: 2066 756e 6374 696f 6e28 7829 207b 2072 function(x) { r │ │ │ -00048bd0: 6574 7572 6e20 4a53 4f4e 2e73 7472 696e eturn JSON.strin │ │ │ -00048be0: 6769 6679 2878 293b 207d 2023 2d7d 0a7b gify(x); } #-}.{ │ │ │ -00048bf0: 2d23 2043 4f4d 5049 4c45 204a 5320 7072 -# COMPILE JS pr │ │ │ -00048c00: 696d 5368 6f77 4e61 7420 3d20 6675 6e63 imShowNat = func │ │ │ -00048c10: 7469 6f6e 2878 2920 7b20 7265 7475 726e tion(x) { return │ │ │ -00048c20: 2078 2e74 6f53 7472 696e 6728 293b 207d x.toString(); } │ │ │ -00048c30: 2023 2d7d 0ad0 e9a8 e7d0 c0b2 e6fb 01d2 #-}............ │ │ │ -00048c40: 8496 e5ef d5ce b46f 00e3 0100 048c 7205 .......o......r. │ │ │ -00048c50: 2000 0001 0004 0408 0307 025e 0200 0003 ..........^.... │ │ │ -00048c60: 0f00 0505 050b 5f0b 8502 0b61 0906 0100 ......_....a.... │ │ │ -00048c70: ff02 ffcb b6b8 f2f2 87ed 14c3 d4b2 c4a0 ................ │ │ │ -00048c80: b5cf a942 0085 0200 048e 2205 8280 80e6 ...B......"..... │ │ │ -00048c90: 0800 0001 0003 0407 0402 0000 030f 0009 ................ │ │ │ -00048ca0: 01ff 027b 2d23 204f 5054 494f 4e53 202d ...{-# OPTIONS - │ │ │ -00048cb0: 2d63 7562 6963 616c 2d63 6f6d 7061 7469 -cubical-compati │ │ │ -00048cc0: 626c 6520 2d2d 7361 6665 202d 2d6e 6f2d ble --safe --no- │ │ │ -00048cd0: 7369 7a65 642d 7479 7065 7320 2d2d 6e6f sized-types --no │ │ │ -00048ce0: 2d67 7561 7264 6564 6e65 7373 202d 2d6c -guardedness --l │ │ │ -00048cf0: 6576 656c 2d75 6e69 7665 7273 6520 232d evel-universe #- │ │ │ -00048d00: 7d0a 0a6d 6f64 756c 6520 4167 6461 2e42 }..module Agda.B │ │ │ -00048d10: 7569 6c74 696e 2e53 7472 6963 7420 7768 uiltin.Strict wh │ │ │ -00048d20: 6572 650a 0a6f 7065 6e20 696d 706f 7274 ere..open import │ │ │ -00048d30: 2041 6764 612e 4275 696c 7469 6e2e 4571 Agda.Builtin.Eq │ │ │ -00048d40: 7561 6c69 7479 0a0a 7072 696d 6974 6976 uality..primitiv │ │ │ -00048d50: 650a 2020 7072 696d 466f 7263 6520 2020 e. primForce │ │ │ -00048d60: 2020 203a 20e2 8880 207b 6120 627d 207b : ... {a b} { │ │ │ -00048d70: 4120 3a20 5365 7420 617d 207b 4220 3a20 A : Set a} {B : │ │ │ -00048d80: 4120 e286 9220 5365 7420 627d 2028 7820 A ... Set b} (x │ │ │ -00048d90: 3a20 4129 20e2 8692 2028 e288 8020 7820 : A) ... (... x │ │ │ -00048da0: e286 9220 4220 7829 20e2 8692 2042 2078 ... B x) ... B x │ │ │ -00048db0: 0a20 2070 7269 6d46 6f72 6365 4c65 6d6d . primForceLemm │ │ │ -00048dc0: 6120 3a20 e288 8020 7b61 2062 7d20 7b41 a : ... {a b} {A │ │ │ -00048dd0: 203a 2053 6574 2061 7d20 7b42 203a 2041 : Set a} {B : A │ │ │ -00048de0: 20e2 8692 2053 6574 2062 7d20 2878 203a ... Set b} (x : │ │ │ -00048df0: 2041 2920 2866 203a 20e2 8880 2078 20e2 A) (f : ... x . │ │ │ -00048e00: 8692 2042 2078 2920 e286 9220 7072 696d .. B x) ... prim │ │ │ -00048e10: 466f 7263 6520 7820 6620 e289 a120 6620 Force x f ... f │ │ │ -00048e20: 780a b5a3 b3f7 8e92 d7c4 d701 a4c4 e5cf x............... │ │ │ -00048e30: 91a8 f1d8 1a00 8002 0004 8e73 05b4 8080 ...........s.... │ │ │ -00048e40: e608 0000 0005 2000 0001 0001 0004 0408 ...... ......... │ │ │ -00048e50: 0307 0286 8080 ec08 0200 0003 0f00 0505 ................ │ │ │ -00048e60: 050b 8780 80ec 0801 0520 0000 010b 9c01 ......... ...... │ │ │ -00048e70: 0b86 0294 b3f0 f6e5 c987 c07a 81d1 cca3 ...........z.... │ │ │ -00048e80: eabb accc a701 00e1 0100 048e b005 2000 .............. . │ │ │ -00048e90: 0001 0004 0408 0307 025e 0200 0003 0f00 .........^...... │ │ │ -00048ea0: 0505 050b 5f0b 8702 0b61 0906 0100 f104 ...._....a...... │ │ │ -00048eb0: 94bb fe99 98b9 d0b2 8501 d18d 94bf b4cc ................ │ │ │ -00048ec0: e5a2 8401 0087 0200 0491 5405 8280 80e6 ..........T..... │ │ │ -00048ed0: 0800 0001 0003 0407 0402 0000 030f 0009 ................ │ │ │ -00048ee0: 01f1 047b 2d23 204f 5054 494f 4e53 202d ...{-# OPTIONS - │ │ │ -00048ef0: 2d63 7562 6963 616c 2d63 6f6d 7061 7469 -cubical-compati │ │ │ -00048f00: 626c 6520 2d2d 6e6f 2d75 6e69 7665 7273 ble --no-univers │ │ │ -00048f10: 652d 706f 6c79 6d6f 7270 6869 736d 202d e-polymorphism - │ │ │ -00048f20: 2d73 697a 6564 2d74 7970 6573 0a20 2020 -sized-types. │ │ │ -00048f30: 2020 2020 2020 2020 202d 2d6e 6f2d 6775 --no-gu │ │ │ -00048f40: 6172 6465 646e 6573 7320 2d2d 6c65 7665 ardedness --leve │ │ │ -00048f50: 6c2d 756e 6976 6572 7365 2023 2d7d 0a0a l-universe #-}.. │ │ │ -00048f60: 6d6f 6475 6c65 2041 6764 612e 4275 696c module Agda.Buil │ │ │ -00048f70: 7469 6e2e 5369 7a65 2077 6865 7265 0a0a tin.Size where.. │ │ │ -00048f80: 7b2d 2320 4255 494c 5449 4e20 5349 5a45 {-# BUILTIN SIZE │ │ │ -00048f90: 554e 4956 2053 697a 6555 6e69 7620 232d UNIV SizeUniv #- │ │ │ -00048fa0: 7d0a 7b2d 2320 4255 494c 5449 4e20 5349 }.{-# BUILTIN SI │ │ │ -00048fb0: 5a45 2020 2020 2053 697a 6520 2020 2020 ZE Size │ │ │ -00048fc0: 232d 7d0a 7b2d 2320 4255 494c 5449 4e20 #-}.{-# BUILTIN │ │ │ -00048fd0: 5349 5a45 4c54 2020 2053 697a 653c 5f20 SIZELT Size<_ │ │ │ -00048fe0: 2020 232d 7d0a 7b2d 2320 4255 494c 5449 #-}.{-# BUILTI │ │ │ -00048ff0: 4e20 5349 5a45 5355 4320 20e2 8691 5f20 N SIZESUC ..._ │ │ │ -00049000: 2020 2020 2020 232d 7d0a 7b2d 2320 4255 #-}.{-# BU │ │ │ -00049010: 494c 5449 4e20 5349 5a45 494e 4620 20e2 ILTIN SIZEINF . │ │ │ -00049020: 889e 2020 2020 2020 2020 232d 7d0a 7b2d .. #-}.{- │ │ │ -00049030: 2320 4255 494c 5449 4e20 5349 5a45 4d41 # BUILTIN SIZEMA │ │ │ -00049040: 5820 205f e28a 94cb a25f 2020 2020 2023 X _....._ # │ │ │ -00049050: 2d7d 0a0a 7b2d 2320 464f 5245 4947 4e20 -}..{-# FOREIGN │ │ │ -00049060: 4748 430a 2020 7479 7065 2053 697a 654c GHC. type SizeL │ │ │ -00049070: 5420 6920 3d20 2829 0a20 2023 2d7d 0a0a T i = (). #-}.. │ │ │ -00049080: 7b2d 2320 434f 4d50 494c 4520 4748 4320 {-# COMPILE GHC │ │ │ -00049090: 5369 7a65 2020 203d 2074 7970 6520 2829 Size = type () │ │ │ -000490a0: 2020 2020 2023 2d7d 0a7b 2d23 2043 4f4d #-}.{-# COM │ │ │ -000490b0: 5049 4c45 2047 4843 2053 697a 653c 5f20 PILE GHC Size<_ │ │ │ -000490c0: 3d20 7479 7065 2053 697a 654c 5420 232d = type SizeLT #- │ │ │ -000490d0: 7d0a 7b2d 2320 434f 4d50 494c 4520 4748 }.{-# COMPILE GH │ │ │ -000490e0: 4320 e286 915f 2020 2020 203d 205c 5f20 C ..._ = \_ │ │ │ -000490f0: 2d3e 2028 2920 2020 2023 2d7d 0a7b 2d23 -> () #-}.{-# │ │ │ -00049100: 2043 4f4d 5049 4c45 2047 4843 20e2 889e COMPILE GHC ... │ │ │ -00049110: 2020 2020 2020 3d20 2829 2020 2020 2020 = () │ │ │ -00049120: 2020 2020 232d 7d0a 7b2d 2320 434f 4d50 #-}.{-# COMP │ │ │ -00049130: 494c 4520 4748 4320 5fe2 8a94 cba2 5f20 ILE GHC _....._ │ │ │ -00049140: 2020 3d20 5c5f 205f 202d 3e20 2829 2020 = \_ _ -> () │ │ │ -00049150: 232d 7d0a 86c1 a9ff b0a6 bfdb 30af eac4 #-}.........0... │ │ │ -00049160: abd5 d8c9 a9e9 0100 df01 0004 9191 0520 ............... │ │ │ -00049170: 0000 0100 0404 0803 0702 5e02 0000 030f ..........^..... │ │ │ -00049180: 0005 0505 0b5f 0b88 020b 6109 0601 00cf ....._....a..... │ │ │ -00049190: 02e1 bab4 bbe5 befb d86c effa d3c7 ead9 .........l...... │ │ │ -000491a0: fb8b fd01 0088 0200 0493 1205 8280 80e6 ................ │ │ │ -000491b0: 0800 0001 0003 0407 0402 0000 030f 0009 ................ │ │ │ -000491c0: 01cf 027b 2d23 204f 5054 494f 4e53 202d ...{-# OPTIONS - │ │ │ -000491d0: 2d63 7562 6963 616c 2d63 6f6d 7061 7469 -cubical-compati │ │ │ -000491e0: 626c 6520 2d2d 7361 6665 202d 2d6e 6f2d ble --safe --no- │ │ │ -000491f0: 7369 7a65 642d 7479 7065 7320 2d2d 6e6f sized-types --no │ │ │ -00049200: 2d67 7561 7264 6564 6e65 7373 202d 2d6c -guardedness --l │ │ │ -00049210: 6576 656c 2d75 6e69 7665 7273 6520 232d evel-universe #- │ │ │ -00049220: 7d0a 0a6d 6f64 756c 6520 4167 6461 2e42 }..module Agda.B │ │ │ -00049230: 7569 6c74 696e 2e53 6967 6d61 2077 6865 uiltin.Sigma whe │ │ │ -00049240: 7265 0a0a 6f70 656e 2069 6d70 6f72 7420 re..open import │ │ │ -00049250: 4167 6461 2e50 7269 6d69 7469 7665 0a0a Agda.Primitive.. │ │ │ -00049260: 7265 636f 7264 20ce a320 7b61 2062 7d20 record .. {a b} │ │ │ -00049270: 2841 203a 2053 6574 2061 2920 2842 203a (A : Set a) (B : │ │ │ -00049280: 2041 20e2 8692 2053 6574 2062 2920 3a20 A ... Set b) : │ │ │ -00049290: 5365 7420 2861 20e2 8a94 2062 2920 7768 Set (a ... b) wh │ │ │ -000492a0: 6572 650a 2020 636f 6e73 7472 7563 746f ere. constructo │ │ │ -000492b0: 7220 5f2c 5f0a 2020 6669 656c 640a 2020 r _,_. field. │ │ │ -000492c0: 2020 6673 7420 3a20 410a 2020 2020 736e fst : A. sn │ │ │ -000492d0: 6420 3a20 4220 6673 740a 0a6f 7065 6e20 d : B fst..open │ │ │ -000492e0: cea3 2070 7562 6c69 630a 0a69 6e66 6978 .. public..infix │ │ │ -000492f0: 7220 3420 5f2c 5f0a 0a7b 2d23 2042 5549 r 4 _,_..{-# BUI │ │ │ -00049300: 4c54 494e 2053 4947 4d41 20ce a320 232d LTIN SIGMA .. #- │ │ │ -00049310: 7d0a c6e1 df9d bcae 92ba 9b01 9de2 9ef5 }............... │ │ │ -00049320: 85e4 9fb0 a801 00dd 0100 0493 5005 2000 ............P. . │ │ │ -00049330: 0001 0004 0408 0307 025e 0200 0003 0f00 .........^...... │ │ │ -00049340: 0505 050b 5f0b 8902 0b61 0906 0100 a003 ...._....a...... │ │ │ -00049350: a685 cda8 fdee f3d2 8201 f2fb b4c7 bd96 ................ │ │ │ -00049360: fdc5 de01 0089 0200 0495 2305 8280 80e6 ..........#..... │ │ │ -00049370: 0800 0001 0003 0407 0402 0000 030f 0009 ................ │ │ │ -00049380: 01a0 037b 2d23 204f 5054 494f 4e53 202d ...{-# OPTIONS - │ │ │ -00049390: 2d63 7562 6963 616c 2d63 6f6d 7061 7469 -cubical-compati │ │ │ -000493a0: 626c 6520 2d2d 7361 6665 202d 2d6e 6f2d ble --safe --no- │ │ │ -000493b0: 7369 7a65 642d 7479 7065 7320 2d2d 6e6f sized-types --no │ │ │ -000493c0: 2d67 7561 7264 6564 6e65 7373 202d 2d6c -guardedness --l │ │ │ -000493d0: 6576 656c 2d75 6e69 7665 7273 6520 232d evel-universe #- │ │ │ -000493e0: 7d0a 0a6d 6f64 756c 6520 4167 6461 2e42 }..module Agda.B │ │ │ -000493f0: 7569 6c74 696e 2e52 6566 6c65 6374 696f uiltin.Reflectio │ │ │ -00049400: 6e2e 5072 6f70 6572 7469 6573 2077 6865 n.Properties whe │ │ │ -00049410: 7265 0a0a 6f70 656e 2069 6d70 6f72 7420 re..open import │ │ │ -00049420: 4167 6461 2e42 7569 6c74 696e 2e52 6566 Agda.Builtin.Ref │ │ │ -00049430: 6c65 6374 696f 6e0a 6f70 656e 2069 6d70 lection.open imp │ │ │ -00049440: 6f72 7420 4167 6461 2e42 7569 6c74 696e ort Agda.Builtin │ │ │ -00049450: 2e45 7175 616c 6974 790a 0a70 7269 6d69 .Equality..primi │ │ │ -00049460: 7469 7665 0a0a 2020 7072 696d 4d65 7461 tive.. primMeta │ │ │ -00049470: 546f 4e61 7449 6e6a 6563 7469 7665 203a ToNatInjective : │ │ │ -00049480: 20e2 8880 2061 2062 20e2 8692 2070 7269 ... a b ... pri │ │ │ -00049490: 6d4d 6574 6154 6f4e 6174 2061 20e2 89a1 mMetaToNat a ... │ │ │ -000494a0: 2070 7269 6d4d 6574 6154 6f4e 6174 2062 primMetaToNat b │ │ │ -000494b0: 20e2 8692 2061 20e2 89a1 2062 0a20 2070 ... a ... b. p │ │ │ -000494c0: 7269 6d51 4e61 6d65 546f 576f 7264 3634 rimQNameToWord64 │ │ │ -000494d0: 7349 6e6a 6563 7469 7665 203a 20e2 8880 sInjective : ... │ │ │ -000494e0: 2061 2062 20e2 8692 2070 7269 6d51 4e61 a b ... primQNa │ │ │ -000494f0: 6d65 546f 576f 7264 3634 7320 6120 e289 meToWord64s a .. │ │ │ -00049500: a120 7072 696d 514e 616d 6554 6f57 6f72 . primQNameToWor │ │ │ -00049510: 6436 3473 2062 20e2 8692 2061 20e2 89a1 d64s b ... a ... │ │ │ -00049520: 2062 0abf fe86 febb 8eae b14a 9cd7 bf9a b.........J.... │ │ │ -00049530: bafd d3e8 6500 db01 0004 955f 0520 0000 ....e......_. .. │ │ │ -00049540: 0100 0404 0803 0702 5e02 0000 030f 0005 ........^....... │ │ │ -00049550: 0505 0b5f 0b8a 020b 6109 0601 00ff 0396 ..._....a....... │ │ │ -00049560: efc1 aeeb f5c3 d2be 018b d6a2 a389 fcf8 ................ │ │ │ -00049570: f2dd 0100 8a02 0004 9791 0582 8080 e608 ................ │ │ │ -00049580: 0000 0100 0304 0704 0200 0003 0f00 0901 ................ │ │ │ -00049590: ff03 7b2d 2320 4f50 5449 4f4e 5320 2d2d ..{-# OPTIONS -- │ │ │ -000495a0: 6375 6269 6361 6c2d 636f 6d70 6174 6962 cubical-compatib │ │ │ -000495b0: 6c65 202d 2d73 6166 6520 2d2d 6e6f 2d73 le --safe --no-s │ │ │ -000495c0: 697a 6564 2d74 7970 6573 202d 2d6e 6f2d ized-types --no- │ │ │ -000495d0: 6775 6172 6465 646e 6573 7320 2d2d 6c65 guardedness --le │ │ │ -000495e0: 7665 6c2d 756e 6976 6572 7365 2023 2d7d vel-universe #-} │ │ │ -000495f0: 0a0a 6d6f 6475 6c65 2041 6764 612e 4275 ..module Agda.Bu │ │ │ -00049600: 696c 7469 6e2e 5265 666c 6563 7469 6f6e iltin.Reflection │ │ │ -00049610: 2e45 7874 6572 6e61 6c20 7768 6572 650a .External where. │ │ │ -00049620: 0a6f 7065 6e20 696d 706f 7274 2041 6764 .open import Agd │ │ │ -00049630: 612e 4275 696c 7469 6e2e 4c69 7374 0a6f a.Builtin.List.o │ │ │ -00049640: 7065 6e20 696d 706f 7274 2041 6764 612e pen import Agda. │ │ │ -00049650: 4275 696c 7469 6e2e 4e61 740a 6f70 656e Builtin.Nat.open │ │ │ -00049660: 2069 6d70 6f72 7420 4167 6461 2e42 7569 import Agda.Bui │ │ │ -00049670: 6c74 696e 2e53 6967 6d61 0a6f 7065 6e20 ltin.Sigma.open │ │ │ -00049680: 696d 706f 7274 2041 6764 612e 4275 696c import Agda.Buil │ │ │ -00049690: 7469 6e2e 5374 7269 6e67 0a6f 7065 6e20 tin.String.open │ │ │ -000496a0: 696d 706f 7274 2041 6764 612e 4275 696c import Agda.Buil │ │ │ -000496b0: 7469 6e2e 5265 666c 6563 7469 6f6e 0a0a tin.Reflection.. │ │ │ -000496c0: 706f 7374 756c 6174 650a 2020 6578 6563 postulate. exec │ │ │ -000496d0: 5443 203a 2053 7472 696e 6720 e286 9220 TC : String ... │ │ │ -000496e0: 4c69 7374 2053 7472 696e 6720 e286 9220 List String ... │ │ │ -000496f0: 5374 7269 6e67 0a20 2020 2020 2020 2020 String. │ │ │ -00049700: e286 9220 5443 2028 cea3 204e 6174 2028 ... TC (.. Nat ( │ │ │ -00049710: cebb 205f 20e2 8692 20ce a320 5374 7269 .. _ ... .. Stri │ │ │ -00049720: 6e67 2028 cebb 205f 20e2 8692 2053 7472 ng (.. _ ... Str │ │ │ -00049730: 696e 6729 2929 0a0a 7b2d 2320 4255 494c ing)))..{-# BUIL │ │ │ -00049740: 5449 4e20 4147 4441 5443 4d45 5845 4320 TIN AGDATCMEXEC │ │ │ -00049750: 6578 6563 5443 2023 2d7d 0a0a 7b2d 2320 execTC #-}..{-# │ │ │ -00049760: 434f 4d50 494c 4520 4a53 2065 7865 6354 COMPILE JS execT │ │ │ -00049770: 4320 3d20 5f20 3d3e 205f 203d 3e20 5f20 C = _ => _ => _ │ │ │ -00049780: 3d3e 2075 6e64 6566 696e 6564 2023 2d7d => undefined #-} │ │ │ -00049790: 0ade 8b93 9eb2 fddc ffa5 01d6 ddef 91c4 ................ │ │ │ -000497a0: b7e6 f8b3 0100 d901 0004 97d0 0520 0000 ............. .. │ │ │ -000497b0: 0100 0404 0803 0702 5e02 0000 030f 0005 ........^....... │ │ │ -000497c0: 0505 0b5f 0b8b 020b 6109 0601 00d7 a201 ..._....a....... │ │ │ -000497d0: 8396 c5d9 d3df bfdd 5b91 e6ce b5e6 f886 ........[....... │ │ │ -000497e0: f6bd 0100 8b02 0004 e95a 0582 8080 e608 .........Z...... │ │ │ -000497f0: 0000 0100 0304 0704 0200 0003 0f00 0901 ................ │ │ │ -00049800: d7a2 017b 2d23 204f 5054 494f 4e53 202d ...{-# OPTIONS - │ │ │ -00049810: 2d63 7562 6963 616c 2d63 6f6d 7061 7469 -cubical-compati │ │ │ -00049820: 626c 6520 2d2d 7361 6665 202d 2d6e 6f2d ble --safe --no- │ │ │ -00049830: 7369 7a65 642d 7479 7065 7320 2d2d 6e6f sized-types --no │ │ │ -00049840: 2d67 7561 7264 6564 6e65 7373 202d 2d6c -guardedness --l │ │ │ -00049850: 6576 656c 2d75 6e69 7665 7273 6520 232d evel-universe #- │ │ │ -00049860: 7d0a 0a6d 6f64 756c 6520 4167 6461 2e42 }..module Agda.B │ │ │ -00049870: 7569 6c74 696e 2e52 6566 6c65 6374 696f uiltin.Reflectio │ │ │ -00049880: 6e20 7768 6572 650a 0a6f 7065 6e20 696d n where..open im │ │ │ -00049890: 706f 7274 2041 6764 612e 4275 696c 7469 port Agda.Builti │ │ │ -000498a0: 6e2e 556e 6974 0a6f 7065 6e20 696d 706f n.Unit.open impo │ │ │ -000498b0: 7274 2041 6764 612e 4275 696c 7469 6e2e rt Agda.Builtin. │ │ │ -000498c0: 426f 6f6c 0a6f 7065 6e20 696d 706f 7274 Bool.open import │ │ │ -000498d0: 2041 6764 612e 4275 696c 7469 6e2e 4e61 Agda.Builtin.Na │ │ │ -000498e0: 740a 6f70 656e 2069 6d70 6f72 7420 4167 t.open import Ag │ │ │ -000498f0: 6461 2e42 7569 6c74 696e 2e57 6f72 640a da.Builtin.Word. │ │ │ -00049900: 6f70 656e 2069 6d70 6f72 7420 4167 6461 open import Agda │ │ │ -00049910: 2e42 7569 6c74 696e 2e4c 6973 740a 6f70 .Builtin.List.op │ │ │ -00049920: 656e 2069 6d70 6f72 7420 4167 6461 2e42 en import Agda.B │ │ │ -00049930: 7569 6c74 696e 2e53 7472 696e 670a 6f70 uiltin.String.op │ │ │ -00049940: 656e 2069 6d70 6f72 7420 4167 6461 2e42 en import Agda.B │ │ │ -00049950: 7569 6c74 696e 2e43 6861 720a 6f70 656e uiltin.Char.open │ │ │ -00049960: 2069 6d70 6f72 7420 4167 6461 2e42 7569 import Agda.Bui │ │ │ -00049970: 6c74 696e 2e46 6c6f 6174 0a6f 7065 6e20 ltin.Float.open │ │ │ -00049980: 696d 706f 7274 2041 6764 612e 4275 696c import Agda.Buil │ │ │ -00049990: 7469 6e2e 496e 740a 6f70 656e 2069 6d70 tin.Int.open imp │ │ │ -000499a0: 6f72 7420 4167 6461 2e42 7569 6c74 696e ort Agda.Builtin │ │ │ -000499b0: 2e53 6967 6d61 0a6f 7065 6e20 696d 706f .Sigma.open impo │ │ │ -000499c0: 7274 2041 6764 612e 5072 696d 6974 6976 rt Agda.Primitiv │ │ │ -000499d0: 650a 0a2d 2d20 4e61 6d65 7320 2d2d 0a0a e..-- Names --.. │ │ │ -000499e0: 706f 7374 756c 6174 6520 4e61 6d65 203a postulate Name : │ │ │ -000499f0: 2053 6574 0a7b 2d23 2042 5549 4c54 494e Set.{-# BUILTIN │ │ │ -00049a00: 2051 4e41 4d45 204e 616d 6520 232d 7d0a QNAME Name #-}. │ │ │ -00049a10: 0a70 7269 6d69 7469 7665 0a20 2070 7269 .primitive. pri │ │ │ -00049a20: 6d51 4e61 6d65 4571 7561 6c69 7479 203a mQNameEquality : │ │ │ -00049a30: 204e 616d 6520 e286 9220 4e61 6d65 20e2 Name ... Name . │ │ │ -00049a40: 8692 2042 6f6f 6c0a 2020 7072 696d 514e .. Bool. primQN │ │ │ -00049a50: 616d 654c 6573 7320 2020 2020 3a20 4e61 ameLess : Na │ │ │ -00049a60: 6d65 20e2 8692 204e 616d 6520 e286 9220 me ... Name ... │ │ │ -00049a70: 426f 6f6c 0a20 2070 7269 6d53 686f 7751 Bool. primShowQ │ │ │ -00049a80: 4e61 6d65 2020 2020 203a 204e 616d 6520 Name : Name │ │ │ -00049a90: e286 9220 5374 7269 6e67 0a0a 2d2d 2046 ... String..-- F │ │ │ -00049aa0: 6978 6974 7920 2d2d 0a0a 6461 7461 2041 ixity --..data A │ │ │ -00049ab0: 7373 6f63 6961 7469 7669 7479 203a 2053 ssociativity : S │ │ │ -00049ac0: 6574 2077 6865 7265 0a20 206c 6566 742d et where. left- │ │ │ -00049ad0: 6173 736f 6320 203a 2041 7373 6f63 6961 assoc : Associa │ │ │ -00049ae0: 7469 7669 7479 0a20 2072 6967 6874 2d61 tivity. right-a │ │ │ -00049af0: 7373 6f63 203a 2041 7373 6f63 6961 7469 ssoc : Associati │ │ │ -00049b00: 7669 7479 0a20 206e 6f6e 2d61 7373 6f63 vity. non-assoc │ │ │ -00049b10: 2020 203a 2041 7373 6f63 6961 7469 7669 : Associativi │ │ │ -00049b20: 7479 0a0a 6461 7461 2050 7265 6365 6465 ty..data Precede │ │ │ -00049b30: 6e63 6520 3a20 5365 7420 7768 6572 650a nce : Set where. │ │ │ -00049b40: 2020 7265 6c61 7465 6420 2020 3a20 466c related : Fl │ │ │ -00049b50: 6f61 7420 e286 9220 5072 6563 6564 656e oat ... Preceden │ │ │ -00049b60: 6365 0a20 2075 6e72 656c 6174 6564 203a ce. unrelated : │ │ │ -00049b70: 2050 7265 6365 6465 6e63 650a 0a64 6174 Precedence..dat │ │ │ -00049b80: 6120 4669 7869 7479 203a 2053 6574 2077 a Fixity : Set w │ │ │ -00049b90: 6865 7265 0a20 2066 6978 6974 7920 3a20 here. fixity : │ │ │ -00049ba0: 4173 736f 6369 6174 6976 6974 7920 e286 Associativity .. │ │ │ -00049bb0: 9220 5072 6563 6564 656e 6365 20e2 8692 . Precedence ... │ │ │ -00049bc0: 2046 6978 6974 790a 0a7b 2d23 2042 5549 Fixity..{-# BUI │ │ │ -00049bd0: 4c54 494e 2041 5353 4f43 2020 2020 2020 LTIN ASSOC │ │ │ -00049be0: 4173 736f 6369 6174 6976 6974 7920 232d Associativity #- │ │ │ -00049bf0: 7d0a 7b2d 2320 4255 494c 5449 4e20 4153 }.{-# BUILTIN AS │ │ │ -00049c00: 534f 434c 4546 5420 206c 6566 742d 6173 SOCLEFT left-as │ │ │ -00049c10: 736f 6320 2020 2023 2d7d 0a7b 2d23 2042 soc #-}.{-# B │ │ │ -00049c20: 5549 4c54 494e 2041 5353 4f43 5249 4748 UILTIN ASSOCRIGH │ │ │ -00049c30: 5420 7269 6768 742d 6173 736f 6320 2020 T right-assoc │ │ │ -00049c40: 232d 7d0a 7b2d 2320 4255 494c 5449 4e20 #-}.{-# BUILTIN │ │ │ -00049c50: 4153 534f 434e 4f4e 2020 206e 6f6e 2d61 ASSOCNON non-a │ │ │ -00049c60: 7373 6f63 2020 2020 2023 2d7d 0a0a 7b2d ssoc #-}..{- │ │ │ -00049c70: 2320 4255 494c 5449 4e20 5052 4543 4544 # BUILTIN PRECED │ │ │ -00049c80: 454e 4345 2020 2020 5072 6563 6564 656e ENCE Preceden │ │ │ -00049c90: 6365 2023 2d7d 0a7b 2d23 2042 5549 4c54 ce #-}.{-# BUILT │ │ │ -00049ca0: 494e 2050 5245 4352 454c 4154 4544 2020 IN PRECRELATED │ │ │ -00049cb0: 2072 656c 6174 6564 2020 2020 232d 7d0a related #-}. │ │ │ -00049cc0: 7b2d 2320 4255 494c 5449 4e20 5052 4543 {-# BUILTIN PREC │ │ │ -00049cd0: 554e 5245 4c41 5445 4420 756e 7265 6c61 UNRELATED unrela │ │ │ -00049ce0: 7465 6420 2023 2d7d 0a0a 7b2d 2320 4255 ted #-}..{-# BU │ │ │ -00049cf0: 494c 5449 4e20 4649 5849 5459 2020 2020 ILTIN FIXITY │ │ │ -00049d00: 2020 2046 6978 6974 7920 232d 7d0a 7b2d Fixity #-}.{- │ │ │ -00049d10: 2320 4255 494c 5449 4e20 4649 5849 5459 # BUILTIN FIXITY │ │ │ -00049d20: 4649 5849 5459 2066 6978 6974 7920 232d FIXITY fixity #- │ │ │ -00049d30: 7d0a 0a7b 2d23 2043 4f4d 5049 4c45 2047 }..{-# COMPILE G │ │ │ -00049d40: 4843 2041 7373 6f63 6961 7469 7669 7479 HC Associativity │ │ │ -00049d50: 203d 2064 6174 6120 4d41 6c6f 6e7a 6f2e = data MAlonzo. │ │ │ -00049d60: 5254 452e 4173 736f 6320 284d 416c 6f6e RTE.Assoc (MAlon │ │ │ -00049d70: 7a6f 2e52 5445 2e4c 6566 7441 7373 6f63 zo.RTE.LeftAssoc │ │ │ -00049d80: 207c 204d 416c 6f6e 7a6f 2e52 5445 2e52 | MAlonzo.RTE.R │ │ │ -00049d90: 6967 6874 4173 736f 6320 7c20 4d41 6c6f ightAssoc | MAlo │ │ │ -00049da0: 6e7a 6f2e 5254 452e 4e6f 6e41 7373 6f63 nzo.RTE.NonAssoc │ │ │ -00049db0: 2920 232d 7d0a 7b2d 2320 434f 4d50 494c ) #-}.{-# COMPIL │ │ │ -00049dc0: 4520 4748 4320 5072 6563 6564 656e 6365 E GHC Precedence │ │ │ -00049dd0: 2020 2020 3d20 6461 7461 204d 416c 6f6e = data MAlon │ │ │ -00049de0: 7a6f 2e52 5445 2e50 7265 6365 6465 6e63 zo.RTE.Precedenc │ │ │ -00049df0: 6520 284d 416c 6f6e 7a6f 2e52 5445 2e52 e (MAlonzo.RTE.R │ │ │ -00049e00: 656c 6174 6564 207c 204d 416c 6f6e 7a6f elated | MAlonzo │ │ │ -00049e10: 2e52 5445 2e55 6e72 656c 6174 6564 2920 .RTE.Unrelated) │ │ │ -00049e20: 232d 7d0a 7b2d 2320 434f 4d50 494c 4520 #-}.{-# COMPILE │ │ │ -00049e30: 4748 4320 4669 7869 7479 2020 2020 2020 GHC Fixity │ │ │ -00049e40: 2020 3d20 6461 7461 204d 416c 6f6e 7a6f = data MAlonzo │ │ │ -00049e50: 2e52 5445 2e46 6978 6974 7920 284d 416c .RTE.Fixity (MAl │ │ │ -00049e60: 6f6e 7a6f 2e52 5445 2e46 6978 6974 7929 onzo.RTE.Fixity) │ │ │ -00049e70: 2023 2d7d 0a0a 7b2d 2320 434f 4d50 494c #-}..{-# COMPIL │ │ │ -00049e80: 4520 4a53 2041 7373 6f63 6961 7469 7669 E JS Associativi │ │ │ -00049e90: 7479 2020 3d20 6675 6e63 7469 6f6e 2028 ty = function ( │ │ │ -00049ea0: 782c 7629 207b 2072 6574 7572 6e20 765b x,v) { return v[ │ │ │ -00049eb0: 785d 2829 3b20 7d20 232d 7d0a 7b2d 2320 x](); } #-}.{-# │ │ │ -00049ec0: 434f 4d50 494c 4520 4a53 206c 6566 742d COMPILE JS left- │ │ │ -00049ed0: 6173 736f 6320 2020 2020 3d20 226c 6566 assoc = "lef │ │ │ -00049ee0: 742d 6173 736f 6322 2020 232d 7d0a 7b2d t-assoc" #-}.{- │ │ │ -00049ef0: 2320 434f 4d50 494c 4520 4a53 2072 6967 # COMPILE JS rig │ │ │ -00049f00: 6874 2d61 7373 6f63 2020 2020 3d20 2272 ht-assoc = "r │ │ │ -00049f10: 6967 6874 2d61 7373 6f63 2220 232d 7d0a ight-assoc" #-}. │ │ │ -00049f20: 7b2d 2320 434f 4d50 494c 4520 4a53 206e {-# COMPILE JS n │ │ │ -00049f30: 6f6e 2d61 7373 6f63 2020 2020 2020 3d20 on-assoc = │ │ │ -00049f40: 226e 6f6e 2d61 7373 6f63 2220 2020 232d "non-assoc" #- │ │ │ -00049f50: 7d0a 0a7b 2d23 2043 4f4d 5049 4c45 204a }..{-# COMPILE J │ │ │ -00049f60: 5320 5072 6563 6564 656e 6365 2020 2020 S Precedence │ │ │ -00049f70: 203d 0a20 2066 756e 6374 696f 6e20 2878 =. function (x │ │ │ -00049f80: 2c76 2920 7b0a 2020 2020 6966 2028 7820 ,v) {. if (x │ │ │ -00049f90: 3d3d 3d20 2275 6e72 656c 6174 6564 2229 === "unrelated") │ │ │ -00049fa0: 207b 2072 6574 7572 6e20 765b 785d 2829 { return v[x]() │ │ │ -00049fb0: 3b20 7d20 656c 7365 207b 2072 6574 7572 ; } else { retur │ │ │ -00049fc0: 6e20 765b 2272 656c 6174 6564 225d 2878 n v["related"](x │ │ │ -00049fd0: 293b 207d 7d20 232d 7d0a 7b2d 2320 434f ); }} #-}.{-# CO │ │ │ -00049fe0: 4d50 494c 4520 4a53 2072 656c 6174 6564 MPILE JS related │ │ │ -00049ff0: 2020 2020 2020 2020 3d20 6675 6e63 7469 = functi │ │ │ -0004a000: 6f6e 2878 2920 7b20 7265 7475 726e 2078 on(x) { return x │ │ │ -0004a010: 3b20 7d20 232d 7d0a 7b2d 2320 434f 4d50 ; } #-}.{-# COMP │ │ │ -0004a020: 494c 4520 4a53 2075 6e72 656c 6174 6564 ILE JS unrelated │ │ │ -0004a030: 2020 2020 2020 3d20 2275 6e72 656c 6174 = "unrelat │ │ │ -0004a040: 6564 2220 2020 2020 2020 2020 2020 2020 ed" │ │ │ -0004a050: 2020 232d 7d0a 0a7b 2d23 2043 4f4d 5049 #-}..{-# COMPI │ │ │ -0004a060: 4c45 204a 5320 4669 7869 7479 2020 2020 LE JS Fixity │ │ │ -0004a070: 2020 2020 203d 2066 756e 6374 696f 6e20 = function │ │ │ -0004a080: 2878 2c76 2920 7b20 7265 7475 726e 2076 (x,v) { return v │ │ │ -0004a090: 5b22 6669 7869 7479 225d 2878 5b22 6173 ["fixity"](x["as │ │ │ -0004a0a0: 736f 6322 5d2c 2078 5b22 7072 6563 225d soc"], x["prec"] │ │ │ -0004a0b0: 293b 207d 2023 2d7d 0a7b 2d23 2043 4f4d ); } #-}.{-# COM │ │ │ -0004a0c0: 5049 4c45 204a 5320 6669 7869 7479 2020 PILE JS fixity │ │ │ -0004a0d0: 2020 2020 2020 203d 2066 756e 6374 696f = functio │ │ │ -0004a0e0: 6e20 2878 2920 7b20 7265 7475 726e 2066 n (x) { return f │ │ │ -0004a0f0: 756e 6374 696f 6e20 2879 2920 7b20 7265 unction (y) { re │ │ │ -0004a100: 7475 726e 207b 2022 6173 736f 6322 3a20 turn { "assoc": │ │ │ -0004a110: 782c 2022 7072 6563 223a 2079 7d3b 207d x, "prec": y}; } │ │ │ -0004a120: 3b20 7d20 232d 7d0a 0a70 7269 6d69 7469 ; } #-}..primiti │ │ │ -0004a130: 7665 0a20 2070 7269 6d51 4e61 6d65 4669 ve. primQNameFi │ │ │ -0004a140: 7869 7479 203a 204e 616d 6520 e286 9220 xity : Name ... │ │ │ -0004a150: 4669 7869 7479 0a20 2070 7269 6d51 4e61 Fixity. primQNa │ │ │ -0004a160: 6d65 546f 576f 7264 3634 7320 3a20 4e61 meToWord64s : Na │ │ │ -0004a170: 6d65 20e2 8692 20ce a320 576f 7264 3634 me ... .. Word64 │ │ │ -0004a180: 2028 cebb 205f 20e2 8692 2057 6f72 6436 (.. _ ... Word6 │ │ │ -0004a190: 3429 0a0a 2d2d 204d 6574 6176 6172 6961 4)..-- Metavaria │ │ │ -0004a1a0: 626c 6573 202d 2d0a 0a70 6f73 7475 6c61 bles --..postula │ │ │ -0004a1b0: 7465 204d 6574 6120 3a20 5365 740a 7b2d te Meta : Set.{- │ │ │ -0004a1c0: 2320 4255 494c 5449 4e20 4147 4441 4d45 # BUILTIN AGDAME │ │ │ -0004a1d0: 5441 204d 6574 6120 232d 7d0a 0a70 7269 TA Meta #-}..pri │ │ │ -0004a1e0: 6d69 7469 7665 0a20 2070 7269 6d4d 6574 mitive. primMet │ │ │ -0004a1f0: 6145 7175 616c 6974 7920 3a20 4d65 7461 aEquality : Meta │ │ │ -0004a200: 20e2 8692 204d 6574 6120 e286 9220 426f ... Meta ... Bo │ │ │ -0004a210: 6f6c 0a20 2070 7269 6d4d 6574 614c 6573 ol. primMetaLes │ │ │ -0004a220: 7320 2020 2020 3a20 4d65 7461 20e2 8692 s : Meta ... │ │ │ -0004a230: 204d 6574 6120 e286 9220 426f 6f6c 0a20 Meta ... Bool. │ │ │ -0004a240: 2070 7269 6d53 686f 774d 6574 6120 2020 primShowMeta │ │ │ -0004a250: 2020 3a20 4d65 7461 20e2 8692 2053 7472 : Meta ... Str │ │ │ -0004a260: 696e 670a 2020 7072 696d 4d65 7461 546f ing. primMetaTo │ │ │ -0004a270: 4e61 7420 2020 203a 204d 6574 6120 e286 Nat : Meta .. │ │ │ -0004a280: 9220 4e61 740a 0a2d 2d20 4172 6775 6d65 . Nat..-- Argume │ │ │ -0004a290: 6e74 7320 2d2d 0a0a 2d2d 2041 7267 756d nts --..-- Argum │ │ │ -0004a2a0: 656e 7473 2063 616e 2062 6520 2876 6973 ents can be (vis │ │ │ -0004a2b0: 6962 6c65 292c 207b 6869 6464 656e 7d2c ible), {hidden}, │ │ │ -0004a2c0: 206f 7220 7b7b 696e 7374 616e 6365 7d7d or {{instance}} │ │ │ -0004a2d0: 2e0a 6461 7461 2056 6973 6962 696c 6974 ..data Visibilit │ │ │ -0004a2e0: 7920 3a20 5365 7420 7768 6572 650a 2020 y : Set where. │ │ │ -0004a2f0: 7669 7369 626c 6520 6869 6464 656e 2069 visible hidden i │ │ │ -0004a300: 6e73 7461 6e63 65e2 80b2 203a 2056 6973 nstance... : Vis │ │ │ -0004a310: 6962 696c 6974 790a 0a7b 2d23 2042 5549 ibility..{-# BUI │ │ │ -0004a320: 4c54 494e 2048 4944 494e 4720 2020 5669 LTIN HIDING Vi │ │ │ -0004a330: 7369 6269 6c69 7479 2023 2d7d 0a7b 2d23 sibility #-}.{-# │ │ │ -0004a340: 2042 5549 4c54 494e 2056 4953 4942 4c45 BUILTIN VISIBLE │ │ │ -0004a350: 2020 7669 7369 626c 6520 2020 2023 2d7d visible #-} │ │ │ -0004a360: 0a7b 2d23 2042 5549 4c54 494e 2048 4944 .{-# BUILTIN HID │ │ │ -0004a370: 4445 4e20 2020 6869 6464 656e 2020 2020 DEN hidden │ │ │ -0004a380: 2023 2d7d 0a7b 2d23 2042 5549 4c54 494e #-}.{-# BUILTIN │ │ │ -0004a390: 2049 4e53 5441 4e43 4520 696e 7374 616e INSTANCE instan │ │ │ -0004a3a0: 6365 e280 b220 2023 2d7d 0a0a 2d2d 2041 ce... #-}..-- A │ │ │ -0004a3b0: 7267 756d 656e 7473 2063 616e 2062 6520 rguments can be │ │ │ -0004a3c0: 7265 6c65 7661 6e74 206f 7220 6972 7265 relevant or irre │ │ │ -0004a3d0: 6c65 7661 6e74 2e0a 6461 7461 2052 656c levant..data Rel │ │ │ -0004a3e0: 6576 616e 6365 203a 2053 6574 2077 6865 evance : Set whe │ │ │ -0004a3f0: 7265 0a20 2072 656c 6576 616e 7420 6972 re. relevant ir │ │ │ -0004a400: 7265 6c65 7661 6e74 203a 2052 656c 6576 relevant : Relev │ │ │ -0004a410: 616e 6365 0a0a 7b2d 2320 4255 494c 5449 ance..{-# BUILTI │ │ │ -0004a420: 4e20 5245 4c45 5641 4e43 4520 2052 656c N RELEVANCE Rel │ │ │ -0004a430: 6576 616e 6365 2020 232d 7d0a 7b2d 2320 evance #-}.{-# │ │ │ -0004a440: 4255 494c 5449 4e20 5245 4c45 5641 4e54 BUILTIN RELEVANT │ │ │ -0004a450: 2020 2072 656c 6576 616e 7420 2020 232d relevant #- │ │ │ -0004a460: 7d0a 7b2d 2320 4255 494c 5449 4e20 4952 }.{-# BUILTIN IR │ │ │ -0004a470: 5245 4c45 5641 4e54 2069 7272 656c 6576 RELEVANT irrelev │ │ │ -0004a480: 616e 7420 232d 7d0a 0a2d 2d20 4172 6775 ant #-}..-- Argu │ │ │ -0004a490: 6d65 6e74 7320 616c 736f 2068 6176 6520 ments also have │ │ │ -0004a4a0: 6120 7175 616e 7469 7479 2e0a 6461 7461 a quantity..data │ │ │ -0004a4b0: 2051 7561 6e74 6974 7920 3a20 5365 7420 Quantity : Set │ │ │ -0004a4c0: 7768 6572 650a 2020 7175 616e 7469 7479 where. quantity │ │ │ -0004a4d0: 2d30 2071 7561 6e74 6974 792d cf89 203a -0 quantity-.. : │ │ │ -0004a4e0: 2051 7561 6e74 6974 790a 0a7b 2d23 2042 Quantity..{-# B │ │ │ -0004a4f0: 5549 4c54 494e 2051 5541 4e54 4954 5920 UILTIN QUANTITY │ │ │ -0004a500: 2020 5175 616e 7469 7479 2020 2023 2d7d Quantity #-} │ │ │ -0004a510: 0a7b 2d23 2042 5549 4c54 494e 2051 5541 .{-# BUILTIN QUA │ │ │ -0004a520: 4e54 4954 592d 3020 7175 616e 7469 7479 NTITY-0 quantity │ │ │ -0004a530: 2d30 2023 2d7d 0a7b 2d23 2042 5549 4c54 -0 #-}.{-# BUILT │ │ │ -0004a540: 494e 2051 5541 4e54 4954 592d cf89 2071 IN QUANTITY-.. q │ │ │ -0004a550: 7561 6e74 6974 792d cf89 2023 2d7d 0a0a uantity-.. #-}.. │ │ │ -0004a560: 2d2d 2052 656c 6576 616e 6365 2061 6e64 -- Relevance and │ │ │ -0004a570: 2071 7561 6e74 6974 7920 6172 6520 636f quantity are co │ │ │ -0004a580: 6d62 696e 6564 2069 6e74 6f20 6120 6d6f mbined into a mo │ │ │ -0004a590: 6461 6c69 7479 2e0a 6461 7461 204d 6f64 dality..data Mod │ │ │ -0004a5a0: 616c 6974 7920 3a20 5365 7420 7768 6572 ality : Set wher │ │ │ -0004a5b0: 650a 2020 6d6f 6461 6c69 7479 203a 2028 e. modality : ( │ │ │ -0004a5c0: 7220 3a20 5265 6c65 7661 6e63 6529 2028 r : Relevance) ( │ │ │ -0004a5d0: 7120 3a20 5175 616e 7469 7479 2920 e286 q : Quantity) .. │ │ │ -0004a5e0: 9220 4d6f 6461 6c69 7479 0a0a 7b2d 2320 . Modality..{-# │ │ │ -0004a5f0: 4255 494c 5449 4e20 4d4f 4441 4c49 5459 BUILTIN MODALITY │ │ │ -0004a600: 2020 2020 2020 2020 2020 2020 204d 6f64 Mod │ │ │ -0004a610: 616c 6974 7920 232d 7d0a 7b2d 2320 4255 ality #-}.{-# BU │ │ │ -0004a620: 494c 5449 4e20 4d4f 4441 4c49 5459 2d43 ILTIN MODALITY-C │ │ │ -0004a630: 4f4e 5354 5255 4354 4f52 206d 6f64 616c ONSTRUCTOR modal │ │ │ -0004a640: 6974 7920 232d 7d0a 0a64 6174 6120 4172 ity #-}..data Ar │ │ │ -0004a650: 6749 6e66 6f20 3a20 5365 7420 7768 6572 gInfo : Set wher │ │ │ -0004a660: 650a 2020 6172 672d 696e 666f 203a 2028 e. arg-info : ( │ │ │ -0004a670: 7620 3a20 5669 7369 6269 6c69 7479 2920 v : Visibility) │ │ │ -0004a680: 286d 203a 204d 6f64 616c 6974 7929 20e2 (m : Modality) . │ │ │ -0004a690: 8692 2041 7267 496e 666f 0a0a 6461 7461 .. ArgInfo..data │ │ │ -0004a6a0: 2041 7267 207b 617d 2028 4120 3a20 5365 Arg {a} (A : Se │ │ │ -0004a6b0: 7420 6129 203a 2053 6574 2061 2077 6865 t a) : Set a whe │ │ │ -0004a6c0: 7265 0a20 2061 7267 203a 2028 6920 3a20 re. arg : (i : │ │ │ -0004a6d0: 4172 6749 6e66 6f29 2028 7820 3a20 4129 ArgInfo) (x : A) │ │ │ -0004a6e0: 20e2 8692 2041 7267 2041 0a0a 7b2d 2320 ... Arg A..{-# │ │ │ -0004a6f0: 4255 494c 5449 4e20 4152 4749 4e46 4f20 BUILTIN ARGINFO │ │ │ -0004a700: 2020 2041 7267 496e 666f 2020 232d 7d0a ArgInfo #-}. │ │ │ -0004a710: 7b2d 2320 4255 494c 5449 4e20 4152 4741 {-# BUILTIN ARGA │ │ │ -0004a720: 5247 494e 464f 2061 7267 2d69 6e66 6f20 RGINFO arg-info │ │ │ -0004a730: 232d 7d0a 7b2d 2320 4255 494c 5449 4e20 #-}.{-# BUILTIN │ │ │ -0004a740: 4152 4720 2020 2020 2020 2041 7267 2020 ARG Arg │ │ │ -0004a750: 2020 2020 232d 7d0a 7b2d 2320 4255 494c #-}.{-# BUIL │ │ │ -0004a760: 5449 4e20 4152 4741 5247 2020 2020 2061 TIN ARGARG a │ │ │ -0004a770: 7267 2020 2020 2020 232d 7d0a 0a64 6174 rg #-}..dat │ │ │ -0004a780: 6120 426c 6f63 6b65 7220 3a20 5365 7420 a Blocker : Set │ │ │ -0004a790: 7768 6572 650a 2020 626c 6f63 6b65 7241 where. blockerA │ │ │ -0004a7a0: 6e79 2020 3a20 4c69 7374 2042 6c6f 636b ny : List Block │ │ │ -0004a7b0: 6572 20e2 8692 2042 6c6f 636b 6572 0a20 er ... Blocker. │ │ │ -0004a7c0: 2062 6c6f 636b 6572 416c 6c20 203a 204c blockerAll : L │ │ │ -0004a7d0: 6973 7420 426c 6f63 6b65 7220 e286 9220 ist Blocker ... │ │ │ -0004a7e0: 426c 6f63 6b65 720a 2020 626c 6f63 6b65 Blocker. blocke │ │ │ -0004a7f0: 724d 6574 6120 3a20 4d65 7461 20e2 8692 rMeta : Meta ... │ │ │ -0004a800: 2042 6c6f 636b 6572 0a0a 7b2d 2320 4255 Blocker..{-# BU │ │ │ -0004a810: 494c 5449 4e20 4147 4441 424c 4f43 4b45 ILTIN AGDABLOCKE │ │ │ -0004a820: 5220 2020 2020 426c 6f63 6b65 7220 232d R Blocker #- │ │ │ -0004a830: 7d0a 7b2d 2320 4255 494c 5449 4e20 4147 }.{-# BUILTIN AG │ │ │ -0004a840: 4441 424c 4f43 4b45 5241 4e59 2020 626c DABLOCKERANY bl │ │ │ -0004a850: 6f63 6b65 7241 6e79 2023 2d7d 0a7b 2d23 ockerAny #-}.{-# │ │ │ -0004a860: 2042 5549 4c54 494e 2041 4744 4142 4c4f BUILTIN AGDABLO │ │ │ -0004a870: 434b 4552 414c 4c20 2062 6c6f 636b 6572 CKERALL blocker │ │ │ -0004a880: 416c 6c20 232d 7d0a 7b2d 2320 4255 494c All #-}.{-# BUIL │ │ │ -0004a890: 5449 4e20 4147 4441 424c 4f43 4b45 524d TIN AGDABLOCKERM │ │ │ -0004a8a0: 4554 4120 626c 6f63 6b65 724d 6574 6120 ETA blockerMeta │ │ │ -0004a8b0: 232d 7d0a 0a2d 2d20 4e61 6d65 2061 6273 #-}..-- Name abs │ │ │ -0004a8c0: 7472 6163 7469 6f6e 202d 2d0a 0a64 6174 traction --..dat │ │ │ -0004a8d0: 6120 4162 7320 7b61 7d20 2841 203a 2053 a Abs {a} (A : S │ │ │ -0004a8e0: 6574 2061 2920 3a20 5365 7420 6120 7768 et a) : Set a wh │ │ │ -0004a8f0: 6572 650a 2020 6162 7320 3a20 2873 203a ere. abs : (s : │ │ │ -0004a900: 2053 7472 696e 6729 2028 7820 3a20 4129 String) (x : A) │ │ │ -0004a910: 20e2 8692 2041 6273 2041 0a0a 7b2d 2320 ... Abs A..{-# │ │ │ -0004a920: 4255 494c 5449 4e20 4142 5320 2020 2041 BUILTIN ABS A │ │ │ -0004a930: 6273 2023 2d7d 0a7b 2d23 2042 5549 4c54 bs #-}.{-# BUILT │ │ │ -0004a940: 494e 2041 4253 4142 5320 6162 7320 232d IN ABSABS abs #- │ │ │ -0004a950: 7d0a 0a2d 2d20 4c69 7465 7261 6c73 202d }..-- Literals - │ │ │ -0004a960: 2d0a 0a64 6174 6120 4c69 7465 7261 6c20 -..data Literal │ │ │ -0004a970: 3a20 5365 7420 7768 6572 650a 2020 6e61 : Set where. na │ │ │ -0004a980: 7420 2020 203a 2028 6e20 3a20 4e61 7429 t : (n : Nat) │ │ │ -0004a990: 2020 2020 e286 9220 4c69 7465 7261 6c0a ... Literal. │ │ │ -0004a9a0: 2020 776f 7264 3634 203a 2028 6e20 3a20 word64 : (n : │ │ │ -0004a9b0: 576f 7264 3634 2920 e286 9220 4c69 7465 Word64) ... Lite │ │ │ -0004a9c0: 7261 6c0a 2020 666c 6f61 7420 203a 2028 ral. float : ( │ │ │ -0004a9d0: 7820 3a20 466c 6f61 7429 2020 e286 9220 x : Float) ... │ │ │ -0004a9e0: 4c69 7465 7261 6c0a 2020 6368 6172 2020 Literal. char │ │ │ -0004a9f0: 203a 2028 6320 3a20 4368 6172 2920 2020 : (c : Char) │ │ │ -0004aa00: e286 9220 4c69 7465 7261 6c0a 2020 7374 ... Literal. st │ │ │ -0004aa10: 7269 6e67 203a 2028 7320 3a20 5374 7269 ring : (s : Stri │ │ │ -0004aa20: 6e67 2920 e286 9220 4c69 7465 7261 6c0a ng) ... Literal. │ │ │ -0004aa30: 2020 6e61 6d65 2020 203a 2028 7820 3a20 name : (x : │ │ │ -0004aa40: 4e61 6d65 2920 2020 e286 9220 4c69 7465 Name) ... Lite │ │ │ -0004aa50: 7261 6c0a 2020 6d65 7461 2020 203a 2028 ral. meta : ( │ │ │ -0004aa60: 7820 3a20 4d65 7461 2920 2020 e286 9220 x : Meta) ... │ │ │ -0004aa70: 4c69 7465 7261 6c0a 0a7b 2d23 2042 5549 Literal..{-# BUI │ │ │ -0004aa80: 4c54 494e 2041 4744 414c 4954 4552 414c LTIN AGDALITERAL │ │ │ -0004aa90: 2020 204c 6974 6572 616c 2023 2d7d 0a7b Literal #-}.{ │ │ │ -0004aaa0: 2d23 2042 5549 4c54 494e 2041 4744 414c -# BUILTIN AGDAL │ │ │ -0004aab0: 4954 4e41 5420 2020 206e 6174 2020 2020 ITNAT nat │ │ │ -0004aac0: 2023 2d7d 0a7b 2d23 2042 5549 4c54 494e #-}.{-# BUILTIN │ │ │ -0004aad0: 2041 4744 414c 4954 574f 5244 3634 2077 AGDALITWORD64 w │ │ │ -0004aae0: 6f72 6436 3420 2023 2d7d 0a7b 2d23 2042 ord64 #-}.{-# B │ │ │ -0004aaf0: 5549 4c54 494e 2041 4744 414c 4954 464c UILTIN AGDALITFL │ │ │ -0004ab00: 4f41 5420 2066 6c6f 6174 2020 2023 2d7d OAT float #-} │ │ │ -0004ab10: 0a7b 2d23 2042 5549 4c54 494e 2041 4744 .{-# BUILTIN AGD │ │ │ -0004ab20: 414c 4954 4348 4152 2020 2063 6861 7220 ALITCHAR char │ │ │ -0004ab30: 2020 2023 2d7d 0a7b 2d23 2042 5549 4c54 #-}.{-# BUILT │ │ │ -0004ab40: 494e 2041 4744 414c 4954 5354 5249 4e47 IN AGDALITSTRING │ │ │ -0004ab50: 2073 7472 696e 6720 2023 2d7d 0a7b 2d23 string #-}.{-# │ │ │ -0004ab60: 2042 5549 4c54 494e 2041 4744 414c 4954 BUILTIN AGDALIT │ │ │ -0004ab70: 514e 414d 4520 206e 616d 6520 2020 2023 QNAME name # │ │ │ -0004ab80: 2d7d 0a7b 2d23 2042 5549 4c54 494e 2041 -}.{-# BUILTIN A │ │ │ -0004ab90: 4744 414c 4954 4d45 5441 2020 206d 6574 GDALITMETA met │ │ │ -0004aba0: 6120 2020 2023 2d7d 0a0a 0a2d 2d20 5465 a #-}...-- Te │ │ │ -0004abb0: 726d 7320 616e 6420 7061 7474 6572 6e73 rms and patterns │ │ │ -0004abc0: 202d 2d0a 0a64 6174 6120 5465 726d 2020 --..data Term │ │ │ -0004abd0: 2020 3a20 5365 740a 6461 7461 2053 6f72 : Set.data Sor │ │ │ -0004abe0: 7420 2020 203a 2053 6574 0a64 6174 6120 t : Set.data │ │ │ -0004abf0: 5061 7474 6572 6e20 3a20 5365 740a 6461 Pattern : Set.da │ │ │ -0004ac00: 7461 2043 6c61 7573 6520 203a 2053 6574 ta Clause : Set │ │ │ -0004ac10: 0a54 7970 6520 3d20 5465 726d 0a54 656c .Type = Term.Tel │ │ │ -0004ac20: 6573 636f 7065 203d 204c 6973 7420 28ce escope = List (. │ │ │ -0004ac30: a320 5374 7269 6e67 20ce bb20 5f20 e286 . String .. _ .. │ │ │ -0004ac40: 9220 4172 6720 5479 7065 290a 0a64 6174 . Arg Type)..dat │ │ │ -0004ac50: 6120 5465 726d 2077 6865 7265 0a20 2076 a Term where. v │ │ │ -0004ac60: 6172 2020 2020 2020 203a 2028 7820 3a20 ar : (x : │ │ │ -0004ac70: 4e61 7429 2028 6172 6773 203a 204c 6973 Nat) (args : Lis │ │ │ -0004ac80: 7420 2841 7267 2054 6572 6d29 2920 e286 t (Arg Term)) .. │ │ │ -0004ac90: 9220 5465 726d 0a20 2063 6f6e 2020 2020 . Term. con │ │ │ -0004aca0: 2020 203a 2028 6320 3a20 4e61 6d65 2920 : (c : Name) │ │ │ -0004acb0: 2861 7267 7320 3a20 4c69 7374 2028 4172 (args : List (Ar │ │ │ -0004acc0: 6720 5465 726d 2929 20e2 8692 2054 6572 g Term)) ... Ter │ │ │ -0004acd0: 6d0a 2020 6465 6620 2020 2020 2020 3a20 m. def : │ │ │ -0004ace0: 2866 203a 204e 616d 6529 2028 6172 6773 (f : Name) (args │ │ │ -0004acf0: 203a 204c 6973 7420 2841 7267 2054 6572 : List (Arg Ter │ │ │ -0004ad00: 6d29 2920 e286 9220 5465 726d 0a20 206c m)) ... Term. l │ │ │ -0004ad10: 616d 2020 2020 2020 203a 2028 7620 3a20 am : (v : │ │ │ -0004ad20: 5669 7369 6269 6c69 7479 2920 2874 203a Visibility) (t : │ │ │ -0004ad30: 2041 6273 2054 6572 6d29 20e2 8692 2054 Abs Term) ... T │ │ │ -0004ad40: 6572 6d0a 2020 7061 742d 6c61 6d20 2020 erm. pat-lam │ │ │ -0004ad50: 3a20 2863 7320 3a20 4c69 7374 2043 6c61 : (cs : List Cla │ │ │ -0004ad60: 7573 6529 2028 6172 6773 203a 204c 6973 use) (args : Lis │ │ │ -0004ad70: 7420 2841 7267 2054 6572 6d29 2920 e286 t (Arg Term)) .. │ │ │ -0004ad80: 9220 5465 726d 0a20 2070 6920 2020 2020 . Term. pi │ │ │ -0004ad90: 2020 203a 2028 6120 3a20 4172 6720 5479 : (a : Arg Ty │ │ │ -0004ada0: 7065 2920 2862 203a 2041 6273 2054 7970 pe) (b : Abs Typ │ │ │ -0004adb0: 6529 20e2 8692 2054 6572 6d0a 2020 6167 e) ... Term. ag │ │ │ -0004adc0: 6461 2d73 6f72 7420 3a20 2873 203a 2053 da-sort : (s : S │ │ │ -0004add0: 6f72 7429 20e2 8692 2054 6572 6d0a 2020 ort) ... Term. │ │ │ -0004ade0: 6c69 7420 2020 2020 2020 3a20 286c 203a lit : (l : │ │ │ -0004adf0: 204c 6974 6572 616c 2920 e286 9220 5465 Literal) ... Te │ │ │ -0004ae00: 726d 0a20 206d 6574 6120 2020 2020 203a rm. meta : │ │ │ -0004ae10: 2028 7820 3a20 4d65 7461 2920 e286 9220 (x : Meta) ... │ │ │ -0004ae20: 4c69 7374 2028 4172 6720 5465 726d 2920 List (Arg Term) │ │ │ -0004ae30: e286 9220 5465 726d 0a20 2075 6e6b 6e6f ... Term. unkno │ │ │ -0004ae40: 776e 2020 203a 2054 6572 6d0a 0a64 6174 wn : Term..dat │ │ │ -0004ae50: 6120 536f 7274 2077 6865 7265 0a20 2073 a Sort where. s │ │ │ -0004ae60: 6574 2020 2020 203a 2028 7420 3a20 5465 et : (t : Te │ │ │ -0004ae70: 726d 2920 e286 9220 536f 7274 0a20 206c rm) ... Sort. l │ │ │ -0004ae80: 6974 2020 2020 203a 2028 6e20 3a20 4e61 it : (n : Na │ │ │ -0004ae90: 7429 20e2 8692 2053 6f72 740a 2020 7072 t) ... Sort. pr │ │ │ -0004aea0: 6f70 2020 2020 3a20 2874 203a 2054 6572 op : (t : Ter │ │ │ -0004aeb0: 6d29 20e2 8692 2053 6f72 740a 2020 7072 m) ... Sort. pr │ │ │ -0004aec0: 6f70 4c69 7420 3a20 286e 203a 204e 6174 opLit : (n : Nat │ │ │ -0004aed0: 2920 e286 9220 536f 7274 0a20 2069 6e66 ) ... Sort. inf │ │ │ -0004aee0: 2020 2020 203a 2028 6e20 3a20 4e61 7429 : (n : Nat) │ │ │ -0004aef0: 20e2 8692 2053 6f72 740a 2020 756e 6b6e ... Sort. unkn │ │ │ -0004af00: 6f77 6e20 3a20 536f 7274 0a0a 6461 7461 own : Sort..data │ │ │ -0004af10: 2050 6174 7465 726e 2077 6865 7265 0a20 Pattern where. │ │ │ -0004af20: 2063 6f6e 2020 2020 3a20 2863 203a 204e con : (c : N │ │ │ -0004af30: 616d 6529 2028 7073 203a 204c 6973 7420 ame) (ps : List │ │ │ -0004af40: 2841 7267 2050 6174 7465 726e 2929 20e2 (Arg Pattern)) . │ │ │ -0004af50: 8692 2050 6174 7465 726e 0a20 2064 6f74 .. Pattern. dot │ │ │ -0004af60: 2020 2020 3a20 2874 203a 2054 6572 6d29 : (t : Term) │ │ │ -0004af70: 2020 2020 e286 9220 5061 7474 6572 6e0a ... Pattern. │ │ │ -0004af80: 2020 7661 7220 2020 203a 2028 7820 3a20 var : (x : │ │ │ -0004af90: 4e61 7429 2020 2020 20e2 8692 2050 6174 Nat) ... Pat │ │ │ -0004afa0: 7465 726e 0a20 206c 6974 2020 2020 3a20 tern. lit : │ │ │ -0004afb0: 286c 203a 204c 6974 6572 616c 2920 e286 (l : Literal) .. │ │ │ -0004afc0: 9220 5061 7474 6572 6e0a 2020 7072 6f6a . Pattern. proj │ │ │ -0004afd0: 2020 203a 2028 6620 3a20 4e61 6d65 2920 : (f : Name) │ │ │ -0004afe0: 2020 20e2 8692 2050 6174 7465 726e 0a20 ... Pattern. │ │ │ -0004aff0: 2061 6273 7572 6420 3a20 2878 203a 204e absurd : (x : N │ │ │ -0004b000: 6174 2920 2020 2020 e286 9220 5061 7474 at) ... Patt │ │ │ -0004b010: 6572 6e20 202d 2d20 6162 7375 7264 2070 ern -- absurd p │ │ │ -0004b020: 6174 7465 726e 7320 636f 756e 7473 2061 atterns counts a │ │ │ -0004b030: 7320 7661 7269 6162 6c65 730a 0a64 6174 s variables..dat │ │ │ -0004b040: 6120 436c 6175 7365 2077 6865 7265 0a20 a Clause where. │ │ │ -0004b050: 2063 6c61 7573 6520 2020 2020 2020 203a clause : │ │ │ -0004b060: 2028 7465 6c20 3a20 5465 6c65 7363 6f70 (tel : Telescop │ │ │ -0004b070: 6529 2028 7073 203a 204c 6973 7420 2841 e) (ps : List (A │ │ │ -0004b080: 7267 2050 6174 7465 726e 2929 2028 7420 rg Pattern)) (t │ │ │ -0004b090: 3a20 5465 726d 2920 e286 9220 436c 6175 : Term) ... Clau │ │ │ -0004b0a0: 7365 0a20 2061 6273 7572 642d 636c 6175 se. absurd-clau │ │ │ -0004b0b0: 7365 203a 2028 7465 6c20 3a20 5465 6c65 se : (tel : Tele │ │ │ -0004b0c0: 7363 6f70 6529 2028 7073 203a 204c 6973 scope) (ps : Lis │ │ │ -0004b0d0: 7420 2841 7267 2050 6174 7465 726e 2929 t (Arg Pattern)) │ │ │ -0004b0e0: 20e2 8692 2043 6c61 7573 650a 0a7b 2d23 ... Clause..{-# │ │ │ -0004b0f0: 2042 5549 4c54 494e 2041 4744 4154 4552 BUILTIN AGDATER │ │ │ -0004b100: 4d20 2020 2020 2054 6572 6d20 2020 2023 M Term # │ │ │ -0004b110: 2d7d 0a7b 2d23 2042 5549 4c54 494e 2041 -}.{-# BUILTIN A │ │ │ -0004b120: 4744 4153 4f52 5420 2020 2020 2053 6f72 GDASORT Sor │ │ │ -0004b130: 7420 2020 2023 2d7d 0a7b 2d23 2042 5549 t #-}.{-# BUI │ │ │ -0004b140: 4c54 494e 2041 4744 4150 4154 5445 524e LTIN AGDAPATTERN │ │ │ -0004b150: 2020 2050 6174 7465 726e 2023 2d7d 0a7b Pattern #-}.{ │ │ │ -0004b160: 2d23 2042 5549 4c54 494e 2041 4744 4143 -# BUILTIN AGDAC │ │ │ -0004b170: 4c41 5553 4520 2020 2043 6c61 7573 6520 LAUSE Clause │ │ │ -0004b180: 2023 2d7d 0a0a 7b2d 2320 4255 494c 5449 #-}..{-# BUILTI │ │ │ -0004b190: 4e20 4147 4441 5445 524d 5641 5220 2020 N AGDATERMVAR │ │ │ -0004b1a0: 2020 2020 2020 7661 7220 2020 2020 2020 var │ │ │ -0004b1b0: 232d 7d0a 7b2d 2320 4255 494c 5449 4e20 #-}.{-# BUILTIN │ │ │ -0004b1c0: 4147 4441 5445 524d 434f 4e20 2020 2020 AGDATERMCON │ │ │ -0004b1d0: 2020 2020 636f 6e20 2020 2020 2020 232d con #- │ │ │ -0004b1e0: 7d0a 7b2d 2320 4255 494c 5449 4e20 4147 }.{-# BUILTIN AG │ │ │ -0004b1f0: 4441 5445 524d 4445 4620 2020 2020 2020 DATERMDEF │ │ │ -0004b200: 2020 6465 6620 2020 2020 2020 232d 7d0a def #-}. │ │ │ -0004b210: 7b2d 2320 4255 494c 5449 4e20 4147 4441 {-# BUILTIN AGDA │ │ │ -0004b220: 5445 524d 4d45 5441 2020 2020 2020 2020 TERMMETA │ │ │ -0004b230: 6d65 7461 2020 2020 2020 232d 7d0a 7b2d meta #-}.{- │ │ │ -0004b240: 2320 4255 494c 5449 4e20 4147 4441 5445 # BUILTIN AGDATE │ │ │ -0004b250: 524d 4c41 4d20 2020 2020 2020 2020 6c61 RMLAM la │ │ │ -0004b260: 6d20 2020 2020 2020 232d 7d0a 7b2d 2320 m #-}.{-# │ │ │ -0004b270: 4255 494c 5449 4e20 4147 4441 5445 524d BUILTIN AGDATERM │ │ │ -0004b280: 4558 544c 414d 2020 2020 2020 7061 742d EXTLAM pat- │ │ │ -0004b290: 6c61 6d20 2020 232d 7d0a 7b2d 2320 4255 lam #-}.{-# BU │ │ │ -0004b2a0: 494c 5449 4e20 4147 4441 5445 524d 5049 ILTIN AGDATERMPI │ │ │ -0004b2b0: 2020 2020 2020 2020 2020 7069 2020 2020 pi │ │ │ -0004b2c0: 2020 2020 232d 7d0a 7b2d 2320 4255 494c #-}.{-# BUIL │ │ │ -0004b2d0: 5449 4e20 4147 4441 5445 524d 534f 5254 TIN AGDATERMSORT │ │ │ -0004b2e0: 2020 2020 2020 2020 6167 6461 2d73 6f72 agda-sor │ │ │ -0004b2f0: 7420 232d 7d0a 7b2d 2320 4255 494c 5449 t #-}.{-# BUILTI │ │ │ -0004b300: 4e20 4147 4441 5445 524d 4c49 5420 2020 N AGDATERMLIT │ │ │ -0004b310: 2020 2020 2020 6c69 7420 2020 2020 2020 lit │ │ │ -0004b320: 232d 7d0a 7b2d 2320 4255 494c 5449 4e20 #-}.{-# BUILTIN │ │ │ -0004b330: 4147 4441 5445 524d 554e 5355 5050 4f52 AGDATERMUNSUPPOR │ │ │ -0004b340: 5445 4420 756e 6b6e 6f77 6e20 2020 232d TED unknown #- │ │ │ -0004b350: 7d0a 0a7b 2d23 2042 5549 4c54 494e 2041 }..{-# BUILTIN A │ │ │ -0004b360: 4744 4153 4f52 5453 4554 2020 2020 2020 GDASORTSET │ │ │ -0004b370: 2020 2073 6574 2020 2020 2023 2d7d 0a7b set #-}.{ │ │ │ -0004b380: 2d23 2042 5549 4c54 494e 2041 4744 4153 -# BUILTIN AGDAS │ │ │ -0004b390: 4f52 544c 4954 2020 2020 2020 2020 206c ORTLIT l │ │ │ -0004b3a0: 6974 2020 2020 2023 2d7d 0a7b 2d23 2042 it #-}.{-# B │ │ │ -0004b3b0: 5549 4c54 494e 2041 4744 4153 4f52 5450 UILTIN AGDASORTP │ │ │ -0004b3c0: 524f 5020 2020 2020 2020 2070 726f 7020 ROP prop │ │ │ -0004b3d0: 2020 2023 2d7d 0a7b 2d23 2042 5549 4c54 #-}.{-# BUILT │ │ │ -0004b3e0: 494e 2041 4744 4153 4f52 5450 524f 504c IN AGDASORTPROPL │ │ │ -0004b3f0: 4954 2020 2020 2070 726f 704c 6974 2023 IT propLit # │ │ │ -0004b400: 2d7d 0a7b 2d23 2042 5549 4c54 494e 2041 -}.{-# BUILTIN A │ │ │ -0004b410: 4744 4153 4f52 5449 4e46 2020 2020 2020 GDASORTINF │ │ │ -0004b420: 2020 2069 6e66 2020 2020 2023 2d7d 0a7b inf #-}.{ │ │ │ -0004b430: 2d23 2042 5549 4c54 494e 2041 4744 4153 -# BUILTIN AGDAS │ │ │ -0004b440: 4f52 5455 4e53 5550 504f 5254 4544 2075 ORTUNSUPPORTED u │ │ │ -0004b450: 6e6b 6e6f 776e 2023 2d7d 0a0a 7b2d 2320 nknown #-}..{-# │ │ │ -0004b460: 4255 494c 5449 4e20 4147 4441 5041 5443 BUILTIN AGDAPATC │ │ │ -0004b470: 4f4e 2020 2020 636f 6e20 2020 2020 232d ON con #- │ │ │ -0004b480: 7d0a 7b2d 2320 4255 494c 5449 4e20 4147 }.{-# BUILTIN AG │ │ │ -0004b490: 4441 5041 5444 4f54 2020 2020 646f 7420 DAPATDOT dot │ │ │ -0004b4a0: 2020 2020 232d 7d0a 7b2d 2320 4255 494c #-}.{-# BUIL │ │ │ -0004b4b0: 5449 4e20 4147 4441 5041 5456 4152 2020 TIN AGDAPATVAR │ │ │ -0004b4c0: 2020 7661 7220 2020 2020 232d 7d0a 7b2d var #-}.{- │ │ │ -0004b4d0: 2320 4255 494c 5449 4e20 4147 4441 5041 # BUILTIN AGDAPA │ │ │ -0004b4e0: 544c 4954 2020 2020 6c69 7420 2020 2020 TLIT lit │ │ │ -0004b4f0: 232d 7d0a 7b2d 2320 4255 494c 5449 4e20 #-}.{-# BUILTIN │ │ │ -0004b500: 4147 4441 5041 5450 524f 4a20 2020 7072 AGDAPATPROJ pr │ │ │ -0004b510: 6f6a 2020 2020 232d 7d0a 7b2d 2320 4255 oj #-}.{-# BU │ │ │ -0004b520: 494c 5449 4e20 4147 4441 5041 5441 4253 ILTIN AGDAPATABS │ │ │ -0004b530: 5552 4420 6162 7375 7264 2020 232d 7d0a URD absurd #-}. │ │ │ -0004b540: 0a7b 2d23 2042 5549 4c54 494e 2041 4744 .{-# BUILTIN AGD │ │ │ -0004b550: 4143 4c41 5553 4543 4c41 5553 4520 636c ACLAUSECLAUSE cl │ │ │ -0004b560: 6175 7365 2020 2020 2020 2020 232d 7d0a ause #-}. │ │ │ -0004b570: 7b2d 2320 4255 494c 5449 4e20 4147 4441 {-# BUILTIN AGDA │ │ │ -0004b580: 434c 4155 5345 4142 5355 5244 2061 6273 CLAUSEABSURD abs │ │ │ -0004b590: 7572 642d 636c 6175 7365 2023 2d7d 0a0a urd-clause #-}.. │ │ │ -0004b5a0: 2d2d 2044 6566 696e 6974 696f 6e73 202d -- Definitions - │ │ │ -0004b5b0: 2d0a 0a64 6174 6120 4465 6669 6e69 7469 -..data Definiti │ │ │ -0004b5c0: 6f6e 203a 2053 6574 2077 6865 7265 0a20 on : Set where. │ │ │ -0004b5d0: 2066 756e 6374 696f 6e20 2020 203a 2028 function : ( │ │ │ -0004b5e0: 6373 203a 204c 6973 7420 436c 6175 7365 cs : List Clause │ │ │ -0004b5f0: 2920 e286 9220 4465 6669 6e69 7469 6f6e ) ... Definition │ │ │ -0004b600: 0a20 2064 6174 612d 7479 7065 2020 203a . data-type : │ │ │ -0004b610: 2028 7061 7273 203a 204e 6174 2920 2863 (pars : Nat) (c │ │ │ -0004b620: 7320 3a20 4c69 7374 204e 616d 6529 20e2 s : List Name) . │ │ │ -0004b630: 8692 2044 6566 696e 6974 696f 6e0a 2020 .. Definition. │ │ │ -0004b640: 7265 636f 7264 2d74 7970 6520 3a20 2863 record-type : (c │ │ │ -0004b650: 203a 204e 616d 6529 2028 6673 203a 204c : Name) (fs : L │ │ │ -0004b660: 6973 7420 2841 7267 204e 616d 6529 2920 ist (Arg Name)) │ │ │ -0004b670: e286 9220 4465 6669 6e69 7469 6f6e 0a20 ... Definition. │ │ │ -0004b680: 2064 6174 612d 636f 6e73 2020 203a 2028 data-cons : ( │ │ │ -0004b690: 6420 3a20 4e61 6d65 2920 2871 203a 2051 d : Name) (q : Q │ │ │ -0004b6a0: 7561 6e74 6974 7929 20e2 8692 2044 6566 uantity) ... Def │ │ │ -0004b6b0: 696e 6974 696f 6e0a 2020 6178 696f 6d20 inition. axiom │ │ │ -0004b6c0: 2020 2020 2020 3a20 4465 6669 6e69 7469 : Definiti │ │ │ -0004b6d0: 6f6e 0a20 2070 7269 6d2d 6675 6e20 2020 on. prim-fun │ │ │ -0004b6e0: 203a 2044 6566 696e 6974 696f 6e0a 0a7b : Definition..{ │ │ │ -0004b6f0: 2d23 2042 5549 4c54 494e 2041 4744 4144 -# BUILTIN AGDAD │ │ │ -0004b700: 4546 494e 4954 494f 4e20 2020 2020 2020 EFINITION │ │ │ -0004b710: 2020 2020 2020 2020 2044 6566 696e 6974 Definit │ │ │ -0004b720: 696f 6e20 2023 2d7d 0a7b 2d23 2042 5549 ion #-}.{-# BUI │ │ │ -0004b730: 4c54 494e 2041 4744 4144 4546 494e 4954 LTIN AGDADEFINIT │ │ │ -0004b740: 494f 4e46 554e 4445 4620 2020 2020 2020 IONFUNDEF │ │ │ -0004b750: 2020 2066 756e 6374 696f 6e20 2020 2023 function # │ │ │ -0004b760: 2d7d 0a7b 2d23 2042 5549 4c54 494e 2041 -}.{-# BUILTIN A │ │ │ -0004b770: 4744 4144 4546 494e 4954 494f 4e44 4154 GDADEFINITIONDAT │ │ │ -0004b780: 4144 4546 2020 2020 2020 2020 2064 6174 ADEF dat │ │ │ -0004b790: 612d 7479 7065 2020 2023 2d7d 0a7b 2d23 a-type #-}.{-# │ │ │ -0004b7a0: 2042 5549 4c54 494e 2041 4744 4144 4546 BUILTIN AGDADEF │ │ │ -0004b7b0: 494e 4954 494f 4e52 4543 4f52 4444 4546 INITIONRECORDDEF │ │ │ -0004b7c0: 2020 2020 2020 2072 6563 6f72 642d 7479 record-ty │ │ │ -0004b7d0: 7065 2023 2d7d 0a7b 2d23 2042 5549 4c54 pe #-}.{-# BUILT │ │ │ -0004b7e0: 494e 2041 4744 4144 4546 494e 4954 494f IN AGDADEFINITIO │ │ │ -0004b7f0: 4e44 4154 4143 4f4e 5354 5255 4354 4f52 NDATACONSTRUCTOR │ │ │ -0004b800: 2064 6174 612d 636f 6e73 2020 2023 2d7d data-cons #-} │ │ │ -0004b810: 0a7b 2d23 2042 5549 4c54 494e 2041 4744 .{-# BUILTIN AGD │ │ │ -0004b820: 4144 4546 494e 4954 494f 4e50 4f53 5455 ADEFINITIONPOSTU │ │ │ -0004b830: 4c41 5445 2020 2020 2020 2061 7869 6f6d LATE axiom │ │ │ -0004b840: 2020 2020 2020 2023 2d7d 0a7b 2d23 2042 #-}.{-# B │ │ │ -0004b850: 5549 4c54 494e 2041 4744 4144 4546 494e UILTIN AGDADEFIN │ │ │ -0004b860: 4954 494f 4e50 5249 4d49 5449 5645 2020 ITIONPRIMITIVE │ │ │ -0004b870: 2020 2020 2070 7269 6d2d 6675 6e20 2020 prim-fun │ │ │ -0004b880: 2023 2d7d 0a0a 2d2d 2045 7272 6f72 7320 #-}..-- Errors │ │ │ -0004b890: 2d2d 0a0a 6461 7461 2045 7272 6f72 5061 --..data ErrorPa │ │ │ -0004b8a0: 7274 203a 2053 6574 2077 6865 7265 0a20 rt : Set where. │ │ │ -0004b8b0: 2073 7472 4572 7220 203a 2053 7472 696e strErr : Strin │ │ │ -0004b8c0: 6720 e286 9220 4572 726f 7250 6172 740a g ... ErrorPart. │ │ │ -0004b8d0: 2020 7465 726d 4572 7220 3a20 5465 726d termErr : Term │ │ │ -0004b8e0: 20e2 8692 2045 7272 6f72 5061 7274 0a20 ... ErrorPart. │ │ │ -0004b8f0: 2070 6174 7445 7272 203a 2050 6174 7465 pattErr : Patte │ │ │ -0004b900: 726e 20e2 8692 2045 7272 6f72 5061 7274 rn ... ErrorPart │ │ │ -0004b910: 0a20 206e 616d 6545 7272 203a 204e 616d . nameErr : Nam │ │ │ -0004b920: 6520 e286 9220 4572 726f 7250 6172 740a e ... ErrorPart. │ │ │ -0004b930: 0a7b 2d23 2042 5549 4c54 494e 2041 4744 .{-# BUILTIN AGD │ │ │ -0004b940: 4145 5252 4f52 5041 5254 2020 2020 2020 AERRORPART │ │ │ -0004b950: 2045 7272 6f72 5061 7274 2023 2d7d 0a7b ErrorPart #-}.{ │ │ │ -0004b960: 2d23 2042 5549 4c54 494e 2041 4744 4145 -# BUILTIN AGDAE │ │ │ -0004b970: 5252 4f52 5041 5254 5354 5249 4e47 2073 RRORPARTSTRING s │ │ │ -0004b980: 7472 4572 7220 2020 2023 2d7d 0a7b 2d23 trErr #-}.{-# │ │ │ -0004b990: 2042 5549 4c54 494e 2041 4744 4145 5252 BUILTIN AGDAERR │ │ │ -0004b9a0: 4f52 5041 5254 5445 524d 2020 2074 6572 ORPARTTERM ter │ │ │ -0004b9b0: 6d45 7272 2020 2023 2d7d 0a7b 2d23 2042 mErr #-}.{-# B │ │ │ -0004b9c0: 5549 4c54 494e 2041 4744 4145 5252 4f52 UILTIN AGDAERROR │ │ │ -0004b9d0: 5041 5254 5041 5454 2020 2070 6174 7445 PARTPATT pattE │ │ │ -0004b9e0: 7272 2020 2023 2d7d 0a7b 2d23 2042 5549 rr #-}.{-# BUI │ │ │ -0004b9f0: 4c54 494e 2041 4744 4145 5252 4f52 5041 LTIN AGDAERRORPA │ │ │ -0004ba00: 5254 4e41 4d45 2020 206e 616d 6545 7272 RTNAME nameErr │ │ │ -0004ba10: 2020 2023 2d7d 0a0a 2d2d 2054 4320 6d6f #-}..-- TC mo │ │ │ -0004ba20: 6e61 6420 2d2d 0a0a 706f 7374 756c 6174 nad --..postulat │ │ │ -0004ba30: 650a 2020 5443 2020 2020 2020 2020 2020 e. TC │ │ │ -0004ba40: 2020 2020 203a 20e2 8880 207b 617d 20e2 : ... {a} . │ │ │ -0004ba50: 8692 2053 6574 2061 20e2 8692 2053 6574 .. Set a ... Set │ │ │ -0004ba60: 2061 0a20 2072 6574 7572 6e54 4320 2020 a. returnTC │ │ │ -0004ba70: 2020 2020 2020 3a20 e288 8020 7b61 7d20 : ... {a} │ │ │ -0004ba80: 7b41 203a 2053 6574 2061 7d20 e286 9220 {A : Set a} ... │ │ │ -0004ba90: 4120 e286 9220 5443 2041 0a20 2062 696e A ... TC A. bin │ │ │ -0004baa0: 6454 4320 2020 2020 2020 2020 2020 3a20 dTC : │ │ │ -0004bab0: e288 8020 7b61 2062 7d20 7b41 203a 2053 ... {a b} {A : S │ │ │ -0004bac0: 6574 2061 7d20 7b42 203a 2053 6574 2062 et a} {B : Set b │ │ │ -0004bad0: 7d20 e286 9220 5443 2041 20e2 8692 2028 } ... TC A ... ( │ │ │ -0004bae0: 4120 e286 9220 5443 2042 2920 e286 9220 A ... TC B) ... │ │ │ -0004baf0: 5443 2042 0a20 2075 6e69 6679 2020 2020 TC B. unify │ │ │ -0004bb00: 2020 2020 2020 2020 3a20 5465 726d 20e2 : Term . │ │ │ -0004bb10: 8692 2054 6572 6d20 e286 9220 5443 20e2 .. Term ... TC . │ │ │ -0004bb20: 8aa4 0a20 2074 7970 6545 7272 6f72 2020 ... typeError │ │ │ -0004bb30: 2020 2020 2020 3a20 e288 8020 7b61 7d20 : ... {a} │ │ │ -0004bb40: 7b41 203a 2053 6574 2061 7d20 e286 9220 {A : Set a} ... │ │ │ -0004bb50: 4c69 7374 2045 7272 6f72 5061 7274 20e2 List ErrorPart . │ │ │ -0004bb60: 8692 2054 4320 410a 2020 696e 6665 7254 .. TC A. inferT │ │ │ -0004bb70: 7970 6520 2020 2020 2020 203a 2054 6572 ype : Ter │ │ │ -0004bb80: 6d20 e286 9220 5443 2054 7970 650a 2020 m ... TC Type. │ │ │ -0004bb90: 6368 6563 6b54 7970 6520 2020 2020 2020 checkType │ │ │ -0004bba0: 203a 2054 6572 6d20 e286 9220 5479 7065 : Term ... Type │ │ │ -0004bbb0: 20e2 8692 2054 4320 5465 726d 0a20 206e ... TC Term. n │ │ │ -0004bbc0: 6f72 6d61 6c69 7365 2020 2020 2020 2020 ormalise │ │ │ -0004bbd0: 3a20 5465 726d 20e2 8692 2054 4320 5465 : Term ... TC Te │ │ │ -0004bbe0: 726d 0a20 2072 6564 7563 6520 2020 2020 rm. reduce │ │ │ -0004bbf0: 2020 2020 2020 3a20 5465 726d 20e2 8692 : Term ... │ │ │ -0004bc00: 2054 4320 5465 726d 0a20 2063 6174 6368 TC Term. catch │ │ │ -0004bc10: 5443 2020 2020 2020 2020 2020 3a20 e288 TC : .. │ │ │ -0004bc20: 8020 7b61 7d20 7b41 203a 2053 6574 2061 . {a} {A : Set a │ │ │ -0004bc30: 7d20 e286 9220 5443 2041 20e2 8692 2054 } ... TC A ... T │ │ │ -0004bc40: 4320 4120 e286 9220 5443 2041 0a20 2071 C A ... TC A. q │ │ │ -0004bc50: 756f 7465 5443 2020 2020 2020 2020 2020 uoteTC │ │ │ -0004bc60: 3a20 e288 8020 7b61 7d20 7b41 203a 2053 : ... {a} {A : S │ │ │ -0004bc70: 6574 2061 7d20 e286 9220 4120 e286 9220 et a} ... A ... │ │ │ -0004bc80: 5443 2054 6572 6d0a 2020 756e 7175 6f74 TC Term. unquot │ │ │ -0004bc90: 6554 4320 2020 2020 2020 203a 20e2 8880 eTC : ... │ │ │ -0004bca0: 207b 617d 207b 4120 3a20 5365 7420 617d {a} {A : Set a} │ │ │ -0004bcb0: 20e2 8692 2054 6572 6d20 e286 9220 5443 ... Term ... TC │ │ │ -0004bcc0: 2041 0a20 2071 756f 7465 cf89 5443 2020 A. quote..TC │ │ │ -0004bcd0: 2020 2020 2020 203a 20e2 8880 207b 4120 : ... {A │ │ │ -0004bce0: 3a20 5365 74cf 897d 20e2 8692 2041 20e2 : Set..} ... A . │ │ │ -0004bcf0: 8692 2054 4320 5465 726d 0a20 2067 6574 .. TC Term. get │ │ │ -0004bd00: 436f 6e74 6578 7420 2020 2020 2020 3a20 Context : │ │ │ -0004bd10: 5443 2054 656c 6573 636f 7065 0a20 2065 TC Telescope. e │ │ │ -0004bd20: 7874 656e 6443 6f6e 7465 7874 2020 2020 xtendContext │ │ │ -0004bd30: 3a20 e288 8020 7b61 7d20 7b41 203a 2053 : ... {a} {A : S │ │ │ -0004bd40: 6574 2061 7d20 e286 9220 5374 7269 6e67 et a} ... String │ │ │ -0004bd50: 20e2 8692 2041 7267 2054 7970 6520 e286 ... Arg Type .. │ │ │ -0004bd60: 9220 5443 2041 20e2 8692 2054 4320 410a . TC A ... TC A. │ │ │ -0004bd70: 2020 696e 436f 6e74 6578 7420 2020 2020 inContext │ │ │ -0004bd80: 2020 203a 20e2 8880 207b 617d 207b 4120 : ... {a} {A │ │ │ -0004bd90: 3a20 5365 7420 617d 20e2 8692 2054 656c : Set a} ... Tel │ │ │ -0004bda0: 6573 636f 7065 20e2 8692 2054 4320 4120 escope ... TC A │ │ │ -0004bdb0: e286 9220 5443 2041 0a20 2066 7265 7368 ... TC A. fresh │ │ │ -0004bdc0: 4e61 6d65 2020 2020 2020 2020 3a20 5374 Name : St │ │ │ -0004bdd0: 7269 6e67 20e2 8692 2054 4320 4e61 6d65 ring ... TC Name │ │ │ -0004bde0: 0a20 2064 6563 6c61 7265 4465 6620 2020 . declareDef │ │ │ -0004bdf0: 2020 2020 3a20 4172 6720 4e61 6d65 20e2 : Arg Name . │ │ │ -0004be00: 8692 2054 7970 6520 e286 9220 5443 20e2 .. Type ... TC . │ │ │ -0004be10: 8aa4 0a20 2064 6563 6c61 7265 506f 7374 ... declarePost │ │ │ -0004be20: 756c 6174 6520 3a20 4172 6720 4e61 6d65 ulate : Arg Name │ │ │ -0004be30: 20e2 8692 2054 7970 6520 e286 9220 5443 ... Type ... TC │ │ │ -0004be40: 20e2 8aa4 0a20 2064 6563 6c61 7265 4461 .... declareDa │ │ │ -0004be50: 7461 2020 2020 2020 3a20 4e61 6d65 20e2 ta : Name . │ │ │ -0004be60: 8692 204e 6174 20e2 8692 2054 7970 6520 .. Nat ... Type │ │ │ -0004be70: e286 9220 5443 20e2 8aa4 0a20 2064 6566 ... TC .... def │ │ │ -0004be80: 696e 6544 6174 6120 2020 2020 2020 3a20 ineData : │ │ │ -0004be90: 4e61 6d65 20e2 8692 204c 6973 7420 28ce Name ... List (. │ │ │ -0004bea0: a320 4e61 6d65 2028 cebb 205f 20e2 8692 . Name (.. _ ... │ │ │ -0004beb0: 20ce a320 5175 616e 7469 7479 2028 cebb .. Quantity (.. │ │ │ -0004bec0: 205f 20e2 8692 2054 7970 6529 2929 20e2 _ ... Type))) . │ │ │ -0004bed0: 8692 2054 4320 e28a a40a 2020 6465 6669 .. TC .... defi │ │ │ -0004bee0: 6e65 4675 6e20 2020 2020 2020 203a 204e neFun : N │ │ │ -0004bef0: 616d 6520 e286 9220 4c69 7374 2043 6c61 ame ... List Cla │ │ │ -0004bf00: 7573 6520 e286 9220 5443 20e2 8aa4 0a20 use ... TC .... │ │ │ -0004bf10: 2067 6574 5479 7065 2020 2020 2020 2020 getType │ │ │ -0004bf20: 2020 3a20 4e61 6d65 20e2 8692 2054 4320 : Name ... TC │ │ │ -0004bf30: 5479 7065 0a20 2067 6574 4465 6669 6e69 Type. getDefini │ │ │ -0004bf40: 7469 6f6e 2020 2020 3a20 4e61 6d65 20e2 tion : Name . │ │ │ -0004bf50: 8692 2054 4320 4465 6669 6e69 7469 6f6e .. TC Definition │ │ │ -0004bf60: 0a20 2062 6c6f 636b 5443 2020 2020 2020 . blockTC │ │ │ -0004bf70: 2020 2020 3a20 e288 8020 7b61 7d20 7b41 : ... {a} {A │ │ │ -0004bf80: 203a 2053 6574 2061 7d20 e286 9220 426c : Set a} ... Bl │ │ │ -0004bf90: 6f63 6b65 7220 e286 9220 5443 2041 0a20 ocker ... TC A. │ │ │ -0004bfa0: 2063 6f6d 6d69 7454 4320 2020 2020 2020 commitTC │ │ │ -0004bfb0: 2020 3a20 5443 20e2 8aa4 0a20 2069 734d : TC .... isM │ │ │ -0004bfc0: 6163 726f 2020 2020 2020 2020 2020 3a20 acro : │ │ │ -0004bfd0: 4e61 6d65 20e2 8692 2054 4320 426f 6f6c Name ... TC Bool │ │ │ -0004bfe0: 0a20 2070 7261 676d 6146 6f72 6569 676e . pragmaForeign │ │ │ -0004bff0: 2020 2020 3a20 5374 7269 6e67 20e2 8692 : String ... │ │ │ -0004c000: 2053 7472 696e 6720 e286 9220 5443 20e2 String ... TC . │ │ │ -0004c010: 8aa4 0a20 2070 7261 676d 6143 6f6d 7069 ... pragmaCompi │ │ │ -0004c020: 6c65 2020 2020 3a20 5374 7269 6e67 20e2 le : String . │ │ │ -0004c030: 8692 204e 616d 6520 e286 9220 5374 7269 .. Name ... Stri │ │ │ -0004c040: 6e67 20e2 8692 2054 4320 e28a a40a 0a20 ng ... TC ..... │ │ │ -0004c050: 202d 2d20 4966 2027 7472 7565 272c 206d -- If 'true', m │ │ │ -0004c060: 616b 6573 2074 6865 2066 6f6c 6c6f 7769 akes the followi │ │ │ -0004c070: 6e67 2070 7269 6d69 7469 7665 7320 616c ng primitives al │ │ │ -0004c080: 736f 206e 6f72 6d61 6c69 7365 0a20 202d so normalise. - │ │ │ -0004c090: 2d20 7468 6569 7220 7265 7375 6c74 733a - their results: │ │ │ -0004c0a0: 2069 6e66 6572 5479 7065 2c20 6368 6563 inferType, chec │ │ │ -0004c0b0: 6b54 7970 652c 2071 756f 7465 5443 2c20 kType, quoteTC, │ │ │ -0004c0c0: 6765 7454 7970 652c 2061 6e64 2067 6574 getType, and get │ │ │ -0004c0d0: 436f 6e74 6578 740a 2020 7769 7468 4e6f Context. withNo │ │ │ -0004c0e0: 726d 616c 6973 6174 696f 6e20 3a20 e288 rmalisation : .. │ │ │ -0004c0f0: 8020 7b61 7d20 7b41 203a 2053 6574 2061 . {a} {A : Set a │ │ │ -0004c100: 7d20 e286 9220 426f 6f6c 20e2 8692 2054 } ... Bool ... T │ │ │ -0004c110: 4320 4120 e286 9220 5443 2041 0a20 2061 C A ... TC A. a │ │ │ -0004c120: 736b 4e6f 726d 616c 6973 6174 696f 6e20 skNormalisation │ │ │ -0004c130: 203a 2054 4320 426f 6f6c 0a0a 2020 2d2d : TC Bool.. -- │ │ │ -0004c140: 2049 6620 2774 7275 6527 2c20 6d61 6b65 If 'true', make │ │ │ -0004c150: 7320 7468 6520 666f 6c6c 6f77 696e 6720 s the following │ │ │ -0004c160: 7072 696d 6974 6976 6573 2074 6f20 7265 primitives to re │ │ │ -0004c170: 636f 6e73 7472 7563 7420 6869 6464 656e construct hidden │ │ │ -0004c180: 2061 7267 756d 656e 7473 3a0a 2020 2d2d arguments:. -- │ │ │ -0004c190: 2067 6574 4465 6669 6e69 7469 6f6e 2c20 getDefinition, │ │ │ -0004c1a0: 6e6f 726d 616c 6973 652c 2072 6564 7563 normalise, reduc │ │ │ -0004c1b0: 652c 2069 6e66 6572 5479 7065 2c20 6368 e, inferType, ch │ │ │ -0004c1c0: 6563 6b54 7970 6520 616e 6420 6765 7443 eckType and getC │ │ │ -0004c1d0: 6f6e 7465 7874 0a20 2077 6974 6852 6563 ontext. withRec │ │ │ -0004c1e0: 6f6e 7374 7275 6374 6564 203a 20e2 8880 onstructed : ... │ │ │ -0004c1f0: 207b 617d 207b 4120 3a20 5365 7420 617d {a} {A : Set a} │ │ │ -0004c200: 20e2 8692 2042 6f6f 6c20 e286 9220 5443 ... Bool ... TC │ │ │ -0004c210: 2041 20e2 8692 2054 4320 410a 2020 6173 A ... TC A. as │ │ │ -0004c220: 6b52 6563 6f6e 7374 7275 6374 6564 2020 kReconstructed │ │ │ -0004c230: 3a20 5443 2042 6f6f 6c0a 0a20 202d 2d20 : TC Bool.. -- │ │ │ -0004c240: 5768 6574 6865 7220 696d 706c 6963 6974 Whether implicit │ │ │ -0004c250: 2061 7267 756d 656e 7473 2061 7420 7468 arguments at th │ │ │ -0004c260: 6520 656e 6420 7368 6f75 6c64 2062 6520 e end should be │ │ │ -0004c270: 7475 726e 6564 2069 6e74 6f20 6d65 7461 turned into meta │ │ │ -0004c280: 7661 7269 6162 6c65 730a 2020 7769 7468 variables. with │ │ │ -0004c290: 4578 7061 6e64 4c61 7374 203a 20e2 8880 ExpandLast : ... │ │ │ -0004c2a0: 207b 617d 207b 4120 3a20 5365 7420 617d {a} {A : Set a} │ │ │ -0004c2b0: 20e2 8692 2042 6f6f 6c20 e286 9220 5443 ... Bool ... TC │ │ │ -0004c2c0: 2041 20e2 8692 2054 4320 410a 2020 6173 A ... TC A. as │ │ │ -0004c2d0: 6b45 7870 616e 644c 6173 7420 203a 2054 kExpandLast : T │ │ │ -0004c2e0: 4320 426f 6f6c 0a0a 2020 2d2d 2057 6869 C Bool.. -- Whi │ │ │ -0004c2f0: 7465 2f62 6c61 636b 6c69 7374 2073 7065 te/blacklist spe │ │ │ -0004c300: 6369 6669 6320 6465 6669 6e69 7469 6f6e cific definition │ │ │ -0004c310: 7320 666f 7220 7265 6475 6374 696f 6e20 s for reduction │ │ │ -0004c320: 7768 696c 6520 6578 6563 7574 696e 6720 while executing │ │ │ -0004c330: 7468 6520 5443 2063 6f6d 7075 7461 7469 the TC computati │ │ │ -0004c340: 6f6e 0a20 202d 2d20 2774 7275 6527 2066 on. -- 'true' f │ │ │ -0004c350: 6f72 2077 6869 7465 6c69 7374 2c20 2766 or whitelist, 'f │ │ │ -0004c360: 616c 7365 2720 666f 7220 626c 6163 6b6c alse' for blackl │ │ │ -0004c370: 6973 740a 2020 7769 7468 5265 6475 6365 ist. withReduce │ │ │ -0004c380: 4465 6673 203a 20e2 8880 207b 617d 207b Defs : ... {a} { │ │ │ -0004c390: 4120 3a20 5365 7420 617d 20e2 8692 2028 A : Set a} ... ( │ │ │ -0004c3a0: cea3 2042 6f6f 6c20 cebb 205f 20e2 8692 .. Bool .. _ ... │ │ │ -0004c3b0: 204c 6973 7420 4e61 6d65 2920 e286 9220 List Name) ... │ │ │ -0004c3c0: 5443 2041 20e2 8692 2054 4320 410a 2020 TC A ... TC A. │ │ │ -0004c3d0: 6173 6b52 6564 7563 6544 6566 7320 203a askReduceDefs : │ │ │ -0004c3e0: 2054 4320 28ce a320 426f 6f6c 20ce bb20 TC (.. Bool .. │ │ │ -0004c3f0: 5f20 e286 9220 4c69 7374 204e 616d 6529 _ ... List Name) │ │ │ -0004c400: 0a0a 2020 666f 726d 6174 4572 726f 7250 .. formatErrorP │ │ │ -0004c410: 6172 7473 203a 204c 6973 7420 4572 726f arts : List Erro │ │ │ -0004c420: 7250 6172 7420 e286 9220 5443 2053 7472 rPart ... TC Str │ │ │ -0004c430: 696e 670a 2020 2d2d 2050 7269 6e74 7320 ing. -- Prints │ │ │ -0004c440: 7468 6520 7468 6972 6420 6172 6775 6d65 the third argume │ │ │ -0004c450: 6e74 2069 6620 7468 6520 636f 7272 6573 nt if the corres │ │ │ -0004c460: 706f 6e64 696e 6720 7665 7262 6f73 6974 ponding verbosit │ │ │ -0004c470: 7920 6c65 7665 6c20 6973 2074 7572 6e65 y level is turne │ │ │ -0004c480: 640a 2020 2d2d 206f 6e20 2877 6974 6820 d. -- on (with │ │ │ -0004c490: 7468 6520 2d76 2066 6c61 6720 746f 2041 the -v flag to A │ │ │ -0004c4a0: 6764 6129 2e0a 2020 6465 6275 6750 7269 gda).. debugPri │ │ │ -0004c4b0: 6e74 203a 2053 7472 696e 6720 e286 9220 nt : String ... │ │ │ -0004c4c0: 4e61 7420 e286 9220 4c69 7374 2045 7272 Nat ... List Err │ │ │ -0004c4d0: 6f72 5061 7274 20e2 8692 2054 4320 e28a orPart ... TC .. │ │ │ -0004c4e0: a40a 0a20 202d 2d20 4661 696c 2069 6620 ... -- Fail if │ │ │ -0004c4f0: 7468 6520 6769 7665 6e20 636f 6d70 7574 the given comput │ │ │ -0004c500: 6174 696f 6e20 6769 7665 7320 7269 7365 ation gives rise │ │ │ -0004c510: 2074 6f20 6e65 772c 2075 6e73 6f6c 7665 to new, unsolve │ │ │ -0004c520: 640a 2020 2d2d 2022 626c 6f63 6b69 6e67 d. -- "blocking │ │ │ -0004c530: 2220 636f 6e73 7472 6169 6e74 732e 0a20 " constraints.. │ │ │ -0004c540: 206e 6f43 6f6e 7374 7261 696e 7473 203a noConstraints : │ │ │ -0004c550: 20e2 8880 207b 617d 207b 4120 3a20 5365 ... {a} {A : Se │ │ │ -0004c560: 7420 617d 20e2 8692 2054 4320 4120 e286 t a} ... TC A .. │ │ │ -0004c570: 9220 5443 2041 0a0a 2020 2d2d 2052 756e . TC A.. -- Run │ │ │ -0004c580: 2074 6865 2067 6976 656e 2063 6f6d 7075 the given compu │ │ │ -0004c590: 7461 7469 6f6e 2061 7420 7468 6520 7479 tation at the ty │ │ │ -0004c5a0: 7065 206c 6576 656c 2c20 616c 6c6f 7769 pe level, allowi │ │ │ -0004c5b0: 6e67 2075 7365 206f 6620 6572 6173 6564 ng use of erased │ │ │ -0004c5c0: 2074 6869 6e67 732e 0a20 2077 6f72 6b4f things.. workO │ │ │ -0004c5d0: 6e54 7970 6573 203a 20e2 8880 207b 617d nTypes : ... {a} │ │ │ -0004c5e0: 207b 4120 3a20 5365 7420 617d 20e2 8692 {A : Set a} ... │ │ │ -0004c5f0: 2054 4320 4120 e286 9220 5443 2041 0a0a TC A ... TC A.. │ │ │ -0004c600: 2020 2d2d 2052 756e 2074 6865 2067 6976 -- Run the giv │ │ │ -0004c610: 656e 2054 4320 6163 7469 6f6e 2061 6e64 en TC action and │ │ │ -0004c620: 2072 6574 7572 6e20 7468 6520 6669 7273 return the firs │ │ │ -0004c630: 7420 636f 6d70 6f6e 656e 742e 2052 6573 t component. Res │ │ │ -0004c640: 6574 7320 746f 0a20 202d 2d20 7468 6520 ets to. -- the │ │ │ -0004c650: 6f6c 6420 5443 2073 7461 7465 2069 6620 old TC state if │ │ │ -0004c660: 7468 6520 7365 636f 6e64 2063 6f6d 706f the second compo │ │ │ -0004c670: 6e65 6e74 2069 7320 2766 616c 7365 272c nent is 'false', │ │ │ -0004c680: 206f 7220 6b65 6570 2074 6865 0a20 202d or keep the. - │ │ │ -0004c690: 2d20 6e65 7720 5443 2073 7461 7465 2069 - new TC state i │ │ │ -0004c6a0: 6620 6974 2069 7320 2774 7275 6527 2e0a f it is 'true'.. │ │ │ -0004c6b0: 2020 7275 6e53 7065 6375 6c61 7469 7665 runSpeculative │ │ │ -0004c6c0: 203a 20e2 8880 207b 617d 207b 4120 3a20 : ... {a} {A : │ │ │ -0004c6d0: 5365 7420 617d 20e2 8692 2054 4320 28ce Set a} ... TC (. │ │ │ -0004c6e0: a320 4120 cebb 205f 20e2 8692 2042 6f6f . A .. _ ... Boo │ │ │ -0004c6f0: 6c29 20e2 8692 2054 4320 410a 0a20 202d l) ... TC A.. - │ │ │ -0004c700: 2d20 4765 7420 6120 6c69 7374 206f 6620 - Get a list of │ │ │ -0004c710: 616c 6c20 706f 7373 6962 6c65 2069 6e73 all possible ins │ │ │ -0004c720: 7461 6e63 6520 6361 6e64 6964 6174 6573 tance candidates │ │ │ -0004c730: 2066 6f72 2074 6865 2067 6976 656e 206d for the given m │ │ │ -0004c740: 6574 610a 2020 2d2d 2076 6172 6961 626c eta. -- variabl │ │ │ -0004c750: 6520 2869 7420 646f 6573 206e 6f74 2068 e (it does not h │ │ │ -0004c760: 6176 6520 746f 2062 6520 616e 2069 6e73 ave to be an ins │ │ │ -0004c770: 7461 6e63 6520 6d65 7461 292e 0a20 2067 tance meta).. g │ │ │ -0004c780: 6574 496e 7374 616e 6365 7320 3a20 4d65 etInstances : Me │ │ │ -0004c790: 7461 20e2 8692 2054 4320 284c 6973 7420 ta ... TC (List │ │ │ -0004c7a0: 5465 726d 290a 0a20 202d 2d20 5472 7920 Term).. -- Try │ │ │ -0004c7b0: 746f 2073 6f6c 7665 206f 7065 6e20 696e to solve open in │ │ │ -0004c7c0: 7374 616e 6365 2063 6f6e 7374 7261 696e stance constrain │ │ │ -0004c7d0: 7473 2e20 5768 656e 2077 7261 7070 6564 ts. When wrapped │ │ │ -0004c7e0: 2069 6e20 606e 6f43 6f6e 7374 7261 696e in `noConstrain │ │ │ -0004c7f0: 7473 602c 0a20 202d 2d20 6661 696c 7320 ts`,. -- fails │ │ │ -0004c800: 6966 2074 6865 7265 2061 7265 2075 6e73 if there are uns │ │ │ -0004c810: 6f6c 7665 6420 696e 7374 616e 6365 2063 olved instance c │ │ │ -0004c820: 6f6e 7374 7261 696e 7473 206c 6566 7420 onstraints left │ │ │ -0004c830: 6f76 6572 2074 6861 7420 6f72 6967 696e over that origin │ │ │ -0004c840: 6174 650a 2020 2d2d 2066 726f 6d20 7468 ate. -- from th │ │ │ -0004c850: 6520 6375 7272 656e 7420 6d61 6372 6f20 e current macro │ │ │ -0004c860: 696e 766f 6b61 7469 6f6e 2e20 4f75 7473 invokation. Outs │ │ │ -0004c870: 6964 6520 636f 6e73 7472 6169 6e74 7320 ide constraints │ │ │ -0004c880: 6172 6520 7374 696c 6c20 6174 7465 6d70 are still attemp │ │ │ -0004c890: 7465 642c 0a20 202d 2d20 6275 7420 6661 ted,. -- but fa │ │ │ -0004c8a0: 696c 7572 6520 746f 2073 6f6c 7665 2074 ilure to solve t │ │ │ -0004c8b0: 6865 6d20 6172 6520 6967 6e6f 7265 6420 hem are ignored │ │ │ -0004c8c0: 6279 2060 6e6f 436f 6e73 7472 6169 6e74 by `noConstraint │ │ │ -0004c8d0: 7360 2e0a 2020 736f 6c76 6549 6e73 7461 s`.. solveInsta │ │ │ -0004c8e0: 6e63 6543 6f6e 7374 7261 696e 7473 203a nceConstraints : │ │ │ -0004c8f0: 2054 4320 e28a a40a 0a20 202d 2d20 5061 TC ..... -- Pa │ │ │ -0004c900: 7273 6520 616e 6420 7479 7065 2063 6865 rse and type che │ │ │ -0004c910: 636b 2074 6865 2067 6976 656e 2073 7472 ck the given str │ │ │ -0004c920: 696e 6720 6167 6169 6e73 7420 7468 6520 ing against the │ │ │ -0004c930: 6769 7665 6e20 7479 7065 2c20 7265 7475 given type, retu │ │ │ -0004c940: 726e 696e 670a 2020 2d2d 2074 6865 2072 rning. -- the r │ │ │ -0004c950: 6573 756c 7469 6e67 2074 6572 6d20 2877 esulting term (w │ │ │ -0004c960: 6865 6e20 7375 6363 6573 7366 756c 292e hen successful). │ │ │ -0004c970: 0a20 2063 6865 636b 4672 6f6d 5374 7269 . checkFromStri │ │ │ -0004c980: 6e67 5443 203a 2053 7472 696e 6720 e286 ngTC : String .. │ │ │ -0004c990: 9220 5479 7065 20e2 8692 2054 4320 5465 . Type ... TC Te │ │ │ -0004c9a0: 726d 0a0a 7b2d 2320 4255 494c 5449 4e20 rm..{-# BUILTIN │ │ │ -0004c9b0: 4147 4441 5443 4d20 2020 2020 2020 2020 AGDATCM │ │ │ +00047900: 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 696e 6669 ----------..infi │ │ │ +00047910: 786c 2036 205f e28a 945f 0a0a 7b2d 2320 xl 6 _..._..{-# │ │ │ +00047920: 4255 494c 5449 4e20 5052 4f50 2020 2020 BUILTIN PROP │ │ │ +00047930: 2020 2020 2020 2050 726f 7020 2020 2020 Prop │ │ │ +00047940: 2023 2d7d 0a7b 2d23 2042 5549 4c54 494e #-}.{-# BUILTIN │ │ │ +00047950: 2054 5950 4520 2020 2020 2020 2020 2020 TYPE │ │ │ +00047960: 5365 7420 2020 2020 2020 232d 7d0a 7b2d Set #-}.{- │ │ │ +00047970: 2320 4255 494c 5449 4e20 5354 5249 4354 # BUILTIN STRICT │ │ │ +00047980: 5345 5420 2020 2020 2053 5365 7420 2020 SET SSet │ │ │ +00047990: 2020 2023 2d7d 0a0a 7b2d 2320 4255 494c #-}..{-# BUIL │ │ │ +000479a0: 5449 4e20 5052 4f50 4f4d 4547 4120 2020 TIN PROPOMEGA │ │ │ +000479b0: 2020 2050 726f 70cf 8920 2020 2020 232d Prop.. #- │ │ │ +000479c0: 7d0a 7b2d 2320 4255 494c 5449 4e20 5345 }.{-# BUILTIN SE │ │ │ +000479d0: 544f 4d45 4741 2020 2020 2020 2053 6574 TOMEGA Set │ │ │ +000479e0: cf89 2020 2020 2020 232d 7d0a 7b2d 2320 .. #-}.{-# │ │ │ +000479f0: 4255 494c 5449 4e20 5354 5249 4354 5345 BUILTIN STRICTSE │ │ │ +00047a00: 544f 4d45 4741 2053 5365 74cf 8920 2020 TOMEGA SSet.. │ │ │ +00047a10: 2020 232d 7d0a 0a7b 2d23 2042 5549 4c54 #-}..{-# BUILT │ │ │ +00047a20: 494e 204c 4556 454c 554e 4956 2020 2020 IN LEVELUNIV │ │ │ +00047a30: 2020 4c65 7665 6c55 6e69 7620 232d 7d0a LevelUniv #-}. │ │ │ +00047a40: 0a2d 2d20 4c65 7665 6c20 6973 2074 6865 .-- Level is the │ │ │ +00047a50: 2066 6972 7374 2074 6869 6e67 2077 6520 first thing we │ │ │ +00047a60: 6e65 6564 2074 6f20 6465 6669 6e65 2e0a need to define.. │ │ │ +00047a70: 2d2d 2054 6865 206f 7468 6572 2070 6f73 -- The other pos │ │ │ +00047a80: 7475 6c61 7465 7320 6361 6e20 6f6e 6c79 tulates can only │ │ │ +00047a90: 2062 6520 6368 6563 6b65 6420 6966 2062 be checked if b │ │ │ +00047aa0: 7569 6c74 2d69 6e20 4c65 7665 6c20 6973 uilt-in Level is │ │ │ +00047ab0: 206b 6e6f 776e 2e0a 0a70 6f73 7475 6c61 known...postula │ │ │ +00047ac0: 7465 0a20 204c 6576 656c 203a 204c 6576 te. Level : Lev │ │ │ +00047ad0: 656c 556e 6976 0a0a 2d2d 204d 416c 6f6e elUniv..-- MAlon │ │ │ +00047ae0: 7a6f 2063 6f6d 7069 6c65 7320 4c65 7665 zo compiles Leve │ │ │ +00047af0: 6c20 746f 2028 292e 2054 6869 7320 7368 l to (). This sh │ │ │ +00047b00: 6f75 6c64 2062 6520 7361 6665 2c20 6265 ould be safe, be │ │ │ +00047b10: 6361 7573 6520 6974 2069 730a 2d2d 206e cause it is.-- n │ │ │ +00047b20: 6f74 2070 6f73 7369 626c 6520 746f 2070 ot possible to p │ │ │ +00047b30: 6174 7465 726e 206d 6174 6368 206f 6e20 attern match on │ │ │ +00047b40: 6c65 7665 6c73 2e0a 0a7b 2d23 2042 5549 levels...{-# BUI │ │ │ +00047b50: 4c54 494e 204c 4556 454c 204c 6576 656c LTIN LEVEL Level │ │ │ +00047b60: 2023 2d7d 0a0a 706f 7374 756c 6174 650a #-}..postulate. │ │ │ +00047b70: 2020 6c7a 6572 6f20 3a20 4c65 7665 6c0a lzero : Level. │ │ │ +00047b80: 2020 6c73 7563 2020 3a20 28e2 8493 203a lsuc : (... : │ │ │ +00047b90: 204c 6576 656c 2920 e286 9220 4c65 7665 Level) ... Leve │ │ │ +00047ba0: 6c0a 2020 5fe2 8a94 5f20 2020 3a20 28e2 l. _..._ : (. │ │ │ +00047bb0: 8493 e282 8120 e284 93e2 8282 203a 204c ..... ...... : L │ │ │ +00047bc0: 6576 656c 2920 e286 9220 4c65 7665 6c0a evel) ... Level. │ │ │ +00047bd0: 0a7b 2d23 2042 5549 4c54 494e 204c 4556 .{-# BUILTIN LEV │ │ │ +00047be0: 454c 5a45 524f 206c 7a65 726f 2023 2d7d ELZERO lzero #-} │ │ │ +00047bf0: 0a7b 2d23 2042 5549 4c54 494e 204c 4556 .{-# BUILTIN LEV │ │ │ +00047c00: 454c 5355 4320 206c 7375 6320 2023 2d7d ELSUC lsuc #-} │ │ │ +00047c10: 0a7b 2d23 2042 5549 4c54 494e 204c 4556 .{-# BUILTIN LEV │ │ │ +00047c20: 454c 4d41 5820 205f e28a 945f 2020 2023 ELMAX _..._ # │ │ │ +00047c30: 2d7d 0a92 a285 c9fa f4b0 89eb 01a0 cbcb -}.............. │ │ │ +00047c40: afdf f3f2 d5a3 0100 f001 0004 7c71 0520 ............|q. │ │ │ +00047c50: 0000 0100 0404 0803 0702 5e02 0000 030f ..........^..... │ │ │ +00047c60: 0005 0505 0b5f 0bfe 010b 6109 0601 00b4 ....._....a..... │ │ │ +00047c70: 02ff 819e edee 9fd4 e7f8 01ec c4d2 c4bb ................ │ │ │ +00047c80: abb0 8dbc 0100 fe01 0004 7dd8 0582 8080 ..........}..... │ │ │ +00047c90: e608 0000 0100 0304 0704 0200 0003 0f00 ................ │ │ │ +00047ca0: 0901 b402 7b2d 2320 4f50 5449 4f4e 5320 ....{-# OPTIONS │ │ │ +00047cb0: 2d2d 6375 6269 6361 6c2d 636f 6d70 6174 --cubical-compat │ │ │ +00047cc0: 6962 6c65 202d 2d73 6166 6520 2d2d 6e6f ible --safe --no │ │ │ +00047cd0: 2d73 697a 6564 2d74 7970 6573 202d 2d6e -sized-types --n │ │ │ +00047ce0: 6f2d 6775 6172 6465 646e 6573 7320 2d2d o-guardedness -- │ │ │ +00047cf0: 6c65 7665 6c2d 756e 6976 6572 7365 2023 level-universe # │ │ │ +00047d00: 2d7d 0a0a 6d6f 6475 6c65 2041 6764 612e -}..module Agda. │ │ │ +00047d10: 4275 696c 7469 6e2e 576f 7264 2e50 726f Builtin.Word.Pro │ │ │ +00047d20: 7065 7274 6965 7320 7768 6572 650a 0a6f perties where..o │ │ │ +00047d30: 7065 6e20 696d 706f 7274 2041 6764 612e pen import Agda. │ │ │ +00047d40: 4275 696c 7469 6e2e 576f 7264 0a6f 7065 Builtin.Word.ope │ │ │ +00047d50: 6e20 696d 706f 7274 2041 6764 612e 4275 n import Agda.Bu │ │ │ +00047d60: 696c 7469 6e2e 4571 7561 6c69 7479 0a0a iltin.Equality.. │ │ │ +00047d70: 7072 696d 6974 6976 650a 0a20 2070 7269 primitive.. pri │ │ │ +00047d80: 6d57 6f72 6436 3454 6f4e 6174 496e 6a65 mWord64ToNatInje │ │ │ +00047d90: 6374 6976 6520 3a20 e288 8020 6120 6220 ctive : ... a b │ │ │ +00047da0: e286 9220 7072 696d 576f 7264 3634 546f ... primWord64To │ │ │ +00047db0: 4e61 7420 6120 e289 a120 7072 696d 576f Nat a ... primWo │ │ │ +00047dc0: 7264 3634 546f 4e61 7420 6220 e286 9220 rd64ToNat b ... │ │ │ +00047dd0: 6120 e289 a120 620a 87be f1c5 dcfc a8b3 a ... b......... │ │ │ +00047de0: 50c5 98a1 868c ccab 878d 0100 ee01 0004 P............... │ │ │ +00047df0: 7e15 0520 0000 0100 0404 0803 0702 5e02 ~.. ..........^. │ │ │ +00047e00: 0000 030f 0005 0505 0b5f 0bff 010b 6109 ........._....a. │ │ │ +00047e10: 0601 00cf 02dd f5bb aba4 e1ec b1af 01aa ................ │ │ │ +00047e20: aaca a8b6 d7d9 967f 00ff 0100 047f 9605 ................ │ │ │ +00047e30: 8280 80e6 0800 0001 0003 0407 0402 0000 ................ │ │ │ +00047e40: 030f 0009 01cf 027b 2d23 204f 5054 494f .......{-# OPTIO │ │ │ +00047e50: 4e53 202d 2d63 7562 6963 616c 2d63 6f6d NS --cubical-com │ │ │ +00047e60: 7061 7469 626c 6520 2d2d 7361 6665 202d patible --safe - │ │ │ +00047e70: 2d6e 6f2d 756e 6976 6572 7365 2d70 6f6c -no-universe-pol │ │ │ +00047e80: 796d 6f72 7068 6973 6d0a 2020 2020 2020 ymorphism. │ │ │ +00047e90: 2020 2020 2020 2d2d 6e6f 2d73 697a 6564 --no-sized │ │ │ +00047ea0: 2d74 7970 6573 202d 2d6e 6f2d 6775 6172 -types --no-guar │ │ │ +00047eb0: 6465 646e 6573 7320 2d2d 6c65 7665 6c2d dedness --level- │ │ │ +00047ec0: 756e 6976 6572 7365 2023 2d7d 0a0a 6d6f universe #-}..mo │ │ │ +00047ed0: 6475 6c65 2041 6764 612e 4275 696c 7469 dule Agda.Builti │ │ │ +00047ee0: 6e2e 576f 7264 2077 6865 7265 0a0a 6f70 n.Word where..op │ │ │ +00047ef0: 656e 2069 6d70 6f72 7420 4167 6461 2e42 en import Agda.B │ │ │ +00047f00: 7569 6c74 696e 2e4e 6174 0a0a 706f 7374 uiltin.Nat..post │ │ │ +00047f10: 756c 6174 6520 576f 7264 3634 203a 2053 ulate Word64 : S │ │ │ +00047f20: 6574 0a7b 2d23 2042 5549 4c54 494e 2057 et.{-# BUILTIN W │ │ │ +00047f30: 4f52 4436 3420 576f 7264 3634 2023 2d7d ORD64 Word64 #-} │ │ │ +00047f40: 0a0a 7072 696d 6974 6976 650a 2020 7072 ..primitive. pr │ │ │ +00047f50: 696d 576f 7264 3634 546f 4e61 7420 2020 imWord64ToNat │ │ │ +00047f60: 3a20 576f 7264 3634 20e2 8692 204e 6174 : Word64 ... Nat │ │ │ +00047f70: 0a20 2070 7269 6d57 6f72 6436 3446 726f . primWord64Fro │ │ │ +00047f80: 6d4e 6174 203a 204e 6174 20e2 8692 2057 mNat : Nat ... W │ │ │ +00047f90: 6f72 6436 340a 9cb8 97e1 d1c2 92fd 5ecb ord64.........^. │ │ │ +00047fa0: d198 eccf ffbc da5e 00fa 0100 047f e605 .......^........ │ │ │ +00047fb0: b480 80e6 0800 0000 0520 0000 0100 0100 ......... ...... │ │ │ +00047fc0: 0404 0803 0702 8680 80ec 0802 0000 030f ................ │ │ │ +00047fd0: 0005 0505 0b87 8080 ec08 0105 2000 0001 ............ ... │ │ │ +00047fe0: 0b9e 010b 8002 c9e4 8ad6 e2e3 ffd3 bc01 ................ │ │ │ +00047ff0: afd3 cdda cfd6 edde 5200 ec01 0004 8023 ........R......# │ │ │ +00048000: 0520 0000 0100 0404 0803 0702 5e02 0000 . ..........^... │ │ │ +00048010: 030f 0005 0505 0b5f 0b81 020b 6109 0601 ......._....a... │ │ │ +00048020: 0099 02a8 f4ab b6f6 ffcc fd55 8cbe f1c2 ...........U.... │ │ │ +00048030: 8de4 ceef 2300 8102 0004 816d 0582 8080 ....#......m.... │ │ │ +00048040: e608 0000 0100 0304 0704 0200 0003 0f00 ................ │ │ │ +00048050: 0901 9902 7b2d 2320 4f50 5449 4f4e 5320 ....{-# OPTIONS │ │ │ +00048060: 2d2d 6375 6269 6361 6c2d 636f 6d70 6174 --cubical-compat │ │ │ +00048070: 6962 6c65 202d 2d73 6166 6520 2d2d 6e6f ible --safe --no │ │ │ +00048080: 2d75 6e69 7665 7273 652d 706f 6c79 6d6f -universe-polymo │ │ │ +00048090: 7270 6869 736d 0a20 2020 2020 2020 2020 rphism. │ │ │ +000480a0: 2020 202d 2d6e 6f2d 7369 7a65 642d 7479 --no-sized-ty │ │ │ +000480b0: 7065 7320 2d2d 6e6f 2d67 7561 7264 6564 pes --no-guarded │ │ │ +000480c0: 6e65 7373 202d 2d6c 6576 656c 2d75 6e69 ness --level-uni │ │ │ +000480d0: 7665 7273 6520 232d 7d0a 0a6d 6f64 756c verse #-}..modul │ │ │ +000480e0: 6520 4167 6461 2e42 7569 6c74 696e 2e55 e Agda.Builtin.U │ │ │ +000480f0: 6e69 7420 7768 6572 650a 0a72 6563 6f72 nit where..recor │ │ │ +00048100: 6420 e28a a420 3a20 5365 7420 7768 6572 d ... : Set wher │ │ │ +00048110: 650a 2020 696e 7374 616e 6365 2063 6f6e e. instance con │ │ │ +00048120: 7374 7275 6374 6f72 2074 740a 0a7b 2d23 structor tt..{-# │ │ │ +00048130: 2042 5549 4c54 494e 2055 4e49 5420 e28a BUILTIN UNIT .. │ │ │ +00048140: a420 232d 7d0a 7b2d 2320 434f 4d50 494c . #-}.{-# COMPIL │ │ │ +00048150: 4520 4748 4320 e28a a420 3d20 6461 7461 E GHC ... = data │ │ │ +00048160: 2028 2920 2828 2929 2023 2d7d 0aa7 ab83 () (()) #-}.... │ │ │ +00048170: e497 a8bf e946 dfed a0c4 91c8 f4ff c501 .....F.......... │ │ │ +00048180: 00ea 0100 0481 aa05 2000 0001 0004 0408 ........ ....... │ │ │ +00048190: 0307 025e 0200 0003 0f00 0505 050b 5f0b ...^.........._. │ │ │ +000481a0: 8202 0b61 0906 0100 b603 e4a4 e4c6 8dc8 ...a............ │ │ │ +000481b0: cb99 f501 8bb4 f0b4 9784 8bef c101 0082 ................ │ │ │ +000481c0: 0200 0483 9305 8280 80e6 0800 0001 0003 ................ │ │ │ +000481d0: 0407 0402 0000 030f 0009 01b6 037b 2d23 .............{-# │ │ │ +000481e0: 204f 5054 494f 4e53 202d 2d6e 6f2d 7369 OPTIONS --no-si │ │ │ +000481f0: 7a65 642d 7479 7065 7320 2d2d 6e6f 2d67 zed-types --no-g │ │ │ +00048200: 7561 7264 6564 6e65 7373 202d 2d6c 6576 uardedness --lev │ │ │ +00048210: 656c 2d75 6e69 7665 7273 6520 232d 7d0a el-universe #-}. │ │ │ +00048220: 0a6d 6f64 756c 6520 4167 6461 2e42 7569 .module Agda.Bui │ │ │ +00048230: 6c74 696e 2e54 7275 7374 4d65 2077 6865 ltin.TrustMe whe │ │ │ +00048240: 7265 0a0a 6f70 656e 2069 6d70 6f72 7420 re..open import │ │ │ +00048250: 4167 6461 2e42 7569 6c74 696e 2e45 7175 Agda.Builtin.Equ │ │ │ +00048260: 616c 6974 790a 6f70 656e 2069 6d70 6f72 ality.open impor │ │ │ +00048270: 7420 4167 6461 2e42 7569 6c74 696e 2e45 t Agda.Builtin.E │ │ │ +00048280: 7175 616c 6974 792e 4572 6173 650a 0a70 quality.Erase..p │ │ │ +00048290: 7269 7661 7465 0a20 2070 6f73 7475 6c61 rivate. postula │ │ │ +000482a0: 7465 0a20 2020 2075 6e73 6166 6550 7269 te. unsafePri │ │ │ +000482b0: 6d54 7275 7374 4d65 203a 20e2 8880 207b mTrustMe : ... { │ │ │ +000482c0: 617d 207b 4120 3a20 5365 7420 617d 207b a} {A : Set a} { │ │ │ +000482d0: 7820 7920 3a20 417d 20e2 8692 2078 20e2 x y : A} ... x . │ │ │ +000482e0: 89a1 2079 0a0a 7072 696d 5472 7573 744d .. y..primTrustM │ │ │ +000482f0: 6520 3a20 e288 8020 7b61 7d20 7b41 203a e : ... {a} {A : │ │ │ +00048300: 2053 6574 2061 7d20 7b78 2079 203a 2041 Set a} {x y : A │ │ │ +00048310: 7d20 e286 9220 7820 e289 a120 790a 7072 } ... x ... y.pr │ │ │ +00048320: 696d 5472 7573 744d 6520 3d20 7072 696d imTrustMe = prim │ │ │ +00048330: 4572 6173 6545 7175 616c 6974 7920 756e EraseEquality un │ │ │ +00048340: 7361 6665 5072 696d 5472 7573 744d 650a safePrimTrustMe. │ │ │ +00048350: 0a7b 2d23 2044 4953 504c 4159 2070 7269 .{-# DISPLAY pri │ │ │ +00048360: 6d45 7261 7365 4571 7561 6c69 7479 2075 mEraseEquality u │ │ │ +00048370: 6e73 6166 6550 7269 6d54 7275 7374 4d65 nsafePrimTrustMe │ │ │ +00048380: 203d 2070 7269 6d54 7275 7374 4d65 2023 = primTrustMe # │ │ │ +00048390: 2d7d 0afb 86f7 c59b b1d7 fe45 b58c ada8 -}.........E.... │ │ │ +000483a0: a0f7 a082 6700 e701 0004 83cf 0520 0000 ....g........ .. │ │ │ +000483b0: 0100 0404 0803 0702 5e02 0000 030f 0005 ........^....... │ │ │ +000483c0: 0505 0b5f 0b83 020b 6109 0601 00a1 0381 ..._....a....... │ │ │ +000483d0: b4a5 dfe2 82f7 ac81 01f5 bebb f69a e2c0 ................ │ │ │ +000483e0: fbd2 0100 8302 0004 85a3 0582 8080 e608 ................ │ │ │ +000483f0: 0000 0100 0304 0704 0200 0003 0f00 0901 ................ │ │ │ +00048400: a103 7b2d 2320 4f50 5449 4f4e 5320 2d2d ..{-# OPTIONS -- │ │ │ +00048410: 6375 6269 6361 6c2d 636f 6d70 6174 6962 cubical-compatib │ │ │ +00048420: 6c65 202d 2d73 6166 6520 2d2d 6e6f 2d73 le --safe --no-s │ │ │ +00048430: 697a 6564 2d74 7970 6573 202d 2d6e 6f2d ized-types --no- │ │ │ +00048440: 6775 6172 6465 646e 6573 7320 2d2d 6c65 guardedness --le │ │ │ +00048450: 7665 6c2d 756e 6976 6572 7365 2023 2d7d vel-universe #-} │ │ │ +00048460: 0a0a 6d6f 6475 6c65 2041 6764 612e 4275 ..module Agda.Bu │ │ │ +00048470: 696c 7469 6e2e 5374 7269 6e67 2e50 726f iltin.String.Pro │ │ │ +00048480: 7065 7274 6965 7320 7768 6572 650a 0a6f perties where..o │ │ │ +00048490: 7065 6e20 696d 706f 7274 2041 6764 612e pen import Agda. │ │ │ +000484a0: 4275 696c 7469 6e2e 5374 7269 6e67 0a6f Builtin.String.o │ │ │ +000484b0: 7065 6e20 696d 706f 7274 2041 6764 612e pen import Agda. │ │ │ +000484c0: 4275 696c 7469 6e2e 4571 7561 6c69 7479 Builtin.Equality │ │ │ +000484d0: 0a0a 7072 696d 6974 6976 650a 0a20 2070 ..primitive.. p │ │ │ +000484e0: 7269 6d53 7472 696e 6754 6f4c 6973 7449 rimStringToListI │ │ │ +000484f0: 6e6a 6563 7469 7665 203a 20e2 8880 2061 njective : ... a │ │ │ +00048500: 2062 20e2 8692 2070 7269 6d53 7472 696e b ... primStrin │ │ │ +00048510: 6754 6f4c 6973 7420 6120 e289 a120 7072 gToList a ... pr │ │ │ +00048520: 696d 5374 7269 6e67 546f 4c69 7374 2062 imStringToList b │ │ │ +00048530: 20e2 8692 2061 20e2 89a1 2062 0a20 2070 ... a ... b. p │ │ │ +00048540: 7269 6d53 7472 696e 6746 726f 6d4c 6973 rimStringFromLis │ │ │ +00048550: 7449 6e6a 6563 7469 7665 203a 20e2 8880 tInjective : ... │ │ │ +00048560: 2061 2062 20e2 8692 2070 7269 6d53 7472 a b ... primStr │ │ │ +00048570: 696e 6746 726f 6d4c 6973 7420 6120 e289 ingFromList a .. │ │ │ +00048580: a120 7072 696d 5374 7269 6e67 4672 6f6d . primStringFrom │ │ │ +00048590: 4c69 7374 2062 20e2 8692 2061 20e2 89a1 List b ... a ... │ │ │ +000485a0: 2062 0af0 fdb8 8296 d5f7 e069 eb9b 87fc b.........i.... │ │ │ +000485b0: c7d4 91a4 5b00 e501 0004 85df 0520 0000 ....[........ .. │ │ │ +000485c0: 0100 0404 0803 0702 5e02 0000 030f 0005 ........^....... │ │ │ +000485d0: 0505 0b5f 0b84 020b 6109 0601 00a4 0cbd ..._....a....... │ │ │ +000485e0: 85d8 a4d6 ce85 819d 01e9 e9b5 d0be a5a5 ................ │ │ │ +000485f0: faf2 0100 8402 0004 8c36 0582 8080 e608 .........6...... │ │ │ +00048600: 0000 0100 0304 0704 0200 0003 0f00 0901 ................ │ │ │ +00048610: a40c 7b2d 2320 4f50 5449 4f4e 5320 2d2d ..{-# OPTIONS -- │ │ │ +00048620: 6375 6269 6361 6c2d 636f 6d70 6174 6962 cubical-compatib │ │ │ +00048630: 6c65 202d 2d73 6166 6520 2d2d 6e6f 2d73 le --safe --no-s │ │ │ +00048640: 697a 6564 2d74 7970 6573 202d 2d6e 6f2d ized-types --no- │ │ │ +00048650: 6775 6172 6465 646e 6573 7320 2d2d 6c65 guardedness --le │ │ │ +00048660: 7665 6c2d 756e 6976 6572 7365 2023 2d7d vel-universe #-} │ │ │ +00048670: 0a0a 6d6f 6475 6c65 2041 6764 612e 4275 ..module Agda.Bu │ │ │ +00048680: 696c 7469 6e2e 5374 7269 6e67 2077 6865 iltin.String whe │ │ │ +00048690: 7265 0a0a 6f70 656e 2069 6d70 6f72 7420 re..open import │ │ │ +000486a0: 4167 6461 2e42 7569 6c74 696e 2e42 6f6f Agda.Builtin.Boo │ │ │ +000486b0: 6c0a 6f70 656e 2069 6d70 6f72 7420 4167 l.open import Ag │ │ │ +000486c0: 6461 2e42 7569 6c74 696e 2e43 6861 720a da.Builtin.Char. │ │ │ +000486d0: 6f70 656e 2069 6d70 6f72 7420 4167 6461 open import Agda │ │ │ +000486e0: 2e42 7569 6c74 696e 2e4c 6973 740a 6f70 .Builtin.List.op │ │ │ +000486f0: 656e 2069 6d70 6f72 7420 4167 6461 2e42 en import Agda.B │ │ │ +00048700: 7569 6c74 696e 2e4d 6179 6265 0a6f 7065 uiltin.Maybe.ope │ │ │ +00048710: 6e20 696d 706f 7274 2041 6764 612e 4275 n import Agda.Bu │ │ │ +00048720: 696c 7469 6e2e 4e61 7420 7573 696e 6720 iltin.Nat using │ │ │ +00048730: 284e 6174 290a 6f70 656e 2069 6d70 6f72 (Nat).open impor │ │ │ +00048740: 7420 4167 6461 2e42 7569 6c74 696e 2e53 t Agda.Builtin.S │ │ │ +00048750: 6967 6d61 0a0a 706f 7374 756c 6174 6520 igma..postulate │ │ │ +00048760: 5374 7269 6e67 203a 2053 6574 0a7b 2d23 String : Set.{-# │ │ │ +00048770: 2042 5549 4c54 494e 2053 5452 494e 4720 BUILTIN STRING │ │ │ +00048780: 5374 7269 6e67 2023 2d7d 0a0a 7072 696d String #-}..prim │ │ │ +00048790: 6974 6976 650a 2020 7072 696d 5374 7269 itive. primStri │ │ │ +000487a0: 6e67 556e 636f 6e73 2020 203a 2053 7472 ngUncons : Str │ │ │ +000487b0: 696e 6720 e286 9220 4d61 7962 6520 28ce ing ... Maybe (. │ │ │ +000487c0: a320 4368 6172 2028 cebb 205f 20e2 8692 . Char (.. _ ... │ │ │ +000487d0: 2053 7472 696e 6729 290a 2020 7072 696d String)). prim │ │ │ +000487e0: 5374 7269 6e67 546f 4c69 7374 2020 203a StringToList : │ │ │ +000487f0: 2053 7472 696e 6720 e286 9220 4c69 7374 String ... List │ │ │ +00048800: 2043 6861 720a 2020 7072 696d 5374 7269 Char. primStri │ │ │ +00048810: 6e67 4672 6f6d 4c69 7374 203a 204c 6973 ngFromList : Lis │ │ │ +00048820: 7420 4368 6172 20e2 8692 2053 7472 696e t Char ... Strin │ │ │ +00048830: 670a 2020 7072 696d 5374 7269 6e67 4170 g. primStringAp │ │ │ +00048840: 7065 6e64 2020 203a 2053 7472 696e 6720 pend : String │ │ │ +00048850: e286 9220 5374 7269 6e67 20e2 8692 2053 ... String ... S │ │ │ +00048860: 7472 696e 670a 2020 7072 696d 5374 7269 tring. primStri │ │ │ +00048870: 6e67 4571 7561 6c69 7479 203a 2053 7472 ngEquality : Str │ │ │ +00048880: 696e 6720 e286 9220 5374 7269 6e67 20e2 ing ... String . │ │ │ +00048890: 8692 2042 6f6f 6c0a 2020 7072 696d 5368 .. Bool. primSh │ │ │ +000488a0: 6f77 4368 6172 2020 2020 2020 203a 2043 owChar : C │ │ │ +000488b0: 6861 7220 e286 9220 5374 7269 6e67 0a20 har ... String. │ │ │ +000488c0: 2070 7269 6d53 686f 7753 7472 696e 6720 primShowString │ │ │ +000488d0: 2020 2020 3a20 5374 7269 6e67 20e2 8692 : String ... │ │ │ +000488e0: 2053 7472 696e 670a 2020 7072 696d 5368 String. primSh │ │ │ +000488f0: 6f77 4e61 7420 2020 2020 2020 203a 204e owNat : N │ │ │ +00048900: 6174 20e2 8692 2053 7472 696e 670a 0a7b at ... String..{ │ │ │ +00048910: 2d23 2043 4f4d 5049 4c45 204a 5320 7072 -# COMPILE JS pr │ │ │ +00048920: 696d 5374 7269 6e67 556e 636f 6e73 203d imStringUncons = │ │ │ +00048930: 2066 756e 6374 696f 6e28 7829 207b 0a20 function(x) {. │ │ │ +00048940: 2020 6966 2028 7820 3d3d 3d20 2222 2920 if (x === "") │ │ │ +00048950: 7b20 7265 7475 726e 207a 5f6a 4167 6461 { return z_jAgda │ │ │ +00048960: 5f41 6764 615f 4275 696c 7469 6e5f 4d61 _Agda_Builtin_Ma │ │ │ +00048970: 7962 655b 224d 6179 6265 225d 5b22 6e6f ybe["Maybe"]["no │ │ │ +00048980: 7468 696e 6722 5d3b 207d 3b0a 2020 2072 thing"]; };. r │ │ │ +00048990: 6574 7572 6e20 7a5f 6a41 6764 615f 4167 eturn z_jAgda_Ag │ │ │ +000489a0: 6461 5f42 7569 6c74 696e 5f4d 6179 6265 da_Builtin_Maybe │ │ │ +000489b0: 5b22 4d61 7962 6522 5d5b 226a 7573 7422 ["Maybe"]["just" │ │ │ +000489c0: 5d28 7a5f 6a41 6764 615f 4167 6461 5f42 ](z_jAgda_Agda_B │ │ │ +000489d0: 7569 6c74 696e 5f53 6967 6d61 5b22 5f2c uiltin_Sigma["_, │ │ │ +000489e0: 5f22 5d28 782e 6368 6172 4174 2830 2929 _"](x.charAt(0)) │ │ │ +000489f0: 2878 2e73 6c69 6365 2831 2929 293b 0a20 (x.slice(1)));. │ │ │ +00048a00: 2020 7d0a 2023 2d7d 0a7b 2d23 2043 4f4d }. #-}.{-# COM │ │ │ +00048a10: 5049 4c45 204a 5320 7072 696d 5374 7269 PILE JS primStri │ │ │ +00048a20: 6e67 546f 4c69 7374 203d 2066 756e 6374 ngToList = funct │ │ │ +00048a30: 696f 6e28 7829 207b 2072 6574 7572 6e20 ion(x) { return │ │ │ +00048a40: 782e 7370 6c69 7428 2222 293b 207d 2023 x.split(""); } # │ │ │ +00048a50: 2d7d 0a7b 2d23 2043 4f4d 5049 4c45 204a -}.{-# COMPILE J │ │ │ +00048a60: 5320 7072 696d 5374 7269 6e67 4672 6f6d S primStringFrom │ │ │ +00048a70: 4c69 7374 203d 2066 756e 6374 696f 6e28 List = function( │ │ │ +00048a80: 7829 207b 2072 6574 7572 6e20 782e 6a6f x) { return x.jo │ │ │ +00048a90: 696e 2822 2229 3b20 7d20 232d 7d0a 7b2d in(""); } #-}.{- │ │ │ +00048aa0: 2320 434f 4d50 494c 4520 4a53 2070 7269 # COMPILE JS pri │ │ │ +00048ab0: 6d53 7472 696e 6741 7070 656e 6420 3d20 mStringAppend = │ │ │ +00048ac0: 6675 6e63 7469 6f6e 2878 2920 7b20 7265 function(x) { re │ │ │ +00048ad0: 7475 726e 2066 756e 6374 696f 6e28 7929 turn function(y) │ │ │ +00048ae0: 207b 2072 6574 7572 6e20 782b 793b 207d { return x+y; } │ │ │ +00048af0: 3b20 7d20 232d 7d0a 7b2d 2320 434f 4d50 ; } #-}.{-# COMP │ │ │ +00048b00: 494c 4520 4a53 2070 7269 6d53 7472 696e ILE JS primStrin │ │ │ +00048b10: 6745 7175 616c 6974 7920 3d20 6675 6e63 gEquality = func │ │ │ +00048b20: 7469 6f6e 2878 2920 7b20 7265 7475 726e tion(x) { return │ │ │ +00048b30: 2066 756e 6374 696f 6e28 7929 207b 2072 function(y) { r │ │ │ +00048b40: 6574 7572 6e20 783d 3d3d 793b 207d 3b20 eturn x===y; }; │ │ │ +00048b50: 7d20 232d 7d0a 7b2d 2320 434f 4d50 494c } #-}.{-# COMPIL │ │ │ +00048b60: 4520 4a53 2070 7269 6d53 686f 7743 6861 E JS primShowCha │ │ │ +00048b70: 7220 3d20 6675 6e63 7469 6f6e 2878 2920 r = function(x) │ │ │ +00048b80: 7b20 7265 7475 726e 204a 534f 4e2e 7374 { return JSON.st │ │ │ +00048b90: 7269 6e67 6966 7928 7829 3b20 7d20 232d ringify(x); } #- │ │ │ +00048ba0: 7d0a 7b2d 2320 434f 4d50 494c 4520 4a53 }.{-# COMPILE JS │ │ │ +00048bb0: 2070 7269 6d53 686f 7753 7472 696e 6720 primShowString │ │ │ +00048bc0: 3d20 6675 6e63 7469 6f6e 2878 2920 7b20 = function(x) { │ │ │ +00048bd0: 7265 7475 726e 204a 534f 4e2e 7374 7269 return JSON.stri │ │ │ +00048be0: 6e67 6966 7928 7829 3b20 7d20 232d 7d0a ngify(x); } #-}. │ │ │ +00048bf0: 7b2d 2320 434f 4d50 494c 4520 4a53 2070 {-# COMPILE JS p │ │ │ +00048c00: 7269 6d53 686f 774e 6174 203d 2066 756e rimShowNat = fun │ │ │ +00048c10: 6374 696f 6e28 7829 207b 2072 6574 7572 ction(x) { retur │ │ │ +00048c20: 6e20 782e 746f 5374 7269 6e67 2829 3b20 n x.toString(); │ │ │ +00048c30: 7d20 232d 7d0a d0e9 a8e7 d0c0 b2e6 fb01 } #-}........... │ │ │ +00048c40: d284 96e5 efd5 ceb4 6f00 e301 0004 8c73 ........o......s │ │ │ +00048c50: 0520 0000 0100 0404 0803 0702 5e02 0000 . ..........^... │ │ │ +00048c60: 030f 0005 0505 0b5f 0b85 020b 6109 0601 ......._....a... │ │ │ +00048c70: 00ff 02ff cbb6 b8f2 f287 ed14 c3d4 b2c4 ................ │ │ │ +00048c80: a0b5 cfa9 4200 8502 0004 8e23 0582 8080 ....B......#.... │ │ │ +00048c90: e608 0000 0100 0304 0704 0200 0003 0f00 ................ │ │ │ +00048ca0: 0901 ff02 7b2d 2320 4f50 5449 4f4e 5320 ....{-# OPTIONS │ │ │ +00048cb0: 2d2d 6375 6269 6361 6c2d 636f 6d70 6174 --cubical-compat │ │ │ +00048cc0: 6962 6c65 202d 2d73 6166 6520 2d2d 6e6f ible --safe --no │ │ │ +00048cd0: 2d73 697a 6564 2d74 7970 6573 202d 2d6e -sized-types --n │ │ │ +00048ce0: 6f2d 6775 6172 6465 646e 6573 7320 2d2d o-guardedness -- │ │ │ +00048cf0: 6c65 7665 6c2d 756e 6976 6572 7365 2023 level-universe # │ │ │ +00048d00: 2d7d 0a0a 6d6f 6475 6c65 2041 6764 612e -}..module Agda. │ │ │ +00048d10: 4275 696c 7469 6e2e 5374 7269 6374 2077 Builtin.Strict w │ │ │ +00048d20: 6865 7265 0a0a 6f70 656e 2069 6d70 6f72 here..open impor │ │ │ +00048d30: 7420 4167 6461 2e42 7569 6c74 696e 2e45 t Agda.Builtin.E │ │ │ +00048d40: 7175 616c 6974 790a 0a70 7269 6d69 7469 quality..primiti │ │ │ +00048d50: 7665 0a20 2070 7269 6d46 6f72 6365 2020 ve. primForce │ │ │ +00048d60: 2020 2020 3a20 e288 8020 7b61 2062 7d20 : ... {a b} │ │ │ +00048d70: 7b41 203a 2053 6574 2061 7d20 7b42 203a {A : Set a} {B : │ │ │ +00048d80: 2041 20e2 8692 2053 6574 2062 7d20 2878 A ... Set b} (x │ │ │ +00048d90: 203a 2041 2920 e286 9220 28e2 8880 2078 : A) ... (... x │ │ │ +00048da0: 20e2 8692 2042 2078 2920 e286 9220 4220 ... B x) ... B │ │ │ +00048db0: 780a 2020 7072 696d 466f 7263 654c 656d x. primForceLem │ │ │ +00048dc0: 6d61 203a 20e2 8880 207b 6120 627d 207b ma : ... {a b} { │ │ │ +00048dd0: 4120 3a20 5365 7420 617d 207b 4220 3a20 A : Set a} {B : │ │ │ +00048de0: 4120 e286 9220 5365 7420 627d 2028 7820 A ... Set b} (x │ │ │ +00048df0: 3a20 4129 2028 6620 3a20 e288 8020 7820 : A) (f : ... x │ │ │ +00048e00: e286 9220 4220 7829 20e2 8692 2070 7269 ... B x) ... pri │ │ │ +00048e10: 6d46 6f72 6365 2078 2066 20e2 89a1 2066 mForce x f ... f │ │ │ +00048e20: 2078 0ab5 a3b3 f78e 92d7 c4d7 01a4 c4e5 x.............. │ │ │ +00048e30: cf91 a8f1 d81a 0080 0200 048e 7405 b480 ............t... │ │ │ +00048e40: 80e6 0800 0000 0520 0000 0100 0100 0404 ....... ........ │ │ │ +00048e50: 0803 0702 8680 80ec 0802 0000 030f 0005 ................ │ │ │ +00048e60: 0505 0b87 8080 ec08 0105 2000 0001 0b9c .......... ..... │ │ │ +00048e70: 010b 8602 94b3 f0f6 e5c9 87c0 7a81 d1cc ............z... │ │ │ +00048e80: a3ea bbac cca7 0100 e101 0004 8eb1 0520 ............... │ │ │ +00048e90: 0000 0100 0404 0803 0702 5e02 0000 030f ..........^..... │ │ │ +00048ea0: 0005 0505 0b5f 0b87 020b 6109 0601 00f1 ....._....a..... │ │ │ +00048eb0: 0494 bbfe 9998 b9d0 b285 01d1 8d94 bfb4 ................ │ │ │ +00048ec0: cce5 a284 0100 8702 0004 9155 0582 8080 ...........U.... │ │ │ +00048ed0: e608 0000 0100 0304 0704 0200 0003 0f00 ................ │ │ │ +00048ee0: 0901 f104 7b2d 2320 4f50 5449 4f4e 5320 ....{-# OPTIONS │ │ │ +00048ef0: 2d2d 6375 6269 6361 6c2d 636f 6d70 6174 --cubical-compat │ │ │ +00048f00: 6962 6c65 202d 2d6e 6f2d 756e 6976 6572 ible --no-univer │ │ │ +00048f10: 7365 2d70 6f6c 796d 6f72 7068 6973 6d20 se-polymorphism │ │ │ +00048f20: 2d2d 7369 7a65 642d 7479 7065 730a 2020 --sized-types. │ │ │ +00048f30: 2020 2020 2020 2020 2020 2d2d 6e6f 2d67 --no-g │ │ │ +00048f40: 7561 7264 6564 6e65 7373 202d 2d6c 6576 uardedness --lev │ │ │ +00048f50: 656c 2d75 6e69 7665 7273 6520 232d 7d0a el-universe #-}. │ │ │ +00048f60: 0a6d 6f64 756c 6520 4167 6461 2e42 7569 .module Agda.Bui │ │ │ +00048f70: 6c74 696e 2e53 697a 6520 7768 6572 650a ltin.Size where. │ │ │ +00048f80: 0a7b 2d23 2042 5549 4c54 494e 2053 495a .{-# BUILTIN SIZ │ │ │ +00048f90: 4555 4e49 5620 5369 7a65 556e 6976 2023 EUNIV SizeUniv # │ │ │ +00048fa0: 2d7d 0a7b 2d23 2042 5549 4c54 494e 2053 -}.{-# BUILTIN S │ │ │ +00048fb0: 495a 4520 2020 2020 5369 7a65 2020 2020 IZE Size │ │ │ +00048fc0: 2023 2d7d 0a7b 2d23 2042 5549 4c54 494e #-}.{-# BUILTIN │ │ │ +00048fd0: 2053 495a 454c 5420 2020 5369 7a65 3c5f SIZELT Size<_ │ │ │ +00048fe0: 2020 2023 2d7d 0a7b 2d23 2042 5549 4c54 #-}.{-# BUILT │ │ │ +00048ff0: 494e 2053 495a 4553 5543 2020 e286 915f IN SIZESUC ..._ │ │ │ +00049000: 2020 2020 2020 2023 2d7d 0a7b 2d23 2042 #-}.{-# B │ │ │ +00049010: 5549 4c54 494e 2053 495a 4549 4e46 2020 UILTIN SIZEINF │ │ │ +00049020: e288 9e20 2020 2020 2020 2023 2d7d 0a7b ... #-}.{ │ │ │ +00049030: 2d23 2042 5549 4c54 494e 2053 495a 454d -# BUILTIN SIZEM │ │ │ +00049040: 4158 2020 5fe2 8a94 cba2 5f20 2020 2020 AX _....._ │ │ │ +00049050: 232d 7d0a 0a7b 2d23 2046 4f52 4549 474e #-}..{-# FOREIGN │ │ │ +00049060: 2047 4843 0a20 2074 7970 6520 5369 7a65 GHC. type Size │ │ │ +00049070: 4c54 2069 203d 2028 290a 2020 232d 7d0a LT i = (). #-}. │ │ │ +00049080: 0a7b 2d23 2043 4f4d 5049 4c45 2047 4843 .{-# COMPILE GHC │ │ │ +00049090: 2053 697a 6520 2020 3d20 7479 7065 2028 Size = type ( │ │ │ +000490a0: 2920 2020 2020 232d 7d0a 7b2d 2320 434f ) #-}.{-# CO │ │ │ +000490b0: 4d50 494c 4520 4748 4320 5369 7a65 3c5f MPILE GHC Size<_ │ │ │ +000490c0: 203d 2074 7970 6520 5369 7a65 4c54 2023 = type SizeLT # │ │ │ +000490d0: 2d7d 0a7b 2d23 2043 4f4d 5049 4c45 2047 -}.{-# COMPILE G │ │ │ +000490e0: 4843 20e2 8691 5f20 2020 2020 3d20 5c5f HC ..._ = \_ │ │ │ +000490f0: 202d 3e20 2829 2020 2020 232d 7d0a 7b2d -> () #-}.{- │ │ │ +00049100: 2320 434f 4d50 494c 4520 4748 4320 e288 # COMPILE GHC .. │ │ │ +00049110: 9e20 2020 2020 203d 2028 2920 2020 2020 . = () │ │ │ +00049120: 2020 2020 2023 2d7d 0a7b 2d23 2043 4f4d #-}.{-# COM │ │ │ +00049130: 5049 4c45 2047 4843 205f e28a 94cb a25f PILE GHC _....._ │ │ │ +00049140: 2020 203d 205c 5f20 5f20 2d3e 2028 2920 = \_ _ -> () │ │ │ +00049150: 2023 2d7d 0a86 c1a9 ffb0 a6bf db30 afea #-}.........0.. │ │ │ +00049160: c4ab d5d8 c9a9 e901 00df 0100 0491 9205 ................ │ │ │ +00049170: 2000 0001 0004 0408 0307 025e 0200 0003 ..........^.... │ │ │ +00049180: 0f00 0505 050b 5f0b 8802 0b61 0906 0100 ......_....a.... │ │ │ +00049190: cf02 e1ba b4bb e5be fbd8 6cef fad3 c7ea ..........l..... │ │ │ +000491a0: d9fb 8bfd 0100 8802 0004 9313 0582 8080 ................ │ │ │ +000491b0: e608 0000 0100 0304 0704 0200 0003 0f00 ................ │ │ │ +000491c0: 0901 cf02 7b2d 2320 4f50 5449 4f4e 5320 ....{-# OPTIONS │ │ │ +000491d0: 2d2d 6375 6269 6361 6c2d 636f 6d70 6174 --cubical-compat │ │ │ +000491e0: 6962 6c65 202d 2d73 6166 6520 2d2d 6e6f ible --safe --no │ │ │ +000491f0: 2d73 697a 6564 2d74 7970 6573 202d 2d6e -sized-types --n │ │ │ +00049200: 6f2d 6775 6172 6465 646e 6573 7320 2d2d o-guardedness -- │ │ │ +00049210: 6c65 7665 6c2d 756e 6976 6572 7365 2023 level-universe # │ │ │ +00049220: 2d7d 0a0a 6d6f 6475 6c65 2041 6764 612e -}..module Agda. │ │ │ +00049230: 4275 696c 7469 6e2e 5369 676d 6120 7768 Builtin.Sigma wh │ │ │ +00049240: 6572 650a 0a6f 7065 6e20 696d 706f 7274 ere..open import │ │ │ +00049250: 2041 6764 612e 5072 696d 6974 6976 650a Agda.Primitive. │ │ │ +00049260: 0a72 6563 6f72 6420 cea3 207b 6120 627d .record .. {a b} │ │ │ +00049270: 2028 4120 3a20 5365 7420 6129 2028 4220 (A : Set a) (B │ │ │ +00049280: 3a20 4120 e286 9220 5365 7420 6229 203a : A ... Set b) : │ │ │ +00049290: 2053 6574 2028 6120 e28a 9420 6229 2077 Set (a ... b) w │ │ │ +000492a0: 6865 7265 0a20 2063 6f6e 7374 7275 6374 here. construct │ │ │ +000492b0: 6f72 205f 2c5f 0a20 2066 6965 6c64 0a20 or _,_. field. │ │ │ +000492c0: 2020 2066 7374 203a 2041 0a20 2020 2073 fst : A. s │ │ │ +000492d0: 6e64 203a 2042 2066 7374 0a0a 6f70 656e nd : B fst..open │ │ │ +000492e0: 20ce a320 7075 626c 6963 0a0a 696e 6669 .. public..infi │ │ │ +000492f0: 7872 2034 205f 2c5f 0a0a 7b2d 2320 4255 xr 4 _,_..{-# BU │ │ │ +00049300: 494c 5449 4e20 5349 474d 4120 cea3 2023 ILTIN SIGMA .. # │ │ │ +00049310: 2d7d 0ac6 e1df 9dbc ae92 ba9b 019d e29e -}.............. │ │ │ +00049320: f585 e49f b0a8 0100 dd01 0004 9351 0520 .............Q. │ │ │ +00049330: 0000 0100 0404 0803 0702 5e02 0000 030f ..........^..... │ │ │ +00049340: 0005 0505 0b5f 0b89 020b 6109 0601 00a0 ....._....a..... │ │ │ +00049350: 03a6 85cd a8fd eef3 d282 01f2 fbb4 c7bd ................ │ │ │ +00049360: 96fd c5de 0100 8902 0004 9524 0582 8080 ...........$.... │ │ │ +00049370: e608 0000 0100 0304 0704 0200 0003 0f00 ................ │ │ │ +00049380: 0901 a003 7b2d 2320 4f50 5449 4f4e 5320 ....{-# OPTIONS │ │ │ +00049390: 2d2d 6375 6269 6361 6c2d 636f 6d70 6174 --cubical-compat │ │ │ +000493a0: 6962 6c65 202d 2d73 6166 6520 2d2d 6e6f ible --safe --no │ │ │ +000493b0: 2d73 697a 6564 2d74 7970 6573 202d 2d6e -sized-types --n │ │ │ +000493c0: 6f2d 6775 6172 6465 646e 6573 7320 2d2d o-guardedness -- │ │ │ +000493d0: 6c65 7665 6c2d 756e 6976 6572 7365 2023 level-universe # │ │ │ +000493e0: 2d7d 0a0a 6d6f 6475 6c65 2041 6764 612e -}..module Agda. │ │ │ +000493f0: 4275 696c 7469 6e2e 5265 666c 6563 7469 Builtin.Reflecti │ │ │ +00049400: 6f6e 2e50 726f 7065 7274 6965 7320 7768 on.Properties wh │ │ │ +00049410: 6572 650a 0a6f 7065 6e20 696d 706f 7274 ere..open import │ │ │ +00049420: 2041 6764 612e 4275 696c 7469 6e2e 5265 Agda.Builtin.Re │ │ │ +00049430: 666c 6563 7469 6f6e 0a6f 7065 6e20 696d flection.open im │ │ │ +00049440: 706f 7274 2041 6764 612e 4275 696c 7469 port Agda.Builti │ │ │ +00049450: 6e2e 4571 7561 6c69 7479 0a0a 7072 696d n.Equality..prim │ │ │ +00049460: 6974 6976 650a 0a20 2070 7269 6d4d 6574 itive.. primMet │ │ │ +00049470: 6154 6f4e 6174 496e 6a65 6374 6976 6520 aToNatInjective │ │ │ +00049480: 3a20 e288 8020 6120 6220 e286 9220 7072 : ... a b ... pr │ │ │ +00049490: 696d 4d65 7461 546f 4e61 7420 6120 e289 imMetaToNat a .. │ │ │ +000494a0: a120 7072 696d 4d65 7461 546f 4e61 7420 . primMetaToNat │ │ │ +000494b0: 6220 e286 9220 6120 e289 a120 620a 2020 b ... a ... b. │ │ │ +000494c0: 7072 696d 514e 616d 6554 6f57 6f72 6436 primQNameToWord6 │ │ │ +000494d0: 3473 496e 6a65 6374 6976 6520 3a20 e288 4sInjective : .. │ │ │ +000494e0: 8020 6120 6220 e286 9220 7072 696d 514e . a b ... primQN │ │ │ +000494f0: 616d 6554 6f57 6f72 6436 3473 2061 20e2 ameToWord64s a . │ │ │ +00049500: 89a1 2070 7269 6d51 4e61 6d65 546f 576f .. primQNameToWo │ │ │ +00049510: 7264 3634 7320 6220 e286 9220 6120 e289 rd64s b ... a .. │ │ │ +00049520: a120 620a bffe 86fe bb8e aeb1 4a9c d7bf . b.........J... │ │ │ +00049530: 9aba fdd3 e865 00db 0100 0495 6005 2000 .....e......`. . │ │ │ +00049540: 0001 0004 0408 0307 025e 0200 0003 0f00 .........^...... │ │ │ +00049550: 0505 050b 5f0b 8a02 0b61 0906 0100 ff03 ...._....a...... │ │ │ +00049560: 96ef c1ae ebf5 c3d2 be01 8bd6 a2a3 89fc ................ │ │ │ +00049570: f8f2 dd01 008a 0200 0497 9205 8280 80e6 ................ │ │ │ +00049580: 0800 0001 0003 0407 0402 0000 030f 0009 ................ │ │ │ +00049590: 01ff 037b 2d23 204f 5054 494f 4e53 202d ...{-# OPTIONS - │ │ │ +000495a0: 2d63 7562 6963 616c 2d63 6f6d 7061 7469 -cubical-compati │ │ │ +000495b0: 626c 6520 2d2d 7361 6665 202d 2d6e 6f2d ble --safe --no- │ │ │ +000495c0: 7369 7a65 642d 7479 7065 7320 2d2d 6e6f sized-types --no │ │ │ +000495d0: 2d67 7561 7264 6564 6e65 7373 202d 2d6c -guardedness --l │ │ │ +000495e0: 6576 656c 2d75 6e69 7665 7273 6520 232d evel-universe #- │ │ │ +000495f0: 7d0a 0a6d 6f64 756c 6520 4167 6461 2e42 }..module Agda.B │ │ │ +00049600: 7569 6c74 696e 2e52 6566 6c65 6374 696f uiltin.Reflectio │ │ │ +00049610: 6e2e 4578 7465 726e 616c 2077 6865 7265 n.External where │ │ │ +00049620: 0a0a 6f70 656e 2069 6d70 6f72 7420 4167 ..open import Ag │ │ │ +00049630: 6461 2e42 7569 6c74 696e 2e4c 6973 740a da.Builtin.List. │ │ │ +00049640: 6f70 656e 2069 6d70 6f72 7420 4167 6461 open import Agda │ │ │ +00049650: 2e42 7569 6c74 696e 2e4e 6174 0a6f 7065 .Builtin.Nat.ope │ │ │ +00049660: 6e20 696d 706f 7274 2041 6764 612e 4275 n import Agda.Bu │ │ │ +00049670: 696c 7469 6e2e 5369 676d 610a 6f70 656e iltin.Sigma.open │ │ │ +00049680: 2069 6d70 6f72 7420 4167 6461 2e42 7569 import Agda.Bui │ │ │ +00049690: 6c74 696e 2e53 7472 696e 670a 6f70 656e ltin.String.open │ │ │ +000496a0: 2069 6d70 6f72 7420 4167 6461 2e42 7569 import Agda.Bui │ │ │ +000496b0: 6c74 696e 2e52 6566 6c65 6374 696f 6e0a ltin.Reflection. │ │ │ +000496c0: 0a70 6f73 7475 6c61 7465 0a20 2065 7865 .postulate. exe │ │ │ +000496d0: 6354 4320 3a20 5374 7269 6e67 20e2 8692 cTC : String ... │ │ │ +000496e0: 204c 6973 7420 5374 7269 6e67 20e2 8692 List String ... │ │ │ +000496f0: 2053 7472 696e 670a 2020 2020 2020 2020 String. │ │ │ +00049700: 20e2 8692 2054 4320 28ce a320 4e61 7420 ... TC (.. Nat │ │ │ +00049710: 28ce bb20 5f20 e286 9220 cea3 2053 7472 (.. _ ... .. Str │ │ │ +00049720: 696e 6720 28ce bb20 5f20 e286 9220 5374 ing (.. _ ... St │ │ │ +00049730: 7269 6e67 2929 290a 0a7b 2d23 2042 5549 ring)))..{-# BUI │ │ │ +00049740: 4c54 494e 2041 4744 4154 434d 4558 4543 LTIN AGDATCMEXEC │ │ │ +00049750: 2065 7865 6354 4320 232d 7d0a 0a7b 2d23 execTC #-}..{-# │ │ │ +00049760: 2043 4f4d 5049 4c45 204a 5320 6578 6563 COMPILE JS exec │ │ │ +00049770: 5443 203d 205f 203d 3e20 5f20 3d3e 205f TC = _ => _ => _ │ │ │ +00049780: 203d 3e20 756e 6465 6669 6e65 6420 232d => undefined #- │ │ │ +00049790: 7d0a de8b 939e b2fd dcff a501 d6dd ef91 }............... │ │ │ +000497a0: c4b7 e6f8 b301 00d9 0100 0497 d105 2000 .............. . │ │ │ +000497b0: 0001 0004 0408 0307 025e 0200 0003 0f00 .........^...... │ │ │ +000497c0: 0505 050b 5f0b 8b02 0b61 0906 0100 d7a2 ...._....a...... │ │ │ +000497d0: 0183 96c5 d9d3 dfbf dd5b 91e6 ceb5 e6f8 .........[...... │ │ │ +000497e0: 86f6 bd01 008b 0200 04e9 5b05 8280 80e6 ..........[..... │ │ │ +000497f0: 0800 0001 0003 0407 0402 0000 030f 0009 ................ │ │ │ +00049800: 01d7 a201 7b2d 2320 4f50 5449 4f4e 5320 ....{-# OPTIONS │ │ │ +00049810: 2d2d 6375 6269 6361 6c2d 636f 6d70 6174 --cubical-compat │ │ │ +00049820: 6962 6c65 202d 2d73 6166 6520 2d2d 6e6f ible --safe --no │ │ │ +00049830: 2d73 697a 6564 2d74 7970 6573 202d 2d6e -sized-types --n │ │ │ +00049840: 6f2d 6775 6172 6465 646e 6573 7320 2d2d o-guardedness -- │ │ │ +00049850: 6c65 7665 6c2d 756e 6976 6572 7365 2023 level-universe # │ │ │ +00049860: 2d7d 0a0a 6d6f 6475 6c65 2041 6764 612e -}..module Agda. │ │ │ +00049870: 4275 696c 7469 6e2e 5265 666c 6563 7469 Builtin.Reflecti │ │ │ +00049880: 6f6e 2077 6865 7265 0a0a 6f70 656e 2069 on where..open i │ │ │ +00049890: 6d70 6f72 7420 4167 6461 2e42 7569 6c74 mport Agda.Built │ │ │ +000498a0: 696e 2e55 6e69 740a 6f70 656e 2069 6d70 in.Unit.open imp │ │ │ +000498b0: 6f72 7420 4167 6461 2e42 7569 6c74 696e ort Agda.Builtin │ │ │ +000498c0: 2e42 6f6f 6c0a 6f70 656e 2069 6d70 6f72 .Bool.open impor │ │ │ +000498d0: 7420 4167 6461 2e42 7569 6c74 696e 2e4e t Agda.Builtin.N │ │ │ +000498e0: 6174 0a6f 7065 6e20 696d 706f 7274 2041 at.open import A │ │ │ +000498f0: 6764 612e 4275 696c 7469 6e2e 576f 7264 gda.Builtin.Word │ │ │ +00049900: 0a6f 7065 6e20 696d 706f 7274 2041 6764 .open import Agd │ │ │ +00049910: 612e 4275 696c 7469 6e2e 4c69 7374 0a6f a.Builtin.List.o │ │ │ +00049920: 7065 6e20 696d 706f 7274 2041 6764 612e pen import Agda. │ │ │ +00049930: 4275 696c 7469 6e2e 5374 7269 6e67 0a6f Builtin.String.o │ │ │ +00049940: 7065 6e20 696d 706f 7274 2041 6764 612e pen import Agda. │ │ │ +00049950: 4275 696c 7469 6e2e 4368 6172 0a6f 7065 Builtin.Char.ope │ │ │ +00049960: 6e20 696d 706f 7274 2041 6764 612e 4275 n import Agda.Bu │ │ │ +00049970: 696c 7469 6e2e 466c 6f61 740a 6f70 656e iltin.Float.open │ │ │ +00049980: 2069 6d70 6f72 7420 4167 6461 2e42 7569 import Agda.Bui │ │ │ +00049990: 6c74 696e 2e49 6e74 0a6f 7065 6e20 696d ltin.Int.open im │ │ │ +000499a0: 706f 7274 2041 6764 612e 4275 696c 7469 port Agda.Builti │ │ │ +000499b0: 6e2e 5369 676d 610a 6f70 656e 2069 6d70 n.Sigma.open imp │ │ │ +000499c0: 6f72 7420 4167 6461 2e50 7269 6d69 7469 ort Agda.Primiti │ │ │ +000499d0: 7665 0a0a 2d2d 204e 616d 6573 202d 2d0a ve..-- Names --. │ │ │ +000499e0: 0a70 6f73 7475 6c61 7465 204e 616d 6520 .postulate Name │ │ │ +000499f0: 3a20 5365 740a 7b2d 2320 4255 494c 5449 : Set.{-# BUILTI │ │ │ +00049a00: 4e20 514e 414d 4520 4e61 6d65 2023 2d7d N QNAME Name #-} │ │ │ +00049a10: 0a0a 7072 696d 6974 6976 650a 2020 7072 ..primitive. pr │ │ │ +00049a20: 696d 514e 616d 6545 7175 616c 6974 7920 imQNameEquality │ │ │ +00049a30: 3a20 4e61 6d65 20e2 8692 204e 616d 6520 : Name ... Name │ │ │ +00049a40: e286 9220 426f 6f6c 0a20 2070 7269 6d51 ... Bool. primQ │ │ │ +00049a50: 4e61 6d65 4c65 7373 2020 2020 203a 204e NameLess : N │ │ │ +00049a60: 616d 6520 e286 9220 4e61 6d65 20e2 8692 ame ... Name ... │ │ │ +00049a70: 2042 6f6f 6c0a 2020 7072 696d 5368 6f77 Bool. primShow │ │ │ +00049a80: 514e 616d 6520 2020 2020 3a20 4e61 6d65 QName : Name │ │ │ +00049a90: 20e2 8692 2053 7472 696e 670a 0a2d 2d20 ... String..-- │ │ │ +00049aa0: 4669 7869 7479 202d 2d0a 0a64 6174 6120 Fixity --..data │ │ │ +00049ab0: 4173 736f 6369 6174 6976 6974 7920 3a20 Associativity : │ │ │ +00049ac0: 5365 7420 7768 6572 650a 2020 6c65 6674 Set where. left │ │ │ +00049ad0: 2d61 7373 6f63 2020 3a20 4173 736f 6369 -assoc : Associ │ │ │ +00049ae0: 6174 6976 6974 790a 2020 7269 6768 742d ativity. right- │ │ │ +00049af0: 6173 736f 6320 3a20 4173 736f 6369 6174 assoc : Associat │ │ │ +00049b00: 6976 6974 790a 2020 6e6f 6e2d 6173 736f ivity. non-asso │ │ │ +00049b10: 6320 2020 3a20 4173 736f 6369 6174 6976 c : Associativ │ │ │ +00049b20: 6974 790a 0a64 6174 6120 5072 6563 6564 ity..data Preced │ │ │ +00049b30: 656e 6365 203a 2053 6574 2077 6865 7265 ence : Set where │ │ │ +00049b40: 0a20 2072 656c 6174 6564 2020 203a 2046 . related : F │ │ │ +00049b50: 6c6f 6174 20e2 8692 2050 7265 6365 6465 loat ... Precede │ │ │ +00049b60: 6e63 650a 2020 756e 7265 6c61 7465 6420 nce. unrelated │ │ │ +00049b70: 3a20 5072 6563 6564 656e 6365 0a0a 6461 : Precedence..da │ │ │ +00049b80: 7461 2046 6978 6974 7920 3a20 5365 7420 ta Fixity : Set │ │ │ +00049b90: 7768 6572 650a 2020 6669 7869 7479 203a where. fixity : │ │ │ +00049ba0: 2041 7373 6f63 6961 7469 7669 7479 20e2 Associativity . │ │ │ +00049bb0: 8692 2050 7265 6365 6465 6e63 6520 e286 .. Precedence .. │ │ │ +00049bc0: 9220 4669 7869 7479 0a0a 7b2d 2320 4255 . Fixity..{-# BU │ │ │ +00049bd0: 494c 5449 4e20 4153 534f 4320 2020 2020 ILTIN ASSOC │ │ │ +00049be0: 2041 7373 6f63 6961 7469 7669 7479 2023 Associativity # │ │ │ +00049bf0: 2d7d 0a7b 2d23 2042 5549 4c54 494e 2041 -}.{-# BUILTIN A │ │ │ +00049c00: 5353 4f43 4c45 4654 2020 6c65 6674 2d61 SSOCLEFT left-a │ │ │ +00049c10: 7373 6f63 2020 2020 232d 7d0a 7b2d 2320 ssoc #-}.{-# │ │ │ +00049c20: 4255 494c 5449 4e20 4153 534f 4352 4947 BUILTIN ASSOCRIG │ │ │ +00049c30: 4854 2072 6967 6874 2d61 7373 6f63 2020 HT right-assoc │ │ │ +00049c40: 2023 2d7d 0a7b 2d23 2042 5549 4c54 494e #-}.{-# BUILTIN │ │ │ +00049c50: 2041 5353 4f43 4e4f 4e20 2020 6e6f 6e2d ASSOCNON non- │ │ │ +00049c60: 6173 736f 6320 2020 2020 232d 7d0a 0a7b assoc #-}..{ │ │ │ +00049c70: 2d23 2042 5549 4c54 494e 2050 5245 4345 -# BUILTIN PRECE │ │ │ +00049c80: 4445 4e43 4520 2020 2050 7265 6365 6465 DENCE Precede │ │ │ +00049c90: 6e63 6520 232d 7d0a 7b2d 2320 4255 494c nce #-}.{-# BUIL │ │ │ +00049ca0: 5449 4e20 5052 4543 5245 4c41 5445 4420 TIN PRECRELATED │ │ │ +00049cb0: 2020 7265 6c61 7465 6420 2020 2023 2d7d related #-} │ │ │ +00049cc0: 0a7b 2d23 2042 5549 4c54 494e 2050 5245 .{-# BUILTIN PRE │ │ │ +00049cd0: 4355 4e52 454c 4154 4544 2075 6e72 656c CUNRELATED unrel │ │ │ +00049ce0: 6174 6564 2020 232d 7d0a 0a7b 2d23 2042 ated #-}..{-# B │ │ │ +00049cf0: 5549 4c54 494e 2046 4958 4954 5920 2020 UILTIN FIXITY │ │ │ +00049d00: 2020 2020 4669 7869 7479 2023 2d7d 0a7b Fixity #-}.{ │ │ │ +00049d10: 2d23 2042 5549 4c54 494e 2046 4958 4954 -# BUILTIN FIXIT │ │ │ +00049d20: 5946 4958 4954 5920 6669 7869 7479 2023 YFIXITY fixity # │ │ │ +00049d30: 2d7d 0a0a 7b2d 2320 434f 4d50 494c 4520 -}..{-# COMPILE │ │ │ +00049d40: 4748 4320 4173 736f 6369 6174 6976 6974 GHC Associativit │ │ │ +00049d50: 7920 3d20 6461 7461 204d 416c 6f6e 7a6f y = data MAlonzo │ │ │ +00049d60: 2e52 5445 2e41 7373 6f63 2028 4d41 6c6f .RTE.Assoc (MAlo │ │ │ +00049d70: 6e7a 6f2e 5254 452e 4c65 6674 4173 736f nzo.RTE.LeftAsso │ │ │ +00049d80: 6320 7c20 4d41 6c6f 6e7a 6f2e 5254 452e c | MAlonzo.RTE. │ │ │ +00049d90: 5269 6768 7441 7373 6f63 207c 204d 416c RightAssoc | MAl │ │ │ +00049da0: 6f6e 7a6f 2e52 5445 2e4e 6f6e 4173 736f onzo.RTE.NonAsso │ │ │ +00049db0: 6329 2023 2d7d 0a7b 2d23 2043 4f4d 5049 c) #-}.{-# COMPI │ │ │ +00049dc0: 4c45 2047 4843 2050 7265 6365 6465 6e63 LE GHC Precedenc │ │ │ +00049dd0: 6520 2020 203d 2064 6174 6120 4d41 6c6f e = data MAlo │ │ │ +00049de0: 6e7a 6f2e 5254 452e 5072 6563 6564 656e nzo.RTE.Preceden │ │ │ +00049df0: 6365 2028 4d41 6c6f 6e7a 6f2e 5254 452e ce (MAlonzo.RTE. │ │ │ +00049e00: 5265 6c61 7465 6420 7c20 4d41 6c6f 6e7a Related | MAlonz │ │ │ +00049e10: 6f2e 5254 452e 556e 7265 6c61 7465 6429 o.RTE.Unrelated) │ │ │ +00049e20: 2023 2d7d 0a7b 2d23 2043 4f4d 5049 4c45 #-}.{-# COMPILE │ │ │ +00049e30: 2047 4843 2046 6978 6974 7920 2020 2020 GHC Fixity │ │ │ +00049e40: 2020 203d 2064 6174 6120 4d41 6c6f 6e7a = data MAlonz │ │ │ +00049e50: 6f2e 5254 452e 4669 7869 7479 2028 4d41 o.RTE.Fixity (MA │ │ │ +00049e60: 6c6f 6e7a 6f2e 5254 452e 4669 7869 7479 lonzo.RTE.Fixity │ │ │ +00049e70: 2920 232d 7d0a 0a7b 2d23 2043 4f4d 5049 ) #-}..{-# COMPI │ │ │ +00049e80: 4c45 204a 5320 4173 736f 6369 6174 6976 LE JS Associativ │ │ │ +00049e90: 6974 7920 203d 2066 756e 6374 696f 6e20 ity = function │ │ │ +00049ea0: 2878 2c76 2920 7b20 7265 7475 726e 2076 (x,v) { return v │ │ │ +00049eb0: 5b78 5d28 293b 207d 2023 2d7d 0a7b 2d23 [x](); } #-}.{-# │ │ │ +00049ec0: 2043 4f4d 5049 4c45 204a 5320 6c65 6674 COMPILE JS left │ │ │ +00049ed0: 2d61 7373 6f63 2020 2020 203d 2022 6c65 -assoc = "le │ │ │ +00049ee0: 6674 2d61 7373 6f63 2220 2023 2d7d 0a7b ft-assoc" #-}.{ │ │ │ +00049ef0: 2d23 2043 4f4d 5049 4c45 204a 5320 7269 -# COMPILE JS ri │ │ │ +00049f00: 6768 742d 6173 736f 6320 2020 203d 2022 ght-assoc = " │ │ │ +00049f10: 7269 6768 742d 6173 736f 6322 2023 2d7d right-assoc" #-} │ │ │ +00049f20: 0a7b 2d23 2043 4f4d 5049 4c45 204a 5320 .{-# COMPILE JS │ │ │ +00049f30: 6e6f 6e2d 6173 736f 6320 2020 2020 203d non-assoc = │ │ │ +00049f40: 2022 6e6f 6e2d 6173 736f 6322 2020 2023 "non-assoc" # │ │ │ +00049f50: 2d7d 0a0a 7b2d 2320 434f 4d50 494c 4520 -}..{-# COMPILE │ │ │ +00049f60: 4a53 2050 7265 6365 6465 6e63 6520 2020 JS Precedence │ │ │ +00049f70: 2020 3d0a 2020 6675 6e63 7469 6f6e 2028 =. function ( │ │ │ +00049f80: 782c 7629 207b 0a20 2020 2069 6620 2878 x,v) {. if (x │ │ │ +00049f90: 203d 3d3d 2022 756e 7265 6c61 7465 6422 === "unrelated" │ │ │ +00049fa0: 2920 7b20 7265 7475 726e 2076 5b78 5d28 ) { return v[x]( │ │ │ +00049fb0: 293b 207d 2065 6c73 6520 7b20 7265 7475 ); } else { retu │ │ │ +00049fc0: 726e 2076 5b22 7265 6c61 7465 6422 5d28 rn v["related"]( │ │ │ +00049fd0: 7829 3b20 7d7d 2023 2d7d 0a7b 2d23 2043 x); }} #-}.{-# C │ │ │ +00049fe0: 4f4d 5049 4c45 204a 5320 7265 6c61 7465 OMPILE JS relate │ │ │ +00049ff0: 6420 2020 2020 2020 203d 2066 756e 6374 d = funct │ │ │ +0004a000: 696f 6e28 7829 207b 2072 6574 7572 6e20 ion(x) { return │ │ │ +0004a010: 783b 207d 2023 2d7d 0a7b 2d23 2043 4f4d x; } #-}.{-# COM │ │ │ +0004a020: 5049 4c45 204a 5320 756e 7265 6c61 7465 PILE JS unrelate │ │ │ +0004a030: 6420 2020 2020 203d 2022 756e 7265 6c61 d = "unrela │ │ │ +0004a040: 7465 6422 2020 2020 2020 2020 2020 2020 ted" │ │ │ +0004a050: 2020 2023 2d7d 0a0a 7b2d 2320 434f 4d50 #-}..{-# COMP │ │ │ +0004a060: 494c 4520 4a53 2046 6978 6974 7920 2020 ILE JS Fixity │ │ │ +0004a070: 2020 2020 2020 3d20 6675 6e63 7469 6f6e = function │ │ │ +0004a080: 2028 782c 7629 207b 2072 6574 7572 6e20 (x,v) { return │ │ │ +0004a090: 765b 2266 6978 6974 7922 5d28 785b 2261 v["fixity"](x["a │ │ │ +0004a0a0: 7373 6f63 225d 2c20 785b 2270 7265 6322 ssoc"], x["prec" │ │ │ +0004a0b0: 5d29 3b20 7d20 232d 7d0a 7b2d 2320 434f ]); } #-}.{-# CO │ │ │ +0004a0c0: 4d50 494c 4520 4a53 2066 6978 6974 7920 MPILE JS fixity │ │ │ +0004a0d0: 2020 2020 2020 2020 3d20 6675 6e63 7469 = functi │ │ │ +0004a0e0: 6f6e 2028 7829 207b 2072 6574 7572 6e20 on (x) { return │ │ │ +0004a0f0: 6675 6e63 7469 6f6e 2028 7929 207b 2072 function (y) { r │ │ │ +0004a100: 6574 7572 6e20 7b20 2261 7373 6f63 223a eturn { "assoc": │ │ │ +0004a110: 2078 2c20 2270 7265 6322 3a20 797d 3b20 x, "prec": y}; │ │ │ +0004a120: 7d3b 207d 2023 2d7d 0a0a 7072 696d 6974 }; } #-}..primit │ │ │ +0004a130: 6976 650a 2020 7072 696d 514e 616d 6546 ive. primQNameF │ │ │ +0004a140: 6978 6974 7920 3a20 4e61 6d65 20e2 8692 ixity : Name ... │ │ │ +0004a150: 2046 6978 6974 790a 2020 7072 696d 514e Fixity. primQN │ │ │ +0004a160: 616d 6554 6f57 6f72 6436 3473 203a 204e ameToWord64s : N │ │ │ +0004a170: 616d 6520 e286 9220 cea3 2057 6f72 6436 ame ... .. Word6 │ │ │ +0004a180: 3420 28ce bb20 5f20 e286 9220 576f 7264 4 (.. _ ... Word │ │ │ +0004a190: 3634 290a 0a2d 2d20 4d65 7461 7661 7269 64)..-- Metavari │ │ │ +0004a1a0: 6162 6c65 7320 2d2d 0a0a 706f 7374 756c ables --..postul │ │ │ +0004a1b0: 6174 6520 4d65 7461 203a 2053 6574 0a7b ate Meta : Set.{ │ │ │ +0004a1c0: 2d23 2042 5549 4c54 494e 2041 4744 414d -# BUILTIN AGDAM │ │ │ +0004a1d0: 4554 4120 4d65 7461 2023 2d7d 0a0a 7072 ETA Meta #-}..pr │ │ │ +0004a1e0: 696d 6974 6976 650a 2020 7072 696d 4d65 imitive. primMe │ │ │ +0004a1f0: 7461 4571 7561 6c69 7479 203a 204d 6574 taEquality : Met │ │ │ +0004a200: 6120 e286 9220 4d65 7461 20e2 8692 2042 a ... Meta ... B │ │ │ +0004a210: 6f6f 6c0a 2020 7072 696d 4d65 7461 4c65 ool. primMetaLe │ │ │ +0004a220: 7373 2020 2020 203a 204d 6574 6120 e286 ss : Meta .. │ │ │ +0004a230: 9220 4d65 7461 20e2 8692 2042 6f6f 6c0a . Meta ... Bool. │ │ │ +0004a240: 2020 7072 696d 5368 6f77 4d65 7461 2020 primShowMeta │ │ │ +0004a250: 2020 203a 204d 6574 6120 e286 9220 5374 : Meta ... St │ │ │ +0004a260: 7269 6e67 0a20 2070 7269 6d4d 6574 6154 ring. primMetaT │ │ │ +0004a270: 6f4e 6174 2020 2020 3a20 4d65 7461 20e2 oNat : Meta . │ │ │ +0004a280: 8692 204e 6174 0a0a 2d2d 2041 7267 756d .. Nat..-- Argum │ │ │ +0004a290: 656e 7473 202d 2d0a 0a2d 2d20 4172 6775 ents --..-- Argu │ │ │ +0004a2a0: 6d65 6e74 7320 6361 6e20 6265 2028 7669 ments can be (vi │ │ │ +0004a2b0: 7369 626c 6529 2c20 7b68 6964 6465 6e7d sible), {hidden} │ │ │ +0004a2c0: 2c20 6f72 207b 7b69 6e73 7461 6e63 657d , or {{instance} │ │ │ +0004a2d0: 7d2e 0a64 6174 6120 5669 7369 6269 6c69 }..data Visibili │ │ │ +0004a2e0: 7479 203a 2053 6574 2077 6865 7265 0a20 ty : Set where. │ │ │ +0004a2f0: 2076 6973 6962 6c65 2068 6964 6465 6e20 visible hidden │ │ │ +0004a300: 696e 7374 616e 6365 e280 b220 3a20 5669 instance... : Vi │ │ │ +0004a310: 7369 6269 6c69 7479 0a0a 7b2d 2320 4255 sibility..{-# BU │ │ │ +0004a320: 494c 5449 4e20 4849 4449 4e47 2020 2056 ILTIN HIDING V │ │ │ +0004a330: 6973 6962 696c 6974 7920 232d 7d0a 7b2d isibility #-}.{- │ │ │ +0004a340: 2320 4255 494c 5449 4e20 5649 5349 424c # BUILTIN VISIBL │ │ │ +0004a350: 4520 2076 6973 6962 6c65 2020 2020 232d E visible #- │ │ │ +0004a360: 7d0a 7b2d 2320 4255 494c 5449 4e20 4849 }.{-# BUILTIN HI │ │ │ +0004a370: 4444 454e 2020 2068 6964 6465 6e20 2020 DDEN hidden │ │ │ +0004a380: 2020 232d 7d0a 7b2d 2320 4255 494c 5449 #-}.{-# BUILTI │ │ │ +0004a390: 4e20 494e 5354 414e 4345 2069 6e73 7461 N INSTANCE insta │ │ │ +0004a3a0: 6e63 65e2 80b2 2020 232d 7d0a 0a2d 2d20 nce... #-}..-- │ │ │ +0004a3b0: 4172 6775 6d65 6e74 7320 6361 6e20 6265 Arguments can be │ │ │ +0004a3c0: 2072 656c 6576 616e 7420 6f72 2069 7272 relevant or irr │ │ │ +0004a3d0: 656c 6576 616e 742e 0a64 6174 6120 5265 elevant..data Re │ │ │ +0004a3e0: 6c65 7661 6e63 6520 3a20 5365 7420 7768 levance : Set wh │ │ │ +0004a3f0: 6572 650a 2020 7265 6c65 7661 6e74 2069 ere. relevant i │ │ │ +0004a400: 7272 656c 6576 616e 7420 3a20 5265 6c65 rrelevant : Rele │ │ │ +0004a410: 7661 6e63 650a 0a7b 2d23 2042 5549 4c54 vance..{-# BUILT │ │ │ +0004a420: 494e 2052 454c 4556 414e 4345 2020 5265 IN RELEVANCE Re │ │ │ +0004a430: 6c65 7661 6e63 6520 2023 2d7d 0a7b 2d23 levance #-}.{-# │ │ │ +0004a440: 2042 5549 4c54 494e 2052 454c 4556 414e BUILTIN RELEVAN │ │ │ +0004a450: 5420 2020 7265 6c65 7661 6e74 2020 2023 T relevant # │ │ │ +0004a460: 2d7d 0a7b 2d23 2042 5549 4c54 494e 2049 -}.{-# BUILTIN I │ │ │ +0004a470: 5252 454c 4556 414e 5420 6972 7265 6c65 RRELEVANT irrele │ │ │ +0004a480: 7661 6e74 2023 2d7d 0a0a 2d2d 2041 7267 vant #-}..-- Arg │ │ │ +0004a490: 756d 656e 7473 2061 6c73 6f20 6861 7665 uments also have │ │ │ +0004a4a0: 2061 2071 7561 6e74 6974 792e 0a64 6174 a quantity..dat │ │ │ +0004a4b0: 6120 5175 616e 7469 7479 203a 2053 6574 a Quantity : Set │ │ │ +0004a4c0: 2077 6865 7265 0a20 2071 7561 6e74 6974 where. quantit │ │ │ +0004a4d0: 792d 3020 7175 616e 7469 7479 2dcf 8920 y-0 quantity-.. │ │ │ +0004a4e0: 3a20 5175 616e 7469 7479 0a0a 7b2d 2320 : Quantity..{-# │ │ │ +0004a4f0: 4255 494c 5449 4e20 5155 414e 5449 5459 BUILTIN QUANTITY │ │ │ +0004a500: 2020 2051 7561 6e74 6974 7920 2020 232d Quantity #- │ │ │ +0004a510: 7d0a 7b2d 2320 4255 494c 5449 4e20 5155 }.{-# BUILTIN QU │ │ │ +0004a520: 414e 5449 5459 2d30 2071 7561 6e74 6974 ANTITY-0 quantit │ │ │ +0004a530: 792d 3020 232d 7d0a 7b2d 2320 4255 494c y-0 #-}.{-# BUIL │ │ │ +0004a540: 5449 4e20 5155 414e 5449 5459 2dcf 8920 TIN QUANTITY-.. │ │ │ +0004a550: 7175 616e 7469 7479 2dcf 8920 232d 7d0a quantity-.. #-}. │ │ │ +0004a560: 0a2d 2d20 5265 6c65 7661 6e63 6520 616e .-- Relevance an │ │ │ +0004a570: 6420 7175 616e 7469 7479 2061 7265 2063 d quantity are c │ │ │ +0004a580: 6f6d 6269 6e65 6420 696e 746f 2061 206d ombined into a m │ │ │ +0004a590: 6f64 616c 6974 792e 0a64 6174 6120 4d6f odality..data Mo │ │ │ +0004a5a0: 6461 6c69 7479 203a 2053 6574 2077 6865 dality : Set whe │ │ │ +0004a5b0: 7265 0a20 206d 6f64 616c 6974 7920 3a20 re. modality : │ │ │ +0004a5c0: 2872 203a 2052 656c 6576 616e 6365 2920 (r : Relevance) │ │ │ +0004a5d0: 2871 203a 2051 7561 6e74 6974 7929 20e2 (q : Quantity) . │ │ │ +0004a5e0: 8692 204d 6f64 616c 6974 790a 0a7b 2d23 .. Modality..{-# │ │ │ +0004a5f0: 2042 5549 4c54 494e 204d 4f44 414c 4954 BUILTIN MODALIT │ │ │ +0004a600: 5920 2020 2020 2020 2020 2020 2020 4d6f Y Mo │ │ │ +0004a610: 6461 6c69 7479 2023 2d7d 0a7b 2d23 2042 dality #-}.{-# B │ │ │ +0004a620: 5549 4c54 494e 204d 4f44 414c 4954 592d UILTIN MODALITY- │ │ │ +0004a630: 434f 4e53 5452 5543 544f 5220 6d6f 6461 CONSTRUCTOR moda │ │ │ +0004a640: 6c69 7479 2023 2d7d 0a0a 6461 7461 2041 lity #-}..data A │ │ │ +0004a650: 7267 496e 666f 203a 2053 6574 2077 6865 rgInfo : Set whe │ │ │ +0004a660: 7265 0a20 2061 7267 2d69 6e66 6f20 3a20 re. arg-info : │ │ │ +0004a670: 2876 203a 2056 6973 6962 696c 6974 7929 (v : Visibility) │ │ │ +0004a680: 2028 6d20 3a20 4d6f 6461 6c69 7479 2920 (m : Modality) │ │ │ +0004a690: e286 9220 4172 6749 6e66 6f0a 0a64 6174 ... ArgInfo..dat │ │ │ +0004a6a0: 6120 4172 6720 7b61 7d20 2841 203a 2053 a Arg {a} (A : S │ │ │ +0004a6b0: 6574 2061 2920 3a20 5365 7420 6120 7768 et a) : Set a wh │ │ │ +0004a6c0: 6572 650a 2020 6172 6720 3a20 2869 203a ere. arg : (i : │ │ │ +0004a6d0: 2041 7267 496e 666f 2920 2878 203a 2041 ArgInfo) (x : A │ │ │ +0004a6e0: 2920 e286 9220 4172 6720 410a 0a7b 2d23 ) ... Arg A..{-# │ │ │ +0004a6f0: 2042 5549 4c54 494e 2041 5247 494e 464f BUILTIN ARGINFO │ │ │ +0004a700: 2020 2020 4172 6749 6e66 6f20 2023 2d7d ArgInfo #-} │ │ │ +0004a710: 0a7b 2d23 2042 5549 4c54 494e 2041 5247 .{-# BUILTIN ARG │ │ │ +0004a720: 4152 4749 4e46 4f20 6172 672d 696e 666f ARGINFO arg-info │ │ │ +0004a730: 2023 2d7d 0a7b 2d23 2042 5549 4c54 494e #-}.{-# BUILTIN │ │ │ +0004a740: 2041 5247 2020 2020 2020 2020 4172 6720 ARG Arg │ │ │ +0004a750: 2020 2020 2023 2d7d 0a7b 2d23 2042 5549 #-}.{-# BUI │ │ │ +0004a760: 4c54 494e 2041 5247 4152 4720 2020 2020 LTIN ARGARG │ │ │ +0004a770: 6172 6720 2020 2020 2023 2d7d 0a0a 6461 arg #-}..da │ │ │ +0004a780: 7461 2042 6c6f 636b 6572 203a 2053 6574 ta Blocker : Set │ │ │ +0004a790: 2077 6865 7265 0a20 2062 6c6f 636b 6572 where. blocker │ │ │ +0004a7a0: 416e 7920 203a 204c 6973 7420 426c 6f63 Any : List Bloc │ │ │ +0004a7b0: 6b65 7220 e286 9220 426c 6f63 6b65 720a ker ... Blocker. │ │ │ +0004a7c0: 2020 626c 6f63 6b65 7241 6c6c 2020 3a20 blockerAll : │ │ │ +0004a7d0: 4c69 7374 2042 6c6f 636b 6572 20e2 8692 List Blocker ... │ │ │ +0004a7e0: 2042 6c6f 636b 6572 0a20 2062 6c6f 636b Blocker. block │ │ │ +0004a7f0: 6572 4d65 7461 203a 204d 6574 6120 e286 erMeta : Meta .. │ │ │ +0004a800: 9220 426c 6f63 6b65 720a 0a7b 2d23 2042 . Blocker..{-# B │ │ │ +0004a810: 5549 4c54 494e 2041 4744 4142 4c4f 434b UILTIN AGDABLOCK │ │ │ +0004a820: 4552 2020 2020 2042 6c6f 636b 6572 2023 ER Blocker # │ │ │ +0004a830: 2d7d 0a7b 2d23 2042 5549 4c54 494e 2041 -}.{-# BUILTIN A │ │ │ +0004a840: 4744 4142 4c4f 434b 4552 414e 5920 2062 GDABLOCKERANY b │ │ │ +0004a850: 6c6f 636b 6572 416e 7920 232d 7d0a 7b2d lockerAny #-}.{- │ │ │ +0004a860: 2320 4255 494c 5449 4e20 4147 4441 424c # BUILTIN AGDABL │ │ │ +0004a870: 4f43 4b45 5241 4c4c 2020 626c 6f63 6b65 OCKERALL blocke │ │ │ +0004a880: 7241 6c6c 2023 2d7d 0a7b 2d23 2042 5549 rAll #-}.{-# BUI │ │ │ +0004a890: 4c54 494e 2041 4744 4142 4c4f 434b 4552 LTIN AGDABLOCKER │ │ │ +0004a8a0: 4d45 5441 2062 6c6f 636b 6572 4d65 7461 META blockerMeta │ │ │ +0004a8b0: 2023 2d7d 0a0a 2d2d 204e 616d 6520 6162 #-}..-- Name ab │ │ │ +0004a8c0: 7374 7261 6374 696f 6e20 2d2d 0a0a 6461 straction --..da │ │ │ +0004a8d0: 7461 2041 6273 207b 617d 2028 4120 3a20 ta Abs {a} (A : │ │ │ +0004a8e0: 5365 7420 6129 203a 2053 6574 2061 2077 Set a) : Set a w │ │ │ +0004a8f0: 6865 7265 0a20 2061 6273 203a 2028 7320 here. abs : (s │ │ │ +0004a900: 3a20 5374 7269 6e67 2920 2878 203a 2041 : String) (x : A │ │ │ +0004a910: 2920 e286 9220 4162 7320 410a 0a7b 2d23 ) ... Abs A..{-# │ │ │ +0004a920: 2042 5549 4c54 494e 2041 4253 2020 2020 BUILTIN ABS │ │ │ +0004a930: 4162 7320 232d 7d0a 7b2d 2320 4255 494c Abs #-}.{-# BUIL │ │ │ +0004a940: 5449 4e20 4142 5341 4253 2061 6273 2023 TIN ABSABS abs # │ │ │ +0004a950: 2d7d 0a0a 2d2d 204c 6974 6572 616c 7320 -}..-- Literals │ │ │ +0004a960: 2d2d 0a0a 6461 7461 204c 6974 6572 616c --..data Literal │ │ │ +0004a970: 203a 2053 6574 2077 6865 7265 0a20 206e : Set where. n │ │ │ +0004a980: 6174 2020 2020 3a20 286e 203a 204e 6174 at : (n : Nat │ │ │ +0004a990: 2920 2020 20e2 8692 204c 6974 6572 616c ) ... Literal │ │ │ +0004a9a0: 0a20 2077 6f72 6436 3420 3a20 286e 203a . word64 : (n : │ │ │ +0004a9b0: 2057 6f72 6436 3429 20e2 8692 204c 6974 Word64) ... Lit │ │ │ +0004a9c0: 6572 616c 0a20 2066 6c6f 6174 2020 3a20 eral. float : │ │ │ +0004a9d0: 2878 203a 2046 6c6f 6174 2920 20e2 8692 (x : Float) ... │ │ │ +0004a9e0: 204c 6974 6572 616c 0a20 2063 6861 7220 Literal. char │ │ │ +0004a9f0: 2020 3a20 2863 203a 2043 6861 7229 2020 : (c : Char) │ │ │ +0004aa00: 20e2 8692 204c 6974 6572 616c 0a20 2073 ... Literal. s │ │ │ +0004aa10: 7472 696e 6720 3a20 2873 203a 2053 7472 tring : (s : Str │ │ │ +0004aa20: 696e 6729 20e2 8692 204c 6974 6572 616c ing) ... Literal │ │ │ +0004aa30: 0a20 206e 616d 6520 2020 3a20 2878 203a . name : (x : │ │ │ +0004aa40: 204e 616d 6529 2020 20e2 8692 204c 6974 Name) ... Lit │ │ │ +0004aa50: 6572 616c 0a20 206d 6574 6120 2020 3a20 eral. meta : │ │ │ +0004aa60: 2878 203a 204d 6574 6129 2020 20e2 8692 (x : Meta) ... │ │ │ +0004aa70: 204c 6974 6572 616c 0a0a 7b2d 2320 4255 Literal..{-# BU │ │ │ +0004aa80: 494c 5449 4e20 4147 4441 4c49 5445 5241 ILTIN AGDALITERA │ │ │ +0004aa90: 4c20 2020 4c69 7465 7261 6c20 232d 7d0a L Literal #-}. │ │ │ +0004aaa0: 7b2d 2320 4255 494c 5449 4e20 4147 4441 {-# BUILTIN AGDA │ │ │ +0004aab0: 4c49 544e 4154 2020 2020 6e61 7420 2020 LITNAT nat │ │ │ +0004aac0: 2020 232d 7d0a 7b2d 2320 4255 494c 5449 #-}.{-# BUILTI │ │ │ +0004aad0: 4e20 4147 4441 4c49 5457 4f52 4436 3420 N AGDALITWORD64 │ │ │ +0004aae0: 776f 7264 3634 2020 232d 7d0a 7b2d 2320 word64 #-}.{-# │ │ │ +0004aaf0: 4255 494c 5449 4e20 4147 4441 4c49 5446 BUILTIN AGDALITF │ │ │ +0004ab00: 4c4f 4154 2020 666c 6f61 7420 2020 232d LOAT float #- │ │ │ +0004ab10: 7d0a 7b2d 2320 4255 494c 5449 4e20 4147 }.{-# BUILTIN AG │ │ │ +0004ab20: 4441 4c49 5443 4841 5220 2020 6368 6172 DALITCHAR char │ │ │ +0004ab30: 2020 2020 232d 7d0a 7b2d 2320 4255 494c #-}.{-# BUIL │ │ │ +0004ab40: 5449 4e20 4147 4441 4c49 5453 5452 494e TIN AGDALITSTRIN │ │ │ +0004ab50: 4720 7374 7269 6e67 2020 232d 7d0a 7b2d G string #-}.{- │ │ │ +0004ab60: 2320 4255 494c 5449 4e20 4147 4441 4c49 # BUILTIN AGDALI │ │ │ +0004ab70: 5451 4e41 4d45 2020 6e61 6d65 2020 2020 TQNAME name │ │ │ +0004ab80: 232d 7d0a 7b2d 2320 4255 494c 5449 4e20 #-}.{-# BUILTIN │ │ │ +0004ab90: 4147 4441 4c49 544d 4554 4120 2020 6d65 AGDALITMETA me │ │ │ +0004aba0: 7461 2020 2020 232d 7d0a 0a0a 2d2d 2054 ta #-}...-- T │ │ │ +0004abb0: 6572 6d73 2061 6e64 2070 6174 7465 726e erms and pattern │ │ │ +0004abc0: 7320 2d2d 0a0a 6461 7461 2054 6572 6d20 s --..data Term │ │ │ +0004abd0: 2020 203a 2053 6574 0a64 6174 6120 536f : Set.data So │ │ │ +0004abe0: 7274 2020 2020 3a20 5365 740a 6461 7461 rt : Set.data │ │ │ +0004abf0: 2050 6174 7465 726e 203a 2053 6574 0a64 Pattern : Set.d │ │ │ +0004ac00: 6174 6120 436c 6175 7365 2020 3a20 5365 ata Clause : Se │ │ │ +0004ac10: 740a 5479 7065 203d 2054 6572 6d0a 5465 t.Type = Term.Te │ │ │ +0004ac20: 6c65 7363 6f70 6520 3d20 4c69 7374 2028 lescope = List ( │ │ │ +0004ac30: cea3 2053 7472 696e 6720 cebb 205f 20e2 .. String .. _ . │ │ │ +0004ac40: 8692 2041 7267 2054 7970 6529 0a0a 6461 .. Arg Type)..da │ │ │ +0004ac50: 7461 2054 6572 6d20 7768 6572 650a 2020 ta Term where. │ │ │ +0004ac60: 7661 7220 2020 2020 2020 3a20 2878 203a var : (x : │ │ │ +0004ac70: 204e 6174 2920 2861 7267 7320 3a20 4c69 Nat) (args : Li │ │ │ +0004ac80: 7374 2028 4172 6720 5465 726d 2929 20e2 st (Arg Term)) . │ │ │ +0004ac90: 8692 2054 6572 6d0a 2020 636f 6e20 2020 .. Term. con │ │ │ +0004aca0: 2020 2020 3a20 2863 203a 204e 616d 6529 : (c : Name) │ │ │ +0004acb0: 2028 6172 6773 203a 204c 6973 7420 2841 (args : List (A │ │ │ +0004acc0: 7267 2054 6572 6d29 2920 e286 9220 5465 rg Term)) ... Te │ │ │ +0004acd0: 726d 0a20 2064 6566 2020 2020 2020 203a rm. def : │ │ │ +0004ace0: 2028 6620 3a20 4e61 6d65 2920 2861 7267 (f : Name) (arg │ │ │ +0004acf0: 7320 3a20 4c69 7374 2028 4172 6720 5465 s : List (Arg Te │ │ │ +0004ad00: 726d 2929 20e2 8692 2054 6572 6d0a 2020 rm)) ... Term. │ │ │ +0004ad10: 6c61 6d20 2020 2020 2020 3a20 2876 203a lam : (v : │ │ │ +0004ad20: 2056 6973 6962 696c 6974 7929 2028 7420 Visibility) (t │ │ │ +0004ad30: 3a20 4162 7320 5465 726d 2920 e286 9220 : Abs Term) ... │ │ │ +0004ad40: 5465 726d 0a20 2070 6174 2d6c 616d 2020 Term. pat-lam │ │ │ +0004ad50: 203a 2028 6373 203a 204c 6973 7420 436c : (cs : List Cl │ │ │ +0004ad60: 6175 7365 2920 2861 7267 7320 3a20 4c69 ause) (args : Li │ │ │ +0004ad70: 7374 2028 4172 6720 5465 726d 2929 20e2 st (Arg Term)) . │ │ │ +0004ad80: 8692 2054 6572 6d0a 2020 7069 2020 2020 .. Term. pi │ │ │ +0004ad90: 2020 2020 3a20 2861 203a 2041 7267 2054 : (a : Arg T │ │ │ +0004ada0: 7970 6529 2028 6220 3a20 4162 7320 5479 ype) (b : Abs Ty │ │ │ +0004adb0: 7065 2920 e286 9220 5465 726d 0a20 2061 pe) ... Term. a │ │ │ +0004adc0: 6764 612d 736f 7274 203a 2028 7320 3a20 gda-sort : (s : │ │ │ +0004add0: 536f 7274 2920 e286 9220 5465 726d 0a20 Sort) ... Term. │ │ │ +0004ade0: 206c 6974 2020 2020 2020 203a 2028 6c20 lit : (l │ │ │ +0004adf0: 3a20 4c69 7465 7261 6c29 20e2 8692 2054 : Literal) ... T │ │ │ +0004ae00: 6572 6d0a 2020 6d65 7461 2020 2020 2020 erm. meta │ │ │ +0004ae10: 3a20 2878 203a 204d 6574 6129 20e2 8692 : (x : Meta) ... │ │ │ +0004ae20: 204c 6973 7420 2841 7267 2054 6572 6d29 List (Arg Term) │ │ │ +0004ae30: 20e2 8692 2054 6572 6d0a 2020 756e 6b6e ... Term. unkn │ │ │ +0004ae40: 6f77 6e20 2020 3a20 5465 726d 0a0a 6461 own : Term..da │ │ │ +0004ae50: 7461 2053 6f72 7420 7768 6572 650a 2020 ta Sort where. │ │ │ +0004ae60: 7365 7420 2020 2020 3a20 2874 203a 2054 set : (t : T │ │ │ +0004ae70: 6572 6d29 20e2 8692 2053 6f72 740a 2020 erm) ... Sort. │ │ │ +0004ae80: 6c69 7420 2020 2020 3a20 286e 203a 204e lit : (n : N │ │ │ +0004ae90: 6174 2920 e286 9220 536f 7274 0a20 2070 at) ... Sort. p │ │ │ +0004aea0: 726f 7020 2020 203a 2028 7420 3a20 5465 rop : (t : Te │ │ │ +0004aeb0: 726d 2920 e286 9220 536f 7274 0a20 2070 rm) ... Sort. p │ │ │ +0004aec0: 726f 704c 6974 203a 2028 6e20 3a20 4e61 ropLit : (n : Na │ │ │ +0004aed0: 7429 20e2 8692 2053 6f72 740a 2020 696e t) ... Sort. in │ │ │ +0004aee0: 6620 2020 2020 3a20 286e 203a 204e 6174 f : (n : Nat │ │ │ +0004aef0: 2920 e286 9220 536f 7274 0a20 2075 6e6b ) ... Sort. unk │ │ │ +0004af00: 6e6f 776e 203a 2053 6f72 740a 0a64 6174 nown : Sort..dat │ │ │ +0004af10: 6120 5061 7474 6572 6e20 7768 6572 650a a Pattern where. │ │ │ +0004af20: 2020 636f 6e20 2020 203a 2028 6320 3a20 con : (c : │ │ │ +0004af30: 4e61 6d65 2920 2870 7320 3a20 4c69 7374 Name) (ps : List │ │ │ +0004af40: 2028 4172 6720 5061 7474 6572 6e29 2920 (Arg Pattern)) │ │ │ +0004af50: e286 9220 5061 7474 6572 6e0a 2020 646f ... Pattern. do │ │ │ +0004af60: 7420 2020 203a 2028 7420 3a20 5465 726d t : (t : Term │ │ │ +0004af70: 2920 2020 20e2 8692 2050 6174 7465 726e ) ... Pattern │ │ │ +0004af80: 0a20 2076 6172 2020 2020 3a20 2878 203a . var : (x : │ │ │ +0004af90: 204e 6174 2920 2020 2020 e286 9220 5061 Nat) ... Pa │ │ │ +0004afa0: 7474 6572 6e0a 2020 6c69 7420 2020 203a ttern. lit : │ │ │ +0004afb0: 2028 6c20 3a20 4c69 7465 7261 6c29 20e2 (l : Literal) . │ │ │ +0004afc0: 8692 2050 6174 7465 726e 0a20 2070 726f .. Pattern. pro │ │ │ +0004afd0: 6a20 2020 3a20 2866 203a 204e 616d 6529 j : (f : Name) │ │ │ +0004afe0: 2020 2020 e286 9220 5061 7474 6572 6e0a ... Pattern. │ │ │ +0004aff0: 2020 6162 7375 7264 203a 2028 7820 3a20 absurd : (x : │ │ │ +0004b000: 4e61 7429 2020 2020 20e2 8692 2050 6174 Nat) ... Pat │ │ │ +0004b010: 7465 726e 2020 2d2d 2061 6273 7572 6420 tern -- absurd │ │ │ +0004b020: 7061 7474 6572 6e73 2063 6f75 6e74 7320 patterns counts │ │ │ +0004b030: 6173 2076 6172 6961 626c 6573 0a0a 6461 as variables..da │ │ │ +0004b040: 7461 2043 6c61 7573 6520 7768 6572 650a ta Clause where. │ │ │ +0004b050: 2020 636c 6175 7365 2020 2020 2020 2020 clause │ │ │ +0004b060: 3a20 2874 656c 203a 2054 656c 6573 636f : (tel : Telesco │ │ │ +0004b070: 7065 2920 2870 7320 3a20 4c69 7374 2028 pe) (ps : List ( │ │ │ +0004b080: 4172 6720 5061 7474 6572 6e29 2920 2874 Arg Pattern)) (t │ │ │ +0004b090: 203a 2054 6572 6d29 20e2 8692 2043 6c61 : Term) ... Cla │ │ │ +0004b0a0: 7573 650a 2020 6162 7375 7264 2d63 6c61 use. absurd-cla │ │ │ +0004b0b0: 7573 6520 3a20 2874 656c 203a 2054 656c use : (tel : Tel │ │ │ +0004b0c0: 6573 636f 7065 2920 2870 7320 3a20 4c69 escope) (ps : Li │ │ │ +0004b0d0: 7374 2028 4172 6720 5061 7474 6572 6e29 st (Arg Pattern) │ │ │ +0004b0e0: 2920 e286 9220 436c 6175 7365 0a0a 7b2d ) ... Clause..{- │ │ │ +0004b0f0: 2320 4255 494c 5449 4e20 4147 4441 5445 # BUILTIN AGDATE │ │ │ +0004b100: 524d 2020 2020 2020 5465 726d 2020 2020 RM Term │ │ │ +0004b110: 232d 7d0a 7b2d 2320 4255 494c 5449 4e20 #-}.{-# BUILTIN │ │ │ +0004b120: 4147 4441 534f 5254 2020 2020 2020 536f AGDASORT So │ │ │ +0004b130: 7274 2020 2020 232d 7d0a 7b2d 2320 4255 rt #-}.{-# BU │ │ │ +0004b140: 494c 5449 4e20 4147 4441 5041 5454 4552 ILTIN AGDAPATTER │ │ │ +0004b150: 4e20 2020 5061 7474 6572 6e20 232d 7d0a N Pattern #-}. │ │ │ +0004b160: 7b2d 2320 4255 494c 5449 4e20 4147 4441 {-# BUILTIN AGDA │ │ │ +0004b170: 434c 4155 5345 2020 2020 436c 6175 7365 CLAUSE Clause │ │ │ +0004b180: 2020 232d 7d0a 0a7b 2d23 2042 5549 4c54 #-}..{-# BUILT │ │ │ +0004b190: 494e 2041 4744 4154 4552 4d56 4152 2020 IN AGDATERMVAR │ │ │ +0004b1a0: 2020 2020 2020 2076 6172 2020 2020 2020 var │ │ │ +0004b1b0: 2023 2d7d 0a7b 2d23 2042 5549 4c54 494e #-}.{-# BUILTIN │ │ │ +0004b1c0: 2041 4744 4154 4552 4d43 4f4e 2020 2020 AGDATERMCON │ │ │ +0004b1d0: 2020 2020 2063 6f6e 2020 2020 2020 2023 con # │ │ │ +0004b1e0: 2d7d 0a7b 2d23 2042 5549 4c54 494e 2041 -}.{-# BUILTIN A │ │ │ +0004b1f0: 4744 4154 4552 4d44 4546 2020 2020 2020 GDATERMDEF │ │ │ +0004b200: 2020 2064 6566 2020 2020 2020 2023 2d7d def #-} │ │ │ +0004b210: 0a7b 2d23 2042 5549 4c54 494e 2041 4744 .{-# BUILTIN AGD │ │ │ +0004b220: 4154 4552 4d4d 4554 4120 2020 2020 2020 ATERMMETA │ │ │ +0004b230: 206d 6574 6120 2020 2020 2023 2d7d 0a7b meta #-}.{ │ │ │ +0004b240: 2d23 2042 5549 4c54 494e 2041 4744 4154 -# BUILTIN AGDAT │ │ │ +0004b250: 4552 4d4c 414d 2020 2020 2020 2020 206c ERMLAM l │ │ │ +0004b260: 616d 2020 2020 2020 2023 2d7d 0a7b 2d23 am #-}.{-# │ │ │ +0004b270: 2042 5549 4c54 494e 2041 4744 4154 4552 BUILTIN AGDATER │ │ │ +0004b280: 4d45 5854 4c41 4d20 2020 2020 2070 6174 MEXTLAM pat │ │ │ +0004b290: 2d6c 616d 2020 2023 2d7d 0a7b 2d23 2042 -lam #-}.{-# B │ │ │ +0004b2a0: 5549 4c54 494e 2041 4744 4154 4552 4d50 UILTIN AGDATERMP │ │ │ +0004b2b0: 4920 2020 2020 2020 2020 2070 6920 2020 I pi │ │ │ +0004b2c0: 2020 2020 2023 2d7d 0a7b 2d23 2042 5549 #-}.{-# BUI │ │ │ +0004b2d0: 4c54 494e 2041 4744 4154 4552 4d53 4f52 LTIN AGDATERMSOR │ │ │ +0004b2e0: 5420 2020 2020 2020 2061 6764 612d 736f T agda-so │ │ │ +0004b2f0: 7274 2023 2d7d 0a7b 2d23 2042 5549 4c54 rt #-}.{-# BUILT │ │ │ +0004b300: 494e 2041 4744 4154 4552 4d4c 4954 2020 IN AGDATERMLIT │ │ │ +0004b310: 2020 2020 2020 206c 6974 2020 2020 2020 lit │ │ │ +0004b320: 2023 2d7d 0a7b 2d23 2042 5549 4c54 494e #-}.{-# BUILTIN │ │ │ +0004b330: 2041 4744 4154 4552 4d55 4e53 5550 504f AGDATERMUNSUPPO │ │ │ +0004b340: 5254 4544 2075 6e6b 6e6f 776e 2020 2023 RTED unknown # │ │ │ +0004b350: 2d7d 0a0a 7b2d 2320 4255 494c 5449 4e20 -}..{-# BUILTIN │ │ │ +0004b360: 4147 4441 534f 5254 5345 5420 2020 2020 AGDASORTSET │ │ │ +0004b370: 2020 2020 7365 7420 2020 2020 232d 7d0a set #-}. │ │ │ +0004b380: 7b2d 2320 4255 494c 5449 4e20 4147 4441 {-# BUILTIN AGDA │ │ │ +0004b390: 534f 5254 4c49 5420 2020 2020 2020 2020 SORTLIT │ │ │ +0004b3a0: 6c69 7420 2020 2020 232d 7d0a 7b2d 2320 lit #-}.{-# │ │ │ +0004b3b0: 4255 494c 5449 4e20 4147 4441 534f 5254 BUILTIN AGDASORT │ │ │ +0004b3c0: 5052 4f50 2020 2020 2020 2020 7072 6f70 PROP prop │ │ │ +0004b3d0: 2020 2020 232d 7d0a 7b2d 2320 4255 494c #-}.{-# BUIL │ │ │ +0004b3e0: 5449 4e20 4147 4441 534f 5254 5052 4f50 TIN AGDASORTPROP │ │ │ +0004b3f0: 4c49 5420 2020 2020 7072 6f70 4c69 7420 LIT propLit │ │ │ +0004b400: 232d 7d0a 7b2d 2320 4255 494c 5449 4e20 #-}.{-# BUILTIN │ │ │ +0004b410: 4147 4441 534f 5254 494e 4620 2020 2020 AGDASORTINF │ │ │ +0004b420: 2020 2020 696e 6620 2020 2020 232d 7d0a inf #-}. │ │ │ +0004b430: 7b2d 2320 4255 494c 5449 4e20 4147 4441 {-# BUILTIN AGDA │ │ │ +0004b440: 534f 5254 554e 5355 5050 4f52 5445 4420 SORTUNSUPPORTED │ │ │ +0004b450: 756e 6b6e 6f77 6e20 232d 7d0a 0a7b 2d23 unknown #-}..{-# │ │ │ +0004b460: 2042 5549 4c54 494e 2041 4744 4150 4154 BUILTIN AGDAPAT │ │ │ +0004b470: 434f 4e20 2020 2063 6f6e 2020 2020 2023 CON con # │ │ │ +0004b480: 2d7d 0a7b 2d23 2042 5549 4c54 494e 2041 -}.{-# BUILTIN A │ │ │ +0004b490: 4744 4150 4154 444f 5420 2020 2064 6f74 GDAPATDOT dot │ │ │ +0004b4a0: 2020 2020 2023 2d7d 0a7b 2d23 2042 5549 #-}.{-# BUI │ │ │ +0004b4b0: 4c54 494e 2041 4744 4150 4154 5641 5220 LTIN AGDAPATVAR │ │ │ +0004b4c0: 2020 2076 6172 2020 2020 2023 2d7d 0a7b var #-}.{ │ │ │ +0004b4d0: 2d23 2042 5549 4c54 494e 2041 4744 4150 -# BUILTIN AGDAP │ │ │ +0004b4e0: 4154 4c49 5420 2020 206c 6974 2020 2020 ATLIT lit │ │ │ +0004b4f0: 2023 2d7d 0a7b 2d23 2042 5549 4c54 494e #-}.{-# BUILTIN │ │ │ +0004b500: 2041 4744 4150 4154 5052 4f4a 2020 2070 AGDAPATPROJ p │ │ │ +0004b510: 726f 6a20 2020 2023 2d7d 0a7b 2d23 2042 roj #-}.{-# B │ │ │ +0004b520: 5549 4c54 494e 2041 4744 4150 4154 4142 UILTIN AGDAPATAB │ │ │ +0004b530: 5355 5244 2061 6273 7572 6420 2023 2d7d SURD absurd #-} │ │ │ +0004b540: 0a0a 7b2d 2320 4255 494c 5449 4e20 4147 ..{-# BUILTIN AG │ │ │ +0004b550: 4441 434c 4155 5345 434c 4155 5345 2063 DACLAUSECLAUSE c │ │ │ +0004b560: 6c61 7573 6520 2020 2020 2020 2023 2d7d lause #-} │ │ │ +0004b570: 0a7b 2d23 2042 5549 4c54 494e 2041 4744 .{-# BUILTIN AGD │ │ │ +0004b580: 4143 4c41 5553 4541 4253 5552 4420 6162 ACLAUSEABSURD ab │ │ │ +0004b590: 7375 7264 2d63 6c61 7573 6520 232d 7d0a surd-clause #-}. │ │ │ +0004b5a0: 0a2d 2d20 4465 6669 6e69 7469 6f6e 7320 .-- Definitions │ │ │ +0004b5b0: 2d2d 0a0a 6461 7461 2044 6566 696e 6974 --..data Definit │ │ │ +0004b5c0: 696f 6e20 3a20 5365 7420 7768 6572 650a ion : Set where. │ │ │ +0004b5d0: 2020 6675 6e63 7469 6f6e 2020 2020 3a20 function : │ │ │ +0004b5e0: 2863 7320 3a20 4c69 7374 2043 6c61 7573 (cs : List Claus │ │ │ +0004b5f0: 6529 20e2 8692 2044 6566 696e 6974 696f e) ... Definitio │ │ │ +0004b600: 6e0a 2020 6461 7461 2d74 7970 6520 2020 n. data-type │ │ │ +0004b610: 3a20 2870 6172 7320 3a20 4e61 7429 2028 : (pars : Nat) ( │ │ │ +0004b620: 6373 203a 204c 6973 7420 4e61 6d65 2920 cs : List Name) │ │ │ +0004b630: e286 9220 4465 6669 6e69 7469 6f6e 0a20 ... Definition. │ │ │ +0004b640: 2072 6563 6f72 642d 7479 7065 203a 2028 record-type : ( │ │ │ +0004b650: 6320 3a20 4e61 6d65 2920 2866 7320 3a20 c : Name) (fs : │ │ │ +0004b660: 4c69 7374 2028 4172 6720 4e61 6d65 2929 List (Arg Name)) │ │ │ +0004b670: 20e2 8692 2044 6566 696e 6974 696f 6e0a ... Definition. │ │ │ +0004b680: 2020 6461 7461 2d63 6f6e 7320 2020 3a20 data-cons : │ │ │ +0004b690: 2864 203a 204e 616d 6529 2028 7120 3a20 (d : Name) (q : │ │ │ +0004b6a0: 5175 616e 7469 7479 2920 e286 9220 4465 Quantity) ... De │ │ │ +0004b6b0: 6669 6e69 7469 6f6e 0a20 2061 7869 6f6d finition. axiom │ │ │ +0004b6c0: 2020 2020 2020 203a 2044 6566 696e 6974 : Definit │ │ │ +0004b6d0: 696f 6e0a 2020 7072 696d 2d66 756e 2020 ion. prim-fun │ │ │ +0004b6e0: 2020 3a20 4465 6669 6e69 7469 6f6e 0a0a : Definition.. │ │ │ +0004b6f0: 7b2d 2320 4255 494c 5449 4e20 4147 4441 {-# BUILTIN AGDA │ │ │ +0004b700: 4445 4649 4e49 5449 4f4e 2020 2020 2020 DEFINITION │ │ │ +0004b710: 2020 2020 2020 2020 2020 4465 6669 6e69 Defini │ │ │ +0004b720: 7469 6f6e 2020 232d 7d0a 7b2d 2320 4255 tion #-}.{-# BU │ │ │ +0004b730: 494c 5449 4e20 4147 4441 4445 4649 4e49 ILTIN AGDADEFINI │ │ │ +0004b740: 5449 4f4e 4655 4e44 4546 2020 2020 2020 TIONFUNDEF │ │ │ +0004b750: 2020 2020 6675 6e63 7469 6f6e 2020 2020 function │ │ │ +0004b760: 232d 7d0a 7b2d 2320 4255 494c 5449 4e20 #-}.{-# BUILTIN │ │ │ +0004b770: 4147 4441 4445 4649 4e49 5449 4f4e 4441 AGDADEFINITIONDA │ │ │ +0004b780: 5441 4445 4620 2020 2020 2020 2020 6461 TADEF da │ │ │ +0004b790: 7461 2d74 7970 6520 2020 232d 7d0a 7b2d ta-type #-}.{- │ │ │ +0004b7a0: 2320 4255 494c 5449 4e20 4147 4441 4445 # BUILTIN AGDADE │ │ │ +0004b7b0: 4649 4e49 5449 4f4e 5245 434f 5244 4445 FINITIONRECORDDE │ │ │ +0004b7c0: 4620 2020 2020 2020 7265 636f 7264 2d74 F record-t │ │ │ +0004b7d0: 7970 6520 232d 7d0a 7b2d 2320 4255 494c ype #-}.{-# BUIL │ │ │ +0004b7e0: 5449 4e20 4147 4441 4445 4649 4e49 5449 TIN AGDADEFINITI │ │ │ +0004b7f0: 4f4e 4441 5441 434f 4e53 5452 5543 544f ONDATACONSTRUCTO │ │ │ +0004b800: 5220 6461 7461 2d63 6f6e 7320 2020 232d R data-cons #- │ │ │ +0004b810: 7d0a 7b2d 2320 4255 494c 5449 4e20 4147 }.{-# BUILTIN AG │ │ │ +0004b820: 4441 4445 4649 4e49 5449 4f4e 504f 5354 DADEFINITIONPOST │ │ │ +0004b830: 554c 4154 4520 2020 2020 2020 6178 696f ULATE axio │ │ │ +0004b840: 6d20 2020 2020 2020 232d 7d0a 7b2d 2320 m #-}.{-# │ │ │ +0004b850: 4255 494c 5449 4e20 4147 4441 4445 4649 BUILTIN AGDADEFI │ │ │ +0004b860: 4e49 5449 4f4e 5052 494d 4954 4956 4520 NITIONPRIMITIVE │ │ │ +0004b870: 2020 2020 2020 7072 696d 2d66 756e 2020 prim-fun │ │ │ +0004b880: 2020 232d 7d0a 0a2d 2d20 4572 726f 7273 #-}..-- Errors │ │ │ +0004b890: 202d 2d0a 0a64 6174 6120 4572 726f 7250 --..data ErrorP │ │ │ +0004b8a0: 6172 7420 3a20 5365 7420 7768 6572 650a art : Set where. │ │ │ +0004b8b0: 2020 7374 7245 7272 2020 3a20 5374 7269 strErr : Stri │ │ │ +0004b8c0: 6e67 20e2 8692 2045 7272 6f72 5061 7274 ng ... ErrorPart │ │ │ +0004b8d0: 0a20 2074 6572 6d45 7272 203a 2054 6572 . termErr : Ter │ │ │ +0004b8e0: 6d20 e286 9220 4572 726f 7250 6172 740a m ... ErrorPart. │ │ │ +0004b8f0: 2020 7061 7474 4572 7220 3a20 5061 7474 pattErr : Patt │ │ │ +0004b900: 6572 6e20 e286 9220 4572 726f 7250 6172 ern ... ErrorPar │ │ │ +0004b910: 740a 2020 6e61 6d65 4572 7220 3a20 4e61 t. nameErr : Na │ │ │ +0004b920: 6d65 20e2 8692 2045 7272 6f72 5061 7274 me ... ErrorPart │ │ │ +0004b930: 0a0a 7b2d 2320 4255 494c 5449 4e20 4147 ..{-# BUILTIN AG │ │ │ +0004b940: 4441 4552 524f 5250 4152 5420 2020 2020 DAERRORPART │ │ │ +0004b950: 2020 4572 726f 7250 6172 7420 232d 7d0a ErrorPart #-}. │ │ │ +0004b960: 7b2d 2320 4255 494c 5449 4e20 4147 4441 {-# BUILTIN AGDA │ │ │ +0004b970: 4552 524f 5250 4152 5453 5452 494e 4720 ERRORPARTSTRING │ │ │ +0004b980: 7374 7245 7272 2020 2020 232d 7d0a 7b2d strErr #-}.{- │ │ │ +0004b990: 2320 4255 494c 5449 4e20 4147 4441 4552 # BUILTIN AGDAER │ │ │ +0004b9a0: 524f 5250 4152 5454 4552 4d20 2020 7465 RORPARTTERM te │ │ │ +0004b9b0: 726d 4572 7220 2020 232d 7d0a 7b2d 2320 rmErr #-}.{-# │ │ │ +0004b9c0: 4255 494c 5449 4e20 4147 4441 4552 524f BUILTIN AGDAERRO │ │ │ +0004b9d0: 5250 4152 5450 4154 5420 2020 7061 7474 RPARTPATT patt │ │ │ +0004b9e0: 4572 7220 2020 232d 7d0a 7b2d 2320 4255 Err #-}.{-# BU │ │ │ +0004b9f0: 494c 5449 4e20 4147 4441 4552 524f 5250 ILTIN AGDAERRORP │ │ │ +0004ba00: 4152 544e 414d 4520 2020 6e61 6d65 4572 ARTNAME nameEr │ │ │ +0004ba10: 7220 2020 232d 7d0a 0a2d 2d20 5443 206d r #-}..-- TC m │ │ │ +0004ba20: 6f6e 6164 202d 2d0a 0a70 6f73 7475 6c61 onad --..postula │ │ │ +0004ba30: 7465 0a20 2054 4320 2020 2020 2020 2020 te. TC │ │ │ +0004ba40: 2020 2020 2020 3a20 e288 8020 7b61 7d20 : ... {a} │ │ │ +0004ba50: e286 9220 5365 7420 6120 e286 9220 5365 ... Set a ... Se │ │ │ +0004ba60: 7420 610a 2020 7265 7475 726e 5443 2020 t a. returnTC │ │ │ +0004ba70: 2020 2020 2020 203a 20e2 8880 207b 617d : ... {a} │ │ │ +0004ba80: 207b 4120 3a20 5365 7420 617d 20e2 8692 {A : Set a} ... │ │ │ +0004ba90: 2041 20e2 8692 2054 4320 410a 2020 6269 A ... TC A. bi │ │ │ +0004baa0: 6e64 5443 2020 2020 2020 2020 2020 203a ndTC : │ │ │ +0004bab0: 20e2 8880 207b 6120 627d 207b 4120 3a20 ... {a b} {A : │ │ │ +0004bac0: 5365 7420 617d 207b 4220 3a20 5365 7420 Set a} {B : Set │ │ │ +0004bad0: 627d 20e2 8692 2054 4320 4120 e286 9220 b} ... TC A ... │ │ │ +0004bae0: 2841 20e2 8692 2054 4320 4229 20e2 8692 (A ... TC B) ... │ │ │ +0004baf0: 2054 4320 420a 2020 756e 6966 7920 2020 TC B. unify │ │ │ +0004bb00: 2020 2020 2020 2020 203a 2054 6572 6d20 : Term │ │ │ +0004bb10: e286 9220 5465 726d 20e2 8692 2054 4320 ... Term ... TC │ │ │ +0004bb20: e28a a40a 2020 7479 7065 4572 726f 7220 .... typeError │ │ │ +0004bb30: 2020 2020 2020 203a 20e2 8880 207b 617d : ... {a} │ │ │ +0004bb40: 207b 4120 3a20 5365 7420 617d 20e2 8692 {A : Set a} ... │ │ │ +0004bb50: 204c 6973 7420 4572 726f 7250 6172 7420 List ErrorPart │ │ │ +0004bb60: e286 9220 5443 2041 0a20 2069 6e66 6572 ... TC A. infer │ │ │ +0004bb70: 5479 7065 2020 2020 2020 2020 3a20 5465 Type : Te │ │ │ +0004bb80: 726d 20e2 8692 2054 4320 5479 7065 0a20 rm ... TC Type. │ │ │ +0004bb90: 2063 6865 636b 5479 7065 2020 2020 2020 checkType │ │ │ +0004bba0: 2020 3a20 5465 726d 20e2 8692 2054 7970 : Term ... Typ │ │ │ +0004bbb0: 6520 e286 9220 5443 2054 6572 6d0a 2020 e ... TC Term. │ │ │ +0004bbc0: 6e6f 726d 616c 6973 6520 2020 2020 2020 normalise │ │ │ +0004bbd0: 203a 2054 6572 6d20 e286 9220 5443 2054 : Term ... TC T │ │ │ +0004bbe0: 6572 6d0a 2020 7265 6475 6365 2020 2020 erm. reduce │ │ │ +0004bbf0: 2020 2020 2020 203a 2054 6572 6d20 e286 : Term .. │ │ │ +0004bc00: 9220 5443 2054 6572 6d0a 2020 6361 7463 . TC Term. catc │ │ │ +0004bc10: 6854 4320 2020 2020 2020 2020 203a 20e2 hTC : . │ │ │ +0004bc20: 8880 207b 617d 207b 4120 3a20 5365 7420 .. {a} {A : Set │ │ │ +0004bc30: 617d 20e2 8692 2054 4320 4120 e286 9220 a} ... TC A ... │ │ │ +0004bc40: 5443 2041 20e2 8692 2054 4320 410a 2020 TC A ... TC A. │ │ │ +0004bc50: 7175 6f74 6554 4320 2020 2020 2020 2020 quoteTC │ │ │ +0004bc60: 203a 20e2 8880 207b 617d 207b 4120 3a20 : ... {a} {A : │ │ │ +0004bc70: 5365 7420 617d 20e2 8692 2041 20e2 8692 Set a} ... A ... │ │ │ +0004bc80: 2054 4320 5465 726d 0a20 2075 6e71 756f TC Term. unquo │ │ │ +0004bc90: 7465 5443 2020 2020 2020 2020 3a20 e288 teTC : .. │ │ │ +0004bca0: 8020 7b61 7d20 7b41 203a 2053 6574 2061 . {a} {A : Set a │ │ │ +0004bcb0: 7d20 e286 9220 5465 726d 20e2 8692 2054 } ... Term ... T │ │ │ +0004bcc0: 4320 410a 2020 7175 6f74 65cf 8954 4320 C A. quote..TC │ │ │ +0004bcd0: 2020 2020 2020 2020 3a20 e288 8020 7b41 : ... {A │ │ │ +0004bce0: 203a 2053 6574 cf89 7d20 e286 9220 4120 : Set..} ... A │ │ │ +0004bcf0: e286 9220 5443 2054 6572 6d0a 2020 6765 ... TC Term. ge │ │ │ +0004bd00: 7443 6f6e 7465 7874 2020 2020 2020 203a tContext : │ │ │ +0004bd10: 2054 4320 5465 6c65 7363 6f70 650a 2020 TC Telescope. │ │ │ +0004bd20: 6578 7465 6e64 436f 6e74 6578 7420 2020 extendContext │ │ │ +0004bd30: 203a 20e2 8880 207b 617d 207b 4120 3a20 : ... {a} {A : │ │ │ +0004bd40: 5365 7420 617d 20e2 8692 2053 7472 696e Set a} ... Strin │ │ │ +0004bd50: 6720 e286 9220 4172 6720 5479 7065 20e2 g ... Arg Type . │ │ │ +0004bd60: 8692 2054 4320 4120 e286 9220 5443 2041 .. TC A ... TC A │ │ │ +0004bd70: 0a20 2069 6e43 6f6e 7465 7874 2020 2020 . inContext │ │ │ +0004bd80: 2020 2020 3a20 e288 8020 7b61 7d20 7b41 : ... {a} {A │ │ │ +0004bd90: 203a 2053 6574 2061 7d20 e286 9220 5465 : Set a} ... Te │ │ │ +0004bda0: 6c65 7363 6f70 6520 e286 9220 5443 2041 lescope ... TC A │ │ │ +0004bdb0: 20e2 8692 2054 4320 410a 2020 6672 6573 ... TC A. fres │ │ │ +0004bdc0: 684e 616d 6520 2020 2020 2020 203a 2053 hName : S │ │ │ +0004bdd0: 7472 696e 6720 e286 9220 5443 204e 616d tring ... TC Nam │ │ │ +0004bde0: 650a 2020 6465 636c 6172 6544 6566 2020 e. declareDef │ │ │ +0004bdf0: 2020 2020 203a 2041 7267 204e 616d 6520 : Arg Name │ │ │ +0004be00: e286 9220 5479 7065 20e2 8692 2054 4320 ... Type ... TC │ │ │ +0004be10: e28a a40a 2020 6465 636c 6172 6550 6f73 .... declarePos │ │ │ +0004be20: 7475 6c61 7465 203a 2041 7267 204e 616d tulate : Arg Nam │ │ │ +0004be30: 6520 e286 9220 5479 7065 20e2 8692 2054 e ... Type ... T │ │ │ +0004be40: 4320 e28a a40a 2020 6465 636c 6172 6544 C .... declareD │ │ │ +0004be50: 6174 6120 2020 2020 203a 204e 616d 6520 ata : Name │ │ │ +0004be60: e286 9220 4e61 7420 e286 9220 5479 7065 ... Nat ... Type │ │ │ +0004be70: 20e2 8692 2054 4320 e28a a40a 2020 6465 ... TC .... de │ │ │ +0004be80: 6669 6e65 4461 7461 2020 2020 2020 203a fineData : │ │ │ +0004be90: 204e 616d 6520 e286 9220 4c69 7374 2028 Name ... List ( │ │ │ +0004bea0: cea3 204e 616d 6520 28ce bb20 5f20 e286 .. Name (.. _ .. │ │ │ +0004beb0: 9220 cea3 2051 7561 6e74 6974 7920 28ce . .. Quantity (. │ │ │ +0004bec0: bb20 5f20 e286 9220 5479 7065 2929 2920 . _ ... Type))) │ │ │ +0004bed0: e286 9220 5443 20e2 8aa4 0a20 2064 6566 ... TC .... def │ │ │ +0004bee0: 696e 6546 756e 2020 2020 2020 2020 3a20 ineFun : │ │ │ +0004bef0: 4e61 6d65 20e2 8692 204c 6973 7420 436c Name ... List Cl │ │ │ +0004bf00: 6175 7365 20e2 8692 2054 4320 e28a a40a ause ... TC .... │ │ │ +0004bf10: 2020 6765 7454 7970 6520 2020 2020 2020 getType │ │ │ +0004bf20: 2020 203a 204e 616d 6520 e286 9220 5443 : Name ... TC │ │ │ +0004bf30: 2054 7970 650a 2020 6765 7444 6566 696e Type. getDefin │ │ │ +0004bf40: 6974 696f 6e20 2020 203a 204e 616d 6520 ition : Name │ │ │ +0004bf50: e286 9220 5443 2044 6566 696e 6974 696f ... TC Definitio │ │ │ +0004bf60: 6e0a 2020 626c 6f63 6b54 4320 2020 2020 n. blockTC │ │ │ +0004bf70: 2020 2020 203a 20e2 8880 207b 617d 207b : ... {a} { │ │ │ +0004bf80: 4120 3a20 5365 7420 617d 20e2 8692 2042 A : Set a} ... B │ │ │ +0004bf90: 6c6f 636b 6572 20e2 8692 2054 4320 410a locker ... TC A. │ │ │ +0004bfa0: 2020 636f 6d6d 6974 5443 2020 2020 2020 commitTC │ │ │ +0004bfb0: 2020 203a 2054 4320 e28a a40a 2020 6973 : TC .... is │ │ │ +0004bfc0: 4d61 6372 6f20 2020 2020 2020 2020 203a Macro : │ │ │ +0004bfd0: 204e 616d 6520 e286 9220 5443 2042 6f6f Name ... TC Boo │ │ │ +0004bfe0: 6c0a 2020 7072 6167 6d61 466f 7265 6967 l. pragmaForeig │ │ │ +0004bff0: 6e20 2020 203a 2053 7472 696e 6720 e286 n : String .. │ │ │ +0004c000: 9220 5374 7269 6e67 20e2 8692 2054 4320 . String ... TC │ │ │ +0004c010: e28a a40a 2020 7072 6167 6d61 436f 6d70 .... pragmaComp │ │ │ +0004c020: 696c 6520 2020 203a 2053 7472 696e 6720 ile : String │ │ │ +0004c030: e286 9220 4e61 6d65 20e2 8692 2053 7472 ... Name ... Str │ │ │ +0004c040: 696e 6720 e286 9220 5443 20e2 8aa4 0a0a ing ... TC ..... │ │ │ +0004c050: 2020 2d2d 2049 6620 2774 7275 6527 2c20 -- If 'true', │ │ │ +0004c060: 6d61 6b65 7320 7468 6520 666f 6c6c 6f77 makes the follow │ │ │ +0004c070: 696e 6720 7072 696d 6974 6976 6573 2061 ing primitives a │ │ │ +0004c080: 6c73 6f20 6e6f 726d 616c 6973 650a 2020 lso normalise. │ │ │ +0004c090: 2d2d 2074 6865 6972 2072 6573 756c 7473 -- their results │ │ │ +0004c0a0: 3a20 696e 6665 7254 7970 652c 2063 6865 : inferType, che │ │ │ +0004c0b0: 636b 5479 7065 2c20 7175 6f74 6554 432c ckType, quoteTC, │ │ │ +0004c0c0: 2067 6574 5479 7065 2c20 616e 6420 6765 getType, and ge │ │ │ +0004c0d0: 7443 6f6e 7465 7874 0a20 2077 6974 684e tContext. withN │ │ │ +0004c0e0: 6f72 6d61 6c69 7361 7469 6f6e 203a 20e2 ormalisation : . │ │ │ +0004c0f0: 8880 207b 617d 207b 4120 3a20 5365 7420 .. {a} {A : Set │ │ │ +0004c100: 617d 20e2 8692 2042 6f6f 6c20 e286 9220 a} ... Bool ... │ │ │ +0004c110: 5443 2041 20e2 8692 2054 4320 410a 2020 TC A ... TC A. │ │ │ +0004c120: 6173 6b4e 6f72 6d61 6c69 7361 7469 6f6e askNormalisation │ │ │ +0004c130: 2020 3a20 5443 2042 6f6f 6c0a 0a20 202d : TC Bool.. - │ │ │ +0004c140: 2d20 4966 2027 7472 7565 272c 206d 616b - If 'true', mak │ │ │ +0004c150: 6573 2074 6865 2066 6f6c 6c6f 7769 6e67 es the following │ │ │ +0004c160: 2070 7269 6d69 7469 7665 7320 746f 2072 primitives to r │ │ │ +0004c170: 6563 6f6e 7374 7275 6374 2068 6964 6465 econstruct hidde │ │ │ +0004c180: 6e20 6172 6775 6d65 6e74 733a 0a20 202d n arguments:. - │ │ │ +0004c190: 2d20 6765 7444 6566 696e 6974 696f 6e2c - getDefinition, │ │ │ +0004c1a0: 206e 6f72 6d61 6c69 7365 2c20 7265 6475 normalise, redu │ │ │ +0004c1b0: 6365 2c20 696e 6665 7254 7970 652c 2063 ce, inferType, c │ │ │ +0004c1c0: 6865 636b 5479 7065 2061 6e64 2067 6574 heckType and get │ │ │ +0004c1d0: 436f 6e74 6578 740a 2020 7769 7468 5265 Context. withRe │ │ │ +0004c1e0: 636f 6e73 7472 7563 7465 6420 3a20 e288 constructed : .. │ │ │ +0004c1f0: 8020 7b61 7d20 7b41 203a 2053 6574 2061 . {a} {A : Set a │ │ │ +0004c200: 7d20 e286 9220 426f 6f6c 20e2 8692 2054 } ... Bool ... T │ │ │ +0004c210: 4320 4120 e286 9220 5443 2041 0a20 2061 C A ... TC A. a │ │ │ +0004c220: 736b 5265 636f 6e73 7472 7563 7465 6420 skReconstructed │ │ │ +0004c230: 203a 2054 4320 426f 6f6c 0a0a 2020 2d2d : TC Bool.. -- │ │ │ +0004c240: 2057 6865 7468 6572 2069 6d70 6c69 6369 Whether implici │ │ │ +0004c250: 7420 6172 6775 6d65 6e74 7320 6174 2074 t arguments at t │ │ │ +0004c260: 6865 2065 6e64 2073 686f 756c 6420 6265 he end should be │ │ │ +0004c270: 2074 7572 6e65 6420 696e 746f 206d 6574 turned into met │ │ │ +0004c280: 6176 6172 6961 626c 6573 0a20 2077 6974 avariables. wit │ │ │ +0004c290: 6845 7870 616e 644c 6173 7420 3a20 e288 hExpandLast : .. │ │ │ +0004c2a0: 8020 7b61 7d20 7b41 203a 2053 6574 2061 . {a} {A : Set a │ │ │ +0004c2b0: 7d20 e286 9220 426f 6f6c 20e2 8692 2054 } ... Bool ... T │ │ │ +0004c2c0: 4320 4120 e286 9220 5443 2041 0a20 2061 C A ... TC A. a │ │ │ +0004c2d0: 736b 4578 7061 6e64 4c61 7374 2020 3a20 skExpandLast : │ │ │ +0004c2e0: 5443 2042 6f6f 6c0a 0a20 202d 2d20 5768 TC Bool.. -- Wh │ │ │ +0004c2f0: 6974 652f 626c 6163 6b6c 6973 7420 7370 ite/blacklist sp │ │ │ +0004c300: 6563 6966 6963 2064 6566 696e 6974 696f ecific definitio │ │ │ +0004c310: 6e73 2066 6f72 2072 6564 7563 7469 6f6e ns for reduction │ │ │ +0004c320: 2077 6869 6c65 2065 7865 6375 7469 6e67 while executing │ │ │ +0004c330: 2074 6865 2054 4320 636f 6d70 7574 6174 the TC computat │ │ │ +0004c340: 696f 6e0a 2020 2d2d 2027 7472 7565 2720 ion. -- 'true' │ │ │ +0004c350: 666f 7220 7768 6974 656c 6973 742c 2027 for whitelist, ' │ │ │ +0004c360: 6661 6c73 6527 2066 6f72 2062 6c61 636b false' for black │ │ │ +0004c370: 6c69 7374 0a20 2077 6974 6852 6564 7563 list. withReduc │ │ │ +0004c380: 6544 6566 7320 3a20 e288 8020 7b61 7d20 eDefs : ... {a} │ │ │ +0004c390: 7b41 203a 2053 6574 2061 7d20 e286 9220 {A : Set a} ... │ │ │ +0004c3a0: 28ce a320 426f 6f6c 20ce bb20 5f20 e286 (.. Bool .. _ .. │ │ │ +0004c3b0: 9220 4c69 7374 204e 616d 6529 20e2 8692 . List Name) ... │ │ │ +0004c3c0: 2054 4320 4120 e286 9220 5443 2041 0a20 TC A ... TC A. │ │ │ +0004c3d0: 2061 736b 5265 6475 6365 4465 6673 2020 askReduceDefs │ │ │ +0004c3e0: 3a20 5443 2028 cea3 2042 6f6f 6c20 cebb : TC (.. Bool .. │ │ │ +0004c3f0: 205f 20e2 8692 204c 6973 7420 4e61 6d65 _ ... List Name │ │ │ +0004c400: 290a 0a20 2066 6f72 6d61 7445 7272 6f72 ).. formatError │ │ │ +0004c410: 5061 7274 7320 3a20 4c69 7374 2045 7272 Parts : List Err │ │ │ +0004c420: 6f72 5061 7274 20e2 8692 2054 4320 5374 orPart ... TC St │ │ │ +0004c430: 7269 6e67 0a20 202d 2d20 5072 696e 7473 ring. -- Prints │ │ │ +0004c440: 2074 6865 2074 6869 7264 2061 7267 756d the third argum │ │ │ +0004c450: 656e 7420 6966 2074 6865 2063 6f72 7265 ent if the corre │ │ │ +0004c460: 7370 6f6e 6469 6e67 2076 6572 626f 7369 sponding verbosi │ │ │ +0004c470: 7479 206c 6576 656c 2069 7320 7475 726e ty level is turn │ │ │ +0004c480: 6564 0a20 202d 2d20 6f6e 2028 7769 7468 ed. -- on (with │ │ │ +0004c490: 2074 6865 202d 7620 666c 6167 2074 6f20 the -v flag to │ │ │ +0004c4a0: 4167 6461 292e 0a20 2064 6562 7567 5072 Agda).. debugPr │ │ │ +0004c4b0: 696e 7420 3a20 5374 7269 6e67 20e2 8692 int : String ... │ │ │ +0004c4c0: 204e 6174 20e2 8692 204c 6973 7420 4572 Nat ... List Er │ │ │ +0004c4d0: 726f 7250 6172 7420 e286 9220 5443 20e2 rorPart ... TC . │ │ │ +0004c4e0: 8aa4 0a0a 2020 2d2d 2046 6169 6c20 6966 .... -- Fail if │ │ │ +0004c4f0: 2074 6865 2067 6976 656e 2063 6f6d 7075 the given compu │ │ │ +0004c500: 7461 7469 6f6e 2067 6976 6573 2072 6973 tation gives ris │ │ │ +0004c510: 6520 746f 206e 6577 2c20 756e 736f 6c76 e to new, unsolv │ │ │ +0004c520: 6564 0a20 202d 2d20 2262 6c6f 636b 696e ed. -- "blockin │ │ │ +0004c530: 6722 2063 6f6e 7374 7261 696e 7473 2e0a g" constraints.. │ │ │ +0004c540: 2020 6e6f 436f 6e73 7472 6169 6e74 7320 noConstraints │ │ │ +0004c550: 3a20 e288 8020 7b61 7d20 7b41 203a 2053 : ... {a} {A : S │ │ │ +0004c560: 6574 2061 7d20 e286 9220 5443 2041 20e2 et a} ... TC A . │ │ │ +0004c570: 8692 2054 4320 410a 0a20 202d 2d20 5275 .. TC A.. -- Ru │ │ │ +0004c580: 6e20 7468 6520 6769 7665 6e20 636f 6d70 n the given comp │ │ │ +0004c590: 7574 6174 696f 6e20 6174 2074 6865 2074 utation at the t │ │ │ +0004c5a0: 7970 6520 6c65 7665 6c2c 2061 6c6c 6f77 ype level, allow │ │ │ +0004c5b0: 696e 6720 7573 6520 6f66 2065 7261 7365 ing use of erase │ │ │ +0004c5c0: 6420 7468 696e 6773 2e0a 2020 776f 726b d things.. work │ │ │ +0004c5d0: 4f6e 5479 7065 7320 3a20 e288 8020 7b61 OnTypes : ... {a │ │ │ +0004c5e0: 7d20 7b41 203a 2053 6574 2061 7d20 e286 } {A : Set a} .. │ │ │ +0004c5f0: 9220 5443 2041 20e2 8692 2054 4320 410a . TC A ... TC A. │ │ │ +0004c600: 0a20 202d 2d20 5275 6e20 7468 6520 6769 . -- Run the gi │ │ │ +0004c610: 7665 6e20 5443 2061 6374 696f 6e20 616e ven TC action an │ │ │ +0004c620: 6420 7265 7475 726e 2074 6865 2066 6972 d return the fir │ │ │ +0004c630: 7374 2063 6f6d 706f 6e65 6e74 2e20 5265 st component. Re │ │ │ +0004c640: 7365 7473 2074 6f0a 2020 2d2d 2074 6865 sets to. -- the │ │ │ +0004c650: 206f 6c64 2054 4320 7374 6174 6520 6966 old TC state if │ │ │ +0004c660: 2074 6865 2073 6563 6f6e 6420 636f 6d70 the second comp │ │ │ +0004c670: 6f6e 656e 7420 6973 2027 6661 6c73 6527 onent is 'false' │ │ │ +0004c680: 2c20 6f72 206b 6565 7020 7468 650a 2020 , or keep the. │ │ │ +0004c690: 2d2d 206e 6577 2054 4320 7374 6174 6520 -- new TC state │ │ │ +0004c6a0: 6966 2069 7420 6973 2027 7472 7565 272e if it is 'true'. │ │ │ +0004c6b0: 0a20 2072 756e 5370 6563 756c 6174 6976 . runSpeculativ │ │ │ +0004c6c0: 6520 3a20 e288 8020 7b61 7d20 7b41 203a e : ... {a} {A : │ │ │ +0004c6d0: 2053 6574 2061 7d20 e286 9220 5443 2028 Set a} ... TC ( │ │ │ +0004c6e0: cea3 2041 20ce bb20 5f20 e286 9220 426f .. A .. _ ... Bo │ │ │ +0004c6f0: 6f6c 2920 e286 9220 5443 2041 0a0a 2020 ol) ... TC A.. │ │ │ +0004c700: 2d2d 2047 6574 2061 206c 6973 7420 6f66 -- Get a list of │ │ │ +0004c710: 2061 6c6c 2070 6f73 7369 626c 6520 696e all possible in │ │ │ +0004c720: 7374 616e 6365 2063 616e 6469 6461 7465 stance candidate │ │ │ +0004c730: 7320 666f 7220 7468 6520 6769 7665 6e20 s for the given │ │ │ +0004c740: 6d65 7461 0a20 202d 2d20 7661 7269 6162 meta. -- variab │ │ │ +0004c750: 6c65 2028 6974 2064 6f65 7320 6e6f 7420 le (it does not │ │ │ +0004c760: 6861 7665 2074 6f20 6265 2061 6e20 696e have to be an in │ │ │ +0004c770: 7374 616e 6365 206d 6574 6129 2e0a 2020 stance meta).. │ │ │ +0004c780: 6765 7449 6e73 7461 6e63 6573 203a 204d getInstances : M │ │ │ +0004c790: 6574 6120 e286 9220 5443 2028 4c69 7374 eta ... TC (List │ │ │ +0004c7a0: 2054 6572 6d29 0a0a 2020 2d2d 2054 7279 Term).. -- Try │ │ │ +0004c7b0: 2074 6f20 736f 6c76 6520 6f70 656e 2069 to solve open i │ │ │ +0004c7c0: 6e73 7461 6e63 6520 636f 6e73 7472 6169 nstance constrai │ │ │ +0004c7d0: 6e74 732e 2057 6865 6e20 7772 6170 7065 nts. When wrappe │ │ │ +0004c7e0: 6420 696e 2060 6e6f 436f 6e73 7472 6169 d in `noConstrai │ │ │ +0004c7f0: 6e74 7360 2c0a 2020 2d2d 2066 6169 6c73 nts`,. -- fails │ │ │ +0004c800: 2069 6620 7468 6572 6520 6172 6520 756e if there are un │ │ │ +0004c810: 736f 6c76 6564 2069 6e73 7461 6e63 6520 solved instance │ │ │ +0004c820: 636f 6e73 7472 6169 6e74 7320 6c65 6674 constraints left │ │ │ +0004c830: 206f 7665 7220 7468 6174 206f 7269 6769 over that origi │ │ │ +0004c840: 6e61 7465 0a20 202d 2d20 6672 6f6d 2074 nate. -- from t │ │ │ +0004c850: 6865 2063 7572 7265 6e74 206d 6163 726f he current macro │ │ │ +0004c860: 2069 6e76 6f6b 6174 696f 6e2e 204f 7574 invokation. Out │ │ │ +0004c870: 7369 6465 2063 6f6e 7374 7261 696e 7473 side constraints │ │ │ +0004c880: 2061 7265 2073 7469 6c6c 2061 7474 656d are still attem │ │ │ +0004c890: 7074 6564 2c0a 2020 2d2d 2062 7574 2066 pted,. -- but f │ │ │ +0004c8a0: 6169 6c75 7265 2074 6f20 736f 6c76 6520 ailure to solve │ │ │ +0004c8b0: 7468 656d 2061 7265 2069 676e 6f72 6564 them are ignored │ │ │ +0004c8c0: 2062 7920 606e 6f43 6f6e 7374 7261 696e by `noConstrain │ │ │ +0004c8d0: 7473 602e 0a20 2073 6f6c 7665 496e 7374 ts`.. solveInst │ │ │ +0004c8e0: 616e 6365 436f 6e73 7472 6169 6e74 7320 anceConstraints │ │ │ +0004c8f0: 3a20 5443 20e2 8aa4 0a0a 2020 2d2d 2050 : TC ..... -- P │ │ │ +0004c900: 6172 7365 2061 6e64 2074 7970 6520 6368 arse and type ch │ │ │ +0004c910: 6563 6b20 7468 6520 6769 7665 6e20 7374 eck the given st │ │ │ +0004c920: 7269 6e67 2061 6761 696e 7374 2074 6865 ring against the │ │ │ +0004c930: 2067 6976 656e 2074 7970 652c 2072 6574 given type, ret │ │ │ +0004c940: 7572 6e69 6e67 0a20 202d 2d20 7468 6520 urning. -- the │ │ │ +0004c950: 7265 7375 6c74 696e 6720 7465 726d 2028 resulting term ( │ │ │ +0004c960: 7768 656e 2073 7563 6365 7373 6675 6c29 when successful) │ │ │ +0004c970: 2e0a 2020 6368 6563 6b46 726f 6d53 7472 .. checkFromStr │ │ │ +0004c980: 696e 6754 4320 3a20 5374 7269 6e67 20e2 ingTC : String . │ │ │ +0004c990: 8692 2054 7970 6520 e286 9220 5443 2054 .. Type ... TC T │ │ │ +0004c9a0: 6572 6d0a 0a7b 2d23 2042 5549 4c54 494e erm..{-# BUILTIN │ │ │ +0004c9b0: 2041 4744 4154 434d 2020 2020 2020 2020 AGDATCM │ │ │ 0004c9c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0004c9d0: 2020 5443 2020 2020 2020 2020 2020 2020 TC │ │ │ -0004c9e0: 2020 2020 2020 2020 2020 2020 2023 2d7d #-} │ │ │ -0004c9f0: 0a7b 2d23 2042 5549 4c54 494e 2041 4744 .{-# BUILTIN AGD │ │ │ -0004ca00: 4154 434d 5245 5455 524e 2020 2020 2020 ATCMRETURN │ │ │ -0004ca10: 2020 2020 2020 2020 2020 2020 2020 2072 r │ │ │ -0004ca20: 6574 7572 6e54 4320 2020 2020 2020 2020 eturnTC │ │ │ -0004ca30: 2020 2020 2020 2020 2020 232d 7d0a 7b2d #-}.{- │ │ │ -0004ca40: 2320 4255 494c 5449 4e20 4147 4441 5443 # BUILTIN AGDATC │ │ │ -0004ca50: 4d42 494e 4420 2020 2020 2020 2020 2020 MBIND │ │ │ -0004ca60: 2020 2020 2020 2020 2020 2020 6269 6e64 bind │ │ │ -0004ca70: 5443 2020 2020 2020 2020 2020 2020 2020 TC │ │ │ -0004ca80: 2020 2020 2020 2023 2d7d 0a7b 2d23 2042 #-}.{-# B │ │ │ -0004ca90: 5549 4c54 494e 2041 4744 4154 434d 554e UILTIN AGDATCMUN │ │ │ -0004caa0: 4946 5920 2020 2020 2020 2020 2020 2020 IFY │ │ │ -0004cab0: 2020 2020 2020 2020 2075 6e69 6679 2020 unify │ │ │ +0004c9d0: 2020 2054 4320 2020 2020 2020 2020 2020 TC │ │ │ +0004c9e0: 2020 2020 2020 2020 2020 2020 2020 232d #- │ │ │ +0004c9f0: 7d0a 7b2d 2320 4255 494c 5449 4e20 4147 }.{-# BUILTIN AG │ │ │ +0004ca00: 4441 5443 4d52 4554 5552 4e20 2020 2020 DATCMRETURN │ │ │ +0004ca10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +0004ca20: 7265 7475 726e 5443 2020 2020 2020 2020 returnTC │ │ │ +0004ca30: 2020 2020 2020 2020 2020 2023 2d7d 0a7b #-}.{ │ │ │ +0004ca40: 2d23 2042 5549 4c54 494e 2041 4744 4154 -# BUILTIN AGDAT │ │ │ +0004ca50: 434d 4249 4e44 2020 2020 2020 2020 2020 CMBIND │ │ │ +0004ca60: 2020 2020 2020 2020 2020 2020 2062 696e bin │ │ │ +0004ca70: 6454 4320 2020 2020 2020 2020 2020 2020 dTC │ │ │ +0004ca80: 2020 2020 2020 2020 232d 7d0a 7b2d 2320 #-}.{-# │ │ │ +0004ca90: 4255 494c 5449 4e20 4147 4441 5443 4d55 BUILTIN AGDATCMU │ │ │ +0004caa0: 4e49 4659 2020 2020 2020 2020 2020 2020 NIFY │ │ │ +0004cab0: 2020 2020 2020 2020 2020 756e 6966 7920 unify │ │ │ 0004cac0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0004cad0: 2020 2020 232d 7d0a 7b2d 2320 4255 494c #-}.{-# BUIL │ │ │ -0004cae0: 5449 4e20 4147 4441 5443 4d54 5950 4545 TIN AGDATCMTYPEE │ │ │ -0004caf0: 5252 4f52 2020 2020 2020 2020 2020 2020 RROR │ │ │ -0004cb00: 2020 2020 2020 7479 7065 4572 726f 7220 typeError │ │ │ +0004cad0: 2020 2020 2023 2d7d 0a7b 2d23 2042 5549 #-}.{-# BUI │ │ │ +0004cae0: 4c54 494e 2041 4744 4154 434d 5459 5045 LTIN AGDATCMTYPE │ │ │ +0004caf0: 4552 524f 5220 2020 2020 2020 2020 2020 ERROR │ │ │ +0004cb00: 2020 2020 2020 2074 7970 6545 7272 6f72 typeError │ │ │ 0004cb10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0004cb20: 2023 2d7d 0a7b 2d23 2042 5549 4c54 494e #-}.{-# BUILTIN │ │ │ -0004cb30: 2041 4744 4154 434d 494e 4645 5254 5950 AGDATCMINFERTYP │ │ │ -0004cb40: 4520 2020 2020 2020 2020 2020 2020 2020 E │ │ │ -0004cb50: 2020 2069 6e66 6572 5479 7065 2020 2020 inferType │ │ │ -0004cb60: 2020 2020 2020 2020 2020 2020 2020 232d #- │ │ │ -0004cb70: 7d0a 7b2d 2320 4255 494c 5449 4e20 4147 }.{-# BUILTIN AG │ │ │ -0004cb80: 4441 5443 4d43 4845 434b 5459 5045 2020 DATCMCHECKTYPE │ │ │ +0004cb20: 2020 232d 7d0a 7b2d 2320 4255 494c 5449 #-}.{-# BUILTI │ │ │ +0004cb30: 4e20 4147 4441 5443 4d49 4e46 4552 5459 N AGDATCMINFERTY │ │ │ +0004cb40: 5045 2020 2020 2020 2020 2020 2020 2020 PE │ │ │ +0004cb50: 2020 2020 696e 6665 7254 7970 6520 2020 inferType │ │ │ +0004cb60: 2020 2020 2020 2020 2020 2020 2020 2023 # │ │ │ +0004cb70: 2d7d 0a7b 2d23 2042 5549 4c54 494e 2041 -}.{-# BUILTIN A │ │ │ +0004cb80: 4744 4154 434d 4348 4543 4b54 5950 4520 GDATCMCHECKTYPE │ │ │ 0004cb90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0004cba0: 6368 6563 6b54 7970 6520 2020 2020 2020 checkType │ │ │ -0004cbb0: 2020 2020 2020 2020 2020 2023 2d7d 0a7b #-}.{ │ │ │ -0004cbc0: 2d23 2042 5549 4c54 494e 2041 4744 4154 -# BUILTIN AGDAT │ │ │ -0004cbd0: 434d 4e4f 524d 414c 4953 4520 2020 2020 CMNORMALISE │ │ │ -0004cbe0: 2020 2020 2020 2020 2020 2020 206e 6f72 nor │ │ │ -0004cbf0: 6d61 6c69 7365 2020 2020 2020 2020 2020 malise │ │ │ -0004cc00: 2020 2020 2020 2020 232d 7d0a 7b2d 2320 #-}.{-# │ │ │ -0004cc10: 4255 494c 5449 4e20 4147 4441 5443 4d52 BUILTIN AGDATCMR │ │ │ -0004cc20: 4544 5543 4520 2020 2020 2020 2020 2020 EDUCE │ │ │ -0004cc30: 2020 2020 2020 2020 2020 7265 6475 6365 reduce │ │ │ -0004cc40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0004cc50: 2020 2020 2023 2d7d 0a7b 2d23 2042 5549 #-}.{-# BUI │ │ │ -0004cc60: 4c54 494e 2041 4744 4154 434d 4341 5443 LTIN AGDATCMCATC │ │ │ -0004cc70: 4845 5252 4f52 2020 2020 2020 2020 2020 HERROR │ │ │ -0004cc80: 2020 2020 2020 2063 6174 6368 5443 2020 catchTC │ │ │ +0004cba0: 2063 6865 636b 5479 7065 2020 2020 2020 checkType │ │ │ +0004cbb0: 2020 2020 2020 2020 2020 2020 232d 7d0a #-}. │ │ │ +0004cbc0: 7b2d 2320 4255 494c 5449 4e20 4147 4441 {-# BUILTIN AGDA │ │ │ +0004cbd0: 5443 4d4e 4f52 4d41 4c49 5345 2020 2020 TCMNORMALISE │ │ │ +0004cbe0: 2020 2020 2020 2020 2020 2020 2020 6e6f no │ │ │ +0004cbf0: 726d 616c 6973 6520 2020 2020 2020 2020 rmalise │ │ │ +0004cc00: 2020 2020 2020 2020 2023 2d7d 0a7b 2d23 #-}.{-# │ │ │ +0004cc10: 2042 5549 4c54 494e 2041 4744 4154 434d BUILTIN AGDATCM │ │ │ +0004cc20: 5245 4455 4345 2020 2020 2020 2020 2020 REDUCE │ │ │ +0004cc30: 2020 2020 2020 2020 2020 2072 6564 7563 reduc │ │ │ +0004cc40: 6520 2020 2020 2020 2020 2020 2020 2020 e │ │ │ +0004cc50: 2020 2020 2020 232d 7d0a 7b2d 2320 4255 #-}.{-# BU │ │ │ +0004cc60: 494c 5449 4e20 4147 4441 5443 4d43 4154 ILTIN AGDATCMCAT │ │ │ +0004cc70: 4348 4552 524f 5220 2020 2020 2020 2020 CHERROR │ │ │ +0004cc80: 2020 2020 2020 2020 6361 7463 6854 4320 catchTC │ │ │ 0004cc90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0004cca0: 2020 232d 7d0a 7b2d 2320 4255 494c 5449 #-}.{-# BUILTI │ │ │ -0004ccb0: 4e20 4147 4441 5443 4d51 554f 5445 5445 N AGDATCMQUOTETE │ │ │ -0004ccc0: 524d 2020 2020 2020 2020 2020 2020 2020 RM │ │ │ -0004ccd0: 2020 2020 7175 6f74 6554 4320 2020 2020 quoteTC │ │ │ -0004cce0: 2020 2020 2020 2020 2020 2020 2020 2023 # │ │ │ -0004ccf0: 2d7d 0a7b 2d23 2042 5549 4c54 494e 2041 -}.{-# BUILTIN A │ │ │ -0004cd00: 4744 4154 434d 554e 5155 4f54 4554 4552 GDATCMUNQUOTETER │ │ │ -0004cd10: 4d20 2020 2020 2020 2020 2020 2020 2020 M │ │ │ -0004cd20: 2075 6e71 756f 7465 5443 2020 2020 2020 unquoteTC │ │ │ -0004cd30: 2020 2020 2020 2020 2020 2020 232d 7d0a #-}. │ │ │ -0004cd40: 7b2d 2320 4255 494c 5449 4e20 4147 4441 {-# BUILTIN AGDA │ │ │ -0004cd50: 5443 4d51 554f 5445 4f4d 4547 4154 4552 TCMQUOTEOMEGATER │ │ │ -0004cd60: 4d20 2020 2020 2020 2020 2020 2020 7175 M qu │ │ │ -0004cd70: 6f74 65cf 8954 4320 2020 2020 2020 2020 ote..TC │ │ │ -0004cd80: 2020 2020 2020 2020 2020 232d 7d0a 7b2d #-}.{- │ │ │ -0004cd90: 2320 4255 494c 5449 4e20 4147 4441 5443 # BUILTIN AGDATC │ │ │ -0004cda0: 4d47 4554 434f 4e54 4558 5420 2020 2020 MGETCONTEXT │ │ │ -0004cdb0: 2020 2020 2020 2020 2020 2020 6765 7443 getC │ │ │ -0004cdc0: 6f6e 7465 7874 2020 2020 2020 2020 2020 ontext │ │ │ -0004cdd0: 2020 2020 2020 2023 2d7d 0a7b 2d23 2042 #-}.{-# B │ │ │ -0004cde0: 5549 4c54 494e 2041 4744 4154 434d 4558 UILTIN AGDATCMEX │ │ │ -0004cdf0: 5445 4e44 434f 4e54 4558 5420 2020 2020 TENDCONTEXT │ │ │ -0004ce00: 2020 2020 2020 2020 2065 7874 656e 6443 extendC │ │ │ -0004ce10: 6f6e 7465 7874 2020 2020 2020 2020 2020 ontext │ │ │ -0004ce20: 2020 2020 232d 7d0a 7b2d 2320 4255 494c #-}.{-# BUIL │ │ │ -0004ce30: 5449 4e20 4147 4441 5443 4d49 4e43 4f4e TIN AGDATCMINCON │ │ │ -0004ce40: 5445 5854 2020 2020 2020 2020 2020 2020 TEXT │ │ │ -0004ce50: 2020 2020 2020 696e 436f 6e74 6578 7420 inContext │ │ │ +0004cca0: 2020 2023 2d7d 0a7b 2d23 2042 5549 4c54 #-}.{-# BUILT │ │ │ +0004ccb0: 494e 2041 4744 4154 434d 5155 4f54 4554 IN AGDATCMQUOTET │ │ │ +0004ccc0: 4552 4d20 2020 2020 2020 2020 2020 2020 ERM │ │ │ +0004ccd0: 2020 2020 2071 756f 7465 5443 2020 2020 quoteTC │ │ │ +0004cce0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +0004ccf0: 232d 7d0a 7b2d 2320 4255 494c 5449 4e20 #-}.{-# BUILTIN │ │ │ +0004cd00: 4147 4441 5443 4d55 4e51 554f 5445 5445 AGDATCMUNQUOTETE │ │ │ +0004cd10: 524d 2020 2020 2020 2020 2020 2020 2020 RM │ │ │ +0004cd20: 2020 756e 7175 6f74 6554 4320 2020 2020 unquoteTC │ │ │ +0004cd30: 2020 2020 2020 2020 2020 2020 2023 2d7d #-} │ │ │ +0004cd40: 0a7b 2d23 2042 5549 4c54 494e 2041 4744 .{-# BUILTIN AGD │ │ │ +0004cd50: 4154 434d 5155 4f54 454f 4d45 4741 5445 ATCMQUOTEOMEGATE │ │ │ +0004cd60: 524d 2020 2020 2020 2020 2020 2020 2071 RM q │ │ │ +0004cd70: 756f 7465 cf89 5443 2020 2020 2020 2020 uote..TC │ │ │ +0004cd80: 2020 2020 2020 2020 2020 2023 2d7d 0a7b #-}.{ │ │ │ +0004cd90: 2d23 2042 5549 4c54 494e 2041 4744 4154 -# BUILTIN AGDAT │ │ │ +0004cda0: 434d 4745 5443 4f4e 5445 5854 2020 2020 CMGETCONTEXT │ │ │ +0004cdb0: 2020 2020 2020 2020 2020 2020 2067 6574 get │ │ │ +0004cdc0: 436f 6e74 6578 7420 2020 2020 2020 2020 Context │ │ │ +0004cdd0: 2020 2020 2020 2020 232d 7d0a 7b2d 2320 #-}.{-# │ │ │ +0004cde0: 4255 494c 5449 4e20 4147 4441 5443 4d45 BUILTIN AGDATCME │ │ │ +0004cdf0: 5854 454e 4443 4f4e 5445 5854 2020 2020 XTENDCONTEXT │ │ │ +0004ce00: 2020 2020 2020 2020 2020 6578 7465 6e64 extend │ │ │ +0004ce10: 436f 6e74 6578 7420 2020 2020 2020 2020 Context │ │ │ +0004ce20: 2020 2020 2023 2d7d 0a7b 2d23 2042 5549 #-}.{-# BUI │ │ │ +0004ce30: 4c54 494e 2041 4744 4154 434d 494e 434f LTIN AGDATCMINCO │ │ │ +0004ce40: 4e54 4558 5420 2020 2020 2020 2020 2020 NTEXT │ │ │ +0004ce50: 2020 2020 2020 2069 6e43 6f6e 7465 7874 inContext │ │ │ 0004ce60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0004ce70: 2023 2d7d 0a7b 2d23 2042 5549 4c54 494e #-}.{-# BUILTIN │ │ │ -0004ce80: 2041 4744 4154 434d 4652 4553 484e 414d AGDATCMFRESHNAM │ │ │ -0004ce90: 4520 2020 2020 2020 2020 2020 2020 2020 E │ │ │ -0004cea0: 2020 2066 7265 7368 4e61 6d65 2020 2020 freshName │ │ │ -0004ceb0: 2020 2020 2020 2020 2020 2020 2020 232d #- │ │ │ -0004cec0: 7d0a 7b2d 2320 4255 494c 5449 4e20 4147 }.{-# BUILTIN AG │ │ │ -0004ced0: 4441 5443 4d44 4543 4c41 5245 4445 4620 DATCMDECLAREDEF │ │ │ +0004ce70: 2020 232d 7d0a 7b2d 2320 4255 494c 5449 #-}.{-# BUILTI │ │ │ +0004ce80: 4e20 4147 4441 5443 4d46 5245 5348 4e41 N AGDATCMFRESHNA │ │ │ +0004ce90: 4d45 2020 2020 2020 2020 2020 2020 2020 ME │ │ │ +0004cea0: 2020 2020 6672 6573 684e 616d 6520 2020 freshName │ │ │ +0004ceb0: 2020 2020 2020 2020 2020 2020 2020 2023 # │ │ │ +0004cec0: 2d7d 0a7b 2d23 2042 5549 4c54 494e 2041 -}.{-# BUILTIN A │ │ │ +0004ced0: 4744 4154 434d 4445 434c 4152 4544 4546 GDATCMDECLAREDEF │ │ │ 0004cee0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0004cef0: 6465 636c 6172 6544 6566 2020 2020 2020 declareDef │ │ │ -0004cf00: 2020 2020 2020 2020 2020 2023 2d7d 0a7b #-}.{ │ │ │ -0004cf10: 2d23 2042 5549 4c54 494e 2041 4744 4154 -# BUILTIN AGDAT │ │ │ -0004cf20: 434d 4445 434c 4152 4550 4f53 5455 4c41 CMDECLAREPOSTULA │ │ │ -0004cf30: 5445 2020 2020 2020 2020 2020 2064 6563 TE dec │ │ │ -0004cf40: 6c61 7265 506f 7374 756c 6174 6520 2020 larePostulate │ │ │ -0004cf50: 2020 2020 2020 2020 232d 7d0a 7b2d 2320 #-}.{-# │ │ │ -0004cf60: 4255 494c 5449 4e20 4147 4441 5443 4d44 BUILTIN AGDATCMD │ │ │ -0004cf70: 4543 4c41 5245 4441 5441 2020 2020 2020 ECLAREDATA │ │ │ -0004cf80: 2020 2020 2020 2020 2020 6465 636c 6172 declar │ │ │ -0004cf90: 6544 6174 6120 2020 2020 2020 2020 2020 eData │ │ │ -0004cfa0: 2020 2020 2023 2d7d 0a7b 2d23 2042 5549 #-}.{-# BUI │ │ │ -0004cfb0: 4c54 494e 2041 4744 4154 434d 4445 4649 LTIN AGDATCMDEFI │ │ │ -0004cfc0: 4e45 4441 5441 2020 2020 2020 2020 2020 NEDATA │ │ │ -0004cfd0: 2020 2020 2020 2064 6566 696e 6544 6174 defineDat │ │ │ -0004cfe0: 6120 2020 2020 2020 2020 2020 2020 2020 a │ │ │ -0004cff0: 2020 232d 7d0a 7b2d 2320 4255 494c 5449 #-}.{-# BUILTI │ │ │ -0004d000: 4e20 4147 4441 5443 4d44 4546 494e 4546 N AGDATCMDEFINEF │ │ │ -0004d010: 554e 2020 2020 2020 2020 2020 2020 2020 UN │ │ │ -0004d020: 2020 2020 6465 6669 6e65 4675 6e20 2020 defineFun │ │ │ -0004d030: 2020 2020 2020 2020 2020 2020 2020 2023 # │ │ │ -0004d040: 2d7d 0a7b 2d23 2042 5549 4c54 494e 2041 -}.{-# BUILTIN A │ │ │ -0004d050: 4744 4154 434d 4745 5454 5950 4520 2020 GDATCMGETTYPE │ │ │ +0004cef0: 2064 6563 6c61 7265 4465 6620 2020 2020 declareDef │ │ │ +0004cf00: 2020 2020 2020 2020 2020 2020 232d 7d0a #-}. │ │ │ +0004cf10: 7b2d 2320 4255 494c 5449 4e20 4147 4441 {-# BUILTIN AGDA │ │ │ +0004cf20: 5443 4d44 4543 4c41 5245 504f 5354 554c TCMDECLAREPOSTUL │ │ │ +0004cf30: 4154 4520 2020 2020 2020 2020 2020 6465 ATE de │ │ │ +0004cf40: 636c 6172 6550 6f73 7475 6c61 7465 2020 clarePostulate │ │ │ +0004cf50: 2020 2020 2020 2020 2023 2d7d 0a7b 2d23 #-}.{-# │ │ │ +0004cf60: 2042 5549 4c54 494e 2041 4744 4154 434d BUILTIN AGDATCM │ │ │ +0004cf70: 4445 434c 4152 4544 4154 4120 2020 2020 DECLAREDATA │ │ │ +0004cf80: 2020 2020 2020 2020 2020 2064 6563 6c61 decla │ │ │ +0004cf90: 7265 4461 7461 2020 2020 2020 2020 2020 reData │ │ │ +0004cfa0: 2020 2020 2020 232d 7d0a 7b2d 2320 4255 #-}.{-# BU │ │ │ +0004cfb0: 494c 5449 4e20 4147 4441 5443 4d44 4546 ILTIN AGDATCMDEF │ │ │ +0004cfc0: 494e 4544 4154 4120 2020 2020 2020 2020 INEDATA │ │ │ +0004cfd0: 2020 2020 2020 2020 6465 6669 6e65 4461 defineDa │ │ │ +0004cfe0: 7461 2020 2020 2020 2020 2020 2020 2020 ta │ │ │ +0004cff0: 2020 2023 2d7d 0a7b 2d23 2042 5549 4c54 #-}.{-# BUILT │ │ │ +0004d000: 494e 2041 4744 4154 434d 4445 4649 4e45 IN AGDATCMDEFINE │ │ │ +0004d010: 4655 4e20 2020 2020 2020 2020 2020 2020 FUN │ │ │ +0004d020: 2020 2020 2064 6566 696e 6546 756e 2020 defineFun │ │ │ +0004d030: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +0004d040: 232d 7d0a 7b2d 2320 4255 494c 5449 4e20 #-}.{-# BUILTIN │ │ │ +0004d050: 4147 4441 5443 4d47 4554 5459 5045 2020 AGDATCMGETTYPE │ │ │ 0004d060: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0004d070: 2067 6574 5479 7065 2020 2020 2020 2020 getType │ │ │ -0004d080: 2020 2020 2020 2020 2020 2020 232d 7d0a #-}. │ │ │ -0004d090: 7b2d 2320 4255 494c 5449 4e20 4147 4441 {-# BUILTIN AGDA │ │ │ -0004d0a0: 5443 4d47 4554 4445 4649 4e49 5449 4f4e TCMGETDEFINITION │ │ │ -0004d0b0: 2020 2020 2020 2020 2020 2020 2020 6765 ge │ │ │ -0004d0c0: 7444 6566 696e 6974 696f 6e20 2020 2020 tDefinition │ │ │ -0004d0d0: 2020 2020 2020 2020 2023 2d7d 0a7b 2d23 #-}.{-# │ │ │ -0004d0e0: 2042 5549 4c54 494e 2041 4744 4154 434d BUILTIN AGDATCM │ │ │ -0004d0f0: 424c 4f43 4b20 2020 2020 2020 2020 2020 BLOCK │ │ │ -0004d100: 2020 2020 2020 2020 2020 2062 6c6f 636b block │ │ │ -0004d110: 5443 2020 2020 2020 2020 2020 2020 2020 TC │ │ │ -0004d120: 2020 2020 2020 232d 7d0a 7b2d 2320 4255 #-}.{-# BU │ │ │ -0004d130: 494c 5449 4e20 4147 4441 5443 4d43 4f4d ILTIN AGDATCMCOM │ │ │ -0004d140: 4d49 5420 2020 2020 2020 2020 2020 2020 MIT │ │ │ -0004d150: 2020 2020 2020 2020 636f 6d6d 6974 5443 commitTC │ │ │ -0004d160: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0004d170: 2020 2023 2d7d 0a7b 2d23 2042 5549 4c54 #-}.{-# BUILT │ │ │ -0004d180: 494e 2041 4744 4154 434d 4953 4d41 4352 IN AGDATCMISMACR │ │ │ -0004d190: 4f20 2020 2020 2020 2020 2020 2020 2020 O │ │ │ -0004d1a0: 2020 2020 2069 734d 6163 726f 2020 2020 isMacro │ │ │ +0004d070: 2020 6765 7454 7970 6520 2020 2020 2020 getType │ │ │ +0004d080: 2020 2020 2020 2020 2020 2020 2023 2d7d #-} │ │ │ +0004d090: 0a7b 2d23 2042 5549 4c54 494e 2041 4744 .{-# BUILTIN AGD │ │ │ +0004d0a0: 4154 434d 4745 5444 4546 494e 4954 494f ATCMGETDEFINITIO │ │ │ +0004d0b0: 4e20 2020 2020 2020 2020 2020 2020 2067 N g │ │ │ +0004d0c0: 6574 4465 6669 6e69 7469 6f6e 2020 2020 etDefinition │ │ │ +0004d0d0: 2020 2020 2020 2020 2020 232d 7d0a 7b2d #-}.{- │ │ │ +0004d0e0: 2320 4255 494c 5449 4e20 4147 4441 5443 # BUILTIN AGDATC │ │ │ +0004d0f0: 4d42 4c4f 434b 2020 2020 2020 2020 2020 MBLOCK │ │ │ +0004d100: 2020 2020 2020 2020 2020 2020 626c 6f63 bloc │ │ │ +0004d110: 6b54 4320 2020 2020 2020 2020 2020 2020 kTC │ │ │ +0004d120: 2020 2020 2020 2023 2d7d 0a7b 2d23 2042 #-}.{-# B │ │ │ +0004d130: 5549 4c54 494e 2041 4744 4154 434d 434f UILTIN AGDATCMCO │ │ │ +0004d140: 4d4d 4954 2020 2020 2020 2020 2020 2020 MMIT │ │ │ +0004d150: 2020 2020 2020 2020 2063 6f6d 6d69 7454 commitT │ │ │ +0004d160: 4320 2020 2020 2020 2020 2020 2020 2020 C │ │ │ +0004d170: 2020 2020 232d 7d0a 7b2d 2320 4255 494c #-}.{-# BUIL │ │ │ +0004d180: 5449 4e20 4147 4441 5443 4d49 534d 4143 TIN AGDATCMISMAC │ │ │ +0004d190: 524f 2020 2020 2020 2020 2020 2020 2020 RO │ │ │ +0004d1a0: 2020 2020 2020 6973 4d61 6372 6f20 2020 isMacro │ │ │ 0004d1b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0004d1c0: 232d 7d0a 7b2d 2320 4255 494c 5449 4e20 #-}.{-# BUILTIN │ │ │ -0004d1d0: 4147 4441 5443 4d50 5241 474d 4146 4f52 AGDATCMPRAGMAFOR │ │ │ -0004d1e0: 4549 474e 2020 2020 2020 2020 2020 2020 EIGN │ │ │ -0004d1f0: 2020 7072 6167 6d61 466f 7265 6967 6e20 pragmaForeign │ │ │ -0004d200: 2020 2020 2020 2020 2020 2020 2023 2d7d #-} │ │ │ -0004d210: 0a7b 2d23 2042 5549 4c54 494e 2041 4744 .{-# BUILTIN AGD │ │ │ -0004d220: 4154 434d 5052 4147 4d41 434f 4d50 494c ATCMPRAGMACOMPIL │ │ │ -0004d230: 4520 2020 2020 2020 2020 2020 2020 2070 E p │ │ │ -0004d240: 7261 676d 6143 6f6d 7069 6c65 2020 2020 ragmaCompile │ │ │ -0004d250: 2020 2020 2020 2020 2020 232d 7d0a 7b2d #-}.{- │ │ │ -0004d260: 2320 4255 494c 5449 4e20 4147 4441 5443 # BUILTIN AGDATC │ │ │ -0004d270: 4d57 4954 484e 4f52 4d41 4c49 5341 5449 MWITHNORMALISATI │ │ │ -0004d280: 4f4e 2020 2020 2020 2020 2020 7769 7468 ON with │ │ │ -0004d290: 4e6f 726d 616c 6973 6174 696f 6e20 2020 Normalisation │ │ │ -0004d2a0: 2020 2020 2020 2023 2d7d 0a7b 2d23 2042 #-}.{-# B │ │ │ -0004d2b0: 5549 4c54 494e 2041 4744 4154 434d 5749 UILTIN AGDATCMWI │ │ │ -0004d2c0: 5448 5245 434f 4e53 5452 5543 5445 4420 THRECONSTRUCTED │ │ │ -0004d2d0: 2020 2020 2020 2020 2077 6974 6852 6563 withRec │ │ │ -0004d2e0: 6f6e 7374 7275 6374 6564 2020 2020 2020 onstructed │ │ │ -0004d2f0: 2020 2020 232d 7d0a 7b2d 2320 4255 494c #-}.{-# BUIL │ │ │ -0004d300: 5449 4e20 4147 4441 5443 4d57 4954 4845 TIN AGDATCMWITHE │ │ │ -0004d310: 5850 414e 444c 4153 5420 2020 2020 2020 XPANDLAST │ │ │ -0004d320: 2020 2020 2020 7769 7468 4578 7061 6e64 withExpand │ │ │ -0004d330: 4c61 7374 2020 2020 2020 2020 2020 2020 Last │ │ │ -0004d340: 2023 2d7d 0a7b 2d23 2042 5549 4c54 494e #-}.{-# BUILTIN │ │ │ -0004d350: 2041 4744 4154 434d 5749 5448 5245 4455 AGDATCMWITHREDU │ │ │ -0004d360: 4345 4445 4653 2020 2020 2020 2020 2020 CEDEFS │ │ │ -0004d370: 2020 2077 6974 6852 6564 7563 6544 6566 withReduceDef │ │ │ -0004d380: 7320 2020 2020 2020 2020 2020 2020 232d s #- │ │ │ -0004d390: 7d0a 7b2d 2320 4255 494c 5449 4e20 4147 }.{-# BUILTIN AG │ │ │ -0004d3a0: 4441 5443 4d41 534b 4e4f 524d 414c 4953 DATCMASKNORMALIS │ │ │ -0004d3b0: 4154 494f 4e20 2020 2020 2020 2020 2020 ATION │ │ │ -0004d3c0: 6173 6b4e 6f72 6d61 6c69 7361 7469 6f6e askNormalisation │ │ │ -0004d3d0: 2020 2020 2020 2020 2020 2023 2d7d 0a7b #-}.{ │ │ │ -0004d3e0: 2d23 2042 5549 4c54 494e 2041 4744 4154 -# BUILTIN AGDAT │ │ │ -0004d3f0: 434d 4153 4b52 4543 4f4e 5354 5255 4354 CMASKRECONSTRUCT │ │ │ -0004d400: 4544 2020 2020 2020 2020 2020 2061 736b ED ask │ │ │ -0004d410: 5265 636f 6e73 7472 7563 7465 6420 2020 Reconstructed │ │ │ -0004d420: 2020 2020 2020 2020 232d 7d0a 7b2d 2320 #-}.{-# │ │ │ -0004d430: 4255 494c 5449 4e20 4147 4441 5443 4d41 BUILTIN AGDATCMA │ │ │ -0004d440: 534b 4558 5041 4e44 4c41 5354 2020 2020 SKEXPANDLAST │ │ │ -0004d450: 2020 2020 2020 2020 2020 6173 6b45 7870 askExp │ │ │ -0004d460: 616e 644c 6173 7420 2020 2020 2020 2020 andLast │ │ │ -0004d470: 2020 2020 2023 2d7d 0a7b 2d23 2042 5549 #-}.{-# BUI │ │ │ -0004d480: 4c54 494e 2041 4744 4154 434d 4153 4b52 LTIN AGDATCMASKR │ │ │ -0004d490: 4544 5543 4544 4546 5320 2020 2020 2020 EDUCEDEFS │ │ │ -0004d4a0: 2020 2020 2020 2061 736b 5265 6475 6365 askReduce │ │ │ -0004d4b0: 4465 6673 2020 2020 2020 2020 2020 2020 Defs │ │ │ -0004d4c0: 2020 232d 7d0a 7b2d 2320 4255 494c 5449 #-}.{-# BUILTI │ │ │ -0004d4d0: 4e20 4147 4441 5443 4d46 4f52 4d41 5445 N AGDATCMFORMATE │ │ │ -0004d4e0: 5252 4f52 5041 5254 5320 2020 2020 2020 RRORPARTS │ │ │ -0004d4f0: 2020 2020 666f 726d 6174 4572 726f 7250 formatErrorP │ │ │ -0004d500: 6172 7473 2020 2020 2020 2020 2020 2023 arts # │ │ │ -0004d510: 2d7d 0a7b 2d23 2042 5549 4c54 494e 2041 -}.{-# BUILTIN A │ │ │ -0004d520: 4744 4154 434d 4445 4255 4750 5249 4e54 GDATCMDEBUGPRINT │ │ │ -0004d530: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0004d540: 2064 6562 7567 5072 696e 7420 2020 2020 debugPrint │ │ │ -0004d550: 2020 2020 2020 2020 2020 2020 232d 7d0a #-}. │ │ │ -0004d560: 7b2d 2320 4255 494c 5449 4e20 4147 4441 {-# BUILTIN AGDA │ │ │ -0004d570: 5443 4d4e 4f43 4f4e 5354 5241 494e 5453 TCMNOCONSTRAINTS │ │ │ -0004d580: 2020 2020 2020 2020 2020 2020 2020 6e6f no │ │ │ -0004d590: 436f 6e73 7472 6169 6e74 7320 2020 2020 Constraints │ │ │ -0004d5a0: 2020 2020 2020 2020 2023 2d7d 0a7b 2d23 #-}.{-# │ │ │ -0004d5b0: 2042 5549 4c54 494e 2041 4744 4154 434d BUILTIN AGDATCM │ │ │ -0004d5c0: 574f 524b 4f4e 5459 5045 5320 2020 2020 WORKONTYPES │ │ │ -0004d5d0: 2020 2020 2020 2020 2020 2077 6f72 6b4f workO │ │ │ -0004d5e0: 6e54 7970 6573 2020 2020 2020 2020 2020 nTypes │ │ │ -0004d5f0: 2020 2020 2020 232d 7d0a 7b2d 2320 4255 #-}.{-# BU │ │ │ -0004d600: 494c 5449 4e20 4147 4441 5443 4d52 554e ILTIN AGDATCMRUN │ │ │ -0004d610: 5350 4543 554c 4154 4956 4520 2020 2020 SPECULATIVE │ │ │ -0004d620: 2020 2020 2020 2020 7275 6e53 7065 6375 runSpecu │ │ │ -0004d630: 6c61 7469 7665 2020 2020 2020 2020 2020 lative │ │ │ -0004d640: 2020 2023 2d7d 0a7b 2d23 2042 5549 4c54 #-}.{-# BUILT │ │ │ -0004d650: 494e 2041 4744 4154 434d 4745 5449 4e53 IN AGDATCMGETINS │ │ │ -0004d660: 5441 4e43 4553 2020 2020 2020 2020 2020 TANCES │ │ │ -0004d670: 2020 2020 2067 6574 496e 7374 616e 6365 getInstance │ │ │ -0004d680: 7320 2020 2020 2020 2020 2020 2020 2020 s │ │ │ -0004d690: 232d 7d0a 7b2d 2320 4255 494c 5449 4e20 #-}.{-# BUILTIN │ │ │ -0004d6a0: 4147 4441 5443 4d53 4f4c 5645 494e 5354 AGDATCMSOLVEINST │ │ │ -0004d6b0: 414e 4345 5320 2020 2020 2020 2020 2020 ANCES │ │ │ -0004d6c0: 2020 736f 6c76 6549 6e73 7461 6e63 6543 solveInstanceC │ │ │ -0004d6d0: 6f6e 7374 7261 696e 7473 2020 2023 2d7d onstraints #-} │ │ │ -0004d6e0: 0a7b 2d23 2042 5549 4c54 494e 2041 4744 .{-# BUILTIN AGD │ │ │ -0004d6f0: 4154 434d 4348 4543 4b46 524f 4d53 5452 ATCMCHECKFROMSTR │ │ │ -0004d700: 494e 4720 2020 2020 2020 2020 2020 2063 ING c │ │ │ -0004d710: 6865 636b 4672 6f6d 5374 7269 6e67 5443 heckFromStringTC │ │ │ -0004d720: 2020 2020 2020 2020 2020 232d 7d0a 0a2d #-}..- │ │ │ -0004d730: 2d20 416c 6c20 7468 6520 5443 2070 7269 - All the TC pri │ │ │ -0004d740: 6d69 7469 7665 7320 6172 6520 636f 6d70 mitives are comp │ │ │ -0004d750: 696c 6564 2074 6f20 6675 6e63 7469 6f6e iled to function │ │ │ -0004d760: 7320 7468 6174 2072 6574 7572 6e0a 2d2d s that return.-- │ │ │ -0004d770: 2075 6e64 6566 696e 6564 2c20 7261 7468 undefined, rath │ │ │ -0004d780: 6572 2074 6861 6e20 6a75 7374 2075 6e64 er than just und │ │ │ -0004d790: 6566 696e 6564 2c20 696e 2061 6e20 6174 efined, in an at │ │ │ -0004d7a0: 7465 6d70 7420 746f 206d 616b 6520 7375 tempt to make su │ │ │ -0004d7b0: 7265 0a2d 2d20 7468 6174 2063 6f64 6520 re.-- that code │ │ │ -0004d7c0: 7769 6c6c 2072 756e 2070 726f 7065 726c will run properl │ │ │ -0004d7d0: 792e 0a7b 2d23 2043 4f4d 5049 4c45 204a y..{-# COMPILE J │ │ │ -0004d7e0: 5320 7265 7475 726e 5443 2020 2020 2020 S returnTC │ │ │ -0004d7f0: 2020 2020 3d20 5f20 3d3e 205f 203d 3e20 = _ => _ => │ │ │ -0004d800: 5f20 3d3e 2020 2020 2020 756e 6465 6669 _ => undefi │ │ │ -0004d810: 6e65 6420 232d 7d0a 7b2d 2320 434f 4d50 ned #-}.{-# COMP │ │ │ -0004d820: 494c 4520 4a53 2062 696e 6454 4320 2020 ILE JS bindTC │ │ │ -0004d830: 2020 2020 2020 2020 203d 205f 203d 3e20 = _ => │ │ │ -0004d840: 5f20 3d3e 205f 203d 3e20 5f20 3d3e 0a20 _ => _ => _ =>. │ │ │ +0004d1c0: 2023 2d7d 0a7b 2d23 2042 5549 4c54 494e #-}.{-# BUILTIN │ │ │ +0004d1d0: 2041 4744 4154 434d 5052 4147 4d41 464f AGDATCMPRAGMAFO │ │ │ +0004d1e0: 5245 4947 4e20 2020 2020 2020 2020 2020 REIGN │ │ │ +0004d1f0: 2020 2070 7261 676d 6146 6f72 6569 676e pragmaForeign │ │ │ +0004d200: 2020 2020 2020 2020 2020 2020 2020 232d #- │ │ │ +0004d210: 7d0a 7b2d 2320 4255 494c 5449 4e20 4147 }.{-# BUILTIN AG │ │ │ +0004d220: 4441 5443 4d50 5241 474d 4143 4f4d 5049 DATCMPRAGMACOMPI │ │ │ +0004d230: 4c45 2020 2020 2020 2020 2020 2020 2020 LE │ │ │ +0004d240: 7072 6167 6d61 436f 6d70 696c 6520 2020 pragmaCompile │ │ │ +0004d250: 2020 2020 2020 2020 2020 2023 2d7d 0a7b #-}.{ │ │ │ +0004d260: 2d23 2042 5549 4c54 494e 2041 4744 4154 -# BUILTIN AGDAT │ │ │ +0004d270: 434d 5749 5448 4e4f 524d 414c 4953 4154 CMWITHNORMALISAT │ │ │ +0004d280: 494f 4e20 2020 2020 2020 2020 2077 6974 ION wit │ │ │ +0004d290: 684e 6f72 6d61 6c69 7361 7469 6f6e 2020 hNormalisation │ │ │ +0004d2a0: 2020 2020 2020 2020 232d 7d0a 7b2d 2320 #-}.{-# │ │ │ +0004d2b0: 4255 494c 5449 4e20 4147 4441 5443 4d57 BUILTIN AGDATCMW │ │ │ +0004d2c0: 4954 4852 4543 4f4e 5354 5255 4354 4544 ITHRECONSTRUCTED │ │ │ +0004d2d0: 2020 2020 2020 2020 2020 7769 7468 5265 withRe │ │ │ +0004d2e0: 636f 6e73 7472 7563 7465 6420 2020 2020 constructed │ │ │ +0004d2f0: 2020 2020 2023 2d7d 0a7b 2d23 2042 5549 #-}.{-# BUI │ │ │ +0004d300: 4c54 494e 2041 4744 4154 434d 5749 5448 LTIN AGDATCMWITH │ │ │ +0004d310: 4558 5041 4e44 4c41 5354 2020 2020 2020 EXPANDLAST │ │ │ +0004d320: 2020 2020 2020 2077 6974 6845 7870 616e withExpan │ │ │ +0004d330: 644c 6173 7420 2020 2020 2020 2020 2020 dLast │ │ │ +0004d340: 2020 232d 7d0a 7b2d 2320 4255 494c 5449 #-}.{-# BUILTI │ │ │ +0004d350: 4e20 4147 4441 5443 4d57 4954 4852 4544 N AGDATCMWITHRED │ │ │ +0004d360: 5543 4544 4546 5320 2020 2020 2020 2020 UCEDEFS │ │ │ +0004d370: 2020 2020 7769 7468 5265 6475 6365 4465 withReduceDe │ │ │ +0004d380: 6673 2020 2020 2020 2020 2020 2020 2023 fs # │ │ │ +0004d390: 2d7d 0a7b 2d23 2042 5549 4c54 494e 2041 -}.{-# BUILTIN A │ │ │ +0004d3a0: 4744 4154 434d 4153 4b4e 4f52 4d41 4c49 GDATCMASKNORMALI │ │ │ +0004d3b0: 5341 5449 4f4e 2020 2020 2020 2020 2020 SATION │ │ │ +0004d3c0: 2061 736b 4e6f 726d 616c 6973 6174 696f askNormalisatio │ │ │ +0004d3d0: 6e20 2020 2020 2020 2020 2020 232d 7d0a n #-}. │ │ │ +0004d3e0: 7b2d 2320 4255 494c 5449 4e20 4147 4441 {-# BUILTIN AGDA │ │ │ +0004d3f0: 5443 4d41 534b 5245 434f 4e53 5452 5543 TCMASKRECONSTRUC │ │ │ +0004d400: 5445 4420 2020 2020 2020 2020 2020 6173 TED as │ │ │ +0004d410: 6b52 6563 6f6e 7374 7275 6374 6564 2020 kReconstructed │ │ │ +0004d420: 2020 2020 2020 2020 2023 2d7d 0a7b 2d23 #-}.{-# │ │ │ +0004d430: 2042 5549 4c54 494e 2041 4744 4154 434d BUILTIN AGDATCM │ │ │ +0004d440: 4153 4b45 5850 414e 444c 4153 5420 2020 ASKEXPANDLAST │ │ │ +0004d450: 2020 2020 2020 2020 2020 2061 736b 4578 askEx │ │ │ +0004d460: 7061 6e64 4c61 7374 2020 2020 2020 2020 pandLast │ │ │ +0004d470: 2020 2020 2020 232d 7d0a 7b2d 2320 4255 #-}.{-# BU │ │ │ +0004d480: 494c 5449 4e20 4147 4441 5443 4d41 534b ILTIN AGDATCMASK │ │ │ +0004d490: 5245 4455 4345 4445 4653 2020 2020 2020 REDUCEDEFS │ │ │ +0004d4a0: 2020 2020 2020 2020 6173 6b52 6564 7563 askReduc │ │ │ +0004d4b0: 6544 6566 7320 2020 2020 2020 2020 2020 eDefs │ │ │ +0004d4c0: 2020 2023 2d7d 0a7b 2d23 2042 5549 4c54 #-}.{-# BUILT │ │ │ +0004d4d0: 494e 2041 4744 4154 434d 464f 524d 4154 IN AGDATCMFORMAT │ │ │ +0004d4e0: 4552 524f 5250 4152 5453 2020 2020 2020 ERRORPARTS │ │ │ +0004d4f0: 2020 2020 2066 6f72 6d61 7445 7272 6f72 formatError │ │ │ +0004d500: 5061 7274 7320 2020 2020 2020 2020 2020 Parts │ │ │ +0004d510: 232d 7d0a 7b2d 2320 4255 494c 5449 4e20 #-}.{-# BUILTIN │ │ │ +0004d520: 4147 4441 5443 4d44 4542 5547 5052 494e AGDATCMDEBUGPRIN │ │ │ +0004d530: 5420 2020 2020 2020 2020 2020 2020 2020 T │ │ │ +0004d540: 2020 6465 6275 6750 7269 6e74 2020 2020 debugPrint │ │ │ +0004d550: 2020 2020 2020 2020 2020 2020 2023 2d7d #-} │ │ │ +0004d560: 0a7b 2d23 2042 5549 4c54 494e 2041 4744 .{-# BUILTIN AGD │ │ │ +0004d570: 4154 434d 4e4f 434f 4e53 5452 4149 4e54 ATCMNOCONSTRAINT │ │ │ +0004d580: 5320 2020 2020 2020 2020 2020 2020 206e S n │ │ │ +0004d590: 6f43 6f6e 7374 7261 696e 7473 2020 2020 oConstraints │ │ │ +0004d5a0: 2020 2020 2020 2020 2020 232d 7d0a 7b2d #-}.{- │ │ │ +0004d5b0: 2320 4255 494c 5449 4e20 4147 4441 5443 # BUILTIN AGDATC │ │ │ +0004d5c0: 4d57 4f52 4b4f 4e54 5950 4553 2020 2020 MWORKONTYPES │ │ │ +0004d5d0: 2020 2020 2020 2020 2020 2020 776f 726b work │ │ │ +0004d5e0: 4f6e 5479 7065 7320 2020 2020 2020 2020 OnTypes │ │ │ +0004d5f0: 2020 2020 2020 2023 2d7d 0a7b 2d23 2042 #-}.{-# B │ │ │ +0004d600: 5549 4c54 494e 2041 4744 4154 434d 5255 UILTIN AGDATCMRU │ │ │ +0004d610: 4e53 5045 4355 4c41 5449 5645 2020 2020 NSPECULATIVE │ │ │ +0004d620: 2020 2020 2020 2020 2072 756e 5370 6563 runSpec │ │ │ +0004d630: 756c 6174 6976 6520 2020 2020 2020 2020 ulative │ │ │ +0004d640: 2020 2020 232d 7d0a 7b2d 2320 4255 494c #-}.{-# BUIL │ │ │ +0004d650: 5449 4e20 4147 4441 5443 4d47 4554 494e TIN AGDATCMGETIN │ │ │ +0004d660: 5354 414e 4345 5320 2020 2020 2020 2020 STANCES │ │ │ +0004d670: 2020 2020 2020 6765 7449 6e73 7461 6e63 getInstanc │ │ │ +0004d680: 6573 2020 2020 2020 2020 2020 2020 2020 es │ │ │ +0004d690: 2023 2d7d 0a7b 2d23 2042 5549 4c54 494e #-}.{-# BUILTIN │ │ │ +0004d6a0: 2041 4744 4154 434d 534f 4c56 4549 4e53 AGDATCMSOLVEINS │ │ │ +0004d6b0: 5441 4e43 4553 2020 2020 2020 2020 2020 TANCES │ │ │ +0004d6c0: 2020 2073 6f6c 7665 496e 7374 616e 6365 solveInstance │ │ │ +0004d6d0: 436f 6e73 7472 6169 6e74 7320 2020 232d Constraints #- │ │ │ +0004d6e0: 7d0a 7b2d 2320 4255 494c 5449 4e20 4147 }.{-# BUILTIN AG │ │ │ +0004d6f0: 4441 5443 4d43 4845 434b 4652 4f4d 5354 DATCMCHECKFROMST │ │ │ +0004d700: 5249 4e47 2020 2020 2020 2020 2020 2020 RING │ │ │ +0004d710: 6368 6563 6b46 726f 6d53 7472 696e 6754 checkFromStringT │ │ │ +0004d720: 4320 2020 2020 2020 2020 2023 2d7d 0a0a C #-}.. │ │ │ +0004d730: 2d2d 2041 6c6c 2074 6865 2054 4320 7072 -- All the TC pr │ │ │ +0004d740: 696d 6974 6976 6573 2061 7265 2063 6f6d imitives are com │ │ │ +0004d750: 7069 6c65 6420 746f 2066 756e 6374 696f piled to functio │ │ │ +0004d760: 6e73 2074 6861 7420 7265 7475 726e 0a2d ns that return.- │ │ │ +0004d770: 2d20 756e 6465 6669 6e65 642c 2072 6174 - undefined, rat │ │ │ +0004d780: 6865 7220 7468 616e 206a 7573 7420 756e her than just un │ │ │ +0004d790: 6465 6669 6e65 642c 2069 6e20 616e 2061 defined, in an a │ │ │ +0004d7a0: 7474 656d 7074 2074 6f20 6d61 6b65 2073 ttempt to make s │ │ │ +0004d7b0: 7572 650a 2d2d 2074 6861 7420 636f 6465 ure.-- that code │ │ │ +0004d7c0: 2077 696c 6c20 7275 6e20 7072 6f70 6572 will run proper │ │ │ +0004d7d0: 6c79 2e0a 7b2d 2320 434f 4d50 494c 4520 ly..{-# COMPILE │ │ │ +0004d7e0: 4a53 2072 6574 7572 6e54 4320 2020 2020 JS returnTC │ │ │ +0004d7f0: 2020 2020 203d 205f 203d 3e20 5f20 3d3e = _ => _ => │ │ │ +0004d800: 205f 203d 3e20 2020 2020 2075 6e64 6566 _ => undef │ │ │ +0004d810: 696e 6564 2023 2d7d 0a7b 2d23 2043 4f4d ined #-}.{-# COM │ │ │ +0004d820: 5049 4c45 204a 5320 6269 6e64 5443 2020 PILE JS bindTC │ │ │ +0004d830: 2020 2020 2020 2020 2020 3d20 5f20 3d3e = _ => │ │ │ +0004d840: 205f 203d 3e20 5f20 3d3e 205f 203d 3e0a _ => _ => _ =>. │ │ │ 0004d850: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 0004d860: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0004d870: 2020 5f20 3d3e 205f 203d 3e20 2020 2020 _ => _ => │ │ │ -0004d880: 2020 2020 2020 756e 6465 6669 6e65 6420 undefined │ │ │ -0004d890: 232d 7d0a 7b2d 2320 434f 4d50 494c 4520 #-}.{-# COMPILE │ │ │ -0004d8a0: 4a53 2075 6e69 6679 2020 2020 2020 2020 JS unify │ │ │ -0004d8b0: 2020 2020 203d 205f 203d 3e20 5f20 3d3e = _ => _ => │ │ │ -0004d8c0: 2020 2020 2020 2020 2020 2075 6e64 6566 undef │ │ │ -0004d8d0: 696e 6564 2023 2d7d 0a7b 2d23 2043 4f4d ined #-}.{-# COM │ │ │ -0004d8e0: 5049 4c45 204a 5320 7479 7065 4572 726f PILE JS typeErro │ │ │ -0004d8f0: 7220 2020 2020 2020 2020 3d20 5f20 3d3e r = _ => │ │ │ -0004d900: 205f 203d 3e20 5f20 3d3e 2020 2020 2020 _ => _ => │ │ │ -0004d910: 756e 6465 6669 6e65 6420 232d 7d0a 7b2d undefined #-}.{- │ │ │ -0004d920: 2320 434f 4d50 494c 4520 4a53 2069 6e66 # COMPILE JS inf │ │ │ -0004d930: 6572 5479 7065 2020 2020 2020 2020 203d erType = │ │ │ -0004d940: 205f 203d 3e20 2020 2020 2020 2020 2020 _ => │ │ │ -0004d950: 2020 2020 2075 6e64 6566 696e 6564 2023 undefined # │ │ │ -0004d960: 2d7d 0a7b 2d23 2043 4f4d 5049 4c45 204a -}.{-# COMPILE J │ │ │ -0004d970: 5320 6368 6563 6b54 7970 6520 2020 2020 S checkType │ │ │ -0004d980: 2020 2020 3d20 5f20 3d3e 205f 203d 3e20 = _ => _ => │ │ │ -0004d990: 2020 2020 2020 2020 2020 756e 6465 6669 undefi │ │ │ -0004d9a0: 6e65 6420 232d 7d0a 7b2d 2320 434f 4d50 ned #-}.{-# COMP │ │ │ -0004d9b0: 494c 4520 4a53 206e 6f72 6d61 6c69 7365 ILE JS normalise │ │ │ -0004d9c0: 2020 2020 2020 2020 203d 205f 203d 3e20 = _ => │ │ │ -0004d9d0: 2020 2020 2020 2020 2020 2020 2020 2075 u │ │ │ -0004d9e0: 6e64 6566 696e 6564 2023 2d7d 0a7b 2d23 ndefined #-}.{-# │ │ │ -0004d9f0: 2043 4f4d 5049 4c45 204a 5320 7265 6475 COMPILE JS redu │ │ │ -0004da00: 6365 2020 2020 2020 2020 2020 2020 3d20 ce = │ │ │ -0004da10: 5f20 3d3e 2020 2020 2020 2020 2020 2020 _ => │ │ │ -0004da20: 2020 2020 756e 6465 6669 6e65 6420 232d undefined #- │ │ │ -0004da30: 7d0a 7b2d 2320 434f 4d50 494c 4520 4a53 }.{-# COMPILE JS │ │ │ -0004da40: 2063 6174 6368 5443 2020 2020 2020 2020 catchTC │ │ │ -0004da50: 2020 203d 205f 203d 3e20 5f20 3d3e 205f = _ => _ => _ │ │ │ -0004da60: 203d 3e20 5f20 3d3e 2075 6e64 6566 696e => _ => undefin │ │ │ -0004da70: 6564 2023 2d7d 0a7b 2d23 2043 4f4d 5049 ed #-}.{-# COMPI │ │ │ -0004da80: 4c45 204a 5320 7175 6f74 6554 4320 2020 LE JS quoteTC │ │ │ -0004da90: 2020 2020 2020 2020 3d20 5f20 3d3e 205f = _ => _ │ │ │ -0004daa0: 203d 3e20 5f20 3d3e 2020 2020 2020 756e => _ => un │ │ │ -0004dab0: 6465 6669 6e65 6420 232d 7d0a 7b2d 2320 defined #-}.{-# │ │ │ -0004dac0: 434f 4d50 494c 4520 4a53 2075 6e71 756f COMPILE JS unquo │ │ │ -0004dad0: 7465 5443 2020 2020 2020 2020 203d 205f teTC = _ │ │ │ -0004dae0: 203d 3e20 5f20 3d3e 205f 203d 3e20 2020 => _ => _ => │ │ │ -0004daf0: 2020 2075 6e64 6566 696e 6564 2023 2d7d undefined #-} │ │ │ -0004db00: 0a7b 2d23 2043 4f4d 5049 4c45 204a 5320 .{-# COMPILE JS │ │ │ -0004db10: 7175 6f74 65cf 8954 4320 2020 2020 2020 quote..TC │ │ │ -0004db20: 2020 203d 205f 203d 3e20 5f20 3d3e 2020 = _ => _ => │ │ │ -0004db30: 2020 2020 2020 2020 2075 6e64 6566 696e undefin │ │ │ -0004db40: 6564 2023 2d7d 0a7b 2d23 2043 4f4d 5049 ed #-}.{-# COMPI │ │ │ -0004db50: 4c45 204a 5320 6765 7443 6f6e 7465 7874 LE JS getContext │ │ │ -0004db60: 2020 2020 2020 2020 3d20 2020 2020 2020 = │ │ │ -0004db70: 2020 2020 2020 2020 2020 2020 2020 756e un │ │ │ -0004db80: 6465 6669 6e65 6420 232d 7d0a 7b2d 2320 defined #-}.{-# │ │ │ -0004db90: 434f 4d50 494c 4520 4a53 2065 7874 656e COMPILE JS exten │ │ │ -0004dba0: 6443 6f6e 7465 7874 2020 2020 203d 205f dContext = _ │ │ │ -0004dbb0: 203d 3e20 5f20 3d3e 205f 203d 3e20 5f20 => _ => _ => _ │ │ │ -0004dbc0: 3d3e 205f 203d 3e20 756e 6465 6669 6e65 => _ => undefine │ │ │ -0004dbd0: 6420 232d 7d0a 7b2d 2320 434f 4d50 494c d #-}.{-# COMPIL │ │ │ -0004dbe0: 4520 4a53 2069 6e43 6f6e 7465 7874 2020 E JS inContext │ │ │ -0004dbf0: 2020 2020 2020 203d 205f 203d 3e20 5f20 = _ => _ │ │ │ -0004dc00: 3d3e 205f 203d 3e20 5f20 3d3e 2075 6e64 => _ => _ => und │ │ │ -0004dc10: 6566 696e 6564 2023 2d7d 0a7b 2d23 2043 efined #-}.{-# C │ │ │ -0004dc20: 4f4d 5049 4c45 204a 5320 6672 6573 684e OMPILE JS freshN │ │ │ -0004dc30: 616d 6520 2020 2020 2020 2020 3d20 5f20 ame = _ │ │ │ -0004dc40: 3d3e 2020 2020 2020 2020 2020 2020 2020 => │ │ │ -0004dc50: 2020 756e 6465 6669 6e65 6420 232d 7d0a undefined #-}. │ │ │ -0004dc60: 7b2d 2320 434f 4d50 494c 4520 4a53 2064 {-# COMPILE JS d │ │ │ -0004dc70: 6563 6c61 7265 4465 6620 2020 2020 2020 eclareDef │ │ │ -0004dc80: 203d 205f 203d 3e20 5f20 3d3e 2020 2020 = _ => _ => │ │ │ -0004dc90: 2020 2020 2020 2075 6e64 6566 696e 6564 undefined │ │ │ -0004dca0: 2023 2d7d 0a7b 2d23 2043 4f4d 5049 4c45 #-}.{-# COMPILE │ │ │ -0004dcb0: 204a 5320 6465 636c 6172 6550 6f73 7475 JS declarePostu │ │ │ -0004dcc0: 6c61 7465 2020 3d20 5f20 3d3e 205f 203d late = _ => _ = │ │ │ -0004dcd0: 3e20 2020 2020 2020 2020 2020 756e 6465 > unde │ │ │ -0004dce0: 6669 6e65 6420 232d 7d0a 7b2d 2320 434f fined #-}.{-# CO │ │ │ -0004dcf0: 4d50 494c 4520 4a53 2064 6563 6c61 7265 MPILE JS declare │ │ │ -0004dd00: 4461 7461 2020 2020 2020 203d 205f 203d Data = _ = │ │ │ -0004dd10: 3e20 5f20 3d3e 205f 203d 3e20 2020 2020 > _ => _ => │ │ │ -0004dd20: 2075 6e64 6566 696e 6564 2023 2d7d 0a7b undefined #-}.{ │ │ │ -0004dd30: 2d23 2043 4f4d 5049 4c45 204a 5320 6465 -# COMPILE JS de │ │ │ -0004dd40: 6669 6e65 4461 7461 2020 2020 2020 2020 fineData │ │ │ -0004dd50: 3d20 5f20 3d3e 205f 203d 3e20 2020 2020 = _ => _ => │ │ │ -0004dd60: 2020 2020 2020 756e 6465 6669 6e65 6420 undefined │ │ │ -0004dd70: 232d 7d0a 7b2d 2320 434f 4d50 494c 4520 #-}.{-# COMPILE │ │ │ -0004dd80: 4a53 2064 6566 696e 6546 756e 2020 2020 JS defineFun │ │ │ -0004dd90: 2020 2020 203d 205f 203d 3e20 5f20 3d3e = _ => _ => │ │ │ -0004dda0: 2020 2020 2020 2020 2020 2075 6e64 6566 undef │ │ │ -0004ddb0: 696e 6564 2023 2d7d 0a7b 2d23 2043 4f4d ined #-}.{-# COM │ │ │ -0004ddc0: 5049 4c45 204a 5320 6765 7454 7970 6520 PILE JS getType │ │ │ -0004ddd0: 2020 2020 2020 2020 2020 3d20 5f20 3d3e = _ => │ │ │ -0004dde0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0004ddf0: 756e 6465 6669 6e65 6420 232d 7d0a 7b2d undefined #-}.{- │ │ │ -0004de00: 2320 434f 4d50 494c 4520 4a53 2067 6574 # COMPILE JS get │ │ │ -0004de10: 4465 6669 6e69 7469 6f6e 2020 2020 203d Definition = │ │ │ -0004de20: 205f 203d 3e20 2020 2020 2020 2020 2020 _ => │ │ │ -0004de30: 2020 2020 2075 6e64 6566 696e 6564 2023 undefined # │ │ │ -0004de40: 2d7d 0a7b 2d23 2043 4f4d 5049 4c45 204a -}.{-# COMPILE J │ │ │ -0004de50: 5320 626c 6f63 6b54 4320 2020 2020 2020 S blockTC │ │ │ -0004de60: 2020 2020 3d20 5f20 3d3e 205f 203d 3e20 = _ => _ => │ │ │ -0004de70: 2020 2020 2020 2020 2020 756e 6465 6669 undefi │ │ │ -0004de80: 6e65 6420 232d 7d0a 7b2d 2320 434f 4d50 ned #-}.{-# COMP │ │ │ -0004de90: 494c 4520 4a53 2063 6f6d 6d69 7454 4320 ILE JS commitTC │ │ │ -0004dea0: 2020 2020 2020 2020 203d 2020 2020 2020 = │ │ │ -0004deb0: 2020 2020 2020 2020 2020 2020 2020 2075 u │ │ │ -0004dec0: 6e64 6566 696e 6564 2023 2d7d 0a7b 2d23 ndefined #-}.{-# │ │ │ -0004ded0: 2043 4f4d 5049 4c45 204a 5320 6973 4d61 COMPILE JS isMa │ │ │ -0004dee0: 6372 6f20 2020 2020 2020 2020 2020 3d20 cro = │ │ │ -0004def0: 5f20 3d3e 2020 2020 2020 2020 2020 2020 _ => │ │ │ -0004df00: 2020 2020 756e 6465 6669 6e65 6420 232d undefined #- │ │ │ -0004df10: 7d0a 7b2d 2320 434f 4d50 494c 4520 4a53 }.{-# COMPILE JS │ │ │ -0004df20: 2070 7261 676d 6146 6f72 6569 676e 2020 pragmaForeign │ │ │ -0004df30: 2020 203d 205f 203d 3e20 5f20 3d3e 2020 = _ => _ => │ │ │ -0004df40: 2020 2020 2020 2020 2075 6e64 6566 696e undefin │ │ │ -0004df50: 6564 2023 2d7d 0a7b 2d23 2043 4f4d 5049 ed #-}.{-# COMPI │ │ │ -0004df60: 4c45 204a 5320 7072 6167 6d61 436f 6d70 LE JS pragmaComp │ │ │ -0004df70: 696c 6520 2020 2020 3d20 5f20 3d3e 205f ile = _ => _ │ │ │ -0004df80: 203d 3e20 5f20 3d3e 2020 2020 2020 756e => _ => un │ │ │ -0004df90: 6465 6669 6e65 6420 232d 7d0a 7b2d 2320 defined #-}.{-# │ │ │ -0004dfa0: 434f 4d50 494c 4520 4a53 2077 6974 684e COMPILE JS withN │ │ │ -0004dfb0: 6f72 6d61 6c69 7361 7469 6f6e 203d 205f ormalisation = _ │ │ │ -0004dfc0: 203d 3e20 5f20 3d3e 205f 203d 3e20 5f20 => _ => _ => _ │ │ │ -0004dfd0: 3d3e 2075 6e64 6566 696e 6564 2023 2d7d => undefined #-} │ │ │ -0004dfe0: 0a7b 2d23 2043 4f4d 5049 4c45 204a 5320 .{-# COMPILE JS │ │ │ -0004dff0: 7769 7468 5265 636f 6e73 7472 7563 7465 withReconstructe │ │ │ -0004e000: 6420 3d20 5f20 3d3e 205f 203d 3e20 5f20 d = _ => _ => _ │ │ │ -0004e010: 3d3e 205f 203d 3e20 756e 6465 6669 6e65 => _ => undefine │ │ │ -0004e020: 6420 232d 7d0a 7b2d 2320 434f 4d50 494c d #-}.{-# COMPIL │ │ │ -0004e030: 4520 4a53 2077 6974 6845 7870 616e 644c E JS withExpandL │ │ │ -0004e040: 6173 7420 2020 203d 205f 203d 3e20 5f20 ast = _ => _ │ │ │ -0004e050: 3d3e 205f 203d 3e20 5f20 3d3e 2075 6e64 => _ => _ => und │ │ │ -0004e060: 6566 696e 6564 2023 2d7d 0a7b 2d23 2043 efined #-}.{-# C │ │ │ -0004e070: 4f4d 5049 4c45 204a 5320 7769 7468 5265 OMPILE JS withRe │ │ │ -0004e080: 6475 6365 4465 6673 2020 2020 3d20 5f20 duceDefs = _ │ │ │ -0004e090: 3d3e 205f 203d 3e20 5f20 3d3e 205f 203d => _ => _ => _ = │ │ │ -0004e0a0: 3e20 756e 6465 6669 6e65 6420 232d 7d0a > undefined #-}. │ │ │ -0004e0b0: 7b2d 2320 434f 4d50 494c 4520 4a53 2061 {-# COMPILE JS a │ │ │ -0004e0c0: 736b 4e6f 726d 616c 6973 6174 696f 6e20 skNormalisation │ │ │ -0004e0d0: 203d 2020 2020 2020 2020 2020 2020 2020 = │ │ │ -0004e0e0: 2020 2020 2020 2075 6e64 6566 696e 6564 undefined │ │ │ -0004e0f0: 2023 2d7d 0a7b 2d23 2043 4f4d 5049 4c45 #-}.{-# COMPILE │ │ │ -0004e100: 204a 5320 6173 6b52 6563 6f6e 7374 7275 JS askReconstru │ │ │ -0004e110: 6374 6564 2020 3d20 2020 2020 2020 2020 cted = │ │ │ -0004e120: 2020 2020 2020 2020 2020 2020 756e 6465 unde │ │ │ -0004e130: 6669 6e65 6420 232d 7d0a 7b2d 2320 434f fined #-}.{-# CO │ │ │ -0004e140: 4d50 494c 4520 4a53 2061 736b 4578 7061 MPILE JS askExpa │ │ │ -0004e150: 6e64 4c61 7374 2020 2020 203d 2020 2020 ndLast = │ │ │ +0004d870: 2020 205f 203d 3e20 5f20 3d3e 2020 2020 _ => _ => │ │ │ +0004d880: 2020 2020 2020 2075 6e64 6566 696e 6564 undefined │ │ │ +0004d890: 2023 2d7d 0a7b 2d23 2043 4f4d 5049 4c45 #-}.{-# COMPILE │ │ │ +0004d8a0: 204a 5320 756e 6966 7920 2020 2020 2020 JS unify │ │ │ +0004d8b0: 2020 2020 2020 3d20 5f20 3d3e 205f 203d = _ => _ = │ │ │ +0004d8c0: 3e20 2020 2020 2020 2020 2020 756e 6465 > unde │ │ │ +0004d8d0: 6669 6e65 6420 232d 7d0a 7b2d 2320 434f fined #-}.{-# CO │ │ │ +0004d8e0: 4d50 494c 4520 4a53 2074 7970 6545 7272 MPILE JS typeErr │ │ │ +0004d8f0: 6f72 2020 2020 2020 2020 203d 205f 203d or = _ = │ │ │ +0004d900: 3e20 5f20 3d3e 205f 203d 3e20 2020 2020 > _ => _ => │ │ │ +0004d910: 2075 6e64 6566 696e 6564 2023 2d7d 0a7b undefined #-}.{ │ │ │ +0004d920: 2d23 2043 4f4d 5049 4c45 204a 5320 696e -# COMPILE JS in │ │ │ +0004d930: 6665 7254 7970 6520 2020 2020 2020 2020 ferType │ │ │ +0004d940: 3d20 5f20 3d3e 2020 2020 2020 2020 2020 = _ => │ │ │ +0004d950: 2020 2020 2020 756e 6465 6669 6e65 6420 undefined │ │ │ +0004d960: 232d 7d0a 7b2d 2320 434f 4d50 494c 4520 #-}.{-# COMPILE │ │ │ +0004d970: 4a53 2063 6865 636b 5479 7065 2020 2020 JS checkType │ │ │ +0004d980: 2020 2020 203d 205f 203d 3e20 5f20 3d3e = _ => _ => │ │ │ +0004d990: 2020 2020 2020 2020 2020 2075 6e64 6566 undef │ │ │ +0004d9a0: 696e 6564 2023 2d7d 0a7b 2d23 2043 4f4d ined #-}.{-# COM │ │ │ +0004d9b0: 5049 4c45 204a 5320 6e6f 726d 616c 6973 PILE JS normalis │ │ │ +0004d9c0: 6520 2020 2020 2020 2020 3d20 5f20 3d3e e = _ => │ │ │ +0004d9d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +0004d9e0: 756e 6465 6669 6e65 6420 232d 7d0a 7b2d undefined #-}.{- │ │ │ +0004d9f0: 2320 434f 4d50 494c 4520 4a53 2072 6564 # COMPILE JS red │ │ │ +0004da00: 7563 6520 2020 2020 2020 2020 2020 203d uce = │ │ │ +0004da10: 205f 203d 3e20 2020 2020 2020 2020 2020 _ => │ │ │ +0004da20: 2020 2020 2075 6e64 6566 696e 6564 2023 undefined # │ │ │ +0004da30: 2d7d 0a7b 2d23 2043 4f4d 5049 4c45 204a -}.{-# COMPILE J │ │ │ +0004da40: 5320 6361 7463 6854 4320 2020 2020 2020 S catchTC │ │ │ +0004da50: 2020 2020 3d20 5f20 3d3e 205f 203d 3e20 = _ => _ => │ │ │ +0004da60: 5f20 3d3e 205f 203d 3e20 756e 6465 6669 _ => _ => undefi │ │ │ +0004da70: 6e65 6420 232d 7d0a 7b2d 2320 434f 4d50 ned #-}.{-# COMP │ │ │ +0004da80: 494c 4520 4a53 2071 756f 7465 5443 2020 ILE JS quoteTC │ │ │ +0004da90: 2020 2020 2020 2020 203d 205f 203d 3e20 = _ => │ │ │ +0004daa0: 5f20 3d3e 205f 203d 3e20 2020 2020 2075 _ => _ => u │ │ │ +0004dab0: 6e64 6566 696e 6564 2023 2d7d 0a7b 2d23 ndefined #-}.{-# │ │ │ +0004dac0: 2043 4f4d 5049 4c45 204a 5320 756e 7175 COMPILE JS unqu │ │ │ +0004dad0: 6f74 6554 4320 2020 2020 2020 2020 3d20 oteTC = │ │ │ +0004dae0: 5f20 3d3e 205f 203d 3e20 5f20 3d3e 2020 _ => _ => _ => │ │ │ +0004daf0: 2020 2020 756e 6465 6669 6e65 6420 232d undefined #- │ │ │ +0004db00: 7d0a 7b2d 2320 434f 4d50 494c 4520 4a53 }.{-# COMPILE JS │ │ │ +0004db10: 2071 756f 7465 cf89 5443 2020 2020 2020 quote..TC │ │ │ +0004db20: 2020 2020 3d20 5f20 3d3e 205f 203d 3e20 = _ => _ => │ │ │ +0004db30: 2020 2020 2020 2020 2020 756e 6465 6669 undefi │ │ │ +0004db40: 6e65 6420 232d 7d0a 7b2d 2320 434f 4d50 ned #-}.{-# COMP │ │ │ +0004db50: 494c 4520 4a53 2067 6574 436f 6e74 6578 ILE JS getContex │ │ │ +0004db60: 7420 2020 2020 2020 203d 2020 2020 2020 t = │ │ │ +0004db70: 2020 2020 2020 2020 2020 2020 2020 2075 u │ │ │ +0004db80: 6e64 6566 696e 6564 2023 2d7d 0a7b 2d23 ndefined #-}.{-# │ │ │ +0004db90: 2043 4f4d 5049 4c45 204a 5320 6578 7465 COMPILE JS exte │ │ │ +0004dba0: 6e64 436f 6e74 6578 7420 2020 2020 3d20 ndContext = │ │ │ +0004dbb0: 5f20 3d3e 205f 203d 3e20 5f20 3d3e 205f _ => _ => _ => _ │ │ │ +0004dbc0: 203d 3e20 5f20 3d3e 2075 6e64 6566 696e => _ => undefin │ │ │ +0004dbd0: 6564 2023 2d7d 0a7b 2d23 2043 4f4d 5049 ed #-}.{-# COMPI │ │ │ +0004dbe0: 4c45 204a 5320 696e 436f 6e74 6578 7420 LE JS inContext │ │ │ +0004dbf0: 2020 2020 2020 2020 3d20 5f20 3d3e 205f = _ => _ │ │ │ +0004dc00: 203d 3e20 5f20 3d3e 205f 203d 3e20 756e => _ => _ => un │ │ │ +0004dc10: 6465 6669 6e65 6420 232d 7d0a 7b2d 2320 defined #-}.{-# │ │ │ +0004dc20: 434f 4d50 494c 4520 4a53 2066 7265 7368 COMPILE JS fresh │ │ │ +0004dc30: 4e61 6d65 2020 2020 2020 2020 203d 205f Name = _ │ │ │ +0004dc40: 203d 3e20 2020 2020 2020 2020 2020 2020 => │ │ │ +0004dc50: 2020 2075 6e64 6566 696e 6564 2023 2d7d undefined #-} │ │ │ +0004dc60: 0a7b 2d23 2043 4f4d 5049 4c45 204a 5320 .{-# COMPILE JS │ │ │ +0004dc70: 6465 636c 6172 6544 6566 2020 2020 2020 declareDef │ │ │ +0004dc80: 2020 3d20 5f20 3d3e 205f 203d 3e20 2020 = _ => _ => │ │ │ +0004dc90: 2020 2020 2020 2020 756e 6465 6669 6e65 undefine │ │ │ +0004dca0: 6420 232d 7d0a 7b2d 2320 434f 4d50 494c d #-}.{-# COMPIL │ │ │ +0004dcb0: 4520 4a53 2064 6563 6c61 7265 506f 7374 E JS declarePost │ │ │ +0004dcc0: 756c 6174 6520 203d 205f 203d 3e20 5f20 ulate = _ => _ │ │ │ +0004dcd0: 3d3e 2020 2020 2020 2020 2020 2075 6e64 => und │ │ │ +0004dce0: 6566 696e 6564 2023 2d7d 0a7b 2d23 2043 efined #-}.{-# C │ │ │ +0004dcf0: 4f4d 5049 4c45 204a 5320 6465 636c 6172 OMPILE JS declar │ │ │ +0004dd00: 6544 6174 6120 2020 2020 2020 3d20 5f20 eData = _ │ │ │ +0004dd10: 3d3e 205f 203d 3e20 5f20 3d3e 2020 2020 => _ => _ => │ │ │ +0004dd20: 2020 756e 6465 6669 6e65 6420 232d 7d0a undefined #-}. │ │ │ +0004dd30: 7b2d 2320 434f 4d50 494c 4520 4a53 2064 {-# COMPILE JS d │ │ │ +0004dd40: 6566 696e 6544 6174 6120 2020 2020 2020 efineData │ │ │ +0004dd50: 203d 205f 203d 3e20 5f20 3d3e 2020 2020 = _ => _ => │ │ │ +0004dd60: 2020 2020 2020 2075 6e64 6566 696e 6564 undefined │ │ │ +0004dd70: 2023 2d7d 0a7b 2d23 2043 4f4d 5049 4c45 #-}.{-# COMPILE │ │ │ +0004dd80: 204a 5320 6465 6669 6e65 4675 6e20 2020 JS defineFun │ │ │ +0004dd90: 2020 2020 2020 3d20 5f20 3d3e 205f 203d = _ => _ = │ │ │ +0004dda0: 3e20 2020 2020 2020 2020 2020 756e 6465 > unde │ │ │ +0004ddb0: 6669 6e65 6420 232d 7d0a 7b2d 2320 434f fined #-}.{-# CO │ │ │ +0004ddc0: 4d50 494c 4520 4a53 2067 6574 5479 7065 MPILE JS getType │ │ │ +0004ddd0: 2020 2020 2020 2020 2020 203d 205f 203d = _ = │ │ │ +0004dde0: 3e20 2020 2020 2020 2020 2020 2020 2020 > │ │ │ +0004ddf0: 2075 6e64 6566 696e 6564 2023 2d7d 0a7b undefined #-}.{ │ │ │ +0004de00: 2d23 2043 4f4d 5049 4c45 204a 5320 6765 -# COMPILE JS ge │ │ │ +0004de10: 7444 6566 696e 6974 696f 6e20 2020 2020 tDefinition │ │ │ +0004de20: 3d20 5f20 3d3e 2020 2020 2020 2020 2020 = _ => │ │ │ +0004de30: 2020 2020 2020 756e 6465 6669 6e65 6420 undefined │ │ │ +0004de40: 232d 7d0a 7b2d 2320 434f 4d50 494c 4520 #-}.{-# COMPILE │ │ │ +0004de50: 4a53 2062 6c6f 636b 5443 2020 2020 2020 JS blockTC │ │ │ +0004de60: 2020 2020 203d 205f 203d 3e20 5f20 3d3e = _ => _ => │ │ │ +0004de70: 2020 2020 2020 2020 2020 2075 6e64 6566 undef │ │ │ +0004de80: 696e 6564 2023 2d7d 0a7b 2d23 2043 4f4d ined #-}.{-# COM │ │ │ +0004de90: 5049 4c45 204a 5320 636f 6d6d 6974 5443 PILE JS commitTC │ │ │ +0004dea0: 2020 2020 2020 2020 2020 3d20 2020 2020 = │ │ │ +0004deb0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +0004dec0: 756e 6465 6669 6e65 6420 232d 7d0a 7b2d undefined #-}.{- │ │ │ +0004ded0: 2320 434f 4d50 494c 4520 4a53 2069 734d # COMPILE JS isM │ │ │ +0004dee0: 6163 726f 2020 2020 2020 2020 2020 203d acro = │ │ │ +0004def0: 205f 203d 3e20 2020 2020 2020 2020 2020 _ => │ │ │ +0004df00: 2020 2020 2075 6e64 6566 696e 6564 2023 undefined # │ │ │ +0004df10: 2d7d 0a7b 2d23 2043 4f4d 5049 4c45 204a -}.{-# COMPILE J │ │ │ +0004df20: 5320 7072 6167 6d61 466f 7265 6967 6e20 S pragmaForeign │ │ │ +0004df30: 2020 2020 3d20 5f20 3d3e 205f 203d 3e20 = _ => _ => │ │ │ +0004df40: 2020 2020 2020 2020 2020 756e 6465 6669 undefi │ │ │ +0004df50: 6e65 6420 232d 7d0a 7b2d 2320 434f 4d50 ned #-}.{-# COMP │ │ │ +0004df60: 494c 4520 4a53 2070 7261 676d 6143 6f6d ILE JS pragmaCom │ │ │ +0004df70: 7069 6c65 2020 2020 203d 205f 203d 3e20 pile = _ => │ │ │ +0004df80: 5f20 3d3e 205f 203d 3e20 2020 2020 2075 _ => _ => u │ │ │ +0004df90: 6e64 6566 696e 6564 2023 2d7d 0a7b 2d23 ndefined #-}.{-# │ │ │ +0004dfa0: 2043 4f4d 5049 4c45 204a 5320 7769 7468 COMPILE JS with │ │ │ +0004dfb0: 4e6f 726d 616c 6973 6174 696f 6e20 3d20 Normalisation = │ │ │ +0004dfc0: 5f20 3d3e 205f 203d 3e20 5f20 3d3e 205f _ => _ => _ => _ │ │ │ +0004dfd0: 203d 3e20 756e 6465 6669 6e65 6420 232d => undefined #- │ │ │ +0004dfe0: 7d0a 7b2d 2320 434f 4d50 494c 4520 4a53 }.{-# COMPILE JS │ │ │ +0004dff0: 2077 6974 6852 6563 6f6e 7374 7275 6374 withReconstruct │ │ │ +0004e000: 6564 203d 205f 203d 3e20 5f20 3d3e 205f ed = _ => _ => _ │ │ │ +0004e010: 203d 3e20 5f20 3d3e 2075 6e64 6566 696e => _ => undefin │ │ │ +0004e020: 6564 2023 2d7d 0a7b 2d23 2043 4f4d 5049 ed #-}.{-# COMPI │ │ │ +0004e030: 4c45 204a 5320 7769 7468 4578 7061 6e64 LE JS withExpand │ │ │ +0004e040: 4c61 7374 2020 2020 3d20 5f20 3d3e 205f Last = _ => _ │ │ │ +0004e050: 203d 3e20 5f20 3d3e 205f 203d 3e20 756e => _ => _ => un │ │ │ +0004e060: 6465 6669 6e65 6420 232d 7d0a 7b2d 2320 defined #-}.{-# │ │ │ +0004e070: 434f 4d50 494c 4520 4a53 2077 6974 6852 COMPILE JS withR │ │ │ +0004e080: 6564 7563 6544 6566 7320 2020 203d 205f educeDefs = _ │ │ │ +0004e090: 203d 3e20 5f20 3d3e 205f 203d 3e20 5f20 => _ => _ => _ │ │ │ +0004e0a0: 3d3e 2075 6e64 6566 696e 6564 2023 2d7d => undefined #-} │ │ │ +0004e0b0: 0a7b 2d23 2043 4f4d 5049 4c45 204a 5320 .{-# COMPILE JS │ │ │ +0004e0c0: 6173 6b4e 6f72 6d61 6c69 7361 7469 6f6e askNormalisation │ │ │ +0004e0d0: 2020 3d20 2020 2020 2020 2020 2020 2020 = │ │ │ +0004e0e0: 2020 2020 2020 2020 756e 6465 6669 6e65 undefine │ │ │ +0004e0f0: 6420 232d 7d0a 7b2d 2320 434f 4d50 494c d #-}.{-# COMPIL │ │ │ +0004e100: 4520 4a53 2061 736b 5265 636f 6e73 7472 E JS askReconstr │ │ │ +0004e110: 7563 7465 6420 203d 2020 2020 2020 2020 ucted = │ │ │ +0004e120: 2020 2020 2020 2020 2020 2020 2075 6e64 und │ │ │ +0004e130: 6566 696e 6564 2023 2d7d 0a7b 2d23 2043 efined #-}.{-# C │ │ │ +0004e140: 4f4d 5049 4c45 204a 5320 6173 6b45 7870 OMPILE JS askExp │ │ │ +0004e150: 616e 644c 6173 7420 2020 2020 3d20 2020 andLast = │ │ │ 0004e160: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0004e170: 2075 6e64 6566 696e 6564 2023 2d7d 0a7b undefined #-}.{ │ │ │ -0004e180: 2d23 2043 4f4d 5049 4c45 204a 5320 6173 -# COMPILE JS as │ │ │ -0004e190: 6b52 6564 7563 6544 6566 7320 2020 2020 kReduceDefs │ │ │ -0004e1a0: 3d20 2020 2020 2020 2020 2020 2020 2020 = │ │ │ -0004e1b0: 2020 2020 2020 756e 6465 6669 6e65 6420 undefined │ │ │ -0004e1c0: 232d 7d0a 7b2d 2320 434f 4d50 494c 4520 #-}.{-# COMPILE │ │ │ -0004e1d0: 4a53 2064 6562 7567 5072 696e 7420 2020 JS debugPrint │ │ │ -0004e1e0: 2020 2020 203d 205f 203d 3e20 5f20 3d3e = _ => _ => │ │ │ -0004e1f0: 205f 203d 3e20 2020 2020 2075 6e64 6566 _ => undef │ │ │ -0004e200: 696e 6564 2023 2d7d 0a7b 2d23 2043 4f4d ined #-}.{-# COM │ │ │ -0004e210: 5049 4c45 204a 5320 6e6f 436f 6e73 7472 PILE JS noConstr │ │ │ -0004e220: 6169 6e74 7320 2020 2020 3d20 5f20 3d3e aints = _ => │ │ │ -0004e230: 205f 203d 3e20 5f20 3d3e 2020 2020 2020 _ => _ => │ │ │ -0004e240: 756e 6465 6669 6e65 6420 232d 7d0a 7b2d undefined #-}.{- │ │ │ -0004e250: 2320 434f 4d50 494c 4520 4a53 2072 756e # COMPILE JS run │ │ │ -0004e260: 5370 6563 756c 6174 6976 6520 2020 203d Speculative = │ │ │ -0004e270: 205f 203d 3e20 5f20 3d3e 205f 203d 3e20 _ => _ => _ => │ │ │ -0004e280: 2020 2020 2075 6e64 6566 696e 6564 2023 undefined # │ │ │ -0004e290: 2d7d 0a7b 2d23 2043 4f4d 5049 4c45 204a -}.{-# COMPILE J │ │ │ -0004e2a0: 5320 6765 7449 6e73 7461 6e63 6573 2020 S getInstances │ │ │ -0004e2b0: 2020 2020 3d20 5f20 3d3e 2020 2020 2020 = _ => │ │ │ -0004e2c0: 2020 2020 2020 2020 2020 756e 6465 6669 undefi │ │ │ -0004e2d0: 6e65 6420 232d 7d0a 0a70 7269 7661 7465 ned #-}..private │ │ │ -0004e2e0: 0a20 2066 696c 7465 7220 3a20 284e 616d . filter : (Nam │ │ │ -0004e2f0: 6520 e286 9220 426f 6f6c 2920 e286 9220 e ... Bool) ... │ │ │ -0004e300: 4c69 7374 204e 616d 6520 e286 9220 4c69 List Name ... Li │ │ │ -0004e310: 7374 204e 616d 650a 2020 6669 6c74 6572 st Name. filter │ │ │ -0004e320: 2070 205b 5d20 3d20 5b5d 0a20 2066 696c p [] = []. fil │ │ │ -0004e330: 7465 7220 7020 2878 20e2 88b7 2078 7329 ter p (x ... xs) │ │ │ -0004e340: 2077 6974 6820 7020 780a 2020 2e2e 2e20 with p x. ... │ │ │ -0004e350: 7c20 7472 7565 2020 3d20 7820 e288 b720 | true = x ... │ │ │ -0004e360: 6669 6c74 6572 2070 2078 730a 2020 2e2e filter p xs. .. │ │ │ -0004e370: 2e20 7c20 6661 6c73 6520 3d20 6669 6c74 . | false = filt │ │ │ -0004e380: 6572 2070 2078 730a 0a20 205f e288 885f er p xs.. _..._ │ │ │ -0004e390: 203a 204e 616d 6520 e286 9220 4c69 7374 : Name ... List │ │ │ -0004e3a0: 204e 616d 6520 e286 9220 426f 6f6c 0a20 Name ... Bool. │ │ │ -0004e3b0: 206e 20e2 8888 205b 5d20 2020 2020 203d n ... [] = │ │ │ -0004e3c0: 2066 616c 7365 0a20 206e 20e2 8888 2028 false. n ... ( │ │ │ -0004e3d0: 6e27 20e2 88b7 206c 2920 7769 7468 2070 n' ... l) with p │ │ │ -0004e3e0: 7269 6d51 4e61 6d65 4571 7561 6c69 7479 rimQNameEquality │ │ │ -0004e3f0: 206e 206e 270a 2020 2e2e 2e20 7c20 7472 n n'. ... | tr │ │ │ -0004e400: 7565 2020 3d20 7472 7565 0a20 202e 2e2e ue = true. ... │ │ │ -0004e410: 207c 2066 616c 7365 203d 206e 20e2 8888 | false = n ... │ │ │ -0004e420: 206c 0a0a 2020 5fe2 8889 5f20 3a20 4e61 l.. _..._ : Na │ │ │ -0004e430: 6d65 20e2 8692 204c 6973 7420 4e61 6d65 me ... List Name │ │ │ -0004e440: 20e2 8692 2042 6f6f 6c0a 2020 6e20 e288 ... Bool. n .. │ │ │ -0004e450: 8920 6c20 7769 7468 206e 20e2 8888 206c . l with n ... l │ │ │ -0004e460: 0a20 202e 2e2e 207c 2074 7275 6520 203d . ... | true = │ │ │ -0004e470: 2066 616c 7365 0a20 202e 2e2e 207c 2066 false. ... | f │ │ │ -0004e480: 616c 7365 203d 2074 7275 650a 0a20 205f alse = true.. _ │ │ │ -0004e490: 2b2b 5f20 3a20 4c69 7374 204e 616d 6520 ++_ : List Name │ │ │ -0004e4a0: e286 9220 4c69 7374 204e 616d 6520 e286 ... List Name .. │ │ │ -0004e4b0: 9220 4c69 7374 204e 616d 650a 2020 5b5d . List Name. [] │ │ │ -0004e4c0: 202b 2b20 6c20 2020 2020 2020 3d20 6c0a ++ l = l. │ │ │ -0004e4d0: 2020 2878 20e2 88b7 2078 7329 202b 2b20 (x ... xs) ++ │ │ │ -0004e4e0: 6c20 3d20 7820 e288 b720 2878 7320 2b2b l = x ... (xs ++ │ │ │ -0004e4f0: 206c 290a 0a20 2063 6f6d 6269 6e65 5265 l).. combineRe │ │ │ -0004e500: 6475 6365 4465 6673 203a 2028 cea3 2042 duceDefs : (.. B │ │ │ -0004e510: 6f6f 6c20 cebb 205f 20e2 8692 204c 6973 ool .. _ ... Lis │ │ │ -0004e520: 7420 4e61 6d65 2920 e286 9220 28ce a320 t Name) ... (.. │ │ │ -0004e530: 426f 6f6c 20ce bb20 5f20 e286 9220 4c69 Bool .. _ ... Li │ │ │ -0004e540: 7374 204e 616d 6529 20e2 8692 2028 cea3 st Name) ... (.. │ │ │ -0004e550: 2042 6f6f 6c20 cebb 205f 20e2 8692 204c Bool .. _ ... L │ │ │ -0004e560: 6973 7420 4e61 6d65 290a 2020 636f 6d62 ist Name). comb │ │ │ -0004e570: 696e 6552 6564 7563 6544 6566 7320 2874 ineReduceDefs (t │ │ │ -0004e580: 7275 6520 202c 2064 6566 73e2 8281 2920 rue , defs...) │ │ │ -0004e590: 2874 7275 6520 202c 2064 6566 73e2 8282 (true , defs... │ │ │ -0004e5a0: 2920 3d20 2874 7275 6520 202c 2066 696c ) = (true , fil │ │ │ -0004e5b0: 7465 7220 285f e288 8820 6465 6673 e282 ter (_... defs.. │ │ │ -0004e5c0: 8129 2064 6566 73e2 8282 290a 2020 636f .) defs...). co │ │ │ -0004e5d0: 6d62 696e 6552 6564 7563 6544 6566 7320 mbineReduceDefs │ │ │ -0004e5e0: 2866 616c 7365 202c 2064 6566 73e2 8281 (false , defs... │ │ │ -0004e5f0: 2920 2874 7275 6520 202c 2064 6566 73e2 ) (true , defs. │ │ │ -0004e600: 8282 2920 3d20 2874 7275 6520 202c 2066 ..) = (true , f │ │ │ -0004e610: 696c 7465 7220 285f e288 8920 6465 6673 ilter (_... defs │ │ │ -0004e620: e282 8129 2064 6566 73e2 8282 290a 2020 ...) defs...). │ │ │ -0004e630: 636f 6d62 696e 6552 6564 7563 6544 6566 combineReduceDef │ │ │ -0004e640: 7320 2874 7275 6520 202c 2064 6566 73e2 s (true , defs. │ │ │ -0004e650: 8281 2920 2866 616c 7365 202c 2064 6566 ..) (false , def │ │ │ -0004e660: 73e2 8282 2920 3d20 2874 7275 6520 202c s...) = (true , │ │ │ -0004e670: 2066 696c 7465 7220 285f e288 8920 6465 filter (_... de │ │ │ -0004e680: 6673 e282 8229 2064 6566 73e2 8281 290a fs...) defs...). │ │ │ -0004e690: 2020 636f 6d62 696e 6552 6564 7563 6544 combineReduceD │ │ │ -0004e6a0: 6566 7320 2866 616c 7365 202c 2064 6566 efs (false , def │ │ │ -0004e6b0: 73e2 8281 2920 2866 616c 7365 202c 2064 s...) (false , d │ │ │ -0004e6c0: 6566 73e2 8282 2920 3d20 2866 616c 7365 efs...) = (false │ │ │ -0004e6d0: 202c 2064 6566 73e2 8281 202b 2b20 6465 , defs... ++ de │ │ │ -0004e6e0: 6673 e282 8229 0a0a 6f6e 6c79 5265 6475 fs...)..onlyRedu │ │ │ -0004e6f0: 6365 4465 6673 2064 6f6e 7452 6564 7563 ceDefs dontReduc │ │ │ -0004e700: 6544 6566 7320 3a20 e288 8020 7b61 7d20 eDefs : ... {a} │ │ │ -0004e710: 7b41 203a 2053 6574 2061 7d20 e286 9220 {A : Set a} ... │ │ │ -0004e720: 4c69 7374 204e 616d 6520 e286 9220 5443 List Name ... TC │ │ │ -0004e730: 2041 20e2 8692 2054 4320 410a 6f6e 6c79 A ... TC A.only │ │ │ -0004e740: 5265 6475 6365 4465 6673 2064 6566 7320 ReduceDefs defs │ │ │ -0004e750: 7820 3d20 6269 6e64 5443 2061 736b 5265 x = bindTC askRe │ │ │ -0004e760: 6475 6365 4465 6673 2028 cebb 2065 7844 duceDefs (.. exD │ │ │ -0004e770: 6566 7320 e286 9220 7769 7468 5265 6475 efs ... withRedu │ │ │ -0004e780: 6365 4465 6673 2028 636f 6d62 696e 6552 ceDefs (combineR │ │ │ -0004e790: 6564 7563 6544 6566 7320 2874 7275 6520 educeDefs (true │ │ │ -0004e7a0: 202c 2064 6566 7329 2065 7844 6566 7329 , defs) exDefs) │ │ │ -0004e7b0: 2078 290a 646f 6e74 5265 6475 6365 4465 x).dontReduceDe │ │ │ -0004e7c0: 6673 2064 6566 7320 7820 3d20 6269 6e64 fs defs x = bind │ │ │ -0004e7d0: 5443 2061 736b 5265 6475 6365 4465 6673 TC askReduceDefs │ │ │ -0004e7e0: 2028 cebb 2065 7844 6566 7320 e286 9220 (.. exDefs ... │ │ │ -0004e7f0: 7769 7468 5265 6475 6365 4465 6673 2028 withReduceDefs ( │ │ │ -0004e800: 636f 6d62 696e 6552 6564 7563 6544 6566 combineReduceDef │ │ │ -0004e810: 7320 2866 616c 7365 202c 2064 6566 7329 s (false , defs) │ │ │ -0004e820: 2065 7844 6566 7329 2078 290a 0a62 6c6f exDefs) x)..blo │ │ │ -0004e830: 636b 4f6e 4d65 7461 2020 203a 20e2 8880 ckOnMeta : ... │ │ │ -0004e840: 207b 617d 207b 4120 3a20 5365 7420 617d {a} {A : Set a} │ │ │ -0004e850: 20e2 8692 204d 6574 6120 e286 9220 5443 ... Meta ... TC │ │ │ -0004e860: 2041 0a62 6c6f 636b 4f6e 4d65 7461 206d A.blockOnMeta m │ │ │ -0004e870: 203d 2062 6c6f 636b 5443 2028 626c 6f63 = blockTC (bloc │ │ │ -0004e880: 6b65 724d 6574 6120 6d29 0a0a 7b2d 2320 kerMeta m)..{-# │ │ │ -0004e890: 5741 524e 494e 475f 4f4e 5f55 5341 4745 WARNING_ON_USAGE │ │ │ -0004e8a0: 206f 6e6c 7952 6564 7563 6544 6566 7320 onlyReduceDefs │ │ │ -0004e8b0: 2244 4550 5245 4341 5445 443a 2055 7365 "DEPRECATED: Use │ │ │ -0004e8c0: 2060 7769 7468 5265 6475 6365 4465 6673 `withReduceDefs │ │ │ -0004e8d0: 6020 696e 7374 6561 6420 6f66 2060 6f6e ` instead of `on │ │ │ -0004e8e0: 6c79 5265 6475 6365 4465 6673 6022 2023 lyReduceDefs`" # │ │ │ -0004e8f0: 2d7d 0a7b 2d23 2057 4152 4e49 4e47 5f4f -}.{-# WARNING_O │ │ │ -0004e900: 4e5f 5553 4147 4520 646f 6e74 5265 6475 N_USAGE dontRedu │ │ │ -0004e910: 6365 4465 6673 2022 4445 5052 4543 4154 ceDefs "DEPRECAT │ │ │ -0004e920: 4544 3a20 5573 6520 6077 6974 6852 6564 ED: Use `withRed │ │ │ -0004e930: 7563 6544 6566 7360 2069 6e73 7465 6164 uceDefs` instead │ │ │ -0004e940: 206f 6620 6064 6f6e 7452 6564 7563 6544 of `dontReduceD │ │ │ -0004e950: 6566 7360 2220 232d 7d0a a7e1 bdf4 fd85 efs`" #-}....... │ │ │ -0004e960: d3ad a101 db90 a191 ffe3 91af 9601 0086 ................ │ │ │ -0004e970: 0200 04e9 ab05 b480 80e6 0800 0000 0520 ............... │ │ │ -0004e980: 0000 0100 0100 0404 0803 0702 8680 80ec ................ │ │ │ -0004e990: 0802 0000 030f 0005 0505 0b87 8080 ec08 ................ │ │ │ -0004e9a0: 0105 2000 0001 0b9a 010b 5a9b dca0 96c5 .. .......Z..... │ │ │ -0004e9b0: f3b1 a44c 8abb eef2 d0e9 fb8d 8201 00d7 ...L............ │ │ │ -0004e9c0: 0100 04e9 e805 2000 0001 0004 0408 0307 ...... ......... │ │ │ -0004e9d0: 025e 0200 0003 0f00 0505 050b 5f0b 8c02 .^.........._... │ │ │ -0004e9e0: 0b61 0906 0100 ec1f dbd4 99de f5c7 b2a7 .a.............. │ │ │ -0004e9f0: 4cd3 a490 939c ecef b2be 0100 8c02 0004 L............... │ │ │ -0004ea00: fa06 0582 8080 e608 0000 0100 0304 0704 ................ │ │ │ -0004ea10: 0200 0003 0f00 0901 ec1f 7b2d 2320 4f50 ..........{-# OP │ │ │ -0004ea20: 5449 4f4e 5320 2d2d 6375 6269 6361 6c2d TIONS --cubical- │ │ │ -0004ea30: 636f 6d70 6174 6962 6c65 202d 2d73 6166 compatible --saf │ │ │ -0004ea40: 6520 2d2d 6e6f 2d75 6e69 7665 7273 652d e --no-universe- │ │ │ -0004ea50: 706f 6c79 6d6f 7270 6869 736d 0a20 2020 polymorphism. │ │ │ -0004ea60: 2020 2020 2020 2020 202d 2d6e 6f2d 7369 --no-si │ │ │ -0004ea70: 7a65 642d 7479 7065 7320 2d2d 6e6f 2d67 zed-types --no-g │ │ │ -0004ea80: 7561 7264 6564 6e65 7373 202d 2d6c 6576 uardedness --lev │ │ │ -0004ea90: 656c 2d75 6e69 7665 7273 6520 232d 7d0a el-universe #-}. │ │ │ -0004eaa0: 0a6d 6f64 756c 6520 4167 6461 2e42 7569 .module Agda.Bui │ │ │ -0004eab0: 6c74 696e 2e4e 6174 2077 6865 7265 0a0a ltin.Nat where.. │ │ │ -0004eac0: 6f70 656e 2069 6d70 6f72 7420 4167 6461 open import Agda │ │ │ -0004ead0: 2e42 7569 6c74 696e 2e42 6f6f 6c0a 0a64 .Builtin.Bool..d │ │ │ -0004eae0: 6174 6120 4e61 7420 3a20 5365 7420 7768 ata Nat : Set wh │ │ │ -0004eaf0: 6572 650a 2020 7a65 726f 203a 204e 6174 ere. zero : Nat │ │ │ -0004eb00: 0a20 2073 7563 2020 3a20 286e 203a 204e . suc : (n : N │ │ │ -0004eb10: 6174 2920 e286 9220 4e61 740a 0a7b 2d23 at) ... Nat..{-# │ │ │ -0004eb20: 2042 5549 4c54 494e 204e 4154 5552 414c BUILTIN NATURAL │ │ │ -0004eb30: 204e 6174 2023 2d7d 0a0a 696e 6669 7820 Nat #-}..infix │ │ │ -0004eb40: 2034 205f 3d3d 5f20 5f3c 5f0a 696e 6669 4 _==_ _<_.infi │ │ │ -0004eb50: 786c 2036 205f 2b5f 205f 2d5f 0a69 6e66 xl 6 _+_ _-_.inf │ │ │ -0004eb60: 6978 6c20 3720 5f2a 5f0a 0a5f 2b5f 203a ixl 7 _*_.._+_ : │ │ │ -0004eb70: 204e 6174 20e2 8692 204e 6174 20e2 8692 Nat ... Nat ... │ │ │ -0004eb80: 204e 6174 0a7a 6572 6f20 202b 206d 203d Nat.zero + m = │ │ │ -0004eb90: 206d 0a73 7563 206e 202b 206d 203d 2073 m.suc n + m = s │ │ │ -0004eba0: 7563 2028 6e20 2b20 6d29 0a0a 7b2d 2320 uc (n + m)..{-# │ │ │ -0004ebb0: 4255 494c 5449 4e20 4e41 5450 4c55 5320 BUILTIN NATPLUS │ │ │ -0004ebc0: 5f2b 5f20 232d 7d0a 0a5f 2d5f 203a 204e _+_ #-}.._-_ : N │ │ │ -0004ebd0: 6174 20e2 8692 204e 6174 20e2 8692 204e at ... Nat ... N │ │ │ -0004ebe0: 6174 0a6e 2020 2020 202d 207a 6572 6f20 at.n - zero │ │ │ -0004ebf0: 3d20 6e0a 7a65 726f 2020 2d20 7375 6320 = n.zero - suc │ │ │ -0004ec00: 6d20 3d20 7a65 726f 0a73 7563 206e 202d m = zero.suc n - │ │ │ -0004ec10: 2073 7563 206d 203d 206e 202d 206d 0a0a suc m = n - m.. │ │ │ -0004ec20: 7b2d 2320 4255 494c 5449 4e20 4e41 544d {-# BUILTIN NATM │ │ │ -0004ec30: 494e 5553 205f 2d5f 2023 2d7d 0a0a 5f2a INUS _-_ #-}.._* │ │ │ -0004ec40: 5f20 3a20 4e61 7420 e286 9220 4e61 7420 _ : Nat ... Nat │ │ │ -0004ec50: e286 9220 4e61 740a 7a65 726f 2020 2a20 ... Nat.zero * │ │ │ -0004ec60: 6d20 3d20 7a65 726f 0a73 7563 206e 202a m = zero.suc n * │ │ │ -0004ec70: 206d 203d 206d 202b 206e 202a 206d 0a0a m = m + n * m.. │ │ │ -0004ec80: 7b2d 2320 4255 494c 5449 4e20 4e41 5454 {-# BUILTIN NATT │ │ │ -0004ec90: 494d 4553 205f 2a5f 2023 2d7d 0a0a 5f3d IMES _*_ #-}.._= │ │ │ -0004eca0: 3d5f 203a 204e 6174 20e2 8692 204e 6174 =_ : Nat ... Nat │ │ │ -0004ecb0: 20e2 8692 2042 6f6f 6c0a 7a65 726f 2020 ... Bool.zero │ │ │ -0004ecc0: 3d3d 207a 6572 6f20 203d 2074 7275 650a == zero = true. │ │ │ -0004ecd0: 7375 6320 6e20 3d3d 2073 7563 206d 203d suc n == suc m = │ │ │ -0004ece0: 206e 203d 3d20 6d0a 5f20 2020 2020 3d3d n == m._ == │ │ │ -0004ecf0: 205f 2020 2020 203d 2066 616c 7365 0a0a _ = false.. │ │ │ -0004ed00: 7b2d 2320 4255 494c 5449 4e20 4e41 5445 {-# BUILTIN NATE │ │ │ -0004ed10: 5155 414c 5320 5f3d 3d5f 2023 2d7d 0a0a QUALS _==_ #-}.. │ │ │ -0004ed20: 5f3c 5f20 3a20 4e61 7420 e286 9220 4e61 _<_ : Nat ... Na │ │ │ -0004ed30: 7420 e286 9220 426f 6f6c 0a5f 2020 2020 t ... Bool._ │ │ │ -0004ed40: 203c 207a 6572 6f20 203d 2066 616c 7365 < zero = false │ │ │ -0004ed50: 0a7a 6572 6f20 203c 2073 7563 205f 203d .zero < suc _ = │ │ │ -0004ed60: 2074 7275 650a 7375 6320 6e20 3c20 7375 true.suc n < su │ │ │ -0004ed70: 6320 6d20 3d20 6e20 3c20 6d0a 0a7b 2d23 c m = n < m..{-# │ │ │ -0004ed80: 2042 5549 4c54 494e 204e 4154 4c45 5353 BUILTIN NATLESS │ │ │ -0004ed90: 205f 3c5f 2023 2d7d 0a0a 2d2d 2048 656c _<_ #-}..-- Hel │ │ │ -0004eda0: 7065 7220 6675 6e63 7469 6f6e 2020 6469 per function di │ │ │ -0004edb0: 762d 6865 6c70 6572 2020 666f 7220 4575 v-helper for Eu │ │ │ -0004edc0: 636c 6964 6561 6e20 6469 7669 7369 6f6e clidean division │ │ │ -0004edd0: 2e0a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ..-------------- │ │ │ +0004e170: 2020 756e 6465 6669 6e65 6420 232d 7d0a undefined #-}. │ │ │ +0004e180: 7b2d 2320 434f 4d50 494c 4520 4a53 2061 {-# COMPILE JS a │ │ │ +0004e190: 736b 5265 6475 6365 4465 6673 2020 2020 skReduceDefs │ │ │ +0004e1a0: 203d 2020 2020 2020 2020 2020 2020 2020 = │ │ │ +0004e1b0: 2020 2020 2020 2075 6e64 6566 696e 6564 undefined │ │ │ +0004e1c0: 2023 2d7d 0a7b 2d23 2043 4f4d 5049 4c45 #-}.{-# COMPILE │ │ │ +0004e1d0: 204a 5320 6465 6275 6750 7269 6e74 2020 JS debugPrint │ │ │ +0004e1e0: 2020 2020 2020 3d20 5f20 3d3e 205f 203d = _ => _ = │ │ │ +0004e1f0: 3e20 5f20 3d3e 2020 2020 2020 756e 6465 > _ => unde │ │ │ +0004e200: 6669 6e65 6420 232d 7d0a 7b2d 2320 434f fined #-}.{-# CO │ │ │ +0004e210: 4d50 494c 4520 4a53 206e 6f43 6f6e 7374 MPILE JS noConst │ │ │ +0004e220: 7261 696e 7473 2020 2020 203d 205f 203d raints = _ = │ │ │ +0004e230: 3e20 5f20 3d3e 205f 203d 3e20 2020 2020 > _ => _ => │ │ │ +0004e240: 2075 6e64 6566 696e 6564 2023 2d7d 0a7b undefined #-}.{ │ │ │ +0004e250: 2d23 2043 4f4d 5049 4c45 204a 5320 7275 -# COMPILE JS ru │ │ │ +0004e260: 6e53 7065 6375 6c61 7469 7665 2020 2020 nSpeculative │ │ │ +0004e270: 3d20 5f20 3d3e 205f 203d 3e20 5f20 3d3e = _ => _ => _ => │ │ │ +0004e280: 2020 2020 2020 756e 6465 6669 6e65 6420 undefined │ │ │ +0004e290: 232d 7d0a 7b2d 2320 434f 4d50 494c 4520 #-}.{-# COMPILE │ │ │ +0004e2a0: 4a53 2067 6574 496e 7374 616e 6365 7320 JS getInstances │ │ │ +0004e2b0: 2020 2020 203d 205f 203d 3e20 2020 2020 = _ => │ │ │ +0004e2c0: 2020 2020 2020 2020 2020 2075 6e64 6566 undef │ │ │ +0004e2d0: 696e 6564 2023 2d7d 0a0a 7072 6976 6174 ined #-}..privat │ │ │ +0004e2e0: 650a 2020 6669 6c74 6572 203a 2028 4e61 e. filter : (Na │ │ │ +0004e2f0: 6d65 20e2 8692 2042 6f6f 6c29 20e2 8692 me ... Bool) ... │ │ │ +0004e300: 204c 6973 7420 4e61 6d65 20e2 8692 204c List Name ... L │ │ │ +0004e310: 6973 7420 4e61 6d65 0a20 2066 696c 7465 ist Name. filte │ │ │ +0004e320: 7220 7020 5b5d 203d 205b 5d0a 2020 6669 r p [] = []. fi │ │ │ +0004e330: 6c74 6572 2070 2028 7820 e288 b720 7873 lter p (x ... xs │ │ │ +0004e340: 2920 7769 7468 2070 2078 0a20 202e 2e2e ) with p x. ... │ │ │ +0004e350: 207c 2074 7275 6520 203d 2078 20e2 88b7 | true = x ... │ │ │ +0004e360: 2066 696c 7465 7220 7020 7873 0a20 202e filter p xs. . │ │ │ +0004e370: 2e2e 207c 2066 616c 7365 203d 2066 696c .. | false = fil │ │ │ +0004e380: 7465 7220 7020 7873 0a0a 2020 5fe2 8888 ter p xs.. _... │ │ │ +0004e390: 5f20 3a20 4e61 6d65 20e2 8692 204c 6973 _ : Name ... Lis │ │ │ +0004e3a0: 7420 4e61 6d65 20e2 8692 2042 6f6f 6c0a t Name ... Bool. │ │ │ +0004e3b0: 2020 6e20 e288 8820 5b5d 2020 2020 2020 n ... [] │ │ │ +0004e3c0: 3d20 6661 6c73 650a 2020 6e20 e288 8820 = false. n ... │ │ │ +0004e3d0: 286e 2720 e288 b720 6c29 2077 6974 6820 (n' ... l) with │ │ │ +0004e3e0: 7072 696d 514e 616d 6545 7175 616c 6974 primQNameEqualit │ │ │ +0004e3f0: 7920 6e20 6e27 0a20 202e 2e2e 207c 2074 y n n'. ... | t │ │ │ +0004e400: 7275 6520 203d 2074 7275 650a 2020 2e2e rue = true. .. │ │ │ +0004e410: 2e20 7c20 6661 6c73 6520 3d20 6e20 e288 . | false = n .. │ │ │ +0004e420: 8820 6c0a 0a20 205f e288 895f 203a 204e . l.. _..._ : N │ │ │ +0004e430: 616d 6520 e286 9220 4c69 7374 204e 616d ame ... List Nam │ │ │ +0004e440: 6520 e286 9220 426f 6f6c 0a20 206e 20e2 e ... Bool. n . │ │ │ +0004e450: 8889 206c 2077 6974 6820 6e20 e288 8820 .. l with n ... │ │ │ +0004e460: 6c0a 2020 2e2e 2e20 7c20 7472 7565 2020 l. ... | true │ │ │ +0004e470: 3d20 6661 6c73 650a 2020 2e2e 2e20 7c20 = false. ... | │ │ │ +0004e480: 6661 6c73 6520 3d20 7472 7565 0a0a 2020 false = true.. │ │ │ +0004e490: 5f2b 2b5f 203a 204c 6973 7420 4e61 6d65 _++_ : List Name │ │ │ +0004e4a0: 20e2 8692 204c 6973 7420 4e61 6d65 20e2 ... List Name . │ │ │ +0004e4b0: 8692 204c 6973 7420 4e61 6d65 0a20 205b .. List Name. [ │ │ │ +0004e4c0: 5d20 2b2b 206c 2020 2020 2020 203d 206c ] ++ l = l │ │ │ +0004e4d0: 0a20 2028 7820 e288 b720 7873 2920 2b2b . (x ... xs) ++ │ │ │ +0004e4e0: 206c 203d 2078 20e2 88b7 2028 7873 202b l = x ... (xs + │ │ │ +0004e4f0: 2b20 6c29 0a0a 2020 636f 6d62 696e 6552 + l).. combineR │ │ │ +0004e500: 6564 7563 6544 6566 7320 3a20 28ce a320 educeDefs : (.. │ │ │ +0004e510: 426f 6f6c 20ce bb20 5f20 e286 9220 4c69 Bool .. _ ... Li │ │ │ +0004e520: 7374 204e 616d 6529 20e2 8692 2028 cea3 st Name) ... (.. │ │ │ +0004e530: 2042 6f6f 6c20 cebb 205f 20e2 8692 204c Bool .. _ ... L │ │ │ +0004e540: 6973 7420 4e61 6d65 2920 e286 9220 28ce ist Name) ... (. │ │ │ +0004e550: a320 426f 6f6c 20ce bb20 5f20 e286 9220 . Bool .. _ ... │ │ │ +0004e560: 4c69 7374 204e 616d 6529 0a20 2063 6f6d List Name). com │ │ │ +0004e570: 6269 6e65 5265 6475 6365 4465 6673 2028 bineReduceDefs ( │ │ │ +0004e580: 7472 7565 2020 2c20 6465 6673 e282 8129 true , defs...) │ │ │ +0004e590: 2028 7472 7565 2020 2c20 6465 6673 e282 (true , defs.. │ │ │ +0004e5a0: 8229 203d 2028 7472 7565 2020 2c20 6669 .) = (true , fi │ │ │ +0004e5b0: 6c74 6572 2028 5fe2 8888 2064 6566 73e2 lter (_... defs. │ │ │ +0004e5c0: 8281 2920 6465 6673 e282 8229 0a20 2063 ..) defs...). c │ │ │ +0004e5d0: 6f6d 6269 6e65 5265 6475 6365 4465 6673 ombineReduceDefs │ │ │ +0004e5e0: 2028 6661 6c73 6520 2c20 6465 6673 e282 (false , defs.. │ │ │ +0004e5f0: 8129 2028 7472 7565 2020 2c20 6465 6673 .) (true , defs │ │ │ +0004e600: e282 8229 203d 2028 7472 7565 2020 2c20 ...) = (true , │ │ │ +0004e610: 6669 6c74 6572 2028 5fe2 8889 2064 6566 filter (_... def │ │ │ +0004e620: 73e2 8281 2920 6465 6673 e282 8229 0a20 s...) defs...). │ │ │ +0004e630: 2063 6f6d 6269 6e65 5265 6475 6365 4465 combineReduceDe │ │ │ +0004e640: 6673 2028 7472 7565 2020 2c20 6465 6673 fs (true , defs │ │ │ +0004e650: e282 8129 2028 6661 6c73 6520 2c20 6465 ...) (false , de │ │ │ +0004e660: 6673 e282 8229 203d 2028 7472 7565 2020 fs...) = (true │ │ │ +0004e670: 2c20 6669 6c74 6572 2028 5fe2 8889 2064 , filter (_... d │ │ │ +0004e680: 6566 73e2 8282 2920 6465 6673 e282 8129 efs...) defs...) │ │ │ +0004e690: 0a20 2063 6f6d 6269 6e65 5265 6475 6365 . combineReduce │ │ │ +0004e6a0: 4465 6673 2028 6661 6c73 6520 2c20 6465 Defs (false , de │ │ │ +0004e6b0: 6673 e282 8129 2028 6661 6c73 6520 2c20 fs...) (false , │ │ │ +0004e6c0: 6465 6673 e282 8229 203d 2028 6661 6c73 defs...) = (fals │ │ │ +0004e6d0: 6520 2c20 6465 6673 e282 8120 2b2b 2064 e , defs... ++ d │ │ │ +0004e6e0: 6566 73e2 8282 290a 0a6f 6e6c 7952 6564 efs...)..onlyRed │ │ │ +0004e6f0: 7563 6544 6566 7320 646f 6e74 5265 6475 uceDefs dontRedu │ │ │ +0004e700: 6365 4465 6673 203a 20e2 8880 207b 617d ceDefs : ... {a} │ │ │ +0004e710: 207b 4120 3a20 5365 7420 617d 20e2 8692 {A : Set a} ... │ │ │ +0004e720: 204c 6973 7420 4e61 6d65 20e2 8692 2054 List Name ... T │ │ │ +0004e730: 4320 4120 e286 9220 5443 2041 0a6f 6e6c C A ... TC A.onl │ │ │ +0004e740: 7952 6564 7563 6544 6566 7320 6465 6673 yReduceDefs defs │ │ │ +0004e750: 2078 203d 2062 696e 6454 4320 6173 6b52 x = bindTC askR │ │ │ +0004e760: 6564 7563 6544 6566 7320 28ce bb20 6578 educeDefs (.. ex │ │ │ +0004e770: 4465 6673 20e2 8692 2077 6974 6852 6564 Defs ... withRed │ │ │ +0004e780: 7563 6544 6566 7320 2863 6f6d 6269 6e65 uceDefs (combine │ │ │ +0004e790: 5265 6475 6365 4465 6673 2028 7472 7565 ReduceDefs (true │ │ │ +0004e7a0: 2020 2c20 6465 6673 2920 6578 4465 6673 , defs) exDefs │ │ │ +0004e7b0: 2920 7829 0a64 6f6e 7452 6564 7563 6544 ) x).dontReduceD │ │ │ +0004e7c0: 6566 7320 6465 6673 2078 203d 2062 696e efs defs x = bin │ │ │ +0004e7d0: 6454 4320 6173 6b52 6564 7563 6544 6566 dTC askReduceDef │ │ │ +0004e7e0: 7320 28ce bb20 6578 4465 6673 20e2 8692 s (.. exDefs ... │ │ │ +0004e7f0: 2077 6974 6852 6564 7563 6544 6566 7320 withReduceDefs │ │ │ +0004e800: 2863 6f6d 6269 6e65 5265 6475 6365 4465 (combineReduceDe │ │ │ +0004e810: 6673 2028 6661 6c73 6520 2c20 6465 6673 fs (false , defs │ │ │ +0004e820: 2920 6578 4465 6673 2920 7829 0a0a 626c ) exDefs) x)..bl │ │ │ +0004e830: 6f63 6b4f 6e4d 6574 6120 2020 3a20 e288 ockOnMeta : .. │ │ │ +0004e840: 8020 7b61 7d20 7b41 203a 2053 6574 2061 . {a} {A : Set a │ │ │ +0004e850: 7d20 e286 9220 4d65 7461 20e2 8692 2054 } ... Meta ... T │ │ │ +0004e860: 4320 410a 626c 6f63 6b4f 6e4d 6574 6120 C A.blockOnMeta │ │ │ +0004e870: 6d20 3d20 626c 6f63 6b54 4320 2862 6c6f m = blockTC (blo │ │ │ +0004e880: 636b 6572 4d65 7461 206d 290a 0a7b 2d23 ckerMeta m)..{-# │ │ │ +0004e890: 2057 4152 4e49 4e47 5f4f 4e5f 5553 4147 WARNING_ON_USAG │ │ │ +0004e8a0: 4520 6f6e 6c79 5265 6475 6365 4465 6673 E onlyReduceDefs │ │ │ +0004e8b0: 2022 4445 5052 4543 4154 4544 3a20 5573 "DEPRECATED: Us │ │ │ +0004e8c0: 6520 6077 6974 6852 6564 7563 6544 6566 e `withReduceDef │ │ │ +0004e8d0: 7360 2069 6e73 7465 6164 206f 6620 606f s` instead of `o │ │ │ +0004e8e0: 6e6c 7952 6564 7563 6544 6566 7360 2220 nlyReduceDefs`" │ │ │ +0004e8f0: 232d 7d0a 7b2d 2320 5741 524e 494e 475f #-}.{-# WARNING_ │ │ │ +0004e900: 4f4e 5f55 5341 4745 2064 6f6e 7452 6564 ON_USAGE dontRed │ │ │ +0004e910: 7563 6544 6566 7320 2244 4550 5245 4341 uceDefs "DEPRECA │ │ │ +0004e920: 5445 443a 2055 7365 2060 7769 7468 5265 TED: Use `withRe │ │ │ +0004e930: 6475 6365 4465 6673 6020 696e 7374 6561 duceDefs` instea │ │ │ +0004e940: 6420 6f66 2060 646f 6e74 5265 6475 6365 d of `dontReduce │ │ │ +0004e950: 4465 6673 6022 2023 2d7d 0aa7 e1bd f4fd Defs`" #-}...... │ │ │ +0004e960: 85d3 ada1 01db 90a1 91ff e391 af96 0100 ................ │ │ │ +0004e970: 8602 0004 e9ac 05b4 8080 e608 0000 0005 ................ │ │ │ +0004e980: 2000 0001 0001 0004 0408 0307 0286 8080 ............... │ │ │ +0004e990: ec08 0200 0003 0f00 0505 050b 8780 80ec ................ │ │ │ +0004e9a0: 0801 0520 0000 010b 9a01 0b5a 9bdc a096 ... .......Z.... │ │ │ +0004e9b0: c5f3 b1a4 4c8a bbee f2d0 e9fb 8d82 0100 ....L........... │ │ │ +0004e9c0: d701 0004 e9e9 0520 0000 0100 0404 0803 ....... ........ │ │ │ +0004e9d0: 0702 5e02 0000 030f 0005 0505 0b5f 0b8c ..^.........._.. │ │ │ +0004e9e0: 020b 6109 0601 00ec 1fdb d499 def5 c7b2 ..a............. │ │ │ +0004e9f0: a74c d3a4 9093 9cec efb2 be01 008c 0200 .L.............. │ │ │ +0004ea00: 04fa 0705 8280 80e6 0800 0001 0003 0407 ................ │ │ │ +0004ea10: 0402 0000 030f 0009 01ec 1f7b 2d23 204f ...........{-# O │ │ │ +0004ea20: 5054 494f 4e53 202d 2d63 7562 6963 616c PTIONS --cubical │ │ │ +0004ea30: 2d63 6f6d 7061 7469 626c 6520 2d2d 7361 -compatible --sa │ │ │ +0004ea40: 6665 202d 2d6e 6f2d 756e 6976 6572 7365 fe --no-universe │ │ │ +0004ea50: 2d70 6f6c 796d 6f72 7068 6973 6d0a 2020 -polymorphism. │ │ │ +0004ea60: 2020 2020 2020 2020 2020 2d2d 6e6f 2d73 --no-s │ │ │ +0004ea70: 697a 6564 2d74 7970 6573 202d 2d6e 6f2d ized-types --no- │ │ │ +0004ea80: 6775 6172 6465 646e 6573 7320 2d2d 6c65 guardedness --le │ │ │ +0004ea90: 7665 6c2d 756e 6976 6572 7365 2023 2d7d vel-universe #-} │ │ │ +0004eaa0: 0a0a 6d6f 6475 6c65 2041 6764 612e 4275 ..module Agda.Bu │ │ │ +0004eab0: 696c 7469 6e2e 4e61 7420 7768 6572 650a iltin.Nat where. │ │ │ +0004eac0: 0a6f 7065 6e20 696d 706f 7274 2041 6764 .open import Agd │ │ │ +0004ead0: 612e 4275 696c 7469 6e2e 426f 6f6c 0a0a a.Builtin.Bool.. │ │ │ +0004eae0: 6461 7461 204e 6174 203a 2053 6574 2077 data Nat : Set w │ │ │ +0004eaf0: 6865 7265 0a20 207a 6572 6f20 3a20 4e61 here. zero : Na │ │ │ +0004eb00: 740a 2020 7375 6320 203a 2028 6e20 3a20 t. suc : (n : │ │ │ +0004eb10: 4e61 7429 20e2 8692 204e 6174 0a0a 7b2d Nat) ... Nat..{- │ │ │ +0004eb20: 2320 4255 494c 5449 4e20 4e41 5455 5241 # BUILTIN NATURA │ │ │ +0004eb30: 4c20 4e61 7420 232d 7d0a 0a69 6e66 6978 L Nat #-}..infix │ │ │ +0004eb40: 2020 3420 5f3d 3d5f 205f 3c5f 0a69 6e66 4 _==_ _<_.inf │ │ │ +0004eb50: 6978 6c20 3620 5f2b 5f20 5f2d 5f0a 696e ixl 6 _+_ _-_.in │ │ │ +0004eb60: 6669 786c 2037 205f 2a5f 0a0a 5f2b 5f20 fixl 7 _*_.._+_ │ │ │ +0004eb70: 3a20 4e61 7420 e286 9220 4e61 7420 e286 : Nat ... Nat .. │ │ │ +0004eb80: 9220 4e61 740a 7a65 726f 2020 2b20 6d20 . Nat.zero + m │ │ │ +0004eb90: 3d20 6d0a 7375 6320 6e20 2b20 6d20 3d20 = m.suc n + m = │ │ │ +0004eba0: 7375 6320 286e 202b 206d 290a 0a7b 2d23 suc (n + m)..{-# │ │ │ +0004ebb0: 2042 5549 4c54 494e 204e 4154 504c 5553 BUILTIN NATPLUS │ │ │ +0004ebc0: 205f 2b5f 2023 2d7d 0a0a 5f2d 5f20 3a20 _+_ #-}.._-_ : │ │ │ +0004ebd0: 4e61 7420 e286 9220 4e61 7420 e286 9220 Nat ... Nat ... │ │ │ +0004ebe0: 4e61 740a 6e20 2020 2020 2d20 7a65 726f Nat.n - zero │ │ │ +0004ebf0: 203d 206e 0a7a 6572 6f20 202d 2073 7563 = n.zero - suc │ │ │ +0004ec00: 206d 203d 207a 6572 6f0a 7375 6320 6e20 m = zero.suc n │ │ │ +0004ec10: 2d20 7375 6320 6d20 3d20 6e20 2d20 6d0a - suc m = n - m. │ │ │ +0004ec20: 0a7b 2d23 2042 5549 4c54 494e 204e 4154 .{-# BUILTIN NAT │ │ │ +0004ec30: 4d49 4e55 5320 5f2d 5f20 232d 7d0a 0a5f MINUS _-_ #-}.._ │ │ │ +0004ec40: 2a5f 203a 204e 6174 20e2 8692 204e 6174 *_ : Nat ... Nat │ │ │ +0004ec50: 20e2 8692 204e 6174 0a7a 6572 6f20 202a ... Nat.zero * │ │ │ +0004ec60: 206d 203d 207a 6572 6f0a 7375 6320 6e20 m = zero.suc n │ │ │ +0004ec70: 2a20 6d20 3d20 6d20 2b20 6e20 2a20 6d0a * m = m + n * m. │ │ │ +0004ec80: 0a7b 2d23 2042 5549 4c54 494e 204e 4154 .{-# BUILTIN NAT │ │ │ +0004ec90: 5449 4d45 5320 5f2a 5f20 232d 7d0a 0a5f TIMES _*_ #-}.._ │ │ │ +0004eca0: 3d3d 5f20 3a20 4e61 7420 e286 9220 4e61 ==_ : Nat ... Na │ │ │ +0004ecb0: 7420 e286 9220 426f 6f6c 0a7a 6572 6f20 t ... Bool.zero │ │ │ +0004ecc0: 203d 3d20 7a65 726f 2020 3d20 7472 7565 == zero = true │ │ │ +0004ecd0: 0a73 7563 206e 203d 3d20 7375 6320 6d20 .suc n == suc m │ │ │ +0004ece0: 3d20 6e20 3d3d 206d 0a5f 2020 2020 203d = n == m._ = │ │ │ +0004ecf0: 3d20 5f20 2020 2020 3d20 6661 6c73 650a = _ = false. │ │ │ +0004ed00: 0a7b 2d23 2042 5549 4c54 494e 204e 4154 .{-# BUILTIN NAT │ │ │ +0004ed10: 4551 5541 4c53 205f 3d3d 5f20 232d 7d0a EQUALS _==_ #-}. │ │ │ +0004ed20: 0a5f 3c5f 203a 204e 6174 20e2 8692 204e ._<_ : Nat ... N │ │ │ +0004ed30: 6174 20e2 8692 2042 6f6f 6c0a 5f20 2020 at ... Bool._ │ │ │ +0004ed40: 2020 3c20 7a65 726f 2020 3d20 6661 6c73 < zero = fals │ │ │ +0004ed50: 650a 7a65 726f 2020 3c20 7375 6320 5f20 e.zero < suc _ │ │ │ +0004ed60: 3d20 7472 7565 0a73 7563 206e 203c 2073 = true.suc n < s │ │ │ +0004ed70: 7563 206d 203d 206e 203c 206d 0a0a 7b2d uc m = n < m..{- │ │ │ +0004ed80: 2320 4255 494c 5449 4e20 4e41 544c 4553 # BUILTIN NATLES │ │ │ +0004ed90: 5320 5f3c 5f20 232d 7d0a 0a2d 2d20 4865 S _<_ #-}..-- He │ │ │ +0004eda0: 6c70 6572 2066 756e 6374 696f 6e20 2064 lper function d │ │ │ +0004edb0: 6976 2d68 656c 7065 7220 2066 6f72 2045 iv-helper for E │ │ │ +0004edc0: 7563 6c69 6465 616e 2064 6976 6973 696f uclidean divisio │ │ │ +0004edd0: 6e2e 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d n..------------- │ │ │ 0004ede0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 0004edf0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 0004ee00: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ -0004ee10: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 2d2d -------------.-- │ │ │ -0004ee20: 0a2d 2d20 6469 762d 6865 6c70 6572 2063 .-- div-helper c │ │ │ -0004ee30: 6f6d 7075 7465 7320 6e20 2f20 312b 6d20 omputes n / 1+m │ │ │ -0004ee40: 7669 6120 6974 6572 6174 696f 6e20 6f6e via iteration on │ │ │ -0004ee50: 206e 2e0a 2d2d 0a2d 2d20 2020 6e20 6469 n..--.-- n di │ │ │ -0004ee60: 7620 2873 7563 206d 2920 3d20 6469 762d v (suc m) = div- │ │ │ -0004ee70: 6865 6c70 6572 2030 206d 206e 206d 0a2d helper 0 m n m.- │ │ │ -0004ee80: 2d0a 2d2d 2054 6865 2073 7461 7465 206f -.-- The state o │ │ │ -0004ee90: 6620 7468 6520 6974 6572 6174 6f72 2068 f the iterator h │ │ │ -0004eea0: 6173 2074 776f 2061 6363 756d 756c 6174 as two accumulat │ │ │ -0004eeb0: 6f72 2076 6172 6961 626c 6573 3a0a 2d2d or variables:.-- │ │ │ -0004eec0: 0a2d 2d20 2020 6b3a 2054 6865 2071 756f .-- k: The quo │ │ │ -0004eed0: 7469 656e 742c 2072 6574 7572 6e65 6420 tient, returned │ │ │ -0004eee0: 6f6e 6365 206e 3d30 2e20 2049 6e69 7469 once n=0. Initi │ │ │ -0004eef0: 616c 697a 6564 2074 6f20 302e 0a2d 2d0a alized to 0..--. │ │ │ -0004ef00: 2d2d 2020 206a 3a20 4120 636f 756e 7465 -- j: A counte │ │ │ -0004ef10: 722c 2069 6e69 7469 616c 697a 6564 2074 r, initialized t │ │ │ -0004ef20: 6f20 7468 6520 6469 7669 736f 7220 6d2c o the divisor m, │ │ │ -0004ef30: 2064 6563 7265 6173 6564 206f 6e20 6561 decreased on ea │ │ │ -0004ef40: 6368 2069 7465 7261 7469 6f6e 2073 7465 ch iteration ste │ │ │ -0004ef50: 702e 0a2d 2d20 2020 2020 204f 6e63 6520 p..-- Once │ │ │ -0004ef60: 6974 2072 6561 6368 6573 2030 2c20 7468 it reaches 0, th │ │ │ -0004ef70: 6520 7175 6f74 6965 6e74 206b 2069 7320 e quotient k is │ │ │ -0004ef80: 696e 6372 6561 7365 6420 616e 6420 6a20 increased and j │ │ │ -0004ef90: 7265 7365 7420 746f 206d 2c0a 2d2d 2020 reset to m,.-- │ │ │ -0004efa0: 2020 2020 7374 6172 7469 6e67 2074 6865 starting the │ │ │ -0004efb0: 206e 6578 7420 636f 756e 7464 6f77 6e2e next countdown. │ │ │ -0004efc0: 0a2d 2d0a 2d2d 2055 6e64 6572 2074 6865 .--.-- Under the │ │ │ -0004efd0: 2070 7265 636f 6e64 6974 696f 6e20 6a20 precondition j │ │ │ -0004efe0: e289 a420 6d2c 2074 6865 2069 6e76 6172 ... m, the invar │ │ │ -0004eff0: 6961 6e74 2069 730a 2d2d 0a2d 2d20 2020 iant is.--.-- │ │ │ -0004f000: 6469 762d 6865 6c70 6572 206b 206d 206e div-helper k m n │ │ │ -0004f010: 206a 203d 206b 202b 2028 6e20 2b20 6d20 j = k + (n + m │ │ │ -0004f020: 2d20 6a29 2064 6976 2028 3120 2b20 6d29 - j) div (1 + m) │ │ │ -0004f030: 0a0a 6469 762d 6865 6c70 6572 203a 2028 ..div-helper : ( │ │ │ -0004f040: 6b20 6d20 6e20 6a20 3a20 4e61 7429 20e2 k m n j : Nat) . │ │ │ -0004f050: 8692 204e 6174 0a64 6976 2d68 656c 7065 .. Nat.div-helpe │ │ │ -0004f060: 7220 6b20 6d20 207a 6572 6f20 2020 206a r k m zero j │ │ │ -0004f070: 2020 2020 2020 3d20 6b0a 6469 762d 6865 = k.div-he │ │ │ -0004f080: 6c70 6572 206b 206d 2028 7375 6320 6e29 lper k m (suc n) │ │ │ -0004f090: 2020 7a65 726f 2020 203d 2064 6976 2d68 zero = div-h │ │ │ -0004f0a0: 656c 7065 7220 2873 7563 206b 2920 6d20 elper (suc k) m │ │ │ -0004f0b0: 6e20 6d0a 6469 762d 6865 6c70 6572 206b n m.div-helper k │ │ │ -0004f0c0: 206d 2028 7375 6320 6e29 2028 7375 6320 m (suc n) (suc │ │ │ -0004f0d0: 6a29 203d 2064 6976 2d68 656c 7065 7220 j) = div-helper │ │ │ -0004f0e0: 6b20 2020 2020 2020 6d20 6e20 6a0a 0a7b k m n j..{ │ │ │ -0004f0f0: 2d23 2042 5549 4c54 494e 204e 4154 4449 -# BUILTIN NATDI │ │ │ -0004f100: 5653 5543 4155 5820 6469 762d 6865 6c70 VSUCAUX div-help │ │ │ -0004f110: 6572 2023 2d7d 0a0a 2d2d 2050 726f 6f66 er #-}..-- Proof │ │ │ -0004f120: 206f 6620 7468 6520 696e 7661 7269 616e of the invarian │ │ │ -0004f130: 7420 6279 2069 6e64 7563 7469 6f6e 206f t by induction o │ │ │ -0004f140: 6e20 6e2e 0a2d 2d0a 2d2d 2020 2063 6c61 n n..--.-- cla │ │ │ -0004f150: 7573 6520 313a 2064 6976 2d68 656c 7065 use 1: div-helpe │ │ │ -0004f160: 7220 6b20 6d20 3020 6a0a 2d2d 2020 2020 r k m 0 j.-- │ │ │ -0004f170: 2020 2020 2020 203d 206b 2020 2020 2020 = k │ │ │ +0004ee10: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a2d --------------.- │ │ │ +0004ee20: 2d0a 2d2d 2064 6976 2d68 656c 7065 7220 -.-- div-helper │ │ │ +0004ee30: 636f 6d70 7574 6573 206e 202f 2031 2b6d computes n / 1+m │ │ │ +0004ee40: 2076 6961 2069 7465 7261 7469 6f6e 206f via iteration o │ │ │ +0004ee50: 6e20 6e2e 0a2d 2d0a 2d2d 2020 206e 2064 n n..--.-- n d │ │ │ +0004ee60: 6976 2028 7375 6320 6d29 203d 2064 6976 iv (suc m) = div │ │ │ +0004ee70: 2d68 656c 7065 7220 3020 6d20 6e20 6d0a -helper 0 m n m. │ │ │ +0004ee80: 2d2d 0a2d 2d20 5468 6520 7374 6174 6520 --.-- The state │ │ │ +0004ee90: 6f66 2074 6865 2069 7465 7261 746f 7220 of the iterator │ │ │ +0004eea0: 6861 7320 7477 6f20 6163 6375 6d75 6c61 has two accumula │ │ │ +0004eeb0: 746f 7220 7661 7269 6162 6c65 733a 0a2d tor variables:.- │ │ │ +0004eec0: 2d0a 2d2d 2020 206b 3a20 5468 6520 7175 -.-- k: The qu │ │ │ +0004eed0: 6f74 6965 6e74 2c20 7265 7475 726e 6564 otient, returned │ │ │ +0004eee0: 206f 6e63 6520 6e3d 302e 2020 496e 6974 once n=0. Init │ │ │ +0004eef0: 6961 6c69 7a65 6420 746f 2030 2e0a 2d2d ialized to 0..-- │ │ │ +0004ef00: 0a2d 2d20 2020 6a3a 2041 2063 6f75 6e74 .-- j: A count │ │ │ +0004ef10: 6572 2c20 696e 6974 6961 6c69 7a65 6420 er, initialized │ │ │ +0004ef20: 746f 2074 6865 2064 6976 6973 6f72 206d to the divisor m │ │ │ +0004ef30: 2c20 6465 6372 6561 7365 6420 6f6e 2065 , decreased on e │ │ │ +0004ef40: 6163 6820 6974 6572 6174 696f 6e20 7374 ach iteration st │ │ │ +0004ef50: 6570 2e0a 2d2d 2020 2020 2020 4f6e 6365 ep..-- Once │ │ │ +0004ef60: 2069 7420 7265 6163 6865 7320 302c 2074 it reaches 0, t │ │ │ +0004ef70: 6865 2071 756f 7469 656e 7420 6b20 6973 he quotient k is │ │ │ +0004ef80: 2069 6e63 7265 6173 6564 2061 6e64 206a increased and j │ │ │ +0004ef90: 2072 6573 6574 2074 6f20 6d2c 0a2d 2d20 reset to m,.-- │ │ │ +0004efa0: 2020 2020 2073 7461 7274 696e 6720 7468 starting th │ │ │ +0004efb0: 6520 6e65 7874 2063 6f75 6e74 646f 776e e next countdown │ │ │ +0004efc0: 2e0a 2d2d 0a2d 2d20 556e 6465 7220 7468 ..--.-- Under th │ │ │ +0004efd0: 6520 7072 6563 6f6e 6469 7469 6f6e 206a e precondition j │ │ │ +0004efe0: 20e2 89a4 206d 2c20 7468 6520 696e 7661 ... m, the inva │ │ │ +0004eff0: 7269 616e 7420 6973 0a2d 2d0a 2d2d 2020 riant is.--.-- │ │ │ +0004f000: 2064 6976 2d68 656c 7065 7220 6b20 6d20 div-helper k m │ │ │ +0004f010: 6e20 6a20 3d20 6b20 2b20 286e 202b 206d n j = k + (n + m │ │ │ +0004f020: 202d 206a 2920 6469 7620 2831 202b 206d - j) div (1 + m │ │ │ +0004f030: 290a 0a64 6976 2d68 656c 7065 7220 3a20 )..div-helper : │ │ │ +0004f040: 286b 206d 206e 206a 203a 204e 6174 2920 (k m n j : Nat) │ │ │ +0004f050: e286 9220 4e61 740a 6469 762d 6865 6c70 ... Nat.div-help │ │ │ +0004f060: 6572 206b 206d 2020 7a65 726f 2020 2020 er k m zero │ │ │ +0004f070: 6a20 2020 2020 203d 206b 0a64 6976 2d68 j = k.div-h │ │ │ +0004f080: 656c 7065 7220 6b20 6d20 2873 7563 206e elper k m (suc n │ │ │ +0004f090: 2920 207a 6572 6f20 2020 3d20 6469 762d ) zero = div- │ │ │ +0004f0a0: 6865 6c70 6572 2028 7375 6320 6b29 206d helper (suc k) m │ │ │ +0004f0b0: 206e 206d 0a64 6976 2d68 656c 7065 7220 n m.div-helper │ │ │ +0004f0c0: 6b20 6d20 2873 7563 206e 2920 2873 7563 k m (suc n) (suc │ │ │ +0004f0d0: 206a 2920 3d20 6469 762d 6865 6c70 6572 j) = div-helper │ │ │ +0004f0e0: 206b 2020 2020 2020 206d 206e 206a 0a0a k m n j.. │ │ │ +0004f0f0: 7b2d 2320 4255 494c 5449 4e20 4e41 5444 {-# BUILTIN NATD │ │ │ +0004f100: 4956 5355 4341 5558 2064 6976 2d68 656c IVSUCAUX div-hel │ │ │ +0004f110: 7065 7220 232d 7d0a 0a2d 2d20 5072 6f6f per #-}..-- Proo │ │ │ +0004f120: 6620 6f66 2074 6865 2069 6e76 6172 6961 f of the invaria │ │ │ +0004f130: 6e74 2062 7920 696e 6475 6374 696f 6e20 nt by induction │ │ │ +0004f140: 6f6e 206e 2e0a 2d2d 0a2d 2d20 2020 636c on n..--.-- cl │ │ │ +0004f150: 6175 7365 2031 3a20 6469 762d 6865 6c70 ause 1: div-help │ │ │ +0004f160: 6572 206b 206d 2030 206a 0a2d 2d20 2020 er k m 0 j.-- │ │ │ +0004f170: 2020 2020 2020 2020 3d20 6b20 2020 2020 = k │ │ │ 0004f180: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ 0004f190: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0004f1a0: 2020 6279 2064 6566 696e 6974 696f 6e0a by definition. │ │ │ -0004f1b0: 2d2d 2020 2020 2020 2020 2020 203d 206b -- = k │ │ │ -0004f1c0: 202b 2028 3020 2b20 6d20 2d20 6a29 2064 + (0 + m - j) d │ │ │ -0004f1d0: 6976 2028 3120 2b20 6d29 2020 2020 2020 iv (1 + m) │ │ │ -0004f1e0: 2020 2020 2020 2020 7369 6e63 6520 6d20 since m │ │ │ -0004f1f0: 2d20 6a20 3c20 3120 2b20 6d0a 2d2d 0a2d - j < 1 + m.--.- │ │ │ -0004f200: 2d20 2020 636c 6175 7365 2032 3a20 6469 - clause 2: di │ │ │ -0004f210: 762d 6865 6c70 6572 206b 206d 2028 3120 v-helper k m (1 │ │ │ -0004f220: 2b20 6e29 2030 0a2d 2d20 2020 2020 2020 + n) 0.-- │ │ │ -0004f230: 2020 2020 3d20 6469 762d 6865 6c70 6572 = div-helper │ │ │ -0004f240: 2028 3120 2b20 6b29 206d 206e 206d 2020 (1 + k) m n m │ │ │ -0004f250: 2020 2020 2020 2020 2020 2020 2020 2062 b │ │ │ -0004f260: 7920 6465 6669 6e69 7469 6f6e 0a2d 2d20 y definition.-- │ │ │ -0004f270: 2020 2020 2020 2020 2020 3d20 3120 2b20 = 1 + │ │ │ -0004f280: 6b20 2b20 286e 202b 206d 202d 206d 2920 k + (n + m - m) │ │ │ -0004f290: 6469 7620 2831 202b 206d 2920 2020 2020 div (1 + m) │ │ │ -0004f2a0: 2020 2020 2062 7920 696e 6475 6374 696f by inductio │ │ │ -0004f2b0: 6e20 6879 706f 7468 6573 6973 0a2d 2d20 n hypothesis.-- │ │ │ -0004f2c0: 2020 2020 2020 2020 2020 3d20 3120 2b20 = 1 + │ │ │ -0004f2d0: 6b20 2b20 2020 2020 2020 2020 206e 2020 k + n │ │ │ -0004f2e0: 6469 7620 2831 202b 206d 2920 2020 2020 div (1 + m) │ │ │ -0004f2f0: 2020 2020 2062 7920 7369 6d70 6c69 6669 by simplifi │ │ │ -0004f300: 6361 7469 6f6e 0a2d 2d20 2020 2020 2020 cation.-- │ │ │ -0004f310: 2020 2020 3d20 6b20 2b20 2020 286e 202b = k + (n + │ │ │ -0004f320: 2028 3120 2b20 6d29 2920 6469 7620 2831 (1 + m)) div (1 │ │ │ -0004f330: 202b 206d 2920 2020 2020 2020 2020 2062 + m) b │ │ │ -0004f340: 7920 6578 7061 6e73 696f 6e0a 2d2d 2020 y expansion.-- │ │ │ -0004f350: 2020 2020 2020 2020 203d 206b 202b 2028 = k + ( │ │ │ -0004f360: 3120 2b20 6e20 2b20 6d20 2d20 3029 2064 1 + n + m - 0) d │ │ │ -0004f370: 6976 2028 3120 2b20 6d29 2020 2020 2020 iv (1 + m) │ │ │ -0004f380: 2020 2020 6279 2065 7870 616e 7369 6f6e by expansion │ │ │ -0004f390: 0a2d 2d0a 2d2d 2020 2063 6c61 7573 6520 .--.-- clause │ │ │ -0004f3a0: 333a 2064 6976 2d68 656c 7065 7220 6b20 3: div-helper k │ │ │ -0004f3b0: 6d20 2831 202b 206e 2920 2831 202b 206a m (1 + n) (1 + j │ │ │ -0004f3c0: 290a 2d2d 2020 2020 2020 2020 2020 203d ).-- = │ │ │ -0004f3d0: 2064 6976 2d68 656c 7065 7220 6b20 6d20 div-helper k m │ │ │ -0004f3e0: 6e20 6a20 2020 2020 2020 2020 2020 2020 n j │ │ │ -0004f3f0: 2020 2020 2020 2020 2020 6279 2064 6566 by def │ │ │ -0004f400: 696e 6974 696f 6e0a 2d2d 2020 2020 2020 inition.-- │ │ │ -0004f410: 2020 2020 203d 206b 202b 2028 6e20 2b20 = k + (n + │ │ │ -0004f420: 6d20 2d20 6a29 2064 6976 2028 3120 2b20 m - j) div (1 + │ │ │ -0004f430: 6d29 2020 2020 2020 2020 2020 2020 2020 m) │ │ │ -0004f440: 6279 2069 6e64 7563 7469 6f6e 2068 7970 by induction hyp │ │ │ -0004f450: 6f74 6865 7369 730a 2d2d 2020 2020 2020 othesis.-- │ │ │ -0004f460: 2020 2020 203d 206b 202b 2028 2831 202b = k + ((1 + │ │ │ -0004f470: 206e 2920 2b20 6d20 2d20 2831 202b 206a n) + m - (1 + j │ │ │ -0004f480: 2929 2064 6976 2028 3120 2b20 6d29 2020 )) div (1 + m) │ │ │ -0004f490: 6279 2065 7870 616e 7369 6f6e 0a2d 2d0a by expansion.--. │ │ │ -0004f4a0: 2d2d 2051 2e65 2e64 2e0a 0a2d 2d20 4865 -- Q.e.d...-- He │ │ │ -0004f4b0: 6c70 6572 2066 756e 6374 696f 6e20 206d lper function m │ │ │ -0004f4c0: 6f64 2d68 656c 7065 7220 2066 6f72 2074 od-helper for t │ │ │ -0004f4d0: 6865 2072 656d 6169 6e64 6572 2063 6f6d he remainder com │ │ │ -0004f4e0: 7075 7461 7469 6f6e 2e0a 2d2d 2d2d 2d2d putation..------ │ │ │ +0004f1a0: 2020 2062 7920 6465 6669 6e69 7469 6f6e by definition │ │ │ +0004f1b0: 0a2d 2d20 2020 2020 2020 2020 2020 3d20 .-- = │ │ │ +0004f1c0: 6b20 2b20 2830 202b 206d 202d 206a 2920 k + (0 + m - j) │ │ │ +0004f1d0: 6469 7620 2831 202b 206d 2920 2020 2020 div (1 + m) │ │ │ +0004f1e0: 2020 2020 2020 2020 2073 696e 6365 206d since m │ │ │ +0004f1f0: 202d 206a 203c 2031 202b 206d 0a2d 2d0a - j < 1 + m.--. │ │ │ +0004f200: 2d2d 2020 2063 6c61 7573 6520 323a 2064 -- clause 2: d │ │ │ +0004f210: 6976 2d68 656c 7065 7220 6b20 6d20 2831 iv-helper k m (1 │ │ │ +0004f220: 202b 206e 2920 300a 2d2d 2020 2020 2020 + n) 0.-- │ │ │ +0004f230: 2020 2020 203d 2064 6976 2d68 656c 7065 = div-helpe │ │ │ +0004f240: 7220 2831 202b 206b 2920 6d20 6e20 6d20 r (1 + k) m n m │ │ │ +0004f250: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +0004f260: 6279 2064 6566 696e 6974 696f 6e0a 2d2d by definition.-- │ │ │ +0004f270: 2020 2020 2020 2020 2020 203d 2031 202b = 1 + │ │ │ +0004f280: 206b 202b 2028 6e20 2b20 6d20 2d20 6d29 k + (n + m - m) │ │ │ +0004f290: 2064 6976 2028 3120 2b20 6d29 2020 2020 div (1 + m) │ │ │ +0004f2a0: 2020 2020 2020 6279 2069 6e64 7563 7469 by inducti │ │ │ +0004f2b0: 6f6e 2068 7970 6f74 6865 7369 730a 2d2d on hypothesis.-- │ │ │ +0004f2c0: 2020 2020 2020 2020 2020 203d 2031 202b = 1 + │ │ │ +0004f2d0: 206b 202b 2020 2020 2020 2020 2020 6e20 k + n │ │ │ +0004f2e0: 2064 6976 2028 3120 2b20 6d29 2020 2020 div (1 + m) │ │ │ +0004f2f0: 2020 2020 2020 6279 2073 696d 706c 6966 by simplif │ │ │ +0004f300: 6963 6174 696f 6e0a 2d2d 2020 2020 2020 ication.-- │ │ │ +0004f310: 2020 2020 203d 206b 202b 2020 2028 6e20 = k + (n │ │ │ +0004f320: 2b20 2831 202b 206d 2929 2064 6976 2028 + (1 + m)) div ( │ │ │ +0004f330: 3120 2b20 6d29 2020 2020 2020 2020 2020 1 + m) │ │ │ +0004f340: 6279 2065 7870 616e 7369 6f6e 0a2d 2d20 by expansion.-- │ │ │ +0004f350: 2020 2020 2020 2020 2020 3d20 6b20 2b20 = k + │ │ │ +0004f360: 2831 202b 206e 202b 206d 202d 2030 2920 (1 + n + m - 0) │ │ │ +0004f370: 6469 7620 2831 202b 206d 2920 2020 2020 div (1 + m) │ │ │ +0004f380: 2020 2020 2062 7920 6578 7061 6e73 696f by expansio │ │ │ +0004f390: 6e0a 2d2d 0a2d 2d20 2020 636c 6175 7365 n.--.-- clause │ │ │ +0004f3a0: 2033 3a20 6469 762d 6865 6c70 6572 206b 3: div-helper k │ │ │ +0004f3b0: 206d 2028 3120 2b20 6e29 2028 3120 2b20 m (1 + n) (1 + │ │ │ +0004f3c0: 6a29 0a2d 2d20 2020 2020 2020 2020 2020 j).-- │ │ │ +0004f3d0: 3d20 6469 762d 6865 6c70 6572 206b 206d = div-helper k m │ │ │ +0004f3e0: 206e 206a 2020 2020 2020 2020 2020 2020 n j │ │ │ +0004f3f0: 2020 2020 2020 2020 2020 2062 7920 6465 by de │ │ │ +0004f400: 6669 6e69 7469 6f6e 0a2d 2d20 2020 2020 finition.-- │ │ │ +0004f410: 2020 2020 2020 3d20 6b20 2b20 286e 202b = k + (n + │ │ │ +0004f420: 206d 202d 206a 2920 6469 7620 2831 202b m - j) div (1 + │ │ │ +0004f430: 206d 2920 2020 2020 2020 2020 2020 2020 m) │ │ │ +0004f440: 2062 7920 696e 6475 6374 696f 6e20 6879 by induction hy │ │ │ +0004f450: 706f 7468 6573 6973 0a2d 2d20 2020 2020 pothesis.-- │ │ │ +0004f460: 2020 2020 2020 3d20 6b20 2b20 2828 3120 = k + ((1 │ │ │ +0004f470: 2b20 6e29 202b 206d 202d 2028 3120 2b20 + n) + m - (1 + │ │ │ +0004f480: 6a29 2920 6469 7620 2831 202b 206d 2920 j)) div (1 + m) │ │ │ +0004f490: 2062 7920 6578 7061 6e73 696f 6e0a 2d2d by expansion.-- │ │ │ +0004f4a0: 0a2d 2d20 512e 652e 642e 0a0a 2d2d 2048 .-- Q.e.d...-- H │ │ │ +0004f4b0: 656c 7065 7220 6675 6e63 7469 6f6e 2020 elper function │ │ │ +0004f4c0: 6d6f 642d 6865 6c70 6572 2020 666f 7220 mod-helper for │ │ │ +0004f4d0: 7468 6520 7265 6d61 696e 6465 7220 636f the remainder co │ │ │ +0004f4e0: 6d70 7574 6174 696f 6e2e 0a2d 2d2d 2d2d mputation..----- │ │ │ 0004f4f0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 0004f500: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 0004f510: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ 0004f520: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ -0004f530: 2d2d 2d2d 2d0a 2d2d 0a2d 2d20 2841 6e61 -----.--.-- (Ana │ │ │ -0004f540: 6c6f 676f 7573 2074 6f20 6469 762d 6865 logous to div-he │ │ │ -0004f550: 6c70 6572 2e29 0a2d 2d0a 2d2d 206d 6f64 lper.).--.-- mod │ │ │ -0004f560: 2d68 656c 7065 7220 636f 6d70 7574 6573 -helper computes │ │ │ -0004f570: 206e 2025 2031 2b6d 2076 6961 2069 7465 n % 1+m via ite │ │ │ -0004f580: 7261 7469 6f6e 206f 6e20 6e2e 0a2d 2d0a ration on n..--. │ │ │ -0004f590: 2d2d 2020 206e 206d 6f64 2028 7375 6320 -- n mod (suc │ │ │ -0004f5a0: 6d29 203d 206d 6f64 2d68 656c 7065 7220 m) = mod-helper │ │ │ -0004f5b0: 3020 6d20 6e20 6d0a 2d2d 0a2d 2d20 5468 0 m n m.--.-- Th │ │ │ -0004f5c0: 6520 696e 7661 7269 616e 7420 6973 3a0a e invariant is:. │ │ │ -0004f5d0: 2d2d 0a2d 2d20 2020 6d20 3d20 6b20 2b20 --.-- m = k + │ │ │ -0004f5e0: 6a20 203d 3d3e 2020 6d6f 642d 6865 6c70 j ==> mod-help │ │ │ -0004f5f0: 6572 206b 206d 206e 206a 203d 2028 6e20 er k m n j = (n │ │ │ -0004f600: 2b20 6b29 206d 6f64 2028 3120 2b20 6d29 + k) mod (1 + m) │ │ │ -0004f610: 2e0a 0a6d 6f64 2d68 656c 7065 7220 3a20 ...mod-helper : │ │ │ -0004f620: 286b 206d 206e 206a 203a 204e 6174 2920 (k m n j : Nat) │ │ │ -0004f630: e286 9220 4e61 740a 6d6f 642d 6865 6c70 ... Nat.mod-help │ │ │ -0004f640: 6572 206b 206d 2020 7a65 726f 2020 2020 er k m zero │ │ │ -0004f650: 6a20 2020 2020 203d 206b 0a6d 6f64 2d68 j = k.mod-h │ │ │ -0004f660: 656c 7065 7220 6b20 6d20 2873 7563 206e elper k m (suc n │ │ │ -0004f670: 2920 207a 6572 6f20 2020 3d20 6d6f 642d ) zero = mod- │ │ │ -0004f680: 6865 6c70 6572 2030 2020 2020 2020 206d helper 0 m │ │ │ -0004f690: 206e 206d 0a6d 6f64 2d68 656c 7065 7220 n m.mod-helper │ │ │ -0004f6a0: 6b20 6d20 2873 7563 206e 2920 2873 7563 k m (suc n) (suc │ │ │ -0004f6b0: 206a 2920 3d20 6d6f 642d 6865 6c70 6572 j) = mod-helper │ │ │ -0004f6c0: 2028 7375 6320 6b29 206d 206e 206a 0a0a (suc k) m n j.. │ │ │ -0004f6d0: 7b2d 2320 4255 494c 5449 4e20 4e41 544d {-# BUILTIN NATM │ │ │ -0004f6e0: 4f44 5355 4341 5558 206d 6f64 2d68 656c ODSUCAUX mod-hel │ │ │ -0004f6f0: 7065 7220 232d 7d0a 0a2d 2d20 5072 6f6f per #-}..-- Proo │ │ │ -0004f700: 6620 6f66 2074 6865 2069 6e76 6172 6961 f of the invaria │ │ │ -0004f710: 6e74 2062 7920 696e 6475 6374 696f 6e20 nt by induction │ │ │ -0004f720: 6f6e 206e 2e0a 2d2d 0a2d 2d20 2020 636c on n..--.-- cl │ │ │ -0004f730: 6175 7365 2031 3a20 6d6f 642d 6865 6c70 ause 1: mod-help │ │ │ -0004f740: 6572 206b 206d 2030 206a 0a2d 2d20 2020 er k m 0 j.-- │ │ │ -0004f750: 2020 2020 2020 2020 3d20 6b20 2020 2020 = k │ │ │ +0004f530: 2d2d 2d2d 2d2d 0a2d 2d0a 2d2d 2028 416e ------.--.-- (An │ │ │ +0004f540: 616c 6f67 6f75 7320 746f 2064 6976 2d68 alogous to div-h │ │ │ +0004f550: 656c 7065 722e 290a 2d2d 0a2d 2d20 6d6f elper.).--.-- mo │ │ │ +0004f560: 642d 6865 6c70 6572 2063 6f6d 7075 7465 d-helper compute │ │ │ +0004f570: 7320 6e20 2520 312b 6d20 7669 6120 6974 s n % 1+m via it │ │ │ +0004f580: 6572 6174 696f 6e20 6f6e 206e 2e0a 2d2d eration on n..-- │ │ │ +0004f590: 0a2d 2d20 2020 6e20 6d6f 6420 2873 7563 .-- n mod (suc │ │ │ +0004f5a0: 206d 2920 3d20 6d6f 642d 6865 6c70 6572 m) = mod-helper │ │ │ +0004f5b0: 2030 206d 206e 206d 0a2d 2d0a 2d2d 2054 0 m n m.--.-- T │ │ │ +0004f5c0: 6865 2069 6e76 6172 6961 6e74 2069 733a he invariant is: │ │ │ +0004f5d0: 0a2d 2d0a 2d2d 2020 206d 203d 206b 202b .--.-- m = k + │ │ │ +0004f5e0: 206a 2020 3d3d 3e20 206d 6f64 2d68 656c j ==> mod-hel │ │ │ +0004f5f0: 7065 7220 6b20 6d20 6e20 6a20 3d20 286e per k m n j = (n │ │ │ +0004f600: 202b 206b 2920 6d6f 6420 2831 202b 206d + k) mod (1 + m │ │ │ +0004f610: 292e 0a0a 6d6f 642d 6865 6c70 6572 203a )...mod-helper : │ │ │ +0004f620: 2028 6b20 6d20 6e20 6a20 3a20 4e61 7429 (k m n j : Nat) │ │ │ +0004f630: 20e2 8692 204e 6174 0a6d 6f64 2d68 656c ... Nat.mod-hel │ │ │ +0004f640: 7065 7220 6b20 6d20 207a 6572 6f20 2020 per k m zero │ │ │ +0004f650: 206a 2020 2020 2020 3d20 6b0a 6d6f 642d j = k.mod- │ │ │ +0004f660: 6865 6c70 6572 206b 206d 2028 7375 6320 helper k m (suc │ │ │ +0004f670: 6e29 2020 7a65 726f 2020 203d 206d 6f64 n) zero = mod │ │ │ +0004f680: 2d68 656c 7065 7220 3020 2020 2020 2020 -helper 0 │ │ │ +0004f690: 6d20 6e20 6d0a 6d6f 642d 6865 6c70 6572 m n m.mod-helper │ │ │ +0004f6a0: 206b 206d 2028 7375 6320 6e29 2028 7375 k m (suc n) (su │ │ │ +0004f6b0: 6320 6a29 203d 206d 6f64 2d68 656c 7065 c j) = mod-helpe │ │ │ +0004f6c0: 7220 2873 7563 206b 2920 6d20 6e20 6a0a r (suc k) m n j. │ │ │ +0004f6d0: 0a7b 2d23 2042 5549 4c54 494e 204e 4154 .{-# BUILTIN NAT │ │ │ +0004f6e0: 4d4f 4453 5543 4155 5820 6d6f 642d 6865 MODSUCAUX mod-he │ │ │ +0004f6f0: 6c70 6572 2023 2d7d 0a0a 2d2d 2050 726f lper #-}..-- Pro │ │ │ +0004f700: 6f66 206f 6620 7468 6520 696e 7661 7269 of of the invari │ │ │ +0004f710: 616e 7420 6279 2069 6e64 7563 7469 6f6e ant by induction │ │ │ +0004f720: 206f 6e20 6e2e 0a2d 2d0a 2d2d 2020 2063 on n..--.-- c │ │ │ +0004f730: 6c61 7573 6520 313a 206d 6f64 2d68 656c lause 1: mod-hel │ │ │ +0004f740: 7065 7220 6b20 6d20 3020 6a0a 2d2d 2020 per k m 0 j.-- │ │ │ +0004f750: 2020 2020 2020 2020 203d 206b 2020 2020 = k │ │ │ 0004f760: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -0004f770: 2020 2020 2020 2020 2020 6279 2064 6566 by def │ │ │ -0004f780: 696e 6974 696f 6e0a 2d2d 2020 2020 2020 inition.-- │ │ │ -0004f790: 2020 2020 203d 2028 3020 2b20 6b29 206d = (0 + k) m │ │ │ -0004f7a0: 6f64 2028 3120 2b20 6d29 2020 2020 2020 od (1 + m) │ │ │ -0004f7b0: 2020 2020 2020 2073 696e 6365 206d 203d since m = │ │ │ -0004f7c0: 206b 202b 206a 2c20 7468 7573 206b 203c k + j, thus k < │ │ │ -0004f7d0: 206d 0a2d 2d0a 2d2d 2020 2063 6c61 7573 m.--.-- claus │ │ │ -0004f7e0: 6520 323a 206d 6f64 2d68 656c 7065 7220 e 2: mod-helper │ │ │ -0004f7f0: 6b20 6d20 2831 202b 206e 2920 300a 2d2d k m (1 + n) 0.-- │ │ │ -0004f800: 2020 2020 2020 2020 2020 203d 206d 6f64 = mod │ │ │ -0004f810: 2d68 656c 7065 7220 3020 6d20 6e20 6d20 -helper 0 m n m │ │ │ -0004f820: 2020 2020 2020 2020 2020 2020 2062 7920 by │ │ │ -0004f830: 6465 6669 6e69 7469 6f6e 0a2d 2d20 2020 definition.-- │ │ │ -0004f840: 2020 2020 2020 2020 3d20 286e 202b 2030 = (n + 0 │ │ │ -0004f850: 2920 2020 2020 2020 6d6f 6420 2831 202b ) mod (1 + │ │ │ -0004f860: 206d 2920 2020 2020 2020 6279 2069 6e64 m) by ind │ │ │ -0004f870: 7563 7469 6f6e 2068 7970 6f74 6865 7369 uction hypothesi │ │ │ -0004f880: 730a 2d2d 2020 2020 2020 2020 2020 203d s.-- = │ │ │ -0004f890: 2028 6e20 2b20 2831 202b 206d 2929 206d (n + (1 + m)) m │ │ │ -0004f8a0: 6f64 2028 3120 2b20 6d29 2020 2020 2020 od (1 + m) │ │ │ -0004f8b0: 2062 7920 6578 7061 6e73 696f 6e0a 2d2d by expansion.-- │ │ │ -0004f8c0: 2020 2020 2020 2020 2020 203d 2028 3120 = (1 │ │ │ -0004f8d0: 2b20 6e29 202b 206b 2920 206d 6f64 2028 + n) + k) mod ( │ │ │ -0004f8e0: 3120 2b20 6d29 2020 2020 2020 2073 696e 1 + m) sin │ │ │ -0004f8f0: 6365 206b 203d 206d 2028 6173 206c 203d ce k = m (as l = │ │ │ -0004f900: 2030 290a 2d2d 0a2d 2d20 2020 636c 6175 0).--.-- clau │ │ │ -0004f910: 7365 2033 3a20 6d6f 642d 6865 6c70 6572 se 3: mod-helper │ │ │ -0004f920: 206b 206d 2028 3120 2b20 6e29 2028 3120 k m (1 + n) (1 │ │ │ -0004f930: 2b20 6a29 0a2d 2d20 2020 2020 2020 2020 + j).-- │ │ │ -0004f940: 2020 3d20 6d6f 642d 6865 6c70 6572 2028 = mod-helper ( │ │ │ -0004f950: 3120 2b20 6b29 206d 206e 206a 2020 2020 1 + k) m n j │ │ │ -0004f960: 2020 2020 6279 2064 6566 696e 6974 696f by definitio │ │ │ -0004f970: 6e0a 2d2d 2020 2020 2020 2020 2020 203d n.-- = │ │ │ -0004f980: 2028 6e20 2b20 2831 202b 206b 2929 206d (n + (1 + k)) m │ │ │ -0004f990: 6f64 2028 3120 2b20 6d29 2020 2020 2020 od (1 + m) │ │ │ -0004f9a0: 2062 7920 696e 6475 6374 696f 6e20 6879 by induction hy │ │ │ -0004f9b0: 706f 7468 6573 6973 0a2d 2d20 2020 2020 pothesis.-- │ │ │ -0004f9c0: 2020 2020 2020 3d20 2828 3120 2b20 6e29 = ((1 + n) │ │ │ -0004f9d0: 202b 206b 2920 6d6f 6420 2831 202b 206d + k) mod (1 + m │ │ │ -0004f9e0: 2920 2020 2020 2020 6279 2063 6f6d 6d75 ) by commu │ │ │ -0004f9f0: 7461 7469 7669 7479 0a2d 2d0a 2d2d 2051 tativity.--.-- Q │ │ │ -0004fa00: 2e65 2e64 2e0a e0cf e8a4 b7f0 e59a 8a01 .e.d............ │ │ │ -0004fa10: b19b f88d a5dc e2c2 7b00 d501 0004 fa43 ........{......C │ │ │ -0004fa20: 0520 0000 0100 0404 0803 0702 5e02 0000 . ..........^... │ │ │ -0004fa30: 030f 0005 0505 0b5f 0b8d 020b 6109 0601 ......._....a... │ │ │ -0004fa40: 00f2 01cc abcb deee c7a7 cbfe 01fd 98d2 ................ │ │ │ -0004fa50: a3af bf9c d78f 0100 8d02 0004 fb68 0582 .............h.. │ │ │ -0004fa60: 8080 e608 0000 0100 0304 0704 0200 0003 ................ │ │ │ -0004fa70: 0f00 0901 f201 7b2d 2320 4f50 5449 4f4e ......{-# OPTION │ │ │ -0004fa80: 5320 2d2d 6375 6269 6361 6c2d 636f 6d70 S --cubical-comp │ │ │ -0004fa90: 6174 6962 6c65 202d 2d73 6166 6520 2d2d atible --safe -- │ │ │ -0004faa0: 6e6f 2d73 697a 6564 2d74 7970 6573 202d no-sized-types - │ │ │ -0004fab0: 2d6e 6f2d 6775 6172 6465 646e 6573 7320 -no-guardedness │ │ │ -0004fac0: 2d2d 6c65 7665 6c2d 756e 6976 6572 7365 --level-universe │ │ │ -0004fad0: 2023 2d7d 0a0a 6d6f 6475 6c65 2041 6764 #-}..module Agd │ │ │ -0004fae0: 612e 4275 696c 7469 6e2e 4d61 7962 6520 a.Builtin.Maybe │ │ │ -0004faf0: 7768 6572 650a 0a64 6174 6120 4d61 7962 where..data Mayb │ │ │ -0004fb00: 6520 7b61 7d20 2841 203a 2053 6574 2061 e {a} (A : Set a │ │ │ -0004fb10: 2920 3a20 5365 7420 6120 7768 6572 650a ) : Set a where. │ │ │ -0004fb20: 2020 6a75 7374 203a 2041 20e2 8692 204d just : A ... M │ │ │ -0004fb30: 6179 6265 2041 0a20 206e 6f74 6869 6e67 aybe A. nothing │ │ │ -0004fb40: 203a 204d 6179 6265 2041 0a0a 7b2d 2320 : Maybe A..{-# │ │ │ -0004fb50: 4255 494c 5449 4e20 4d41 5942 4520 4d61 BUILTIN MAYBE Ma │ │ │ -0004fb60: 7962 6520 232d 7d0a e4c0 98b2 a0b1 93c8 ybe #-}......... │ │ │ -0004fb70: 52f4 9ce1 c8f8 a6c9 96f2 0100 d201 0004 R............... │ │ │ -0004fb80: fba5 0520 0000 0100 0404 0803 0702 5e02 ... ..........^. │ │ │ -0004fb90: 0000 030f 0005 0505 0b5f 0b8e 020b 6109 ........._....a. │ │ │ -0004fba0: 0601 0091 04cf d8b6 be9e c5a0 f355 80a6 .............U.. │ │ │ -0004fbb0: d3df e5dc 8e8e 6100 8e02 0004 fde7 0582 ......a......... │ │ │ -0004fbc0: 8080 e608 0000 0100 0304 0704 0200 0003 ................ │ │ │ -0004fbd0: 0f00 0901 9104 7b2d 2320 4f50 5449 4f4e ......{-# OPTION │ │ │ -0004fbe0: 5320 2d2d 6375 6269 6361 6c2d 636f 6d70 S --cubical-comp │ │ │ -0004fbf0: 6174 6962 6c65 202d 2d73 6166 6520 2d2d atible --safe -- │ │ │ -0004fc00: 6e6f 2d73 697a 6564 2d74 7970 6573 202d no-sized-types - │ │ │ -0004fc10: 2d6e 6f2d 6775 6172 6465 646e 6573 7320 -no-guardedness │ │ │ -0004fc20: 2d2d 6c65 7665 6c2d 756e 6976 6572 7365 --level-universe │ │ │ -0004fc30: 2023 2d7d 0a0a 6d6f 6475 6c65 2041 6764 #-}..module Agd │ │ │ -0004fc40: 612e 4275 696c 7469 6e2e 4c69 7374 2077 a.Builtin.List w │ │ │ -0004fc50: 6865 7265 0a0a 696e 6669 7872 2035 205f here..infixr 5 _ │ │ │ -0004fc60: e288 b75f 0a64 6174 6120 4c69 7374 207b ..._.data List { │ │ │ -0004fc70: 617d 2028 4120 3a20 5365 7420 6129 203a a} (A : Set a) : │ │ │ -0004fc80: 2053 6574 2061 2077 6865 7265 0a20 205b Set a where. [ │ │ │ -0004fc90: 5d20 203a 204c 6973 7420 410a 2020 5fe2 ] : List A. _. │ │ │ -0004fca0: 88b7 5f20 3a20 2878 203a 2041 2920 2878 .._ : (x : A) (x │ │ │ -0004fcb0: 7320 3a20 4c69 7374 2041 2920 e286 9220 s : List A) ... │ │ │ -0004fcc0: 4c69 7374 2041 0a0a 7b2d 2320 4255 494c List A..{-# BUIL │ │ │ -0004fcd0: 5449 4e20 4c49 5354 204c 6973 7420 232d TIN LIST List #- │ │ │ -0004fce0: 7d0a 0a7b 2d23 2043 4f4d 5049 4c45 204a }..{-# COMPILE J │ │ │ -0004fcf0: 5320 204c 6973 7420 3d20 6675 6e63 7469 S List = functi │ │ │ -0004fd00: 6f6e 2878 2c76 2920 7b0a 2020 6966 2028 on(x,v) {. if ( │ │ │ -0004fd10: 782e 6c65 6e67 7468 203c 2031 2920 7b20 x.length < 1) { │ │ │ -0004fd20: 7265 7475 726e 2076 5b22 5b5d 225d 2829 return v["[]"]() │ │ │ -0004fd30: 3b20 7d20 656c 7365 207b 2072 6574 7572 ; } else { retur │ │ │ -0004fd40: 6e20 765b 225f e288 b75f 225d 2878 5b30 n v["_..._"](x[0 │ │ │ -0004fd50: 5d2c 2078 2e73 6c69 6365 2831 2929 3b20 ], x.slice(1)); │ │ │ -0004fd60: 7d0a 7d20 232d 7d0a 7b2d 2320 434f 4d50 }.} #-}.{-# COMP │ │ │ -0004fd70: 494c 4520 4a53 205b 5d20 3d20 4172 7261 ILE JS [] = Arra │ │ │ -0004fd80: 7928 2920 232d 7d0a 7b2d 2320 434f 4d50 y() #-}.{-# COMP │ │ │ -0004fd90: 494c 4520 4a53 205f e288 b75f 203d 2066 ILE JS _..._ = f │ │ │ -0004fda0: 756e 6374 696f 6e20 2878 2920 7b20 7265 unction (x) { re │ │ │ -0004fdb0: 7475 726e 2066 756e 6374 696f 6e28 7929 turn function(y) │ │ │ -0004fdc0: 207b 2072 6574 7572 6e20 4172 7261 7928 { return Array( │ │ │ -0004fdd0: 7829 2e63 6f6e 6361 7428 7929 3b20 7d3b x).concat(y); }; │ │ │ -0004fde0: 207d 2023 2d7d 0a93 f5a0 99aa c9ae b93d } #-}.........= │ │ │ -0004fdf0: 82b6 a6f9 c799 e7e2 4d00 d001 0004 fe23 ........M......# │ │ │ -0004fe00: 0520 0000 0100 0404 0803 0702 5e02 0000 . ..........^... │ │ │ -0004fe10: 030f 0005 0505 0b5f 0b8f 020b 6109 0601 ......._....a... │ │ │ -0004fe20: 00da 03bd dcee cbc6 aab7 d2d5 0188 a5e6 ................ │ │ │ -0004fe30: c19c dd8e a4e4 0100 8f02 0005 0030 0582 .............0.. │ │ │ -0004fe40: 8080 e608 0000 0100 0304 0704 0200 0003 ................ │ │ │ -0004fe50: 0f00 0901 da03 7b2d 2320 4f50 5449 4f4e ......{-# OPTION │ │ │ -0004fe60: 5320 2d2d 6375 6269 6361 6c2d 636f 6d70 S --cubical-comp │ │ │ -0004fe70: 6174 6962 6c65 202d 2d73 6166 6520 2d2d atible --safe -- │ │ │ -0004fe80: 6e6f 2d73 697a 6564 2d74 7970 6573 202d no-sized-types - │ │ │ -0004fe90: 2d6e 6f2d 6775 6172 6465 646e 6573 7320 -no-guardedness │ │ │ -0004fea0: 2d2d 6c65 7665 6c2d 756e 6976 6572 7365 --level-universe │ │ │ -0004feb0: 2023 2d7d 0a0a 6d6f 6475 6c65 2041 6764 #-}..module Agd │ │ │ -0004fec0: 612e 4275 696c 7469 6e2e 496e 7420 7768 a.Builtin.Int wh │ │ │ -0004fed0: 6572 650a 0a6f 7065 6e20 696d 706f 7274 ere..open import │ │ │ -0004fee0: 2041 6764 612e 4275 696c 7469 6e2e 4e61 Agda.Builtin.Na │ │ │ -0004fef0: 740a 6f70 656e 2069 6d70 6f72 7420 4167 t.open import Ag │ │ │ -0004ff00: 6461 2e42 7569 6c74 696e 2e53 7472 696e da.Builtin.Strin │ │ │ -0004ff10: 670a 0a69 6e66 6978 2038 2070 6f73 2020 g..infix 8 pos │ │ │ -0004ff20: 2d2d 2053 7461 6e64 6172 6420 6c69 6272 -- Standard libr │ │ │ -0004ff30: 6172 7920 7573 6573 2074 6869 7320 6173 ary uses this as │ │ │ -0004ff40: 202b 5f0a 0a64 6174 6120 496e 7420 3a20 +_..data Int : │ │ │ -0004ff50: 5365 7420 7768 6572 650a 2020 706f 7320 Set where. pos │ │ │ -0004ff60: 2020 203a 2028 6e20 3a20 4e61 7429 20e2 : (n : Nat) . │ │ │ -0004ff70: 8692 2049 6e74 0a20 206e 6567 7375 6320 .. Int. negsuc │ │ │ -0004ff80: 3a20 286e 203a 204e 6174 2920 e286 9220 : (n : Nat) ... │ │ │ -0004ff90: 496e 740a 0a7b 2d23 2042 5549 4c54 494e Int..{-# BUILTIN │ │ │ -0004ffa0: 2049 4e54 4547 4552 2020 2020 2020 2049 INTEGER I │ │ │ -0004ffb0: 6e74 2020 2020 232d 7d0a 7b2d 2320 4255 nt #-}.{-# BU │ │ │ -0004ffc0: 494c 5449 4e20 494e 5445 4745 5250 4f53 ILTIN INTEGERPOS │ │ │ -0004ffd0: 2020 2020 706f 7320 2020 2023 2d7d 0a7b pos #-}.{ │ │ │ -0004ffe0: 2d23 2042 5549 4c54 494e 2049 4e54 4547 -# BUILTIN INTEG │ │ │ -0004fff0: 4552 4e45 4753 5543 206e 6567 7375 6320 ERNEGSUC negsuc │ │ │ -00050000: 232d 7d0a 0a70 7269 6d69 7469 7665 2070 #-}..primitive p │ │ │ -00050010: 7269 6d53 686f 7749 6e74 6567 6572 203a rimShowInteger : │ │ │ -00050020: 2049 6e74 20e2 8692 2053 7472 696e 670a Int ... String. │ │ │ -00050030: d9bd b996 a1dc a98b 4ea6 97c8 b1a0 ebad ........N....... │ │ │ -00050040: c875 00ce 0100 0500 6c05 2000 0001 0004 .u......l. ..... │ │ │ -00050050: 0408 0307 025e 0200 0003 0f00 0505 050b .....^.......... │ │ │ -00050060: 5f0b 9002 0b61 0906 0100 aa02 aead bda6 _....a.......... │ │ │ -00050070: ccc6 e789 27bb f583 dfa9 99ad 82e3 0100 ....'........... │ │ │ -00050080: 9002 0005 01c8 0582 8080 e608 0000 0100 ................ │ │ │ -00050090: 0304 0704 0200 0003 0f00 0901 aa02 7b2d ..............{- │ │ │ -000500a0: 2320 4f50 5449 4f4e 5320 2d2d 6375 6269 # OPTIONS --cubi │ │ │ -000500b0: 6361 6c2d 636f 6d70 6174 6962 6c65 202d cal-compatible - │ │ │ -000500c0: 2d73 6166 6520 2d2d 6e6f 2d73 697a 6564 -safe --no-sized │ │ │ -000500d0: 2d74 7970 6573 202d 2d6e 6f2d 6775 6172 -types --no-guar │ │ │ -000500e0: 6465 646e 6573 7320 2d2d 6c65 7665 6c2d dedness --level- │ │ │ -000500f0: 756e 6976 6572 7365 2023 2d7d 0a0a 6d6f universe #-}..mo │ │ │ -00050100: 6475 6c65 2041 6764 612e 4275 696c 7469 dule Agda.Builti │ │ │ -00050110: 6e2e 494f 2077 6865 7265 0a0a 706f 7374 n.IO where..post │ │ │ -00050120: 756c 6174 6520 494f 203a 20e2 8880 207b ulate IO : ... { │ │ │ -00050130: 617d 20e2 8692 2053 6574 2061 20e2 8692 a} ... Set a ... │ │ │ -00050140: 2053 6574 2061 0a7b 2d23 2050 4f4c 4152 Set a.{-# POLAR │ │ │ -00050150: 4954 5920 494f 202b 2b20 2b2b 2023 2d7d ITY IO ++ ++ #-} │ │ │ -00050160: 0a7b 2d23 2042 5549 4c54 494e 2049 4f20 .{-# BUILTIN IO │ │ │ -00050170: 494f 2023 2d7d 0a0a 7b2d 2320 464f 5245 IO #-}..{-# FORE │ │ │ -00050180: 4947 4e20 4748 4320 7479 7065 2041 6764 IGN GHC type Agd │ │ │ -00050190: 6149 4f20 6120 6220 3d20 494f 2062 2023 aIO a b = IO b # │ │ │ -000501a0: 2d7d 0a7b 2d23 2043 4f4d 5049 4c45 2047 -}.{-# COMPILE G │ │ │ -000501b0: 4843 2049 4f20 3d20 7479 7065 2041 6764 HC IO = type Agd │ │ │ -000501c0: 6149 4f20 232d 7d0a 0000 0000 0501 d000 aIO #-}......... │ │ │ -000501d0: c7f9 f7e9 84df a69f 69ae bcf1 de85 c083 ........i....... │ │ │ -000501e0: b21e 0000 0000 0091 0200 0001 00f0 0100 ................ │ │ │ -000501f0: 0001 004a 0000 0100 f101 0000 0100 f201 ...J............ │ │ │ -00050200: 0000 0100 f301 000e 6400 f401 0000 0100 ........d....... │ │ │ -00050210: f501 0000 0100 f601 000e 6400 f701 0000 ..........d..... │ │ │ -00050220: 0100 f801 0000 0100 f901 0000 0100 fa01 ................ │ │ │ -00050230: 0000 0100 fb01 0035 fc01 00fd 0100 0623 .......5.......# │ │ │ -00050240: 03fe 0100 0623 00ff 0100 0b80 0203 8102 .....#.......... │ │ │ -00050250: 000e 6403 8202 0006 2303 8302 0005 1b01 ..d.....#....... │ │ │ -00050260: 8402 0007 8502 0086 0200 0b5e 0387 0200 ...........^.... │ │ │ -00050270: 0957 0088 0200 0001 0089 0200 0b58 008a .W...........X.. │ │ │ -00050280: 0200 0855 038b 0200 088c 0200 8d02 000b ...U............ │ │ │ -00050290: 8e02 038f 0200 0b80 0203 9002 000b 9102 ................ │ │ │ -000502a0: 0192 0200 0855 0093 0200 0855 0094 0200 .....U.....U.... │ │ │ -000502b0: 0621 0395 0200 0957 0096 0200 0957 0097 .!.....W.....W.. │ │ │ -000502c0: 0200 0b98 0200 9902 000b 9a02 009b 0200 ................ │ │ │ -000502d0: 0b9c 0203 9d02 0006 5200 9e02 000b 5f00 ........R....._. │ │ │ -000502e0: 9f02 000b 9802 00a0 0200 0001 00a1 0200 ................ │ │ │ -000502f0: 0001 00a2 0200 0b32 03a3 0200 0ba4 0203 .......2........ │ │ │ -00050300: a502 00a6 02a7 0200 a802 0035 3603 a902 ...........56... │ │ │ -00050310: 000b aa02 00ab 0200 0001 00ac 0200 0785 ................ │ │ │ -00050320: 0200 ad02 0035 3603 ae02 0007 8502 00af .....56......... │ │ │ -00050330: 0200 0002 0047 0000 0100 b002 0000 0100 .....G.......... │ │ │ -00050340: b102 000b b202 03b3 0200 0bb4 0200 b502 ................ │ │ │ -00050350: 000b b202 01b3 0200 0bb6 0200 b702 0000 ................ │ │ │ -00050360: 0100 b802 000b 6300 b902 000b b602 03ba ......c......... │ │ │ -00050370: 0200 0001 00bb 0200 0001 00bc 0200 0b0c ................ │ │ │ -00050380: 00bd 0200 0b62 00be 0200 0b62 00bf 0200 .....b.....b.... │ │ │ -00050390: 0b62 00c0 0200 0001 00c1 0200 0001 00c2 .b.............. │ │ │ -000503a0: 0200 0753 00c3 0200 0001 00c4 0200 0001 ...S............ │ │ │ -000503b0: 00c5 0200 0001 00c6 0200 09c7 0203 c802 ................ │ │ │ -000503c0: 0007 c902 00ca 0200 0785 0200 cb02 0035 ...............5 │ │ │ -000503d0: fc01 00cc 0200 0bcd 0200 ce02 0007 8502 ................ │ │ │ -000503e0: 00cf 0200 0754 00d0 0200 35fc 0100 d102 .....T....5..... │ │ │ -000503f0: 0000 0100 d202 0000 0100 d302 0000 0400 ................ │ │ │ -00050400: d402 0000 0400 d502 0000 0100 d502 0000 ................ │ │ │ -00050410: 0100 d602 0000 0100 d702 0000 0100 d802 ................ │ │ │ -00050420: 0000 0100 d902 0000 0100 da02 0000 0100 ................ │ │ │ -00050430: db02 0000 0100 dc02 0006 2101 dd02 0006 ..........!..... │ │ │ -00050440: 2100 dd02 0000 0100 de02 000b df02 00e0 !............... │ │ │ -00050450: 0200 0001 00e1 0200 0001 00e2 0200 0001 ................ │ │ │ -00050460: 00e3 0200 0001 00e4 0200 0001 00e5 0200 ................ │ │ │ -00050470: 0001 00e6 0200 0001 00e7 0200 0001 00e8 ................ │ │ │ -00050480: 0200 0001 00e9 0200 0001 00ea 0200 0001 ................ │ │ │ -00050490: 00eb 0200 0001 00ec 0200 0001 00ed 0200 ................ │ │ │ -000504a0: 0001 00ee 0200 0001 00ef 0200 0001 00f0 ................ │ │ │ -000504b0: 0200 0001 00f1 0200 0001 00f2 0200 0001 ................ │ │ │ -000504c0: 00f3 0200 0001 00f4 0200 0001 00f5 0200 ................ │ │ │ -000504d0: 0001 00f6 0200 0001 00f7 0200 0001 00f8 ................ │ │ │ -000504e0: 0200 0001 00f9 0200 0001 00fa 0200 0001 ................ │ │ │ -000504f0: 00fb 0200 0001 00fc 0200 0001 00fd 0200 ................ │ │ │ -00050500: 0001 00fe 0200 0001 00ff 0200 0001 0080 ................ │ │ │ -00050510: 0300 0001 0081 0300 0001 0082 0300 0001 ................ │ │ │ -00050520: 0083 0300 0001 0084 0300 0001 0085 0300 ................ │ │ │ -00050530: 0001 0086 0300 0001 0087 0300 0001 0088 ................ │ │ │ -00050540: 0300 0001 0089 0300 0001 008a 0300 0001 ................ │ │ │ -00050550: 008b 0300 0001 008c 0300 0001 008d 0300 ................ │ │ │ -00050560: 0001 008e 0300 0001 008f 0300 0001 0090 ................ │ │ │ -00050570: 0300 0001 0091 0300 0001 0092 0300 0001 ................ │ │ │ -00050580: 0093 0300 0001 0094 0300 0001 0095 0300 ................ │ │ │ -00050590: 0001 0096 0300 0001 0097 0300 0001 0098 ................ │ │ │ -000505a0: 0300 0001 0099 0300 0001 009a 0300 0001 ................ │ │ │ -000505b0: 009b 0300 0001 009c 0300 0001 009d 0300 ................ │ │ │ -000505c0: 0001 009e 0300 0001 009f 0300 0001 00a0 ................ │ │ │ -000505d0: 0300 0001 00a1 0300 0001 00a2 0300 0001 ................ │ │ │ -000505e0: 00a3 0300 0001 00a4 0300 0001 00a5 0300 ................ │ │ │ -000505f0: 0001 00a6 0300 0001 00a7 0300 0b5c 00a8 .............\.. │ │ │ -00050600: 0300 0001 00a9 0300 0001 00aa 0300 0001 ................ │ │ │ -00050610: 00ab 0300 0b5c 00ac 0300 0001 00ad 0300 .....\.......... │ │ │ -00050620: 0001 00ae 0300 0019 00af 0300 0001 00b0 ................ │ │ │ -00050630: 0300 0001 00b1 0300 0001 00b2 0300 0001 ................ │ │ │ -00050640: 00b3 0300 0ba4 0201 a502 000b b403 00b5 ................ │ │ │ -00050650: 0300 0ba4 0200 b603 000b b403 03b7 0300 ................ │ │ │ -00050660: 0b32 00b8 0300 0bb9 0303 ba03 000b aa02 .2.............. │ │ │ -00050670: 00bb 0300 0001 00bc 0300 0001 00bd 0300 ................ │ │ │ -00050680: 0001 00be 0300 0001 00bf 0300 0001 00c0 ................ │ │ │ -00050690: 0300 0001 00c1 0300 0001 00c2 0300 0001 ................ │ │ │ -000506a0: 00c3 0300 0001 00c4 0300 0001 00c5 0300 ................ │ │ │ -000506b0: 0001 00c6 0300 0001 00c7 0300 0001 00c8 ................ │ │ │ -000506c0: 0300 0001 00c9 0300 0001 00ca 0300 0001 ................ │ │ │ -000506d0: 00cb 0300 0001 00cc 0300 0001 00cd 0300 ................ │ │ │ -000506e0: 0001 00ce 0300 0001 00cf 0300 0001 00d0 ................ │ │ │ -000506f0: 0300 0001 00d1 0300 0001 00d2 0300 0001 ................ │ │ │ -00050700: 00d3 0300 0001 00d4 0300 0001 00d5 0300 ................ │ │ │ -00050710: 0001 00d6 0300 0001 00d7 0300 0001 00d8 ................ │ │ │ -00050720: 0300 0001 00d9 0300 0001 00da 0300 0001 ................ │ │ │ -00050730: 00db 0300 0001 00dc 0300 0001 00dd 0300 ................ │ │ │ -00050740: 0001 00de 0300 0001 00df 0300 0001 00e0 ................ │ │ │ -00050750: 0300 0001 00e1 0300 0001 00e2 0300 0001 ................ │ │ │ -00050760: 00e3 0300 0001 00e4 0300 0001 00e5 0300 ................ │ │ │ -00050770: 0001 00e6 0300 0001 00e7 0300 0001 00e8 ................ │ │ │ -00050780: 0300 0001 00e9 0300 0001 00ea 0300 0001 ................ │ │ │ -00050790: 00eb 0300 0001 00ec 0300 0001 00ed 0300 ................ │ │ │ -000507a0: 0001 00ee 0300 0001 00ef 0300 0001 00f0 ................ │ │ │ -000507b0: 0300 0001 00f1 0300 0001 00f2 0300 0001 ................ │ │ │ -000507c0: 00f3 0300 0001 00f4 0300 0001 00f5 0300 ................ │ │ │ -000507d0: 0001 00f6 0300 0001 00f7 0300 0001 00f8 ................ │ │ │ -000507e0: 0300 0001 00f9 0300 0001 00fa 0300 0001 ................ │ │ │ -000507f0: 00fb 0300 0001 00fc 0300 0001 00fd 0300 ................ │ │ │ -00050800: 0001 00fe 0300 0001 00ff 0300 0001 0080 ................ │ │ │ -00050810: 0400 0001 0081 0400 0001 0082 0400 0001 ................ │ │ │ -00050820: 0083 0400 0001 0084 0400 0001 0085 0400 ................ │ │ │ -00050830: 0001 0086 0400 0001 0087 0400 0001 0088 ................ │ │ │ -00050840: 0400 0001 0089 0400 0001 008a 0400 0001 ................ │ │ │ -00050850: 008b 0400 0001 008c 0400 0001 008d 0400 ................ │ │ │ -00050860: 0001 008e 0400 0001 008f 0400 0001 0090 ................ │ │ │ -00050870: 0491 0421 4167 6461 2d32 2e38 2e30 2d4b ...!Agda-2.8.0-K │ │ │ -00050880: 7541 454b 4452 4735 7773 4652 6441 3577 uAEKDRG5wsFRdA5w │ │ │ -00050890: 3873 474c 430a 4167 6461 2e53 6574 7570 8sGLC.Agda.Setup │ │ │ -000508a0: 1441 6764 612e 5365 7475 702e 4461 7461 .Agda.Setup.Data │ │ │ -000508b0: 4669 6c65 7312 4167 6461 2e56 6572 7369 Files.Agda.Versi │ │ │ -000508c0: 6f6e 436f 6d6d 6974 0a50 6174 6873 5f41 onCommit.Paths_A │ │ │ -000508d0: 6764 6104 6261 7365 1b62 7974 6573 7472 gda.base.bytestr │ │ │ -000508e0: 696e 672d 302e 3132 2e32 2e30 2d69 6e70 ing-0.12.2.0-inp │ │ │ -000508f0: 6c61 6365 1964 6972 6563 746f 7279 2d31 lace.directory-1 │ │ │ -00050900: 2e33 2e38 2e35 2d69 6e70 6c61 6365 2766 .3.8.5-inplace'f │ │ │ -00050910: 696c 656c 6f63 6b2d 302e 312e 312e 382d ilelock-0.1.1.8- │ │ │ -00050920: 3357 5032 7067 4a7a 3761 6537 6149 4f38 3WP2pgJz7ae7aIO8 │ │ │ -00050930: 624b 436a 5768 1866 696c 6570 6174 682d bKCjWh.filepath- │ │ │ -00050940: 312e 352e 342e 302d 696e 706c 6163 6510 1.5.4.0-inplace. │ │ │ -00050950: 7465 6d70 6c61 7465 2d68 6173 6b65 6c6c template-haskell │ │ │ -00050960: 0c67 6863 2d69 6e74 6572 6e61 6c11 4748 .ghc-internal.GH │ │ │ -00050970: 432e 496e 7465 726e 616c 2e42 6173 6512 C.Internal.Base. │ │ │ -00050980: 4748 432e 496e 7465 726e 616c 2e46 6c6f GHC.Internal.Flo │ │ │ -00050990: 6174 0867 6863 2d70 7269 6d0c 4748 432e at.ghc-prim.GHC. │ │ │ -000509a0: 5072 696d 2e45 7874 1373 746d 2d32 2e35 Prim.Ext.stm-2.5 │ │ │ -000509b0: 2e33 2e31 2d69 6e70 6c61 6365 1143 6f6e .3.1-inplace.Con │ │ │ -000509c0: 7472 6f6c 2e4d 6f6e 6164 2e53 544d 1374 trol.Monad.STM.t │ │ │ -000509d0: 696d 652d 312e 3132 2e32 2d69 6e70 6c61 ime-1.12.2-inpla │ │ │ -000509e0: 6365 1c44 6174 612e 5469 6d65 2e43 616c ce.Data.Time.Cal │ │ │ -000509f0: 656e 6461 722e 4772 6567 6f72 6961 6e21 endar.Gregorian! │ │ │ -00050a00: 4461 7461 2e54 696d 652e 466f 726d 6174 Data.Time.Format │ │ │ -00050a10: 2e46 6f72 6d61 742e 496e 7374 616e 6365 .Format.Instance │ │ │ -00050a20: 7316 4461 7461 2e54 696d 652e 466f 726d s.Data.Time.Form │ │ │ -00050a30: 6174 2e50 6172 7365 2044 6174 612e 5469 at.Parse Data.Ti │ │ │ -00050a40: 6d65 2e46 6f72 6d61 742e 5061 7273 652e me.Format.Parse. │ │ │ -00050a50: 496e 7374 616e 6365 7326 4461 7461 2e54 Instances&Data.T │ │ │ -00050a60: 696d 652e 4c6f 6361 6c54 696d 652e 496e ime.LocalTime.In │ │ │ -00050a70: 7465 726e 616c 2e4c 6f63 616c 5469 6d65 ternal.LocalTime │ │ │ -00050a80: 2644 6174 612e 5469 6d65 2e4c 6f63 616c &Data.Time.Local │ │ │ -00050a90: 5469 6d65 2e49 6e74 6572 6e61 6c2e 5a6f Time.Internal.Zo │ │ │ -00050aa0: 6e65 6454 696d 650c 4167 6461 2e56 6572 nedTime.Agda.Ver │ │ │ -00050ab0: 7369 6f6e 1343 6f6e 7472 6f6c 2e41 7070 sion.Control.App │ │ │ -00050ac0: 6c69 6361 7469 7665 0f44 6174 612e 4172 licative.Data.Ar │ │ │ -00050ad0: 7261 792e 4279 7465 0c44 6174 612e 436f ray.Byte.Data.Co │ │ │ -00050ae0: 6d70 6c65 7814 4461 7461 2e46 756e 6374 mplex.Data.Funct │ │ │ -00050af0: 6f72 2e43 6f6d 706f 7365 1444 6174 612e or.Compose.Data. │ │ │ -00050b00: 4675 6e63 746f 722e 5072 6f64 7563 7410 Functor.Product. │ │ │ -00050b10: 4461 7461 2e46 756e 6374 6f72 2e53 756d Data.Functor.Sum │ │ │ -00050b20: 0e44 6174 612e 5365 6d69 6772 6f75 701d .Data.Semigroup. │ │ │ -00050b30: 4461 7461 2e42 7974 6553 7472 696e 672e Data.ByteString. │ │ │ -00050b40: 496e 7465 726e 616c 2e54 7970 651d 4461 Internal.Type.Da │ │ │ -00050b50: 7461 2e42 7974 6553 7472 696e 672e 4c61 ta.ByteString.La │ │ │ -00050b60: 7a79 2e49 6e74 6572 6e61 6c1e 4461 7461 zy.Internal.Data │ │ │ -00050b70: 2e42 7974 6553 7472 696e 672e 5368 6f72 .ByteString.Shor │ │ │ -00050b80: 742e 496e 7465 726e 616c 1764 6565 7073 t.Internal.deeps │ │ │ -00050b90: 6571 2d31 2e35 2e30 2e30 2d69 6e70 6c61 eq-1.5.0.0-inpla │ │ │ -00050ba0: 6365 0f43 6f6e 7472 6f6c 2e44 6565 7053 ce.Control.DeepS │ │ │ -00050bb0: 6571 1a67 6863 2d62 6f6f 742d 7468 2d39 eq.ghc-boot-th-9 │ │ │ -00050bc0: 2e31 302e 332d 696e 706c 6163 6517 4748 .10.3-inplace.GH │ │ │ -00050bd0: 432e 466f 7265 6967 6e53 7263 4c61 6e67 C.ForeignSrcLang │ │ │ -00050be0: 2e54 7970 651b 4748 432e 4c61 6e67 7561 .Type.GHC.Langua │ │ │ -00050bf0: 6765 4578 7465 6e73 696f 6e73 2e54 7970 geExtensions.Typ │ │ │ -00050c00: 651a 4748 432e 496e 7465 726e 616c 2e43 e.GHC.Internal.C │ │ │ -00050c10: 6f6e 7472 6f6c 2e41 7272 6f77 1f47 4843 ontrol.Arrow.GHC │ │ │ -00050c20: 2e49 6e74 6572 6e61 6c2e 4461 7461 2e46 .Internal.Data.F │ │ │ -00050c30: 756e 6374 6f72 2e43 6f6e 7374 2247 4843 unctor.Const"GHC │ │ │ -00050c40: 2e49 6e74 6572 6e61 6c2e 4461 7461 2e46 .Internal.Data.F │ │ │ -00050c50: 756e 6374 6f72 2e49 6465 6e74 6974 7918 unctor.Identity. │ │ │ -00050c60: 4748 432e 496e 7465 726e 616c 2e44 6174 GHC.Internal.Dat │ │ │ -00050c70: 612e 4d6f 6e6f 6964 2447 4843 2e49 6e74 a.Monoid$GHC.Int │ │ │ -00050c80: 6572 6e61 6c2e 4461 7461 2e53 656d 6967 ernal.Data.Semig │ │ │ -00050c90: 726f 7570 2e49 6e74 6572 6e61 6c1a 4748 roup.Internal.GH │ │ │ -00050ca0: 432e 496e 7465 726e 616c 2e44 6174 612e C.Internal.Data. │ │ │ -00050cb0: 5479 7065 2e4f 7264 1947 4843 2e49 6e74 Type.Ord.GHC.Int │ │ │ -00050cc0: 6572 6e61 6c2e 4461 7461 2e56 6572 7369 ernal.Data.Versi │ │ │ -00050cd0: 6f6e 1c47 4843 2e49 6e74 6572 6e61 6c2e on.GHC.Internal. │ │ │ -00050ce0: 4675 6e63 746f 722e 5a69 704c 6973 7415 Functor.ZipList. │ │ │ -00050cf0: 4748 432e 496e 7465 726e 616c 2e47 656e GHC.Internal.Gen │ │ │ -00050d00: 6572 6963 7319 4748 432e 496e 7465 726e erics.GHC.Intern │ │ │ -00050d10: 616c 2e49 4f2e 4578 6365 7074 696f 6e13 al.IO.Exception. │ │ │ -00050d20: 4748 432e 496e 7465 726e 616c 2e49 734c GHC.Internal.IsL │ │ │ -00050d30: 6973 7416 4748 432e 496e 7465 726e 616c ist.GHC.Internal │ │ │ -00050d40: 2e52 5453 2e46 6c61 6773 176f 732d 7374 .RTS.Flags.os-st │ │ │ -00050d50: 7269 6e67 2d32 2e30 2e37 2d69 6e70 6c61 ring-2.0.7-inpla │ │ │ -00050d60: 6365 1e53 7973 7465 6d2e 4f73 5374 7269 ce.System.OsStri │ │ │ -00050d70: 6e67 2e49 6e74 6572 6e61 6c2e 5479 7065 ng.Internal.Type │ │ │ -00050d80: 7316 7072 6574 7479 2d31 2e31 2e33 2e36 s.pretty-1.1.3.6 │ │ │ -00050d90: 2d69 6e70 6c61 6365 2354 6578 742e 5072 -inplace#Text.Pr │ │ │ -00050da0: 6574 7479 5072 696e 742e 416e 6e6f 7461 ettyPrint.Annota │ │ │ -00050db0: 7465 642e 4875 6768 6573 504a 1954 6578 ted.HughesPJ.Tex │ │ │ -00050dc0: 742e 5072 6574 7479 5072 696e 742e 4875 t.PrettyPrint.Hu │ │ │ -00050dd0: 6768 6573 504a 1a4c 616e 6775 6167 652e ghesPJ.Language. │ │ │ -00050de0: 4861 736b 656c 6c2e 5448 2e53 796e 7461 Haskell.TH.Synta │ │ │ -00050df0: 781c 7472 616e 7366 6f72 6d65 7273 2d30 x.transformers-0 │ │ │ -00050e00: 2e36 2e31 2e31 2d69 6e70 6c61 6365 1843 .6.1.1-inplace.C │ │ │ -00050e10: 6f6e 7472 6f6c 2e4d 6f6e 6164 2e54 7261 ontrol.Monad.Tra │ │ │ -00050e20: 6e73 2e43 6f6e 741a 436f 6e74 726f 6c2e ns.Cont.Control. │ │ │ -00050e30: 4d6f 6e61 642e 5472 616e 732e 4578 6365 Monad.Trans.Exce │ │ │ -00050e40: 7074 1c43 6f6e 7472 6f6c 2e4d 6f6e 6164 pt.Control.Monad │ │ │ -00050e50: 2e54 7261 6e73 2e49 6465 6e74 6974 7919 .Trans.Identity. │ │ │ -00050e60: 436f 6e74 726f 6c2e 4d6f 6e61 642e 5472 Control.Monad.Tr │ │ │ -00050e70: 616e 732e 4d61 7962 651c 436f 6e74 726f ans.Maybe.Contro │ │ │ -00050e80: 6c2e 4d6f 6e61 642e 5472 616e 732e 5257 l.Monad.Trans.RW │ │ │ -00050e90: 532e 4c61 7a79 1e43 6f6e 7472 6f6c 2e4d S.Lazy.Control.M │ │ │ -00050ea0: 6f6e 6164 2e54 7261 6e73 2e52 5753 2e53 onad.Trans.RWS.S │ │ │ -00050eb0: 7472 6963 741a 436f 6e74 726f 6c2e 4d6f trict.Control.Mo │ │ │ -00050ec0: 6e61 642e 5472 616e 732e 5265 6164 6572 nad.Trans.Reader │ │ │ -00050ed0: 1e43 6f6e 7472 6f6c 2e4d 6f6e 6164 2e54 .Control.Monad.T │ │ │ -00050ee0: 7261 6e73 2e53 7461 7465 2e4c 617a 7920 rans.State.Lazy │ │ │ -00050ef0: 436f 6e74 726f 6c2e 4d6f 6e61 642e 5472 Control.Monad.Tr │ │ │ -00050f00: 616e 732e 5374 6174 652e 5374 7269 6374 ans.State.Strict │ │ │ -00050f10: 1f43 6f6e 7472 6f6c 2e4d 6f6e 6164 2e54 .Control.Monad.T │ │ │ -00050f20: 7261 6e73 2e57 7269 7465 722e 4c61 7a79 rans.Writer.Lazy │ │ │ -00050f30: 2143 6f6e 7472 6f6c 2e4d 6f6e 6164 2e54 !Control.Monad.T │ │ │ -00050f40: 7261 6e73 2e57 7269 7465 722e 5374 7269 rans.Writer.Stri │ │ │ -00050f50: 6374 0964 6174 6146 696c 6573 0864 6174 ct.dataFiles.dat │ │ │ -00050f60: 6150 6174 6815 7665 7273 696f 6e57 6974 aPath.versionWit │ │ │ -00050f70: 6843 6f6d 6d69 7449 6e66 6f0a 6765 7444 hCommitInfo.getD │ │ │ -00050f80: 6174 6144 6972 1143 6f6e 7472 6f6c 2e45 ataDir.Control.E │ │ │ -00050f90: 7863 6570 7469 6f6e 0d43 6f6e 7472 6f6c xception.Control │ │ │ -00050fa0: 2e4d 6f6e 6164 0c44 6174 612e 4675 6e63 .Monad.Data.Func │ │ │ -00050fb0: 746f 7209 4461 7461 2e4c 6973 7407 5072 tor.Data.List.Pr │ │ │ -00050fc0: 656c 7564 6512 5379 7374 656d 2e45 6e76 elude.System.Env │ │ │ -00050fd0: 6972 6f6e 6d65 6e74 0953 7973 7465 6d2e ironment.System. │ │ │ -00050fe0: 494f 0f44 6174 612e 4279 7465 5374 7269 IO.Data.ByteStri │ │ │ -00050ff0: 6e67 1053 7973 7465 6d2e 4469 7265 6374 ng.System.Direct │ │ │ -00051000: 6f72 7920 5379 7374 656d 2e44 6972 6563 ory System.Direc │ │ │ -00051010: 746f 7279 2e49 6e74 6572 6e61 6c2e 436f tory.Internal.Co │ │ │ -00051020: 6d6d 6f6e 0f53 7973 7465 6d2e 4669 6c65 mmon.System.File │ │ │ -00051030: 4c6f 636b 0f53 7973 7465 6d2e 4669 6c65 Lock.System.File │ │ │ -00051040: 5061 7468 1553 7973 7465 6d2e 4669 6c65 Path.System.File │ │ │ -00051050: 5061 7468 2e50 6f73 6978 2347 4843 2e49 Path.Posix#GHC.I │ │ │ -00051060: 6e74 6572 6e61 6c2e 436f 6e74 726f 6c2e nternal.Control. │ │ │ -00051070: 4578 6365 7074 696f 6e2e 4261 7365 1a47 Exception.Base.G │ │ │ -00051080: 4843 2e49 6e74 6572 6e61 6c2e 436f 6e74 HC.Internal.Cont │ │ │ -00051090: 726f 6c2e 4d6f 6e61 641a 4748 432e 496e rol.Monad.GHC.In │ │ │ -000510a0: 7465 726e 616c 2e44 6174 612e 466f 6c64 ternal.Data.Fold │ │ │ -000510b0: 6162 6c65 1947 4843 2e49 6e74 6572 6e61 able.GHC.Interna │ │ │ -000510c0: 6c2e 4461 7461 2e46 756e 6374 6f72 1947 l.Data.Functor.G │ │ │ -000510d0: 4843 2e49 6e74 6572 6e61 6c2e 4461 7461 HC.Internal.Data │ │ │ -000510e0: 2e4f 6c64 4c69 7374 1d47 4843 2e49 6e74 .OldList.GHC.Int │ │ │ -000510f0: 6572 6e61 6c2e 4461 7461 2e54 7261 7665 ernal.Data.Trave │ │ │ -00051100: 7273 6162 6c65 0f47 4843 2e49 6e74 6572 rsable.GHC.Inter │ │ │ -00051110: 6e61 6c2e 494f 1b47 4843 2e49 6e74 6572 nal.IO.GHC.Inter │ │ │ -00051120: 6e61 6c2e 494f 2e48 616e 646c 652e 5465 nal.IO.Handle.Te │ │ │ -00051130: 7874 1a47 4843 2e49 6e74 6572 6e61 6c2e xt.GHC.Internal. │ │ │ -00051140: 494f 2e53 7464 4861 6e64 6c65 7311 4748 IO.StdHandles.GH │ │ │ -00051150: 432e 496e 7465 726e 616c 2e4c 6973 7411 C.Internal.List. │ │ │ -00051160: 4748 432e 496e 7465 726e 616c 2e53 686f GHC.Internal.Sho │ │ │ -00051170: 771f 4748 432e 496e 7465 726e 616c 2e53 w.GHC.Internal.S │ │ │ -00051180: 7973 7465 6d2e 456e 7669 726f 6e6d 656e ystem.Environmen │ │ │ -00051190: 7409 4748 432e 5479 7065 73cc 002f 7573 t.GHC.Types../us │ │ │ -000511a0: 722f 6c69 622f 6768 632f 6c69 622f 2e2e r/lib/ghc/lib/.. │ │ │ -000511b0: 2f6c 6962 2f69 3338 362d 6c69 6e75 782d /lib/i386-linux- │ │ │ -000511c0: 6768 632d 392e 3130 2e33 2f72 7473 2d31 ghc-9.10.3/rts-1 │ │ │ -000511d0: 2e30 2e32 2f69 6e63 6c75 6465 2f67 6863 .0.2/include/ghc │ │ │ -000511e0: 7665 7273 696f 6e2e 6825 6469 7374 2d67 version.h%dist-g │ │ │ -000511f0: 6863 2f62 7569 6c64 2f61 7574 6f67 656e hc/build/autogen │ │ │ -00051200: 2f63 6162 616c 5f6d 6163 726f 732e 681a /cabal_macros.h. │ │ │ -00051210: 2f75 7372 2f69 6e63 6c75 6465 2f73 7464 /usr/include/std │ │ │ -00051220: 632d 7072 6564 6566 2e68 2973 7263 2f64 c-predef.h)src/d │ │ │ -00051230: 6174 612f 4d41 6c6f 6e7a 6f2f 7372 632f ata/MAlonzo/src/ │ │ │ -00051240: 4d41 6c6f 6e7a 6f2f 5254 452f 466c 6f61 MAlonzo/RTE/Floa │ │ │ -00051250: 742e 6873 2373 7263 2f64 6174 612f 4d41 t.hs#src/data/MA │ │ │ -00051260: 6c6f 6e7a 6f2f 7372 632f 4d41 6c6f 6e7a lonzo/src/MAlonz │ │ │ -00051270: 6f2f 5254 452e 6873 2d73 7263 2f64 6174 o/RTE.hs-src/dat │ │ │ -00051280: 612f 6c69 622f 7072 696d 2f41 6764 612f a/lib/prim/Agda/ │ │ │ -00051290: 5072 696d 6974 6976 652f 4375 6269 6361 Primitive/Cubica │ │ │ -000512a0: 6c2e 6167 6461 2573 7263 2f64 6174 612f l.agda%src/data/ │ │ │ -000512b0: 6c69 622f 7072 696d 2f41 6764 612f 5072 lib/prim/Agda/Pr │ │ │ -000512c0: 696d 6974 6976 652e 6167 6461 3373 7263 imitive.agda3src │ │ │ -000512d0: 2f64 6174 612f 6c69 622f 7072 696d 2f41 /data/lib/prim/A │ │ │ -000512e0: 6764 612f 4275 696c 7469 6e2f 576f 7264 gda/Builtin/Word │ │ │ -000512f0: 2f50 726f 7065 7274 6965 732e 6167 6461 /Properties.agda │ │ │ -00051300: 2873 7263 2f64 6174 612f 6c69 622f 7072 (src/data/lib/pr │ │ │ -00051310: 696d 2f41 6764 612f 4275 696c 7469 6e2f im/Agda/Builtin/ │ │ │ -00051320: 576f 7264 2e61 6764 6128 7372 632f 6461 Word.agda(src/da │ │ │ -00051330: 7461 2f6c 6962 2f70 7269 6d2f 4167 6461 ta/lib/prim/Agda │ │ │ -00051340: 2f42 7569 6c74 696e 2f55 6e69 742e 6167 /Builtin/Unit.ag │ │ │ -00051350: 6461 2b73 7263 2f64 6174 612f 6c69 622f da+src/data/lib/ │ │ │ -00051360: 7072 696d 2f41 6764 612f 4275 696c 7469 prim/Agda/Builti │ │ │ -00051370: 6e2f 5472 7573 744d 652e 6167 6461 3573 n/TrustMe.agda5s │ │ │ -00051380: 7263 2f64 6174 612f 6c69 622f 7072 696d rc/data/lib/prim │ │ │ -00051390: 2f41 6764 612f 4275 696c 7469 6e2f 5374 /Agda/Builtin/St │ │ │ -000513a0: 7269 6e67 2f50 726f 7065 7274 6965 732e ring/Properties. │ │ │ -000513b0: 6167 6461 2a73 7263 2f64 6174 612f 6c69 agda*src/data/li │ │ │ -000513c0: 622f 7072 696d 2f41 6764 612f 4275 696c b/prim/Agda/Buil │ │ │ -000513d0: 7469 6e2f 5374 7269 6e67 2e61 6764 612a tin/String.agda* │ │ │ -000513e0: 7372 632f 6461 7461 2f6c 6962 2f70 7269 src/data/lib/pri │ │ │ -000513f0: 6d2f 4167 6461 2f42 7569 6c74 696e 2f53 m/Agda/Builtin/S │ │ │ -00051400: 7472 6963 742e 6167 6461 2873 7263 2f64 trict.agda(src/d │ │ │ -00051410: 6174 612f 6c69 622f 7072 696d 2f41 6764 ata/lib/prim/Agd │ │ │ -00051420: 612f 4275 696c 7469 6e2f 5369 7a65 2e61 a/Builtin/Size.a │ │ │ -00051430: 6764 6129 7372 632f 6461 7461 2f6c 6962 gda)src/data/lib │ │ │ -00051440: 2f70 7269 6d2f 4167 6461 2f42 7569 6c74 /prim/Agda/Built │ │ │ -00051450: 696e 2f53 6967 6d61 2e61 6764 6139 7372 in/Sigma.agda9sr │ │ │ -00051460: 632f 6461 7461 2f6c 6962 2f70 7269 6d2f c/data/lib/prim/ │ │ │ -00051470: 4167 6461 2f42 7569 6c74 696e 2f52 6566 Agda/Builtin/Ref │ │ │ -00051480: 6c65 6374 696f 6e2f 5072 6f70 6572 7469 lection/Properti │ │ │ -00051490: 6573 2e61 6764 6137 7372 632f 6461 7461 es.agda7src/data │ │ │ -000514a0: 2f6c 6962 2f70 7269 6d2f 4167 6461 2f42 /lib/prim/Agda/B │ │ │ -000514b0: 7569 6c74 696e 2f52 6566 6c65 6374 696f uiltin/Reflectio │ │ │ -000514c0: 6e2f 4578 7465 726e 616c 2e61 6764 612e n/External.agda. │ │ │ -000514d0: 7372 632f 6461 7461 2f6c 6962 2f70 7269 src/data/lib/pri │ │ │ -000514e0: 6d2f 4167 6461 2f42 7569 6c74 696e 2f52 m/Agda/Builtin/R │ │ │ -000514f0: 6566 6c65 6374 696f 6e2e 6167 6461 2773 eflection.agda's │ │ │ -00051500: 7263 2f64 6174 612f 6c69 622f 7072 696d rc/data/lib/prim │ │ │ -00051510: 2f41 6764 612f 4275 696c 7469 6e2f 4e61 /Agda/Builtin/Na │ │ │ -00051520: 742e 6167 6461 2973 7263 2f64 6174 612f t.agda)src/data/ │ │ │ -00051530: 6c69 622f 7072 696d 2f41 6764 612f 4275 lib/prim/Agda/Bu │ │ │ -00051540: 696c 7469 6e2f 4d61 7962 652e 6167 6461 iltin/Maybe.agda │ │ │ -00051550: 2873 7263 2f64 6174 612f 6c69 622f 7072 (src/data/lib/pr │ │ │ -00051560: 696d 2f41 6764 612f 4275 696c 7469 6e2f im/Agda/Builtin/ │ │ │ -00051570: 4c69 7374 2e61 6764 6127 7372 632f 6461 List.agda'src/da │ │ │ -00051580: 7461 2f6c 6962 2f70 7269 6d2f 4167 6461 ta/lib/prim/Agda │ │ │ -00051590: 2f42 7569 6c74 696e 2f49 6e74 2e61 6764 /Builtin/Int.agd │ │ │ -000515a0: 6126 7372 632f 6461 7461 2f6c 6962 2f70 a&src/data/lib/p │ │ │ -000515b0: 7269 6d2f 4167 6461 2f42 7569 6c74 696e rim/Agda/Builtin │ │ │ -000515c0: 2f49 4f2e 6167 6461 2e73 7263 2f64 6174 /IO.agda.src/dat │ │ │ -000515d0: 612f 6c69 622f 7072 696d 2f41 6764 612f a/lib/prim/Agda/ │ │ │ -000515e0: 4275 696c 7469 6e2f 4672 6f6d 5374 7269 Builtin/FromStri │ │ │ -000515f0: 6e67 2e61 6764 612b 7372 632f 6461 7461 ng.agda+src/data │ │ │ -00051600: 2f6c 6962 2f70 7269 6d2f 4167 6461 2f42 /lib/prim/Agda/B │ │ │ -00051610: 7569 6c74 696e 2f46 726f 6d4e 6567 2e61 uiltin/FromNeg.a │ │ │ -00051620: 6764 612b 7372 632f 6461 7461 2f6c 6962 gda+src/data/lib │ │ │ -00051630: 2f70 7269 6d2f 4167 6461 2f42 7569 6c74 /prim/Agda/Built │ │ │ -00051640: 696e 2f46 726f 6d4e 6174 2e61 6764 6134 in/FromNat.agda4 │ │ │ -00051650: 7372 632f 6461 7461 2f6c 6962 2f70 7269 src/data/lib/pri │ │ │ -00051660: 6d2f 4167 6461 2f42 7569 6c74 696e 2f46 m/Agda/Builtin/F │ │ │ -00051670: 6c6f 6174 2f50 726f 7065 7274 6965 732e loat/Properties. │ │ │ -00051680: 6167 6461 2973 7263 2f64 6174 612f 6c69 agda)src/data/li │ │ │ -00051690: 622f 7072 696d 2f41 6764 612f 4275 696c b/prim/Agda/Buil │ │ │ -000516a0: 7469 6e2f 466c 6f61 742e 6167 6461 3473 tin/Float.agda4s │ │ │ -000516b0: 7263 2f64 6174 612f 6c69 622f 7072 696d rc/data/lib/prim │ │ │ -000516c0: 2f41 6764 612f 4275 696c 7469 6e2f 4571 /Agda/Builtin/Eq │ │ │ -000516d0: 7561 6c69 7479 2f52 6577 7269 7465 2e61 uality/Rewrite.a │ │ │ -000516e0: 6764 6132 7372 632f 6461 7461 2f6c 6962 gda2src/data/lib │ │ │ -000516f0: 2f70 7269 6d2f 4167 6461 2f42 7569 6c74 /prim/Agda/Built │ │ │ -00051700: 696e 2f45 7175 616c 6974 792f 4572 6173 in/Equality/Eras │ │ │ -00051710: 652e 6167 6461 2c73 7263 2f64 6174 612f e.agda,src/data/ │ │ │ -00051720: 6c69 622f 7072 696d 2f41 6764 612f 4275 lib/prim/Agda/Bu │ │ │ -00051730: 696c 7469 6e2f 4571 7561 6c69 7479 2e61 iltin/Equality.a │ │ │ -00051740: 6764 6132 7372 632f 6461 7461 2f6c 6962 gda2src/data/lib │ │ │ -00051750: 2f70 7269 6d2f 4167 6461 2f42 7569 6c74 /prim/Agda/Built │ │ │ -00051760: 696e 2f43 7562 6963 616c 2f48 436f 6d70 in/Cubical/HComp │ │ │ -00051770: 552e 6167 6461 3173 7263 2f64 6174 612f U.agda1src/data/ │ │ │ -00051780: 6c69 622f 7072 696d 2f41 6764 612f 4275 lib/prim/Agda/Bu │ │ │ -00051790: 696c 7469 6e2f 4375 6269 6361 6c2f 4571 iltin/Cubical/Eq │ │ │ -000517a0: 7569 762e 6167 6461 3073 7263 2f64 6174 uiv.agda0src/dat │ │ │ -000517b0: 612f 6c69 622f 7072 696d 2f41 6764 612f a/lib/prim/Agda/ │ │ │ -000517c0: 4275 696c 7469 6e2f 4375 6269 6361 6c2f Builtin/Cubical/ │ │ │ -000517d0: 476c 7565 2e61 6764 612f 7372 632f 6461 Glue.agda/src/da │ │ │ -000517e0: 7461 2f6c 6962 2f70 7269 6d2f 4167 6461 ta/lib/prim/Agda │ │ │ -000517f0: 2f42 7569 6c74 696e 2f43 7562 6963 616c /Builtin/Cubical │ │ │ -00051800: 2f53 7562 2e61 6764 6130 7372 632f 6461 /Sub.agda0src/da │ │ │ -00051810: 7461 2f6c 6962 2f70 7269 6d2f 4167 6461 ta/lib/prim/Agda │ │ │ -00051820: 2f42 7569 6c74 696e 2f43 7562 6963 616c /Builtin/Cubical │ │ │ -00051830: 2f50 6174 682e 6167 6461 2f73 7263 2f64 /Path.agda/src/d │ │ │ -00051840: 6174 612f 6c69 622f 7072 696d 2f41 6764 ata/lib/prim/Agd │ │ │ -00051850: 612f 4275 696c 7469 6e2f 436f 696e 6475 a/Builtin/Coindu │ │ │ -00051860: 6374 696f 6e2e 6167 6461 3373 7263 2f64 ction.agda3src/d │ │ │ -00051870: 6174 612f 6c69 622f 7072 696d 2f41 6764 ata/lib/prim/Agd │ │ │ -00051880: 612f 4275 696c 7469 6e2f 4368 6172 2f50 a/Builtin/Char/P │ │ │ -00051890: 726f 7065 7274 6965 732e 6167 6461 2873 roperties.agda(s │ │ │ -000518a0: 7263 2f64 6174 612f 6c69 622f 7072 696d rc/data/lib/prim │ │ │ -000518b0: 2f41 6764 612f 4275 696c 7469 6e2f 4368 /Agda/Builtin/Ch │ │ │ -000518c0: 6172 2e61 6764 6128 7372 632f 6461 7461 ar.agda(src/data │ │ │ -000518d0: 2f6c 6962 2f70 7269 6d2f 4167 6461 2f42 /lib/prim/Agda/B │ │ │ -000518e0: 7569 6c74 696e 2f42 6f6f 6c2e 6167 6461 uiltin/Bool.agda │ │ │ -000518f0: 2873 7263 2f64 6174 612f 6c69 622f 7072 (src/data/lib/pr │ │ │ -00051900: 696d 2f61 6764 612d 6275 696c 7469 6e73 im/agda-builtins │ │ │ -00051910: 2e61 6764 612d 6c69 6223 7372 632f 6461 .agda-lib#src/da │ │ │ -00051920: 7461 2f6c 6174 6578 2f70 6f73 7470 726f ta/latex/postpro │ │ │ -00051930: 6365 7373 2d6c 6174 6578 2e70 6c17 7372 cess-latex.pl.sr │ │ │ -00051940: 632f 6461 7461 2f6c 6174 6578 2f61 6764 c/data/latex/agd │ │ │ -00051950: 612e 7374 791b 7372 632f 6461 7461 2f4a a.sty.src/data/J │ │ │ -00051960: 532f 6167 6461 2d72 7473 2e61 6d64 2e6a S/agda-rts.amd.j │ │ │ -00051970: 7317 7372 632f 6461 7461 2f4a 532f 6167 s.src/data/JS/ag │ │ │ -00051980: 6461 2d72 7473 2e6a 7318 7372 632f 6461 da-rts.js.src/da │ │ │ -00051990: 7461 2f4a 532f 6167 6461 2d72 7473 2e6d ta/JS/agda-rts.m │ │ │ -000519a0: 6a73 2073 7263 2f64 6174 612f 6874 6d6c js src/data/html │ │ │ -000519b0: 2f68 6967 686c 6967 6874 2d68 6f76 6572 /highlight-hover │ │ │ -000519c0: 2e6a 7316 7372 632f 6461 7461 2f68 746d .js.src/data/htm │ │ │ -000519d0: 6c2f 4167 6461 2e63 7373 2573 7263 2f64 l/Agda.css%src/d │ │ │ -000519e0: 6174 612f 656d 6163 732d 6d6f 6465 2f61 ata/emacs-mode/a │ │ │ -000519f0: 6764 6132 2d6d 6f64 652d 706b 672e 656c gda2-mode-pkg.el │ │ │ -00051a00: 2173 7263 2f64 6174 612f 656d 6163 732d !src/data/emacs- │ │ │ -00051a10: 6d6f 6465 2f61 6764 6132 2d6d 6f64 652e mode/agda2-mode. │ │ │ -00051a20: 656c 2673 7263 2f64 6174 612f 656d 6163 el&src/data/emac │ │ │ -00051a30: 732d 6d6f 6465 2f61 6764 6132 2d68 6967 s-mode/agda2-hig │ │ │ -00051a40: 686c 6967 6874 2e65 6c21 7372 632f 6461 hlight.el!src/da │ │ │ -00051a50: 7461 2f65 6d61 6373 2d6d 6f64 652f 6167 ta/emacs-mode/ag │ │ │ -00051a60: 6461 2d69 6e70 7574 2e65 6c1c 7372 632f da-input.el.src/ │ │ │ -00051a70: 6461 7461 2f65 6d61 6373 2d6d 6f64 652f data/emacs-mode/ │ │ │ -00051a80: 6167 6461 322e 656c 1a73 7263 2f64 6174 agda2.el.src/dat │ │ │ -00051a90: 612f 656d 6163 732d 6d6f 6465 2f65 7269 a/emacs-mode/eri │ │ │ -00051aa0: 2e65 6c22 7372 632f 6461 7461 2f65 6d61 .el"src/data/ema │ │ │ -00051ab0: 6373 2d6d 6f64 652f 6167 6461 322d 7175 cs-mode/agda2-qu │ │ │ -00051ac0: 6575 652e 656c 2173 7263 2f64 6174 612f eue.el!src/data/ │ │ │ -00051ad0: 656d 6163 732d 6d6f 6465 2f61 6e6e 6f74 emacs-mode/annot │ │ │ -00051ae0: 6174 696f 6e2e 656c 2473 7263 2f64 6174 ation.el$src/dat │ │ │ -00051af0: 612f 656d 6163 732d 6d6f 6465 2f61 6764 a/emacs-mode/agd │ │ │ -00051b00: 6132 2d61 6262 7265 7673 2e65 6c29 6469 a2-abbrevs.el)di │ │ │ -00051b10: 7374 2d67 6863 2f62 7569 6c64 2f41 6764 st-ghc/build/Agd │ │ │ -00051b20: 612f 5365 7475 702f 4461 7461 4669 6c65 a/Setup/DataFile │ │ │ -00051b30: 732e 6479 6e5f 6fd7 002f 7573 722f 6c69 s.dyn_o../usr/li │ │ │ -00051b40: 622f 6768 632f 6c69 622f 2e2e 2f6c 6962 b/ghc/lib/../lib │ │ │ -00051b50: 2f69 3338 362d 6c69 6e75 782d 6768 632d /i386-linux-ghc- │ │ │ -00051b60: 392e 3130 2e33 2f6c 6962 4853 6768 632d 9.10.3/libHSghc- │ │ │ -00051b70: 7072 696d 2d30 2e31 322e 302d 696e 706c prim-0.12.0-inpl │ │ │ -00051b80: 6163 652d 6768 6339 2e31 302e 332e 736f ace-ghc9.10.3.so │ │ │ -00051b90: d600 2f75 7372 2f6c 6962 2f67 6863 2f6c ../usr/lib/ghc/l │ │ │ -00051ba0: 6962 2f2e 2e2f 6c69 622f 6933 3836 2d6c ib/../lib/i386-l │ │ │ -00051bb0: 696e 7578 2d67 6863 2d39 2e31 302e 332f inux-ghc-9.10.3/ │ │ │ -00051bc0: 6c69 6248 5367 6863 2d62 6967 6e75 6d2d libHSghc-bignum- │ │ │ -00051bd0: 312e 332d 696e 706c 6163 652d 6768 6339 1.3-inplace-ghc9 │ │ │ -00051be0: 2e31 302e 332e 736f dd00 2f75 7372 2f6c .10.3.so../usr/l │ │ │ -00051bf0: 6962 2f67 6863 2f6c 6962 2f2e 2e2f 6c69 ib/ghc/lib/../li │ │ │ -00051c00: 622f 6933 3836 2d6c 696e 7578 2d67 6863 b/i386-linux-ghc │ │ │ -00051c10: 2d39 2e31 302e 332f 6c69 6248 5367 6863 -9.10.3/libHSghc │ │ │ -00051c20: 2d69 6e74 6572 6e61 6c2d 392e 3130 3033 -internal-9.1003 │ │ │ -00051c30: 2e30 2d69 6e70 6c61 6365 2d67 6863 392e .0-inplace-ghc9. │ │ │ -00051c40: 3130 2e33 2e73 6fd5 002f 7573 722f 6c69 10.3.so../usr/li │ │ │ -00051c50: 622f 6768 632f 6c69 622f 2e2e 2f6c 6962 b/ghc/lib/../lib │ │ │ -00051c60: 2f69 3338 362d 6c69 6e75 782d 6768 632d /i386-linux-ghc- │ │ │ -00051c70: 392e 3130 2e33 2f6c 6962 4853 6261 7365 9.10.3/libHSbase │ │ │ -00051c80: 2d34 2e32 302e 322e 302d 696e 706c 6163 -4.20.2.0-inplac │ │ │ -00051c90: 652d 6768 6339 2e31 302e 332e 736f d500 e-ghc9.10.3.so.. │ │ │ -00051ca0: 2f75 7372 2f6c 6962 2f67 6863 2f6c 6962 /usr/lib/ghc/lib │ │ │ -00051cb0: 2f2e 2e2f 6c69 622f 6933 3836 2d6c 696e /../lib/i386-lin │ │ │ -00051cc0: 7578 2d67 6863 2d39 2e31 302e 332f 6c69 ux-ghc-9.10.3/li │ │ │ -00051cd0: 6248 5361 7272 6179 2d30 2e35 2e38 2e30 bHSarray-0.5.8.0 │ │ │ -00051ce0: 2d69 6e70 6c61 6365 2d67 6863 392e 3130 -inplace-ghc9.10 │ │ │ -00051cf0: 2e33 2e73 6fd7 002f 7573 722f 6c69 622f .3.so../usr/lib/ │ │ │ -00051d00: 6768 632f 6c69 622f 2e2e 2f6c 6962 2f69 ghc/lib/../lib/i │ │ │ -00051d10: 3338 362d 6c69 6e75 782d 6768 632d 392e 386-linux-ghc-9. │ │ │ -00051d20: 3130 2e33 2f6c 6962 4853 6465 6570 7365 10.3/libHSdeepse │ │ │ -00051d30: 712d 312e 352e 302e 302d 696e 706c 6163 q-1.5.0.0-inplac │ │ │ -00051d40: 652d 6768 6339 2e31 302e 332e 736f da00 e-ghc9.10.3.so.. │ │ │ -00051d50: 2f75 7372 2f6c 6962 2f67 6863 2f6c 6962 /usr/lib/ghc/lib │ │ │ -00051d60: 2f2e 2e2f 6c69 622f 6933 3836 2d6c 696e /../lib/i386-lin │ │ │ -00051d70: 7578 2d67 6863 2d39 2e31 302e 332f 6c69 ux-ghc-9.10.3/li │ │ │ -00051d80: 6248 5367 6863 2d62 6f6f 742d 7468 2d39 bHSghc-boot-th-9 │ │ │ -00051d90: 2e31 302e 332d 696e 706c 6163 652d 6768 .10.3-inplace-gh │ │ │ -00051da0: 6339 2e31 302e 332e 736f d600 2f75 7372 c9.10.3.so../usr │ │ │ -00051db0: 2f6c 6962 2f67 6863 2f6c 6962 2f2e 2e2f /lib/ghc/lib/../ │ │ │ -00051dc0: 6c69 622f 6933 3836 2d6c 696e 7578 2d67 lib/i386-linux-g │ │ │ -00051dd0: 6863 2d39 2e31 302e 332f 6c69 6248 5370 hc-9.10.3/libHSp │ │ │ -00051de0: 7265 7474 792d 312e 312e 332e 362d 696e retty-1.1.3.6-in │ │ │ -00051df0: 706c 6163 652d 6768 6339 2e31 302e 332e place-ghc9.10.3. │ │ │ -00051e00: 736f e100 2f75 7372 2f6c 6962 2f67 6863 so../usr/lib/ghc │ │ │ -00051e10: 2f6c 6962 2f2e 2e2f 6c69 622f 6933 3836 /lib/../lib/i386 │ │ │ -00051e20: 2d6c 696e 7578 2d67 6863 2d39 2e31 302e -linux-ghc-9.10. │ │ │ -00051e30: 332f 6c69 6248 5374 656d 706c 6174 652d 3/libHStemplate- │ │ │ -00051e40: 6861 736b 656c 6c2d 322e 3232 2e30 2e30 haskell-2.22.0.0 │ │ │ -00051e50: 2d69 6e70 6c61 6365 2d67 6863 392e 3130 -inplace-ghc9.10 │ │ │ -00051e60: 2e33 2e73 6fdb 002f 7573 722f 6c69 622f .3.so../usr/lib/ │ │ │ -00051e70: 6768 632f 6c69 622f 2e2e 2f6c 6962 2f69 ghc/lib/../lib/i │ │ │ -00051e80: 3338 362d 6c69 6e75 782d 6768 632d 392e 386-linux-ghc-9. │ │ │ -00051e90: 3130 2e33 2f6c 6962 4853 6279 7465 7374 10.3/libHSbytest │ │ │ -00051ea0: 7269 6e67 2d30 2e31 322e 322e 302d 696e ring-0.12.2.0-in │ │ │ -00051eb0: 706c 6163 652d 6768 6339 2e31 302e 332e place-ghc9.10.3. │ │ │ -00051ec0: 736f 0a7b 2d23 2049 4e4c 494e 4505 666f so.{-# INLINE.fo │ │ │ -00051ed0: 7263 6501 7303 6473 3103 6970 7604 6970 rce.s.ds1.ipv.ip │ │ │ -00051ee0: 7631 0764 6f53 6574 7570 0273 3102 6473 v1.doSetup.s1.ds │ │ │ -00051ef0: 0469 7076 3204 6970 7633 0477 696c 6402 .ipv2.ipv3.wild. │ │ │ -00051f00: 7777 0364 7332 0469 7076 3404 6970 7635 ww.ds2.ipv4.ipv5 │ │ │ -00051f10: 046c 6f63 6b02 7332 0364 7333 0469 7076 .lock.s2.ds3.ipv │ │ │ -00051f20: 3604 6970 7637 0364 7334 0469 7076 3804 6.ipv7.ds4.ipv8. │ │ │ -00051f30: 6970 7639 0b63 6f77 7261 705f 756e 6278 ipv9.cowrap_unbx │ │ │ -00051f40: 0475 6e62 7805 5f6c 6f63 6b03 6574 6103 .unbx._lock.eta. │ │ │ -00051f50: 676f 3104 6574 6131 0577 696c 6431 0179 go1.eta1.wild1.y │ │ │ -00051f60: 0279 7305 7769 6c64 320c 7265 6c61 7469 .ys.wild2.relati │ │ │ -00051f70: 7665 5061 7468 0763 6f6e 7465 6e74 0577 vePath.content.w │ │ │ -00051f80: 696c 6433 0377 7731 0377 7732 0577 696c ild3.ww1.ww2.wil │ │ │ -00051f90: 6434 0364 7335 0364 7336 0364 6972 0b72 d4.ds5.ds6.dir.r │ │ │ -00051fa0: 656c 6174 6976 6544 6972 0466 696c 6504 elativeDir.file. │ │ │ -00051fb0: 7061 7468 0176 0465 7461 3203 6473 3705 path.v.eta2.ds7. │ │ │ -00051fc0: 6970 7631 3005 6970 7631 3103 6473 3805 ipv10.ipv11.ds8. │ │ │ -00051fd0: 6970 7631 3205 6970 7631 3306 6473 7461 ipv12.ipv13.dsta │ │ │ -00051fe0: 7465 0665 7374 6174 6501 7804 7369 7a65 te.estate.x.size │ │ │ -00051ff0: 0562 6172 7223 0362 7566 0273 2705 6970 .barr#.buf.s'.ip │ │ │ -00052000: 7631 3405 6970 7631 3501 6602 6531 0265 v14.ipv15.f.e1.e │ │ │ -00052010: 320c 2464 4578 6365 7074 696f 6e31 0524 2.$dException1.$ │ │ │ -00052020: 6449 5034 0265 3302 636f 0d67 6574 4167 dIP4.e3.co.getAg │ │ │ -00052030: 6461 4170 7044 6972 0f67 6574 4461 7461 daAppDir.getData │ │ │ -00052040: 4669 6c65 4e61 6d65 0573 6574 7570 0924 FileName.setup.$ │ │ │ -00052050: 7472 4d6f 6475 6c65 064d 6f64 756c 650a trModule.Module. │ │ │ -00052060: 2474 724d 6f64 756c 6533 0a24 7472 4d6f $trModule3.$trMo │ │ │ -00052070: 6475 6c65 3107 5472 4e61 6d65 530a 2474 dule1.TrNameS.$t │ │ │ -00052080: 724d 6f64 756c 6532 0a24 7472 4d6f 6475 rModule2.$trModu │ │ │ -00052090: 6c65 3407 2477 7365 7475 700b 6765 7444 le4.$wsetup.getD │ │ │ -000520a0: 6174 6144 6972 3121 5379 7374 656d 2e4f ataDir1!System.O │ │ │ -000520b0: 7353 7472 696e 672e 456e 636f 6469 6e67 sString.Encoding │ │ │ -000520c0: 2e49 6e74 6572 6e61 6c14 656e 636f 6465 .Internal.encode │ │ │ -000520d0: 5769 7468 4261 7365 506f 7369 7832 0f53 WithBasePosix2.S │ │ │ -000520e0: 686f 7274 4279 7465 5374 7269 6e67 0f70 hortByteString.p │ │ │ -000520f0: 6163 6b43 5374 7269 6e67 4c65 6e31 1c47 ackCStringLen1.G │ │ │ -00052100: 4843 2e49 6e74 6572 6e61 6c2e 466f 7265 HC.Internal.Fore │ │ │ -00052110: 6967 6e2e 432e 5479 7065 7305 4343 6861 ign.C.Types.CCha │ │ │ -00052120: 7204 4e3a 494f 114e 3a53 686f 7274 4279 r.N:IO.N:ShortBy │ │ │ -00052130: 7465 5374 7269 6e67 0942 7974 6541 7272 teString.ByteArr │ │ │ -00052140: 6179 1753 7973 7465 6d2e 4469 7265 6374 ay.System.Direct │ │ │ -00052150: 6f72 792e 4f73 5061 7468 1a24 7763 7265 ory.OsPath.$wcre │ │ │ -00052160: 6174 6544 6972 6563 746f 7279 4966 4d69 ateDirectoryIfMi │ │ │ -00052170: 7373 696e 6708 4669 6c65 5061 7468 0763 ssing.FilePath.c │ │ │ -00052180: 6f6d 6269 6e65 0873 6574 7570 3136 3908 ombine.setup169. │ │ │ -00052190: 6272 6163 6b65 7431 0846 696c 654c 6f63 bracket1.FileLoc │ │ │ -000521a0: 6b1e 5379 7374 656d 2e46 696c 654c 6f63 k.System.FileLoc │ │ │ -000521b0: 6b2e 496e 7465 726e 616c 2e46 6c6f 636b k.Internal.Flock │ │ │ -000521c0: 056c 6f63 6b31 1f47 4843 2e49 6e74 6572 .lock1.GHC.Inter │ │ │ -000521d0: 6e61 6c2e 5379 7374 656d 2e50 6f73 6978 nal.System.Posix │ │ │ -000521e0: 2e54 7970 6573 044e 3a46 6406 4e3a 4349 .Types.N:Fd.N:CI │ │ │ -000521f0: 6e74 1047 4843 2e49 6e74 6572 6e61 6c2e nt.GHC.Internal. │ │ │ -00052200: 496e 7404 4933 3223 044c 6f63 6b0b 756e Int.I32#.Lock.un │ │ │ -00052210: 6c6f 636b 4669 6c65 310a 4279 7465 5374 lockFile1.ByteSt │ │ │ -00052220: 7269 6e67 0524 7767 6f32 0d64 726f 7046 ring.$wgo2.dropF │ │ │ -00052230: 696c 654e 616d 6531 1947 4843 2e49 6e74 ileName1.GHC.Int │ │ │ -00052240: 6572 6e61 6c2e 494f 2e48 616e 646c 652e ernal.IO.Handle. │ │ │ -00052250: 4644 0f77 6974 6842 696e 6172 7946 696c FD.withBinaryFil │ │ │ -00052260: 6531 1647 4843 2e49 6e74 6572 6e61 6c2e e1.GHC.Internal. │ │ │ -00052270: 494f 2e49 4f4d 6f64 6509 5772 6974 654d IO.IOMode.WriteM │ │ │ -00052280: 6f64 651c 4748 432e 496e 7465 726e 616c ode.GHC.Internal │ │ │ -00052290: 2e49 4f2e 4861 6e64 6c65 2e54 7970 6573 .IO.Handle.Types │ │ │ -000522a0: 0648 616e 646c 650b 6170 7065 6e64 4669 .Handle.appendFi │ │ │ -000522b0: 6c65 3208 6850 7574 5374 7232 0673 7464 le2.hPutStr2.std │ │ │ -000522c0: 6572 7208 7365 7475 7031 3638 0f65 6d62 err.setup168.emb │ │ │ -000522d0: 6564 6465 6444 6174 6144 6972 0b49 4f45 eddedDataDir.IOE │ │ │ -000522e0: 7863 6570 7469 6f6e 1b47 4843 2e49 6e74 xception.GHC.Int │ │ │ -000522f0: 6572 6e61 6c2e 4578 6365 7074 696f 6e2e ernal.Exception. │ │ │ -00052300: 5479 7065 0d53 6f6d 6545 7863 6570 7469 Type.SomeExcepti │ │ │ -00052310: 6f6e 1475 6e69 782d 322e 382e 372e 302d on.unix-2.8.7.0- │ │ │ -00052320: 696e 706c 6163 651e 5379 7374 656d 2e50 inplace.System.P │ │ │ -00052330: 6f73 6978 2e46 696c 6573 2e50 6f73 6978 osix.Files.Posix │ │ │ -00052340: 5374 7269 6e67 0b72 656d 6f76 654c 696e String.removeLin │ │ │ -00052350: 6b31 0d4e 3a50 6f73 6978 5374 7269 6e67 k1.N:PosixString │ │ │ -00052360: 1847 4843 2e49 6e74 6572 6e61 6c2e 4461 .GHC.Internal.Da │ │ │ -00052370: 7461 2e45 6974 6865 7205 5269 6768 7406 ta.Either.Right. │ │ │ -00052380: 7365 7475 7032 1963 7265 6174 6544 6972 setup2.createDir │ │ │ -00052390: 6563 746f 7279 4966 4d69 7373 696e 6736 ectoryIfMissing6 │ │ │ -000523a0: 0a4e 3a4f 7353 7472 696e 6713 646f 6573 .N:OsString.does │ │ │ -000523b0: 4469 7265 6374 6f72 7945 7869 7374 3206 DirectoryExist2. │ │ │ -000523c0: 7365 7475 7033 0e67 6574 4167 6461 4170 setup3.getAgdaAp │ │ │ -000523d0: 7044 6972 311e 4748 432e 496e 7465 726e pDir1.GHC.Intern │ │ │ -000523e0: 616c 2e49 4f2e 456e 636f 6469 6e67 2e54 al.IO.Encoding.T │ │ │ -000523f0: 7970 6573 0c54 6578 7445 6e63 6f64 696e ypes.TextEncodin │ │ │ -00052400: 6718 4748 432e 496e 7465 726e 616c 2e49 g.GHC.Internal.I │ │ │ -00052410: 4f2e 456e 636f 6469 6e67 1267 6574 466f O.Encoding.getFo │ │ │ -00052420: 7265 6967 6e45 6e63 6f64 696e 6726 4748 reignEncoding&GH │ │ │ -00052430: 432e 496e 7465 726e 616c 2e46 6f72 6569 C.Internal.Forei │ │ │ -00052440: 676e 2e43 2e53 7472 696e 672e 456e 636f gn.C.String.Enco │ │ │ -00052450: 6469 6e67 0d24 7777 6974 6843 5374 7269 ding.$wwithCStri │ │ │ -00052460: 6e67 0e67 6574 4167 6461 4170 7044 6972 ng.getAgdaAppDir │ │ │ -00052470: 3907 6765 7445 6e76 3307 4353 7472 696e 9.getEnv3.CStrin │ │ │ -00052480: 670e 6765 7441 6764 6141 7070 4469 7236 g.getAgdaAppDir6 │ │ │ -00052490: 0e67 6574 4167 6461 4170 7044 6972 3507 .getAgdaAppDir5. │ │ │ -000524a0: 2b2b 5f24 732b 2b11 2466 5368 6f77 4361 ++_$s++.$fShowCa │ │ │ -000524b0: 6c6c 5374 6163 6b31 340d 7368 6f77 4c69 llStack14.showLi │ │ │ -000524c0: 7453 7472 696e 670b 2466 5368 6f77 4c69 tString.$fShowLi │ │ │ -000524d0: 7374 310e 6765 7441 6764 6141 7070 4469 st1.getAgdaAppDi │ │ │ -000524e0: 7234 0e67 6574 4167 6461 4170 7044 6972 r4.getAgdaAppDir │ │ │ -000524f0: 3211 6361 6e6f 6e69 6361 6c69 7a65 5061 2.canonicalizePa │ │ │ -00052500: 7468 310f 6765 7441 6764 6141 7070 4469 th1.getAgdaAppDi │ │ │ -00052510: 7231 300e 6765 7441 6764 6141 7070 4469 r10.getAgdaAppDi │ │ │ -00052520: 7233 0e67 6574 4167 6461 4170 7044 6972 r3.getAgdaAppDir │ │ │ -00052530: 3713 5379 7374 656d 2e4f 7350 6174 682e 7.System.OsPath. │ │ │ -00052540: 5479 7065 7306 4f73 5061 7468 1f53 7973 Types.OsPath.Sys │ │ │ -00052550: 7465 6d2e 4469 7265 6374 6f72 792e 496e tem.Directory.In │ │ │ -00052560: 7465 726e 616c 2e50 6f73 6978 2067 6574 ternal.Posix get │ │ │ -00052570: 4170 7055 7365 7244 6174 6144 6972 6563 AppUserDataDirec │ │ │ -00052580: 746f 7279 496e 7465 726e 616c 3118 6765 toryInternal1.ge │ │ │ -00052590: 7441 7070 5573 6572 4461 7461 4469 7265 tAppUserDataDire │ │ │ -000525a0: 6374 6f72 7932 1464 6563 6f64 6557 6974 ctory2.decodeWit │ │ │ -000525b0: 6842 6173 6550 6f73 6978 3210 4748 432e hBasePosix2.GHC. │ │ │ -000525c0: 496e 7465 726e 616c 2e50 7472 0350 7472 Internal.Ptr.Ptr │ │ │ -000525d0: 1067 6574 5864 6744 6972 6563 746f 7279 .getXdgDirectory │ │ │ -000525e0: 3109 5864 6743 6f6e 6669 6714 6465 636f 1.XdgConfig.deco │ │ │ -000525f0: 6465 5769 7468 4261 7365 506f 7369 7831 deWithBasePosix1 │ │ │ -00052600: 0e67 6574 4167 6461 4170 7044 6972 380b .getAgdaAppDir8. │ │ │ -00052610: 6765 7444 6174 6144 6972 330b 6765 7444 getDataDir3.getD │ │ │ -00052620: 6174 6144 6972 350b 6765 7444 6174 6144 ataDir5.getDataD │ │ │ -00052630: 6972 320b 6765 7444 6174 6144 6972 3410 ir2.getDataDir4. │ │ │ -00052640: 6765 7444 6174 6146 696c 654e 616d 6531 getDataFileName1 │ │ │ -00052650: 0673 6574 7570 3107 7365 7475 7031 3008 .setup1.setup10. │ │ │ -00052660: 7365 7475 7031 3532 0773 6574 7570 3131 setup152.setup11 │ │ │ -00052670: 0873 6574 7570 3130 3002 4253 0873 6574 .setup100.BS.set │ │ │ -00052680: 7570 3130 3117 4748 432e 496e 7465 726e up101.GHC.Intern │ │ │ -00052690: 616c 2e46 6f72 6569 676e 5074 7208 4669 al.ForeignPtr.Fi │ │ │ -000526a0: 6e61 6c50 7472 0873 6574 7570 3130 3208 nalPtr.setup102. │ │ │ -000526b0: 7365 7475 7031 3033 0873 6574 7570 3130 setup103.setup10 │ │ │ -000526c0: 3408 7365 7475 7031 3035 0873 6574 7570 4.setup105.setup │ │ │ -000526d0: 3130 3608 7365 7475 7031 3037 0873 6574 106.setup107.set │ │ │ -000526e0: 7570 3130 3808 7365 7475 7031 3039 0873 up108.setup109.s │ │ │ -000526f0: 6574 7570 3135 3007 7365 7475 7031 3208 etup150.setup12. │ │ │ -00052700: 7365 7475 7031 3130 0873 6574 7570 3131 setup110.setup11 │ │ │ -00052710: 3108 7365 7475 7031 3132 0873 6574 7570 1.setup112.setup │ │ │ -00052720: 3131 3308 7365 7475 7031 3134 0873 6574 113.setup114.set │ │ │ -00052730: 7570 3131 3508 7365 7475 7031 3136 0873 up115.setup116.s │ │ │ -00052740: 6574 7570 3131 3708 7365 7475 7031 3138 etup117.setup118 │ │ │ -00052750: 0873 6574 7570 3131 3908 7365 7475 7031 .setup119.setup1 │ │ │ -00052760: 3438 0773 6574 7570 3133 0873 6574 7570 48.setup13.setup │ │ │ -00052770: 3132 3008 7365 7475 7031 3231 0873 6574 120.setup121.set │ │ │ -00052780: 7570 3132 3208 7365 7475 7031 3233 0873 up122.setup123.s │ │ │ -00052790: 6574 7570 3132 3408 7365 7475 7031 3235 etup124.setup125 │ │ │ -000527a0: 0873 6574 7570 3132 3608 7365 7475 7031 .setup126.setup1 │ │ │ -000527b0: 3237 0873 6574 7570 3132 3808 7365 7475 27.setup128.setu │ │ │ -000527c0: 7031 3239 0873 6574 7570 3134 3607 7365 p129.setup146.se │ │ │ -000527d0: 7475 7031 3408 7365 7475 7031 3330 0873 tup14.setup130.s │ │ │ -000527e0: 6574 7570 3133 3108 7365 7475 7031 3332 etup131.setup132 │ │ │ -000527f0: 0873 6574 7570 3133 3308 7365 7475 7031 .setup133.setup1 │ │ │ -00052800: 3334 0873 6574 7570 3133 3508 7365 7475 34.setup135.setu │ │ │ -00052810: 7031 3336 0873 6574 7570 3133 3708 7365 p136.setup137.se │ │ │ -00052820: 7475 7031 3338 0873 6574 7570 3133 3908 tup138.setup139. │ │ │ -00052830: 7365 7475 7031 3434 0773 6574 7570 3135 setup144.setup15 │ │ │ -00052840: 0873 6574 7570 3134 3008 7365 7475 7031 .setup140.setup1 │ │ │ -00052850: 3431 0873 6574 7570 3134 3208 7365 7475 41.setup142.setu │ │ │ -00052860: 7031 3433 0873 6574 7570 3134 3508 7365 p143.setup145.se │ │ │ -00052870: 7475 7031 3437 0873 6574 7570 3134 3907 tup147.setup149. │ │ │ -00052880: 7365 7475 7031 3608 7365 7475 7031 3531 setup16.setup151 │ │ │ -00052890: 0873 6574 7570 3135 3308 7365 7475 7031 .setup153.setup1 │ │ │ -000528a0: 3534 0873 6574 7570 3135 3508 7365 7475 54.setup155.setu │ │ │ -000528b0: 7031 3536 0873 6574 7570 3135 3708 7365 p156.setup157.se │ │ │ -000528c0: 7475 7031 3538 0873 6574 7570 3135 3907 tup158.setup159. │ │ │ -000528d0: 7365 7475 7031 3708 7365 7475 7031 3630 setup17.setup160 │ │ │ -000528e0: 0873 6574 7570 3136 3108 7365 7475 7031 .setup161.setup1 │ │ │ -000528f0: 3632 0873 6574 7570 3136 3308 7365 7475 62.setup163.setu │ │ │ -00052900: 7031 3634 0873 6574 7570 3136 3508 7365 p164.setup165.se │ │ │ -00052910: 7475 7031 3636 0873 6574 7570 3136 3716 tup166.setup167. │ │ │ -00052920: 696e 7465 7263 616c 6174 655f 2473 706f intercalate_$spo │ │ │ -00052930: 6c79 5f67 6f31 0873 6574 7570 3137 3408 ly_go1.setup174. │ │ │ -00052940: 7365 7475 7031 3730 0773 6574 7570 3138 setup170.setup18 │ │ │ -00052950: 0c70 7265 7065 6e64 546f 416c 6c08 7365 .prependToAll.se │ │ │ -00052960: 7475 7031 3732 0873 6574 7570 3137 3107 tup172.setup171. │ │ │ -00052970: 7665 7273 696f 6e08 7365 7475 7031 3733 version.setup173 │ │ │ -00052980: 0873 6574 7570 3137 3507 7365 7475 7031 .setup175.setup1 │ │ │ -00052990: 3907 7365 7475 7032 3023 4748 432e 496e 9.setup20#GHC.In │ │ │ -000529a0: 7465 726e 616c 2e44 6174 612e 5479 7065 ternal.Data.Type │ │ │ -000529b0: 6162 6c65 2e49 6e74 6572 6e61 6c0b 7361 able.Internal.sa │ │ │ -000529c0: 6d65 5479 7065 5265 700c 2470 3145 7863 meTypeRep.$p1Exc │ │ │ -000529d0: 6570 7469 6f6e 0a4e 3a54 7970 6561 626c eption.N:Typeabl │ │ │ -000529e0: 6517 2466 4578 6365 7074 696f 6e49 4f45 e.$fExceptionIOE │ │ │ -000529f0: 7863 6570 7469 6f6e 341f 4748 432e 496e xception4.GHC.In │ │ │ -00052a00: 7465 726e 616c 2e44 6174 612e 5479 7065 ternal.Data.Type │ │ │ -00052a10: 2e45 7175 616c 6974 7904 3a7e 7e3a 044c .Equality.:~~:.L │ │ │ -00052a20: 6566 7407 7365 7475 7032 3107 7365 7475 eft.setup21.setu │ │ │ -00052a30: 7032 3207 7365 7475 7032 3307 7365 7475 p22.setup23.setu │ │ │ -00052a40: 7032 3407 7365 7475 7032 3507 7365 7475 p24.setup25.setu │ │ │ -00052a50: 7032 3607 7365 7475 7032 3707 7365 7475 p26.setup27.setu │ │ │ -00052a60: 7032 3807 7365 7475 7032 3907 7365 7475 p28.setup29.setu │ │ │ -00052a70: 7033 3006 7365 7475 7034 0773 6574 7570 p30.setup4.setup │ │ │ -00052a80: 3331 0773 6574 7570 3332 0773 6574 7570 31.setup32.setup │ │ │ -00052a90: 3333 0773 6574 7570 3334 0773 6574 7570 33.setup34.setup │ │ │ -00052aa0: 3335 0773 6574 7570 3336 0773 6574 7570 35.setup36.setup │ │ │ -00052ab0: 3337 0773 6574 7570 3938 0773 6574 7570 37.setup98.setup │ │ │ -00052ac0: 3338 0773 6574 7570 3936 0773 6574 7570 38.setup96.setup │ │ │ -00052ad0: 3339 0773 6574 7570 3934 0773 6574 7570 39.setup94.setup │ │ │ -00052ae0: 3430 0673 6574 7570 3507 7365 7475 7039 40.setup5.setup9 │ │ │ -00052af0: 3207 7365 7475 7034 3107 7365 7475 7039 2.setup41.setup9 │ │ │ -00052b00: 3007 7365 7475 7034 3207 7365 7475 7038 0.setup42.setup8 │ │ │ -00052b10: 3807 7365 7475 7034 3307 7365 7475 7038 8.setup43.setup8 │ │ │ -00052b20: 3607 7365 7475 7034 3407 7365 7475 7038 6.setup44.setup8 │ │ │ -00052b30: 3407 7365 7475 7034 3507 7365 7475 7038 4.setup45.setup8 │ │ │ -00052b40: 3207 7365 7475 7034 3607 7365 7475 7038 2.setup46.setup8 │ │ │ -00052b50: 3007 7365 7475 7034 3707 7365 7475 7037 0.setup47.setup7 │ │ │ -00052b60: 3807 7365 7475 7034 3807 7365 7475 7037 8.setup48.setup7 │ │ │ -00052b70: 3607 7365 7475 7034 3907 7365 7475 7037 6.setup49.setup7 │ │ │ -00052b80: 3407 7365 7475 7035 3006 7365 7475 7036 4.setup50.setup6 │ │ │ -00052b90: 0773 6574 7570 3732 0773 6574 7570 3531 .setup72.setup51 │ │ │ -00052ba0: 0773 6574 7570 3730 0773 6574 7570 3532 .setup70.setup52 │ │ │ -00052bb0: 0773 6574 7570 3638 0773 6574 7570 3533 .setup68.setup53 │ │ │ -00052bc0: 0773 6574 7570 3636 0773 6574 7570 3534 .setup66.setup54 │ │ │ -00052bd0: 0773 6574 7570 3634 0773 6574 7570 3535 .setup64.setup55 │ │ │ -00052be0: 0773 6574 7570 3632 0773 6574 7570 3536 .setup62.setup56 │ │ │ -00052bf0: 0773 6574 7570 3630 0773 6574 7570 3537 .setup60.setup57 │ │ │ -00052c00: 0773 6574 7570 3538 0773 6574 7570 3539 .setup58.setup59 │ │ │ -00052c10: 0673 6574 7570 3707 7365 7475 7036 3107 .setup7.setup61. │ │ │ -00052c20: 7365 7475 7036 3307 7365 7475 7036 3507 setup63.setup65. │ │ │ -00052c30: 7365 7475 7036 3707 7365 7475 7036 3906 setup67.setup69. │ │ │ -00052c40: 7365 7475 7038 0773 6574 7570 3731 0773 setup8.setup71.s │ │ │ -00052c50: 6574 7570 3733 0773 6574 7570 3735 0773 etup73.setup75.s │ │ │ -00052c60: 6574 7570 3737 0773 6574 7570 3739 0673 etup77.setup79.s │ │ │ -00052c70: 6574 7570 3907 7365 7475 7038 3107 7365 etup9.setup81.se │ │ │ -00052c80: 7475 7038 3307 7365 7475 7038 3507 7365 tup83.setup85.se │ │ │ -00052c90: 7475 7038 3707 7365 7475 7038 3907 7365 tup87.setup89.se │ │ │ -00052ca0: 7475 7039 3107 7365 7475 7039 3307 7365 tup91.setup93.se │ │ │ -00052cb0: 7475 7039 3507 7365 7475 7039 3707 7365 tup95.setup97.se │ │ │ -00052cc0: 7475 7039 3900 tup99. │ │ │ +0004f770: 2020 2020 2020 2020 2020 2062 7920 6465 by de │ │ │ +0004f780: 6669 6e69 7469 6f6e 0a2d 2d20 2020 2020 finition.-- │ │ │ +0004f790: 2020 2020 2020 3d20 2830 202b 206b 2920 = (0 + k) │ │ │ +0004f7a0: 6d6f 6420 2831 202b 206d 2920 2020 2020 mod (1 + m) │ │ │ +0004f7b0: 2020 2020 2020 2020 7369 6e63 6520 6d20 since m │ │ │ +0004f7c0: 3d20 6b20 2b20 6a2c 2074 6875 7320 6b20 = k + j, thus k │ │ │ +0004f7d0: 3c20 6d0a 2d2d 0a2d 2d20 2020 636c 6175 < m.--.-- clau │ │ │ +0004f7e0: 7365 2032 3a20 6d6f 642d 6865 6c70 6572 se 2: mod-helper │ │ │ +0004f7f0: 206b 206d 2028 3120 2b20 6e29 2030 0a2d k m (1 + n) 0.- │ │ │ +0004f800: 2d20 2020 2020 2020 2020 2020 3d20 6d6f - = mo │ │ │ +0004f810: 642d 6865 6c70 6572 2030 206d 206e 206d d-helper 0 m n m │ │ │ +0004f820: 2020 2020 2020 2020 2020 2020 2020 6279 by │ │ │ +0004f830: 2064 6566 696e 6974 696f 6e0a 2d2d 2020 definition.-- │ │ │ +0004f840: 2020 2020 2020 2020 203d 2028 6e20 2b20 = (n + │ │ │ +0004f850: 3029 2020 2020 2020 206d 6f64 2028 3120 0) mod (1 │ │ │ +0004f860: 2b20 6d29 2020 2020 2020 2062 7920 696e + m) by in │ │ │ +0004f870: 6475 6374 696f 6e20 6879 706f 7468 6573 duction hypothes │ │ │ +0004f880: 6973 0a2d 2d20 2020 2020 2020 2020 2020 is.-- │ │ │ +0004f890: 3d20 286e 202b 2028 3120 2b20 6d29 2920 = (n + (1 + m)) │ │ │ +0004f8a0: 6d6f 6420 2831 202b 206d 2920 2020 2020 mod (1 + m) │ │ │ +0004f8b0: 2020 6279 2065 7870 616e 7369 6f6e 0a2d by expansion.- │ │ │ +0004f8c0: 2d20 2020 2020 2020 2020 2020 3d20 2831 - = (1 │ │ │ +0004f8d0: 202b 206e 2920 2b20 6b29 2020 6d6f 6420 + n) + k) mod │ │ │ +0004f8e0: 2831 202b 206d 2920 2020 2020 2020 7369 (1 + m) si │ │ │ +0004f8f0: 6e63 6520 6b20 3d20 6d20 2861 7320 6c20 nce k = m (as l │ │ │ +0004f900: 3d20 3029 0a2d 2d0a 2d2d 2020 2063 6c61 = 0).--.-- cla │ │ │ +0004f910: 7573 6520 333a 206d 6f64 2d68 656c 7065 use 3: mod-helpe │ │ │ +0004f920: 7220 6b20 6d20 2831 202b 206e 2920 2831 r k m (1 + n) (1 │ │ │ +0004f930: 202b 206a 290a 2d2d 2020 2020 2020 2020 + j).-- │ │ │ +0004f940: 2020 203d 206d 6f64 2d68 656c 7065 7220 = mod-helper │ │ │ +0004f950: 2831 202b 206b 2920 6d20 6e20 6a20 2020 (1 + k) m n j │ │ │ +0004f960: 2020 2020 2062 7920 6465 6669 6e69 7469 by definiti │ │ │ +0004f970: 6f6e 0a2d 2d20 2020 2020 2020 2020 2020 on.-- │ │ │ +0004f980: 3d20 286e 202b 2028 3120 2b20 6b29 2920 = (n + (1 + k)) │ │ │ +0004f990: 6d6f 6420 2831 202b 206d 2920 2020 2020 mod (1 + m) │ │ │ +0004f9a0: 2020 6279 2069 6e64 7563 7469 6f6e 2068 by induction h │ │ │ +0004f9b0: 7970 6f74 6865 7369 730a 2d2d 2020 2020 ypothesis.-- │ │ │ +0004f9c0: 2020 2020 2020 203d 2028 2831 202b 206e = ((1 + n │ │ │ +0004f9d0: 2920 2b20 6b29 206d 6f64 2028 3120 2b20 ) + k) mod (1 + │ │ │ +0004f9e0: 6d29 2020 2020 2020 2062 7920 636f 6d6d m) by comm │ │ │ +0004f9f0: 7574 6174 6976 6974 790a 2d2d 0a2d 2d20 utativity.--.-- │ │ │ +0004fa00: 512e 652e 642e 0ae0 cfe8 a4b7 f0e5 9a8a Q.e.d........... │ │ │ +0004fa10: 01b1 9bf8 8da5 dce2 c27b 00d5 0100 04fa .........{...... │ │ │ +0004fa20: 4405 2000 0001 0004 0408 0307 025e 0200 D. ..........^.. │ │ │ +0004fa30: 0003 0f00 0505 050b 5f0b 8d02 0b61 0906 ........_....a.. │ │ │ +0004fa40: 0100 f201 ccab cbde eec7 a7cb fe01 fd98 ................ │ │ │ +0004fa50: d2a3 afbf 9cd7 8f01 008d 0200 04fb 6905 ..............i. │ │ │ +0004fa60: 8280 80e6 0800 0001 0003 0407 0402 0000 ................ │ │ │ +0004fa70: 030f 0009 01f2 017b 2d23 204f 5054 494f .......{-# OPTIO │ │ │ +0004fa80: 4e53 202d 2d63 7562 6963 616c 2d63 6f6d NS --cubical-com │ │ │ +0004fa90: 7061 7469 626c 6520 2d2d 7361 6665 202d patible --safe - │ │ │ +0004faa0: 2d6e 6f2d 7369 7a65 642d 7479 7065 7320 -no-sized-types │ │ │ +0004fab0: 2d2d 6e6f 2d67 7561 7264 6564 6e65 7373 --no-guardedness │ │ │ +0004fac0: 202d 2d6c 6576 656c 2d75 6e69 7665 7273 --level-univers │ │ │ +0004fad0: 6520 232d 7d0a 0a6d 6f64 756c 6520 4167 e #-}..module Ag │ │ │ +0004fae0: 6461 2e42 7569 6c74 696e 2e4d 6179 6265 da.Builtin.Maybe │ │ │ +0004faf0: 2077 6865 7265 0a0a 6461 7461 204d 6179 where..data May │ │ │ +0004fb00: 6265 207b 617d 2028 4120 3a20 5365 7420 be {a} (A : Set │ │ │ +0004fb10: 6129 203a 2053 6574 2061 2077 6865 7265 a) : Set a where │ │ │ +0004fb20: 0a20 206a 7573 7420 3a20 4120 e286 9220 . just : A ... │ │ │ +0004fb30: 4d61 7962 6520 410a 2020 6e6f 7468 696e Maybe A. nothin │ │ │ +0004fb40: 6720 3a20 4d61 7962 6520 410a 0a7b 2d23 g : Maybe A..{-# │ │ │ +0004fb50: 2042 5549 4c54 494e 204d 4159 4245 204d BUILTIN MAYBE M │ │ │ +0004fb60: 6179 6265 2023 2d7d 0ae4 c098 b2a0 b193 aybe #-}........ │ │ │ +0004fb70: c852 f49c e1c8 f8a6 c996 f201 00d2 0100 .R.............. │ │ │ +0004fb80: 04fb a605 2000 0001 0004 0408 0307 025e .... ..........^ │ │ │ +0004fb90: 0200 0003 0f00 0505 050b 5f0b 8e02 0b61 .........._....a │ │ │ +0004fba0: 0906 0100 9104 cfd8 b6be 9ec5 a0f3 5580 ..............U. │ │ │ +0004fbb0: a6d3 dfe5 dc8e 8e61 008e 0200 04fd e805 .......a........ │ │ │ +0004fbc0: 8280 80e6 0800 0001 0003 0407 0402 0000 ................ │ │ │ +0004fbd0: 030f 0009 0191 047b 2d23 204f 5054 494f .......{-# OPTIO │ │ │ +0004fbe0: 4e53 202d 2d63 7562 6963 616c 2d63 6f6d NS --cubical-com │ │ │ +0004fbf0: 7061 7469 626c 6520 2d2d 7361 6665 202d patible --safe - │ │ │ +0004fc00: 2d6e 6f2d 7369 7a65 642d 7479 7065 7320 -no-sized-types │ │ │ +0004fc10: 2d2d 6e6f 2d67 7561 7264 6564 6e65 7373 --no-guardedness │ │ │ +0004fc20: 202d 2d6c 6576 656c 2d75 6e69 7665 7273 --level-univers │ │ │ +0004fc30: 6520 232d 7d0a 0a6d 6f64 756c 6520 4167 e #-}..module Ag │ │ │ +0004fc40: 6461 2e42 7569 6c74 696e 2e4c 6973 7420 da.Builtin.List │ │ │ +0004fc50: 7768 6572 650a 0a69 6e66 6978 7220 3520 where..infixr 5 │ │ │ +0004fc60: 5fe2 88b7 5f0a 6461 7461 204c 6973 7420 _..._.data List │ │ │ +0004fc70: 7b61 7d20 2841 203a 2053 6574 2061 2920 {a} (A : Set a) │ │ │ +0004fc80: 3a20 5365 7420 6120 7768 6572 650a 2020 : Set a where. │ │ │ +0004fc90: 5b5d 2020 3a20 4c69 7374 2041 0a20 205f [] : List A. _ │ │ │ +0004fca0: e288 b75f 203a 2028 7820 3a20 4129 2028 ..._ : (x : A) ( │ │ │ +0004fcb0: 7873 203a 204c 6973 7420 4129 20e2 8692 xs : List A) ... │ │ │ +0004fcc0: 204c 6973 7420 410a 0a7b 2d23 2042 5549 List A..{-# BUI │ │ │ +0004fcd0: 4c54 494e 204c 4953 5420 4c69 7374 2023 LTIN LIST List # │ │ │ +0004fce0: 2d7d 0a0a 7b2d 2320 434f 4d50 494c 4520 -}..{-# COMPILE │ │ │ +0004fcf0: 4a53 2020 4c69 7374 203d 2066 756e 6374 JS List = funct │ │ │ +0004fd00: 696f 6e28 782c 7629 207b 0a20 2069 6620 ion(x,v) {. if │ │ │ +0004fd10: 2878 2e6c 656e 6774 6820 3c20 3129 207b (x.length < 1) { │ │ │ +0004fd20: 2072 6574 7572 6e20 765b 225b 5d22 5d28 return v["[]"]( │ │ │ +0004fd30: 293b 207d 2065 6c73 6520 7b20 7265 7475 ); } else { retu │ │ │ +0004fd40: 726e 2076 5b22 5fe2 88b7 5f22 5d28 785b rn v["_..._"](x[ │ │ │ +0004fd50: 305d 2c20 782e 736c 6963 6528 3129 293b 0], x.slice(1)); │ │ │ +0004fd60: 207d 0a7d 2023 2d7d 0a7b 2d23 2043 4f4d }.} #-}.{-# COM │ │ │ +0004fd70: 5049 4c45 204a 5320 5b5d 203d 2041 7272 PILE JS [] = Arr │ │ │ +0004fd80: 6179 2829 2023 2d7d 0a7b 2d23 2043 4f4d ay() #-}.{-# COM │ │ │ +0004fd90: 5049 4c45 204a 5320 5fe2 88b7 5f20 3d20 PILE JS _..._ = │ │ │ +0004fda0: 6675 6e63 7469 6f6e 2028 7829 207b 2072 function (x) { r │ │ │ +0004fdb0: 6574 7572 6e20 6675 6e63 7469 6f6e 2879 eturn function(y │ │ │ +0004fdc0: 2920 7b20 7265 7475 726e 2041 7272 6179 ) { return Array │ │ │ +0004fdd0: 2878 292e 636f 6e63 6174 2879 293b 207d (x).concat(y); } │ │ │ +0004fde0: 3b20 7d20 232d 7d0a 93f5 a099 aac9 aeb9 ; } #-}......... │ │ │ +0004fdf0: 3d82 b6a6 f9c7 99e7 e24d 00d0 0100 04fe =........M...... │ │ │ +0004fe00: 2405 2000 0001 0004 0408 0307 025e 0200 $. ..........^.. │ │ │ +0004fe10: 0003 0f00 0505 050b 5f0b 8f02 0b61 0906 ........_....a.. │ │ │ +0004fe20: 0100 da03 bddc eecb c6aa b7d2 d501 88a5 ................ │ │ │ +0004fe30: e6c1 9cdd 8ea4 e401 008f 0200 0500 3105 ..............1. │ │ │ +0004fe40: 8280 80e6 0800 0001 0003 0407 0402 0000 ................ │ │ │ +0004fe50: 030f 0009 01da 037b 2d23 204f 5054 494f .......{-# OPTIO │ │ │ +0004fe60: 4e53 202d 2d63 7562 6963 616c 2d63 6f6d NS --cubical-com │ │ │ +0004fe70: 7061 7469 626c 6520 2d2d 7361 6665 202d patible --safe - │ │ │ +0004fe80: 2d6e 6f2d 7369 7a65 642d 7479 7065 7320 -no-sized-types │ │ │ +0004fe90: 2d2d 6e6f 2d67 7561 7264 6564 6e65 7373 --no-guardedness │ │ │ +0004fea0: 202d 2d6c 6576 656c 2d75 6e69 7665 7273 --level-univers │ │ │ +0004feb0: 6520 232d 7d0a 0a6d 6f64 756c 6520 4167 e #-}..module Ag │ │ │ +0004fec0: 6461 2e42 7569 6c74 696e 2e49 6e74 2077 da.Builtin.Int w │ │ │ +0004fed0: 6865 7265 0a0a 6f70 656e 2069 6d70 6f72 here..open impor │ │ │ +0004fee0: 7420 4167 6461 2e42 7569 6c74 696e 2e4e t Agda.Builtin.N │ │ │ +0004fef0: 6174 0a6f 7065 6e20 696d 706f 7274 2041 at.open import A │ │ │ +0004ff00: 6764 612e 4275 696c 7469 6e2e 5374 7269 gda.Builtin.Stri │ │ │ +0004ff10: 6e67 0a0a 696e 6669 7820 3820 706f 7320 ng..infix 8 pos │ │ │ +0004ff20: 202d 2d20 5374 616e 6461 7264 206c 6962 -- Standard lib │ │ │ +0004ff30: 7261 7279 2075 7365 7320 7468 6973 2061 rary uses this a │ │ │ +0004ff40: 7320 2b5f 0a0a 6461 7461 2049 6e74 203a s +_..data Int : │ │ │ +0004ff50: 2053 6574 2077 6865 7265 0a20 2070 6f73 Set where. pos │ │ │ +0004ff60: 2020 2020 3a20 286e 203a 204e 6174 2920 : (n : Nat) │ │ │ +0004ff70: e286 9220 496e 740a 2020 6e65 6773 7563 ... Int. negsuc │ │ │ +0004ff80: 203a 2028 6e20 3a20 4e61 7429 20e2 8692 : (n : Nat) ... │ │ │ +0004ff90: 2049 6e74 0a0a 7b2d 2320 4255 494c 5449 Int..{-# BUILTI │ │ │ +0004ffa0: 4e20 494e 5445 4745 5220 2020 2020 2020 N INTEGER │ │ │ +0004ffb0: 496e 7420 2020 2023 2d7d 0a7b 2d23 2042 Int #-}.{-# B │ │ │ +0004ffc0: 5549 4c54 494e 2049 4e54 4547 4552 504f UILTIN INTEGERPO │ │ │ +0004ffd0: 5320 2020 2070 6f73 2020 2020 232d 7d0a S pos #-}. │ │ │ +0004ffe0: 7b2d 2320 4255 494c 5449 4e20 494e 5445 {-# BUILTIN INTE │ │ │ +0004fff0: 4745 524e 4547 5355 4320 6e65 6773 7563 GERNEGSUC negsuc │ │ │ +00050000: 2023 2d7d 0a0a 7072 696d 6974 6976 6520 #-}..primitive │ │ │ +00050010: 7072 696d 5368 6f77 496e 7465 6765 7220 primShowInteger │ │ │ +00050020: 3a20 496e 7420 e286 9220 5374 7269 6e67 : Int ... String │ │ │ +00050030: 0ad9 bdb9 96a1 dca9 8b4e a697 c8b1 a0eb .........N...... │ │ │ +00050040: adc8 7500 ce01 0005 006d 0520 0000 0100 ..u......m. .... │ │ │ +00050050: 0404 0803 0702 5e02 0000 030f 0005 0505 ......^......... │ │ │ +00050060: 0b5f 0b90 020b 6109 0601 00aa 02ae adbd ._....a......... │ │ │ +00050070: a6cc c6e7 8927 bbf5 83df a999 ad82 e301 .....'.......... │ │ │ +00050080: 0090 0200 0501 c905 8280 80e6 0800 0001 ................ │ │ │ +00050090: 0003 0407 0402 0000 030f 0009 01aa 027b ...............{ │ │ │ +000500a0: 2d23 204f 5054 494f 4e53 202d 2d63 7562 -# OPTIONS --cub │ │ │ +000500b0: 6963 616c 2d63 6f6d 7061 7469 626c 6520 ical-compatible │ │ │ +000500c0: 2d2d 7361 6665 202d 2d6e 6f2d 7369 7a65 --safe --no-size │ │ │ +000500d0: 642d 7479 7065 7320 2d2d 6e6f 2d67 7561 d-types --no-gua │ │ │ +000500e0: 7264 6564 6e65 7373 202d 2d6c 6576 656c rdedness --level │ │ │ +000500f0: 2d75 6e69 7665 7273 6520 232d 7d0a 0a6d -universe #-}..m │ │ │ +00050100: 6f64 756c 6520 4167 6461 2e42 7569 6c74 odule Agda.Built │ │ │ +00050110: 696e 2e49 4f20 7768 6572 650a 0a70 6f73 in.IO where..pos │ │ │ +00050120: 7475 6c61 7465 2049 4f20 3a20 e288 8020 tulate IO : ... │ │ │ +00050130: 7b61 7d20 e286 9220 5365 7420 6120 e286 {a} ... Set a .. │ │ │ +00050140: 9220 5365 7420 610a 7b2d 2320 504f 4c41 . Set a.{-# POLA │ │ │ +00050150: 5249 5459 2049 4f20 2b2b 202b 2b20 232d RITY IO ++ ++ #- │ │ │ +00050160: 7d0a 7b2d 2320 4255 494c 5449 4e20 494f }.{-# BUILTIN IO │ │ │ +00050170: 2049 4f20 232d 7d0a 0a7b 2d23 2046 4f52 IO #-}..{-# FOR │ │ │ +00050180: 4549 474e 2047 4843 2074 7970 6520 4167 EIGN GHC type Ag │ │ │ +00050190: 6461 494f 2061 2062 203d 2049 4f20 6220 daIO a b = IO b │ │ │ +000501a0: 232d 7d0a 7b2d 2320 434f 4d50 494c 4520 #-}.{-# COMPILE │ │ │ +000501b0: 4748 4320 494f 203d 2074 7970 6520 4167 GHC IO = type Ag │ │ │ +000501c0: 6461 494f 2023 2d7d 0a00 0000 0005 01d1 daIO #-}........ │ │ │ +000501d0: 00c7 f9f7 e984 dfa6 9f69 aebc f1de 85c0 .........i...... │ │ │ +000501e0: 83b2 1e00 0000 0000 9102 0000 0100 f001 ................ │ │ │ +000501f0: 0000 0100 4a00 0001 00f1 0100 0001 00f2 ....J........... │ │ │ +00050200: 0100 0001 00f3 0100 0e64 00f4 0100 0001 .........d...... │ │ │ +00050210: 00f5 0100 0001 00f6 0100 0e64 00f7 0100 ...........d.... │ │ │ +00050220: 0001 00f8 0100 0001 00f9 0100 0001 00fa ................ │ │ │ +00050230: 0100 0001 00fb 0100 35fc 0100 fd01 0006 ........5....... │ │ │ +00050240: 2303 fe01 0006 2300 ff01 000b 8002 0381 #.....#......... │ │ │ +00050250: 0200 0e64 0382 0200 0623 0383 0200 051b ...d.....#...... │ │ │ +00050260: 0184 0200 0785 0200 8602 000b 5e03 8702 ............^... │ │ │ +00050270: 0009 5700 8802 0000 0100 8902 000b 5800 ..W...........X. │ │ │ +00050280: 8a02 0008 5503 8b02 0008 8c02 008d 0200 ....U........... │ │ │ +00050290: 0b8e 0203 8f02 000b 8002 0390 0200 0b91 ................ │ │ │ +000502a0: 0201 9202 0008 5500 9302 0008 5500 9402 ......U.....U... │ │ │ +000502b0: 0006 2103 9502 0009 5700 9602 0009 5700 ..!.....W.....W. │ │ │ +000502c0: 9702 000b 9802 0099 0200 0b9a 0200 9b02 ................ │ │ │ +000502d0: 000b 9c02 039d 0200 0652 009e 0200 0b5f .........R....._ │ │ │ +000502e0: 009f 0200 0b98 0200 a002 0000 0100 a102 ................ │ │ │ +000502f0: 0000 0100 a202 000b 3203 a302 000b a402 ........2....... │ │ │ +00050300: 03a5 0200 a602 a702 00a8 0200 3536 03a9 ............56.. │ │ │ +00050310: 0200 0baa 0200 ab02 0000 0100 ac02 0007 ................ │ │ │ +00050320: 8502 00ad 0200 3536 03ae 0200 0785 0200 ......56........ │ │ │ +00050330: af02 0000 0200 4700 0001 00b0 0200 0001 ......G......... │ │ │ +00050340: 00b1 0200 0bb2 0203 b302 000b b402 00b5 ................ │ │ │ +00050350: 0200 0bb2 0201 b302 000b b602 00b7 0200 ................ │ │ │ +00050360: 0001 00b8 0200 0b63 00b9 0200 0bb6 0203 .......c........ │ │ │ +00050370: ba02 0000 0100 bb02 0000 0100 bc02 000b ................ │ │ │ +00050380: 0c00 bd02 000b 6200 be02 000b 6200 bf02 ......b.....b... │ │ │ +00050390: 000b 6200 c002 0000 0100 c102 0000 0100 ..b............. │ │ │ +000503a0: c202 0007 5300 c302 0000 0100 c402 0000 ....S........... │ │ │ +000503b0: 0100 c502 0000 0100 c602 0009 c702 03c8 ................ │ │ │ +000503c0: 0200 07c9 0200 ca02 0007 8502 00cb 0200 ................ │ │ │ +000503d0: 35fc 0100 cc02 000b cd02 00ce 0200 0785 5............... │ │ │ +000503e0: 0200 cf02 0007 5400 d002 0035 fc01 00d1 ......T....5.... │ │ │ +000503f0: 0200 0001 00d2 0200 0001 00d3 0200 0004 ................ │ │ │ +00050400: 00d4 0200 0004 00d5 0200 0001 00d5 0200 ................ │ │ │ +00050410: 0001 00d6 0200 0001 00d7 0200 0001 00d8 ................ │ │ │ +00050420: 0200 0001 00d9 0200 0001 00da 0200 0001 ................ │ │ │ +00050430: 00db 0200 0001 00dc 0200 0621 01dd 0200 ...........!.... │ │ │ +00050440: 0621 00dd 0200 0001 00de 0200 0bdf 0200 .!.............. │ │ │ +00050450: e002 0000 0100 e102 0000 0100 e202 0000 ................ │ │ │ +00050460: 0100 e302 0000 0100 e402 0000 0100 e502 ................ │ │ │ +00050470: 0000 0100 e602 0000 0100 e702 0000 0100 ................ │ │ │ +00050480: e802 0000 0100 e902 0000 0100 ea02 0000 ................ │ │ │ +00050490: 0100 eb02 0000 0100 ec02 0000 0100 ed02 ................ │ │ │ +000504a0: 0000 0100 ee02 0000 0100 ef02 0000 0100 ................ │ │ │ +000504b0: f002 0000 0100 f102 0000 0100 f202 0000 ................ │ │ │ +000504c0: 0100 f302 0000 0100 f402 0000 0100 f502 ................ │ │ │ +000504d0: 0000 0100 f602 0000 0100 f702 0000 0100 ................ │ │ │ +000504e0: f802 0000 0100 f902 0000 0100 fa02 0000 ................ │ │ │ +000504f0: 0100 fb02 0000 0100 fc02 0000 0100 fd02 ................ │ │ │ +00050500: 0000 0100 fe02 0000 0100 ff02 0000 0100 ................ │ │ │ +00050510: 8003 0000 0100 8103 0000 0100 8203 0000 ................ │ │ │ +00050520: 0100 8303 0000 0100 8403 0000 0100 8503 ................ │ │ │ +00050530: 0000 0100 8603 0000 0100 8703 0000 0100 ................ │ │ │ +00050540: 8803 0000 0100 8903 0000 0100 8a03 0000 ................ │ │ │ +00050550: 0100 8b03 0000 0100 8c03 0000 0100 8d03 ................ │ │ │ +00050560: 0000 0100 8e03 0000 0100 8f03 0000 0100 ................ │ │ │ +00050570: 9003 0000 0100 9103 0000 0100 9203 0000 ................ │ │ │ +00050580: 0100 9303 0000 0100 9403 0000 0100 9503 ................ │ │ │ +00050590: 0000 0100 9603 0000 0100 9703 0000 0100 ................ │ │ │ +000505a0: 9803 0000 0100 9903 0000 0100 9a03 0000 ................ │ │ │ +000505b0: 0100 9b03 0000 0100 9c03 0000 0100 9d03 ................ │ │ │ +000505c0: 0000 0100 9e03 0000 0100 9f03 0000 0100 ................ │ │ │ +000505d0: a003 0000 0100 a103 0000 0100 a203 0000 ................ │ │ │ +000505e0: 0100 a303 0000 0100 a403 0000 0100 a503 ................ │ │ │ +000505f0: 0000 0100 a603 0000 0100 a703 000b 5c00 ..............\. │ │ │ +00050600: a803 0000 0100 a903 0000 0100 aa03 0000 ................ │ │ │ +00050610: 0100 ab03 000b 5c00 ac03 0000 0100 ad03 ......\......... │ │ │ +00050620: 0000 0100 ae03 0000 1900 af03 0000 0100 ................ │ │ │ +00050630: b003 0000 0100 b103 0000 0100 b203 0000 ................ │ │ │ +00050640: 0100 b303 000b a402 01a5 0200 0bb4 0300 ................ │ │ │ +00050650: b503 000b a402 00b6 0300 0bb4 0303 b703 ................ │ │ │ +00050660: 000b 3200 b803 000b b903 03ba 0300 0baa ..2............. │ │ │ +00050670: 0200 bb03 0000 0100 bc03 0000 0100 bd03 ................ │ │ │ +00050680: 0000 0100 be03 0000 0100 bf03 0000 0100 ................ │ │ │ +00050690: c003 0000 0100 c103 0000 0100 c203 0000 ................ │ │ │ +000506a0: 0100 c303 0000 0100 c403 0000 0100 c503 ................ │ │ │ +000506b0: 0000 0100 c603 0000 0100 c703 0000 0100 ................ │ │ │ +000506c0: c803 0000 0100 c903 0000 0100 ca03 0000 ................ │ │ │ +000506d0: 0100 cb03 0000 0100 cc03 0000 0100 cd03 ................ │ │ │ +000506e0: 0000 0100 ce03 0000 0100 cf03 0000 0100 ................ │ │ │ +000506f0: d003 0000 0100 d103 0000 0100 d203 0000 ................ │ │ │ +00050700: 0100 d303 0000 0100 d403 0000 0100 d503 ................ │ │ │ +00050710: 0000 0100 d603 0000 0100 d703 0000 0100 ................ │ │ │ +00050720: d803 0000 0100 d903 0000 0100 da03 0000 ................ │ │ │ +00050730: 0100 db03 0000 0100 dc03 0000 0100 dd03 ................ │ │ │ +00050740: 0000 0100 de03 0000 0100 df03 0000 0100 ................ │ │ │ +00050750: e003 0000 0100 e103 0000 0100 e203 0000 ................ │ │ │ +00050760: 0100 e303 0000 0100 e403 0000 0100 e503 ................ │ │ │ +00050770: 0000 0100 e603 0000 0100 e703 0000 0100 ................ │ │ │ +00050780: e803 0000 0100 e903 0000 0100 ea03 0000 ................ │ │ │ +00050790: 0100 eb03 0000 0100 ec03 0000 0100 ed03 ................ │ │ │ +000507a0: 0000 0100 ee03 0000 0100 ef03 0000 0100 ................ │ │ │ +000507b0: f003 0000 0100 f103 0000 0100 f203 0000 ................ │ │ │ +000507c0: 0100 f303 0000 0100 f403 0000 0100 f503 ................ │ │ │ +000507d0: 0000 0100 f603 0000 0100 f703 0000 0100 ................ │ │ │ +000507e0: f803 0000 0100 f903 0000 0100 fa03 0000 ................ │ │ │ +000507f0: 0100 fb03 0000 0100 fc03 0000 0100 fd03 ................ │ │ │ +00050800: 0000 0100 fe03 0000 0100 ff03 0000 0100 ................ │ │ │ +00050810: 8004 0000 0100 8104 0000 0100 8204 0000 ................ │ │ │ +00050820: 0100 8304 0000 0100 8404 0000 0100 8504 ................ │ │ │ +00050830: 0000 0100 8604 0000 0100 8704 0000 0100 ................ │ │ │ +00050840: 8804 0000 0100 8904 0000 0100 8a04 0000 ................ │ │ │ +00050850: 0100 8b04 0000 0100 8c04 0000 0100 8d04 ................ │ │ │ +00050860: 0000 0100 8e04 0000 0100 8f04 0000 0100 ................ │ │ │ +00050870: 9004 9104 2141 6764 612d 322e 382e 302d ....!Agda-2.8.0- │ │ │ +00050880: 4b75 4145 4b44 5247 3577 7346 5264 4135 KuAEKDRG5wsFRdA5 │ │ │ +00050890: 7738 7347 4c43 0a41 6764 612e 5365 7475 w8sGLC.Agda.Setu │ │ │ +000508a0: 7014 4167 6461 2e53 6574 7570 2e44 6174 p.Agda.Setup.Dat │ │ │ +000508b0: 6146 696c 6573 1241 6764 612e 5665 7273 aFiles.Agda.Vers │ │ │ +000508c0: 696f 6e43 6f6d 6d69 740a 5061 7468 735f ionCommit.Paths_ │ │ │ +000508d0: 4167 6461 0462 6173 651b 6279 7465 7374 Agda.base.bytest │ │ │ +000508e0: 7269 6e67 2d30 2e31 322e 322e 302d 696e ring-0.12.2.0-in │ │ │ +000508f0: 706c 6163 6519 6469 7265 6374 6f72 792d place.directory- │ │ │ +00050900: 312e 332e 382e 352d 696e 706c 6163 6527 1.3.8.5-inplace' │ │ │ +00050910: 6669 6c65 6c6f 636b 2d30 2e31 2e31 2e38 filelock-0.1.1.8 │ │ │ +00050920: 2d33 5750 3270 674a 7a37 6165 3761 494f -3WP2pgJz7ae7aIO │ │ │ +00050930: 3862 4b43 6a57 6818 6669 6c65 7061 7468 8bKCjWh.filepath │ │ │ +00050940: 2d31 2e35 2e34 2e30 2d69 6e70 6c61 6365 -1.5.4.0-inplace │ │ │ +00050950: 1074 656d 706c 6174 652d 6861 736b 656c .template-haskel │ │ │ +00050960: 6c0c 6768 632d 696e 7465 726e 616c 1147 l.ghc-internal.G │ │ │ +00050970: 4843 2e49 6e74 6572 6e61 6c2e 4261 7365 HC.Internal.Base │ │ │ +00050980: 1247 4843 2e49 6e74 6572 6e61 6c2e 466c .GHC.Internal.Fl │ │ │ +00050990: 6f61 7408 6768 632d 7072 696d 0c47 4843 oat.ghc-prim.GHC │ │ │ +000509a0: 2e50 7269 6d2e 4578 7413 7374 6d2d 322e .Prim.Ext.stm-2. │ │ │ +000509b0: 352e 332e 312d 696e 706c 6163 6511 436f 5.3.1-inplace.Co │ │ │ +000509c0: 6e74 726f 6c2e 4d6f 6e61 642e 5354 4d13 ntrol.Monad.STM. │ │ │ +000509d0: 7469 6d65 2d31 2e31 322e 322d 696e 706c time-1.12.2-inpl │ │ │ +000509e0: 6163 651c 4461 7461 2e54 696d 652e 4361 ace.Data.Time.Ca │ │ │ +000509f0: 6c65 6e64 6172 2e47 7265 676f 7269 616e lendar.Gregorian │ │ │ +00050a00: 2144 6174 612e 5469 6d65 2e46 6f72 6d61 !Data.Time.Forma │ │ │ +00050a10: 742e 466f 726d 6174 2e49 6e73 7461 6e63 t.Format.Instanc │ │ │ +00050a20: 6573 1644 6174 612e 5469 6d65 2e46 6f72 es.Data.Time.For │ │ │ +00050a30: 6d61 742e 5061 7273 6520 4461 7461 2e54 mat.Parse Data.T │ │ │ +00050a40: 696d 652e 466f 726d 6174 2e50 6172 7365 ime.Format.Parse │ │ │ +00050a50: 2e49 6e73 7461 6e63 6573 2644 6174 612e .Instances&Data. │ │ │ +00050a60: 5469 6d65 2e4c 6f63 616c 5469 6d65 2e49 Time.LocalTime.I │ │ │ +00050a70: 6e74 6572 6e61 6c2e 4c6f 6361 6c54 696d nternal.LocalTim │ │ │ +00050a80: 6526 4461 7461 2e54 696d 652e 4c6f 6361 e&Data.Time.Loca │ │ │ +00050a90: 6c54 696d 652e 496e 7465 726e 616c 2e5a lTime.Internal.Z │ │ │ +00050aa0: 6f6e 6564 5469 6d65 0c41 6764 612e 5665 onedTime.Agda.Ve │ │ │ +00050ab0: 7273 696f 6e13 436f 6e74 726f 6c2e 4170 rsion.Control.Ap │ │ │ +00050ac0: 706c 6963 6174 6976 650f 4461 7461 2e41 plicative.Data.A │ │ │ +00050ad0: 7272 6179 2e42 7974 650c 4461 7461 2e43 rray.Byte.Data.C │ │ │ +00050ae0: 6f6d 706c 6578 1444 6174 612e 4675 6e63 omplex.Data.Func │ │ │ +00050af0: 746f 722e 436f 6d70 6f73 6514 4461 7461 tor.Compose.Data │ │ │ +00050b00: 2e46 756e 6374 6f72 2e50 726f 6475 6374 .Functor.Product │ │ │ +00050b10: 1044 6174 612e 4675 6e63 746f 722e 5375 .Data.Functor.Su │ │ │ +00050b20: 6d0e 4461 7461 2e53 656d 6967 726f 7570 m.Data.Semigroup │ │ │ +00050b30: 1d44 6174 612e 4279 7465 5374 7269 6e67 .Data.ByteString │ │ │ +00050b40: 2e49 6e74 6572 6e61 6c2e 5479 7065 1d44 .Internal.Type.D │ │ │ +00050b50: 6174 612e 4279 7465 5374 7269 6e67 2e4c ata.ByteString.L │ │ │ +00050b60: 617a 792e 496e 7465 726e 616c 1e44 6174 azy.Internal.Dat │ │ │ +00050b70: 612e 4279 7465 5374 7269 6e67 2e53 686f a.ByteString.Sho │ │ │ +00050b80: 7274 2e49 6e74 6572 6e61 6c17 6465 6570 rt.Internal.deep │ │ │ +00050b90: 7365 712d 312e 352e 302e 302d 696e 706c seq-1.5.0.0-inpl │ │ │ +00050ba0: 6163 650f 436f 6e74 726f 6c2e 4465 6570 ace.Control.Deep │ │ │ +00050bb0: 5365 711a 6768 632d 626f 6f74 2d74 682d Seq.ghc-boot-th- │ │ │ +00050bc0: 392e 3130 2e33 2d69 6e70 6c61 6365 1747 9.10.3-inplace.G │ │ │ +00050bd0: 4843 2e46 6f72 6569 676e 5372 634c 616e HC.ForeignSrcLan │ │ │ +00050be0: 672e 5479 7065 1b47 4843 2e4c 616e 6775 g.Type.GHC.Langu │ │ │ +00050bf0: 6167 6545 7874 656e 7369 6f6e 732e 5479 ageExtensions.Ty │ │ │ +00050c00: 7065 1a47 4843 2e49 6e74 6572 6e61 6c2e pe.GHC.Internal. │ │ │ +00050c10: 436f 6e74 726f 6c2e 4172 726f 771f 4748 Control.Arrow.GH │ │ │ +00050c20: 432e 496e 7465 726e 616c 2e44 6174 612e C.Internal.Data. │ │ │ +00050c30: 4675 6e63 746f 722e 436f 6e73 7422 4748 Functor.Const"GH │ │ │ +00050c40: 432e 496e 7465 726e 616c 2e44 6174 612e C.Internal.Data. │ │ │ +00050c50: 4675 6e63 746f 722e 4964 656e 7469 7479 Functor.Identity │ │ │ +00050c60: 1847 4843 2e49 6e74 6572 6e61 6c2e 4461 .GHC.Internal.Da │ │ │ +00050c70: 7461 2e4d 6f6e 6f69 6424 4748 432e 496e ta.Monoid$GHC.In │ │ │ +00050c80: 7465 726e 616c 2e44 6174 612e 5365 6d69 ternal.Data.Semi │ │ │ +00050c90: 6772 6f75 702e 496e 7465 726e 616c 1a47 group.Internal.G │ │ │ +00050ca0: 4843 2e49 6e74 6572 6e61 6c2e 4461 7461 HC.Internal.Data │ │ │ +00050cb0: 2e54 7970 652e 4f72 6419 4748 432e 496e .Type.Ord.GHC.In │ │ │ +00050cc0: 7465 726e 616c 2e44 6174 612e 5665 7273 ternal.Data.Vers │ │ │ +00050cd0: 696f 6e1c 4748 432e 496e 7465 726e 616c ion.GHC.Internal │ │ │ +00050ce0: 2e46 756e 6374 6f72 2e5a 6970 4c69 7374 .Functor.ZipList │ │ │ +00050cf0: 1547 4843 2e49 6e74 6572 6e61 6c2e 4765 .GHC.Internal.Ge │ │ │ +00050d00: 6e65 7269 6373 1947 4843 2e49 6e74 6572 nerics.GHC.Inter │ │ │ +00050d10: 6e61 6c2e 494f 2e45 7863 6570 7469 6f6e nal.IO.Exception │ │ │ +00050d20: 1347 4843 2e49 6e74 6572 6e61 6c2e 4973 .GHC.Internal.Is │ │ │ +00050d30: 4c69 7374 1647 4843 2e49 6e74 6572 6e61 List.GHC.Interna │ │ │ +00050d40: 6c2e 5254 532e 466c 6167 7317 6f73 2d73 l.RTS.Flags.os-s │ │ │ +00050d50: 7472 696e 672d 322e 302e 372d 696e 706c tring-2.0.7-inpl │ │ │ +00050d60: 6163 651e 5379 7374 656d 2e4f 7353 7472 ace.System.OsStr │ │ │ +00050d70: 696e 672e 496e 7465 726e 616c 2e54 7970 ing.Internal.Typ │ │ │ +00050d80: 6573 1670 7265 7474 792d 312e 312e 332e es.pretty-1.1.3. │ │ │ +00050d90: 362d 696e 706c 6163 6523 5465 7874 2e50 6-inplace#Text.P │ │ │ +00050da0: 7265 7474 7950 7269 6e74 2e41 6e6e 6f74 rettyPrint.Annot │ │ │ +00050db0: 6174 6564 2e48 7567 6865 7350 4a19 5465 ated.HughesPJ.Te │ │ │ +00050dc0: 7874 2e50 7265 7474 7950 7269 6e74 2e48 xt.PrettyPrint.H │ │ │ +00050dd0: 7567 6865 7350 4a1a 4c61 6e67 7561 6765 ughesPJ.Language │ │ │ +00050de0: 2e48 6173 6b65 6c6c 2e54 482e 5379 6e74 .Haskell.TH.Synt │ │ │ +00050df0: 6178 1c74 7261 6e73 666f 726d 6572 732d ax.transformers- │ │ │ +00050e00: 302e 362e 312e 312d 696e 706c 6163 6518 0.6.1.1-inplace. │ │ │ +00050e10: 436f 6e74 726f 6c2e 4d6f 6e61 642e 5472 Control.Monad.Tr │ │ │ +00050e20: 616e 732e 436f 6e74 1a43 6f6e 7472 6f6c ans.Cont.Control │ │ │ +00050e30: 2e4d 6f6e 6164 2e54 7261 6e73 2e45 7863 .Monad.Trans.Exc │ │ │ +00050e40: 6570 741c 436f 6e74 726f 6c2e 4d6f 6e61 ept.Control.Mona │ │ │ +00050e50: 642e 5472 616e 732e 4964 656e 7469 7479 d.Trans.Identity │ │ │ +00050e60: 1943 6f6e 7472 6f6c 2e4d 6f6e 6164 2e54 .Control.Monad.T │ │ │ +00050e70: 7261 6e73 2e4d 6179 6265 1c43 6f6e 7472 rans.Maybe.Contr │ │ │ +00050e80: 6f6c 2e4d 6f6e 6164 2e54 7261 6e73 2e52 ol.Monad.Trans.R │ │ │ +00050e90: 5753 2e4c 617a 791e 436f 6e74 726f 6c2e WS.Lazy.Control. │ │ │ +00050ea0: 4d6f 6e61 642e 5472 616e 732e 5257 532e Monad.Trans.RWS. │ │ │ +00050eb0: 5374 7269 6374 1a43 6f6e 7472 6f6c 2e4d Strict.Control.M │ │ │ +00050ec0: 6f6e 6164 2e54 7261 6e73 2e52 6561 6465 onad.Trans.Reade │ │ │ +00050ed0: 721e 436f 6e74 726f 6c2e 4d6f 6e61 642e r.Control.Monad. │ │ │ +00050ee0: 5472 616e 732e 5374 6174 652e 4c61 7a79 Trans.State.Lazy │ │ │ +00050ef0: 2043 6f6e 7472 6f6c 2e4d 6f6e 6164 2e54 Control.Monad.T │ │ │ +00050f00: 7261 6e73 2e53 7461 7465 2e53 7472 6963 rans.State.Stric │ │ │ +00050f10: 741f 436f 6e74 726f 6c2e 4d6f 6e61 642e t.Control.Monad. │ │ │ +00050f20: 5472 616e 732e 5772 6974 6572 2e4c 617a Trans.Writer.Laz │ │ │ +00050f30: 7921 436f 6e74 726f 6c2e 4d6f 6e61 642e y!Control.Monad. │ │ │ +00050f40: 5472 616e 732e 5772 6974 6572 2e53 7472 Trans.Writer.Str │ │ │ +00050f50: 6963 7409 6461 7461 4669 6c65 7308 6461 ict.dataFiles.da │ │ │ +00050f60: 7461 5061 7468 1576 6572 7369 6f6e 5769 taPath.versionWi │ │ │ +00050f70: 7468 436f 6d6d 6974 496e 666f 0a67 6574 thCommitInfo.get │ │ │ +00050f80: 4461 7461 4469 7211 436f 6e74 726f 6c2e DataDir.Control. │ │ │ +00050f90: 4578 6365 7074 696f 6e0d 436f 6e74 726f Exception.Contro │ │ │ +00050fa0: 6c2e 4d6f 6e61 640c 4461 7461 2e46 756e l.Monad.Data.Fun │ │ │ +00050fb0: 6374 6f72 0944 6174 612e 4c69 7374 0750 ctor.Data.List.P │ │ │ +00050fc0: 7265 6c75 6465 1253 7973 7465 6d2e 456e relude.System.En │ │ │ +00050fd0: 7669 726f 6e6d 656e 7409 5379 7374 656d vironment.System │ │ │ +00050fe0: 2e49 4f0f 4461 7461 2e42 7974 6553 7472 .IO.Data.ByteStr │ │ │ +00050ff0: 696e 6710 5379 7374 656d 2e44 6972 6563 ing.System.Direc │ │ │ +00051000: 746f 7279 2053 7973 7465 6d2e 4469 7265 tory System.Dire │ │ │ +00051010: 6374 6f72 792e 496e 7465 726e 616c 2e43 ctory.Internal.C │ │ │ +00051020: 6f6d 6d6f 6e0f 5379 7374 656d 2e46 696c ommon.System.Fil │ │ │ +00051030: 654c 6f63 6b0f 5379 7374 656d 2e46 696c eLock.System.Fil │ │ │ +00051040: 6550 6174 6815 5379 7374 656d 2e46 696c ePath.System.Fil │ │ │ +00051050: 6550 6174 682e 506f 7369 7823 4748 432e ePath.Posix#GHC. │ │ │ +00051060: 496e 7465 726e 616c 2e43 6f6e 7472 6f6c Internal.Control │ │ │ +00051070: 2e45 7863 6570 7469 6f6e 2e42 6173 651a .Exception.Base. │ │ │ +00051080: 4748 432e 496e 7465 726e 616c 2e43 6f6e GHC.Internal.Con │ │ │ +00051090: 7472 6f6c 2e4d 6f6e 6164 1a47 4843 2e49 trol.Monad.GHC.I │ │ │ +000510a0: 6e74 6572 6e61 6c2e 4461 7461 2e46 6f6c nternal.Data.Fol │ │ │ +000510b0: 6461 626c 6519 4748 432e 496e 7465 726e dable.GHC.Intern │ │ │ +000510c0: 616c 2e44 6174 612e 4675 6e63 746f 7219 al.Data.Functor. │ │ │ +000510d0: 4748 432e 496e 7465 726e 616c 2e44 6174 GHC.Internal.Dat │ │ │ +000510e0: 612e 4f6c 644c 6973 741d 4748 432e 496e a.OldList.GHC.In │ │ │ +000510f0: 7465 726e 616c 2e44 6174 612e 5472 6176 ternal.Data.Trav │ │ │ +00051100: 6572 7361 626c 650f 4748 432e 496e 7465 ersable.GHC.Inte │ │ │ +00051110: 726e 616c 2e49 4f1b 4748 432e 496e 7465 rnal.IO.GHC.Inte │ │ │ +00051120: 726e 616c 2e49 4f2e 4861 6e64 6c65 2e54 rnal.IO.Handle.T │ │ │ +00051130: 6578 741a 4748 432e 496e 7465 726e 616c ext.GHC.Internal │ │ │ +00051140: 2e49 4f2e 5374 6448 616e 646c 6573 1147 .IO.StdHandles.G │ │ │ +00051150: 4843 2e49 6e74 6572 6e61 6c2e 4c69 7374 HC.Internal.List │ │ │ +00051160: 1147 4843 2e49 6e74 6572 6e61 6c2e 5368 .GHC.Internal.Sh │ │ │ +00051170: 6f77 1f47 4843 2e49 6e74 6572 6e61 6c2e ow.GHC.Internal. │ │ │ +00051180: 5379 7374 656d 2e45 6e76 6972 6f6e 6d65 System.Environme │ │ │ +00051190: 6e74 0947 4843 2e54 7970 6573 cc00 2f75 nt.GHC.Types../u │ │ │ +000511a0: 7372 2f6c 6962 2f67 6863 2f6c 6962 2f2e sr/lib/ghc/lib/. │ │ │ +000511b0: 2e2f 6c69 622f 6933 3836 2d6c 696e 7578 ./lib/i386-linux │ │ │ +000511c0: 2d67 6863 2d39 2e31 302e 332f 7274 732d -ghc-9.10.3/rts- │ │ │ +000511d0: 312e 302e 322f 696e 636c 7564 652f 6768 1.0.2/include/gh │ │ │ +000511e0: 6376 6572 7369 6f6e 2e68 2564 6973 742d cversion.h%dist- │ │ │ +000511f0: 6768 632f 6275 696c 642f 6175 746f 6765 ghc/build/autoge │ │ │ +00051200: 6e2f 6361 6261 6c5f 6d61 6372 6f73 2e68 n/cabal_macros.h │ │ │ +00051210: 1a2f 7573 722f 696e 636c 7564 652f 7374 ./usr/include/st │ │ │ +00051220: 6463 2d70 7265 6465 662e 6829 7372 632f dc-predef.h)src/ │ │ │ +00051230: 6461 7461 2f4d 416c 6f6e 7a6f 2f73 7263 data/MAlonzo/src │ │ │ +00051240: 2f4d 416c 6f6e 7a6f 2f52 5445 2f46 6c6f /MAlonzo/RTE/Flo │ │ │ +00051250: 6174 2e68 7323 7372 632f 6461 7461 2f4d at.hs#src/data/M │ │ │ +00051260: 416c 6f6e 7a6f 2f73 7263 2f4d 416c 6f6e Alonzo/src/MAlon │ │ │ +00051270: 7a6f 2f52 5445 2e68 732d 7372 632f 6461 zo/RTE.hs-src/da │ │ │ +00051280: 7461 2f6c 6962 2f70 7269 6d2f 4167 6461 ta/lib/prim/Agda │ │ │ +00051290: 2f50 7269 6d69 7469 7665 2f43 7562 6963 /Primitive/Cubic │ │ │ +000512a0: 616c 2e61 6764 6125 7372 632f 6461 7461 al.agda%src/data │ │ │ +000512b0: 2f6c 6962 2f70 7269 6d2f 4167 6461 2f50 /lib/prim/Agda/P │ │ │ +000512c0: 7269 6d69 7469 7665 2e61 6764 6133 7372 rimitive.agda3sr │ │ │ +000512d0: 632f 6461 7461 2f6c 6962 2f70 7269 6d2f c/data/lib/prim/ │ │ │ +000512e0: 4167 6461 2f42 7569 6c74 696e 2f57 6f72 Agda/Builtin/Wor │ │ │ +000512f0: 642f 5072 6f70 6572 7469 6573 2e61 6764 d/Properties.agd │ │ │ +00051300: 6128 7372 632f 6461 7461 2f6c 6962 2f70 a(src/data/lib/p │ │ │ +00051310: 7269 6d2f 4167 6461 2f42 7569 6c74 696e rim/Agda/Builtin │ │ │ +00051320: 2f57 6f72 642e 6167 6461 2873 7263 2f64 /Word.agda(src/d │ │ │ +00051330: 6174 612f 6c69 622f 7072 696d 2f41 6764 ata/lib/prim/Agd │ │ │ +00051340: 612f 4275 696c 7469 6e2f 556e 6974 2e61 a/Builtin/Unit.a │ │ │ +00051350: 6764 612b 7372 632f 6461 7461 2f6c 6962 gda+src/data/lib │ │ │ +00051360: 2f70 7269 6d2f 4167 6461 2f42 7569 6c74 /prim/Agda/Built │ │ │ +00051370: 696e 2f54 7275 7374 4d65 2e61 6764 6135 in/TrustMe.agda5 │ │ │ +00051380: 7372 632f 6461 7461 2f6c 6962 2f70 7269 src/data/lib/pri │ │ │ +00051390: 6d2f 4167 6461 2f42 7569 6c74 696e 2f53 m/Agda/Builtin/S │ │ │ +000513a0: 7472 696e 672f 5072 6f70 6572 7469 6573 tring/Properties │ │ │ +000513b0: 2e61 6764 612a 7372 632f 6461 7461 2f6c .agda*src/data/l │ │ │ +000513c0: 6962 2f70 7269 6d2f 4167 6461 2f42 7569 ib/prim/Agda/Bui │ │ │ +000513d0: 6c74 696e 2f53 7472 696e 672e 6167 6461 ltin/String.agda │ │ │ +000513e0: 2a73 7263 2f64 6174 612f 6c69 622f 7072 *src/data/lib/pr │ │ │ +000513f0: 696d 2f41 6764 612f 4275 696c 7469 6e2f im/Agda/Builtin/ │ │ │ +00051400: 5374 7269 6374 2e61 6764 6128 7372 632f Strict.agda(src/ │ │ │ +00051410: 6461 7461 2f6c 6962 2f70 7269 6d2f 4167 data/lib/prim/Ag │ │ │ +00051420: 6461 2f42 7569 6c74 696e 2f53 697a 652e da/Builtin/Size. │ │ │ +00051430: 6167 6461 2973 7263 2f64 6174 612f 6c69 agda)src/data/li │ │ │ +00051440: 622f 7072 696d 2f41 6764 612f 4275 696c b/prim/Agda/Buil │ │ │ +00051450: 7469 6e2f 5369 676d 612e 6167 6461 3973 tin/Sigma.agda9s │ │ │ +00051460: 7263 2f64 6174 612f 6c69 622f 7072 696d rc/data/lib/prim │ │ │ +00051470: 2f41 6764 612f 4275 696c 7469 6e2f 5265 /Agda/Builtin/Re │ │ │ +00051480: 666c 6563 7469 6f6e 2f50 726f 7065 7274 flection/Propert │ │ │ +00051490: 6965 732e 6167 6461 3773 7263 2f64 6174 ies.agda7src/dat │ │ │ +000514a0: 612f 6c69 622f 7072 696d 2f41 6764 612f a/lib/prim/Agda/ │ │ │ +000514b0: 4275 696c 7469 6e2f 5265 666c 6563 7469 Builtin/Reflecti │ │ │ +000514c0: 6f6e 2f45 7874 6572 6e61 6c2e 6167 6461 on/External.agda │ │ │ +000514d0: 2e73 7263 2f64 6174 612f 6c69 622f 7072 .src/data/lib/pr │ │ │ +000514e0: 696d 2f41 6764 612f 4275 696c 7469 6e2f im/Agda/Builtin/ │ │ │ +000514f0: 5265 666c 6563 7469 6f6e 2e61 6764 6127 Reflection.agda' │ │ │ +00051500: 7372 632f 6461 7461 2f6c 6962 2f70 7269 src/data/lib/pri │ │ │ +00051510: 6d2f 4167 6461 2f42 7569 6c74 696e 2f4e m/Agda/Builtin/N │ │ │ +00051520: 6174 2e61 6764 6129 7372 632f 6461 7461 at.agda)src/data │ │ │ +00051530: 2f6c 6962 2f70 7269 6d2f 4167 6461 2f42 /lib/prim/Agda/B │ │ │ +00051540: 7569 6c74 696e 2f4d 6179 6265 2e61 6764 uiltin/Maybe.agd │ │ │ +00051550: 6128 7372 632f 6461 7461 2f6c 6962 2f70 a(src/data/lib/p │ │ │ +00051560: 7269 6d2f 4167 6461 2f42 7569 6c74 696e rim/Agda/Builtin │ │ │ +00051570: 2f4c 6973 742e 6167 6461 2773 7263 2f64 /List.agda'src/d │ │ │ +00051580: 6174 612f 6c69 622f 7072 696d 2f41 6764 ata/lib/prim/Agd │ │ │ +00051590: 612f 4275 696c 7469 6e2f 496e 742e 6167 a/Builtin/Int.ag │ │ │ +000515a0: 6461 2673 7263 2f64 6174 612f 6c69 622f da&src/data/lib/ │ │ │ +000515b0: 7072 696d 2f41 6764 612f 4275 696c 7469 prim/Agda/Builti │ │ │ +000515c0: 6e2f 494f 2e61 6764 612e 7372 632f 6461 n/IO.agda.src/da │ │ │ +000515d0: 7461 2f6c 6962 2f70 7269 6d2f 4167 6461 ta/lib/prim/Agda │ │ │ +000515e0: 2f42 7569 6c74 696e 2f46 726f 6d53 7472 /Builtin/FromStr │ │ │ +000515f0: 696e 672e 6167 6461 2b73 7263 2f64 6174 ing.agda+src/dat │ │ │ +00051600: 612f 6c69 622f 7072 696d 2f41 6764 612f a/lib/prim/Agda/ │ │ │ +00051610: 4275 696c 7469 6e2f 4672 6f6d 4e65 672e Builtin/FromNeg. │ │ │ +00051620: 6167 6461 2b73 7263 2f64 6174 612f 6c69 agda+src/data/li │ │ │ +00051630: 622f 7072 696d 2f41 6764 612f 4275 696c b/prim/Agda/Buil │ │ │ +00051640: 7469 6e2f 4672 6f6d 4e61 742e 6167 6461 tin/FromNat.agda │ │ │ +00051650: 3473 7263 2f64 6174 612f 6c69 622f 7072 4src/data/lib/pr │ │ │ +00051660: 696d 2f41 6764 612f 4275 696c 7469 6e2f im/Agda/Builtin/ │ │ │ +00051670: 466c 6f61 742f 5072 6f70 6572 7469 6573 Float/Properties │ │ │ +00051680: 2e61 6764 6129 7372 632f 6461 7461 2f6c .agda)src/data/l │ │ │ +00051690: 6962 2f70 7269 6d2f 4167 6461 2f42 7569 ib/prim/Agda/Bui │ │ │ +000516a0: 6c74 696e 2f46 6c6f 6174 2e61 6764 6134 ltin/Float.agda4 │ │ │ +000516b0: 7372 632f 6461 7461 2f6c 6962 2f70 7269 src/data/lib/pri │ │ │ +000516c0: 6d2f 4167 6461 2f42 7569 6c74 696e 2f45 m/Agda/Builtin/E │ │ │ +000516d0: 7175 616c 6974 792f 5265 7772 6974 652e quality/Rewrite. │ │ │ +000516e0: 6167 6461 3273 7263 2f64 6174 612f 6c69 agda2src/data/li │ │ │ +000516f0: 622f 7072 696d 2f41 6764 612f 4275 696c b/prim/Agda/Buil │ │ │ +00051700: 7469 6e2f 4571 7561 6c69 7479 2f45 7261 tin/Equality/Era │ │ │ +00051710: 7365 2e61 6764 612c 7372 632f 6461 7461 se.agda,src/data │ │ │ +00051720: 2f6c 6962 2f70 7269 6d2f 4167 6461 2f42 /lib/prim/Agda/B │ │ │ +00051730: 7569 6c74 696e 2f45 7175 616c 6974 792e uiltin/Equality. │ │ │ +00051740: 6167 6461 3273 7263 2f64 6174 612f 6c69 agda2src/data/li │ │ │ +00051750: 622f 7072 696d 2f41 6764 612f 4275 696c b/prim/Agda/Buil │ │ │ +00051760: 7469 6e2f 4375 6269 6361 6c2f 4843 6f6d tin/Cubical/HCom │ │ │ +00051770: 7055 2e61 6764 6131 7372 632f 6461 7461 pU.agda1src/data │ │ │ +00051780: 2f6c 6962 2f70 7269 6d2f 4167 6461 2f42 /lib/prim/Agda/B │ │ │ +00051790: 7569 6c74 696e 2f43 7562 6963 616c 2f45 uiltin/Cubical/E │ │ │ +000517a0: 7175 6976 2e61 6764 6130 7372 632f 6461 quiv.agda0src/da │ │ │ +000517b0: 7461 2f6c 6962 2f70 7269 6d2f 4167 6461 ta/lib/prim/Agda │ │ │ +000517c0: 2f42 7569 6c74 696e 2f43 7562 6963 616c /Builtin/Cubical │ │ │ +000517d0: 2f47 6c75 652e 6167 6461 2f73 7263 2f64 /Glue.agda/src/d │ │ │ +000517e0: 6174 612f 6c69 622f 7072 696d 2f41 6764 ata/lib/prim/Agd │ │ │ +000517f0: 612f 4275 696c 7469 6e2f 4375 6269 6361 a/Builtin/Cubica │ │ │ +00051800: 6c2f 5375 622e 6167 6461 3073 7263 2f64 l/Sub.agda0src/d │ │ │ +00051810: 6174 612f 6c69 622f 7072 696d 2f41 6764 ata/lib/prim/Agd │ │ │ +00051820: 612f 4275 696c 7469 6e2f 4375 6269 6361 a/Builtin/Cubica │ │ │ +00051830: 6c2f 5061 7468 2e61 6764 612f 7372 632f l/Path.agda/src/ │ │ │ +00051840: 6461 7461 2f6c 6962 2f70 7269 6d2f 4167 data/lib/prim/Ag │ │ │ +00051850: 6461 2f42 7569 6c74 696e 2f43 6f69 6e64 da/Builtin/Coind │ │ │ +00051860: 7563 7469 6f6e 2e61 6764 6133 7372 632f uction.agda3src/ │ │ │ +00051870: 6461 7461 2f6c 6962 2f70 7269 6d2f 4167 data/lib/prim/Ag │ │ │ +00051880: 6461 2f42 7569 6c74 696e 2f43 6861 722f da/Builtin/Char/ │ │ │ +00051890: 5072 6f70 6572 7469 6573 2e61 6764 6128 Properties.agda( │ │ │ +000518a0: 7372 632f 6461 7461 2f6c 6962 2f70 7269 src/data/lib/pri │ │ │ +000518b0: 6d2f 4167 6461 2f42 7569 6c74 696e 2f43 m/Agda/Builtin/C │ │ │ +000518c0: 6861 722e 6167 6461 2873 7263 2f64 6174 har.agda(src/dat │ │ │ +000518d0: 612f 6c69 622f 7072 696d 2f41 6764 612f a/lib/prim/Agda/ │ │ │ +000518e0: 4275 696c 7469 6e2f 426f 6f6c 2e61 6764 Builtin/Bool.agd │ │ │ +000518f0: 6128 7372 632f 6461 7461 2f6c 6962 2f70 a(src/data/lib/p │ │ │ +00051900: 7269 6d2f 6167 6461 2d62 7569 6c74 696e rim/agda-builtin │ │ │ +00051910: 732e 6167 6461 2d6c 6962 2373 7263 2f64 s.agda-lib#src/d │ │ │ +00051920: 6174 612f 6c61 7465 782f 706f 7374 7072 ata/latex/postpr │ │ │ +00051930: 6f63 6573 732d 6c61 7465 782e 706c 1773 ocess-latex.pl.s │ │ │ +00051940: 7263 2f64 6174 612f 6c61 7465 782f 6167 rc/data/latex/ag │ │ │ +00051950: 6461 2e73 7479 1b73 7263 2f64 6174 612f da.sty.src/data/ │ │ │ +00051960: 4a53 2f61 6764 612d 7274 732e 616d 642e JS/agda-rts.amd. │ │ │ +00051970: 6a73 1773 7263 2f64 6174 612f 4a53 2f61 js.src/data/JS/a │ │ │ +00051980: 6764 612d 7274 732e 6a73 1873 7263 2f64 gda-rts.js.src/d │ │ │ +00051990: 6174 612f 4a53 2f61 6764 612d 7274 732e ata/JS/agda-rts. │ │ │ +000519a0: 6d6a 7320 7372 632f 6461 7461 2f68 746d mjs src/data/htm │ │ │ +000519b0: 6c2f 6869 6768 6c69 6768 742d 686f 7665 l/highlight-hove │ │ │ +000519c0: 722e 6a73 1673 7263 2f64 6174 612f 6874 r.js.src/data/ht │ │ │ +000519d0: 6d6c 2f41 6764 612e 6373 7325 7372 632f ml/Agda.css%src/ │ │ │ +000519e0: 6461 7461 2f65 6d61 6373 2d6d 6f64 652f data/emacs-mode/ │ │ │ +000519f0: 6167 6461 322d 6d6f 6465 2d70 6b67 2e65 agda2-mode-pkg.e │ │ │ +00051a00: 6c21 7372 632f 6461 7461 2f65 6d61 6373 l!src/data/emacs │ │ │ +00051a10: 2d6d 6f64 652f 6167 6461 322d 6d6f 6465 -mode/agda2-mode │ │ │ +00051a20: 2e65 6c26 7372 632f 6461 7461 2f65 6d61 .el&src/data/ema │ │ │ +00051a30: 6373 2d6d 6f64 652f 6167 6461 322d 6869 cs-mode/agda2-hi │ │ │ +00051a40: 6768 6c69 6768 742e 656c 2173 7263 2f64 ghlight.el!src/d │ │ │ +00051a50: 6174 612f 656d 6163 732d 6d6f 6465 2f61 ata/emacs-mode/a │ │ │ +00051a60: 6764 612d 696e 7075 742e 656c 1c73 7263 gda-input.el.src │ │ │ +00051a70: 2f64 6174 612f 656d 6163 732d 6d6f 6465 /data/emacs-mode │ │ │ +00051a80: 2f61 6764 6132 2e65 6c1a 7372 632f 6461 /agda2.el.src/da │ │ │ +00051a90: 7461 2f65 6d61 6373 2d6d 6f64 652f 6572 ta/emacs-mode/er │ │ │ +00051aa0: 692e 656c 2273 7263 2f64 6174 612f 656d i.el"src/data/em │ │ │ +00051ab0: 6163 732d 6d6f 6465 2f61 6764 6132 2d71 acs-mode/agda2-q │ │ │ +00051ac0: 7565 7565 2e65 6c21 7372 632f 6461 7461 ueue.el!src/data │ │ │ +00051ad0: 2f65 6d61 6373 2d6d 6f64 652f 616e 6e6f /emacs-mode/anno │ │ │ +00051ae0: 7461 7469 6f6e 2e65 6c24 7372 632f 6461 tation.el$src/da │ │ │ +00051af0: 7461 2f65 6d61 6373 2d6d 6f64 652f 6167 ta/emacs-mode/ag │ │ │ +00051b00: 6461 322d 6162 6272 6576 732e 656c 2964 da2-abbrevs.el)d │ │ │ +00051b10: 6973 742d 6768 632f 6275 696c 642f 4167 ist-ghc/build/Ag │ │ │ +00051b20: 6461 2f53 6574 7570 2f44 6174 6146 696c da/Setup/DataFil │ │ │ +00051b30: 6573 2e64 796e 5f6f d700 2f75 7372 2f6c es.dyn_o../usr/l │ │ │ +00051b40: 6962 2f67 6863 2f6c 6962 2f2e 2e2f 6c69 ib/ghc/lib/../li │ │ │ +00051b50: 622f 6933 3836 2d6c 696e 7578 2d67 6863 b/i386-linux-ghc │ │ │ +00051b60: 2d39 2e31 302e 332f 6c69 6248 5367 6863 -9.10.3/libHSghc │ │ │ +00051b70: 2d70 7269 6d2d 302e 3132 2e30 2d69 6e70 -prim-0.12.0-inp │ │ │ +00051b80: 6c61 6365 2d67 6863 392e 3130 2e33 2e73 lace-ghc9.10.3.s │ │ │ +00051b90: 6fd6 002f 7573 722f 6c69 622f 6768 632f o../usr/lib/ghc/ │ │ │ +00051ba0: 6c69 622f 2e2e 2f6c 6962 2f69 3338 362d lib/../lib/i386- │ │ │ +00051bb0: 6c69 6e75 782d 6768 632d 392e 3130 2e33 linux-ghc-9.10.3 │ │ │ +00051bc0: 2f6c 6962 4853 6768 632d 6269 676e 756d /libHSghc-bignum │ │ │ +00051bd0: 2d31 2e33 2d69 6e70 6c61 6365 2d67 6863 -1.3-inplace-ghc │ │ │ +00051be0: 392e 3130 2e33 2e73 6fdd 002f 7573 722f 9.10.3.so../usr/ │ │ │ +00051bf0: 6c69 622f 6768 632f 6c69 622f 2e2e 2f6c lib/ghc/lib/../l │ │ │ +00051c00: 6962 2f69 3338 362d 6c69 6e75 782d 6768 ib/i386-linux-gh │ │ │ +00051c10: 632d 392e 3130 2e33 2f6c 6962 4853 6768 c-9.10.3/libHSgh │ │ │ +00051c20: 632d 696e 7465 726e 616c 2d39 2e31 3030 c-internal-9.100 │ │ │ +00051c30: 332e 302d 696e 706c 6163 652d 6768 6339 3.0-inplace-ghc9 │ │ │ +00051c40: 2e31 302e 332e 736f d500 2f75 7372 2f6c .10.3.so../usr/l │ │ │ +00051c50: 6962 2f67 6863 2f6c 6962 2f2e 2e2f 6c69 ib/ghc/lib/../li │ │ │ +00051c60: 622f 6933 3836 2d6c 696e 7578 2d67 6863 b/i386-linux-ghc │ │ │ +00051c70: 2d39 2e31 302e 332f 6c69 6248 5362 6173 -9.10.3/libHSbas │ │ │ +00051c80: 652d 342e 3230 2e32 2e30 2d69 6e70 6c61 e-4.20.2.0-inpla │ │ │ +00051c90: 6365 2d67 6863 392e 3130 2e33 2e73 6fda ce-ghc9.10.3.so. │ │ │ +00051ca0: 002f 7573 722f 6c69 622f 6768 632f 6c69 ./usr/lib/ghc/li │ │ │ +00051cb0: 622f 2e2e 2f6c 6962 2f69 3338 362d 6c69 b/../lib/i386-li │ │ │ +00051cc0: 6e75 782d 6768 632d 392e 3130 2e33 2f6c nux-ghc-9.10.3/l │ │ │ +00051cd0: 6962 4853 6768 632d 626f 6f74 2d74 682d ibHSghc-boot-th- │ │ │ +00051ce0: 392e 3130 2e33 2d69 6e70 6c61 6365 2d67 9.10.3-inplace-g │ │ │ +00051cf0: 6863 392e 3130 2e33 2e73 6fd5 002f 7573 hc9.10.3.so../us │ │ │ +00051d00: 722f 6c69 622f 6768 632f 6c69 622f 2e2e r/lib/ghc/lib/.. │ │ │ +00051d10: 2f6c 6962 2f69 3338 362d 6c69 6e75 782d /lib/i386-linux- │ │ │ +00051d20: 6768 632d 392e 3130 2e33 2f6c 6962 4853 ghc-9.10.3/libHS │ │ │ +00051d30: 6172 7261 792d 302e 352e 382e 302d 696e array-0.5.8.0-in │ │ │ +00051d40: 706c 6163 652d 6768 6339 2e31 302e 332e place-ghc9.10.3. │ │ │ +00051d50: 736f d700 2f75 7372 2f6c 6962 2f67 6863 so../usr/lib/ghc │ │ │ +00051d60: 2f6c 6962 2f2e 2e2f 6c69 622f 6933 3836 /lib/../lib/i386 │ │ │ +00051d70: 2d6c 696e 7578 2d67 6863 2d39 2e31 302e -linux-ghc-9.10. │ │ │ +00051d80: 332f 6c69 6248 5364 6565 7073 6571 2d31 3/libHSdeepseq-1 │ │ │ +00051d90: 2e35 2e30 2e30 2d69 6e70 6c61 6365 2d67 .5.0.0-inplace-g │ │ │ +00051da0: 6863 392e 3130 2e33 2e73 6fd6 002f 7573 hc9.10.3.so../us │ │ │ +00051db0: 722f 6c69 622f 6768 632f 6c69 622f 2e2e r/lib/ghc/lib/.. │ │ │ +00051dc0: 2f6c 6962 2f69 3338 362d 6c69 6e75 782d /lib/i386-linux- │ │ │ +00051dd0: 6768 632d 392e 3130 2e33 2f6c 6962 4853 ghc-9.10.3/libHS │ │ │ +00051de0: 7072 6574 7479 2d31 2e31 2e33 2e36 2d69 pretty-1.1.3.6-i │ │ │ +00051df0: 6e70 6c61 6365 2d67 6863 392e 3130 2e33 nplace-ghc9.10.3 │ │ │ +00051e00: 2e73 6fe1 002f 7573 722f 6c69 622f 6768 .so../usr/lib/gh │ │ │ +00051e10: 632f 6c69 622f 2e2e 2f6c 6962 2f69 3338 c/lib/../lib/i38 │ │ │ +00051e20: 362d 6c69 6e75 782d 6768 632d 392e 3130 6-linux-ghc-9.10 │ │ │ +00051e30: 2e33 2f6c 6962 4853 7465 6d70 6c61 7465 .3/libHStemplate │ │ │ +00051e40: 2d68 6173 6b65 6c6c 2d32 2e32 322e 302e -haskell-2.22.0. │ │ │ +00051e50: 302d 696e 706c 6163 652d 6768 6339 2e31 0-inplace-ghc9.1 │ │ │ +00051e60: 302e 332e 736f db00 2f75 7372 2f6c 6962 0.3.so../usr/lib │ │ │ +00051e70: 2f67 6863 2f6c 6962 2f2e 2e2f 6c69 622f /ghc/lib/../lib/ │ │ │ +00051e80: 6933 3836 2d6c 696e 7578 2d67 6863 2d39 i386-linux-ghc-9 │ │ │ +00051e90: 2e31 302e 332f 6c69 6248 5362 7974 6573 .10.3/libHSbytes │ │ │ +00051ea0: 7472 696e 672d 302e 3132 2e32 2e30 2d69 tring-0.12.2.0-i │ │ │ +00051eb0: 6e70 6c61 6365 2d67 6863 392e 3130 2e33 nplace-ghc9.10.3 │ │ │ +00051ec0: 2e73 6f0a 7b2d 2320 494e 4c49 4e45 0566 .so.{-# INLINE.f │ │ │ +00051ed0: 6f72 6365 0173 0364 7331 0369 7076 0469 orce.s.ds1.ipv.i │ │ │ +00051ee0: 7076 3107 646f 5365 7475 7002 7331 0264 pv1.doSetup.s1.d │ │ │ +00051ef0: 7304 6970 7632 0469 7076 3304 7769 6c64 s.ipv2.ipv3.wild │ │ │ +00051f00: 0277 7703 6473 3204 6970 7634 0469 7076 .ww.ds2.ipv4.ipv │ │ │ +00051f10: 3504 6c6f 636b 0273 3203 6473 3304 6970 5.lock.s2.ds3.ip │ │ │ +00051f20: 7636 0469 7076 3703 6473 3404 6970 7638 v6.ipv7.ds4.ipv8 │ │ │ +00051f30: 0469 7076 390b 636f 7772 6170 5f75 6e62 .ipv9.cowrap_unb │ │ │ +00051f40: 7804 756e 6278 055f 6c6f 636b 0365 7461 x.unbx._lock.eta │ │ │ +00051f50: 0367 6f31 0465 7461 3105 7769 6c64 3101 .go1.eta1.wild1. │ │ │ +00051f60: 7902 7973 0577 696c 6432 0c72 656c 6174 y.ys.wild2.relat │ │ │ +00051f70: 6976 6550 6174 6807 636f 6e74 656e 7405 ivePath.content. │ │ │ +00051f80: 7769 6c64 3303 7777 3103 7777 3205 7769 wild3.ww1.ww2.wi │ │ │ +00051f90: 6c64 3403 6473 3503 6473 3603 6469 720b ld4.ds5.ds6.dir. │ │ │ +00051fa0: 7265 6c61 7469 7665 4469 7204 6669 6c65 relativeDir.file │ │ │ +00051fb0: 0470 6174 6801 7604 6574 6132 0364 7337 .path.v.eta2.ds7 │ │ │ +00051fc0: 0569 7076 3130 0569 7076 3131 0364 7338 .ipv10.ipv11.ds8 │ │ │ +00051fd0: 0569 7076 3132 0569 7076 3133 0664 7374 .ipv12.ipv13.dst │ │ │ +00051fe0: 6174 6506 6573 7461 7465 0178 0473 697a ate.estate.x.siz │ │ │ +00051ff0: 6505 6261 7272 2303 6275 6602 7327 0569 e.barr#.buf.s'.i │ │ │ +00052000: 7076 3134 0569 7076 3135 0166 0265 3102 pv14.ipv15.f.e1. │ │ │ +00052010: 6532 0c24 6445 7863 6570 7469 6f6e 3105 e2.$dException1. │ │ │ +00052020: 2464 4950 3402 6533 0263 6f0d 6765 7441 $dIP4.e3.co.getA │ │ │ +00052030: 6764 6141 7070 4469 720f 6765 7444 6174 gdaAppDir.getDat │ │ │ +00052040: 6146 696c 654e 616d 6505 7365 7475 7009 aFileName.setup. │ │ │ +00052050: 2474 724d 6f64 756c 6506 4d6f 6475 6c65 $trModule.Module │ │ │ +00052060: 0a24 7472 4d6f 6475 6c65 330a 2474 724d .$trModule3.$trM │ │ │ +00052070: 6f64 756c 6531 0754 724e 616d 6553 0a24 odule1.TrNameS.$ │ │ │ +00052080: 7472 4d6f 6475 6c65 320a 2474 724d 6f64 trModule2.$trMod │ │ │ +00052090: 756c 6534 0724 7773 6574 7570 0b67 6574 ule4.$wsetup.get │ │ │ +000520a0: 4461 7461 4469 7231 2153 7973 7465 6d2e DataDir1!System. │ │ │ +000520b0: 4f73 5374 7269 6e67 2e45 6e63 6f64 696e OsString.Encodin │ │ │ +000520c0: 672e 496e 7465 726e 616c 1465 6e63 6f64 g.Internal.encod │ │ │ +000520d0: 6557 6974 6842 6173 6550 6f73 6978 320f eWithBasePosix2. │ │ │ +000520e0: 5368 6f72 7442 7974 6553 7472 696e 670f ShortByteString. │ │ │ +000520f0: 7061 636b 4353 7472 696e 674c 656e 311c packCStringLen1. │ │ │ +00052100: 4748 432e 496e 7465 726e 616c 2e46 6f72 GHC.Internal.For │ │ │ +00052110: 6569 676e 2e43 2e54 7970 6573 0543 4368 eign.C.Types.CCh │ │ │ +00052120: 6172 044e 3a49 4f11 4e3a 5368 6f72 7442 ar.N:IO.N:ShortB │ │ │ +00052130: 7974 6553 7472 696e 6709 4279 7465 4172 yteString.ByteAr │ │ │ +00052140: 7261 7917 5379 7374 656d 2e44 6972 6563 ray.System.Direc │ │ │ +00052150: 746f 7279 2e4f 7350 6174 681a 2477 6372 tory.OsPath.$wcr │ │ │ +00052160: 6561 7465 4469 7265 6374 6f72 7949 664d eateDirectoryIfM │ │ │ +00052170: 6973 7369 6e67 0846 696c 6550 6174 6807 issing.FilePath. │ │ │ +00052180: 636f 6d62 696e 6508 7365 7475 7031 3639 combine.setup169 │ │ │ +00052190: 0862 7261 636b 6574 3108 4669 6c65 4c6f .bracket1.FileLo │ │ │ +000521a0: 636b 1e53 7973 7465 6d2e 4669 6c65 4c6f ck.System.FileLo │ │ │ +000521b0: 636b 2e49 6e74 6572 6e61 6c2e 466c 6f63 ck.Internal.Floc │ │ │ +000521c0: 6b05 6c6f 636b 311f 4748 432e 496e 7465 k.lock1.GHC.Inte │ │ │ +000521d0: 726e 616c 2e53 7973 7465 6d2e 506f 7369 rnal.System.Posi │ │ │ +000521e0: 782e 5479 7065 7304 4e3a 4664 064e 3a43 x.Types.N:Fd.N:C │ │ │ +000521f0: 496e 7410 4748 432e 496e 7465 726e 616c Int.GHC.Internal │ │ │ +00052200: 2e49 6e74 0449 3332 2304 4c6f 636b 0b75 .Int.I32#.Lock.u │ │ │ +00052210: 6e6c 6f63 6b46 696c 6531 0a42 7974 6553 nlockFile1.ByteS │ │ │ +00052220: 7472 696e 6705 2477 676f 320d 6472 6f70 tring.$wgo2.drop │ │ │ +00052230: 4669 6c65 4e61 6d65 3119 4748 432e 496e FileName1.GHC.In │ │ │ +00052240: 7465 726e 616c 2e49 4f2e 4861 6e64 6c65 ternal.IO.Handle │ │ │ +00052250: 2e46 440f 7769 7468 4269 6e61 7279 4669 .FD.withBinaryFi │ │ │ +00052260: 6c65 3116 4748 432e 496e 7465 726e 616c le1.GHC.Internal │ │ │ +00052270: 2e49 4f2e 494f 4d6f 6465 0957 7269 7465 .IO.IOMode.Write │ │ │ +00052280: 4d6f 6465 1c47 4843 2e49 6e74 6572 6e61 Mode.GHC.Interna │ │ │ +00052290: 6c2e 494f 2e48 616e 646c 652e 5479 7065 l.IO.Handle.Type │ │ │ +000522a0: 7306 4861 6e64 6c65 0b61 7070 656e 6446 s.Handle.appendF │ │ │ +000522b0: 696c 6532 0868 5075 7453 7472 3206 7374 ile2.hPutStr2.st │ │ │ +000522c0: 6465 7272 0873 6574 7570 3136 380f 656d derr.setup168.em │ │ │ +000522d0: 6265 6464 6564 4461 7461 4469 720b 494f beddedDataDir.IO │ │ │ +000522e0: 4578 6365 7074 696f 6e1b 4748 432e 496e Exception.GHC.In │ │ │ +000522f0: 7465 726e 616c 2e45 7863 6570 7469 6f6e ternal.Exception │ │ │ +00052300: 2e54 7970 650d 536f 6d65 4578 6365 7074 .Type.SomeExcept │ │ │ +00052310: 696f 6e14 756e 6978 2d32 2e38 2e37 2e30 ion.unix-2.8.7.0 │ │ │ +00052320: 2d69 6e70 6c61 6365 1e53 7973 7465 6d2e -inplace.System. │ │ │ +00052330: 506f 7369 782e 4669 6c65 732e 506f 7369 Posix.Files.Posi │ │ │ +00052340: 7853 7472 696e 670b 7265 6d6f 7665 4c69 xString.removeLi │ │ │ +00052350: 6e6b 310d 4e3a 506f 7369 7853 7472 696e nk1.N:PosixStrin │ │ │ +00052360: 6718 4748 432e 496e 7465 726e 616c 2e44 g.GHC.Internal.D │ │ │ +00052370: 6174 612e 4569 7468 6572 0552 6967 6874 ata.Either.Right │ │ │ +00052380: 0673 6574 7570 3219 6372 6561 7465 4469 .setup2.createDi │ │ │ +00052390: 7265 6374 6f72 7949 664d 6973 7369 6e67 rectoryIfMissing │ │ │ +000523a0: 360a 4e3a 4f73 5374 7269 6e67 1364 6f65 6.N:OsString.doe │ │ │ +000523b0: 7344 6972 6563 746f 7279 4578 6973 7432 sDirectoryExist2 │ │ │ +000523c0: 0673 6574 7570 330e 6765 7441 6764 6141 .setup3.getAgdaA │ │ │ +000523d0: 7070 4469 7231 1e47 4843 2e49 6e74 6572 ppDir1.GHC.Inter │ │ │ +000523e0: 6e61 6c2e 494f 2e45 6e63 6f64 696e 672e nal.IO.Encoding. │ │ │ +000523f0: 5479 7065 730c 5465 7874 456e 636f 6469 Types.TextEncodi │ │ │ +00052400: 6e67 1847 4843 2e49 6e74 6572 6e61 6c2e ng.GHC.Internal. │ │ │ +00052410: 494f 2e45 6e63 6f64 696e 6712 6765 7446 IO.Encoding.getF │ │ │ +00052420: 6f72 6569 676e 456e 636f 6469 6e67 2647 oreignEncoding&G │ │ │ +00052430: 4843 2e49 6e74 6572 6e61 6c2e 466f 7265 HC.Internal.Fore │ │ │ +00052440: 6967 6e2e 432e 5374 7269 6e67 2e45 6e63 ign.C.String.Enc │ │ │ +00052450: 6f64 696e 670d 2477 7769 7468 4353 7472 oding.$wwithCStr │ │ │ +00052460: 696e 670e 6765 7441 6764 6141 7070 4469 ing.getAgdaAppDi │ │ │ +00052470: 7239 0767 6574 456e 7633 0743 5374 7269 r9.getEnv3.CStri │ │ │ +00052480: 6e67 0e67 6574 4167 6461 4170 7044 6972 ng.getAgdaAppDir │ │ │ +00052490: 360e 6765 7441 6764 6141 7070 4469 7235 6.getAgdaAppDir5 │ │ │ +000524a0: 072b 2b5f 2473 2b2b 1124 6653 686f 7743 .++_$s++.$fShowC │ │ │ +000524b0: 616c 6c53 7461 636b 3134 0d73 686f 774c allStack14.showL │ │ │ +000524c0: 6974 5374 7269 6e67 0b24 6653 686f 774c itString.$fShowL │ │ │ +000524d0: 6973 7431 0e67 6574 4167 6461 4170 7044 ist1.getAgdaAppD │ │ │ +000524e0: 6972 340e 6765 7441 6764 6141 7070 4469 ir4.getAgdaAppDi │ │ │ +000524f0: 7232 1163 616e 6f6e 6963 616c 697a 6550 r2.canonicalizeP │ │ │ +00052500: 6174 6831 0f67 6574 4167 6461 4170 7044 ath1.getAgdaAppD │ │ │ +00052510: 6972 3130 0e67 6574 4167 6461 4170 7044 ir10.getAgdaAppD │ │ │ +00052520: 6972 330e 6765 7441 6764 6141 7070 4469 ir3.getAgdaAppDi │ │ │ +00052530: 7237 1353 7973 7465 6d2e 4f73 5061 7468 r7.System.OsPath │ │ │ +00052540: 2e54 7970 6573 064f 7350 6174 681f 5379 .Types.OsPath.Sy │ │ │ +00052550: 7374 656d 2e44 6972 6563 746f 7279 2e49 stem.Directory.I │ │ │ +00052560: 6e74 6572 6e61 6c2e 506f 7369 7820 6765 nternal.Posix ge │ │ │ +00052570: 7441 7070 5573 6572 4461 7461 4469 7265 tAppUserDataDire │ │ │ +00052580: 6374 6f72 7949 6e74 6572 6e61 6c31 1867 ctoryInternal1.g │ │ │ +00052590: 6574 4170 7055 7365 7244 6174 6144 6972 etAppUserDataDir │ │ │ +000525a0: 6563 746f 7279 3214 6465 636f 6465 5769 ectory2.decodeWi │ │ │ +000525b0: 7468 4261 7365 506f 7369 7832 1047 4843 thBasePosix2.GHC │ │ │ +000525c0: 2e49 6e74 6572 6e61 6c2e 5074 7203 5074 .Internal.Ptr.Pt │ │ │ +000525d0: 7210 6765 7458 6467 4469 7265 6374 6f72 r.getXdgDirector │ │ │ +000525e0: 7931 0958 6467 436f 6e66 6967 1464 6563 y1.XdgConfig.dec │ │ │ +000525f0: 6f64 6557 6974 6842 6173 6550 6f73 6978 odeWithBasePosix │ │ │ +00052600: 310e 6765 7441 6764 6141 7070 4469 7238 1.getAgdaAppDir8 │ │ │ +00052610: 0b67 6574 4461 7461 4469 7233 0b67 6574 .getDataDir3.get │ │ │ +00052620: 4461 7461 4469 7235 0b67 6574 4461 7461 DataDir5.getData │ │ │ +00052630: 4469 7232 0b67 6574 4461 7461 4469 7234 Dir2.getDataDir4 │ │ │ +00052640: 1067 6574 4461 7461 4669 6c65 4e61 6d65 .getDataFileName │ │ │ +00052650: 3106 7365 7475 7031 0773 6574 7570 3130 1.setup1.setup10 │ │ │ +00052660: 0873 6574 7570 3135 3207 7365 7475 7031 .setup152.setup1 │ │ │ +00052670: 3108 7365 7475 7031 3030 0242 5308 7365 1.setup100.BS.se │ │ │ +00052680: 7475 7031 3031 1747 4843 2e49 6e74 6572 tup101.GHC.Inter │ │ │ +00052690: 6e61 6c2e 466f 7265 6967 6e50 7472 0846 nal.ForeignPtr.F │ │ │ +000526a0: 696e 616c 5074 7208 7365 7475 7031 3032 inalPtr.setup102 │ │ │ +000526b0: 0873 6574 7570 3130 3308 7365 7475 7031 .setup103.setup1 │ │ │ +000526c0: 3034 0873 6574 7570 3130 3508 7365 7475 04.setup105.setu │ │ │ +000526d0: 7031 3036 0873 6574 7570 3130 3708 7365 p106.setup107.se │ │ │ +000526e0: 7475 7031 3038 0873 6574 7570 3130 3908 tup108.setup109. │ │ │ +000526f0: 7365 7475 7031 3530 0773 6574 7570 3132 setup150.setup12 │ │ │ +00052700: 0873 6574 7570 3131 3008 7365 7475 7031 .setup110.setup1 │ │ │ +00052710: 3131 0873 6574 7570 3131 3208 7365 7475 11.setup112.setu │ │ │ +00052720: 7031 3133 0873 6574 7570 3131 3408 7365 p113.setup114.se │ │ │ +00052730: 7475 7031 3135 0873 6574 7570 3131 3608 tup115.setup116. │ │ │ +00052740: 7365 7475 7031 3137 0873 6574 7570 3131 setup117.setup11 │ │ │ +00052750: 3808 7365 7475 7031 3139 0873 6574 7570 8.setup119.setup │ │ │ +00052760: 3134 3807 7365 7475 7031 3308 7365 7475 148.setup13.setu │ │ │ +00052770: 7031 3230 0873 6574 7570 3132 3108 7365 p120.setup121.se │ │ │ +00052780: 7475 7031 3232 0873 6574 7570 3132 3308 tup122.setup123. │ │ │ +00052790: 7365 7475 7031 3234 0873 6574 7570 3132 setup124.setup12 │ │ │ +000527a0: 3508 7365 7475 7031 3236 0873 6574 7570 5.setup126.setup │ │ │ +000527b0: 3132 3708 7365 7475 7031 3238 0873 6574 127.setup128.set │ │ │ +000527c0: 7570 3132 3908 7365 7475 7031 3436 0773 up129.setup146.s │ │ │ +000527d0: 6574 7570 3134 0873 6574 7570 3133 3008 etup14.setup130. │ │ │ +000527e0: 7365 7475 7031 3331 0873 6574 7570 3133 setup131.setup13 │ │ │ +000527f0: 3208 7365 7475 7031 3333 0873 6574 7570 2.setup133.setup │ │ │ +00052800: 3133 3408 7365 7475 7031 3335 0873 6574 134.setup135.set │ │ │ +00052810: 7570 3133 3608 7365 7475 7031 3337 0873 up136.setup137.s │ │ │ +00052820: 6574 7570 3133 3808 7365 7475 7031 3339 etup138.setup139 │ │ │ +00052830: 0873 6574 7570 3134 3407 7365 7475 7031 .setup144.setup1 │ │ │ +00052840: 3508 7365 7475 7031 3430 0873 6574 7570 5.setup140.setup │ │ │ +00052850: 3134 3108 7365 7475 7031 3432 0873 6574 141.setup142.set │ │ │ +00052860: 7570 3134 3308 7365 7475 7031 3435 0873 up143.setup145.s │ │ │ +00052870: 6574 7570 3134 3708 7365 7475 7031 3439 etup147.setup149 │ │ │ +00052880: 0773 6574 7570 3136 0873 6574 7570 3135 .setup16.setup15 │ │ │ +00052890: 3108 7365 7475 7031 3533 0873 6574 7570 1.setup153.setup │ │ │ +000528a0: 3135 3408 7365 7475 7031 3535 0873 6574 154.setup155.set │ │ │ +000528b0: 7570 3135 3608 7365 7475 7031 3537 0873 up156.setup157.s │ │ │ +000528c0: 6574 7570 3135 3808 7365 7475 7031 3539 etup158.setup159 │ │ │ +000528d0: 0773 6574 7570 3137 0873 6574 7570 3136 .setup17.setup16 │ │ │ +000528e0: 3008 7365 7475 7031 3631 0873 6574 7570 0.setup161.setup │ │ │ +000528f0: 3136 3208 7365 7475 7031 3633 0873 6574 162.setup163.set │ │ │ +00052900: 7570 3136 3408 7365 7475 7031 3635 0873 up164.setup165.s │ │ │ +00052910: 6574 7570 3136 3608 7365 7475 7031 3637 etup166.setup167 │ │ │ +00052920: 1669 6e74 6572 6361 6c61 7465 5f24 7370 .intercalate_$sp │ │ │ +00052930: 6f6c 795f 676f 3108 7365 7475 7031 3734 oly_go1.setup174 │ │ │ +00052940: 0873 6574 7570 3137 3007 7365 7475 7031 .setup170.setup1 │ │ │ +00052950: 380c 7072 6570 656e 6454 6f41 6c6c 0873 8.prependToAll.s │ │ │ +00052960: 6574 7570 3137 3208 7365 7475 7031 3731 etup172.setup171 │ │ │ +00052970: 0776 6572 7369 6f6e 0873 6574 7570 3137 .version.setup17 │ │ │ +00052980: 3308 7365 7475 7031 3735 0773 6574 7570 3.setup175.setup │ │ │ +00052990: 3139 0773 6574 7570 3230 2347 4843 2e49 19.setup20#GHC.I │ │ │ +000529a0: 6e74 6572 6e61 6c2e 4461 7461 2e54 7970 nternal.Data.Typ │ │ │ +000529b0: 6561 626c 652e 496e 7465 726e 616c 0b73 eable.Internal.s │ │ │ +000529c0: 616d 6554 7970 6552 6570 0c24 7031 4578 ameTypeRep.$p1Ex │ │ │ +000529d0: 6365 7074 696f 6e0a 4e3a 5479 7065 6162 ception.N:Typeab │ │ │ +000529e0: 6c65 1724 6645 7863 6570 7469 6f6e 494f le.$fExceptionIO │ │ │ +000529f0: 4578 6365 7074 696f 6e34 1f47 4843 2e49 Exception4.GHC.I │ │ │ +00052a00: 6e74 6572 6e61 6c2e 4461 7461 2e54 7970 nternal.Data.Typ │ │ │ +00052a10: 652e 4571 7561 6c69 7479 043a 7e7e 3a04 e.Equality.:~~:. │ │ │ +00052a20: 4c65 6674 0773 6574 7570 3231 0773 6574 Left.setup21.set │ │ │ +00052a30: 7570 3232 0773 6574 7570 3233 0773 6574 up22.setup23.set │ │ │ +00052a40: 7570 3234 0773 6574 7570 3235 0773 6574 up24.setup25.set │ │ │ +00052a50: 7570 3236 0773 6574 7570 3237 0773 6574 up26.setup27.set │ │ │ +00052a60: 7570 3238 0773 6574 7570 3239 0773 6574 up28.setup29.set │ │ │ +00052a70: 7570 3330 0673 6574 7570 3407 7365 7475 up30.setup4.setu │ │ │ +00052a80: 7033 3107 7365 7475 7033 3207 7365 7475 p31.setup32.setu │ │ │ +00052a90: 7033 3307 7365 7475 7033 3407 7365 7475 p33.setup34.setu │ │ │ +00052aa0: 7033 3507 7365 7475 7033 3607 7365 7475 p35.setup36.setu │ │ │ +00052ab0: 7033 3707 7365 7475 7039 3807 7365 7475 p37.setup98.setu │ │ │ +00052ac0: 7033 3807 7365 7475 7039 3607 7365 7475 p38.setup96.setu │ │ │ +00052ad0: 7033 3907 7365 7475 7039 3407 7365 7475 p39.setup94.setu │ │ │ +00052ae0: 7034 3006 7365 7475 7035 0773 6574 7570 p40.setup5.setup │ │ │ +00052af0: 3932 0773 6574 7570 3431 0773 6574 7570 92.setup41.setup │ │ │ +00052b00: 3930 0773 6574 7570 3432 0773 6574 7570 90.setup42.setup │ │ │ +00052b10: 3838 0773 6574 7570 3433 0773 6574 7570 88.setup43.setup │ │ │ +00052b20: 3836 0773 6574 7570 3434 0773 6574 7570 86.setup44.setup │ │ │ +00052b30: 3834 0773 6574 7570 3435 0773 6574 7570 84.setup45.setup │ │ │ +00052b40: 3832 0773 6574 7570 3436 0773 6574 7570 82.setup46.setup │ │ │ +00052b50: 3830 0773 6574 7570 3437 0773 6574 7570 80.setup47.setup │ │ │ +00052b60: 3738 0773 6574 7570 3438 0773 6574 7570 78.setup48.setup │ │ │ +00052b70: 3736 0773 6574 7570 3439 0773 6574 7570 76.setup49.setup │ │ │ +00052b80: 3734 0773 6574 7570 3530 0673 6574 7570 74.setup50.setup │ │ │ +00052b90: 3607 7365 7475 7037 3207 7365 7475 7035 6.setup72.setup5 │ │ │ +00052ba0: 3107 7365 7475 7037 3007 7365 7475 7035 1.setup70.setup5 │ │ │ +00052bb0: 3207 7365 7475 7036 3807 7365 7475 7035 2.setup68.setup5 │ │ │ +00052bc0: 3307 7365 7475 7036 3607 7365 7475 7035 3.setup66.setup5 │ │ │ +00052bd0: 3407 7365 7475 7036 3407 7365 7475 7035 4.setup64.setup5 │ │ │ +00052be0: 3507 7365 7475 7036 3207 7365 7475 7035 5.setup62.setup5 │ │ │ +00052bf0: 3607 7365 7475 7036 3007 7365 7475 7035 6.setup60.setup5 │ │ │ +00052c00: 3707 7365 7475 7035 3807 7365 7475 7035 7.setup58.setup5 │ │ │ +00052c10: 3906 7365 7475 7037 0773 6574 7570 3631 9.setup7.setup61 │ │ │ +00052c20: 0773 6574 7570 3633 0773 6574 7570 3635 .setup63.setup65 │ │ │ +00052c30: 0773 6574 7570 3637 0773 6574 7570 3639 .setup67.setup69 │ │ │ +00052c40: 0673 6574 7570 3807 7365 7475 7037 3107 .setup8.setup71. │ │ │ +00052c50: 7365 7475 7037 3307 7365 7475 7037 3507 setup73.setup75. │ │ │ +00052c60: 7365 7475 7037 3707 7365 7475 7037 3906 setup77.setup79. │ │ │ +00052c70: 7365 7475 7039 0773 6574 7570 3831 0773 setup9.setup81.s │ │ │ +00052c80: 6574 7570 3833 0773 6574 7570 3835 0773 etup83.setup85.s │ │ │ +00052c90: 6574 7570 3837 0773 6574 7570 3839 0773 etup87.setup89.s │ │ │ +00052ca0: 6574 7570 3931 0773 6574 7570 3933 0773 etup91.setup93.s │ │ │ +00052cb0: 6574 7570 3935 0773 6574 7570 3937 0773 etup95.setup97.s │ │ │ +00052cc0: 6574 7570 3939 00 etup99. │ │ ├── ./usr/lib/haskell-packages/ghc/lib/i386-linux-ghc-9.10.3-inplace/Agda-2.8.0-KuAEKDRG5wsFRdA5w8sGLC/Agda/VersionCommit.dyn_hi │ │ │ @@ -1,358 +1,358 @@ │ │ │ 00000000: 0001 face 0439 3130 3303 6479 6eb3 f5be .....9103.dyn... │ │ │ 00000010: f5e6 9ae5 c856 9db7 c3ca b7fb f0ec 5100 .....V........Q. │ │ │ -00000020: 0016 5800 0006 8e00 0006 5b00 0001 0000 ..X.......[..... │ │ │ -00000030: 8495 bbd9 cbd0 83ca ce01 cc92 f5ba fbd8 ................ │ │ │ -00000040: 88bb a901 8be4 bed5 d58a c0fc b001 e881 ................ │ │ │ -00000050: edbb dbc7 dedd be01 95b2 9ce1 82c9 d0c1 ................ │ │ │ -00000060: 57b4 d5a1 cbcf fa80 f47a 85cc beb3 c3eb W........z...... │ │ │ -00000070: acd4 8501 ba9b 93dd 82f1 c0ff 5489 c1b6 ............T... │ │ │ -00000080: f0df b5a1 dc93 01f1 bed6 fe84 928d fbcd ................ │ │ │ -00000090: 01c9 c2c7 b5ad 8290 8bad 0187 c0cc 888b ................ │ │ │ -000000a0: aba7 9a42 0000 0000 0151 0100 0200 0303 ...B.....Q...... │ │ │ -000000b0: 0405 0000 0000 0a00 0607 0006 0800 090a ................ │ │ │ -000000c0: 000b 0c00 0d0e 000d 0f00 0d10 000d 1100 ................ │ │ │ -000000d0: 0d12 000d 1329 0000 0200 0314 0003 1500 .....).......... │ │ │ -000000e0: 0316 0003 1700 0318 0003 1900 031a 001b ................ │ │ │ -000000f0: 1c00 1b1d 001b 1e00 1f20 0021 2200 2123 ......... .!".!# │ │ │ -00000100: 0006 2400 0625 0006 2600 0627 0006 2800 ..$..%..&..'..(. │ │ │ -00000110: 0629 0006 2a00 062b 0006 2c00 062d 0006 .)..*..+..,..-.. │ │ │ -00000120: 2e00 062f 0030 3100 3233 0032 3400 0535 .../.01.23.24..5 │ │ │ -00000130: 0036 3700 3638 0036 3900 363a 0036 3b00 .67.68.69.6:.6;. │ │ │ -00000140: 363c 0036 3d00 363e 0036 3f00 3640 0036 6<.6=.6>.6?.6@.6 │ │ │ -00000150: 4100 0004 5320 0102 00e8 81e3 c2af ecf6 A...S .......... │ │ │ -00000160: 9c8c 01aa e2ac d6cd c7be 8132 01d8 8794 ...........2.... │ │ │ -00000170: dfa0 84cd ebd0 01d3 ab8d 89a2 8d9a c619 ................ │ │ │ -00000180: 0100 42cf e1fb d2b8 f49f f4cc 01dc aee7 ..B............. │ │ │ -00000190: f7a5 a487 a2f4 0100 0000 0343 e3d8 9697 ...........C.... │ │ │ -000001a0: 8cbd fe8f 1afd f0d6 b8a2 bead ea20 0000 ............. .. │ │ │ -000001b0: 0006 078e 82c8 84a9 edc7 e8a6 01eb b7d2 ................ │ │ │ -000001c0: 8dab fbfd ed9a 0100 0000 0644 bbd9 83a1 ...........D.... │ │ │ -000001d0: cff8 80ff 78f2 88b2 abbb acbb a8e8 0100 ....x........... │ │ │ -000001e0: 0000 0645 cbf9 dedd c4ce bba0 d401 b091 ...E............ │ │ │ -000001f0: bedd f0fa 99fc 4a00 0000 0946 b9f0 baa7 ......J....F.... │ │ │ -00000200: ecc3 fa84 2ad6 f980 b6ee f386 e150 0000 ....*........P.. │ │ │ -00000210: 0004 4782 a6dc e4db cbd2 fb20 cf9a b0b6 ..G........ .... │ │ │ -00000220: e1d6 c5be dd01 0002 489a 86af f8b3 c8b4 ........H....... │ │ │ -00000230: ddef 01bf 8582 de80 bea0 9a6c 0002 49d7 ...........l..I. │ │ │ -00000240: a087 c797 ad84 807d 8c9c a4df c0b0 f3e3 .......}........ │ │ │ -00000250: ea01 0002 4aa5 d0ef 9ae8 f4e3 f4e0 01dd ....J........... │ │ │ -00000260: 82de 90c7 abca 8bbf 0100 024b 8ab7 9c9c ...........K.... │ │ │ -00000270: f28d d6fa ac01 e9e7 f4f5 89eb 8ba0 7000 ..............p. │ │ │ -00000280: 024c d6ad cfe6 c1b8 a7c4 18ab c3a9 dba4 .L.............. │ │ │ -00000290: ab96 c71e 0002 4def b7c7 90ec aee4 fc94 ......M......... │ │ │ -000002a0: 018f f891 edf0 b2a1 98c1 0100 024e 91a1 .............N.. │ │ │ -000002b0: c9f5 b4eb bcfc 2893 f6fa bd9b aef5 c398 ......(......... │ │ │ -000002c0: 0100 024f a4e5 b3b3 bfdc cdcb 47a0 d4d7 ...O........G... │ │ │ -000002d0: b1a7 dddc efd3 0100 0250 91f1 ea90 c4a0 .........P...... │ │ │ -000002e0: d190 6f97 8598 a7a6 98a7 d7dd 0100 0251 ..o............Q │ │ │ -000002f0: 9ebf a6e9 abdd c2d1 bd01 ca82 dee8 b1de ................ │ │ │ -00000300: b0d3 c201 0002 52c2 8d95 efff 94e1 bb3b ......R........; │ │ │ -00000310: d9f8 d5ec c3fa ebc4 3e00 0253 c7da d1b7 ........>..S.... │ │ │ -00000320: 9edc bcc2 ad01 b889 90c4 81e6 a3e5 cc01 ................ │ │ │ -00000330: 0002 5499 a8b2 edda 9288 c0bd 01e6 be81 ..T............. │ │ │ -00000340: 9aa1 a8c5 ae93 0100 0255 b9d5 cee0 f887 .........U...... │ │ │ -00000350: d49c a701 a187 9a98 d0be b59a 7400 0256 ............t..V │ │ │ -00000360: e2fd a8b6 8190 948d 0794 f2e5 faca c5ea ................ │ │ │ -00000370: cfe4 0100 0257 cdce edbb f0cd 8ccf a101 .....W.......... │ │ │ -00000380: d8c8 c6df 978f c1f2 6d00 0258 d3d7 faa9 ........m..X.... │ │ │ -00000390: dbb0 bd90 76d2 b392 84b7 be95 b9c8 0100 ....v........... │ │ │ -000003a0: 0259 bfc7 e8b6 a8f2 85d6 f901 c7ed edf5 .Y.............. │ │ │ -000003b0: ead6 c4fd 0f00 025a 9bfe c4c4 aceb cea6 .......Z........ │ │ │ -000003c0: db01 9784 e383 aaf0 9aa1 db01 0002 5bb7 ..............[. │ │ │ -000003d0: f583 deb6 88dc fa6a 96dd bcf7 ae80 a5ba .......j........ │ │ │ -000003e0: 7d00 025c fbe0 98e6 a095 e6b4 9d01 e1c2 }..\............ │ │ │ -000003f0: bc89 fef5 c88d 7b00 025d 88f9 fcb0 8b84 ......{..]...... │ │ │ -00000400: e4dd c701 e0f6 df83 ba85 bce3 8301 0002 ................ │ │ │ -00000410: 5eb0 92c8 9eda f39d a149 dfd2 abe0 f584 ^........I...... │ │ │ -00000420: a8b4 b001 0002 5fc3 8fd6 ead9 effa e1bf ......_......... │ │ │ -00000430: 01d4 e2c6 f5e5 bde6 b693 0100 0260 88a9 .............`.. │ │ │ -00000440: eaae 92e6 9f86 cc01 9fa3 a6ec d1ea 85a2 ................ │ │ │ -00000450: 9001 0002 0000 0001 d386 beff 87f2 e9bb ................ │ │ │ -00000460: 8d01 809b a1b2 93f3 b1d1 7801 0000 0004 ..........x..... │ │ │ -00000470: 7401 0000 0000 0479 0007 87e2 ab9c f699 t......y........ │ │ │ -00000480: 9fe7 58db 8cb1 b397 d7fe 9641 0002 0000 ..X........A.... │ │ │ -00000490: 04b5 05d2 8180 e608 0000 0100 0404 0803 ................ │ │ │ -000004a0: 0702 8181 80ec 0802 0000 030f 0005 050b ................ │ │ │ -000004b0: 030b 040b 05f0 bbf1 b3fb d1cd 9fbc 01bc ................ │ │ │ -000004c0: 8ea2 f7b6 a993 ea4e 0005 0000 04ee 05d4 .......N........ │ │ │ -000004d0: 8180 e608 0000 0100 0404 0803 0702 8781 ................ │ │ │ -000004e0: 80ec 0802 0000 030f 0005 0b06 0b07 aed0 ................ │ │ │ -000004f0: b883 e1d5 ee87 73b9 ce96 e2f1 9283 c5be ......s......... │ │ │ -00000500: 0100 0700 0005 3005 8280 80e6 0800 0001 ......0......... │ │ │ -00000510: 0003 0407 0402 0000 030f 0009 0112 4167 ..............Ag │ │ │ -00000520: 6461 2e56 6572 7369 6f6e 436f 6d6d 6974 da.VersionCommit │ │ │ -00000530: b7ac d6f5 f4f1 ace4 d701 94a3 a19e 9292 ................ │ │ │ -00000540: 92ee 5400 0400 0005 6905 d481 80e6 0800 ..T.....i....... │ │ │ -00000550: 0001 0004 0408 0307 0287 8180 ec08 0200 ................ │ │ │ -00000560: 0003 0f00 050b 060b 08e5 f8b5 80e6 a8c7 ................ │ │ │ -00000570: 83c4 01d3 c3ab c1a5 c2fe f2c6 0100 0800 ................ │ │ │ -00000580: 0005 bb05 8280 80e6 0800 0001 0003 0407 ................ │ │ │ -00000590: 0402 0000 030f 0009 0121 4167 6461 2d32 .........!Agda-2 │ │ │ -000005a0: 2e38 2e30 2d4b 7541 454b 4452 4735 7773 .8.0-KuAEKDRG5ws │ │ │ -000005b0: 4652 6441 3577 3873 474c 43a9 8ea8 bce8 FRdA5w8sGLC..... │ │ │ -000005c0: 81c7 9d4c 80e8 f0e0 8d80 b486 d501 0000 ...L............ │ │ │ -000005d0: 0000 060b 05b8 8080 e608 0000 0005 8c80 ................ │ │ │ -000005e0: 80e6 0800 0001 0001 0004 0408 0307 0295 ................ │ │ │ -000005f0: 8080 ec08 0200 0003 0f00 050b 9680 80ec ................ │ │ │ -00000600: 0801 058c 8080 e608 0000 01a8 c1c3 f1d0 ................ │ │ │ -00000610: c6e1 dacf 01f9 8ebf e0e5 ee8c c4af 0100 ................ │ │ │ -00000620: 0100 0006 3c05 8c80 80e6 0800 0001 0002 ....<........... │ │ │ -00000630: 0701 0100 0200 0003 0300 0b09 0000 0000 ................ │ │ │ -00000640: 0006 4400 c7f9 f7e9 84df a69f 69ae bcf1 ..D.........i... │ │ │ -00000650: de85 c083 b21e 0000 0000 000a 0000 0100 ................ │ │ │ -00000660: 6100 0001 0062 0000 0100 6300 0964 0065 a....b....c..d.e │ │ │ -00000670: 0000 0100 6600 0001 0067 0009 6400 6800 ....f....g..d.h. │ │ │ -00000680: 0001 0069 0000 0100 6a00 0002 0042 eb00 ...i....j....B.. │ │ │ -00000690: 2141 6764 612d 322e 382e 302d 4b75 4145 !Agda-2.8.0-KuAE │ │ │ -000006a0: 4b44 5247 3577 7346 5264 4135 7738 7347 KDRG5wsFRdA5w8sG │ │ │ -000006b0: 4c43 1241 6764 612e 5665 7273 696f 6e43 LC.Agda.VersionC │ │ │ -000006c0: 6f6d 6d69 740c 4167 6461 2e56 6572 7369 ommit.Agda.Versi │ │ │ -000006d0: 6f6e 0462 6173 6523 6769 7472 6576 2d31 on.base#gitrev-1 │ │ │ -000006e0: 2e33 2e31 2d38 7058 5266 574a 3852 3658 .3.1-8pXRfWJ8R6X │ │ │ -000006f0: 4363 7454 6135 7173 4764 4910 7465 6d70 CctTa5qsGdI.temp │ │ │ -00000700: 6c61 7465 2d68 6173 6b65 6c6c 0c67 6863 late-haskell.ghc │ │ │ -00000710: 2d69 6e74 6572 6e61 6c11 4748 432e 496e -internal.GHC.In │ │ │ -00000720: 7465 726e 616c 2e42 6173 6512 4748 432e ternal.Base.GHC. │ │ │ -00000730: 496e 7465 726e 616c 2e46 6c6f 6174 0867 Internal.Float.g │ │ │ -00000740: 6863 2d70 7269 6d0c 4748 432e 5072 696d hc-prim.GHC.Prim │ │ │ -00000750: 2e45 7874 1373 746d 2d32 2e35 2e33 2e31 .Ext.stm-2.5.3.1 │ │ │ -00000760: 2d69 6e70 6c61 6365 1143 6f6e 7472 6f6c -inplace.Control │ │ │ -00000770: 2e4d 6f6e 6164 2e53 544d 1374 696d 652d .Monad.STM.time- │ │ │ -00000780: 312e 3132 2e32 2d69 6e70 6c61 6365 1c44 1.12.2-inplace.D │ │ │ -00000790: 6174 612e 5469 6d65 2e43 616c 656e 6461 ata.Time.Calenda │ │ │ -000007a0: 722e 4772 6567 6f72 6961 6e21 4461 7461 r.Gregorian!Data │ │ │ -000007b0: 2e54 696d 652e 466f 726d 6174 2e46 6f72 .Time.Format.For │ │ │ -000007c0: 6d61 742e 496e 7374 616e 6365 7316 4461 mat.Instances.Da │ │ │ -000007d0: 7461 2e54 696d 652e 466f 726d 6174 2e50 ta.Time.Format.P │ │ │ -000007e0: 6172 7365 2044 6174 612e 5469 6d65 2e46 arse Data.Time.F │ │ │ -000007f0: 6f72 6d61 742e 5061 7273 652e 496e 7374 ormat.Parse.Inst │ │ │ -00000800: 616e 6365 7326 4461 7461 2e54 696d 652e ances&Data.Time. │ │ │ -00000810: 4c6f 6361 6c54 696d 652e 496e 7465 726e LocalTime.Intern │ │ │ -00000820: 616c 2e4c 6f63 616c 5469 6d65 2644 6174 al.LocalTime&Dat │ │ │ -00000830: 612e 5469 6d65 2e4c 6f63 616c 5469 6d65 a.Time.LocalTime │ │ │ -00000840: 2e49 6e74 6572 6e61 6c2e 5a6f 6e65 6454 .Internal.ZonedT │ │ │ -00000850: 696d 6513 436f 6e74 726f 6c2e 4170 706c ime.Control.Appl │ │ │ -00000860: 6963 6174 6976 650f 4461 7461 2e41 7272 icative.Data.Arr │ │ │ -00000870: 6179 2e42 7974 650c 4461 7461 2e43 6f6d ay.Byte.Data.Com │ │ │ -00000880: 706c 6578 1444 6174 612e 4675 6e63 746f plex.Data.Functo │ │ │ -00000890: 722e 436f 6d70 6f73 6514 4461 7461 2e46 r.Compose.Data.F │ │ │ -000008a0: 756e 6374 6f72 2e50 726f 6475 6374 1044 unctor.Product.D │ │ │ -000008b0: 6174 612e 4675 6e63 746f 722e 5375 6d0e ata.Functor.Sum. │ │ │ -000008c0: 4461 7461 2e53 656d 6967 726f 7570 1b62 Data.Semigroup.b │ │ │ -000008d0: 7974 6573 7472 696e 672d 302e 3132 2e32 ytestring-0.12.2 │ │ │ -000008e0: 2e30 2d69 6e70 6c61 6365 1d44 6174 612e .0-inplace.Data. │ │ │ -000008f0: 4279 7465 5374 7269 6e67 2e49 6e74 6572 ByteString.Inter │ │ │ -00000900: 6e61 6c2e 5479 7065 1d44 6174 612e 4279 nal.Type.Data.By │ │ │ -00000910: 7465 5374 7269 6e67 2e4c 617a 792e 496e teString.Lazy.In │ │ │ -00000920: 7465 726e 616c 1e44 6174 612e 4279 7465 ternal.Data.Byte │ │ │ -00000930: 5374 7269 6e67 2e53 686f 7274 2e49 6e74 String.Short.Int │ │ │ -00000940: 6572 6e61 6c17 6465 6570 7365 712d 312e ernal.deepseq-1. │ │ │ -00000950: 352e 302e 302d 696e 706c 6163 650f 436f 5.0.0-inplace.Co │ │ │ -00000960: 6e74 726f 6c2e 4465 6570 5365 711a 6768 ntrol.DeepSeq.gh │ │ │ -00000970: 632d 626f 6f74 2d74 682d 392e 3130 2e33 c-boot-th-9.10.3 │ │ │ -00000980: 2d69 6e70 6c61 6365 1747 4843 2e46 6f72 -inplace.GHC.For │ │ │ -00000990: 6569 676e 5372 634c 616e 672e 5479 7065 eignSrcLang.Type │ │ │ -000009a0: 1b47 4843 2e4c 616e 6775 6167 6545 7874 .GHC.LanguageExt │ │ │ -000009b0: 656e 7369 6f6e 732e 5479 7065 1a47 4843 ensions.Type.GHC │ │ │ -000009c0: 2e49 6e74 6572 6e61 6c2e 436f 6e74 726f .Internal.Contro │ │ │ -000009d0: 6c2e 4172 726f 771f 4748 432e 496e 7465 l.Arrow.GHC.Inte │ │ │ -000009e0: 726e 616c 2e44 6174 612e 4675 6e63 746f rnal.Data.Functo │ │ │ -000009f0: 722e 436f 6e73 7422 4748 432e 496e 7465 r.Const"GHC.Inte │ │ │ -00000a00: 726e 616c 2e44 6174 612e 4675 6e63 746f rnal.Data.Functo │ │ │ -00000a10: 722e 4964 656e 7469 7479 1847 4843 2e49 r.Identity.GHC.I │ │ │ -00000a20: 6e74 6572 6e61 6c2e 4461 7461 2e4d 6f6e nternal.Data.Mon │ │ │ -00000a30: 6f69 6424 4748 432e 496e 7465 726e 616c oid$GHC.Internal │ │ │ -00000a40: 2e44 6174 612e 5365 6d69 6772 6f75 702e .Data.Semigroup. │ │ │ -00000a50: 496e 7465 726e 616c 1a47 4843 2e49 6e74 Internal.GHC.Int │ │ │ -00000a60: 6572 6e61 6c2e 4461 7461 2e54 7970 652e ernal.Data.Type. │ │ │ -00000a70: 4f72 6419 4748 432e 496e 7465 726e 616c Ord.GHC.Internal │ │ │ -00000a80: 2e44 6174 612e 5665 7273 696f 6e1c 4748 .Data.Version.GH │ │ │ -00000a90: 432e 496e 7465 726e 616c 2e46 756e 6374 C.Internal.Funct │ │ │ -00000aa0: 6f72 2e5a 6970 4c69 7374 1547 4843 2e49 or.ZipList.GHC.I │ │ │ -00000ab0: 6e74 6572 6e61 6c2e 4765 6e65 7269 6373 nternal.Generics │ │ │ -00000ac0: 1947 4843 2e49 6e74 6572 6e61 6c2e 494f .GHC.Internal.IO │ │ │ -00000ad0: 2e45 7863 6570 7469 6f6e 1347 4843 2e49 .Exception.GHC.I │ │ │ -00000ae0: 6e74 6572 6e61 6c2e 4973 4c69 7374 1647 nternal.IsList.G │ │ │ -00000af0: 4843 2e49 6e74 6572 6e61 6c2e 5254 532e HC.Internal.RTS. │ │ │ -00000b00: 466c 6167 7317 6f73 2d73 7472 696e 672d Flags.os-string- │ │ │ -00000b10: 322e 302e 372d 696e 706c 6163 651e 5379 2.0.7-inplace.Sy │ │ │ -00000b20: 7374 656d 2e4f 7353 7472 696e 672e 496e stem.OsString.In │ │ │ -00000b30: 7465 726e 616c 2e54 7970 6573 1670 7265 ternal.Types.pre │ │ │ -00000b40: 7474 792d 312e 312e 332e 362d 696e 706c tty-1.1.3.6-inpl │ │ │ -00000b50: 6163 6523 5465 7874 2e50 7265 7474 7950 ace#Text.PrettyP │ │ │ -00000b60: 7269 6e74 2e41 6e6e 6f74 6174 6564 2e48 rint.Annotated.H │ │ │ -00000b70: 7567 6865 7350 4a19 5465 7874 2e50 7265 ughesPJ.Text.Pre │ │ │ -00000b80: 7474 7950 7269 6e74 2e48 7567 6865 7350 ttyPrint.HughesP │ │ │ -00000b90: 4a1a 4c61 6e67 7561 6765 2e48 6173 6b65 J.Language.Haske │ │ │ -00000ba0: 6c6c 2e54 482e 5379 6e74 6178 1c74 7261 ll.TH.Syntax.tra │ │ │ -00000bb0: 6e73 666f 726d 6572 732d 302e 362e 312e nsformers-0.6.1. │ │ │ -00000bc0: 312d 696e 706c 6163 6518 436f 6e74 726f 1-inplace.Contro │ │ │ -00000bd0: 6c2e 4d6f 6e61 642e 5472 616e 732e 436f l.Monad.Trans.Co │ │ │ -00000be0: 6e74 1a43 6f6e 7472 6f6c 2e4d 6f6e 6164 nt.Control.Monad │ │ │ -00000bf0: 2e54 7261 6e73 2e45 7863 6570 741c 436f .Trans.Except.Co │ │ │ -00000c00: 6e74 726f 6c2e 4d6f 6e61 642e 5472 616e ntrol.Monad.Tran │ │ │ -00000c10: 732e 4964 656e 7469 7479 1943 6f6e 7472 s.Identity.Contr │ │ │ -00000c20: 6f6c 2e4d 6f6e 6164 2e54 7261 6e73 2e4d ol.Monad.Trans.M │ │ │ -00000c30: 6179 6265 1c43 6f6e 7472 6f6c 2e4d 6f6e aybe.Control.Mon │ │ │ -00000c40: 6164 2e54 7261 6e73 2e52 5753 2e4c 617a ad.Trans.RWS.Laz │ │ │ -00000c50: 791e 436f 6e74 726f 6c2e 4d6f 6e61 642e y.Control.Monad. │ │ │ -00000c60: 5472 616e 732e 5257 532e 5374 7269 6374 Trans.RWS.Strict │ │ │ -00000c70: 1a43 6f6e 7472 6f6c 2e4d 6f6e 6164 2e54 .Control.Monad.T │ │ │ -00000c80: 7261 6e73 2e52 6561 6465 721e 436f 6e74 rans.Reader.Cont │ │ │ -00000c90: 726f 6c2e 4d6f 6e61 642e 5472 616e 732e rol.Monad.Trans. │ │ │ -00000ca0: 5374 6174 652e 4c61 7a79 2043 6f6e 7472 State.Lazy Contr │ │ │ -00000cb0: 6f6c 2e4d 6f6e 6164 2e54 7261 6e73 2e53 ol.Monad.Trans.S │ │ │ -00000cc0: 7461 7465 2e53 7472 6963 741f 436f 6e74 tate.Strict.Cont │ │ │ -00000cd0: 726f 6c2e 4d6f 6e61 642e 5472 616e 732e rol.Monad.Trans. │ │ │ -00000ce0: 5772 6974 6572 2e4c 617a 7921 436f 6e74 Writer.Lazy!Cont │ │ │ -00000cf0: 726f 6c2e 4d6f 6e61 642e 5472 616e 732e rol.Monad.Trans. │ │ │ -00000d00: 5772 6974 6572 2e53 7472 6963 7407 7665 Writer.Strict.ve │ │ │ -00000d10: 7273 696f 6e07 5072 656c 7564 6517 4748 rsion.Prelude.GH │ │ │ -00000d20: 432e 496e 7465 726e 616c 2e44 6174 612e C.Internal.Data. │ │ │ -00000d30: 4d61 7962 6511 4748 432e 496e 7465 726e Maybe.GHC.Intern │ │ │ -00000d40: 616c 2e4c 6973 740b 4748 432e 436c 6173 al.List.GHC.Clas │ │ │ -00000d50: 7365 7312 4465 7665 6c6f 706d 656e 742e ses.Development. │ │ │ -00000d60: 4769 7452 6576 cc00 2f75 7372 2f6c 6962 GitRev../usr/lib │ │ │ -00000d70: 2f67 6863 2f6c 6962 2f2e 2e2f 6c69 622f /ghc/lib/../lib/ │ │ │ -00000d80: 6933 3836 2d6c 696e 7578 2d67 6863 2d39 i386-linux-ghc-9 │ │ │ -00000d90: 2e31 302e 332f 7274 732d 312e 302e 322f .10.3/rts-1.0.2/ │ │ │ -00000da0: 696e 636c 7564 652f 6768 6376 6572 7369 include/ghcversi │ │ │ -00000db0: 6f6e 2e68 2564 6973 742d 6768 632f 6275 on.h%dist-ghc/bu │ │ │ -00000dc0: 696c 642f 6175 746f 6765 6e2f 6361 6261 ild/autogen/caba │ │ │ -00000dd0: 6c5f 6d61 6372 6f73 2e68 1a2f 7573 722f l_macros.h./usr/ │ │ │ -00000de0: 696e 636c 7564 652f 7374 6463 2d70 7265 include/stdc-pre │ │ │ -00000df0: 6465 662e 68d7 002f 7573 722f 6c69 622f def.h../usr/lib/ │ │ │ -00000e00: 6768 632f 6c69 622f 2e2e 2f6c 6962 2f69 ghc/lib/../lib/i │ │ │ -00000e10: 3338 362d 6c69 6e75 782d 6768 632d 392e 386-linux-ghc-9. │ │ │ -00000e20: 3130 2e33 2f6c 6962 4853 6768 632d 7072 10.3/libHSghc-pr │ │ │ -00000e30: 696d 2d30 2e31 322e 302d 696e 706c 6163 im-0.12.0-inplac │ │ │ -00000e40: 652d 6768 6339 2e31 302e 332e 736f d600 e-ghc9.10.3.so.. │ │ │ -00000e50: 2f75 7372 2f6c 6962 2f67 6863 2f6c 6962 /usr/lib/ghc/lib │ │ │ -00000e60: 2f2e 2e2f 6c69 622f 6933 3836 2d6c 696e /../lib/i386-lin │ │ │ -00000e70: 7578 2d67 6863 2d39 2e31 302e 332f 6c69 ux-ghc-9.10.3/li │ │ │ -00000e80: 6248 5367 6863 2d62 6967 6e75 6d2d 312e bHSghc-bignum-1. │ │ │ -00000e90: 332d 696e 706c 6163 652d 6768 6339 2e31 3-inplace-ghc9.1 │ │ │ -00000ea0: 302e 332e 736f dd00 2f75 7372 2f6c 6962 0.3.so../usr/lib │ │ │ -00000eb0: 2f67 6863 2f6c 6962 2f2e 2e2f 6c69 622f /ghc/lib/../lib/ │ │ │ -00000ec0: 6933 3836 2d6c 696e 7578 2d67 6863 2d39 i386-linux-ghc-9 │ │ │ -00000ed0: 2e31 302e 332f 6c69 6248 5367 6863 2d69 .10.3/libHSghc-i │ │ │ -00000ee0: 6e74 6572 6e61 6c2d 392e 3130 3033 2e30 nternal-9.1003.0 │ │ │ -00000ef0: 2d69 6e70 6c61 6365 2d67 6863 392e 3130 -inplace-ghc9.10 │ │ │ -00000f00: 2e33 2e73 6fd5 002f 7573 722f 6c69 622f .3.so../usr/lib/ │ │ │ -00000f10: 6768 632f 6c69 622f 2e2e 2f6c 6962 2f69 ghc/lib/../lib/i │ │ │ -00000f20: 3338 362d 6c69 6e75 782d 6768 632d 392e 386-linux-ghc-9. │ │ │ -00000f30: 3130 2e33 2f6c 6962 4853 6261 7365 2d34 10.3/libHSbase-4 │ │ │ -00000f40: 2e32 302e 322e 302d 696e 706c 6163 652d .20.2.0-inplace- │ │ │ -00000f50: 6768 6339 2e31 302e 332e 736f d500 2f75 ghc9.10.3.so../u │ │ │ -00000f60: 7372 2f6c 6962 2f67 6863 2f6c 6962 2f2e sr/lib/ghc/lib/. │ │ │ -00000f70: 2e2f 6c69 622f 6933 3836 2d6c 696e 7578 ./lib/i386-linux │ │ │ -00000f80: 2d67 6863 2d39 2e31 302e 332f 6c69 6248 -ghc-9.10.3/libH │ │ │ -00000f90: 5361 7272 6179 2d30 2e35 2e38 2e30 2d69 Sarray-0.5.8.0-i │ │ │ -00000fa0: 6e70 6c61 6365 2d67 6863 392e 3130 2e33 nplace-ghc9.10.3 │ │ │ -00000fb0: 2e73 6fd7 002f 7573 722f 6c69 622f 6768 .so../usr/lib/gh │ │ │ -00000fc0: 632f 6c69 622f 2e2e 2f6c 6962 2f69 3338 c/lib/../lib/i38 │ │ │ -00000fd0: 362d 6c69 6e75 782d 6768 632d 392e 3130 6-linux-ghc-9.10 │ │ │ -00000fe0: 2e33 2f6c 6962 4853 6465 6570 7365 712d .3/libHSdeepseq- │ │ │ -00000ff0: 312e 352e 302e 302d 696e 706c 6163 652d 1.5.0.0-inplace- │ │ │ -00001000: 6768 6339 2e31 302e 332e 736f da00 2f75 ghc9.10.3.so../u │ │ │ -00001010: 7372 2f6c 6962 2f67 6863 2f6c 6962 2f2e sr/lib/ghc/lib/. │ │ │ -00001020: 2e2f 6c69 622f 6933 3836 2d6c 696e 7578 ./lib/i386-linux │ │ │ -00001030: 2d67 6863 2d39 2e31 302e 332f 6c69 6248 -ghc-9.10.3/libH │ │ │ -00001040: 5367 6863 2d62 6f6f 742d 7468 2d39 2e31 Sghc-boot-th-9.1 │ │ │ -00001050: 302e 332d 696e 706c 6163 652d 6768 6339 0.3-inplace-ghc9 │ │ │ -00001060: 2e31 302e 332e 736f d600 2f75 7372 2f6c .10.3.so../usr/l │ │ │ -00001070: 6962 2f67 6863 2f6c 6962 2f2e 2e2f 6c69 ib/ghc/lib/../li │ │ │ -00001080: 622f 6933 3836 2d6c 696e 7578 2d67 6863 b/i386-linux-ghc │ │ │ -00001090: 2d39 2e31 302e 332f 6c69 6248 5370 7265 -9.10.3/libHSpre │ │ │ -000010a0: 7474 792d 312e 312e 332e 362d 696e 706c tty-1.1.3.6-inpl │ │ │ -000010b0: 6163 652d 6768 6339 2e31 302e 332e 736f ace-ghc9.10.3.so │ │ │ -000010c0: e100 2f75 7372 2f6c 6962 2f67 6863 2f6c ../usr/lib/ghc/l │ │ │ -000010d0: 6962 2f2e 2e2f 6c69 622f 6933 3836 2d6c ib/../lib/i386-l │ │ │ -000010e0: 696e 7578 2d67 6863 2d39 2e31 302e 332f inux-ghc-9.10.3/ │ │ │ -000010f0: 6c69 6248 5374 656d 706c 6174 652d 6861 libHStemplate-ha │ │ │ -00001100: 736b 656c 6c2d 322e 3232 2e30 2e30 2d69 skell-2.22.0.0-i │ │ │ -00001110: 6e70 6c61 6365 2d67 6863 392e 3130 2e33 nplace-ghc9.10.3 │ │ │ -00001120: 2e73 6fdb 002f 7573 722f 6c69 622f 6768 .so../usr/lib/gh │ │ │ -00001130: 632f 6c69 622f 2e2e 2f6c 6962 2f69 3338 c/lib/../lib/i38 │ │ │ -00001140: 362d 6c69 6e75 782d 6768 632d 392e 3130 6-linux-ghc-9.10 │ │ │ -00001150: 2e33 2f6c 6962 4853 6279 7465 7374 7269 .3/libHSbytestri │ │ │ -00001160: 6e67 2d30 2e31 322e 322e 302d 696e 706c ng-0.12.2.0-inpl │ │ │ -00001170: 6163 652d 6768 6339 2e31 302e 332e 736f ace-ghc9.10.3.so │ │ │ -00001180: dc00 2f75 7372 2f6c 6962 2f67 6863 2f6c ../usr/lib/ghc/l │ │ │ -00001190: 6962 2f2e 2e2f 6c69 622f 6933 3836 2d6c ib/../lib/i386-l │ │ │ -000011a0: 696e 7578 2d67 6863 2d39 2e31 302e 332f inux-ghc-9.10.3/ │ │ │ -000011b0: 6c69 6248 5374 7261 6e73 666f 726d 6572 libHStransformer │ │ │ -000011c0: 732d 302e 362e 312e 312d 696e 706c 6163 s-0.6.1.1-inplac │ │ │ -000011d0: 652d 6768 6339 2e31 302e 332e 736f d100 e-ghc9.10.3.so.. │ │ │ -000011e0: 2f75 7372 2f6c 6962 2f67 6863 2f6c 6962 /usr/lib/ghc/lib │ │ │ -000011f0: 2f2e 2e2f 6c69 622f 6933 3836 2d6c 696e /../lib/i386-lin │ │ │ -00001200: 7578 2d67 6863 2d39 2e31 302e 332f 6c69 ux-ghc-9.10.3/li │ │ │ -00001210: 6248 536d 746c 2d32 2e33 2e31 2d69 6e70 bHSmtl-2.3.1-inp │ │ │ -00001220: 6c61 6365 2d67 6863 392e 3130 2e33 2e73 lace-ghc9.10.3.s │ │ │ -00001230: 6fd3 002f 7573 722f 6c69 622f 6768 632f o../usr/lib/ghc/ │ │ │ -00001240: 6c69 622f 2e2e 2f6c 6962 2f69 3338 362d lib/../lib/i386- │ │ │ -00001250: 6c69 6e75 782d 6768 632d 392e 3130 2e33 linux-ghc-9.10.3 │ │ │ -00001260: 2f6c 6962 4853 7374 6d2d 322e 352e 332e /libHSstm-2.5.3. │ │ │ -00001270: 312d 696e 706c 6163 652d 6768 6339 2e31 1-inplace-ghc9.1 │ │ │ -00001280: 302e 332e 736f d900 2f75 7372 2f6c 6962 0.3.so../usr/lib │ │ │ -00001290: 2f67 6863 2f6c 6962 2f2e 2e2f 6c69 622f /ghc/lib/../lib/ │ │ │ -000012a0: 6933 3836 2d6c 696e 7578 2d67 6863 2d39 i386-linux-ghc-9 │ │ │ -000012b0: 2e31 302e 332f 6c69 6248 5365 7863 6570 .10.3/libHSexcep │ │ │ -000012c0: 7469 6f6e 732d 302e 3130 2e39 2d69 6e70 tions-0.10.9-inp │ │ │ -000012d0: 6c61 6365 2d67 6863 392e 3130 2e33 2e73 lace-ghc9.10.3.s │ │ │ -000012e0: 6fd7 002f 7573 722f 6c69 622f 6768 632f o../usr/lib/ghc/ │ │ │ -000012f0: 6c69 622f 2e2e 2f6c 6962 2f69 3338 362d lib/../lib/i386- │ │ │ -00001300: 6c69 6e75 782d 6768 632d 392e 3130 2e33 linux-ghc-9.10.3 │ │ │ -00001310: 2f6c 6962 4853 6f73 2d73 7472 696e 672d /libHSos-string- │ │ │ -00001320: 322e 302e 372d 696e 706c 6163 652d 6768 2.0.7-inplace-gh │ │ │ -00001330: 6339 2e31 302e 332e 736f d800 2f75 7372 c9.10.3.so../usr │ │ │ -00001340: 2f6c 6962 2f67 6863 2f6c 6962 2f2e 2e2f /lib/ghc/lib/../ │ │ │ -00001350: 6c69 622f 6933 3836 2d6c 696e 7578 2d67 lib/i386-linux-g │ │ │ -00001360: 6863 2d39 2e31 302e 332f 6c69 6248 5366 hc-9.10.3/libHSf │ │ │ -00001370: 696c 6570 6174 682d 312e 352e 342e 302d ilepath-1.5.4.0- │ │ │ -00001380: 696e 706c 6163 652d 6768 6339 2e31 302e inplace-ghc9.10. │ │ │ -00001390: 332e 736f d300 2f75 7372 2f6c 6962 2f67 3.so../usr/lib/g │ │ │ -000013a0: 6863 2f6c 6962 2f2e 2e2f 6c69 622f 6933 hc/lib/../lib/i3 │ │ │ -000013b0: 3836 2d6c 696e 7578 2d67 6863 2d39 2e31 86-linux-ghc-9.1 │ │ │ -000013c0: 302e 332f 6c69 6248 5374 696d 652d 312e 0.3/libHStime-1. │ │ │ -000013d0: 3132 2e32 2d69 6e70 6c61 6365 2d67 6863 12.2-inplace-ghc │ │ │ -000013e0: 392e 3130 2e33 2e73 6fd4 002f 7573 722f 9.10.3.so../usr/ │ │ │ -000013f0: 6c69 622f 6768 632f 6c69 622f 2e2e 2f6c lib/ghc/lib/../l │ │ │ -00001400: 6962 2f69 3338 362d 6c69 6e75 782d 6768 ib/i386-linux-gh │ │ │ -00001410: 632d 392e 3130 2e33 2f6c 6962 4853 756e c-9.10.3/libHSun │ │ │ -00001420: 6978 2d32 2e38 2e37 2e30 2d69 6e70 6c61 ix-2.8.7.0-inpla │ │ │ -00001430: 6365 2d67 6863 392e 3130 2e33 2e73 6fd9 ce-ghc9.10.3.so. │ │ │ -00001440: 002f 7573 722f 6c69 622f 6768 632f 6c69 ./usr/lib/ghc/li │ │ │ -00001450: 622f 2e2e 2f6c 6962 2f69 3338 362d 6c69 b/../lib/i386-li │ │ │ -00001460: 6e75 782d 6768 632d 392e 3130 2e33 2f6c nux-ghc-9.10.3/l │ │ │ -00001470: 6962 4853 6469 7265 6374 6f72 792d 312e ibHSdirectory-1. │ │ │ -00001480: 332e 382e 352d 696e 706c 6163 652d 6768 3.8.5-inplace-gh │ │ │ -00001490: 6339 2e31 302e 332e 736f d800 2f75 7372 c9.10.3.so../usr │ │ │ -000014a0: 2f6c 6962 2f67 6863 2f6c 6962 2f2e 2e2f /lib/ghc/lib/../ │ │ │ -000014b0: 6c69 622f 6933 3836 2d6c 696e 7578 2d67 lib/i386-linux-g │ │ │ -000014c0: 6863 2d39 2e31 302e 332f 6c69 6248 5370 hc-9.10.3/libHSp │ │ │ -000014d0: 726f 6365 7373 2d31 2e36 2e32 362e 312d rocess-1.6.26.1- │ │ │ -000014e0: 696e 706c 6163 652d 6768 6339 2e31 302e inplace-ghc9.10. │ │ │ -000014f0: 332e 736f fb00 2f75 7372 2f6c 6962 2f68 3.so../usr/lib/h │ │ │ -00001500: 6173 6b65 6c6c 2d70 6163 6b61 6765 732f askell-packages/ │ │ │ -00001510: 6768 632f 6c69 622f 6933 3836 2d6c 696e ghc/lib/i386-lin │ │ │ -00001520: 7578 2d67 6863 2d39 2e31 302e 332d 696e ux-ghc-9.10.3-in │ │ │ -00001530: 706c 6163 652f 6c69 6248 5362 6173 652d place/libHSbase- │ │ │ -00001540: 636f 6d70 6174 2d30 2e31 342e 312d 4938 compat-0.14.1-I8 │ │ │ -00001550: 4e56 7878 6964 6b41 4142 536a 624d 6155 NVxxidkAABSjbMaU │ │ │ -00001560: 364c 5776 2d67 6863 392e 3130 2e33 2e73 6LWv-ghc9.10.3.s │ │ │ -00001570: 6ff5 002f 7573 722f 6c69 622f 6861 736b o../usr/lib/hask │ │ │ -00001580: 656c 6c2d 7061 636b 6167 6573 2f67 6863 ell-packages/ghc │ │ │ -00001590: 2f6c 6962 2f69 3338 362d 6c69 6e75 782d /lib/i386-linux- │ │ │ -000015a0: 6768 632d 392e 3130 2e33 2d69 6e70 6c61 ghc-9.10.3-inpla │ │ │ -000015b0: 6365 2f6c 6962 4853 6769 7472 6576 2d31 ce/libHSgitrev-1 │ │ │ -000015c0: 2e33 2e31 2d38 7058 5266 574a 3852 3658 .3.1-8pXRfWJ8R6X │ │ │ -000015d0: 4363 7454 6135 7173 4764 492d 6768 6339 CctTa5qsGdI-ghc9 │ │ │ -000015e0: 2e31 302e 332e 736f 0a63 6f6d 6d69 7449 .10.3.so.commitI │ │ │ -000015f0: 6e66 6f15 7665 7273 696f 6e57 6974 6843 nfo.versionWithC │ │ │ -00001600: 6f6d 6d69 7449 6e66 6f09 2474 724d 6f64 ommitInfo.$trMod │ │ │ -00001610: 756c 6509 4748 432e 5479 7065 7306 4d6f ule.GHC.Types.Mo │ │ │ -00001620: 6475 6c65 0a24 7472 4d6f 6475 6c65 330a dule.$trModule3. │ │ │ -00001630: 2474 724d 6f64 756c 6531 0754 724e 616d $trModule1.TrNam │ │ │ -00001640: 6553 0a24 7472 4d6f 6475 6c65 320a 2474 eS.$trModule2.$t │ │ │ -00001650: 724d 6f64 756c 6534 00 rModule4. │ │ │ +00000020: 0016 5700 0006 8d00 0006 5a00 0001 0000 ..W.......Z..... │ │ │ +00000030: f4b9 b3e7 cfc2 f2cb 19fb fa95 e79c 89e0 ................ │ │ │ +00000040: 83b3 018b e4be d5d5 8ac0 fcb0 01e8 81ed ................ │ │ │ +00000050: bbdb c7de ddbe 0195 b29c e182 c9d0 c157 ...............W │ │ │ +00000060: b4d5 a1cb cffa 80f4 7a85 ccbe b3c3 ebac ........z....... │ │ │ +00000070: d485 01ba 9b93 dd82 f1c0 ff54 89c1 b6f0 ...........T.... │ │ │ +00000080: dfb5 a1dc 9301 f1be d6fe 8492 8dfb cd01 ................ │ │ │ +00000090: c9c2 c7b5 ad82 908b ad01 87c0 cc88 8bab ................ │ │ │ +000000a0: a79a 4200 0000 0001 5001 0002 0003 0304 ..B.....P....... │ │ │ +000000b0: 0500 0000 000a 0006 0700 0608 0009 0a00 ................ │ │ │ +000000c0: 0b0c 000d 0e00 0d0f 000d 1000 0d11 000d ................ │ │ │ +000000d0: 1200 0d13 2900 0002 0003 1400 0315 0003 ....)........... │ │ │ +000000e0: 1600 0317 0003 1800 0319 0003 1a00 1b1c ................ │ │ │ +000000f0: 001b 1d00 1b1e 001f 2000 2122 0021 2300 ........ .!".!#. │ │ │ +00000100: 0624 0006 2500 0626 0006 2700 0628 0006 .$..%..&..'..(.. │ │ │ +00000110: 2900 062a 0006 2b00 062c 0006 2d00 062e )..*..+..,..-... │ │ │ +00000120: 0006 2f00 3031 0032 3300 3234 0005 3500 ../.01.23.24..5. │ │ │ +00000130: 3637 0036 3800 3639 0036 3a00 363b 0036 67.68.69.6:.6;.6 │ │ │ +00000140: 3c00 363d 0036 3e00 363f 0036 4000 3641 <.6=.6>.6?.6@.6A │ │ │ +00000150: 0000 0452 2001 0200 e881 e3c2 afec f69c ...R ........... │ │ │ +00000160: 8c01 aae2 acd6 cdc7 be81 3201 d887 94df ..........2..... │ │ │ +00000170: a084 cdeb d001 d3ab 8d89 a28d 9ac6 1901 ................ │ │ │ +00000180: 0042 cfe1 fbd2 b8f4 9ff4 cc01 dcae e7f7 .B.............. │ │ │ +00000190: a5a4 87a2 f401 0000 0003 43e3 d896 978c ..........C..... │ │ │ +000001a0: bdfe 8f1a fdf0 d6b8 a2be adea 2000 0000 ............ ... │ │ │ +000001b0: 0607 8e82 c884 a9ed c7e8 a601 ebb7 d28d ................ │ │ │ +000001c0: abfb fded 9a01 0000 0006 44bb d983 a1cf ..........D..... │ │ │ +000001d0: f880 ff78 f288 b2ab bbac bba8 e801 0000 ...x............ │ │ │ +000001e0: 0006 45cb f9de ddc4 cebb a0d4 01b0 91be ..E............. │ │ │ +000001f0: ddf0 fa99 fc4a 0000 0009 46b9 f0ba a7ec .....J....F..... │ │ │ +00000200: c3fa 842a d6f9 80b6 eef3 86e1 5000 0000 ...*........P... │ │ │ +00000210: 0447 82a6 dce4 dbcb d2fb 20cf 9ab0 b6e1 .G........ ..... │ │ │ +00000220: d6c5 bedd 0100 0248 9a86 aff8 b3c8 b4dd .......H........ │ │ │ +00000230: ef01 bf85 82de 80be a09a 6c00 0249 d7a0 ..........l..I.. │ │ │ +00000240: 87c7 97ad 8480 7d8c 9ca4 dfc0 b0f3 e3ea ......}......... │ │ │ +00000250: 0100 024a a5d0 ef9a e8f4 e3f4 e001 dd82 ...J............ │ │ │ +00000260: de90 c7ab ca8b bf01 0002 4b8a b79c 9cf2 ..........K..... │ │ │ +00000270: 8dd6 faac 01e9 e7f4 f589 eb8b a070 0002 .............p.. │ │ │ +00000280: 4cd6 adcf e6c1 b8a7 c418 abc3 a9db a4ab L............... │ │ │ +00000290: 96c7 1e00 024d efb7 c790 ecae e4fc 9401 .....M.......... │ │ │ +000002a0: 8ff8 91ed f0b2 a198 c101 0002 4e91 a1c9 ............N... │ │ │ +000002b0: f5b4 ebbc fc28 93f6 fabd 9bae f5c3 9801 .....(.......... │ │ │ +000002c0: 0002 4f9e bfa6 e9ab ddc2 d1bd 01ca 82de ..O............. │ │ │ +000002d0: e8b1 deb0 d3c2 0100 0250 a4e5 b3b3 bfdc .........P...... │ │ │ +000002e0: cdcb 47a0 d4d7 b1a7 dddc efd3 0100 0251 ..G............Q │ │ │ +000002f0: 91f1 ea90 c4a0 d190 6f97 8598 a7a6 98a7 ........o....... │ │ │ +00000300: d7dd 0100 0252 c28d 95ef ff94 e1bb 3bd9 .....R........;. │ │ │ +00000310: f8d5 ecc3 faeb c43e 0002 53c7 dad1 b79e .......>..S..... │ │ │ +00000320: dcbc c2ad 01b8 8990 c481 e6a3 e5cc 0100 ................ │ │ │ +00000330: 0254 99a8 b2ed da92 88c0 bd01 e6be 819a .T.............. │ │ │ +00000340: a1a8 c5ae 9301 0002 55b9 d5ce e0f8 87d4 ........U....... │ │ │ +00000350: 9ca7 01a1 879a 98d0 beb5 9a74 0002 56e2 ...........t..V. │ │ │ +00000360: fda8 b681 9094 8d07 94f2 e5fa cac5 eacf ................ │ │ │ +00000370: e401 0002 57cd ceed bbf0 cd8c cfa1 01d8 ....W........... │ │ │ +00000380: c8c6 df97 8fc1 f26d 0002 58d3 d7fa a9db .......m..X..... │ │ │ +00000390: b0bd 9076 d2b3 9284 b7be 95b9 c801 0002 ...v............ │ │ │ +000003a0: 59bf c7e8 b6a8 f285 d6f9 01c7 eded f5ea Y............... │ │ │ +000003b0: d6c4 fd0f 0002 5a9b fec4 c4ac ebce a6db ......Z......... │ │ │ +000003c0: 0197 84e3 83aa f09a a1db 0100 025b b7f5 .............[.. │ │ │ +000003d0: 83de b688 dcfa 6a96 ddbc f7ae 80a5 ba7d ......j........} │ │ │ +000003e0: 0002 5cfb e098 e6a0 95e6 b49d 01e1 c2bc ..\............. │ │ │ +000003f0: 89fe f5c8 8d7b 0002 5d88 f9fc b08b 84e4 .....{..]....... │ │ │ +00000400: ddc7 01e0 f6df 83ba 85bc e383 0100 025e ...............^ │ │ │ +00000410: b092 c89e daf3 9da1 49df d2ab e0f5 84a8 ........I....... │ │ │ +00000420: b4b0 0100 025f c38f d6ea d9ef fae1 bf01 ....._.......... │ │ │ +00000430: d4e2 c6f5 e5bd e6b6 9301 0002 6088 a9ea ............`... │ │ │ +00000440: ae92 e69f 86cc 019f a3a6 ecd1 ea85 a290 ................ │ │ │ +00000450: 0100 0200 0000 01d3 86be ff87 f2e9 bb8d ................ │ │ │ +00000460: 0180 9ba1 b293 f3b1 d178 0100 0000 0473 .........x.....s │ │ │ +00000470: 0100 0000 0004 7800 0787 e2ab 9cf6 999f ......x......... │ │ │ +00000480: e758 db8c b1b3 97d7 fe96 4100 0200 0004 .X........A..... │ │ │ +00000490: b405 d281 80e6 0800 0001 0004 0408 0307 ................ │ │ │ +000004a0: 0281 8180 ec08 0200 0003 0f00 0505 0b03 ................ │ │ │ +000004b0: 0b04 0b05 f0bb f1b3 fbd1 cd9f bc01 bc8e ................ │ │ │ +000004c0: a2f7 b6a9 93ea 4e00 0500 0004 ed05 d481 ......N......... │ │ │ +000004d0: 80e6 0800 0001 0004 0408 0307 0287 8180 ................ │ │ │ +000004e0: ec08 0200 0003 0f00 050b 060b 07ae d0b8 ................ │ │ │ +000004f0: 83e1 d5ee 8773 b9ce 96e2 f192 83c5 be01 .....s.......... │ │ │ +00000500: 0007 0000 052f 0582 8080 e608 0000 0100 ...../.......... │ │ │ +00000510: 0304 0704 0200 0003 0f00 0901 1241 6764 .............Agd │ │ │ +00000520: 612e 5665 7273 696f 6e43 6f6d 6d69 74b7 a.VersionCommit. │ │ │ +00000530: acd6 f5f4 f1ac e4d7 0194 a3a1 9e92 9292 ................ │ │ │ +00000540: ee54 0004 0000 0568 05d4 8180 e608 0000 .T.....h........ │ │ │ +00000550: 0100 0404 0803 0702 8781 80ec 0802 0000 ................ │ │ │ +00000560: 030f 0005 0b06 0b08 e5f8 b580 e6a8 c783 ................ │ │ │ +00000570: c401 d3c3 abc1 a5c2 fef2 c601 0008 0000 ................ │ │ │ +00000580: 05ba 0582 8080 e608 0000 0100 0304 0704 ................ │ │ │ +00000590: 0200 0003 0f00 0901 2141 6764 612d 322e ........!Agda-2. │ │ │ +000005a0: 382e 302d 4b75 4145 4b44 5247 3577 7346 8.0-KuAEKDRG5wsF │ │ │ +000005b0: 5264 4135 7738 7347 4c43 a98e a8bc e881 RdA5w8sGLC...... │ │ │ +000005c0: c79d 4c80 e8f0 e08d 80b4 86d5 0100 0000 ..L............. │ │ │ +000005d0: 0006 0a05 b880 80e6 0800 0000 058c 8080 ................ │ │ │ +000005e0: e608 0000 0100 0100 0404 0803 0702 9580 ................ │ │ │ +000005f0: 80ec 0802 0000 030f 0005 0b96 8080 ec08 ................ │ │ │ +00000600: 0105 8c80 80e6 0800 0001 a8c1 c3f1 d0c6 ................ │ │ │ +00000610: e1da cf01 f98e bfe0 e5ee 8cc4 af01 0001 ................ │ │ │ +00000620: 0000 063b 058c 8080 e608 0000 0100 0207 ...;............ │ │ │ +00000630: 0101 0002 0000 0303 000b 0900 0000 0000 ................ │ │ │ +00000640: 0643 00c7 f9f7 e984 dfa6 9f69 aebc f1de .C.........i.... │ │ │ +00000650: 85c0 83b2 1e00 0000 0000 0a00 0001 0061 ...............a │ │ │ +00000660: 0000 0100 6200 0001 0063 0009 6400 6500 ....b....c..d.e. │ │ │ +00000670: 0001 0066 0000 0100 6700 0964 0068 0000 ...f....g..d.h.. │ │ │ +00000680: 0100 6900 0001 006a 0000 0200 42eb 0021 ..i....j....B..! │ │ │ +00000690: 4167 6461 2d32 2e38 2e30 2d4b 7541 454b Agda-2.8.0-KuAEK │ │ │ +000006a0: 4452 4735 7773 4652 6441 3577 3873 474c DRG5wsFRdA5w8sGL │ │ │ +000006b0: 4312 4167 6461 2e56 6572 7369 6f6e 436f C.Agda.VersionCo │ │ │ +000006c0: 6d6d 6974 0c41 6764 612e 5665 7273 696f mmit.Agda.Versio │ │ │ +000006d0: 6e04 6261 7365 2367 6974 7265 762d 312e n.base#gitrev-1. │ │ │ +000006e0: 332e 312d 3870 5852 6657 4a38 5236 5843 3.1-8pXRfWJ8R6XC │ │ │ +000006f0: 6374 5461 3571 7347 6449 1074 656d 706c ctTa5qsGdI.templ │ │ │ +00000700: 6174 652d 6861 736b 656c 6c0c 6768 632d ate-haskell.ghc- │ │ │ +00000710: 696e 7465 726e 616c 1147 4843 2e49 6e74 internal.GHC.Int │ │ │ +00000720: 6572 6e61 6c2e 4261 7365 1247 4843 2e49 ernal.Base.GHC.I │ │ │ +00000730: 6e74 6572 6e61 6c2e 466c 6f61 7408 6768 nternal.Float.gh │ │ │ +00000740: 632d 7072 696d 0c47 4843 2e50 7269 6d2e c-prim.GHC.Prim. │ │ │ +00000750: 4578 7413 7374 6d2d 322e 352e 332e 312d Ext.stm-2.5.3.1- │ │ │ +00000760: 696e 706c 6163 6511 436f 6e74 726f 6c2e inplace.Control. │ │ │ +00000770: 4d6f 6e61 642e 5354 4d13 7469 6d65 2d31 Monad.STM.time-1 │ │ │ +00000780: 2e31 322e 322d 696e 706c 6163 651c 4461 .12.2-inplace.Da │ │ │ +00000790: 7461 2e54 696d 652e 4361 6c65 6e64 6172 ta.Time.Calendar │ │ │ +000007a0: 2e47 7265 676f 7269 616e 2144 6174 612e .Gregorian!Data. │ │ │ +000007b0: 5469 6d65 2e46 6f72 6d61 742e 466f 726d Time.Format.Form │ │ │ +000007c0: 6174 2e49 6e73 7461 6e63 6573 1644 6174 at.Instances.Dat │ │ │ +000007d0: 612e 5469 6d65 2e46 6f72 6d61 742e 5061 a.Time.Format.Pa │ │ │ +000007e0: 7273 6520 4461 7461 2e54 696d 652e 466f rse Data.Time.Fo │ │ │ +000007f0: 726d 6174 2e50 6172 7365 2e49 6e73 7461 rmat.Parse.Insta │ │ │ +00000800: 6e63 6573 2644 6174 612e 5469 6d65 2e4c nces&Data.Time.L │ │ │ +00000810: 6f63 616c 5469 6d65 2e49 6e74 6572 6e61 ocalTime.Interna │ │ │ +00000820: 6c2e 4c6f 6361 6c54 696d 6526 4461 7461 l.LocalTime&Data │ │ │ +00000830: 2e54 696d 652e 4c6f 6361 6c54 696d 652e .Time.LocalTime. │ │ │ +00000840: 496e 7465 726e 616c 2e5a 6f6e 6564 5469 Internal.ZonedTi │ │ │ +00000850: 6d65 1343 6f6e 7472 6f6c 2e41 7070 6c69 me.Control.Appli │ │ │ +00000860: 6361 7469 7665 0f44 6174 612e 4172 7261 cative.Data.Arra │ │ │ +00000870: 792e 4279 7465 0c44 6174 612e 436f 6d70 y.Byte.Data.Comp │ │ │ +00000880: 6c65 7814 4461 7461 2e46 756e 6374 6f72 lex.Data.Functor │ │ │ +00000890: 2e43 6f6d 706f 7365 1444 6174 612e 4675 .Compose.Data.Fu │ │ │ +000008a0: 6e63 746f 722e 5072 6f64 7563 7410 4461 nctor.Product.Da │ │ │ +000008b0: 7461 2e46 756e 6374 6f72 2e53 756d 0e44 ta.Functor.Sum.D │ │ │ +000008c0: 6174 612e 5365 6d69 6772 6f75 701b 6279 ata.Semigroup.by │ │ │ +000008d0: 7465 7374 7269 6e67 2d30 2e31 322e 322e testring-0.12.2. │ │ │ +000008e0: 302d 696e 706c 6163 651d 4461 7461 2e42 0-inplace.Data.B │ │ │ +000008f0: 7974 6553 7472 696e 672e 496e 7465 726e yteString.Intern │ │ │ +00000900: 616c 2e54 7970 651d 4461 7461 2e42 7974 al.Type.Data.Byt │ │ │ +00000910: 6553 7472 696e 672e 4c61 7a79 2e49 6e74 eString.Lazy.Int │ │ │ +00000920: 6572 6e61 6c1e 4461 7461 2e42 7974 6553 ernal.Data.ByteS │ │ │ +00000930: 7472 696e 672e 5368 6f72 742e 496e 7465 tring.Short.Inte │ │ │ +00000940: 726e 616c 1764 6565 7073 6571 2d31 2e35 rnal.deepseq-1.5 │ │ │ +00000950: 2e30 2e30 2d69 6e70 6c61 6365 0f43 6f6e .0.0-inplace.Con │ │ │ +00000960: 7472 6f6c 2e44 6565 7053 6571 1a67 6863 trol.DeepSeq.ghc │ │ │ +00000970: 2d62 6f6f 742d 7468 2d39 2e31 302e 332d -boot-th-9.10.3- │ │ │ +00000980: 696e 706c 6163 6517 4748 432e 466f 7265 inplace.GHC.Fore │ │ │ +00000990: 6967 6e53 7263 4c61 6e67 2e54 7970 651b ignSrcLang.Type. │ │ │ +000009a0: 4748 432e 4c61 6e67 7561 6765 4578 7465 GHC.LanguageExte │ │ │ +000009b0: 6e73 696f 6e73 2e54 7970 651a 4748 432e nsions.Type.GHC. │ │ │ +000009c0: 496e 7465 726e 616c 2e43 6f6e 7472 6f6c Internal.Control │ │ │ +000009d0: 2e41 7272 6f77 1f47 4843 2e49 6e74 6572 .Arrow.GHC.Inter │ │ │ +000009e0: 6e61 6c2e 4461 7461 2e46 756e 6374 6f72 nal.Data.Functor │ │ │ +000009f0: 2e43 6f6e 7374 2247 4843 2e49 6e74 6572 .Const"GHC.Inter │ │ │ +00000a00: 6e61 6c2e 4461 7461 2e46 756e 6374 6f72 nal.Data.Functor │ │ │ +00000a10: 2e49 6465 6e74 6974 7918 4748 432e 496e .Identity.GHC.In │ │ │ +00000a20: 7465 726e 616c 2e44 6174 612e 4d6f 6e6f ternal.Data.Mono │ │ │ +00000a30: 6964 2447 4843 2e49 6e74 6572 6e61 6c2e id$GHC.Internal. │ │ │ +00000a40: 4461 7461 2e53 656d 6967 726f 7570 2e49 Data.Semigroup.I │ │ │ +00000a50: 6e74 6572 6e61 6c1a 4748 432e 496e 7465 nternal.GHC.Inte │ │ │ +00000a60: 726e 616c 2e44 6174 612e 5479 7065 2e4f rnal.Data.Type.O │ │ │ +00000a70: 7264 1947 4843 2e49 6e74 6572 6e61 6c2e rd.GHC.Internal. │ │ │ +00000a80: 4461 7461 2e56 6572 7369 6f6e 1c47 4843 Data.Version.GHC │ │ │ +00000a90: 2e49 6e74 6572 6e61 6c2e 4675 6e63 746f .Internal.Functo │ │ │ +00000aa0: 722e 5a69 704c 6973 7415 4748 432e 496e r.ZipList.GHC.In │ │ │ +00000ab0: 7465 726e 616c 2e47 656e 6572 6963 7319 ternal.Generics. │ │ │ +00000ac0: 4748 432e 496e 7465 726e 616c 2e49 4f2e GHC.Internal.IO. │ │ │ +00000ad0: 4578 6365 7074 696f 6e13 4748 432e 496e Exception.GHC.In │ │ │ +00000ae0: 7465 726e 616c 2e49 734c 6973 7416 4748 ternal.IsList.GH │ │ │ +00000af0: 432e 496e 7465 726e 616c 2e52 5453 2e46 C.Internal.RTS.F │ │ │ +00000b00: 6c61 6773 176f 732d 7374 7269 6e67 2d32 lags.os-string-2 │ │ │ +00000b10: 2e30 2e37 2d69 6e70 6c61 6365 1e53 7973 .0.7-inplace.Sys │ │ │ +00000b20: 7465 6d2e 4f73 5374 7269 6e67 2e49 6e74 tem.OsString.Int │ │ │ +00000b30: 6572 6e61 6c2e 5479 7065 7316 7072 6574 ernal.Types.pret │ │ │ +00000b40: 7479 2d31 2e31 2e33 2e36 2d69 6e70 6c61 ty-1.1.3.6-inpla │ │ │ +00000b50: 6365 2354 6578 742e 5072 6574 7479 5072 ce#Text.PrettyPr │ │ │ +00000b60: 696e 742e 416e 6e6f 7461 7465 642e 4875 int.Annotated.Hu │ │ │ +00000b70: 6768 6573 504a 1954 6578 742e 5072 6574 ghesPJ.Text.Pret │ │ │ +00000b80: 7479 5072 696e 742e 4875 6768 6573 504a tyPrint.HughesPJ │ │ │ +00000b90: 1a4c 616e 6775 6167 652e 4861 736b 656c .Language.Haskel │ │ │ +00000ba0: 6c2e 5448 2e53 796e 7461 781c 7472 616e l.TH.Syntax.tran │ │ │ +00000bb0: 7366 6f72 6d65 7273 2d30 2e36 2e31 2e31 sformers-0.6.1.1 │ │ │ +00000bc0: 2d69 6e70 6c61 6365 1843 6f6e 7472 6f6c -inplace.Control │ │ │ +00000bd0: 2e4d 6f6e 6164 2e54 7261 6e73 2e43 6f6e .Monad.Trans.Con │ │ │ +00000be0: 741a 436f 6e74 726f 6c2e 4d6f 6e61 642e t.Control.Monad. │ │ │ +00000bf0: 5472 616e 732e 4578 6365 7074 1c43 6f6e Trans.Except.Con │ │ │ +00000c00: 7472 6f6c 2e4d 6f6e 6164 2e54 7261 6e73 trol.Monad.Trans │ │ │ +00000c10: 2e49 6465 6e74 6974 7919 436f 6e74 726f .Identity.Contro │ │ │ +00000c20: 6c2e 4d6f 6e61 642e 5472 616e 732e 4d61 l.Monad.Trans.Ma │ │ │ +00000c30: 7962 651c 436f 6e74 726f 6c2e 4d6f 6e61 ybe.Control.Mona │ │ │ +00000c40: 642e 5472 616e 732e 5257 532e 4c61 7a79 d.Trans.RWS.Lazy │ │ │ +00000c50: 1e43 6f6e 7472 6f6c 2e4d 6f6e 6164 2e54 .Control.Monad.T │ │ │ +00000c60: 7261 6e73 2e52 5753 2e53 7472 6963 741a rans.RWS.Strict. │ │ │ +00000c70: 436f 6e74 726f 6c2e 4d6f 6e61 642e 5472 Control.Monad.Tr │ │ │ +00000c80: 616e 732e 5265 6164 6572 1e43 6f6e 7472 ans.Reader.Contr │ │ │ +00000c90: 6f6c 2e4d 6f6e 6164 2e54 7261 6e73 2e53 ol.Monad.Trans.S │ │ │ +00000ca0: 7461 7465 2e4c 617a 7920 436f 6e74 726f tate.Lazy Contro │ │ │ +00000cb0: 6c2e 4d6f 6e61 642e 5472 616e 732e 5374 l.Monad.Trans.St │ │ │ +00000cc0: 6174 652e 5374 7269 6374 1f43 6f6e 7472 ate.Strict.Contr │ │ │ +00000cd0: 6f6c 2e4d 6f6e 6164 2e54 7261 6e73 2e57 ol.Monad.Trans.W │ │ │ +00000ce0: 7269 7465 722e 4c61 7a79 2143 6f6e 7472 riter.Lazy!Contr │ │ │ +00000cf0: 6f6c 2e4d 6f6e 6164 2e54 7261 6e73 2e57 ol.Monad.Trans.W │ │ │ +00000d00: 7269 7465 722e 5374 7269 6374 0776 6572 riter.Strict.ver │ │ │ +00000d10: 7369 6f6e 0750 7265 6c75 6465 1747 4843 sion.Prelude.GHC │ │ │ +00000d20: 2e49 6e74 6572 6e61 6c2e 4461 7461 2e4d .Internal.Data.M │ │ │ +00000d30: 6179 6265 1147 4843 2e49 6e74 6572 6e61 aybe.GHC.Interna │ │ │ +00000d40: 6c2e 4c69 7374 0b47 4843 2e43 6c61 7373 l.List.GHC.Class │ │ │ +00000d50: 6573 1244 6576 656c 6f70 6d65 6e74 2e47 es.Development.G │ │ │ +00000d60: 6974 5265 76cc 002f 7573 722f 6c69 622f itRev../usr/lib/ │ │ │ +00000d70: 6768 632f 6c69 622f 2e2e 2f6c 6962 2f69 ghc/lib/../lib/i │ │ │ +00000d80: 3338 362d 6c69 6e75 782d 6768 632d 392e 386-linux-ghc-9. │ │ │ +00000d90: 3130 2e33 2f72 7473 2d31 2e30 2e32 2f69 10.3/rts-1.0.2/i │ │ │ +00000da0: 6e63 6c75 6465 2f67 6863 7665 7273 696f nclude/ghcversio │ │ │ +00000db0: 6e2e 6825 6469 7374 2d67 6863 2f62 7569 n.h%dist-ghc/bui │ │ │ +00000dc0: 6c64 2f61 7574 6f67 656e 2f63 6162 616c ld/autogen/cabal │ │ │ +00000dd0: 5f6d 6163 726f 732e 681a 2f75 7372 2f69 _macros.h./usr/i │ │ │ +00000de0: 6e63 6c75 6465 2f73 7464 632d 7072 6564 nclude/stdc-pred │ │ │ +00000df0: 6566 2e68 d700 2f75 7372 2f6c 6962 2f67 ef.h../usr/lib/g │ │ │ +00000e00: 6863 2f6c 6962 2f2e 2e2f 6c69 622f 6933 hc/lib/../lib/i3 │ │ │ +00000e10: 3836 2d6c 696e 7578 2d67 6863 2d39 2e31 86-linux-ghc-9.1 │ │ │ +00000e20: 302e 332f 6c69 6248 5367 6863 2d70 7269 0.3/libHSghc-pri │ │ │ +00000e30: 6d2d 302e 3132 2e30 2d69 6e70 6c61 6365 m-0.12.0-inplace │ │ │ +00000e40: 2d67 6863 392e 3130 2e33 2e73 6fd6 002f -ghc9.10.3.so../ │ │ │ +00000e50: 7573 722f 6c69 622f 6768 632f 6c69 622f usr/lib/ghc/lib/ │ │ │ +00000e60: 2e2e 2f6c 6962 2f69 3338 362d 6c69 6e75 ../lib/i386-linu │ │ │ +00000e70: 782d 6768 632d 392e 3130 2e33 2f6c 6962 x-ghc-9.10.3/lib │ │ │ +00000e80: 4853 6768 632d 6269 676e 756d 2d31 2e33 HSghc-bignum-1.3 │ │ │ +00000e90: 2d69 6e70 6c61 6365 2d67 6863 392e 3130 -inplace-ghc9.10 │ │ │ +00000ea0: 2e33 2e73 6fdd 002f 7573 722f 6c69 622f .3.so../usr/lib/ │ │ │ +00000eb0: 6768 632f 6c69 622f 2e2e 2f6c 6962 2f69 ghc/lib/../lib/i │ │ │ +00000ec0: 3338 362d 6c69 6e75 782d 6768 632d 392e 386-linux-ghc-9. │ │ │ +00000ed0: 3130 2e33 2f6c 6962 4853 6768 632d 696e 10.3/libHSghc-in │ │ │ +00000ee0: 7465 726e 616c 2d39 2e31 3030 332e 302d ternal-9.1003.0- │ │ │ +00000ef0: 696e 706c 6163 652d 6768 6339 2e31 302e inplace-ghc9.10. │ │ │ +00000f00: 332e 736f d500 2f75 7372 2f6c 6962 2f67 3.so../usr/lib/g │ │ │ +00000f10: 6863 2f6c 6962 2f2e 2e2f 6c69 622f 6933 hc/lib/../lib/i3 │ │ │ +00000f20: 3836 2d6c 696e 7578 2d67 6863 2d39 2e31 86-linux-ghc-9.1 │ │ │ +00000f30: 302e 332f 6c69 6248 5362 6173 652d 342e 0.3/libHSbase-4. │ │ │ +00000f40: 3230 2e32 2e30 2d69 6e70 6c61 6365 2d67 20.2.0-inplace-g │ │ │ +00000f50: 6863 392e 3130 2e33 2e73 6fda 002f 7573 hc9.10.3.so../us │ │ │ +00000f60: 722f 6c69 622f 6768 632f 6c69 622f 2e2e r/lib/ghc/lib/.. │ │ │ +00000f70: 2f6c 6962 2f69 3338 362d 6c69 6e75 782d /lib/i386-linux- │ │ │ +00000f80: 6768 632d 392e 3130 2e33 2f6c 6962 4853 ghc-9.10.3/libHS │ │ │ +00000f90: 6768 632d 626f 6f74 2d74 682d 392e 3130 ghc-boot-th-9.10 │ │ │ +00000fa0: 2e33 2d69 6e70 6c61 6365 2d67 6863 392e .3-inplace-ghc9. │ │ │ +00000fb0: 3130 2e33 2e73 6fd5 002f 7573 722f 6c69 10.3.so../usr/li │ │ │ +00000fc0: 622f 6768 632f 6c69 622f 2e2e 2f6c 6962 b/ghc/lib/../lib │ │ │ +00000fd0: 2f69 3338 362d 6c69 6e75 782d 6768 632d /i386-linux-ghc- │ │ │ +00000fe0: 392e 3130 2e33 2f6c 6962 4853 6172 7261 9.10.3/libHSarra │ │ │ +00000ff0: 792d 302e 352e 382e 302d 696e 706c 6163 y-0.5.8.0-inplac │ │ │ +00001000: 652d 6768 6339 2e31 302e 332e 736f d700 e-ghc9.10.3.so.. │ │ │ +00001010: 2f75 7372 2f6c 6962 2f67 6863 2f6c 6962 /usr/lib/ghc/lib │ │ │ +00001020: 2f2e 2e2f 6c69 622f 6933 3836 2d6c 696e /../lib/i386-lin │ │ │ +00001030: 7578 2d67 6863 2d39 2e31 302e 332f 6c69 ux-ghc-9.10.3/li │ │ │ +00001040: 6248 5364 6565 7073 6571 2d31 2e35 2e30 bHSdeepseq-1.5.0 │ │ │ +00001050: 2e30 2d69 6e70 6c61 6365 2d67 6863 392e .0-inplace-ghc9. │ │ │ +00001060: 3130 2e33 2e73 6fd6 002f 7573 722f 6c69 10.3.so../usr/li │ │ │ +00001070: 622f 6768 632f 6c69 622f 2e2e 2f6c 6962 b/ghc/lib/../lib │ │ │ +00001080: 2f69 3338 362d 6c69 6e75 782d 6768 632d /i386-linux-ghc- │ │ │ +00001090: 392e 3130 2e33 2f6c 6962 4853 7072 6574 9.10.3/libHSpret │ │ │ +000010a0: 7479 2d31 2e31 2e33 2e36 2d69 6e70 6c61 ty-1.1.3.6-inpla │ │ │ +000010b0: 6365 2d67 6863 392e 3130 2e33 2e73 6fe1 ce-ghc9.10.3.so. │ │ │ +000010c0: 002f 7573 722f 6c69 622f 6768 632f 6c69 ./usr/lib/ghc/li │ │ │ +000010d0: 622f 2e2e 2f6c 6962 2f69 3338 362d 6c69 b/../lib/i386-li │ │ │ +000010e0: 6e75 782d 6768 632d 392e 3130 2e33 2f6c nux-ghc-9.10.3/l │ │ │ +000010f0: 6962 4853 7465 6d70 6c61 7465 2d68 6173 ibHStemplate-has │ │ │ +00001100: 6b65 6c6c 2d32 2e32 322e 302e 302d 696e kell-2.22.0.0-in │ │ │ +00001110: 706c 6163 652d 6768 6339 2e31 302e 332e place-ghc9.10.3. │ │ │ +00001120: 736f db00 2f75 7372 2f6c 6962 2f67 6863 so../usr/lib/ghc │ │ │ +00001130: 2f6c 6962 2f2e 2e2f 6c69 622f 6933 3836 /lib/../lib/i386 │ │ │ +00001140: 2d6c 696e 7578 2d67 6863 2d39 2e31 302e -linux-ghc-9.10. │ │ │ +00001150: 332f 6c69 6248 5362 7974 6573 7472 696e 3/libHSbytestrin │ │ │ +00001160: 672d 302e 3132 2e32 2e30 2d69 6e70 6c61 g-0.12.2.0-inpla │ │ │ +00001170: 6365 2d67 6863 392e 3130 2e33 2e73 6fdc ce-ghc9.10.3.so. │ │ │ +00001180: 002f 7573 722f 6c69 622f 6768 632f 6c69 ./usr/lib/ghc/li │ │ │ +00001190: 622f 2e2e 2f6c 6962 2f69 3338 362d 6c69 b/../lib/i386-li │ │ │ +000011a0: 6e75 782d 6768 632d 392e 3130 2e33 2f6c nux-ghc-9.10.3/l │ │ │ +000011b0: 6962 4853 7472 616e 7366 6f72 6d65 7273 ibHStransformers │ │ │ +000011c0: 2d30 2e36 2e31 2e31 2d69 6e70 6c61 6365 -0.6.1.1-inplace │ │ │ +000011d0: 2d67 6863 392e 3130 2e33 2e73 6fd1 002f -ghc9.10.3.so../ │ │ │ +000011e0: 7573 722f 6c69 622f 6768 632f 6c69 622f usr/lib/ghc/lib/ │ │ │ +000011f0: 2e2e 2f6c 6962 2f69 3338 362d 6c69 6e75 ../lib/i386-linu │ │ │ +00001200: 782d 6768 632d 392e 3130 2e33 2f6c 6962 x-ghc-9.10.3/lib │ │ │ +00001210: 4853 6d74 6c2d 322e 332e 312d 696e 706c HSmtl-2.3.1-inpl │ │ │ +00001220: 6163 652d 6768 6339 2e31 302e 332e 736f ace-ghc9.10.3.so │ │ │ +00001230: d300 2f75 7372 2f6c 6962 2f67 6863 2f6c ../usr/lib/ghc/l │ │ │ +00001240: 6962 2f2e 2e2f 6c69 622f 6933 3836 2d6c ib/../lib/i386-l │ │ │ +00001250: 696e 7578 2d67 6863 2d39 2e31 302e 332f inux-ghc-9.10.3/ │ │ │ +00001260: 6c69 6248 5373 746d 2d32 2e35 2e33 2e31 libHSstm-2.5.3.1 │ │ │ +00001270: 2d69 6e70 6c61 6365 2d67 6863 392e 3130 -inplace-ghc9.10 │ │ │ +00001280: 2e33 2e73 6fd9 002f 7573 722f 6c69 622f .3.so../usr/lib/ │ │ │ +00001290: 6768 632f 6c69 622f 2e2e 2f6c 6962 2f69 ghc/lib/../lib/i │ │ │ +000012a0: 3338 362d 6c69 6e75 782d 6768 632d 392e 386-linux-ghc-9. │ │ │ +000012b0: 3130 2e33 2f6c 6962 4853 6578 6365 7074 10.3/libHSexcept │ │ │ +000012c0: 696f 6e73 2d30 2e31 302e 392d 696e 706c ions-0.10.9-inpl │ │ │ +000012d0: 6163 652d 6768 6339 2e31 302e 332e 736f ace-ghc9.10.3.so │ │ │ +000012e0: d700 2f75 7372 2f6c 6962 2f67 6863 2f6c ../usr/lib/ghc/l │ │ │ +000012f0: 6962 2f2e 2e2f 6c69 622f 6933 3836 2d6c ib/../lib/i386-l │ │ │ +00001300: 696e 7578 2d67 6863 2d39 2e31 302e 332f inux-ghc-9.10.3/ │ │ │ +00001310: 6c69 6248 536f 732d 7374 7269 6e67 2d32 libHSos-string-2 │ │ │ +00001320: 2e30 2e37 2d69 6e70 6c61 6365 2d67 6863 .0.7-inplace-ghc │ │ │ +00001330: 392e 3130 2e33 2e73 6fd8 002f 7573 722f 9.10.3.so../usr/ │ │ │ +00001340: 6c69 622f 6768 632f 6c69 622f 2e2e 2f6c lib/ghc/lib/../l │ │ │ +00001350: 6962 2f69 3338 362d 6c69 6e75 782d 6768 ib/i386-linux-gh │ │ │ +00001360: 632d 392e 3130 2e33 2f6c 6962 4853 6669 c-9.10.3/libHSfi │ │ │ +00001370: 6c65 7061 7468 2d31 2e35 2e34 2e30 2d69 lepath-1.5.4.0-i │ │ │ +00001380: 6e70 6c61 6365 2d67 6863 392e 3130 2e33 nplace-ghc9.10.3 │ │ │ +00001390: 2e73 6fd3 002f 7573 722f 6c69 622f 6768 .so../usr/lib/gh │ │ │ +000013a0: 632f 6c69 622f 2e2e 2f6c 6962 2f69 3338 c/lib/../lib/i38 │ │ │ +000013b0: 362d 6c69 6e75 782d 6768 632d 392e 3130 6-linux-ghc-9.10 │ │ │ +000013c0: 2e33 2f6c 6962 4853 7469 6d65 2d31 2e31 .3/libHStime-1.1 │ │ │ +000013d0: 322e 322d 696e 706c 6163 652d 6768 6339 2.2-inplace-ghc9 │ │ │ +000013e0: 2e31 302e 332e 736f d400 2f75 7372 2f6c .10.3.so../usr/l │ │ │ +000013f0: 6962 2f67 6863 2f6c 6962 2f2e 2e2f 6c69 ib/ghc/lib/../li │ │ │ +00001400: 622f 6933 3836 2d6c 696e 7578 2d67 6863 b/i386-linux-ghc │ │ │ +00001410: 2d39 2e31 302e 332f 6c69 6248 5375 6e69 -9.10.3/libHSuni │ │ │ +00001420: 782d 322e 382e 372e 302d 696e 706c 6163 x-2.8.7.0-inplac │ │ │ +00001430: 652d 6768 6339 2e31 302e 332e 736f d900 e-ghc9.10.3.so.. │ │ │ +00001440: 2f75 7372 2f6c 6962 2f67 6863 2f6c 6962 /usr/lib/ghc/lib │ │ │ +00001450: 2f2e 2e2f 6c69 622f 6933 3836 2d6c 696e /../lib/i386-lin │ │ │ +00001460: 7578 2d67 6863 2d39 2e31 302e 332f 6c69 ux-ghc-9.10.3/li │ │ │ +00001470: 6248 5364 6972 6563 746f 7279 2d31 2e33 bHSdirectory-1.3 │ │ │ +00001480: 2e38 2e35 2d69 6e70 6c61 6365 2d67 6863 .8.5-inplace-ghc │ │ │ +00001490: 392e 3130 2e33 2e73 6fd8 002f 7573 722f 9.10.3.so../usr/ │ │ │ +000014a0: 6c69 622f 6768 632f 6c69 622f 2e2e 2f6c lib/ghc/lib/../l │ │ │ +000014b0: 6962 2f69 3338 362d 6c69 6e75 782d 6768 ib/i386-linux-gh │ │ │ +000014c0: 632d 392e 3130 2e33 2f6c 6962 4853 7072 c-9.10.3/libHSpr │ │ │ +000014d0: 6f63 6573 732d 312e 362e 3236 2e31 2d69 ocess-1.6.26.1-i │ │ │ +000014e0: 6e70 6c61 6365 2d67 6863 392e 3130 2e33 nplace-ghc9.10.3 │ │ │ +000014f0: 2e73 6ffb 002f 7573 722f 6c69 622f 6861 .so../usr/lib/ha │ │ │ +00001500: 736b 656c 6c2d 7061 636b 6167 6573 2f67 skell-packages/g │ │ │ +00001510: 6863 2f6c 6962 2f69 3338 362d 6c69 6e75 hc/lib/i386-linu │ │ │ +00001520: 782d 6768 632d 392e 3130 2e33 2d69 6e70 x-ghc-9.10.3-inp │ │ │ +00001530: 6c61 6365 2f6c 6962 4853 6261 7365 2d63 lace/libHSbase-c │ │ │ +00001540: 6f6d 7061 742d 302e 3134 2e31 2d49 384e ompat-0.14.1-I8N │ │ │ +00001550: 5678 7869 646b 4141 4253 6a62 4d61 5536 VxxidkAABSjbMaU6 │ │ │ +00001560: 4c57 762d 6768 6339 2e31 302e 332e 736f LWv-ghc9.10.3.so │ │ │ +00001570: f500 2f75 7372 2f6c 6962 2f68 6173 6b65 ../usr/lib/haske │ │ │ +00001580: 6c6c 2d70 6163 6b61 6765 732f 6768 632f ll-packages/ghc/ │ │ │ +00001590: 6c69 622f 6933 3836 2d6c 696e 7578 2d67 lib/i386-linux-g │ │ │ +000015a0: 6863 2d39 2e31 302e 332d 696e 706c 6163 hc-9.10.3-inplac │ │ │ +000015b0: 652f 6c69 6248 5367 6974 7265 762d 312e e/libHSgitrev-1. │ │ │ +000015c0: 332e 312d 3870 5852 6657 4a38 5236 5843 3.1-8pXRfWJ8R6XC │ │ │ +000015d0: 6374 5461 3571 7347 6449 2d67 6863 392e ctTa5qsGdI-ghc9. │ │ │ +000015e0: 3130 2e33 2e73 6f0a 636f 6d6d 6974 496e 10.3.so.commitIn │ │ │ +000015f0: 666f 1576 6572 7369 6f6e 5769 7468 436f fo.versionWithCo │ │ │ +00001600: 6d6d 6974 496e 666f 0924 7472 4d6f 6475 mmitInfo.$trModu │ │ │ +00001610: 6c65 0947 4843 2e54 7970 6573 064d 6f64 le.GHC.Types.Mod │ │ │ +00001620: 756c 650a 2474 724d 6f64 756c 6533 0a24 ule.$trModule3.$ │ │ │ +00001630: 7472 4d6f 6475 6c65 3107 5472 4e61 6d65 trModule1.TrName │ │ │ +00001640: 530a 2474 724d 6f64 756c 6532 0a24 7472 S.$trModule2.$tr │ │ │ +00001650: 4d6f 6475 6c65 3400 Module4. │ │ ├── ./usr/lib/haskell-packages/ghc/lib/i386-linux-ghc-9.10.3-inplace/Agda-2.8.0-KuAEKDRG5wsFRdA5w8sGLC/Agda/VersionCommit.hi │ │ │ @@ -1,358 +1,358 @@ │ │ │ 00000000: 0001 face 0439 3130 3300 b3f5 bef5 e69a .....9103....... │ │ │ -00000010: e5c8 569d b7c3 cab7 fbf0 ec51 0000 1657 ..V........Q...W │ │ │ -00000020: 0000 068d 0000 065a 0000 0100 0084 95bb .......Z........ │ │ │ -00000030: d9cb d083 cace 01cc 92f5 bafb d888 bba9 ................ │ │ │ -00000040: 018b e4be d5d5 8ac0 fcb0 01e8 81ed bbdb ................ │ │ │ -00000050: c7de ddbe 0180 fd80 f1e9 a0b1 92f0 01d8 ................ │ │ │ -00000060: e181 d3e1 deea 84f4 0185 ccbe b3c3 ebac ................ │ │ │ -00000070: d485 01ba 9b93 dd82 f1c0 ff54 89c1 b6f0 ...........T.... │ │ │ -00000080: dfb5 a1dc 9301 f1be d6fe 8492 8dfb cd01 ................ │ │ │ -00000090: c9c2 c7b5 ad82 908b ad01 87c0 cc88 8bab ................ │ │ │ -000000a0: a79a 4200 0000 0001 5001 0002 0003 0304 ..B.....P....... │ │ │ -000000b0: 0500 0000 000a 0006 0700 0608 0009 0a00 ................ │ │ │ -000000c0: 0b0c 000d 0e00 0d0f 000d 1000 0d11 000d ................ │ │ │ -000000d0: 1200 0d13 2900 0002 0003 1400 0315 0003 ....)........... │ │ │ -000000e0: 1600 0317 0003 1800 0319 0003 1a00 1b1c ................ │ │ │ -000000f0: 001b 1d00 1b1e 001f 2000 2122 0021 2300 ........ .!".!#. │ │ │ -00000100: 0624 0006 2500 0626 0006 2700 0628 0006 .$..%..&..'..(.. │ │ │ -00000110: 2900 062a 0006 2b00 062c 0006 2d00 062e )..*..+..,..-... │ │ │ -00000120: 0006 2f00 3031 0032 3300 3234 0005 3500 ../.01.23.24..5. │ │ │ -00000130: 3637 0036 3800 3639 0036 3a00 363b 0036 67.68.69.6:.6;.6 │ │ │ -00000140: 3c00 363d 0036 3e00 363f 0036 4000 3641 <.6=.6>.6?.6@.6A │ │ │ -00000150: 0000 0452 2001 0200 e881 e3c2 afec f69c ...R ........... │ │ │ -00000160: 8c01 aae2 acd6 cdc7 be81 3201 d887 94df ..........2..... │ │ │ -00000170: a084 cdeb d001 d3ab 8d89 a28d 9ac6 1901 ................ │ │ │ -00000180: 0042 cfe1 fbd2 b8f4 9ff4 cc01 dcae e7f7 .B.............. │ │ │ -00000190: a5a4 87a2 f401 0000 0003 43e3 d896 978c ..........C..... │ │ │ -000001a0: bdfe 8f1a fdf0 d6b8 a2be adea 2000 0000 ............ ... │ │ │ -000001b0: 0607 8e82 c884 a9ed c7e8 a601 ebb7 d28d ................ │ │ │ -000001c0: abfb fded 9a01 0000 0006 44bb d983 a1cf ..........D..... │ │ │ -000001d0: f880 ff78 f288 b2ab bbac bba8 e801 0000 ...x............ │ │ │ -000001e0: 0006 45cb f9de ddc4 cebb a0d4 01b0 91be ..E............. │ │ │ -000001f0: ddf0 fa99 fc4a 0000 0009 46b9 f0ba a7ec .....J....F..... │ │ │ -00000200: c3fa 842a d6f9 80b6 eef3 86e1 5000 0000 ...*........P... │ │ │ -00000210: 0447 82a6 dce4 dbcb d2fb 20cf 9ab0 b6e1 .G........ ..... │ │ │ -00000220: d6c5 bedd 0100 0248 9a86 aff8 b3c8 b4dd .......H........ │ │ │ -00000230: ef01 bf85 82de 80be a09a 6c00 0249 d7a0 ..........l..I.. │ │ │ -00000240: 87c7 97ad 8480 7d8c 9ca4 dfc0 b0f3 e3ea ......}......... │ │ │ -00000250: 0100 024a a5d0 ef9a e8f4 e3f4 e001 dd82 ...J............ │ │ │ -00000260: de90 c7ab ca8b bf01 0002 4b8a b79c 9cf2 ..........K..... │ │ │ -00000270: 8dd6 faac 01e9 e7f4 f589 eb8b a070 0002 .............p.. │ │ │ -00000280: 4cd6 adcf e6c1 b8a7 c418 abc3 a9db a4ab L............... │ │ │ -00000290: 96c7 1e00 024d efb7 c790 ecae e4fc 9401 .....M.......... │ │ │ -000002a0: 8ff8 91ed f0b2 a198 c101 0002 4e91 a1c9 ............N... │ │ │ -000002b0: f5b4 ebbc fc28 93f6 fabd 9bae f5c3 9801 .....(.......... │ │ │ -000002c0: 0002 4fa4 e5b3 b3bf dccd cb47 a0d4 d7b1 ..O........G.... │ │ │ -000002d0: a7dd dcef d301 0002 5091 f1ea 90c4 a0d1 ........P....... │ │ │ -000002e0: 906f 9785 98a7 a698 a7d7 dd01 0002 519e .o............Q. │ │ │ -000002f0: bfa6 e9ab ddc2 d1bd 01ca 82de e8b1 deb0 ................ │ │ │ -00000300: d3c2 0100 0252 c28d 95ef ff94 e1bb 3bd9 .....R........;. │ │ │ -00000310: f8d5 ecc3 faeb c43e 0002 53c7 dad1 b79e .......>..S..... │ │ │ -00000320: dcbc c2ad 01b8 8990 c481 e6a3 e5cc 0100 ................ │ │ │ -00000330: 0254 99a8 b2ed da92 88c0 bd01 e6be 819a .T.............. │ │ │ -00000340: a1a8 c5ae 9301 0002 55b9 d5ce e0f8 87d4 ........U....... │ │ │ -00000350: 9ca7 01a1 879a 98d0 beb5 9a74 0002 56e2 ...........t..V. │ │ │ -00000360: fda8 b681 9094 8d07 94f2 e5fa cac5 eacf ................ │ │ │ -00000370: e401 0002 57cd ceed bbf0 cd8c cfa1 01d8 ....W........... │ │ │ -00000380: c8c6 df97 8fc1 f26d 0002 58d3 d7fa a9db .......m..X..... │ │ │ -00000390: b0bd 9076 d2b3 9284 b7be 95b9 c801 0002 ...v............ │ │ │ -000003a0: 59bf c7e8 b6a8 f285 d6f9 01c7 eded f5ea Y............... │ │ │ -000003b0: d6c4 fd0f 0002 5a9b fec4 c4ac ebce a6db ......Z......... │ │ │ -000003c0: 0197 84e3 83aa f09a a1db 0100 025b b7f5 .............[.. │ │ │ -000003d0: 83de b688 dcfa 6a96 ddbc f7ae 80a5 ba7d ......j........} │ │ │ -000003e0: 0002 5cfb e098 e6a0 95e6 b49d 01e1 c2bc ..\............. │ │ │ -000003f0: 89fe f5c8 8d7b 0002 5d88 f9fc b08b 84e4 .....{..]....... │ │ │ -00000400: ddc7 01e0 f6df 83ba 85bc e383 0100 025e ...............^ │ │ │ -00000410: b092 c89e daf3 9da1 49df d2ab e0f5 84a8 ........I....... │ │ │ -00000420: b4b0 0100 025f c38f d6ea d9ef fae1 bf01 ....._.......... │ │ │ -00000430: d4e2 c6f5 e5bd e6b6 9301 0002 6088 a9ea ............`... │ │ │ -00000440: ae92 e69f 86cc 019f a3a6 ecd1 ea85 a290 ................ │ │ │ -00000450: 0100 0200 0000 01d3 86be ff87 f2e9 bb8d ................ │ │ │ -00000460: 0180 9ba1 b293 f3b1 d178 0100 0000 0473 .........x.....s │ │ │ -00000470: 0100 0000 0004 7800 0787 e2ab 9cf6 999f ......x......... │ │ │ -00000480: e758 db8c b1b3 97d7 fe96 4100 0200 0004 .X........A..... │ │ │ -00000490: b405 d281 80e6 0800 0001 0004 0408 0307 ................ │ │ │ -000004a0: 0281 8180 ec08 0200 0003 0f00 0505 0b03 ................ │ │ │ -000004b0: 0b04 0b05 f0bb f1b3 fbd1 cd9f bc01 bc8e ................ │ │ │ -000004c0: a2f7 b6a9 93ea 4e00 0500 0004 ed05 d481 ......N......... │ │ │ -000004d0: 80e6 0800 0001 0004 0408 0307 0287 8180 ................ │ │ │ -000004e0: ec08 0200 0003 0f00 050b 060b 07ae d0b8 ................ │ │ │ -000004f0: 83e1 d5ee 8773 b9ce 96e2 f192 83c5 be01 .....s.......... │ │ │ -00000500: 0007 0000 052f 0582 8080 e608 0000 0100 ...../.......... │ │ │ -00000510: 0304 0704 0200 0003 0f00 0901 1241 6764 .............Agd │ │ │ -00000520: 612e 5665 7273 696f 6e43 6f6d 6d69 74b7 a.VersionCommit. │ │ │ -00000530: acd6 f5f4 f1ac e4d7 0194 a3a1 9e92 9292 ................ │ │ │ -00000540: ee54 0004 0000 0568 05d4 8180 e608 0000 .T.....h........ │ │ │ -00000550: 0100 0404 0803 0702 8781 80ec 0802 0000 ................ │ │ │ -00000560: 030f 0005 0b06 0b08 e5f8 b580 e6a8 c783 ................ │ │ │ -00000570: c401 d3c3 abc1 a5c2 fef2 c601 0008 0000 ................ │ │ │ -00000580: 05ba 0582 8080 e608 0000 0100 0304 0704 ................ │ │ │ -00000590: 0200 0003 0f00 0901 2141 6764 612d 322e ........!Agda-2. │ │ │ -000005a0: 382e 302d 4b75 4145 4b44 5247 3577 7346 8.0-KuAEKDRG5wsF │ │ │ -000005b0: 5264 4135 7738 7347 4c43 a98e a8bc e881 RdA5w8sGLC...... │ │ │ -000005c0: c79d 4c80 e8f0 e08d 80b4 86d5 0100 0000 ..L............. │ │ │ -000005d0: 0006 0a05 b880 80e6 0800 0000 058c 8080 ................ │ │ │ -000005e0: e608 0000 0100 0100 0404 0803 0702 9580 ................ │ │ │ -000005f0: 80ec 0802 0000 030f 0005 0b96 8080 ec08 ................ │ │ │ -00000600: 0105 8c80 80e6 0800 0001 a8c1 c3f1 d0c6 ................ │ │ │ -00000610: e1da cf01 f98e bfe0 e5ee 8cc4 af01 0001 ................ │ │ │ -00000620: 0000 063b 058c 8080 e608 0000 0100 0207 ...;............ │ │ │ -00000630: 0101 0002 0000 0303 000b 0900 0000 0000 ................ │ │ │ -00000640: 0643 00c7 f9f7 e984 dfa6 9f69 aebc f1de .C.........i.... │ │ │ -00000650: 85c0 83b2 1e00 0000 0000 0a00 0001 0061 ...............a │ │ │ -00000660: 0000 0100 6200 0001 0063 0009 6400 6500 ....b....c..d.e. │ │ │ -00000670: 0001 0066 0000 0100 6700 0964 0068 0000 ...f....g..d.h.. │ │ │ -00000680: 0100 6900 0001 006a 0000 0200 42eb 0021 ..i....j....B..! │ │ │ -00000690: 4167 6461 2d32 2e38 2e30 2d4b 7541 454b Agda-2.8.0-KuAEK │ │ │ -000006a0: 4452 4735 7773 4652 6441 3577 3873 474c DRG5wsFRdA5w8sGL │ │ │ -000006b0: 4312 4167 6461 2e56 6572 7369 6f6e 436f C.Agda.VersionCo │ │ │ -000006c0: 6d6d 6974 0c41 6764 612e 5665 7273 696f mmit.Agda.Versio │ │ │ -000006d0: 6e04 6261 7365 2367 6974 7265 762d 312e n.base#gitrev-1. │ │ │ -000006e0: 332e 312d 3870 5852 6657 4a38 5236 5843 3.1-8pXRfWJ8R6XC │ │ │ -000006f0: 6374 5461 3571 7347 6449 1074 656d 706c ctTa5qsGdI.templ │ │ │ -00000700: 6174 652d 6861 736b 656c 6c0c 6768 632d ate-haskell.ghc- │ │ │ -00000710: 696e 7465 726e 616c 1147 4843 2e49 6e74 internal.GHC.Int │ │ │ -00000720: 6572 6e61 6c2e 4261 7365 1247 4843 2e49 ernal.Base.GHC.I │ │ │ -00000730: 6e74 6572 6e61 6c2e 466c 6f61 7408 6768 nternal.Float.gh │ │ │ -00000740: 632d 7072 696d 0c47 4843 2e50 7269 6d2e c-prim.GHC.Prim. │ │ │ -00000750: 4578 7413 7374 6d2d 322e 352e 332e 312d Ext.stm-2.5.3.1- │ │ │ -00000760: 696e 706c 6163 6511 436f 6e74 726f 6c2e inplace.Control. │ │ │ -00000770: 4d6f 6e61 642e 5354 4d13 7469 6d65 2d31 Monad.STM.time-1 │ │ │ -00000780: 2e31 322e 322d 696e 706c 6163 651c 4461 .12.2-inplace.Da │ │ │ -00000790: 7461 2e54 696d 652e 4361 6c65 6e64 6172 ta.Time.Calendar │ │ │ -000007a0: 2e47 7265 676f 7269 616e 2144 6174 612e .Gregorian!Data. │ │ │ -000007b0: 5469 6d65 2e46 6f72 6d61 742e 466f 726d Time.Format.Form │ │ │ -000007c0: 6174 2e49 6e73 7461 6e63 6573 1644 6174 at.Instances.Dat │ │ │ -000007d0: 612e 5469 6d65 2e46 6f72 6d61 742e 5061 a.Time.Format.Pa │ │ │ -000007e0: 7273 6520 4461 7461 2e54 696d 652e 466f rse Data.Time.Fo │ │ │ -000007f0: 726d 6174 2e50 6172 7365 2e49 6e73 7461 rmat.Parse.Insta │ │ │ -00000800: 6e63 6573 2644 6174 612e 5469 6d65 2e4c nces&Data.Time.L │ │ │ -00000810: 6f63 616c 5469 6d65 2e49 6e74 6572 6e61 ocalTime.Interna │ │ │ -00000820: 6c2e 4c6f 6361 6c54 696d 6526 4461 7461 l.LocalTime&Data │ │ │ -00000830: 2e54 696d 652e 4c6f 6361 6c54 696d 652e .Time.LocalTime. │ │ │ -00000840: 496e 7465 726e 616c 2e5a 6f6e 6564 5469 Internal.ZonedTi │ │ │ -00000850: 6d65 1343 6f6e 7472 6f6c 2e41 7070 6c69 me.Control.Appli │ │ │ -00000860: 6361 7469 7665 0f44 6174 612e 4172 7261 cative.Data.Arra │ │ │ -00000870: 792e 4279 7465 0c44 6174 612e 436f 6d70 y.Byte.Data.Comp │ │ │ -00000880: 6c65 7814 4461 7461 2e46 756e 6374 6f72 lex.Data.Functor │ │ │ -00000890: 2e43 6f6d 706f 7365 1444 6174 612e 4675 .Compose.Data.Fu │ │ │ -000008a0: 6e63 746f 722e 5072 6f64 7563 7410 4461 nctor.Product.Da │ │ │ -000008b0: 7461 2e46 756e 6374 6f72 2e53 756d 0e44 ta.Functor.Sum.D │ │ │ -000008c0: 6174 612e 5365 6d69 6772 6f75 701b 6279 ata.Semigroup.by │ │ │ -000008d0: 7465 7374 7269 6e67 2d30 2e31 322e 322e testring-0.12.2. │ │ │ -000008e0: 302d 696e 706c 6163 651d 4461 7461 2e42 0-inplace.Data.B │ │ │ -000008f0: 7974 6553 7472 696e 672e 496e 7465 726e yteString.Intern │ │ │ -00000900: 616c 2e54 7970 651d 4461 7461 2e42 7974 al.Type.Data.Byt │ │ │ -00000910: 6553 7472 696e 672e 4c61 7a79 2e49 6e74 eString.Lazy.Int │ │ │ -00000920: 6572 6e61 6c1e 4461 7461 2e42 7974 6553 ernal.Data.ByteS │ │ │ -00000930: 7472 696e 672e 5368 6f72 742e 496e 7465 tring.Short.Inte │ │ │ -00000940: 726e 616c 1764 6565 7073 6571 2d31 2e35 rnal.deepseq-1.5 │ │ │ -00000950: 2e30 2e30 2d69 6e70 6c61 6365 0f43 6f6e .0.0-inplace.Con │ │ │ -00000960: 7472 6f6c 2e44 6565 7053 6571 1a67 6863 trol.DeepSeq.ghc │ │ │ -00000970: 2d62 6f6f 742d 7468 2d39 2e31 302e 332d -boot-th-9.10.3- │ │ │ -00000980: 696e 706c 6163 6517 4748 432e 466f 7265 inplace.GHC.Fore │ │ │ -00000990: 6967 6e53 7263 4c61 6e67 2e54 7970 651b ignSrcLang.Type. │ │ │ -000009a0: 4748 432e 4c61 6e67 7561 6765 4578 7465 GHC.LanguageExte │ │ │ -000009b0: 6e73 696f 6e73 2e54 7970 651a 4748 432e nsions.Type.GHC. │ │ │ -000009c0: 496e 7465 726e 616c 2e43 6f6e 7472 6f6c Internal.Control │ │ │ -000009d0: 2e41 7272 6f77 1f47 4843 2e49 6e74 6572 .Arrow.GHC.Inter │ │ │ -000009e0: 6e61 6c2e 4461 7461 2e46 756e 6374 6f72 nal.Data.Functor │ │ │ -000009f0: 2e43 6f6e 7374 2247 4843 2e49 6e74 6572 .Const"GHC.Inter │ │ │ -00000a00: 6e61 6c2e 4461 7461 2e46 756e 6374 6f72 nal.Data.Functor │ │ │ -00000a10: 2e49 6465 6e74 6974 7918 4748 432e 496e .Identity.GHC.In │ │ │ -00000a20: 7465 726e 616c 2e44 6174 612e 4d6f 6e6f ternal.Data.Mono │ │ │ -00000a30: 6964 2447 4843 2e49 6e74 6572 6e61 6c2e id$GHC.Internal. │ │ │ -00000a40: 4461 7461 2e53 656d 6967 726f 7570 2e49 Data.Semigroup.I │ │ │ -00000a50: 6e74 6572 6e61 6c1a 4748 432e 496e 7465 nternal.GHC.Inte │ │ │ -00000a60: 726e 616c 2e44 6174 612e 5479 7065 2e4f rnal.Data.Type.O │ │ │ -00000a70: 7264 1947 4843 2e49 6e74 6572 6e61 6c2e rd.GHC.Internal. │ │ │ -00000a80: 4461 7461 2e56 6572 7369 6f6e 1c47 4843 Data.Version.GHC │ │ │ -00000a90: 2e49 6e74 6572 6e61 6c2e 4675 6e63 746f .Internal.Functo │ │ │ -00000aa0: 722e 5a69 704c 6973 7415 4748 432e 496e r.ZipList.GHC.In │ │ │ -00000ab0: 7465 726e 616c 2e47 656e 6572 6963 7319 ternal.Generics. │ │ │ -00000ac0: 4748 432e 496e 7465 726e 616c 2e49 4f2e GHC.Internal.IO. │ │ │ -00000ad0: 4578 6365 7074 696f 6e13 4748 432e 496e Exception.GHC.In │ │ │ -00000ae0: 7465 726e 616c 2e49 734c 6973 7416 4748 ternal.IsList.GH │ │ │ -00000af0: 432e 496e 7465 726e 616c 2e52 5453 2e46 C.Internal.RTS.F │ │ │ -00000b00: 6c61 6773 176f 732d 7374 7269 6e67 2d32 lags.os-string-2 │ │ │ -00000b10: 2e30 2e37 2d69 6e70 6c61 6365 1e53 7973 .0.7-inplace.Sys │ │ │ -00000b20: 7465 6d2e 4f73 5374 7269 6e67 2e49 6e74 tem.OsString.Int │ │ │ -00000b30: 6572 6e61 6c2e 5479 7065 7316 7072 6574 ernal.Types.pret │ │ │ -00000b40: 7479 2d31 2e31 2e33 2e36 2d69 6e70 6c61 ty-1.1.3.6-inpla │ │ │ -00000b50: 6365 2354 6578 742e 5072 6574 7479 5072 ce#Text.PrettyPr │ │ │ -00000b60: 696e 742e 416e 6e6f 7461 7465 642e 4875 int.Annotated.Hu │ │ │ -00000b70: 6768 6573 504a 1954 6578 742e 5072 6574 ghesPJ.Text.Pret │ │ │ -00000b80: 7479 5072 696e 742e 4875 6768 6573 504a tyPrint.HughesPJ │ │ │ -00000b90: 1a4c 616e 6775 6167 652e 4861 736b 656c .Language.Haskel │ │ │ -00000ba0: 6c2e 5448 2e53 796e 7461 781c 7472 616e l.TH.Syntax.tran │ │ │ -00000bb0: 7366 6f72 6d65 7273 2d30 2e36 2e31 2e31 sformers-0.6.1.1 │ │ │ -00000bc0: 2d69 6e70 6c61 6365 1843 6f6e 7472 6f6c -inplace.Control │ │ │ -00000bd0: 2e4d 6f6e 6164 2e54 7261 6e73 2e43 6f6e .Monad.Trans.Con │ │ │ -00000be0: 741a 436f 6e74 726f 6c2e 4d6f 6e61 642e t.Control.Monad. │ │ │ -00000bf0: 5472 616e 732e 4578 6365 7074 1c43 6f6e Trans.Except.Con │ │ │ -00000c00: 7472 6f6c 2e4d 6f6e 6164 2e54 7261 6e73 trol.Monad.Trans │ │ │ -00000c10: 2e49 6465 6e74 6974 7919 436f 6e74 726f .Identity.Contro │ │ │ -00000c20: 6c2e 4d6f 6e61 642e 5472 616e 732e 4d61 l.Monad.Trans.Ma │ │ │ -00000c30: 7962 651c 436f 6e74 726f 6c2e 4d6f 6e61 ybe.Control.Mona │ │ │ -00000c40: 642e 5472 616e 732e 5257 532e 4c61 7a79 d.Trans.RWS.Lazy │ │ │ -00000c50: 1e43 6f6e 7472 6f6c 2e4d 6f6e 6164 2e54 .Control.Monad.T │ │ │ -00000c60: 7261 6e73 2e52 5753 2e53 7472 6963 741a rans.RWS.Strict. │ │ │ -00000c70: 436f 6e74 726f 6c2e 4d6f 6e61 642e 5472 Control.Monad.Tr │ │ │ -00000c80: 616e 732e 5265 6164 6572 1e43 6f6e 7472 ans.Reader.Contr │ │ │ -00000c90: 6f6c 2e4d 6f6e 6164 2e54 7261 6e73 2e53 ol.Monad.Trans.S │ │ │ -00000ca0: 7461 7465 2e4c 617a 7920 436f 6e74 726f tate.Lazy Contro │ │ │ -00000cb0: 6c2e 4d6f 6e61 642e 5472 616e 732e 5374 l.Monad.Trans.St │ │ │ -00000cc0: 6174 652e 5374 7269 6374 1f43 6f6e 7472 ate.Strict.Contr │ │ │ -00000cd0: 6f6c 2e4d 6f6e 6164 2e54 7261 6e73 2e57 ol.Monad.Trans.W │ │ │ -00000ce0: 7269 7465 722e 4c61 7a79 2143 6f6e 7472 riter.Lazy!Contr │ │ │ -00000cf0: 6f6c 2e4d 6f6e 6164 2e54 7261 6e73 2e57 ol.Monad.Trans.W │ │ │ -00000d00: 7269 7465 722e 5374 7269 6374 0776 6572 riter.Strict.ver │ │ │ -00000d10: 7369 6f6e 0750 7265 6c75 6465 1747 4843 sion.Prelude.GHC │ │ │ -00000d20: 2e49 6e74 6572 6e61 6c2e 4461 7461 2e4d .Internal.Data.M │ │ │ -00000d30: 6179 6265 1147 4843 2e49 6e74 6572 6e61 aybe.GHC.Interna │ │ │ -00000d40: 6c2e 4c69 7374 0b47 4843 2e43 6c61 7373 l.List.GHC.Class │ │ │ -00000d50: 6573 1244 6576 656c 6f70 6d65 6e74 2e47 es.Development.G │ │ │ -00000d60: 6974 5265 76cc 002f 7573 722f 6c69 622f itRev../usr/lib/ │ │ │ -00000d70: 6768 632f 6c69 622f 2e2e 2f6c 6962 2f69 ghc/lib/../lib/i │ │ │ -00000d80: 3338 362d 6c69 6e75 782d 6768 632d 392e 386-linux-ghc-9. │ │ │ -00000d90: 3130 2e33 2f72 7473 2d31 2e30 2e32 2f69 10.3/rts-1.0.2/i │ │ │ -00000da0: 6e63 6c75 6465 2f67 6863 7665 7273 696f nclude/ghcversio │ │ │ -00000db0: 6e2e 6825 6469 7374 2d67 6863 2f62 7569 n.h%dist-ghc/bui │ │ │ -00000dc0: 6c64 2f61 7574 6f67 656e 2f63 6162 616c ld/autogen/cabal │ │ │ -00000dd0: 5f6d 6163 726f 732e 681a 2f75 7372 2f69 _macros.h./usr/i │ │ │ -00000de0: 6e63 6c75 6465 2f73 7464 632d 7072 6564 nclude/stdc-pred │ │ │ -00000df0: 6566 2e68 d700 2f75 7372 2f6c 6962 2f67 ef.h../usr/lib/g │ │ │ -00000e00: 6863 2f6c 6962 2f2e 2e2f 6c69 622f 6933 hc/lib/../lib/i3 │ │ │ -00000e10: 3836 2d6c 696e 7578 2d67 6863 2d39 2e31 86-linux-ghc-9.1 │ │ │ -00000e20: 302e 332f 6c69 6248 5367 6863 2d70 7269 0.3/libHSghc-pri │ │ │ -00000e30: 6d2d 302e 3132 2e30 2d69 6e70 6c61 6365 m-0.12.0-inplace │ │ │ -00000e40: 2d67 6863 392e 3130 2e33 2e73 6fd6 002f -ghc9.10.3.so../ │ │ │ -00000e50: 7573 722f 6c69 622f 6768 632f 6c69 622f usr/lib/ghc/lib/ │ │ │ -00000e60: 2e2e 2f6c 6962 2f69 3338 362d 6c69 6e75 ../lib/i386-linu │ │ │ -00000e70: 782d 6768 632d 392e 3130 2e33 2f6c 6962 x-ghc-9.10.3/lib │ │ │ -00000e80: 4853 6768 632d 6269 676e 756d 2d31 2e33 HSghc-bignum-1.3 │ │ │ -00000e90: 2d69 6e70 6c61 6365 2d67 6863 392e 3130 -inplace-ghc9.10 │ │ │ -00000ea0: 2e33 2e73 6fdd 002f 7573 722f 6c69 622f .3.so../usr/lib/ │ │ │ -00000eb0: 6768 632f 6c69 622f 2e2e 2f6c 6962 2f69 ghc/lib/../lib/i │ │ │ -00000ec0: 3338 362d 6c69 6e75 782d 6768 632d 392e 386-linux-ghc-9. │ │ │ -00000ed0: 3130 2e33 2f6c 6962 4853 6768 632d 696e 10.3/libHSghc-in │ │ │ -00000ee0: 7465 726e 616c 2d39 2e31 3030 332e 302d ternal-9.1003.0- │ │ │ -00000ef0: 696e 706c 6163 652d 6768 6339 2e31 302e inplace-ghc9.10. │ │ │ -00000f00: 332e 736f d500 2f75 7372 2f6c 6962 2f67 3.so../usr/lib/g │ │ │ -00000f10: 6863 2f6c 6962 2f2e 2e2f 6c69 622f 6933 hc/lib/../lib/i3 │ │ │ -00000f20: 3836 2d6c 696e 7578 2d67 6863 2d39 2e31 86-linux-ghc-9.1 │ │ │ -00000f30: 302e 332f 6c69 6248 5362 6173 652d 342e 0.3/libHSbase-4. │ │ │ -00000f40: 3230 2e32 2e30 2d69 6e70 6c61 6365 2d67 20.2.0-inplace-g │ │ │ -00000f50: 6863 392e 3130 2e33 2e73 6fd5 002f 7573 hc9.10.3.so../us │ │ │ -00000f60: 722f 6c69 622f 6768 632f 6c69 622f 2e2e r/lib/ghc/lib/.. │ │ │ -00000f70: 2f6c 6962 2f69 3338 362d 6c69 6e75 782d /lib/i386-linux- │ │ │ -00000f80: 6768 632d 392e 3130 2e33 2f6c 6962 4853 ghc-9.10.3/libHS │ │ │ -00000f90: 6172 7261 792d 302e 352e 382e 302d 696e array-0.5.8.0-in │ │ │ -00000fa0: 706c 6163 652d 6768 6339 2e31 302e 332e place-ghc9.10.3. │ │ │ -00000fb0: 736f d700 2f75 7372 2f6c 6962 2f67 6863 so../usr/lib/ghc │ │ │ -00000fc0: 2f6c 6962 2f2e 2e2f 6c69 622f 6933 3836 /lib/../lib/i386 │ │ │ -00000fd0: 2d6c 696e 7578 2d67 6863 2d39 2e31 302e -linux-ghc-9.10. │ │ │ -00000fe0: 332f 6c69 6248 5364 6565 7073 6571 2d31 3/libHSdeepseq-1 │ │ │ -00000ff0: 2e35 2e30 2e30 2d69 6e70 6c61 6365 2d67 .5.0.0-inplace-g │ │ │ -00001000: 6863 392e 3130 2e33 2e73 6fda 002f 7573 hc9.10.3.so../us │ │ │ -00001010: 722f 6c69 622f 6768 632f 6c69 622f 2e2e r/lib/ghc/lib/.. │ │ │ -00001020: 2f6c 6962 2f69 3338 362d 6c69 6e75 782d /lib/i386-linux- │ │ │ -00001030: 6768 632d 392e 3130 2e33 2f6c 6962 4853 ghc-9.10.3/libHS │ │ │ -00001040: 6768 632d 626f 6f74 2d74 682d 392e 3130 ghc-boot-th-9.10 │ │ │ -00001050: 2e33 2d69 6e70 6c61 6365 2d67 6863 392e .3-inplace-ghc9. │ │ │ -00001060: 3130 2e33 2e73 6fd6 002f 7573 722f 6c69 10.3.so../usr/li │ │ │ -00001070: 622f 6768 632f 6c69 622f 2e2e 2f6c 6962 b/ghc/lib/../lib │ │ │ -00001080: 2f69 3338 362d 6c69 6e75 782d 6768 632d /i386-linux-ghc- │ │ │ -00001090: 392e 3130 2e33 2f6c 6962 4853 7072 6574 9.10.3/libHSpret │ │ │ -000010a0: 7479 2d31 2e31 2e33 2e36 2d69 6e70 6c61 ty-1.1.3.6-inpla │ │ │ -000010b0: 6365 2d67 6863 392e 3130 2e33 2e73 6fe1 ce-ghc9.10.3.so. │ │ │ -000010c0: 002f 7573 722f 6c69 622f 6768 632f 6c69 ./usr/lib/ghc/li │ │ │ -000010d0: 622f 2e2e 2f6c 6962 2f69 3338 362d 6c69 b/../lib/i386-li │ │ │ -000010e0: 6e75 782d 6768 632d 392e 3130 2e33 2f6c nux-ghc-9.10.3/l │ │ │ -000010f0: 6962 4853 7465 6d70 6c61 7465 2d68 6173 ibHStemplate-has │ │ │ -00001100: 6b65 6c6c 2d32 2e32 322e 302e 302d 696e kell-2.22.0.0-in │ │ │ -00001110: 706c 6163 652d 6768 6339 2e31 302e 332e place-ghc9.10.3. │ │ │ -00001120: 736f db00 2f75 7372 2f6c 6962 2f67 6863 so../usr/lib/ghc │ │ │ -00001130: 2f6c 6962 2f2e 2e2f 6c69 622f 6933 3836 /lib/../lib/i386 │ │ │ -00001140: 2d6c 696e 7578 2d67 6863 2d39 2e31 302e -linux-ghc-9.10. │ │ │ -00001150: 332f 6c69 6248 5362 7974 6573 7472 696e 3/libHSbytestrin │ │ │ -00001160: 672d 302e 3132 2e32 2e30 2d69 6e70 6c61 g-0.12.2.0-inpla │ │ │ -00001170: 6365 2d67 6863 392e 3130 2e33 2e73 6fdc ce-ghc9.10.3.so. │ │ │ -00001180: 002f 7573 722f 6c69 622f 6768 632f 6c69 ./usr/lib/ghc/li │ │ │ -00001190: 622f 2e2e 2f6c 6962 2f69 3338 362d 6c69 b/../lib/i386-li │ │ │ -000011a0: 6e75 782d 6768 632d 392e 3130 2e33 2f6c nux-ghc-9.10.3/l │ │ │ -000011b0: 6962 4853 7472 616e 7366 6f72 6d65 7273 ibHStransformers │ │ │ -000011c0: 2d30 2e36 2e31 2e31 2d69 6e70 6c61 6365 -0.6.1.1-inplace │ │ │ -000011d0: 2d67 6863 392e 3130 2e33 2e73 6fd1 002f -ghc9.10.3.so../ │ │ │ -000011e0: 7573 722f 6c69 622f 6768 632f 6c69 622f usr/lib/ghc/lib/ │ │ │ -000011f0: 2e2e 2f6c 6962 2f69 3338 362d 6c69 6e75 ../lib/i386-linu │ │ │ -00001200: 782d 6768 632d 392e 3130 2e33 2f6c 6962 x-ghc-9.10.3/lib │ │ │ -00001210: 4853 6d74 6c2d 322e 332e 312d 696e 706c HSmtl-2.3.1-inpl │ │ │ -00001220: 6163 652d 6768 6339 2e31 302e 332e 736f ace-ghc9.10.3.so │ │ │ -00001230: d300 2f75 7372 2f6c 6962 2f67 6863 2f6c ../usr/lib/ghc/l │ │ │ -00001240: 6962 2f2e 2e2f 6c69 622f 6933 3836 2d6c ib/../lib/i386-l │ │ │ -00001250: 696e 7578 2d67 6863 2d39 2e31 302e 332f inux-ghc-9.10.3/ │ │ │ -00001260: 6c69 6248 5373 746d 2d32 2e35 2e33 2e31 libHSstm-2.5.3.1 │ │ │ -00001270: 2d69 6e70 6c61 6365 2d67 6863 392e 3130 -inplace-ghc9.10 │ │ │ -00001280: 2e33 2e73 6fd9 002f 7573 722f 6c69 622f .3.so../usr/lib/ │ │ │ -00001290: 6768 632f 6c69 622f 2e2e 2f6c 6962 2f69 ghc/lib/../lib/i │ │ │ -000012a0: 3338 362d 6c69 6e75 782d 6768 632d 392e 386-linux-ghc-9. │ │ │ -000012b0: 3130 2e33 2f6c 6962 4853 6578 6365 7074 10.3/libHSexcept │ │ │ -000012c0: 696f 6e73 2d30 2e31 302e 392d 696e 706c ions-0.10.9-inpl │ │ │ -000012d0: 6163 652d 6768 6339 2e31 302e 332e 736f ace-ghc9.10.3.so │ │ │ -000012e0: d700 2f75 7372 2f6c 6962 2f67 6863 2f6c ../usr/lib/ghc/l │ │ │ -000012f0: 6962 2f2e 2e2f 6c69 622f 6933 3836 2d6c ib/../lib/i386-l │ │ │ -00001300: 696e 7578 2d67 6863 2d39 2e31 302e 332f inux-ghc-9.10.3/ │ │ │ -00001310: 6c69 6248 536f 732d 7374 7269 6e67 2d32 libHSos-string-2 │ │ │ -00001320: 2e30 2e37 2d69 6e70 6c61 6365 2d67 6863 .0.7-inplace-ghc │ │ │ -00001330: 392e 3130 2e33 2e73 6fd8 002f 7573 722f 9.10.3.so../usr/ │ │ │ -00001340: 6c69 622f 6768 632f 6c69 622f 2e2e 2f6c lib/ghc/lib/../l │ │ │ -00001350: 6962 2f69 3338 362d 6c69 6e75 782d 6768 ib/i386-linux-gh │ │ │ -00001360: 632d 392e 3130 2e33 2f6c 6962 4853 6669 c-9.10.3/libHSfi │ │ │ -00001370: 6c65 7061 7468 2d31 2e35 2e34 2e30 2d69 lepath-1.5.4.0-i │ │ │ -00001380: 6e70 6c61 6365 2d67 6863 392e 3130 2e33 nplace-ghc9.10.3 │ │ │ -00001390: 2e73 6fd3 002f 7573 722f 6c69 622f 6768 .so../usr/lib/gh │ │ │ -000013a0: 632f 6c69 622f 2e2e 2f6c 6962 2f69 3338 c/lib/../lib/i38 │ │ │ -000013b0: 362d 6c69 6e75 782d 6768 632d 392e 3130 6-linux-ghc-9.10 │ │ │ -000013c0: 2e33 2f6c 6962 4853 7469 6d65 2d31 2e31 .3/libHStime-1.1 │ │ │ -000013d0: 322e 322d 696e 706c 6163 652d 6768 6339 2.2-inplace-ghc9 │ │ │ -000013e0: 2e31 302e 332e 736f d400 2f75 7372 2f6c .10.3.so../usr/l │ │ │ -000013f0: 6962 2f67 6863 2f6c 6962 2f2e 2e2f 6c69 ib/ghc/lib/../li │ │ │ -00001400: 622f 6933 3836 2d6c 696e 7578 2d67 6863 b/i386-linux-ghc │ │ │ -00001410: 2d39 2e31 302e 332f 6c69 6248 5375 6e69 -9.10.3/libHSuni │ │ │ -00001420: 782d 322e 382e 372e 302d 696e 706c 6163 x-2.8.7.0-inplac │ │ │ -00001430: 652d 6768 6339 2e31 302e 332e 736f d900 e-ghc9.10.3.so.. │ │ │ -00001440: 2f75 7372 2f6c 6962 2f67 6863 2f6c 6962 /usr/lib/ghc/lib │ │ │ -00001450: 2f2e 2e2f 6c69 622f 6933 3836 2d6c 696e /../lib/i386-lin │ │ │ -00001460: 7578 2d67 6863 2d39 2e31 302e 332f 6c69 ux-ghc-9.10.3/li │ │ │ -00001470: 6248 5364 6972 6563 746f 7279 2d31 2e33 bHSdirectory-1.3 │ │ │ -00001480: 2e38 2e35 2d69 6e70 6c61 6365 2d67 6863 .8.5-inplace-ghc │ │ │ -00001490: 392e 3130 2e33 2e73 6fd8 002f 7573 722f 9.10.3.so../usr/ │ │ │ -000014a0: 6c69 622f 6768 632f 6c69 622f 2e2e 2f6c lib/ghc/lib/../l │ │ │ -000014b0: 6962 2f69 3338 362d 6c69 6e75 782d 6768 ib/i386-linux-gh │ │ │ -000014c0: 632d 392e 3130 2e33 2f6c 6962 4853 7072 c-9.10.3/libHSpr │ │ │ -000014d0: 6f63 6573 732d 312e 362e 3236 2e31 2d69 ocess-1.6.26.1-i │ │ │ -000014e0: 6e70 6c61 6365 2d67 6863 392e 3130 2e33 nplace-ghc9.10.3 │ │ │ -000014f0: 2e73 6ffb 002f 7573 722f 6c69 622f 6861 .so../usr/lib/ha │ │ │ -00001500: 736b 656c 6c2d 7061 636b 6167 6573 2f67 skell-packages/g │ │ │ -00001510: 6863 2f6c 6962 2f69 3338 362d 6c69 6e75 hc/lib/i386-linu │ │ │ -00001520: 782d 6768 632d 392e 3130 2e33 2d69 6e70 x-ghc-9.10.3-inp │ │ │ -00001530: 6c61 6365 2f6c 6962 4853 6261 7365 2d63 lace/libHSbase-c │ │ │ -00001540: 6f6d 7061 742d 302e 3134 2e31 2d49 384e ompat-0.14.1-I8N │ │ │ -00001550: 5678 7869 646b 4141 4253 6a62 4d61 5536 VxxidkAABSjbMaU6 │ │ │ -00001560: 4c57 762d 6768 6339 2e31 302e 332e 736f LWv-ghc9.10.3.so │ │ │ -00001570: f500 2f75 7372 2f6c 6962 2f68 6173 6b65 ../usr/lib/haske │ │ │ -00001580: 6c6c 2d70 6163 6b61 6765 732f 6768 632f ll-packages/ghc/ │ │ │ -00001590: 6c69 622f 6933 3836 2d6c 696e 7578 2d67 lib/i386-linux-g │ │ │ -000015a0: 6863 2d39 2e31 302e 332d 696e 706c 6163 hc-9.10.3-inplac │ │ │ -000015b0: 652f 6c69 6248 5367 6974 7265 762d 312e e/libHSgitrev-1. │ │ │ -000015c0: 332e 312d 3870 5852 6657 4a38 5236 5843 3.1-8pXRfWJ8R6XC │ │ │ -000015d0: 6374 5461 3571 7347 6449 2d67 6863 392e ctTa5qsGdI-ghc9. │ │ │ -000015e0: 3130 2e33 2e73 6f0a 636f 6d6d 6974 496e 10.3.so.commitIn │ │ │ -000015f0: 666f 1576 6572 7369 6f6e 5769 7468 436f fo.versionWithCo │ │ │ -00001600: 6d6d 6974 496e 666f 0924 7472 4d6f 6475 mmitInfo.$trModu │ │ │ -00001610: 6c65 0947 4843 2e54 7970 6573 064d 6f64 le.GHC.Types.Mod │ │ │ -00001620: 756c 650a 2474 724d 6f64 756c 6533 0a24 ule.$trModule3.$ │ │ │ -00001630: 7472 4d6f 6475 6c65 3107 5472 4e61 6d65 trModule1.TrName │ │ │ -00001640: 530a 2474 724d 6f64 756c 6532 0a24 7472 S.$trModule2.$tr │ │ │ -00001650: 4d6f 6475 6c65 3400 Module4. │ │ │ +00000010: e5c8 569d b7c3 cab7 fbf0 ec51 0000 1656 ..V........Q...V │ │ │ +00000020: 0000 068c 0000 0659 0000 0100 00f4 b9b3 .......Y........ │ │ │ +00000030: e7cf c2f2 cb19 fbfa 95e7 9c89 e083 b301 ................ │ │ │ +00000040: 8be4 bed5 d58a c0fc b001 e881 edbb dbc7 ................ │ │ │ +00000050: dedd be01 80fd 80f1 e9a0 b192 f001 d8e1 ................ │ │ │ +00000060: 81d3 e1de ea84 f401 85cc beb3 c3eb acd4 ................ │ │ │ +00000070: 8501 ba9b 93dd 82f1 c0ff 5489 c1b6 f0df ..........T..... │ │ │ +00000080: b5a1 dc93 01f1 bed6 fe84 928d fbcd 01c9 ................ │ │ │ +00000090: c2c7 b5ad 8290 8bad 0187 c0cc 888b aba7 ................ │ │ │ +000000a0: 9a42 0000 0000 014f 0100 0200 0303 0405 .B.....O........ │ │ │ +000000b0: 0000 0000 0a00 0607 0006 0800 090a 000b ................ │ │ │ +000000c0: 0c00 0d0e 000d 0f00 0d10 000d 1100 0d12 ................ │ │ │ +000000d0: 000d 1329 0000 0200 0314 0003 1500 0316 ...)............ │ │ │ +000000e0: 0003 1700 0318 0003 1900 031a 001b 1c00 ................ │ │ │ +000000f0: 1b1d 001b 1e00 1f20 0021 2200 2123 0006 ....... .!".!#.. │ │ │ +00000100: 2400 0625 0006 2600 0627 0006 2800 0629 $..%..&..'..(..) │ │ │ +00000110: 0006 2a00 062b 0006 2c00 062d 0006 2e00 ..*..+..,..-.... │ │ │ +00000120: 062f 0030 3100 3233 0032 3400 0535 0036 ./.01.23.24..5.6 │ │ │ +00000130: 3700 3638 0036 3900 363a 0036 3b00 363c 7.68.69.6:.6;.6< │ │ │ +00000140: 0036 3d00 363e 0036 3f00 3640 0036 4100 .6=.6>.6?.6@.6A. │ │ │ +00000150: 0004 5120 0102 00e8 81e3 c2af ecf6 9c8c ..Q ............ │ │ │ +00000160: 01aa e2ac d6cd c7be 8132 01d8 8794 dfa0 .........2...... │ │ │ +00000170: 84cd ebd0 01d3 ab8d 89a2 8d9a c619 0100 ................ │ │ │ +00000180: 42cf e1fb d2b8 f49f f4cc 01dc aee7 f7a5 B............... │ │ │ +00000190: a487 a2f4 0100 0000 0343 e3d8 9697 8cbd .........C...... │ │ │ +000001a0: fe8f 1afd f0d6 b8a2 bead ea20 0000 0006 ........... .... │ │ │ +000001b0: 078e 82c8 84a9 edc7 e8a6 01eb b7d2 8dab ................ │ │ │ +000001c0: fbfd ed9a 0100 0000 0644 bbd9 83a1 cff8 .........D...... │ │ │ +000001d0: 80ff 78f2 88b2 abbb acbb a8e8 0100 0000 ..x............. │ │ │ +000001e0: 0645 cbf9 dedd c4ce bba0 d401 b091 bedd .E.............. │ │ │ +000001f0: f0fa 99fc 4a00 0000 0946 b9f0 baa7 ecc3 ....J....F...... │ │ │ +00000200: fa84 2ad6 f980 b6ee f386 e150 0000 0004 ..*........P.... │ │ │ +00000210: 4782 a6dc e4db cbd2 fb20 cf9a b0b6 e1d6 G........ ...... │ │ │ +00000220: c5be dd01 0002 489a 86af f8b3 c8b4 ddef ......H......... │ │ │ +00000230: 01bf 8582 de80 bea0 9a6c 0002 49d7 a087 .........l..I... │ │ │ +00000240: c797 ad84 807d 8c9c a4df c0b0 f3e3 ea01 .....}.......... │ │ │ +00000250: 0002 4aa5 d0ef 9ae8 f4e3 f4e0 01dd 82de ..J............. │ │ │ +00000260: 90c7 abca 8bbf 0100 024b 8ab7 9c9c f28d .........K...... │ │ │ +00000270: d6fa ac01 e9e7 f4f5 89eb 8ba0 7000 024c ............p..L │ │ │ +00000280: d6ad cfe6 c1b8 a7c4 18ab c3a9 dba4 ab96 ................ │ │ │ +00000290: c71e 0002 4def b7c7 90ec aee4 fc94 018f ....M........... │ │ │ +000002a0: f891 edf0 b2a1 98c1 0100 024e 91a1 c9f5 ...........N.... │ │ │ +000002b0: b4eb bcfc 2893 f6fa bd9b aef5 c398 0100 ....(........... │ │ │ +000002c0: 024f 9ebf a6e9 abdd c2d1 bd01 ca82 dee8 .O.............. │ │ │ +000002d0: b1de b0d3 c201 0002 50a4 e5b3 b3bf dccd ........P....... │ │ │ +000002e0: cb47 a0d4 d7b1 a7dd dcef d301 0002 5191 .G............Q. │ │ │ +000002f0: f1ea 90c4 a0d1 906f 9785 98a7 a698 a7d7 .......o........ │ │ │ +00000300: dd01 0002 52c2 8d95 efff 94e1 bb3b d9f8 ....R........;.. │ │ │ +00000310: d5ec c3fa ebc4 3e00 0253 c7da d1b7 9edc ......>..S...... │ │ │ +00000320: bcc2 ad01 b889 90c4 81e6 a3e5 cc01 0002 ................ │ │ │ +00000330: 5499 a8b2 edda 9288 c0bd 01e6 be81 9aa1 T............... │ │ │ +00000340: a8c5 ae93 0100 0255 b9d5 cee0 f887 d49c .......U........ │ │ │ +00000350: a701 a187 9a98 d0be b59a 7400 0256 e2fd ..........t..V.. │ │ │ +00000360: a8b6 8190 948d 0794 f2e5 faca c5ea cfe4 ................ │ │ │ +00000370: 0100 0257 cdce edbb f0cd 8ccf a101 d8c8 ...W............ │ │ │ +00000380: c6df 978f c1f2 6d00 0258 d3d7 faa9 dbb0 ......m..X...... │ │ │ +00000390: bd90 76d2 b392 84b7 be95 b9c8 0100 0259 ..v............Y │ │ │ +000003a0: bfc7 e8b6 a8f2 85d6 f901 c7ed edf5 ead6 ................ │ │ │ +000003b0: c4fd 0f00 025a 9bfe c4c4 aceb cea6 db01 .....Z.......... │ │ │ +000003c0: 9784 e383 aaf0 9aa1 db01 0002 5bb7 f583 ............[... │ │ │ +000003d0: deb6 88dc fa6a 96dd bcf7 ae80 a5ba 7d00 .....j........}. │ │ │ +000003e0: 025c fbe0 98e6 a095 e6b4 9d01 e1c2 bc89 .\.............. │ │ │ +000003f0: fef5 c88d 7b00 025d 88f9 fcb0 8b84 e4dd ....{..]........ │ │ │ +00000400: c701 e0f6 df83 ba85 bce3 8301 0002 5eb0 ..............^. │ │ │ +00000410: 92c8 9eda f39d a149 dfd2 abe0 f584 a8b4 .......I........ │ │ │ +00000420: b001 0002 5fc3 8fd6 ead9 effa e1bf 01d4 ...._........... │ │ │ +00000430: e2c6 f5e5 bde6 b693 0100 0260 88a9 eaae ...........`.... │ │ │ +00000440: 92e6 9f86 cc01 9fa3 a6ec d1ea 85a2 9001 ................ │ │ │ +00000450: 0002 0000 0001 d386 beff 87f2 e9bb 8d01 ................ │ │ │ +00000460: 809b a1b2 93f3 b1d1 7801 0000 0004 7201 ........x.....r. │ │ │ +00000470: 0000 0000 0477 0007 87e2 ab9c f699 9fe7 .....w.......... │ │ │ +00000480: 58db 8cb1 b397 d7fe 9641 0002 0000 04b3 X........A...... │ │ │ +00000490: 05d2 8180 e608 0000 0100 0404 0803 0702 ................ │ │ │ +000004a0: 8181 80ec 0802 0000 030f 0005 050b 030b ................ │ │ │ +000004b0: 040b 05f0 bbf1 b3fb d1cd 9fbc 01bc 8ea2 ................ │ │ │ +000004c0: f7b6 a993 ea4e 0005 0000 04ec 05d4 8180 .....N.......... │ │ │ +000004d0: e608 0000 0100 0404 0803 0702 8781 80ec ................ │ │ │ +000004e0: 0802 0000 030f 0005 0b06 0b07 aed0 b883 ................ │ │ │ +000004f0: e1d5 ee87 73b9 ce96 e2f1 9283 c5be 0100 ....s........... │ │ │ +00000500: 0700 0005 2e05 8280 80e6 0800 0001 0003 ................ │ │ │ +00000510: 0407 0402 0000 030f 0009 0112 4167 6461 ............Agda │ │ │ +00000520: 2e56 6572 7369 6f6e 436f 6d6d 6974 b7ac .VersionCommit.. │ │ │ +00000530: d6f5 f4f1 ace4 d701 94a3 a19e 9292 92ee ................ │ │ │ +00000540: 5400 0400 0005 6705 d481 80e6 0800 0001 T.....g......... │ │ │ +00000550: 0004 0408 0307 0287 8180 ec08 0200 0003 ................ │ │ │ +00000560: 0f00 050b 060b 08e5 f8b5 80e6 a8c7 83c4 ................ │ │ │ +00000570: 01d3 c3ab c1a5 c2fe f2c6 0100 0800 0005 ................ │ │ │ +00000580: b905 8280 80e6 0800 0001 0003 0407 0402 ................ │ │ │ +00000590: 0000 030f 0009 0121 4167 6461 2d32 2e38 .......!Agda-2.8 │ │ │ +000005a0: 2e30 2d4b 7541 454b 4452 4735 7773 4652 .0-KuAEKDRG5wsFR │ │ │ +000005b0: 6441 3577 3873 474c 43a9 8ea8 bce8 81c7 dA5w8sGLC....... │ │ │ +000005c0: 9d4c 80e8 f0e0 8d80 b486 d501 0000 0000 .L.............. │ │ │ +000005d0: 0609 05b8 8080 e608 0000 0005 8c80 80e6 ................ │ │ │ +000005e0: 0800 0001 0001 0004 0408 0307 0295 8080 ................ │ │ │ +000005f0: ec08 0200 0003 0f00 050b 9680 80ec 0801 ................ │ │ │ +00000600: 058c 8080 e608 0000 01a8 c1c3 f1d0 c6e1 ................ │ │ │ +00000610: dacf 01f9 8ebf e0e5 ee8c c4af 0100 0100 ................ │ │ │ +00000620: 0006 3a05 8c80 80e6 0800 0001 0002 0701 ..:............. │ │ │ +00000630: 0100 0200 0003 0300 0b09 0000 0000 0006 ................ │ │ │ +00000640: 4200 c7f9 f7e9 84df a69f 69ae bcf1 de85 B.........i..... │ │ │ +00000650: c083 b21e 0000 0000 000a 0000 0100 6100 ..............a. │ │ │ +00000660: 0001 0062 0000 0100 6300 0964 0065 0000 ...b....c..d.e.. │ │ │ +00000670: 0100 6600 0001 0067 0009 6400 6800 0001 ..f....g..d.h... │ │ │ +00000680: 0069 0000 0100 6a00 0002 0042 eb00 2141 .i....j....B..!A │ │ │ +00000690: 6764 612d 322e 382e 302d 4b75 4145 4b44 gda-2.8.0-KuAEKD │ │ │ +000006a0: 5247 3577 7346 5264 4135 7738 7347 4c43 RG5wsFRdA5w8sGLC │ │ │ +000006b0: 1241 6764 612e 5665 7273 696f 6e43 6f6d .Agda.VersionCom │ │ │ +000006c0: 6d69 740c 4167 6461 2e56 6572 7369 6f6e mit.Agda.Version │ │ │ +000006d0: 0462 6173 6523 6769 7472 6576 2d31 2e33 .base#gitrev-1.3 │ │ │ +000006e0: 2e31 2d38 7058 5266 574a 3852 3658 4363 .1-8pXRfWJ8R6XCc │ │ │ +000006f0: 7454 6135 7173 4764 4910 7465 6d70 6c61 tTa5qsGdI.templa │ │ │ +00000700: 7465 2d68 6173 6b65 6c6c 0c67 6863 2d69 te-haskell.ghc-i │ │ │ +00000710: 6e74 6572 6e61 6c11 4748 432e 496e 7465 nternal.GHC.Inte │ │ │ +00000720: 726e 616c 2e42 6173 6512 4748 432e 496e rnal.Base.GHC.In │ │ │ +00000730: 7465 726e 616c 2e46 6c6f 6174 0867 6863 ternal.Float.ghc │ │ │ +00000740: 2d70 7269 6d0c 4748 432e 5072 696d 2e45 -prim.GHC.Prim.E │ │ │ +00000750: 7874 1373 746d 2d32 2e35 2e33 2e31 2d69 xt.stm-2.5.3.1-i │ │ │ +00000760: 6e70 6c61 6365 1143 6f6e 7472 6f6c 2e4d nplace.Control.M │ │ │ +00000770: 6f6e 6164 2e53 544d 1374 696d 652d 312e onad.STM.time-1. │ │ │ +00000780: 3132 2e32 2d69 6e70 6c61 6365 1c44 6174 12.2-inplace.Dat │ │ │ +00000790: 612e 5469 6d65 2e43 616c 656e 6461 722e a.Time.Calendar. │ │ │ +000007a0: 4772 6567 6f72 6961 6e21 4461 7461 2e54 Gregorian!Data.T │ │ │ +000007b0: 696d 652e 466f 726d 6174 2e46 6f72 6d61 ime.Format.Forma │ │ │ +000007c0: 742e 496e 7374 616e 6365 7316 4461 7461 t.Instances.Data │ │ │ +000007d0: 2e54 696d 652e 466f 726d 6174 2e50 6172 .Time.Format.Par │ │ │ +000007e0: 7365 2044 6174 612e 5469 6d65 2e46 6f72 se Data.Time.For │ │ │ +000007f0: 6d61 742e 5061 7273 652e 496e 7374 616e mat.Parse.Instan │ │ │ +00000800: 6365 7326 4461 7461 2e54 696d 652e 4c6f ces&Data.Time.Lo │ │ │ +00000810: 6361 6c54 696d 652e 496e 7465 726e 616c calTime.Internal │ │ │ +00000820: 2e4c 6f63 616c 5469 6d65 2644 6174 612e .LocalTime&Data. │ │ │ +00000830: 5469 6d65 2e4c 6f63 616c 5469 6d65 2e49 Time.LocalTime.I │ │ │ +00000840: 6e74 6572 6e61 6c2e 5a6f 6e65 6454 696d nternal.ZonedTim │ │ │ +00000850: 6513 436f 6e74 726f 6c2e 4170 706c 6963 e.Control.Applic │ │ │ +00000860: 6174 6976 650f 4461 7461 2e41 7272 6179 ative.Data.Array │ │ │ +00000870: 2e42 7974 650c 4461 7461 2e43 6f6d 706c .Byte.Data.Compl │ │ │ +00000880: 6578 1444 6174 612e 4675 6e63 746f 722e ex.Data.Functor. │ │ │ +00000890: 436f 6d70 6f73 6514 4461 7461 2e46 756e Compose.Data.Fun │ │ │ +000008a0: 6374 6f72 2e50 726f 6475 6374 1044 6174 ctor.Product.Dat │ │ │ +000008b0: 612e 4675 6e63 746f 722e 5375 6d0e 4461 a.Functor.Sum.Da │ │ │ +000008c0: 7461 2e53 656d 6967 726f 7570 1b62 7974 ta.Semigroup.byt │ │ │ +000008d0: 6573 7472 696e 672d 302e 3132 2e32 2e30 estring-0.12.2.0 │ │ │ +000008e0: 2d69 6e70 6c61 6365 1d44 6174 612e 4279 -inplace.Data.By │ │ │ +000008f0: 7465 5374 7269 6e67 2e49 6e74 6572 6e61 teString.Interna │ │ │ +00000900: 6c2e 5479 7065 1d44 6174 612e 4279 7465 l.Type.Data.Byte │ │ │ +00000910: 5374 7269 6e67 2e4c 617a 792e 496e 7465 String.Lazy.Inte │ │ │ +00000920: 726e 616c 1e44 6174 612e 4279 7465 5374 rnal.Data.ByteSt │ │ │ +00000930: 7269 6e67 2e53 686f 7274 2e49 6e74 6572 ring.Short.Inter │ │ │ +00000940: 6e61 6c17 6465 6570 7365 712d 312e 352e nal.deepseq-1.5. │ │ │ +00000950: 302e 302d 696e 706c 6163 650f 436f 6e74 0.0-inplace.Cont │ │ │ +00000960: 726f 6c2e 4465 6570 5365 711a 6768 632d rol.DeepSeq.ghc- │ │ │ +00000970: 626f 6f74 2d74 682d 392e 3130 2e33 2d69 boot-th-9.10.3-i │ │ │ +00000980: 6e70 6c61 6365 1747 4843 2e46 6f72 6569 nplace.GHC.Forei │ │ │ +00000990: 676e 5372 634c 616e 672e 5479 7065 1b47 gnSrcLang.Type.G │ │ │ +000009a0: 4843 2e4c 616e 6775 6167 6545 7874 656e HC.LanguageExten │ │ │ +000009b0: 7369 6f6e 732e 5479 7065 1a47 4843 2e49 sions.Type.GHC.I │ │ │ +000009c0: 6e74 6572 6e61 6c2e 436f 6e74 726f 6c2e nternal.Control. │ │ │ +000009d0: 4172 726f 771f 4748 432e 496e 7465 726e Arrow.GHC.Intern │ │ │ +000009e0: 616c 2e44 6174 612e 4675 6e63 746f 722e al.Data.Functor. │ │ │ +000009f0: 436f 6e73 7422 4748 432e 496e 7465 726e Const"GHC.Intern │ │ │ +00000a00: 616c 2e44 6174 612e 4675 6e63 746f 722e al.Data.Functor. │ │ │ +00000a10: 4964 656e 7469 7479 1847 4843 2e49 6e74 Identity.GHC.Int │ │ │ +00000a20: 6572 6e61 6c2e 4461 7461 2e4d 6f6e 6f69 ernal.Data.Monoi │ │ │ +00000a30: 6424 4748 432e 496e 7465 726e 616c 2e44 d$GHC.Internal.D │ │ │ +00000a40: 6174 612e 5365 6d69 6772 6f75 702e 496e ata.Semigroup.In │ │ │ +00000a50: 7465 726e 616c 1a47 4843 2e49 6e74 6572 ternal.GHC.Inter │ │ │ +00000a60: 6e61 6c2e 4461 7461 2e54 7970 652e 4f72 nal.Data.Type.Or │ │ │ +00000a70: 6419 4748 432e 496e 7465 726e 616c 2e44 d.GHC.Internal.D │ │ │ +00000a80: 6174 612e 5665 7273 696f 6e1c 4748 432e ata.Version.GHC. │ │ │ +00000a90: 496e 7465 726e 616c 2e46 756e 6374 6f72 Internal.Functor │ │ │ +00000aa0: 2e5a 6970 4c69 7374 1547 4843 2e49 6e74 .ZipList.GHC.Int │ │ │ +00000ab0: 6572 6e61 6c2e 4765 6e65 7269 6373 1947 ernal.Generics.G │ │ │ +00000ac0: 4843 2e49 6e74 6572 6e61 6c2e 494f 2e45 HC.Internal.IO.E │ │ │ +00000ad0: 7863 6570 7469 6f6e 1347 4843 2e49 6e74 xception.GHC.Int │ │ │ +00000ae0: 6572 6e61 6c2e 4973 4c69 7374 1647 4843 ernal.IsList.GHC │ │ │ +00000af0: 2e49 6e74 6572 6e61 6c2e 5254 532e 466c .Internal.RTS.Fl │ │ │ +00000b00: 6167 7317 6f73 2d73 7472 696e 672d 322e ags.os-string-2. │ │ │ +00000b10: 302e 372d 696e 706c 6163 651e 5379 7374 0.7-inplace.Syst │ │ │ +00000b20: 656d 2e4f 7353 7472 696e 672e 496e 7465 em.OsString.Inte │ │ │ +00000b30: 726e 616c 2e54 7970 6573 1670 7265 7474 rnal.Types.prett │ │ │ +00000b40: 792d 312e 312e 332e 362d 696e 706c 6163 y-1.1.3.6-inplac │ │ │ +00000b50: 6523 5465 7874 2e50 7265 7474 7950 7269 e#Text.PrettyPri │ │ │ +00000b60: 6e74 2e41 6e6e 6f74 6174 6564 2e48 7567 nt.Annotated.Hug │ │ │ +00000b70: 6865 7350 4a19 5465 7874 2e50 7265 7474 hesPJ.Text.Prett │ │ │ +00000b80: 7950 7269 6e74 2e48 7567 6865 7350 4a1a yPrint.HughesPJ. │ │ │ +00000b90: 4c61 6e67 7561 6765 2e48 6173 6b65 6c6c Language.Haskell │ │ │ +00000ba0: 2e54 482e 5379 6e74 6178 1c74 7261 6e73 .TH.Syntax.trans │ │ │ +00000bb0: 666f 726d 6572 732d 302e 362e 312e 312d formers-0.6.1.1- │ │ │ +00000bc0: 696e 706c 6163 6518 436f 6e74 726f 6c2e inplace.Control. │ │ │ +00000bd0: 4d6f 6e61 642e 5472 616e 732e 436f 6e74 Monad.Trans.Cont │ │ │ +00000be0: 1a43 6f6e 7472 6f6c 2e4d 6f6e 6164 2e54 .Control.Monad.T │ │ │ +00000bf0: 7261 6e73 2e45 7863 6570 741c 436f 6e74 rans.Except.Cont │ │ │ +00000c00: 726f 6c2e 4d6f 6e61 642e 5472 616e 732e rol.Monad.Trans. │ │ │ +00000c10: 4964 656e 7469 7479 1943 6f6e 7472 6f6c Identity.Control │ │ │ +00000c20: 2e4d 6f6e 6164 2e54 7261 6e73 2e4d 6179 .Monad.Trans.May │ │ │ +00000c30: 6265 1c43 6f6e 7472 6f6c 2e4d 6f6e 6164 be.Control.Monad │ │ │ +00000c40: 2e54 7261 6e73 2e52 5753 2e4c 617a 791e .Trans.RWS.Lazy. │ │ │ +00000c50: 436f 6e74 726f 6c2e 4d6f 6e61 642e 5472 Control.Monad.Tr │ │ │ +00000c60: 616e 732e 5257 532e 5374 7269 6374 1a43 ans.RWS.Strict.C │ │ │ +00000c70: 6f6e 7472 6f6c 2e4d 6f6e 6164 2e54 7261 ontrol.Monad.Tra │ │ │ +00000c80: 6e73 2e52 6561 6465 721e 436f 6e74 726f ns.Reader.Contro │ │ │ +00000c90: 6c2e 4d6f 6e61 642e 5472 616e 732e 5374 l.Monad.Trans.St │ │ │ +00000ca0: 6174 652e 4c61 7a79 2043 6f6e 7472 6f6c ate.Lazy Control │ │ │ +00000cb0: 2e4d 6f6e 6164 2e54 7261 6e73 2e53 7461 .Monad.Trans.Sta │ │ │ +00000cc0: 7465 2e53 7472 6963 741f 436f 6e74 726f te.Strict.Contro │ │ │ +00000cd0: 6c2e 4d6f 6e61 642e 5472 616e 732e 5772 l.Monad.Trans.Wr │ │ │ +00000ce0: 6974 6572 2e4c 617a 7921 436f 6e74 726f iter.Lazy!Contro │ │ │ +00000cf0: 6c2e 4d6f 6e61 642e 5472 616e 732e 5772 l.Monad.Trans.Wr │ │ │ +00000d00: 6974 6572 2e53 7472 6963 7407 7665 7273 iter.Strict.vers │ │ │ +00000d10: 696f 6e07 5072 656c 7564 6517 4748 432e ion.Prelude.GHC. │ │ │ +00000d20: 496e 7465 726e 616c 2e44 6174 612e 4d61 Internal.Data.Ma │ │ │ +00000d30: 7962 6511 4748 432e 496e 7465 726e 616c ybe.GHC.Internal │ │ │ +00000d40: 2e4c 6973 740b 4748 432e 436c 6173 7365 .List.GHC.Classe │ │ │ +00000d50: 7312 4465 7665 6c6f 706d 656e 742e 4769 s.Development.Gi │ │ │ +00000d60: 7452 6576 cc00 2f75 7372 2f6c 6962 2f67 tRev../usr/lib/g │ │ │ +00000d70: 6863 2f6c 6962 2f2e 2e2f 6c69 622f 6933 hc/lib/../lib/i3 │ │ │ +00000d80: 3836 2d6c 696e 7578 2d67 6863 2d39 2e31 86-linux-ghc-9.1 │ │ │ +00000d90: 302e 332f 7274 732d 312e 302e 322f 696e 0.3/rts-1.0.2/in │ │ │ +00000da0: 636c 7564 652f 6768 6376 6572 7369 6f6e clude/ghcversion │ │ │ +00000db0: 2e68 2564 6973 742d 6768 632f 6275 696c .h%dist-ghc/buil │ │ │ +00000dc0: 642f 6175 746f 6765 6e2f 6361 6261 6c5f d/autogen/cabal_ │ │ │ +00000dd0: 6d61 6372 6f73 2e68 1a2f 7573 722f 696e macros.h./usr/in │ │ │ +00000de0: 636c 7564 652f 7374 6463 2d70 7265 6465 clude/stdc-prede │ │ │ +00000df0: 662e 68d7 002f 7573 722f 6c69 622f 6768 f.h../usr/lib/gh │ │ │ +00000e00: 632f 6c69 622f 2e2e 2f6c 6962 2f69 3338 c/lib/../lib/i38 │ │ │ +00000e10: 362d 6c69 6e75 782d 6768 632d 392e 3130 6-linux-ghc-9.10 │ │ │ +00000e20: 2e33 2f6c 6962 4853 6768 632d 7072 696d .3/libHSghc-prim │ │ │ +00000e30: 2d30 2e31 322e 302d 696e 706c 6163 652d -0.12.0-inplace- │ │ │ +00000e40: 6768 6339 2e31 302e 332e 736f d600 2f75 ghc9.10.3.so../u │ │ │ +00000e50: 7372 2f6c 6962 2f67 6863 2f6c 6962 2f2e sr/lib/ghc/lib/. │ │ │ +00000e60: 2e2f 6c69 622f 6933 3836 2d6c 696e 7578 ./lib/i386-linux │ │ │ +00000e70: 2d67 6863 2d39 2e31 302e 332f 6c69 6248 -ghc-9.10.3/libH │ │ │ +00000e80: 5367 6863 2d62 6967 6e75 6d2d 312e 332d Sghc-bignum-1.3- │ │ │ +00000e90: 696e 706c 6163 652d 6768 6339 2e31 302e inplace-ghc9.10. │ │ │ +00000ea0: 332e 736f dd00 2f75 7372 2f6c 6962 2f67 3.so../usr/lib/g │ │ │ +00000eb0: 6863 2f6c 6962 2f2e 2e2f 6c69 622f 6933 hc/lib/../lib/i3 │ │ │ +00000ec0: 3836 2d6c 696e 7578 2d67 6863 2d39 2e31 86-linux-ghc-9.1 │ │ │ +00000ed0: 302e 332f 6c69 6248 5367 6863 2d69 6e74 0.3/libHSghc-int │ │ │ +00000ee0: 6572 6e61 6c2d 392e 3130 3033 2e30 2d69 ernal-9.1003.0-i │ │ │ +00000ef0: 6e70 6c61 6365 2d67 6863 392e 3130 2e33 nplace-ghc9.10.3 │ │ │ +00000f00: 2e73 6fd5 002f 7573 722f 6c69 622f 6768 .so../usr/lib/gh │ │ │ +00000f10: 632f 6c69 622f 2e2e 2f6c 6962 2f69 3338 c/lib/../lib/i38 │ │ │ +00000f20: 362d 6c69 6e75 782d 6768 632d 392e 3130 6-linux-ghc-9.10 │ │ │ +00000f30: 2e33 2f6c 6962 4853 6261 7365 2d34 2e32 .3/libHSbase-4.2 │ │ │ +00000f40: 302e 322e 302d 696e 706c 6163 652d 6768 0.2.0-inplace-gh │ │ │ +00000f50: 6339 2e31 302e 332e 736f da00 2f75 7372 c9.10.3.so../usr │ │ │ +00000f60: 2f6c 6962 2f67 6863 2f6c 6962 2f2e 2e2f /lib/ghc/lib/../ │ │ │ +00000f70: 6c69 622f 6933 3836 2d6c 696e 7578 2d67 lib/i386-linux-g │ │ │ +00000f80: 6863 2d39 2e31 302e 332f 6c69 6248 5367 hc-9.10.3/libHSg │ │ │ +00000f90: 6863 2d62 6f6f 742d 7468 2d39 2e31 302e hc-boot-th-9.10. │ │ │ +00000fa0: 332d 696e 706c 6163 652d 6768 6339 2e31 3-inplace-ghc9.1 │ │ │ +00000fb0: 302e 332e 736f d500 2f75 7372 2f6c 6962 0.3.so../usr/lib │ │ │ +00000fc0: 2f67 6863 2f6c 6962 2f2e 2e2f 6c69 622f /ghc/lib/../lib/ │ │ │ +00000fd0: 6933 3836 2d6c 696e 7578 2d67 6863 2d39 i386-linux-ghc-9 │ │ │ +00000fe0: 2e31 302e 332f 6c69 6248 5361 7272 6179 .10.3/libHSarray │ │ │ +00000ff0: 2d30 2e35 2e38 2e30 2d69 6e70 6c61 6365 -0.5.8.0-inplace │ │ │ +00001000: 2d67 6863 392e 3130 2e33 2e73 6fd7 002f -ghc9.10.3.so../ │ │ │ +00001010: 7573 722f 6c69 622f 6768 632f 6c69 622f usr/lib/ghc/lib/ │ │ │ +00001020: 2e2e 2f6c 6962 2f69 3338 362d 6c69 6e75 ../lib/i386-linu │ │ │ +00001030: 782d 6768 632d 392e 3130 2e33 2f6c 6962 x-ghc-9.10.3/lib │ │ │ +00001040: 4853 6465 6570 7365 712d 312e 352e 302e HSdeepseq-1.5.0. │ │ │ +00001050: 302d 696e 706c 6163 652d 6768 6339 2e31 0-inplace-ghc9.1 │ │ │ +00001060: 302e 332e 736f d600 2f75 7372 2f6c 6962 0.3.so../usr/lib │ │ │ +00001070: 2f67 6863 2f6c 6962 2f2e 2e2f 6c69 622f /ghc/lib/../lib/ │ │ │ +00001080: 6933 3836 2d6c 696e 7578 2d67 6863 2d39 i386-linux-ghc-9 │ │ │ +00001090: 2e31 302e 332f 6c69 6248 5370 7265 7474 .10.3/libHSprett │ │ │ +000010a0: 792d 312e 312e 332e 362d 696e 706c 6163 y-1.1.3.6-inplac │ │ │ +000010b0: 652d 6768 6339 2e31 302e 332e 736f e100 e-ghc9.10.3.so.. │ │ │ +000010c0: 2f75 7372 2f6c 6962 2f67 6863 2f6c 6962 /usr/lib/ghc/lib │ │ │ +000010d0: 2f2e 2e2f 6c69 622f 6933 3836 2d6c 696e /../lib/i386-lin │ │ │ +000010e0: 7578 2d67 6863 2d39 2e31 302e 332f 6c69 ux-ghc-9.10.3/li │ │ │ +000010f0: 6248 5374 656d 706c 6174 652d 6861 736b bHStemplate-hask │ │ │ +00001100: 656c 6c2d 322e 3232 2e30 2e30 2d69 6e70 ell-2.22.0.0-inp │ │ │ +00001110: 6c61 6365 2d67 6863 392e 3130 2e33 2e73 lace-ghc9.10.3.s │ │ │ +00001120: 6fdb 002f 7573 722f 6c69 622f 6768 632f o../usr/lib/ghc/ │ │ │ +00001130: 6c69 622f 2e2e 2f6c 6962 2f69 3338 362d lib/../lib/i386- │ │ │ +00001140: 6c69 6e75 782d 6768 632d 392e 3130 2e33 linux-ghc-9.10.3 │ │ │ +00001150: 2f6c 6962 4853 6279 7465 7374 7269 6e67 /libHSbytestring │ │ │ +00001160: 2d30 2e31 322e 322e 302d 696e 706c 6163 -0.12.2.0-inplac │ │ │ +00001170: 652d 6768 6339 2e31 302e 332e 736f dc00 e-ghc9.10.3.so.. │ │ │ +00001180: 2f75 7372 2f6c 6962 2f67 6863 2f6c 6962 /usr/lib/ghc/lib │ │ │ +00001190: 2f2e 2e2f 6c69 622f 6933 3836 2d6c 696e /../lib/i386-lin │ │ │ +000011a0: 7578 2d67 6863 2d39 2e31 302e 332f 6c69 ux-ghc-9.10.3/li │ │ │ +000011b0: 6248 5374 7261 6e73 666f 726d 6572 732d bHStransformers- │ │ │ +000011c0: 302e 362e 312e 312d 696e 706c 6163 652d 0.6.1.1-inplace- │ │ │ +000011d0: 6768 6339 2e31 302e 332e 736f d100 2f75 ghc9.10.3.so../u │ │ │ +000011e0: 7372 2f6c 6962 2f67 6863 2f6c 6962 2f2e sr/lib/ghc/lib/. │ │ │ +000011f0: 2e2f 6c69 622f 6933 3836 2d6c 696e 7578 ./lib/i386-linux │ │ │ +00001200: 2d67 6863 2d39 2e31 302e 332f 6c69 6248 -ghc-9.10.3/libH │ │ │ +00001210: 536d 746c 2d32 2e33 2e31 2d69 6e70 6c61 Smtl-2.3.1-inpla │ │ │ +00001220: 6365 2d67 6863 392e 3130 2e33 2e73 6fd3 ce-ghc9.10.3.so. │ │ │ +00001230: 002f 7573 722f 6c69 622f 6768 632f 6c69 ./usr/lib/ghc/li │ │ │ +00001240: 622f 2e2e 2f6c 6962 2f69 3338 362d 6c69 b/../lib/i386-li │ │ │ +00001250: 6e75 782d 6768 632d 392e 3130 2e33 2f6c nux-ghc-9.10.3/l │ │ │ +00001260: 6962 4853 7374 6d2d 322e 352e 332e 312d ibHSstm-2.5.3.1- │ │ │ +00001270: 696e 706c 6163 652d 6768 6339 2e31 302e inplace-ghc9.10. │ │ │ +00001280: 332e 736f d900 2f75 7372 2f6c 6962 2f67 3.so../usr/lib/g │ │ │ +00001290: 6863 2f6c 6962 2f2e 2e2f 6c69 622f 6933 hc/lib/../lib/i3 │ │ │ +000012a0: 3836 2d6c 696e 7578 2d67 6863 2d39 2e31 86-linux-ghc-9.1 │ │ │ +000012b0: 302e 332f 6c69 6248 5365 7863 6570 7469 0.3/libHSexcepti │ │ │ +000012c0: 6f6e 732d 302e 3130 2e39 2d69 6e70 6c61 ons-0.10.9-inpla │ │ │ +000012d0: 6365 2d67 6863 392e 3130 2e33 2e73 6fd7 ce-ghc9.10.3.so. │ │ │ +000012e0: 002f 7573 722f 6c69 622f 6768 632f 6c69 ./usr/lib/ghc/li │ │ │ +000012f0: 622f 2e2e 2f6c 6962 2f69 3338 362d 6c69 b/../lib/i386-li │ │ │ +00001300: 6e75 782d 6768 632d 392e 3130 2e33 2f6c nux-ghc-9.10.3/l │ │ │ +00001310: 6962 4853 6f73 2d73 7472 696e 672d 322e ibHSos-string-2. │ │ │ +00001320: 302e 372d 696e 706c 6163 652d 6768 6339 0.7-inplace-ghc9 │ │ │ +00001330: 2e31 302e 332e 736f d800 2f75 7372 2f6c .10.3.so../usr/l │ │ │ +00001340: 6962 2f67 6863 2f6c 6962 2f2e 2e2f 6c69 ib/ghc/lib/../li │ │ │ +00001350: 622f 6933 3836 2d6c 696e 7578 2d67 6863 b/i386-linux-ghc │ │ │ +00001360: 2d39 2e31 302e 332f 6c69 6248 5366 696c -9.10.3/libHSfil │ │ │ +00001370: 6570 6174 682d 312e 352e 342e 302d 696e epath-1.5.4.0-in │ │ │ +00001380: 706c 6163 652d 6768 6339 2e31 302e 332e place-ghc9.10.3. │ │ │ +00001390: 736f d300 2f75 7372 2f6c 6962 2f67 6863 so../usr/lib/ghc │ │ │ +000013a0: 2f6c 6962 2f2e 2e2f 6c69 622f 6933 3836 /lib/../lib/i386 │ │ │ +000013b0: 2d6c 696e 7578 2d67 6863 2d39 2e31 302e -linux-ghc-9.10. │ │ │ +000013c0: 332f 6c69 6248 5374 696d 652d 312e 3132 3/libHStime-1.12 │ │ │ +000013d0: 2e32 2d69 6e70 6c61 6365 2d67 6863 392e .2-inplace-ghc9. │ │ │ +000013e0: 3130 2e33 2e73 6fd4 002f 7573 722f 6c69 10.3.so../usr/li │ │ │ +000013f0: 622f 6768 632f 6c69 622f 2e2e 2f6c 6962 b/ghc/lib/../lib │ │ │ +00001400: 2f69 3338 362d 6c69 6e75 782d 6768 632d /i386-linux-ghc- │ │ │ +00001410: 392e 3130 2e33 2f6c 6962 4853 756e 6978 9.10.3/libHSunix │ │ │ +00001420: 2d32 2e38 2e37 2e30 2d69 6e70 6c61 6365 -2.8.7.0-inplace │ │ │ +00001430: 2d67 6863 392e 3130 2e33 2e73 6fd9 002f -ghc9.10.3.so../ │ │ │ +00001440: 7573 722f 6c69 622f 6768 632f 6c69 622f usr/lib/ghc/lib/ │ │ │ +00001450: 2e2e 2f6c 6962 2f69 3338 362d 6c69 6e75 ../lib/i386-linu │ │ │ +00001460: 782d 6768 632d 392e 3130 2e33 2f6c 6962 x-ghc-9.10.3/lib │ │ │ +00001470: 4853 6469 7265 6374 6f72 792d 312e 332e HSdirectory-1.3. │ │ │ +00001480: 382e 352d 696e 706c 6163 652d 6768 6339 8.5-inplace-ghc9 │ │ │ +00001490: 2e31 302e 332e 736f d800 2f75 7372 2f6c .10.3.so../usr/l │ │ │ +000014a0: 6962 2f67 6863 2f6c 6962 2f2e 2e2f 6c69 ib/ghc/lib/../li │ │ │ +000014b0: 622f 6933 3836 2d6c 696e 7578 2d67 6863 b/i386-linux-ghc │ │ │ +000014c0: 2d39 2e31 302e 332f 6c69 6248 5370 726f -9.10.3/libHSpro │ │ │ +000014d0: 6365 7373 2d31 2e36 2e32 362e 312d 696e cess-1.6.26.1-in │ │ │ +000014e0: 706c 6163 652d 6768 6339 2e31 302e 332e place-ghc9.10.3. │ │ │ +000014f0: 736f fb00 2f75 7372 2f6c 6962 2f68 6173 so../usr/lib/has │ │ │ +00001500: 6b65 6c6c 2d70 6163 6b61 6765 732f 6768 kell-packages/gh │ │ │ +00001510: 632f 6c69 622f 6933 3836 2d6c 696e 7578 c/lib/i386-linux │ │ │ +00001520: 2d67 6863 2d39 2e31 302e 332d 696e 706c -ghc-9.10.3-inpl │ │ │ +00001530: 6163 652f 6c69 6248 5362 6173 652d 636f ace/libHSbase-co │ │ │ +00001540: 6d70 6174 2d30 2e31 342e 312d 4938 4e56 mpat-0.14.1-I8NV │ │ │ +00001550: 7878 6964 6b41 4142 536a 624d 6155 364c xxidkAABSjbMaU6L │ │ │ +00001560: 5776 2d67 6863 392e 3130 2e33 2e73 6ff5 Wv-ghc9.10.3.so. │ │ │ +00001570: 002f 7573 722f 6c69 622f 6861 736b 656c ./usr/lib/haskel │ │ │ +00001580: 6c2d 7061 636b 6167 6573 2f67 6863 2f6c l-packages/ghc/l │ │ │ +00001590: 6962 2f69 3338 362d 6c69 6e75 782d 6768 ib/i386-linux-gh │ │ │ +000015a0: 632d 392e 3130 2e33 2d69 6e70 6c61 6365 c-9.10.3-inplace │ │ │ +000015b0: 2f6c 6962 4853 6769 7472 6576 2d31 2e33 /libHSgitrev-1.3 │ │ │ +000015c0: 2e31 2d38 7058 5266 574a 3852 3658 4363 .1-8pXRfWJ8R6XCc │ │ │ +000015d0: 7454 6135 7173 4764 492d 6768 6339 2e31 tTa5qsGdI-ghc9.1 │ │ │ +000015e0: 302e 332e 736f 0a63 6f6d 6d69 7449 6e66 0.3.so.commitInf │ │ │ +000015f0: 6f15 7665 7273 696f 6e57 6974 6843 6f6d o.versionWithCom │ │ │ +00001600: 6d69 7449 6e66 6f09 2474 724d 6f64 756c mitInfo.$trModul │ │ │ +00001610: 6509 4748 432e 5479 7065 7306 4d6f 6475 e.GHC.Types.Modu │ │ │ +00001620: 6c65 0a24 7472 4d6f 6475 6c65 330a 2474 le.$trModule3.$t │ │ │ +00001630: 724d 6f64 756c 6531 0754 724e 616d 6553 rModule1.TrNameS │ │ │ +00001640: 0a24 7472 4d6f 6475 6c65 320a 2474 724d .$trModule2.$trM │ │ │ +00001650: 6f64 756c 6534 00 odule4. │ │ ├── ./usr/lib/haskell-packages/ghc/lib/i386-linux-ghc-9.10.3-inplace/libHSAgda-2.8.0-KuAEKDRG5wsFRdA5w8sGLC-ghc9.10.3.so │ │ │┄ File has been modified after NT_GNU_BUILD_ID has been applied. │ │ │ ├── readelf --wide --dynamic {} │ │ │ │ @@ -1,111 +1,111 @@ │ │ │ │ │ │ │ │ Dynamic section at offset 0x48c9fc8 contains 139 entries: │ │ │ │ Tag Type Name/Value │ │ │ │ 0x00000001 (NEEDED) Shared library: [libm.so.6] │ │ │ │ - 0x00000001 (NEEDED) Shared library: [libHSghc-compact-0.1.0.0-inplace-ghc9.10.3.so] │ │ │ │ - 0x00000001 (NEEDED) Shared library: [libHShaskeline-0.8.2.1-inplace-ghc9.10.3.so] │ │ │ │ - 0x00000001 (NEEDED) Shared library: [libHSterminfo-0.4.1.7-inplace-ghc9.10.3.so] │ │ │ │ - 0x00000001 (NEEDED) Shared library: [libHSansi-terminal-1.1.5-FszpEGPXnXp6vXauWXuziW-ghc9.10.3.so] │ │ │ │ - 0x00000001 (NEEDED) Shared library: [libHSansi-terminal-types-1.1.3-BGsCVT2If83CMD8Jun5wzv-ghc9.10.3.so] │ │ │ │ - 0x00000001 (NEEDED) Shared library: [libHScolour-2.3.6-D7eyWYOF7Vd5VKMTqpDCfA-ghc9.10.3.so] │ │ │ │ - 0x00000001 (NEEDED) Shared library: [libHSasync-2.2.5-GJdUPvZimPm5ggRAeaaEHV-ghc9.10.3.so] │ │ │ │ - 0x00000001 (NEEDED) Shared library: [libHSblaze-html-0.9.2.0-IotiM9NkMwl3EfUgLlKAmW-ghc9.10.3.so] │ │ │ │ - 0x00000001 (NEEDED) Shared library: [libHSblaze-markup-0.8.3.0-Cu8MeFoSb4Z5XOd0xfhJZo-ghc9.10.3.so] │ │ │ │ - 0x00000001 (NEEDED) Shared library: [libHSblaze-builder-0.4.4.1-IETbtXv9ANeIFxIssaYex9-ghc9.10.3.so] │ │ │ │ - 0x00000001 (NEEDED) Shared library: [libHSboxes-0.1.5-9wTq4LcYqKuCEtOA8DtYn5-ghc9.10.3.so] │ │ │ │ - 0x00000001 (NEEDED) Shared library: [libHSsplit-0.2.5-2Dg5cD3TiukSkoV1txcUP-ghc9.10.3.so] │ │ │ │ - 0x00000001 (NEEDED) Shared library: [libHScase-insensitive-1.2.1.0-dzG1OCwXUu7fJJ1GkjlLh-ghc9.10.3.so] │ │ │ │ - 0x00000001 (NEEDED) Shared library: [libHSdata-hash-0.2.0.1-3s8ELHsOoK49FTg0xgf7jq-ghc9.10.3.so] │ │ │ │ - 0x00000001 (NEEDED) Shared library: [libHSedit-distance-0.2.2.1-IN230mfChWn4tWlZRcnE81-ghc9.10.3.so] │ │ │ │ + 0x00000001 (NEEDED) Shared library: [libHSpeano-0.1.0.3-CS0xCLPgawxCJsQlr5GDUr-ghc9.10.3.so] │ │ │ │ 0x00000001 (NEEDED) Shared library: [libHSenummapset-0.7.3.0-CUZChcvzNdRDYK73GZs147-ghc9.10.3.so] │ │ │ │ - 0x00000001 (NEEDED) Shared library: [libHSequivalence-0.4.1.1-CqtVrc0HPEt7b1gcGaVMfv-ghc9.10.3.so] │ │ │ │ - 0x00000001 (NEEDED) Shared library: [libHSSTMonadTrans-0.4.8.1-ayZ06sX4hEH3moyoKoH1k-ghc9.10.3.so] │ │ │ │ + 0x00000001 (NEEDED) Shared library: [libHSprocess-extras-0.7.4-6AEhRe1QkUQ91xAD6O7wwj-ghc9.10.3.so] │ │ │ │ + 0x00000001 (NEEDED) Shared library: [libHSgeneric-deriving-1.14.6-5xXiLyOZhJ03nhgzvp90P7-ghc9.10.3.so] │ │ │ │ + 0x00000001 (NEEDED) Shared library: [libHSdata-default-0.8.0.1-91Wz0ppme1c1GDgyfnAO0B-ghc9.10.3.so] │ │ │ │ + 0x00000001 (NEEDED) Shared library: [libHSListLike-4.7.8.4-BGRyQi2hgiDF9CurYnP5Hb-ghc9.10.3.so] │ │ │ │ + 0x00000001 (NEEDED) Shared library: [libHSfmlist-0.9.4-cHlY4DkKOFLnoNudpiADP-ghc9.10.3.so] │ │ │ │ 0x00000001 (NEEDED) Shared library: [libHSfilelock-0.1.1.8-3WP2pgJz7ae7aIO8bKCjWh-ghc9.10.3.so] │ │ │ │ - 0x00000001 (NEEDED) Shared library: [libHSfilemanip-0.3.6.3-8t4KqEKzfntI0rSXEvsky1-ghc9.10.3.so] │ │ │ │ - 0x00000001 (NEEDED) Shared library: [libHSunix-compat-0.7.4.1-rOF46fmK2fLC9XjOrW0ik-ghc9.10.3.so] │ │ │ │ - 0x00000001 (NEEDED) Shared library: [libHSgeneric-data-1.1.0.2-Ju9FoOusQZ4EwdJpTo7d3J-ghc9.10.3.so] │ │ │ │ - 0x00000001 (NEEDED) Shared library: [libHSshow-combinators-0.2.0.0-6bje2TtlZquFYKSMBCpd8Z-ghc9.10.3.so] │ │ │ │ - 0x00000001 (NEEDED) Shared library: [libHSap-normalize-0.1.0.1-BawjRMdpwYX10oBkPsjSfU-ghc9.10.3.so] │ │ │ │ - 0x00000001 (NEEDED) Shared library: [libHSgitrev-1.3.1-8pXRfWJ8R6XCctTa5qsGdI-ghc9.10.3.so] │ │ │ │ - 0x00000001 (NEEDED) Shared library: [libHSbase-compat-0.14.1-I8NVxxidkAABSjbMaU6LWv-ghc9.10.3.so] │ │ │ │ - 0x00000001 (NEEDED) Shared library: [libHSmonad-control-1.0.3.1-8SlV1hwVqyt4BTWAvWAys3-ghc9.10.3.so] │ │ │ │ - 0x00000001 (NEEDED) Shared library: [libHStransformers-base-0.4.6-D2C6ntY92a2LpGEpHgWgaB-ghc9.10.3.so] │ │ │ │ 0x00000001 (NEEDED) Shared library: [libHSnonempty-containers-0.3.5.0-K9MHDiqK4t342bIUZevfVT-ghc9.10.3.so] │ │ │ │ 0x00000001 (NEEDED) Shared library: [libHSnonempty-vector-0.2.4-GyKw1hoBxZo7RxqG22nLDP-ghc9.10.3.so] │ │ │ │ 0x00000001 (NEEDED) Shared library: [libHSinvariant-0.6.4-BpqqWaH3Tf1JvT01QPePL9-ghc9.10.3.so] │ │ │ │ 0x00000001 (NEEDED) Shared library: [libHSprofunctors-5.6.3-LiJYd6qbkt88aIvAmbRWah-ghc9.10.3.so] │ │ │ │ + 0x00000001 (NEEDED) Shared library: [libHShaskeline-0.8.2.1-inplace-ghc9.10.3.so] │ │ │ │ + 0x00000001 (NEEDED) Shared library: [libHSterminfo-0.4.1.7-inplace-ghc9.10.3.so] │ │ │ │ + 0x00000001 (NEEDED) Shared library: [libHSmurmur-hash-0.1.0.11-HMdcZDIy9aJnmUTqQo63J-ghc9.10.3.so] │ │ │ │ + 0x00000001 (NEEDED) Shared library: [libHSpqueue-1.5.0.0-ItOVDlNOAOtB0BGQUJ96qZ-ghc9.10.3.so] │ │ │ │ + 0x00000001 (NEEDED) Shared library: [libHSzlib-0.7.1.1-9slKnSVaKOMKfNAnZzR5ey-ghc9.10.3.so] │ │ │ │ + 0x00000001 (NEEDED) Shared library: [libHSansi-terminal-1.1.5-FszpEGPXnXp6vXauWXuziW-ghc9.10.3.so] │ │ │ │ + 0x00000001 (NEEDED) Shared library: [libHSansi-terminal-types-1.1.3-BGsCVT2If83CMD8Jun5wzv-ghc9.10.3.so] │ │ │ │ + 0x00000001 (NEEDED) Shared library: [libHScolour-2.3.6-D7eyWYOF7Vd5VKMTqpDCfA-ghc9.10.3.so] │ │ │ │ + 0x00000001 (NEEDED) Shared library: [libHSequivalence-0.4.1.1-CqtVrc0HPEt7b1gcGaVMfv-ghc9.10.3.so] │ │ │ │ + 0x00000001 (NEEDED) Shared library: [libHSghc-compact-0.1.0.0-inplace-ghc9.10.3.so] │ │ │ │ + 0x00000001 (NEEDED) Shared library: [libHSedit-distance-0.2.2.1-IN230mfChWn4tWlZRcnE81-ghc9.10.3.so] │ │ │ │ + 0x00000001 (NEEDED) Shared library: [libHScase-insensitive-1.2.1.0-dzG1OCwXUu7fJJ1GkjlLh-ghc9.10.3.so] │ │ │ │ 0x00000001 (NEEDED) Shared library: [libHSaeson-2.2.3.0-JBApLMPZjKtK01L5hKkKs4-ghc9.10.3.so] │ │ │ │ 0x00000001 (NEEDED) Shared library: [libHSwitherable-0.5-68nlH4mQd2BDA2YSDancRS-ghc9.10.3.so] │ │ │ │ 0x00000001 (NEEDED) Shared library: [libHSuuid-types-1.0.6-DVeECTFeLfw3fndOdkQK1q-ghc9.10.3.so] │ │ │ │ 0x00000001 (NEEDED) Shared library: [libHStext-short-0.1.6-FTkQnyfOtFs5yKCNNaAF4b-ghc9.10.3.so] │ │ │ │ 0x00000001 (NEEDED) Shared library: [libHStext-iso8601-0.1.1-EumV3BkQ9ywASwZpHEaR5c-ghc9.10.3.so] │ │ │ │ 0x00000001 (NEEDED) Shared library: [libHStime-compat-1.9.8-GYYpbKeW3HcEA8oTpFyWRN-ghc9.10.3.so] │ │ │ │ - 0x00000001 (NEEDED) Shared library: [libHSstrict-0.5.1-6zHJYgY6KC0J8ARV1Lf80b-ghc9.10.3.so] │ │ │ │ 0x00000001 (NEEDED) Shared library: [libHSsemialign-1.3.1-Ihg4ElyHfEALb4CMwiwAxe-ghc9.10.3.so] │ │ │ │ - 0x00000001 (NEEDED) Shared library: [libHSthese-1.2.1-JaISJ4F9TDtHwYDjbk1Bng-ghc9.10.3.so] │ │ │ │ 0x00000001 (NEEDED) Shared library: [libHSsemigroupoids-6.0.1-D74Si8SbXJZ9BW2TTeTjZh-ghc9.10.3.so] │ │ │ │ 0x00000001 (NEEDED) Shared library: [libHScontravariant-1.5.5-3dLMRF96EsxGkPoUnnG9px-ghc9.10.3.so] │ │ │ │ 0x00000001 (NEEDED) Shared library: [libHSStateVar-1.2.2-Ix7fK74pSlg9B6y4NN87Z9-ghc9.10.3.so] │ │ │ │ 0x00000001 (NEEDED) Shared library: [libHSbifunctors-5.6.2-4kXyA9Yl2Ys9aGae1sUdxu-ghc9.10.3.so] │ │ │ │ + 0x00000001 (NEEDED) Shared library: [libHSth-abstraction-0.7.1.0-4pMh4c52Vfc8WxXdjHtZwz-ghc9.10.3.so] │ │ │ │ 0x00000001 (NEEDED) Shared library: [libHScomonad-5.0.9-D4IcmAYsXYEFDmrxTI6Zqe-ghc9.10.3.so] │ │ │ │ - 0x00000001 (NEEDED) Shared library: [libHStransformers-compat-0.7.2-I3ZIeOFdEuKT9clKlYPnF-ghc9.10.3.so] │ │ │ │ 0x00000001 (NEEDED) Shared library: [libHSdistributive-0.6.2.1-AFc4tDvV7a6AE6bSxGrEfm-ghc9.10.3.so] │ │ │ │ - 0x00000001 (NEEDED) Shared library: [libHSassoc-1.1.1-30BCdn01wuCLUYQedFJHQR-ghc9.10.3.so] │ │ │ │ - 0x00000001 (NEEDED) Shared library: [libHSbase-orphans-0.9.3-7paFWdw3P5DKTtmcogQtK7-ghc9.10.3.so] │ │ │ │ 0x00000001 (NEEDED) Shared library: [libHSindexed-traversable-instances-0.1.2-GyDVEOGgPiMHRSSrln1MyH-ghc9.10.3.so] │ │ │ │ - 0x00000001 (NEEDED) Shared library: [libHSunordered-containers-0.2.20.1-K9YgI9QXrvEKHYHoV7Rpdt-ghc9.10.3.so] │ │ │ │ 0x00000001 (NEEDED) Shared library: [libHStagged-0.8.9-EraSdp0lx7uJnqESyrqLTP-ghc9.10.3.so] │ │ │ │ 0x00000001 (NEEDED) Shared library: [libHSscientific-0.3.8.0-JR5j7T8j7ZxEw542UowJsV-ghc9.10.3.so] │ │ │ │ 0x00000001 (NEEDED) Shared library: [libHSinteger-logarithms-1.0.4-EGUePRItLn25BOip7X1eqQ-ghc9.10.3.so] │ │ │ │ 0x00000001 (NEEDED) Shared library: [libHSinteger-conversion-0.1.1-1d0qPEeJLYF9qYcZwwPBMd-ghc9.10.3.so] │ │ │ │ + 0x00000001 (NEEDED) Shared library: [libHSindexed-traversable-0.1.4-HhGzT2d63m8EdLxDIeBOXO-ghc9.10.3.so] │ │ │ │ 0x00000001 (NEEDED) Shared library: [libHSdata-fix-0.3.4-5o9sOqSgVx07beyljXYoyb-ghc9.10.3.so] │ │ │ │ 0x00000001 (NEEDED) Shared library: [libHScharacter-ps-0.1-IiWcZ0SqaFP8QcsIi2e2nh-ghc9.10.3.so] │ │ │ │ 0x00000001 (NEEDED) Shared library: [libHSQuickCheck-2.15.0.1-77FopWYsxo3uQfuulxjpg-ghc9.10.3.so] │ │ │ │ 0x00000001 (NEEDED) Shared library: [libHSrandom-1.2.1.3-CVJ8L3qWNg1JRwG1WpFqPu-ghc9.10.3.so] │ │ │ │ 0x00000001 (NEEDED) Shared library: [libHSsplitmix-0.1.3.1-BGsvUIXPkVcIniKN76yOBb-ghc9.10.3.so] │ │ │ │ 0x00000001 (NEEDED) Shared library: [libHSOneTuple-0.4.2-DNJOSZVveD52ClVoqjNi0w-ghc9.10.3.so] │ │ │ │ + 0x00000001 (NEEDED) Shared library: [libHSvector-hashtables-0.1.2.1-EupUUDxFvgY54fnyWoEHPp-ghc9.10.3.so] │ │ │ │ + 0x00000001 (NEEDED) Shared library: [libHSvector-0.13.2.0-1AJIkmdgm1wGnbCuNu273p-ghc9.10.3.so] │ │ │ │ + 0x00000001 (NEEDED) Shared library: [libHSvector-stream-0.1.0.1-L5IRJehMu456v60fOpKQRk-ghc9.10.3.so] │ │ │ │ + 0x00000001 (NEEDED) Shared library: [libHSprimitive-0.9.1.0-CdaaD38w4qB6rrosjqTSfA-ghc9.10.3.so] │ │ │ │ + 0x00000001 (NEEDED) Shared library: [libHSblaze-html-0.9.2.0-IotiM9NkMwl3EfUgLlKAmW-ghc9.10.3.so] │ │ │ │ + 0x00000001 (NEEDED) Shared library: [libHSblaze-markup-0.8.3.0-Cu8MeFoSb4Z5XOd0xfhJZo-ghc9.10.3.so] │ │ │ │ + 0x00000001 (NEEDED) Shared library: [libHSblaze-builder-0.4.4.1-IETbtXv9ANeIFxIssaYex9-ghc9.10.3.so] │ │ │ │ + 0x00000001 (NEEDED) Shared library: [libHSfilemanip-0.3.6.3-8t4KqEKzfntI0rSXEvsky1-ghc9.10.3.so] │ │ │ │ + 0x00000001 (NEEDED) Shared library: [libHSunix-compat-0.7.4.1-rOF46fmK2fLC9XjOrW0ik-ghc9.10.3.so] │ │ │ │ + 0x00000001 (NEEDED) Shared library: [libHSuri-encode-1.5.0.7-Ibs7lEBoOU53PwtJv2BpEM-ghc9.10.3.so] │ │ │ │ + 0x00000001 (NEEDED) Shared library: [libHSutf8-string-1.0.2-Hcf4GfMGHw6J5KI5BUWa7M-ghc9.10.3.so] │ │ │ │ + 0x00000001 (NEEDED) Shared library: [libHSnetwork-uri-2.6.4.2-BXV0MtFcaF6BxSkElkpvb1-ghc9.10.3.so] │ │ │ │ + 0x00000001 (NEEDED) Shared library: [libHSth-compat-0.1.6-E7R8Lkrp9sgCuFaquOGtCQ-ghc9.10.3.so] │ │ │ │ + 0x00000001 (NEEDED) Shared library: [libHSgeneric-data-1.1.0.2-Ju9FoOusQZ4EwdJpTo7d3J-ghc9.10.3.so] │ │ │ │ + 0x00000001 (NEEDED) Shared library: [libHSshow-combinators-0.2.0.0-6bje2TtlZquFYKSMBCpd8Z-ghc9.10.3.so] │ │ │ │ + 0x00000001 (NEEDED) Shared library: [libHSap-normalize-0.1.0.1-BawjRMdpwYX10oBkPsjSfU-ghc9.10.3.so] │ │ │ │ + 0x00000001 (NEEDED) Shared library: [libHSSTMonadTrans-0.4.8.1-ayZ06sX4hEH3moyoKoH1k-ghc9.10.3.so] │ │ │ │ + 0x00000001 (NEEDED) Shared library: [libHSunordered-containers-0.2.20.1-K9YgI9QXrvEKHYHoV7Rpdt-ghc9.10.3.so] │ │ │ │ + 0x00000001 (NEEDED) Shared library: [libHSdlist-1.0-DC28CIkaVKlAQr1GAQABod-ghc9.10.3.so] │ │ │ │ 0x00000001 (NEEDED) Shared library: [libHSparallel-3.2.2.0-EgO7vbxMOwf76GDIGIfOam-ghc9.10.3.so] │ │ │ │ - 0x00000001 (NEEDED) Shared library: [libHSpeano-0.1.0.3-CS0xCLPgawxCJsQlr5GDUr-ghc9.10.3.so] │ │ │ │ - 0x00000001 (NEEDED) Shared library: [libHSpqueue-1.5.0.0-ItOVDlNOAOtB0BGQUJ96qZ-ghc9.10.3.so] │ │ │ │ - 0x00000001 (NEEDED) Shared library: [libHSindexed-traversable-0.1.4-HhGzT2d63m8EdLxDIeBOXO-ghc9.10.3.so] │ │ │ │ - 0x00000001 (NEEDED) Shared library: [libHSprocess-extras-0.7.4-6AEhRe1QkUQ91xAD6O7wwj-ghc9.10.3.so] │ │ │ │ + 0x00000001 (NEEDED) Shared library: [libHSstrict-0.5.1-6zHJYgY6KC0J8ARV1Lf80b-ghc9.10.3.so] │ │ │ │ + 0x00000001 (NEEDED) Shared library: [libHSthese-1.2.1-JaISJ4F9TDtHwYDjbk1Bng-ghc9.10.3.so] │ │ │ │ + 0x00000001 (NEEDED) Shared library: [libHSassoc-1.1.1-30BCdn01wuCLUYQedFJHQR-ghc9.10.3.so] │ │ │ │ + 0x00000001 (NEEDED) Shared library: [libHSmonad-control-1.0.3.1-8SlV1hwVqyt4BTWAvWAys3-ghc9.10.3.so] │ │ │ │ + 0x00000001 (NEEDED) Shared library: [libHStransformers-base-0.4.6-D2C6ntY92a2LpGEpHgWgaB-ghc9.10.3.so] │ │ │ │ + 0x00000001 (NEEDED) Shared library: [libHStransformers-compat-0.7.2-I3ZIeOFdEuKT9clKlYPnF-ghc9.10.3.so] │ │ │ │ + 0x00000001 (NEEDED) Shared library: [libHSbase-orphans-0.9.3-7paFWdw3P5DKTtmcogQtK7-ghc9.10.3.so] │ │ │ │ + 0x00000001 (NEEDED) Shared library: [libHSdata-hash-0.2.0.1-3s8ELHsOoK49FTg0xgf7jq-ghc9.10.3.so] │ │ │ │ + 0x00000001 (NEEDED) Shared library: [libHSgitrev-1.3.1-8pXRfWJ8R6XCctTa5qsGdI-ghc9.10.3.so] │ │ │ │ 0x00000001 (NEEDED) Shared library: [libHSprocess-1.6.26.1-inplace-ghc9.10.3.so] │ │ │ │ 0x00000001 (NEEDED) Shared library: [libHSdirectory-1.3.8.5-inplace-ghc9.10.3.so] │ │ │ │ + 0x00000001 (NEEDED) Shared library: [libHSbase-compat-0.14.1-I8NVxxidkAABSjbMaU6LWv-ghc9.10.3.so] │ │ │ │ 0x00000001 (NEEDED) Shared library: [libHSunix-2.8.7.0-inplace-ghc9.10.3.so] │ │ │ │ + 0x00000001 (NEEDED) Shared library: [libHSboxes-0.1.5-9wTq4LcYqKuCEtOA8DtYn5-ghc9.10.3.so] │ │ │ │ + 0x00000001 (NEEDED) Shared library: [libHSsplit-0.2.5-2Dg5cD3TiukSkoV1txcUP-ghc9.10.3.so] │ │ │ │ + 0x00000001 (NEEDED) Shared library: [libHSasync-2.2.5-GJdUPvZimPm5ggRAeaaEHV-ghc9.10.3.so] │ │ │ │ + 0x00000001 (NEEDED) Shared library: [libHShashable-1.5.0.0-2kNV5CKXacpGPv0OkcNC1R-ghc9.10.3.so] │ │ │ │ + 0x00000001 (NEEDED) Shared library: [libHSfilepath-1.5.4.0-inplace-ghc9.10.3.so] │ │ │ │ + 0x00000001 (NEEDED) Shared library: [libHSos-string-2.0.7-inplace-ghc9.10.3.so] │ │ │ │ + 0x00000001 (NEEDED) Shared library: [libHSexceptions-0.10.9-inplace-ghc9.10.3.so] │ │ │ │ + 0x00000001 (NEEDED) Shared library: [libHSstm-2.5.3.1-inplace-ghc9.10.3.so] │ │ │ │ 0x00000001 (NEEDED) Shared library: [libHStime-1.12.2-inplace-ghc9.10.3.so] │ │ │ │ - 0x00000001 (NEEDED) Shared library: [libHSgeneric-deriving-1.14.6-5xXiLyOZhJ03nhgzvp90P7-ghc9.10.3.so] │ │ │ │ - 0x00000001 (NEEDED) Shared library: [libHSth-abstraction-0.7.1.0-4pMh4c52Vfc8WxXdjHtZwz-ghc9.10.3.so] │ │ │ │ - 0x00000001 (NEEDED) Shared library: [libHSdata-default-0.8.0.1-91Wz0ppme1c1GDgyfnAO0B-ghc9.10.3.so] │ │ │ │ - 0x00000001 (NEEDED) Shared library: [libHSListLike-4.7.8.4-BGRyQi2hgiDF9CurYnP5Hb-ghc9.10.3.so] │ │ │ │ - 0x00000001 (NEEDED) Shared library: [libHSfmlist-0.9.4-cHlY4DkKOFLnoNudpiADP-ghc9.10.3.so] │ │ │ │ - 0x00000001 (NEEDED) Shared library: [libHSdlist-1.0-DC28CIkaVKlAQr1GAQABod-ghc9.10.3.so] │ │ │ │ 0x00000001 (NEEDED) Shared library: [libHSregex-tdfa-1.3.2.5-2CPeyTME1oRilQvsdoww2-ghc9.10.3.so] │ │ │ │ 0x00000001 (NEEDED) Shared library: [libHSregex-base-0.94.0.3-9QehDZNLV9iBch8zxFDhVI-ghc9.10.3.so] │ │ │ │ - 0x00000001 (NEEDED) Shared library: [libHSuri-encode-1.5.0.7-Ibs7lEBoOU53PwtJv2BpEM-ghc9.10.3.so] │ │ │ │ - 0x00000001 (NEEDED) Shared library: [libHSutf8-string-1.0.2-Hcf4GfMGHw6J5KI5BUWa7M-ghc9.10.3.so] │ │ │ │ - 0x00000001 (NEEDED) Shared library: [libHSnetwork-uri-2.6.4.2-BXV0MtFcaF6BxSkElkpvb1-ghc9.10.3.so] │ │ │ │ - 0x00000001 (NEEDED) Shared library: [libHSth-compat-0.1.6-E7R8Lkrp9sgCuFaquOGtCQ-ghc9.10.3.so] │ │ │ │ 0x00000001 (NEEDED) Shared library: [libHSparsec-3.1.18.0-inplace-ghc9.10.3.so] │ │ │ │ - 0x00000001 (NEEDED) Shared library: [libHSvector-hashtables-0.1.2.1-EupUUDxFvgY54fnyWoEHPp-ghc9.10.3.so] │ │ │ │ - 0x00000001 (NEEDED) Shared library: [libHSvector-0.13.2.0-1AJIkmdgm1wGnbCuNu273p-ghc9.10.3.so] │ │ │ │ - 0x00000001 (NEEDED) Shared library: [libHSvector-stream-0.1.0.1-L5IRJehMu456v60fOpKQRk-ghc9.10.3.so] │ │ │ │ - 0x00000001 (NEEDED) Shared library: [libHSprimitive-0.9.1.0-CdaaD38w4qB6rrosjqTSfA-ghc9.10.3.so] │ │ │ │ - 0x00000001 (NEEDED) Shared library: [libHShashable-1.5.0.0-2kNV5CKXacpGPv0OkcNC1R-ghc9.10.3.so] │ │ │ │ 0x00000001 (NEEDED) Shared library: [libHStext-2.1.3-inplace-ghc9.10.3.so] │ │ │ │ 0x00000001 (NEEDED) Shared library: [libHSbinary-0.8.9.3-inplace-ghc9.10.3.so] │ │ │ │ - 0x00000001 (NEEDED) Shared library: [libHSfilepath-1.5.4.0-inplace-ghc9.10.3.so] │ │ │ │ - 0x00000001 (NEEDED) Shared library: [libHSos-string-2.0.7-inplace-ghc9.10.3.so] │ │ │ │ - 0x00000001 (NEEDED) Shared library: [libHSexceptions-0.10.9-inplace-ghc9.10.3.so] │ │ │ │ - 0x00000001 (NEEDED) Shared library: [libHSstm-2.5.3.1-inplace-ghc9.10.3.so] │ │ │ │ 0x00000001 (NEEDED) Shared library: [libHSmtl-2.3.1-inplace-ghc9.10.3.so] │ │ │ │ 0x00000001 (NEEDED) Shared library: [libHStransformers-0.6.1.1-inplace-ghc9.10.3.so] │ │ │ │ 0x00000001 (NEEDED) Shared library: [libHScontainers-0.7-inplace-ghc9.10.3.so] │ │ │ │ - 0x00000001 (NEEDED) Shared library: [libHSzlib-0.7.1.1-9slKnSVaKOMKfNAnZzR5ey-ghc9.10.3.so] │ │ │ │ - 0x00000001 (NEEDED) Shared library: [libHSmurmur-hash-0.1.0.11-HMdcZDIy9aJnmUTqQo63J-ghc9.10.3.so] │ │ │ │ 0x00000001 (NEEDED) Shared library: [libHSbytestring-0.12.2.0-inplace-ghc9.10.3.so] │ │ │ │ 0x00000001 (NEEDED) Shared library: [libHStemplate-haskell-2.22.0.0-inplace-ghc9.10.3.so] │ │ │ │ 0x00000001 (NEEDED) Shared library: [libHSpretty-1.1.3.6-inplace-ghc9.10.3.so] │ │ │ │ 0x00000001 (NEEDED) Shared library: [libHSghc-boot-th-9.10.3-inplace-ghc9.10.3.so] │ │ │ │ 0x00000001 (NEEDED) Shared library: [libHSdeepseq-1.5.0.0-inplace-ghc9.10.3.so] │ │ │ │ 0x00000001 (NEEDED) Shared library: [libHSarray-0.5.8.0-inplace-ghc9.10.3.so] │ │ │ │ 0x00000001 (NEEDED) Shared library: [libHSbase-4.20.2.0-inplace-ghc9.10.3.so] │ │ │ ├── readelf --wide --notes {} │ │ │ │ @@ -1,4 +1,4 @@ │ │ │ │ │ │ │ │ Displaying notes found in: .note.gnu.build-id │ │ │ │ Owner Data size Description │ │ │ │ - GNU 0x00000014 NT_GNU_BUILD_ID (unique build ID bitstring) Build ID: 235c48338288e84cb609f7635c027e2d82f75da0 │ │ │ │ + GNU 0x00000014 NT_GNU_BUILD_ID (unique build ID bitstring) Build ID: 6c12d0827ec6d8b668c98bea8d14f8ef194634b2 │ │ │ ├── strings --all --bytes=8 {} │ │ │ │┄ Ordering differences only │ │ │ │ @@ -217193,114 +217193,114 @@ │ │ │ │ Agdazm2zi8zi0zmKuAEKDRG5wsFRdA5w8sGLC_AgdaziUtilsziCallStackziPretty_zdfPrettyCallStackzuzdcprettyList_info │ │ │ │ Agdazm2zi8zi0zmKuAEKDRG5wsFRdA5w8sGLC_AgdaziUtilsziCallStackziPretty_zdfPrettyCallStackzuzdcprettyList_closure │ │ │ │ Agdazm2zi8zi0zmKuAEKDRG5wsFRdA5w8sGLC_AgdaziUtilsziCallStackziPretty_zdfPrettyCallStack_closure │ │ │ │ Agdazm2zi8zi0zmKuAEKDRG5wsFRdA5w8sGLC_AgdaziUtilsziCallStackziPretty_zdfPrettySrcLoczuzdcprettyList_info │ │ │ │ Agdazm2zi8zi0zmKuAEKDRG5wsFRdA5w8sGLC_AgdaziUtilsziCallStackziPretty_zdfPrettySrcLoczuzdcprettyList_closure │ │ │ │ Agdazm2zi8zi0zmKuAEKDRG5wsFRdA5w8sGLC_AgdaziUtilsziCallStackziPretty_zdfPrettySrcLoc_closure │ │ │ │ libm.so.6 │ │ │ │ -libHSghc-compact-0.1.0.0-inplace-ghc9.10.3.so │ │ │ │ -libHShaskeline-0.8.2.1-inplace-ghc9.10.3.so │ │ │ │ -libHSterminfo-0.4.1.7-inplace-ghc9.10.3.so │ │ │ │ -libHSansi-terminal-1.1.5-FszpEGPXnXp6vXauWXuziW-ghc9.10.3.so │ │ │ │ -libHSansi-terminal-types-1.1.3-BGsCVT2If83CMD8Jun5wzv-ghc9.10.3.so │ │ │ │ -libHScolour-2.3.6-D7eyWYOF7Vd5VKMTqpDCfA-ghc9.10.3.so │ │ │ │ -libHSasync-2.2.5-GJdUPvZimPm5ggRAeaaEHV-ghc9.10.3.so │ │ │ │ -libHSblaze-html-0.9.2.0-IotiM9NkMwl3EfUgLlKAmW-ghc9.10.3.so │ │ │ │ -libHSblaze-markup-0.8.3.0-Cu8MeFoSb4Z5XOd0xfhJZo-ghc9.10.3.so │ │ │ │ -libHSblaze-builder-0.4.4.1-IETbtXv9ANeIFxIssaYex9-ghc9.10.3.so │ │ │ │ -libHSboxes-0.1.5-9wTq4LcYqKuCEtOA8DtYn5-ghc9.10.3.so │ │ │ │ -libHSsplit-0.2.5-2Dg5cD3TiukSkoV1txcUP-ghc9.10.3.so │ │ │ │ -libHScase-insensitive-1.2.1.0-dzG1OCwXUu7fJJ1GkjlLh-ghc9.10.3.so │ │ │ │ -libHSdata-hash-0.2.0.1-3s8ELHsOoK49FTg0xgf7jq-ghc9.10.3.so │ │ │ │ -libHSedit-distance-0.2.2.1-IN230mfChWn4tWlZRcnE81-ghc9.10.3.so │ │ │ │ +libHSpeano-0.1.0.3-CS0xCLPgawxCJsQlr5GDUr-ghc9.10.3.so │ │ │ │ libHSenummapset-0.7.3.0-CUZChcvzNdRDYK73GZs147-ghc9.10.3.so │ │ │ │ -libHSequivalence-0.4.1.1-CqtVrc0HPEt7b1gcGaVMfv-ghc9.10.3.so │ │ │ │ -libHSSTMonadTrans-0.4.8.1-ayZ06sX4hEH3moyoKoH1k-ghc9.10.3.so │ │ │ │ +libHSprocess-extras-0.7.4-6AEhRe1QkUQ91xAD6O7wwj-ghc9.10.3.so │ │ │ │ +libHSgeneric-deriving-1.14.6-5xXiLyOZhJ03nhgzvp90P7-ghc9.10.3.so │ │ │ │ +libHSdata-default-0.8.0.1-91Wz0ppme1c1GDgyfnAO0B-ghc9.10.3.so │ │ │ │ +libHSListLike-4.7.8.4-BGRyQi2hgiDF9CurYnP5Hb-ghc9.10.3.so │ │ │ │ +libHSfmlist-0.9.4-cHlY4DkKOFLnoNudpiADP-ghc9.10.3.so │ │ │ │ libHSfilelock-0.1.1.8-3WP2pgJz7ae7aIO8bKCjWh-ghc9.10.3.so │ │ │ │ -libHSfilemanip-0.3.6.3-8t4KqEKzfntI0rSXEvsky1-ghc9.10.3.so │ │ │ │ -libHSunix-compat-0.7.4.1-rOF46fmK2fLC9XjOrW0ik-ghc9.10.3.so │ │ │ │ -libHSgeneric-data-1.1.0.2-Ju9FoOusQZ4EwdJpTo7d3J-ghc9.10.3.so │ │ │ │ -libHSshow-combinators-0.2.0.0-6bje2TtlZquFYKSMBCpd8Z-ghc9.10.3.so │ │ │ │ -libHSap-normalize-0.1.0.1-BawjRMdpwYX10oBkPsjSfU-ghc9.10.3.so │ │ │ │ -libHSgitrev-1.3.1-8pXRfWJ8R6XCctTa5qsGdI-ghc9.10.3.so │ │ │ │ -libHSbase-compat-0.14.1-I8NVxxidkAABSjbMaU6LWv-ghc9.10.3.so │ │ │ │ -libHSmonad-control-1.0.3.1-8SlV1hwVqyt4BTWAvWAys3-ghc9.10.3.so │ │ │ │ -libHStransformers-base-0.4.6-D2C6ntY92a2LpGEpHgWgaB-ghc9.10.3.so │ │ │ │ libHSnonempty-containers-0.3.5.0-K9MHDiqK4t342bIUZevfVT-ghc9.10.3.so │ │ │ │ libHSnonempty-vector-0.2.4-GyKw1hoBxZo7RxqG22nLDP-ghc9.10.3.so │ │ │ │ libHSinvariant-0.6.4-BpqqWaH3Tf1JvT01QPePL9-ghc9.10.3.so │ │ │ │ libHSprofunctors-5.6.3-LiJYd6qbkt88aIvAmbRWah-ghc9.10.3.so │ │ │ │ +libHShaskeline-0.8.2.1-inplace-ghc9.10.3.so │ │ │ │ +libHSterminfo-0.4.1.7-inplace-ghc9.10.3.so │ │ │ │ +libHSmurmur-hash-0.1.0.11-HMdcZDIy9aJnmUTqQo63J-ghc9.10.3.so │ │ │ │ +libHSpqueue-1.5.0.0-ItOVDlNOAOtB0BGQUJ96qZ-ghc9.10.3.so │ │ │ │ +libHSzlib-0.7.1.1-9slKnSVaKOMKfNAnZzR5ey-ghc9.10.3.so │ │ │ │ +libHSansi-terminal-1.1.5-FszpEGPXnXp6vXauWXuziW-ghc9.10.3.so │ │ │ │ +libHSansi-terminal-types-1.1.3-BGsCVT2If83CMD8Jun5wzv-ghc9.10.3.so │ │ │ │ +libHScolour-2.3.6-D7eyWYOF7Vd5VKMTqpDCfA-ghc9.10.3.so │ │ │ │ +libHSequivalence-0.4.1.1-CqtVrc0HPEt7b1gcGaVMfv-ghc9.10.3.so │ │ │ │ +libHSghc-compact-0.1.0.0-inplace-ghc9.10.3.so │ │ │ │ +libHSedit-distance-0.2.2.1-IN230mfChWn4tWlZRcnE81-ghc9.10.3.so │ │ │ │ +libHScase-insensitive-1.2.1.0-dzG1OCwXUu7fJJ1GkjlLh-ghc9.10.3.so │ │ │ │ libHSaeson-2.2.3.0-JBApLMPZjKtK01L5hKkKs4-ghc9.10.3.so │ │ │ │ libHSwitherable-0.5-68nlH4mQd2BDA2YSDancRS-ghc9.10.3.so │ │ │ │ libHSuuid-types-1.0.6-DVeECTFeLfw3fndOdkQK1q-ghc9.10.3.so │ │ │ │ libHStext-short-0.1.6-FTkQnyfOtFs5yKCNNaAF4b-ghc9.10.3.so │ │ │ │ libHStext-iso8601-0.1.1-EumV3BkQ9ywASwZpHEaR5c-ghc9.10.3.so │ │ │ │ libHStime-compat-1.9.8-GYYpbKeW3HcEA8oTpFyWRN-ghc9.10.3.so │ │ │ │ -libHSstrict-0.5.1-6zHJYgY6KC0J8ARV1Lf80b-ghc9.10.3.so │ │ │ │ libHSsemialign-1.3.1-Ihg4ElyHfEALb4CMwiwAxe-ghc9.10.3.so │ │ │ │ -libHSthese-1.2.1-JaISJ4F9TDtHwYDjbk1Bng-ghc9.10.3.so │ │ │ │ libHSsemigroupoids-6.0.1-D74Si8SbXJZ9BW2TTeTjZh-ghc9.10.3.so │ │ │ │ libHScontravariant-1.5.5-3dLMRF96EsxGkPoUnnG9px-ghc9.10.3.so │ │ │ │ libHSStateVar-1.2.2-Ix7fK74pSlg9B6y4NN87Z9-ghc9.10.3.so │ │ │ │ libHSbifunctors-5.6.2-4kXyA9Yl2Ys9aGae1sUdxu-ghc9.10.3.so │ │ │ │ +libHSth-abstraction-0.7.1.0-4pMh4c52Vfc8WxXdjHtZwz-ghc9.10.3.so │ │ │ │ libHScomonad-5.0.9-D4IcmAYsXYEFDmrxTI6Zqe-ghc9.10.3.so │ │ │ │ -libHStransformers-compat-0.7.2-I3ZIeOFdEuKT9clKlYPnF-ghc9.10.3.so │ │ │ │ libHSdistributive-0.6.2.1-AFc4tDvV7a6AE6bSxGrEfm-ghc9.10.3.so │ │ │ │ -libHSassoc-1.1.1-30BCdn01wuCLUYQedFJHQR-ghc9.10.3.so │ │ │ │ -libHSbase-orphans-0.9.3-7paFWdw3P5DKTtmcogQtK7-ghc9.10.3.so │ │ │ │ libHSindexed-traversable-instances-0.1.2-GyDVEOGgPiMHRSSrln1MyH-ghc9.10.3.so │ │ │ │ -libHSunordered-containers-0.2.20.1-K9YgI9QXrvEKHYHoV7Rpdt-ghc9.10.3.so │ │ │ │ libHStagged-0.8.9-EraSdp0lx7uJnqESyrqLTP-ghc9.10.3.so │ │ │ │ libHSscientific-0.3.8.0-JR5j7T8j7ZxEw542UowJsV-ghc9.10.3.so │ │ │ │ libHSinteger-logarithms-1.0.4-EGUePRItLn25BOip7X1eqQ-ghc9.10.3.so │ │ │ │ libHSinteger-conversion-0.1.1-1d0qPEeJLYF9qYcZwwPBMd-ghc9.10.3.so │ │ │ │ +libHSindexed-traversable-0.1.4-HhGzT2d63m8EdLxDIeBOXO-ghc9.10.3.so │ │ │ │ libHSdata-fix-0.3.4-5o9sOqSgVx07beyljXYoyb-ghc9.10.3.so │ │ │ │ libHScharacter-ps-0.1-IiWcZ0SqaFP8QcsIi2e2nh-ghc9.10.3.so │ │ │ │ libHSQuickCheck-2.15.0.1-77FopWYsxo3uQfuulxjpg-ghc9.10.3.so │ │ │ │ libHSrandom-1.2.1.3-CVJ8L3qWNg1JRwG1WpFqPu-ghc9.10.3.so │ │ │ │ libHSsplitmix-0.1.3.1-BGsvUIXPkVcIniKN76yOBb-ghc9.10.3.so │ │ │ │ libHSOneTuple-0.4.2-DNJOSZVveD52ClVoqjNi0w-ghc9.10.3.so │ │ │ │ +libHSvector-hashtables-0.1.2.1-EupUUDxFvgY54fnyWoEHPp-ghc9.10.3.so │ │ │ │ +libHSvector-0.13.2.0-1AJIkmdgm1wGnbCuNu273p-ghc9.10.3.so │ │ │ │ +libHSvector-stream-0.1.0.1-L5IRJehMu456v60fOpKQRk-ghc9.10.3.so │ │ │ │ +libHSprimitive-0.9.1.0-CdaaD38w4qB6rrosjqTSfA-ghc9.10.3.so │ │ │ │ +libHSblaze-html-0.9.2.0-IotiM9NkMwl3EfUgLlKAmW-ghc9.10.3.so │ │ │ │ +libHSblaze-markup-0.8.3.0-Cu8MeFoSb4Z5XOd0xfhJZo-ghc9.10.3.so │ │ │ │ +libHSblaze-builder-0.4.4.1-IETbtXv9ANeIFxIssaYex9-ghc9.10.3.so │ │ │ │ +libHSfilemanip-0.3.6.3-8t4KqEKzfntI0rSXEvsky1-ghc9.10.3.so │ │ │ │ +libHSunix-compat-0.7.4.1-rOF46fmK2fLC9XjOrW0ik-ghc9.10.3.so │ │ │ │ +libHSuri-encode-1.5.0.7-Ibs7lEBoOU53PwtJv2BpEM-ghc9.10.3.so │ │ │ │ +libHSutf8-string-1.0.2-Hcf4GfMGHw6J5KI5BUWa7M-ghc9.10.3.so │ │ │ │ +libHSnetwork-uri-2.6.4.2-BXV0MtFcaF6BxSkElkpvb1-ghc9.10.3.so │ │ │ │ +libHSth-compat-0.1.6-E7R8Lkrp9sgCuFaquOGtCQ-ghc9.10.3.so │ │ │ │ +libHSgeneric-data-1.1.0.2-Ju9FoOusQZ4EwdJpTo7d3J-ghc9.10.3.so │ │ │ │ +libHSshow-combinators-0.2.0.0-6bje2TtlZquFYKSMBCpd8Z-ghc9.10.3.so │ │ │ │ +libHSap-normalize-0.1.0.1-BawjRMdpwYX10oBkPsjSfU-ghc9.10.3.so │ │ │ │ +libHSSTMonadTrans-0.4.8.1-ayZ06sX4hEH3moyoKoH1k-ghc9.10.3.so │ │ │ │ +libHSunordered-containers-0.2.20.1-K9YgI9QXrvEKHYHoV7Rpdt-ghc9.10.3.so │ │ │ │ +libHSdlist-1.0-DC28CIkaVKlAQr1GAQABod-ghc9.10.3.so │ │ │ │ libHSparallel-3.2.2.0-EgO7vbxMOwf76GDIGIfOam-ghc9.10.3.so │ │ │ │ -libHSpeano-0.1.0.3-CS0xCLPgawxCJsQlr5GDUr-ghc9.10.3.so │ │ │ │ -libHSpqueue-1.5.0.0-ItOVDlNOAOtB0BGQUJ96qZ-ghc9.10.3.so │ │ │ │ -libHSindexed-traversable-0.1.4-HhGzT2d63m8EdLxDIeBOXO-ghc9.10.3.so │ │ │ │ -libHSprocess-extras-0.7.4-6AEhRe1QkUQ91xAD6O7wwj-ghc9.10.3.so │ │ │ │ +libHSstrict-0.5.1-6zHJYgY6KC0J8ARV1Lf80b-ghc9.10.3.so │ │ │ │ +libHSthese-1.2.1-JaISJ4F9TDtHwYDjbk1Bng-ghc9.10.3.so │ │ │ │ +libHSassoc-1.1.1-30BCdn01wuCLUYQedFJHQR-ghc9.10.3.so │ │ │ │ +libHSmonad-control-1.0.3.1-8SlV1hwVqyt4BTWAvWAys3-ghc9.10.3.so │ │ │ │ +libHStransformers-base-0.4.6-D2C6ntY92a2LpGEpHgWgaB-ghc9.10.3.so │ │ │ │ +libHStransformers-compat-0.7.2-I3ZIeOFdEuKT9clKlYPnF-ghc9.10.3.so │ │ │ │ +libHSbase-orphans-0.9.3-7paFWdw3P5DKTtmcogQtK7-ghc9.10.3.so │ │ │ │ +libHSdata-hash-0.2.0.1-3s8ELHsOoK49FTg0xgf7jq-ghc9.10.3.so │ │ │ │ +libHSgitrev-1.3.1-8pXRfWJ8R6XCctTa5qsGdI-ghc9.10.3.so │ │ │ │ libHSprocess-1.6.26.1-inplace-ghc9.10.3.so │ │ │ │ libHSdirectory-1.3.8.5-inplace-ghc9.10.3.so │ │ │ │ +libHSbase-compat-0.14.1-I8NVxxidkAABSjbMaU6LWv-ghc9.10.3.so │ │ │ │ libHSunix-2.8.7.0-inplace-ghc9.10.3.so │ │ │ │ +libHSboxes-0.1.5-9wTq4LcYqKuCEtOA8DtYn5-ghc9.10.3.so │ │ │ │ +libHSsplit-0.2.5-2Dg5cD3TiukSkoV1txcUP-ghc9.10.3.so │ │ │ │ +libHSasync-2.2.5-GJdUPvZimPm5ggRAeaaEHV-ghc9.10.3.so │ │ │ │ +libHShashable-1.5.0.0-2kNV5CKXacpGPv0OkcNC1R-ghc9.10.3.so │ │ │ │ +libHSfilepath-1.5.4.0-inplace-ghc9.10.3.so │ │ │ │ +libHSos-string-2.0.7-inplace-ghc9.10.3.so │ │ │ │ +libHSexceptions-0.10.9-inplace-ghc9.10.3.so │ │ │ │ +libHSstm-2.5.3.1-inplace-ghc9.10.3.so │ │ │ │ libHStime-1.12.2-inplace-ghc9.10.3.so │ │ │ │ -libHSgeneric-deriving-1.14.6-5xXiLyOZhJ03nhgzvp90P7-ghc9.10.3.so │ │ │ │ -libHSth-abstraction-0.7.1.0-4pMh4c52Vfc8WxXdjHtZwz-ghc9.10.3.so │ │ │ │ -libHSdata-default-0.8.0.1-91Wz0ppme1c1GDgyfnAO0B-ghc9.10.3.so │ │ │ │ -libHSListLike-4.7.8.4-BGRyQi2hgiDF9CurYnP5Hb-ghc9.10.3.so │ │ │ │ -libHSfmlist-0.9.4-cHlY4DkKOFLnoNudpiADP-ghc9.10.3.so │ │ │ │ -libHSdlist-1.0-DC28CIkaVKlAQr1GAQABod-ghc9.10.3.so │ │ │ │ libHSregex-tdfa-1.3.2.5-2CPeyTME1oRilQvsdoww2-ghc9.10.3.so │ │ │ │ libHSregex-base-0.94.0.3-9QehDZNLV9iBch8zxFDhVI-ghc9.10.3.so │ │ │ │ -libHSuri-encode-1.5.0.7-Ibs7lEBoOU53PwtJv2BpEM-ghc9.10.3.so │ │ │ │ -libHSutf8-string-1.0.2-Hcf4GfMGHw6J5KI5BUWa7M-ghc9.10.3.so │ │ │ │ -libHSnetwork-uri-2.6.4.2-BXV0MtFcaF6BxSkElkpvb1-ghc9.10.3.so │ │ │ │ -libHSth-compat-0.1.6-E7R8Lkrp9sgCuFaquOGtCQ-ghc9.10.3.so │ │ │ │ libHSparsec-3.1.18.0-inplace-ghc9.10.3.so │ │ │ │ -libHSvector-hashtables-0.1.2.1-EupUUDxFvgY54fnyWoEHPp-ghc9.10.3.so │ │ │ │ -libHSvector-0.13.2.0-1AJIkmdgm1wGnbCuNu273p-ghc9.10.3.so │ │ │ │ -libHSvector-stream-0.1.0.1-L5IRJehMu456v60fOpKQRk-ghc9.10.3.so │ │ │ │ -libHSprimitive-0.9.1.0-CdaaD38w4qB6rrosjqTSfA-ghc9.10.3.so │ │ │ │ -libHShashable-1.5.0.0-2kNV5CKXacpGPv0OkcNC1R-ghc9.10.3.so │ │ │ │ libHStext-2.1.3-inplace-ghc9.10.3.so │ │ │ │ libHSbinary-0.8.9.3-inplace-ghc9.10.3.so │ │ │ │ -libHSfilepath-1.5.4.0-inplace-ghc9.10.3.so │ │ │ │ -libHSos-string-2.0.7-inplace-ghc9.10.3.so │ │ │ │ -libHSexceptions-0.10.9-inplace-ghc9.10.3.so │ │ │ │ -libHSstm-2.5.3.1-inplace-ghc9.10.3.so │ │ │ │ libHSmtl-2.3.1-inplace-ghc9.10.3.so │ │ │ │ libHStransformers-0.6.1.1-inplace-ghc9.10.3.so │ │ │ │ libHScontainers-0.7-inplace-ghc9.10.3.so │ │ │ │ -libHSzlib-0.7.1.1-9slKnSVaKOMKfNAnZzR5ey-ghc9.10.3.so │ │ │ │ -libHSmurmur-hash-0.1.0.11-HMdcZDIy9aJnmUTqQo63J-ghc9.10.3.so │ │ │ │ libHSbytestring-0.12.2.0-inplace-ghc9.10.3.so │ │ │ │ libHStemplate-haskell-2.22.0.0-inplace-ghc9.10.3.so │ │ │ │ libHSpretty-1.1.3.6-inplace-ghc9.10.3.so │ │ │ │ libHSghc-boot-th-9.10.3-inplace-ghc9.10.3.so │ │ │ │ libHSdeepseq-1.5.0.0-inplace-ghc9.10.3.so │ │ │ │ libHSarray-0.5.8.0-inplace-ghc9.10.3.so │ │ │ │ libHSbase-4.20.2.0-inplace-ghc9.10.3.so │ │ │ ├── readelf --wide --decompress --hex-dump=.dynstr {} │ │ │ │ @@ -1331404,368 +1331404,368 @@ │ │ │ │ 0x018d20ac 6f737572 65004167 64617a6d 327a6938 osure.Agdazm2zi8 │ │ │ │ 0x018d20bc 7a69307a 6d4b7541 454b4452 47357773 zi0zmKuAEKDRG5ws │ │ │ │ 0x018d20cc 46526441 35773873 474c435f 41676461 FRdA5w8sGLC_Agda │ │ │ │ 0x018d20dc 7a695574 696c737a 6943616c 6c537461 ziUtilsziCallSta │ │ │ │ 0x018d20ec 636b7a69 50726574 74795f7a 64665072 ckziPretty_zdfPr │ │ │ │ 0x018d20fc 65747479 5372634c 6f635f63 6c6f7375 ettySrcLoc_closu │ │ │ │ 0x018d210c 7265006c 69626d2e 736f2e36 006c6962 re.libm.so.6.lib │ │ │ │ - 0x018d211c 48536768 632d636f 6d706163 742d302e HSghc-compact-0. │ │ │ │ - 0x018d212c 312e302e 302d696e 706c6163 652d6768 1.0.0-inplace-gh │ │ │ │ - 0x018d213c 63392e31 302e332e 736f006c 69624853 c9.10.3.so.libHS │ │ │ │ - 0x018d214c 6861736b 656c696e 652d302e 382e322e haskeline-0.8.2. │ │ │ │ - 0x018d215c 312d696e 706c6163 652d6768 63392e31 1-inplace-ghc9.1 │ │ │ │ - 0x018d216c 302e332e 736f006c 69624853 7465726d 0.3.so.libHSterm │ │ │ │ - 0x018d217c 696e666f 2d302e34 2e312e37 2d696e70 info-0.4.1.7-inp │ │ │ │ - 0x018d218c 6c616365 2d676863 392e3130 2e332e73 lace-ghc9.10.3.s │ │ │ │ - 0x018d219c 6f006c69 62485361 6e73692d 7465726d o.libHSansi-term │ │ │ │ - 0x018d21ac 696e616c 2d312e31 2e352d46 737a7045 inal-1.1.5-FszpE │ │ │ │ - 0x018d21bc 4750586e 58703676 58617557 58757a69 GPXnXp6vXauWXuzi │ │ │ │ - 0x018d21cc 572d6768 63392e31 302e332e 736f006c W-ghc9.10.3.so.l │ │ │ │ - 0x018d21dc 69624853 616e7369 2d746572 6d696e61 ibHSansi-termina │ │ │ │ - 0x018d21ec 6c2d7479 7065732d 312e312e 332d4247 l-types-1.1.3-BG │ │ │ │ - 0x018d21fc 73435654 32496638 33434d44 384a756e sCVT2If83CMD8Jun │ │ │ │ - 0x018d220c 35777a76 2d676863 392e3130 2e332e73 5wzv-ghc9.10.3.s │ │ │ │ - 0x018d221c 6f006c69 62485363 6f6c6f75 722d322e o.libHScolour-2. │ │ │ │ - 0x018d222c 332e362d 44376579 57594f46 37566435 3.6-D7eyWYOF7Vd5 │ │ │ │ - 0x018d223c 564b4d54 71704443 66412d67 6863392e VKMTqpDCfA-ghc9. │ │ │ │ - 0x018d224c 31302e33 2e736f00 6c696248 53617379 10.3.so.libHSasy │ │ │ │ - 0x018d225c 6e632d32 2e322e35 2d474a64 5550765a nc-2.2.5-GJdUPvZ │ │ │ │ - 0x018d226c 696d506d 35676752 41656161 4548562d imPm5ggRAeaaEHV- │ │ │ │ - 0x018d227c 67686339 2e31302e 332e736f 006c6962 ghc9.10.3.so.lib │ │ │ │ - 0x018d228c 4853626c 617a652d 68746d6c 2d302e39 HSblaze-html-0.9 │ │ │ │ - 0x018d229c 2e322e30 2d496f74 694d394e 6b4d776c .2.0-IotiM9NkMwl │ │ │ │ - 0x018d22ac 33456655 674c6c4b 416d572d 67686339 3EfUgLlKAmW-ghc9 │ │ │ │ - 0x018d22bc 2e31302e 332e736f 006c6962 4853626c .10.3.so.libHSbl │ │ │ │ - 0x018d22cc 617a652d 6d61726b 75702d30 2e382e33 aze-markup-0.8.3 │ │ │ │ - 0x018d22dc 2e302d43 75384d65 466f5362 345a3558 .0-Cu8MeFoSb4Z5X │ │ │ │ - 0x018d22ec 4f643078 66684a5a 6f2d6768 63392e31 Od0xfhJZo-ghc9.1 │ │ │ │ - 0x018d22fc 302e332e 736f006c 69624853 626c617a 0.3.so.libHSblaz │ │ │ │ - 0x018d230c 652d6275 696c6465 722d302e 342e342e e-builder-0.4.4. │ │ │ │ - 0x018d231c 312d4945 54627458 7639414e 65494678 1-IETbtXv9ANeIFx │ │ │ │ - 0x018d232c 49737361 59657839 2d676863 392e3130 IssaYex9-ghc9.10 │ │ │ │ - 0x018d233c 2e332e73 6f006c69 62485362 6f786573 .3.so.libHSboxes │ │ │ │ - 0x018d234c 2d302e31 2e352d39 77547134 4c635971 -0.1.5-9wTq4LcYq │ │ │ │ - 0x018d235c 4b754345 744f4138 4474596e 352d6768 KuCEtOA8DtYn5-gh │ │ │ │ - 0x018d236c 63392e31 302e332e 736f006c 69624853 c9.10.3.so.libHS │ │ │ │ - 0x018d237c 73706c69 742d302e 322e352d 32446735 split-0.2.5-2Dg5 │ │ │ │ - 0x018d238c 63443354 69756b53 6b6f5631 74786355 cD3TiukSkoV1txcU │ │ │ │ - 0x018d239c 502d6768 63392e31 302e332e 736f006c P-ghc9.10.3.so.l │ │ │ │ - 0x018d23ac 69624853 63617365 2d696e73 656e7369 ibHScase-insensi │ │ │ │ - 0x018d23bc 74697665 2d312e32 2e312e30 2d647a47 tive-1.2.1.0-dzG │ │ │ │ - 0x018d23cc 314f4377 58557537 664a4a31 476b6a6c 1OCwXUu7fJJ1Gkjl │ │ │ │ - 0x018d23dc 4c682d67 6863392e 31302e33 2e736f00 Lh-ghc9.10.3.so. │ │ │ │ - 0x018d23ec 6c696248 53646174 612d6861 73682d30 libHSdata-hash-0 │ │ │ │ - 0x018d23fc 2e322e30 2e312d33 7338454c 48734f6f .2.0.1-3s8ELHsOo │ │ │ │ - 0x018d240c 4b343946 54673078 6766376a 712d6768 K49FTg0xgf7jq-gh │ │ │ │ - 0x018d241c 63392e31 302e332e 736f006c 69624853 c9.10.3.so.libHS │ │ │ │ - 0x018d242c 65646974 2d646973 74616e63 652d302e edit-distance-0. │ │ │ │ - 0x018d243c 322e322e 312d494e 3233306d 66436857 2.2.1-IN230mfChW │ │ │ │ - 0x018d244c 6e347457 6c5a5263 6e453831 2d676863 n4tWlZRcnE81-ghc │ │ │ │ - 0x018d245c 392e3130 2e332e73 6f006c69 62485365 9.10.3.so.libHSe │ │ │ │ - 0x018d246c 6e756d6d 61707365 742d302e 372e332e nummapset-0.7.3. │ │ │ │ - 0x018d247c 302d4355 5a436863 767a4e64 5244594b 0-CUZChcvzNdRDYK │ │ │ │ - 0x018d248c 3733475a 73313437 2d676863 392e3130 73GZs147-ghc9.10 │ │ │ │ - 0x018d249c 2e332e73 6f006c69 62485365 71756976 .3.so.libHSequiv │ │ │ │ - 0x018d24ac 616c656e 63652d30 2e342e31 2e312d43 alence-0.4.1.1-C │ │ │ │ - 0x018d24bc 71745672 63304850 45743762 31676347 qtVrc0HPEt7b1gcG │ │ │ │ - 0x018d24cc 61564d66 762d6768 63392e31 302e332e aVMfv-ghc9.10.3. │ │ │ │ - 0x018d24dc 736f006c 69624853 53544d6f 6e616454 so.libHSSTMonadT │ │ │ │ - 0x018d24ec 72616e73 2d302e34 2e382e31 2d61795a rans-0.4.8.1-ayZ │ │ │ │ - 0x018d24fc 30367358 34684548 336d6f79 6f4b6f48 06sX4hEH3moyoKoH │ │ │ │ - 0x018d250c 316b2d67 6863392e 31302e33 2e736f00 1k-ghc9.10.3.so. │ │ │ │ - 0x018d251c 6c696248 5366696c 656c6f63 6b2d302e libHSfilelock-0. │ │ │ │ - 0x018d252c 312e312e 382d3357 50327067 4a7a3761 1.1.8-3WP2pgJz7a │ │ │ │ - 0x018d253c 65376149 4f38624b 436a5768 2d676863 e7aIO8bKCjWh-ghc │ │ │ │ - 0x018d254c 392e3130 2e332e73 6f006c69 62485366 9.10.3.so.libHSf │ │ │ │ - 0x018d255c 696c656d 616e6970 2d302e33 2e362e33 ilemanip-0.3.6.3 │ │ │ │ - 0x018d256c 2d387434 4b71454b 7a666e74 49307253 -8t4KqEKzfntI0rS │ │ │ │ - 0x018d257c 58457673 6b79312d 67686339 2e31302e XEvsky1-ghc9.10. │ │ │ │ - 0x018d258c 332e736f 006c6962 4853756e 69782d63 3.so.libHSunix-c │ │ │ │ - 0x018d259c 6f6d7061 742d302e 372e342e 312d724f ompat-0.7.4.1-rO │ │ │ │ - 0x018d25ac 46343666 6d4b3266 4c433958 6a4f7257 F46fmK2fLC9XjOrW │ │ │ │ - 0x018d25bc 30696b2d 67686339 2e31302e 332e736f 0ik-ghc9.10.3.so │ │ │ │ - 0x018d25cc 006c6962 48536765 6e657269 632d6461 .libHSgeneric-da │ │ │ │ - 0x018d25dc 74612d31 2e312e30 2e322d4a 7539466f ta-1.1.0.2-Ju9Fo │ │ │ │ - 0x018d25ec 4f757351 5a344577 644a7054 6f376433 OusQZ4EwdJpTo7d3 │ │ │ │ - 0x018d25fc 4a2d6768 63392e31 302e332e 736f006c J-ghc9.10.3.so.l │ │ │ │ - 0x018d260c 69624853 73686f77 2d636f6d 62696e61 ibHSshow-combina │ │ │ │ - 0x018d261c 746f7273 2d302e32 2e302e30 2d36626a tors-0.2.0.0-6bj │ │ │ │ - 0x018d262c 65325474 6c5a7175 46594b53 4d424370 e2TtlZquFYKSMBCp │ │ │ │ - 0x018d263c 64385a2d 67686339 2e31302e 332e736f d8Z-ghc9.10.3.so │ │ │ │ - 0x018d264c 006c6962 48536170 2d6e6f72 6d616c69 .libHSap-normali │ │ │ │ - 0x018d265c 7a652d30 2e312e30 2e312d42 61776a52 ze-0.1.0.1-BawjR │ │ │ │ - 0x018d266c 4d647077 59583130 6f426b50 736a5366 MdpwYX10oBkPsjSf │ │ │ │ - 0x018d267c 552d6768 63392e31 302e332e 736f006c U-ghc9.10.3.so.l │ │ │ │ - 0x018d268c 69624853 67697472 65762d31 2e332e31 ibHSgitrev-1.3.1 │ │ │ │ - 0x018d269c 2d387058 5266574a 38523658 43637454 -8pXRfWJ8R6XCctT │ │ │ │ - 0x018d26ac 61357173 4764492d 67686339 2e31302e a5qsGdI-ghc9.10. │ │ │ │ - 0x018d26bc 332e736f 006c6962 48536261 73652d63 3.so.libHSbase-c │ │ │ │ - 0x018d26cc 6f6d7061 742d302e 31342e31 2d49384e ompat-0.14.1-I8N │ │ │ │ - 0x018d26dc 56787869 646b4141 42536a62 4d615536 VxxidkAABSjbMaU6 │ │ │ │ - 0x018d26ec 4c57762d 67686339 2e31302e 332e736f LWv-ghc9.10.3.so │ │ │ │ - 0x018d26fc 006c6962 48536d6f 6e61642d 636f6e74 .libHSmonad-cont │ │ │ │ - 0x018d270c 726f6c2d 312e302e 332e312d 38536c56 rol-1.0.3.1-8SlV │ │ │ │ - 0x018d271c 31687756 71797434 42545741 76574179 1hwVqyt4BTWAvWAy │ │ │ │ - 0x018d272c 73332d67 6863392e 31302e33 2e736f00 s3-ghc9.10.3.so. │ │ │ │ - 0x018d273c 6c696248 53747261 6e73666f 726d6572 libHStransformer │ │ │ │ - 0x018d274c 732d6261 73652d30 2e342e36 2d443243 s-base-0.4.6-D2C │ │ │ │ - 0x018d275c 366e7459 39326132 4c704745 70486757 6ntY92a2LpGEpHgW │ │ │ │ - 0x018d276c 6761422d 67686339 2e31302e 332e736f gaB-ghc9.10.3.so │ │ │ │ - 0x018d277c 006c6962 48536e6f 6e656d70 74792d63 .libHSnonempty-c │ │ │ │ - 0x018d278c 6f6e7461 696e6572 732d302e 332e352e ontainers-0.3.5. │ │ │ │ - 0x018d279c 302d4b39 4d484469 714b3474 33343262 0-K9MHDiqK4t342b │ │ │ │ - 0x018d27ac 49555a65 76665654 2d676863 392e3130 IUZevfVT-ghc9.10 │ │ │ │ - 0x018d27bc 2e332e73 6f006c69 6248536e 6f6e656d .3.so.libHSnonem │ │ │ │ - 0x018d27cc 7074792d 76656374 6f722d30 2e322e34 pty-vector-0.2.4 │ │ │ │ - 0x018d27dc 2d47794b 7731686f 42785a6f 37527871 -GyKw1hoBxZo7Rxq │ │ │ │ - 0x018d27ec 4732326e 4c44502d 67686339 2e31302e G22nLDP-ghc9.10. │ │ │ │ - 0x018d27fc 332e736f 006c6962 4853696e 76617269 3.so.libHSinvari │ │ │ │ - 0x018d280c 616e742d 302e362e 342d4270 71715761 ant-0.6.4-BpqqWa │ │ │ │ - 0x018d281c 48335466 314a7654 30315150 65504c39 H3Tf1JvT01QPePL9 │ │ │ │ - 0x018d282c 2d676863 392e3130 2e332e73 6f006c69 -ghc9.10.3.so.li │ │ │ │ - 0x018d283c 62485370 726f6675 6e63746f 72732d35 bHSprofunctors-5 │ │ │ │ - 0x018d284c 2e362e33 2d4c694a 59643671 626b7438 .6.3-LiJYd6qbkt8 │ │ │ │ - 0x018d285c 38614976 416d6252 5761682d 67686339 8aIvAmbRWah-ghc9 │ │ │ │ - 0x018d286c 2e31302e 332e736f 006c6962 48536165 .10.3.so.libHSae │ │ │ │ - 0x018d287c 736f6e2d 322e322e 332e302d 4a424170 son-2.2.3.0-JBAp │ │ │ │ - 0x018d288c 4c4d505a 6a4b744b 30314c35 684b6b4b LMPZjKtK01L5hKkK │ │ │ │ - 0x018d289c 73342d67 6863392e 31302e33 2e736f00 s4-ghc9.10.3.so. │ │ │ │ - 0x018d28ac 6c696248 53776974 68657261 626c652d libHSwitherable- │ │ │ │ - 0x018d28bc 302e352d 36386e6c 48346d51 64324244 0.5-68nlH4mQd2BD │ │ │ │ - 0x018d28cc 41325953 44616e63 52532d67 6863392e A2YSDancRS-ghc9. │ │ │ │ - 0x018d28dc 31302e33 2e736f00 6c696248 53757569 10.3.so.libHSuui │ │ │ │ - 0x018d28ec 642d7479 7065732d 312e302e 362d4456 d-types-1.0.6-DV │ │ │ │ - 0x018d28fc 65454354 46654c66 7733666e 644f646b eECTFeLfw3fndOdk │ │ │ │ - 0x018d290c 514b3171 2d676863 392e3130 2e332e73 QK1q-ghc9.10.3.s │ │ │ │ - 0x018d291c 6f006c69 62485374 6578742d 73686f72 o.libHStext-shor │ │ │ │ - 0x018d292c 742d302e 312e362d 46546b51 6e79664f t-0.1.6-FTkQnyfO │ │ │ │ - 0x018d293c 74467335 794b434e 4e614146 34622d67 tFs5yKCNNaAF4b-g │ │ │ │ - 0x018d294c 6863392e 31302e33 2e736f00 6c696248 hc9.10.3.so.libH │ │ │ │ - 0x018d295c 53746578 742d6973 6f383630 312d302e Stext-iso8601-0. │ │ │ │ - 0x018d296c 312e312d 45756d56 33426b51 39797741 1.1-EumV3BkQ9ywA │ │ │ │ - 0x018d297c 53775a70 48456152 35632d67 6863392e SwZpHEaR5c-ghc9. │ │ │ │ - 0x018d298c 31302e33 2e736f00 6c696248 5374696d 10.3.so.libHStim │ │ │ │ - 0x018d299c 652d636f 6d706174 2d312e39 2e382d47 e-compat-1.9.8-G │ │ │ │ - 0x018d29ac 59597062 4b655733 48634541 386f5470 YYpbKeW3HcEA8oTp │ │ │ │ - 0x018d29bc 46795752 4e2d6768 63392e31 302e332e FyWRN-ghc9.10.3. │ │ │ │ - 0x018d29cc 736f006c 69624853 73747269 63742d30 so.libHSstrict-0 │ │ │ │ - 0x018d29dc 2e352e31 2d367a48 4a596759 364b4330 .5.1-6zHJYgY6KC0 │ │ │ │ - 0x018d29ec 4a384152 56314c66 3830622d 67686339 J8ARV1Lf80b-ghc9 │ │ │ │ - 0x018d29fc 2e31302e 332e736f 006c6962 48537365 .10.3.so.libHSse │ │ │ │ - 0x018d2a0c 6d69616c 69676e2d 312e332e 312d4968 mialign-1.3.1-Ih │ │ │ │ - 0x018d2a1c 6734456c 79486645 414c6234 434d7769 g4ElyHfEALb4CMwi │ │ │ │ - 0x018d2a2c 77417865 2d676863 392e3130 2e332e73 wAxe-ghc9.10.3.s │ │ │ │ - 0x018d2a3c 6f006c69 62485374 68657365 2d312e32 o.libHSthese-1.2 │ │ │ │ - 0x018d2a4c 2e312d4a 6149534a 34463954 44744877 .1-JaISJ4F9TDtHw │ │ │ │ - 0x018d2a5c 59446a62 6b31426e 672d6768 63392e31 YDjbk1Bng-ghc9.1 │ │ │ │ - 0x018d2a6c 302e332e 736f006c 69624853 73656d69 0.3.so.libHSsemi │ │ │ │ - 0x018d2a7c 67726f75 706f6964 732d362e 302e312d groupoids-6.0.1- │ │ │ │ - 0x018d2a8c 44373453 69385362 584a5a39 42573254 D74Si8SbXJZ9BW2T │ │ │ │ - 0x018d2a9c 5465546a 5a682d67 6863392e 31302e33 TeTjZh-ghc9.10.3 │ │ │ │ - 0x018d2aac 2e736f00 6c696248 53636f6e 74726176 .so.libHScontrav │ │ │ │ - 0x018d2abc 61726961 6e742d31 2e352e35 2d33644c ariant-1.5.5-3dL │ │ │ │ - 0x018d2acc 4d524639 36457378 476b506f 556e6e47 MRF96EsxGkPoUnnG │ │ │ │ - 0x018d2adc 3970782d 67686339 2e31302e 332e736f 9px-ghc9.10.3.so │ │ │ │ - 0x018d2aec 006c6962 48535374 61746556 61722d31 .libHSStateVar-1 │ │ │ │ - 0x018d2afc 2e322e32 2d497837 664b3734 70536c67 .2.2-Ix7fK74pSlg │ │ │ │ - 0x018d2b0c 39423679 344e4e38 375a392d 67686339 9B6y4NN87Z9-ghc9 │ │ │ │ - 0x018d2b1c 2e31302e 332e736f 006c6962 48536269 .10.3.so.libHSbi │ │ │ │ - 0x018d2b2c 66756e63 746f7273 2d352e36 2e322d34 functors-5.6.2-4 │ │ │ │ - 0x018d2b3c 6b587941 39596c32 59733961 47616531 kXyA9Yl2Ys9aGae1 │ │ │ │ - 0x018d2b4c 73556478 752d6768 63392e31 302e332e sUdxu-ghc9.10.3. │ │ │ │ - 0x018d2b5c 736f006c 69624853 636f6d6f 6e61642d so.libHScomonad- │ │ │ │ - 0x018d2b6c 352e302e 392d4434 49636d41 59735859 5.0.9-D4IcmAYsXY │ │ │ │ - 0x018d2b7c 4546446d 72785449 365a7165 2d676863 EFDmrxTI6Zqe-ghc │ │ │ │ - 0x018d2b8c 392e3130 2e332e73 6f006c69 62485374 9.10.3.so.libHSt │ │ │ │ - 0x018d2b9c 72616e73 666f726d 6572732d 636f6d70 ransformers-comp │ │ │ │ - 0x018d2bac 61742d30 2e372e32 2d49335a 49654f46 at-0.7.2-I3ZIeOF │ │ │ │ - 0x018d2bbc 6445754b 5439636c 4b6c5950 6e462d67 dEuKT9clKlYPnF-g │ │ │ │ - 0x018d2bcc 6863392e 31302e33 2e736f00 6c696248 hc9.10.3.so.libH │ │ │ │ - 0x018d2bdc 53646973 74726962 75746976 652d302e Sdistributive-0. │ │ │ │ - 0x018d2bec 362e322e 312d4146 63347444 76563761 6.2.1-AFc4tDvV7a │ │ │ │ - 0x018d2bfc 36414536 62537847 7245666d 2d676863 6AE6bSxGrEfm-ghc │ │ │ │ - 0x018d2c0c 392e3130 2e332e73 6f006c69 62485361 9.10.3.so.libHSa │ │ │ │ - 0x018d2c1c 73736f63 2d312e31 2e312d33 30424364 ssoc-1.1.1-30BCd │ │ │ │ - 0x018d2c2c 6e303177 75434c55 59516564 464a4851 n01wuCLUYQedFJHQ │ │ │ │ - 0x018d2c3c 522d6768 63392e31 302e332e 736f006c R-ghc9.10.3.so.l │ │ │ │ - 0x018d2c4c 69624853 62617365 2d6f7270 68616e73 ibHSbase-orphans │ │ │ │ - 0x018d2c5c 2d302e39 2e332d37 70614657 64773350 -0.9.3-7paFWdw3P │ │ │ │ - 0x018d2c6c 35444b54 746d636f 6751744b 372d6768 5DKTtmcogQtK7-gh │ │ │ │ - 0x018d2c7c 63392e31 302e332e 736f006c 69624853 c9.10.3.so.libHS │ │ │ │ - 0x018d2c8c 696e6465 7865642d 74726176 65727361 indexed-traversa │ │ │ │ - 0x018d2c9c 626c652d 696e7374 616e6365 732d302e ble-instances-0. │ │ │ │ - 0x018d2cac 312e322d 47794456 454f4767 50694d48 1.2-GyDVEOGgPiMH │ │ │ │ - 0x018d2cbc 52535372 6c6e314d 79482d67 6863392e RSSrln1MyH-ghc9. │ │ │ │ - 0x018d2ccc 31302e33 2e736f00 6c696248 53756e6f 10.3.so.libHSuno │ │ │ │ - 0x018d2cdc 72646572 65642d63 6f6e7461 696e6572 rdered-container │ │ │ │ - 0x018d2cec 732d302e 322e3230 2e312d4b 39596749 s-0.2.20.1-K9YgI │ │ │ │ - 0x018d2cfc 39515872 76454b48 59486f56 37527064 9QXrvEKHYHoV7Rpd │ │ │ │ - 0x018d2d0c 742d6768 63392e31 302e332e 736f006c t-ghc9.10.3.so.l │ │ │ │ - 0x018d2d1c 69624853 74616767 65642d30 2e382e39 ibHStagged-0.8.9 │ │ │ │ - 0x018d2d2c 2d457261 53647030 6c783775 4a6e7145 -EraSdp0lx7uJnqE │ │ │ │ - 0x018d2d3c 53797271 4c54502d 67686339 2e31302e SyrqLTP-ghc9.10. │ │ │ │ - 0x018d2d4c 332e736f 006c6962 48537363 69656e74 3.so.libHSscient │ │ │ │ - 0x018d2d5c 69666963 2d302e33 2e382e30 2d4a5235 ific-0.3.8.0-JR5 │ │ │ │ - 0x018d2d6c 6a375438 6a375a78 45773534 32556f77 j7T8j7ZxEw542Uow │ │ │ │ - 0x018d2d7c 4a73562d 67686339 2e31302e 332e736f JsV-ghc9.10.3.so │ │ │ │ - 0x018d2d8c 006c6962 4853696e 74656765 722d6c6f .libHSinteger-lo │ │ │ │ - 0x018d2d9c 67617269 74686d73 2d312e30 2e342d45 garithms-1.0.4-E │ │ │ │ - 0x018d2dac 47556550 5249744c 6e323542 4f697037 GUePRItLn25BOip7 │ │ │ │ - 0x018d2dbc 58316571 512d6768 63392e31 302e332e X1eqQ-ghc9.10.3. │ │ │ │ - 0x018d2dcc 736f006c 69624853 696e7465 6765722d so.libHSinteger- │ │ │ │ - 0x018d2ddc 636f6e76 65727369 6f6e2d30 2e312e31 conversion-0.1.1 │ │ │ │ - 0x018d2dec 2d316430 71504565 4a4c5946 39715963 -1d0qPEeJLYF9qYc │ │ │ │ - 0x018d2dfc 5a777750 424d642d 67686339 2e31302e ZwwPBMd-ghc9.10. │ │ │ │ - 0x018d2e0c 332e736f 006c6962 48536461 74612d66 3.so.libHSdata-f │ │ │ │ - 0x018d2e1c 69782d30 2e332e34 2d356f39 734f7153 ix-0.3.4-5o9sOqS │ │ │ │ - 0x018d2e2c 67567830 37626579 6c6a5859 6f79622d gVx07beyljXYoyb- │ │ │ │ - 0x018d2e3c 67686339 2e31302e 332e736f 006c6962 ghc9.10.3.so.lib │ │ │ │ - 0x018d2e4c 48536368 61726163 7465722d 70732d30 HScharacter-ps-0 │ │ │ │ - 0x018d2e5c 2e312d49 6957635a 30537161 46503851 .1-IiWcZ0SqaFP8Q │ │ │ │ - 0x018d2e6c 63734969 3265326e 682d6768 63392e31 csIi2e2nh-ghc9.1 │ │ │ │ - 0x018d2e7c 302e332e 736f006c 69624853 51756963 0.3.so.libHSQuic │ │ │ │ - 0x018d2e8c 6b436865 636b2d32 2e31352e 302e312d kCheck-2.15.0.1- │ │ │ │ - 0x018d2e9c 3737466f 70575973 786f3375 51667575 77FopWYsxo3uQfuu │ │ │ │ - 0x018d2eac 6c786a70 672d6768 63392e31 302e332e lxjpg-ghc9.10.3. │ │ │ │ - 0x018d2ebc 736f006c 69624853 72616e64 6f6d2d31 so.libHSrandom-1 │ │ │ │ - 0x018d2ecc 2e322e31 2e332d43 564a384c 3371574e .2.1.3-CVJ8L3qWN │ │ │ │ - 0x018d2edc 67314a52 77473157 70467150 752d6768 g1JRwG1WpFqPu-gh │ │ │ │ - 0x018d2eec 63392e31 302e332e 736f006c 69624853 c9.10.3.so.libHS │ │ │ │ - 0x018d2efc 73706c69 746d6978 2d302e31 2e332e31 splitmix-0.1.3.1 │ │ │ │ - 0x018d2f0c 2d424773 76554958 506b5663 496e694b -BGsvUIXPkVcIniK │ │ │ │ - 0x018d2f1c 4e373679 4f42622d 67686339 2e31302e N76yOBb-ghc9.10. │ │ │ │ - 0x018d2f2c 332e736f 006c6962 48534f6e 65547570 3.so.libHSOneTup │ │ │ │ - 0x018d2f3c 6c652d30 2e342e32 2d444e4a 4f535a56 le-0.4.2-DNJOSZV │ │ │ │ - 0x018d2f4c 76654435 32436c56 6f716a4e 6930772d veD52ClVoqjNi0w- │ │ │ │ - 0x018d2f5c 67686339 2e31302e 332e736f 006c6962 ghc9.10.3.so.lib │ │ │ │ - 0x018d2f6c 48537061 72616c6c 656c2d33 2e322e32 HSparallel-3.2.2 │ │ │ │ - 0x018d2f7c 2e302d45 674f3776 62784d4f 77663736 .0-EgO7vbxMOwf76 │ │ │ │ - 0x018d2f8c 47444947 49664f61 6d2d6768 63392e31 GDIGIfOam-ghc9.1 │ │ │ │ - 0x018d2f9c 302e332e 736f006c 69624853 7065616e 0.3.so.libHSpean │ │ │ │ - 0x018d2fac 6f2d302e 312e302e 332d4353 3078434c o-0.1.0.3-CS0xCL │ │ │ │ - 0x018d2fbc 50676177 78434a73 516c7235 47445572 PgawxCJsQlr5GDUr │ │ │ │ - 0x018d2fcc 2d676863 392e3130 2e332e73 6f006c69 -ghc9.10.3.so.li │ │ │ │ - 0x018d2fdc 62485370 71756575 652d312e 352e302e bHSpqueue-1.5.0. │ │ │ │ - 0x018d2fec 302d4974 4f56446c 4e4f414f 74423042 0-ItOVDlNOAOtB0B │ │ │ │ - 0x018d2ffc 4751554a 3936715a 2d676863 392e3130 GQUJ96qZ-ghc9.10 │ │ │ │ - 0x018d300c 2e332e73 6f006c69 62485369 6e646578 .3.so.libHSindex │ │ │ │ - 0x018d301c 65642d74 72617665 72736162 6c652d30 ed-traversable-0 │ │ │ │ - 0x018d302c 2e312e34 2d486847 7a543264 36336d38 .1.4-HhGzT2d63m8 │ │ │ │ - 0x018d303c 45644c78 44496542 4f584f2d 67686339 EdLxDIeBOXO-ghc9 │ │ │ │ - 0x018d304c 2e31302e 332e736f 006c6962 48537072 .10.3.so.libHSpr │ │ │ │ - 0x018d305c 6f636573 732d6578 74726173 2d302e37 ocess-extras-0.7 │ │ │ │ - 0x018d306c 2e342d36 41456852 6531516b 55513931 .4-6AEhRe1QkUQ91 │ │ │ │ - 0x018d307c 78414436 4f377777 6a2d6768 63392e31 xAD6O7wwj-ghc9.1 │ │ │ │ - 0x018d308c 302e332e 736f006c 69624853 70726f63 0.3.so.libHSproc │ │ │ │ - 0x018d309c 6573732d 312e362e 32362e31 2d696e70 ess-1.6.26.1-inp │ │ │ │ - 0x018d30ac 6c616365 2d676863 392e3130 2e332e73 lace-ghc9.10.3.s │ │ │ │ - 0x018d30bc 6f006c69 62485364 69726563 746f7279 o.libHSdirectory │ │ │ │ - 0x018d30cc 2d312e33 2e382e35 2d696e70 6c616365 -1.3.8.5-inplace │ │ │ │ - 0x018d30dc 2d676863 392e3130 2e332e73 6f006c69 -ghc9.10.3.so.li │ │ │ │ - 0x018d30ec 62485375 6e69782d 322e382e 372e302d bHSunix-2.8.7.0- │ │ │ │ - 0x018d30fc 696e706c 6163652d 67686339 2e31302e inplace-ghc9.10. │ │ │ │ - 0x018d310c 332e736f 006c6962 48537469 6d652d31 3.so.libHStime-1 │ │ │ │ - 0x018d311c 2e31322e 322d696e 706c6163 652d6768 .12.2-inplace-gh │ │ │ │ - 0x018d312c 63392e31 302e332e 736f006c 69624853 c9.10.3.so.libHS │ │ │ │ - 0x018d313c 67656e65 7269632d 64657269 76696e67 generic-deriving │ │ │ │ - 0x018d314c 2d312e31 342e362d 35785869 4c794f5a -1.14.6-5xXiLyOZ │ │ │ │ - 0x018d315c 684a3033 6e68677a 76703930 50372d67 hJ03nhgzvp90P7-g │ │ │ │ - 0x018d316c 6863392e 31302e33 2e736f00 6c696248 hc9.10.3.so.libH │ │ │ │ - 0x018d317c 5374682d 61627374 72616374 696f6e2d Sth-abstraction- │ │ │ │ - 0x018d318c 302e372e 312e302d 34704d68 34633532 0.7.1.0-4pMh4c52 │ │ │ │ - 0x018d319c 56666338 57785864 6a48745a 777a2d67 Vfc8WxXdjHtZwz-g │ │ │ │ - 0x018d31ac 6863392e 31302e33 2e736f00 6c696248 hc9.10.3.so.libH │ │ │ │ - 0x018d31bc 53646174 612d6465 6661756c 742d302e Sdata-default-0. │ │ │ │ - 0x018d31cc 382e302e 312d3931 577a3070 706d6531 8.0.1-91Wz0ppme1 │ │ │ │ - 0x018d31dc 63314744 6779666e 414f3042 2d676863 c1GDgyfnAO0B-ghc │ │ │ │ - 0x018d31ec 392e3130 2e332e73 6f006c69 6248534c 9.10.3.so.libHSL │ │ │ │ - 0x018d31fc 6973744c 696b652d 342e372e 382e342d istLike-4.7.8.4- │ │ │ │ - 0x018d320c 42475279 51693268 67694446 39437572 BGRyQi2hgiDF9Cur │ │ │ │ - 0x018d321c 596e5035 48622d67 6863392e 31302e33 YnP5Hb-ghc9.10.3 │ │ │ │ - 0x018d322c 2e736f00 6c696248 53666d6c 6973742d .so.libHSfmlist- │ │ │ │ - 0x018d323c 302e392e 342d6348 6c593444 6b4b4f46 0.9.4-cHlY4DkKOF │ │ │ │ - 0x018d324c 4c6e6f4e 75647069 4144502d 67686339 LnoNudpiADP-ghc9 │ │ │ │ - 0x018d325c 2e31302e 332e736f 006c6962 4853646c .10.3.so.libHSdl │ │ │ │ - 0x018d326c 6973742d 312e302d 44433238 43496b61 ist-1.0-DC28CIka │ │ │ │ - 0x018d327c 564b6c41 51723147 41514142 6f642d67 VKlAQr1GAQABod-g │ │ │ │ - 0x018d328c 6863392e 31302e33 2e736f00 6c696248 hc9.10.3.so.libH │ │ │ │ - 0x018d329c 53726567 65782d74 6466612d 312e332e Sregex-tdfa-1.3. │ │ │ │ - 0x018d32ac 322e352d 32435065 79544d45 316f5269 2.5-2CPeyTME1oRi │ │ │ │ - 0x018d32bc 6c517673 646f7777 322d6768 63392e31 lQvsdoww2-ghc9.1 │ │ │ │ - 0x018d32cc 302e332e 736f006c 69624853 72656765 0.3.so.libHSrege │ │ │ │ - 0x018d32dc 782d6261 73652d30 2e39342e 302e332d x-base-0.94.0.3- │ │ │ │ - 0x018d32ec 39516568 445a4e4c 56396942 6368387a 9QehDZNLV9iBch8z │ │ │ │ - 0x018d32fc 78464468 56492d67 6863392e 31302e33 xFDhVI-ghc9.10.3 │ │ │ │ - 0x018d330c 2e736f00 6c696248 53757269 2d656e63 .so.libHSuri-enc │ │ │ │ - 0x018d331c 6f64652d 312e352e 302e372d 49627337 ode-1.5.0.7-Ibs7 │ │ │ │ - 0x018d332c 6c45426f 4f553533 5077744a 76324270 lEBoOU53PwtJv2Bp │ │ │ │ - 0x018d333c 454d2d67 6863392e 31302e33 2e736f00 EM-ghc9.10.3.so. │ │ │ │ - 0x018d334c 6c696248 53757466 382d7374 72696e67 libHSutf8-string │ │ │ │ - 0x018d335c 2d312e30 2e322d48 63663447 664d4748 -1.0.2-Hcf4GfMGH │ │ │ │ - 0x018d336c 77364a35 4b493542 55576137 4d2d6768 w6J5KI5BUWa7M-gh │ │ │ │ - 0x018d337c 63392e31 302e332e 736f006c 69624853 c9.10.3.so.libHS │ │ │ │ - 0x018d338c 6e657477 6f726b2d 7572692d 322e362e network-uri-2.6. │ │ │ │ - 0x018d339c 342e322d 42585630 4d744663 61463642 4.2-BXV0MtFcaF6B │ │ │ │ - 0x018d33ac 78536b45 6c6b7076 62312d67 6863392e xSkElkpvb1-ghc9. │ │ │ │ - 0x018d33bc 31302e33 2e736f00 6c696248 5374682d 10.3.so.libHSth- │ │ │ │ - 0x018d33cc 636f6d70 61742d30 2e312e36 2d453752 compat-0.1.6-E7R │ │ │ │ - 0x018d33dc 384c6b72 70397367 43754661 71754f47 8Lkrp9sgCuFaquOG │ │ │ │ - 0x018d33ec 7443512d 67686339 2e31302e 332e736f tCQ-ghc9.10.3.so │ │ │ │ - 0x018d33fc 006c6962 48537061 72736563 2d332e31 .libHSparsec-3.1 │ │ │ │ - 0x018d340c 2e31382e 302d696e 706c6163 652d6768 .18.0-inplace-gh │ │ │ │ - 0x018d341c 63392e31 302e332e 736f006c 69624853 c9.10.3.so.libHS │ │ │ │ - 0x018d342c 76656374 6f722d68 61736874 61626c65 vector-hashtable │ │ │ │ - 0x018d343c 732d302e 312e322e 312d4575 70555544 s-0.1.2.1-EupUUD │ │ │ │ - 0x018d344c 78467667 59353466 6e79576f 45485070 xFvgY54fnyWoEHPp │ │ │ │ - 0x018d345c 2d676863 392e3130 2e332e73 6f006c69 -ghc9.10.3.so.li │ │ │ │ - 0x018d346c 62485376 6563746f 722d302e 31332e32 bHSvector-0.13.2 │ │ │ │ - 0x018d347c 2e302d31 414a496b 6d64676d 3177476e .0-1AJIkmdgm1wGn │ │ │ │ - 0x018d348c 6243754e 75323733 702d6768 63392e31 bCuNu273p-ghc9.1 │ │ │ │ - 0x018d349c 302e332e 736f006c 69624853 76656374 0.3.so.libHSvect │ │ │ │ - 0x018d34ac 6f722d73 74726561 6d2d302e 312e302e or-stream-0.1.0. │ │ │ │ - 0x018d34bc 312d4c35 49524a65 684d7534 35367636 1-L5IRJehMu456v6 │ │ │ │ - 0x018d34cc 30664f70 4b51526b 2d676863 392e3130 0fOpKQRk-ghc9.10 │ │ │ │ - 0x018d34dc 2e332e73 6f006c69 62485370 72696d69 .3.so.libHSprimi │ │ │ │ - 0x018d34ec 74697665 2d302e39 2e312e30 2d436461 tive-0.9.1.0-Cda │ │ │ │ - 0x018d34fc 61443338 77347142 3672726f 736a7154 aD38w4qB6rrosjqT │ │ │ │ - 0x018d350c 5366412d 67686339 2e31302e 332e736f SfA-ghc9.10.3.so │ │ │ │ - 0x018d351c 006c6962 48536861 73686162 6c652d31 .libHShashable-1 │ │ │ │ - 0x018d352c 2e352e30 2e302d32 6b4e5635 434b5861 .5.0.0-2kNV5CKXa │ │ │ │ - 0x018d353c 63704750 76304f6b 634e4331 522d6768 cpGPv0OkcNC1R-gh │ │ │ │ + 0x018d211c 48537065 616e6f2d 302e312e 302e332d HSpeano-0.1.0.3- │ │ │ │ + 0x018d212c 43533078 434c5067 61777843 4a73516c CS0xCLPgawxCJsQl │ │ │ │ + 0x018d213c 72354744 55722d67 6863392e 31302e33 r5GDUr-ghc9.10.3 │ │ │ │ + 0x018d214c 2e736f00 6c696248 53656e75 6d6d6170 .so.libHSenummap │ │ │ │ + 0x018d215c 7365742d 302e372e 332e302d 43555a43 set-0.7.3.0-CUZC │ │ │ │ + 0x018d216c 6863767a 4e645244 594b3733 475a7331 hcvzNdRDYK73GZs1 │ │ │ │ + 0x018d217c 34372d67 6863392e 31302e33 2e736f00 47-ghc9.10.3.so. │ │ │ │ + 0x018d218c 6c696248 5370726f 63657373 2d657874 libHSprocess-ext │ │ │ │ + 0x018d219c 7261732d 302e372e 342d3641 45685265 ras-0.7.4-6AEhRe │ │ │ │ + 0x018d21ac 31516b55 51393178 4144364f 3777776a 1QkUQ91xAD6O7wwj │ │ │ │ + 0x018d21bc 2d676863 392e3130 2e332e73 6f006c69 -ghc9.10.3.so.li │ │ │ │ + 0x018d21cc 62485367 656e6572 69632d64 65726976 bHSgeneric-deriv │ │ │ │ + 0x018d21dc 696e672d 312e3134 2e362d35 7858694c ing-1.14.6-5xXiL │ │ │ │ + 0x018d21ec 794f5a68 4a30336e 68677a76 70393050 yOZhJ03nhgzvp90P │ │ │ │ + 0x018d21fc 372d6768 63392e31 302e332e 736f006c 7-ghc9.10.3.so.l │ │ │ │ + 0x018d220c 69624853 64617461 2d646566 61756c74 ibHSdata-default │ │ │ │ + 0x018d221c 2d302e38 2e302e31 2d393157 7a307070 -0.8.0.1-91Wz0pp │ │ │ │ + 0x018d222c 6d653163 31474467 79666e41 4f30422d me1c1GDgyfnAO0B- │ │ │ │ + 0x018d223c 67686339 2e31302e 332e736f 006c6962 ghc9.10.3.so.lib │ │ │ │ + 0x018d224c 48534c69 73744c69 6b652d34 2e372e38 HSListLike-4.7.8 │ │ │ │ + 0x018d225c 2e342d42 47527951 69326867 69444639 .4-BGRyQi2hgiDF9 │ │ │ │ + 0x018d226c 43757259 6e503548 622d6768 63392e31 CurYnP5Hb-ghc9.1 │ │ │ │ + 0x018d227c 302e332e 736f006c 69624853 666d6c69 0.3.so.libHSfmli │ │ │ │ + 0x018d228c 73742d30 2e392e34 2d63486c 5934446b st-0.9.4-cHlY4Dk │ │ │ │ + 0x018d229c 4b4f464c 6e6f4e75 64706941 44502d67 KOFLnoNudpiADP-g │ │ │ │ + 0x018d22ac 6863392e 31302e33 2e736f00 6c696248 hc9.10.3.so.libH │ │ │ │ + 0x018d22bc 5366696c 656c6f63 6b2d302e 312e312e Sfilelock-0.1.1. │ │ │ │ + 0x018d22cc 382d3357 50327067 4a7a3761 65376149 8-3WP2pgJz7ae7aI │ │ │ │ + 0x018d22dc 4f38624b 436a5768 2d676863 392e3130 O8bKCjWh-ghc9.10 │ │ │ │ + 0x018d22ec 2e332e73 6f006c69 6248536e 6f6e656d .3.so.libHSnonem │ │ │ │ + 0x018d22fc 7074792d 636f6e74 61696e65 72732d30 pty-containers-0 │ │ │ │ + 0x018d230c 2e332e35 2e302d4b 394d4844 69714b34 .3.5.0-K9MHDiqK4 │ │ │ │ + 0x018d231c 74333432 6249555a 65766656 542d6768 t342bIUZevfVT-gh │ │ │ │ + 0x018d232c 63392e31 302e332e 736f006c 69624853 c9.10.3.so.libHS │ │ │ │ + 0x018d233c 6e6f6e65 6d707479 2d766563 746f722d nonempty-vector- │ │ │ │ + 0x018d234c 302e322e 342d4779 4b773168 6f42785a 0.2.4-GyKw1hoBxZ │ │ │ │ + 0x018d235c 6f375278 71473232 6e4c4450 2d676863 o7RxqG22nLDP-ghc │ │ │ │ + 0x018d236c 392e3130 2e332e73 6f006c69 62485369 9.10.3.so.libHSi │ │ │ │ + 0x018d237c 6e766172 69616e74 2d302e36 2e342d42 nvariant-0.6.4-B │ │ │ │ + 0x018d238c 70717157 61483354 66314a76 54303151 pqqWaH3Tf1JvT01Q │ │ │ │ + 0x018d239c 5065504c 392d6768 63392e31 302e332e PePL9-ghc9.10.3. │ │ │ │ + 0x018d23ac 736f006c 69624853 70726f66 756e6374 so.libHSprofunct │ │ │ │ + 0x018d23bc 6f72732d 352e362e 332d4c69 4a596436 ors-5.6.3-LiJYd6 │ │ │ │ + 0x018d23cc 71626b74 38386149 76416d62 52576168 qbkt88aIvAmbRWah │ │ │ │ + 0x018d23dc 2d676863 392e3130 2e332e73 6f006c69 -ghc9.10.3.so.li │ │ │ │ + 0x018d23ec 62485368 61736b65 6c696e65 2d302e38 bHShaskeline-0.8 │ │ │ │ + 0x018d23fc 2e322e31 2d696e70 6c616365 2d676863 .2.1-inplace-ghc │ │ │ │ + 0x018d240c 392e3130 2e332e73 6f006c69 62485374 9.10.3.so.libHSt │ │ │ │ + 0x018d241c 65726d69 6e666f2d 302e342e 312e372d erminfo-0.4.1.7- │ │ │ │ + 0x018d242c 696e706c 6163652d 67686339 2e31302e inplace-ghc9.10. │ │ │ │ + 0x018d243c 332e736f 006c6962 48536d75 726d7572 3.so.libHSmurmur │ │ │ │ + 0x018d244c 2d686173 682d302e 312e302e 31312d48 -hash-0.1.0.11-H │ │ │ │ + 0x018d245c 4d64635a 44497939 614a6e6d 55547151 MdcZDIy9aJnmUTqQ │ │ │ │ + 0x018d246c 6f36334a 2d676863 392e3130 2e332e73 o63J-ghc9.10.3.s │ │ │ │ + 0x018d247c 6f006c69 62485370 71756575 652d312e o.libHSpqueue-1. │ │ │ │ + 0x018d248c 352e302e 302d4974 4f56446c 4e4f414f 5.0.0-ItOVDlNOAO │ │ │ │ + 0x018d249c 74423042 4751554a 3936715a 2d676863 tB0BGQUJ96qZ-ghc │ │ │ │ + 0x018d24ac 392e3130 2e332e73 6f006c69 6248537a 9.10.3.so.libHSz │ │ │ │ + 0x018d24bc 6c69622d 302e372e 312e312d 39736c4b lib-0.7.1.1-9slK │ │ │ │ + 0x018d24cc 6e535661 4b4f4d4b 664e416e 5a7a5235 nSVaKOMKfNAnZzR5 │ │ │ │ + 0x018d24dc 65792d67 6863392e 31302e33 2e736f00 ey-ghc9.10.3.so. │ │ │ │ + 0x018d24ec 6c696248 53616e73 692d7465 726d696e libHSansi-termin │ │ │ │ + 0x018d24fc 616c2d31 2e312e35 2d46737a 70454750 al-1.1.5-FszpEGP │ │ │ │ + 0x018d250c 586e5870 36765861 75575875 7a69572d XnXp6vXauWXuziW- │ │ │ │ + 0x018d251c 67686339 2e31302e 332e736f 006c6962 ghc9.10.3.so.lib │ │ │ │ + 0x018d252c 4853616e 73692d74 65726d69 6e616c2d HSansi-terminal- │ │ │ │ + 0x018d253c 74797065 732d312e 312e332d 42477343 types-1.1.3-BGsC │ │ │ │ + 0x018d254c 56543249 66383343 4d44384a 756e3577 VT2If83CMD8Jun5w │ │ │ │ + 0x018d255c 7a762d67 6863392e 31302e33 2e736f00 zv-ghc9.10.3.so. │ │ │ │ + 0x018d256c 6c696248 53636f6c 6f75722d 322e332e libHScolour-2.3. │ │ │ │ + 0x018d257c 362d4437 65795759 4f463756 6435564b 6-D7eyWYOF7Vd5VK │ │ │ │ + 0x018d258c 4d547170 44436641 2d676863 392e3130 MTqpDCfA-ghc9.10 │ │ │ │ + 0x018d259c 2e332e73 6f006c69 62485365 71756976 .3.so.libHSequiv │ │ │ │ + 0x018d25ac 616c656e 63652d30 2e342e31 2e312d43 alence-0.4.1.1-C │ │ │ │ + 0x018d25bc 71745672 63304850 45743762 31676347 qtVrc0HPEt7b1gcG │ │ │ │ + 0x018d25cc 61564d66 762d6768 63392e31 302e332e aVMfv-ghc9.10.3. │ │ │ │ + 0x018d25dc 736f006c 69624853 6768632d 636f6d70 so.libHSghc-comp │ │ │ │ + 0x018d25ec 6163742d 302e312e 302e302d 696e706c act-0.1.0.0-inpl │ │ │ │ + 0x018d25fc 6163652d 67686339 2e31302e 332e736f ace-ghc9.10.3.so │ │ │ │ + 0x018d260c 006c6962 48536564 69742d64 69737461 .libHSedit-dista │ │ │ │ + 0x018d261c 6e63652d 302e322e 322e312d 494e3233 nce-0.2.2.1-IN23 │ │ │ │ + 0x018d262c 306d6643 68576e34 74576c5a 52636e45 0mfChWn4tWlZRcnE │ │ │ │ + 0x018d263c 38312d67 6863392e 31302e33 2e736f00 81-ghc9.10.3.so. │ │ │ │ + 0x018d264c 6c696248 53636173 652d696e 73656e73 libHScase-insens │ │ │ │ + 0x018d265c 69746976 652d312e 322e312e 302d647a itive-1.2.1.0-dz │ │ │ │ + 0x018d266c 47314f43 77585575 37664a4a 31476b6a G1OCwXUu7fJJ1Gkj │ │ │ │ + 0x018d267c 6c4c682d 67686339 2e31302e 332e736f lLh-ghc9.10.3.so │ │ │ │ + 0x018d268c 006c6962 48536165 736f6e2d 322e322e .libHSaeson-2.2. │ │ │ │ + 0x018d269c 332e302d 4a424170 4c4d505a 6a4b744b 3.0-JBApLMPZjKtK │ │ │ │ + 0x018d26ac 30314c35 684b6b4b 73342d67 6863392e 01L5hKkKs4-ghc9. │ │ │ │ + 0x018d26bc 31302e33 2e736f00 6c696248 53776974 10.3.so.libHSwit │ │ │ │ + 0x018d26cc 68657261 626c652d 302e352d 36386e6c herable-0.5-68nl │ │ │ │ + 0x018d26dc 48346d51 64324244 41325953 44616e63 H4mQd2BDA2YSDanc │ │ │ │ + 0x018d26ec 52532d67 6863392e 31302e33 2e736f00 RS-ghc9.10.3.so. │ │ │ │ + 0x018d26fc 6c696248 53757569 642d7479 7065732d libHSuuid-types- │ │ │ │ + 0x018d270c 312e302e 362d4456 65454354 46654c66 1.0.6-DVeECTFeLf │ │ │ │ + 0x018d271c 7733666e 644f646b 514b3171 2d676863 w3fndOdkQK1q-ghc │ │ │ │ + 0x018d272c 392e3130 2e332e73 6f006c69 62485374 9.10.3.so.libHSt │ │ │ │ + 0x018d273c 6578742d 73686f72 742d302e 312e362d ext-short-0.1.6- │ │ │ │ + 0x018d274c 46546b51 6e79664f 74467335 794b434e FTkQnyfOtFs5yKCN │ │ │ │ + 0x018d275c 4e614146 34622d67 6863392e 31302e33 NaAF4b-ghc9.10.3 │ │ │ │ + 0x018d276c 2e736f00 6c696248 53746578 742d6973 .so.libHStext-is │ │ │ │ + 0x018d277c 6f383630 312d302e 312e312d 45756d56 o8601-0.1.1-EumV │ │ │ │ + 0x018d278c 33426b51 39797741 53775a70 48456152 3BkQ9ywASwZpHEaR │ │ │ │ + 0x018d279c 35632d67 6863392e 31302e33 2e736f00 5c-ghc9.10.3.so. │ │ │ │ + 0x018d27ac 6c696248 5374696d 652d636f 6d706174 libHStime-compat │ │ │ │ + 0x018d27bc 2d312e39 2e382d47 59597062 4b655733 -1.9.8-GYYpbKeW3 │ │ │ │ + 0x018d27cc 48634541 386f5470 46795752 4e2d6768 HcEA8oTpFyWRN-gh │ │ │ │ + 0x018d27dc 63392e31 302e332e 736f006c 69624853 c9.10.3.so.libHS │ │ │ │ + 0x018d27ec 73656d69 616c6967 6e2d312e 332e312d semialign-1.3.1- │ │ │ │ + 0x018d27fc 49686734 456c7948 6645414c 6234434d Ihg4ElyHfEALb4CM │ │ │ │ + 0x018d280c 77697741 78652d67 6863392e 31302e33 wiwAxe-ghc9.10.3 │ │ │ │ + 0x018d281c 2e736f00 6c696248 5373656d 6967726f .so.libHSsemigro │ │ │ │ + 0x018d282c 75706f69 64732d36 2e302e31 2d443734 upoids-6.0.1-D74 │ │ │ │ + 0x018d283c 53693853 62584a5a 39425732 54546554 Si8SbXJZ9BW2TTeT │ │ │ │ + 0x018d284c 6a5a682d 67686339 2e31302e 332e736f jZh-ghc9.10.3.so │ │ │ │ + 0x018d285c 006c6962 4853636f 6e747261 76617269 .libHScontravari │ │ │ │ + 0x018d286c 616e742d 312e352e 352d3364 4c4d5246 ant-1.5.5-3dLMRF │ │ │ │ + 0x018d287c 39364573 78476b50 6f556e6e 47397078 96EsxGkPoUnnG9px │ │ │ │ + 0x018d288c 2d676863 392e3130 2e332e73 6f006c69 -ghc9.10.3.so.li │ │ │ │ + 0x018d289c 62485353 74617465 5661722d 312e322e bHSStateVar-1.2. │ │ │ │ + 0x018d28ac 322d4978 37664b37 3470536c 67394236 2-Ix7fK74pSlg9B6 │ │ │ │ + 0x018d28bc 79344e4e 38375a39 2d676863 392e3130 y4NN87Z9-ghc9.10 │ │ │ │ + 0x018d28cc 2e332e73 6f006c69 62485362 6966756e .3.so.libHSbifun │ │ │ │ + 0x018d28dc 63746f72 732d352e 362e322d 346b5879 ctors-5.6.2-4kXy │ │ │ │ + 0x018d28ec 4139596c 32597339 61476165 31735564 A9Yl2Ys9aGae1sUd │ │ │ │ + 0x018d28fc 78752d67 6863392e 31302e33 2e736f00 xu-ghc9.10.3.so. │ │ │ │ + 0x018d290c 6c696248 5374682d 61627374 72616374 libHSth-abstract │ │ │ │ + 0x018d291c 696f6e2d 302e372e 312e302d 34704d68 ion-0.7.1.0-4pMh │ │ │ │ + 0x018d292c 34633532 56666338 57785864 6a48745a 4c52Vfc8WxXdjHtZ │ │ │ │ + 0x018d293c 777a2d67 6863392e 31302e33 2e736f00 wz-ghc9.10.3.so. │ │ │ │ + 0x018d294c 6c696248 53636f6d 6f6e6164 2d352e30 libHScomonad-5.0 │ │ │ │ + 0x018d295c 2e392d44 3449636d 41597358 59454644 .9-D4IcmAYsXYEFD │ │ │ │ + 0x018d296c 6d727854 49365a71 652d6768 63392e31 mrxTI6Zqe-ghc9.1 │ │ │ │ + 0x018d297c 302e332e 736f006c 69624853 64697374 0.3.so.libHSdist │ │ │ │ + 0x018d298c 72696275 74697665 2d302e36 2e322e31 ributive-0.6.2.1 │ │ │ │ + 0x018d299c 2d414663 34744476 56376136 41453662 -AFc4tDvV7a6AE6b │ │ │ │ + 0x018d29ac 53784772 45666d2d 67686339 2e31302e SxGrEfm-ghc9.10. │ │ │ │ + 0x018d29bc 332e736f 006c6962 4853696e 64657865 3.so.libHSindexe │ │ │ │ + 0x018d29cc 642d7472 61766572 7361626c 652d696e d-traversable-in │ │ │ │ + 0x018d29dc 7374616e 6365732d 302e312e 322d4779 stances-0.1.2-Gy │ │ │ │ + 0x018d29ec 4456454f 47675069 4d485253 53726c6e DVEOGgPiMHRSSrln │ │ │ │ + 0x018d29fc 314d7948 2d676863 392e3130 2e332e73 1MyH-ghc9.10.3.s │ │ │ │ + 0x018d2a0c 6f006c69 62485374 61676765 642d302e o.libHStagged-0. │ │ │ │ + 0x018d2a1c 382e392d 45726153 6470306c 7837754a 8.9-EraSdp0lx7uJ │ │ │ │ + 0x018d2a2c 6e714553 7972714c 54502d67 6863392e nqESyrqLTP-ghc9. │ │ │ │ + 0x018d2a3c 31302e33 2e736f00 6c696248 53736369 10.3.so.libHSsci │ │ │ │ + 0x018d2a4c 656e7469 6669632d 302e332e 382e302d entific-0.3.8.0- │ │ │ │ + 0x018d2a5c 4a52356a 3754386a 375a7845 77353432 JR5j7T8j7ZxEw542 │ │ │ │ + 0x018d2a6c 556f774a 73562d67 6863392e 31302e33 UowJsV-ghc9.10.3 │ │ │ │ + 0x018d2a7c 2e736f00 6c696248 53696e74 65676572 .so.libHSinteger │ │ │ │ + 0x018d2a8c 2d6c6f67 61726974 686d732d 312e302e -logarithms-1.0. │ │ │ │ + 0x018d2a9c 342d4547 55655052 49744c6e 3235424f 4-EGUePRItLn25BO │ │ │ │ + 0x018d2aac 69703758 31657151 2d676863 392e3130 ip7X1eqQ-ghc9.10 │ │ │ │ + 0x018d2abc 2e332e73 6f006c69 62485369 6e746567 .3.so.libHSinteg │ │ │ │ + 0x018d2acc 65722d63 6f6e7665 7273696f 6e2d302e er-conversion-0. │ │ │ │ + 0x018d2adc 312e312d 31643071 5045654a 4c594639 1.1-1d0qPEeJLYF9 │ │ │ │ + 0x018d2aec 7159635a 77775042 4d642d67 6863392e qYcZwwPBMd-ghc9. │ │ │ │ + 0x018d2afc 31302e33 2e736f00 6c696248 53696e64 10.3.so.libHSind │ │ │ │ + 0x018d2b0c 65786564 2d747261 76657273 61626c65 exed-traversable │ │ │ │ + 0x018d2b1c 2d302e31 2e342d48 68477a54 32643633 -0.1.4-HhGzT2d63 │ │ │ │ + 0x018d2b2c 6d384564 4c784449 65424f58 4f2d6768 m8EdLxDIeBOXO-gh │ │ │ │ + 0x018d2b3c 63392e31 302e332e 736f006c 69624853 c9.10.3.so.libHS │ │ │ │ + 0x018d2b4c 64617461 2d666978 2d302e33 2e342d35 data-fix-0.3.4-5 │ │ │ │ + 0x018d2b5c 6f39734f 71536756 78303762 65796c6a o9sOqSgVx07beylj │ │ │ │ + 0x018d2b6c 58596f79 622d6768 63392e31 302e332e XYoyb-ghc9.10.3. │ │ │ │ + 0x018d2b7c 736f006c 69624853 63686172 61637465 so.libHScharacte │ │ │ │ + 0x018d2b8c 722d7073 2d302e31 2d496957 635a3053 r-ps-0.1-IiWcZ0S │ │ │ │ + 0x018d2b9c 71614650 38516373 49693265 326e682d qaFP8QcsIi2e2nh- │ │ │ │ + 0x018d2bac 67686339 2e31302e 332e736f 006c6962 ghc9.10.3.so.lib │ │ │ │ + 0x018d2bbc 48535175 69636b43 6865636b 2d322e31 HSQuickCheck-2.1 │ │ │ │ + 0x018d2bcc 352e302e 312d3737 466f7057 5973786f 5.0.1-77FopWYsxo │ │ │ │ + 0x018d2bdc 33755166 75756c78 6a70672d 67686339 3uQfuulxjpg-ghc9 │ │ │ │ + 0x018d2bec 2e31302e 332e736f 006c6962 48537261 .10.3.so.libHSra │ │ │ │ + 0x018d2bfc 6e646f6d 2d312e32 2e312e33 2d43564a ndom-1.2.1.3-CVJ │ │ │ │ + 0x018d2c0c 384c3371 574e6731 4a527747 31577046 8L3qWNg1JRwG1WpF │ │ │ │ + 0x018d2c1c 7150752d 67686339 2e31302e 332e736f qPu-ghc9.10.3.so │ │ │ │ + 0x018d2c2c 006c6962 48537370 6c69746d 69782d30 .libHSsplitmix-0 │ │ │ │ + 0x018d2c3c 2e312e33 2e312d42 47737655 4958506b .1.3.1-BGsvUIXPk │ │ │ │ + 0x018d2c4c 5663496e 694b4e37 36794f42 622d6768 VcIniKN76yOBb-gh │ │ │ │ + 0x018d2c5c 63392e31 302e332e 736f006c 69624853 c9.10.3.so.libHS │ │ │ │ + 0x018d2c6c 4f6e6554 75706c65 2d302e34 2e322d44 OneTuple-0.4.2-D │ │ │ │ + 0x018d2c7c 4e4a4f53 5a567665 44353243 6c566f71 NJOSZVveD52ClVoq │ │ │ │ + 0x018d2c8c 6a4e6930 772d6768 63392e31 302e332e jNi0w-ghc9.10.3. │ │ │ │ + 0x018d2c9c 736f006c 69624853 76656374 6f722d68 so.libHSvector-h │ │ │ │ + 0x018d2cac 61736874 61626c65 732d302e 312e322e ashtables-0.1.2. │ │ │ │ + 0x018d2cbc 312d4575 70555544 78467667 59353466 1-EupUUDxFvgY54f │ │ │ │ + 0x018d2ccc 6e79576f 45485070 2d676863 392e3130 nyWoEHPp-ghc9.10 │ │ │ │ + 0x018d2cdc 2e332e73 6f006c69 62485376 6563746f .3.so.libHSvecto │ │ │ │ + 0x018d2cec 722d302e 31332e32 2e302d31 414a496b r-0.13.2.0-1AJIk │ │ │ │ + 0x018d2cfc 6d64676d 3177476e 6243754e 75323733 mdgm1wGnbCuNu273 │ │ │ │ + 0x018d2d0c 702d6768 63392e31 302e332e 736f006c p-ghc9.10.3.so.l │ │ │ │ + 0x018d2d1c 69624853 76656374 6f722d73 74726561 ibHSvector-strea │ │ │ │ + 0x018d2d2c 6d2d302e 312e302e 312d4c35 49524a65 m-0.1.0.1-L5IRJe │ │ │ │ + 0x018d2d3c 684d7534 35367636 30664f70 4b51526b hMu456v60fOpKQRk │ │ │ │ + 0x018d2d4c 2d676863 392e3130 2e332e73 6f006c69 -ghc9.10.3.so.li │ │ │ │ + 0x018d2d5c 62485370 72696d69 74697665 2d302e39 bHSprimitive-0.9 │ │ │ │ + 0x018d2d6c 2e312e30 2d436461 61443338 77347142 .1.0-CdaaD38w4qB │ │ │ │ + 0x018d2d7c 3672726f 736a7154 5366412d 67686339 6rrosjqTSfA-ghc9 │ │ │ │ + 0x018d2d8c 2e31302e 332e736f 006c6962 4853626c .10.3.so.libHSbl │ │ │ │ + 0x018d2d9c 617a652d 68746d6c 2d302e39 2e322e30 aze-html-0.9.2.0 │ │ │ │ + 0x018d2dac 2d496f74 694d394e 6b4d776c 33456655 -IotiM9NkMwl3EfU │ │ │ │ + 0x018d2dbc 674c6c4b 416d572d 67686339 2e31302e gLlKAmW-ghc9.10. │ │ │ │ + 0x018d2dcc 332e736f 006c6962 4853626c 617a652d 3.so.libHSblaze- │ │ │ │ + 0x018d2ddc 6d61726b 75702d30 2e382e33 2e302d43 markup-0.8.3.0-C │ │ │ │ + 0x018d2dec 75384d65 466f5362 345a3558 4f643078 u8MeFoSb4Z5XOd0x │ │ │ │ + 0x018d2dfc 66684a5a 6f2d6768 63392e31 302e332e fhJZo-ghc9.10.3. │ │ │ │ + 0x018d2e0c 736f006c 69624853 626c617a 652d6275 so.libHSblaze-bu │ │ │ │ + 0x018d2e1c 696c6465 722d302e 342e342e 312d4945 ilder-0.4.4.1-IE │ │ │ │ + 0x018d2e2c 54627458 7639414e 65494678 49737361 TbtXv9ANeIFxIssa │ │ │ │ + 0x018d2e3c 59657839 2d676863 392e3130 2e332e73 Yex9-ghc9.10.3.s │ │ │ │ + 0x018d2e4c 6f006c69 62485366 696c656d 616e6970 o.libHSfilemanip │ │ │ │ + 0x018d2e5c 2d302e33 2e362e33 2d387434 4b71454b -0.3.6.3-8t4KqEK │ │ │ │ + 0x018d2e6c 7a666e74 49307253 58457673 6b79312d zfntI0rSXEvsky1- │ │ │ │ + 0x018d2e7c 67686339 2e31302e 332e736f 006c6962 ghc9.10.3.so.lib │ │ │ │ + 0x018d2e8c 4853756e 69782d63 6f6d7061 742d302e HSunix-compat-0. │ │ │ │ + 0x018d2e9c 372e342e 312d724f 46343666 6d4b3266 7.4.1-rOF46fmK2f │ │ │ │ + 0x018d2eac 4c433958 6a4f7257 30696b2d 67686339 LC9XjOrW0ik-ghc9 │ │ │ │ + 0x018d2ebc 2e31302e 332e736f 006c6962 48537572 .10.3.so.libHSur │ │ │ │ + 0x018d2ecc 692d656e 636f6465 2d312e35 2e302e37 i-encode-1.5.0.7 │ │ │ │ + 0x018d2edc 2d496273 376c4542 6f4f5535 33507774 -Ibs7lEBoOU53Pwt │ │ │ │ + 0x018d2eec 4a763242 70454d2d 67686339 2e31302e Jv2BpEM-ghc9.10. │ │ │ │ + 0x018d2efc 332e736f 006c6962 48537574 66382d73 3.so.libHSutf8-s │ │ │ │ + 0x018d2f0c 7472696e 672d312e 302e322d 48636634 tring-1.0.2-Hcf4 │ │ │ │ + 0x018d2f1c 47664d47 4877364a 354b4935 42555761 GfMGHw6J5KI5BUWa │ │ │ │ + 0x018d2f2c 374d2d67 6863392e 31302e33 2e736f00 7M-ghc9.10.3.so. │ │ │ │ + 0x018d2f3c 6c696248 536e6574 776f726b 2d757269 libHSnetwork-uri │ │ │ │ + 0x018d2f4c 2d322e36 2e342e32 2d425856 304d7446 -2.6.4.2-BXV0MtF │ │ │ │ + 0x018d2f5c 63614636 4278536b 456c6b70 7662312d caF6BxSkElkpvb1- │ │ │ │ + 0x018d2f6c 67686339 2e31302e 332e736f 006c6962 ghc9.10.3.so.lib │ │ │ │ + 0x018d2f7c 48537468 2d636f6d 7061742d 302e312e HSth-compat-0.1. │ │ │ │ + 0x018d2f8c 362d4537 52384c6b 72703973 67437546 6-E7R8Lkrp9sgCuF │ │ │ │ + 0x018d2f9c 6171754f 47744351 2d676863 392e3130 aquOGtCQ-ghc9.10 │ │ │ │ + 0x018d2fac 2e332e73 6f006c69 62485367 656e6572 .3.so.libHSgener │ │ │ │ + 0x018d2fbc 69632d64 6174612d 312e312e 302e322d ic-data-1.1.0.2- │ │ │ │ + 0x018d2fcc 4a753946 6f4f7573 515a3445 77644a70 Ju9FoOusQZ4EwdJp │ │ │ │ + 0x018d2fdc 546f3764 334a2d67 6863392e 31302e33 To7d3J-ghc9.10.3 │ │ │ │ + 0x018d2fec 2e736f00 6c696248 5373686f 772d636f .so.libHSshow-co │ │ │ │ + 0x018d2ffc 6d62696e 61746f72 732d302e 322e302e mbinators-0.2.0. │ │ │ │ + 0x018d300c 302d3662 6a653254 746c5a71 7546594b 0-6bje2TtlZquFYK │ │ │ │ + 0x018d301c 534d4243 7064385a 2d676863 392e3130 SMBCpd8Z-ghc9.10 │ │ │ │ + 0x018d302c 2e332e73 6f006c69 62485361 702d6e6f .3.so.libHSap-no │ │ │ │ + 0x018d303c 726d616c 697a652d 302e312e 302e312d rmalize-0.1.0.1- │ │ │ │ + 0x018d304c 4261776a 524d6470 77595831 306f426b BawjRMdpwYX10oBk │ │ │ │ + 0x018d305c 50736a53 66552d67 6863392e 31302e33 PsjSfU-ghc9.10.3 │ │ │ │ + 0x018d306c 2e736f00 6c696248 5353544d 6f6e6164 .so.libHSSTMonad │ │ │ │ + 0x018d307c 5472616e 732d302e 342e382e 312d6179 Trans-0.4.8.1-ay │ │ │ │ + 0x018d308c 5a303673 58346845 48336d6f 796f4b6f Z06sX4hEH3moyoKo │ │ │ │ + 0x018d309c 48316b2d 67686339 2e31302e 332e736f H1k-ghc9.10.3.so │ │ │ │ + 0x018d30ac 006c6962 4853756e 6f726465 7265642d .libHSunordered- │ │ │ │ + 0x018d30bc 636f6e74 61696e65 72732d30 2e322e32 containers-0.2.2 │ │ │ │ + 0x018d30cc 302e312d 4b395967 49395158 7276454b 0.1-K9YgI9QXrvEK │ │ │ │ + 0x018d30dc 4859486f 56375270 64742d67 6863392e HYHoV7Rpdt-ghc9. │ │ │ │ + 0x018d30ec 31302e33 2e736f00 6c696248 53646c69 10.3.so.libHSdli │ │ │ │ + 0x018d30fc 73742d31 2e302d44 43323843 496b6156 st-1.0-DC28CIkaV │ │ │ │ + 0x018d310c 4b6c4151 72314741 5141426f 642d6768 KlAQr1GAQABod-gh │ │ │ │ + 0x018d311c 63392e31 302e332e 736f006c 69624853 c9.10.3.so.libHS │ │ │ │ + 0x018d312c 70617261 6c6c656c 2d332e32 2e322e30 parallel-3.2.2.0 │ │ │ │ + 0x018d313c 2d45674f 37766278 4d4f7766 37364744 -EgO7vbxMOwf76GD │ │ │ │ + 0x018d314c 49474966 4f616d2d 67686339 2e31302e IGIfOam-ghc9.10. │ │ │ │ + 0x018d315c 332e736f 006c6962 48537374 72696374 3.so.libHSstrict │ │ │ │ + 0x018d316c 2d302e35 2e312d36 7a484a59 6759364b -0.5.1-6zHJYgY6K │ │ │ │ + 0x018d317c 43304a38 41525631 4c663830 622d6768 C0J8ARV1Lf80b-gh │ │ │ │ + 0x018d318c 63392e31 302e332e 736f006c 69624853 c9.10.3.so.libHS │ │ │ │ + 0x018d319c 74686573 652d312e 322e312d 4a614953 these-1.2.1-JaIS │ │ │ │ + 0x018d31ac 4a344639 54447448 7759446a 626b3142 J4F9TDtHwYDjbk1B │ │ │ │ + 0x018d31bc 6e672d67 6863392e 31302e33 2e736f00 ng-ghc9.10.3.so. │ │ │ │ + 0x018d31cc 6c696248 53617373 6f632d31 2e312e31 libHSassoc-1.1.1 │ │ │ │ + 0x018d31dc 2d333042 43646e30 31777543 4c555951 -30BCdn01wuCLUYQ │ │ │ │ + 0x018d31ec 6564464a 4851522d 67686339 2e31302e edFJHQR-ghc9.10. │ │ │ │ + 0x018d31fc 332e736f 006c6962 48536d6f 6e61642d 3.so.libHSmonad- │ │ │ │ + 0x018d320c 636f6e74 726f6c2d 312e302e 332e312d control-1.0.3.1- │ │ │ │ + 0x018d321c 38536c56 31687756 71797434 42545741 8SlV1hwVqyt4BTWA │ │ │ │ + 0x018d322c 76574179 73332d67 6863392e 31302e33 vWAys3-ghc9.10.3 │ │ │ │ + 0x018d323c 2e736f00 6c696248 53747261 6e73666f .so.libHStransfo │ │ │ │ + 0x018d324c 726d6572 732d6261 73652d30 2e342e36 rmers-base-0.4.6 │ │ │ │ + 0x018d325c 2d443243 366e7459 39326132 4c704745 -D2C6ntY92a2LpGE │ │ │ │ + 0x018d326c 70486757 6761422d 67686339 2e31302e pHgWgaB-ghc9.10. │ │ │ │ + 0x018d327c 332e736f 006c6962 48537472 616e7366 3.so.libHStransf │ │ │ │ + 0x018d328c 6f726d65 72732d63 6f6d7061 742d302e ormers-compat-0. │ │ │ │ + 0x018d329c 372e322d 49335a49 654f4664 45754b54 7.2-I3ZIeOFdEuKT │ │ │ │ + 0x018d32ac 39636c4b 6c59506e 462d6768 63392e31 9clKlYPnF-ghc9.1 │ │ │ │ + 0x018d32bc 302e332e 736f006c 69624853 62617365 0.3.so.libHSbase │ │ │ │ + 0x018d32cc 2d6f7270 68616e73 2d302e39 2e332d37 -orphans-0.9.3-7 │ │ │ │ + 0x018d32dc 70614657 64773350 35444b54 746d636f paFWdw3P5DKTtmco │ │ │ │ + 0x018d32ec 6751744b 372d6768 63392e31 302e332e gQtK7-ghc9.10.3. │ │ │ │ + 0x018d32fc 736f006c 69624853 64617461 2d686173 so.libHSdata-has │ │ │ │ + 0x018d330c 682d302e 322e302e 312d3373 38454c48 h-0.2.0.1-3s8ELH │ │ │ │ + 0x018d331c 734f6f4b 34394654 67307867 66376a71 sOoK49FTg0xgf7jq │ │ │ │ + 0x018d332c 2d676863 392e3130 2e332e73 6f006c69 -ghc9.10.3.so.li │ │ │ │ + 0x018d333c 62485367 69747265 762d312e 332e312d bHSgitrev-1.3.1- │ │ │ │ + 0x018d334c 38705852 66574a38 52365843 63745461 8pXRfWJ8R6XCctTa │ │ │ │ + 0x018d335c 35717347 64492d67 6863392e 31302e33 5qsGdI-ghc9.10.3 │ │ │ │ + 0x018d336c 2e736f00 6c696248 5370726f 63657373 .so.libHSprocess │ │ │ │ + 0x018d337c 2d312e36 2e32362e 312d696e 706c6163 -1.6.26.1-inplac │ │ │ │ + 0x018d338c 652d6768 63392e31 302e332e 736f006c e-ghc9.10.3.so.l │ │ │ │ + 0x018d339c 69624853 64697265 63746f72 792d312e ibHSdirectory-1. │ │ │ │ + 0x018d33ac 332e382e 352d696e 706c6163 652d6768 3.8.5-inplace-gh │ │ │ │ + 0x018d33bc 63392e31 302e332e 736f006c 69624853 c9.10.3.so.libHS │ │ │ │ + 0x018d33cc 62617365 2d636f6d 7061742d 302e3134 base-compat-0.14 │ │ │ │ + 0x018d33dc 2e312d49 384e5678 7869646b 41414253 .1-I8NVxxidkAABS │ │ │ │ + 0x018d33ec 6a624d61 55364c57 762d6768 63392e31 jbMaU6LWv-ghc9.1 │ │ │ │ + 0x018d33fc 302e332e 736f006c 69624853 756e6978 0.3.so.libHSunix │ │ │ │ + 0x018d340c 2d322e38 2e372e30 2d696e70 6c616365 -2.8.7.0-inplace │ │ │ │ + 0x018d341c 2d676863 392e3130 2e332e73 6f006c69 -ghc9.10.3.so.li │ │ │ │ + 0x018d342c 62485362 6f786573 2d302e31 2e352d39 bHSboxes-0.1.5-9 │ │ │ │ + 0x018d343c 77547134 4c635971 4b754345 744f4138 wTq4LcYqKuCEtOA8 │ │ │ │ + 0x018d344c 4474596e 352d6768 63392e31 302e332e DtYn5-ghc9.10.3. │ │ │ │ + 0x018d345c 736f006c 69624853 73706c69 742d302e so.libHSsplit-0. │ │ │ │ + 0x018d346c 322e352d 32446735 63443354 69756b53 2.5-2Dg5cD3TiukS │ │ │ │ + 0x018d347c 6b6f5631 74786355 502d6768 63392e31 koV1txcUP-ghc9.1 │ │ │ │ + 0x018d348c 302e332e 736f006c 69624853 6173796e 0.3.so.libHSasyn │ │ │ │ + 0x018d349c 632d322e 322e352d 474a6455 50765a69 c-2.2.5-GJdUPvZi │ │ │ │ + 0x018d34ac 6d506d35 67675241 65616145 48562d67 mPm5ggRAeaaEHV-g │ │ │ │ + 0x018d34bc 6863392e 31302e33 2e736f00 6c696248 hc9.10.3.so.libH │ │ │ │ + 0x018d34cc 53686173 6861626c 652d312e 352e302e Shashable-1.5.0. │ │ │ │ + 0x018d34dc 302d326b 4e563543 4b586163 70475076 0-2kNV5CKXacpGPv │ │ │ │ + 0x018d34ec 304f6b63 4e433152 2d676863 392e3130 0OkcNC1R-ghc9.10 │ │ │ │ + 0x018d34fc 2e332e73 6f006c69 62485366 696c6570 .3.so.libHSfilep │ │ │ │ + 0x018d350c 6174682d 312e352e 342e302d 696e706c ath-1.5.4.0-inpl │ │ │ │ + 0x018d351c 6163652d 67686339 2e31302e 332e736f ace-ghc9.10.3.so │ │ │ │ + 0x018d352c 006c6962 48536f73 2d737472 696e672d .libHSos-string- │ │ │ │ + 0x018d353c 322e302e 372d696e 706c6163 652d6768 2.0.7-inplace-gh │ │ │ │ 0x018d354c 63392e31 302e332e 736f006c 69624853 c9.10.3.so.libHS │ │ │ │ - 0x018d355c 74657874 2d322e31 2e332d69 6e706c61 text-2.1.3-inpla │ │ │ │ - 0x018d356c 63652d67 6863392e 31302e33 2e736f00 ce-ghc9.10.3.so. │ │ │ │ - 0x018d357c 6c696248 5362696e 6172792d 302e382e libHSbinary-0.8. │ │ │ │ - 0x018d358c 392e332d 696e706c 6163652d 67686339 9.3-inplace-ghc9 │ │ │ │ - 0x018d359c 2e31302e 332e736f 006c6962 48536669 .10.3.so.libHSfi │ │ │ │ - 0x018d35ac 6c657061 74682d31 2e352e34 2e302d69 lepath-1.5.4.0-i │ │ │ │ - 0x018d35bc 6e706c61 63652d67 6863392e 31302e33 nplace-ghc9.10.3 │ │ │ │ - 0x018d35cc 2e736f00 6c696248 536f732d 73747269 .so.libHSos-stri │ │ │ │ - 0x018d35dc 6e672d32 2e302e37 2d696e70 6c616365 ng-2.0.7-inplace │ │ │ │ - 0x018d35ec 2d676863 392e3130 2e332e73 6f006c69 -ghc9.10.3.so.li │ │ │ │ - 0x018d35fc 62485365 78636570 74696f6e 732d302e bHSexceptions-0. │ │ │ │ - 0x018d360c 31302e39 2d696e70 6c616365 2d676863 10.9-inplace-ghc │ │ │ │ - 0x018d361c 392e3130 2e332e73 6f006c69 62485373 9.10.3.so.libHSs │ │ │ │ - 0x018d362c 746d2d32 2e352e33 2e312d69 6e706c61 tm-2.5.3.1-inpla │ │ │ │ - 0x018d363c 63652d67 6863392e 31302e33 2e736f00 ce-ghc9.10.3.so. │ │ │ │ - 0x018d364c 6c696248 536d746c 2d322e33 2e312d69 libHSmtl-2.3.1-i │ │ │ │ - 0x018d365c 6e706c61 63652d67 6863392e 31302e33 nplace-ghc9.10.3 │ │ │ │ - 0x018d366c 2e736f00 6c696248 53747261 6e73666f .so.libHStransfo │ │ │ │ - 0x018d367c 726d6572 732d302e 362e312e 312d696e rmers-0.6.1.1-in │ │ │ │ - 0x018d368c 706c6163 652d6768 63392e31 302e332e place-ghc9.10.3. │ │ │ │ - 0x018d369c 736f006c 69624853 636f6e74 61696e65 so.libHScontaine │ │ │ │ - 0x018d36ac 72732d30 2e372d69 6e706c61 63652d67 rs-0.7-inplace-g │ │ │ │ - 0x018d36bc 6863392e 31302e33 2e736f00 6c696248 hc9.10.3.so.libH │ │ │ │ - 0x018d36cc 537a6c69 622d302e 372e312e 312d3973 Szlib-0.7.1.1-9s │ │ │ │ - 0x018d36dc 6c4b6e53 56614b4f 4d4b664e 416e5a7a lKnSVaKOMKfNAnZz │ │ │ │ - 0x018d36ec 52356579 2d676863 392e3130 2e332e73 R5ey-ghc9.10.3.s │ │ │ │ - 0x018d36fc 6f006c69 6248536d 75726d75 722d6861 o.libHSmurmur-ha │ │ │ │ - 0x018d370c 73682d30 2e312e30 2e31312d 484d6463 sh-0.1.0.11-HMdc │ │ │ │ - 0x018d371c 5a444979 39614a6e 6d555471 516f3633 ZDIy9aJnmUTqQo63 │ │ │ │ - 0x018d372c 4a2d6768 63392e31 302e332e 736f006c J-ghc9.10.3.so.l │ │ │ │ + 0x018d355c 65786365 7074696f 6e732d30 2e31302e exceptions-0.10. │ │ │ │ + 0x018d356c 392d696e 706c6163 652d6768 63392e31 9-inplace-ghc9.1 │ │ │ │ + 0x018d357c 302e332e 736f006c 69624853 73746d2d 0.3.so.libHSstm- │ │ │ │ + 0x018d358c 322e352e 332e312d 696e706c 6163652d 2.5.3.1-inplace- │ │ │ │ + 0x018d359c 67686339 2e31302e 332e736f 006c6962 ghc9.10.3.so.lib │ │ │ │ + 0x018d35ac 48537469 6d652d31 2e31322e 322d696e HStime-1.12.2-in │ │ │ │ + 0x018d35bc 706c6163 652d6768 63392e31 302e332e place-ghc9.10.3. │ │ │ │ + 0x018d35cc 736f006c 69624853 72656765 782d7464 so.libHSregex-td │ │ │ │ + 0x018d35dc 66612d31 2e332e32 2e352d32 43506579 fa-1.3.2.5-2CPey │ │ │ │ + 0x018d35ec 544d4531 6f52696c 51767364 6f777732 TME1oRilQvsdoww2 │ │ │ │ + 0x018d35fc 2d676863 392e3130 2e332e73 6f006c69 -ghc9.10.3.so.li │ │ │ │ + 0x018d360c 62485372 65676578 2d626173 652d302e bHSregex-base-0. │ │ │ │ + 0x018d361c 39342e30 2e332d39 51656844 5a4e4c56 94.0.3-9QehDZNLV │ │ │ │ + 0x018d362c 39694263 68387a78 46446856 492d6768 9iBch8zxFDhVI-gh │ │ │ │ + 0x018d363c 63392e31 302e332e 736f006c 69624853 c9.10.3.so.libHS │ │ │ │ + 0x018d364c 70617273 65632d33 2e312e31 382e302d parsec-3.1.18.0- │ │ │ │ + 0x018d365c 696e706c 6163652d 67686339 2e31302e inplace-ghc9.10. │ │ │ │ + 0x018d366c 332e736f 006c6962 48537465 78742d32 3.so.libHStext-2 │ │ │ │ + 0x018d367c 2e312e33 2d696e70 6c616365 2d676863 .1.3-inplace-ghc │ │ │ │ + 0x018d368c 392e3130 2e332e73 6f006c69 62485362 9.10.3.so.libHSb │ │ │ │ + 0x018d369c 696e6172 792d302e 382e392e 332d696e inary-0.8.9.3-in │ │ │ │ + 0x018d36ac 706c6163 652d6768 63392e31 302e332e place-ghc9.10.3. │ │ │ │ + 0x018d36bc 736f006c 69624853 6d746c2d 322e332e so.libHSmtl-2.3. │ │ │ │ + 0x018d36cc 312d696e 706c6163 652d6768 63392e31 1-inplace-ghc9.1 │ │ │ │ + 0x018d36dc 302e332e 736f006c 69624853 7472616e 0.3.so.libHStran │ │ │ │ + 0x018d36ec 73666f72 6d657273 2d302e36 2e312e31 sformers-0.6.1.1 │ │ │ │ + 0x018d36fc 2d696e70 6c616365 2d676863 392e3130 -inplace-ghc9.10 │ │ │ │ + 0x018d370c 2e332e73 6f006c69 62485363 6f6e7461 .3.so.libHSconta │ │ │ │ + 0x018d371c 696e6572 732d302e 372d696e 706c6163 iners-0.7-inplac │ │ │ │ + 0x018d372c 652d6768 63392e31 302e332e 736f006c e-ghc9.10.3.so.l │ │ │ │ 0x018d373c 69624853 62797465 73747269 6e672d30 ibHSbytestring-0 │ │ │ │ 0x018d374c 2e31322e 322e302d 696e706c 6163652d .12.2.0-inplace- │ │ │ │ 0x018d375c 67686339 2e31302e 332e736f 006c6962 ghc9.10.3.so.lib │ │ │ │ 0x018d376c 48537465 6d706c61 74652d68 61736b65 HStemplate-haske │ │ │ │ 0x018d377c 6c6c2d32 2e32322e 302e302d 696e706c ll-2.22.0.0-inpl │ │ │ │ 0x018d378c 6163652d 67686339 2e31302e 332e736f ace-ghc9.10.3.so │ │ │ │ 0x018d379c 006c6962 48537072 65747479 2d312e31 .libHSpretty-1.1