While there's been impressive practical advances recently, the theory dates back to the mid-90s.
Partial evaluation and meta-tracing, though, were more or less fully understood theoretically by ~2000. What was missing was the enormous amount of tooling and compiler design work needed to support them e.g. Graal, and that in turn preceded by enough work on Java / the JVM to make a project like Graal viable.
Curry-Howard: Curry (1934, 1958), Howard (1968)
MLTT: Martin-Lof (1972)
Polymorphic lambda-calculus: Girard (1972/3), Reynolds (1974)
Effect systems: Gifford/Lucassen (1986)
Calculus of constructions: Coquand/Huet (1988)
HKTs: Girard (1971)
Type classes: Kaes (1988)
Dates are imprecise and from memory.