= Limbaje = Acestea sunt limbajele utilizate în cadrul cursului de Paradigme de Programare: == Racket == * Pentru Racket vom folosi [[https://download.racket-lang.org/racket-v7.6.html|versiunea 7.6]] (sau ulterior, dar pe vmchecker avem această versiune) * pentru Linux, recomandăm instalarea folosind fișierul ''.sh'' descărcat de pe pagina de mai sus. Executați fișierul descărcat în linia de comandă * Racket vine cu Editor / mediu de execuție integrat, numit DrRacket, deci nu este necesară utilizarea altui editor. == Haskell == * pentru Haskell vom folosi [[https://github.com/commercialhaskell/stack/releases/tag/v1.9.3|Haskell Stack 1.9.3]] * **instalare** * Windows: * rulați [[https://github.com/commercialhaskell/stack/releases/download/v1.9.3/stack-1.9.3-windows-x86_64-installer.exe|installer-ul]] * instalați în calea implicită (''%APPDATA%\local\bin'') * eventual, verificați că această cale a fost adăugată la PATH și este de asemenea și valoare a variabilei de mediu ''STACK_ROOT'' * Linux: * descărcați [[https://github.com/commercialhaskell/stack/releases/download/v1.9.3/stack-1.9.3-linux-x86_64.tar.gz|arhiva]] * dezarhivați oriunde și creați un link simbolic spre fișierul ''stack'' în ''/usr/local/bin'': ln -s /usr/local/bin/stack * **configurare:** dorim să folosim GHC 7.8 (instrucțiuni comune pentru Windows și Linux) * deschideți o consolă * rulați, și **imediat după apariția output-ului (partea cu ''Downloading...'') opriți cu ''Ctrl-C''**: ''stack setup'' * editați fișierul ''stack.yaml'' (calea acestuia a fost scrisă la output de comanda anterioară) * în Linux, calea ar trebui să fie ''~/.stack/global-project/stack.yaml'' * în Windows, calea ar trebui să fie ''%APPDATA%\local\bin\global-project\stack.yaml'' sau ''C:\sr\global-project\stack.yaml'' sau similar * editați intrarea ''resolver'' pentru a avea: ''resolver: lts-2.22'' * editați sau adăugați intrarea ''extra-deps'' pentru a avea: ''extra-deps: [random-1.1]'' * salvați, închideți, și rulați din nou ''stack setup'' ; așteptați terminarea instalării * dacă primiți o eroare de permisiuni (chiar dacă a scris "Everything is ok") --> reîncercați cu drepturi de administrator; atenție să se folosească fișierul yaml corect. * dacă primiți o eroare legată de ''Cannot find -l'' trebuie să instalați acea bibliotecă pe sistemul vostru * dacă primiți o eroare legată de ''realgcc'' (probabil pe windows) --> urmăriți pașii (vedeți și [[https://github.com/commercialhaskell/stack/issues/3213#issue-235243426|aici]]): * mergeți în directorul ''%APPDATA%\Local\Programs\stack\x86_64-windows\ghc-7.8.4\mingw\bin\'' (sau similar, în funcție de instalarea voastră) * faceți o copie a fișierului ''x86_64-w64-mingw32-gcc.exe'' și redenumiți-o la ''realgcc.exe''. * rulați din nou ''stack setup'' și continuați cu urmărirea instrucțiunilor. * rulați ''stack install random'' * pentru verificare: * descărcați fișierul ''{{ check-haskell-stack-install.hs |check-haskell-stack-install.hs}}'' * porniți o linie de comandă în același directorul cu fișierul descărcat * executați ''stack exec ghci check-haskell-stack-install.hs'' * așteptați prompterul ''*Main>'', apoi dați comanda ''check'' * ar trebui să apară mesajul ''Install OK''. * deschideți fișiere haskell (e.g. ''lab.hs'') cu ''stack exec ghci lab.hs''. * utilizare [[http://www.notepad-plus-plus.org/|Notepad++]] ca editor: * se selectează Language -> Haskell. == Prolog == * Folosim [[http://www.swi-prolog.org/download/stable?show=all|SWI-Prolog]], versiunea 7.4.0 (sau ulterior, dar pe vmchecker avem această versiune) * pentru Ubuntu Linux, recomandăm pașii de instalare direct din PPA (vezi [[http://www.swi-prolog.org/build/PPA.html|aici]]) * suport **diacritice** în surse: * dacă diacriticele nu sunt suportate automat, trebuie editat fișierul de preferințe. * în Windows, acesta se găsește în directorul AppData/Roaming (e.g. ''C:\Users\Name\AppData\Roaming\SWI-Prolog''), cu numele swipl.ini * în Linux, acesta se găsește în ''~/.swiplrc'' * în fișierul de preferințe, se adaugă (la sfârșit) linia: :-set_prolog_flag(encoding,utf8). * **utilizare editor pce-emacs** (vine cu instalarea de SWI-Prolog): * pentru **activarea** editorului pce-emacs: * în Windows, în Prolog dați Settings -> User Init File și optați pentru crearea unei configurații implicite. * în Windows și Linux, în fișierul de configurare (vezi mai sus), adăugați opțiunea: :- set_prolog_flag(editor, pce_emacs). * pentru **keyboard shortcuts**, dacă nu merge ''Ctrl-V'' pentru Paste: * Edit -> Editor Preferences -> se decomentează linia ''key_binding.style: cua'' (prin eliminarea semnului de exclamare de la începutul liniei), se dă Save și se repornește prologul. * după ce s-a încărcat un fișier în consolă (fie deschizând cu ''prolog fisier.pl'', fie prin comanda ''load_files('fisier.pl').'', se folosește comanda ''edit.'' sau, dacă sunt mai multe fișiere încărcate, ''edit('fisier.pl').'' * din editorul deschis, se poate cere încărcarea modificărilor în consola Prolog prin comanda ''Compile Buffer'' (din meniul ''Compile''), cu scurtătura Ctrl-c Ctrl-b (după salvare. Practic, trebuie apăsat Ctrl-s Ctrl-c Ctrl-b pe Windows, și Ctrl-x Ctrl-s Ctrl-c Ctrl-b) * încărcare modificări: * din consola Prolog, se poate cere încărcarea modificărilor prin comanda ?- make. * alte editoare: * GEdit și Mousepad (posibil și alte editoare din Linux) au deja highlighting pentru Prolog. * utilizare Notepad++: * trebuie adăugate definițiile pentru syntax highlighting. Vezi, [[http://docs.notepad-plus-plus.org/index.php/User_Defined_Language_Files|aici]]