{"id":2196,"date":"2024-07-30T11:22:49","date_gmt":"2024-07-30T11:22:49","guid":{"rendered":"https:\/\/britainwriters.com\/answers\/?p=2196"},"modified":"2024-07-30T11:22:51","modified_gmt":"2024-07-30T11:22:51","slug":"fit2102-programming-paradigms-assignment","status":"publish","type":"post","link":"https:\/\/britainwriters.com\/answers\/fit2102-programming-paradigms-assignment\/","title":{"rendered":"FIT2102 &#8211; Programming Paradigms Assignment"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\"><strong>Assignment Task<\/strong><\/h3>\n\n\n\n<p><strong>Part 1&nbsp;<\/strong><\/p>\n\n\n\n<p>By the end of this section, we will have a parser for lambda calculus expressions.<\/p>\n\n\n\n<p>Exercise 1: Construct a BNF Grammar for lambda calculus expressions<\/p>\n\n\n\n<p><strong>Deliverables<\/strong><\/p>\n\n\n\n<p>At the end of this exercise, we should have the following:<\/p>\n\n\n\n<p>A BNF grammar to demonstrate the structure of the lambda expression parser, representing both short and long form in one grammar (as your parser should also handle both short and long form).<\/p>\n\n\n\n<p><strong>Recommended steps<\/strong><\/p>\n\n\n\n<p>Construct parsers for lambda calculus expression components (\u201c\u03bb\u201d, \u201c.\u201d, \u201c(\u201c, \u201c)\u201d, \u201cx\u201d, \u201cy\u201d, \u201cz\u201d, etc.) Use the component parsers to create parsers for simple combinators to get familiar with parsing lambda expressions and their structure Construct a BNF grammar for short form and long form lambda expressions<\/p>\n\n\n\n<p><strong>Exercise 2: Construct a parser for long form lambda calculus expressions<\/strong><\/p>\n\n\n\n<p><strong>Deliverables<\/strong><\/p>\n\n\n\n<p>At the end of this exercise, we should have at least the following parser:<\/p>\n\n\n\n<p>longLambdaP :: Parser Lambda<\/p>\n\n\n\n<p>Parses a long form lambda calculus expression<\/p>\n\n\n\n<p>Your BNF grammar must match your parsers. It is highly recommended to use the same name for your parsers and non-terminals (i.e. a non-terminal like should correspond to a lambdaChar parser) so your marker can easily validate the grammar.<\/p>\n\n\n\n<p><strong>Recommended steps<\/strong><\/p>\n\n\n\n<p>Build a general-purpose lambda calculus parser combinator which:<\/p>\n\n\n\n<p>Parses general multi variable lambda expressions\/function bodies Note default associativity, e.g. \u03bbxy.xxy = \u03bbxy.(xx)y Parses general multivariable lambda expressions\/function bodies with brackets<\/p>\n\n\n\n<p>E.g \u03bbxy.x(xy)<\/p>\n\n\n\n<p>Parses any valid lambda calculus expression using long-form syntax<\/p>\n\n\n\n<p>E.g. (\u03bbb.(\u03bbt.(\u03bbf.b t f)))<\/p>\n\n\n\n<p><strong>Exercise 3: Construct a parser for short form lambda calculus expressions<\/strong><\/p>\n\n\n\n<p><strong>Deliverables<\/strong><\/p>\n\n\n\n<p>At the end of this exercise, we should have at least the following parsers:<\/p>\n\n\n\n<p>short LambdaP :: Parser Lambda<\/p>\n\n\n\n<p>Parses a short form lambda calculus expression<\/p>\n\n\n\n<p>lambdaP :: Parser Lambda<\/p>\n\n\n\n<p>Parses both long form and short form lambda calculus expressions Similar to Exercise 2, your parser must match your BNF grammar. Recommended steps Build a general purpose lambda calculus parser combinator which: Parses any valid lambda expression using short-form syntax E.g. \u03bbbtf.b t f<\/p>\n\n\n\n<p><strong>Part 2<\/strong><\/p>\n\n\n\n<p>By the end of this section, we should be able to parse arithmetic and logical expressions into their equivalent lambda calculus expressions.<\/p>\n\n\n\n<p><strong>Exercise 1: Construct a parser for logical statements<\/strong><\/p>\n\n\n\n<p><strong>Deliverables<\/strong><\/p>\n\n\n\n<p>At the end of this exercise, you should have the following parsers:<\/p>\n\n\n\n<p>logicP :: Parser Lambda<\/p>\n\n\n\n<p>Parse simple to complex logical clauses<\/p>\n\n\n\n<p><strong>Recommended steps<\/strong><\/p>\n\n\n\n<p>Construct a parser for logical literals (\u201ctrue\u201d, \u201cfalse\u201d) and operators (\u201cand\u201d, \u201cor\u201d, \u201cnot\u201d, \u201cif\u201d) into their church encoding Use the logical component parsers to build a general logical parser combinator into the equivalent church encoding, which:<\/p>\n\n\n\n<p>Correctly negates a given expression<\/p>\n\n\n\n<p>E.g. not not True<\/p>\n\n\n\n<p>Parses complex clauses with nested expressions<\/p>\n\n\n\n<p>E.g. not True and False or True<\/p>\n\n\n\n<p>Parses expressions with the correct order of operations (\u201c()\u201d -&gt; \u201cnot\u201d -&gt; \u201cand\u201d -&gt; \u201cor\u201d)<\/p>\n\n\n\n<p><strong>Exercise 2: Construct a parser for arithmetic expressions<\/strong><\/p>\n\n\n\n<p><strong>Requirements<\/strong><\/p>\n\n\n\n<p>At the end of this exercise, you should have the following parsers:<\/p>\n\n\n\n<p>basicArithmeticP :: Parser Lambda<\/p>\n\n\n\n<p>Parses simple arithmetic expressions (+, -)<\/p>\n\n\n\n<p>arithmeticP :: Parser Lambda<\/p>\n\n\n\n<p>Parses complex arithmetic expressions (+, -, *, **, ()) with correct order of operations<\/p>\n\n\n\n<p><strong>Recommended steps<\/strong><\/p>\n\n\n\n<p>Construct a parser for natural numbers into their church encoding (\u201c1\u201d, \u201c2\u201d, \u2026) Construct a parser for simple arithmetic operators with natural numbers into equivalent lambda expressions. (\u201c+\u201d, \u201c-\u201d) See the Parser combinators section of the notes for some examples Construct a parser for complex mathematical expressions with natural numbers into their equivalent lambda expressions. (\u201c*\u201d, \u201c**\u201d, \u201c()\u201d) It may be useful to write a BNF for this Using the component parsers built previously to build a parser combinator for complex arithmetic expressions.<\/p>\n\n\n\n<p>Note: the correct order of operations, e.g. 5 + 2 * 3 &#8211; 1 = 5 + (2 * 3) &#8211; 1<\/p>\n\n\n\n<p><strong>Exercise 3: Construct a parser for comparison expressions<\/strong><\/p>\n\n\n\n<p><strong>Requirements<\/strong><\/p>\n\n\n\n<p>At the end of this exercise, you should have the following parsers:<\/p>\n\n\n\n<p>complexCalcP :: Parser Lambda<\/p>\n\n\n\n<p>Parses expressions with logical connectives, arithmetic and in\/equality operations<\/p>\n\n\n\n<p><strong>Recommended steps<\/strong><\/p>\n\n\n\n<p>Construct a parser for complex conditional expressions into their equivalent church encoding (&gt;, &lt;, &lt;=, &gt;=, ==, !=) Using the parsers from the previous exercises, create a parser which parses arithmetic expressions separated by logical connectives and in\/equality operations<\/p>\n\n\n\n<p>E.g. (1 + 3 &lt; 5 xss=removed&gt;<\/p>\n\n\n\n<p><strong>Part 3<\/strong><\/p>\n\n\n\n<p>This section of the assignment will include a sequence of exercises that may build to parse basic Haskell functionality, which can be used to build more complex Haskell expressions or structures.<\/p>\n\n\n\n<p><strong>Exercise 1: Construct a parser for basic Haskell constructs<\/strong><\/p>\n\n\n\n<p><strong>Requirements<\/strong><\/p>\n\n\n\n<p>At the end of this exercise, you should have the following parsers:<\/p>\n\n\n\n<p>listP :: Parser Lambda<\/p>\n\n\n\n<p>Parses a haskell list of arbitrary length into its equivalent church encoding<\/p>\n\n\n\n<p>listOpP :: Parser Lambda<\/p>\n\n\n\n<p>Parse simple list operations into their church encoding<\/p>\n\n\n\n<p><strong>Recommended steps<\/strong><\/p>\n\n\n\n<p>Construct a parser for Haskell lists (empty lists, lists of n elements, arbitrary sized lists) Construct parsers for simple list operations (null, isNull, head, tail, cons)&nbsp;<\/p>\n\n\n\n<p><strong>Exercise 2: Construct a parser for more advanced concepts<\/strong><\/p>\n\n\n\n<p>Requirements At the end of this exercise you should have parsers that: Parse some complex language features (of your choice) that bring you closer to defining your own language.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Assignment Task Part 1&nbsp; By the end of this section, we will have a parser for lambda calculus expressions. Exercise 1: Construct a BNF Grammar for lambda calculus expressions Deliverables At the end of this exercise, we should have the following: A BNF grammar to demonstrate the structure of the lambda expression parser, representing both [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-2196","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>FIT2102 - Programming Paradigms Assignment - My Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/britainwriters.com\/answers\/fit2102-programming-paradigms-assignment\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"FIT2102 - Programming Paradigms Assignment - My Blog\" \/>\n<meta property=\"og:description\" content=\"Assignment Task Part 1&nbsp; By the end of this section, we will have a parser for lambda calculus expressions. Exercise 1: Construct a BNF Grammar for lambda calculus expressions Deliverables At the end of this exercise, we should have the following: A BNF grammar to demonstrate the structure of the lambda expression parser, representing both [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/britainwriters.com\/answers\/fit2102-programming-paradigms-assignment\/\" \/>\n<meta property=\"og:site_name\" content=\"My Blog\" \/>\n<meta property=\"article:published_time\" content=\"2024-07-30T11:22:49+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-07-30T11:22:51+00:00\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/britainwriters.com\\\/answers\\\/fit2102-programming-paradigms-assignment\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/britainwriters.com\\\/answers\\\/fit2102-programming-paradigms-assignment\\\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\\\/\\\/britainwriters.com\\\/answers\\\/#\\\/schema\\\/person\\\/c698e0f0b4a723b0d250ea199e68a6d3\"},\"headline\":\"FIT2102 &#8211; Programming Paradigms Assignment\",\"datePublished\":\"2024-07-30T11:22:49+00:00\",\"dateModified\":\"2024-07-30T11:22:51+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/britainwriters.com\\\/answers\\\/fit2102-programming-paradigms-assignment\\\/\"},\"wordCount\":824,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/britainwriters.com\\\/answers\\\/#organization\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/britainwriters.com\\\/answers\\\/fit2102-programming-paradigms-assignment\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/britainwriters.com\\\/answers\\\/fit2102-programming-paradigms-assignment\\\/\",\"url\":\"https:\\\/\\\/britainwriters.com\\\/answers\\\/fit2102-programming-paradigms-assignment\\\/\",\"name\":\"FIT2102 - Programming Paradigms Assignment - My Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/britainwriters.com\\\/answers\\\/#website\"},\"datePublished\":\"2024-07-30T11:22:49+00:00\",\"dateModified\":\"2024-07-30T11:22:51+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/britainwriters.com\\\/answers\\\/fit2102-programming-paradigms-assignment\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/britainwriters.com\\\/answers\\\/fit2102-programming-paradigms-assignment\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/britainwriters.com\\\/answers\\\/fit2102-programming-paradigms-assignment\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/britainwriters.com\\\/answers\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"FIT2102 &#8211; Programming Paradigms Assignment\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/britainwriters.com\\\/answers\\\/#website\",\"url\":\"https:\\\/\\\/britainwriters.com\\\/answers\\\/\",\"name\":\"My Blog\",\"description\":\"My WordPress Blog\",\"publisher\":{\"@id\":\"https:\\\/\\\/britainwriters.com\\\/answers\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/britainwriters.com\\\/answers\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/britainwriters.com\\\/answers\\\/#organization\",\"name\":\"My Blog\",\"url\":\"https:\\\/\\\/britainwriters.com\\\/answers\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/britainwriters.com\\\/answers\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/britainwriters.com\\\/answers\\\/wp-content\\\/uploads\\\/2023\\\/12\\\/bw-logo.png\",\"contentUrl\":\"https:\\\/\\\/britainwriters.com\\\/answers\\\/wp-content\\\/uploads\\\/2023\\\/12\\\/bw-logo.png\",\"width\":379,\"height\":81,\"caption\":\"My Blog\"},\"image\":{\"@id\":\"https:\\\/\\\/britainwriters.com\\\/answers\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/britainwriters.com\\\/answers\\\/#\\\/schema\\\/person\\\/c698e0f0b4a723b0d250ea199e68a6d3\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/9c8389b9a2505b8a25de6eb6bd63d1b3bd34e49d8d91d40d9935e77bdb797c34?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/9c8389b9a2505b8a25de6eb6bd63d1b3bd34e49d8d91d40d9935e77bdb797c34?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/9c8389b9a2505b8a25de6eb6bd63d1b3bd34e49d8d91d40d9935e77bdb797c34?s=96&d=mm&r=g\",\"caption\":\"admin\"},\"sameAs\":[\"https:\\\/\\\/britainwriters.com\\\/website\"],\"url\":\"https:\\\/\\\/britainwriters.com\\\/answers\\\/author\\\/admin\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"FIT2102 - Programming Paradigms Assignment - My Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/britainwriters.com\/answers\/fit2102-programming-paradigms-assignment\/","og_locale":"en_US","og_type":"article","og_title":"FIT2102 - Programming Paradigms Assignment - My Blog","og_description":"Assignment Task Part 1&nbsp; By the end of this section, we will have a parser for lambda calculus expressions. Exercise 1: Construct a BNF Grammar for lambda calculus expressions Deliverables At the end of this exercise, we should have the following: A BNF grammar to demonstrate the structure of the lambda expression parser, representing both [&hellip;]","og_url":"https:\/\/britainwriters.com\/answers\/fit2102-programming-paradigms-assignment\/","og_site_name":"My Blog","article_published_time":"2024-07-30T11:22:49+00:00","article_modified_time":"2024-07-30T11:22:51+00:00","author":"admin","twitter_card":"summary_large_image","twitter_misc":{"Written by":"admin","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/britainwriters.com\/answers\/fit2102-programming-paradigms-assignment\/#article","isPartOf":{"@id":"https:\/\/britainwriters.com\/answers\/fit2102-programming-paradigms-assignment\/"},"author":{"name":"admin","@id":"https:\/\/britainwriters.com\/answers\/#\/schema\/person\/c698e0f0b4a723b0d250ea199e68a6d3"},"headline":"FIT2102 &#8211; Programming Paradigms Assignment","datePublished":"2024-07-30T11:22:49+00:00","dateModified":"2024-07-30T11:22:51+00:00","mainEntityOfPage":{"@id":"https:\/\/britainwriters.com\/answers\/fit2102-programming-paradigms-assignment\/"},"wordCount":824,"commentCount":0,"publisher":{"@id":"https:\/\/britainwriters.com\/answers\/#organization"},"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/britainwriters.com\/answers\/fit2102-programming-paradigms-assignment\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/britainwriters.com\/answers\/fit2102-programming-paradigms-assignment\/","url":"https:\/\/britainwriters.com\/answers\/fit2102-programming-paradigms-assignment\/","name":"FIT2102 - Programming Paradigms Assignment - My Blog","isPartOf":{"@id":"https:\/\/britainwriters.com\/answers\/#website"},"datePublished":"2024-07-30T11:22:49+00:00","dateModified":"2024-07-30T11:22:51+00:00","breadcrumb":{"@id":"https:\/\/britainwriters.com\/answers\/fit2102-programming-paradigms-assignment\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/britainwriters.com\/answers\/fit2102-programming-paradigms-assignment\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/britainwriters.com\/answers\/fit2102-programming-paradigms-assignment\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/britainwriters.com\/answers\/"},{"@type":"ListItem","position":2,"name":"FIT2102 &#8211; Programming Paradigms Assignment"}]},{"@type":"WebSite","@id":"https:\/\/britainwriters.com\/answers\/#website","url":"https:\/\/britainwriters.com\/answers\/","name":"My Blog","description":"My WordPress Blog","publisher":{"@id":"https:\/\/britainwriters.com\/answers\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/britainwriters.com\/answers\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/britainwriters.com\/answers\/#organization","name":"My Blog","url":"https:\/\/britainwriters.com\/answers\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/britainwriters.com\/answers\/#\/schema\/logo\/image\/","url":"https:\/\/britainwriters.com\/answers\/wp-content\/uploads\/2023\/12\/bw-logo.png","contentUrl":"https:\/\/britainwriters.com\/answers\/wp-content\/uploads\/2023\/12\/bw-logo.png","width":379,"height":81,"caption":"My Blog"},"image":{"@id":"https:\/\/britainwriters.com\/answers\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/britainwriters.com\/answers\/#\/schema\/person\/c698e0f0b4a723b0d250ea199e68a6d3","name":"admin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/9c8389b9a2505b8a25de6eb6bd63d1b3bd34e49d8d91d40d9935e77bdb797c34?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/9c8389b9a2505b8a25de6eb6bd63d1b3bd34e49d8d91d40d9935e77bdb797c34?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/9c8389b9a2505b8a25de6eb6bd63d1b3bd34e49d8d91d40d9935e77bdb797c34?s=96&d=mm&r=g","caption":"admin"},"sameAs":["https:\/\/britainwriters.com\/website"],"url":"https:\/\/britainwriters.com\/answers\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/britainwriters.com\/answers\/wp-json\/wp\/v2\/posts\/2196","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/britainwriters.com\/answers\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/britainwriters.com\/answers\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/britainwriters.com\/answers\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/britainwriters.com\/answers\/wp-json\/wp\/v2\/comments?post=2196"}],"version-history":[{"count":1,"href":"https:\/\/britainwriters.com\/answers\/wp-json\/wp\/v2\/posts\/2196\/revisions"}],"predecessor-version":[{"id":2197,"href":"https:\/\/britainwriters.com\/answers\/wp-json\/wp\/v2\/posts\/2196\/revisions\/2197"}],"wp:attachment":[{"href":"https:\/\/britainwriters.com\/answers\/wp-json\/wp\/v2\/media?parent=2196"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/britainwriters.com\/answers\/wp-json\/wp\/v2\/categories?post=2196"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/britainwriters.com\/answers\/wp-json\/wp\/v2\/tags?post=2196"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}