  Historically, programming language semantics has focused on assigning a
precise mathematical meaning to programs. That meaning is a function from the
program's input domain to its output domain determined solely by its syntactic
structure. Such a semantics, fosters the development of portable applications
which are oblivious to the performance characteristics and limitations (such as
a maximum memory footprint) of particular hardware and software platforms. This
paper introduces the idea of intent-driven programming where the meaning of a
program additionally depends on an accompanying intent specification expressing
how the ordinary program meaning is dynamically modified during execution to
satisfy additional properties expressed by the intent. These include both
intensional properties---e.g., resource usage---and extensional
properties---e.g., accuracy of the computed answer. To demonstrate the
intent-driven programming model's value, this paper presents a general-purpose
intent-driven programming language---called FAST---implemented as an extension
of Swift. FAST consists of an intent compiler, a profiler, a general controller
interface and a runtime module which supports interoperation with legacy C/C++
codes. Compared to existing frameworks for adaptive computing, \FAST{} supports
dynamic adaptation to changes both in the operating environment and in the
intent itself, and enables the mixing of procedural control and control based
on feedback and optimization.
