Fuxi Programming Language

From Wikipedia, the free encyclopedia

Fuxi(pronounced foo-shee), is a general-purpose, concurrent, object-oriented, declarative programming language, designed for use in application and systems programming, and implemented to meet the demands of network computing and mobility, and to provide a vehicle for rapid prototyping of software. It intends to make programming enjoyable, through the well-designed combination of the best ideas found in object-oriented, concurrent, functional, and logical programming paradigms, and the embodiment of a design philosophy: simplicity, efficiency, uniformity and consistency with conventions. So, Fuxi adopts a syntactical system and an object model strongly influenced by major current languages, such as C/C++, C#, JAVA, though the language itself is more declarative.

Fuxi reflects the major aspects of object orientation. But Fuxi differs from C++ and JAVA, in that it differentiates methods into functions, clauses, and triggers, and gives them a uniform syntax through pattern matching. The notable language features include:

 Orthogonal stylization of objects;  
 Guarded fields;
 Pattern extending and overriding in inheritance;
 Scripted object definition. 

These features power the language with great expressiveness

The following is a simple example of Fuxi, which calculates the Fibonacci numbers:

    import fuxi.*
    public active Fibonacci : Applet
    {
         Fib(0) = 1
         Fib(1) = 1
         Fib( int n ) = Fib(n - 2) + Fib(n - 1)
         public Activate() = 
         let
         {
              int n = System.Console.Readln().ToInteger()
         }
         in
         {
              System.Console.Print( "Please Input a Number:" )
              System.Console.Println( "Fib(" + n + ")=" + Fib(n) )
         }
    }

Reference:

   Fuxi Language Homepage