This research outlines a formal theory concerning (i) the process of design, namely that it can be defined to be a variant of computability, the Turing machine, (ii) the artifacts of design as strings enumerable by a Turing machine, and (iii) the rules of design as formal state changes that govern the string enumeration by the Turing machine. It is currently the case that such a design language exists whose strings are interpretable as that of physical solid objects analogous to discrete goods in engineering. This view of design yields a new approach that can serve as a formal foundation to understand both the general notion of design as a formal process that remains invariant under design contexts, as well as a specific understanding of the application of design in engineering.