https://wiki.haskell.org/index.php?title=Exista_o_functie_cons_ca_in_LISP_%3F&feed=atom&action=historyExista o functie cons ca in LISP ? - Revision history2024-03-28T11:49:52ZRevision history for this page on the wikiMediaWiki 1.35.5https://wiki.haskell.org/index.php?title=Exista_o_functie_cons_ca_in_LISP_%3F&diff=28554&oldid=prevHa$kell: speech about cons2009-06-10T19:05:56Z<p>speech about cons</p>
<p><b>New page</b></p><div>Da, numai ca nu se numeste 'cons'. Si este un operator binar infixat - dar in esenta este tot o functie.<br />
<br />
Se scrie ':'<br />
<br />
Lista [1,2,4,7] este de fapt 1:2:4:7:[] si deoarece operatorul asociaza la DREAPTA 1:2:4:7:[] inseamna 1:(2:(...)) adica 1:(2:(4:(7:[] ))).<br />
<br />
Tipul (semnatura) acestei functii este unul polimorfic. Ea primeste un argument de tip ''x'' si un al doilea argument de tip ''lista de x''. Din ele produce o ''lista de x''-uri.<br />
<br />
(:) :: x -> [x] -> [x]<br />
<br />
Sau daca vreti, asa, evidentiind pe randul al doilea tipul rezultatului:<br />
<br />
(:) :: x -> [x] <br />
-> [x]<br />
<br />
Despre acest operator se spune ca ar fi provocat mari discutii in comitetul Haskell. Unii vorbitori au cerut ca : sa fie rezervat pentru semnaturile functiilor , ca in matematica. f:'''R'''-> '''R'''<br />
<br />
A invins partida celor care il doreau pe '''':'''' insemnand ''cons''.</div>Ha$kell