Visual Lambda

Visual Lambda is a visualized programming tool. It can be proved to be mathematically complete and is especially useful in customizing complicated business rules.

Currently Visual Lambda is supported in .Net, Java and C++ on all major platforms.

 

Visualized Programming

Programming with Visual Lambda can be done through a graphical tool, the Visual Lambda Editor. Keyboard is only used to input the variable names and value of primitive constants, the rest of programming can be performed only with a mouse.

 

 

Lambda Calculus

In mathematical logic and computer science, lambda calculus (also λ-calculus), is a formal system designed to investigate function definition, function application and recursion.

Most programming languages are rooted in the lambda calculus, which provides the basic mechanisms for procedural abstraction and procedure (subprogram) application. The most prominent counterparts to lambda calculus in programming are functional programming languages, which essentially implement the calculus augmented with some constants and data types, such as Lisp.

Visual Lambda is also a functional programming language that uses a variant of lambda notation for defining functions. Nevertheless, Visual Lambda's visualized graphical programming tool has made programming so intuitive that users don't have to know lambda calculus at all in order to write program.

Visual Lambda editor is used to build business rules with specific input and output arguments. Those kinds of rules are called "modules" in Visual Lambda. A module in Visual Lambda is the same concept as "function" in most programming languages. With Visual Lambda SDK library, other programming language (for example, Microsoft .Net applications) can easily take a Visual Lambda module in run-time, compile it on-the-fly in runtime into native machine code function pointer (delegates), and execute the compiled code as a regular function at full speed.

Context Sensitive Programming

Users don't have to know the concept of lambda calculus in order to program with Visual Lambda.

The only thing users need to learn is the concept of expression tree and decision tree, which is the fundamental knowledge every programmer should know and is easy to grasp for non-programmers within a matter of hours.

During the course of programming, the graphical tool (Visual Lambda Editor) prompts all possible choices the programming can take in a less than 5 level drop down menu, based on the context of the program. The entire program is presented in an intuitive way with both view of program tree and traditional style pseudo-code.

 

Domain Specific Programming

While Visual Lambda is mathematically capable of doing anything any other programming language can do, its real strength is that it can also be customized to be limited to a specific application domain, for added safety and simplicity, without losing its mathematical flexibility.

 

Lambda Template & Uniform User Interface

Lambda Template is analogous to generic programming in modern programming language. In Visual Lambda modules, a constant can be given a "name". Such constants are called "Lambda Templates".

Lambda Template provides additional flexibility in rule customization. For users, the templates are like variables in programming language. Visual Lambda provides a uniform user interface for users to customize the templates of a module.

With Lambda Template, users who don't know Visual Lambda programming can also benefit from Visual Lambda. Visual Lambda programmers can build modules with template for users. Users can use them with customized template values later on.

 

Platform Integration

We implemented Visual Lambda in .Net, Java and C++. The same rule customized using the same GUI can be injected into the running process built with different technology running on different platforms.

On the language side, Visual Lambda rules are just function pointers in C++ or delegates in .Net. Invoking Visual Lambda rules is no more complicated than invoking a regular function.

 

Benefits of Using Visual Lambda

In today's business world, business systems need a way to dynamically customize business rules.

Visual Lambda is the right tool to choose.