An Application Programming Interface (API) for programs with textual user interfaces, created by Andrew Plotkin. Glk is not itself a programming language, nor is it a virtual machine; it merely defines an abstract mechanism to handle input and output. A full description of Glk is available at the author's website.
Glulx is a virtual machine that uses Glk and is designed for use in writing interactive fiction. Tor Andersson has adapted many interpreters to use Glk API as part of Gargoyle project.