# Runtime and host: who does what? [Concepts explained](README.md) The **runtime** is the machinery that carries out the language's operations while a program runs. The **host** connects those operations to a particular environment, such as a desktop preview, terminal, or browser. Think of a board game's rules and its playing table. The rules explain a move. The table supplies a place to show the pieces. ## One drawing instruction If your code asks for a circle, the runtime checks and describes the drawing operation. A host with a suitable **renderer** turns that description into a picture. A renderer is the part that draws the visible result. A command-line host may show text without drawing graphics. That is why correct drawing code can need a different host before you see the picture. The [host guide](../guides/hosts.md) lists the actual supported features. ## Host-mediated Reference pages sometimes say a feature is **host-mediated**. It means your program requests the feature through a controlled connection. It does not directly grab any file, keyboard device, or screen it wants. A **headless** environment has no graphical display. It can still check code, run calculations, and test structured drawing commands. Try explaining which part decides what addition means, and which part chooses where console text appears. The first belongs to language execution; the second is a host responsibility. [API](api.md) ยท [Permissions](permissions.md)