RTML
   HOME

TheInfoList



OR:

RTML is a proprietary programming language used exclusively by
Yahoo! Yahoo (, styled yahoo''!'' in its logo) is an American web portal that provides the search engine Yahoo Search and related services including My Yahoo, Yahoo Mail, Yahoo News, Yahoo Finance, Yahoo Sports, y!entertainment, yahoo!life, and its a ...
'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 application, web-based application that allowed users to build and web hosting, host their own online stores with little technical expertise using a web browser. The company was started in July 1995 by Paul Graham (computer progr ...
, a company founded in 1995 by Paul Graham and Robert T. Morris, as the template language for their
e-commerce E-commerce (electronic commerce) refers to commercial activities including the electronic buying or selling products and services which are conducted on online platforms or over the Internet. E-commerce draws on technologies such as mobile co ...
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 a small number of employees and/or less annual revenue than a regular-sized business or corporation. Businesses are defined as "small" in terms of being ...
es) who wanted to customize their online stores 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 #Name, other names, is a wheeled cart supplied by a Retail#Types of ret ...
, 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 towards 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 software, 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 rel ...
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 Lisp (historically LISP, an abbreviation of "list processing") is a family of programming languages with a long history and a distinctive, fully parenthesized Polish notation#Explanation, prefix notation. Originally specified in the late 1950s, ...
-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 providing direct access to Data (computing), data by a user (computing), user's point and click, clicking or touchscreen, tapping. A hyperlink points to a whole document or to ...
s in a browser-based
HTML Hypertext Markup Language (HTML) is the standard markup language for documents designed to be displayed in a web browser. It defines the content and structure of web content. It is often assisted by technologies such as Cascading Style Sheets ( ...
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 (computing), list (Tree (data structure), tree-structured) data. S-expressions were invented ...
structure automatically, and visually represents it in the web interface using
indentation __FORCETOC__ In the written form of many languages, indentation describes empty space ( white space) used before or around text to signify an important aspect of the text such as: * Beginning of a paragraph * Hierarchy subordinate concept * Qu ...
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. They come in four main pairs of shapes, as given in the box to the right, which also gives their n ...
. Most of the keywords correspond to
HTML Hypertext Markup Language (HTML) is the standard markup language for documents designed to be displayed in a web browser. It defines the content and structure of web content. It is often assisted by technologies such as Cascading Style Sheets ( ...
elements, but there are also conditionals,
recursion Recursion occurs when the definition of a concept or process depends on a simpler or previous version of itself. Recursion is used in a variety of disciplines ranging from linguistics to logic. The most common application of recursion is in m ...
, 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 '' ...
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 type of abbreviation consisting of a phrase whose only pronounced elements are the initial letters or initial sounds of words inside that phrase. Acronyms are often spelled with the initial Letter (alphabet), letter of each wor ...
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
Yahoo Small Business
- Yahoo Small Business Official Website {{DEFAULTSORT:Rtml Domain-specific programming languages Yahoo!