Crystal is a compiled language that is currently in the alpha stages of development. These are some of the language's goals:

  • Ruby-inspired syntax.

  • 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.

Help us explain this better! File a GitHub issue at if you have suggestions, or submit a patch with improvements to the file.

Try It!

If you've downloaded the command-line client and have Crystal installed on your machine, then go ahead and fetch the first problem.

exercism fetch crystal

In order to be able to submit your solution, you'll need to configure the client with your Exercism API key.

exercism configure --key=YOUR_EXERCISM_KEY

When you've written a solution, submit it to the site. You'll have to configure the command-line client with your exercism API key before you can submit.

exercism submit PATH_TO_FILE