Elaboratores linguae programmandi Mojo opus incepti libere divulgare coeperunt. Primus codex bibliothecae typicae fuit qui libere divulgatus est, nunc sub licentia Apache 2.0 praesto est, exceptis ex incepto LLVM, quod permittit mixturam cum codice licentiato GPLv2. Praeter publicationem codicis, processus evolutionis ad apertum progressus est et facultatem mutationes per petitiones extractionis ad GitHub contribuendi. Codex fons compilatoris libere divulgari destinatur, cum architectura interna perfecta erit.
Repositorium duos ramos codicis bibliothecae Mojo normae continet: ramum principalem, cum recentissima versione stabili Mojo synchronizatum, et ramum nocturnum, qui processum evolutionis praesentem reflectit et cum constructionibus nocturnis Mojo synchronizatur. Ramus nocturnus contributoribus qui contribuere et mutationes suas communicare volunt patet. Quidam moduli bibliothecae nondum fontis aperti sunt, sed reliquus codex fons clausus aliquando ad repositorium fontis aperti movendus est. Codex fons clausus imprimis modulos celeriter evolventes qui stabilisationem additam requirunt, modulos ad refactorizationem destinatos, et modulos qui revisionem et retractationem additam propter relationem cum proiectis proprietariis requirunt, tegit.
Simul, editio Mojo SDK 24.2, quae compilationem proiectorum in systemate locali permittit, et editio MAX Engine 24.2, quae suggestum ad evolutionem machinationis discendi offert, divulgatae sunt. Mojo SDK partes necessarias ad applicationes in lingua Mojo evolvendas continet, inter quas compilator, tempus executionis, testa REPL interactiva ad programmata construenda et currenda, debugger, additamentum ad editorem codicis Visual Studio Code (VS Code) cum auxilio pro autocompletione input, formatatione codicis et illuminatione syntaxis, modulus ad integrationem cum Jupyter ad Mojo libellos construendos et currendos. MAX Engine SDK instrumentis ad applicationes evolvendas et debugging quae exemplaria machinationis discendi in variis formis utuntur (TensorFlow, PyTorch, ONNX, etc.) complet. Aedificationes Mojo SDK et MAX Engine pro suggestu paratae sunt. Linux ΠΈ macOS.
Inter mutationes notabilissimas in Mojo 24.2:
- Structurae et alii typi nominales nunc implicite ad proprietates (vel "proprietates") congruere possunt. Exempli gratia, quaevis structura quae methodum __str__() implementat implicite ad proprietatem "Stringable" (vel "proprietatem Stringable") congruit et cum functione str() adhiberi potest.
- Instrumenta compatibilitatis Pythonicae nunc argumenta secundum verba clavis ad functiones Pythonicas transmittere sustinent. Exempli gratia, "plt.plot((5, 10), (10, 15), color="red")"
- Additum est subsidium ad numerum variabilem argumentorum functioni transmittendum, per assignationem verborum clavium specificatum. Exempli gratia, "print_nicely(a=7, y=8)".
- Typus `DynamicVector` in `List` renominatus est et in modulum `collections.list` translatus est. Facultas generandi indicem secundum arbitrarium numerum valorum addita est, exempli gratia, "var numbers = List[Int](1, 2, 3)".
- Functio `print()` nunc parametros nominatos habet, `sep` et `end`, quibus uti licet ad separatorem et valores finales exitus specificandos. Exempli gratia, si `print("Hello", "Mojo", `sep="", ", `end="!!!\n")` exsequaris, `prints("Hello", "Mojo", `sep="", `, `end="!!!\n")` exibitur: `prints Hello, Mojo!!!``
Propositum Mojo sub ductu Chris Lattner, conditoris et architecti principalis propositi LLVM necnon creatoris linguae programmandi Swift, evolvitur. Syntaxis Mojo in Python fundatur, et systema typorum eius simile est linguae C/C++. Propositum proponitur ut lingua generalis usus quae Python cum facultatibus programmandi systemata extendit, apta ad latam varietatem operum, et facilitatem usus ad investigationem et prototypa celeria cum aptitudine ad producta finalia summae efficaciae coniungit.
Simplicitas per usum syntaxis nota Pythonis, et progressionis productorum finalium facilior est facultas componendi ad codicem machinae, machinas scientificas tutas, usum instrumentorum accelerationis ferrariae. Ad altam observantiam consequendam, parallelisatio calculi sustentatur omnibus ferrariis facultatibus systematum heterogeneorum in systemate promptorum, sicut GPUs, acceleratores speciales ad apparatus eruditionis et instructionum vector processuum (SIMD). Ad rationes intensiva, parallelisatio et usus omnis computandi opum efficere potest ut applicationes ad C/C ++ praestantiores perficiantur.
Lingua stabilis typum et humilem gradum notarum scientificarum tutarum simile Rubiginis sustinet, ut referat vitam sequi et tesselatum mutuari. Eodem tempore lingua etiam occasiones laboris humilitatis praebet, exempli gratia, potest directe accessum ad memoriam in modo non tuto utens genus monstratorem, singulos SIMD instructiones vocare, vel accessum ad extensiones hardware ut TensorCores et AMX.
Mojo adhiberi potest tum in interpretatione modus utendi JIT, tum compilatio in documentorum exsecutabilium (AOT, ante tempus). Compilator in modernis technologiis optimizationem latae, caching compilationem ac distribuit, aedificavit. Source codice in lingua Mojo convertitur in codicem medium medium MLIR (Multi-Level Intermedia Repraesentatio), a LLVM project evoluta. Compilator permittit te variis tergum utere, qui MLIR sustinent ad machinae codicem generandum.
Source: opennet.ru
