Hodnota call-by-push - Call-by-push-value - Wikipedia

v teorie programovacího jazyka, hodnota call-by-push (CBPV) paradigma,[1] inspirovaný monády, umožňuje psát sémantiku pro lambda-kalkul bez psaní dvou variant pro řešení rozdílu mezi call-by-name a call-by-value. K tomu CBPV zavádí termínový jazyk, který rozlišuje výpočty a hodnoty podle sloganu hodnota je, výpočet ano; tento výrazový jazyk má jedinou objednávku hodnocení. Avšak k vyhodnocení a lambda-kalkul termín podle jména podle jména (CBN) nebo call-by-value (CBV) redukční strategie lze tento výraz přeložit do CBPV pomocí strategie překladu podle jména nebo podle hodnoty, která vede k různým výrazům. Vyhodnocení výsledku překladu podle hodnoty odpovídá vyhodnocení původního termínu se strategií podle hodnoty; vyhodnocení výsledku překladu podle jména odpovídá místo toho vyhodnocení původního termínu se strategií pro jméno.

To je užitečné zejména při řešení sémantiky různých vedlejších účinků, jako je nedokončení, proměnlivý stav nebo nedeterminismus. Místo poskytnutí dvou variant sémantiky, jedné pro pořadí vyhodnocení podle jména a druhé pro hodnotu podle hodnoty, lze jednoduše zadat sémantiku pro termínový jazyk CBPV; jeden získá dvě sémantiky pro lambda-kalkul složením této sémantiky CBPV se stejnými překlady CBV a CBN z lambda-kalkulu.

Reference

  1. ^ Paul Blain Levy. „Call-by-Push-Value: subsumující paradigma“ (PDF). Citovat deník vyžaduje | deník = (Pomoc)