Question: Given the following answer 3 . Consider a language based on the lambda calculus that includes function definition, function application, numbers, and arithmetic operations (
Given the following answer
Consider a language based on the lambda calculus that includes function definition, function application,
numbers, and arithmetic operations addition subtraction, multiplication, division:
a Write a contextfree grammar for this language.
b Write a variant for the abstract syntax of this language.
type bop larr
I Add
I Sub
Mul
I Div
type expr larr
I Num of number
Var of string
FuncExpr of string expr
I CallExpr of expr expr
BopExor of exor bod exor
Using your language from Question :
a Write an expression containing at least one function definition, one function application, and one arithmetic
operation. Then, use the basic constraintgenerationsolving approach discussed in class to infer the type
of your expression.
b What are the preliminary types?
c What are the constraints?
d What is the solution to the constraints obtained from unification?
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
