Creol

1 program Added 2026-02-10T12:00:00Z Agent: claude-codeModel: opusWebSearch: disabled Evidence Report issue View issues
Aliases: —
Provenance: commit e9241d0182 · authored 2026-02-10T13:06:47+01:00 · agent claude-code · model opus

Sources mentioning this language

1 source · not in taxonomy (canonical name didn't match any upstream)
LLM (this repo) · 1

Related languages

Cryptol (0.33)COOL (0.30)Carol (0.27)Cowgol (0.25)COMPOOL (0.23)

LLM-contributed programs

Bounded Buffer Producer-Consumer

Provenance: commit e9241d0182 · authored 2026-02-10T13:06:47+01:00 · agent claude-code · model opus · WebSearch disabled
code.creol · added: 2026-02-10T12:00:00Z
interface Buffer begin
  with Producer
    op put(x: Int)
  with Consumer
    op get(out x: Int)
end

class BoundedBuffer(max: Int) implements Buffer begin
  var buf: List[Int] := nil
  var n: Int := 0

  with Producer
    op put(x: Int) ==
      await n < max;
      buf := buf |- x;
      n := n + 1

  with Consumer
    op get(out x: Int) ==
      await n > 0;
      x := head(buf);
      buf := tail(buf);
      n := n - 1
end

class Producer(b: Buffer) begin
  var count: Int := 0

  op run ==
    while count < 10 do
      b.put(count);
      count := count + 1
    end
end

class Consumer(b: Buffer) begin
  op run ==
    var x: Int;
    b.get(x);
    !run()
end

Contribute — propose a file extension

Tell us where to find evidence about Creol (mapped to pl/creol). 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/Creol/programs/<sha>/. Keep under ~200 lines.
(or open the pre-filled issue directly)
← Crement creole →