Projects / Crack

Crack

Crack is a programming language that 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, though 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.

Licenses
Operating Systems
Implementation

Recent releases

  •  19 Feb 2014 11:37

    Release Notes: Support for threading was added. Several small modules were added. Numerous bugs were fixed in the caching system.

    •  08 Oct 2013 18:24

      Release Notes: Many bugs were fixed, small features were added, and much of the code has been generally refactored and cleaned up. Much of the ground-work for module caching has been done, although this feature is still buggy. Support for flag-driven tracing has been added. Numerous extension modules have been added. A Mersenne PRNG module has been added. The test framework has been enhanced to support composite tests. The Wurld OpenGL example program was added. The codebase has been ported to use LLVM 3.3. Annotation semantics in generics has changed.

      •  11 Oct 2012 17:07

        Release Notes: The manual was updated for version 0.7. The crack.process module was fixed to actually use the pipe flags being passed in. File handle cleanup on directory iterators was fixed. Several internal naming and ownership bugs were fixed.

        •  10 Sep 2012 10:50

          Release Notes: The license was changed from the LGPLv3 to the MPL 2.0. The codebase was ported to LLVM 3.1. 16-bit integer types, the "alias" statement, indented string constants, and an assert annotation were added. A version of cast was created that returns a default instead of throwing an exception when the cast fails. Support was added for virtual methods in extension classes. Many new extensions and modules were added. Subprocess multiplexing was implemented. Many bugfixes and small enhancements were implemented.

          •  01 Dec 2011 21:18

            Release Notes: Const folding for integer and float operations was implemented. Support for injecting crack function body code from an extension was added. The foundations of support for module caching were added. "Functors" were implemented. An 'ascii' module supporting functionality specific to ASCII data was added. A module for dealing with numeric arrays was added. Stable modules were migrated out of crack.exp and obsolete modules were removed. "const" variables were implemented. Access protection was implemented. Abstract methods were implemented. The unit test framework was upgraded.

            Screenshot

            Project Spotlight

            OpenStack4j

            A Fluent OpenStack client API for Java.

            Screenshot

            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.