
24 Nov
2011
24 Nov
'11
5:43 a.m.
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 But that yields the following error: test.hs:5:71: Not in scope: type constructor or class 'Variable' Any suggestions would be much appreciated. /Roger