サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Pixel 9
crystal-lang.org
We are delivering a new release with several bugfixes and improvements. Below we list the most important or interesting changes, without mentioning several bugfixes and smaller enhancements. For more details, visit the changelog. Breaking changes are marked with ⚠️. Pre-built packages are available on GitHub Releases and our official distribution channels. See crystal-lang.org/install for installa
Crystal's interpreter – A very special holiday present 29 Dec 2021 The awaited Crystal interpreter has been merged. To use it, you need to compile Crystal with a special flag and, at the time of writing, the official releases (.deb, .rpm, docker images, etc.) are not being compiled with it. This post doubles as a F.A.Q. for this special feature. Let’s start from the very beginning: Why Crystal nee
We are releasing the first post-1.0 release, making efforts to keep our promise of making regular releases each 3 months, a bit delayed because of the conference, and with special focus on keeping the language stability. Below we list the most important or interesting changes, without mentioning the several bugfixes. For details visit the release’s notes. Stats In this release we included 166 PRs
Ary Borenzweig Brian J. Cardiff Juan Wajnerman +450 more The release of the first major release of Crystal arrives after many years of hard work. With thousands of contributions from people worldwide, it was finally possible to find consensus for what truly mattered for 1.0 and what could wait for future releases. Getting here wasn’t an easy journey, filled with enriching, controversial, delightfu
Currently the main goal of the Crystal core team is to reach 1.0 in the near future. Since achieving that goal involves a number of non-obvious tradeoffs, we want to use this post to shed some light on those inherent tensions and how they drive our work and priorities for the next few releases. There are three main aspects of the Crystal ecosystem that in a way compete for resources and design dec
Crystal Book¶ Welcome to the documentation for the Crystal language. Crystal is a language for humans and computers. These materials help humans understand the language and its ecosystem. Learning Materials¶ These instructions and courses help you get to know the language and how to use it.
Crystal 0.26.1 has been released! This release is mainly focused on regression bugs discovered on 0.26.0. There were 39 commits since 0.26.0 by 15 contributors. Although we try to test as much as possible before each release. During 0.26.0 it was more difficult than usual because of some limitation to override nested dependencies. Luckily for this release dependencies are already updated and at th
Crystal 0.26.0 has been released! This release is focused on polishing APIs, bug fixing the compiler, keep working on windows support and some intermediate language changes for future releases. There were 119 commits since 0.25.1 by 24 contributors. Language changes Revert: Do not collapse unions for sibling types In 0.25.0 we tried to improve the inferred type of unions of sibling types. Although
Lucky with Crystal - Fewer Bugs, Better Performance, Incredible Productivity 06 Feb 2018 Paul Smith created the Lucky web framework a year ago - and he now shares its status with us. If you want to share your own project, reach out to us with your idea. Lucky is a full-featured web application framework written in Crystal. You will write fewer tests and have fewer bugs when using Lucky because of
This guest post by Robert Carpenter will introduce you to Amber, a Rails/Phoenix-like web framework for Crystal. Don’t forget to reach out to us if you want to share some experience of your own. The Amber Framework is a young and growing web framework written in our favorite language, Crystal. It shares many similarities with Rails, but - like Crystal itself - compatibility with Rails is not a des
This is a guest post by Mark Siemers, who kindly volunteered to suggest a series of Crystal blog posts. Expect more to come, or - even better - contact us about writing your own post. 1. Extremely low learning curve Think of some languages that have become popular in the last 5-10 years. What comes to mind? Elixir, Go, Rust perhaps? They all have performance advantages over Ruby but are more diffi
Almost 1 year ago, riding the wave of end of year optimism, Manas.Tech (“we” from here on in this post) decided to commit to wrap up a 1.0 release during 2017 that would include all possible breaking changes to the language. As with many other new year’s resolutions, this was wishful thinking. At the time of our post, things felt a little closer than what they actually were. Also, due to an influx
This guest post is an interview that Ivo Balbaert had with Peter Schols from Diploid about their Crystal in Production story. This interview will also be part of the Programming Crystal book that Ivo is writting - and we can’t wait to read! We’d like to thank both of them for taking the time to share their experience, and to invite any other companies or individuals using Crystal in a production e
Crystal is growing! As an awesome community, we’d really like to hear your opinions and decide how we should plan for the future. We are pleased to announce the launch of the official 2017 State of Crystal Survey! Whether or not you use Crystal today, we really want to know your opinions. Your feedback will help Crystal understand its strengths and weaknesses, and to determine development prioriti
Concurrency¶ Concurrency vs. Parallelism¶ The definitions of "concurrency" and "parallelism" sometimes get mixed up, but they are not the same. A concurrent system is one that can be in charge of many tasks, although not necessarily executing them at the same time. You can think of yourself being in the kitchen cooking: you chop an onion, put it to fry, and while it's being fried you chop a tomato
This post is the first from our guest writers series. If you have built something awesome using Crystal and want to share your experience here on the blog, let us know! Today’s guest author is Leonard Schütz. He created the Charly programming language as a means to learn how to create a programming language, and after a first iteration in Ruby, he moved to Crystal to implement the language interpr
Crystal has gone a long way since we started it over five years ago. What was once an experiment to see if it was possible to have a compiled yet Ruby-like language, is now a trending language with over 7,000 github stargazers and almost 1,400 shards. Its popularity has risen considerably in the last few years, and we are incredibly proud to see something we have built resonating so much with the
Using a database is a really common task. For each kind of database there is a shard or library needed. When there is no common API to talk to a database, building more advanced shards like orm or migrations is harder. Either you end up supporting just a driver or you need to create a whole ad-hoc solution. Lacking a common api also means that when changing from one DB to another you will need to
Top Level Namespace Included Modules Spec::Expectations Spec::Methods Extended Modules Spec::Expectations Spec::Methods Defined in: Constant Summary ARGF = IO::ARGF.new(ARGV, STDIN) An IO for reading files from ARGV. Usage example: program.cr: puts ARGF.gets_to_end A file to read from: (file) 123 $ crystal build program.cr $ ./program file 123 $ ./program file file 123123 $ # If ARGV is empty, ARG
Crystal 0.20.0 has been released! Aside from the usual bugfixes and some performance improvements there’s a lot of new stuff here. Shards 0.7.0 Crystal 0.20.0 comes with version 0.7.0 of shards, mostly maintained by Julien Portalier, whichs has a few new goodies like a build command and informational crystal (version) and libraries entries in the shard.yml file. Support for GitLab dependencies was
Packages for Crystal releases are available from different sources. There are official ones provided the Crystal project, system packages and community-maintained packages. This page gives an overview of available installation methods. Linux Many Linux distribution provide Crystal in their system packages. It might not be the most recent version though. Third party package managers are typically m
Note: this was an April’s Fool post. However, with Crystal macros you could do this. We Crystal developers believe compilers should be smart. You don’t need to add type annotations everywhere: only when needed, or when you want them. Can we make the compiler even smarter? This past month we have been thinking that since Crystal is a relatively young language with a still incomplete standard librar
Crystal 0.17.0 has been released! This release includes a bunch of nice features: named tuples, double splats, a new algorithm for method arguments, and as?. Before introducing named tuples, let’s remember what tuples are. Tuples You can think of a tuple as an immutable compile-time equivalent of an Array. The compiler knows its size and the type in each position. A tuple can’t be modified. # This
Crystal 0.16.0 has been released! This is a huge release that includes a major breaking change that was announced a few months ago: types of global, class and instance variables need to be a bit more explicit. This release also includes other minor breaking changes and a lot of new goodies. The new global type inference algorithm The new rules are explained in the official docs, but let’s quickly
(This post is part of Crystal Advent Calendar 2015) This Christmas eve something curious happened: we were happily coding in Crystal when, one moment when we took our eyes away from the screen, a translucid figure appeared nearby. The entity approached and said: “I’m the Ghost of Christmas Past. Come with me.” We saw ourselves coding a new language that would resemble Ruby but be compiled and type
Crystal compiler does a lot of work in order to allow the programmer be more expressive, productive, and …lazy. Since 0.7.7 the compiler comes with some initials tools that will help the programmer know what the compiler is understanding from the code and to navigate through in a more interesting way. Go to implementations tool When compiling a method call, the compiler knows exactly which method
Crystal is a programming language with the following goals: Have a syntax similar to Ruby (but compatibility with it is not a goal) 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 co
次のページ
このページを最初にブックマークしてみませんか?
『Crystal : The Crystal Programming Language』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く