Remix.run Logo
saulpw 9 hours ago

> The build-time "yacc and lex"-based level compiler, the "yacc and lex"-based dungeon compiler, and the quest text file processing previously done by NetHack's "makedefs" utility, have been replaced with Lua text alternatives that are loaded and processed by the game during play.

This is very likely a good choice for multiple reasons, but it's truly the end of an era. (NetHack predates Lua, which has been around since 1993.) Lex and yacc are dead, long live lex and yacc!

anthk 6 hours ago | parent [-]

Lua is not on base on most distros, that's sad. Also it stops being as portable.

By Amiga 68k platforms then. And maybe DOS.

Also, there no official Nethack i686 builds.

If I were them I'd try some micro-language from https://t3x.org as a pre-processor and bundle it. The T3X0 language itself can do wonders and even be ported to DOS with ease.

EDIT: ok, Lua can be portable and even they got DOS ports, this is great.

trynumber9 4 hours ago | parent | next [-]

Nethack embeds Lua 5.4.8, so you don't need it installed from a distribution's package manager. As long as your system can build C99* it can build Lua. And given that Nethack 5.0.0 is C99, this dependency is not reducing portability any further.

* Lua has a LUA_USE_C89 flag so it may be more portable than Nethack 5.0.0 at this point.

troad 2 hours ago | parent [-]

> LUA_USE_C89

How much functionality/performance does one lose with this flag? Genuine question.

(If C89 and C99 were equally performant/functional, it would seem odd to maintain two codebases when one would suffice. So I expect there are some trade-offs involved?)

bhaak 6 hours ago | parent | prev | next [-]

There are also official Amiga binaries. :)

The Amiga port was resurrected just a few weeks ago.

https://mastodon.social/@ipaschke@cyberplace.social/11625728...

6581 6 hours ago | parent | prev | next [-]

> By Amiga 68k platforms then.

https://nethack.org/v500/ports/download-amiga.html

> And maybe DOS.

https://nethack.org/v500/ports/download-msdos.html

themafia 6 hours ago | parent | prev | next [-]

The lua 5.4 sources are less than 1 megabyte in size and are MIT licensed. You can link against it but it's just as easy to directly compile it into your application directly.

B1FF_PSUVM 6 hours ago | parent | prev [-]

> Lua is not on base on most distros, that's sad. Also it stops being as portable.

Huh? Usually programs just embed a Lua interpreter, I think. Famously light.