{"record_type":"pith_number_record","schema_url":"https://pith.science/schemas/pith-number/v1.json","pith_number":"pith:2015:IZTDZ2XG5QDWZT5PJQITHNCON4","short_pith_number":"pith:IZTDZ2XG","schema_version":"1.0","canonical_sha256":"46663ceae6ec076ccfaf4c1133b44e6f0fa1ef05b6e164e808706dd465e75f1a","source":{"kind":"arxiv","id":"1504.08039","version":1},"attestation_state":"computed","paper":{"title":"Trust, but Verify: Two-Phase Typing for Dynamic Languages","license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","headline":"","cross_cats":[],"primary_cat":"cs.PL","authors_text":"Benjamin Cosman, Panagiotis Vekris, Ranjit Jhala","submitted_at":"2015-04-29T22:31:14Z","abstract_excerpt":"A key challenge when statically typing so-called dynamic languages is the ubiquity of value-based overloading, where a given function can dynamically reflect upon and behave according to the types of its arguments. Thus, to establish basic types, the analysis must reason precisely about values, but in the presence of higher-order functions and polymorphism, this reasoning itself can require basic types. In this paper we address this chicken-and-egg problem by introducing the framework of two-phased typing. The first \"trust\" phase performs classical, i.e. flow-, path- and value-insensitive type"},"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":"1504.08039","kind":"arxiv","version":1},"metadata":{"license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.PL","submitted_at":"2015-04-29T22:31:14Z","cross_cats_sorted":[],"title_canon_sha256":"9efc4e9602327e56542138d813ca495a31631a13ac3ed1b4e820e98a66969cea","abstract_canon_sha256":"a82bd4c5de8315d03524a8e90b7466e95e70448c70c5f069b944452252575b5f"},"schema_version":"1.0"},"receipt":{"kind":"pith_receipt","key_id":"pith-v1-2026-05","algorithm":"ed25519","signed_at":"2026-05-18T02:17:23.482421Z","signature_b64":"ZVncR/4yPCmaXk+oAM9nJzOSGbf0AhuCJxnQyrQ3eaCXS4+zrsRRvvfuc0FUSn1KvzJY+/Ve6KaScM2F8Du1Dw==","signed_message":"canonical_sha256_bytes","builder_version":"pith-number-builder-2026-05-17-v1","receipt_version":"0.3","canonical_sha256":"46663ceae6ec076ccfaf4c1133b44e6f0fa1ef05b6e164e808706dd465e75f1a","last_reissued_at":"2026-05-18T02:17:23.481660Z","signature_status":"signed_v1","first_computed_at":"2026-05-18T02:17:23.481660Z","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54"},"graph_snapshot":{"paper":{"title":"Trust, but Verify: Two-Phase Typing for Dynamic Languages","license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","headline":"","cross_cats":[],"primary_cat":"cs.PL","authors_text":"Benjamin Cosman, Panagiotis Vekris, Ranjit Jhala","submitted_at":"2015-04-29T22:31:14Z","abstract_excerpt":"A key challenge when statically typing so-called dynamic languages is the ubiquity of value-based overloading, where a given function can dynamically reflect upon and behave according to the types of its arguments. Thus, to establish basic types, the analysis must reason precisely about values, but in the presence of higher-order functions and polymorphism, this reasoning itself can require basic types. In this paper we address this chicken-and-egg problem by introducing the framework of two-phased typing. The first \"trust\" phase performs classical, i.e. flow-, path- and value-insensitive type"},"claims":{"count":0,"items":[],"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"source":{"id":"1504.08039","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":"1504.08039","created_at":"2026-05-18T02:17:23.481779+00:00"},{"alias_kind":"arxiv_version","alias_value":"1504.08039v1","created_at":"2026-05-18T02:17:23.481779+00:00"},{"alias_kind":"doi","alias_value":"10.48550/arxiv.1504.08039","created_at":"2026-05-18T02:17:23.481779+00:00"},{"alias_kind":"pith_short_12","alias_value":"IZTDZ2XG5QDW","created_at":"2026-05-18T12:29:27.538025+00:00"},{"alias_kind":"pith_short_16","alias_value":"IZTDZ2XG5QDWZT5P","created_at":"2026-05-18T12:29:27.538025+00:00"},{"alias_kind":"pith_short_8","alias_value":"IZTDZ2XG","created_at":"2026-05-18T12:29:27.538025+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/IZTDZ2XG5QDWZT5PJQITHNCON4","json":"https://pith.science/pith/IZTDZ2XG5QDWZT5PJQITHNCON4.json","graph_json":"https://pith.science/api/pith-number/IZTDZ2XG5QDWZT5PJQITHNCON4/graph.json","events_json":"https://pith.science/api/pith-number/IZTDZ2XG5QDWZT5PJQITHNCON4/events.json","paper":"https://pith.science/paper/IZTDZ2XG"},"agent_actions":{"view_html":"https://pith.science/pith/IZTDZ2XG5QDWZT5PJQITHNCON4","download_json":"https://pith.science/pith/IZTDZ2XG5QDWZT5PJQITHNCON4.json","view_paper":"https://pith.science/paper/IZTDZ2XG","resolve_alias":"https://pith.science/api/pith-number/resolve?arxiv=1504.08039&json=true","fetch_graph":"https://pith.science/api/pith-number/IZTDZ2XG5QDWZT5PJQITHNCON4/graph.json","fetch_events":"https://pith.science/api/pith-number/IZTDZ2XG5QDWZT5PJQITHNCON4/events.json","actions":{"anchor_timestamp":"https://pith.science/pith/IZTDZ2XG5QDWZT5PJQITHNCON4/action/timestamp_anchor","attest_storage":"https://pith.science/pith/IZTDZ2XG5QDWZT5PJQITHNCON4/action/storage_attestation","attest_author":"https://pith.science/pith/IZTDZ2XG5QDWZT5PJQITHNCON4/action/author_attestation","sign_citation":"https://pith.science/pith/IZTDZ2XG5QDWZT5PJQITHNCON4/action/citation_signature","submit_replication":"https://pith.science/pith/IZTDZ2XG5QDWZT5PJQITHNCON4/action/replication_record"}},"created_at":"2026-05-18T02:17:23.481779+00:00","updated_at":"2026-05-18T02:17:23.481779+00:00"}