{"size": 621, "ext": "scrbl", "max_stars_repo_path": "barrel/scribblings/barrel.scrbl", "max_stars_repo_name": "crabbo-rave/barrel", "max_stars_repo_stars_event_min_datetime": "2022-03-23T03:16:47.000Z", "max_stars_repo_stars_event_max_datetime": "2022-03-23T20:22:41.000Z", "max_issues_repo_path": "barrel/scribblings/barrel.scrbl", "max_issues_repo_name": "crabbo-rave/barrel", "max_issues_repo_issues_event_min_datetime": null, "max_issues_repo_issues_event_max_datetime": null, "max_forks_repo_path": "barrel/scribblings/barrel.scrbl", "max_forks_repo_name": "crabbo-rave/barrel", "max_forks_repo_forks_event_min_datetime": null, "max_forks_repo_forks_event_max_datetime": null}
{"max_stars_count": 7, "max_issues_count": null, "max_forks_count": null, "avg_line_length": 20.0322580645, "max_line_length": 101, "alphanum_fraction": 0.7552334944}
#lang scribble/manual

@title{barrel: RPN but worse with more features}

@defmodulelang[barrel]

@section{intro}

This is a stack language that uses reverse polish notation, written as my first programming language.
It is written in @racketmodname[br/quicklang].

Its beginner friendly, and golf-free, since every eexpression must be written on a new line.

Let's start with the classic "Hello, World!":

@examples[
#lang barrel

; the line below prints the string to console
"hello world"
; the / clears the stack
/
; at the end, the first item on the stack gets returned
]

This results in:

@verbatim{
hello world
()
}