This is the repository for the work-in-progress compiler for the Draco programming language, a new .NET programming language under development. If you want further details on the language itself or want to contribute ideas, head over to the language suggestions repository.
You can either use the online playground, or you can play with it locally. To install it from NuGet or right from source, look at the instructions below.
Note, that this might not reflect the latest developments, as we don't release too frequently until we hit a stable point, which hopefully will be the 1.0 milestone.
dotnet new install Draco.ProjectTemplates
in a terminal. This installs dotnet project templates for the Draco language.dotnet new console --language draco
to create a new Draco project. This is a regular .NET project, you will find yourprojectname.dracoproj
file and main.draco
file there. The projectfile references the SDK and MSBuild will automatically pull this for you on the first run. If you really want, you can even skip installing the project templates by making a new projectfile and referencing Sdk="Draco.Sdk/<version>"
there.dotnet
commands should work as expected. You can build with dotnet build
, or directly run with dotnet run
..draco
extension in VS Code, you will be prompted with a message to install the Draco language server. Click yes. This will install the language server as a global .NET tool. If you run, you will also be prompted if you want to install the debug adapter, allowing you to debug Draco programs from VS Code.We also have an extension for NeoVim, you can find a tutorial on how to install it here.
Installing everything from source should also be relatively easy, as we made PowerShell scripts that you can find in the scripts
folder. If you are not on Windows, most of the script should be trivially executable by hand. We are still looking into how to make these scripts completely cross-platform without needing to duplicate them.
install_toolchain.ps1
and specify a folder where you want to install the SDK. This will build and install the SDK into that location. For example, you can install it into the examples
folder to run them on your source-built SDK.install_langserver.ps1
install_debugadapter.ps1
install_vscext.ps1