Code and environments
Supported languages, per-lecture packages, and where each language's code actually runs.
A lecture's file tree can hold source files in Python, JavaScript, TypeScript, SQL, R, C, C++, and (once the cloud sandbox is enabled) other compiled languages. Each runs in whichever place is cheapest and safest for it:
- Python runs in your browser (Pyodide). Slower to start the first time, free to run.
- JavaScript, TypeScript, SQL, and R run inside an isolated sandbox in your browser — a separate, locked-down frame with no access to your Dex Notes login or data, so untrusted code can't reach your account even if it tried.
- C and C++ compile locally where available.
- Other compiled languages (Java, Go, Rust, C#, Kotlin, Racket, Haskell, OCaml) run in a cloud sandbox, a short-lived, isolated container — available once your plan supports it.
Every run is capped at 10 seconds; a program that hangs is stopped automatically.
Packages and environment files
Click Environment in the file tree to see and edit each language's package manifest:
- Python:
requirements.txt— packages install before your code runs, and arequirements.lockfile records the exact versions that were resolved. - JavaScript/TypeScript:
package.json— dependencies load from a public CDN by exact pinned version. - SQL:
schema.sqlruns once before your query file, so you can set up tables to query against. - R:
packages.R— only packages with a WebAssembly build available in the browser can install there; anything else needs the cloud sandbox.
A package that can't install in the browser shows a clear message saying so, rather than failing silently.