Size: a a a

Compiler Development

2020 February 02

C

Constantine in Compiler Development
источник

BD

Berkus Decker in Compiler Development
Yuriy Syrovetskiy
если ты не шаришь, то не всегда заранее знаешь об этом
воу воу воу, немного самокритики и интроспекции для начала не повредит
источник

BD

Berkus Decker in Compiler Development
а можно такой же но для малболге?
источник

AT

Alexander Tchitchigin in Compiler Development
Yuriy Syrovetskiy
freeze/thaw в язык встраивать?
Не понял эту мысль...
источник

YS

Yuriy Syrovetskiy in Compiler Development
Alexander Tchitchigin
Не понял эту мысль...
как Vector.Immutable заоптимизировать в Vector.Mutable?
источник

AT

Alexander Tchitchigin in Compiler Development
Yuriy Syrovetskiy
как Vector.Immutable заоптимизировать в Vector.Mutable?
Так оптимизация будет на уровне компилятора, а не языка.
источник

AT

Alexander Tchitchigin in Compiler Development
Компилятор может просто мутабельно переиспользовать память, к которой доступ бывает только линейный.
источник

YS

Yuriy Syrovetskiy in Compiler Development
Alexander Tchitchigin
Так оптимизация будет на уровне компилятора, а не языка.
как компилятор узнает, что надо оптимизировать Vector.Immutable в Vector.Mutable?
источник

C

Constantine in Compiler Development
Berkus Decker
а можно такой же но для малболге?
конечно можно, почему бы и нет🤔
источник

FO

FORTRAN ONE LOVE in Compiler Development
Yuriy Syrovetskiy
как компилятор узнает, что надо оптимизировать Vector.Immutable в Vector.Mutable?
в у него нет знания о Vector.Immutable/Vector.Mutable)
источник

AT

Alexander Tchitchigin in Compiler Development
Yuriy Syrovetskiy
как компилятор узнает, что надо оптимизировать Vector.Immutable в Vector.Mutable?
Переиспользовать память, к которой происходит линейный доступ. Снаружи выглядит как иммутабельный.
источник

BD

Berkus Decker in Compiler Development
Constantine
конечно можно, почему бы и нет🤔
малболге немного по-другому устроен, расскажи как ты будешь его делать )
источник

YS

Yuriy Syrovetskiy in Compiler Development
Alexander Tchitchigin
Компилятор может просто мутабельно переиспользовать память, к которой доступ бывает только линейный.
да, но алгоритмы функциональных структур данных при этом выиграют слабо. надо заменять на мутабельные структуры, чтобы получить ощутимый выигрыш
источник

AT

Alexander Tchitchigin in Compiler Development
Clean так с покон веков работает. 🤷‍♀
источник

YS

Yuriy Syrovetskiy in Compiler Development
Alexander Tchitchigin
Clean так с покон веков работает. 🤷‍♀
"испокон"
источник

C

Constantine in Compiler Development
Berkus Decker
малболге немного по-другому устроен, расскажи как ты будешь его делать )
не знаю как устроен мадболге, где можно поизучать, погуглил быстренько, но ненашёл
источник

AT

Alexander Tchitchigin in Compiler Development
Yuriy Syrovetskiy
да, но алгоритмы функциональных структур данных при этом выиграют слабо. надо заменять на мутабельные структуры, чтобы получить ощутимый выигрыш
Если мы говорим про функциональные структуры и алгоритмы в смысле Окасаки, то да, для них толку ноль - они же специально под ФП проектировались.
А для "наивных" алгоритмов выигрыш может быть значительным.
источник

BD

Berkus Decker in Compiler Development
Constantine
не знаю как устроен мадболге, где можно поизучать, погуглил быстренько, но ненашёл
https://en.wikipedia.org/wiki/Malbolge прямо тут и можно
источник

YS

Yuriy Syrovetskiy in Compiler Development
Alexander Tchitchigin
Если мы говорим про функциональные структуры и алгоритмы в смысле Окасаки, то да, для них толку ноль - они же специально под ФП проектировались.
А для "наивных" алгоритмов выигрыш может быть значительным.
что такое наивные алгоритмы? вот я использую в хаскельной программе стандартные Map и HashMap. что может сделать оптимизатор нетривиального?
источник

AT

Alexander Tchitchigin in Compiler Development
Yuriy Syrovetskiy
что такое наивные алгоритмы? вот я использую в хаскельной программе стандартные Map и HashMap. что может сделать оптимизатор нетривиального?
Надо пристально смотреть на реализацию, но insert может стать мутабельным, если мапа используется линейно.
источник