It iepenjen fan de Mojo taal standert bibleteek. Mojo Toolkit 24.2 Update

De ûntwikkelders fan 'e programmeartaal Mojo binne begûn mei it konvertearjen fan de ûntwikkelingen fan it projekt yn iepen boarne software. De earste dy't iepene boarne wie de standert biblioteekkoade, dy't no beskikber is ûnder de Apache 2.0-lisinsje mei útsûnderingen fan it LLVM-projekt dat it mingjen mei koade mooglik makket ûnder de GPLv2-lisinsje. Neist it publisearjen fan koade is it ûntwikkelingsproses ferskood nei iepenheid en de mooglikheid om wizigingen fan tredden te kommunisearjen troch it yntsjinjen fan pull-oanfragen nei GitHub. De boarnekoade fan 'e gearstaller is pland om te iepenjen nei it ûntwerp fan' e ynterne arsjitektuer is foltôge.

It repository hat twa tûken fan Mojo standert biblioteek koade: in haadtûke, syngronisearre mei de lêste stabile release fan Mojo, en in nachtlike tûke, wjerspegelje it hjoeddeiske ûntwikkeling proses en syngronisearre mei nightly builds fan Mojo. De nachtlike branch wurdt oanmoedige om te brûken troch dielnimmers dy't meidwaan wolle oan 'e ûntwikkeling en har feroaringen diele. Tagelyk binne guon fan 'e biblioteekmodules noch net iepen, mar nei in skoft is de oerbleaune sletten koade ek pland om te ferpleatsen nei in iepen repository. De koade fan rap ûntwikkeljen modules dy't fereaskje ekstra stabilisaasje, modules foar dêr't refactoring is pland, en modules dy't fereaskje ekstra resinsje en rework fanwege ferbinings mei proprietêre projekten bliuwt sletten.

Tagelyk waarden de Mojo SDK 24.2-release, dy't it mooglik makket om projekten op in lokaal systeem te kompilearjen, en de MAX Engine 24.2-release, dy't in platfoarm biedt foar ûntwikkeling fan masinelearen, publisearre. De Mojo SDK befettet de komponinten dy't nedich binne foar it ûntwikkeljen fan applikaasjes yn 'e Mojo-taal, ynklusyf in compiler, runtime, in ynteraktive REPL-shell foar it bouwen en útfieren fan programma's, in debugger, in tafoeging oan 'e Visual Studio Code (VS Code) koade-editor mei stipe foar ynfier autocompletion, koade-opmaak en syntaksis markearring, en in module foar yntegraasje mei Jupyter foar it bouwen en útfieren fan Mojo-notebooks. De MAX Engine komplementearret de SDK mei ark foar it ûntwikkeljen en debuggen fan applikaasjes dy't masinelearenmodellen brûke yn ferskate formaten (TensorFlow, PyTorch, ONNX, ensfh.). Builds fan 'e Mojo SDK en MAX Engine wurde taret foar it platfoarm. Linux и macOS.

Guon fan 'e meast opfallende feroarings yn Mojo 24.2 omfetsje:

  • Struktueren en oare nominale typen kinne no ymplisyt kaartsje oan trekken. Bygelyks, eltse struktuer dêr't de __str__ () metoade wurdt ymplisyt ymplisyt oerienkomt mei de Stringable eigenskip en kin brûkt wurde mei de str () funksje.
  • Python-kompatibiliteitsark hawwe stipe tafoege foar it trochjaan fan keyword-basearre arguminten nei Python-funksjes. Bygelyks, "plt.plot((5, 10), (10, 15), color="read")"
  • Stipe tafoege foar it trochjaan fan in fariabel oantal arguminten nei in funksje, spesifisearre troch tawizing fan kaaiwurden. Bygelyks, "print_nicely(a=7, y=8)".
  • It DynamicVector-type is omneamd ta List en ferpleatst nei de collections.list-module. Tafoege de mooglikheid om te generearjen in list basearre op in willekeurige oantal wearden, bygelyks, "var numbers = List [Int] (1, 2, 3)".
  • Neamde parameters sep en ein binne tafoege oan de print () funksje, troch dêr't kinne jo ynstelle de separator en úteinlike útfier wearden. Bygelyks, it útfieren fan print ("Hallo", "Mojo", sep=", ", end="!!!\n") sil resultearje yn de útfier "prints Hallo, Mojo!!!".

It Mojo-projekt wurdt laat troch Chris Lattner, oprjochter en haadarsjitekt fan it LLVM-projekt en skepper fan 'e programmeartaal Swift. De syntaksis fan Mojo is basearre op de Python-taal, en it typesysteem is tichtby C / C ++. It projekt wurdt touted as in algemien-doel taal dy't útwreidet de mooglikheden fan Python mei systeem programmearring mooglikheden, is geskikt foar in breed skala oan taken, en kombinearret gemak fan gebrûk foar ûndersyk ûntwikkeling en flugge prototyping mei geskiktheid foar hege-optreden ein produkten.

Ienfâld wurdt berikt troch it brûken fan bekende Python-syntaksis, en de ûntwikkeling fan definitive produkten wurdt fasilitearre troch de mooglikheid om te kompilearjen nei masine koade, ûnthâld-feilige meganismen, en it brûken fan hardware fersnelling ark. Om hege prestaasjes te berikken, wurdt parallelisaasje fan berekkeningen stipe mei alle hardware-boarnen fan heterogene systemen dy't beskikber binne yn it systeem, lykas GPU's, spesjalisearre accelerators foar masine-learen en vector processor ynstruksjes (SIMD). Foar yntinsive berekkeningen, parallelization en benutten fan alle computing boarnen makket it mooglik om te berikken prestaasje superieur oan C / C ++ applikaasjes.

De taal stipet statysk typen en lege-nivo ûnthâld-feilige funksjes dy't tinken docht oan Rust, lykas referinsje lifetime tracking en lien checker. Tagelyk jout de taal ek mooglikheden foar wurk op leech nivo, it is bygelyks mooglik om direkt tagong te krijen ta ûnthâld yn ûnfeilige modus mei help fan de Pointer type, belje yndividuele SIMD ynstruksjes, of tagong ta hardware tafoegings lykas TensorCores en AMX.

Mojo kin brûkt wurde sawol yn ynterpretaasje modus mei help fan JIT, en foar kompilaasje yn útfierbere triemmen (AOT, foarút-of-time). De kompilator hat moderne technologyen ynboud foar automatyske optimalisaasje, caching en ferspraat kompilaasje. Boarnekoade yn 'e Mojo-taal wurdt omboud ta leech-nivo tuskenlizzende koade MLIR (Multi-Level Intermediate Representation), ûntwikkele troch it LLVM-projekt. De gearstaller lit jo ferskate backends brûke dy't MLIR stypje om masinekoade te generearjen.

Boarne: opennet.ru

Keapje betroubere hosting foar siden mei DDoS-beskerming, VPS VDS-tsjinners 🔥 Keapje betroubere websidehosting mei DDoS-beskerming, VPS VDS-tsjinners | ProHoster