@@ -303,17 +303,17 @@ object LispAny extends Lisp {
303303 def asBoolean (x : Data ): Boolean = x != 0
304304
305305 def normalize (x : Data ): Data = x match {
306- case ' and :: x :: y :: Nil =>
307- normalize(' if :: x :: y :: 0 :: Nil )
308- case ' or :: x :: y :: Nil =>
309- normalize(' if :: x :: 1 :: y :: Nil )
310- case ' def :: (name :: args) :: body :: expr :: Nil =>
311- normalize(' def :: name :: (' lambda :: args :: body :: Nil ) :: expr :: Nil )
312- case ' cond :: (' else :: expr :: Nil ) :: rest =>
306+ case Symbol ( " and" ) :: x :: y :: Nil =>
307+ normalize(Symbol ( " if " ) :: x :: y :: 0 :: Nil )
308+ case Symbol ( " or " ) :: x :: y :: Nil =>
309+ normalize(Symbol ( " if " ) :: x :: 1 :: y :: Nil )
310+ case Symbol ( " def" ) :: (name :: args) :: body :: expr :: Nil =>
311+ normalize(Symbol ( " def" ) :: name :: (Symbol ( " lambda" ) :: args :: body :: Nil ) :: expr :: Nil )
312+ case Symbol ( " cond" ) :: (Symbol ( " else" ) :: expr :: Nil ) :: rest =>
313313 normalize(expr);
314- case ' cond :: (test :: expr :: Nil ) :: rest =>
315- normalize(' if :: test :: expr :: (' cond :: rest) :: Nil )
316- case ' cond :: ' else :: expr :: Nil =>
314+ case Symbol ( " cond" ) :: (test :: expr :: Nil ) :: rest =>
315+ normalize(Symbol ( " if " ) :: test :: expr :: (Symbol ( " cond" ) :: rest) :: Nil )
316+ case Symbol ( " cond" ) :: Symbol ( " else" ) :: expr :: Nil =>
317317 normalize(expr)
318318 case h :: t =>
319319 normalize(h) :: asList(normalize(t))
@@ -342,15 +342,15 @@ object LispAny extends Lisp {
342342 def eval1 (x : Data , env : Environment ): Data = x match {
343343 case Symbol (name) =>
344344 env lookup name
345- case ' def :: Symbol (name) :: y :: z :: Nil =>
345+ case Symbol ( " def" ) :: Symbol (name) :: y :: z :: Nil =>
346346 eval(z, env.extendRec(name, (env1 => eval(y, env1))))
347- case ' val :: Symbol (name) :: y :: z :: Nil =>
347+ case Symbol ( " val" ) :: Symbol (name) :: y :: z :: Nil =>
348348 eval(z, env.extend(name, eval(y, env)))
349- case ' lambda :: params :: y :: Nil =>
349+ case Symbol ( " lambda" ) :: params :: y :: Nil =>
350350 mkLambda(params, y, env)
351- case ' if :: c :: y :: z :: Nil =>
351+ case Symbol ( " if " ) :: c :: y :: z :: Nil =>
352352 if (asBoolean(eval(c, env))) eval(y, env) else eval(z, env)
353- case ' quote :: y :: Nil =>
353+ case Symbol ( " quote" ) :: y :: Nil =>
354354 y
355355 case y :: z =>
356356 apply(eval(y, env), z map (x => eval(x, env)))
0 commit comments