{"id":"https://openalex.org/W2004409251","doi":"https://doi.org/10.1145/2786545.2786553","title":"Type-Safe Layer-Introduced Base Functions with Imperative Layer Activation","display_name":"Type-Safe Layer-Introduced Base Functions with Imperative Layer Activation","publication_year":2015,"publication_date":"2015-07-04","ids":{"openalex":"https://openalex.org/W2004409251","doi":"https://doi.org/10.1145/2786545.2786553","mag":"2004409251"},"language":"en","primary_location":{"id":"doi:10.1145/2786545.2786553","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2786545.2786553","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 7th International Workshop on Context-Oriented Programming","raw_type":"proceedings-article"},"type":"conference-paper","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/A5070909210","display_name":"Tomoyuki Aotani","orcid":"https://orcid.org/0000-0003-4538-0230"},"institutions":[{"id":"https://openalex.org/I114531698","display_name":"Tokyo Institute of Technology","ror":"https://ror.org/0112mx960","country_code":"JP","type":"education","lineage":["https://openalex.org/I114531698"]}],"countries":["JP"],"is_corresponding":false,"raw_author_name":"Tomoyuki Aotani","raw_affiliation_strings":["Tokyo Institute of Technology"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Tokyo Institute of Technology","institution_ids":["https://openalex.org/I114531698"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5082030898","display_name":"Tetsuo Kamina","orcid":"https://orcid.org/0000-0003-0288-1908"},"institutions":[{"id":"https://openalex.org/I135768898","display_name":"Ritsumeikan University","ror":"https://ror.org/0197nmd03","country_code":"JP","type":"education","lineage":["https://openalex.org/I135768898","https://openalex.org/I4390039241"]}],"countries":["JP"],"is_corresponding":false,"raw_author_name":"Tetsuo Kamina","raw_affiliation_strings":["Ritsumeikan University"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Ritsumeikan University","institution_ids":["https://openalex.org/I135768898"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5079977725","display_name":"Hidehiko Masuhara","orcid":"https://orcid.org/0000-0002-8837-5303"},"institutions":[{"id":"https://openalex.org/I114531698","display_name":"Tokyo Institute of Technology","ror":"https://ror.org/0112mx960","country_code":"JP","type":"education","lineage":["https://openalex.org/I114531698"]}],"countries":["JP"],"is_corresponding":false,"raw_author_name":"Hidehiko Masuhara","raw_affiliation_strings":["Tokyo Institute of Technology"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Tokyo Institute of Technology","institution_ids":["https://openalex.org/I114531698"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":null,"has_fulltext":false,"cited_by_count":3,"citation_normalized_percentile":null,"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":"1","last_page":"7"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.9993000030517578,"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/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.9993000030517578,"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/T10126","display_name":"Logic, programming, and type systems","score":0.9986000061035156,"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/T10142","display_name":"Formal Methods in Verification","score":0.998199999332428,"subfield":{"id":"https://openalex.org/subfields/1703","display_name":"Computational Theory and Mathematics"},"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.9831720590591431},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8155651092529297},{"id":"https://openalex.org/keywords/layer","display_name":"Layer (electronics)","score":0.7123701572418213},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.6170426607131958},{"id":"https://openalex.org/keywords/context","display_name":"Context (archaeology)","score":0.5798177719116211},{"id":"https://openalex.org/keywords/base","display_name":"Base (topology)","score":0.5090944170951843},{"id":"https://openalex.org/keywords/simple","display_name":"Simple (philosophy)","score":0.4922734797000885},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.478046715259552},{"id":"https://openalex.org/keywords/service-layer","display_name":"Service layer","score":0.4190383851528168},{"id":"https://openalex.org/keywords/function","display_name":"Function (biology)","score":0.4174595773220062},{"id":"https://openalex.org/keywords/distributed-computing","display_name":"Distributed computing","score":0.33531472086906433},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.08743268251419067},{"id":"https://openalex.org/keywords/materials-science","display_name":"Materials science","score":0.07990407943725586},{"id":"https://openalex.org/keywords/nanotechnology","display_name":"Nanotechnology","score":0.063213050365448}],"concepts":[{"id":"https://openalex.org/C2780624054","wikidata":"https://www.wikidata.org/wiki/Q34010","display_name":"Haskell","level":3,"score":0.9831720590591431},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8155651092529297},{"id":"https://openalex.org/C2779227376","wikidata":"https://www.wikidata.org/wiki/Q6505497","display_name":"Layer (electronics)","level":2,"score":0.7123701572418213},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.6170426607131958},{"id":"https://openalex.org/C2779343474","wikidata":"https://www.wikidata.org/wiki/Q3109175","display_name":"Context (archaeology)","level":2,"score":0.5798177719116211},{"id":"https://openalex.org/C42058472","wikidata":"https://www.wikidata.org/wiki/Q810214","display_name":"Base (topology)","level":2,"score":0.5090944170951843},{"id":"https://openalex.org/C2780586882","wikidata":"https://www.wikidata.org/wiki/Q7520643","display_name":"Simple (philosophy)","level":2,"score":0.4922734797000885},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.478046715259552},{"id":"https://openalex.org/C108548466","wikidata":"https://www.wikidata.org/wiki/Q7455767","display_name":"Service layer","level":3,"score":0.4190383851528168},{"id":"https://openalex.org/C14036430","wikidata":"https://www.wikidata.org/wiki/Q3736076","display_name":"Function (biology)","level":2,"score":0.4174595773220062},{"id":"https://openalex.org/C120314980","wikidata":"https://www.wikidata.org/wiki/Q180634","display_name":"Distributed computing","level":1,"score":0.33531472086906433},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.08743268251419067},{"id":"https://openalex.org/C192562407","wikidata":"https://www.wikidata.org/wiki/Q228736","display_name":"Materials science","level":0,"score":0.07990407943725586},{"id":"https://openalex.org/C171250308","wikidata":"https://www.wikidata.org/wiki/Q11468","display_name":"Nanotechnology","level":1,"score":0.063213050365448},{"id":"https://openalex.org/C35578498","wikidata":"https://www.wikidata.org/wiki/Q193424","display_name":"Web service","level":2,"score":0.0},{"id":"https://openalex.org/C111472728","wikidata":"https://www.wikidata.org/wiki/Q9471","display_name":"Epistemology","level":1,"score":0.0},{"id":"https://openalex.org/C151730666","wikidata":"https://www.wikidata.org/wiki/Q7205","display_name":"Paleontology","level":1,"score":0.0},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.0},{"id":"https://openalex.org/C78458016","wikidata":"https://www.wikidata.org/wiki/Q840400","display_name":"Evolutionary biology","level":1,"score":0.0},{"id":"https://openalex.org/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"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/2786545.2786553","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2786545.2786553","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 7th International Workshop on Context-Oriented Programming","raw_type":"proceedings-article"},{"id":"pmh:oai:t2r2.star.titech.ac.jp:50510551","is_oa":false,"landing_page_url":"http://t2r2.star.titech.ac.jp/cgi-bin/publicationinfo.cgi?q_publication_content_number=CTT100815730","pdf_url":null,"source":{"id":"https://openalex.org/S4377196385","display_name":"Tokyo Tech Research Repository (Tokyo Institute of Technology)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I114531698","host_organization_name":"Tokyo Institute of Technology","host_organization_lineage":["https://openalex.org/I114531698"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":"Journal Article"}],"best_oa_location":null,"sustainable_development_goals":[{"id":"https://metadata.un.org/sdg/16","score":0.800000011920929,"display_name":"Peace, Justice and strong institutions"}],"awards":[{"id":"https://openalex.org/G1632351418","display_name":"Deepening Study on Context-Oriented Programming","funder_award_id":"25330078","funder_id":"https://openalex.org/F4320334764","funder_display_name":"Japan Society for the Promotion of Science"}],"funders":[{"id":"https://openalex.org/F4320334764","display_name":"Japan Society for the Promotion of Science","ror":"https://ror.org/00hhkn466"}],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":22,"referenced_works":["https://openalex.org/W67531830","https://openalex.org/W1905241273","https://openalex.org/W1978875190","https://openalex.org/W1983125921","https://openalex.org/W1985484436","https://openalex.org/W1985637830","https://openalex.org/W1992443356","https://openalex.org/W2044590882","https://openalex.org/W2084861262","https://openalex.org/W2087175184","https://openalex.org/W2112474400","https://openalex.org/W2115607078","https://openalex.org/W2123691799","https://openalex.org/W2129990308","https://openalex.org/W2140825882","https://openalex.org/W2145304606","https://openalex.org/W2145919358","https://openalex.org/W2148049665","https://openalex.org/W2150275961","https://openalex.org/W2170697151","https://openalex.org/W2182749898","https://openalex.org/W6686333924"],"related_works":["https://openalex.org/W2112263414","https://openalex.org/W1602185604","https://openalex.org/W3004782279","https://openalex.org/W2028779182","https://openalex.org/W4242678340","https://openalex.org/W2140654465","https://openalex.org/W2129253059","https://openalex.org/W4296274916","https://openalex.org/W1504459189","https://openalex.org/W1755575651"],"abstract_inverted_index":{"Layer-introduced":[0],"base":[1,42,102],"methods,":[2],"which":[3],"are":[4,14,51,66],"the":[5,45,49,77,124],"methods":[6],"with":[7],"new":[8],"signatures":[9],"in":[10,87,114,120,150],"a":[11,17,40,60,84,106,109,115,118,129,133,153],"layer":[12,80,95,130],"and":[13,93],"added":[15],"to":[16,23,32,38,57,68],"class,":[18],"give":[19],"layers":[20,46,113],"more":[21],"freedom":[22],"organize":[24],"definitions":[25],"of":[26,111,117,126,128],"context-dependent":[27],"behavior.":[28],"However,":[29],"we":[30],"need":[31],"be":[33],"careful":[34],"so":[35],"as":[36,98,100,108],"not":[37],"call":[39],"layer-introduced":[41,101,134],"method":[43,50],"while":[44],"that":[47,73,89,131],"provide":[48],"inactive.":[52],"Type-based":[53],"solutions":[54],"would":[55],"help":[56],"avoid":[58],"such":[59],"problematic":[61],"situation,":[62],"but":[63],"existing":[64],"ones":[65],"limited":[67],"context-oriented":[69],"programming":[70],"(COP)":[71],"languages":[72],"have":[74],"dynamically-scoped":[75,94],"(i.e.,":[76],"\"with\"":[78],"based)":[79],"activation.":[81],"We":[82],"propose":[83],"COP":[85,148],"framework":[86,146],"Haskell":[88,151],"supports":[90],"both":[91],"imperative":[92],"activation":[96,127],"mechanisms,":[97],"well":[99],"functions.":[103],"By":[104],"representing":[105],"context":[107],"stack":[110],"active":[112],"type":[116,122,139],"function":[119],"Haskell,":[121],"safety---including":[123],"guarantee":[125],"provides":[132],"function---is":[135],"checked":[136],"by":[137],"Haskell's":[138],"system.":[140],"This":[141],"paper":[142],"shows":[143],"how":[144],"our":[145],"encodes":[147],"features":[149],"using":[152],"simple":[154],"example.":[155]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2017,"cited_by_count":2}],"updated_date":"2026-07-14T23:27:15.235271","created_date":"2025-10-10T00:00:00"}
