{"id":"https://openalex.org/W1970204869","doi":"https://doi.org/10.1145/2774975.2774979","title":"Referential integrity with Scala types","display_name":"Referential integrity with Scala types","publication_year":2015,"publication_date":"2015-06-03","ids":{"openalex":"https://openalex.org/W1970204869","doi":"https://doi.org/10.1145/2774975.2774979","mag":"1970204869"},"language":"en","primary_location":{"id":"doi:10.1145/2774975.2774979","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2774975.2774979","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 6th ACM SIGPLAN Symposium on Scala","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5074153394","display_name":"Patrick Pr\u00e9mont","orcid":null},"institutions":[],"countries":[],"is_corresponding":true,"raw_author_name":"Patrick Pr\u00e9mont","raw_affiliation_strings":["BoldRadius Solutions, Canada"],"affiliations":[{"raw_affiliation_string":"BoldRadius Solutions, Canada","institution_ids":[]}]}],"institutions":[],"countries_distinct_count":0,"institutions_distinct_count":1,"corresponding_author_ids":["https://openalex.org/A5074153394"],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":false,"cited_by_count":0,"citation_normalized_percentile":{"value":0.07010344,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":"7","issue":null,"first_page":"30","last_page":"34"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10317","display_name":"Advanced Database Systems and Queries","score":0.9948999881744385,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10317","display_name":"Advanced Database Systems and Queries","score":0.9948999881744385,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9907000064849854,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T11010","display_name":"Logic, Reasoning, and Knowledge","score":0.9763000011444092,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/scala","display_name":"Scala","score":0.8243905305862427},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.6943178176879883},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.39787811040878296},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.11368918418884277}],"concepts":[{"id":"https://openalex.org/C109701466","wikidata":"https://www.wikidata.org/wiki/Q460584","display_name":"Scala","level":3,"score":0.8243905305862427},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.6943178176879883},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.39787811040878296},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.11368918418884277}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/2774975.2774979","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2774975.2774979","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 6th ACM SIGPLAN Symposium on Scala","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[{"score":0.6000000238418579,"display_name":"Industry, innovation and infrastructure","id":"https://metadata.un.org/sdg/9"}],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":3,"referenced_works":["https://openalex.org/W1910481158","https://openalex.org/W2138709157","https://openalex.org/W2912039080"],"related_works":["https://openalex.org/W2748952813","https://openalex.org/W3016342375","https://openalex.org/W795970866","https://openalex.org/W593478746","https://openalex.org/W3194225004","https://openalex.org/W2150010249","https://openalex.org/W171936820","https://openalex.org/W2156426055","https://openalex.org/W2751045514","https://openalex.org/W4241716597"],"abstract_inverted_index":{"Referential":[0],"integrity":[1,24,61],"constraints":[2,82],"are":[3,34],"critical":[4],"elements":[5],"of":[6,22],"relational":[7],"data":[8,23,55],"models,":[9],"and":[10,38,57,73,83],"have":[11],"found":[12],"widespread":[13],"use":[14],"in":[15,20,85],"industry.":[16],"However,":[17],"their":[18],"benefits":[19],"terms":[21],"do":[25],"not":[26],"fully":[27],"extend":[28],"to":[29,53,79],"program":[30],"correctness.":[31],"Constraint":[32],"violations":[33],"identified":[35],"at":[36,64],"run-time":[37],"must":[39],"then":[40],"be":[41,51],"handled":[42],"appropriately":[43],"by":[44],"programs.":[45],"We":[46,89],"show":[47],"how":[48],"Scala":[49],"can":[50],"used":[52],"build":[54],"models":[56],"programs":[58],"where":[59],"referential":[60,101],"is":[62,76],"enforced":[63],"compile-time.":[65],"Scala\u2019s":[66],"type":[67],"system,":[68],"with":[69],"its":[70],"variance":[71],"annotations":[72],"path-dependent":[74],"types,":[75],"especially":[77],"suited":[78],"express":[80],"these":[81],"proofs":[84],"a":[86],"natural":[87],"manner.":[88],"also":[90],"explore":[91],"potential":[92],"compiler":[93],"improvements":[94],"that":[95],"could":[96],"enhance":[97],"support":[98],"for":[99],"type-checked":[100],"integrity.":[102]},"counts_by_year":[],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
