I wrote my own "proper" programming language

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

InfluxDB – Built for High-Performance Time Series Workloads
InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
www.influxdata.com
featured
Sevalla - Deploy and host your apps and databases, now with $50 credit!
Sevalla is the PaaS you have been looking for! Advanced deployment pipelines, usage-based pricing, preview apps, templates, human support by developers, and much more!
sevalla.com
featured
  1. tree-sitter

    An incremental parsing system for programming tools

    Hard agree. Even without going deep on a "serious language" there's a universe of DSLs that's mostly unexplored.

    Debuggers are the outlier in your group but there's not exactly a void for those other wishes. As just one slice, building a tree-sitter [1] grammar gives the basis for good editor integration [2], formatters [3], structural diff [4] and other dev tools. Similarly if you're expressing some form of program, mapping to LLVM IR connects your creation with a fairly extensive compiler toolchain.

    Language agnostic tooling exists, but there still needs to be some abstraction layer.

    [1]: https://tree-sitter.github.io/

    [2]: https://zed.dev/blog/syntax-aware-editing

    [3]: https://topiary.tweag.io

    [4]: https://difftastic.wilfred.me.uk

  2. InfluxDB

    InfluxDB – Built for High-Performance Time Series Workloads. InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.

    InfluxDB logo
  3. topiary

    Hard agree. Even without going deep on a "serious language" there's a universe of DSLs that's mostly unexplored.

    Debuggers are the outlier in your group but there's not exactly a void for those other wishes. As just one slice, building a tree-sitter [1] grammar gives the basis for good editor integration [2], formatters [3], structural diff [4] and other dev tools. Similarly if you're expressing some form of program, mapping to LLVM IR connects your creation with a fairly extensive compiler toolchain.

    Language agnostic tooling exists, but there still needs to be some abstraction layer.

    [1]: https://tree-sitter.github.io/

    [2]: https://zed.dev/blog/syntax-aware-editing

    [3]: https://topiary.tweag.io

    [4]: https://difftastic.wilfred.me.uk

  4. newt

    A toy dependent typed language. (by dunhamsteve)

    I wrote my own language last year[1], ending the year by doing Advent of Code in it, and then translated it to itself in early January (so it's now self-hosted). I wanted to see if I could learn how to write a dependent typed language, wanted it to be self hosted, and able to run in a browser.

    It's perhaps not a "proper" language because I targeted Javascript. So I didn't have to write the back half of the compiler. Since it's dependent typed, I had plenty of work to do with dependent pattern matching, solving implicits, a typeclass-like mechanism, etc.

    Next I may do a proper backend, or I may concentrate on the front end stuff (experiment with tighter editor integration, add LSP instead of the ad hoc extension that I currently have, or maybe turn it into a query-based compiler). Lots of directions I could go in.

    At the moment, I'm looking into lambda-lifting the `where` clauses (I had punted lambda lifting to JS), and adding tail call optimization. I lost Idris' TCO when I self-hosted, so I currently have to run the self-hosted version in `bun` (JavaScriptCore does TCO).

    [1]: https://github.com/dunhamsteve/newt

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Decoding Tree-sitter Playground Output For Fun

    1 project | dev.to | 9 May 2025
  • Diving into Tree-Sitter: Parsing Code with Python Like a Pro

    2 projects | dev.to | 6 May 2025
  • Making Sense of tree-sitter's C API

    1 project | dev.to | 5 May 2025
  • Emacs Tree-sitter custom highlighting

    2 projects | news.ycombinator.com | 2 Mar 2025
  • Highlighting Parts of Lua as Bash

    1 project | news.ycombinator.com | 28 Jan 2025