awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
dotnet avatar

dotnet/csharplang

0
View on GitHub↗

Csharplang

This repository serves as the programming language design repository for C#, containing the official language specification and the technical standards governing its grammar, type safety, and memory management. It functions as a collaborative space for the formal design and evolution of the language.

The project manages a community-driven evolution process, utilizing a public proposal backlog to debate and adopt new features. This involves formal syntax prototyping and the engineering of the type system to refine the language's behavior and implementation.

The scope of the specification covers a wide range of language capabilities, including asynchronous programming workflows, declarative data processing through integrated queries, and memory safety via nullable reference types. It also defines the rules for value-based record types, generic type parameterization, and deterministic resource disposal.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Features

  • Language Design Processes - Provides the formal process and framework for proposing and refining the C# language specification.
  • Async-Await Flow Control - Transforms asynchronous methods into state machines to pause and resume execution without blocking threads.
  • Asynchronous Programming Patterns - Defines language-level patterns and keywords for managing non-blocking execution flows.
  • Generic Types - Creates type-safe structures that operate on multiple types through parameterization and compile-time resolution.
  • Language Integrated Query (LINQ) - Integrates a query-based syntax directly into the language to abstract data retrieval and transformation.
  • Language Specifications and Standards - Establishes the formal rules governing syntax, type safety, and memory management.
  • Community-Driven Specifications - Manages the community-driven process for debating and adopting new language features.
  • Language Specifications - Provides the formal documentation and standards defining the syntax and behavior of the language.
  • C API Specifications - Serves as the official technical design and grammar definition for the language.
  • Nullable - Implements static analysis tracking for nullable reference types to prevent dereference errors.
  • Asynchronous Execution - Runs methods without blocking the calling thread by using specialized keywords to wait for completion.
  • Generic Type Definitions - Defines classes and methods that operate on multiple types while maintaining static type safety.
  • Nullability Tracking - Tracks the null state of reference types during compilation to warn about potential dereference errors.
  • Type System Engineering - Defines the engineering rules for the C# type system, including generics and memory safety.
  • Pattern Matching - Evaluates object shapes and types through a recursive decision tree to execute logic based on value patterns.
  • Deterministic Resource Disposal - Specifies rules for deterministic disposal of unmanaged resources to prevent memory leaks.
  • Raw String Literals - Defines strings that preserve whitespace and ignore escape characters to simplify embedding structured data.
  • Asynchronous Streams - Processes collections of data using specialized loops and disposal patterns to avoid blocking the execution thread.
  • Collection Expressions - Initializes various collection-like types efficiently using a uniform and concise syntax.
  • Delegates - Defines the behavior and specification of type-safe delegates for function management.
  • Extension Methods - Defines the mechanism for adding new methods to existing types without modifying their source code.
  • First-Class Functions - Provides type-safe objects to store and pass method references as first-class citizens.
  • Syntax Prototyping - Implements prototyping for modern patterns like string interpolation and collection expressions.
  • Pattern Matching - Evaluates values against relational or logical patterns to execute logic based on the object's shape.
  • Auto-Implemented Properties - Reads and writes to underlying storage of a property without manually declaring a separate private field.
  • Memory Spans - Implements type-safe views into arbitrary memory regions to reduce allocations and improve data access speed.
  • Primary Constructors - Declares constructor parameters directly on the class definition to minimize redundant field declarations.
  • Record Types - Implements equality and mutation for types based on their stored data rather than their memory address.
  • Dynamic Type Dispatching Systems - Defines how members are resolved at runtime by bypassing static type checking.
  • Template Interpolation - Creates strings by embedding expressions directly into a template to improve readability and maintainability.
  • Encapsulation Modifiers - Defines the keywords and mechanisms used to control the visibility and access scope of members.
  • Memory Spans - Defines type-safe memory spans to optimize performance and reduce allocations.
  • Generic Pattern Matching - Specifies the syntax for type-checking generic objects and binding them to typed variables.
  • Core Frameworks - The official repository for the evolution of the language.
12,636 stars·1,069 forks·C#·18 views

Star history

Star history chart for dotnet/csharplangStar history chart for dotnet/csharplang

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

Frequently asked questions

What does dotnet/csharplang do?

This repository serves as the programming language design repository for C#, containing the official language specification and the technical standards governing its grammar, type safety, and memory management. It functions as a collaborative space for the formal design and evolution of the language.

What are the main features of dotnet/csharplang?

The main features of dotnet/csharplang are: Language Design Processes, Async-Await Flow Control, Asynchronous Programming Patterns, Generic Types, Language Integrated Query (LINQ), Language Specifications and Standards, Community-Driven Specifications, Language Specifications.

Which projects share features with dotnet/csharplang?

Projects with overlapping indexed features include: carp-lang/carp — Carp is a statically typed Lisp compiler that compiles Lisp-like syntax directly to C source code, enabling seamless… rust-lang/rust-by-example — This project is an interactive programming education resource and tutorial designed for learning the Rust programming… crystal-lang/crystal — Crystal is a statically typed, compiled programming language designed for high performance and memory safety. It… rust-lang/book — The Rust Programming Language Book is the official technical guide and educational resource for the Rust language. It… tc39/ecma262 — The ECMAScript specification is the formal standard defining the syntax, semantics, and execution model that all… tc39/proposals — This repository serves as the official tracking and governance framework for the evolution of the ECMAScript language.…

Projects sharing features with Csharplang

These projects share indexed features with Csharplang. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • carp-lang/carpcarp-lang avatar

    carp-lang/Carp

    5,815View on GitHub↗

    Carp is a statically typed Lisp compiler that compiles Lisp-like syntax directly to C source code, enabling seamless integration with existing C libraries and low-level system programming. It manages memory deterministically at compile time using ownership tracking and linear types, eliminating garbage collection pauses and runtime overhead while ensuring type safety through an inferred static type system. The language distinguishes itself through compile-time macro expansion and metaprogramming capabilities, allowing code generation and transformation before final binary output. It enforces

    Haskellfunctionalfunctional-programminggame-development
    View on GitHub↗5,815
  • rust-lang/rust-by-examplerust-lang avatar

    rust-lang/rust-by-example

    8,026View on GitHub↗

    This project is an interactive programming education resource and tutorial designed for learning the Rust programming language and systems programming concepts. It provides a collection of runnable and editable code examples that serve as a practical reference for language syntax and implementation. The resource features an interactive code sandbox that allows users to execute and test code snippets in real time. It emphasizes the verification of technical accuracy by executing embedded code blocks during the build process to ensure all examples remain functional. The content covers a compre

    Handlebars
    View on GitHub↗8,026
  • crystal-lang/crystalcrystal-lang avatar

    crystal-lang/crystal

    20,299View on GitHub↗

    Crystal is a statically typed, compiled programming language designed for high performance and memory safety. It leverages an LLVM-based compiler to translate source code into optimized machine-executable binaries, while its type-inference-based static analysis enforces strict safety rules during the build process. The language distinguishes itself through a fiber-based concurrent runtime that manages lightweight execution units for asynchronous input and output without blocking the main process. It also features a powerful compile-time macro system that allows for the inspection and transfor

    Crystalcompilercrystalcrystal-language
    View on GitHub↗20,299
  • rust-lang/bookrust-lang avatar

    rust-lang/book

    17,930View on GitHub↗

    The Rust Programming Language Book is the official technical guide and educational resource for the Rust language. It provides a comprehensive walkthrough of the language's design, focusing on its core identity as a systems programming language that enforces memory safety and high-performance execution without the need for a garbage collector. The project is distinguished by its focus on ownership, borrowing, and lifetime tracking, which allow the compiler to verify memory safety and thread safety at compile time. It covers the language's unique approach to zero-cost abstractions, including t

    Rustbookmdbookrust
    View on GitHub↗17,930
Compare all 30 related projects→