Denis Dancanet's Research

Denis Dancanet's Research

My research has been in the theory of programming languages. In particular, I am interested in designing new semantics for parallel languages, semantics which take into account the resources used during computation (intensional semantics). These semantics can be used for both theoretical and practical applications. On the theoretical side, one can perform relative intensional expressiveness comparisons between various languages, i.e., prove that a programming language can express better (faster, less work, etc.) programs than another language. On the practical side, the intensional information that the semantics gives us about a program can be used to perform various kinds of program analysis. For instance, one can develop a type inference system with more refined types, which express how the program computes its result. As an example, the refined types could be used to distinguish between empty lists, lists with one element, and lists with more than one element. Or, in the case of a message-passing parallel language, one can distinguish between a channel that is not used at all, and one that is used at least once. In fact, the whole intensional semantics itself can be implemented as a programming language. This programming language has some interesting features, one of which is the ability to express programs that manipulate the semantics of other programs!

Aside from topics related to programming languages, such as implementation, compilers, program analysis, type theory, I am also interested in parallel algorithms, concurrent and distributed computing, cryptography, and foundations of mathematics. My deep, long-term, blue-sky research goal is to get a better understanding of the interaction between computer science, mathematics, and philosophy.

Papers:

Talks: Software:

Denis.Dancanet@cs.cmu.edu