p2sh 0.4.3

The p2sh Programming language interpreter
# Documentation

## Introduction

As the name suggests, p2sh is an easy-to-learn, powerful programming language
designed for packet processing. Its elegant syntax and dynamic typing, combined
with its interpreted nature, make it an ideal language for developing tools and
utilities intended for effective packet processing. It offers efficient
high-level data structures that facilitate the rapid and straightforward
creation of packet processing utilities. Often, domain-specific language
features are best represented by operators and functions intrinsic to the
language rather than by library functions, and this philosophy aligns with the
design of this language.

This language amalgamates ideas inspired by various programming languages. It
embraces the dynamic simplicity found in languages like Python, incorporates
modern features such as match expressions from Rust, and integrates functional
aspects like closures. In this language, both functions and packet objects are
treated as first-class citizens.

## Reference and tutorial

This is a work in progress, with additional features tailored for packet
processing yet to be incorporated. For a brief overview of the language's
features, you can find a quick walkthrough here.

- [Tutorial]./tutorial
- [Language Refrerence]./language

The language reference offers a more formal introduction to the supported features.
The tutorial provides hands-on examples.