{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,10,1]],"date-time":"2025-10-01T15:50:28Z","timestamp":1759333828680,"version":"build-2065373602"},"publisher-location":"Cham","reference-count":14,"publisher":"Springer Nature Switzerland","isbn-type":[{"type":"print","value":"9783032067500"},{"type":"electronic","value":"9783032067517"}],"license":[{"start":{"date-parts":[[2025,10,1]],"date-time":"2025-10-01T00:00:00Z","timestamp":1759276800000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springernature.com\/gp\/researchers\/text-and-data-mining"},{"start":{"date-parts":[[2025,10,1]],"date-time":"2025-10-01T00:00:00Z","timestamp":1759276800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.springernature.com\/gp\/researchers\/text-and-data-mining"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2026]]},"DOI":"10.1007\/978-3-032-06751-7_4","type":"book-chapter","created":{"date-parts":[[2025,9,30]],"date-time":"2025-09-30T04:29:09Z","timestamp":1759206549000},"page":"51-58","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":0,"title":["Brahma.FSharp: Power of\u00a0Functional Programming to\u00a0Create Portable GPGPU-Enabled .NET Applications"],"prefix":"10.1007","author":[{"ORCID":"https:\/\/orcid.org\/0009-0000-2382-5687","authenticated-orcid":false,"given":"Nikolai","family":"Ponomarev","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-7749-4940","authenticated-orcid":false,"given":"Vladimir","family":"Kutuev","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-7966-0698","authenticated-orcid":false,"given":"Semyon","family":"Grigorev","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2025,10,1]]},"reference":[{"key":"4_CR1","doi-asserted-by":"crossref","unstructured":"Chakravarty, M.M., Keller, G., Lee, S., McDonell, T.L., Grover, V.: Accelerating haskell array codes with multicore GPUs. In: Proceedings of the Sixth Workshop on Declarative Aspects of Multicore Programming, DAMP 2011, pp. 3\u201314. Association for Computing Machinery, New York (2011)","DOI":"10.1145\/1926354.1926358"},{"key":"4_CR2","unstructured":"Coco, G.: Homogeneous programming, scheduling and execution on heterogeneous platforms. PhD thesis, Gabriel Coco.-University of Pisa, 254 p (2014)"},{"issue":"6","key":"4_CR3","doi-asserted-by":"publisher","first-page":"556","DOI":"10.1145\/3140587.3062354","volume":"52","author":"T Henriksen","year":"2017","unstructured":"Henriksen, T., Serup, N.G.W., Elsman, M., Henglein, F., Oancea, C.E.: Futhark: purely functional GPU-programming with nested parallelism and in-place array updates. SIGPLAN Not. 52(6), 556\u2013571 (2017)","journal-title":"SIGPLAN Not."},{"issue":"5","key":"4_CR4","doi-asserted-by":"publisher","first-page":"752","DOI":"10.1007\/s10766-014-0320-y","volume":"43","author":"P J\u00e4\u00e4skel\u00e4inen","year":"2014","unstructured":"J\u00e4\u00e4skel\u00e4inen, P., Lama, C.S., Schnetter, E., Raiskila, K., Takala, J., Berg, H.: pocl: a performance-portable opencl implementation. Int. J. Parallel Prog. 43(5), 752\u2013785 (2014)","journal-title":"Int. J. Parallel Prog."},{"key":"4_CR5","unstructured":"Kramer, P., Egloff, D., Blaser, L.: The alea reactive dataflow system for GPU parallelization. In: Proceedings of the HLGPU 2016 Workshop, HiPEAC (2016)"},{"key":"4_CR6","doi-asserted-by":"crossref","unstructured":"Lei\u00dfa, R., et al.: Anydsl: a partial evaluation framework for programming high-performance libraries. Proc. ACM Program. Lang. 2(OOPSLA) (2018)","DOI":"10.1145\/3276489"},{"key":"4_CR7","doi-asserted-by":"crossref","unstructured":"Nugteren, C.: CLBlast: a tuned OpenCL BLAS library. In: Proceedings of the International Workshop on OpenCL, IWOCL 2018. Association for Computing Machinery, New York (2018)","DOI":"10.1145\/3204919.3204924"},{"key":"4_CR8","doi-asserted-by":"crossref","unstructured":"Nystrom, N., White, D., Das, K.: Firepile: run-time compilation for GPUs in scala. In: ACM SIGPLAN Notices, vol. 47, pp. 107\u2013116. ACM (2011)","DOI":"10.1145\/2189751.2047883"},{"key":"4_CR9","doi-asserted-by":"crossref","unstructured":"Pratt-Szeliga, P.C., Fawcett, J.W., Welch, R.D.: Rootbeer: seamlessly using GPUs from java. In: 2012 IEEE 14th International Conference on High Performance Computing and Communication & 2012 IEEE 9th International Conference on Embedded Software and Systems (HPCC-ICESS), pp. 375\u2013380. IEEE (2012)","DOI":"10.1109\/HPCC.2012.57"},{"key":"4_CR10","doi-asserted-by":"crossref","unstructured":"Steuwer, M., Remmelg, T., Dubach, C.: Lift: a functional data-parallel IR for high-performance GPU code generation. In: Proceedings of the 2017 International Symposium on Code Generation and Optimization, CGO 2017, pp. 74\u201385. IEEE Press (2017)","DOI":"10.1109\/CGO.2017.7863730"},{"key":"4_CR11","doi-asserted-by":"crossref","unstructured":"Syme, D.: Leveraging .net meta-programming components from F#: integrated queries and interoperable heterogeneous execution. In: Proceedings of the 2006 Workshop on ML, pp. 43\u201354. ACM (2006)","DOI":"10.1145\/1159876.1159884"},{"key":"4_CR12","doi-asserted-by":"crossref","unstructured":"Syme, D., Granicz, A., Cisternino, A.: Expert F# 3.0. Springer (2012)","DOI":"10.1007\/978-1-4302-4651-0"},{"key":"4_CR13","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"175","DOI":"10.1007\/978-3-642-18378-2_15","volume-title":"Practical Aspects of Declarative Languages","author":"D Syme","year":"2011","unstructured":"Syme, D., Petricek, T., Lomov, D.: The F# asynchronous programming model. In: Rocha, R., Launchbury, J. (eds.) PADL 2011. LNCS, vol. 6539, pp. 175\u2013189. Springer, Heidelberg (2011). https:\/\/doi.org\/10.1007\/978-3-642-18378-2_15"},{"key":"4_CR14","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"887","DOI":"10.1007\/978-3-642-03869-3_82","volume-title":"Euro-Par 2009 Parallel Processing","author":"Y Yan","year":"2009","unstructured":"Yan, Y., Grossman, M., Sarkar, V.: JCUDA: a programmer-friendly interface for accelerating java programs with CUDA. In: Sips, H., Epema, D., Lin, H.-X. (eds.) Euro-Par 2009. LNCS, vol. 5704, pp. 887\u2013899. Springer, Heidelberg (2009). https:\/\/doi.org\/10.1007\/978-3-642-03869-3_82"}],"container-title":["Lecture Notes in Computer Science","Parallel Computing Technologies"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-032-06751-7_4","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,9,30]],"date-time":"2025-09-30T04:29:14Z","timestamp":1759206554000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-032-06751-7_4"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2025,10,1]]},"ISBN":["9783032067500","9783032067517"],"references-count":14,"URL":"https:\/\/doi.org\/10.1007\/978-3-032-06751-7_4","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2025,10,1]]},"assertion":[{"value":"1 October 2025","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"PaCT","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"International Conference on Parallel Computing Technologies","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Almaty","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Kazakhstan","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2025","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"6 October 2025","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"10 October 2025","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"18","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"pact2025","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"https:\/\/ssd.sscc.ru\/conference\/pact2025\/","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}}]}}