Live data from Hacker News

Luna – Visual and textual functional programming language

luna-lang.org

71–80 of 331 posts

Re: Luna – Visual and textual functional programming language

#71
post #55
post #44

Why implement a new language rather than a GUI on top of Idris, PureScript or similar? (That aside, very excited!)

We needed to design everything from scratch to make sure the two representations are truly interchangeable. Every design decision in the textual language needs to be backed by its visual counterpart, and we found this way of thinking impossible with any other existing language. Then there is the problem of complexity of existing, typed, functional language. We aim to make things as simple as possible, while not sacri…

I would love to emphasize one of the thoughts from @kustosz reply: our main goal is to make Luna simple and intuitive yet very powerfull. We've got super cool type system on top of purely functional language, however we put our hearts to make the syntax (both visual as well as textual) very simple and intuitive. Neither of the mentioned solutions - Idris, PureScript nor Haskell, Erlang etc are "simple" and "intuitive" to use unless you are really good programmer.

Re: Luna – Visual and textual functional programming language

#72

Earlier quoted context omitted.

I'm not sure what the idea even means, or if it really warrants a separate paradigm than OOP. Is it related to category theory? Frustrated that a 'new' paradigm got dropped on me with only a couple sentences of explanation.

It's bogus, they just wanted to use the word "category" to try and lure in FP enthusiasts.

It's not a bogus! We are FP enthusiasts and the word "category" has really strong connections to our type system. However, the name might be a little misleading so we've already changed it. Anyway, we treat our types as categories. For example 1 belongs to a singleton category 1 (thus you can write 1 :: 1) but it also belongs to category of positive numbers or all numbers in general, thus again you can write (1 :: 1 :: Nat :: Int :: Num :: *). I hope you see now connections to category theory. However the name itself, as I noted above, could be misleading so we need to change it.

Re: Luna – Visual and textual functional programming language

#73
I'd love to hear how this might be applied as a general debugger concept for CUDA and the likes. To a layman like me, CUDA's GDB debugging interface has always left a sour taste in my mouth due to the high amount of parallelism that simply can't be displayed through a debugger entailed to be used only on a single thread. I'd love to see someone working on (and I'm probably going to take a crack at it myself ;) ) not just using this interface as a language, but also as a debugging tool for other languages. Decomposition of CUDA (and other -- thinking Erlang right now especially) programs into bite-sized visualizations in order to program and debug would be invaluable for the space.

Re: Luna – Visual and textual functional programming language

#74
post #67
post #26

Hi guys! My name is Wojciech Danilo and I'm one of the founders of Luna. The timing for this news is a little unfortunate, because we are just before releasing Luna as an Open Source project! However, it's great time to answer some questions and give you a short update what has happened for the last couple months: 1. We've raised a seed round of $1M, so we can safely focus on product development and shortly on commun…

Is this intended for a general purpose programming?

Yes, it's one of our core goals! :)

Re: Luna – Visual and textual functional programming language

#75
post #26

Hi guys! My name is Wojciech Danilo and I'm one of the founders of Luna. The timing for this news is a little unfortunate, because we are just before releasing Luna as an Open Source project! However, it's great time to answer some questions and give you a short update what has happened for the last couple months: 1. We've raised a seed round of $1M, so we can safely focus on product development and shortly on commun…

Really cool you chose to do an image processing demo with the "color grading" example. That is such a natural fit for visual programming. I could see Luna fitting into a video post-production or digital asset creation pipeline for games. The combination of a visual interface and functional logic could be used to create mind-blowing custom procedural solutions! Have you given any thought as to what media libraries you might use for the final stage rendering of audio, video, bitmaps, 3d scenes, etc. Because I think it's possible it may be entirely done in HTML5 / JS...

Keep up the good work!

Re: Luna – Visual and textual functional programming language

#76
post #2

Very nice! I feel this space is under-developped. Luna reminds me a lot of Apple's Quartz Composer. Visually representing anything complex is an immense challenge, but just like code is broken down into units (files/functions/whatever), a visual tool that can provide a fractal-like representation of a system would be awesome. (I'm looking to dig deeper in this space for some pet projects.)

We feel the same way. As you have said, we use abstractions to hide complexity in text-based source files, like modules, functions etc. We do the same in the visual form. Every node in Luna is just a function, so you can "dig inside" it (by double clicking it) and see how it is defined. We hide complexity just by "collapsing" nodes together :)

Re: Luna – Visual and textual functional programming language

#78

I like to see a language that's a simple subset of ruby for example but the OO is delegated to a graphical representation (boxes for classes, arrows for methods etc..)

I'm afraid Luna is not for you then! However, I strongly doubt that visualization of OO concepts will bring you a productive environment. I also believe that the combination of functional programming and visual paradigm is the way to go here :)

Re: Luna – Visual and textual functional programming language

#79
post #41

It sounds like it wont compile to C or use LLVM, you have some kind of custom VM?

We are not going to compile to C, however we will to LLVM IR (not directly though). During the first release we will provide Luna interpreter (so yeah, some kind of custom VM). We are however already working on the backend that compiles Luna to Haskell's GHC Core (https://ghc.haskell.org/trac/ghc/wiki/Commentary/Compiler/Co...), which then gets different functional-programming related optimizations and translates to LLVM IR.
Post reply on HN