# Platonic C# - Managing Referential Transparency through Unique Types

DevFeed: [Platonic C# - Managing Referential Transparency through Unique Types](<https://devfeed.tech/articles/platonic-c-managing-referential-transparency-through-unique-types-29491.md>)

Original publisher: [Read original article](<http://lambda-the-ultimate.org/node/5666>)

Published: 2023-03-04T20:11:56Z

Content type: opinion

Language: en

Sources: [Lambda the Ultimate](<https://devfeed.tech/sources/lambda-the-ultimate.md>)

Topics: [C#](<https://devfeed.tech/topics/csharp.md>), [Data structures](<https://devfeed.tech/topics/data-structures.md>), [context](<https://devfeed.tech/topics/context.md>)

Tags: [c-sharp](<https://devfeed.tech/tags/c-sharp.md>), [context](<https://devfeed.tech/tags/context.md>), [data-structures](<https://devfeed.tech/tags/data-structures.md>), [immutability](<https://devfeed.tech/tags/immutability.md>), [object-functional](<https://devfeed.tech/tags/object-functional.md>)

## AI overview

The article proposes Platonic C# as a set of rules intended to enforce referential transparency by defaulting to immutable data structures and requiring unique instances of mutable types.

## Source excerpt

The idea of Platonic C# is to enforce referential transparency within the context of C#, by enforcing a set of rules around defaulting to immutability of data structures and requiring uniqueness of instances of mutable types.