The Crack Programming Language

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.


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 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