#C14697. Understanding Immutability in Functional Programming

    ID: 44374 Type: Default 1000ms 256MiB

Understanding Immutability in Functional Programming

Understanding Immutability in Functional Programming

In functional programming, immutability is a core concept where data structures cannot be modified once created. This approach leads to code that is safer, more predictable, and easier to maintain. In this problem, you are required to implement a function (or program) that outputs a JSON object describing the significance of immutability in functional programming.

The JSON object must contain the following keys with exact values:

{
  "significance": [
    "Predictability",
    "Concurrency",
    "Debugging and Testing"
  ],
  "examples": {
    "Haskell": "Lists and other data structures are immutable by default.",
    "Clojure": "Lists, vectors, sets, and maps are immutable by default."
  },
  "pros": [
    "Safety",
    "Simplicity",
    "Branching and History"
  ],
  "cons": [
    "Performance",
    "Memory Usage"
  ],
  "strategies": [
    "Persistent Data Structures",
    "Referential Transparency",
    "Functional Patterns"
  ]
}

Your program should read from standard input (stdin) and write the JSON output to standard output (stdout). The input, however, should be ignored. It can contain any text, but your output must always match the JSON structure shown above exactly.

inputFormat

The input is provided via standard input (stdin) but is not used in the solution. You may receive any text or even an empty string as input.

outputFormat

The output should be a JSON object printed to standard output (stdout) that exactly matches the structure and values indicated in the problem statement. The keys must be: significance, examples, pros, cons, and strategies.

## sample
dummy
{"significance": ["Predictability", "Concurrency", "Debugging and Testing"], "examples": {"Haskell": "Lists and other data structures are immutable by default.", "Clojure": "Lists, vectors, sets, and maps are immutable by default."}, "pros": ["Safety", "Simplicity", "Branching and History"], "cons": ["Performance", "Memory Usage"], "strategies": ["Persistent Data Structures", "Referential Transparency", "Functional Patterns"]}