CIS 554 Resources
Fall 2011 , David Matuszek

Textbook

Programming in Scala, 2nd edition

Programming in Scala, Second Edition

Martin Odersky, Lex Spoon, Bill Ventners

I think this is an important language, and you should buy this book and keep it.

As for the other languages, there is plenty of documentation online.

 

In general, you should use the latest versions of all your software.The links below may or may not be up to date, so if you find newer versions of anything, please let me know.

General

A Brief, Incomplete, and Mostly Wrong History of Programming Languages
http://james-iry.blogspot.com/2009/05/brief-incomplete-and-mostly-wrong.html
How Not to Write FORTRAN in Any Language
(In author's view, "writing Fortran" = "writing bad programs")
http://queue.acm.org/detail.cfm?id=1039535
Revenge of the Nerds
(How languages are becoming more Lisp-like)
http://www.paulgraham.com/icad.html
The Theory and Practice of Concurrency (600 pages)
http://www.google.com/url?sa=t&source=web&ct=res&cd=1&ved=0CBYQFjAA&url=http%3A%2F%2Fwww.comlab.ox.ac.uk%2Fbill.roscoe%2Fpublications%2F68b.pdf&ei=fM7uS77XDIT78Ab6x9D9Cg&usg=AFQjCNEIgpQyEtBndLXhQMp-J102CatdqQ&sig2=qGULMDlXJPp8aKAEBj8nZw (PDF)
Java, Don't Make Long Term Plans
http://blog.borud.no/2010/10/java-dont-make-long-term-plans.html

Prolog

SWI-Prolog 5.10.1 download
http://www.swi-prolog.org/download/stable
Adventure in Prolog
http://www.amzi.com/AdventureInProlog/advfrtop.htm
SWI-Prolog 5.10 Reference Manual (PDF)
http://www.swi-prolog.org/download/stable/doc/SWI-Prolog-5.10.1.pdf
COMP9814 Extended Artificial Intelligence: Prolog Extension Material
http://www.cse.unsw.edu.au/~billw/cs9414/notes/prolog/ext-prolog.html

REBOL

Download REBOL/View
http://www.rebol.com/download-view.html
REBOL Documentation
http://www.rebol.com/docs.html

Clojure

Clojure downloads and getting started
http://dev.clojure.org/display/doc/Getting+Started
Clooj is a simple and very basic IDE. If you are familiar with a professional IDE such as Eclipse, NetBeans, or IntelliJ IDEA, there are good Clojure plugins for these.
Clojure - Functional Programming for the JVM
http://java.ociweb.com/mark/clojure/article.html
 
Casting SPELs in Lisp (Clojure version)
http://www.lisperati.com/clojure-spels/casting.html
Quick Ref for Clojure Core
http://clojuredocs.org/quickref/Clojure%20Core
"Official" Clojure Cheat Sheet
http://clojure.org/cheatsheet (also available as PDF)
Other cheat sheets
http://devcheatsheet.com/tag/clojure/
 
The Eternal Flame (Julie Ecklar)
Music at http://www.youtube.com/watch?v=5-OjTPj7K54
Lyrics at http://www.songworm.com/lyrics/songworm-parody/EternalFlame.html
The Nature of Lisp
http://www.defmacro.org/ramblings/lisp.html
Revenge of the Nerds
http://www.paulgraham.com/icad.html
Clojure: Functional Programming
http://clojure.org/functional_programming

Scala

Trait Suite
(A good starting point for reading about scalatest)
http://www.scalatest.org/scaladoc/doc-1.0/org/scalatest/Suite.html
Trait ShouldMatchers (the really cool stuff)
http://www.scalatest.org/scaladoc/doc-1.0/org/scalatest/matchers/ShouldMatchers.html