Crystal Language

Fast as C, slick as Ruby

For the past three years, [Crystal](http://crystal-lang.org) was partially supported by [Manas](http://manas.com.ar), with most of the development happening in our free time. In the last months interest for the project has been steadily growing: - Increased number of [issues](https://github.com/manastech/crystal/issues) and [pull requests](https://github.com/manastech/crystal/pulls?q=is%3Aopen+is%3Apr) - Public talks and meetings happening worlwide: - [RubyC](https://www.youtube.com/watch?v=iyqURh5LSF4) - [PolyConf](https://www.youtube.com/watch?v=Ysm4IU4aWoQ) - [Curry On](http://www.curry-on.org/2015/sessions/crystal-a-programming-language-for-humans-and-computers.html) - [Eurucamp](http://2015.eurucamp.org/speakers/#luis-ferreira) - [Tokyo Crystal study session](http://crystal.connpass.com/event/17496/) - [Projects developed in Crystal](http://crystalshards.herokuapp.com/?sort=updated) - 5000+ [stars](https://github.com/manastech/crystal/stargazers) in GitHub To continue supporting this growth, and to satisfy community expectations, we would like to invest more time in this project. If you like this project and see its potential, you can help. **Every dollar counts!** # Short and mid-term goals This salt campaign will allow the main developers to focus on these major goals: - Concurrency support - Package manager - Debugger support - 32-bits support - Standard library additions - Documentation - Reviewing and accepting pull requests - Bug fixing ## Concurrency support Right now the language provides non-blocking IO and lightweight processes, but these are created in a single thread. We'd like to have them created in multiple threads, and to provide primitives for managing them (select, wait groups, etc.) ## Package manager The built-in package manager, `crystal deps`, just checks out github repositories. We'd like it to handle version checks and recursive dependencies, as well as to provide a fully descentralized way to manage packages. ## Debugger support Debugging crystal programs is only possible via console printing. We'd like to be able to use `lldb` or another command-line interface instead. Graphical tools could be built on top of this. ## 32-bits support 32-bits support is possible via cross-compilation, but we'd like to provide precompiled binaries. ## Standard library additions Although the standard library already includes many useful data types and algorithms, many are still missing. ## Documentation The [language docs](http://crystal-lang.org/docs) and the [standard library docs](http://crystal-lang.org/api) are far from finished. ## Bug fixing There are some old and recurring [issues](https://github.com/manastech/crystal/issues) that'd we'd like to fix once and for all.