HQL Documentation

HQL is a Lisp-shaped language that compiles to JavaScript and TypeScript. Start with the guide, then use the reference and workflow pages as you build real projects.

echo '(print "Hello, HQL")' > hello.hql
hql hello.hql

Language

Read this whenDoc
Learning the languageGUIDE.md
Looking up syntax and semanticshql/LANGUAGE.md
Checking authoritative language factshql/SPEC.md
Wanting a compact cheat sheetREFERENCE.md
Writing types and annotationsTYPE-SYSTEM.md
Writing checked pure/effectful codehql/PURE-MODE.md
Choosing between canonical spellingsstyle-guide.md
Reading how forms composehql/expression-foundation.md

Per-feature specs and runnable examples live in docs/features/.

API Reference (generated)

Read this whenDoc
Looking up stdlib functionsapi/stdlib.md
Looking up built-in operatorsapi/builtins.md
Calling HQL programmaticallyapi/runtime.md
Understanding module loadingapi/module-system.md

Workflows

Read this whenDoc
Running files or mixed HQL/JS/TS codeCLI.md
Managing dependencies or publishingPACKAGES.md
Calling JavaScript and TypeScriptJS-INTEROP.md
Building web or mobile applicationsWEB-MOBILE.md
Loading HQL in a browser (loaders/SRI/CSP)BROWSER.md
Writing React componentsREACT.md

Internals And Status

Read this whenDoc
Looking up an error codeERROR-SYSTEM.md
Learning how the stdlib bootsSELF-HOSTED-STDLIB.md
Checking what evidence existsPRODUCTION-READINESS.md
Filing a language-level defectHQL-LANGUAGE-BACKLOG.md
Contributing or building source../CONTRIBUTING.md
Running repository testsTESTING.md
Cutting a releaseRELEASE.md
Editing or publishing docsDOCS-PUBLISHING.md

Dated performance campaign write-ups are kept under docs/performance/.

Source Authority

  • Syntax and semantics: docs/hql/LANGUAGE.md plus the feature specs.
  • Stdlib reference: generated from src/hql/lib/stdlib/stdlib.hql, packages/*/mod.hql, and verified examples.
  • CLI behavior: src/hql/cli.ts, checked against public docs.
  • Dependencies, manifests, and publishing: docs/PACKAGES.md.
  • Web and mobile project behavior: docs/WEB-MOBILE.md.

Feedback

Found an issue with the docs? Open an issue in hlvm-dev/hql.