cltk alternatives and similar shards
Based on the "Misc" category.
Alternatively, view cltk alternatives based on common mentions on social networks and blogs.
-
sentry
Build/Runs your crystal application, watches files, and rebuilds/restarts app on file changes -
immutable
Thread-safe, persistent, immutable collections for the Crystal language -
crystal-web-framework-stars
โญ๏ธ Web frameworks for Crystal, most starred on Github -
cron_scheduler
Simple job scheduler with crontab patterns for Crystal Language. -
inflector.cr
Inflector shard for Crystal. A port of ActiveSupport::Inflector -
aasm.cr
:arrows_clockwise: Easy to use finite state machine for Crystal classes -
kreal
Kreal is a model sharing & RPC library built on and works with Kemal seamlessly. -
ulid
Universally Unique Lexicographically Sortable Identifier (ULID) in Crystal -
CrSerializer
Extensible annotation based serialization/deserialization library -
circuit_breaker
Implementation of the circuit breaker pattern in crystal -
burocracia.cr
๐ Zero-dependency Crystal shard to validate, generate and format Brazilian burocracias (CPF, CNPJ, CEP) -
wikicr
Wiki in crystal, using Markdown and Git, inspired by dokuwiki. Last features to build are pretty hard, if you have some time to help... :) -
m3u8
Generate and parse m3u8 playlists for HTTP Live Streaming (HLS) in Crystal. -
message_verifier.cr
Rails compatible MessageVerifier for Crystal-lang apps -
defined
This shard provides facilities for checking whether a constant exists at compile time, and for a variety of different conditional compilation options. Code can be conditionally compiled based on the existence of a constant, version number constraints, or whether an environment variable is set truthy or not.
WorkOS - The modern identity platform for B2B SaaS
Do you think we are missing an alternative of cltk or a related project?
Popular Comparisons
README
cltk
This is a port of the Ruby Language Toolkit to the Crystal Programming Language.
CLTK (like RLTK) is: a collection of classes and methods designed to help programmers create languages in an easy to use and straightforward manner. This toolkit provides the following features:
- 2 Lexer generators based on PCRE Regexps from crystals STD Lib and a second faster one based on the crystal-dfa DFA automaton implementation
- Parser generator
- AST node baseclass
- Class for representing context free grammars
In addition, CLTK includes several ready-made lexers and parsers. As well as a serialization mechanism that renders a finalized parser back into crystal syntax to compile it without having to be finalized again at startup (see [exp_lang_repl](examples/exp_lang/exp_lang_repl.cr) for a usage example).
To see what works have a look at the specs or run them with:
$ crystal spec
The Implementation has been strongly altered but the API is compatible to RLTK. The LLVM Bindings has not been ported. Instead crystals own LLVM Bindings were used in examples/kazoo/chapter 8/kcontractor.cr
Usage
To use the toolkit in your project add this to your application's shard.yml
:
dependencies:
cltk:
github: ziprandom/cltk
Examples
See the example languages (and their specs):
- interpreted language EXP_LANG (
examples/exp_lang
) - kazoo (
examples/kazoo/chapter 8
) with LLVM IR generation - brainfuck (
examples/brainfuck
) - json_parser (
examples/json_parser
) example of a linter / xml converter
Documentation
can be found in the docs directory
Contributing
- Fork it ( https://github.com/ziprandom/cltk/fork )
- Create your feature branch (git checkout -b my-new-feature)
- Commit your changes (git commit -am 'Add some feature')
- Push to the branch (git push origin my-new-feature)
- Create a new Pull Request
Contributors
- ziprandom - creator of the port, maintainer