←back to thread

439 points david927 | 1 comments | | HN request time: 0.27s | 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 #
dahsameer ◴[] No.44420253[source]
looks super cool for some quick data filtering and manipulation
replies(1): >>44422574 #
1. tamnd ◴[] No.44422574[source]
It's been great for quickly filtering and transforming structured data like CSV and JSON. Optimizing the VM is fun too, though it sometimes comes at a cost, we once broke around 400 tests after adding peephole optimizations that changed how the IR handled control flow.