Elkin Cruz

MSc. Computer and Systems Engineering at UNAL
PhD Student at
Troy, NY, USA

Hello visitor! Welcome to my site. I have here all kinds of sorts of types of classes of stuff related to my professional life but also not. Just random thoughts here and there at times and my professional stuff.

I am a Computer and Systems Engineer from UNAL (Colombia). I hold a MSc. in Computer and Systems Engineering from the same university.

My main focus is on understanding Programming Languages theory and practice.

I generally enjoy coding in Haskell, Python, and, recently, Agda. I am also good at C++ (a few years of experience) but I don’t enjoy writing in it as much as in the more abstract and functional programming languages.

Selected Projects

  • Pytropos: My Master’s research final project. A Python abstract interpreter to check for the shape of tensors without ‘running’ the code (a linter).
  • tensorflow-haskell-deptyped: An experiment using Dependent Types in Haskell to check the shapes of Tensorflow tensors at compilation time.
  • ChemKinLator: Chemical Simulator written in C++ and Fortran.
  • Listanalchem: Tool written in Python to check for homochirality in chemical reaction networks.

Research Interests

I am mainly interested in problems regarding Programming Languages, both theoretical and practical: Lambda Calculus, Computability, Type Theory, Abstract Interpretation, Software Verification, and the Development of tools for programmers to use (aka. application of theory to practice and development of libraries).

I am fascinated by the power of programming languages and their capabilities. That is why, I have dedicated quite some time to learn Haskell, C++, Python, Scheme, Ruby, Java, Scala, miniKanren, Bash, Janus (Reversible Programming Language), and many others.

I have enjoyed the luxury of making part of collaborations with experts from different areas of knowledge like chemistry, physics and mathematics; and, studying varied areas in Computer Science like Machine and Deep Learning, Parametric Complexity, and Sound and Image Processing.

For a deeper look at what I have been doing these past years, you can take a look at my github page.

(Past) Teaching

During 2018, I was a Teaching Assistant/Lecturer in the Faculty of Engineering at UNAL. I taught Intro to Programming in C++ (Programación de Computadores) for the 2018-I and 2018-III terms.