# edn-format/edn

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/edn-format-edn).**

2,760 stars · 100 forks

## Links

- GitHub: https://github.com/edn-format/edn
- awesome-repositories: https://awesome-repositories.com/repository/edn-format-edn.md

## Description

Extensible Data Notation is a language-agnostic text format designed for the reliable exchange of structured data and immutable values across diverse programming environments and distributed systems. It provides a standardized way to organize information into hierarchies using collections such as maps, sets, and vectors, ensuring consistent data recognition through the use of symbolic identifiers and keywords.

The format distinguishes itself through its support for extensible tagged elements, which allow developers to register custom handlers to interpret domain-specific data structures beyond standard primitives. This extensibility, combined with the ability to annotate data streams with comments or selectively parse specific segments, enables the format to serve as a flexible tool for both complex data interchange and structured configuration management.

## Tags

### Data & Databases

- [Data Serialization Formats](https://awesome-repositories.com/f/data-databases/data-serialization-formats.md) — Provides a language-agnostic text format for representing structured data and immutable values.
- [Custom Data Types](https://awesome-repositories.com/f/data-databases/custom-data-types.md) — Provides a registration mechanism for custom handlers to interpret domain-specific data types. ([source](https://github.com/edn-format/edn#readme))
- [Language-Neutral Data Serialization](https://awesome-repositories.com/f/data-databases/data-serialization-formats/binary-serialization-protocols/language-neutral-data-serialization.md) — Represents complex data structures as text to ensure reliable information exchange between different programming languages.
- [Complex Data Serialization](https://awesome-repositories.com/f/data-databases/complex-data-serialization.md) — Supports recursive serialization of complex information hierarchies into nested text structures.
- [Data Type Definitions](https://awesome-repositories.com/f/data-databases/data-type-definitions.md) — Extends standard formats with specialized handlers to interpret domain-specific structures.

### Programming Languages & Runtimes

- [Collection Data Structures](https://awesome-repositories.com/f/programming-languages-runtimes/collection-data-structures.md) — Organizes data into ordered lists, vectors, maps, and sets to represent complex hierarchies. ([source](https://github.com/edn-format/edn/blob/master/README.md))
- [Symbolic Identifiers](https://awesome-repositories.com/f/programming-languages-runtimes/symbolic-identifiers.md) — Uses keywords and symbols as immutable tokens for consistent cross-platform data identification.

### Software Engineering & Architecture

- [Data Format Extensions](https://awesome-repositories.com/f/software-engineering-architecture/data-format-extensions.md) — Supports custom tagged elements and domain-specific types to extend standard primitives.
- [Data Interchange Standards](https://awesome-repositories.com/f/software-engineering-architecture/data-interchange-standards.md) — Standardizes the organization of collections into hierarchies for reliable data exchange between systems.
- [Human-Readable Configuration Formats](https://awesome-repositories.com/f/software-engineering-architecture/application-lifecycle-management/configuration-management/configuration-formats-and-schemas/configuration-formats/human-readable-formatting/human-readable-configuration-formats.md) — Organizes application settings into readable formats that support comments and selective data inclusion.
- [Data Container Identification](https://awesome-repositories.com/f/software-engineering-architecture/data-container-identification.md) — Assigns symbols and keywords to represent unique identifiers for consistent data recognition. ([source](https://github.com/edn-format/edn/blob/master/README.md))
- [Data Exchange Standards](https://awesome-repositories.com/f/software-engineering-architecture/data-exchange-standards.md) — Standardizes communication of immutable values and unique identifiers across diverse software architectures.
- [Immutable Data Storage](https://awesome-repositories.com/f/software-engineering-architecture/immutable-data-patterns/immutable-data-storage.md) — Provides a standardized format for representing immutable values and structured data across distributed systems.

### Web Development

- [Parser Tag Extensions](https://awesome-repositories.com/f/web-development/custom-template-tags/parser-tag-extensions.md) — Allows extending the parser to recognize custom tagged elements and reconstruct domain-specific objects.

### Networking & Communication

- [Primitive Type Encoding](https://awesome-repositories.com/f/networking-communication/binary-data-encoding/primitive-type-encoding.md) — Provides standardized encoding for basic primitives like null, booleans, and numbers. ([source](https://github.com/edn-format/edn/blob/master/README.md))

### Security & Cryptography

- [Structured Data Format Encoders](https://awesome-repositories.com/f/security-cryptography/data-encoders/data-encoders/structured-data-format-encoders.md) — Encodes structured data into language-agnostic text strings for reliable exchange between distributed systems. ([source](https://github.com/edn-format/edn#readme))
