Torna all'elenco delle lezioni Introduzione all'uso di REBOL

di Daniele Forsi versione 2.0 del 28 gennaio 2000

Indice

Introduzione
Caratteristiche del linguaggio
L'installazione
La prima esecuzione
Gli indirizzi relativi alla posta e al proxy
Parole attinenti all'installazione di REBOL

Introduzione [Indice di questa lezione]

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 nella parte compilata del linguaggio, che permettono di gestire nello stesso modo strutture di dati presenti in memoria (ad esempio liste), file locali (accessibili tramite il sistema operativo della macchina su cui il programma è in esecuzione) e file remoti (accessibili tramite ftp o http), ciò 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 ciò è compensato dalla velocità di sviluppo del codice, inoltre le parti più critiche sono native (ad esempio l'ordinamento di una serie di dati).
Attualmente la versione disponibile gratuitamente è REBOL/Core, 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 (REBOL/Command).
Uno degli obiettivi di REBOL è fare in modo che un programma funzioni senza modifiche su una qualsiasi delle piattaforme supportatate (che sono 45, considerando anche le varianti).

Caratteristiche del linguaggio [Indice di questa lezione]

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.

L'installazione [Indice di questa lezione]

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 usare la parola 'upgrade che provvede a prelevare tramite ftp il corretto archivio che andrà scompattato.
Una volta scompattato l'archivio è consigliabile consultare il 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.

La prima esecuzione [Indice di questa lezione]

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 [Indice di questa lezione]

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) tramite un provider locale, in genere si può ottimizzare la velocità dei collegamenti ai siti più visitati impostando il proxy solo per le connessioni ftp e http e non, ad esempio, per le connessioni relative alla posta, per cui il contenuto di 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 ]
Le possibili alternative per il tipo di proxy sono:
'none per non usare nessun proxy
'socks per usare il tipo di proxy predefinito per REBOL (il più recente che l'interprete supporta, che attualmente è la versione 5)
'generic per un proxy tipo che segue lo standard del CERN (come Squid)
'socks4 per usare un proxy in versione 4
'socks4 per usare un proxy in versione 5
Se infine si è connessi ad Internet tramite un provider a livello nazionale, in genere il proxy non esiste, per cui vanno bene i valori di default, cioè none.

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, al limite 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 [Indice di questa lezione]

help fornisce alcune informazioni sull'uso di REBOL e su specifiche parole
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, 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


Per commenti su questa pagina o se vuoi collaborare scrivi a Daniele Forsi