{"id":"https://openalex.org/W2159732269","doi":"https://doi.org/10.1145/2493288.2493289","title":"Metaprogramming in Ruby: a pattern catalog","display_name":"Metaprogramming in Ruby: a pattern catalog","publication_year":2010,"publication_date":"2010-10-16","ids":{"openalex":"https://openalex.org/W2159732269","doi":"https://doi.org/10.1145/2493288.2493289","mag":"2159732269"},"language":"en","primary_location":{"id":"doi:10.1145/2493288.2493289","doi":"https://doi.org/10.1145/2493288.2493289","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2493288.2493289","pdf_url":null,"source":{"id":"https://openalex.org/S4306418088","display_name":"Conference on Pattern Languages of Programs","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"listed_in":[],"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"conference"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 17th Conference on Pattern Languages of Programs","raw_type":"proceedings-article"},"volume":null,"type":"conference-paper","is_traditional":true,"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/A5060920392","display_name":"Sebastian G\u00fcnther","orcid":"https://orcid.org/0000-0003-1281-2180","observed_orcids":["https://orcid.org/0000-0003-1281-2180"]},"institutions":[{"id":"https://openalex.org/I95793202","display_name":"Otto-von-Guericke-Universit\u00e4t Magdeburg","ror":"https://ror.org/00ggpsq73","country_code":"DE","type":"education","lineage":["https://openalex.org/I95793202"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Sebastian G\u00fcnther","raw_affiliation_strings":["University of Magdeburg"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Magdeburg","institution_ids":["https://openalex.org/I95793202"]}]},{"author_position":"last","author":{"id":null,"display_name":"Marco Fischer","orcid":null,"observed_orcids":[]},"institutions":[{"id":"https://openalex.org/I95793202","display_name":"Otto-von-Guericke-Universit\u00e4t Magdeburg","ror":"https://ror.org/00ggpsq73","country_code":"DE","type":"education","lineage":["https://openalex.org/I95793202"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Marco Fischer","raw_affiliation_strings":["University of Magdeburg"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Magdeburg","institution_ids":["https://openalex.org/I95793202"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I95793202"],"apc_list":null,"apc_paid":null,"fwci":0.3932,"has_fulltext":false,"cited_by_count":5,"citation_normalized_percentile":{"value":0.46531987,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":88,"max":96},"biblio":{"volume":null,"issue":null,"first_page":"1","last_page":"35"},"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.9883000254631042,"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/T10126","display_name":"Logic, programming, and type systems","score":0.9883000254631042,"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/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.0035000001080334187,"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/T11450","display_name":"Model-Driven Software Engineering Techniques","score":0.0017999999690800905,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/metaprogramming","display_name":"metaprogramming","score":1.0},{"id":"https://openalex.org/keywords/ruby","display_name":"ruby","score":0.9750000238418579},{"id":"https://openalex.org/keywords/language-constructs","display_name":"language constructs","score":0.9369999766349792},{"id":"https://openalex.org/keywords/semantic-models","display_name":"semantic models","score":0.5540000200271606},{"id":"https://openalex.org/keywords/program-change","display_name":"software modification","score":0.5770000219345093},{"id":"https://openalex.org/keywords/language-semantics","display_name":"language semantics","score":0.5009999871253967},{"id":"https://openalex.org/keywords/dynamic-programming","display_name":"dynamic programming","score":0.4399999976158142}],"concepts":[{"id":"https://openalex.org/C35390924","wikidata":"https://www.wikidata.org/wiki/Q661075","display_name":"Metaprogramming","level":2,"score":0.9671337008476257},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8618009090423584},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7809991836547852},{"id":"https://openalex.org/C184337299","wikidata":"https://www.wikidata.org/wiki/Q1437428","display_name":"Semantics (computer science)","level":2,"score":0.6119482517242432},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.4257301986217499}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/2493288.2493289","doi":"https://doi.org/10.1145/2493288.2493289","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2493288.2493289","pdf_url":null,"source":{"id":"https://openalex.org/S4306418088","display_name":"Conference on Pattern Languages of Programs","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"listed_in":[],"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"conference"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 17th Conference on Pattern Languages of Programs","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"study_designs":[],"awards":[],"funders":[{"id":"https://openalex.org/F4320307999","display_name":"SAP North America","ror":"https://ror.org/01gbhv690"}],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":13,"referenced_works":["https://openalex.org/W408926550","https://openalex.org/W1486064919","https://openalex.org/W1491478150","https://openalex.org/W1500250067","https://openalex.org/W1527793496","https://openalex.org/W1578785003","https://openalex.org/W1988470703","https://openalex.org/W2009285855","https://openalex.org/W2037724079","https://openalex.org/W2093361007","https://openalex.org/W2147595470","https://openalex.org/W2911299945","https://openalex.org/W2914615822"],"related_works":["https://openalex.org/W7099652749","https://openalex.org/W2521949478","https://openalex.org/W2293709606","https://openalex.org/W7052789292","https://openalex.org/W2108723525","https://openalex.org/W3011917189","https://openalex.org/W201808208","https://openalex.org/W625823274","https://openalex.org/W2997284983","https://openalex.org/W2010443461"],"abstract_inverted_index":{"Modern":[0],"programming":[1],"languages":[2],"provide":[3],"extensive":[4],"metaprogramming":[5,9],"facilities.":[6],"We":[7],"understand":[8],"as":[10,38],"the":[11,24,33,45,53],"utilization":[12,43],"and":[13,19,50],"modification":[14],"of":[15,32,44,55],"available":[16],"language":[17,39,57],"constructs":[18,46],"abstractions":[20],"while":[21],"staying":[22],"inside":[23],"language.":[25],"Metaprogramming":[26],"requires":[27],"a":[28],"rich":[29],"semantic":[30],"model":[31],"program":[34],"that":[35],"is":[36],"represented":[37],"constructs.":[40,58],"The":[41],"careful":[42],"allows":[47],"changing":[48],"programs":[49],"sometimes":[51],"even":[52],"semantics":[54],"other":[56]},"counts_by_year":[{"year":2017,"cited_by_count":2},{"year":2016,"cited_by_count":1},{"year":2013,"cited_by_count":1}],"updated_date":"2026-11-12T12:28:57.059296","created_date":"2016-06-24T00:00:00"}
