L'utilizzo degli operatori simbolici durante la programmazione consente agli sviluppatori di scrivere codice in maniera più elegante e pulita e, molto spesso, anche più velocemente.
Il linguaggio multi-paradigma F#, che si appoggia al framework .NET di Microsoft, non solo abilita i programmatori all'uso di questo tipo di operatori, ma ne permette anche la definizione di nuovi senza confondere questa possibilità con l'operazione di
overloading di una funzione standard.
Come scrive
Ganesan Senthilvel nel suo
blog, un operatore simbolico può essere preceduto da una
sequenza composta da un insieme di simboli diversi, come
!#@$%^&+*-/<=>| e nel seguito è mostrato un esempio relativo alla definizione di una funzione per il
calcolo dei fattoriali:
> let rec(!) x =
if x <= 1 then 1
else x * !(x-1);;
> !5;;
val it : int = 120
Per rendere più comodo l'impiego degli operatori simbolici, è possibile far precedere il simbolo rispetto ai parametri da passare al fine di fornire una lettura più lineare del codice; in questo caso, il prefisso deve essere il carattere di
tilde, il
punto esclamativo o quello di
domanda.
Nel codice presentato nel seguito, la funzione
~++ consente di specificare i valori numerici uno di seguito all'altro piuttosto che nel formato convenzionale
1 ~++ 2 3.
> let (~++) x y z = x + y + z;;
val (~++) : int-> int-> int-> int
> ~++ 1 2 3;;
val it : int = 6