Size: a a a

Compiler Development

2020 May 19

А

Алексей in Compiler Development
polunin.ai
в общем суть такова. Писать компилятор можно на чем угодно. можно и на жс, если тебе плевать на время компиляции. как-то так.
Ну вот как-то не слишком очевидно, что компилятор на расте будет быстрее скажем компилятора на ocaml или haskell
источник

А

Алексей in Compiler Development
точнее что существенно быстрее
источник

T

TGG in Compiler Development
А язык на котором и удобно писать, и ьыстрым получается?
источник

K

Kakadu in Compiler Development
TGG
Добрый день.
Кто как думает, какой язык лучше всего для написания компиляторов?
Возьмите типизированую функциональщину: OCaml, Haskell, Scala. На ней всё что угодно лучше писать, кроме низкоуровневой фигни
источник

p

polunin.ai in Compiler Development
Алексей
Ну вот как-то не слишком очевидно, что компилятор на расте будет быстрее скажем компилятора на ocaml или haskell
зато язык удобнее тех которые вы перечислили
источник

T

TGG in Compiler Development
Kakadu
Возьмите типизированую функциональщину: OCaml, Haskell, Scala. На ней всё что угодно лучше писать, кроме низкоуровневой фигни
Почему?
источник

А

Алексей in Compiler Development
polunin.ai
зато язык удобнее тех которые вы перечислили
а это субъективно уже
источник

p

polunin.ai in Compiler Development
Алексей
а это субъективно уже
ну раз субъективно то и обсуждать нечего. можно распускать чат)
источник

PS

Peter Sovietov in Compiler Development
TGG
Почему?
Не слушайте всех, кто голословно утверждает. А у меня вот ссылка есть! https://thume.ca/2019/04/29/comparing-compilers-in-rust-haskell-c-and-python/
источник

А

Алексей in Compiler Development
Peter Sovietov
Не слушайте всех, кто голословно утверждает. А у меня вот ссылка есть! https://thume.ca/2019/04/29/comparing-compilers-in-rust-haskell-c-and-python/
Python: half the size because of fancy metaprogramming!

Победитель очевиден
источник

K

Kakadu in Compiler Development
TGG
Почему?
Почему функциональщину? Там алгебраические типы возведены в абсолют, они позволяют удобно писать много разных функций, которые обрабатывают деревья. ООПшный подход позволяет неудобно добавлять новые функции и более удобно добавлять новые узлы. Для компиляторов добавление новых функций преобразования дерева важнее.

Почему типизированную? потому что ИМХО, не будем разводить холивар
источник

M

MaxGraey in Compiler Development
polunin.ai
ну компилятор должен быть быстрым. и чтобы его писать и поддерживать было удобно. поэтому Rust.
Я бы сказал это один из самых медленныа с точки зрения компиляции языков
источник

p

polunin.ai in Compiler Development
MaxGraey
Я бы сказал это один из самых медленныа с точки зрения компиляции языков
у нас вопрос НА каком языке писать а не какой)
источник

T

TGG in Compiler Development
Kakadu
Почему функциональщину? Там алгебраические типы возведены в абсолют, они позволяют удобно писать много разных функций, которые обрабатывают деревья. ООПшный подход позволяет неудобно добавлять новые функции и более удобно добавлять новые узлы. Для компиляторов добавление новых функций преобразования дерева важнее.

Почему типизированную? потому что ИМХО, не будем разводить холивар
А почему простая декларативщина не подходит?
источник

PS

Peter Sovietov in Compiler Development
Алексей
Python: half the size because of fancy metaprogramming!

Победитель очевиден
Победитель на Питоне — единственная, кто разбирался в компиляторах. А остальные (с трудом) разбирались в своих непростых ЯП. Собственно, как и в нашем чате ;)
источник

K

Kakadu in Compiler Development
TGG
А почему простая декларативщина не подходит?
Простая декларативщина это что?
источник

T

TGG in Compiler Development
Kakadu
Простая декларативщина это что?
С
источник

А

Алексей in Compiler Development
TGG
С
декларативщина?
источник

DS

Doge Shibu in Compiler Development
Алексей
Python: half the size because of fancy metaprogramming!

Победитель очевиден
Скажем пока тулингу и поддержке этой красоты в IDE
источник

K

Kakadu in Compiler Development
TGG
С
Потому что компилятор лучше писать на языке высокого уровня.
источник