Size: a a a

Compiler Development

2019 September 30

M

MaxGraey in Compiler Development
Вообще я редко защищаю раст потому что нахожу его несколько вербозным, но для системного программироваеия он как раз подходит наверное идеально
источник

МБ

Михаил Бахтерев in Compiler Development
Thnx!
источник

МБ

Михаил Бахтерев in Compiler Development
MaxGraey
Да есть Redox. Но как по мне намного интерестнее бараузер (тоже почти так же сложно как и ОС)
https://servo.org

Еще более интерестный проект с точки зрения низкоуровневости и профессионального интерееса - это Cranelift:
https://github.com/CraneStation/cranelift
Ну, браузеры не так лично мне интересны, потому что уже работают в довольно богатом окружении с виртуальной памятью, процессами, сигналами и прочим. Вот если бы это был браузер поверх железа, как B2G... Жаль, что Мозилла его забросили.

А Redox, как я понимаю, работает по стандартной UNIX-схеме с тяжёлыми процессами, обменом данными через файлы, дефрагментацией через VM и постоянную трансляцию адресов.
источник

M

MaxGraey in Compiler Development
Михаил Бахтерев
Ну, браузеры не так лично мне интересны, потому что уже работают в довольно богатом окружении с виртуальной памятью, процессами, сигналами и прочим. Вот если бы это был браузер поверх железа, как B2G... Жаль, что Мозилла его забросили.

А Redox, как я понимаю, работает по стандартной UNIX-схеме с тяжёлыми процессами, обменом данными через файлы, дефрагментацией через VM и постоянную трансляцию адресов.
Сейчас браузеры во много раз сложнее некоторых ОС, более того, способны их эмулировать:
https://www.reddit.com/r/webdev/comments/98ufca/windows_2000_emulated_in_webassembly
источник

МБ

Михаил Бахтерев in Compiler Development
MaxGraey
Сейчас браузеры во много раз сложнее некоторых ОС, более того, способны их эмулировать:
https://www.reddit.com/r/webdev/comments/98ufca/windows_2000_emulated_in_webassembly
Ну, перенесли QEMU под виртуальный стековый процессор, которым WebAssembly, по сути, является. Браузер же при этом не работает без операционки. Да и QEMU без операционки не работает.

Это не означает, что браузер проще операцинки. Но это означает, что браузеру не нужно решать те проблемы, которые в UNIX-style операционках и в mirage-style операционках решаются очень по-разному.

И в unix-style операционках эти решения более громоздкие и ресурсоёмкие. Я тут всё время говорю о постоянной трансляции адресов. Она съедает 30% производительности. SUN меряла когда-то. Ту статью не могу найти, но вот более свежая, тут меряли только потери от использованиям MMU, и насчитали в среднем 15%. SUN учитывала и затраты операционки на поддержку таблиц трансляции.

http://pages.cs.wisc.edu/~swift/papers/iiswc14-mmu.pdf

Это я к тому, что не бывает серебрянной пули, и издержки есть у всех подходов.
источник
2019 October 01

C

Constantine in Compiler Development
https://sentient-lang.org/

Sentient is a high-level, declarative programming language that lets you describe what your problem is and not how to solve it. Sentient tries to figure that out for itself. It provides a rich toolkit to allow programmers to express their problems in a familiar way.
источник

K

Kitsu in Compiler Development
Хмм любопытно, он через сат-солверы это решает чтоль?
источник

K

Kitsu in Compiler Development
сам спросил @ сам ответил
https://sentient-lang.org/solvers/overview
источник

МБ

Михаил Бахтерев in Compiler Development
Constantine
https://sentient-lang.org/

Sentient is a high-level, declarative programming language that lets you describe what your problem is and not how to solve it. Sentient tries to figure that out for itself. It provides a rich toolkit to allow programmers to express their problems in a familiar way.
Ещё один miniKanren или есть существенные отличия?
источник

PS

Peter Sovietov in Compiler Development
Очередной фронтенд к minisat. Сегодня подобные dsl — это проект для выходных.
источник

а

алексей in Compiler Development
Peter Sovietov
Очередной фронтенд к minisat. Сегодня подобные dsl — это проект для выходных.
источник

C

Constantine in Compiler Development
Михаил Бахтерев
Ещё один miniKanren или есть существенные отличия?
не знал про miniKanren
источник

AT

Alexander Tchitchigin in Compiler Development
Constantine
не знал про miniKanren
Тогда имеет смысл ещё и на уже упоминавшийся тут https://flix.dev/ взглянуть. Похоже, его активно пилят. Во всяком случае, быстрее, чем документацию обновляют.
источник

ЗП

Зигохистоморфный Препроморфизм in Compiler Development
Alexander Tchitchigin
Тогда имеет смысл ещё и на уже упоминавшийся тут https://flix.dev/ взглянуть. Похоже, его активно пилят. Во всяком случае, быстрее, чем документацию обновляют.
хочу там тайпклассы
источник

AT

Alexander Tchitchigin in Compiler Development
Тогда либо ждать когда авторы до них доберутся, либо пилить PR. 😊
источник

ЗП

Зигохистоморфный Препроморфизм in Compiler Development
Alexander Tchitchigin
Тогда либо ждать когда авторы до них доберутся, либо пилить PR. 😊
я не создатель) я пользователь
источник

AT

Alexander Tchitchigin in Compiler Development
Интероп с JVM тоже бы не повредил, но он тоже в разработке...
источник

AT

Alexander Tchitchigin in Compiler Development
Зигохистоморфный Препроморфизм
я не создатель) я пользователь
Как участнику компиляторного чата нужно level up. 😃
источник

ЗП

Зигохистоморфный Препроморфизм in Compiler Development
Alexander Tchitchigin
Как участнику компиляторного чата нужно level up. 😃
я только на хаскель/пурскрипт языки примитивны делал
источник

AT

Alexander Tchitchigin in Compiler Development
Зигохистоморфный Препроморфизм
я только на хаскель/пурскрипт языки примитивны делал
Ну, да, на Scala будет сложнее. Но не так тяжело, как на "голой" Java! 😃
источник