HOME

TheInfoList



OR:

RTML is a
proprietary programming language A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language. The description of a programming la ...
used exclusively by
Yahoo! Yahoo! (, styled yahoo''!'' in its logo) is an American web services provider. It is headquartered in Sunnyvale, California and operated by the namesake company Yahoo Inc., which is 90% owned by investment funds managed by Apollo Global Man ...
's Yahoo! Store and Yahoo! Site
web hosting service A web hosting service is a type of Internet hosting service that hosts websites for clients, i.e. it offers the facilities required for them to create and maintain a site and makes it accessible on the World Wide Web. Companies providing web h ...
s.


History

The language originated at
Viaweb Viaweb was a web-based application that allowed users to build and host their own online stores with little technical expertise using a web browser. The company was started in July 1995 by Paul Graham, Robert Morris (using the pseudonym "John M ...
, a company founded in 1995 by Paul Graham and Robert T. Morris, as the template language for their
e-commerce E-commerce (electronic commerce) is the activity of electronically buying or selling of products on online services or over the Internet. E-commerce draws on technologies such as mobile commerce, electronic funds transfer, supply chain manageme ...
platform. RTML stands for "Robert T. Morris Language". The RTML editor was offered as an option for customers (usually
small business Small businesses are types of corporations, partnerships, or sole proprietorships which have fewer employees and/or less annual revenue than a regular-sized business or corporation. Businesses are defined as "small" in terms of being able to ap ...
es) who wanted to customize their
online stores Online shopping is a form of electronic commerce which allows consumers to directly buy goods or services from a seller over the Internet using a web browser or a mobile app. Consumers find a product of interest by visiting the website of the r ...
more than the built-in templates allowed. The built-in templates were also written in RTML, and provided the starting point for most people who used the language. In 1998, Yahoo! bought Viaweb for $49.6 million and renamed the service Yahoo! Store. Yahoo! later offered the RTML-based
content management system A content management system (CMS) is computer software used to manage the creation and modification of digital content (content management).''Managing Enterprise Content: A Unified Content Strategy''. Ann Rockley, Pamela Kostur, Steve Manning. New ...
in a hosting platform without a
shopping cart A shopping cart (American English), trolley (British English, Australian English), or buggy (Southern American English, Appalachian English), also known by a variety of other names, is a wheeled cart supplied by a shop or store, especially ...
, under the name Yahoo! Site. In 2003, Yahoo! renamed the Yahoo! Store service ''Yahoo! Merchant Solutions'' (part of Yahoo! Small Business), and at the same time began offering new customers the choice of a more standard
PHP PHP is a general-purpose scripting language geared toward web development. It was originally created by Danish-Canadian programmer Rasmus Lerdorf in 1993 and released in 1995. The PHP reference implementation is now produced by The PHP Group ...
/
MySQL MySQL () is an open-source relational database management system (RDBMS). Its name is a combination of "My", the name of co-founder Michael Widenius's daughter My, and "SQL", the acronym for Structured Query Language. A relational database o ...
web hosting environment instead of the RTML-based Store Editor. , many new Yahoo! Merchant Solutions sites and legacy Yahoo! Stores continue to be built using the Store Editor and RTML.


Language

Although Yahoo!'s documentation does not mention it, RTML is actually implemented on top of a
Lisp A lisp is a speech impairment in which a person misarticulates sibilants (, , , , , , , ). These misarticulations often result in unclear speech. Types * A frontal lisp occurs when the tongue is placed anterior to the target. Interdental lisping ...
-based system. The language is somewhat unusual in that the programmer cannot edit the source code directly as text. Instead, keywords are presented as
hyperlink In computing, a hyperlink, or simply a link, is a digital reference to data that the user can follow or be guided by clicking or tapping. A hyperlink points to a whole document or to a specific element within a document. Hypertext is text wit ...
s in a browser-based
HTML The HyperText Markup Language or HTML is the standard markup language for documents designed to be displayed in a web browser. It can be assisted by technologies such as Cascading Style Sheets (CSS) and scripting languages such as JavaScri ...
interface. Clicking on a keyword selects it, and its attributes can be edited. Blocks of code can be pushed and popped from a clipboard, using the stack metaphor. The editor maintains the code's
s-expression In computer programming, an S-expression (or symbolic expression, abbreviated as sexpr or sexp) is an expression in a like-named notation for nested list (tree-structured) data. S-expressions were invented for and popularized by the programming la ...
structure automatically, and visually represents it in the web interface using
indentation __FORCETOC__ In the written form of many languages, an indentation or indent is an empty space at the beginning of a line to signal the start of a new paragraph. Many computer languages have adopted this technique to designate "paragraphs" or o ...
instead of Lisp's
parentheses A bracket is either of two tall fore- or back-facing punctuation marks commonly used to isolate a segment of text or data from its surroundings. Typically deployed in symmetric pairs, an individual bracket may be identified as a 'left' or 'r ...
. Most of the keywords correspond to
HTML The HyperText Markup Language or HTML is the standard markup language for documents designed to be displayed in a web browser. It can be assisted by technologies such as Cascading Style Sheets (CSS) and scripting languages such as JavaScri ...
elements, but there are also conditionals,
recursion Recursion (adjective: ''recursive'') occurs when a thing is defined in terms of itself or of its type. Recursion is used in a variety of disciplines ranging from linguistics to logic. The most common application of recursion is in mathematics ...
, and other
control flow In computer science, control flow (or flow of control) is the order in which individual statements, instructions or function calls of an imperative program are executed or evaluated. The emphasis on explicit control flow distinguishes an ''imper ...
features that make it a "real" programming language. RTML templates are evaluated dynamically for each pageview during editing, but for the live site a "publish" process generates static HTML files from them.


Abbreviation

Yahoo!'s documentation used to say that RTML was an
acronym An acronym is a word or name formed from the initial components of a longer name or phrase. Acronyms are usually formed from the initial letters of words, as in ''NATO'' (''North Atlantic Treaty Organization''), but sometimes use syllables, as ...
for "Real Time Markup Language", but Graham admitted that "we made up various explanations for what RTML was supposed to stand for, but actually I named it after Robert Morris, the other founder of Viaweb, whose username is rtm."


References


External links

*Yahoo!'s ow
RTML ReferenceYahoo! Merchant Solutions Developer Network
- Yahoo's Directory of Merchant Solutions Developers

site

- transcript of a talk by Paul Graham that mentions RTML
RTML section of YourStoreForums.com
- a forum for Yahoo store owners with a dedicated RTML section
Yahoo Small Business
- Yahoo Small Business Official Website {{DEFAULTSORT:Rtml Domain-specific programming languages Yahoo!