HiLang 2.2.2

There is a newer version of this package available.
See the version list below for details.
dotnet add package HiLang --version 2.2.2
                    
NuGet\Install-Package HiLang -Version 2.2.2
                    
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="HiLang" Version="2.2.2" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="HiLang" Version="2.2.2" />
                    
Directory.Packages.props
<PackageReference Include="HiLang" />
                    
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 HiLang --version 2.2.2
                    
#r "nuget: HiLang, 2.2.2"
                    
#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.
#addin nuget:?package=HiLang&version=2.2.2
                    
Install HiLang as a Cake Addin
#tool nuget:?package=HiLang&version=2.2.2
                    
Install HiLang as a Cake Tool

HiLang

HiLang is a minimal high-level language to describe the schema of a domain, taking inspiration from protobuf (.proto models) for hierarchical structures and SQL DML for entities, relations and views.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  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. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
2.3.4 0 6/5/2025
2.2.2 137 5/5/2025
2.2.1 190 4/14/2025
2.2.0 88 3/29/2025
2.1.9 201 3/5/2025
2.1.6 100 2/15/2025
2.1.0 93 1/24/2025
2.0.0 82 1/14/2025
1.3.9 117 11/15/2024
1.3.0 107 10/5/2024
1.2.18 146 9/15/2024
1.2.16 128 9/7/2024
1.2.15 114 9/1/2024
1.2.11 97 8/6/2024
1.2.9 95 7/26/2024
1.2.8 131 7/19/2024
1.2.6 108 7/15/2024
1.2.4 127 7/4/2024
1.2.0 132 5/30/2024
1.1.37 117 5/11/2024
1.1.34 117 4/22/2024
1.1.30 125 3/24/2024
1.1.26 138 3/14/2024
1.1.23 140 2/26/2024
1.1.22 135 2/16/2024
1.1.21 181 1/11/2024
1.1.19 163 1/1/2024
1.1.17 149 12/23/2023
1.1.11 144 12/16/2023
1.1.10 147 12/6/2023
1.1.7 146 11/30/2023
1.1.5 142 11/21/2023
1.0.14-prerelease 162 8/6/2023

https://www.cepheis.com/hiperspace/20250505
# Overview
This release is concerned with asynchronous execution, particularly in a Blazor web-assembly environment where all IO must be async to avoid blocking the UI thread.  All Async functions now use underlying async functions rather that dispatching Tasks

### HiperSpace
`BatchBindAsync` and `GetAsync` now call the driver async functions

### Horizons
Horizon filters provide a mechanism to fine-grained access control, and context dependent filterning of content.  The most common filter is to provide logical `delete` to remove deleted elements from from read view, but present for update views.

Horizon now supports async filters for complex horizons that depend on other elements (that may need to be fetched over the network).

### KeyRef
`KeyRef<>` has the additional method `ValueAsync()` that will fetch a value asyncronously if needed (the value is cached for further reference)

### RefSet
`RefSet<>` has an additional method `AsAsyncEnumerable(CancellationToken cancellationToken)` that can be used to access elements asyncronously

### RefSingle
`RefSingle<>` is a special case of KeyRef for aspects (optional one-of) that is bound to the woining element so that it cane be used like a property.  `ValueAsync()` has been added for async access.

### SetSpace
`SetSpace<>` has additional functions for Async (filter, insert, update, deletem, get) operations without blocking and `AsAsyncEnumerable(CancellationToken cancellationToken)` for asyncronous access to the full set

## Hilang
The language compiler for Hiperspace domain spaces has been updated to generate code that uses async interfaces

Additional functions are provided for async access to the properties that might require network IO.  e.g.
```
entity Customer [Accounts : Account];
segment Account (...) {...};
```
will generate a storage element `CustomerAccounts` with a property `owner : Customer` to access the owner of the segment element.   `CustomerAccounts`  now has an `ownerAsync()` member that retrieves the custoemr asyncronously

This release extends the `Hipperspace` model to better support streaming aggregation of Cube and viewing of aggregates part of graph view.  It also updated `SessionSpace` to use stream replication rather than Zip file compression.