Runtimes


IDNameRuntime info
ADAAda—
AWKAWK—
BashBash—
BFBrain****—

Classical brain**** with as many byte-sized cells as there are bytes in the memory limit.

CC—
C11C11—
C23C23—
CBLCOBOL—
ClangClang—
Clang++Clang++—
CLang++17C++17 (Clang)—
CLang++20C++20 (Clang)—
CLang++23C++23 (Clang)—
COFFEECoffeeScript—
C++03C++03—
C++11C++11—
C++14C++14—
C++17C++17—
C++20C++20—
C++23C++23—
DD—
DARTDart—
F95Fortran—
FORTHForth—

Gforth 0.7.2.

Submissions ran as gforth <source>.fs -e bye.

GAS32Assembly (x86)—
GAS64Assembly (x64)—
GASARMAssembly (ARM)—
GOGo—
GroovyGroovy—
HASKHaskell—
ICKINTERCAL—
JAVAJava—
JAVA8Java 8—
KOTLINKotlin—
LeanLean 4—
LUALua—
C#C#—
F#F#—
VBVisual Basic—
NASMNASM—
NASM64NASM64—
NodeNode.js—

Node.js, with the standard library and the usual process.stdin / console.log. Unlike the V8 runtime beside it, a solution written here runs the same way on your own machine.

OBJCObjective-C—

Objective-C with GNUstep Base 1.22.1 on GCC 4.7.2+.

OCAMLOCaml—
PASPascal—
PERLPerl—
PHPPHP—
PIKEPike—
PROProlog—
PY2Python 2—
PY3Python 3—
PYPY2PyPy 2—
PYPY3PyPy 3—
RKTRacket—
RUBYRuby—
RUBY18Ruby 1.8—
RUSTRust—
LispLisp—
SCALAScala—
SCMScheme—
SEDSed—
SWIFTSwift—
TCLTCL—
TEXTText—
TURTuring—
V8JSV8 JavaScript—

This is a custom version of V8 that adds six functions in order to perform I/O and aid in online judging.

  • print(...): similar to Python's print, prints all argument separated by space followed by new line.
  • flush(): flushes stdout, ensuring everything output by print() immediately shows up.
  • gets(): similar to the Ruby equivalent, returns one line of input from stdin.
  • read(bytes): read bytes bytes from stdin as an ArrayBuffer.
  • write(buffer): write a typed array, ArrayBuffer, or a view of ArrayBuffer to stdout.
  • quit(code): exits the program with code.
  • You can also assign to the global variable autoflush to control whether print() flushes.
ZIGZig—