Home Contents: |
7.4.5 SignatureSetting the stage for the definitionA lambda expression is, as we have seen, a conceptual graph where zero or more concepts have had their referents replaced by lambdas. Let us assume that we are dealing with a particular lambda expression e. Let us further assume that e has n concepts whose referents have been replaced by lambdas. Finally, let us call these concepts c1, c2, ..., cn. Definition of signaturen-adic lambda expressionsIf:
<t1,t2, ..., tn> . This is simply a list of the types of the formal parameters. Special case: 0-adic lambda expressionsSince a 0-adic lambda expression has no formal parameters, it has an empty signature, denoted by:<> . ExamplesWe have seen two examples of lambda expressions. Both can be used to define new relation types: relation GoingTo(*x,*y) is [Person: ?x]<-(Agnt)<-[Go]->(Dest)->[City: ?y] relation GoingToAalborg(*x) is [Person: ?x]<-(Agnt)<-[Go]->(Dest)->[City: Aalborg] Note how the second one can be defined in terms of the first: relation GoingToAalborg(*x) is [Person: ?x]->(GoingTo)->[City: Aalborg] The first lambda expression is a dyadic lambda expression with the signature <Person, City>. The second lambda expression is a monadic lambda expression with the signature <Person>. Exercise: Can you explain why the arrows in this last definition of GoingToAalborg point the way they do? NextFinally, we have a short quiz on the main points in this chapter. Prev: 7.4.4 Formal parameters Up: 7.4 Lambda expressions (optional) Next: 7.4.6 Quiz: Lambda expressions (optional) |