We will use Piazza for questions about the assignments, for students to discuss course materials, and to make announcements about the class. You are responsible for being current with the information and discussions that are posted there.
You will get an email from Piazza with a link inviting you to create an account within the first week of the term. If you haven't gotten one in that time, please contact course staff.
In addition to the web interface, there are Piazza apps for Android and iOS available for free through their respective app stores.
% agda --version Agda version 2.3.2.1
(load-file (let ((coding-system-for-read 'utf-8)) (shell-command-to-string "agda-mode locate")))
If that fails, more information is available here. For Agda 2.3.2.1, there are some pre-built packages for linux distributions, but do not use the Windows installer (it is out of date), and there is no pre-built package for Mac. If you do not install Haskell using the Haskell Platform, then watch out for this performance issue with the hashtable package: make sure you get hashtable version 1.1.2.x (the Haskell Platform has an appropriate version).
Issues and workarounds:
cabal: Error: some packages failed to install: Agda-2.3.2.1 failed during the building phase. The exception was: ExitFailure 11then you may have better luck with cabal install --global Agda-executable
(load-file (let ((coding-system-for-read 'utf-8)) (shell-command-to-string "agda-mode locate")))Note that emacs seems to resolve ~ correctly, in that if you do C-c C-f to open a file and type in ~/.emacs, emacs will later find the definitions in that file. (It actually puts the file somewhere bizarre that's os / emacs / phase of the moon dependent.)
chcp 65001 "c:\wherever\your\agda\is\installed\agda.exe" %*
The guiding principle of emacs philosophy is that you should never have to leave emacs to preform a task if you don't want to. If you're writing C, it can run your makefile, and show you GDB output internally. It even has tetris and email clients built in. Despite being extremely large in this sense, emacs scales down to the smallest of text files elegantly.
The most sane version to use is GNU emacs, although both GNU emacs and Xemacs are installed on the Andrew UNIX machines. There's a ton of good documentation for how to use it available on the web, some of which is linked here.
If we have written assignments, you may wish to use LaTeX.
LaTeX is built from Don Knuth's TeX typesetting language, and has grown through community support to be both extremely powerful and easy to use. LaTeX is installed on the Andrew UNIX servers, and can be downloaded and installed on local machines as well. There are any number of excellent resources about how to use LaTeX; a few are listed here for your convenience.
LaTeX source files can be created with any text editor, so emacs and vim are excellent choices. There are several LaTeX specific IDEs that you may find more comfortable to use, depending on your working environment: