frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

Open in hackernews

Pluto is a unique dialect of Lua with a focus on general-purpose programming

https://github.com/PlutoLang/Pluto
28•90s_dev•7h ago

Comments

90s_dev•7h ago
Basically a more convenient/intuitive Lua for JS/C/Java/C++ users, plus optional static typing. May in fact use this instead of Lua.
Imustaskforhelp•3h ago
Yea. I am definitely trying this out too. It really has some new features changes that I wished lua had.
wavemode•3h ago
Curious how this compares with Luau: https://luau.org
Rochus•1h ago
Or Luon: https://github.com/rochus-keller/Luon
tzury•2h ago
Well, this is a very poor design, one which makes me think what is the purpose of this project in the first place?

    for i = 1, 10 do -- Loop 1.
        for ii = 1, 5 do -- Loop 2.
            break 1 -- This will break from Loop 2.
            break 2 -- This will break from Loop 1.
        end
    end
https://pluto-lang.org/docs/New%20Features/Break%20Statement
sweetgiorni•2h ago
That's... interesting.
ModernMech•2h ago

  "Pluto aspires to be a version of Lua with a larger feature-set, that is all. Pluto is not a Lua-killer, an attempted successor, or any of that. Many people (rightly so) love Lua precisely because of the design philosophy. And fundamentally, Pluto is a major deviation from Lua's design philosophy. Some may prefer this, some may not."
chirsz•1h ago
I guess it is inspired by De Bruijn index[1].

[^1]: https://en.wikipedia.org/wiki/De_Bruijn_index

philsnow•1h ago
What's poor about it, the numbers in the example? Think of them as inner/outer instead of "1" and "2". Without this kind of break statement, what do you do when you want to exit the outer loop, something like this probably:

  local stop = false
  for i = 1, 10 do         -- outer loop
    if stop then break end
    for j = 1, 5 do        -- inner loop
      break                -- to break from inner loop
      stop = true; break   -- to break from outer loop
    end
  end
So this new feature fits with the general theme of pluto being a very-sugared lua.
aa-jv•13m ago
This is just poor language design.

The reason one might find this cumbersome or problematic, is in the case of very large numbers of lines of code - sure, your example is visible and somewhat readable (arguable) in its current form - but tell me you won't have issues when the loop is 80 or 100 lines of code, and you need to add another inner loop as part of the development process.

Are you now going to go through and be sure all your breaks are numbered properly? Are you really, though?

Better, imho, would have been to introduce labels and "break <label>", but even that is going to cause more headaches than its worth.

Ultimately, one shouldn't write such horrid code anyway.

gitaarik•43m ago
Seems logical to me. 1 = break the current level, 2 = break 1 level up, 3 = break 2 levels up, etc.

If you would do it the other way around, and then if you would add another for loop around the others, the breaks will break. You wouldn't expect that if you're modifying this code without looking at the current breaks or knowing about the break behavior.

If you however move the break statements inside a new for loop, at the most inner level, it would seem obvious that you have to update the break numbers.

Rochus•1h ago
Interesting, apparently the source also includes a (modified) version of the PUC Lua VM. Why don't they just generate bytecode for the existing VM and leave it as is (unless the modified version somehow would significantly increase performance)? What changes were necessary to the original VM to implement the language?
90s_dev•51m ago
Some features like break N and default function args seem to be incompatible with the vanilla lua vm.

Restoring a ZX Spectrum+ Toastrack

https://celso.io/posts/2025/06/28/toastrack/
31•rcarmo•2d ago•2 comments

YouTube No Translation

https://addons.mozilla.org/en-GB/firefox/addon/youtube-no-translation/
165•doener•1d ago•109 comments

Genetic code enables zebrafish to mend damaged organs

https://www.caltech.edu/about/news/genetic-code-enables-zebrafish-to-mend-damaged-organs
31•bookofjoe•2d ago•0 comments

I write type-safe generic data structures in C

https://danielchasehooper.com/posts/typechecked-generic-c-data-structures/
295•todsacerdoti•15h ago•109 comments

The new skill in AI is not prompting, it's context engineering

https://www.philschmid.de/context-engineering
584•robotswantdata•11h ago•291 comments

Nimtable: Open-source web UI to browse and manage Apache Iceberg tables

https://github.com/nimtable/nimtable
22•Sheldon_fun•4h ago•6 comments

People Keep Inventing Prolly Trees

https://www.dolthub.com/blog/2025-06-03-people-keep-inventing-prolly-trees/
109•lifty•2d ago•16 comments

Noloco (YC S21) Is Hiring a Founders Associate in Barcelona

https://www.ycombinator.com/companies/noloco/jobs/K7q02eV-founders-associate
1•darraghmckay•1h ago

The hidden JTAG in a Qualcomm/Snapdragon device’s USB port

https://www.linaro.org/blog/hidden-jtag-qualcomm-snapdragon-usb/
163•denysvitali•13h ago•22 comments

Aging-related inflammation is not universal across human populations

https://www.publichealth.columbia.edu/news/aging-related-inflammation-not-universal-across-human-populations
35•XzetaU8•2h ago•18 comments

Donkey Kong Country 2 and Open Bus

https://jsgroth.dev/blog/posts/dkc2-open-bus/
226•colejohnson66•17h ago•52 comments

Claude Code now supports Hooks

https://docs.anthropic.com/en/docs/claude-code/hooks
200•ramoz•8h ago•63 comments

OpenFLOW – Quickly make beautiful infrastructure diagrams local to your machine

https://github.com/stan-smith/OpenFLOW
4•x0z•1h ago•1 comments

Xfinity using WiFi signals in your house to detect motion

https://www.xfinity.com/support/articles/wifi-motion
516•bearsyankees•13h ago•350 comments

Small language models are the future of agentic AI

https://arxiv.org/abs/2506.02153
41•favoboa•4h ago•4 comments

Proton joins suit against Apple for practices that harm developers and consumers

https://proton.me/blog/apple-lawsuit
337•moose44•14h ago•362 comments

End of an Era

https://www.erasmatazz.com/personal/self/end-of-an-era.html
133•marcusestes•13h ago•37 comments

Ask HN: What Are You Working On? (June 2025)

388•david927•1d ago•1201 comments

Melbourne man discovers extensive model train network underneath house

https://www.sbs.com.au/news/article/i-was-shocked-melbourne-mans-unbelievable-find-after-buying-house/m4sksfer8
228•cfcfcf•8h ago•68 comments

GPEmu: A GPU emulator for rapid, low-cost deep learning prototyping [pdf]

https://vldb.org/pvldb/vol18/p1919-wang.pdf
38•matt_d•9h ago•4 comments

The original LZEXE (A.K.A. Kosinski) compressor source code has been released

https://clownacy.wordpress.com/2025/05/24/the-original-lzexe-a-k-a-kosinski-compressor-source-code-has-been-released/
85•elvis70•13h ago•4 comments

Show HN: A continuation of IRS Direct File that can be self-hosted

https://github.com/openfiletax/openfile
56•elijahwright_•10h ago•3 comments

Pluto is a unique dialect of Lua with a focus on general-purpose programming

https://github.com/PlutoLang/Pluto
28•90s_dev•7h ago•13 comments

Sony DTC-700 audio DAT player/recorder

https://kevinboone.me/dtc-700.html
91•naves•14h ago•72 comments

Jim Boddie codeveloped the first successful DSP at Bell Labs

https://spectrum.ieee.org/dsp-pioneer-jim-boddie
35•jnord•10h ago•0 comments

So you want to serialize some DER?

https://alexgaynor.net/2025/jun/20/serialize-some-der/
54•lukastyrychtr•3d ago•9 comments

Abstraction boundaries are optimization boundaries

https://blog.snork.dev/posts/abstraction-boundaries-are-optimization-boundaries.html
4•delifue•2d ago•1 comments

Rust CLI with Clap

https://tucson-josh.com/posts/rust-clap-cli/
78•rajman187•6h ago•67 comments

Virtue garnish: A mental hack to short-circuit bad habits

https://ledgeroflife.blog/virtue-garnishes-the-3-second-mental-hack-that-short-circuits-bad-habits/
54•blitzpoet•5h ago•26 comments

A CarFax for Used PCs; Hewlett Packard wants to give old laptops new life

https://spectrum.ieee.org/carmax-used-pcs
73•rubenbe•15h ago•80 comments