INSTALARE SI UTILIZARE
Pana in prezent Elf-ul nu este un limbaj exportat separat, ci unul care foloseste SML( Standard ML) pentru a rula intrebarile intr-o maniera asemanatoare cu Prologul. Aceasta interactiune este o masura temporara: in viitor se urmareste permiterea exportarii independente a limbajului. Astfel pentru a putea instala Elf, este necesara instalarea unei versiuni de ML sub Linux.
Este indicata folosirea versiunii 110.0.7 Standard ML of New Jersey. Aceasta versiune poate fi descarcata de pe adresa http://cm.bell-labs.com/cm/cs/what/smlnj/index.html sub forma unui pachet rpm smnj -110.0.7-4.i386.rpm . Orice informatii despre cum se instaleaza se gasesc pe acesta pagina.
Pentru a instala Elf-ul s-a folosit arhiva elf-110.tar.gz, alte versiuni nefiind compatibile cu SML (110.0.7) deoarece nu recunosteau unele librari (de exemplu System.time) ,fiind o versiune mai noua. Elf-ul este disponibil de pe serverul Universitatii Carnegie Mellon din Pittsburgh de la adresa ftp://cs.cmu.edu/afs/cs/user/fp/public.
Odata instalat SML for NJ se incepe incarcarea si rularea limbalui ELF,executandu-se urmatorii pasi:
- se seteaza calea directorului current la directorul unde sunt salvate fiserele Eff-ului;
- se lanseaza SMl-ul prin comanda scrisa la consola sml;
- se incarca apoi fisierul -use "export-elf-server.sml";
- se tasteaza la consola -use "export-elfsml.sml" si se editeaza bin/elf-server pentru a actualize locatia SML-ului (../run/run.<architecture>) si locatia heap-ului (.../bin/elfsml.heap.<architecture>) ;
Cateva exemple pot fi gasite in arhiva elf-examples.tar.Z. Pentru a le incarca, dupa ce au fost instalate) trebuie date urmatoarele comenzi :
% bin/elfsml
- cd "examples/lam";
- use "load.sml";
- load ();
- top ();
?- ... intrebari ...
?- ^D % Control-D pentru a reveni la SMLIn fiecare director exista un fisier example.quy care contine exemple de intrebari. Ele pot fi rulate cu ajutorul comenzii :
- batch_top "examples.quy".
Daca se doreste repetarea intrebarii, adica mai multe solutii se va tipari ;<Return>. Tiparind simplu "<Return>" se va intoarce la top-level si va rezolva urmatoarea intrebare.