  We describe a Martin-L\"of style dependent type theory, called Cocon, that
allows us to mix the intensional function space that is used to represent
higher-order abstract syntax (HOAS) trees with the extensional function space
that describes (recursive) computations. We mediate between HOAS
representations and computations using contextual modal types. Our type theory
also supports an infinite hierarchy of universes and hence supports type-level
computation -- thereby providing metaprogramming and (small-scale) reflection.
Our main contribution is the development of a Kripke-style model for Cocon that
allows us to prove normalization. From the normalization proof, we derive
subject reduction and consistency. Our work lays the foundation to incorporate
the methodology of logical frameworks into systems such as Agda and bridges the
longstanding gap between these two worlds.
