{"id":"https://openalex.org/W3206286249","doi":"https://doi.org/10.1145/3486610.3486893","title":"Safer exceptions for Scala","display_name":"Safer exceptions for Scala","publication_year":2021,"publication_date":"2021-10-17","ids":{"openalex":"https://openalex.org/W3206286249","doi":"https://doi.org/10.1145/3486610.3486893","mag":"3206286249"},"language":"en","primary_location":{"id":"doi:10.1145/3486610.3486893","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3486610.3486893","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 12th ACM SIGPLAN International Symposium on Scala","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"http://infoscience.epfl.ch/record/290885","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5085410724","display_name":"Martin Odersky","orcid":"https://orcid.org/0009-0005-3923-8993"},"institutions":[{"id":"https://openalex.org/I5124864","display_name":"\u00c9cole Polytechnique F\u00e9d\u00e9rale de Lausanne","ror":"https://ror.org/02s376052","country_code":"CH","type":"education","lineage":["https://openalex.org/I2799323385","https://openalex.org/I5124864"]}],"countries":["CH"],"is_corresponding":true,"raw_author_name":"Martin Odersky","raw_affiliation_strings":["EPFL, Switzerland"],"affiliations":[{"raw_affiliation_string":"EPFL, Switzerland","institution_ids":["https://openalex.org/I5124864"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5015563137","display_name":"Aleksander Boruch-Gruszecki","orcid":"https://orcid.org/0000-0001-5769-6684"},"institutions":[{"id":"https://openalex.org/I5124864","display_name":"\u00c9cole Polytechnique F\u00e9d\u00e9rale de Lausanne","ror":"https://ror.org/02s376052","country_code":"CH","type":"education","lineage":["https://openalex.org/I2799323385","https://openalex.org/I5124864"]}],"countries":["CH"],"is_corresponding":false,"raw_author_name":"Aleksander Boruch-Gruszecki","raw_affiliation_strings":["EPFL, Switzerland"],"affiliations":[{"raw_affiliation_string":"EPFL, Switzerland","institution_ids":["https://openalex.org/I5124864"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5027088540","display_name":"Jonathan Immanuel Brachth\u00e4user","orcid":"https://orcid.org/0000-0001-9128-0391"},"institutions":[{"id":"https://openalex.org/I5124864","display_name":"\u00c9cole Polytechnique F\u00e9d\u00e9rale de Lausanne","ror":"https://ror.org/02s376052","country_code":"CH","type":"education","lineage":["https://openalex.org/I2799323385","https://openalex.org/I5124864"]}],"countries":["CH"],"is_corresponding":false,"raw_author_name":"Jonathan Immanuel Brachth\u00e4user","raw_affiliation_strings":["EPFL, Switzerland"],"affiliations":[{"raw_affiliation_string":"EPFL, Switzerland","institution_ids":["https://openalex.org/I5124864"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5100670396","display_name":"Edward Lee","orcid":"https://orcid.org/0000-0001-7057-0912"},"institutions":[{"id":"https://openalex.org/I151746483","display_name":"University of Waterloo","ror":"https://ror.org/01aff2v68","country_code":"CA","type":"education","lineage":["https://openalex.org/I151746483"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"Edward Lee","raw_affiliation_strings":["University of Waterloo, Canada"],"affiliations":[{"raw_affiliation_string":"University of Waterloo, Canada","institution_ids":["https://openalex.org/I151746483"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5113000301","display_name":"Ond\u0159ej Lhot\u00e1k","orcid":null},"institutions":[{"id":"https://openalex.org/I151746483","display_name":"University of Waterloo","ror":"https://ror.org/01aff2v68","country_code":"CA","type":"education","lineage":["https://openalex.org/I151746483"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"Ond\u0159ej Lhot\u00e1k","raw_affiliation_strings":["University of Waterloo, Canada"],"affiliations":[{"raw_affiliation_string":"University of Waterloo, Canada","institution_ids":["https://openalex.org/I151746483"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":5,"corresponding_author_ids":["https://openalex.org/A5085410724"],"corresponding_institution_ids":["https://openalex.org/I5124864"],"apc_list":null,"apc_paid":null,"fwci":1.1197,"has_fulltext":false,"cited_by_count":8,"citation_normalized_percentile":{"value":0.82645518,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":98},"biblio":{"volume":null,"issue":null,"first_page":"1","last_page":"11"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9997000098228455,"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"}},"topics":[{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9997000098228455,"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/T11424","display_name":"Security and Verification in Computing","score":0.9909999966621399,"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/T10772","display_name":"Distributed systems and fault tolerance","score":0.9861999750137329,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/scala","display_name":"Scala","score":0.9203730821609497},{"id":"https://openalex.org/keywords/safer","display_name":"SAFER","score":0.9196151494979858},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.747567355632782},{"id":"https://openalex.org/keywords/overhead","display_name":"Overhead (engineering)","score":0.6580418348312378},{"id":"https://openalex.org/keywords/scheme","display_name":"Scheme (mathematics)","score":0.6549959778785706},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.6244941353797913},{"id":"https://openalex.org/keywords/block","display_name":"Block (permutation group theory)","score":0.5541856288909912},{"id":"https://openalex.org/keywords/exception-handling","display_name":"Exception handling","score":0.4821479022502899},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.47776472568511963},{"id":"https://openalex.org/keywords/type-safety","display_name":"Type safety","score":0.43989115953445435},{"id":"https://openalex.org/keywords/computer-security","display_name":"Computer security","score":0.35342949628829956},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.09627783298492432}],"concepts":[{"id":"https://openalex.org/C109701466","wikidata":"https://www.wikidata.org/wiki/Q460584","display_name":"Scala","level":3,"score":0.9203730821609497},{"id":"https://openalex.org/C2776654903","wikidata":"https://www.wikidata.org/wiki/Q2601463","display_name":"SAFER","level":2,"score":0.9196151494979858},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.747567355632782},{"id":"https://openalex.org/C2779960059","wikidata":"https://www.wikidata.org/wiki/Q7113681","display_name":"Overhead (engineering)","level":2,"score":0.6580418348312378},{"id":"https://openalex.org/C77618280","wikidata":"https://www.wikidata.org/wiki/Q1155772","display_name":"Scheme (mathematics)","level":2,"score":0.6549959778785706},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.6244941353797913},{"id":"https://openalex.org/C2777210771","wikidata":"https://www.wikidata.org/wiki/Q4927124","display_name":"Block (permutation group theory)","level":2,"score":0.5541856288909912},{"id":"https://openalex.org/C145428669","wikidata":"https://www.wikidata.org/wiki/Q471748","display_name":"Exception handling","level":2,"score":0.4821479022502899},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.47776472568511963},{"id":"https://openalex.org/C44779574","wikidata":"https://www.wikidata.org/wiki/Q736866","display_name":"Type safety","level":2,"score":0.43989115953445435},{"id":"https://openalex.org/C38652104","wikidata":"https://www.wikidata.org/wiki/Q3510521","display_name":"Computer security","level":1,"score":0.35342949628829956},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.09627783298492432},{"id":"https://openalex.org/C2524010","wikidata":"https://www.wikidata.org/wiki/Q8087","display_name":"Geometry","level":1,"score":0.0},{"id":"https://openalex.org/C134306372","wikidata":"https://www.wikidata.org/wiki/Q7754","display_name":"Mathematical analysis","level":1,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/3486610.3486893","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3486610.3486893","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 12th ACM SIGPLAN International Symposium on Scala","raw_type":"proceedings-article"},{"id":"pmh:oai:infoscience.epfl.ch:290885","is_oa":true,"landing_page_url":"http://infoscience.epfl.ch/record/290885","pdf_url":null,"source":{"id":"https://openalex.org/S4306400487","display_name":"Infoscience (Ecole Polytechnique F\u00e9d\u00e9rale de Lausanne)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by-nc-nd","license_id":"https://openalex.org/licenses/cc-by-nc-nd","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://infoscience.epfl.ch/record/290885","raw_type":"Text"}],"best_oa_location":{"id":"pmh:oai:infoscience.epfl.ch:290885","is_oa":true,"landing_page_url":"http://infoscience.epfl.ch/record/290885","pdf_url":null,"source":{"id":"https://openalex.org/S4306400487","display_name":"Infoscience (Ecole Polytechnique F\u00e9d\u00e9rale de Lausanne)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by-nc-nd","license_id":"https://openalex.org/licenses/cc-by-nc-nd","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://infoscience.epfl.ch/record/290885","raw_type":"Text"},"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G2165548363","display_name":null,"funder_award_id":"Canada","funder_id":"https://openalex.org/F4320334593","funder_display_name":"Natural Sciences and Engineering Research Council of Canada"}],"funders":[{"id":"https://openalex.org/F4320334593","display_name":"Natural Sciences and Engineering Research Council of Canada","ror":"https://ror.org/01h531d29"}],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":24,"referenced_works":["https://openalex.org/W1491698270","https://openalex.org/W1513579486","https://openalex.org/W2046137117","https://openalex.org/W2068530643","https://openalex.org/W2073407646","https://openalex.org/W2084804301","https://openalex.org/W2090746009","https://openalex.org/W2104656753","https://openalex.org/W2118227920","https://openalex.org/W2123092976","https://openalex.org/W2136839747","https://openalex.org/W2141576692","https://openalex.org/W2143823533","https://openalex.org/W2169907127","https://openalex.org/W2184230987","https://openalex.org/W2505732535","https://openalex.org/W2538456393","https://openalex.org/W2561708922","https://openalex.org/W2960903742","https://openalex.org/W3010302451","https://openalex.org/W3104915759","https://openalex.org/W3107101448","https://openalex.org/W3107145433","https://openalex.org/W4234270404"],"related_works":["https://openalex.org/W4232952072","https://openalex.org/W3040669356","https://openalex.org/W2404093817","https://openalex.org/W2396685351","https://openalex.org/W2377088766","https://openalex.org/W3014311131","https://openalex.org/W2750737722","https://openalex.org/W206809417","https://openalex.org/W4210528511","https://openalex.org/W4245204670"],"abstract_inverted_index":{"We":[0],"describe":[1],"a":[2,19,61],"scheme":[3,31],"for":[4,42],"reflecting":[5],"exceptions":[6,28,33],"as":[7],"capabilities":[8,66],"in":[9],"the":[10,40],"Scala":[11],"type":[12,62],"system":[13,63],"that":[14],"keeps":[15],"notational":[16],"overhead":[17],"to":[18],"minimum":[20],"and":[21],"avoids":[22],"well-known":[23],"problems":[24],"with":[25],"Java's":[26],"checked":[27],"framework.":[29],"The":[30],"makes":[32],"safer":[34],"but":[35],"not":[36],"fully":[37],"safe":[38],"since":[39],"capability":[41],"throwing":[43],"an":[44],"exception":[45],"may":[46],"still":[47],"yet":[48],"escape":[49],"its":[50],"enclosing":[51],"try":[52],"block.":[53],"To":[54],"address":[55],"this":[56],"limitation,":[57],"we":[58],"also":[59],"propose":[60],"which":[64],"prevents":[65],"from":[67],"escaping.":[68]},"counts_by_year":[{"year":2024,"cited_by_count":3},{"year":2023,"cited_by_count":4},{"year":2022,"cited_by_count":1}],"updated_date":"2026-04-10T15:06:20.359241","created_date":"2025-10-10T00:00:00"}
