Oxide is a clean, expressive scripting language built for the modern developer. Whether you're transforming data, automating workflows, building APIs, or exploring time-based events, Oxide empowers you with elegant syntax and a practical standard library—designed to make complex operations feel intuitive.
- Why Choose Oxide?
- What Can You Do with Oxide?
- Who Is Oxide For?
- Getting Started
- Operators
- Core/Language examples
- Platform examples
Write less, do more. Concise expressions, intuitive chaining, and minimal boilerplate make Oxide a joy to use.
Built-in modules like io
, math
, http
, and more cover the essentials—without reaching for external libraries.
Use :::
to build seamless transformation pipelines—perfect for chaining, mapping, filtering, and data shaping.
Call an API, parse the response, and persist results—in a single line of code.
Inspired by functional programming, Oxide is readable, predictable, and powerful enough for real-world use without excess noise.
GET https://api.example.com/users
users = [ { name: 'Tom' }, { name: 'Sara' } ]
names = users::map(u -> u.name)
DateTime::new::plus(30::days)
let arr = [1, 2, 3, 4]
arr::filter(x -> (x % 2) == 0)::map(x -> x * 10)
- Data Engineers & Analysts — quick scripting for time and table-based operations.
- Web Developers — seamless API interactions and response transformations.
- Scripters & Hackers — ideal for automation, file operations, and glue code.
- Language Enthusiasts — a functional-style pipeline DSL with just enough structure.
cargo build --release
Artifacts will be in ./target/release/
:
oxide
– Oxide REPL / Server
cargo test
🔬 Over 800 tests (and counting) ensure Oxide's reliability and edge-case coverage.
The remainder of this document showcases categorized usage examples across Oxide's standard modules including:
io
,math
,os
,oxide
andhttp
.
To improve navigation, consider splitting the examples into separate markdown files or auto-generating docs from code annotations using a tool like mdBook
, Docusaurus
, or a custom Rust doc generator.
Oxide provides a rich set of binary operators for arithmetic, logic, assignment, comparison, bitwise manipulation, and expressive data flow. This document summarizes the available operators and their intended semantics.
Operator | Meaning |
---|---|
+ |
Addition |
++ |
Concatenation or Join |
- |
Subtraction |
* , × |
Multiplication |
/ , ÷ |
Division |
% |
Modulo |
** |
Power (Exponentiation) |
Operator | Meaning |
---|---|
= |
Assign variable |
+= |
Add and assign |
-= |
Subtract and assign |
*= |
Multiply and assign |
/= |
Divide and assign |
%= |
Modulo and assign |
&= |
Bitwise AND and assign |
⎜= |
Bitwise OR and assign |
^= |
Bitwise XOR and assign |
?= |
Coalesce and assign |
&&= |
Logical AND and assign |
⎜⎜= |
Logical OR and assign |
:= |
Declare and assign expression |
Operator | Meaning |
---|---|
& |
Bitwise AND |
⎜ |
Bitwise OR |
^ |
Bitwise XOR |
<< |
Shift Left |
>> |
Shift Right |
Operator | Meaning |
---|---|
== , is |
Equal |
!= , isnt |
Not Equal |
> |
Greater Than |
>= |
Greater Than or Equal |
< |
Less Than |
<= |
Less Than or Equal |
in |
Value is in Range or Set |
like |
SQL-style pattern match |
matches |
Regular Expression match |
&& |
Logical AND |
⎜⎜ |
Logical OR |
? |
Null⎜Undefined Coalescing |
Operator | Meaning / Use Case |
---|---|
: |
Alias (value name alias) |
:: |
Namespacing or qualified access |
::: |
Extended namespacing or chaining |
<~ |
Curvy arrow (left) |
~> |
Curvy arrow (right) |
-> |
Function application |
.. |
Exclusive Range (a..b ) |
..= |
Inclusive Range (a..=b ) |
Operator | Meaning / Use Case |
---|---|
⎜> |
Pipe Forward (`val |
⎜>> |
Double Pipe Forward (custom logic) |
cargo build --release
You'll find the executables in ./target/release/
:
oxide_repl
is the Oxide REST client / REPLoxide_server
is the Oxide REST Server