"Andando y andando, me vine hasta aquí...
(Wandering and wandering, I've got here)"
El Promesante, Atahualpa Yupanqui

My name is Luis M. Rosso.

I am Industrial Engineer and hold an MBA. But my career, and actual interests depicted below, have driven me into Information Technology, getting a so called T profile: a horizontal/generalist one complemented with a vertical/specialist one.

I have always been very fond of intellectual exploration. Quite wide during my infancy and adolescence: Popular Science, Religion, History, Philosophy… And then, narrower and narrower. As I entered into the Computer Science realm, I’ve followed the same path: intellectual exploration. Naturally, again, wide at the beginning, and then narrower and narrower, gradually converging into the subjects listed below, and getting as practical, and hopefully useful, as to begin sharing findings here.

This passion for intellectual exploration is the reason why I’ve chosen this blog’s motto, taken it from one of my favorite songs which, in turn, this blog takes its name after:

“Andando y andando, me vine hasta aquí”…

(“Wandering and wandering, I’ve got here”)

El Promesante, by Atahualpa Yupanqui


Mainly, the following subjects:

  1. (Typed) Functional Programming Paradigm
  2. Category Theory
  3. Type Driven Development and Dependent Types
  4. Formal Verification
  5. Meta-programming
  6. Language Oriented Programming

And these combinations:

  1. Typed Functional Programming Paradigm with Category Theory, involving fundamentally Haskell programming language
  2. Typed Functional Programming Paradigm, Type Driven Development, Dependent Types and Formal Verification, involving Idris and Agda programming languages
  3. Functional Programming Paradigm and Meta-programming, involving Lisp programming language, mainly Clojure and Racket Lisp dialects
  4. Language Oriented Programming, Type Driven Development, Dependent Types and Formal Verification, involving Idris 2’s implementation on Chez Scheme and Racket Lisp dialects, enriched by the concepts explained in:
    1. Programming Languages: Application and Interpretation
    2. The Little Typer
    3. The Little Prover
    4. Hackett programming language


My goal is to build core competencies based on these broad interests. But not alone: I’d rather do it collaboratively with people with complementary interests and skills, and hopefully team up with them to build nice, useful pieces of software:

  • Learn by doing
  • Share what I learn
  • Team up by sharing

Hence, I am setting this blog as a means for these goals.

A detailed list of these interests is shown in the following sections. They will be kept up-to-date, reflecting its permantent changes and evolution.


I know these interests are perhaps too wide and disperse. However, I have always tried to keep balance between their unity and diversity, in order to get synergy from their combination. Of cource, I don’t plan to either get hands-on experience or publish posts on all of them. But what I actually do about them all is studying, and permanently evaluating which one to invest time and effort on, getting the hands gradually dirty on the most promising ones, at least from my point of view…

Only these cases will be published as posts: just original, practical experiences. I hope them to be interesting and useful for you. And your comments are more than welcome: actually, the whole blog is just an excuse to initiate a conversation.

So, welcome ! And keep updated !