r/altprog • • 22h ago

HQL (Hyper Query Language): any jq, pyspark or Kusto fans here? you might help

4 Upvotes

I've been working on HQL (Hyper Query Language), a small statically typed language built around functional expressions and data pipelines.

The basic idea is fairly conventional: values enter a pipeline, functions transform them, and the result can be collected, written somewhere, or kept as a stream.

A simple place to start is using it roughly where I might otherwise reach for awk, perl or jq.

Suppose birds.json contains some records and I want to select and transform them:

source(file("birds.json"), Json)
| filter(b => b.count > 2)
| map(b => {
    species: b.species,
    count: b.count,
})
| sort(by = b => b.species)
| target(file("popular-birds.yaml"), Yaml)

The pipeline reads JSON, filters it, constructs new records, sorts them and writes YAML.

The same thing can be used from a shell:

cat birds.jsonl | hql '
    source(stdin, Json)
    | filter(b => b.count > 2)
    | map(b => b.species)
'

This part already works. HQL currently supports the CLI/data-processing use case, reusable .hql programs, typed expressions, collections and first-class streams.

The part I'm working on now is making the same model useful for actual data plumbing (access data sources and targets are configured via shared hql.toml).

Instead of introducing a separate workflow language, external systems should just be sources and sinks. Conceptually, a Kafka → PostgreSQL pipeline should look approximately like this:

source("orders")
| filter(o => o.status == "completed")
| map(o => {
    order_id: o.id,
    customer_id: o.customer_id,
    total: o.total,
    completed_at: o.timestamp,
})
| collect(500)
| sink("analytics")

where configuration could bind:

orders     -> Kafka topic orders.v1
analytics  -> PostgreSQL table completed_orders

Named external sources and targets are part of the HQL I/O model. The current design resolves them through runtime configuration (hql.toml), while the connector/configuration layer is still being developed.

Kafka is naturally a Stream<T>. collect(500) changes that into Stream<Seq<T>>, so the PostgreSQL sink can consume batches rather than individual rows.

This is deliberately part of the type model rather than a special streaming syntax:

Order
Seq<Order>
Stream<Order>
Stream<Seq<Order>>

The same distinction applies to files and standard I/O.

A finite result can be written once:

result
| target(file("report.json"), Json)

while a stream is consumed incrementally:

events
| sink(stdout, Json)

and a stream can be batched:

events
| collect(100)
| sink(stdout, Json)

There is considerably more in the language — functions, pattern matching, Option<T>, graph traversal, semantic retrieval, executable Markdown, etc. — but I'm trying to keep the core boring: typed expressions, collections, streams and composable transformations.

The implementation is in Rust and is still small enough that fairly fundamental parts of the language and standard library are open to change.

Repo:

https://github.com/ewiger/hql

Docs:

https://hql.hypermarkdown.org/

I'm particularly interested in feedback from people who have worked with Unix text-processing tools, functional/dataflow languages, Kafka-style stream processing, PySpark/Databricks, or ETL systems.

And if you look at it and think “this is missing X”, please open a feature request rather than assuming X is intentionally absent:

https://github.com/ewiger/hql/issues

Concrete examples and awkward edge cases are especially useful. I'm interested in finding out where this model stops composing cleanly. Or where this all can lead. Ty, wbr YY


r/altprog • • 3d ago

KillSwitch: programming language for breaking LLMs and coding agents

Thumbnail github.com
14 Upvotes

r/altprog • • 7d ago

Rank — an array-oriented language for small screens, inspired by BASIC and APL

7 Upvotes

web: https://rank.viewflow.io/

A little over a month ago, inspired by old pocket computers, I started building Rank—a language I could comfortably write on my phone. I'm even thinking about making a dedicated handheld with a physical QWERTY keyboard and multi-function keys like the ZX Spectrum had

The language combines ideas from BASIC and APL: array operations, words instead of special symbols, and data-first function calls

Here is what it looks like:

rem Largest Palindrome Product
rem https://projecteuler.net/problem=4 
use sequences

Factors = 100 to 999
Products = Factors Factors outer *
Candidates = Products merge .descending
Candidates filter palindrome first print

fun palindrome X
  Text = X text
  return Text reverse equal Text
end

I'd like to try a little challenge: suggest me a programming puzzle or a small data-processing task, and I'll post a solution in Rank

Let's explore where the language a still needs more work!


r/altprog • • 15d ago

PureScript: Functional programming language that compiles to JavaScript

Thumbnail purescript.org
14 Upvotes

r/altprog • • 15d ago

Factor Overview: code-forward examples of everyday syntax, control flow, combinators, and some of the main libraries

6 Upvotes

r/altprog • • 20d ago

Tint Programming Language: a UI language that runs on WebAssembly (no hand-written HTML/CSS/JS)

Thumbnail
github.com
6 Upvotes

r/altprog • • 29d ago

TXR: "an Original, New Programming Language for Convenient Data Munging"

Thumbnail nongnu.org
10 Upvotes

r/altprog • • Sep 19 '26

Goose Programming Language | Wouter van Oortmerssen

Thumbnail
github.com
11 Upvotes

A new language from the creator of the Lobster Programming Language.


r/altprog • • Sep 18 '26

"Bend": an attempt to apply formal proofs to AI-assisted development.

Thumbnail
github.com
8 Upvotes

r/altprog • • Sep 10 '26

BQN: finally, an APL for your flying saucer

Thumbnail mlochbaum.github.io
7 Upvotes

A good choice for learning and enjoying array programming, scripting, prototyping, and number crunching at a single-CPU scale.


r/altprog • • Sep 09 '26

AutoHotkey: Automation-focused scripting language

Thumbnail autohotkey.com
1 Upvotes

r/altprog • • Aug 28 '26

ghūl programming language

Thumbnail ghul.dev
11 Upvotes

A statically typed general-purpose programming language that compiles to .NET 10


r/altprog • • Aug 19 '26

Acadia: an Elm-derived database language, with output support to PostgreSQL and SQLite

Thumbnail acadia.engineering
11 Upvotes

r/altprog • • Aug 19 '26

Monkey_v: Monkey Programming Language Implemented in V | Delta456

Thumbnail
github.com
7 Upvotes

An implementation of the Monkey Programming Language using Vlang and based on the book, Writing An Interpreter In Go.


r/altprog • • Aug 15 '26

The Kal Package Manager

Post image
10 Upvotes

Hey everyone,

A couple of weeks ago, I posted about Kal, my programming language written from scratch.

I am really happy to share a glimpse of Kal's own package manager! Kal v0.1.0 shipped with a package system that lets you add and use third party Kal packages. But, that process was completely manual. You’d have to clone the package, place it in the right directory, clone the package’s entire dependencies all by yourself, one after another. :(

The package manager changes everything. One command automates all!

Instead of being a separate executable, the package manager ships as part of the Kal interpreter itself.

Here’s what it can do:

  1. Install Kal packages from Github, or any git hosting service.
  2. Creates/Updates a project.kal file to read and write package information (analogous to package.json).
  3. Downloads all packages at the same hierarchy in parallel (yup, it’s multi-threaded).
  4. Resolves sub dependencies of the main package automatically to any depth and installs them too.
  5. Upgrades/Downgrades packages based on their git tags.
  6. Auto-resolves cyclic dependencies to prevent an infinite loop.

The Kal Package Manager will officially ship with the next Kal release. Its current source code is available on Github.

Kal: https://kal-lang.vercel.app
Github: https://github.com/KILLinefficiency/Kal
Package Manager: https://github.com/KILLinefficiency/Kal/blob/pkg/pkg.hpp

Kal is completely free & open source. You can show your support by giving the Github Repository a star.

Until the next update!


r/altprog • • Aug 12 '26

Mojo 1.0 announced

Thumbnail
mojolang.org
6 Upvotes

First heard of it a few years ago. It's since evolved into something that feels like a mix of Python and Rust; and they're leaning hard into AI applications.


r/altprog • • Jul 31 '26

Eiffel Programming Language

Thumbnail eiffel.com
13 Upvotes

The design of the language is closely connected with the Eiffel programming method, a set of principles consisting of design by contract, command query separation, the uniform access principle, the single-choice principle, the open-closed principle, and the option-operand separation principle.


r/altprog • • Jul 21 '26

Lucen: parallelize Python loops with two comments, guaranteed bit-identical to sequential(fcmv/lucen)

6 Upvotes

What My Project Does

Lucen is a source-to-source compiler that parallelizes ordinary for loops you mark with two comments:

# LUCEN START
for i in range(len(rows)):
    out[i] = expensive(rows[i])
# LUCEN END

It parallelizes a loop only when it can prove the work is safe and worth it; otherwise it stays sequential. The one guarantee, no tiers, no opt-out: a parallel run is bit-identical to the same file run as plain sequential Python (floats and container order included). Delete the comments and nothing changes.

CPU-bound work routes to processes on GIL builds and to real threads on free-threaded 3.13/3.14. Optional Rust core with a pure-Python fallback, so pip install lucen always works.

Target Audience

Anyone with CPU-bound Python loops - data processing, simulation, batch transforms - who wants their cores without rewriting to multiprocessing/joblib or reasoning about locks. It's v1.1, built correctness-first: Apache-2.0, differential/property tested, TLA+ specs, signed PyPI releases.

Comparison

  • vs multiprocessing/concurrent.futures: no manual pool/chunking/pickling boilerplate, plus a profitability gate that declines to parallelize when it wouldn't help.
  • vs joblib/Dask: no new API and no cluster - you mark the loop you already have. It's correctness-preserving local parallelism, not distributed compute.
  • vs Numba: Numba compiles numeric bodies to native code; Lucen parallelizes the loop for arbitrary Python and guarantees identical results. (Native loop-body compilation is on the roadmap.)

pip install lucen


r/altprog • • Jul 12 '26

Amber-lang: Programming language that compiles to Bash/Ksh/Zsh

Thumbnail
github.com
4 Upvotes

r/altprog • • Jul 03 '26

Fil-C (Memory Safe C): Optimized Calling Convention

Thumbnail fil-c.org
11 Upvotes

Fil-C achieves memory safety even for programs that behave adversarially


r/altprog • • Jun 24 '26

Kal: An Interpreted Programming Language built from scratch!

Thumbnail
gallery
19 Upvotes

Hey everyone!

After a roller coaster journey, I am excited to present my personal project: Kal.

Kal is a lightweight interpreted programming language that attempts at combining various paradigms of programming to give a great developer experience. It's written entirely from scratch in C++ with no third party dependencies. It's also completely free and open source distributed under GNU GPL v3 license.

Moreover, Kal can also be embedded into C++, Python and JavaScript programs to enhance your existing codebases.

(Website looks better on a bigger screen.)

Please note that this is the very first release (v:0.1.0) and Kal is still under active development (alpha).

I would really appreciate a star on the repository to help it gain greater visibility.

As a proponent of human effort, I am glad to say that Kal and its ecosystem is completely handcrafted with no AI assistance used anywhere.

One last thing, "Kal" is pronounced like "Cal" in "Calendar".

Please feel free to reach out to me regarding Kal!


r/altprog • • Jun 20 '26

wrote my first Garmin app in Monkey C and its the strangest middle ground ive coded in years

Thumbnail developer.garmin.com
4 Upvotes

r/altprog • • Jun 19 '26

An apology for quality of late, and a call for ideas

22 Upvotes

Hey all. So, I started this subreddit over a decade ago, as a place to catalog programming languages that looked interesting enough for others to take a look at. I've made the majority of posts here, and lately, I keep posting duds: mainly AI-oriented stuff that gets downvoted to oblivion. I want to apologize for that, and let you all know I haven't gone down some weird rabbit hole: I do use AI to help refine code, but otherwise still believe strongly in having good languages solve interesting problems. I also don't rely on agents, they scare me.

I guess right now, with the advent of AI-driven development, it's hard to highlight additional languages out there, that may or may not be legit in the eyes of this community. I guess I could use some help making this a better space for folks: maybe topic flairs, broader coverage of lesser-used languages. Hell, maybe you want to join as a mod & help make some of those changes. What do you want to see here these days? Let me know!

Thanks.


r/altprog • • Jun 19 '26

The XPL0 Programming Language

Thumbnail xpl0.org
7 Upvotes

Essentially a cross between Pascal and C. It looks somewhat like Pascal but works more like C.


r/altprog • • Jun 19 '26

"Clear is a programming language where your specification and implementation are the same file. If you can describe what it should do, you have already written it."

Thumbnail sahin.io
0 Upvotes