{"bundle_type":"pith_open_graph_bundle","bundle_version":"1.0","pith_number":"pith:2016:T6HGFWVQ2FRYLNWMW7MR5GRZBI","short_pith_number":"pith:T6HGFWVQ","canonical_record":{"source":{"id":"1605.02941","kind":"arxiv","version":1},"metadata":{"license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.PL","submitted_at":"2016-05-10T11:09:13Z","cross_cats_sorted":[],"title_canon_sha256":"91d511c868b8b5eca1d132ba982608760677fc008c8f2c3474c86fe98367d297","abstract_canon_sha256":"3444c12c4bad79637bb74fbb81c18b26be7a106f6b9a7b584797df87402b1e09"},"schema_version":"1.0"},"canonical_sha256":"9f8e62dab0d16385b6ccb7d91e9a390a2e36d299761dccf32ca910338f355eed","source":{"kind":"arxiv","id":"1605.02941","version":1},"source_aliases":[{"alias_kind":"arxiv","alias_value":"1605.02941","created_at":"2026-05-18T01:15:08Z"},{"alias_kind":"arxiv_version","alias_value":"1605.02941v1","created_at":"2026-05-18T01:15:08Z"},{"alias_kind":"doi","alias_value":"10.48550/arxiv.1605.02941","created_at":"2026-05-18T01:15:08Z"},{"alias_kind":"pith_short_12","alias_value":"T6HGFWVQ2FRY","created_at":"2026-05-18T12:30:44Z"},{"alias_kind":"pith_short_16","alias_value":"T6HGFWVQ2FRYLNWM","created_at":"2026-05-18T12:30:44Z"},{"alias_kind":"pith_short_8","alias_value":"T6HGFWVQ","created_at":"2026-05-18T12:30:44Z"}],"events":[{"event_type":"record_created","subject_pith_number":"pith:2016:T6HGFWVQ2FRYLNWMW7MR5GRZBI","target":"record","payload":{"canonical_record":{"source":{"id":"1605.02941","kind":"arxiv","version":1},"metadata":{"license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.PL","submitted_at":"2016-05-10T11:09:13Z","cross_cats_sorted":[],"title_canon_sha256":"91d511c868b8b5eca1d132ba982608760677fc008c8f2c3474c86fe98367d297","abstract_canon_sha256":"3444c12c4bad79637bb74fbb81c18b26be7a106f6b9a7b584797df87402b1e09"},"schema_version":"1.0"},"canonical_sha256":"9f8e62dab0d16385b6ccb7d91e9a390a2e36d299761dccf32ca910338f355eed","receipt":{"kind":"pith_receipt","key_id":"pith-v1-2026-05","algorithm":"ed25519","signed_at":"2026-05-18T01:15:08.127355Z","signature_b64":"4GpajqWa+9RDLDkVz0k6+4E8hegN3cp3P6mWqAR/GipIBdK5ccwAx1KMuaS1fI3agNwzIbgVVCHGuw/fl9KXDg==","signed_message":"canonical_sha256_bytes","builder_version":"pith-number-builder-2026-05-17-v1","receipt_version":"0.3","canonical_sha256":"9f8e62dab0d16385b6ccb7d91e9a390a2e36d299761dccf32ca910338f355eed","last_reissued_at":"2026-05-18T01:15:08.126667Z","signature_status":"signed_v1","first_computed_at":"2026-05-18T01:15:08.126667Z","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54"},"source_kind":"arxiv","source_id":"1605.02941","source_version":1,"attestation_state":"computed"},"signer":{"signer_id":"pith.science","signer_type":"pith_registry","key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54"},"created_at":"2026-05-18T01:15:08Z","supersedes":[],"prev_event":null,"signature":{"signature_status":"signed_v1","algorithm":"ed25519","key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","signature_b64":"+jbafgXRizmQVHuElNEfEFqPNkZ2S04dqH+cuK1D/HIVIKnSdJDlBFUB5PXvbkCWKg/ykJQK351yPbRs90vhCA==","signed_message":"open_graph_event_sha256_bytes","signed_at":"2026-05-30T12:29:13.684488Z"},"content_sha256":"eff735c2ea1442efd628bc27f29b5a069ba26088f2dfa04ee37473c3db005054","schema_version":"1.0","event_id":"sha256:eff735c2ea1442efd628bc27f29b5a069ba26088f2dfa04ee37473c3db005054"},{"event_type":"graph_snapshot","subject_pith_number":"pith:2016:T6HGFWVQ2FRYLNWMW7MR5GRZBI","target":"graph","payload":{"graph_snapshot":{"paper":{"title":"Types from data: Making structured data first-class citizens in F#","license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","headline":"","cross_cats":[],"primary_cat":"cs.PL","authors_text":"Don Syme, Gustavo Guerra, Tomas Petricek","submitted_at":"2016-05-10T11:09:13Z","abstract_excerpt":"Most modern applications interact with external services and access data in structured formats such as XML, JSON and CSV. Static type systems do not understand such formats, often making data access more cumbersome. Should we give up and leave the messy world of external data to dynamic typing and runtime checks? Of course, not!\n  We present F# Data, a library that integrates external structured data into F#. As most real-world data does not come with an explicit schema, we develop a shape inference algorithm that infers a shape from representative sample documents. We then integrate the infer"},"claims":{"count":0,"items":[],"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"source":{"id":"1605.02941","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"},"verdict_id":null},"signer":{"signer_id":"pith.science","signer_type":"pith_registry","key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54"},"created_at":"2026-05-18T01:15:08Z","supersedes":[],"prev_event":null,"signature":{"signature_status":"signed_v1","algorithm":"ed25519","key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","signature_b64":"jsEDhP+ADTBSZQ1l4dtLuJdHKYmTmJQFG8oMeYpDA+ZBFd/hoByN9SMUb+69QkacPElXPtXxrj3TX96wxRJCBQ==","signed_message":"open_graph_event_sha256_bytes","signed_at":"2026-05-30T12:29:13.684855Z"},"content_sha256":"e7d24c24bb8c7eb4cd5315b995a801b2bca5150c0d8425d64beb2b42ef42f397","schema_version":"1.0","event_id":"sha256:e7d24c24bb8c7eb4cd5315b995a801b2bca5150c0d8425d64beb2b42ef42f397"}],"timestamp_proofs":[],"mirror_hints":[{"mirror_type":"https","name":"Pith Resolver","base_url":"https://pith.science","bundle_url":"https://pith.science/pith/T6HGFWVQ2FRYLNWMW7MR5GRZBI/bundle.json","state_url":"https://pith.science/pith/T6HGFWVQ2FRYLNWMW7MR5GRZBI/state.json","well_known_bundle_url":"https://pith.science/.well-known/pith/T6HGFWVQ2FRYLNWMW7MR5GRZBI/bundle.json","status":"primary"}],"public_keys":[{"key_id":"pith-v1-2026-05","algorithm":"ed25519","format":"raw","public_key_b64":"stVStoiQhXFxp4s2pdzPNoqVNBMojDU/fJ2db5S3CbM=","public_key_hex":"b2d552b68890857171a78b36a5dccf368a953413288c353f7c9d9d6f94b709b3","fingerprint_sha256_b32_first128bits":"RVFV5Z2OI2J3ZUO7ERDEBCYNKS","fingerprint_sha256_hex":"8d4b5ee74e4693bcd1df2446408b0d54","rotates_at":null,"url":"https://pith.science/pith-signing-key.json","notes":"Pith uses this Ed25519 key to sign canonical record SHA-256 digests. Verify with: ed25519_verify(public_key, message=canonical_sha256_bytes, signature=base64decode(signature_b64))."}],"merge_version":"pith-open-graph-merge-v1","built_at":"2026-05-30T12:29:13Z","links":{"resolver":"https://pith.science/pith/T6HGFWVQ2FRYLNWMW7MR5GRZBI","bundle":"https://pith.science/pith/T6HGFWVQ2FRYLNWMW7MR5GRZBI/bundle.json","state":"https://pith.science/pith/T6HGFWVQ2FRYLNWMW7MR5GRZBI/state.json","well_known_bundle":"https://pith.science/.well-known/pith/T6HGFWVQ2FRYLNWMW7MR5GRZBI/bundle.json"},"state":{"state_type":"pith_open_graph_state","state_version":"1.0","pith_number":"pith:2016:T6HGFWVQ2FRYLNWMW7MR5GRZBI","merge_version":"pith-open-graph-merge-v1","event_count":2,"valid_event_count":2,"invalid_event_count":0,"equivocation_count":0,"current":{"canonical_record":{"metadata":{"abstract_canon_sha256":"3444c12c4bad79637bb74fbb81c18b26be7a106f6b9a7b584797df87402b1e09","cross_cats_sorted":[],"license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.PL","submitted_at":"2016-05-10T11:09:13Z","title_canon_sha256":"91d511c868b8b5eca1d132ba982608760677fc008c8f2c3474c86fe98367d297"},"schema_version":"1.0","source":{"id":"1605.02941","kind":"arxiv","version":1}},"source_aliases":[{"alias_kind":"arxiv","alias_value":"1605.02941","created_at":"2026-05-18T01:15:08Z"},{"alias_kind":"arxiv_version","alias_value":"1605.02941v1","created_at":"2026-05-18T01:15:08Z"},{"alias_kind":"doi","alias_value":"10.48550/arxiv.1605.02941","created_at":"2026-05-18T01:15:08Z"},{"alias_kind":"pith_short_12","alias_value":"T6HGFWVQ2FRY","created_at":"2026-05-18T12:30:44Z"},{"alias_kind":"pith_short_16","alias_value":"T6HGFWVQ2FRYLNWM","created_at":"2026-05-18T12:30:44Z"},{"alias_kind":"pith_short_8","alias_value":"T6HGFWVQ","created_at":"2026-05-18T12:30:44Z"}],"graph_snapshots":[{"event_id":"sha256:e7d24c24bb8c7eb4cd5315b995a801b2bca5150c0d8425d64beb2b42ef42f397","target":"graph","created_at":"2026-05-18T01:15:08Z","signer":{"key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","signer_id":"pith.science","signer_type":"pith_registry"},"payload":{"graph_snapshot":{"author_claims":{"count":0,"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57","strong_count":0},"builder_version":"pith-number-builder-2026-05-17-v1","claims":{"count":0,"items":[],"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"formal_canon":{"evidence_count":0,"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"paper":{"abstract_excerpt":"Most modern applications interact with external services and access data in structured formats such as XML, JSON and CSV. Static type systems do not understand such formats, often making data access more cumbersome. Should we give up and leave the messy world of external data to dynamic typing and runtime checks? Of course, not!\n  We present F# Data, a library that integrates external structured data into F#. As most real-world data does not come with an explicit schema, we develop a shape inference algorithm that infers a shape from representative sample documents. We then integrate the infer","authors_text":"Don Syme, Gustavo Guerra, Tomas Petricek","cross_cats":[],"headline":"","license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.PL","submitted_at":"2016-05-10T11:09:13Z","title":"Types from data: Making structured data first-class citizens in F#"},"references":{"count":0,"internal_anchors":0,"resolved_work":0,"sample":[],"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"source":{"id":"1605.02941","kind":"arxiv","version":1},"verdict":{"created_at":null,"id":null,"model_set":{},"one_line_summary":"","pipeline_version":null,"pith_extraction_headline":"","strongest_claim":"","weakest_assumption":""}},"verdict_id":null}}],"author_attestations":[],"timestamp_anchors":[],"storage_attestations":[],"citation_signatures":[],"replication_records":[],"corrections":[],"mirror_hints":[],"record_created":{"event_id":"sha256:eff735c2ea1442efd628bc27f29b5a069ba26088f2dfa04ee37473c3db005054","target":"record","created_at":"2026-05-18T01:15:08Z","signer":{"key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","signer_id":"pith.science","signer_type":"pith_registry"},"payload":{"attestation_state":"computed","canonical_record":{"metadata":{"abstract_canon_sha256":"3444c12c4bad79637bb74fbb81c18b26be7a106f6b9a7b584797df87402b1e09","cross_cats_sorted":[],"license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.PL","submitted_at":"2016-05-10T11:09:13Z","title_canon_sha256":"91d511c868b8b5eca1d132ba982608760677fc008c8f2c3474c86fe98367d297"},"schema_version":"1.0","source":{"id":"1605.02941","kind":"arxiv","version":1}},"canonical_sha256":"9f8e62dab0d16385b6ccb7d91e9a390a2e36d299761dccf32ca910338f355eed","receipt":{"algorithm":"ed25519","builder_version":"pith-number-builder-2026-05-17-v1","canonical_sha256":"9f8e62dab0d16385b6ccb7d91e9a390a2e36d299761dccf32ca910338f355eed","first_computed_at":"2026-05-18T01:15:08.126667Z","key_id":"pith-v1-2026-05","kind":"pith_receipt","last_reissued_at":"2026-05-18T01:15:08.126667Z","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","receipt_version":"0.3","signature_b64":"4GpajqWa+9RDLDkVz0k6+4E8hegN3cp3P6mWqAR/GipIBdK5ccwAx1KMuaS1fI3agNwzIbgVVCHGuw/fl9KXDg==","signature_status":"signed_v1","signed_at":"2026-05-18T01:15:08.127355Z","signed_message":"canonical_sha256_bytes"},"source_id":"1605.02941","source_kind":"arxiv","source_version":1}}},"equivocations":[],"invalid_events":[],"applied_event_ids":["sha256:eff735c2ea1442efd628bc27f29b5a069ba26088f2dfa04ee37473c3db005054","sha256:e7d24c24bb8c7eb4cd5315b995a801b2bca5150c0d8425d64beb2b42ef42f397"],"state_sha256":"1fb752c0de921be9bc4d94492757255b4655e8dc8294a4133f6a6e805abae3f1"},"bundle_signature":{"signature_status":"signed_v1","algorithm":"ed25519","key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","signature_b64":"ltHHWdyaNiKwJ5X924BgHU8zRSwepXPujGqup6SEHT86fc193AYy1PWSdyT3f0Hwb0EDYxxkxq2c+8+44O1KBw==","signed_message":"bundle_sha256_bytes","signed_at":"2026-05-30T12:29:13.687284Z","bundle_sha256":"8a13da7e40d13a7552f2416e8e25fe686b8966dbad6086779d7f6ae93782a18b"}}