Size: a a a

Compiler Development

2020 May 26

AG

Alex Gryzlov in Compiler Development
источник

PS

Peter Sovietov in Compiler Development
Что-то оно как-то несерьезно выглядит, по сравнению с Chez, MLRISC, или, тем более, Thorin. Получается, это просто прослойка для бэкенда Ocaml. Которая, по идее, не нужна была бы в более тщательно спроектированном компиляторе для Ocaml :)
источник

AZ

Alexander Zaitsev in Compiler Development
Peter Sovietov
У нас на вики достаточно солидное обновление.

- добавлены все видеолекции курса @Sergey_Sverdlov
- я, наконец, создал заглавную страницу для удобства навигации,
- появилось описание еще одного учебника, за что большое спасибо @alexanius
@true_grue я не помню, задавали этот вопрос или нет уже, но поднимался ли вопрос о том, чтобы компиляторную Вики перевести на английский язык? я мог бы кинуть клич - можно кинуть клич, мб и отзовётся кто-нибудь
источник

BD

Berkus Decker in Compiler Development
Kitsu
О, есть что-нибудь почитать по инлайнингу? Когда, к примеру его лучше не делать (instruction cache или что-то еще?), когда от него него наоборот профит очень важен (e.g. c++ vtables), и т.д.
он на эвристиках же весь, посмотри в ллвм

“тут после подкручивания коэффициента на 0.095 все поросло, открутим на -0.075 и посмотрим чо получится"
источник

PS

Peter Sovietov in Compiler Development
"Juvix synthesizes a high-level frontend syntax, dependent-linearly-typed core language, whole-program optimisation system, and backend-swappable execution model into a single unified stack for writing formally verifiable, efficiently executable smart contracts which can be deployed to a variety of distributed ledgers."

... in cloud. ... with kubernetes! :)
источник

AZ

Alexander Zaitsev in Compiler Development
Berkus Decker
он на эвристиках же весь, посмотри в ллвм

“тут после подкручивания коэффициента на 0.095 все поросло, открутим на -0.075 и посмотрим чо получится"
погоди, туда для этого уже ML завозят :)
источник

AG

Alex Gryzlov in Compiler Development
Peter Sovietov
"Juvix synthesizes a high-level frontend syntax, dependent-linearly-typed core language, whole-program optimisation system, and backend-swappable execution model into a single unified stack for writing formally verifiable, efficiently executable smart contracts which can be deployed to a variety of distributed ledgers."

... in cloud. ... with kubernetes! :)
ну они там борщат конечно, по сути это форк идриса с бэкендом на оптимальной редукции
источник

AZ

Alexander Zaitsev in Compiler Development
Alexander Zaitsev
@true_grue я не помню, задавали этот вопрос или нет уже, но поднимался ли вопрос о том, чтобы компиляторную Вики перевести на английский язык? я мог бы кинуть клич - можно кинуть клич, мб и отзовётся кто-нибудь
хотя получится этакая версия уже существующего awesome-compilers
источник

AG

Alex Gryzlov in Compiler Development
не уверен насколько оно там рабочее, но идея у них такая была
источник

PS

Peter Sovietov in Compiler Development
Alexander Zaitsev
хотя получится этакая версия уже существующего awesome-compilers
Изначально меня как раз не устраивало наполнение awesome-compilers, ну и хотелось сделать ближе к нашей специфике :)
Возможно, сейчас awesome-compilers уже перегнал нашу wiki по содержательности. Я давно их не проверял.
источник

PS

Peter Sovietov in Compiler Development
А имеет ли смысл связываться с GRIN, если нет задачи компилировать ленивый ЯП?
источник

BD

Berkus Decker in Compiler Development
Alexander Zaitsev
погоди, туда для этого уже ML завозят :)
а, это годно, пусть компилятор и твикает свои эвристики
источник

AG

Alex Gryzlov in Compiler Development
Peter Sovietov
А имеет ли смысл связываться с GRIN, если нет задачи компилировать ленивый ЯП?
ну, ленивость там все равно есть
источник

AG

Alex Gryzlov in Compiler Development
я спрашивал этих ребят, они утверждают что в этой инкарнации есть профит и для строгих языков
источник

PS

Peter Sovietov in Compiler Development
Alex Gryzlov
я спрашивал этих ребят, они утверждают что в этой инкарнации есть профит и для строгих языков
Но в результате все равно идти на поклон к LLVM?
Жаль, что мало функциональных бэкендов с развитой перенацеливаемостью.
источник

AG

Alex Gryzlov in Compiler Development
вообще мое лично мнение, что коль у нас уже есть тотальность (т.е. мы сразу отделили завершимых мух от продуктивных котлет) и линейные типы, нужно копать глубже в сторону расщепления лени, т.е. серьезнее с коданными работать, выжимать максимум из линейности и тд
источник

AG

Alex Gryzlov in Compiler Development
тогда возможно и не так остро нужны будут все эти графовые дела
источник

AZ

Alexander Zaitsev in Compiler Development
Berkus Decker
а, это годно, пусть компилятор и твикает свои эвристики
мне Chandler Caruth как-то рассказывал, что веса, которые внутри есть, они с помощью ML на какой-то выборке проектов и подбирали :) а сейчас каждый сможет нормально так делать под своё приложение, надеюсь
источник

AT

Alexander Tchitchigi... in Compiler Development
Peter Sovietov
https://www.type-driven.org.uk/edwinb/why-is-idris-2-so-much-faster-than-idris-1.html

Такое ощущение, что Chez становится чем-то в духе LLVM для реализаций функциональных языков.
И вот это любопытно:
One performance problem in Idris 1 was due to space leaks in the Haskell caused by using lazy data structures where they weren't needed. Despite our best efforts, we were never able to resolve these fully.
> Idris 1 is implemented in Haskell, but that has little (if anything) to do with the difference.

Кому что нравится, тот то и цитирует? 😉

Забавно, что приведённая Вами цитата находится под заголовком "Non-reasons". 🤷‍♀😁
источник

BD

Berkus Decker in Compiler Development
Alexander Zaitsev
мне Chandler Caruth как-то рассказывал, что веса, которые внутри есть, они с помощью ML на какой-то выборке проектов и подбирали :) а сейчас каждый сможет нормально так делать под своё приложение, надеюсь
это будет отлично
источник