logo

Language oriented programming.Dsl. Яку мову вчити (наступну)? Racket або сто і одна мова за одну ніч

time2 yr agoview0 views

Отож змога спробувати пару трійку парадигм та різних фіч різних мов а ще навчитися створювати власні мови без занурення а теорію компіляторів та інтерпритаторів LOP це цікава парадигма яка з нами ще з 1994 року Ну от дуже цікаво почитати з чого все почалось http://www.gkc.org.uk/martin/papers/middle-out-t.pdf Я б сказав що це більше архітектурний патерн й метод побудови систем де зникає імпеданс між мовою архітектури сутностями й тим що ми бачимо у коді Як продовження історії у нас зявився racket manifesto https://cs.brown.edu/~sk/Publications/Papers/Published/fffkbmt-racket-manifesto/paper.pdf Взагалі тема ліспа не розкрита у нас в універах хоча в MIT з цього починають й навіть є просто культова річ яка реально допомагає зрозуміти куди ти потрапив https://en.wikipedia.org/wiki/Structure_and_Interpretation_of_Computer_Programs От коли розібрались шо таке scheme й як на ньому будувати системи з станом й тд Наступний крок зрозуміти що таке макрос та мета програмування Racket https://racket-lang.org/ пішов далі Багато людей не любить лісп за його синтаксис й от Racket дав змогу підміняти й розширяти reader й як результат можна конструювати мову з довільним синтаксисом та граматикою

Но мене підкупило навіть не це Це единий lisp з типами де типи це також надбудова над мовою Це перший lisp в якому я побачив повноцінний паттернматчінг Ну або можна додати до мови класи й обєкти Чи взагалі використовувати Datalog та логічне програмування при потребі Тому така собі штука яка дозволяє знайомитися з різними мовами й їх поєднувати

Loading comments...