Rand Stats

Qwiratry

zef:wayland

Qwiratry

A Raku architecture for declarative queries and flexible data walking, suitable for trees, tables, relational structures, logic-programming environments, and anything reasonably structured and traversable.

Overview

Qwiratry provides a general-purpose query execution pipeline that separates what to query from how to walk the data. This design enables the same query to work across different data models without forcing a single semantic interpretation.

The framework is built around five core architectural groups:

Key Features

Installation

zef install Qwiratry

Or install from source:

git clone <repository-url>
cd raku-Qwiratry
zef install .

Either way, you'll need to set RAKUDO_RAKUAST=1 to run it

Quick Start

#!/usr/bin/env raku

use	lib 'lib';

use     Qwiratry::Mold::Slang;
use	Qwiratry;

my %data-structure = type => 'element', value => 42;

# Declare a transformer with molds.
transformer MyTransform {
	# Match and transform specific elements
	mold when { .<type> eq 'element' } do {
		%( |$_, transformed => True )
	}

	# Pass through by default
	mold do {
		$_
	}
}

# Apply the transformer to the tree
say MyTransform(%data-structure);

Architecture

Qwiratry's architecture enables:

Documentation

Requirements

License

Licensed under the same terms as Raku itself.

Author

Tim Nelson (wayland at wayland dot id dot au)