An interactive console (REPL) for the Crystal programming language, similar to IRB for Ruby.
ICR is an interactive console (REPL) for the Crystal programming language, allowing developers to execute Crystal code in real-time from the command line. It enables quick testing of code snippets, experimentation with language features, and integration with local project files, similar to how IRB works for Ruby. The tool generates and runs new Crystal programs with each input, providing immediate feedback on output and return values.
Crystal developers who need a REPL for rapid prototyping, debugging, or learning the language, especially those familiar with Ruby's IRB workflow.
ICR offers a seamless, IRB-like interactive experience specifically for Crystal, with features like local file requiring, special commands for debugging, and editor integrations, making it the go-to REPL for the Crystal ecosystem.
Interactive console for Crystal programming language
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides immediate feedback with line-by-line code execution, similar to Ruby's IRB, including display of last expression results via the __ local variable.
Allows requiring local project files and external libraries using the -r flag or relative paths, enabling direct testing of custom code snippets.
Includes commands like reset to clear accumulated code and debug to toggle code display, enhancing the debugging and experimentation process.
Periodically checks for new releases and notifies users, with an option to disable via --disable-update-check, helping maintain tool currency.
Requires prerequisites like the latest Crystal, Readline, and LLVM development files, which can be challenging to set up on some systems, as noted in the installation section.
Only has documented integration for Emacs via inf-crystal.el; users of other popular editors like VSCode or IntelliJ lack out-of-the-box support.
Generates and runs a new Crystal program for each input, which can introduce latency for complex or repeated executions compared to compiled or more optimized REPLs.