ghul.compiler 64.10.0

Prefix Reserved
dotnet tool install --global ghul.compiler --version 64.10.0
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local ghul.compiler --version 64.10.0
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=ghul.compiler&version=64.10.0
                    
nuke :add-package ghul.compiler --version 64.10.0
                    

ghūl compiler

CI/CD NuGet version (ghul.compiler) Release Release Date Issues License Coverage ghūl

This package contains the ghūl programming language compiler packaged as a .NET tool. It is a self-hosting compiler: the compiler itself is written entirely in ghūl.

ghūl logo icon small

Prerequisites

The compiler requires the .NET 10 SDK. It provides both the .NET 10 runtime the compiler tool itself runs on and the reference assemblies your projects build against.

Target

The compiler produces standard .NET assemblies and packages targeting .NET 10.

Getting the compiler

There are a few different ways to get the compiler - you might not need to use this package directly.

Use a ghūl .NET project template

If you initialize your project using one of the ghūl .NET project templates, the template will add the compiler to your project folder as a local .NET tool - just run dotnet tool restore to restore it.

Clone the ghūl GitHub repository template

If you create a new GitHub repo from the ghūl repository template, then the compiler will be pre-configured as a local .NET tool in your project folder - run dotnet tool restore to restore it.

Use the ghūl development container image

The compiler is pre-installed globally in the ghūl development container

Install the compiler as a local or global .NET tool

If none of the above options suits, you can manually install the compiler from this package - see below for details.

Using the compiler

Project file

The compiler expects to be driven by MSBuild using a .ghulproj project file. See the ghūl test project for a real-world example, or use one of the project templates to get started.

Source files

You'll need some ghūl source files. By convention ghūl source files have the extension .ghul, and the standard MSBuild targets will include **/*.ghul when building.

Building and running

Once you have a project file and some ghūl source files, you can use the normal .NET SDK commands to build, pack, and run your project:

dotnet build
dotnet pack
dotnet run

Runtime dependencies for ghūl applications

Applications written in ghūl require the .NET 10 runtime.

Development environment

Visual Studio Code

Visual Studio Code will give you rich language support via the ghūl VSCode language extension.

Dev container

Any container image with the .NET 10 SDK will do. Pin ghul.compiler in your project's local .NET tool manifest and the compiler will be restored automatically when the container starts. A minimal worked example is in this gist.

Basic ghūl language tutorial

For a short ghūl programming language tutorial and reference, see GHUL.md. For more ghūl language details, see the the ghūl programming language website

Manual compiler install

Local tool install

To install the compiler locally in your project folder:

dotnet new tool-manifest # if you don't already have a tool manifest file
dotnet tool install ghul.compiler # install the latest release of the compiler locally
dotnet ghul-compiler # run the compiler

A local tool install means you get a predictable compiler version on every build, provided you check in the tool manifest. It also means you can easily use different versions of the compiler for different projects on the same machine.

Global tool install

To install the compiler globally for the current user:

dotnet tool install --global ghul.compiler # install the latest release of the compiler globally
ghul-compiler # run the compiler

Gotchas

The ghūl language is sufficiently expressive and the compiler is stable enough for the compiler itself to be written in ghūl. Like any compiler it has bugs - issue reports are welcome.

Contributing

Bug reports, language questions, documentation fixes and code are all welcome. See CONTRIBUTING.md for how to build and test the compiler and how to raise a pull request, and SECURITY.md for how to report a suspected vulnerability.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last Updated
64.10.0 0 10/3/2026
64.9.3 0 10/3/2026
64.9.2 0 10/3/2026
64.9.1 0 10/3/2026
64.9.0 0 10/3/2026
64.8.0 0 10/3/2026
64.7.9 0 10/3/2026
64.7.8 82 10/2/2026
64.7.7 45 10/2/2026
64.7.6 55 10/2/2026
64.7.5 52 10/2/2026
64.7.4 46 10/2/2026
64.7.3 44 10/2/2026
64.7.2 32 10/2/2026
64.7.1 79 10/2/2026
64.7.0 45 10/2/2026
64.6.1 83 10/2/2026
64.6.0 48 10/2/2026
64.5.38 60 10/2/2026
64.5.37 42 10/1/2026
Loading failed