Live data from Hacker News

Why Go Rocks for Building a Lua Interpreter

zombiezen.com

1–10 of 61 posts

Re: Why Go Rocks for Building a Lua Interpreter

#2
I know the author starts the post by saying he won't explain the reasons why he had to write a new Lua interpreter from scratch, but I'm still curious about that. Does anyone know? I dug through some of the links in the post and couldn't find the answer.

Re: Why Go Rocks for Building a Lua Interpreter

#3
post #2

I know the author starts the post by saying he won't explain the reasons why he had to write a new Lua interpreter from scratch, but I'm still curious about that. Does anyone know? I dug through some of the links in the post and couldn't find the answer.

This is exactly the part I got hung up on, too.

    The exact reasons aren’t important for this blog post, but neither the reference implementation [...] nor the other open source Go Lua intepreters I could find were a good fit for my needs.
I'm intrigued because presumably the shortcomings of the other implementations are important to how they chose to implement Lua here.

Re: Why Go Rocks for Building a Lua Interpreter

#4
post #2

I know the author starts the post by saying he won't explain the reasons why he had to write a new Lua interpreter from scratch, but I'm still curious about that. Does anyone know? I dug through some of the links in the post and couldn't find the answer.

It's for zb, a Bazel-inspired build system that uses Lua instead of Starlark (stripped down python).

Re: Why Go Rocks for Building a Lua Interpreter

#5
post #2

I know the author starts the post by saying he won't explain the reasons why he had to write a new Lua interpreter from scratch, but I'm still curious about that. Does anyone know? I dug through some of the links in the post and couldn't find the answer.

From the article:

    My Lua data types have a notable difference from C Lua: an ability to be “frozen”.

Re: Why Go Rocks for Building a Lua Interpreter

#6
post #2

I know the author starts the post by saying he won't explain the reasons why he had to write a new Lua interpreter from scratch, but I'm still curious about that. Does anyone know? I dug through some of the links in the post and couldn't find the answer.

It's for zb, a Bazel-inspired build system that uses Lua instead of Starlark (stripped down python).

Zb: An Early-Stage Build System - https://news.ycombinator.com/item?id=41595310 - Sep, 2024 (125 comments)

and the beta announcement was also recently submitted, but without commentary https://news.ycombinator.com/item?id=44290692

Re: Why Go Rocks for Building a Lua Interpreter

#8
Well done, writing interpreters is fun!

I’m not really sold on why Go would be a particularly good fit for the task, compared to other languages. Seems to be mostly “interfaces are useful for interpreters, and GC means I don’t have to care about memory management” - both of which are true but hardly specific to Go. There’s some form of interface in almost every mainstream language, I think the implementation would be pretty much the same in any GCd language

Re: Why Go Rocks for Building a Lua Interpreter

#10
post #2

I know the author starts the post by saying he won't explain the reasons why he had to write a new Lua interpreter from scratch, but I'm still curious about that. Does anyone know? I dug through some of the links in the post and couldn't find the answer.

Given this is going to be used as a scripting language for a build system, it's possible they are trying to implement a restricted subset of Lua rather than than the full language.
Post reply on HN