Même commande - resultats differents entre run main et console en direct
Bonjour,
Encore une question du débutant en Haskell.
Voici un petit code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
y = 0.0:[]
x = 4.0:[]
a = -0.4:[]
b = 0.0:[]
f = ((head a)*(head x) + (1-(head a))*2*(head x)^2 / (1+(head x)^2)):[]
c = "OK"
x' =0.0:[]
y' =0.0:[]
f' =0.0:[]
main =
do
let x' = ((head b)*(head y) + (head f)):[]
f' = ((head a)*(head x') + (1-(head a))*2*(head x')^2 / (1+(head x')^2)):[]
y' = ((head f') - (head x)):[]
x = (head x'):[]
y = (head y'):[]
print c |
Le code et accepté par WIN GHCi, interpreté et run main imprime bien OK.
Par contre le contenu des listes ne change pas, alors que si après run main j'utilise les mêmes lignes directement sur la console (précédée de let), ça marche parfaitement, les listes changent.
Il doit y avoir une raison que je ne trouve pas.
Pourriez vous m'aider, SVP.
Salutations