From Probabilistic Programming to Complexity-based Programming