# Introduction Sophia is a functional language designed for smart contract development. It is strongly typed and has restricted mutable state. Sophia is customized for smart contracts, which can be published to a blockchain. Thus some features of conventional languages (such as floating point arithmetic) are not present in Sophia, and some blockchain specific primitives, constructions and types have been added. The file extension used for Sophia source files is ".aes", reflecting Sophia's Aeternity heritage.