frontpage.
newsnewestaskshowjobs

Open Source @Github

fp.

Open in hackernews

LuaJIT 3.0 proposed syntax extensions

https://github.com/LuaJIT/LuaJIT/issues/1475
60•phreddypharkus•1h ago

Comments

pansa2•1h ago
So is LuaJIT resuming active development after a decade or so of only maintenance? Great!

A lot of these changes make sense (although some of them are a bit too TIMTOWTDI for my taste) - but perhaps LuaJIT 3 would benefit from a change of name as well? Certainly with all these changes, it would be more like a separate language than merely a JIT-compiled version of Lua.

201984•1h ago
>TIMTOWTDI

What on earth is this supposed to mean?

matheusmoreira•1h ago
There is more than one way to do it.
Twirrim•1h ago
There Is More Than One Way To Do It.

That takes me back a bit. It's a perl-ism. I used to think it was a great design feature but I've come to strongly prefer "There should be one way to do it, and it should be obvious"

201984•1h ago
Interesting, thank you.
ricardobeat•1h ago
I see JavaScript.

Some of these really look like QoL improvements. I'm not convinced ternary statements are an ergonomic improvement in particular. The examples given don't make a compelling case, 'visually tidy' is not the same as readable.

nine_k•44m ago
Worse, I see C (as in ! or &&), and Perl (as in manifestly more than one way to do it).

There are real improvements though, such as ?. and ??= that help with default-nullable everything.

Ternary is very useful, but it I'd rather see it implemented idiomatically:

  pos += (if forward then +1 else -1)
Structural pattern-matching could be fantastic, but no syntax is suggested.
matheusmoreira•1h ago
Looks like LuaJIT is really going to fork away from Lua this time. After these changes, it won't be a compatible Lua 5.1 implementation anymore, it will be a new language.

So shouldn't it have a new name?

a_t48•42m ago
It could be opt in.
sourcegrift•15m ago
Are there any rough estimates on popularity of lua implementations? At this point it feels lua means luajit
latenightcoding•11m ago
not even close, because there are a lot of places where you can't run LuaJIT
3eb7988a1663•1h ago
Never will I understand ternary operators. As soon as you introduce it, some chuckle heads want to use them everywhere. Worse if the syntax allows nested ternarys. I guess it keeps the language open for code golfing, but it otherwise seems like redundant syntax that at best saves a few characters.
201984•1h ago
Lua basically already has ternary operators anyway since "and" and "or" short circuit. I also don't see the need of adding additional syntax for it.

  local x = condition ? value_a : value b
  local x = condition and value_a or value_b
matheusmoreira•1h ago
> The classic Lua idiom a and b or c has a pitfall when b is nil or false: then c is returned, even when a is truthy.

> E.g. true and false or 42 returns 42, whereas true ? false : 42 returns the (expected) false.

Gualdrapo•1h ago
I guess for the JS case it makes sense to be able to shave a few characters for file shrinking purposes, but generally I'm more biased to code clarity and "self-explainability"
demilicious•1h ago
That’s why “if” should just be an expression
matheusmoreira•59m ago
linzhangrun•1h ago
I thought luajit had completely stopped feature updates
bawolff•1h ago
+= and ..= are things i find i'm constantly missing in lua.

Personally im a fan of introducing ternaranary operator in lua. Everyone uses `x and y or z` as a ternanary which i find way more confusing than ?:

le-mark•1h ago
I’m confused I thought Mike Pall left luajit and Laurence Tratt took over as maintainer?
Heliodex•56m ago
A comment <https://github.com/LuaJIT/LuaJIT/issues/1475#issuecomment-47...> has already been made on the issue regarding the ternary operator, recommending `if x then y else z` over `x ? y : z`. This is exactly how it's done with if-then-else expressions in Luau <https://luau.org/syntax/#if-then-else-expressions>, another language compatible with Lua, and makes it a ton easier to nest (especially with elseif) and I believe still easier to read than `y if x else z`.
mjcohen•36m ago
The ternary operator is easy to nest if you put each clause on a separate line. Then it looks just like nested if-then-else.
edoceo•5m ago
I love the ternary operator as much as anyone. But dang if it doesn't get hard to read when there is are a few, nested even.

Does that operator compile to faster assembly that if I make the same logic with verbose `if` logic? Is that a language specific outcome?

larrry•48m ago
I would love to see all of these come to LuaJIT (and love2d to support the new version too). It’s nice that Lua is simple, the syntax changes should hopefully make Lua code even simpler to read too
Rohansi•40m ago
> It’s nice that Lua is simple, the syntax changes should hopefully make Lua code even simpler to read too

But which Lua?

Lua as implemented by LuaJIT is a fork of the language at this point. It's not fully compatible with PUC Lua (the reference implementation) and LuaJIT does not support features from the latest Lua version.

sourcegrift•20m ago
What are some pragmatic embedded scripting languages of choice these days if one has to consider:

1) Ease of learning, ideally minimal deviant behaviour (eg i consider lua tables to be a new concept in itself)

2) Reasonably fast. Not as much as lua jit but even half would be good enough

3) Mature

4) Has Rust bindings

JSR_FDED•18m ago
Cool to see this - ergonomic syntax will make it easier to recommend Lua. Hope the PUC team aligns with this.

Also, I love this kind of pragmatism:

> Exponentiation assignment a ^= b has been deliberately omitted to avoid a predictable pitfall: this is how xor assignment is written in most other computer languages. Also, a syntax for exponentiation assignment is rarely asked for.

A ‘defer’ for closing files or deleting temp files at the end of a script will make life more enjoyable.

kibwen•18m ago
Please don't, inscrutable bitwise operators are an accident of the past even in systems languages, let alone in a scripting language. I'm not against infix operators for bitwise operations, just please spell them out with keywords rather than giving them sigils.

Likewise, going from `and` and `or` to `&&` and `||` would be a dispiriting regression. This is something that Zig got right.

JSR_FDED•12m ago
The btiwise operators library doesn’t go away
JSR_FDED•14m ago
What’s the Lua/LuaJIT story these days for bundling up all the scripts of an application into a single file? Is there a way to do the super convenient go-like thing?
This is the best answer in my opinion. Ternary is just sugar for an expressive if. LuaJIT seems to be focusing on adding new syntax though, maintainer might not be amenable to updating existing semantics.
hiccuphippo•1h ago
I find it most useful in languages that have non-mutable variables and you want to avoid a mutable variable or an extra function when the value comes from a simple condition.

Satteri: A Markdown pipeline forged in Rust for the JavaScript world

https://satteri.bruits.org/
1•handfuloflight•2m ago•0 comments

Show HN: Drive your already-logged-in Chrome from any AI agent

https://github.com/leeguooooo/chrome-use
1•leeguoo•2m ago•0 comments

Medical students are using popular research tool to pump out misleading studies

https://www.science.org/content/article/medical-students-are-using-popular-research-tool-pump-out...
1•rndsignals•4m ago•0 comments

Chinese scientists unveil glowing Avatar-like plants that could light cities

https://www.euronews.com/next/2026/04/02/chinese-scientists-unveil-glowing-avatar-like-plants-tha...
2•thunderbong•6m ago•0 comments

Are you better than the screen watchers?

https://sailsandcommas.com/2026/05/30/are-you-better-than-the-screen-watchers/
1•Curiositry•15m ago•0 comments

Cloudflare launched self-managed OAuth for all

https://blog.cloudflare.com/oauth-for-all/
1•terryds•16m ago•1 comments

Libaui – Tk clone in XCB and C

https://github.com/onanaxm/libaui
2•onuelito•18m ago•0 comments

Zombie unicorns are haunting Silicon Valley

https://www.economist.com/business/2026/06/21/zombie-unicorns-are-haunting-silicon-valley
1•andsoitis•18m ago•1 comments

Electronics can now be printed onto living tissues

https://www.economist.com/science-and-technology/2026/06/24/electronics-can-now-be-printed-onto-l...
2•andsoitis•20m ago•0 comments

Scbkr – an owner-signed responsibility-chain workbench for local LLMs

https://github.com/HIJO790401/scbkr-local-responsibility-model
1•look888•21m ago•0 comments

SystemVerilog

https://en.wikipedia.org/wiki/SystemVerilog
1•handfuloflight•27m ago•0 comments

Accidental Anonymity

https://macwright.com/2026/06/24/accidental-anonymity
1•maxutility•29m ago•0 comments

Mr. Big (Police Procedure)

https://en.wikipedia.org/wiki/Mr._Big_(police_procedure)
2•killingtime74•31m ago•0 comments

Duolicious – Open-source dating app

https://github.com/duolicious/duolicious
2•roger_penrose•31m ago•0 comments

TronBrowser is an open-source, privacy-first, AI-native web browser

https://tronbrowser.dev/
1•buffer_overlord•33m ago•1 comments

Remembering the life and artwork of Ron Spears

https://magic.wizards.com/en/news/feature/remembering-the-life-and-artwork-of-ron-spears
1•WalterGR•42m ago•0 comments

Writers and Drugs

https://lithub.com/are-writers-intrinsically-vulnerable-to-alcohol-and-drugs/
3•dang•44m ago•1 comments

The effortless genius of Super Mario 64

https://ravi64.com/messi-effortless-genius-super-mario-64/
1•merlioncity•47m ago•0 comments

Paintings by Adolf Hitler

https://en.wikipedia.org/wiki/Paintings_by_Adolf_Hitler
3•num42•50m ago•0 comments

Bible as RAG Database

https://www.crosscanon.com/
25•jacksonastone•51m ago•12 comments

Bitcoin hits 20-month low as market sentiment sours

https://www.ft.com/content/41d1da8f-e1a8-4953-9d89-a8caa84cd26c
7•1vuio0pswjnm7•52m ago•0 comments

The Microsoft Store on Windows 11 is great now (2025)

https://www.windowscentral.com/microsoft/windows-11/the-microsoft-store-on-windows-11-is-actually...
1•kristianp•53m ago•0 comments

Golden Boot – Club Impact Tracker

https://golden-boot-club-impact.vercel.app/
2•saq7•56m ago•1 comments

Tech companies dealing with data center protests locally fighting losing battle

https://fortune.com/2026/06/22/data-center-opposition-goes-national-despite-only-8-percent-living...
2•1vuio0pswjnm7•56m ago•0 comments

Exploring the internal representations of Pangram 3.3.2

https://www.pangram.com/pangram-space
8•krackers•57m ago•1 comments

The Harvard Data Nerd Defending America's Goal at the World Cup

https://www.wsj.com/sports/soccer/matt-freese-goalkeeper-usa-world-cup-495d3f0a
1•pondsider•57m ago•0 comments

The Carwash Problem: Why Your IT Organization Isn't Ready for AI-Generated Code

https://atkatana.com/blog/hyper-loops-draft.html
1•atkatana•1h ago•0 comments

World-first burn treatment performed at leading Canadian hospital

https://www.hamiltonhealthsciences.ca/share/news-world-first-burn-15june26/
2•BiraIgnacio•1h ago•0 comments

Europe Became the World Champion of Heat Deaths

https://maartenboudry.substack.com/p/how-europe-became-the-world-champion
2•osnium123•1h ago•0 comments

Calling everything AI-generated is lazy

https://00f.net/2026/06/25/stop-calling-everything-ai-generated/
4•anotherevan•1h ago•1 comments