Euphoria is a programming language created by Robert Craig of Rapid Deployment Software[1] in Toronto, Ontario, Canada.
A number of graphical user interface (GUI) libraries are supported including Win32lib[8] and wrappers for wxWidgets,[9] GTK+[10] and IUP.
[14] Craig's thesis was heavily influenced by the work of John Backus on functional programming (FP) languages.
[14] Craig ported his original Atari implementation to the 16-bit DOS platform and Euphoria was first released, version 1.0, in July 1993[3] under a proprietary licence.
Euphoria continued to be developed and released by Craig via his company Rapid Deployment Software (RDS) and website rapideuphoria.com.
[18] Euphoria is an acronym for End-User Programming with Hierarchical Objects for Robust Interpreted Applications although there is some suspicion that this is a backronym.
Euphoria has been used in artificial intelligence experiments, the study of mathematics, for teaching programming, and to implement fonts involving thousands of characters.
However, because literal strings are so commonly used in programming, Euphoria interprets double-quote enclosed characters as a sequence of integers.
However, parameters are allowed to be modified locally (i.e., within the callee) which is implemented very efficiently as sequences have automatic copy-on-write semantics.