-Welcome to your wiki! This is the default page we've installed for your convenience. Go ahead and edit it.
-This wiki uses the [[http://www.wikicreole.org/|Creole]] syntax, and is fully compatible with the 1.0 specification.
-The wiki itself is actually a hg repository, which means you can clone it, edit it locally/offline, add images or any other file type, and push it back to us. It will be live immediately.
-$ hg clone http://bitbucket.org/moiseev/wepr/wiki/
-Wiki pages are normal files, with the .wiki extension. You can edit them locally, as well as creating new ones.
-=== Syntax highlighting ===
-You can also highlight snippets of text, we use the excellent [[http://www.pygments.org/|Pygments]] library.
-Here's an example of some Python code:
- formatter = lambda t: "funky"+t
-You can check out the source of this page to see how that's done, and make sure to bookmark [[http://pygments.org/docs/lexers/|the vast library of Pygment lexers]], we accept the 'short name' or the 'mimetype' of anything in there.
+== WEPR -- a where - clause parser and compiler ==
+Wepr allows you to generate an Expression Tree representing given WHERE clause, compile it into the delegate and execute over an argument.
+* Logical AND/and and OR/or between simple conditions
+* Equality operators //(=, <>, !=, <, <=, >, >=)//
+* String functions //(Contains, StartsWith, EndsWith)//
+* //In// function (can be applied to //string// and //int// lists)
+* Chained field/properties access (e.g.: User.Name.FirstName = 'John')
+type MyString(s:string) =
+ member this.Value with get () = s
+ override this.ToString () = sprintf "(MyString '%s')" s
+let where = "Value.Length = 3 AND Value.Length in (1, 2, 3) and Value in ('abc', 'bca')"
+let arg = MyString "abc"
+let res = Wepr.Exec where arg
+// res will be evaluated to _true_