Quando diciamo che una monade 'incapsula un calcolo' - sta dicendo semplicemente 'avvolge una trasformazione funzionale dei dati'?

6

Quando penso alla parola "computazione", la mia mente salta al calcolo lambda o alle operazioni su una macchina a stati che rappresenta una CPU. È una definizione abbastanza ampia.

Ora alcune persone parlano di monadi come "rappresentante un'unità di calcolo".

Ma se consideriamo la monade dell'identità - questo è un "riferimento al calcolo". Ma in definitiva stiamo quasi certamente parlando di programmazione funzionale. Usiamo funzioni. Utilizziamo le funzioni per trasformare i dati. Da dove viene questo linguaggio di fantasia?

La mia domanda è: Quando diciamo che una monade "incapsula un calcolo" - sta solo dicendo "avvolge una trasformazione funzionale dei dati"?

    
posta hawkeye 26.09.2014 - 15:34
fonte

1 risposta

3

Il calcolo Lambda non ha un'allegoria del "flusso di dati", ma ha una trasformazione dei dati. Anche il mondo imperativo non ha flusso di dati, ma ha un flusso di calcolo. La modalità monadica combina il meglio dei due mondi: trasformazione dei dati e calcolo esplicito (ordine). E possiamo dire che "dati i monadi incapsula un calcolo"

    
risposta data 14.12.2014 - 10:17
fonte

Leggi altre domande sui tag