Jump to content

IPTSCRAE

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 24.121.107.3 (talk) at 05:21, 28 July 2013 (Iptscrae is a RPN based language, so this was added for clarity.). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Iptscrae (a RPN based language) is the scripting language used to give additional functionality to The Palace software and servers. Its name comes from the pronunciation of "script" in Pig Latin. [1]

The language was created by Jim Bumgardner, who in turn was inspired by Forth, another stack-based language. Bumgardner chose this style of language because it is extremely easily to implement an interpreter, since there is no need to support parenthetical groupings or operator precedence.

The name "iptScrae" was borrowed by Bumgardner from a former colleague and mentor, Kevin Bjorke, who came up with the name "iptscray" for a freeware Forth interpreter a few years previously. Bumgardner originally created Iptscrae for Idaho, an in-house multi-media authoring system, similar to HyperCard, which he created while an employee at Warner New Media. He then reused and modified the IptScrae compiler for the Palace project, which was developed in 1994.

Although it is a scripting language, many have used it to provide additional functionality to many other programs and functions. Forums can be created with Iptscrae while embedding it with JavaScript, as many factions of Iptscrae fans have done in the past.

It's fully possible to implement Iptscrae with other languages, even if they're not on the same dynamic principles. For example, Iptscrae has, in the past, been webbed together with Java, JavaScript, HTML, and other artificial languages, including other scripting languages, programming languages, specification languages, query languages, and markup languages to add more end-user interactions and commands to other programs, without sacrificing user-friendliness. In the past years, Iptscrae has even been utilized in computer peer groups through open-source language compilers, using not only transformation and hardware description languages, but also combining it with several other genres of computer languages to create an intertwined web of user-friendliness and application compatibility.

Example

The following is a solution to a classic programmer's job interview exercise, FizzBuzz implemented in Iptscrae.

; FizzBuz example in Iptscrae
1 a =
{
   "" b =
   { "fizz" b += } a 3 % 0 == IF
   { "buzz" b += } a 5 % 0 == IF
   { a ITOA LOGMSG } { b LOGMSG } b STRLEN 0 == IFELSE
   a ++
}
{ a 100 <= } WHILE

..or, as one-line direct input: /""s={n++{{" "n itoa&}{" buzz"}n 5%ifelse}{" fizz"}n 3%ifelse s+=}{101n>}while s logmsg

Official Iptscrae Language Guide