Development

V# is developed in the open at github.com/v-sharp-lang/v-sharp.

Repository layout

vsharp-boot/        launch preflight (the only module built for Java 11)
vsharp-runtime/     runtime support emitted code links against: formatting, ranges, tuples, console
vsharp-compiler/    source model, diagnostics, lexer, parser, binder, typed IR, lowering, backend
vsharp-cli/         the vsharp command
vsharp-lsp/         the language server
vsharp-vscode/      editor extension and its generated TextMate grammar
vsharp-testkit/     dependency-free test harness (no JUnit)
vsharp-tests/       the executable suite: 865 cases
samples/hello/      the sample the build itself compiles and runs as an acceptance gate
docs/               language, bytecode, CLI, editor and grammar documentation

Building and testing

The requirements are a JDK 25 and Gradle 9.x, and nothing else — the dependency list is empty.

gradle build                      # compiles everything, runs the suite and the sample gate
gradle :vsharp-tests:runTests     # the suite alone
gradle :vsharp-tests:runTests --args="lexer"   # one area

gradle build is the acceptance gate: it compiles the compiler, runs all 865 cases, then compiles samples/hello with the produced CLI, runs the emitted class on a real JVM, and asserts its output.

The test harness (vsharp-testkit) is written in the repository and does not use JUnit, consistent with the project's rule that the dependency list stays empty.

The toolchain

Tools produced by the V# repository
ToolWhat it is
vsharp The compiler CLI: .vs → .class or a deterministic JAR, with stable exit codes and C#-exact diagnostics
vsharp-lsp A language server: diagnostics, completion, signature help, hover, go-to-definition, symbols
vsharp-vscode VS Code / VSCodium extension, packaged as a .vsix with the server bundled
gradle/vsharp.gradle.kts A dependency-free Gradle script plugin: apply(from = ...) and gradle build compiles your .vs sources
Native images Export GRAAL_HOME and a single-entry-point compilation also produces a native executable

Implementation status

V# is at version 0.0.93-A, language surface 4. There are no tagged releases; the project is built from source. The test suite contains 865 cases and runs as part of every build.

The project is explicit about the limits of its own verification: the suite is executed end-to-end on Linux, and the other hosts are “supported by construction rather than by assumption” — each platform-dependent decision is either computed from the running JVM or observed from the filesystem, and each is covered by the test suite, including the Windows-shaped native-image.cmd installation, the .exe image name and the musl loader search. Four single-line os.name branches and one %* in a batch file are the only code a first run on another host would exercise for the first time.

Feature-level status — every C# 13 construct, whether it is implemented, how it is lowered, and which tests cover it — is tracked in docs/FEATURE-MATRIX.md. Features listed as deliberately excluded are decisions rather than pending work.

Contributing

The repository does not yet carry a written contribution guide. In its absence, the practical route is the ordinary GitHub one:

Development resources