frontpage.
newsnewestaskshowjobs

Open Source @Github

fp.

Open in hackernews

Show HN: The Oct Programming Language for scientific programming

https://github.com/yuechen-li-dev/oct
3•YuechenLi•7h ago
Apologies in advance if my writing is unclear.

First, why make another programming language? This came out of my general frustration with working with MATLAB and Python during grad school as well as at work. I'm a mechanical engineer; I write Python scripts for my own use semi-regularly. My issue with Python is that while writing easy, debugging Python code I wrote is hard once the code gets big. Sharing my Python code to colleagues is very difficult as most of them are less technical on coding than I am, so asking them to setup a full Python env just to run a script is out of the question.

Then, the Two-Language Problem for scientific computing: write the prototype code in Python/MATLAB and rewrite the performance sensitive code in C++/Rust when needed. The problem is that C++ and Rust are not very easy to learn and converting from a dynamically typed language like Python to a strict, statically typed language like Rust is not easy, especially for people who are not software engineers.

The name Oct is a reference to GNU Octave and started as my concept of what Octave should have been, and the name stuck. About 75k lines of Oct code are in the repo across experiments, libraries, and examples. Pretty much all of it is written by Claude/Codex, my role is only to prevent drift/hallucinations.

Features, in no particular order:

- Function first, statically typed, both interpreted and compiled: Oct code compiles to a Go binary via MIR codegen, runs on anything that Go runs at Go speed, and inherits Go's absurd compile speed, which means that a JIT is mostly unnecessary. - The entire Go ecosystem is available for Oct if you write a wrapper around it: Oct's `IO.Xlsx` library is `excelize`, Oct's builtin plot is `gonum/plot`, Oct's benchmark profiling is pprof, Oct's C interop is CGo. - Boring syntax, easy to learn. If you know Rust/Go/C#/Swift, learning Oct would take a few hours at most. Vice versa, if you learn Oct, then you are halfway to knowing how to write Rust already; - Octest, xUnit.NET style testing framework with `[Fact]/[Theory]` and various Asserts. - Foundational SI unit built into the language and enforced by typechecker: you can't add Int<m> and Int<kg> together. Units also propagate. ```oct fn StiffnessForce(K: Matrix<Float<kg/s^2>>, u: Vector<Float<m>>) -> Vector<Float<kgm/s^2>> { return K @ u // Matrix<Float<kg/s^2>> @ Vector<Float<m>> → Vector<Float<kgm/s^2>> } ``` - You can't ignore errors, Oct is exception free and `null`/`nil`-free, all errors must be handled explicitly: `?` for propagation, `!` for unwrap, or fallible `match`. - Arrays and vector/matrix are separate but related concepts, with vectors/matrices explicitly defined as Rank 1 and 2 tensors, and Einstein notation for tensors is built into the language. ```oct let c = a[i, k] * b[k, j] ``` - Octomata, Oct's own built in control system runtime, using explicit finite state machines and utility scoring as primitives for control systems.

```oct package Main

flow DoorControl(openCmd: Bool, closeCmd: Bool, blocked: Bool) -> String { state Closed { when { case openCmd and blocked == false -> goto Opening else -> return "closed" } }

    state Opening {
        when {
            case blocked -> goto Closed
            case closeCmd -> goto Closing
            else -> return "opening"
        }
    }

    state Closing { return "closing" }
} ``` Oct is very much a work in progress, but enough jank/bugs has been fixed that hopefully it wouldn't be embarrassing to show it off now, although rough edges still expected. So, would love some feedback.

Show HN: cuTile Rust: Safe, data-race-free GPU kernels in Rust

https://github.com/nvlabs/cutile-rs
62•melihelibol•10h ago•12 comments

Show HN: VoiceDraw – Talk system design out loud, the diagrams draw themselves

https://voicedraw.com/
41•ajaypanthagani•11h ago•17 comments

Show HN: Sabela – A Reactive Notebook for Haskell

https://sabela.datahaskell.com/
37•mchav•2d ago•3 comments

Show HN: Pen and paper resource development game with an emergent world

https://www.jameshylands.co.uk/2026/06/sortis-paper-empire-game.html
22•jhylands•12h ago•1 comments

Show HN: Otty – a native and beautiful terminal emulator

https://otty.sh/
7•ilchenearly•3h ago•2 comments

Show HN: Garden of Flowers – an archive of pictorial typography before ASCII art

https://garden-of-flowers.heikkilotvonen.com/
150•california-og•1d ago•26 comments

Show HN: Fata – Spaced repetition to fight skill rot from AI coding

https://fata.dev
111•djoume•5d ago•51 comments

Show HN: Veterinarian turned founder, AI lawn diagnosis

https://grassdx.com/
73•andrewbr•1d ago•60 comments

Show HN: Azure DevOps TUI Management Style

https://github.com/elpulgo/azdo
9•elpulgo•11h ago•1 comments

Show HN: Easy text to social media cards platform

https://cards.tinygods.dev
2•danipolani•6h ago•0 comments

Show HN: machine0 – Persistent NixOS VMs You Control from the CLI

https://machine0.io
90•bwm•1d ago•35 comments

Show HN: Kage – Shadow any website to a single binary for offline viewing

https://github.com/tamnd/kage
691•tamnd•2d ago•139 comments

Show HN: The Oct Programming Language for scientific programming

https://github.com/yuechen-li-dev/oct
3•YuechenLi•7h ago•0 comments

Show HN: Numax - a portable runtime for distributed apps

https://github.com/GianIac/numax
4•gianiac•8h ago•1 comments

Show HN: Private Markets SEC Filings Index

https://search.stillhousedata.com
3•lemonlym•8h ago•0 comments

Show HN: Ctx, save tokens by loading only the relevant tools

https://github.com/stevesolun/ctx
6•stevesolun•12h ago•0 comments

Show HN: Trace – Offline Mac meeting transcripts you can flag mid-call

https://traceapp.info
202•AG342•3d ago•83 comments

Show HN: SharkClean MCP

https://github.com/a-funk/sharkclean-mcp
16•afunk•4d ago•4 comments

Show HN: Discover Wikipedia articles popular on Hacker News

https://www.orangecrumbs.com/
136•octopus143•2d ago•33 comments

Show HN: Dev-friendly native OTel: only OSS stateful, on-the-wire Observability

5•jratkevic•11h ago•1 comments

Show HN: Almost all of MonsterWriter's back end is open source

https://www.monsterwriter.com/building-linkedrecords.html
3•WolfOliver•11h ago•0 comments

Show HN: Exploiting Slack's video embeds to achieve E2EE communication

https://v1c.rocks/log/exploiting-slack-video/
31•victorio•1d ago•3 comments

Show HN: Zero Browser

https://github.com/nz366/zero_browser
11•zeron0a•1d ago•7 comments

Show HN: Microlearning apps with a TikTok-style feed to beat doomscrolling

https://usescroll.app
5•maclinz•13h ago•3 comments

Show HN: Memento – Self-hosted agentic search and LLM wiki over your email

8•georgeck•13h ago•6 comments

Show HN: Homebrew 6.0.0

https://brew.sh/2026/06/11/homebrew-6.0.0/
1474•mikemcquaid•5d ago•361 comments

Show HN: I am building a map of people who lived in the Roman Empire

https://new.roman-names.com/
210•metiscus•6d ago•49 comments

Show HN: Paca – Lightweight Jira alternative for human-AI collaboration

https://github.com/Paca-AI/paca
172•pikann22•3d ago•64 comments

Show HN: Claireon – MCP Server for Unreal Editor

https://github.com/believer-oss/claireon
9•karl_gluck•14h ago•1 comments

Show HN: git-lrc – Free, Micro AI Code Reviews That Run on Git Commit

https://github.com/HexmosTech/git-lrc
8•atomicnature•16h ago•0 comments