Hacker News new | ask | show | jobs
by baszalmstra 2442 days ago
One of the creators here. I appreciate the upvotes but its way too soon for that. Mun is currently in the very very early stages of development. It originated out of frustrations with Lua game development at Abbey Games. Lua is a great language but lacks performance, refactoring functionality and doesn't scale well with modern technology. However, there is no real alternative when it comes to code iteration times.

I do understand some of the comments questioning the publication of a website for a programming language that isn't even finished. Our goal was to have a platform to share progress and gauge interest on the topic to further help us develop Mun. We feel like there is no point in developing a programming language in private. Instead we want to actively engage with the community while developing Mun.

The website does state that its still in very early development. Should we emphasize this more?

6 comments

From the Syntax section:

> We take inspiration from a scala of application, scripting, and systems programming languages

The word "scala" reads really oddly in that sentence; none of the English-language meanings of the word [1] fits, and to a technical reader it's just asking for confusion with the Scala language. Maybe replace with a clearer and less formal "bunch"?

The syntax shown looks very Rusty, and I believe this started as a thought experiment for Rust. Do you see value in keeping that link explicit? That is, using Mun as a prototyping language for early iteration, then "freezing" it to vanilla Rust with minimal syntax changes once happy with the result?

Also, if the goal here is fast iteration, it'd be interesting to see some ballpark figures for compilation times, which is one of Rust's major Achilles heels today.

[1] https://en.wiktionary.org/wiki/scala#English

Agree. Or, if need for something more formal, ‘range’.
Or ‘variety’ or ‘plethora’
Can I suggest that what you wrote here is actually a much better opening motivation than what’s on your site?

1) We like this thing that fits into the following use case 2) But we feel it has the following limitations 3) Which we’re planning to address like this.

I think it’s really important to establish what ecosystem slot you’re aiming at. If it makes it to others, fine.

The two things I would recommend for clarity.

State that it is not suitable for production yet. Perhaps a link to show the most advanced program that currently exists to show where the limits are.

If you are seeking donations, be clear about _who_ you are. Otherwise you could be seen as a scam project.

Thank you, we will incorporate that. Can you elaborate on what the things are you are seeking about who we are?
> Lua is a great language but lacks performance

Come again?

I was under the impression that Lua, especially luajit, were incredibly fast languages

Sure, it's quite good, but maybe they want performance closer to Rust?
Still, there's probably a way of phrasing it that doesn't make it sound (to those not in the know) like Lua is slow.
>The website does state that its still in very early development. Should we emphasize this more?

Yes the Work in Progress Part should swap its places with Pillars. And it should include "Pre Alpha" in it. So we know what stage it is in.

What does mun plan to do that will improve performance over luajit?
LuaJIT performance on PC is very fast when its using the JIT. However, on consoles and some mobile platforms JITing is not allowed due to not being allowed to write to executable memory for security reasons.

Mun compiles to machine code with LLVM so it should be very fast as well, hotloading overhead can be completely removed in builds where hotloading is not required (production builds for instance). Mun should therefor be able to run as fast as native code on all platforms.

Since Mun targets LLVM could it also be output to WASM to be using in-browser for HTML5 builds?
In theory yes, but we have to look into that some more. At this point we only target Windows, MacOS and Linux but WASM is definitely on our list.
LuaJIT is not available on every platform. Love2D for example is pretty slow on iOS, especially at computing paths etc for custom draw calls.

Defold is slightly different, still allowing Lua scripting, but not more than that, which is the appropriate place for Lua in a mobile-dominated market.

CoronaSDK uses Lua for IOS, Android, Windows and Mac. Our experience is its performance is sufficient for lots of games