Est. 1992 Intermediate

OOSL

An object-oriented scripting language recorded as appearing in 1992 that has left no trace of its own, and the two later languages that share its name: a Brazilian stack language and an Italian Delphi scripting engine

Created by Not publicly documented - no paper, manual, product announcement or archive entry naming the author or vendor of a 1992 OOSL has been located

Paradigm Object-oriented (per the catalog record; no surviving specification describes the language's actual constructs)
Typing Not documented in any surviving public record
First Appeared Around 1992 (the year given by the catalog record; no independently datable artifact has been located to confirm it)
Latest Version None documented - no versioned release of a 1992 OOSL is publicly recorded

OOSL is catalogued as an object-oriented scripting language that first appeared around 1992 and is now historical, with commercial use said to have ended around 2005. That is nearly everything that can be said about it with confidence. No specification, implementation, manual, paper, vendor announcement or named author for a 1992 OOSL turned up in the web searches, encyclopedia lookups and repository searches done for this article.

The name itself is part of the problem. “OOSL” reads naturally as “Object-Oriented Scripting Language” or “Object-Oriented Specification Language”, so it works as a generic label as much as a proper name. Some university courses on object-oriented scripting languages reportedly use the abbreviation, and at least two unrelated languages have adopted it since 2006. Both are documented below because they are what anyone searching for OOSL today will find. Neither has any known connection to the 1992 entry.

What the record says

The catalog entry that preserves the language records six facts:

FieldRecorded value
NameOOSL
Year1992
StatusHistorical
Last commercial use2005
ParadigmObject-oriented
CategoryScripting

The accompanying note expands the name as “Object Oriented Scripting Language” and describes it as a scripting language with OOP features, limited commercial adoption and historical interest only. None of these values could be checked against a primary source. The years in particular should be read as approximate, because catalog compilers of obscure languages often take a date from a single citation, and a citation year is not necessarily a release year.

What the classification suggests

The points below are inferences from the record, not established facts.

1992 was a crowded year for object-oriented scripting. In the early 1990s many products shipped an embedded scripting language with objects attached. Asymetrix ToolBook’s OpenScript (1990), Apple’s AppleScript (1993) and Python (first released in 1991) all belong to this period. A commercial “object-oriented scripting language” of 1992 with limited adoption fits this pattern: most likely the macro or automation language of a single application or vendor toolkit, and most likely documented only in that product’s manuals.

A last-commercial year implies a product. The catalog gives a year in which commercial use ended, which suggests OOSL was sold or bundled rather than released as a research artifact. Languages tied to one commercial product usually disappear with it. Their documentation was printed, their binaries were licensed, and nothing was uploaded to a public archive.

The name may not have been a brand. “OOSL” may be a contemporary description of the language rather than its trade name, perhaps one used in a review or survey. If so, the language may survive in the record under a different name. No candidate for that identification has been found.

Not to be confused with

Two languages that really are called OOSL are well documented. Both are later and unrelated.

NameWhat it isWhy it is not this language
OOSL: Object Oriented Stack LanguageA general-purpose RPN (postfix) language from the Brazilian company 3W Comunicacao, whose SourceForge developers are listed as Henrique Leme, Cleber Goncalves and a third account, andre_leme. It was published on SourceForge in December 2006 under the MIT License.Its expansion is “Stack”, not “Scripting”. Its earliest dated trace is a 1999 copyright notice, and it was never described as a 1992 product
VRCalc++ OOSL: Object Oriented Scripting LanguageThe scripting engine behind VRCalc++, a set of Delphi (Object Pascal) applications by the apparently Italian developer Vincent Radio (Adrix.NT), published on GitHub in 2017 under the GPL.It matches the catalog’s expansion exactly, but its source dates from 2006 onwards and it was a one-person project, not a commercial product of the early 1990s

The Object Oriented Stack Language

The stack-based OOSL is the better documented of the two. Its SourceForge project describes it as a “cross platform object oriented stack programming language” that runs scripts in a terminal, builds graphical applications, runs as a CGI program under web servers, or embeds in other applications. Its repository contains prebuilt binaries for 32- and 64-bit Intel Linux, Mac OS X and Windows (terminal and GUI), along with a MySQL-enabled Linux build. Its reference manual, titled “OOSL Language Reference, Version 2.0”, defines five basic object types: strings, real numbers (which the manual says are held in a double structure accepting 80-bit values), two-dimensional string arrays (“arrays”), flags and labels. It also defines a set of stack operators close to those of Forth and PostScript (dup, pop, exch, roll, pick, ndup).

Labels begin with a backslash. Methods are defined with method ... endmethod, and control flow uses postfix if ... else ... endif, for ... endfor and do ... enddo. These lines from the project’s demo RPN calculator, gi.calculator.sl, show the style:

\pushnum method \pilha getref exch vwrite pop endmethod
\addnum method getnum popnum getnum popnum add makenum endmethod
\subnum method getnum popnum getnum popnum exch sub makenum endmethod

The object-oriented features are listed in the project’s Portuguese command reference: class creates a class, extend declares that one class extends another, relate declares a relationship between classes, method ... in <class> out <class> ... endmethod declares a method together with its expected input and output classes, and instance creates an instance. Scripts could also be embedded in HTML pages between <?oosl> tags, much as PHP is. The project’s own default.sl demo uses this to dump CGI parameters and environment variables.

The Subversion history begins on 11 December 2006 with a test commit. The next day comes “Original version 1.45.2”, an import of an existing code base. The project reached 295 revisions. The last two came on 21 September 2010, fourteen months after the one before them.

VRCalc++ Object Oriented Scripting Language

The second namesake grew out of VRCalc, a Delphi calculator whose form source files are dated 2006 in the published archive. By 2009 its author’s dated implementation notes discuss adding objects, properties, methods, strings, arrays and a dot operator to the calculator’s expression engine, which became a general scripting language run by a “VRCalc++ SX (script executor)” and a console application. The repository’s README calls it “VRCalc++ Object Oriented Scripting Language” and lists build packages for Embarcadero Delphi. Script modules use a .vrcm extension and an @-prefixed keyword syntax:

@function Initialize()
{
    @selfvar.theRandSeed = 0,
    @this
},

@to GetRandSeed() { @return @selfvar.theRandSeed },
@to SetRandSeed (aValue) { @selfvar.theRandSeed = aValue },
@property RandSeed get (@thisclass.GetRandSeed) set (@thisclass.SetRandSeed),

(from AxRandomClass.vrcm, part of the project’s script-defined library modules)

Most of the repository’s archives, including the one holding the script modules quoted above (files dated 2015 to 2017), were committed when it was created in February 2017. The fuller source archive, ax-dev-hot-delphi.zip, holds files dated from 2009 to 2023 and was updated repeatedly from August 2022 until its latest commit in June 2023.

Why it matters

Most entries in this encyclopedia rebuild a language from what survives of it. OOSL shows a different kind of loss. A commercial scripting language from the early 1990s, sold with one product and documented only in printed manuals, can vanish so completely that its name now belongs to other projects. The two later OOSLs are themselves fragile: one lives only on SourceForge, the other in a single GitHub repository. If anyone has a manual, disk or magazine review of a 1992 product describing its “OOSL”, that one artifact would settle questions no amount of searching has answered.

Sources and what was not found

  • Catalog record: the year, status, last-commercial year, paradigm and category come from the encyclopedia’s master list and are unverified.
  • Object Oriented Stack Language: SourceForge project metadata (registration date, developers, license), the Subversion repository (commit history, doc/LICENSE.txt, doc/command_ref_portuguese.txt, doc/oosl_command_reference.rtf, demo/*.sl) and the project home page at oosl.sourceforge.net.
  • VRCalc++ OOSL: the GitHub repository adrixnt/Adrix.NT-Delphi-VRCalc-OOSL-and-more (README, GPLv3 license, archived source and script modules).
  • Searched without finding a 1992 OOSL: general web search under several phrasings, FOLDOC, PLDB’s data repository, the Esolang wiki, Wikipedia’s lists of programming languages, the Hello World Collection and GitHub repository search. HOPL did not respond, the Internet Archive was offline during research and Google Books was over its query quota, so none of the three could be checked. Both remain the most promising leads.

Timeline

c. 1992
Reported first appearance of OOSL, an object-oriented scripting language. The year comes from the programming-language catalog entry under which the language is preserved; no manual, paper, product listing or source code that would confirm the date, the author or the vendor has been located
c. 2005
The catalog record gives this as the last year of commercial use and classes the language as historical. Like the origin year, this date cannot be checked against any surviving source
2006
Namesake, not this language: the Object Oriented Stack Language, an RPN scripting language from the Brazilian firm 3W Comunicacao, is registered on SourceForge on 8 December 2006. Its MIT license file carries the copyright notice '1999-2007 3W Comunicacao', and the second revision in its Subversion repository, committed on 12 December 2006, is described as 'Original version 1.45.2', so the language had a history before it was published
2009
Namesake, not this language: design notes and test scripts dated 2009 in Vincent Radio's VRCalc++ project, a Delphi scripting engine he later published as the 'VRCalc++ Object Oriented Scripting Language', cover adding objects, properties, methods, strings and arrays to the engine's expression language
2010
Namesake, not this language: the last two commits to the Object Oriented Stack Language's SourceForge repository, revisions 294 ('Free memory def') and 295, land minutes apart on 21 September 2010, after a gap of fourteen months since revision 293, 'Fixing comments for macintosh', in July 2009
2017
Namesake, not this language: the GitHub repository 'Adrix.NT-Delphi-VRCalc-OOSL-and-more' is created on 19 February 2017. Its README presents 'VRCalc++ Object Oriented Scripting Language' as source code, Embarcadero build packages and script test code, and the repository is licensed under the GNU GPL version 3
2026
As of October 2026, searches of the public web, FOLDOC, PLDB, Wikipedia's language lists, the Esolang wiki and GitHub find no surviving artifact of a 1992 language named OOSL. Every documented use of the name refers to one of the later languages or to the generic phrase 'object-oriented scripting languages'

Running Today

Run examples using the official Docker image:

docker pull
Last updated: