PageSourceSearch

https://hlvm.dev/hql/docs

html hlvm.dev collected 2026-10-02 01:52:20 UTC 247,975 bytes, 29 lines download raw bytes

1<!DOCTYPE html><html lang="en" data-theme="light"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="image" href="/hlvm_dragon.png"/><link rel="stylesheet" href="/_next/static/chunks/36s12hzgojjhd.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/0a-z-4lzejxa5.js"/>
1<script src="/_next/static/chunks/27jktro2p5rq9.js" async=""></script>
1<script src="/_next/static/chunks/3n7z7nnpq6rhq.js" async=""></script>
1<script src="/_next/static/chunks/42ir8tqqh5n7n.js" async=""></script>
1<script src="/_next/static/chunks/turbopack-2su17dj7mt1my.js" async=""></script>
1<script src="/_next/static/chunks/1paqz9hmy2bng.js" async=""></script>
1<script src="/_next/static/chunks/2im7c515bo69p.js" async=""></script>
1<script src="/_next/static/chunks/29mjea2ws9dwx.js" async=""></script>
1<script src="/_next/static/chunks/3ufdgc3wh_cpq.js" async=""></script>
1<script src="/_next/static/chunks/1nkj5fsywrxn5.js" async=""></script>
1<script src="/_next/static/chunks/0ttzcux-2ecnk.js" async=""></script>
1<link id="favicon-light" rel="icon" type="image/png" href="/hlvm_dragon.png"/><title>HQL Documentation</title><meta name="description" content="HQL Documentation for HQL."/>
1<script src="/_next/static/chunks/0cz1d0mv5g_q7.js" noModule=""></script>
1</head><body><div hidden=""><!--$--><!--/$--></div><div class="app-container docs-app"><nav class="navbar "><div class="nav-inner"><div class="nav-content"><a class="nav-logo" aria-label="HQL home" href="/hql"><div class="hlvm-logo"><div class="hlvm-logo__icon" style="--logo-size:40px"><img src="/hlvm_dragon.png" alt="HQL Logo" class="hlvm-logo__img"/></div></div></a><div class="nav-actions"><div class="nav-desktop-actions"><div class="product-switcher"><button type="button" class="product-switcher-trigger" aria-haspopup="menu" aria-expanded="false" aria-label="Switch product"><span>HQL</span><span class="product-switcher-chevron "><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="9 18 15 12 9 6"></polyline></svg></span></button></div><div class="product-switcher"><button type="button" class="product-switcher-trigger" aria-haspopup="menu" aria-expanded="false" aria-label="Switch docs"><span>Docs</span><span class="product-switcher-chevron "><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="9 18 15 12 9 6"></polyline></svg></span></button></div><a href="https://github.com/hlvm-dev/hql" class="nav-link" target="_blank" rel="noopener noreferrer">GitHub</a><button type="button" class="btn-icon" aria-label="Search (Cmd+K)" title="Search (Cmd+K)"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line></svg></button><button class="btn-icon" aria-label="Toggle theme"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path></svg></button></div><div class="nav-mobile-actions"><button class="btn-icon" aria-label="Docs navigation" title="Docs navigation"><svg width="21" height="21" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="4" y="4" width="16" height="16" rx="2"></rect><line x1="9" y1="4" x2="9" y2="20"></line><line x1="12" y1="8" x2="17" y2="8"></line><line x1="12" y1="12" x2="17" y2="12"></line></svg></button><button type="button" class="btn-icon" aria-label="Search (Cmd+K)" title="Search (Cmd+K)"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line></svg></button><button class="btn-icon" aria-label="Toggle theme"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path></svg></button><button class="btn-icon" aria-label="Menu"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="3" y1="12" x2="21" y2="12"></line><line x1="3" y1="6" x2="21" y2="6"></line><line x1="3" y1="18" x2="21" y2="18"></line></svg></button></div></div></div></div></nav><div class="mobile-menu-overlay "><div class="nav-mobile-header"><a class="nav-mobile-logo" aria-label="Home" href="/hql"><div class="hlvm-logo hlvm-logo--with-text"><div class="hlvm-logo__icon" style="--logo-size:40px"><img src="/hlvm_dragon.png" alt="HQL Logo" class="hlvm-logo__img"/></div><span class="hlvm-logo__text" style="--logo-text-size:1.125rem;font-size:1.125rem">HQL</span></div></a><button class="btn-icon" aria-label="Close menu"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button></div><div class="nav-mobile-menu"><a class="nav-mobile-link" href="/">HLVM</a><a class="nav-mobile-link" href="/docs">HLVM Docs</a><a class="nav-mobile-link" href="/hql/docs">HQL Docs</a><a class="nav-mobile-link" href="https://github.com/hlvm-dev/hql" target="_blank" rel="noopener noreferrer">GitHub</a><button class="btn btn-secondary btn-block mt-1">
1🌙 Dark Mode</button></div></div><div class="scrollable-content"><div class="docs-layout"><aside class="docs-sidebar subtle-scroll "><div class="docs-sidebar-heading">HQL Docs</div><nav class="docs-sidebar-nav"><div class="docs-sidebar-group"><div class="docs-sidebar-group-label">Start</div><div class="docs-sidebar-group-children"><a class="docs-sidebar-link active" href="/hql/docs">Start</a><a class="docs-sidebar-link " href="/hql/docs/guide">Guide</a></div></div><div class="docs-sidebar-group"><div class="docs-sidebar-group-label">Language</div><div class="docs-sidebar-group-children"><a class="docs-sidebar-link " href="/hql/docs/language">Language</a><a class="docs-sidebar-link " href="/hql/docs/interop">JavaScript Interop</a><a class="docs-sidebar-link " href="/hql/docs/pure-mode">Pure Mode</a></div></div><div class="docs-sidebar-group"><div class="docs-sidebar-group-label">Workflows</div><div class="docs-sidebar-group-children"><a class="docs-sidebar-link " href="/hql/docs/cli">CLI</a><a class="docs-sidebar-link " href="/hql/docs/packages">Packages</a><a class="docs-sidebar-link " href="/hql/docs/web-mobile">Browser, Web, Mobile</a></div></div><div class="docs-sidebar-group"><div class="docs-sidebar-group-label">Reference</div><div class="docs-sidebar-group-children"><a class="docs-sidebar-link " href="/hql/docs/stdlib">Stdlib</a><a class="docs-sidebar-link " href="/hql/docs/errors">Errors</a></div></div></nav></aside><div class="docs-content-area"><div class="docs-content"><div class="docs-markdown"><h1 id="hql-documentation">HQL Documentation</h1>
2<p>HQL is a Lisp-shaped language that compiles to JavaScript and TypeScript. Start
3with the guide, then use the reference and workflow pages as you build real
4projects.</p>
5<div class="docs-code-block"><pre node="[object Object]"><code class="hljs language-bash"><span class="hljs-built_in">echo</span> <span class="hljs-string">&#x27;(print &quot;Hello, HQL&quot;)&#x27;</span> &gt; hello.hql
6hql hello.hql
7</code></pre></div>
8<h2 id="language">Language</h2>
9<div class="docs-table-wrapper"><table node="[object Object]"><thead><tr><th>Read this when</th><th>Doc</th></tr></thead><tbody><tr><td>Learning the language</td><td><a href="/hql/docs/guide">GUIDE.md</a></td></tr><tr><td>Looking up syntax and semantics</td><td><a href="/hql/docs/language">hql/LANGUAGE.md</a></td></tr><tr><td>Checking authoritative language facts</td><td><a href="https://github.com/hlvm-dev/hql/blob/479ab5b88c78ef3a22ef3fceaf9bdc35b546e982/docs/hql/SPEC.md" target="_blank" rel="noopener noreferrer">hql/SPEC.md</a></td></tr><tr><td>Wanting a compact cheat sheet</td><td><a href="https://github.com/hlvm-dev/hql/blob/479ab5b88c78ef3a22ef3fceaf9bdc35b546e982/docs/REFERENCE.md" target="_blank" rel="noopener noreferrer">REFERENCE.md</a></td></tr><tr><td>Writing types and annotations</td><td><a href="https://github.com/hlvm-dev/hql/blob/479ab5b88c78ef3a22ef3fceaf9bdc35b546e982/docs/TYPE-SYSTEM.md" target="_blank" rel="noopener noreferrer">TYPE-SYSTEM.md</a></td></tr><tr><td>Writing checked pure/effectful code</td><td><a href="/hql/docs/pure-mode">hql/PURE-MODE.md</a></td></tr><tr><td>Choosing between canonical spellings</td><td><a href="https://github.com/hlvm-dev/hql/blob/479ab5b88c78ef3a22ef3fceaf9bdc35b546e982/docs/style-guide.md" target="_blank" rel="noopener noreferrer">style-guide.md</a></td></tr><tr><td>Reading how forms compose</td><td><a href="https://github.com/hlvm-dev/hql/blob/479ab5b88c78ef3a22ef3fceaf9bdc35b546e982/docs/hql/expression-foundation.md" target="_blank" rel="noopener noreferrer">hql/expression-foundation.md</a></td></tr></tbody></table></div>
10<p>Per-feature specs and runnable examples live in <code>docs/features/</code>.</p>
11<h2 id="api-reference-generated">API Reference (generated)</h2>
12<div class="docs-table-wrapper"><table node="[object Object]"><thead><tr><th>Read this when</th><th>Doc</th></tr></thead><tbody><tr><td>Looking up stdlib functions</td><td><a href="/hql/docs/stdlib">api/stdlib.md</a></td></tr><tr><td>Looking up built-in operators</td><td><a href="https://github.com/hlvm-dev/hql/blob/479ab5b88c78ef3a22ef3fceaf9bdc35b546e982/docs/api/builtins.md" target="_blank" rel="noopener noreferrer">api/builtins.md</a></td></tr><tr><td>Calling HQL programmatically</td><td><a href="https://github.com/hlvm-dev/hql/blob/479ab5b88c78ef3a22ef3fceaf9bdc35b546e982/docs/api/runtime.md" target="_blank" rel="noopener noreferrer">api/runtime.md</a></td></tr><tr><td>Understanding module loading</td><td><a href="https://github.com/hlvm-dev/hql/blob/479ab5b88c78ef3a22ef3fceaf9bdc35b546e982/docs/api/module-system.md" target="_blank" rel="noopener noreferrer">api/module-system.md</a></td></tr></tbody></table></div>
13<h2 id="workflows">Workflows</h2>
14<div class="docs-table-wrapper"><table node="[object Object]"><thead><tr><th>
14Read this when</th><th>Doc</th></tr></thead><tbody><tr><td>Running files or mixed HQL/JS/TS code</td><td><a href="/hql/docs/cli">CLI.md</a></td></tr><tr><td>Managing dependencies or publishing</td><td><a href="/hql/docs/packages">PACKAGES.md</a></td></tr><tr><td>Calling JavaScript and TypeScript</td><td><a href="/hql/docs/interop">JS-INTEROP.md</a></td></tr><tr><td>Building web or mobile applications</td><td><a href="/hql/docs/web-mobile">WEB-MOBILE.md</a></td></tr><tr><td>Loading HQL in a browser (loaders/SRI/CSP)</td><td><a href="https://github.com/hlvm-dev/hql/blob/479ab5b88c78ef3a22ef3fceaf9bdc35b546e982/docs/BROWSER.md" target="_blank" rel="noopener noreferrer">BROWSER.md</a></td></tr><tr><td>Writing React components</td><td><a href="https://github.com/hlvm-dev/hql/blob/479ab5b88c78ef3a22ef3fceaf9bdc35b546e982/docs/REACT.md" target="_blank" rel="noopener noreferrer">REACT.md</a></td></tr></tbody></table></div>
15<h2 id="internals-and-status">Internals And Status</h2>
16<div class="docs-table-wrapper"><table node="[object Object]"><thead><tr><th>Read this when</th><th>Doc</th></tr></thead><tbody><tr><td>Looking up an error code</td><td><a href="/hql/docs/errors">ERROR-SYSTEM.md</a></td></tr><tr><td>Learning how the stdlib boots</td><td><a href="https://github.com/hlvm-dev/hql/blob/479ab5b88c78ef3a22ef3fceaf9bdc35b546e982/docs/SELF-HOSTED-STDLIB.md" target="_blank" rel="noopener noreferrer">SELF-HOSTED-STDLIB.md</a></td></tr><tr><td>Checking what evidence exists</td><td><a href="https://github.com/hlvm-dev/hql/blob/479ab5b88c78ef3a22ef3fceaf9bdc35b546e982/docs/PRODUCTION-READINESS.md" target="_blank" rel="noopener noreferrer">PRODUCTION-READINESS.md</a></td></tr><tr><td>Filing a language-level defect</td><td><a href="https://github.com/hlvm-dev/hql/blob/479ab5b88c78ef3a22ef3fceaf9bdc35b546e982/docs/HQL-LANGUAGE-BACKLOG.md" target="_blank" rel="noopener noreferrer">HQL-LANGUAGE-BACKLOG.md</a></td></tr><tr><td>Contributing or building source</td><td><a href="https://github.com/hlvm-dev/hql/blob/479ab5b88c78ef3a22ef3fceaf9bdc35b546e982/CONTRIBUTING.md" target="_blank" rel="noopener noreferrer">../CONTRIBUTING.md</a></td></tr><tr><td>Running repository tests</td><td><a href="https://github.com/hlvm-dev/hql/blob/479ab5b88c78ef3a22ef3fceaf9bdc35b546e982/docs/TESTING.md" target="_blank" rel="noopener noreferrer">TESTING.md</a></td></tr><tr><td>Cutting a release</td><td><a href="https://github.com/hlvm-dev/hql/blob/479ab5b88c78ef3a22ef3fceaf9bdc35b546e982/docs/RELEASE.md" target="_blank" rel="noopener noreferrer">RELEASE.md</a></td></tr><tr><td>Editing or publishing docs</td><td><a href="https://github.com/hlvm-dev/hql/blob/479ab5b88c78ef3a22ef3fceaf9bdc35b546e982/docs/DOCS-PUBLISHING.md" target="_blank" rel="noopener noreferrer">DOCS-PUBLISHING.md</a></td></tr></tbody></table></div>
17<p>Dated performance campaign write-ups are kept under <code>docs/performance/</code>.</p>
18<h2 id="source-authority">Source Authority</h2>
19<ul>
20<li>Syntax and semantics: <code>docs/hql/LANGUAGE.md</code> plus the feature specs.</li>
21<li>Stdlib reference: generated from <code>src/hql/lib/stdlib/stdlib.hql</code>,
22<code>packages/*/mod.hql</code>, and verified examples.</li>
23<li>CLI behavior: <code>src/hql/cli.ts</code>, checked against public docs.</li>
24<li>Dependencies, manifests, and publishing: <code>docs/PACKAGES.md</code>.</li>
25<li>Web and mobile project behavior: <code>docs/WEB-MOBILE.md</code>.</li>
26</ul>
27<h2 id="feedback">Feedback</h2>
28<p>Found an issue with the docs? Open an issue in
29<a href="https://github.com/hlvm-dev/hql/issues" target="_blank" rel="noopener noreferrer"><code>hlvm-dev/hql</code></a>.</p></div><nav class="docs-prev-next" aria-label="Previous and next pages"><div></div><a class="docs-prev-next-link docs-next" href="/hql/docs/guide"><span>Next</span><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg></a></nav></div></div></div></div><footer class="footer"><div class="footer-container"><div class="footer-content"><div class="footer-copy">© <!-- -->2026<!-- --> HLVM</div><div class="footer-links"><a href="https://discord.gg/C6qfeudedY" class="footer-link" target="_blank" rel="noopener noreferrer">Discord</a><a href="https://www.linkedin.com/company/hlvm-dev" class="footer-link" target="_blank" rel="noopener noreferrer">LinkedIn</a><a href="https://x.com/hlvm_dev" class="footer-link" target="_blank" rel="noopener noreferrer">X</a><a href="https://www.youtube.com/@hlvm-dev" class="footer-link" target="_blank" rel="noopener noreferrer">YouTube</a><a href="https://join.slack.com/t/hlvm/shared_invite/zt-3bzzxnmqs-YMJDRAXw2~44uU82RyHHrA" class="footer-link" target="_blank" rel="noopener noreferrer">Slack</a><a href="mailto:[email protected]" class="footer-link">Contact Us</a></div></div></div></footer></div><!--$--><!--/$-->
29<script src="/_next/static/chunks/0a-z-4lzejxa5.js" id="_R_" async=""></script>
29<script>(self.__next_f=self.__next_f||[]).push([0])</script>
29<script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[65174,[\"/_next/static/chunks/1paqz9hmy2bng.js\",\"/_next/static/chunks/2im7c515bo69p.js\",\"/_next/static/chunks/29mjea2ws9dwx.js\"],\"Providers\"]\n3:I[39756,[\"/_next/static/chunks/1paqz9hmy2bng.js\",\"/_next/static/chunks/2im7c515bo69p.js\",\"/_next/static/chunks/29mjea2ws9dwx.js\"],\"default\"]\n4:I[37457,[\"/_next/static/chunks/1paqz9hmy2bng.js\",\"/_next/static/chunks/2im7c515bo69p.js\",\"/_next/static/chunks/29mjea2ws9dwx.js\"],\"default\"]\n5:I[14339,[\"/_next/static/chunks/1paqz9hmy2bng.js\",\"/_next/static/chunks/2im7c515bo69p.js\",\"/_next/static/chunks/29mjea2ws9dwx.js\",\"/_next/static/chunks/3ufdgc3wh_cpq.js\",\"/_next/static/chunks/1nkj5fsywrxn5.js\"],\"default\"]\n6:I[22016,[\"/_next/static/chunks/1paqz9hmy2bng.js\",\"/_next/static/chunks/2im7c515bo69p.js\",\"/_next/static/chunks/29mjea2ws9dwx.js\",\"/_next/static/chunks/0ttzcux-2ecnk.js\"],\"\"]\n8:I[97367,[\"/_next/static/chunks/1paqz9hmy2bng.js\",\"/_next/static/chunks/2im7c515bo69p.js\",\"/_next/static/chunks/29mjea2ws9dwx.js\"],\"OutletBoundary\"]\n9:\"$Sreact.suspense\"\nc:I[97367,[\"/_next/static/chunks/1paqz9hmy2bng.js\",\"/_next/static/chunks/2im7c515bo69p.js\",\"/_next/static/chunks/29mjea2ws9dwx.js\"],\"ViewportBoundary\"]\ne:I[97367,[\"/_next/static/chunks/1paqz9hmy2bng.js\",\"/_next/static/chunks/2im7c515bo69p.js\",\"/_next/static/chunks/29mjea2ws9dwx.js\"],\"MetadataBoundary\"]\n10:I[68027,[\"/_next/static/chunks/1paqz9hmy2bng.js\",\"/_next/static/chunks/2im7c515bo69p.js\",\"/_next/static/chunks/29mjea2ws9dwx.js\"],\"default\",1]\n:HL[\"/_next/static/chunks/36s12hzgojjhd.css\",\"style\"]\n"])</script>
29<script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"hql\",\"docs\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"hql\",{\"children\":[\"docs\",{\"children\":[\"__PAGE__\",{}]}]}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/36s12hzgojjhd.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/1paqz9hmy2bng.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/2im7c515bo69p.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/chunks/29mjea2ws9dwx.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"data-theme\":\"light\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"link\",null,{\"id\":\"favicon-light\",\"rel\":\"icon\",\"type\":\"image/png\",\"href\":\"/hlvm_dragon.png\"}]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"div\",null,{\"className\":\"app-container\",\"children\":[[\"$\",\"$L5\",null,{}],[\"$\",\"div\",null,{\"className\":\"scrollable-content\",\"children\":[\"$\",\"section\",null,{\"className\":\"hero\",\"children\":[\"$\",\"div\",null,{\"className\":\"hero-container\",\"children\":[\"$\",\"div\",null,{\"className\":\"hero-content\",\"children\":[[\"$\",\"h1\",null,{\"className\":\"hero-title\",\"children\":\"404\"}],[\"$\",\"p\",null,{\"className\":\"hero-tagline\",\"children\":\"Page not found\"}],[\"$\",\"$L6\",null,{\"className\":\"btn btn-primary hero-cta\",\"href\":\"/\",\"children\":\"Back to Home\"}]]}]}]}]}],[\"$\",\"footer\",null,{\"className\":\"footer\",\"children\":[\"$\",\"div\",null,{\"className\":\"footer-container\",\"children\":[\"$\",\"div\",null,{\"className\":\"footer-content\",\"children\":[[\"$\",\"div\",null,{\"className\":\"footer-copy\",\"children\":[\"© \",2026,\" HLVM\"]}],[\"$\",\"div\",null,{\"className\":\"footer-links\",\"children\":[[\"$\",\"a\",\"Discord\",{\"href\":\"https://discord.gg/C6qfeudedY\",\"className\":\"footer-link\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"children\":\"Discord\"}],[\"$\",\"a\",\"LinkedIn\",{\"href\":\"https://www.linkedin.com/company/hlvm-dev\",\"className\":\"footer-link\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"children\":\"LinkedIn\"}],[\"$\",\"a\",\"X\",{\"href\":\"https://x.com/hlvm_dev\",\"className\":\"footer-link\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"children\":\"X\"}],[\"$\",\"a\",\"YouTube\",{\"href\":\"https://www.youtube.com/@hlvm-dev\",\"className\":\"footer-link\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"children\":\"YouTube\"}],[\"$\",\"a\",\"Slack\",{\"href\":\"https://join.slack.com/t/hlvm/shared_invite/zt-3bzzxnmqs-YMJDRAXw2~44uU82RyHHrA\",\"className\":\"footer-link\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"children\":\"Slack\"}],[\"$\",\"a\",\"Contact Us\",{\"href\":\"mailto:[email protected]\",\"className\":\"footer-link\",\"target\":\"$undefined\",\"rel\":\"$undefined\",\"children\":\"Contact Us\"}]]}]]}]}]}]]}],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[\"$L7\",[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/3ufdgc3wh_cpq.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/1nkj5fsywrxn5.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"$L8\",null,{\"children\":[\"$\",\"$9\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@a\"}]}]]}],{}
29,null,false,null]},null,false,\"$@b\"]},null,false,\"$@b\"]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$Lc\",null,{\"children\":\"$Ld\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Le\",null,{\"children\":[\"$\",\"$9\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lf\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$10\",[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/36s12hzgojjhd.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"a4MvvLx-z27OfSphCdGbi\"}\n"])</script>
29<script>self.__next_f.push([1,"11:[]\nb:\"$W11\"\n"])</script>
29<script>self.__next_f.push([1,"d:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script>
29<script>self.__next_f.push([1,"12:I[66131,[\"/_next/static/chunks/1paqz9hmy2bng.js\",\"/_next/static/chunks/2im7c515bo69p.js\",\"/_next/static/chunks/29mjea2ws9dwx.js\",\"/_next/static/chunks/3ufdgc3wh_cpq.js\",\"/_next/static/chunks/1nkj5fsywrxn5.js\"],\"DocsProvider\"]\n"])</script>
29<script>self.__next_f.push([1,"7:[\"$\",\"$L12\",null,{\"manifest\":{\"source\":{\"repository\":\"hlvm-dev/hql\",\"ref\":\"479ab5b88c78ef3a22ef3fceaf9bdc35b546e982\",\"dirty\":true},\"sidebar\":[{\"slug\":\"index\",\"label\":\"Start\",\"path\":\"index.md\",\"title\":\"HQL Documentation\",\"group\":\"Start\"},{\"slug\":\"guide\",\"label\":\"Guide\",\"path\":\"guide.md\",\"title\":\"HQL Guide\",\"group\":\"Start\"},{\"slug\":\"language\",\"label\":\"Language\",\"path\":\"language.md\",\"title\":\"HQL Language\",\"group\":\"Language\"},{\"slug\":\"interop\",\"label\":\"JavaScript Interop\",\"path\":\"interop.md\",\"title\":\"JavaScript Interop\",\"group\":\"Language\"},{\"slug\":\"pure-mode\",\"label\":\"Pure Mode\",\"path\":\"pure-mode.md\",\"title\":\"Pure Mode HQL\",\"group\":\"Language\"},{\"slug\":\"cli\",\"label\":\"CLI\",\"path\":\"cli.md\",\"title\":\"HQL CLI\",\"group\":\"Workflows\"},{\"slug\":\"packages\",\"label\":\"Packages\",\"path\":\"packages.md\",\"title\":\"HQL Dependencies And Publishing\",\"group\":\"Workflows\"},{\"slug\":\"web-mobile\",\"label\":\"Browser, Web, Mobile\",\"path\":\"web-mobile.md\",\"title\":\"Browser, Web, And Mobile\",\"group\":\"Workflows\"},{\"slug\":\"stdlib\",\"label\":\"Stdlib\",\"path\":\"stdlib.md\",\"title\":\"HQL Standard Library\",\"group\":\"Reference\"},{\"slug\":\"errors\",\"label\":\"Errors\",\"path\":\"errors.md\",\"title\":\"HQL Error Reporting System\",\"group\":\"Reference\"}],\"sidebarGroups\":[{\"label\":\"Start\",\"items\":[{\"slug\":\"index\",\"label\":\"Start\",\"path\":\"index.md\",\"title\":\"HQL Documentation\",\"group\":\"Start\"},{\"slug\":\"guide\",\"label\":\"Guide\",\"path\":\"guide.md\",\"title\":\"HQL Guide\",\"group\":\"Start\"}]},{\"label\":\"Language\",\"items\":[{\"slug\":\"language\",\"label\":\"Language\",\"path\":\"language.md\",\"title\":\"HQL Language\",\"group\":\"Language\"},{\"slug\":\"interop\",\"label\":\"JavaScript Interop\",\"path\":\"interop.md\",\"title\":\"JavaScript Interop\",\"group\":\"Language\"},{\"slug\":\"pure-mode\",\"label\":\"Pure Mode\",\"path\":\"pure-mode.md\",\"title\":\"Pure Mode HQL\",\"group\":\"Language\"}]},{\"label\":\"Workflows\",\"items\":[{\"slug\":\"cli\",\"label\":\"CLI\",\"path\":\"cli.md\",\"title\":\"HQL CLI\",\"group\":\"Workflows\"},{\"slug\":\"packages\",\"label\":\"Packages\",\"path\":\"packages.md\",\"title\":\"HQL Dependencies And Publishing\",\"group\":\"Workflows\"},{\"slug\":\"web-mobile\",\"label\":\"Browser, Web, Mobile\",\"path\":\"web-mobile.md\",\"title\":\"Browser, Web, And Mobile\",\"group\":\"Workflows\"}]},{\"label\":\"Reference\",\"items\":[{\"slug\":\"stdlib\",\"label\":\"Stdlib\",\"path\":\"stdlib.md\",\"title\":\"HQL Standard Library\",\"group\":\"Reference\"},{\"slug\":\"errors\",\"label\":\"Errors\",\"path\":\"errors.md\",\"title\":\"HQL Error Reporting System\",\"group\":\"Reference\"}]}],\"flat\":[{\"slug\":\"index\",\"label\":\"Start\",\"path\":\"index.md\",\"group\":\"Start\",\"title\":\"HQL Documentation\",\"prev\":null,\"next\":\"guide\"},{\"slug\":\"guide\",\"label\":\"Guide\",\"path\":\"guide.md\",\"group\":\"Start\",\"title\":\"HQL Guide\",\"prev\":\"index\",\"next\":\"language\"},{\"slug\":\"language\",\"label\":\"Language\",\"path\":\"language.md\",\"group\":\"Language\",\"title\":\"HQL Language\",\"prev\":\"guide\",\"next\":\"interop\"},{\"slug\":\"interop\",\"label\":\"JavaScript Interop\",\"path\":\"interop.md\",\"group\":\"Language\",\"title\":\"JavaScript Interop\",\"prev\":\"language\",\"next\":\"pure-mode\"},{\"slug\":\"pure-mode\",\"label\":\"Pure Mode\",\"path\":\"pure-mode.md\",\"group\":\"Language\",\"title\":\"Pure Mode HQL\",\"prev\":\"interop\",\"next\":\"cli\"},{\"slug\":\"cli\",\"label\":\"CLI\",\"path\":\"cli.md\",\"group\":\"Workflows\",\"title\":\"HQL CLI\",\"prev\":\"pure-mode\",\"next\":\"packages\"},{\"slug\":\"packages\",\"label\":\"Packages\",\"path\":\"packages.md\",\"group\":\"Workflows\",\"title\":\"HQL Dependencies And Publishing\",\"prev\":\"cli\",\"next\":\"web-mobile\"},{\"slug\":\"web-mobile\",\"label\":\"Browser, Web, Mobile\",\"path\":\"web-mobile.md\",\"group\":\"Workflows\",\"t
29itle\":\"Browser, Web, And Mobile\",\"prev\":\"packages\",\"next\":\"stdlib\"},{\"slug\":\"stdlib\",\"label\":\"Stdlib\",\"path\":\"stdlib.md\",\"group\":\"Reference\",\"title\":\"HQL Standard Library\",\"prev\":\"web-mobile\",\"next\":\"errors\"},{\"slug\":\"errors\",\"label\":\"Errors\",\"path\":\"errors.md\",\"group\":\"Reference\",\"title\":\"HQL Error Reporting System\",\"prev\":\"stdlib\",\"next\":null}],\"search\":[{\"slug\":\"index\",\"anchor\":null,\"title\":\"HQL Documentation\",\"label\":\"Start\",\"group\":\"Start\",\"heading\":null,\"section\":null,\"excerpt\":\"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. | Read this when                  ...\"},{\"slug\":\"index\",\"anchor\":\"language\",\"title\":\"HQL Documentation\",\"label\":\"Start\",\"group\":\"Start\",\"heading\":\"Language\",\"section\":null,\"excerpt\":\"| Read this when                        | Doc                                                          | | ------------------------------------- | -------------\"},{\"slug\":\"index\",\"anchor\":\"api-reference-generated\",\"title\":\"HQL Documentation\",\"label\":\"Start\",\"group\":\"Start\",\"heading\":\"API Reference (generated)\",\"section\":null,\"excerpt\":\"| Read this when                | Doc                                          | | ----------------------------- | -------------------------------------------- \"},{\"slug\":\"index\",\"anchor\":\"workflows\",\"title\":\"HQL Documentation\",\"label\":\"Start\",\"group\":\"Start\",\"heading\":\"Workflows\",\"section\":null,\"excerpt\":\"| Read this when                             | Doc                            | | ------------------------------------------ | ------------------------------ | \"},{\"slug\":\"index\",\"anchor\":\"internals-and-status\",\"title\":\"HQL Documentation\",\"label\":\"Start\",\"group\":\"Start\",\"heading\":\"Internals And Status\",\"section\":null,\"excerpt\":\"| Read this when                  | Doc                                                | | ------------------------------- | -----------------------------------\"},{\"slug\":\"index\",\"anchor\":\"source-authority\",\"title\":\"HQL Documentation\",\"label\":\"Start\",\"group\":\"Start\",\"heading\":\"Source Authority\",\"section\":null,\"excerpt\":\"- 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 \"},{\"slug\":\"index\",\"anchor\":\"feedback\",\"title\":\"HQL Documentation\",\"label\":\"Start\",\"group\":\"Start\",\"heading\":\"Feedback\",\"section\":null,\"excerpt\":\"Found an issue with the docs? Open an issue in hlvm-dev/hql.\"},{\"slug\":\"guide\",\"anchor\":null,\"title\":\"HQL Guide\",\"label\":\"Guide\",\"group\":\"Start\",\"heading\":null,\"section\":null,\"excerpt\":\"HQL is a Lisp-shaped language that compiles to JavaScript and TypeScript. It is designed to keep Lisp's small syntax while staying close to the JS ecosystem. Create hello.hql: Run it: For a one-shot i...\"},{\"slug\":\"guide\",\"anchor\":\"run-your-first-program\",\"title\":\"HQL Guide\",\"label\":\"Guide\",\"group\":\"Start\",\"heading\":\"Run Your First Program\",\"section\":null,\"excerpt\":\"Create hello.hql: Run it: For a one-shot interactive expression: run is available as an explicit spelling, but is optional for files and expressions. A JavaScri\"},{\"slug\":\"guide\",\"anchor\":\"the-reader-rule\",\"title\":\"HQL Guide\",\"label\":\"Guide\",\"group\":\"Start\",\"heading\":\"The Reader Rule\",\"section\":null,\"excerpt\":\"One rule explains most syntax: parentheses are code; brackets and braces are data; separators choose the data lane. | Data shape     | HQL persistent lane      \"},{\"slug\":\"guide\",\"anchor\":\"data-and-bindings\",\"title\":\"HQL Guide\",\"label\":\"Guide\",\"group\":\"Start\",\"heading\":\"Data And Bindings\",\"section\":null,\"excerpt\":\"Use let for normal values. Use var only when the binding must be reassigned.\"},{\"slug\":\"guide\",\"anchor\":\"functions-and-types\",\"title\":\"HQL Guide\",\"label\":\"Guide\",\"group\":\"Start\",\"heading\":\"Functions And Types\",\"section\":null,\"excerpt\":\"Named arguments work for known lexical HQL function declarations. Unknown, imported, host, rest-parameter, and pattern-parameter calls stay positional. Anonymou\"}
29,{\"slug\":\"guide\",\"anchor\":\"control-flow\",\"title\":\"HQL Guide\",\"label\":\"Guide\",\"group\":\"Start\",\"heading\":\"Control Flow\",\"section\":null,\"excerpt\":\"HQL is expression-oriented, so control-flow forms can return values.\"},{\"slug\":\"guide\",\"anchor\":\"loops\",\"title\":\"HQL Guide\",\"label\":\"Guide\",\"group\":\"Start\",\"heading\":\"Loops\",\"section\":null,\"excerpt\":\"Use loop and recur when the loop state should stay explicit and tail-recursive.\"},{\"slug\":\"guide\",\"anchor\":\"modules\",\"title\":\"HQL Guide\",\"label\":\"Guide\",\"group\":\"Start\",\"heading\":\"Modules\",\"section\":null,\"excerpt\":\"HQL imports JavaScript and TypeScript modules directly. Raw .hql source should go through the HQL toolchain; plain JS runtimes consume compiled ESM output. See \"},{\"slug\":\"guide\",\"anchor\":\"javascript-interop\",\"title\":\"HQL Guide\",\"label\":\"Guide\",\"group\":\"Start\",\"heading\":\"JavaScript Interop\",\"section\":null,\"excerpt\":\"Use comma-separated arrays and JS-object colons when a JavaScript API expects native JS data. Use persistent collections for HQL-first data. See JavaScript Inte\"},{\"slug\":\"guide\",\"anchor\":\"stdlib\",\"title\":\"HQL Guide\",\"label\":\"Guide\",\"group\":\"Start\",\"heading\":\"Stdlib\",\"section\":null,\"excerpt\":\"The standard library is generated from source and includes runtime-verified examples.\"},{\"slug\":\"guide\",\"anchor\":\"packages-browser-web-and-mobile\",\"title\":\"HQL Guide\",\"label\":\"Guide\",\"group\":\"Start\",\"heading\":\"Packages, Browser, Web, And Mobile\",\"section\":null,\"excerpt\":\"Package inference, hql.json, dependencies, and publishing are defined in Packages. Application workflows are defined in Browser, Web, And Mobile; use the CLI as\"},{\"slug\":\"guide\",\"anchor\":\"common-mistakes\",\"title\":\"HQL Guide\",\"label\":\"Guide\",\"group\":\"Start\",\"heading\":\"Common Mistakes\",\"section\":null,\"excerpt\":\"- Writing commas in code forms: (+ 1, 2) is invalid. Use spaces. - Expecting [1] to be a JS array. It is a persistent vector; use [1,]. - Using {name: \\\"Ada\\\"} wh\"},{\"slug\":\"guide\",\"anchor\":\"next\",\"title\":\"HQL Guide\",\"label\":\"Guide\",\"group\":\"Start\",\"heading\":\"Next\",\"section\":null,\"excerpt\":\"- Language - CLI - Stdlib - Editor integrations\"},{\"slug\":\"language\",\"anchor\":null,\"title\":\"HQL Language\",\"label\":\"Language\",\"group\":\"Language\",\"heading\":null,\"section\":null,\"excerpt\":\"HQL is a Lisp-shaped language that compiles to JavaScript and TypeScript. This reference describes the current pre-release syntax. The language authority is SPEC.md; this file expands that specificati...\"},{\"slug\":\"language\",\"anchor\":\"core-reader-rule\",\"title\":\"HQL Language\",\"label\":\"Language\",\"group\":\"Language\",\"heading\":\"Core Reader Rule\",\"section\":null,\"excerpt\":\"HQL uses a Clojure-default reader with an explicit JS interop lane: - (...) is S-expression code and code-data. It uses spaces, never commas. - [], {}, and #[] \"},{\"slug\":\"language\",\"anchor\":\"data\",\"title\":\"HQL Language\",\"label\":\"Language\",\"group\":\"Language\",\"heading\":\"Data\",\"section\":null,\"excerpt\":\"Objects are data only. They are not named parameters: pr-str and read-string use the same delimiter rule for code-data strings:\"},{\"slug\":\"language\",\"anchor\":\"bindings\",\"title\":\"HQL Language\",\"label\":\"Language\",\"group\":\"Language\",\"heading\":\"Bindings\",\"section\":null,\"excerpt\":\"\"},{\"slug\":\"language\",\"anchor\":\"functions\",\"title\":\"HQL Language\",\"label\":\"Language\",\"group\":\"Language\",\"heading\":\"Functions\",\"section\":null,\"excerpt\":\"The named declaration shape is: defn is the Clojure-style named function declaration. Examples: A function expression omits the name. =\u003e is the anonymous shorth\"},{\"slug\":\"language\",\"anchor\":\"classes\",\"title\":\"HQL Language\",\"label\":\"Language\",\"group\":\"Language\",\"heading\":\"Classes\",\"section\":null,\"excerpt\":\"\"}
29,{\"slug\":\"language\",\"anchor\":\"control-flow\",\"title\":\"HQL Language\",\"label\":\"Language\",\"group\":\"Language\",\"heading\":\"Control Flow\",\"section\":null,\"excerpt\":\"do groups expressions and evaluates to its last expression: Errors use try/catch with throw:\"},{\"slug\":\"language\",\"anchor\":\"loops\",\"title\":\"HQL Language\",\"label\":\"Language\",\"group\":\"Language\",\"heading\":\"Loops\",\"section\":null,\"excerpt\":\"Loop and iteration binding vectors use spaces: For async iterables, use the same binding shape with for-await-of:\"},{\"slug\":\"language\",\"anchor\":\"types\",\"title\":\"HQL Language\",\"label\":\"Language\",\"group\":\"Language\",\"heading\":\"Types\",\"section\":null,\"excerpt\":\"\"},{\"slug\":\"language\",\"anchor\":\"modules\",\"title\":\"HQL Language\",\"label\":\"Language\",\"group\":\"Language\",\"heading\":\"Modules\",\"section\":null,\"excerpt\":\"\"},{\"slug\":\"language\",\"anchor\":\"package-tooling\",\"title\":\"HQL Language\",\"label\":\"Language\",\"group\":\"Language\",\"heading\":\"Package Tooling\",\"section\":null,\"excerpt\":\"Package metadata, dependency management, executable builds, and registry publishing are tooling workflows rather than HQL language syntax. Their one canonical u\"},{\"slug\":\"language\",\"anchor\":\"javascript-interop\",\"title\":\"HQL Language\",\"label\":\"Language\",\"group\":\"Language\",\"heading\":\"JavaScript Interop\",\"section\":null,\"excerpt\":\"Interop calls are positional. Named labels are only for known HQL fn declarations.\"},{\"slug\":\"language\",\"anchor\":\"macros\",\"title\":\"HQL Language\",\"label\":\"Language\",\"group\":\"Language\",\"heading\":\"Macros\",\"section\":null,\"excerpt\":\"Macro templates operate on S-expression code-data, so quoted lists use spaces: Macro templates use quasiquote, unquote, and splice forms: Public macro parameter\"},{\"slug\":\"language\",\"anchor\":\"compound-structured-items\",\"title\":\"HQL Language\",\"label\":\"Language\",\"group\":\"Language\",\"heading\":\"Compound Structured Items\",\"section\":null,\"excerpt\":\"Spaces separate top-level items in structured delimiters. Some items contain spaces or punctuation internally: | Context          | One Item               | Exa\"},{\"slug\":\"language\",\"anchor\":\"removed-legacy-syntax\",\"title\":\"HQL Language\",\"label\":\"Language\",\"group\":\"Language\",\"heading\":\"Removed Legacy Syntax\",\"section\":null,\"excerpt\":\"HQL is pre-release, so legacy spellings are removed instead of kept as aliases.\"},{\"slug\":\"interop\",\"anchor\":null,\"title\":\"JavaScript Interop\",\"label\":\"JavaScript Interop\",\"group\":\"Language\",\"heading\":null,\"section\":null,\"excerpt\":\"HQL compiles to JavaScript and can call JavaScript values directly. Dot syntax compiles to JavaScript property access. js/Name resolves a JavaScript global. Use method-call syntax for calls that need ...\"},{\"slug\":\"interop\",\"anchor\":\"property-access\",\"title\":\"JavaScript Interop\",\"label\":\"JavaScript Interop\",\"group\":\"Language\",\"heading\":\"Property Access\",\"section\":null,\"excerpt\":\"Dot syntax compiles to JavaScript property access.\"},{\"slug\":\"interop\",\"anchor\":\"constructors\",\"title\":\"JavaScript Interop\",\"label\":\"JavaScript Interop\",\"group\":\"Language\",\"heading\":\"Constructors\",\"section\":null,\"excerpt\":\"js/Name resolves a JavaScript global.\"},{\"slug\":\"interop\",\"anchor\":\"method-calls\",\"title\":\"JavaScript Interop\",\"label\":\"JavaScript Interop\",\"group\":\"Language\",\"heading\":\"Method Calls\",\"section\":null,\"excerpt\":\"Use method-call syntax for calls that need a receiver.\"},{\"slug\":\"interop\",\"anchor\":\"general-calls\",\"title\":\"JavaScript Interop\",\"label\":\"JavaScript Interop\",\"group\":\"Language\",\"heading\":\"General Calls\",\"section\":null,\"excerpt\":\"js/call calls a property by name on a target object.\"},{\"slug\":\"interop\",\"anchor\":\"data-lane-matters\",\"title\":\"JavaScript Interop\",\"label\":\"JavaScript Interop\",\"group\":\"Language\",\"heading\":\"Data Lane Matters\",\"section\":null,\"excerpt\":\"The reader rule controls whether a literal is persistent HQL data or native JS data: Use to-js and from-js when crossing data boundaries explicitly. to-js is fo\"},{\"slug\":\"interop\",\"anchor\":\"error-handling\",\"title\":\"JavaScript Interop\",\"label\":\"JavaScript Interop\",\"group\":\"Language\",\"heading\":\"Error Handling\",\"section\":null,\"excerpt\":\"JavaScript exceptions can be caught with HQL error handling:\"},{\"slug\":\"interop\",\"anchor\":\"next\",\"title\":\"JavaScript Interop\",\"label\":\"JavaScript Interop\",\"group\":\"Language\",\"heading\":\"Next\",\"section\":null,\"excerpt\":\"- Language - Stdlib - Browser, Web, And Mobile\"},{\"slug\":\"pure-mode\",\"anchor\":null,\"title\":\"Pure Mode HQL\",\"label\":\"Pure Mode\",\"group\":\"Language\",\"heading\":null,\"section\":null,\"excerpt\":\"Pure Mode HQL is the opt-in discipline layer of HQL. It lets a developer write code with explicit purity and IO boundaries while keeping normal HQL practical, Lisp-shaped, and native to the JavaScript...\"},{\"slug\":\"pure-mode\",\"anchor\":\"short-version\",\"title\":\"Pure Mode HQL\",\"label\":\"Pure Mode\",\"group\":\"Language\",\"heading\":\"Short Version\",\"section\":null,\"excerpt\":\"Pure Mode HQL separates two kinds of work: In HQL: Read it as: Normal HQL stays available. Pure Mode HQL is additive.\"},{\"slug\":\"pure-mode\",\"anchor\":\"why-this-exists\",\"title\":\"Pure Mode HQL\",\"label\":\"Pure Mode\",\"group\":\"Language\",\"heading\":\"Why This Exists\",\"section\":null,\"excerpt\":\"Without a pure lane, code 
29can look like a plain calculation while secretly touching the world. That is convenient, but it is not pure. It prints. Pure Mode HQL \"},{\"slug\":\"pure-mode\",\"anchor\":\"the-two-lane-model\",\"title\":\"Pure Mode HQL\",\"label\":\"Pure Mode\",\"group\":\"Language\",\"heading\":\"The Two-Lane Model\",\"section\":null,\"excerpt\":\"HQL has two useful lanes: The lanes can coexist in one codebase. ASCII view: Pure Mode HQL does not require every file to be pure. It lets the pure core be stri\"},{\"slug\":\"pure-mode\",\"anchor\":\"fx-pure-checked-functions\",\"title\":\"Pure Mode HQL\",\"label\":\"Pure Mode\",\"group\":\"Language\",\"heading\":\"`fx`: Pure Checked Functions\",\"section\":null,\"excerpt\":\"fx declares that a function must be pure. Allowed inside fx: Rejected inside fx: Plain explanation: That last rule matters. In hard code, \\\"I do not know\\\" is not\"},{\"slug\":\"pure-mode\",\"anchor\":\"mutable-state-and-fx\",\"title\":\"Pure Mode HQL\",\"label\":\"Pure Mode\",\"group\":\"Language\",\"heading\":\"Mutable state and `fx`\",\"section\":\"`fx`: Pure Checked Functions\",\"excerpt\":\"Purity is about what the caller can observe. Local mutation stays invisible, so it is allowed — including loop accumulators: Reading or writing mutable state th\"},{\"slug\":\"pure-mode\",\"anchor\":\"io-world-actions\",\"title\":\"Pure Mode HQL\",\"label\":\"Pure Mode\",\"group\":\"Language\",\"heading\":\"`io`: World Actions\",\"section\":null,\"excerpt\":\"io declares that a function may perform world actions. An io function returns an action-like value. Use \u003c- to unwrap it inside another io function: \u003c- is intent\"},{\"slug\":\"pure-mode\",\"anchor\":\"pure-lifting-plain-values-into-io\",\"title\":\"Pure Mode HQL\",\"label\":\"Pure Mode\",\"group\":\"Language\",\"heading\":\"`pure`: Lifting Plain Values Into `io`\",\"section\":null,\"excerpt\":\"Sometimes an io function wants to return an already-computed value. Then callers unwrap it normally: Plain model: The important part is the boundary: callers us\"},{\"slug\":\"pure-mode\",\"anchor\":\"enum-and-exhaustive-match\",\"title\":\"Pure Mode HQL\",\"label\":\"Pure Mode\",\"group\":\"Language\",\"heading\":\"Enum And Exhaustive Match\",\"section\":null,\"excerpt\":\"Pure Mode HQL uses enum for closed choices. This means: Use match to handle the cases. Case patterns that carry a payload use the qualified constructor form (Ty\"},{\"slug\":\"pure-mode\",\"anchor\":\"protocol-and-extension\",\"title\":\"Pure Mode HQL\",\"label\":\"Pure Mode\",\"group\":\"Language\",\"heading\":\"Protocol And Extension\",\"section\":null,\"excerpt\":\"Pure Mode HQL uses one public open-polymorphism surface: Read it as: Calling a protocol method: Result: The dispatch key is found from the value: So this value \"},{\"slug\":\"pure-mode\",\"anchor\":\"js-ts-and-npm-boundaries\",\"title\":\"Pure Mode HQL\",\"label\":\"Pure Mode\",\"group\":\"Language\",\"heading\":\"JS, TS, And npm Boundaries\",\"section\":null,\"excerpt\":\"Normal HQL keeps frictionless imports: Pure mode requires imported JS/TS/npm functions to declare their contract: Meaning: Example: Allowed, because slugify is \"},{\"slug\":\"pure-mode\",\"anchor\":\"pure-mode\",\"title\":\"Pure Mode HQL\",\"label\":\"Pure Mode\",\"group\":\"Language\",\"heading\":\"Pure Mode\",\"section\":null,\"excerpt\":\"Pure mode is the compiler mode that tightens the hard boundary. CLI: Programmatic option: Pure mode is where JS/TS/npm imports must declare fx, io, or unsafe. N\"},{\"slug\":\"pure-mode\",\"anchor\":\"relationship-to-existing-effect-systems\",\"title\":\"Pure Mode HQL\",\"label\":\"Pure Mode\",\"group\":\"Language\",\"heading\":\"Relationship To Existing Effect Systems\",\"section\":null,\"excerpt\":\"If you already know Haskell IO or Scala effect libraries, the closest HQL idea is visibility: pure helpers and world actions are kept in different lanes. The di\"},{\"slug\":\"pure-mode\",\"anchor\":\"checked-boundaries\",\"title\":\"Pure Mode HQL\",\"label\":\"Pure Mode\",\"group\":\"Language\",\"heading\":\"Checked Boundaries\",\"section\":null,\"excerpt\":\"Same idea, side by side: Important difference: So HQL is not a subset of Haskell. It borrows the most useful discipline: without inheriting all Haskell language\"},{\"slug\":\"pure-mode\",\"anchor\":\"comparison-with-scala-zio-cats-effect\",\"title\":\"Pure Mode HQL\",\"label\":\"Pure Mode\",\"group\":\"Language\",\"heading\":\"Comparison With Scala ZIO / Cats Effect\",\"section\":null,\"excerpt\":\"Scala is practical by default. With ZIO or Cats Effect, developers choose a strict effect style. Scala with Cats Effect: Pure Mode HQL: The practical similarity\"},{\"slug\":\"pure-mode\",\"anchor\":\"what-pure-mode-hql-guarantees\",\"title\":\"Pure Mode HQL\",\"label\":\"Pure Mode\",\"group\":\"Language\",\"heading\":\"What Pure Mode HQL Guarantees\",\"section\":null,\"excerpt\":\"When used with pure mode and declared imports, HQL aims to guarantee:\"},{\"slug\":\"pure-mode\",\"anchor\":\"what-pure-mode-hql-does-not-claim\",\"title\":\"Pure Mode HQL\",\"label\":\"Pure Mode\",\"group\":\"Language\",\"heading\":\"What Pure Mode HQL Does Not Claim\",\"section\":null,\"excerpt\":\"Pure Mode HQL does not make all of HQL Haskell. It does not require: That would be a different language. Pure Mode HQL also does not prove that a JS/npm impleme\"},{\"slug\":\"pure-mode\",\"anchor\":\"recommended-architecture\",\"title\":\"Pure Mode HQL\",\"label\":\"Pure Mode\",\"group\":\"Language\",\"heading\":\"Recommended Architecture\",\"section\":null,\"excerpt\":\"A common shape is: Flow: Keep the domain core boring: Keep world access at the edge: Compose at the shell:\"},{\"slug\":\"pure-mode\",\"anchor\":\"common-mistakes\",\"title\":\"Pure Mode HQL\",\"label\":\"Pure Mode\",\"group\":\"Language\",\"heading\":\"Common Mistakes\",\"section\":null,\"excerpt\":\"\"},{\"slug\":\"pure-mode\",\"anchor\":\"mistake-calling-io-from-fx\",\"title\":\"Pure Mode HQL\",\"label\":\"Pure Mode\",\"group\":\"Language\",\"heading\":\"Mistake: Calling `io` From `fx`\",\"section\":\"Common Mistakes\",\"excerpt\":\"Fix:\"},{\"slug\":\"pure-mode\",\"anchor\":\"mistake-using-outside-io\",\"title\":\"Pure Mode HQL\",\"label\":\"Pure Mode\",\"group\":\"Language\",\"heading\":\"Mistake: Using `\u003c-` Outside `io`\",\"section\":\"Common Mistakes\",\"excerpt\":\"Fix:\"},{\"slug\":\"pure-mode\",\"anchor\":\"mistake-forgetting-an-import-contract-in-pure-mode\",\"title\":\"Pure Mode HQL\",\"label\":\"Pure Mode\",\"group\":\"Language\",\"heading\":\"Mistake: Forgetting An Import Contract In Pure Mode\",\"section\":\"Common Mistakes\",\"excerpt\":\"Fix:\"},{\"slug\":\"pure-mode\",\"anchor\":\"mistake-protocol-extension-does-not-match-protocol\",\"title\":\"Pure Mode HQL\",\"label\":\"Pure Mode\",\"group\":\"Language\",\"heading\":\"Mistake: Protocol Extension Does Not Match Protocol\",\"section\":\"Common Mistakes\",\"excerpt\":\"Fix:\"},{\"slug\":\"pure-mode\",\"anchor\":\"mistake-non-exhaustive-match\",\"title\":\"Pure Mode HQL\",\"label\":\"Pure Mode\",\"group\":\"Language\",\"heading\":\"Mistake: Non-Exhaustive Match\",\"section\":\"Common Mistakes\",\"excerpt\":\"Fix (handle every case, or add a wildcard fallback):\"},{\"slug\":\"pure-mode\",\"anchor\":\"design-principles\",\"title\":\"Pure Mode HQL\",\"label\":\"Pure Mode\",\"group\":\"Language\",\"heading\":\"Design Principles\",\"section\":null,\"excerpt\":\"Pure Mode HQL follows these rules:\"},{\"slug\":\"pure-mode\",\"anchor\":\"mental-model\",\"title\":\"Pure Mode HQL\",\"label\":\"Pure Mode\",\"group\":\"Language\",\"heading\":\"Mental Model\",\"section\":null,\"excerpt\":\"Think of io as a recipe. Diagram: This is the whole heart of the feature. Pure Mode HQL is not \\\"make everything pure forever.\\\" It is:\"},{\"slug\":\"cli\",\"anchor\":null,\"title\":\"HQL CLI\",\"label\":\"CLI\",\"group\":\"Workflows\",\"heading\":null,\"section\":null,\"excerpt\":\"The hql command has three workflows. Start with a file; create an app only when a web/mobile toolchain is needed; use package commands only to publish a library. No project or manifest is required. | ...\"},{\"slug\":\"cli\",\"anchor\":\"1-run-or-compile-a-file\",\"title\":\"HQL CLI\",\"label\":\"CLI\",\"group\":\"Workflows\",\"heading\":\"1. Run Or Compile A File\",\"section\":null,\"excerpt\":\"No project or manifest is required. | Command                                  | Purpose                                     | | -------------------------------\"},{\"slug\":\"cli\",\"anchor\":\"2-create-a-project\",\"title\":\"HQL CLI\",\"label\":\"CLI\",\"group\":\"Workflows\",\"heading\":\"2. Create A Project\",\"section\":null,\"excerpt\":\"Choose an application target explicitly: | Command                                      | Purpose                            | | -------------------------------\"},{\"slug\":\"cli\",\"anchor\":\"3-publish-a-package\",\"title\":\"HQL CLI\",\"label\":\"CLI\",\"group\":\"Workflows\",\"heading\":\"3. Publish A Package\",\"section\":null,\"excerpt\":\"The simple case needs only mod.hql: HQL infers name, version, entry, and npm plus JSR targets. Use --target npm, --target jsr, or --target all to override the r\"}
29,{\"slug\":\"cli\",\"anchor\":\"command-help\",\"title\":\"HQL CLI\",\"label\":\"CLI\",\"group\":\"Workflows\",\"heading\":\"Command Help\",\"section\":null,\"excerpt\":\"The source of truth for dispatch and accepted flags is src/hql/cli.ts; documentation checks keep public examples aligned with it.\"},{\"slug\":\"packages\",\"anchor\":null,\"title\":\"HQL Dependencies And Publishing\",\"label\":\"Packages\",\"group\":\"Workflows\",\"heading\":null,\"section\":null,\"excerpt\":\"The normal HQL workflow has one tool and, when project metadata is needed, one manifest: hql.json. Generated JavaScript ecosystem files are implementation details; do not edit them. For a script, writ...\"},{\"slug\":\"packages\",\"anchor\":\"use-a-dependency\",\"title\":\"HQL Dependencies And Publishing\",\"label\":\"Packages\",\"group\":\"Workflows\",\"heading\":\"Use A Dependency\",\"section\":null,\"excerpt\":\"For a script, write a versioned import and run the file: No project, install command, or manifest is required. In an HQL project, hql add npm:[email protected] records t\"},{\"slug\":\"packages\",\"anchor\":\"publish-one-hql-file\",\"title\":\"HQL Dependencies And Publishing\",\"label\":\"Packages\",\"group\":\"Workflows\",\"heading\":\"Publish One HQL File\",\"section\":null,\"excerpt\":\"A single mod.hql is enough: Without hql.json, HQL infers the entry, a scoped name from the current user and directory, version 0.1.0, and both registries. The d\"},{\"slug\":\"packages\",\"anchor\":\"what-publish-guarantees\",\"title\":\"HQL Dependencies And Publishing\",\"label\":\"Packages\",\"group\":\"Workflows\",\"heading\":\"What Publish Guarantees\",\"section\":null,\"excerpt\":\"hql publish performs this sequence: 1. Strictly compile every exported HQL module. 2. Run the package's test.hql and .test.hql tests. 3. Emit ordinary ESM JavaS\"},{\"slug\":\"packages\",\"anchor\":\"generated-output\",\"title\":\"HQL Dependencies And Publishing\",\"label\":\"Packages\",\"group\":\"Workflows\",\"heading\":\"Generated Output\",\"section\":null,\"excerpt\":\"hql pack writes: These files are publish output, not project configuration. The only source manifest is hql.json.\"},{\"slug\":\"packages\",\"anchor\":\"existing-javascript-or-typescript-projects\",\"title\":\"HQL Dependencies And Publishing\",\"label\":\"Packages\",\"group\":\"Workflows\",\"heading\":\"Existing JavaScript Or TypeScript Projects\",\"section\":null,\"excerpt\":\"An existing JS/TS project may keep its own package.json and package manager. Running its entry with hql is zero-config: If that project must keep Vite, esbuild,\"},{\"slug\":\"packages\",\"anchor\":\"next\",\"title\":\"HQL Dependencies And Publishing\",\"label\":\"Packages\",\"group\":\"Workflows\",\"heading\":\"Next\",\"section\":null,\"excerpt\":\"- CLI - Browser, Web, And Mobile - JavaScript Interop\"},{\"slug\":\"web-mobile\",\"anchor\":null,\"title\":\"Browser, Web, And Mobile\",\"label\":\"Browser, Web, Mobile\",\"group\":\"Workflows\",\"heading\":null,\"section\":null,\"excerpt\":\"Use the smallest lane that fits the application. A browser demo needs no project; a new app starts with one command; an existing JS/TS project can keep its familiar bundler. For a small demo: For prod...\"},{\"slug\":\"web-mobile\",\"anchor\":\"no-build-browser-page\",\"title\":\"Browser, Web, And Mobile\",\"label\":\"Browser, Web, Mobile\",\"group\":\"Workflows\",\"heading\":\"No-Build Browser Page\",\"section\":null,\"excerpt\":\"For a small demo: For production, emit ordinary ESM instead of shipping the compiler: See HQL in the Browser for CSP, multi-module, and loader boundaries.\"},{\"slug\":\"web-mobile\",\"anchor\":\"new-web-application\",\"title\":\"Browser, Web, And Mobile\",\"label\":\"Browser, Web, Mobile\",\"group\":\"Workflows\",\"heading\":\"New Web Application\",\"section\":null,\"excerpt\":\"In an interactive terminal this creates and starts the app. The default is a minimal dependency-free page: hql.json, one src/app.hql, and ignored generated stat\"},{\"slug\":\"web-mobile\",\"anchor\":\"new-mobile-application\",\"title\":\"Browser, Web, And Mobile\",\"label\":\"Browser, Web, Mobile\",\"group\":\"Workflows\",\"heading\":\"New Mobile Application\",\"section\":null,\"excerpt\":\"The default has one src/app.hql. Use --example todo for the routed React Native example. HQL compiles source, creates ignored Expo/Metro bridge files, installs \"},{\"slug\":\"web-mobile\",\"anchor\":\"existing-javascript-or-typescript-project\",\"title\":\"Browser, Web, And Mobile\",\"label\":\"Browser, Web, Mobile\",\"group\":\"Workflows\",\"heading\":\"Existing JavaScript Or TypeScript Project\",\"section\":null,\"excerpt\":\"The zero-config path is to run the existing entry through HQL: That Type
29Script or JavaScript graph may import .hql files directly. If the project must keep Vite\"},{\"slug\":\"web-mobile\",\"anchor\":\"browser-runtime-api\",\"title\":\"Browser, Web, And Mobile\",\"label\":\"Browser, Web, Mobile\",\"group\":\"Workflows\",\"heading\":\"Browser Runtime API\",\"section\":null,\"excerpt\":\"Playgrounds and embedding tools can compile in-memory source: Normal production applications should precompile. Browser security still prevents arbitrary filesy\"},{\"slug\":\"web-mobile\",\"anchor\":\"next\",\"title\":\"Browser, Web, And Mobile\",\"label\":\"Browser, Web, Mobile\",\"group\":\"Workflows\",\"heading\":\"Next\",\"section\":null,\"excerpt\":\"- CLI - Packages - JavaScript Interop\"},{\"slug\":\"stdlib\",\"anchor\":null,\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":null,\"section\":null,\"excerpt\":\"307 documented stdlib functions across sequences, predicates, math, maps, strings, and more. Returns false for truthy values and true for falsy values. Arity: 1 · Return: false for truthy values and t...\"},{\"slug\":\"stdlib\",\"anchor\":\"core-runtime-functions\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"Core Runtime Functions\",\"section\":null,\"excerpt\":\"\"},{\"slug\":\"stdlib\",\"anchor\":\"not\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"not\",\"section\":\"Core Runtime Functions\",\"excerpt\":\"Returns false for truthy values and true for falsy values. Arity: 1 · Return: false for truthy values and true for falsy values · Evaluation: eager · Effects: p\"},{\"slug\":\"stdlib\",\"anchor\":\"assert\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"assert\",\"section\":\"Core Runtime Functions\",\"excerpt\":\"Throws when condition is falsy. Returns nil when the assertion passes. Arity: 1-2 · Return: Throws when condition is falsy · Evaluation: eager · Effects: pure/d\"},{\"slug\":\"stdlib\",\"anchor\":\"str\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"str\",\"section\":\"Core Runtime Functions\",\"excerpt\":\"Concatenates the string representation of all arguments. nil renders as an empty string. Arity: 0+ · Return: Concatenates the string representation of all argum\"},{\"slug\":\"stdlib\",\"anchor\":\"contains\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"contains?\",\"section\":\"Core Runtime Functions\",\"excerpt\":\"Returns true when coll contains key: Set/Map membership, array/string index, or object own key. Arity: 2 · Return: true when coll contains key: Set/Map membersh\"},{\"slug\":\"stdlib\",\"anchor\":\"xor\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"xor\",\"section\":\"Core Runtime Functions\",\"excerpt\":\"Returns b when a is falsy, otherwise the logical negation of b. Arity: 2 · Return: b when a is falsy, otherwise the logical negation of b · Evaluation: eager · \"},{\"slug\":\"stdlib\",\"anchor\":\"print\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"print\",\"section\":\"Core Runtime Functions\",\"excerpt\":\"Prints arguments WITHOUT a trailing newline where the host has a raw sink (hqlprintwriter); browser hosts fall back to console.log. Typed print options delegate\"},{\"slug\":\"stdlib\",\"anchor\":\"add-tap\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"add-tap\",\"section\":\"Core Runtime Functions\",\"excerpt\":\"Adds f to the tap\u003e notification set and returns nil. Arity: 1 · Return: Adds f to the tap\u003e notification set and returns nil · Evaluation: eager · Effects: outpu\"},{\"slug\":\"stdlib\",\"anchor\":\"remove-tap\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"remove-tap\",\"section\":\"Core Runtime Functions\",\"excerpt\":\"Removes f from the tap\u003e notification set and returns nil. Arity: 1 · Return: Removes f from the tap\u003e notification set and returns nil · Evaluation: eager · Effe\"},{\"slug\":\"stdlib\",\"anchor\":\"tap\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"tap\u003e\",\"section\":\"Core Ru
29ntime Functions\",\"excerpt\":\"Sends x to every registered tap function and returns true. Arity: 1 · Return: Sends x to every registered tap function and returns true · Evaluation: eager · Ef\"},{\"slug\":\"stdlib\",\"anchor\":\"println\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"println\",\"section\":\"Core Runtime Functions\",\"excerpt\":\"Prints arguments followed by a newline. Arity: 0+ · Return: Prints arguments followed by a newline · Evaluation: eager · Effects: output side effect · Host: por\"},{\"slug\":\"stdlib\",\"anchor\":\"sequence-primitives\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"Sequence Primitives\",\"section\":null,\"excerpt\":\"\"},{\"slug\":\"stdlib\",\"anchor\":\"take\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"take\",\"section\":\"Sequence Primitives\",\"excerpt\":\"Returns a lazy sequence of the first n items from coll. With only n, returns the take transducer. Arity: 1-2 · Return: a lazy sequence of the first n items from\"},{\"slug\":\"stdlib\",\"anchor\":\"drop\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"drop\",\"section\":\"Sequence Primitives\",\"excerpt\":\"Returns a lazy sequence of all but the first n items from coll. With only n, returns the drop transducer. Arity: 1-2 · Return: a lazy sequence of all but the fi\"},{\"slug\":\"stdlib\",\"anchor\":\"map\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"map\",\"section\":\"Sequence Primitives\",\"excerpt\":\"Returns a lazy sequence consisting of (f x) for each x in coll. With only f, returns the map transducer. Arity: 1+ · Return: a lazy sequence consisting of (f x)\"},{\"slug\":\"stdlib\",\"anchor\":\"filter\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"filter\",\"section\":\"Sequence Primitives\",\"excerpt\":\"Returns a lazy sequence of items from coll for which (pred item) is truthy. With only pred, returns the filter transducer. Arity: 1-2 · Return: a lazy sequence \"},{\"slug\":\"stdlib\",\"anchor\":\"reduce\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"reduce\",\"section\":\"Sequence Primitives\",\"excerpt\":\"Reduces coll with f, optionally starting from init. Honors (reduced x) for early termination. Arity: 2-3 · Return: Reduces coll with f, optionally starting from\"},{\"slug\":\"stdlib\",\"anchor\":\"reduce-kv\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"reduce-kv\",\"section\":\"Sequence Primitives\",\"excerpt\":\"Reduces a map-like collection as (f acc key value) or a vector as (f acc index value). Honors (reduced x). Arity: 3 · Return: Reduces a map-like collection as (\"},{\"slug\":\"stdlib\",\"anchor\":\"concat\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"concat\",\"section\":\"Sequence Primitives\",\"excerpt\":\"Returns a lazy sequence concatenating the items of all collections. Arity: 0+ · Return: a lazy sequence concatenating the items of all collections · Evaluation:\"},{\"slug\":\"stdlib\",\"anchor\":\"list\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"list*\",\"section\":\"Sequence Primitives\",\"excerpt\":\"Returns a seq made by consing leading args onto the final seqable arg. Arity: 1+ · Return: a seq made by consing leading args onto the final seqable arg · Evalu\"},{\"slug\":\"stdlib\",\"anchor\":\"flatten\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"flatten\",\"section\":\"Sequence Primitives\",\"excerpt\":\"Recursively flattens nested iterables into a single lazy sequence. Strings are treated as scalars. Arity: 1 · Return: Recursively flattens nested iterables into\"},{\"slug\":\"stdlib\",\"anchor\":\"tree-seq\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"tree-seq\",\"section\":\"Sequence Primitives\",\"excerpt\":\"Returns a lazy preorder traversal of root, descending through (children node) when (branch? node) is truthy. Arity: 3 · Return: a lazy preorder traversal of roo\"},{\"slug\":\"stdlib\",\"anchor\":\"distinct\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"distinct\",\"section\":\"Sequence Primitives\",\"excerpt\":\"Returns a lazy sequence of unique items from coll, preserving order. With no args, returns the distinct transducer. Arity: 0-1 · Return: a lazy sequence of uniq\"},{\"slug\":\"stdlib\",\"anchor\":\"next\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"next\",\"section\":\"Sequence Primitives\",\"excerpt\":\"Returns a seq of the items after the first, or nil when there are none. Arity: 1 · Return: a seq of the items after the first, or nil when there are none · Eval\"}
29,{\"slug\":\"stdlib\",\"anchor\":\"nth\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"nth\",\"section\":\"Sequence Primitives\",\"excerpt\":\"Returns the item at index i. Throws on out-of-bounds unless not-found is provided. Arity: 2-3 · Return: the item at index i · Evaluation: eager · Effects: pure/\"},{\"slug\":\"stdlib\",\"anchor\":\"second\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"second\",\"section\":\"Sequence Primitives\",\"excerpt\":\"Returns the second item of coll, or nil. Arity: 1 · Return: the second item of coll, or nil · Evaluation: eager · Effects: pure/derived value · Host: portable s\"},{\"slug\":\"stdlib\",\"anchor\":\"count\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"count\",\"section\":\"Sequence Primitives\",\"excerpt\":\"Returns the number of items in coll. O(1) for arrays, strings, Set/Map, plain objects, and counted seqs; O(n) otherwise. Arity: 1 · Return: the number of items \"},{\"slug\":\"stdlib\",\"anchor\":\"last\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"last\",\"section\":\"Sequence Primitives\",\"excerpt\":\"Returns the last item of coll, or nil for empty colls. Arity: 1 · Return: the last item of coll, or nil for empty colls · Evaluation: eager · Effects: pure/deri\"},{\"slug\":\"stdlib\",\"anchor\":\"first\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"first\",\"section\":\"Sequence Primitives\",\"excerpt\":\"Returns the first item of coll, or nil for an empty/nil collection. Arity: 1 · Return: the first item of coll, or nil for an empty/nil collection · Evaluation: \"},{\"slug\":\"stdlib\",\"anchor\":\"rest\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"rest\",\"section\":\"Sequence Primitives\",\"excerpt\":\"Returns a sequence of all items after the first. Empty/nil collections return an empty sequence. Arity: 1 · Return: a sequence of all items after the first · Ev\"},{\"slug\":\"stdlib\",\"anchor\":\"cons\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"cons\",\"section\":\"Sequence Primitives\",\"excerpt\":\"Returns a sequence with x prepended to coll. Arity: 2 · Return: a sequence with x prepended to coll · Evaluation: eager · Effects: pure/derived value · Host: po\"},{\"slug\":\"stdlib\",\"anchor\":\"seq\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"seq\",\"section\":\"Sequence Primitives\",\"excerpt\":\"Returns a sequence over coll, or nil when coll is nil or empty. Arity: 1 · Return: a sequence over coll, or nil when coll is nil or empty · Evaluation: eager · \"},{\"slug\":\"stdlib\",\"anchor\":\"range\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"range\",\"section\":\"Sequence Primitives\",\"excerpt\":\"Returns a lazy numeric range. With no args, starts at 0; with one arg, returns 0 through end-1; with start/end/step, returns that stepped range. Arity: 0-3 · Re\"},{\"slug\":\"stdlib\",\"anchor\":\"sequence-operations\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"Sequence Operations\",\"section\":null,\"excerpt\":\"\"},{\"slug\":\"stdlib\",\"anchor\":\"map-indexed\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"map-indexed\",\"section\":\"Sequence Operations\",\"excerpt\":\"Returns a lazy sequence of (f index item) over coll. With only f, returns the map-indexed transducer. Arity: 1-2 · Return: a lazy sequence of (f index item) ove\"},{\"slug\":\"stdlib\",\"anchor\":\"keep-indexed\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"keep-indexed\",\"section\":\"Sequence Operations\",\"excerpt\":\"Like map-indexed but drops nil results. Returns a lazy sequence. With only f, returns the keep-indexed transducer. Arity: 1-2 · Return: Like map-indexed but dro\"},{\"slug\":\"stdlib\",\"anchor\":\"mapcat\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"mapcat\",\"section\":\"Sequence Operations\",\"excerpt\":\"Returns a lazy concatenation of mapped collections. With only f, returns the mapcat transducer. Arity: 1+ · Return: a lazy concatenation of mapped collections ·\"}
29,{\"slug\":\"stdlib\",\"anchor\":\"keep\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"keep\",\"section\":\"Sequence Operations\",\"excerpt\":\"Returns non-nil results of (f item) over coll. With only f, returns the keep transducer. Arity: 1-2 · Return: non-nil results of (f item) over coll · Evaluation\"},{\"slug\":\"stdlib\",\"anchor\":\"take-while\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"take-while\",\"section\":\"Sequence Operations\",\"excerpt\":\"Returns a lazy sequence of items from coll while (pred item) is truthy. With only pred, returns the take-while transducer. Arity: 1-2 · Return: a lazy sequence \"},{\"slug\":\"stdlib\",\"anchor\":\"drop-while\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"drop-while\",\"section\":\"Sequence Operations\",\"excerpt\":\"Returns a lazy sequence of items from coll starting at the first one where (pred item) is falsy. With only pred, returns the drop-while transducer. Arity: 1-2 ·\"}
29,{\"slug\":\"stdlib\",\"anchor\":\"split-with\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"split-with\",\"section\":\"Sequence Operations\",\"excerpt\":\"Returns [(take-while pred coll), (drop-while pred coll)] as a tuple of two realized arrays. Arity: 2 · Return: [(take-while pred coll), (drop-while pred coll)] \"},{\"slug\":\"stdlib\",\"anchor\":\"split-at\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"split-at\",\"section\":\"Sequence Operations\",\"excerpt\":\"Returns [(take n coll), (drop n coll)] as a tuple of two realized arrays. Arity: 2 · Return: [(take n coll), (drop n coll)] as a tuple of two realized arrays · \"},{\"slug\":\"stdlib\",\"anchor\":\"nthrest\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"nthrest\",\"section\":\"Sequence Operations\",\"excerpt\":\"Returns the seq after dropping n items from coll; returns nil for nil input. Arity: 2 · Return: the seq after dropping n items from coll; returns nil for nil in\"},{\"slug\":\"stdlib\",\"anchor\":\"nthnext\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"nthnext\",\"section\":\"Sequence Operations\",\"excerpt\":\"Returns (seq (nthrest coll n)), or nil when no items remain. Arity: 2 · Return: (seq (nthrest coll n)), or nil when no items remain · Evaluation: lazy · Effects\"},{\"slug\":\"stdlib\",\"anchor\":\"splitv-at\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"splitv-at\",\"section\":\"Sequence Operations\",\"excerpt\":\"Returns a persistent vector of two persistent vectors: (take n coll) and (drop n coll). Arity: 2 · Return: a persistent vector of two persistent vectors: (take \"},{\"slug\":\"stdlib\",\"anchor\":\"take-nth\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"take-nth\",\"section\":\"Sequence Operations\",\"excerpt\":\"Returns a lazy sequence of every nth item from coll. With only n, returns the take-nth transducer. Arity: 1-2 · Return: a lazy sequence of every nth item from c\"},{\"slug\":\"stdlib\",\"anchor\":\"reductions\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"reductions\",\"section\":\"Sequence Operations\",\"excerpt\":\"Returns a lazy sequence of intermediate values from a reduce over coll. With an init: (reductions f init coll); without: uses the first element. (reductions + [\"},{\"slug\":\"stdlib\",\"anchor\":\"interpose\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"interpose\",\"section\":\"Sequence Operations\",\"excerpt\":\"Returns a lazy sequence of coll with sep placed between each pair of elements. (interpose \\\"x\\\" [1, 2, 3]) ⇒ (1 \\\"x\\\" 2 \\\"x\\\" 3). With only sep, returns the interpose\"},{\"slug\":\"stdlib\",\"anchor\":\"interleave\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"interleave\",\"section\":\"Sequence Operations\",\"excerpt\":\"Returns a lazy sequence of the first item in each coll, then the second, etc. (interleave [1, 2, 3] [\\\"a\\\", \\\"b\\\", \\\"c\\\"]) ⇒ (1 \\\"a\\\" 2 \\\"b\\\" 3 \\\"c\\\"). Arity: 0+ · Return: \"},{\"slug\":\"stdlib\",\"anchor\":\"partition\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"partition\",\"section\":\"Sequence Operations\",\"excerpt\":\"Returns lazy chunks of n items from coll. Supports (partition n coll), (partition n step coll), and (partition n step pad coll). Arity: 2-4 · Return: lazy chunk\"},{\"slug\":\"stdlib\",\"anchor\":\"partition-all\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"partition-all\",\"section\":\"Sequence Operations\",\"excerpt\":\"Like partition but keeps the trailing incomplete group. With only n, returns the partition-all transducer. Arity: 1-2 · Return: Like partition but keeps the tra\"},{\"slug\":\"stdlib\",\"anchor\":\"partitionv\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"partitionv\",\"section\":\"Sequence Operations\",\"excerpt\":\"Like partition, but each emitted group is a persistent vector. Arity: 2 · Return: Like partition, but each emitted group is a persistent vector · Evaluation: ea\"},{\"slug\":\"stdlib\",\"anchor\":\"partitionv-all\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"partitionv-all\",\"section\":\"Sequence Operations\",\"excerpt\":\"Like partition-all, but each emitted group is a persistent vector. Arity: 2 · Return: Like partition-all, but each emitted group is a persistent vector · Evalua\"},{\"slug\":\"stdlib\",\"anchor\":\"partition-by\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"partition-by\",\"section\":\"Sequence Operations\",\"excerpt\":\"Returns a lazy sequence of runs from coll, splitting whenever (f item) changes. With only f, returns the partition-by transducer. Arity: 1-2 · Return: a lazy se\"},{\"slug\":\"stdlib\",\"anchor\":\"drop-last\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"drop-last\",\"section\":\"Sequence Operations\",\"excerpt\":\"Returns a lazy seq of all but the last n items of coll; n defaults to 1. Arity: 1-2 · Return: a lazy seq of all but the last n items of coll; n defaults to 1 · \"},{\"slug\":\"stdlib\",\"anchor\":\"take-last\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"take-last\",\"section\":\"Sequence Operations\",\"excerpt\":\"Returns a seq of the last n items of coll. Arity: 2 · Return: a seq of the last n items of coll · Evaluation: eager · Effects: pure/derived value · Host: portab\"},{\"slug\":\"stdlib\",\"anchor\":\"butlast\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"butlast\",\"section\":\"Sequence Operations\",\"excerpt\":\"Returns a seq of all but the last item of coll, or nil when there are fewer than two items. Arity: 1 · Return: a seq of all but the last item of coll, or nil wh\"},{\"slug\":\"stdlib\",\"anchor\":\"ffirst\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"ffirst\",\"section\":\"Sequence Operations\",\"excerpt\":\"Equivalent to (first (first coll)). Arity: 1 · Return: Equivalent to (first (first coll)) · Evaluation: eager · Effects: pure/derived value · Host: portable std\"},{\"slug\":\"stdlib\",\"anchor\":\"fnext\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"fnext\",\"section\":\"Sequence Operations\",\"excerpt\":\"Equivalent to (first (next coll)). Arity: 1 · Return: Equivalent to (first (next coll)) · Evaluation: eager · Effects: pure/derived value · Host: portable stdli\"},{\"slug\":\"stdlib\",\"anchor\":\"nfirst\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"nfirst\",\"section\":\"Sequence Operations\",\"excerpt\":\"Equivalent to (next (first coll)). Arity: 1 · Return: Equivalent to (next (first coll)) · Evaluation: eager · Effects: pure/derived value · Host: portable stdli\"},{\"slug\":\"stdlib\",\"anchor\":\"nnext\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"nnext\",\"section\":\"Sequence Operations\",\"excerpt\":\"Equivalent to (next (next coll)). Arity: 1 · Return: Equivalent to (next (next coll)) · Evaluation: eager · Effects: pure/derived value · Host: portable stdlib \"},{\"slug\":\"stdlib\",\"anchor\":\"predicates\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"Predicates\",\"section\":null,\"excerpt\":\"\"},{\"slug\":\"stdlib\",\"anchor\":\"empty\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"empty?\",\"section\":\"Predicates\",\"excerpt\":\"Returns true when coll has no items. Arity: 1 · Return: true when coll has no items · Evaluation: eager · Effects: pure/derived value · Host: portable stdlib · \"},{\"slug\":\"stdlib\",\"anchor\":\"some\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"some\",\"section\":\"Predicates\",\"excerpt\":\"Returns the first truthy (pred item) result from coll, or nil if none. Short-circuits. Arity: 2 · Return: the first truthy (pred item) result from coll, or nil \"},{\"slug\":\"stdlib\",\"anchor\":\"every\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"every?\",\"section\":\"Predicates\",\"excerpt\":\"Returns true when (pred item) is truthy for every item in coll. Empty collection returns true (vacuous). Short
29-circuits on first falsy. Arity: 2 · Return: true \"},{\"slug\":\"stdlib\",\"anchor\":\"not-any\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"not-any?\",\"section\":\"Predicates\",\"excerpt\":\"Returns true when (pred item) is falsy for every item in coll. The complement of some. Arity: 2 · Return: true when (pred item) is falsy for every item in coll \"},{\"slug\":\"stdlib\",\"anchor\":\"not-every\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"not-every?\",\"section\":\"Predicates\",\"excerpt\":\"Returns true when at least one item in coll makes (pred item) falsy. The complement of every. Arity: 2 · Return: true when at least one item in coll makes (pred\"},{\"slug\":\"stdlib\",\"anchor\":\"some\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"some?\",\"section\":\"Predicates\",\"excerpt\":\"Returns true when x is neither null nor undefined (0, false, \\\"\\\" all qualify as some). Arity: 1 · Return: true when x is neither null nor undefined (0, false, \\\"\\\"\"},{\"slug\":\"stdlib\",\"anchor\":\"any\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"any?\",\"section\":\"Predicates\",\"excerpt\":\"Returns true for any value, including nil. Arity: 1 · Return: true for any value, including nil · Evaluation: eager · Effects: pure/derived value · Host: portab\"},{\"slug\":\"stdlib\",\"anchor\":\"boolean\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"boolean\",\"section\":\"Predicates\",\"excerpt\":\"Returns false only for nil and false; true for every other value. Arity: 1 · Return: false only for nil and false; true for every other value · Evaluation: eage\"},{\"slug\":\"stdlib\",\"anchor\":\"associative\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"associative?\",\"section\":\"Predicates\",\"excerpt\":\"Returns true for map-like and vector-like collections. Arity: 1 · Return: true for map-like and vector-like collections · Evaluation: eager · Effects: pure/deri\"},{\"slug\":\"stdlib\",\"anchor\":\"coll\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"coll?\",\"section\":\"Predicates\",\"excerpt\":\"Returns true for HQL and JS collection values, excluding nil and strings. Arity: 1 · Return: true for HQL and JS collection values, excluding nil and strings · \"},{\"slug\":\"stdlib\",\"anchor\":\"counted\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"counted?\",\"section\":\"Predicates\",\"excerpt\":\"Returns true when count can be answered without walking a seq. Arity: 1 · Return: true when count can be answered without walking a seq · Evaluation: eager · Ef\"},{\"slug\":\"stdlib\",\"anchor\":\"seq\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"seq?\",\"section\":\"Predicates\",\"excerpt\":\"Returns true when x is an HQL seq value. Arity: 1 · Return: true when x is an HQL seq value · Evaluation: eager · Effects: pure/derived value · Host: portable s\"},{\"slug\":\"stdlib\",\"anchor\":\"seqable\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"seqable?\",\"section\":\"Predicates\",\"excerpt\":\"Returns true when x can be passed to seq. Arity: 1 · Return: true when x can be passed to seq · Evaluation: eager · Effects: pure/derived value · Host: portable\"},{\"slug\":\"stdlib\",\"anchor\":\"sequential\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"sequential?\",\"section\":\"Predicates\",\"excerpt\":\"Returns true for list/vector/seq-like collections. Arity: 1 · Return: true for list/vector/seq-like collections · Evaluation: eager · Effects: pure/derived valu\"},{\"slug\":\"stdlib\",\"anchor\":\"nil\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"nil?\",\"section\":\"Predicates\",\"excerpt\":\"Returns true when x is null or undefined. Arity: 1 · Return: true when x is null or undefined · Evaluation: eager · Effects: pure/derived value · Host: portable\"},{\"slug\":\"stdlib\",\"anchor\":\"null\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"null?\",\"section\":\"Predicates\",\"excerpt\":\"Returns true when x is exactly null. Arity: 1 · Return: true when x is exactly null · Evaluation: eager · Effects: pure/derived value · Host: portable stdlib · \"}
29,{\"slug\":\"stdlib\",\"anchor\":\"undefined\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"undefined?\",\"section\":\"Predicates\",\"excerpt\":\"Returns true when x is exactly undefined. Arity: 1 · Return: true when x is exactly undefined · Evaluation: eager · Effects: pure/derived value · Host: portable\"},{\"slug\":\"stdlib\",\"anchor\":\"defined\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"defined?\",\"section\":\"Predicates\",\"excerpt\":\"Returns true when x is not undefined. Arity: 1 · Return: true when x is not undefined · Evaluation: eager · Effects: pure/derived value · Host: portable stdlib \"},{\"slug\":\"stdlib\",\"anchor\":\"even\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"even?\",\"section\":\"Predicates\",\"excerpt\":\"Returns true when n is an even integer. Arity: 1 · Return: true when n is an even integer · Evaluation: eager · Effects: pure/derived value · Host: portable std\"},{\"slug\":\"stdlib\",\"anchor\":\"odd\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"odd?\",\"section\":\"Predicates\",\"excerpt\":\"Returns true when n is an odd integer. Arity: 1 · Return: true when n is an odd integer · Evaluation: eager · Effects: pure/derived value · Host: portable stdli\"},{\"slug\":\"stdlib\",\"anchor\":\"zero\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"zero?\",\"section\":\"Predicates\",\"excerpt\":\"Returns true when n equals 0. Arity: 1 · Return: true when n equals 0 · Evaluation: eager · Effects: pure/derived value · Host: portable stdlib · Throws: not do\"},{\"slug\":\"stdlib\",\"anchor\":\"pos\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"pos?\",\"section\":\"Predicates\",\"excerpt\":\"Returns true when n \u003e 0. Arity: 1 · Return: true when n \u003e 0 · Evaluation: eager · Effects: pure/derived value · Host: portable stdlib · Throws: not documented a\"},{\"slug\":\"stdlib\",\"anchor\":\"neg\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"neg?\",\"section\":\"Predicates\",\"excerpt\":\"Returns true when n \u003c 0. Arity: 1 · Return: true when n \u003c 0 · Evaluation: eager · Effects: pure/derived value · Host: portable stdlib · Throws: not documented a\"},{\"slug\":\"stdlib\",\"anchor\":\"nan\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"NaN?\",\"section\":\"Predicates\",\"excerpt\":\"Returns true when x is the JavaScript NaN value. Arity: 1 · Return: true when x is the JavaScript NaN value · Evaluation: eager · Effects: pure/derived value · \"},{\"slug\":\"stdlib\",\"anchor\":\"infinite\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"infinite?\",\"section\":\"Predicates\",\"excerpt\":\"Returns true when x is positive or negative infinity. Arity: 1 · Return: true when x is positive or negative infinity · Evaluation: eager · Effects: pure/derive\"},{\"slug\":\"stdlib\",\"anchor\":\"inst\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"inst?\",\"section\":\"Predicates\",\"excerpt\":\"Returns true when x is a JavaScript Date. Arity: 1 · Return: true when x is a JavaScript Date · Evaluation: eager · Effects: pure/derived value · Host: portable\"},{\"slug\":\"stdlib\",\"anchor\":\"inst-ms\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"inst-ms\",\"section\":\"Predicates\",\"excerpt\":\"Returns the epoch millisecond value of a Date. Arity: 1 · Return: the epoch millisecond value of a Date · Evaluation: eager · Effects: pure/derived value · Host\"},{\"slug\":\"stdlib\",\"anchor\":\"instance\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"instance?\",\"section\":\"Predicates\",\"excerpt\":\"Returns true when x is an instance of constructor cls. Arity: 2 · Return: true when x is an instance of constructor cls · Evaluation: eager · Effects: pure/deri\"},{\"slug\":\"stdlib\",\"anchor\":\"uri\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"uri?\",\"section\":\"Predicates\",\"excerpt\":\"Returns true when x is a JavaScript URL. Arity: 1 · Return: true when x is a JavaScript URL · Evaluation: eager · Effects: pure/derived value · Host: portable s\"},{\"slug\":\"stdlib\",\"anchor\":\"number\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"number?\",\"section\":\"Predicates\",\"excerpt\":\"Returns true when x is a number. Arity: 1 · Return: true when x is a number · Evaluation: eager · Effects: pure/derived value · Host: portable stdlib · Throws: \"},{\"slug\":\"stdlib\",\"anchor\":\"string\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"string?\",\"section\":\"Predicates\",\"excerpt\":\"Returns true when x is a string. Arity: 1 · Return: true when x is a string · Evaluation: eager · Effects: pure/derived value · Host: portable stdlib · Throws: \"}
29,{\"slug\":\"stdlib\",\"anchor\":\"boolean\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"boolean?\",\"section\":\"Predicates\",\"excerpt\":\"Returns true when x is a boolean. Arity: 1 · Return: true when x is a boolean · Evaluation: eager · Effects: pure/derived value · Host: portable stdlib · Throws\"},{\"slug\":\"stdlib\",\"anchor\":\"fn\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"fn?\",\"section\":\"Predicates\",\"excerpt\":\"Returns true when x is a function. Arity: 1 · Return: true when x is a function · Evaluation: eager · Effects: pure/derived value · Host: portable stdlib · Thro\"},{\"slug\":\"stdlib\",\"anchor\":\"ifn\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"ifn?\",\"section\":\"Predicates\",\"excerpt\":\"Returns true for values HQL can invoke directly as a function call. Arity: 1 · Return: true for values HQL can invoke directly as a function call · Evaluation: \"},{\"slug\":\"stdlib\",\"anchor\":\"array\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"array?\",\"section\":\"Predicates\",\"excerpt\":\"Returns true when x is a JavaScript array. Arity: 1 · Return: true when x is a JavaScript array · Evaluation: eager · Effects: pure/derived value · Host: portab\"},{\"slug\":\"stdlib\",\"anchor\":\"indexed\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"indexed?\",\"section\":\"Predicates\",\"excerpt\":\"Returns true for collections addressable by integer index in O(1). Arity: 1 · Return: true for collections addressable by integer index in O(1) · Evaluation: ea\"},{\"slug\":\"stdlib\",\"anchor\":\"object\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"object?\",\"section\":\"Predicates\",\"excerpt\":\"Returns true when x is a plain object (not nil, not an array). Arity: 1 · Return: true when x is a plain object (not nil, not an array) · Evaluation: eager · Ef\"},{\"slug\":\"stdlib\",\"anchor\":\"vector\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"vector\",\"section\":\"Predicates\",\"excerpt\":\"Returns an immutable HQL persistent vector with structural updates. Arity: 0+ · Return: an immutable HQL persistent vector with structural updates · Evaluation:\"},{\"slug\":\"stdlib\",\"anchor\":\"array-map\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"array-map\",\"section\":\"Predicates\",\"excerpt\":\"Returns a persistent map from alternating key/value arguments. Arity: 0+ · Return: a persistent map from alternating key/value arguments · Evaluation: eager · E\"},{\"slug\":\"stdlib\",\"anchor\":\"persistent-vector\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"persistent-vector?\",\"section\":\"Predicates\",\"excerpt\":\"Returns true when x is an HQL persistent vector. Arity: 1 · Return: true when x is an HQL persistent vector · Evaluation: eager · Effects: pure/derived value · \"},{\"slug\":\"stdlib\",\"anchor\":\"persistent-map\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"persistent-map?\",\"section\":\"Predicates\",\"excerpt\":\"Returns true when x is an HQL persistent map. Arity: 1 · Return: true when x is an HQL persistent map · Evaluation: eager · Effects: pure/derived value · Host: \"},{\"slug\":\"stdlib\",\"anchor\":\"persistent-set\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"persistent-set?\",\"section\":\"Predicates\",\"excerpt\":\"Returns true when x is an HQL persistent set. Arity: 1 · Return: true when x is an HQL persistent set · Evaluation: eager · Effects: pure/derived value · Host: \"},{\"slug\":\"stdlib\",\"anchor\":\"map-entry\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"map-entry?\",\"section\":\"Predicates\",\"excerpt\":\"Returns true for HQL map-entry shaped key/value pairs. Arity: 1 · Return: true for HQL map-entry shaped key/value pairs · Evaluation: eager · Effects: pure/deri\"}
29,{\"slug\":\"stdlib\",\"anchor\":\"to-js\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"to-js\",\"section\":\"Predicates\",\"excerpt\":\"Recursively converts HQL persistent collections to plain JavaScript arrays, objects, Maps, and Sets. Arity: 1 · Return: Recursively converts HQL persistent coll\"},{\"slug\":\"stdlib\",\"anchor\":\"from-js\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"from-js\",\"section\":\"Predicates\",\"excerpt\":\"Recursively converts JavaScript arrays and plain objects/Maps to HQL persistent collections. Arity: 1 · Return: Recursively converts JavaScript arrays and plain\"},{\"slug\":\"stdlib\",\"anchor\":\"delay\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"delay?\",\"section\":\"Predicates\",\"excerpt\":\"Returns true when x is a Delay returned by the delay macro. Arity: 1 · Return: true when x is a Delay returned by the delay macro · Evaluation: eager · Effects:\"},{\"slug\":\"stdlib\",\"anchor\":\"force\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"force\",\"section\":\"Predicates\",\"excerpt\":\"Forces evaluation of a Delay x (memoized). Returns non-Delay values unchanged. Arity: 1 · Return: Forces evaluation of a Delay x (memoized) · Evaluation: eager \"},{\"slug\":\"stdlib\",\"anchor\":\"realized\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"realized?\",\"section\":\"Predicates\",\"excerpt\":\"Returns true when coll is nil, a forced Delay, or a realized LazySeq; false otherwise. Arity: 1 · Return: true when coll is nil, a forced Delay, or a realized L\"},{\"slug\":\"stdlib\",\"anchor\":\"reduced\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"reduced?\",\"section\":\"Predicates\",\"excerpt\":\"Returns true when x is a reduced marker. Arity: 1 · Return: true when x is a reduced marker · Evaluation: eager · Effects: pure/derived value · Host: portable s\"},{\"slug\":\"stdlib\",\"anchor\":\"ensure-reduced\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"ensure-reduced\",\"section\":\"Predicates\",\"excerpt\":\"Returns x when it is already reduced, otherwise wraps it with reduced. Arity: 1 · Return: x when it is already reduced, otherwise wraps it with reduced · Evalua\"},{\"slug\":\"stdlib\",\"anchor\":\"unreduced\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"unreduced\",\"section\":\"Predicates\",\"excerpt\":\"Returns the value inside a reduced marker, or x unchanged when it is not reduced. Arity: 1 · Return: the value inside a reduced marker, or x unchanged when it i\"},{\"slug\":\"stdlib\",\"anchor\":\"math-comparison\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"Math \u0026 Comparison\",\"section\":null,\"excerpt\":\"\"},{\"slug\":\"stdlib\",\"anchor\":\"inc\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"inc\",\"section\":\"Math \u0026 Comparison\",\"excerpt\":\"Returns x + 1. Arity: 1 · Return: x + 1 · Evaluation: eager · Effects: pure/derived value · Host: portable stdlib · Throws: not documented as throwing Related: \"},{\"slug\":\"stdlib\",\"anchor\":\"dec\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"dec\",\"section\":\"Math \u0026 Comparison\",\"excerpt\":\"Returns x - 1. Arity: 1 · Return: x - 1 · Evaluation: eager · Effects: pure/derived value · Host: portable stdlib · Throws: not documented as throwing Related: \"},{\"slug\":\"stdlib\",\"anchor\":\"abs\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"abs\",\"section\":\"Math \u0026 Comparison\",\"excerpt\":\"Returns the absolute value of x. Arity: 1 · Return: the absolute value of x · Evaluation: eager · Effects: pure/derived value · Host: portable stdlib · Throws: \"},{\"slug\":\"stdlib\",\"anchor\":\"add\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"add\",\"section\":\"Math \u0026 Comparison\",\"excerpt\":\"Variadic addition. (add) ⇒ 0; (add x) ⇒ x; (add a b c ...) sums all args. Arity: 0+ · Return: Variadic addition · Evaluation: eager · Effects: pure/derived valu\"},{\"slug\":\"stdlib\",\"anchor\":\"sub\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"sub\",\"section\":\"Math \u0026 Comparison\",\"excerpt\":\"Variadic subtraction. (sub) ⇒ 0; (sub x) ⇒ -x; (sub a b c ...) is a - b - c - .... Arity: 0+ · Return: Variadic subtraction · Evaluation: eager · Effects: pure/\"},{\"slug\":\"stdlib\",\"anchor\":\"mul\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"mul\",\"section\":\"Math \u0026 Comparison\",\"excerpt\":\"Variadic multiplication. (mul) ⇒ 1; (mul x) ⇒ x; (mul a b c ...) multiplies all. Arity: 0+ · Return: Variadic multiplication · Evaluation: eager · Effects: pure\"},{\"slug\":\"stdlib\",\"anchor\":\"div\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"div\",\"section\":\"Math \u0026 Comparison\",\"excerpt\":\"Variadic division. (div) ⇒ 1; (div x) ⇒ 1/x; (div a b c ...) is a / b / c / .... Arity: 0+ · Return: Variadic division · Evaluation: eager · Effects: pure/deriv\"},{\"slug\":\"stdlib\",\"anchor\":\"mod\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"mod\",\"section\":\"Math \u0026 Comparison\",\"excerpt\":\"Returns a modulo b, floored so the result takes the sign of the divisor b (mathematical modulo). (mod -7 3) ⇒ 2;
29 (mod 7 -3) ⇒ -2. Use % for truncated remainder.\"},{\"slug\":\"stdlib\",\"anchor\":\"quot\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"quot\",\"section\":\"Math \u0026 Comparison\",\"excerpt\":\"Returns the integer quotient of a / b, truncated toward zero. Arity: 2 · Return: the integer quotient of a / b, truncated toward zero · Evaluation: eager · Effe\"},{\"slug\":\"stdlib\",\"anchor\":\"rem\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"rem\",\"section\":\"Math \u0026 Comparison\",\"excerpt\":\"Returns the remainder of a / b with the sign of a. Arity: 2 · Return: the remainder of a / b with the sign of a · Evaluation: eager · Effects: pure/derived valu\"},{\"slug\":\"stdlib\",\"anchor\":\"bit-and\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"bit-and\",\"section\":\"Math \u0026 Comparison\",\"excerpt\":\"Returns the bitwise AND of two or more numbers using HQL's JavaScript integer bit semantics. Arity: 2+ · Return: the bitwise AND of two or more numbers using HQ\"},{\"slug\":\"stdlib\",\"anchor\":\"bit-or\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"bit-or\",\"section\":\"Math \u0026 Comparison\",\"excerpt\":\"Returns the bitwise OR of two or more numbers using HQL's JavaScript integer bit semantics. Arity: 2+ · Return: the bitwise OR of two or more numbers using HQL'\"},{\"slug\":\"stdlib\",\"anchor\":\"bit-xor\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"bit-xor\",\"section\":\"Math \u0026 Comparison\",\"excerpt\":\"Returns the bitwise XOR of two or more numbers using HQL's JavaScript integer bit semantics. Arity: 2+ · Return: the bitwise XOR of two or more numbers using HQ\"},{\"slug\":\"stdlib\",\"anchor\":\"bit-not\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"bit-not\",\"section\":\"Math \u0026 Comparison\",\"excerpt\":\"Returns the bitwise complement of x. Arity: 1 · Return: the bitwise complement of x · Evaluation: eager · Effects: pure/derived value · Host: portable stdlib · \"},{\"slug\":\"stdlib\",\"anchor\":\"bit-and-not\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"bit-and-not\",\"section\":\"Math \u0026 Comparison\",\"excerpt\":\"Clears all bits from x that are set in the remaining arguments. Arity: 2+ · Return: Clears all bits from x that are set in the remaining arguments · Evaluation:\"},{\"slug\":\"stdlib\",\"anchor\":\"bit-clear\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"bit-clear\",\"section\":\"Math \u0026 Comparison\",\"excerpt\":\"Returns x with bit n cleared. Arity: 2 · Return: x with bit n cleared · Evaluation: eager · Effects: pure/derived value · Host: portable stdlib · Throws: not do\"},{\"slug\":\"stdlib\",\"anchor\":\"bit-flip\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"bit-flip\",\"section\":\"Math \u0026 Comparison\",\"excerpt\":\"Returns x with bit n flipped. Arity: 2 · Return: x with bit n flipped · Evaluation: eager · Effects: pure/derived value · Host: portable stdlib · Throws: not do\"},{\"slug\":\"stdlib\",\"anchor\":\"bit-set\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"bit-set\",\"section\":\"Math \u0026 Comparison\",\"excerpt\":\"Returns x with bit n set. Arity: 2 · Return: x with bit n set · Evaluation: eager · Effects: pure/derived value · Host: portable stdlib · Throws: not documented\"},{\"slug\":\"stdlib\",\"anchor\":\"bit-test\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"bit-test\",\"section\":\"Math \u0026 Comparison\",\"excerpt\":\"Returns true when bit n is set in x. Arity: 2 · Return: true when bit n is set in x · Evaluation: eager · Effects: pure/derived value · Host: portable stdlib · \"},{\"slug\":\"stdlib\",\"anchor\":\"bit-shift-left\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"bit-shift-left\",\"section\":\"Math \u0026 Comparison\",\"excerpt\":\"Returns x shifted left by n bits. Arity: 2 · Return: x shifted left by n bits · Evaluation: eager · Effects: pure/derived value · Host: portable stdlib · Throws\"},{\"slug\":\"stdlib\",\"anchor\":\"bit-shift-right\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"bit-shift-right\",\"section\":\"Math \u0026 Comparison\",\"excerpt\":\"Returns x shifted right by n bits, preserving sign. Arity: 2 · Return: x shifted right by n bits, preserving sign · Evaluation: eager · Effects: pure/derived va\"},{\"slug\":\"stdlib\",\"anchor\":\"unsigned-bit-shift-right\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"unsigned-bit-shift-right\",\"section\":\"Math \u0026 Comparison\",\"excerpt\":\"Returns x shifted right by n bits, zero-filling from the left. Arity: 2 · Return: x shifted right by n bits, zero-filling from the left · Evaluation: eager · Ef\"},{\"slug\":\"stdlib\",\"anchor\":\"rand\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"rand\",\"section\":\"Math \u0026 Comparison\",\"excerpt\":\"Returns a random floating-point number between 0 and 1, or between 0 and n. Arity: 0-1 · Return: a random floating-point number between 0 and 1, or between 0 an\"},{\"slug\":\"stdlib\",\"anchor\":\"rand-int\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"rand-int\",\"section\":\"Math \u0026 Comparison\",\"excerpt\":\"Returns a random integer between 0 inclusive and n exclusive, truncated toward zero. Arity: 1 · Return: a random integer between 0 inclusive and n exclusive, tr\"}
29,{\"slug\":\"stdlib\",\"anchor\":\"rand-nth\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"rand-nth\",\"section\":\"Math \u0026 Comparison\",\"excerpt\":\"Returns a random item from coll, or nil for nil. Arity: 1 · Return: a random item from coll, or nil for nil · Evaluation: eager · Effects: nondeterministic · Ho\"},{\"slug\":\"stdlib\",\"anchor\":\"random-sample\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"random-sample\",\"section\":\"Math \u0026 Comparison\",\"excerpt\":\"Returns a lazy seq of items from coll selected with probability prob. Arity: 2 · Return: a lazy seq of items from coll selected with probability prob · Evaluati\"},{\"slug\":\"stdlib\",\"anchor\":\"parse-boolean\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"parse-boolean\",\"section\":\"Math \u0026 Comparison\",\"excerpt\":\"Parses \\\"true\\\" to true, \\\"false\\\" to false, and returns nil otherwise. Arity: 1 · Return: Parses \\\"true\\\" to true, \\\"false\\\" to false, and returns nil otherwise · Eval\"},{\"slug\":\"stdlib\",\"anchor\":\"parse-long\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"parse-long\",\"section\":\"Math \u0026 Comparison\",\"excerpt\":\"Parses a base-10 integer string, returning nil when the whole string is not an integer. Arity: 1 · Return: Parses a base-10 integer string, returning nil when t\"},{\"slug\":\"stdlib\",\"anchor\":\"parse-double\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"parse-double\",\"section\":\"Math \u0026 Comparison\",\"excerpt\":\"Parses a floating-point string, returning nil when the whole string is not a number. Arity: 1 · Return: Parses a floating-point string, returning nil when the w\"},{\"slug\":\"stdlib\",\"anchor\":\"not\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"not=\",\"section\":\"Math \u0026 Comparison\",\"excerpt\":\"Returns true when not all arguments are structurally equal. Arity: 1+ · Return: true when not all arguments are structurally equal · Evaluation: eager · Effects\"},{\"slug\":\"stdlib\",\"anchor\":\"compare\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"compare\",\"section\":\"Math \u0026 Comparison\",\"excerpt\":\"Returns -1, 0, or 1 using Clojure-style ordering for nil, comparable scalar values, keywords, symbols, UUIDs, and vectors. Arity: 2 · Return: -1, 0, or 1 using \"},{\"slug\":\"stdlib\",\"anchor\":\"comparator\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"comparator\",\"section\":\"Math \u0026 Comparison\",\"excerpt\":\"Returns a comparator from a binary predicate. Arity: 1 · Return: a comparator from a binary predicate · Evaluation: eager · Effects: pure/derived value · Host: \"},{\"slug\":\"stdlib\",\"anchor\":\"sorted\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"sorted?\",\"section\":\"Math \u0026 Comparison\",\"excerpt\":\"Returns true when coll is an HQL sorted map or sorted set. Arity: 1 · Return: true when coll is an HQL sorted map or sorted set · Evaluation: eager · Effects: p\"},{\"slug\":\"stdlib\",\"anchor\":\"sorted-map-by\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"sorted-map-by\",\"section\":\"Math \u0026 Comparison\",\"excerpt\":\"Returns an HQL sorted map ordered by comparator cmp. Arity: 1+ · Return: an HQL sorted map ordered by comparator cmp · Evaluation: eager · Effects: pure/derived\"},{\"slug\":\"stdlib\",\"anchor\":\"sorted-map\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"sorted-map\",\"section\":\"Math \u0026 Comparison\",\"excerpt\":\"Returns an HQL sorted map ordered by compare. Arity: 0+ · Return: an HQL sorted map ordered by compare · Evaluation: eager · Effects: pure/derived value · Host:\"},{\"slug\":\"stdlib\",\"anchor\":\"sorted-set-by\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"sorted-set-by\",\"section\":\"Math \u0026 Comparison\",\"excerpt\":\"Returns an HQL sorted set ordered by comparator cmp. Arity: 1+ · Return: an HQL sorted set ordered by comparator cmp · Evaluation: eager · Effects: pure/derived\"},{\"slug\":\"stdlib\",\"anchor\":\"sorted-set\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"sorted-set\",\"section\":\"Math \u0026 Comparison\",\"excerpt\":\"Returns an HQL sorted set ordered by compare. Arity: 0+ · Return: an HQL sorted set ordered by compare · Evaluation: eager · Effects: pure/derived value · Host:\"},{\"slug\":\"stdlib\",\"anchor\":\"subseq\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"subseq\",\"section\":\"Math \u0026 Comparison\",\"excerpt\":\"Returns a seq of sorted collection items satisfying the supplied boun
29d(s). Arity: 3-5 · Return: a seq of sorted collection items satisfying the supplied bound(s\"},{\"slug\":\"stdlib\",\"anchor\":\"rsubseq\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"rsubseq\",\"section\":\"Math \u0026 Comparison\",\"excerpt\":\"Returns a reverse seq of sorted collection items satisfying the supplied bound(s). Arity: 3-5 · Return: a reverse seq of sorted collection items satisfying the \"},{\"slug\":\"stdlib\",\"anchor\":\"symbols-generators\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"Symbols \u0026 Generators\",\"section\":null,\"excerpt\":\"\"},{\"slug\":\"stdlib\",\"anchor\":\"symbol\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"symbol\",\"section\":\"Symbols \u0026 Generators\",\"excerpt\":\"Constructs an HQL symbol object from name, or from namespace and name. Arity: 1-2 · Return: Constructs an HQL symbol object from name, or from namespace and nam\"},{\"slug\":\"stdlib\",\"anchor\":\"gensym\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"gensym\",\"section\":\"Symbols \u0026 Generators\",\"excerpt\":\"Returns a fresh HQL symbol. (gensym) uses the G prefix; (gensym prefix) stringifies prefix. Arity: 0-1 · Return: a fresh HQL symbol · Evaluation: eager · Effect\"},{\"slug\":\"stdlib\",\"anchor\":\"keyword\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"keyword\",\"section\":\"Symbols \u0026 Generators\",\"excerpt\":\"Constructs an interned HQL keyword value from name, or from namespace and name. Arity: 1-2 · Return: Constructs an interned HQL keyword value from name, or from\"},{\"slug\":\"stdlib\",\"anchor\":\"find-keyword\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"find-keyword\",\"section\":\"Symbols \u0026 Generators\",\"excerpt\":\"Returns an already-interned HQL keyword for name or namespace/name, or nil. Arity: 1-2 · Return: an already-interned HQL keyword for name or namespace/name, or \"},{\"slug\":\"stdlib\",\"anchor\":\"parse-uuid\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"parse-uuid\",\"section\":\"Symbols \u0026 Generators\",\"excerpt\":\"Parses a UUID string into an HQL UUID value, or nil when parsing fails. Arity: 1 · Return: Parses a UUID string into an HQL UUID value, or nil when parsing fail\"},{\"slug\":\"stdlib\",\"anchor\":\"random-uuid\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"random-uuid\",\"section\":\"Symbols \u0026 Generators\",\"excerpt\":\"Returns a pseudo-random v4 HQL UUID value. Arity: 0 · Return: a pseudo-random v4 HQL UUID value · Evaluation: eager · Effects: nondeterministic · Host: portable\"},{\"slug\":\"stdlib\",\"anchor\":\"uuid\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"uuid?\",\"section\":\"Symbols \u0026 Generators\",\"excerpt\":\"Returns true when x is an HQL UUID value. Arity: 1 · Return: true when x is an HQL UUID value · Evaluation: eager · Effects: pure/derived value · Host: portable\"},{\"slug\":\"stdlib\",\"anchor\":\"name\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"name\",\"section\":\"Symbols \u0026 Generators\",\"excerpt\":\"Returns the name part of a symbol or keyword; returns strings unchanged and nil for nil. Arity: 1 · Return: the name part of a symbol or keyword; returns string\"},{\"slug\":\"stdlib\",\"anchor\":\"pr-str\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"pr-str\",\"section\":\"Symbols \u0026 Generators\",\"excerpt\":\"Returns a readable HQL data string. HQL code data and persistent collections print in canonical HQL syntax; native JS collections keep JS-style rendering. Arity\"},{\"slug\":\"stdlib\",\"anchor\":\"hash\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"hash\",\"section\":\"Symbols \u0026 Generators\",\"excerpt\":\"Returns a deterministic structural hash code for HQL values. Arity: 1 · Return: a deterministic structural hash code for HQL values · Evaluation: eager · Effect\"},{\"slug\":\"stdlib\",\"anchor\":\"read-string\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"read-string\",\"section\":\"Symbols \u0026 Generators\",\"excerpt\":\"Reads one canonical HQL data value from string s, producing the same S-expression object shape as quote. Arity: 1 · Return: Reads one canonical HQL data value f\"},{\"slug\":\"stdlib\",\"anchor\":\"print-str\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"print-str\",\"section\":\"Symbols \u0026 Generators\",\"excerpt\":\"Returns the space-separated str rendering of xs. Arity: 0+ · Return: the space-separated str rendering of xs · Evaluation: eager · Effects: pure/derived value ·\"},{\"slug\":\"stdlib\",\"anchor\":\"println-str\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"println-str\",\"section\":\"Symbols \u0026 Generators\",\"excerpt\":\"Returns (print-str ...xs) followed by a newline. Arity: 0+ · Return: (print-str ...xs) followed by a newline · Evaluation: eager · Effects: pure/derived value ·\"},{\"slug\":\"stdlib\",\"anchor\":\"prn-str\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"prn-str\",\"section\":\"Symbols \u0026 Generators\",\"excerpt\":\"Returns the space-separated pr-str rendering of xs followed by a newline. Arity: 0+ · Return: the space-separated pr-str rendering of xs followed by a newline ·\"},{\"slug\":\"stdlib\",\"anchor\":\"pr\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"pr\",\"section\":\"Symbols \u0026 Generators\",\"excerpt\":\"Prints the pr-str rendering of xs without a trailing newline and returns nil. Arity: 0+ · Return: Prints the pr-str rendering of xs without a trailing newline a\"},{\"slug\":\"stdlib\",\"anchor\":\"prn\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"prn\",\"section\":\"Symbols \u0026 Generators\",\"excerpt\":\"Prints the pr-str rendering of xs followed by a newline and returns nil. Arity: 0+ · Return: Prints the pr-str rendering of xs followed by a newline and returns\"},{\"slug\":\"stdlib\",\"anchor\":\"ex-info\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"ex-info\",\"section\":\"Symbols \u0026 Generators\",\"excerpt\":\"Returns an Error carrying message, data, and optional cause. Arity: 2-3 · Return: an Error carrying message, data, and optional cause · Evaluation: eager · Effe\"},{\"slug\":\"stdlib\",\"anchor\":\"ex-message\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"ex-message\",\"section\":\"Symbols \u0026 Generators\",\"excerpt\":\"Returns the message from an exception value. Arity: 1 · Return: the message from an exception value · Evaluation: eager · Effects: pure/derived value · Host: po\"},{\"slug\":\"stdlib\",\"anchor\":\"ex-data\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"ex-data\",\"section\":\"Symbols \u0026 Generators\",\"excerpt\":\"Returns data attached by ex-info, or nil when absent. Arity: 1 · Return: data attached by ex-info, or nil when absent · Evaluation: eager · Effects: pure/derive\"},{\"slug\":\"stdlib\",\"anchor\":\"ex-cause\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"ex-cause\",\"section\":\"Symbols \u0026 Generators\",\"excerpt\":\"Returns the cause attached by ex-info, or nil when absent. Arity: 1 · Return: the cause attached by ex-info, or nil when absent · Evaluation: eager · Effects: p\"},{\"slug\":\"stdlib\",\"anchor\":\"repeat\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"repeat\",\"section\":\"Symbols \u0026 Generators\",\"excerpt\":\"Returns a lazy sequence of repeated values. (repeat x) is infinite — bound it with take; (repeat n x) yields n copies of x. Arity: 1-2 · Return: a lazy sequence\"},{\"slug\":\"stdlib\",\"anchor\":\"replicate\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"replicate\",\"section\":\"Symbols \u0026 Generators\",\"excerpt\":\"Returns a lazy sequence of n copies of x. Arity: 2 · Return: a lazy sequence of n copies of x · Evaluation: lazy · Effects: pure/derived value · Host: portable \"},{\"slug\":\"stdlib\",\"anchor\":\"repeatedly\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"repeatedly\",\"section\":\"Symbols \u0026 Generators\",\"excerpt\":\"Returns a lazy sequence of (f) calls. (repeatedly f) is infinite; (repeatedly n f) yields n calls. Arity: 1-2 · Return: a lazy sequence of (f) calls · Evaluatio\"},{\"slug\":\"stdlib\",\"anchor\":\"cycle\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"cycle\",\"section\":\"Symbols \u0026 Generators\",\"excerpt\":\"Returns a lazy infinite sequence that repeats coll over and over. Use (take n (cycle coll)) to bound. Arity: 1 · Return: a lazy infinite sequence that repeats c\"},{\"slug\":\"stdlib\",\"anchor\":\"iterate\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"iterate\",\"section\":\"Symbols \u0026 Generators\",\"excerpt\":\"Returns the lazy infinite sequence x, (f x), (f (f x)), .... Arity: 2 · Return: the lazy infinite sequence x, (f x), (f (f x)), ... · Evaluation: lazy · Effects\"},{\"slug\":\"stdlib\",\"anchor\":\"iteration\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"iteration\",\"section\":\"Symbols \u0026 Generators\",\"excerpt\":\"Returns a lazy sequence by repeatedly calling step with a continuation key. Options: 
29:initk, :somef, :vf, :kf. Arity: 1+ · Return: a lazy sequence by repeatedly\"},{\"slug\":\"stdlib\",\"anchor\":\"map-operations\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"Map Operations\",\"section\":null,\"excerpt\":\"\"},{\"slug\":\"stdlib\",\"anchor\":\"keys\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"keys\",\"section\":\"Map Operations\",\"excerpt\":\"Returns a seq of the keys of map/object m. Arity: 1 · Return: a seq of the keys of map/object m · Evaluation: eager · Effects: pure/derived value · Host: portab\"},{\"slug\":\"stdlib\",\"anchor\":\"group-by\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"group-by\",\"section\":\"Map Operations\",\"excerpt\":\"Returns a persistent map of (f item) -\u003e vector of items. Arity: 2 · Return: a persistent map of (f item) -\u003e vector of items · Evaluation: eager · Effects: pure/\"},{\"slug\":\"stdlib\",\"anchor\":\"reverse\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"reverse\",\"section\":\"Map Operations\",\"excerpt\":\"Returns a sequence of coll in reverse order. Arity: 1 · Return: a sequence of coll in reverse order · Evaluation: eager · Effects: pure/derived value · Host: po\"},{\"slug\":\"stdlib\",\"anchor\":\"reversible\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"reversible?\",\"section\":\"Map Operations\",\"excerpt\":\"Returns true when x supports efficient reverse sequence access. Arity: 1 · Return: true when x supports efficient reverse sequence access · Evaluation: eager · \"},{\"slug\":\"stdlib\",\"anchor\":\"rseq\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"rseq\",\"section\":\"Map Operations\",\"excerpt\":\"Returns a reverse seq over a vector-like collection, or nil when it is empty. Arity: 1 · Return: a reverse seq over a vector-like collection, or nil when it is \"},{\"slug\":\"stdlib\",\"anchor\":\"identity\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"identity\",\"section\":\"Map Operations\",\"excerpt\":\"Returns its argument unchanged. Useful as a default mapper or predicate. Arity: 1 · Return: its argument unchanged · Evaluation: eager · Effects: pure/derived v\"},{\"slug\":\"stdlib\",\"anchor\":\"freeze\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"freeze\",\"section\":\"Map Operations\",\"excerpt\":\"Recursively freezes x in place (deep Object.freeze) and returns the same reference; frozen collections reject mutation (throwing in strict mode). Lazy sequences\"},{\"slug\":\"stdlib\",\"anchor\":\"constantly\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"constantly\",\"section\":\"Map Operations\",\"excerpt\":\"Returns a function that ignores its arguments and always returns x. Arity: 1 · Return: a function that ignores its arguments and always returns x · Evaluation: \"},{\"slug\":\"stdlib\",\"anchor\":\"vals\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"vals\",\"section\":\"Map Operations\",\"excerpt\":\"Returns a seq of the values of map/object m. Arity: 1 · Return: a seq of the values of map/object m · Evaluation: eager · Effects: pure/derived value · Host: po\"},{\"slug\":\"stdlib\",\"anchor\":\"key\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"key\",\"section\":\"Map Operations\",\"excerpt\":\"Returns the key from a map entry. Arity: 1 · Return: the key from a map entry · Evaluation: eager · Effects: pure/derived value · Host: portable stdlib · Throws\"},{\"slug\":\"stdlib\",\"anchor\":\"val\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"val\",\"section\":\"Map Operations\",\"excerpt\":\"Returns the value from a map entry. Arity: 1 · Return: the value from a map entry · Evaluation: eager · Effects: pure/derived value · Host: portable stdlib · Th\"},{\"slug\":\"stdlib\",\"anchor\":\"update-keys\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"update-keys\",\"section\":\"Map Operations\",\"excerpt\":\"Returns a map with every key transformed by f. Arity: 2 · Return: a map with every key transformed by f · Evaluation: eager · Effects: pure/derived value · Host\"},{\"slug\":\"stdlib\",\"anchor\":\"update-vals\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"update-vals\",\"section\":\"Map Operations\",\"excerpt\":\"Returns a map with every value transformed by f. Arity: 2 · Return: a map with every value transformed by f · Evaluation: eager · Effects: pure/derived value · \"},{\"slug\":\"stdlib\",\"anchor\":\"juxt\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"juxt\",\"section\":\"Map Operations\",\"excerpt\":\"Returns a function applying each fn in turn to its args. ((juxt f g h) x) returns [(f x), (g x), (h x)]. Arity: 0+ · Return: a function applying each fn in turn\"}
29,{\"slug\":\"stdlib\",\"anchor\":\"zipmap\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"zipmap\",\"section\":\"Map Operations\",\"excerpt\":\"Returns a persistent map zipping each key in ks with the value at the same position in vs. Arity: 2 · Return: a persistent map zipping each key in ks with the v\"},{\"slug\":\"stdlib\",\"anchor\":\"get\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"get\",\"section\":\"Map Operations\",\"excerpt\":\"Looks up key in m. Returns not-found (or nil) when absent. Arity: 2-3 · Return: Looks up key in m · Evaluation: eager · Effects: pure/derived value · Host: port\"},{\"slug\":\"stdlib\",\"anchor\":\"get-in\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"get-in\",\"section\":\"Map Operations\",\"excerpt\":\"Looks up a nested value by walking path (a vector of keys). Returns not-found (or nil) when any step is missing. Arity: 2-3 · Return: Looks up a nested value b
29y\"},{\"slug\":\"stdlib\",\"anchor\":\"assoc\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"assoc\",\"section\":\"Map Operations\",\"excerpt\":\"Returns a new map/vector with key(s) set to value(s). Persistent vectors require an integer index from zero through count. JS-native arrays retain JS property s\"},{\"slug\":\"stdlib\",\"anchor\":\"assoc-in\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"assoc-in\",\"section\":\"Map Operations\",\"excerpt\":\"Returns a new map with the nested value at path set to value. Intermediate maps are created as needed. Arity: 3 · Return: a new map with the nested value at pat\"},{\"slug\":\"stdlib\",\"anchor\":\"dissoc\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"dissoc\",\"section\":\"Map Operations\",\"excerpt\":\"Returns a new map with the given keys removed. Maps and plain objects only — arrays are rejected: deleting an index would leave a silent hole (count unchanged, \"},{\"slug\":\"stdlib\",\"anchor\":\"update\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"update\",\"section\":\"Map Operations\",\"excerpt\":\"Returns a new map with key set to (f (get m key) ...args). Arity: 3+ · Return: a new map with key set to (f (get m key) ...args) · Evaluation: eager · Effects: \"},{\"slug\":\"stdlib\",\"anchor\":\"update-in\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"update-in\",\"section\":\"Map Operations\",\"excerpt\":\"Returns a new map with the nested value at path set to (f (get-in m path) ...args). Arity: 3+ · Return: a new map with the nested value at path set to (f (get-i\"},{\"slug\":\"stdlib\",\"anchor\":\"find\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"find\",\"section\":\"Map Operations\",\"excerpt\":\"Returns [key value] when key is present in m, otherwise nil. Arity: 2 · Return: [key value] when key is present in m, otherwise nil · Evaluation: eager · Effect\"},{\"slug\":\"stdlib\",\"anchor\":\"managed-state\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"Managed State\",\"section\":null,\"excerpt\":\"\"},{\"slug\":\"stdlib\",\"anchor\":\"atom\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"atom\",\"section\":\"Managed State\",\"excerpt\":\"Returns a synchronous mutable reference whose contained value is read with deref and changed with reset! or swap!. Arity: 1 · Return: a synchronous mutable refe\"},{\"slug\":\"stdlib\",\"anchor\":\"atom\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"atom?\",\"section\":\"Managed State\",\"excerpt\":\"Returns true when x is an HQL atom. Arity: 1 · Return: true when x is an HQL atom · Evaluation: eager · Effects: pure/derived value · Host: portable stdlib · Th\"},{\"slug\":\"stdlib\",\"anchor\":\"volatile\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"volatile!\",\"section\":\"Managed State\",\"excerpt\":\"Returns a mutable volatile reference whose value is read with deref and changed with vreset! or vswap!. Arity: 1 · Return: a mutable volatile reference whose va\"},{\"slug\":\"stdlib\",\"anchor\":\"volatile\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"volatile?\",\"section\":\"Managed State\",\"excerpt\":\"Returns true when x is a volatile reference. Arity: 1 · Return: true when x is a volatile reference · Evaluation: eager · Effects: pure/derived value · Host: po\"},{\"slug\":\"stdlib\",\"anchor\":\"deref\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"deref\",\"section\":\"Managed State\",\"excerpt\":\"Returns the current value of an atom/volatile or the realized value of a delay/reduced marker. Arity: 1 · Return: the current value of an atom/volatile or the r\"},{\"slug\":\"stdlib\",\"anchor\":\"vreset\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"vreset!\",\"section\":\"Managed State\",\"excerpt\":\"Sets volatile ref to value and returns value. Arity: 2 · Return: Sets volatile ref to value and returns value · Evaluation: eager · Effects: stateful · Host: po\"},{\"slug\":\"stdlib\",\"anchor\":\"vswap\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"vswap!\",\"section\":\"Managed State\",\"excerpt\":\"Sets volatile ref to (f (deref ref) ...args) and returns the new value. Arity: 2+ · Return: Sets volatile ref to (f (deref ref) ...args) and returns the new val\"},{\"slug\":\"stdlib\",\"anchor\":\"reset\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"reset!\",\"section\":\"Managed State\",\"excerpt\":\"Sets atom ref to value, notifies watches, and returns value. Arity: 2 · Return: Sets atom ref to value, notifies watches, and returns value · Evaluation: eager \"},{\"slug\":\"stdlib\",\"anchor\":\"swap\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"swap!\",\"section\":\"Managed State\",\"excerpt\":\"Sets atom ref to (f (deref ref) ...args) and returns the new value. Arity: 2+ · Return: Sets atom ref to (f (deref ref) ...args) and returns the new value · Eva\"},{\"slug\":\"stdlib\",\"anchor\":\"reset-vals\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"reset-vals!\",\"section\":\"Managed State\",\"excerpt\":\"Sets atom ref to value and returns [old-value new-value]. Arity: 2 · Return: Sets atom ref to value and returns [old-value new-value] · Evaluation: eager · Effe\"},{\"slug\":\"stdlib\",\"anchor\":\"swap-vals\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"swap-vals!\",\"section\":\"Managed State\",\"excerpt\":\"Sets atom ref to (f (deref ref) ...args) and returns [old-value new-value]. Arity: 2+ · Return: Sets atom ref to (f (deref ref) ...args) and returns [old-value \"},{\"slug\":\"stdlib\",\"anchor\":\"compare-and-set\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"compare-and-set!\",\"section\":\"Managed State\",\"excerpt\":\"If atom ref currently contains old-value by identity, set
29s it to new-value and returns true; otherwise returns false. Arity: 3 · Return: If atom ref currently c\"},{\"slug\":\"stdlib\",\"anchor\":\"add-watch\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"add-watch\",\"section\":\"Managed State\",\"excerpt\":\"Registers watch function f under key. Watches receive [key ref old-value new-value] after reset/swap. Arity: 3 · Return: Registers watch function f under key · \"},{\"slug\":\"stdlib\",\"anchor\":\"remove-watch\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"remove-watch\",\"section\":\"Managed State\",\"excerpt\":\"Removes the watch registered under key and returns ref. Arity: 2 · Return: Removes the watch registered under key and returns ref · Evaluation: eager · Effects:\"},{\"slug\":\"stdlib\",\"anchor\":\"open-polymorphism\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"Open Polymorphism\",\"section\":null,\"excerpt\":\"\"},{\"slug\":\"stdlib\",\"anchor\":\"dispatch-key\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"dispatch-key\",\"section\":\"Open Polymorphism\",\"excerpt\":\"Normalizes open-dispatch keys. Keywords retain their printed qualified name; other keys stay unchanged. Arity: 1 · Return: Normalizes open-dispatch keys · Evalu\"},{\"slug\":\"stdlib\",\"anchor\":\"dispatch-type\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"dispatch-type\",\"section\":\"Open Polymorphism\",\"excerpt\":\"Returns the default open-polymorphism dispatch key for x: :type/\\\"type\\\" when present, then constructor, then JavaScript typeof. Arity: 1 · Return: the default op\"},{\"slug\":\"stdlib\",\"anchor\":\"multi\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"multi\",\"section\":\"Open Polymorphism\",\"excerpt\":\"Returns an open dispatcher function. Register handlers with method!; call it directly or with call-method. Arity: 1 · Return: an open dispatcher function · Eval\"},{\"slug\":\"stdlib\",\"anchor\":\"multi\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"multi?\",\"section\":\"Open Polymorphism\",\"excerpt\":\"Returns true when x is an HQL multi dispatcher. Arity: 1 · Return: true when x is an HQL multi dispatcher · Evaluation: eager · Effects: pure/derived value · Ho\"},{\"slug\":\"stdlib\",\"anchor\":\"method\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"method!\",\"section\":\"Open Polymorphism\",\"excerpt\":\"Registers f as the handler for dispatch key on multi dispatcher m and returns m. Arity: 3 · Return: Registers f as the handler for dispatch key on multi dispatc\"},{\"slug\":\"stdlib\",\"anchor\":\"call-method\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"call-method\",\"section\":\"Open Polymorphism\",\"excerpt\":\"Calls the method registered for ((dispatch m) x), passing x and remaining args to the handler. Arity: 2+ · Return: Calls the method registered for ((dispatch m)\"},{\"slug\":\"stdlib\",\"anchor\":\"get-method\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"get-method\",\"section\":\"Open Polymorphism\",\"excerpt\":\"Returns the best method registered for dispatch key, or nil. Arity: 2 · Return: the best method registered for dispatch key, or nil · Evaluation: eager · Effect\"},{\"slug\":\"stdlib\",\"anchor\":\"methods\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"methods\",\"section\":\"Open Polymorphism\",\"excerpt\":\"Returns a persistent map of dispatch keys to methods. Arity: 1 · Return: a persistent map of dispatch keys to methods · Evaluation: eager · Effects: pure/derive\"},{\"slug\":\"stdlib\",\"anchor\":\"remove-method\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"remove-method\",\"section\":\"Open Polymorphism\",\"excerpt\":\"Removes the method registered for dispatch key and returns the dispatcher. Arity: 2 · Return: Removes the method registered for dispatch key and returns the dis\"},{\"slug\":\"stdlib\",\"anchor\":\"remove-all-methods\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"remove-all-methods\",\"section\":\"Open Polymorphism\",\"excerpt\":\"Removes all methods from dispatcher m and returns it. Arity: 1 · Return: Removes all methods from dispatcher m and returns it · Evaluation: eager · Effects: sta\"},{\"slug\":\"stdlib\",\"anchor\":\"prefer-method\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"prefer-method\",\"section\":\"Open Polymorphism\",\"excerpt\":\"Records that dispatch x is preferred over y and returns the dispatcher. Arity: 3 · Return: Records that dispatch x is preferred over y and returns the dispatche\"},{\"slug\":\"stdlib\",\"anchor\":\"prefers\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"prefers\",\"section\":\"Open Polymorphism\",\"excerpt\":\"Returns a persistent map of dispatch preferences. Arity: 1 · Return: a persistent map of dispatch preferences · Evaluation: eager · Effects: pure/derived value \"},{\"slug\":\"stdlib\",\"anchor\":\"make-hierarchy\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"make-hierarchy\",\"section\":\"Open Polymorphism\",\"excerpt\":\"Returns a fresh HQL hierarchy value. Arity: 0 · Return: a fresh HQL hierarchy value · Evaluation: eager · Effects: pure/derived value · Host: portable stdlib · \"},{\"slug\":\"stdlib\",\"anchor\":\"derive\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"derive\",\"section\":\"Open Polymorphism\",\"excerpt\":\"Adds a parent relation to a hierarchy. With two args, updates HQL's global hierarchy. Arity: 2-3 · Return: Adds a parent relation to a hierarchy · Evaluation: e\"},{\"slug\":\"stdlib\",\"anchor\":\"underive\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"underive\",\"section\":\"Open Polymorphism\",\"excerpt\":\"Removes a parent relation from a hierarchy. With two args, updates HQL's global hierarchy. Arity: 2-3 · Return: Removes a parent relation from a hierarchy · Eva\"},{\"slug\":\"stdlib\",\"anchor\":\"parents\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"parents\",\"section\":\"Open Polymorphism\",\"excerpt\":\"Returns the direct parents of a tag in a hierarchy. Arity: 1-2 · Return: the direct parents of a tag in a hierarchy · Evaluation: eager · Effects: pure/derived \"},{\"slug\":\"stdlib\",\"anchor\":\"ancestors\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"ancestors\",\"section\":\"Open Polymorphism\",\"excerpt\":\"Returns all ancestors of a tag in a hierarchy. Arity: 1-2 · Return: all ancestors of a tag in a hierarchy · Evaluation: eager · Effects: pure/derived value · Ho\"}
29,{\"slug\":\"stdlib\",\"anchor\":\"descendants\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"descendants\",\"section\":\"Open Polymorphism\",\"excerpt\":\"Returns all descendants of a tag in a hierarchy. Arity: 1-2 · Return: all descendants of a tag in a hierarchy · Evaluation: eager · Effects: pure/derived value \"},{\"slug\":\"stdlib\",\"anchor\":\"supers\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"supers\",\"section\":\"Open Polymorphism\",\"excerpt\":\"Returns HQL hierarchy ancestors for x. Arity: 1 · Return: HQL hierarchy ancestors for x · Evaluation: eager · Effects: pure/derived value · Host: portable stdli\"},{\"slug\":\"stdlib\",\"anchor\":\"isa\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"isa?\",\"section\":\"Open Polymorphism\",\"excerpt\":\"Returns true when child equals or derives from parent in a hierarchy. Arity: 2-3 · Return: true when child equals or derives from parent in a hierarchy · Evalua\"},{\"slug\":\"stdlib\",\"anchor\":\"merge\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"merge\",\"section\":\"Open Polymorphism\",\"excerpt\":\"Merges maps left-to-right. Later keys win. Arity: 0+ · Return: Merges maps left-to-right · Evaluation: eager · Effects: pure/derived value · Host: portable stdl\"},{\"slug\":\"stdlib\",\"anchor\":\"collection-builders\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"Collection Builders\",\"section\":null,\"excerpt\":\"\"},{\"slug\":\"stdlib\",\"anchor\":\"empty\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"empty\",\"section\":\"Collection Builders\",\"excerpt\":\"Returns an empty collection of the same type as coll (array, set, map, string, or object). Arity: 1 · Return: an empty collection of the same type as coll (arra\"},{\"slug\":\"stdlib\",\"anchor\":\"conj\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"conj\",\"section\":\"Collection Builders\",\"excerpt\":\"Adds items to coll, returning a new collection of the same type. Each collection grows at its own cheap end: vectors, arrays and strings append; seqs (lazy or r\"},{\"slug\":\"stdlib\",\"anchor\":\"disj\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"disj\",\"section\":\"Collection Builders\",\"excerpt\":\"Returns a set with items removed. Arity: 1+ · Return: a set with items removed · Evaluation: eager · Effects: pure/derived value · Host: portable stdlib · Throw\"},{\"slug\":\"stdlib\",\"anchor\":\"into\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"into\",\"section\":\"Collection Builders\",\"excerpt\":\"Pours items from from into to, returning the same type as to. (into to xform from) applies a transducer. Arity: 2-3 · Return: Pours items from from into to, ret\"},{\"slug\":\"stdlib\",\"anchor\":\"vec\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"vec\",\"section\":\"Collection Builders\",\"excerpt\":\"Returns a persistent vector containing the items of coll. Arity: 1 · Return: a persistent vector containing the items of coll · Evaluation: eager · Effects: pur\"},{\"slug\":\"stdlib\",\"anchor\":\"subvec\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"subvec\",\"section\":\"Collection Builders\",\"excerpt\":\"Returns a persistent vector slice of v from start inclusive to end exclusive. O(1) view for persistent vectors (shares structure with — and keeps alive — the so\"},{\"slug\":\"stdlib\",\"anchor\":\"set\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"set\",\"section\":\"Collection Builders\",\"excerpt\":\"Returns a persistent set containing the unique items of coll. Arity: 1 · Return: a persistent set containing the unique items of coll · Evaluation: eager · Effe\"},{\"slug\":\"stdlib\",\"anchor\":\"doall\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"doall\",\"section\":\"Collection Builders\",\"excerpt\":\"Forces realization of a lazy sequence into an array. Returns nil for nil. Arity: 1 · Return: Forces realization of a lazy sequence into an array · Evaluation: e\"},{\"slug\":\"stdlib\",\"anchor\":\"dorun\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"dorun\",\"section\":\"Collection Builders\",\"excerpt\":\"Forces realization for side effects and returns nil. (dorun n coll) realizes at most n items. Arity: 1-2 · Return: Forces realization for side effects and retur\"},{\"slug\":\"stdlib\",\"anchor\":\"higher-order\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"Higher-Order\",\"section\":null,\"excerpt\":\"\"},{\"slug\":\"stdlib\",\"anchor\":\"comp\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"comp\",\"section\":\"Higher-Order\",\"excerpt\":\"Returns the composition of the given functions. ((comp f g) x) ≡ (f (g x)). Arity: 0+ · Return: the composition of the given functions · Evaluation: eager · Eff\"},{\"slug\":\"stdlib\",\"anchor\":\"partial\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"partial\",\"section\":\"Higher-Order\",\"excerpt\":\"Returns a function that calls f with args prepended to its own arguments. Arity: 1+ · Return: a function that calls f with args prepended to its own arguments ·\"},{\"slug\":\"stdlib\",\"anchor\":\"apply\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"apply\",\"section\":\"Higher-Order\",\"excerpt\":\"Calls f with trailing collection items appended to any leading arguments. Arity: 1+ · Return: Calls f with trailing collection items appended to any leading arg\"},{\"slug\":\"stdlib\",\"anchor\":\"sort\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"sort\",\"section\":\"Higher-Order\",\"excerpt\":\"Returns coll sorted in ascending order. (sort cmp coll) uses a custom comparator (numeric or boolean predicate). Arity: 1-2 · Return: coll sorted in ascending o\"},{\"slug\":\"stdlib\",\"anchor\":\"sort-by\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"sort-by\",\"section\":\"Higher-Order\",\"excerpt\":\"Returns coll sorted by (keyfn item). (sort-by keyfn cmp coll) uses a custom comparator (numeric or boolean predicate) on keys. Arity: 2-3 · Return: coll sorted \"},{\"slug\":\"stdlib\",\"anchor\":\"shuffle\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"shuffle\",\"section\":\"Higher-Order\",\"excerpt\":\"Returns a random permutation of coll as a persistent vector. Arity: 1 · Return: a random permutation of coll as a persistent vector · Evaluation: eager · Effect\"},{\"slug\":\"stdlib\",\"anchor\":\"mapv\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"mapv\",\"section\":\"Higher-Order\",\"excerpt\":\"Returns a persistent vector of applying f over one or more collections. Arity: 2+ · Return: a persistent vector of applying f over one or more collections · Eva\"}
29,{\"slug\":\"stdlib\",\"anchor\":\"filterv\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"filterv\",\"section\":\"Higher-Order\",\"excerpt\":\"Returns a persistent vector of items for which pred is truthy. Arity: 2 · Return: a persistent vector of items for which pred is truthy · Evaluation: eager · Ef\"},{\"slug\":\"stdlib\",\"anchor\":\"transducers\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"Transducers\",\"section\":null,\"excerpt\":\"\"},{\"slug\":\"stdlib\",\"anchor\":\"halt-when\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"halt-when\",\"section\":\"Transducers\",\"excerpt\":\"Returns a transducer that stops when (pred input) is truthy. With retf, the reduced value is (retf result input). Arity: 1-2 · Return: a transducer that stops w\"},{\"slug\":\"stdlib\",\"anchor\":\"reduced\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"reduced\",\"section\":\"Transducers\",\"excerpt\":\"Wraps x as a reduced value to signal early termination to reducing and transducer contexts. Arity: 1 · Return: Wraps x as a reduced value to signal early termin\"},{\"slug\":\"stdlib\",\"anchor\":\"utilities\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"Utilities\",\"section\":null,\"excerpt\":\"\"},{\"slug\":\"stdlib\",\"anchor\":\"frequencies\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"frequencies\",\"section\":\"Utilities\",\"excerpt\":\"Returns a persistent map of element → occurrence count in coll. Arity: 1 · Return: a persistent map of element → occurrence count in coll · Evaluation: eager · \"},{\"slug\":\"stdlib\",\"anchor\":\"select-keys\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"select-keys\",\"section\":\"Utilities\",\"excerpt\":\"Returns a new map containing only the entries of m whose keys are in ks. Arity: 2 · Return: a new map containing only the entries of m whose keys are in ks · Ev\"}
29,{\"slug\":\"stdlib\",\"anchor\":\"merge-with\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"merge-with\",\"section\":\"Utilities\",\"excerpt\":\"Merges maps left-to-right. On key conflict, the value becomes (f existing new). Arity: 1+ · Return: Merges maps left-to-right · Evaluation: eager · Effects: pur\"},{\"slug\":\"stdlib\",\"anchor\":\"replace\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"replace\",\"section\":\"Utilities\",\"excerpt\":\"Replaces items found as keys in smap. With one argument, returns a transducer; with a vector, preserves vector shape. Arity: 1-2 · Return: Replaces items found \"},{\"slug\":\"stdlib\",\"anchor\":\"remove\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"remove\",\"section\":\"Utilities\",\"excerpt\":\"Returns items from coll for which (pred item) is falsy. With only pred, returns the remove transducer. Arity: 1-2 · Return: items from coll for which (pred item\"},{\"slug\":\"stdlib\",\"anchor\":\"complement\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"complement\",\"section\":\"Utilities\",\"excerpt\":\"Returns a function that calls f and negates the result. Arity: 1 · Return: a function that calls f and negates the result · Evaluation: eager · Effects: pure/de\"},{\"slug\":\"stdlib\",\"anchor\":\"distinct\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"distinct?\",\"section\":\"Utilities\",\"excerpt\":\"Returns true when no two arguments are structurally equal. Arity: 0+ · Return: true when no two arguments are structurally equal · Evaluation: eager · Effects: \"},{\"slug\":\"stdlib\",\"anchor\":\"memoize\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"memoize\",\"section\":\"Utilities\",\"excerpt\":\"Returns a version of f that caches results keyed by its arguments. Arity: 1 · Return: a version of f that caches results keyed by its arguments · Evaluation: ea\"},{\"slug\":\"stdlib\",\"anchor\":\"not-empty\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"not-empty\",\"section\":\"Utilities\",\"excerpt\":\"Returns coll if it has at least one item, otherwise nil. Arity: 1 · Return: coll if it has at least one item, otherwise nil · Evaluation: eager · Effects: pure/\"},{\"slug\":\"stdlib\",\"anchor\":\"peek\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"peek\",\"section\":\"Utilities\",\"excerpt\":\"Returns the next item to be popped: the last item for vectors/arrays, first item otherwise. Arity: 1 · Return: the next item to be popped: the last item for vec\"},{\"slug\":\"stdlib\",\"anchor\":\"pop\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"pop\",\"section\":\"Utilities\",\"excerpt\":\"Returns coll without the next item to be popped. Arity: 1 · Return: coll without the next item to be popped · Evaluation: eager · Effects: pure/derived value · \"},{\"slug\":\"stdlib\",\"anchor\":\"bounded-count\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"bounded-count\",\"section\":\"Utilities\",\"excerpt\":\"Returns min(n, (count coll)), but stops iterating after n elements so it's safe on infinite sequences. Arity: 2 · Return: min(n, (count coll)), but stops iterat\"},{\"slug\":\"stdlib\",\"anchor\":\"run\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"run!\",\"section\":\"Utilities\",\"excerpt\":\"Calls (f item) for side effects on every item in coll. Returns nil. Arity: 2 · Return: Calls (f item) for side effects on every item in coll · Evaluation: eager\"},{\"slug\":\"stdlib\",\"anchor\":\"every-pred\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"every-pred\",\"section\":\"Utilities\",\"excerpt\":\"Returns a predicate that is true only when every supplied predicate is truthy for every argument. Strict boolean;
29 short-circuits on the first failure. Arity: 0+\"},{\"slug\":\"stdlib\",\"anchor\":\"some-fn\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"some-fn\",\"section\":\"Utilities\",\"excerpt\":\"Returns a predicate that yields the first truthy (pred arg) result (scanning predicates, then arguments), or nil when none match. Short-circuits. Arity: 0+ · Re\"},{\"slug\":\"stdlib\",\"anchor\":\"true\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"true?\",\"section\":\"Utilities\",\"excerpt\":\"Returns true when x is exactly true. Arity: 1 · Return: true when x is exactly true · Evaluation: eager · Effects: pure/derived value · Host: portable stdlib · \"},{\"slug\":\"stdlib\",\"anchor\":\"false\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"false?\",\"section\":\"Utilities\",\"excerpt\":\"Returns true when x is exactly false. Arity: 1 · Return: true when x is exactly false · Evaluation: eager · Effects: pure/derived value · Host: portable stdlib \"},{\"slug\":\"stdlib\",\"anchor\":\"identical\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"identical?\",\"section\":\"Utilities\",\"excerpt\":\"Returns true when a and b are the same JS value/reference. Arity: 2 · Return: true when a and b are the same JS value/reference · Evaluation: eager · Effects: p\"},{\"slug\":\"stdlib\",\"anchor\":\"cat\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"cat\",\"section\":\"Utilities\",\"excerpt\":\"One-level flattening transducer. Forwards each item of its inputs as separate items downstream. Arity: 1 · Return: One-level flattening transducer · Evaluation:\"},{\"slug\":\"stdlib\",\"anchor\":\"dedupe\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"dedupe\",\"section\":\"Utilities\",\"excerpt\":\"Drops consecutive duplicate values from coll. With no args, returns the dedupe transducer. Arity: 0-1 · Return: Drops consecutive duplicate values from coll · E\"},{\"slug\":\"stdlib\",\"anchor\":\"min\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"min\",\"section\":\"Utilities\",\"excerpt\":\"Returns the smallest of the given numbers. Arity: 0+ · Return: the smallest of the given numbers · Evaluation: eager · Effects: pure/derived value · Host: porta\"},{\"slug\":\"stdlib\",\"anchor\":\"max\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"max\",\"section\":\"Utilities\",\"excerpt\":\"Returns the largest of the given numbers. Arity: 0+ · Return: the largest of the given numbers · Evaluation: eager · Effects: pure/derived value · Host: portabl\"},{\"slug\":\"stdlib\",\"anchor\":\"min-key\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"min-key\",\"section\":\"Utilities\",\"excerpt\":\"Returns the argument whose (k arg) value is smallest; keeps the later winner on ties. Arity: 2+ · Return: the argument whose (k arg) value is smallest; keeps th\"},{\"slug\":\"stdlib\",\"anchor\":\"max-key\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"max-key\",\"section\":\"Utilities\",\"excerpt\":\"Returns the argument whose (k arg) value is largest; keeps the later winner on ties. Arity: 2+ · Return: the argument whose (k arg) value is largest; keeps the \"},{\"slug\":\"stdlib\",\"anchor\":\"fnil\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"fnil\",\"section\":\"Utilities\",\"excerpt\":\"Wraps f so nil arguments are replaced positionally by defaults. ((fnil + 0) nil) ⇒ 0. Arity: 1+ · Return: Wraps f so nil arguments are replaced positionally by \"},{\"slug\":\"stdlib\",\"anchor\":\"trampoline\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"trampoline\",\"section\":\"Utilities\",\"excerpt\":\"Iteratively invokes the returned thunk until a non-function appears. The idiom for mutual tail recursion without growing the stack. Arity: 1+ · Return: Iterativ\"},{\"slug\":\"stdlib\",\"anchor\":\"strings\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"Strings\",\"section\":null,\"excerpt\":\"\"},{\"slug\":\"stdlib\",\"anchor\":\"format\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"format\",\"section\":\"Strings\",\"excerpt\":\"Formats a string with common printf-style conversion specifiers. Arity: 1+ · Return: Formats a string with common printf-style conversion specifiers · Evaluatio\"},{\"slug\":\"stdlib\",\"anchor\":\"printf\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"printf\",\"section\":\"Strings\",\"excerpt\":\"Prints (format fmt ...args) and returns nil. Arity: 1+ · Return: Prints (format fmt ...args) and returns nil · Evaluation: eager · Effects: output side effect ·\"}
29,{\"slug\":\"stdlib\",\"anchor\":\"str-join\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"str-join\",\"section\":\"Strings\",\"excerpt\":\"Joins items of coll into a single string using separator. Arity: 2 · Return: Joins items of coll into a single string using separator · Evaluation: eager · Effe\"},{\"slug\":\"stdlib\",\"anchor\":\"split\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"split\",\"section\":\"Strings\",\"excerpt\":\"Splits string s by separator, returning an array of strings. Arity: 2 · Return: Splits string s by separator, returning an array of strings · Evaluation: eager \"},{\"slug\":\"stdlib\",\"anchor\":\"str-replace\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"str-replace\",\"section\":\"Strings\",\"excerpt\":\"Returns a string with every occurrence of match in s replaced by replacement. Arity: 3 · Return: a string with every occurrence of match in s replaced by replac\"},{\"slug\":\"stdlib\",\"anchor\":\"trim\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"trim\",\"section\":\"Strings\",\"excerpt\":\"Removes leading and trailing whitespace from s. Arity: 1 · Return: Removes leading and trailing whitespace from s · Evaluation: eager · Effects: pure/derived va\"},{\"slug\":\"stdlib\",\"anchor\":\"upper-case\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"upper-case\",\"section\":\"Strings\",\"excerpt\":\"Returns s converted to upper case. Arity: 1 · Return: s converted to upper case · Evaluation: eager · Effects: pure/derived value · Host: portable stdlib · Thro\"},{\"slug\":\"stdlib\",\"anchor\":\"lower-case\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"lower-case\",\"section\":\"Strings\",\"excerpt\":\"Returns s converted to lower case. Arity: 1 · Return: s converted to lower case · Evaluation: eager · Effects: pure/derived value · Host: portable stdlib · Thro\"},{\"slug\":\"stdlib\",\"anchor\":\"starts-with\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"starts-with?\",\"section\":\"Strings\",\"excerpt\":\"Returns true when string s starts with prefix. Arity: 2 · Return: true when string s starts with prefix · Evaluation: eager · Effects: pure/derived value · Host\"},{\"slug\":\"stdlib\",\"anchor\":\"ends-with\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"ends-with?\",\"section\":\"Strings\",\"excerpt\":\"Returns true when string s ends with suffix. Arity: 2 · Return: true when string s ends with suffix · Evaluation: eager · Effects: pure/derived value · Host: po\"},{\"slug\":\"stdlib\",\"anchor\":\"includes\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"includes?\",\"section\":\"Strings\",\"excerpt\":\"Returns true when string s contains substr. Arity: 2 · Return: true when string s contains substr · Evaluation: eager · Effects: pure/derived value · Host: port\"},{\"slug\":\"stdlib\",\"anchor\":\"subs\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"subs\",\"section\":\"Strings\",\"excerpt\":\"Returns a substring of s from start (inclusive). (subs s start end) slices up to end (exclusive). Arity: 2-3 · Return: a substring of s from start (inclusive) ·\"},{\"slug\":\"stdlib\",\"anchor\":\"re-pattern\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"re-pattern\",\"section\":\"Strings\",\"excerpt\":\"Returns a RegExp from pattern, or pattern unchanged when already a RegExp. Arity: 1 · Return: a RegExp from pattern, or pattern unchanged when already a RegExp \"},{\"slug\":\"stdlib\",\"anchor\":\"re-matcher\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"re-matcher\",\"section\":\"Strings\",\"excerpt\":\"Returns a stateful regex matcher for repeated re-find calls. Arity: 2 · Return: a stateful regex matcher for repeated re-find calls · Evaluation: eager · Effect\"},{\"slug\":\"stdlib\",\"anchor\":\"re-find\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"re-find\",\"section\":\"Strings\",\"excerpt\":\"Returns the next regex match. With capture groups, returns a persistent vector of full match and groups. Arity: 1-2 · Return: the next regex match · Evaluation:\"}
29,{\"slug\":\"stdlib\",\"anchor\":\"re-groups\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"re-groups\",\"section\":\"Strings\",\"excerpt\":\"Returns the groups from the most recent successful matcher operation. Arity: 1 · Return: the groups from the most recent successful matcher operation · Evaluati\"},{\"slug\":\"stdlib\",\"anchor\":\"re-matches\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"re-matches\",\"section\":\"Strings\",\"excerpt\":\"Returns a full-string regex match, or nil when the whole string does not match. Arity: 2 · Return: a full-string regex match, or nil when the whole string does \"},{\"slug\":\"stdlib\",\"anchor\":\"re-seq\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"re-seq\",\"section\":\"Strings\",\"excerpt\":\"Returns a lazy sequence of successive regex matches. Arity: 2 · Return: a lazy sequence of successive regex matches · Evaluation: eager · Effects: pure/derived \"},{\"slug\":\"stdlib\",\"anchor\":\"type-predicates\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"Type Predicates\",\"section\":null,\"excerpt\":\"\"},{\"slug\":\"stdlib\",\"anchor\":\"keyword\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"keyword?\",\"section\":\"Type Predicates\",\"excerpt\":\"Returns true when x is an HQL keyword value. Arity: 1 · Return: true when x is an HQL keyword value · Evaluation: eager · Effects: pure/derived value · Host: po\"},{\"slug\":\"stdlib\",\"anchor\":\"symbol\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"symbol?\",\"section\":\"Type Predicates\",\"excerpt\":\"Returns true when x is an HQL symbol object. Arity: 1 · Return: true when x is an HQL symbol object · Evaluation: eager · Effects: pure/derived value · Host: po\"},{\"slug\":\"stdlib\",\"anchor\":\"list\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"list?\",\"section\":\"Type Predicates\",\"excerpt\":\"Returns true when x is a quoted HQL list object. Arity: 1 · Return: true when x is a quoted HQL list object · Evaluation: eager · Effects: pure/derived value · \"},{\"slug\":\"stdlib\",\"anchor\":\"vector\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"vector?\",\"section\":\"Type Predicates\",\"excerpt\":\"Returns true when x is a JS array or HQL persistent vector. Arity: 1 · Return: true when x is a JS array or HQL persistent vector · Evaluation: eager · Effects:\"},{\"slug\":\"stdlib\",\"anchor\":\"map\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"map?\",\"section\":\"Type Predicates\",\"excerpt\":\"Returns true when x is a plain HQL map or HQL persistent map. Arity: 1 · Return: true when x is a plain HQL map or HQL persistent map · Evaluation: eager · Effe\"},{\"slug\":\"stdlib\",\"anchor\":\"set\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"set?\",\"section\":\"Type Predicates\",\"excerpt\":\"Returns true when x is a JS Set or HQL persistent set. Arity: 1 · Return: true when x is a JS Set or HQL persistent set · Evaluation: eager · Effects: pure/deri\"},{\"slug\":\"stdlib\",\"anchor\":\"integer-number\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"integer-number?\",\"section\":\"Type Predicates\",\"excerpt\":\"Returns true when x is an integer number. Arity: 1 · Return: true when x is an integer number · Evaluation: eager · Effects: pure/derived value · Host: portable\"},{\"slug\":\"stdlib\",\"anchor\":\"fractional-number\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"fractional-number?\",\"section\":\"Type Predicates\",\"excerpt\":\"Returns true when x is a number with a fractional part (the complement of integer-number? over numbers). Arity: 1 · Return: true when x is a number with a fract\"},{\"slug\":\"stdlib\",\"anchor\":\"completing\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"completing\",\"section\":\"Type Predicates\",\"excerpt\":\"Wraps a reducing function/transformer with an optional completion function. Arity: 1-2 · Return: Wraps a reducing function/transformer with an optional completi\"},{\"slug\":\"stdlib\",\"anchor\":\"transduce\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"transduce\",\"section\":\"Type Predicates\",\"excerpt\":\"Applies a transducer to a collection with a reducing function. Arity: 3-4 · Return: Applies a transducer to a collection with a reducing function · Evaluation: \"},{\"slug\":\"stdlib\",\"anchor\":\"sequence\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"sequence\",\"section\":\"Type Predicates\",\"excerpt\":\"Returns a seq over coll, or over coll transformed by xform. Arity: 1+ · Return: a seq over coll, or over coll transformed by xform · Evaluation: lazy · Effects:\"},{\"slug\":\"stdlib\",\"anchor\":\"eduction\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"eduction\",\"section\":\"Type Predicates\",\"excerpt\":\"Returns a seqable transducer view over one or more collections. Arity: 2+ · Return: a seqable transducer view over one or more collections · Evaluation: lazy · \"},{\"slug\":\"stdlib\",\"anchor\":\"packages\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"Packages\",\"section\":null,\"excerpt\":\"\u003e Userland virtual packages importable as (import [...] from \\\"@hql/\u003cname\u003e\\\").\"}
29,{\"slug\":\"stdlib\",\"anchor\":\"hqlai\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"@hql/ai\",\"section\":\"Packages\",\"excerpt\":\"5 documented · 5 exported · source →\"},{\"slug\":\"stdlib\",\"anchor\":\"async-ask\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"async ask\",\"section\":null,\"excerpt\":\"Sends prompt to the host AI and returns the response. Optional options may include data/schema/model/system/temperature/signal. Arity: 1+ · Return: Sends prompt\"},{\"slug\":\"stdlib\",\"anchor\":\"async-agent\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"async agent\",\"section\":null,\"excerpt\":\"Runs an agentic invocation on the host AI with prompt. Optional options may include data/model/tools/signal. Arity: 1+ · Return: Runs an agentic invocation on t\"},{\"slug\":\"stdlib\",\"anchor\":\"chat\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"chat\",\"section\":null,\"excerpt\":\"Streams a chat response from the host AI for an array of messages. Returns an AsyncIterable of strings. Arity: 1+ · Return: Streams a chat response from the hos\"},{\"slug\":\"stdlib\",\"anchor\":\"async-models\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"async models\",\"section\":null,\"excerpt\":\"Returns the list of available models from the host AI adapter. Arity: 0 · Return: the list of available models from the host AI adapter · Evaluation: async · Ef\"},{\"slug\":\"stdlib\",\"anchor\":\"async-status\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"async status\",\"section\":null,\"excerpt\":\"Returns the current status object from the host AI adapter. Arity: 0 · Return: the current status object from the host AI adapter · Evaluation: async · Effects:\"},{\"slug\":\"stdlib\",\"anchor\":\"hqlassert\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"@hql/assert\",\"section\":\"Packages\",\"excerpt\":\"2 documented · 2 exported · source →\"},{\"slug\":\"stdlib\",\"anchor\":\"assert\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"assert\",\"section\":null,\"excerpt\":\"Throws Error(message) when condition is falsy. Returns true otherwise. Arity: 2 · Return: Throws Error(message) when condition is falsy · Evaluation: eager · Ef\"},{\"slug\":\"stdlib\",\"anchor\":\"assert-equal\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"assert-equal\",\"section\":null,\"excerpt\":\"Throws when actual is not deep-equal to expected. Arity: 3 · Return: Throws when actual is not deep-equal to expected · Evaluation: eager · Effects: pure/derive\"},{\"slug\":\"stdlib\",\"anchor\":\"hqldate\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"@hql/date\",\"section\":\"Packages\",\"excerpt\":\"17 documented · 17 exported · source →\"},{\"slug\":\"stdlib\",\"anchor\":\"now\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"now\",\"section\":null,\"excerpt\":\"Returns the current Unix timestamp in milliseconds. Arity: 0 · Return: the current Unix timestamp in milliseconds · Evaluation: eager · Effects: pure/derived va\"},{\"slug\":\"stdlib\",\"anchor\":\"parse\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"parse\",\"section\":null,\"excerpt\":\"Parses an ISO-8601 (or other Date-compatible) string and returns ms-since-epoch. Arity: 1 · Return: Parses an ISO-8601 (or other Date-compatible) string and ret\"},{\"slug\":\"stdlib\",\"anchor\":\"format\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"format\",\"section\":null,\"excerpt\":\"Returns the ISO 8601 string representation of timestamp ts. Arity: 1 · Return: the ISO 8601 string representation of timestamp ts · Evaluation: eager · Effects:\"},{\"slug\":\"stdlib\",\"anchor\":\"add\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"add\",\"section\":null,\"excerpt\":\"Returns ts + ms. Generic millisecond addition. Arity: 2 · Return: ts + ms · Evaluation: eager · Effects: pure/derived value · Host: host clock/timezone · Throws\"},{\"slug\":\"stdlib\",\"anchor\":\"diff\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"diff\",\"section\":null,\"excerpt\":\"Returns a - b in milliseconds. Negative when a is before b. Arity: 2 · Return: a - b in milliseconds · Evaluation: eager · Effects: pure/derived value · Host: h\"},{\"slug\":\"stdlib\",\"anchor\":\"add-seconds\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"add-seconds\",\"section\":null,\"excerpt\":\"Adds n seconds to timestamp ts. n may be negative. Arity: 2 · Return: Adds n seconds to timestamp ts · Evaluation: eager · Effects: pure/derived value · Host: h\"},{\"slug\":\"stdlib\",\"anchor\":\"add-minutes\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"add-minutes\",\"section\":null,\"excerpt\":\"Adds n minutes to timestamp ts. n may be negative. Arity: 2 · Return: Adds n minutes to timestamp ts · Evaluation: eager · Effects: pure/derived value · Host: h\"},{\"slug\":\"stdlib\",\"anchor\":\"add-hours\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"add-hours\",\"section\":null,\"excerpt\":\"Adds n hours to timestamp ts. n may be negative. Arity: 2 · Return: Adds n hours to timestamp ts · Evaluation: eager · Effects: pure/derived value · Host: host \"}
29,{\"slug\":\"stdlib\",\"anchor\":\"add-days\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"add-days\",\"section\":null,\"excerpt\":\"Adds n days to timestamp ts. Drifts by up to 1 hour across DST. Arity: 2 · Return: Adds n days to timestamp ts · Evaluation: eager · Effects: pure/derived value\"},{\"slug\":\"stdlib\",\"anchor\":\"diff-seconds\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"diff-seconds\",\"section\":null,\"excerpt\":\"Returns a - b in whole seconds (truncated toward zero). Arity: 2 · Return: a - b in whole seconds (truncated toward zero) · Evaluation: eager · Effects: pure/de\"},{\"slug\":\"stdlib\",\"anchor\":\"diff-minutes\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"diff-minutes\",\"section\":null,\"excerpt\":\"Returns a - b in whole minutes (truncated toward zero). Arity: 2 · Return: a - b in whole minutes (truncated toward zero) · Evaluation: eager · Effects: pure/de\"},{\"slug\":\"stdlib\",\"anchor\":\"diff-hours\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"diff-hours\",\"section\":null,\"excerpt\":\"Returns a - b in whole hours (truncated toward zero). Arity: 2 · Return: a - b in whole hours (truncated toward zero) · Evaluation: eager · Effects: pure/derive\"},{\"slug\":\"stdlib\",\"anchor\":\"diff-days\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"diff-days\",\"section\":null,\"excerpt\":\"Returns a - b in whole days (truncated toward zero). Arity: 2 · Return: a - b in whole days (truncated toward zero) · Evaluation: eager · Effects: pure/derived \"},{\"slug\":\"stdlib\",\"anchor\":\"before\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"before?\",\"section\":null,\"excerpt\":\"Returns true when timestamp a is strictly before b. Arity: 2 · Return: true when timestamp a is strictly before b · Evaluation: eager · Effects: pure/derived va\"},{\"slug\":\"stdlib\",\"anchor\":\"after\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"after?\",\"section\":null,\"excerpt\":\"Returns true when timestamp a is strictly after b. Arity: 2 · Return: true when timestamp a is strictly after b · Evaluation: eager · Effects: pure/derived valu\"},{\"slug\":\"stdlib\",\"anchor\":\"start-of-day\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"start-of-day\",\"section\":null,\"excerpt\":\"Returns the timestamp at the start of ts's local calendar day (00:00:00.000). Arity: 1 · Return: the timestamp at the start of ts's local calendar day (00:00:00\"},{\"slug\":\"stdlib\",\"anchor\":\"end-of-day\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"end-of-day\",\"section\":null,\"excerpt\":\"Returns the timestamp at the end of ts's local calendar day (23:59:59.999). Arity: 1 · Return: the timestamp at the end of ts's local calendar day (23:59:59.999\"},{\"slug\":\"stdlib\",\"anchor\":\"hqlencoding\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"@hql/encoding\",\"section\":\"Packages\",\"excerpt\":\"7 documented · 7 exported · source →\"},{\"slug\":\"stdlib\",\"anchor\":\"base64-encode\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"base64-encode\",\"section\":null,\"excerpt\":\"Encodes ASCII string s to base64. Throws on non-ASCII; use a Uint8Array path for binary. Arity: 1 · Return: Encodes ASCII string s to base64 · Evaluation: eager\"},{\"slug\":\"stdlib\",\"anchor\":\"base64-decode\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"base64-decode\",\"section\":null,\"excerpt\":\"Decodes base64 string s to its original string. Throws on malformed input. Arity: 1 · Return: Decodes base64 string s to its original string · Evaluation: eager\"},{\"slug\":\"stdlib\",\"anchor\":\"hex-encode\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"hex-encode\",\"section\":null,\"excerpt\":\"Encodes a Uint8Array or byte array bytes to a lowercase hex string. Arity: 1 · Return: Encodes a Uint8Array or byte array bytes to a lowercase hex string · Eval\"},{\"slug\":\"stdlib\",\"anchor\":\"hex-decode\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"hex-decode\",\"section\":null,\"excerpt\":\"Decodes a hex string hex to a Uint8Array. Throws on odd length or non-hex chars. Arity: 1 · Return: Decodes a hex string hex to a Uint8Array · Evaluation: eager\"},{\"slug\":\"stdlib\",\"anchor\":\"uri-encode\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"uri-encode\",\"section\":null,\"excerpt\":\"U
29RI-encodes s (every byte except RFC3986 unreserved chars becomes %XX). Arity: 1 · Return: URI-encodes s (every byte except RFC3986 unreserved chars becomes %XX\"},{\"slug\":\"stdlib\",\"anchor\":\"uri-decode\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"uri-decode\",\"section\":null,\"excerpt\":\"Decodes a URI-encoded string s. Throws on malformed % sequences. Arity: 1 · Return: Decodes a URI-encoded string s · Evaluation: eager · Effects: pure/derived v\"},{\"slug\":\"stdlib\",\"anchor\":\"uuid\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"uuid\",\"section\":null,\"excerpt\":\"Returns a random v4 UUID string. Requires a host with crypto.randomUUID. Arity: 0 · Return: a random v4 UUID string · Evaluation: eager · Effects: pure/derived \"},{\"slug\":\"stdlib\",\"anchor\":\"hqlenv\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"@hql/env\",\"section\":\"Packages\",\"excerpt\":\"6 documented · 6 exported · source →\"},{\"slug\":\"stdlib\",\"anchor\":\"args\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"args\",\"section\":null,\"excerpt\":\"Returns a fresh array of command-line arguments for the current HQL program. Arity: 0 · Return: a fresh array of command-line arguments for the current HQL prog\"},{\"slug\":\"stdlib\",\"anchor\":\"getenv\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"getenv\",\"section\":null,\"excerpt\":\"Returns the value of the environment variable name, or nil if unset. Arity: 1 · Return: the value of the environment variable name, or nil if unset · Evaluation\"},{\"slug\":\"stdlib\",\"anchor\":\"has\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"has?\",\"section\":null,\"excerpt\":\"Returns true when the environment variable name is set (not undefined). Arity: 1 · Return: true when the environment variable name is set (not undefined) · Eval\"},{\"slug\":\"stdlib\",\"anchor\":\"setenv\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"setenv\",\"section\":null,\"excerpt\":\"Sets the environment variable name to value in the current process. Arity: 2 · Return: Sets the environment variable name to value in the current process · Eval\"},{\"slug\":\"stdlib\",\"anchor\":\"cwd\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"cwd\",\"section\":null,\"excerpt\":\"Returns the current working directory. Arity: 0 · Return: the current working directory · Evaluation: eager · Effects: environment · Host: process environment ·\"},{\"slug\":\"stdlib\",\"anchor\":\"home-dir\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"home-dir\",\"section\":null,\"excerpt\":\"Returns the user's home directory (HOME on Unix, USERPROFILE on Windows), or nil. Arity: 0 · Return: the user's home directory (HOME on Unix, USERPROFILE on Win\"},{\"slug\":\"stdlib\",\"anchor\":\"hqlfs\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"@hql/fs\",\"section\":\"Packages\",\"excerpt\":\"15 documented · 15 exported · source →\"},{\"slug\":\"stdlib\",\"anchor\":\"read\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"read\",\"section\":null,\"excerpt\":\"Reads the contents of path as a UTF-8 string. Returns a Promise. Arity: 1 · Return: Reads the contents of path as a UTF-8 string · Evaluation: eager · Effects: \"},{\"slug\":\"stdlib\",\"anchor\":\"write\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"write\",\"section\":null,\"excerpt\":\"Writes content (a string) to path, overwriting any existing file. Returns a Promise. Arity: 2 · Return: Writes content (a string) to path, overwriting any exist\"},{\"slug\":\"stdlib\",\"anchor\":\"remove\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"remove\",\"section\":null,\"excerpt\":\"Removes the file at path. Returns a Promise. Arity: 1 · Return: Removes the file at path · Evaluation: lazy · Effects: filesystem · Host: filesystem · Throws: n\"},{\"slug\":\"stdlib\",\"anchor\":\"exists\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"exists?\",\"section\":null,\"excerpt\":\"Returns true when a file or directory exists at path (synchronous). Arity: 1 · Return: true when a file or directory exists at path (synchronous) · Evaluation: \"},{\"slug\":\"stdlib\",\"anchor\":\"read-bytes\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"read-bytes\",\"section\":null,\"excerpt\":\"Reads the contents of path as a Uint8Array. Returns a Promise. Arity: 1 · Return: Reads the contents of path as a Uint8Array · Evaluation: eager · Effects: file\"},{\"slug\":\"stdlib\",\"anchor\":\"stat\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"stat\",\"section\":null,\"excerpt\":\"Returns {isFile, isDirectory, size} for the file at path, or nil if missing. Uses statSync — synchronous and nil-safe (no exception on missing path). Arity: 1 ·\"},{\"slug\":\"stdlib\",\"anchor\":\"async-read-json\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"async read-json\",\"section\":null,\"excerpt\":\"Reads path as UTF-8 and JSON-parses the contents. Rejects on malformed JSON. Arity: 1 · Return: Reads path as UTF-8 and JSON-parses the contents · Evaluation: a\"},{\"slug\":\"stdlib\",\"anchor\":\"async-write-json\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"async write-json\",\"section\":null,\"excerpt\":\"JSON-stringifies obj and writes it to path. Returns a Promise. Arity: 2 · Return: JSON-stringifies obj and writes it to path · Evaluation: async · Effects: file\"},{\"slug\":\"stdlib\",\"anchor\":\"async-read-lines\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"async read-lines\",\"section\":null,\"excerpt\":\"Reads path as UTF-8 text and splits into lines on \\\\r\\\\n, \\\\n, or \\\\r. Arity: 1 · Return: Reads path as UTF-8 text and splits into lines on \\\\r\\\\n, \\\\n, or \\\\r · Evalua\"},{\"slug\":\"stdlib\",\"anchor\":\"list-dir\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"list-dir\",\"section\":null,\"excerpt\":\"Returns a Promise of an array of {name, isFile, isDirectory} entries for path. Arity: 1 · Return: a Promise of an array of {name, isFile, isDirectory} entries f\"},{\"slug\":\"stdlib\",\"anchor\":\"mkdir\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"mkdir\",\"section\":null,\"excerpt\":\"Creates the directory at path. Throws when the parent does not exist; use mkdir-recursive to create intermediate directories. Arity: 1 · Return: creates the dir\"},{\"slug\":\"stdlib\",\"anchor\":\"mkdir-recursive\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"mkdir-recursive\",\"section\":null,\"excerpt\":\"Creates path and any missing intermediate directories. Arity: 1 · Return: creates path and any missing intermediate directories · Evaluation: eager · Effects: f\"},{\"slug\":\"stdlib\",\"anchor\":\"copy\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"copy\",\"section\":null,\"excerpt\":\"Copies the file at src to dst. Overwrites dst if it exists. Arity: 2 · Return: Copies the file at src to dst · Evaluation: eager · Effects: filesystem · Host: f\"},{\"slug\":\"stdlib\",\"anchor\":\"move\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"move\",\"section\":null,\"excerpt\":\"Moves/renames the file at src to dst. Arity: 2 · Return: Moves/renames the file at src to dst · Evaluation: eager · Effects: filesystem · Host: filesystem · Thr\"},{\"slug\":\"stdlib\",\"anchor\":\"remove-recursive\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"remove-recursive\",\"section\":null,\"excerpt\":\"Removes path and (if it is a directory) all its contents. Arity: 1 · Return: Removes path and (if it is a directory) all its contents · Evaluation: eager · Effe\"},{\"slug\":\"stdlib\",\"anchor\":\"hqlhttp\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"@hql/http\",\"section\":\"Packages\",\"excerpt\":\"7 documented · 7 exported · source →\"},{\"slug\":\"stdlib\",\"anchor\":\"request\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"request\",\"section\":null,\"excerpt\":\"Performs an HTTP request to url with optional options (method, headers, body). Returns a Promise\u003cResponse\u003e. Arity: 2 · Return: Performs an HTTP request to url w\"},{\"slug\":\"stdlib\",\"anchor\":\"get\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"get\",\"section\":null,\"excerpt\":\"Performs a GET request against url and returns a Promise\u003cResponse\u003e. Arity: 1 · Return: Performs a GET request against url and returns a Promise\u003cResponse\u003e · Eval\"},{\"slug\":\"stdlib\",\"anchor\":\"post\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"post\",\"section\":null,\"excerpt\":\"Performs a POST request to url with the given body. Returns a Promise\u003cResponse\u003e. Arity: 2 · Return: Performs a POST request to url with the given body · Evaluat\"},{\"slug\":\"stdlib\",\"anchor\":\"async-get-json\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"async get-json\",\"section\":null,\"excerpt\":\"Performs a GET request and parses the response body as JSON. Arity: 1 · Return: Performs a GET request and parses the response body as JSON · Evaluation: async \"},{\"slug\":\"stdlib\",\"anchor\":\"async-post-json\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"async post-json\",\"section\":null,\"excerpt\":\"Performs a POST with a JSON-encoded body and parses the response as JSON. Sets Content-Type: application/json automatically. Arity: 2 · Return: Performs a POST \"}
29,{\"slug\":\"stdlib\",\"anchor\":\"status-ok\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"status-ok?\",\"section\":null,\"excerpt\":\"Returns true when the response status is in the 2xx range. Arity: 1 · Return: true when the response status is in the 2xx range · Evaluation: eager · Effects: n\"},{\"slug\":\"stdlib\",\"anchor\":\"status-code\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"status-code\",\"section\":null,\"excerpt\":\"Returns the numeric status code of the response. Arity: 1 · Return: the numeric status code of the response · Evaluation: eager · Effects: network · Host: netwo\"},{\"slug\":\"stdlib\",\"anchor\":\"hqljson\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"@hql/json\",\"section\":\"Packages\",\"excerpt\":\"4 documented · 4 exported · source →\"},{\"slug\":\"stdlib\",\"anchor\":\"parse\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"parse\",\"section\":null,\"excerpt\":\"Parses a JSON string into an HQL value. Throws SyntaxError on malformed input. Arity: 1 · Return: Parses a JSON string into an HQL value · Evaluation: eager · E\"},{\"slug\":\"stdlib\",\"anchor\":\"stringify\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"stringify\",\"section\":null,\"excerpt\":\"Serializes an HQL value to a JSON string. Arity: 1 · Return: Serializes an HQL value to a JSON string · Evaluation: eager · Effects: pure/derived value · Host: \"},{\"slug\":\"stdlib\",\"anchor\":\"parse-safe\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"parse-safe\",\"section\":null,\"excerpt\":\"Parses a JSON string;
29 returns default if s is invalid JSON. Arity: 2 · Return: Parses a JSON string; returns default if s is invalid JSON · Evaluation: eager · \"},{\"slug\":\"stdlib\",\"anchor\":\"pretty-stringify\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"pretty-stringify\",\"section\":null,\"excerpt\":\"Serializes with indent spaces of indentation (pass 2 for the common case). Arity: 2 · Return: Serializes with indent spaces of indentation (pass 2 for the commo\"},{\"slug\":\"stdlib\",\"anchor\":\"hqlmath\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"@hql/math\",\"section\":\"Packages\",\"excerpt\":\"26 documented · 26 exported · source →\"},{\"slug\":\"stdlib\",\"anchor\":\"sqrt\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"sqrt\",\"section\":null,\"excerpt\":\"Returns the square root of x. Negative input returns NaN. Arity: 1 · Return: the square root of x · Evaluation: eager · Effects: pure/derived value · Host: port\"},{\"slug\":\"stdlib\",\"anchor\":\"pow\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"pow\",\"section\":null,\"excerpt\":\"Returns base raised to the power exp. Arity: 2 · Return: base raised to the power exp · Evaluation: eager · Effects: pure/derived value · Host: portable · Throw\"},{\"slug\":\"stdlib\",\"anchor\":\"log\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"log\",\"section\":null,\"excerpt\":\"Natural logarithm (base e) of x. Negative input returns NaN. Arity: 1 · Return: Natural logarithm (base e) of x · Evaluation: eager · Effects: pure/derived valu\"},{\"slug\":\"stdlib\",\"anchor\":\"log2\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"log2\",\"section\":null,\"excerpt\":\"Logarithm base 2 of x. Arity: 1 · Return: Logarithm base 2 of x · Evaluation: eager · Effects: pure/derived value · Host: portable · Throws: not documented as t\"},{\"slug\":\"stdlib\",\"anchor\":\"log10\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"log10\",\"section\":null,\"excerpt\":\"Logarithm base 10 of x. Arity: 1 · Return: Logarithm base 10 of x · Evaluation: eager · Effects: pure/derived value · Host: portable · Throws: not documented as\"},{\"slug\":\"stdlib\",\"anchor\":\"exp\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"exp\",\"section\":null,\"excerpt\":\"Returns e^x. Arity: 1 · Return: e^x · Evaluation: eager · Effects: pure/derived value · Host: portable · Throws: not documented as throwing No verified inline e\"},{\"slug\":\"stdlib\",\"anchor\":\"sin\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"sin\",\"section\":null,\"excerpt\":\"Sine of x in radians. Arity: 1 · Return: Sine of x in radians · Evaluation: eager · Effects: pure/derived value · Host: portable · Throws: not documented as thr\"},{\"slug\":\"stdlib\",\"anchor\":\"cos\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"cos\",\"section\":null,\"excerpt\":\"Cosine of x in radians. Arity: 1 · Return: Cosine of x in radians · Evaluation: eager · Effects: pure/derived value · Host: portable · Throws: not documented as\"},{\"slug\":\"stdlib\",\"anchor\":\"tan\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"tan\",\"section\":null,\"excerpt\":\"Tangent of x in radians. Arity: 1 · Return: Tangent of x in radians · Evaluation: eager · Effects: pure/derived value · Host: portable · Throws: not documented \"},{\"slug\":\"stdlib\",\"anchor\":\"asin\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"asin\",\"section\":null,\"excerpt\":\"Arcsine of x in radians. Arity: 1 · Return: Arcsine of x in radians · Evaluation: eager · Effects: pure/derived value · Host: portable · Throws: not documented \"},{\"slug\":\"stdlib\",\"anchor\":\"acos\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"acos\",\"section\":null,\"excerpt\":\"Arccosine of x in radians. Arity: 1 · Return: Arccosine of x in radians · Evaluation: eager · Effects: pure/derived value · Host: portable · Throws: not documen\"}
29,{\"slug\":\"stdlib\",\"anchor\":\"atan\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"atan\",\"section\":null,\"excerpt\":\"Arctangent of x in radians. Arity: 1 · Return: Arctangent of x in radians · Evaluation: eager · Effects: pure/derived value · Host: portable · Throws: not docum\"},{\"slug\":\"stdlib\",\"anchor\":\"atan2\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"atan2\",\"section\":null,\"excerpt\":\"Arctangent of y/x in radians, handling all quadrants. Arity: 2 · Return: Arctangent of y/x in radians, handling all quadrants · Evaluation: eager · Effects: pur\"},{\"slug\":\"stdlib\",\"anchor\":\"floor\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"floor\",\"section\":null,\"excerpt\":\"Largest integer ≤ x. Arity: 1 · Return: Largest integer ≤ x · Evaluation: eager · Effects: pure/derived value · Host: portable · Throws: not documented as throw\"},{\"slug\":\"stdlib\",\"anchor\":\"ceil\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"ceil\",\"section\":null,\"excerpt\":\"Smallest integer ≥ x. Arity: 1 · Return: Smallest integer ≥ x · Evaluation: eager · Effects: pure/derived value · Host: portable · Throws: not documented as thr\"},{\"slug\":\"stdlib\",\"anchor\":\"round\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"round\",\"section\":null,\"excerpt\":\"x rounded to nearest integer. Arity: 1 · Return: x rounded to nearest integer · Evaluation: eager · Effects: pure/derived value · Host: portable · Throws: not d\"},{\"slug\":\"stdlib\",\"anchor\":\"truncate\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"truncate\",\"section\":null,\"excerpt\":\"x with the fractional part removed (toward zero). Arity: 1 · Return: x with the fractional part removed (toward zero) · Evaluation: eager · Effects: pure/derive\"},{\"slug\":\"stdlib\",\"anchor\":\"random\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"random\",\"section\":null,\"excerpt\":\"Returns a pseudo-random number in 0, 1). Arity: 0 · Return: a pseudo-random number in [0, 1) · Evaluation: eager · Effects: pure/derived value · Host: portable \"},{\"slug\":\"stdlib\",\"anchor\":\"random-int\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"random-int\",\"section\":null,\"excerpt\":\"Returns a pseudo-random integer in min, max) (max exclusive). Arity: 2 · Return: a pseudo-random integer in [min, max) (max exclusive) · Evaluation: eager · Eff\"},{\"slug\":\"stdlib\",\"anchor\":\"parse-int\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"parse-int\",\"section\":null,\"excerpt\":\"Parses s as a base-10 integer. Returns NaN on failure. Arity: 1 · Return: Parses s as a base-10 integer · Evaluation: eager · Effects: pure/derived value · Host\"},{\"slug\":\"stdlib\",\"anchor\":\"parse-float\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"parse-float\",\"section\":null,\"excerpt\":\"Parses s as a float. Returns NaN on failure. Arity: 1 · Return: Parses s as a float · Evaluation: eager · Effects: pure/derived value · Host: portable · Throws:\"},{\"slug\":\"stdlib\",\"anchor\":\"nan\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"nan?\",\"section\":null,\"excerpt\":\"Returns true when x is NaN. Arity: 1 · Return: true when x is NaN · Evaluation: eager · Effects: pure/derived value · Host: portable · Throws: not documented as\"},{\"slug\":\"stdlib\",\"anchor\":\"infinity\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"infinity?\",\"section\":null,\"excerpt\":\"Returns true when x is +Infinity or -Infinity. Arity: 1 · Return: true when x is +Infinity or -Infinity · Evaluation: eager · Effects: pure/derived value · Host\"}
29,{\"slug\":\"stdlib\",\"anchor\":\"finite\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"finite?\",\"section\":null,\"excerpt\":\"Returns true when x is a finite number (not NaN, not Infinity). Arity: 1 · Return: true when x is a finite number (not NaN, not Infinity) · Evaluation: eager · \"},{\"slug\":\"stdlib\",\"anchor\":\"pi\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"pi\",\"section\":null,\"excerpt\":\"Constant binding pi exported by this module. Arity: 0 · Return: Constant binding pi exported by this module · Evaluation: eager · Effects: pure/derived value · \"},{\"slug\":\"stdlib\",\"anchor\":\"e\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"e\",\"section\":null,\"excerpt\":\"Constant binding e exported by this module. Arity: 0 · Return: Constant binding e exported by this module · Evaluation: eager · Effects: pure/derived value · Ho\"},{\"slug\":\"stdlib\",\"anchor\":\"hqlmedia\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"@hql/media\",\"section\":\"Packages\",\"excerpt\":\"7 documented · 7 exported · source →\"},{\"slug\":\"stdlib\",\"anchor\":\"media-type\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"media-type\",\"section\":null,\"excerpt\":\"Constant binding media-type exported by this module. Arity: 0 · Return: Constant binding media-type exported by this module · Evaluation: eager · Effects: media\"},{\"slug\":\"stdlib\",\"anchor\":\"create-media\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"create-media\",\"section\":null,\"excerpt\":\"Constructs a Media object with type, mimeType, base64 data, and optional source path/URL. Arity: 4 · Return: Constructs a Media object with type, mimeType, base\"},{\"slug\":\"stdlib\",\"anchor\":\"media\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"media?\",\"section\":null,\"excerpt\":\"Returns true when value is a Media object (tagged with hqlmedia). Arity: 1 · Return: true when value is a Media object (tagged with hqlmedia) · Evaluation: eage\"},{\"slug\":\"stdlib\",\"anchor\":\"async-read-image\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"async read-image\",\"section\":null,\"excerpt\":\"Read an image file and return a Media object for vision models Arity: 1 · Return: Read an image file and return a Media object for vision models · Evaluation: a\"},{\"slug\":\"stdlib\",\"anchor\":\"async-read-media\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"async read-media\",\"section\":null,\"excerpt\":\"Read any media file and return a Media object Arity: 1 · Return: Read any media file and return a Media object · Evaluation: async · Effects: media host · Host:\"},{\"slug\":\"stdlib\",\"anchor\":\"media-from-base64\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"media-from-base64\",\"section\":null,\"excerpt\":\"Create a Media object from raw base64 data Arity: 2 · Return: creates a Media object from raw base64 data · Evaluation: eager · Effects: media host · Host: file\"},{\"slug\":\"stdlib\",\"anchor\":\"async-read-media-url\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"async read-media-url\",\"section\":null,\"excerpt\":\"Fetch media from a URL and return a Media object Arity: 1 · Return: Fetch media from a URL and return a Media object · Evaluation: async · Effects: media host ·\"},{\"slug\":\"stdlib\",\"anchor\":\"hqlpath\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"@hql/path\",\"section\":\"Packages\",\"excerpt\":\"8 documented · 8 exported · source →\"},{\"slug\":\"stdlib\",\"anchor\":\"sep\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"sep\",\"section\":null,\"excerpt\":\"Constant binding sep exported by this module. Arity: 0 · Return: Constant binding sep exported by this module · Evaluation: eager · Effects: pure/derived value \"}
29,{\"slug\":\"stdlib\",\"anchor\":\"join\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"join\",\"section\":null,\"excerpt\":\"Joins path segments with /, collapsing duplicate separators. Arity: 0+ · Return: Joins path segments with /, collapsing duplicate separators · Evaluation: eager\"},{\"slug\":\"stdlib\",\"anchor\":\"basename\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"basename\",\"section\":null,\"excerpt\":\"Returns the last segment of path (file name with extension). Arity: 1 · Return: the last segment of path (file name with extension) · Evaluation: eager · Effect\"},{\"slug\":\"stdlib\",\"anchor\":\"dirname\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"dirname\",\"section\":null,\"excerpt\":\"Returns everything before the last / of path, or \\\".\\\" if none. Arity: 1 · Return: everything before the last / of path, or \\\".\\\" if none · Evaluation: eager · Effe\"},{\"slug\":\"stdlib\",\"anchor\":\"extname\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"extname\",\"section\":null,\"excerpt\":\"Returns the file extension including the leading dot (e.g. \\\".txt\\\"), or \\\"\\\". Arity: 1 · Return: the file extension including the leading dot (e.g · Evaluation: ea\"},{\"slug\":\"stdlib\",\"anchor\":\"absolute\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"absolute?\",\"section\":null,\"excerpt\":\"Returns true when path starts with /. Arity: 1 · Return: true when path starts with / · Evaluation: eager · Effects: pure/derived value · Host: portable path ru\"},{\"slug\":\"stdlib\",\"anchor\":\"normalize\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"normalize\",\"section\":null,\"excerpt\":\"Collapses ./ segments and resolves ../ segments where possible. Arity: 1 · Return: Collapses ./ segments and resolves ../ segments where possible · Evaluation: \"},{\"slug\":\"stdlib\",\"anchor\":\"relative\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"relative\",\"section\":null,\"excerpt\":\"Returns the relative path from from to to, both normalized. Arity: 2 · Return: the relative path from from to to, both normalized · Evaluation: eager · Effects:\"},{\"slug\":\"stdlib\",\"anchor\":\"hqlpprint\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"@hql/pprint\",\"section\":\"Packages\",\"excerpt\":\"3 documented · 3 exported · source →\"},{\"slug\":\"stdlib\",\"anchor\":\"pp-str\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"pp-str\",\"section\":null,\"excerpt\":\"Returns a pretty-printed string of obj. Defaults to 2-space indentation; pass nil for compact. Arity: 2 · Return: a pretty-printed string of obj · Evaluation: e\"},{\"slug\":\"stdlib\",\"anchor\":\"pp\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"pp\",\"section\":null,\"excerpt\":\"Prints (pp-str obj indent) followed by a newline. Returns nil. Arity: 2 · Return: Prints (pp-str obj indent) followed by a newline · Evaluation: eager · Effects\"},{\"slug\":\"stdlib\",\"anchor\":\"pretty\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"pretty?\",\"section\":null,\"excerpt\":\"Returns true when no line in (pp-str obj 2) exceeds max-width characters. Arity: 2 · Return: true when no line in (pp-str obj 2) exceeds max-width characters · \"},{\"slug\":\"stdlib\",\"anchor\":\"hqlregex\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"@hql/regex\",\"section\":\"Packages\",\"excerpt\":\"8 documented · 8 exported · source →\"},{\"slug\":\"stdlib\",\"anchor\":\"pattern\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"pattern\",\"section\":null,\"excerpt\":\"Compiles a regex from src with optional flags (e.g. \\\"gi\\\"). Pass nil for no flags. Arity: 2 · Return: Compiles a regex from src with optional flags (e.g · Evalua\"}
29,{\"slug\":\"stdlib\",\"anchor\":\"find\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"find\",\"section\":null,\"excerpt\":\"Returns the first match of re in s, or nil if none. Arity: 2 · Return: the first match of re in s, or nil if none · Evaluation: eager · Effects: pure/derived va\"},{\"slug\":\"stdlib\",\"anchor\":\"find-all\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"find-all\",\"section\":null,\"excerpt\":\"Returns an array of all matched strings. re must have the 'g' flag. Arity: 2 · Return: an array of all matched strings · Evaluation: eager · Effects: pure/deriv\"},{\"slug\":\"stdlib\",\"anchor\":\"match\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"match?\",\"section\":null,\"excerpt\":\"Returns true when s matches re anywhere. Arity: 2 · Return: true when s matches re anywhere · Evaluation: eager · Effects: pure/derived value · Host: portable R\"},{\"slug\":\"stdlib\",\"anchor\":\"replace\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"replace\",\"section\":null,\"excerpt\":\"Replaces the first match of re in s with replacement. Arity: 3 · Return: Replaces the first match of re in s with replacement · Evaluation: eager · Effects: pur\"},{\"slug\":\"stdlib\",\"anchor\":\"replace-all\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"replace-all\",\"section\":null,\"excerpt\":\"Replaces every match of re in s with replacement. re must have the 'g' flag. Arity: 3 · Return: Replaces every match of re in s with replacement · Evaluation: e\"},{\"slug\":\"stdlib\",\"anchor\":\"split\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"split\",\"section\":null,\"excerpt\":\"Splits s at every match of re. Arity: 2 · Return: Splits s at every match of re · Evaluation: eager · Effects: pure/derived value · Host: portable RegExp · Thro\"},{\"slug\":\"stdlib\",\"anchor\":\"escape\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"escape\",\"section\":null,\"excerpt\":\"Escapes s so it can be embedded literally inside a pattern. Arity: 1 · Return: Escapes s so it can be embedded literally inside a pattern · Evaluation: eager · \"},{\"slug\":\"stdlib\",\"anchor\":\"hqlset\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"@hql/set\",\"section\":\"Packages\",\"excerpt\":\"8 documented · 8 exported · source →\"},{\"slug\":\"stdlib\",\"anchor\":\"to-array\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"to-array\",\"section\":null,\"excerpt\":\"Returns the elements of s as a JS array (order: insertion order). Arity: 1 · Return: the elements of s as a JS array (order: insertion order) · Evaluation: eage\"},{\"slug\":\"stdlib\",\"anchor\":\"union\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"union\",\"section\":null,\"excerpt\":\"Returns a new Set containing every element from all input sets. Arity: 0+ · Return: a new Set containing every element from all input sets · Evaluation: eager ·\"},{\"slug\":\"stdlib\",\"anchor\":\"intersection\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"intersection\",\"section\":null,\"excerpt\":\"Returns a new Set containing only elements present in every input set. Arity: 0+ · Return: a new Set containing only elements present in every input set · Evalu\"},{\"slug\":\"stdlib\",\"anchor\":\"difference\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"difference\",\"section\":null,\"excerpt\":\"Returns a new Set containing elements in the first set but not in any of the others. Arity: 0+ · Return: a new Set containing elements in the first set but not \"},{\"slug\":\"stdlib\",\"anchor\":\"subset\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"subset?\",\"section\":null,\"excerpt\":\"Returns true when every element of sub is in larger. Arity: 2 · Return: true when every element of sub is in larger · Evaluation: eager · Effects: pure/derived \"},{\"slug\":\"stdlib\",\"anchor\":\"superset\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"superset?\",\"section\":null,\"excerpt\":\"Returns true when larger contains every element of sub. Arity: 2 · Return: true when larger contains every element of sub · Evaluation: eager · Effects: pure/de\"},{\"slug\":\"stdlib\",\"anchor\":\"disjoint\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"disjoint?\",\"section\":null,\"excerpt\":\"Returns true when a and b share no elements. Arity: 2 · Return: true when a and b share no elements · Evaluation: eager · Effects: pure/derived value · Host: po\"},{\"slug\":\"stdlib\",\"anchor\":\"select\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"select\",\"section\":null,\"excerpt\":\"Returns a new Set of s elements for which pred returns truthy. Arity: 2 · Return: a new Set of s elements for which pred returns truthy · Evaluation: eager · Ef\"},{\"slug\":\"stdlib\",\"anchor\":\"hqlstring\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"@hql/string\",\"section\":\"Packages\",\"excerpt\":\"23 documented · 23 exported · source →\"},{\"slug\":\"stdlib\",\"anchor\":\"split\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"split\",\"section\":null,\"excerpt\":\"Splits string s at every occurrence of sep. Returns an array of substrings. Arity: 2 · Return: Splits string s at every occurrence of sep · Evaluation: eager · \"}
29,{\"slug\":\"stdlib\",\"anchor\":\"join\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"join\",\"section\":null,\"excerpt\":\"Joins array arr of strings into one string with sep between elements. Arity: 2 · Return: Joins array arr of strings into one string with sep between elements · \"},{\"slug\":\"stdlib\",\"anchor\":\"trim\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"trim\",\"section\":null,\"excerpt\":\"Returns s with leading and trailing whitespace removed. Arity: 1 · Return: s with leading and trailing whitespace removed · Evaluation: eager · Effects: pure/de\"},{\"slug\":\"stdlib\",\"anchor\":\"upper-case\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"upper-case\",\"section\":null,\"excerpt\":\"Returns s with all characters upper-cased. Arity: 1 · Return: s with all characters upper-cased · Evaluation: eager · Effects: pure/derived value · Host: portab\"},{\"slug\":\"stdlib\",\"anchor\":\"lower-case\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"lower-case\",\"section\":null,\"excerpt\":\"Returns s with all characters lower-cased. Arity: 1 · Return: s with all characters lower-cased · Evaluation: eager · Effects: pure/derived value · Host: portab\"},{\"slug\":\"stdlib\",\"anchor\":\"starts-with\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"starts-with?\",\"section\":null,\"excerpt\":\"Returns true when s begins with search. Arity: 2 · Return: true when s begins with search · Evaluation: eager · Effects: pure/derived value · Host: portable · T\"},{\"slug\":\"stdlib\",\"anchor\":\"ends-with\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"ends-with?\",\"section\":null,\"excerpt\":\"Returns true when s ends with search. Arity: 2 · Return: true when s ends with search · Evaluation: eager · Effects: pure/derived value · Host: portable · Throw\"},{\"slug\":\"stdlib\",\"anchor\":\"replace\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"replace\",\"section\":null,\"excerpt\":\"Replaces the first occurrence of search in s with replacement. Arity: 3 · Return: Replaces the first occurrence of search in s with replacement · Evaluation: ea\"},{\"slug\":\"stdlib\",\"anchor\":\"blank\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"blank?\",\"section\":null,\"excerpt\":\"Returns true when s is nil, empty, or contains only whitespace. Arity: 1 · Return: true when s is nil, empty, or contains only whitespace · Evaluation: eager · \"},{\"slug\":\"stdlib\",\"anchor\":\"not-blank\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"not-blank?\",\"section\":null,\"excerpt\":\"Opposite of blank? — returns true when s has at least one non-whitespace character. Arity: 1 · Return: Opposite of blank? — returns true when s has at least one\"},{\"slug\":\"stdlib\",\"anchor\":\"capitalize\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"capitalize\",\"section\":null,\"excerpt\":\"Returns s with the first character upper-cased and the rest lower-cased. Arity: 1 · Return: s with the first character upper-cased and the rest lower-cased · Ev\"},{\"slug\":\"stdlib\",\"anchor\":\"pad-left\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"pad-left\",\"section\":null,\"excerpt\":\"Pads s on the left with pad (default \\\" \\\") until it reaches width. Arity: 3 · Return: Pads s on the left with pad (default \\\" \\\") until it reaches width · Evaluati\"},{\"slug\":\"stdlib\",\"anchor\":\"pad-right\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"pad-right\",\"section\":null,\"excerpt\":\"Pads s on the right with pad (default \\\" \\\") until it reaches width. Arity: 3 · Return: Pads s on the right with pad (default \\\" \\\") until it reaches width · Evalua\"},{\"slug\":\"stdlib\",\"anchor\":\"repeat-str\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"repeat-str\",\"section\":null,\"excerpt\":\"Returns s concatenated n times. Throws if n is negative. Arity: 2 · Return: s concatenated n times · Evaluation: eager · Effects: pure/derived value · Host: por\"},{\"slug\":\"stdlib\",\"anchor\":\"reverse-str\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"reverse-str\",\"section\":null,\"excerpt\":\"Returns s with character order reversed (ASCII; combining marks may render oddly). Arity: 1 · Return: s with character order reversed (ASCII; combining marks ma\"},{\"slug\":\"stdlib\",\"anchor\":\"index-of\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"index-of\",\"section\":null,\"excerpt\":\"Returns the first index of search in s, or -1 if not found. Arity: 2 · Return: the first index of search in s, or -1 if not found · Evaluation: eager · Effects:\"},{\"slug\":\"stdlib\",\"anchor\":\"last-index-of\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"last-index-of\",\"section\":null,\"excerpt\":\"Returns the last index of search in s, or -1 if not found. Arity: 2 · Return: the last index of search in s, or -1 if not found · Evaluation: eager · Effects: p\"},{\"slug\":\"stdlib\",\"anchor\":\"replace-first\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"replace-first\",\"section\":null,\"excerpt\":\"Replaces only the first match of search (string or RegExp) in s with replacement. Arity: 3 · Return: Replaces only the first match of search (string or RegExp) \"},{\"slug\":\"stdlib\",\"anchor\":\"split-lines\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"split-lines\",\"section\":null,\"excerpt\":\"Splits s into lines on \\\\r\\\\n, \\\\r, or \\\\n. Arity: 1 · Return: Splits s into lines on \\\\r\\\\n, \\\\r, or \\\\n · Evaluation: eager · Effects: pure/derived value · Host: port\"},{\"slug\":\"stdlib\",\"anchor\":\"camel-case\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"camel-case\",\"section\":null,\"excerpt\":\"Converts s (space-, dash-, or underscore-separated) to camelCase. Arity: 1 · Return: Converts s (space-, dash-, or underscore-separated) to camelCase · Evaluati\"},{\"slug\":\"stdlib\",\"anchor\":\"kebab-case\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"kebab-case\",\"section\":null,\"excerpt\":\"Converts s to kebab-case (lowercased, dash-separated). Arity: 1 · Return: Converts s to kebab-case (lowercased, dash-separated) · Evaluation: eager · Effects: p\"},{\"slug\":\"stdlib\",\"anchor\":\"snake-case\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"snake-case\",\"section\":null,\"excerpt\":\"Converts s to snakecase (lowercased, underscore-separated). Arity: 1 · Return: Converts s to snakecase (lowercased, underscore-separated) · Evaluation: eager · \"},{\"slug\":\"stdlib\",\"anchor\":\"title-case\",\"title\":\"HQL Standard Library\",\"label\":\"Stdlib\",\"group\":\"Reference\",\"heading\":\"title-case\",\"section\":null,\"excerpt\":\"Converts s to Title Case (each word capitalized, spaces preserved). Arity: 1 · Return: Converts s to Title Case (each word capitalized, spaces preserved) · Eval\"},{\"slug\":\"errors\",\"anchor\":null,\"title\":\"HQL Error Reporting System\",\"label\":\"Errors\",\"group\":\"Reference\",\"heading\":null,\"section\":null,\"excerpt\":\"This document describes how HQL detects, reports, and maps errors back to your original source code. 1. Overview 2. Error Categories 3. The Compilation Pipeline 4. Position Tracking 5. Source Map Chai...\"},{\"slug\":\"errors\",\"anchor\":\"table-of-contents\",\"title\":\"HQL Error Reporting System\",\"label\":\"Errors\",\"group\":\"Reference\",\"heading\":\"Table of Contents\",\"section\":null,\"excerpt\":\"1. Overview 2. Error Categories 3. The Compilation Pipeline 4. Position Tracking 5. Source Map Chain 6. Type Error Integration 7. Error Message Format 8. Error \"},{\"slug\":\"errors\",\"anchor\":\"overview\",\"title\":\"HQL Error Reporting System\",\"label\":\"Errors\",\"group\":\"Reference\",\"heading\":\"Overview\",\"section\":null,\"excerpt\":\"HQL reports errors from parsing, import resolution, transformation, type checking, code generation, and runtime execution. When something goes wrong, HQL report\"},{\"slug\":\"errors\",\"anchor\":\"error-categories\",\"title\":\"HQL Error Reporting System\",\"label\":\"Errors\",\"group\":\"Reference\",\"heading\":\"Error Categories\",\"section\":null,\"excerpt\":\"HQL has four main categories of errors, each occurring at different stages:\"},{\"slug\":\"errors\",\"anchor\":\"1-parse-errors-hql1xxx\",\"title\":\"HQL Error Reporting System\",\"label\":\"Errors\",\"group\":\"Reference\",\"heading\":\"1. Parse Errors (HQL1xxx)\",\"section\":\"Error Categories\",\"excerpt\":\"Occur when HQL cannot understand your code's structure.\"},{\"slug\":\"errors\",\"anchor\":\"2-import-errors-hql2xxx\",\"title\":\"HQL Error Reporting System\",\"label\":\"Errors\",\"group\":\"Reference\",\"heading\":\"2. Import Errors (HQL2xxx)\",\"section\":\"Error Categories\",\"excerpt\":\"Occur when an imported module cannot be resolved.\"},{\"slug\":\"errors\",\"anchor\":\"3-type-errors-hql6004-hql610x\",\"title\":\"HQL Error Reporting System\",\"label\":\"Errors\",\"group\":\"Reference\",\"heading\":\"3. Type Errors (HQL6004 / HQL610x)\",\"section\":\"Error Categories\",\"excerpt\":\"Occur when the type checker finds type mismatches. HQL uses TypeScript's checker as the backend but rewrites diagnostics into HQL-native error codes such as HQL\"},{\"slug\":\"errors\",\"anchor\":\"4-runtime-errors-hql5xxx\",\"title\":\"HQL Error Reporting System\",\"label\":\"Errors\",\"group\":\"Reference\",\"heading\":\"4. Runtime Errors (HQL5xxx)\",\"section\":\"Error Categories\",\"excerpt\":\"Occur when code executes but encounters a problem. ---\"},{\"slug\":\"errors\",\"anchor\":\"the-compilation-pipeline\",\"title\":\"HQL Error Reporting System\",\"label\":\"Errors\",\"group\":\"Reference\",\"heading\":\"The Compilation Pipeline\",\"section\":null,\"excerpt\":\"Understanding the pipeline helps you understand where errors come from: ---\"},{\"slug\":\"errors\",\"anchor\":\"position-tracking\",\"title\":\"HQL Error Reporting System\",\"label\":\"Errors\",\"group\":\"Reference\",\"heading\":\"Position Tracking\",\"section\":null,\"excerpt\":\"HQL tracks the original position (line and column) of every piece of code through all transformations.\"},{\"slug\":\"errors\",\"anchor\":\"how-positions-flow-through-the-pipeline\",\"title\":\"HQL Error Reporting System\",\"label\":\"Errors\",\"group\":\"Reference\",\"heading\":\"How Positions Flow Through the Pipeline\",\"section\":\"Position Tracking\",\"excerpt\":\"\"},{\"slug\":\"errors\",\"anchor\":\"the-emit-function\",\"title\":\"HQL Error Reporting System\",\"label\":\"Errors\",\"group\":\"Reference\",\"heading\":\"The emit() Function\",\"section\":\"Position Tracking\",\"excerpt\":\"Position tracking happens in the TypeScript generator: ---\"}
29,{\"slug\":\"errors\",\"anchor\":\"source-map-chain\",\"title\":\"HQL Error Reporting System\",\"label\":\"Errors\",\"group\":\"Reference\",\"heading\":\"Source Map Chain\",\"section\":null,\"excerpt\":\"HQL creates a chain of source maps to trace from final JavaScript back to original HQL:\"},{\"slug\":\"errors\",\"anchor\":\"chaining-process\",\"title\":\"HQL Error Reporting System\",\"label\":\"Errors\",\"group\":\"Reference\",\"heading\":\"Chaining Process\",\"section\":\"Source Map Chain\",\"excerpt\":\"---\"},{\"slug\":\"errors\",\"anchor\":\"type-error-integration\",\"title\":\"HQL Error Reporting System\",\"label\":\"Errors\",\"group\":\"Reference\",\"heading\":\"Type Error Integration\",\"section\":null,\"excerpt\":\"HQL leverages TypeScript's type checker as a \\\"free\\\" type system:\"},{\"slug\":\"errors\",\"anchor\":\"type-errors-fail-closed\",\"title\":\"HQL Error Reporting System\",\"label\":\"Errors\",\"group\":\"Reference\",\"heading\":\"Type Errors Fail Closed\",\"section\":\"Type Error Integration\",\"excerpt\":\"On current hql run, type errors fail before JavaScript execution: On hql compile, the same type errors fail the build and no JavaScript is emitted: ---\"},{\"slug\":\"errors\",\"anchor\":\"error-message-format\",\"title\":\"HQL Error Reporting System\",\"label\":\"Errors\",\"group\":\"Reference\",\"heading\":\"Error Message Format\",\"section\":null,\"excerpt\":\"All HQL errors follow a consistent format: Some errors also append a note: line with extra context (for example, parse errors note that every ( must have a matc\"},{\"slug\":\"errors\",\"anchor\":\"components\",\"title\":\"HQL Error Reporting System\",\"label\":\"Errors\",\"group\":\"Reference\",\"heading\":\"Components\",\"section\":\"Error Message Format\",\"excerpt\":\"| Component        | Description                                          | | ---------------- | ---------------------------------------------------- | | Error \"},{\"slug\":\"errors\",\"anchor\":\"error-domains\",\"title\":\"HQL Error Reporting System\",\"label\":\"Errors\",\"group\":\"Reference\",\"heading\":\"Error Domains\",\"section\":\"Error Message Format\",\"excerpt\":\"The code prefix indicates the owning HQL boundary: - HQL errors come from language parsing, compilation, and runtime semantics. ---\"},{\"slug\":\"errors\",\"anchor\":\"error-codes-reference\",\"title\":\"HQL Error Reporting System\",\"label\":\"Errors\",\"group\":\"Reference\",\"heading\":\"Error Codes Reference\",\"section\":null,\"excerpt\":\"\u003e The numeric values below are the single source of truth in \u003e src/common/error-codes.ts (enum HQLErrorCode). Keep this table in sync.\"},{\"slug\":\"errors\",\"anchor\":\"parse-errors-hql1xxx\",\"title\":\"HQL Error Reporting System\",\"label\":\"Errors\",\"group\":\"Reference\",\"heading\":\"Parse Errors (HQL1xxx)\",\"section\":\"Error Codes Reference\",\"excerpt\":\"| Code    | Description       | | ------- | ----------------- | | HQL1001 | Unclosed list     | | HQL1002 | Unclosed string   | | HQL1003 | Unexpected token  | \"},{\"slug\":\"errors\",\"anchor\":\"import-errors-hql2xxx\",\"title\":\"HQL Error Reporting System\",\"label\":\"Errors\",\"group\":\"Reference\",\"heading\":\"Import Errors (HQL2xxx)\",\"section\":\"Error Codes Reference\",\"excerpt\":\"| Code    | Description                            | | ------- | -------------------------------------- | | HQL2001 | Invalid import syntax                  | |\"},{\"slug\":\"errors\",\"anchor\":\"validation-errors-hql3xxx\",\"title\":\"HQL Error Reporting System\",\"label\":\"Errors\",\"group\":\"Reference\",\"heading\":\"Validation Errors (HQL3xxx)\",\"section\":\"Error Codes Reference\",\"excerpt\":\"| Code    | Description               | | ------- | ------------------------- | | HQL3001 | Invalid function syntax   | | HQL3002 | Invalid class syntax      | \"},{\"slug\":\"errors\",\"anchor\":\"transform-errors-hql4xxx\",\"title\":\"HQL Error Reporting System\",\"label\":\"Errors\",\"group\":\"Reference\",\"heading\":\"Transform Errors (HQL4xxx)\",\"section\":\"Error Codes Reference\",\"excerpt\":\"| Co
29de    | Description             | | ------- | ----------------------- | | HQL4001 | Transformation failed   | | HQL4002 | Unsupported feature     | | HQL400\"},{\"slug\":\"errors\",\"anchor\":\"runtime-errors-hql5xxx\",\"title\":\"HQL Error Reporting System\",\"label\":\"Errors\",\"group\":\"Reference\",\"heading\":\"Runtime Errors (HQL5xxx)\",\"section\":\"Error Codes Reference\",\"excerpt\":\"| Code    | Description                 | | ------- | --------------------------- | | HQL5001 | Undefined variable          | | HQL5002 | Type mismatch         \"},{\"slug\":\"errors\",\"anchor\":\"codegen-errors-hql6xxx\",\"title\":\"HQL Error Reporting System\",\"label\":\"Errors\",\"group\":\"Reference\",\"heading\":\"Codegen Errors (HQL6xxx)\",\"section\":\"Error Codes Reference\",\"excerpt\":\"| Code    | Description                  | | ------- | ---------------------------- | | HQL6001 | Code generation failed       | | HQL6002 | Invalid codegen tar\"},{\"slug\":\"errors\",\"anchor\":\"macro-errors-hql7xxx\",\"title\":\"HQL Error Reporting System\",\"label\":\"Errors\",\"group\":\"Reference\",\"heading\":\"Macro Errors (HQL7xxx)\",\"section\":\"Error Codes Reference\",\"excerpt\":\"| Code    | Description              | | ------- | ------------------------ | | HQL7001 | Invalid macro definition | | HQL7002 | Macro expansion failed   | | HQ\"},{\"slug\":\"errors\",\"anchor\":\"type-errors-hql6004-hql610x\",\"title\":\"HQL Error Reporting System\",\"label\":\"Errors\",\"group\":\"Reference\",\"heading\":\"Type Errors (HQL6004 / HQL610x)\",\"section\":\"Error Codes Reference\",\"excerpt\":\"Type errors are detected by the TypeScript checker backend, then rewritten into HQL-native messages under error[HQL6004]: Type checking failed; individual diagn\"},{\"slug\":\"errors\",\"anchor\":\"troubleshooting\",\"title\":\"HQL Error Reporting System\",\"label\":\"Errors\",\"group\":\"Reference\",\"heading\":\"Troubleshooting\",\"section\":null,\"excerpt\":\"\"},{\"slug\":\"errors\",\"anchor\":\"error-position-seems-wrong\",\"title\":\"HQL Error Reporting System\",\"label\":\"Errors\",\"group\":\"Reference\",\"heading\":\"Error Position Seems Wrong\",\"section\":\"Troubleshooting\",\"excerpt\":\"If an error points to the wrong location: 1. Check for macros - Macro-generated code might have positions from macro    definition 2. Check for multi-byte chara\"},{\"slug\":\"errors\",\"anchor\":\"type-error-not-detected\",\"title\":\"HQL Error Reporting System\",\"label\":\"Errors\",\"group\":\"Reference\",\"heading\":\"Type Error Not Detected\",\"section\":\"Troubleshooting\",\"excerpt\":\"If a type error isn't being caught: 1. Add type annotations - HQL uses gradual typing; untyped code isn't    checked 2. Annotate rest parameters - Prefer ...res\"},{\"slug\":\"errors\",\"anchor\":\"stack-trace-points-to-generated-code\",\"title\":\"HQL Error Reporting System\",\"label\":\"Errors\",\"group\":\"Reference\",\"heading\":\"Stack Trace Points to Generated Code\",\"section\":\"Troubleshooting\",\"excerpt\":\"If runtime errors show JavaScript line numbers: 1. Source maps should handle this - Check that .js.map file exists 2. Use the HQL CLI - Directly running generat\"},{\"slug\":\"errors\",\"anchor\":\"see-also\",\"title\":\"HQL Error Reporting System\",\"label\":\"Errors\",\"group\":\"Reference\",\"heading\":\"See Also\",\"section\":null,\"excerpt\":\"- Type System Documentation - Full type annotation guide - HQL Language - Complete language reference - Testing Guide - How to test HQL code ---\"},{\"slug\":\"errors\",\"anchor\":\"production-readiness\",\"title\":\"HQL Error Reporting System\",\"label\":\"Errors\",\"group\":\"Reference\",\"heading\":\"Production Readiness\",\"section\":null,\"excerpt\":\"This section documents the verified behavior and known limitations of HQL's error reporting system.\"},{\"slug\":\"errors\",\"anchor\":\"current-verified-status\",\"title\":\"HQL Error Reporting System\",\"label\":\"Errors\",\"group\":\"Reference\",\"heading\":\"Current Verified Status\",\"section\":\"Production Readiness\",\"excerpt\":\"These checks are intentionally scoped to behavior proven by the current test suite. Do not describe the system as \\\"100% accurate\\\" unless every compiler, runtime\"}
29,{\"slug\":\"errors\",\"anchor\":\"known-limitations\",\"title\":\"HQL Error Reporting System\",\"label\":\"Errors\",\"group\":\"Reference\",\"heading\":\"Known Limitations\",\"section\":\"Production Readiness\",\"excerpt\":\"The system now has meaningful black-box coverage for the main CLI and compiled JavaScript paths, but it is still not a Rust/Swift-grade diagnostic system. Remai\"},{\"slug\":\"errors\",\"anchor\":\"historical-limitations\",\"title\":\"HQL Error Reporting System\",\"label\":\"Errors\",\"group\":\"Reference\",\"heading\":\"Historical Limitations\",\"section\":\"Production Readiness\",\"excerpt\":\"\"},{\"slug\":\"errors\",\"anchor\":\"1-user-defined-macro-positions-same-file\",\"title\":\"HQL Error Reporting System\",\"label\":\"Errors\",\"group\":\"Reference\",\"heading\":\"1. User-Defined Macro Positions (Same File)\",\"section\":null,\"excerpt\":\"Status: ✅ Fixed (December 2024) When a user-defined macro and its call site are in the same file, type errors in macro-expanded code may point to the macro defi\"},{\"slug\":\"errors\",\"anchor\":\"2-property-access-on-known-types\",\"title\":\"HQL Error Reporting System\",\"label\":\"Errors\",\"group\":\"Reference\",\"heading\":\"2. Property Access On Known Types\",\"section\":null,\"excerpt\":\"Status: By design (gradual typing) Accessing a missing property never throws — at runtime it returns undefined. Whether the checker flags the access depends on \"},{\"slug\":\"errors\",\"anchor\":\"technical-implementation\",\"title\":\"HQL Error Reporting System\",\"label\":\"Errors\",\"group\":\"Reference\",\"heading\":\"Technical Implementation\",\"section\":null,\"excerpt\":\"For developers working on HQL itself: | Component       | File                                                | | --------------- | ----------------------------\"}]},\"basePath\":\"/hql/docs\",\"children\":\"$L13\"}]\n"])</script>
29<script>self.__next_f.push([1,"a:null\nf:[[\"$\",\"title\",\"0\",{\"children\":\"HQL Documentation\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"HQL Documentation for HQL.\"}]]\n"])</script>
29<script>self.__next_f.push([1,"14:I[26532,[\"/_next/static/chunks/1paqz9hmy2bng.js\",\"/_next/static/chunks/2im7c515bo69p.js\",\"/_next/static/chunks/29mjea2ws9dwx.js\",\"/_next/static/chunks/3ufdgc3wh_cpq.js\",\"/_next/static/chunks/1nkj5fsywrxn5.js\"],\"default\"]\n15:T157e,"])</script>
29<script>self.__next_f.push([1,"# HQL Documentation\n\nHQL is a Lisp-shaped language that compiles to JavaScript and TypeScript. Start\nwith the guide, then use the reference and workflow pages as you build real\nprojects.\n\n```bash\necho '(print \"Hello, HQL\")' \u003e hello.hql\nhql hello.hql\n```\n\n## Language\n\n| Read this when                        | Doc                                                          |\n| ------------------------------------- | ------------------------------------------------------------ |\n| Learning the language                 | [GUIDE.md](/hql/docs/guide)                                         |\n| Looking up syntax and semantics       | [hql/LANGUAGE.md](/hql/docs/language)                           |\n| Checking authoritative language facts | [hql/SPEC.md](https://github.com/hlvm-dev/hql/blob/479ab5b88c78ef3a22ef3fceaf9bdc35b546e982/docs/hql/SPEC.md)                                   |\n| Wanting a compact cheat sheet         | [REFERENCE.md](https://github.com/hlvm-dev/hql/blob/479ab5b88c78ef3a22ef3fceaf9bdc35b546e982/docs/REFERENCE.md)                                 |\n| Writing types and annotations         | [TYPE-SYSTEM.md](https://github.com/hlvm-dev/hql/blob/479ab5b88c78ef3a22ef3fceaf9bdc35b546e982/docs/TYPE-SYSTEM.md)                             |\n| Writing checked pure/effectful code   | [hql/PURE-MODE.md](/hql/docs/pure-mode)                         |\n| Choosing between canonical spellings  | [style-guide.md](https://github.com/hlvm-dev/hql/blob/479ab5b88c78ef3a22ef3fceaf9bdc35b546e982/docs/style-guide.md)                             |\n| Reading how forms compose             | [hql/expression-foundation.md](https://github.com/hlvm-dev/hql/blob/479ab5b88c78ef3a22ef3fceaf9bdc35b546e982/docs/hql/expression-foundation.md) |\n\nPer-feature specs and runnable examples live in `docs/features/`.\n\n## API Reference (generated)\n\n| Read this when                | Doc                                          |\n| ----------------------------- | -------------------------------------------- |\n| Looking up stdlib functions   | [api/stdlib.md](/hql/docs/stdlib)               |\n| Looking up built-in operators | [api/builtins.md](https://github.com/hlvm-dev/hql/blob/479ab5b88c78ef3a22ef3fceaf9bdc35b546e982/docs/api/builtins.md)           |\n| Calling HQL programmatically  | [api/runtime.md](https://github.com/hlvm-dev/hql/blob/479ab5b88c78ef3a22ef3fceaf9bdc35b546e982/docs/api/runtime.md)             |\n| Understanding module loading  | [api/module-system.md](https://github.com/hlvm-dev/hql/blob/479ab5b88c78ef3a22ef3fceaf9bdc35b546e982/docs/api/module-system.md) |\n\n## Workflows\n\n| Read this when                             | Doc                            |\n| ------------------------------------------ | ------------------------------ |\n| Running files or mixed HQL/JS/TS code      | [CLI.md](/hql/docs/cli)               |\n| Managing dependencies or publishing        | [PACKAGES.md](/hql/docs/packages)     |\n| Calling JavaScript and TypeScript          | [JS-INTEROP.md](/hql/docs/interop) |\n| Building web or mobile applications        | [WEB-MOBILE.md](/hql/docs/web-mobile) |\n| Loading HQL in a browser (loaders/SRI/CSP) | [BROWSER.md](https://github.com/hlvm-dev/hql/blob/479ab5b88c78ef3a22ef3fceaf9bdc35b546e982/docs/BROWSER.md)       |\n| Writing React components                   | [REACT.md](https://github.com/hlvm-dev/hql/blob/479ab5b88c78ef3a22ef3fceaf9bdc35b546e982/docs/REACT.md)           |\n\n## Internals And Status\n\n| Read this when                  | Doc                                                |\n| ------------------------------- | -------------------------------------------------- |\n| Looking up an error code        | [ERROR-SYSTEM.md](/hql/docs/errors)                 |\n| Learning how the stdlib boots   | [SELF-HOSTED-STDLIB.md](https://github.com/hlvm-dev/hql/blob/479ab5b88c78ef3a22ef3fceaf9bdc35b546e982/docs/SELF-HOSTED-STDLIB.md)     |\n| Checking what evidence exists   | [PRODUCTION-READINESS.md](https://github.com/hlvm-dev/hql/blob/479ab5b88c78ef3a22ef3fceaf9bdc35b546e982/docs/PRODUCTION-READINESS.md) |\n| Filing a language-level defect  | [HQL-LANGUAGE-BACKLOG.md](https://github.com/hlvm-dev/hql/blob/479ab5b88c78ef3a22ef3fceaf9bdc35b546e982/docs/HQL-LANGUAGE-BACKLOG.md) |\n| Contributing or building source | [../CONTRIBUTING.md](https://github.com/hlvm-dev/hql/blob/479ab5b88c78ef3a22ef3fceaf9bdc35b546e982/CONTRIBUTING.md)           |\n| Running repository tests        | [TESTING.md](https://github.com/hlvm-dev/hql/blob/479ab5b88c78ef3a22ef3fceaf9bdc35b546e982/docs/TESTING.md)                           |\n| Cutting a release               | [RELEASE.md](https://github.com/hlvm-dev/hql/blob/479ab5b88c78ef3a22ef3fceaf9bdc35b546e982/docs/RELEASE.md)                           |\n| Editing or publishing docs      | [DOCS-PUBLISHING.md](https://github.com/hlvm-dev/hql/blob/479ab5b88c78ef3a22ef3fceaf9bdc35b546e982/docs/DOCS-PUBLISHING.md)           |\n\nDated performance campaign write-ups are kept under `docs/performance/`.\n\n## Source Authority\n\n- Syntax and semantics: `docs/hql/LANGUAGE.md` plus the feature specs.\n- Stdlib reference: generated from `src/hql/lib/stdlib/stdlib.hql`,\n  `packages/*/mod.hql`, and verified examples.\n- CLI behavior: `src/hql/cli.ts`, checked against public docs.\n- Depen
29dencies, manifests, and publishing: `docs/PACKAGES.md`.\n- Web and mobile project behavior: `docs/WEB-MOBILE.md`.\n\n## Feedback\n\nFound an issue with the docs? Open an issue in\n[`hlvm-dev/hql`](https://github.com/hlvm-dev/hql/issues).\n"])</script>
29<script>self.__next_f.push([1,"13:[\"$\",\"div\",null,{\"className\":\"app-container docs-app\",\"children\":[[\"$\",\"$L5\",null,{}],[\"$\",\"div\",null,{\"className\":\"scrollable-content\",\"children\":[\"$\",\"$L14\",null,{\"slug\":\"index\",\"content\":\"$15\"}]}],\"$L16\"]}]\n"])</script>
29<script>self.__next_f.push([1,"16:[\"$\",\"footer\",null,{\"className\":\"footer\",\"children\":[\"$\",\"div\",null,{\"className\":\"footer-container\",\"children\":[\"$\",\"div\",null,{\"className\":\"footer-content\",\"children\":[[\"$\",\"div\",null,{\"className\":\"footer-copy\",\"children\":[\"© \",2026,\" HLVM\"]}],[\"$\",\"div\",null,{\"className\":\"footer-links\",\"children\":[[\"$\",\"a\",\"Discord\",{\"href\":\"https://discord.gg/C6qfeudedY\",\"className\":\"footer-link\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"children\":\"Discord\"}],[\"$\",\"a\",\"LinkedIn\",{\"href\":\"https://www.linkedin.com/company/hlvm-dev\",\"className\":\"footer-link\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"children\":\"LinkedIn\"}],[\"$\",\"a\",\"X\",{\"href\":\"https://x.com/hlvm_dev\",\"className\":\"footer-link\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"children\":\"X\"}],[\"$\",\"a\",\"YouTube\",{\"href\":\"https://www.youtube.com/@hlvm-dev\",\"className\":\"footer-link\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"children\":\"YouTube\"}],[\"$\",\"a\",\"Slack\",{\"href\":\"https://join.slack.com/t/hlvm/shared_invite/zt-3bzzxnmqs-YMJDRAXw2~44uU82RyHHrA\",\"className\":\"footer-link\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"children\":\"Slack\"}],[\"$\",\"a\",\"Contact Us\",{\"href\":\"mailto:[email protected]\",\"className\":\"footer-link\",\"target\":\"$undefined\",\"rel\":\"$undefined\",\"children\":\"Contact Us\"}]]}]]}]}]}]\n"])</script>
29</body></html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.