A function has dependent type if the type of a function's result depends on the VALUE of its argument; this is not the same thing as a ParameterizedType?. The second order lambda calculus possesses functions with dependent types.
Languages with dependent types:
Dependent Types course handout http://www-2.cs.cmu.edu/~fp/courses/logic/handouts/dependent.pdf
Dependent types in practical programming (ACM subscription required) http://portal.acm.org/citation.cfm?id=292560&dl=ACM&coll=portal&CFID=11111111&CF TOKEN=2222222
Dynamic Typing With Dependent Types http://www.cs.princeton.edu/~gtan/paper/dynamic.pdf
mentioned in Formal Abstract Data Types http://www.cs.caltech.edu/~jyh/papers/depend/paper.ps
"Static Dependent Types for First Class Modules"
Non-Dependent Types for Standard ML Modules http://www.dcs.ed.ac.uk/home/cvr/ppdp99.html