{"id":"https://openalex.org/W154014553","doi":null,"title":"Monadic I/O in Haskell 1.3","display_name":"Monadic I/O in Haskell 1.3","publication_year":1995,"publication_date":"1995-01-01","ids":{"openalex":"https://openalex.org/W154014553","mag":"154014553"},"language":"en","primary_location":{"id":"pmh:oai:CiteSeerX.psu:10.1.1.52.6922","doi":null,"is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.52.6922","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www-fp.dcs.st-and.ac.uk/~kh/papers/io-tutorial/io-tutorial.ps.gz","raw_type":"text"},"parent_works":[],"lineage":["https://openalex.org/W154014553"],"child_works_count":0,"type":"article","is_traditional":true,"indexed_in":[],"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/A5001627888","display_name":"Andy Gordon","orcid":null,"observed_orcids":[]},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Andy Gordon","raw_affiliation_strings":[],"raw_orcid":null,"affiliations":[]},{"author_position":"last","author":{"id":"https://openalex.org/A5055787720","display_name":"Kevin Hammond","orcid":"https://orcid.org/0000-0002-4326-4562","observed_orcids":["https://orcid.org/0000-0002-4326-4562"]},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Kevin Hammond","raw_affiliation_strings":[],"raw_orcid":"https://orcid.org/0000-0002-4326-4562","affiliations":[]}],"institutions":[],"countries_distinct_count":0,"institutions_distinct_count":0,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":1.1417,"has_fulltext":false,"cited_by_count":6,"citation_normalized_percentile":{"value":0.79361752,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":88,"max":93},"biblio":{"volume":null,"issue":null,"first_page":"50","last_page":"68"},"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.9994999766349792,"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.9994999766349792,"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/T10533","display_name":"Teaching and Learning Programming","score":0.0,"subfield":{"id":"https://openalex.org/subfields/1706","display_name":"Computer Science Applications"},"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.0,"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/monads","display_name":"monads","score":0.8569999933242798},{"id":"https://openalex.org/keywords/lazy-functional-programming","display_name":"lazy functional programming","score":0.8560000061988831},{"id":"https://openalex.org/keywords/error-handling","display_name":"error handling","score":0.9850000143051147},{"id":"https://openalex.org/keywords/language-standardization","display_name":"language standardization","score":0.5130000114440918}],"concepts":[{"id":"https://openalex.org/C2780624054","wikidata":"https://www.wikidata.org/wiki/Q34010","display_name":"Haskell","level":3,"score":0.9928605556488037},{"id":"https://openalex.org/C33959348","wikidata":"https://www.wikidata.org/wiki/Q1630568","display_name":"Monad (category theory)","level":3,"score":0.8450250625610352},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.821912407875061},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8201510310173035},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.7266908288002014},{"id":"https://openalex.org/C79678938","wikidata":"https://www.wikidata.org/wiki/Q1481571","display_name":"Combinatory logic","level":2,"score":0.6034132242202759},{"id":"https://openalex.org/C532756234","wikidata":"https://www.wikidata.org/wiki/Q14658","display_name":"POSIX","level":2,"score":0.5933080911636353},{"id":"https://openalex.org/C186644900","wikidata":"https://www.wikidata.org/wiki/Q194152","display_name":"Parsing","level":2,"score":0.5548452734947205},{"id":"https://openalex.org/C128099668","wikidata":"https://www.wikidata.org/wiki/Q573952","display_name":"Lazy evaluation","level":3,"score":0.42649561166763306},{"id":"https://openalex.org/C156772000","wikidata":"https://www.wikidata.org/wiki/Q864475","display_name":"Functor","level":2,"score":0.11961787939071655},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.10580316185951233},{"id":"https://openalex.org/C118615104","wikidata":"https://www.wikidata.org/wiki/Q121416","display_name":"Discrete mathematics","level":1,"score":0.08467990159988403}],"mesh":[],"locations_count":3,"locations":[{"id":"pmh:oai:CiteSeerX.psu:10.1.1.52.6922","doi":null,"is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.52.6922","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www-fp.dcs.st-and.ac.uk/~kh/papers/io-tutorial/io-tutorial.ps.gz","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.55.1707","doi":null,"is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.55.1707","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://research.microsoft.com/~adg/Publications/io-tutorial.ps","raw_type":"text"},{"id":"mag:154014553","doi":null,"is_oa":false,"landing_page_url":"https://www.microsoft.com/en-us/research/wp-content/uploads/1995/01/io-tutorial.pdf","pdf_url":null,"source":null,"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":null}],"best_oa_location":null,"sustainable_development_goals":[],"study_designs":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":0,"referenced_works":[],"related_works":["https://openalex.org/W2188944230","https://openalex.org/W2547899303","https://openalex.org/W7099583542","https://openalex.org/W7096379403","https://openalex.org/W4206004660","https://openalex.org/W7033516788","https://openalex.org/W1002061856","https://openalex.org/W7097302993","https://openalex.org/W7098401109","https://openalex.org/W1911419940"],"abstract_inverted_index":{"We":[0],"describe":[1],"the":[2,12,16,25,52,56,110,128],"design":[3],"and":[4,82],"use":[5,53],"of":[6,15,54,109,140],"monadic":[7,26],"I/O":[8,27,65,130,146],"in":[9,31,48],"Haskell":[10,22,33,61,97,134,141],"1.3,":[11],"latest":[13],"revision":[14],"lazy":[17],"functional":[18],"programming":[19],"language":[20,101],"Haskell.":[21,49],"1.3":[23,135],"standardises":[24],"mechanisms":[28],"now":[29],"available":[30],"many":[32],"systems.":[34],"The":[35,86],"new":[36,100,111],"facilities":[37,112],"allow":[38],"more":[39],"sophisticated":[40],"text-based":[41],"application":[42],"programs":[43],"to":[44,70,98,105],"be":[45],"written":[46],"portably":[47],"Apart":[50],"from":[51],"monads,":[55],"main":[57],"advances":[58],"over":[59],"standard":[60,87,129],"1.2":[62],"are:":[63],"character":[64],"based":[66,126,148],"on":[67,127,137,149],"handles":[68],"(analogous":[69],"ANSI":[71],"C":[72],"file":[73],"pointers),":[74],"an":[75,145],"error":[76],"handling":[77,81],"mechanism,":[78],"terminal":[79],"interrupt":[80],"a":[83,92,106,116,119],"POSIX":[84],"interface.":[85],"also":[88],"provides":[89],"implementors":[90],"with":[91],"flexible":[93],"framework":[94],"for":[95,121],"extending":[96],"incorporate":[99],"features.":[102],"In":[103],"addition":[104],"tutorial":[107],"description":[108],"this":[113],"paper":[114,153],"includes":[115],"worked":[117],"example:":[118],"monad":[120],"combinator":[122],"parsing":[123],"which":[124],"is":[125],"monad.":[131],"1":[132],"Introduction":[133],"improves":[136],"previous":[138],"versions":[139],"[11]":[142],"by":[143],"adopting":[144],"mechanism":[147],"monads":[150],"[18].":[151],"This":[152],"exp...":[154]},"counts_by_year":[{"year":2020,"cited_by_count":1},{"year":2019,"cited_by_count":1},{"year":2014,"cited_by_count":1}],"updated_date":"2026-11-14T11:04:58.165337","created_date":"2016-06-24T00:00:00"}
