
On Thu, Nov 24, 2011 at 10:43:58AM +0000, Costello, Roger L. wrote:
Hi Folks,
I am trying to define a data type for this:
A Lambda term is one of these: - Variable - Application of a Lambda term to a Lambda term - Abstraction of a Variable in a Lambda term
Here's an example of a Lambda term:
term = Abstraction (Variable X) (Application (Variable X) (Variable Y))
Is there a way to define Lambda term?
Here's an attempt at defining it:
data Var = V | W | X | Y | Z
data Lambda = Variable Var | Application Lambda Lambda | Abstraction (Variable Var) Lambda
The right way to do it would be data Var = V | W | X | Y | Z data Lambda = Variable Var | Application Lambda Lambda | Abstraction Var Lambda However, I also note that it is a bit strange to use an enumeration type for your variables; what if you need more than five? -Brent