ghul.runtime 21.8.0

Prefix Reserved
There is a newer version of this package available.
See the version list below for details.
dotnet add package ghul.runtime --version 21.8.0
                    
NuGet\Install-Package ghul.runtime -Version 21.8.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="ghul.runtime" Version="21.8.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="ghul.runtime" Version="21.8.0" />
                    
Directory.Packages.props
<PackageReference Include="ghul.runtime" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add ghul.runtime --version 21.8.0
                    
#r "nuget: ghul.runtime, 21.8.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package ghul.runtime@21.8.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=ghul.runtime&version=21.8.0
                    
Install as a Cake Addin
#tool nuget:?package=ghul.runtime&version=21.8.0
                    
Install as a Cake Tool

ghūl compiler runtime library

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

This package provides:

  • internal types required by all ghūl applications
  • support for the ghūl pipe operator and fluent methods on pipes, such as filter, map and reduce
  • slice, which takes part of an array, list or string: xs |> slice(1..4). An array or a list is sliced without copying, so a later change to the source shows through
  • function combinators, in Ghul and so in scope without a use: f >> g composes left to right and f << g right to left, keeping the multi-argument stage's own arity - add >> tag composes a two-argument add with a unary tag and calls it as tagged(4, 5); curry and uncurry reshape a two-argument function in either direction; memoize(f) answers from a cache of the results f has already computed, keyed on the whole argument tuple; and apply(f, x, y) calls a function of any arity with the arguments of the call itself
  • retry(f, attempts) calls f, retrying the whole call up to the given number of times when it throws and throwing the last failure when every attempt does; the wrapped function keeps f's own arity
  • Ghul.Coroutines, cooperative coroutines: asynchronous functions returning COROUTINE[T] or COROUTINE, which one coroutine awaits as it would call a function. pause() gives up the turn, sleep(milliseconds) gives it up until a deadline, run() resumes parked coroutines one at a time, CHANNEL[T] hands values between them, and MUTEX and SEMAPHORE guard what they share. All of it runs on one thread, on a default SCHEDULER unless one is named. A coroutine can also await a task or any other awaitable: run() waits for it and resumes the coroutine on its own thread. Where that thread cannot block, such an await is reported as an error
  • MSBuild targets needed to build ghūl projects

Building a library or an executable

The targets follow the standard OutputType property:

  • Library (the .NET SDK's default when the project does not set one) builds a library. It needs no entry() function.
  • Exe or WinExe builds an executable, which needs an entry() function.

Other values are rejected. To choose directly, regardless of OutputType, set GhulLibrary to true or false.

<PropertyGroup>
  <OutputType>Library</OutputType>
</PropertyGroup>

Issues

View open issues or raise a new one.

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.
  • net10.0

    • No dependencies.

NuGet packages (4)

Showing the top 4 NuGet packages that depend on ghul.runtime:

Package Downloads
ghul.analysis.protocol

client library for the ghūl compiler's analysis-mode JSON protocol

ghul.raster

Drawing into a PNG from ghūl: antialiased strokes and circles, an affine view, axes, colour maps and stroke-font text, in managed code with no native dependency

ghul.repl

The session behind a ghūl read-eval-print loop: the accepted cells, the import prelude each new submission needs, and what a compiled cell exports. Compiles nothing and runs nothing itself, so a terminal, a browser page or a notebook kernel can host it.

ghul.repl.host

Hosts a ghūl REPL session on this machine: compiles each cell with an installed ghul.compiler, kept running as a compile server with a fallback to starting it per cell, loads the result into a load context of the session's own, and runs it.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
21.14.0 225 9/21/2026
21.13.0 1,464 9/21/2026
21.12.1 557 9/20/2026
21.12.0 470 9/20/2026
21.11.0 1,143 9/19/2026
21.10.0 95 9/19/2026
21.9.1 79 9/19/2026
21.9.0 351 9/19/2026
21.8.1 85 9/19/2026
21.8.0 80 9/19/2026
21.7.0 85 9/19/2026
21.6.0 84 9/19/2026
21.5.0 80 9/19/2026
21.4.0 757 9/19/2026
21.3.2 551 9/18/2026
21.3.1 130 9/18/2026
21.3.0 2,105 9/18/2026
21.2.1 1,127 9/17/2026
21.2.0 78 9/17/2026
21.1.1 1,616 9/12/2026
Loading failed