{"id":"https://openalex.org/W2994994790","doi":"https://doi.org/10.1145/3372884.3373159","title":"GOOL: a generic object-oriented language","display_name":"GOOL: a generic object-oriented language","publication_year":2019,"publication_date":"2019-12-20","ids":{"openalex":"https://openalex.org/W2994994790","doi":"https://doi.org/10.1145/3372884.3373159","mag":"2994994790"},"language":"en","primary_location":{"id":"doi:10.1145/3372884.3373159","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3372884.3373159","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2020 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation","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/A5074007281","display_name":"Jacques Carette","orcid":"https://orcid.org/0000-0001-8993-9804"},"institutions":[{"id":"https://openalex.org/I98251732","display_name":"McMaster University","ror":"https://ror.org/02fa3aq29","country_code":"CA","type":"education","lineage":["https://openalex.org/I98251732"]}],"countries":["CA"],"is_corresponding":true,"raw_author_name":"Jacques Carette","raw_affiliation_strings":["McMaster University, Canada"],"affiliations":[{"raw_affiliation_string":"McMaster University, Canada","institution_ids":["https://openalex.org/I98251732"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5034763773","display_name":"Brooks MacLachlan","orcid":null},"institutions":[{"id":"https://openalex.org/I98251732","display_name":"McMaster University","ror":"https://ror.org/02fa3aq29","country_code":"CA","type":"education","lineage":["https://openalex.org/I98251732"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"Brooks MacLachlan","raw_affiliation_strings":["McMaster University, Canada"],"affiliations":[{"raw_affiliation_string":"McMaster University, Canada","institution_ids":["https://openalex.org/I98251732"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5073273007","display_name":"Spencer Smith","orcid":"https://orcid.org/0000-0002-0760-0987"},"institutions":[{"id":"https://openalex.org/I98251732","display_name":"McMaster University","ror":"https://ror.org/02fa3aq29","country_code":"CA","type":"education","lineage":["https://openalex.org/I98251732"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"Spencer Smith","raw_affiliation_strings":["McMaster University, Canada"],"affiliations":[{"raw_affiliation_string":"McMaster University, Canada","institution_ids":["https://openalex.org/I98251732"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5074007281"],"corresponding_institution_ids":["https://openalex.org/I98251732"],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":false,"cited_by_count":1,"citation_normalized_percentile":{"value":0.22487933,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":91,"max":95},"biblio":{"volume":null,"issue":null,"first_page":"45","last_page":"51"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T11450","display_name":"Model-Driven Software Engineering Techniques","score":0.9966999888420105,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"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/T11450","display_name":"Model-Driven Software Engineering Techniques","score":0.9966999888420105,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"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.9959999918937683,"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"}},{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9940999746322632,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.8831995725631714},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8462437391281128},{"id":"https://openalex.org/keywords/python","display_name":"Python (programming language)","score":0.7333390116691589},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.6584942936897278},{"id":"https://openalex.org/keywords/object-oriented-programming","display_name":"Object-oriented programming","score":0.599083662033081},{"id":"https://openalex.org/keywords/low-level-programming-language","display_name":"Low-level programming language","score":0.43842217326164246},{"id":"https://openalex.org/keywords/object","display_name":"Object (grammar)","score":0.4299178123474121},{"id":"https://openalex.org/keywords/first-generation-programming-language","display_name":"First-generation programming language","score":0.4133874177932739},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.28847143054008484},{"id":"https://openalex.org/keywords/programming-paradigm","display_name":"Programming paradigm","score":0.26409992575645447},{"id":"https://openalex.org/keywords/programming-domain","display_name":"Programming domain","score":0.1447344422340393},{"id":"https://openalex.org/keywords/inductive-programming","display_name":"Inductive programming","score":0.057471781969070435}],"concepts":[{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.8831995725631714},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8462437391281128},{"id":"https://openalex.org/C519991488","wikidata":"https://www.wikidata.org/wiki/Q28865","display_name":"Python (programming language)","level":2,"score":0.7333390116691589},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.6584942936897278},{"id":"https://openalex.org/C73752529","wikidata":"https://www.wikidata.org/wiki/Q79872","display_name":"Object-oriented programming","level":2,"score":0.599083662033081},{"id":"https://openalex.org/C124577441","wikidata":"https://www.wikidata.org/wiki/Q558937","display_name":"Low-level programming language","level":5,"score":0.43842217326164246},{"id":"https://openalex.org/C2781238097","wikidata":"https://www.wikidata.org/wiki/Q175026","display_name":"Object (grammar)","level":2,"score":0.4299178123474121},{"id":"https://openalex.org/C570499","wikidata":"https://www.wikidata.org/wiki/Q1289116","display_name":"First-generation programming language","level":3,"score":0.4133874177932739},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.28847143054008484},{"id":"https://openalex.org/C34165917","wikidata":"https://www.wikidata.org/wiki/Q188267","display_name":"Programming paradigm","level":2,"score":0.26409992575645447},{"id":"https://openalex.org/C119263510","wikidata":"https://www.wikidata.org/wiki/Q7248501","display_name":"Programming domain","level":4,"score":0.1447344422340393},{"id":"https://openalex.org/C50033165","wikidata":"https://www.wikidata.org/wiki/Q15712089","display_name":"Inductive programming","level":3,"score":0.057471781969070435}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3372884.3373159","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3372884.3373159","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2020 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[{"id":"https://metadata.un.org/sdg/4","score":0.6200000047683716,"display_name":"Quality Education"}],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":14,"referenced_works":["https://openalex.org/W18991458","https://openalex.org/W1574278914","https://openalex.org/W2017171142","https://openalex.org/W2028536828","https://openalex.org/W2057180903","https://openalex.org/W2115066859","https://openalex.org/W2121984483","https://openalex.org/W2123092976","https://openalex.org/W2159739762","https://openalex.org/W2395415541","https://openalex.org/W2525896035","https://openalex.org/W2599999879","https://openalex.org/W2778091149","https://openalex.org/W4249456448"],"related_works":["https://openalex.org/W2789551765","https://openalex.org/W2376978878","https://openalex.org/W2392549939","https://openalex.org/W134217928","https://openalex.org/W2056847658","https://openalex.org/W2365409497","https://openalex.org/W4301347183","https://openalex.org/W2216440867","https://openalex.org/W1494366471","https://openalex.org/W4312291496"],"abstract_inverted_index":{"We":[0],"present":[1],"GOOL,":[2],"a":[3,14],"Generic":[4],"Object-Oriented":[5],"Language.":[6],"GOOL":[7,23],"shows":[8],"that":[9],"with":[10],"the":[11,18],"right":[12],"abstractions,":[13],"language":[15],"can":[16,39],"capture":[17],"essence":[19],"of":[20],"object-oriented":[21],"programs.":[22],"generates":[24],"human-readable,":[25],"documented":[26],"and":[27,34,44],"idiomatic":[28],"code":[29],"in":[30],"Python,":[31],"Java,":[32],"C#,":[33],"C++.":[35],"In":[36],"it,":[37],"we":[38],"express":[40],"common":[41],"programming":[42],"idioms":[43],"patterns.":[45]},"counts_by_year":[{"year":2025,"cited_by_count":1}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
