L0170 -- Data Transformations

L0170 is a Graffiticode language for transforming data, inspired by dplyr and jq. It lets you fetch, filter, manipulate, and aggregate structured data through a readable, functional pipeline syntax.

What it does

L0170 specializes in composable data pipelines. You chain operations together to fetch remote datasets and perform transformations declaratively — no imperative loops or temporary variables needed.

Key operations

  • fetch — retrieve JSON or CSV data from URLs
  • get — navigate nested structures using dot-notation paths
  • filter — retain rows matching predicates
  • select — choose or rename fields, including nested ones
  • mutate — create or compute new fields
  • group — aggregate by keys (count, sum, avg, min, max)
  • sort — order results ascending or descending
  • take — limit result sets
  • join — combine arrays via shared keys
  • flatten / unique — simplify nested structures

Sample program

A pipeline that fetches sports stats, drills into the data, filters, picks fields, and sorts:

sort 'name'
select ['player.name', 'goals']
filter {goals: {gt: 10}}
get 'top_scorers'
fetch 'https://example.com/stats.json'

Operations compose from bottom to top: fetch → get → filter → select → sort.

Links