La funzione Lambda è uguale a quella di Actor? Come può essere spiegato?

5

Qualche tempo fa ho letto (da un libro) che concettualmente la funzione Lambda è simile ad Actor.

Tuttavia, sono chiaro sul concetto e apprezzerò qualsiasi intuizione o spiegazione per questo.

Se sono davvero simili come? Se no c'è qualche relazione tra i concetti?

    
posta Eonil 20.02.2011 - 19:03
fonte

2 risposte

5

Solitamente la "funzione lambda" non è diversa da una "funzione regolare"; 'lambda' è solo un modo sintattico per definire rapidamente una funzione anonima sul posto. Se una funzione regolare è un attore nel tuo libro, anche lambda è.

Le funzioni nella maggior parte delle lingue sono le chiusure, cioè, se si riferiscono ad alcuni oggetti "esterni", continuano a riferirsi ad esse e possono memorizzare lo stato in esse, se sono mutabili. Ciò può aiutare una funzione / attore a "designare il comportamento da utilizzare per il prossimo messaggio che riceve". Ovviamente una funzione pura è incapace di questo.

In genere le funzioni possono restituire qualsiasi tipo di oggetto, in modo che possano restituire qualsiasi nuovo attore che creano. Quindi anche una funzione pura può "inviare messaggi" e "creare attori" restituendoli. Una funzione impura può solo inviare messaggi e creare oggetti.

Lambda calcolo , come nota l'articolo di wikipedia, non è adatto al tipico modello di attore, perché è puro e non può condividere lo stato. Ma il modello di attore può essere implementato con funzioni per lo più pure, come mostra il modello di attore di Erlang .

    
risposta data 20.02.2011 - 21:02
fonte
2

Comunicare i processi sequenziali descrive l'utilizzo di funzioni (pure) per modellare i processi. CSP assomiglia molto agli attori (ma vedi qui per come non sono identici): un processo è una funzione che prende qualche input e restituisce un'altra funzione che descrive il suo prossimo comportamento. Gli attori assomigliano molto al CSP: un attore prende un messaggio e restituisce un altro attore che descrive il suo prossimo comportamento.

    
risposta data 21.02.2011 - 11:57
fonte

Leggi altre domande sui tag