5 ms·
Viskell: Visual programming meets Haskell
- justinmk 11y agoHas anyone been following Lamdu[1] and can comment on its status? I had expected to hear about it more often when it was announced 2 years ago... http://www.lamdu.org/ http://www.lamdu.org/
- i336_ 11y agoTIL about this, this is very cool. FWIW, "Latest commit ... 4 days ago," so it's not dead, which is nice. (And 4 days certainly gives lots of hope!)
- windlep 11y agoThis is cool, but not really the problem I have, nor many I've talked to have when actually doing something 'real' in Haskell. (Granted we're a rare breed, actually trying to use Haskell for real-world use outside academia) Show me how much memory a program will actually use. If it uses a lot, show me why it did, and where it did. This is a solved problem for most mature languages, and the lack of tooling making it even remotely possible to figure this out in Haskell speaks volumes about how ready it is for "real world use".
- i336_ 11y agoIt might be worth starting a discussion on this subject (here or elsewhere) to make more people aware of this problem. (It was buried at the bottom of the comments here, not many people will see this)
- melloclello 11y agoUnison bears linking in this thread I think. - http://unisonweb.org http://unisonweb.org - http://unisonweb.org/2015-05-07/about.html#post-start http://unisonweb.org/2015-05-07/about.html#post-start
- VladimirGolovin 11y agoCool! I'm also working on a visual functional language conceptually similar Haskell. I'm a founder of http://www.filterforge.com http://www.filterforge.com, and I want to develop a proper (i.e. Turing-complete, strongly typed with type inference, pure, lazily-evaluated) visual language for the next major rewrite of Filter Forge. Here's what I've been able to achieve so far: A simple program (with equivalent Haskell and Racket code): http://i.imgur.com/dsNJYyx.png http://i.imgur.com/dsNJYyx.png List of strings, with element insertion GUI: http://i.imgur.com/Re64IJE.png http://i.imgur.com/Re64IJE.png A more complex program, a function definition, and some sugar for infix math: http://i.imgur.com/KoxjoOM.png http://i.imgur.com/KoxjoOM.png Fold using a lambda, with equivalent Haskell code: http://i.imgur.com/avQNHXS.png http://i.imgur.com/avQNHXS.png Complex signatures, polymorphism and typeclasses: http://i.imgur.com/cZ4KMzt.png http://i.imgur.com/cZ4KMzt.png
- baibak 11y agoSo amazing! I was searching for such a thing, sadly it is not open source, but cool anyway.
- camelite 11y agoLink to code/binary for your visual programming language? It looks cool.
- VladimirGolovin 11y agoIt's really, really far from releasable code. The examples I posted are screenshots from my mockups (made in Excel). What we have now as actual working code is a visual editor that allows to connect nodes together, a typechecker that prevent connections between different types (and invalidates / blackens existing connections if they somehow go wrong), and multi-input / variadic nodes such as lists and tuples. It's not yet executable - you can't run the program in our visual environment yet, you can only construct / typecheck them. Also, we have a metric ton of unsolved problems: function definition and signatures, deconstruction of ADT values, definition of ADTs, preview of intermediate values for each node etc.) Based on what I see right now, it will take at least a year before we have anything resembling a proper language. Also, I predict that the runtime performance will be awful.
- pjmlp 11y agoFor me visual programming adapts quite nicely to many FP concepts. I can easily imagine some graphical tool similar to digital circuits design, where the basic build modulus are the lambda calculus basis.
- agumonkey 11y agoIt might not be clear, but here's an application to generate cities 'procedurally' using data flow operators https://youtu.be/PDrALvAqsaI?t=254 https://youtu.be/PDrALvAqsaI?t=254 The possibilities of this 'paradigm' are pretty unbouded and not tied to the usual programming data types.
- VladimirGolovin 11y agoThat's not just an application for procedural cities, that's Houdini (http://www.sidefx.com/ http://www.sidefx.com/), a relatively well-known 3D modeling, animation and rendering tool based on the node-based (a.k.a. functional) approach. I investigated them, and while I found the tool itself very powerful, its language is not a proper general-purpose functional language, and I don't think it's turing-complete (if you exclude their integrated Python scripting).
- agumonkey 11y agoYeah, I didn't imply it was a tool dedicated to this task, it's just a non-traditional example of dataflow (most of the time I see signal, maybe image composition, very regular data types). You're right that the node-based part is not a proper GPFP. I just wanted to link a 'complex' application of the visual ~functional (if piping is function composition is correct) kind.
- discohead 11y agoVisual programming is always well-suited to audio synthesis, would be cool to see something like the Synthesizer library in there: https://wiki.haskell.org/Synthesizer https://wiki.haskell.org/Synthesizer
- vmorgulis 11y agoI can add Scheme Bricks: http://www.pawfal.org/dave/index.cgi?Projects/Scheme%20Bricks http://www.pawfal.org/dave/index.cgi?Projects/Scheme%20Brick...