Kansas Lava is a Domain Specific Language (DSL) for expressing hardware-oriented descriptions of computations, and is hosted inside the language Haskell. Kansas Lava programs are descriptions of specific hardware entities, the connections between them, and other computational abstractions that can compile down to these entities. Large circuits have be successfully expressed using Kansas Lava, and Haskell’s powerful abstraction mechanisms, as well as generic generative techniques, can be applied to good effect to provide descriptions of highly efficient circuits.
Kansas Lava Papers
A. Gill, T. Bull, A. Farmer, G. Kimmell, and E. Komp, “Types and associated type families for hardware simulation and synthesis: The internals and externals of Kansas Lava,” Journal of Higher-Order and Symbolic Computation, pp. 1–20, 2013.
A. Gill, “Declarative FPGA circuit synthesis using Kansas Lava,” in The International Conference on Engineering of Reconfigurable Systems and Algorithms, July 2011.
A. Gill and A. Farmer, “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 ’11, pp. 209–220, ACM, Sep 2011.
A. Gill, T. Bull, D. DePardo, A. Farmer, E. Komp, and E. Perrins, “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 ’11, pp. 133–140, IEEE Computer Society, May 2011.
A. Gill, T. Bull, A. Farmer, G. Kimmell, and E. Komp, “Types and type families for hardware simulation and synthesis: The internals and externals of Kansas Lava,” in Post-Proceedings of Trends in Functional Programming, vol. 6546 of LNCS, Springer-Verlag, May 2010.
A. Gill, T. Bull, G. Kimmell, E. Perrins, E. Komp, and B. Werling, “Introducing Kansas Lava,” in Proceedings of the Symposium on Implementation and Application of Functional Languages, vol. 6041 of LNCS, Springer-Verlag, Sep 2009.
A. Gill, “Type-safe observable sharing in Haskell,” in Proceedings of the Second ACM SIGPLAN Haskell Symposium, Haskell ’09, (New York, NY, USA), pp. 117–128, ACM, Sep 2009.