论坛首页 Java企业应用论坛

jaskell script

浏览 14931 次
锁定老帖子 主题:jaskell script
该帖已经被评为精华帖
作者 正文
   发表时间:2005-02-04  
强烈建议竖线。
0 请登录后投票
   发表时间:2005-02-06  
增加了operator overloading。比如:

new_complex(1, 2); - new_complex(2, 1); where
  new_complex r  i = {real = r; img = i; (-); = minus this};
  minus a b = {real = a.real-b.real; img = a.img-b.img}

结果是

{real=-1; img=1}


again, 这不是给业务员用的。但是程序员可以定义一个库,然后告诉业务员他们可以用他们熟悉的运算符计算一些业务实体。

呵呵。
0 请登录后投票
   发表时间:2005-02-07  
对了,关于你说的那个需要跳着阅读的问题,我想了一下,应该是没有的。
let-in语句是strict的,它保证顺序。
就相当于我们在java里面的定义变量。
比如:
int x = ...;
int y = ...;
return f(x+y);;

没人会先读return f(x+y)再读x和y的定义吧?

这段既有let也有where的jaskell程序:

let x = ...;
     y = ...;
in f x y where
  f x y = x+y;

就相当于java的

int x = ...;
int y = ...;
return f(x,y);;

...

int f(int x, int y);{
  return x+y;
}

也不会有人先读return f(x,y),再读int x, int y,最后读f的定义吧?
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics