My project involves creating a platform for building tools that is based on Atom Shell and uses a plug-in model to allow users to extend the core platform.
I also have some requirements:
- Users will be able to enter code within the application and have it run. This means that the compiler needs to be able to be distributed (easily) with the application and invoked on arbitrary user code.
This isn't an issue for CoffeeScript or TypeScript, but it is an issue for PureScript and others where the interoperability is not bi-directional.
Loss of Control
Any time you start to use something that you don't write and manage yourself, you potentially lose some control. You need to convince another community that something is desirable, or useful, or even doable.
Can the compiler and associated tools be shipped with my application? Does the compiler produce decent feedback on errors of various sorts?
What am I going to do?
However, for now at least, I am going to try to use TypeScript. I have a lot to learn, but I think TypeScript comes pretty close to meeting my requirements and the type system and community adoption are both pretty nice things.