Crack aims to provide the ease of development of a scripting language with the performance of a compiled language. The "crack" program is a "script executor" that compiles source to machine code on the fly (it will cache the code to intermediate formats as appropriate).
The crack language itself derives concepts from C++, Java and Python,
incorporating object-oriented programming, operator overloading and strong
typing. News
2025-11-02 Fresh Upgrades
The autoconf setup has been updated and a new version of crack.regex2 has
been introduced which uses libpcre2 (libpcre3 is actually an older library that
is EOL and being removed from distros). 2020-01-17 Crack 1.6 Released!
We're proud to report the release of crack 1.6. Download source from here. Sample Code
This script builds a set of unique values from the argument list and prints its contents.
# import what we need from the appropriate modules
import crack.cont.hashmap HashMap;
import crack.io cout;
import crack.strutil StringArray;
import crack.sys argv;
## Cheesey set implementation.
class ArgSet : HashMap[String, bool] {
oper init(StringArray args) {
for (arg :in args)
this[arg] = true;
}
void dump() {
for (item :in this)
cout `got $(item.key)\n`;
}
}
# initialize the arg set from the actual args
ArgSet a = {argv};
# write the set
a.dump();