Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Hello! I'm one of the guys behind Luna. You might be right, that the first example on the website should not be connected to image processing, because it could make the reader biased. In fact any example could affect the reader in the same way. You can observe "branching" and some kind of "folds" in the second example on the website. There are no loops in Luna, because it's purelly functional language and everything can be done simply by recurrence or by using "fold" or "map" operations. As a side note - there is a startup using Luna as a core engine for image processing (flowbox.io) and a lot of movie studios around the world are testing it right now because it gives much greater power than Nuke's graphical representation. On the other hand there is a topic on sidefx forum (makers of Houdini) about incorporating Luna to Houdini to increase its power. Luna is above these domain specific use cases.

I think the most important thing here is that although VPL was introduced many years ago (like textual programming), Luna is the first language that allows switching between code and graphs on demand.



I think what you guys are doing is very interesting and I think in some ways you are on the right track, however:

> You can observe "branching" and some kind of "folds" in the second example on the website.

That is a static branch hardcoded from the GUI. That isn't branching because nothing is switching the boolean, which comes back to question of how you would switch the boolean in this structure.

> a lot of movie studios around the world are testing it right now because it gives much greater power than Nuke's graphical representation

This is a bold claim that I'm very skeptical of and my initial reaction is that this seems like a bit of a bluff. What studios are using it and what exactly are the benefits over Nuke that you're talking about?

> Luna is the first language that allows switching between code and graphs on demand.

This is far from true of course. Compositing program's file formats are essentially data flow scripting languages and Houdini's shading language allows you to look at the shader text while modifying it through a node graph.

It really does seem cool but your claims are pretty bold. If you can show off a general purpose program written like this, something that would typically be done imperatively, then that would be much more of step forward from what has been done before.


Thank you for your reply!

> That is a static branch hardcoded from the GUI. That isn't branching because nothing is switching the boolean, which comes back to question of how you would switch the boolean in this structure.

Of course. Such static, GUI hardcoded switching is a very common one when testing / prototyping solutions, but of course it gets finally parametrized by some runtime variable. The dynamic branching looks very similar, with another input connected to the switch. This additional input has a Boolean type and triggers the switch between using the first and the second input.

> This is a bold claim that I'm very skeptical of and my initial reaction is that this seems like a bit of a bluff. What studios are using it and what exactly are the benefits over Nuke that you're talking about?

I cannot provide any further information regarding Flowbox, but you can freely ask them about it. We can freely discuss Luna though. Why its superior over the graphs representations shipped with Nuke or Houdini? In contrast to those representations Luna is a real programming language, that allows you to process any kind of data, not only images or 3D geometry. It can access all system level properties (like disk or network operations). You can also define your own data structures. Moreover Luna compiles to native code, so there is no runtime overhead that comes from graph interpretation. I think that those are just few of very important differences here.

> This is far from true of course. Compositing program's file formats are essentially data flow scripting languages and Houdini's shading language allows you to look at the shader text while modifying it through a node graph.

I was using Houdini for years and I know it really well. Houdini allows for conversion between VOPs and VEX (graphs and imperative code) but not vice versa. You'll not be able to modify text and get graphical representation again.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: