Qual è il modello matematico della classe di Python?

10

Comprendo che il modello classico dei lambda-paper non è valido per Python.

E le chiusure non sono il modello matematico dell'implementazione del sistema Python.

Quindi quale modello è?

    
posta alinsoar 07.12.2012 - 01:23
fonte

1 risposta

7

La principale differenza tra Python e modelli di carte classiche sul calcolo lambda è che Python è un linguaggio multi-paradigma. La maggior parte dei lavori che considerano il calcolo lambda considerano un linguaggio funzionale puro, senza le complessità implicate aggiungendo altri paradigmi (come OOP o programmazione logica).

Dalla domanda e dai tuoi commenti, deduco che tu sia interessato alle basi di tali linguaggi multi-paradigma. In tal caso, posso consigliare vivamente Concetti, tecniche e modelli di programmazione per computer di Peter van Roy e Seif Haridi . Il libro parla principalmente della lingua di Mozart / Oz, che di per sé è una lingua piuttosto accademica. Tuttavia, il libro dimostra in modo molto chiaro come iniziare con un linguaggio di base molto piccolo e creare programmazione orientata agli oggetti, funzionale e logica su di esso (e tutti all'interno dello stesso linguaggio di base).

Per quanto riguarda l'attuale modello matematico, la maggior parte dei linguaggi di programmazione ha solo una specifica informale o semi-formale. Raramente ne trovi uno che abbia una teoria adeguata come il calcolo lambda come fondamento. Esistono molti modelli matematici diversi che sono stati inventati e sono più o meno applicabili. Ciò che è interessante è che esiste una distinzione generale nei diversi approcci su come la semantica di programmazione è modellata: la semantica può essere descritta denotazionalmente, operativamente o algebricamente. Se vuoi andare ancora più in profondità, leggere un po 'di Unifying Theories of Programming è un inizio, anche se un duro uno con una curva di apprendimento ripida.

    
risposta data 07.12.2012 - 08:35
fonte

Leggi altre domande sui tag