Size: a a a

Compiler Development

2019 December 29

PS

Peter Sovietov in Compiler Development
Кстати, "они" до сих пор считают, что этого нельзя сделать.
Ключевые характеристики: compilation speed, one step compile, compiler size.
источник

AV

Alexey Veselovsky in Compiler Development
Хех. Сравнивали Паскаль с Паскалем... времена, однако были...
источник

M

MaxGraey in Compiler Development
Михаил Бахтерев
Но вот есть свидетели церквей Clojure или JavaScript. У них там в каждом проекте по сотне namespace-ов или модулей и по делу и не по делу. И вот. Живут без типов.
That’s true
источник

TS

Timur Safin in Compiler Development
MaxGraey
That’s true
Справедливости ради, так было до yarn
источник

PS

Peter Sovietov in Compiler Development
Михаил Бахтерев
Но вот есть свидетели церквей Clojure или JavaScript. У них там в каждом проекте по сотне namespace-ов или модулей и по делу и не по делу. И вот. Живут без типов.
Они просто рано или поздно реализуют самопальные контракты и протоколы из "настоящих" динамических языков :)
источник

M

MaxGraey in Compiler Development
Timur Safin
Справедливости ради, так было до yarn
Справедливости ради, счейчас все осознали это и стараются делать модули компатными с минимальным числом зависимостей, никакх lodash или moment (стараются использовать date-fns) ну и модули сейчас делают хинт можно ли tree-shaking без санд эффектов или нет
источник

BD

Berkus Decker in Compiler Development
опять легендарная битва типовиков с безтиповиками?
источник

AV

Alexey Veselovsky in Compiler Development
Berkus Decker
опять легендарная битва типовиков с безтиповиками?
дык типы есть и у тех и у других. вопрос только в том, в какой момент они проверяются.
источник

BD

Berkus Decker in Compiler Development
Alexey Veselovsky
дык типы есть и у тех и у других. вопрос только в том, в какой момент они проверяются.
я не буду говорить долго и сложно, вы и так поняли что я имею в виду
источник

AV

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

собственно интерпретатор он тоже от лени - он проще компилятора.
источник

PS

Peter Sovietov in Compiler Development
Alexey Veselovsky
я считаю, что по большей части динамическая типизация - это ленивая типизация. это когда имплементатору реализации языка лениво пилить сложный верификатор и он впиливает поддержку типов в рантайм либу или в интерпретатор.

собственно интерпретатор он тоже от лени - он проще компилятора.
А где же Вы видели приличный компилятор без набора интерпретаторов "под капотом"? :)
источник

BD

Berkus Decker in Compiler Development
Alexey Veselovsky
я считаю, что по большей части динамическая типизация - это ленивая типизация. это когда имплементатору реализации языка лениво пилить сложный верификатор и он впиливает поддержку типов в рантайм либу или в интерпретатор.

собственно интерпретатор он тоже от лени - он проще компилятора.
дыа, что нода, что дено, что luajit - чертовски простые штуки
источник

МБ

Михаил Бахтерев in Compiler Development
Alexey Veselovsky
я считаю, что по большей части динамическая типизация - это ленивая типизация. это когда имплементатору реализации языка лениво пилить сложный верификатор и он впиливает поддержку типов в рантайм либу или в интерпретатор.

собственно интерпретатор он тоже от лени - он проще компилятора.
Есть же документация по InsideOut(x) от Пейтона-Джонса. Написать - дело не хитрое. Да и всё равно типы придётся выводить для производительности. Вопрос именно в том, нужно ли типы тащить в интерфейс к пользователю.
источник

BD

Berkus Decker in Compiler Development
не то что какой-нибудь супер сложный tcc
источник

AV

Alexey Veselovsky in Compiler Development
Михаил Бахтерев
Есть же документация по InsideOut(x) от Пейтона-Джонса. Написать - дело не хитрое. Да и всё равно типы придётся выводить для производительности. Вопрос именно в том, нужно ли типы тащить в интерфейс к пользователю.
судя по тому, что анотации типов появились и появились верификаторы для того же питона - нужно.

но это не только лишь сразу становится понятно. то есть не настолько нужно насколько считает лагерь статической типизации
источник

FO

FORTRAN ONE LOVE in Compiler Development
Alexey Veselovsky
Фортран
Я тут!)

Не на всех машинах был фортран. Где-то был только бейсик, ибо его компилятор стльно легче компилятора фортрана
источник

AV

Alexey Veselovsky in Compiler Development
в js аналогично
источник

AV

Alexey Veselovsky in Compiler Development
в erlang тоже статический верификатор типов есть
источник

AV

Alexey Veselovsky in Compiler Development
FORTRAN ONE LOVE
Я тут!)

Не на всех машинах был фортран. Где-то был только бейсик, ибо его компилятор стльно легче компилятора фортрана
а басик не интерпретировался ли?
источник

FO

FORTRAN ONE LOVE in Compiler Development
Alexey Veselovsky
а басик не интерпретировался ли?
И интерпретаторы тоже есть :-)
источник