{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,11,18]],"date-time":"2025-11-18T12:16:17Z","timestamp":1763468177208},"reference-count":37,"publisher":"Springer Science and Business Media LLC","issue":"2-4","license":[{"start":{"date-parts":[[2012,12,1]],"date-time":"2012-12-01T00:00:00Z","timestamp":1354320000000},"content-version":"tdm","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Higher-Order Symb Comput"],"published-print":{"date-parts":[[2012,12]]},"DOI":"10.1007\/s10990-013-9098-7","type":"journal-article","created":{"date-parts":[[2013,10,11]],"date-time":"2013-10-11T17:56:17Z","timestamp":1381514177000},"page":"255-274","source":"Crossref","is-referenced-by-count":3,"title":["Types and associated type families for hardware simulation and synthesis"],"prefix":"10.1007","volume":"25","author":[{"given":"Andy","family":"Gill","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Tristan","family":"Bull","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Andrew","family":"Farmer","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Garrin","family":"Kimmell","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Ed","family":"Komp","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2013,10,12]]},"reference":[{"key":"9098_CR1","unstructured":"Axelsson, E.: Functional programming enabling flexible hardware design at low levels of abstraction. Ph.D. thesis, Department of Computer Science and Engineering Chalmers University of Technology and University of Gothenburg (2008)"},{"key":"9098_CR2","first-page":"169","volume-title":"MEMOCODE\u201910","author":"E. Axelsson","year":"2010","unstructured":"Axelsson, E., Claessen, K., D\u00e9vai, G., Horv\u00e1th, Z., Keijzer, K., Lyckeg\u00e5rd, B., Persson, A., Sheeran, M., Svenningsson, J., Vajdax, A.: Feldspar: a domain specific language for digital signal processing algorithms. In: MEMOCODE\u201910, pp. 169\u2013178 (2010)"},{"key":"9098_CR3","volume-title":"Annual IEEE Symposium on Field-Programmable Custom Computing Machines","author":"P. Bellows","year":"1998","unstructured":"Bellows, P., Hutchings, B.: JHDL\u2014an HDL for reconfigurable systems. In: Annual IEEE Symposium on Field-Programmable Custom Computing Machines (1998)"},{"key":"9098_CR4","unstructured":"Berry, G.: The constructive semantics of pure Esterel (1999). http:\/\/www-sop.inria.fr\/esterel.org\/files\/"},{"key":"9098_CR5","doi-asserted-by":"crossref","DOI":"10.1017\/CBO9780511763199","volume-title":"Pearls of Functional Algorithm Design","author":"R. Bird","year":"2010","unstructured":"Bird, R.: Pearls of Functional Algorithm Design. Cambridge University Press, Cambridge (2010)"},{"key":"9098_CR6","series-title":"International Series in Computing Science","volume-title":"Algebra of Programming","author":"R. Bird","year":"1997","unstructured":"Bird, R., de Moor, O.: Algebra of Programming. International Series in Computing Science, vol. 100. Prentice Hall, New York (1997)"},{"key":"9098_CR7","doi-asserted-by":"crossref","first-page":"174","DOI":"10.1145\/289423.289440","volume-title":"Proceedings of the Third ACM SIGPLAN International Conference on Functional Programming","author":"P. Bjesse","year":"1998","unstructured":"Bjesse, P., Claessen, K., Sheeran, M., Singh, S.: Lava: hardware design in Haskell. In: Proceedings of the Third ACM SIGPLAN International Conference on Functional Programming, pp. 174\u2013184 (1998)"},{"key":"9098_CR8","doi-asserted-by":"crossref","first-page":"241","DOI":"10.1145\/1086365.1086397","volume-title":"Proceedings of the Tenth ACM SIGPLAN International Conference on Functional Programming","author":"M.M.T. Chakravarty","year":"2005","unstructured":"Chakravarty, M.M.T., Keller, G., Peyton Jones, S.: Associated type synonyms. In: Proceedings of the Tenth ACM SIGPLAN International Conference on Functional Programming, pp. 241\u2013253. ACM, New York (2005)"},{"key":"9098_CR9","unstructured":"Claessen, K.: Embedded languages for describing and verifying hardware. Ph.D. thesis, Dept. of Computer Science and Engineering, Chalmers University of Technology (2001)"},{"key":"9098_CR10","series-title":"Lecture Notes in Computer Science","volume-title":"Proc. of Asian Computer Science Conference (ASIAN)","author":"K. Claessen","year":"1999","unstructured":"Claessen, K., Sands, D.: Observable sharing for functional circuit description. In: Proc. of Asian Computer Science Conference (ASIAN). Lecture Notes in Computer Science. Springer, Berlin (1999)"},{"issue":"2","key":"9098_CR11","first-page":"9","volume":"13","author":"C. Elliott","year":"2003","unstructured":"Elliott, C., Finne, S., de Moor, O.: Compiling embedded languages. J. Funct. Program. 13(2), 9\u201327 (2003)","journal-title":"J. Funct. Program."},{"key":"9098_CR12","unstructured":"Erk\u00f6k, L.: Value recursion in monadic computations. Ph.D. thesis, OGI School of Science and Engineering, OHSU, Portland, Oregon (2002)"},{"key":"9098_CR13","doi-asserted-by":"crossref","first-page":"29","DOI":"10.1145\/581690.581693","volume-title":"Haskell Workshop\u201902","author":"L. Erk\u00f6k","year":"2002","unstructured":"Erk\u00f6k, L., Launchbury, J.: A recursive do for Haskell. In: Haskell Workshop\u201902, Pittsburgh, Pennsylvania, USA, pp. 29\u201337. ACM, New York (2002)"},{"key":"9098_CR14","doi-asserted-by":"crossref","first-page":"117","DOI":"10.1145\/1596638.1596653","volume-title":"Proceedings of the Second ACM SIGPLAN Haskell Symposium, Haskell\u00a0\u201909","author":"A. Gill","year":"2009","unstructured":"Gill, A.: Type-safe observable sharing in Haskell. In: Proceedings of the Second ACM SIGPLAN Haskell Symposium, Haskell\u00a0\u201909, pp. 117\u2013128. ACM, New York (2009)"},{"key":"9098_CR15","volume-title":"The International Conference on Engineering of Reconfigurable Systems and Algorithms","author":"A. Gill","year":"2011","unstructured":"Gill, A.: Declarative FPGA circuit synthesis using Kansas Lava. In: The International Conference on Engineering of Reconfigurable Systems and Algorithms (2011)"},{"key":"9098_CR16","doi-asserted-by":"crossref","first-page":"209","DOI":"10.1145\/2034773.2034804","volume-title":"Proceedings of the 16th ACM SIGPLAN International Conference on Functional Programming, ICFP\u00a0\u201911","author":"A. Gill","year":"2011","unstructured":"Gill, A., Farmer, A.: Deriving an efficient FPGA implementation of a low density parity check forward error corrector. In: Proceedings of the 16th ACM SIGPLAN International Conference on Functional Programming, ICFP\u00a0\u201911, pp. 209\u2013220. ACM, New York (2011)"},{"key":"9098_CR17","series-title":"LNCS","volume-title":"Practical Aspects of Declarative Languages","author":"A. Gill","year":"2012","unstructured":"Gill, A., Neuenschwander, B.: Handshaking in Kansas Lava using patch logic. In: Practical Aspects of Declarative Languages. LNCS, vol. 7149. Springer, Berlin (2012)"},{"key":"9098_CR18","series-title":"LNCS","volume-title":"Proceedings of the Symposium on Implementation and Application of Functional Languages","author":"A. Gill","year":"2009","unstructured":"Gill, A., Bull, T., Kimmell, G., Perrins, E., Komp, E., Werling, B.: Introducing Kansas Lava. In: Proceedings of the Symposium on Implementation and Application of Functional Languages. LNCS, vol. 6041. Springer, Berlin (2009)"},{"key":"9098_CR19","series-title":"LNCS","volume-title":"Proceedings of Trends in Functional Programming","author":"A. Gill","year":"2010","unstructured":"Gill, A., Bull, T., Farmer, A., Kimmell, G., Komp, E.: Types and type families for hardware simulation and synthesis: the internals and externals of Kansas Lava. In: Proceedings of Trends in Functional Programming. LNCS, vol. 6546. Springer, Berlin (2010)"},{"key":"9098_CR20","doi-asserted-by":"crossref","first-page":"133","DOI":"10.1109\/FCCM.2011.31","volume-title":"Proceedings of the IEEE 19th Annual International Symposium on Field-Programmable Custom Computing Machines, FCCM\u00a0\u201911","author":"A. Gill","year":"2011","unstructured":"Gill, A., Bull, T., DePardo, D., Farmer, A., Komp, E., Perrins, E.: Using functional programming to generate an LDPC forward error corrector. In: Proceedings of the IEEE 19th Annual International Symposium on Field-Programmable Custom Computing Machines, FCCM\u00a0\u201911, pp. 133\u2013140. IEEE Comput. Soc., Los Alamitos (2011)"},{"key":"9098_CR21","unstructured":"Hutton, G.: The Ruby Interpreter. Research Report 72, Chalmers University of Technology (1993)"},{"key":"9098_CR22","doi-asserted-by":"publisher","unstructured":"IEEE Std 1164-1993, IEEE Standard Multivalue Logic System for VHDL Model Interoperability (Std_logic_1164) (1993). doi: 10.1109\/IEEESTD.1993.115571","DOI":"10.1109\/IEEESTD.1993.115571"},{"issue":"2","key":"9098_CR23","doi-asserted-by":"crossref","first-page":"114","DOI":"10.1049\/ip-cdt:20045098","volume":"152","author":"A. Jantsch","year":"2005","unstructured":"Jantsch, A., Sander, I.: Models of computation and languages for embedded system design. IEE Proc., Comput. Digit. Tech. 152(2), 114\u2013129 (2005). Special issue on Embedded Microelectronic Systems","journal-title":"IEE Proc., Comput. Digit. Tech."},{"key":"9098_CR24","first-page":"13","volume-title":"Formal Methods for VLSI Design","author":"G. Jones","year":"1990","unstructured":"Jones, G., Sheeran, M.: Circuit design in ruby. In: Staunstrup, J. (ed.) Formal Methods for VLSI Design, pp.\u00a013\u201370. Elsevier, Amsterdam (1990)"},{"key":"9098_CR25","doi-asserted-by":"crossref","first-page":"109","DOI":"10.1145\/331960.331977","volume-title":"2nd USENIX Conference on Domain Specific Languages (DSL\u201999)","author":"D. Leijen","year":"1999","unstructured":"Leijen, D., Meijer, E.: Domain specific embedded compilers. In: 2nd USENIX Conference on Domain Specific Languages (DSL\u201999), Austin, Texas, pp. 109\u2013122 (1999)"},{"issue":"1","key":"9098_CR26","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1017\/S0956796807006326","volume":"18","author":"C. McBride","year":"2008","unstructured":"McBride, C., Patterson, R.: Applicative programing with effects. J. Funct. Program. 18(1), 1\u201313 (2008)","journal-title":"J. Funct. Program."},{"key":"9098_CR27","doi-asserted-by":"crossref","DOI":"10.1002\/0471739219","volume-title":"Error Correction Coding: Mathematical Methods and Algorithms","author":"T.K. Moon","year":"2005","unstructured":"Moon, T.K.: Error Correction Coding: Mathematical Methods and Algorithms. Wiley-Interscience, Hoboken (2005)"},{"key":"9098_CR28","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"crossref","first-page":"129","DOI":"10.1007\/978-3-540-85373-2_8","volume-title":"Implementation and Application of Functional Languages","author":"M. Naylor","year":"2008","unstructured":"Naylor, M., Runciman, C.: The reduceron: widening the von Neumann bottleneck for graph reduction using an FPGA. In: Chitil, O., Horv\u00e1th, Z., Zs\u00f3k, V. (eds.) Implementation and Application of Functional Languages. Lecture Notes in Computer Science, vol. 5083, pp. 129\u2013146. Springer, Berlin (2008)"},{"key":"9098_CR29","series-title":"Workshops in Computing","first-page":"178","volume-title":"Functional Programming","author":"J. O\u2019Donnell","year":"1992","unstructured":"O\u2019Donnell, J.: Generating netlists from executable circuit specifications in a pure functional language. In: Functional Programming, Glasgow, 1992. Workshops in Computing, pp. 178\u2013194. Springer, Berlin (1992)"},{"key":"9098_CR30","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"crossref","first-page":"195","DOI":"10.1007\/3-540-60675-0_46","volume-title":"Functional Programming Languages in Education","author":"J. O\u2019Donnell","year":"1995","unstructured":"O\u2019Donnell, J.: From transistors to computer architecture: teaching functional circuit specification in hydra. In: Hartel, P., Plasmeijer, R. (eds.) Functional Programming Languages in Education. Lecture Notes in Computer Science, vol. 1022, pp. 195\u2013214. Springer, Berlin (1995)"},{"key":"9098_CR31","first-page":"363","volume-title":"Proceedings of the IFIP 8th International Symposium on Computer Hardware Description Languages and Their Applications","author":"J.T. O\u2019Donnell","year":"1987","unstructured":"O\u2019Donnell, J.T.: Hardware description with recursion equations. In: Proceedings of the IFIP 8th International Symposium on Computer Hardware Description Languages and Their Applications, pp. 363\u2013382 (1987)"},{"key":"9098_CR32","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"crossref","first-page":"143","DOI":"10.1007\/978-3-540-25935-0_9","volume-title":"Domain-Specific Program Generation","author":"J.T. O\u2019Donnell","year":"2004","unstructured":"O\u2019Donnell, J.T.: Embedding a hardware description language in template Haskell. In: Domain-Specific Program Generation. Lecture Notes in Computer Science, vol. 3016, pp. 143\u2013164. Springer, Berlin (2004)"},{"issue":"2","key":"9098_CR33","first-page":"249","volume":"9","author":"J.T. O\u2019Donnell","year":"2006","unstructured":"O\u2019Donnell, J.T.: Overview of Hydra: a concurrent language for synchronous digital circuit design. Information 9(2), 249\u2013264 (2006)","journal-title":"Information"},{"key":"9098_CR34","volume-title":"Haskell 98 Language and Libraries\u2014The Revised Report","year":"2003","unstructured":"Peyton Jones, S. (ed.): Haskell 98 Language and Libraries\u2014The Revised Report. Cambridge University Press, Cambridge (2003)"},{"key":"9098_CR35","unstructured":"Sander, I.: System modeling and design refinement in ForSyDe. Ph.D. thesis, Royal Institute of Technology, Stockholm, Sweden (2003)"},{"key":"9098_CR36","doi-asserted-by":"crossref","first-page":"104","DOI":"10.1145\/800055.802026","volume-title":"LFP \u201984: Proceedings of the 1984 ACM Symposium on LISP and Functional Programming","author":"M. Sheeran","year":"1984","unstructured":"Sheeran, M.: muFP, a language for VLSI design. In: LFP \u201984: Proceedings of the 1984 ACM Symposium on LISP and Functional Programming, pp. 104\u2013112. ACM, New York (1984)"},{"key":"9098_CR37","doi-asserted-by":"crossref","first-page":"299","DOI":"10.1109\/ICVD.2004.1260941","volume-title":"International Conference on VLSI Design","author":"S. Singh","year":"2004","unstructured":"Singh, S.: Designing reconfigurable systems in Lava. In: International Conference on VLSI Design, p.\u00a0299 (2004)"}],"container-title":["Higher-Order and Symbolic Computation"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s10990-013-9098-7.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/article\/10.1007\/s10990-013-9098-7\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s10990-013-9098-7.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"},{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s10990-013-9098-7","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,3,8]],"date-time":"2022-03-08T21:24:09Z","timestamp":1646774649000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/s10990-013-9098-7"}},"subtitle":["The internals and externals of Kansas Lava"],"short-title":[],"issued":{"date-parts":[[2012,12]]},"references-count":37,"journal-issue":{"issue":"2-4","published-print":{"date-parts":[[2012,12]]}},"alternative-id":["9098"],"URL":"https:\/\/doi.org\/10.1007\/s10990-013-9098-7","relation":{},"ISSN":["1388-3690","1573-0557"],"issn-type":[{"value":"1388-3690","type":"print"},{"value":"1573-0557","type":"electronic"}],"subject":[],"published":{"date-parts":[[2012,12]]}}}