6 ms·
I would use strongly typed functional programming languages for everything if I could. However, to be productive, you're usually constrained by what the domina
by seanwilson 12y ago
I would use strongly typed functional programming languages for everything if I could.
However, to be productive, you're usually constrained by what the dominant language is for your domain. For example, Android apps are usually written in Java and web apps are usually written in JavaScript. Each has a huge ecosystem of tools and libraries based around these languages.
I'm sure there's some way I could use Haskell or OCaml to write Android and web apps. However, by going against the grain, it's likely to be very time consuming and frustrating to integrate with existing libraries and tools. I'm therefore going to lose any advantage I was hoping to gain from using a functional language.
- mightybyte 12y ago> I'm sure there's some way I could use Haskell or OCaml to write Android and web apps. I don't know about Android, but for Javascript apps the balance tipped for me just last month. I'm probably enough of an insider that it's not quite true yet for the average Haskell developer, but I believe that will change soon.
- seanwilson 12y agoWhat framework are you using? I've investigated Dart, Flow and TypeScript to improve static checking but I'm still having pain points: they work fine when dealing with your own self-contained code but integrating with third party libraries isn't always straightforward.
- mightybyte 12y agoI'm using GHCJS and Reflex. Reflex is a recently released FRP library that makes a huge difference in one's ability to abstract GUI code. I personally feel that this combination of GHCJS + Reflex is the first thing I've used that makes web front end programming tolerable. A week ago there was a presentation about it at the NY Haskell Meetup. Look for videos of it to be posted early next week.
- seanmcdirmid 12y agoAh, that's new! Is there any documentation on Reflex? A quick google search isn't working.
- mightybyte 12y agoIt's new, so not right now. But docs are coming. The NYHUG presentation will probably be the first thing along those lines. My company just rewrote a significant front-end app in it, so we clearly are invested in its future. In the meantime there's a #reflex-frp IRC channel on Freenode that you could use to talk to some of the people currently working with it.
- mightybyte 12y agoOh, there is the try-reflex readme. https://github.com/ryantrinkle/try-reflex/blob/master/README.md https://github.com/ryantrinkle/try-reflex/blob/master/README...
- gclaramunt 12y agoReflex looks awesome, and it's real FRP
- ryantrinkle 12y agoThanks! If you haven't seen the talk yet, take a look and let me know what you think :) https://news.ycombinator.com/item?id=9334766 https://news.ycombinator.com/item?id=9334766
- gclaramunt 12y agoYeah, I was there... I really liked it.
- codygman 12y agoI've used Purescript[0] and thermite[1] (purescript's react bindings): 0: http://www.purescript.org/ http://www.purescript.org/ 1: https://github.com/paf31/purescript-thermite https://github.com/paf31/purescript-thermite
- S4M 12y ago> However, to be productive, you're usually constrained by what the dominant language is for your domain. For the code running on the server side, you are free to use whatever you want. Are you using strongly typed FP there?
- seanwilson 12y agoIt depends on if your server side code is heavily reliant on third party libraries written in non-functional languages and which languages your team are experienced with.
- ryantrinkle 12y agoThe talk for Reflex is up now, in case you're interested: https://news.ycombinator.com/item?id=9334766 https://news.ycombinator.com/item?id=9334766