{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2023,11,13]],"date-time":"2023-11-13T00:12:44Z","timestamp":1699834364990},"reference-count":11,"publisher":"Wiley","issue":"2","license":[{"start":{"date-parts":[[2006,10,27]],"date-time":"2006-10-27T00:00:00Z","timestamp":1161907200000},"content-version":"vor","delay-in-days":9034,"URL":"http:\/\/onlinelibrary.wiley.com\/termsAndConditions#vor"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Softw Pract Exp"],"published-print":{"date-parts":[[1982,2]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>Parametric types offer an attractive solution to the problems of dealing with arrays in Pascal. These problems arise from the use of strong, static type checking, especially of array\u2010type procedure arguments. Parametric types provide solutions both for the array procedure argument problem and allow the consistent inclusion of arrays with dynamic bounds. A parametric type mechanism is proposed and design issues are discussed. The inclusion of parametric types has major effects on the implementation of a language like Pascal. The implementation issues and implementation versus design tradeoffs are examined. The implementation strategy used can be extended to accommodate the standard and generic types in Ada.<\/jats:p>","DOI":"10.1002\/spe.4380120207","type":"journal-article","created":{"date-parts":[[2006,11,18]],"date-time":"2006-11-18T02:35:57Z","timestamp":1163817357000},"page":"169-184","source":"Crossref","is-referenced-by-count":5,"title":["The design and implementation of parametric types in Pascal"],"prefix":"10.1002","volume":"12","author":[{"given":"John","family":"Hennessy","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Hilding","family":"Elmquist","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"311","published-online":{"date-parts":[[2006,10,27]]},"reference":[{"key":"e_1_2_1_2_2","volume-title":"The Programming Language Pascal: Revised Report","author":"Wirth N.","year":"1974"},{"key":"e_1_2_1_3_2","doi-asserted-by":"publisher","DOI":"10.1007\/BF00288652"},{"key":"e_1_2_1_4_2","doi-asserted-by":"publisher","DOI":"10.1007\/BF00288728"},{"key":"e_1_2_1_5_2","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.1975.6312839"},{"issue":"6","key":"e_1_2_1_6_2","article-title":"ISO proposed standard for Pascal","volume":"15","author":"ISO Pascal Standard Committee","year":"1980","journal-title":"SIGPLAN Notices"},{"issue":"7","key":"e_1_2_1_7_2","article-title":"The programming language Ada","volume":"14","author":"DoD","year":"1979","journal-title":"SIGPLAN Notices"},{"key":"e_1_2_1_8_2","doi-asserted-by":"publisher","DOI":"10.1145\/954666.971189"},{"key":"e_1_2_1_9_2","doi-asserted-by":"crossref","unstructured":"R. C.HoltandD. B.Wortman \u2018A model for implementing Euclid modules and type templates\u2019. Proc. of the Sym. on Compiler Construction ACM SIGPLAN Denver Colorado August1979 pp.8\u201312.","DOI":"10.1145\/872732.806949"},{"key":"e_1_2_1_10_2","volume-title":"ALGOL 60 Implementation","author":"Randell B.","year":"1964"},{"key":"e_1_2_1_11_2","volume-title":"Compiler Construction for Digital Computers","author":"Gries D.","year":"1971"},{"key":"e_1_2_1_12_2","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380010403"}],"container-title":["Software: Practice and Experience"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.wiley.com\/onlinelibrary\/tdm\/v1\/articles\/10.1002%2Fspe.4380120207","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/pdf\/10.1002\/spe.4380120207","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,11,12]],"date-time":"2023-11-12T14:28:28Z","timestamp":1699799308000},"score":1,"resource":{"primary":{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/10.1002\/spe.4380120207"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1982,2]]},"references-count":11,"journal-issue":{"issue":"2","published-print":{"date-parts":[[1982,2]]}},"alternative-id":["10.1002\/spe.4380120207"],"URL":"https:\/\/doi.org\/10.1002\/spe.4380120207","archive":["Portico"],"relation":{},"ISSN":["0038-0644","1097-024X"],"issn-type":[{"value":"0038-0644","type":"print"},{"value":"1097-024X","type":"electronic"}],"subject":[],"published":{"date-parts":[[1982,2]]}}}