Loading…
Abstract types have existential type
Abstract data type declarations appear in typed programming languages like Ada, Alphard, CLU and ML. This form of declaration binds a list of identifiers to a type with associated operations, a composite "value" we call a data algebra. We use a second-order typed lambda calculus SOL to sho...
Saved in:
Published in: | ACM transactions on programming languages and systems 1988-07, Vol.10 (3), p.470-502 |
---|---|
Main Authors: | , |
Format: | Article |
Language: | English |
Subjects: | |
Citations: | Items that this one cites Items that cite this one |
Online Access: | Get full text |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
cited_by | cdi_FETCH-LOGICAL-a411t-66069b5b54ae8e7f15d2aa4de32330e80ad607003e5df0fa5eb23fa9158700963 |
---|---|
cites | cdi_FETCH-LOGICAL-a411t-66069b5b54ae8e7f15d2aa4de32330e80ad607003e5df0fa5eb23fa9158700963 |
container_end_page | 502 |
container_issue | 3 |
container_start_page | 470 |
container_title | ACM transactions on programming languages and systems |
container_volume | 10 |
creator | Mitchell, John C. Plotkin, Gordon D. |
description | Abstract data type declarations appear in typed programming languages like Ada, Alphard, CLU and ML. This form of declaration binds a list of identifiers to a type with associated operations, a composite "value" we call a data algebra. We use a second-order typed lambda calculus SOL to show how data algebras may be given types, passed as parameters, and returned as results of function calls. In the process, we discuss the semantics of abstract data type declarations and review a connection between typed programming languages and constructive logic. |
doi_str_mv | 10.1145/44501.45065 |
format | article |
fullrecord | <record><control><sourceid>proquest_cross</sourceid><recordid>TN_cdi_proquest_miscellaneous_28877428</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>28877428</sourcerecordid><originalsourceid>FETCH-LOGICAL-a411t-66069b5b54ae8e7f15d2aa4de32330e80ad607003e5df0fa5eb23fa9158700963</originalsourceid><addsrcrecordid>eNo9kE1Lw0AQhhdRsFZPXjz2ULxI6uzHbDbHUvyCghc9L5NkFiPph9mt6L83NqWXGXjnmefwCnEtYSalwXtjEOSsHxZPxEgiusxgoU_FCKQ1GRQKz8VFjJ8AIB26kZjOy5g6qtIk_W45Tj7omyf808TE69RQu48vxVmgNvLVYY_F--PD2-I5W74-vSzmy4yMlCmzFmxRYomG2HEeJNaKyNSsldbADqi2kANoxjpAIORS6UCFRNenhdVjcTt4t93ma8cx-VUTK25bWvNmF71yLs-Ncj14N4BVt4mx4-C3XbOi7tdL8P9N-H0Tft9ET08PWooVtaGjddXE40sORa6U6bGbAaNqdTwOhj-TGGMS</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>28877428</pqid></control><display><type>article</type><title>Abstract types have existential type</title><source>Association for Computing Machinery:Jisc Collections:ACM OPEN Journals 2023-2025 (reading list)</source><creator>Mitchell, John C. ; Plotkin, Gordon D.</creator><creatorcontrib>Mitchell, John C. ; Plotkin, Gordon D.</creatorcontrib><description>Abstract data type declarations appear in typed programming languages like Ada, Alphard, CLU and ML. This form of declaration binds a list of identifiers to a type with associated operations, a composite "value" we call a data algebra. We use a second-order typed lambda calculus SOL to show how data algebras may be given types, passed as parameters, and returned as results of function calls. In the process, we discuss the semantics of abstract data type declarations and review a connection between typed programming languages and constructive logic.</description><identifier>ISSN: 0164-0925</identifier><identifier>EISSN: 1558-4593</identifier><identifier>DOI: 10.1145/44501.45065</identifier><identifier>CODEN: ATPSDT</identifier><language>eng</language><publisher>New York, NY, USA: ACM</publisher><subject>Applied sciences ; Computer science; control theory; systems ; Exact sciences and technology ; Formal language definitions ; Program semantics ; Programming languages ; Semantics ; Semantics and reasoning ; Software ; Software and its engineering ; Software notations and tools ; Theory of computation</subject><ispartof>ACM transactions on programming languages and systems, 1988-07, Vol.10 (3), p.470-502</ispartof><rights>ACM</rights><rights>1989 INIST-CNRS</rights><lds50>peer_reviewed</lds50><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-a411t-66069b5b54ae8e7f15d2aa4de32330e80ad607003e5df0fa5eb23fa9158700963</citedby><cites>FETCH-LOGICAL-a411t-66069b5b54ae8e7f15d2aa4de32330e80ad607003e5df0fa5eb23fa9158700963</cites></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><link.rule.ids>314,780,784,27924,27925</link.rule.ids><backlink>$$Uhttp://pascal-francis.inist.fr/vibad/index.php?action=getRecordDetail&idt=7097224$$DView record in Pascal Francis$$Hfree_for_read</backlink></links><search><creatorcontrib>Mitchell, John C.</creatorcontrib><creatorcontrib>Plotkin, Gordon D.</creatorcontrib><title>Abstract types have existential type</title><title>ACM transactions on programming languages and systems</title><addtitle>ACM TOPLAS</addtitle><description>Abstract data type declarations appear in typed programming languages like Ada, Alphard, CLU and ML. This form of declaration binds a list of identifiers to a type with associated operations, a composite "value" we call a data algebra. We use a second-order typed lambda calculus SOL to show how data algebras may be given types, passed as parameters, and returned as results of function calls. In the process, we discuss the semantics of abstract data type declarations and review a connection between typed programming languages and constructive logic.</description><subject>Applied sciences</subject><subject>Computer science; control theory; systems</subject><subject>Exact sciences and technology</subject><subject>Formal language definitions</subject><subject>Program semantics</subject><subject>Programming languages</subject><subject>Semantics</subject><subject>Semantics and reasoning</subject><subject>Software</subject><subject>Software and its engineering</subject><subject>Software notations and tools</subject><subject>Theory of computation</subject><issn>0164-0925</issn><issn>1558-4593</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>1988</creationdate><recordtype>article</recordtype><recordid>eNo9kE1Lw0AQhhdRsFZPXjz2ULxI6uzHbDbHUvyCghc9L5NkFiPph9mt6L83NqWXGXjnmefwCnEtYSalwXtjEOSsHxZPxEgiusxgoU_FCKQ1GRQKz8VFjJ8AIB26kZjOy5g6qtIk_W45Tj7omyf808TE69RQu48vxVmgNvLVYY_F--PD2-I5W74-vSzmy4yMlCmzFmxRYomG2HEeJNaKyNSsldbADqi2kANoxjpAIORS6UCFRNenhdVjcTt4t93ma8cx-VUTK25bWvNmF71yLs-Ncj14N4BVt4mx4-C3XbOi7tdL8P9N-H0Tft9ET08PWooVtaGjddXE40sORa6U6bGbAaNqdTwOhj-TGGMS</recordid><startdate>19880701</startdate><enddate>19880701</enddate><creator>Mitchell, John C.</creator><creator>Plotkin, Gordon D.</creator><general>ACM</general><general>Association for Computing Machinery</general><scope>IQODW</scope><scope>AAYXX</scope><scope>CITATION</scope><scope>7SC</scope><scope>8FD</scope><scope>JQ2</scope><scope>L7M</scope><scope>L~C</scope><scope>L~D</scope></search><sort><creationdate>19880701</creationdate><title>Abstract types have existential type</title><author>Mitchell, John C. ; Plotkin, Gordon D.</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-a411t-66069b5b54ae8e7f15d2aa4de32330e80ad607003e5df0fa5eb23fa9158700963</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>1988</creationdate><topic>Applied sciences</topic><topic>Computer science; control theory; systems</topic><topic>Exact sciences and technology</topic><topic>Formal language definitions</topic><topic>Program semantics</topic><topic>Programming languages</topic><topic>Semantics</topic><topic>Semantics and reasoning</topic><topic>Software</topic><topic>Software and its engineering</topic><topic>Software notations and tools</topic><topic>Theory of computation</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Mitchell, John C.</creatorcontrib><creatorcontrib>Plotkin, Gordon D.</creatorcontrib><collection>Pascal-Francis</collection><collection>CrossRef</collection><collection>Computer and Information Systems Abstracts</collection><collection>Technology Research Database</collection><collection>ProQuest Computer Science Collection</collection><collection>Advanced Technologies Database with Aerospace</collection><collection>Computer and Information Systems Abstracts – Academic</collection><collection>Computer and Information Systems Abstracts Professional</collection><jtitle>ACM transactions on programming languages and systems</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Mitchell, John C.</au><au>Plotkin, Gordon D.</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Abstract types have existential type</atitle><jtitle>ACM transactions on programming languages and systems</jtitle><stitle>ACM TOPLAS</stitle><date>1988-07-01</date><risdate>1988</risdate><volume>10</volume><issue>3</issue><spage>470</spage><epage>502</epage><pages>470-502</pages><issn>0164-0925</issn><eissn>1558-4593</eissn><coden>ATPSDT</coden><abstract>Abstract data type declarations appear in typed programming languages like Ada, Alphard, CLU and ML. This form of declaration binds a list of identifiers to a type with associated operations, a composite "value" we call a data algebra. We use a second-order typed lambda calculus SOL to show how data algebras may be given types, passed as parameters, and returned as results of function calls. In the process, we discuss the semantics of abstract data type declarations and review a connection between typed programming languages and constructive logic.</abstract><cop>New York, NY, USA</cop><pub>ACM</pub><doi>10.1145/44501.45065</doi><tpages>33</tpages><oa>free_for_read</oa></addata></record> |
fulltext | fulltext |
identifier | ISSN: 0164-0925 |
ispartof | ACM transactions on programming languages and systems, 1988-07, Vol.10 (3), p.470-502 |
issn | 0164-0925 1558-4593 |
language | eng |
recordid | cdi_proquest_miscellaneous_28877428 |
source | Association for Computing Machinery:Jisc Collections:ACM OPEN Journals 2023-2025 (reading list) |
subjects | Applied sciences Computer science control theory systems Exact sciences and technology Formal language definitions Program semantics Programming languages Semantics Semantics and reasoning Software Software and its engineering Software notations and tools Theory of computation |
title | Abstract types have existential type |
url | http://sfxeu10.hosted.exlibrisgroup.com/loughborough?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2024-12-26T16%3A09%3A49IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_cross&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Abstract%20types%20have%20existential%20type&rft.jtitle=ACM%20transactions%20on%20programming%20languages%20and%20systems&rft.au=Mitchell,%20John%20C.&rft.date=1988-07-01&rft.volume=10&rft.issue=3&rft.spage=470&rft.epage=502&rft.pages=470-502&rft.issn=0164-0925&rft.eissn=1558-4593&rft.coden=ATPSDT&rft_id=info:doi/10.1145/44501.45065&rft_dat=%3Cproquest_cross%3E28877428%3C/proquest_cross%3E%3Cgrp_id%3Ecdi_FETCH-LOGICAL-a411t-66069b5b54ae8e7f15d2aa4de32330e80ad607003e5df0fa5eb23fa9158700963%3C/grp_id%3E%3Coa%3E%3C/oa%3E%3Curl%3E%3C/url%3E&rft_id=info:oai/&rft_pqid=28877428&rft_id=info:pmid/&rfr_iscdi=true |