Spring til indhold
AiNews.dkDanske nyheder om Kunstig Intelligens

Topnyheder

Medium-klone beviser 117 koderegler med værktøjet Lasm

Én Lean-kodebase kan blive til Node-server, serverless-funktion eller browserapp. Flagskibseksemplet, en Medium-klone, har 117 beviste egenskaber om koden, der faktisk kører.

Ca. 2 min. læsetid2 kilderVedtaget af NIel AutopilotRettet 31. oktober 2026 kl. 18.00
Til kilderne ↓

Læs i dit tempo

Kort

En udvikler har bygget Conduit, en Medium-klone, hvor 117 matematiske beviser viser, at koden lever op til reglerne. Det betyder, at man kan stole på, at programmet opfører sig korrekt, ikke kun at testerne består. Værktøjet Lasm, der gør det muligt, udkommer nu i version 0.3.5 og kan installeres gratis via npm.

Begynder

Forestil dig, at du kunne bevise matematisk, at din blog aldrig ville gå i stykker på de måder, du frygter. Det er præcis, hvad Conduit er: en klon af Medium, skrevet i programmeringssproget Lean, hvor man kan skrive beviser for, at koden opfører sig, som den skal. Projektet indeholder 117 sådanne beviser. Én af dem viser, at kun forfatteren kan redigere sine egne artikler og kommentarer. Andre viser, at korte webadresser aldrig kolliderer, og at opdelingen af indlæg i sider aldrig springer et indlæg over eller gentager et. Hvert bevis er forklaret i almindelige ord i projektets PROOFS.md-fil.

Conduit er flagskibseksemplet bag Lasm, et værktøj, der oversætter almindelige Lean 4-programmer til WebAssembly — et format, som browsere og mange servere kan køre. Tænk på det som en bro: Lean-verdenens strenge beviser bliver brugbare i helt almindelige webapps. Én kodebase kan blive til en Node-server, en serverless- eller edge-funktion (små programmer, der kører hos en udbyder), et Fastly-modul eller en browserapp. Lasm udkommer i version 0.3.5 under MIT-licensen og installeres via npm, JavaScript-verdenens pakkeværktøj. Værktøjet bringer Lean og dets byggeværktøjer med sig, så du kun behøver Node, Bun eller Deno — tre populære måder at køre JavaScript på. En skabelon med webframeworket Hono starter et nyt projekt med én kommando, og en enkelt fil kan bygges uden et helt projekt.

Beviserne gælder koden, der faktisk kører. De dækker også validering delt mellem klient og server, så appen aldrig sender noget, serveren ville afvise — lidt som at tjekke adressen på kuverten, før du sender brevet. Derudover dækker de JSON-rundture (data udvekslet frem og tilbage i et tekstformat) og sikre Markdown-links. Men der er grænser: At hver SQL-sætning gør, hvad dens model lover, JSON-tekstlaget, samtidighed mellem forespørgsler samt Lean, Lasm og JavaScript-runtime'en er betroet, ikke bevist. At appen overholder hele RealWorld-specifikationen er testet, ikke bevist.

I praksis virker det: Den officielle RealWorld-testsuite består uændret af 154 forespørgsler på Node, Cloudflare Workers og Bun, og Playwright-testen kører uden genforsøg i Chromium, Firefox og WebKit. Node-bygget har Leans fulde runtime med tråde, filer og sockets, mens edge-, Bun-, Deno- og browser-byggene kører enkelttrådet uden sockets og processer. En pris skal man dog betale: Lasm har ingen færdige bindinger til JavaScript-biblioteker, så hver funktion, du kalder, kræver én håndskrevet linje i koden.

AiNews' genererede delekort for „Medium-klone beviser 117 koderegler med værktøjet Lasm“
Genereret motiv i AiNews' radarsprog · ikke et fotografi fra historien

Kun forfatteren kan redigere sine egne artikler og kommentarer. Det er én af 117 matematiske beviser i Conduit, en Medium-klone skrevet helt i programmeringssproget Lean. Teoremerne viser også, at korte webadresser aldrig kolliderer, og at pagineringen aldrig springer et indlæg over eller gentager et.

Klonen er flagskibseksemplet bag Lasm, et værktøj, der kompilerer almindelige Lean 4-programmer til WebAssembly. I Lean kan du skrive beviser for, at koden lever op til regler, og Lasm bringer muligheden over i almindelige webapps. Én kodebase kan blive til en Node-server, en serverless- eller edge-funktion, et Fastly-modul eller en browserapp.

Lasm udkommer i version 0.3.5 under MIT-licensen og installeres via npm. Værktøjet bringer Lean og dets byggeværktøjer med sig, så du kun behøver Node, Bun eller Deno. En skabelon med webframeworket Hono starter et nyt projekt med én kommando, og en enkelt fil kan bygges uden et helt projekt.

Beviserne gælder koden, der faktisk kører. De dækker også validering delt mellem klient og server, så appen aldrig sender noget serveren ville afvise, samt JSON-rundture og sikre Markdown-links. Hvert bevis er forklaret i almindelige ord i projektets PROOFS.md.

Der er grænser for, hvad beviserne dækker. At hver SQL-sætning gør, hvad dens model lover, JSON-tekstlaget, samtidighed mellem forespørgsler samt Lean, Lasm og JavaScript-runtime'en er betroet, ikke bevist. At appen overholder hele RealWorld-specifikationen er testet, ikke bevist.

Den officielle RealWorld-testsuite består uændret af 154 forespørgsler på Node, Cloudflare Workers og Bun, og Playwright-testen kører uden genforsøg i Chromium, Firefox og WebKit. Node-bygget har Leans fulde runtime med tråde, filer og sockets, mens edge-, Bun-, Deno- og browser-byggene kører enkelttrådet uden sockets og processer.

Lasm har ingen færdige bindinger til JavaScript-biblioteker. Hver funktion, du kalder, kræver én håndskrevet linje i koden.

Det er uklart: Alle resultater stammer fra projektets egen README og dets egne CI-kørsler; ifølge projektets politik deployer CI aldrig til en rigtig cloud-konto. Værktøjet er tidligt i version 0.3.5, og der findes ingen uafhængige vurderinger i materialet.

Kilder

  1. Lasm – Write formally verified webapps in Lean for Node/serverless/edge github.com
  2. Lasm – Write formally verified webapps in Lean for Node/serverless/edge github.com
Produktionshistorie
  1. Radar Signal ? af 100 · spredning 1 kilder
  2. Vurdering Nyheds 3/5 — Interessant værktøj til udviklere (formelt verificerede webapps i Lean), men AI-koblingen er uklar og engagementet lavt.
  3. Skrevet Model: glm-5.3-flash · temperatur 0.4
  4. Overskrift 5 kandidater, valgt af chat.dk
  5. Korrektur 1 zen · 6 rettelser
  6. Korrektur 2 chatdk · 5 rettelser
  7. Vedtagelse ainews-auto-v4 · score 0.5817