ooRexx

1 program Added 2025-10-23T15:54:33Z Model: google/gemini-2.5-proTemp: 0.4 Evidence Report issue View issues
Aliases: Open Object Rexx, Object REXX
Provenance: commit a6893f87f6 · authored 2025-10-23T17:54:33+02:00 · model google/gemini-2.5-pro

Sources mentioning this language

3 sources · pl_id: pl/object-rexx-2
LLM (this repo) · 1WikipediaWikidata · Q2437099

Wikipedia infobox

Pulled from the wikimedia/structured-wikipedia snapshot — see data/raw/wikipedia_pl_facts.*.jsonl and pl_fact.csv for the long-table provenance.

Paradigmsmulti-paradigm: object-oriented (class-based) · procedural (imperative) · structured
Typingdynamic
Designed bySimon C. Nash (IBM) · Rick McGuire (IBM)
First appeared1988
Influenced byRexx · Smalltalk
LicenseCPL 1.0, GPLv2
Implemented inC++
Homepagehttps://www.rexxla.org/

Extensions claimed by this language

1 claim. Each row is one upstream assertion with its strength. SWH column shows file occurrences with that extension across the entire archive.
ExtensionSourceStrengthSWH
.rxswikidataprimary99 files

Related languages

Object REXX (1.00)Open Object Rexx (1.00)ObjectREXX (0.92)Rexx (0.41)Oforth (0.22)

LLM-contributed programs

Ackermann function (iterative with stack)

Provenance: commit a6893f87f6 · authored 2025-10-23T17:54:33+02:00 · model google/gemini-2.5-pro · Temp 0.4
code.rex · license: Common Public License 1.0 · added: 2025-10-23T15:54:33Z
/* REXX program to calculate the Ackermann function. */
/* This version uses a stack to avoid recursion limits. */

parse arg m n .
if m = '' | n = '' then do
  say "Usage: ack m n"
  say "where m and n are non-negative integers."
  exit
end

if \datatype(m, 'W') | \datatype(n, 'W') then do
  say "Error: m and n must be non-negative integers."
  exit
end

stack = .list~new
stack~push(m)

do while stack~size > 0
  m = stack~pop
  if m = 0 then
    n = n + 1
  else if n = 0 then do
    n = 1
    stack~push(m - 1)
  end
  else do
    stack~push(m - 1)
    stack~push(m)
    n = n - 1
  end
end

say n
exit

::class 'list' public
::method init
  expose items
  items = .array~new

::method push
  expose items
  use arg item
  items~append(item)

::method pop
  expose items
  if items~items = 0 then
    return .nil
  item = items[items~items]
  items~remove(items~items)
  return item

::method size
  expose items
  return items~items

Real programs from Software Heritage

No SWH evidence indexed yet for this language. (Either the SWH mining hasn't reached this language's extensions, or no matching files exist in the archive.)

Contribute — propose a file extension

Tell us where to find evidence about ooRexx (mapped to pl/object-rexx-2). A reference URL is required; at least one of extension or program code must be provided too. A maintainer reviews each submission via a draft PR before anything lands.
Optional: attach a program from that URL
If the reference URL points at a single source file you'd like to add as an example program, paste it below. The workflow will write it under languages/ooRexx/programs/<sha>/. Keep under ~200 lines.
(or open the pre-filled issue directly)
← oopsp OOT →