Open the records from the stories exactly as the compiler wrote them.
The 10 public raw files
Example 1 + 2 1 + 2 * 3
Record Tokens Tree Types Operations Provenance
1 + 2 token record tokens.jsonlWe recorded this example for Episode 4.
The lines appear in the order Topaz wrote them in the file.
{"kind":"integer","ordinal":0,"schema":"topaz.compiler.tokens/v1","sourceId":"s:b0bf3d44f5dfbd643a64c8c7f820dff43e2af8c25d85ec0045202129687b06cf","sourceOrdinal":0,"span":{"hi":1,"lo":0,"sourceId":"s:b0bf3d44f5dfbd643a64c8c7f820dff43e2af8c25d85ec0045202129687b06cf"},"spelling":"1","stream":"raw","synthetic":false}{"kind":"plus","ordinal":1,"schema":"topaz.compiler.tokens/v1","sourceId":"s:b0bf3d44f5dfbd643a64c8c7f820dff43e2af8c25d85ec0045202129687b06cf","sourceOrdinal":0,"span":{"hi":3,"lo":2,"sourceId":"s:b0bf3d44f5dfbd643a64c8c7f820dff43e2af8c25d85ec0045202129687b06cf"},"spelling":"+","stream":"raw","synthetic":false}{"kind":"integer","ordinal":2,"schema":"topaz.compiler.tokens/v1","sourceId":"s:b0bf3d44f5dfbd643a64c8c7f820dff43e2af8c25d85ec0045202129687b06cf","sourceOrdinal":0,"span":{"hi":5,"lo":4,"sourceId":"s:b0bf3d44f5dfbd643a64c8c7f820dff43e2af8c25d85ec0045202129687b06cf"},"spelling":"2","stream":"raw","synthetic":false}{"kind":"newline","ordinal":3,"schema":"topaz.compiler.tokens/v1","sourceId":"s:b0bf3d44f5dfbd643a64c8c7f820dff43e2af8c25d85ec0045202129687b06cf","sourceOrdinal":0,"span":{"hi":6,"lo":5,"sourceId":"s:b0bf3d44f5dfbd643a64c8c7f820dff43e2af8c25d85ec0045202129687b06cf"},"spelling":"\n","stream":"raw","synthetic":false}{"kind":"eof","ordinal":4,"schema":"topaz.compiler.tokens/v1","sourceId":"s:b0bf3d44f5dfbd643a64c8c7f820dff43e2af8c25d85ec0045202129687b06cf","sourceOrdinal":0,"span":{"hi":6,"lo":6,"sourceId":"s:b0bf3d44f5dfbd643a64c8c7f820dff43e2af8c25d85ec0045202129687b06cf"},"spelling":"","stream":"raw","synthetic":false}{"kind":"integer","ordinal":0,"schema":"topaz.compiler.tokens/v1","sourceId":"s:b0bf3d44f5dfbd643a64c8c7f820dff43e2af8c25d85ec0045202129687b06cf","sourceOrdinal":0,"span":{"hi":1,"lo":0,"sourceId":"s:b0bf3d44f5dfbd643a64c8c7f820dff43e2af8c25d85ec0045202129687b06cf"},"spelling":"1","stream":"layout","synthetic":false}{"kind":"plus","ordinal":1,"schema":"topaz.compiler.tokens/v1","sourceId":"s:b0bf3d44f5dfbd643a64c8c7f820dff43e2af8c25d85ec0045202129687b06cf","sourceOrdinal":0,"span":{"hi":3,"lo":2,"sourceId":"s:b0bf3d44f5dfbd643a64c8c7f820dff43e2af8c25d85ec0045202129687b06cf"},"spelling":"+","stream":"layout","synthetic":false}{"kind":"integer","ordinal":2,"schema":"topaz.compiler.tokens/v1","sourceId":"s:b0bf3d44f5dfbd643a64c8c7f820dff43e2af8c25d85ec0045202129687b06cf","sourceOrdinal":0,"span":{"hi":5,"lo":4,"sourceId":"s:b0bf3d44f5dfbd643a64c8c7f820dff43e2af8c25d85ec0045202129687b06cf"},"spelling":"2","stream":"layout","synthetic":false}{"kind":"eof","ordinal":3,"schema":"topaz.compiler.tokens/v1","sourceId":"s:b0bf3d44f5dfbd643a64c8c7f820dff43e2af8c25d85ec0045202129687b06cf","sourceOrdinal":0,"span":{"hi":6,"lo":6,"sourceId":"s:b0bf3d44f5dfbd643a64c8c7f820dff43e2af8c25d85ec0045202129687b06cf"},"spelling":"","stream":"layout","synthetic":false}tokens.jsonl 2841 bytes sha256:97356c5c773c4714a3cc87d90cd6cf7f77729855cac2c7543b5448f0db4d38fd
Open this file exactly as it was written, opens in a new tab ↗
Compared Topaz compiler versions 5.21.0 and 5.21.1
This file had the same bytes in both versions.
Version Topaz compiler 5.21.1 topaz-lang@5.21.1
Compiler that made it topaz-native-k compiler.producer
Command topaz compiler observe inputs/w1/main.tpz --out-dir out/w1 --compiler self --terminal rust-source
Input hash sha256:cb898749d76e51fdaf6c6636920ccdb4f415fc1cffd1e2497636b38cc2469807Observation details
Input name w1
Observation commit 96aa9d8
Input bytes 31 20 2b 20 32 0a
Record schema topaz.compiler.tokens/v1Show the 14 files of the bundle File Size Hash ast.jsonl2311 bytes sha256:fe5b13011321da001156cfc25727a6180e740167bcc94195388aa4ffc891d929diagnostics.jsonl0 bytes sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855lowered.jsonl3332 bytes sha256:26968c7c119ad38d2e26b93fb70e69fb4f311aff8c5da0aad43c70ea3de16d23provenance.json1395 bytes sha256:10d510756a6d523979c5e891b955a573183f83bd9c20d29994d36546b3bd2a05request.json1155 bytes sha256:2860e9c21cf1c0a8aa86c80c7013c621df29fd8c41d45624fff4acdbd95ad382resolved.jsonl747 bytes sha256:9828e89b129b3be509a9465698d6caa813bd801b415170224292278563b7d41bresponse.json1020 bytes sha256:72e3e8708917a0f897f4466d0a7872da3178a16a6c93c721f2876cd84defa5b4rust-source.jsonlFor this file, you can see its name, size and hash. 7722 bytes sha256:51ca84a2cd85b1520fc1a734b0c9ab7edb987736086028c69abd019f0cdb63b3self-compilation-product.json2418 bytes sha256:c3cbfad3539faadabac5d7f6128e36d75d4668c9c10117f245caaeb848249b6asource-set.jsonl935 bytes sha256:02ed379005b32ab40416fff78b46ccdbe54e891e1795c75253299e04472eaac5sources/000000.tpz6 bytes sha256:cb898749d76e51fdaf6c6636920ccdb4f415fc1cffd1e2497636b38cc2469807tokens.jsonl2841 bytes sha256:97356c5c773c4714a3cc87d90cd6cf7f77729855cac2c7543b5448f0db4d38fdtopaz-observation.jsonThe listing file's own size and hash come from its bytes. 2304 bytes sha256:245f50ad3bbf0197a8e2a92838c007a78303057e316a6016cab110a40b04ae84typed.jsonl1238 bytes sha256:e57b1d4e30111eef8639b7cf460c35280dd91ddebf4c6bae3bc671d9c3f3fb7e
Bundle rootDigest sha256:bfeb4b4d1e491242f6c8606ff62e42298ea0d13f7df451d3f6707ddbdb12a506
Example 1 + 2 1 + 2 * 3
Record Tokens Tree Types Operations Provenance
1 + 2 tree record ast.jsonlWe recorded this example for Episode 4.
The lines appear in the order Topaz wrote them in the file.
{"field":"root","index":0,"kind":"program","nodeId":"s:b0bf3d44f5dfbd643a64c8c7f820dff43e2af8c25d85ec0045202129687b06cf#n00000000","parentNodeId":null,"schema":"topaz.compiler.ast/v1","sourceId":"s:b0bf3d44f5dfbd643a64c8c7f820dff43e2af8c25d85ec0045202129687b06cf","span":{"hi":6,"lo":0,"sourceId":"s:b0bf3d44f5dfbd643a64c8c7f820dff43e2af8c25d85ec0045202129687b06cf"},"spelling":""}{"field":"items","index":0,"kind":"statement/expression","nodeId":"s:b0bf3d44f5dfbd643a64c8c7f820dff43e2af8c25d85ec0045202129687b06cf#n00000001","parentNodeId":"s:b0bf3d44f5dfbd643a64c8c7f820dff43e2af8c25d85ec0045202129687b06cf#n00000000","schema":"topaz.compiler.ast/v1","sourceId":"s:b0bf3d44f5dfbd643a64c8c7f820dff43e2af8c25d85ec0045202129687b06cf","span":{"hi":5,"lo":0,"sourceId":"s:b0bf3d44f5dfbd643a64c8c7f820dff43e2af8c25d85ec0045202129687b06cf"},"spelling":""}{"field":"value","index":0,"kind":"expression/binary","nodeId":"s:b0bf3d44f5dfbd643a64c8c7f820dff43e2af8c25d85ec0045202129687b06cf#n00000002","operator":"add","parentNodeId":"s:b0bf3d44f5dfbd643a64c8c7f820dff43e2af8c25d85ec0045202129687b06cf#n00000001","schema":"topaz.compiler.ast/v1","sourceId":"s:b0bf3d44f5dfbd643a64c8c7f820dff43e2af8c25d85ec0045202129687b06cf","span":{"hi":5,"lo":0,"sourceId":"s:b0bf3d44f5dfbd643a64c8c7f820dff43e2af8c25d85ec0045202129687b06cf"},"spelling":""}{"field":"left","index":0,"kind":"expression/integer","nodeId":"s:b0bf3d44f5dfbd643a64c8c7f820dff43e2af8c25d85ec0045202129687b06cf#n00000003","parentNodeId":"s:b0bf3d44f5dfbd643a64c8c7f820dff43e2af8c25d85ec0045202129687b06cf#n00000002","schema":"topaz.compiler.ast/v1","sourceId":"s:b0bf3d44f5dfbd643a64c8c7f820dff43e2af8c25d85ec0045202129687b06cf","span":{"hi":1,"lo":0,"sourceId":"s:b0bf3d44f5dfbd643a64c8c7f820dff43e2af8c25d85ec0045202129687b06cf"},"spelling":"1","valueDecimal":"1"}{"field":"right","index":0,"kind":"expression/integer","nodeId":"s:b0bf3d44f5dfbd643a64c8c7f820dff43e2af8c25d85ec0045202129687b06cf#n00000004","parentNodeId":"s:b0bf3d44f5dfbd643a64c8c7f820dff43e2af8c25d85ec0045202129687b06cf#n00000002","schema":"topaz.compiler.ast/v1","sourceId":"s:b0bf3d44f5dfbd643a64c8c7f820dff43e2af8c25d85ec0045202129687b06cf","span":{"hi":5,"lo":4,"sourceId":"s:b0bf3d44f5dfbd643a64c8c7f820dff43e2af8c25d85ec0045202129687b06cf"},"spelling":"2","valueDecimal":"2"}ast.jsonl 2311 bytes sha256:fe5b13011321da001156cfc25727a6180e740167bcc94195388aa4ffc891d929
Open this file exactly as it was written, opens in a new tab ↗
Compared Topaz compiler versions 5.21.0 and 5.21.1
This file had the same bytes in both versions.
Version Topaz compiler 5.21.1 topaz-lang@5.21.1
Compiler that made it topaz-native-k compiler.producer
Command topaz compiler observe inputs/w1/main.tpz --out-dir out/w1 --compiler self --terminal rust-source
Input hash sha256:cb898749d76e51fdaf6c6636920ccdb4f415fc1cffd1e2497636b38cc2469807Observation details
Input name w1
Observation commit 96aa9d8
Input bytes 31 20 2b 20 32 0a
Record schema topaz.compiler.ast/v1Show the 14 files of the bundle File Size Hash ast.jsonl2311 bytes sha256:fe5b13011321da001156cfc25727a6180e740167bcc94195388aa4ffc891d929diagnostics.jsonl0 bytes sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855lowered.jsonl3332 bytes sha256:26968c7c119ad38d2e26b93fb70e69fb4f311aff8c5da0aad43c70ea3de16d23provenance.json1395 bytes sha256:10d510756a6d523979c5e891b955a573183f83bd9c20d29994d36546b3bd2a05request.json1155 bytes sha256:2860e9c21cf1c0a8aa86c80c7013c621df29fd8c41d45624fff4acdbd95ad382resolved.jsonl747 bytes sha256:9828e89b129b3be509a9465698d6caa813bd801b415170224292278563b7d41bresponse.json1020 bytes sha256:72e3e8708917a0f897f4466d0a7872da3178a16a6c93c721f2876cd84defa5b4rust-source.jsonlFor this file, you can see its name, size and hash. 7722 bytes sha256:51ca84a2cd85b1520fc1a734b0c9ab7edb987736086028c69abd019f0cdb63b3self-compilation-product.json2418 bytes sha256:c3cbfad3539faadabac5d7f6128e36d75d4668c9c10117f245caaeb848249b6asource-set.jsonl935 bytes sha256:02ed379005b32ab40416fff78b46ccdbe54e891e1795c75253299e04472eaac5sources/000000.tpz6 bytes sha256:cb898749d76e51fdaf6c6636920ccdb4f415fc1cffd1e2497636b38cc2469807tokens.jsonl2841 bytes sha256:97356c5c773c4714a3cc87d90cd6cf7f77729855cac2c7543b5448f0db4d38fdtopaz-observation.jsonThe listing file's own size and hash come from its bytes. 2304 bytes sha256:245f50ad3bbf0197a8e2a92838c007a78303057e316a6016cab110a40b04ae84typed.jsonl1238 bytes sha256:e57b1d4e30111eef8639b7cf460c35280dd91ddebf4c6bae3bc671d9c3f3fb7e
Bundle rootDigest sha256:bfeb4b4d1e491242f6c8606ff62e42298ea0d13f7df451d3f6707ddbdb12a506
Example 1 + 2 1 + 2 * 3
Record Tokens Tree Types Operations Provenance
1 + 2 type record typed.jsonlWe recorded this example for Episode 4.
The lines appear in the order Topaz wrote them in the file.
{"ambient":false,"nodeId":"s:b0bf3d44f5dfbd643a64c8c7f820dff43e2af8c25d85ec0045202129687b06cf#n00000003","nodeKind":"expression","rowKind":"node","schema":"topaz.compiler.typed/v1","sourceId":"s:b0bf3d44f5dfbd643a64c8c7f820dff43e2af8c25d85ec0045202129687b06cf","span":{"hi":1,"lo":0,"sourceId":"s:b0bf3d44f5dfbd643a64c8c7f820dff43e2af8c25d85ec0045202129687b06cf"},"type":{"kind":"literal","name":"int","value":"1"}}{"ambient":false,"nodeId":"s:b0bf3d44f5dfbd643a64c8c7f820dff43e2af8c25d85ec0045202129687b06cf#n00000001","nodeKind":"expression","rowKind":"node","schema":"topaz.compiler.typed/v1","sourceId":"s:b0bf3d44f5dfbd643a64c8c7f820dff43e2af8c25d85ec0045202129687b06cf","span":{"hi":5,"lo":0,"sourceId":"s:b0bf3d44f5dfbd643a64c8c7f820dff43e2af8c25d85ec0045202129687b06cf"},"type":{"kind":"primitive","name":"int"}}{"ambient":false,"nodeId":"s:b0bf3d44f5dfbd643a64c8c7f820dff43e2af8c25d85ec0045202129687b06cf#n00000004","nodeKind":"expression","rowKind":"node","schema":"topaz.compiler.typed/v1","sourceId":"s:b0bf3d44f5dfbd643a64c8c7f820dff43e2af8c25d85ec0045202129687b06cf","span":{"hi":5,"lo":4,"sourceId":"s:b0bf3d44f5dfbd643a64c8c7f820dff43e2af8c25d85ec0045202129687b06cf"},"type":{"kind":"literal","name":"int","value":"2"}}typed.jsonl 1238 bytes sha256:e57b1d4e30111eef8639b7cf460c35280dd91ddebf4c6bae3bc671d9c3f3fb7e
Open this file exactly as it was written, opens in a new tab ↗
Compared Topaz compiler versions 5.21.0 and 5.21.1
This file had the same bytes in both versions.
Version Topaz compiler 5.21.1 topaz-lang@5.21.1
Compiler that made it topaz-native-k compiler.producer
Command topaz compiler observe inputs/w1/main.tpz --out-dir out/w1 --compiler self --terminal rust-source
Input hash sha256:cb898749d76e51fdaf6c6636920ccdb4f415fc1cffd1e2497636b38cc2469807Observation details
Input name w1
Observation commit 96aa9d8
Input bytes 31 20 2b 20 32 0a
Record schema topaz.compiler.typed/v1Show the 14 files of the bundle File Size Hash ast.jsonl2311 bytes sha256:fe5b13011321da001156cfc25727a6180e740167bcc94195388aa4ffc891d929diagnostics.jsonl0 bytes sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855lowered.jsonl3332 bytes sha256:26968c7c119ad38d2e26b93fb70e69fb4f311aff8c5da0aad43c70ea3de16d23provenance.json1395 bytes sha256:10d510756a6d523979c5e891b955a573183f83bd9c20d29994d36546b3bd2a05request.json1155 bytes sha256:2860e9c21cf1c0a8aa86c80c7013c621df29fd8c41d45624fff4acdbd95ad382resolved.jsonl747 bytes sha256:9828e89b129b3be509a9465698d6caa813bd801b415170224292278563b7d41bresponse.json1020 bytes sha256:72e3e8708917a0f897f4466d0a7872da3178a16a6c93c721f2876cd84defa5b4rust-source.jsonlFor this file, you can see its name, size and hash. 7722 bytes sha256:51ca84a2cd85b1520fc1a734b0c9ab7edb987736086028c69abd019f0cdb63b3self-compilation-product.json2418 bytes sha256:c3cbfad3539faadabac5d7f6128e36d75d4668c9c10117f245caaeb848249b6asource-set.jsonl935 bytes sha256:02ed379005b32ab40416fff78b46ccdbe54e891e1795c75253299e04472eaac5sources/000000.tpz6 bytes sha256:cb898749d76e51fdaf6c6636920ccdb4f415fc1cffd1e2497636b38cc2469807tokens.jsonl2841 bytes sha256:97356c5c773c4714a3cc87d90cd6cf7f77729855cac2c7543b5448f0db4d38fdtopaz-observation.jsonThe listing file's own size and hash come from its bytes. 2304 bytes sha256:245f50ad3bbf0197a8e2a92838c007a78303057e316a6016cab110a40b04ae84typed.jsonl1238 bytes sha256:e57b1d4e30111eef8639b7cf460c35280dd91ddebf4c6bae3bc671d9c3f3fb7e
Bundle rootDigest sha256:bfeb4b4d1e491242f6c8606ff62e42298ea0d13f7df451d3f6707ddbdb12a506
Example 1 + 2 1 + 2 * 3
Record Tokens Tree Types Operations Provenance
1 + 2 operation record lowered.jsonlWe recorded this example for Episode 4.
These 8 lines appear in file order. 5 describe operations. The other 3 describe the module, a runtime part it needs and the runtime template.
{"entry":true,"extern":false,"identity":"main","initializationOrdinal":0,"operationIds":["op:main:0:0:6:ModuleInitialization:module","op:main:0:0:5:Statement:expression-statement","op:main:0:0:5:Expression:binary","op:main:0:0:1:Expression:integer","op:main:0:4:5:Expression:integer"],"path":"inputs/w1/main.tpz","rowKind":"module","schema":"topaz.compiler.lowered/v1","sourceId":"s:b0bf3d44f5dfbd643a64c8c7f820dff43e2af8c25d85ec0045202129687b06cf"}The module {"deterministic":true,"identity":"binary","rowKind":"runtime-leaf","schema":"topaz.compiler.lowered/v1"}A runtime part it needs {"identity":"stage1-ir-table/v1","rowKind":"runtime-template","schema":"topaz.compiler.lowered/v1","sha256":"sha256:79b4af8e5544a04eb021fe093dda38ed15b655e8dc56faef151807a8cb925d74"}The runtime template {"binding":null,"call":null,"control":null,"detail":null,"kind":"module","module":"main","operands":["op:main:0:0:5:Statement:expression-statement"],"operationId":"op:main:0:0:6:ModuleInitialization:module","parentOperationId":null,"representation":null,"role":"module-initialization","rowKind":"operation","runtimeLeaf":null,"schema":"topaz.compiler.lowered/v1","semanticType":null,"span":{"hi":6,"lo":0,"sourceId":"s:b0bf3d44f5dfbd643a64c8c7f820dff43e2af8c25d85ec0045202129687b06cf"}}Operation 1 · Getting the program ready {"binding":null,"call":null,"control":null,"detail":{"detail":null,"expressionKind":"block"},"kind":"expression","module":"main","operands":["op:main:0:0:5:Expression:binary"],"operationId":"op:main:0:0:5:Statement:expression-statement","parentOperationId":"op:main:0:0:6:ModuleInitialization:module","representation":"i64","role":"statement","rowKind":"operation","runtimeLeaf":null,"schema":"topaz.compiler.lowered/v1","semanticType":null,"span":{"hi":5,"lo":0,"sourceId":"s:b0bf3d44f5dfbd643a64c8c7f820dff43e2af8c25d85ec0045202129687b06cf"}}Operation 2 · The statement holding the expression {"binding":null,"call":null,"control":null,"detail":{"detail":"add","expressionKind":"binary"},"kind":"expression","module":"main","operands":["op:main:0:0:1:Expression:integer","op:main:0:4:5:Expression:integer"],"operationId":"op:main:0:0:5:Expression:binary","parentOperationId":"op:main:0:0:5:Statement:expression-statement","representation":"i64","role":"expression","rowKind":"operation","runtimeLeaf":"binary","schema":"topaz.compiler.lowered/v1","semanticType":null,"span":{"hi":5,"lo":0,"sourceId":"s:b0bf3d44f5dfbd643a64c8c7f820dff43e2af8c25d85ec0045202129687b06cf"}}Operation 3 · An operation on two values {"binding":null,"call":null,"control":null,"detail":{"detail":"1","expressionKind":"integer"},"kind":"expression","module":"main","operands":[],"operationId":"op:main:0:0:1:Expression:integer","parentOperationId":"op:main:0:0:5:Expression:binary","representation":"i64","role":"expression","rowKind":"operation","runtimeLeaf":null,"schema":"topaz.compiler.lowered/v1","semanticType":null,"span":{"hi":1,"lo":0,"sourceId":"s:b0bf3d44f5dfbd643a64c8c7f820dff43e2af8c25d85ec0045202129687b06cf"}}Operation 4 · A whole number {"binding":null,"call":null,"control":null,"detail":{"detail":"2","expressionKind":"integer"},"kind":"expression","module":"main","operands":[],"operationId":"op:main:0:4:5:Expression:integer","parentOperationId":"op:main:0:0:5:Expression:binary","representation":"i64","role":"expression","rowKind":"operation","runtimeLeaf":null,"schema":"topaz.compiler.lowered/v1","semanticType":null,"span":{"hi":5,"lo":4,"sourceId":"s:b0bf3d44f5dfbd643a64c8c7f820dff43e2af8c25d85ec0045202129687b06cf"}}Operation 5 · A whole number Episode 4's cards follow the order Topaz wrote the operations to the file.
The + itself takes up cell 3 of the source. The addition operation covers the whole expression, cells 1 to 5.
The statement and addition operations cover the same source range. The statement points to the addition, and the addition points to the two integer operations.
The type record gives 1, 2 and the expression 1 + 2 the type int. Those three operations have i64 in representation. That means a signed 64-bit integer representation. The outermost operation, module initialization, has no representation value.
The outermost operation, module initialization, covers the line feed (LF) at the end of the line too.
lowered.jsonl 3332 bytes sha256:26968c7c119ad38d2e26b93fb70e69fb4f311aff8c5da0aad43c70ea3de16d23
Open this file exactly as it was written, opens in a new tab ↗
Compared Topaz compiler versions 5.21.0 and 5.21.1
This file had the same bytes in both versions.
Version Topaz compiler 5.21.1 topaz-lang@5.21.1
Compiler that made it topaz-native-k compiler.producer
Command topaz compiler observe inputs/w1/main.tpz --out-dir out/w1 --compiler self --terminal rust-source
Input hash sha256:cb898749d76e51fdaf6c6636920ccdb4f415fc1cffd1e2497636b38cc2469807Observation details
Input name w1
Observation commit 96aa9d8
Input bytes 31 20 2b 20 32 0a
Record schema topaz.compiler.lowered/v1
Runtime template stage1-ir-table/v1
IR schema topaz.compiler.stage1-ir/v5 compiler.irSchemaShow the 14 files of the bundle File Size Hash ast.jsonl2311 bytes sha256:fe5b13011321da001156cfc25727a6180e740167bcc94195388aa4ffc891d929diagnostics.jsonl0 bytes sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855lowered.jsonl3332 bytes sha256:26968c7c119ad38d2e26b93fb70e69fb4f311aff8c5da0aad43c70ea3de16d23provenance.json1395 bytes sha256:10d510756a6d523979c5e891b955a573183f83bd9c20d29994d36546b3bd2a05request.json1155 bytes sha256:2860e9c21cf1c0a8aa86c80c7013c621df29fd8c41d45624fff4acdbd95ad382resolved.jsonl747 bytes sha256:9828e89b129b3be509a9465698d6caa813bd801b415170224292278563b7d41bresponse.json1020 bytes sha256:72e3e8708917a0f897f4466d0a7872da3178a16a6c93c721f2876cd84defa5b4rust-source.jsonlFor this file, you can see its name, size and hash. 7722 bytes sha256:51ca84a2cd85b1520fc1a734b0c9ab7edb987736086028c69abd019f0cdb63b3self-compilation-product.json2418 bytes sha256:c3cbfad3539faadabac5d7f6128e36d75d4668c9c10117f245caaeb848249b6asource-set.jsonl935 bytes sha256:02ed379005b32ab40416fff78b46ccdbe54e891e1795c75253299e04472eaac5sources/000000.tpz6 bytes sha256:cb898749d76e51fdaf6c6636920ccdb4f415fc1cffd1e2497636b38cc2469807tokens.jsonl2841 bytes sha256:97356c5c773c4714a3cc87d90cd6cf7f77729855cac2c7543b5448f0db4d38fdtopaz-observation.jsonThe listing file's own size and hash come from its bytes. 2304 bytes sha256:245f50ad3bbf0197a8e2a92838c007a78303057e316a6016cab110a40b04ae84typed.jsonl1238 bytes sha256:e57b1d4e30111eef8639b7cf460c35280dd91ddebf4c6bae3bc671d9c3f3fb7e
Bundle rootDigest sha256:bfeb4b4d1e491242f6c8606ff62e42298ea0d13f7df451d3f6707ddbdb12a506
Example 1 + 2 1 + 2 * 3
Record Tokens Tree Types Operations
1 + 2 * 3 token record tokens.jsonlWe recorded this example for Episode 4.
The lines appear in the order Topaz wrote them in the file.
{"kind":"integer","ordinal":0,"schema":"topaz.compiler.tokens/v1","sourceId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139","sourceOrdinal":0,"span":{"hi":1,"lo":0,"sourceId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139"},"spelling":"1","stream":"raw","synthetic":false}{"kind":"plus","ordinal":1,"schema":"topaz.compiler.tokens/v1","sourceId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139","sourceOrdinal":0,"span":{"hi":3,"lo":2,"sourceId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139"},"spelling":"+","stream":"raw","synthetic":false}{"kind":"integer","ordinal":2,"schema":"topaz.compiler.tokens/v1","sourceId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139","sourceOrdinal":0,"span":{"hi":5,"lo":4,"sourceId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139"},"spelling":"2","stream":"raw","synthetic":false}{"kind":"star","ordinal":3,"schema":"topaz.compiler.tokens/v1","sourceId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139","sourceOrdinal":0,"span":{"hi":7,"lo":6,"sourceId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139"},"spelling":"*","stream":"raw","synthetic":false}{"kind":"integer","ordinal":4,"schema":"topaz.compiler.tokens/v1","sourceId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139","sourceOrdinal":0,"span":{"hi":9,"lo":8,"sourceId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139"},"spelling":"3","stream":"raw","synthetic":false}{"kind":"newline","ordinal":5,"schema":"topaz.compiler.tokens/v1","sourceId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139","sourceOrdinal":0,"span":{"hi":10,"lo":9,"sourceId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139"},"spelling":"\n","stream":"raw","synthetic":false}{"kind":"eof","ordinal":6,"schema":"topaz.compiler.tokens/v1","sourceId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139","sourceOrdinal":0,"span":{"hi":10,"lo":10,"sourceId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139"},"spelling":"","stream":"raw","synthetic":false}{"kind":"integer","ordinal":0,"schema":"topaz.compiler.tokens/v1","sourceId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139","sourceOrdinal":0,"span":{"hi":1,"lo":0,"sourceId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139"},"spelling":"1","stream":"layout","synthetic":false}{"kind":"plus","ordinal":1,"schema":"topaz.compiler.tokens/v1","sourceId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139","sourceOrdinal":0,"span":{"hi":3,"lo":2,"sourceId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139"},"spelling":"+","stream":"layout","synthetic":false}{"kind":"integer","ordinal":2,"schema":"topaz.compiler.tokens/v1","sourceId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139","sourceOrdinal":0,"span":{"hi":5,"lo":4,"sourceId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139"},"spelling":"2","stream":"layout","synthetic":false}{"kind":"star","ordinal":3,"schema":"topaz.compiler.tokens/v1","sourceId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139","sourceOrdinal":0,"span":{"hi":7,"lo":6,"sourceId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139"},"spelling":"*","stream":"layout","synthetic":false}{"kind":"integer","ordinal":4,"schema":"topaz.compiler.tokens/v1","sourceId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139","sourceOrdinal":0,"span":{"hi":9,"lo":8,"sourceId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139"},"spelling":"3","stream":"layout","synthetic":false}{"kind":"eof","ordinal":5,"schema":"topaz.compiler.tokens/v1","sourceId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139","sourceOrdinal":0,"span":{"hi":10,"lo":10,"sourceId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139"},"spelling":"","stream":"layout","synthetic":false}tokens.jsonl 4110 bytes sha256:b9baaa0fba5b5e6df960627284d174a33c2651a1740bace189f3b46bd7f25953
Open this file exactly as it was written, opens in a new tab ↗
Compared Topaz compiler versions 5.21.0 and 5.21.1
This file had the same bytes in both versions.
Version Topaz compiler 5.21.1 topaz-lang@5.21.1
Compiler that made it topaz-native-k compiler.producer
Command topaz compiler observe inputs/w3/main.tpz --out-dir out/w3 --compiler self --terminal rust-source
Input hash sha256:3553c468c86fade22a00dab4c3970537a6d2e1588fa7514a01b860de9a151ba1Observation details
Input name w3
Observation commit 96aa9d8
Input bytes 31 20 2b 20 32 20 2a 20 33 0a
Record schema topaz.compiler.tokens/v1Show the 14 files of the bundle File Size Hash ast.jsonl3288 bytes sha256:9a7c4b7d6189ef10560f211fec2dad9a3bb5437598beac86aa2217fcfa70ee47diagnostics.jsonl0 bytes sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855lowered.jsonl4466 bytes sha256:1159c174cf94ad280cbf8a823ec74767e29c3624afa0ff9edbf53b05a8f34ebaprovenance.json1395 bytes sha256:10d510756a6d523979c5e891b955a573183f83bd9c20d29994d36546b3bd2a05request.json1156 bytes sha256:ae361d2ae0bb215014450dd296203ba2de06b552cf3e76cb8ccaf0c18253b26fresolved.jsonl748 bytes sha256:dc1436b30f79bf7f2f8342cfb2c892b0542e1998f09720cadef8b743000ce2ccresponse.json1020 bytes sha256:1440edb4389b802f2cb2f966e80647e52fb3135b62e2aee21c0013bc3748f0f4rust-source.jsonlFor this file, you can see its name, size and hash. 10287 bytes sha256:6910e188573d6837c47d0f9dbbdb02b70d4a8f06334c0dbde7997aab7d4cbe6fself-compilation-product.json2418 bytes sha256:891a8be1f7257ef9975d8e0aef8d50cde243f77467ec2963a06c3fef111bd387source-set.jsonl937 bytes sha256:c8a7ab1c4685022be2ce82fca21540149f7826f23e4390c053eeeded317511edsources/000000.tpz10 bytes sha256:3553c468c86fade22a00dab4c3970537a6d2e1588fa7514a01b860de9a151ba1tokens.jsonl4110 bytes sha256:b9baaa0fba5b5e6df960627284d174a33c2651a1740bace189f3b46bd7f25953topaz-observation.jsonThe listing file's own size and hash come from its bytes. 2306 bytes sha256:52ebc7b3172f0ab19c4ae0111edecb1787c44edb08d2b0bf0f7b22e2bdd9217ctyped.jsonl2060 bytes sha256:c4b0af2d43aa0cb381ef49acca1b6eaf5d8681e251c23c96c576c34fedccb42e
Bundle rootDigest sha256:c4824db06dd2bcc366173cfe66ffb7756c48a8667aded16080a842f414082f7c
Example 1 + 2 1 + 2 * 3
Record Tokens Tree Types Operations
1 + 2 * 3 tree record ast.jsonlWe recorded this example for Episode 4.
The lines appear in the order Topaz wrote them in the file.
{"field":"root","index":0,"kind":"program","nodeId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139#n00000000","parentNodeId":null,"schema":"topaz.compiler.ast/v1","sourceId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139","span":{"hi":10,"lo":0,"sourceId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139"},"spelling":""}{"field":"items","index":0,"kind":"statement/expression","nodeId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139#n00000001","parentNodeId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139#n00000000","schema":"topaz.compiler.ast/v1","sourceId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139","span":{"hi":9,"lo":0,"sourceId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139"},"spelling":""}{"field":"value","index":0,"kind":"expression/binary","nodeId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139#n00000002","operator":"add","parentNodeId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139#n00000001","schema":"topaz.compiler.ast/v1","sourceId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139","span":{"hi":9,"lo":0,"sourceId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139"},"spelling":""}{"field":"left","index":0,"kind":"expression/integer","nodeId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139#n00000003","parentNodeId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139#n00000002","schema":"topaz.compiler.ast/v1","sourceId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139","span":{"hi":1,"lo":0,"sourceId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139"},"spelling":"1","valueDecimal":"1"}{"field":"right","index":0,"kind":"expression/binary","nodeId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139#n00000004","operator":"multiply","parentNodeId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139#n00000002","schema":"topaz.compiler.ast/v1","sourceId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139","span":{"hi":9,"lo":4,"sourceId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139"},"spelling":""}{"field":"left","index":0,"kind":"expression/integer","nodeId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139#n00000005","parentNodeId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139#n00000004","schema":"topaz.compiler.ast/v1","sourceId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139","span":{"hi":5,"lo":4,"sourceId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139"},"spelling":"2","valueDecimal":"2"}{"field":"right","index":0,"kind":"expression/integer","nodeId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139#n00000006","parentNodeId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139#n00000004","schema":"topaz.compiler.ast/v1","sourceId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139","span":{"hi":9,"lo":8,"sourceId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139"},"spelling":"3","valueDecimal":"3"}ast.jsonl 3288 bytes sha256:9a7c4b7d6189ef10560f211fec2dad9a3bb5437598beac86aa2217fcfa70ee47
Open this file exactly as it was written, opens in a new tab ↗
Compared Topaz compiler versions 5.21.0 and 5.21.1
This file had the same bytes in both versions.
Version Topaz compiler 5.21.1 topaz-lang@5.21.1
Compiler that made it topaz-native-k compiler.producer
Command topaz compiler observe inputs/w3/main.tpz --out-dir out/w3 --compiler self --terminal rust-source
Input hash sha256:3553c468c86fade22a00dab4c3970537a6d2e1588fa7514a01b860de9a151ba1Observation details
Input name w3
Observation commit 96aa9d8
Input bytes 31 20 2b 20 32 20 2a 20 33 0a
Record schema topaz.compiler.ast/v1Show the 14 files of the bundle File Size Hash ast.jsonl3288 bytes sha256:9a7c4b7d6189ef10560f211fec2dad9a3bb5437598beac86aa2217fcfa70ee47diagnostics.jsonl0 bytes sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855lowered.jsonl4466 bytes sha256:1159c174cf94ad280cbf8a823ec74767e29c3624afa0ff9edbf53b05a8f34ebaprovenance.json1395 bytes sha256:10d510756a6d523979c5e891b955a573183f83bd9c20d29994d36546b3bd2a05request.json1156 bytes sha256:ae361d2ae0bb215014450dd296203ba2de06b552cf3e76cb8ccaf0c18253b26fresolved.jsonl748 bytes sha256:dc1436b30f79bf7f2f8342cfb2c892b0542e1998f09720cadef8b743000ce2ccresponse.json1020 bytes sha256:1440edb4389b802f2cb2f966e80647e52fb3135b62e2aee21c0013bc3748f0f4rust-source.jsonlFor this file, you can see its name, size and hash. 10287 bytes sha256:6910e188573d6837c47d0f9dbbdb02b70d4a8f06334c0dbde7997aab7d4cbe6fself-compilation-product.json2418 bytes sha256:891a8be1f7257ef9975d8e0aef8d50cde243f77467ec2963a06c3fef111bd387source-set.jsonl937 bytes sha256:c8a7ab1c4685022be2ce82fca21540149f7826f23e4390c053eeeded317511edsources/000000.tpz10 bytes sha256:3553c468c86fade22a00dab4c3970537a6d2e1588fa7514a01b860de9a151ba1tokens.jsonl4110 bytes sha256:b9baaa0fba5b5e6df960627284d174a33c2651a1740bace189f3b46bd7f25953topaz-observation.jsonThe listing file's own size and hash come from its bytes. 2306 bytes sha256:52ebc7b3172f0ab19c4ae0111edecb1787c44edb08d2b0bf0f7b22e2bdd9217ctyped.jsonl2060 bytes sha256:c4b0af2d43aa0cb381ef49acca1b6eaf5d8681e251c23c96c576c34fedccb42e
Bundle rootDigest sha256:c4824db06dd2bcc366173cfe66ffb7756c48a8667aded16080a842f414082f7c
Example 1 + 2 1 + 2 * 3
Record Tokens Tree Types Operations
1 + 2 * 3 type record typed.jsonlWe recorded this example for Episode 4.
The lines appear in the order Topaz wrote them in the file.
{"ambient":false,"nodeId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139#n00000003","nodeKind":"expression","rowKind":"node","schema":"topaz.compiler.typed/v1","sourceId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139","span":{"hi":1,"lo":0,"sourceId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139"},"type":{"kind":"literal","name":"int","value":"1"}}{"ambient":false,"nodeId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139#n00000001","nodeKind":"expression","rowKind":"node","schema":"topaz.compiler.typed/v1","sourceId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139","span":{"hi":9,"lo":0,"sourceId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139"},"type":{"kind":"primitive","name":"int"}}{"ambient":false,"nodeId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139#n00000005","nodeKind":"expression","rowKind":"node","schema":"topaz.compiler.typed/v1","sourceId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139","span":{"hi":5,"lo":4,"sourceId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139"},"type":{"kind":"literal","name":"int","value":"2"}}{"ambient":false,"nodeId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139#n00000004","nodeKind":"expression","rowKind":"node","schema":"topaz.compiler.typed/v1","sourceId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139","span":{"hi":9,"lo":4,"sourceId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139"},"type":{"kind":"primitive","name":"int"}}{"ambient":false,"nodeId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139#n00000006","nodeKind":"expression","rowKind":"node","schema":"topaz.compiler.typed/v1","sourceId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139","span":{"hi":9,"lo":8,"sourceId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139"},"type":{"kind":"literal","name":"int","value":"3"}}typed.jsonl 2060 bytes sha256:c4b0af2d43aa0cb381ef49acca1b6eaf5d8681e251c23c96c576c34fedccb42e
Open this file exactly as it was written, opens in a new tab ↗
Compared Topaz compiler versions 5.21.0 and 5.21.1
This file had the same bytes in both versions.
Version Topaz compiler 5.21.1 topaz-lang@5.21.1
Compiler that made it topaz-native-k compiler.producer
Command topaz compiler observe inputs/w3/main.tpz --out-dir out/w3 --compiler self --terminal rust-source
Input hash sha256:3553c468c86fade22a00dab4c3970537a6d2e1588fa7514a01b860de9a151ba1Observation details
Input name w3
Observation commit 96aa9d8
Input bytes 31 20 2b 20 32 20 2a 20 33 0a
Record schema topaz.compiler.typed/v1Show the 14 files of the bundle File Size Hash ast.jsonl3288 bytes sha256:9a7c4b7d6189ef10560f211fec2dad9a3bb5437598beac86aa2217fcfa70ee47diagnostics.jsonl0 bytes sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855lowered.jsonl4466 bytes sha256:1159c174cf94ad280cbf8a823ec74767e29c3624afa0ff9edbf53b05a8f34ebaprovenance.json1395 bytes sha256:10d510756a6d523979c5e891b955a573183f83bd9c20d29994d36546b3bd2a05request.json1156 bytes sha256:ae361d2ae0bb215014450dd296203ba2de06b552cf3e76cb8ccaf0c18253b26fresolved.jsonl748 bytes sha256:dc1436b30f79bf7f2f8342cfb2c892b0542e1998f09720cadef8b743000ce2ccresponse.json1020 bytes sha256:1440edb4389b802f2cb2f966e80647e52fb3135b62e2aee21c0013bc3748f0f4rust-source.jsonlFor this file, you can see its name, size and hash. 10287 bytes sha256:6910e188573d6837c47d0f9dbbdb02b70d4a8f06334c0dbde7997aab7d4cbe6fself-compilation-product.json2418 bytes sha256:891a8be1f7257ef9975d8e0aef8d50cde243f77467ec2963a06c3fef111bd387source-set.jsonl937 bytes sha256:c8a7ab1c4685022be2ce82fca21540149f7826f23e4390c053eeeded317511edsources/000000.tpz10 bytes sha256:3553c468c86fade22a00dab4c3970537a6d2e1588fa7514a01b860de9a151ba1tokens.jsonl4110 bytes sha256:b9baaa0fba5b5e6df960627284d174a33c2651a1740bace189f3b46bd7f25953topaz-observation.jsonThe listing file's own size and hash come from its bytes. 2306 bytes sha256:52ebc7b3172f0ab19c4ae0111edecb1787c44edb08d2b0bf0f7b22e2bdd9217ctyped.jsonl2060 bytes sha256:c4b0af2d43aa0cb381ef49acca1b6eaf5d8681e251c23c96c576c34fedccb42e
Bundle rootDigest sha256:c4824db06dd2bcc366173cfe66ffb7756c48a8667aded16080a842f414082f7c
Example 1 + 2 1 + 2 * 3
Record Tokens Tree Types Operations
1 + 2 * 3 operation record lowered.jsonlWe recorded this example for Episode 4.
These 10 lines appear in file order. 7 describe operations. The other 3 describe the module, a runtime part it needs and the runtime template.
{"entry":true,"extern":false,"identity":"main","initializationOrdinal":0,"operationIds":["op:main:0:0:10:ModuleInitialization:module","op:main:0:0:9:Statement:expression-statement","op:main:0:0:9:Expression:binary","op:main:0:0:1:Expression:integer","op:main:0:4:9:Expression:binary","op:main:0:4:5:Expression:integer","op:main:0:8:9:Expression:integer"],"path":"inputs/w3/main.tpz","rowKind":"module","schema":"topaz.compiler.lowered/v1","sourceId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139"}The module {"deterministic":true,"identity":"binary","rowKind":"runtime-leaf","schema":"topaz.compiler.lowered/v1"}A runtime part it needs {"identity":"stage1-ir-table/v1","rowKind":"runtime-template","schema":"topaz.compiler.lowered/v1","sha256":"sha256:79b4af8e5544a04eb021fe093dda38ed15b655e8dc56faef151807a8cb925d74"}The runtime template {"binding":null,"call":null,"control":null,"detail":null,"kind":"module","module":"main","operands":["op:main:0:0:9:Statement:expression-statement"],"operationId":"op:main:0:0:10:ModuleInitialization:module","parentOperationId":null,"representation":null,"role":"module-initialization","rowKind":"operation","runtimeLeaf":null,"schema":"topaz.compiler.lowered/v1","semanticType":null,"span":{"hi":10,"lo":0,"sourceId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139"}}Operation 1 · Getting the program ready {"binding":null,"call":null,"control":null,"detail":{"detail":null,"expressionKind":"block"},"kind":"expression","module":"main","operands":["op:main:0:0:9:Expression:binary"],"operationId":"op:main:0:0:9:Statement:expression-statement","parentOperationId":"op:main:0:0:10:ModuleInitialization:module","representation":"i64","role":"statement","rowKind":"operation","runtimeLeaf":null,"schema":"topaz.compiler.lowered/v1","semanticType":null,"span":{"hi":9,"lo":0,"sourceId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139"}}Operation 2 · The statement holding the expression {"binding":null,"call":null,"control":null,"detail":{"detail":"add","expressionKind":"binary"},"kind":"expression","module":"main","operands":["op:main:0:0:1:Expression:integer","op:main:0:4:9:Expression:binary"],"operationId":"op:main:0:0:9:Expression:binary","parentOperationId":"op:main:0:0:9:Statement:expression-statement","representation":"i64","role":"expression","rowKind":"operation","runtimeLeaf":"binary","schema":"topaz.compiler.lowered/v1","semanticType":null,"span":{"hi":9,"lo":0,"sourceId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139"}}Operation 3 · An operation on two values {"binding":null,"call":null,"control":null,"detail":{"detail":"1","expressionKind":"integer"},"kind":"expression","module":"main","operands":[],"operationId":"op:main:0:0:1:Expression:integer","parentOperationId":"op:main:0:0:9:Expression:binary","representation":"i64","role":"expression","rowKind":"operation","runtimeLeaf":null,"schema":"topaz.compiler.lowered/v1","semanticType":null,"span":{"hi":1,"lo":0,"sourceId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139"}}Operation 4 · A whole number {"binding":null,"call":null,"control":null,"detail":{"detail":"multiply","expressionKind":"binary"},"kind":"expression","module":"main","operands":["op:main:0:4:5:Expression:integer","op:main:0:8:9:Expression:integer"],"operationId":"op:main:0:4:9:Expression:binary","parentOperationId":"op:main:0:0:9:Expression:binary","representation":"i64","role":"expression","rowKind":"operation","runtimeLeaf":"binary","schema":"topaz.compiler.lowered/v1","semanticType":null,"span":{"hi":9,"lo":4,"sourceId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139"}}Operation 5 · An operation on two values {"binding":null,"call":null,"control":null,"detail":{"detail":"2","expressionKind":"integer"},"kind":"expression","module":"main","operands":[],"operationId":"op:main:0:4:5:Expression:integer","parentOperationId":"op:main:0:4:9:Expression:binary","representation":"i64","role":"expression","rowKind":"operation","runtimeLeaf":null,"schema":"topaz.compiler.lowered/v1","semanticType":null,"span":{"hi":5,"lo":4,"sourceId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139"}}Operation 6 · A whole number {"binding":null,"call":null,"control":null,"detail":{"detail":"3","expressionKind":"integer"},"kind":"expression","module":"main","operands":[],"operationId":"op:main:0:8:9:Expression:integer","parentOperationId":"op:main:0:4:9:Expression:binary","representation":"i64","role":"expression","rowKind":"operation","runtimeLeaf":null,"schema":"topaz.compiler.lowered/v1","semanticType":null,"span":{"hi":9,"lo":8,"sourceId":"s:d2e29de08dd3e422f618090b82bff6eaf49af5c4625b06279035b7c3597f6139"}}Operation 7 · A whole number lowered.jsonl 4466 bytes sha256:1159c174cf94ad280cbf8a823ec74767e29c3624afa0ff9edbf53b05a8f34eba
Open this file exactly as it was written, opens in a new tab ↗
Compared Topaz compiler versions 5.21.0 and 5.21.1
This file had the same bytes in both versions.
Version Topaz compiler 5.21.1 topaz-lang@5.21.1
Compiler that made it topaz-native-k compiler.producer
Command topaz compiler observe inputs/w3/main.tpz --out-dir out/w3 --compiler self --terminal rust-source
Input hash sha256:3553c468c86fade22a00dab4c3970537a6d2e1588fa7514a01b860de9a151ba1Observation details
Input name w3
Observation commit 96aa9d8
Input bytes 31 20 2b 20 32 20 2a 20 33 0a
Record schema topaz.compiler.lowered/v1
Runtime template stage1-ir-table/v1
IR schema topaz.compiler.stage1-ir/v5 compiler.irSchemaShow the 14 files of the bundle File Size Hash ast.jsonl3288 bytes sha256:9a7c4b7d6189ef10560f211fec2dad9a3bb5437598beac86aa2217fcfa70ee47diagnostics.jsonl0 bytes sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855lowered.jsonl4466 bytes sha256:1159c174cf94ad280cbf8a823ec74767e29c3624afa0ff9edbf53b05a8f34ebaprovenance.json1395 bytes sha256:10d510756a6d523979c5e891b955a573183f83bd9c20d29994d36546b3bd2a05request.json1156 bytes sha256:ae361d2ae0bb215014450dd296203ba2de06b552cf3e76cb8ccaf0c18253b26fresolved.jsonl748 bytes sha256:dc1436b30f79bf7f2f8342cfb2c892b0542e1998f09720cadef8b743000ce2ccresponse.json1020 bytes sha256:1440edb4389b802f2cb2f966e80647e52fb3135b62e2aee21c0013bc3748f0f4rust-source.jsonlFor this file, you can see its name, size and hash. 10287 bytes sha256:6910e188573d6837c47d0f9dbbdb02b70d4a8f06334c0dbde7997aab7d4cbe6fself-compilation-product.json2418 bytes sha256:891a8be1f7257ef9975d8e0aef8d50cde243f77467ec2963a06c3fef111bd387source-set.jsonl937 bytes sha256:c8a7ab1c4685022be2ce82fca21540149f7826f23e4390c053eeeded317511edsources/000000.tpz10 bytes sha256:3553c468c86fade22a00dab4c3970537a6d2e1588fa7514a01b860de9a151ba1tokens.jsonl4110 bytes sha256:b9baaa0fba5b5e6df960627284d174a33c2651a1740bace189f3b46bd7f25953topaz-observation.jsonThe listing file's own size and hash come from its bytes. 2306 bytes sha256:52ebc7b3172f0ab19c4ae0111edecb1787c44edb08d2b0bf0f7b22e2bdd9217ctyped.jsonl2060 bytes sha256:c4b0af2d43aa0cb381ef49acca1b6eaf5d8681e251c23c96c576c34fedccb42e
Bundle rootDigest sha256:c4824db06dd2bcc366173cfe66ffb7756c48a8667aded16080a842f414082f7c
Example 1 + 2 1 + 2 * 3
Record Tokens Tree Types Operations Provenance
1 + 2 provenance record provenance.jsonThis provenance file was kept with the bundle we recorded for Episode 4. Episode 6 opens it.
The one raw line
Topaz wrote this file as one line. The table below copies chosen fields from that line so they are easier to read.
{"compiler":{"emitterExecutableSha256":"sha256:bc2077c5467fba81210f641dd4c19c2d01db5a8f4def9bf6d32a81e11a378c2c","emitterToolchain":"rustc 1.96.0 (ac68faa20 2026-05-25)\nbinary: rustc\ncommit-hash: ac68faa20c58cbccd01ee7208bf3b6e93a7d7f96\ncommit-date: 2026-05-25\nhost: x86_64-pc-windows-msvc\nrelease: 1.96.0\nLLVM version: 22.1.2\n","exchangeSchema":"topaz.compiler.stage1-exchange/v2","executionKind":"native","generatedRustSha256":"sha256:5f32cee07a1adea1c67ba8ac8fbd4f3ee4051f019a7856fcdb228740a1d4b8b1","irSchema":"topaz.compiler.stage1-ir/v5","linkToolchain":"rustc 1.96.0 (ac68faa20 2026-05-25)\nbinary: rustc\ncommit-hash: ac68faa20c58cbccd01ee7208bf3b6e93a7d7f96\ncommit-date: 2026-05-25\nhost: aarch64-apple-darwin\nrelease: 1.96.0\nLLVM version: 22.1.2\n","nativeLinkId":"sha256:9096b16d2fc482609ba5bf3e89a0373f7711075bc56350e03d06e6ce1f9b0c5d","producer":"topaz-native-k","producerStage":1,"runtimeSourceSetId":"sha256:85ed8d3b0571c34bc40c3ffd1be8bcda2a539d6c82c92b417c834507200d9c60","sourceSetId":"sha256:17d598ebcb0dea65195aba8c0b3ab20f94003a7f343714f7b1df25d790cdacd5","target":"aarch64-apple-darwin"},"defaultEngine":"self","engine":"topaz-native-k","generatedSourceFixedPoint":"established","languageMode":"topaz-5.21","nativeBinaryReproducibility":"not-run","productVersion":"5.21.1","schema":"topaz.compiler.bootstrap-provenance/v2","semanticFixedPoint":"not-established"}Fields to read by Field Value in the record What it means enginetopaz-native-kThe name of the compiler implementation that produced the result. compiler.producertopaz-native-kThe identifier of the producer that made this observation. Here it matches engine. compiler.producerStage1The stage number written for the producer that made this record. defaultEngineselfThis release's default choice. The Episode 4 command did say --compiler self. generatedSourceFixedPointestablishedWhether successive self-compilation stages produced identical generated Rust bytes. semanticFixedPointnot-establishedWhether a semantic fixed point was established for the compiler's intermediate records. nativeBinaryReproducibilitynot-runThe comparison of executable bytes. schematopaz.compiler.bootstrap-provenance/v2The name of the format of this provenance record. languageModetopaz-5.21The Topaz language mode recorded for this observation.
The first line of compiler.linkToolchain is rustc 1.96.0 (ac68faa20 2026-05-25). It records the tools used to link this compiler.
provenance.json 1395 bytes sha256:10d510756a6d523979c5e891b955a573183f83bd9c20d29994d36546b3bd2a05
Open this file exactly as it was written, opens in a new tab ↗
Compared Topaz compiler versions 5.21.0 and 5.21.1
The nine fields we compared had the same values in 5.21.0 and 5.21.1.
The two provenance files differed at the byte level.
Version Topaz compiler 5.21.1 topaz-lang@5.21.1
Compiler that made it topaz-native-k compiler.producer
Command topaz compiler observe inputs/w1/main.tpz --out-dir out/w1 --compiler self --terminal rust-source
Input hash sha256:cb898749d76e51fdaf6c6636920ccdb4f415fc1cffd1e2497636b38cc24698071 line break 2 line break token record tokens.jsonlObserved for Episode 7. Topaz wrote both token streams into one file.
The lines are in the order Topaz wrote them. The first 5 are the raw stream, the last 4 the layout stream.
{"kind":"integer","ordinal":0,"schema":"topaz.compiler.tokens/v1","sourceId":"s:3c3875b9785d34f36fee02fd46e5641728b8c62d830a742987676ae1f36613db","sourceOrdinal":0,"span":{"hi":1,"lo":0,"sourceId":"s:3c3875b9785d34f36fee02fd46e5641728b8c62d830a742987676ae1f36613db"},"spelling":"1","stream":"raw","synthetic":false}{"kind":"newline","ordinal":1,"schema":"topaz.compiler.tokens/v1","sourceId":"s:3c3875b9785d34f36fee02fd46e5641728b8c62d830a742987676ae1f36613db","sourceOrdinal":0,"span":{"hi":2,"lo":1,"sourceId":"s:3c3875b9785d34f36fee02fd46e5641728b8c62d830a742987676ae1f36613db"},"spelling":"\n","stream":"raw","synthetic":false}{"kind":"integer","ordinal":2,"schema":"topaz.compiler.tokens/v1","sourceId":"s:3c3875b9785d34f36fee02fd46e5641728b8c62d830a742987676ae1f36613db","sourceOrdinal":0,"span":{"hi":3,"lo":2,"sourceId":"s:3c3875b9785d34f36fee02fd46e5641728b8c62d830a742987676ae1f36613db"},"spelling":"2","stream":"raw","synthetic":false}{"kind":"newline","ordinal":3,"schema":"topaz.compiler.tokens/v1","sourceId":"s:3c3875b9785d34f36fee02fd46e5641728b8c62d830a742987676ae1f36613db","sourceOrdinal":0,"span":{"hi":4,"lo":3,"sourceId":"s:3c3875b9785d34f36fee02fd46e5641728b8c62d830a742987676ae1f36613db"},"spelling":"\n","stream":"raw","synthetic":false}{"kind":"eof","ordinal":4,"schema":"topaz.compiler.tokens/v1","sourceId":"s:3c3875b9785d34f36fee02fd46e5641728b8c62d830a742987676ae1f36613db","sourceOrdinal":0,"span":{"hi":4,"lo":4,"sourceId":"s:3c3875b9785d34f36fee02fd46e5641728b8c62d830a742987676ae1f36613db"},"spelling":"","stream":"raw","synthetic":false}{"kind":"integer","ordinal":0,"schema":"topaz.compiler.tokens/v1","sourceId":"s:3c3875b9785d34f36fee02fd46e5641728b8c62d830a742987676ae1f36613db","sourceOrdinal":0,"span":{"hi":1,"lo":0,"sourceId":"s:3c3875b9785d34f36fee02fd46e5641728b8c62d830a742987676ae1f36613db"},"spelling":"1","stream":"layout","synthetic":false}{"kind":"separator","ordinal":1,"schema":"topaz.compiler.tokens/v1","sourceId":"s:3c3875b9785d34f36fee02fd46e5641728b8c62d830a742987676ae1f36613db","sourceOrdinal":0,"span":{"hi":2,"lo":1,"sourceId":"s:3c3875b9785d34f36fee02fd46e5641728b8c62d830a742987676ae1f36613db"},"spelling":"\n","stream":"layout","synthetic":true}{"kind":"integer","ordinal":2,"schema":"topaz.compiler.tokens/v1","sourceId":"s:3c3875b9785d34f36fee02fd46e5641728b8c62d830a742987676ae1f36613db","sourceOrdinal":0,"span":{"hi":3,"lo":2,"sourceId":"s:3c3875b9785d34f36fee02fd46e5641728b8c62d830a742987676ae1f36613db"},"spelling":"2","stream":"layout","synthetic":false}{"kind":"eof","ordinal":3,"schema":"topaz.compiler.tokens/v1","sourceId":"s:3c3875b9785d34f36fee02fd46e5641728b8c62d830a742987676ae1f36613db","sourceOrdinal":0,"span":{"hi":4,"lo":4,"sourceId":"s:3c3875b9785d34f36fee02fd46e5641728b8c62d830a742987676ae1f36613db"},"spelling":"","stream":"layout","synthetic":false}Reading table · raw stream Kind Range Spelling synthetic integer[0,1)1falsenewline[1,2)line break falseinteger[2,3)2falsenewline[3,4)line break falseeof[4,4)empty false
Reading table · layout stream Kind Range Spelling synthetic integer[0,1)1falseseparator[1,2)line break trueinteger[2,3)2falseeof[4,4)empty false
tokens.jsonl 2850 bytes sha256:43cd60a7914df8d34f46883a2385806fa85946974fea712a16f0f53ff10b8cb6
Open this file exactly as it was written, opens in a new tab ↗
Compared Topaz compiler versions 5.21.0 and 5.21.1
This file had the same bytes in both versions.
Version Topaz compiler 5.21.1
Command topaz compiler observe inputs/g3/main.tpz --out-dir out/g3 --compiler self --terminal typed
Input hash sha256:a6e2b7a040683432de03a18fd8a1939a2fdf82585b364bfc874bdd4095c4cae1Show the 12 files of the bundle File Size Hash ast.jsonl2298 bytes sha256:fac5660d4e5f64f3b62aa30068b0bd1d65b425a4eaa7121f48c569dab67553cediagnostics.jsonl0 bytes sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855provenance.json1395 bytes sha256:10d510756a6d523979c5e891b955a573183f83bd9c20d29994d36546b3bd2a05request.json1149 bytes sha256:b06d9bfe643b31e918867d659086976f6e567eaf318b9d07eb4a8fbe1fb34828resolved.jsonl747 bytes sha256:a70eedc9358ba6f5a79ff14eff80ba28cf494f515574340e777571b045a980b2response.json886 bytes sha256:2865f4277db0678a9cf0a5714c3c25a805d4dfc27257641f2a5bbe25db3febb8self-compilation-product.json2418 bytes sha256:ca964aa7ed946498a82586b524c0dac6b2875cebc4fe65f7c647aac350595559source-set.jsonl935 bytes sha256:3f2cf1b400430606f9bfef21a37a4d29a238367a2180292bcc77fd958220ce77sources/000000.tpz4 bytes sha256:a6e2b7a040683432de03a18fd8a1939a2fdf82585b364bfc874bdd4095c4cae1tokens.jsonl2850 bytes sha256:43cd60a7914df8d34f46883a2385806fa85946974fea712a16f0f53ff10b8cb6topaz-observation.jsonThe listing file's own size and hash come from its bytes. 1968 bytes sha256:84ddd0dfde5f6aa59b32f820afcf4e88083cefc9704455e3ca7b8e4f5b03f14etyped.jsonl832 bytes sha256:288681c0208c6be1b61c690c1834bf12d0bb94630842111506067ec807bcbf74
Bundle rootDigest sha256:8df091d5ba0f4308a50440d916cec45147241581f531c5c2ae7b65720306520f
Read this record in Episode 7