{"id":"https://openalex.org/W2047793074","doi":"https://doi.org/10.1145/2658761.2658775","title":"Compiling a reflective language using MetaOCaml","display_name":"Compiling a reflective language using MetaOCaml","publication_year":2014,"publication_date":"2014-08-29","ids":{"openalex":"https://openalex.org/W2047793074","doi":"https://doi.org/10.1145/2658761.2658775","mag":"2047793074"},"language":"en","primary_location":{"id":"doi:10.1145/2658761.2658775","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2658761.2658775","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2014 International Conference on Generative Programming: Concepts and Experiences","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/A5086262556","display_name":"Kenichi Asai","orcid":"https://orcid.org/0000-0001-8040-0394"},"institutions":[{"id":"https://openalex.org/I26120043","display_name":"Ochanomizu University","ror":"https://ror.org/03599d813","country_code":"JP","type":"education","lineage":["https://openalex.org/I26120043"]}],"countries":["JP"],"is_corresponding":true,"raw_author_name":"Kenichi Asai","raw_affiliation_strings":["Ochanomizu University, Japan"],"affiliations":[{"raw_affiliation_string":"Ochanomizu University, Japan","institution_ids":["https://openalex.org/I26120043"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":["https://openalex.org/A5086262556"],"corresponding_institution_ids":["https://openalex.org/I26120043"],"apc_list":null,"apc_paid":null,"fwci":2.4518,"has_fulltext":false,"cited_by_count":11,"citation_normalized_percentile":{"value":0.89116551,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":98},"biblio":{"volume":null,"issue":null,"first_page":"113","last_page":"122"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9990000128746033,"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"}},"topics":[{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9990000128746033,"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/T10126","display_name":"Logic, programming, and type systems","score":0.9954000115394592,"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/T11450","display_name":"Model-Driven Software Engineering Techniques","score":0.9951000213623047,"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/computer-science","display_name":"Computer science","score":0.9043833017349243},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.8355250358581543},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.7602734565734863},{"id":"https://openalex.org/keywords/semantics","display_name":"Semantics (computer science)","score":0.6660997867584229},{"id":"https://openalex.org/keywords/partial-evaluation","display_name":"Partial evaluation","score":0.6437510848045349},{"id":"https://openalex.org/keywords/programming-language-implementation","display_name":"Programming language implementation","score":0.5753464102745056},{"id":"https://openalex.org/keywords/programming-language-specification","display_name":"Programming language specification","score":0.5312426090240479},{"id":"https://openalex.org/keywords/first-generation-programming-language","display_name":"First-generation programming language","score":0.5007147789001465},{"id":"https://openalex.org/keywords/flexibility","display_name":"Flexibility (engineering)","score":0.5005717277526855},{"id":"https://openalex.org/keywords/language-primitive","display_name":"Language primitive","score":0.494281530380249},{"id":"https://openalex.org/keywords/dynamic-compilation","display_name":"Dynamic compilation","score":0.48790857195854187},{"id":"https://openalex.org/keywords/high-level-programming-language","display_name":"High-level programming language","score":0.452149897813797},{"id":"https://openalex.org/keywords/language-construct","display_name":"Language construct","score":0.4314885139465332},{"id":"https://openalex.org/keywords/programming-paradigm","display_name":"Programming paradigm","score":0.25337791442871094},{"id":"https://openalex.org/keywords/programming-domain","display_name":"Programming domain","score":0.1330537497997284},{"id":"https://openalex.org/keywords/inductive-programming","display_name":"Inductive programming","score":0.07824328541755676}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.9043833017349243},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.8355250358581543},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.7602734565734863},{"id":"https://openalex.org/C184337299","wikidata":"https://www.wikidata.org/wiki/Q1437428","display_name":"Semantics (computer science)","level":2,"score":0.6660997867584229},{"id":"https://openalex.org/C195701839","wikidata":"https://www.wikidata.org/wiki/Q4008398","display_name":"Partial evaluation","level":2,"score":0.6437510848045349},{"id":"https://openalex.org/C201997060","wikidata":"https://www.wikidata.org/wiki/Q4117406","display_name":"Programming language implementation","level":5,"score":0.5753464102745056},{"id":"https://openalex.org/C15077461","wikidata":"https://www.wikidata.org/wiki/Q7248507","display_name":"Programming language specification","level":5,"score":0.5312426090240479},{"id":"https://openalex.org/C570499","wikidata":"https://www.wikidata.org/wiki/Q1289116","display_name":"First-generation programming language","level":3,"score":0.5007147789001465},{"id":"https://openalex.org/C2780598303","wikidata":"https://www.wikidata.org/wiki/Q65921492","display_name":"Flexibility (engineering)","level":2,"score":0.5005717277526855},{"id":"https://openalex.org/C20724563","wikidata":"https://www.wikidata.org/wiki/Q3075258","display_name":"Language primitive","level":4,"score":0.494281530380249},{"id":"https://openalex.org/C8767382","wikidata":"https://www.wikidata.org/wiki/Q1058454","display_name":"Dynamic compilation","level":3,"score":0.48790857195854187},{"id":"https://openalex.org/C19024347","wikidata":"https://www.wikidata.org/wiki/Q211496","display_name":"High-level programming language","level":3,"score":0.452149897813797},{"id":"https://openalex.org/C48859967","wikidata":"https://www.wikidata.org/wiki/Q6486712","display_name":"Language construct","level":2,"score":0.4314885139465332},{"id":"https://openalex.org/C34165917","wikidata":"https://www.wikidata.org/wiki/Q188267","display_name":"Programming paradigm","level":2,"score":0.25337791442871094},{"id":"https://openalex.org/C119263510","wikidata":"https://www.wikidata.org/wiki/Q7248501","display_name":"Programming domain","level":4,"score":0.1330537497997284},{"id":"https://openalex.org/C50033165","wikidata":"https://www.wikidata.org/wiki/Q15712089","display_name":"Inductive programming","level":3,"score":0.07824328541755676},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.0},{"id":"https://openalex.org/C105795698","wikidata":"https://www.wikidata.org/wiki/Q12483","display_name":"Statistics","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/2658761.2658775","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2658761.2658775","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2014 International Conference on Generative Programming: Concepts and Experiences","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[{"score":0.6399999856948853,"display_name":"Quality Education","id":"https://metadata.un.org/sdg/4"}],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":23,"referenced_works":["https://openalex.org/W68605010","https://openalex.org/W1484522353","https://openalex.org/W1495890184","https://openalex.org/W1527793496","https://openalex.org/W1556604985","https://openalex.org/W1650987719","https://openalex.org/W1977710006","https://openalex.org/W1988813978","https://openalex.org/W1991079885","https://openalex.org/W1999386261","https://openalex.org/W2039744354","https://openalex.org/W2074487796","https://openalex.org/W2078434561","https://openalex.org/W2109161862","https://openalex.org/W2127114597","https://openalex.org/W2135522367","https://openalex.org/W2141084960","https://openalex.org/W2152834103","https://openalex.org/W2154697693","https://openalex.org/W2169415986","https://openalex.org/W2572804059","https://openalex.org/W6636798876","https://openalex.org/W6657725327"],"related_works":["https://openalex.org/W131457901","https://openalex.org/W1976248635","https://openalex.org/W2150214514","https://openalex.org/W2008951511","https://openalex.org/W2047793074","https://openalex.org/W3161282940","https://openalex.org/W4235530921","https://openalex.org/W4238866024","https://openalex.org/W2110735178","https://openalex.org/W1525354119"],"abstract_inverted_index":{"A":[0],"reflective":[1,56,91],"language":[2,5,24,41,57,66],"makes":[3],"the":[4,22,62,65,81,98,107,111,120,125,130,133],"semantics":[6,67],"open":[7],"to":[8,14,118],"user":[9,146],"programs":[10],"and":[11,17,31],"allows":[12],"them":[13],"access,":[15],"extend,":[16],"modify":[18],"it":[19,33],"from":[20,143],"within":[21],"same":[23,99],"framework.":[25],"Because":[26],"of":[27,54,83,114,135],"its":[28],"high":[29],"flexibility":[30],"expressiveness,":[32],"can":[34,68],"be":[35],"an":[36],"ideal":[37],"platform":[38],"for":[39,75,89],"programming":[40],"research":[42],"as":[43,45,86,101],"well":[44],"practical":[46],"applications":[47],"in":[48,124,139],"dynamic":[49],"environments.":[50],"However,":[51],"efficient":[52],"implementation":[53],"a":[55,70,87,90,103,136,145],"is":[58,73],"extremely":[59],"difficult.":[60],"Under":[61],"circumstance":[63],"where":[64],"change,":[69],"partial":[71,104,109],"evaluator":[72],"required":[74],"compilation.":[76],"This":[77],"paper":[78],"reports":[79],"on":[80],"experience":[82],"using":[84,102],"MetaOCaml":[85,96,115,140],"compiler":[88],"language.":[92],"With":[93],"staging":[94],"annotations,":[95],"achieves":[97],"effect":[100],"evaluator.":[105],"Unlike":[106],"standard":[108],"evaluator,":[110],"run":[112],"mechanism":[113],"enables":[116],"us":[117,142],"use":[119],"specialized":[121],"(compiled)":[122],"code":[123],"current":[126],"runtime":[127],"environment.":[128],"On":[129],"other":[131],"hand,":[132],"lack":[134],"binding-time":[137],"analysis":[138],"prohibits":[141],"compiling":[144],"program":[147],"under":[148],"modified":[149],"compiled":[150],"semantics.":[151]},"counts_by_year":[{"year":2020,"cited_by_count":1},{"year":2019,"cited_by_count":1},{"year":2018,"cited_by_count":1},{"year":2017,"cited_by_count":2},{"year":2016,"cited_by_count":4},{"year":2015,"cited_by_count":2}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
