Difference between revisions of "Ro/Haskell"
m |
|||
Line 4: | Line 4: | ||
Limbajul functional succesor al LISP-ului, Scheme-ului si ML-ului !!!<br> | Limbajul functional succesor al LISP-ului, Scheme-ului si ML-ului !!!<br> | ||
Cel mai productiv limbaj functional ! Limbajul folosit de de autorii limbajului Perl 6 si ales de echipa Linspire. <br> | Cel mai productiv limbaj functional ! Limbajul folosit de de autorii limbajului Perl 6 si ales de echipa Linspire. <br> | ||
− | + | Luna mai si semestrul al II-lea sunt perioade de lucru intensiv in Haskell la Iasi. Cititi stirile de mai jos. (19.mai.2007)<br> | |
− | + | ||
+ | A aparut "Introducere in Haskell 98 prin exemple", de Dan Popa.(31.ian.2007) <br> | ||
+ | Am primit cartea "Programare functionala - O introducere utilizand limbajul Haskell", de Mihai Gontineac (Stire din 16.feb.2007) <br> | ||
</center> | </center> | ||
Line 62: | Line 64: | ||
[http://www.myl.ro/forum/index.php?showtopic=1170 - Revedeti opinia pe site-ul revistei.] | [http://www.myl.ro/forum/index.php?showtopic=1170 - Revedeti opinia pe site-ul revistei.] | ||
* Editura [http://www.edusoft.ro EduSoft] ne-a sprijinit inca de la lansare publicand prima carte din Romania in care este pomenit limbajul Haskell [http://www.edusoft.ro/detalii.php?id=1 un manual de Oberon 2 scris in perioada 2002-2005 care in capitolul introductiv prezenta si alte paradigme si limbaje, incluzand aici si limbajul Haskell]. Tot Editura EduSoft a publicat prima carte dedicata integral Haskell-ului. [http://www.edusoft.ro/detalii.php?id=81 - primul manual de Haskell in limba romana.] | * Editura [http://www.edusoft.ro EduSoft] ne-a sprijinit inca de la lansare publicand prima carte din Romania in care este pomenit limbajul Haskell [http://www.edusoft.ro/detalii.php?id=1 un manual de Oberon 2 scris in perioada 2002-2005 care in capitolul introductiv prezenta si alte paradigme si limbaje, incluzand aici si limbajul Haskell]. Tot Editura EduSoft a publicat prima carte dedicata integral Haskell-ului. [http://www.edusoft.ro/detalii.php?id=81 - primul manual de Haskell in limba romana.] | ||
− | * Au primit cu dezinteres materialele, cartile propuse spre editare sau simplele stiri despre Haskell, in ciuda valorii reale a limbajului si a materialelor trimise: | + | * Au primit anul trecut (in 2006) cu dezinteres materialele, cartile propuse spre editare sau simplele stiri despre Haskell, in ciuda valorii reale a limbajului si a materialelor trimise: |
** Editorul Colectiei Linux al Editurii Polirom din Iasi, prof. Gabriel Ciobanu si | ** Editorul Colectiei Linux al Editurii Polirom din Iasi, prof. Gabriel Ciobanu si | ||
** Editorul de la Editura Universitatii Al. I Cuza la care am fost trimis de un alt profesor ce se aratase interesat. | ** Editorul de la Editura Universitatii Al. I Cuza la care am fost trimis de un alt profesor ce se aratase interesat. | ||
− | |||
− | |||
==. Utilizarea ca instrument de realizare a interpretoarelor == | ==. Utilizarea ca instrument de realizare a interpretoarelor == | ||
Line 101: | Line 101: | ||
==. Carti publicate in limba romana== | ==. Carti publicate in limba romana== | ||
− | * | + | * La 31 ianuarie 2007 a aparut primul manual romanesc de Haskell "Introducere in Haskell 98 prin exemple". Volumul de Dan Popa anuntat de revista MyLinux in numarul 47 / 2005 (numarul a ajuns pe piata in ianuarie 2006) este acum publicat si disponibil la Editura [http://www.edusoft.ro Edusoft] (230 pg softcover). [http://www.edusoft.ro/detalii.php?id=81 Aici este prezentat pe site-ul editurii EduSoft]. ISBN 978-973-8934-48-1 Atentie: atunci cand citati cartea va rugam sa luati ISBN-ul de pe pagina a patra.<br>http://www.haskell.org/sitewiki/images/0/0f/Cartea-lui-Dan-Popa-coperta-1.png <br>Volumul isi propune sa-i conduca pe doritorii de a invata Haskell din exemplu in exemplu, de la cea mai simpla functie pina la scrierea unui interpretor. Principiile parsing-ului modular sunt si ele prezentate, impreuna cu exemple si un studiu de caz.Cartea se adreseaza persoanelor care se ocupa de limbaje functionale, practica constructiei interpretoarelor si compilatoarelor si celor interesati de limbaje formale si analiza sintactica. Exista de asemenea pagini dedicate folosirii do-notatiei la implementarea semanticilor. |
Cartea se adreseaza studentilor de la cursurile de limbaje formale si/sau compilatoare din centrele universitare: Bacau, Iasi. (Daca mai stiti si alte centre unde se studiaza Haskell rog sa mi le aduceti la cunostinta pentru a le adauga pe site.) | Cartea se adreseaza studentilor de la cursurile de limbaje formale si/sau compilatoare din centrele universitare: Bacau, Iasi. (Daca mai stiti si alte centre unde se studiaza Haskell rog sa mi le aduceti la cunostinta pentru a le adauga pe site.) | ||
Deoarece au existat mici erori de tipar publicam aici [[Erata cartii "Introducere in Haskell 98 prin exemple"]]. | Deoarece au existat mici erori de tipar publicam aici [[Erata cartii "Introducere in Haskell 98 prin exemple"]]. | ||
− | * | + | * Am primit cartea "Programare functionala - O introducere utilizand limbajul Haskell", de Mihai Gontineac (Stire din 16.feb.2007) <br>[[Image:Haskell-Gontineac-coperta-mica.jpg]]<br> |
Cartea contine un capitol despre lambda calcul, o consistenta traducere a listei functiilor din Standard Prelude (...compiling Standard Prelude) o serie de exemple traditionale de programe cu operatii de I/O (pe care le-am regasit si pe un site chinezesc).Alte exemple clasice rotunjesc setul. In final exista un grup consistent de pagini de programare imperativa in Haskell realizate de studentii domnului M. Gontineac care amintesc de programele in Pascal. Inspirata a fost ideea autorului de a preciza ca acele exemple pot contine greseli. Vom reveni cu detalii.(probabil dupa 20.feb.2007) <br> | Cartea contine un capitol despre lambda calcul, o consistenta traducere a listei functiilor din Standard Prelude (...compiling Standard Prelude) o serie de exemple traditionale de programe cu operatii de I/O (pe care le-am regasit si pe un site chinezesc).Alte exemple clasice rotunjesc setul. In final exista un grup consistent de pagini de programare imperativa in Haskell realizate de studentii domnului M. Gontineac care amintesc de programele in Pascal. Inspirata a fost ideea autorului de a preciza ca acele exemple pot contine greseli. Vom reveni cu detalii.(probabil dupa 20.feb.2007) <br> | ||
Line 152: | Line 152: | ||
Pe 18.02.2007 s-a sustinut la Universitatea Bacau examenul la disciplina Limbaje Formale si Automate. Doua din cele 4 subiecte de pe fiecare bilet s-au referit la Haskell. Toti studentii care s-au prezentat la examen au trecut cu succes examenul. | Pe 18.02.2007 s-a sustinut la Universitatea Bacau examenul la disciplina Limbaje Formale si Automate. Doua din cele 4 subiecte de pe fiecare bilet s-au referit la Haskell. Toti studentii care s-au prezentat la examen au trecut cu succes examenul. | ||
− | Cartea domnului M.Gontineac va avea peste catva timp o recenzie mai amanuntita publicata aici. | + | Bacau: Martie 2007: S-au propus primele teme de licenta (de la Bacau) avand ca limbaj de lucru limbajul Haskell. |
+ | |||
+ | Mai 2007: Edusoft a epuizat primul tiraj din [http://www.edusoft.ro/detalii.php?id=81 "Introducere in Haskell 98 prin exemple" ] si a anuntat (afirma cititorii) un nou tiraj. Pretul a scazut. Profitati de oferta. | ||
+ | |||
+ | Mai 2007: Luna de intensa activitate in domeniile programarii functionale si limbajului Haskell la Iasi. Studentii de la Univ Iasi, facultatile de matematica si informatica, indrumati de prof. Grigoras resp conf. Gontineac se pregatesc de examene, lucreaza la proiecte, studiaza, intreaba, scriu e-mail-uri. O atmosfera plina de dinamism. | ||
+ | |||
+ | Prof Grigoras Gheorghe a postat in cursul acestui semestru (sem.al II-lea din 2007) pe site-ul domniei sale slide-uri de curs de Programare Functionala in care se foloseste Haskell. [http://http://thor.info.uaic.ro/~grigoras/pf/pf.htm Ar trebui sa fie disponibile aici. Link extern!] Format PDF. Numarul lor este in crestere, primele zece sunt deja disponibile (din 14 planificate). Interesanta si utila pentru incepatori este si prezentarea facuta de Marian Radu, pentru uzul studentilor. [http://students.info.uaic.ro/~rammy/haskell/ Ar trebui sa fie aici. Link extern! ] Cam vagi informatiile despre monade. | ||
+ | |||
+ | Cartea domnului conf. M.Gontineac va avea peste catva timp o recenzie mai amanuntita publicata aici. Deocamdata amanata. | ||
+ | |||
+ | Puteti gasi [http://www.edusoft.ro/detalii.php?id=81 "Introducere in Haskell 98 prin exemple" ] si la Biblioteca Seminarului Matematic Al. Myller din Iasi. | ||
+ | |||
+ | Puteti gasi [http://www.edusoft.ro/detalii.php?id=81 "Introducere in Haskell 98 prin exemple" ] si la Bacau la Biblioteca din parcul Cancicov. (in locul fostului stadion din parc). | ||
+ | |||
+ | IN PERSPECTIVA: Se apropie data de incepere a CEFP 2007: Cluj-Napoca/Romania; intre 23-30 iunie 2007 [http://cs.ubbcluj.ro/cefp2007/ CEFP 2007 -Homepage aici]. | ||
+ | |||
</center> | </center> | ||
[http://www.haskell.org/haskellwiki/Ro/Haskell <= Inapoi la inceputul paginii principale Ro/Haskell ] | [http://www.haskell.org/haskellwiki/Ro/Haskell <= Inapoi la inceputul paginii principale Ro/Haskell ] |
Revision as of 10:33, 21 May 2007
Limbajul functional succesor al LISP-ului, Scheme-ului si ML-ului !!!
Cel mai productiv limbaj functional ! Limbajul folosit de de autorii limbajului Perl 6 si ales de echipa Linspire.
Luna mai si semestrul al II-lea sunt perioade de lucru intensiv in Haskell la Iasi. Cititi stirile de mai jos. (19.mai.2007)
A aparut "Introducere in Haskell 98 prin exemple", de Dan Popa.(31.ian.2007)
Am primit cartea "Programare functionala - O introducere utilizand limbajul Haskell", de Mihai Gontineac (Stire din 16.feb.2007)
. IntroducereHaskell este un limbaj de uz general, din categoria limbajelor functionale pure (fara instructiuni imperative sau producatoare de efecte laterale). Foloseste Lazy Evaluation. Beneficiaza de un sistem de tipuri revolutionar, cu tipuri polimorfice si clase de tipuri. Permite programarea cu clase si instante de clase definite utilizator, clasele fiind multimi de structuri algebrice (adica mai mult decat multimi de obiecte). Haskell este DEOSEBIT: El are o sintaxa bidimensionala (bazata pe notiunea de Layout) asa ca simpla aliniere corecta pe verticala va scuteste de paranteze ! Iar daca puneti un spatiu in PLUS nu e o greseala. Sintaxa bidimensionala face programele mult mai clare decat echivalentele lor in LISP (netipizat si cu multe paranteze: LISP = Limbajul InSuportabilelor Paranteze) sau cele in Scheme ori ML. Alte plusuri sunt tipizarea stricta, existenta monadelor si a do-notatiei (o scriere cvasi imperativa posibila intr-un limbaj functional pur) precum si existenta listelor infinite si a "multimilor ordonate" definite descriptiv, numite in manualele de Haskell (in limba engleza) "list comprehensions". Productivitatea programarii in Haskell este net superioara altor limbaje, un algoritm Quicksort scriindu-se in doar 3-4 linii de program nu in 30-40 ca in C sau C++. Dati un click pe link-ul Quicksort pentru a-l vedea. Unul din motivele pentru care Haskell este atat de productiv este posibilitatea de a lucra cu functii de nivel superior, polimorfice, operand inclusiv pe structuri de date definite inductiv. Acele structuri de date beneficiaza de functii de afisare si comparare (si nu numai) generate automat prin "deriving" ori definite de utilizator. V-ati batut capul nu o data sa rescrieti rutinele de afisare ale unor structuri de date compuse (liste de arbori cu noduri perechi de ... samd) care se schimbau pe masura ce dezvoltati proiectul ? Ati refacut mereu functiile de comparatie pentru astfel de structuri de date compuse ? Folositi Haskell si adaugati declaratiilor de date "deriving Show" respectiv "deriving Eq" (Iar lista nu se opreste aici.) Haskell face automat restul si tipul nou creat capata din clipa declararii functiile de afisare sau comparare ce-i sunt necesare fara sa le scrieti dumneavoastra ! Dar le puteti rescrie daca nu va plac. Exista o multime de compilatoare si interpretoare pentru Haskell si sunt disponibile gratuit. Hugs e un interpretor bun pentru primele lectii de Haskell. GHC este un compilator pentru proiecte profesionale. Cititi va rog si paragraful despre: Interpretoare si compilatoare de Haskell disponibile, tot pe aceasta pagina. Apropos: Daca va intereseaza teoria automatelor si limbajelor formale sau metode de transcriere a structurilor de date dintr-un format in altul, Haskell este un instrument excelent. Un translator de la o sintaxa la alta se scrie uimitor de repede, in cateva ore. Ba chiar si un mic limbaj de programare ! Dar nu uitati mai inainte sa cititi ceva despre teoria limbajelor formale. Capitolul dedicat gramaticilor de tip 2 (Context Free Grammmars) din ierarhia lui Chomsky in primul rand dar si celelalte lucrari ale lui Noam Chomsky.
. Despre Haskell dorim sa prezentam...
. Umor glume si anecdote despre Haskell
. Aventura lansarii comunitatii Ro-Haskell
Posted on Oct 12 2005, 03:25 PM Am primit de ceva timp un articol de la colaboratorul nostru Dan Popa, un articol despre programarea in Haskell. Ce parere aveti? V-ar interesa sa cititi despre asa ceva in MyLINUX? Eu sunt intr-o dilema: articolul e bine documentat si bine scris, dar nu sunt sigur ca multa lume ar fi interesata sa invete mai multe despre Haskell. Asa ca va intreb pe voi. - Revedeti opinia pe site-ul revistei.
. Utilizarea ca instrument de realizare a interpretoarelor
. Interpretoare si compilatoare disponibile - pagini in englezaExista o multime de compilatoare si interpretoare pentru Haskell si sunt disponibile gratuit: Hugs (interpretor), GHC (compilator), Hellium (mediu de instruire) si altele. O serie de distributii Linux includ interpretorul Hugs (ex: Mandrake 10.0), altele il ofera pentru download de pe site-ul distributiei (ex: PC Linux OS 9). Unele permit instalarea imediata a interpretorului sau compilatorului de Haskell (ex: Suse 9.x functioneaza cu cele doua binare din distributia Mandrake 10.0).Iar lista nu se opreste aici. Mediul de dezvoltare Kdevelopment permite si realizarea de proiecte in Haskell (are chiar sablon de proiect inclus, pregatit) dar nu uitati sa instalati compilatorul GHC. Versiuni de WinHugs sunt de asemenea disponibile pe platforma Windows. Compilatorul Haskell GHC poate, cu ajutorul unui plug-in special sa lucreze impreuna cu mediul de dezvoltare ECLIPSE ! Nici Visual Studio-ul nu e uitat, exista versiuni in care se poate lucra cu Hasekll. Un instrument util lansat recent este Visual Haskell Puteti descarca software si de pe pagina cu software din site-ul de prezentare a cartii "The Haskell School Of Expression" - Pagina cu link-uri de download.
Iar daca va intereseaza sa descarcati software HDBC-ODBC pentru Windows incercati aceasta pagina cu instructiuni (in engleza).
. Lucrari in limba romana, cronologic2005
2006
. Carti publicate in limba romana
Cartea se adreseaza studentilor de la cursurile de limbaje formale si/sau compilatoare din centrele universitare: Bacau, Iasi. (Daca mai stiti si alte centre unde se studiaza Haskell rog sa mi le aduceti la cunostinta pentru a le adauga pe site.) Deoarece au existat mici erori de tipar publicam aici Erata cartii "Introducere in Haskell 98 prin exemple".
Cartea contine un capitol despre lambda calcul, o consistenta traducere a listei functiilor din Standard Prelude (...compiling Standard Prelude) o serie de exemple traditionale de programe cu operatii de I/O (pe care le-am regasit si pe un site chinezesc).Alte exemple clasice rotunjesc setul. In final exista un grup consistent de pagini de programare imperativa in Haskell realizate de studentii domnului M. Gontineac care amintesc de programele in Pascal. Inspirata a fost ideea autorului de a preciza ca acele exemple pot contine greseli. Vom reveni cu detalii.(probabil dupa 20.feb.2007)
. Carti in pregatire in limba romana
Gasiti in sectiunea Capitole de manual a site-ului parti din DRAFT-ul unui manual despre Haskell pe care am sperat sa le includ intr-un volum despre scrierea unor translatoare utile in securizarea sistemelor on-line. Utilizati-le ca un set de lectii de initiere in Haskell desi unele capitole necesare (monade , I/O etc) nu sunt incluse. In final am inclus o parte din ele in volumul "Introducere in Haskell 98 prin exemple".
Vestea proasta: Datorita felului cum se puncteaza asemenea activitati la Universitatea Bacau, impartind punctajul la numarul autorilor si netinind cont de valoarea cartii sau de faptul ca versiunea romaneasca a unei carti libere trebuie integral rescrisa probabil acest proiect va fi amanat ca fiind neprioritar. Pacat :(
. Distributii Linux de Download apreciateLista urmatoare nu este nici pe departe completa.
Exista si alte distributii Linux care includ Hugs sau mai puternicul GHC. De asemenea exista portari profesionale pe Solaris.
. Mini-biblioteca despre Haskell, Hugs si Limbaje Formale On LineNici nu va inchipuiati cate materiale exista pe Internet. Voi incerca sa intretin o lista de carti si articole disponibile pe Internet, in format PDF sau macar sa indic pe cele mai valoroase.
3.1 The type 'Parser' de la pagina 47 3.2 Elementary parsers de la pagina 49 3.3 Parser combinator de la pagina 52 si mai departe... inclusiv 5.1 Finite state automata de la pagina 85 si urmatoarele
. MesajeDan Popa, initiatorul comunitatii Haskell-Ro, doreste tuturor, atat cadrelor didactice care predau sau vor preda limbaje formale, limbaje functionale sau compilatoare folosind Haskell o lectura instructiva si cat mai placuta, mai ales ca acum este deja publicat un prim manual romanesc de Haskell: "Introducere in Haskell 98 prin exemple" publicat la EduSoft. Drept carte complementara puteti citi cartea domnului M.Gontineac. Contine printre altele o traducere a listei functiilor din Standard Prelude si o serie de exemple de programare imperativa cu operatii de I/O. . StiriPe 18.02.2007 s-a sustinut la Universitatea Bacau examenul la disciplina Limbaje Formale si Automate. Doua din cele 4 subiecte de pe fiecare bilet s-au referit la Haskell. Toti studentii care s-au prezentat la examen au trecut cu succes examenul. Bacau: Martie 2007: S-au propus primele teme de licenta (de la Bacau) avand ca limbaj de lucru limbajul Haskell. Mai 2007: Edusoft a epuizat primul tiraj din "Introducere in Haskell 98 prin exemple" si a anuntat (afirma cititorii) un nou tiraj. Pretul a scazut. Profitati de oferta. Mai 2007: Luna de intensa activitate in domeniile programarii functionale si limbajului Haskell la Iasi. Studentii de la Univ Iasi, facultatile de matematica si informatica, indrumati de prof. Grigoras resp conf. Gontineac se pregatesc de examene, lucreaza la proiecte, studiaza, intreaba, scriu e-mail-uri. O atmosfera plina de dinamism. Prof Grigoras Gheorghe a postat in cursul acestui semestru (sem.al II-lea din 2007) pe site-ul domniei sale slide-uri de curs de Programare Functionala in care se foloseste Haskell. Ar trebui sa fie disponibile aici. Link extern! Format PDF. Numarul lor este in crestere, primele zece sunt deja disponibile (din 14 planificate). Interesanta si utila pentru incepatori este si prezentarea facuta de Marian Radu, pentru uzul studentilor. Ar trebui sa fie aici. Link extern! Cam vagi informatiile despre monade. Cartea domnului conf. M.Gontineac va avea peste catva timp o recenzie mai amanuntita publicata aici. Deocamdata amanata. Puteti gasi "Introducere in Haskell 98 prin exemple" si la Biblioteca Seminarului Matematic Al. Myller din Iasi. Puteti gasi "Introducere in Haskell 98 prin exemple" si la Bacau la Biblioteca din parcul Cancicov. (in locul fostului stadion din parc). IN PERSPECTIVA: Se apropie data de incepere a CEFP 2007: Cluj-Napoca/Romania; intre 23-30 iunie 2007 CEFP 2007 -Homepage aici.
|