Forge

1 program Added 2026-03-17T05:09:30Z Agent: claude-codeModel: claude-sonnet-4-6WebSearch: disabled Evidence Report issue View issues
Aliases: Forge modeling language
Provenance: commit df16e62c47 · authored 2026-03-17T06:09:58+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

JML (0.51)LookML (0.49)BitML (0.47)WSML (0.41)DAML (0.40)

LLM-contributed programs

Binary Tree Model

Provenance: commit df16e62c47 · authored 2026-03-17T06:09:58+01:00 · agent claude-code · model claude-sonnet-4-6 · WebSearch disabled
code.frg · added: 2026-03-17T05:09:30Z
#lang forge
option run_sterling "./bst.js"

/*
  Model of binary search trees
  Tim, 2024

  First version: binary trees (without the BST invariant)
*/

sig Node {
  key: one Int,     -- every node has some key 
  left: lone Node,  -- every node has at most one left-child
  right: lone Node  -- every node has at most one right-child
}
fun descendantsOf[ancestor: Node]: set Node {
  ancestor.^(left + right) -- nodes reachable via transitive closure
}
pred binary_tree {
  -- no cycles
  all n: Node | n not in descendantsOf[n] 
  -- connected via finite chain of left, right, and inverses
  all disj n1, n2: Node | n1 in n2.^(left + right + ~left + ~right)
  -- left+right differ (unless both are empty)
  all n: Node | some n.left => n.left != n.right 
  -- nodes have a unique parent (if any)
  all n: Node | lone parent: Node | n in parent.(left+right)
}

-- View a tree or two
run {binary_tree} for exactly 8 Node

-- Run a test: our predicate enforces a unique root exists (if any node exists)
pred req_unique_root {   
  no Node or {
    one root: Node | 
      all other: Node-root | other in descendantsOf[root]}}
assert binary_tree is sufficient for req_unique_root for 5 Node  

Contribute — propose a file extension

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