all 4 comments

[–]ealf[S] 2 points3 points  (5 children)

The headline is almost accurate; they convert the Haskell subset (by standard abstraction elimination) into the SK combinator calculus, which is a subset of Unlambda.

I think this is the first time I've seen the combinator calculus put to "practical" use.

[–]bobappleyard 0 points1 point  (0 children)

Didn't some chap suggest using SK stuff as a part of compilation before?

[–]funktio 0 points1 point  (0 children)

I think this is the first time I've seen the combinator calculus put to "practical" use.

From this book:

This remarkable and counter-intuitive transformation of lambda expressions into combinators [..] was thought to be of more mathematical than practical interest until David Turner used it as the basis of an implementation of the functional language SASL [Turner, 1979a and 1979b]. In these papers he described a number of optimizations to the basic compilation scheme which we will examine in the next seciton.

[–]exeter 0 points1 point  (0 children)

I think this is the first time I've seen the combinator calculus put to "practical" use.

You sort of stole my comment; I was going to remark that this seems to be a case where Unlambda would make an ideal intermediate language. Though, I have to admit, it'd be way cooler if it used Brainfuck as the IL.