The Three Wise Men came with their camels and brought incense, gold, and Crystal!
We’ve written a blog post summarizing the changes in this release: Crystal 1.3.0 released! - The Crystal Programming Language. While we have tested it against several known and sizeable projects, that doesn’t preclude the existence of regressions. If you find an issue, please check the issue tracker and file a bug: it will be fixed in a patch version.
Thank you Crystal Core Team and all the other contributors who work their tails off to make Crystal programming a reality. This is definitely great news as Crystal continues to go from strength to strength.
Personally, I’m very impressed at how Crystal easily combines sheer programming power & joy with a syntax that’s extremely pleasant on the eyes. I think Derek Banas’ video here really opened my eyes to the many powerful, practical expressive surprises in the language – especially outputting data, declaring variables/classes etc, strings, math, arrays, tuples etc. Every few minutes, I kept saying to myself “Wow, Crystal is fcuking AMAZING!”.
Once again, my hats off to the developers for never wavering from Crystal’s original “Fast as C, Slick as Ruby” design vision. This will be a winning formula for its future success while promoting it to the Tech masses.
Not sure where I should leave feedback on the interpreter, maybe here? Thanks!
CentOS 7:
$ cat test.cr
3
debugger
4
$ crystal -v
Crystal 1.4.0-dev [966b3a5] (2022-01-31)
LLVM: 9.0.1
Default target: x86_64-unknown-linux-gnu
$ crystal test.cr
Program received and didn't handle signal TRAP (5)
oops I forgot to use i
$ crystal i test.cr
cannot find -lpthread
Linker arguments: -L/usr/lib64/crystal -lpthread -levent -lrt -ldl
Search path: /usr/lib64/mysql:/usr/lib64/dyninst:/usr/lib64//bind9-export/:/usr/lib64/llvm9.0/lib:/lib64:/usr/lib64:/lib:/usr/lib:/usr/lib64/crystal (Crystal::Loader::LoadError)
from /home/packrd/rand/crystal/src/compiler/crystal/loader.cr:74:31 in 'load_library'
from /home/packrd/rand/crystal/src/compiler/crystal/loader.cr:42:7 in 'new'
from /home/packrd/rand/crystal/src/compiler/crystal/loader/unix.cr:51:7 in 'parse'
from /home/packrd/rand/crystal/src/compiler/crystal/interpreter/context.cr:365:1 in 'loader'
from /home/packrd/rand/crystal/src/compiler/crystal/interpreter/context.cr:378:5 in 'c_function'
from /home/packrd/rand/crystal/src/compiler/crystal/interpreter/compiler.cr:1862:17 in 'compile_lib_call'
from /home/packrd/rand/crystal/src/compiler/crystal/interpreter/compiler.cr:1766:7 in 'visit'
from /home/packrd/rand/crystal/src/compiler/crystal/syntax/visitor.cr:27:12 in 'accept'