{"id":"https://openalex.org/W1997044756","doi":"https://doi.org/10.1145/1596638.1596652","title":"Alloy","display_name":"Alloy","publication_year":2009,"publication_date":"2009-09-03","ids":{"openalex":"https://openalex.org/W1997044756","doi":"https://doi.org/10.1145/1596638.1596652","mag":"1997044756"},"language":"en","primary_location":{"id":"doi:10.1145/1596638.1596652","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1596638.1596652","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2nd ACM SIGPLAN symposium on Haskell","raw_type":"proceedings-article"},"type":"conference-paper","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"https://kar.kent.ac.uk/30595/1/Alloy.pdf","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5056326360","display_name":"Neil C. C. Brown","orcid":"https://orcid.org/0000-0001-6086-2479"},"institutions":[{"id":"https://openalex.org/I20581793","display_name":"University of Kent","ror":"https://ror.org/00xkeyj56","country_code":"GB","type":"education","lineage":["https://openalex.org/I20581793"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Neil C.C. Brown","raw_affiliation_strings":["University of Kent, Canterbury, United Kingdom"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Kent, Canterbury, United Kingdom","institution_ids":["https://openalex.org/I20581793"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5108200624","display_name":"Adam T. Sampson","orcid":null},"institutions":[{"id":"https://openalex.org/I20581793","display_name":"University of Kent","ror":"https://ror.org/00xkeyj56","country_code":"GB","type":"education","lineage":["https://openalex.org/I20581793"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Adam T. Sampson","raw_affiliation_strings":["University of Kent, Canterbury, United Kingdom"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Kent, Canterbury, United Kingdom","institution_ids":["https://openalex.org/I20581793"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I20581793"],"apc_list":null,"apc_paid":null,"fwci":1.2185,"has_fulltext":true,"cited_by_count":10,"citation_normalized_percentile":{"value":0.79013265,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":94,"max":97},"biblio":{"volume":null,"issue":null,"first_page":"105","last_page":"116"},"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.9976999759674072,"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.9976999759674072,"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/T10260","display_name":"Software Engineering Research","score":0.9975000023841858,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"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/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9790999889373779,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"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/haskell","display_name":"Haskell","score":0.9070753455162048},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8032137751579285},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.7794162034988403},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.7426519989967346},{"id":"https://openalex.org/keywords/traverse","display_name":"Traverse","score":0.6761481165885925},{"id":"https://openalex.org/keywords/syntax","display_name":"Syntax","score":0.5532483458518982},{"id":"https://openalex.org/keywords/generic-programming","display_name":"Generic programming","score":0.5508716106414795},{"id":"https://openalex.org/keywords/abstract-syntax-tree","display_name":"Abstract syntax tree","score":0.4630802571773529},{"id":"https://openalex.org/keywords/benchmark","display_name":"Benchmark (surveying)","score":0.41841351985931396},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.34252041578292847},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.3310927152633667},{"id":"https://openalex.org/keywords/parsing","display_name":"Parsing","score":0.2689211666584015},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.11870744824409485}],"concepts":[{"id":"https://openalex.org/C2780624054","wikidata":"https://www.wikidata.org/wiki/Q34010","display_name":"Haskell","level":3,"score":0.9070753455162048},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8032137751579285},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.7794162034988403},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7426519989967346},{"id":"https://openalex.org/C176809094","wikidata":"https://www.wikidata.org/wiki/Q15401496","display_name":"Traverse","level":2,"score":0.6761481165885925},{"id":"https://openalex.org/C60048249","wikidata":"https://www.wikidata.org/wiki/Q37437","display_name":"Syntax","level":2,"score":0.5532483458518982},{"id":"https://openalex.org/C7051814","wikidata":"https://www.wikidata.org/wiki/Q1051282","display_name":"Generic programming","level":2,"score":0.5508716106414795},{"id":"https://openalex.org/C58646249","wikidata":"https://www.wikidata.org/wiki/Q127380","display_name":"Abstract syntax tree","level":3,"score":0.4630802571773529},{"id":"https://openalex.org/C185798385","wikidata":"https://www.wikidata.org/wiki/Q1161707","display_name":"Benchmark (surveying)","level":2,"score":0.41841351985931396},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.34252041578292847},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.3310927152633667},{"id":"https://openalex.org/C186644900","wikidata":"https://www.wikidata.org/wiki/Q194152","display_name":"Parsing","level":2,"score":0.2689211666584015},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.11870744824409485},{"id":"https://openalex.org/C13280743","wikidata":"https://www.wikidata.org/wiki/Q131089","display_name":"Geodesy","level":1,"score":0.0},{"id":"https://openalex.org/C205649164","wikidata":"https://www.wikidata.org/wiki/Q1071","display_name":"Geography","level":0,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/1596638.1596652","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1596638.1596652","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2nd ACM SIGPLAN symposium on Haskell","raw_type":"proceedings-article"},{"id":"pmh:oai:kar.kent.ac.uk:30595","is_oa":true,"landing_page_url":"https://doi.org/10.1145/1596638.1596652>)","pdf_url":"https://kar.kent.ac.uk/30595/1/Alloy.pdf","source":{"id":"https://openalex.org/S4377196264","display_name":"Kent Academic Repository (University of Kent)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I20581793","host_organization_name":"University of Kent","host_organization_lineage":["https://openalex.org/I20581793"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"Book section"}],"best_oa_location":{"id":"pmh:oai:kar.kent.ac.uk:30595","is_oa":true,"landing_page_url":"https://doi.org/10.1145/1596638.1596652>)","pdf_url":"https://kar.kent.ac.uk/30595/1/Alloy.pdf","source":{"id":"https://openalex.org/S4377196264","display_name":"Kent Academic Repository (University of Kent)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I20581793","host_organization_name":"University of Kent","host_organization_lineage":["https://openalex.org/I20581793"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"Book section"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W1997044756.pdf","grobid_xml":"https://content.openalex.org/works/W1997044756.grobid-xml"},"referenced_works_count":22,"referenced_works":["https://openalex.org/W200726789","https://openalex.org/W1580128549","https://openalex.org/W1589463184","https://openalex.org/W1594466563","https://openalex.org/W1947395352","https://openalex.org/W1979982425","https://openalex.org/W1984698918","https://openalex.org/W2005130481","https://openalex.org/W2009775190","https://openalex.org/W2058137890","https://openalex.org/W2058162377","https://openalex.org/W2082765113","https://openalex.org/W2093896470","https://openalex.org/W2100703235","https://openalex.org/W2110317952","https://openalex.org/W2116813111","https://openalex.org/W2124274632","https://openalex.org/W2171044556","https://openalex.org/W2785690991","https://openalex.org/W3004062484","https://openalex.org/W4254510965","https://openalex.org/W4256011414"],"related_works":["https://openalex.org/W1564538666","https://openalex.org/W2526970984","https://openalex.org/W1528956417","https://openalex.org/W1599215552","https://openalex.org/W1919687110","https://openalex.org/W2028779182","https://openalex.org/W2493130382","https://openalex.org/W2971609332","https://openalex.org/W4242678340","https://openalex.org/W2110095505"],"abstract_inverted_index":{"Data-type":[0],"generic":[1,52],"programming":[2,24],"can":[3],"be":[4],"used":[5],"to":[6,81,86],"traverse":[7,87],"and":[8,68,103],"manipulate":[9],"specific":[10],"parts":[11],"of":[12,39],"large":[13],"heterogeneously-typed":[14,114],"tree":[15,91],"structures,":[16],"without":[17],"the":[18,33,37,40,88,106],"need":[19],"for":[20,50],"tedious":[21],"boilerplate.":[22],"Generic":[23],"is":[25,64,111],"often":[26],"approached":[27],"from":[28,55],"a":[29,51,59,65,70],"theoretical":[30],"perspective,":[31],"where":[32,62],"emphasis":[34],"lies":[35],"on":[36,44,58,113],"power":[38],"representation":[41],"rather":[42],"than":[43],"efficiency.":[45],"We":[46,93],"describe":[47],"use":[48],"cases":[49],"system":[53],"derived":[54],"our":[56,83,95],"work":[57],"nanopass":[60],"compiler,":[61],"efficiency":[63],"real":[66],"concern,":[67],"detail":[69],"new":[71],"generics":[72,101],"approach":[73,96],"(Alloy)":[74],"that":[75,109],"we":[76],"have":[77],"developed":[78],"in":[79],"Haskell":[80,100],"allow":[82],"compiler":[84],"passes":[85],"abstract":[89],"syntax":[90],"quickly.":[92],"benchmark":[94],"against":[97],"several":[98],"other":[99],"approaches":[102],"statistically":[104],"analyse":[105],"results,":[107],"finding":[108],"Alloy":[110],"fastest":[112],"trees.":[115]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2015,"cited_by_count":2},{"year":2014,"cited_by_count":2},{"year":2012,"cited_by_count":2}],"updated_date":"2026-07-29T14:22:42.915294","created_date":"2016-06-24T00:00:00"}
