Olma-0 - Alma-0

Olma-0
Paradigmako'p paradigma: cheklash, majburiy, mantiq
LoyihalashtirilganKshishtof Apt, Mark Bezem, Jeykob Brunekri, Vinsent Partington, Andrea Sherf
TuzuvchiCentrum Wiskunde & Informatica
Matnni yozishstatik
Veb-saytwww.cwi.nl/en/alma
Mayor amalga oshirish
Olma-0

Olma-0 a ko'p paradigma kompyuter dasturlash tili. Ushbu til imperativning kengaytirilgan versiyasidir Modula-2 mantiqiy-dasturlash xususiyatlariga ega til va qulay orqaga qaytish qobiliyat.[1] Bu kichik, qattiq yozilgan va kombaynlar cheklash dasturlash, cheklangan miqdordagi xususiyatlardan ilhomlangan mantiqiy dasturlash va qo'llab-quvvatlaydi majburiy paradigmalar. Til tarafdorlari deklarativ dasturlash. Dizaynerlarning ta'kidlashicha, u bilan tuzilgan qidiruvga yo'naltirilgan echimlar mutlaqo imperativ yoki mantiqiy dasturlash uslubida yozilgan hamkasblariga qaraganda ancha sodda.[iqtibos kerak ] [1] Alma-0 qidiruv daraxtlarini qurish uchun tabiiy, yuqori darajadagi inshootlarni taqdim etadi.[2]

Umumiy nuqtai

Alma-0 dizaynerlari deklarativ dasturiy konstruktsiyalarni birlashtirishga bo'lgan avvalgi urinishlarga qaraganda (masalan, masalan) farqli va sezilarli darajada sodda taklifni yaratmoqchi edilar. avtomatik orqaga qaytish ) majburiy dasturlashda Alma-0 dizayni quyidagi to'rtta printsip asosida boshqarilgan:

  • mantiqqa asoslangan kengaytma bo'lishi kerak pastga asosiy imperativ dasturlash tili bilan mos keladi
  • mantiqqa asoslangan kengaytma bo'lishi kerak yuqoriga qo'llab-quvvatlaydigan kelajakdagi kengaytma bilan mos keladi cheklash dasturlash
  • kengaytmani amalga oshiradigan konstruktsiyalar deklarativ dasturlashni qo'llab-quvvatlashi va rag'batlantirishi kerak.
  • kengaytma kichik bo'lishi kerak (to'qqizta yangi xususiyat taklif qilingan va amalga oshirilgan)

Alma-0 ni nafaqat o'ziga xos va aniq dasturlash tili taklifi, balki a ning misoli sifatida ham ko'rish mumkin umumiy usul deklarativ dasturlashni qo'llab-quvvatlaydigan funktsiyalar bilan har qanday majburiy dasturlash tilini kengaytirish uchun.

Alma-0 yondashuvining maqsadga muvofiqligi tilni to'liq amalga oshirish (shu jumladan, uning semantikasini tavsiflash) orqali amalga oshirildi. Modula-2.

Xususiyatlari

Alma-0-da amalga oshirilgan xususiyatlarga quyidagilar kiradi:

  • mantiqiy iboralarni bayonot sifatida ishlatish va aksincha
  • uchun dual UCHUN shaklida noaniq determinizmni kiritadigan bayonot tanlov nuqtalari va orqaga qaytish
  • a BARCHA UCHUN backtracking orqali boshqariladigan iteratsiya shaklini taklif qiladigan bayonot
  • birlashtirish bu tenglikni topshiriq sifatida ishlatish bilan cheklangan bo'lsa ham, yangisini beradi parametrlarni o'tkazish mexanizm.

Imperativ va mantiqiy dasturlash rejimlari

Alma-0 dizaynerlarining ta'kidlashicha, odatda sof deklarativ va mantiqiy dasturlashdan qochadigan topshiriq, aslida bir qator tabiiy vaziyatlarda, shu jumladan hisoblash va ro'yxatga olish uchun zarurdir. Shuningdek, ular mantiqiy dasturlash paradigmasi doirasidagi topshiriqning bunday "tabiiy" ishlatilishini ifodalash vositalari g'ayritabiiy ekanligini tasdiqlaydilar.

Adabiyotlar

  1. ^ Liu, Jed; Myers, Endryu C. (2003). JMatch: Java uchun o'zgaruvchan mavhum naqsh namunalari. Kompyuter fanidan ma'ruza matnlari. 2562/2003. 110-127 betlar. doi:10.1007/3-540-36388-2_9. ISBN  978-3-540-00389-2.
  2. ^ Van Xentenrik, Paskal; Perron, Loran; Puget, Jan-Fransua (2000 yil oktyabr). "OPL-da qidirish va strategiyalar". Hisoblash mantig'idagi ACM operatsiyalari. 1 (2): 285–320. CiteSeerX  10.1.1.17.836. doi:10.1145/359496.359529.