 package stutter 
 {
 	import org.flexunit.assertThat;
+	import org.hamcrest.Matcher;
 	import org.hamcrest.collection.array;
 	import org.hamcrest.collection.emptyArray;
 	import org.hamcrest.object.equalTo;

			assertThat('false?', eval('(and (eq 2 2) (eq 3 4))'), equalTo(FALSE));
		}

		private function eval(expression:String):*
		{
			return runtime.eval(reader.read(expression));
		}
	}
}
		{
			runtime = new StutterRunTime();
			reader = new StutterReader();
		}

		private function eval(expression:String):*
		{
			reader.load(expression);

			var sexp:*;
			var result:*;

			while (reader.hasTokens() && (sexp = reader.parse()))
			{
				result = runtime.eval(sexp);
			}

			return result;
		}

		private function assert(expression:String, result:*):void 
		{
			assertThat(expression, eval(expression), result is Matcher ? result : equalTo(result));
		}

		[Test]
