I studied little bit of Category theory, and First Order Logic this month to see if they might say anything interesting about computer programs or languages. But I didn't really see anything much interesting except formalizing some elementary operations in Haskell. So what do people really do with Category theory? I can imagine it being good for linear algebra. Can you perhaps give an interesting application in Yoneda Lemma ? or any other theory? I am mostly interested about languages and computer programs. But you can give me any example you think is fun or enlighting.