NRules.Language - Business rules language for NRules rules engine.

  •        173

Rule# (Rule Sharp) is a business rules language for NRules rules engine. The following code will compile the Discount.rul, insert facts into the rules session and fire the activated rules.



Related Projects

NRules - Rules engine for .NET, based on the Rete matching algorithm, with internal DSL in C#.

  •    CSharp

NRules is an open source production rules engine for .NET, based on the Rete matching algorithm. Rules are authored in C# using internal DSL. Use the following resources to get up and running with NRules.

rulerz - Powerful implementation of the Specification pattern in PHP

  •    PHP

The central idea of Specification is to separate the statement of how to match a candidate, from the candidate object that it is matched against. Business rules can be written as text using a dedicated language, very close to SQL, in which case we refer to them as rules or they can be encapsulated in single classes and referred to as specifications.

Jetfire - Workflow DSL

  •    CSharp

Jetfire ( is an open source, object oriented ecosystem which makes it very easy to develop business rules (Business Rule Engine), persistent programs and workflows. The dynamic Jetfire language extends C# with rules, roles, data flow, persistence, versioning, securi...



A framework which helps building business applications. It provides business rules, validation rules and a text-based language for writing rules. It supports automatic dependency detection, automatic rule reevaluation.

Rules Engine


Rules Engine is a C# project that makes it easier for developers to define business rules on domain objects without coupling the domain object to the business rule. The rules engine supports cross-field validation and conditional validation. Rules are interface-based and are e...

atomspace - The OpenCog hypergraph database, query system and rule engine

  •    C++

The OpenCog AtomSpace is a knowledge representation (KR) database and the associated query/reasoning engine to fetch and manipulate that data, and perform reasoning on it. Data is represented in the form of graphs, and more generally, as hypergraphs; thus the AtomSpace is a kind of graph database, the query engine is a general graph re-writing system, and the rule-engine is a generalized rule-driven inferencing system. The vertices and edges of a graph, known as "Atoms", are used to represent not only "data", but also "procedures"; thus, many graphs are executable programs as well as data structures. The AtomSpace is a platform for building Artificial General Intelligence (AGI) systems. It provides the central knowledge representation component for OpenCog. As such, it is a fairly mature component, on which a lot of other systems are built, and which depend on it for stable, correct operation in a day-to-day production environment.

Dism-Multi-language - Dism++ Multi-language Support & BUG Report

  •    HTML

Dism++ resource files for supporting translation to various languages. The default language used for development is in Simplified Chinese. Dism++ rules file which provides cleanup and optimization rules.

rrule - JavaScript library for working with recurrence rules for calendar dates.

  •    Javascript

Library for working with recurrence rules for calendar dates.rrule.js supports recurrence rules as defined in the iCalendar RFC, with a few important differences. It is a partial port of the rrule module from the excellent python-dateutil library. On top of that, it supports parsing and serialization of recurrence rules from and to natural language.

language-ext - C# functional language extensions - a base class library for functional programming

  •    CSharp

This library uses and abuses the features of C# 6+ to provide a functional 'Base class library', that, if you squint, can look like extensions to the language itself.language-ext is an MIT-licensed open source project. Its ongoing development is made possible thanks to the support by these awesome backers. If you'd like to join them, check out the language-ext Patreon campaign. Or if you'd just like to help support the coffee fund, that is very welcome too!.

Suricata IDS - Network threat detection engine

  •    C

The Suricata engine is capable of real time intrusion detection (IDS), inline intrusion prevention (IPS), network security monitoring (NSM) and offline pcap processing. Suricata inspects the network traffic using a powerful and extensive rules and signature language, and has powerful Lua scripting support for detection of complex threats.

Drools - Business Rules Management System

  •    Java

Drools is a Business Rules Management System (BRMS) solution. It provides a core Business Rules Engine (BRE), a web authoring and rules management application (Drools Workbench) and an Eclipse IDE plugin for core development. Drools Fusion provides complex event processing features.

when - A natural language date/time parser with pluggable rules

  •    Go

Check EN and RU rules and tests for them, for more examples.Needed rule not found? Open an issue with the case and it will be added asap.

duckling - Language, engine, and tooling for expressing, testing, and evaluating composable language rules on input strings

  •    Haskell

Duckling is a Haskell library that parses text into structured data.A Haskell environment is required. We recommend using stack.

syntastic - Syntax checking hacks for vim

  •    Vim

Syntastic is a syntax checking plugin for Vim created by Martin Grenfell. It runs files through external syntax checkers and displays any resulting errors to the user. This can be done on demand, or automatically as files are saved. If syntax errors are detected, the user is notified and is happy because they didn't have to compile their code or execute their script to find them. At the time of this writing, syntastic has checking plugins for ACPI Source Language, ActionScript, Ada, Ansible configurations, API Blueprint, AppleScript, AsciiDoc, Assembly languages, BEMHTML, Bro, Bourne shell, C, C++, C#, Cabal, Chef, CMake, CoffeeScript, Coco, Coq, CSS, Cucumber, CUDA, D, Dart, DocBook, Dockerfile, Dust, Elixir, Erlang, eRuby, Fortran, Gentoo metadata, GLSL, Go, Haml, Haskell, Haxe, Handlebars, HSS, HTML, Java, JavaScript, JSON, JSX, Julia, LESS, Lex, Limbo, LISP, LLVM intermediate language, Lua, Markdown, MATLAB, Mercury, NASM, Nix, Objective-C, Objective-C++, OCaml, Perl, Perl 6, Perl POD, PHP, gettext Portable Object, OS X and iOS property lists, Pug (formerly Jade), Puppet, Python, QML, R, Racket, RDF TriG, RDF Turtle, Relax NG, reStructuredText, RPM spec, Ruby, SASS/SCSS, Scala, Slim, SML, Solidity, Sphinx, SQL, Stylus, Tcl, TeX, Texinfo, Twig, TypeScript, Vala, Verilog, VHDL, Vim help, VimL, Vue.js, xHtml, XML, XSLT, XQuery, YACC, YAML, YANG data models, YARA rules, z80, Zope page templates, and Zsh. See the manual for details about the corresponding supported checkers (:help syntastic-checkers in Vim).

CppCoreGuidelines - The C++ Core Guidelines are a set of tried-and-true guidelines, rules, and best practices about coding in C++

  •    Python

The C++ Core Guidelines are a collaborative effort led by Bjarne Stroustrup, much like the C++ language itself. They are the result of many person-years of discussion and design across a number of organizations. Their design encourages general applicability and broad adoption but they can be freely copied and modified to meet your organization's needs. The guidelines themselves are found at CppCoreGuidelines. The document is in GH-flavored MarkDown. It is intentionally kept simple, mostly in ASCII, to allow automatic post-processing such as language translation and reformatting. The editors maintain one version formatted for browsing. Note that it is manually integrated and can be slightly older than the version in the master branch.


  •    C

Citadel is a collaboration suite (messaging and groupware). It provides support for Email, Calendaring/Scheduling, Address books, Bulletin boards, Mailing List Server, Instant Messaging, Wiki, Multiple domain support.

Orchard Twitter Rules


Orchard Twitter Rules makes it easier for Orchard users to send Tweets in Twitter service after the trigger of events in the Orchard CMS. It's developed in C# and makes use of the Orchard Rules engine. Making it easy to automatically Tweet after a BlogPost publishing. This...


  •    TypeScript

OneLang has a hard time defining itself. Some may call it a transpiler, a special compiler which can compile source code from an input language to another. Those will have a hard time using it, as OneLang has its own rules and does not respect those of the input language, sometimes not even its syntax.

Propagation Engine


Propagation Engine is a C# .NET propagation framework which is designed to simulate various types of entities in a linked nearest-neighbor node-edge network environment using a specified set (or series) of rules and entities. Propagation Engine is CLS-Complaint.