alescript
A language that ferments ideas into reality.
Think like a brewmaster, code like a poet.
brew hello from water, barley, hops, yeast.
A language that ferments ideas into reality.
Think like a brewmaster, code like a poet.
brew hello from water, barley, hops, yeast.
Language Primitives
Everything in alescript maps to the art of brewing. Think like a brewmaster.
Variables are brewing ingredients. Water, barley, hops, and yeast each contribute to growth rate.
brew lager from water, 1 barley, 2 hops, 1 yeast.
Values don't compute instantly โ they ferment over time, forcing strategic thinking.
wait for 5 days.
taste lager. // "12.5% ABV"
Need exact values? Let your brew mature to a precise ABV.
age lager until 5.2%.
Blend, fortify, and filter โ math expressed through brewing metaphors.
blend ipa with stout.
fortify porter by 3.
filter ipa by 2.
Functions are recipes. The last line is the return value.
recipe my_pilsner()
brew pilsner from water, barley.
age pilsner until 4.8%.
pilsner
end.
Conditionals use the brewmaster's intuition โ comparisons have ยฑ10% imprecision!
judge if ale is stronger than 5.0%:
toast "a strong ale!"
end.
Code Samples
toast "hello, world!".
brew lager from water, barley, hops, yeast. age lager until 5.2%. keg lager. wait for 3 days. taste lager. // "5.2% ABV" โ perfectly preserved
recipe fibonacci(n) brew a from water, barley. wait for 1 day. brew b from water, barley. brew temp from water. if n is 0: b else: repeat n times: relabel temp as a. blend a with b. relabel b as a. relabel a as temp. b end. end. toast fibonacci(10). // "55% ABV"
Operators
There is no subtraction in alescript. Seriously, how would that even work?
| OP | METAPHOR | DESCRIPTION | EXAMPLE |
|---|---|---|---|
| + | blend | Blending two brews together | blend lager with stout. |
| ร | fortify | Scaling up the brew | fortify porter by 3. |
| รท | filter | Weakening a beer with water | filter ipa by 2. |
Philosophy
Every line of alescript feels like poetry.
Instead of instant results, computations "brew" over time.
Every operation tells a story.
alescript isn't just a language โ it's a philosophy of brewing code with patience and mastery.
Quick start
$ git clone https://github.com/alesdrobysh/alescript.git $ cd alescript $ cargo build --release