What is dependent typing?
Consider this: in all decent programming languages you can write functions, e.g. def f(arg) = result Here, f takes a value arg and computes a value result. It is a function from values to values. Now, some languages allow you to define polymorphic (aka generic) values: def empty<T> = new List<T>() Here, empty takes a … Read more