1-topshiriq Fan:”Dasturlash uslublari va paradigmalar” Mavzu: Haskel funksional dasturlash tili va uning imkoniyalari


Download 45.23 Kb.
bet2/3
Sana20.01.2023
Hajmi45.23 Kb.
#1103426
1   2   3
Bog'liq
haskell

Haskell 1.0 dan 1.4 gacha


Sinflarni yozing, bu imkon beradi xavfsiz operatorning ortiqcha yuklanishi, birinchi tomonidan taklif qilingan Filipp Vadler va Stiven Blot uchun Standart ML ammo Haskellda 1987 va 1.0 versiyalari orasida birinchi bo'lib amalga oshirildi.
Haskellning birinchi versiyasi ("Haskell 1.0") 1990 yilda aniqlangan.[1] Qo'mitaning sa'y-harakatlari natijasida bir qator til ta'riflari paydo bo'ldi (1.0, 1.1, 1.2, 1.3, 1.4).

Sinflarni yozing kelib chiqishi Haskellda

Haskell 98


1997 yil oxirida seriya avjiga chiqdi Haskell 98, tilning barqaror, minimal, ko'chma versiyasini va unga qo'shiladigan standartni ko'rsatishga mo'ljallangan kutubxona o'qitish uchun va kelajakdagi kengaytmalar uchun asos sifatida. Qo'mita tajriba xususiyatlarini qo'shish va qo'shish orqali Haskell 98 kengaytmalari va variantlarini yaratishni mamnuniyat bilan qabul qildi.
1999 yil fevral oyida Haskell 98 til standarti dastlab nashr etilgan Haskell 98 hisoboti. 2003 yil yanvar oyida qayta ishlangan versiyasi quyidagicha nashr etildi Haskell 98 tili va kutubxonalari: qayta ko'rib chiqilgan hisobot. Til jadal rivojlanib bormoqda Glasgow Haskell kompilyatori (GHC) joriyni ifodalovchi dastur amalda standart.

Haskell 2010 yil


2006 yil boshida Haskell 98 standarti bo'yicha norasmiy nomlangan merosxo'rni aniqlash jarayoni Haskell Prime, boshlangan.[41] Bu yiliga bir martagacha yangi tahrirni ishlab chiqadigan til ta'rifini qayta ko'rib chiqish bo'yicha davom etadigan qo'shimcha jarayon bo'lishi kerak edi. Birinchi qayta ko'rib chiqilgan Haskell 2010 yil, 2009 yil noyabr oyida e'lon qilingan[2] va 2010 yil iyul oyida nashr etilgan.
Haskell 2010 - bu tilni bosqichma-bosqich yangilash, asosan kompilyatorga xos bayroqlar orqali ilgari yoqilgan bir nechta yaxshi ishlatilgan va tortishuvsiz xususiyatlarni o'z ichiga oladi.

  • Ierarxik modul nomlari. Modul nomlari bitta bitta identifikator emas, balki bosh harflar bilan aniqlangan identifikatorlarning nuqta bilan ajratilgan ketma-ketliklaridan iborat bo'lishiga ruxsat beriladi. Bu modullarni ierarxik tarzda nomlashga imkon beradi (masalan, Ma'lumotlar ro'yxati o'rniga Ro'yxat), garchi texnik modullar hali ham bitta monolitik nom maydonida bo'lsa. Ushbu kengaytma Haskell 98-ga qo'shimchada ko'rsatilgan va amalda universal ishlatilgan.

  • The xorijiy funktsiya interfeysi (FFI) boshqa dasturlash tillarini bog'lashga imkon beradi. Faqat bog'lash C Hisobotda ko'rsatilgan, ammo dizayn boshqa tillarni bog'lashga imkon beradi. Buni qo'llab-quvvatlash uchun ma'lumotlar turi deklaratsiyasida hech qanday konstruktorlar bo'lmasligi mumkin edi, bu esa Haskell-da tuzib bo'lmaydigan chet el ma'lumotlari uchun ishonchli nanse turlarini yaratishga imkon berdi. Ushbu kengaytma bundan oldin Haskell 98 hisobotiga qo'shimchada ko'rsatilgan va keng qo'llanilgan.

  • Deb nomlangan n+k naqshlar (shaklning ta'riflari fakt (n + 1) = (n + 1) * fakt n) ga endi ruxsat berilmagan. Bu sintaktik shakar kodi ishlatilgandek ko'rinadigan noto'g'ri semantikaga ega edi (+) operatori, lekin aslida kodni ishlatishni istamagan (-) va (>=).

  • Qoidalari xulosa chiqarish cheklarni yozish uchun ko'proq dasturlarga ruxsat berish uchun bo'shashdi.

  • Biroz sintaksis masalalar (rasmiy grammatikadagi o'zgarishlar) aniqlandi: qo'riqchilar ichida naqshlarni moslashtirishga imkon beradigan naqshli qo'riqchilar qo'shildi; ning qarori operatorning aniqligi haqiqiy amaliyotni aks ettiradigan sodda tarzda ko'rsatilgan; tilning o'zaro ta'sirida chekka holat leksik sintaksis operatorlar va sharhlar ko'rib chiqildi, kutilmagan sintaksis xatolarini yo'q qilish uchun do-notation va if-then-else o'zaro ta'sirini o'zgartirdi.

  • The TIL pragma aniqlandi. 2010 yilga kelib tilga o'nlab kengaytmalar keng qo'llanildi va GHC (boshqa kompilyatorlar qatorida) taqdim etdi TIL identifikatorlar ro'yxati bilan individual kengaytmalarni ko'rsatish uchun pragma. Haskell 2010 kompilyatorlari qo'llab-quvvatlashi shart Haskell2010 kengaytmasi va Haskell 2010-ga qo'shilgan kengaytmalarga mos keladigan bir nechta boshqalarni qo'llab-quvvatlashlari tavsiya etiladi.

Download 45.23 Kb.

Do'stlaringiz bilan baham:
1   2   3




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling