OmniMark

1 program Added 2026-02-09T09:43:50Z Agent: claude-codeModel: opusWebSearch: enabled Evidence Report issue View issues
Aliases: —
Provenance: commit f2729fe647 · authored 2026-02-09T10:44:35+01:00 · agent claude-code · model opus

Sources mentioning this language

5 sources · pl_id: pl/omnimark
LLM (this repo) · 1PldbWikipediaRosettacodeWikidata · Q7090311

Related languages

OMNITAB (0.27)SPARK (0.21)Futhark (0.19)Omnis Studio (0.17)Darklang (0.16)

LLM-contributed programs

ISBN13 Check Digit

Provenance: commit f2729fe647 · authored 2026-02-09T10:44:35+01:00 · agent claude-code · model opus · WebSearch enabled
code.xom · license: GFDL · added: 2026-02-09T09:43:50Z
define switch function isbn (value stream vs-s) as
  local integer li-total initial {0}
  local integer li-check
  repeat scan vs-s
    ; Any digits in an ISBN-13 may be separated by a hyphen or space
    match (digit => lpv-1 ('-' | space)? digit => lpv-3 ('-' | space)? ) => p
      ; Add the first digit to the total and add the second multiplied by 3
      increment li-total by (lpv-1 + (lpv-3 * 3))
    match any => lpv-c
      ; This is always the thirteenth digit, the 'check' digit
      set li-check to lpv-c
  again
  do when 10 - li-total modulo 10 = li-check
    return true
  else when li-total modulo 10 = 0 and li-check = 0
    return true
  else
    return false
  done

process
  ; These are the first four test ISBN-13s from the problem description, with
  ; the first and third being valid and the second and fourth invalid.
  submit "978-0596528126"
  submit "978-0596528120"
  submit "978-1788399081"
  submit "978-1788399083"

  ; This ISBN-13 is from https://isbn-information.com/the-13-digit-isbn.html
  submit "978-1-86197-876-9"
  submit "978 1 86197 876 9"

  ; These ISBNs are from https://en.wikipedia.org/wiki/ISBN
  submit "978-3-16-148410-0"
  submit "978 3 16 148410 9"
  submit "This is valid: 978-0-306-40615-7^"
  submit "978-03-0640-615 7."

  ; These strings show how non-ISBN-13 numbers must be (and are) ignored.
  submit "This is a 14-digit number - 555-30640610555 - so it is ignored.%n"
  submit "This is an ISBN-10, so it is ignored too: 0-306-40615-2.%n"

find ([any \ digit] | value-start) => lpv-s
     ((digit ('-' | space)?){12} digit) => lpv-n
     ([any \ digit] | value-end) => lpv-e
  output lpv-s || lpv-n || lpv-e
  do when isbn(lpv-n) = true
    output ' (good)%n'
  else
    output ' (bad)%n'
  done

find any => lpv-char
  output lpv-char

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 OmniMark (mapped to pl/omnimark). 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/OmniMark/programs/<sha>/. Keep under ~200 lines.
(or open the pre-filled issue directly)
← Omnifuck Omnis Clocha Clochabilis in Clocherio Clochando Clochans Clochativo Clochare facit Clochabiliter Clochantes →