Why is it difficult?

Ideally we'd like the type of convert to be something like:
convert :: LambdaExpr -> SKIExpr
but this breaks in several places, such as the nested converts in the RHS of the rule:
convert (Lambda x (Lambda y e)) | occursFree x e = convert (Lambda x (convert (Lambda y e)))

A while ago I tried modifying the algorithm to be pure top-down so that it wouldn't have this problem, but I didn't have much luck.

Anybody know of a way to fix this?

- Job

On Thu, Jan 28, 2010 at 10:21 AM, Felipe Lessa <felipe.lessa@gmail.com> wrote:
On Thu, Jan 28, 2010 at 09:23:23AM -0500, Job Vranish wrote:
> -- The anoying thing about the algorithm is that it is difficult to separate
> the SKI and LC expression types
> --  it's easiest to just combine them.

Why is it difficult?

--
Felipe.
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe