---
title: "Examples"
output: arl::arl_html_vignette
pkgdown:
as_is: true
vignette: >
%\VignetteIndexEntry{Examples}
%\VignetteEngine{knitr::rmarkdown}
%\VignetteEncoding{UTF-8}
---
```{r setup, include = FALSE}
knitr::opts_chunk$set(collapse = TRUE, comment = "#>")
arl::register_knitr_engine()
```
These examples are complete Arl programs from
[`inst/examples`](https://github.com/wwbrannon/arl/tree/main/inst/examples/).
Each section pulls in the full source from the corresponding file, with syntax
highlighting, and links back to the repository version.
## Fibonacci
Recursive, iterative, and sequence-based Fibonacci implementations.
Source:
```{arl, code=readLines(system.file("examples", "fibonacci.arl", package = "arl"))}
```
## Quicksort
Quicksort and mergesort, with list operations and helpers.
Source:
```{arl, code=readLines(system.file("examples", "quicksort.arl", package = "arl"))}
```
## FizzBuzz
Multiple FizzBuzz variations showing control flow and list processing.
Source:
```{arl, code=readLines(system.file("examples", "fizzbuzz.arl", package = "arl"))}
```
## Macro Examples
Macro definitions, quasiquote, expansion, and DSL-style helpers.
Source:
```{arl, code=readLines(system.file("examples", "macro-examples.arl", package = "arl"))}
```
## Pipeline Macros
Threading a value through a custom pipeline macro.
Source:
```{arl, code=readLines(system.file("examples", "pipeline-macros.arl", package = "arl"))}
```
## Data Analysis
R interoperability and data transformations.
Source:
```{arl, code=readLines(system.file("examples", "data-analysis.arl", package = "arl"))}
```
## Graph Paths
BFS traversal and Dijkstra shortest paths.
Source:
```{arl, code=readLines(system.file("examples", "graph-paths.arl", package = "arl"))}
```
## Log Parser
Parsing logs, aggregating status counts, and computing averages.
Source:
```{arl, code=readLines(system.file("examples", "log-parser.arl", package = "arl"))}
```
## Sales Report
Data wrangling and CSV output using R interop.
Source:
```{arl, code=readLines(system.file("examples", "sales-report.arl", package = "arl"))}
```
## Task Runner
Dependency ordering and execution sequencing.
Source:
```{arl, code=readLines(system.file("examples", "task-runner.arl", package = "arl"))}
```