包

与编译器同住本仓库的 Dawn 源码包。每个包都是带自己 dawn.toml 的工程,可以按路径依赖引用,也可以从发布版的源码归档引用。

  • 11 个包
  • 取自 dawn.toml、README.md 与 dawn doc
包manifest 名版本简介依赖引用写法
fspathfspath1.0.0

String functions over POSIX paths: normalize, resolve, join and split them without touching the filesystem.

fspath/fspath

只依赖 std路径fspath = "<dawn-lang>/packages/fspath"归档dawn add <archive> \ --subdir packages/fspath
inflateinflate33.1.1

Pure Dawn readers for raw DEFLATE, gzip and ZIP, plus CRC-32.

inflate/crc32 inflate/deflate inflate/gzip inflate/zip

只依赖 std路径inflate = "<dawn-lang>/packages/inflate"归档dawn add <archive> \ --subdir packages/inflate --as inflate
jsonjson22.0.2

A JSON (RFC 8259) parser and renderer in pure Dawn that keeps integers exact and reports errors a caller can branch on.

json/lexer json/parser json/render json/value

只依赖 std路径json = "<dawn-lang>/packages/json"归档dawn add <archive> \ --subdir packages/json --as json
sha2sha22.0.1

SHA-256 (FIPS 180-4) in pure Dawn, with an incremental digest and a one-shot hex helper.

sha2/sha256

只依赖 std路径sha2 = "<dawn-lang>/packages/sha2"归档dawn add <archive> \ --subdir packages/sha2
tea_coretea_core0.2.0

The vocabulary-free half of the Elm architecture: what a tree owes a reconciler, the reconciler, the walk, trait App, and subscriptions.

tea_core/app tea_core/cmd tea_core/diff tea_core/sub tea_core/tree tea_core/walk

只依赖 std路径tea_core = "<dawn-lang>/packages/tea-core"归档dawn add <archive> \ --subdir packages/tea-core
tea_domtea_dom0.5.0

The DOM half of the Elm architecture: a second vocabulary over packages/tea-core's reconciler contract, the wire format that carries a patch list out of a wasm module, and the reactor turn that answers one host message.

tea_dom/dsl tea_dom/node tea_dom/reactor tea_dom/render tea_dom/route tea_dom/wire

tea_core json路径tea_dom = "<dawn-lang>/packages/tea-dom"归档dawn add <archive> \ --subdir packages/tea-dom
tea_termtea_term0.4.1

The terminal half of the Elm architecture: the widget vocabulary, its DSL, its renderer, the row presenter, routing, and the driver loop.

tea_term/dsl tea_term/present tea_term/render tea_term/route tea_term/runtime tea_term/step tea_term/widget

tea_core路径tea_term = "<dawn-lang>/packages/tea-term"归档dawn add <archive> \ --subdir packages/tea-term
tileirtileir0.17.0

A pure Dawn generator of CUDA Tile IR that records a kernel body written against the Dev effect and emits it as cuda_tile text or as bytecode tileiras can assemble.

tileir/asm tileir/bytecode tileir/dev tileir/lower tileir/prog tileir/render

只依赖 std路径tileir = "<dawn-lang>/packages/tileir"归档dawn add <archive> \ --subdir packages/tileir
tilereftileref0.1.0

Host reference implementations of the Tile IR kernels: for each kernel, a pure function that answers what the device's output buffer should hold.

tileref/ref

只依赖 std路径tileref = "<dawn-lang>/packages/tileref"归档dawn add <archive> \ --subdir packages/tileref
webweb66.2.1

A small HTTP/1.1 framework over jdk.httpserver: routes are data, handlers are fn(Request) -> Result[Response, HttpError] !io, middleware are handler transformers.

web/middleware web/router web/server web/types

json路径web = "<dawn-lang>/packages/web"归档dawn add <archive> \ --subdir packages/web --as web
xmapxmap0.1.2

Pairs a program's source with the C text and the JVM bytecode it compiles to: which call wrote which lines. A function of strings and records, with no I/O.

xmap/dawnmap xmap/javap xmap/panes xmap/source xmap/table xmap/xmap

只依赖 std路径xmap = "<dawn-lang>/packages/xmap"归档dawn add <archive> \ --subdir packages/xmap

<dawn-lang> 是本仓库的一份检出,路径相对于使用方的 dawn.toml。<archive> 是某个发布版的源码归档,例如 https://github.com/dawnop/dawn-lang/archive/refs/tags/v0.90.0.zip;dawn add 会抓取它,并在 [deps.<alias>] 下写好 url、version、hash 与 subdir。

主版本 2 及以上的包,manifest 名以主版本号结尾(json2、web6)。第一列的别名是 use 行里写的名字,所以升主版本不用改它们。