Resources

Platforms, licence, and where everything lives.

Platform support

The compiler, the CLI, the language server and the runtime are pure Java 25. There is no native code, no JNI, no shell-out and nothing to port: anywhere a JDK 25 runs, V# runs, on any architecture that the JDK supports.

Component availability and JDK 25 installation per host
Host Compiler · CLI · LSP Gradle plugin Native image (GRAAL_HOME) Get a JDK 25
Linux (glibc) ✓ ✓ ✓ apt install openjdk-25-jdk · dnf install java-25-openjdk
Linux (musl / Alpine) ✓ ✓ ✓ linked --static --libc=musl apk add openjdk25
Windows 11 ✓ ✓ ✓ produces Program.exe winget install Microsoft.OpenJDK.25
macOS ✓ ✓ ✓ brew install openjdk@25
FreeBSD ✓ ✓ ○ no GraalVM for the host — the stage is skipped, not failed pkg install openjdk25
OpenBSD △ needs a JDK 25 build for the host △ same ○ no GraalVM for the host pkg_add jdk — ports have shipped up to 21

Legend: ✓ supported · ○ not available on the host, and never an error · △ blocked only by JDK availability.

What actually differs per host

Every path- and process-shaped decision is read from the running JVM rather than assumed.

Per-host decisions and where each answer comes from
Decision Source POSIX hosts Windows
Classpath separator, path spelling File.pathSeparator : and / ; and \
Installed launcher installDist writes both bin/vsharp (#!/bin/sh) bin\vsharp.bat
java binary os.name bin/java bin\java.exe
GraalVM launcher file-name search bin/native-image bin\native-image.cmd
Native image file name observed after the build Program Program.exe
Native image linking musl loader search --static --libc=musl on musl n/a
Executable bit supportedFileAttributeViews POSIX permissions n/a

The POSIX launcher is Gradle's own #!/bin/sh start script; it needs no bash, which is what makes FreeBSD and OpenBSD ordinary rather than special.

Honest status. The suite is executed end-to-end on Linux. The other hosts are supported by construction rather than by assumption — each decision above 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.

Licence

V# is free software released under the BSD 3-Clause License, Copyright © 2026, V# Lang. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the conditions in the licence text are met.

Source and issues

Documentation

Downloads

There are no tagged releases and no binary downloads yet. V# is obtained by cloning the repository and running gradle installTools; see Getting Started.