{"id":18885480,"url":"https://github.com/dagit/agda","last_synced_at":"2026-02-23T07:30:17.993Z","repository":{"id":6442768,"uuid":"7682121","full_name":"dagit/agda","owner":"dagit","description":"Agda is a dependently typed programming language. This is a clone of the Agda darcs repo that can be found at http://code.haskell.org/Agda.","archived":false,"fork":false,"pushed_at":"2012-10-17T05:45:43.000Z","size":51990,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-12-31T04:42:02.161Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Haskell","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dagit.png","metadata":{"files":{"readme":"README","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-01-18T07:05:59.000Z","updated_at":"2019-12-05T06:32:40.000Z","dependencies_parsed_at":"2022-09-20T17:49:40.818Z","dependency_job_id":null,"html_url":"https://github.com/dagit/agda","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dagit%2Fagda","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dagit%2Fagda/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dagit%2Fagda/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dagit%2Fagda/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dagit","download_url":"https://codeload.github.com/dagit/agda/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239858870,"owners_count":19708856,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-08T07:19:14.174Z","updated_at":"2026-02-23T07:30:17.913Z","avatar_url":"https://github.com/dagit.png","language":"Haskell","funding_links":[],"categories":[],"sub_categories":[],"readme":"========================================================================\nAgda 2\n========================================================================\n\nTable of contents:\n\n* Installing Agda\n* Configuring the Emacs mode\n* Prerequisites\n* Installing the Epic backend's dependencies\n* Installing a suitable version of Emacs under Windows\n\n------------------------------------------------------------------------\nInstalling Agda\n------------------------------------------------------------------------\n\n  Note that this README only discusses installation of Agda, not its\n  standard library. See the Agda Wiki for information about the\n  library.\n\nThere are several ways to install Agda:\n\n* Using a binary package, prepared for your platform.\n\n  Recommended if such a package exists. See the Agda Wiki.\n\n* Using a released source package, available from Hackage.\n\n  (Note that if you want to install the development version of Agda,\n  then you should use the next method.)\n\n  Install the prerequisites mentioned below, then run the following\n  commands:\n\n    cabal update\n    cabal install Agda\n    agda-mode setup\n\n  The last command tries to set up Emacs for use with Agda. As an\n  alternative you can copy the following text to your .emacs file:\n\n    (load-file (let ((coding-system-for-read 'utf-8))\n                    (shell-command-to-string \"agda-mode locate\")))\n\n  It is also possible (but not necessary) to compile the Emacs mode's\n  files:\n\n    agda-mode compile\n\n  This can, in some cases, give a noticeable speedup.\n\n  WARNING: If you reinstall the Agda mode without recompiling the Emacs\n  Lisp files, then Emacs may continue using the old, compiled files.\n\n* Using the source tar balls available from the Agda Wiki, or the\n  development version of the code available from our darcs repository.\n\n  1)  Install the prerequisites mentioned below.\n\n  2a) Run the following commands in the top-level directory of the\n      Agda source tree:\n\n        cabal update\n        cabal install\n        agda-mode setup\n\n      The last command tries to set up Emacs for use with Agda. As an\n      alternative you can copy the following text to your .emacs file:\n\n        (load-file (let ((coding-system-for-read 'utf-8))\n                        (shell-command-to-string \"agda-mode locate\")))\n\n      If you want to have more control over where files are installed\n      then you can give various flags to cabal install, see\n      cabal install --help.\n\n      It is also possible (but not necessary) to compile the Emacs\n      mode's files:\n\n        agda-mode compile\n\n      This can, in some cases, give a noticeable speedup.\n\n      WARNING: If you reinstall the Agda mode without recompiling the\n      Emacs Lisp files, then Emacs may continue using the old,\n      compiled files.\n\n  2b) Instead of following 2a you can try to install Agda (including a\n      compiled Emacs mode) by running the following command:\n\n        make install\n\n------------------------------------------------------------------------\nConfiguring the Emacs mode\n------------------------------------------------------------------------\n\nIf you want to you can customise the Emacs mode. Just start Emacs and\ntype the following:\n\n   M-x load-library RET agda2-mode RET\n   M-x customize-group RET agda2 RET\n\nThis is useful if you want to change the Agda search path, in which\ncase you should change the agda2-include-dirs variable.\n\nIf you want some specific settings for the Emacs mode you can add them\nto agda2-mode-hook. For instance, if you do not want to use the Agda\ninput method (for writing various symbols like ∀≥ℕ→π⟦⟧) you can add\nthe following to your .emacs:\n\n(add-hook 'agda2-mode-hook\n          '(lambda ()\n             ; If you do not want to use any input method:\n             (inactivate-input-method)\n             ; If you want to use the X input method:\n             (set-input-method \"X\")\n             ))\n\nNote that, on some systems, the Emacs mode changes the default font of\nthe current frame in order to enable many Unicode symbols to be\ndisplayed. This only works if the right fonts are available, though.\nIf you want to turn off this feature, then you should customise the\nagda2-fontset-name variable.\n\n------------------------------------------------------------------------\nPrerequisites\n------------------------------------------------------------------------\n\nYou need recent versions of the following programs/libraries:\n\n   GHC:           http://www.haskell.org/ghc/\n   cabal-install: http://www.haskell.org/cabal/\n   Alex:          http://www.haskell.org/alex/\n   Happy:         http://www.haskell.org/happy/\n   GNU Emacs:     http://www.gnu.org/software/emacs/\n\nYou should also make sure that programs installed by cabal-install are\non your shell's search path.\n\nFor instructions on installing a suitable version of Emacs under\nWindows, see below.\n\nNon-Windows users need to ensure that the development files for the C\nlibraries zlib and ncurses are installed (see http://zlib.net and\nhttp://www.gnu.org/software/ncurses/). Your package manager may be\nable to install these files for you. For instance, on Debian or Ubuntu\nit should suffice to run\n\n  apt-get install zlib1g-dev libncurses5-dev\n\nas root to get the correct files installed.\n\n------------------------------------------------------------------------\nInstalling the Epic backend's dependencies\n------------------------------------------------------------------------\n\nThe Epic backend is experimental and requires that the Epic program is\ninstalled. You can install this program by giving the epic flag to\ncabal:\n\n* When installing from Hackage:\n\n    cabal update\n    cabal install Agda -fepic\n    agda-mode setup\n\n* When installing using a source tar ball, following the instructions\n  in 2a) above:\n\n    cabal update\n    cabal install -fepic\n    agda-mode setup\n\n* When installing using a source tar ball, following the instructions\n  in 2b) above:\n\n    make CABAL_OPTIONS=-fepic install\n\nYou can also install Epic directly:\n\n  cabal install epic\n\nNote that Epic depends on other software:\n\n  The Boehm garbage collector:\n    http://www.hpl.hp.com/personal/Hans_Boehm/gc/\n  The GNU Multiple Precision Arithmetic Library:\n    http://gmplib.org/\n  GCC, the GNU Compiler Collection:\n    http://gcc.gnu.org/\n\nFor more information about Epic:\n\n  http://www.cs.st-andrews.ac.uk/~eb/epic.php\n\n------------------------------------------------------------------------\nInstalling a suitable version of Emacs under Windows\n------------------------------------------------------------------------\n\nNote that Agda code often uses mathematical and other symbols\navailable from the Unicode character set. In order to be able to\ndisplay these characters you may want to follow the procedure below\nwhen installing Emacs under Windows.\n\n1. Install NTEmacs 22.\n\n   Download from\n       http://ntemacs.sourceforge.net/\n   the self-extracting executable\n       ntemacs22-bin-20070819.exe\n\n   When executed, it asks where to extract itself.  This can be\n   anywhere you like, but here we write the top directory for ntemacs as\n       c:/pkg/ntemacs\n   in the following.\n\n   What follows is tested only on this version.  Other versions may\n   work but you have to figure out yourself how to use Unicode fonts\n   on your version.\n\n2. Install ucs-fonts and mule-fonts for emacs.\n\n   Download from\n       http://www.cl.cam.ac.uk/~mgk25/ucs-fonts.html\n   the tar file\n       http://www.cl.cam.ac.uk/~mgk25/download/ucs-fonts.tar.gz\n   Let us write the top directory of extracted files as\n       c:/pkg/ucs-fonts\n   Next we create some derived fonts.\n       cd c:/pkg/ucs-fonts/submission\n       make all-bdfs\n   This gives an error message about missing fonts, but ignore it.\n\n   Download from\n       http://www.meadowy.org/\n   the tar file\n       http://www.meadowy.org/meadow/dists/3.00/packages/mule-fonts-1.0-4-pkg.tar.bz2\n   The untarred top directory is named \"packages\", but we are only\n   interested in the subdirectory \"packages/fonts\".  Let us assume\n   we moved this subdirectory to\n       c:/pkg/mule-fonts\n\n   Add the following to your .emacs\n\n;;;;;;;;; start of quoted elisp code\n\n(setq bdf-directory-list\n      '(\n        \"c:/pkg/ucs-fonts/submission\"\n        \"c:/pkg/mule-fonts/intlfonts\"\n        \"c:/pkg/mule-fonts/efonts\"\n        \"c:/pkg/mule-fonts/bitmap\"\n        \"c:/pkg/mule-fonts/CDAC\"\n        \"c:/pkg/mule-fonts/AkrutiFreeFonts\"\n        ))\n\n(setq w32-bdf-filename-alist\n      (w32-find-bdf-fonts bdf-directory-list))\n\n(create-fontset-from-fontset-spec\n    \"-*-fixed-Medium-r-Normal-*-15-*-*-*-c-*-fontset-bdf,\n    ascii:-Misc-Fixed-Medium-R-Normal--15-140-75-75-C-90-ISO8859-1,\n    latin-iso8859-2:-*-Fixed-*-r-*-*-15-*-*-*-c-*-iso8859-2,\n    latin-iso8859-3:-*-Fixed-*-r-*-*-15-*-*-*-c-*-iso8859-3,\n    latin-iso8859-4:-*-Fixed-*-r-*-*-15-*-*-*-c-*-iso8859-4,\n    cyrillic-iso8859-5:-*-Fixed-*-r-*-*-15-*-*-*-c-*-iso8859-5,\n    greek-iso8859-7:-*-Fixed-*-r-*-*-15-*-*-*-c-*-iso8859-7,\n    latin-iso8859-9:-*-Fixed-*-r-*-*-15-*-*-*-c-*-iso8859-9,\n    mule-unicode-0100-24ff:-Misc-Fixed-Medium-R-Normal--15-140-75-75-C-90-ISO10646-1,\n    mule-unicode-2500-33ff:-Misc-Fixed-Medium-R-Normal--15-140-75-75-C-90-ISO10646-1,\n    mule-unicode-e000-ffff:-Misc-Fixed-Medium-R-Normal--15-140-75-75-C-90-ISO10646-1,\n    japanese-jisx0208:-JIS-Fixed-Medium-R-Normal--16-150-75-75-C-160-JISX0208.1983-0,\n    japanese-jisx0208-1978:-Misc-Fixed-Medium-R-Normal--16-150-75-75-C-160-JISC6226.1978-0,\n    japanese-jisx0212:-Misc-Fixed-Medium-R-Normal--16-150-75-75-C-160-JISX0212.1990-0,\n    latin-jisx0201:-*-*-medium-r-normal-*-16-*-*-*-c-*-jisx0201*-*,\n    katakana-jisx0201:-Sony-Fixed-Medium-R-Normal--16-120-100-100-C-80-JISX0201.1976-0,\n    thai-tis620:-Misc-Fixed-Medium-R-Normal--24-240-72-72-C-120-TIS620.2529-1,\n    lao:-Misc-Fixed-Medium-R-Normal--24-240-72-72-C-120-MuleLao-1,\n    tibetan:-TibMdXA-fixed-medium-r-normal--16-160-72-72-m-160-MuleTibetan-0,\n    tibetan-1-column:-TibMdXA-fixed-medium-r-normal--16-160-72-72-m-80-MuleTibetan-1,\n    korean-ksc5601:-Daewoo-Mincho-Medium-R-Normal--16-120-100-100-C-160-KSC5601.1987-0,\n    chinese-gb2312:-ISAS-Fangsong ti-Medium-R-Normal--16-160-72-72-c-160-GB2312.1980-0,\n    chinese-cns11643-1:-HKU-Fixed-Medium-R-Normal--16-160-72-72-C-160-CNS11643.1992.1-0,\n    chinese-big5-1:-ETen-Fixed-Medium-R-Normal--16-150-75-75-C-160-Big5.ETen-0,\n    chinese-big5-2:-ETen-Fixed-Medium-R-Normal--16-150-75-75-C-160-Big5.ETen-0\n    \" t)\n\n(setq font-encoding-alist\n      (append '(\n                (\"JISX0208\" (japanese-jisx0208 . 0))\n                (\"JISX0212\" (japanese-jisx0212 . 0))\n                (\"CNS11643.1992.1-0\" (chinese-cns11643-1 . 0))\n                (\"GB2312\" (chinese-gb2312 . 0))\n                (\"KSC5601\" (korean-ksc5601 . 0))\n                (\"VISCII\" (vietnamese-viscii-lower . 0))\n                (\"MuleArabic-0\" (arabic-digit . 0))\n                (\"MuleArabic-1\" (arabic-1-column . 0))\n                (\"MuleArabic-2\" (arabic-2-column . 0))\n                (\"muleindian-1\" (indian-1-column . 0))\n                (\"muleindian-2\" (indian-2-column . 0))\n                (\"MuleTibetan-0\" (tibetan . 0))\n                (\"MuleTibetan-1\" (tibetan-1-column . 0))\n                ) font-encoding-alist))\n\n;;;;;;; end of quoted elisp code\n\n   To test the fonts, try\n\n       M-x eval-expression RET\n       (set-default-font \"fontset-bdf\") RET\n       M-x view-hello-file\n\n   You should see all the characters without white-boxes.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdagit%2Fagda","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdagit%2Fagda","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdagit%2Fagda/lists"}