Resources
1 Notes and Discussions
Notes on google drive (login with IU account to get access)
You can find the Discord server link on the main page of the course on Canvas, or you could contact any of the Instructors for an invite link.
2 Racket and References
Other community support in various fashions – Try the IRC channel
To customize your Racket start-up (say, disable print-as-expression automatically, or always start in xrepl), build and modify a racketrc file
3 Racket on SOIC Machines
To access Racket on the SOIC machines, you need to type the following at the terminal: module load racket.
If you access these machines with any frequency, you should add that to your .bashrc.
See the following for more on modules.
4 Developing on Windows
Here is a document that helps show you how to setup a development environment on Windows 7.
5 Developing on Mac
Here is an opinionated guide for setting up Racket and Emacs on a Mac.
6 Course specific libraries and tools
7 miniKanren resources
If you’re interested in miniKanren development, check out miniKanren.org!
7.1 311 miniKanren
The current 311-implementation of miniKanren can be found here.
The relational arithmetic suite can be found here.
You may on occasion find trace-define-mk.scm to be useful as well.
7.2 CEK & Redux
Control Operators, the SECD-Machine, and the lambda-Calculus here
8 Emacs references and tools
To access the latest version of emacs on the SOIC machines, you need to type the following at the terminal: module load emacs.
If you access these machines with any frequency, you should add that to your .bashrc
If you’d like Jason’s emacs setup, you can clone his emacs repository. Copy the .emacs file or create a symlink (ln -s in Linux/OS X, mklink in Windows)
A handy Emacs reference card for Schemers and Racketeers.
For Windows 7 users, you may find the following emacs24 installation instructions useful.
9 Vim tools
Cameron Swords (C311 course staff emeritus) uses and endorses the Vim text editor. You can find his configuration for vim here.