Lisp Style Rules

Riastradh’s Lisp Style Rules are a wholly holistic and unscientific take on Lisp style rules. They have helped me not only to get a better sense of how Lisp people do things, but also why. There is other stuff like this around the Internet, but this is the only I’ve found that I enjoyed reading.
While there are a lot of good rules in the guide, not all of them were new to me, so I only took notes on the ones that I found interesting for one reason or another.
Continue reading “Lisp Style Rules”

GNU Emacs on Cygwin

While it is possible to run Emacs on Windows, I suspect that Emacs “expects” to be running on UNIX. As such, I’ve decided to perform an experiment and try to do most of my work in Cygwin, including running Emacs. The following is how I did it:
Steps

  1. Create a Windows environment variable named ‘CYGWIN’ with the value ‘tty’
  2. Install Cygwin
  3. Install Cygwin/X
  4. Download-and-install Emacs using the setup.exe (as explained in the documentation linked above), choose the packages ’emacs’ and ’emacs-X11′, and be sure to check the “Bin?” checkbox. If you don’t check “Bin?” it will look like the installer is doing something, but in reality it does nothing (guess how I know that?).
  5. Add this to your .bashrc (see steps below if you want to use Emacs): export DISPLAY=:0.0
  6. Run: source .bashrc
  7. Run: XWin -multiwindow &
  8. Run: xeyes &
  9. Xeyes should pop up. Now try emacs
  10. Run: emacs &
  11. The Emacs welcome screen should appear.

Updating your .bashrc

  1. Open a terminal
  2. Type: emacs -nw .bashrc
  3. Emacs gives you a welcome message. Hit C-l to continue editing.
  4. Go to the bottom of the page
  5. Insert an empty line at the end and type in the text listed above
  6. Hit C-x C-s to save the file
  7. Hit C-x C-c to exit Emacs

References

Addendum: 16/10/08
I removed the unnecessarily complex step re-starting the shell when source’ing would have done just fine.
I wasn’t happy with my explanation for doing this, so I revised it.

Computer Science Teachers Association

The Computer Science Teachers Association is a membership organization that supports and promotes the teaching of computer science and other computing disciplines. CSTA provides opportunities for K-12 teachers and students to better understand the computing disciplines and to more successfully prepare themselves to teach and learn.

HtDP Languages and Math

A comment by Matthais on the nature of the first three HtDP languages:

HtDP’s first three teaching languages are basically mathematics, ignoring the parentheses. We use
— arithmetic, for many different forms of data
— algebra, for (potentially conditional) function definitions
— pre-calculus, for induction and recursion (these things converge, like series)

The Dylan programming language

When reading about Scheme or Smalltalk, the Dylan programming language is often mentioned.
Here is one person who likes it that has provided some notes on how to translate Scheme to Dylan. Here is his take on it:

Dylan is a completely object-oriented language, with multiple inheritance, generic functions, a powerful module system, a very expressive exception-handling system, hygienic macros, pleasant semantics, and a clean way to turn the knob between expensive dynamic behavior and efficient static constraints.

It sounds very interesting.