Friday, June 20, 2008

Java, Parallel, Monad

เห็น code java นี้แล้ว ธาตุไฟแทรก

public static <A, B> F<Callable<A>, Callable<B>> fmap(final F<A, B> f) {
return new F<Callable<A>, Callable<B>>() {
public Callable<B> f(final Callable<A> a) {
return bind(a, new F<A, Callable<B>>() {
public Callable<B> f(final A ab) {
return new Callable<B>() {
public B call() {
return f.f(ab);
}
};
}
});
}
};
}


ใครธาตุแข็งแรงเชิญไปอ่านได้ที่นี่

Higher-Order Java Parallelism, Part 1: Parallel Strategies and the Callable Monad

Related link from Roti

4 comments:

iporsut said...

อะไรกันเนี่ย มึนตึบ มันคือจาวา จริงๆเหรอนี่

llun said...

~ ~" ซ้อนได้หลายชั้นจริงๆ

Apocalisp said...

It's not all that crazy, just look at the types.

The equivalent Haskell code is:

fmap f a = a >>= \ ab -> return (f ab)

iporsut said...

แฮ่ๆ มาเป็น haskell ค่อยเข้าใจหน่อย