Similar Items: Categorical Message Passing Language (CaMPL) for programmers