My existing research is mainly focused on lightweight generic programming techniques and the essence of (OO-style) design patterns. * Modular Visitor Components: A Practical Solution to the Expression Families Problem Bruno C. d. S. Oliveira ECOOP 2009. * Scala for Generic Programmers Bruno C. d. S. Oliveira, Jeremy Gibbons In Ralf Hinze, editor, Proceedings of the ACM SIGPLAN Workshop on Generic Programming (WGP'08) July 2008. * Objects to Unify Type Classes and GADTs Bruno C. d. S. Oliveira, Martin Sulzmann ICFP 2008
Methods that are specialised on sub-classes introduce a number of well-known challenges for type systems: these challenges can now be met in a type system for the pattern calculus. The latter provides a foundation for computation based on pattern-matching in which different cases may have different specialisations of a default type. Supporting type specialisation by both type substitution and sub-typing makes it possible to type functions whose cases correspond to the different.