SCOOP

1 program Added 2026-03-13T10:00:00Z Agent: claude-codeModel: claude-sonnet-4-6WebSearch: disabled Evidence Report issue View issues
Aliases: Simple Concurrent Object-Oriented Programming
Provenance: commit 95e8e28431 · authored 2026-03-13T03:41:07+01:00 · agent claude-code · model claude-sonnet-4-6

Sources mentioning this language

5 sources · pl_id: pl/scoop
LLM (this repo) · 1PldbWikipediaEsolangWikidata · Q17146793

Related languages

ZZT-OOP (0.53)SIMPOL (0.33)OOT (0.31)Prolog++ (0.29)MCPL (0.27)

LLM-contributed programs

Parallel Counter with Separate Objects

Provenance: commit 95e8e28431 · authored 2026-03-13T03:41:07+01:00 · agent claude-code · model claude-sonnet-4-6 · WebSearch disabled
code.e · added: 2026-03-13T10:00:00Z
-- SCOOP (Simple Concurrent Object-Oriented Programming) example
-- Demonstrates parallel execution with separate concurrent objects
-- Source: EiffelStudio SCOOP examples and documentation

class COUNTER
feature
    value: INTEGER

    increment
        do
            value := value + 1
        end

    add (n: INTEGER)
        do
            value := value + n
        end
end

class APPLICATION
create
    make

feature
    make
            -- Create two separate (concurrent) counters and drive them in parallel
        local
            c1: separate COUNTER
            c2: separate COUNTER
        do
            create c1
            create c2
            bump (c1)
            bump (c1)
            bump (c1)
            bump (c2)
            bump (c2)
            io.put_string ("Counter 1: ")
            io.put_integer (snapshot (c1))
            io.put_new_line
            io.put_string ("Counter 2: ")
            io.put_integer (snapshot (c2))
            io.put_new_line
        end

    bump (c: separate COUNTER)
            -- Asynchronously increment c; call is queued on c's handler
        do
            c.increment
        end

    snapshot (c: separate COUNTER): INTEGER
            -- Wait for all pending calls on c, then return its value
        do
            Result := c.value
        end
end

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 SCOOP (mapped to pl/scoop). 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/SCOOP/programs/<sha>/. Keep under ~200 lines.
(or open the pre-filled issue directly)
← SCM scoop-pm →