Gemini: A Functional Programming Language for Hardware Description. - Aditya Srinivasan; Andrew D. Hilton (CoRR, 2019)