Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Consider the following Haskell datatypes representing sugared and unsugared calculus terms. data PureLC = Lambda String PureLC | App PureLC PureLC | Var String deriving

image text in transcribed

Consider the following Haskell datatypes representing sugared and unsugared calculus terms. data PureLC = Lambda String PureLC | App PureLC PureLC | Var String deriving Show data SugaredLC = Lambdas [String] SugaredLC | Apps [SugaredLC] | Vars String deriving Show Write fv:: PurelC [ String ] desugar :: SugaredLC PurelC which finds a list of the free variables in a pure calculus term, and de-sugars a sugared calculus term, respectively. So for example Prelude> desugar (LambdaS ["f", "x"] (Apps [(Vars "f"), Apps [Vars "t", Vars "g", Vars "g"]])) Lambda "f" (Lambda "x" (App (Var "f") (App (App (Var "t") (Var "g")) (Var "g")))) Prelude> fv (Lambda "f" (Lambda "x" (App (Var "f") (App (App (Var "t") (Var "g")) (Var "g"))))) ["t", "g"]

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Databases In Networked Information Systems 6th International Workshop Dnis 2010 Aizu Wakamatsu Japan March 2010 Proceedings Lncs 5999

Authors: Shinji Kikuchi ,Shelly Sachdeva ,Subhash Bhalla

2010th Edition

3642120377, 978-3642120374

More Books

Students also viewed these Databases questions

Question

Describe three other types of visual aids.

Answered: 1 week ago