Differences

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

Link to this comparison view

pp:23:laboratoare:haskell:clase [2023/04/23 12:06]
bot.pp created
pp:23:laboratoare:haskell:clase [2023/04/25 09:07] (current)
bot.pp
Line 317: Line 317:
 Cele spuse mai sus dezvăluie o caracteristică interesantă a sistemului de tipuri Haskell. De exemplu, o funcție în Haskell este ceva de tipul ''​%%a -> b%%'',​ i.e. ia o valoare de tip ''​%%a%%''​ si produce o valoare de tip ''​%%b%%''​. Cele spuse mai sus dezvăluie o caracteristică interesantă a sistemului de tipuri Haskell. De exemplu, o funcție în Haskell este ceva de tipul ''​%%a -> b%%'',​ i.e. ia o valoare de tip ''​%%a%%''​ si produce o valoare de tip ''​%%b%%''​.
  
-''​%%BST%%''​ se comportă ca o funcție, dar la nivel de tip. Constructorii de tip ''​%%BST%%''​ iau ca argument un tip de date și produce ​alt tip de date. De exemplu, ''​%%BST Int%%''​ ia tipul Int ca argument și produce un tip de date care reprezintă un arbore de întregi. Spunem că ''​%%BST%%''​ este un **tip de ordin superior** (higher-order type) - în cazul de față este un **constructor de tip unar**.+''​%%BST%%''​ se comportă ca o funcție, dar la nivel de tip. Constructorii de tip ''​%%BST%%''​ iau ca argument un tip de date și produc ​alt tip de date. De exemplu, ''​%%BST Int%%''​ ia tipul Int ca argument și produce un tip de date care reprezintă un arbore de întregi. Spunem că ''​%%BST%%''​ este un **tip de ordin superior** (higher-order type) - în cazul de față este un **constructor de tip unar**.
  
-Pentru a afla informații despre clase în ''​%%ghci%%''​ se poate utiliza comanda ''​%%:​info <​typeclass%%''​ unde typeclass este clasa despre care dorim să aflăm informații.+Pentru a afla informații despre clase în ''​%%ghci%%''​ se poate utiliza comanda ''​%%:​info <​typeclass>%%''​ unde typeclass este clasa despre care dorim să aflăm informații.
  
 Mai multe detalii [[http://​www.haskell.org/​tutorial/​classes.html|aici]] Mai multe detalii [[http://​www.haskell.org/​tutorial/​classes.html|aici]]
Line 325: Line 325:
 ===== Resurse ===== ===== Resurse =====
  
-  * [[https://​github.com/​cs-pub-ro/​PP-laboratoare/​blob/​master/​haskell/​clase/​haskell-cheatsheet-3.pdf|Cheatsheet]]+  * [[https://​github.com/​cs-pub-ro/​PP-laboratoare/​raw/​master/​haskell/​clase/​haskell-cheatsheet-3.pdf|Cheatsheet]]
   * [[https://​ocw.cs.pub.ro/​courses/​_media/​pp/​23/​laboratoare/​haskell/​clase-schelet.zip|Schelet]]   * [[https://​ocw.cs.pub.ro/​courses/​_media/​pp/​23/​laboratoare/​haskell/​clase-schelet.zip|Schelet]]
   * [[https://​ocw.cs.pub.ro/​courses/​_media/​pp/​23/​laboratoare/​haskell/​clase-solutii.zip|Soluții]]   * [[https://​ocw.cs.pub.ro/​courses/​_media/​pp/​23/​laboratoare/​haskell/​clase-solutii.zip|Soluții]]
  
  
pp/23/laboratoare/haskell/clase.1682240810.txt.gz · Last modified: 2023/04/23 12:06 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