Crules is a dynamic programming language that takes influences from Python, Perl, and Haskell. The main motivation for this language was the concept or design of a new paradigm or feature called "rules". A rule is a potential entry point which has dependencies rather than parameters. Any rule can be overridden to have different or no dependencies. Since the language itself can decide on the best course of actions for an operation, dependencies become preconditions for execution. It also features lazy evaluation, object orientation, variadic and anonymous-parameter functions, and reflection. These features help make the language truly dynamic.