What If Control Flow Were Just Functions?

In Python, when you write if x > 5: print("big"), you’re using special syntax baked into the language. You can’t change how if works. You can’t compose it, pipe it, or partially apply it. You can’t pass if as an argument to another function. But what if you could? What if if, for, and while were just regular functions that followed the same rules as everything else? This isn’t just a theoretical curiosity—it fundamentally changes how you think about and write code. ...

October 6, 2025 · Janko

When if is just a function

In Python, when you write if x > 5: print("big"), you’re using special syntax baked into the language. You can’t change how if works. You can’t compose it, pipe it, or partially apply it. You can’t pass if as an argument to another function. But what if you could? What if if, for, while and even fn and var were just regular functions? In languages like REBOL, Red and Rye they are. ...

October 6, 2025 · Janko

Rye Tables vs Python/Pandas: A Different Way to Wrangle Data

If you’ve ever filtered a CSV in Pandas or written multiple nested for loops to group data in Python, you’ll probably find Rye’s take on the problem interesting. Rye is a small, homoiconic language inspired by Rebol and Factor. One of its most interesting value types is the Table. A first-class, immutable data structure for tabular data. Tables are mostly manipulated with pure, composable (endomorphic1) functions. By using Rye’s pipe and op-words, common wrangling tasks become small, chainable expressions. ...

September 10, 2025 · Janko