𝖕𝖗𝖔𝖑𝖔𝖌.𝖗𝖚𝖓

Advanced
👍

fizzbuzz(1, 15).

1 2 fizz 4 buzz fizz 7 8 fizz buzz 11 fizz 13 14 fizzbuzz
yes

Welcome

Are you ready to run some Prolog? Execute your query in the cloud, no JS required (but it helps).
Need RPC? Pengines API supported as well.

Powered by Tau Prolog and Cloudflare Workers.

Example queries

Documentation

Learn Prolog


State

user

%%% module: user alias: user
:- module(user,[fizzbuzz/2,say/1]).
:- use_module(library(lists)).
:- use_module(library(js)).
:- use_module(library(format)).
:- use_module(library(charsio)).
:- use_module(library(engine)).
:- use_module(library(tty)).
fizzbuzz(N,Max) :- N=<Max,findall(_,say(N),_),nl,succ(N,N1),fizzbuzz(N1,Max).
fizzbuzz(N,Max) :- succ(Max,N).
say(N) :- 0 is N mod 3,write(fizz).
say(N) :- 0 is N mod 5,write(buzz).
say(N) :- X is N mod 3,X\=0,Y is N mod 5,Y\=0,write(N).
Raw result
{
  "event": "success",
  "data": [
    {}
  ],
  "id": "cad0fc63-ffaa-48ef-bca2-92c7ddcf078a",
  "more": false,
  "projection": [],
  "time": 0.025,
  "slave_limit": 100,
  "query": {
    "id": "w12h480i368",
    "date": 1739916746123,
    "ask": "fizzbuzz(1, 15).",
    "output": "1\n2\nfizz\n4\nbuzz\nfizz\n7\n8\nfizz\nbuzz\n11\nfizz\n13\n14\nfizzbuzz\n",
    "steps": 645,
    "time": 0,
    "warnings": []
  },
  "output": "1\n2\nfizz\n4\nbuzz\nfizz\n7\n8\nfizz\nbuzz\n11\nfizz\n13\n14\nfizzbuzz\n",
  "meta": {
    "src_urls": [],
    "title": "",
    "src_text": "fizzbuzz(N, Max) :- \n\tN =< Max,\n\tfindall(_, say(N), _), nl,\n\tsucc(N, N1),\n\tfizzbuzz(N1, Max).\nfizzbuzz(N, Max) :- succ(Max, N).\n\nsay(N) :- 0 is N mod 3, write('fizz').\nsay(N) :- 0 is N mod 5, write('buzz').\nsay(N) :-\n\tX is N mod 3,\n\tX \\= 0,\n\tY is N mod 5,\n\tY \\= 0,\n\twrite(N).\n\n% ?- fizzbuzz(1, 15)\n"
  },
  "ask": "fizzbuzz(1, 15).",
  "debug": {
    "dump": {
      "user": "%%% module: user alias: user\n:- module(user,[fizzbuzz/2,say/1]).\n:- use_module(library(lists)).\n:- use_module(library(js)).\n:- use_module(library(format)).\n:- use_module(library(charsio)).\n:- use_module(library(engine)).\n:- use_module(library(tty)).\nfizzbuzz(N,Max) :- N=<Max,findall(_,say(N),_),nl,succ(N,N1),fizzbuzz(N1,Max).\nfizzbuzz(N,Max) :- succ(Max,N).\nsay(N) :- 0 is N mod 3,write(fizz).\nsay(N) :- 0 is N mod 5,write(buzz).\nsay(N) :- X is N mod 3,X\\=0,Y is N mod 5,Y\\=0,write(N).\n"
    }
  },
  "state": {
    "queries": {}
  }
}