Size: a a a

Конференция C++ Russia

2020 June 25

AV

Alexey Veselovsky in Конференция C++ Russia
Александр Гранин
Грубо говоря, без полноценного паттерн матчинга в  Хаскеле можно. Но он там полноценный, и его грех не использовать
в хаскеле же даже самый банальный обход списка через паттерн матчинг делается.
источник

АГ

Александр Гранин... in Конференция C++ Russia
Alexey Veselovsky
в хаскеле же даже самый банальный обход списка через паттерн матчинг делается.
Через деконструкцию. Это вообще только 5% от того, что он может
источник

АГ

Александр Гранин... in Конференция C++ Russia
Деконструкция даже в Питоне есть для списков и тюплов
источник

AV

Alexey Veselovsky in Конференция C++ Russia
Александр Гранин
Через деконструкцию. Это вообще только 5% от того, что он может
не только. еще и через выбор одного из вариантов же
источник

АГ

Александр Гранин... in Конференция C++ Russia
Alexey Veselovsky
не только. еще и через выбор одного из вариантов же
Ну на то он и матчинг
источник

AV

Alexey Veselovsky in Конференция C++ Russia
ну вот я и говорю - выкинь их хаскеля паттерн матчинг, и ты на нем не сможешь вообще ничего. совсем.
источник

PZ

Pavel Zhigulin in Конференция C++ Russia
Если когда-нибудь это попадёт в стандарт, я перестану ругать С++ :)
источник

AV

Alexey Veselovsky in Конференция C++ Russia
это всё равно, что из С++ выкинуть указатели
источник

АГ

Александр Гранин... in Конференция C++ Russia
Alexey Veselovsky
ну вот я и говорю - выкинь их хаскеля паттерн матчинг, и ты на нем не сможешь вообще ничего. совсем.
И о чем это свидетельствует? По мне - о правильном подходе, когда единственная, не самая сложная, языковая фича избавляет от костылей, которых в С++ 100500
источник

AV

Alexey Veselovsky in Конференция C++ Russia
или массивы
источник

AV

Alexey Veselovsky in Конференция C++ Russia
Александр Гранин
И о чем это свидетельствует? По мне - о правильном подходе, когда единственная, не самая сложная, языковая фича избавляет от костылей, которых в С++ 100500
сомнительное утверждение. я не представляю как их можно сравнивать.

В хаскелле базовый тип, из которого всё строится - ленивый список. В С++ - массив и указатель.
источник

AV

Alexey Veselovsky in Конференция C++ Russia
натянуть паттерн матчинг на второе, это всё равно, что в хаскель добавить сырые указатели прямо в ядро языка.
источник

АГ

Александр Гранин... in Конференция C++ Russia
Alexey Veselovsky
сомнительное утверждение. я не представляю как их можно сравнивать.

В хаскелле базовый тип, из которого всё строится - ленивый список. В С++ - массив и указатель.
Ленивый спискок базовый в Хаскеле? Не думаю
источник

АГ

Александр Гранин... in Конференция C++ Russia
Alexey Veselovsky
натянуть паттерн матчинг на второе, это всё равно, что в хаскель добавить сырые указатели прямо в ядро языка.
Есть там указатели в ядре
источник

AV

Alexey Veselovsky in Конференция C++ Russia
в ядре языка? где?
источник

AV

Alexey Veselovsky in Конференция C++ Russia
/me пошел смотреть описание языка
источник

AV

Alexey Veselovsky in Конференция C++ Russia
ведь язык это же не реализация ghc, правда?
источник

АГ

Александр Гранин... in Конференция C++ Russia
Alexey Veselovsky
в ядре языка? где?
Ну в примитивах GHC . Именно его мы зовем ядром
источник

AV

Alexey Veselovsky in Конференция C++ Russia
ну, зашибись, тогда и в c++ уже лайфтаймы реализованы да и сборщик мусора есть
источник

AD

Andrey Davydov in Конференция C++ Russia
Pavel Zhigulin
Если когда-нибудь это попадёт в стандарт, я перестану ругать С++ :)
pattern matching в приоритетах на С++23: wg21.link/p2000, wg21.link/p0592
источник