4 ms·
Project creator here (and kind of surprised to see Opa as news). Reading the different comments, I must say that Opa is still active (although we lack resource
by hbbio 11y ago
Project creator here (and kind of surprised to see Opa as news).
Reading the different comments, I must say that Opa is still active (although we lack resources to animate the community). We are a small French startup meaning that I get to spend 50% of my time struggling with administration, and our evangelism resources are not compatible to those of companies like Meteor (and btw, Opa predates Meteor by a while).
Currently, we use Opa to build a secure communication application, named PEPS :
https://github.com/MLstate/PEPS https://github.com/MLstate/PEPS
which is a good example of a "big" and open source application written in Opa. Note also that bringing a new language (or framework) from toy examples to real apps is definitely not easy.
Overall, quite glad to see that many things we introduced in Opa ("JSX" syntax, CPS-transforms, etc.) are becoming more prevalent, especially thanks to ES6. Indeed, adapting Opa to ES6, which we are looking at right now, would enable existing applications to use the latest ES6 features without changing the app code.
That was one of the goal of the project: Opa was meant to be a "good way" to write applications, letting the compiler choose a target platform and write code for it.
Opa is still relevant today, as a "good quality" (especially in terms of safety -- and if you are interested in certified applications like common criteria, please contact me: Opa is relevant in that space) "one-stop shop" to build develop web apps or services. Remind that when we started a few years ago, many were criticizing that we use a functional programming language, were telling us that nobody wants static typing, etc. (that was before Hack which helped a lot in popularizing the feature -- and Opa too is written in OCaml).
And Opa has a future. The way the compiler is written, it's not that hard to have it compile the same application code into cloud platforms, including a lot of Amazon Lambdas...
- rufugee 11y agoAs someone who has tried to replace gmail with Zimbra, Roundcube and others over the years, PEPS looks interesting. How production ready is it? What features would you say it's lacking?
- hbbio 11y agoThanks for your message. We maintain a roadmap: https://github.com/MLstate/PEPS/wiki/Roadmap https://github.com/MLstate/PEPS/wiki/Roadmap Thanks to Opa (possibly due to that fact that we know how to use it at its best), we are able to develop features very quickly. I would say that what we need most is to optimize the UX and little details that matter to refine them over time. But overall, I think we can go technically much farther that Zimbra/Roundcube. But to achieve more popularity, we will need to beef up some marketing aspects!
- nickpsecurity 11y agoMainstream developers often make such a mistake as they chase fads: just don't worry about them. Your focus is a niche with less press anyway. My specialty high assurance systems & security. I like your language because it's safe like ML, extends that to Web stuff, doesn't treat DB's like an afterthought, and integrates whole stack without the mess of mainstream stuff. I'd expect Opa apps to be more robust than average web app. The only thing I didn't like is you porting the backend to Javascript, a step backward in assurance. Hard enough to do an EAL7, JavaCard VM or non-optimizing C compiler. A Javascript implementation might be a PhD's worth of work. Yet, I understand why you did it and it made some sense for your market. I'm sure people wanting more assurance could always modify the backend to target something simpler, right? Your main competition, that I see, are Ur/Web and the Ocaml/Haskell frameworks. I recommend that you continue doing what you're doing while copying any great things you see in those communities along the way. Especially ways to leverage type system to prevent problems. I think just good marketing, library support, fixing some of what people are griping about, and some major success stories in the media is all you need. Best wishes on your work as it's one of rare few that leans toward a Correct-by-Construction approach to web applications. Need more of those.
- hbbio 11y agoI couldn't agree more! Although biased, I think that Opa is the easier of those technologies to learn and master for developers. And we also have more flexibility due to our compiler (vs frameworks). We have been rightfully compared to Ur/Web since the beginning. Adam Chlipala is an outstanding scientist and his work is definitely of high quality, maybe more academic. Note that we have other experimental backends available, although not in the open source release (yet). I am also interested in compiling to MirageOS -- we have all the mechanisms in place in Opa to do that easily, namely one called the "Bypass Standard Library" (BSL). I just uploaded one draft paper written at MLstate about the BSL: https://www.scribd.com/doc/271277920/Opa-BSL-Bypass-Standard-Library https://www.scribd.com/doc/271277920/Opa-BSL-Bypass-Standard...
- nickpsecurity 11y agoI was gonna suggest MirageOS but held off. Since you said it, by all means do the port. Ill look at the stuff in the link when Im on desktop.