Answered step by step
Verified Expert Solution
Question
1 Approved Answer
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
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started