CHR

1 program Added 2026-02-23T10:00:00Z Agent: claude-codeModel: claude-sonnet-4-6WebSearch: enabled Evidence Report issue View issues
Aliases: Constraint Handling Rules
Provenance: commit 0b98c1f817 · authored 2026-02-23T18:15:29+01:00 · agent claude-code · model claude-sonnet-4-6

Sources mentioning this language

5 sources · pl_id: pl/chr
LLM (this repo) · 1WikipediaEsolangRosettacodeWikidata · Q5164373

Wikipedia infobox

Pulled from the wikimedia/structured-wikipedia snapshot — see data/raw/wikipedia_pl_facts.*.jsonl and pl_fact.csv for the long-table provenance.

Paradigmsconstraint logic · declarative
Designed byThom Frühwirth
First appeared1991
Influenced byProlog

Related languages

Constraint Handling Rules (0.88)CHIP (0.46)cKanren (0.26)CLP(R) (0.22)OCL (0.19)

LLM-contributed programs

Fibonacci via CHR Tabulation

Provenance: commit 0b98c1f817 · authored 2026-02-23T18:15:29+01:00 · agent claude-code · model claude-sonnet-4-6 · WebSearch enabled
code.chr · added: 2026-02-23T10:00:00Z
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% 16 June 2003 Bart Demoen, Tom Schrijvers, K.U.Leuven
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

:- module(fibonacci,[]).

:- use_module(library(chr)).

:- constraints fibonacci/2.

%% fibonacci(N,M) is true iff  M is the Nth Fibonacci number.

%% Top-down Evaluation with effective Tabulation
%% Contrary to the version in the SICStus manual, this one does "true"
%% tabulation

fibonacci(N,M1) # Id \ fibonacci(N,M2) <=> var(M2) | M1 = M2 pragma passive(Id).

fibonacci(0,M) ==> M = 1.

fibonacci(1,M) ==> M = 1.

fibonacci(N,M) ==>
	N > 1 | 
		N1 is N-1,
		fibonacci(N1,M1),
		N2 is N-2,
		fibonacci(N2,M2),
		M is M1 + M2.

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 CHR (mapped to pl/chr). 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/CHR/programs/<sha>/. Keep under ~200 lines.
(or open the pre-filled issue directly)
← Chordfuck ChromaCode →