!7 sclass CruddieScript { swappable void assume(S fact) {} S answer(S s) { null; } } sclass ICallYou > CruddieScript { swappable void setBotName(S name) {} swappable S getBotName() { null; } S answer(S s) null { if "I call you $name" { assume("\*$name*/ is a name"); setBotName($name); ret "OK, my name is now \*$name*/"; } if "What is your name" ret or2(getBotName(), "I don't know"); } }