HiLang 2.5.39
dotnet add package HiLang --version 2.5.39
NuGet\Install-Package HiLang -Version 2.5.39
<PackageReference Include="HiLang" Version="2.5.39" />
<PackageVersion Include="HiLang" Version="2.5.39" />
<PackageReference Include="HiLang" />
paket add HiLang --version 2.5.39
#r "nuget: HiLang, 2.5.39"
#:package HiLang@2.5.39
#addin nuget:?package=HiLang&version=2.5.39
#tool nuget:?package=HiLang&version=2.5.39
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 | Versions 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. |
-
.NETStandard 2.0
- FSharp.Core (>= 10.0.103)
- FsLexYacc (>= 11.3.0)
- FsLexYacc.Runtime (>= 11.3.0)
- Microsoft.CodeAnalysis.CSharp (>= 5.0.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on HiLang:
| Package | Downloads |
|---|---|
|
Hiperspace.SQL
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2.5.39 | 34 | 3/20/2026 |
| 2.5.35 | 119 | 2/27/2026 |
| 2.5.33 | 718 | 2/14/2026 |
| 2.5.32 | 2,584 | 1/30/2026 |
| 2.5.29 | 3,949 | 1/17/2026 |
| 2.5.28 | 5,664 | 12/31/2025 |
| 2.5.26 | 6,689 | 12/21/2025 |
| 2.5.21 | 8,876 | 12/10/2025 |
| 2.5.18 | 10,940 | 12/3/2025 |
| 2.5.8 | 10,426 | 11/15/2025 |
| 2.5.2 | 10,445 | 11/6/2025 |
| 2.5.1 | 10,419 | 10/23/2025 |
| 2.5.0 | 10,428 | 10/20/2025 |
| 2.4.6 | 10,443 | 9/23/2025 |
| 2.4.4 | 10,525 | 8/7/2025 |
| 2.4.2 | 10,400 | 7/28/2025 |
| 2.4.0 | 10,425 | 7/10/2025 |
| 2.3.8 | 10,410 | 7/1/2025 |
| 2.3.7 | 10,440 | 6/18/2025 |
| 2.3.4 | 10,435 | 6/5/2025 |
https://www.cepheis.com/hiperspace/20260320
# Overview
This release introduces two significant enhancements to hyperspace, to support [Mult-version concurrency control](https://en.wikipedia.org/wiki/Multiversion_concurrency_control) in **Hiperspace.DB**, and [Mermaid](https://mermaid.js.org/) [Markdown](https://en.wikipedia.org/wiki/Markdown) documentation for **#AI** agents.
## Multi-Version Concurrency Control (MVCC)
MVCC is rarely needed for normal Hiperspace transactions because it is possible to use [CQRS](https://en.wikipedia.org/wiki/Command_Query_Responsibility_Segregation) to apply a change to *elements* in Hiperspace that are invisible to other sessions (using `Horizon` filters), but this is not practical for **Cube** aggregation, where it would be possible to have inconsistent aggregates while updates are applied in real-time.
This implementation of MVCC follows the [ISO SQL](https://en.wikipedia.org/wiki/SQL) standard that every database change is enrolled in a transaction and only visible to other sessions when the *transaction* is committed and backed-out on rollback. There are no nested transactions, since the implementation (in **Hiperspace.DB**) is efficient and combined with the `@DeltaIndex` functionality for efficient point-in-time access.
For local *hiperspaces* (e.g. [Hiperspace.Rocks](Hiperspace.Rocks)) transactions are automatic, and `Rollback()` will return false
```
public bool Commit() => Commit(Transaction);
public bool Rollback() => Rollback(Transaction);
```
## MarkDown documentation with HiLang
The [HILang](HiLang) *schema* compiler generates a *Domain Specific DataBase* that can be used in a client application (including web-assembly) for object persistence either to a local hiperspace (e.g. [Hiperspace.Rocks](Hiperspace.Rocks)) or remotely using **Hiperspace.DB** either with *lazy loading* of reference or *eager loading* using `message`. Message is analogous to stored procedures that execute on the server (using message `key`) and return full object `value` in response using a shared DSDB code.
Code is generated during compilation to produce a DSDB with a number of transformations:
* Segments (many) are specialized for the Element that references them
* Aspects (one) are specialized for the Element that references them
* `@CubeFact` elements are transformed adding properties for aggregation
* `@CubeFact` elements are transformed to provide `_Cube` aggregates and `_Fact` cube cell aggregates
* `@CubeDimension` elements are transformed to include *DrillDown* to aggregates via *lazy* property
These transformations are not visible to **AI Agents** because the generated code is ephemeral (*using the Indonesian word **hilang***). For *agent-based development*, the HiLang schema can be generated to markdown files using the `%markdown` directive in source.
### Schema.md
For each `.hilang` schema file a matching `.md` file is generated containing formatted documentation in a **AI** friendly form, with a *mermaid* diagram of the data-model. This documentation file matches the structure of the `.hilang` schema
### Schema-physical.md
For each `.hilang` schema file a matching `.md` file is generated containing formatted documentation in a **AI** friendly form, with a *mermaid* diagram of the data-model. This documentation file matches the generated classes, including all the transformations referenced above
### Schema-cube.md
This markdown file contains only `_Cube` elements and the related *dimensions*
### Schema-graph.md
This markdown file contains only graph (`Node` and `Edge`) elements and a diagram of relations