Size: a a a

Elm Lang сообщество разработчиков

2018 March 16

AK

Anton Kotenko in Elm Lang сообщество разработчиков
Anton Kotenko
> act = Circuit $ (lift >>> lift >>> lift) (Kleisli Prelude.id)
тоже перловая криптография
причём мотто программиста на Хаскеле — "пиши как можно короче"
источник

AK

Anton Kotenko in Elm Lang сообщество разработчиков
и действительно, начинают верить, что короче это лучше
источник

A

Artem Kasapchuk in Elm Lang сообщество разработчиков
runCircuitArrow :: CircuitArrow input output
                   -> Unique
                   -> MVar (IO ())
                   -> input
                   -> IO (output,Setup)
источник

A

Artem Kasapchuk in Elm Lang сообщество разработчиков
это типа последовательно выполнить и потом в IO?
источник

ДП

Дмитрий Павлюк in Elm Lang сообщество разработчиков
>причём мотто программиста на Хаскеле — "пиши как можно короче"
Нет, короче не всегда яснее.
источник

к

кана in Elm Lang сообщество разработчиков
Artem Kasapchuk
не вставляет)
в чем профит индуктивных кортежей
вот хотим мы написать автоматический вывод Show для кортежей
instance (Show a, Show b) => Show (a, b) where
 show (a, b) = "(" ++ show a ++ ", " ++ show b ++ ")
instance (Show a, Show b, Show c) => Show (a, b, c) where
 show (a, b) = "(" ++ show a ++ ", " ++ show b ++ ", " ++ show c ++ ")
-- и так далее


херь же

а вот если объявить кортеж индуктивно (то есть:
- есть кортеж из двух элементо
- кортеж из n элементов это кортеж из двух элементов, где второй - кортеж из n-1 элементов

то одного первого инстанса бы хватило, так как Show (b, c) есть, значит и Show (a, (b, c)) есть
источник

AK

Anton Kotenko in Elm Lang сообщество разработчиков
да, короче не всегда яснее
источник

QZ

Quet Zal in Elm Lang сообщество разработчиков
ну и плюс неизвестная технология всегда будет менее понятна чем известная тебе
отсюда и эти wtf?
источник

AK

Anton Kotenko in Elm Lang сообщество разработчиков
истина где-то между
источник

к

кана in Elm Lang сообщество разработчиков
Artem Kasapchuk
runCircuitArrow :: CircuitArrow input output
                   -> Unique
                   -> MVar (IO ())
                   -> input
                   -> IO (output,Setup)
нет, это тип функции от кучи аргументов
источник

A

Artem Kasapchuk in Elm Lang сообщество разработчиков
кана
в чем профит индуктивных кортежей
вот хотим мы написать автоматический вывод Show для кортежей
instance (Show a, Show b) => Show (a, b) where
 show (a, b) = "(" ++ show a ++ ", " ++ show b ++ ")
instance (Show a, Show b, Show c) => Show (a, b, c) where
 show (a, b) = "(" ++ show a ++ ", " ++ show b ++ ", " ++ show c ++ ")
-- и так далее


херь же

а вот если объявить кортеж индуктивно (то есть:
- есть кортеж из двух элементо
- кортеж из n элементов это кортеж из двух элементов, где второй - кортеж из n-1 элементов

то одного первого инстанса бы хватило, так как Show (b, c) есть, значит и Show (a, (b, c)) есть
зачем грубо говоря массивы обьявлять в такой сложной манере?)
источник

к

кана in Elm Lang сообщество разработчиков
это не массивы
источник

A

Artem Kasapchuk in Elm Lang сообщество разработчиков
ну теоритически
источник

к

кана in Elm Lang сообщество разработчиков
кортежи:
a) ограничены по длине
б) гетерогенны
источник

AK

Anton Kotenko in Elm Lang сообщество разработчиков
и Эльм позволяет писать чистый функциональный код так, что он понятен джаваскриптеру или джависту с малейшими понятиями о FP
источник

ДП

Дмитрий Павлюк in Elm Lang сообщество разработчиков
Artem Kasapchuk
ну теоритически
Даже близко не массивы.
источник

к

кана in Elm Lang сообщество разработчиков
даже наоборот, списки можно описать как сумму кортежей всех длин где все элементы одного типа
источник

к

кана in Elm Lang сообщество разработчиков
в принципе список так и определен
источник

AK

Anton Kotenko in Elm Lang сообщество разработчиков
кана
кортежи:
a) ограничены по длине
б) гетерогенны
напоминает преподавателей алгебры в институтах
источник

A

Artem Kasapchuk in Elm Lang сообщество разработчиков
так получается фишка haskell ты вообщем сам задаешь себе структры данных
источник