Show HN: Linkly – a language designed for LLMs, compiled through MLIR

dch02021 pts0 comments

Releases · choiyounggi/linkly · GitHub

//releases/index" data-turbo-transient="true" />

Skip to content

Type / to search

Sign in<br>Sign upAppearance settings

You signed in with another tab or window. Reload to refresh your session.<br>You signed out in another tab or window. Reload to refresh your session.<br>You switched accounts on another tab or window. Reload to refresh your session.

Dismiss alert

{{ message }}

choiyounggi

linkly

Public

Notifications<br>You must be signed in to change notification settings

Fork

Star

Releases: choiyounggi/linkly

-->

Releases · choiyounggi/linkly

Release list

Jump to release

v0.2.0 — the lnpl MLIR dialect, and all nine agent roles

v0.1.0 — parser, semantic IR, and native compilation

v0.2.0 — the lnpl MLIR dialect, and all nine agent roles

v0.2.0 — the lnpl MLIR dialect, and all nine agent roles

Latest

Latest

Compare

Choose a tag to compare

Sorry, something went wrong.

Filter

Loading

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

No results found

View all tags

choiyounggi

released this

03 Aug 04:48

v0.2.0

8081aa1

This commit was created on GitHub.com and signed with GitHub’s verified signature .

GPG key ID: B5690EEEBB952194

Verified

Learn about vigilant mode.

Everything v0.1.0 named as unfinished is now done: the custom lnpl MLIR dialect,

the last agent role, and both of that tag's known limitations.

264 → 386 tests. 5 merged PRs, 50 files, +7573/−250.

What works

Everything in v0.1.0, plus:

RFC-0004 stage S4 — the custom lnpl MLIR dialect (#6). Mode B no longer

jumps from Semantic IR straight to standard dialects. It emits an lnpl module,

build() verifies it, and the standard-dialect lowering reads the same op stream.

Every op carries the originating node id on both paths RFC-0004 requires — the

lnpl.node_id attribute and a loc(...) — and the dialect's verifier enforces

the attribute's presence and type.

It needs no C++ TableGen build. v0.1.0 said it did; that was wrong. The

dialect is defined declaratively in mlir/lnpl.irdl.mlir and loaded into stock

mlir-opt with --irdl-file. The prerequisite is still just brew install llvm.

All nine agent roles (#14). RefactoringAgent performs the one restructuring

the KB grounds — patterns-repository-call's "한 step에 한 저장소 접근" — and

declines anything else. A test asserts protocol.ROLES equals the implemented

class set.

Getting there needed RFC-0010 , which states for the first time how a role

attaches a node it authored to a node it may not author, and what happens to a

reference that moves rather than disappearing. A proposal now declares its

structural intent and the Reviewer validates the merged document's invariants

instead of diffing surfaces. No new protocol method — the set stays at 8.

until obeys its condition in mode B (#5). At this tag's predecessor, mode B

statically unrolled to the round cap and behaved as though the condition never

became true; until counter >= 10 with counter = 10 ran 16 iterations against

mode A's 0. Both modes now agree at 0, 9, 10 and 100.

G8's condition-field list has one source (#4). It was derived independently in

three places, so a workflow with a different number of condition fields could

silently take the wrong guard branch and exit 0.

The deliberate-mismatch suite actually detects (#10). Three of its five cases

were passing against a standing divergence their own patch never caused. All five

now assert an equivalent baseline first and pin the specific failure class.

RFCs

Eleven documents; eight Accepted. New since v0.1.0:

RFC

0008 Guard Conditions<br>Condition ::= Presence | Comparison. Removes the 1–4-token phrase form no evaluator implemented. Updates 0002 §Full grammar, 0003 §Guard

0009 Guard Condition OQ<br>Retires RFC-0002's open question ② now that the grammar is settled. Updates 0002 §Open Questions

0010 Proposal Intent<br>Attachment and move semantics for ir.propose. Updates 0006 §Agent Roles & IR Access, §Methods/ir.propose

RFC-0004's S4 deviation note is retired, and its Open Question ② (the dialect's op

list and location notation) is resolved.

Known limitations

Mode B does not enforce RFC-0003's cache-TTL contract

(#9). Mode A refuses a

CacheAccess set with no budget; mode B prints and returns 0. A workflow without

a performance / cache clause therefore makes the two modes disagree — and the

differential check correctly reports it. Pinned by a test that goes red when mode

B learns to enforce it.

S5's lowering consumes an in-memory op stream, not the re-parsed lnpl module

(#7). The module is kept

load-bearing by the build failing when its verifier rejects it, and by a test that

the two renderings describe the same workflow. Making the lowering a real MLIR

pass — and giving the dialect regions, without which it cannot represent

concurrency at all — is the follow-up.

RFC-0004's document invariants V1 and V5 are not enforced

(#15). V5 (kind별 children 허용) is...

mlir dialect lnpl mode agent roles

Related Articles