POLY ---- The Poly language was designed and implemented nearly fifteen years ago and has a number of interesting and unusual features. The aim of the design was to try and produce a language which would have as few features as possible yet be suitable for building substantial applications. In particular it treats the idea of a type or in ML-terms, a structure, as a first-class value, so that a single notion of "procedure" is used for what in ML could be a function, a type constructor or a (possibly higher-order) functor. Imposing a restriction on when types are regarded as equivalent allows for programs to be statically type-checked. The language was used to build compilers for both the Poly language itself and for Standard ML (Poly/ML). I will talk about the language and how it compares to ML and perhaps also discuss whether the approach taken in Poly of merging programming in the small with programming in the large is an appropriate one.