Corso di Rebol
Introduzione: usare Rebol
Introduzione
Perché usare REBOL
Caratteristiche del linguaggio
Installazione
La prima esecuzione
Gli indirizzi relativi alla posta e al proxy
Parole attinenti all'installazione di REBOL

Introduzione [Torna all'indice]

REBOL è un linguaggio interpretato ideato da Carl Sassenrath, già noto per aver realizzato il nucleo del sistema operativo dei computer Amiga (cioè Exec), con lo scopo di semplificare la comunicazione tra applicazioni in esecuzione sullo stesso computer o su computer diversi.
Per far ciò esistono degli strumenti implementati a livello nativo, cioè compresi nel nucleo del linguaggio, che è compilato, e che permettono di gestire nello stesso modo:

Ciò va a tutto vantaggio del polimorfismo e della riusabilità del codice, concetti che non sono più molto di moda, da quando la moda è la programmazione "visuale".
Il fatto che il linguaggio sia interpretato non garantisce la maggiore velocità di esecuzione ottenibile su una data macchina, ma la facilità e la velocità con cui si sviluppa il codice compensa questo difetto, inoltre le parti del linguaggio in cui la velocità è più importante, sono native, cioè compilate (tra queste, ad esempio l'ordinamento di una serie di dati).
Attualmente la versione disponibile gratuitamente è REBOL/Core, in versione beta, che non ha un'interfaccia grafica, e in progetto ci sono due versioni commerciali, una pensata per realizzazioni multimediali (REBOL/Media) e una pensata per una maggiore integrazione con il sistema operativo ospite (REBOL/Command).
Uno degli obiettivi di REBOL è fare in modo che un programma funzioni senza modifiche su una qualsiasi delle piattaforme supportate (che sono 45, considerando anche le varianti).

Perché usare REBOL [Torna all'indice]

Per scrivere programmi che automatizzano la ricerca o la traduzione di dati per applicazioni esistenti (ad esempio cercare).

Non è necessario essere collegati ad Internet.

Caratteristiche del linguaggio [Torna all'indice]

L'elemento fondamentale di REBOL è la parola (word) e, come nel linguaggio umano, una stessa parola può avere un significato, o valore, diverso a seconda del contesto (context) in cui viene usata.
Ogni valore che una parola può avere appartiene ad un tipo di dati (datatype), ma non esiste il concetto di "dichiarazione di tipo" in quanto ad ogni parola è possibile dare successivamente valori con tipi diversi. Non esistono nemmeno i concetti di variabile e di costante in quanto il valore di una parola può essere cambiato in ogni momento, ciò è talmente vero che può essere cambiato anche il valore delle parole definite da REBOL a livello nativo.
Una parola può contenere qualsiasi valore esprimibile da REBOL, quindi sia dati che codice e il contenuto di una parola può essere passato all'interprete per essere eseguito, nello stesso modo in cui si passerebbe il contenuto di un file (locale, tramite ftp, o http).
Per quanto riguarda i calcoli matematici, sono implementate le operazioni algebriche, i logaritmi e alcune funzioni trigonometriche, ma il confronto tra due valori numerici avviene con una tolleranza stabilita dal linguaggio, non dal programmatore, per cui, ad esempio, 1e-16 risulta uguale a 1e-32, ma d'altra parte REBOL non è un linguaggio pensato per applicazioni matematiche.
L'accesso ai file locali avviene specificandone nome e percorso in un modo che cerca di tenere conto delle esigenze di portabilità e le caratteristiche del sistema operativo sottostante, per cui la sintassi del nome dei file è definita da REBOL, ma viene tradotta automaticamente per seguire le convenzioni del sistema operativo (lo stesso vale per i caratteri che indicano la fine delle righe di testo).

Installazione [Torna all'indice]

Per eseguire la prima installazione è necessario prelevare l'archivio corrispondente al sistema operativo desiderato dal sito http://www.rebol.com compilando un breve questionario.
Per eseguire gli aggiornamenti è sufficiente far partire l'interprete e usare la parola upgrade che provvede a prelevare tramite ftp il corretto archivio che poi andrà scompattato.
Una volta scompattato l'archivio si possono consultare le informazioni in Inglese contenute nel file readme.html (oppure readme.txt) che contiene istruzioni per l'installazione con dettagli specifici sui diversi sistemi operativi. In linea di massima è sufficiente mettere il file eseguibile di REBOL nella posizione adatta al sistema operativo in uso e eventualmente impostare una o due variabili di ambiente. In ogni caso una delle idee alla base di REBOL è che l'interpete sia usabile immediatamente, per cui in un computer dove non ci sono problemi di sicurezza è possibile che tutto funzioni semplicemente scompattando l'archivio.

La prima esecuzione [Torna all'indice]

Alla prima esecuzione, REBOL cerca il file user.r e se non lo trova provvede a crearlo eseguendo lo script rebol.r che chiede l'indirizzo email dell'utente, l'indirizzo del server SMTP e del proxy con il numero di porta e il tipo; tali domande sono ripetute ogni qualvolta il file user.r non venga trovato nelle posizioni prestabilite. Inoltre è possibile cambiare temporaneamente queste impostazioni scrivendo la parola set-net al prompt di REBOL, mentre se si vogliono cambiare definitivamente è necessario modificare il file user.r.
È consigliabile effettuare la prima esecuzione quando si è collegati ad Internet in modo da verificare immediatamente le impostazioni relative alla posta e al proxy.

Gli indirizzi relativi alla posta e al proxy[Torna all'indice]

Le impostazioni indispensabili sono l'indirizzo di posta elettronica, che verrà memorizzato in system/user/email, e l'indirzzo del server per la posta in uscita, che verrà memorizzato in system/schemes/default/host. Se il server per la posta in entrata (secondo il protocollo POP) è diverso da quello della posta in ingresso è necessario modificare con un editor il file user.r nella riga simile alla seguente:

set-net [ user@domain.dom smtp.domain.dom none none ]

in modo da sostituire la prima parola "none" con il giusto indirizzo, ad esempio:

set-net [ user@domain.dom smtp.domain.dom pop.domain.dom none ]

Se si è connessi direttamente ad Internet (ad esempio tramite un modem), in genere è necessario impostare il proxy solo per le connessioni ftp e http e non, ad esempio, per le connessioni relative alla posta, per cui il contenuto del file user.r potrebbe essere simile al seguente:

set-net [ user@domain.dom smtp.domain.dom pop.domain.dom none ]

system/schemes/http/proxy/host: "proxy.domain.dom"
system/schemes/http/proxy/port-id: 8080
system/schemes/http/proxy/type: 'generic

system/schemes/ftp/proxy/host: "proxy.domain.dom"
system/schemes/ftp/proxy/port-id: 8080
system/schemes/ftp/proxy/type: 'generic

ATTENZIONE: in alcuni casi il protocollo ftp funziona solo se non usa il proxy.

Se invece si è connessi ad Internet tramite una rete locale e un proxy o un firewall è necessario inserirne le impostazioni in modo che tutti i protocolli ne facciano uso, ad esempio:

set-net [ user@domain.dom smtp.domain.dom pop.domain.dom proxy.domain.dom 1080 'socks ]

Esiste anche la possibilità di non usare il proxy, ad esempio per i collegamenti sulla rete locale o verso un sito dedicato all'home banking, e questo può essere fatto per ogni protocollo indipendentemente dagli altri.
Ad esempio, per collegarsi direttamente al sito 1.2.3.4 e a tutti i siti il cui indirizzo inizia con 5.6.7:

system/schemes/http/proxy/bypass: [ 1.2.3.4 "5.6.7.*" ]

Infine è possibile fornire una password, anche diversa per ogni protocollo, con cui connettersi al proxy o al firewall:

system/schemes/http/proxy/user: "account"
system/schemes/http/proxy/pass: "segreto"

Parole attinenti all'installazione di REBOL [Torna all'indice]

help

fornisce alcune informazioni sull'uso di REBOL

set-net

permette di cambiare l'indirizzo di posta elettronica, quello del server SMTP e quello del proxy

trace/net

permette di vedere alcune informazioni sui collegamenti Internet, in modo da scoprire errori di configurazione

upgrade

si collega al sito http://www.rebol.com per eseguire unoscript che verifica se esiste una versione di REBOL più recente di quella attualmente in uso e dà la possibilità di prelevarla

usage

fornisce informazioni sulle opzioni della riga di comando

[Torna all'inizio di questa pagina]

$VER: 1.1 (14.10.1999) by Daniele Forsi


Copyright AMiWoRLD