6 repository-uri
Techniques for modifying tree structures by reusing unchanged nodes to ensure thread-safe and efficient updates.
Distinct from Trees: Focuses on immutable tree manipulation for code structures, distinct from general tree data structures.
Explore 6 awesome GitHub repositories matching software engineering & architecture · Immutable Transformations. Refine with filters or upvote what's useful.
The .NET Compiler Platform is a collection of open-source APIs for C# and Visual Basic that provides deep code analysis, refactoring, and automated source code generation. It serves as the core infrastructure for building development tools, offering a platform to inspect, modify, and understand source code through immutable syntax trees and semantic models. The platform distinguishes itself by providing full-fidelity syntax trees that preserve every character of source code, including whitespace and comments, alongside an incremental compilation pipeline that enables near-instant feedback dur
Enables efficient, thread-safe code modifications by reusing unchanged nodes in immutable syntax trees.
go-datastructures is a collection of thread-safe and lock-free data structures designed for high-performance concurrent applications in Go. It provides a modular library of specialized algorithmic toolsets, including a lock-free collection library and an immutable data structure library. The project distinguishes itself through a suite of persistent AVL trees and hash array mapped tries that use branch-copying to preserve previous versions. It also implements non-blocking hash maps, queues, and tries that enable linearizable snapshots and concurrent updates without the use of mutual exclusion
Implements thread-safe AVL trees using branch-copying techniques to preserve previous versions of the data structure.
This is a configuration library for JVM applications that parses HOCON, JSON, and Java properties files into an immutable tree structure. It resolves ${...} placeholders by traversing the configuration tree and falling back to environment variables and system properties, and validates loaded configurations against a reference schema. The library loads configuration from classpath resources, files, URLs, system properties, and environment variables, merging them with priority-based override semantics. It provides typed value access with automatic type coercion, supports dot-path navigation,
Represents parsed configuration as an immutable tree that produces new instances on modification.
phpDocumentor este un generator de documentație API PHP și un analizor de cod sursă care transformă fișierele PHP și DocBlock-urile în referințe API HTML structurate. Funcționează ca un generator de site-uri statice și un instrument de documentare automată conceput pentru a sincroniza documentația tehnică cu modificările de cod. Proiectul se distinge prin faptul că acționează ca un generator de diagrame UML, producând grafice de clasă și arhitecturale prin PlantUML pe baza analizei sursei. De asemenea, suportă scrierea manualelor tehnice, randând ghiduri scrise manual în Markdown și ReStructuredText alături de referințele API generate automat. Instrumentul oferă capabilități largi pentru analiza codului sursă, inclusiv generarea de arbori de sintaxă abstractă, etichetarea metadatelor și gestionarea moștenirii documentației. Include instrumente de vizualizare pentru arhitectura codului, controlul vizibilității elementelor și gestionarea documentației versionate. Build-urile pot fi gestionate prin fișiere de configurare XML pentru a automatiza generarea în cadrul pipeline-urilor de integrare continuă.
Merges XML settings and command-line options into a versioned configuration schema using a builder.
Acest proiect este o bibliotecă PHP de gestionare a configurațiilor, utilizată pentru a defini, încărca și valida setările aplicațiilor. Funcționează ca un motor de îmbinare (merging) a configurațiilor și un validator de scheme, asigurându-se că software-ul se comportă consistent în diferite instalări. Biblioteca acționează ca un încărcător de configurații multi-format care convertește setările din diverse tipuri de fișiere, cum ar fi YAML și XML, într-un format intern standardizat. Permite stabilirea unor scheme de configurare formale cu reguli de validare și valori implicite pentru a preveni erorile de runtime cauzate de input-uri invalide. Sistemul suportă îmbinarea ierarhică a configurațiilor, care combină setările din mai multe surse ordonate după prioritate într-un singur set unificat. Acest proces include îmbinarea recursivă a array-urilor și normalizarea bazată pe arbori pentru a rezolva valorile conflictuale și a aplica override-uri specifice mediului.
Normalizes raw input data from various sources into a consistent final configuration state.
swift-syntax is a library for parsing, manipulating, and generating Swift source code. It provides a source-accurate abstract syntax tree representation of Swift code, acting as a parser, transformer, and code generator. The project serves as the infrastructure for Swift macro development, enabling the expansion and transformation of source code during compilation. It is used to build compiler tooling for static analysis, formatting, and automated refactoring. The system covers a broad range of source analysis capabilities, including the ability to convert source code into structured trees f
Uses an immutable node hierarchy to ensure thread safety and stable transformations during syntax tree manipulation.