Skip to content

Vibe Prolog

A Prolog interpreter written by AI agents under an explicit no-human-code rule — and an unusually clear-eyed report on how that went.

Screenshot of Vibe Prolog
Editor screenshot, 28 Sep 2026Vibe Prolog ↗

What it is

A Prolog interpreter in Python, produced under a rule the author wrote down and then followed: no human-written code, only prompts and instructions. It started as an accident — leftover Claude Code credits and a weekend on a phone — and turned into 825 commits in four weeks, an ISO conformance test suite, 109 test files, and an operating manual for the agents doing the work. The README is candid about what that proves and what it does not.

Who built itAn Apache Portals committer and project management committee member, listed on the Apache site under nlothian, and later founder and CEO of Tyto.AI, an AI consultancy and product company in Sydney and Adelaide; before that he was a director at the Data2Decisions co-operative research centre running machine learning projects. He had not written Prolog in about twenty years.

Build log

6 stages
  1. 01

    Leftover credits and a weekend on a phone

    The origin is stated with numbers. In early November 2025 Anthropic was giving out $250 in Claude Code credits for web use; they expired on 18 November, and by the 15th the author still had $220 unspent. He was working on something else, and as a side effect “accidently vibe coded a prolog interpretor on my phone over the weekend”. He notes he had not used Prolog in twenty years. The first commit is dated 19 November 2025.

  2. 02

    The rules were part of the experiment

    The README sets out three rules and two attitudes, and they are the most reusable thing in the repository. No human-written code — prompts and instructions are allowed, and config files and documentation explicitly do not count as code. Do not deliberately add slop: if you notice it doing something wrong, get it fixed. Use every tool available, add lots of tests, automatic code reviews and security audits. Then: do not settle for average code, and have fun.

  3. 03

    What four weeks of that looks like

    825 commits between 19 November and 14 December 2025, across 29 branches whose names read as a to-do list of Prolog conformance work: tail-call optimisation, ISO character and byte I/O predicates, octal escape sequences in quoted literals, module-qualified predicate directives, library projection for residual goals. A conformance directory carries ISO test suites, and there are 109 test files, run with pytest and split into opt-in slow and performance tiers.

  4. 04

    The scaffolding is the interesting artifact

    Alongside the interpreter are the files that directed the work: an AGENTS.md setting out goals, coding rules and where documentation and tests must live; CLAUDE.md and GEMINI.md; a .gemini directory; and two directories of supporting machinery — ai-tools, and ten Python scripts in tools for checking duplicate builtins, scraping expected conformance results and measuring library load times. Twelve documents in docs cover architecture, grammar comparison, recursion optimisation and conformance testing. The project is as much a record of process as of software.

  5. 05

    What is not AI-generated, stated plainly

    The README marks one part in bold so it cannot be missed: the Prolog libraries and examples are not AI-generated. The library directory comes from scryer-prolog by way of a git subtree and keeps its original licences. Given that the rest of the repository exists under a no-human-code rule, that disclosure is doing real work — it is the difference between an interpreter that passes a library test suite and one that also wrote the library.

  6. 06

    The author’s own verdict

    The repository’s caution section is more useful than most launch posts. He does not know whether it works at all; it seems to, and some tests pass, and that is the extent of the claim. Because it is AI-written code, he notes it is unclear whether it can be copyrighted at all, which is why it is MIT. And he ends by pointing elsewhere: there are many real Prolog implementations that are probably better than this one, and you should use them. The last commit was on 14 December 2025.

What they would tell you

  • Draw the line explicitly, then hold it. “No human written code” only works because the author also said what does not count — configuration and documentation — and what does: prompts and instructions are fine, quietly editing the source is not.
  • Slop has to be called out, not tolerated. Two of the five rules are about refusing to accept it: fix what you notice going wrong, and when the output is average, say what is wrong with it rather than settling.
  • Do not let the demo outrun the evidence. He wrote a working interpreter, then wrote that he does not know if it works, that the copyright status of AI-written code is unclear, and that better Prolog implementations exist and should be used instead.

Adjacent records

All records →