Cos'è miranda?

Miranda

Miranda è un linguaggio di programmazione funzionale non-rigoroso, sviluppato da David Turner all'Università del Kent alla fine degli anni '80. È un linguaggio proprietario, basato sui precedenti linguaggi SASL e KRC. Pur non essendo più in uso attivo, Miranda è stato influente nello sviluppo di linguaggi funzionali successivi, in particolare Haskell.

Caratteristiche principali:

  • Funzionale puro: Miranda aderisce al paradigma della programmazione funzionale, il che significa che le funzioni non hanno effetti collaterali e il risultato di una funzione dipende esclusivamente dai suoi argomenti.
  • Non-rigoroso (Lazy Evaluation): Miranda utilizza la valutazione non-rigorosa, il che significa che le espressioni vengono valutate solo quando il loro valore è effettivamente necessario. Questo può portare a una maggiore efficienza e alla possibilità di lavorare con strutture dati infinite.
  • Sistema di tipi: Miranda ha un forte sistema di tipi polimorfico, con inferenza di tipo. Ciò significa che il compilatore può spesso dedurre i tipi di variabili ed espressioni senza che il programmatore debba specificarli esplicitamente.
  • Pattern Matching: Miranda supporta il pattern matching, una potente tecnica per definire funzioni che operano su diversi casi o forme di dati.
  • List Comprehension: Miranda offre list comprehension, una sintassi concisa per creare nuove liste basate su altre liste.

Influenza:

Miranda è stato un importante precursore di Haskell. Molti concetti e caratteristiche presenti in Haskell, come la valutazione non-rigorosa, il sistema di tipi e le list comprehension, sono stati influenzati da Miranda.