This shows you the differences between two versions of the page.
pp:22:limbaje [2022/02/25 18:35] andrei.olaru [Haskell] |
pp:22:limbaje [2022/04/19 16:51] (current) andrei.olaru [Haskell] |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Limbaje ====== | ====== Limbaje ====== | ||
- | Acestea sunt limbajele utilizate în cadrul cursului de Paradigme de Programare: | + | Acestea sunt limbajele utilizate în cadrul cursului de Paradigme de Programare. |
+ | |||
+ | O mașină virtuală (identică cu cea de pe vmchecker) cu toate limbajele instalate se găsesște aici lalinkul de mai jos. Mașina virtuală se poate importa în VMWare Player sau în VirtualBox. | ||
+ | |||
+ | [[https://ctipub.sharepoint.com/:u:/s/03-ACS-L-A2-S2-PP-CA-CC-CD-2021/EXr2xQ4WSJpHpWF4w5ouNLABRja3kT8aluyKCHR-KOdbLg]] | ||
===== Racket ===== | ===== Racket ===== | ||
- | * Pentru Racket vom folosi [[https://download.racket-lang.org/racket-v8.0.html|versiunea 8.0]] (sau ulterior, dar pe vmchecker avem această versiune) | + | * Pentru Racket vom folosi [[https://download.racket-lang.org/racket-v8.4.html|versiunea 8.4]] (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ă | * 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. | * Racket vine cu Editor / mediu de execuție integrat, numit DrRacket, deci nu este necesară utilizarea altui editor. | ||
Line 20: | Line 24: | ||
* **atât pe Linux cât și pe Windows**, apelați dintr-o consolă comenzile: | * **atât pe Linux cât și pe Windows**, apelați dintr-o consolă comenzile: | ||
* <code>stack upgrade</code> | * <code>stack upgrade</code> | ||
- | * <code>stack setup --resolver lts-18.26</code> | + | * <code>stack setup --resolver lts-18.26</code> (acest resolver corespunde cu versiunea de GHCi 8.10.7) |
* <code>stack install random-1.1</code> | * <code>stack install random-1.1</code> | ||
* este bine apoi să | * este bine apoi să | ||
Line 39: | Line 43: | ||
* <code>stack exec ghci</code> pentru o consolă fără a încărca un fișier | * <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 | * <code>stack exec ghci fisier.hs</code> pentru a încărca fișierul dat | ||
+ | * pentru ieșirea din interpretor, folosiți ''Ctrl+D'' | ||
===== Prolog ===== | ===== 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) | + | * Folosim [[http://www.swi-prolog.org/download/stable?show=all|SWI-Prolog]], versiunea 8.4.2 (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]]) | + | * pentru Ubuntu Linux, recomandăm pașii de instalare din snap (vezi [[https://www.swi-prolog.org/build/snap.html|aici]]) |
* Configurări: | * Configurări: | ||
* fișierul de preferințe (dacă va fi nevoie să schimbați ceva, vedeți mai jos): | * 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 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'' | * în Linux, acesta se găsește la ''~/.config/swi-prolog/init.pl'' | ||
* dacă fișierul nu există, puteți să îl creați | * dacă fișierul nu există, puteți să îl creați | ||
Line 53: | Line 57: | ||
* în fișierul de preferințe, se adaugă (la sfârșit) linia: <code>:- set_prolog_flag(encoding,utf8). </code> | * î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): | * **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'' | + | * (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> | * î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 | + | * înlocuiți ''pce_emacs'' cu numele editorului preferat, dacă nu îl vreți pe acesta |
- | * î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 și ''Ctrl-S'' pentru Save: |
- | * 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. | * 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: | * Comenzi utile: | ||
* pornirea consolei Prolog se face prin: | * pornirea consolei Prolog se face prin: | ||
- | * în Linux, comanda ''prolog'' | + | * în Linux, una dintre comenzile ''prolog'', ''swi-prolog'', sau ''swi-prolog.swipl-win'' (dacă a fost instalat ca snap) |
* în Windows, deschiderea aplicației SWI-Prolog, sau comanda ''swipl'' | * în Windows, deschiderea aplicației SWI-Prolog, sau comanda ''swipl'' | ||
* un fișier se încarcă: | * un fișier se încarcă: | ||
Line 71: | Line 74: | ||
* pentru deschiderea editorului configurat se folosește comanda ''edit.'' sau, dacă sunt mai multe fișiere încărcate, ''edit('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 | * î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). | + | * 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. |
* din consola Prolog, se poate cere încărcarea modificărilor prin comanda<code>make.</code> | * din consola Prolog, se poate cere încărcarea modificărilor prin comanda<code>make.</code> | ||
* alte editoare: | * alte editoare: | ||
* GEdit și Mousepad (posibil și alte editoare din Linux) au deja highlighting pentru Prolog. | * 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]] |