-- classes need to be capitalized class c { ; }; class B inherits A { -- types need to be capitalized x : badtype; -- we want ~5, not -5 x : Goodtype <- -5; -- capitalized types f(x : badtype, y : Goodtype) : badtype { }; f2(x : Goodtype, y : Goodtype) : Goodtype { { -- capitalized types f@badtype.foo(); -- bad idea f.badtype@foo(); -- extra ; in if statement, ~= isn't valid if (a ~= b) then a <- b; else b <- a fi; -- == isn't valid, nor is * * or ); while (a == b) loop { a <- 5 * * 5; a <- 5 * 5); } pool; -- we don't have a > while (a > b) loop { -- too many ','s let a : Int, b : Int, in a <- b; -- no variables let in karate <- deathcar; -- -> should be => case a <- b of a : Int => monkey; b : Int -> deathcar; esac; -- we should terminate all case statements case a <- b of a : Int => monkey; b : Int => monkey esac; -- we should have case statements case a <- b of esac; } pool; -- we should terminate all statements in an expression block bad <- ending } }; }; -- inherts isn't spelled right now is it class A inherts B { }; -- objects need to be capitalized class A inherits b { }; class A inherits B { -- no type x; foo() : Int { { -- some bad types let a : monkey, b : int, c : Int <- a in a <- b; -- some more bad types let a : monkey, b : Int <- a in a <- b; -- various invalid if statements if then else fi; if a then else fi; if b then b else fi; -- various invalid case statements case of esac; case a of esac; -- various invalid while loops while loop pool; while a loop pool; } }; -- arbitrary keyword isvoid; };