!752 m { // it's one engine for two-word sentences, one for three-word // sentences - but it could be anything, really. // the point is to show how simply they can be combined. static L engineIDs = litlist("#1001841", "#1001844"); static new L engines; p { for (S engineID : engineIDs) engines.add(hotwire(engineID)); print(l(engines) + " engine(s) loaded."); askMyself("assert honk isA bonk"); assertEquals("1", askMyself("query honk isA bonk")); assertEquals("0", askMyself("query bonk isA honk")); print("OK!"); } static S answer(S s) { for (Class engine : engines) pcall { S result = callStaticAnswerMethod(engine, s); if (result != null) ret result; } ret null; } }