Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pp:23:laboratoare:haskell:tipuri [2023/04/16 18:29]
bot.pp created
pp:23:laboratoare:haskell:tipuri [2023/04/25 09:08] (current)
bot.pp
Line 2: Line 2:
  
   * Data publicării:​ 16.04.2023   * Data publicării:​ 16.04.2023
-  * Data ultimei modificări: ​16.04.2023+  * Data ultimei modificări: ​17.04.2023
  
 ===== Obiective ===== ===== Obiective =====
Line 206: Line 206:
 ==== Tipuri parametrizate ==== ==== Tipuri parametrizate ====
  
-Haskell ne permite crearea de tipuri care primesc ca parametru un alt tip. De exemplu tipul de date [[http://​www.haskell.org/​haskellwiki/​Maybe|''​%%Maybe%%''​]] are următoarea definiție:+Haskell ne permite crearea de tipuri care primesc ca parametru un alt tip. De exemplu tipul de date [[http://​www.haskell.org/​haskellwiki/​Maybe|Maybe]] are următoarea definiție:
  
 <​code>​ <​code>​
Line 221: Line 221:
  
 </​code>​ </​code>​
-Observăm că valorile de tip ''​%%Maybe a%%''​ pot fie să încapsuleze o valoare de tipul ''​%%a%%'',​ fie să nu conțină nimic, în mod similar cu tipul ''​%%void%%''​ din C. Această structură ne este utilă atunci când lucrăm cu funcții care pot eșua în a întoarce o valoare utilă. De exemplu, putem folosi ''​%%Maybe%%''​ pentru a reimplementa funcția ''​%%head%%''​ în așa fel încât să evităm excepțiile dinamice apărute ​de aplicarea funcției pe lista vidă:+Observăm că valorile de tip ''​%%Maybe a%%''​ pot fie să încapsuleze o valoare de tipul ''​%%a%%'',​ fie să nu conțină nimic, în mod similar cu tipul ''​%%void%%''​ din C. Această structură ne este utilă atunci când lucrăm cu funcții care pot eșua în a întoarce o valoare utilă. De exemplu, putem folosi ''​%%Maybe%%''​ pentru a reimplementa funcția ''​%%head%%''​ în așa fel încât să evităm excepțiile dinamice apărute ​la aplicarea funcției pe lista vidă:
  
 <​code>​ <​code>​
Line 280: Line 280:
 ===== Resurse ===== ===== Resurse =====
  
-  * [[https://​github.com/​cs-pub-ro/​PP-laboratoare/​blob/​master/​haskell/​tipuri/​haskell-cheatsheet-2.pdf|Cheatsheet]]+  * [[https://​github.com/​cs-pub-ro/​PP-laboratoare/​raw/​master/​haskell/​tipuri/​haskell-cheatsheet-2.pdf|Cheatsheet]]
   * [[https://​ocw.cs.pub.ro/​courses/​_media/​pp/​23/​laboratoare/​haskell/​tipuri-schelet.zip|Schelet]]   * [[https://​ocw.cs.pub.ro/​courses/​_media/​pp/​23/​laboratoare/​haskell/​tipuri-schelet.zip|Schelet]]
   * [[https://​ocw.cs.pub.ro/​courses/​_media/​pp/​23/​laboratoare/​haskell/​tipuri-solutii.zip|Soluții]]   * [[https://​ocw.cs.pub.ro/​courses/​_media/​pp/​23/​laboratoare/​haskell/​tipuri-solutii.zip|Soluții]]
pp/23/laboratoare/haskell/tipuri.1681658943.txt.gz · Last modified: 2023/04/16 18:29 by bot.pp
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0