←back to thread

439 points david927 | 1 comments | | HN request time: 0.2s | source

What are you working on? Any new ideas which you're thinking about?
Show context
tamnd ◴[] No.44419212[source]
Repo: https://github.com/mochilang/mochi

I'm building Mochi, a small programming language with a custom VM and a focus on querying structured data (CSV, JSON, and eventually graph) in a unified and lightweight way.

It started as an experiment in writing LINQ-style queries over real datasets and grew into a full language with:

- declarative queries built into the language

- a register-based VM designed for analysis and optimization

- an intermediate representation with liveness analysis, constant folding, and dead code elimination

- static type inference, inline tests, and golden snapshot support

Example:

  type Person {
    name: string
    age: int
  }

  let people = load "people.yaml" as Person

  let adults = from p in people
             where p.age >= 18
             select { name: p.name, age: p.age }

  for a in adults {
    print(a.name, "is", a.age)
  }

  save adults to "adults.json"

The long-term goal is to make a small, expressive language for data pipelines, querying, and agent logic, without reaching for Python, SQL, and a half-dozen libraries.

Happy to chat if you're into VMs, query engines, or DSLs.

replies(5): >>44420253 #>>44422333 #>>44426351 #>>44427284 #>>44445710 #
1. snthpy ◴[] No.44426351[source]
Very cool!

This is exactly the kind of thing I've had in mind as one of the offshoots for PRQL for processing data beyond just generating SQL.

I'd love to chat some time.