1
0
Fork 0
cl-sites/lisp-docs.github.io/cl-language-reference/chap-18/bi-b-hash-table-concepts.html

74 lines
No EOL
45 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!doctype html>
<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-chap-18/bi-b-hash-table-concepts" data-has-hydrated="false">
<head>
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.0.1">
<title data-rh="true">18.1 Hash Table Concepts | Common Lisp (New) Language Reference</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://lisp-docs.github.io/cl-language-reference/img/1024px-Lisp_logo.svg.png"><meta data-rh="true" name="twitter:image" content="https://lisp-docs.github.io/cl-language-reference/img/1024px-Lisp_logo.svg.png"><meta data-rh="true" property="og:url" content="https://lisp-docs.github.io/cl-language-reference/chap-18/bi-b-hash-table-concepts"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="google-site-verification" content="Vzaw013_bfdKeUVG89Ch3W1zC9_vH9ID2dPB9Dz0vr0"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="18.1 Hash Table Concepts | Common Lisp (New) Language Reference"><meta data-rh="true" name="description" content="18.1.1 Hash"><meta data-rh="true" property="og:description" content="18.1.1 Hash"><link data-rh="true" rel="icon" href="../img/favicon.ico"><link data-rh="true" rel="canonical" href="bi-b-hash-table-concepts.html"><link data-rh="true" rel="alternate" href="bi-b-hash-table-concepts.html" hreflang="en"><link data-rh="true" rel="alternate" href="bi-b-hash-table-concepts.html" hreflang="x-default"><link data-rh="true" rel="preconnect" href="https://C1F2Q5VM6X-dsn.algolia.net" crossorigin="anonymous"><link rel="preconnect" href="https://www.google-analytics.com">
<link rel="preconnect" href="https://www.googletagmanager.com">
<script async src="https://www.googletagmanager.com/gtag/js?id=G-8TJCE4NSF8"></script>
<script>function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","G-8TJCE4NSF8",{})</script>
<link rel="search" type="application/opensearchdescription+xml" title="Common Lisp (New) Language Reference" href="../opensearch.xml"><link rel="stylesheet" href="../assets/css/styles.f13b59fe.css">
<script src="../assets/js/runtime~main.02699c25.js" defer="defer"></script>
<script src="../assets/js/main.4f0a7a76.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="bi-b-hash-table-concepts.html#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a href="../../index.html" target="_blank" rel="noopener noreferrer" class="navbar__brand"><div class="navbar__logo"><img src="../img/logo.svg" alt="Lisp Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="../img/logo.svg" alt="Lisp Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">Common Lisp Docs</b></a><a href="../../docs/tutorial/index.html" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">Tutorial</a><a href="../index.html" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">Technical Reference</a><a href="../../docs/whylisp.html" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">Why Lisp?</a><a href="../../docs/howto.html" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">Guides</a></div><div class="navbar__items navbar__items--right"><a href="../../docs/contribute.html" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">Contribute!</a><a href="../../docs/help.html" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">Getting Help</a><a href="../../docs/about.html" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">About</a><a href="../../blog.html" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">Blog</a><a href="https://github.com/lisp-docs" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="../index.html">Introduction</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="../chap-0/intro.html">Contents and Figures</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="../chap-1/b-b-scope-purpose-and-history.html">1. Introduction</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="../chap-2/c-b-character-syntax.html">2. Syntax</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="../chap-3/d-b-evaluation.html">3. Evaluation and Compilation</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="../chap-4/e-b-introduction.html">4. Types and Classes</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="../chap-5/f-b-generalized-reference.html">5. Data and Control Flow</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="../chap-6/g-b-the-loop-facility.html">6. Iteration</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="../chap-7/h-b-object-creation-and-initialization.html">7. Objects</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="../category/81-structures-dictionary.html">8. Structures</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="../chap-9/j-b-condition-system-concepts.html">9. Conditions</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="../chap-10/ba-b-symbol-concepts.html">10. Symbols</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="../chap-11/bb-b-package-concepts.html">11. Packages</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="../chap-12/bc-b-number-concepts.html">12. Numbers</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="../chap-13/bd-b-character-concepts.html">13. Characters</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="../chap-14/be-b-cons-concepts.html">14. Conses</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="../chap-15/bf-b-array-concepts.html">15. Arrays</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="../chap-16/bg-b-string-concepts.html">16. Strings</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="../chap-17/bh-b-sequence-concepts.html">17. Sequences</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="bi-b-hash-table-concepts.html">18. Hash Tables</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="bi-b-hash-table-concepts.html">18.1 Hash Table Concepts</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" tabindex="0" href="../category/182-hash-tables-dictionary.html">18.2 Hash Tables Dictionary</a><button aria-label="Expand sidebar category &#x27;18.2 Hash Tables Dictionary&#x27;" type="button" class="clean-btn menu__caret"></button></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="../chap-19/bj-b-overview-of-filenames.html">19. Filenames</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="../chap-20/ca-b-file-system-concepts.html">20. Files</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="../chap-21/cb-b-stream-concepts.html">21. Streams</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="../chap-22/cc-b-the-lisp-printer.html">22. Printer</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="../chap-23/cd-b-reader-concepts.html">23. Reader</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="../chap-24/ce-b-system-construction-concepts.html">24. System Construction</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="../chap-25/cf-b-the-external-environment.html">25. External Environment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="../environments.html">26. Environments</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="../meta-object-protocol.html">27. Meta Object Protocol</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="../data-structures.html">28. Data Structures</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="../portability/trivial-packages.html">29. Portability</a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="../dictionary-entries.html">dictionary-entries</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="../chap-26/intro.html">Glossary</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="../index.html"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">18. Hash Tables</span><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">18.1 Hash Table Concepts</span><meta itemprop="position" content="2"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><h1>18.1 Hash Table Concepts</h1>
<!-- -->
<!-- -->
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="1811-hash">18.1.1 Hash<a href="bi-b-hash-table-concepts.html#1811-hash" class="hash-link" aria-label="Direct link to 18.1.1 Hash" title="Direct link to 18.1.1 Hash"></a></h2>
<!-- -->
<p>Figure 181 lists some <span><i>defined names</i></span> that are applicable to <span><i>hash tables</i></span>. The following rules apply to <span><i>hash tables</i></span>.</p>
<p> A <span><i>hash table</i></span> can only associate one value with a given key. If an attempt is made to add a second value for a given key, the second value will replace the first. Thus, adding a value to a <span><i>hash table</i></span> is a destructive operation; the <span><i>hash table</i></span> is modified.</p>
<p> There are four kinds of <span><i>hash tables</i></span>: those whose keys are compared with <span><b>eq</b></span>, those whose keys are compared with <span><b>eql</b></span>, those whose keys are compared with <span><b>equal</b></span>, and those whose keys are compared with <span><b>equalp</b></span>.</p>
<p> <span><i>Hash tables</i></span> are created by <span><b>make-hash-table</b></span>. <span><b>gethash</b></span> is used to look up a key and find the associated value. New entries are added to <span><i>hash tables</i></span> using <span><b>setf</b></span> with <span><b>gethash</b></span>. <span><b>remhash</b></span> is used to remove an entry. For example:</p>
<div class="language-lisp codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-lisp codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">(</span><span class="token keyword" style="color:#00009f">setq</span><span class="token plain"> a </span><span class="token punctuation" style="color:#393A34">(</span><span class="token car">make-hash-table</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> → #&lt;HASH-TABLE EQL 0/120 32536573&gt;</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">(</span><span class="token car">setf</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token car">gethash</span><span class="token plain"> color a</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> brown</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> → BROWN</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">(</span><span class="token car">setf</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token car">gethash</span><span class="token plain"> name a</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> fred</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> → FRED</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">(</span><span class="token car">gethash</span><span class="token plain"> color a</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> → BROWN, *true*</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">(</span><span class="token car">gethash</span><span class="token plain"> name a</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> → FRED, *true*</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">(</span><span class="token car">gethash</span><span class="token plain"> pointy a</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> → NIL, *false*</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<p>In this example, the symbols color and name are being used as keys, and the symbols brown and fred are being used as the associated values. The <span><i>hash table</i></span> has two items in it, one of which associates from color to brown, and the other of which associates from name to fred.</p>
<p> A key or a value may be any <span><i>object</i></span>.</p>
<p> The existence of an entry in the <span><i>hash table</i></span> can be determined from the <span><i>secondary value</i></span> returned by <span><b>gethash</b></span>.</p>
<p>|</p><p><strong>clrhash hash-table-p remhash gethash make-hash-table sxhash</strong> </p>
<p><strong>hash-table-count maphash</strong></p>|<p></p>
<p>| :- |</p>
<p><strong>Figure 181. Hash-table defined names</strong></p>
<p>Hash</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="1812-modifying-hash-table-keys">18.1.2 Modifying Hash Table Keys<a href="bi-b-hash-table-concepts.html#1812-modifying-hash-table-keys" class="hash-link" aria-label="Direct link to 18.1.2 Modifying Hash Table Keys" title="Direct link to 18.1.2 Modifying Hash Table Keys"></a></h2>
<!-- -->
<p>The function supplied as the <!-- -->:test<!-- --> argument to <span><b>make-hash-table</b></span> specifies the equivalence test for the <span><i>hash table</i></span> it creates.</p>
<p>An <span><i>object</i></span> is visibly modified with regard to an equivalence test if there exists some set of <span><i>objects</i></span> (or potential <span><i>objects</i></span>) which are equivalent to the <span><i>object</i></span> before the modification but are no longer equivalent afterwards.</p>
<p>If an <em>object O</em><sub>1</sub> is used as a key in a <em>hash table H</em> and is then visibly modified with regard to the equivalence test of <em>H</em>, then the consequences are unspecified if <em>O</em><sub>1</sub>, or any <em>object O</em><sub>2</sub> equivalent to <em>O</em><sub>1</sub> under the equivalence test (either before or after the modification), is used as a key in further operations on <em>H</em>. The consequences of using <em>O</em><sub>1</sub> as a key are unspecified even if <em>O</em><sub>1</sub> is visibly</p>
<p>modified and then later modified again in such a way as to undo the visible modification.</p>
<p>Following are specifications of the modifications which are visible to the equivalence tests which must be supported by <span><i>hash tables</i></span>. The modifications are described in terms of modification of components, and are defined recursively. Visible modifications of components of the <span><i>object</i></span> are visible modifications of the <span><i>object</i></span>.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="18121-visible-modification-of-objects-with-respect-to-eq-and-eql">18.1.2.1 Visible Modification of Objects with respect to EQ and EQL<a href="bi-b-hash-table-concepts.html#18121-visible-modification-of-objects-with-respect-to-eq-and-eql" class="hash-link" aria-label="Direct link to 18.1.2.1 Visible Modification of Objects with respect to EQ and EQL" title="Direct link to 18.1.2.1 Visible Modification of Objects with respect to EQ and EQL"></a></h3>
<!-- -->
<p>No <em>standardized function</em> is provided that is capable of visibly modifying an <span><i>object</i></span> with regard to <span><b>eq</b></span> or <span><b>eql</b></span>.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="18122-visible-modification-of-objects-with-respect-to-equal">18.1.2.2 Visible Modification of Objects with respect to EQUAL<a href="bi-b-hash-table-concepts.html#18122-visible-modification-of-objects-with-respect-to-equal" class="hash-link" aria-label="Direct link to 18.1.2.2 Visible Modification of Objects with respect to EQUAL" title="Direct link to 18.1.2.2 Visible Modification of Objects with respect to EQUAL"></a></h3>
<!-- -->
<p>As a consequence of the behavior for <span><b>equal</b></span>, the rules for visible modification of <span><i>objects</i></span> not explicitly mentioned in this section are inherited from those in Section 18.1.2.1 (Visible Modification of Objects with respect to EQ and EQL).</p>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="181221-visible-modification-of-conses-with-respect-to-equal">18.1.2.2.1 Visible Modification of Conses with respect to EQUAL<a href="bi-b-hash-table-concepts.html#181221-visible-modification-of-conses-with-respect-to-equal" class="hash-link" aria-label="Direct link to 18.1.2.2.1 Visible Modification of Conses with respect to EQUAL" title="Direct link to 18.1.2.2.1 Visible Modification of Conses with respect to EQUAL"></a></h4>
<!-- -->
<p>Any visible change to the <span><i>car</i></span> or the <span><i>cdr</i></span> of a <span><i>cons</i></span> is considered a visible modification with regard to <span><b>equal</b></span>.</p>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="181222-visible-modification-of-bit-vectors-and-strings-with-respect-to-equal">18.1.2.2.2 Visible Modification of Bit Vectors and Strings with respect to EQUAL<a href="bi-b-hash-table-concepts.html#181222-visible-modification-of-bit-vectors-and-strings-with-respect-to-equal" class="hash-link" aria-label="Direct link to 18.1.2.2.2 Visible Modification of Bit Vectors and Strings with respect to EQUAL" title="Direct link to 18.1.2.2.2 Visible Modification of Bit Vectors and Strings with respect to EQUAL"></a></h4>
<!-- -->
<p>For a <span><i>vector</i></span> of <span><i>type</i></span> <span><b>bit-vector</b></span> or of <span><i>type</i></span> <span><b>string</b></span>, any visible change to an <em>active element</em> of the <span><i>vector</i></span> , or to the <span><i>length</i></span> of the <span><i>vector</i></span> (if it is <span><i>actually adjustable</i></span> or has a <span><i>fill pointer</i></span> ) is considered a visible modification with regard to <span><b>equal</b></span>.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="18123-visible-modification-of-objects-with-respect-to-equalp">18.1.2.3 Visible Modification of Objects with respect to EQUALP<a href="bi-b-hash-table-concepts.html#18123-visible-modification-of-objects-with-respect-to-equalp" class="hash-link" aria-label="Direct link to 18.1.2.3 Visible Modification of Objects with respect to EQUALP" title="Direct link to 18.1.2.3 Visible Modification of Objects with respect to EQUALP"></a></h3>
<!-- -->
<p>As a consequence of the behavior for <span><b>equalp</b></span>, the rules for visible modification of <span><i>objects</i></span> not explicitly mentioned in this section are inherited from those in Section 18.1.2.2 (Visible Modification of Objects with respect to EQUAL).</p>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="181231-visible-modification-of-structures-with-respect-to-equalp">18.1.2.3.1 Visible Modification of Structures with respect to EQUALP<a href="bi-b-hash-table-concepts.html#181231-visible-modification-of-structures-with-respect-to-equalp" class="hash-link" aria-label="Direct link to 18.1.2.3.1 Visible Modification of Structures with respect to EQUALP" title="Direct link to 18.1.2.3.1 Visible Modification of Structures with respect to EQUALP"></a></h4>
<!-- -->
<p>Any visible change to a <span><i>slot</i></span> of a <span><i>structure</i></span> is considered a visible modification with regard to <span><b>equalp</b></span>.</p>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="181232-visible-modification-of-arrays-with-respect-to-equalp">18.1.2.3.2 Visible Modification of Arrays with respect to EQUALP<a href="bi-b-hash-table-concepts.html#181232-visible-modification-of-arrays-with-respect-to-equalp" class="hash-link" aria-label="Direct link to 18.1.2.3.2 Visible Modification of Arrays with respect to EQUALP" title="Direct link to 18.1.2.3.2 Visible Modification of Arrays with respect to EQUALP"></a></h4>
<!-- -->
<p>In an <span><i>array</i></span>, any visible change to an <em>active element</em>, to the <span><i>fill pointer</i></span> (if the <span><i>array</i></span> can and does have one), or to the <span><i>dimensions</i></span> (if the <span><i>array</i></span> is <span><i>actually adjustable</i></span>) is considered a visible modification with regard to <span><b>equalp</b></span>.</p>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="181233-visible-modification-of-hash-tables-with-respect-to-equalp">18.1.2.3.3 Visible Modification of Hash Tables with respect to EQUALP<a href="bi-b-hash-table-concepts.html#181233-visible-modification-of-hash-tables-with-respect-to-equalp" class="hash-link" aria-label="Direct link to 18.1.2.3.3 Visible Modification of Hash Tables with respect to EQUALP" title="Direct link to 18.1.2.3.3 Visible Modification of Hash Tables with respect to EQUALP"></a></h4>
<!-- -->
<p>In a <span><i>hash table</i></span>, any visible change to the count of entries in the <span><i>hash table</i></span>, to the keys, or to the values associated with the keys is considered a visible modification with regard to <span><b>equalp</b></span>.</p>
<p>Note that the visibility of modifications to the keys depends on the equivalence test of the <span><i>hash table</i></span>, not on the specification of <span><b>equalp</b></span>.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="18124-visible-modifications-by-language-extensions">18.1.2.4 Visible Modifications by Language Extensions<a href="bi-b-hash-table-concepts.html#18124-visible-modifications-by-language-extensions" class="hash-link" aria-label="Direct link to 18.1.2.4 Visible Modifications by Language Extensions" title="Direct link to 18.1.2.4 Visible Modifications by Language Extensions"></a></h3>
<!-- -->
<!-- -->
<p><span><i>Implementations</i></span> that extend the language by providing additional mutator functions (or additional behavior for existing mutator functions) must document how the use of these extensions interacts with equivalence tests and <span><i>hash table</i></span> searches.</p>
<p><span><i>Implementations</i></span> that extend the language by defining additional acceptable equivalence tests for <span><i>hash tables</i></span> (allowing additional values for the <!-- -->:test<!-- --> argument to <span><b>make-hash-table</b></span>) must document the visible components of these tests.</p>
<p>Hash</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/lisp-docs/cl-language-reference/tree/main/docs/chap-18/bi-b-hash-table-concepts.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_vwxv"><span class="theme-last-updated">Last updated<!-- --> by <b>daninus14</b></span></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="../chap-17/bh-d-dictionary/subseq_accessor.html"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">subseq</div></a><a class="pagination-nav__link pagination-nav__link--next" href="../category/182-hash-tables-dictionary.html"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">18.2 Hash Tables Dictionary</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="bi-b-hash-table-concepts.html#1811-hash" class="table-of-contents__link toc-highlight">18.1.1 Hash</a></li><li><a href="bi-b-hash-table-concepts.html#1812-modifying-hash-table-keys" class="table-of-contents__link toc-highlight">18.1.2 Modifying Hash Table Keys</a><ul><li><a href="bi-b-hash-table-concepts.html#18121-visible-modification-of-objects-with-respect-to-eq-and-eql" class="table-of-contents__link toc-highlight">18.1.2.1 Visible Modification of Objects with respect to EQ and EQL</a></li><li><a href="bi-b-hash-table-concepts.html#18122-visible-modification-of-objects-with-respect-to-equal" class="table-of-contents__link toc-highlight">18.1.2.2 Visible Modification of Objects with respect to EQUAL</a><ul><li><a href="bi-b-hash-table-concepts.html#181221-visible-modification-of-conses-with-respect-to-equal" class="table-of-contents__link toc-highlight">18.1.2.2.1 Visible Modification of Conses with respect to EQUAL</a></li><li><a href="bi-b-hash-table-concepts.html#181222-visible-modification-of-bit-vectors-and-strings-with-respect-to-equal" class="table-of-contents__link toc-highlight">18.1.2.2.2 Visible Modification of Bit Vectors and Strings with respect to EQUAL</a></li></ul></li><li><a href="bi-b-hash-table-concepts.html#18123-visible-modification-of-objects-with-respect-to-equalp" class="table-of-contents__link toc-highlight">18.1.2.3 Visible Modification of Objects with respect to EQUALP</a><ul><li><a href="bi-b-hash-table-concepts.html#181231-visible-modification-of-structures-with-respect-to-equalp" class="table-of-contents__link toc-highlight">18.1.2.3.1 Visible Modification of Structures with respect to EQUALP</a></li><li><a href="bi-b-hash-table-concepts.html#181232-visible-modification-of-arrays-with-respect-to-equalp" class="table-of-contents__link toc-highlight">18.1.2.3.2 Visible Modification of Arrays with respect to EQUALP</a></li><li><a href="bi-b-hash-table-concepts.html#181233-visible-modification-of-hash-tables-with-respect-to-equalp" class="table-of-contents__link toc-highlight">18.1.2.3.3 Visible Modification of Hash Tables with respect to EQUALP</a></li></ul></li><li><a href="bi-b-hash-table-concepts.html#18124-visible-modifications-by-language-extensions" class="table-of-contents__link toc-highlight">18.1.2.4 Visible Modifications by Language Extensions</a></li></ul></li></ul></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="col footer__col"><div class="footer__title">Docs</div><ul class="footer__items clean-list"><li class="footer__item"><a href="../../docs/tutorial.html" target="_blank" rel="noopener noreferrer" class="footer__link-item">Common Lisp Tutorial</a></li><li class="footer__item"><a href="../index.html" target="_blank" rel="noopener noreferrer" class="footer__link-item">Common Lisp Technical Reference</a></li><li class="footer__item"><a href="../../docs/help.html" target="_blank" rel="noopener noreferrer" class="footer__link-item">Help</a></li></ul></div><div class="col footer__col"><div class="footer__title">Community</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://stackoverflow.com/questions/tagged/common-lisp" target="_blank" rel="noopener noreferrer" class="footer__link-item">Stack Overflow<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://discord.gg/hhk46CE" target="_blank" rel="noopener noreferrer" class="footer__link-item">Discord<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://www.reddit.com/r/common_lisp" target="_blank" rel="noopener noreferrer" class="footer__link-item">Reddit<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://irclog.tymoon.eu/libera/commonlisp" target="_blank" rel="noopener noreferrer" class="footer__link-item">IRC<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div><div class="col footer__col"><div class="footer__title">More</div><ul class="footer__items clean-list"><li class="footer__item"><a href="../../blog.html" target="_blank" rel="noopener noreferrer" class="footer__link-item">Blog</a></li><li class="footer__item"><a href="https://github.com/lisp-docs/lisp-docs.github.io" target="_blank" rel="noopener noreferrer" class="footer__link-item">Tutorial and General Content GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://github.com/lisp-docs/cl-language-reference/" target="_blank" rel="noopener noreferrer" class="footer__link-item">Technical Reference GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="../../docs/contribute.html" target="_blank" rel="noopener noreferrer" class="footer__link-item">Contribute to the Docs</a></li></ul></div><div class="col footer__col"><div class="footer__title">Common Lisp Docs</div><ul class="footer__items clean-list"><li class="footer__item"><a href="../../docs/about.html" target="_blank" rel="noopener noreferrer" class="footer__link-item">About</a></li><li class="footer__item"><a href="../../docs/whylisp.html" target="_blank" rel="noopener noreferrer" class="footer__link-item">Why Lisp</a></li><li class="footer__item"><a href="../../docs/getting-started.html" target="_blank" rel="noopener noreferrer" class="footer__link-item">Getting Started</a></li><li class="footer__item"><a href="../../docs/faq.html" target="_blank" rel="noopener noreferrer" class="footer__link-item">FAQ</a></li><li class="footer__item"><a href="../../docs/help.html" target="_blank" rel="noopener noreferrer" class="footer__link-item">Getting Help</a></li><li class="footer__item"><a href="../../docs/howto.html" target="_blank" rel="noopener noreferrer" class="footer__link-item">How To Guides</a></li></ul></div></div><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Common Lisp Docs, MIT License (see GitHub Repo).</div></div></div></footer></div>
</body>
</html>