This shows you the differences between two versions of the page.
pp:21:limbaje [2021/03/29 12:22] andrei.olaru [Haskell] |
pp:21:limbaje [2021/04/27 10:56] (current) andrei.olaru [Prolog] |
||
---|---|---|---|
Line 10: | Line 10: | ||
===== Haskell ===== | ===== Haskell ===== | ||
- | * pentru Haskell vom folosi [[https://docs.haskellstack.org/en/stable/README/|Haskell Stack]] | + | * pentru Haskell vom folosi [[https://docs.haskellstack.org/en/stable/README/|Haskell Stack]] |
- | * **instalare** | + | * **instalare** |
- | * Windows: | + | * Windows: |
- | * todo | + | * descărcați și rulați [[https://get.haskellstack.org/stable/windows-x86_64-installer.exe|installer-ul]] |
- | * Linux (vedeți și [[https://docs.haskellstack.org/en/stable/install_and_upgrade/#linux|instrucțiunile oficiale]]): | + | * Linux (vedeți și [[https://docs.haskellstack.org/en/stable/install_and_upgrade/#linux|instrucțiunile oficiale]]): |
- | * descărcați [[https://get.haskellstack.org/stable/linux-x86_64.tar.gz|arhiva]] | + | * descărcați [[https://get.haskellstack.org/stable/linux-x86_64.tar.gz|arhiva]] |
- | * dezarhivați oriunde și creați un link simbolic spre **fișierul** ''stack'' din directorul unde ați dezarhivat în ''/usr/local/bin'': <code> | + | * dezarhivați oriunde și creați un link simbolic spre **fișierul** ''stack'' din directorul unde ați dezarhivat în ''/usr/local/bin'': <code> |
ln -s <cale-absolută-spre-stack> /usr/local/bin/stack </code> | ln -s <cale-absolută-spre-stack> /usr/local/bin/stack </code> | ||
- | * apelați comanda ''stack setup'' (durează) | + | * **atât pe Linux cât și pe Windows**, apelați dintr-o consolă comenzile: |
- | * când aveți nevoie să deschideți consola de Haskell, apelați | + | * <code>stack upgrade</code> |
- | * ''stack exec ghci'' pentru o consolă fără a încărca un fișier | + | * <code>stack setup --resolver lts-17.4</code> |
- | * ''stack exec ghci fisier.hs'' pentru a porni și a încărca fișierul dat | + | * <code>stack install random-1.1</code> |
- | * NOTĂ: în mașina virtuală avem versiunea 17.4 pentru resolverul e stack | + | * identificați fișierul ''stack.yaml'': |
- | ===== Prolog ===== | + | * în Linux, calea ar trebui să fie ''~/.stack/global-project/stack.yaml'' |
- | * revenim cu detalii despre versiune și instalare | + | * în Windows, calea ar trebui să fie ''C:\sr\global-project'' |
+ | * în acest fișier, opțiunile ar trebui să fie: | ||
+ | * ''resolver: lts-17.4'' | ||
+ | * ''extra-deps: [random-1.1]'' | ||
+ | * 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 director 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''. | ||
+ | * pentru pornirea **interpretorului**, apelați | ||
+ | * <code>stack exec ghci</code> pentru o consolă fără a încărca un fișier | ||
+ | * <code>stack exec ghci fisier.hs</code> pentru a încărca fișierul dat | ||
+ | ===== Prolog ===== | ||
+ | * Folosim [[http://www.swi-prolog.org/download/stable?show=all|SWI-Prolog]], versiunea 8.2.4 (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]]) | ||
+ | * Configurări: | ||
+ | * fișierul de preferințe (dacă va fi nevoie să schimbați ceva, vedeți mai jos): | ||
+ | * în Windows, acesta se găsește în directorul AppData/Roaming (e.g. ''C:\Users\Name\AppData\Roaming\SWI-Prolog''), cu numele init.pl | ||
+ | * în Windows, acesta poate fi deschis și din aplicația SWI-Prolog, meniul Settings -> User init file | ||
+ | * în Linux, acesta se găsește la ''~/.config/swi-prolog/init.pl'' | ||
+ | * dacă fișierul nu există, puteți să îl creați | ||
+ | * activare suport **diacritice** în surse -- **doar dacă diacriticele nu sunt suportate automat**: | ||
+ | * în fișierul de preferințe, se adaugă (la sfârșit) linia: <code>:- set_prolog_flag(encoding,utf8). </code> | ||
+ | * **configurare editor** care pornește atunci când folosiți comanda ''edit.'' din consolă (pare că în windows această configurare nu merge dacă prologul este pornit cu `swipl` din consola sistemului): | ||
+ | * (editorul care vine cu SWI-Prolog este ''pce-emacs'' | ||
+ | * în fișierul de configurare, adăugați opțiunea:<code>:- set_prolog_flag(editor, pce_emacs). </code> | ||
+ | * înlocuiți ''pce_emacs'' cu numele editorului preferat | ||
+ | * în Windows, ar trebui ca ''pce_emacs'' să fie activ automat dacă se pornește prologul din Start sau deschizând un fișier princ click; dacă nu, încercați ca din fereastra prologului să folosiți comanda "User init file" din meniul "Settings" și apoi să reporniți Prolog | ||
+ | * pentru **keyboard shortcuts în editorul pce_emacs**, 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ă File -> Save și se repornește Prologul. | ||
+ | * Comenzi utile: | ||
+ | * pornirea consolei Prolog se face prin: | ||
+ | * în Linux, comanda ''prolog'' | ||
+ | * în Windows, deschiderea aplicației SWI-Prolog, sau comanda ''swipl'' | ||
+ | * un fișier se încarcă: | ||
+ | * în Linux: deschizând Prolog cu ''prolog fisier.pl'' din consola sistemului | ||
+ | * în Windows: | ||
+ | * prin deschiderea fișierului din Explorer, sau | ||
+ | * prin comanda ''swipl fisier.pl'' din consola sistemului | ||
+ | * din consola Prolog, prin comanda ''load_files('fisier.pl').'' | ||
+ | * pentru deschiderea editorului configurat se folosește comanda ''edit.'' sau, dacă sunt mai multe fișiere încărcate, ''edit('fisier.pl').'' | ||
+ | * încărcare modificări | ||
+ | * dacă folosiți editorul pce_emacs, din editorul deschis se poate cere încărcarea modificărilor în consola Prolog prin comanda ''Compile Buffer'' (din meniul ''Compile''), sau cu scurtătura Ctrl-c Ctrl-b după salvare. Practic, trebuie apăsat Ctrl-s Ctrl-c Ctrl-b (posibil să fie necesar Ctrl-x Ctrl-s pe Linux pentru salvare). | ||
+ | * din consola Prolog, se poate cere încărcarea modificărilor prin comanda<code>make.</code> | ||
+ | * 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]] |