Ampersand

1 program Added 2026-02-26T13:45:45Z Agent: claude-codeModel: claude-sonnet-4-6WebSearch: enabled Evidence Report issue View issues
Aliases: ADL, Ampersand Definition Language
Provenance: commit 030a5ce633 · authored 2026-02-26T14:46:13+01:00 · agent claude-code · model claude-sonnet-4-6

Sources mentioning this language

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

Related languages

CDDL (0.39)SFDL (0.39)PDDL (0.38)WebIDL (0.38)NDDL (0.36)

LLM-contributed programs

Hello World Registration

Provenance: commit 030a5ce633 · authored 2026-02-26T14:46:13+01:00 · agent claude-code · model claude-sonnet-4-6 · WebSearch enabled
code.adl · added: 2026-02-26T13:45:45Z
CONTEXT HelloWorld IN ENGLISH
PURPOSE CONTEXT HelloWorld
{+This script allows you to check whether or not you can actually use Ampersand.+}

REPRESENT UserName TYPE ALPHANUMERIC
RELATION sessionUserName[SESSION*UserName] [UNI]
MEANING "User name can be known in the current session."

REPRESENT Greeting TYPE ALPHANUMERIC
RELATION sessionGreeting[SESSION*Greeting] [UNI]
MEANING "Every session has a text for greeting its user."

ROLE User MAINTAINS "Please specify your name"
RULE "Please specify your name": '_SESSION'[SESSION] |- sessionUserName;sessionUserName~
VIOLATION (TXT "You can use the 'Registration' interface to do so.")

RELATION sessionUsedName[SESSION*UserName] [UNI]
ROLE ExecEngine MAINTAINS "Create/update greeting text"
RULE "Create/update greeting text": sessionUserName |- sessionUsedName
VIOLATION (TXT "{EX} InsPair;sessionUsedName;SESSION;", SRC I, TXT ";UserName;", SRC sessionUserName
          ,TXT "{EX} InsPair;sessionGreeting;SESSION;", SRC I ,TXT ";Greeting;Hello, "
               , SRC sessionUserName, TXT ". Please feel free to change (or delete) your name."
          )
ROLE ExecEngine MAINTAINS "Delete greeting text"
RULE "Delete greeting text": I-(sessionUserName;sessionUserName~) |- I-(sessionUsedName;sessionUsedName~)
VIOLATION (TXT "{EX} DelPair;sessionUsedName;SESSION;", SRC I ,TXT ";UserName;", SRC sessionUserName
          ,TXT "{EX} DelPair;sessionGreeting;SESSION;", SRC I ,TXT ";Greeting;", SRC sessionGreeting
          )
ROLE ExecEngine MAINTAINS "Create greeting text for unknown user"
RULE "Create greeting text for unknown user": I[SESSION] |- sessionGreeting;sessionGreeting~
VIOLATION (TXT "{EX} InsPair;sessionGreeting;SESSION;", SRC I ,TXT ";Greeting;Hello, user without a name. Please enter your name."
          )

VIEW SESSIONs: SESSION(TXT "Hello, World")

INTERFACE Registration FOR User: '_SESSION'[SESSION] cRud BOX <ROWSNL>
   [ "hidden row 1" : I /\ sessionUserName;sessionUserName~ cRud ROWS
     [ "My name is" : sessionUserName cRUd
     ]
   , "hidden row 2" : sessionGreeting cRud
   , "hidden row 3" : I-(sessionUserName;sessionUserName~) cRud BOX <ROWSNL>
     [ "Enter your name" : sessionUserName cRUd
     ]
   ]

ENDCONTEXT

Contribute — propose a file extension

Tell us where to find evidence about Ampersand (mapped to pl/ampersand). 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/Ampersand/programs/<sha>/. Keep under ~200 lines.
(or open the pre-filled issue directly)
← amperes-circuital-equation AMPL →