dotnet/csharplang
View on GitHub ↗ ★ 12,731 C#
The official repo for the design of the C# programming language
124 mentions on Hacker News by 100 people: 21 stories, 103 comments · first 2017-02-03 · latest 2026-10-21
20082026
-
I have a series of proposal for most/all of these. Associated types: https://github.com/dotnet/csharplang/issues/8712 Ownership: https://github.com/agocke/csharplang/blob/ownership/proposal...
comment by andygocke · 2026-10-21 · in C# now beats Rust on WASM size -
…also looking at full blown discriminated unions (you can look at one of my proposals for that here: https://github.com/dotnet/csharplang/blob/main/meetings/work... ), which would allow for that. Syntax entirely tbd, but you'd do something…
comment by Metasyntactic · 2026-05-24 · in .NET (OK, C#) finally gets union types -
Sure, as an example: https://github.com/dotnet/csharplang/blob/main/meetings/work... Again, very rough. We go round and round on things. Loving to decompose, debate and determine how we want to tackle all these large and interesting areas…
comment by Metasyntactic · 2026-04-08 · in Union types in C# 15 -
It just needs discriminated unions! https://github.com/dotnet/csharplang/blob/main/meetings/work...
comment by vips7L · 2026-01-08 · in C# is programming language of the year 2025 -
Unions have a proposal: https://github.com/dotnet/csharplang/issues/9662
comment by vips7L · 2025-12-25 · in Comptime – C# meta-programming with compile-time code generation and evaluation -
…It looks like C# may gain value-based discriminated unions as well, though it's not settled yet: https://github.com/dotnet/csharplang/blob/main/proposals/uni...
comment by kbolino · 2025-10-16 · in Garbage collection for Rust: The finalizer frontier -
…but they want a better syntax (or sugar) to carry out the same semantics.) And the discussion: https://github.com/dotnet/csharplang/discussions/6072
comment by mrkeen · 2025-09-19 · in What's New in C# 14: Null-Conditional Assignments -
…here :) Discriminated unions continue to be worked on, and you can see our latest designs here: https://github.com/dotnet/csharplang/blob/main/proposals/uni... The space there is large and complex, and we have a large amount of resources…
comment by Metasyntactic · 2025-09-18 · in What's New in C# 14: Null-Conditional Assignments -
…on sum types and exhaustive pattern matching, you can follow/participate in the proposal[1]. [1]: https://github.com/dotnet/csharplang/issues/8928
comment by S04dKHzrKT · 2025-09-11 -
…duck. > C #13 Wait. You mentioned C# has ADTs via sealed classes IIUC. Why the hell do they have a https://github.com/dotnet/csharplang/issues/8928 ticket for discriminated unions then? It implies that there are some differences between…
comment by Ygg2 · 2025-08-28 · in Unexpected productivity boost of Rust -
…to the set (sum type) hazardous. They continue to fiddle with design approaches to solve this. See https://github.com/dotnet/csharplang/blob/main/meetings/2025...
comment by mastry · 2025-08-16 · in Microsoft keeps adding stuff into Windows we don't need -
…[0]. Every time I accept that one its a quick revert to the more verbose indexing operators. [0] https://github.com/dotnet/csharplang/discussions/198
comment by bob1029 · 2025-07-19 · in C# Language Design Meeting for June 30th, 2025 -
…got out of love in modern .NET and it remains to be seen how much they will ever improve them. https://github.com/dotnet/csharplang/discussions/158
comment by pjmlp · 2025-05-21 · in “ZLinq”, a Zero-Allocation LINQ Library for .NET -
…major request, Union types, is also in proposal and will (hopefully) come in the next year or so: https://github.com/dotnet/csharplang/blob/main/proposals/Typ...
comment by kkukshtel · 2025-05-20 · in Making video games (without an engine) in 2025 -
…idea from F#”. This is not how programming language development works. You can read LDM notes at https://github.com/dotnet/csharplang/discussions?discussions... and specs are documented in the repo. > rather than making F# a viable…
comment by neonsunset · 2025-04-09 · in A year of Rust in ClickHouse -
…to ad hoc union types. TS and Python already have them and C# is adding them soonish [1]. [1] https://github.com/dotnet/csharplang/blob/main/proposals/Typ...
comment by uzerfcwn · 2025-03-09 · in An epic treatise on error models for systems programming languages -
Here's the language proposal for those that are interested. https://github.com/dotnet/csharplang/issues/8928
comment by S04dKHzrKT · 2025-02-01 · in Why Tracebit is written in C# -
…C# will also support this once live (and continue its legacy of plucking great features from F#). https://github.com/dotnet/csharplang/blob/main/proposals/Typ...
comment by kkukshtel · 2025-01-16 · in The Untouched Goldmine of F# -
…language to implement both AFAIK. C# has a proposal to add both unions and disjoint unions: https://github.com/dotnet/csharplang/blob/main/proposals/Typ... OCaml has polymorphic variants which are open disjoint unions. Kotlin is looking to…
comment by jasdfasd · 2024-11-01 · in Sets, types and type checking -
…here is the spec about refs in structs and other lifetime features mentioned in the article: https://github.com/dotnet/csharplang/blob/main/proposals/csh... And here is the big list of ways .NET differs from the publish ECMA spec. Some of…
comment by MarkSweep · 2024-10-31 · in A comparison of Rust’s borrow checker to the one in C# -
7 years ago: https://github.com/dotnet/csharplang/issues/1060 3 years ago: https://github.com/dotnet/csharplang/blob/main/meetings/2021... I've given up submitting to csharplang now. It seemed like a positive when it was first…
comment by louthy · 2024-10-18 · in Net 9.0 LINQ Performance Improvements -
…https://learn.microsoft.com/en-us/dotnet/csharp/language-ref... And, it's getting better over time: https://github.com/dotnet/csharplang/issues/4935 This is essentially how I respond to web requests in my codebases right now: var table =…
comment by bob1029 · 2024-10-12 · in PeachPie Compiler: Compile and run PHP on top of .NET runtime -
https://github.com/dotnet/csharplang/blob/main/proposals/Typ...
comment by neonsunset · 2024-09-24 · in Why is F# code robust and reliable? -
An official proposal was just submitted for type unions: https://github.com/dotnet/csharplang/blob/18a527bcc1f0bdaf54...
comment by kkukshtel · 2024-08-21 · in Official proposal for Type Unions in C# -
…} This will allow to remove exhaustiveness suppression and not pay for (house of) leaves. [0]: https://github.com/dotnet/csharplang/blob/18a527bcc1f0bdaf54...
comment by neonsunset · 2024-08-09 · in State Monad for the Rest of Us -
…cover all the cases. I’m waiting for roles/extensions to see if I can achieve a similar result. https://github.com/dotnet/csharplang/discussions/5496
comment by hakanderyal · 2024-08-08 · in Official proposal for Type Unions in C# -
Tearing issue is mentioned in this issue https://github.com/dotnet/csharplang/issues/7016 but not in proposal
comment by facturi · 2024-08-08 · in Official proposal for Type Unions in C# -
…Typed Unions, not guaranteed yet but there is an official proposal that I believe is 2 weeks old. https://github.com/dotnet/csharplang/blob/main/proposals/Typ...
comment by runevault · 2024-08-07 · in Please do not attempt to simplify this code -
…related to a GC. That’s why you don’t see constant expressions (but in the future that may change). https://github.com/dotnet/csharplang/issues/6926#issuecommen...
comment by Nuzzerino · 2024-06-14 · in Scan HTML faster with SIMD instructions – Chrome edition -
…demonstrably no idea what ADTs are if you think you can use both sum and product types in C# see https://github.com/dotnet/csharplang/issues/113 You argue that Rust a no-GC language is going to be similar to a GC language, especially one…
comment by Ygg2 · 2024-06-11 · in in Rust, methods should be object safe -
…but given that you mentioned (discriminated) unions, here are notes on recent design work: https://github.com/dotnet/csharplang/blob/main/meetings/2024... https://github.com/dotnet/csharplang/blob/main/meetings/2024...
comment by neonsunset · 2024-05-08 · in The search for easier safe systems programming -
…too many features[1]. Virtual threads are easier to use than async/await is another example. [1] https://github.com/dotnet/csharplang/issues/113
comment by za3faran · 2024-01-11 · in The golden age of Kotlin and its uncertain future -
…[3] https://github.com/microsoft/CodeContracts [4] https://github.com/dafny-lang/dafny [5] https://github.com/dotnet/csharplang/issues/105
comment by Genbox · 2023-10-27 · in Lean4 helped Terence Tao discover a small bug in his recent paper -
…"natural type" so "var list = [1,2,3]" would be of type "List<int>" but it was postponed to C# 13 ( https://github.com/dotnet/csharplang/issues/5354#issuecommen... )
comment by mpawelski · 2023-10-20 · in What's new in C# 12: overview -
…working with Result<T,TErr> easier as would provide exhaustive checking. DUs are being designed: https://github.com/dotnet/csharplang/issues/113
comment by jve · 2023-10-20 · in What's new in C# 12: overview -
…improving source generators, and supposedly they are likely to add partial properties in C# 13. [1] https://github.com/dotnet/csharplang/issues/6420
comment by nloum · 2023-10-20 · in What's new in C# 12: overview -
…and I don't have any issues. Hope one day I'd see concise syntax for catch and/or try expressions: https://github.com/dotnet/csharplang/discussions/2734 - but there is a lot of resistance.
comment by jve · 2023-10-20 · in What's new in C# 12: overview -
https://github.com/dotnet/csharplang - "The official repo for the design of the C# programming language" that's in public.
comment by jodrellblank · 2023-09-12 · in Why isn’t dotnet core popular among startups? -
…exceptions. Oh, csharplang already had discussion on the matters about try/catch single statements: https://github.com/dotnet/csharplang/issues/786
comment by jve · 2023-08-18 · in TypeScript is surprisingly ok for compilers -
…the above code is exhaustive because no proper sum types Thats because c#s enum is not "closed" https://github.com/dotnet/csharplang/issues/3179
comment by hardware2win · 2023-08-18 · in TypeScript is surprisingly ok for compilers -
This seem to be a longer running one: https://github.com/dotnet/csharplang/issues/113
comment by chem83 · 2023-08-08 · in The combined power of F# and C# -
…(There are multiple proposals tracking the idea. This seems the most comprehensive and "central": https://github.com/dotnet/csharplang/issues/7016 )
comment by WorldMaker · 2023-08-07 · in The combined power of F# and C# -
https://github.com/dotnet/csharplang/issues/7009 [Proposal]: Interceptors #7009 > An interceptor is a method which can declaratively substitute a call to itself instead of a call to an interceptable method at compile time. This…
comment by nh23423fefe · 2023-06-21 · in Interceptors (new C# metaprogramming feature) to fuel DapperAOT development -
…Main[2] a few years ago. [1]: https://github.com/davidfowl/AspNetCoreDiagnosticScenarios/b... [2]: https://github.com/dotnet/csharplang/blob/main/proposals/csh...
comment by uncheckederror · 2023-05-21 · in How much memory do you need to run 1M concurrent tasks? -
…API is used. Searching how people configured something. Searching accidental uses of an attribute: https://github.com/dotnet/csharplang/discussions/5657#discus...
comment by Kuinox · 2023-05-08 · in GitHub code search is generally available