XCODX |

BQN Online Compiler & Interpreter

Select Language
Online Code Compiler
Full HTML IDE
Py main.py
Program Output Ready
  Welcome to XCODX Online Compiler

  Quick Start:
  Ctrl+Enter  Run code
  Ctrl+S      Save / Download
  Ctrl+L      Clear output

  Select a language and start coding.
Success
Operation completed

About BQN

Marshall Lochbaum, a former Dyalog APL developer and J contributor, released BQN in 2020 as a from-scratch rethink of the APL family. It is an array language with first-class functions, a carefully chosen set of glyph primitives, and strong support for tacit (point-free) programming, but it drops APL's legacy quirks in favor of consistent, context-free syntax. BQN has built a lively community around the CBQN implementation and shows up regularly in Code Golf Stack Exchange answers and array-programming study groups. On XCODX you can run BQN in a real interactive terminal: the program executes live, so anything read from stdin can be typed while it runs, with no interpreter to install.

Hello World in BQN

# •Out prints one line of text to stdout
•Out "Hello, World!"

When to use BQN

BQN is a strong pick for array-oriented code golf, where a single train of primitives can replace an explicit loop, and for Code Golf Stack Exchange challenges tagged with array manipulation. It is equally useful as a teaching vehicle: students who know only scalar languages get a concentrated dose of rank, folds, and tacit composition. Puzzle programmers also use it to prototype matrix and combinatorics solutions before porting them elsewhere.

Common questions

How is BQN different from APL?

BQN keeps APL's array paradigm and dense glyph vocabulary but redesigns the details: syntax is context-free, functions are first-class values, and the primitive set was chosen fresh rather than inherited. Casing distinguishes roles, so Foo is a function while foo is a subject. The result reads more predictably than classic APL while staying just as expressive for array work.

Is BQN competitive for code golf?

Yes, within its niche. For array-heavy challenges BQN routinely lands near Jelly and 05AB1E in byte count when scored in its own codepage, because trains and modifiers compress whole algorithms into a few glyphs. It lacks the built-in compression and web-of-shortcuts that purpose-built golfing languages carry, so on string or I/O-centric tasks those usually win.

How do I type BQN's special characters?

Locally, BQN users install a keyboard layout or editor plugin that maps glyphs to a backslash prefix, and the online REPL at mlochbaum.github.io offers clickable glyph bars. When working in the XCODX editor you can paste glyphs directly, and copying from BQN documentation or existing golf answers works without any encoding trouble since everything is plain UTF-8.

How BQN runs on XCODX

Sandbox filename
main.bqn
Entry point
single main source file
Editor grammar
plain text — no highlighter ships for this language
Reading stdin
no standard input construct
Input delivery
live WebSocket stream
Prompt flushing
flush manually before reading input
Compile limit
10 s
Run limit
3 s batch · up to 3 min live
Memory
256 MB per stage
Max source
50,000 characters

Default program on this page

"Hello from BQN!"