en
Feedback
PLComp

PLComp

Open in Telegram

Π―Π·Ρ‹ΠΊΠΈ ΠΈ компиляторы: вопросы Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΡ‚ Π²Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ синтаксиса Π΄ΠΎ пороТдСния машинного ΠΊΠΎΠ΄Π°. Авторы: @vekazanov @igorjirkov @true_grue @clayrat @eupp7 @alexanius @AntonTrunov @GabrielFallen @graetestofnoldor

Show more
The country is not specifiedThe category is not specified
485
Subscribers
No data24 hours
-17 days
+530 days
Posts Archive
Π’ΠΏΠ΅Ρ‡Π°Ρ‚Π»ΡΡŽΡ‰Π°Ρ ΠΏΠΎΠ΄Π±ΠΎΡ€ΠΊΠ° ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ² ΠΎΡ‚ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎ настроСнного исслСдоватСля. По вопросам коррСктности компиляторов: https://github.com/MattPD/cpplinks/blob/master/compilers.correctness.md По статичСскому ΠΈ динамичСскому Π°Π½Π°Π»ΠΈΠ·Ρƒ: https://gist.github.com/MattPD/00573ee14bf85ccac6bed3c0678ddbef По компиляторам Π² Ρ†Π΅Π»ΠΎΠΌ: https://github.com/MattPD/cpplinks/blob/master/compilers.md

НСбольшая Π·Π°ΠΌΠ΅Ρ‚ΠΊΠ° Π½Π° Ρ‚Π΅ΠΌΡƒ вопросов ΠΊΠ°Π½ΠΎΠ½ΠΈΠ·Π°Ρ†ΠΈΠΈ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… прСдставлСний Π² компиляторах. Π’Π΅ΠΌΠ° Π·Π°Ρ‚Ρ€ΠΎΠ½ΡƒΡ‚Π° ΠΎΡ‡Π΅Π½ΡŒ повСрхностно, Π½ΠΎ Π΄Π°ΠΆΠ΅ Π² Ρ‚Π°ΠΊΠΎΠΌ Π²ΠΈΠ΄Π΅, Π΄ΡƒΠΌΠ°ΡŽ, заслуТиваСт Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΈΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ внимания со стороны компиляторщиков. Canonicalization https://sunfishcode.github.io/blog/2018/10/22/Canonicalization.html

Π”Π²Π° Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π΄ΠΎΠΊΠ»Π°Π΄Π° ΠΎΠ± инструмСнтах статичСского Π°Π½Π°Π»ΠΈΠ·Π°, основанных Π½Π° Datalog. DOOP https://www.youtube.com/watch?v=FQRLB2xJC50 SoufflΓ© https://www.youtube.com/watch?v=Qp3zfM-JSx8 #analysis #datalog

Π’ Ρ€Π°ΠΌΠΊΠ°Ρ… PLDI Alex Aiken (извСстный ΠΌΠ½ΠΎΠ³ΠΈΠΌ ΠΏΠΎ курсам компиляторостроСния) рассказал ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ TASO -- это автоматичСский синтСз Π³Ρ€Π°Ρ„ΠΎΠ²Ρ‹Ρ… ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ для нСйросСтСвых Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ². ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΡΡŽΡ‚ΡΡ всС Π³Ρ€Π°Ρ„Ρ‹-ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ нСйросСтСвых ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π΄ΠΎ фиксированного Ρ€Π°Π·ΠΌΠ΅Ρ€Π°, ΠΌΠ΅ΠΆΠ΄Ρƒ Π³Ρ€Π°Ρ„Π°ΠΌΠΈ устанавливаСтся соотвСтствиС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Z3, прСобразования Π³Ρ€Π°Ρ„ΠΎΠ² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ происходят с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° ΠΎΡ‚ΠΊΠ°Ρ‚Π° ΠΈ стоимостной ΠΌΠΎΠ΄Π΅Π»ΠΈ. Π’ Ρ†Π΅Π»ΠΎΠΌ, рассказ повторяСт эту ΡΡ‚Π°Ρ‚ΡŒΡŽ: TASO: Optimizing Deep Learning Computation with Automatic Generation of Graph Substitutions https://cs.stanford.edu/~padon/taso-sosp19.pdf #synthesis #smt

ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊ Π²Ρ‹ΡΠ²Π»Π΅Π½ΠΈΡŽ "сСмантичСского ΠΊΠ»ΠΎΠ½ΠΎΠ²" Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. Основан Π½Π° насыщСнии равСнствами ΠΈ Π·Π°Π±Ρ‹Ρ‚ΠΎΠΉ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ Programmer’s Apprentice. УтвСрТдаСтся, Ρ‡Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π»ΡƒΡ‡ΡˆΠ΅, Ρ‡Π΅ΠΌ популярноС Π² этой области прСдставлСниС PDG. Semantic Code Search via Equational Reasoning https://dl.acm.org/doi/pdf/10.1145/3385412.3386001 #analysis

Unsupervised Translation of Programming Languages Π”ΠΎΠ²ΠΎΠ»ΡŒΠ½ΠΎ Π»ΡŽΠ±ΠΎΠΏΡ‹Ρ‚Π½Π°Ρ ΡΡ‚Π°Ρ‚ΡŒΡ Π½Π° Ρ‚Π΅ΠΌΡƒ создания транскомпилятора ΠΎΡ‚ исслСдоватСлСй ΠΈΠ· Facebook AI Research. ΠŸΡƒΡ‚Π΅ΠΌ Ρ‚Ρ€Π΅Π½ΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π½Π° корпусС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈΠ· Github, Ρ‚Ρ€Π°Π½ΡΠ»ΠΈΡ€ΡƒΡŽΡ‚ ΠΊΠΎΠ΄ языков C++, Java, Python. Авторы ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ ΠΈΡ… модСль прСвосходит Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² Π΄Π°Π½Π½ΠΎΠΉ области, основанныС Π½Π° ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π΅ использования ΠΏΡ€Π°Π²ΠΈΠ». Из интСрСсного, прямой Ρ†ΠΈΡ‚Π°Ρ‚ΠΎΠΉ ΠΈΠ· ΡΡ‚Π°Ρ‚ΡŒΠΈ:
β€’ We introduce a new approach to translate functions from a programming language to another,
that is purely based on monolingual source code.
β€’ We show that TransCoder successfully manages to grasp complex patterns specific to each
language, and to translate them to other languages.
β€’ We show that a fully unsupervised method can outperform commercial systems that leverage
rule-based methods and advanced programming knowledge.
β€’ We build and release a validation and a test set composed of 852 parallel functions in 3
languages, along with unit tests to evaluate the correctness of generated translations.
β€’ We will make our code and pretrained models publicly available.

Π’ Π²ΠΈΠ΄Π΅ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠ»ΡƒΡˆΠ°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ. Paper: https://arxiv.org/pdf/2006.03511 Video: https://www.youtube.com/watch?v=xTzFJIknh7E&app=desktop #ml #analysis #transpilation

Авторы ΠΎΡ†Π΅Π½ΠΈΠ²Π°ΡŽΡ‚ Π²Π΅Ρ€Ρ…Π½ΡŽΡŽ ΠΈ ниТнюю Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ слоТности статичСского Π°Π½Π°Π»ΠΈΠ·Π° ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ АндСрсСна (APA) ΠΈ приводят свои Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ APA. The Fine-Grained Complexity of Andersen’s Pointer Analysis https://arxiv.org/pdf/2006.01491.pdf #analysis

АвтоматичСскоС ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ КБ-Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΈ Π½Π° основС динамичСского Π°Π½Π°Π»ΠΈΠ·Π° ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅Π³ΠΎ Π³Ρ€Π°Ρ„Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. Π›ΡŽΠ±ΠΎΠΏΡ‹Ρ‚Π½ΠΎ, Ρ‡Ρ‚ΠΎ Π°Π²Ρ‚ΠΎΡ€Ρ‹ Π½Π΅ стали Π΄Π°ΠΆΠ΅ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Ρ‚ΡŒ грамматичСскоС сТатиС. Mining Input Grammars from Dynamic Control Flow https://publications.cispa.saarland/3101/1/fse2020-mimid.pdf #analysis #parsing

Π›ΡŽΠ±ΠΎΠΏΡ‹Ρ‚Π½Π°Ρ Π·Π°ΠΌΠ΅Ρ‚ΠΊΠ° ΠΎΡ‚ Intel Π½Π° Ρ‚Π΅ΠΌΡƒ использования внСшнСго Ρ€Π΅ΡˆΠ°Ρ‚Π΅Π»Ρ Π·Π°Π΄Π°Ρ‡ цСлочислСнного программирования Π² LLVM. Π Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΎΠ± ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ расстановкС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ LFENCE Π² ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅ΠΌ Π³Ρ€Π°Ρ„Π΅. Π­Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ для прСдотвращСния LVI-Π°Ρ‚Π°ΠΊ. An Optimized Mitigation Approach for Load Value Injection https://software.intel.com/security-software-guidance/insights/optimized-mitigation-approach-load-value-injection ILP-Ρ€Π΅ΡˆΠ°Ρ‚Π΅Π»ΡŒ для автоматичСской вставки fence примСняли ΠΈ Ρ€Π°Π½Π΅Π΅. Π‘ΠΌ., Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ€Π°Π±ΠΎΡ‚Ρƒ Don’t sit on the fence. A static analysis approach to automatic fence insertion: https://arxiv.org/pdf/1312.1411.pdf #solver #analysis

ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ΠΎ "Руководство ΠΏΠΎ эффСктивному ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ Β«Π­Π»ΡŒΠ±Ρ€ΡƒΡΒ»". Π­Ρ‚ΠΎ пСрвая вСрсия руководства, содСрТащая Π² сСбС ΠΎΠ±Ρ‰ΠΈΠ΅ свСдСния ΠΎ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅, описаниС Π²Π°ΠΆΠ½Ρ‹Ρ… ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΉ компилятора ΠΈ способы увСличСния ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π² Π½Ρ‘ΠΌ содСрТатся свСдСния ΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространённых инструкциях процСссора, Ρ‡Ρ‚ΠΎ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎ публикуСтся Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅. Руководство ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΠΊΠ°ΠΊ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с устройством самого процСссора ΠΈ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ с популярными Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°ΠΌΠΈ, ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°ΠΊ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ Ρ€Π΅ΡˆΠ°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π° нСстандартной Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅. Π­Π»ΡŒΠ±Ρ€ΡƒΡ - процСссор ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния, Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ Ρ„ΠΈΡ€ΠΌΠΎΠΉ МЦБВ, с Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΎΠΉ Π½Π° основС ΡˆΠΈΡ€ΠΎΠΊΠΎΠ³ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ³ΠΎ слова (VLIW). http://www.mcst.ru/elbrus_prog #vliw

Π”ΠΎΠΊΠ»Π°Π΄ Improving Compiler Construction Using Formal Methods (Jubi Taneja) ΠžΠ±Π·ΠΎΡ€ Ρ€Π°Π±ΠΎΡ‚ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅ использования супСроптимизатора Souper Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ„Π°Π·Π°Ρ… компиляции (статичСский Π°Π½Π°Π»ΠΈΠ·, автоматизация создания ΠΏΡ€Π°Π²ΠΈΠ» локальной ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ). https://www.youtube.com/watch?v=de8Ak0nY1hA #smt #superoptimizer

БопоставлСниС с ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ (pattern matching) Π² наши Π΄Π½ΠΈ упоминаСтся ΠΏΡ€Π΅ΠΆΠ΄Π΅ всСго Π² контСкстС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… языков программирования сСмСйства ML. Но Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ° эта ΠΈΠΌΠ΅Π΅Ρ‚ Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡˆΠΈΡ€ΠΎΠΊΠΎΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅, Π² Ρ‚ΠΎΠΌ числС ΠΈ Π²Π½Π΅ контСкста Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ЯП. Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½Π΅ΠΉΡˆΠΈΠΉ ΠΈΠ· классичСских Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² - Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Rete, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ эффСктивно ΡΠΎΠΏΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ тысячи ΠΎΠ±Ρ€Π°Π·ΠΎΠ² с тысячами ΠΆΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Rete: A Fast Algorithm for the Many Pattern/Many Object Pattern Match Problem

ΠžΡ‡Π΅Ρ€Π΅Π΄Π½Π°Ρ Ρ€Π°Π±ΠΎΡ‚Π° Мюнш-Макканьони ΠΏΠΎ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΡŽ Окамла Π² своСобразный ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚ Раста, Ρ‡Π΅Ρ€Π½ΠΎΠ²ΠΈΠΊ прСдлоТСния ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ возмоТности Ρ€Π°Π±ΠΎΡ‚Ρ‹ с off-heap указатСлями: Towards better systems programming in OCaml with out-of-heap allocation (draft) https://github.com/gadmm/RFCs/blob/interop/rfcs/interop.md #ocaml

ИспользованиС Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… систСм для автонастройки компилятора, с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ собранной Ρ€Π°Π½Π΅Π΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Π²Π½ΡƒΡˆΠ°ΡŽΡ‚ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΌ. A Collaborative Filtering Approach for the Automatic Tuning of Compiler Optimisations https://arxiv.org/pdf/2005.04092.pdf #autotuning #machinelearning #compiler #optimization

SSA Π² историчСском контСкстС. ΠžΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠ°Ρ систСматизация Π·Π½Π°Π½ΠΈΠΉ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅. Program Analisys and Transformation Survey and Links https://github.com/pfalcon/awesome-program-analysis #analysis #ssa

БинтаксичСский Π°Π½Π°Π»ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ считаСтся Π΄Π°Π²Π½ΠΎ ΠΈΠ·ΡƒΡ‡Π΅Π½Π½ΠΎΠΉ ΠΈ ΠΏΠΎΡ‡Ρ‚ΠΈ Π΄Π°ΠΆΠ΅ скучной ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ. Но ΠΏΡ€ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Ρ‚Π΅ΠΎΡ€ΠΈΠΈ ΠΊ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ тСкстовых Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ² часто выясняСтся, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΏΠ»ΠΎΡ…ΠΎ ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ приходится ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Ρ‚ΡŒ Π½Π΅ΠΎΡ€Π΄ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ. Π’ своСй ΡΡ‚Π°Ρ‚ΡŒΠ΅ "SMIE: Simple Minded Indentation Engine" Π‘Ρ‚Π΅Ρ„Π°Π½ МоньС ΠΈΠ·Π»Π°Π³Π°Π΅Ρ‚ ΡΡƒΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ автоматичСского расставлСния отступов ΠΈ описываСт Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π½Π° Π±Π°Π·Π΅ Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊ с ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π½Ρ‹ΠΌ ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ (operator-precedence grammars), ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ΅ Π² ЕмаксС. http://www-labs.iro.umontreal.ca/~monnier/smie.pdf #parsing #editor #indentation #emacs #smie

ΠžΡ‡Π΅Π½ΡŒ Π΄ΠΎΡ…ΠΎΠ΄Ρ‡ΠΈΠ²Ρ‹ΠΉ ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Ρ€Π°Π·Π±ΠΎΡ€ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… статСй Π² области супСроптимизации Π½Π° основС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° CEGIS. Автор Π΄Π°ΠΆΠ΅ Π½Π΅ полСнился Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹ ΠΈΠ· ΡΡ‚Π°Ρ‚ΡŒΠΈ для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ сторонится матСматичСской Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ. Synthesizing Loop-Free Programs with Rust and Z3 https://fitzgeraldnick.com/2020/01/13/synthesizing-loop-free-programs.html #synthesis #smt

Halide β€” яркий ΠΏΡ€ΠΈΠΌΠ΅Ρ€ соврСмСнного ΠΈ популярного DSL для Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… вычислСний (ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, нСйросСти). Π’ Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΏΠΎ ссылкС Π½ΠΈΠΆΠ΅ прСдставлСна Π΅Π³ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ сСмантика. Достаточная, ΠΏΠΎ Π±ΠΎΠ»ΡŒΡˆΠΎΠΌΡƒ счСту, для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ собствСнного компилятора Halide. Π›ΡŽΠ±ΠΎΠΏΡ‹Ρ‚Π½ΠΎ, Ρ‡Ρ‚ΠΎ Π² описании трансляции Π² ΠΈΠΌΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ΅ прСдставлСниС использован Ρ„ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΌ ΠΈΠ· области синтСза ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. Formal Semantics for the Halide Language https://www2.eecs.berkeley.edu/Pubs/TechRpts/2020/EECS-2020-40.pdf #dsl #semantics #synthesis

Π›ΡŽΠ±ΠΎΠΏΡ‹Ρ‚Π½Π°Ρ Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² машинного обучСния Π±Π΅Π· учитСля (Q learning) для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ сборщика мусора. Π’ΠΏΡ€ΠΎΡ‡Π΅ΠΌ, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΏΠΎΠΊΠ° Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ Π²ΠΏΠ΅Ρ‡Π°Ρ‚Π»ΡΡŽΡ‚. Learned Garbage Collection https://arxiv.org/pdf/2004.13301.pdf #gc #garbagecollection #machinelearning

Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½ΠΎΠ΅ сравнСниС Rust ΠΈ Haskell Π½Π° ΠΏΠΎΠ»Π΅ написания компиляторов для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… языков, с ссылками Π½Π° Π±Π΅Π½Ρ‡ΠΌΠ°Ρ€ΠΊΠΈ: https://old.reddit.com/r/haskell/comments/gok70o/simple_haskell_is_best_haskell/frj9hty/ #fp #haskell #rust #compiler #education