Skip to content

jeremypele/crystal

 
 

Repository files navigation

Crystal Build Status Bountysource

Crystal is a programming language with the following goals:

  • Have the same syntax as Ruby, or at least as similar as possible.
  • Statically type-checked but without having to specify the type of variables or method arguments.
  • Be able to call C code by writing bindings to it in Crystal.
  • Have compile-time evaluation and generation of code, to avoid boilerplate code.
  • Compile to efficient native code.

Why?

We love Ruby's efficiency for writing code.

We love C's efficiency for running code.

We want the best of both worlds.

We want the compiler to understand what we mean without having to specify types everywhere.

We want full OOP.

Oh, and we don't want to write C code to make the code run faster.

Status

  • The project is in alpha stage: we are still tweaking the language and standard library.
  • The compiler is written in Crystal.

Installing

Follow these instructions

Try it online

play.crystal-lang.org

Documentation

Both in progress:

Community

Questions or suggestions? Ask in our Google Group, join our IRC channel #crystal-lang at irc.freenode.net, or ask on Stack Overflow under the crystal-lang tag.

Contributing

Read the general Contributing guide, and then:

  1. Fork it ( https://github.com/manastech/crystal/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

About

The Crystal Programming Language

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Crystal 99.0%
  • Shell 0.3%
  • C++ 0.3%
  • HTML 0.2%
  • CSS 0.1%
  • JavaScript 0.1%