Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
pp:haskell-environment [2019/02/15 17:54]
lfa fix program name
pp:haskell-environment [2019/02/15 18:06] (current)
lfa [Useful snippets]
Line 4: Line 4:
  
 Primul pas spre a putea învăța Haskell este să avem o modalitate de a rula codul scris. Puteți descărca platforma Haskell de [[https://​www.haskell.org/​platform|aici]] (Windows/OS X/Linux) sau puteți căuta pachetul "​ghc"​ în repourile distribuției voastre. Primul pas spre a putea învăța Haskell este să avem o modalitate de a rula codul scris. Puteți descărca platforma Haskell de [[https://​www.haskell.org/​platform|aici]] (Windows/OS X/Linux) sau puteți căuta pachetul "​ghc"​ în repourile distribuției voastre.
 +
 +<note tip>
 +Cel mai probabil, ar trebui să rulați:
 +
 +<​code>​
 +$ sudo apt-get install ghc
 +</​code>​
 +</​note>​
  
 [[https://​wiki.haskell.org/​GHC|GHC]] este un compilator de Haskell, similar cu gcc. Pentru început, nu vom compila programe, ci vom rula în modul interactiv, care ne permite să apelăm funcții din consolă și să vedem rezultatul lor. Putem să încărcăm și fișiere cu fragmente de cod din care să apelăm funcții definite de noi.  [[https://​wiki.haskell.org/​GHC|GHC]] este un compilator de Haskell, similar cu gcc. Pentru început, nu vom compila programe, ci vom rula în modul interactiv, care ne permite să apelăm funcții din consolă și să vedem rezultatul lor. Putem să încărcăm și fișiere cu fragmente de cod din care să apelăm funcții definite de noi. 
Line 139: Line 147:
 http://​book.realworldhaskell.org/​read/​io.html http://​book.realworldhaskell.org/​read/​io.html
  
-Fără însă a intra în detalii despre ''​IO'',​ puteți scrie diverse programe utile pornind ​doar de la următoarele două snippeturi, doar respectând interfața funcției ''​myFunction''​ și înlocuindu-i definiția cu logica implementată de voi:+==== Useful snippets ====  
 + 
 +Fără însă a intra în detalii despre ''​IO'',​ puteți scrie diverse programe utile pornind de la următoarele două snippeturi, doar respectând interfața funcției ''​myFunction''​ și înlocuindu-i definiția cu logica implementată de voi:
  
 <code haskell> <code haskell>
Line 151: Line 161:
  - $ ./program < input.txt > output.txt  - $ ./program < input.txt > output.txt
  -  -
- - În final, rezultatul vostru va trebuie ​să fie un șir (hint: căutați funcția+ - În final, rezultatul vostru va trebui ​să fie un șir (hint: căutați funcția
  - "​show"​)  - "​show"​)
  -}  -}
Line 159: Line 169:
 main = do main = do
     input <- getContents     input <- getContents
-    putStr (myFunc ​input)+    putStr (myFunction ​input)
 </​code>​ </​code>​
  
Line 175: Line 185:
  - $ ./program arg1 arg2 arg3 > output.txt  - $ ./program arg1 arg2 arg3 > output.txt
  ​- ​  ​- ​
- - În final, rezultatul vostru va trebuie ​să fie un șir (hint: căutați funcția+ - În final, rezultatul vostru va trebui ​să fie un șir (hint: căutați funcția
  - "​show"​)  - "​show"​)
  -}  -}
Line 186: Line 196:
 </​code>​ </​code>​
  
 +==== Hello, world! ====
 De exemplu, puteți scrie următorul corp de funcție (în oricare dintre snippeturi, deoarece își ignoră parametrul):​ De exemplu, puteți scrie următorul corp de funcție (în oricare dintre snippeturi, deoarece își ignoră parametrul):​
 <code haskell> <code haskell>