Carlos Camarão de Figueiredo
E-mail: camarao@dcc.ufmg.br
Tel: +55 31 3499 5889
Fax: +55 31 3499 5858
Address: Departamento de Ciência da Computação,
UFMG, 31270-010 BeloHorizonte, Brazil
Associate Professor at UFMG,
Department of Computing Science.
Interests
Design, definition, use and implementation of programming languages,
functional programming, type systems, generic programming, dependent
types, mathematical logic, formal semantics and the foundations of
computer science...
Ph.D. Students
MSc. Students
- Pedro Ivo Alexandre de Oliveira (2001),
Adaptação de Conteúdo da Web
para o Ambiente WAP.
- João Rafael Nicola (2006),
Polimorfismo de registros no sistema CT.
- Rodrigo Geraldo Ribeiro (2007),
Programação genérica usando o Sistema CT.
- Elton Máximo Cardoso (2011),
First class Overloading via Intersection Type
Parameters.
- Marco Túlio Gontijo e Silva (2012),
Controlling the Scope of Instances in Haskell.
Publications
-
Optional Type Classes for Haskell
Rodrigo Ribeiro,
Carlos Camarão,
Lucília Figueiredo,
Cristiano Vasconcellos,
SBLP'2016
(20th Brazilian Symposium on Programming Languages), Marília, SP, September 19-23, 2016.
-
Certified Derivative-Based Parsing of Regular Expressions
Raul Lopes,
Rodrigo Ribeiro,
Carlos Camarão,
SBLP'2016
(20th Brazilian Symposium on Programming Languages), Marília, SP, September 19-23, 2016.
- Ambiguity and Constrained Polymorphism
Carlos Camarão,
Lucília Figueiredo,
Rodrigo Ribeiro,
Science of Computer Programming 124(1), 1--19, August 2016.
-
A Mechanized Textbook Proof of a Type Unification Algorithm
Rodrigo Ribeiro,
Carlos Camarão
SBMF'2015
(18th Brazilian Symposium on Formal Methods), Belo Horizonte, September 21-25, pp. 84-98, 2015.
-
Type Inference for GADTs and Anti-unification
Adelaine Gelain,
Cristiano Vasconcellos,
Rodrigo Ribeiro,
Carlos Camarão,
SBLP'2015
(19th Brazilian Symposium on Programming Languages), Belo Horizonte, September 21-25, ,
LNCS 9325, 16-30, 2015.
-
Mechanized Metatheory for a Lambda-Calculus with Trust Types
Rodrigo Ribeiro, Lucília Figueiredo, Carlos Camarão
Journal of the Brazilian Computer Society, 19(4), 433-443, 2013.
-
Ambiguity and Context-Dependent Overloading
Rodrigo Ribeiro, Carlos Camarão
Journal of the Brazilian Computer Society, 19(3), 313-324, 2013.
-
Terminating Constraint Set Satisfiability and Simplification
Algorithms for Context-Dependent Overloading
Rodrigo Ribeiro, Carlos Camarão,
Lucília Figueiredo
Journal of the Brazilian Computer Society, 19(4), 423-432, 2013.
-
From Proof Trees to Justificatory Answering
Newton Vieira, Isabel Barbosa, Carlos Camarão
EPIA'2011
(15th Portuguese Conference on Artificial Intelligence), Lisboa, October 10-13, 2011.
-
Controlling the Scope of Instances in Haskell
Marco Silva, Carlos Camarão
SBLP'2011
(15th Brazilian Symposium on Programming Languages), São Paulo, July 29-30, 2011.
-
First Class Overloading via Intersection Type Parameters
Elton Máximo Cardoso, Carlos
Camarão,
Lucília Figueiredo
SBLP'2011
(15th Brazilian Symposium on Programming Languages), São Paulo, July 29-30, 2011.
-
SAT and Planning: an Overview
Carlos
Camarão, Mateus Galvão, Newton Vieira
Chapter in Intelligent Systems in Operations Management, IGI-Global, editor Barin Nag, 2009.
-
A Solution to Haskell's Multi-paramemeter Type Class Dilemma
Carlos
Camarão, Rodrigo Ribeiro,
Lucília Figueiredo,
Cristiano Vasconcellos,
SBLP'2009
(13th Brazilian Symposium on Programming Languages), Gramado, August 19-21, pgs. 5-18, 2009.
-
Open and Closed Worlds for Overloading: a definition and
support for coexistence
Carlos
Camarão,
Cristiano Vasconcellos,
Lucília Figueiredo, João Nicola
Journal of Universal Computer Science 13(6), 854-873, 2007.
-
Constraint-set satisfiability for Overloading
Carlos
Camarão,
Lucília Figueiredo, Cristiano Vasconcellos
ACM Press
Conf. Proceedings of
PPDP'04 , 67-77, 2004.
-
Mímico: A Monadic Combinator Parser Generator
Carlos Camarão, Lucília Figueiredo ,
Hermann Rodrigues
Journal of the Brazilian Computer Society, 9(1):27-40, 2003.
-
Practical Type Inference for Polymorphic Recursion:
an Implementation in Haskell
Cristiano Vasoncellos, Carlos Camarão, Lucília Figueiredo
SBLP'2003
(7th Brazilian Symposium on Programming Languages), Ouro Preto, May 28-30, 2003.
Revised version in Journal of Universal Computer Science, 9(8), 973-990
-
Programação de Computadores em Java
Carlos Camarão &
Lucília Figueiredo , LTC, 2003.
Book in Portuguese.
- A View on Abstract and Extensible Types
Lucília Figueiredo ,
Carlos Camarão
Revista Colombiana de Computación, 3(1), 21-40, 2002.
-
A Monadic Combinator Compiler Compiler
Carlos Camarão, Lucília Figueiredo
SBLP'2001
(5th Brazilian Symposium on Programming Languages), Curitiba, May
23-25, 2001.
-
Principal Typing and Mutual Recursion
Lucília Figueiredo , Carlos Camarão
International Workshop on Functional and Logic Programming
(WFLP'2001)
Kiel, Germany, September 13-15, 2001.
-
JEDI: An Interactive Interpreter for Java
Hermann O. Rodrigues ,
Carlos Camarão
CACIC'2001
(VII Argentine Congress on Computer Science)
El Calafate, Argentine, 15-20 October, 2001.
-
Adapting Web Contents to Wap Devices using Haskell
Pedro Ivo Alexandre de Oliveira, Carlos Camarão
XXI International Conference of the Chilean Computer Science Society
(SCCC'2001),
Punta Arenas, Chile, November 5-9, 2001.
-
ML Has Principal Typings
Carlos Camarão, Lucília Figueiredo
SBLP'2000
(4th Brazilian Symp. on Prog. Lang.), Recife, May
17-19, pgs. 231-244, 2000.
-
Type Inference for Overloading without Restrictions, Declarations
or Annotations
Carlos Camarão, Lucília Figueiredo
FLOPS'99 , Tsukuba, Japan, Nov 1999.
Springer-Verlag LNCS 1722, 37-52.
-
A Type with a View
Lucília Figueiredo ,
Carlos Camarão
III Brazilian Symposium on Programming Languages (SBLP'99) ,
Porto Alegre, Brasil, pgs. 33-44, 1999.
-
Sistemas de Tipos em Linguagens de Programação
Carlos Camarão, Lucília Figueiredo ,
Elaine Pimentel
III Brazilian Symposium on Programming Languages (SBLP'99) ,
Porto Alegre, Brasil, 1999.
Teaching
Research Projects
Conferences
Member of the organizing and program committees of the I Brazilian Symposium on
Programming Languages (SBLP'96), and program committee of SBLP'97,
SBLP'99,
SBLP'2000,
SBLP'2001,
SBLP'2002 (chair),
SBLP'2003,
SBLP'2004,
SBLP'2005 ,
SBLP'2006 ,
SBLP'2007 ,
SBLP'2008 ,
SBLP'2009 .