flx.SILQ 1.0.0-alpha.3

This is a prerelease version of flx.SILQ.
dotnet add package flx.SILQ --version 1.0.0-alpha.3
                    
NuGet\Install-Package flx.SILQ -Version 1.0.0-alpha.3
                    
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="flx.SILQ" Version="1.0.0-alpha.3" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="flx.SILQ" Version="1.0.0-alpha.3" />
                    
Directory.Packages.props
<PackageReference Include="flx.SILQ" />
                    
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 flx.SILQ --version 1.0.0-alpha.3
                    
#r "nuget: flx.SILQ, 1.0.0-alpha.3"
                    
#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 flx.SILQ@1.0.0-alpha.3
                    
#: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=flx.SILQ&version=1.0.0-alpha.3&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=flx.SILQ&version=1.0.0-alpha.3&prerelease
                    
Install as a Cake Tool

SILQ

SILQ (Simple Interpreted Language for Queries) is a lightweight, expressive language designed to query object data in a simple, human-readable way. It provides developers with a minimal, easy-to-learn scripting environment that can be quickly embedded into applications for powerful object querying—without the overhead of complex query engines.

What is SILQ for?

SILQ is ideal for:

  • Filtering and transforming in-memory objects using a natural, SQL/English-like syntax
  • Embedding dynamic, user-defined queries in your applications
  • Internal tooling, configuration, or low-overhead data transformation tasks

SILQ is inspired by SQL and LINQ, but is intentionally minimal and runtime-interpreted. It is designed to be simple, predictable, and easy to integrate.

Key Features

  • Filter collections with flexible conditions
  • Select and project fields or computed expressions
  • Count, pick the first, or pick the last matching item
  • Access nested properties with dot notation
  • Perform logical, arithmetic, and string operations
  • Use intuitive membership and comparison checks

Example Usage

Suppose you have a collection of Person objects in your .NET application:

public class Person {
    public string Name { get; set; }
    public int Age { get; set; }
    public string City { get; set; }
}

You can use SILQ to query this data:

1. Select all people over 18

from people where Age > 18;

2. Select names of people in London

from people where City == "London" select { Name };

3. Count people under 30

count from people where Age < 30;

4. Get the first person named "Alice"

first from people where Name == "Alice";

For more details, see the Specs and API documentation.

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

    • No dependencies.

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
1.0.0-alpha.3 2,532 5/16/2025
1.0.0-alpha.2 237 5/14/2025
1.0.0-alpha 235 5/13/2025