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
- Repository: github.com/graffiticode/l0170
- License: MIT (code), CC-BY 4.0 (docs)