====== Crules ====== Crules is a [[http://en.wikipedia.org/wiki/Dynamic_programming_language|dynamic programming language]] that takes influences from [[http://python.org|Python ]], [[http://perl.org|Perl]] and [[http://haskell.org|Haskell]]. The main motivation for this language was the concept or design of a new paradigm or feature which I call `rules'; where a rule is or can be an entry point which has dependencies rather than parameters. Though any rule can be overridden to have different or no dependencies. So the language itself can decide on the best course of actions for an operation, this then has the side effect of dependencies being preconditions for execution. Though the main goal of Crules, is to create an very expressive language by mixing some [[http://en.wikipedia.org/wiki/Functional_programming|Functional Programming]] techniques and idioms with the clean and clear syntax as well as the clear deterministic form of [[http://en.wikipedia.org/wiki/Procedural_programming|Procedural languages]]; to name some features I am happy with would be [[http://en.wikipedia.org/wiki/Lazy_evaluation|Lazy Evaluation]], [[http://en.wikipedia.org/wiki/Object-oriented_programming|Object Orientation]], [[http://en.wikipedia.org/wiki/Variadic_function|Variadic]] and Anonymous Parameter Functions and [[http://en.wikipedia.org/wiki/Reflection_(computer_science)|Reflection]]. Which all make up an important part of a language being truly dynamic. These are just some of the features for the up coming release ~ February 2010 called (Prickly Pineapple), where it should hopefully meet the 1.0 language specifications I have been designing, from there I am targeting many more exciting features to make Crules a useful language for lazy and effective software development. Crules is an interpreted language and is implemented in C, code and content is hosted at http://code.redbrain.co.uk/cgit.cgi/crules/ and tracked via http://dev.crules.org. Probably worth noting here that Crules is License under the terms of the GPLv3 see COPYING with the Crules source code. Copyright Crules Developers see AUTHORS. ===== Project Links ===== * [[https://launchpad.net/crules|Launchpad Page]] * [[http://freshmeat.net/projects/crules|Fresh meat Record]] * [[ftp://crules.org/crules|Downloads]] * [[http://dev.crules.org|Development Wiki and Bug Tracker]] * [[http://code.redbrain.co.uk/cgit.cgi/crules|Git Repository Cgit interface]] * [[http://crules.org/cgi-bin/mailman/listinfo/crules|Crules Development/Users Mailing List]] ===== Information ===== * [[crules|Getting Crules]] Where to download, install or compile Crules * [[documentation|Documentation]] Crules language examples, and further links and documentation * [[community|Community]] Ways to get in touch with the Crules developers * [[hacking|Hacking]] Hacking guides on the interpreter and language design * [[roadmap|Roadmap]] General ideas for the release schedule * [[language|Language Specifications]] Current language specifications * [[papers|Papers and Talks]] Some interesting papers or talks * [[donations|Donate]] All donations would be greatly appreciated see here for more details on why and how!