{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2023,1,1]],"date-time":"2023-01-01T10:14:38Z","timestamp":1672568078484},"reference-count":9,"publisher":"Association for Computing Machinery (ACM)","issue":"12","content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Proc. VLDB Endow."],"published-print":{"date-parts":[[2013,8,28]]},"abstract":"<jats:p>We demonstrate a full-fledged implementation of first-class functions for the widely used PL\/SQL database programming language. Functions are treated as regular data items that may be (1) constructed at query runtime, (2) stored in and retrieved from tables, (3) assigned to variables, and (4) passed to and from other (higher-order) functions. The resulting PL\/SQL dialect concisely and elegantly expresses a wide range of new query idioms which would be cumbersome to formulate if functions remained second-class citizens. We include a diverse set of application scenarios that make these advantages tangible.<\/jats:p>\n          <jats:p>First-class PL\/SQL functions require featherweight syntactic extensions only and come with a non-invasive implementation-- the defunctionalization transformation--that can entirely be built on top of existing relational DBMS infrastructure. An interactive demonstrator helps users to experiment with the \"function as data\" paradigm and to earn a solid intuition of its inner workings.<\/jats:p>","DOI":"10.14778\/2536274.2536279","type":"journal-article","created":{"date-parts":[[2014,6,24]],"date-time":"2014-06-24T12:17:57Z","timestamp":1403612277000},"page":"1214-1217","source":"Crossref","is-referenced-by-count":1,"title":["Functions are data too"],"prefix":"10.14778","volume":"6","author":[{"given":"Torsten","family":"Grust","sequence":"first","affiliation":[{"name":"Universit\u00e4t T\u00fcbingen, T\u00fcbingen, Germany"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Nils","family":"Schweinsberg","sequence":"additional","affiliation":[{"name":"Universit\u00e4t T\u00fcbingen, T\u00fcbingen, Germany"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Alexander","family":"Ulrich","sequence":"additional","affiliation":[{"name":"Universit\u00e4t T\u00fcbingen, T\u00fcbingen, Germany"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2013,8]]},"reference":[{"key":"e_1_2_1_1_1","unstructured":"PostgreSQL 9.2. www.postgresql.org\/docs\/9.2\/.  PostgreSQL 9.2. www.postgresql.org\/docs\/9.2\/."},{"key":"e_1_2_1_2_1","unstructured":"Oracle Database PL\/SQL Language Reference--11g Release 1 (11.1) 2009. Oracle Database PL\/SQL Language Reference--11g Release 1 (11.1) 2009."},{"key":"e_1_2_1_3_1","article-title":"The Calculi of Lambda-Conversion","volume":"6","author":"Church A.","year":"1941","unstructured":"A. Church . The Calculi of Lambda-Conversion . Annals of Mathematics Studies , volume 6 , 1941 . A. Church. The Calculi of Lambda-Conversion. Annals of Mathematics Studies, volume 6, 1941.","journal-title":"Annals of Mathematics Studies"},{"key":"e_1_2_1_4_1","volume-title":"Proc. DBPL","author":"Grust T.","year":"2013","unstructured":"T. Grust and A. Ulrich . First-Class Functions for First-Order Database Engines . In Proc. DBPL , 2013 . T. Grust and A. Ulrich. First-Class Functions for First-Order Database Engines. In Proc. DBPL, 2013."},{"issue":"4","key":"e_1_2_1_5_1","doi-asserted-by":"crossref","first-page":"308","DOI":"10.1093\/comjnl\/6.4.308","article-title":"The Mechanical Evaluation of Expressions","volume":"6","author":"Landin P.","year":"1964","unstructured":"P. Landin . The Mechanical Evaluation of Expressions . The Computer Journal , 6 ( 4 ): 308 - 320 , 1964 . P. Landin. The Mechanical Evaluation of Expressions. The Computer Journal, 6(4):308-320, 1964.","journal-title":"The Computer Journal"},{"key":"e_1_2_1_6_1","volume-title":"Differential Dataow. In Proc. CIDR","author":"McSherry F.","year":"2013","unstructured":"F. McSherry , D. G. Murray , R. Isaacs , and M. Isard . Differential Dataow. In Proc. CIDR , 2013 . F. McSherry, D. G. Murray, R. Isaacs, and M. Isard. Differential Dataow. In Proc. CIDR, 2013."},{"key":"e_1_2_1_7_1","volume-title":"Proc. FPCA","author":"Sheard T.","year":"1993","unstructured":"T. Sheard and L. Fegaras . A Fold for All Seasons . In Proc. FPCA , 1993 . T. Sheard and L. Fegaras. A Fold for All Seasons. In Proc. FPCA, 1993."},{"issue":"4","key":"e_1_2_1_8_1","doi-asserted-by":"crossref","DOI":"10.1017\/S0956796898003086","article-title":"From ML to Ada: Strongly-Typed Language Interoperability via Source Translation","volume":"8","author":"Tolmach A.","year":"1998","unstructured":"A. Tolmach and D. Oliva . From ML to Ada: Strongly-Typed Language Interoperability via Source Translation . J. Funct. Programming , 8 ( 4 ), 1998 . A. Tolmach and D. Oliva. From ML to Ada: Strongly-Typed Language Interoperability via Source Translation. J. Funct. Programming, 8(4), 1998.","journal-title":"J. Funct. Programming"},{"key":"e_1_2_1_9_1","unstructured":"Transaction Processing Performance Council. TPC-H a Decision-Support Benchmark. tpc.org\/tpch\/.  Transaction Processing Performance Council. TPC-H a Decision-Support Benchmark . tpc.org\/tpch\/."}],"container-title":["Proceedings of the VLDB Endowment"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.14778\/2536274.2536279","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,12,28]],"date-time":"2022-12-28T10:49:01Z","timestamp":1672224541000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.14778\/2536274.2536279"}},"subtitle":["defunctionalization for PL\/SQL"],"short-title":[],"issued":{"date-parts":[[2013,8]]},"references-count":9,"journal-issue":{"issue":"12","published-print":{"date-parts":[[2013,8,28]]}},"alternative-id":["10.14778\/2536274.2536279"],"URL":"https:\/\/doi.org\/10.14778\/2536274.2536279","relation":{},"ISSN":["2150-8097"],"issn-type":[{"value":"2150-8097","type":"print"}],"subject":[],"published":{"date-parts":[[2013,8]]}}}