Coruja é uma biblioteca escrita em C++11 que utiliza o paradigma da programação genérica (GP) e conceitos de programação funcional (FP) para apresentar uma solução alternativa ao padrão observador (ObserverPattern - GoF). O trabalho propõem abstrações para evitar código boilerplate e a inversão de controle (IoC).
https://github.com/ricardocosme/coruja