
Alexander
23.07.2018
09:20:09
я слышал выражения, как об стену горох, биссер перед свиньями и гляжу в книгу вижу фигу
и думаю какое бы выбрать
вроде 1 лучше всего?

Алексей
23.07.2018
09:21:34

Google

Alexander
23.07.2018
09:22:19
более того синтаксис яп, и инструкции процессора и инструкции байткод процессора это одно и тоже

Index
23.07.2018
09:23:05
Господи, ну как с людьми разговаривать, попробую как с тупыми тогда
Есть три буквы, Т И П. Мы какие-то явления называем этими тремя буквами, а какие-то не называем. Похожи они или нет.
Вот приду я к биологу, он мне покажет, мол, вот это К О Ш К А, а вот это С О Б А К А. А я ему начну: посмотри, придурок, это же одно и то же. Четыре лапы, шершавый язык, ушки, и звуки издает.
На меня посмотрят как на дебила, возможно, не поняв, какой deep connection я сделал.

Александр
23.07.2018
09:23:37
Ну что вы такие нетолерантные к чужому мнению

Index
23.07.2018
09:23:51
И вот у слова Т И П в computer science тоже есть класс явлений, которые им называются, и те, которые им не называются. Даже если похожи. Если в рантайме — всё, не тип

Alexander
23.07.2018
09:23:59
потому что нас люди читают

Ilya
23.07.2018
09:24:08
три матёрых хаскеллиста доминируют над джаваскриптером, спешите видеть

Alexander
23.07.2018
09:24:18
и если быть толерантным к чужому мнению, то они не будут видеть опровержений
пусть считает как хочет, жалко что-ли

???????
23.07.2018
09:24:31
Я не знаю, когда программист на динамическом языке пишет код он не думает о каких-то мифических тегах, он думает о типах, он работает с типами и ему пофиг как это реализовано.

Alexander
23.07.2018
09:24:49
потому, что он называет тег типом
т.к. не знает что такое тип

A64m
23.07.2018
09:25:02
не думает он о типах, он думает о тегах. что такое типы он чаще всего вообще не знает

dimiii
23.07.2018
09:25:15
На самом деле, интересный вопрос, как отделить статические проверки от степени функциональности. То что системы типов и тайпчекеры наиболее развиты в тех языках, которые считаются провославными в отношении ФП - это можно рассматривать как совпадение (помимо очевидного набора свойств благприятствующих реализации проверок)

Google

???????
23.07.2018
09:25:15
В статических языках вы тоже называете тег типом, мы чуть выше уже это выяснили.

Alexander
23.07.2018
09:25:21
ничего страшного, но мы то тут знаем, так что давайте придерживаться академической и принятой терминологии

A64m
23.07.2018
09:25:29
(последнее сраведливо и для большинства программистов)

Alexander
23.07.2018
09:25:42
в чате js никто этого требовать не будет

Pineapple
23.07.2018
09:25:48

Андрей
23.07.2018
09:25:49
(читают, и тоже имеют свое нетолерантно воспринимаемое чужое мнение)

Alexander
23.07.2018
09:26:00
ну разве если они не начнут доказывать, что статический тип и динамический это одно и тоже

Index
23.07.2018
09:26:16

dimiii
23.07.2018
09:26:25
Предлагаю считать ФП - те языки, у которых существует простая и компактная денотация в абстрактные математические функции (лямбда исчисление)

Index
23.07.2018
09:26:40
тип: компайл-тайм тег для тёрма
"динамический тип": рантайм тег для значения

A64m
23.07.2018
09:26:43

dimiii
23.07.2018
09:26:54
Чем с большим скрипом дается описание денотационной семантики - тем меньше язык ФП

Ilya
23.07.2018
09:26:56

Index
23.07.2018
09:26:59
специально в кавычках, потому что термин противоречивый
а поэтому проще назвать это просто тегом

Alexander
23.07.2018
09:27:25

Index
23.07.2018
09:27:41
ну да, тогда кодогенерация добавляется

dimiii
23.07.2018
09:27:45
*статического, лол

Алексей
23.07.2018
09:28:00

Leonid
23.07.2018
09:28:22
вот у вас подгорело то. развели как детей

Google

Index
23.07.2018
09:28:43

Alexander
23.07.2018
09:29:19
не уверен, что подогрело

Александр
23.07.2018
09:29:26
Мысленный эксперимент. Возьмем компилятор хаскелля. Проапдейтим таким образом, чтобы типы игнорировались. Оставим недоопределенный код как "недопарсенный санк". Начнем выполнять те участки, которые можно выполнить. При наступлении на переменную будем допарсивать тип, доопределять словари, догенерировать код. и тайпчекать. Это возможно? Если да, то будет ли это типами?

Index
23.07.2018
09:29:28
у меня горит

Alexander
23.07.2018
09:29:30
это "в интернете кто-то не прав"

Index
23.07.2018
09:29:44

Alexander
23.07.2018
09:29:52
у Haskell есть defer-type-errorz

Index
23.07.2018
09:29:53
нет, это не типы уже
-fdefer-type-errors отключает типы

Alexander
23.07.2018
09:30:10
с другой стороны он все равно все чекает при компиляции
и вставляет error "bububu"
где не чекнулось, с ошибкой тайпчеккера

A64m
23.07.2018
09:31:13

Index
23.07.2018
09:32:01
типы от имплементации не зависят, но описанная система не является имплементацией типов

Антон
23.07.2018
09:32:17

A64m
23.07.2018
09:32:19

???????
23.07.2018
09:32:41
И вот у слова Т И П в computer science тоже есть класс явлений, которые им называются, и те, которые им не называются. Даже если похожи. Если в рантайме — всё, не тип
В CS работая с типами мы вообще игнорируем существование и рантайма, и компайлтайма, у нас их нет, у нас есть сущность для которой верно единственное условие "Тип это то, что может в себе что-то содержать" и потом уже вводим необходимый нам перечень типов, операции над ними и т.д. CS вообще не про рантайм и компайлтайм, это когда вы CS прекладываете к чему-то, там к разработке компиляторов, к проектированию программ вот тогда у вас всё это появляется до этого этого нет, а типы всё ещё есть. Компиляции нет, а типы есть.

A64m
23.07.2018
09:32:50
потому, кстати, есть такие ошибки типов, с которыми он не справится, и не сможет ничего выполняющегося нагенерить
> Тип это то, что может в себе что-то содержать
вообще-то нет

Yuriy
23.07.2018
09:33:38

Google

A64m
23.07.2018
09:33:44
тип - это то что справа от :
это множество - "может в себе что-то содержать"

Alexander
23.07.2018
09:34:40

Index
23.07.2018
09:35:26
не знаю какой бекграунд, но явно больше, чем мой
я не смог читать дальше интродакшена в теорию типов, но зато из интродакшена узнал что такое пи и сигма типы
это было несколько лет назад, мой бекграунд был на уровне "умею на хаскеле писать" (наверное там же он и остался)

Андрей
23.07.2018
09:37:29
“умею на хаскель писать” имхо дофига какой бэкграунд. не думаю, что во всем чатике более нескольких человек имеют такой

???????
23.07.2018
09:37:43

Admin
ERROR: S client not available

Yuriy
23.07.2018
09:37:44

Index
23.07.2018
09:38:10

A64m
23.07.2018
09:39:27

Index
23.07.2018
09:40:48
из того же TAPL только ту же первую главу прочитал, которую скинул, а дальше распечатка так и валяется
по теории категорий я понял, что такие категории и функторы, дальше уже не разобрался (всякие limits colimits не осилил)
по HoTT прочитал только первую главу
на Agda написал пару игрушечных программ
на C++ писал в школе и из этого имею отдаленное представление о том, какова жизнь без GC
и т.д.
то есть единственный реальный бэкграунд у меня в том, что я на Haskell пишу достаточно долго

Андрей
23.07.2018
09:42:50

Алексей
23.07.2018
09:44:11

Alexander
23.07.2018
09:44:42
js

A64m
23.07.2018
09:44:52

Alexander
23.07.2018
09:44:56
и теги могут по факту отличаться от типов

Александр
23.07.2018
09:45:28
Что есть рантайм?

Google

Александр
23.07.2018
09:45:37
С точки зрения включенного компьютера - все рантайм

???????
23.07.2018
09:46:13
Что есть рантайм?
С точки зрения работы тайпчекера он проверяет типы в своём рантайме.

A64m
23.07.2018
09:46:18
поэтому для определения типов и не используются слова рантайм и компайл тайм
они используются тут для иллюстрации более-менее типичных случаев

Index
23.07.2018
09:46:51
я не знаю как их можно спутать
т.е. компайл-тайм это рантайм компилятора

dimiii
23.07.2018
09:47:22
Давайте уже каждый обозначит свою позицию на диаграмме и закончим на этом

Александр
23.07.2018
09:47:32

Алексей
23.07.2018
09:47:45

A64m
23.07.2018
09:48:00
ну, рантайм кодогенератора и программы иной раз перепутать можно еще как

Daniel
23.07.2018
09:48:28

A64m
23.07.2018
09:48:45

Алексей
23.07.2018
09:49:10
блин, точно я про дженерики то забыл

A64m
23.07.2018
09:49:55

IC
23.07.2018
09:50:00

Александр
23.07.2018
09:50:19

Index
23.07.2018
09:51:33
по-другому подойду к вопросу
все, что можно выполнить до деплоя, это статика