Curry is a functional logic programming language that combines the most appealing features of the functional and logic programming paradigms. There are various implementations for Curry such as PAKCS, mcc and KiCS2 which differ in the target language used for object code generation. In this project, we propose to develop a compiler of Curry in which Ruby is the target language. Ruby is not efficient but simplifies the compiler for its high-level features including dynamic typing and reflection. The end-product of this project will be an ideal tool that can be used by students and researchers to understand compilation techniques for functional logic programming languages, and to experiment with and prototype specific aspects of the language and the compiler, in particular parallelism, security, optimizations and language extensions.




  • sergio