clink 1.6.0

There is a newer version of this package available.
See the version list below for details.
dotnet tool install --global clink --version 1.6.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 clink --version 1.6.0
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=clink&version=1.6.0
                    
nuke :add-package clink --version 1.6.0
                    

clink (CLInk cLINK), a CLI tool to manipulate links.

It is based on associative theory (in Russian) and Links Notation (ru)

Short description in English in what links are. And in Russian.

<img width="777" alt="Screenshot 2024-12-05 at 15 22 12" src="https://github.com/user-attachments/assets/01d35e39-4bfd-4639-a457-fa86840e2bb8" />

Install or update from NuGet

If you have .NET installed you can install clink as a global CLI tool.

dotnet tool install --global clink

Create link with 1 as source and 1 as target.

clink '() ((1 1))'

(0: 0 0) ↦ (1: 1 1)
(1: 1 1)

Create link with 2 as source and 2 as target.

clink '() ((2 2))'

(0: 0 0) ↦ (2: 2 2)
(1: 1 1)
(2: 2 2)

Create two links at the same time: (1 1) and (2 2).

clink '() ((1 1) (2 2))'

(0: 0 0) ↦ (2: 2 2)
(0: 0 0) ↦ (1: 1 1)
(1: 1 1)
(2: 2 2)

Update link with index 1 and source 1 and target 1, changing target to 2.

clink '((1: 1 1)) ((1: 1 2))'

(1: 1 1) ↦ (1: 1 2)
(1: 1 2)
(2: 2 2)

Update link with index 1 and source 1 and target 1, changing target to 2.

clink '((1: 1 1) (2: 2 2)) ((1: 1 2) (2: 2 1))'

(1: 1 1) ↦ (1: 1 2)
(2: 2 2) ↦ (2: 2 1)
(1: 1 2)
(2: 2 1)

Delete link with source 1 and target 2:

clink '((1 2)) ()'

(1: 1 2) ↦ (0: 0 0)
(2: 2 2)

Delete link with source 2 and target 2:

clink '((2 2)) ()'

(2: 2 2) ↦ (0: 0 0)
clink '((1 2) (2 2)) ()'

(1: 1 2) ↦ (0: 0 0)
(2: 2 2) ↦ (0: 0 0)
clink '((* *)) ()'

(1: 1 2) ↦ (0: 0 0)
(2: 2 2) ↦ (0: 0 0)

Complete examples:

clink '() ((1 1) (2 2))'

clink '((1: 1 1) (2: 2 2)) ((1: 1 2) (2: 2 1))'

clink '((1 2) (2 1)) ()'
clink '() ((1 2) (2 1))'

clink '((($index: $source $target)) (($index: $target $source)))'

clink '((1: 2 1) (2: 1 2)) ()'

For developers and debugging

Execute from root

dotnet run --project Foundation.Data.Doublets.Cli -- '(((1: 1 1) (2: 2 2)) ((1: 1 2) (2: 2 1)))'

Execute from folder

cd Foundation.Data.Doublets.Cli
dotnet run -- '(((1: 1 1) (2: 2 2)) ((1: 1 2) (2: 2 1)))'

Complete examples:

dotnet run --project Foundation.Data.Doublets.Cli -- '() ((1 1) (2 2))'

dotnet run --project Foundation.Data.Doublets.Cli -- '((1: 1 1) (2: 2 2)) ((1: 1 2) (2: 2 1))'

dotnet run --project Foundation.Data.Doublets.Cli -- '((1 2) (2 1)) ()'
dotnet run --project Foundation.Data.Doublets.Cli -- '() ((1 2) (2 1))'

dotnet run --project Foundation.Data.Doublets.Cli -- '((($index: $source $target)) (($index: $target $source)))'

dotnet run --project Foundation.Data.Doublets.Cli -- '((1: 2 1) (2: 1 2)) ()'
Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  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. 
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
2.2.2 296 6/13/2025
2.2.1 292 6/12/2025
2.2.0 298 6/12/2025
2.1.3 240 5/16/2025
2.1.2 181 4/6/2025
2.1.1 183 4/6/2025
2.1.0 173 4/6/2025
2.0.2 183 4/6/2025
1.8.0 128 12/21/2024
1.7.4 113 12/21/2024
1.7.3 110 12/21/2024
1.7.1 106 12/21/2024
1.7.0 110 12/21/2024
1.6.0 131 12/15/2024
1.5.0 124 12/15/2024
1.4.1 116 12/15/2024
1.4.0 124 12/15/2024
1.3.1 114 12/15/2024
1.3.0 112 12/15/2024
1.2.3 119 12/7/2024
1.2.0 127 12/7/2024
1.1.0 123 12/7/2024
1.0.1 119 12/5/2024
1.0.0 120 12/4/2024