Overview
Arc-Lang is a programming language for processing data streams.
Features
- Consume and produce streams using different connectors (e.g., Kafka, TCP, files).
- Decode and encode events using different data formats (e.g., CSV, JSON, Avro).
- Interactively create dataflows that transform, filter and aggregate data through concise query syntax.
- Transparently execute programs locally or distributed.
- Inject Rust and Python code into programs.
Installation
$ git clone https://github.com/cda-group/arc -b klas/v0.1.0 --single-branch
$ cargo install --path arc/arc-lang
Usage
$ arc-lang
>> print("Hello world!");
Hello world!
An example
$ for i in {1..100}; do echo $RANDOM; done > data.csv
$ arc-lang
>> from n:i32 in source(file("data.csv"), csv())
select {result:n+1}
into sink(file("output.csv"), csv());
More
- Checkout the examples directory for working examples (more to be added soon).
- View the specification of Arc-Lang in the Arc-Lang Research Report.