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 3.
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 context-free 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
1 BopExor of exor bod exor
Using your language from Question 1:
(a) Write an expression containing at least one function definition, one function application, and one arithmetic
operation. Then, use the basic constraint-generation/solving 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?
 Given the following answer 3. Consider a language based on the

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!