doc: reposition CUE as a data constraint language
This captures better the possibilities of CUE.
As many seem to be interested in its
usefulness for code generation, configuration
seems to be a misnomer.
Change-Id: Id24da6072738a2290b40ff4414729886af953d35
diff --git a/README.md b/README.md
index e0eb0ac..7b424d4 100644
--- a/README.md
+++ b/README.md
@@ -15,17 +15,23 @@
-->
-# The CUE Configuration Language
+# The CUE Data Constraint Language
_Configure, Unify, Execute_
-CUE is an open source configuration language which aims
-to make complex configurations more manageable and usable.
+CUE is an open source data constraint language which aims
+to simplify tasks involving defining and using data.
+It can be used for data templating, data validation, and even
+defining scrips operating on data.
CUE is a constraint-based language.
+Constraints act both as data templates and detailed type definitions.
Constraints provide a powerful yet simple alternative
to inheritance, a common source of complexity
-with other configuration languages.
+with existing configuration languages.
+Constraints also provide an expressive way to define the possible
+values of data types, which in turn can be used for data validation
+in various applications.
The CUE tooling also provides integrated declarative scripting
aimed at simplifying putting configurations to good use while
diff --git a/doc/ref/spec.md b/doc/ref/spec.md
index f711520..4faa44c 100644
--- a/doc/ref/spec.md
+++ b/doc/ref/spec.md
@@ -18,18 +18,20 @@
## Introduction
-This is a reference manual for the CUE configuration language.
+This is a reference manual for the CUE data constraint language.
CUE, pronounced cue or Q, is a general-purpose and strongly typed
-configuration language.
-The CUE tooling, layered on top of CUE, converts this language to
+constraint-based language.
+It can be used for data templating, data validation, code generation, scripting,
+and many other applications involving structured data.
+The CUE tooling, layered on top of CUE, provides
a general purpose scripting language for creating scripts as well as
-simple servers.
+simple servers, also expressed in CUE.
CUE was designed with cloud configuration, and related systems, in mind,
but is not limited to this domain.
It derives its formalism from relational programming languages.
This formalism allows for managing and reasoning over large amounts of
-configuration in a straightforward manner.
+data in a straightforward manner.
The grammar is compact and regular, allowing for easy analysis by automatic
tools such as integrated development environments.