Difference between revisions of "Arbori"
m (adding reference) |
m (→. Arborii) |
||
Line 8: | Line 8: | ||
Un (mic) dezavantaj al declaratiilor de arbori din Haskell efectuate |
Un (mic) dezavantaj al declaratiilor de arbori din Haskell efectuate |
||
− | cu ''data'' este ca nu sunt modulare. Deci o declaratie de arbori facuta intr-un modul poate doar sa fie |
+ | cu ''data'' este ca nu sunt modulare. Deci o declaratie de arbori facuta intr-un modul poate doar sa fie folosita nu si extinsa. |
Exista totusi o solutie: |
Exista totusi o solutie: |
Latest revision as of 10:40, 31 October 2011
. Arborii
se implementeaza usor cu instructiunea data. Servesc la reprezentarea informatiilor structurate cu substructuri.
Vedeti pe pagina de Capitole de manual capitolul privitor la data si la triunghiuri.
Un (mic) dezavantaj al declaratiilor de arbori din Haskell efectuate cu data este ca nu sunt modulare. Deci o declaratie de arbori facuta intr-un modul poate doar sa fie folosita nu si extinsa.
Exista totusi o solutie:
. Arborii modulari
se pot implementa cu pseudoconstructori peste valori monadice (en: pseudoconstructors over monadic values ) si sunt folositi la realizarea de compilatoare modulare si interpretoare modulare.
Sau se pot declara sub forma unei colectii de functii care creaza acesti arbori.
Cateva referinte (lista de completat):
Gasiti un interpretor de arbori (in Haskell) in volumul Practica interpretarii monadice. Arborii sunt declarati simplu cu data.
Gasiti un compilator de arbori sintactici modulari pe pagina destinata compilatoarelor modulare de pe acest wiki... http://www.haskell.org/haskellwiki/Modular_Monadic_Compilers_for_Programming_Languages
Pagina este in dezvoltare. (oct 2011)