{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,5,26]],"date-time":"2026-05-26T23:05:39Z","timestamp":1779836739259,"version":"3.53.1"},"reference-count":4,"publisher":"Cambridge University Press (CUP)","issue":"2","license":[{"start":{"date-parts":[[2013,3,25]],"date-time":"2013-03-25T00:00:00Z","timestamp":1364169600000},"content-version":"unspecified","delay-in-days":24,"URL":"https:\/\/www.cambridge.org\/core\/terms"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["J. Funct. Prog."],"published-print":{"date-parts":[[2013,3]]},"abstract":"<jats:title>Abstract<\/jats:title>\n                  <jats:p>We describe a concise and elegant functional program, written in Haskell, that computes solutions for a classic puzzle known as the \u201csnake cube.\u201d The program reflects some of the fundamental characteristics of the functional style, identifying key abstractions, and defining a small collection of operators for manipulating and working with the associated values. Well-suited for an introductory course on functional programming, this example highlights the use of visualization tools to explain and demonstrate the choices of data structures and algorithms that are used in the development.<\/jats:p>","DOI":"10.1017\/s0956796813000014","type":"journal-article","created":{"date-parts":[[2013,3,25]],"date-time":"2013-03-25T06:08:03Z","timestamp":1364191683000},"page":"145-160","source":"Crossref","is-referenced-by-count":0,"title":["Solving the snake cube puzzle in Haskell"],"prefix":"10.1017","volume":"23","author":[{"given":"MARK P.","family":"JONES","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"56","published-online":{"date-parts":[[2013,3,25]]},"reference":[{"key":"S0956796813000014_ref4","volume-title":"The Second International Conference on Functional Programming Languages and Computer Architecture (FPCA 1985)","author":"Wadler","year":"1985"},{"key":"S0956796813000014_ref2","unstructured":"Ressler G. (2012) Sketch: Simple 3D Sketching, Version 0.3. Available at: http:\/\/www.frontiernet.net\/~eugene.ressler\/. Accessed 1 March 2013."},{"key":"S0956796813000014_ref1","volume-title":"Haskell 98 Language and Libraries, The Revised Report","author":"Peyton Jones","year":"2003"},{"key":"S0956796813000014_ref3","unstructured":"Tantau T. (2010) The TikZ and pgf Packages Manual for version 2.10. Institut f\u00fcr Theoretische Informatik, Universit\u00e4t zu L\u00fcbeck. Available at: http:\/\/sourceforge.net\/projects\/pgf. Accessed 1 March 2013."}],"container-title":["Journal of Functional Programming"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.cambridge.org\/core\/services\/aop-cambridge-core\/content\/view\/S0956796813000014","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2026,5,26]],"date-time":"2026-05-26T22:36:04Z","timestamp":1779834964000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.cambridge.org\/core\/product\/identifier\/S0956796813000014\/type\/journal_article"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2013,3]]},"references-count":4,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2013,3]]}},"alternative-id":["S0956796813000014"],"URL":"https:\/\/doi.org\/10.1017\/s0956796813000014","relation":{},"ISSN":["0956-7968","1469-7653"],"issn-type":[{"value":"0956-7968","type":"print"},{"value":"1469-7653","type":"electronic"}],"subject":[],"published":{"date-parts":[[2013,3]]}}}