Fuxi

Fuxi程序设计语言(Fuxi Programming Language)是一种多范型(multiparadigm)程序设计语言,它采用类-JAVA的类型框架和模式匹配的方法定义将面向对象、函数型及逻辑型语言有机地结合到一起。它兼备JAVA的简洁性和说明型语言的高表达力,具有平台无关性,是继JAVA、C#之后推出的又一面向互联网的程序设计语言。和JAVA等面向对象的语言不同,Fuxi将方法区分为函数(Function)、子句(Clause)和触发器(Trigger)三种类型。

以下是一个Fuxi语言的计算Fibonacci数的例子:

import fuxi.*

public acitve class FibonacciApp: Applet {

Fib(0) = 1

Fib(1) = 1

Fib( int n ) = Fib(n - 1) + Fib(n - 2)

public Activate() =

let

{

int n = System.Console.Readln().ToInteger()

}

in

{

System.Console.Println( "请输入一个正整数:" )

System.Console.Println( "Fib(" + n + ")=" + Fib(n) )

}

}

一个Fuxi程序通常包括三个部分: 1)导入部分:导入Fuxi的基本类库或其它的装配件,如本例中的fuxi; 2)类定义部分:类是Fuxi的编程单位,是程序的构成要素。一个Fuxi程序至少需要定义一个类,本例就是只包含一个类的简单Fuxi程序; 3)输出部分:至少包含一个公开的类定义,如本例中的FibonacciApp。

一个值得注意的地方是Fuxi程序没有象JAVA、C#等那样定义一个执行入口函数main(),打印出现在函数Activate()中;其次,在类FibonacciApp定义的前面使用了active关键字。

Fuxi语言区分主动式对象和被动式对象,只有主动式对象才具有独立的执行线程,而被动式对象必须包含在某个主动式对象中。类定义前的active关键字可使类带有主动式风格,带主动式风格的类的所有实例都是主动式对象。Fuxi抽象机在创建一个主动式对象后,将为其分配一个线程,并且该线程第一个执行的函数就是Activate(),然后等待其它对象发送来的消息。



外部连接:







自定义分类:
编程编程语言
 
贡献者:
服务器被拔线
Copyright © 1999-2024 C114 All Rights Reserved | 联系我们 | 沪ICP备12002291号-4