Personal tools

Capitole de manual

From HaskellWiki

(Difference between revisions)
Jump to: navigation, search
(Undo revision 43063 by Studentbc (Talk))
 
(34 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
[[Image:Haskelllogo-small-flag-RO-8.jpg|center|Haskell - Un limbaj functional pur]]
 
[[Image:Haskelllogo-small-flag-RO-8.jpg|center|Haskell - Un limbaj functional pur]]
   
Contactul cu un limbaj de programare nou naste intrebari, mai ales cand este vorba de un limbaj atat de inovator. Urmatoarele capitole de manual va sunt oferite. Cum sa le descarcati ? Dati un click-dreapta pe link si alegeti: Save Link As (Indicatia este pentru utilizatorii de Mozilla Firefox)
+
Contactul cu un limbaj de programare functionala nou naste întrebari, mai ales cand este vorba de un limbaj atat de inovator. Urmatoarele capitole de manual va sunt oferite de Dan Popa de la Universitatea Bacau, cu acordul firmei Edusoft. Cum sa le descarcati ? Dati un click-dreapta pe link si alegeti: Save Link As (Indicatia este pentru utilizatorii de Mozilla Firefox). Aceasta pagina a depasit în ianuarie 2010 un total de 5025 de click-uri iar in mai 2010 contorul a urcat la peste 5600 de click-uri. <p class='previewnote'>In cazul în care folositi capitolele pentru elaborarea de lucrari de licenta, lucrari de doctorat, cursuri, prezentari ppt si altele va rugam sa citati sursa corect (cerinta conforma cu Legea 8/1996).</p>
   
  +
Volumul din imagine are ISBN 973-8934-48-6 si cu 13 cifre: ISBN 978-973-8934-48-1
 
__NOTOC__
 
__NOTOC__
 
<center>
 
<center>
 
{| border=0 cellspacing=5 cellpadding=15
 
{| border=0 cellspacing=5 cellpadding=15
 
| valign=top bgcolor=#F0F0F0 style="text-align:left" |
 
| valign=top bgcolor=#F0F0F0 style="text-align:left" |
== Capitole de manuale despre Haskell si Hugs ==
+
== Capitole de manuale despre programare functionala în Haskell (cu Hugs) ==
   
Pe aceasta pagina gasiti o colectie de capitole. <br>
+
Pe aceasta pagina gasiti o colectie de capitole despre <br>
  +
programare functionala în Haskell folosind Hugs.
 
O parte provin din procesul de elaborare al cartii <br>
 
O parte provin din procesul de elaborare al cartii <br>
"Introducere in Haskell 98 prin exemple" de Dan Popa <br>
+
"Introducere în Haskell 98 prin exemple" început de Dan Popa în martie 2005. <br>
http://www.haskell.org/sitewiki/images/0/0f/Cartea-lui-Dan-Popa-coperta-1.png
+
http://www.haskell.org/wikiupload/0/0f/Cartea-lui-Dan-Popa-coperta-1.png
<br> iar alta parte din lucrari separat publicate la diferite manifestari stiintifice.
 
   
* [http://www.haskell.org/sitewiki/images/9/97/De_ce_Haskell.pdf De_ce_Haskell.pdf (application/pdf)] Capitolul introductiv.
+
<br> iar alta parte din lucrari separat publicate la diferite manifestari stiintifice începind cu aprilie 2005.
   
* [http://www.haskell.org/sitewiki/images/8/87/Cap1-10-21.pdf Operatori din Standard Prelude ( Cap1-10-21.pdf 264KB, MIME type: application/pdf)] Despre operatorii din Haskell, asa cum sunt prezentati in Standard Prelude. Da raspuns la primele intrebari despre operatori pe care si le-ar pune cineva care studiaza prima oara limbajul Haskell. Oarecum in faza de draft. Cunoscatorii vor remarca lipsa unor elemente despre subiect, cum ar fi prezentarea claselor de tipuri pe care sunt definiti operatorii: Num, Fractional etc dar vor recunoaste ca n-ar fi indicat sa incepem un manual de Haskell cu o lectie despre clasele de tipuri. :)) In practica puteti afla tipul operatorilor tastand o comanda "t" la promptul "doua puncte" al interpretorului Hugs urmata de operatorul pus in paranteza.
+
* [http://www.haskell.org/wikiupload/0/0b/IntroHaskell98.ps Capitolul I.]
  +
'''NOU''': Datorita faptului ca revista MyLinux nu mai exista si drepturile de autor ale articolului s-au reintors la autor, am decis sa publicam acest prim articol despre Haskell, rezultat al discutiilor purtate cu editorul intre august si dec 2005. Articolul a aparut in numarul din ianuarie 2006 si a stat la baza primului capitol din cartea de mai sus. [http://www.haskell.org/wikiupload/0/0b/IntroHaskell98.ps Download]
   
* Cum sa rulati exemplele folosind interpretorul Hugs - neinclus on-line
+
* [http://www.haskell.org/wikiupload/9/97/De_ce_Haskell.pdf De_ce_Haskell.pdf (application/pdf)]
   
* [http://www.haskell.org/sitewiki/images/e/e5/Tipuri_utilizator.pdf Tipuri_utilizator.pdf] Un capitol de manual despre declararea tipurilor utilizator introduse cu declaratia "data". Exemple de constructori de tip si de constructori de date.
+
* [http://www.haskell.org/wikiupload/8/87/Cap1-10-21.pdf Operatori din Standard Prelude ( Cap1-10-21.pdf 264KB, MIME type: application/pdf)] Despre operatorii din Haskell, asa cum sunt prezentati în Standard Prelude. Da raspuns la primele întrebari despre operatori pe care si le-ar pune cineva care studiaza prima oara limbajul Haskell. Oarecum în faza de draft. Cunoscatorii vor remarca lipsa unor elemente despre subiect, cum ar fi prezentarea claselor de tipuri pe care sunt definiti operatorii: Num, Fractional etc dar vor recunoaste ca n-ar fi indicat sa începem un manual de Haskell cu o lectie despre clasele de tipuri. :)) In practica puteti afla tipul operatorilor tastand o comanda "t" la promptul "doua puncte" al interpretorului Hugs urmata de operatorul pus în paranteza.
   
* [http://www.haskell.org/sitewiki/images/b/bb/Tipuri_recursive.pdf Tipuri_recursive.pdf] Un capitol de manual despre declararea tipurilor utilizator recursive. Arbori. Arbori polimorfi. Astfel de arbori se pot/vor folosi la scriererea interpretoarelor si compilatoarelor pentru a implementa arborii sintaxei abstracte - eng: AST = abstract syntax tree.
+
* Cum sa rulati exemplele folosind interpretorul Hugs. Vedeti la finalul capitolului I de mai sus.
   
* [http://www.haskell.org/sitewiki/images/b/b1/Back-End.pdf Back-End.pdf (298KB, MIME type:pdf)] Arborii sintaxei abstracte atasati constructiilor sintactice ale unui limbaj pot/vor fi folositi de catre a doua parte a interpretorului (Back-End-ul) pentru a rula codul respectiv. Un asemnea Back-End monadic este explicat in capitolul acesta. Back-End-ul acesta l-am folosit in cadrul lucrarilor de laborator pentru a putea rula programele reprezentate prin AST (abstract syntax tree).
+
* [http://www.haskell.org/wikiupload/e/e5/Tipuri_utilizator.pdf Tipuri_utilizator.pdf] Un capitol de manual despre declararea tipurilor utilizator introduse cu declaratia "data". Exemple de constructori de tip si de constructori de date. Am scris acest capitolul acesta în martie 2005, asa cum se vede si din imaginile aflate în capitol.[http://www.haskell.org/sitewiki/images/e/e5/Tipuri_utilizator.pdf - Descarcati capitolul! ]
   
* [http://www.haskell.org/sitewiki/images/9/9b/Transcrierea_semanticii_in_do_notatie.pdf Transcrierea_semanticii_in_do_notatie.pdf ] Explicatii despre do notatia din Haskell si necesitatea indeplinirii legilor monadei intr-un capitol despre avantajele folosirii Haskellului la realizarea implementarii limbajelor.Exista o pagina despre [[legile monadei]] si in sectiunea engleza a site-ului.
+
* [http://www.haskell.org/wikiupload/b/bb/Tipuri_recursive.pdf Tipuri_recursive.pdf] Un capitol de manual despre declararea tipurilor utilizator recursive. Arbori. Arbori polimorfi. Astfel de arbori se pot/vor folosi la scriererea interpretoarelor si compilatoarelor pentru a implementa arborii sintaxei abstracte - eng: AST = abstract syntax tree. Am scris acest capitolul acesta în martie 2005, asa cum se vede si din imaginile aflate în capitol.[http://www.haskell.org/wikiupload/b/bb/Tipuri_recursive.pdf Descarcati capitolul! ]
   
* [http://www.haskell.org/sitewiki/images/2/2f/Cap8-nou-Assembler.pdf Cap8-nou-Assembler.pdf] Un asamblor intr-o coaja de nuca. Cum se poate construi in Haskell un asamblor universal (independent de limbajul de asamblare) dintr-un functor.
+
* Liste. Capitolul despre liste nu este disponibil on-line. Gasiti ceva accesibil, în engleza însa, în volumul [[Gentle]].
   
* Combinatorii de parsere care prin flexibilitate, prin adaptabilitate inlocuiesc vechile instrumente de analiza sintactica (cum ar fi Automatele Push Down) sunt unul din motivele pentru care am ales Haskell-ul ca limbaj pentru lucrarile de laborator la cursul "Limbaje Formale" de la Universitatea Bacau din Romania. (Nu constituie insa singurul motiv. Pe Internet veti gasi o sumedenie de alte materiale privitoare la automate si limbaje formale implementate in Haskell.) In esenta, combinatorii permit construirea incrementala a unui parser mare (al unui limbaj complex) din module care sunt de fapt parsere mai mici. Suportul algebric al combinarii lor il constituie [[monada parserelor]] (una dintre cele mai utile [[monade]]). [http://www.haskell.org/sitewiki/images/0/05/ParseLib-comentat.pdf ParseLib-comentat.pdf - o biblioteca de combinatori de parsere comentata in limba romana]. Pentru implementari industriale incercati mai curand biblioteca Parsec, mai bine pusa la punct si mai adecvata solutiilor vandabile decat ParseLib-ul. Principiile teoretice sunt aceleasi.
+
* [http://www.haskell.org/wikiupload/9/9b/Transcrierea_semanticii_in_do_notatie.pdf Transcrierea_semanticii_in_do_notatie.pdf ] Explicatii despre do notatia din Haskell si necesitatea indeplinirii legilor monadei într-un capitol despre avantajele folosirii Haskellului la realizarea implementarii limbajelor.Exista o pagina despre [[legile monadei]] si în sectiunea engleza a site-ului.
  +
  +
* [http://www.haskell.org/wikiupload/2/2f/Cap8-nou-Assembler.pdf Cap8-nou-Assembler.pdf] Un asamblor într-o coaja de nuca. Cum se poate construi în Haskell un asamblor universal (independent de limbajul de asamblare) dintr-un functor. Acest capitol a fost prezentat în limba engleza la Al 30-lea Congres Anual al Academiei Romano Americane de Arte Si Stiinte (ARA) desfasurat la Chisinau Republica Moldova între 5-10 iulie 2005. Deoarece nu puteam copia integral volumul ARA iar acesta continea articolul în engleza am facut traducerea de mai sus.[http://www.haskell.org/wikiupload/2/2f/Cap8-nou-Assembler.pdf Revedeti traducerea în care figureaza anul 2005 ] In volumul congresului, articolul initial se afla la pg. 196-197-198. ISBN 9975-75-313-2. Pe volum scrie: Legal deposit quarter 2005 Biblioteque nationale du Quebec, National Library of Canada.
  +
  +
* Combinatorii de parsere care prin flexibilitate, prin adaptabilitate înlocuiesc vechile instrumente de analiza sintactica (cum ar fi Automatele Push Down) sunt unul din motivele pentru care am ales Haskell-ul ca limbaj pentru lucrarile de laborator la cursul "Limbaje Formale" de la Universitatea Bacau din Romania. (Nu constituie însa singurul motiv. Pe Internet veti gasi o sumedenie de alte materiale privitoare la automate si limbaje formale implementate in Haskell.) In esenta, combinatorii permit construirea incrementala a unui parser mare (al unui limbaj complex) din module care sunt de fapt parsere mai mici. Suportul algebric al combinarii lor il constituie [[monada parserelor]] (una dintre cele mai utile [[monade]]). [http://www.haskell.org/wikiupload/0/05/ParseLib-comentat.pdf ParseLib-comentat.pdf - o biblioteca de combinatori de parsere comentata in limba romana]. Pentru implementari industriale incercati mai curand biblioteca Parsec, mai bine pusa la punct si mai adecvata solutiilor vandabile decat ParseLib-ul. Principiile teoretice sunt aceleasi.
   
 
* Monade si programare in do-notatie. Capitolul despre [[monade]] nu este disponibil on-line.
 
* Monade si programare in do-notatie. Capitolul despre [[monade]] nu este disponibil on-line.
  +
O lucrare de licenta cu o insiruire de "Monade in programarea functionala"
  +
va realiza un student de la Iasi, cel putin tema este propusa de Prof. Grigoras.
  +
(Conform unei liste de teme publicate...).
   
 
* Instalarea si configurarea software-ului
 
* Instalarea si configurarea software-ului
   
Puteti comanda o intreaga carte tiparita la adresa de comenzi postale a editorului ... pe care urmeaza s-o primesc si eu si s-o anunt aici. Pretul promotional il estimez la circa 22.0 -24.5 RON la care se pot adauga cheltuielile postale.
+
==. Capitol bonus. ==
  +
  +
* [http://www.haskell.org/wikiupload/b/b1/Back-End.pdf Back-End.pdf (298KB, MIME type:pdf)] Arborii sintaxei abstracte atasati constructiilor sintactice ale unui limbaj pot/vor fi folositi de catre a doua parte a interpretorului (Back-End-ul) pentru a rula codul respectiv. Un asemnea Back-End monadic este explicat in capitolul acesta. Back-End-ul acesta l-am folosit in cadrul lucrarilor de laborator pentru a putea rula programele reprezentate prin AST (abstract syntax tree).
  +
  +
Acest capitol on-line oferit ca bonus a fost ulterior inclus in volumul
  +
[[Practica interpretarii monadice]].
  +
  +
(Dan Popa, Universitatea Bacau, Versiuni aflate în lucru sau definitivate în octombrie noiembrie si decembrie 2006 si altele. Ultimul update minor 27 mai.2007, scos pretul vechi în nov 2009.)
  +
  +
==. Capitole din [[Gentle]] ==
  +
Volumul [[Gentle]] este in curs de traducere, iar cateva capitole din el completeaza bine colectia de capitole de mai sus, chit ca sunt din alta carte.
  +
  +
[http://www.haskell.org/wikiupload/5/51/Gentle_36-37-38-39_v05b03.pdf.zip Haskell si programarea imperativa, Clase de tipuri in Haskell]
  +
  +
[http://www.haskell.org/wikiupload/3/38/Gentle_1-19-v06-3Aprilie.pdf.zip Gentle... pg 1-19, incluzand tipuri, sabloane, pattern matching, structuri declarate cu '''data''', arbori, liste, perechi, n-uple etc.]
  +
----
  +
This page has been accessed 1,631 times. 5 September 2008.
  +
  +
This page has been accessed 1,829 times. 11 October 2008.
  +
  +
This page has been accessed 1,894 times. 18 October 2008.
  +
  +
This page has been accessed 1,996 times. 31 October 2008.
  +
  +
This page has been accessed 2,133 times. 19 November 2008.
  +
  +
This page has been accessed 4,365 times. 9 November 2009.
  +
  +
This page has been accessed 5,039 times. 24 January 2010.
  +
  +
This page has been accessed 5,171 times. 5 February 2010.
  +
  +
This page has been accessed 5,606 times. 7 May 2010.
   
(Dan Popa, Universitatea Bacau, versiuni aflate in lucru sau definitivate in octombrie noiembrie si decembrie 2006. Ultimul update 2.februarie.2007)
+
This page has been accessed 7,992 times. 7 Feb 2011.
   
[http://www.haskell.org/haskellwiki/Ro/Haskell <= Inapoi la pagina principala Ro/Haskell ]
+
This page has been accessed 8,361 times. 31 March 2011
  +
----
  +
Pagina indexata la indexul [[Category:Ro]] [http://www.haskell.org/haskellwiki/Category:Ro Categories:Ro]
  +
----
  +
[http://www.haskell.org/haskellwiki/Ro/Haskell <= Inapoi la pagina principala Ro/Haskell. ]<br> <br>
  +
[http://www.haskell.org/haskellwiki/Intrebarile_incepatorului <'''-''' Inapoi la Intrebarile incepatorului Ro/Haskell. ]

Latest revision as of 11:27, 20 November 2011

Haskell - Un limbaj functional pur
Contactul cu un limbaj de programare functionala nou naste întrebari, mai ales cand este vorba de un limbaj atat de inovator. Urmatoarele capitole de manual va sunt oferite de Dan Popa de la Universitatea Bacau, cu acordul firmei Edusoft. Cum sa le descarcati ? Dati un click-dreapta pe link si alegeti: Save Link As (Indicatia este pentru utilizatorii de Mozilla Firefox). Aceasta pagina a depasit în ianuarie 2010 un total de 5025 de click-uri iar in mai 2010 contorul a urcat la peste 5600 de click-uri.

In cazul în care folositi capitolele pentru elaborarea de lucrari de licenta, lucrari de doctorat, cursuri, prezentari ppt si altele va rugam sa citati sursa corect (cerinta conforma cu Legea 8/1996).

Volumul din imagine are ISBN 973-8934-48-6 si cu 13 cifre: ISBN 978-973-8934-48-1

[edit] 1 Capitole de manuale despre programare functionala în Haskell (cu Hugs)

Pe aceasta pagina gasiti o colectie de capitole despre
programare functionala în Haskell folosind Hugs. O parte provin din procesul de elaborare al cartii
"Introducere în Haskell 98 prin exemple" început de Dan Popa în martie 2005.
Cartea-lui-Dan-Popa-coperta-1.png


iar alta parte din lucrari separat publicate la diferite manifestari stiintifice începind cu aprilie 2005.

NOU: Datorita faptului ca revista MyLinux nu mai exista si drepturile de autor ale articolului s-au reintors la autor, am decis sa publicam acest prim articol despre Haskell, rezultat al discutiilor purtate cu editorul intre august si dec 2005. Articolul a aparut in numarul din ianuarie 2006 si a stat la baza primului capitol din cartea de mai sus. Download

  • Operatori din Standard Prelude ( Cap1-10-21.pdf 264KB, MIME type: application/pdf) Despre operatorii din Haskell, asa cum sunt prezentati în Standard Prelude. Da raspuns la primele întrebari despre operatori pe care si le-ar pune cineva care studiaza prima oara limbajul Haskell. Oarecum în faza de draft. Cunoscatorii vor remarca lipsa unor elemente despre subiect, cum ar fi prezentarea claselor de tipuri pe care sunt definiti operatorii: Num, Fractional etc dar vor recunoaste ca n-ar fi indicat sa începem un manual de Haskell cu o lectie despre clasele de tipuri. :)) In practica puteti afla tipul operatorilor tastand o comanda "t" la promptul "doua puncte" al interpretorului Hugs urmata de operatorul pus în paranteza.
  • Cum sa rulati exemplele folosind interpretorul Hugs. Vedeti la finalul capitolului I de mai sus.
  • Tipuri_utilizator.pdf Un capitol de manual despre declararea tipurilor utilizator introduse cu declaratia "data". Exemple de constructori de tip si de constructori de date. Am scris acest capitolul acesta în martie 2005, asa cum se vede si din imaginile aflate în capitol.- Descarcati capitolul!
  • Tipuri_recursive.pdf Un capitol de manual despre declararea tipurilor utilizator recursive. Arbori. Arbori polimorfi. Astfel de arbori se pot/vor folosi la scriererea interpretoarelor si compilatoarelor pentru a implementa arborii sintaxei abstracte - eng: AST = abstract syntax tree. Am scris acest capitolul acesta în martie 2005, asa cum se vede si din imaginile aflate în capitol.Descarcati capitolul!
  • Liste. Capitolul despre liste nu este disponibil on-line. Gasiti ceva accesibil, în engleza însa, în volumul Gentle.
  • Transcrierea_semanticii_in_do_notatie.pdf Explicatii despre do notatia din Haskell si necesitatea indeplinirii legilor monadei într-un capitol despre avantajele folosirii Haskellului la realizarea implementarii limbajelor.Exista o pagina despre legile monadei si în sectiunea engleza a site-ului.
  • Cap8-nou-Assembler.pdf Un asamblor într-o coaja de nuca. Cum se poate construi în Haskell un asamblor universal (independent de limbajul de asamblare) dintr-un functor. Acest capitol a fost prezentat în limba engleza la Al 30-lea Congres Anual al Academiei Romano Americane de Arte Si Stiinte (ARA) desfasurat la Chisinau Republica Moldova între 5-10 iulie 2005. Deoarece nu puteam copia integral volumul ARA iar acesta continea articolul în engleza am facut traducerea de mai sus.Revedeti traducerea în care figureaza anul 2005 In volumul congresului, articolul initial se afla la pg. 196-197-198. ISBN 9975-75-313-2. Pe volum scrie: Legal deposit quarter 2005 Biblioteque nationale du Quebec, National Library of Canada.
  • Combinatorii de parsere care prin flexibilitate, prin adaptabilitate înlocuiesc vechile instrumente de analiza sintactica (cum ar fi Automatele Push Down) sunt unul din motivele pentru care am ales Haskell-ul ca limbaj pentru lucrarile de laborator la cursul "Limbaje Formale" de la Universitatea Bacau din Romania. (Nu constituie însa singurul motiv. Pe Internet veti gasi o sumedenie de alte materiale privitoare la automate si limbaje formale implementate in Haskell.) In esenta, combinatorii permit construirea incrementala a unui parser mare (al unui limbaj complex) din module care sunt de fapt parsere mai mici. Suportul algebric al combinarii lor il constituie monada parserelor (una dintre cele mai utile monade). ParseLib-comentat.pdf - o biblioteca de combinatori de parsere comentata in limba romana. Pentru implementari industriale incercati mai curand biblioteca Parsec, mai bine pusa la punct si mai adecvata solutiilor vandabile decat ParseLib-ul. Principiile teoretice sunt aceleasi.
  • Monade si programare in do-notatie. Capitolul despre monade nu este disponibil on-line.

O lucrare de licenta cu o insiruire de "Monade in programarea functionala" va realiza un student de la Iasi, cel putin tema este propusa de Prof. Grigoras. (Conform unei liste de teme publicate...).

  • Instalarea si configurarea software-ului

[edit] 2 . Capitol bonus.

  • Back-End.pdf (298KB, MIME type:pdf) Arborii sintaxei abstracte atasati constructiilor sintactice ale unui limbaj pot/vor fi folositi de catre a doua parte a interpretorului (Back-End-ul) pentru a rula codul respectiv. Un asemnea Back-End monadic este explicat in capitolul acesta. Back-End-ul acesta l-am folosit in cadrul lucrarilor de laborator pentru a putea rula programele reprezentate prin AST (abstract syntax tree).

Acest capitol on-line oferit ca bonus a fost ulterior inclus in volumul Practica interpretarii monadice.

(Dan Popa, Universitatea Bacau, Versiuni aflate în lucru sau definitivate în octombrie noiembrie si decembrie 2006 si altele. Ultimul update minor 27 mai.2007, scos pretul vechi în nov 2009.)

[edit] 3 . Capitole din Gentle

Volumul Gentle este in curs de traducere, iar cateva capitole din el completeaza bine colectia de capitole de mai sus, chit ca sunt din alta carte.

Haskell si programarea imperativa, Clase de tipuri in Haskell

Gentle... pg 1-19, incluzand tipuri, sabloane, pattern matching, structuri declarate cu data, arbori, liste, perechi, n-uple etc.


This page has been accessed 1,631 times. 5 September 2008.

This page has been accessed 1,829 times. 11 October 2008.

This page has been accessed 1,894 times. 18 October 2008.

This page has been accessed 1,996 times. 31 October 2008.

This page has been accessed 2,133 times. 19 November 2008.

This page has been accessed 4,365 times. 9 November 2009.

This page has been accessed 5,039 times. 24 January 2010.

This page has been accessed 5,171 times. 5 February 2010.

This page has been accessed 5,606 times. 7 May 2010.

This page has been accessed 7,992 times. 7 Feb 2011.

This page has been accessed 8,361 times. 31 March 2011


Pagina indexata la indexul Categories:Ro


<= Inapoi la pagina principala Ro/Haskell.

<- Inapoi la Intrebarile incepatorului Ro/Haskell.