Something went wrong. Try again.
DASL — Data-Addressed Structures & Links — is a small set of simple, standard primitives for working with content-addressed, linked data. If
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289@import "shared.css";
:root { --flag-colour: gold; --flag-border-size: 3px;}
body { line-height: 1.4; font-size: 1.2rem;}.stripe { display: flex; height: 30px; font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em;}.stripe > * { flex: 1 1 0; min-width: 0;}.stripe a { display: flex; align-items: center; padding-left: 16px; background: var(--yellow); color: #000; text-decoration: none; white-space: nowrap;}.stripe a span { margin-right: 6px;}.stripe a:hover { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 3px;}.stripe .green { background: var(--green); }.stripe .purple { background: var(--purple); }.stripe .orange { background: var(--orange); }.stripe .red { background: var(--red); }.stripe .blue { background: var(--blue); }main { max-width: var(--spec-width);}header { padding: 2.5rem 1rem 1rem 1rem;}h1 { font-weight: 700; font-size: 3rem; line-height: 1.2; letter-spacing: -0.01em; margin: 0 0 1.75rem 0; text-decoration: underline; text-decoration-color: var(--green); text-decoration-thickness: 6px; text-underline-offset: 7px;}header table { border-collapse: collapse; font-size: 1rem; line-height: 1.45;}header th { font-weight: 500; font-size: 0.875rem; letter-spacing: .06em; text-transform: uppercase; text-align: left; vertical-align: baseline; white-space: nowrap; padding: 3.5px 16px 3.5px 0;}header td { vertical-align: baseline; padding: 3.5px 0;}header table p { margin: 0;}section, ul, ol { margin: 0 1rem 1rem 1rem; max-width: 70ch;}section section { margin: 0 0 1rem 0;}ul, ol { padding-left: 1rem; max-width: calc(70ch - 1rem);}ul > li { list-style-type: square;}dt { font-weight: bold;}h2 { font-weight: 400; font-size: var(--header-font-size); text-decoration: underline; text-decoration-thickness: 5px; text-transform: uppercase;}h3 { margin-bottom: 0;}h3 + p { margin-top: 0;}header table a, a.ref { text-decoration: none;}header table a:hover, a.ref:hover { text-decoration: underline;}pre { border: 3px solid #000; background: #fafafa; padding: 14px 16px; overflow-x: auto;}pre code.hljs { background: transparent;}.site-footer { box-sizing: border-box; width: calc(100% - 2rem); max-width: var(--spec-width); margin: 4rem auto 2rem; border: 3px solid #000; padding: 10px 14px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; font-size: 1.05rem;}.site-footer p { margin: 0;}.site-footer nav { display: flex; flex-wrap: wrap; gap: 8px 14px;}.site-footer a { color: #000; font-weight: 700; text-transform: uppercase; text-decoration-thickness: 4px; padding: 2px 6px;}.site-footer a:nth-child(1) { text-decoration-color: var(--red); }.site-footer a:nth-child(2) { text-decoration-color: var(--yellow); }.site-footer a:nth-child(3) { text-decoration-color: var(--green); }.site-footer a:nth-child(1):hover { background: var(--red); }.site-footer a:nth-child(2):hover { background: var(--yellow); }.site-footer a:nth-child(3):hover { background: var(--green); }a.dfn-ref { text-decoration-color: var(--purple); /* text-decoration-thickness: 1px; */ color: inherit;}div.flag { border: var(--flag-border-size) solid var(--flag-colour); padding: 1rem; position: relative; margin-top: 3rem;}div.flag::before { content: "Issue"; display: block; position: absolute; top: -2.4rem; background: var(--flag-colour); left: calc(-1 * var(--flag-border-size)); border: var(--flag-border-size) solid var(--flag-colour); padding: 0.4rem 1rem; text-transform: uppercase; line-height: 1;}dt { font-weight: bold;}section table { border-collapse: collapse; margin: 1rem 0;}section th, section td { border: 3px solid #000; padding: 0.5rem 1rem; text-align: left;}section th { font-weight: 700; text-transform: uppercase; background-color: #000; color: #fff;}
@media only screen and (max-width:800px) { header table, header tr, header th, header td { display: block; } header th { padding-top: 10px; } h1 { font-size: 2.25rem; }}
/*
Colorbrewer themeOriginal: https://github.com/mbostock/colorbrewer-theme (c) Mike Bostock <mike@ocks.org>Ported by Fabrício Tavares de Oliveira
*/
.hljs { color: #000; background: #fff;}
.hljs-subst { /* default */}
.hljs-string,.hljs-meta,.hljs-symbol,.hljs-template-tag,.hljs-template-variable,.hljs-addition { color: #756bb1;}
.hljs-comment,.hljs-quote { color: #636363;}
.hljs-number,.hljs-regexp,.hljs-literal,.hljs-bullet,.hljs-link { color: #31a354;}
.hljs-deletion,.hljs-variable { color: #88f;}
.hljs-keyword,.hljs-selector-tag,.hljs-title,.hljs-section,.hljs-built_in,.hljs-doctag,.hljs-type,.hljs-tag,.hljs-name,.hljs-selector-id,.hljs-selector-class,.hljs-strong { color: #3182bd;}
.hljs-emphasis { font-style: italic;}
.hljs-attribute { color: #e6550d;}