An Implementation of Session Types

A session type is an abstraction of a set of sequences of heterogeneous values sent and received over a communication channel. Session types can be used for specifying stream-based Internet protocols. Typically, session types are attached to communication-based program calculi, which renders them th...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Neubauer, Matthias, Thiemann, Peter
Format: Buchkapitel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page 70
container_issue
container_start_page 56
container_title
container_volume 3057
creator Neubauer, Matthias
Thiemann, Peter
description A session type is an abstraction of a set of sequences of heterogeneous values sent and received over a communication channel. Session types can be used for specifying stream-based Internet protocols. Typically, session types are attached to communication-based program calculi, which renders them theoretical tools which are not readily usable in practice. To transfer session types into practice, we propose an embedding of a core calculus with session types into the functional programming language Haskell. The embedding preserves typing. A case study (a client for SMTP, the Simple Mail Transfer Protocol) demonstrates the feasibility of our approach.
doi_str_mv 10.1007/978-3-540-24836-1_5
format Book Chapter
fullrecord <record><control><sourceid>proquest_pasca</sourceid><recordid>TN_cdi_pascalfrancis_primary_15993459</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>EBC3088908_10_64</sourcerecordid><originalsourceid>FETCH-LOGICAL-p270t-712e9ff892fe9174145287561423ef91ca947bb61f172c2cfeab7ade5e3c86373</originalsourceid><addsrcrecordid>eNpFkMtOwzAQRc1TRKVfwKZCYmnw-BHby6riUakSC8racswYCmkS4rDo3-O0SMxmRnfuXGkOIVfAboExfWe1oYIqySiXRpQUnDoi06yKrO0lOCYFlABUCGlP_necK2FOScEE49RqKc5JYbPFgLb2gkxT-mS5sk1pW5DreTNbbrsat9gMfti0zayNsxdMaRzXuw7TJTmLvk44_esT8vpwv1480dXz43IxX9GOazZQDRxtjMbyiBa0BKm40aoEyQVGC8FbqauqhAiaBx4i-kr7N1QogimFFhNyc8jtfAq-jr1vwia5rt9sfb9zoGz-Q9nsg4Mv5VXzjr2r2vYrOWBuZOcyCSdcZuH2oFxml2_4X3bffv9gGhyORyE_3fs6fPhuwD45wYyxzIxRpRS_QFpp7A</addsrcrecordid><sourcetype>Index Database</sourcetype><iscdi>true</iscdi><recordtype>book_chapter</recordtype><pqid>EBC3088908_10_64</pqid></control><display><type>book_chapter</type><title>An Implementation of Session Types</title><source>Springer Books</source><creator>Neubauer, Matthias ; Thiemann, Peter</creator><contributor>Jayaraman, Bharat ; Jayaraman, Bharat</contributor><creatorcontrib>Neubauer, Matthias ; Thiemann, Peter ; Jayaraman, Bharat ; Jayaraman, Bharat</creatorcontrib><description>A session type is an abstraction of a set of sequences of heterogeneous values sent and received over a communication channel. Session types can be used for specifying stream-based Internet protocols. Typically, session types are attached to communication-based program calculi, which renders them theoretical tools which are not readily usable in practice. To transfer session types into practice, we propose an embedding of a core calculus with session types into the functional programming language Haskell. The embedding preserves typing. A case study (a client for SMTP, the Simple Mail Transfer Protocol) demonstrates the feasibility of our approach.</description><identifier>ISSN: 0302-9743</identifier><identifier>ISBN: 9783540222538</identifier><identifier>ISBN: 3540222537</identifier><identifier>EISSN: 1611-3349</identifier><identifier>EISBN: 9783540248361</identifier><identifier>EISBN: 3540248366</identifier><identifier>DOI: 10.1007/978-3-540-24836-1_5</identifier><identifier>OCLC: 934981799</identifier><identifier>LCCallNum: QA76.758</identifier><language>eng</language><publisher>Germany: Springer Berlin / Heidelberg</publisher><subject>Applied sciences ; Computer science; control theory; systems ; domain specific languages ; Exact sciences and technology ; Functional programming ; Programming languages ; Software ; types</subject><ispartof>Lecture notes in computer science, 2004, Vol.3057, p.56-70</ispartof><rights>Springer-Verlag Berlin Heidelberg 2004</rights><rights>2004 INIST-CNRS</rights><lds50>peer_reviewed</lds50><woscitedreferencessubscribed>false</woscitedreferencessubscribed><relation>Lecture Notes in Computer Science</relation></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Uhttps://ebookcentral.proquest.com/covers/3088908-l.jpg</thumbnail><linktopdf>$$Uhttps://link.springer.com/content/pdf/10.1007/978-3-540-24836-1_5$$EPDF$$P50$$Gspringer$$H</linktopdf><linktohtml>$$Uhttps://link.springer.com/10.1007/978-3-540-24836-1_5$$EHTML$$P50$$Gspringer$$H</linktohtml><link.rule.ids>309,310,779,780,784,789,790,793,4050,4051,27925,38255,41442,42511</link.rule.ids><backlink>$$Uhttp://pascal-francis.inist.fr/vibad/index.php?action=getRecordDetail&amp;idt=15993459$$DView record in Pascal Francis$$Hfree_for_read</backlink></links><search><contributor>Jayaraman, Bharat</contributor><contributor>Jayaraman, Bharat</contributor><creatorcontrib>Neubauer, Matthias</creatorcontrib><creatorcontrib>Thiemann, Peter</creatorcontrib><title>An Implementation of Session Types</title><title>Lecture notes in computer science</title><description>A session type is an abstraction of a set of sequences of heterogeneous values sent and received over a communication channel. Session types can be used for specifying stream-based Internet protocols. Typically, session types are attached to communication-based program calculi, which renders them theoretical tools which are not readily usable in practice. To transfer session types into practice, we propose an embedding of a core calculus with session types into the functional programming language Haskell. The embedding preserves typing. A case study (a client for SMTP, the Simple Mail Transfer Protocol) demonstrates the feasibility of our approach.</description><subject>Applied sciences</subject><subject>Computer science; control theory; systems</subject><subject>domain specific languages</subject><subject>Exact sciences and technology</subject><subject>Functional programming</subject><subject>Programming languages</subject><subject>Software</subject><subject>types</subject><issn>0302-9743</issn><issn>1611-3349</issn><isbn>9783540222538</isbn><isbn>3540222537</isbn><isbn>9783540248361</isbn><isbn>3540248366</isbn><fulltext>true</fulltext><rsrctype>book_chapter</rsrctype><creationdate>2004</creationdate><recordtype>book_chapter</recordtype><recordid>eNpFkMtOwzAQRc1TRKVfwKZCYmnw-BHby6riUakSC8racswYCmkS4rDo3-O0SMxmRnfuXGkOIVfAboExfWe1oYIqySiXRpQUnDoi06yKrO0lOCYFlABUCGlP_necK2FOScEE49RqKc5JYbPFgLb2gkxT-mS5sk1pW5DreTNbbrsat9gMfti0zayNsxdMaRzXuw7TJTmLvk44_esT8vpwv1480dXz43IxX9GOazZQDRxtjMbyiBa0BKm40aoEyQVGC8FbqauqhAiaBx4i-kr7N1QogimFFhNyc8jtfAq-jr1vwia5rt9sfb9zoGz-Q9nsg4Mv5VXzjr2r2vYrOWBuZOcyCSdcZuH2oFxml2_4X3bffv9gGhyORyE_3fs6fPhuwD45wYyxzIxRpRS_QFpp7A</recordid><startdate>2004</startdate><enddate>2004</enddate><creator>Neubauer, Matthias</creator><creator>Thiemann, Peter</creator><general>Springer Berlin / Heidelberg</general><general>Springer Berlin Heidelberg</general><general>Springer</general><scope>FFUUA</scope><scope>IQODW</scope></search><sort><creationdate>2004</creationdate><title>An Implementation of Session Types</title><author>Neubauer, Matthias ; Thiemann, Peter</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-p270t-712e9ff892fe9174145287561423ef91ca947bb61f172c2cfeab7ade5e3c86373</frbrgroupid><rsrctype>book_chapters</rsrctype><prefilter>book_chapters</prefilter><language>eng</language><creationdate>2004</creationdate><topic>Applied sciences</topic><topic>Computer science; control theory; systems</topic><topic>domain specific languages</topic><topic>Exact sciences and technology</topic><topic>Functional programming</topic><topic>Programming languages</topic><topic>Software</topic><topic>types</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Neubauer, Matthias</creatorcontrib><creatorcontrib>Thiemann, Peter</creatorcontrib><collection>ProQuest Ebook Central - Book Chapters - Demo use only</collection><collection>Pascal-Francis</collection></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Neubauer, Matthias</au><au>Thiemann, Peter</au><au>Jayaraman, Bharat</au><au>Jayaraman, Bharat</au><format>book</format><genre>bookitem</genre><ristype>CHAP</ristype><atitle>An Implementation of Session Types</atitle><btitle>Lecture notes in computer science</btitle><seriestitle>Lecture Notes in Computer Science</seriestitle><date>2004</date><risdate>2004</risdate><volume>3057</volume><spage>56</spage><epage>70</epage><pages>56-70</pages><issn>0302-9743</issn><eissn>1611-3349</eissn><isbn>9783540222538</isbn><isbn>3540222537</isbn><eisbn>9783540248361</eisbn><eisbn>3540248366</eisbn><abstract>A session type is an abstraction of a set of sequences of heterogeneous values sent and received over a communication channel. Session types can be used for specifying stream-based Internet protocols. Typically, session types are attached to communication-based program calculi, which renders them theoretical tools which are not readily usable in practice. To transfer session types into practice, we propose an embedding of a core calculus with session types into the functional programming language Haskell. The embedding preserves typing. A case study (a client for SMTP, the Simple Mail Transfer Protocol) demonstrates the feasibility of our approach.</abstract><cop>Germany</cop><pub>Springer Berlin / Heidelberg</pub><doi>10.1007/978-3-540-24836-1_5</doi><oclcid>934981799</oclcid><tpages>15</tpages></addata></record>
fulltext fulltext
identifier ISSN: 0302-9743
ispartof Lecture notes in computer science, 2004, Vol.3057, p.56-70
issn 0302-9743
1611-3349
language eng
recordid cdi_pascalfrancis_primary_15993459
source Springer Books
subjects Applied sciences
Computer science
control theory
systems
domain specific languages
Exact sciences and technology
Functional programming
Programming languages
Software
types
title An Implementation of Session Types
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2024-12-25T14%3A50%3A46IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_pasca&rft_val_fmt=info:ofi/fmt:kev:mtx:book&rft.genre=bookitem&rft.atitle=An%20Implementation%20of%20Session%20Types&rft.btitle=Lecture%20notes%20in%20computer%20science&rft.au=Neubauer,%20Matthias&rft.date=2004&rft.volume=3057&rft.spage=56&rft.epage=70&rft.pages=56-70&rft.issn=0302-9743&rft.eissn=1611-3349&rft.isbn=9783540222538&rft.isbn_list=3540222537&rft_id=info:doi/10.1007/978-3-540-24836-1_5&rft_dat=%3Cproquest_pasca%3EEBC3088908_10_64%3C/proquest_pasca%3E%3Curl%3E%3C/url%3E&rft.eisbn=9783540248361&rft.eisbn_list=3540248366&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_pqid=EBC3088908_10_64&rft_id=info:pmid/&rfr_iscdi=true