Size: a a a

2021 February 27

JS

Jerzy Syrowiecki in Haskell
Maxim Koltsov
а что pure [] делает? какая-то тх магия?
костыль для th, чтобы видимость символов пропихнуть
источник

JS

Jerzy Syrowiecki in Haskell
@lierdakil file-embed, inline-c на стыке библиотек и фич языка
источник

IK

Ilya Kos in Haskell
Ну это же не про ФП совсем
источник

JS

Jerzy Syrowiecki in Haskell
это про Хаскель
источник

IK

Ilya Kos in Haskell
Всякие FFI и в других местах можно посмотреть
источник

JS

Jerzy Syrowiecki in Haskell
а надо про ФП?
источник

IK

Ilya Kos in Haskell
Хотя, возможно, в этом и смысл
источник

MK

Maxim Koltsov in Haskell
зеленые потоки из коробки
источник

IK

Ilya Kos in Haskell
Что все такое же
источник

JS

Jerzy Syrowiecki in Haskell
Ilya Kos
Всякие FFI и в других местах можно посмотреть
в С можно вставлять только ассемблер, а в Хаскель что угодно
источник

JS

Jerzy Syrowiecki in Haskell
Ilya Kos
Всякие FFI и в других местах можно посмотреть
аналог file-embed в C++/Qt делается отдельным инструментом qrc, который надо как-то встраивать в свой тулчейн, если он у тебя не самый стандартный,

а у нас просто библиотека
источник

L

Lierdakil in Haskell
Jerzy Syrowiecki
аналог file-embed в C++/Qt делается отдельным инструментом qrc, который надо как-то встраивать в свой тулчейн, если он у тебя не самый стандартный,

а у нас просто библиотека
У нас просто TH. Но TH это отдельная история, довольно длинная. Так что от вопросов "а как это работает" придётся увиливать.
источник

L

Lierdakil in Haskell
Jerzy Syrowiecki
@lierdakil file-embed, inline-c на стыке библиотек и фич языка
inline-c выглядит модно-молодёжно, но я боюсь если я его покажу, мне потом лабы будут сдавать на си в тонкой хаскелевой обёртке :)
источник

AN

Alexander Novikov in Haskell
Как примирить абстрактные типы с запретом на взаимозависимые модули? Как типу с нижнего уровня пирамиды сослаться на тип верхнего уровня? Неужели только сваливая все определения типов в один файл?
источник

AP

Aleksei (astynax) Pi... in Haskell
Параметризовать
источник

AP

Aleksei (astynax) Pi... in Haskell
data Tree a = Leaf | Branch a a

data Node t a = Node a (t (Node t a))

type NodeTree a = Tree (Node Tree a)
источник

AP

Aleksei (astynax) Pi... in Haskell
Tree и Node могут быть в разных модулях. type из "связывает" вместе. При этом Tree задаёт ветвление, а Node — хранение данных. И тот и другой тип можно подменить — слабая связанность!
источник

AP

Aleksei (astynax) Pi... in Haskell
type RoseTree a = [Node [] a]
вот розовый куст, например
источник

AN

Alexander Novikov in Haskell
Спасибо! Попробую применить. 🙏
источник

AP

Aleksei (astynax) Pi... in Haskell
Aleksei (astynax) Pirogov
data Tree a = Leaf | Branch a a

data Node t a = Node a (t (Node t a))

type NodeTree a = Tree (Node Tree a)
Не пинайте, тут пример синтетический получился слегка (у NodeTree всегда чётное количество узлов будет).
Это просто демонстрация разрыва связи через параметризацию :)
источник