La programmazione simbolica e la metaprogrammazione sono la stessa cosa?

4

Sono programmazione simbolica e metaprogramming la stessa cosa?

Ho sempre letto sulla programmazione simbolica durante l'utilizzo di Mathematica, ma non ho mai cercato il significato, l'ho cercato oggi e ho scoperto che entrambi i concetti sono simili, ci sono differenze?

    
posta Billy Rubina 10.06.2012 - 14:52
fonte

1 risposta

4

La programmazione simbolica riguarda la manipolazione di strutture simboliche, di solito rappresentative di formule e conseguenze di calcolo. Mathematica manipola le formule matematiche utilizzando tecniche di riscrittura per aiutare le persone a ottenere informazioni dettagliate sul loro significato. Prolog usa il concatenamento all'indietro per trovare le conseguenze. I sistemi di vincoli risolvono serie di vincoli per le risposte. Questi sistemi tendono a combinare riscrittura, dimostrazione teorica, propagazione dei vincoli, corrispondenza dei modelli e inferenza avanti / indietro per ottenere l'effetto desiderato.

Penso che la metaprogrammazione sia un tipo speciale di programmazione simbolica, in cui le strutture simboliche rappresentano fatti o pezzi di programmi (compresi interi). Una delle tecniche di metaprogrammazione più generiche è trasformazione del programma , che fornisce la possibilità di manipolare la sorgente del programma all'incirca nello stesso modo in cui la matematica consente una per manipolare le formule matematiche.

In pratica, la metaprogrammazione può utilizzare tutte le tecniche della programmazione simbolica. Utilizza anche molti algoritmi specifici che la maggior parte delle persone considera come compilazione (ad es. Analisi del flusso di dati), ma è in realtà un calcolo con fatti codificati in modo efficiente, quindi per me la maggior parte della compilazione è l'elaborazione simbolica.

    
risposta data 10.06.2012 - 17:29
fonte

Leggi altre domande sui tag