Size: a a a

Compiler Development

2020 May 11

G

Gymmasssorla in Compiler Development
Переслано от Gymmasssorla
А если сталкивались с профильной литературой про параллельные/конкурентные вычисления, какую посоветуете?
источник

G

Gymmasssorla in Compiler Development
Переслано от Alexander Tchitchigi...
В последнее время только Parallel and Concurrent Programming in Haskell читал, но там как раз этого нет. 😂
Так что не посоветую: современную не знаю, а старую уже и сам забыл... 😞
источник

G

Gymmasssorla in Compiler Development
Переслано от Gymmasssorla
Почти одинаковый ответ у кого не спрашивал) Пойду тогда сам пороюсь
источник

G

Gymmasssorla in Compiler Development
Переслано от Alexander Tchitchigi...
Так Вам в каком разрезе нужно: узнать значения терминов "конкуррентный" и "параллельный" или про реализацию алгоритмов и систем?
источник

G

Gymmasssorla in Compiler Development
Переслано от Gymmasssorla
Мне бы про теорию, про определения и языки описания взаимодействующих (конкурентных или параллельных) процессов. Например, нашёл https://en.wikipedia.org/wiki/Communicating_sequential_processes недавно, показалось интересным, но раньше я и не задумывался над таким
источник

G

Gymmasssorla in Compiler Development
Переслано от Gymmasssorla
источник

G

Gymmasssorla in Compiler Development
Переслано от Alexander Tchitchigi...
Да, там семейство взаимосвязанных (эквивалентных) моделей параллельных/конкурентных вычислений, по сути, начавшееся с CSP Хоара. Туда же входит пи-исчисление и несколько алгебр процесов. Где-то рядом сети Петри для моделирования примерно того же, и Labeled Transition Systems как ultimate модель примерно любых вычислений.
источник

G

Gymmasssorla in Compiler Development
Переслано от Alexander Tchitchigi...
Так или иначе оно всё по сути сводится к (Parallel) Graph Rewriting Systems, которые в свою очередь широко и глубоко разработанная область математики со своими характерными проблемами (такими как confluence) и теоремами про них.
источник

G

Gymmasssorla in Compiler Development
Переслано от Alexander Tchitchigi...
Если хочется "убить" следующие 2-3-5 лет своей жизни — отличная возможность для этого! 😂
источник

G

Gymmasssorla in Compiler Development
Можете подсказать хорошую литературу про параллельные/конкурентные вычисления?
источник

p

polunin.ai in Compiler Development
хм, а как парсить в ML вызов функций? вот допустим на месте выражения:
map foo vect
или
(foo . bar) xs
не понимаю каким образом это спарсить. то есть нам нужно по пробелам разделить. но вот вопрос какое правило пихать в левую и правую часть от пробела? то же самое где есть условие с вызовом функции
expr = function | identifier
function = expr " " expr
нельзя, поскольку он войдет в бесконечную рекурсию expr -> function
источник

AT

Alexander Tchitchigi... in Compiler Development
polunin.ai
хм, а как парсить в ML вызов функций? вот допустим на месте выражения:
map foo vect
или
(foo . bar) xs
не понимаю каким образом это спарсить. то есть нам нужно по пробелам разделить. но вот вопрос какое правило пихать в левую и правую часть от пробела? то же самое где есть условие с вызовом функции
expr = function | identifier
function = expr " " expr
нельзя, поскольку он войдет в бесконечную рекурсию expr -> function
Это же просто вопрос Left Recursion Elimination — он уже 100 раз обсуждён налево и направо по всему Интернету... 🤷‍♀️
источник

AT

Alexander Tchitchigi... in Compiler Development
Самый простой вариант: использовать генератор парсеров, который нативно умеет в левую рекурсию — PEG, там, или ANTLR...
источник

p

polunin.ai in Compiler Development
ну вот я взял peg-rs, он мне в бесконечную рекурсию вошел. пойду еще доку почитаю.
источник

AT

Alexander Tchitchigi... in Compiler Development
polunin.ai
ну вот я взял peg-rs, он мне в бесконечную рекурсию вошел. пойду еще доку почитаю.
Наверное, нужен не просто PEG, а Packrat — что-то я запамятовал... 😅
источник

KR

K R in Compiler Development
Gymmasssorla
Можете подсказать хорошую литературу про параллельные/конкурентные вычисления?
Это вроде уже в Вики можно писать...

CSP book, \pi calculus, graph rewriting, Interaction nets, etc...

Раздел Frequently Asked Questions...
источник

PS

Peter Sovietov in Compiler Development
@hirrolot Обзорный документ по ссылке, на мой взгляд, одно из лучших введений по Вашему вопросу про "про параллельные/конкурентные вычисления".
источник

PS

Peter Sovietov in Compiler Development
Programming Paradigms for Dummies: What Every Programmer Should Know
Ликбез по основным принципам ЯП: классификация, вопросы представления состояния, конкурентности и параллелизма.
https://www.info.ucl.ac.be/~pvr/VanRoyChapter.pdf
источник

МБ

Михаил Бахтерев... in Compiler Development
Gymmasssorla
Переслано от Alexander Tchitchigin
Так или иначе оно всё по сути сводится к (Parallel) Graph Rewriting Systems, которые в свою очередь широко и глубоко разработанная область математики со своими характерными проблемами (такими как confluence) и теоремами про них.
Нет. Не сводиться. Процессы - это как раз о взаимодействях, которые не описываются переписыванием графов.
источник

МБ

Михаил Бахтерев... in Compiler Development
Gymmasssorla
Можете подсказать хорошую литературу про параллельные/конкурентные вычисления?
А что именно надо? Математические модели или прикладные инженерные решения?
источник