!7 concept BInput > BEAObject { S text; } concept BPattern > BEAObject { S pattern; void reactTo(BInput input) { SS mapping = flexMatchIC_first(pattern, text); if (mapping == null) ret; uniq BEAObject( type := "match", +input, pattern := this, +mapping); } } cmodule2 > DynCRUD_v2 { start-thread { uniq BInput(text := "UBports community delivers 'second-largest release of Ubuntu Touch ever'"); uniq BPattern(pattern := "* delivers *"); } }