Fleng
1 program
Added 2026-03-17T10:00:00Z
Agent: claude-codeModel: claude-sonnet-4-6WebSearch: disabled
Evidence
Report issue
View issues
Aliases: Flat Guarded Horn Clauses
Provenance: commit d1ba5dd5f1 · authored 2026-03-17T00:51:49+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)
Related languages
LLM-contributed programs
Parallel Merge Sort
Provenance: commit d1ba5dd5f1 · authored 2026-03-17T00:51:49+01:00 · agent claude-code · model claude-sonnet-4-6 · WebSearch disabled
:- module(fleng_examples).
% Merge two sorted lists in parallel (Fleng)
% Fleng clause form: Head :- Guard | Body
merge([], Ys, Ys) :- true | true.
merge([X|Xs], [], [X|Xs]) :- true | true.
merge([X|Xs], [Y|Ys], [X|Zs]) :- X =< Y | merge(Xs, [Y|Ys], Zs).
merge([X|Xs], [Y|Ys], [Y|Zs]) :- X > Y | merge([X|Xs], Ys, Zs).
% Split a list into two halves
split([], [], []) :- true | true.
split([X], [X], []) :- true | true.
split([X,Y|Zs], [X|Xs], [Y|Ys]) :- true | split(Zs, Xs, Ys).
% Parallel merge sort
msort([], []) :- true | true.
msort([X], [X]) :- true | true.
msort([X,Y|Zs], Sorted) :- true |
split([X,Y|Zs], Left, Right),
msort(Left, SortedLeft),
msort(Right, SortedRight),
merge(SortedLeft, SortedRight, Sorted).