Question: Consider representing a sugared calculus term as an s-expression, with the syntax: S ::= ( (V+) S) | (S+) | V where + mean one

Consider representing a sugared calculus term as an s-expression, with the syntax: S ::= ( (V+) S) | (S+) | V

where + mean "one or more".

Write desugar which takes an s-expression representing a sugared calculus term and returns an s-expression representing the equivalent unsugared term.

For example: (desugar '( (f x) (f (t g g)))) -> ( f ( x (f ((t g) g))))

Consider representing a sugared calculus term as an s-expression, with the syntax:

Consider representing a sugared calculus term as an s-expression, with the syntax s::=((V+)s)(S+)V where mean "one or more". So for example fx.f(tgg) would be represented as the s-expression ((f)x)(f(tgg))). Write which takes an sexpression representing a sugared calculus term and returns an s-expression representing the equivalent unsugared term. For example

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!