martedì 29 dicembre 2009
Verlet integration in Haskell
Pubblicato da koteth 2 commenti
giovedì 24 dicembre 2009
my delicious
Pubblicato da koteth 1 commenti
martedì 8 dicembre 2009
Cairo-Chaos Haskell
Haskell chaos and lib-cairo.
Is only a fixed-point iteration over this function:
lgs x r = r * x * exp(- x )
Pubblicato da koteth 0 commenti
Dollar $ operator in Haskell
Do you know what is $ operator in Haskell?
$ means simply , 'apply the left function at the right value'.
f $ x := f x
it seems really trivial, isn't it ?
But, for example in this kind of situation, is really usefull:
zipWith ( $ ) ( cycle [ \x -> div (x + 1) 2 , \x -> div x 2 ] ) [1..]
here you have a infinite list of function:
a = cycle [ \x -> div (x + 1) 2 , \x -> div x 2 ]
( ie: [\x -> div (x + 1) 2 , \x -> div x 2 , \x -> div (x + 1) 2 , \x -> div x 2, ... ] )
and you want to apply every element of the list at the element
at the same index in the second list:
b = [1..]
zipWith, for every index i takes the element a(i) of the left list
and b(i) of the right list and execute what is requested inside the parentheses.
In this situation is specified $ so:
a(i) $ b(i ) := a(i) ( b(i) )
the result must be the following:
[ 1 ,1 , 2, 2 , 3 ,3 ... and so on.
Pubblicato da koteth 0 commenti
Prime Numbers in haskell
well, do you want to know how to find 'prime numbers' in a quick and dirty
way using Haskell ?
try this!
import Data.List
nubBy ( \x y -> mod y x == 0 ) [2..]
Haskell is so easy and charming...
( ps: if you want to speed up a little bit:
nubBy ( \x y -> ( x*x-1 <= y ) && ( mod y x == 0 ) ) [2..]
)
Pubblicato da koteth 1 commenti