Live data from Hacker News

Luna Programming Language – a small, elegant VM implemented in C

github.com

21–30 of 34 posts

Re: Luna Programming Language – a small, elegant VM implemented in C

#21
post #6

Luna looked great a year ago, since its syntax it ever-so-close to ideal. If it has momentum now, I'd invest a lot of time writing bindings to popular C libraries, an event loop, and a web framework. But it's not functional yet, or probably ever unless someone adopts it. I'm a fan of tj's other work though. I don't see how he can pump out so many quality npm packages and the like.

I wouldn't get my hopes up :D. I just moved it from luna/luna so the other guys can have the org. Other than the one guy hacking on it a little bit there isn't any work going into it. Primarily because I'm really enjoying Go, so I don't have much of a reason to work on an alt.

Hi tj, you have the power to inspire people with your ideas.

I can't believe your last submission on HN, which is about mocha, got only one point.

It gives me hope that some things arrive later in the wave, so I need just to wait for my own ideas to become popular.

Re: Luna Programming Language – a small, elegant VM implemented in C

#22
post #6

Luna looked great a year ago, since its syntax it ever-so-close to ideal. If it has momentum now, I'd invest a lot of time writing bindings to popular C libraries, an event loop, and a web framework. But it's not functional yet, or probably ever unless someone adopts it. I'm a fan of tj's other work though. I don't see how he can pump out so many quality npm packages and the like.

Take a look at Wren:

https://github.com/munificent/wren

Re: Luna Programming Language – a small, elegant VM implemented in C

#23
post #21

Earlier quoted context omitted.

I wouldn't get my hopes up :D. I just moved it from luna/luna so the other guys can have the org. Other than the one guy hacking on it a little bit there isn't any work going into it. Primarily because I'm really enjoying Go, so I don't have much of a reason to work on an alt.

Hi tj, you have the power to inspire people with your ideas. I can't believe your last submission on HN, which is about mocha, got only one point. It gives me hope that some things arrive later in the wave, so I need just to wait for my own ideas to become popular.

Thanks! Appreciate it :)

Re: Luna Programming Language – a small, elegant VM implemented in C

#24

Author here. Not sure why it was posted, but this (really old) project is basically defunct. I gave github.com/luna/* to the people creating the visual Luna language that was on HN recently. Moving it to my account must have caught someone's eye. Anyway it was just a toy project that I never had enough time/motivation to complete. I was inspired by the size of Lua's VM, but deterred by its obscurity (and lack of inli…

> I was inspired by the size of Lua's VM, but deterred by its obscurity (and lack of inline documentation), so my original goal was to create a very clean and minimal VM.

Me too, so I created Wren:

https://github.com/munificent/wren

It's about the same size as Lua, significantly faster, and much more thoroughly documented. I also like the language itself more — it's object model is more familiar to someone coming from Java/C++/C#/etc. — but that's personal preference.

... heh and then I scroll down and see two people have already mentioned Wren. I guess I'm doing a good job of branding it as the "better documented Lua". :)

Re: Luna Programming Language – a small, elegant VM implemented in C

#25

Author here. Not sure why it was posted, but this (really old) project is basically defunct. I gave github.com/luna/* to the people creating the visual Luna language that was on HN recently. Moving it to my account must have caught someone's eye. Anyway it was just a toy project that I never had enough time/motivation to complete. I was inspired by the size of Lua's VM, but deterred by its obscurity (and lack of inli…

> I was inspired by the size of Lua's VM, but deterred by its obscurity (and lack of inline documentation), so my original goal was to create a very clean and minimal VM. Me too, so I created Wren: https://github.com/munificent/wren It's about the same size as Lua, significantly faster, and much more thoroughly documented. I also like the language itself more — it's object model is more familiar to someone coming fro…

Interesting language, and looks fairly concise to write. I imagine shoehorning all numbers into doubles makes for slower integer code. Also a shame you included pervasive null.

Wren looks straightforward enough that you could have a static type system without losing any expressiveness. Have you considered that?

Re: Luna Programming Language – a small, elegant VM implemented in C

#26
post #8
post #6

Luna looked great a year ago, since its syntax it ever-so-close to ideal. If it has momentum now, I'd invest a lot of time writing bindings to popular C libraries, an event loop, and a web framework. But it's not functional yet, or probably ever unless someone adopts it. I'm a fan of tj's other work though. I don't see how he can pump out so many quality npm packages and the like.

http://crystal-lang.org/ might be a good fit for you then. Or http://nim-lang.org/ if you're flexible on syntax.

Wow this is the first I'm seeing of Nim. Goodbye, Sunday! Where did this come from...

Re: Luna Programming Language – a small, elegant VM implemented in C

#27

Another language that's basically Python 1.5...

I never dealt with Python until the 2.x series, but hasn't Python always been dynamically typed? Also, the coroutine business seems a significant difference, as Python's concurrency model has always (to my knowledge) been limited by the GIL.

Coroutines != Multithreading. Also as I understand it, GIL places limitations on Python multithreading. Please correct me if I'm wrong.

Re: Luna Programming Language – a small, elegant VM implemented in C

#28

Author here. Not sure why it was posted, but this (really old) project is basically defunct. I gave github.com/luna/* to the people creating the visual Luna language that was on HN recently. Moving it to my account must have caught someone's eye. Anyway it was just a toy project that I never had enough time/motivation to complete. I was inspired by the size of Lua's VM, but deterred by its obscurity (and lack of inli…

> I was inspired by the size of Lua's VM, but deterred by its obscurity (and lack of inline documentation), so my original goal was to create a very clean and minimal VM. Me too, so I created Wren: https://github.com/munificent/wren It's about the same size as Lua, significantly faster, and much more thoroughly documented. I also like the language itself more — it's object model is more familiar to someone coming fro…

Nice! Looks cool, I thought at first that it was this Wren: https://github.com/darius/wren, it's super compact, but not so easy to read haha.

Re: Luna Programming Language – a small, elegant VM implemented in C

#29

Earlier quoted context omitted.

> I was inspired by the size of Lua's VM, but deterred by its obscurity (and lack of inline documentation), so my original goal was to create a very clean and minimal VM. Me too, so I created Wren: https://github.com/munificent/wren It's about the same size as Lua, significantly faster, and much more thoroughly documented. I also like the language itself more — it's object model is more familiar to someone coming fro…

Nice! Looks cool, I thought at first that it was this Wren: https://github.com/darius/wren , it's super compact, but not so easy to read haha.

Oh, dang. When I first picked the name, I hunted around and didn't see if being used for anything, but I guess I missed this one. :(

Re: Luna Programming Language – a small, elegant VM implemented in C

#30

Earlier quoted context omitted.

> I was inspired by the size of Lua's VM, but deterred by its obscurity (and lack of inline documentation), so my original goal was to create a very clean and minimal VM. Me too, so I created Wren: https://github.com/munificent/wren It's about the same size as Lua, significantly faster, and much more thoroughly documented. I also like the language itself more — it's object model is more familiar to someone coming fro…

Interesting language, and looks fairly concise to write. I imagine shoehorning all numbers into doubles makes for slower integer code. Also a shame you included pervasive null. Wren looks straightforward enough that you could have a static type system without losing any expressiveness. Have you considered that?

> I imagine shoehorning all numbers into doubles makes for slower integer code.

Maybe, though in a bytecode-compiled, dynamically typed language, my hunch is that using doubles for everything is actually faster. If I had separate integer and float types, all of the arithmetic operators would have do runtime type tests to handle the different combinations and conversions.

I could be wrong, though. Either way, only having doubles definitely simplifies the VM.

> Also a shame you included pervasive null.

Yeah, it doesn't come up too often in practice. Unlike, say, JS, Wren considers it a runtime error to call a function without enough arguments. I'm not a big fan of null, but in a dynamically typed language it's sort of inevitable. It's the result type of a function with no explicit return.

> Wren looks straightforward enough that you could have a static type system without losing any expressiveness. Have you considered that?

Yes! I'm interested in trying to layer an optional type system on top of it, and I tried to design most of the language and core library such that it's amenable to that.

However, designing a type system is really hard, so I don't know how well it'll pan out. Now that the language itself is pretty far along and you can write useful programs in it, I'm hoping to start tinkering with this and see what I can come up with.

You can see the first baby steps here:

https://github.com/munificent/wrenalyzer

Post reply on HN