Mis vahe on Haskellis "las x = 5" ja "x = 5" vahel?


Vastus 1:

x = 5 võib olla

  • kõrgema taseme deklaratsioon - kohalik deklaratsioon, mis sisaldab väljendit või blokeeringut
x = 5 - kõrgeima taseme deklaratsioon foo = - rumal näide func, lisab 5, siis jagab 2-ga, las y = 2 x = 5 (/ y). (+ x) foo = (/ y). (+ x), kus y = 2 x = 5

las x = 5 võib olla

  • Laske avaldise algus (vt eespool) kohaliku deklaratsiooni loendis, mis hõlmab kohalikku deklaratsiooni märkeplokis.

Mis see ei saa olla, on tipptasemel deklaratsioon.

Haskelli uustulnukad on see viimane punkt sageli segaduses, kuna nad peavad GHCi kesta töötades kirjutama mitte ainult x = 5, vaid x = 5. Kuid see on sellepärast, et GHCI toimib nii, et mähitakse kõik trükitud read kaudsesse sisselaskesse, nii et kood, mille te GHCi-sse interaktiivselt sisestate, muutub pikaks pesastatud avaldiseks. Selle tulemusel ei järgi CHCi sisestatud kood täpselt samasugust vormingut nagu tavaline Haskelli kood.