Comparison of dependently typed programming languages