{"id":"https://openalex.org/W2079727403","doi":"https://doi.org/10.1145/1376789.1376791","title":"Writing systems software in a functional language","display_name":"Writing systems software in a functional language","publication_year":2007,"publication_date":"2007-10-18","ids":{"openalex":"https://openalex.org/W2079727403","doi":"https://doi.org/10.1145/1376789.1376791","mag":"2079727403"},"language":"en","primary_location":{"id":"doi:10.1145/1376789.1376791","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1376789.1376791","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 4th workshop on Programming languages and operating systems","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/A5078168035","display_name":"Iavor S. Diatchki","orcid":"https://orcid.org/0009-0000-7795-4708"},"institutions":[],"countries":[],"is_corresponding":true,"raw_author_name":"Iavor S. Diatchki","raw_affiliation_strings":[],"affiliations":[]},{"author_position":"middle","author":{"id":"https://openalex.org/A5032823542","display_name":"Thomas Hallgren","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Thomas Hallgren","raw_affiliation_strings":[],"affiliations":[]},{"author_position":"middle","author":{"id":"https://openalex.org/A5109230348","display_name":"Mark P. Jones","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Mark P. Jones","raw_affiliation_strings":[],"affiliations":[]},{"author_position":"middle","author":{"id":"https://openalex.org/A5027138624","display_name":"Rebekah Leslie","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Rebekah Leslie","raw_affiliation_strings":[],"affiliations":[]},{"author_position":"last","author":{"id":"https://openalex.org/A5046980155","display_name":"Andrew Tolmach","orcid":"https://orcid.org/0000-0002-0748-2044"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Andrew Tolmach","raw_affiliation_strings":[],"affiliations":[]}],"institutions":[],"countries_distinct_count":0,"institutions_distinct_count":5,"corresponding_author_ids":["https://openalex.org/A5078168035"],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.3167,"has_fulltext":false,"cited_by_count":3,"citation_normalized_percentile":{"value":0.62352122,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":94},"biblio":{"volume":null,"issue":null,"first_page":"1","last_page":"5"},"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.9988999962806702,"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.9988999962806702,"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.996999979019165,"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/T10772","display_name":"Distributed systems and fault tolerance","score":0.9965000152587891,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"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.9803686738014221},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8349803686141968},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.7275342345237732},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.6860090494155884},{"id":"https://openalex.org/keywords/domain-specific-language","display_name":"Domain-specific language","score":0.5310528874397278},{"id":"https://openalex.org/keywords/kernel","display_name":"Kernel (algebra)","score":0.5304557681083679},{"id":"https://openalex.org/keywords/construct","display_name":"Construct (python library)","score":0.49283695220947266},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.4516887962818146},{"id":"https://openalex.org/keywords/domain","display_name":"Domain (mathematical analysis)","score":0.4421403408050537},{"id":"https://openalex.org/keywords/simple","display_name":"Simple (philosophy)","score":0.4212425649166107},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.4186609387397766}],"concepts":[{"id":"https://openalex.org/C2780624054","wikidata":"https://www.wikidata.org/wiki/Q34010","display_name":"Haskell","level":3,"score":0.9803686738014221},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8349803686141968},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.7275342345237732},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6860090494155884},{"id":"https://openalex.org/C135257023","wikidata":"https://www.wikidata.org/wiki/Q691358","display_name":"Domain-specific language","level":2,"score":0.5310528874397278},{"id":"https://openalex.org/C74193536","wikidata":"https://www.wikidata.org/wiki/Q574844","display_name":"Kernel (algebra)","level":2,"score":0.5304557681083679},{"id":"https://openalex.org/C2780801425","wikidata":"https://www.wikidata.org/wiki/Q5164392","display_name":"Construct (python library)","level":2,"score":0.49283695220947266},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.4516887962818146},{"id":"https://openalex.org/C36503486","wikidata":"https://www.wikidata.org/wiki/Q11235244","display_name":"Domain (mathematical analysis)","level":2,"score":0.4421403408050537},{"id":"https://openalex.org/C2780586882","wikidata":"https://www.wikidata.org/wiki/Q7520643","display_name":"Simple (philosophy)","level":2,"score":0.4212425649166107},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.4186609387397766},{"id":"https://openalex.org/C111472728","wikidata":"https://www.wikidata.org/wiki/Q9471","display_name":"Epistemology","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/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","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},{"id":"https://openalex.org/C114614502","wikidata":"https://www.wikidata.org/wiki/Q76592","display_name":"Combinatorics","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/1376789.1376791","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1376789.1376791","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 4th workshop on Programming languages and operating systems","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[{"id":"https://metadata.un.org/sdg/4","score":0.5299999713897705,"display_name":"Quality Education"}],"awards":[],"funders":[{"id":"https://openalex.org/F4320309493","display_name":"Portland State University","ror":"https://ror.org/00yn2fy02"}],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":17,"referenced_works":["https://openalex.org/W160069865","https://openalex.org/W175766794","https://openalex.org/W1525444671","https://openalex.org/W1556536463","https://openalex.org/W1965760540","https://openalex.org/W2059895047","https://openalex.org/W2083355374","https://openalex.org/W2097635922","https://openalex.org/W2097889836","https://openalex.org/W2106293438","https://openalex.org/W2116984048","https://openalex.org/W2120348241","https://openalex.org/W2160039002","https://openalex.org/W2161780258","https://openalex.org/W2470007019","https://openalex.org/W2611598995","https://openalex.org/W4285719527"],"related_works":["https://openalex.org/W2112263414","https://openalex.org/W3004782279","https://openalex.org/W1602185604","https://openalex.org/W2028779182","https://openalex.org/W4242678340","https://openalex.org/W2140654465","https://openalex.org/W2129253059","https://openalex.org/W1488646450","https://openalex.org/W4296274916","https://openalex.org/W1504459189"],"abstract_inverted_index":{"Current":[0],"practices":[1],"for":[2,32,105,123,129],"developing":[3,60],"systems":[4,93],"software":[5,94],"usually":[6],"rely":[7],"on":[8],"fairly":[9],"low-level":[10,124],"programming":[11],"languages":[12],"and":[13,34,50,72,127],"tools.":[14],"As":[15],"an":[16],"alternative,":[17],"our":[18,58],"group":[19],"has":[20],"been":[21],"investigating":[22],"the":[23,39,68],"possibility":[24],"of":[25],"using":[26],"a":[27,61,74,96,106],"high-level":[28],"functional":[29,97],"language,":[30],"Haskell,":[31],"kernel":[33],"device":[35,70],"driver":[36],"construction,":[37],"with":[38,110],"hope":[40],"that":[41,86,112],"it":[42,87,100],"will":[43],"allow":[44],"us":[45],"to":[46,91],"produce":[47],"more":[48],"reliable":[49],"secure":[51],"software.":[52],"In":[53],"this":[54,117],"paper,":[55],"we":[56],"describe":[57],"experience":[59],"prototype":[62],"operating":[63],"system,":[64],"House,":[65],"in":[66,80,95,116],"which":[67],"kernel,":[69],"drivers,":[71],"even":[73],"simple":[75],"GUI,":[76],"are":[77],"all":[78],"written":[79],"Haskell.":[81],"The":[82],"House":[83],"system":[84],"demonstrates":[85],"is":[88],"indeed":[89],"possible":[90],"construct":[92],"language.":[98],"However,":[99],"also":[101],"suggests":[102],"some":[103],"ideas":[104],"new":[107],"Haskell":[108],"dialect":[109],"features":[111],"target":[113],"specific":[114],"needs":[115],"domain,":[118],"including":[119],"strongly":[120],"typed":[121],"support":[122],"data":[125],"structures":[126],"facilities":[128],"explicit":[130],"memory":[131],"accounting.":[132]},"counts_by_year":[{"year":2018,"cited_by_count":1}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
