Kontentke ótiw

Tolıq funkcional programmalastırıw

Wikipedia — erkin enciklopediya

Tolıq funkcional programmalastırıw (sonday-aq kúshli funkcional programmalastırıw dep te ataladı,[1] ádettegi, yamasa hálsiz funkcional programmalastırıw menen salıstırıw ushın) — bul programmalardıń diapazonın dálilleniwi múmkin tamamlanıwı menen shekleytuǵın programmalastırıw paradigması[2].

Sheklewler

Tamamlanıw tómendegi sheklewler menen kepillenedi:

  1. Tek óz argumentleriniń «qısqartılǵan» formalarında ǵana isleytuǵın rekursiyanıń sheklengen bir forması, mısalı Valter rekursiyası, kishi strukturalıq rekursiya yamasa kodtıń abstrakt interpretaciyası menen dálillengen «qatań normalizaciyalawshı»[3].
  2. Hárbir funkciya tolıq (tolıq emeslikke qarama-qarsı) funkciya bolıwı kerek. Yaǵnıy, ol óziniń domenindegi hárbir nárse ushın anıqlamaǵa iye bolıwı kerek.
    • Bóliw sıyaqlı ádettegi tolıq emes funkciyalardı tolıq etiwdiń bir neshe múmkin bolǵan usılları bar: funkciyanıń ádette anıqlanbaǵan kirgiziwleri ushın qálegen nátiyjeni tańlaw (mısalı, bóliw ushın ); sol kirgiziwler ushın nátiyjeni kórsetiw ushın basqa bir argument qosıw; yamasa olardı anıqlastırıw tipleri sıyaqlı tip sisteması ózgesheliklerin paydalanıp shıǵarıp taslaw.

Bul sheklewler tolıq funkcional programmalastırıwdıń Tyuring-tolıq emes ekenin bildiredi. Degen menen, qollanıwǵa bolatuǵın algoritmler toplamı ele de úlken. Mısalı, asimptotikalıq joqarı shegarası esaplana alatuǵın (tek Valter rekursiyasın qollanatuǵın programma tárepinen) hár qanday algoritmdi, joqarı shegaranı hárbir iteraciya yamasa rekursiyada kemeytiletuǵın qosımsha argument retinde paydalanıp, dálilleniwi múmkin tamamlanatuǵın funkciyaǵa ańsat túrlendiriwge boladı.

Derekler

  1. This term is due to: Turner, D.A. (December 1995). Elementary Strong Functional Programming. First International Symposium on Functional Programming Languages in Education. Springer LNCS. Vol. 1022. pp. 1–13..
  2. Turner, D.A. (2004-07-28), „Total Functional Programming“, Journal of Universal Computer Science, 10-tom, № 7, 751–768-bet, doi:10.3217/jucs-010-07-0751
  3. Turner, D. A. (2000-04-28), „Ensuring Termination in ESFP“, Journal of Universal Computer Science, 6-tom, № 4, 474–488-bet, doi:10.3217/jucs-006-04-0474