Personal tools

Capitole de manual

From HaskellWiki

Revision as of 01:06, 11 February 2007 by Ha$kell (Talk | contribs)

Jump to: navigation, search
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)


Capitole de manuale despre Haskell si Hugs

Pe aceasta pagina gasiti o colectie de capitole.
O parte provin din procesul de elaborare al cartii
"Introducere in Haskell 98 prin exemple" inceput de Dan Popa in martie 2005.
Cartea-lui-Dan-Popa-coperta-1.png
iar alta parte din lucrari separat publicate la diferite manifestari stiintifice incepind cu aprilie 2005.

  • 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.
  • Cum sa rulati exemplele folosind interpretorul Hugs - neinclus on-line. Acest capitol a fost trimis revistei MyLinux in cursul anului 2005 si publicat, cu intarzierea de rigoare in ianuarie 2006. Asa va deveni vizibil faptul ca acest capitol a fost scris INAINTE de ianuarie 2006. Voi posta ultima pagina a acestui capitol, cu luna aparitiei, sigla revistei MyLinux si adresa mea de e-mail imediat ce obtin acordul editorului. Mai aveti putin de asteptat...Negocierile privitoare la conditiile de tiparire si stabilirea interesului cititorilor au avut loc in 2005.
  • 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 in martie 2005, asa cum se vede si din imaginile aflate in 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 in martie 2005, asa cum se vede si din imaginile aflate in capitol.Descarcati capitolul!
  • 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).
  • 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.
  • 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. Acest capitol a fost prezentat in limba engleza la Al 30-lea Congres Anual al Academiei Romano Americane de Arte Si Stiinte (ARA) desfasurat la Chisinau Republica Moldova intre 5-10 iulie 2005. Deoarece nu puteam copia integral volumul ARA iar acesta continea articolul in engleza am facut traducerea de mai sus.Revedeti traducerea in 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 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). 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.
  • 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.

(Dan Popa, Universitatea Bacau, Versiuni aflate in lucru sau definitivate in octombrie noiembrie si decembrie 2006 si altele. Ultimul update 11.februarie.2007)

<= Inapoi la pagina principala Ro/Haskell