4 ms·
Super super cool project! As someone who does robotics, I'm super eager to try this, and to hopefully contribute to some open-source libraries for this. A lot
by TFortunato 9y ago
Super super cool project! As someone who does robotics, I'm super eager to try this, and to hopefully contribute to some open-source libraries for this.
A lot of work in robotics involves software that maps to this style well (functional-ish, where data is being pushed through computational pipelines / graphs), and I think this could be a killer development environment for things like control systems, sensor fusion software, image processing / computer vision, etc.
The fact that it is going to be open source, and already seems to have some nice support for things foreign libraries, profiling support, and well as visualizing of your data visually (that image processing graph example!) makes me think you are going to get a good response to this. I also think there are a lot of hobbyist type projects (RasPi level 'smart home' stuff, algorithmic art / music, SDR, anything you see on Make / Hack-A-Day) who would love a tool like this!
I'm very interested in checking this out, and in contributing packages / libraries if that will be supported. Hoping to get access to the alpha!
- whowouldathunk 9y ago> A lot of work in robotics involves software that maps to this style well (functional-ish, where data is being pushed through computational pipelines / graphs), and I think this could be a killer development environment for things like control systems, sensor fusion software, image processing / computer vision, etc. LabVIEW
- TFortunato 9y agoyep, and I've used Labview (and Simulink, and other graphical editors) in the past for some of this. Why I'm excited about this is: 1) It's open source, so we can extend it and hack on it as needed. Thos is probably the biggest reason. 2) The dual textual / graphical representation is really useful in cases where you might want to switch between the two, or one makes more sense than the other. You can do some with text in some the other tools, but the last time I tried, it felt like an after thought more than something expressly designed into the language. 3) It looks to be designed as a general programming language, focussing on having a good compiler, good tooling and a nice foreign function interface. My hope is that this means we can incorporate it into our existing code bases easier than labview, where it kind of wants to stand alone. As an example, perhaps I have a large existing codebase for my robot written in C++ with ROS. Perhaps I could use this to create a new ROS node that does my vision pipeline, by taking advantage of the fact it compiles down to native code, and has a foreign function interface designed in from the start. (Or maybe I'm dreaming, but my hope is it would be easier and more performant than doing the same in Labview!) 4) Did I mention open source :-)
- wdanilo 9y agoWe would do everything we can to support such use cases. In fact we believe in the same things TFortunato. I would like, however, to emphasize some things. After the first release, connecting to foreign languages on the lowest levels (like C++ foreign interface) will be possible but very hackish. Connecting using serialized data will be of course very easy. Moreover Luna's backend to compile to machine code needs still much love and this is our biggest milestone after the release. I'm writing it just to ensure that I will not "overpromise" anything, however the described use cases are very important for us and we will support them as much as we can. Again, feel free to help us and contribute :)
- wdanilo 9y agoLabVIEW is great, however I'd love to just roughtly outline some important differences: - Luna works in a purely functional environment, which allows for much more clear and easier to understand graphs. Moreover it enables us to run computations in parallel automatically (without any input from the user, however we will be supporting it very slightly during the first OS release). - Luna allows you to convert between textual and visual representations - in both ways, always. - Luna is a real programming language, so it is not just a pack of predefined components. Every component is created out of other components (or functions, you name it), so you can always go as deep as you want or just connect functions from other languages. - Luna allows you to collaborate in many people on one, visual canvas. And much more! :)
- wdanilo 9y agoHi! I'm always very happy to hear that Luna would help in a domain that I personally don't know much about! :) I would be very happy to collaborate with you. Contributing to Luna in any form, including creating libraries is more than welcome and we will do our best to help you achieve your goals with Luna, so let's stay in touch, we are working hard to make release as fast as we can! :)
- TFortunato 9y agoThanks that sounds great! I just signed up for the mailing list, but feel free to reach out to me at any time! (my username @ gmail.com)
- wdanilo 9y agoThank you, I will! If something happens and after the release I will accidentally forget about reaching you out, just write me an mail to wojciech at luna-lang.org. I'd be more than happy to collaborate with you! :)