Wolfram tili - Wolfram Language

Wolfram tili
Wolfram Language Logo 2016.svg
ParadigmaKo'p paradigma: muddatli qayta yozish, funktsional, protsessual, qator
LoyihalashtirilganStiven Volfram
TuzuvchiWolfram tadqiqotlari
Birinchi paydo bo'ldi1988
Barqaror chiqish
12.1[1] / 2020 yil 18 mart; 8 oy oldin (2020-03-18)
Matnni yozishDinamik, kuchli
OSO'zaro faoliyat platforma
LitsenziyaMulkiy (ba'zi platformalar uchun bepul)[2]
Fayl nomi kengaytmalari.nb, .m, .wl
Veb-saytwww.wolfram.com/ til/
Mayor amalga oshirish
Matematik, Wolfram | Bittasi, Matematika, Tushuntirish, MockMMA
Ta'sirlangan
Ta'sirlangan

The Wolfram tili general ko'p paradigma hisoblash tili[7] tomonidan ishlab chiqilgan Wolfram tadqiqotlari. Bu ta'kidlaydi ramziy hisoblash, funktsional dasturlash va qoidalarga asoslangan dasturlash[8] va o'zboshimchalik bilan ishlatishi mumkin tuzilmalar va ma'lumotlar.[8] Bu matematik ramziy hisoblash dasturining dasturlash tili Matematik.[9]

Tarix

Wolfram tili 1988 yilda Mathematica-ning dastlabki versiyasining bir qismi bo'lgan.[10] MockMMA ning 1991 yildagi misollariga qaraganda M ifodasi sintaksis shu vaqtdan beri mavjud bo'lib, ramziy, funktsional va naqshga mos keladiganqayta yozish inshootlar.[11] Umuman olganda, bular Wolfram a Turing tugadi meta-algoritmlarni qo'llab-quvvatlaydigan va ortiqcha funktsiyalar.

Dvigatelning ramziy jihatlari uni kompyuter algebra tizimiga aylantiradi. Til integratsiya, farqlash, matritsa manipulyatsiya qilish va hal qilish differentsial tenglamalar bir qator qoidalar yordamida. Shuningdek, 1988 yilda daftar modeli va ovoz va tasvirlarni joylashtirish qobiliyati mavjud edi Teodor Grey patent.[12]

Til uchun onlayn frontend, Volfram Alfa, 2009 yilda chiqarilgan. Wolfram ushbu veb-saytni tarjima qilish orqali amalga oshirdi tabiiy til ma'lumotlar bazasiga bog'langan Wolfram tilidagi so'rovlarga bayonotlar. Ushbu yo'nalish tilning auditoriyasini ancha kengaytirdi va Wolfram Alpha-ga olib boradigan ish shuni anglatadiki, Volframning ushbu tilni amalga oshirishi endi bilim bazasiga va tabiiy tilni qayta ishlash funktsiyalariga ega. Wolfram, shuningdek, 3D modellashtirish kabi murakkab vazifalar uchun funktsiyalarni qo'shdi.[13]

Nihoyat 2013 yilda til uchun nom qabul qilindi, chunki Wolfram Research kompaniyasi til dvigatelining versiyasini bepul qilishga qaror qildi Raspberry Pi foydalanuvchilar, va ular buning nomini topishlari kerak edi.[14] Bu tavsiya etilgan dasturiy ta'minot to'plamiga kiritilgan Raspberry Pi fondi Volfram tili tufayli ba'zi tortishuvlarga sabab bo'lgan yangi boshlanuvchilarni ta'minlaydi mulkiy tabiat.[15] Wolfram tilini Intel Edison kengashi taqdimotidan so'ng e'lon qilindi CES 2014.[16] 2019 yilda Wolfram kutubxonalarini moslashtirish uchun havola qo'shildi Birlik o'yin dvigateli, o'yinni ishlab chiquvchilarga tilning yuqori darajadagi funktsiyalaridan foydalanish imkoniyatini beradi.[17][18]

Sintaksis

Wolfram tili sintaksisi umuman o'xshashdir M ifodasi 1960-yillarning LISP uchun qo'llab-quvvatlash bilan infix operatorlari va "function-notation" funktsiyasini chaqiradi.

Asoslari

Wolfram tili yordamida asosiy arifmetik ifodalarni yozadi infix operatorlari.

(* Bu sharh. *)4+3(* = 7 *)1+2*(3+4)(* = 15 *)(* Ko'paytirishni bekor qilishni unutmang: 1 + 2 (3 + 4) *)(* Bo'limlar ratsional sonlarni qaytaradi: *)3/2(* = 3/2 *)

Funktsional qo'ng'iroqlar kvadrat qavs bilan belgilanadi:

Gunoh[Pi](* = 0 *)(* Bu ratsionallikni suzuvchi nuqtalarga o'tkazish funktsiyasi: *)N[3/2](* = 1.5 *)

Ro'yxatlar jingalak qavs ichiga kiritilgan:

Sintaksis shakar

Mumkin ifoda ko'rsatishning muqobil, odamlarga qulay uslubi mavjud bo'lganda, til M ekspression paradigmasidan chetga chiqishi mumkin:

  • Ushbu tilda bir qator formatlash qoidalari, shu jumladan ishlatiladi TeXForm iboralar uchun va InputForm tilni kiritish uchun.
  • Funksiyalar prefiks iborasi yordamida ham qo'llanilishi mumkin @ va postfiks ifodasi //.
  • Hosillarni apostrof bilan belgilash mumkin '.
  • Infix operatorlari o'zlari uchun "shakar" hisoblanadi funktsiya belgisi tizim.

A FullForm formatlashtiruvchi kirishni talab qiladi:[19]

FullForm[1+2](* = Ortiqcha [1, 2] *)

Funktsional dasturlash

Koriing qo'llab-quvvatlanadi.

Naqshni moslashtirish

Wolfram tilidagi funktsiyalar, asosan, almashtirish uchun oddiy naqshlardir:

F[x_]:=x^0

The := x "zudlik bilan qidirilmasligi uchun" SetDelayed operatori "dir. x_ sintaksis shakaridir Naqsh [x, bo'sh []], ya'ni bahoning qolgan qismida x o'rnini bosadigan har qanday qiymat uchun "bo'sh".

Ning takrorlanishi qabariq turi quyidagicha ifodalanadi:

tartib qoidasi:={x___,y_,z_,k___}/;y>z->{x,z,y,k}(* Qoida [Vaziyat [Ro'yxat [PatternSequence [x, BlankNullSequence []], Pattern [y, Blank []], Pattern [z, Blank []], PatternSequence [k, BlankNullSequence []]], Greater [y, z ]], Ro'yxat [x, z, y, k]] *)

The /; operatori "shart" dir, shuning uchun qoida faqat qachon amal qiladi y> z. Uchta pastki chiziq a uchun sintaksisdir BlankNullSequence [], nol bo'lishi mumkin bo'lgan ketma-ketlik uchun.

O'zgartirish takrorlangan //. operatoridan hech qanday o'zgarish bo'lmaguncha ushbu qoidani qayta-qayta qo'llash uchun foydalanish mumkin:

{9,5,3,1,2,4}//.tartib qoidasi(* = ReplaceRepeated [{9, 5, 3, 1, 2, 4}, sortRule] *)(* = {1, 2, 3, 4, 5, 9} *)

The naqshlarni moslashtirish tizim, shuningdek, osonlikcha qoidalarga asoslangan integratsiya va hosilalarni keltirib chiqaradi. Quyida Rubi qoidalar to'plamidan parchalar keltirilgan:[20]

(* O'zaro qoidalar *)Int[1/x_,x_Symbol]:=Kirish[x];(* Quvvat qoidasi *)Int[x_^m_.,x_Symbol]:=x^(m+1)/(m+1)/;FreeQ[m,x]&&NeQ[m,-1]

Amaliyotlar

Wolfram tilining rasmiy va ma'lumotnomasini amalga oshirish Mathematica va unga bog'liq bo'lgan onlayn xizmatlarga tegishli. Ular yopiq manbadir.[21] Wolfram Research kompaniyasi shu bilan birga a C ++ ostida tilni tahlil qiluvchi ochiq manba MIT litsenziyasi.[22] Ushbu tilda yozilgan bir qator kutubxonalar va funktsiyalar ochiq manba bo'lib, ma'lumotnomaning o'zi ochiq kirish.[23]

Volfram tilining uch o'n yillik hayotida bir qator ochiq manba uchinchi tomon dasturlari ham ishlab chiqilgan. Richard Fatemanning 1991 yildagi MockMMA-si tarixiy ahamiyatga ega. Zamonaviylari 2020 yil aprelidan boshlab saqlanib kelinmoqda Symja-ni o'z ichiga oladi Java, qisqartirish Golang va SymPy asoslangan Matematika.[24] Ushbu dasturlar asosiy tilga va kompyuter algebra tizimi bu Wolframning onlayn "bilim bazasi" xususiyatlariga emas, balki nazarda tutadi.

Nomlash

Til 2013 yil iyun oyida rasmiy ravishda nomlandi, ammo hisoblash tizimining orqa tomoni sifatida Matematik, u Mathematica-ning dastlabki chiqarilishidan beri 30 yildan ortiq vaqt davomida turli xil shakllarda ishlatilgan.[9][25] 2013 yilgacha u "M" va "Wolfram tili" kabi bir nechta ismlar bilan atalgan. Wolfram Research tomonidan ko'rib chiqilishi mumkin bo'lgan boshqa nomlarga "Lingua" va "Express" kiradi.[8]

Shuningdek qarang

Adabiyotlar

  1. ^ "Bir yildan kam vaqt ichida juda yangi narsa: Wolfram tili va matematikaning 12.1 versiyasini ishga tushirish".
  2. ^ Stiven Volfram o'zining dasturiy ta'minotini demokratlashtirishga qaratilgan Stiv Lohr tomonidan, Nyu-York Tayms, 2015 yil 14-dekabr
  3. ^ Maeder, Roman E. (1994). Mathematica® dasturchisi. Academic Press, Inc. p. 6. ISBN  978-1-48321-415-3.
  4. ^ "Wolfram tili bo'yicha savol-javob". Wolfram tadqiqotlari. Olingan 2016-12-05.
  5. ^ Bezanson, Jef; Karpinski, Stefan; Shoh, Virusli; Edelman, Alan (2012-02-14). "Nega biz Juliani yaratdik". Yuliya tili. Olingan 2016-12-01.
  6. ^ Xikki, boy. "Clojure Bookshelf". Amazon.com. Arxivlandi asl nusxasi 2017-10-03 da. Olingan 2020-05-06.
  7. ^ "Volfram tili haqida til mutaxassislarini dasturlash uchun eslatmalar". Wolfram.com. Olingan 2015-11-05.
  8. ^ a b v "Matematikaning tilini qanday chaqirishimiz kerak? - Stiven Volfram blogi". Blog.stephenwolfram.com. 2013-02-12. Olingan 2015-11-05.
  9. ^ a b "Matematikaning birinchi chorak asrini nishonlash - Wolfram blogi". Blog.wolfram.com. Olingan 2015-11-05.
  10. ^ Wolfram (1988). Mathematica, matematikani kompyuter yordamida bajarish tizimi.
  11. ^ "dubrousky / mockmma: mma.lisp (o'rnatilgan belgilar)". GitHub.
  12. ^ Xeys, Brayan (1990-01-01). "Matematikaga oid fikrlar" (PDF). Piksel.
  13. ^ "Wolfram tili va tizim hujjatlari markazi". Reference.wolfram.com. Olingan 2015-11-05.
  14. ^ "Wolfram tilini (va matematikani) har bir malina pi-ga joylashtirish - Wolfram blogida". Blog.wolfram.com. Olingan 2015-11-05.
  15. ^ Sherr, Yan (2013-11-22). "Raspberry Pi - CNET byudjetida bepul Premium Mathematica dasturi". News.cnet.com. Olingan 2015-11-05.
  16. ^ Daniel AJ Sokolov (2014-11-22). "Intels Edison: Pentium-System im Format einer SD-Karte | onlayn tarzda". Heise.de. Olingan 2015-11-05.
  17. ^ "Wolfram tili yaqinda Birlik bilan birlashadi". Gamasutra. 2014-03-10. Olingan 2015-11-05.
  18. ^ "Unity3D-da Wolfram tilidan foydalanishning biron bir usuli bormi?". Wolfram. 2017 yil. Olingan 2017-04-11.
  19. ^ "FullForm". Wolfram tiliga oid hujjatlar.
  20. ^ "Rubi-ga xush kelibsiz, qoidalarga asoslangan integrator". Qoidalarga asoslangan integratsiya.
  21. ^ McLoone, J. "Nega Wolfram Tech ochiq manbaga ega emas - o'nlab sabablar - Wolfram blogi".
  22. ^ "codeparser: mavhum sintaksis daraxtlari (AST) yoki aniq sintaksis daraxtlari (CST) sifatida Wolfram tilining manba kodini tahlil qilish" ". GitHub. Wolfram Research, Inc. 13 aprel 2020 yil.
  23. ^ "Wolfram-dan ochiq materiallar: ochiq kod, ochiq manba, ochiq ma'lumotlar, ochiq manbalar". www.wolfram.com.
  24. ^ Simon. "Matematikaning tilida ochiq manbali dastur mavjudmi?". Mathematica Stack Exchange.
  25. ^ "Stiven Volframning aytishicha, u hamma narsa uchun algoritmga ega - so'zma-so'z". Readwrite.com. Olingan 2015-11-05.

Tashqi havolalar