Serverless functions for the rest of us
OtherFunc is a serverless computing platform for esoteric and unusual programming languages. Write functions in Brainfuck, Forth, APL, Lisp, and BASIC and deploy them as HTTP endpoints.
Run serverless functions in languages the cloud forgot about.
Just about anything (at varying levels of efficiency). OtherFunc is perfect for running small snippets of code in supported languages without needing to set up your own infrastructure. Use it for fun, learning, or even production workloads if you're feeling adventurous.
You can even write an AI Chatbot in Basic.
Language implementation details available in the Reference section.
| Feature | Brainfuck | Forth | APL | Lisp | BASIC |
|---|---|---|---|---|---|
| Output | . (byte) |
. emit cr type |
⎕← |
display newline print |
PRINT |
| Input | , (byte) |
key |
⎕ |
— | INPUT |
| HTTP GET | — | http-get |
— | (http-get url) |
HTTPGET$(url) |
| HTTP POST | — | http-post |
— | (http-post url body) |
HTTPPOST$(url, body) |
| Secrets / Env | — | env |
— | (env "KEY") |
ENV$("KEY") |
| KV Storage | — | kv-get kv-set kv-del |
— | (kv-get key) |
KVGET$ KVSET KVDEL |
Feature parity across languages coming in future updates.
/fn/your-slug without authentication.Authorization: Bearer <api-key>.| Tier | Requests / Day | How to get it |
|---|---|---|
| Anonymous | 100 | No sign-up needed — call /fn/:slug |
| Free account | 1,000 | Sign in with GitHub |
Every execution is capped at 500K instructions and 100KB of source code. Non-halting programs are stopped automatically.
Check your current usage with
GET /api/usage — see the
API Reference for details.
Running into limits? Contact us at limits [at] otherfunc [dot] com
The fastest way to try OtherFunc is with curl.
You'll need an API Key for authenticated endpoints. See Reference for details on the API and language support.
# Check that the API is running
curl https://api.otherfunc.com/
# See available languages
curl https://api.otherfunc.com/api/languages
# Run some code (requires API key)
curl -X POST https://api.otherfunc.com/api/run \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"language":"forth","code":": square dup * ; 7 square .","input":""}'
Each interpreter is also available as a standalone command-line tool. Clone the repo and build with Cargo:
# Build all interpreters git clone https://github.com/otherfunc/otherfunc-projects.git cd otherfunc-projects cargo build --release # Brainfuck cargo run --bin bf -- "++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++." # Forth cargo run --bin forth -- ": fib dup 2 < if exit then dup 1 - recurse swap 2 - recurse + ; 10 fib ." # APL cargo run --bin apl -- "+/iota 100" # Lisp cargo run --bin lisp -- "(define (fact n) (if (<= n 1) 1 (* n (fact (- n 1))))) (display (fact 10))" # BASIC cargo run --bin basic -- "10 FOR I = 1 TO 5 20 PRINT I * I 30 NEXT I"
Sign in with your GitHub account to get an API key instantly. If you've signed in before, you'll get the same key back.
Want to support our transformative mission to bring more forgotten languages to the cloud?
Questions, feedback, or just want to say hello?