Exchanging Sources Between Clean and Haskell A Double-Edged Front End for the Clean Compiler

被引:2
|
作者
van Groningen, John [1 ]
van Noort, Thomas [1 ]
Achten, Peter [1 ]
Koopman, Pieter [1 ]
Plasmeijer, Rinus [1 ]
机构
[1] Radboud Univ Nijmegen, Inst Comp & Informat Sci, NL-6500 GL Nijmegen, Netherlands
关键词
Design; Languages; Clean; Haskell;
D O I
10.1145/2088456.1863530
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
The functional programming languages Clean and Haskell have been around for over two decades. Over time, both languages have developed a large body of useful libraries and come with interesting language features. It is our primary goal to benefit from each other's evolutionary results by facilitating the exchange of sources between Clean and Haskell and study the forthcoming interactions between their distinct languages features. This is achieved by using the existing Clean compiler as starting point, and implementing a double-edged front end for this compiler: it supports both standard Clean 2.1 and (currently a large part of) standard Haskell 98. Moreover, it allows both languages to seamlessly use many of each other's language features that were alien to each other before. For instance, Haskell can now use uniqueness typing anywhere, and Clean can use newtypes efficiently. This has given birth to two new dialects of Clean and Haskell, dubbed Clean* and Haskell*. Additionally, measurements of the performance of the new compiler indicate that it is on par with the flagship Haskell compiler GHC.
引用
收藏
页码:49 / 60
页数:12
相关论文
empty
未找到相关数据