{"record_type":"pith_number_record","schema_url":"https://pith.science/schemas/pith-number/v1.json","pith_number":"pith:2018:VSK4Y66MU56OSIKXRWDIM7WAXY","short_pith_number":"pith:VSK4Y66M","schema_version":"1.0","canonical_sha256":"ac95cc7bcca77ce921578d86867ec0be3de5abb680ea2d5cf84f374dc8d93635","source":{"kind":"arxiv","id":"1808.02998","version":1},"attestation_state":"computed","paper":{"title":"Safe Stream-Based Programming with Refinement Types","license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","headline":"","cross_cats":["cs.PL"],"primary_cat":"cs.SE","authors_text":"Benno Stein, Bor-Yuh Evan Chang, Lazaro Clapp, Manu Sridharan","submitted_at":"2018-08-09T02:19:16Z","abstract_excerpt":"In stream-based programming, data sources are abstracted as a stream of values that can be manipulated via callback functions. Stream-based programming is exploding in popularity, as it provides a powerful and expressive paradigm for handling asynchronous data sources in interactive software. However, high-level stream abstractions can also make it difficult for developers to reason about control- and data-flow relationships in their programs. This is particularly impactful when asynchronous stream-based code interacts with thread-limited features such as UI frameworks that restrict UI access "},"verification_status":{"content_addressed":true,"pith_receipt":true,"author_attested":false,"weak_author_claims":0,"strong_author_claims":0,"externally_anchored":false,"storage_verified":false,"citation_signatures":0,"replication_records":0,"graph_snapshot":true,"references_resolved":false,"formal_links_present":false},"canonical_record":{"source":{"id":"1808.02998","kind":"arxiv","version":1},"metadata":{"license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.SE","submitted_at":"2018-08-09T02:19:16Z","cross_cats_sorted":["cs.PL"],"title_canon_sha256":"1e9c127ce570a66a95ac3219dd5bb59355671a0da44c10859fae75d07408c3cb","abstract_canon_sha256":"818a20ba0efc3f772e1386e56caa9455a5d1248a3b44e6fca898c8b941e6d3dd"},"schema_version":"1.0"},"receipt":{"kind":"pith_receipt","key_id":"pith-v1-2026-05","algorithm":"ed25519","signed_at":"2026-05-18T00:08:30.472513Z","signature_b64":"xv45HOAgO61uIRdG0o/Mdsu7UTQuTJZovlNlnc1JA4QF30EKCkdMDqffDCsCXL+f+GV54D0/tiv3XcQEaCyIDw==","signed_message":"canonical_sha256_bytes","builder_version":"pith-number-builder-2026-05-17-v1","receipt_version":"0.3","canonical_sha256":"ac95cc7bcca77ce921578d86867ec0be3de5abb680ea2d5cf84f374dc8d93635","last_reissued_at":"2026-05-18T00:08:30.471868Z","signature_status":"signed_v1","first_computed_at":"2026-05-18T00:08:30.471868Z","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54"},"graph_snapshot":{"paper":{"title":"Safe Stream-Based Programming with Refinement Types","license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","headline":"","cross_cats":["cs.PL"],"primary_cat":"cs.SE","authors_text":"Benno Stein, Bor-Yuh Evan Chang, Lazaro Clapp, Manu Sridharan","submitted_at":"2018-08-09T02:19:16Z","abstract_excerpt":"In stream-based programming, data sources are abstracted as a stream of values that can be manipulated via callback functions. Stream-based programming is exploding in popularity, as it provides a powerful and expressive paradigm for handling asynchronous data sources in interactive software. However, high-level stream abstractions can also make it difficult for developers to reason about control- and data-flow relationships in their programs. This is particularly impactful when asynchronous stream-based code interacts with thread-limited features such as UI frameworks that restrict UI access "},"claims":{"count":0,"items":[],"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"source":{"id":"1808.02998","kind":"arxiv","version":1},"verdict":{"id":null,"model_set":{},"created_at":null,"strongest_claim":"","one_line_summary":"","pipeline_version":null,"weakest_assumption":"","pith_extraction_headline":""},"references":{"count":0,"sample":[],"resolved_work":0,"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57","internal_anchors":0},"formal_canon":{"evidence_count":0,"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"author_claims":{"count":0,"strong_count":0,"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"builder_version":"pith-number-builder-2026-05-17-v1"},"aliases":[{"alias_kind":"arxiv","alias_value":"1808.02998","created_at":"2026-05-18T00:08:30.471982+00:00"},{"alias_kind":"arxiv_version","alias_value":"1808.02998v1","created_at":"2026-05-18T00:08:30.471982+00:00"},{"alias_kind":"doi","alias_value":"10.48550/arxiv.1808.02998","created_at":"2026-05-18T00:08:30.471982+00:00"},{"alias_kind":"pith_short_12","alias_value":"VSK4Y66MU56O","created_at":"2026-05-18T12:32:59.047623+00:00"},{"alias_kind":"pith_short_16","alias_value":"VSK4Y66MU56OSIKX","created_at":"2026-05-18T12:32:59.047623+00:00"},{"alias_kind":"pith_short_8","alias_value":"VSK4Y66M","created_at":"2026-05-18T12:32:59.047623+00:00"}],"events":[],"event_summary":{},"paper_claims":[],"inbound_citations":{"count":0,"internal_anchor_count":0,"sample":[]},"formal_canon":{"evidence_count":0,"sample":[],"anchors":[]},"links":{"html":"https://pith.science/pith/VSK4Y66MU56OSIKXRWDIM7WAXY","json":"https://pith.science/pith/VSK4Y66MU56OSIKXRWDIM7WAXY.json","graph_json":"https://pith.science/api/pith-number/VSK4Y66MU56OSIKXRWDIM7WAXY/graph.json","events_json":"https://pith.science/api/pith-number/VSK4Y66MU56OSIKXRWDIM7WAXY/events.json","paper":"https://pith.science/paper/VSK4Y66M"},"agent_actions":{"view_html":"https://pith.science/pith/VSK4Y66MU56OSIKXRWDIM7WAXY","download_json":"https://pith.science/pith/VSK4Y66MU56OSIKXRWDIM7WAXY.json","view_paper":"https://pith.science/paper/VSK4Y66M","resolve_alias":"https://pith.science/api/pith-number/resolve?arxiv=1808.02998&json=true","fetch_graph":"https://pith.science/api/pith-number/VSK4Y66MU56OSIKXRWDIM7WAXY/graph.json","fetch_events":"https://pith.science/api/pith-number/VSK4Y66MU56OSIKXRWDIM7WAXY/events.json","actions":{"anchor_timestamp":"https://pith.science/pith/VSK4Y66MU56OSIKXRWDIM7WAXY/action/timestamp_anchor","attest_storage":"https://pith.science/pith/VSK4Y66MU56OSIKXRWDIM7WAXY/action/storage_attestation","attest_author":"https://pith.science/pith/VSK4Y66MU56OSIKXRWDIM7WAXY/action/author_attestation","sign_citation":"https://pith.science/pith/VSK4Y66MU56OSIKXRWDIM7WAXY/action/citation_signature","submit_replication":"https://pith.science/pith/VSK4Y66MU56OSIKXRWDIM7WAXY/action/replication_record"}},"created_at":"2026-05-18T00:08:30.471982+00:00","updated_at":"2026-05-18T00:08:30.471982+00:00"}