borgo
Borgo is a statically typed language that compiles to Go. (by borgo-lang)
ClosedTypeHierarchyDiagnosticSuppressor
Suppresses exhaustiveness warnings for switching (switch statement or expression) on closed type hierarchies (by shuebner)
borgo | ClosedTypeHierarchyDiagnosticSuppressor | |
---|---|---|
8 | 4 | |
3,443 | 39 | |
95.9% | - | |
7.4 | 0.0 | |
17 days ago | 6 months ago | |
Rust | C# | |
- | MIT License |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
borgo
Posts with mentions or reviews of borgo.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2024-04-30.
- A new programming language that compiles to Go
- Borgo is a programming language that compiles to Go
-
Borgo is a statically typed language that compiles to Go
See the example with the `?` operator: https://github.com/borgo-lang/borgo?tab=readme-ov-file#error...
ClosedTypeHierarchyDiagnosticSuppressor
Posts with mentions or reviews of ClosedTypeHierarchyDiagnosticSuppressor.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2024-04-30.
-
Borgo is a statically typed language that compiles to Go
It's not the best solution, but an analyzer like [0] covers most of the cases for reference types. For enums and struct DUs in general we'll have to wait for language (or even runtime) support.
[0] https://github.com/shuebner/ClosedTypeHierarchyDiagnosticSup...
-
Is downcasting in this scenario really bad? What are the alternatives?
I don't think you can get around downcasting though, since pattern matching on type is also just that. You can however make it somehwat safer with this nuget package, for as long as csharp doesn't support discriminated unions natively yet.
-
How do you live without tagged union types?
If you are using visual studio you can try https://github.com/shuebner/ClosedTypeHierarchyDiagnosticSuppressor and write abstract record
- Exhaustiveness check for Discriminated Unions in C#
What are some alternatives?
When comparing borgo and ClosedTypeHierarchyDiagnosticSuppressor you can also consider the following projects:
gleam - ⭐️ A friendly language for building type-safe, scalable systems!
dunet - C# discriminated union source generator
wire - Compile-time Dependency Injection for Go
assemblyscript - A TypeScript-like language for WebAssembly.
rescript-compiler - The compiler for ReScript.
grumpy - Grumpy is a Python to Go source code transcompiler and runtime.
bflat - C# as you know it but with Go-inspired tooling (small, selfcontained, and native executables)
have - The Have Programming Language