This thesis presents the programming language TransLucid, from its denotational semantics to its concrete implementation. In TransLucid, a variable denotes an intension, which is an array of arbitrary rank and infinite extent, indexed by a multidimensional context. TransLucid is descended from Lucid, whose development since 1974 left several open problems, all of which are solved in this thesis. These open problems are: 1) the semantics and implementation of higher-order functions over intensions; 2) the semantics and implementation of dimensions as first-class values, atomic values as dimensions, and contexts as first-class values; and 3) the implementation of a cache-based evaluator. In addition, this thesis presents a type inference algorithm for TransLucid, and the concrete TransLucid system, which is a synchronous reactive programming environment.