frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

NJVL: Nim's New Intermediate Representation

https://github.com/nim-lang/nimony/blob/master/doc/njvl-spec.md
78•generichuman•3mo ago

Comments

ebb_earl_co•3mo ago
I am really only familiar with Python, in which I’m pretty sure that the .py becomes .pyc and then CPython translates .pyc into machine instructions.

How does this differ? Is an IR the same idea as Python’s .pyc?

BoingBoomTschak•3mo ago
> and then CPython translates .pyc into machine instructions.

What do you mean? CPython is a bytecode compiler and a virtual machine interpreting that bytecode. Or are you talking about the new experimental JIT?

almostgotcaught•3mo ago
strictly speaking bytecode isn't IR because typically it's not further transformed - IRs are designed to be further transformed. as with all things these aren't hard and fast rules (plenty of compilers run transformations on bytecode, and there are plenty of interpreters for some IRs).
digdugdirk•3mo ago
Nim seems to be almost a pet project of a single individual. Is that just my interpretation or is it an actual representation of reality?

If it is correct, and mostly created by one person - how? Are they a genius? Is creating your own programming language from scratch something anyone can accomplish if they just go for it?

Or is it just something that shouldn't be trusted/used for commercial purposes because it's not as "legit" as a newer language like rust for example?

It's just a weird vibe - it seems like it should be so much more popular than it is.

plainOldText•3mo ago
The main designer is Andreas Rumpf, but investigating the git commits of the new Nim reveals more people being involved. [1] Whether Andreas is a genius, I have no idea, but he has been doing compiler and language development for over 20 years [2] so he's probably extremely knowledgeable regardless.

[1] https://github.com/nim-lang/nimony/commits/master/

[2] https://en.wikipedia.org/wiki/Nim_(programming_language)

elcritch•3mo ago
The BDFL Araq is the primary creator but there's a small team of paid core developers. There's also a number of open source contributors. So it's a commercial project as well. They offer support contracts too.

> If it is correct, and mostly created by one person - how? Are they a genius? Is creating your own programming language from scratch something anyone can accomplish if they just go for it?

Creating a compiler can be one by a single person. Maintaining it is harder, especially for commercial support contracts. That's where teams are needed, and Nim has that.

However a lot of the issues many languages is overcomplicated design. Nim is ardantly a pragmatic language. NJVL is an example of that.

> Or is it just something that shouldn't be trusted/used for commercial purposes because it's not as "legit" as a newer language like rust for example?

I say it can be trusted. It's survived ~20 years. Statistically it'll likely survive another 20.

I'd say it's not too different from Zig or Elixir on the compiler and language side. There's a number companies and open source projects using it.

Sure Rust is going to be bigger but also Rust is far more complicated as a language. Similarly for packages I found there's 10 crates of varying quality and incompatible. With Nim I can take something like Pixie for images and make an image finding library in a day that outperforms opencv without struggling with crates or dev compiler features.

Nim's used at Reddit, Status IM, and more. Especially with LLMS it's pretty easy to switch languages, to make support libraries, get devs productive, etc so there's much less risk these days IMO.

> It's just a weird vibe - it seems like it should be so much more popular than it is.

It should be more popular!

A few things hold back broader adoption IMHO. A big one is that it's a "European" language as Araq and team is European which sort of distances it from the SV and HN zeitgeist. There's a lot to "hype" factor. Nim has a more of a slow and steady adoption like early Python, IMHO.

Secondly it's just found it's niche by focusing on being a systems language with reference counted memory system with excellent metaprogramming. In the past things community issues arose, or lots of people disliked case insensitivity. Those issues have mostly settled though with case insensitivity being phased out.

LSP needs improvement. Nimony is designed to solve that.

elcritch•3mo ago
It's an interesting take on an IR. It's goal is to support the current C/C++/JS backend but also to make generating native assembly easy to do as well.

It also doesn't rely on lexical scopes to do analysis for things like lifetimes, nil tracking, destructors, etc. Instead it uses the versioned variables AFICT to enable those features more directly. Should be much simpler for the compiler implementation for 99% of cases versus traditional SSA blocks.

Unfortunately I'm busy writing Nim code and not able to play with the new Nimony compiler framework. I'm excited about incremental compilation and borrow checking features though.

fuhsnn•3mo ago
The tree-like syntax interested me but unless this new layer enforces it, there's no guaranteed evaluation order among its backends[1], which IMO kind of defeat it's usability as general purpose IR.

[1] https://github.com/nim-lang/nimony/issues/792

ternaryoperator•3mo ago
That's an important point you make. A closer-to-SSA IR would have helped in the provided example by forcing the function calls to be completed before their return value being passed to the principal function. I'm surprised Araq dismissed this concern.

OpenCiv3: Open-source, cross-platform reimagining of Civilization III

https://openciv3.org/
591•klaussilveira•11h ago•173 comments

The Waymo World Model

https://waymo.com/blog/2026/02/the-waymo-world-model-a-new-frontier-for-autonomous-driving-simula...
897•xnx•16h ago•544 comments

How we made geo joins 400× faster with H3 indexes

https://floedb.ai/blog/how-we-made-geo-joins-400-faster-with-h3-indexes
93•matheusalmeida•1d ago•22 comments

What Is Ruliology?

https://writings.stephenwolfram.com/2026/01/what-is-ruliology/
20•helloplanets•4d ago•13 comments

Unseen Footage of Atari Battlezone Arcade Cabinet Production

https://arcadeblogger.com/2026/02/02/unseen-footage-of-atari-battlezone-cabinet-production/
27•videotopia•4d ago•0 comments

Show HN: Look Ma, No Linux: Shell, App Installer, Vi, Cc on ESP32-S3 / BreezyBox

https://github.com/valdanylchuk/breezydemo
201•isitcontent•11h ago•24 comments

Monty: A minimal, secure Python interpreter written in Rust for use by AI

https://github.com/pydantic/monty
199•dmpetrov•11h ago•91 comments

Show HN: I spent 4 years building a UI design tool with only the features I use

https://vecti.com
312•vecti•13h ago•136 comments

Microsoft open-sources LiteBox, a security-focused library OS

https://github.com/microsoft/litebox
353•aktau•18h ago•176 comments

Sheldon Brown's Bicycle Technical Info

https://www.sheldonbrown.com/
354•ostacke•17h ago•92 comments

Delimited Continuations vs. Lwt for Threads

https://mirageos.org/blog/delimcc-vs-lwt
23•romes•4d ago•3 comments

Hackers (1995) Animated Experience

https://hackers-1995.vercel.app/
458•todsacerdoti•19h ago•229 comments

Was Benoit Mandelbrot a hedgehog or a fox?

https://arxiv.org/abs/2602.01122
7•bikenaga•3d ago•1 comments

Dark Alley Mathematics

https://blog.szczepan.org/blog/three-points/
80•quibono•4d ago•18 comments

Show HN: If you lose your memory, how to regain access to your computer?

https://eljojo.github.io/rememory/
258•eljojo•14h ago•155 comments

An Update on Heroku

https://www.heroku.com/blog/an-update-on-heroku/
391•lstoll•17h ago•264 comments

PC Floppy Copy Protection: Vault Prolok

https://martypc.blogspot.com/2024/09/pc-floppy-copy-protection-vault-prolok.html
53•kmm•4d ago•3 comments

How to effectively write quality code with AI

https://heidenstedt.org/posts/2026/how-to-effectively-write-quality-code-with-ai/
231•i5heu•14h ago•177 comments

Why I Joined OpenAI

https://www.brendangregg.com/blog/2026-02-07/why-i-joined-openai.html
122•SerCe•7h ago•101 comments

Introducing the Developer Knowledge API and MCP Server

https://developers.googleblog.com/introducing-the-developer-knowledge-api-and-mcp-server/
45•gfortaine•9h ago•13 comments

I spent 5 years in DevOps – Solutions engineering gave me what I was missing

https://infisical.com/blog/devops-to-solutions-engineering
136•vmatsiiako•16h ago•59 comments

Show HN: R3forth, a ColorForth-inspired language with a tiny VM

https://github.com/phreda4/r3
68•phreda4•11h ago•12 comments

Understanding Neural Network, Visually

https://visualrambling.space/neural-network/
271•surprisetalk•3d ago•37 comments

Female Asian Elephant Calf Born at the Smithsonian National Zoo

https://www.si.edu/newsdesk/releases/female-asian-elephant-calf-born-smithsonians-national-zoo-an...
25•gmays•6h ago•7 comments

Zlob.h 100% POSIX and glibc compatible globbing lib that is faste and better

https://github.com/dmtrKovalenko/zlob
13•neogoose•4h ago•8 comments

I now assume that all ads on Apple news are scams

https://kirkville.com/i-now-assume-that-all-ads-on-apple-news-are-scams/
1043•cdrnsf•20h ago•431 comments

Learning from context is harder than we thought

https://hy.tencent.com/research/100025?langVersion=en
171•limoce•3d ago•91 comments

FORTH? Really!?

https://rescrv.net/w/2026/02/06/associative
60•rescrv•19h ago•22 comments

Show HN: Smooth CLI – Token-efficient browser for AI agents

https://docs.smooth.sh/cli/overview
89•antves•1d ago•66 comments

Show HN: ARM64 Android Dev Kit

https://github.com/denuoweb/ARM64-ADK
14•denuoweb•1d ago•2 comments